Hello Carsten,

I spent some time today looking at the ack handling between 
GroupMcastConnection and PointMcastConnection.
Actually I don't think that it's much clearer to me now. :-(
I would be very pleased if you may find some time to have deeper look.

Thanks in advance,
Michael

  Am 29.10.2011 00:00, schrieb Carsten Neumann:
>       Hello Michael,
>
> On 10/27/2011 01:02 PM, Michael Raab wrote:
>> Am 27.10.2011 17:44, schrieb Carsten Neumann:
>>> hmm, although the already connected servers receive all changes a second
>>> time.
>> Yes correct. I'm not sure what the alternative may be. Ideas?
> not really, it's just what prompted me to suggest tearing down the
> connection and starting anew, the amount of data transmitted would be
> the same - see below.
>
>>>> With Multicast enabled, it seems communication between client and late 
>>>> arriving server is not initialized well. Looking at the code in 
>>>> OSGGroupMcastConnection the reason seems to be clear. Method initialize() 
>>>> is only called once, before the first message is send over the connection. 
>>>> That means server1 is respected by initialization, latter ariving servers 
>>>> not. I tried to move the server specific initialization code into the 
>>>> connectPoint() implementation but unfortunately failed to understand the 
>>>> logic behind the acknoledgement handling :-( (Lines 644-670). Hope someone 
>>>> may help to split the initlization into a general and a server(socket) 
>>>> specific part.
>>> yes, that part is definitely not built for end points joining the
>>> connection after the first write. Looking at the code a bit it seems to
>>> me that most of the code from initialize could move to
>>> GroupMCastConnection::connectPoint(). To be honest I don't quite
>>> understand "ack" handling either at this point, but mostly I'm wondering
>>> if it ever was used with ackNum != 1? I'm somewhat tempted to assume
>>> ackNum == 1 and just drop the other code paths. It may take me a couple
>>> of days before I can get around to trying this - in case you want to
>>> give it another try.
>> I can definitly give it a try ( its kind of urgent :-( ) but I'm not
>> sure if there are more changes needed, e.g. in PointMcastConnection.
>> What about the sendThread? Do I need to restart it after an additional
>> connection...
> I'm afraid I don't know the answer without actually trying, sorry.
>
>>> How dynamic do you expect the server connect/disconnect to be for your
>>> application? Would it be easier to create a new GroupConnection and
>>> RemoteAspect when the number of servers changes?
>>> Can you give is some background information on your application?
>> Not so dynamic as you may think. ;-)
>> The idea is to connect to a immersive environment (e.g. CAVE) somewhen
>> after startup and later on be able to connect/disconnect more
>> external devices, e.g. mobile devices, touch display....
>> Dynamically disconnecting during runtime works fine now, but connecting
>> additional displays causes the mentioned problems.
> yes, I don't think dynamically increasing the number of nodes was really
> considered as a use-case when the networking code was written. The idea
> of programs like testDynamicClusterClient.cpp was more that the client
> could keep running and dynamically connect to a render cluster (of fixed
> size) for example if someone wanted to visualize data on a
> larger/immersive display system. That the render cluster would change
> its size (i.e. number of nodes) at runtime while connected was not
> really considered.
>
>> Could you give a hint how the problem may be solved using a new
>> GroupConnection/RemoteAspect.
>> To be honest, I can't imagine at the moment...
> Using a new connection and RemoteAspect would put you pretty much in the
> same situation as if you where running a cluster with the new number of
> servers connected from the beginning - a much better tested case and the
> assumption a lot of this code is based on, as you are discovering :-/
> It would be somewhat disrupting on the already running servers, but if
> the connect/disconnect events are infrequent this may be acceptable (of
> course it may not be ok for your specific app).
>
>       Cheers,
>               Carsten
>
> ------------------------------------------------------------------------------
> The demand for IT networking professionals continues to grow, and the
> demand for specialized networking skills is growing even more rapidly.
> Take a complimentary Learning@Cisco Self-Assessment and learn
> about Cisco certifications, training, and career opportunities.
> http://p.sf.net/sfu/cisco-dev2dev
> _______________________________________________
> Opensg-users mailing list
> Opensg-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/opensg-users
>


------------------------------------------------------------------------------
RSA® Conference 2012
Save $700 by Nov 18
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to