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, wherein each database server is organized into one of a plurality of logical clusters, and wherein each logical cluster comprises at least one database server and is associated with a particular application;
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 at the first database server 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 at the first database server 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.
44 Citations
41 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, wherein each database server is organized into one of a plurality of logical clusters, and wherein each logical cluster comprises at least one database server and is associated with a particular application; 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 at the first database server 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 at the first database server 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, 27)
-
-
14. 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, wherein each of the plurality of servers is organized into one of a plurality of logical clusters, and wherein each logical cluster comprises at least one server and is associated with a particular application; 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 at the particular server whether the client should be redirected to another server based on the load scores of each of the plurality of servers; 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 (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
28. 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 at each database server in the cluster 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; a workload manager module at each database server, responsive to a client requesting that work be performed at a first database server, which automatically transfers the client to a second database server when the workload manager at the first database server determines that the requested work should be performed at a second database server having a lower load score than the first database server; and a logical cluster module enabling a user to organize the plurality of database servers into plurality of logical clusters, each logical cluster comprising at least one database server and associated with a particular application. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
Specification