Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
190 words
A load balancing system for use with a computing system having multiple computing engines each having a respective affinity run queue onto which a number of processes are enqueued, the load balancing system comprising: calculating means for calculating for each engine the number of processes associated with the engine; comparing means for comparing the number of processes associated with each engine with a variable associated with the engine; variable adjusting means for adjusting for each engine the variable associated with the engine by a particular amount if the number of processes associated with the engine is greater than the variable associated with the engine; determining means for determining whether the variable having a highest value is a predetermined amount greater than the variable having a lowest value; and process moving means for moving processes from the affinity run queue of the engine associated with the variable having the highest value to the affinity run queue of the engine associated with the variable having the lowest value if the determining means determines that the variable with the highest value is the predetermined amount greater than the variable with the lowest value.
Claim 2
Dependent Claim
190 words
A load balancing system for use with a computing system having multiple computing engines each having a respective affinity run queue onto which a number of processes are enqueued, the load balancing system comprising: calculating means for calculating for each engine the number of processes associated with the engine; comparing means for comparing the number of processes associated with each engine with a variable associated with the engine; variable adjusting means for adjusting for each engine the variable associated with the engine by a particular amount if the number of processes associated with the engine is greater than the variable associated with the engine; determining means for determining whether the variable having a highest value is a predetermined amount greater than the variable having a lowest value; and process moving means for moving processes from the affinity run queue of the engine associated with the variable having the highest value to the affinity run queue of the engine associated with the variable having the lowest value if the determining means determines that the variable with the highest value is the predetermined amount greater than the variable with the lowest value.
Claim 3
Dependent Claim
24 words
The system of claim 1 in which the number associated with each engine equals the number of process enqueued to the affinity run queue.
Claim 4
Dependent Claim
36 words
The system of claim 1 in which the number associated with each engine equals a number of processes enqueued to the affinity run queue plus one if a process is being currently run by the engine.
Claim 5
Dependent Claim
80 words
The system of claim 1 in which X processes are enqueued to the affinity run queue of the engine associated with the variable having the highest value and Y processes are enqueued to the affinity run queue of the engine associated with the variable having the lowest value, and the number of processes moved from the engine associated with the variable having the highest value to the engine associated with the variable having the lowest value is equal to (X-Y)/2.
Claim 6
Dependent Claim
12 words
The system of claim 1 in which the particular amount is 150.
Claim 7
Dependent Claim
12 words
The system of claim 1 in which the predetermined amount is two.
Claim 8
Dependent Claim
15 words
The system of claim 1 in which the comparing means compares ten times per second.
Claim 9
Dependent Claim
15 words
The system of claim 1 in which the determining means determines once every five seconds.
Claim 10
Dependent Claim
211 words
A computing system, comprising: multiple computing engines that run processes, the multiple computing engines being associated with respective cache memories and respective affinity run queues; a global run queue; cache context estimating means for estimating respective amounts of cache context with respect to respective cache memories and particular ones of the processes; enqueuing means for enqueuing the processes to the affinity run queues and the global run queue; decision means responsive to the estimated amount of cache context for deciding whether a particular process is to be enqueued to a particular one of the affinity run queues or to the global run queue, the decision means including hysteresis so that for one range of amounts of cache context the decision means decides the process is to be enqueued to the global run queue regardless of which run queue the process was most recently enqueued, for another range of amounts of cache context the decision means decides the process is to be enqueued to the particular affinity run queue regardless of which run queue the process was most recently enqueued, and for a middle range of amounts of cache context the decision means decides the process is to be enqueued to the run queue to which the process was most recently enqueued.
Claim 11
Dependent Claim
211 words
A computing system, comprising: multiple computing engines that run processes, the multiple computing engines being associated with respective cache memories and respective affinity run queues; a global run queue; cache context estimating means for estimating respective amounts of cache context with respect to respective cache memories and particular ones of the processes; enqueuing means for enqueuing the processes to the affinity run queues and the global run queue; decision means responsive to the estimated amount of cache context for deciding whether a particular process is to be enqueued to a particular one of the affinity run queues or to the global run queue, the decision means including hysteresis so that for one range of amounts of cache context the decision means decides the process is to be enqueued to the global run queue regardless of which run queue the process was most recently enqueued, for another range of amounts of cache context the decision means decides the process is to be enqueued to the particular affinity run queue regardless of which run queue the process was most recently enqueued, and for a middle range of amounts of cache context the decision means decides the process is to be enqueued to the run queue to which the process was most recently enqueued.
Claim 12
Dependent Claim
38 words
The computing system of claim 9 in which there is more than one global run queue and the decision means decides which global run queue a process is to be enqueued depending on the type of the process.
Claim 13
Dependent Claim
68 words
A multiple engine computing system that runs a process, comprising: a pointer to a home run queue where the process was first enqueued; a pointer to a current run queue associated with an engine that last ran the process; a parameter stored for estimating an amount of cache context associated with the process; and a memory location storing an identity of an engine that last ran the process.
Claim 14
Dependent Claim
68 words
A multiple engine computing system that runs a process, comprising: a pointer to a home run queue where the process was first enqueued; a pointer to a current run queue associated with an engine that last ran the process; a parameter stored for estimating an amount of cache context associated with the process; and a memory location storing an identity of an engine that last ran the process.
Claim 15
Dependent Claim
16 words
The system of claim 11 in which the parameter is indicative of an engine runtime parameter.
Claim 16
Dependent Claim
68 words
A multiple engine computing system that runs a process, comprising: a memory location storing a priority of a currently running process; a pointer to a list of run queues from which the engine receives processes; a pointer to an affinity run queue associated with the engine; and a memory location storing an engine related parameter used for estimating an amount of cache context associated with a runnable process.
Claim 17
Dependent Claim
68 words
A multiple engine computing system that runs a process, comprising: a memory location storing a priority of a currently running process; a pointer to a list of run queues from which the engine receives processes; a pointer to an affinity run queue associated with the engine; and a memory location storing an engine related parameter used for estimating an amount of cache context associated with a runnable process.
Claim 18
Dependent Claim
66 words
The engine data structure of claim 13 further comprising: a pointer to a run queue not associated with the engine where a process can be moved when the run queue associated with the engine data structure contains more than a predetermined number of processes; and a memory storing a datum indicative of how many processes to move to the run queue not associated with the engine.