JP3713666B2 - File system image compression method and program - Google Patents

File system image compression method and program Download PDF

Info

Publication number
JP3713666B2
JP3713666B2 JP2004004913A JP2004004913A JP3713666B2 JP 3713666 B2 JP3713666 B2 JP 3713666B2 JP 2004004913 A JP2004004913 A JP 2004004913A JP 2004004913 A JP2004004913 A JP 2004004913A JP 3713666 B2 JP3713666 B2 JP 3713666B2
Authority
JP
Japan
Prior art keywords
file
processed
fsi
file system
files
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004004913A
Other languages
Japanese (ja)
Other versions
JP2005202443A (en
Inventor
理明 中川
Original Assignee
理明 中川
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 理明 中川 filed Critical 理明 中川
Priority to JP2004004913A priority Critical patent/JP3713666B2/en
Publication of JP2005202443A publication Critical patent/JP2005202443A/en
Application granted granted Critical
Publication of JP3713666B2 publication Critical patent/JP3713666B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、コンピュータの記憶装置上に格納される、ディスクイメージその他のファイルシステムイメージの、主としてバックアップのための、圧縮と復元の方法及びプログラムに関する。      The present invention relates to a compression and decompression method and program mainly for backup of a disk image or other file system image stored on a storage device of a computer.

コンピュータの記憶装置上に展開されるファイルシステムのデータバックアップないしデータコピーの方法としては、大きく分けて、ファイルシステム上に存在するファイルを、OSの提供するファイルシステムの操作手段を使うなどして各々ファイル単位でコピーする方法(本書ではファイル単位バックアップ法と呼ぶ)と、個々のファイルを意識せずに、ファイルシステムのビットイメージをコピーする方法(本書ではイメージバックアップ法と呼ぶ)とが存在する。       The file system data backup or data copy method developed on the computer storage device can be broadly divided into files existing on the file system, using file system operation means provided by the OS, etc. There are a method of copying in units of files (referred to as a file unit backup method in this document) and a method of copying a bit image of a file system without being aware of individual files (referred to as an image backup method in this document).

ファイル単位バックアップ法は、もっとも広く用いられている方法で、個々のファイルを認識してバックアップするため、ユーザが指定したファイル、あるいは更新のあったファイルというように、特定のデータに限ってバックアップすることが容易である。また、複数のバックアップの間で、重複するファイルがあったときは、それらを1コピーのみ格納することによって、格納効率を向上させることが比較的容易に可能である(例えば、特許文献1・2・3参照)。しかし、ファイル単位バックアップ法では、読み取り・書き出し能力がOSのファイルシステム操作手段に依存するため、ブートセクタ・隠しファイル・ファイル属性などの、バックアップまたは復元できない特殊なデータが生じることもある。また、ファイルシステム内部のデータ配置は認識されない。これらの理由により、バックアップが不完全となって、利用するプログラムによっては、それらのバックアップを復元しても、正常に動作しないか、元通りの性能を得られない可能性がある。また、OSのファイルシステム操作手段による支援が得られない状況では、バックアップや復元が行えないこともある。       The file unit backup method is the most widely used method, and it recognizes and backs up individual files. Therefore, backup is limited to specific data such as files specified by the user or files that have been updated. Is easy. In addition, when there are duplicate files among a plurality of backups, it is relatively easy to improve the storage efficiency by storing only one copy of these files (for example, Patent Documents 1 and 2).・ See 3). However, in the file unit backup method, since the read / write capability depends on the file system operation means of the OS, special data such as a boot sector, a hidden file, and a file attribute that cannot be backed up or restored may be generated. Also, the data arrangement inside the file system is not recognized. For these reasons, backup may be incomplete, and depending on the program used, there is a possibility that even if the backup is restored, it does not operate normally or the original performance cannot be obtained. Also, backup and restoration may not be possible in situations where OS file system operation means cannot provide support.

イメージバックアップ法は、個々のファイルなどのファイルシステム内部の構造を意識せず、ファイルシステムのビットイメージ(本出願ではファイルシステムイメージという)をコピーするため、ファイル単位バックアップ法と異なり、完全なバックアップを作ることができる利点がある。また、ファイルシステム内部の構造を意識しないので、読み書きの機構が単純で、OSのファイルシステム操作手段による支援も必ずしも必要とされない。しかし通常、ファイルシステム単位でバックアップし、そのまま保存することとなるので、バックアップを繰り返すと、ファイルシステム全体と等しい大きさのバックアップがその回数分作成されることとなり、データの総量が大きくなる。それを小さくする方法として、全体を汎用の圧縮法で圧縮する方法や、空き領域について出力を省略する方法などが公知であるが、必ずしも十分に効率の良いものではない。
また、比較的類似した複数のファイルシステムイメージを効率よく取り扱う方法として、非特許文献1ないし特許文献3で示唆されるように、単にファイルシステムイメージのビットイメージを比較して差分を取る方法も公知であるが、含まれるファイルが比較される複数のファイルシステムイメージの間で大体同じであったとしても、通常、ファイルシステムイメージ内にファイルの内容が配置されるときの位置は、時と場合によって(例えば、ソフトウェアをインストールした順番や、いわゆる“デフラグ”を掛けたかどうかなどで)大きく異なりうるため、満足のいく結果が得られるのは、あるひとつのファイルシステムイメージに対して、多少ファイルの追加や削除を行った程度の関係にあるファイルシステムイメージを扱うような場合に限られる。
Unlike the file unit backup method, the image backup method copies a bit image of the file system (called a file system image in this application) without considering the internal structure of the file system such as individual files. There are advantages that can be made. In addition, since the internal structure of the file system is not conscious, the read / write mechanism is simple and support by the OS file system operation means is not necessarily required. However, since backup is normally performed in units of file systems and stored as they are, if backup is repeated, backups having the same size as the entire file system will be created, and the total amount of data will increase. As a method for reducing the size, there are known a method for compressing the whole by a general-purpose compression method, a method for omitting output for a free area, and the like, but it is not necessarily efficient enough.
Also, as a method of efficiently handling a plurality of relatively similar file system images, as suggested in Non-Patent Document 1 to Patent Document 3, a method of simply comparing the bit images of file system images and taking a difference is also known. However, even if the included files are roughly the same between the file system images being compared, the location where the file contents are placed within the file system image is usually time-dependent Because it can vary greatly (for example, depending on the order in which the software was installed, or whether it was so-called “defragmented”), satisfactory results can be obtained by adding a few files to a single file system image. Or file system images that are related to the degree of deletion Limited to.

特願平11−102167号公報Japanese Patent Application No. 11-102167 米国特許出願公開第20020107877号明細書US Patent Application Publication No. 20020107877 特表2002−517816号公報JP-T-2002-517816 PowerQuest(R) V2i Protector(TM) 2.0 Server Edition User Guide、p.37-38、[online]、2003年5月、PowerQuest Corporation、[平成16年1月12日検索]、インターネット<URL:http://www.powerquest.com/documentation/guides/V2PS20ENug.pdf>PowerQuest (R) V2i Protector (TM) 2.0 Server Edition User Guide, p.37-38, [online], May 2003, PowerQuest Corporation, [Search January 12, 2004], Internet <URL: http: //www.powerquest.com/documentation/guides/V2PS20ENug.pdf>

以上のように、ファイル単位バックアップ法では、バックアップや復元が不完全となる可能性があり、またそれらを行える状況にも制限がある。これを回避するために、イメージバックアップ法を採りたいが、イメージバックアップ法では、常にファイルシステム全体がバックアップされるので、そのバックアップを格納する場合には、記憶装置に大きな容量が必要となり、また、通信網経由でバックアップを取る場合には、通信量が大きくなる、という問題を生じる。とくに、格納されたデータに変更が生じる度にバックアップを取る場合や、企業などで類似した環境のコンピュータを多く利用していて、夫々についてバックアップを取る場合などには、コストや時間の無駄が大きくなる。ファイル単位バックアップ法では重複するファイルを1コピーのみ保持するようにして容量を節約することが比較的容易であったが、イメージバックアップ法ではそれは実現されていなかった。その原因の一つには、ファイルシステムイメージの操作、とりわけ書き出しにあたっては、当該ファイルシステムについての詳細で正確な知識が必要とされ、それなしではデータの損失を生じるおそれがあったことが挙げられる。
As described above, in the file unit backup method, there is a possibility that backup and restoration may be incomplete, and there is a limit to the situation where they can be performed. In order to avoid this, we would like to use the image backup method, but with the image backup method, the entire file system is always backed up, so storing that backup requires a large capacity in the storage device, When backing up via a communication network, there is a problem that the amount of communication increases. In particular, if you make a backup every time the stored data changes, or if you use a lot of computers in a similar environment at your company and take backups of each, costs and time are wasted. Become. In the file unit backup method, it was relatively easy to save the capacity by holding only one copy of the duplicate file, but this was not realized in the image backup method. One of the reasons is that manipulation of the file system image, especially writing, requires detailed and accurate knowledge about the file system, which could lead to data loss. .

本発明は、イメージバックアップ法を採りつつも、重複するファイルの内容を1コピーのみ保持して、ファイルシステムイメージを差分圧縮することを可能とする。        The present invention makes it possible to differentially compress a file system image while retaining only one copy of the contents of a duplicate file while adopting an image backup method.

請求項1の方法では、ファイルシステムイメージに含まれるファイルの存在とその位置を認識できる程度にファイルシステムが解析されており、かつ既に少なくとも他に1つファイルシステムイメージ(基準ファイルシステムイメージ)が存在する場合に、被処理ファイルシステムイメージに、基準ファイルシステムイメージ上にあるファイルと同一の内容を持つファイルが存在する場合には、内容の代わりに、そのファイル名等(一致基準参照情報)と位置を出力するようにして、データ長を削減した圧縮済ファイルシステムイメージを出力する。被処理ファイルシステムイメージ上の残りの領域はその位置とともにそのまま出力する。        In the method of claim 1, the file system is analyzed to such an extent that the existence and position of the file included in the file system image can be recognized, and at least one other file system image (reference file system image) already exists. If a file with the same contents as the file on the reference file system image exists in the file system image to be processed, the file name, etc. (match reference reference information) and location are used instead of the contents. To output a compressed file system image with a reduced data length. The remaining area on the file system image to be processed is output as it is along with its position.

請求項2の方法は、請求項1の方法で、基準ファイルシステムイメージと被処理ファイルシステムイメージとが、通信網で結ばれた互いに別の記憶装置上にある場合に、基準ファイルシステムイメージを有する装置(親局)が、基準ファイルシステムイメージ上にあるファイル類のファイル名等と内容のハッシュ値等とからなる一覧を、被処理ファイルシステムイメージを有する装置(子局)に送信することにより、このような状況において、通信量を削減しつつ、子局においてデータ長を削減した圧縮済ファイルシステムイメージを出力する。        The method according to claim 2 is the method according to claim 1, wherein the reference file system image and the file system image to be processed are stored on different storage devices connected by a communication network. By sending a list of file names, etc. of files on the reference file system image and hash values of the contents to the device (child station) having the file system image to be processed by the device (parent station), In such a situation, a compressed file system image with a reduced data length is output at the slave station while reducing the amount of communication.

請求項3の方法は、請求項2の方法で、子局が複数存在する場合に、1対多の通信方法を用いて、通信量を削減しつつ、各子局においてデータ長を削減した圧縮済ファイルシステムイメージを出力する。        The method according to claim 3 is the method according to claim 2, wherein when there are a plurality of slave stations, a one-to-many communication method is used to reduce the communication amount and reduce the data length at each slave station. Output a completed file system image.

請求項4の方法は、請求項1などの方法に加え、従来の技術と同様に汎用の圧縮方法を用いて圧縮する。このとき、ファイルシステムイメージ全体をそのまま圧縮するのではなく、ファイル類単位で圧縮することにより圧縮率の向上を図る(これは差分圧縮ではない) In addition to the method of claim 1, the method of claim 4 compresses using a general-purpose compression method as in the conventional technique . At this time, rather than compressing the entire file system image as it is, the compression rate is improved by compressing in units of files (this is not differential compression) .

請求項の方法は、請求項1〜の方法で圧縮されたファイルシステムイメージを復元する方法である。 The method of claim 5 is a method for restoring the file system image compressed by the method of claims 1 to 4 .

請求項のプログラムは、コンピュータに請求項1〜の方法を実行させる。
The program according to claim 6 causes a computer to execute the method according to claims 1 to 5 .

本発明により、イメージバックアップ法を採りつつも、重複するファイルの内容を1コピーのみ保持して、ファイルシステムイメージを差分圧縮することが可能となるので、多数のファイルシステムの保存や伝送にかかる時間やコストを節約することができ、ファイルシステムのバックアップを確実かつ効率的に行うことも可能になる。
According to the present invention, it is possible to differentially compress a file system image by holding only one copy of the contents of a duplicate file while adopting an image backup method, so that it takes time to store and transmit a large number of file systems. And cost can be saved, and the file system can be backed up reliably and efficiently.

本出願における用語の定義は次の通りである。
ファイル類:ファイルシステムが当該ファイル類の識別子を以って識別することのできる、データの単位をいい、ファイル、ストリーム等を含む。
ファイル類の識別子:ファイルシステムがファイル類を識別するための名前、ファイル名、パス名、ストリーム名、URL、番号、GUIDその他の情報。
FSI:ファイルシステムイメージの略称。
基準ファイル類:基準FSI上のある特定のファイル類。
基準参照情報:基準ファイル類の内容を参照する(指し示す)情報。例えば基準ファイル類のファイル名など。
一致基準ファイル類:判定手段が、内容が一致すると判定した基準ファイル類。
一致基準参照情報:一致基準ファイル類に対する基準参照情報。
被処理上ファイル類:被処理FSI上のある特定のファイル類。
被処理上領域:被処理FSI上の、1以上の領域のリスト。
被処理上参照位置:被処理上ファイル類の内容の格納されている被処理上領域の位置を表す、1以上の情報からなるリスト。
一致被処理上ファイル類:判定手段が内容が一致すると判定した被処理上ファイル類。
一致被処理上領域:一致被処理上ファイル類の内容の格納される被処理上領域。単に一致領域ともいう。
一致被処理上参照位置:一致被処理上領域の被処理上参照位置。単に一致位置ともいう。
残存被処理上領域:判定手段が、いずれかの一致基準ファイル類と内容が一致すると判定しないで残る、被処理FSI上の領域、又は、読取手段や圧縮手段が読取圧縮しないで残る、被処理FSI上の領域。単に残存領域ともいう。
残存被処理上ファイル類:残存被処理上領域上に存在する被処理上ファイル類。単に残存ファイル類ともいう。
内容識別情報:ファイル類の内容を表す値で、ファイル類の内容が同じであればその値も同じになるもの。ファイルの内容そのもの、その(可逆又は非可逆の)圧縮形、SHA-1・MD5その他のハッシュ値、チェックサム、CRC等を含む。
汎用の圧縮法:一般のデータに対して適用可能なデータ圧縮法。ハフマン圧縮、算術圧縮、LZW圧縮、ZIP圧縮、GZIP圧縮、BZIP2圧縮等を含む。
一致領域復元処理:圧縮済FSIを読み取って、そこに一致基準参照情報を含むデータがあるときは、一致基準参照情報で示される基準ファイル類を読み取り、その内容を復元FSI上の当該一致位置と同じ位置に書き出す処理。
ファイル類復元処理:圧縮済FSIに圧縮されたファイル類の圧縮データが含まれているときに、その圧縮データを復元し、それに付加されているファイル類の位置の情報と同じ位置に書き出す処理。
残存領域復元処理:圧縮済FSIに残存領域のデータが含まれているときは、それに位置の情報が付加されているときはその位置に、それがないならば一致領域復元処理及び残存ファイル類復元処理で書き出されなかった領域に順に、そのデータを(それが汎用の圧縮法で圧縮されていれば復元して)書き出す処理。
また、本出願において、リストは順序を持つ。
The definitions of terms in this application are as follows.
Files: Data units that can be identified by the file system using the identifiers of the files, including files, streams, and the like.
File identifier: Name, file name, path name, stream name, URL, number, GUID, and other information used by the file system to identify the file.
FSI: Abbreviation for file system image.
Standard files: Specific files on the standard FSI.
Standard reference information: Information referring to (indicating) the contents of standard files. For example, file names of standard files.
Matching reference files: reference files determined by the determining means that the contents match.
Matching criteria reference information: criteria reference information for matching criteria files.
Processed files: Specific files on the processed FSI.
Processed area: A list of one or more areas on the processed FSI.
Processed reference position: A list of one or more pieces of information that represents the position of the processable area where the contents of the file to be processed are stored.
Matched files to be processed: Files to be processed that have been determined by the determining means to match.
Matched process upper area: Processed upper area in which the contents of the matching processed file are stored. It is also simply called a coincidence area.
Matched process reference position: Processed reference position of the matched process area. It is also simply called a matching position.
Remaining area to be processed: Remains without being determined by the determination means that the content matches any of the matching reference files, or the area on the FSI to be processed, or the reading means or compression means remains without being read and compressed Area on FSI. It is also simply called the remaining area.
Remaining files to be processed: Files to be processed existing on the remaining areas to be processed. Also simply referred to as remaining files.
Content identification information: A value that represents the contents of a file. If the contents of the files are the same, the values are also the same. Includes the file content itself, its compression (reversible or lossy), SHA-1 / MD5 and other hash values, checksums, CRC, etc.
General-purpose compression method: A data compression method applicable to general data. Includes Huffman compression, arithmetic compression, LZW compression, ZIP compression, GZIP compression, and BZIP2 compression.
Matching area restoration processing: When compressed FSI is read and there is data including matching standard reference information, the standard files indicated by the matching standard reference information are read, and the contents are determined as the corresponding matching position on the restored FSI. Processing to write to the same position.
File restoration processing: When compressed data of compressed files is included in the compressed FSI, the compressed data is restored and written to the same location as the location information of the files attached thereto.
Remaining area restoration processing: When data of remaining area is included in the compressed FSI, if location information is added to it, if there is not, the matching area restoration process and remaining file restoration A process of writing the data in order to the areas that were not written out by the process (or restoring it if it was compressed using a general-purpose compression method).
In the present application, the list has an order.

