(57)【要約】      （修正有）【課題】データ構成を合わせる必要がなく、又、繰り返して行われる長距離に渉る問い合わせにより引き起こされる遅延に煩わされることなく、遠隔地データを共有できるシステムを提供する。【解決手段】ミラーリング又は他のデータ複製作成ソフトウエアを用いて、多様なサイトからセカンダリサイトへ情報を好適に抽出する為のシステムが開示されている。本セカンダリサイトでは、オペレータはプロキシシステムを用いて、該セカンダリサイトにミラーされたデータを抽出することが出来る。本システムは特に、遠隔地に存在する異種のタイプのデータベースに特に有効に適用することが出来る。【選択図】  図１
2004252938.tif 000002
【特許請求の範囲】
【請求項１】
情報抽出を好適に行うシステムであって、第一のシステムが第一のデータを第一のロケーションに記憶し、第二のシステムが第二のデータを第二のロケーションに記憶し、前記第一のシステムと前記第二のシステムはネットワークを介して互いに結合されているシステムにおいて、
前記第一のシステムからデータを抽出すべく接続された端末；
前記第二のシステムから前記第一のシステムへデータのコピーを行う少なくとも一つの複製作成ソフトウエアプログラム；及び
前記端末のユーザが前記第二のシステムからデータを抽出するのに、前記第二のシステムから前記第一のシステムへコピーされたデータを用いることを可能にする前記第一のロケーションで稼動するプロキシシステム、
を有することを特徴とするシステム。
【請求項２】
複製作成ソフトウエアプログラムがミラーリングプログラムを含む請求項１に記載のシステム。
【請求項３】
データはデータベースからのデータを含んでいる請求項２に記載のシステム。
【請求項４】
情報を好適に抽出する為のシステムであって、
第一のデータを第一のロケーションに記憶する第一のシステム；
第二のデータを第二のロケーションに記憶する第二のシステム；
前記第一と第二のロケーションからは遠隔地に存在し、前記第一と第二のシステムとネットワークで結合され、オペレータが情報を抽出する第三のシステム；
前記第一のシステムから前記第三のシステムへ、及び前記第二のシステムから前記第三のシステムへ前記ネットワークを介してデータをコピーする少なくとも一つの複製作成ソフトウエアプログラム；及び
前記第三のシステムのユーザが前記第三のシステムからデータを抽出するのに、前記第一及び第二のシステムから前記第三のシステムへコピーされたデータを用いることを可能にする前記第三のロケーションで稼動するプロキシシステム、
を有することを特徴とするシステム。
【請求項５】
第一及び第二のデータはデータベースに記憶されたデータを含む請求項４に記載のシステム。
【請求項６】
異なったロケーションに存在するデータベース内のデータを好適に抽出するシステムであって、
第一のロケーションにて第一のデータベース情報を記憶し、ネットワークに接続され、前記ネットワークを通して、遠隔地に存在するリモートシステムに自らのデータをコピーする為のミラーリングソフトウエアを有する第一のシステム；
第二のロケーションにて第二のデータベース情報を記憶し、前記ネットワークに接続され、前記ネットワークを通して、前記リモートシステムに自らのデータをコピーする為のミラーリングソフトウエアを有する第二のシステム；及び、
前記リモートシステムで稼動し、前記リモートシステムのユーザが前記第一及び第二のシステムからのコピーされたデータの抽出を可能にするためのプロキシシステム、
を有することを特徴とするシステム。
【請求項７】
複数の異なったリモートロケーションに記憶され、前記リモートロケーションからローカルサイトにコピーされた情報を好適に抽出する為のシステムであって、
ローカルサイトでストレージにアクセスする為に結合した端末；及び
リモートロケーションからローカルサイトにコピーされた情報にアクセスするローカルサイトのプロキシサーバ、
を有することを特徴とするシステム。
【請求項８】
複数の異なったロケーションに記憶された情報を好適に抽出する為の方法であって、
前記複数の各ロケーションに於いて、ロケーションのデータをネットワークを介して、第一のロケーションにコピーしてデータのバックアップ動作を実行し；
前記第一のロケーションでのユーザに、前記ロケーションにバックアップされたデータをアクセス可能にさせるプロキシサーバを用意し；
前記第一のロケーションで及び前記プロキシサーバを用いて、前記第一のロケーションに記憶されたデータにアクセスする、
ことを有することを特徴とする方法。
【発明の詳細な説明】
【発明の属する技術分野】
［０４］          本発明はデータストレージシステムに関連し、特に、データベース情報を抽出するシステムに関連する。
【従来の技術】
［０５］          ハードウエア及びソフトウエアベンダは、世界中の企業及び組織と相協力して、各企業の従業員が別のオフィスにいても、従業員間で情報を共有できるイントラネットシステムを開発してきた。このようなシステムでは、各ブランチでサーバを設置して、当該オフィスの従業員に対して情報を配布している。各クライアント端末は、他のオフィスから目的の情報を得るために、他のサーバを検索することが必要である。このようなクライアント−サーバモデルでは、クライアントがリモート情報を必要とする度に、リモートサーバへのアクセスが必要になる。このことは、トランザクション発生の度に、リモートサイトからの応答を得る為にネットワーク遅延を蒙らなければならないことを意味する。リモートサイト間にしばしば見られる距離とバンド幅限界によるネットワーク遅延により、イントラネットシステムを全世界ベースで展開することが困難になっている。
［０６］            データと知識を共有する為の異なったもう一つのアプローチは、ＸＭＬ技術を使用することである。ＸＭＬ技術は、例え、様々なデータストレージがそれぞれ別々に異なった組織やドメインで管理されていても、各種のデータストレージを統合することを原理的には可能にしている。しかしながら、これも表面上だけのことで、本レベルでデータが統合できる為には、全てのストレージを静的なＤＴＤ（Ｄｏｃｕｍｅｎｔ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）でフォーマットしなければならなく、柔軟性を欠いてしまっている。ストレージを構築する各サイトのオペレータは、ＤＴＤに従わなければならないため、各サイト特有のニーズに合わせてデータ構造の拡張を行うことができず、このため柔軟性を失っている。同様のアプローチはデータベースをデータレベルで統合することである。しかしながら、この方法も同様な理由で困難である事が判る。データベースが統合されるためには、互いに整合性を有する共通のテーブルスペ―スを持つことが必要である。
［０７］  もう一つのＯＴＧ（Ｏｒａｃｌｅ  Ｔｒａｎｓｐａｒｅｎｔ  Ｇａｔｅｗａｙ）として知られるアプローチでは、異なった場所にあるデータベースが統合されるが、これは仮想的なものである。データベースは各サイトから実際に統合されるわけでなく、データベースへのクライアントからの要求は、分割され、複数のデータベースサーバに固有のメッセージフォーマットで転送される。この方法は、クライアントが複数サーバにあるデータを恰も一つのデータベースにアクセスしている様に見せかけることができる。しかしながら、各データベースは遠隔地にあり、これまで述べてきた遅延の問題を免れることは出来ない。このような従来技術のアプローチについては、（１）“Ｅｎｔｅｒｐｒｉｓｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｉｎｔｅｇｒａｔｉｏｎ”ＭｅｔａＭａｔｒｉｘ社刊，（２００１）；（２）“Ｈｉｔａｃｈｉ  Ｄａｔａ  Ｓｙｓｔｅｍｓ  ９９００  ａｎｄ  ７７００Ｅ−Ｇｕｉｄｅｌｉｎｅ  ｆｏｒ  Ｏｒａｃｌｅ  Ｄａｔａｂａｓｅ  ｆｏｒ  Ｂａｃｋｕｐ  ａｎｄ  Ｒｅｃｏｖｅｒｙ”（株）日立製作所刊（Ｊａｎ．  ２００１）；（３）“Ｇｕｉｄｅｌｉｎｅｓ  ｆｏｒ  Ｕｓｉｎｇ  Ｓｎａｐｓｈｏｔ  Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍｓｆｏｒ  Ｏｒａｃｌｅ  Ｄａｔａｂａｓｅｓ”Ｎａｂｉｌ  Ｏｓｏｒｉｏ，ｅｔ  ａｌ．    Ｏｒａｃｌｅ社刊  （Ａｕｇ．  ２０００）；及び（４）“Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ  ｏｎ  Ｗｉｎｄｏｗｓ  ＮＴ  Ａｄｍｉｎｉｓｔｒａｔｏｒ’ｓ  Ｇｕｉｄｅ”Ｏｒａｃｌｅ社刊（Ａｐｒ．  ２０００）を参照すること。
【発明が解決しようとする課題】
［０８］  従って、データ構成を合わせる必要がなく、又、繰り返して行われる長距離に渉る問い合わせにより引き起こされる遅延に煩わされることなく、遠隔地データを共有できるシステムが必要である。
【課題を解決するための手段】
［０９］            本発明により、ストレージを指向したデータベ―スローカライズ化システムが可能になる。本システムは、各サイトが独自のローカルデータベースを持つ複数のリモートサイトで構成される環境を前提としている。本発明の好適な実施例では、システムは、各リモートサイトからセンタサイトにデータのすべて、又はその一部を取り込む。既に述べた従来技術とは異なり、本システムは、データベ―スをデータレベルで統合することは行わず、保存したデータ自身をリモートサイトからセンタサイトに複製し、各リモートサイトからのデータベースのコピーは常にセンタサイトに存在するようにする。この方式により、データ統合が柔軟に出来るようになり、上記の説明で触れたシステム間の遅延の問題も解決される。
［１０］  センタサイトでは、データベースプロキシサーバが、複数の複製の各々に対してゲートウエイの役割を果たす。センタサイトのオペレータより発せられたデータアクセス要求は、このプロキシにより、分割され、複数の複製要求が生成され、各遠隔データベースのコピー（本コピーはこのセンタサイトにも存在する）に対して送信される。各複製からの返答は、本プロキシサーバによりマージされオペレータに対して返答される。本機能により、多重記憶されたデータベースに対して柔軟性と高速性がもたらされる。
［１１］          本発明は、今やストレージシステム間で、広く普及してきた複製技術に依存している。ストレージ装置は今や、サーバＣＰＵのコントロール無しで、遠隔サイト間のミラーデータの作成を行えるのが普通である。ミラー機能を使用する事により、世界規模レベルでのデータのミラー化が可能になる。本ミラー機能を装備したストレージ装置はプライマリとセカンダリサイト間での交信で、書き込み順序を保証することを可能にし、長距離間で継続的ミラーを作成することも可能にしている。
［１２］  本発明のもう一つの機能はスナップショット制御である。スナップショットコントローラは、他サイトからミラーデータを受け取るサイトの書き込みプロセスをコントロールする。本スナップショットコントローラは、キャッシュデータが到着する度に、キャッシュデータを監視して、正しい順序で来ているかを確認する。本書き込み順序が確認できたデータは、キャッシュからデイスクスペースへの書き込みが許可される。本メカニズムにより、データ再生システムに影響を与えることなく、継続的なデータ転送が可能になり、転送遅延を最小にすることが出来る。二つのサイト間のデータ転送には、同期型、非同期型、又は両者の組み合わせを用いることが可能である。
［１３］  本発明の好ましい実施例に於いて、第一のシステムが第一のデータを第一のロケーションに記憶し、第二のシステムが第二のデータを第二のロケーションに記憶する、データの再生を容易にするシステムは幾つかの特徴を有している。この特徴の中には、第一のシステムからデータを受け取るために接続された端末と、第二のシステムから第一のシステムにデータをコピーする複製作成ソフトウエアプログラムが含まれる。第一のロケーションで稼動するプロキシシステムにより、第二のシステムから第一のシステムへコピーされたデータを用いて、端末のユーザが第二のシステムからデータを抽出することが出来るようになる。
【発明の実施の形態】
［３０］  図１に広域ストレージのローカライズ化システムの全体像を説明する。図１には、１０５Ａ、１０６Ｂ及び１０７Ｃの三つのプライマリサイトと一つのセカンダリサイト１００が描かれている。典型的には、サイトＡ，Ｂ，Ｃは、互いに又セカンダリサイト１００からも離れて設置されている。各プライマリサイトではデータはオペレータによりローカルに管理されている。本発明では、各プライマリサイトに保存されているデータはセカンダリサイト１００にも複製されている。典型的には、本データの複製はネットワークを通して行われ、各サイト１０５Ａ、１０６Ｂ及び１０７Ｃとの間で独立に行われる。
［３１］          セカンダリサイト１００は、データ１０３に見られるようにプライマリサイトのデータの全部又は一部を集め保存する。データベース（ＤＢ）プロキシ１０１は、データ１０３へのアクセスを可能にする。オペレータ１０２よりのデ―タアクセス要求は、プロキシ１０１により分割され、ローカル複製データ１０３を管理するローカルデータベースサーバ１０４に転送される。ＤＢプロキシ１０１は、複数サーバからの応答をマージしてオペレータへ返答する。これにより、オペレータは複数データベースへのデータアクセスを単一の要求を用いて行うことが可能になる。
［３２］          プライマリサイトとセカンダリサイト間のデータ複製プロセスは、ボリュームミラーリングと通称される、慣用的なデータ複製技術により好適に実行することが出来る。本ミラーリング技術はセカンダリサイトの複製を常に保持する為には理想的技術であるが、週１回実施される“ｆｔｐ”によるデータ転送もセカンダリサイトのオペレータの助けになる。このミラーリング技術は公知のものであり、ここでも既に言及されている。例えば既出の、“Ｈｉｔａｃｈｉ  Ｄａｔａ  Ｓｙｓｔｅｍｓ  ９９００  ａｎｄ  ７７００Ｅ−Ｇｕｉｄｅｌｉｎｅ  ｆｏｒ  Ｏｒａｃｌｅ  Ｄａｔａｂａｓｅ  ｆｏｒ  Ｂａｃｋｕｐ  ａｎｄ  Ｒｅｃｏｖｅｒｙ”（株）日立製作所刊（２００１．１月）を参照すること。データベースプロキシサーバ１０４も公知であり、例えば既出の、“Ｍｉｃｒｏｓｏｆｔ  ＳＱＬＳｅｒｖｅｒ  ｏｎ  Ｗｉｎｄｏｗｓ  ＮＴ  Ａｄｍｉｎｉｓｔｒａｔｏｒ’ｓ  Ｇｕｉｄｅ”  Ｏｒａｃｌｅ社刊（２０００．４月）．に記述されている。
［３３］  図２はストレージシステムのハードウエア構成を示すブロックダイアグラムである。図２に描かれているストレージシステムは図１の各プライマリ及びセカンダリサイトでデータ蓄積用として使用でき、又他の公知のシステムを用いることも可能である。図２に示す通り、本ストレージシステムのハードウエア構成では、例えば、デイスクドライブのアレイ又は他の公知メデイアを有するストレージスペース２０５を含む。本ストレージスペースは、ＣＰＵ２０２、キャッシュメモリ２０３及びネットワーク接続用のネットワークインタフェース２０４を接続するバスに接続される。本システムは更に、入出力デバイス２０６及び２０７を含む。デイスクインタフェースチップ（又はシステム）２０１はストレージスペース２０５との間の入出力を制御する。図２に描かれているストレージシステムは殆んど最小のものであり、より大型化又は詳細化することが出来る。
［３４］          図３はストレージシステムのアーキテクチュアのより詳細な構成図を示す。図３の左側には、例えば図１のストレージシステム１０５のサイトＡに相当するプライマリストレージシステム３０１が、右側には、例えば図１のシステム１００に相当するセカンダリストレージシステム３０２が示されている。この二つのシステムは、セカンダリストレージシステム３０２がスナップショットコントローラ３０３（後に説明される）を含むことを除いて、殆ど同一の要素を含んでいる。各ストレージシステムは、デイスクアダプタ３０５でアクセス制御されるデイスクスペース２０５を含む。本デイスクアダプタはＩ／Ｏコントローラ３０４及びミラーマネージャ３０６のコントロールの下で動作する。本デイスクアダプタはキャッシュメモリ２０３よりデータを受け取る。デイスクステータス初期化プログラム３０９及びステータス情報３０８も又ミラーマネージャ３０６に結合している。ミラーマネージャ３０６は、リンクアダプタ３０７を通して稼動して、例えば図３に記される他システムのリンクアダプタ３０７との間でデータ交換の為に交信する。ストレージシステムの制御と稼動に必要なプログラムは稼動中を通して、メモリスペース２０３にロードされている。デイスクスペース２０５はデイスクボリュームとして構成される。
［３５］          ホスト３１０は、Ｉ／Ｏコントローラ３０４を通してストレージシステムを操作する。本Ｉ／Ｏコントローラ３０４は、ホストＩ／Ｏプログラム３１１より読み取り要求を受け取ると、デイスクアダプタ３０５に対して読み取り要求を発行する。本コントローラ３０４はまた、ホストＩ／Ｏプログラム３１１より書き込み要求を受け取ると、書き込み用データをキャッシュメモリ２０３に格納し、デイスクアダプタ３０５に対して書き込み要求を発行する。
［３６］  デイスクアダプタ３０５とそれのソフトウエアは、デイスクボリューム２０５からの読み出しデータ及びデイスクボリューム２０５への書き込みデータを管理する。デイスクアダプタ３０５が、読み取り要求に応じてデイスクスペース２０５からデータを読み出したら、当該データをキャッシュメモリ２０３に保存する。もし、デイスクミラーリングが各サイトで設定されている場合には、デイスクアダプタ３０５はミラーマネージャ３０６から許可を得た後に、デイスクボリューム２０５への書き込みを開始する。
［３７］  ミラーマネージャプログラム３０６Ａは、プライマリとセカンダリサイト間のデータ複製処理を管理する。プライマリサイト３０１のミラーマネージャ３０６Ａ中のソフトウエアは、ローカルデイスクスペース２０５Ａに書き込むデータを、セカンダリストレージシステム３０２にリンクアダプタ３０７Ａを経由して送信する。この転送されたデータはセカンダリストレージシステム３０２のリンクアダプタ３０７Ｂで受け取られ、キャッシュメモリ２０３Ｂに格納される。セカンダリストレージシステム３０２のミラーマネージャプログラム３０６Ｂは、キャッシュされたデータを受け取り、スナップショットコントローラプログラム３０３にデータの整合性チェックを行うことを指示する。整合性があるとの前提で、セカンダリストレージシステム３０２のミラーマネージャプログラム３０６Ｂはデイスクアダプタ３０５Ｂに書き込みプロセスを開始させる。
［３８］  リンクアダプタプログラム３０７Ａ及び３０７Ｂは、プライマリとセカンダリシステム間の交信を管理する。本ソフトウエアは、ネットワークインタフェースデバイスドライバや典型的な公知のプロトコルプログラムを有していることが好ましい。リンクアダプタプログラム３０７は、プライマリサイトのキャッシュメモリ２０３Ａよりデータをロードし、セカンダリサイトで当該データを受け取った時には、キャッシュメモリ２０３Ｂに格納する。ミラー動作のステータスはステータス情報３０８に格納されプログラム３０９により初期化される。
［３９］  図４はプライマリサイトでのデイスクミラーのステータス情報３０８Ａの一例を示し、図５はセカンダリサイトでのデイスクミラーのステータス情報３０８Ｂの一例を示す。この例では、全ての複製作業はストレージスペースの単位としてデイスクボリュームベースで行われているものとする。図４及び５のテーブルは、各行単位にデイスクボリューム情報をリストしている。図４のテーブル３０８Ａはプライマリシステムの情報を示している。各ボリュームに対して、本テーブルは、ローデバイスアドレス４０１、マウントポイント４０２、ボリュームサイズ４０３、同期モード４０４及びリモートリンクアドレス４０５を定義している。デバイスアドレス、マウントポイント及びボリュームサイズはオペレーテイングシステムによる指定に従って、ボリューム識別情報を定義する。これらはＵＮＩＸベースのシステムに従い、“／ｅｔｃ／ｆｓｔａｂ”ファイル内に典型的に定義される。同期モードは複製モードに従い“同期”又は“非同期”が定義される。リモートリンクアドレス４０５はセカンダリサイトの対象アドレスを示す。
［４０］  図５のテーブル３０８Ｂは、セカンダリサイトでのデイスクミラーのステータス情報の同一パラメータを示す。但し、本図ではリモートマウントポイントを有している。リモートマウントポイントはプライマリ及びセカンダリ間のペアボリュームを定義する。
［４１］  図６はプライマリストレージシステム３０１からセカンダリストレージシステム３０２への転送データの一例を示す。正確なメカニズムは上記で述べたストレージシステムの機能に依存するが、図６では最小限の仕様を示す。図６では、非同期転送モードを例にしており、送信元６０３及び送信先６０４アドレスとして、ＩＰアドレスを使用している。このアドレス方式は通信方式に依存し、他のアドレス方式を使用しても良い。例えばファイバチャネル通信の場合はＷＷＮ（Ｗｏｒｌｄｗｉｄｅ  Ｎａｍｅ）が使用される。図６のデイスクスペース情報６０１は対象とするファイル名を指定する。書き込み順序情報６０２はデータ書き込みの順序番号を示す。書き込み順序情報は、転送データは殆ど常に、転送時に複数の部分に分割されるので必要となる。長距離通信が介在している場合には、後から送信された部分が先に送信された部分を追い越してしまうことがある。図６に示されるように、データペイロード（転送対象のデータ）が、デイスクスペース６０１、書き込み順序６０２、送受信アドレス６０３、６０４に対応するデータとして付加される。図３に関連して説明したように、データは、プライマリ及びセカンダリストレージシステムのリンクアダプタを経由して転送される。
［４２］          図７はデイスクペアを初期化する為のフローチャートを示す。本動作はミラーマネージャ３０６により実行される（図３を参照）。本動作に於いては、プライマリシステム３０１及びセカンダリシステム３０２の双方のミラーマネージャ３０６が、初期化を達成する為にリンクアダプタ３０７を通して情報交換を行う。最初に、ステップ７０１及び７０４により、これらのシステム３０１及び３０２は各ローカルリンクアドレスを設定する。例えば、システムマネージャは、各ネットワークインターフェースデバイスに固有のＩＰアドレスを割り当てる。この後、プライマリサイト３０１では、ミラー又はペア対象のデイスクスペース構成を決める（ステップ７０２）。次に、プライマリシステム３０１は、自分のミラーデイスクのステータスをセカンダリシステムに通知し（ステップ７０３）、セカンダリシステムでは、これを受信する（ステップ７０５）。セカンダリシステムが本情報を受け取ると（ステップ７０５）、セカンダリシステムは自分のデイスクスペースを設定する（ステップ７０６）。次に、セカンダリシステムは、ローカルデイスクステータスをプライマリシステムに送信し（ステップ７０７）、プライマリシステムでは、本情報を受け取る（ステップ７０８）。プライマリシステムが本情報を受け取ると、図６で述べた様に、各デイスクスペース２０５に対して同期モードを設定する（ステップ７０９）。次いで、当該システムは設定された同期モード構成情報をセカンダリシステムに送信し（ステップ７１０）、セカンダリシステムはこれを受け取る（ステップ７１１）。セカンダリシステムはこの時点で自分のミラーデイスクステータス情報を更新する。これらのステップを通して、プライマリ及びセカンダリの双方のストレージシステムは一貫性のあるミラーデイスクステータスを確定することが出来る。
［４３］  図８はプライマリストレージシステムが、ホストより命令を受け取ったときの動作を説明するフローチャートである。ホストとプライマリストレージシステムとの関係は図３に説明してある。プライマリストレージシステムは、図７の初期化プロセスに続いて図８に示されるように、ホストからの入力情報の受信を開始する（ステップ８０１）。ストレージシステムは、Ｉ／Ｏコントローラ３０４Ａ経由で入力情報を受け取り、キャッシュメモリ２０３Ａに格納する（図３を参照）。次にデイスクアダプタ３０５Ａに知らされる。デイスクアダプタはミラーマネージャ３０６Ａからの許可を待って、ローカルデイスクドライブへの書き込みに進む。次に、ミラーマネージャ３０６Ａは、複製用データをセカンダリシステム３０２に転送する（ステップ８０２）。
［４４］  次に、同期モードを判定する（ステップ８０３）。同期モードの判定は、ミラーデイスクステータス情報３０８Ａによる（図３を参照）。同期モードが“非同期”なら制御は直ちにステップ８０５に進む。一方、同期モードが“同期”なら、システムはセカンダリシステムより当該システムでの複製完了の報告がプライマリシステムに通知されるのを待つ（ステップ８０４）。いずれのモードでも、ステップ８０５に示される通り、最終的には完了報告がホストに返され、データが成功裏に受信できたことが知らされる。
［４５］  プライマリシステムでのストレージボリュームへの実際の情報書き込み処理は、例えば、“Ｈｉｔａｃｈｉ  Ｄａｔａ  Ｓｙｓｔｅｍｓ  ９９００  ａｎｄ  ７７００Ｅ−Ｇｕｉｄｅｌｉｎｅ  ｆｏｒ  Ｏｒａｃｌｅ  Ｄａｔａｂａｓｅ  ｆｏｒ  Ｂａｃｋｕｐ  ａｎｄ  Ｒｅｃｏｖｅｒｙ”（株）日立製作所刊（２００１．１月）、等に記される公知の技術を用いて行われる。この公知技術には、キャッシュ中のデータを所定のデイスクスペースに適切なタイミングで書き込む為の方法が含まれる。
［４６］  図９は、図８のステップ８０２で実行される、プライマリからセカンダリシステムへのデータ転送を示すフローチャートである。図９の最初のステップ９０１にて、ミラーｂマネージャ３０６Ａ（図３を参照）がリンクアダプタ３０７Ａにデータ送信を指令する。次いで、ミラーマネージャ３０６Ａは、ミラーデイスクステータス情報３０８Ａに存在する対象アドレス６０４とデイスクスペース６０１を通知する。リンクアダプタ３０７Ａは次いで、キャッシュメモリ２０３Ａよりデータをロードする（ステップ９０２）。更にリンクアダプタ３０７Ａは、データを図６に関連して説明したフォーマット内の対象アドレスに送信する（ステップ９０３）。リンクアダプタ３０７Ｂはプライマリリンクアダプタ３０７Ａより送られたデータを受信し（ステップ９０４）、次いで、本受信情報をキャッシュメモリに格納する（ステップ９０５）。
［４７］  図１０はセカンダリサイトでのローカルデイスクスペースへのデータ書き込みのフローチャートを示す。本プロセスはステップ１００１に始まり、スナップショットコントローラ３０３が、キャッシュメモリ２０３Ｂに蓄積されたデータのスキャンを開始する。スナップショットコントローラ３０３は、データの整合性を保証する為、書き込み順序番号を監視する。ステップ１００２に示される如く書き込み順序番号が正しい、即ち今書きみ対象になっているデータが直前に書き込まれたデータの次の番号を持っている場合は、スナップショットコントローラはミラーマネージャ３０６Ｂにこのことを通知する（ステップ１００３）。ミラーマネージャ３０６Ｂは、これに応答して、デイスクアダプタ３０５Ｂにコマンドを発行して（ステップ１００４）、デイスクアダプタ３０５Ｂが該当デイスクスペースへの書き込み処理に入る（ステップ１００５）。これに応答して、ミラーマネージャはデータの複製が成功裏に終了したことを示す応答を返す（ステップ１００６）。
［４８］          既に述べたように、本発明の一つのメリットは、オペレータに特定のサイトに複製されている複数データベースへのアクセスを提供できる事にある。本アクセスを提供するＤＢプロキシハードウエアサーバは、図１１にブロック形式で示される。図１１に示される通り、本ハードウエアはデイスク、入出力デバイス、ＣＰＵ，キャッシュメモリ及びネットワークインタフェースを含む。本発明の幾つかの実装では、ＤＢプロキシハードウエアは汎用ＰＣで構成される。
［４９］  図１２はＤＢプロキシのアーキテクチュアの例を示す。図１２は図１で示されるダイアグラム１００の一部をより詳細化したものである。三つのストレージシステム１０３Ａ、１０３Ｂ及び１０３Ｃが図１２に示されている。各システムはそれぞれサーバ１０４Ａ，１０４Ｂ及び１０４Ｃに結合するＩ／Ｏコントローラを有する。図１２に示されるストレージシステムはリモートストレージシステム１０５Ａ〜１０７Ｃ（図１を参照）のミラーシステムである。サーバホスト１０４は、Ｉ／Ｏコマンドを受け取るホストである。クライアントホスト１２０１は、セカンダリサイト１００のオペレータ１０２に対してインタフェースを提供する。データベースプロキシ１０１は、複数サーバホスト１０４Ａ，１０４Ｂ及び１０４Ｃに跨る検索機能を提供する。図１２に示す通り、各サーバホスト１０４は、ホストＩ／Ｏプログラム３１１及びデータマネージメントプログラム１２０３を有する。本ホストＩ／Ｏプログラム３１１は、図３で述べたものと同じである。データマネージメントプログラム１２０３は、外部ホストより検索要求を受付これらの要求に応じてデータ検索を実行する。
［５０］  クライアントホスト１２０１はＷＷＷクライアント１２０２を有し、本クライアントは、ｈｔｔｐ要求を発行し、ｈｔｔｐメッセージ中のＨＴＭＬコンテンツを受信する汎用ＷＥＢブラウザにより動作している。図１２では、本クライアントはｈｔｔｐで要求するように示されているが、本発明では、多数の他のタイプのクライアントが採用されても良い。例えば典型的なＳＱＬクライアントは、ＳＱＬクライアントが使用されていれば、データ検索要求をＳＱＬメッセージにてプロキシサーバ１０１に要求することが出来る。この場合は、サーバ１２０４はＷＷＷサーバインタフェースに替えて、ＳＱＬメッセージインタフェースになる。本実施例では、プロキシサーバ１０１は、慣用的なＷＥＢサーバプログラムを有し、外部ホストからｈｔｔｐ要求を受け取り、ｈｔｔｐメッセージにてコンテンツを返す。このサーバプログラム１２０４はホストに対してインタフェースを提供する為に使用される。
［５１］          プロキシサーバ１０１中のクライアントＩ／Ｏプログラム１２０５は、プロキシサーバとクライアントホスト１２０１との間の交信をコントロールするプログラムである。本Ｉ／Ｏプログラム１２０５は、ＷＷＷサーバ１２０４のバックエンド部分に典型的なＣＧＩとして実装可能である。データベース検索プログラム１２０６はクライアントホスト１２０１からの要求により、データベースよりデータの抽出を行うプログラムである。プログラム１２０６は、図１２に示す通り、クライアントからの要求を分割しそれらを複数サーバホスト１０４に転送する公知のデータベースソフトウエアでよい。これらの要求は各種のサーバホストにサーバＩ／Ｏプログラム１２０７により転送される。
［５２］  図１３はデータベースプロキシ１０１の動作フローチャートを示す。最初に、ＤＢプロキシオペレータは、データベースアクセス情報１２０８（図１４を参照）を設定して、プロキシ設定を初期化する（ステップ１３０１）。本ＤＢプロキシ１０１は、ホスト１２０１よりデータ検索要求を受信する（ステップ１３０２）。本要求のメッセージフォーマットは、ＳＱＬ，ｈｔｔｐ、ＬＤＡＰ等如何なるものでもかまわない。ＤＢプロキシ１０１は、要求を図１５に関連して説明されるように複数のサーバホストに転送する（ステップ１３０３）。ＤＢプロキシ１０１は、検索結果を複数のサーバより受信してこれらをクライアントホストに返送する（ステップ１３０４）。
［５３］          図１４はデータベースアクセス情報を示す。これは、図１３に関連して、データベースアクセス情報１２０８として既に触れたものである。本データベースアクセス情報は、サーバ名１４０１、サーバアドレス１４０２、ポート番号１４０３及び源データロケーション１４０４を有している。サーバ名欄１４０１には、ＤＢプロキシ１０１がデータ検索要求を送信する為のターゲットとして使用するサーバ名が示されている。サーバアドレス１４０２は、各サーバに割り当てられたＩＰアドレスである。一方において、ポート番号は、サーバホストで採用されているデータ検索サービスのタイプ、例えば、ＬＤＡＰ，ＳＱＬ等を区別する。源データロケーションは、例えば図１の通り、プライマリサイトのロケーションを意味する。
［５４］  図１５は上述したデータベースプロキシアーキテクチャによる複数データベースの検索のフローチャートである。本図では、ＤＢプロキシの動作を左側に、サーバホストの動作を右側に記す。最初に、ＤＢプロキシ１０１内のデータベース検索プログラム１２０６（図１２を参照）が、クライアントの要求をデータベースアクセス情報内のポート番号１４０３（図１４を参照）で定義されるメッセージタイプに変換する。例えば、クライアント１２０１からのｈｔｔｐ要求は、各実行サーバが理解できる様に、ＬＤＡＰサーバに対してはＬＤＡＰ要求フォーマットに、ＳＱＬサーバに対してはＳＱＬ要求フォーマットに変換しなければならない。この変換は、ステップ１５０１に示されており、公知のソフトウエアにより実行される。ＤＢプロキシ１０１は、変換された要求をデータベースアクセス情報１２０８内のサーバアドレスコラム１４０２で指定されたサーバに発行する（ステップ１５０２）。図１５の右側に示される通り、サーバホスト１０４は、ＤＢプロキシ１０１からの要求を自らに適合するメッセージフォーマットにて受け取る（ステップ１５０３）。各サーバホスト１０４内のデータマネージメントプログラム１２０３は、次に、ホストＩ／Ｏプログラム３１１を用いて、自らのストレージシステムに保存されている情報より要求データの検索を開始する（ステップ１５０４）。
［５５］          次に、サーバホスト１０４は、検索結果をＤＢプロキシ１０１に返し（ステップ１５０５）、この結果をＤＢプロキシ１０１が受け取る（ステップ１５０６）。本ＤＢプロキシ１０１は、全てのサーバ１０４からの応答を待ち（ステップ１５０７）、全結果の受領が完了したことを確かめる。全ての結果の受信が完了すると本ＤＢプロキシ１０１は、クライアントＩ／Ｏプログラム１２０５（図１２を参照）を用いて、受信結果を単一のメッセージに統合する（ステップ１５０８）。
［５６］  図１６で一つの検索要求をサンプルとして本システムの全体的動作を説明する。本サンプルでは、クライアントがＤＢプロキシ１０１に、ファーストネームは“Ｍｃｈａｅｌ”で“Ｓａｌｅｓ  Ｄｅｐａｒｔｍｅｎｔ”で働く人全てを、全ての“Ｏｆｆｉｃｅ”から検索することを要求したとする。ＤＢプロキシ１０１は、本要求を分割して三つの適切にフォーマットされた問い合わせ系列に変換して、本情報が保存されていると考えられる三つのミラーサイトにアクセスする。サーバ１０４ＡにはＬＤＡＰフォーｓｅマットで、サーバ１０４ＢにはＳＱＬフォーマットで、及びサーバ１０４Ｃにはｈｔｔｐフォーマットでアドレスする。各サーバは各問い合わせに対応するデータマネージメントプログラムを用いて、関連データベースに問い合わせを行い、結果をＤＢプロキシ１０１に返送する。図に示されるように、サーバＡは二人の従業員名を返答し、サーバＢ，Ｃは各々一人の従業員名を返答している。ＤＢプロキシ１０１は、表１６０１に示すように、本結果を纏めてクライアント１２０１に返答する。テーブル１６０１には、各従業員のファーストネーム、ラストネーム、部署及びＥ−Ｍａｉｌアドレスが記されている。加えて、各情報が得られた源ロケーション名が記されている。
［５７］          本発明の好適な実施例に付いて述べてきた。ここで述べられた技術に対しては、幾多の応用がある事は容易に理解されるところである。例えば、本発明は、互いに離れて遠隔地に存在し、各個別のストレージシステムを持ち、個別にデータを管理する、多数のブランチを持つ大企業に付いても適用可能である。ここでは、メインオフィスが分散するデータを集めて単一つの巨大ストレージシステムに纏めることが可能である。これにより、一オフィスの従業員はシステム全てのデータにアクセス可能である。
［５８］          他の例では、一つの中央気象庁は世界中に存在する何千と言う観測所から気象情報を集めて、各サイトの気象状態に関連する情報を適切に問い合わせて、適切に取得して管理することが出来る。他の例としては、本システムはデータの冗長配置を可能にして、各サイトでのシステムクラッシュ、自然災害、その他に対してデータを保護することが出来る。このような応用では、従来技術を用いた不均一システムでも、オペレータには意識させない運用が可能である。
［５９］        本発明の範囲に付いては、後続する請求項で定義される。
【図面の簡単な説明】
【図１】図１は広域ストレージのローカライズ化システムの全体像を説明する。
【図２】図２はストレージシステムのハードウエア構成のブロックダイアグラムである。
【図３】図３はストレージシステムのアーキテクチュアのより詳細な一例を示す。
【図４】図４はプライマリサイトでのデイスクミラーのステータス情報の一例を示す
【図５】図５はセカンダリサイトでのデイスクミラーのステータス情報の一例を示す。
【図６】図６はプライマリからセカンダリシステムへのデータ転送の状況を示す。
【図７】図７はデイスクペアを初期化する為のフローチャートを示す。
【図８】図８はプライマリストレージシステムでのデータ入力の為のフローチャートを示す。
【図９】図９はミラーデータ転送の為のフローチャートを示す。
【図１０】図１０はセカンダリサイトでのローカルデイスクへのデータ書き込みの為のフローチャートを示す。
【図１１】図１１はデータベースプロキシのハードウエア構成を示す。
【図１２】図１２はデータベースプロキシのアーキテクチュアのより詳細な一例を示す。
【図１３】図１３はデータベースプロキシ動作のフローチャートを示す。
【図１４】図１４はデータベースアクセス履歴情報を示す。
【図１５】図１５はデータベースプロキシサーバによる複数データベース検索の為のフローチャートを示す
【図１６】図１６は抽出された複数データがデータベースプロキシサーバにより如何にマージされるかを示す。
【符号の説明】
１０５，１０６，１０７・・・プライマリサイトＡ，Ｂ，Ｃ、オペレータ、データ、複製、１００・・・セカンダリサイト、１０１・・・ＤＢ（データベース）プロキシ、検索、検索結果、１０２・・・オペレータ、１０３・・・データ、１０４・・・サーバ、２００・・・ストレージシステム、２０１・・・デイスクＩ／Ｆ（インタフェース）チップ、２０２・・・ＣＰＵ、２０３・・・キャッシュメモリ、２０４・・・ネットワークインタフェース、２０５・・・デイスクスペース、２０６・・・入力装置、２０７・・・出力装置、３１０Ａ，Ｂ・・・ホストＡ，Ｂ、３１１Ａ，Ｂ・・・ホストＩ／Ｏプログラム、３０１・・・プライマリシステム、３０２・・・セカンダリシステム、３０３・・・スナップショットコントローラ、３０４Ａ，Ｂ・・・Ｉ／Ｏコントローラ、３０５Ａ，Ｂ・・・デイスクアダプタ、３０６Ａ，Ｂ・・・ミラーマネージャ
【図１】
2004252938.tif 000003
【図２】
2004252938.tif 000004
【図３】
2004252938.tif 000005
【図４】
2004252938.tif 000006
【図５】
2004252938.tif 000007
【図６】
2004252938.tif 000008
【図７】
2004252938.tif 000009
【図８】
2004252938.tif 000010
【図９】
2004252938.tif 000011
【図１０】
2004252938.tif 000012
【図１１】
2004252938.tif 000013
【図１２】
2004252938.tif 000014
【図１３】
2004252938.tif 000015
【図１４】
2004252938.tif 000016
【図１５】
2004252938.tif 000017
【図１６】
2004252938.tif 000018
【外国語明細書】
2004252938.tif 000019
2004252938.tif 000020
2004252938.tif 000021
2004252938.tif 000022
2004252938.tif 000023
2004252938.tif 000024
2004252938.tif 000025
2004252938.tif 000026
2004252938.tif 000027
2004252938.tif 000028
2004252938.tif 000029
2004252938.tif 000030
2004252938.tif 000031
2004252938.tif 000032
2004252938.tif 000033
2004252938.tif 000034
2004252938.tif 000035
2004252938.tif 000036
2004252938.tif 000037
2004252938.tif 000038
2004252938.tif 000039
2004252938.tif 000040
2004252938.tif 000041
2004252938.tif 000042
2004252938.tif 000043
2004252938.tif 000044
2004252938.tif 000045
2004252938.tif 000046
2004252938.tif 000047
2004252938.tif 000048
2004252938.tif 000049
2004252938.tif 000050
2004252938.tif 000051
2004252938.tif 000052
2004252938.tif 000053
2004252938.tif 000054
2004252938.tif 000055
2004252938.tif 000056
2004252938.tif 000057
2004252938.tif 000058
2004252938.tif 000059
2004252938.tif 000060
2004252938.tif 000061
2004252938.tif 000062
2004252938.tif 000063
2004252938.tif 000064
2004252938.tif 000065
2004252938.tif 000066