Apparatus and method for computer job workload distribution
First Claim
1. A job distribution system implemented by a computer network with a plurality of nodes having a local node and at least one remote node, each of the nodes of the plurality of nodes capable of executing one or more job commands, and each of the nodes of the plurality of nodes having a local directory cross-mounted with the local directories of the plurality of network nodes, the job distribution system comprising:
- a job balance object on the local node of the plurality of nodes, said job balance object having access to the local directory of the at least one remote node and being capable of reading a node distribution table and distributing a plurality of job requests to the at least one remote node;
a node daemon object on the at least one remote node of the plurality of nodes, the node daemon object capable of updating a node distribution table with a job status value; and
an updatable node distribution table having a plurality of distribution data structures, each data structure of said plurality of distribution data structures corresponding to each of the at least one remote node having said node daemon object, and being capable of being updated by said node daemon object with a job status value, wherein said job balance object reads said plurality of distribution data structures to determine which of a plurality of job requests are pending on the at least one remote node and distributes said plurality of job requests to the at least one remote node.
3 Assignments
0 Petitions
Accused Products
Abstract
A job distribution system implemented by a computer network having a plurality of nodes, each having a cross-mounted local directory. The job distribution system has a job balance object, a node-processing object, and an updatable node distribution table. The job distribution system is on a first node of the plurality of nodes. A node daemon object is on each of the plurality of nodes. The job balance object has access to the local directory of each remaining node. The updatable node distribution table has a plurality of distribution data structures which correspond to each of the remaining nodes, and are updated by the node daemon object with a job status value. With these objects, the job balance object distributes the plurality of jobs by averaging the job status value of each of the remaining nodes to distribute a plurality of the pending job requests.
152 Citations
16 Claims
-
1. A job distribution system implemented by a computer network with a plurality of nodes having a local node and at least one remote node, each of the nodes of the plurality of nodes capable of executing one or more job commands, and each of the nodes of the plurality of nodes having a local directory cross-mounted with the local directories of the plurality of network nodes, the job distribution system comprising:
-
a job balance object on the local node of the plurality of nodes, said job balance object having access to the local directory of the at least one remote node and being capable of reading a node distribution table and distributing a plurality of job requests to the at least one remote node;
a node daemon object on the at least one remote node of the plurality of nodes, the node daemon object capable of updating a node distribution table with a job status value; and
an updatable node distribution table having a plurality of distribution data structures, each data structure of said plurality of distribution data structures corresponding to each of the at least one remote node having said node daemon object, and being capable of being updated by said node daemon object with a job status value, wherein said job balance object reads said plurality of distribution data structures to determine which of a plurality of job requests are pending on the at least one remote node and distributes said plurality of job requests to the at least one remote node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A workload distribution method for a computer network with a plurality of nodes in a local-remote node relationship having a network file system that cross-mounts a local directory of each node with the local directories of each other node, the workload distribution method comprising the steps of:
-
providing an updatable node distribution table with a plurality of distribution data structures, each data structure of the plurality of distribution data structures correlating to a node of the plurality of nodes;
providing a job balance object on a local node of the plurality of nodes;
submitting a plurality of job requests by each node of the plurality of nodes;
using at least one node daemon object to update each of the distribution data structures that correspond to each of the nodes of the plurality of nodes with a first job status value;
using the job balance object to read each of the distribution data structures to determine which of the plurality of job requests are pending on each of the plurality of nodes;
using the job balance object to balance the plurality of job requests among the plurality of nodes according to a balancing criteria; and
updating the distribution data structures that correspond to each of the nodes of the plurality of nodes with a second job status value when a job request of the plurality of job requests is executed. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of distributing computer jobs to a plurality of remote nodes on a network from a local node comprising the steps of:
-
maintaining on a remote node an updatable node distribution table corresponding to each of the plurality of remote nodes;
updating a job status value in each of said tables as jobs are assigned and when the jobs are completed;
reading said tables via the job balance object on the local node; and
balancing, via the job balance object on the local node, an assignment of a plurality of new jobs to the plurality of remote nodes as a function of jobs remaining to be executed at that node as compared to the average number of jobs for all of the plurality of remote nodes.
-
Specification