請求項1の方法においては、まず、既になんらかの方法によって記憶装置上に複数のFSIが存在することを前提に、ある1つ以上のFSIを基準FSIとして、また、圧縮の対象とするもう一つのFSIを被処理FSIとして、それぞれ任意に選ぶ。これは、ユーザの指示によっても、コンピュータ等がなんらかのアルゴリズムで自動的に選んでも良い。FSIは、ハードディスクのパーティションのように記憶装置上に直接格納されたものの他、POSIXのddコマンド等を利用するなどしてファイルシステム上にファイルの形で存在しているものであっても良い。また、一つの記憶装置の上に全てのFSIが格納されている必要はなく、それぞれのFSIが別々の記憶装置上にあっても良い。
まず、便宜のため、出力手段が基準FSIや被処理FSIの大きさや位置(FSIがそれ自体ファイルであった場合はファイル名など)、圧縮の方法等をヘッダ等として出力することが望ましい。
次に、FSI中のファイルシステム中の構造を可及的に解釈することのできる判定手段が、被処理FSIと、各基準FSIの中にあるファイル類を、それぞれからできるだけ多くの組み合わせで一つずつ読み出して、内容が同じものがあるか調べる。内容が同じものがあったと判定された場合には、出力手段が、一致基準参照情報と一致被処理上参照位置(一致位置)を含む情報を出力するようにする。一致基準参照情報は、通常、当該ファイル類の内容より短いから、これによって圧縮が達成できる(一致置換処理)。
この一致位置は、例えば、ハードディスク装置におけるセクタないしクラスタ番号といったものであらわされるが、データの位置を正確に記述できる能力を有するものでなければならない。例えば、FATファイルシステムにおいては、ファイルデータは必ずクラスタの先頭から始まるから、クラスタ番号を利用することができるが、ファイルのデータがクラスタの途中から始まることを許すようなファイルシステムでは、ディスク先頭からのバイトオフセット値を利用するか、あるいはクラスタ番号にオプションとして相対バイトオフセットを付加することができるようにする(拡張オフセット形式)必要があるかもしれない。ただ、一般に、位置を表すのに必要な符号長を小さくするため、また処理を単純にするためという観点から、バイトオフセット値よりは拡張オフセット形式、拡張オフセット形式よりはセクタ番号、セクタ番号よりはクラスタ番号というように、可能な限りでなるべく粗い単位を採用するのが望ましい。各ファイル類の内容データは、大抵、記憶装置上でいくつかの塊に断片化され複数の位置に飛び飛びに配置される。したがって、一致位置はリストの形をとり、具体的にこれを出力するには、例えば、位置を開始位置と終了位置により範囲で表し、内容データと一致する順番に順次出力すれば良い。例えば、セクタ番号100〜102及び211〜225、あるいはバイトオフセット値40156〜52367及び68763〜98423というようにである。
また、ここでいう一致基準参照情報は、上述のように、一致基準ファイル類の内容を参照する(指し示す)情報のことであり、一致位置を表すのと同様に、基準FSI上の一致したファイル類の内容が格納されているバイトオフセット値、セクタ番号、クラスタ番号(あるいはこれらの範囲や、そのリスト)を利用することができる他、当該ファイル類の基準FSI上での識別子などを利用することもできる。基準FSIが複数ある場合は、通常、これらに加えて当該基準FSIに対する識別子も必要であろう。
被処理FSIのうち、一致領域としては出力されない部分(残存被処理上領域、残存領域)については、出力手段はその内容をそのまま出力する(残存領域拾上処理)。残存領域も一般にFSI上で飛び飛びの位置に分布するから、例えば、開始・終了位置と内容データの組の集合の形で出力するのが望ましい(しかし、一致置換処理で書き出されなかった位置が残存領域の位置となるから、通常これは必須ではない)。内容データは汎用の圧縮法により圧縮するとより望ましい。なお、残存領域の出力は、一致領域の出力がすべて終わった後にするのが便利であろうが、必ずそうしなければならないわけではない。
本方法では、判定手段は、必ずしも、ファイルシステムの構造について完全に解釈できる必要がなく、両FSI上のすべてのファイル類の組み合わせについて比較する必要もない。すなわち、内容が同じものがあるにも関わらずそれを見落とすことが多少あっても、その分圧縮効率が悪化するのみで、データが欠損することはない。というのは、そのようにして見逃された部分は、残存領域として出力されるからである。また、本来のファイル類の内容データの位置とは無関係な領域をそれと誤解した場合で、たまたま内容が一致してしまった場合でも、出力データが異常となることはない。出力された位置に当該データが配置されていること自体は確かだからである。したがって、詳細まで正確に解析できていない種類のファイルシステムであっても、それはそれなりに圧縮を行うことができる。また、両FSI上のファイル類の比較にあたって、すべての組み合わせについてではなく、例えばファイル名の一致するもののみ内容の比較を行うといった省力による高速化を行うこともできる。
残存領域であっても、出力手段により、出力する必要がないと判断できる部分(不要領域)については、出力しないことにより圧縮効率を高めることができる。特に、空き領域であると判定できる領域があるときは、その領域を出力しないようにすることが望ましい。もっとも、ファイルシステムの詳細について明らかでなく、空き領域かどうかはっきりしない領域があるときは、その領域は出力しておくのが無難である。その他不要領域と判断しうる領域の候補としては、一時データ用の領域、仮想記憶用領域(スワップファイル)などが考えられる。
なお、本方法の出力は、FSIが存在しているのと同じまたはそれと異なる記憶装置上に格納されるか、通信装置により送信されるのが通常であろう。
ところで、基準FSIは、既に出力手段によって出力(圧縮)された結果(圧縮済FSI)であっても良い。これをもっとも単純に実現するには、復元手段を設け、前処理としてその圧縮済FSIの復元処理を行い、それによって出来たFSIを基準FSIとして、それ以降は通常どおり処理すれば良い。しかしこれでは多くの記憶領域を必要とするなど効率が悪いので、判定手段が直接圧縮済FSIを取り扱えるようにすることが望ましい。このためには、例えば、あらかじめ、判定手段が、圧縮済FSIのもととなった被処理FSI上の各位置単位(例えばクラスタ)のデータが、実際にはどこに存在しているかの対応表を作成しておけば良い。まず、圧縮済FSIを調べて、一致位置に対応する対応表の項目に、対応する基準FSI上の位置を記入する。次に、請求項4の方法に係る残存領域については、圧縮済FSIにその内容が含まれているから、その場所を対応表に記入する。対応表が出来た後、圧縮済FSIの内容を基準FSIとして読み取るときは、その対応表の指し示す場所を読み取るようにする。なお、圧縮済FSIにデータが存在しない領域(請求項4の方法に係る不要領域を含む)については、対応表上は、不明領域である旨の印をつけておけば良い。この印がある位置のデータは、判定手段はいかなるデータとも一致しないと判定し、出力手段は不要領域と判断する。
ファイルシステムによっては、一つのファイルの実体に対して複数の名前を付けることができるようになっていることがある(リンク)。このような場合でも、ここまでに述べた方法で特に処理に不都合は生じないが、効率の面からは、一つの実体に対して一回だけ比較を行うようにすることが望ましい。
また、ファイルシステムの中には、ファイル類の中に記憶容量を消費しない穴を有する、いわゆるスパースファイルに対応するものがある。スパースファイルは、穴の前後のデータがそれぞれ別のファイル類であるとみなせば(みなしファイル類)、通常のファイル類と同様に処理することができる。ただしこの場合、みなしファイル類を一致領域として出力する場合には、ファイル類の識別子に、ファイル類内でのみなしファイル類の内容データの開始位置を表すオフセット値を付加する必要がある。この方法は、穴が複数ある場合にも適用することができる。
さらに、いくつかのファイルシステムは、ファイル類毎に、その内容を圧縮ないし暗号化するなど、表す内容はそのままにビット表現を違えて格納すること(ここでは内容変換と呼ぶ)ができるような機能を持っている。このような場合、内容変換されたファイル類については、内容変換後のファイル類のビットイメージを比較することが考えられるが、そうすると、例えば、基準ファイル類の内容は内容変換されているが被処理ファイル類はそうでないという場合、判定手段は、元の内容は同じでも両者の内容が異なると判定することになる。これは必ずしも望ましくないので、判定手段が、基準ファイル類の内容が内容変換されているときはそれを元に戻してから比較する、あるいは、被処理ファイル類の内容が内容変換されて被処理FSIに格納されている場合には、基準ファイル類の内容も同一の方法で内容変換してから比較する、などというように、両者の元の内容によって比較することもできることが望まれる。このような場合、出力手段では、一致基準参照情報や一致被処理上参照位置とともに、被処理ファイル類の内容変換の種類を出力するなどの対応が必要となろう。
In the method of claim 1, first, on the premise that a plurality of FSIs already exist on the storage device by some method, one or more FSIs are used as reference FSIs, and another one to be compressed. FSI is arbitrarily selected as the FSI to be processed. This may be automatically selected by a computer or the like according to a user instruction or by some algorithm. The FSI may be stored directly on the storage device, such as a hard disk partition, or may exist in the form of a file on the file system by using a POSIX dd command or the like. Also, it is not necessary for all FSIs to be stored on one storage device, and each FSI may be on a separate storage device.
First, for convenience, it is desirable that the output means outputs the size and position of the reference FSI or FSI to be processed (file name or the like if the FSI is a file itself), the compression method, etc. as a header.
Next, the judgment means that can interpret the structure in the file system in the FSI as much as possible is one for the FSI to be processed and the files in each reference FSI in as many combinations as possible. Read them one by one and check if there are any identical contents. When it is determined that there is the same content, the output means outputs information including the matching criterion reference information and the matching reference position (matching position) on the processing target. Since the match criterion reference information is usually shorter than the contents of the files, compression can be achieved by this (match replacement processing).
The coincidence position is expressed by, for example, a sector or cluster number in the hard disk device, and must have an ability to accurately describe the position of data. For example, in the FAT file system, the file data always starts from the beginning of the cluster, so the cluster number can be used. However, in the file system that allows the file data to start from the middle of the cluster, from the top of the disk You may need to use the default byte offset value, or be able to optionally add a relative byte offset to the cluster number (extended offset format). However, in general, from the viewpoint of reducing the code length necessary to represent the position and simplifying the processing, the extended offset format is more than the byte offset value, the sector number is more than the extended offset format, and It is desirable to employ units as coarse as possible, such as cluster numbers. The content data of each file is usually fragmented into several chunks on the storage device and arranged in multiple locations. Therefore, the coincidence position takes the form of a list, and in order to output it specifically, for example, the position is represented by a range by a start position and an end position, and sequentially output in the order of coincidence with the content data. For example, sector numbers 100-102 and 211-225, or byte offset values 40156-52367 and 68863-98423.
In addition, the matching criterion reference information here is information for referring to (indicating) the contents of the matching criterion files as described above, and in the same way as representing the matching position, the matching file on the standard FSI. In addition to using byte offset values, sector numbers, cluster numbers (or their ranges, and lists thereof) in which the contents of the file are stored, the identifier on the standard FSI of the file is used You can also. If there are multiple reference FSIs, an identifier for the reference FSI will usually be required in addition to these.
Of the FSI to be processed, the output means outputs the contents of the portion that is not output as the matching region (remaining processed upper region, remaining region) (residual region picking process). Since the remaining area is generally distributed at the skipped position on the FSI, it is desirable to output it in the form of a set of the start / end position and content data set (but the position that was not written by the match replacement process) This is usually not necessary because it is the location of the remaining area). The content data is more preferably compressed by a general-purpose compression method. It should be noted that the output of the remaining area is convenient after all the output of the coincidence area has been completed, but this is not necessarily the case.
In this method, the determination means does not necessarily need to be able to completely interpret the structure of the file system, and it is not necessary to compare all combinations of files on both FSIs. That is, even if there is the same content, even if it is overlooked to some extent, the compression efficiency only deteriorates and the data is not lost. This is because the portion thus overlooked is output as a remaining area. In addition, even if the area unrelated to the position of the contents data of the original file is misunderstood, and the contents coincide with each other, the output data does not become abnormal. This is because it is certain that the data is arranged at the output position. Therefore, even if the file system is of a type that cannot be analyzed accurately in detail, it can be compressed accordingly. Also, when comparing files on both FSIs, it is possible to speed up by labor saving, for example, by comparing the contents of not only all the combinations but only the files with matching file names.
Even if it is the remaining area, the compression efficiency can be improved by not outputting the part (unnecessary area) that can be determined to be unnecessary by the output means. In particular, when there is an area that can be determined to be a free area, it is desirable not to output the area. However, if there is an area that is not clear about the details of the file system and it is not clear whether it is a free area, it is safe to output that area. Other candidate areas that can be determined as unnecessary areas include a temporary data area, a virtual storage area (swap file), and the like.
Note that the output of the method will typically be stored on the same or different storage device where the FSI is present, or transmitted by the communication device.
Incidentally, the reference FSI may be a result (compressed FSI) that has already been output (compressed) by the output means. In order to realize this in the simplest manner, a restoring means is provided, the compressed FSI is restored as preprocessing, and the FSI generated thereby is used as a reference FSI, and thereafter, the processing is performed as usual. However, this is inefficient such as requiring a large number of storage areas, so it is desirable that the determination means can directly handle the compressed FSI. For this purpose, for example, in advance, the determination means creates a correspondence table of where the data of each position unit (for example, cluster) on the processing FSI that is the source of the compressed FSI actually exists. Create it. First, the compressed FSI is examined, and the corresponding position on the reference FSI is entered in the item of the correspondence table corresponding to the matching position. Next, since the content of the remaining area according to the method of claim 4 is included in the compressed FSI, the location is entered in the correspondence table. After the correspondence table is created, when reading the contents of the compressed FSI as the reference FSI, the location indicated by the correspondence table is read. It should be noted that an area where no data exists in the compressed FSI (including an unnecessary area according to the method of claim 4) may be marked on the correspondence table as an unknown area. The data at the position with this mark is determined by the determining means as not matching any data, and the output means is determined as an unnecessary area.
Some file systems allow multiple names to be assigned to a single file entity (link). Even in such a case, the method described so far does not cause any inconvenience in processing, but from the viewpoint of efficiency, it is desirable to perform comparison only once for one entity.
Some file systems correspond to so-called sparse files that have holes that do not consume storage capacity in files. A sparse file can be processed in the same way as a normal file if the data before and after the hole are regarded as different files (deemed files). However, in this case, when the deemed files are output as the coincidence area, it is necessary to add an offset value indicating the start position of the content data of the none files only in the files to the identifier of the files. This method can also be applied when there are a plurality of holes.
In addition, some file systems have a function that allows the contents to be stored in different bit representations (here called content conversion) while compressing or encrypting the contents of each file type. have. In such a case, it is conceivable to compare the bit images of the files after content conversion with respect to the files whose content has been converted. If the files are not, the determination means determines that the original contents are the same but the contents are different. This is not always desirable, so if the contents of the reference files have been converted, the decision means restores them and compares them, or the contents of the processed files are converted and the processed FSI is processed. It is desirable that the contents of the reference files can be compared based on their original contents, such as comparing the contents of the reference files after the contents are converted by the same method. In such a case, the output means will need to take measures such as outputting the content conversion type of the processed files together with the matching reference reference information and the matching processing reference position.

