In recent years, the volume of data to be saved in file servers is increasing sharply. In order to reduce the data retention cost of file servers, the file compression function capable of reducing the data capacity of files stored in file servers is attracting attention.
The file compression function can be used according to two methods. One method is where, for example, an end user or a file server administrator stores a file in a file server and thereafter compresses the file using a command such as a ZIP command.
The other method is where, when an end user stores a file, the file system of the file server transparently compresses the file (hereinafter referred to as the “file system compression”).
The latter method according to the file system compression is superior in comparison to the former method of file compression using a command in that the disk capacity required for the file compression is small. When a command is used, an uncompressed file is temporarily stored in a file server, and the file is thereafter compressed.
Meanwhile, with the method according to the file system compression, since the file system compresses the file received from the end user on the memory and stores the compressed file on a disk, therefore the uncompressed file is not stored in the file server. In other words, since the file server always stores compressed data, the required disk capacity can be reduced.
As an example that employs the file system compression, for instance, as described in PTL 1, an appliance is installed between a PC (Personal Computer) used by end user and a file server via LAN. The appliance receives data from the PC, and then compresses the data. Finally the appliance stores the compressed data into the file server.
PTL 1 describes that the overhead required for decompressing the file can be suppressed by dividing the file into fixed-length parts (such parts are hereinafter referred to as the “clusters”), and compressing or decompressing data of the respective clusters.
If all data of the file to be stored in the file server is compressed into a one data section, the file system needs to decompress all data of the file each time when the end user accesses the file, and the load will thereby increase.
Meanwhile, as described in PTL 1, if the file is divided into a plurality of clusters and data of the respective clusters is compressed or decompressed, there is no need to decompress the data of the entire file at once, and the overhead required for decompressing the file can be reduced.