Eureka!'s staff has been involved in the development of reliable,
scalable, object oriented network applications. In one
undertaking, started August 1995, our team was asked to take a major role
in the design and implementation of an internet multi-player game service
for a newly formed company, Total Entertainment Network.
We were given the task of implementing a core component
of their service:
|
authentication of users and services,
|
|
session establishment between users and services
with load balancing, and
|
|
track all user movements for billing purposes.
|
We designed this application as a multi-process, multi-threaded
system. It was implemented using C++ on Solaris 2.5. The application
was developed in a manner that would facilitate
|
low latency connections,
|
|
easy scalability with increasing number of users,
|
|
ease of monitoring and support,
|
|
and easy extensibility for new services.
|
The system could run on a single host or across multiple hosts
with a
single host system designed to handle up to 10,000 concurrent gamers.
Additional hosts could be added to support an increase in
user load. Each new host would
synchronize with the existing ones immediately upon startup.
Redundancy was achieved by running additional
hosts to pick up the user load immediately upon a failure.
Some of the technologies used to create this system included POSIX
threads, STL, and Sockets. In addition, a test
suite was created to help both us and the developers at TEN to validate
full system functionality.
TEN's online game service was launched on time with all
promised functionality. The
company quickly became the market and technology leader in online multi-player
gaming. They have already licensed their state-of-the-art, client-server
based technology in two other countries, and are pursuing more international
licensing agreements. The application remains the
foundation software for TEN's network and has provided 24
hour seven days per week internet gaming since the 1996
launch.