It will be well known that a so-called object-oriented approach to
computer programming has become widespread over the past few years and
applications such as large multiplayer games are no exception. A number
of approaches to allowing objects to communicate with one another have
been developed. One set of these approaches relate to allowing so-called
distributed objects, which is to say objects distributed over a
client/server system, to communicate with one another. With reference to
applications such as large multiplayer games, dynamic real time
distributed communications between mobile objects must be considered.
Present day techniques, involving the use of simple TCP/IP or UDP/IP,
CORBA or DCOM are unable to provide such real time dynamic performance.
According to one aspect of the invention a method of providing
communication between two or more application software elements is
provided comprising associating each application software element with a
communication software element through which to send and/or receive
messages, holding the communication state of the associated application
software element in each communication software element, allowing each
application software element to communicate with other application
software elements by sending and receiving messages through the
respectively associated communication software elements and allowing each
application software element and associated communication software
element to move. Holding the communication state in the communication
software element associated with each application software element allows
the application software element and communication software element
assembly to communicate and move in particularly dynamic fashion.
Messaging consequently enabled, carried out on a per software element
basis, allows for continuity of communication between objects even if
they move in a dynamic fashion.