Method and Apparatus for Synchronizing Assets Across Distributed Systems

Abstract
The invention includes a method and apparatus for synchronizing an asset within application space. The method includes receiving asset information comprising an original position of the asset within application space on a sending system and a trajectory of the asset within application space on the sending system, and determining an updated position adapted for placing the asset within application space on a receiving system, wherein the updated position is determined using the original position, the trajectory, and an expected propagation delay from the sending system to the receiving system. The expected propagation delay between the sending and receiving systems is determined by one or more network proxies. The original position and trajectory of the asset may be received in a data structure which may be modified to include the updated position for use by the receiving system in placing the asset within application space on the receiving system.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:



FIG. 1 depicts a high-level block diagram of a communication network including game systems in communication using associated game proxies;



FIG. 2 depicts a model illustrating movement of a game asset within a game space on a sending game system and a receiving game system;



FIG. 3 depicts a method according to one embodiment of the present invention;



FIG. 4 depicts a method according to one embodiment of the present invention;



FIG. 5 depicts a model illustrating movement of a game asset within a game space on a sending game system and a receiving game system; and



FIG. 6 depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein.


Claims
  • 1. A method adapted for synchronizing placement of an asset within application space, comprising: receiving asset information comprising an original position of the asset within application space on a sending system and a trajectory of the asset within application space on the sending system; anddetermining an updated position adapted for placing the asset within application space on a receiving system, wherein the updated position is determined using the original position, the trajectory, and a total expected propagation delay from the sending system to the receiving system.
  • 2. The method of claim 1, wherein the asset information is received at a receiving proxy associated with the receiving system from a sending proxy associated with the sending system.
  • 3. The method of claim 1, wherein the total expected propagation delay is determined by: determining a first expected propagation delay from the sending system to a receiving proxy associated with the receiving system;determining a second expected propagation delay from the receiving proxy to the receiving system; anddetermining the total expected propagation delay using the first expected propagation delay and the second expected propagation delay.
  • 4. The method of claim 3, wherein determining the first expected propagation delay comprises: determining a send time at which the sending system transmits the asset information;determining a receive time at which the receiving proxy receives the asset information; anddetermining the first expected propagation delay using the send time and the receive time.
  • 5. The method of claim 1, further comprising: receiving, at a sending proxy associated with the sending system, original asset information generated by the sending system; andmodifying the original asset information.
  • 6. The method of claim 5, wherein modifying the original asset information comprises: determining a receive time a which the sending proxy receives the original asset information from the sending system;determining an expected propagation delay from the sending system to the sending proxy;determining, using the receive time and the expected propagation delay, a send time at which the sending system transmitted the original asset information toward the sending proxy; andmodifying the original asset information to include the send time.
  • 7. The method of claim 1, wherein the total expected propagation delay is determined by: determining a first expected propagation delay from the sending system to a proxy system associated with the sending system and the receiving system;determining a second expected propagation delay from the proxy system to the receiving system; anddetermining the total expected propagation delay using the first expected propagation delay and the second expected propagation delay.
  • 8. The method of claim 1, wherein determining the updated position comprises: determining, for each of a plurality of original position coordinates of the original position, a position increment value, wherein each position increment value is determined by multiplying a trajectory component of the trajectory and the total expected propagation delay, wherein the trajectory component is associated with the original position coordinate; anddetermining, for each of the plurality of original position coordinates, an updated position coordinate, wherein each updated position coordinate is determined by adding the respective position increment value associated with the original position coordinate to that original position coordinate.
  • 9. The method of claim 1, further comprising: transmitting the updated position toward the receiving system, the receiving system adapted for placing the asset within application space on the receiving system using the updated position.
  • 10. An apparatus for synchronizing placement of an asset within application space, comprising: means for receiving asset information comprising an original position of the asset within application space on a sending system and a trajectory of the asset within application space on the sending system; andmeans for determining an updated position adapted for placing the asset within application space on a receiving system, wherein the updated position is determined using the original position, the trajectory, and a total expected propagation delay from the sending system to the receiving system.
  • 11. The apparatus of claim 10, wherein the asset information is received at a receiving proxy associated with the receiving system from a sending proxy associated with the sending system.
  • 12. The apparatus of claim 10, wherein the total expected propagation delay is determined by: means for determining a first expected propagation delay from the sending system to a receiving proxy associated with the receiving system;means for determining a second expected propagation delay from the receiving proxy to the receiving system; andmeans for determining the total expected propagation delay using the first expected propagation delay and the second expected propagation delay.
  • 13. The apparatus of claim 12, wherein the means for determining the first expected propagation delay comprises: means for determining a send time at which the sending system transmits the asset information;means for determining a receive time at which the receiving proxy receives the asset information; andmeans for determining the first expected propagation delay using the send time and the receive time.
  • 14. The apparatus of claim 10, further comprising: means for receiving, at a sending proxy associated with the sending system, original asset information generated by the sending system; andmeans for modifying the original asset information.
  • 15. The apparatus of claim 14, wherein the means for modifying the original asset information comprises: means for determining a receive time a which the sending proxy receives the original asset information from the sending system;means for determining an expected propagation delay from the sending system to the sending proxy;means for determining, using the receive time and the expected propagation delay, a send time at which the sending system transmitted the original asset information toward the sending proxy; andmeans for modifying the original asset information to include the send time.
  • 16. The apparatus of claim 10, wherein the total expected propagation delay is determined by: means for determining a first expected propagation delay from the sending system to a proxy system associated with the sending system and the receiving system;means for determining a second expected propagation delay from the proxy system to the receiving system; andmeans for determining the total expected propagation delay using the first expected propagation delay and the second expected propagation delay.
  • 17. The apparatus of claim 10, wherein the means for determining the updated position comprises: means for determining, for each of a plurality of original position coordinates of the original position, a position increment value, wherein each position increment value is determined by multiplying a trajectory component of the trajectory and the total expected propagation delay, wherein the trajectory component is associated with the original position coordinate; andmeans for determining, for each of the plurality of original position coordinates, an updated position coordinate, wherein each updated position coordinate is determined by adding the respective position increment value associated with the original position coordinate to that original position coordinate.
  • 18. The apparatus of claim 10, further comprising: means for transmitting the updated position toward the receiving system, the receiving system adapted for placing the asset within application space on the receiving system using the updated position.
  • 19. A method for synchronizing placement of an asset within application space, comprising: receiving, from a sending system, a data structure comprising an original position of the asset within application space on the sending system and a trajectory of the asset within application space on the sending system;adapting the original position to form thereby an updated position adapted for placing the asset within application space on a receiving system, wherein the original position is adapted using the trajectory and an expected propagation delay between the sending system and the receiving system;modifying the data structure to include the updated position; andtransmitting the modified data structure toward the receiving system, the receiving system adapted for placing the asset within application space on the receiving system using the updated position and the trajectory.
  • 20. The method of claim 19, further comprising: receiving, at the receiving system, the modified data structure; andextracting from the modified data structure the updated position and the trajectory; andrendering the asset within application space of the receiving system using the updated position and the trajectory.
Provisional Applications (1)
Number Date Country
60774570 Feb 2006 US