Maintaining data integrity in data servers across data centers
First Claim
1. A method for maintaining data integrity of a plurality of copies of a piece of data, the plurality of copies being stored in a plurality of data servers across multiple data centers, comprising:
- providing a plurality of active data servers to be the plurality of data servers, such that the plurality of copies stored therein are simultaneously accessible;
selecting one of the plurality of data servers to be a primary data server, storing the piece of data on the primary data server, and duplicating the piece of data to the other ones of the plurality of data servers;
maintaining a cluster of catalog servers, and designating one of the catalog servers to be a master catalog server;
recording data state information of the piece of data to the master catalog server, including registering the plurality of data servers that store the plurality of copies of the piece of data, and duplicating the data state information to the other catalog servers of the cluster of catalog servers; and
routing each of a plurality of service requests for the piece of data either to the primary data server or to one of the other data servers that is closest to the service request, in accordance with the data state information of the piece of data, to thereby simultaneously access the copies of the piece of data on the plurality of data servers including the copy on the primary data server, whereinthe routing includes selecting, using the recorded data state information, a closest one of the registered plurality of data servers and routing the service request to the selected data server.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, computer program product and system for maintaining data integrity of multiple copies of a piece of data in data servers of multiple data centers, includes maintaining a cluster of catalog servers, where one of the catalog servers is selected as the master catalog server, storing the piece of data in a primary data server chosen from the data servers, duplicating the piece of data to one or more backup data servers chosen from the data servers, recording a data state information to the master catalog server, duplicating the data state information to the cluster of catalog servers, and updating the data servers and the cluster of catalog servers when the primary data server fails.
30 Citations
15 Claims
-
1. A method for maintaining data integrity of a plurality of copies of a piece of data, the plurality of copies being stored in a plurality of data servers across multiple data centers, comprising:
-
providing a plurality of active data servers to be the plurality of data servers, such that the plurality of copies stored therein are simultaneously accessible; selecting one of the plurality of data servers to be a primary data server, storing the piece of data on the primary data server, and duplicating the piece of data to the other ones of the plurality of data servers; maintaining a cluster of catalog servers, and designating one of the catalog servers to be a master catalog server; recording data state information of the piece of data to the master catalog server, including registering the plurality of data servers that store the plurality of copies of the piece of data, and duplicating the data state information to the other catalog servers of the cluster of catalog servers; and routing each of a plurality of service requests for the piece of data either to the primary data server or to one of the other data servers that is closest to the service request, in accordance with the data state information of the piece of data, to thereby simultaneously access the copies of the piece of data on the plurality of data servers including the copy on the primary data server, wherein the routing includes selecting, using the recorded data state information, a closest one of the registered plurality of data servers and routing the service request to the selected data server. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product for maintaining data integrity of a plurality of copies of a piece of data, the plurality of copies being stored in a plurality of data servers that are active data servers across multiple data centers, and being simultaneously accessible, the computer program product comprising:
-
a non-transitory computer usable medium having computer usable program code embodied therewith, the computer usable program code comprising; instructions to select one of the plurality of data servers to be a primary data server, to store the piece of data on the primary data server, and to duplicate the piece of data to the other ones of the plurality of data servers; instructions to maintain a cluster of catalog servers, and to designate one of the catalog servers to be a master catalog server; instructions to record data state information of the piece of data to the master catalog server, including instructions to register the plurality of data servers that store the plurality of copies of the piece of data, and to duplicate the data state information to the other catalog servers of the cluster of catalog servers; and instructions to route each of a plurality of service requests for the piece of data either to the primary data server or to one of the other data servers that is closest to the service request, in accordance with the data state information of the piece of data, to thereby simultaneously access the copies of the piece of data on the plurality of data servers including the copy on the primary data server, wherein the instructions to route include instructions to select, using the recorded data state information, a closest one of the registered plurality of data servers and to route the service request to the selected data server. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer system comprising:
-
a processor; a memory operatively coupled with the processor; a storage device operatively coupled with the processor and the memory; and a computer program product for maintaining data integrity of a plurality of copies of a piece of data, the plurality of copies being stored in a plurality of data servers that are active data servers across multiple data centers, and being simultaneously accessible, the computer program product comprising; a non-transitory computer usable medium having computer usable program code embodied therewith, the computer usable program code comprising; instructions to select one of the plurality of data servers to be a primary data server, to store the piece of data on the primary data server, and to duplicate the piece of data to the other ones of the plurality of data servers; instructions to maintain a cluster of catalog servers, and to designate one of the catalog servers to be a master catalog server; instructions to record data state information of the piece of data to the master catalog server, including instructions to register the plurality of data servers that store the plurality of copies of the piece of data, and to duplicate the data state information to the other catalog servers of the cluster of catalog servers; and instructions to route each of a plurality of service requests for the piece of data either to the primary data server or to one of the other data servers that is closest to the service request, in accordance with the data state information of the piece of data, to thereby simultaneously access the copies of the piece of data on the plurality of data servers including the copy on the primary data server, wherein the instructions to route include instructions to select, using the recorded data state information, a closest one of the registered plurality of data servers and to route the service request to the selected data server. - View Dependent Claims (12, 13, 14, 15)
-
Specification