Patent ID: 7979403

Claim:
A method of operating a compression system configured to create a compressed file for storage said method comprising: a) configuring the compression system to operatively interface with at least one computer and at least one storage device operable in a storage network in accordance with at least one file access storage protocol, wherein the compression system, the at least one computer and the at least one storage device are separate network entities; b) intercepting, by the compression system, a request addressed by said at least one computer to said at least one storage device requiring to store a raw file; c) compressing said raw file and thereby generating compressed data; d) facilitating storing the compressed data as a compressed file, the compressed file containing a header holding information identifying a substantially exact size of a corresponding raw file; e) intercepting, by the compression system, a file access-related request addressed by said at least one computer to said at least one storage device and referring to a size of said raw file required to be stored; and f) facilitating reporting the size of a corresponding raw file in accordance with said information held in the header of the stored compressed file, wherein: at least one fixed-size portion of data (cluster) of the raw file is sequentially processed into corresponding variable size compressed section divided into at least one fixed-size compression logical unit (CLU) and wherein the compressed file further comprises a section table comprising at least one record describing the compressed section, said record holding at least information in CLUs corresponding to the compressed section and storage location pointers pertaining to said CLUs, said method of operating the compression system further comprising: i) determining a serial number of first compressed section comprising data to be updated, said section giving rise to an original compressed section; ii) determining the CLUs corresponding to said original compressed section and storage location thereof by referring to the section table; iii) facilitating restoring the cluster from said original compressed section; iv) calculating an offset of data to be updated within said cluster and facilitating the update at the given data range; v) compressing the updated cluster into an updated compressed section; vi) facilitating overwriting said original compressed section with updated compressed section; vii) a dating the section table; viii) repeating elements ii) through vii) for compressed sections with serial numbers incremented by 1 if the range of data to be written exceeds the size of the restored clusters, until all required data are written; and ix) handling a list of free CLUs released during writing data to the compressed file, said list being handled during all sessions related to the file until the file is closed.