System and Methodology Providing Workload Management in Database Cluster
First Claim
1. A method for allocating workload amongst a plurality of database servers sharing access to data, the method comprising:
- periodically collecting information about workload at each database server;
distributing the workload information to each of said plurality of database servers;
in response to a client connected to a first database server requesting that work be performed, examining the workload information to determine whether the requested work should be performed at a second database server having a lower workload than the first database server;
if it is determined that the work should be performed at the second database server, automatically transferring the client connection to the second database server and performing the requested work at the second database server; and
otherwise, performing the requested work at the first database server.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and methodology providing workload management in a database cluster. In one embodiment, for example, a method for allocating workload amongst a plurality of database servers sharing access to data comprises steps of: periodically collecting information about workload at each database server; distributing the workload information to each of the plurality of database servers; in response to a client connected to a first database server requesting that work be performed, examining the workload information to determine whether the requested work should be performed at a second database server having a lower workload than the first database server; if it is determined that the work should be performed at the second database server, automatically transferring the client connection to the second database server and performing the requested work at the second database server; and otherwise, performing the requested work at the first database server.
166 Citations
44 Claims
-
1. A method for allocating workload amongst a plurality of database servers sharing access to data, the method comprising:
-
periodically collecting information about workload at each database server; distributing the workload information to each of said plurality of database servers; in response to a client connected to a first database server requesting that work be performed, examining the workload information to determine whether the requested work should be performed at a second database server having a lower workload than the first database server; if it is determined that the work should be performed at the second database server, automatically transferring the client connection to the second database server and performing the requested work at the second database server; and otherwise, performing the requested work at the first database server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 29)
-
-
15. In a distributed database system comprising a plurality of servers sharing access to data, a method for directing clients to connect to servers based on workload, the method comprising:
-
periodically collecting statistics about workload at each of said plurality of servers; calculating a load score for each server based on the collected statistics; distributing the load score to each of the plurality of servers; in response to a client attempting to connect to a particular server, determining whether the client should be redirected to another server based on the load scores; if it is determined that the client should be redirected to another server, providing the client with an ordered list of servers to which the client may connect; and otherwise, allowing the client to connect to the particular server. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
30. In a distributed database cluster comprising a plurality of database servers, a system for allocating workload amongst the plurality of database servers, the system comprising:
-
a statistics collector module which periodically collects workload statistics at each database server; a load profile module at each database server for calculating a load score for such database server based on the workload statistics and publishing the load score to other database servers in the cluster; and a workload manager module, responsive to a client requesting that work be performed at the first database server, which automatically transfers the client to a second database server when it determines that the requested work should be performed at a second database server having a lower load score than the first database server. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
Specification