US11868969B2ActiveUtilityA1

Assisting user in managing a calendar application

63
Assignee: IBMPriority: Dec 9, 2016Filed: Dec 20, 2020Granted: Jan 9, 2024
Est. expiryDec 9, 2036(~10.4 yrs left)· nominal 20-yr term from priority
G06Q 10/1093G06Q 10/063116G06Q 10/1095G06F 16/248G06F 16/9535G06F 40/00H04M 1/72451
63
PatentIndex Score
0
Cited by
95
References
20
Claims

Abstract

A method, system and computer program product for managing a calendar application. A need to optimize a calendar is identified. Furthermore, a period of time to optimize the calendar is received or identified. All the scheduled events (e.g., scheduled meetings) in the calendar are then selected during that period of time. The attendees, topics and flags, if any, for each of the selected scheduled events during the period of time are extracted. Prior collaborations with the user involving the extracted attendees and/or topics of the selected scheduled events are identified. Collaboration data (e.g., participants/senders/attendees, topics) is then extracted from the identified prior collaborations. A list of actions (e.g., delegate scheduled event to another user) is generated to be performed on a selected scheduled event based on the extracted collaboration data. The generated list of actions to be performed on the selected scheduled event is then presented to the user.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A computer-implemented method for managing a calendar application, the method comprising:
 identifying a need to optimize a calendar by a calendar client agent of a computing device by obtaining calendar information from a user's calendar application via an application programming interface of the user's calendar application, wherein the need to optimize the calendar is identified from the obtained calendar information based on detecting a number of scheduled events exceeding a threshold number over a period of time, detecting an overlap of scheduled events over a period of time, detecting a vacation, or detecting a duplicate scheduled event; 
 receiving or identifying a period of time to optimize the calendar, wherein the period of time is determined based on a period of time the calendar client agent determined that a need existed to optimize the calendar; 
 selecting all scheduled events in the calendar during the period of time to optimize the calendar; 
 extracting attendees, topics and flags for each selected scheduled event during the period of time, wherein the attendees for each selected scheduled event are extracted from the calendar information obtained from the user's calendar application via the application programming interface of the user's calendar application, wherein the topics are extracted for each selected scheduled event using natural language processing utilized by the calendar client agent, wherein the flags are extracted for each selected scheduled event from the calendar information obtained from the user's calendar application via the application programming interface of the user's calendar application, wherein action is taken by the client calendar agent in response to identifying particular flags that indicate special user action; 
 identifying prior collaborations with a user of the calendar involving the extracted attendees and topics of the selected scheduled events; 
 extracting collaboration data from the identified prior collaborations, wherein the collaboration data comprises data concerning an interaction between the user and others involving an activity; 
 generating a list of actions to be performed on a scheduled event of the selected scheduled events based on the extracted collaboration data; 
 presenting the generated list of actions to the user of the calendar to be performed on the scheduled event to the user; 
 determining whether the user selected an action from the list of actions; and 
 performing an action on the scheduled event in response to the user selecting the action from the list of actions thereby improving a functionality of calendaring systems by allowing the user to better manage the user's scheduled events in the user's calendar. 
 
     
     
       2. The method as recited in  claim 1 , wherein the prior collaborations involving the extracted attendees and topics of the selected scheduled events comprise social media posts, e-mail messages, instant messages and previously scheduled calendar events. 
     
     
       3. The method as recited in  claim 2 , wherein the period of time is determined based on a period of time the calendar client agent determined that a need existed to optimize the calendar, wherein the calendar client agent utilizes natural language processing to identify topics of interest in the previously scheduled calendar events. 
     
     
       4. The method as recited in  claim 1 , wherein the list of actions comprises delegating the scheduled event to a second user who engaged in a prior collaboration with the user of the calendar involving a topic of the scheduled event within a threshold degree of similarity as a topic of the scheduled event. 
     
     
       5. The method as recited in  claim 1  further comprising:
 recommending to delegate a scheduled meeting to a second user; 
 providing an option to the user of accepting or declining the delegation of the scheduled meeting to the second user via an accept button or a decline button, respectively; 
 receiving from the user an indication to delegate the scheduled event to the second user via a selection of the accept button; and 
 forwarding an invitation to the second user to delegate the scheduled event. 
 
     
     
       6. The method as recited in  claim 1 , wherein the list of actions comprises one or more of the following: cancelling the scheduled event, declining the scheduled event, delegating the scheduled meeting to a team, reducing a number of attendees of the scheduled event, increasing a number of attendees of the scheduled event, and reassigning chairmanship of the scheduled event. 
     
     
       7. The method as recited in  claim 1 , wherein the flags indicate restrictions in forwarding or delegating a scheduled event or indicate restrictions in processing calendar requests. 
     
     
       8. A computer program product for managing a calendar application, the computer program product comprising one or more computer readable storage mediums having program code embodied therewith, the program code comprising programming instructions for:
 identifying a need to optimize a calendar by a calendar client agent of a computing device by obtaining calendar information from a user's calendar application via an application programming interface of the user's calendar application, wherein the need to optimize the calendar is identified from the obtained calendar information based on detecting a number of scheduled events exceeding a threshold number over a period of time, detecting an overlap of scheduled events over a period of time, detecting a vacation, or detecting a duplicate scheduled event; 
 receiving or identifying a period of time to optimize the calendar, wherein the period of time is determined based on a period of time the calendar client agent determined that a need existed to optimize the calendar; 
 selecting all scheduled events in the calendar during the period of time to optimize the calendar; 
 extracting attendees, topics and flags for each selected scheduled event during the period of time, wherein the attendees for each selected scheduled event are extracted from the calendar information obtained from the user's calendar application via the application programming interface of the user's calendar application, wherein the topics are extracted for each selected scheduled event using natural language processing utilized by the calendar client agent, wherein the flags are extracted for each selected scheduled event from the calendar information obtained from the user's calendar application via the application programming interface of the user's calendar application, wherein action is taken by the client calendar agent in response to identifying particular flags that indicate special user action; 
 identifying prior collaborations with a user of the calendar involving the extracted attendees and topics of the selected scheduled events; 
 extracting collaboration data from the identified prior collaborations, wherein the collaboration data comprises data concerning an interaction between the user and others involving an activity; 
 generating a list of actions to be performed on a scheduled event of the selected scheduled events based on the extracted collaboration data; 
 presenting the generated list of actions to the user of the calendar to be performed on the scheduled event to the user; 
 determining whether the user selected an action from the list of actions; and 
 performing an action on the scheduled event in response to the user selecting the action from the list of actions thereby improving a functionality of calendaring systems by allowing the user to better manage the user's scheduled events in the user's calendar. 
 
     
     
       9. The computer program product as recited in  claim 8 , wherein the prior collaborations involving the extracted attendees and topics of the selected scheduled events comprise social media posts, e-mail messages, instant messages and previously scheduled calendar events. 
     
     
       10. The computer program product as recited in  claim 9 , wherein the period of time is determined based on a period of time the calendar client agent determined that a need existed to optimize the calendar, wherein the calendar client agent utilizes natural language processing to identify topics of interest in the previously scheduled calendar events. 
     
     
       11. The computer program product as recited in  claim 8 , wherein the list of actions comprises delegating the scheduled event to a second user who engaged in a prior collaboration with the user of the calendar involving a topic of the scheduled event within a threshold degree of similarity as a topic of the scheduled event. 
     
     
       12. The computer program product as recited in  claim 8 , wherein the program code further comprises the programming instructions for:
 recommending to delegate a scheduled meeting to a second user; 
 providing an option to the user of accepting or declining the delegation of the scheduled meeting to the second user via an accept button or a decline button, respectively; 
 receiving from the user an indication to delegate the scheduled event to the second user via a selection of the accept button; and 
 forwarding an invitation to the second user to delegate the scheduled event. 
 
     
     
       13. The computer program product as recited in  claim 8 , wherein the list of actions comprises one or more of the following: cancelling the scheduled event, declining the scheduled event, delegating the scheduled meeting to a team, reducing a number of attendees of the scheduled event, increasing a number of attendees of the scheduled event, and reassigning chairmanship of the scheduled event. 
     
     
       14. The computer program product as recited in  claim 8 , wherein the flags indicate restrictions in forwarding or delegating a scheduled event or indicate restrictions in processing calendar requests. 
     
     
       15. A system, comprising:
 a memory for storing a computer program for managing a calendar application; and 
 a processor connected to the memory, wherein the processor is configured to execute program instructions of the computer program comprising:
 identifying a need to optimize a calendar by a calendar client agent of the system by obtaining calendar information from a user's calendar application via an application programming interface of the user's calendar application, wherein the need to optimize the calendar is identified from the obtained calendar information based on detecting a number of scheduled events exceeding a threshold number over a period of time, detecting an overlap of scheduled events over a period of time, detecting a vacation, or detecting a duplicate scheduled event; 
 receiving or identifying a period of time to optimize the calendar, wherein the period of time is determined based on a period of time the calendar client agent determined that a need existed to optimize the calendar; 
 selecting all scheduled events in the calendar during the period of time to optimize the calendar; 
 extracting attendees, topics and flags for each selected scheduled event during the period of time, wherein the attendees for each selected scheduled event are extracted from the calendar information obtained from the user's calendar application via the application programming interface of the user's calendar application, wherein the topics are extracted for each selected scheduled event using natural language processing utilized by the calendar client agent, wherein the flags are extracted for each selected scheduled event from the calendar information obtained from the user's calendar application via the application programming interface of the user's calendar application, wherein action is taken by the client calendar agent in response to identifying particular flags that indicate special user action; 
 identifying prior collaborations with a user of the calendar involving the extracted attendees and topics of the selected scheduled events; 
 extracting collaboration data from the identified prior collaborations, wherein the collaboration data comprises data concerning an interaction between the user and others involving an activity; 
 generating a list of actions to be performed on a scheduled event of the selected scheduled events based on the extracted collaboration data; 
 presenting the generated list of actions to the user of the calendar to be performed on the scheduled event to the user; 
 determining whether the user selected an action from the list of actions; and 
 performing an action on the scheduled event in response to the user selecting the action from the list of actions thereby improving a functionality of calendaring systems by allowing the user to better manage the user's scheduled events in the user's calendar. 
 
 
     
     
       16. The system as recited in  claim 15 , wherein the prior collaborations involving the extracted attendees and topics of the selected scheduled events comprise social media posts, e-mail messages, instant messages and previously scheduled calendar events. 
     
     
       17. The system as recited in  claim 16 , wherein the period of time is determined based on a period of time the calendar client agent determined that a need existed to optimize the calendar, wherein the calendar client agent utilizes natural language processing to identify topics of interest in the previously scheduled calendar events. 
     
     
       18. The system as recited in  claim 15 , wherein the list of actions comprises delegating the scheduled event to a second user who engaged in a prior collaboration with the user of the calendar involving a topic of the scheduled event within a threshold degree of similarity as a topic of the scheduled event. 
     
     
       19. The system as recited in  claim 15 , wherein the program instructions of the computer program further comprise:
 recommending to delegate a scheduled meeting to a second user; 
 providing an option to the user of accepting or declining the delegation of the scheduled meeting to the second user via an accept button or a decline button, respectively; 
 receiving from the user an indication to delegate the scheduled event to the second user via a selection of the accept button; and 
 forwarding an invitation to the second user to delegate the scheduled event. 
 
     
     
       20. The system as recited in  claim 15 , wherein the list of actions comprises one or more of the following: cancelling the scheduled event, declining the scheduled event, delegating the scheduled meeting to a team, reducing a number of attendees of the scheduled event, increasing a number of attendees of the scheduled event, and reassigning chairmanship of the scheduled event.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.