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.