Transformation of logical data objects for storage
First Claim
1. A method of operating a transformation system operatively coupled to at least one client and at least one storage device and capable of transforming a logical data object (LO) to a transformed logical data object (TLO) for storage in the at least one storage device operable with at least one storage protocol, comprising:
- intercepting, by the transformation system, an open LO request to a requested LO and addressed by the at least one client to the at least one storage device;
responsive to the intercepted open LO request, obtaining an identifier (ID) in a header of a TLO corresponding to the requested LO and stored in the at least one storage device, thereby using the obtained ID to associate the TLO and the requested LO;
determining if the transformation system handles at least one open LO characterized by an ID with a same value as the obtained ID;
opening the requested LO if the at least one open LO is not found;
determining if the at least one open LO is substantially similar to the requested LO if the at least one open LO is found, wherein the at least one open LO and the requested LO are substantially similar when the absolute value of the difference between a last-modify-time of the TLO and a last-modify-time of the at least one open LO is less than or equal to a predetermined threshold;
generating an instance corresponding to the intercepted open LO request if the requested LO and the at least one open LO are determined substantially similar, wherein the instance is generated by de-transforming at least a portion of the TLO; and
associating the instance to the obtained ID; and
intercepting a first write request address to the obtained ID, and if the first write request meets an ID update criterion, performing at least one of;
suspending processing of the first write request, generating a new ID, and updating the header of the TLO corresponding to the requested LO with the new ID, upon successfully updating the header, re-associating the generated instance to the new ID, and processing the suspended first write request.
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.
15 Citations
17 Claims
-
1. A method of operating a transformation system operatively coupled to at least one client and at least one storage device and capable of transforming a logical data object (LO) to a transformed logical data object (TLO) for storage in the at least one storage device operable with at least one storage protocol, comprising:
-
intercepting, by the transformation system, an open LO request to a requested LO and addressed by the at least one client to the at least one storage device; responsive to the intercepted open LO request, obtaining an identifier (ID) in a header of a TLO corresponding to the requested LO and stored in the at least one storage device, thereby using the obtained ID to associate the TLO and the requested LO; determining if the transformation system handles at least one open LO characterized by an ID with a same value as the obtained ID; opening the requested LO if the at least one open LO is not found; determining if the at least one open LO is substantially similar to the requested LO if the at least one open LO is found, wherein the at least one open LO and the requested LO are substantially similar when the absolute value of the difference between a last-modify-time of the TLO and a last-modify-time of the at least one open LO is less than or equal to a predetermined threshold; generating an instance corresponding to the intercepted open LO request if the requested LO and the at least one open LO are determined substantially similar, wherein the instance is generated by de-transforming at least a portion of the TLO; and
associating the instance to the obtained ID; andintercepting a first write request address to the obtained ID, and if the first write request meets an ID update criterion, performing at least one of;
suspending processing of the first write request, generating a new ID, and updating the header of the TLO corresponding to the requested LO with the new ID, upon successfully updating the header, re-associating the generated instance to the new ID, and processing the suspended first write request. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A transformation system, operatively coupled to at least one client and at least one storage device, and capable of transforming a logical data object (LO) to a transformed logical data object (TLO) for storage in the at least one storage device operable with at least one storage protocol, comprising:
-
a transformation unit comprising at least one central processing unit, wherein the central processing unit configured for; intercepting, by the transformation system, an open LO request to a requested LO and addressed by the at least one client to the at least one storage device, responsive to the intercepted open LO request, obtaining an identifier (ID) in a header of a TLO corresponding to the requested LO and stored in the at least one storage device, thereby using the obtained ID to associate the TLO and the requested LO, determining if the transformation system handles at least one open LO characterized by an ID with a same value as the obtained ID, opening the requested LO if the at least one open LO is not found, determining if the at least one open LO is substantially similar to the requested LO if the at least one open LO is found, wherein the at least one open LO and the requested LO are substantially similar when the absolute value of the difference between a last-modify-time of the TLO and a last-modify-time of the at least one open LO is less than or equal to a predetermined threshold, generating an instance corresponding to the intercepted open LO request the requested LO and the at least one open LO are determined substantially similar, wherein the instance is generated by de-transforming at least a portion of the TLO, associating the instance to the obtained ID; and intercepting a first write request address to the obtained ID, and if the first write request meets an ID update criterion, performing at least one of;
suspending processing of the first write request, generating a new ID, and updating the header of the TLO corresponding to the requested LO with the new ID, upon successfully updating the header, re-associating the generated instance to the new ID, and processing the suspended first write request. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A computer program product for operating a transformation system operatively coupled to at least one client and at least one storage device and capable of transforming a logical data object (LO) to a transformed logical data object (TLO) for storage in the at least one storage device operable with at least one storage protocol, the computer program product comprising a computer-readable storage memory including computer-readable program code portions stored therein, the computer-readable program code portions comprising:
-
a first executable portion for intercepting, by the transformation system, an open LO request to a requested LO and addressed by the at least one client to the at least one storage device; a second executable portion for, responsive to the intercepted open LO request, obtaining an identifier (ID) in a header of a TLO corresponding to the requested LO and stored in the at least one storage device, thereby using the obtained ID to associate the TLO and the requested LO; a third executable portion for determining if the transformation system handles at least one open LO characterized by an ID with a same value as the obtained ID; a fourth executable portion for opening the requested LO if the at least one open LO is not found; a fifth executable portion for determining if the at least one open LO is substantially similar to the requested LO if the at least one open LO is found, wherein the at least one open LO and the requested LO are substantially similar when the absolute value of the difference between a last-modify-time of the TLO and a last-modify-time of the at least one open LO is less than or equal to a predetermined threshold; a sixth executable portion for generating an instance corresponding to the intercepted open LO request if the requested LO and the at least one open LO are determined substantially similar, wherein the instance is generated by de-transforming at least a portion of the TLO; a seventh executable portion for associating the instance to the obtained ID; and an eighth executable portion for;
intercepting a first write request address to the obtained ID, and if the first write request meets an ID update criterion, performing at least one of;
suspending processing of the first write request, generating a new ID, and updating the header of the TLO corresponding to the requested LO with the new ID, upon successfully updating the header, re-associating the generated instance to the new ID, and processing the suspended first write request. - View Dependent Claims (14, 15, 16, 17)
-
Specification