Transformation of logical data objects for storage
First Claim
1. A method for operating an identification map associated with a transformation system operatively coupled to a plurality of clients and a storage device and configured to transform a plurality of logical data objects (LOs) including a plurality of identifiers (IDs) to a plurality of transformed logical data objects (TLOs) for storage in the storage device, the method comprising:
- mapping, by a data repository, current IDs and currently open LOs;
receiving, by the storage device, new IDs associated with the currently open LOs;
mapping, by the data repository, the new IDs to the currently open LOs to generate a current mapping when the new IDs are received, the current IDs becoming old IDs when the new IDs are received;
removing, by the data repository, the mapping of the old IDs to the currently open LOs subsequent to receiving the new IDs;
mapping, by a different data repository, each old ID associated with each currently open LO to generate a past mapping;
mapping, by the different data repository, the current mapping, wherein;
the data repository stores the current mapping, and the different data repository stores the current mapping and the past mapping;
removing the current mapping from the data repository when a currently open LO becomes closed;
removing the current mapping and the past mapping from the different data repository after a period corresponding to a time threshold when the currently open LO becomes closed;
performing an input/output (I/O) request, wherein the I/O request comprises the ID of the currently open LO and a first timestamp of the request;
determining if the ID is found in the different data repository;
determining if the first timestamp is lower than a second timestamp of the ID in the different data repository;
issuing a read header request with an updated timestamp;
comparing the first timestamp and an updated ID in a header in the currently open LO;
repeating the issuing and comparing process until the updated timestamp is more recent than the second timestamp;
processing the I/O request when the updated timestamp is more recent than the second timestamp;
upon successful updating of the ID in the header, updating the data repository by adding a new entry ID related to the currently open LO in the data repository; and
removing an old entry ID related to the currently open LO from the data.
1 Assignment
0 Petitions
Accused Products
Abstract
Various embodiments for operating a transformation system, capable of transforming a logical data object (LO) to a transformed logical data object (TLO), are provided. In one such embodiment, an open LO request to a certain LO and addressed by the at least one client to the at least one storage device, is intercepted. An identifier (ID) in a header of a TLO corresponding to the requested LO and stored in the at least one storage device, is obtained. The obtained ID is used to characterize the TLO and the LO. A determination is made whether the transformation system handles at least one open LO characterized by an ID with a same value as the obtained ID. The requested LO is opened if at least one open LO is not found. An instance corresponding to the intercepted open LO request is generated. The instance is associated to the obtained ID.
11 Citations
18 Claims
-
1. A method for operating an identification map associated with a transformation system operatively coupled to a plurality of clients and a storage device and configured to transform a plurality of logical data objects (LOs) including a plurality of identifiers (IDs) to a plurality of transformed logical data objects (TLOs) for storage in the storage device, the method comprising:
-
mapping, by a data repository, current IDs and currently open LOs; receiving, by the storage device, new IDs associated with the currently open LOs; mapping, by the data repository, the new IDs to the currently open LOs to generate a current mapping when the new IDs are received, the current IDs becoming old IDs when the new IDs are received; removing, by the data repository, the mapping of the old IDs to the currently open LOs subsequent to receiving the new IDs; mapping, by a different data repository, each old ID associated with each currently open LO to generate a past mapping; mapping, by the different data repository, the current mapping, wherein; the data repository stores the current mapping, and the different data repository stores the current mapping and the past mapping; removing the current mapping from the data repository when a currently open LO becomes closed; removing the current mapping and the past mapping from the different data repository after a period corresponding to a time threshold when the currently open LO becomes closed; performing an input/output (I/O) request, wherein the I/O request comprises the ID of the currently open LO and a first timestamp of the request; determining if the ID is found in the different data repository; determining if the first timestamp is lower than a second timestamp of the ID in the different data repository; issuing a read header request with an updated timestamp; comparing the first timestamp and an updated ID in a header in the currently open LO; repeating the issuing and comparing process until the updated timestamp is more recent than the second timestamp; processing the I/O request when the updated timestamp is more recent than the second timestamp; upon successful updating of the ID in the header, updating the data repository by adding a new entry ID related to the currently open LO in the data repository; and removing an old entry ID related to the currently open LO from the data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A storage system, comprising:
-
a storage device comprising a memory, a data repository and a different data repository; and a transformation system comprising a processor operatively coupled to at least one client and the storage device, the transformation system configured to transform a logical data object (LO) to a transformed logical data object (TLO) for storage in the storage device operable with at least one storage protocol, wherein the processor is configured to; map, in the data repository, current IDs and currently open LOs, transmit, to the storage device, new IDs associated with the currently open LOs, map, in the data repository, the new IDs to the currently open LOs to generate a current mapping when the new IDs are received, the current IDs becoming old IDs when the new IDs are received, remove, from the data repository, the mapping of the old IDs to the currently open LOs subsequent to receiving the new IDs, map, in the different data repository, each old ID associated with each currently open LO to generate a past mapping, map, to the different data repository, the current mapping, wherein; the data repository stores the current mapping, and the different data repository stores the current mapping and the past mapping, remove the current mapping from the data repository when a currently open LO becomes closed, remove the current mapping and the past mapping from the different data repository after a period corresponding to a time threshold when the currently open LO becomes closed, perform an input/output (I/O) request, wherein the I/O request comprises the ID of the currently open LO and a first timestamp of the request, determine if the ID is found in the different data repository, determine if the first timestamp is lower than a second timestamp of the ID in the different data repository, issue a read header request with an updated timestamp, compare the first timestamp and an updated ID in a header in the currently open LO; repeat the issuing and comparing process until the updated timestamp is more recent than the second timestamp, process the I/O request when the updated timestamp is more recent than the second timestamp, upon successful update of the ID in the header, update the data repository by adding a new entry ID related to the currently open LO in the data repository, and remove and old entry ID related to the currently open LO from the data. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product comprising a computer useable memory including a computer readable program code embodied thereon for operating an identification map associated with a transformation system operatively coupled to a plurality of clients and a storage device and configured to transform a plurality of logical data objects (LOs) including a plurality of identifiers (IDs) to a plurality of transformed logical data objects (TLOs) for storage in the storage device, the computer program product comprising:
-
computer code for mapping, by a data repository, current IDs and currently open LOs; computer code for receiving, by the storage device, new IDs associated with the currently open LOs; computer code for mapping, by the data repository, the new IDs to the currently open LOs to generate a current mapping when the new IDs are received, the current IDs becoming old IDs when the new IDs are received; computer code for removing, by the data repository, the mapping of the old IDs to the currently open LOs subsequent to receiving the new IDs; computer code for mapping, by a different data repository, each old ID associated with each currently open LO to generate a past mapping; computer code for mapping, by the different data repository, the new IDs and the current mapping, wherein; the data repository stores the current mapping, and the different data repository stores the current mapping and the past mapping; computer code for removing the current mapping from the data repository when a currently open LO becomes closed; computer code for removing the current mapping and the past mapping from the different data repository after a period corresponding to a time threshold when the currently open LO becomes closed; computer code for performing an input/output (I/O) request, wherein the I/O request comprises the ID of the currently open LO and a first timestamp of the request; computer code for determining if the ID is found in the different data repository; computer code for determining if the first timestamp is lower than a seccond timestamp of the ID in the different data repository; computer code for issuing a read header request with an updated timestamp; computer code for comparing the first timestamp and an updated ID in a header in the currently open LO; computer code for repeating the issuing and comparing process until the updated timestamp is more recent than the second timestamp; computer code for processing the I/O request when the updated timestamp is more recent than the second timestamp; upon successful updating of the ID in the header, computer code for updating the data repository by adding a new entry ID related to the currently open LO in the data repository; and computer code for removing an old entry ID related to the currently open LO from the data. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification