(57)【要約】【課題】迅速かつ簡易な処理にて、ファイルデータに対する操作処理の有無を検出することができるファイル管理システムを提供すること。【解決手段】ファイル管理システムは、所定の記憶装置に記憶されたファイルデータのデータ内容に応じた要約データを生成する要約データ生成手段と、要約データと、当該要約データが生成されたファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理手段と、備えた。【選択図】図１
2008234269.tif 000002
【特許請求の範囲】
【請求項１】
所定の記憶装置に記憶されたファイルデータのデータ内容に応じた要約データを生成する要約データ生成手段と、
前記要約データと、当該要約データが生成された前記ファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理手段と、
を備えたことを特徴とするファイル管理システム。
【請求項２】
前記仮想ファイル管理手段は、前記要約データを前記仮想ファイルデータのファイル名として記憶する、
ことを特徴とする請求項１記載のファイル管理システム。
【請求項３】
前記要約データ生成手段は、前記ファイルデータのデータ内容に基づいて算出したハッシュ値を前記要約データとして生成する、
ことを特徴とする請求項２記載のファイル管理システム。
【請求項４】
前記仮想ファイル管理手段は、前記要約データをディレクトリ名としたディレクトリを生成すると共に、このディレクトリ内に前記仮想ファイルデータを記憶する、
ことを特徴とする請求項２又は３記載のファイル管理システム。
【請求項５】
前記仮想ファイル管理手段は、前記仮想ファイルデータに対応する前記ファイルデータの格納先を表すパスデータを前記ファイル特定データとして前記仮想ファイルデータに含める、
ことを特徴とする請求項１，２，３又は４記載のファイル管理システム。
【請求項６】
前記ファイルデータに対する操作処理を検知するファイル操作検知手段を備え、
前記要約データ生成手段及び前記仮想ファイル管理手段は、前記ファイル操作検知手段の検知結果に応じて作動する、
ことを特徴とする請求項１，２，３，４又は５記載のファイル管理システム。
【請求項７】
前記ファイル操作検知手段にて検知した前記ファイルデータに対する操作処理が変更又は削除である場合に、当該ファイルデータに対応する既存の前記仮想ファイルデータを削除する仮想ファイル削除手段を備えた、
ことを特徴とする請求項６記載のファイル管理システム。
【請求項８】
前記要約データ生成手段は、生成した前記要約データを前記ファイルデータに含めて記憶すると共に、
前記ファイル操作検知手段は、操作処理が行われた前記ファイルデータに記憶されている前記要約データを取得し、
前記仮想ファイル削除手段は、前記ファイル操作検知手段にて前記ファイルデータから取得した前記要約データに基づいて前記仮想ファイルデータの削除を行う、
ことを特徴とする請求項７記載のファイル管理システム。
【請求項９】
時間的に前後する前記仮想ファイルデータを比較して、その比較結果に基づいて前記仮想ファイルデータに対応する前記ファイルデータのバックアップ処理を行うバックアップ手段を備えた、
ことを特徴とする請求項１，２，３，４，５，６，７又は８記載のファイル管理システム。
【請求項１０】
コンピュータが、所定の記憶装置に記憶されたファイルデータを管理する方法であって、
前記ファイルデータのデータ内容に応じた要約データを生成する要約データ生成工程と、
前記要約データと、当該要約データが生成された前記ファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理工程と、
を有することを特徴とするファイル管理方法。
【請求項１１】
前記コンピュータが前記ファイルデータに対する操作処理を検知するファイル操作検知工程を有し、
このファイル操作検知工程による検知結果に応じて、前記要約データ生成工程及び前記仮想ファイル管理工程が作動する、
ことを特徴とする請求項１０記載のファイル管理方法。
【請求項１２】
前記仮想ファイル管理工程の前に、前記ファイル操作検知工程にて検知した前記ファイルデータに対する操作処理が変更又は削除である場合に、前記コンピュータが、当該ファイルデータに対応する既存の前記仮想ファイルデータを削除する仮想ファイル削除工程を有する、
ことを特徴とする請求項１１記載のファイル管理方法。
【請求項１３】
前記コンピュータが、時間的に前後してそれぞれ記憶された前記仮想ファイルデータを比較して、その比較結果に基づいて前記仮想ファイルデータに対応する前記ファイルデータのバックアップ処理を行うバックアップ工程を有する、
ことを特徴とする請求項１０，１１又は１２記載のファイル管理方法。
【請求項１４】
所定の記憶装置に記憶されたファイルデータを管理するコンピュータに、
前記ファイルデータのデータ内容に応じた要約データを生成する要約データ生成手段と、
前記要約データと、当該要約データが生成された前記ファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理手段と、
を実現させるためのプログラム。
【請求項１５】
前記コンピュータに、前記ファイルデータに対する操作処理を検知するファイル操作検知手段を実現すると共に、
前記要約データ生成手段及び前記仮想ファイル管理手段は、前記ファイル操作検知手段の検知結果に応じて作動する、
ことを特徴とする請求項１４記載のプログラム。
【請求項１６】
前記コンピュータに、前記ファイル操作検知手段にて検知した前記ファイルデータに対する操作処理が変更又は削除である場合に、当該ファイルデータに対応する既存の前記仮想ファイルデータを削除する仮想ファイル削除手段、を実現させるための請求項１５記載のプログラム。
【請求項１７】
前記コンピュータに、時間的に前後する前記仮想ファイルデータを比較して、その比較結果に基づいて前記仮想ファイルデータに対応する前記ファイルデータのバックアップ処理を行うバックアップ手段、を実現させるための請求項１４，１５又は１６記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理システムにかかり、特に、ファイルデータの変更を管理するシステムに関する。
【背景技術】
【０００２】
近年では、情報処理システムの普及により、種々の情報をデジタルデータにて保存・管理することが多く行われている。そして、重要なデータに関しては、電源ダウンや災害などに備えて、データ消失を防ぐべく、バックアップを行うことが必須となっている。そして、ファイルシステムのデータのバックアップなどの場合には、差分バックアップなどが使用されるが、ある時点以降の更新されたデータの判別などに多くの処理能力を必要とする、という問題があった。
【０００３】
例えば、以下に示す二つのケースでは、その判別に必要な処理負担が高かったり、本来の差分とは程遠い量の多くの差分を検出したりしてしまうという問題がある。具体的に、１つ目のケースとしては、ファイルの作成時刻等のメタデータを維持した状態でファイルの内容のみを書き換える場合には、差分の検出には内容の比較が必要になるため、処理負担が増加しうる。また、２つ目のケースでは、ファイルの場所がディレクトリ中を移動した場合、実際に行われた変更は管理用メタデータの変更のみであるにもかかわらず、差分の観点からするとファイルが削除され新しい場所に生成したように見えるため、余計なバックアップ処理が生じうる。このような状況から、バックアップの効率化が大容量ファイルシステムにおいて必要とされている。
【０００４】
また、特許文献１には、それぞれファイルのハッシュ値を利用して、バックアップ元とバックアップ先のファイルの一致、不一致を検出し、一致しない場合に、バックアップ先にファイルをバックアップする、というシステムが開示されている。また、特許文献２には、時間的に前後するファイルのハッシュ値に基づいて当該ファイルの更新検出を行う、というシステムが開示されている。
【０００５】
しかしながら、上記特許文献に開示されているシステムでは、いずれも各ファイルのハッシュ値をファイル自体に関連付けて管理している。すると、膨大なデータ量の実体ファイルシステム内を検索、比較するという処理が必要となり、依然としてバックアップが必要となる更新等が行われたファイルの検出を高速に実行することができず、また、処理負荷も高い、という問題が生じる。
【０００６】
【特許文献１】特開２００６−２６８８４６号公報
【特許文献２】特開２００６−１４６８７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このため、本発明では、上記従来例の有する不都合を改善し、特に、迅速かつ簡易な処理にて、ファイルデータに対する操作処理の有無を検出することができるファイル管理システムを提供することをその目的とする。
【課題を解決するための手段】
【０００８】
そこで、本発明の一形態であるファイル管理システムは、
所定の記憶装置に記憶されたファイルデータのデータ内容に応じた要約データを生成する要約データ生成手段と、
要約データと、当該要約データが生成されたファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理手段と、
を備えたことを特徴としている。
【０００９】
上記発明によると、管理対象となるファイルデータのデータ内容に応じた要約データが生成され、この要約データとそのファイルデータを特定するファイル特定データとが関連付けられて仮想ファイルデータとして記憶される。これにより、仮想ファイルデータを参照することで、ファイルデータの変更等の有無を調べることができる。従って、ファイルデータ自体のデータ内容を詳細に調べる必要が無く、高速かつ低負荷にてファイル管理処理を実現することができる。
【００１０】
また、仮想ファイル管理手段は、要約データを仮想ファイルデータのファイル名として記憶する、ことを特徴としている。これにより、仮想ファイルデータは、ファイル名である要約データとファイル特定データのみで構成することができ、仮想ファイルデータのデータ容量を抑制することができる。従って、ファイルデータの管理をより高速かつ低負荷にて実行することができる。
【００１１】
また、要約データ生成手段は、ファイルデータのデータ内容に基づいて算出したハッシュ値を要約データとして生成する、ことを特徴としている。このように、ファイルデータのデータ内容に基づくハッシュ値を要約データとして用いることで、かかる要約データのデータ量を低減でき、かつ、データ内容を適切に表現することができる。従って、ファイルデータの変更等の有無をより確実にかつ高速に判定することができる。
【００１２】
また、仮想ファイル管理手段は、要約データをディレクトリ名としたディレクトリを生成すると共に、このディレクトリ内に仮想ファイルデータを記憶する、ことを特徴としている。これにより、要約データをファイル名として仮想ファイルデータを生成した場合に、当該仮想ファイルデータのファイル名が重複した場合であっても、要約データのディレクトリを生成してその中にいずれかの仮想ファイルデータを格納することで、仮想ファイルデータが重複することなく、適切に管理することができる。
【００１３】
また、仮想ファイル管理手段は、仮想ファイルデータに対応するファイルデータの格納先を表すパスデータをファイル特定データとして仮想ファイルデータに含める、ことを特徴としている。これにより、仮想ファイルデータからより正確にファイルデータを特定することができ、この仮想ファイルデータを参照して、対応するファイルデータに確実にアクセスすることができる。また、パスデータを比較することで、データ内容が変更されず格納場所が移動されたファイルデータをも容易に検出することができる。
【００１４】
また、本発明では、上記構成に加え、ファイルデータに対する操作処理を検知するファイル操作検知手段を備え、要約データ生成手段及び仮想ファイル管理手段は、ファイル操作検知手段の検知結果に応じて作動する、ことを特徴としている。これにより、ファイルデータに対するファイル操作があったときに上述した仮想ファイルデータの登録が行われるため、ファイルデータの更新状況を仮想ファイルデータに、より正確に反映させることができる。
【００１５】
また、上記構成に加え、ファイル操作検知手段にて検知したファイルデータに対する操作処理が変更又は削除である場合に、当該ファイルデータに対応する既存の仮想ファイルデータを削除する仮想ファイル削除手段を備えた、ことを特徴としている。そして、要約データ生成手段は、生成した要約データをファイルデータに含めて記憶すると共に、ファイル操作検知手段は、操作処理が行われたファイルデータに記憶されている要約データを取得し、仮想ファイル削除手段は、ファイル操作検知手段にてファイルデータから取得した要約データに基づいて仮想ファイルデータの削除を行う、ことを特徴としている。これにより、ファイルデータの変更や削除が生じた場合に、仮想ファイルデータが削除されると共に、ファイルデータが新規に生成や変更された場合には、新たな仮想ファイルデータが記憶される。従って、仮想ファイルデータにて、ファイルデータの最新の状況をより正確に記憶しておくことができる。
【００１６】
さらに、上記構成に加え、時間的に前後する仮想ファイルデータを比較して、その比較結果に基づいて仮想ファイルデータに対応するファイルデータのバックアップ処理を行うバックアップ手段を備えた、ことを特徴としている。これにより、仮想ファイルデータのみを比較することで、全てのファイルデータにアクセスすることなく、更新等のあったファイルデータを特定することができ、必要なファイルデータに対してのみバックアップを実行することができる。従って、バックアップ処理の信頼性を確保しつつ、処理の簡素化、高速化を図ることができる。
【００１７】
また、本発明の他の形態は、コンピュータが、所定の記憶装置に記憶されたファイルデータを管理する方法であって、ファイルデータのデータ内容に応じた要約データを生成する要約データ生成工程と、要約データと、当該要約データが生成されたファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理工程と、を有することを特徴としている。
【００１８】
そして、上記方法は、コンピュータがファイルデータに対する操作処理を検知するファイル操作検知工程を有し、このファイル操作検知工程による検知結果に応じて、要約データ生成工程及び仮想ファイル管理工程が作動する、ことを特徴としている。また、上記方法は、仮想ファイル管理工程の前に、ファイル操作検知工程にて検知したファイルデータに対する操作処理が変更又は削除である場合に、コンピュータが、当該ファイルデータに対応する既存の仮想ファイルデータを削除する仮想ファイル削除工程を有する、ことを特徴としている。さらに、上記方法は、コンピュータが、時間的に前後してそれぞれ記憶された仮想ファイルデータを比較して、その比較結果に基づいて仮想ファイルデータに対応するファイルデータのバックアップ処理を行うバックアップ工程を有する、ことを特徴としている。
【００１９】
また、本発明の他の形態であるプログラムは、所定の記憶装置に記憶されたファイルデータを管理するコンピュータに、ファイルデータのデータ内容に応じた要約データを生成する要約データ生成手段と、要約データと、当該要約データが生成されたファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理手段と、を実現させる、ことを特徴としている。
【００２０】
そして、上記プログラムは、さらに、コンピュータに、ファイルデータに対する操作処理を検知するファイル操作検知手段を実現すると共に、要約データ生成手段及び仮想ファイル管理手段は、ファイル操作検知手段の検知結果に応じて作動する、ことを特徴としている。また、上記プログラムは、コンピュータに、ファイル操作検知手段にて検知したファイルデータに対する操作処理が変更又は削除である場合に、当該ファイルデータに対応する既存の仮想ファイルデータを削除する仮想ファイル削除手段、を実現させる、ことを特徴としている。さらに、上記プログラムは、コンピュータに、時間的に前後する仮想ファイルデータを比較して、その比較結果に基づいて仮想ファイルデータに対応するファイルデータのバックアップ処理を行うバックアップ手段、を実現させる、ことを特徴としている。
【００２１】
上述した構成の方法及びプログラムの発明であっても、上記ファイル管理システムと同様の作用を有するため、上述した本発明の目的を達成することができる。
【発明の効果】
【００２２】
本発明は、以上のように構成され機能するので、これによると、管理対象となるファイルデータのデータ内容に応じた要約データが生成され、この要約データとそのファイルデータを特定するファイル特定データとが関連付けられて仮想ファイルデータとして記憶されるため、この仮想ファイルデータを参照することで、ファイルデータの変更等の有無を判定することができる。その結果、ファイルデータ自体のデータ内容を詳細に調べる必要が無く、高速かつ低負荷にてファイル管理処理を実現することができる、という従来にない優れた効果を有する。
【発明を実施するための最良の形態】
【００２３】
本発明は、ファイルデータのデータ内容を表す要約データを生成して、この要約データとファイルデータを特定するファイル特定データと、を別途、仮想ファイルデータとして管理する点に特徴を有する。そして、時間的に前後するデータ容量の少ない仮想ファイルデータを比較することで、高速かつ簡易な処理にて、ファイルデータの変更等を効率よく検出することができる。以下、具体的な構成及び動作を、実施例にて説明する。
【実施例１】
【００２４】
本発明の第１の実施例を、図１乃至図８を参照して説明する。図１は、本発明であるファイル管理システムを成すコンピュータの構成を示す機能ブロック図である。図２乃至図３は、コンピュータに記憶されるデータの構造を示す図であり、図４乃至図６は、仮想ファイルデータの一例を示す図である。図７乃至図８は、コンピュータの動作を示すフローチャートである。
【００２５】
［構成］
本実施例におけるコンピュータ１は、図１に示すように、ＣＰＵといった演算装置１０と、ハードディスクドライブなどの記憶装置２０とを備えた一般的な情報処理装置である。そして、コンピュータ１には、ファイルシステムが構築されており、所定のファイルデータの生成、変更、削除を制御し、記憶装置２０に記録再生するよう制御する。なお、ファイルデータを記憶する記憶装置は、フラッシュメモリといった他の記憶装置であってもよい。また、コンピュータ１は、必ずしも内蔵された記憶装置に、後述するファイルデータや仮想ファイルデータを記録することに限定されず、外付けの記憶装置、ネットワークを介して接続された記憶装置（ネットワークストレージ装置）、ネットワーク上の他のコンピュータに装備された記憶装置に対して記録再生を行ってもよい。
【００２６】
そして、本実施例におけるコンピュータ１は、後述するように、所定のファイルデータを管理してバックアップする機能を有しており、例えば、ファイルサーバやウェブサーバとして作動するコンピュータである。但し、バックアップ機能は、他のコンピュータにて実現されてもよく、以下に説明するコンピュータ１自体が、複数台のコンピュータにて構成されていてもよい。
【００２７】
図１に示すように、コンピュータ１の演算装置１０には、まず、文書作成アプリケーションなどのファイルデータを生成したり、変更するアプリケーション１１が組み込まれている。また、演算装置１０には、オペレーティングシステムなどによって実現されたファイル操作処理部１２が構築されており、上記アプリケーション１１からの指令に応じて、記憶装置２０に対するファイルデータの記録再生等の制御を行う。また、このファイル操作処理部１２は、図示しない操作部や他のネットワーク上のコンピュータからの指令に応じても作動し、記憶装置２０内でファイルデータの移動や削除等を行う。これに伴い、記憶装置２０には、ファイルデータ自体を記憶する実ファイルデータ記憶部２１が形成されており、アプリケーション１１を利用したユーザによって生成されたファイルデータや、ネットワーク上の他のコンピュータから送信されたファイルデータ等を記憶する。
【００２８】
ここで、実ファイルデータ記憶部２１に記憶されるファイルデータの一例を、図２に示す。この図に示すように、ファイルデータ４は、ファイル名やファイル格納位置（パス）などが格納されたメタデータと、データ内容自体を表す実データと、により構成されている。そして、このファイルデータ４が管理されることによって、後述するように当該ファイルデータ４のデータ内容に対応するシグニチャが生成されるが、このシグニチャのうち最新のものが、ファイルデータ４内に含まれて記憶されている。
【００２９】
また、演算装置１０には、本発明であるファイル管理用プログラムが組み込まれることによって、ファイル操作検知処理部１３と、シグニチャ生成処理部１４と、仮想ファイル管理処理部１５と、が構築されている。さらに、バックアップ用プログラムが組み込まれることにより、バックアップアプリケーション１６が構築されている。以下、これらについて詳述する。
【００３０】
上記ファイル操作検知処理部１３（ファイル操作検知手段）は、ファイル操作処理部１２によって上記ファイルデータが生成・変更・削除されるなど、実ファイルデータ記憶部２１内のファイルデータに対する操作が生じたことを検知するよう作動する。そして、ファイルデータの変更等を検知した場合に、その旨をシグニチャ生成処理部１４に通知する。例えば、プロセスが、オペレーティングシステムカーネルに対してファイル操作系のシステムコールを発行するタイミングや、ファイルシステムから変更を受けたことを通知されるウィルススキャンソフトとの連携によって当該ウィルススキャンソフトからの通知を受けたタイミングにて、検知することができる。
【００３１】
具体的に、ファイル操作検知処理部１３は、ファイルデータの操作があったことを検知すると、そのファイルデータの格納先情報（パス）を含むファイル名情報、新規生成・変更・削除などの操作種別を表す操作種別情報、さらには、ファイルデータ内に既に記憶されているシグニチャ、を取得して、これらの情報をシグニチャ生成処理部１４に通知する。なお、操作種別は、ファイルが新たに生成された場合は「新規生成」であり、ファイルデータのデータ内容の変更やファイルデータ自体の格納先（パス）が変更された場合は「変更」、ファイルデータ自体が削除された場合は「削除」として取り扱われることとする。
【００３２】
シグニチャ生成処理部１４（要約データ生成手段）は、まず、ファイル操作検知処理部１３から通知を受けたファイルデータの操作種別が、新規生成・変更・削除のいずれであるかを判定する。そして、操作種別が、「新規作成」あるいは「変更」であった場合には、ファイルデータの実データ（データ内容）に基づいて、「ＭＤ５」などのハッシュ関数を用いてハッシュ値を算出する。この算出したハッシュ値は、ファイルデータのデータ内容を表す値であり、以下、「シグニチャ」（要約データ）と呼ぶ。そして、シグニチャ生成処理部１４は、生成したシグニチャを、生成元となったファイルデータに含めて記憶する（図２参照）。このとき、ファイルデータに以前のシグニチャが存在している場合には、以前のものを削除して、最新のシグニチャを記憶する。また、シグニチャ生成処理部１４は、上述したように新たに生成したシグニチャ、及び、上記ファイル操作検知処理部１３にて取得し判定した操作種別情報、さらには、ファイルデータのファイル名情報を、仮想ファイル管理処理部１５に通知する。
【００３３】
仮想ファイル管理処理部１５（仮想ファイル管理手段、仮想ファイル削除手段）は、シグニチャ生成処理部１４から通知されたシグニチャ、操作種別情報、ファイル名情報を取得し、まず、ファイルデータに対する操作種別が「変更」又は「削除」である場合に、ファイル名情報やシグニチャから特定できる仮想ファイルデータを、仮想ファイルデータ記憶部２２内から削除する。つまり、ファイル操作検知処理部１３にてファイルデータから取得されたシグニチャ（図２参照）と同一のファイル名である仮想ファイルデータを削除する。
【００３４】
また、仮想ファイル管理処理部１５は、シグニチャが生成されたファイルデータに対応して、当該生成されたシグニチャをファイル名とする仮想ファイルデータを生成して、仮想ファイルデータ記憶部２２内に記憶する。この仮想ファイルデータは、そのデータ内容として、対応するファイルデータのファイル名を含む当該ファイルデータへのパスデータ（ファイル特定データ）を含んで記憶される。従って、ファイルデータが新規に生成された場合には、新たにシグニチャをファイル名とする仮想ファイルデータが記憶され、ファイルデータが変更された場合には、そのファイルデータに対応する既存の仮想ファイルデータが削除された後に、変更後の新たなシグニチャをファイル名とする仮想ファイルデータが記憶される。
【００３５】
ここで、仮想ファイルデータ記憶部２２に記憶されている仮想ファイルデータの構成例を、図３に示す。この図に示すように、仮想ファイルデータ５は、対応するファイルデータのシグニチャをファイル名とし、さらに、そのファイルデータへのパスデータ（ファイルデータのファイル名を含む）をデータ内容として保持している。さらに、仮想ファイルデータの具体例を、図４に示す。この図では、符号５１，５２，５３という仮想ファイルデータが記憶されている。そして、符号５１の仮想ファイルデータを一例に挙げると、仮想ファイルデータ５１は、対応するファイルデータから生成されたシグニチャである「ef2484・・・」がファイル名５１ａとして設定されており、そのデータ内容として、実ファイルデータ記憶部２１に記憶されている対応するファイルデータへのパスデータ５１ｂ「/home/user1/data/text1.txt」（格納先）が記憶されている。
【００３６】
そして、上記シグニチャ生成処理部１４、仮想ファイル管理処理部１５は、ファイル操作検知処理部１３にてファイル操作が検知される度に、上述した処理を実行する。従って、仮想ファイルデータ記憶部２２には、最新の各ファイルデータのデータ内容に対応するシグニチャをファイル名とした仮想ファイルデータが記憶され、それぞれのファイルデータへのパスデータが格納された状態となっている。
【００３７】
また、上記バックアップアプリケーション１６（バックアップ手段）は、上記仮想ファイルデータを利用して、実ファイルデータ記憶部２１に記憶されているファイルデータのバックアップ処理を実行するアプリケーションである。具体的に、バックアップアプリケーション１６は、ある時刻における仮想ファイルデータ記憶部２２の内容を取得してバックアップ用記憶装置３０に記憶しておき、また、その後のある時刻においても、同様に仮想ファイルデータ記憶部２２の内容を取得してバックアップ用記憶装置３０に記憶する。
【００３８】
そして、バックアップアプリケーション１６は、時間的に前後する各仮想ファイルデータ毎に、そのファイル名（シグニチャ）、及び、そのデータ内容であるパスデータを比較する。このとき、比較している仮想ファイルデータ間で、ファイル名（シグニチャ）が一致しない仮想ファイルデータが存在する場合には、この仮想ファイルデータに対応するファイルデータは新規生成あるいは変更されたものと判断され、パスデータを参照して該当するファイルデータを吸い上げる処理を実行する。また、ファイル名（シグニチャ）は一致するが、パスデータが一致しない仮想ファイルデータが存在する場合には、対応するファイルデータのデータ内容の変更は無く、格納先のみが変更されたと判断し、当該ファイルデータの移動情報のみを吸い上げる。そして、吸い上げたデータに基づいて、バックアップ処理を実行する。なお、バックアップ処理は、従来より行われている処理を用いるため、その詳細な説明は省略する。また、バックアップ用記憶装置３０は、コンピュータ１内に装備された別のドライブ領域であってもよく、あるいは、他の外部記憶装置であってもよい。さらには、コンピュータ１にネットワークを介して接続された他の記憶装置であってもよい。
【００３９】
［動作］
次に、上記構成のコンピュータ１の動作を、図４乃至図６のデータ構造図、及び、図７乃至図８のフローチャートを参照して説明する。はじめに、図４乃至図６、及び、図７を参照して、コンピュータ１による仮想ファイルデータの生成処理について説明する。
【００４０】
まず、アプリケーション１１からの指令に応じて、実ファイルデータ記憶部２１内で、ファイルデータの生成や変更、移動、削除を行う（ステップＳ１）。すると、ファイルデータの生成・変更・削除が検知され（ファイル操作検知工程）、当該ファイルデータの格納先情報（パス）を含むファイル名情報、操作種別情報、ファイルデータ内に記憶されている以前のシグニチャ、を取得する（ステップＳ２）。なお、ファイル操作を検知するタイミングとしては、ファイルシステムを扱うオペレーティングシステムへのフック（割り込み処理）が生じたタイミングや、ウィルススキャンソフトとの連携によって当該ウィルススキャンソフトからの通知を受けたタイミングで行う。
【００４１】
続いて、取得したファイルデータの操作種別情報から、新規生成・変更・削除のいずれであるかを判定する（ステップＳ３）。このとき、操作種別が、「新規作成」あるいは「変更」であった場合には（ステップＳ４でイエス）、ファイルデータの実データに基づいて、「ＭＤ５」などのハッシュ関数を用いてシグニチャを生成する（ステップＳ５、要約データ生成工程）。その後、生成したシグニチャをファイルデータ自体に含めて記憶する（ステップＳ６、図２参照）。このとき、ファイルデータに以前のシグニチャが存在している場合には、以前のものを削除して、最新のシグニチャのみを記憶する。なお、シグニチャは、必ずしもハッシュ関数を用いて算出生成されることに限定されず、ファイルデータの実データの内容を表す情報であればよい。
【００４２】
続いて、ファイルデータの操作種別が、ここでは、「新規生成」であるとすると（ステップＳ７でノー）、ファイルデータに対応する仮想ファイルデータを上記シグニチャ等に基づいて生成して、新たに仮想ファイルデータ記憶部２２内に記憶する（ステップＳ９、仮想ファイル管理工程）。例えば、図４の符号５１に示すように、ファイルデータについて生成したシグニチャをファイル名５１ａとし、そのデータ内容をファイルデータへのパスデータ５１ｂとした仮想ファイルデータ５１を生成して、仮想ファイルデータ記憶部２２内に記憶する。そして、図４では、同様にして、実ファイルデータ記憶部２０内のファイルデータに対応して、仮想ファイルデータ５２，５３が記憶されていることとする。
【００４３】
ここで、ファイルデータが変更されたときの動作、つまり、ステップＳ７で、操作種別が「変更」である場合を説明する（ステップＳ７でイエス）。なお、操作種別が「変更」とは、ファイルデータのデータ内容が変更された場合はもちろん、ファイルデータの内容が変更されずにデータ移動され、格納位置（パス）が変更されただけの場合も含むこととする。この場合には、まず、ファイル操作が検知されたファイルデータから取得したシグニチャと一致するファイル名の仮想ファイルデータを、仮想ファイルデータ記憶部２２内から削除する（ステップＳ８、仮想ファイル削除工程）。例えば、変更されたファイルデータから取得された以前のシグニチャが、図５に示す仮想ファイルデータ５１，５２のファイル名と一致する場合には、当該仮想ファイルデータ５１，５２自体を削除する（図５の×印参照）。
【００４４】
そして、その後は、変更されたファイルデータからステップＳ５で新たに生成されたシグニチャをファイル名とした仮想ファイルデータが生成され、仮想ファイルデータ記憶部２２に記憶される（仮想ファイル管理工程）。その一例を図６に示す。例えば、図５において符号５１に示す仮想ファイルデータに対応するファイルデータのデータ内容が変更されている場合には、図６に示す仮想ファイルデータ５１’のファイル名であるシグニチャ５１ａ’の値が異なっており、一方で、パスデータ５１ｂは同一である。また、図５において符号５２に示す仮想ファイルデータに対応するファイルデータの格納位置が移動されただけの場合には、図６に示す仮想ファイルデータ５２’のファイル名であるシグニチャ５２ａの値が一致しており、一方で、パス５１ｂは異なっている。
【００４５】
なお、検知したファイルデータの操作種別が「削除」である場合には（ステップＳ４でノー、ステップＳ７でイエス）、そのファイルデータから取得したシグニチャと一致するファイル名の仮想ファイルデータを、仮想ファイルデータ記憶部２２内から削除する（ステップＳ８、仮想ファイル削除工程）。その後は、このファイルデータに対してシグニチャが生成されていないため、仮想ファイルデータも新たには生成されない。
【００４６】
次に、図８を参照して、バックアップアプリケーション１６によるバックアップ動作を説明する。まず、ある時刻における仮想ファイルデータ記憶部２２の内容として仮想ファイルデータを取得する（ステップＳ１１）。ここでは、図４に示す仮想ファイルデータを取得したとする。その後、バックアップを行う一定時間が経過したり（ステップＳ１２でイエス）、設定された時刻となると、その時刻における仮想ファイルデータ記憶部２２の内容として仮想ファイルデータを取得する（ステップＳ１３）。ここでは、図６に示す仮想ファイルデータを取得したこととする。
【００４７】
続いて、取得した時間的に前後する仮想ファイルデータを比較する（ステップＳ１４）。このとき、両者に含まれない仮想ファイルデータの新規のファイル名（シグニチャ）が存在する場合には（ステップＳ１５でイエス）、この仮想ファイルデータのパスを参照して、当該仮想ファイルデータに対応するファイルデータを吸い上げる（ステップＳ１６）。そして、全く新規のファイルデータであれば、そのファイルデータを新たにバックアップファイルとして生成する。一方で、図４の符号５１と図６の符号５１’のように、ファイル名５１ａ，５１ａ’は異なるもののパスデータ５１ｂは一致するファイルデータの場合には、そのファイルデータのデータ内容が変更され更新されたものであると判断して、差分バックアップを実行する（ステップＳ１７）。また、図４の符号５２と図６の符号５２’のように、ファイル名５２ａは一致するもののパスデータ５２ｂ，５２ｂ’は異なるファイルデータの場合には（ステップＳ１９でイエス）、このファイルデータのデータ内容に変更は無く、データ移動だけが生じたものと考えられる。かかる場合には、該当するファイルデータの移動情報のみを吸い上げ（ステップＳ２０）、バックアップファイル内で格納先を移動するなどのバックアップ処理を実行する（ステップＳ１７）。そして、上述したバックアップ処理を、更新された仮想ファイルデータが無くなるまで実行することで（ステップＳ１８）、バックアップ処理が完了する（バックアップ工程）。
【００４８】
以上のように、本発明によると、ファイルデータのデータ内容に応じて生成されたシグニチャをファイル名とし、これに当該ファイルデータへのパスを含めて仮想ファイルデータとして管理することで、ファイルデータの更新等の有無を確実に判定することができる。特に、ファイルデータ自体のデータ内容を詳細に調べる必要が無く、つまり、ファイルデータ自体をスキャンする必要が無く、データ容量の少ない仮想ファイルデータを調べることでファイルデータの更新等の有無を判定でき、高速かつ低負荷、さらには、効率的なファイル管理を実現することができる。
【００４９】
さらに、仮想ファイルデータを通常のファイルシステムと同様に読み書きできるよう構成しているため、バックアップアプリケーションに特殊なデータベースアクセス手段を組み込む必要がなく、バックアップを実現することができる。従って、あらゆるコンピュータにて利用可能であり、汎用性の向上を図ることができる。
【００５０】
なお、上記では、ファイルデータが変更・削除された場合には、仮想ファイルデータの削除を行うよう例示したが、当該仮想ファイルデータを削除せずに蓄積してもよい。これにより、ファイルデータの変更履歴を蓄積することができ、後のファイル復元などに利用することも可能である。
【実施例２】
【００５１】
次に、本発明の第２の実施例を、図９乃至図１０を参照して説明する。図９は、本実施例における仮想ファイルデータの一例を示す図であり、図１０は、本実施例におけるコンピュータ１の動作の一部を示すフローチャートである。
【００５２】
本実施例では、仮想ファイル管理処理部１５が、仮想ファイルデータ記憶部２２に仮想ファイルデータを記憶する際に、ファイル名つまりファイルデータから生成したシグニチャが一致する仮想ファイルデータが存在するか否かを調べる。そして、シグニチャが一致する場合には、新たなシグニチャをディレクトリ名とするディレクトリを仮想ファイルデータ記憶部２２内に生成し、このディレクトリ内に、シグニチャをファイル名としてファイルデータへのパスをデータ内容に有する仮想ファイルデータを記憶するよう作動する。その動作を図１０のフローチャートに示し、仮想ファイルデータの一例を、図９に示す。
【００５３】
まず、実施例１の図７のフローチャートを参照して説明したように、ファイルデータの操作が検出されると、シグニチャが生成され、このシグニチャがファイル名とされた仮想ファイルデータが仮想ファイルデータ記憶部２２に記憶される（ステップＳ９）。このとき、本実施例では、まず、生成された仮想ファイルデータ（ステップＳ１０１）と同一のファイル名の仮想ファイルデータが既に仮想ファイルデータ記憶部２２に存在するか否かを調べる（ステップＳ１０２）。例えば、図９の符号５５に示す仮想ファイルデータが存在していた場合に、このファイル名５５ａと同一のシグニチャが生成されたとする（ステップＳ１０２でイエス）。なお、各シグニチャに対応するファイルデータは、たまたまシグニチャが一致しただけであって、ファイルデータ自体は異なるため、そのパスも異なる（符号５５ｂ，５７ｂ参照）。
【００５４】
すると、新たに生成した仮想ファイルデータ５７のファイル名５７ａとなったシグニチャを名称とするディレクトリ５６が生成される（ステップＳ１０３）。そして、このディレクトリ５６内に、シグニチャをファイル名５７ａとし、これに対応するファイルデータへのパス５７ｂをデータ内容に含む仮想ファイルデータ５７が記憶される（ステップＳ１０４）。これにより、各仮想ファイルデータに対応する各ファイルデータを区別することができる。なお、ディレクトリ５６内には、シグニチャをファイル名として仮想ファイルデータを生成することに限定されず、少なくとも対応するファイルデータを特定する情報が含まれていればよい。
【００５５】
以上のように、本発明によると、仮に、ファイルデータが異なっているにも関わらず、各ファイルデータに基づいて算出されたシグニチャ、つまり、仮想ファイルデータのファイル名が重複した場合であっても、ディレクトリ階層を異ならせることで、各仮想ファイルデータを区別することができる。従って、より確実に、ファイルデータの更新等を管理することができる。
【産業上の利用可能性】
【００５６】
本発明は、大容量ファイルシステムを備えるコンピュータシステム、ファイルサーバ、さらには、パーソナルコンピュータなどで利用することができ、また、ファイルの変更履歴などを残し検索するシステムにも利用することができ、産業上の利用可能性を有する。
【図面の簡単な説明】
【００５７】
【図１】実施例１におけるコンピュータの構成を示す機能ブロック図である。
【図２】図１に開示したファイルデータのデータ構造を示す図である。
【図３】図１に開示した仮想ファイルデータのデータ構造を示す図である。
【図４】図１に開示した仮想ファイルデータの具体的なデータ構造を示す図である。
【図５】図１に開示した仮想ファイルデータの具体的なデータ構造を示す図である。
【図６】図１に開示した仮想ファイルデータの具体的なデータ構造を示す図である。
【図７】図１に開示したコンピュータの動作を示すフローチャートである。
【図８】図１に開示したコンピュータの動作を示すフローチャートである。
【図９】実施例２における仮想ファイルデータの具体的なデータ構造を示す図である。
【図１０】実施例２におけるコンピュータの動作を示す図である。
【符号の説明】
【００５８】
１  コンピュータ
４  ファイルデータ
５  仮想ファイルデータ
１０  演算装置
１１  アプリケーション
１２  ファイル操作処理部
１３  ファイル操作検知処理部
１４  シグニチャ生成処理部
１５  仮想ファイル管理処理部
１６  バックアップアプリケーション
２０  記憶装置
２１  実ファイルデータ記憶部
２２  仮想ファイルデータ記憶部
３０  バックアップ用記憶部
５１，５１’，５２，５２’，５３，５５，５７  仮想ファイルデータ
５６  ディレクトリ
５１ａ，５１ａ’，５２ａ，５５ａ，５７ａ  ファイル名
５１ｂ，５２ｂ，５２ｂ’，５５ｂ，５７ｂ  パスデータ
【図１】
2008234269.tif 000003
【図２】
2008234269.tif 000004
【図３】
2008234269.tif 000005
【図４】
2008234269.tif 000006
【図５】
2008234269.tif 000007
【図６】
2008234269.tif 000008
【図７】
2008234269.tif 000009
【図８】
2008234269.tif 000010
【図９】
2008234269.tif 000011
【図１０】
2008234269.tif 000012