Method of determining a schedule, scheduler and system
First Claim
1. A method of determining a schedule (205) for executing a plurality of tasks (301-308) requiring a plurality of resources (101-103, 109-113), comprising the steps of (a) constructing a set of constraints from given requirements of each task (301-308)and from given limitations on each resource (101-103, 109-113);
- (b) determining for each task (301-308) a relative starting time, a relative ending time and an assignment of resources (101-103, 109-113), based on the constraints from said set;
(c) determining for each task (301-308)an absolute starting time, an absolute ending time and a collection of times and associated task processing speeds, based on the determined relative starting time, relative ending time and assignment of resources (101-103, 109-113) for said task, minimizing any violation of the constraints from said set; and
(d) determining the schedule (205), comprising for each task (301-308) the determined absolute starting time, absolute ending time, collection of times and associated task processing speeds and assignment of resources (101-103, 109-113) to said task.
1 Assignment
0 Petitions
Accused Products
Abstract
A scheduler (100) which implements a method for determining a flexible schedule (205) for executing a plurality of tasks (301-308) in a system having a plurality of resources (101-103, 109-113). The schedule (205) comprises for each task (301-308) a starting time, an ending time, an assignment of resources (101-103, 109-113) to said task (301-308), as well as a collection of times and processing speeds. Using this information, the execution of a task can vary in speed when for example multiple tasks need the same resource. To do this, the scheduler first defines a partial schedule using windows (w0 , . . . , w15) and then determines the length of the windows (w0 , . . . , w15) and the processing speed of each task in each window using linear programming and column generation.
39 Citations
10 Claims
-
1. A method of determining a schedule (205) for executing a plurality of tasks (301-308) requiring a plurality of resources (101-103, 109-113), comprising the steps of
(a) constructing a set of constraints from given requirements of each task (301-308)and from given limitations on each resource (101-103, 109-113); -
(b) determining for each task (301-308) a relative starting time, a relative ending time and an assignment of resources (101-103, 109-113), based on the constraints from said set;
(c) determining for each task (301-308)an absolute starting time, an absolute ending time and a collection of times and associated task processing speeds, based on the determined relative starting time, relative ending time and assignment of resources (101-103, 109-113) for said task, minimizing any violation of the constraints from said set; and
(d) determining the schedule (205), comprising for each task (301-308) the determined absolute starting time, absolute ending time, collection of times and associated task processing speeds and assignment of resources (101-103, 109-113) to said task. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A scheduler (100) for determining a schedule for executing a plurality of tasks (301-308) requiring a plurality of resources (101-103, 109-113), comprising
constructing means (201) for constructing a set of constraints from given requirements of each task (301-308) and from given limitations on each resource (101-103, 109-113); -
ordering means (202) for determining for each task (301-308) a relative starting time, a relative ending time and an assignment of resources (101-103, 109-113), based on the constraints from said set;
timing means (203) for determining for each task (301-308) an absolute starting time, an absolute ending time and a collection of times and associated task processing speeds, based on the determined relative starting time, relative ending time and assignment of resources (101-103, 109-113) for said task (301-308), minimizing any violation of the constraints from said set; and
scheduling means (204) for determining the schedule, comprising for each task (301-308) the determined absolute starting time, absolute ending time, collection of times and associated task processing speeds and assignment of resources (101-103, 109-113) to said task (301-308). - View Dependent Claims (7, 8, 9, 10)
-
Specification