(57)【要約】  第１のクライアント上に配置された第１のデータベース及び第２のクライアント上に配置された第２のデータベースを含むネットワークにおいて、ユーザ又は管理者は復元操作を開始する。第１、第２のクライアント間に存在する動的ミラーリング関係は終了され、ユーザ又は管理者が再作成することを所望するデータベースのバックアップバージョンが識別される。第１、第２のクライアントのうちの一方は、バックアップ操作が実行された時刻におけるデータベースのバックアップバージョンのロケーションや、データベースの役割指定に関する情報を、復元サーバから受信する。記憶ロケーションからデータベースのバックアップバージョンが読み出され、第１、第２のクライアントの各々の上に再作成されて、第１、第２のクライアント間に動的ミラーリング関係が再確立される。
2008525918.tif 000002
【特許請求の範囲】
【請求項１】
第１のクライアント上に存在する第１のデータベース及び第２のクライアント上に存在する第２のデータベースを含むネットワークにおいて、バックアップされたデータを復元するための方法であって、
復元操作のリクエストを開始する工程と、
第１のデータベースと第２のデータベースとの間の動的ミラーリング関係を終了させる工程と、
復元される対象データを識別する工程と、
対象データのロケーション情報のリクエストを生成する工程と、
対象データのロケーションに関するロケーション情報を受信する工程と、
対象データのリクエストを送信する工程と、
対象データを受信する工程と、
第１のクライアント及び第２のクライアント上に配置された第１のデータベース及び第２のデータベースにおいて対象データを再作成する工程と、
第１のデータベースと第２のデータベースとの間の動的ミラーリング関係を再確立させる工程と、からなる方法。
【請求項２】
対象データは復元サーバ上に配置されたファイルインデックス及びメディアデータベースに格納されている情報を特定することによって識別される請求項１に記載の方法。
【請求項３】
動的ミラーリング関係は第１のクライアント及び第２のクライアント上にそれぞれ配置されたシステムデータベースに役割指定情報を書き込むことによって再確立される請求項１に記載の方法。
【請求項４】
ファイルインデックスから役割指定情報を読み出す工程と、
第１のクライアント及び第２のクライアント上に配置されたシステムデータベースに役割指定情報を書き込む工程と、を含む請求項１に記載の方法。
【請求項５】
役割指定情報は対象データのバックアップの時に第１のデータベース及び第２のデータベースの役割指定を参照する請求項４に記載の方法。
【請求項６】
ファイルインデックスにおけるライブエントリは、対象データのバックアップが実行された時刻にライブエントリに挙げられている第１のデータベース又は第２のデータベースがライブデータベースとして指定されていたことを示す請求項４に記載の方法。
【請求項７】
ファイルインデックスにおけるエイリアスエントリは、対象データのバックアップが実行された時刻にエイリアスエントリに挙げられている第１のデータベース又は第２のデータベースがミラーデータベースとして指定されていたことを示す請求項４に記載の方法。
【請求項８】
ウィットネスクライアントは動的ミラーリング関係を調停する請求項１に記載の方法。
【請求項９】
ミラーリング関係は第１のクライアント、第２のクライアント、及びウィットネスクライアント上に配置されたシステムデータベースに役割指定情報を書き込むことによって再確立される請求項１に記載の方法。
【請求項１０】
２つ以上のクライアントを含むネットワークにおいてバックアップされたデータベースの復元を行うための方法であって、
バックアップされたデータベースのリクエストを受信する工程と、
動的ミラーリング関係に関する情報を格納しているファイルインデックスにおけるエン
トリへの２つ以上のクライアントのうちの１つのアクセスを可能とする工程と、
バックアップされたデータベースのロケーションを識別する工程と、
バックアップされたデータベースを読み出す工程と、
バックアップされたデータベースを２つ以上のクライアントのうちの１つに送信する工程と、からなる方法。
【請求項１１】
ファイルインデックスにおけるエントリはデータベースのバックアップが実行される時にデータベースの役割指定を記録する請求項１０に記載の方法。
【請求項１２】
ファイルインデックスにおけるライブエントリは、データベースのバックアップが実行された時刻にエントリに参照されているデータベースがライブデータベースとして指定されていたことを示す請求項１０に記載の方法。
【請求項１３】
ファイルインデックスにおけるエイリアスエントリは、データベースのバックアップが実行された時刻にエントリに参照されているデータベースがミラーデータベースとして指定されていたことを示す請求項１０に記載の方法。
【請求項１４】
バックアップされたデータベースのロケーションはリモート記憶ロケーションである請求項１０に記載の方法。
【請求項１５】
バックアップされたデータベースを読み出す工程は、
記憶ロケーションへアクセスする工程と、
バックアップされたデータベースのコピーを記憶ロケーションから取得する工程と、を含む請求項１０に記載の方法。
【請求項１６】
第１のクライアント上に配置された第１のデータベース及び第２のクライアント上に配置された第２のデータベースを含むネットワークにおいてデータを復元するための方法を実行するためのコンピュータプログラム製品であって、
復元操作のリクエストを開始する工程と、
第１のデータベースと第２のデータベースとの間の動的ミラーリング関係を終了させる工程と、
復元される対象データを識別する工程と、
対象データのロケーション情報のリクエストを生成する工程と、
対象データのロケーションに関するロケーション情報を受信する工程と、
対象データのリクエストを送信する工程と、
第１のクライアント及び第２のクライアント上に配置された第１のデータベース及び第２のデータベースにおいて対象データを再作成する工程と、
第１のデータベースと第２のデータベースとの間の動的ミラーリング関係を再確立させる工程と、を含む方法を実行するための実行可能命令を有するコンピュータ可読媒体を含むコンピュータプログラム製品。
【請求項１７】
対象データは復元サーバ上に配置されたファイルインデックス及びメディアデータベースに格納されている情報を特定することによって識別される請求項１６に記載のコンピュータプログラム製品。
【請求項１８】
動的ミラーリング関係は第１のクライアント及び第２のクライアント上にそれぞれ配置されたシステムデータベースに役割指定情報を書き込むことによって再確立される請求項１６に記載のコンピュータプログラム製品。
【請求項１９】
ファイルインデックスから役割指定情報を読み出す工程と、
第１のクライアント及び第２のクライアント上に配置されたシステムデータベースに役割指定情報を書き込む工程と、を含む請求項１６に記載のコンピュータプログラム製品。
【請求項２０】
役割指定情報は対象データのバックアップの時に第１のデータベース及び第２のデータベースの役割指定を参照する請求項１９に記載のコンピュータプログラム製品。
【請求項２１】
ファイルインデックスにおけるライブエントリは、対象データのバックアップが実行された時刻にライブエントリに挙げられている第１のデータベース又は第２のデータベースがライブデータベースとして指定されていたことを示す請求項１９に記載のコンピュータプログラム製品。
【請求項２２】
ファイルインデックスにおけるエイリアスエントリは、対象データのバックアップが実行された時刻にエイリアスエントリに挙げられている第１のデータベース又は第２のデータベースがミラーデータベースとして指定されていたことを示す請求項１９に記載のコンピュータプログラム製品。
【請求項２３】
ウィットネスクライアントは動的ミラーリング関係を調停する請求項１６に記載のコンピュータプログラム製品。
【請求項２４】
ミラーリング関係は第１のクライアント、第２のクライアント、及びウィットネスクライアント上に配置されたシステムデータベースに役割指定情報を書き込むことによって再確立される請求項１６に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は失われたデータを復元するためのシステム及び方法に関する。より詳細には、本発明の実施形態は、データベースミラーリング環境においてデータを復元するためのシステム及び方法に関する。
【背景技術】
【０００２】
コンピュータネットワークは居住環境及び商用環境の両方において遍在的（ユビキタス；ｕｂｉｑｕｉｔｏｕｓ）である。広範なインターネットの使用に加えて、ローカルエリアネットワーク（ＬＡＮ）によってユーザがコンピュータサービスを共有することが可能である。多くの企業体はその組織内でＬＡＮを用いるとともに、消費者にはインターネットを通じてデータへのアクセスを提供している。
【０００３】
コンピュータ及びコンピュータネットワークに対する依存によって、データの可用性及び信頼性の改良の必要が生じている。多くの営利団体はコンピュータネットワーク上にほとんど全ての業務データを記憶しており、ネットワークユーザはいかなる時にもデータへのアクセスが中断されないことを期待している。データへのアクセスが中断されないというこの要求を支持するには、性能の強化されたソフトウェア及びハードウェアが必要である。ネットワーク上に記憶されたデータの量や、ネットワーク上のデータへのアクセス性の要求が増大するにつれ、システム障害、ファイル破損、及びウィルスなど、予見されないイベントからデータを保護することは次第に困難となっている。
【０００４】
潜在的な壊滅的イベントからのデータの保護は、典型的には、データをバックアップするためのソフトウェアと、バックアップされたデータを記憶するためのセキュアなハードウェアとの組み合わせによって行われる。保存されるデータの量が増大するにつれ、データをバックアップする処理はより複雑になる。例えば、数ギガバイトのデータを迅速にプライマリロケーションからバックアップロケーションに移動させることは不可能である。加えて、バックアップの実行中にデータを利用不能とすることは、データへの連続的なアクセスが必須である環境においては実行可能な選択肢ではない。
【０００５】
大量のデータをバックアップすることは問題であるが、典型的なデータバックアップシステムに関連する問題はそれだけではない。ネットワークユーザ及び管理者が様々なタイプのデータをバックアップすることを所望する場合がある。ファイルをバックアップすることに加えて、ネットワークユーザがアプリケーション及びサービスをバックアップすることを所望する場合がある。アプリケーション及びサービスをバックアップすることは難題である。例えば、バックアップが開始されるとき、アプリケーション及びサービスがファイルを開いていることがしばしばあるが、開かれているファイルを有効に又は信頼性にバックアップすることは一般に不可能であるため、バックアップ操作中、そうしたファイルはスキップされることが多い。結果として、最初のファイルシステムバックアップ中にファイルがスキップされたアプリケーション及びサービスの管理バックアップ操作を支援するために、追加のバックアップアプリケーションが必要となることがしばしばある。
【０００６】
データのバックアップに関連する別の問題は、バックアップされたデータを、そのデータがバックアップロケーションに移動されるときにトラッキングする手法に関する。詳細には、データがバックアップされるとき、バックアップコピーは新たなロケーションに移動されるため、記憶されたデータへのアクセスを実行するには、データがどのように記憶されているかに関する記録を有する必要がある。典型的には、バックアップシステムは、バックアップされる各々のファイル又はアプリケーションの正確なロケーションを記録す
るデータベースを備える。ユーザがバックアップシステムからファイルを特定すること又は読み出すことを所望するとき、データベースはバックアップメディアにおけるそのファイルの記憶されたロケーションにてファイルを特定する。
【０００７】
バックアップされたデータのロケーションのトラッキング中、典型的なバックアップソフトウェアシステムは、単にバックアップロケーションにデータを配置し、インデックスによってロケーションをトラッキングする。より知的なデータベースソフトウェアシステムは、データが知的に記憶されるように、データがバックアップされるときにデータをソートする性能を備える。例えば、より高度なデータベースソフトウェアシステムは、類似のファイルのバックアップを同じメディア上に記憶することが可能である。データをこのようにソートし記憶することによって、より有効なデータ記憶及び読出が可能となる。
【０００８】
典型的なバックアップソフトウェアシステムの別の欠点は、ネットワーク内のデータの再ロケーションが不可能であること、即ち、ネットワーク内で利用可能なデータについて１より多くのコピーを有することが不可能なことである。バックアップソフトウェアシステムはネットワーク上の全てのユーザからデータを収集するが、データそれ自体はネットワーク上のある１つのロケーションに存在するものとして見られ、他のロケーションに対して相互参照されない。ネットワーク上のデータはバックアップされるが、この冗長性及び相互参照は取り扱われない。
【０００９】
データベースバックアップシステムの構成において、バックアップされたデータへのアクセスは重要事項である。データをバックアップすることの目的は、ファイルが損傷したり失われたりする場合にバックアップコピーを読み出してファイルを復元することが可能であるように、データを保存することである。ファイルが破損したり失われたりするとき、ユーザはそのファイルのバックアップコピーをバックアップサーバにリクエストする。次いで、バックアップサーバは、ファイルインデックス及びメディアデータベースに記憶されているロケーションを用いてファイルを特定し、ファイルを読み出し、ファイルをユーザに利用可能とする。
【発明を実施するための最良の形態】
【００１０】
Ｉ．代表的なデータベース操作システム
本発明の実施形態に適切な１つの操作環境を、図１に示す。図１には、代表的なファイルシステムデータバックアップ及び回復システム（ＤＢＲＳ）１００を示す。このシステムは、一般に記憶ロケーションのオンラインファイルシステムデータを複製するように機能し、データについてのロケーション及び旧トラッキング情報を維持する。オンラインバージョンのデータが失われたり破損したりする場合、ＤＢＲＳ  １００はデータを再作成することが可能である。ＤＢＲＳ  １００が動作するネットワークが災害を経験する場合、ＤＢＲＳ  １００は、記憶装置へ書き込まれたときにファイルシステムが存在していた通りに、元のそれぞれの構造へＤＢＲＳ  １００のファイルシステム全てを再作成することが可能である。
【００１１】
ＤＢＲＳ  １００の代表的な実施形態は、３つの基本コンポーネント、即ち、バックアップサーバ１０２と、１つ以上のクライアント１０４，１０５，１０６，１０７，１０８と、データのバックアップボリューム１１０とを備える。バックアップサーバ１０２及びクライアント１０４，１０５，１０６，１０７，１０８は、ＤＢＲＳ  １００の操作を動作させるのに必要なソフトウェアを有するエンティティである。バックアップサーバ１０２は、ＤＢＲＳ  １００の機能を組織化・管理するプログラム及びサービスを備える。クライアント１０４，１０５，１０６，１０７，１０８は、ＤＢＲＳ  １００の機能を実行するプログラム及びサービスを備える。
【００１２】
バックアップサーバ１０２は、例えば、クライアント１０４，１０５，１０６，１０７，１０８など、そのクライアントのセットのデータを管理する。クライアント１０４，１０５，１０６，１０７，１０８は、バックアップされるファイルを配信するネットワーク上の機器を表す。バックアップサーバ１０２は、クライアント／データを組織化するために、それぞれのバックアップグループ１１２，１１４，１１６の使用を組み込むこともできる。バックアップグループとは、グループとして共にバックアップされるクライアント、データ、又はその両方のセットである。バックアップグループ１１２及びバックアップグループ１１４によって示すように、１つのクライアントが複数のバックアップグループに含まれることが可能である。
【００１３】
クライアント１０４，１０５，１０６，１０７，１０８からバックアップされるデータを管理するために、ＤＢＲＳ  １００はデータトラッキング情報を用いる。データトラッキング情報は、バックアップサーバ１０２のファイルインデックス１１８及びメディアデータベース１２０によって図１に示される。ファイルインデックス１１８及びメディアデータベース１２０におけるエントリは、ＤＢＲＳ  １００の環境においてバックアップされている、全てのデータ、クライアントマシン及びファイルの両方を記述するコンテンツ及びロケーション情報を維持する。
【００１４】
バックアップサーバ１０２のファイルインデックス１１８では、各クライアントによって組織化された、バックアップされたファイルの一覧が閲覧され得る。バックアップされるネットワークにおける各クライアント上の各々のファイルは、ファイルインデックスに挙げられる。ファイルインデックス１１８におけるエントリは、ファイルタイプ、ファイルがバックアップされた時刻や、元のファイルをホストするクライアントマシンなどファイルに関する他の情報など、ファイルについての情報を含む。１つのファイルが複数回バックアップされて、バックアップコピーが複数のロケーションに記憶されてもよいので、ファイルインデックス１１８及びメディアデータベース１２０におけるクライアントファイルへのエントリは、ファイルの各バックアップについて、バックアップロケーション及びバックアップ時刻に関する情報を格納する場合がある。特定のファイルについての複数のバックアップロケーション及びバックアップ時刻に関するファイルインデックス１１８及びメディアデータベース１２０における情報によって、読出用のファイルの特定のバージョンをユーザが識別することが可能である。ファイルの複数のバックアップに関するエントリ情報を、管理者によって決定される任意の時間に渡ってファイルインデックス１１８に残すことが可能である。
【００１５】
ファイルインデックス１１８は個々のファイルをトラッキングし、メディアデータベース１２０はファイルが記憶されるロケーションをトラッキングする。換言すると、メディアデータベース１２０は、メディア記憶ロケーションへの参照を格納している。操作時には、バックアップグループ１１２，１１４又は１１６がＤＢＲＳ  １００の上の記憶ボリュームにバックアップされる毎に、メディアデータベース１２０がエントリを受信する。ファイルインデックス１１８におけるエントリと同じように、管理者がエントリを削除するまで、エントリはメディアデータベース１２０に残る。該当データが上書きされる場合、メディアデータベース１２０におけるエントリも削除され得る。
【００１６】
データに関するロケーション情報が知られると、異なった手法によりデータを記憶することが可能である。例えば、図１に示すようにバックアップサーバ１０２からアクセス可能な、或いはリモートサーバ経由でアクセス可能なテープドライブ、ハードディスク、又はリムーバブルディスクなどのデバイス上のメディアボリュームに、データを記憶することが可能である。データをバックアップするための代表的なシステムでは、バックアップボリューム１１０及びバックアップデバイス１２６，１２８，１３０，１３２によって示されるように、データはデバイス上のボリュームに記憶される。デバイス及びボリューム
によるデータの記憶の一例は、ディスクアレイ上にデータを記憶することであり、この場合、データ記憶装置はディスクへとサブグループ化される。デバイス及びボリュームによるデータの記憶の別の例は、テープドライブ上にデータを記憶することであり、この場合、データ記憶装置は特定のテープボリュームへとサブグループ化される。デバイス及びボリュームによるデータの記憶の最後の例は、リモートサーバ上にデータを記憶することであり、この場合、データ記憶装置はサーバ上のハードディスクへとサブグループ化される。これらの例はデバイス及びボリュームの可能な構成を理解する際に有用であるが、ＤＢＲＳ  １００がデバイス及びボリュームによりデータを記憶する性能は、与えた例に限定されない。最も一般的な意味では、バックアップデバイス１２６，１２８，１３０，１３２は、特定のシステム又はデバイスに限定されない、データを記憶するための手法の概念的なモデルを表す。
【００１７】
ＤＢＲＳ  １００内のバックアップデバイス１２６，１２８，１３０，１３２の有用性は、バックアップデバイス１２６，１２８，１３０，１３２が様々なタイプのデータを記憶する性能によってさらに強化される。詳細には、バックアップデバイス１２６，１２８，１３０，１３２は、あらゆるファイルタイプのデータを格納することが可能である。例えば、バックアップデバイス１２６，１２８，１３０，１３２に、画像ファイル、プログラム実行ファイル、及び文書ファイルのバックアップコピーを一緒に記憶することが可能である。
【００１８】
バックアップデバイス１２６，１２８，１３０，１３２の基礎をなす一態様は、バックアップデバイス１２６，１２８，１３０，１３２がＤＢＲＳ  １００においてバックアップされたファイルを高速読出する性能である。例えば、ユーザがバックアップされたファイルの復元をリクエストするとき、そのファイルのファイルインデックス及びメディアデータベースのエントリが、例えばテープ、ＣＤ、ＤＶＤ、又はファイルを記憶するために用いられた他のメディアなど、バックアップデバイス１２６，１２８，１３０，１３２、及び用いられた特定のメディアへの参照を含む非常に特定的なロケーション情報を格納している場合、ＤＢＲＳ  １００は迅速にファイルを読み出すことが可能である。
【００１９】
バックアップデバイス１２６，１２８，１３０，１３２にバックアップすることを含む多くの機能に関して、初期的には、ＤＢＲＳ  １００は機能を独立して実行するように構成される。しかしながら、管理者はＤＢＲＳ  １００の機能を制御するための多くの権限を有する。したがって、管理者は異なるクライアント特性、ファイル特性、又はその両方によって記憶用のファイルを分離することが可能であり、またバックアップボリュームが旧くなり、削除されるべき時を定義することが可能である。例えば、管理者は、バックアップが作成されてから所定時間の経過した後に、メディアデータベース１２０からバックアップボリュームを削除するようにＤＢＲＳ  １００を構成することが可能である。また、管理者は、１つ以上のクライアント及びそのファイル、ディレクトリ、若しくはファイルシステム、又はクライアントマシン上の全てのファイルを含むことの可能な、バックアップグループ１１２，１１４，１１６を定義することが可能である。
【００２０】
クライアント１０４，１０５，１０６，１０７，１０８にアクセスするとき、管理者は管理者ＧＵＩ（図示せず）内で作業することが可能である。管理者ＧＵＩは任意のＤＢＲＳ  １００の機器上に表示されて、クライアントプラットフォームにかかわらず、管理者が任意のクライアント１０４，１０５，１０６，１０７，又は１０８とインタフェースし、それらのクライアントのためのサービスを調停することを可能とする。管理者の権限の別の重要な態様には、アプリケーション環境を指定する能力が含まれる。例えば、管理者は、ＤＢＲＳ  １００が用いるバックアップデバイス及び定義されるクライアントの数などの命令を指定する記録を作成することが可能である。また、管理者は、バックアップの予定及びリサイクルされるまでにデータが保護される期間を含め、バックアップ・回復環
境においてアプリケーションが実施する規則を指定することが可能である。
【００２１】
管理者権限に加えて、ＤＢＲＳ  １００は失われたデータの回復用のシステムも組み込んでいる。クライアントデータが失われたとき又は破損したとき、ユーザ又は管理者はファイルインデックス１１８により回復可能なファイルを閲覧し、次いで、失われたデータの状態、又はメディアデータベース１２０によってトラッキングされた、バックアップデバイス１２６，１２８，１３０，１３２上のボリュームにおけるコンテンツのロケーションを記述するために、レポートを作成することが可能である。次いで、ユーザはユーザの指定時点に対し、失われたデータを回復させることが可能である。失われたデータを回復させるためにリクエストが行われるとき、ＤＢＲＳ  １００は要求されたデータを特定し、１つ又は複数のファイルの回復を指示する。データは、データの出所であるクライアント１０４，１０５，１０６，１０７，若しくは１０８に対し、又は別の指定のクライアントに対し回復させることが可能である。
【００２２】
さらに、ＤＢＲＳ  １００は異種環境において実行する性能を有し、様々な異なるプラットフォーム上で動作することが可能である。例えば、ＵＮＩＸ（登録商標）サーバ上のバックアップソフトウェアはＷｉｎｄｏｗｓ（登録商標）クライアントをサポートすることが可能であり、或いは反対に、Ｗｉｎｄｏｗｓサーバ上のバックアップソフトウェアはＵＮＩＸクライアントをサポートすることが可能である。サーバプラットフォームにかかわらず、クライアントに関連する任意のデバイス又はボリュームのバックアップデータを読み取ることが可能であり、任意のＤＢＲＳ  １００サーバによって、ユーザ指定の時点に対しデバイス又はボリュームのデータを再作成することが可能である。クライアント１０４，１０５，１０６，１０７，又は１０８のプラットフォームにかかわらず、任意のシステムクライアント１０４，１０５，１０６，１０７，又は１０８からのバックアップデータが１つのバックアップデバイスに又は１つのメディアセット上に共存することが可能である。
【００２３】
ＩＩ．動的バックアップのためのシステム及び方法
Ａ．代表的なミラーリングシステムのコンポーネント
上述の代表的なＤＢＲＳ  １００は、ネットワーク上に知的にファイルを記憶し、読み出す。代表的なシステムは、上述の代表的なシステムの性能に加え、様々な追加のアプリケーション及び機能をサポートすることが可能である。そうした１つのアプリケーションは、データベースミラーリングを担うデータベースバックアップ機能を組み込んでいる。
【００２４】
代表的なデータベースミラーリングシステム２００を、図２に示す。データベースミラーリングシステム２００は、データベースサーバ２０２及びデータベースサーバ２０４を備える。データベースサーバ２０２及びデータベースサーバ２０４のうちの一方はプライマリサーバとして指定されており、他方はセカンダリサーバとして指定されている。データベースサーバ２０２がプライマリサーバとして指定されるとき、サーバ２０２上に配置されたユーザデータベース２０６がライブデータベースである。同様に、セカンダリサーバとしてデータベースサーバ２０４を指定すると、ユーザデータベース２０８がミラーデータベースである。
【００２５】
ユーザデータベース２０６，２０８に加えて、データベースサーバ２０２及びデータベースサーバ２０４は、それぞれ、システムデータベース２１０，２１２を備える。システムデータベース２１０，２１２は、ユーザデータベース２０６，２０８の役割を「ライブ」又は「ミラー」のいずれかとして確定するために用いられる情報を格納している。ユーザデータベース２０６，２０８がデータベースミラーリングに参加するように構成されるとき、サーバアプリケーション２１４，２１６は、ユーザデータベース２０６，２０８の状態に関する情報を「ライブ」又は「ミラー」のいずれかとして格納するために、それぞ
れ、データベースサーバ２０２及びデータベースサーバ２０４にインストールされたシステムデータベース２１０，２１２を更新する。この初期の設定に続いて、ユーザデータベース２０６，２０８の状態に関して「ライブ」又は「ミラー」のいずれかとしてシステムデータベース２１０，２１２上に格納されている全ての情報は、サーバアプリケーション２１４，２１６によって維持される。サーバアプリケーション２１４，２１６の各々は、ユーザデータベース２０６やユーザデータベース２０８の状態を監視し、サーバアプリケーションに関連したシステムデータベースにおいて、ユーザデータベース２０６及びユーザデータベース２０８の各々の状態を記録する。例えば、ユーザデータベース２０６の状態が「ライブ」から「ミラー」へ変化するとき、ユーザデータベース２０６の状態の変化はサーバアプリケーション２１４によって監視され、システムデータベース２１０において記録される。また、同時の「ミラー」から「ライブ」へのユーザデータベース２０８の状態の変化も、サーバアプリケーション２１４によって監視され、システムデータベース２１０において記録される。同様に、ユーザデータベース２０８の状態が「ミラー」から「ライブ」へ変化するとき、ユーザデータベース２０８の状態の変化はサーバアプリケーション２１６によって監視され、システムデータベース２１２において記録される。同時の「ライブ」から「ミラー」へのユーザデータベース２０６の状態の変化は、サーバアプリケーション２１６によって監視され、システムデータベース２１２において記録される。
【００２６】
サーバアプリケーション２１４，２１６がユーザデータベース２０６，２０８の状態変化を監視している間、サーバアプリケーションモジュール２１８，２２０はデータベースミラーリングシステム２００内のユーザデータベース２０６，２０８の状態情報を管理する。サーバアプリケーションモジュール２１８，２２０などのモジュールは、ユーザデータベースのバックアップ、復元、又はその両方などの機能を実行することの可能な１つのコードである。例えば、モジュールによって実行される機能は、Ｍｉｃｒｏｓｏｆｔ（登録商標）ＳＱＬ  Ｓｅｒｖｅｒデータベースのバックアップ、復元、又はその両方であり、この場合、ユーザデータベース２０６，２０８は、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒデータベースであり、サーバアプリケーション２１４，２１６は、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒアプリケーションである。本発明は、Ｍｉｃｒｏｓｏｆｔ
ＳＱＬ  Ｓｅｒｖｅｒと共に用いられてもよいが、本発明の範囲は、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒと共に使用することに限定されず、本明細書に開示のシステム、デバイス、及び処理との互換性を有する他のサーバに及ぶ。
【００２７】
各々のサーバアプリケーション２１４，２１６は、特定のサーバアプリケーションモジュールに関連する。さらに、サーバアプリケーションモジュール２１８はサーバアプリケーション２１４に関連し、サーバアプリケーションモジュール２２０はサーバアプリケーション２１６に関連する。データベースサーバ２０２上では、ユーザデータベース２０６がライブユーザデータベースであるか或いはミラーユーザデータベースであるかを見出すために、サーバアプリケーションモジュール２１８がシステムデータベース２１０に状態情報を問い合わせる。同様に、データベースサーバ２０４上では、ユーザデータベース２０８がライブユーザデータベースであるか或いはミラーユーザデータベースであるかを見出すために、サーバアプリケーションモジュール２２０がシステムデータベース２１２に状態情報を問い合わせる。データベースミラーリングシステム２００におけるライブユーザデータベースのバックアップに先立って、サーバアプリケーションモジュール２１８，２２０のうちの一方は現行のライブユーザデータベースを識別する。
【００２８】
サーバアプリケーションモジュール２１８，２２０はバックアップ操作中にライブユーザデータベースを識別するのみならず、バックアップ及び復元操作中にミラー関係を調整及び管理するために、サーバアプリケーションモジュール２１８，２２０は互いに通信も行う。サーバアプリケーションモジュール２１８，２２０がバックアップサーバ２２１（
図１に示すバックアップサーバ１０２に相当する）によって呼び出されるとき、サーバアプリケーションモジュール２１８，２２０はユーザデータベース２０６，２０８の指定における変化を検出することが可能である。さらに、サーバアプリケーションモジュール２１８，２２０は、ユーザデータベース２０６，２０８の指定における変化に関し、互いに通信を行う。サーバアプリケーションモジュール２１８，２２０が互いに通信を行った後、サーバアプリケーションモジュール２１８はバックアップサーバ２２１にユーザデータベース２０６，２０８の指定における変化を伝達する。次いで、バックアップサーバ２２１は、バックアップされるデータベースサーバに関するセーブセットにおいてユーザデータベース２０６，２０８の指定に関する情報を更新するとともに、バックアップ操作を完了するためにライブデータベースに相当するサーバアプリケーションモジュール２１８又は２２０を呼び出すことが可能である。
【００２９】
バックアップ及び復元操作を完了するためにサーバアプリケーションモジュール２１８，２２０が互いと、また続いてバックアップサーバ２２１とどのように通信を行うかに関する一例として、フェイルオーバが発生し、ユーザデータベース２０６の状態を「ライブ」から「ミラー」へ変化させると仮定する。フェイルオーバの発生後、サーバアプリケーションモジュール２１８が呼び出されるとき、サーバアプリケーションモジュール２１８はユーザデータベース２０６の状態に関し、サーバアプリケーションモジュール２２０と通信を行う。サーバアプリケーションモジュール２１８はサーバアプリケーションモジュール２２０から、ユーザデータベース２０８が現在はライブデータベースであることを学習する。また、サーバアプリケーションモジュール２１８はサーバアプリケーションモジュール２２０に、ユーザデータベース２０６が現在はミラーデータベースであることを通知する。サーバアプリケーションモジュール２２０との通信後、サーバアプリケーションモジュール２１８はバックアップサーバ２２１と通信を行い、バックアップサーバ２２１にユーザデータベース２０６及びユーザデータベース２０８の状態の変化を通知する。次いで、バックアップサーバ２２１は、データベースミラーリングシステム２００においてバックアップされるデータベースサーバのセーブセット情報に、変更された状態情報を記録する。この処理はプロービングと呼ばれ、ライブデータベースを特定するために用いられる。
【００３０】
データベースミラーリングシステム２００内でバックアップ操作が実行可能となる前に、最初にライブデータベースのロケーションが確認される必要がある。バックアップ操作が開始されるとき、データベースサーバ２０２上に配置されたサーバアプリケーション２１４及びデータベースサーバ２０４上に配置されたサーバアプリケーション２１６のうちのいずれかは、ライブユーザデータベースを特定するために連絡され得る。バックアップ操作は、ユーザによって又はバックアップサーバ２２１によって開始され得る。バックアップサーバ２２１がユーザデータベース２０６，２０８の状態を決定するためにサーバアプリケーションモジュール２１８又は２２０に連絡すると、次いで、サーバアプリケーションモジュール２１８又は２２０はサーバアプリケーション２１４又は２１６に連絡し得る。ライブユーザデータベース２０６又は２０８に相当するサーバアプリケーションモジュール２１８又は２２０は、バックアップ操作を実行する。ユーザデータベース２０６，２０８の状態は、システムデータベース２１０，２１２から情報を読み取ることによって決定される。例えば、バックアップサーバ２２１がサーバアプリケーションモジュール２１８と連絡する場合、サーバアプリケーションモジュール２１８は、サーバアプリケーション２１４と連絡することによってシステムデータベース２１０におけるテーブルエントリを読み取る機能を実行する。同様に、バックアップサーバ２２１がサーバアプリケーションモジュール２２０と連絡する場合、サーバアプリケーションモジュール２２０は、サーバアプリケーション２１６と連絡することによってシステムデータベース２１２におけるテーブルエントリを読み取る機能を実行する。システムデータベース２１０，２１２に格納されたテーブルエントリは、ユーザデータベース２０６，２０８の状態に関する情報
を格納している。各システムデータベース２１０，２１２は、データベースミラーリングシステム２００における各ユーザデータベース２０６，２０８の状態に関する情報を格納している。例えば、システムデータベース２１０は、ユーザデータベース２０６の状態についての情報を「ライブ」として格納しており、またユーザデータベース２０８の状態についての情報を「ミラー」として格納している。各ユーザデータベース２０６，２０８に関しシステムデータベース２１０，２１２に格納されている情報により、バックアップサーバがデータベースサーバ２０２，２０４に配置されたサーバアプリケーションモジュール２１８，２２０のうちの一方のみと連絡することによって、ライブデータベースのロケーションに関する情報を取得することが可能となる。
【００３１】
バックアップ操作中にデータベースミラーリングシステム２００において実行される機能の一例として、ユーザデータベース２０６が現在はライブユーザデータベースであり、ユーザデータベース２０８が現在はミラーデータベースであると仮定する。バックアップが開始されるとき、バックアップサーバ２２１は、データベースサーバ２０４上に配置されたサーバアプリケーションモジュール２２０に連絡する。次いで、サーバアプリケーションモジュール２２０は、サーバアプリケーション２１６と連絡することによってシステムデータベース２１２に格納されているテーブルエントリを読み取る機能を実行する。システムデータベース２１２におけるテーブルエントリは、ユーザデータベース２０８がミラーデータベースであることと、ユーザデータベース２０６がライブデータベースであることとを示す。サーバアプリケーションモジュール２２０は、この情報をバックアップサーバ１０２に返す。次いで、ユーザデータベース２０６が現在はライブデータベースであるので、バックアップサーバ１０２はユーザデータベース２０６をバックアップする。
【００３２】
ここで図１を参照すると、ライブユーザデータベースがバックアップされるとき、ライブユーザデータベースの存在するデータベースサーバの名前は、バックアップサーバ１０２上に配置されたファイルインデックス１１８に記録される。ライブユーザデータベースについてファイルインデックス１１８に作成されたエントリは、ライブエントリである。また、ミラーデータベースが存在するデータベースサーバの名前も、ファイルインデックス１１８に記録される。ミラーユーザデータベースについてファイルインデックス１１８に作成されるエントリは、エイリアスエントリと呼ばれる。特定のバックアップの時刻に各ユーザデータベースの状態を記録することによって、ファイルインデックス１１８におけるエントリは、一連のバックアップを再構築し、ライブユーザデータベースの復元がリクエストされる場合にライブユーザデータベースのロケーションを容易に識別するための手法を提供することを可能にする。
【００３３】
ここで図２に注意を戻す。バックアップサーバ１０２（図１）がライブユーザデータベースをバックアップすることを可能とするために、ユーザデータベース２０６，２０８の状態がデータベースミラーリングシステム２００内にトラッキングされることは、上述において説明した。データベースサーバ２０２，２０４は、それぞれ、ユーザデータベース２０６，２０８の状態をトラッキングするシステムデータベース２１０，２１２を備える。また、ユーザデータベース２０６，２０８の状態をトラッキングするために、ウィットネス２２２もデータベースミラーリングシステム２００に組み込まれ得る。例えば、ユーザデータベース２０６が「ライブ」データベースから「ミラー」データベースへ状態を変化させるとき、ウィットネス２２２は、ユーザデータベース２０６の現行の状態をシステムデータベース２２４に記録することによって、この変化をトラッキングする。同様に、ユーザデータベース２０８が「ミラー」データベースから「ライブ」データベースへ状態を変化させるとき、ウィットネス２２２は、ユーザデータベース２０８の状態の変化もシステムデータベース２２４に記録する。このようにして、システムデータベース２２４は、それぞれデータベースサーバ２０２，２０４上に配置されたシステムデータベース２１０，２１２によって実行されるのと同様の機能を実行する。
【００３４】
ウィットネス２２２とデータベースサーバ２０２，２０４との間のさらなる類似点は、データベースサーバ２０２，２０４と同様に、ウィットネス２２２がサーバアプリケーション２２６及びサーバアプリケーションモジュール２２８を備えることである。サーバアプリケーション２２６は、サーバアプリケーション２１４，２１６によって実行される機能と均等な機能を実行する。即ち、サーバアプリケーション２２６は、ユーザデータベース２０６，２０８の状態に関してサーバアプリケーション２１４，２１６によって更新され、システムデータベース２２４においてこの情報の記録を維持する。サーバアプリケーションモジュール２１８，２２０と同様に、サーバアプリケーションモジュール２２８は、ユーザデータベース２０６，２０８の状態情報を学習するために、サーバアプリケーションモジュール２１８，２２０と通信を行う。また、サーバアプリケーションモジュール２２８はサーバアプリケーション２２６と連絡することによって、システムデータベース２２４からこの情報を読み出してもよい。
【００３５】
ウィットネス２２２は、ユーザデータベース２０６，２０８における状態変化をトラッキングすることに加え、他の機能を実行してもよい。例えば、ウィットネス２２２はデータベースミラーリングシステム２００における役割の割当に参加する。詳細には、ウィットネス２２２は、ユーザデータベース２０６に対するライブデータベースの役割の割当と、ユーザデータベース２０８に対するミラーデータベースの役割の割当とに参加してもよい。この役割の割当は、ライブデータベースサーバ２０２、ミラーデータベースサーバ２０４、及びウィットネスデータベースサーバ２２２の間の、多数決の合意に基づく。より詳細には、ウィットネス２２２はユーザデータベース２０６及びユーザデータベース２０８のそれぞれの役割における変化を調停することができる。ウィットネス２２２は、データベースミラーリングシステム２００内の自動的なフェイルオーバと、それに伴うユーザデータベース２０６，２０８の状態の変化とを推進してもよい。例えば、ユーザデータベース２０６がライブデータベースであるときにフェイルオーバが発生する場合、ウィットネス２２２は即座にユーザデータベース２０８にライブデータベースの役割を割り当て、ユーザデータベース２０６の役割をミラーデータベースへ変化させる。ユーザデータベース２０６，２０８の役割の変化を調停することによって、ウィットネス２２２はフェイルオーバの発生時にデータが失われないことを保証する。データベースミラーリングシステム２００にウィットネス２２２が存在しない場合、ユーザがフェイルオーバを推進し、ユーザデータベース２０８にライブデータベースの役割を割り当て、ユーザデータベース２０６にミラーデータベースの役割を割り当てることを選択してもよい。
【００３６】
図２には、データベースミラーリングシステムがプライマリサーバ２０２、セカンダリサーバ２０４、及びウィットネス２２２のみを備える場合を示すが、データベースをミラーリングする多数の他の構成が可能である。図３に示すように、どれだけ多くの異なるデータベースがミラーリングされるかに関する制限は存在せず、ミラーデータベースをホストするデータベースサーバ間の関係に関するいかなる制限も存在しない。例えば、第１のデータベースサーバ３０２は、ライブデータベース「Ａ」３０４やミラーデータベースｎ’  ３０６をホストする。第２のデータベースサーバ３０８は、ライブデータベース「Ｂ」３１０及びミラーデータベースＡ’  ３１２をホストする。この例では、第２のデータベースサーバ３０８上に存在するミラーデータベースＡ’  ３１２は、第１のデータベースサーバ３０２上に存在するライブデータベースＡ  ３０４に関連する。しかしながら、ライブデータベースＢ  ３１０に関連するミラーデータベースＢ’  ３１４は、第１のデータベースサーバ３０２上には存在せず、代りに第３のデータベースサーバ３１６上に存在する。第３のデータベースサーバ３１６は、ミラーデータベースＢ’  ３１４をホストすることに加え、ライブデータベースＣ  ３１８をホストする。最後に、第ｎ番目のデータベースサーバ３２０は、データベースｎ  ３２２及びミラーデータベース（ｎ−１）’
３２４をホストする。図３には、複数のデータベースサーバ上のライブデータベース及
びミラーデータベースの構成の代表的な実施形態を示す。加えて、任意のデータベースサーバ３０２，３０８，３１６，又は３２０は、任意のデータベースのウィットネスとして機能し得る。しかしながら、任意数のデータベースサーバ上のライブデータベース及びミラーデータベースについて、任意数の異なる構成が可能であり、また本発明の実施形態によって想定される。本発明の範囲は、特定のサーバ上に存在するライブデータベース及びミラーデータベースについての任意の特定の構成と共に使用することに限定されない。
【００３７】
本明細書に開示のデータをバックアップするための方法の例は、本特許出願と同日に出願の「動的なデータバックアップのためのシステム及び方法（Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｄｙｎａｍｉｃ  Ｄａｔａ  Ｂａｃｋｕｐ）」と題する米国特許出願第１１／０８０，２２９号明細書に開示されている。この出願を引用によって本明細書に援用する。
【００３８】
Ｂ．ミラーリング機能
ここで再び図２に注意を向ける。モジュール２１８，２２０，２２８及びユーザデータベース２０６，２０８は、データベースミラーリングシステム２００の代表的なコンポーネントである。モジュール２１８，２２０，２２８及びユーザデータベース２０６，２０８は、データベースミラーリングシステム２００においてデータベース２０６，２０８からデータがバックアップされることを可能とするよう調整するように構成される。
【００３９】
上述のように、代表的なデータベースミラーリングシステム２００は、少なくとも２つのデータベースサーバ２０２，２０４、ユーザデータベース２０６、及びユーザデータベース２０８を備える。２つ以上のデータベースサーバ２０２，２０４を備えるネットワークでは、ユーザデータベース２０６及びユーザデータベース２０８の各々は、ライブユーザデータベース又はミラーユーザデータベースのいずれかとして指定され得る。ユーザデータベース２０６は初期的にはライブユーザデータベースとして指定され、ユーザデータベース２０８は初期的にはミラーユーザデータベースとして指定されるが、特定のデータベースの指定は任意の時に変化することが可能である。したがって、「ライブ」及び「ミラー」の役割は動的に再割当される。例えば、データベースサーバ２０２上に存在するユーザデータベース２０６は、初期的にはライブユーザデータベースとして指定され得る。データベースサーバ２０２上に存在するユーザデータベース２０６がライブユーザデータベースとして指定されると、データベースサーバ２０４上に存在するユーザデータベース２０８は、ミラーユーザデータベースとして指定される。その後、それぞれのユーザデータベース２０６，２０８の役割は、ユーザデータベース２０６の指定が「ライブ」から「ミラー」へ変化し、ユーザデータベース２０８の指定が「ミラー」から「ライブ」へ変化するように変化し得る。それぞれのユーザデータベース２０６，２０８の役割は、ライブユーザデータベースとして指定されたユーザデータベース２０６が存在するデータベースサーバ２０２の故障、それぞれのユーザデータベースの役割の予定された変化、又はネットワークにおけるウィットネス２２２などの追加のデータベースサーバ若しくは他のシステムデバイスによる調停など、任意数の理由によって変化してよい。
【００４０】
データベースミラーリングシステム２００に含まれるユーザデータベースはライブユーザデータベース又はミラーユーザデータベースのいずれかとして指定されるが、ユーザデータベースが存在するクライアントも「ライブ」クライアント又は「ミラー」クライアントに指定されてよい。ライブユーザデータベースとして指定されたユーザデータベースが存在するクライアントはライブクライアントと呼ばれ、ミラーデータベースとして指定されたユーザデータベースが存在するクライアントは、ミラークライアントと呼ばれる。
【００４１】
ユーザデータベース２０６，２０８の役割は時間を通じてデータベースミラーリングシステム２００内で動的に変化するのみならず、その役割は任意でもなく、代りにそれぞれ
のユーザデータベース２０６，２０８によって実行される特定の機能を表す。詳細には、ユーザデータベース２０６はシステムにおいてアクティブに機能するデータベースであるので、データベースミラーリングシステム２００はユーザデータベース２０６を「ライブ」として指定する。バックアップ操作の場合、ライブユーザデータベースとして指定されたユーザデータベース２０６は、データベースミラーリングシステム２００内にバックアップされるデータベースである。同時に、ミラーユーザデータベースとして指定されたユーザデータベース２０８はアクティブではなく、ユーザデータベース２０８がミラーユーザデータベースとして指定されている限り、バックアップ操作に直接的には関係しない。
【００４２】
ミラーユーザデータベースとして指定されたユーザデータベース２０８はバックアップ操作に直接的には関係しないが、データベースミラーリングシステム２００はミラーユーザデータベースとして指定されたユーザデータベース２０８に対し、任意の時に役割を切り替え、ライブユーザデータベースの役割を引き受けることを要求してもよい。この理由のため、ミラーユーザデータベースとして指定されたユーザデータベース２０８は、ライブミラーデータベースとして指定されたユーザデータベース２０６においてテーブルが変更される毎に、データベース更新に関する情報を受信して記憶する。即ち、ユーザデータベース２０８がミラーユーザデータベースとして指定されている限り、ユーザデータベース２０８は、ライブユーザデータベースとして指定されたユーザデータベース２０６に格納されている全ての情報の最新の記録を保持するために、ライブユーザデータベースとして指定されたユーザデータベース２０６に作成されたエントリを「ミラーリング」する。このようにして、データベースミラーリングシステム２００がユーザデータベース２０８に役割をミラーからライブへ切り替えることを要求する場合、ユーザデータベース２０６がライブユーザデータベースとして機能しているときにユーザデータベース２０６に存在する全ての情報は、ユーザデータベース２０８がミラーユーザデータベースとして機能しているときにユーザデータベース２０８にも存在するので、ユーザデータベース情報は失われず、またアクセス不能でもない。
【００４３】
本明細書に開示のものなど、データベースミラーリング処理を実行するための代表的な標準規格として、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ  ２００５（コード名、ユーコン）標準規格が引用によって本出願に援用される。代表的な実施形態では、本発明はＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ  ２００５（ユーコン）データベースと共に用いられ得る。しかしながら、本発明に関連して他の使用及びアプリケーションも適切であるか又は望ましい場合があり、本発明はＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ  ２００５（ユーコン）と共に使用することに限定されない。
【００４４】
Ｃ．ミラーリング環境におけるデータベース復元操作
データベースシステムのミラーリング機能は、失われたデータベースを復元することを所望するクライアントに、追加の管理上・ロジスティックス上の検討事項を提供する。図１に示すＤＢＲＳ  １００は、バックアップ及び回復操作を実行することが可能なデータベースシステムの一例であるが、本発明の範囲はＤＢＲＳ  １００又は任意の特定のデータベースシステムに限定されない。データベースシステムのミラーリング特性は、データベースが常に利用可能であり、したがって常にクライアントにアクセス可能である環境の作成に寄与する。データベースサーバとも呼ばれるクライアントは、ユーザ又は管理者がそれを通してデータベースにアクセスし、データベースをバックアップし、また復元する、データベースミラーリングシステム内のコンピュータである。クライアントを組み込むデータベースミラーリングシステムでは、クライアントがライブデータベース及びミラーデータベースの変化する役割に関する知識を有することは不要である。ユーザが復元操作を開始しようとするとき、ミラーリング関係が存在する場合、データベースミラーリングシステムにおけるクライアント間のミラーリング関係は終了され、データベース情報が復元サーバから読み出され、データベースミラーリングシステムにおけるクライアント上に
データベースが再作成される。次いで、ミラーリング関係が再確立され、復元処理は完了する。
【００４５】
ここで図４に注意すると、代表的なデータベース復元操作を実行できるデータベース回復システム４００の態様に関する詳細が提供される。データベース復元システム４００におけるクライアント４０２がユーザデータベースを再作成することを所望するとき、クライアント４０２は復元サーバ４０４と通信を行う。復元サーバとして機能することに加えて、復元サーバ４０４はデータベースミラーリングシステム１００におけるバックアップ操作中、バックアップサーバ１０２（図１に示す）としても機能してよい。また、データベース回復システム４００には、クライアント４０６、また随意のウィットネスクライアント４０８が存在し、ユーザデータベースを再作成するために復元サーバ４０４と通信を行い得る。加えて、クライアント４０２，４０６は、データベース回復システム４００内のミラーリングの相手である。クライアント４０２，４０６などのミラーリング相手間の関係は動的ミラーリング関係と呼ばれ、クライアント４０２，４０６などのクライアント上に配置されたユーザデータベースのライブ及びミラーの役割指定が時間を通じて動的に変化する関係、として定義される。
【００４６】
クライアント４０２，４０６、及びウィットネスクライアント４０８は、各々、データベース復元システム４００において存在し得るが、復元サーバ４０４は、１つの復元操作中、クライアント４０２、クライアント４０６、又はウィットネスクライアント４０８からの１つの復元リクエストしか処理しない。しかしながら、クライアント４０２，４０６、又はウィットネスクライアント４０８から送信された復元サーバ４０４へのリクエストは、複数のデータベースの再作成を含んでもよい。複数のデータベースがクライアント４０２上で同時に再作成されてもよい。より詳細には、クライアント４０２は、図３に示し、図３に伴う説明において提示したように、複数のミラーリング関係におけるミラーリング相手であってもよい。結果として、そのミラーリング関係をクライアント４０２が含む任意のデータベースが、復元操作においてクライアント４０２上に再作成されてもよい。クライアント４０２が一度に複数のミラーリング関係に関係する場合、１つの復元操作中、クライアント４０２上に複数のデータベースが再作成されてもよい。
【００４７】
データベース回復システム４００における復元操作は、クライアント４０２，４０６、若しくは４０８にアクセスするユーザ又は管理者によって開始される。ユーザ又は管理者によってアクセスされるクライアントは、「現行クライアント」と呼ばれる。以下の説明では、現行クライアントはクライアント４０２である。しかしながら、現行クライアントがクライアント４０６又は４０８のいずれでもあり得ることは認識される。クライアント４０２は下述の説明における現行クライアントであるため、クライアント４０２上に配置されたモジュール４１０が最初にモジュール機能を実行するが、クライアント４０６，４０８上に配置されたモジュール４２４又は４２６のいずれかは、それぞれ、クライアント４０６又は４０８が現行クライアントであった場合、データベース回復システム４００におけるモジュール機能を最初に実行することが可能である。
【００４８】
復元操作が開始されるとき、クライアント４０２，４０６，４０８上に配置されたモジュール４１０，４２４，４２６は、ミラーリング関係が存在する場合、それぞれ、データベース回復システム４００におけるクライアント４０２，４０６，４０８の間のミラーリング関係を終了させる必要がある。初めに、現行クライアント４０２上に配置されたモジュール４１０は、やはり現行クライアント４０２上に配置されたサーバアプリケーション４２０に、ミラーリング関係を終了するよう指示する。次いで、サーバアプリケーション４２０は、システムデータベース４２２内に格納されているミラーリング関係情報を上書きする。また、モジュール４１０は、クライアント４０２，４０６，４０８間のミラーリング関係を終了するよう、それぞれサーバアプリケーション４２８，４３０に指示するよ
うに、モジュール４２４，４２６に命令する。続いて、モジュール４２４，４２６はそれぞれサーバアプリケーション４２８，４３０に、ミラーリング関係を終了するように指示する。サーバアプリケーション４２８はシステムデータベース４３２に格納されているミラーリング関係情報を上書きし、サーバアプリケーション４３０はシステムデータベース４３４に格納されているミラーリング関係情報を上書きする。システムデータベース４２２，４３２，４３４におけるミラーリング関係情報が上書きされると、クライアント４０２，４０６，４０８間のミラーリング関係は終了する。
【００４９】
復元操作が開始されるとき、現行クライアントにアクセスするユーザ又は管理者は、ユーザ又は管理者が再作成することを所望するデータベースのバックアップバージョンを選択する必要がある。ユーザデータベースがバックアップされる毎に、復元サーバ４０４によって異なるバージョンのデータベースがバックアップされ得る。したがって、復元サーバ４０４は、任意の数の異なるバージョンのデータベースのバックアップコピーにアクセスする。例えば、ユーザデータベースのバックアップは、日１の時刻Ａ，Ｂ，Ｃ、日２の時刻Ｄ，Ｅ，Ｆ、日３の時刻Ｇ，Ｈに発生する。これらの日及び時刻の各々は、ユーザデータベースの１つの特定のバックアップバージョンを表す。ユーザデータベースを再作成することを所望するユーザ又は管理者は、これらのバージョンのうちのいずれを再作成するかを選択する必要がある。例えば、ユーザ又は管理者は、ユーザ又は管理者が再作成することを所望するユーザデータベースのバージョンは日３の時刻Ｇにてバックアップされたバージョンである、と決定してもよい。復元操作が開始されるとき、現行クライアントは復元サーバ４０４に、日３の時刻Ｇにバックアップされたユーザデータベースをリクエストする。ユーザ又は管理者が再作成することを選択するユーザデータベースの特定のバックアップバージョンは、「対象データ」とも呼ばれる。
【００５０】
対象データや、復元サーバ４０４によってバックアップされたユーザデータベースの全てのバージョンに関する情報は、復元サーバ４０４上に配置されたファイルインデックス４１２及びメディアデータベース４１４に格納されている。現行クライアントにアクセスするユーザ又は管理者が、ユーザ又は管理者が再作成することを所望する対象データを独立に知る必要はない。クライアント４０２上に配置されたモジュール４１０を通じて、ユーザ又は管理者は復元サーバ４０４の上に配置されたファイルインデックス４１２及びメディアデータベース４１４にアクセスし、ファイルインデックス４１２及びメディアデータベース４１４に格納されている情報を検査し得る。ユーザデータベースのバックアップバージョンに関するファイルインデックス４１２及びメディアデータベース４１４に格納されている情報を検査することによって、ユーザ又は管理者は対象データを識別することが可能である。ファイルインデックス４１２及びメディアデータベース４１４における情報は、例えば、バックアップが実行された日、バックアップが実行された時刻、及びユーザデータベースの特定のバックアップバージョンの記憶ロケーションなど、ユーザデータベースの全てのバックアップされたバージョンに関する特性を識別することを含む。
【００５１】
ユーザデータベースの各バックアップバージョンにおいてファイルインデックス４１２に含まれる追加情報は、ユーザデータベースのバックアップが実行された時刻にユーザデータベースをホスティングしているクライアントの状態を含む。例えば、対象データがバックアップされた時刻にクライアント４０２がライブクライアントであった場合、ファイルインデックス４１２はクライアント４０２のライブエントリを格納する。同様に、対象データがバックアップされた時刻にクライアント４０２がミラークライアントであった場合、ファイルインデックス４１２はクライアント４０２のエイリアスエントリを格納する。ライブクライアント又はミラークライアントとしてのクライアント４０２の指定によって、クライアント４０２上に配置されたユーザデータベース４１６がライブユーザデータベースとして指定されるか、或いはミラーユーザデータベースとして指定されるかが示されるので、ファイルインデックス４１２におけるライブエントリ及びエイリアスエントリ
は、ユーザデータベース４１６がバックアップ操作の時刻にライブデータベースとして指定されたか或いはミラーデータベースとして指定されたかを、非明示的に示す。対象データのバックアップが実行された時刻のクライアント４０２の指定に関するファイルインデックス４１２における情報や、クライアント４０６，４０８の指定に関する情報は、対象データが再作成されると、データベース回復システム４００におけるミラーリング関係を再確立することにおいて重要となる。ミラーリング関係の再確立を、以下にさらに詳細に説明する。
【００５２】
上述のように、クライアント４０２上に配置されたモジュール４１０は、復元サーバ４０４上に配置されたアクセスファイルインデックス４１２及びメディアデータベース４１４にアクセスし、ユーザ又は管理者が対象データを識別し、対象データに関する情報を取得することを可能とする。クライアント４０２上に配置されたモジュール４１０がファイルインデックス４１２に格納されている情報にアクセスした後、モジュール４１０は復元サーバ４０４に対象データをリクエストする。復元サーバ４０４は対象データを特定し、読み出して、モジュール４１０に対象データを伝達する。対象データが読み出された後、モジュール４１０はサーバアプリケーション４２０に対象データを伝達する。次いで、サーバアプリケーション４２０は対象データを用いてユーザデータベース４１６を再作成する。
【００５３】
サーバアプリケーション４２０と通信を行うことに加えて、モジュール４１０はそれぞれクライアント４０６，４０８のモジュール４２４，４２６とも通信を行う。詳細には、モジュール４１０は復元サーバ４０４によって読み出された対象データをモジュール４２４，４２６に伝達する。次いで、モジュール４２４は受信した対象データをサーバアプリケーション４２８へ伝達し、サーバアプリケーション４２８はその対象データを用いてユーザデータベース４１８を再作成する。クライアント４０８上に配置されたサーバアプリケーション４３０はユーザデータベースを含まないので、モジュール４２６はクライアント４０８へ対象データを伝達しない。ユーザデータベース４１６，４１８は、同一の対象データを用いて、それぞれサーバアプリケーション４２０，４２８によって再作成される。したがって、ユーザデータベース４１６，４１８が再作成されると、各ユーザデータベース４１６，４１８は対象データの同一のコピーを格納する。しかしながら、データベース回復システム４００において復元操作を開始するユーザは、ユーザデータベース４１６など、１つのユーザデータベースのみを選択して復元し、ユーザデータベース４１８が上書きされないようにユーザデータベース４１８を保存してもよい。
【００５４】
ユーザデータベース４１６，４１８が再作成された後、クライアント４０２，４０６，４０８間のミラーリング関係が再確立される。バックアップ操作が発生した時刻にクライアント４０２，４０６，４０８の指定に関してモジュール４１０によってファイルインデックス４１２から取得される情報は、クライアント４０２，４０６，４０８をライブ、ミラー、又はウィットネスクライアントとして再指定する際に用いられる。現行クライアント４０２に関してモジュール４１０によってファイルインデックス４１２から取得される情報が、現行クライアント４０２がバックアップ操作の時刻にライブクライアントであったことを示す場合、現行クライアント４０２はライブクライアントとして再指定される。現行クライアント４０２をライブクライアントとして再指定することは、ユーザデータベース４２６を非明示的にライブユーザデータベースとして再指定することを含む。対象データがバックアップされた時刻に現行クライアント４０２がミラークライアントであったことを、ファイルインデックス４１２に含まれている情報が示す場合、ユーザはクライアント４０２をミラークライアントとして再指定すること、即ち、ユーザデータベース４１６をミラーユーザデータベースとして再指定することを選択してもよい。
【００５５】
モジュール４１０はクライアント４０２，４０６，４０８の指定に関する情報をライブ
、ミラー、又はウィットネスとして取得するが、サーバアプリケーション４２０，４２８，４３０がそれぞれシステムデータベース４２２，４３２，４３４に役割指定情報を書き込むまで、ミラーリング関係は再確立されない。ファイルインデックス４１２から役割指定情報を取得したモジュール４１０は、サーバアプリケーション４２０に役割指定情報を伝達する。次いで、サーバアプリケーション４２０は、システムデータベース４２２に役割指定情報を書き込む。モジュール４１０はモジュール４２４，４２６に役割指定情報を伝達し、モジュール４２４，４２６はそれぞれサーバアプリケーション４２８，４３０と通信を行う。次いで、サーバアプリケーション４２８，４３０は、それぞれシステムデータベース４３２，４３４に役割指定情報を書き込む。役割指定情報は、対象データのバックアップの時刻にクライアント４０２がライブクライアントであったこと、またクライアント４０６がミラークライアントであったことを示す。同様に、役割指定情報は、対象データのバックアップが実行された時刻にクライアント４０２上に配置されたユーザデータベース４１６がライブユーザデータベースとして指定されていたこと、またクライアント４０６上に配置されたユーザデータベース４１８がミラーユーザデータベースとして指定されていたことを示す。それぞれサーバアプリケーション４２０，４２８，４３０によってシステムデータベース４２２，４３２，４３４に役割指定情報が書き込まれるとき、クライアント４０２，４０６は、ライブクライアント４０２及びミラークライアント４０６として再指定される。クライアント４０８がライブクライアントでもミラークライアントでもないことをファイルインデックスにおける情報が示すため、クライアント４０８はウィットネスクライアントとして再指定される。データベース回復システム４００において実行された復元処理の詳細説明は、以下の図５の説明に含まれる。
【００５６】
ここで図５へ注意すると、代表的なデータベース回復システム４００などデータベース回復システムにおいて実行される代表的な復元処理５００は、クライアント間のミラーリング関係がどのように終了するか、クライアント上でユーザデータベース情報がどのように再作成されるか、またクライアント間のミラーリング関係がどのように再確立されるかを示す。復元処理５００は、データベース回復システムにおいて存在し、ミラーリング関係に参加している各クライアントに対し、同時に発生する。加えて、復元処理５００を含む工程は代表的なものであり、実行の順序を復元処理５００の任意の特定の用途に適するように変化させることが可能である。クライアントにアクセスするユーザ又は管理者が復元操作をリクエストするとき、処理５００は工程５０２にて開始する。工程５０３では、データベース回復システムのクライアント間のミラーリング関係の存在または不存在が決定される。ミラーリング関係が存在する場合、工程５０４に示すように、データベース回復システムのクライアント間のミラーリング関係は終了する。各クライアント上に配置されたサーバアプリケーションがサーバアプリケーション内に存在するシステムデータベースを上書きするとき、ミラーリング関係は終了する。クライアント間にミラーリング関係が存在しない場合、工程５０６にて、データベース回復システムのクライアント上に配置されたモジュールは、復元サーバ上に配置されたファイルインデックス及びメディアデータベースに格納されている。ファイルインデックス及びメディアデータベースからモジュールによって取得される情報は、復元サーバを通じて記憶された異なるバックアップバージョンに関する識別情報及び役割指定情報の両方を含む。
【００５７】
モジュールによって取得される識別情報は、ユーザ又は管理者が復元することを所望するデータベースの特定のバックアップバージョン、即ち、対象データを識別するように、モジュールが配置されるクライアントにアクセスするユーザ又は管理者を補助し得る。ユーザデータベース情報が再作成されると、役割指定情報によってミラーリング関係を再確立することが可能である。
【００５８】
引き続き復元処理５００を参照すると、工程５０８にて、ユーザ又は管理者は再作成される対象データを識別する。次いで、工程５１０にて、クライアントは、役割指定情報を
識別するためにファイルインデックスのエントリを読み取る。工程５１２にて、モジュールは、モジュールが配置されるクライアントがライブエントリとして対象データのファイルインデックスエントリに挙げられているクライアントにマッチするか否かを判定する。クライアントがライブエントリに挙げられているクライアントにマッチする場合、工程５１４に示すように、モジュールが復元サーバに対象データをリクエストするように復元処理５００は継続する。工程５１６に示すように、復元サーバは対象データを読み出して、モジュールに対象データを伝達する。次いで、工程５１８に示すように、モジュールはサーバアプリケーションに対象データを伝達し、サーバアプリケーションは現行クライアント上に配置されたユーザデータベースを再作成する。
【００５９】
モジュールがサーバアプリケーションに対象データを伝達するとき、工程５１８にて、モジュールはファイルインデックスからモジュールによって取得される役割指定情報をサーバアプリケーションにも伝達する。工程５２０にて、ライブクライアントとしてクライアントを確立させるのと同時に、サーバアプリケーションはクライアント上のサーバアプリケーションに配置されたシステムデータベースに役割指定情報を書き込み、クライアント上に配置されたユーザデータベースをライブユーザデータベースとして確立させる。
【００６０】
工程５１２にて、クライアントがファイルインデックスのライブエントリに挙げられているクライアントにマッチしない場合、復元処理５００は工程５２２へ続き、クライアントはクライアントがファイルインデックスのエイリアスエントリに挙げられているクライアントにマッチするか否かを判定する。クライアントがファイルインデックスのエイリアスエントリに挙げられているクライアントにマッチする場合、復元処理５００は工程５２４へ続き、モジュールは復元サーバに対象データをリクエストする。工程５２６に示すように、復元サーバは対象データを読み出して、モジュールに対象データを伝達する。次いで、工程５２８に示すように、モジュールはサーバアプリケーションに対象データを伝達し、サーバアプリケーションはモジュール及びサーバアプリケーションに関連するクライアント上に配置されたユーザデータベースを再作成する。
【００６１】
上述のように、モジュールがサーバアプリケーションに対象データを伝達するとき、工程５２８にも示すように、モジュールはファイルインデックスから取得されるモジュールによって取得される役割指定情報をサーバアプリケーションにも伝達する。工程５３０にて、ミラークライアントとしてクライアントを確立させるのと同時に、サーバアプリケーションはクライアント上のサーバアプリケーションに配置されたシステムデータベースに役割指定情報を書き込み、クライアント上に配置されたユーザデータベースをミラーユーザデータベースとして確立させる。
【００６２】
モジュールがファイルインデックス及びメディアデータベースに格納されている情報にアクセスするとき、クライアントがファイルインデックスのライブエントリに挙げられているクライアントにもファイルインデックスのエイリアスエントリに挙げられているクライアントにもマッチしないとモジュールが判定する場合がある。この場合、工程５３２に示すように、クライアントはウィットネスクライアントである。工程５３４にて、モジュールはファイルインデックスから取得された役割指定情報をクライアントのサーバアプリケーションへ伝達し、サーバアプリケーションはクライアント上に配置されたシステムデータベースに役割指定情報を書き込む。対象データが再作成され、役割指定情報がデータベース回復システムにおける各クライアントのシステムデータベースに書き込まれた後、ミラーリング関係が再確立され、復元処理５００は完了する。
【００６３】
このように、代表的な復元処理５００は、ミラーリング関係にあるユーザデータベースからバックアップされた対象データを復元する手法を提供する。ミラーリング関係を終了させ、失われたユーザデータベース情報を読み出して再作成し、データベースのミラーリ
ング関係を再確立させることによって、本発明の実施形態は、環境におけるユーザデータベースの役割指定が時間を通じて動的に変化する動的データベースミラーリング環境においてバックアップされたデータを復元する方法を提供する。
【図面の簡単な説明】
【００６４】
【図１】ネットワーク内のファイルシステムデータをバックアップ及び復元するための代表的なシステムの図。
【図２】データベースミラーリング環境においてデータベースを特定するための代表的なシステムの図。
【図３】データベースミラーリング環境において任意数のデータベースのミラーリングを構成するための代表的なシステムの図。
【図４】代表的なデータベース復元システムの図。
【図５】対象データをデータベースにリクエストすることによってデータを復元するための処理を示すフローチャート。
【図１】
2008525918.tif 000003
【図２】
2008525918.tif 000004
【図３】
2008525918.tif 000005
【図４】
2008525918.tif 000006
【図５】
2008525918.tif 000007
【手続補正書】
【提出日】平成19年6月29日(2007.6.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のクライアント上に存在する第１のデータベース及び第２のクライアント上に存在する第２のデータベースを含むネットワークにおいて、バックアップされたデータを復元するための方法であって、
復元操作のリクエストを開始する工程と、
第１のデータベースと第２のデータベースとの間の動的ミラーリング関係を終了させる工程と、
復元される対象データを識別する工程と、
対象データのロケーション情報のリクエストを生成する工程と、
対象データのロケーションに関するロケーション情報を受信する工程と、
対象データのリクエストを送信する工程と、
対象データを受信する工程と、
第１のクライアント及び第２のクライアント上に配置された第１のデータベース及び第２のデータベースにおいて対象データを再作成する工程と、
第１のデータベースと第２のデータベースとの間の動的ミラーリング関係を再確立させる工程と、からなる方法。
【請求項２】
対象データは復元サーバ上に配置されたファイルインデックス及びメディアデータベースに格納されている情報を特定することによって識別される請求項１に記載の方法。
【請求項３】
動的ミラーリング関係は第１のクライアント及び第２のクライアント上にそれぞれ配置されたシステムデータベースに役割指定情報を書き込むことによって再確立される請求項１に記載の方法。
【請求項４】
ファイルインデックスから役割指定情報を読み出す工程と、
第１のクライアント及び第２のクライアント上に配置されたシステムデータベースに役割指定情報を書き込む工程と、を含む請求項１に記載の方法。
【請求項５】
役割指定情報は対象データのバックアップの時に第１のデータベース及び第２のデータベースの役割指定を参照する請求項４に記載の方法。
【請求項６】
ファイルインデックスにおけるライブエントリは、対象データのバックアップが実行された時刻にライブエントリに挙げられている第１のデータベース又は第２のデータベースがライブデータベースとして指定されていたことを示す請求項４に記載の方法。
【請求項７】
ファイルインデックスにおけるエイリアスエントリは、対象データのバックアップが実行された時刻にエイリアスエントリに挙げられている第１のデータベース又は第２のデータベースがミラーデータベースとして指定されていたことを示す請求項４に記載の方法。
【請求項８】
ウィットネスクライアントは動的ミラーリング関係を調停する請求項１に記載の方法。
【請求項９】
ミラーリング関係は第１のクライアント、第２のクライアント、及びウィットネスクライアント上に配置されたシステムデータベースに役割指定情報を書き込むことによって再確立される請求項１に記載の方法。
【請求項１０】
２つ以上のクライアントを含むネットワークにおいてバックアップされたデータベースの復元を行うための方法であって、
バックアップされたデータベースのリクエストを受信する工程と、
動的ミラーリング関係に関する情報を格納しているファイルインデックスにおけるエントリへの２つ以上のクライアントのうちの１つのアクセスを可能とする工程と、
バックアップされたデータベースのロケーションを識別する工程と、
バックアップされたデータベースを読み出す工程と、
バックアップされたデータベースを２つ以上のクライアントのうちの１つに送信する工程と、からなる方法。
【請求項１１】
ファイルインデックスにおけるエントリはデータベースのバックアップが実行される時にデータベースの役割指定を記録する請求項１０に記載の方法。
【請求項１２】
ファイルインデックスにおけるライブエントリは、データベースのバックアップが実行された時刻にエントリに参照されているデータベースがライブデータベースとして指定されていたことを示す請求項１０に記載の方法。
【請求項１３】
ファイルインデックスにおけるエイリアスエントリは、データベースのバックアップが実行された時刻にエントリに参照されているデータベースがミラーデータベースとして指定されていたことを示す請求項１０に記載の方法。
【請求項１４】
バックアップされたデータベースのロケーションはリモート記憶ロケーションである請求項１０に記載の方法。
【請求項１５】
バックアップされたデータベースを読み出す工程は、
記憶ロケーションへアクセスする工程と、
バックアップされたデータベースのコピーを記憶ロケーションから取得する工程と、を含む請求項１０に記載の方法。
【請求項１６】
第１のクライアント上に配置された第１のデータベース及び第２のクライアント上に配置された第２のデータベースを含むネットワークにおいてデータを復元する処理をコンピュータに実行させるためのプログラムであって、
復元操作のリクエストを開始する工程と、
第１のデータベースと第２のデータベースとの間の動的ミラーリング関係を終了させる工程と、
復元される対象データを識別する工程と、
対象データのロケーション情報のリクエストを生成する工程と、
対象データのロケーションに関するロケーション情報を受信する工程と、
対象データのリクエストを送信する工程と、
第１のクライアント及び第２のクライアント上に配置された第１のデータベース及び第２のデータベースにおいて対象データを再作成する工程と、
第１のデータベースと第２のデータベースとの間の動的ミラーリング関係を再確立させる工程と、をコンピュータに実行させるためのプログラム。
【請求項１７】
対象データは復元サーバ上に配置されたファイルインデックス及びメディアデータベースに格納されている情報を特定することによって識別される請求項１６に記載のプログラム。
【請求項１８】
動的ミラーリング関係は第１のクライアント及び第２のクライアント上にそれぞれ配置されたシステムデータベースに役割指定情報を書き込むことによって再確立される請求項１６に記載のプログラム。
【請求項１９】
コンピュータに実行させる工程として、
ファイルインデックスから役割指定情報を読み出す工程と、
第１のクライアント及び第２のクライアント上に配置されたシステムデータベースに役割指定情報を書き込む工程と、を含む請求項１６に記載のプログラム。
【請求項２０】
役割指定情報は対象データのバックアップの時に第１のデータベース及び第２のデータベースの役割指定を参照する請求項１９に記載のプログラム。
【請求項２１】
ファイルインデックスにおけるライブエントリは、対象データのバックアップが実行された時刻にライブエントリに挙げられている第１のデータベース又は第２のデータベースがライブデータベースとして指定されていたことを示す請求項１９に記載のプログラム。
【請求項２２】
ファイルインデックスにおけるエイリアスエントリは、対象データのバックアップが実行された時刻にエイリアスエントリに挙げられている第１のデータベース又は第２のデータベースがミラーデータベースとして指定されていたことを示す請求項１９に記載のプログラム。
【請求項２３】
ウィットネスクライアントは動的ミラーリング関係を調停する請求項１６に記載のプログラム。
【請求項２４】
ミラーリング関係は第１のクライアント、第２のクライアント、及びウィットネスクライアント上に配置されたシステムデータベースに役割指定情報を書き込むことによって再確立される請求項１６に記載のプログラム。
【国際調査報告】
2008525918.tif 000008