Things to improve
– Application level monitoring
Despite the monitoring is one of the many implementation dependent functionalities, at least, in the j2me implementation it should be done at the application level due the actual approach just checks the existence of the host address. What if the application failed but the device is still up? This may be the case with many other technologies as well. Maybe it would be good to include it as an optional functionality in the general specification. The thing is that for cases like an IP enable host over Ethernet in a LAN environment, it could be more efficient to use UDP broadcasting or another connectionless approach. It’s necessary as well to take measures to reduce the frequency of the periodic synchronizations, as well to have some control over the ones initiated by the game.
– J2ME refactoring
It’s necessary to refactor the J2ME implementation for taking into account among others:
– the limitations of the platform in terms of maximum amount of connections,
– library footprint,
– authorization for using the network resources from the beginning, though this is done at the application level when the final package is created.
– Network statistics & System logging
We must be able to get some information to help us diagnose the state of the network, information such a jitter, latency, reach of the network keeping certain performance conditions. As well as having good information in form of logs from the application execution to obtain traceability in the troubleshooting process.
– Mesh Approach
How can we organize the peers, somehow that the master peer is not the central hub, but it’s still possible to synchronize the peers in the virtual world.