Method and apparatus for supporting real-time multi-user distributed applications
First Claim
1. A method of providing synchronous delivery of data traffic to users of a network from a given location, said method comprising the steps of:
- deriving a worst case delivery time for data injected into said network to be delivered to any of said users;
assigning a delivery time to said data traffic injected into said network based on said worst case delivery time;
delaying, if necessary, said data traffic reaching its destination prior to said delivery time; and
delivering said data traffic to said users of said network at said delivery time.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention addresses the shortcoming of the prior art by providing a network support mechanism that is transparent to real-time multi-user distributed applications. In particular, the proposed invention is well suited for the type of online multi-player games in which a fair order of player actions is critical to the outcome. Without fairness support, remote players often receive much delayed data to act on, and their actions cannot compete in time with other players. The present invention proposes a network support mechanism, called Sync-VPN, for real time multi-user distributed applications such as multi-player online games. The approach assumes a client/server application model, where the server is responsible for coordinating state updates based on action messages sent by the clients. The approach addresses three desired features: predictable packet service, state update fairness, and player action fairness. It builds on top of bandwidth guaranteed VPN service to ensure predictable packet delay and loss characteristics. It uses a Sync-out mechanism to synchronize the delivery of state updates to all players in order for them to react to the same update fairly Its Sync-in mechanism processes action messages from all players in a fair order based on their real-time occurrence. Sync-VPN employees a round trip time estimation algorithm that is essential to both Sync-out and Sync-in mechanisms in estimating message latency. It also proposes three Sync-in algorithms that dictate a trade-off between added delay and improved fairness.
337 Citations
18 Claims
-
1. A method of providing synchronous delivery of data traffic to users of a network from a given location, said method comprising the steps of:
-
deriving a worst case delivery time for data injected into said network to be delivered to any of said users;
assigning a delivery time to said data traffic injected into said network based on said worst case delivery time;
delaying, if necessary, said data traffic reaching its destination prior to said delivery time; and
delivering said data traffic to said users of said network at said delivery time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of providing fairly ordered responses of data traffic from users of a network to another location in said network, said method comprising the steps of:
-
deriving a waiting period for data injected into said network from a user to be delivered to said another location;
ordering said data traffic received from said users based on a send-time value associated with said data traffic injected into said network;
delaying said delivery of said data traffic for said waiting period;
delivering said data traffic to said another location in a fair order based on said step of ordering after said waiting period has expired. - View Dependent Claims (11, 12, 13)
-
-
14. A method of operating a server for providing synchronous delivery of data traffic to a select grouping of clients in a network, said method comprising the steps of:
-
deriving an estimated delivery time for data injected into said network to be delivered to any of said users;
assigning an actual delivery time to said data traffic injected into said network based on said estimated delivery time;
sending said data traffic to said users of said network, wherein said data traffic from said server is set to be synchronously delivered to said grouping of clients at said actual delivery time. - View Dependent Claims (15, 16, 17)
-
-
18. A method of operating a client device in a client server system for providing synchronous delivery of data traffic to a select grouping of clients in a network, said method comprising the steps of:
-
receiving data traffic from said server having a delivery time value associated therewith;
delaying, if necessary, said data traffic reaching its destination prior to said delivery time value; and
delivering said data traffic to said users of said network at said delivery time.
-
Specification