(57)【特許請求の範囲】
【請求項１】
データ記憶システムと、少なくともその幾つかが前記データ記憶システムに接続された複数のホストプロセッサとを含み、前記データ記憶システムは作業用データベースを記憶している環境において意志決定支援を実現する方法であって、
複数のホストプロセッサの内から選択されたひとつのホストプロセッサが前記作業用データベースを継続的に更新する工程と、
前記作業用データベースが継続的に更新されている間に、前記データ記憶システムが前記作業用データベースをミラーリングしてミラーコピーを生成する工程と、
前記データ記憶システムが前記データベースの前記ミラーコピーを用いて前記データベースのサポートコピーを生成する工程と、
前記複数のホストプロセッサの内の別のひとつのホストプロセッサが意志決定支援機能を実現する目的で前記サポートコピーを使用する工程とを備えてなる意志決定支援を実現する方法。
【請求項２】
前記サポートコピーを生成する工程は、
前記データ記憶システムが任意の時点ｔ0において前記作業用データベースから前記ミラーコピーを接続解除する工程と、
前記データ記憶システムが接続解除された前記ミラーコピーから前記サポートコピーを生成する工程とからなる請求項１に記載の方法。
【請求項３】
前記サポートコピーを生成する工程は、
前記データ記憶システムが前記作業用データベースをシャットダウンする工程と、
前記作業用データベースが静止された後に、前記データ記憶システムが前記作業用データベースに対する更新内容をメモリに保持しつつ前記作業用データベースから前記ミラーコピーを接続解除する工程とを更に備えてなる請求項２に記載の方法。
【請求項４】
前記接続解除されたコピーから前記サポートコピーを生成する工程は、前記データ記憶システムが前記接続解除されたコピーを整合性のあるものとする工程を備えてなる請求項２に記載の方法。
【請求項５】
前記サポートコピーを意志決定支援機能に使用した後、前記データ記憶システムが該ミラーコピーを前記作業用データベースに再接続する工程と、
前記データ記憶システムが前記ミラーコピーを前記作業用データベースと同期する工程とを更に備えてなる請求項４に記載の方法。
【請求項６】
前記サポートコピーを意志決定支援機能に使用した後、前記データ記憶システムが、意志決定支援機能の為に該サポートコピーを使用した結果として該ミラーコピーに生じた変更を後退回復することにより修正ミラーコピーを生成する工程と、
前記データ記憶システムが前記修正ミラーコピーを前記作業用データベースに再接続する工程と、
前記データ記憶システムが前記修正ミラーコピーを前記作業用コピーと同期する工程とを更に備え得てなる、請求項４に記載の方法。
【請求項７】
前記データ記憶システムとリモート・データ記憶システムとの間にデータ通信リンクを設立する工程と、
前記データ記憶システムが前記作業用データベースを継続的に更新しつつ、前記データ通信リンクを使用して前記作業用データベースを前記リモート・データ記憶システムにミラーリングして、前記作業用データベースのミラーコピーであるリモートデータベースを生成する工程と、
前記リモート・データ記憶システムが前記サポートコピーを前記リモートデータベースから導く工程と、
前記リモート・データ記憶システムに接続された別のひとつのホストプロセッサが意志決定支援機能を実現する目的で前記サポートコピーを使用する工程とを更に備える請求項２に記載の方法。
【請求項８】
前記リモート・データ記憶システムが前記リモートデータベースコピーを前記作業用データベースから接続解除する工程と、
前記リモート・データ記憶システムが前記接続解除されたミラーコピーから前記サポートコピーを生成する工程とを更に備えてなる請求項７に記載の方法。
【請求項９】
前記サポートコピーを生成する工程は、
前記データ記憶システムが前記作業用データベースをシャットダウンする工程と、
前記作業用データベースが静止した後に前記データ記憶システムが前記作業用データベースに対する更新内容をメモリに保持しつつ前記ミラーコピーを前記作業用データベースから接続解除する工程とを更に備えてなる請求項８に記載の方法。
【請求項１０】
前記接続解除されたミラーコピーから前記サポートコピーを生成する工程は前記データ記憶システムが接続解除されたミラーコピーを整合性のあるものとする工程を備えてなる請求項８に記載の方法。
【請求項１１】
前記サポートコピーを意志決定支援機能に使用した後、前記データ記憶システムが該ミラーコピーを作業用データベースに再接続する工程と、
前記データ記憶システムが前記ミラーコピーを前記作業用データベースと同期する工程とを更に備えてなる請求項９に記載の方法。
【請求項１２】
前記サポートコピーを意志決定支援機能に使用した後、前記データ記憶システムが、意志決定支援機能の為に該サポートコピーを使用した結果として該ミラーコピーに生じた変更を後退回復することにより、修正ミラーコピーを生成する工程と、
前記データ記憶システムが前記修正ミラーコピーを前記作業用データベースに再接続する工程と、
前記データ記憶システムが前記修正ミラーコピーを前記作業用コピーと同期する工程とを更に備え得てなる請求項１１に記載の方法。
【請求項１３】
データ記憶システムと、少なくともその幾つかが前記データ記憶システムに接続された複数のホストプロセッサとを含み、前記データ記憶システムは作業用データベースを記憶している環境において意志決定支援を実現する方法であって、
前記複数のホストプロセッサの内から選択されたひとつのホストプロセッサが前記データベースを継続的に更新する工程と、
前記データ記憶システムが任意の時点ｔ0において前記作業用データベースのコピーを開始して、時点ｔ0における前記作業用データベース内のデータ値を表す並行コピーを生成する工程と、前記更新工程と前記コピー工程は同時に行われることと、
前記データ記憶システムが前記作業用データベースの並行コピーを用いてデータベースのサポートコピーを生成する工程と、
意志決定支援機能を実現する目的で、前記複数のホストプロセッサの異なる一つが前記サポートコピーを使用する工程とを備えてなる意志決定支援を実現する方法。
【請求項１４】
前記データ記憶システムとリモート・データ記憶システムとの間にデータ通信リンクが設立され、
任意の時点ｔ0における前記作業用データベースのコピーでは、前記データ通信リンクを介して前記リモート・データ記憶システムにより前記並行コピーが生成され、
意志決定支援機能を実現する目的で前記サポートコピーを使用する工程は、前記リモート・データ記憶システムに接続された別のひとつのホストプロセッサにより行われる請求項１３に記載の方法。
【発明の詳細な説明】
発明の背景
本発明は、意志決定支援システムに関する。
意志決定支援システム（ＤＳＳ）は、その名称が意味するように、業務上における意志決定などを支援する情報を生成すべく用いられるのが通常である。意志決定支援システムは、業務運営を行う間に蓄積されたデータを分析して評価するものである。例えば、データとしては、マーケティングもしくは販売に関するデータであったり、コンピュータ操作に関する情報であったり、または、今日において一般的に銀行が顧客に財務サービスを提供すべく用いるオンライン・トランザクション処理（ＯＬＴＰ）を通じて発生する財務処理情報であったりする。通常は大量のデータが必要とされると共に、それらのデータに対して意志決定支援システムは極めて複雑な照会を行う。
意志決定支援システムは、大量のデータに隠された傾向を明らかにすることにより、販売機会を見出したり、長期的な戦略および業務計画決定を支援する為に使用されることも多い。この点、多くの意志決定支援システムの心臓部には、データ分析を行うソフトウェアが配備されている。この点、相当の種類の意志決定支援ソフトウェアが市販される一方、それと等しい数だけの自社製カスタム設計プログラムが存在している。これらのプログラムの複雑さは、単純な２次元スプレッドシート・プログラムから、多次元でデータを処理し得る更に洗練されたプログラムまで多岐に亙っている。
これらのプログラムは、意志決定、データ分析、予測、および、時系列分析を行う為にデータを利用する。また、これらのプログラムは、仮定的な質問に対して解答し、財務モデルを作成し、且つ、大量の複雑なデータ中に埋もれてしまうかも知れない有用な情報を抽出する上で、ユーザを支援するものである。この点、上記したプログラム中には、これらの機能を達成するツールが種々見られる。従って、これらのツールが提供する分析形態は、合計、平均および分散などの極めて単純なものから、例えば、散乱プロット、軸／葉線プロットおよび他の確率プロットなどの極めて複雑な手法まで多岐に亙っている。一方、相関、移動平均、トレンド曲線フィッテイング、リスク分析、および限界経路分析を行う他のＤＳＳツールも在る。ＤＳＳプログラム中に見られるツールのリストは極めて多く、データを分析し得る方法を殆ど際限なく反映している。
発明の要約
概略的には、ひとつの側面において本発明は、複数のホストプロセッサが接続されると共にデータベースを記憶するデータ記憶システムを含む環境、において意志決定支援を実現する方法である。該方法は、上記ホストプロセッサの内から選択されたひとつのホストプロセッサを介し、上記データベースを同時進行的に更新する工程と；上記ホストプロセッサの内の別のひとつのホストプロセッサを介し、意志決定支援機能を実現する目的で上記データベースを読出す工程と；を備え、上記データベースの更新および読出しは、上記データベースに関するロックを課さずに、並行して生ずることを許容される。
概略的には、更なる側面において本発明は、データ記憶システムと、少なくともその幾つかが上記データ記憶システムに接続された複数のホストプロセッサとを含み、上記データ記憶システムは作業用データベースを記憶している環境、において意志決定支援を実現する方法である。上記方法は、上記ホストプロセッサの内から選択されたひとつのホストプロセッサを介し、上記作業用データベースを同時進行的に更新する工程と；上記作業用データベースが同時進行的に更新されている間に、上記作業用データベースのコピーを生成または保持する工程と；上記データベースの上記コピーを用いて上記データベースのサポートコピーを生成する工程と；上記ホストプロセッサの内の別のひとつのホストプロセッサを介し、意志決定支援機能を実現する目的で上記サポートコピーを使用する工程とを含む。
好適実施例は、以下の特徴を含んでいる。上記最初に言及されたコピーは、時点ｔ0において取り出された上記作業用データベースの内容のスナップショットである。上記方法はまた、上記作業用データベースをミラーリングしてそのミラーコピーを生成し、該ミラーコピーは上記最初に言及されたコピーである工程を更に含み、且つ、上記サポートコピーを生成する工程は、時点ｔ0において上記作業用データベースから上記ミラーコピーを接続解除する工程と；接続解除された上記ミラーコピーから上記サポートコピーを生成する工程と、を含む。上記サポートコピーを生成する工程は、上記作業用データベースをシャットダウンする工程と；上記作業用データベースが静止された後に、上記作業用データベースから上記ミラーコピーを接続解除する工程とを更に含む。代わりに、もし上記データベースが接続解除の前に完全に静止されなければ、上記接続解除されたコピーから上記サポートコピーを生成する工程は、上記接続解除されたコピーを整合性のあるものとする工程を含む。
好適実施例においてはまた、上記方法は、上記サポートコピーを意志決定支援機能に使用した後、該サポートコピーを上記作業用データベースに再接続する工程と；上記サポートコピーを、それが再び上記作業用データベースのミラーコピーとなる如く上記作業用データベースと再同期する工程と；を更に含んでいる。上記方法は更に、上記サポートコピーを意志決定支援機能に使用した後、意志決定支援機能の為に該サポートコピーを使用した結果として該サポートコピーに生じた変更を後退回復することにより、修正サポートコピーを生成する工程と；上記修正サポートコピーを上記作業用データベースに再接続する工程と；上記修正サポートコピーが再び上記作業用データベースのミラーコピーとなる如く、該修正サポートコピーを上記作業用コピーと再同期する工程とを更に含んでいる。
同様に、好適実施例においては、上記複数のホストプロセッサは第１ホストプロセッサおよび第２ホストプロセッサを含み、上記最初に言及されたデータ記憶システムは、データ通信リンクを介してリモート・データ記憶システムと接続されたローカル・データ記憶システムであり、上記第１ホストプロセッサは上記ローカル・データ記憶システムに接続されると共に上記第２ホストプロセッサは上記リモート・データ記憶システムに接続されている。上記システムにおいて、上記方法は、上記作業用データベースを上記リモート・データ記憶システムにミラーリングすることにより、上記作業用データベースのミラーであるリモートデータベースを生成する工程を更に含み、該ミラーリング工程は上記データ通信リンクを介して実行され、上記ローカルデータベースに為された変更が同時進行的に上記リモートデータベースに記録される如く、上記更新および上記ミラーリングは並行して生じ、上記サポートコピーは上記リモートデータベースから導かれ、且つ、上記第２ホストプロセッサは、意志決定支援機能を実現する目的で上記サポートコピーを使用する。代わりに、上記方法は、時点ｔ0において上記作業用データベースの並行コピーを開始してそのリモートコピーを生成し、上記サポートコピーは上記リモートコピーから導かれる工程と；意志決定支援機能を実現する目的で、上記第２ホストプロセッサを介して上記サポートコピーを読出す工程と；を更に含む。後者の場合、上記該リモートコピーは時点ｔ0における上記作業用データベース内のデータ値を表し、且つ、上記更新および上記並行コピーは同時に生ずる。
本発明は、（例えば数十ギガバイトのデータを有する）極めて大規模なデータベースにより意志決定支援機能を達成する上で特に有用である。
他の利点および特徴は、以下における好適実施例の説明および請求の範囲から明らかとなろう。
【図面の簡単な説明】
図１は、本発明を実施する上で使用され得るシステムのブロック図である。
図２は、図１に示されたデータ記憶システムの内部構造のブロック図である。
図３は、バックアップ復旧機能を用いて意志決定支援コピーを生成するステップを示す図である。
図４は、ミラーリング機能を用いて意志決定支援コピーを生成するステップを示す図である。
図５は、データベースの意志決定支援コピーを生成してからそれをデータベースのオリジナルコピーと再同期するステップを示す図である。
図６は、オリジナルデータベースとの再同期に先立ち意志決定支援コピーを整合状態とするステップを示す図である。
好ましい実施形態の説明
図１には、本発明の種々の特徴を記述すべく用いられるシステムが示されている。該システムは、位置的に相互に離間した箇所に配置された２つのデータ記憶システム１０および１２を含んでいる。以下においては、データ記憶システム１０および１２を夫々、主要データ記憶システムおよび補助データ記憶システムと称する。主要データ記憶システム１０には複数のホストプロセッサ１４（１）乃至１４（ｎ）が接続されると共に、補助データ記憶システム１２には別の複数のホストプロセッサ１６（１）乃至１６（ｍ）が接続されている。これらの２つのシステムは高速通信リンク１８を介して相互に接続され、該リンク上で両システムのデータが転送され得る。
図２を参照すると、複数のホストプロセッサ１４（ｉ）は、対応するホスト接続線２０（１）乃至２０（ｎ）を介してデータ記憶システム１０に夫々接続されている。検討内容を簡素化すべく、各ホストプロセッサに対しては単一本のホスト接続線のみが示されている。但し、データ記憶システムとプロセッサとの間に実際には複数の接続線が存在し得ることは理解されよう。
データ記憶システム１２と同一のデータ記憶システム１０は、（例えばデータベースのレコードなどの）データを記憶する物理的メモリを含んでいる。但し、上記記憶システム内の物理的メモリを実現する詳細な手法、および、それが如何に仕切られるかは本質的に重要でない。データ記憶システム１０および１２を実現し得る市販品の例は、アメリカ合衆国マサチューセッツ州ホプキントン市のＥＭＣ社からのＳｙｍｍｅｔｒｉｘｓ ５ＸＸＸシリーズファミリー製品であり、これはオンラインデータ記憶用に設計された高性能の集積型キャッシュディスク・アレイである。以下におけるデータ記憶システム１０の内部構造および作用に関する詳細は、概略的にＳｙｍｍｅｔｒｉｘＩデータ記憶システムに言及するものである。但し、他の公知のアーキテクチャのデータ記憶システムも使用され得ることは理解される。
データ記憶システム１０は、複数列のディスク装置２２と、システムメモリ２４とを含んでいる。システムメモリ２４の一部はキャッシュメモリ２６を構成している。複数列のディスク装置２２は不揮発性のデータ記憶領域を提供すると共に、キャッシュメモリ２６は一時的データ記憶領域を提供している。ディスク装置２２は各々、ヘッドディスクアセンブリと、マイクロプロセッサと、データ記憶システムにデータの平行処理を行わせ得るデータバッファと、を含んでいる。記述された実施例におけるシステムメモリ２４は、半導体製の高速ＲＡＭで構成されている。キャッシュメモリ２６内にはキャッシュ・インデックス・ディレクトリ２８があるが、これは、キャッシュメモリ２６内にどのデータが存在するかを示すと共に、キャッシュメモリ２６内におけるそのデータのアドレスを提供するものである。キャッシュ・インデックス・ディレクトリ２８は、データレコードをデバイス、シリンダおよびトラックに対して階層構造のテーブルとして構成したものであり、１９９３年４月２７日に発行された米国特許第５，２０６，９３９号に更に記述されているが、該米国特許の内容なここに開示してものとする。
データ記憶システム１０に対してホストプロセッサ１４が接続する為のインタフェースを提供すべく、一連のチャネルアダプタ３０およびチャネルディレクタ３２が配備される。チャネルアダプタ３０は夫々、物理的なホスト接続線に対して直接的に取付けられる。ホストプロセッサ１４からのＩ／Ｏ要求を処理するチャネルディレクタ３２は、ホストプロセッサ１４からのコマンドおよびデータを処理すると共にキャッシュメモリ２６に対するアクセスを管理するマイクロプロセッサを含んでいる。それはキャッシュメモリ２６内に格納されたキャッシュ・インデックス・ディレクトリ２８を使用することにより、要求がキャッシュから満足され得るか、または、データをディスク装置２２から獲得すべきか、を決定する。キャッシュメモリ内に記憶された特定のデータは、実行中のデータベースアプリケーションのデータアクセス・パターンにより定まるものである。各チャネルディレクタ３２は、ホストプロセッサ１４からのデータをキャッシュメモリ２６へ書込むと共にキャッシュ・インデックス・ディレクトリ２８を更新する。それらはまた、ホストプロセッサ１４に対する転送の為に、キャッシュ・インデックス・ディレクトリ２６にアクセスしてキャッシュメモリ２４からデータを読み出すものである。
また、各ディスク装置配列２２をキャッシュメモリ２６に接続すべく、ディスクアダプタ３４およびディスクディレクタ３６も配備される。ディスクアダプタ３４は、各ディスク装置配列２２に接続された複数のＳＣＳＩバス３８をインタフェースするものである。ディスクディレクタ３６は、ディスク装置配列２２内におけるディスクへのアクセスを管理する。ディスクディレクタ３６はディスク装置配列からのデータをキャッシュメモリ２６に展開し、従って、キャッシュ・インデックス・ディレクトリ２８を更新する。それはまた、キャッシュメモリ２６内で書込まれたブロックからディスク装置配列にデータを逆展開し即ち書き戻しを行い、従って、キャッシュ・インデックス・ディレクトリ２８を再び更新する。
ディスクアダプタ３４およびチャネルアダプタ３０は、高速パラレルライン・システムバス４０を介してシステムメモリ２４にアクセスする。システムメモリ２４は複数のメモリボードにより構成される。任意の時点において任意のひとつのメモリボードに対して生じ得るアクセスは単一であるが、並行演算をサポートすべく、複数のメモリボードが同時にアクセスされ得る。
データ記憶システム１０は、複数個の論理ボリュームとして構築され得る。通常、ひとつのボリュームは単一個のディスク装置に対応する。また、データ記憶システム１０内のサービスコンソール５０によりユーザはデータ記憶装置を構築することができ、即ち、論理ボリュームを定義すると共に、ホスト接続線２０を介してどの論理ボリュームがアクセス可能かを指定し得る。
高速リンク１８は、当業者には公知であるＩＢＭのＥＳＣＯＮアーキテクチャに従って構成される。この高速リンク１８は、シリアルデータ送信を採用した二重の光ファイバ接続を含んでいる。その接続の各端における独立した処理ユニットは、この接続から記憶装置へのデータ移動を制御する。より詳細には、データ記憶システム１０はディスクアダプタ３４およびディスクディレクタ３６を含むが、これらはデータ記憶システム内の内部バス４０を高速リンク１８に連結するものである。他のデータ記憶システム内にも、同様の構成要素が存在する。
上記データ記憶システム１０，１２は、ローカル・ミラーリングおよび／またはリモート・ミラーリングを実現すべく構築されるが、これに依れば、単一個または複数個の論理ボリュームの二重コピーが２個の別体の物理ディスク上に維持される。これらの機能は例えば、既に言及したＥＭＣ社により販売されているＳｙｍｍｅｔｒｉｘｓ ５ＸＸＸシリーズのデータ記憶システムなどの市販のシステムによりサポートされる。これらのシステムにおいては、リモート・ミラーリング機能およびその関連特徴は、リモート・データ機能（ＲＤＦ）と称される。
概略的には、データ記憶システム１０がローカル・ミラーリングを実現すべく構築された場合、それは同一のデータ記憶システム内の２個の異なるディスク装置に対して修正データの全てを書込むことにより２個のデータコピーを生成かつ維持すると共に、それをホストプロセッサが視認し得る手法で行う。而して、ひとつのボリュームに対して書込まれた内容は全てミラーボリュームに対しても書込まれると共に、いずれが早期の応答を生成しても、読出しは両ボリュームに対して生ずる。また、データ記憶システムは、ミラーリングされた論理ボリュームに対する書込操作を通常の書込操作として取扱う。
即ち、データはキャッシュメモリに対して書込まれる。次にディスクアダプタは、データの同一コピーを維持すべくミラーリングされた対となる両装置に対してデータを移動する。ミラーリングの構成に関する更なる詳細は、米国特許出願第０７／５８７，２５３号に示されており、該米国特許出願の内容はここで開示したものとする。
本発明に対してミラーリングの特徴が重要であるのは、これによりユーザはデータ記憶システム内における２個の別体のディスク装置上にデータベースの各部分の同一のコピーを論理的に生成して維持し得るからである。
但し、任意の所定時点において活発に更新され、従ってそのミラーコピーも活発に更新されつつあるデータベースは、完全には整合性を有さないことを銘記されたい。これは、任意の所定時点にては完了されていないトランザクションも存在することから、これらのトランザクションを完了する間にも、これらのトランザクションと関連するデータベース内のデータが変化することもあり得るからである。完全に整合性を有するデータベースを達成するには、一切の新トランザクションが開始される前に、全てのトランザクションの完了を許容することが必要である。未処理のトランザクションが全て完了されたとき、データベースは整合性を有することになる。而して、データベースを適切にシャットダウンすることにより、即ち、新たなトランザクションが開始されるのを防止すると共に未処理トランザクションを完了せしめることにより、整合状態は達成され得る。通常、市販のデータベースシステムではユーザがデータベースを適切にシャットダウンして完全な整合性を達成し得る様になっている。データベースがシャットダウンされた後、データベースのスナップショット（即ち、その時点におけるデータベースの内容のコピー）は整合性を有することになる。この関連性は間もなく明らかとなろう。
データ記憶システム１０がリモート・データ・ミラーリングを実現すべく構築された場合、該システムは高速リンク１８の他端に接続されたリモート・データ記憶システム上に二重コピーを生成して維持する。リモート・データ・ミラーリングの間、高速リンク１８上のデータ転送は二つのモード、即ちリアルタイム・モードおよび非同期モードの一方のモードで作動する。上記システムは、リアルタイム・モードでは、主要システムにおけるＩ／Ｏの間にリモートシステムにデータをコピーすると共に、Ｉ／Ｏ完了信号がホスト処理システムへ送信される前にコピーを完了する。また、非同期モードにおいては、主要システムがＩ／Ｏ完了信号を返す時点と非同期的にデータがリモートシステムにコピーされる。リモート・データ・ミラーリングを実現するシステムは、リモート・データ・ミラーリング（Ｒｅｍｏｔｅ  Ｄａｔａ  Ｍｉｒｒｏｒｉｎｇ）と称されると共に１９９３年４月２３日に出願された米国特許出願第０８／０５２，０３９号に更に詳細に記述されているが、該米国特許出願の内容はここに開示したものとする。
上記データ記憶システムはまた、所定の時点におけるデータベースの状態のスナップショットまたはコピーを生成する更なる機能をも実現する。上述のＳｙｍｍｅｔｒｉｘ ５ＸＸＸシリーズのデータ記憶システムでは、この機能はバックアップ復旧機能（即ちＢＲＦ）と称されている。この特徴はまた、インターナショナル・ビジネス・マシン社（ＩＢＭ）からの市販品としても入手可能であり、並行コピー機能と称されている。概略的には、バックアップ復旧機能によりユーザは、バックアップコピーが行われいる間にもデータベースアプリケーションにより行われる全ての更新を停止することを要さずに、データベースのバックアップコピーをディスクまたはテープに生成することができる。バックアップコピーの生成は相当の時間を要することから、コピーの間にデータベースの更新を停止しなければデータベースアプリケーションの性能は相当に改善される。これに加え、コピーと更新が同時に生じたとしても、コピーはバックアップ復旧機能が開始した時点におけるデータベースの状態を反映し、コピーが行われつつある間にデータベース内で生じた更新は全く含まない。而して、未処理のトランザクションの全てが完了すると共に新たなトランザクションが始まる前の時点において（即ち、データベースがシャットダウンされまたは静止状態となったときに）バックアップ復旧機能が開始されたとすれば、コピー内のデータは完全な整合性を有している。
本実施例は、バックアップ復旧機能の技術を採用し、データ記憶システム自体の内部のデータベースのコピーを生成している。このコピーは次にＤＳＳをサポートすべく使用される。また、このコピーは２通りの手法の内のひとつの手法により作成され得る。第１の手法は、バックアップ復旧機能技術を単純に使用してバックアップコピーをディスク上に最初に生成し、次に、バックアップコピーをデータ記憶システム内における他のひとつまたは複数のボリュームに書込むことである。代わりに、最初にバックアップコピーを外部媒体上に作成すること無く、バックアップ復旧機能をデータ記憶システム自体の内部で実行してコピーを他のボリューム上に直接的に作成することも可能である。明らかに、後者の試みは更に迅速であると共に更に効率的である；しかし乍ら、第１の手法はデータ記憶システムの内部を変更すること無く実現され得るものである。
概略的には、バックアップ復旧コピー、または、以下において並行コピーと称されるものは次の様にして生成される。先ず、変更されつつあるボリュームが存在するものとする。並行コピーを作成する前にこの動作を適切に停止し、即ち、未処理のトランザクションの全ての完了を許容すると共に、新たなトランザクションの全てを停止する。データベースが静止したとき、即ち、それが全体として整合した状態に達したとき、バックアップ復旧機能が開始されてデータベースのコピーの生成を開始する。バックアップ復旧機能が開始された後、データベース作用の再開が許容される。従って、コピーが生成されている間にも、データに対する更新は生じる。但し、ソース・データ（即ち、コピーされつつあるボリューム内のデータ）は、データのオリジナル・バージョンがディスクもしくはテープにコピーされるまで、上書きされない。バックアップ復旧機能が開始されたとき、システムはキャッシュメモリ内にバッファスペースを割当て、修正されたデータを収容する。そのバッファが満配とならない限り、未だコピーされていないボリュームの各部分に対して試みられた書込みは、ボリュームでは無くバッファに向けられる。オリジナルデータベースの適切な部分がコピーされたとき、これらの部分に対応するバッファの内容がボリュームに対して読み込まれる。バッファが満配になったとすれば、システムはボリューム内で影響を受けたトラックからオリジナルデータを維持する為のサイドファイルを生成する。従って、未だコピーされていないトラックに対して書込みが試みられたとき、そのトラックの内容がサイドファイルにコピーされてからトラックに新たな値が書込まれる。換言すると、影響を受けたレコードの一時的並行コピーはサイドファイルに対して行われる。サイドファイルは次に生成されつつあるコピーへと読み込まれ、且つ、サイドファイルからレコードが読まれた後、それらの値はサイドファイルからクリアされて他のレコードに対する余裕を生み出す。
上記バックアップ復旧機能は、バッファ内容がオリジナルボリューム内に転送され得る様に、ボリュームの変更部分を最初にコピーする。
容易に明らかとなる如く、この並行コピー技術によれば、コピーが作成されつつあるときにボリューム内のデータが変更されたとしても、生成されつつあるコピーは、バックアップ復旧機能が呼出された時点におけるデータベース内のデータ状態を反映する。
並行コピーの生成は、Ｓｙｍｍｅｔｒｉｘ ５ＸＸＸシリーズのデータ記憶システムでは５ＭＢ／秒〜１０ＭＢ／秒の速度で行い得るが、これは、使用された内部ＳＣＳＩインタフェースの限界である。バックアップ復旧機能を使用することにより、コピーの分離レベル（ｉｓｏｌａｔｉｏｎ  ｌｅｖｅｌ）は３となり、即ち、達成し得る最大限の整合性を有することになる。
次に、上記した機能および図１に示されたデータ記憶システムの一方または両方を用い、ＤＳＳをサポートする幾つかの異なる手法を説明する。
実施例１：
この実施例において意志決定支援機能は、データ更新機能が実行されるのと同一のデータ記憶システムを用いて実行されるものとする。換言すると、図１に示されたシステムの内で本実施例に関連する部分は、複数のホストプロセッサが接続されたデータ記憶システム１０である。更に、ホストプロセッサ１４（１）は、上記データ記憶システム内のボリューム８０に記憶されたデータベースに対して更新機能を実行しているものとする。データ記憶システム１０は、他のホストプロセッサ１４（２）乃至１４（ｎ）がホストプロセッサ１４（１）とボリューム８０を共有するのを許容すべく構築されている。勿論、データベースがデータ記憶システム１０内の複数のボリュームに亙り展開されている場合もあるが、その場合にデータ記憶システム１０は、他のホストプロセッサの全てがそれらのボリュームをホストプロセッサ１４（１）と共有するのを許容すべく構築される。但し、簡素化の為に、上記データベースは単一個のボリューム内に含まれているものとする。
第１実施例に依れば、ホストプロセッサ１４（１）は共有ボリューム８０に対するデータの書込みおよび読み出しの両者が許容されている。これと対照的に、他のホストプロセッサ１４（２）乃至１４（ｎ）は、ホストプロセッサレベルもしくはデータ記憶システム自体内の制限により、共有ボリューム８０からのデータの読み出しのみが許容されている。従って、例えばホストプロセッサ１４（１）が例えばオンライントランザクション処理もしくは更新バッチの除去などの通常のデータベース作業を実行する間に、残りのホストプロセッサ１４（２）乃至１４（ｎ）は読出し機能のみが必要とされ且つ使用される意志決定支援機能を実行し得るものである。
単一個のホストプロセッサのみがデータベースに書込みを行いつつあることから、他のホストプロセッサによるデータベースへのアクセスを調整するロックマネージャは必要とされない。より詳細には、上記単一個のホストプロセッサから到来する読出／書込アクセスに対するホスト内ロックは必要かも知れないが、他のホストプロセッサに対するホスト間ロックは必要でない。従って、意志決定支援を目的としたデータベース内のデータの読出しは、上記単一個のホストプロセッサによるデータベースの更新と並行して生じ得る。即ち、全てのホストプロセッサが同時に作動し得るが、これは、ホストプロセッサ１４（１）のみが更新の実行を許容されるという上述の制限に従った場合である。別な表現を用いると、意志決定支援を実行しつつある複数のホストプロセッサによる読出アクセスは、ホストプロセッサ１４（１）によるデータの書込みと並行して行われ得る。
これらの条件の下で（即ち、ＤＳＳ読出は、ホストプロセッサ１４（１）により実行される書込と並行して生ずるものと仮定すると）、幾つかのダーティな読出しが生ずるのは勿論である。ダーティな読出しは、データを更新しつつあるトランザクションが完了される前にデータが読出されたときに生ずる。従って、データは有効では無い可能性がある、と言うのも、完了前のトランザクションはデータを再変更したり無効化し得るからである。
もし、プロジェクション、統計的分析もしくは他のＤＳＳ機能を実行する為にダーティなデータが使用されたとすれば、それは結果の品質に影響を与え得る。但し、大規模なデータベース上におけるダーティな読出しの可能性は、ＤＳＳ機能を実行すべく処理されつつあるデータの量と比較して小さいことから、斯かるダーティな読出しによる影響は最小となり易い。ダーティな読出しが生ずるものと仮定しても、コピーされたデータでは分離レベル１を達成し得るのが典型的である。（データの品質は３個の分離レベル、即ち、レベル３を最高の分離レベルもしくは最も整合性のあるデータとして、１、２および３の分離レベルがあることを銘記されたい。）但し、分離レベル１でも多くの用途に対して満足し得るものである。従って、幾分かのダーティな読出しを防止する為だけにロック管理機能を課しても大きな利点は得られないかも知れない。更に、より高度の分離レベルを要求すると、相当の費用が掛かることになる。オンライン・トランザクション処理におけるデータは、相当の量が同時進行的に変更かつ更新されるのが典型的である。もしロッキング・プロトコルが使用されるべきとすれば、更新を行いつつあるアプリケーションがレコードを更新する必要があるときはこれらのレコードをロックする結果となるのが典型的である。これはスループットを相当に減少させると共に、データベースアプリケーションの性能を低下せしめるものである。
勿論、データベースの更新が停止されれば（例えば、オンライン・トランザクション処理（ＯＬＴＰ）が停止されれば）、分離レベル３（即ち、最高の分離レベル）が達成され得る。
従って、第１実施例においては、複数のホストプロセッサがデータベースからデータを読出すＤＳＳを実行する一方、別のひとつのホストプロセッサがデータベースを一切のロッキング・プロトコル無しで更新することが許容されている。勿論、複数のホストプロセッサがデータベースに対して同時に書込みを開始するのが許容されれば、ロックマネージャのサービスを提供することが直ちに必要となる。これは、データベースを変更する複数のホストプロセッサにより実行されつつある通常のデータベース機能を相当に低速化するものである。但し、これらの状況下においても、ＤＳＳを実行している複数のホストプロセッサは依然として、データベースに対するそれらの読出しを実行する上でロックマネージャのサービスを必要としない。
実施例２：
第１実施例の分離レベルは、データベースの二重コピーをローカルで生成するバックアップ復旧機能を用いてレベル３まで上げることができる（即ち、完全に整合性を有するデータを生成することができる）。図３を参照すると、この代替的手法においては、データベースアプリケーションは適切にシャットダウンされる（ステップ１００）。或る時点ｔ0においてデータベースが一旦静止状態になると、バックアップ復旧機能が呼出され、データ記憶システム１０内におけるもうひとつの共有ボリューム８２上に並行コピーを生成する（ステップ１０２）。バックアップ復旧機能が呼出された後、データベースアプリケーションはデータベースに関する自身の作業の再開を許容せしめられる（ステップ１０４）。後における或る時点で、並行コピーは完全になり、このコピーを用いて意志決定支援が開始される（ステップ１０６）。並行コピーは時点ｔ0におけるオリジナルデータベースのスナップショットであることから、コピーが行われている間にオリジナルデータベース内で生ずる更新は並行コピーに対して影響を有さず、従って、ＤＳＳ機能に対して何らの影響も及ぼさない。
実施例３：
第３実施例は、データ記憶システムのローカル・ミラーリング機能を活用するものである。この場合、図４を参照すると、データ記憶システムはローカル・ミラーリング機能を呼出して、ソース・データのミラーコピーをローカルで生成する（ステップ１１０）。このコピーはミラーコピーとして生成されることから、それがソースコピーと接続されている限りにおいて現在のものとして維持される。意志決定支援を実行することが必要なとき、上記ミラーコピーはソースコピーから接続解除される（ステップ１１４）。完全な整合性を有するコピーを有することは重要であろうことから、ミラーコピーを接続解除する前にデータベースシステムの適切なシャットダウンを先ず実行し、接続解除の時点においてミラーコピーが完全に整合性を有することが望ましい（ステップ１１２）。ミラーコピーが接続解除された後、データベースアプリケーションはソース・データにおけるトランザクションの処理を進めることを許容され（ステップ１１６）、且つ、意志決定支援機能は接続解除されたミラーコピーを用いて開始され得る（ステップ１１８）。
実施例４：
第４実施例は、高速リンク１８を介して相互に通信を行う２つのデータ記憶システム１０および１２を含む。この場合、前述と同様にホストプロセッサ１４（１）はデータ記憶システム１０内のボリューム８０内に記憶されたデータベースを更新しているものと仮定する。但し、この時点でデータ記憶システム１２に接続されたホストプロセッサ１６（１）乃至１６（ｍ）はＤＳＳ機能を実行しているものとする。
データ記憶システム１２上でＤＳＳ機能を実行すべくデータを利用する為に、補助データ記憶システム１２内のボリューム９０上にデータベースのミラーを生成すべくリモート・ミラーリング機能が使用される。次に、ホストプロセッサ１６（１）乃至１６（ｍ）はそれらのＤＳＳ機能を実行すべく、ボリューム９０内のデータベースのミラーコピーを使用する。本質的にこの手順は図４に示されたものと同一であるが、この場合にミラーコピーがリモートシステム上に生成される点が異なっている。
これによる利点は、意志決定支援に使用されるデータベースのコピーが主要データベースと同時に生成されることである。従って、それは常にホストプロセッサ１６（１）乃至１６（ｍ）から直ちに利用することができる。これは、一度にデータベース全体の完全コピーを生成してからそのコピーを補助データ記憶システム内に持込ことに伴う遅延および損失を完全に回避するものである。
このアプローチは、地理的に広範囲に離間された複数の箇所に亙り分散された事務所を有する会社が特に興味を引かれるものである。現在は、これらの会社は以下の様に処理するのが典型的である。それらはひとつのサイトにおいて（例えばＯＬＴＰなどの）更新を実行すると共に、離間配置された別のサイトにおいて意志決定支援を実行する。ＤＳＳの為にリモートサイトでデータを獲得する為に、データを毎晩テープに落としてこのテープを（例えばＦｅｄｅｒａｌ  Ｅｘｐｒｅｓｓで）リモートサイトに送付している。これは有用な代替策として選択されるものである。しかし、通常的に含まれる大量のデータのその他の通信方法は、現在の技術を用いたデータ転送に必要な時間に関して代償が大き過ぎるからである。テープ上のデータは次にリモートサイトのシステム上にダウンロードされ、次にＤＳＳに対して使用される。
実施例５：
オリジナルデータベースのミラーリングを行うと結果的に更新機能の速度および性能の低下に繋がることから望ましいものではなく、故に、代替的なアプローチは、ボリューム８０内のオリジナルデータベースに対するミラーリング機能を使用することを回避するものである。代わりに、ＢＲＦ機能を用いてボリューム８０内でローカル的に並行コピーが生成され、これが補助データ記憶システム１２に対して遠隔的にミラーリングされる。
上述の各実施例においては、コピーの整合した状態の生成は、ミラーコピーを接続解除する前、または、ＢＲＦを開始する前に、データベースアプリケーションを適切にシャットダウンする工程を含んでいた。これは一定の非効率性を意味する、と言うのも、新たなトランザクションの処理が受入れられない期間が存在するからある。多くのデータベースシステムは復旧機能を含むが、これは、適切なシャットダウンを実行しなかった場合にデータベースの完全整合コピーを生成すべく使用され得るものである。上記復旧機能は、トランザクションの実際の処理の間に生じ得るシステムクラッシュから復旧を行うべく利用されるものである。クラッシュの後、データベースは不整合状態にあるのが通常であり、即ち、クラッシュの時点で未処理であったトランザクションも存在することから、データベース内のデータは不整合である。復旧技術は、それを整合した状態に戻すものである。
概略的には、多くのデータベースアプリケーションで使用し得る復旧機能は、全てのトランザクションのログを生成して保持することで行われている。斯かるログは、コミットされていないトランザクションをシステム障害の後でデータベースに後退回復する為に、即ち、データベースを整合した状態にロールバックする為に使用される。このログは、トランザクションのＩＤ、トランザクションにより変更されたアイテムの新たな値および以前の値、並びに、トランザクションの効果が記憶データベースに対してコミットされたか否かの表示、などの情報を含むのが典型的である。停止したデータベースをロールバックする為に、上記ログは未完了のトランザクションを後退回復するアルゴリズムを用いて上記データベース上で実行される。上記ログがデータベース上で実行された後（即ち、データベースが復旧された後）、コミットされた全てのトランザクションはデータベースの復旧コピー内に反映されると共に、完了していないトランザクションの全ての効果はデータベースのコピーから除去される。
データベースの復旧を実行する為のアプローチおよびアルゴリズムは数多くある。概略的には、市販のデータベースは斯かる技術を一つ以上提供する。当業界においては種々のデータベース復旧技術が知られているが、その内の幾つかは多くの刊行文献中に詳細に記述されている。斯かる記述に関し、データベースシステムおよびトランザクション処理に関する刊行物としては例えば、１９８９年にアメリカ合衆国カリフォルニア州レッドウッド市のベンジャミン／クミングス出版社により出版されたラメツ・エルマスリおよびシャムカント・ビー・ネイヴェースの“データベースシステムの基礎”（Fundamental of Database Systems,by Ramez Elmasri and Shamkat B．Navathe，published by The Benjamin/Cummungs Publishing Company,Inc.,Redwood City,California,1989）、および、１９９３年にアメリカ合衆国カリフォルニア州サンフランシスコ市のモルガン・カウフマン出版社によるジム・グレーおよびアンドレアス・ロイターによる“トランザクション処理、概念および技術”（Transaction Processing,Concepts and Techniques，by Jim Gray and Andreas Reuter，Morgan Kaufmann Publishers,San Francisco,California,1993）が挙げられる。
復旧機能を用いれば、データベースをシャットダウンすること無くミラーコピーを接続解除したりＢＲＦを開始することが可能である。結果的なデータベースのスナップショットは、システムがあたかも突然クラッシュしたかの様に不整合となり得るのは勿論である。そのときにトランザクションログおよび復旧アルゴリズムを用いてそれを整合した状態に戻すことができる。
図４に示されたプロセスは、復旧ツールの助けを借りて図５に示された如く変更することができる。この実施例においては、リモート・ミラーリングまたはＲＤＦはコピーを生成すべく使用される（ステップ１２０）。或る時点においてはリモート・ミラーコピーを接続解除し、それが意志決定支援に使用され得る様にする必要がある（ステップ１２２）。次に復旧機能が使用されて、結果的なコピーが整合した状態とされ（ステップ１２４）、その後それは意志決定支援に用いられ得る（ステップ１２６）。
意志決定支援コピーは暫時使用された後で過去のものとなる、と言うのも、作動中のデータベース（例えば、ＯＬＴＰコピー）内では更に多くのトランザクションが処理されるからである。従って、最終的には新たなコピーを作成することが必要となる。工夫の無い単純な手法は、上述の如く、バックアップ復旧機能を再度実行することにより、または、別のミラーを構成することにより最初からもうひとつのコピーを生成することである。しかし乍ら、更に効率的な方法は、過去のものとなった意志決定支援コピーをオリジナルデータベースと再同期することである。これもまた、Ｓｙｍｍｅｔｒｉｘ ５ＸＸＸシリーズのデータ記憶システムなどの市販のデータ記憶システムによりサポートされる機能を用いて達成される。Ｓｙｍｍｅｔｒｉｘシステムに特に言及すると、これはリモート・ミラーリングの間におけるリンク障害からシステムを復旧し得る特徴をサポートするものである。この特徴は、そのリモート・データ機能（ＲＤＦ）の一部である。
上述の如く、Ｓｙｍｍｅｔｒｉｘのデータ記憶ユニットは二重のリンク経路を使用する。ローカルデータ記憶ユニットとリモートデータ記憶ユニットとの間のひとつの経路が故障しても、システムはターゲットデータベースに対して他方の経路を用いてデータ通信を行う。また、両方の経路が故障すると、ソースボリュームはそのソースデータベースに書込みを続けると共に、更新された全てのトラックをマークする。リンクが復元されたとき、ローカルユニットはマークされたデータをターゲットボリュームに対して転送することによりリモートデータベースを再同期する。この特徴は、突然のリンク障害を介してのものでなく接続解除が故意のものであったとしても、リモートデータベースをローカルデータベースに効率的に且つ迅速に再同期すべく使用され得るものである。
図５に示される如く、上述の手順は更に、意志決定支援コピーをオリジナルデータベース（即ち作動中のデータベース）に再接続する工程を含み得る（ステップ１２８）。再接続が確立された後、意志決定支援コピーは直上に記載された機能を用いてオリジナルデータベースと再同期される（ステップ１３０）。
実際、最近の多くのデータベースシステムは読出専用機能を提供していない。従って、接続解除されたリモートデータベースが意志決定支援に使用されつつあるとき、それに対して書込みが生じている。この点、書込みは典型的には２つの形式の一方であり、即ち、読出されたデータのタイム・スタンプなどの管理操作、および、意志決定支援機能により要求されたクエリの実行の一部として生ずる中間結果の書込みである。換言すると、ローカルデータベース内で新たなトランザクションが何ら処理されていなくても、意志決定支援機能によりリモートデータベースはローカルデータベース（即ち、オリジナルデータベースまたは作動中のデータベース）との同期から外れる。もし斯かるデータベースシステムが使用されていると、意志決定支援データベースは、作動中のデータベースとの再接続および再同期の前に、以前の状態にロールバックされる必要がある。即ち、再同期は、リモートデータベースを該リモートデータベースがローカルデータベースから接続解除された時点における状態とする為に、リモートデータベースに対する変更の全てを後退回復せねばならない。この機能もまたトランザクションログを用いて容易に達成され得るが、これは、Ｓｙｍｍｅｔｒｉｘ ５ＸＸＸシリーズのデータ記憶システムにより行われる。図６を参照すると、ソースデータベースに再接続する前に、データベースに書込まれた変更の全てを後退回復すべくトランザクションログが使用される（ステップ１３２）。次に、それはソースに再接続され（ステップ１３４）、作動中のデータベースと再同期される（ステップ１３６）。
尚、意志決定支援機能は、データベースを実際に使用しているプロセスと同一のホスト上で実行されつつある他のプロセスによっても実行され得ることは理解される。換言すると、少なくとも２個のホストを使用した実施例を記述して来たが、即ち、一方は（例えばＯＬＴＰの実行などの）データベースの更新を行い且つ他方は意志決定支援の実行を行うが、両機能ともに同一のホスト上で実行されつつある別体のプロセッサにより実行され得る。複数のホストを使用する利点は、単一のホストプロセッサを使用したときよりも大きなスケーラビリティが提供されることである。但し、上記した各機能は単一のプロセッサ（例えば、ＳＭＰすなわち対称マルチプロセッサ・システム）上で実行される複数のプロセスにより実行され得る。
他の実施例は以下の請求の範囲の範囲内である。例えば、リモート・ミラーリング機能は、複数個のリモートサイトにおけるミラーコピーを生成すべく使用され得る。そのとき、意志決定支援機能は複数個のサイトの各々において実行され得る。
これに加え、上述の手法で生成されたサポートコピーはバックアップコピーを生成する為にも使用され得る。その場合、サポートコピーはテープドライブ等の外部記憶装置１１（図１参照）に受け渡される。もし接続解除されたコピーが不整合であれば（即ち、もしそれがデータベースの静止を許容せずに生成されたとすれば）、外部記憶装置上にサポートコピーを記憶することに加え、このコピーと組み合わされた復旧ログを記憶して該ログによりバックアップコピーを整合性のあるものとする。
【図１】
0003958795.tif 000002
【図２】
0003958795.tif 000003
【図３】
0003958795.tif 000004
【図４】
0003958795.tif 000005
【図５】
0003958795.tif 000006
【図６】
0003958795.tif 000007