Replication of data between mirrored data sites
First Claim
1. A method for replication of data between mirrored data sites, the method comprising:
- receiving a data object at a first mirrored data site including one or more data nodes;
replicating the data object to the one or more data nodes internally within the first mirrored data site;
generating a data object reference indicating a forthcoming transmission of the data object to a second mirrored data site, wherein the data object reference includes an identification of the first mirrored data site, which stores one or more replicas of the data object;
transmitting the data object reference to a proxy reference database; and
queuing the data object referred to by the data object reference in a data delivery queue for the forthcoming transmission to the second mirrored data site, wherein upon transmission of the data object referred to by the data object reference to the second mirrored data site, the data object is replicated to one or more data nodes associated with the second mirrored data site; and
discarding the data object reference from the proxy reference database in response to the data object being successfully written to the second mirrored data site; and
receiving at the second mirrored data site, a request for the data object;
determining, based on the data object reference in the proxy reference database, that the data object has not been received by the second mirrored data site; and
based on the determination, requesting the first mirrored data site referred to by the data object reference in the proxy reference database to serve the data object.
4 Assignments
0 Petitions
Accused Products
Abstract
Computer-implemented methods and systems for replication of data between mirrored data sites are provided. An exemplary method may comprise receiving a data object at a mirrored data site, the mirrored data site including one or more data nodes. The data objects are replicated to the one or more data nodes internally. Then, a data object reference associated with the data object is generated. The reference referring to the data object is queued for transmission to all other mirrored data sites. The data object reference associated with the data object is transmitted to the other mirrored data sites. When the data object is received at each mirrored data site, it is replicated to one or more data nodes within the site. After transmitting the data object, the data object reference is discarded.
189 Citations
19 Claims
-
1. A method for replication of data between mirrored data sites, the method comprising:
-
receiving a data object at a first mirrored data site including one or more data nodes; replicating the data object to the one or more data nodes internally within the first mirrored data site; generating a data object reference indicating a forthcoming transmission of the data object to a second mirrored data site, wherein the data object reference includes an identification of the first mirrored data site, which stores one or more replicas of the data object; transmitting the data object reference to a proxy reference database; and queuing the data object referred to by the data object reference in a data delivery queue for the forthcoming transmission to the second mirrored data site, wherein upon transmission of the data object referred to by the data object reference to the second mirrored data site, the data object is replicated to one or more data nodes associated with the second mirrored data site; and discarding the data object reference from the proxy reference database in response to the data object being successfully written to the second mirrored data site; and receiving at the second mirrored data site, a request for the data object; determining, based on the data object reference in the proxy reference database, that the data object has not been received by the second mirrored data site; and based on the determination, requesting the first mirrored data site referred to by the data object reference in the proxy reference database to serve the data object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for replication between mirrored data sites, the system comprising:
-
a proxy reference database configured to store one or more data object references associated with one or more data objects; a processor configured to; receive a data object at a first mirrored data site including one or more data nodes; replicate the data object to the one or more data nodes internally within the first mirrored data site; generate a data object reference indicating a forthcoming transmission of the data object to a second mirrored data site, wherein the data object reference includes an identification of the first mirrored data site, which stores one or more replicas of the data object; transmit the data object reference to the proxy reference database, wherein the proxy reference database is associated with the second mirrored data site, the first mirrored data site and the second mirrored data site having one or more pre-provisioned interconnections; and queue the data object referred to by the data object reference in a data delivery queue for the forthcoming transmission to the second mirrored data site, wherein upon transmission of the data object referred to by the data object reference to the second mirrored data site, the data object reference is discarded from the proxy reference database in response to the data object being successfully written to the second mirrored data site; and receive at the second mirrored data site, a request for the data object; determine, based on the data object reference in the proxy reference database, that the data object has not been received by the second mirrored data site; and based on the determination, request the first mirrored data site referred to by the data object reference in the proxy reference database to serve the data object. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A non-transitory processor-readable medium having instructions stored thereon, which when executed by one or more processors, causes the one or more processors to:
-
receive a data object at a first mirrored data site including one or more data nodes; replicate the data object to the one or more data nodes internally within the first mirrored data site; generate a data object reference indicating a forthcoming transmission of the data object to a second mirrored data site, wherein the data object reference includes an identification of the first mirrored data site, which stores one or more replicas of the data object; transmit the data object reference to a proxy reference database; and queue the data object referred to by the data object reference in a data delivery queue for the forthcoming transmission to the second mirrored data site, wherein upon transmission of the data object referred to by the data object reference to the second mirrored data site, the data object is replicated to one or more data nodes associated with the second mirrored data site; and discard the data object reference from the proxy reference database in response to the data object being successfully written to the second mirrored data site; and receive at the second mirrored data site, a request for the data object; determine, based on the data object reference in the proxy reference database, that the data object has not been received by the second mirrored data site; and based on the determination, request the first mirrored data site referred to by the data object reference in the proxy reference database to serve the data object.
-
Specification