請求項2の方法は、請求項1の方法と類似しているが、基準FSIを持っている装置(親局)と、被処理FSIを持っている装置(子局)が別であって、それらが通信網で結ばれている場合に、効率的な処理を行うものである。このような状況では、単純には、いったん通信網経由で、親局から子局に基準FSIをコピーするか、子局から親局に被処理FSIをコピーすれば、後は請求項1記載の方法により処理が可能となる。しかし通常、FSIは大きく、通信網経由でのコピーには時間がかかる。基準FSIや被処理FSIをネットワーク対応の分散ファイルシステムを用いて共有し、請求項1の方法を適用しても同様である。本方法は、これらを行わないで済ますものである。
本方法は、請求項1の方法と次の点を除いて同一である。請求項1の方法では、判定手段が両FSIを直接読み出して比較を行っていた。本方法では、親局(複数であり得る)の識別情報送出手段が、基準FSIを読み出して、そこに含まれる各ファイル類の、基準参照情報と内容識別情報などから構成される組の集合(一覧)を、通信網を介して子局に送信する。内容識別情報は、上述のようにファイル類の内容を表す値で、ファイル類の内容が同じであればその値も同じになるもの(ファイル類の内容の関数)のことである。内容識別情報の長さはもとのファイル類の内容の長さ以下であり、望ましくは、それよりかなり短い。判定手段は、その一覧を受信した後、被処理FSI上の各ファイル類を読み出してこの値を計算し、一覧の中の内容識別情報と突き合わせる。そして、同じものがあったときは、そのファイル類と、その一覧上で対応する基準参照情報で示される基準ファイル類の内容とが同じであったものと判定する。その他の処理は、子局上で、請求項1記載の方法と同様に行われる。なお、親局が複数のときは、一致基準参照情報に、さらに当該親局の識別子を含むのが望ましい。
内容識別情報については、ファイル類の内容が異なっている場合にその値が異なることは厳密には要求されないが、できるだけ高い確率でそのような性質を持つことが望ましい。内容が異なっているのに値が一致(衝突)すると、誤判定が生じるからである。誤判定を防ぐためには、内容識別情報の算出に、十分な長さを持ち高いユニーク性を持つ値を算出する方法を採用することが望ましいが、一方で、効率を高めるためには、内容識別情報の長さが可能な限り短いことも望まれる。ファイル類の内容を可逆の汎用の圧縮法により圧縮した結果を採用すれば、衝突回避という点では理想的であるが、これでは基準FSIを参照する意味がなく、もっと短いことが望まれる。短い値で衝突を防ぐ方法としては、SHA-1などの、性質がよいことが知られているハッシュ法を利用することの他、ファイル類の長さや識別子、作成日時等を内容識別情報と組み合わせて「みなし内容識別情報」とし、これを内容識別情報とみなして処理することも考えられる(識別子や作成日時などは、そのファイル類の内容が同じであっても異なることがあるから、ハッシュ値などの本来の意味での内容識別情報にこれらを組み合わせると、その組み合わせたものは厳密には内容識別情報にならなくなるが、同一のものを多少見逃すことが許容されるならば、内容識別情報とみなして処理しても実用上差し支えない)。いずれにせよ、内容識別情報の算出方法は、衝突の確率が相当低いように選ぶべきであり、かつ実用的にはそれで足りると考えられる。例えば、SHA-1の値と、ディレクトリ名部分を除いたファイル名を組み合わせた「みなし内容識別情報」を利用するのは、望ましい例である。ただ、ファイル類の長さが十分に小さいときは、その内容そのものないし汎用の圧縮法による圧縮結果を採用することも考えられる。
なお、本方法により得られる出力は請求項1記載の方法と同様に、記憶装置や通信装置に向けられるのが通常であろうが、その格納先ないし送信先は、親局及び子局に限られず、それら以外の装置であっても良い。ただし、復元には基準FSIが必要となるから、それを有する親局に送信され格納されることが多いであろう。
The method of claim 2 is similar to the method of claim 1 except that a device having a reference FSI (master station) and a device having a processed FSI (slave station) are separate, When they are connected by a communication network, efficient processing is performed. In such a situation, simply copying the reference FSI from the master station to the slave station or copying the FSI to be processed from the slave station to the master station via the communication network, the claim 1 will be described later. Processing is possible by the method. However, FSI is usually large and copying over a communication network takes time. The same applies when the reference FSI and the FSI to be processed are shared using a network-compatible distributed file system and the method of claim 1 is applied. The method does not have to do this.
This method is the same as the method of claim 1 except for the following points. In the method of claim 1, the determination means directly reads both FSIs and compares them. In this method, the identification information sending means of the master station (which may be plural) reads the standard FSI, and a set of sets composed of standard reference information and content identification information of each file included therein ( List) is transmitted to the slave station via the communication network. The content identification information is a value representing the content of a file as described above. If the content of the file is the same, the value is the same (function of the content of the file). The length of the content identification information is equal to or shorter than the content length of the original file, and is preferably much shorter than that. After receiving the list, the judging means reads each file on the FSI to be processed, calculates this value, and matches the content identification information in the list. If there is the same file, it is determined that the file and the content of the standard file indicated by the corresponding standard reference information on the list are the same. Other processing is performed on the slave station in the same manner as the method described in claim 1. When there are a plurality of master stations, it is desirable that the matching standard reference information further includes an identifier of the master station.
The content identification information is not strictly required to have different values when the contents of the files are different, but it is desirable to have such a property with the highest possible probability. This is because if the contents are different but the values match (collision), an erroneous determination occurs. In order to prevent misjudgment, it is desirable to use a method that calculates a sufficiently long and highly unique value for the calculation of content identification information. It is also desirable that the length of information be as short as possible. If the result of compressing the contents of files using a reversible general-purpose compression method is adopted, it is ideal in terms of collision avoidance, but this makes no sense to refer to the standard FSI, and a shorter one is desirable. In order to prevent collision with a short value, in addition to using a hash method known to have good properties, such as SHA-1, the length, identifier, creation date, etc. of files are combined with content identification information. It can be considered that this is regarded as content identification information and processed as content identification information (the identifier and creation date and time etc. may differ even if the contents of the files are the same, so the hash value If these are combined with content identification information in the original meaning such as, the combination will not be strictly content identification information, but if it is allowed to overlook some of the same, content identification information and It can be used in practice. In any case, the calculation method of the content identification information should be selected so that the probability of collision is considerably low, and it is considered to be sufficient in practical use. For example, it is desirable to use “deemed content identification information” in which the value of SHA-1 and the file name excluding the directory name portion are used. However, when the length of the files is sufficiently small, it may be possible to adopt the content itself or a compression result by a general-purpose compression method.
The output obtained by this method is normally directed to a storage device or a communication device, as in the method of claim 1, but the storage destination or transmission destination is limited to the master station and the slave station. However, other devices may be used. However, since the reference FSI is required for restoration, it is often transmitted and stored in the master station having the reference FSI.

請求項3の方法は、請求項2の方法において、多数の子局たりうる装置が存在する場合に、親局からの一覧の送信に、ブロードキャスト等の1対多の通信方法を用いる方法である。これにより、子局の数だけ一覧を送信する必要がなくなるため、通信網の利用効率を向上させ、また、通信にかかる時間を節約することができる。ここでも、ある子局が受信する一覧の送信元たる親局は複数であり得る。        The method of claim 3 is a method of using the one-to-many communication method such as broadcast for transmitting the list from the master station when there are a large number of devices that can be slave stations in the method of claim 2. As a result, it is not necessary to transmit the list as many as the number of slave stations, so that the use efficiency of the communication network can be improved and the time required for communication can be saved. Again, there may be a plurality of master stations that are transmission sources of a list received by a certain slave station.

請求項4の方法は、ここまでに述べた方法で、残存領域の全体をそのまま出力するのではなく、残存ファイル類の少なくとも一部については、それらの内容を汎用の圧縮法を用いて圧縮して出力する方法である。一般に、汎用の圧縮法では、圧縮の対象となるデータ全体が、同一のある偏った統計的性質を持っている場合にもっとも効率よく圧縮することができる。単に残存領域全体を始めから終わりまで圧縮する場合、その領域上にあるさまざまなファイル類の内容データが入り乱れて渾然一体となっているため、統計的性質がバラけてしまい(ランダムに近くなり)、圧縮率がいくぶん悪化する。本発明では、出力手段が、当該領域上のファイル類の内容データを可及的に読み取り各々を圧縮する(残存ファイル類圧縮処理)。一般に、一のファイル類に含まれるデータは、相対的に一定の統計的性質を持つと期待されるため、圧縮率の向上が望める。出力手段は、この圧縮結果に、当該ファイル類の位置のリストを付け加えて出力する。この位置は、請求項1記載の発明等と同様に表現することができる。
なお、残存ファイル類でも、極めて小さいものなどは圧縮効率が悪いので、圧縮しないようにすることも考えられる。また、残存ファイル類のうち、統計的性質が類似すると期待されるもの、例えば、いわゆるファイル名の拡張子が共通のもの、あるいは同一のディレクトリに格納されるもの、などをまとめて一つの単位(アーカイブ)とし、それを圧縮することも考えられる。
これらの過程を経ても出力されないで残る残存領域の内容については、ここまでに述べた他の発明における残存領域に対する方法と同様に出力される。不要領域の扱い等も同様である。
判定手段がファイル類の内容を比較する場合と同様に、出力手段は、必ずしも正確にファイル類の位置を読み取ることができる必要はない。つまり、不正確に読み取った場合、その限りで圧縮率の向上が見込めなくなるが、データの異常が生じることはないし、圧縮されずに残る部分は、そのまま出力されるから、データの取りこぼしが発生する心配もない。したがって、詳細まで正確に解析できていない種類のファイルシステムであっても、それなりには圧縮を行うことができる。
The method of claim 4 does not directly output the entire remaining area as described above, but compresses the contents of at least a part of the remaining files by using a general-purpose compression method. Output method. In general, the general-purpose compression method can be most efficiently compressed when the entire data to be compressed has the same biased statistical property. If the entire remaining area is simply compressed from start to finish, the content data of various files on that area are confused and united, making the statistical properties inconsistent (nearly random). The compression rate is somewhat worse. In the present invention, the output means reads the content data of the files on the area as much as possible and compresses each (remaining file compression processing). In general, the data included in one file is expected to have a relatively constant statistical property, so that the compression rate can be improved. The output means adds the list of the positions of the files to the compression result and outputs the result. This position can be expressed in the same manner as in the first aspect of the invention.
Even if the remaining files are extremely small, the compression efficiency is poor, so it may be possible not to compress them. In addition, among the remaining files, those that are expected to have similar statistical properties, for example, those that have a common file name extension, or those that are stored in the same directory, etc. are combined into one unit ( Archive) and compress it.
The contents of the remaining area that is not output even after these processes are output in the same manner as the method for the remaining area in the other inventions described so far. The handling of unnecessary areas is the same.
Similar to the case where the determination means compares the contents of the files, the output means does not necessarily need to be able to read the position of the files accurately. In other words, if the reading is inaccurate, the compression rate cannot be improved as long as it is read. However, no data abnormality occurs, and the portion that remains uncompressed is output as it is, and data is lost. No worries. Therefore, even a file system of a type that cannot be accurately analyzed in detail can be compressed accordingly.

ところで、請求項4の方法で残存ファイル類を対象としていたのを、被処理上ファイル類全般に広げることも考えられる。この方法は、通常、基準FSIを必要としない。すなわち、この方法は、読取手段が被処理FSI上のファイル類を可及的に読み取って、それを圧縮手段が汎用の圧縮方法で圧縮したものを、出力手段がその位置のリストとともに出力することによって、圧縮済FSIを出力し、以って被処理FSIを圧縮するものである。残りの領域については、請求項の方法と同様に、出力手段は、(不要領域を除き)残存領域としてそのままの内容(望ましくはそれを汎用の圧縮法で圧縮したもの)(及び望ましくはその位置のリスト)を出力する。この方法の、従来の方法に対する利点は、請求項の方法におけるのと同じである。
この方法は、請求項4の方法で、基準FSIとして被処理上ファイル類と一致する基準ファイル類をまったく含まないものだけが与えられたと仮定して処理するのと同じである。請求項4までの方法は、一番最初のFSIなど、基準FSIがない状況では適用できないから、そのような場合には本方法を利用するのが望ましい。
Incidentally, the was intended for remaining files such by the method of claim 4, Rukoto spread on a target file such general also conceivable. This method usually does not require a reference FSI. That is, in this method, the reading means reads the files on the FSI to be processed as much as possible, and the compression means compresses the files by a general-purpose compression method, and the output means outputs the list together with the position list. To output the compressed FSI, thereby compressing the FSI to be processed. As for the remaining area, as in the method of claim 4 , the output means outputs the content as it is as the remaining area (except for the unnecessary area) (preferably, it is compressed by a general-purpose compression method) (and preferably its Position list). The advantages of this method over the conventional method are the same as in the method of claim 4 .
This method is the same as the method of claim 4 assuming that only the standard FSI that does not include any reference files that match the files to be processed is given as the reference FSI. Since the method up to claim 4 cannot be applied in a situation where there is no reference FSI, such as the first FSI, it is desirable to use this method in such a case.

請求項の方法は、ここまでに述べた方法の出力である圧縮済FSIを、元の被処理FSIの形に復元する方法である。圧縮済FSI及びその作成にあたって利用した基準FSI(段落0020に係る方法による圧縮済FSIを処理する場合を除く)が読取可能であることを前提とする。
復元手段はまず、ユーザから入力を受け取るか、より望ましくはヘッダ等を読み取って、基準FSIのある場所(段落0020に係る方法による圧縮済FSIを処理する場合を除く)並びに復元結果(復元FSI)の書き出し先及び大きさ(通常元の被処理FSIの大きさと同じであるが、ユーザの指示等により増減することもありうる)を特定する。
次に復元手段は、当該圧縮済FSIを読み取って、そこに一致基準参照情報を含むデータがあるときは、一致基準参照情報で示される基準ファイル類を読み取り、その内容を復元FSI上の当該一致位置と同じ位置に書き出す(一致領域復元処理)。
また、当該圧縮済FSIに圧縮されたファイル類の圧縮データが含まれているときは、復元手段は、その圧縮データを復元し、それに付加されているファイル類の位置の情報と同じ位置に書き出す(ファイル類復元処理)。
また、当該圧縮済FSIに残存領域のデータが含まれているときは、それに位置の情報が付加されているときはその位置に、それがないならば一致領域復元処理及び残存ファイル類復元処理で書き出されなかった領域に順に、そのデータを(それが汎用の圧縮法で圧縮されていれば復元して)書き出す(残存領域復元処理)。
以上の処理で書き出されない復元FSI上の領域は、不要領域であるから、復元手段は、任意のデータで初期化する。
The method of claim 5 is a method for restoring the compressed FSI, which is the output of the method described so far, into the form of the original processed FSI. It is assumed that the compressed FSI and the reference FSI used in its creation (except when processing the compressed FSI by the method according to paragraph 0020 ) are readable.
The restoration means first receives an input from the user, or more preferably reads a header or the like, where the reference FSI is located (except when processing the compressed FSI by the method according to paragraph 0020 ) and the restoration result (restored FSI) Is specified (usually the same as the size of the original FSI to be processed, but may be increased or decreased by a user instruction or the like).
Next, the restoration means reads the compressed FSI, and if there is data including matching standard reference information, reads the standard files indicated by the matching standard reference information, and reads the contents of the matching FSI on the restored FSI. Write to the same position as the position (coincidence area restoration process).
In addition, when the compressed data of the compressed file is included in the compressed FSI, the restoration unit restores the compressed data and writes it at the same position as the position information of the file attached to the compressed data. (File restoration process).
In addition, when the compressed FSI includes data of the remaining area, if position information is added to the compressed FSI, the matching area restoration process and the remaining file restoration process are performed if there is not. The data is sequentially written into the area that has not been written out (restored if it is compressed by a general-purpose compression method) (residual area restoration process).
Since the area on the restoration FSI that is not written out by the above processing is an unnecessary area, the restoration means initializes it with arbitrary data.

請求項のプログラムは、ここまで述べた方法をコンピュータに実行させるためのものである。これらの方法をプログラムとして実装することは、ここまで述べたことを前提とすれば、当業者にとって容易である。
The program of claim 6 is for causing a computer to execute the method described so far. It is easy for those skilled in the art to implement these methods as a program on the assumption of what has been described so far.

(前提)
図1は、本発明の原理を説明するために、主として請求項1及び4に係る方法による圧縮の実施の一例を示した図である。装置(1)に判定手段(11)、出力手段(12)、圧縮手段(13)と、記憶装置(14)が含まれている。記憶装置(14)には、基準FSI(141)及び被圧縮FSI(142)が格納されており、また、本実施例の実施により、出力手段(12)が圧縮済FSI(143)を出力する。これらFSIの上部に振られている数字はそれらの中での位置、例えばクラスタ番号を表す。なお、説明を単純にするため、ここでは基準FSIが一つの場合で説明するが、本来本発明においては複数とすることも可能である。
基準FSI(141)には、ファイルAの内容(1441)、ファイルBの内容(1442)、ファイルDの内容(1444)、その他の内容(1445)及び明らかな空き領域(1446)が含まれている。ファイルAの内容(1441)は基準FSI(141)上で位置6〜9、17〜19及び28〜32を占めており、また基準FSI(141)のファイルシステム上でAというファイル名が付けられている。同様に、基準FSI(141)上で、ファイルBの内容(1442)は位置9〜11、23〜24及び37〜39を占めファイル名はBであり、ファイルDの内容(1444)は位置2〜4を占めファイル名はDである。ファイルAの内容(1441)、ファイルBの内容(1442)及びファイルDの内容(1444)は、判定手段(11)がファイルとして認識できるとする。出力手段(12)が明らかな空き領域(1446)として認識する領域は、位置1〜2、4〜6、11〜13、15〜17、19〜23、24〜28、32〜37及び39以降である。その余の部分は基準FSIのその他の内容(1445a)として示される。その他の内容(1445a)には、ファイルシステムの管理情報などが含まれることが多い。ある内容に対するファイル名がAとかBとかDとかであるという情報は、この管理情報の方に含まれ、内容自体には含まれない。なお、この基準FSI(141)には、ファイルcの内容(1443)は含まれないことに注意されたい。また、基準FSI(141)の大きさは通常被処理FSI(142)のそれと等しいことが多いであろうが、それは特に必要な条件ではないから、ここでは基準FSI(141)の大きさは明示しない。
大きさが50の被処理FSI(142)には、ファイルAの内容(1441)、ファイルcの内容(1443)、ファイルDの内容(1444)、その他の内容(1445)及び明らかな空き領域(1446)が含まれる。ファイルAの内容(1441)は被処理FSI(142)上では位置7〜10、15〜17、23〜25及び29〜31を占めており、その内容は基準FSI(141)上のファイルAの内容(1441)と等しい。同様に、ファイルDの内容(1444)は位置39〜41を占めその内容は基準FSI(141)上のそれと等しい。また、ファイルcの内容(1442)は位置2〜5、及び19〜20を占める。ファイルAの内容(1441)、ファイルcの内容(1443)及びファイルDの内容(1444)は、判定手段(11)がファイルとして認識できるとする。出力手段(12)が明らかな空き領域(1446)として認識する領域は、位置1〜2、5〜7、10〜15、17〜19、20〜23、25〜29、31〜33、37〜39及び41〜50である。その余の部分は被処理FSIのその他の内容(1445b)として示されるが、その内容は基準FSIのその他の内容(1445a)とは通常異なっている。なお、この被処理FSI(142)には、ファイルBの内容(1442)は含まれないことに注意されたい。また、ファイルAの内容(1441)、cの内容(1443)、Dの内容(1444)に対して被処理FSI(142)上ではどのようなファイル名が付けられていても良い。ここではそれぞれa、c、dというファイル名を持っているものとする。
(Assumption)
FIG. 1 is a view showing an example of compression mainly by the method according to claims 1 and 4 in order to explain the principle of the present invention. The device (1) includes a determination means (11), an output means (12), a compression means (13), and a storage device (14). The storage device (14) stores the reference FSI (141) and the compressed FSI (142), and the output means (12) outputs the compressed FSI (143) by implementing this embodiment. . The numbers given at the top of these FSIs represent the position within them, for example the cluster number. In order to simplify the description, the case where there is one reference FSI will be described here. However, in the present invention, a plurality of reference FSIs are also possible.
Standard FSI (141) includes file A content (1441), file B content (1442), file D content (1444), other content (1445) and obvious free space (1446) Yes. The contents of file A (1441) occupy positions 6-9, 17-19 and 28-32 on the reference FSI (141), and the file name A is given on the file system of the reference FSI (141) ing. Similarly, on the reference FSI (141), the contents of file B (1442) occupy positions 9-11, 23-24 and 37-39, the file name is B, and the contents of file D (1444) are at position 2. The file name that occupies ~ 4 is D. It is assumed that the contents of the file A (1441), the contents of the file B (1442), and the contents of the file D (1444) can be recognized as files by the determination means (11). The area recognized as the clear empty area (1446) by the output means (12) is positions 1-2, 4-6, 11-13, 15-17, 19-23, 24-28, 32-37, and 39 and thereafter. It is. The remainder is shown as other content (1445a) of the reference FSI. The other contents (1445a) often include file system management information and the like. Information that the file name for a certain content is A, B, or D is included in this management information, and is not included in the content itself. Note that the contents of the file c (1443) are not included in the reference FSI (141). In addition, the size of the reference FSI (141) will normally be equal to that of the processed FSI (142), but since it is not a particularly necessary condition, the size of the reference FSI (141) is not specified here. .
Processed FSI (142) of size 50 includes file A content (1441), file c content (1443), file D content (1444), other content (1445), and obvious free space ( 1446). The contents of file A (1441) occupy positions 7 to 10, 15 to 17, 23 to 25, and 29 to 31 on the processed FSI (142), and the contents are the contents of file A on the reference FSI (141). Equal to content (1441). Similarly, the content (1444) of file D occupies positions 39-41 and its content is equal to that on the reference FSI (141). The content (1442) of file c occupies positions 2-5 and 19-20. It is assumed that the contents of the file A (1441), the contents of the file c (1443), and the contents of the file D (1444) can be recognized as files by the determination means (11). The area recognized as the clear empty area (1446) by the output means (12) is the position 1-2, 5-7, 10-15, 17-19, 20-23, 25-29, 31-33, 37 ~ 39 and 41-50. The remaining part is shown as other contents (1445b) of the processed FSI, but the contents are usually different from the other contents (1445a) of the reference FSI. Note that the content (1442) of the file B is not included in the processed FSI (142). In addition, any file name may be assigned to the contents of the file A (1441), the contents of c (1443), and the contents of D (1444) on the processed FSI (142). Here, it is assumed that the file names are a, c, and d, respectively.

(方法)
まず、出力手段(12)が被処理FSI(142)の大きさである50を圧縮済FSI(143)のヘッダとして書き出す。
次に、判定手段(11)が、被処理FSI(142)上からファイルaの内容、基準FSI(141)上からファイルAの内容(1441)を読み出し、それらを比較する。これらは一致しているから、判定手段(11)は出力手段(12)にその旨を通知する。それを受けて出力手段(12)は、被処理FSI(142)からファイルaの位置を読み出し、基準FSI(141)上でファイル名Aを持つファイルの内容(1441)が被処理FSI上では位置7〜10、15〜17、23〜25及び29〜31に位置している旨を「基準,A:7-10,15-17,23-25,29-31」のような形式で、圧縮済FSI(143)に書き出し追加する。
次に、判定手段(11)が、被処理FSI上からファイルcの内容、基準FSI(141)上からファイルAの内容(1441)を読み出し、それらを比較する。これらは一致していていないから、次に、基準FSI(141)上からファイルBの内容(1441)を読み出し、ファイルcの内容(1443)と比較するが、これらも一致しない。さらに基準FSI(141)上からファイルDの内容(1444)を読み出し、ファイルcの内容(1443)と比較するが、これらも一致しない。いずれとも一致しなかったので、判定手段(11)は、ファイルcは残存ファイル類である旨出力手段に通知する。出力手段(12)はそれを受けて、まず、ファイルcの位置を読み出して、残存ファイル類がありその位置が2〜5及び19〜20である旨を、「残フ:2-5,19-20」のような形式で、圧縮済FSI(143)に書き出し追加する。ここでcというファイル名を書き出していないことに注意されたい(もっとも、後の便宜のために書き出しても良い)。次に出力手段(12)は、ファイルcの内容(1443)を読み出して圧縮手段(13)に渡す。圧縮手段(13)はそれを汎用の圧縮法で圧縮して出力手段(12)に返す。それを受けて出力手段(12)は、その圧縮された内容を圧縮済FSI(143)に書き出し追加する。図1においては、ファイルcの内容(1443)が汎用の圧縮法で圧縮されていることを示すために、圧縮済FSI(143)上には、その領域の角を丸く、また被処理FSI(142)におけるファイルcの内容(1443)の幅の合計より狭く表示してある。
次に、判定手段(11)が、被処理FSI上からファイルdの内容、基準FSI(141)上からファイルAの内容(1441)を読み出し、それらを比較する。これらは一致していていないから、次に、基準FSI(141)上からファイルBの内容(1441)を読み出し、ファイルdの内容と比較するが、これらも一致しない。さらに基準FSI(141)上からファイルDの内容(1444)を読み出し、ファイルdの内容(1443)と比較する。これらは一致しているから、判定手段(11)は出力手段(12)にその旨を通知する。それを受けて出力手段(12)は、被処理FSI(142)からファイルdの位置を読み出し、基準FSI(141)上でファイル名Dを持つファイルの内容が被処理FSI(142)上では位置39〜41に位置している旨を「基準,D:39-41」のような形式で、圧縮済FSI(143)に書き出し追加する。
以上で判定手段(11)による比較は終わったので、判定手段(11)はその旨を通知する。それを受けて、出力手段(12)は、被処理FSI(142)を調べて、その中の明らかな空き領域(1446)がどこかを調べ、いままで出力した領域でもその領域(1446)でもない位置を、被処理FSI上のその他の内容(1445b)の位置(0〜1及び33〜37)として、「残域:0-1,33-37」のような形式で、圧縮済FSIに書き出し追加する。次に、当該内容(1445b)を圧縮手段(13)に渡す。圧縮手段(13)はそれを汎用の圧縮法で圧縮して出力手段(12)に返す。それを受けて出力手段(12)は、その圧縮された内容を圧縮済FSI(143)に書き出し追加する。図1においては、その他の内容(1445b)が汎用の圧縮法で圧縮されていることを示すために、圧縮済FSI(143)上には、その領域の角を丸く、また被処理FSI(142)におけるその他の内容(1445b)の幅の合計より狭く表示してある。
図1の圧縮済FSIにおいては、作図の都合上、ヘッダ、ファイルA及び残存ファイル類を出力した部分が、基準FSI(141)や被処理FSI(142)での表示と比較して、実際に占有する領域の大きさの割に横幅が広くなっている。実際には、これらは単に位置等の情報を含んでいるだけであるからかなり小さく、占有量は例えば1クラスタ未満であろう。このことを示すため、右上に「<1」と表示してある。この後に圧縮されたファイルcの内容(1443)が続くが、これは圧縮されてはいるが実際のデータを含むから、例えば2クラスタ程度を占有すると仮定してその右上に「≒3」と表示してある。その余の位置の表示も同様の趣旨である。また、圧縮済FSIの個々の要素の開始ないし終了位置は、クラスタ境界などに整合させる必要はない。
(Method)
First, the output means (12) writes 50, which is the size of the FSI (142) to be processed, as the header of the compressed FSI (143).
Next, the judging means (11) reads the contents of the file a from the processing FSI (142) and the contents (1441) of the file A from the reference FSI (141), and compares them. Since they match, the determination means (11) notifies the output means (12) to that effect. In response to this, the output means (12) reads the position of the file a from the processed FSI (142), and the content (1441) of the file having the file name A on the reference FSI (141) is positioned on the processed FSI. 7-10, 15-17, 23-25 and 29-31 are compressed in a format such as `` Standard, A: 7-10,15-17,23-25,29-31 '' Export and add to the completed FSI (143).
Next, the judging means (11) reads the contents of the file c from the processing FSI and the contents (1441) of the file A from the reference FSI (141), and compares them. Since these do not match, the contents (1441) of file B are read from the reference FSI (141) and compared with the contents (1443) of file c, but they do not match either. Further, the content (1444) of the file D is read from the reference FSI (141) and compared with the content (1443) of the file c. Since they do not coincide with each other, the judging means (11) notifies the output means that the file c is a remaining file. In response, the output means (12) first reads the position of the file c, and indicates that there are remaining files and that the positions are 2 to 5 and 19 to 20, "remaining file: 2-5, 19 -20 "in the compressed FSI (143) format. Note that the file name c is not exported here (although it may be exported for later convenience). Next, the output means (12) reads the content (1443) of the file c and passes it to the compression means (13). The compression means (13) compresses it by a general-purpose compression method and returns it to the output means (12). In response to this, the output means (12) writes the compressed content to the compressed FSI (143) and adds it. In FIG. 1, in order to show that the content (1443) of the file c is compressed by a general-purpose compression method, the corner of the area is rounded on the compressed FSI (143) and the processed FSI ( 142) is narrower than the total width of the contents of file c (1443).
Next, the determination means (11) reads the contents of the file d from the processing FSI and the contents (1441) of the file A from the reference FSI (141), and compares them. Since these do not match, the contents (1441) of file B are read from the reference FSI (141) and compared with the contents of file d, but they do not match either. Further, the contents (1444) of the file D are read from the reference FSI (141) and compared with the contents (1443) of the file d. Since they match, the determination means (11) notifies the output means (12) to that effect. In response, the output means (12) reads the position of the file d from the processed FSI (142), and the content of the file having the file name D on the reference FSI (141) is positioned on the processed FSI (142). Write to the compressed FSI (143) in the format of "reference, D: 39-41" to the effect that it is located at 39-41.
Since the comparison by the determination means (11) is thus completed, the determination means (11) notifies that fact. In response to this, the output means (12) checks the processed FSI (142) to determine where the clear free area (1446) is in the area, and whether the output area or the area (1446) has been output so far. As the position (0-1 and 33-37) of the other contents (1445b) on the FSI to be processed, in the format such as `` residual area: 0-1, 33-37 '' to the compressed FSI Add to export. Next, the content (1445b) is transferred to the compression means (13). The compression means (13) compresses it by a general-purpose compression method and returns it to the output means (12). In response to this, the output means (12) writes the compressed content to the compressed FSI (143) and adds it. In FIG. 1, in order to show that the other contents (1445b) are compressed by a general-purpose compression method, the corner of the area is rounded on the compressed FSI (143) and the FSI to be processed (142 ) Is displayed narrower than the total width of the other contents (1445b).
In the compressed FSI shown in FIG. 1, for the convenience of drawing, the part where the header, file A and the remaining files are output is actually compared with the display in the reference FSI (141) and the processed FSI (142). The width is wide for the size of the occupied area. In practice, they simply contain information such as location, so they are quite small and the occupancy would be less than one cluster, for example. To indicate this, “<1” is displayed in the upper right. This is followed by the contents of the compressed file c (1443), which contains actual data even though it is compressed. For example, assuming that it occupies about 2 clusters, “≒ 3” is displayed on the upper right. It is. The display of the remaining positions has the same purpose. In addition, the start or end position of each element of the compressed FSI need not be aligned with the cluster boundary or the like.

(前提)
図2は、主として請求項2、3及び4に係る方法、すなわち基準FSIと被処理FSIが別の装置上にある場合の圧縮の、実施の一例を示した図である。通信網(24)に親局(21)と子局α(22)と子局β(23)が接続されている。親局(21)には記憶装置(211)、識別情報送出手段(212)及び受信格納手段(213)が含まれている。記憶装置(211)には、基準FSI(2111)が格納され、また、本実施例の実施により受信格納手段(213)が圧縮済FSIα(2112)と圧縮済FSIβ(2113)を出力する。基準FSI(2111)は、実施例1を説明した図1の基準FSI(141)と同じ内容を持つものとする。また、本図における網掛けの意味は図1に示すもの(1441〜1446)と同じとする。なお、説明を単純にするため、ここでは親局が一つの場合で説明するが、本来本発明においては一の子局に対応する親局を複数とすることも可能である。
子局α(22)には記憶装置α(221)、判定手段(222)及び出力手段(223)が含まれる。また作図の都合で図示していないが、図1の出力手段(12)と同様に出力手段(223)に圧縮手段が接続される。記憶装置α(221)には被処理FSIα(2211)が格納されている。この被処理FSIα(2211)は、図1における被処理FSI(142)と同じ内容を持つものとする。
同様に、子局β(23)にも被処理FSIβ(2311)、記憶装置β(231)、判定手段(232)、出力手段(233)、圧縮手段が含まれる。ただし、被処理FSIβ(2311)の内容は被処理FSIα(2211)のそれとは異なり、基準FSI(2111)におけるファイルBと同じ内容を持つファイルb、及び、ファイルDと同じ内容を持つファイルd、被処理FSIα(221)におけるファイルcと同じ内容を持つファイルc、並びに、その他の内容(23111)を含む。また、被処理FSIβ(2311)の大きさは30とする。
通信網(24)はデータを伝送する設備で、本実施例においては1対多の通信にも対応するものであり、IPによるインターネット、IEEE802.3によるLAN、ISDNなどがその例である(ただし、請求項3に係る方法を用いないならば、1対多の通信に対応する必要はなく、USBやRS232Cなどのように、1対1の通信ができるもので十分である)。なお、本図では作図の便宜上、送信と受信のための通信線がそれぞれ引き込まれ、別々の手段に接続されているように表示してあるが、これは必須ではなく、例えば1本だけを引き込み適宜振り分ける構成としても良い。
(Assumption)
FIG. 2 is a diagram showing an example of implementation of the method mainly according to claims 2, 3 and 4, that is, compression when the reference FSI and the processed FSI are on different apparatuses. A master station (21), a slave station α (22), and a slave station β (23) are connected to the communication network (24). The master station (21) includes a storage device (211), identification information transmission means (212), and reception storage means (213). The storage device (211) stores the reference FSI (2111), and the reception storage means (213) outputs the compressed FSIα (2112) and the compressed FSIβ (2113) by implementing this embodiment. The reference FSI (2111) has the same contents as the reference FSI (141) of FIG. In addition, the meaning of shading in this figure is the same as that shown in FIG. 1 (1441 to 1446). In order to simplify the description, the case where there is one master station will be described here. However, in the present invention, a plurality of master stations corresponding to one slave station can be originally provided.
The slave station α (22) includes a storage device α (221), a determination unit (222), and an output unit (223). Although not shown for the convenience of drawing, the compression means is connected to the output means (223) in the same manner as the output means (12) of FIG. The storage device α (221) stores the processed FSI α (2211). This processed FSIα (2211) has the same contents as the processed FSI (142) in FIG.
Similarly, the slave station β (23) includes the processed FSI β (2311), the storage device β (231), the determination unit (232), the output unit (233), and the compression unit. However, the content of the processed FSIβ (2311) is different from that of the processed FSIα (2211), the file b having the same content as the file B in the reference FSI (2111), and the file d having the same content as the file D, A file c having the same contents as the file c in the processing target FSIα (221) and other contents (23111) are included. The size of the FSIβ (2311) to be processed is 30.
The communication network (24) is a facility for transmitting data. In the present embodiment, the communication network (24) also supports one-to-many communication, such as the Internet by IP, LAN by IEEE802.3, ISDN, etc. (however, If the method according to claim 3 is not used, it is not necessary to support one-to-many communication, and one-to-one communication such as USB or RS232C is sufficient. In this figure, for convenience of drawing, the communication lines for transmission and reception are drawn in and are shown as connected to different means, but this is not essential, for example, only one line is drawn in. It is good also as a structure which distributes suitably.

(方法)
(親局・識別情報送出)
まず、親局(21)の識別情報送出手段(212)が、基準FSI(2111)を読み取って、そこに含まれる各ファイルのハッシュ値をなんらかの既知の方法(例えばSHA-1など)により計算する。ここでは、ファイルA、B及びDについて、それぞれハッシュ値が0x1a3c84、0xc6a87f及び0x7ed910と算出されたものとする。識別情報送出手段(212)は、それらファイル名とハッシュ値の組の集合を1対多の通信方法、例えばIEEE802.3におけるブロードキャストにより通信網(24)に送信する。
(Method)
(Sending master / identification information)
First, the identification information sending means (212) of the master station (21) reads the reference FSI (2111) and calculates the hash value of each file included therein by some known method (for example, SHA-1). . Here, it is assumed that the hash values of files A, B, and D are calculated as 0x1a3c84, 0xc6a87f, and 0x7ed910, respectively. The identification information sending means (212) sends a set of pairs of the file names and hash values to the communication network (24) by a one-to-many communication method, for example, broadcast in IEEE802.3.

(子局α)
子局α(22)の判定手段(222)はそれを受信する。それと前後して判定手段(222)は、被処理FSIα(2211)を読み出し、そこに含まれる各ファイルのハッシュ値を、親局(21)の識別情報送出手段(212)と同じ方法により計算する。ここでは、ファイルa、c及びdについて、それぞれハッシュ値が0x1a3c84、0xb9786d及び0x7ed910と算出されたものとする。
まず、子局α(22)の出力手段(223)が被処理FSIα(2211)の大きさである50を、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。
次に、判定手段(222)は、ファイルaのハッシュ値0x1a3c84に一致するものが、親局(21)から通信網(24)を介して受信した集合にないか調べる。これはファイルAのそれに一致するから、判定手段(222)はファイルaの内容がファイルAのそれと一致するものと判定し、出力手段(223)にその旨通知する。出力手段(223)は、実施例1におけると同様に、被処理FSIα(2211)からファイルaの位置を読み出し、基準FSI(2111)上でファイル名Aを持つファイルの内容が被処理FSIα(2211)上にある旨及びその(2211)上でのその位置を実施例1と同様な形式で、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。
判定手段(222)はまた、ファイルcのハッシュ値0xb9786dに一致するものが、親局(21)から通信網(24)を介して受信した集合にないか調べる。これは存在しないから、判定手段(222)はファイルcが残存ファイル類である旨出力手段(223)に通知する。出力手段(223)はそれを受けて、まず、ファイルcの位置を読み出して、残存ファイル類がある旨及びその位置を、実施例1と同様な形式で、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。次に出力手段(223)は、ファイルcの内容(1443)を読み出して圧縮手段に渡す。圧縮手段はそれを汎用の圧縮法で圧縮して出力手段(223)に返す。それを受けて出力手段(223)は、その圧縮された内容を、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。
判定手段(222)はまた、ファイルdのハッシュ値0x7ed910に一致するものが、親局(21)から通信網(24)を介して受信した集合にないか調べる。これはファイルDのそれに一致するから、判定手段(222)はファイルdの内容がファイルDのそれと一致するものと判定し、出力手段(223)にその旨通知する。出力手段(223)は、実施例1におけると同様に、被処理FSIα(2211)からファイルdの位置を読み出し、基準FSI(2111)上でファイル名Dを持つファイルの内容が被処理FSIα(2211)上にある旨及びその(2211)上でのその位置を実施例1と同様な形式で、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。
以上で判定手段(222)による比較は終わったので、判定手段(222)はその旨を通知する。それを受けて、出力手段(223)は、被処理FSIα(2211)を調べて、その中の明らかな空き領域(1446)がどこかを調べ、いままで出力した領域でもその領域(1446)でもない位置を、被処理FSIα(2211)上のその他の内容(1445b)の位置として、実施例1と同様な形式で、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。次に、当該内容(1445b)を圧縮手段に渡す。圧縮手段はそれを汎用の圧縮法で圧縮して出力手段(223)に返す。それを受けて出力手段(223)は、その圧縮された内容を、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。
(Slave station α)
The determination means (222) of the slave station α (22) receives it. Before and after that, the determination means (222) reads the processed FSI α (2211), and calculates the hash value of each file included therein by the same method as the identification information transmission means (212) of the master station (21). . Here, it is assumed that the hash values are calculated as 0x1a3c84, 0xb9786d, and 0x7ed910 for the files a, c, and d, respectively.
First, the output means (223) of the slave station α (22) sets 50, which is the size of the FSI α (2211) to be processed, to the reception storage means (213) of the master station (21) via the communication network (24). Send.
Next, the determination means (222) checks whether there is a set that matches the hash value 0x1a3c84 of the file a in the set received from the master station (21) via the communication network (24). Since this coincides with that of the file A, the judging means (222) judges that the content of the file a matches that of the file A and notifies the output means (223) to that effect. As in the first embodiment, the output means (223) reads the position of the file a from the processed FSIα (2211), and the contents of the file having the file name A on the reference FSI (2111) are processed FSIα (2211). ) And the position on (2211) are transmitted to the reception storage means (213) of the master station (21) via the communication network (24) in the same format as in the first embodiment.
The determination means (222) also checks whether there is a file that matches the hash value 0xb9786d of the file c in the set received from the master station (21) via the communication network (24). Since this does not exist, the judging means (222) notifies the output means (223) that the file c is a remaining file type. In response to this, the output means (223) first reads the position of the file c, and informs that there are remaining files and their positions via the communication network (24) in the same manner as in the first embodiment. The data is transmitted to the reception storage means (213) of the station (21). Next, the output means (223) reads the content (1443) of the file c and passes it to the compression means. The compression means compresses it by a general-purpose compression method and returns it to the output means (223). In response to this, the output means (223) transmits the compressed content to the reception storage means (213) of the master station (21) via the communication network (24).
The determination means (222) also checks whether there is a set matching the hash value 0x7ed910 of the file d in the set received from the master station (21) via the communication network (24). Since this matches that of the file D, the judging means (222) judges that the content of the file d matches that of the file D and notifies the output means (223) to that effect. As in the first embodiment, the output means (223) reads the position of the file d from the processed FSIα (2211), and the content of the file having the file name D on the reference FSI (2111) is processed FSIα (2211). ) And the position on (2211) are transmitted to the reception storage means (213) of the master station (21) via the communication network (24) in the same format as in the first embodiment.
Since the comparison by the determination means (222) has been completed, the determination means (222) notifies that fact. In response to this, the output means (223) examines the processed FSIα (2211), finds out where the obvious free area (1446) is, and whether it is the output area or the area (1446). In the same manner as in the first embodiment, the reception storage means (213) of the master station (21) via the communication network (24) is set as the position of the other contents (1445b) on the processing FSIα (2211). ). Next, the content (1445b) is passed to the compression means. The compression means compresses it by a general-purpose compression method and returns it to the output means (223). In response to this, the output means (223) transmits the compressed content to the reception storage means (213) of the master station (21) via the communication network (24).

(子局β)
一方、子局β(23)の判定手段(232)も親局から同じ集合を受信する。それと前後して判定手段(232)は、被処理FSIβ(2311)を読み出し、そこに含まれる各ファイルのハッシュ値を、親局(21)の識別情報送出手段(212)と同じ方法により計算する。ここでは、ファイルb、c及びdについて、それぞれハッシュ値が0xc6a87f、0xb9786d及び0x7ed910と算出されたものとする。
まず、子局β(23)の出力手段(233)が被処理FSIβ(2311)の大きさである30を、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。
次に、判定手段(232)は、ファイルbのハッシュ値0xc6a87fに一致するものが、親局(21)から通信網(24)を介して受信した集合にないか調べる。これはファイルBのそれに一致するから、判定手段(232)はファイルbの内容がファイルBのそれと一致するものと判定し、出力手段(233)にその旨通知する。出力手段(233)は、実施例1におけると同様に、被処理FSIβ(2311)からファイルbの位置を読み出し、基準FSI(2111)上でファイル名Bを持つファイルの内容が被処理FSIβ(2311)上にある旨及びその(2311)上でのその位置を実施例1と同様な形式で、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。
判定手段(232)はまた、ファイルcのハッシュ値0xb9786dに一致するものが、親局(21)から通信網(24)を介して受信した集合にないか調べる。これは存在しないから、判定手段(232)はファイルcが残存ファイル類である旨出力手段(233)に通知する。出力手段(233)はそれを受けて、まず、ファイルcの位置を読み出して、残存ファイル類がある旨及びその位置を、実施例1と同様な形式で、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。次に出力手段(233)は、ファイルcの内容(1443)を読み出して圧縮手段に渡す。圧縮手段はそれを汎用の圧縮法で圧縮して出力手段(233)に返す。それを受けて出力手段(233)は、その圧縮された内容を、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。
判定手段(232)はまた、ファイルdのハッシュ値0x7ed910に一致するものが、親局(21)から通信網(24)を介して受信した集合にないか調べる。これはファイルDのそれに一致するから、判定手段(232)はファイルdの内容がファイルDのそれと一致するものと判定し、出力手段(233)にその旨通知する。出力手段(233)は、実施例1におけると同様に、被処理FSIβ(2311)からファイルdの位置を読み出し、基準FSI(2111)上でファイル名Dを持つファイルの内容が被処理FSIβ(2311)上にある旨及びその(2311)上でのその位置を実施例1と同様な形式で、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。
以上で判定手段(232)による比較は終わったので、判定手段(232)はその旨を通知する。それを受けて、出力手段(233)は、被処理FSIβ(2311)を調べて、その中の明らかな空き領域(1446)がどこかを調べ、いままで出力した領域でもその領域(1446)でもない位置を、被処理FSIβ(2211)上のその他の内容(1445b)の位置として、実施例1と同様な形式で、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。次に、当該内容(1445b)を圧縮手段に渡す。圧縮手段はそれを汎用の圧縮法で圧縮して出力手段(233)に返す。それを受けて出力手段(233)は、その圧縮された内容を、通信網(24)を介して親局(21)の受信格納手段(213)へ送信する。
(Slave station β)
On the other hand, the determination means (232) of the slave station β (23) also receives the same set from the master station. Before and after that, the determination means (232) reads the processed FSIβ (2311) and calculates the hash value of each file included therein by the same method as the identification information transmission means (212) of the master station (21). . Here, it is assumed that the hash values of the files b, c, and d are calculated as 0xc6a87f, 0xb9786d, and 0x7ed910, respectively.
First, the output means (233) of the slave station β (23) sets the size of the processed FSI β (2311) to 30 via the communication network (24) to the reception storage means (213) of the master station (21). Send.
Next, the determination means (232) checks whether there is a set that matches the hash value 0xc6a87f of the file b in the set received from the master station (21) via the communication network (24). Since this matches that of the file B, the judging means (232) judges that the content of the file b matches that of the file B, and notifies the output means (233) to that effect. As in the first embodiment, the output means (233) reads the position of the file b from the processed FSIβ (2311), and the content of the file having the file name B on the reference FSI (2111) is processed FSIβ (2311 ) And the position on (2311) are transmitted to the reception storage means (213) of the master station (21) via the communication network (24) in the same format as in the first embodiment.
The judging means (232) also checks whether there is a set that has matched the hash value 0xb9786d of the file c from the set received from the master station (21) via the communication network (24). Since this does not exist, the judging means (232) notifies the output means (233) that the file c is a remaining file type. In response to this, the output means (233) first reads the position of the file c, and informs that there are remaining files and their positions in the same format as in the first embodiment via the communication network (24). The data is transmitted to the reception storage means (213) of the station (21). Next, the output means (233) reads the content (1443) of the file c and passes it to the compression means. The compression means compresses it by a general-purpose compression method and returns it to the output means (233). In response to this, the output means (233) transmits the compressed content to the reception storage means (213) of the master station (21) via the communication network (24).
The determination means (232) also checks whether there is a set matching the hash value 0x7ed910 of the file d in the set received from the master station (21) via the communication network (24). Since this matches that of the file D, the judging means (232) judges that the content of the file d matches that of the file D and notifies the output means (233) to that effect. As in the first embodiment, the output means (233) reads the position of the file d from the processed FSIβ (2311), and the contents of the file having the file name D on the reference FSI (2111) are processed FSIβ (2311 ) And the position on (2311) are transmitted to the reception storage means (213) of the master station (21) via the communication network (24) in the same format as in the first embodiment.
Since the comparison by the determination means (232) is thus completed, the determination means (232) notifies that fact. In response to this, the output means (233) examines the processed FSIβ (2311) to find out where the clear free area (1446) is, and whether it is the output area or the area (1446). In the same format as that of the first embodiment, the reception storage means (213) of the master station (21) via the communication network (24) is set as the position of the other contents (1445b) on the processing FSIβ (2211). ). Next, the content (1445b) is passed to the compression means. The compression means compresses it by a general-purpose compression method and returns it to the output means (233). In response to this, the output means (233) transmits the compressed content to the reception storage means (213) of the master station (21) via the communication network (24).

(親局・受信格納)
以上の処理で子局α(22)及び子局β(23)より送信された情報を、親局(21)の受信格納手段(213)が受信し、記憶装置(211)上に、それぞれを別にして順に書き込む。子局α(22)より受信したものが圧縮済FSIα(2112)、子局β(23)より受信したものが圧縮済FSIβ(2113)となる。
(Master station / receive storage)
The information transmitted from the slave station α (22) and slave station β (23) by the above processing is received by the reception storage means (213) of the master station (21), and the information is stored on the storage device (211). Separately write in order. What is received from the slave station α (22) is the compressed FSI α (2112), and what is received from the slave station β (23) is the compressed FSI β (2113).

圧縮方法の原理についての説明図である。(実施例1)It is explanatory drawing about the principle of the compression method. (Example 1) 基準FSIと被処理FSIとが別の装置上にある場合の圧縮方法についての説明図である。(実施例2)It is explanatory drawing about the compression method in case the reference | standard FSI and to-be-processed FSI exist on another apparatus. (Example 2)

符号の説明Explanation of symbols

1 装置
11 判定手段
12 出力手段
13 圧縮手段
14 記憶装置
141 基準FSI
142 被処理FSI
143 圧縮済FSI
1441 ファイルAの内容
1442 ファイルBの内容
1443 ファイルcの内容
1444 ファイルDの内容
1445a 基準FSI上のその他の内容
1445b 被処理FSI上のその他の内容
1446 明らかな空き領域
21 親局
211 記憶装置
2111 基準FSI
2112 圧縮済FSIα
2113 圧縮済FSIβ
212 識別情報送出手段
213 受信格納手段
22 子局α
221 記憶装置α
2211 被処理FSIα
222 判定手段
223 出力手段
23 子局β
231 記憶装置β
2311 被処理FSIβ
232 判定手段
233 出力手段
24 通信網

