← Back to Patent Explorer
US5031089A Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic resource allocation scheme for distributed heterogeneous computer systems

Assignee: National Aeronautics and Space Administration
•
Filing: 1988-12-30
•
Granted: 1991-07-09
•
Expires: 2008-12-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, an improvement for dynamically reallocating the system's resources for optimized job performance. There is first logic at each node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node's queue. Second logic is provided at each node for transfering the node's workload value to other nodes on the network at the request of the other nodes. Finally, there is third logic at each node operable at the completion of each job. The third logic includes, logic for checking the node's own workload value, logic for polling all the other nodes for their workload value if the checking node's workload value is below a preestablished value indicating the node as being underutilized and available to do more jobs, logic for checking the workload values of the other nodes as received, and logic for transfering a job from the queue of the other of the nodes having the highest workload value over a preestablished value indicating the other of the nodes as being overburdened and requiring job relief to the que of the checking node. The third logic is also operable periodically when the node is idle.

Inventors

  • 👤 Howard T. Liu
  • 👤 John A. Silvester

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 21:45
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5083; G06F9/5088

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 228 words
In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, the improvement for dynamically reallocating the system's resources for optimized job performance comprising: a) means at each node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node's queue; b) means at each node for transfering the node's said workload value to other nodes on the network at the request of said other nodes; and, c) means at each node operable at the completion of each job, c1) for checking the node's own said workload value, c2) for polling all the other nodes for their said workload value if the checking node's said workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs, c3) for checking the said workload values of the other nodes as received, and c4) for transfering a job from the queue of the other of the nodes having the highest said workload value over a pre-established value indicating said other of the nodes as being overburdened and requiring job relief to the queue of the checking node.
Claim 2
Dependent Claim 228 words
In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, the improvement for dynamically reallocating the system's resources for optimized job performance comprising: a) means at each node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node's queue; b) means at each node for transfering the node's said workload value to other nodes on the network at the request of said other nodes; and, c) means at each node operable at the completion of each job, c1) for checking the node's own said workload value, c2) for polling all the other nodes for their said workload value if the checking node's said workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs, c3) for checking the said workload values of the other nodes as received, and c4) for transfering a job from the queue of the other of the nodes having the highest said workload value over a pre-established value indicating said other of the nodes as being overburdened and requiring job relief to the queue of the checking node.
Claim 3
Dependent Claim 128 words
The improvement to a distributed heterogeneous computer system of claim 1 and additionally comprising means at each node periodically operable when the node is idle: a) for checking the node's own said workload value; b) for polling all the other nodes for their said workload value if the checking node's said workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs; c) for checking the said workload values of the other nodes as received; and, d) for transfering a job from the queue of the other of the nodes having the highest said workload value over a pre-established value indicating said other of the nodes as being overburdened and requiring job relief to the queue of the checking node.
Claim 4
Dependent Claim 58 words
The improvement to a distributed heterogeneous computer system of claim 1 wherein: said means at each node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node's queue comprises means for dividing the number of jobs on the node's queue by the service rate of the node.
Claim 5
Dependent Claim 55 words
The improvement to a distributed heterogeneous computer system of claim 1 wherein: a) the jobs to be performed by the nodes are assigned priority levels; and, b) said polling of all the other nodes for their said workload value by a node is accomplished by the node as a job at the highest priority level.
Claim 6
Dependent Claim 229 words
A distributed heterogeneous computer system having dynamic resource allocation comprising: a) network means for providing a communications path for computer; b) a plurality of computer nodes each operatively connected through a network interface to said network means whereby to communicate and transfer data between said nodes, said nodes each having a queue for containing jobs to be performed; c) means at each said node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on said node's queue; d) means at each node for transfering said node's said workload value to other nodes over said network at the request of said other nodes; and, e) means at each node operable at the completion of each job, e1) for checking said node's own said workload value, e2) for polling all the other said nodes for their said workload value if the checking node's said workload value is below a pre-established value indicating said node as being underutilized and available to do more jobs, e3) for checking the said workload values of the other said nodes as received, and e4) for transfering a job from said queue of the other of said nodes having the highest said workload value over a pre-established value indicating said other of said nodes as being overburdened and requiring job relief to said queue of the checking node.
Claim 7
Dependent Claim 229 words
A distributed heterogeneous computer system having dynamic resource allocation comprising: a) network means for providing a communications path for computer; b) a plurality of computer nodes each operatively connected through a network interface to said network means whereby to communicate and transfer data between said nodes, said nodes each having a queue for containing jobs to be performed; c) means at each said node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on said node's queue; d) means at each node for transfering said node's said workload value to other nodes over said network at the request of said other nodes; and, e) means at each node operable at the completion of each job, e1) for checking said node's own said workload value, e2) for polling all the other said nodes for their said workload value if the checking node's said workload value is below a pre-established value indicating said node as being underutilized and available to do more jobs, e3) for checking the said workload values of the other said nodes as received, and e4) for transfering a job from said queue of the other of said nodes having the highest said workload value over a pre-established value indicating said other of said nodes as being overburdened and requiring job relief to said queue of the checking node.
Claim 8
Dependent Claim 128 words
The distributed heterogeneous computer system of claim 5 and additionally comprising means at each said node periodically operable when said node is idle: a) for checking said node's own said workload value; b) for polling all the other said nodes for their said workload value if the checking node's said workload value is below a pre-established value indicating said node as being underutilized and available to do more jobs; c) for checking the said workload values of the other said nodes as received; and, d) for transfering a job from said queue of the other of said nodes having the highest said workload value over a pre-established value indicating said other of said nodes as being overburdened and requiring job relief to said queue of the checking node.
Claim 9
Dependent Claim 55 words
The distributed heterogeneous computer system of claim 5 wherein: said means at each node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on said node's queue comprises means for dividing the number of jobs on said node's queue by the service rate of said node.
Claim 10
Dependent Claim 55 words
The improvement to a distributed heterogeneous computer system of claim 5 wherein: a) the jobs to be performed by said nodes are assigned priority levels; and, b) said polling of all the other nodes for their said workload value by a node is accomplished by said node as a job at the highest priority level.
Claim 11
Dependent Claim 215 words
In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, the method of operation for dynamically reallocating the system's resources for optimized job performance comprising the steps of: a) at each node, dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node's queue; b) transfering the node's workload value to other nodes on the network at the request of the other nodes; and, c) at each node at the completion of each job, c1) checking the node's own workload value, c2) polling all the other nodes for their workload value if the checking node's workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs, c3) checking the workload values of the other nodes as received, and c4) transfering a job from the queue of the other of the nodes having the highest the workload value over a pre-established value indicating the other of the nodes as being overburdened and requiring job relief to the queue of the checking node.
Claim 12
Dependent Claim 215 words
In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, the method of operation for dynamically reallocating the system's resources for optimized job performance comprising the steps of: a) at each node, dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node's queue; b) transfering the node's workload value to other nodes on the network at the request of the other nodes; and, c) at each node at the completion of each job, c1) checking the node's own workload value, c2) polling all the other nodes for their workload value if the checking node's workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs, c3) checking the workload values of the other nodes as received, and c4) transfering a job from the queue of the other of the nodes having the highest the workload value over a pre-established value indicating the other of the nodes as being overburdened and requiring job relief to the queue of the checking node.
Claim 13
Dependent Claim 117 words
The method of operating a distributed heterogeneous computer system of claim 9 and when the node is idle additionally comprising the steps of: checking the node's own workload value; b) polling all the other nodes for their workload value if the checking node's the workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs; c) checking the workload values of the other nodes as received; and, d) transfering a job from the queue of the other of the nodes having the highest workload value over a pre-established value indicating the other of the nodes as being overburdened and requiring job relief to the queue of the checking node.
Claim 14
Dependent Claim 57 words
The method of operating a distributed heterogeneous computer system of claim 9 wherein said step of dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node's queue comprises the step of: dividing the number of jobs on the node's queue by the service rate of the node.
Claim 15
Dependent Claim 55 words
The method of operating a distributed heterogeneous computer system of claim 9 wherein the jobs to be performed by the nodes are assigned priority levels and: said step of polling of all the other nodes for their workload value by a node is accomplished by the node as a job at the highest priority level.
Claim 16
Dependent Claim 243 words
In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, the improvement for dynamically reallocating the system's resources for optimized job performance comprising: a) first logic means at each node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node's queue; b) second logic means at each node for transfering the node's said workload value to other nodes on the network at the request of said other nodes; and, c) third logic means at each node operable at the completion of each job, said third logic means including, c1) means for checking the node's own said workload value, c2) means for polling all the other nodes for their said workload value if the checking node's said workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs, c3) means for checking the said workload values of the other nodes as received, and c4) means for transfering a job from the queue of the other of the nodes having the highest said workload value over a pre-established value indicating said other of the nodes as being overburdened and requiring job relief to the queue of the checking node.
Claim 17
Dependent Claim 243 words
In a distributed heterogeneous computer system having a plurality of computer nodes each operatively connected through a network interface to a network to provide for communications and transfers of data between the nodes and wherein the nodes each have a queue for containing jobs to be performed, the improvement for dynamically reallocating the system's resources for optimized job performance comprising: a) first logic means at each node for dynamically and periodically calculating and saving a workload value as a function of the number of jobs on the node's queue; b) second logic means at each node for transfering the node's said workload value to other nodes on the network at the request of said other nodes; and, c) third logic means at each node operable at the completion of each job, said third logic means including, c1) means for checking the node's own said workload value, c2) means for polling all the other nodes for their said workload value if the checking node's said workload value is below a pre-established value indicating the node as being underutilized and available to do more jobs, c3) means for checking the said workload values of the other nodes as received, and c4) means for transfering a job from the queue of the other of the nodes having the highest said workload value over a pre-established value indicating said other of the nodes as being overburdened and requiring job relief to the queue of the checking node.
Claim 18
Dependent Claim 25 words
The improvement to a distributed heterogeneous computer system of claim 13 wherein: said third logic means is also operable periodically when the node is idle.
Claim 19
Dependent Claim 38 words
The improvement to a distributed heterogeneous computer system of claim 13 wherein: said first logic means at each node comprises means for dividing the number of jobs on the node's queue by the service rate of the node.
Claim 20
Dependent Claim 63 words
The improvement to a distributed heterogeneous computer system of claim 13 wherein the jobs to be performed by the nodes are assigned priority levels and wherein additionally: said means for polling of all the other nodes for their said workload value by a node of said third logic means includes means for accomplishing said polling as a job at the highest priority level.

References Cited (Backward Citations)

US4099235A Cited
US4413318A Cited
US4495570A Cited
US4403286A Cited
US4577272A Cited
US4839798A Cited
US4852001A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-07-08 1995-01-07 1995-07-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-07-08 1999-01-07 1999-07-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-07-08 2003-01-07 2003-07-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag