Adaptive compression using a sampling based heuristic
First Claim
Patent Images
1. A method comprising:
- detecting that a unit of storage from a backup client is to be backed up to a storage system;
in response to the detecting, determining whether to compress the unit of storage,
wherein the determining comprises
identifying a location within the unit of storage, whereinthe identifying comprisesscanning the unit of storage, whereinthe scanning comprises comparing density of data stored inthe unit of storage with a specified data density criterion, andthe specified data density criterion comprises a ratio of written storage location to unwritten storage locations,determining whether the density of the data stored at the location meets the specified data density criterion prior to attempting to compress the data stored at the location, andcalculating an offset from the beginning of the unit of storage to the location,selecting a portion of the unit of storage beginning at the offset, wherein data stored in the portion of the unit of storage comprises the data stored at the location,the portion of the unit of storage is smaller than the unit of storage, andthe portion of the unit of storage begins at the offset from the beginning of the unit of storage and ends before the end of the unit of storage, andattempting to compress the data stored in the portion of the unit of storage; and
if the attempting is successful for the portion of the unit of storage, compressing the entirety of the unit of storage.
7 Assignments
0 Petitions
Accused Products
Abstract
Various methods and systems for using adaptive data compression in a backup system are disclosed. One method involves detecting whether to compress a unit of storage that is to be backed up. The detecting involves attempting to compress a portion of the unit of storage. If the attempt to compress the portion of the unit of storage meets a specified compression performance threshold, i.e., if the unit of storage is compressible, the unit of storage is compressed. Otherwise the unit of storage is not compressed.
-
Citations
18 Claims
-
1. A method comprising:
-
detecting that a unit of storage from a backup client is to be backed up to a storage system; in response to the detecting, determining whether to compress the unit of storage,
wherein the determining comprises
identifying a location within the unit of storage, whereinthe identifying comprises scanning the unit of storage, wherein the scanning comprises comparing density of data stored in the unit of storage with a specified data density criterion, and the specified data density criterion comprises a ratio of written storage location to unwritten storage locations, determining whether the density of the data stored at the location meets the specified data density criterion prior to attempting to compress the data stored at the location, and calculating an offset from the beginning of the unit of storage to the location, selecting a portion of the unit of storage beginning at the offset, wherein data stored in the portion of the unit of storage comprises the data stored at the location, the portion of the unit of storage is smaller than the unit of storage, and the portion of the unit of storage begins at the offset from the beginning of the unit of storage and ends before the end of the unit of storage, and attempting to compress the data stored in the portion of the unit of storage; and if the attempting is successful for the portion of the unit of storage, compressing the entirety of the unit of storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable by one or more processors to:
-
detect that a unit of storage from a backup client is to be backed up to a storage system; in response to the detecting, determining whether to compress the unit of storage,
wherein the determining comprises
identifying a location within the unit of storage, whereinthe identifying comprises scanning the unit of storage, wherein the scanning comprises comparing density of data stored in the unit of storage with a specified data density criterion, and the specified data density criterion comprises a ratio of written storage location to unwritten storage locations, determining whether the density of the data stored at the location meets the specified data density criterion prior to attempting to compress the data stored at the location, and calculating an offset from the beginning of the unit of storage to the location, selecting a portion of the unit of storage beginning at the offset, wherein data stored in the portion of the unit of storage comprises the data stored at the location, the portion of the unit of storage is smaller than the unit of storage, and the portion of the unit of storage begins at the offset from the beginning of the unit of storage and ends before the end of the unit of storage, and attempting to compress the data stored in the portion of the unit of storage; and if the attempting is successful for the portion of the unit of storage, compressing the entirety of the unit of storage. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
a storage system; one or more processing means coupled to the storage system; a backup client coupled to the storage system, the backup client comprising means for detecting that a unit of storage is to be backed up; means for determining whether to compress the unit of storage, wherein the determining is performed in response to the detecting and the determining comprises
identifying a location within the unit of storage, whereinthe identifying comprises scanning the unit of storage, wherein the scanning comprises comparing density of data stored in the unit of storage with a specified data density criterion, and the specified data density criterion comprises a ratio of written storage locations to unwritten storage locations, determining whether the density of the data stored at the location meets the specified data density criterion prior to attempting to compress the data stored at the location, and calculating an offset from the beginning of the unit of storage,
selecting a portion of the unit of storage beginning at the offset, whereindata stored in the portion of the unit of storage comprises the data stored at the location, the portion of the unit of storage is smaller than the unit of storage, and the portion of the unit of storage begins at the offset from the beginning of the unit of storage and ends before the end of the unit of storage, and
attempting to compress the data stored in the portion of the unit of storage; andmeans for compressing the entirety of the unit of storage if the determining means indicates that the attempting is successful for the portion of the unit of storage. - View Dependent Claims (18)
-
Specification