IP Library Granted Patent US 11,443,285
Granted Patent B2
US 11,443,285 · App. 16/744,444 · Granted Sep 13, 2022

Artificial intelligence enabled scheduler and planner

Inventor: Quaid Johar Nasir (San Jose, CA)
Assignee: International Business Machines Corporation
G06Q10/1095G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,443,285
App. No.
16/744,444
Granted
Sep 13, 2022
Kind
B2
Abstract

Aspects of the present invention disclose a method for resolving schedule planning conflicts without human arbitration based on user preferences, user role importance, and user time commitments. The method includes one or more processors generating a schedule of a project. The method further includes identifying a meeting request of the schedule of the project, wherein the meeting request includes a plurality of requested meeting participants. The method further includes identifying respective available time slots of the plurality of requested meeting participants. The method further includes identifying respective roles of the plurality of requested meeting participants. The method further includes determining a first time slot for scheduling the meeting request of the project based at least in part on the available time slots and roles of the plurality of requested meeting participants.

Claims (88)

1. A method comprising:

training, by one or more processors, a machine learning knowledge base using a database of past projects, wherein the past projects are fed through a feedback loop to identify features within the past projects;

generating, by one or more processors, a schedule of a project based on the machine learning knowledge base matching features of the project to similar features of the past projects, wherein the schedule comprises meeting requests;

identifying, by one or more processors, a first meeting request comprising a characterization of a time block and a plurality of requested meeting participants;

identifying, by one or more processors, respective available time slots of the plurality of requested meeting participants;

identifying, by one or more processors, respective roles of the plurality of requested meeting participants associated with the characterization of the time block; and

determining, by one or more processors, a first time slot for scheduling the meeting request of the project based at least in part on the available time slots and roles of the plurality of requested meeting participants; and

training, by one or more processors, the machine learning knowledge base by inserting features from the first time slot into the feedback loop to identify additional features within the past projects.

2. The method of claim 1 , further comprising:

in response to determining that a time slot is not compliant with constraints of a first participant of the plurality of requested meeting participants and the schedule of the project, inputting, by one or more processors, the constraints of the first participant and the schedule of the project into a machine learning algorithm;

determining, by one or more processors, preferences of the first participant; and

determining, by one or more processors, a second time slot for scheduling a meeting corresponding to the meeting request.

3. The method of claim 2 , further comprising:

identifying, by one or more processors, the role of the first participant, wherein the first participant is a host of the meeting of the meeting request; and

excluding, by one or more processors, one or more time slots of the identified respective available time slots, wherein the one or more time slots conflict with the preferences of the first participant.

4. The method of claim 1 , further comprising:

generating, by one or more processors, a notification that includes a proposed rescheduling notice; and

transmitting, by one or more processors, the notification to one or more participants of the plurality of requested meeting participants.

5. The method of claim 1 , wherein identifying the respective available time slots of the plurality of requested meeting participants, further comprises:

retrieving, by one or more processors, calendar data corresponding to a first participant;

identifying, by one or more processors, one or more available time slots of the calendar data, wherein the one or more available time slots is selected from a group consisting of: hard time slots and soft time slots, wherein the hard time slots and soft time slots are characterized by an assigned weighted score that is based at least in part on a role of the first participant; and

assigning, by one or more processors, a weighted score to the one or more available time slots based on events of the one or more available time slots.

6. The method of claim 1 , wherein identifying the respective roles of the plurality of requested meeting participants, further comprises:

retrieving, by one or more processors, data corresponding to a role of a first participant of the meeting;

determining, by one or more processors, a flexibility of a schedule corresponding to the role of the first participant of the meeting; and

assigning, by one or more processors, a weighted score to the role of the first participant of the meeting based on the flexibility of the schedule associated with the role of the first participant of the meeting.

7. The method of claim 6 , wherein determining the first time slot for scheduling the meeting request of the project based at least in part on the available time slots and roles of the plurality of requested meeting participants, further comprises:

generating, by one or more processors, a composite score for each of time slot of one or more time slots, wherein a weighted score of a role of one or more participants and a weighted score of one or more available time slots of the calendar data of the one or more participants is combined; and

identifying, by one or more processors, each composite score that is above a defined threshold value, wherein each composite score corresponds to one available time slot.

8. A computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:

program instructions to train a machine learning knowledge base using a database of past projects, wherein the past projects are fed through a feedback loop to identify features within the past projects;

program instructions to generate a schedule of a project based on the machine learning knowledge base matching features of the project to similar features of the past projects wherein the schedule comprises meeting requests;

program instructions to identify a first meeting request comprising a characterization of a time block and a plurality of requested meeting participants;

program instructions to identify respective available time slots of the plurality of requested meeting participants;

program instructions to identify respective roles of the plurality of requested meeting participants associated with the characterization of the time block;

program instructions to determine a first time slot for scheduling the meeting request of the project based at least in part on the available time slots and roles of the plurality of requested meeting participants; and

program instructions to train the machine learning knowledge base by inserting features from the first time slot into the feedback loop to identify additional features within the past projects.

9. The computer program product of claim 8 , further comprising program instructions, stored on the one or more computer readable storage media, to:

