Patent ID: 6964046

Claim:
A computer-implemented method of scheduling a future event comprising: receiving a first event data, the first event data including a first event and a time at which the first event is to occur; creating a first data structure comprising a plurality of elements, each element associated with a time interval, the plurality of elements including at least a first element associated with a first time interval defined by a first start time and a first end time and a second element associated with a second time interval defined by a second start time and a second end time; in response to determining that the time at which the first event is to occur falls within the first time interval, adding the first event to a list of events associated with the first element of the first data structure; receiving a second event data including a second event and a time at which the second event is to occur; in response to determining that the time at which the second event is to occur does not fall within any of the time intervals associated with the first data structure, creating a second data structure comprising at least a first element of the second data structure, the first element associated with a time interval encompassing the time at which the second event is to occur, the time interval of the first element of the second data structure comprising a summation of all time intervals of the plurality of elements of the first data structure; and adding the second event to a list associated with the first element of said second data structure.