Adding individual database failover/switchover to an existing storage component with limited impact
First Claim
1. A computer-readable storage medium not including signals for storing instructions that when executed by a computer system, causes the system to:
- receive client communications of a client at a mid-tier proxy server;
access configuration information, with the mid-tier proxy server, that defines a plurality of backend servers of a server cluster for selection and for directing queries, and represents the mid-tier proxy server as a data storage component that appears to host one or more data store instances;
query the plurality of backend servers defined in the configuration information to identify the one of the one or more data store instances that is online, mounted, and not failed as a currently active data store instance and identify a backend server hosting the currently active data store instance as an active backend server;
route the client communications via the mid-tier proxy server to the active backend server; and
retrieve state information from the active backend server, the state information maintaining states of all of the one or more data store instances and associated backend servers, the states comprising one of active and inactive, wherein data store instances and associated backend servers are in the active state when the data store instances and associated backend servers are online and not failed, and inactive when offline or failed, the currently active data store instance receiving the routed client communications via the proxy component based on the state information retrieved from the active backend server.
1 Assignment
0 Petitions
Accused Products
Abstract
High availability architecture that employs a mid-tier proxy server to route client communications to active data store instances in response to failover and switchover. The proxy server includes an active manager client that interfaces to an active manager in each of the backend servers. State information and configuration information are maintained separately and according to semantics consistent with needs of corresponding data, the configuration information changing less frequently and more available, the state information changing more frequently and less available. The active manager indicates to the proxy server which of the data storage instances is the currently the active instance. In the event that the currently active instance is inactive, the proxy server selects a different backend server that currently hosts the active data store instance. Client communications are then routed to the different backend server with minimal or no interruption to the client.
-
Citations
13 Claims
-
1. A computer-readable storage medium not including signals for storing instructions that when executed by a computer system, causes the system to:
-
receive client communications of a client at a mid-tier proxy server; access configuration information, with the mid-tier proxy server, that defines a plurality of backend servers of a server cluster for selection and for directing queries, and represents the mid-tier proxy server as a data storage component that appears to host one or more data store instances; query the plurality of backend servers defined in the configuration information to identify the one of the one or more data store instances that is online, mounted, and not failed as a currently active data store instance and identify a backend server hosting the currently active data store instance as an active backend server; route the client communications via the mid-tier proxy server to the active backend server; and retrieve state information from the active backend server, the state information maintaining states of all of the one or more data store instances and associated backend servers, the states comprising one of active and inactive, wherein data store instances and associated backend servers are in the active state when the data store instances and associated backend servers are online and not failed, and inactive when offline or failed, the currently active data store instance receiving the routed client communications via the proxy component based on the state information retrieved from the active backend server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented data system, comprising:
-
a processing unit; a memory communicatively coupled to the processing unit; a proxy component stored in the memory and arranged for execution by the processing unit for routing communications between clients and backend servers; the memory comprising configuration information for defining a plurality of backend servers of a server cluster for selection and for directing queries and for representing the proxy component as a data storage component that appears to host a plurality of associated backend data store instances, the representation facilitating high availability of data in response to failover at the backend servers; an active manager client as part of the proxy component for retrieving state information from a backend server, the state information comprising one of active and inactive, wherein the backend servers and associated backend data store instances are in the active state when the backend servers and associated backend data store instances are online and not failed, and inactive when offline or failed, and which one of the plurality of backend data store instances is a currently active backend data store instance, the currently active backend data store instance receiving the communications routed from the clients via the proxy component based on the state information retrieved from the backend server; and a discovery component for designating a backend server for an unassociated messaging client and providing a discovery mechanism to the unassociated messaging client. - View Dependent Claims (11)
-
-
12. A computer-implemented data method for facilitating high availability of data in response to failover at the backend servers, comprising:
-
receiving client communications of a client at a mid-tier proxy server; accessing, by a processing unit, configuration information that defines a plurality of backend servers of a server cluster for selection and for directing queries, and represents the mid-tier proxy server as a data storage component that appears to host one or more data store instances; querying the plurality of backend servers defined in the configuration information to identify the one of the one or more data store instances that is online, mounted, and not failed as a currently active data store instance and identify the backend server hosting the currently active data store instance as an active backend server; retrieving state information from the active backend server, the state information maintaining states of all of the one or more data store instances and associated backend servers, the states comprising one of active and inactive, wherein data store instances and associated backend servers are in the active state when the data store instances and associated backend servers are online and not failed, and inactive when offline or failed, the currently active data store instance receiving the routed client communications via the proxy component based on the state information retrieved from the active backend server; designating a backend server for an unassociated messaging client; and providing a discovery mechanism to the unassociated messaging client. - View Dependent Claims (13)
-
Specification