Adaptively routing transactions to servers
First Claim
1. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause:
- causing mappings to be stored for use by one or more mid-tier servers that provide connections to database servers, the mappings comprising;
a data-to-dataset mapping that maps first requests associated with data having one or more first key values to one or more first datasets and other requests associated with other data having one or more other key values to one or more other datasets,a first dataset-to-candidate-physical-database-server mapping that maps the one or more first datasets to a first candidate physical database server and the one or more other datasets to one or more other candidate physical database servers, anda candidate-physical-database-server-to-physical-database-server mapping that maps the first candidate physical database server to a first physical database server and the one or more other candidate physical database servers to one or more other physical database servers;
wherein when, based on a change in one or more conditions of the first candidate physical database server after causing the mappings to be stored for use, the first candidate physical database server does not satisfy stored criteria, one or more of the first requests, which are mapped to the first candidate physical database server, are caused to be routed to a first other physical database server, andwhen a second candidate physical database server does not satisfy the stored criteria, one or more second requests, which are mapped to the second candidate physical database server, are caused to be routed to a second other physical database server;
wherein the second candidate physical database server is different from the first candidate physical database server;
receiving information that indicates a change of at least one of a condition or a characteristic of one or more physical database servers;
using the information to automatically generate a second dataset-to-candidate-physical-database-server mapping that is different from the first dataset-to-candidate-physical-database-server mapping, wherein the second dataset-to-candidate-physical-database-server mapping maps at least one of the first one or more datasets to the second candidate physical database server;
causing the one or more mid-tier servers to use the second dataset-to-candidate-physical-database-server mapping instead of the first dataset-to-candidate-physical-database-server mapping.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus is provided for dynamically generating data to dataset mappings and dataset to logical instance mappings and distributing these mappings to subscribers for the purpose of routing work. An advisory engine updates the mappings of data to data sets based at least in part on changing demands and patterns of access to data, and updates the mappings of datasets to logical instances based at least in part on anticipated capacity and change in conditions of the database servers. The subscribers receive and store the mapping information that maps the data to dataset identifiers, and dataset identifiers to logical database instances. The subscribers may also receive information that describes the current availability conditions of database instances, which are used to override the mapping of logical database instances to physical database instances. Subscribers may use the data to dataset mapping to map data identified from in an incoming database request to a dataset. Subscribers may use the dataset to logical instance mapping to map a dataset to a possible database server, and the logical instance to physical instance mapping to map a possible database server to an available database server. In this manner, the subscribers may route data efficiently even when access patterns and server conditions change.
-
Citations
32 Claims
-
1. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause:
-
causing mappings to be stored for use by one or more mid-tier servers that provide connections to database servers, the mappings comprising; a data-to-dataset mapping that maps first requests associated with data having one or more first key values to one or more first datasets and other requests associated with other data having one or more other key values to one or more other datasets, a first dataset-to-candidate-physical-database-server mapping that maps the one or more first datasets to a first candidate physical database server and the one or more other datasets to one or more other candidate physical database servers, and a candidate-physical-database-server-to-physical-database-server mapping that maps the first candidate physical database server to a first physical database server and the one or more other candidate physical database servers to one or more other physical database servers; wherein when, based on a change in one or more conditions of the first candidate physical database server after causing the mappings to be stored for use, the first candidate physical database server does not satisfy stored criteria, one or more of the first requests, which are mapped to the first candidate physical database server, are caused to be routed to a first other physical database server, and when a second candidate physical database server does not satisfy the stored criteria, one or more second requests, which are mapped to the second candidate physical database server, are caused to be routed to a second other physical database server; wherein the second candidate physical database server is different from the first candidate physical database server; receiving information that indicates a change of at least one of a condition or a characteristic of one or more physical database servers; using the information to automatically generate a second dataset-to-candidate-physical-database-server mapping that is different from the first dataset-to-candidate-physical-database-server mapping, wherein the second dataset-to-candidate-physical-database-server mapping maps at least one of the first one or more datasets to the second candidate physical database server; causing the one or more mid-tier servers to use the second dataset-to-candidate-physical-database-server mapping instead of the first dataset-to-candidate-physical-database-server mapping. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause:
-
storing a first mapping of data to respective datasets, a second mapping of datasets to respective candidate physical database servers, and a third mapping of candidate physical database servers to respective physical database servers, wherein the first mapping maps requests associated with data having one or more key values to a one or more particular datasets and other requests associated with other data having one or more other key values to one or more other datasets, wherein the second mapping maps the one or more particular datasets to a particular candidate physical database server and the one or more other datasets to one or more other candidate physical database servers, and wherein the third mapping maps the particular candidate physical database server to a particular physical database server and the one or more other candidate physical database servers to one or more other physical database servers; at a mid-tier server that routes requests to database servers, receiving a particular request to access a database; in response to receiving the particular request, routing the particular request to a physical database server by; mapping the particular request to the particular dataset using the first mapping; mapping the particular dataset to the particular candidate physical database server using the second mapping; accessing stored information that indicates the particular candidate physical database server does not satisfy stored criteria; mapping the particular candidate physical database server to the other physical database server using the third mapping; and wherein when, based on a change in one or more conditions of the particular candidate physical database server after the third mapping is stored, the particular candidate physical database server does not satisfy the stored criteria, the mid-tier server routes the particular request from the particular candidate physical database server to the other physical database server. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
causing mappings to be stored for use by one or more mid-tier servers that provide connections to database servers, the mappings comprising; a data-to-dataset mapping that maps first requests associated with data having one or more first key values to a one or more first datasets and other requests associated with other data having one or more other key values to one or more other datasets, a first dataset-to-candidate-physical-database-server mapping that maps a first the one or more first datasets to a first candidate physical database server and the one or more other datasets to one or more other candidate physical database servers, and a candidate-physical-database-server-to-physical-database-server mapping that maps the first candidate physical database server to a first physical database server and the one or more other candidate physical database servers to one or more other physical database servers; wherein when, based on a change in one or more conditions of the first candidate physical database server after causing the mappings to be stored for use, the first candidate physical database server does not satisfy stored criteria, one or more of the first requests, which are mapped to the first candidate physical database server, are caused to be routed to a first other physical database server, and when a second candidate physical database server does not satisfy the stored criteria, one or more second requests, which are mapped to the second candidate physical database server, are caused to be routed to a second other physical database server; wherein the second candidate physical database server is different from the first candidate physical database server; receiving information that indicates a change of at least one of a condition or a characteristic of one or more physical database servers; using the information to automatically generate a second dataset-to-candidate-physical-database-server mapping that is different from the first dataset-to-candidate-physical-database-server mapping, wherein the second dataset-to-candidate-physical-database-server mapping maps at least one of the first one or more datasets to the second candidate physical database server; causing the one or more mid-tier servers to use the second dataset-to-candidate-physical-database-server mapping instead of the first dataset-to-candidate-physical-database-server mapping; wherein the method is performed by one or more computing devices. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A method comprising:
-
storing a first mapping of data to respective datasets, a second mapping of datasets to respective candidate physical database servers, and a third mapping of candidate physical database servers to respective physical database servers, wherein the first mapping maps requests associated with data having one or more key values to a one or more particular datasets and other requests associated with other data having one or more other key values to one or more other datasets, wherein the second mapping maps the one or more particular datasets to a particular candidate physical database server and the one or more other datasets to one or more other candidate physical database servers, and wherein the third mapping maps the particular candidate physical database server to a particular physical database server and the one or more other candidate physical database servers to one or more other physical database servers; at a mid-tier server that routes requests to database servers, receiving a particular request to access a database; in response to receiving the particular request, routing the particular request to a physical database server by; mapping the particular request to the particular dataset using the first mapping; mapping the particular dataset to the particular candidate physical database server using the second mapping; accessing stored information that indicates the particular candidate physical database server does not satisfy stored criteria; mapping the particular candidate physical database server to the other physical database server using the third mapping; and wherein when, based on a change in one or more conditions of the particular candidate physical database server after the third mapping is stored, the particular candidate physical database server does not satisfy the stored criteria, the mid-tier server routes the particular request from the particular candidate physical database server to the other physical database server; wherein the method is performed by one or more computing devices. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
Specification