Another Weekend, Another JXTA Hacking Project
By mduigou on Feb 20, 2007
Most weekends I spend shopping for and cooking food. Cooking is my primary non-computer related hobby and I generally find it a great diversion and distraction from my "real job". Lately though I have been cooking up something very different. I've been devoting my weekends to hacking on JXTA mini-projects. Previously I've written about my explorations into UPnP port forwarding. This weekend I worked on a project for hamada. For Shoal he needs a new propagation message transport for long distance propagation. Regular multicast won't work because routers refuse to forward multicast messages even with TTL set appropriately. The solution I'm proposing is a lightweight point to point "propagation" transport using UDP. I've named it "JBone" because it's similar in purpose and flavour to MBone even though the implementation isn't nearly as sophisticated. JBone isn't intended to replace Rendezvous propagation but it should help out deployers who need to deploy "ad-hoc" networks across sub-nets. Currently the transport requires direct configuration of the addresses to forward propagation messages. Perhaps it can be made more dynamic and perhaps a system for scoping control could be added. There are some other long distance propagation alternatives that JXTA could use that are not currently being used. These include sending propagation messages via the unicast transports, TCP and HTTP. The JXTA TCP transport even includes a flag in it's welcome message which is intended to control propagation-over-unicast behaviour. I'm really curious as to the utility of each approach. Doing propagation over unicast transports is different than what JBone is doing though because the unicast based propagation would require that the connections be already established. JBone will happily send messages to destinations with no existing connections. There's good reason to be concerned that with many destinations cross specified that JBone could cause a huge increase in network traffic. It should be fine for very small numbers (<10) of peers though.