Systems and methods for transformation of logical data objects for storage
First Claim
1. A method for reading compressed data from a logical object comprising a plurality of accommodation sections, said method comprising:
- comparing a characteristic of a received plurality of data chunks to a predefined time-related criterion comprising an estimated or actual time of compression of the plurality of data chunks, the predefined time-related criterion including an estimated time necessary to compress data which, being compressed, would substantially amount to a compressed section size;
if the characteristic matches the predefined time-related criterion;
compressing the plurality of data chunks to create a plurality of compressed data chunks, andaccumulating the plurality of compressed data chunks in a first accommodation section until the first accommodation section is filled to a predefined size;
if the characteristic does not match the predefined time-related criterion;
identifying the plurality of data chunks as being in a non-compressed form or a partly compressed form, andaccumulating the non-compressed or partly compressed plurality of data chunks in a second accommodation section until the second accommodation section is filled to the predefined size;
receiving, by a processor, a request to read a first range of accumulated data stored in the logical object;
identifying the first range of data in the logical object as being first compressed data accumulated in the first accommodation section, first non-compressed data accumulated in the second accommodation section, or first partly compressed data accumulated in the second accommodation section;
performing one of;
decompressing the first compressed data,decompressing the first partly compressed data, andretrieving the first non-compressed data; and
transmitting the first range of accumulated data comprised of the decompressed first compressed data, the decompressed first partly compressed data, or the first non-compressed data to a requestor.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for compressing a raw logical data object (201) for storage in a storage device operable with at least one storage protocol, creating, reading, writing, optimizatic in and restoring thereof. Compressing the raw logical data object (201) comprises creating in the storage device a compressed logical data object (203) comprising a header (204) and one or more allocated compressed sections with predefined size (205-1-205-2); compressing one or more sequentially obtained chunks of raw data (202-1-202-6) corresponding to the raw logical data object (201) thus giving rise to the compressed data chunks (207-1-207-6); and sequentially accommodating the processed data chunks into: said compressed sections (205-1-205-2) in accordance with an order said chunks received, wherein said compressed sections serve as atomic elements of compression/decompression operations during input/output transactions on the logical data object.
143 Citations
21 Claims
-
1. A method for reading compressed data from a logical object comprising a plurality of accommodation sections, said method comprising:
-
comparing a characteristic of a received plurality of data chunks to a predefined time-related criterion comprising an estimated or actual time of compression of the plurality of data chunks, the predefined time-related criterion including an estimated time necessary to compress data which, being compressed, would substantially amount to a compressed section size; if the characteristic matches the predefined time-related criterion; compressing the plurality of data chunks to create a plurality of compressed data chunks, and accumulating the plurality of compressed data chunks in a first accommodation section until the first accommodation section is filled to a predefined size; if the characteristic does not match the predefined time-related criterion; identifying the plurality of data chunks as being in a non-compressed form or a partly compressed form, and accumulating the non-compressed or partly compressed plurality of data chunks in a second accommodation section until the second accommodation section is filled to the predefined size; receiving, by a processor, a request to read a first range of accumulated data stored in the logical object; identifying the first range of data in the logical object as being first compressed data accumulated in the first accommodation section, first non-compressed data accumulated in the second accommodation section, or first partly compressed data accumulated in the second accommodation section; performing one of; decompressing the first compressed data, decompressing the first partly compressed data, and retrieving the first non-compressed data; and transmitting the first range of accumulated data comprised of the decompressed first compressed data, the decompressed first partly compressed data, or the first non-compressed data to a requestor. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for reading compressed data from a logical object comprising a plurality of accommodation sections, said system comprising:
-
a processor; and memory coupled to said processor, wherein the processor is configured to store computer code that, when executed by the processor, causes the processor to; compare a characteristic of a received plurality of data chunks to a predefined time-related criterion comprising an estimated or actual time of compression of the plurality of data chunks, the predefined time-related criterion including an estimated time necessary to compress data which, being compressed, would substantially amount to a compressed section size, if the characteristic matches the predefined time-related criterion; compress the plurality of data chunks to create a plurality of compressed data chunks, and accumulate the plurality of compressed data chunks in a first accommodation section until the first accommodation section is filled to a predefined size, if the characteristic does not match the predefined time-related criterion; identify the plurality of data chunks as being in a non-compressed form or a partly compressed form, and accumulate the non-compressed or partly compressed plurality of data chunks in a second accommodation section until the second accommodation section is filled to the predefined size, receive a request to read a first range of accumulated data stored in the logical object, identify the first range of data in the logical object as being first compressed data accumulated in the first accommodation section, first non-compressed data accumulated in the second accommodation section, or first partly compressed data accumulated in the second accommodation section, perform at least one of; decompressing the first compressed data, decompressing the first partly compressed data, and retrieving the first non-compressed data, and transmit the first range of accumulated data comprised of the decompressed first compressed data, the decompressed first partly compressed data, or the first non-compressed data to a requestor. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising a computer readable storage medium including a computer readable program code embodied therein for reading compressed data from a logical object comprising a plurality of accommodation sections, said computer program product comprising:
-
computer code for comparing a characteristic of a received plurality of data chunks to a predefined time-related criterion comprising an estimated or actual time of compression of the plurality of data chunks, the predefined criterion including an estimated time necessary to compress data which, being compressed, would substantially amount to a compressed section size; if the characteristic matches the predefined time-related criterion; computer code for compressing the plurality of data chunks to create a plurality of compressed data chunks, and computer code for accumulating the plurality of compressed data chunks in a first accommodation section until the first accommodation section is filled to a predefined size; if the characteristic does not match the predefined time-related criterion; computer code for identifying the plurality of data chunks as being in a non-compressed form or a partly compressed form, and computer code for accumulating the non-compressed or partly compressed plurality of data chunks in a second accommodation section until the second accommodation section is filled to the predefined size; computer code for receiving, by a processor, a request to read a first range of accumulated data stored in the logical object; computer code for identifying the first range of data within the logical object as being first compressed data accumulated in the first accommodation section, first non-compressed data accumulated in the second accommodation section, or first partly compressed data accumulated in the second accommodation section; computer code for performing at least one of; decompressing the first compressed data, decompressing the first partly compressed data, and retrieving the first non-compressed data; and computer code for transmitting the first range of accumulated data comprised of the decompressed first compressed data, the decompressed first partly compressed data, or the first non-compressed data to a requestor. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification