[Opensim-dev] Modifying the networking stack

Michael Heilmann mheilman at ist.ucf.edu
Thu Nov 13 21:18:17 UTC 2014


Greetings everyone

I and another MOSES developer are going to be looking at the 
client/server network stack, as well as the processing queue's used for 
incoming and outgoing packets.  I am going to see if I can implement a 
client stack on opensim and firestorm that uses the traditional TCP/UDP 
pairing for this type of client<->server relationship.  I have two 
thoughts, but I am interested in hearing if you have ideas or insight 
into this particular space.

Idea 1:
     Add a dedicated tcp port next to the UDP port, and move reliable 
transport transmissions to the tcp port.  I am uncomfortable increasing 
the required ports for each region, but the http server is in the way.  
I can look to move all communications from http to a tcp socket-server 
type of deployment, at the expense of simple POST/GET operations

idea 2:
     Look into increasing the performance of the http server of the 
regions, as well as testing/implementing a full websockets 
implementation, and using the websockets upgrade for consistent client 
connections.  This could eventually lead to javascript-based clients, 
and does not remove http functionality.

Either idea would see any traffic requiring reliable transport shifted 
off of the current UDP stack, and onto the tcp reliable transport.  
Either idea also will require modifications to a client to match.  I, 
and another developer here, would be developing the client code, the 
region code, and testing against a MOSES deployment.  As we are MOSES 
developers, we would be working against simian instead of Robust; so 
there would be a gap for regular Robust-based grids.

If you could lend me your opinions about these ideas, the management 
queues, associated problems in opensim, etc, I would really appreciate 
it.  We would be working completely in the open on github, and obeying 
all licensing.  We would welcome any and all cooperation, and we will 
cooperate ourselves wherever we are welcome, but we are not interested 
in avoiding positive changes to maintain SecondLife compatibility.

Thanks.

-- 
Michael Heilmann
Research Associate
Institute for Simulation and Training
University of Central Florida



More information about the Opensim-dev mailing list