Dynamic event scheduling
First Claim
1. A computer-implemented method performed by at least one processor, the method comprising:
- receiving, by the at least one processor, event information describing events, a specified event order in which the events are to be performed, and a respective duration of each of the events;
receiving, by the at least one processor, availability information indicating available time periods for scheduling the events;
generating, by the at least one processor, a calendar by scheduling each of the events in at least one respective available time period, in the order and according to the respective duration of each of the events, wherein the calendar is generated based on a set of rules that govern the scheduling of the events, wherein generating the calendar according to the respective duration of each of the events comprises;
determining that a duration of at least one of the events exceeds a threshold duration, andin response to a determination that the duration of the at least one event exceeds the threshold duration, automatically splitting the at least one event across multiple available time periods such that the schedule of the events completes in the shortest amount time relative to the time when the first event occurs;
providing, by the at least one processor, the calendar for presentation through a user interface (UI);
receiving, by the at least one processor, an indication of a change in at least one of the scheduled events in the calendar;
automatically regenerating, by the at least one processor, the calendar according to the change by rescheduling at least one of the events to avoid down time that is unused due to the change while preserving the specified event order, wherein the calendar is regenerated based on the respective duration of each of the events and the set of rules; and
providing, by the at least one processor, the regenerated calendar for presentation through the UI.
2 Assignments
0 Petitions
Accused Products
Abstract
Implementations provide a calendar application for dynamic scheduling and adjustment of events, such as sequential training events. The calendar application is used to specify events that are to occur within a schedule of events, an order in which the events are to occur, and a duration for each event. The calendar application is also used to specify available time periods in which the events may be scheduled. Based on the specified events and available time periods, the events are scheduled into available time periods to generate a calendar, a schedule of the events that preserves the specified order of events. On detecting a change in the inputs, such as a change in the specified events and/or available time periods, the calendar may be automatically updated (in real time with respect to the change) to accommodate the change, while preserving the order and duration of events.
78 Citations
17 Claims
-
1. A computer-implemented method performed by at least one processor, the method comprising:
-
receiving, by the at least one processor, event information describing events, a specified event order in which the events are to be performed, and a respective duration of each of the events; receiving, by the at least one processor, availability information indicating available time periods for scheduling the events; generating, by the at least one processor, a calendar by scheduling each of the events in at least one respective available time period, in the order and according to the respective duration of each of the events, wherein the calendar is generated based on a set of rules that govern the scheduling of the events, wherein generating the calendar according to the respective duration of each of the events comprises; determining that a duration of at least one of the events exceeds a threshold duration, and in response to a determination that the duration of the at least one event exceeds the threshold duration, automatically splitting the at least one event across multiple available time periods such that the schedule of the events completes in the shortest amount time relative to the time when the first event occurs; providing, by the at least one processor, the calendar for presentation through a user interface (UI); receiving, by the at least one processor, an indication of a change in at least one of the scheduled events in the calendar; automatically regenerating, by the at least one processor, the calendar according to the change by rescheduling at least one of the events to avoid down time that is unused due to the change while preserving the specified event order, wherein the calendar is regenerated based on the respective duration of each of the events and the set of rules; and providing, by the at least one processor, the regenerated calendar for presentation through the UI. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
at least one processor; and a memory communicatively coupled to the processor, the memory storing instructions which, when executed by the at least one processor, instruct the at least one processor to perform operations comprising; receiving event information describing events, an order in which the events are to be performed, and a respective duration of each of the events; receiving availability information indicating available time periods for scheduling the events; generating a calendar by scheduling each of the events in at least one respective available time period, in the order and according to the respective duration of each of the events, wherein the calendar is generated based on a set of rules that govern the scheduling of the events, wherein generating the calendar according to the respective duration of each of the events comprises; determining that a duration of at least one of the events exceeds a threshold duration, and in response to a determination that the duration of the at least one event exceeds the threshold duration, automatically splitting the at least one event across multiple available time periods such that the schedule of the events completes in the shortest amount time relative to the time when the first event occurs; providing the calendar for presentation through a user interface (UI); receiving an indication of a change in at least one of the scheduled events in the calendar; automatically regenerating, by the at least one processor, the calendar according to the change by rescheduling at least one of the events to avoid down time that is unused due to the change while preserving the specified event order, wherein the calendar is regenerated based on the respective duration of each of the events and the set of rules; and providing the regenerated calendar for presentation through the UI. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more computer-readable storage media storing instructions which, when executed, cause at least one processor to perform operations comprising:
-
receiving event information describing events, an order in which the events are to be performed, and a respective duration of each of the events; receiving availability information indicating available time periods for scheduling the events; generating a calendar by scheduling each of the events in at least one respective available time period, in the order and according to the respective duration of each of the events, wherein the calendar is generated based on a set of rules that govern the scheduling of the events, wherein generating the calendar according to the respective duration of each of the events comprises; determining that a duration of at least one of the events exceeds a threshold duration, and in response to a determination that the duration of the at least one event exceeds the threshold duration, automatically splitting the at least one event across multiple available time periods such that the schedule of the events completes in the shortest amount time relative to the time when the first event occurs; providing the calendar for presentation through a user interface (UI); receiving an indication of a change in at least one of the scheduled events in the calendar; automatically regenerating, by the at least one processor, the calendar according to the change by rescheduling at least one of the events to avoid down time that is unused due to the change while preserving the specified event order, wherein the calendar is regenerated based on the respective duration of each of the events and the set of rules; and providing the regenerated calendar for presentation through the UI. - View Dependent Claims (14, 15, 16, 17)
-
Specification