Patent ID: 7689996
Filing Date: 2010-03-30
Classification: G06F

Abstract:
1. A method of distributing work through a cluster of workstations for efficient distributed processing, said cluster having a plurality of workstations interconnected over a network, the method comprising: Receiving a work request at a first processing node; Classifying, at said first processing node, the work request into one or more tasks; Assigning said one or more tasks to one or more router queues associated with respective router devices at said first processing node, wherein a router device receives and distributes a specific task of a particular class of work in its associated router queue, each said router queue associated with a work task at a different phases of completion; Dispatching said assigned one or more tasks by the router device for execution at a workstation at a second processing node having an execution module residing therein, the execution module at said second processing node comprising one or more initiators for instantiating one or more objects to execute the one or more work tasks, said initiators dynamically registering with the router device to indicate readiness to accept work for processing, said objects instantiated by one of the initiators with a generic class name passed to the initiator by said router device but having a different implementation specific to the second processing node in which said initiator resides to enable use of system specific resources and enable a single version of an application to run on each node; and, Upon completion of said one or more work tasks, each said one or more initiators providing to said respective router devices the completed work task at said first processing node and providing system specific statistic data associated with said initiator; and, Computing performance statistics of the one or more router queues and said one or more initiators, a performance statistic including a total response time from dispatch of the one or more work tasks from the router queue at said first processing node to an initiator at said second processing node, and the receipt of the completed work task at the router queue from that initiator at said second processing node, said total response time used to determine the performance of the one or more initiators and categorize the initiators performance for determining said one or more initiators best suited to execute said one or more tasks; and, Queuing ready initiators at a respective router device based on said categorized initiator performance, wherein said best performing ready initiators are given priority for receiving new tasks from respective router device.