Patent ID: 7735083

Claim:
A processor-implemented method of processing events, the method comprising: creating a primary array on the processor comprising a plurality of array cells, wherein each array cell is associated with a time interval defined by a respective start time and a respective end time; creating a plurality of list data structures, wherein each of the plurality of list data structures is associated with a respective array cell and each of the plurality of list data structures stores a list of events scheduled within a corresponding time interval; upon a request to schedule a new event for a predetermined event time: determining a target array cell by: calculating an offset value by dividing the predetermined event time by the time interval; adding the offset value to a current time slot to generate a first result; dividing the first result by a size of the primary array to generate a remainder, the remainder corresponding to the target array cell to which the new event should be associated; adding the new event to a corresponding list data structure associated with the target array cell; upon expiration of a predetermined time interval: updating a current timeslot pointer to point to a current array cell as a function of a current time; retrieving a current list data structure associated with the current array cell; executing each event in the current list data structure; and if the current timeslot pointer points to a last array cell in the primary array, repopulating the primary array using events associated with a secondary array, wherein the secondary array is a circular array.