Processing pattern framework for dispatching and executing tasks in a distributed computing grid
First Claim
1. A system for dispatching and executing tasks in a distributed computing environment, said system comprising:
- a computer including memory and one or more microprocessors;
a cluster including a plurality of computer nodes that store a set of data and perform operations on said data, said cluster providing an application programming interface (API) used to submit tasks to the cluster;
a session established between a client and the cluster using said API, said session adapted to be used by said client to submit a task for processing by the plurality of computer nodes of the cluster;
a dispatch controller configured to dispatch a submission of a task to a plurality of dispatchers registered in a particular order, wherein the dispatchers include a logging dispatcher for logging the task submission, an executor dispatcher for executing one or more interfaces to process the task, and a default task dispatcher for routing said task to a node designated to process said task in the cluster; and
a task processor, on the node, that is selected for processing the routed task by matching an attribute supplied with the task processor and an attribute supplied with the task;
wherein after the task is processed, an indication is made to said client that a submission outcome is available.
1 Assignment
0 Petitions
Accused Products
Abstract
A processing pattern is described for dispatching and executing tasks in a distributed computing grid, such as a cluster network. The grid includes a plurality of computer nodes that store a set of data and perform operations on that data. The grid provides an interface that allows clients to submit tasks to the cluster for processing. The interface can be used to establish a session between the client and the cluster, which will be used to submit a task for processing by the plurality of computer nodes of the cluster. A dispatcher receives a submission of the task over the interface and routes the task to at least one node in the cluster that is designated to process the task. A task processor then processes the task on the designated node(s), generates a submission outcome and indicates to the client that the submission outcome is available.
73 Citations
20 Claims
-
1. A system for dispatching and executing tasks in a distributed computing environment, said system comprising:
-
a computer including memory and one or more microprocessors; a cluster including a plurality of computer nodes that store a set of data and perform operations on said data, said cluster providing an application programming interface (API) used to submit tasks to the cluster; a session established between a client and the cluster using said API, said session adapted to be used by said client to submit a task for processing by the plurality of computer nodes of the cluster; a dispatch controller configured to dispatch a submission of a task to a plurality of dispatchers registered in a particular order, wherein the dispatchers include a logging dispatcher for logging the task submission, an executor dispatcher for executing one or more interfaces to process the task, and a default task dispatcher for routing said task to a node designated to process said task in the cluster; and a task processor, on the node, that is selected for processing the routed task by matching an attribute supplied with the task processor and an attribute supplied with the task; wherein after the task is processed, an indication is made to said client that a submission outcome is available. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 19)
-
-
10. A method for dispatching and executing tasks in a distributed computing environment, said method comprising:
-
establishing a session between a client and a cluster of computer nodes using an application programming interface (API) provided by the cluster, wherein the API and said session are adapted to be used by said client to submit a task for processing by the computer nodes of the cluster; receiving a submission of said task from the client; dispatching, via a dispatcher controller, the submission of said task to a plurality of dispatchers registered in a particular order, wherein the dispatchers include a logging dispatcher for logging the task submission, an executor dispatcher for executing an interface to process the task, and a default task dispatcher for routing said task to a task processor on a node designated to process said task in the cluster, wherein the task processor is selected by matching an attribute supplied with said task against an attribute supplied with a definition of the task processor; and indicating to the client that a submission outcome is available. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 20)
-
-
18. A non-transitory computer readable storage medium storing a set of instructions executed by one or more processors to perform a sequence of steps comprising:
-
establishing a session between a client and a cluster of computer nodes using an application programming interface (API) provided by the cluster, wherein the API and said session are used by said client to submit a task for processing by the computer nodes of the cluster; receiving a submission of said task from the client; dispatching, via a dispatcher controller, the submission of said task to a plurality of dispatchers registered in a particular order, wherein the dispatchers include a logging dispatcher for logging the task submission, an executor dispatcher for executing an interface to process the task, and a default task dispatcher for routing said task to a task processor on a node designated to process said task in the cluster, wherein the task processor is selected by matching an attribute supplied with said task against an attribute supplied with a definition of the task processor; and indicating to the client that a submission outcome is available.
-
Specification