in response to determining that a time slot is not compliant with constraints of a first participant of the plurality of requested meeting participants and the schedule of the project, input the constraints of the first participant and the schedule of the project into a machine learning algorithm;

determine preferences of the first participant; and

determine a second time slot for scheduling a meeting corresponding to the meeting request.

10. The computer program product of claim 9 , further comprising program instructions, stored on the one or more computer readable storage media, to:

identify the role of the first participant, wherein the first participant is a host of the meeting of the meeting request; and

exclude one or more time slots of the identified respective available time slots, wherein the one or more time slots conflict with the preferences of the first participant.

11. The computer program product of claim 8 , further comprising program instructions, stored on the one or more computer readable storage media, to:

generate a notification that includes a proposed rescheduling notice; and

transmit the notification to one or more participants of the plurality of requested meeting participants.

12. The computer program product of claim 8 , wherein program instructions to identify the respective available time slots of the plurality of requested meeting participants, further comprise program instructions to:

retrieve calendar data corresponding to a first participant;

identify one or more available time slots of the calendar data, wherein the one or more available time slots is selected from a group consisting of: hard time slots and soft time slots, wherein the hard time slots and soft time slots are characterized by an assigned weighted score that is based at least in part on a role of the first participant; and

assign a weighted score to the one or more available time slots based on events of the one or more available time slots.

13. The computer program product of claim 8 , wherein program instructions to identify the respective roles of the plurality of requested meeting participants, further comprise program instructions to:

retrieve data corresponding to a role of a first participant of the meeting;

determine a flexibility of a schedule corresponding to the role of the first participant of the meeting; and

assign a weighted score to the role of the first participant of the meeting based on the flexibility of the schedule associated with the role of the first participant of the meeting.

14. The computer program product of claim 13 , wherein program instructions to determine the first time slot for scheduling the meeting request of the project based at least in part on the available time slots and roles of the plurality of requested meeting participants, further comprise program instructions to:

generate a composite score for each of time slot of one or more time slots, wherein a weighted score of a role of one or more participants and a weighted score of one or more available time slots of the calendar data of the one or more participants is combined; and

identify each composite score that is above a defined threshold value, wherein each composite score corresponds to one available time slot.

15. A computer system comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to train a machine learning knowledge base using a database of past projects, wherein the past projects are fed through a feedback loop to identify features within the past projects;

program instructions to generate a schedule of a project based on the machine learning knowledge base matching features of the project to similar features of the past projects, wherein the schedule comprises meeting requests;

program instructions to identify a first meeting request comprising a characterization of a time block and a plurality of requested meeting participants;

program instructions to identify respective available time slots of the plurality of requested meeting participants;

program instructions to identify respective roles of the plurality of requested meeting participants associated with the characterization of the time block;

program instructions to determine a first time slot for scheduling the meeting request of the project based at least in part on the available time slots and roles of the plurality of requested meeting participants; and

program instructions to train the machine learning knowledge base by inserting features from the first time slot into the feedback loop to identify additional features within the past projects.

16. The computer system of claim 15 , further comprising program instructions, stored on the one or more computer readable storage media for execution by at least one of the one or more processors, to:

in response to determining that a time slot is not compliant with constraints of a first participant of the plurality of requested meeting participants and the schedule of the project, input the constraints of the first participant and the schedule of the project into a machine learning algorithm;

determine preferences of the first participant; and

determine a second time slot for scheduling a meeting corresponding to the meeting request.

17. The computer system of claim 16 , further comprising program instructions, stored on the one or more computer readable storage media for execution by at least one of the one or more processors, to:

identify the role of the first participant, wherein the first participant is a host of the meeting of the meeting request; and

exclude one or more time slots of the identified respective available time slots, wherein the one or more time slots conflict with the preferences of the first participant.

18. The computer system of claim 15 , further comprising program instructions, stored on the one or more computer readable storage media for execution by at least one of the one or more processors, to:

generate a notification that includes a proposed rescheduling notice; and

transmit the notification to one or more participants of the plurality of requested meeting participants.

19. The computer system of claim 15 , wherein program instructions to identify the respective available time slots of the plurality of requested meeting participants, further comprise program instructions to:

retrieve calendar data corresponding to a first participant;

identify one or more available time slots of the calendar data, wherein the one or more available time slots is selected from a group consisting of: hard time slots and soft time slots, wherein the hard time slots and soft time slots are characterized by an assigned weighted score that is based at least in part on a role of the first participant; and

assign a weighted score to the one or more available time slots based on events of the one or more available time slots.

20. The computer system of claim 15 , wherein program instructions to identify the respective roles of the plurality of requested meeting participants, further comprise program instructions to:

retrieve data corresponding to a role of a first participant of the meeting;

determine a flexibility of a schedule corresponding to the role of the first participant of the meeting; and

assign a weighted score to the role of the first participant of the meeting based on the flexibility of the schedule associated with the role of the first participant of the meeting.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2026
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DROPBOX, INC.
Reel/Frame 075558/0878 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2020
From: NASIR, QUAID JOHAR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051533/0129 →
Continuity (1)
Related Publication 20210224753A1 · Jul 22, 2021