Systems and methods for transformation of logical data objects for storage
First Claim
1. A method of transforming a logical data object for storage in a hardware storage device in a distributed network of computing devices, comprising:
- creating, in the hardware storage device within the distributed network of computing devices, a transformed logical data object comprising a header and a plurality of storage sections with a predefined size;
obtaining a plurality of data chunks corresponding to the transformed logical data object;
determining if the plurality of obtained data chunks exceed a predetermined threshold based on one of a time to compress each obtained data chunk and an amount of available storage space in a particular storage section that is dependent upon whether the particular storage section includes sufficient storage space to store a next uncompressed data chunk queued for storage;
compressing each obtained data chunk if the predetermined threshold based on time is not exceeded and not compressing each obtained data chunk if the predetermined threshold based on time is exceeded;
compressing each obtained data chunk if the predetermined threshold based on the amount of available storage space is exceeded and not compressing each obtained data chunk if the predetermined threshold based on the amount of available storage space is not exceeded, wherein compressing comprises;
compressing each obtained data chunk, andaccumulating the compressed data chunks to form compressed blocks, the compressed data chunks accumulated until a size of a compressed block includes the predefined size;
storing each compressed block into said storage sections; and
mapping between the data in the logical data object and the data stored in the storage sections.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for compressing a logical data object for storage in a storage device in a distributed network are provided. One method includes creating, in the storage device, a compressed logical data object including a header and one or more allocated compressed sections with a predefined size, compressing the one or more obtained chunks of data corresponding to the logical data object, thus giving rise to the compressed data chunks, and storing the compressed data chunks in the compressed sections, wherein the compressed sections serve as atomic elements of compression or decompression operations during input/output transactions on the logical data object.
-
Citations
20 Claims
-
1. A method of transforming a logical data object for storage in a hardware storage device in a distributed network of computing devices, comprising:
-
creating, in the hardware storage device within the distributed network of computing devices, a transformed logical data object comprising a header and a plurality of storage sections with a predefined size; obtaining a plurality of data chunks corresponding to the transformed logical data object; determining if the plurality of obtained data chunks exceed a predetermined threshold based on one of a time to compress each obtained data chunk and an amount of available storage space in a particular storage section that is dependent upon whether the particular storage section includes sufficient storage space to store a next uncompressed data chunk queued for storage; compressing each obtained data chunk if the predetermined threshold based on time is not exceeded and not compressing each obtained data chunk if the predetermined threshold based on time is exceeded; compressing each obtained data chunk if the predetermined threshold based on the amount of available storage space is exceeded and not compressing each obtained data chunk if the predetermined threshold based on the amount of available storage space is not exceeded, wherein compressing comprises; compressing each obtained data chunk, and accumulating the compressed data chunks to form compressed blocks, the compressed data chunks accumulated until a size of a compressed block includes the predefined size; storing each compressed block into said storage sections; and mapping between the data in the logical data object and the data stored in the storage sections. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A distributed network of computing devices for transforming a logical data object, comprising:
-
a hardware storage device within the distributed network of computing devices; a processor coupled to the hardware storage device, the processor configured for; creating in the hardware storage device a transformed logical data object comprising a header and a plurality of storage sections with a predefined size, obtaining a plurality of data chunks corresponding to the transformed logical data object, determining if the plurality of obtained data chunks exceed a predetermined threshold based on one of a time to compress each obtained data chunk and an amount of available storage space in a particular storage section that is dependent upon whether the particular storage section includes sufficient storage space to store a next uncompressed data chunk queued for storage, compressing each obtained data chunk if the predetermined threshold based on time is not exceeded and not compressing each obtained data chunk if the predetermined threshold based on time is exceeded, compressing each obtained data chunk if the predetermined threshold based on the amount of available storage space is exceeded and not compressing each obtained data chunk if the predetermined threshold based on the amount of available storage space is not exceeded, wherein compressing comprises; compressing each obtained data chunk, and accumulating the compressed data chunks to form compressed blocks, the compressed data chunks accumulated until a size of a compressed block includes the predefined size; storing each compressed block into said storage sections; and mapping between the data in the logical data object and the data stored in the storage sections. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising a computer-readable memory having computer readable program code embodied therein for transforming a logical data object for storage in a hardware storage device in a distributed network of computing devices, said computer program product comprising:
-
computer code for creating, in the hardware storage device within the distributed network of computing devices, a transformed logical data object comprising a header and a plurality of storage sections with a predefined size; computer code for obtaining a plurality of data chunks corresponding to the transformed logical data object; computer code for determining if the plurality of obtained data chunks exceed a predetermined threshold based on one of a time to compress each obtained data chunk and an amount of available storage space in a particular storage section that is dependent upon whether the particular storage section includes sufficient storage space to store a next uncompressed data chunk queued for storage; computer code for compressing each obtained data chunk if the predetermined threshold based on time is not exceeded and not compressing each obtained data chunk if the predetermined threshold based on time is exceeded; computer code for compressing each obtained data chunk if the predetermined threshold based on the amount of available storage space is exceeded and not compressing each obtained data chunk if the predetermined threshold based on the amount of available storage space is not exceeded, wherein compressing comprises; computer code for compressing each obtained data chunk, and computer code for accumulating the compressed data chunks to form compressed blocks, the compressed data chunks accumulated until a size of a compressed block includes the predefined size; computer code for storing each compressed block into said storage sections; and computer code for mapping between the data in the logical data object and the data stored in the storage sections. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification