Using affinity to mediate bias in a distributed storage system
AssigneeEMC Corporation
InventorsMichael Trachtman, Bradford B. Glade
Life of this patent
Estimating the term…
Abstract
In a distributed storage system in which a first copy of a set of data such as a virtualized LUN is maintained by a first site, and a second copy is maintained by a second site, access is provided to both the first site and the second site during loss of communication between the first site and the second site. Affinity determines access privileges for each site, where affinity is an indication that a particular site has or should be given permission to perform an operation to a particular part of the data set. Affinities can be specified such that permissions are non-overlapping, or overlap in a manner which is acceptable and resolvable.
Claims27
Apparatus comprising:
- a first non-transitory physical data storage device associated with a first site, a first copy of a set of data being maintained on the first data storage device;
- a second non-transitory physical data storage device associated with a second site, a second copy of the set of data being maintained on the second data storage device;
- an interface for communicating between the first site and the second site to maintain consistency of the first and second copies of the set of data;
- and
- control logic stored in computer-readable non-transitory memory and utilized by processing hardware, the control logic responsive to loss of communication between the first site and the second site to provide access to at least a first part of the first copy of the data set at the first site during the loss of communication between the first site and the second site, and provide access to at least a second part of the second copy of the data set at the second site during the loss of communication between the first site and the second site, the second part comprising different data than the first part, and in response to restoration of communication between the first site and the second site to resolve differences between the first copy and the second copy, wherein the control logic uses affinity to control access to the first copy and the second copy, where affinity is an indication that a particular site has or should be given permission to perform an operation to a particular part of the set of data.
A method of operating a distributed storage system comprising:
- maintaining a first copy of a set of data by a first site;
- maintaining a second copy of the set of data by a second site;
- communicating between the first site and the second site to maintain consistency of the first and second copies of the set of data;
- in response to loss of communication between the first site and the second site, providing access to at least a first part of the first copy of the data set at the first site during the loss of communication between the first site and the second site, and providing access to at least a second part of the second copy of the data set at the second site during the loss of communication between the first site and the second site the second part comprising different data than the first part;
- using affinity to control access to the first copy and the second copy, where affinity is an indication that a particular site has or should be given permission to perform an operation to a particular part of the set of data;
- and
- in response to restoration of communication between the first site and the second site, resolving differences between the first copy and the second copy.
An apparatus comprising:
- a first non-transitory physical data storage device associated with a first site, a first copy of a set of data being maintained on the first data storage device;
- a second non-transitory physical data storage device associated with a second site, a second copy of the set of data being maintained on the second data storage device;
- a third data storage device associated with a third site, a third copy of the set of data being maintained on the third data storage device;
- an interface for communicating between the first site, the second site and the third site to maintain consistency of the copies of the set of data;
- and
- control logic stored in computer-readable non-transitory memory and utilized by processing hardware, the control logic responsive to loss of communication between a first subset and a second subset of a set of sites, the first subset comprising the first site and the second site, and the second subset comprising the third site, to use affinity to control access to the first copy and the second copy and the third copy such that the first subset has access to a first part of the set of data and the second subset has access to a second part of the set of data, the second part comprising different data than the first part, where affinity is an indication that a particular subset of sites has or should be given permission to perform an operation to a particular part of the set of data and in response to restoration of communication between the first subset and the second subset to resolve differences between the various copies.
Dependencies are inferred from the claim text.