IP Library Granted Patent US 8,020,029
Granted Patent B2
US 8,020,029 · App. 11/539,915 · Granted Sep 13, 2011

Method and apparatus for rendering game assets in distributed systems

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 8,020,029
App. No.
11/539,915
Granted
Sep 13, 2011
Kind
B2
Abstract

The invention includes a method and apparatus for attempting to synchronize delivery of information at a plurality of receiving systems. The method includes generating, at a sending system, a plurality of current messages adapted for rendering an asset within an application space of a respective plurality of receiving systems, determining an accumulated export error for each of the receiving systems, transmitting the current messages toward the respective receiving systems in a manner adapted to reduce the accumulated export errors. The accumulated export error for a receiving system includes an estimated current message export error for a current message generated by the sending system for the receiving system and an accumulated previous message export error for at least one previous message generated by the sending system for the receiving system.

Claims (70)

1. A method, comprising:

generating, at a sending system, a plurality of current messages adapted for rendering an asset within an application space of a respective plurality of receiving systems;

determining, for each of the receiving systems, a respective accumulated export error comprising a sum of an estimated current message export error associated with the current message generated for the receiving system and an accumulated previous message export error associated with at least one previous message propagated from the sending system toward the receiving system; and

transmitting the current messages toward the respective receiving systems in a manner tending to equalize the accumulated export errors associated with the receiving systems.

2. The method of claim 1 , wherein the current messages are generated in response to a trigger condition, wherein the trigger condition comprises at least one of a threshold being satisfied and a periodic trigger condition.

3. The method of claim 1 , wherein transmitting the current messages comprises:

computing, using the accumulated export errors, a plurality of scheduling times associated with the respective receiving systems; and

transmitting the current messages toward the receiving systems according to the respective scheduling times.

4. The method of claim 3 , wherein computing the scheduling times comprises:

computing, using the accumulated export errors, a plurality of scheduling instants associated with the respective receiving systems;

normalizing the scheduling instants in a manner adapted to minimize the scheduling instants; and

determining the scheduling times using the normalized scheduling instants.

5. The method of claim 1 , wherein, for each of the receiving systems, determining the accumulated export error comprises:

computing the estimated current message export error for the receiving system;

computing the accumulated previous message export error for the receiving system; and

computing the accumulated export error by summing the estimated current message export error and the accumulated previous message export error.

6. The method of claim 5 , wherein computing the estimated current message export error comprises:

determining an estimated propagation delay from the sending system to the receiving system; and

computing the estimated current message export error using the estimated propagation delay.

7. The method of claim 5 , wherein computing the accumulated previous message export error comprises:

for each of at least one previous message generated by the sending system for the receiving system, determining an estimated export error associated with previous message, the estimated export error associated with the previous message comprising an estimated propagation delay from the sending system to the receiving system;

for each of the at least one previous message, determining an actual export error associated with the previous message, the actual export error comprising an actual propagation delay from the sending system to the receiving system;

for each of the at least one previous message, computing a relative export error as a difference between the estimated export error and the actual export error; and

computing the accumulated previous message export error as a sum of the at least one relative export error.

8. The method of claim 7 , wherein determining the actual propagation delay associated with the previous message comprises:

receiving a feedback message from the receiving system in response to the previous message, wherein the feedback message comprises a time at which the previous message was received by the receiving system; and

computing the actual propagation delay as a difference between the time at which the previous message was received by the receiving system and a time at which the previous message was transmitted by the sending system.

9. The method of claim 1 , further comprising:

generating, at the sending system, a plurality of next messages adapted for placing the asset on the respective receiving systems; and

in response to a determination that the next messages are generated before each of the current messages are transmitted toward the respective receiving systems, flushing from the sending system ones of the current messages which have not been transmitted toward the receiving systems.

10. The method of claim 1 , wherein transmitting the current messages comprises:

determining a transmission probability for each receiving system using the accumulated export error associated with the receiving system; and

transmitting the current messages toward the respective receiving systems using the respective transmission probabilities.

11. An apparatus, comprising:

a processor configured to:

generate, at a sending system, a plurality of current messages adapted for rendering an asset within an application space of a respective plurality of receiving systems;

determine, for each of the receiving systems, a respective accumulated export error comprising a sum of an estimated current message export error associated with the current message generated for the receiving system and an accumulated previous message export error associated with at least one previous message propagated from the sending system toward the receiving system; and

transmit the current messages toward the respective receiving systems in a manner tending to equalize the accumulated export errors associated with the receiving systems.

12. The apparatus of claim 11 , wherein the processor is configured to transmit the current messages by:

computing, using the accumulated export errors, a plurality of scheduling times associated with the respective receiving systems; and

transmitting the current messages toward the receiving systems according to the respective scheduling times.

13. The apparatus of claim 12 , wherein the processor is configured to compute the scheduling times by:

computing, using the accumulated export errors, a plurality of scheduling instants associated with the respective receiving systems;

normalizing the scheduling instants in a manner adapted to minimize the scheduling instants; and

determining the scheduling times using the normalized scheduling instants.

14. The apparatus of claim 11 , wherein, for each of the receiving systems, the processor is configured to determine the accumulated export error by:

computing the estimated current message export error for the receiving system;

computing the accumulated previous message export error for the receiving system; and

computing the accumulated export error by summing the estimated current message export error and the accumulated previous message export error.

15. The apparatus of claim 14 , wherein computing the estimated current message export error comprises:

determining an estimated propagation delay from the sending system to the receiving system; and

computing the estimated current message export error using the estimated propagation delay.

16. The apparatus of claim 14 , wherein computing the accumulated previous message export error comprises:

determining, for each of at least one previous message generated by the sending system for the receiving system, an estimated export error associated with previous message, the estimated export error associated with the previous message comprising an estimated propagation delay from the sending system to the receiving system;

determining, for each of the at least one previous message, an actual export error associated with the previous message, the actual export error comprising an actual propagation delay from the sending system to the receiving system;

computing, for each of the at least one previous message, a relative export error as a difference between the estimated export error and the actual export error; and

computing the accumulated previous message export error as a sum of the at least one relative export error.

17. The apparatus of claim 16 , wherein determining the actual propagation delay associated with the previous message comprises:

receiving a feedback message from the receiving system in response to the previous message, wherein the feedback message comprises a time at which the previous message was received by the receiving system; and

computing the actual propagation delay as a difference between the time at which the previous message was received by the receiving system and a time at which the previous message was transmitted by the sending system.

18. The apparatus of claim 11 , wherein the processor is configured to:

generate, at the sending system, a plurality of next messages adapted for placing the asset on the respective receiving systems; and

in response to a determination that the next messages are generated before each of the current messages are transmitted toward the respective receiving systems, flush, from the sending system, ones of the current messages which have not been transmitted toward the receiving systems.

19. The apparatus of claim 11 , wherein the processor is configured to transmit the current messages by:

determining a transmission probability for each receiving system using the accumulated export error associated with the receiving system; and

transmitting the current messages toward the respective receiving systems using the respective transmission probabilities.

20. A non-transitory computer readable storage medium storing a software program, that, when executed by a computer, causes the computer to perform a method comprising:

generating, at a sending system, a plurality of current messages adapted for rendering an asset within an application space of a respective plurality of receiving systems;

determining, for each of the receiving systems, a respective accumulated export error comprising an estimated current message export error associated with the current message generated for the receiving system and an accumulated previous message export error associated with at least one previous message propagated from the sending system toward the receiving system; and

transmitting the current messages toward the respective receiving systems in a manner tending to equalize the accumulated export errors associated with the receiving systems.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033868/0001 →
SECURITY AGREEMENT Recorded Jan 30, 2013
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 029821/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2011
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 026647/0132 →
MERGER Recorded Jul 18, 2011
From: LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 026604/0096 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SECOND CONVEYING PARTY FROM BANAVER TO BANAVAR PREVIOUSLY RECORDED ON REEL 018437 FRAME 0559. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF CONVEYING PARTY BANAVER TO BANAVAR. Recorded Oct 30, 2006
From: AGGARWAL, SUDHIR; BANAVAR, HEMANT
To: FLORIDA STATE UNIVERSITY RESEARCH FOUNDATION
Reel/Frame 018449/0160 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2006
From: AGGARWAL, SUDHIR; BANAVER, HEMANT
To: FLORIDA STATE UNIVERSITY RESEARCH FOUNDATION
Reel/Frame 018437/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2006
From: MUKHERJEE, SARIT; RANGARAJAN, SAMPATH
To: LUCENT TECHNOLOGIES INC.
Reel/Frame 018437/0565 →