Method and apparatus for generating recurring events in a calendar/schedule system
First Claim
1. In an electronic scheduling system, a computer-implemented method for displaying events to a user, said computer-implemented method comprising:
- storing recurrence information and anti-event information in an event definition, wherein said recurrence information comprises an expression that specifies a plurality of events, wherein each of said plurality of events occurs at a particular time, and wherein said anti-event information comprises an expression that specifies that a subset of said plurality of events do not occur at any time;
accessing said recurrence information and said anti-event information in said event definition;
generating a plurality of recurring events and associated dates based upon said recurrence information and said anti-event information, wherein said recurring events include only those events of said plurality of events that are not members of said subset of events; and
displaying a calendar having said plurality of recurring events and associated dates.
1 Assignment
0 Petitions
Accused Products
Abstract
An electronic calendaring and scheduling capability that minimizes storage requirements. Repetitive calendar events are stored as single entries using an expression language. The expression language provides an ability for expressing how often the event recurs. Thus, the days on which the event occurs are computed from an expression stored in a repetitive event. Further, the expression language provides the ability to identify exceptions and to define an infinite number of recurring events from the original recurrent event definition. Events are generated by obtaining a recurrency expression of a first event. The recurrency expression is converted to one or more recurring dates. A beginning date of the first event is also obtained. Using one or more recurring dates and the beginning date, one or more second events are generated in response. The present invention provides the first event and the one or more second events to the users in one or more calendars. The present invention further utilizes a recurrency expression including one or more anti-event expressions. Anti-events have the same format as the recurring event. The anti-event expressions are used to generate one or more exception dates. The exception dates cancel at least one of the recurring dates.
-
Citations
20 Claims
-
1. In an electronic scheduling system, a computer-implemented method for displaying events to a user, said computer-implemented method comprising:
-
storing recurrence information and anti-event information in an event definition, wherein said recurrence information comprises an expression that specifies a plurality of events, wherein each of said plurality of events occurs at a particular time, and wherein said anti-event information comprises an expression that specifies that a subset of said plurality of events do not occur at any time;
accessing said recurrence information and said anti-event information in said event definition;
generating a plurality of recurring events and associated dates based upon said recurrence information and said anti-event information, wherein said recurring events include only those events of said plurality of events that are not members of said subset of events; and
displaying a calendar having said plurality of recurring events and associated dates. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
storing a beginning date of one of said plurality of events.
-
-
3. The computer-implemented method of claim 2, wherein generating said plurality of recurring events and associated dates based upon said recurrence information and said anti-event information further comprises generating said plurality of recurring events and associated dates based upon said beginning date of said one of said plurality of events.
-
4. The computer-implemented method of claim 1 further comprising:
-
storing said recurrence information and said anti-event information in a single entry comprising a plurality of fields; and
storing a plurality of values corresponding to each of one or more of said plurality of fields.
-
-
5. The computer-implemented method of claim 4 wherein said plurality of fields comprise weekday, day, month, year, weeknum, xdays, xmonths, working, and terminator fields.
-
6. The computer-implemented method of claim 4 wherein said plurality of fields comprise a weekday field, said weekday field representing a day of a week for generating said plurality of recurring events and associated dates.
-
7. The computer-implemented method of claim 4 wherein said plurality of fields comprise a day field, said day field representing a day of a month for generating said plurality of recurring events and associated dates.
-
8. The computer-implemented method of claim 4 wherein said plurality of fields comprise a month field, said month field representing a month of a year for generating said plurality of recurring events and associated dates.
-
9. The computer-implemented method of claim 4 wherein said plurality of fields comprise a year field, said year field representing a year for generating said plurality of recurring events and associated dates.
-
10. The computer-implemented method of claim 4 wherein said plurality of fields comprise a first field representing a week of a month for generating said plurality of recurring events and associated dates.
-
11. The computer-implemented method of claim 4 wherein said plurality of fields comprise a first field representing a frequency of a specified number of days for generating said plurality of recurring events and associated dates.
-
12. The computer-implemented method of claim 4 wherein said plurality of fields comprise a first field representing a frequency of a specified number of months for generating said plurality of recurring events and associated dates.
-
13. The computer-implemented method of claim 4 wherein said plurality of fields comprise a terminator field representing termination of said recurrence information.
-
14. The computer-implemented method of claim 13 wherein said terminator field indicates a default value for each of said plurality of values inputted after said terminator field.
-
15. An electronic calendar system for displaying a plurality of events to a user, said system comprising:
-
a storage device to store an event definition containing a set of recurrence information and anti-event information, wherein said recurrence information comprises an expression that specifies a plurality of events, wherein each of said plurality of events occurs at a particular time, and wherein said anti-event information comprises an expression that specifies that a subset of said plurality of events do not occur at any time;
means for accessing said recurrence information and said anti-event information in said event definition and for generating a plurality of recurring events and associated dates based upon said recurrence information and said anti-event information as a calendar, wherein said recurring events include only those events of said plurality of events that are not members of said subset of events; and
a display device to display said calendar.
-
-
16. A computer-readable medium carrying one or more sequences of instructions for displaying to a user, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to:
-
store recurrence information and anti-event information in an event definition, wherein said recurrence information comprises an expression that specifies a plurality of events, wherein each of said plurality of events occurs at a particular time, and wherein said anti-event information comprises an expression that specifies that a subset of said plurality of events do not occur at any time;
access said recurrence information and said anti-event information in said event definition;
generate a plurality of recurring events and associated dates based upon said recurrence information and said anti-event information, wherein said recurring events include only those events of said plurality of events that are not members of said subset of events; and
display a calendar having said plurality of recurring events and associated dates. - View Dependent Claims (17, 18, 19)
store a beginning date of one of said plurality of events.
-
-
18. The computer-readable medium of claim 17, wherein the instructions to generate said plurality of recurring events and associated dates based upon said recurrence information and said anti-event information further comprises instructions to generate said plurality of recurring events and associated dates based upon said beginning date of said one of said plurality of events.
-
19. The computer-readable medium of claim 16 further comprising instructions to:
-
store said recurrence information and said anti-event information in a single entry comprising a plurality of fields; and
store a plurality of values corresponding to each of one or more of said plurality of fields.
-
-
20. An apparatus for determining a plurality of recurring events, said apparatus comprising:
-
a database, wherein said database comprises a plurality of recurrence expressions, wherein each of said plurality of recurrence expressions specifies a plurality of events, wherein each of said plurality of events occurs at a particular time, and a plurality of anti-event expressions, wherein each of said anti-event expressions specifies that a subset of said plurality of events do not occur at any time;
a processor, wherein said processor is configured to access said database to obtain said plurality of recurrence expressions and said plurality of anti-event expressions, and generate said plurality of recurring events and associated dates based upon said recurrence expressions and said anti-event expressions, wherein said recurring events include only those events of said plurality of events that are not members of said subset of events.
-
Specification