METHOD FOR AUTOMATICALLY DEVELOPING SUGGESTED OPTIMAL WORK SCHEDULES FROM UNSORTED GROUP AND INDIVIDUAL TASK LISTS
First Claim
Patent Images
1. A computer implemented method for optimizing scheduling of tasks, comprising the steps of:
- a) receiving from a user a set of tasks, a deadline for each task in the set of tasks and an approximation of the time to perform each task in the set of tasks;
b) determining a slack time for each task, the slack time for a task being the time from the current time to the deadline for the task, minus the approximation of the time to perform the task;
c) ordering the set of tasks in an ordered list from those having the least slack time to those having the most slack time;
d) generating a plurality of time bins representing a user'"'"'s available time going forward;
e) generating a schedule for performing the set of tasks by fitting the tasks from the ordered list generated in the step c) into the time bins generated in the step d), beginning with the first task on the ordered list and proceeding successively through the ordered list until each task is fit within a time bin, with each task being fit within the first time bin, or unused portion thereof, large enough to accommodate the task based on the approximate length of the time to perform the task;
f) designating a portion of the time bin into which a task is fit as unavailable to receive additional tasks; and
g) displaying the schedule of tasks generated in the step e).
1 Assignment
0 Petitions
Accused Products
Abstract
A method for optimizing individual and/or group task scheduling and time management is disclosed. A scheduling application may receive a list of tasks from a user, and apply a scheduling algorithm to organize the tasks into an ordered list. Once an ordered list of tasks has been created, the scheduling application may then fit the tasks from the task list into generated time bins.
-
Citations
14 Claims
-
1. A computer implemented method for optimizing scheduling of tasks, comprising the steps of:
-
a) receiving from a user a set of tasks, a deadline for each task in the set of tasks and an approximation of the time to perform each task in the set of tasks; b) determining a slack time for each task, the slack time for a task being the time from the current time to the deadline for the task, minus the approximation of the time to perform the task; c) ordering the set of tasks in an ordered list from those having the least slack time to those having the most slack time; d) generating a plurality of time bins representing a user'"'"'s available time going forward; e) generating a schedule for performing the set of tasks by fitting the tasks from the ordered list generated in the step c) into the time bins generated in the step d), beginning with the first task on the ordered list and proceeding successively through the ordered list until each task is fit within a time bin, with each task being fit within the first time bin, or unused portion thereof, large enough to accommodate the task based on the approximate length of the time to perform the task; f) designating a portion of the time bin into which a task is fit as unavailable to receive additional tasks; and g) displaying the schedule of tasks generated in the step e). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer implemented method for optimizing scheduling of tasks between a group of users sharing responsibility for accomplishing the tasks, the method comprising the steps of:
-
a) receiving from one or more group users a set of tasks, a deadline for each task in the set of tasks and an approximation of the time to perform each task in the set of tasks; b) determining a slack time for each task, the slack time for a task being the time from the current time to the deadline for the task, minus the approximation of the time to perform the task; c) ordering the set of tasks in an ordered list from those having the least slack time to those having the most slack time; d) generating a plurality of time bins, representing a user'"'"'s available time going forward, for each user in the group; e) generating a group schedule by assigning each task in the set of tasks successively from the ordered list to users in the group, a task being assigned to the group user who has the first time bin, or unused portion thereof, large enough to accommodate the task based on the approximate of the time to perform the task and based on the respective schedules of the group users; f) designating a portion of the time bin on the group user'"'"'s schedule into which a task is fit as unavailable to receive additional tasks; and g) displaying the group schedule of tasks generated in the step e) to the group. - View Dependent Claims (10, 11)
-
-
12. A computer implemented method for optimizing scheduling of tasks between a group of users sharing responsibility for accomplishing the tasks, the method comprising the steps of:
-
a) receiving from one or more group users a set of tasks, a deadline for each task in the set of tasks and an approximation of the time to perform each task in the set of tasks; b) determining a slack time for each task, the slack time for a task being the time from the current time to the deadline for the task, minus the approximation of the time to perform the task; c) ordering the set of tasks in an ordered list from those having the least slack time to those having the most slack time; d) generating a plurality of time bins, representing a user'"'"'s available time going forward, for each user in the group; e) generating a group schedule by the steps of; i) assigning a weight to each task, ii) incrementing a load of a user when they receive a task, the user'"'"'s load being incremented based on the weight of the task, and iii) assigning each task in the set of tasks successively from the ordered list to users in the group, a task being assigned to the group user who'"'"'s load does not exceed a threshold relative to other group users and who has the first time bin, or unused portion thereof, large enough to accommodate the task based on the approximate of the time to perform the task and based on the respective schedules of the group users; f) designating a time bin on the group user'"'"'s schedule into which a task is fit as unavailable to receive additional tasks; g) displaying the group schedule of tasks generated in the step e) to the group; and h) automatically updating the schedule generated in the step e) at least once a day based on fixed appointments or tasks added or deleted by one or more group users. - View Dependent Claims (13, 14)
-
Specification