Selectively ordered protocol for unreliable channels
First Claim
Patent Images
1. A method for communication over a data network comprising:
- receiving a plurality of messages over the data network, each message being associated with sequencing data, the sequencing data for a message including a first index and a second index;
enforcing delivery order for at least some of the received messages according to the first index of the received messages; and
discarding without delivery at least some of the received messages according to the second index of the received messages.
1 Assignment
0 Petitions
Accused Products
Abstract
A communication protocol provides a selective ordering of packets such that some sequences of packets on the channel are guaranteed not to be delivered out of order, while other packets on the same channel may be delivered before earlier sent packets are received, thereby preempting their delivery. The communication protocol can be implemented using UDP over IP. The protocol may be used for exchange of information in a distributed multi-player game.
47 Citations
22 Claims
-
1. A method for communication over a data network comprising:
-
receiving a plurality of messages over the data network, each message being associated with sequencing data, the sequencing data for a message including a first index and a second index;
enforcing delivery order for at least some of the received messages according to the first index of the received messages; and
discarding without delivery at least some of the received messages according to the second index of the received messages. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. Software stored on computer-readable media comprising instructions for causing a computing system to:
-
receive a plurality of messages over a data network, each message being associated with sequencing data, the sequencing data for a message including a first index and a second index;
enforce delivery order for at least some of the received messages according to the first index of the received messages; and
discard without delivery at least some of the received messages according to the second index of the received messages.
-
-
11. A communication system comprising:
-
a plurality of packet communication services; and
a protocol service;
wherein each packet communication service is configured to receive data packets from a source over a data network, the data packets carrying a plurality of messages, each message being associated with sequencing data, the sequencing data for a message including a first index and a second index; and
wherein the protocol engine is configured to accept the messages from the datagram services and enforce delivery order for at least some of the received messages according to the first index of the received messages, and discard without delivery at least some of the received messages according to the second index of the received messages.
-
-
12. A method for communication over a data network comprising:
-
accepting a plurality of messages at a source on a data network, each message being associated with sequencing data, the sequencing data for a message including a first index and a second index;
transmitting the messages over the data network from the source to a destination, the first index of the transmitted message being for ordering the messages at the destination; and
for at least some messages not successfully received at the destination, discarding at least a portion of the not successfully received messages at the source according to the second index of the sequencing data of the not successfully received messages and of other messages transmitted to the destination. - View Dependent Claims (13, 14)
-
-
15. A method for communicating in a distributed game system comprising:
-
at a server system, maintaining information associated with a plurality of entities in an environment; and
maintaining communication sessions between the server system and a plurality of client system for exchanging information associated with the entities between the server system and a plurality of client systems, wherein each communication session uses a communication protocol that supports both reliable transmission of ordered messages and transmission and selective discarding of ephemeral messages. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
Specification