(57)【特許請求の範囲】
【請求項１】
少なくとも１つのファイルの拡張子に対応付けて、ファイルのデータサイズが閾値を超えない場合にはファイルの全データをハッシュ値の計算に使用するデータとして定め、閾値を超える場合にはファイルの全データのうちの特定の部分をハッシュ値の計算に使用するデータとして定める情報を記憶する第１の記憶手段と、
調査対象ファイルのハッシュ値を、前記調査対象ファイルの拡張子に対応付けて前記第１の記憶手段に記憶されている情報で特定されるデータから計算する計算手段と、
複数の調査対象ファイルのそれぞれについて前記計算手段により計算されたハッシュ値を比較して重複ファイルを検出する検出手段と
を有することを特徴とする重複ファイル検出装置。
【請求項２】
前記ファイルの拡張子に対応付けて前記第１の記憶手段に記憶されている情報で特定されるデータは、対応する前記ファイルが更新された場合に変更されるデータを含む
ことを特徴とする請求項１に記載の重複ファイル検出装置。
【請求項３】
前記第１の記憶手段は、少なくとも１つのファイルの拡張子に対応付けて、他の少なくとも１つのファイルの拡張子に対応付けて記憶している情報で特定されるデータとは異なるデータを、ハッシュ値の計算に使用するデータとして定める情報を記憶している
ことを特徴とする請求項１または２に記載の重複ファイル検出装置。
【請求項４】
第２の記憶手段を有し、
前記計算手段は、前記調査対象ファイルの識別子、ファイルパス、拡張子、サイズ、更新日時、および前記ハッシュ値を前記第２の記憶手段に記憶し、
前記検出手段は、前記第２の記憶手段に記憶された各調査対象ファイルのハッシュ値を比較する
ことを特徴とする請求項１乃至３の何れかに記載の重複ファイル検出装置。
【請求項５】
入出力装置から前記調査対象ファイルが存在するファイルサーバに関する情報を含む調査要求を受け付けて前記計算手段に対して送出し、前記検出手段の検出結果を含む調査結果を前記入出力装置に返却する要求受付/結果返却手段を有する
ことを特徴とする請求項１乃至４の何れかに記載の重複ファイル検出装置。
【請求項６】
少なくとも１つのファイルの拡張子に対応付けて、ファイルのデータサイズが閾値を超えない場合にはファイルの全データをハッシュ値の計算に使用するデータとして定め、閾値を超える場合にはファイルの全データのうちの特定の部分をハッシュ値の計算に使用するデータとして定める情報を記憶する第１の記憶手段と、計算手段と、検出手段とを有する重複ファイル検出装置が実行する重複ファイル検出方法であって、
前記計算手段が、調査対象ファイルのハッシュ値を、前記調査対象ファイルの拡張子に対応付けて前記第１の記憶手段に記憶されている情報で特定されるデータから計算し、
前記検出手段が、複数の調査対象ファイルのそれぞれについて前記計算手段により計算されたハッシュ値を比較して重複ファイルを検出する
ことを特徴とする重複ファイル検出方法。
【請求項７】
少なくとも１つのファイルの拡張子に対応付けて、ファイルのデータサイズが閾値を超えない場合にはファイルの全データをハッシュ値の計算に使用するデータとして定め、閾値を超える場合にはファイルの全データのうちの特定の部分をハッシュ値の計算に使用するデータとして定める情報を記憶する第１の記憶手段を有するコンピュータを、
調査対象ファイルのハッシュ値を、前記調査対象ファイルの拡張子に対応付けて前記第１の記憶手段に記憶されている情報で特定されるデータから計算する計算手段と、
複数の調査対象ファイルのそれぞれについて前記計算手段により計算されたハッシュ値を比較して重複ファイルを検出する検出手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、重複しているファイルを検出する装置に関する。
【背景技術】
【０００２】
重複しているファイルを検出する方法には、ファイルのメタ情報（タイムスタンプ、サイズなど）を比較して行う方法と、ファイルの内容（バイナリデータ、抽出したテキストデータなど）を比較して行う方法とがある。また、元のデータを直接比較すると時間がかかるため、MD5（Message Digest Algorithm 5）やSHA（Secure Hash Algorithm）などのアルゴリズムを使用して元のデータからハッシュ値を算出し、ハッシュ値を比較することで重複の有無を判断している。
【０００３】
例えば特許文献１では、画像ファイルの一致性を判断する際、まず、ファイルサイズが一致する画像ファイルを特定し、サイズの一致する画像ファイルが存在すれば、続いて、当該画像ファイルの先頭部分を要約した部分ハッシュ値を算出し、これを比較する。そして、部分ハッシュ値が一致すれば、さらに、画像ファイル全体を要約した全ハッシュ値を算出し、これを比較する。
【０００４】
また特許文献２では、ファイルを所定のサイズに分割したブロック単位でハッシュ値を計算し、一部のブロックのハッシュ値どうしを比較することでファイルの改竄を検出している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2007-201861号公報
【特許文献２】再特WO2006/129654号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ファイルのメタ情報を比較して重複の判断を行う方法は、実際には重複していないファイルを重複していると誤検出する可能性が高い。それに比べてファイルの内容を比較して重複の判断を行う方法は、精度が良い。しかし、ハッシュ値を使用して比較を行うにしても、ファイル全体からハッシュ値を計算すると、ファイルの読み込み処理だけでも長時間を必要とする。
【０００７】
特許文献１および２では、ファイルデータの特定の一部のデータからハッシュ値を計算することで、時間を短縮している。しかし、このような特定の部分データからハッシュ値を計算する方法は、限られた種類のファイルを調査対象とする場合にのみ有効であり、様々な種類のファイルを調査対象とする場合には適用できない。その理由は、ファイルを更新した場合に変更される箇所は全ての種類のファイルで同じでないためである。
【０００８】
本発明の目的は、上述した課題、すなわち、部分データからハッシュ値を計算して重複判断に用いる方法は様々な種類のファイルが混在する場合には適用が困難である、という課題を解決する重複ファイル検出装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一形態にかかる重複ファイル検出装置は、
ファイルの拡張子に対応付けて上記ファイルのハッシュ値の計算に使用するデータを定める情報を記憶する第１の記憶手段と、
調査対象ファイルのハッシュ値を、上記調査対象ファイルの拡張子に対応付けて上記第１の記憶手段に記憶されている情報で特定されるデータから計算する計算手段と、
複数の調査対象ファイルのそれぞれについて上記計算手段により計算されたハッシュ値を比較して重複ファイルを検出する検出手段と
を有する、といった構成を採る。
【発明の効果】
【００１０】
本発明は上述したような構成を有するため、様々な種類のファイルが混在する調査対象ファイルに対して、それぞれの種類のファイルに適した部分データからハッシュ値を計算して重複ファイルを検出することが可能である。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態のブロック図である。
【図２】本発明の第２の実施形態のブロック図である。
【図３】本発明の第２の実施形態における管理DBの内容例を示す図である。
【図４】本発明の第２の実施形態におけるファイル種別定義の例を示す図である。
【図５】本発明の第２の実施形態における処理の流れを示すフローチャートである。
【図６】本発明の第３の実施形態のブロック図である。
【図７】本発明の第３の実施形態における事前情報収集部の処理例を示すフローチャートである。
【図８】本発明の第３の実施形態における重複情報収集部と情報分析部の処理例を示すフローチャートである。
【図９】本発明の第４の実施形態のブロック図である。
【発明を実施するための形態】
【００１２】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１を参照すると、本発明の第１の実施形態にかかる重複ファイル検出装置100は、記憶手段101と、計算手段102と、検出手段103とを有する。
【００１３】
記憶手段101は、ファイルの拡張子に対応付けて、そのファイルのハッシュ値の計算に使用するデータを定める情報を記憶する。
【００１４】
ファイルの拡張子に対応付けて記憶手段101に記憶されている情報で特定されるデータは、対応するファイルが更新された場合に変更されるデータを含むことが望ましい。例えば、更新された場合にはファイルの先頭付近のデータが必ず更新されるような種類のファイルであれば、そのファイルの拡張子に対応付けて記憶する情報は、ファイルの先頭付近のデータを特定していることが望ましい。また、更新された場合にはファイルのどの部分が更新されるか定まらないような種類のファイルであれば、そのファイルの拡張子に対応付けて記憶する情報は、ファイルの複数の部分のデータを特定していることが望ましい。
【００１５】
また記憶手段101は、少なくとも１つのファイルの拡張子に対応付けて、他の少なくとも１つのファイルの拡張子に対応付けて記憶している情報で特定されるデータとは異なるデータを、ハッシュ値の計算に使用するデータとして定める情報を記憶していてよい。
【００１６】
また記憶手段101は、少なくとも１つのファイルの拡張子に対応付けて、ファイルのデータサイズが閾値を超えない場合にはファイルの全データをハッシュ値の計算に使用するデータとして定め、閾値を超える場合にはファイルの全データのうちの特定の部分をハッシュ値の計算に使用するデータとして定める情報を記憶していてよい。
【００１７】
計算手段102は、調査対象ファイルのハッシュ値を、調査対象ファイルの拡張子に対応付けて記憶手段101に記憶されている情報で特定されるデータから計算する機能を有する。ハッシュ値を計算するアルゴリズムは任意でよい。例えば、MD5やSHAを使用してよい。調査対象ファイルは、例えば１以上のファイルサーバ110上に存在していてもよい。また、重複ファイル検出装置100に予め取り込まれていてもよい。
【００１８】
検出手段103は、複数の調査対象ファイルのそれぞれについて計算手段102により計算されたハッシュ値を比較して重複ファイルを検出する機能を有する。
【００１９】
また、重複ファイル検出装置100は、計算手段102の計算結果を検出手段103に受け渡すための記憶手段104を有していてよい。このとき、計算手段102は、調査対象ファイルの識別子、ファイルパス、拡張子、サイズ、更新日時、およびハッシュ値を記憶手段104に記憶し、検出手段103は、記憶手段104に記憶された各調査対象ファイルのハッシュ値を比較するようにしてよい。
【００２０】
また、重複ファイル検出装置100は、入出力装置120とのインターフェースとなる要求受付/結果返却手段105を有していてよい。要求受付/結果返却手段105は、入出力装置120から調査対象ファイルが存在するファイルサーバ110に関する情報を含む調査要求を受け付けて計算手段105に対して送出する機能と、検出手段103の検出結果を含む調査結果を入出力装置120に返却する機能とを有していてよい。
【００２１】
次に本実施形態の動作を説明する。
【００２２】
ユーザが、調査対象ファイルが存在するファイルサーバ110に関する情報を含む調査要求を入出力装置120から入力すると、その調査要求は重複ファイル検出装置100の要求受付/結果返却手段105で受け付けられ、計算手段102に与えられる。
【００２３】
計算手段102は、調査要求に含まれる情報に従って、ファイルサーバ110上の調査対象ファイルのハッシュ値を、調査対象ファイルの拡張子に対応付けて記憶手段102に記憶されている情報で特定されるデータから計算する。具体的には、まず、調査対象ファイルのメタ情報をファイルサーバ110から読み出して調査対象ファイルの種類を示す拡張子を認識する。次に、その拡張子に対応する情報を記憶手段101から読み出すことにより、その拡張子を持つ調査対象ファイルのハッシュ値を計算する元となるデータを特定する。次に、この特定したデータをファイルサーバ110から読み出し、ハッシュ値計算アルゴリズムを使用してハッシュ値を計算する。次に、計算したハッシュ値を、調査対象ファイルの識別子等と共に記憶手段104に記憶する。そして、検出手段103に対して検出処理の開始を指示する。
【００２４】
検出手段103は、記憶手段104から各調査対象ファイルのハッシュ値を読み出し、比較する。そして、ハッシュ値が一致する調査対象ファイルを重複ファイルとして検出し、結果を要求受付/結果返却手段105へ送出する。要求受付/結果返却手段105は、検出結果を含む調査結果を入出力装置120に返却する。
【００２５】
このように本実施形態によれば、様々な種類のファイルが混在する調査対象ファイルに対して、それぞれの種類のファイルに適した部分データからハッシュ値を計算して重複ファイルを検出することが可能になる。
【００２６】
[第２の実施形態]
[概要]
本実施形態は、ファイルサーバ内の重複ファイルを検出するシステムにおいて、ファイルの特性を考慮することで、重複検出精度をできるだけ保持したまま、検出にかける調査時間を大幅に短縮する調査サーバ（重複ファイル検出装置）を提供する。
【００２７】
そのために本実施形態の調査サーバは、調査対象とするファイルサーバ群に格納されているファイルに関する情報を取得する。また、それらの重複検出を行うために、各ファイルの情報を要約したハッシュ値を計算し、それが一致するファイル群を重複ファイルと判断する。このとき、特性（ファイルを更新した場合に変更される箇所）が異なるファイルごとに、ハッシュ値計算に用いるデータを適切に変えることで、重複検出精度をできるだけ保持したまま、検出にかける調査時間を大幅に短縮する。
【００２８】
[構成]
本実施形態の構成について図２を用いて説明する。
【００２９】
図２において、入出力装置1は、キーボードやディスプレイなど一般的な入出力装置である。
【００３０】
調査サーバ2は、ファイルサーバ内のデータ格納状況を調査し、重複検出結果等の分析結果を返却する装置である。調査サーバ2は、要求受付／結果返却部21、情報収集部22、情報分析部23、管理DB24、ファイル種別定義25から構成される。
【００３１】
要求受付／結果返却部21は、調査要求を受け付け、結果を返却する機能を有する。
【００３２】
情報収集部22は、ファイルサーバに格納されているファイルの情報を収集する機能を有する。情報収集部22は、フォルダ／ファイルリスト取得手段221、メタ情報取得手段222、重複条件決定手段223、ハッシュ値計算手段224を備えている。情報収集部22は、第１の実施形態の計算手段102に対応する。
【００３３】
フォルダ／ファイルリスト取得手段221は、ファイルサーバから格納されているフォルダやファイルのリストを取得する手段である。
【００３４】
メタ情報取得手段222は、ファイルサーバから各ファイルのメタ情報を取得する手段である。
【００３５】
重複条件決定手段223は、重複判断に用いるためのハッシュ値を計算するための情報をファイルの特性に基づいて決定する手段である。例えば、ハッシュ値計算に用いるデータをファイルのメタ情報のみ、ファイルの中身（一部）、ファイルの中身（全体）などから決定する。
【００３６】
ハッシュ値計算手段224は、与えられたデータからハッシュ値を計算する手段である。
【００３７】
情報分析部23は、収集したデータを基に分析し重複するファイルを検出する機能を有する。情報分析部23は、統計情報処理手段231、一覧情報処理手段232を備えている。情報分析部23は、第１の実施形態の検出手段103に対応する。
【００３８】
統計情報処理手段231は、収集したデータを分析し、重複しているファイル数やその容量などの統計情報を返却する手段である。
【００３９】
一覧情報処理手段232は、収集したデータを分析し、重複しているファイルの一覧や詳細情報を返却する手段である。
【００４０】
管理DB24は、調査したファイルの情報などを保持するデータベースである。図3は管理DB24に格納されているテーブルの内容例である。この例では、調査したファイルについて、ファイルID、ファイルパス、種別、サイズ、更新日時、ハッシュ値を保持している。ファイル管理DB24は、第１の実施形態の記憶手段104に対応する。
【００４１】
ファイル種別定義25は、ファイル種別に関する情報を定義するファイルである。ファイル種別に関する情報は、種別やそれに対応する拡張子、ハッシュ値計算に使用する情報などが予めシステムで定めれれた方法で定義されている。ハッシュ値計算に用いるデータの情報としては、下記のようなものが考えられる。
【００４２】
(a) ファイル名を用いる
(b) ファイルの拡張子を用いる
(c) ファイルサイズを用いる
(d) ファイルの更新日時を用いる
(e) ファイル全体のデータを用いる
(f) 先頭からNバイト分抽出したデータを用いる
(g) 末尾からNバイト分抽出したデータを用いる
(h) Sバイト目からNバイト分抽出したデータを用いる
(i) Ｉバイト間隔でNバイト分ずつ抽出したデータを用いる
(j) ファイルをD個に分割し、その分割データからそれぞれＮバイト分抽出したデータを用いる
【００４３】
ファイルの拡張子に対応付けて、上記の1つを指定してもよいし、複数の条件を組み合わせてもよい。また、ファイルサイズなどのしきい値を条件指定することにより、用いるデータを切り替えられるような条件分岐定義も行うことができる。
【００４４】
図4にxml形式で記述したファイル種別定義25の例を示す。この例に示すように、例えばJPEG画像はファイルの先頭付近にサムネイル情報を保持しているため、ハッシュ値計算に中間部や末尾の部分データを用いるよりも先頭からの部分データを用いた方が重複判断するのに効果的である。またテキストデータの場合、ヘッダ情報を持たないため先頭部を抽出してハッシュ値を計算しても、末尾に内容を追記したファイルも重複と判断してしまう。また、末尾を抽出してハッシュ値を計算しても、途中に文字列を挿入した場合や文字列を置換した場合は重複と誤判断してしまう。よって、図4に示す例のように、ファイルの複数部分からデータを抽出するように定義しておくと効果的である。このように、ハッシュ値の計算に用いるデータを変えられるように特性（ファイルを更新した場合に変更される箇所）の異なるファイルごとにファイル種別を定義しておく。
【００４５】
調査対象群3は、文書や画像など様々なファイルが格納された1つ以上のファイルサーバ（共有ストレージ）である。
【００４６】
本実施形態では、管理DB24はデータベースとしているが、情報を保持し検索できる手段を有していれば、種類は問わない。例えばインデックスなどでも構わない。
【００４７】
ファイル種別定義25は、xml形式のファイルを例として挙げているが、定義を保存する形式は問わない。例えばファイルではなく、データベースに情報を保持してもよい。また、誤検出をしないためにはファイル全体を用いてハッシュ値を計算する必要があるが、ファイルサイズが大きいとデータ読み込みに要する時間も長くなり調査時間がかかる。時間と検出精度のどちらを重視するによって定義内容を変更することも可能である。
【００４８】
[動作]
図2を用いて本実施形態の動作を説明する。
【００４９】
まず、ユーザは入出力装置1を用いて、調査サーバ2に対してファイルサーバの調査要求を行う。要求には、調査対象となるファイルサーバに関する情報（調査の起点となるファイルサーバのパス、アクセスに必要なユーザ/パスワードなどの情報）が含まれている。
【００５０】
要求を受け取った調査サーバ2内の要求受付／結果返却部21は、情報収集部22に調査要求情報を渡す。
【００５１】
情報収集部22は、まずフォルダ／ファイルリスト取得手段221を用いて調査対象群3内の調査対象ファイルサーバからフォルダ／ファイルのリストを取得する。次に、ファイルリストを基に、メタ情報取得手段222は、各ファイルのメタ情報（ファイル名（拡張子）、ファイルサイズ、更新日時など）を取得し、ファイルを識別するID（ファイルID）とともに管理DB24に情報を保存する。
【００５２】
次に、重複条件決定手段223は、取得したメタ情報を基にファイル種別定義25からファイル種別を判別する。また、該当するハッシュ値の算出条件を取得し、必要なデータをハッシュ値計算手段224に渡す。ハッシュ値計算手段224は、与えられたデータからハッシュ値を計算し、管理DB24に保存する。
【００５３】
情報収集部22が全調査対象に関する処理を完了したら、情報分析部23は情報の分析を開始する。まず、収集したデータを管理DB24から取得する。次に統計情報処理手段231を用いてハッシュ値が一致するファイルの数（重複ファイル数）や容量（重複容量）などの情報を算出する。これはフォルダ階層やファイル種別ごとなどの条件と組み合わせて分析できるようにしてもよい。また、一覧情報処理手段232を用いて、重複しているファイルの一覧や詳細情報を取得する。情報収集部22はこれら分析結果を要求受付／結果返却部21に渡す。
【００５４】
調査サーバ2は、要求受付／結果返却部21を通じて、入出力装置3に調査結果を返却する。
【００５５】
このようにして重複ファイル検出システムを実現することで、重複検出精度を劣化させることなく、検出にかける調査時間を大幅に短縮することができる。
【００５６】
補足のため、情報収集部22における処理の流れについては、図5に詳細な例を示す。
【００５７】
本実施形態では、ファイルサイズのしきい値をファイル種別ごとに定義しているが、システム全体のしきい値として定義しておいてもよい。あるいは、調査要求時に含まれる構成としてもよい。
【００５８】
[効果]
第1の効果は、ファイルの特性（更新時に変更される箇所やファイルサイズ）を考慮してファイルのハッシュ値に用いるデータを変えることで、ファイルの全体ハッシュ値を用いて重複判断するよりも処理時間を大幅に短縮しつつ、メタ情報から重複判断するよりも適切に重複ファイルを検出できることである。これは、特にファイルサイズの大きいファイルやヘッダ部が特定の箇所にあるファイルに対して有効であり、大規模ファイルサーバを走査する場合に特に効果を発揮する。
【００５９】
[第３の実施形態]
本発明の他の実施形態として、情報収集処理について工夫した例を図6に示す。
【００６０】
本実施形態は、第２の実施形態の情報収集部22を事前情報収集部26と重複情報収集部27に置き換えることで、条件方式によって処理時間に変動の大きい重複情報収集処理時間の予測とユーザ判断による条件決定を可能としたことを特徴としている。
【００６１】
事前情報収集部26は、ファイルサーバに格納されているファイルの情報を収集する機能を有する。事前情報収集部26は、フォルダ／ファイルリスト取得手段261、メタ情報取得手段262、調査時間予測手段263を備えている。
【００６２】
フォルダ／ファイルリスト取得手段261は、ファイルサーバから格納されているフォルダやファイルのリストを取得する手段である。メタ情報取得手段262は、ファイルサーバから各ファイルのメタ情報を取得する手段である。調査時間予測手段263は、ファイル種別やハッシュ値算出条件ごとにハッシュ値の算出時間の合計を予測する手段である。
【００６３】
重複情報収集部27は、重複条件取得手段271、ハッシュ値計算手段272を備えている。重複条件取得手段271は、重複判断に用いるためのハッシュ値を計算するための情報を取得する手段である。ハッシュ値計算手段224は、与えられたデータからハッシュ値を計算する手段である。
【００６４】
次に、図6〜図8を参照して、本実施形態の動作を説明する。
【００６５】
まず、ユーザは入出力装置1を用いて、調査サーバ2に対してファイルサーバの事前調査要求を行う。要求には、調査対象となるファイルサーバに関する情報（調査の起点となるファイルサーバのパス、アクセスに必要なユーザ/パスワードなどの情報）が含まれている。
【００６６】
要求を受け取った調査サーバ2内の要求受付／結果返却部21は、事前情報収集部26に調査要求情報を渡す。
【００６７】
事前情報収集部26は、まずフォルダ／ファイルリスト取得手段261を用いて調査対象群3内の調査対象ファイルサーバからフォルダ／ファイルのリストを取得する。次に、ファイルリストを基に、メタ情報取得手段262は、各ファイルのメタ情報（ファイル名（拡張子）、ファイルサイズ、更新日時など）を取得し、ファイルを識別するID（ファイルID）とともに管理DB24に情報を保存する。
【００６８】
全調査対象に関するメタ情報収集処理が完了したら、調査時間予測手段263は、管理DB24から情報を取得し、ファイル種別毎のファイル数や合計ファイルサイズを集計する。そしてファイル種別や算出条件ごとにハッシュ値算出時間を予測する。
【００６９】
ハッシュ値の算出時間は、ハッシュ計算時間とデータの読み込み時間を比較すると、後者の方が非常に大きい。よって、ハッシュ計算に使用するデータ量とファイル数からある程度の予測が可能である。
【００７０】
例えば、算出条件（ハッシュ値計算に使用する情報）は、全ファイル種別とも、(1)プロパティのみ、(2)プロパティと部分データ、(3)プロパティと全体データのように3種類定義されているものとする。(1)はファイル数に依存し、(2)はファイル数と部分データとして用いるデータ量に依存する（部分データ量はファイル種別ごとに異なる）。(3)はファイル数とファイルサイズに依存する（ファイルサイズはファイルごとに異なるが、ファイル種別ごとの合計ファイルサイズから算出できる）。このとき、算出条件(1)、(2)、(3)を使用した場合のハッシュ値計算時間をそれぞれ予測することになる。
【００７１】
ハードウェアやネットワークのスペックにも影響を受けるため、予測用にデータを取得してハッシュ値を計算し、その時間と比較して予測する処理を加えると、予測精度が上がるため、より効果的である。
【００７２】
事前情報収集部26は、事前調査結果として、算出条件別の重複情報収集時間予測値を要求受付／結果返却部21に渡す。
【００７３】
調査サーバ2は、要求受付／結果返却部21を通じて、入出力装置1に事前調査結果を返却する。
【００７４】
ユーザは、事前調査結果として与えられた予測時間から判断して、重複算出条件を決定し、重複調査要求を行う。要求には、重複算出条件が含まれている。
【００７５】
要求を受け取った調査サーバ2内の要求受付／結果返却部21は、重複情報収集部27に調査要求情報を渡す。
【００７６】
重複情報収集部27は、管理DB24から調査対象のファイルリストを取得する。次に、重複条件取得手段271は、要求時に与えられた算出条件を元にファイル種別定義25からハッシュ値の算出条件を取得し、必要なデータをハッシュ値計算手段224に渡す。ハッシュ値計算手段224は与えられたデータからハッシュ値を計算し、管理DB24に保存する。
【００７７】
重複情報収集部27が全調査対象に関する処理を完了したら、情報分析部23は情報の分析を開始する。
【００７８】
まず、収集したデータを管理DB24から取得する。次に統計情報処理手段231を用いてハッシュ値が一致するファイルの数（重複ファイル数）や容量（重複容量）など概略情報を取得する。これはフォルダ階層やファイル種別ごとなどの条件と組み合わせて分析できるようにしてもよい。また、一覧情報処理手段232を用いて、重複しているファイルの一覧や詳細情報を取得する。情報収集部22は、これら分析結果を要求受付／結果返却部21に渡す。
【００７９】
調査サーバ2は、要求受付／結果返却部21を通じて、入出力装置1に調査結果を返却する。
【００８０】
補足のため、事前情報収集部26における処理の流れについては、図7に詳細な例を示す。また、重複情報収集部27と情報分析部23における処理の流れについては、図8に詳細な例を示す。
【００８１】
以上で説明した構成により、第２の実施形態における効果に加えて、以下の効果を奏する。
【００８２】
情報収集処理を2段階に分け、事前調査段階で調査時間を予測することで、ユーザが調査時間と重複検出精度を比較して選択できるようになる。これは、ファイルサーバ内のファイル数やファイルサイズを基に、調査時間の予測を行うことで可能となる。
【００８３】
また、構成が同じため、詳細な説明は省略するが、最初の調査要求時に希望する調査時間の目安を入力してもらうことで、図9に示す実施形態のようにユーザ判断を途中に挟まないように処理の流れを変更することも可能である。これにより、与えられた調査時間の目安によって、システム側が自動で重複判断条件を変えることが可能となり、重複検出精度を変えながら調査時間を一定にキープできるようになる。これは、調査要求に調査時間の目安を含めること、およびファイル種別定義をより細かい条件で定義しておくことにより可能となる。
【００８４】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。また、本発明の重複ファイル検出装置は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態における計算手段や検出手段、あるいは情報収集部や情報分析部、事前情報収集部や重複情報収集部などとして機能させる。
【符号の説明】
【００８５】
100…重複ファイル検出装置
101、104…記憶手段
102…計算手段
103…検出手段
105…要求受付/結果返却手段
110…ファイルサーバ
120…入出力装置
【図１】
0005708107.tif 000002
【図２】
0005708107.tif 000003
【図３】
0005708107.tif 000004
【図４】
0005708107.tif 000005
【図５】
0005708107.tif 000006
【図６】
0005708107.tif 000007
【図７】
0005708107.tif 000008
【図８】
0005708107.tif 000009
【図９】
0005708107.tif 000010