Methods and apparatus for managing objects in a storage environment
AssigneeEMC IP Holding Company LLC
InventorMark O'Connell
Life of this patent
Estimating the term…
Abstract
Some embodiments are directed to accessing a content unit stored in a storage environment that includes a plurality of storage clusters, wherein multiple versions of the content unit are stored on at least two different clusters in the storage environment. The storage environment and/or the requesting entity may identify the at least two storage clusters that store the content unit and select one of clusters as storing a valid version of the content unit.
Claims20
A method of accessing a content unit stored in a storage environment that includes a plurality of storage clusters, wherein the content unit is stored on at least two of the plurality of storage clusters, the method comprising acts of:
- receiving a request, from a host computer, to read the content unit, the request identifying the content unit via an object identifier assigned to the content unit;
- causing each of the plurality of storage clusters to perform a search for the content unit;
- determining, based on the searches performed for the plurality of storage clusters, whether a copy of the content unit to be read is stored on multiple clusters;
- receiving, from each of the plurality of storage clusters that stores the content unit, a validity indicator for the content unit;
- determining, based on the validity indicators, which one of the plurality of storage clusters that stores the content unit stores a valid version of the content unit;
- and
- returning the valid version of the content unit in response to the request.
At least one non-transitory computer readable medium encoded with instructions that when executed by one of a plurality of storage clusters in a storage environment, perform a method comprising acts of:
- receiving a request, from a host computer, to read the content unit, the request identifying the content unit via an object identifier assigned to the content unit;
- causing each of the plurality of storage clusters to perform a search for the content unit;
- receiving, from each of the plurality of storage clusters that stores the content unit, a validity indicator for the content unit;
- determining, based on the validity indicators, whether a valid copy of the content unit to be read is stored on more than one of the plurality of clusters;
- selectively, based on determining that a valid copy of the content unit to be read is stored on more than one of the plurality of clusters, storing an indication for all but one of the more than one of the plurality of clusters, that the content unit to be read is invalid such that one of the plurality of storage clusters stores a valid version of the content unit;
- and
- returning the valid version of the content unit in response to the request.
A computer system that operates as one of a plurality of storage clusters in a storage environment, the storage cluster comprising:
- at least one memory that stores processor-executable instructions for accessing a content unit, wherein the content unit is stored on at least two of the plurality of storage clusters;
- and
- at least one microprocessor, coupled to the at least one memory, that executes the processor-executable instructions to:
- initiate an operation to modify the content unit;
- cause each of the plurality of storage clusters to perform a search for the content unit;
- selectively, based on the content unit being stored on at least two of the plurality of storage clusters:
- identify, based on the search, the at least two storage clusters that store the content unit;
- select one of the at least two of the plurality of storage clusters as storing a valid version of the content unit;
- perform the operation to modify the content unit on the valid version of the content unit stored by the selected one of the plurality of storage clusters;
- and
- store a status content unit on each of the at least two clusters that does not already store a status content unit for the content unit, wherein the status content unit indicates which of the at least two clusters stores the valid version of the content unit.
Dependencies are inferred from the claim text.