1 device
11 Judgment means
12 Output means
13 Compression means
14 Storage device
141 Standard FSI
142 Processed FSI
143 Compressed FSI
1441 Contents of file A
1442 File B contents
1443 Contents of file c
1444 File D contents
1445a Other content on the Standard FSI
1445b Other contents on processed FSI
1446 Clear free space
21 Master station
211 Storage device
2111 Standard FSI
2112 Compressed FSIα
2113 Compressed FSIβ
212 Identification information sending means
213 Reception storage means
22 Slave station α
221 Storage device α
2211 Processed FSIα
222 Judgment means
223 Output means
23 Slave station β
231 Storage device β
2311 treated FSIβ
232 Judgment means
233 Output means
24 communication network

Claims (6)

判定手段が、1以上の基準ファイルシステムイメージ上に存在するファイル類と、被処理ファイルシステムイメージ上に存在するファイル類の中に、内容が同じものがあるかどうかを、夫々のファイルシステムイメージ上の少なくとも一部のファイル類を各々読み出して比較することによって判定し、
当該判定手段が一致すると判定したときは、出力手段が、一致基準参照情報と一致被処理上参照位置を少なくとも出力し、
残存被処理上領域の少なくとも一部については、出力手段が、当該残存被処理上領域の内容を少なくとも出力して、
これら出力手段からの出力の集合を圧縮結果として、被処理ファイルシステムイメージを圧縮する方法。
The determination means determines whether or not there is the same content among the files existing on one or more reference file system images and the files existing on the file system image to be processed on each file system image. By reading and comparing each of at least some of the files,
When it is determined that the determination means matches, the output means outputs at least the matching reference reference information and the matching processing reference position,
For at least a part of the remaining area to be processed, the output means outputs at least the contents of the remaining area to be processed,
A method of compressing a file system image to be processed using a set of outputs from these output means as a compression result.
1以上の基準ファイルシステムイメージを有する、通信網に接続された親局の、識別情報送出手段が、当該基準ファイルシステムイメージを読み出し、当該基準ファイルシステムイメージ上に存在する少なくとも一部のファイル類ごとに、基準参照情報と内容識別情報から少なくとも構成される組を、当該通信網を介して送信し、
子局の判定手段が、当該通信網を介して1以上の親局から少なくとも前記の組を受け取るとともに、自局の記憶装置上に存在する被処理ファイルシステムイメージ上の少なくとも一部のファイル類を各々読み出して親局と同じ方法で生成した内容識別情報と、親局から受け取った前記内容識別情報のうち少なくとも一つ以上との比較結果を参酌して一致するかどうかを判定し、
当該判定手段が一致すると判定したときは、子局の出力手段が、受け取った一致基準参照情報と、一致被処理上参照位置とを少なくとも出力し、
残存被処理上領域の少なくとも一部については、出力手段が、当該残存被処理上領域の内容を少なくとも出力して、
親局のファイルシステムイメージを基準ファイルシステムイメージとし、これら出力手段からの出力の集合を圧縮結果として、子局の被処理ファイルシステムイメージを圧縮する方法。
The identification information sending means of the master station connected to the communication network having one or more reference file system images reads out the reference file system image and at least a part of files existing on the reference file system image And transmitting at least a set composed of the reference reference information and the content identification information via the communication network,
The slave station determination means receives at least the set from one or more parent stations via the communication network, and at least a part of files on the file system image to be processed existing on the storage device of the local station. Each of the content identification information read and generated in the same way as the parent station, and whether or not to match with the comparison result of at least one or more of the content identification information received from the parent station,
When it is determined that the determination means matches, the output means of the slave station outputs at least the received matching reference reference information and the matching processing reference position,
For at least a part of the remaining area to be processed, the output means outputs at least the contents of the remaining area to be processed,
A method of compressing a file system image to be processed of a slave station using a file system image of the master station as a reference file system image and a set of outputs from these output means as a compression result.
一の親局から複数の子局に対し、親局の識別情報送出手段が、1対多の通信方法を用いて、基準参照情報と内容識別情報からなる組を送信する請求項2記載の方法。       3. The method according to claim 2, wherein the identification information sending means of the master station transmits a set of reference reference information and content identification information to the plurality of slave stations from one master station using a one-to-many communication method. . 請求項1、2又は3記載の方法から、残存被処理上ファイル類の少なくとも一部について、出力手段が、少なくとも次の各号の組を含むデータを出力するようにした方法。
1. 1以上の当該残存被処理上ファイル類の被処理ファイルシステムイメージ上の位置を表す1以上の情報からなるリスト
2. 1以上の当該残存被処理上ファイル類の内容からなるデータを、圧縮手段が、汎用の圧縮法で圧縮した結果
4. A method according to claim 1, wherein the output means outputs data including at least the following sets of at least a part of the files to be processed.
1. A list of one or more pieces of information representing the location of one or more of the remaining files to be processed on the processed file system image
2. The result of compressing the data consisting of the contents of one or more of the above-mentioned remaining files to be processed by a compression method using a general-purpose compression method
復元手段が圧縮済ファイルシステムイメージを読み取って、
一致基準参照情報を含むデータが含まれていると復元手段が判定したときは、復元手段が一致領域復元処理を行い、
圧縮されたファイル類の圧縮データが含まれていると復元手段が判定したときは、復元手段がファイル類復元処理を行い、
残存被処理上領域のデータが含まれていると復元手段が判定したときは、復元手段が残存領域復元処理を行って、
請求項1、2、3又は4記載の方法によって出力された当該圧縮済ファイルシステムイメージから、これら復元手段からの出力の集合を復元結果として、基準ファイルシステムイメージを復元する方法。
The decompressor reads the compressed file system image and
When the restoration unit determines that data including the matching criterion reference information is included, the restoration unit performs a matching area restoration process,
When the restoration means determines that the compressed data of the compressed files is included, the restoration means performs the file restoration processing,
When the restoration means determines that the data on the remaining processing target area is included, the restoration means performs the remaining area restoration processing,
5. A method for restoring a reference file system image from the compressed file system image output by the method according to claim 1, using a set of outputs from the restoration means as a restoration result.
請求項1、2、3、4又は5記載の方法に従ってコンピュータを動作させるためのプログラム。
A program for operating a computer according to the method according to claim 1, 2, 3, 4 or 5.
JP2004004913A 2004-01-13 2004-01-13 File system image compression method and program Expired - Fee Related JP3713666B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004004913A JP3713666B2 (en) 2004-01-13 2004-01-13 File system image compression method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004004913A JP3713666B2 (en) 2004-01-13 2004-01-13 File system image compression method and program

