Processing

Please wait...

Settings

Settings

Goto Application

1. WO2007138602 - METHOD AND SYSTEM FOR TRANSFORMATION OF LOGICAL DATA OBJECTS FOR STORAGE

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

CLAIMS:
1. A method of transforming a logical data object for storage in a storage device operable with at least one storage protocol, said method comprising:

a) in response to a respective request, creating in the storage device a transformed logical data object comprising a header and one or more allocated accommodation sections with predefined size;
b) processing one or more sequentially obtained chunks corresponding to the transforming logical data object thus giving rise to the processed data chunks, wherein at least one of said processed data chunks comprises transformed data resulting from said processing;
c) sequentially accommodating the processed data chunks into said accommodation sections in accordance with an order said chunks received, and d) facilitating mapping between the data in the logical data object and the data accommodated in the accommodation sections.

2. The method of Claim 1 wherein the processing comprises more than one technique of data transformation.

3. The method of Claim 2 wherein two or more data transformation techniques are coordinated in time, concurrently execute autonomous sets of instructions, and provided in a manner facilitating preserving the sequence of processing and of accommodating the processed data chunks.

4. The method of Claim 1 wherein the processing comprises compressing obtained chunks corresponding to the transforming logical data object resulting in a plaintext compressed chunk, and further encrypting said plaintext compressed chunks thus giving rise to the processed data chunks.

5. A method of transforming a logical data object for storage in a storage device operable with at least one storage protocol, said method comprising:

a) in response to a respective request, creating in the storage device a transformed logical data object comprising a header and one or more allocated accommodation sections with predefined size;

b) transforming one or more sequentially obtained chunks of data corresponding to the transforming logical data object thus giving rise to the transformed data chunks; and
c) sequentially accommodating the processed data chunks into said accommodation sections in accordance with an order said chunks received, wherein said accommodation sections serve as atomic elements of transformation/de-transformation operations during input/output transactions on the logical data object.

6. The method of Claim 5 further comprising enabling for each accommodation section substantial identity between data that could be obtained from said accommodation section if being de-transformed and the data in the respective data chunks accommodated in said section as a result of said transforming.

7. The method of Claim 5 wherein the processing comprises more than one technique of data transformation.

8. The method of Claim 7 wherein two or more data transformation techniques are coordinated in time, concurrently execute autonomous sets of instructions, and provided in a manner facilitating preserving the sequence of processing and accommodating the processed data chunks.

9. A method of transforming a logical data object for storage in a storage device operable with at least one storage protocol, said method comprising:

a) in response to a respective request, creating in the storage device a transformed logical data object comprising a header and one or more allocated accommodation sections with predefined size;
b) processing one or more sequentially obtained chunks corresponding to the transforming logical data object, the processing comprises compressing the obtained chunks thus resulting in plaintext compressed chunks, and further encrypting said plaintext compressed chunks thus giving rise to the processed data chunks;
c) sequentially accommodating the processed data chunks into said accommodation sections in accordance with an order said chunks received, and d) facilitating mapping between the data in the transforming logical data object and the data accommodated in the accommodation sections.

10. The method of Claim 9 wherein the encrypting and compressing processes are coordinated in time, concurrently execute autonomous sets of instructions, and provided in a manner facilitating preserving the sequence of processing and accommodating the processed data chunks.

11. The method of Claim 9 wherein the mapping is provided with a help of at least one index section constituting a part of the transformed logical data object, said index section comprising at least one entry holding at least information related to processed data chunks accommodated in at least one accommodation section and indication of physical storage location pertaining to said accommodation section.

12. The method of Claim 9 wherein the predefined size is equal for all accommodation sections.

13. The method of Claim 9 wherein the size of the accommodation section is selected from a list of predefined sizes in accordance with certain criterion.

14. The method of Claim 9 wherein the compression is provided with the help of an adaptive dictionary, and data chunks accommodated into the same accommodation section are compressed with the help of the same dictionary and encrypted with a help of the same key.

15. The method of Claim 9 wherein the header of transformed logical data object comprises a unique descriptor of the transformed logical data object and information related to a size of the transforming logical data object.

16. The method of Claim 9 wherein the processed data chunks are accommodated in a log form.

17. The method of Claim 16 wherein a log of a processed data chunk comprises a log header containing information in respect of an offset of the obtained data chunk within the transforming logical data object, size of said obtained chunk, and an identifier allowing associating the log with the accommodation section accommodating the log.

18. The method of Claim 16 wherein the transformed logical data object comprises at least one index section, said section comprising at least one entry associated with at 5 least one accommodation section, the entry comprising at least one indicator to physical storage location of the accommodation section and one or more log records related to the respective logs accommodated in the accommodation section and comprising information facilitating mapping between the data in the transforming logical data object and the data accommodated in the accommodation sections.

