×

Method and apparatus for executing event driven simulations

  • US 7,631,108 B2
  • Filed: 05/13/2005
  • Issued: 12/08/2009
  • Est. Priority Date: 05/13/2004
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising:

  • a master object store configured to store a plurality of objects corresponding to a multiplayer game environment, wherein each of the plurality of objects comprises a method; and

    a plurality of computer systems for manipulating the multiplayer game environment, wherein each computer system of the plurality of computer systems executes a stack, and wherein the stack comprises;

    a cache for storing a subset of the plurality of objects from the object store layer;

    a communication layer component configured to;

    receive an event from a user manipulating the multiplayer game environment;

    generate a task based on the event; and

    place the task in a task queue; and

    a simulation layer component configured to;

    obtain the task from the task queue,load an initial object of the plurality of objects corresponding to the task from the cache when the initial object is in the cache,load the initial object from the master object store when the initial object is not in the cache,assign a transactional context and execution thread to the task, wherein the transactional context comprises a time stamp portion and a random number portion,execute the task by the execution thread, wherein executing the task comprises executing the method in the initial object to generate a modified initial object,request a dependent object of the plurality of objects using the initial method;

    retrieve the dependent object, wherein retrieving the dependent object comprises checking for a dead-lock condition, wherein checking for the dead-lock condition comprises;

    determining whether an interrupt flag of the task is set, wherein the interrupt flag is set to false when the task is created;

    if the interrupt flag of the task is not set;



    setting the interrupt flag for the task, if the dependent object is locked and a dependent object time stamp is greater than a task time stamp; and



    waiting to retrieve the dependent object; and

    if the interrupt flag of the task is set;



    aborting a transaction associated with the task; and



    re-queuing the tasking in the event queue; and

    commit the modified initial object to the master object store to update the multiplayer game environment.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×