(57)【特許請求の範囲】
【請求項１】
過去の履歴をスナップショットとして作成し蓄積する連続スナップショットファイルシステムを備えるバックアップサーバにデータを送信してバックアップするバックアップ装置であって、
バックアップ対象のデータに付随するメタデータを記載したプロパティファイルを作成する作成手段と、
バックアップ対象のデータと当該データに対応するプロパティファイルを前記バックアップサーバへ送信する送信手段と、
前記バックアップサーバにおいて前記データと前記プロパティファイルとの整合性がとれたときに、スナップショットの作成を前記バックアップサーバに指示する指示手段と、
を有することを特徴とするバックアップ装置。
【請求項２】
前記指示手段は、前記データあるいは前記プロパティファイルを送信する際に、当該データあるいは当該プロパティファイルに、スナップショットの作成を促すタグを付与することあるいは付与しないこと、もしくはスナップショットの作成を抑制するタグを付与することあるいは付与しないことでスナップショットの作成を指示すること
を特徴とする請求項１記載のバックアップ装置。
【請求項３】
前記指示手段は、スナップショットの作成を指示するポリシーを複数有し、要求されるバックアップの種類に応じて当該ポリシーを切り替えてスナップショット作成のタイミングを決定すること
を特徴とする請求項１又は２に記載のバックアップ装置。
【請求項４】
請求項１乃至３のいずれかに記載のバックアップ装置としてコンピュータを動作させることを特徴とするバックアッププログラム。
【請求項５】
データのバックアップを保持するバックアップサーバと前記バックアップサーバにデータを送信してバックアップするバックアップ装置とを有するバックアップシステムであって、
前記バックアップ装置は、
バックアップ対象のデータに付随するメタデータを記載したプロパティファイルを作成する作成手段と、
バックアップ対象のデータと当該データに対応するプロパティファイルを前記バックアップサーバへ送信する送信手段と、
前記バックアップサーバにおいて前記データと前記プロパティファイルとの整合性がとれたときに、スナップショットの作成を前記バックアップサーバに指示する指示手段と、を有し、
前記バックアップサーバは、
過去の履歴をスナップショットとして作成し蓄積する連続スナップショットファイルシステムと、
前記バックアップ装置からバックアップ対象のデータとプロパティファイルを受信して前記連続スナップショットファイルシステムに格納する格納手段と、
前記バックアップ装置からスナップショットの作成の指示を受けたときに、前記連続スナップショットファイルシステムにスナップショットを作成させる管理手段と、を有すること
を特徴とするバックアップシステム。
【請求項６】
前記指示手段は、前記データあるいは前記プロパティファイルを送信する際に、当該データあるいは当該プロパティファイルに、スナップショットの作成を促すタグを付与することあるいは付与しないこと、もしくはスナップショットの作成を抑制するタグを付与することあるいは付与しないことでスナップショットの作成を指示し、
前記管理手段は、前記格納手段が受信した前記データあるいは前記プロパティファイルに付与された前記タグに基づいてスナップショットを作成させること
を特徴とする請求項５記載のバックアップシステム。
【請求項７】
前記指示手段は、スナップショットの作成を指示するポリシーを複数有し、要求されるバックアップの種類に応じて当該ポリシーを切り替えてスナップショット作成のタイミングを決定すること
を特徴とする請求項５又は６に記載のバックアップシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント上のデータをネットワークを介して接続されたバックアップサーバにバックアップする技術に関する。
【背景技術】
【０００２】
クライアントコンピュータ上にあるデータをネットワークを介して接続されたバックアップサーバに過去のデータを履歴として蓄積しながらバックアップするバックアップシステムが知られている。例えば、特許文献１は、連続スナップショットが取得可能なファイルシステム（例えば、非特許文献１のＮＩＬＦＳ）を適用して、多数のスナップショットを自動的かつ暗黙的に生成し、各スナップショットを履歴として参照可能にするファイルサーバに関するものであり、クライアントコンピュータ上のデータを保護するバックアップシステムを構成する方法についても述べている。具体的には、特許文献１では、クライアントコンピュータ上でファイルの内容（データ）、ファイルの属性、名前、フォルダ構成などの各種状態に変更が生じた都度、変更データをバックアップサーバに送信して連続スナップショットファイルシステムに格納し、同じ変更操作をバックアップサーバの連続スナップショットファイルシステムのファイルもしくはフォルダに対して反復して実行することで、履歴蓄積機能を持たないクライアントコンピュータ上のファイルやフォルダ構成の過去の状態を残しながらバックアップサーバ上に保存し、保護する方法を述べている。
【０００３】
通常のファイルシステムでは、アプリケーションが編集して保存したファイルはディスク上でも上書き保存され、過去のバージョンのデータは残らない。これに対し、ＮＩＬＦＳでは、以前のデータも上書きされずに記憶装置上に残っており、過去のファイルシステムの状態をスナップショットとして参照することができる。ＮＩＬＦＳはファイルシステムの任意の時点の状態（最新の状態もしくは過去の状態）をスナップショットにすることができ、このスナップショットから、失われたデータ（ファイルやフォルダ）を復元することができる。
【０００４】
連続スナップショットファイルシステムを用いたバックアップシステムは、履歴の生成や統合などの機能はＯＳの一部であるファイルシステムが提供するので、それを管理するアプリケーションプログラムは、イメージファイル生成型のバックアップ方式で必要とされるような、複数のバックアップイメージの管理、差分もしくは増分バックアップの作成機能、およびバックアップイメージの統合機能などが不要である。バックアップデータの管理は、スナップショットの作成もしくは削除などの操作に集約される。
【０００５】
一方で、連続スナップショットファイルシステムをバックアップシステムとして適用する場合に不足している機能もある。クライアントコンピュータのバックアップ対象のデータをきちんと復元できるようにするためには、データの実体だけでなく、属性情報、作成日時や更新日時といったタイムスタンプ、セキュリティ情報、所有者情報、およびグループ情報といった、ローカルファイルシステム固有のメタデータも保存かつ復元できるようにすることが求められる。メタデータの種類や形式はＯＳプラットフォームごとに異なるため、バックアップ対象のデータを格納するローカルファイルシステムと連続スナップショットファイルシステムのＯＳが異なる場合、保存できるメタデータに差異が生じてしまう。
【０００６】
クライアントコンピュータに搭載されているＯＳやファイルシステムの種別によらずメタデータを復元可能とするために、メタデータの内容をデータとしてバックアップサーバに保管する方法がとられる。メタデータをバックアップサーバに保管する方法としては、ファイルシステムが提供する拡張ファイル属性を利用する方法と、単一もしくは複数のファイルのメタデータをファイルに記載して保管する方法がある。変更されたファイルを効率的に抽出するには後者のほうが都合が良い。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−２０４００８号公報
【非特許文献】
【０００８】
【非特許文献１】佐藤、他４名、「ログ構造化ファイルシステムＮＩＬＦＳの設計と実装」、情報処理学会論文誌コンピューティングシステム（ａｃｓ）、情報処理学会、２００９年、第２巻、第１号、pp. 110-122
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、バックアップサーバが、クライアントコンピュータから受信したファイルとプロパティファイルを格納し、連続スナップショットファイルシステムを用いて過去のファイルと過去のフォルダツリーのスナップショットを作成する場合、ファイルの書き込みの途中の状態でスナップショットが作成されたり、ファイルとプロパティファイルのどちらか一方のみが書き込まれた状態でスナップショットが作成されると、そのスナップショットはバックアップとしては整合性のないものとなってしまう。バックアップサーバに保存されたデータから、クライアントコンピュータのファイルやフォルダを復元する操作（リストア）を行う際、整合性のとれていないスナップショットからファイルをリストアすると、正しい状態が復元できないという問題があった。
【００１０】
本発明は、上記に鑑みてなされたものであり、連続スナップショットファイルシステムにデータをバックアップする際に、バックアップされたデータ間で整合性が保たれたときのみにスナップショットを作成することを目的とする。
【課題を解決するための手段】
【００１１】
第１の本発明に係るバックアップ装置は、過去の履歴をスナップショットとして作成し蓄積する連続スナップショットファイルシステムを備えるバックアップサーバにデータを送信してバックアップするバックアップ装置であって、バックアップ対象のデータに付随するメタデータを記載したプロパティファイルを作成する作成手段と、バックアップ対象のデータと当該データに対応するプロパティファイルを前記バックアップサーバへ送信する送信手段と、前記バックアップサーバにおいて前記データと前記プロパティファイルとの整合性がとれたときに、スナップショットの作成を前記バックアップサーバに指示する指示手段と、を有することを特徴とする。
【００１２】
上記バックアップ装置において、前記指示手段は、前記データあるいは前記プロパティファイルを送信する際に、当該データあるいは当該プロパティファイルに、スナップショットの作成を促すタグを付与することあるいは付与しないこと、もしくはスナップショットの作成を抑制するタグを付与することあるいは付与しないことでスナップショットの作成を指示することを特徴とする。
【００１３】
上記バックアップ装置において、前記指示手段は、スナップショットの作成を指示するポリシーを複数有し、要求されるバックアップの種類に応じて当該ポリシーを切り替えてスナップショット作成のタイミングを決定することを特徴とする。
【００１４】
第２の本発明に係るバックアッププログラムは、上記のバックアップ装置としてコンピュータを動作させることを特徴とする。
【００１５】
第３の本発明に係るバックアップシステムは、データのバックアップを保持するバックアップサーバと前記バックアップサーバにデータを送信してバックアップするバックアップ装置とを有するバックアップシステムであって、前記バックアップ装置は、バックアップ対象のデータに付随するメタデータを記載したプロパティファイルを作成する作成手段と、バックアップ対象のデータと当該データに対応するプロパティファイルを前記バックアップサーバへ送信する送信手段と、前記バックアップサーバにおいて前記データと前記プロパティファイルとの整合性がとれたときに、スナップショットの作成を前記バックアップサーバに指示する指示手段と、を有し、前記バックアップサーバは、過去の履歴をスナップショットとして作成し蓄積する連続スナップショットファイルシステムと、前記バックアップ装置からバックアップ対象のデータとプロパティファイルを受信して前記連続スナップショットファイルシステムに格納する格納手段と、前記バックアップ装置からスナップショットの作成の指示を受けたときに、前記連続スナップショットファイルシステムにスナップショットを作成させる管理手段と、を有することを特徴とする。
【００１６】
上記バックアップシステムにおいて、前記指示手段は、前記データあるいは前記プロパティファイルを送信する際に、当該データあるいは当該プロパティファイルに、スナップショットの作成を促すタグを付与することあるいは付与しないこと、もしくはスナップショットの作成を抑制するタグを付与することあるいは付与しないことでスナップショットの作成を指示し、前記管理手段は、前記格納手段が受信した前記データあるいは前記プロパティファイルに付与された前記タグに基づいてスナップショットを作成させることを特徴とする。
【００１７】
上記バックアップシステムにおいて、前記指示手段は、スナップショットの作成を指示するポリシーを複数有し、要求されるバックアップの種類に応じて当該ポリシーを切り替えてスナップショット作成のタイミングを決定することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、連続スナップショットファイルシステムにデータをバックアップする際に、バックアップされたデータ間で整合性が保たれたときのみにスナップショットを作成することができる。
【００１９】
本発明によれば、スナップショット作成のタイミング指定のオーバヘッドを回避することができる。
【００２０】
本発明によれば、バックアップの条件を考慮して、無駄なスナップショット作成タイミングの指定を減少させることができ、バックアップサーバの処理の軽減を図ることができる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態におけるバックアップシステムの構成を示す図である。
【図２】プロパティファイルの例を示す図である。
【図３】本実施の形態におけるバックアップシステムがバックアップ対象の実体データと対応するプロパティファイルをバックアップする処理の流れを示すフローチャートである。
【図４】ファイルが更新される度にバックアップを行う場合の、スナップショット作成を促すタグを付与するタイミングを説明するための図である。
【図５】複数のファイルをまとめてバックアップする場合の、スナップショット作成を促すタグを付与するタイミングを説明するための図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態について図面を用いて説明する。
【００２３】
図１は、本実施の形態におけるバックアップシステムの構成を示す図である。図１に示すバックアップシステムは、クライアントコンピュータ３とバックアップサーバ５を備え、クライアントコンピュータ３とバックアップサーバ５はネットワーク１００を介して接続される。クライアントコンピュータ３はバックアップ対象データ記憶域２を持ち、バックアップ対象データ記憶域２に格納されたバックアップ対象のデータをバックアップサーバ５へ送信するバックアップクライアント１が組み込まれる。以下、バックアップクライアント１及びバックアップサーバ５について説明する。
【００２４】
バックアップクライアント１は、バックアップ管理部１１及びサーバ通信部１２を備える。
【００２５】
バックアップ管理部１１は、プロパティファイル生成部１１１とバックアップタイミング管理部１１２を備え、バックアップ対象データ記憶域２からバックアップ対象の実体データ（ファイルやフォルダ）とその実体データに付随するメタデータを取得し、サーバ通信部１２を通じて、バックアップサーバ５へ送信してバックアップする。バックアップ対象の実体データに付随するメタデータは、プロパティファイルに記載してバックアップサーバ５へ送信してバックアップする。また、バックアップ管理部１１は、バックアップ対象データ記憶域２から削除された実体データ及びその実体データに対応するプロパティファイルをバックアップサーバ５から削除するための削除要求をバックアップサーバ５へ送信する。また、バックアップ管理部１１は、実体データやプロパティファイルの送信、削除要求に対する結果をバックアップサーバ５から受け取り、通信異常により要求が成功しなかった場合にはリトライする。
【００２６】
プロパティファイル生成部１１１は、バックアップサーバ５に保存された既存のプロパティファイルを取得するとともに、バックアップ対象データ記憶域２からバックアップ対象の実体データに付随するメタデータを取得して、プロパティファイルを更新する。バックアップサーバ５に既存のプロパティファイルが存在しない場合は、取得したメタデータに基づいてプロパティファイルを新規に生成する。プロパティファイルの詳細については後述する。
【００２７】
バックアップタイミング管理部１１２は、バックアップ対象の実体データとその実体データのメタデータを記載したプロパティファイルとの整合性が、バックアップサーバ５で作成されるスナップショットにおいて保たれるようにスナップショット作成のタイミングを決定し、サーバ通信部１２に通知する。バックアップタイミング管理部１１２は、後述するバックアップのポリシーに基づいてスナップショット作成のタイミングを決定する。バックアップタイミング管理部１１２は、スナップショット作成のタイミングを決定するポリシーを複数有しておき、要求されるバックアップの種類（随時バックアップ、一括バックアップなど）に応じて適用するポリシーを切り替える。
【００２８】
サーバ通信部１２は、バックアップ管理部１１の指示に基づき、バックアップサーバ５との間でデータを送受信する。具体的には、バックアップ対象の実体データとプロパティファイルをバックアップサーバ５へ転送する機能、バックアップサーバ５からプロパティファイルを取得する機能、および実体データとプロパティファイルの削除要求をバックアップサーバ５へ送信する機能を有する。また、サーバ通信部１２は、バックアップサーバ５へのデータの送信結果および削除要求の結果をバックアップ管理部１１に返却する。バックアップ管理部１１に返却する結果の情報には、バックアップ管理部１１が必要に応じてリトライなどの事後処理を行えるよう、「成功」もしくは「失敗」の状態に加えて、「失敗」の場合には、その理由を識別できる数値が含まれる。失敗の理由は、バックアップサーバ５が返却する場合と、通信障害のようにサーバ通信部１２が通信時に検知する場合がある。
【００２９】
また、サーバ通信部１２は、タイミングタグ付与部１２１を備え、バックアップタイミング管理部１１２からの指示により、バックアップサーバ５へ送信するバックアップ対象の実体データ、プロパティファイル、および削除要求などにスナップショット作成を促すタグを付与する。
【００３０】
なお、図１には示していないが、バックアップクライアント１は、サーバ通信部１２に接続されたリストア管理部を有し、サーバ通信部１２を通じて、バックアップサーバ５に蓄積されたスナップショットからバックアップされた実体データと対応するプロパティファイルを取得してバックアップ対象データ記憶域２に復元する。リストア管理部は、ユーザにバックアップサーバ５に蓄積されたスナップショット（履歴）の一覧を提示して復元する履歴を選択させてもよい。
【００３１】
バックアップサーバ５は、クライアント通信部５１、ファイル管理部５２、スナップショット管理部５３、連続スナップショットファイルシステム５４、およびバックアップ記憶域５５を備える。
【００３２】
クライアント通信部５１は、バックアップクライアント１との間でデータを送受信する。具体的には、バックアップクライアント１が送信するバックアップ対象の実体データとプロパティファイルを受信する機能、指定されたスナップショット中のバックアップ対象の実体データとプロパティファイルをバックアップクライアント１へ送信する機能、およびバックアップクライアント１が送信する削除要求を受信する機能を有する。また、クライアント通信部５１は、バックアップクライアント１からの要求に対して、成否の結果と、失敗した場合にはその理由を返却する。
【００３３】
クライアント通信部５１は、タイミングタグ判別部５１１を備え、バックアップクライアント１から受信したデータに付与されたタグを判別し、スナップショットを生成するタイミングをファイル管理部５２に通知する。例えば、受信したデータにスナップショット作成を促すタグが付与されていた場合は、スナップショットの作成をファイル管理部５２に通知し、受信したデータにスナップショット作成を促すタグが付与されていない場合は、スナップショットの作成をファイル管理部５２に通知しない、あるいはスナップショットを作成しないようにファイル管理部５２に通知する。
【００３４】
ファイル管理部５２は、連続スナップショットファイルシステム５４を通じて、バックアップ記憶域５５にアクセスし、ファイルやフォルダの作成、書き込み、削除、および読み出し等を行う。具体的には、クライアント通信部５１が受信したデータをバックアップ記憶域５５に保存する機能、ファイルを保存するフォルダをバックアップ記憶域５５に作成する機能、クライアント通信部５１が受信した取得要求あるいは削除要求に基づき、連続スナップショットファイルシステム５４の最新の状態から要求されたデータを取得する、あるいは削除する機能、および空きフォルダを削除する機能を有する。
【００３５】
また、ファイル管理部５２は、クライアント通信部５１から通知されたスナップショットを生成するタイミングを基に、スナップショット管理部５３にスナップショットの生成を指示する。
【００３６】
スナップショット管理部５３は、ファイル管理部５２から与えられた契機でスナップショットを作成する。また、特許文献１に記載されているように、多数生成されたスナップショットを自動もしくは手動操作により統合する機能を備えてもよい。
【００３７】
連続スナップショットファイルシステム５４は、非特許文献１のＮＩＬＦＳのように、バックアップ記憶域５５にデータを保存するとともに、過去の履歴をスナップショットとして蓄積する。
【００３８】
バックアップ記憶域５５は、バックアップサーバ５に搭載されたローカルストレージもしくはネットワークを介して接続されたネットワークストレージであり、連続スナップショットファイルシステム５４を通じて、データ（バックアップ対象の実体データとプロパティファイル）をその過去の履歴を残しつつ保持する。
【００３９】
なお、バックアップクライアント１、バックアップサーバ５が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはバックアップクライアント１、バックアップサーバ５が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
【００４０】
次に、プロパティファイルについて説明する。
【００４１】
プロパティファイルは、バックアップ対象の実体データに付随するメタデータを記載したファイルである。プロパティファイルは、ファイル単位、ボリューム単位、あるいはフォルダ単位など任意の構成単位で作成されうるが、ここではプロパティファイルをフォルダ単位で作成する例を用いて説明する。
【００４２】
図２に、プロパティファイルの例を示す。同図に示すプロパティファイルはテキスト形式で記述されており、対象となるフォルダの直下に存在するファイルおよびフォルダ（サブフォルダ）の名称およびメタデータを保持する。名称およびメタデータは、バックアップ対象の実体データ（ファイルおよびフォルダ）毎に一意に払い出されるＩＤと、属性の種別を表す識別子により［ＩＤ］．［識別子］の形式でキーを表現し、キーとキーの値を示すバリューの組で記載する。
【００４３】
図２に示すプロパティファイルで用いられる識別子とその意味は、ＦＴ…ファイル／フォルダの識別、ＦＮ…ファイル名／フォルダ名、ＡＴＲ…属性情報、ＣＴ…作成日時、ＡＴ…更新日時、ｄｓＮｕ…該当ファイルに付随している代替データストリームの数、ｄｓＮ＃…代替データストリーム＃の名称（＃には１〜代替データストリームの数が入る）である。代替データストリームの数は０以上の整数であり、代替データストリームを持たないファイル、フォルダの場合は０となる。なお、代替データストリームとは、ファイル、フォルダの主データとは異なる補助的なデータストリームのことであり、主データとともに同一ファイル内で管理される。代替データストリームは、ＯＳによってはフォークと呼ばれる場合もある。また、属性情報には、「読み取り専用」「隠しファイル」「アーカイブ」「圧縮」「暗号化」などのバックアップ対象のファイルシステムに依存する属性情報が記載される。作成日時、更新日時などのタイムスタンプおよび属性情報は、バックアップ処理およびリストア処理の実施対象か否かを判断する材料として利用される。
【００４４】
上記はプロパティファイルの一例であり、プロパティファイルの形式は任意のものが使用できる。
【００４５】
なお、直下にファイル、サブフォルダを一つも持たない空きフォルダについては、その空きフォルダ内にプロパティファイルのみが存在しても、プロパティファイルが存在しなくてもよい。本実施例では、バックアップ対象データ記憶域２内のフォルダが空きフォルダの場合、バックアップサーバ５の連続スナップショットファイルシステム５４上では、その空きフォルダがプロパティファイルのみを含んでいる状態に対応付けて管理している。
【００４６】
次に、本実施の形態におけるバックアップシステムの処理の流れについて説明する。
【００４７】
以下では、（１）新規作成ファイル又は変更ファイルをバックアップする処理、（２）フォルダを作成する処理、（３）ファイルを削除する処理、（４）フォルダを削除する処理、（５）メタデータのみの変更を反映する処理、および（６）複数のファイルの作成、変更、削除を同時に行う処理について説明する。
【００４８】
（１）新規作成ファイル又は変更ファイルをバックアップする処理
まず、バックアップ対象データ記憶域２に新規に作成された新規作成ファイルや、データ内容が更新された変更ファイルをバックアップする処理の流れについて説明する。図３は、本実施の形態におけるバックアップシステムが、バックアップ対象の実体データと対応するプロパティファイルをバックアップする処理の流れを示すフローチャートである。
【００４９】
バックアップ管理部１１が新規作成ファイル又は変更ファイルをバックアップ対象として検出する（ステップＳ１１）。変更ファイルの検出方法としては、バックアップ対象データ記憶域２からの変更通知を受け取って検出する方法と、バックアップサーバ５に保存されたプロパティファイルを取得し、プロパティファイルに記載されているファイル、フォルダの構成、メタデータ（作成日時、更新日時などのタイムスタンプやファイルサイズなど）と、バックアップ対象データ記憶域２に格納されている現在のファイル、フォルダの構成、メタデータとを比較して検出する方法がある。前者の、変更通知を受け取って検出する方法は、継続的に変更の有無を監視するのに適しており、変更されたファイルを随時バックアップするのに好適である。一方、後者の、プロパティファイルを取得して比較する方法は、途中の経過と無関係に変更ファイルを検出できるので、一定の期間をあけて実施する定期バックアップに適している。
【００５０】
続いて、バックアップ管理部１１は、検出されたバックアップ対象に対応するプロパティファイルを、サーバ通信部１２を通じて、バックアップサーバ５から取得する（ステップＳ１２）。本実施の形態では、プロパティファイルをフォルダ単位で作成するので、新規作成ファイル、変更ファイルが存在する親フォルダのプロパティファイルを取得する。なお、ステップＳ１１において既にプロパティファイルを取得している場合は、このステップＳ１２の処理を省くことができる。
【００５１】
続いて、サーバ通信部１２は、バックアップ管理部１１の指示に基づき、検出されたバックアップ対象の実体データをスナップショット作成を促すタグを付けずにバックアップサーバ５へ送信する（ステップＳ１３）。バックアップ管理部１１のバックアップタイミング管理部１１２は、新規作成ファイル、変更ファイルとプロパティファイルの整合性がバックアップサーバ５で作成されるスナップショットにおいて保たれるように、送信する新規作成ファイル、変更ファイルにはタグを付けないと指示する。なお、バックアップサーバ５には、送信する新規作成ファイル、変更ファイルを格納する場所の情報として、ファイル名とフォルダ名の組み合わせからなるパス名の情報も送信する。パス名の情報を送信する方法としては、データ転送要求に埋め込む方法と、ＨＴＴＰのＵＲＬに埋め込むなどのリソースのアドレスに埋め込む方法があるが、どちらの方法を用いてもよい。
【００５２】
そして、バックアップサーバ５のクライアント通信部５１がバックアップ対象の実体データを受信し、ファイル管理部５２が、連続スナップショットファイルシステム５４を通じて、バックアップ記憶域５５にバックアップする（ステップＳ１４）。受信した新規作成ファイル、変更ファイルは、同時に受信したパス名の情報に基づいて、連続スナップショットファイルシステム５４の与えられたパス名に新規作成あるいは上書きされる。このとき、ファイルの書き込みに失敗した場合には、クライアント通信部５１を通じてバックアップクライアント１にエラーを返却する。バックアップクライアント１は、エラーを受信した場合、必要に応じてリトライする。
【００５３】
なお、ステップＳ１４で受信した実体データにはスナップショット作成を促すタグが付けられていないので、ここではスナップショットの作成を行わない。
【００５４】
そして、バックアップ管理部１１は、バックアップ対象データ記憶域２からバックアップ対象のメタデータを取得し、ステップＳ１２でバックアップサーバ５から取得したプロパティファイルを更新する（ステップＳ１５）。バックアップ対象が新規作成ファイルの場合、バックアップサーバ５から取得したプロパティファイルにはその情報が存在しないので、取得したメタデータの各項目を新たに挿入する。バックアップ対象が更新ファイルの場合、プロパティファイルに記載されている古いメタデータの情報をバックアップ対象の更新ファイルの現在のメタデータの情報で置き換える。
【００５５】
続いて、サーバ通信部１２は、バックアップ管理部１１の指示に基づき、更新したプロパティファイルをスナップショット作成を促すタグを付けてバックアップサーバ５へ送信する（ステップＳ１６）。なお、バックアップサーバ５には、送信するプロパティファイルを格納する場所の情報としてパス名の情報も送信する。プロパティファイルを格納する場所は、新規作成ファイル、変更ファイルが存在する親フォルダであるので、その親フォルダのフォルダ名とプロパティファイルのファイル名を組み合わせてパス名の情報とする。
【００５６】
そして、クライアント通信部５１はプロパティファイルを受信し、ファイル管理部５２が、連続スナップショットファイルシステム５４を通じて、バックアップ記憶域５５にバックアップする（ステップＳ１７）。このとき、プロパティファイルの書き込みに失敗した場合には、クライアント通信部５１を通じてバックアップクライアント１にエラーを返却する。
【００５７】
バックアップ記憶域５５にプロパティファイルを格納すると、受信したプロパティファイルにスナップショット作成を促すタグが付けられているので、タイミングタグ判別部５１１がスナップショット管理部５３にスナップショットの作成を指示し、スナップショット管理部５３が連続スナップショットファイルシステム５４にスナップショットを作成させる（ステップＳ１８）。なお、スナップショットの作成に失敗した場合には、バックアップサーバ５は、バックアップクライアント１にエラーを返却する。
【００５８】
（２）フォルダを作成する処理
続いて、バックアップ対象データ記憶域２にフォルダが作成されたときの処理の流れについて説明する。なお、処理の基本的な流れは、（１）新規作成ファイル又は変更ファイルをバックアップする処理と同様であるので、図３を参照しつつ、同じ内容の処理については説明を省略する。
【００５９】
まず、図３のステップＳ１１，Ｓ１２の処理と同様に、バックアップ管理部１１が新規フォルダが作成されたことを検知し、作成された新規フォルダが存在する親フォルダの既存のプロパティファイルをバックアップサーバ５から取得する。
【００６０】
続いて、プロパティファイル生成部１１１が生成された新規フォルダに対応する空のプロパティファイルを作成し、サーバ通信部１２が空のプロパティファイルをスナップショット作成を促すタグを付けずにバックアップサーバ５へ送信する。これにより対応する新規フォルダの作成がバックアップサーバ５に要求される。送信されるプロパティファイルにはそのプロパティファイルを格納するフォルダのパス名の情報、つまり作成されたフォルダのパス名の情報も含まれる。
【００６１】
そして、クライアント通信部５１が新規フォルダの作成を要求する空のプロパティファイルを受信し、ファイル管理部５２が、連続スナップショットファイルシステム５４に対応する新規フォルダを作成し、新規フォルダ内に受信した空のプロパティファイルを格納する。このとき、新規フォルダの作成に失敗した場合には、クライアント通信部５１を通じてバックアップクライアント１にエラーを返却する。バックアップクライアント１は、エラーを受信した場合、必要に応じてリトライする。
【００６２】
なお、受信したプロパティファイルにはスナップショット作成を促すタグが付けられていないので、ここではスナップショットの作成を行わない。
【００６３】
そして、バックアップ管理部１１は、バックアップ対象データ記憶域２から作成された新規フォルダのメタデータを取得し、バックアップサーバ５から取得したプロパティファイルを更新する。具体的には、バックアップサーバ５から取得した親フォルダのプロパティファイルに、作成された新規フォルダのメタデータの各項目を新たに挿入する。
【００６４】
そして、図３のステップＳ１６〜Ｓ１８の処理と同様に、バックアップ管理部１１は、更新されたプロパティファイルをスナップショット作成を促すタグを付けてバックアップサーバ５へ送信し、バックアップサーバ５は、受信したプロパティファイルをバックアップ記憶域５５にバックアップし、連続スナップショットファイルシステム５４がスナップショットを作成する。
【００６５】
（３）ファイルを削除する処理
続いて、バックアップ対象データ記憶域２のファイルが削除されたときの処理の流れについて説明する。なお、処理の基本的な流れは、（１）新規作成ファイル又は変更ファイルをバックアップする処理と同様であるので、図３を参照しつつ、同じ内容の処理については説明を省略する。
【００６６】
まず、図３のステップＳ１１，Ｓ１２の処理と同様に、バックアップ管理部１１がファイルが削除されたことを検知し、削除されたファイルが存在する親フォルダの既存のプロパティファイルをバックアップサーバ５から取得する。
【００６７】
続いて、サーバ通信部１２は、バックアップ管理部１１の指示に基づき、削除されたファイルに対応するファイルをバックアップサーバ５から削除する削除要求をスナップショット作成を促すタグを付けずにバックアップサーバ５へ送信する。削除要求に削除されたファイルのパス名の情報を含める。
【００６８】
そして、クライアント通信部５１がファイルを削除する削除要求を受信し、ファイル管理部５２が、連続スナップショットファイルシステム５４から対応するファイルを削除する。このとき、ファイルの削除に失敗した場合には、クライアント通信部５１を通じてバックアップクライアント１にエラーを返却する。バックアップクライアント１は、エラーを受信した場合、必要に応じてリトライする。
【００６９】
なお、受信した削除要求にはスナップショット作成を促すタグが付けられていないので、ここではスナップショットの作成を行わない。
【００７０】
そして、バックアップ管理部１１は、バックアップサーバ５から取得したプロパティファイルから、削除されたファイルのメタデータを削除し、必要であれば変更になったフォルダのタイムスタンプの情報をプロパティファイルのフォルダのエントリに反映させる。
【００７１】
そして、図３のステップＳ１６〜Ｓ１８の処理と同様に、バックアップ管理部１１は、更新されたプロパティファイルをスナップショット作成を促すタグを付けてバックアップサーバ５へ送信し、バックアップサーバ５は、受信したプロパティファイルをバックアップ記憶域５５にバックアップし、連続スナップショットファイルシステム５４がスナップショットを作成する。
【００７２】
（４）フォルダを削除する処理
続いて、バックアップ対象データ記憶域２のフォルダが削除されたときの処理の流れについて説明する。なお、処理の基本的な流れは、（３）ファイルを削除する処理と同様であるので、同じ内容の処理については説明を省略する。
【００７３】
まず、バックアップ管理部１１がフォルダが削除されたことを検知し、削除されたフォルダが存在する親フォルダの既存のプロパティファイルをバックアップサーバ５から取得する。
【００７４】
続いて、サーバ通信部１２は、バックアップ管理部１１の指示に基づき、削除されたフォルダに対応するプロパティファイルをバックアップサーバ５から削除する削除要求をスナップショット作成を促すタグを付けずにバックアップサーバ５へ送信する。削除要求に削除するプロパティファイルのパス名の情報を含める。
【００７５】
そして、クライアント通信部５１がプロパティファイルを削除する削除要求を受信し、ファイル管理部５２が、連続スナップショットファイルシステム５４から対応するプロパティファイルを削除する。このとき、ファイル管理部５２は、連続スナップショットファイルシステム５４上でプロパティファイルを格納しているフォルダが空になったことを検知し、フォルダも合わせて削除する。
【００７６】
なお、受信した削除要求にはスナップショット作成を促すタグが付けられていないので、ここではスナップショットの作成を行わない。
【００７７】
そして、バックアップ管理部１１は、バックアップサーバ５から取得したプロパティファイルから、削除されたファイルのメタデータを削除し、必要であれば変更になったフォルダのタイムスタンプの情報をプロパティファイルのフォルダのエントリに反映させる。
【００７８】
そして、図３のステップＳ１６〜Ｓ１８の処理と同様に、バックアップ管理部１１が更新されたプロパティファイルをスナップショット作成を促すタグを付けてバックアップサーバ５へ送信し、バックアップサーバ５は、受信したプロパティファイルをバックアップ記憶域５５にバックアップし、連続スナップショットファイルシステム５４がスナップショットを作成する。
【００７９】
なお、（３），（４）の処理で、連続スナップショットファイルシステム５４の最新状態から削除されたファイルやフォルダは、バックアップ記憶域５５から除去されるわけではない。連続スナップショットファイルシステム５４の履歴保存機能により、最新状態から削除されたファイルやフォルダもバックアップ記憶域５５中に残っている。削除されたファイルやフォルダの情報が、バックアップ記憶域５５から削除されるのは、連続スナップショットファイルシステム５４が保持している全てのスナップショットから参照されなくなった後である。
【００８０】
（５）メタデータのみの変更を反映する処理
続いて、メタデータのみが変更された場合の処理の流れについて説明する。
【００８１】
バックアップ対象データ記憶域２のファイルやフォルダの属性変更や所有者変更など、実体データが変更されずにメタデータだけが変更された場合は、バックアップ管理部１１が対応するプロパティファイルをバックアップサーバ５から取得し、取得したプロパティファイルを更新して現行化する。
【００８２】
そして、図３のステップＳ１６〜Ｓ１８の処理と同様に、バックアップ管理部１１は、更新されたプロパティファイルをスナップショット作成を促すタグを付けてバックアップサーバ５へ送信し、バックアップサーバ５は、受信したプロパティファイルをバックアップ記憶域５５にバックアップし、連続スナップショットファイルシステム５４がスナップショットを作成する。
【００８３】
なお、メタデータのみの変更によりプロパティファイルのみがバックアップサーバ５へ送信される場合は、実体データとメタデータとの整合性が壊れるタイミングが生じないので、スナップショット作成を促すタグを付与するか否かはバックアップクライアント１側で選択できる。
【００８４】
（６）複数のファイルの作成、変更、削除を同時に行う処理
続いて、複数のファイルの操作を同時に行った場合の処理の流れについて説明する。
【００８５】
複数のファイルを作成あるいは変更した場合は、スナップショット作成を促すタグを付けないでバックアップサーバ５へ送信してバックアップし、連続スナップショットファイルシステム５４に作成あるいは変更されたファイルを書き込む。また、複数のファイルを削除した場合は、削除されたファイルについて削除要求をバックアップサーバ５へ送信し、連続スナップショットファイルシステム５４から対応するファイルを削除する。
【００８６】
バックアップ管理部１１は、対応するプロパティファイルをバックアップサーバ５から取得し、取得したプロパティファイルを更新して現行化する。
【００８７】
そして、図３のステップＳ１６〜Ｓ１８の処理と同様に、バックアップ管理部１１は、更新されたプロパティファイルをスナップショット作成を促すタグを付けてバックアップサーバ５へ送信し、バックアップサーバ５は、受信したプロパティファイルをバックアップ記憶域５５にバックアップし、連続スナップショットファイルシステム５４がスナップショットを作成する。
【００８８】
以上の手順では、プロパティファイルを送信するときにスナップショット作成を促すタグを付けてバックアップサーバ５へ送信したが、更新したファイルを送信するときに、反対の意味のタグ、つまりスナップショット作成を抑制するタグを付けてもよい。具体的には、上記で説明した手順において、タグを付けていない場合に、スナップショット作成を抑制するタグを付け、タグを付けている場合、つまりプロパティファイルの送信時にはタグを付けないでプロパティファイルを送信する。
【００８９】
また、ここではバックアップの契機について言及していないが、スケジューラにより起動される定期バックアップ、ユーザの直接の指示による手動バックアップ、およびバックアップ対象データ記憶域２からの通知を受けて変更内容をバックアップサーバ５に反映させる、いわゆるリアルタイムバックアップのいずれの形態に対しても適用可能である。
【００９０】
また、説明の単純化のためバックアップ対象データ記憶域２のファイルシステムにおける代替データストリーム（アイコンの情報など）に関する処理の記載を省略しているが、代替データストリームに関しては、代替データストリームの存在をプロパティファイルにおいて管理し、代替データストリームの実体データは、一般ファイルの実体データと同様に扱う。例えば、元のファイル名の末尾にストリーム名を付与してファイル名のマッピングを行い、一般ファイルとして扱う。
【００９１】
また、バックアップ対象のファイルが巨大な場合に、複数のデータファイルに分割してバックアップサーバ５へ送信する場合についても、分割された全ファイルがバックアップサーバ５に格納されるまではスナップショットを作成しないように適用できる。
【００９２】
さらに、バックアップ対象が部分的に変更された場合に、ファイルの一部のみをバックアップサーバ５へ送信して通信データ量を抑止する差分バックアップにも適用できる。
【００９３】
次に、スナップショット作成を促すタグを付与するポリシーについて説明する。
【００９４】
図４，５は、スナップショット作成を促すタグを付与するタイミングを説明するための図である。それぞれの図中において、Ｆｊ（ｊ＝１，２，３，・・・）はバックアップされるファイルを示し、Ｐ｛Ｆｊ｝はファイルｊのメタデータを記載したプロパティファイルを示している。また、Ｐ｛Ｆｉ，Ｆｊ｝はファイルＦｉ，Ｆｊの両方のメタデータを記載したプロパティファイルを示している。図中のプロパティファイルに矢印ｔｎ（ｎ＝１，２，３，・・・）が指定されている場合は、そのプロパティファイルがバックアップサーバ５へ送信されるときに、スナップショット作成を促すタグが付与されていることを示している。
【００９５】
まず、図４を用いて、１個あるいは数個のファイルが時々更新され、その都度更新されたファイルをバックアップするときに、スナップショット作成を促すタグを付与するタイミングを説明する。
【００９６】
図４は、バックアップ対象データ記憶域２においてファイルが更新されることを検出する度に、更新されたファイルをバックアップサーバ５へ送信してバックアップし、連続スナップショットファイルシステム５４に、バックアップ対象データ記憶域２におけるファイルの更新と同程度の頻度でスナップショットを作成させる場合の、スナップショット作成を促すタグを付与するタイミングの例である。
【００９７】
図４に示す例では、バックアップ対象のファイルＦｊ（ｊ＝１，２，３，・・・）にはスナップショット作成を促すタグを付与せず、プロパティファイルＰ｛Ｆｊ，Ｆｋ，・・・｝のみにスナップショット作成を促すタグを付与している。これにより、 連続スナップショットファイルシステム５４にファイルとファイルのメタデータを記載したプロパティファイルが格納されて両者の整合性がとれている状態でスナップショットが作成される。
【００９８】
続いて、図５を用いて、複数のファイルをまとめてバックアップしたときに、スナップショット作成を促すタグを付与するタイミングを説明する。
【００９９】
図５は、バックアップ対象データ記憶域２の更新された複数のファイルをまとめてバックアップサーバ５へ送信してバックアップし、連続スナップショットファイルシステム５４に、全ての更新されたファイルとプロパティファイルが格納された時点でスナップショットを作成させる場合の、スナップショット作成を促すタグを付与するタイミングの例である。
【０１００】
図５に示す例では、バックアップ対象のファイルＦｊ（ｊ＝１，２，３，・・・）とそのプロパティファイルＰ｛Ｆｊ，Ｆｋ，・・・｝を連続的にバックアップサーバ５へ送信し、一連のバックアップが完了する際、つまりプロパティファイルＰ｛Ｆ９９，Ｆ１００｝をバックアップサーバ５ヘ送信する際に、スナップショット作成を促すタグを付与している。これにより、一連のバックアップが完了したタイミングでスナップショットが作成される。
【０１０１】
バックアップサーバ５は、受信するファイルの中身や種別（バックアップ対象の実体データやプロパティファイルの区別も含む）を意識することなく、タグの情報に基づいてスナップショット作成のタイミングを制御しているだけであるため、バックアップクライアント１のＯＳやバックアップ対象データ記憶域２のファイルシステムの種別に依存せず、また、他のポリシーによるスナップショット作成タイミングの制御の適用が将来的に可能になるという意味で、汎用性と拡張性を備えた方法となっている。
【０１０２】
本実施の形態では、バックアップ対象データ記憶域２を備えたクライアントコンピュータ３にバックアップクライアント１を備えたが、ＳＭＢ又はＣＩＦＳなどのファイル共有プロトコルを通じてバックアップ対象の取得および復元を行う、クライアントコンピュータ３とは別のエージェントレス型のバックアップ装置にバックアップクライアント１を組み込む構成とすることもできる。
【０１０３】
また、本実施の形態では、バックアップクライアント１から送信されたデータを、バックアップサーバ５において連続スナップショットファイルシステム５４で管理されたバックアップ記憶域５５に格納する構成をとっているが、連続スナップショットの作成および蓄積機能を持たない通常のファイルシステムで管理される一時記憶域を備え、スナップショット作成を促すタグが付与されないデータはその一時記憶域に格納しておき、スナップショット作成を促すタグが付与されたデータを受信したときに、一時記憶域に格納されたデータと合わせて連続スナップショットファイルシステム５４に格納し、スナップショットを作成する構成とすることもできる。
【０１０４】
以上説明したように、本実施の形態によれば、バックアップ対象の実体データとその実体データに付属するメタデータを記載したプロパティファイルのように整合性が必要なデータに関して、バックアップサーバ５の連続スナップショットファイルシステム５４において実体データと対応するプロパティファイルとの整合性がとれたときに、バックアップクライアント１がスナップショット作成の指示を出すことにより、連続スナップショットファイルシステムにおいて整合性が損なわれた状態でスナップショットが作成されることを防止できる。
【０１０５】
また、本実施の形態では、バックアップされるファイル間の構成に特定の前提を置くことによらないため、例えば、ファイルに付随するプロパティファイルを、拡張子を変えた同名のファイルに保存し、バックアップサーバ５で一体のものとして扱うことによらないため、複数の実体データのメタデータをまとめて一つのプロパティファイルで管理する場合のように、整合性を保つべきデータ間にｎ対１の関係がある場合も、バックアップクライアント１がスナップショット作成の指示を出すことでデータ間の整合性が保たれたスナップショットが作成される。バックアップサーバ５は、バックアップクライアント１からの指示に基づいてスナップショット作成を判断すればよいので、バックアップされるデータ間の構成に特定の前提を置いたり、データの内容を知る必要はない。
【０１０６】
また、本実施の形態によれば、バックアップサーバ５に送信するバックアップ対象のデータや削除要求に、スナップショット作成を促すタグを付与してスナップショット作成のタイミングを制御することにより、例えば、クライアントコンピュータ３上で変更されたファイルを随時バックアップし、その都度スナップショットを作成する場合に、スナップショット作成の要求を独立して送信する方法と比べて通信回数が削減でき、通信遅延の大きなＷＡＮ環境において、スナップショット作成要求の通信に起因する性能の低下を避けることができる。
【符号の説明】
【０１０７】
１…バックアップクライアント
１１…バックアップ管理部
１１１…プロパティファイル生成部
１１２…バックアップタイミング管理部
１２…サーバ通信部
１２１…タイミングタグ付与部
２…バックアップ対象データ記憶域
３…クライアントコンピュータ
５…バックアップサーバ
５１…クライアント通信部
５１１…タイミングタグ判別部
５２…ファイル管理部
５３…スナップショット管理部
５４…連続スナップショットファイルシステム
５５…バックアップ記憶域
１００…ネットワーク
【要約】
【課題】連続スナップショットファイルシステムにデータをバックアップする際に、バックアップされたデータ間で整合性が保たれたときのみにスナップショットを作成する。
【解決手段】バックアップ対象の実体データとその実体データに付属するメタデータを記載したプロパティファイルのように整合性が必要なデータに関して、バックアップサーバ５の連続スナップショットファイルシステム５４において実体データと対応するプロパティファイルとの整合性がとれたときに、バックアップクライアント１がスナップショット作成の指示を出すことにより、連続スナップショットファイルシステムにおいて整合性が損なわれた状態でスナップショットが作成されることを防止できる。
【選択図】図１【図１】
0005433069.tif 000002
【図２】
0005433069.tif 000003
【図３】
0005433069.tif 000004
【図４】
0005433069.tif 000005
【図５】
0005433069.tif 000006