IP Library Granted Patent US 7,133,927
Granted Patent B2
US 7,133,927 · App. 10/135,053 · Granted Nov 7, 2006

Method and apparatus for supporting real-time multi-user distributed applications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,133,927
App. No.
10/135,053
Granted
Nov 7, 2006
Kind
B2
Abstract

The present invention provides a network support mechanism, called Sync-VPN, that is transparent to real-time, multi-user distributed applications, such as online multi-player games in which the order of player actions is critical to the outcome. The invention uses a client/server application model, where a server coordinates state updates based on action messages sent by clients. The invention builds on bandwidth-quaranteed VPN service to ensure predictable packet delay and loss characteristics, thereby providing predictable packet service, state update fairness, and player action fairness. A Sync-out mechanism synchronizes delivery of state updates to all players enabling them to react to the same update fairly. A Sync-in mechanism processes action messages from all players in a fair order based on real-time occurrence. Sync-VPN employs a round-trip time estimation algorithm essential to message latency estimation in the Sync-out and Sync-in mechanisms.

Claims (29)

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, wherein said worst case delivery time is derived as half of a maximum estimated round trip time from plurality of estimated round trip times between said given location and said respective users, wherein each estimated round trip time is derived based on a round trip time (RTT) estimation algorithm;

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 from reaching its user prior to said delivery time; and

delivering said data traffic to said users of said network at said delivery time.

2. The method of claim 1 , wherein said data traffic is identified by a value in at least one field of said data as belonging to a synchronous delivery service.

3. The method of claim 2 , wherein said data traffic is filtered according to said value for processing in said network.

4. The method of claim 2 , wherein said identified value is a 6-tuple identification including Src.IP, Dst.IP, Src.Port, Dst.Port, Protocol, and TOS fields.

5. The method of claim 1 , where said network is a virtual private network.

6. The method of claim 1 , wherein said RTT estimation is the mean round trip time plus a round trip time variance factor.

7. The method of claim 1 , further including providing substantially synchronous delivery of traffic injected from said users of said network to said given location.

8. The method of claim 5 , wherein an application of said synchronous delivery of data traffic is selected from the group consisting of multi-player games, synchronized music and video conferencing.

9. 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, wherein said waiting period partially depends upon a plurality of estimated round trip times between said respective users and said another location, wherein each estimated round trip time is derived based on a round trip time (RTT) estimation algorithm;

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.

10. The method of claim 9 , wherein said delay period is long enough to enable receipt of a response from any user within a given response window.

11. The method of claim 9 , where said delay period is based on message delay in said network of a subset of said users.

12. The method of claim 9 , wherein said delay time T is represented as (r(h)−s(h))≦T≦max(ps(i)), where the sending and received time of the current head message h is s(h) and r(h) respectively, and the message delay from player P i to the another location is denoted as ps(i) and a probability function is applied to T.

13. 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 clients, wherein said estimated delivery time is derived from a worst case delivery time, wherein said worst case delivery time is derived as half of a current worst estimated round trip time from a plurality of estimate round trip times between said server and said respective clients, wherein each estimated round trip time is derived based on a round trip time (RTT) estimation algorithm;

assigning an actual delivery time to said data traffic injected into said network based on said estimated delivery time; and

sending said data traffic to said clients 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.

14. The method of claim 13 , wherein each estimated round trip time between said server and said respective clients is a mean round trip time plus a round trip time variance factor.

15. 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, wherein said delivery time value is determined based on a worst-case delivery time derived as half of a maximum estimated round trip time from a plurality of estimated round trip times between said server and said respective clients, wherein each estimated round trip time is derived based on a round trip time (RTT) estimation algorithm;

delaying, if necessary, said data traffic reaching its client prior to said delivery time value; and

delivering said data traffic to said clients of said network at said delivery time value.

Assignments (7)
NUNC PRO TUNC ASSIGNMENT Recorded Oct 8, 2019
From: NOKIA OF AMERICA CORPORATION
To: ALCATEL LUCENT
Reel/Frame 050662/0204 →
CHANGE OF NAME Recorded Sep 24, 2019
From: ALCATEL-LUCENT USA INC.
To: NOKIA OF AMERICA CORPORATION
Reel/Frame 050476/0085 →
MERGER AND CHANGE OF NAME Recorded Sep 23, 2019
From: ALCATEL USA MARKETING, INC.; ALCATEL USA SOURCING, INC.; LUCENT TECHNOLOGIES, INC.; ALCATEL-LUCENT USA INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 050460/0510 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033950/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 032537/0133 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: ALCATEL LUCENT
To: SOUND VIEW INNOVATIONS, LLC
Reel/Frame 032086/0016 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →