Priority based scheduling
First Claim
1. A distributed computing system including a scheduling manager that that controls the scheduling of events performed by a plurality of computing systems based on a priority of the events, the distributed computing system comprising:
- one or more processors; and
system memory having stored thereon executable instructions that, when executed by the one or more processors, cause the distributed computing system to perform the following;
receive a new event that is to be added to a queue of events that are to be executed by the distributed computing system, the new event having a first duration comprising a first time period for completing the new event;
determine that there is an existing event at a front of the queue that is a current active executing event, the existing event having a second duration comprising a second time period for completing the existing event and a second end time computed based on the second duration of the existing event;
compare a priority of the new event with a priority of the existing event, including comparing a first time stamp associated with the new event with a second time stamp associated with the existing event;
based on the comparison, determine that the first time stamp associated with new event is more recent than the second time stamp associated with the existing event and that the new event is to therefore take priority over the existing event; and
modify the queue by at least,inserting the new event at the front of the queue as a new currently active event, including setting a first end time of the new event to be the first duration of the new event plus a current time; and
updating the existing event by at least reducing the second duration of the existing event to be the second end time of the existing event minus the current time.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments disclosed herein are related to systems and methods for a scheduling manager or other element of a distributed computing system to schedule events performed by a various computing systems based on a priority of the events. The distributed computing system includes one or more processors and system memory having stored thereon executable instructions. When the executable instructions are executed by the processors, the computing system receives a new event that is to be added to a queue of events that are to be executed by the distributed computing system, determines that there is a current active event in the queue, compares a priority of the new event with a priority of the current active event, and based on the comparison, modifies an order of the events in the queue by updating the event in the queue that is to be the current active event.
-
Citations
12 Claims
-
1. A distributed computing system including a scheduling manager that that controls the scheduling of events performed by a plurality of computing systems based on a priority of the events, the distributed computing system comprising:
-
one or more processors; and system memory having stored thereon executable instructions that, when executed by the one or more processors, cause the distributed computing system to perform the following; receive a new event that is to be added to a queue of events that are to be executed by the distributed computing system, the new event having a first duration comprising a first time period for completing the new event; determine that there is an existing event at a front of the queue that is a current active executing event, the existing event having a second duration comprising a second time period for completing the existing event and a second end time computed based on the second duration of the existing event; compare a priority of the new event with a priority of the existing event, including comparing a first time stamp associated with the new event with a second time stamp associated with the existing event; based on the comparison, determine that the first time stamp associated with new event is more recent than the second time stamp associated with the existing event and that the new event is to therefore take priority over the existing event; and modify the queue by at least, inserting the new event at the front of the queue as a new currently active event, including setting a first end time of the new event to be the first duration of the new event plus a current time; and updating the existing event by at least reducing the second duration of the existing event to be the second end time of the existing event minus the current time. - View Dependent Claims (2, 3, 4)
-
-
5. In a distributed computing system including a scheduling manager, a method for the scheduling manager to schedule events performed by a plurality of computing systems based on a priority of the events, the method comprising:
-
receiving a new event that is to be added to a queue of events that are to be executed by the distributed computing system, the new event having a first duration comprising a first time period for completing the new event; determining that there is an existing event at a front of the queue that is a current active executing event, the existing event having a second duration comprising a second time period for completing the existing event and a second end time computed based on the second duration of the existing event; comparing a priority of the new event with a priority of the existing event, including comparing a first time stamp associated with the new event with a second time stamp associated with the existing event; based on the comparison, determine that the first time stamp associated with new event is more recent than the second time stamp associated with the existing event and that the new event is to therefore take priority over the existing event; and modifying the queue by at least, inserting the new event at the front of the queue as a new currently active event, including setting a first end time of the new event to be the first duration of the new event plus a current time; and updating the exiting event by at least reducing the second duration of the existing event to be the second end time of the existing event minus the current time. - View Dependent Claims (6, 7, 8)
-
-
9. A computer program product comprising at least one hardware storage device having stored thereon computer-executable instructions that are executable by at least one processor to cause a computer system to control the scheduling of events performed by a plurality of computing systems based on a priority of the event, the computer-executable instructions including instructions that are executable by the at least one processor to cause the computer system to perform at least the following:
-
receive a new event that is to be added to a queue of events that are to be executed by the distributed computing system, the new event having a first duration comprising a first time period for completing the new event; determine that there is an existing event at a front of the queue that is a current active executing event, the existing event having a second duration comprising a second time period for completing the existing event and a second end time computed based on the second duration of the existing event; compare a priority of the new event with a priority of the existing event, including comparing a first time stamp associated with the new event with a second time stamp associated with the existing event; based on the comparison, determine that the first time stamp associated with new event is more recent than the second time stamp associated with the existing event and that the new event is to therefore take priority over the existing event; and modify the queue by at least, inserting the new event at the front of the queue as a new currently active event, including setting a first end time of the new event to be the first duration of the new event plus a current time; and updating the existing event by at least reducing the second duration of the existing event to be the second end time of the existing event minus the current time. - View Dependent Claims (10, 11, 12)
-
Specification