Patent US917772A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5283897A Expired / Lapsed US ⏱️ 0.0 years remaining

Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof

Assignee: International Business Machines Corp
•
Filing: 1990-04-30
•
Granted: 1994-02-01
•
Expires: 2010-04-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A semi-dynamic load balancer for a transaction processing system reallocates transaction types among computers in the system as a group rather than as individual transactions. Statistical data is accumulated in an affinity matrix which records the number of times a transaction type i was blocked by transaction type j was holding a lock on a data item that transaction type i wanted to access. When an overloaded computer is detected, transaction types are reallocated on the computers of the system according to a transaction type routing table which is updated based on data from the affinity matrix.

Inventors

  • 👤 Leonidas Georgiadis
  • 👤 Christos N. Nikolaou
  • 👤 George W. Wang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 18:57
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5027; G06F9/5033; G06F9/5083

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 191 words
A semi-dynamic load balancer for a transaction-type computer system having multiple processors and a shared database, said load balancer reassigning transaction types to respective ones of said multiple processors to balance respective loads of said multiple processors; the load balancer comprising: routing means connected to said multiple processors for assigning new transactions of a same type to a processor of said multiple processors according to a routing table; monitoring means connected to said multiple processors for periodically determining whether a load imbalance has occurred among said processors, said monitoring means including threshold means for determining whether a processor utilization of one of said multiple processors exceeds a predetermined threshold; and reallocation means connected to and responsive to said monitoring means and including lock contention means for determining a predicted load to a candidate processor of said multiple processors for a possible reassignment of said new transactions of said same type of said one of said multiple processors having a processor utilization exceeding said predetermined threshold; said reallocation means updating said routing table to thereby automatically reassign said new transactions of said same type to said candidate processor of said multiple processors.
Claim 2
Dependent Claim 191 words
A semi-dynamic load balancer for a transaction-type computer system having multiple processors and a shared database, said load balancer reassigning transaction types to respective ones of said multiple processors to balance respective loads of said multiple processors; the load balancer comprising: routing means connected to said multiple processors for assigning new transactions of a same type to a processor of said multiple processors according to a routing table; monitoring means connected to said multiple processors for periodically determining whether a load imbalance has occurred among said processors, said monitoring means including threshold means for determining whether a processor utilization of one of said multiple processors exceeds a predetermined threshold; and reallocation means connected to and responsive to said monitoring means and including lock contention means for determining a predicted load to a candidate processor of said multiple processors for a possible reassignment of said new transactions of said same type of said one of said multiple processors having a processor utilization exceeding said predetermined threshold; said reallocation means updating said routing table to thereby automatically reassign said new transactions of said same type to said candidate processor of said multiple processors.
Claim 3
Dependent Claim 230 words
A semi-dynamic load balancer for a multi-computer, shared database transaction processing system, said load balancer reassigning transactions to balance loads of respective ones of said computers, the load balancer comprising: routing means connected to said processing means for assigning new transactions of a same type to a common computer in accordance with a transaction type routing table; statistical means connected to said processing system for creating and maintaining an affinity matrix that records the number of times a transaction type i was blocked by transaction type j because said transaction type j was holding a lock on a data item in said shared database that said transaction type i wanted to access; monitoring means connected to said processing system for periodically checking for an over loaded computer in said system; and reallocation means, connected to and responsive to said monitoring means, using said affinity matrix for predicting an expected change in a contention related loading factor for each said computer for various possible reassignments of transaction types, said reallocation means making one or more changes in said transaction type routing table based on said predicted expected change in said contention related loading factor for each said computer for the various possible reassignments of transaction types, said routing means thereafter automatically reassigning new transaction types from an over loaded computer to an under utilized computer in accordance with said routing table.
Claim 4
Dependent Claim 230 words
A semi-dynamic load balancer for a multi-computer, shared database transaction processing system, said load balancer reassigning transactions to balance loads of respective ones of said computers, the load balancer comprising: routing means connected to said processing means for assigning new transactions of a same type to a common computer in accordance with a transaction type routing table; statistical means connected to said processing system for creating and maintaining an affinity matrix that records the number of times a transaction type i was blocked by transaction type j because said transaction type j was holding a lock on a data item in said shared database that said transaction type i wanted to access; monitoring means connected to said processing system for periodically checking for an over loaded computer in said system; and reallocation means, connected to and responsive to said monitoring means, using said affinity matrix for predicting an expected change in a contention related loading factor for each said computer for various possible reassignments of transaction types, said reallocation means making one or more changes in said transaction type routing table based on said predicted expected change in said contention related loading factor for each said computer for the various possible reassignments of transaction types, said routing means thereafter automatically reassigning new transaction types from an over loaded computer to an under utilized computer in accordance with said routing table.
Claim 5
Dependent Claim 119 words
The semi-dynamic load balancer for a multi-computer transaction processing system as recited in claim 2 wherein one of the computers in said multi-computer system is designated as a front end computer and others of said multi-computer system are designated as back end computers, said routing means being installed on said front end computer and said monitoring means being installed on each of said back end computers, said system further including communication link means interconnecting said back end computers to said front end computers and said monitoring means periodically transmitting data to said front end computer, said statistical means being installed on said front end computer and generating said affinity matrix from said data transmitted by said back end computers.
Claim 6
Dependent Claim 279 words
A transaction processing system comprising: a plurality of computers sharing a common database, said plurality of computers being interconnected via communication links, one of said computers being a front end computer and others of said computers being back end computers; routing means at said front end computer for assigning new transactions of a same type to one of said back end computers in accordance with a transaction type routing table; means at each of said back end computers for periodically accumulating statistical data on the respective back end computer's work load and transmitting the statistical data to said front end computer; load balancing means at said front end computer for periodically analyzing said statistical data from said back end computers; wherein said load balancing means including statistical means for creating and maintaining an affinity matrix that records the number of times a transaction type i was blocked by transaction type j because said transaction type j was holding a lock on a data item in said shared common database that said transaction type i wanted to access, said load balancing means using said affinity matrix for predicting an expected change in a contention related loading factor for each said back end computer for various possible reassignments of transaction types and making one or more changes in said transaction type routing table based on said predicted expected change in said contention related loading factor for each said back end computer for the various possible reassignments of transaction types; said routing means thereby automatically reassigning transaction types from an over loaded back end computer to an under utilized back end computer in accordance with said transaction type routing table as updated.
Claim 7
Dependent Claim 279 words
A transaction processing system comprising: a plurality of computers sharing a common database, said plurality of computers being interconnected via communication links, one of said computers being a front end computer and others of said computers being back end computers; routing means at said front end computer for assigning new transactions of a same type to one of said back end computers in accordance with a transaction type routing table; means at each of said back end computers for periodically accumulating statistical data on the respective back end computer's work load and transmitting the statistical data to said front end computer; load balancing means at said front end computer for periodically analyzing said statistical data from said back end computers; wherein said load balancing means including statistical means for creating and maintaining an affinity matrix that records the number of times a transaction type i was blocked by transaction type j because said transaction type j was holding a lock on a data item in said shared common database that said transaction type i wanted to access, said load balancing means using said affinity matrix for predicting an expected change in a contention related loading factor for each said back end computer for various possible reassignments of transaction types and making one or more changes in said transaction type routing table based on said predicted expected change in said contention related loading factor for each said back end computer for the various possible reassignments of transaction types; said routing means thereby automatically reassigning transaction types from an over loaded back end computer to an under utilized back end computer in accordance with said transaction type routing table as updated.
Claim 8
Dependent Claim 304 words
In a transaction processing system of the type having a plurality of computers sharing a common database, said plurality of computers being interconnected via communication links, each of said computers processing one or more transaction types, at least one of said computers being a front end computer and others of said computers being back end computers, a load balancing system for said back end computers comprising: routing means at said front end computer for assigning new transactions of a same type to one computer of said back end computers in accordance with a transaction type routing table; monitoring means at each of said back end computers for accumulating statistical data on the back end computer's work load and periodically transmitting said statistical data to said front end computer; load balancing means at said front end computer for periodically analyzing said statistical data and identifying ones of said back end computers having a processor utilization exceeding a predetermined threshold, said load balancing means selecting one of said back end computers with a greatest utilization exceeding said threshold and selecting a transaction type as a candidate transaction type for reallocating to another one of said back end computers; said front end computer including calculating means for calculating an increase in loading to those back end computers having a processor utilization not exceeding said threshold due to reallocation of said candidate transaction type and then determining those of said back end computers for which the increase in loading plus current processor utilization do not exceed said threshold, said computers being candidate computers for reallocation of said candidate transaction type; said load balancing means selecting one of said candidate computers for which the calculated increase in loading is a minimum and reassigning said candidate transaction type to the selected candidate computer by updating said transaction type routing table.
Claim 9
Dependent Claim 304 words
In a transaction processing system of the type having a plurality of computers sharing a common database, said plurality of computers being interconnected via communication links, each of said computers processing one or more transaction types, at least one of said computers being a front end computer and others of said computers being back end computers, a load balancing system for said back end computers comprising: routing means at said front end computer for assigning new transactions of a same type to one computer of said back end computers in accordance with a transaction type routing table; monitoring means at each of said back end computers for accumulating statistical data on the back end computer's work load and periodically transmitting said statistical data to said front end computer; load balancing means at said front end computer for periodically analyzing said statistical data and identifying ones of said back end computers having a processor utilization exceeding a predetermined threshold, said load balancing means selecting one of said back end computers with a greatest utilization exceeding said threshold and selecting a transaction type as a candidate transaction type for reallocating to another one of said back end computers; said front end computer including calculating means for calculating an increase in loading to those back end computers having a processor utilization not exceeding said threshold due to reallocation of said candidate transaction type and then determining those of said back end computers for which the increase in loading plus current processor utilization do not exceed said threshold, said computers being candidate computers for reallocation of said candidate transaction type; said load balancing means selecting one of said candidate computers for which the calculated increase in loading is a minimum and reassigning said candidate transaction type to the selected candidate computer by updating said transaction type routing table.
Claim 10
Dependent Claim 136 words
The load balancing system as recited in claim 5 wherein said load balancing means includes statistical means for creating and maintaining an affinity matrix that records the number of times a transaction type i was blocked by transaction type j because said transaction type j was holding a lock on a data item in said shared common database that said transaction type i wanted to access, said load balancing means using said affinity matrix for predicting an expected change in a contention related loading factor for each said back end computer for various possible reassignments of transaction types and making one or more changes in said transaction type routing table based on said predicted expected change in said contention related loading factor for each said back end computer for the various possible reassignments of transaction types.
Claim 11
Dependent Claim 85 words
The load balancing system as recited in claim 5 wherein if there is not single transaction type which can be reallocated to achieve processor utilization below said threshold, said balancing means selecting more than one transaction type as a candidate transaction type for reallocation to another back end computer and said calculating means calculating an increase in loading to those back end computers having a processor utilization not exceeding said threshold due to reallocation of said candidate transaction type comprising more than one transaction type.

References Cited (Backward Citations)

US4920487A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-01-31 1997-08-02 1998-02-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-01-31 2001-08-02 2002-02-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-01-31 2005-08-02 2006-02-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag