Calendar-driven application technique for preparing responses to incoming events
First Claim
1. A computer program product embodied on one or more computer-readable media, the computer program product adapted for using calendar events and information from an electronic calendar to prepare responses to incoming events and comprising:
- computer-readable program code means for creating calendar events on an electronic calendar, the calendar events being organized according to a multi-level hierarchy comprising context events at an upper level of the hierarchy and specific events at a lower level of the hierarchy, wherein zero or more specific events may be scheduled on the electronic calendar during any particular context event;
computer-readable program code means for analyzing the calendar events created for one or more users, in preparation for receiving incoming events for the users, to determine information about the users for a particular period of time;
computer-readable program code means for storing the determined information;
computer-readable program code means for retrieving, upon occurrence of an incoming event for a selected one of the users, the stored information for the selected user; and
computer-readable program code means for using the retrieved information to automatically respond to the incoming event.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a method, system, and computer program product for using calendar events for users of electronic calendaring systems to prepare customized responses to incoming events (such as incoming electronic mail, voice calls, instant messages, etc.), where the response supplies information pertaining to the user. Electronic calendars are analyzed, and information from this analysis is stored in advance of detecting an incoming message. The stored information can then be used to quickly generate a response when a message does arrive. A multi-level hierarchy of calendar events is used, where a top level of the hierarchy is used for context events which have a relatively long duration and a lower level of the hierarchy is used for specific events which occur during context events. The calendar user may specify attribute values such as how the user can be reached; whether, and how often, the user checks his e-mail or voice mail; etc. Attribute values are hierarchically coalesced. Overrides may be provided, enabling a user to fine-tune his preferences. Use of the present invention enables other persons trying to contact a calendar owner to be informed of the calendar owner'"'"'s status and other information, without requiring the calendar owner to manually change configuration settings of his e-mail or greetings of his voice mail, etc. The techniques disclosed herein are also applicable to other scenarios such as project management.
-
Citations
49 Claims
-
1. A computer program product embodied on one or more computer-readable media, the computer program product adapted for using calendar events and information from an electronic calendar to prepare responses to incoming events and comprising:
-
computer-readable program code means for creating calendar events on an electronic calendar, the calendar events being organized according to a multi-level hierarchy comprising context events at an upper level of the hierarchy and specific events at a lower level of the hierarchy, wherein zero or more specific events may be scheduled on the electronic calendar during any particular context event;
computer-readable program code means for analyzing the calendar events created for one or more users, in preparation for receiving incoming events for the users, to determine information about the users for a particular period of time;
computer-readable program code means for storing the determined information;
computer-readable program code means for retrieving, upon occurrence of an incoming event for a selected one of the users, the stored information for the selected user; and
computer-readable program code means for using the retrieved information to automatically respond to the incoming event. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
computer-readable program code means for analyzing, for each of the users the specified attribute value of each context event and of any specific events that are applicable during the particular period of time; and
computer-readable program code means for reflecting the analyzed attribute values in the stored information.
-
-
13. The computer program product according to claim 1, wherein:
-
zero or more attribute values may be specified for each of the context events and each of the specific events;
the computer-readable program code means for analyzing further comprises computer-readable program code means for determining, for each of the one or more users, when a distinct set of context event, specific event, and attribute values applies; and
the computer-readable program code means for storing further comprises computer-readable program code means for storing a distinct entry for each of the distinct sets.
-
-
14. The computer program product according to claim 13, wherein overrides may be specified for the attribute values and wherein the computer-readable program code means for analyzing further comprises computer-readable program code means for applying the overrides to the attribute values prior to operation of the computer-readable program code means for determining.
-
15. The computer program product according to claim 1, wherein:
-
zero or more attribute values may be specified for each of the context events;
the computer-readable program code means for analyzing further comprises computer-readable program code means for determining, for each of the one or more users, when a distinct set of context event and attribute values applies; and
the computer-readable program code means for storing further comprises computer-readable program code means for storing a distinct entry for each of the distinct sets.
-
-
16. The computer program product according to claim 15, wherein overrides may be specified for the attribute values and wherein the computer-readable program code means for analyzing further comprises computer-readable program code means for applying the overrides to the attribute values prior to operation of the computer-readable program code means for determining.
-
17. The computer program product according to claim 1, wherein default attribute values may be specified for context event types and for specific event types, and wherein a particular context event and/or a particular specific event may include attribute values which override the default attribute values and wherein the computer-readable program code means for analyzing further comprises computer-readable program code means for applying the overrides to the default attribute values.
-
18. The computer program product according to claim 12, wherein the attribute values include information on how to immediately contact the selected user.
-
19. The computer program product according to claim 12, wherein the attribute values include whether, and how often, the selected user checks electronic mail messages.
-
20. The computer program product according to claim 12, wherein the attribute values include whether the selected user is available for instant messaging.
-
21. The computer program product according to claim 12, wherein the attribute values include whether, and how often, the selected user checks voice mail messages.
-
22. A system for using calendar events and information from an electronic calendar to prepare responses to incoming events, comprising:
-
means for creating calendar events on an electronic calendar, the calendar events being organized according to a multi-level hierarchy comprising context events at an upper level of the hierarchy and specific events at a lower level of the hierarchy, wherein zero or more specific events may be scheduled on the electronic calendar during any particular context event;
means for analyzing the calendar events created for one or more users, in preparation for receiving incoming events for the users, to determine information about the users for a particular period of time;
means for storing the determined information;
means for retrieving, upon occurrence of an incoming event for a selected one of the users, the stored information for the selected user; and
means for using the retrieved information to automatically respond to the incoming event. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
means for analyzing, for each of the users, the specified attribute value of each context event and of any specific events that are applicable during the particular period of time; and
means for reflecting the analyzed attribute values in the stored information.
-
-
30. The system according to claim 22, wherein:
-
zero or more attribute values may be specified for each of the context events and each of the specific events;
the means for analyzing further comprises means for determining, for each of the one or more users, when a distinct set of context event, specific event, and attribute values applies; and
the means for storing further comprises means for storing a distinct entry for each of the distinct sets.
-
-
31. The system according to claim 30, wherein overrides may be specified for the attribute values and wherein the means for analyzing further comprises means for applying the overrides to the attribute values prior to operation of the means for determining.
-
32. The system according to claim 22, wherein default attribute values may be specified for context event types and for specific event types, and wherein a particular context event and/or a particular specific event may include attribute values which override the default attribute values and wherein the means for analyzing further comprises means for applying the overrides to the default attribute values.
-
33. The system according to claim 29, wherein the attribute values include one or more of:
- (1) information on how to immediately contact the selected user;
(2) whether, and how often, the selected user checks electronic mail messages;
(3) whether the selected user is available for instant messaging;
(4) whether, and how often, the selected user checks voice mail messages; and
(5) an alternative contact person for the selected user.
- (1) information on how to immediately contact the selected user;
-
34. A method for using calendar events and information from an electronic calendar to prepare responses to incoming events, comprising the steps of:
-
creating calendar events on an electronic calendar, the calendar events being organized according to a multi-level hierarchy comprising context events at an upper level of the hierarchy and specific events at a lower level of the hierarchy, wherein zero or more specific events may be scheduled on the electronic calendar during any particular context event;
analyzing the calendar events created for one or more users, in preparation for receiving incoming events for the users, to determine information about the users for a particular period of time;
storing the determined information;
retrieving, upon occurrence of an incoming event for a selected one of the users, the stored information for the selected user; and
using the retrieved information to automatically respond to the incoming event. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
analyzing, for each of the users, the specified attribute value of each context event and of any specific events that are applicable during the particular period of time; and
reflecting the analyzed attribute values in the stored information.
-
-
42. The method according to claim 34, wherein:
-
zero or more attribute values may be specified for each of the context events and each of the specific events;
the analyzing step further comprises the step of determining, for each of the one or more users, when a distinct set of context event, specific event, and attribute values applies; and
the storing step further comprises the step of storing a distinct entry for each of the distinct sets.
-
-
43. The method according to claim 42, wherein overrides may be specified for the attribute values and wherein the analyzing step further comprises the step of applying the overrides to the attribute values prior to operation of the determining step.
-
44. The method according to claim 34, wherein default attribute values may be specified for context event types and for specific event types, and wherein a particular context event and/or a particular specific event may include attribute values which override the default attribute values and wherein the analyzing step further comprises the step of applying the overrides to the default attribute values.
-
45. The method according to claim 41, wherein the attribute values include one or more of:
- (1) information on how to immediately contact the selected user;
(2) whether, and how often, the selected user checks electronic mail messages;
(3) whether the selected user is available for instant messaging;
(4) whether, and how often, the selected user checks voice mail messages; and
(5) an alternative contact person for the selected user.
- (1) information on how to immediately contact the selected user;
-
46. The method according to claim 42, wherein a level of detail provided in the automatic response varies, based on an identification of a sender of the incoming event.
-
47. The method according to claim 34, wherein:
-
the incoming event is a request for analyzing selected ones of the specific events for one or more of the users; and
the retrieving step further comprises the step of retrieving, for the one or more users, the stored information matching the selected ones.
-
-
48. The method according to claim 34, wherein:
-
the incoming event is a request for analyzing selected ones of the context events for one or more of the users; and
the retrieving step further comprises the step of retrieving, for the one or more users, the stored information matching the selected ones.
-
-
49. The method according to claim 40, wherein:
-
the incoming event is a request for analyzing selected ones of the attribute values for one or more of the users; and
the retrieving step further comprises the step of retrieving, for the one or more users, the stored information matching the selected ones.
-
Specification