Scheduler
First Claim
1. A method for scheduling activities comprising the steps of:
- receiving an activity having a designated priority, a life span, a preferred implementation time, and a scheduling time budget;
searching the schedule to. determine the availability of the preferred implementation time and amount of available execution time;
inserting the activity at the preferred implementation time if the time is available and life span is less than or equal to available execution time;
a method for modifying the schedule in response to the implementation time being unavailable or the life span being greater than the available execution time, the method preserving scheduled activities with equal or higher priority; and
exiting the method when elapsed scheduling time exceeds the scheduling time budget.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided is a method for scheduling activities. The method includes receiving an activity having a designated priority, a life span, a preferred implementation time, and a scheduling time budget. The schedule is searched to determine the availability of the preferred implementation time and amount of available execution time. The activity is inserted in the schedule if the preferred implementation time if the time is available and life span is less than or equal to available execution time. If the implementation time is unavailable or the life span is greater than the available execution time, the schedule is modified. Modification of the schedule preserves scheduled activities with equal or higher priority. The method will exit when the activity is scheduled or the elapsed scheduling time exceeds the scheduling time budget.
-
Citations
37 Claims
-
1. A method for scheduling activities comprising the steps of:
-
receiving an activity having a designated priority, a life span, a preferred implementation time, and a scheduling time budget;
searching the schedule to. determine the availability of the preferred implementation time and amount of available execution time;
inserting the activity at the preferred implementation time if the time is available and life span is less than or equal to available execution time;
a method for modifying the schedule in response to the implementation time being unavailable or the life span being greater than the available execution time, the method preserving scheduled activities with equal or higher priority; and
exiting the method when elapsed scheduling time exceeds the scheduling time budget. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for scheduling activities comprising the steps of:
-
receiving an activity having a designated priority, a life span, a preferred implementation time, and a scheduling time budget;
searching the schedule to determine the availability of the preferred implementation time and the quantity of available execution time;
inserting the activity at the preferred implementation time if the time is available and the life span is less than or equal to the available execution time;
initiating, in response to the implantation time being unavailable or the life span being greater than the available execution time, a schedule modification, the schedule modification including;
randomly selecting an alternative implementation time;
querying the alternative time to determine quantity of available execution time and the presence of a blocking activity;
requesting, in response to the determination of a blocking activity, the blocking activity to move to a different implementation time in the schedule and increase available execution time;
comparing the available execution time to the life span of the activity;
inserting the activity at the randomly selected alternative implementation time when the life span is less than or equal to the available execution time; and
repeating the random selection of an alternative implementation time when the available time is less than the life span until the activity is inserted or elapsed scheduling time exceeds the scheduling time budget. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable medium on which is stored a computer program for adding activities to a schedule, the computer program comprising instructions which, when executed by a computer, perform the steps of:
-
receiving an activity having a designated priority, a life span, a preferred implementation time, and a scheduling time budget;
searching the schedule to determine the availability of the preferred implementation time and the quantity of available execution time;
inserting the activity at the preferred implementation time if the time is available and the life span is less than or equal to the available execution time;
initiating, in response to the implantation time being unavailable or the life span being greater than the available execution time, a schedule modification, the schedule modification including;
randomly selecting an alternative implementation time;
querying the alternative time to determine quantity of available execution time and the presence of a blocking activity;
requesting, in response to the determination of a blocking activity, the blocking activity to move to a different implementation time in the schedule and increase available execution time;
comparing the available execution time to the life span of the activity;
inserting the activity at the randomly selected alternative implementation time when the life span is less than or equal to the available execution time; and
repeating the random selection of an alternative implementation time when the available time is less than the life span until the activity is inserted or elapsed scheduling time exceeds the scheduling time budget. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer system for scheduling activities comprising:
-
a processing unit;
a memory storage device coupled to the processing unit;
an input device coupled to the processing unit;
an output device coupled to the processing unit;
the processing unit being operative to;
receiving an activity having a designated priority, a life span, a preferred implementation time, and a scheduling time budget;
searching the schedule to determine the availability of the preferred implementation time and the quantity of available execution time;
inserting the activity at the preferred implementation time if the time is available and the life span is less than or equal to the available execution time;
initiating, in response to the implantation time being unavailable or the life span being greater than the available execution time, a schedule modification, the schedule modification including;
randomly selecting an alternative implementation time;
querying the alternative time to determine quantity of available execution time and the presence of a blocking activity;
requesting, in response to the determination of a blocking activity, the blocking activity to move to a different implementation time in the schedule and increase available execution time;
comparing the available execution time to the life span of the activity;
inserting the activity at the randomly selected alternative implementation time when the life span is less than or equal to the available execution time; and
repeating the random selection of an alternative implementation time when the available time is less than the life span until the activity is inserted or elapsed scheduling time exceeds the scheduling time budget. - View Dependent Claims (28, 29, 30, 31)
-
-
32. A computer-readable medium on which is stored a computer program for adding activities to a schedule, the computer program comprising:
-
an input routine operatively associated with an input device for permitting a user to enter an activity, the user specifying a priority, a life span, a preferred implementation time, and a scheduling time budget for the activity;
a search routine for searching a schedule file to determine availability of the preferred implementation time or an alternative implementation time, the quantity of available execution time, and the possible presence of a blocking activity;
an insertion routine to insert the activity at the determined available preferred implementation time or the alternative implementation time when available execution time is equal to or greater than the life span;
a relocation routine operating in response to the determination of a blocking activity scheduled proximate to the preferred implementation time or the alternative implementation time to relocate a blocking activity to an alternative implementation time;
a randomizing routine for selecting an alternative implementation time for the activity or a blocking activity, the randomizing routine invoked by the relocation routine;
a timing routine for comparing elapsed scheduling time to the scheduling time budget and ending the program execution when elapsed scheduling time exceeds the scheduling time budget. - View Dependent Claims (33, 34, 35, 36, 37)
-
Specification