System for the reliable, fast, low-latency communication of object state updates over a computer network by combining lossy and lossless communications
First Claim
1. A system for fast, efficient and reliable communication of object state information among a group of users, comprising:
- a network and a number of users at nodes of said network, each of said users having a computer coupled to said network;
a world model, containing objects stored at each of said users and coupled to respective computers;
means at a user for altering said world model thereat by altering objects of said world model such that objects of said world model are changed;
means including messages for communicating the current state of objects that have changed to other users over a lossy direct link to said other users for rapidly communicating the current state of said objects to said other users;
means at a user for detecting when messages describing object state are lost; and
,a server coupled to said lossy direct link for storing said object states and for transmitting up-to-date object states over a lossless link to a user when requested by that user, whereby information transmitted over said lossy link which is lost can be recovered with information from said server.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for fast, efficient and reliable communication of object state irmation among a group of processes combines the use of a fast, but lossy and thus unreliable communications channel to the group of processes and a server coupled to the group for providing data which has been lost in the multicasting. In one embodiment, a central server supports reliability and rapid joining while using UDP multicast messaging to achieve rapid interaction and low bandwidth. Differential messages are sent over the lossy channel to compactly describe how to compute the new state of an object from any of several previous states. Such a description can be interpreted even if some number of prior descriptions were not received, greatly reducing the need for explicit, round-trip message repairs while also conserving bandwidth. In one embodiment, the central server communicates with each member of the group over a reliable channel to robustly detect and repair objects affected by lost messages.
97 Citations
15 Claims
-
1. A system for fast, efficient and reliable communication of object state information among a group of users, comprising:
-
a network and a number of users at nodes of said network, each of said users having a computer coupled to said network; a world model, containing objects stored at each of said users and coupled to respective computers; means at a user for altering said world model thereat by altering objects of said world model such that objects of said world model are changed; means including messages for communicating the current state of objects that have changed to other users over a lossy direct link to said other users for rapidly communicating the current state of said objects to said other users; means at a user for detecting when messages describing object state are lost; and
,a server coupled to said lossy direct link for storing said object states and for transmitting up-to-date object states over a lossless link to a user when requested by that user, whereby information transmitted over said lossy link which is lost can be recovered with information from said server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for fast, efficient and reliable communication of object state information among a group of users, comprising:
-
a network and a number of users at nodes of the network; a world model, containing objects stored at each of said users and coupled to respective computers; means at a user for altering said world model thereat by altering objects of said world model such that objects of said world model are changed; means including messages for communicating a current state of said objects that have changed to other users over a lossy direct link to said other users for rapidly communicating the current state of said objects to said other users; means at a user for detecting when messages describing object states are lost; a server coupled to said lossy direct link for storing said object states and for transmitting up-to-date object states over a lossless link to a user when requested by that user, whereby information transmitted over said lossy link which is lost can be recovered with information from said server, and means for rejecting messages that arrive late by a predetermined amount, thus to create lost messages, said server providing recovery of the information lost thereby, whereby the amount of information that must be stored by each user is bounded.
-
Specification