Introduction
System Architechture
Client-side Modules
Server-side Modules
Home
Introduction
Mil & Schedule
Training
Developer Forum
About Us










Server-side Modules

Figure 3: Server-side architecture

Figure 3 illustrates the server-side architecture of OnME.

The OnME server-side is a HTTP and socket server. Note that the HTTP server is to support older version of J2ME implementation since it only supports the HTTP protocol instead of low-level socket connection. Socket server is general faster then the HTTP server in terms of latency because of the small overhead and the persistent connection feature. The underlying functionalities are the same for both implementations.

The important components are listed below:

Networking library: For the server-side, the most important module is the networking module. This library is to provide efficient and reliable packet delivery. To achieve these goals, the module provides the low-level communication protocols like the UDP and TCP. In order to support older version of J2ME, it also supports the HTTP protocol. This module provides services like data/packet transmission, fast transmission for object synchronization, user session management, and non-voluntary disconnection and connection-resume management.

Server-side live version update module: This module provides the server to communicate and to signal different users about new version update. Again, version update is an essential feature for mobile online game to incorporate new story line or characters, as well as to inform new software upgrade. The module can identify which clients are using out-of-dated version and automatically push the new version to mobile devices. In this project, we will develop a communication protocol for this live version update module.

Server-side video streaming module: This module supports server-side video streaming and provide features such as
Admission control: to make sure that the video server can support the appropriate number of client connections so as to satisfy the video continuity requirements.
VCR functionalites: to support any fast forward, pause and resume operations issued by the client.
Error erasure support: since the network delay is high under the wireless environment, it may not be possible to ˇ§retransmitˇ¨ packet in case there is any packet loss. To handle this situation, it is possible for us to use the Reed-Solomon Code (or other error erasure coding methods) to mask up any burst packet loss.

Server-side Lobby system module: The server-side lobby system maintain a list of lobby created by various users. Each lobby is a spawn of multi-thread server that handles individual lobby. Each server operates as an independent process to exchange message and status update among the users within the lobby. The design goals of lobby server are to minimize network communication overhead and to ensure the graphical synchronization among players within the same lobby.

In summary, we provide a complete game development engine for designers of multi-player mobile online game. The modules mention above allow designers to quickly create game contents, provide efficient and reliable communications, support continuity requirements of video streaming and to maintain synchronization among players within the same lobby.

 


Supported by Innovation Technology Fund of Hong Kong SAR GovernmentInnovation and Technology Commission