"基準時点において、指定された条件を満たすファイルから構成される第1のファイル群について、その特徴を一意に表す第1の検査符号を、前記第1のファイル群に属するファイルのメタデータに基づいて生成し、前記条件を満たすファイルから構成される第2のファイル群について、その特徴を一意に表す第2の検査符号を、前記第2のファイル群に属するメタデータに基づいて生成する検査符号生成手段と、前記第1の検査符号と前記第2の検査符号とを比較し、両者の不一致をもって前記1のファイル群と前記第2のファイル群との不整合を検出する不整合検出手段とを備えたことを特徴とするファイル群整合性検証システム。請求項1記載のファイル群整合性検証システムにおいて、ファイルおよびそのメタデータが格納された記憶装置を備え、前記検査符号生成手段は、前記基準時点および前記検証時点において、それぞれ、前記記憶装置に格納されているメタデータの内の、前記条件を満たすファイルのメタデータに基づいて、前記第1の検査符号および前記第2の検査符号を生成することを特徴とするファイル群整合性検証システム。請求項1記載のファイル群整合性検証システムにおいて、ファイルおよびそのメタデータが格納された第1および第2の記憶装置と、差分データ記憶手段と、前記第1の記憶装置に格納されているファイルの内の、前記基準時点以降に更新されたファイルを前記差分データ記憶手段に記録する差分データ抽出手段と、前記差分データ記憶手段に記録されている差分データを前記第2の記憶装置に展開する差分データ適用手段とを備え、且つ、前記検査符号生成手段は、前記基準時点においては、前記第1の記憶装置に格納されているファイルの内の前記条件を満たすファイルのメタデータに基づいて前記第1の検査符号を生成し、前記検証時点においては、前記第2の記憶装置に格納されているファイルの内の、前記条件を満たすファイルのメタデータに基づいて前記第2の検査符号を生成し、前記差分データ適用手段は、前記不整合検出手段によって前記第1のファイル群と前記第2のファイル群との不整合が検出されなかった場合に限り、前記差分データを前記第2の記憶装置に展開することを特徴とするファイル群整合性検証システム。請求項3記載のファイル群整合性検証システムにおいて、前記第2の記憶装置固有の固有ファイルが依存する依存ファイルの満たすべき属性が記録された適用条件記憶手段と、前記差分データ記憶手段に記録されている差分データに含まれるファイルの属性と前記適用条件記憶手段に記録されている属性とに基づいて、前記差分データの展開を許可するか否かを判定する適用条件判定手段とを備え、且つ、前記差分データ適用手段は、前記不整合検出手段によって前記第1のファイル群と前記第2のファイル群との不整合が検出されず、且つ、前記適用条件判定手段によって前記差分データの展開が許可された場合に限り、前記差分データを前記第2の記憶装置に展開することを特徴とするファイル群整合性検証システム。請求項3記載のファイル整合性検証システムにおいて、適用条件記憶手段と、前記第2の記憶装置に記録されている実行バイナリファイルと、その実行バイナリファイルが依存している依存ファイルとの依存関係を表す有向グラフであって、1つのノードが1つのファイルに対応し、各ノードには対応するファイルの属性が付されている有向グラフを、ファイルの内容部の特定領域に格納された依存ファイル情報を辿って生成し、生成した有向グラフを前記適用条件記憶手段に記録するファイル依存関係分析手段と、前記差分データ記憶手段に記録されている差分データに含まれているファイルの属性と、前記適用条件記憶手段に記録されている有向グラフとに基づいて、前記差分データの展開を許可するか否かを判定する適用条件判定手段とを備え、且つ、前記差分データ適用手段は、前記不整合検出手段によって前記第1のファイル群と前記第2のファイル群との不整合が検出されず、且つ、前記適用条件判定手段によって前記差分データの展開が許可された場合に限り、前記差分データを前記第2の記憶装置に展開することを特徴とするファイル整合性検証システム。請求項1乃至5の何れか1項に記載のファイル群整合性検証システムにおいて、前記検査符号は、前記条件を満たすファイルのメタデータの属性の内の、一部の属性の出現度数分布であることを特徴とするファイル群整合性検証システム。請求項1乃至5の何れか1項に記載のファイル群整合性検証システムにおいて、前記検査符号は、前記条件を満たすファイルのメタデータの属性の内の、少なくとも一部の属性についてのハッシュチェーンであることを特徴とするファイル群整合性検証システム。基準時点において、検査符号生成手段が、指定された条件を満たすファイルから構成される第1のファイル群について、その特徴を一意に表す第1の検査符号を、前記第1のファイル群に属するファイルのメタデータに基づいて生成し、前記基準時点以降の検証時点において、検査符号生成手段が、前記条件を満たすファイルから構成される第2のファイル群について、その特徴を一意に表す第2の検査符号を、前記第2のファイル群に属するファイルのメタデータに基づいて生成し、不整合検出手段が、前記第1の検査符号と前記第2の検査符号との不一致をもって前記第1のファイル群と前記第2のファイル群との不整合を検出することを特徴とするファイル群整合性検証方法。コンピュータをファイル群整合性検証システムとして機能させるためのファイル群整合性検証用プログラムを記録した、コンピュータが読み取り可能な記録媒体であって、前記コンピュータを、基準時点において、指定された条件を満たすファイルから構成される第1のファイル群について、その特徴を一意に表す第1の検査符号を、前記第1のファイル群に属するファイルのメタデータに基づいて生成し、前記基準時点以降の検証時点において、前記条件を満たすファイルから構成される第2のファイル群について、その特徴を一意に表す第2の検査符号を、前記第2のファイル群に属するファイルのメタデータに基づいて生成する検査符号生成手段、前記第1の検査符号と前記第2の検査符号とを比較し、両者の不一致をもって前記1のファイル群と前記第2のファイル群との不整合を検出する不整合検出手段として機能させるためのファイル群整合性検証用プログラムを記録した、コンピュータが読み取り可能な記録媒体。特許文献1に記載されている技術では、ハッシュ値を比較することにより、整合性を検証しているので、ビット単位もしくはバイト単位でデータを比較する場合に比べ、比較処理に要する時間を極めて短くすることができる。また、ハッシュ値を算出する際、並列動作が可能な複数のハッシュ値算出手段を利用してハッシュ値を算出するようにしているので、1個のハッシュ値算出手段を利用してハッシュ値を算出する場合に比較して、ハッシュ値の算出時間を短縮することができる。しかし、特許文献1に記載されている技術では、整合性を検証するデータ全体を対象にしてハッシュ値を算出するようにしているので、並列動作が可能な複数のハッシュ値算出手段を利用してハッシュ値を算出するようにしても、整合性検証対象にするデータのサイズが大きい場合、ハッシュ値算出のために多くの時間が費やされてしまい、その分、整合性検証処理に要する時間が長くなってしまう。また、特許文献2に記載されている技術によれば、第1のファイルに組み込まれているネーティブデータ署名と、第2のファイルに組み込まれているネーティブデータ署名とを比較することにより、第1のファイルと第2のファイルとの整合性を検証することができるので、ファイルの内容をビット単位もしくはバイト単位で比較する場合に比較して、比較処理に要する時間を極めて短くすることができる。しかし、特許文献2に記載されている技術では、ファイルの更新操作を常に監視し、データストリームの変更されたファイルがディスク装置二次記憶装置に書き戻された場合、上記ファイル中のデータストリームと一意に対応するネーティブデータ署名を上記ファイルに組み込む処理が必要である。このような処理は通常のOSのファイル出力処理では行われていない付加的な処理であるので、ファイルの更新操作を監視する処理およびネーティブデータ署名をファイルに組み込む処理によって、コンピュータシステムの日常的な運用時におけるファイル出力処理性能が低下してしまうという問題がある。[発明の目的]そこで、本発明の目的は、整合性の検証対象にするファイル群のサイズが大きい場合、整合性検証処理に要する時間が長くなってしまうという課題、および、整合性検証処理によって日常的なファイル出力処理性能が低下してしまうという課題を解決したファイル群整合性検証システムを提供することにある。基準時点において、指定された条件を満たすファイルから構成される第1のファイル群について、その特徴を一意に表す第1の検査符号を、前記第1のファイル群に属するファイルのメタデータに基づいて生成し、前記条件を満たすファイルから構成される第2のファイル群について、その特徴を一意に表す第2の検査符号を、前記第2のファイル群に属するメタデータに基づいて生成する検査符号生成手段と、前記第1の検査符号と前記第2の検査符号とを比較し、両者の不一致をもって前記1のファイル群と前記第2のファイル群との不整合を検出する不整合検出手段とを備える。本発明の他の形態にかかるファイル群整合性検証方法は、基準時点において、検査符号生成手段が、指定された条件を満たすファイルから構成される第1のファイル群について、その特徴を一意に表す第1の検査符号を、前記第1のファイル群に属するファイルのメタデータに基づいて生成し、前記基準時点以降の検証時点において、検査符号生成手段が、前記条件を満たすファイルから構成される第2のファイル群について、その特徴を一意に表す第2の検査符号を、前記第2のファイル群に属するファイルのメタデータに基づいて生成し、不整合検出手段が、前記第1の検査符号と前記第2の検査符号との不一致をもって前記第1のファイル群と前記第2のファイル群との不整合を検出する。また、本発明の他の形態にかかるファイル群整合性検証用プログラムは、コンピュータをファイル群整合性検証システムとして機能させるためのファイル群整合性検証用プログラムを記録した、コンピュータが読み取り可能な記録媒体であって、前記コンピュータを、基準時点において、指定された条件を満たすファイルから構成される第1のファイル群について、その特徴を一意に表す第1の検査符号を、前記第1のファイル群に属するファイルのメタデータに基づいて生成し、前記基準時点以降の検証時点において、前記条件を満たすファイルから構成される第2のファイル群について、その特徴を一意に表す第2の検査符号を、前記第2のファイル群に属するファイルのメタデータに基づいて生成する検査符号生成手段、前記第1の検査符号と前記第2の検査符号とを比較し、両者の不一致をもって前記1のファイル群と前記第2のファイル群との不整合を検出する不整合検出手段として機能させる。本発明によれば、整合性の検証対象にするファイル群のサイズが大きい場合であっても、コンピュータシステムの日常的な運用時におけるファイル出力性能に悪影響を与えることなく、ファイル群の整合性の検証処理に要する時間を短くできるという効果を得られる。次に、本発明の実施の形態について図面を参照して詳細に説明する。[本発明の第1の実施の形態]図1を参照すると、本発明の第1の実施の形態は、プログラム制御により動作するコンピュータシステム1が、フィンガープリント生成手段101と、フィンガープリント記憶手段102と、不整合検出手段103と、二次記憶装置104と、を備えた構成となっている。フィンガープリント生成手段101は、検査符号生成手段として機能するものである。そして、フィンガープリント生成手段101は、整合性の検証対象にするファイル群1041を構成するファイルが満たすべき条件を含んだフィンガープリント生成指示がユーザによって入力された場合、上記条件を満たすファイルそれぞれのメタデータを二次記憶装置104から入力し、これら一連のメタデータに基づいてファイル群1041固有のフィンガープリント検査符号FP1を生成する。そして、生成したフィンガープリントFP1を基準時点のフィンガープリントとしてフィンガープリント記憶手段102に記録すると共に、フィンガープリント生成指示に含まれていた条件をフィンガープリント記憶手段102に記録する。また、フィンガープリント生成手段101は、不整合検出手段103からフィンガープリント生成指示が入力された場合、この指示に含まれている条件を満たすファイルを構成要素とするファイル群1041についてのフィンガープリントFP2を生成し、生成したフィンガープリントFP2を検証時点のフィンガープリントとして不整合検出手段103に返却する。ここで、フィンガープリント生成指示に含ませる条件としては、例えば、整合性の検証対象にするファイル群に含ませるファイルのファイル名が載ったファイル名リストや、整合性の検証対象にするファイル群に含ませるファイルの作成日時が載った作成日時リストなどを用いることができ、以下の説明では、ファイル名リストを用いた場合を例にして説明を行う。不整合検出手段103は、ユーザによって検証指示が入力されると、フィンガープリント記憶手段102からファイル名リストを入力し、このファイル名リストを含んだフィンガープリント生成指示をフィンガープリント生成手段101に対して出力する。そして、フィンガープリント生成指示に応答してフィンガープリント生成手段101から検証時点のフィンガープリントFP2が返却されると、それとフィンガープリント記憶手段102に記録されている基準時点のフィンガープリントFP1とを比較する。そして、両者が一致しない場合は、検証対象にしているファイル群が不整合の状態にあることをユーザに通知する。なお、フィンガープリント生成手段101および不整合検出手段103は、コンピュータによって実現可能であり、コンピュータによって実現する場合には、例えば、次のようにする。コンピュータをフィンガープリント生成手段101および不整合検出手段103として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、フィンガープリント生成手段101および不整合検出手段103を実現する。第1の実施の形態の動作の説明次に、図1及び図2のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。先ず、ユーザが図示を省略したキーボードなどの入力手段からフィンガープリント生成手段101に対してフィンガープリント生成指示を入力する。このフィンガープリント生成指示には、ファイル名リストLが含まれている。ファイル名リストLは、ファイル名を要素とするリストであり、整合性の検証対象にするファイル群1041を構成する各ファイルのファイル名が列挙されている。より具体的には、ファイル名リストLには、OSカーネル、ライブラリ、アプリケーションのバイナリファイルのファイル名や、重要データが格納されているファイルのファイル名など、ファイル群1041を構成する各ファイルのファイル名が列挙されている。なお、以下の説明では、ファイル名リストLには、ファイル名f1~fNが列挙されているとする。また、以下の説明では、ファイル名fのファイルを単にファイルfと記す場合もある。フィンガープリント生成手段101は、ユーザから入力されたフィンガープリント生成指示を受け付ける図2のステップS1。次に、フィンガープリント生成手段101は、フィンガープリント指示に含まれているファイル名リストLの要素f1~fNのそれぞれについて、その要素f1~fNに対応するメタデータMf1~MfNを二次記憶装置104から入力する。更に、ファイル名リストLにファイル名が載っているファイルを構成要素としたファイル群1041についてのフィンガープリントFP1を、入力したメタデータMf1~MfNに基づいて生成するステップS2。ここで、メタデータMfとは、ファイルfのファイル名、タイムスタンプ、ファイルサイズなどを含む、ファイルfの二次的な属性であり、ファイルfの内容を含まないデータセットである。一般的なOSのファイルシステムにおいて、メタデータMfは、二次記憶装置104の特定領域に格納されたデータであって、ファイルfの内容のデータ長に比べて極小さいサイズのデータである。たとえば、WindowsOSのファイルシステムNTFSでは、任意のファイルfに対応するメタデータMfは、MFTマスタファイルテーブルとよばれる領域に、4Kバイト以内の固定長レコードとして格納される図5参照。また、フィンガープリント生成手段101は、MFTを先頭から1度走査することで、全てのメタデータに格納されたファイル名、タイムスタンプ、ファイルサイズに関する情報を取得できる。メタデータMf1~MfNからフィンガープリントを生成する方法は、ファイルf1~fNの何れかの内容が更新されたときに、更新前と更新後とでフィンガープリントの値が異なるものになるという性質をもつものであれば、任意の方法を用いてよい。一例として、メタデータMf1~MfNを、それに含まれているファイル名が辞書順となるように連結したベクタを生成する方法が挙げられる図12参照。ファイルf1~fNの内の何れかの内容が更新された場合、メタデータMf1~MfNの内の何れかの値例えば、タイムスタンプやファイルサイズが変化するので、メタデータMf1~MfNを連結したベクタフィンガープリントの値も更新前とは異なる値になる。後述するフィンガープリントの比較処理にかかる時間を短くするために、より好適には、フィンガープリントそのもののデータサイズが小さいことが望ましい。具体的には、メタデータMf1~MfNの一部の属性値に関する統計量を算出し、それをフィンガープリントとする。例えば、メタデータMf1~MfNに含まれる一部の属性に関する統計量として、共通するタイムスタンプの値とその出現回数とを算出し、それをフィンガープリントとするようにしてもよい図13参照。図13の例は、タイムスタンプTS1を含むメタデータが2個、タイムスタンプTS2を含むメタデータが1個であることを示している。また、より高い整合性の検証精度を得るために、タイムスタンプとファイルサイズとの組について、共通するタイムスタンプとファイルサイズとの組と、その出現回数とを算出し、それをフィンガープリントとするようにしてもよい。メタデータの一部の属性値の統計量を利用してフィンガープリントを生成する何れの方法においても、前述した理由により、ファイルの更新前後で異なる値のフィンガープリントを生成することができる。また、メタデータの一部の属性値しか利用していないので、メタデータMf1~MfNをビット列として連結する前述した方法に比較してデータサイズが小さくなり、後述するフィンガープリントの比較処理に要する時間が短縮される。その他の好適な一例として、メタデータMf1~MfNに対してハッシュチェーンを算出し、それをフィンガープリントとする方法が挙げられる。すなわち、メタデータMf1~MfNを、それに含まれるファイル名が辞書順になるように並べたものMf1Mf2...MfNについて、ハッシュチェーンhを算出し、それをフィンガープリントとする図14参照。ここで関数hは、MD5などのハッシュ関数であり、任意長の入力値に対して固定長の出力値を出力し、当該出力値は異なる入力値について高確率に異なる値となる性質をもつ。また、メタデータMf1~MfNに含まれる属性値の一部についてハッシュチェーンを算出し、それをフィンガープリントとする方法を採用することもできる。例えば、メタデータMf1~MfNに含まれるファイル名を辞書順に並べたものf1f2...fNについて、ハッシュチェーンhを算出し、それをフィンガープリントとする。ハッシュチェーンを算出し、それをフィンガープリントとする方法を採用することで、フィンガープリントは固定長たとえば256ビットで表されるようになり、ファイル内容のサイズやファイル名リストLの要素数が増大しても、フィンガープリントの比較にかかる計算時間が一定となるという効果が得られる。フィンガープリント生成手段101は、上述したようにして生成したフィンガープリントFP1を、基準時点のフィンガープリントとしてフィンガープリント記憶手段102に記録すると共に、フィンガープリント生成指示に含まれていたファイル名リストLもフィンガープリント記憶手段102に記録するステップS3。以上で、基準時点での処理が完了する。その後、ファイル名リストLに名前が載っているファイルを構成要素とするファイル群の内容について、基準時点との整合性を検証したい場合、ユーザは、図示を省略したキーボードなどから、不整合検出手段103に対して検証指示を入力する。これにより、不整合検出手段103は、フィンガープリント記憶手段102からファイル名リストLを入力し、このファイル名リストLを含んだフィンガープリント生成指示をフィンガープリント生成手段101に対して出力する。この指示を受け付けたフィンガープリント生成手段101は、前述した処理と同様の処理を行うことにより、検証時点のフィンガープリントFP2を生成し、それを不整合検出手段103に返却するステップS4。不整合検出手段103は、検証時点のフィンガープリントFP2を受け取ると、フィンガープリント記憶手段102から基準時点のフィンガープリントFP1を入力し、両者を比較するステップS5。そして、両者が一致すれば、基準時点と検証時点でファイル群1041が整合していることをユーザに通知しステップS6、そうでなければ、不整合の状態にあることをユーザに通知するステップS7。第1の実施の形態の効果次に、本実施の形態の効果について説明する。本実施の形態によれば、整合性の検証対象にするファイル群のサイズが大きい場合であっても、コンピュータシステムの日常的な運用時におけるファイル出力性能に悪影響を与えることなく、ファイル群の整合性の検証処理に要する時間を短縮できるという効果を得られる。その理由は、ファイル群を構成するファイルのメタデータに基づいて生成したフィンガープリント検査符号を利用して、ファイル群の整合性を検証するようにしているからである。一般的なOSでは、メタデータのサイズは数Kバイト~数10Kバイトであり、ファイルのサイズに比較して極めて小さいので、メタデータに基づいてフィンガープリントを生成することにより、フィンガープリントの生成処理に要する時間を短くすることができ、その分、整合性の検証処理に要する時間を短くすることができる。また、メタデータは、一般的なOSが行う通常の処理によって二次記憶装置104の所定領域例えば、マスタファイルテーブルに記録されるものであり、特許文献2に記載されている技術のように、通常のOSでは行われていない、ファイルの更新操作を監視する処理およびネーティブデータ署名を二次記憶装置104へ書き出す処理を行う必要がないので、コンピュータシステムの日常的な運用時におけるファイル出力性能に悪影響を与えることはない。また、本実施の形態では、フィンガープリントを、メタデータの属性値の内の、一部の属性値の出現度数分布としたので、フィンガープリントのサイズを小さくすることができ、その結果、フィンガープリントの比較処理に要する時間を短くすることができる。また、本実施の形態では、フィンガープリントを、メタデータの属性値の内の少なくとも一部の属性値についてのハッシュチェーンとしたので、フィンガープリントは固定長となり、その結果、検証対象にするファイル群に含まれるファイルのファイル数やファイルサイズにかかわらず、フィンガープリントの比較処理に要する時間を一定にすることができる。本発明の第2の実施の形態次に、本発明の第2の実施の形態について詳細に説明する。本実施の形態は、第1のコンピュータシステムから第2のコンピュータシステムに対してソフトウェアを頒布する際にファイル群の整合性を検証するようにしている。図3を参照すると、本発明の第2の実施の形態は、プログラム制御により動作するコンピュータシステム1a,2aを備える。コンピュータシステム1aは、フィンガープリント生成手段101aと、二次記憶装置104と、差分データ抽出手段105とを備えると共に、フィンガープリント記憶手段102と差分データ記憶手段106が接続されている。フィンガープリント生成手段101aは、ユーザから入力されるフィンガープリント生成指示に応答して、二次記憶装置104に格納されている全てのファイルのメタデータを走査し、上記各ファイルのファイル名が載ったファイル名リストLを生成する。即ち、ファイル群1041を構成するファイルのファイル名が載ったファイル名リストLを生成する。更に、フィンガープリント生成手段101aは、ファイル群1041についてのフィンガープリントFP1を、ファイル群1041に含まれる各ファイルのメタデータに基づいて生成し、生成したフィンガープリントFP1を基準時点のフィンガープリントとしてフィンガープリント記憶手段102に記録する。また、ファイル名リストLもフィンガープリント記憶手段102に記録する。フィンガープリント記憶手段102は、フィンガープリント生成手段101aによって基準時点のフィンガープリントFP1およびファイル名リストが記録される記録媒体であり、たとえばコンパクトディスクやUSBメモリなどの可搬な不揮発性メモリや、ネットワーク上のファイル共有サーバなどを含む。差分データ抽出手段105は、ユーザから入力される差分データ抽出指示に応じて、上記基準時点以降に変更追加された二次記憶装置104上の全てのファイルメタデータおよびファイル内容を差分データとして抽出し、差分データ記憶手段106に記録する。差分データ記憶手段106は、差分データ抽出手段105によって差分データが記録される記録媒体であり、たとえばコンパクトディスクやUSBメモリなどの可搬な不揮発性メモリや、ネットワーク上のファイル共有サーバなどを含む。なお、差分データ記憶手段106とフィンガープリント記憶手段102は、同一媒体であってもよい。フィンガープリント生成手段101aおよび差分データ抽出手段105は、例えば、コンピュータをフィンガープリント生成手段101aおよび差分データ抽出手段105として機能させるためのプログラムをコンピュータに読み取らせ、コンピュータに上記プログラムに従った動作を行わせることにより実現することができる。また、コンピュータシステム2aは、不整合検出手段103aと、フィンガープリント生成手段201と、二次記憶装置204と、差分データ適用手段205と、を有する。不整合検出手段103aは、ユーザから入力される整合性検証指示に応答して、フィンガープリント記憶手段102に記録されているファイル名リストLを含んだフィンガープリント生成指示をフィンガープリント生成手段201に対して出力する。そして、この指示に応答してフィンガープリント生成手段201から返却された検証時点のフィンガープリントFP2と、フィンガープリント記憶手段102に記録されている基準時点のフィンガープリントFP1とを比較し、両者が一致しているか否かを判定する。フィンガープリント生成手段201は、不整合検出手段103aからのフィンガープリント生成指示に応答して、上記指示中のファイル名リストによって特定されるファイルを構成要素としているファイル群2041に対するフィンガープリントFP2を、ファイル群2041を構成している各ファイルのメタデータに基づいて生成する。そして、生成したフィンガープリントFP2を不整合検出手段103aに返却する。差分データ適用手段205は、不整合検出手段103aの比較結果が比較一致であった場合、差分データ記憶手段106に格納された差分データを参照しながら、二次記憶装置204上の対応するファイルを更新または追記する。なお、不整合検出手段103a、フィンガープリント生成手段201、および、差分データ適用手段205は、コンピュータを不整合検出手段103a、フィンガープリント生成手段201、および、差分データ適用手段205と機能させるためのプログラムをコンピュータに読み取らせ、コンピュータに上記プログラムに従った動作を行わせることにより実現できる。第2の実施の形態の動作の説明次に、図3及び図4のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。まず、コンピュータシステム1aのフィンガープリント生成手段101aが、ユーザから入力されたフィンガープリント生成指示に応答して、二次記憶装置104に格納された全てのファイルに対するメタデータを走査し、ファイル名リストLを生成する図4のステップT1。そして、ファイル名リストLを参照しながら、第1の実施の形態におけるステップS2およびS3と同様の動作で、ファイル名リストLに名前が載っているファイルを構成要素とするファイル群1041についてのフィンガープリントFP1を生成し、生成したフィンガープリントFP1およびファイル名リストLをフィンガープリント記憶手段102に記録するステップT2。なお、本実施の形態では、二次記憶装置104に格納されている全てのファイルを構成要素とするファイル群1041についてのフィンガープリントFP1を生成するようにしているが、第1の実施の形態と同様に、ユーザによって入力された条件を満たすファイルを構成要素とするファイル群についてのフィンガープリントFP1を生成するようにしてもよい。但し、このようにした場合には、第1の実施の形態と同様に、ユーザによって入力された条件をフィンガープリント記憶手段102に記録する必要がある。また、ユーザが入力する条件として、二次記憶装置104に格納されている全て或いは一部のファイルのファイル名が載っているファイル名リストを入力するようにしてもよい。その後、コンピュータシステム1aのユーザは、OSのアップデート、新規アプリケーションのインストールなどを行った後、差分データ抽出手段105に対して差分データ抽出指示を入力する。これにより、差分データ抽出手段105は、OSのアップデートファイルやインストールされたアプリケーションのバイナリデータなどの更新データ及び追加データを含む差分データDを作成して、差分データ記憶手段106に格納するステップT3。その際、差分データ抽出手段105は、二次記憶装置104上のメタデータに含まれるタイムスタンプ情報が、前記基準時点以降であることで、差分データとして抽出すべき更新データおよび追加データに対応するファイルを同定する。以上のステップT1~T3を行なった後、コンピュータシステム1aのユーザは、フィンガープリント記憶手段102および差分データ記憶手段106を他のコンピュータに頒布するステップT4。頒布の方法は、ファイル名リストL、基準時点のフィンガープリントFP1、および、差分データDを他のコンピュータシステムから参照可能にする任意の方法を用いてよい。具体的な一例としては、フィンガープリント記憶手段102および差分データ記憶手段106を、コンパクトディスクやUSBメモリなどの可搬な不揮発性メモリ媒体で構成し、当該媒体またはそのコピーを頒布する形態を採ることができる図6参照。また、ネットワーク上のファイル共有サーバ装置などで、フィンガープリント記憶手段102および差分データ記憶手段106を構成して、他のコンピュータと当該ファイル共有サーバ装置を共有する形態をとってもよい図7参照。次に、コンピュータシステム2aのユーザは、頒布されたフィンガープリント記憶手段102および差分データ記憶手段106をコンピュータシステム2aに接続した後、不整合検出手段103aに対して整合性検証指示を入力する。これにより、不整合検出手段103aは、フィンガープリント記憶手段102に記録されているファイル名リストLを入力し、上記ファイル名リストLを含んだフィンガープリント生成指示をフィンガープリント生成手段201に対して出力する。フィンガープリント生成手段201は、フィンガープリント生成指示を受け付けると、前述した第1の実施の形態におけるステップS4と同様の動作を行い、二次記憶装置204に記録されているファイルの内の、ファイル名リストLに名前が載っているファイルを構成要素としたファイル群2041についてのフィンガープリントFP2を生成する。そして、生成したフィンガープリントFP2を検証時点のフィンガープリントとして不整合検出手段103aに返却するステップT5。不整合検出手段103aは、フィンガープリント生成手段201からフィンガープリントFP2が返却されると、それとフィンガープリント記憶手段102に記録されている基準時点のフィンガープリントFP1を比較し、両者が一致するか否かを判定するステップT6。その後、不整合検出手段103aが、フィンガープリントFP1,FP2が一致すると判定した場合は、差分データ適用手段205は、差分データ記憶手段106に格納された差分データDを、二次記憶装置204に書き出し、既存ファイルの更新または新規ファイルの追加を行なうステップT7。この際、不整合検出手段103aはフィンガープリントFP1,FP2が一致する旨をユーザに通知し、ユーザが改めて差分データ適用手段205に差分データの適用を指示する方法をとってもよい。または、不整合検出手段103aが適用指示信号を差分データ適用手段205に出力する方法を用いてもよい。一方、不整合検出手段103aは、フィンガープリントFP1,FP2が一致しないと判定した場合は、差分データを安全に適用できる必要条件である差分データを適用する対象ファイル群の整合が満たされていないことをユーザに通知し、差分データの適用を禁止するステップT8。第2の実施の形態の効果本実施の形態によれば、コンピュータシステム1aで作成した差分データDを、コンピュータシステム2aに適用する際に発生し得る、アプリケーションとライブラリ間の不整合などといった障害を事前に且つ高速に検知することができるため、性能低下を極わずかに抑えながら、より安全なソフトウェア配布を行うことができる。その理由は、コンピュータシステム2aに差分データDを適用する際、基準時点においてフィンガープリント生成手段101aで生成されたフィンガープリントFP1と、検証時点においてフィンガープリント生成手段201で生成されたフィンガープリントFP2とを比較し、両者が不一致の場合、差分データDの適用を禁止するようにしているからである。不整合検出ステップを含むことを特徴とする従来のソフトウェア配布方法の一例として、特開平11-85528に開示された版数に基づくソフトウェア配布方法が挙げられる。しかし、この方法は、版数の計測のためにソフトウェア配布サーバをすべてのコンピュータシステムに接続し、常時、全てのコンピュータシステムにおけるファイル更新を監視する必要がある。これに対して、本発明の第2の実施の形態によれば、特別なソフトウェア配布サーバの設置が不要であるため、配布システム全体の導入運用コストを低減できる。また、コンピュータシステムにおけるファイル更新を監視する必要がないため、日常的なコンピュータシステム運用における性能低下の課題を解決できる。本発明の第3の実施の形態次に、本発明の第3の実施の形態について詳細に説明する。前述した第2の実施の形態では、差分データDの頒布元のコンピュータシステムのファイル群1041と、差分データDの適用先頒布先のコンピュータシステムのファイル群2041とが整合していることを条件にして差分データDを適用先のコンピュータシステムに適用するようにしたが、本実施の形態では、更に、適用先のコンピュータシステム固有の適用条件も考慮して差分データDを適用するか否かを判定する。ここで適用条件とは、差分データDに含まれるファイルが、当該差分データDの適用先のコンピュータシステムにのみ含まれるアプリケーションと競合しない条件である。たとえば、適用先のコンピュータシステムに導入済みのアプリケーションが、特定バージョンのライブラリにしか対応しておらず、差分データDに異なるバージョンの当該ライブラリが含まれている場合、差分データDの適用によって、アプリケーションが動作しなくなる可能性がある。ここで、適用条件として、上記ライブラリの特定バージョンを指定し、差分データが本適用条件に合致しない場合に差分データ適用を中断すれば、上述した問題の発生を防止できる。本実施の形態は、図3に示したシステムにおいて、コンピュータシステム2aの代わりに図8に示したコンピュータシステム2bを使用することにより実現される。コンピュータシステム2bは、差分データ適用手段205の代わりに差分データ適用手段205bを備えている点、適用条件判定手段206を備えている点、および、適用条件記憶手段207を備えている点が図3に示したコンピュータシステム2aと相違している。適用条件記憶手段207には、コンピュータシステム2b固有の適用条件が記録されている。適用条件判定手段206は、差分データ記憶手段106に記録されている差分データD中の全てのファイルが、適用条件記憶手段207に記録されている適用条件を満たすか否かを判定する。差分データ適用手段205bは、不整合検出手段103aによってフィンガープリントFP1,FP2が一致すると判定され、且つ、適用条件判定手段206によって差分データDが適用条件に合致すると判定された場合、差分データDを二次記憶装置204に適用展開する。なお、不整合検出手段103a、フィンガープリント生成手段201、差分データ適用手段205b、および、適用条件判定手段206は、コンピュータによって実現可能であり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータを不整合検出手段103a、フィンガープリント生成手段201、差分データ適用手段205b、および、適用条件判定手段206として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、不整合検出手段103a、フィンガープリント生成手段201、差分データ適用手段205b、および、適用条件判定手段206を実現する。第3の実施の形態の動作の説明次に、本実施の形態の動作について説明する。なお、コンピュータシステム1aの動作は、前述した第2の実施の形態と同様であるので、ここでは、図9のフローチャートを参照してコンピュータシステム2bの動作についてのみ説明する。コンピュータシステム2bのユーザは、頒布されたフィンガープリント記憶手段102および差分データ記憶手段106をコンピュータシステム2bに接続した後、不整合検出手段103aに対して整合性検証指示を入力する。これにより、不整合検出手段103aは、フィンガープリント生成手段201を利用して検証時点のフィンガープリントFP2を生成するステップT5。その後、不整合検出手段103aは、ステップT5で生成したフィンガープリントFP2と、フィンガープリント記憶手段102に記録されている基準時点のフィンガープリントFP1とを比較するステップT6。そして、フィンガープリントFP1,FP2が不一致の場合は、不整合検出手段103aは、ユーザにその旨を通知し、差分データDの適用を禁止するステップT8。これに対して、フィンガープリントFP1,FP2が一致している場合は、適用条件判定手段206が、差分データ記憶手段106内の差分データDを参照して、当該差分データDに含まれる各ファイルが、適用条件記憶手段207に記録されている適用条件を満たすかどうかを判定しステップT9、満たす場合は当該差分データDを二次記憶装置204に適用しステップT7、さもなければ差分データDの適用を禁止するステップT8。適用条件として、ファイルサイズの上限など、差分データDに含まれるファイルのメタデータや内容に関する任意の条件を用いてよいが、好適な一例としてはコンピュータシステム2b固有のファイル依存関係を用いることが望ましい。ファイル依存関係とは、コンピュータシステム1aには存在せず、コンピュータシステム2bにのみ存在するファイル以下、固有ファイルが要求する依存ファイルの条件である。たとえば固有ファイルがあるアプリケーションの実行バイナリファイルであった場合、上記条件は、当該ファイルの実行に必要となるライブラリやドライバなどの依存ファイルを同定するための、バージョン情報やタイムスタンプ情報などといった、メタデータに関する条件である。一般にファイル依存関係をユーザが直接入力することは困難であるため、図10に示すように、コンピュータシステム2bに、さらにファイル依存関係分析手段208を設けてもよい。なお、ファイル依存関係分析手段208もコンピュータをプログラム制御することにより実現可能である。ファイル依存関係分析手段208は、二次記憶装置204に記録されている全ての実行バイナリファイルについて、ファイルの内容部の特定領域に格納された依存ファイル情報を辿って、図11に示すようなファイル依存関係に相当する有向グラフを生成し、適用条件記憶手段207に記録する。図11の有向グラフにおいて、各ノードN1,N2,...,N7,...は、それぞれ1つのファイルに対応しており、ノード内の文字列は、対応するファイルのファイル名を示している。また、始点ノードN1,N2,...は実行バイナリファイルに対応し、入力辺を持つノードN3,N4,...,N7,...は、実行バイナリファイルの実行に必要な依存ファイルに対応している。ノードN3,N4,...,N7,...には、対応する依存ファイルの属性バージョンおよびタイムスタンプが付されている。ファイル依存関係分析手段208は、この属性バージョンおよびタイムスタンプをファイルのメタデータから取得する。適用条件判定手段206は、図11に示した有向グラフを用いて、差分データDの適用可否を判定する。具体的には、適用条件判定手段206は、有向グラフの始点ノードの内、差分データDに含まれていない実行バイナリファイルに対応する始点ノードを同定する。そして、同定した始点ノードの内の1つに注目し、注目ノードから到達可能なノードの中に、差分データDに含まれている依存ファイルと対応するノードがあるか否かを、例えば、ファイル名に基づいて判定する。そして、そのようなノードが存在する場合には、ノードに付されている属性と、差分データD中の対応するファイルの属性とを比較し、不一致であれば、差分データDの適用を禁止する。これに対して、属性が一致していれば、上記同定した始点ノードの中に未注目の始点ノードが存在するか否かを調べる。そして、未注目のノードがなければ、差分データDの適用を許可する。これに対して、未注目のノードが存在する場合には、未注目のノードの内の1つに注目し、前述した処理と同様の処理を行う。第3の実施の形態の効果本実施の形態によれば、コンピュータシステム2bに差分データDを適用することにより発生し得る、コンピュータシステム2b固有の固有ファイルに対応するアプリケーションが動作しなくなるといった事態の発生を防止することができる。その理由は、適用条件記憶手段207に記録されている、コンピュータシステム2b固有の固有ファイルが依存している依存ファイルの満たすべき属性と、差分データDに含まれる属性とに基づいて、差分データの適用を許可するか否かを判定する適用条件判定手段206を備えているからである。また、本実施の形態によれば、ユーザに負担をかけることなく、コンピュータシステム2b固有の固有ファイルに対応するアプリケーションが動作しなくなるといった事態の発生を防止することができる。その理由は、実行バイナリファイルと依存ファイルとの依存関係を示す有向グラフであって、1つのノードが1つのファイルに対応し、各ノードには、そのノードに対応するファイルの属性が付されている有向グラフを、ファイルの内容部の特定領域に格納された依存ファイル情報を辿って生成するファイル依存関係分析手段208と、ファイル依存関係分析手段208が生成した有向グラフを利用して差分データDを適用する否かを判定する適用条件判定手段206を備えているからである。本発明の第4の実施の形態次に、本発明の第4の実施の形態について説明する。図15を参照すると、本実施の形態にかかるファイル群整合性検証システムは、検査符号生成手段10と、不整合検証手段20とを備える。検査符号生成手段10は、基準時点において、指定された条件を満たすファイルから構成される第1のファイル群について、その特徴を一意に表す第1の検査符号を、上記第1のファイル群に属するファイルのメタデータに基づいて生成する。第1の検査符号は、第1のファイル群が変更された場合、異なるものになる。更に、検査符号生成手段10は、上記条件を満たすファイルから構成される第2のファイル群について、その特徴を一意に表す第2の検査符号を、上記第2のファイル群に属するメタデータに基づいて生成する。不整合検出手段20は、上記第1の検査符号と上記第2の検査符号とを比較し、両者の不一致をもって上記第1のファイル群と上記第2のファイル群との不整合を検出する。この構成によれば、整合性の検証対象にするファイル群のサイズが大きい場合であっても、コンピュータシステムの日常的な運用時におけるファイル出力性能に悪影響を与えることなく、ファイル群の整合性の検証処理に要する時間を短縮することができる。その理由は、ファイル群を構成するファイルのメタデータに基づいて生成した検査符号を利用してファイル群の整合性を検証するようにしているからである。この場合、上記ファイル群整合性検証システムは、ファイルおよびそのメタデータが格納された記憶装置を備え、上記検査符号生成手段は、上記基準時点および上記検証時点において、それぞれ、上記記憶装置に格納されているメタデータの内の、上記条件を満たすファイルのメタデータに基づいて、上記第1の検査符号および上記第2の検査符号を生成するのが好適である。また、上記ファイル群整合性検証システムにおいて、ファイルおよびそのメタデータが格納された第1および第2の記憶装置と、差分データ記憶手段と、上記第1の記憶装置に格納されているファイルの内の、上記基準時点以降に更新されたファイルを上記差分データ記憶手段に記録する差分データ抽出手段と、上記差分データ記憶手段に記録されている差分データを上記第2の記憶装置に展開する差分データ適用手段とを備え、且つ、上記検査符号生成手段は、上記基準時点においては、上記第1の記憶装置に格納されているファイルの内の上記条件を満たすファイルのメタデータに基づいて上記第1の検査符号を生成し、上記検証時点においては、上記第2の記憶装置に格納されているファイルの内の、上記条件を満たすファイルのメタデータに基づいて上記第2の検査符号を生成し、上記差分データ適用手段は、上記不整合検出手段によって上記第1のファイル群と上記第2のファイル群との不整合が検出されなかった場合に限り、上記差分データを上記第2の記憶装置に展開するのが好適である。これによれば、或るコンピュータシステムの第1の記憶装置に格納されているファイルの内の基準時点以降に更新されたファイル差分データを、他のコンピュータシステムの第2の記憶装置に展開する場合に発生し得る、アプリケーションとライブラリ間の不整合などといった障害を事前に且つ高速に検知することができるため、性能低下を極僅かに抑えながら、より安全なソフトウェア配布を行うことができる。また、上記ファイル群整合性検証システムにおいて、上記第2の記憶装置固有の固有ファイルが依存する依存ファイルの満たすべき属性が記録された適用条件記憶手段と、上記差分データ記憶手段に記録されている差分データに含まれるファイルの属性と上記適用条件記憶手段に記録されている属性とに基づいて、上記差分データの展開を許可するか否かを判定する適用条件判定手段とを備え、且つ、上記差分データ適用手段は、上記不整合検出手段によって上記第1のファイル群と上記第2のファイル群との不整合が検出されず、且つ、上記適用条件判定手段によって上記差分データの展開が許可された場合に限り、上記差分データを上記第2の記憶装置に展開するのが望ましい。これによれば、或るコンピュータシステムの第1の記憶装置に格納されているファイルの内の基準時点以降の更新されたファイル差分データを、他のコンピュータシステムの第2の記憶装置に展開する場合に発生し得る、上記他のコンピュータシステム固有の固有ファイルに対応するアプリケーションが動作しなくなるといった事態の発生を防止することができる。その理由は、適用条件記憶手段に記録されている、上記他のコンピュータシステム固有の固有ファイルが依存している依存ファイルの満たすべき属性と、差分データに含まれている属性とに基づいて、差分データの展開を許可するか否かを判定する適用条件判定手段を備えているからである。また、上記したファイル整合性検証システムにおいて、適用条件記憶手段と、上記第2の記憶装置に記録されている実行バイナリファイルと、その実行バイナリファイルが依存している依存ファイルとの依存関係を表す有向グラフであって、1つのノードが1つのファイルに対応し、各ノードには対応するファイルの属性が付されている有向グラフを、ファイルの内容部の特定領域に格納された依存ファイル情報を辿って生成し、生成した有向グラフを上記適用条件記憶手段に記録するファイル依存関係分析手段と、上記差分データ記憶手段に記録されている差分データに含まれているファイルの属性と、上記適用条件記憶手段に記録されている有向グラフとに基づいて、上記差分データの展開を許可するか否かを判定する適用条件判定手段とを備え、且つ、上記差分データ適用手段は、上記不整合検出手段によって上記第1のファイル群と上記第2のファイル群との不整合が検出されず、且つ、上記適用条件判定手段によって上記差分データの展開が許可された場合に限り、上記差分データを上記第2の記憶装置に展開するのが好適である。これによれば、実行バイナリファイルと依存ファイルとの依存関係を示す有向グラフであって、1つのノードが1つのファイルに対応し、各ノードには、そのノードに対応するファイルの属性が付されている有向グラフを、ファイルの内容部の特定領域に格納された依存ファイル情報を辿って生成するファイル依存関係分析手段と、ファイル依存関係分析手段が生成した有向グラフを利用して差分データの展開を許可するか否かを判定する適用条件判定手段とを備えているので、ユーザに負担をかけることなく、差分データの展開先のコンピュータシステムにおいて、そのコンピュータシステム固有の固有ファイルに対応するアプリケーションが動作しなくなるといった事態の発生を防止することができる。また、上記ファイル群整合性検証システムにおいて、上記検査符号は、上記条件を満たすファイルのメタデータの属性の内の、一部の属性の出現度数分布であるのが好適である。これによれば、検査符号のサイズを小さくすることができ、その結果、検査符号の比較処理に要する時間を短くすることができる。また、上記ファイル群整合性検証システムにおいて、上記検査符号は、上記条件を満たすファイルのメタデータの属性の内の、少なくとも一部の属性についてのハッシュチェーンであることが好適である。これによれば、検査符号は固定長となり、その結果、検証対象にするファイル群に含まれているファイル数やファイルサイズにかかわらず、検査符号の比較処理に要する時間を一定にすることができる。また、本発明の他の形態であるファイル群整合性検証方法は、基準時点において、検査符号生成手段が、指定された条件を満たすファイルのメタデータに基づいて、上記条件を満たすファイルを構成要素とする第1のファイル群の特徴を一意に表す第1の検査符号を生成し、上記基準時点以降の検証時点において、検査符号生成手段が、上記条件を満たすファイルのメタデータに基づいて、上記条件を満たすファイルを構成要素とする第2のファイル群の特徴を一意に表す第2の検査符号を生成し、不整合検出手段が、上記第1の検査符号と上記第2の検査符号との不一致をもって上記第1のファイル群と上記第2のファイル群との不整合を検出する。これによれば、整合性の検証対象にするファイル群のサイズが大きい場合であっても、コンピュータシステムの日常的な運用時におけるファイル出力性能に悪影響を与えることなく、ファイル群の整合性の検証処理に要する時間を短くすることができる。その理由は、ファイル群を構成しているファイルのメタデータに基づいて生成した検査符号を利用して、ファイル群の整合性を検証するようにしているからである。また、本発明の他の形態であるコンピュータが読み取り可能な記録媒体は、コンピュータをファイル群整合性検証システムとして機能させるためのファイル群整合性検証用プログラムを記録した、コンピュータが読み取り可能な記録媒体であって、上記コンピュータを、基準時点において、指定された条件を満たすファイルのメタデータに基づいて、上記条件を満たすファイルを構成要素とする第1のファイル群の特徴を一意に表す第1の検査符号を生成し、上記基準時点以降の検証時点において、上記条件を満たすファイルのメタデータに基づいて、上記条件を満たすファイルを構成要素とする第2のファイル群の特徴を一意に表す第2の検査符号を生成する検査符号生成手段、上記第1の検査符号と上記第2の検査符号とを比較し、両者の不一致をもって上記1のファイル群と上記第2のファイル群との不整合を検出する不整合検出手段として機能させる。これによれば、整合性の検証対象にするファイル群のサイズが大きい場合であっても、コンピュータシステムの日常的な運用時におけるファイル出力性能に悪影響を与えることなく、ファイル群の整合性の検証処理に要する時間を短くすることができる。その理由は、ファイル群を構成しているファイルのメタデータに基づいて生成した検査符号を利用して、ファイル群の整合性を検証するようにしているからである。以上、上記各実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解しうる様々な変更をすることができる。なお、本発明は、日本国にて2010年1月21日に特許出願された特願2010-010671の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。"