(57)【要約】  【課題】  データベースおよび他のアプリケーションを遠隔で自動的にミラーリングするタスクを実行する方法およびシステムを提供する。  【解決手段】  リレーショナル・データベース管理システム（ＲＤＢＭＳ）の遠隔ミラーを生成するプロセスを自動化する方法は、一次データベースにおいてストレージ・コンフィギュレーションおよびデータベース・レイアウトを見出すステップと、この情報をバックアップ・ストレージ・サブシステムにリレーするステップと、そのデータベースおよびストレージ・システムを変更がないかどうか監視するステップと、ストレージあるいはデータベースまたはその両方の変更をバックアップ・ストレージ・サブシステムに伝達するステップとを含む。動的リレーショナル・コンフィギュレーションのための自己コンフィギュレーション・バックアップ・ミラーリング・システムは、１つ以上のストレージ・サーバを監視するソース・システムと、ＲＤＢＭＳを実行するコンピュータ・システムとを含む。バックアップ・システムは、ソース・システムのために災害回復環境を提供する。バックアップ・ストレージ・コンポーネントは、ソース・ストレージ・コンポーネントを複製する。必要な場合には、バックアップ・システムを用いて、ソース・ストレージ・システムを再構築することができる。最後に、ソフトウエア・エージェントは、ソース・システムおよびバックアップ・システムの双方で動作する。【選択図】  図２【特許請求の範囲】
【請求項１】
データ・ストレージ・コンフィギュレーションを動的にミラーリングするためのコンピュータであって、
データ・ストレージ媒体に結合されたデータ・インタフェースであって、これを介して、第１のデータ・ストレージ媒体の第１のストレージ・コンフィギュレーションに関連した情報を通信する、データ・インタフェースと、
コンピュータ読み取り可能媒体上に記録され、前記第１のストレージ・コンフィギュレーションを第２のストレージ・コンフィギュレーションと比較するためのソフトウエア・エージェントであって、少なくとも前記第１および第２のストレージ・コンフィギュレーション間でストレージ・コンフィギュレーション・パラメータが異なる場合、前記第１のストレージ・コンフィギュレーションを自動的に適合させて前記第２のストレージ・コンフィギュレーションをミラーリングすること、および、前記第２のストレージ・コンフィギュレーションを適合させて前記第１のストレージ・コンフィギュレーションをミラーリングするために行われる変更を自動的に出力することの一方を行う、ソフトウエア・エージェントと、
通信インタフェースであって、これを介して、前記第２のストレージ・コンフィギュレーションの受信および前記行われる変更の送信の一方を行う、通信インタフェースと、
前記ソフトウエア・エージェントを実行するためのデータ・プロセッサと、
を含む、コンピュータ。
【請求項２】
前記ストレージ・コンフィギュレーション・パラメータが、データベース・レイアウト、論理装置番号（ＬＵＮ）タイプ、ＬＵＮサイズ、ＬＵＮ性能の尺度、およびＬＵＮ信頼性の尺度の群から選択される、請求項１に記載のコンピュータ。
【請求項３】
前記ソフトウエア・エージェントが、前記通信インタフェースを介して、第２のソフトウエア・エージェントに前記第１のストレージ・コンフィギュレーションを出力すること、および前記第２のソフトウエア・エージェントから前記第２のストレージ・コンフィギュレーションを受信することの一方を行うようにコンフィギュレーションが行われている、請求項１に記載のコンピュータ。
【請求項４】
前記第１のストレージ・コンフィギュレーションを適合させて前記第２のストレージ・コンフィギュレーションをミラーリングすることが、前記データ・ストレージ媒体の一次ＬＵＮが適切でない場合に、前記通信インタフェースを介して受信したＬＵＮタイプおよびＬＵＮサイズの少なくとも１つに基づいて二次ＬＵＮを生成することを含む、請求項１に記載のコンピュータ。
【請求項５】
前記ソフトウエア・エージェントが、リレーショナル・データベース管理コンピュータ・プログラムから前記第１のストレージ・コンフィギュレーションを受信する、請求項１に記載のコンピュータ。
【請求項６】
遠隔ミラーリング・システムの自己コンフィギュレーションを容易にする方法であって、
一次ストレージ・コンフィギュレーションおよびデータベース・レイアウトを見出すステップと、
前記一次ストレージ・コンフィギュレーションおよびデータベース・レイアウトをマッピングして少なくとも１つの一次ストレージ・サブシステム・ボリュームを生成するステップと、
遠隔ストレージ・サブシステムに関連した情報を受信するステップと、
前記一次ストレージ・サブシステム・ボリュームおよびリレーショナル・データベース管理システム（ＲＤＢＭＳ）にポーリングするステップと、
前記一次ストレージ・サブシステム・ボリュームからの現在の情報を前記受信した情報と比較するステップと、
前記遠隔ストレージ・サブシステムにストレージの変更を送信するステップと、
を含む、方法。  
【請求項７】
前記ストレージ変更が、データベース変更の代わりに用いられる、請求項６に記載の方法。
【請求項８】
物理ＬＵＮに対応して特定のローカル・ストレージ・システムから受信したボリュームをマッピングするステップであって、前記物理ＬＵＮが遠隔ストレージ・サブシステムにミラーリングされている、ステップと、
サイズ、タイプ、性能、および信頼性の少なくとも１つに基づいて遠隔ミラーＬＵＮを評価して適切なＬＵＮを見出すステップと、
適切なＬＵＮが見つからない場合、適切な遠隔ミラーＬＵＮを生成するステップと、
ボリュームを追加する場合、適切なターゲットを生成してボリュームをミラーリングするステップと、
を更に含む、請求項６または７に記載の方法。
【請求項９】
前記マッピングするステップが、前記ミラーリングの状態を照会してアプリケーションのための適正なコンフィギュレーションを決定するステップを更に含み、
前記評価するステップが、前記遠隔ストレージ・サブシステムにおける適正な修正を決定し、該評価するステップが、少なくとも１つの新しいボリュームをミラーリングするための手順を呼び出すこと、および、前記少なくとも１つの新しいボリュームを前記遠隔ストレージ・サブシステムに割り当てることを含み、
前記修正が、少なくとも１つの新しいボリュームを動作している論理ボリュームに追加すること、遠隔ストレージ・サブシステムを更新すること、および、前記少なくとも１つの新しいボリュームをミラーリングするための手順を呼び出すことを更に含む、請求項６から８のいずれかに記載の方法。
【請求項１０】
コンピュータ・システムにロードされて実行されると、請求項６から９のいずれかに記載の方法の全てのステップを実行するコンピュータ・プログラム・コードを含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ・プロセッサのためのデータ・ストレージ・システムに関し、更に具体的には、リレーショナル・データベースまたは他のアプリケーションの遠隔ミラーを生成するプロセスを自動化するデータ・ストレージ・システム・ソフトウエアに関する。
【背景技術】
【０００２】
通常、データ処理システムにおいて、バックアップ・サブシステムは、１つ以上のデータ・セットの最新のコピー、バージョン、または部分を、何らかの形態のバックアップ・データ・ストレージ・デバイス上にセーブ（保管）する。現在、バックアップ・サブシステムには、磁気または光ディスク・ドライブ、テープ・ドライブ、または他のメモリ・デバイスが含まれる。バックアップ・サブシステムは、ストレージ・データの損失を防ぐ。例えば、１つ以上のデータ・セットが破壊、破損、削除、または変更された場合、バックアップ・サブシステムに格納されたそのデータ・セットの最新バージョンが、データ・セットを復元することができる。従って、バックアップ・システムは、データ損失の危険を最小限に抑える。しかしながら、遠隔ミラーリング・データ・プロセス・バックアップ・システムをセットアップするプロセスは、間違いを犯しやすく、長い時間がかかる。
【０００３】
業務上の情報あるいは重要な情報またはその両方は、外部のストレージ・サーバに格納されることが多い。多くの場合、この情報は、リレーショナル・データベース管理システム（ＲＤＢＭＳ：relational database management systems）に含まれる。突発故障（catastrophic failure）の場合に継続性を保証し、データ損失を防ぐため、遠隔データ・センタおよび冗長ハードウエアが、重要な情報を格納する。遠隔位置における冗長システムのコンフィギュレーション（configuration）は、複雑な手作業のプロセスである。例えば、最初の手作業のプロセスは、サーバ・ハードウエアおよびソフトウエアのコンフィギュレーション、ストレージ・サブシステム（複数のサブシステム）のコンフィギュレーション、およびデータベースのバックアップ・コピーの復元から成る。
【０００４】
大規模なＲＤＢＭＳシステムのためのストレージ・コンフィギュレーションは極めて複雑であり、コンフィギュレーションの性能は重要である。コンフィギュレーションの性能に影響を与える最も重要な要因は、ストレージ・サブシステム上のデータベースの物理的レイアウトである。遠隔ミラーの最初のコンフィギュレーションを完了した後、一次サイト（primary site）においてストレージ割り当てに何らかの変化があった場合、遠隔ミラーを変化させなければならない。これによって、ミラーリングしたデータベース・コピーの完全さおよび実行可能性（存続性）を保証する。別の例では、ストレージ・サブシステム全体は変化していないが、ストレージ・サブシステムの１つ以上の構成要素の物理的位置が変化している。ミラーリングしたデータベースの物理的レイアウトを更新することによって、ＲＤＢＭＳの完全さおよび実行可能性を確実にする。
【０００５】
遠隔ミラーをセットアップする現在のプロセスは、多くのステップを含む。これらのステップには、そのデータベースを位置付けるボリューム・グループの全てを位置付けること、ボリューム・グループを論理ボリュームにマッピングすること、論理ボリュームを物理ディスクおよび場合によってはマルチパスの物理ディスクにマッピングすること、最後に、物理ディスクをストレージ・サブシステム・ボリュームまたは論理装置番号（ＬＵＮ：logical unit number）にマッピングすることが含まれる。次のステップは、各ＬＵＮソースごとに、ターゲットのストレージ・サブシステム上で適切なターゲットＬＵＮを選択することである。ターゲットの特性は、同じタイプを含む（オープン・システムについての固定長ブロック（ＦＢ：fixed-block）またはメインフレームのためのカウント・キー・データ（ＣＫＤ：count-key-data））。また、ターゲットＬＵＮは、同じサイズでなければならない。次のステップは、２つのストレージ・サブシステム間の遠隔ミラーリング・リンクの全てを物理的に接続することである。各物理リンク上で、各ソース・サブシステムと各ターゲット・サブシステムとの間の論理パス（経路）の生成を行う。生成したパス数は、ソース・サブシステム数をターゲット・サブシステム数で乗算し、これを物理リンク数で乗算したものに等しい。全ての物理リンクについて論理パスが生成されなければ、災害またはリンク故障の場合、遠隔ミラーは有効でない。更に、全ての物理リンクは、遠隔ミラーリングの性能を最大限にするために用いなければならない。最終ステップでは、各ソースから各ターゲットへの遠隔ミラーリングを確立するタスクが生じる。ユーザがこれらのステップのいずれかで間違いをした場合、遠隔ミラーは有効にならない場合がある。更に、ユーザは、災害が起きてからその間違いに気づくことがあるが、その時には遅すぎる。最後に、コンフィギュレーションが変化した場合、ユーザはこれらのステップを再び行ってミラーのコンフィギュレーションを再び行わなければならない。
【０００６】
「Mirroring Agent Accessible To Remote Host Computers, And AccessingRemote Data-Storage Devices, VIA A Communications Medium」と題する米国公開特許第ＵＳ２００２／０１０３９６９  Ａ１号は、ハードウエア・ベースのミラーリング・エージェント（agent）を開示し、これが、ミラーリングしたＬＵＮを含む遠隔ホスト・コンピュータに対するインタフェースとなるＬＵＮベースの入力／出力（Ｉ／Ｏ）を提供する。ハードウエア・ベースのミラーリング・エージェントは、ディスク・アレイに似ているが、遠隔データ・ストレージ・デバイスに対するインタフェースを管理し、これをホスト・コンピュータに与える。ミラーリング・エージェントに利用可能なのは、コンフィギュレーションおよび管理インタフェースを介してセットアップし初期化するミラー関係の位置、アドレス、遠隔データ・ストレージ・デバイスあるいは仕様またはそれら全てである。次いで、ミラーリング・エージェントは、通信媒体を介して、遠隔データ・ストレージ・デバイスに対するＬＵＮベースのインタフェースをホスト・コンピュータに提供する。ホスト・コンピュータは、自動化発見プロセスによって、通信媒体を介してアクセス可能な遠隔デバイスを再マッピングすることができる。その間に、ボリューム・マネジャ・テーブルまたはホストＩ／Ｏテーブルの更新を行う。ミラーリング・エージェントは、周知のディスク・ミラーリング技法を用いて、ミラーリングしたデータ・ストレージ・デバイスのグループを確立し同期化する。しかしながら、ハードウエア・ベースのミラーリング・エージェントをセットアップするプロセスは、間違いを犯しやすく、長い時間がかかる。これは手作業のプロセスであり、自動的なプロセスではない。ミラーリング・エージェントは、ミラーリングのソースおよびターゲット・ボリュームを選択するために、人の知能を必要とする。
【特許文献１】米国公開特許第ＵＳ２００２／０１０３９６９  Ａ１号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
データベースおよび他のアプリケーションを遠隔で自動的にミラーリングするタスクを実行する方法およびシステムが求められていることは明らかである。
【課題を解決するための手段】
【０００８】
第１の態様では、本発明は、データ・ストレージ・コンフィギュレーションを動的にミラーリングするためのコンピュータを提供する。このコンピュータは、データ・ストレージ媒体に結合されたデータ・インタフェースであって、これを介して、第１のデータ・ストレージ媒体の第１のストレージ・コンフィギュレーションに関連した情報を通信する、データ・インタフェースと、コンピュータ読み取り可能媒体上に記録され、第１のストレージ・コンフィギュレーションを第２のストレージ・コンフィギュレーションと比較するためのソフトウエア・エージェントであって、少なくとも第１および第２のストレージ・コンフィギュレーション間でストレージ・コンフィギュレーション・パラメータが異なる場合、第１のストレージ・コンフィギュレーションを自動的に適合させて第２のストレージ・コンフィギュレーションをミラーリングすること、および、第２のストレージ・コンフィギュレーションを適合させて第１のストレージ・コンフィギュレーションをミラーリングするために行われる変更を自動的に出力することの一方を行う、ソフトウエア・エージェントと、通信インタフェースであって、これを介して、第２のストレージ・コンフィギュレーションの受信および行われる変更の送信の一方を行う、通信インタフェースと、ソフトウエア・エージェントを実行するためのデータ・プロセッサと、
を含む。
【０００９】
好ましくは、ストレージ・コンフィギュレーション・パラメータは、データベース・レイアウト、論理装置番号（ＬＵＮ）タイプ、ＬＵＮサイズ、ＬＵＮ性能の尺度、およびＬＵＮ信頼性の尺度の群から選択される。
【００１０】
好ましくは、ソフトウエア・エージェントは、通信インタフェースを介して、第２のソフトウエア・エージェントに第１のストレージ・コンフィギュレーションを出力すること、および第２のソフトウエア・エージェントから第２のストレージ・コンフィギュレーションを受信することの一方を行うようにコンフィギュレーションが行われている。
【００１１】
好ましくは、第１のストレージ・コンフィギュレーションを適合させて第２のストレージ・コンフィギュレーションをミラーリングすることは、データ・ストレージ媒体の一次ＬＵＮが適切でない場合に、通信インタフェースを介して受信したＬＵＮタイプおよびＬＵＮサイズの少なくとも１つに基づいて二次ＬＵＮを生成することを含む。
【００１２】
好ましくは、ソフトウエア・エージェントは、リレーショナル・データベース管理コンピュータ・プログラムから第１のストレージ・コンフィギュレーションを受信する。
【００１３】
第２の態様では、本発明は、遠隔ミラーリング・システムの自己コンフィギュレーションを容易にする方法を提供する。この方法は、一次（primary）ストレージ・コンフィギュレーションおよびデータベース・レイアウトを見出すステップと、前記一次ストレージ・コンフィギュレーションおよびデータベース・レイアウトをマッピングして少なくとも１つの一次ストレージ・サブシステム・ボリュームを生成するステップと、遠隔ストレージ・サブシステムに関連した情報を受信するステップと、前記一次ストレージ・サブシステム・ボリュームおよびリレーショナル・データベース管理システム（ＲＤＢＭＳ）にポーリングするステップと、前記一次ストレージ・サブシステム・ボリュームからの現在の情報を受信した情報と比較するステップと、前記遠隔ストレージ・サブシステムにストレージの変更を送信するステップと、を含む。  
【００１４】
好ましくは、前記ストレージ変更が、データベース変更の代わりに用いられる。
【００１５】
この方法は、好ましくは、物理ＬＵＮに対応して特定のローカル・ストレージ・システムから受信したボリュームをマッピングするステップであって、前記物理ＬＵＮが遠隔ストレージ・サブシステムにミラーリングされている、ステップと、サイズ、タイプ、性能、および信頼性の少なくとも１つに基づいて遠隔ミラーＬＵＮを評価して適切なＬＵＮを見出すステップと、適切なＬＵＮが見つからない場合、適切な遠隔ミラーＬＵＮを生成するステップと、ボリュームを追加する場合、適切なターゲットを生成してボリュームをミラーリングするステップと、を更に含む。
【００１６】
好ましくは、前記マッピングするステップは、ミラーリングの状態を照会（クエリー）してアプリケーションのための適正なコンフィギュレーションを決定するステップを更に含み、前記評価するステップが、前記遠隔ストレージ・サブシステムにおける適正な修正を決定し、これが、少なくとも１つの新しいボリュームをミラーリングするための手順を呼び出すこと、および、少なくとも１つの新しいボリュームを前記遠隔ストレージ・サブシステムに割り当てることを含み、前記修正が、少なくとも１つの新しいボリュームを動作している論理ボリュームに追加すること、遠隔ストレージ・サブシステムを更新すること、および、前記少なくとも１つの新しいボリュームをミラーリングするための手順を呼び出すことを更に含む。
【００１７】
第３の態様では、本発明は、コンピュータ・システムにロードされて実行されると、第２の態様に従った方法の全てのステップを実行するコンピュータ・プログラム・コードを含むコンピュータ・プログラムを提供する。
【００１８】
本発明の好適な実施形態の１つの態様は、データ・ストレージ・コンフィギュレーションを動的にミラーリングするためのコンピュータである。このコンピュータは、データ・インタフェース、ソフトウエア・エージェント、通信インタフェース、およびデータ・プロセッサを含む。データ・インタフェースは、データ・ストレージ媒体に結合され、第１のデータ・ストレージ媒体のストレージ・コンフィギュレーションに関する情報が、データ・インタフェースを介してコンピュータに通信される。ソフトウエア・エージェントは、コンピュータ読み取り可能媒体上に記録され、データ・インタフェースを介して受信した第１のストレージ・コンフィギュレーションと呼ぶストレージ・コンフィギュレーション情報を、第２のストレージ・コンフィギュレーションと比較する。第２のストレージ・コンフィギュレーションは、通信インタフェースを介して受信する。ソフトウエア・エージェントは、第２のストレージ・コンフィギュレーションを用いて、第１のデータ・ストレージ媒体の第１のストレージ・コンフィギュレーションを自動的に適合させて第２のストレージ・コンフィギュレーションをミラーリングする。これは、少なくとも第１および第２のストレージ・コンフィギュレーション間でストレージ・コンフィギュレーション・パラメータが異なる場合に行われるが、もっと頻繁に行われる可能性もある。データ・プロセッサは、データ・インタフェース、通信インタフェース、およびソフトウエア・エージェントを記録するコンピュータ読み取り可能媒体に結合され、そういった様々なコンポーネントを調整する。
【００１９】
本発明の好適な実施形態の別の態様は、データのローカル集合体を動的にミラーリングするためのコンピュータ・プログラムである。このコンピュータ・プログラムは、少なくとも１つの遠隔ストレージ・サーバおよびローカル・ソフトウエア・エージェントに結合するように構成したコンピュータ読み取り可能ストレージ媒体上に記録された遠隔ソフトウエア・エージェントを含む。遠隔ソフトウエア・エージェントは、ローカル・ソフトウエア・エージェントからローカル・ストレージ・パラメータを含むローカル・ストレージ・サーバ・コンフィギュレーションを受信し、少なくとも１つの遠隔ストレージ・サーバからのローカル・ストレージ・パラメータに対応する遠隔ストレージ・パラメータを決定し、受信したストレージ・パラメータに関連して遠隔ストレージ・サーバのコンフィギュレーションを行ってローカル・ストレージ・サーバ・コンフィギュレーションをミラーリングするためのコンピュータ命令を含む。
【００２０】
本発明の好適な実施形態の別の態様は、遠隔ミラーリング・システムの自己コンフィギュレーションを容易にする方法である。この方法は、一次ストレージ・コンフィギュレーションおよびデータベース・レイアウトを少なくとも見出すステップと、見出した一次ストレージ・コンフィギュレーションおよびデータベース・レイアウトをマッピングして少なくとも１つの一次ストレージ・サブシステム・ボリュームを生成するステップとを含む。この方法は、更に、遠隔ストレージ・サブシステムに関連した情報を受信するステップと、一次ストレージ・サブシステム・ボリュームおよびリレーショナル・データベース管理システム（ＲＤＢＭＳ）にポーリングするステップと、一次ストレージ・サブシステム・ボリュームからの現在の情報を受信した情報と比較するステップとを含む。少なくとも、比較において何らかの差が記録されると、この方法は、遠隔ストレージ・サブシステムにストレージの変更を送信するステップを含む。
【００２１】
本発明の好適な実施形態の別の態様は、ストレージ・システム・ハードウエア・ミラーリング機能を自動的に拡張する方法である。この方法は、物理ＬＵＮに対応して特定のローカル・ストレージ・システムから受信したボリュームをマッピングするステップを含む。ＬＵＮは、遠隔ストレージ・サブシステムにミラーリングされている。また、この方法は、サイズ、タイプ、性能、および信頼性の少なくとも１つに基づいて遠隔ミラーＬＵＮを評価して適切なＬＵＮを見出すステップを含む。適切なＬＵＮが見つからない場合、この方法は、適切な遠隔ミラーＬＵＮを生成するステップを含み、更に、ボリュームを追加する場合、適切なターゲットを生成してボリュームをミラーリングするステップを含む。
【００２２】
特許請求した本発明のこれらおよび他の好適な態様は、以下の説明から明らかとなろう。以下の説明は、添付図面と関連付けて読むことで、特許請求した本発明の好適な実施形態を例示するために用いられる。
【発明を実施するための最良の形態】
【００２３】
これより、添付図面を参照して、本発明の好適な実施形態を、一例としてのみ記載する。
【００２４】
以下で、特許請求した本発明を、一次（primary：プライマリ）ホストのデータベース・ボリュームをバックアップ・ホストのボリュームにミラーリングすることに関連付けて説明するが、上述したアプリケーションを含む他のアプリケーションに本発明の原理を適用可能であることは、当業者には認められよう。
【００２５】
図１は、動的リレーショナル・アプリケーションのための自己コンフィギュレーション遠隔ミラーリング・システム１０を示し、各々が１つ以上のストレージ・サーバを含むローカル・サイト２０（一次ホスト）および遠隔サイト３０（バックアップ・ホスト）を含む。コンピュータ・システムは、第１の外部ストレージ・サーバ１０ａおよび第２の外部ストレージ・サーバ１０ｂを含み、これらは双方とも、リレーショナル・データベース管理システム（ＲＤＢＭＳ）を介して情報を処理する。遠隔サイト３０は、ローカル・サイト２０に、災害回復環境等のデータ・バックアップ・リソースを提供する。第１の外部ストレージ・サーバ１０ａのローカル・システム・コンポーネントは、遠隔サイト３０において、第２の拡張ストレージ・サーバ１０ｂ内で複製され、コンパチブルにコンフィギュレーションが行われている。ローカル・サイト２０および遠隔サイト３０は、ローカル・エージェント２０ａおよび遠隔エージェント３０ａを含むソフトウエア・エージェントを有し、これらは、ローカル・サイトおよび遠隔サイトの双方で処理を行う。
【００２６】
ローカル・エージェント２０ａは、リレーショナル・データベース管理システム（ＲＤＢＭＳ）を処理する第１の外部ストレージ・サーバ１０ａに接続されている。ローカル・エージェントは、第１の外部ストレージ・サーバ１０ａのコンフィギュレーションを見出し、次いでその上のデータベース・レイアウトを見出す。
【００２７】
遠隔エージェント３０ａは、ＲＤＢＭＳを処理する第２の外部ストレージ・サーバ１０ｂに接続されている。遠隔エージェント３０ａは、ローカル・エージェント２０ａから、第１の外部ストレージ・サーバ１０ａの第１のコンフィギュレーション情報２１を受信する。次いで、遠隔エージェント３０ａは、第２の外部ストレージ・サーバ１０ｂ上に、適切な第２のコンフィギュレーション情報３１を生成し、１つ以上の遠隔ミラー・リンク４０を介して、ローカル・ボリューム２１ａのミラーリングを開始する。主にサイズおよびタイプの基準に基づいて、遠隔ミラー論理装置番号（ＬＵＮ）３１ａを適合性について評価する。あるいは、この評価は、性能および信頼性の基準を含むように拡張することができる。適切なＬＵＮが見つからない場合、ソフトウエア・エージェントは、第１のコンフィギュレーション情報２１（ローカル・ボリューム２１ａ）のタイプおよびサイズに基づいて、１つ以上の二次ＬＵＮ３１ｂを生成する。更に、ソフトウエア・エージェントは、ユーザ定義のポリシ（policy）に基づいて二次ＬＵＮ３１ｂを生成することができる。遠隔エージェント３０ａは、ローカル・サイト２０におけるローカル・エージェント２０ａから物理データベース・レイアウト２２を受信し、次いで、遠隔サイト３０上で同一のコンフィギュレーションをミラーリングする。
【００２８】
第１のコンフィギュレーション情報２１の最初のコンフィギュレーションの後に、ローカル・エージェント２０ａは、バックグラウンドで、ストレージ割り当てまたはデータベース・コンフィギュレーションの変更について周期的にチェックする処理を行う。ローカル・エージェント２０ａが、遠隔サイト３０における複製を必要とする変更を検出すると、第２の外部ストレージ・サーバ１０ｂに適切なコンフィギュレーション変更を行うように、遠隔エージェント３０ａにメッセージを送る。例えば、再コンフィギュレーションが必要な変更には、データベースに対する新たなボリュームの追加、データベースからのボリューム（複数のボリューム）の除去、および性能または他の理由でデータベースを異なるボリュームに移動させることが含まれるが、これらに限定されているわけではない。再コンフィギュレーションを必要とする他の変更には、異なるボリュームまたはバックアップのボリュームが用いられるエラー条件が含まれる。あるいは、第１のサーバ１０ａと第２のサーバ１０ｂとの間の遠隔ミラー・リンク（複数のリンク）４０（パス）が故障し、別のパス（path）を用いるか、新たなパスを生成しなければならない場合である。遠隔エージェント２０ａは、コンフィギュレーション変更の情報を受信すると、第１および第２の外部ストレージ・デバイスに対して必要な変更を実行する。適切なボリュームが利用可能でない場合、例えば、ユーザ定義のポリシに基づいて、ローカル・ボリューム２１ａおよび遠隔ボリューム３１ｃを生成することができる。
【００２９】
当業者には理解されようが、自己コンフィギュレーション遠隔ミラーリング・システム１０、特にソフトウエア・エージェントは、データベースに限定されない。更に、システム１０、特にソフトウエア・エージェントは、特定のホストまたはホスト・ユーザのグループの全ボリューム、異なるアプリケーション、全ストレージ・サブシステムのコンフィギュレーション、またはストレージ・エリア・ネットワーク（ＳＡＮ：storage area network）に拡張することができる。
【００３０】
図２は、ソフトウエア・エージェントを用いることによってリレーショナル・データベース管理システムの遠隔ミラーを生成する自動化プロセスを説明する方法１００を示す。ステップ１１０において、ソフトウエア・エージェントは、自動化ミラーリング・プロセスを開始するためのコマンドを受信する。ステップ１１２において、ソフトウエア・エージェントは、ローカル（一次）サイトにおいて、ストレージ・コンフィギュレーションおよびデータベース・レイアウトを見出す。ステップ１３４において、ソフトウエア・エージェントは、マッピングした情報を複製遠隔ストレージ・システムにリレーする。別のステップ１２６では、ソフトウエア・エージェントは、データベースおよびストレージ・システムを変更がないか否か監視する。次いで、ソフトウエア・エージェントは、ストレージあるいはデータベースまたはその両方の変更を、遠隔ストレージ・サブシステムに伝える。ある時点で、ユーザが、データをもうミラーリングする必要がないと決定した場合、彼または彼女は、ミラーリング・プロセスを停止するコマンドを発行することができる。
【００３１】
ステップ１１２では、ストレージ・コンフィギュレーションおよびデータベース・レイアウトを見出す。ストレージ・サブシステム・レイアウトは、ストレージ・システム供給業者からの異なるソフトウエア・ツールによって決まる。あるいは、これは、規格に基づいたインタフェースを用いることも可能である（Storage Networking Industry Associationのストレージ管理インタフェース（ＳＭＩ：Storage ManagementInterface））。物理データベース・レイアウトは、システムの各層において、すなわち、データベース、オペレーティング・システム、ボリューム・マネジャ、およびストレージ・サブシステムにおいて、情報を収集することによって見出すことができる。ステップ１１４では、ソフトウエア・エージェントは、論理装置番号（ＬＵＮ）の割り当て、すなわち、どのＬＵＮをどのホストに割り当てるか（図１におけるローカル・サイト２０および遠隔サイト３０）を決定する。ステップ１１６において、ソフトウエア・エージェントは、特定のデータベースにどのＬＵＮを用いているかを判定する。あるいは、他のアプリケーションの代わりにデータベースを用いることができる。ステップ１１８では、ソフトウエア・エージェントは、各ＬＵＮのサイズおよびタイプを決定する（例えば、固定長ブロック、カウント・キー・データ（ＣＫＤ）、またはレイド（ＲＡＩＤ：redundant arrays of inexpensive disks）。ステップ１２０において、ソフトウエア・エージェントは、各ボリュームの使用法、例えば、データベース・ログ・ファイルまたはデータベース・データ、ならびに、ランダム、順次、読み取りおよび書き込みを含むがこれらには限定されないアクセス・パターンを決定する。更に、ステップ１２０では、ユーザ定義のグルーピングがある場合、これを決定する。
【００３２】
ステップ１１４、１１６、１１８、１２０は、データベース／オペレーティング・システム・コンテナ（container）から１つ以上のストレージ・サブシステム・ボリュームへのマッピングの生成である。ストレージ・サブシステム・ボリュームとデータベース／オペレーティング・システム・コンテナとの間の関係は、大数対大数（a large number to a large number）である。例えば、単一のコンテナが多数のストレージ・ボリュームを含み、単一のストレージ・ボリュームが多数のデータベース／オペレーティング・システム・コンテナにおいて使用可能である。更に、ステップ１２２において、サブシステム・ボリュームを、対応する論理装置番号ＬＵＮにマッピングすることができる。ＬＵＮを論理グルーピングに配置することができる。例えば、論理グルーピングは、１つのデータベースが用いる全てのボリューム、特定のホストが用いる全てのボリューム、ユーザ定義のグルーピング、または１組の業務用アプリケーションのために用いられる全てのボリュームを含むが、これらには限定されない。
【００３３】
ステップ１３４では、ソフトウエア・エージェントは、マッピングした情報を複製遠隔ストレージ・サブシステムにリレーする。第１の外部ストレージ・サーバ１０ａ（図１）上で処理を行うソフトウエア・エージェント（ローカル・エージェント２０ａ）は、第１のコンフィギュレーション情報２１を収集し、それを遠隔エージェント３０ａに転送する。遠隔エージェントは、第２の外部ストレージ・サーバ１０ｂ上で同様に処理を行う（図１）。最初は、第２の外部ストレージ・サーバ（遠隔ストレージ・サブシステム）情報は、第１の外部ストレージ・サーバ（一次ストレージ・サブシステム）情報と同一である。ステップ１２６において、ローカル・エージェントは、周期的にストレージ・サブシステムおよびＲＤＢＭＳにポーリングして、ステップ１３２において、現在の情報と以前に格納した情報とを比較し、変化があったか否かを調べる。ステップ１３４において、遠隔エージェントは、ストレージあるいはデータベースまたはその両方の変化を遠隔ストレージ・サブシステムに伝える。ローカル・エージェントが、物理ストレージ・コンフィギュレーションに影響を与える変化を検出した場合、その変化は遠隔エージェントに伝えられ、次いで遠隔ストレージ・システムに適用される。
【００３４】
ステップ１２４において、ソフトウエア・エージェントは、ミラーリングの状態を照会する。すでにミラーリングを実行するために適正なコンフィギュレーションがアプリケーションに対して行われている場合、ステップ１２５において、ポーリング・モードに移行する決定を行い、ステップ１２６において、ストレージ・サブシステムにポーリングする。これによって、ソフトウエア・エージェントを、既存のミラーリング・コンフィギュレーションおよび新しいコンフィギュレーションによって用いることができる。ステップ１２５において、ミラーリングを実行するために適正なコンフィギュレーションがアプリケーションに対して行われていない場合、ソフトウエア・エージェントはプロセスをステップ１３３に進ませて、変更を記録する。
【００３５】
ソフトウエア・エージェントは、更に処理を続け、ストレージ割り当ておよびアプリケーション・コンフィギュレーションの変更についてポーリングを行う。ステップ１３２において、ソフトウエア・エージェントは、ローカル・ストレージ・サブシステムで変更を検出したか否かを判定する。変更を検出していない場合、ソフトウエア・エージェントは、ステップ１２６に戻って、ストレージ・サブシステムにポーリングする。しかしながら、ステップ１３２においてローカル・ストレージ・サブシステムに対する変更を検出した場合、ステップ１３３において、変更を記録する。例えば、データベースに対する新しいボリュームの追加が検出され、ソフトウエア・エージェントは、新しいボリュームの使用法を識別し理解する。いったんステップ１３３において変更を記録すると、ソフトウエア・エージェントは、ステップ１４０において、変更に応じて適切に動作する。変更がミラーリングを停止するためのコマンドである場合、ステップ１３８においてプロセスは終了する。その他の場合、ステップ１３４において、ソフトウエア・エージェントは、遠隔システムに適切な修正を行う。次いで、ステップ１３６において、ソフトウエア・エージェントは、新しいボリュームを遠隔ホストに割り当てるか、あるいはボリュームをフォーマットするか、またはその両方を行う。更に、ステップ１３６において、ソフトウエア・エージェントは、新しいボリュームをオペレーティング・システムの論理ボリュームに追加して、データベースあるいはアプリケーションのコンフィギュレーションまたはその両方を更新する。いったんステップ１３６が完了すると、ソフトウエア・エージェントはステップ１３７に進んで、新しいボリュームをミラーリングするための手順を呼び出す。ステップ１３７が完了すると、ソフトウエア・エージェントは、ステップ１２６においてポーリング・モードに戻って、動的リレーショナル・データベースまたはアプリケーションの遠隔ミラーリングを自動的に自己コンフィギュレーションするプロセスを繰り返す。
【００３６】
まとめると、図２が示す方法１００は、ストレージ・システム・ハードウエア・ミラーリングの機能を自動的に拡張して、ホスト・ソフトウエア、異なる機能のアプリケーションおよびデータベースを含むようにすることを含む。ステップ１１４、１１６、１１８、および１２０において、特定のホストまたはアプリケーションが現在用いているボリュームを、対応する物理ＬＵＮにマッピングする。ステップ１１４と１３２との間のステップにおいて、ポーリング、マッピング、およびマッピングしたＬＵＮの遠隔ストレージ・サブシステムとの比較を行う。ステップ１１８は、主にサイズおよびタイプの基準に基づいて、適合性について遠隔ミラーＬＵＮを評価する。あるいは、この評価は、性能および信頼性の基準を含むように拡張可能である。適切なＬＵＮを見出せない場合、ステップ１２４において、この方法は、サイズおよびタイプの基準ならびにユーザ定義のポリシに基づいて、適切なＬＵＮを生成する。代替案では、ローカル（一次）サイト・データベースにボリュームの追加がある場合、この方法は、自動的に適切なターゲットを見つけるかまたは生成し、そのボリュームのミラーリングを開始する。同様に、データが異なる位置に動くかまたはローカル（ソース）データベースから動く場合、古いボリュームはミラーリングを必要とせず、この方法は自動的にミラーリング機能を実行する。
【００３７】
図３は、ソース・コンピュータ４２の論理ブロック図である。これが含む第１のデータ・インタフェース４４は、バックアップするデータを格納する一連のソース・ボリュームを含み得るソース・データ・ストレージに、ソース・コンピュータ４２を結合する。また、ソース・コンピュータ４２は、第１のデータ・プロセッサ４６、１つ以上のコンピュータ読み取り可能ストレージ媒体上に格納された１つ以上の第１の格納プログラム４８、および、揮発性あるいは不揮発性メモリまたはその両方を含み得る第１のメモリ５０を含む。ソース・コンピュータ４２は、更に、本発明に従って、ソース・データ・ストレージまたはバックアップ・データ・ストレージに関連したコンフィギュレーション情報等のデータを受信および送信するためのソース通信インタフェース５２を含む。バックアップ・データ・ストレージのコンフィギュレーションに基づいて、ソース・データ・ストレージの再コンフィギュレーションが行われる場合、ソース・コンピュータ４２は、バックアップ・コンピュータ６２からコンフィギュレーション情報を受信することができる。図３に示す第１のプロセッサ４６、格納された第１のプログラム４８、第１のメモリ５０、および第１のデータ・インタフェース４４間の相互接続は、例示的なものであり、限定ではない。ソース通信インタフェース５２は、モデムまたはいずれかの適切な接続等の第１の通信インタフェース５４に結合することができる。ソース・コンピュータ４２は、更に、キーボード等の第１のユーザ・インタフェース５６および第１のディスプレイ５８を含むことができる。しかしながら、本発明のいくつかの実施形態では、ソース・コンピュータ４２およびバックアップ・コンピュータ６２を、ローカル、地域、またはグローバルなネットワークを介してでなく直接に接続する場合等（ソース４２およびバックアップ６２が同一の物理的設備に位置する場合等）には、第１の通信インタフェース５４を含む必要がない。同様に、第１のユーザ・インタフェース５６および第１のディスプレイ５８は、本発明の自動化の特徴のために不可欠ではないが、それらは、ユーザ定義のパラメータの入力および確認のために望ましい場合がある。
【００３８】
バックアップ・コンピュータ６２は、データ・インタフェース６４を含み、これは、バックアップされるデータを格納するための一連のバックアップ・ボリュームを含み得るバックアップ・データ・ストレージに、バックアップ・コンピュータ６２を結合する。本発明はコンフィギュレーションのミラーリングを必要とするだけなので、バックアップ・データ・ストレージは、ソース・データ・ストレージと同じモデルまたはタイプである必要はない。バックアップ・データ・ストレージおよびソース・データ・ストレージが同じモデルあるいはタイプまたはその両方でない場合、各データ・インタフェース４４、６４は物理的に同一でない場合があるが、それらは、ソース・コンピュータおよびバックアップ・コンピュータ４２、６２を介して相互にコンフィギュレーション・データを転送する際に同様に機能する。
【００３９】
また、バックアップ・コンピュータ６２は、第２のデータ・プロセッサ６６、１つ以上のコンピュータ読み取り可能ストレージ媒体上に格納された１つ以上の第２の格納したプログラム６８、および、揮発性あるいは不揮発性またはその両方のメモリを含み得る第２のメモリ７０を含む。バックアップ・コンピュータ６２は、更に、本発明に従って、ソース・データ・ストレージまたはバックアップ・データ・ストレージに関連したコンフィギュレーション情報等のデータを受信および送信するためのバックアップ通信インタフェース７２を含む。図３に示す第２のプロセッサ６６、格納された第２のプログラム６８、第２のメモリ７０、および第２のデータ・インタフェース６４間の相互接続は、例示的なものであり、限定ではない。バックアップ通信インタフェース７２は、モデム等の第２の通信インタフェース７４に結合することができる。バックアップ・コンピュータ６２は、更に、キーボード等の第２のユーザ・インタフェース７６および第２のディスプレイ７８を含むことができる。しかしながら、本発明のいくつかの実施形態では、上述した例の実施形態等で、第２の通信インタフェース７４を含む必要がない。同様に、第２のユーザ・インタフェース７６および第２のディスプレイ７８は、本発明の自動化の特徴のために不可欠なものではない。
【００４０】
ソース・コンピュータ４２およびバックアップ・コンピュータ６２は、１つ以上の通信リンク８０を介して相互に結合される。このリンクは、インターネット、イントラネット、ローカル・エリア・ネットワーク、ピコネットワーク（piconetwork）、赤外線またはマイクロ波リンク、前述したような遠隔ミラー・リンク４０、または他のいずれかの実行可能な通信手段によるものとし、有線、無線、またはそれらの組み合わせのいずれかを用いることができる。
【００４１】
ソース・コンピュータ４２およびバックアップ・コンピュータ６２の動作は上述した通りであり、第１および第２のエージェントは、ソースおよび遠隔の格納したプログラム・エリア４８、６８に存在することができる。
【００４２】
特許請求した本発明の好適な実施形態と現在考えられるものについて例示し説明したが、当業者には多数の変更および修正が想起されることは認められよう。
【図面の簡単な説明】
【００４３】
【図１】データベースを自動的にミラーリングするシステムを示すブロック図である。
【図２】ＲＤＢＭＳの遠隔ミラーを生成するプロセスを自動化する方法を示すフロー図である。
【図３】本発明によるホスト・コンピュータおよびバックアップ・コンピュータの論理ブロック図である。
【図１】
2007529059.tif 000002
【図２】
2007529059.tif 000003
【図３】
2007529059.tif 000004
【手続補正書】
【提出日】平成17年10月18日(2005.10.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ・ストレージ・コンフィギュレーションを動的にミラーリングするためのコンピュータであって、
データ・ストレージ媒体に結合されたデータ・インタフェースであって、これを介して、第１のデータ・ストレージ媒体の第１のストレージ・コンフィギュレーションに関連した情報を通信する、データ・インタフェースと、
前記第１のストレージ・コンフィギュレーションを第２のストレージ・コンフィギュレーションと比較するためのソフトウエア・エージェントであって、少なくとも前記第１および第２のストレージ・コンフィギュレーション間でストレージ・コンフィギュレーション・パラメータが異なる場合、前記第１のストレージ・コンフィギュレーションを自動的に適合させて前記第２のストレージ・コンフィギュレーションをミラーリングするか、または、前記第２のストレージ・コンフィギュレーションを適合させて前記第１のストレージ・コンフィギュレーションをミラーリングするために行われる変更を自動的に出力する、ソフトウエア・エージェントと、
通信インタフェースであって、これを介して、前記第１または前記第２のストレージ・コンフィギュレーションの受信および前記行われる変更の送信を行う、通信インタフェースと、
前記ソフトウエア・エージェントを実行するためのデータ・プロセッサと、
を含む、コンピュータ。
【請求項２】
前記ストレージ・コンフィギュレーション・パラメータが、データベース・レイアウト、論理装置番号（ＬＵＮ）タイプ、ＬＵＮサイズ、ＬＵＮ性能の尺度、およびＬＵＮ信頼性の尺度の群から選択される、請求項１に記載のコンピュータ。
【請求項３】
前記ソフトウエア・エージェントが、前記通信インタフェースを介して、第２のソフトウエア・エージェントに前記第１のストレージ・コンフィギュレーションを出力すること、および前記第２のソフトウエア・エージェントから前記第２のストレージ・コンフィギュレーションを受信することの一方を行うようにコンフィギュレーションが行われている、請求項１に記載のコンピュータ。
【請求項４】
前記第１のストレージ・コンフィギュレーションを適合させて前記第２のストレージ・コンフィギュレーションをミラーリングすることが、前記データ・ストレージ媒体の一次ＬＵＮが適切でない場合に、前記通信インタフェースを介して受信したＬＵＮタイプおよびＬＵＮサイズの少なくとも１つに基づいて二次ＬＵＮを生成することを含む、請求項１に記載のコンピュータ。
【請求項５】
前記ソフトウエア・エージェントが、リレーショナル・データベース管理コンピュータ・プログラムから前記第１のストレージ・コンフィギュレーションを受信する、請求項１に記載のコンピュータ。
【請求項６】
遠隔ミラーリング・システムの自己コンフィギュレーションを容易にする方法であって、
一次ストレージ・コンフィギュレーションおよびデータベース・レイアウトを見出すステップと、
前記一次ストレージ・コンフィギュレーションおよびデータベース・レイアウトをマッピングして少なくとも１つの一次ストレージ・サブシステム・ボリュームを生成するステップと、
遠隔ストレージ・サブシステムに関連した情報を受信するステップと、
前記一次ストレージ・サブシステム・ボリュームおよびリレーショナル・データベース管理システム（ＲＤＢＭＳ）にポーリングするステップと、
前記一次ストレージ・サブシステム・ボリュームからの現在の情報を前記受信した情報と比較するステップと、
前記遠隔ストレージ・サブシステムにストレージの変更を送信するステップと、
を含む、方法。  
【請求項７】
前記ストレージ変更が、データベース変更の代わりに用いられる、請求項６に記載の方法。
【請求項８】
物理ＬＵＮに対応して特定のローカル・ストレージ・システムから受信したボリュームをマッピングするステップであって、前記物理ＬＵＮが遠隔ストレージ・サブシステムにミラーリングされている、ステップと、
サイズ、タイプ、性能、および信頼性の少なくとも１つに基づいて遠隔ミラーＬＵＮを評価して適切なＬＵＮを見出すステップと、
適切なＬＵＮが見つからない場合、適切な遠隔ミラーＬＵＮを生成するステップと、
ボリュームを追加する場合、適切なターゲットを生成してボリュームをミラーリングするステップと、
を更に含む、請求項６または７に記載の方法。
【請求項９】
前記マッピングするステップが、前記ミラーリングの状態を照会してアプリケーションのための適正なコンフィギュレーションを決定するステップを更に含み、
前記評価するステップが、前記遠隔ストレージ・サブシステムにおける適正な修正を決定し、該評価するステップが、少なくとも１つの新しいボリュームをミラーリングするための手順を呼び出すこと、および、前記少なくとも１つの新しいボリュームを前記遠隔ストレージ・サブシステムに割り当てることを含み、
前記修正が、少なくとも１つの新しいボリュームを動作している論理ボリュームに追加すること、遠隔ストレージ・サブシステムを更新すること、および、前記少なくとも１つの新しいボリュームをミラーリングするための手順を呼び出すことを更に含む、請求項６から８のいずれかに記載の方法。
【請求項１０】
コンピュータ・システムにロードされて実行されると、請求項６から９のいずれかに記載の方法の全てのステップを実行するコンピュータ・プログラム・コードを含むコンピュータ・プログラム。
【国際調査報告】
2007529059.tif 000005
2007529059.tif 000006
2007529059.tif 000007