10 19. The method of Claim 9 wherein each accommodation section is associated with a flag indicating a use/re-use condition of respective physical location of the accommodation section, and each processed data chunk is associated with the same flag as the accommodation section accommodating the chunk.

20. The method of Claim 11 wherein the header of the transformed logical data 15 object comprises an indicator to the first index section and each index section has an indicator to the next sequential index section if such exists.

21. A communication device operable in a storage network being configured to perform the method stages of Claim 9.

22. A storage device operable in a storage network being configured to perform the 20 method stages of Claim 9.

23. A system capable of transforming a logical data object for storage in a storage device operatively coupled to the system in a serial manner, said system acting as a transparent bridge in respect to the storing data and being configured to perform the method stages of Claim 9.

25 24. The method of Claim 9 operable with at least file access storage protocol.

25. The method of Claim 9 operable with at least block mode access storage protocol.

26. A method of writing a data range to the transformed logical data object created in accordance with Claim 9, said method comprising:

a) in response to respective request, processing one or more sequentially obtained chunks of obtained data corresponding to said data range, the processing comprises compressing obtained chunks thus resulting in plaintext compressed chunks, and further encrypting said plaintext compressed chunks thus giving rise to the processed data chunks;
b) sequentially accommodating the processed data chunks in accordance with the order these and previous chunks received; and
c) updating the mapping in a manner facilitating one-to-one relationship between the data in the range and the data to be read from the data chunks accommodated in the transformed logical object.

27. The method of Claim 26 wherein, depending on a free space comprised in an active accommodation section, a new data chunk is accommodated in an active accommodation section and/or in a new accommodation section.

28. The method of Claim 26 wherein updating the mapping comprises:

a) adding information related to all new accommodated data chunks, said information related to the offset and size of the respective obtained data chunks, and
b) updating the previously obtained information related to live and/or outdated data corresponding to the range.

29. A method of reading a data range from a transformed logical object created in accordance with Claim 11, said method comprising:

a) in response to respective request, discovering all created and/or last-updated entries in the index section related to the data within the range;
b) de-transforming one of the accommodation sections corresponding to the discovered entries, and extracting the data to be read in accordance with the mapping provided by the entries;

c) repeating step b) to one ore more other accommodation sections corresponding to the discovered entries until extracting all data from the range; and
d) arranging the extracted data in accordance with their order in the range.

30. A system capable of transforming a logical data object for storage in a storage device operable with at least one storage protocol, said system comprising:

a) means for creating in the storage device a transformed logical data object comprising a header and one or more allocated accommodation sections with predefined size;
b) means for processing one or more sequentially obtained data chunks corresponding to the transforming logical data object, the processing comprises compressing obtained chunks thus resulting in plaintext compressed chunks, and further encrypting said plaintext compressed chunks thus giving rise to the processed data chunks;
c) means for facilitating sequentially accommodating the processed data chunks into said accommodation sections in accordance with an order said chunks received; and
d) means for facilitating mapping between the data in the logical data object and the data accommodated in the accommodation sections.

31. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps of transforming a logical data object for storage in a storage device operable with at least one storage protocol, said method comprising:

a) in response to a respective request, creating in the storage device a transformed logical data object comprising a header and one or more allocated accommodation sections with predefined size;
b) processing one or more sequentially obtained chunks corresponding to the transforming logical data object, the processing comprises compressing obtained chunks thus resulting in plaintext compressed chunks, and further encrypting said plaintext compressed chunks thus giving rise to the processed data chunks;

c) sequentially accommodating the processed data chunks into said accommodation sections in accordance with an order said chunks received, and d) facilitating mapping between the data in the transforming logical data object and the data accommodated in the accommodation sections.

32. A computer program product comprising a computer useable medium having computer readable program code embodied therein of transforming a logical data object for storage in a storage device operable with at least one storage protocol, said computer program product comprising:

a) computer readable program code for causing the computer to in response to a respective request, creating in the storage device a transformed logical data object comprising a header and one or more allocated accommodation sections with predefined size;
b) computer readable program code for causing the computer to process one or more sequentially obtained chunks corresponding to the transforming logical data object, the processing comprises compressing obtained chunks thus resulting in plaintext compressed chunks, and further encrypting said plaintext compressed chunks thus giving rise to the processed data chunks;
c) computer readable program code for causing the computer to sequentially accommodating the processed data chunks into said accommodation sections in accordance with an order said chunks received, and
d) computer readable program code for causing the computer to facilitate mapping between the data in the transforming logical data object and the data accommodated in the accommodation sections.