Method and apparatus for handling multiple real-time service events
AssigneeNortel Networks Limited
InventorsJudson J. Patterson, Craig L. Buckler, Michael T. Longfield
Life of this patent
Estimating the term…
Abstract
A large number of real-time events are efficiently processed using an integer field incremented based on a periodic timer tick and functioning as a global counter. Other integer fields are created for each received real-time event having a value equal to the value of the global counter plus the period of the event. These other fields are stored at the end of a queue that stores all events having the same period. To determine whether any fields in a particular queue have expired, the system checks only the first field in the queue.
Claims16
A method of managing a plurality of real-time events each requiring action to be taken after a predetermined time period, the method comprising the steps of:
- generating values corresponding to each said event from a value of a global counter and the predetermined time period of the corresponding event;
- placing the generated values in corresponding fields;
- storing the fields in a queue at a position in the queue in ascending order according to their values;
- and
- sequentially comparing the fields in the queue to the global counter starting at the first field in the queue and ending when the value of the global counter is below the value of the most recently compared field;
- whereby each field for which the global counter is greater than or equal to the value corresponds to an expired event.
A computer system comprising:
- a memory including a global counter and at least one queue;
- means for generating values corresponding to real-time events received by the computer system, the generated values based on a value of the global counter and a predetermined time period associated with the corresponding event,
- means for placing the generated values in corresponding fields;
- means for storing the fields in a queue at a position such that the fields are stored farther back in the queue relative to fields stored previously in the queue;
- and
- means for sequentially comparing the fields in the queue to the global counter starting at the beginning field in the queue and ending when the value of the global counter is below the value of the most recently compared field;
- and
- a processor configured to execute programs in the memory.
A computer readable medium containing instructions executable on a computer for managing a plurality of real-time events, each said event requiring action to be taken after a predetermined time period, the instructions when executed on the computer performing the steps of:
- generating values corresponding to each said event from a value of a global counter and the predetermined time period of the corresponding event;
- placing the generated values in corresponding fields;
- storing the fields in a queue at a position in the queue in ascending order according to their values;
- and
- sequentially comparing the fields in the queue to the global counter starting at a first field in the queue and ending when the value of the global counter is below the value of the most recently compared field;
- whereby each field for which the global counter is greater than or equal to the value corresponds to an expired event.
A telecommunications network comprising:
- a plurality of signaling transfer points (STPs) configured to route CCS messages between Service Switching Points (SSPs) and Service Control Points (SCPs) in the network, each of the STPs including a computer system comprising:
- a memory including a global counter and at least one queue;
- and
- a processor including means for:
- generating values corresponding to real-time events received by the computer system from a value of the global counter and a predetermined time period associated with the corresponding event,
- placing the generated values in corresponding fields;
- storing the fields in a queue at a position such that the fields are stored farther back in the queue relative to fields stored previously in the queue;
- and
- sequentially comparing the fields in the queue to the global counter starting at the beginning field in the queue and ending when the value of the global counter is below the value of the most recently compared field.
Dependencies are inferred from the claim text.