Claims
- 1. A method of programmatically adjusting working hours on electronic calendars, comprising steps of:
analyzing historical calendar data for a calendar user to determine patterns in the user's working hours; and programmatically adjusting the user's scheduled working hours for one or more dates based on the patterns.
- 2. The method according to claim 1, wherein the analyzing step further comprises comparing the user's scheduled working hours to his actual working hours, and wherein the patterns comprise discrepancies between the scheduled working hours and the actual working hours.
- 3. The method according to claim 1, wherein rules are used in the analyzing and programmatically adjusting steps.
- 4. The method according to claim 1, wherein the programmatic adjustments are only made if the user confirms them.
- 5. The method according to claim 1, wherein the programmatic adjustments comprise one or more of: adding scheduled working hours to the user's calendar; deleting scheduled working hours from the user's calendar; changing scheduled working hours on the user's calendar.
- 6. A method of programmatically adjusting calendar events on electronic calendars, comprising steps of:
analyzing historical calendar data for a calendar user to determine patterns in the user's calendar events; and programmatically adjusting one or more of the user's scheduled calendar events based on the patterns.
- 7. The method according to claim 6, wherein the analyzing step further comprises comparing the calendar user's scheduled calendar events to his actual calendar events, and wherein the patterns comprise discrepancies between the scheduled calendar events and the actual calendar events.
- 8. The method according to claim 6, wherein rules are used in the analyzing and programmatically adjusting steps.
- 9. The method according to claim 6, wherein the programmatic adjustments are only made if the user confirms them.
- 10. The method according to claim 6, wherein the programmatic adjustments comprise one or more of: adding a calendar event to the user's calendar; deleting a calendar event from the user's calendar; or changing an event on the user's calendar.
- 11. A method of programmatically adjusting calendar data, comprising steps of:
detecting an update to working hours or scheduled events on a user's calendar; and programmatically adjusting the user's calendar, responsive to the detecting step.
- 12. The method according to claim 11, wherein the programmatically adjusting step further comprises adding one or more events to the user's calendar, deleting one or more events from the user's calendar, and/or changing one or more events on the user's calendar.
- 13. The method according to claim 11, wherein rules are used in the programmatically adjusting step.
- 14. The method according to claim 11, wherein the programmatically adjusting step further comprises adding, changing, and/or deleting scheduled working hours on the user's calendar.
- 15. The method according to claim 11, wherein the detected update comprises one of: an event added to the calendar, an event deleted from the calendar, or an event changed on the calendar.
- 16. The method according to claim 11, wherein the detected update comprises one of:
working hours added to the calendar, scheduled working hours deleted from the calendar, or scheduled working hours changed on the calendar.
- 17. The method according to claim 11, wherein the programmatic adjustments are only made if a user of the electronic calendar confirms them.
- 18. The method according to claim 11, further comprising the step of notifying a user of the electronic calendar of an impending programmatic adjustment.
- 19. The method according to claim 11, wherein the programmatically adjusting step further comprises updating the user's preferences.
- 20. A method of programmatically adjusting calendar events on electronic calendars, comprising steps of:
receiving input from one or more sources external to an electronic calendar; comparing the received input to rules and/or a user's scheduled calendar events; and programmatically adjusting one or more of the scheduled events, responsive to the comparing step.
- 21. The method according to claim 20, wherein the programmatically adjusting step further comprises adding an event to the calendar, deleting an event from the calendar, or changing an event on the calendar.
- 22. The method according to claim 20, wherein rules are used in the programmatically adjusting step.
- 23. The method according to claim 20, wherein the received input is a notification from an external data source.
- 24. A method of programmatically adjusting working hours on electronic calendars, comprising steps of:
receiving input from one or more sources external to an electronic calendar; comparing the received input to rules and/or a user's scheduled working hours; and programmatically adjusting the user's scheduled working hours for one or more dates, responsive to the comparing step.
- 25. The method according to claim 24, wherein rules are used in the programmatically adjusting step.
- 26. The method according to claim 24, wherein the programmatically adjusting step further comprises adding working hours to the calendar, deleting working hours from the calendar, or changing working hours on the calendar.
- 27. A system for programmatically adjusting electronic calendars, comprising:
means for detecting an update to working hours or scheduled events on an electronic calendar, a pattern in historical calendar data, or a notification from an external data source; and means for programmatically adjusting the electronic calendar, responsive to operation of the means for detecting.
- 28. A computer program product for programmatically adjusting electronic calendars, the computer program product embodied on one or more computer-readable media and comprising:
computer-readable program code means for detecting an update to working hours or scheduled events, a pattern in historical calendar data, on an electronic calendar or a notification from an external data source; and computer-readable program code means for programmatically adjusting the electronic calendar, responsive to operation of the computer-readable program code means for detecting.
RELATED INVENTIONS
[0001] The present invention is related to the following commonly-assigned U.S. Pat. No. ______, titled “Calendar Events and Calendar-Driven Application Technique” (Ser. No. 09/670,844); U.S. Pat. No. ______, titled “Calendar-Driven Application Technique for Preparing Responses to Incoming Events” (Ser. No. 09/671,001); U.S. Pat. No. ______, titled “Calendar-Enhanced Awareness for Instant Messaging Systems and Electronic Status Boards” (Ser. No. 09/941,045); U.S. (Ser. No. ______, filed concurrently herewith), titled “Keeping Working Hours and Calendar Entries Up-to-Date”; and U.S. Pat. No. ______ (Ser. No. ______, filed concurrently herewith), titled “Context Conflict Resolution and Automatic Context Source Maintenance”. The disclosures of these related inventions are hereby incorporated herein by reference.