A method for scheduling tasks to a cyclic schedule, comprising maintaining a request queue, a count, the count being initialized to a given limit, and an index of a current time slot within the schedule. Periodically, if the request queue contains a reference to an urgent task among the tasks, that reference is removed from the request queue and the urgent task is dispatched and if the request queue is empty, the index is advanced to the next time slot within the schedule. If the next time slot is statically assigned to a task among the tasks, that task is dispatched, and if the next time slot is unassigned and the count is below the limit, the count is incremented and the index is further advanced to the next but one time slot.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for scheduling tasks to a cyclic schedule, comprising: maintaining a request queue, a count, the count being initialized to a given limit, and an index of a current time slot within the cyclic schedule, wherein periodically: if the request queue contains a reference to an urgent task among the tasks, the reference is removed from the request queue and the urgent task is dispatched; and if the request queue is empty, the index is advanced to the next time slot within the cyclic schedule, wherein: if the next time slot is statically assigned to a first task among the tasks, the first task is dispatched, and if the next time slot is unassigned and the count is below the given limit, the count is incremented and the index is further advanced to the next but one time slot.
2. The method according to claim 1 , wherein upon request by management software while the count is greater than zero, the count is decremented and a reference to a specified task among the tasks is added to the request queue.
3. The method according to claim 2 , wherein the request is submitted through an application programming interface.
4. The method according to claim 3 , wherein the request queue, the count, and the index are maintained by a hypervisor providing the application programming interface.
5. The method according to claim 4 , wherein the hypervisor is in the form of a type-1 hypervisor.
6. The method according to claim 4 , wherein the management software controls the hypervisor and the tasks.
7. The method according to claim 4 , wherein access to the application programming interface is restricted to the management software.
8. A non-transitory machine-readable storage medium on which is stored a computer program for scheduling tasks to a cyclic schedule, the computer program, when executed by a computer, causing the computer to perform: maintaining a request queue, a count, the count being initialized to a given limit, and an index of a current time slot within the cyclic schedule, wherein periodically: if the request queue contains a reference to an urgent task among the tasks, the reference is removed from the request queue and the urgent task is dispatched; and if the request queue is empty, the index is advanced to the next time slot within the cyclic schedule, wherein: if the next time slot is statically assigned to a first task among the tasks, the first task is dispatched, and if the next time slot is unassigned and the count is below the given limit, the count is incremented and the index is further advanced to the next but one time slot.
9. An apparatus adapted to schedule tasks to a cyclic schedule, the apparatus adapted to: maintain a request queue, a count, the count being initialized to a given limit, and an index of a current time slot within the cyclic schedule, wherein periodically: if the request queue contains a reference to an urgent task among the tasks, the reference is removed from the request queue and the urgent task is dispatched; and if the request queue is empty, the index is advanced to the next time slot within the cyclic schedule, wherein: if the next time slot is statically assigned to a first task among the tasks, the first task is dispatched, and if the next time slot is unassigned and the count is below the given limit, the count is incremented and the index is further advanced to the next but one time slot.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
May 1, 2018
December 1, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.