We have been working closely with Ben Lindquist (http://greenphosphor.com/), Ryan McDougall (http://www.realxtend.org/) and Jon Watte (http://www.forterrainc.com/) to create a practical virtual reality protocol specification. Metaverse eXchange Protocol (MXP) is currently in 0.3 draft phase and a C# reference implementation exists. Detailed specification, source codes and binaries can be found from the following address:
MXP is a UDP binary protocol offering structured messages for distributed 3d simulations. MXP has well defined scope but extendability and flexibility has not been forgotten. It carries as payload a genre specific protocol which is used to communicate for example animation sequences and interactions. MXP has well defined domain model and use cases which are good read for those who are interested in this area of expertice. MXP leverages novel ideas enabling unpreceded level of virtual environment scalability and interoperability.
Current proof of concept implementation demonstrates 100 moving objects with client bandwidth use of 75 kbps (bits per second) without optimized version of movement message. Optimized movement messages will theoretically offer 15 kbps bandwidth for 100 objects and 1.5Mbps for 10 000 objects.
MXP supports bubble cloud concept on both client to server and server to server messaging. Bubble cloud concept consists of linked spherical server bubbles which may overlap and be sized and arranged in any 3 dimensional configuration. Clients roam between bubbles seemlessly in analogy with mobile devices and base stations. Bubbles exchange information about objects they contain so that clients connected to one bubble observe objects from the neighbouring bubbles as well. Any client may inject objects to the bubble in the boundaries of access rights.
We are looking for more people willing to join this community effort and projects like realXtend and OpenSim which are able to give us requirements and use cases for the specification work. More details can be found from the following address: