Method and system for expansion of recurring calendar events
First Claim
1. A method of expanding a master data structure including a recurrence pattern into individual instances of a recurring appointment according to the recurrence pattern for a defined time period, comprising:
- placing an identifier identifying a calendar folder containing the master data structure in a queue for further processing;
signaling a first thread with a first priority level that the calendar folder containing the master is queued for further processing;
changing the priority level of the first thread to a second, higher priority level;
calling a first routine for expanding the master data structure; and
saving the individual instances of the recurring appointment to the calendar folder on a computer readable medium.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for expanding recurring calendar events such that the retrieval of recurring calendar appointments is expedited. A recurring appointment is saved as a data structure including a recurrence pattern. When a recurring appointment is saved by a client that has sufficient processing and memory resources to perform the computations necessary to expand recurring appointments (i.e., a thick client), a background thread is notified. The background thread increases its priority to normal when idle processing capacity is available and calls a routine requesting calendar information for a defined time period. The routine causes the expansion of the data structure into the individual instances of the recurring appointment for a defined time period, and the individual instances are saved for later retrieval. A later query from a client without sufficient processing and memory resources to perform the calculations necessary to expand recurring appointments (i.e., a thin client), therefore, does not require that the expansion computations be performed contemporaneously.
-
Citations
46 Claims
-
1. A method of expanding a master data structure including a recurrence pattern into individual instances of a recurring appointment according to the recurrence pattern for a defined time period, comprising:
-
placing an identifier identifying a calendar folder containing the master data structure in a queue for further processing;
signaling a first thread with a first priority level that the calendar folder containing the master is queued for further processing;
changing the priority level of the first thread to a second, higher priority level;
calling a first routine for expanding the master data structure; and
saving the individual instances of the recurring appointment to the calendar folder on a computer readable medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for expanding a recurring data structure including a recurrence pattern indicative of individual instances of a recurring appointment for a defined time period, comprising:
-
means for maintaining a database including a calendar folder containing at least one recurring data structure;
means for determining whether the recurring data structure in the calendar folder has been expanded into individual instances of the recurring appointment;
means for placing the calendar folder in a queue;
means for retrieving the calendar folder from the queue; and
means for calling a routine causing the expansion of the recurring data structure into the individual instances of the recurring appointment for a defined time period. - View Dependent Claims (14, 15, 16)
-
-
17. A computer-readable medium having computer executable instructions for expanding a master data structure including a recurrence pattern into individual instances of a recurring appointment according to the recurrence pattern for a defined time period, which, when executed comprise:
-
placing an identifier identifying a calendar folder containing the master data structure in a queue for further processing;
signaling a simulator thread with a first priority level that the calendar folder containing the master is queued for further processing;
changing the priority level of the simulator thread to a second, higher priority level;
calling a first routine for expanding the master data structure; and
saving the individual instances of the recurring appointment to the calendar folder on a computer readable medium. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A system for expanding a master including a recurrence pattern contained in a calendar folder maintained by a server executing a calendaring application into individual instances of a recurring appointment, comprising, a database logically accessible to the calendaring application on the server for maintaining the calendar folder;
- a status message implemented by the calendaring application, the status message indicating whether the calendar folder contains the master that requires expanding;
a first thread executing at a low priority level on the server; and
a first routine for computing the individual instances of the recurring appointment from the recurrence pattern of the master and saving the individual instances in the calendar folder, wherein the first thread calls the first routine. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33)
- a status message implemented by the calendaring application, the status message indicating whether the calendar folder contains the master that requires expanding;
-
34. A method of expediting the display of recurring calendar information on a thin client, comprising:
-
detecting whether a master including a recurrence pattern of a recurring appointment was saved by a thick client;
placing the calendar folder including the master in a queue of calendar folders requiring further processing;
signaling a simulator thread running in the background that the calendar folder has been placed in the queue;
increasing a priority level of the simulator thread;
expanding the master into individual instances of the recurring appointment; and
saving the individual instances of the recurring appointment to a computer readable medium. - View Dependent Claims (35, 36, 37)
-
-
38. A method of expanding a master data structure including a recurrence pattern into individual instances of a recurring appointment according to the recurrence pattern for a defined time period, comprising:
-
placing an identifier identifying the master data structure in a queue for further processing;
signaling a first thread with a first priority level that the master is queued for further processing;
changing the priority level of the first thread to a second, higher priority level;
calling a first routine that expands the master data structure; and
saving the individual instances of the recurring appointment to a computer readable medium. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46)
-
Specification