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 having a priority level, the priority level being a first priority level that the calendar folder containing the master data structure is queued for further processing;
changing the priority level of the first thread from the first priority level to a second, higher priority level;
calling a first routine for expanding the master data structure;
saving the individual instances of the recurring appointment to the calendar folder on a computer readable medium; and
calling a second routine to perform the steps of placing the identifier in the queue and signaling the first thread.
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.
47 Citations
36 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 having a priority level, the priority level being a first priority level that the calendar folder containing the master data structure is queued for further processing; changing the priority level of the first thread from the first priority level to a second, higher priority level; calling a first routine for expanding the master data structure; saving the individual instances of the recurring appointment to the calendar folder on a computer readable medium; and calling a second routine to perform the steps of placing the identifier in the queue and signaling the first thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for expanding a master data structure 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 data structure 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 data structure; saving the individual instances in the calendar folder, wherein the first thread calls the first routine; and wherein the priority level of the first thread is increased; and calling a second routine for signaling the first thread that the calendar folder contains the master data structure that requires expansion. - View Dependent Claims (13, 14, 15)
-
-
16. A system for expanding a master data structure 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 data structure 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 data structure; and saving the individual instances in the calendar folder, wherein the first thread calls the first routine; and wherein the priority level of the first thread is increased prior to the first thread calling the first routine and when idle processing capacity is available on the server. - View Dependent Claims (17, 18, 19)
-
-
20. A method of expediting the display of recurring calendar information on a thin client, comprising:
-
detecting whether a master data structure including a recurrence pattern of a recurring appointment was saved by a thick client; placing the calendar folder including the master data structure 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 data structure into individual instances of the recurring appointment; saving the individual instances of the recurring appointment to a computer readable medium; receiving a calendar query from a thin client for a defined time period; checking the status message to ensure that the master data structure has already been expanded into the individual instances of the recurring appointment for the defined time period; and returning the individual instances of the recurring appointment within the defined time period to the thin client without expanding the master data structure contemporaneously with the request. - View Dependent Claims (21, 22)
-
-
23. 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 having a priority level, the priority level being a first priority level that the master data structure is queued for further processing; changing the priority level of the first thread from the first priority level to a second, higher priority level; calling a first routine that expands the master data structure; saving the individual instances of the recurring appointment to a computer readable medium; and calling a second routine to perform the step of placing the identifier in the queue and signaling the first thread. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. 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 having a priority level, the priority level being a first priority level that the master data structure is queued for further processing; changing the priority level of the first thread from the first priority level to a second, higher priority level; calling a first routine that expands the master data structure; saving the individual instances of the recurring appointment to a computer readable medium; and wherein the steps of changing of the priority level and calling the first routine occur when idle processing capacity is available. - View Dependent Claims (31, 32, 33, 34, 35, 36)
-
Specification