Publications (2)

Publication Number Publication Date
JP2005202443A JP2005202443A (en) 2005-07-28
JP3713666B2 true JP3713666B2 (en) 2005-11-09

Family

ID=34819385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004004913A Expired - Fee Related JP3713666B2 (en) 2004-01-13 2004-01-13 File system image compression method and program

Country Status (1)

Country Link
JP (1) JP3713666B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100281207A1 (en) * 2009-04-30 2010-11-04 Miller Steven C Flash-based data archive storage system
JP5621229B2 (en) * 2009-08-27 2014-11-12 日本電気株式会社 Storage system, management method and program
KR101035302B1 (en) * 2010-10-11 2011-05-19 (주)이스트소프트 A cloud system and a method of compressing and transmtting files in a cloud system
JP6005951B2 (en) * 2012-02-28 2016-10-12 東芝メディカルシステムズ株式会社 Backup data storage and data backup system
US9959070B2 (en) * 2013-03-06 2018-05-01 Ab Initio Technology Llc Managing operations on stored data units
US10133500B2 (en) * 2013-03-06 2018-11-20 Ab Initio Technology Llc Managing operations on stored data units

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309209A (en) * 1993-04-26 1994-11-04 Hitachi Ltd File backup system
US6080207A (en) * 1998-06-04 2000-06-27 Gateway 2000, Inc. System and method of creating and delivering software
JP2000200208A (en) * 1999-01-06 2000-07-18 Fujitsu Ltd Method and device for file backup, and program recording medium
JP4075203B2 (en) * 1999-04-09 2008-04-16 株式会社日立製作所 Data backup system

Also Published As

Publication number Publication date
JP2005202443A (en) 2005-07-28

Similar Documents

Publication Publication Date Title
KR102007070B1 (en) Reference block aggregating into a reference set for deduplication in memory management
US11132338B1 (en) Sharing services between deduplication systems
US7640354B2 (en) Scalable differential compression of network data
US7478113B1 (en) Boundaries
US7886120B1 (en) System and method for efficient backup using hashes
JP6884128B2 (en) Data deduplication device, data deduplication method, and data deduplication program
CA2670400C (en) Methods and systems for quick and efficient data management and/or processing
CN101803203B (en) Optimized data stream compression using data-dependent chunking
US8650162B1 (en) Method and apparatus for integrating data duplication with block level incremental data backup
US20070177739A1 (en) Method and Apparatus for Distributed Data Replication
US11221992B2 (en) Storing data files in a file system
TWI554893B (en) Method and system for transmitting data
MX2012014730A (en) Optimization of storage and transmission of data.
US8768901B1 (en) Method and apparatus for selectively storing blocks of data on a server
US8280895B2 (en) Multi-streamed method for optimizing data transfer through parallelized interlacing of data based upon sorted characteristics to minimize latencies inherent in the system
JP3713666B2 (en) File system image compression method and program
JP5094487B2 (en) Information leakage inspection apparatus, computer program, and information leakage inspection method
US7870103B1 (en) Tolerating and reporting collisions in content-derived identifiers of data segments using secondary identifiers
US20230199064A1 (en) Data transmission method and system, apparatus, device, and medium
JP5494817B2 (en) Storage system, data management apparatus, method and program
US20170048303A1 (en) On the fly statistical delta differencing engine
US20170337204A1 (en) Differencing engine for moving pictures
WO2013136584A1 (en) Data transfer system
KR101426382B1 (en) Method for data recovery using pipeline in distributed file system
CN114840501A (en) Hashing a data set using multiple hash engines

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050811

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120902

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees