P
US11276041B2ActiveUtilityPatentIndex 42

Scheduling using potential calendars

Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Nov 30, 2015Filed: Nov 30, 2015Granted: Mar 15, 2022
Est. expiryNov 30, 2035(~9.4 yrs left)· nominal 20-yr term from priority
Inventors:GARG VIVEKHoorn Christopher JayBERG ROBERT DAVIDKLEIN ERICA L
G06Q 10/1093G06Q 10/1095
42
PatentIndex Score
0
Cited by
13
References
20
Claims

Abstract

Scheduling one or more users via potential calendars is presented. In preparing a potential schedule request, one or more potential time slots in which the to-be scheduled event may be held are identified. The potential schedule is sent to the scheduled users and the potential time slots for the potential schedule event are added to the users' calendars. In response to clarifying information, one or more potential time slots of the potential schedule request may be removed from consideration for the potential schedule event. A selection is made regarding a potential time slot for the potential schedule event and the potential schedule event is promoted to the explicit calendars of the scheduled users to be held at the selected potential time slot. In promoting the potential schedule event to the explicit calendars, the potential event is removed from the potential calendars, including any remaining potential time slots.

Claims

exact text as granted — not AI-modified
What is claimed: 
     
       1. A computer-implemented method for providing a scheduling service for scheduling one or more users according to a schedule request from an originating user, the method comprising:
 providing a potential calendar for each user of a plurality of users, the plurality of users including at least the originating user and a receiving user, wherein each user is associated with a respective explicit calendar that is maintained at least in part by the user, and wherein each potential calendar is maintained by the scheduling service; 
 receiving a potential schedule request from the originating user for a potential schedule event with the receiving user, the potential schedule request comprising a plurality of potential time slots occurring over a time period in which the potential schedule event may be conducted between the originating user and the receiving user; 
 adding the potential schedule event to the potential calendar of both the originating user and the receiving user, wherein adding the potential schedule event to the potential calendar includes adding the plurality of potential time slots to the potential calendar; 
 while one of the plurality of potential time slots has not been selected for the potential schedule event, iteratively reducing the plurality of potential time slots to a single potential time slot by:
 determining an affected potential time slot of the potential schedule event, the affected potential time slot including one of the plurality of potential time slots included in the potential schedule event with a date and time occurring before a current date and time, and 
 automatically removing the affected potential time slot from the potential schedule event of the potential calendar of the originating user and the potential calendar of the receiving user; 
 
 automatically selecting the single potential time slot for the potential schedule event when the single potential time slot is the only potential time slot of the plurality of potential time slots that has not been removed; 
 automatically adding an actual schedule event based on the potential schedule event to the explicit calendar of the originating user and the explicit calendar of the receiving user at the single potential time slot, the explicit calendar of the originating user and the explicit calendar of the receiving user distinct from the potential calendar of the originating user and the potential calendar of the receiving user,
 wherein the explicit calendar of the originating user and the explicit calendar of the receiving user are automatically modified to place the actual schedule event into an actual time slot corresponding to the single potential time slot, 
 wherein the actual time slot in the explicit calendar of the originating user and the explicit calendar of the receiving user remain available prior to adding the actual schedule event, and 
 wherein responsive to placing the actual schedule event into the actual time slot, the actual time slot is removed from consideration for other potential schedule events; and 
 
 releasing the potential schedule event from the potential calendar of the originating user and the potential calendar of the receiving user. 
 
     
     
       2. The computer-implemented method of  claim 1 , wherein the affected potential time slot is determined based on obtained clarifying information regarding the potential schedule event, the clarifying information comprising data affecting or relevant to scheduling the potential schedule event. 
     
     
       3. The computer-implemented method of  claim 2 , wherein the clarifying information comprises newly added calendar information from the originating user or the receiving user. 
     
     
       4. The computer-implemented method of  claim 2 , wherein the clarifying information comprises newly removed calendar information from the originating user or the receiving user. 
     
     
       5. The computer-implemented method of  claim 2 , wherein the clarifying information comprises user preferences with regard to one or more potential time slots. 
     
     
       6. The computer-implemented method of  claim 5 , wherein the user preferences with regard to the one or more potential time slots is returned in response to a poll requesting user preferences. 
     
     
       7. The computer-implemented method of  claim 2 , wherein the clarifying information comprises a passage of time such that some potential time slots are no longer available or viable. 
     
     
       8. The computer-implemented method of  claim 1 , wherein the receiving user is a user that received the schedule request from the originating user. 
     
     
       9. A non-transitory computer-readable medium bearing computer-executable instructions which, when executed on a computing system comprising at least a processor, carry out a method of providing a scheduling service for scheduling users, the method comprising:
 providing a potential calendar for each user of a plurality of users, the plurality of users including at least an originating user and a receiving user, wherein each user is associated with a respective explicit calendar that is maintained at least in part by the user, and wherein each potential calendar is maintained by the scheduling service; 
 receiving a potential schedule request from the originating user for a potential schedule event with the receiving user, the potential schedule request comprising a plurality of potential time slots occurring over a time period in which the potential schedule event may be conducted between the originating user and the receiving user; 
 adding the potential schedule event to the potential calendar of both the originating user and the receiving user, wherein adding the potential schedule event to the potential calendar includes adding the plurality of potential time slots to the potential calendar; 
 while one of the plurality of potential time slots has not been selected for the potential schedule event, iteratively reducing the plurality of potential time slots to a single potential time slot by:
 determining an affected potential time slot of the potential schedule event, the affected potential time slot including one of the plurality of potential time slots included in the potential schedule event with a date and time occurring before a current date and time, and 
 automatically removing the affected potential time slot from the potential schedule event of the potential calendar of the originating user and the potential calendar of the receiving user; 
 
 automatically selecting the single potential time slot for the potential schedule event when the single potential time slot is the only potential time slot of the plurality of potential time slots that has not been removed; 
 automatically adding an actual schedule event based on the potential schedule event to the explicit calendar of the originating user and the explicit calendar of the receiving user at the single potential time slot, the explicit calendar of the originating user and the explicit calendar of the receiving user distinct from the potential calendar of the originating user and the potential calendar of the receiving user,
 wherein the explicit calendar of the originating user and the explicit calendar of the receiving user are automatically modified to place the actual schedule event into an actual time slot corresponding to the single potential time slot, 
 wherein the actual time slot in the explicit calendar of the originating user and the explicit calendar of the receiving user remain available prior to adding the actual schedule event, and 
 wherein responsive to placing the actual schedule event into the actual time slot, the actual time slot is discarded as a potential time slot for other potential schedule events; and 
 
 releasing the potential schedule event from the potential calendar of the originating user and the potential calendar of the receiving user. 
 
     
     
       10. The non-transitory computer-readable medium of  claim 9 , wherein the affected potential time slot is determined based on obtained clarifying information regarding the potential schedule event, the clarifying information comprising data affecting or relevant to scheduling the potential schedule event. 
     
     
       11. The non-transitory computer-readable medium of  claim 10 , wherein the clarifying information comprises any one or more of:
 newly added calendar information from the originating user or the receiving user; 
 newly removed calendar information from the originating user or the receiving user; and 
 user preferences with regard to one or more potential time slots. 
 
     
     
       12. The non-transitory computer-readable medium of  claim 10 , wherein the clarifying information comprises a passage of time such that some potential time slots are no longer available or viable. 
     
     
       13. A computer system that provides a scheduling service for scheduling an event, the computer system comprising:
 a processor, wherein the processor, through execution of instructions stored in a memory as part of or in conjunction with additional components to respond to a search query, is configured to: 
 manage calendar data for one or more computer users, including a potential calendar for each of the one or more computer users, receive a potential schedule request from an originating user in regard to a potential schedule event, the potential schedule request comprising a plurality of potential time slots occurring over a time period, and schedule the potential schedule event for the originating user and a receiving user; 
 while one of the plurality of potential time slots has not been selected for the potential schedule event, iteratively reduce the plurality of potential time slots to a single potential time slot by:
 identifying an affected potential time slot associated with the potential schedule event that is affected, the affected potential time slot including one of the plurality of potential time slots included in the potential schedule event with a date and time occurring before a current date and time, and 
 automatically removing the affected potential time slot from the potential schedule event of the potential calendar of the originating user and the potential calendar of the receiving user; 
 
 automatically select the single potential time slot for the potential schedule event when the single potential time slot is the only potential time slot of the plurality of potential time slots that has not been removed; 
 automatically add an actual schedule event based on the potential schedule event to an explicit calendar of the originating user and an explicit calendar of the receiving user at the single potential time slot, wherein the explicit calendar of the originating user and the explicit calendar of the receiving user are maintained at least in part by the originating user and the receiving user, respectively, and are distinct from the potential calendar of the originating user and the potential calendar of the receiving user which are maintained by the scheduling service,
 wherein the explicit calendar of the originating user and the explicit calendar of the receiving user are automatically modified to place the actual schedule event into an actual time slot corresponding to the single potential time slot, 
 wherein the actual time slot in the explicit calendar of the originating user and the explicit calendar of the receiving user remain available prior to adding the actual schedule event, and 
 wherein responsive to placing the actual schedule event into the actual time slot, the actual time slot is determined to be unavailable for other potential schedule events; and 
 
 release the potential schedule event from the potential calendar of the originating user and the potential calendar of the receiving user. 
 
     
     
       14. The computer system of  claim 13 , wherein the affected potential time slot is identified based on obtained clarifying information regarding the potential schedule event, the clarifying information comprising data affecting or relevant to scheduling the potential schedule event. 
     
     
       15. The computer system of  claim 14 , wherein the clarifying information comprises a passage of time such that some potential time slots are no longer available or viable. 
     
     
       16. The computer system of  claim 13 , wherein the processor is configured to repeatedly receive and process clarifying information regarding the potential schedule event prior to the selection of the selected single potential time slot. 
     
     
       17. The computer system of  claim 16 , wherein the clarifying information comprises newly added calendar information from the originating user or the receiving user. 
     
     
       18. The computer system of  claim 16 , wherein the clarifying information comprises newly removed calendar information from the originating user or the receiving user. 
     
     
       19. The computer system of  claim 16 , wherein the clarifying information comprises user preferences with regard to one or more potential time slots. 
     
     
       20. The computer system of  claim 19 , wherein the user preferences with regard to the one or more potential time slots is returned in response to a poll requesting user preferences.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.