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:
- selecting a primary data server from the plurality of data servers to store the piece of data, and duplicating the piece of data to other data servers in the plurality of data servers;
maintaining a cluster of catalog servers, wherein one of the catalog servers is selected as the master catalog server;
recording a data state information of the piece of data to the master catalog server, and duplicating the data state information to other catalog servers in the cluster of catalog servers; and
responsive to a failure of the primary data server, selecting a new primary server from the plurality of data servers, and updating the cluster of catalog servers.
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.
67 Citations
18 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:
-
selecting a primary data server from the plurality of data servers to store the piece of data, and duplicating the piece of data to other data servers in the plurality of data servers; maintaining a cluster of catalog servers, wherein one of the catalog servers is selected as the master catalog server; recording a data state information of the piece of data to the master catalog server, and duplicating the data state information to other catalog servers in the cluster of catalog servers; and responsive to a failure of the primary data server, selecting a new primary server from the plurality of data servers, and updating the cluster of catalog servers. - View Dependent Claims (2, 3, 4)
-
-
5. 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 across multiple data centers, the computer program product comprising:
a computer usable medium having computer usable program code embodied therewith, the computer usable program code comprising; instructions to select a primary data server from the plurality of data servers to store the piece of data, and to duplicate the piece of data to other data servers in the plurality of data servers; instructions to maintain a cluster of catalog servers, wherein one of the catalog servers is selected as the master catalog server; instructions to record a data state information of the piece of data to the master catalog server, and to duplicate the data state information to other catalog servers in the cluster of catalog servers; and responsive to a failure of the primary data server, instructions to select a new primary server from the plurality of data servers, and to update the cluster of catalog servers. - View Dependent Claims (6, 7, 8)
-
9. 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 across multiple data centers, the computer program product comprising; a computer usable medium having computer usable program code embodied therewith, the computer usable program code comprising; instructions to select a primary data server from the plurality of data servers to store the piece of data, and to duplicate the piece of data to other data servers in the plurality of data servers; instructions to maintain a cluster of catalog servers, wherein one of the catalog servers is selected as the master catalog server; instructions to record a data state information of the piece of data to the master catalog server, and to duplicate the data state information to other catalog servers in the cluster of catalog servers; and responsive to a failure of the primary data server, instructions to select a new primary server from the plurality of data servers, and to update the cluster of catalog servers. - View Dependent Claims (10, 11, 12)
-
-
13. A computer system 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:
-
a network partition manager configured to detect and manage first and second network partitions created when one of the plurality of data centers fails; a headmaster controller configured to control functions of data centers in at least one of the first and second network partitions; a router configured to redirect all write transactions to the second network partition to the first network partition; a repair manager configured to reconnect a select data server in the second network partition to the headmaster controller, so that the headmaster controller can remove function limitations on the select data server; a recovery manager configured to recover status and privilege information of the select data server after the repair manager establishes a connection to the headmaster controller; a temporal regrouping manager configured to remove a failing data server in the failing data center, and to regroup other data servers in the plurality of data servers; a load and traffic controller configured to redirect traffic to the other data servers according to the service capability of each of the other data servers; and an inter-data-center connection manager configured to monitor connections between the data centers. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification