Lets work together to create low level transport layer for virtual worlds?

0 views
Skip to first unread message

Tommi Laukkanen

unread,
Dec 9, 2009, 2:35:14 PM12/9/09
to kyoryoku
Hi

I have talked with people from both realXtend and Sirikata it would
seem that we would all gain from shared protocol. What is discussed
here is a low level transport layer which when executed correctly is
immediately beneficial to all parties. Granted, it does not bring
interoperability but it would be low cost step to the right direction.
After this it is possible to discuss about unified message layer which
may be that of realXtend, Sirikata or MXP or a brilliant fusion of all
these. (MXP has just recently decided to go completely for google
protocol buffers message serialization instead of encoding only
extensions with GBF. This is partly due to Sirikata network
discussions where GBF is considered as well if I understood the wiki
page correctly.)

We have worked hard recently in MXP group designing MXP version 0.6.
Kripken and our new member Maróy Ákos has pointed out couple of key
improvements to the UDP layer. As such the UDP layer feature set is
becoming almost one to one to that of ENET except for existence of
specification and couple of virtual world specific features like 4
billion signal and guaranteed message channels per connection.

We have also decided to completely separate the UDP transport layer
from the MXP message layer as Akos suggested. This enables much
simplified specification and implementation for the UDP transport
layer. The initial version of the new specification is here:

http://www.bubblecloud.org/wiki/-/wiki/Main/MXP%20UDP%20Transport%20Draft%200.6

The specification should not have anything specific to the MXP model
and should be directly applicable to the other virtual world
implementations. It would be great if we could bring together
different projects by investing jointly on this specification. MXP
project is going to implement the specification with 4 major
languages: C#, Java, C++ and python. The implementations will be
created portable and testable from day one.

We can rename this UDP transport layer specification and
implementations after this list or come up with entirely different
name. We would love to host this work as part of our other protocol
work at bubblecloud.com but if required independent project site can
be created as well.

To sum up this is the minimum I see different project could
contribute:
1) realXtend: requirements, virtual world expertise to specification/
review
2) Sirikata: requirements, protocol expertise and virtual world
expertise to specification/review
3) MXP: requirements, specification, implementation to C#, Java, C++
and python

What we all would gain is a robust and specialized transport layer
just for our application area. We would also have a solid
specification and implementations on 4 widely used languages which
would encourage wide adoption and hopefully become groundwork for
standard. This would be a real breakthrough in the virtual world
interoperability and enable further work on message and model layers.
The exact cost would depend on capabilities of each projects but even
2-3 man days from both Sirikata and realXtend would enable this plan
to proceed.

Everyone interested are welcome to all aspects of the work.

Already identified open issues where Stanford research contribution
would be invaluable are congestion avoidance algorithm and statistical
properties of the proposed transport protocol. We are implementing
something that is more complex than TCP but has similar challenges: to
create well behaving protocol it is not enough to find local optimum
for single connection.

Best regards,
Tommi Laukkanen
Reply all
Reply to author
Forward
0 new messages