Distributed Job Scheduling System
AssigneeCloudSimple, Inc.
InventorsIlya Beyer, Ievgen Ignatiev, Maksym Skrynnik
Life of this patent
Estimating the term…
Abstract
In one embodiment, a method includes receiving a request to perform a job from a second computing device, where the job includes one or more steps to be completed in a period, and where the request includes a job description for the job, storing the job description into a data store, retrieving a step description corresponding to one of the steps of the job to be performed from the data store, where each of the steps is performed by a corresponding worker system, sending the commands to the communication endpoint for the corresponding worker system, receiving a status update comprising results for the commands from the corresponding worker system, and storing the status update to the data store.
Claims20
A method comprising:
- by a first computing device, receiving a request to perform a job from a second computing device, wherein the job comprises one or more steps to be completed in a period, and wherein the request comprises a job description for the job comprising a name of the job, a frequency to perform the job, a schedule to perform the job, a timeout, and a step description for each of the one or more steps;
- by the first computing device, storing the job description into a data store;
- by the first computing device, retrieving, from the data store, a step description corresponding to one of the steps of the job to be performed, wherein each of the steps is performed by a corresponding worker system, and wherein the step description comprises a name of the step, a communication endpoint for a corresponding worker system, and commands to be delivered to the worker system;
- by the first computing device, sending the commands to the communication endpoint for the corresponding worker system;
- by the first computing device, receiving, from the corresponding worker system, a status update comprising results for the commands;
- and
- by the first computing device, storing the status update to the data store.
One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
- receive a request to perform a job from a second computing device, wherein the job comprises one or more steps to be completed in a period, and wherein the request comprises a job description for the job comprising a name of the job, a frequency to perform the job, a schedule to perform the job, a timeout, and a step description for each of the one or more steps;
- store the job description into a data store;
- retrieve, from the data store, a step description corresponding to one of the steps of the job to be performed, wherein each of the steps is performed by a corresponding worker system, and wherein the step description comprises a name of the step, a communication endpoint for a corresponding worker system, and commands to be delivered to the worker system;
- send the commands to the communication endpoint for the corresponding worker system;
- receive, from the corresponding worker system, a status update comprising results for the commands;
- and
- store the status update to the data store.
A system comprising:
- one or more processors;
- and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:
- receive a request to perform a job from a second computing device, wherein the job comprises one or more steps to be completed in a period, and wherein the request comprises a job description for the job comprising a name of the job, a frequency to perform the job, a schedule to perform the job, a timeout, and a step description for each of the one or more steps;
- store the job description into a data store;
- retrieve, from the data store, a step description corresponding to one of the steps of the job to be performed, wherein each of the steps is performed by a corresponding worker system, and wherein the step description comprises a name of the step, a communication endpoint for a corresponding worker system, and commands to be delivered to the worker system;
- send the commands to the communication endpoint for the corresponding worker system;
- receive, from the corresponding worker system, a status update comprising results for the commands;
- and
- store the status update to the data store.
Dependencies are inferred from the claim text.