Database load balancing for multi-tier computer systems
First Claim
1. A database load balancing method for back-end tier of a multi-tier computing environment including multiple database servers for at least one database, the database servers having a unified view of data in each database, comprising the steps of:
- receiving one or more database queries in the back-end tier of said multi-tier computing environment;
establishing database specific connections to said multiple database servers in the back-end tier of said multi-tier computing environment for communicating with said database servers; and
assigning new database queries to respective ones of said multiple database servers in the back-end tier of said multi-tier computing environment to balance respective loads of said multiple database servers wherein assigning each new database query comprises the steps of;
(i) determining possible assignments of that new database query to one or more of said multiple database servers, each said possible assignment to one of said multiple database servers being based on a weighted combination of a number of database specific load balancing schemes to balance respective database query loads of said multiple database servers, further comprising the steps of dynamically changing a magnitude of one or more of weighting factors of said weighted combination; and
(ii) assigning that new database query to one of said multiple database servers as a function of said possible assignments of that database query, to balance respective database query loads of said multiple database servers.
0 Assignments
0 Petitions
Accused Products
Abstract
A load balancing method and system for a transaction computer system having multiple database servers for at least one database, wherein database servers cooperate to provide a unified view of the data in the database. The method includes the steps of establishing connections to said multiple database servers for communicating with said database servers; and assigning transactions to respective ones of said multiple database servers to balance respective loads of said multiple database servers. Assigning each new transaction includes the steps of determining possible assignments of that new transaction to one or more of said multiple database servers, each said possible assignment to one of said multiple database servers being based on a load balancing scheme to balance respective loads of said multiple database servers; and assigning that new transaction to one of said multiple database servers as a function of said possible assignments of that new transaction, to balance respective loads of said multiple database servers.
-
Citations
39 Claims
-
1. A database load balancing method for back-end tier of a multi-tier computing environment including multiple database servers for at least one database, the database servers having a unified view of data in each database, comprising the steps of:
-
receiving one or more database queries in the back-end tier of said multi-tier computing environment; establishing database specific connections to said multiple database servers in the back-end tier of said multi-tier computing environment for communicating with said database servers; and assigning new database queries to respective ones of said multiple database servers in the back-end tier of said multi-tier computing environment to balance respective loads of said multiple database servers wherein assigning each new database query comprises the steps of; (i) determining possible assignments of that new database query to one or more of said multiple database servers, each said possible assignment to one of said multiple database servers being based on a weighted combination of a number of database specific load balancing schemes to balance respective database query loads of said multiple database servers, further comprising the steps of dynamically changing a magnitude of one or more of weighting factors of said weighted combination; and (ii) assigning that new database query to one of said multiple database servers as a function of said possible assignments of that database query, to balance respective database query loads of said multiple database servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A database load balancing system for back-end tier of a multi-tier computing environment including multiple database servers for at least one database, the database servers having a unified view of data in each database, comprising:
-
at least one database load balancer in the back-end tier of said multi-tier computing environment for receiving new database queries and means for selecting one of said database servers for assigning each new database query to balance respective database query loads of said multiple database servers wherein means for selecting one of said database servers includes; (i) means for determining possible assignments of each new database query to one or more of said multiple database servers, each possible assignment to one of said multiple database servers being based on a weighted combination of a number of database specific load balancing schemes, further comprising means for dynamically changing a magnitude of one or more weighting factors of said weighted combination; and (ii) means for selecting one of said database servers for assigning the new database query thereto as a function of said possible assignments; and at least one database server interface including connections for communication with said multiple database servers in the back-end tier of said multi-tier computing environment to send each new database query to one of said multiple database servers selected by the database load balancer. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer program product for use with a database load balancing system in back-end tier of a multi-tier computing environment including multiple database servers for a least one database, the database servers having a unified view of the data in each database, the computer program product comprising:
-
a computer readable medium; means, provided on the computer-readable medium, for establishing database specific connections to said multiple database servers in the back-end tier of said multi-tier computing environment for communicating with said database servers; and means, provided on the computer-readable medium, for assigning new database queries to respective ones of said multiple database servers in the back-end tier of said multi-tier computing environment to balance respective database query loads of said multiple database servers wherein assigning each new database query comprises; (i) means for determining possible assignments of that new database query to one or more of said multiple database servers, each said possible assignment to one of said multiple database servers being based on a weighted combination of a number of database specific load balancing schemes to balance respective database query loads of said multiple database servers, further comprising means for dynamically changing the magnitude of one or more weighting factors of said weighted combination; and (ii) means for assigning that new database query to one of said multiple database servers as a function of said possible assignments of that new database query, to balance respective database query loads of said multiple database servers. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification