(57)【要約】【課題】  複数の相互接続された制御ノードからキャプテン制御ノードを選択するための方法を提供する。【解決手段】  本方法は、複数の制御ノードの各々により他の制御ノードの各々に第１信号を供給し、次に、複数の制御ノードの各々により他の制御ノードの各々から応答信号を受け取る。次に、本方法は、複数の制御ノードの各々により他の制御ノードの各々に対する個々の応答時間を計算し、各制御ノード毎にその総応答時間を決定する。次に、本方法は、総応答時間を使用してキャプテン制御ノードを選択すべきかどうかを決定する。総応答時間を使用してキャプテン制御ノードが選択される場合、本方法は、最小の総応答時間を決定し、その最小の総応答時間を有する制御ノードをキャプテン制御ノードに指定する。【選択図】  図５
2005092874.tif 000002
【特許請求の範囲】
【請求項１】
複数の相互接続された制御ノードからキャプテン制御ノードを選択するための方法であって、
（ａ）前記複数の制御ノードの各々によって他の制御ノードの各々に第１信号を供給するステップと、
（ｂ）前記複数の制御ノードの各々によって他の制御ノードの各々から応答信号を受け取るステップと、
（ｃ）前記複数の制御ノードの各々によって他の制御ノードの各々に対する個々の応答時間を計算するステップと、
（ｄ）前記複数の相互接続された制御ノードに対する総応答時間を決定するステップと、
（ｅ）前記総応答時間を使用してキャプテン制御ノードを選択すべきかどうかを決定するステップと、
（ｆ）前記総応答時間を使用してキャプテン制御ノードが選択される場合、最小の総応答時間を決定し、前記最小の総応答時間を有する制御ノードをキャプテン制御ノードとして指定するように動作するステップと
を含む、方法。
【請求項２】
２つ以上の制御ノードの各々が前記最小の総応答時間を有するかどうかを決定するステップと、
２つ以上の制御ノードの各々が前記最小の総応答時間を有する場合、前記ステップ（ａ）乃至（ｆ）を繰り返すように動作するステップと
を更に含む、請求項１に記載の方法。
【請求項３】
前記複数の制御ノードの各々によって当該制御ノードの総応答時間に対する標準偏差を計算するステップと、
各制御ノードによって残りの相互接続された制御ノードの各々に前記標準偏差を供給するステップと
を更に含む、請求項１に記載の方法。
【請求項４】
２つ以上の制御ノードの各々が最小の総応答時間を有する場合、前記２つ以上の制御ノードのどれが最低の標準偏差を有するかを決定するように動作するステップと、
前記最小の総応答時間及び前記最低の標準偏差を有する制御ノードを前記キャプテン制御ノードとして指定するステップと
を更に含む、請求項３に記載の方法。
【請求項５】
前記総応答時間を使用してキャプテン制御ノードが選択される場合、キャプテン制御ノード選択機能を提供するように動作するステップと、
前記キャプテン制御ノード選択機能を使用して前記複数の相互接続された制御ノードの各々に対するパフォーマンス・スコアを決定するステップと、
最小のパフォーマンス・スコアを有する制御ノードをキャプテン制御ノードとして指定するステップと
を更に含む、請求項３に記載の方法。
【請求項６】
前記キャプテン制御ノード選択機能は下式を含む、請求項５に記載の方法。
パフォーマンス・スコア＝a(総応答時間)ｃ＋b(標準偏差)ｄ
なお、a、b、c、及び d は正の定数である。
【請求項７】
複数のホスト・コンピュータを提供するステップを更に含み、
前記複数の制御ノードの各々は前記複数のホスト・コンピュータの異なる１つに配置され、
前記複数のホスト・コンピュータの各々は１つ以上のデータ・ストレージ及び検索システムと通信を行うことができる
請求項１に記載の方法。
【請求項８】
複数のデータ・ストレージ及び検索システムを提供するステップを更に含み、
前記複数の制御ノードの各々は、前記複数のデータ・ストレージ及び検索システムの異なる１つに配置され、
前記複数のデータ・ストレージ及び検索システムの各々は、１つ以上のホスト・コンピュータと通信を行うことができる
請求項１に記載の方法。
【請求項９】
複数の一次バックアップ装置を提供するステップを更に含み、
前記複数の制御ノードの各々は、前記複数の一次バックアップ装置の異なる１つに配置され、
前記複数の一次バックアップ装置の各々は、１つ以上のデータ・ストレージ及び検索システム及び１つ以上の二次バックアップ装置と通信を行うことができる
請求項１に記載の方法。
【請求項１０】
制御ノードを含み、複数の相互接続された制御ノードからキャプテン制御ノードを選択するためにコンピュータ可読プログラム・コードを配置されたコンピュータ使用可能媒体を更に含むシステムであって、前記コンピュータ可読プログラム・コードは、
（ａ）他の制御ノードの各々に第１信号を供給することと、
（ｂ）他の制御ノードの各々から応答信号を受け取ることと、
（ｃ）他の制御ノードの各々に対する個々の応答時間を計算することと、
（ｄ）前記システムに対する総応答時間を決定することと、
（ｅ）他の制御ノードの各々から総応答時間を受け取ることと、
（ｆ）前記総応答時間を使用してキャプテン制御ノードを選択すべきかどうかを決定することと、
（ｇ）前記総応答時間を使用してキャプテン制御ノードが選択される場合に動作可能で、最小の総応答時間を決定することと、
（ｈ）前記総応答時間を使用してキャプテン制御ノードが選択される場合に動作可能で、最小の総応答時間を有する制御ノードをキャプテン制御ノードに指定することとを
達成するための一連のコンピュータ可読プログラム・ステップを含む、システム。
【請求項１１】
前記コンピュータ可読プログラム・コードは、
２つ以上の制御ノードの各々が前記最小の総応答時間を有するかどうか決定することと、
２つ以上の制御ノードの各々が前記最小の総応答時間を有する場合に動作可能で、前記（ａ）乃至（ｈ）を繰り返すこととを
達成するための一連のコンピュータ可読プログラム・ステップを含む、請求項１０に記載のシステム。
【請求項１２】
前記コンピュータ可読プログラム・コードは、
前記システムに対する前記総応答時間に関する標準偏差を計算することと、
残りの制御ノードの各々から標準偏差を受け取ることとを
達成するための一連のコンピュータ可読プログラム・ステップを更に含む、請求項１０に記載のシステム。
【請求項１３】
前記コンピュータ可読プログラム・コードは、
２つ以上の制御ノードの各々が前記最小の総応答時間を有する場合に動作可能で、前記２つ以上の制御ノードのうちのどれが最低の標準偏差を有するかを決定することと、
前記最小の総応答時間及び最低の標準偏差を有する制御ノードをキャプテン制御ノードとして指定することとを
達成するための一連のコンピュータ可読プログラム・ステップを更に含む、請求項１２に記載のシステム。
【請求項１４】
前記コンピュータ可読プログラム・コードは、
前記総応答時間を使用してキャプテン制御ノードが選択されない場合に動作可能で、キャプテン制御ノード選択機能を検索することと、
前記キャプテン制御ノード選択機能を使用して前記複数の相互接続された制御ノードの各々に対するパフォーマンス・スコアを決定することと、
最小のパフォーマンス・スコアを有する制御ノードをキャプテン制御ノードして指定することとを
達成するための一連のコンピュータ可読プログラム・ステップを更に含む、請求項１２に記載のシステム。
【請求項１５】
前記キャプテン制御ノード選択機能は下式を含む、請求項１４に記載のシステム。
パフォーマンス・スコア＝a(総応答時間)ｃ＋b(標準偏差)ｄ
なお、a、b、c、及び d は正の定数である。
【請求項１６】
前記システムは複数のホスト・コンピュータの１つを含み、前記複数のホスト・コンピュータの各々は１つ以上のデータ・ストレージ及び検索システムと通信を行うことができる、請求項１０に記載のシステム。
【請求項１７】
前記システムは複数のデータ・ストレージ及び検索システムの１つを含み、前記複数のデータ・ストレージ及び検索システムの各々は１つ以上のホスト・コンピュータと通信を行うことができる、請求項１０に記載のシステム。
【請求項１８】
前記システムは複数の一次バックアップ装置の１つを含み、前記複数の一次バックアップ装置の各々は１つ以上のデータ・ストレージ及び検索システム及び１つ以上の二次バックアップ装置と通信を行うことができる、請求項１０に記載のシステム。
【請求項１９】
複数の相互接続された制御ノードからキャプテン制御ノードを選択するように具体化されたコンピュータ可読プログラム・コードを有するプログラマブル・コンピュータ・プロセッサと共に使用可能なコンピュータ・プログラム記録媒体であって、前記コンピュータ・プログラム記録媒体は第１制御ノードに配置され、
（ａ）前記プログラマブル・コンピュータ・プロセッサに、第１信号を他の制御ノードの各々へ供給させるコンピュータ可読プログラム・コードと、
（ｂ）前記プログラマブル・コンピュータ・プロセッサに、他の制御ノードの各々からの応答信号を受け取らせるコンピュータ可読プログラム・コードと、
（ｃ）前記プログラマブル・コンピュータ・プロセッサに、他の制御ノードの各々に対する個々の応答時間を計算させるコンピュータ可読プログラム・コードと、
（ｄ）前記プログラマブル・コンピュータ・プロセッサに、前記第１制御ノードに対する総応答時間を決定させるコンピュータ可読プログラム・コードと、
（ｅ）前記プログラマブル・コンピュータ・プロセッサに、残りの制御ノードの各々からの総応答時間を受け取らせるコンピュータ可読プログラム・コードと、
（ｆ）前記プログラマブル・コンピュータ・プロセッサに、前記総応答時間を使用してキャプテン制御ノードを選択すべきどうかを決定させるコンピュータ可読プログラム・コードと、
（ｇ）前記総応答時間を使用して前記キャプテン制御ノードが選択される場合、前記プログラマブル・コンピュータ・プロセッサに、最小の総応答時間を決定させるコンピュータ可読プログラム・コードと、
（ｈ）前記総応答時間を使用して前記キャプテン制御ノードが選択される場合、前記プログラマブル・コンピュータ・プロセッサに、最小の総応答時間を有する制御ノードをキャプテン制御ノードとして指定させるコンピュータ可読プログラム・コードと
を有するコンピュータ・プログラム記録媒体。
【請求項２０】
前記プログラマブル・コンピュータ・プロセッサに、２つ以上の制御ノードの各々が最小の総応答時間を有するかどうかを決定させるコンピュータ可読プログラム・コードと、
２つ以上の制御ノードの各々が最小の総応答時間を有する場合、前記プログラマブル・コンピュータ・プロセッサに、請求項１９の前記（ａ）乃至（ｈ）の動作を繰り返させるコンピュータ可読プログラム・コードと
を更に含む、請求項１９に記載のコンピュータ・プログラム記録媒体。
【請求項２１】
前記プログラマブル・コンピュータ・プロセッサに、前記第１制御ノードに対する前記総応答時間の標準偏差を計算させるコンピュータ可読プログラム・コードと、
前記プログラマブル・コンピュータ・プロセッサに、残りの制御ノードの各々から標準偏差を受け取らせるコンピュータ可読プログラム・コードと
を更に含む、請求項１９に記載のコンピュータ・プログラム記録媒体。
【請求項２２】
２つ以上の制御ノードの各々が最小の総応答時間を有する場合、前記プログラマブル・コンピュータ・プロセッサに、前記２つ以上の制御ノードのどれが最低の標準偏差を有するかを決定させるコンピュータ可読プログラム・コードと、
前記プログラマブル・コンピュータ・プロセッサに、前記最小の総応答時間及び前記最低の標準偏差を有する制御ノードをキャプテン制御ノードとして指定させるコンピュータ可読プログラム・コードと
を更に含む、請求項２１に記載のコンピュータ・プログラム記録媒体。
【請求項２３】
前記総応答時間を使用してキャプテン制御ノードが選択されない場合、前記プログラマブル・コンピュータ・プロセッサに、所定のキャプテン制御ノード選択機能を検索させるコンピュータ可読プログラム・コードと、
前記プログラマブル・コンピュータ・プロセッサに、前記キャプテン制御ノード選択機能を使用して前記複数の相互接続された制御ノードの各々に対するパフォーマンス・スコアを決定させるコンピュータ可読プログラム・コードと、
前記プログラマブル・コンピュータ・プロセッサに、最小のパフォーマンス・スコアを有する制御ノードをキャプテン制御ノードとして指定させるコンピュータ可読プログラム・コードと
を更に含む、請求項１９に記載のコンピュータ・プログラム記録媒体。
【請求項２４】
前記キャプテン制御ノード選択機能は下式を含む、請求項２３に記載のコンピュータ・プログラム記録媒体。
パフォーマンス・スコア＝a(総応答時間)ｃ＋b(標準偏差)ｄ
なお、a、b、c、及び d は正の定数である。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の相互接続された制御ノードから、パフォーマンスに基づいて、キャプテン制御ノード（captain control node）を選択するための装置及び方法に関するものである。別の実施例では、本発明は、複数のホスト・コンピュータからキャプテン制御ノードを選択することに関する。更に別の実施例では、本発明は、複数のデータ・ストレージ及び検索システムに配置された複数のコントローラからキャプテン制御ノードを選択することに関する。更に別のなる実施例では、本発明は、複数の一次バックアップ装置（appliance）に配置された複数のコントローラからキャプテン制御ノードを選択することに関する。
【背景技術】
【０００２】
データを効率的にアクセスし、修正し、及び再記憶する場合に使用するための多くのデータ処理システムは大量のデータ・ストレージを必要とする。データ・ストレージは、一般に、幾つかの異なるレベルに区分けされ、各レベルは、異なるデータ・アクセス・タイムまたはデータ・ストレージ・コストを表す。第１レベル又は最高レベルのデータ・ストレージは、電子メモリ、通常は、動的または静的ランダム・アクセス・メモリ（ＤＲＡＭまたはＳＲＡＭ）を含む。電子メモリは、半導体集積回路の形態を取り、各回路には数百万バイトのデータが記憶可能であり、そのようなデータ・バイトに対するアクセスは数ナノ秒の速度である。電子メモリは、アクセスが全体的に電子的であるので、データに対して最速のアクセスを行う。
【０００３】
或るデータ処理アプリケーションでは、「ホスト・コンピュータ」とも呼ばれる複数の相互接続されたコンピュータ・システムが複数のデータ・ストレージ及び検索システムに情報を提供する。それらのホスト・コンピュータのオペレーションを調整するためには、それらのホスト・コンピュータの中からキャプテン制御ノードを選択することが望ましいであろう。
【０００４】
第２レベルのデータ・ストレージは、通常、ダイレクト・アクセス・ストレージ・デバイス(ＤＡＳＤ)を含む。ＤＡＳＤストレージは、例えば、磁気ディスクおよび／または光ディスクを含む。データ・ビットは、そのデータ・ビットの２進値を構成する「１」及び「０」を表すマイクロメータ・サイズの磁気的または光学的に変更されたスポット（spot）としてディスク表面に記憶される。磁気ＤＡＳＤは、残留磁性材料で被覆された１つまたは複数のディスクを含む。ディスクは、保護された環境内に回転可能に装着される。各ディスクは、多数の同心トラックつまり近接間隔の輪（circle）に分けられる。データは、各トラックに沿ってビット毎に連続的に記憶（store）される。
【０００５】
別のデータ処理アプリケーションでは、複数のホスト・コンピュータが複数の相互接続されたデータ・ストレージ及び検索システムに情報を提供する。それらの複数のデータ・ストレージ及び検索システムの中からパフォーマンスに基づいてキャプテン制御ノードを選択し、それらのシステムのオペレーションを調整させることは望ましいことである。
【０００６】
データ喪失が破滅的なことになる多くのビジネスにとって、バックアップ・データ・コピーを持つことは必須である。更に、システム全体つまり設置場所（site；サイト）が地震、火災、爆発、台風などのような災害によって破壊される場合、データを回復させるための保護が必要である。
【０００７】
災害からの復旧は、一次データから遠隔のロケーションに、データの二次コピーをストアしておくことが望ましい。その二次サイトは、一次サイトから十分に遠隔でなければならないのみならず、一次データをリアル・タイムでバックアップできなければならない。二次サイトは、一次データが更新されるときに、最少の遅れで一次データをバックアップする必要がある。二次サイトが必要とする難しいタスクは、二次データが「一致した順序（order consistent）」でなければならないこと、即ち、実質的なシステム考察（system consideration）を必要とする、一次データと同じ連続的順序（連続的整合性）で二次データがコピーされなければならないということである。連続的整合性（sequentialconsistency）は、各々がデータ処理システムにおいて多数のＤＡＳＤを制御する多重ストレージ・コントローラの存在によって複雑にされる。連続的整合性がない場合、その結果として、一次データと一致しない二次データが生じ、従って、災害復旧を損なうことになる。
【０００８】
更に別のデータ処理アプリケーションでは、複数の相互接続されたデータ・ストレージ及び検索システムが複数の相互接続された一次バックアップ装置にデータを提供する。一次バックアップ装置は、整合した（一貫性のある）トランザクション・セットをバックアップ・ストレージのための遠隔サイトに定期的に供給する。それらのバックアップ装置のオペレーションを調整するために、複数のバックアップ装置からキャプテン制御ノードをパフォーマンスに基づいて選択することが望ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、複数の相互接続された制御ノードからキャプテン制御ノードを選択するための装置及び方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の方法は、複数の制御ノードの各々によって他の制御ノードの各々に第１信号を供給し、次に、複数の制御ノードの各々によって他の制御ノードの各々からの応答信号を受信する。本方法では、更に、複数の制御ノードの各々によって他の制御ノードの各々に対する個々の応答時間を計算し、各制御ノード毎に総応答時間（aggregate response time）を決定する。
【００１１】
次に、本方法では、総応答時間を使用してキャプテン制御ノードを選択すべきかどうかを決定する。総応答時間を使用してキャプテン制御ノードが選択される場合、本方法では、最小の総応答時間を決定し、最小の総応答時間を有する制御ノードをキャプテン制御ノードに指定する。
【発明を実施するための最良の形態】
【００１２】
以下の説明では、図面を参照して本発明を好適な実施例によって説明する。なお、図面では、同じ参照番号は同じまたは同様の要素（element）を表す。本発明は、複数のホスト・コンピュータ、複数の一次データ・ストレージ及び検索システム、複数の二次データ・ストレージ及び検索システム、並びにそれら一次及び二次データ・ストレージ及び検索システムを相互接続する複数のバックアップ装置を含むデータ処理システムにおいて具体化されるものとして説明される。しかし、複数の制御ノードから１つのキャプテン制御ノードを選択するための本発明に関する以下の説明は、本発明が、一般的には、複数のコンピュータのオペレーションを監視および／または調整することに適用可能であるけれども、本発明をデータ処理アプリケーションに限定することを意味しない。
【００１３】
図４は、本願のデータ処理システムのコンポーネントを示す。そこで、図４を参照すると、ホスト・コンピュータ４８０、４８５、及び４９０が通信リンク４０１を介して相互接続され、相互に通信（communicate）を行う。ホスト・コンピュータ４８０、４８５、及び４９０は、通信リンク４０１を介して一次データ・ストレージ及び検索システム４１０、４３０、及び４５０に相互接続され、これらと通信を行う。別の実施例では、通信リンク４０１は、ＲＳ−２３２ケーブルまたはＲＳ−４３２ケーブルのようなシリアル相互接続、イーサネット相互接続、ＳＣＳＩ（smallcomputer system interface）相互接続、ファイバ・チャネル相互接続、ＥＳＣＯＮ（Enterprise Systems Connection）相互接続、ＦＩＣＯＮ（FiberConnection）相互接続、ローカル・エリア・ネットワーク（ＬＡＮ）、私設広域ネットワーク（ＷＡＮ）、公衆広域ネットワーク、ストレージ・エリア・ネットワーク（ＳＡＮ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、インターネット、及びそれらの組み合わせから成るグループから選択される。
【００１４】
ホスト・コンピュータ４８０、４８５、及び４９０は、それぞれ、Windows、ＡＩＸ、Unix、ＭＶＳ、ＬＩＮＵＸ等のようなオペレーティング・システムを含むメインフレーム、パーソナル・コンピュータ、ワークステーション等のようなコンピュータ・システムを含む。（なお、Windowsはマイクロソフト社の商標であり、ＡＩＸ及びＭＶＳはＩＢＭ社の商標であり、ＵＮＩＸは The Open Group を通して排他的にライセンスされた米国及び他の国における商標である）。
【００１５】
コンピュータ４８０は、プロセッサ、即ち、制御ノード４８１のような制御ノードを含む。コンピュータ４８５は、プロセッサ、即ち、制御ノード４８６のような制御ノードを含む。コンピュータ４９０は、プロセッサ、即ち、制御ノード４９１のような制御ノードを含む。図４に示された実施例では、制御ノード４８１、４８６、及び４９１は通信リンク４０１を使用して相互に通信を行う。
【００１６】
或る実施例では、ホスト・コンピュータ４８０、４８５、及び４９０は、それぞれ、ストレージ管理プログラム４８２、４８７、及び４９２を含む。ストレージ管理プログラム４８２、４８７、及び４９２は、ＩＢＭ  ＭＶＳオペレーティング・システムに実装されたＩＢＭ  ＤＦＳＭＳのようなデータ・ストレージ及び検索システムへのデータの転送を管理する、その分野では知られたストレージ管理タイプ・プログラムの機能を含んでもよい。
【００１７】
一次データ・ストレージ及び検索システム４１０は、一次情報ストレージ・メディア４１２から二次情報ストレージ・メディア４２７にコピーするための情報を、一次バックアップ装置４１５及び二次バックアップ装置４２０を介して二次データ・ストレージ及び検索システム４２５に供給する。データ・ストレージ及び検索システム４１０は、更に、プロセッサ、即ち、制御ノード４１１を含む。データ・ストレージ及び検索システム４２５は、更に、プロセッサ、即ち、制御ノード４２６を含む。
【００１８】
或る実施例では、情報ストレージ・メディア４１２はＤＡＳＤを含む。別の実施例では、情報ストレージ・メディア４１２は１つ以上のＲＡＩＤ（redundant arrays of independent disks）アレイを含む。更に別の実施例では、情報ストレージ・メディア４１２は、例えば、テープ・カートリッジのような携帯用コンテナ内に個々に配置された複数の磁気テープを含む複数の携帯用情報ストレージ・メディアを含む。
【００１９】
或る実施例では、情報ストレージ・メディア４２７はＤＡＳＤを含む。別の実施例では、情報ストレージ・メディア４２７は１つ以上のＲＡＩＤアレイを含む。更に別の実施例では、情報ストレージ・メディア４２７は、例えば、テープ・カートリッジのような携帯用コンテナ内に個々に配置された複数の磁気テープを含む複数の携帯用情報ストレージ・メディアを含む。
【００２０】
或る実施例では、一次バックアップ装置４１５は、一次データ・ストレージ及び検索システム４１０と一体化している。図４に示された実施例では、一次バックアップ装置４１５は、一次データ・ストレージ及び検索システム４１０にとっては外部にあり、通信リンク４０３を介して一次データ・ストレージ及び検索システム４１０と通信を行う。別の実施例では、通信リンク４０３は、ＲＳ−２３２ケーブルまたはＲＳ−４３２ケーブルのようなシリアル相互接続、イーサネット相互接続、ＳＣＳＩ相互接続、ファイバ・チャネル相互接続、ＥＳＣＯＮ相互接続、ＦＩＣＯＮ相互接続、ローカル・エリア・ネットワーク（ＬＡＮ）、私設広域ネットワーク（ＷＡＮ）、公衆広域ネットワーク、ストレージ・エリア・ネットワーク（ＳＡＮ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、インターネット、及びそれらの組み合わせから成るグループから選択される。
【００２１】
或る実施例では、二次バックアップ装置４２０は、二次データ・ストレージ及び検索システム４２５と一体化している。図４に示された実施例では、二次バックアップ装置４２０は、二次データ・ストレージ及び検索システム４２５にとっては外部にあり、通信リンク４０６を介して二次データ・ストレージ及び検索システム４２５と通信を行う。別の実施例では、通信リンク４０６は、ＲＳ−２３２ケーブルまたはＲＳ−４３２ケーブルのようなシリアル相互接続、イーサネット相互接続、ＳＣＳＩ相互接続、ファイバ・チャネル相互接続、ＥＳＣＯＮ相互接続、ＦＩＣＯＮ相互接続、ローカル・エリア・ネットワーク（ＬＡＮ）、私設広域ネットワーク（ＷＡＮ）、公衆広域ネットワーク、ストレージ・エリア・ネットワーク（ＳＡＮ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、インターネット、及びそれらの組み合わせから成るグループから選択される。
【００２２】
一次データ・ストレージ及び検索システム４３０は、一次情報ストレージ・メディア４３２から二次情報ストレージ・メディア４４７にコピーするための情報を、一次バックアップ装置４３５及び二次バックアップ装置４４０を介して二次データ・ストレージ及び検索システム４４５に供給する。情報ストレージ及び検索システム４３０は、更に、制御ノード４３１を含む。情報ストレージ及び検索システム４４５は、更に、制御ノード４４６を含む。
【００２３】
或る実施例では、情報ストレージ・メディア４３２はＤＡＳＤを含む。別の実施例では、情報ストレージ・メディア４３２は１つ以上のＲＡＩＤアレイを含む。更に別の実施例では、情報ストレージ・メディア４３２は、例えば、テープ・カートリッジのような携帯用コンテナ内に個々に配置された複数の磁気テープを含む複数の携帯用情報ストレージ・メディアを含む。
【００２４】
或る実施例では、情報ストレージ・メディア４４７はＤＡＳＤを含む。別の実施例では、情報ストレージ・メディア４４７は１つ以上のＲＡＩＤアレイを含む。更に別の実施例では、情報ストレージ・メディア４４７は、例えば、テープ・カートリッジのような携帯用コンテナ内に個々に配置された複数の磁気テープを含む複数の携帯用情報ストレージ・メディアを含む。
【００２５】
或る実施例では、一次バックアップ装置４３５は、一次データ・ストレージ及び検索システム４３０と一体化している。図４に示された実施例では、一次バックアップ装置４３５は、一次データ・ストレージ及び検索システム４３０にとっては外部にあり、通信リンク４０４を介して一次データ・ストレージ及び検索システム４３０と通信を行う。別の実施例では、通信リンク４０４は、ＲＳ−２３２ケーブルまたはＲＳ−４３２ケーブルのようなシリアル相互接続、イーサネット相互接続、ＳＣＳＩ相互接続、ファイバ・チャネル相互接続、ＥＳＣＯＮ相互接続、ＦＩＣＯＮ相互接続、ローカル・エリア・ネットワーク（ＬＡＮ）、私設広域ネットワーク（ＷＡＮ）、公衆広域ネットワーク、ストレージ・エリア・ネットワーク（ＳＡＮ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、インターネット、及びそれらの組み合わせから成るグループから選択される。
【００２６】
或る実施例では、二次バックアップ装置４４０は、二次データ・ストレージ及び検索システム４４５と一体化している。図４に示された実施例では、二次バックアップ装置４４０は、二次データ・ストレージ及び検索システム４４５にとっては外部にあり、通信リンク４０７を介して二次データ・ストレージ及び検索システム４４５と通信を行う。別の実施例では、通信リンク４０７は、ＲＳ−２３２ケーブルまたはＲＳ−４３２ケーブルのようなシリアル相互接続、イーサネット相互接続、ＳＣＳＩ相互接続、ファイバ・チャネル相互接続、ＥＳＣＯＮ相互接続、ＦＩＣＯＮ相互接続、ローカル・エリア・ネットワーク（ＬＡＮ）、私設広域ネットワーク（ＷＡＮ）、公衆広域ネットワーク、ストレージ・エリア・ネットワーク（ＳＡＮ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、インターネット、及びそれらの組み合わせから成るグループから選択される。
【００２７】
一次データ・ストレージ及び検索システム４５０は、一次情報ストレージ・メディア４５２から二次情報ストレージ・メディア４６７にコピーするための情報を、一次バックアップ装置４４５及び二次バックアップ装置４６０を介して二次データ・ストレージ及び検索システム４６５に供給する。情報ストレージ及び検索システム４５０は、更に、制御ノード４５１を含む。情報ストレージ及び検索システム４６５は、更に、制御ノード４６６を含む。
【００２８】
或る実施例では、情報ストレージ・メディア４５２はＤＡＳＤを含む。別の実施例では、情報ストレージ・メディア４５２は１つ以上のＲＡＩＤアレイを含む。更に別の実施例では、情報ストレージ・メディア４５２は、例えば、テープ・カートリッジのような携帯用コンテナ内に個々に配置された複数の磁気テープを含む複数の携帯用情報ストレージ・メディアを含む。
【００２９】
或る実施例では、情報ストレージ・メディア４６７はＤＡＳＤを含む。別の実施例では、情報ストレージ・メディア４６７は１つ以上のＲＡＩＤアレイを含む。更に別の実施例では、情報ストレージ・メディア４６７は、例えば、テープ・カートリッジのような携帯用コンテナ内に個々に配置された複数の磁気テープを含む複数の携帯用情報ストレージ・メディアを含む。
【００３０】
或る実施例では、一次バックアップ装置４５５は、一次データ・ストレージ及び検索システム４５０と一体化している。図４に示された実施例では、一次バックアップ装置４５５は、一次データ・ストレージ及び検索システム４５０にとっては外部にあり、通信リンク４０５を介して一次データ・ストレージ及び検索システム４５０と通信を行う。別の実施例では、通信リンク４０５は、ＲＳ−２３２ケーブルまたはＲＳ−４３２ケーブルのようなシリアル相互接続、イーサネット相互接続、ＳＣＳＩ相互接続、ファイバ・チャネル相互接続、ＥＳＣＯＮ相互接続、ＦＩＣＯＮ相互接続、ローカル・エリア・ネットワーク（ＬＡＮ）、私設広域ネットワーク（ＷＡＮ）、公衆広域ネットワーク、ストレージ・エリア・ネットワーク（ＳＡＮ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、インターネット、及びそれらの組み合わせから成るグループから選択される。
【００３１】
或る実施例では、二次バックアップ装置４６０は、二次データ・ストレージ及び検索システム４６５と一体化している。図４に示された実施例では、二次バックアップ装置４６０は、二次データ・ストレージ及び検索システム４６５にとっては外部にあり、通信リンク４０８を介して二次データ・ストレージ及び検索システム４６５と通信を行う。別の実施例では、通信リンク４０８は、ＲＳ−２３２ケーブルまたはＲＳ−４３２ケーブルのようなシリアル相互接続、イーサネット相互接続、ＳＣＳＩ相互接続、ファイバ・チャネル相互接続、ＥＳＣＯＮ相互接続、ＦＩＣＯＮ相互接続、ローカル・エリア・ネットワーク（ＬＡＮ）、私設広域ネットワーク（ＷＡＮ）、公衆広域ネットワーク、ストレージ・エリア・ネットワーク（ＳＡＮ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、インターネット、及びそれらの組み合わせから成るグループから選択される。
【００３２】
一次バックアップ装置４１５、４３５、及び４５５は、それぞれ、一次データ・ストレージ及び検索システム４１０、４３０、及び４５０から情報を受け取る。一次バックアップ装置４１５、４３５、及び４５５は、周期的に、整合したトランザクション・セットを形成する。「整合したトランザクション・セット」は、本願では、そのセットにおけるすべてのトランザクションが二次データ・ストレージ及び検索システム・コントローラで使用されるとき、そのセットが作成された時点ではその二次データ・ストレージが一次データ・ストレージと同一に見えるトランザクションのセットを意味する。
【００３３】
或る実施例では、１つまたは複数のデータ・ストレージ及び検索システム４１０、４２５、４３０、４４５、４５０、および／または４６５はデータ・ストレージ及び検索システム１００(図１)を含む。次に図１を参照すると、本願の情報ストレージ及び検索システム１００は、第１クラスタ（cluster）１０１Ａ及び第２クラスタ１０１Ｂを含む。各クラスタは、プロセッサ部分１３０／１４０及び入出力部分１６０／１７０を含む。各クラスタにおける内部ＰＣＩバスは、それぞれ、プロセッサ部分１３０／１４０及び入出力部分１６０／１７０の間のリモートＩ／Ｏブリッジ（bridge）１５５／１６５を介して接続される。
【００３４】
情報ストレージ及び検索システム１００は、更に、４つのホスト・ベイ（bay）１０１、１０６、１１１、及び１１６に配置された複数のホスト・アダプタ１０２−１０５、１０７−１１０、１１２−１１５、及び１１７−１２０を含む。各ホスト・アダプタは、１つのファイバ・チャネル・ポート、１つのＦＩＣＯＮポート、２つのＥＳＣＯＮポート、又は２つのＳＣＳＩポートを含んでもよい。各ホスト・アダプタは、各クラスタが任意のホスト・アダプタからの入出力を処理できるように１つ以上の共通プラットフォーム相互接続バス１２１及び１５０を介して両クラスタに接続される。
【００３５】
プロセッサ部分１３０は、プロセッサ１３２及びキャッシュ１３４を含む。或る実施例では、プロセッサ１３２は、６４ビットＲＩＳＣベースの同期マルチプロセッサを含む。別の実施例では、プロセッサ１３２は、組込みフォールト及びエラー訂正機能を含む。キャッシュ１３４は、接続されたホスト・システムに対するパフォーマンスを改良するために読み取りデータ及び書き込みデータの両方をストアするために使用される。或る実施例では、キャッシュ１３４は約４ギガ・バイトを含む。別の実施例では、キャッシュ１３４は約８ギガ・バイトを含む。更に別の実施例では、キャッシュ１３４は約１２ギガ・バイトを含む。更に別の実施例では、キャッシュ１３４は約１６ギガ・バイトを含む。更に別の実施例では、キャッシュ１３４は約３２ギガ・バイトを含む。
【００３６】
プロセッサ部分１４０は、プロセッサ１４２及びキャッシュ１４４を含む。或る実施例では、プロセッサ１４２は、６４ビットＲＩＳＣベースの対称（symmetric）マルチプロセッサを含む。別の実施例では、プロセッサ１４２は、組込みフォールト及びエラー訂正機能を含む。キャッシュ１４４は、接続されたホスト・システムに対するパフォーマンスを改良するために読み取りデータ及び書き込みデータの両方をストアするために使用される。或る実施例では、キャッシュ１４４は約４ギガ・バイトを含む。別の実施例では、キャッシュ１４４は約８ギガ・バイトを含む。更に別の実施例では、キャッシュ１４４は約１２ギガ・バイトを含む。更に別の実施例では、キャッシュ１４４は約１６ギガ・バイトを含む。更に別の実施例では、キャッシュ１４４は約３２ギガ・バイトを含む。
【００３７】
入出力（Ｉ／Ｏ）部分１６０は、不揮発性ストレージ（non-volatilestorage ; ＮＶＳ）１６２及びＮＶＳバッテリ１６４を含む。ＮＶＳ１６２は、クラスタ障害の電源障害があり、そのデータのキャッシュ・コピーが喪失する場合、データの保全性を保証するように書き込みデータの第２コピーをストアするために使用される。ＮＶＳ１６２は、クラスタ１０１Ｂに供給された書き込みデータをストアする。或る実施例では、ＮＶＳ１６２は、約１ギガ・バイトのストレージを含む。別の実施例では、ＮＶＳ１６２は、４つの個別のメモリ・カードを含む。更に別の実施例では、ＮＶＳカードの各ペアがバッテリ装備の充電システムを有し、電力が失われた場合でも、７２時間までシステム全体におけるデータを保護する。
【００３８】
Ｉ／Ｏ部分１７０は、ＮＶＳ１７２及びＮＶＳバッテリ１７４を含む。ＮＶＳ１７２は、クラスタ１０１Ａに供給された書き込みデータをストアする。或る実施例では、ＮＶＳ１７２は、約１ギガ・バイトのストレージを含む。別の実施例では、ＮＶＳ１７２は、４つの個別のメモリ・カードを含む。更に別の実施例では、ＮＶＳカードの各ペアがバッテリ装備の充電システムを有し、電力が失われた場合でも、７２時間までシステム全体におけるデータを保護する。
【００３９】
クラスタ１０１Ｂの障害の場合には、その障害を生じたクラスタに対する書き込みデータが、残りのクラスタ１０１Ａに配置されたＮＶＳ１６２に存在するであろう。そこで、この書き込みデータは、高い優先順位でＲＡＩＤランクにデステージ（destage）される。同時に、生き残ったクラスタ１０１Ａは、それ自身の書き込みデータのためにＮＶＳ１６２の使用を開始し、それによって、書き込みデータの２つのコピーがそれまでどおり維持されることを保証するであろう。
【００４０】
Ｉ／Ｏ部分１６０は、更に、デバイス・アダプタ１６５、１６６、１６７、及び１６８のような複数のデバイス・アダプタ、及び２つのＲＡＩＤランク、即ち、ＲＡＩＤランク「Ａ」及びＲＡＩＤランク「Ｂ」に編成された１６個のディスク・ドライブ１８０及び１９０（即ち、１８１−１８８及び１９１−１９８）を含む。或る実施例では、ＲＡＩＤランク「Ａ」及び「Ｂ」は、ＲＡＩＤ５プロトコルを使用する。別の実施例では、ＲＡＩＤランク「Ａ」及び「Ｂ」は、ＲＡＩＤ１０プロトコルを使用する。
【００４１】
或る実施例では、１つ以上のデータ・ストレージ及び検索システム４１０、４２５、４３０、４４５、４５０、および／または４６５（図４）がデータ・ストレージ及び検索システム２００(図２)を含む。図２は、システム２００の一実施例を示す。
【００４２】
システム２００は、ホスト・コンピュータ３９０(図４)のような１つ又は複数のホスト・システムからのコマンドに応答して携帯用データ・ストレージ・メディアをアクセスするように構成される。システム２００は、データ・ストレージ・メディアを含む携帯用データ記憶カートリッジを格納するための複数のストレージ・シェルフ２６０を前面壁２７０及び後面壁２９０に含む。システム２００は、更に、データ・ストレージ・メディアに関してデータを読み取るためのおよび／またはデータを書きこむための少なくとも１つのデータ・ストレージ・ドライブ２５０、及び複数のストレージ・シェルフ２６０とデータ・ストレージ・ドライブ２５０との間でデータ・ストレージ・メディアを搬送するための少なくとも１つのアクセサ２１０を含む。システム２００は、ユーザがライブラリと対話することを可能にするウェブ・ベースのインターフェースのようなオペレータ・パネル２３０又は他のユーザ・インターフェースを任意選択的に含んでもよい。システム２００は、データ・ストレージ・メディアがライブラリに挿入されることおよび／またはライブラリ・オペレーションを妨害することなくライブラリから除去されることを可能にする上部インポート／エクスポート・ステーション２４０および／または下部インポート／エクスポート・ステーション２４５を任意選択的に含んでもよい。
【００４３】
アクセサ（accessor）２１０は、Ｚ軸に沿った双方向運動を可能にするサーボ・セクション２１２を昇降させることを含む。アクセサ２１０は、更に、１つ以上のデータ・ストレージ・メディアをつかむための少なくとも１つのグリッパ・アセンブリ２１６を含む。図２に示された実施例では、アクセサ２１０は、更に、データ・ストレージ・メディアに関する識別情報を読み取るために、スマート・カード読取装置又は同様のシステムのようなバーコード・スキャナ２１４又は他の読み取りシステムを含む。図２に示された実施例では、アクセサ２１０は、更に、昇降するサーボ・セクション２１２に配置された第２グリッパ機構２１８を含む。
【００４４】
或る実施例では、システム２００は、各々がアクセサ２１０によってアクセス可能なストレージ・シェルフ２６０を有する１つ以上のストレージ・フレームを含む。アクセサ２１０は、レール２０５上をＸ軸に沿って双方向に移動する。多数のフレームを含むライブラリ１００の実施例では、それら個々のフレームの各々におけるレール２０５は、連続レール・システムに沿ってライブラリの一端から反対端まで移動することが可能である。
【００４５】
或る実施例では、１つ以上のデータ・ストレージ及び検索システム４１０、４２５、４３０、４４５、４５０、および／または４６５は、データ・ストレージ及び検索システム３００(図３)を含む。次に図３を参照すると、仮想テープ・サーバ（virtual tape server ; ＶＴＳ）３００がデーモン３７０、３７２、及び３７４を介して１つ以上のホスト及び１つ以上の仮想テープ・サーバと通信を行う。図３に示された実施例では、デーモン（daemon）３７０は、通信リンク３８０を介して第１ホストと通信を行う。デーモン３７２は、通信リンク３８２を介して第２ホストと通信を行う。デーモン３７４は、通信リンク３８４を介して、例えば、装置４１５のような一次バックアップ装置と通信を行う。
【００４６】
ＶＴＳ３００は、ダイレクト・アクセス・ストレージ・ドライブ（ＤＡＳＤ）３１０、及び複数のデータ・ストレージ・デバイス３３０及び３４０とも通信を行う。或る実施例では、データ・ストレージ・デバイス３３０及び３４０は、１つ以上のデータ・ストレージ及び検索システム内に配置される。別の実施例では、ＤＡＳＤ３１０は、ホスト１１０(図１)と一体化している。更に別の或る実施例では、ＤＡＳＤ３１０は、ＶＴＳ３００と一体化している。更に別の実施例では、ＤＡＳＤ３１０は、データ・ストレージ及び検索システムと一体化している。更に別の実施例では、ＤＡＳＤ３１０は、ホスト１１０、ＶＴＳ３００，及びＶＴＳ３００と通信を行うデータ・ストレージ及び検索システムに対して外部にある。
【００４７】
ＶＴＳ３００は、更に、IBM Adstar（商標）分散ストレージ・マネージャ（ＡＤＳＭ）のようなストレージ・マネージャ３２０を含む。ストレージ・マネージャ３２０は、ＤＡＳＤ３１０から、データ・ストレージ・デバイス３３０及び３４０に装着された情報ストレージ・メディアへのデータの移動を制御する。或る実施例では、ストレージ・マネージャ３２０は、ＡＤＳＭサーバ３２２及びＡＤＳＭ階層ストレージ・マネージャ・クライアント３２４を含む。それとは別に、サーバ３２２及びクライアント３２４は、それぞれ、ＡＤＳＭシステムを含むことも可能である。ＤＡＳＤ３１０からの情報は、ＡＤＳＭサーバ３２２及びＳＣＳＩアダプタ３８５を介してデータ・ストレージ・デバイス３３０及び３４０に供給される。
【００４８】
ＶＴＳ３００は、更に、オートノミック・コントローラ（autonomiccontroller）３５０を含む。オートノミック・コントローラ３５０は、階層ストレージ・マネージャ（ＨＳＭ）３２４を介してＤＡＳＤ３１０のオペレーションを制御し、ＤＡＳＤ３１０とデータ・ストレージ・デバイス３３０及び３４０との間のデータの転送を制御する。
【００４９】
図４を再び参照すると、各ホスト・コンピュータは、１つ以上の一次データ・ストレージ及び検索システムに情報を供給する。通信リンク４０１の帯域幅を最大限に利用するために、ホスト・コンピュータ４８０、４８５、及び４９０はその帯域幅を割り振るよう相互作用（対話）する。本発明の方法の或る実施例では、制御ノード４８１、４８６、及び４９１がパフォーマンスに基づいてキャプテン制御ノードを選択するように相互作用する。そのキャプテン・ホスト制御ノードは、ホスト・コンピュータ４８０、４８５、及び４９０の各々によって整合したトランザクション・セットを形成するというような或る機能を調整する。「整合したコピーを作成するための方法、システム、及び製造物（Method, System, and Article of Manufacture for Creating a ConsistentCopy）」と題した米国特許出願１０/３３９,９５７は、整合したトランザクション・セットを形成するための方法を開示している。
【００５０】
図４を再び参照すると、各一次データ・ストレージ及び検索システム４１０、４３０、及び４５０は、種々のホスト・コンピュータから種々の情報量を種々のデータ転送速度で受け取る。各一次データ・ストレージ及び検索システム４１０、４３０、及び４５０は、１つ以上の一次バックアップ装置４１５、４３５、及び４５５に種々の情報量を種々のデータ転送速度で供給する。本発明の方法の或る実施例では、制御ノード４１１、４３１、及び４５１は、パフォーマンスに基づいてキャプテン・ホスト制御ノードを選択するように相互作用する。そのキャプテン・ホスト制御ノードは、一次データ・ストレージ及び検索システム４１０、４３０、及び４５０の各々により整合したトランザクションを形成するような或る機能を調整する。
【００５１】
図４を再び参照すると、各一次バックアップ装置が異なる一次ストレージの制御ノードから、他の一次バックアップ装置とは異なる速度でデータを受け取る。本発明の方法の或る実施例では、制御ノード４１７、４３７、及び４５７がパフォーマンスに基づいてキャプテン制御ノードを選択するように相互作用する。そのキャプテン・バックアップ装置の制御ノードは、一次バックアップ装置４１５、４３５、及び４５５の各々によって整合したトランザクション・セットを形成するように機能する。
【００５２】
装置４１５、４３５、及び４５５のような一次バックアップ装置は、通信リンク４０９のような共通通信リンクを介して、それぞれ、装置４２０、４４０、及び４６０のようなそれらの対応する二次バックアップ装置に整合したトランザクション・セットを供給する。別の実施例では、通信リンク４０９は、ＲＳ−２３２ケーブルまたはＲＳ−４３２ケーブルのようなシリアル相互接続、イーサネット相互接続、ＳＣＳＩ相互接続、ファイバ・チャネル相互接続、ＥＳＣＯＮ相互接続、ＦＩＣＯＮ相互接続、ローカル・エリア・ネットワーク（ＬＡＮ）、私設広域ネットワーク（ＷＡＮ）、公衆広域ネットワーク、ストレージ・エリア・ネットワーク（ＳＡＮ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、インターネット、及びそれらの組み合わせから成るグループから選択される。
【００５３】
一般的なこととして、本発明は、複数の相互接続された制御ノードが実際のパフォーマンス基準に基づいてキャプテン制御ノードを選択するための方法を含む。図５は、本発明の方法の或るステップを要約したものである。図５を参照すると、ステップ５０５において、本方法は、複数の、即ち、合計(Ｎ)個の相互接続された制御ノードを提供する。なお、（Ｎ）は２よりも大きいか又は２に等しい。或る実施例では、（Ｎ）個の相互接続された制御ノードの各々が（Ｎ）個のホスト・コンピュータの異なる１つに配置される。別の実施例では、（Ｎ）個の相互接続された制御ノードの各々が（Ｎ）個のデータ・ストレージ及び検索システムの異なる１つに配置される。更に別の実施例では、（Ｎ）個の相互接続された制御ノードの各々が（Ｎ）個のバックアップ装置の異なる１つに配置される。
【００５４】
ステップ５１０において、各制御ノードが、第１の時間に、他の（Ｎ−１）個の相互接続された制御ノードに第１信号を供給する。本発明の方法では、ステップ５１０からステップ５１５に移り、第１制御信号を受け取ったとき（Ｎ）個の制御ノードの各々が応答信号を供給する。従って、ステップ５１５では、（Ｎ）個の制御ノードの各々による(Ｎ−１)個の応答信号の供給を含む。
【００５５】
本発明の方法は、ステップ５１５からステップ５２０に移り、(Ｎ−１)個の第２の時間に、各制御ノードが他の(Ｎ−１)個の制御ノードから応答信号を受け取る。本発明の方法では、ステップ５２０からステップ５２５に移り、各制御ノードがそれのハートビート信号に対する（Ｎ−１）個の個々の応答時間、即ち、他の(Ｎ−１)個の制御ノードに対する応答時間を計算する。当業者には明らかなように、制御ノードは、ステップ５１０の第１の時間からステップ５２０のｉ番目の第２の時間を減じることによってｉ番目の他の制御ノードに対する応答時間を計算する。
【００５６】
本発明の方法では、ステップ５２５からステップ５３０に移り、各制御ノードがそれの総応答時間を決定する。第１制御ノードに対する総応答時間は、第１制御ノードのハートビート信号に応答するために、他の制御ノードに対して合計（Ｎ−１）個の応答時間を含む。別の実施例では、ステップ５３０は、更に、各制御ノードによって、他の制御ノードの各々にそれの総応答時間をレポートすることを含む。このレポーティングは、当業者に知られている任意の信号方法を含む。例えば、各制御ノードは、それの総応答時間を含むメッセージを他の（Ｎ−１）個の制御ノードの各々に送ってもよい。別の実施例では、各制御ノードは、他の（Ｎ−１）個の制御ノードをポーリングしてそれら他の制御ノードから総応答時間を得る。或る実施例では、本発明の方法は、ステップ５３０からステップ５４０に移る。
【００５７】
或る実施例において、本発明の方法は、ステップ５３０からステップ５３５に移り、各制御ノードがそれの総応答時間を含む（Ｎ−１）個の個々の応答時間に対する標準偏差を計算する。当業者には明らかなように、標準偏差は、すべてのデータ・ポイントの分布が平均（mean）の付近にクラスタ化される。データが密に束ねられるとき、即ち、ベル型の曲線が急勾配であるとき、標準偏差は小さい。データが散らばっていてベル型曲線が比較的平坦であるとき、標準偏差は大きい。
【００５８】
或る実施例では、ステップ５３５は、更に、各制御ノードによって、それの標準偏差を他の接続された各制御ノードにレポートすることを含む。このレポーティングは、当業者にとっては既知の任意の信号方法を含む。例えば、各制御ノードは、ステップ５３０の標準偏差を含むメッセージを他の（Ｎ−１）個の制御ノードに送ることが可能である。別の実施例では、各制御ノードが、ステップ５３５において、他の（Ｎ−１）個の制御ノードをポーリングしてそれらの他の制御ノードから標準偏差を得る。
【００５９】
本発明の方法は、ステップ５３５からステップ５４０に移り、本方法は、（Ｎ）個の総応答時間を一次決定要素（primary determinant）として使用してキャプテン制御ノードを選択すべきかどうかを決定する。本発明の方法が、ステップ５４０において、（Ｎ）個の総応答時間を一次決定要素として使用して、キャプテン制御ノードを選択することを選ぶ場合、本方法は、ステップ５４０からステップ５４５に移り、（Ｎ）個の制御ノードの各々が最小の総応答時間を独立して識別する。
【００６０】
本発明の方法は、ステップ５４５からステップ５５０に移り、各制御ノードは、２つ以上の制御ノードが最小の総応答時間を有するかどうかを決定する。ステップ５５０において、２つ以上の制御ノードが最小の総応答時間を有することを本発明の方法が決定する場合、本方法は、ステップ５５０からステップ６１０（図６）に移る。２つ以上の制御ノードが最小の総応答時間を持たないことを本発明の方法が決定する場合、本方法は、ステップ５５０からステップ５５５に移る。ステップ５５５において、本方法は、最小の総応答時間を有する制御ノードをキャプテン制御ノードとして指定する。
【００６１】
本発明の方法は、ステップ５５５からステップ５７０に移り、本方法は、それが新たなキャプテン制御ノードを選択すべき時であるかどうかを決定する。ステップ５７０において、それが新たなキャプテン制御ノードを選択すべき時でないことを本発明の方法が決定する場合、本方法はステップ５７０に周期的に戻る。ステップ５７０において、それが新たなキャプテン制御ノードを選択すべき時であることを本発明の方法が決定する場合、本方法は、ステップ５７０からステップ５１０に移り、続行する。
【００６２】
本発明の方法が、ステップ５４０において、（Ｎ）個の総応答時間を一次決定要素として使用してキャプテン制御ノードを選択しないことを選ぶ場合、本方法は、ステップ５４０からステップ５６０に移り、本発明の方法は、キャプテン制御ノード選択機能を提供する。別の実施例では、ステップ５６０のキャプテン制御ノード選択機能が、ホスト・コンピュータに配置されたファームウェア（firmware）４８１（図４）、４８６（図４）、４９１（図４）のようなファームウェアにセットされる。更に別の実施例では、ステップ５６０のキャプテン制御ノード選択機能が、データ・ストレージ及び検索システムに配置されたファームウェア４１２（図４）、４３２（図４）、４５２（図４）のようなファームウェアにセットされる。更に別の実施例では、ステップ５６０のキャプテン制御ノード選択機能が、バックアップ装置に配置されたファームウェア４１６（図４）、４３６（図４）、４５６（図４）のようなファームウェアにセットされる。
【００６３】
ステップ５６０は、更に、キャプテン制御ノード選択機能を使用して、相互接続された制御ノードの各々に対するパフォーマンス・スコアを決定することを含む。別の実施例では、各制御ノードは、（Ｎ）個の制御ノードの各々に対して、ステップ５３０の総応答時間及びステップ５３５の標準偏差の両方に基づいてパフォーマンス・スコアを計算する。更に別の実施例では、ステップ５６０は、下式（１）を使用して、各制御ノードに対するパフォーマンス・スコアを決定することを含む：
[数１]
パフォーマンス・スコア＝a(総応答時間)ｃ＋b(標準偏差)ｄ            （１）
【００６４】
なお、式（１）における a、b、c、及び d は正の定数である。低いパフォーマンス・スコアは良好なパフォーマンス、即ち、小さい総応答時間及び小さい標準偏差を構成する。
【００６５】
本発明の方法は、ステップ５６０からステップ５６５に移り、本方法は、ステップ５６０の最小のパフォーマンス・スコアを有する制御ノードをキャプテン制御ノードとして指定する。別の実施例では、最小のパフォーマンス・スコアを有する制御ノードをキャプテン制御ノードに指定するために、全ての制御ノードが独立してステップ５６０及び５６５を実施する。本発明の方法は、ステップ５６５からステップ５７０に移る。
【００６６】
ステップ５５０において２つ以上の制御ノードが最小の総応答時間を有するということを本発明の方法が決定する場合、本方法は、ステップ６１０（図６）に移る。ステップ６１０において、その方法は、図５のステップを反復すべきかどうかを決定する。別の実施例では、２つ以上の制御ノードが最小の総応答時間を有する場合に図５のステップを反復すべきかどうかがホスト・コンピュータに配置されたファームウェア４８１（図４）、４８６（図４）、４９１（図４）のようなファームウェアにセットされる。更に別の実施例では、２つ以上の制御ノードが最小の総応答時間を有する場合に図５のステップを反復すべきかどうかが、バックアップ装置に配置されたファームウェア４１６（図４）、４３６（図４）、４５６（図４）のようなファームウェアにセットされる。
【００６７】
図５のステップを反復することを本発明の方法が選んだ場合、その方法は、ステップ６１０からステップ５１０に移り、そして続行する。図５のステップを反復しないことを本発明の方法が選んだ場合、その方法は、ステップ６１０からステップ６２０に移り、最小の総応答時間を有する制御ノードが、最小の総応答時間を有する他のいずれの制御ノードよりも低い標準偏差を有するかどうかを決定する。最小の総応答時間を有する制御ノードが、最小の総応答時間を有する他のいずれの制御ノードよりも低い標準偏差を有するということを本発明の方法が決定する場合、その方法はステップ６２０からステップ６３０に移り、各制御ノードは、最小の総応答時間及びより低い標準偏差を有する制御ノードをキャプテン制御ノードとして指定する。本発明の方法はステップ６３０からステップ５７０に移り、そして続行する。
【００６８】
ステップ６２０において、最小の総応答時間を有する他のいずれの制御ノードよりも低い標準偏差を持った最小の総応答時間を有する制御ノードがないということを本発明の方法が決定する場合、その方法はステップ６２０からステップ６４０に移り、最小の総応答時間を有する制御ノードの１つをキャプテン制御ノードとして指定する。本発明の方法は、ステップ６４０からステップ６７０に移り、そして続行する。
【００６９】
別の実施例では、図５および／または図６に示された個々のステップは、結合（combine）されるか、又は除去（eliminate）されるか、又は再順序付け（reorder）されることが可能である。
【００７０】
本発明は、更に、図５および／または図６に示されたステップを使用してキャプテン制御ノードを選択するために、例えば、コンピュータ可読プログラム・コードを配置されたコンピュータ使用可能メディア４１３、４１８、４３３、４３８、４５３、４５８、４８３、４８８、および／または４９３のようなコンピュータ使用可能メディアを含んだシステムを含む。
【００７１】
本発明は、更に、図５および／または図６に示されたステップを使用してキャプテン制御ノードを選択するために、例えば、コンピュータ可読プログラム・コードを有するプログラマブル・コンピュータ・プロセッサと共に使用可能なコンピュータ・プログラム記録媒体４１４、４１９、４３４、４３９、４５４、４５９、４８４、４８９、および／または４９４のようなコンピュータ・プログラム記録媒体を含む。
【００７２】
本発明の好適な実施例を詳細に示したが、「特許請求の範囲」に示された本発明の範囲を逸脱することなく、それらの実施例に対する修正及び改変が当業者にとって生じ得ることは明らかであろう。
【図面の簡単な説明】
【００７３】
【図１】本発明のデータ・ストレージ及び検索システムの１つの実施例におけるコンポーネントを示すブロック図である。
【図２】本発明のデータ・ストレージ及び検索システムの第２の実施例におけるコンポーネントを示す図である。
【図３】本発明のデータ・ストレージ及び検索システムの第３の実施例におけるコンポーネントを示すブロック図である。
【図４】本発明のピア・ツー・ピア・リモート・コピーのデータ・ストレージ及び検索システムにおけるコンポーネントを示すブロック図である。
【図５】本発明の方法における初期ステップを要約したフローチャートを示す図である。
【図６】本発明の方法における追加のステップを要約したフローチャートを示す図である。
【図１】
2005092874.tif 000003
【図２】
2005092874.tif 000004
【図３】
2005092874.tif 000005
【図４】
2005092874.tif 000006
【図５】
2005092874.tif 000007
【図６】
2005092874.tif 000008