Patent ID: 7650347
Filing Date: 2010-01-19
Classification: G06F,G06Q

Abstract:
1. A method for distributed job scheduling, comprising: defining a schedule including a plurality of commands that will execute the job, wherein the job comprises a first task scheduled to be executed on a first computing device and a second task scheduled to be executed on a second computing device, wherein the first task and the second task are defined in the schedule to complete execution for the job; subscribing a first agent executing on the first computing device to the first task and subscribing a second agent executing on the second computing device to the second task; publishing a first one of the plurality of commands to a first broker that interfaces with the first agent executing on the first computing device, wherein the first broker forwards the first command to the first agent in response to the first agent subscribing to the first task, and wherein the first agent executes the first task on the first computing device in response to receiving the first command from the first broker; generating a first publication associated with the execution of the first task using the first agent, wherein the first publication indicates whether the execution of the first task succeeded or failed; unsubscribing the first agent from the first task in response to the first publication indicating that the execution of the first task succeeded; publishing a second one of the plurality of commands to a second broker that interfaces with the second agent executing on the second computing device in response to the first publication indicating that the execution of the first task succeeded, wherein the second broker forwards the second command to the second agent in response to the second agent subscribing to the second task, and wherein the second agent executes the second task on the second computing device in response to receiving the second command from the second broker; generating a second publication associated with the execution of the second task using the second agent, wherein the second publication indicates whether the execution of the second task succeeded or failed; and generating a message indicating whether the execution of the job succeeded based on the first publication and the second publication, wherein the message indicates that the execution of the job succeeded in response to the first publication indicating that the execution of the first task succeeded and the second publication indicating that the execution of the second task succeeded.