Patent ID: 8327050

Claim:
For use in a computer system comprising a file system coupled with a storage medium and at least one application program interface (API) configured to communicate with the file system by means of file access-related requests, a method for storing a compressed file comprising: a) intercepting at least one of said file access-related requests generated via the API; and b) providing at least one of the following with respect to said intercepted request: i) deriving and compressing data corresponding to the intercepted file access-related request and facilitating communication with the file system for storing the compressed data at the storage medium as at least one compressed file, and ii) facilitating restoring at least part of compressed data corresponding to the intercepted file access-related request and communicating the resulting data through the API, wherein: the file access-related request is selected from the group comprising a “create file” request, a “read file” request, and a “write file” request, and for the “create file” file access-related request, compressing the derived data corresponding to the intercepted “create file” request comprises: sequentially processing at least one fixed-size portion of said derived data (cluster) into corresponding compressed section divided into at least one fixed-size compression logical units (CLU), said compressing giving rise to the compressed file containing compressed sections corresponding to said clusters and a header comprising unique file descriptor, and creating a section table with at least one record describing a compressed section, said record holding at least information on CLUs corresponding to the compressed section and storage location pointers pertaining to said CLUs.