(57)【要約】コンピュータ・システムは、マルチホップ・システム・コールを提供するように、１つまたは複数のホストと複数のデータ記憶装置を有することが可能である。データ記憶装置は相互接続され、さらに１つまたは複数のホストに接続される。各データ記憶装置は、データ・オペレーションをシステム・コール、リモート・システム・コール、あるいはマルチホップ・システム・コールに分類する。予め決められたおよび／または動的な通信経路選択技術を使用して、１つまたは複数の通信経路を選択できるマルチパス・マルチホップ・システム・コールも説明されている。決定される通信経路の数は、マルチパス・マルチホップ・システム・コールに含まれるパラメータ、調整可能なシステム・パラメータ、あるいは以上の組み合わせによることが可能である。
2004503956.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ記憶装置上で実行され、マルチパス・マルチホップ・システム・コールを処理する方法であって、
データ・オペレーション・リクエストがマルチパス・マルチホップ・システム・コールであるか否かを判定し、
前記第１のデータ記憶装置とターゲット・データ記憶装置との間の通信経路を決定し、
前記第１のデータ記憶装置と前記通信経路に含まれる第２のデータ記憶装置との間の第１の通信コネクションを決定し、
前記データ・オペレーション・リクエストを前記第２のデータ記憶装置に送信する、第１のデータ記憶装置上で実行され、マルチパス・マルチホップ・システム・コールを処理する方法。
【請求項２】
前記第１の通信コネクションは、ローカル・エリア・ネットワーク、記憶領域ネットワークおよびデータ記憶接続のうちの１つである請求項１記載の方法。
【請求項３】
前記第１の通信コネクションは遠隔データ記憶機能接続であるデータ記憶接続であり、前記第１のデータ記憶装置および前記第２のデータ記憶装置は Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置である請求項１記載の方法。
【請求項４】
前記第１のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を予め決定することをさらに含む請求項１記載の方法。
【請求項５】
前記通信経路の一部を予め決定することは、
前記第１のデータ記憶装置に接続された複数のデータ記憶装置から第１の中間データ記憶装置を決定することをさらに含む請求項４記載の方法。
【請求項６】
前記通信経路の一部を予め決定することは、
前記第１のデータ記憶装置と前記第１の中間データ記憶装置の間の第１の対応通信コネクションを決定することであって、前記第１の対応通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つである前記第１のデータ記憶装置と前記第１の中間データ記憶装置の間に対応する第１の通信コネクションを決定することをさらに含む請求項５記載の方法。
【請求項７】
前記第１のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の他の部分を動的に決定することをさらに含む請求項６記載の方法。
【請求項８】
前記他の部分を動的に決定することは、
前記第１のデータ記憶装置に接続された複数のデータ記憶装置から第２の中間データ記憶装置を決定することをさらに含む請求項７記載の方法。
【請求項９】
前記の前記他の部分を動的に決定することは、
前記第１のデータ記憶装置と前記第２の中間データ記憶装置の間の第２の対応通信コネクションを決定することであって、前記第２の通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つである、前記第１のデータ記憶装置と前記第２の中間データ記憶装置の間の第２の対応通信コネクションを決定することをさらに含む請求項８記載の方法。
【請求項１０】
前記第１のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を動的に決定することをさらに含む請求項１記載の方法。
【請求項１１】
前記部分を動的に決定することは、
前記第１のデータ記憶装置に接続された複数のデータ記憶装置から中間データ記憶装置を決定することをさらに含む請求項１０記載の方法。
【請求項１２】
前記部分を動的に決定することは、
前記第１のデータ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定することであって、前記通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つである前記第１のデータ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定することをさらに含む請求項１１記載の方法。
【請求項１３】
前記マルチパス・マルチホップ・システム・コールに関連する命令フォーマットの中に前記通信経路についての情報を含むことをさらに含む請求項１記載の方法。
【請求項１４】
前記情報は、予め決められた前記通信経路の一部についてのデータを含む請求項１３記載の方法。
【請求項１５】
前記情報は、動的に決定された前記通信経路の一部についてのデータを含む請求項１３記載の方法。
【請求項１６】
前記通信経路は第１の通信経路であり、前記方法は、
前記第１のデータ記憶装置とターゲット・データ記憶装置の間の少なくとも１つの追加の通信経路を決定することをさらに含む請求項１記載の方法。
【請求項１７】
データ伝送障害が発生した場合に、前記少なくとも１つの追加の通信経路を使用して、代替通信経路を決定することをさらに含む請求項１６記載の方法。
【請求項１８】
前記データ・オペレーション・リクエストが複数の通信経路上の前記ターゲット・データ記憶装置に指示するように、前記第１の通信経路および前記少なくとも１つの追加の通信経路に前記データ・オペレーション・リクエストを送ることをさらに含む請求項１６記載の方法。
【請求項１９】
前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に向けるのに使用される追加の通信経路の数に対応する量を動的に決定することをさらに含む請求項１８記載の方法。
【請求項２０】
使用された追加の通信経路の数に対応する量は修正可能なパラメータである請求項１８記載の方法。
【請求項２１】
使用された追加の通信経路の数に対応する量はネットワーク・トラフィックに応答して決定される請求項１８記載の方法。
【請求項２２】
コンピュータ・システムで実行され、ホスト・コンピュータ・システムからターゲット・データ記憶装置へのデータ・オペレーション・リクエストを処理する方法であって、
前記ホスト・コンピュータ・システムから前記ターゲット・データ記憶装置への通信経路を決定し、
ローカル・エリア・ネットワークと記憶領域ネットワークの一方によって前記ホスト・コンピュータ・システムに接続された第１のデータ記憶装置にデータ・オペレーション・リクエストを送信し、
前記データ・オペレーション・リクエストを前記通信経路に含まれる中間データ記憶装置に、前記第１のデータ記憶装置と前記中間データ記憶装置の間の通信コネクションを介して転送する、ホスト・コンピュータ・システムからターゲット・データ記憶装置へのデータ・オペレーション・リクエストを処理するコンピュータ・システムで実行される方法。
【請求項２３】
前記通信コネクションは記憶領域ネットワーク、ローカル・エリア・ネットワーク、および装置記憶接続のいずれか１つである請求項２２記載の方法。
【請求項２４】
前記通信経路の一部を動的に決定することと、
前記データ・オペレーション・リクエストに対応する命令フォーマットの中の前記部分を示すデータを含むことをさらに含む請求項２２記載の方法。
【請求項２５】
前記通信経路の一部を予め決定することと、
前記データ・オペレーション・リクエストに対応する命令フォーマットの中の前記部分を説明するデータを含むことをさらに含む請求項２２記載の方法。
【請求項２６】
前記通信経路は第１の通信経路であり、前記方法は、
前記ホスト・コンピュータ・システムから前記ターゲット・データ記憶装置への少なくとも１つの追加の通信経路を決定することをさらに含む請求項２２記載の方法。
【請求項２７】
前記第１の通信経路を使用して伝送上の障害が発生した場合に、前記少なくとも１つの追加の通信経路を代替通信経路として使用することをさらに含む請求項２６記載の方法。
【請求項２８】
データ・オペレーション・リクエストを開始するホストと、
少なくとも３つのデータ記憶装置であって、前記データ・オペレーション・リクエストは前記少なくとも３つの記憶装置の少なくとも１つに指示する少なくとも３つのデータ記憶装置と、
前記ホストと前記少なくとも３つのデータ記憶装置のそれぞれの間の通信コネクションであって、各々が記憶領域ネットワークとローカル・エリア・ネットワークの少なくとも１つを有する通信コネクションを有し、
前記少なくとも３つのデータ記憶装置の各々は、
ローカル・エリア・ネットワークおよび記憶領域ネットワークの１つである前記通信コネクションを経て前記データ・オペレーション・リクエストを受信し、翻訳し、
前記データ・オペレーション・リクエストがマルチパス・マルチホップ・システム・コールであるか否かを判定し、
前記データ・オペレーションがマルチパス・マルチホップ・システム・コールであるとの判定に応答して、前記データ・オペレーション・リクエストに関連する前記データの第２の部分を、前記少なくとも３つのデータ記憶装置の他の１つへ転送するマシン実行可能コードを有するコンピュータ・システム。
【請求項２９】
前記少なくとも３つのデータ記憶装置のそれぞれは、
前記データ・オペレーション・リクエストがマルチパス・マルチホップ・システム・コールであれば、前記データ・オペレーション・リクエストに関連するデータの第１の部分を除去するためのマシン実行可能コードをさらに有する請求項２８記載のコンピュータ・システム。
【請求項３０】
第１のデータ記憶装置は第２のデータ記憶装置に接続されており、前記第２のデータ記憶装置は第３のデータ記憶装置に接続されており、前記第１のデータ記憶装置は前記ホストに接続されており、前記データ・オペレーション・リクエストは前記第１のデータ記憶装置に転送され、かつ前記データ・オペレーション・リクエストに応答するように前記第３のデータ記憶装置に指示するマルチパス・マルチホップ・システム・コールである請求項２８記載のコンピュータ・システム。
【請求項３１】
前記ホストは、前記第１、第２および第３のデータ記憶装置を含む第１の通信経路を決定し、前記ホストと前記第３のデータ記憶装置の間の記憶領域ネットワークおよびローカル・エリア・ネットワークの１つを使用して第２の通信経路を決定し、前記第１の通信経路および前記第２の通信経路を経て前記データ・オペレーション・リクエストを前記第３のデータ記憶装置に送るマシン実行可能コードをさらに有する請求項３０記載のコンピュータ・システム。
【請求項３２】
前記第１および第２の通信経路は代替通信経路である請求項３１記載のコンピュータ・システム。
【請求項３３】
前記第１および第２の通信経路は同時伝送経路である請求項３１記載のコンピュータ・システム。
【請求項３４】
データ記憶装置であって、
データ・オペレーション・リクエストがマルチパス・マルチホップ・システム・コールであるか否かを判定するマシン実行可能コードと、
前記データ記憶装置とターゲット・データ記憶装置の間の通信経路を決定するマシン実行可能コードと、
前記データ記憶装置と前記通信経路に含まれる第２のデータ記憶装置の間の第１の通信コネクションを決定するマシン実行可能コードと、
前記データ・オペレーション・リクエストを前記第２のデータ記憶装置に送るためのマシン実行可能コードを有するデータ記憶装置。
【請求項３５】
前記第１の通信コネクションはローカル・エリア・ネットワーク、記憶領域ネットワークおよびデータ記憶接続の１つである請求項３４記載のデータ記憶装置。
【請求項３６】
前記データ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を予め決定するマシン実行可能コードをさらに有する請求項３４記載のデータ記憶装置。
【請求項３７】
前記一部を予め決定する前記マシン実行可能コードは、
前記データ記憶装置に接続される複数のデータ記憶装置から第１の中間データ記憶装置を決定し、
前記データ記憶装置と前記第１の中間データ記憶装置の間の第１の対応通信コネクションを決定するマシン実行可能コードであって、前記第１の対応通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つであるマシン実行可能コードをさらに有する請求項３６記載のデータ記憶装置。
【請求項３８】
前記データ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を動的に決定するマシン実行可能コードをさらに有する請求項３４記載のデータ記憶装置。
【請求項３９】
前記一部を動的に決定するマシン実行可能コードは、
前記データ記憶装置に接続された複数のデータ記憶装置から中間データ記憶装置を決定し、
前記データ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定するマシン実行可能コードであって、前記通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つであるマシン実行可能コードをさらに有する請求項３８記載のデータ記憶装置。
【請求項４０】
前記マルチパス・マルチホップ・システム・コールに関連する命令フォーマットの中に前記通信経路についての情報を含むためのマシン実行可能コードをさらに有する請求項３４記載のデータ記憶装置。
【請求項４１】
前記情報は予め決められた前記通信経路の一部についてのデータを有する請求項４０記載のデータ記憶装置。
【請求項４２】
前記情報は動的に決定された前記通信経路の一部についてのデータを有する請求項４０記載のデータ記憶装置。
【請求項４３】
前記通信経路は第１の通信経路であり、前記データ記憶装置は、
前記データ記憶装置とターゲット・データ記憶装置の間の少なくとも１つの追加の通信経路を決定するマシン実行可能コードをさらに含む請求項３４記載のデータ記憶装置。
【請求項４４】
データ伝送に障害が発生した場合に、前記少なくとも１つの追加の通信経路を使用して、代替通信経路を決定するマシン実行可能コードをさらに含む請求項４３記載のデータ記憶装置。
【請求項４５】
前記データ・オペレーション・リクエストが複数の通信経路上の前記ターゲット・データ記憶装置に指示するように、前記第１の通信経路および前記少なくとも１つの追加の通信経路に前記データ・オペレーション・リクエストを送るマシン実行可能コードをさらに含む請求項４３記載のデータ記憶装置。
【請求項４６】
前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に向けるのに使用された追加の通信経路の数に対応する量を動的に決定するマシン実行可能コードをさらに有する請求項４５記載のデータ記憶装置。
【請求項４７】
使用された追加の通信経路の数に対応する量は修正可能なパラメータである請求項４５記載のデータ記憶装置。
【請求項４８】
使用された追加の通信経路の数に対応する量はネットワーク・トラフィックに応答して決定される請求項４５記載のデータ記憶装置。
【請求項４９】
ホスト・コンピュータ・システムからターゲット・データ記憶装置へのデータ・オペレーション・リクエストを処理するのに使用されるコンピュータ読み取り可能な記憶媒体であって、
前記ホスト・コンピュータ・システムから前記ターゲット・データ記憶装置への通信経路を決定するマシン実行可能コードと、
ローカル・エリア・ネットワークおよび記憶領域ネットワークの１つによって前記ホスト・コンピュータ・システムに接続された第１のデータ記憶装置にデータ・オペレーション・リクエストを送るマシン実行可能コードと、
前記データ・オペレーション・リクエストを前記通信経路に含まれる中間データ記憶装置に前記第１のデータ記憶装置と前記中間データ記憶装置の間の通信コネクションを介して転送するマシン実行可能コードを含む、ホスト・コンピュータ・システムからターゲット・データ記憶装置へのデータ・オペレーション・リクエストを処理するのに使用されるコンピュータ読み取り可能な記憶媒体。
【請求項５０】
前記通信コネクションは記憶領域ネットワーク、ローカル・エリア・ネットワーク、および装置記憶接続の１つである請求項４９記載のコンピュータ読み取り可能な記憶媒体。
【請求項５１】
前記通信経路の一部を動的に決定するマシン実行可能コードと、
前記データ・オペレーション・リクエストに対応する命令フォーマットの中の前記部分を説明するデータを含むマシン実行可能コードをさらに有する請求項４９記載のコンピュータ読み取り可能な記憶媒体。
【請求項５２】
前記通信経路の一部を予め決定するマシン実行可能コードと、
前記データ・オペレーション・リクエストに対応する命令フォーマットの中の前記部分を説明するデータを含むマシン実行可能コードをさらに有する請求項４９記載のコンピュータ読み取り可能な記憶媒体。
【請求項５３】
前記通信経路は第１の通信経路であり、前記コンピュータ読み取り可能な記憶媒体は、
前記ホスト・コンピュータ・システムから前記ターゲット・データ記憶装置への少なくとも１つの追加の通信経路を決定するマシン実行可能コードをさらに有する請求項４９記載のコンピュータ読み取り可能な記憶媒体。
【請求項５４】
前記第１の通信経路を使用して伝送上の障害が発生した場合に、前記少なくとも１つの追加の通信経路を代替通信経路として使用するマシン実行可能コードをさらに有する請求項５３記載のコンピュータ読み取り可能な記憶媒体。
【請求項５５】
データ記憶エンティティによって実行され、通信をルーティングする方法であって、
前記通信と関連する形式を決定することと、
データ記憶装置と接続データ記憶エンティティの間の通信コネクションを決定することと、
前記通信コネクションを使用して、前記接続データ記憶エンティティに前記通信を送ることを含む、データ記憶エンティティによって実行され、通信をルーティングする方法。
【請求項５６】
前記データ記憶エンティティはデータ記憶装置である請求項５５記載の方法。
【請求項５７】
前記データ記憶装置は Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置である請求項５６記載の方法。
【請求項５８】
前記通信の前記形式は、データ、システム・コール、リモート・システム・コールの他の形式の少なくとも１つである請求項５５記載の方法。
【請求項５９】
前記通信コネクションは、ローカル・エリア・ネットワーク、記憶領域ネットワーク、データ記憶接続の１つである請求項５５記載の方法。
【請求項６０】
前記接続データ記憶エンティティは、別のデータ記憶装置である請求項５９記載の方法。
【請求項６１】
前記データ記憶エンティティとエンド・ポイントの間の通信経路を決定することであって、前記エンド・ポイントは別のデータ記憶エンティティであり、前記接続データ記憶エンティティは前記通信経路に含まれる前記データ記憶エンティティとエンド・ポイントの間の通信経路を決定することをさらに含む請求項６０記載の方法。
【請求項６２】
前記通信経路に含まれる少なくとも１つの中間データ記憶装置を決定することをさらに含む請求項６１記載の方法。
【請求項６３】
前記通信経路の一部を動的に決定することをさらに含む請求項６２記載の方法。
【請求項６４】
前記通信経路の一部を予め決定することをさらに含む請求項６３記載の方法。
【請求項６５】
代替の通信コネクションを決定することと、
伝送上の障害が発生した場合に、前記代替の通信コネクションを使用して前記通信を送信することをさらに含む請求項６４記載の方法。
【請求項６６】
データ記憶エンティティによって、通信をルーティングするコンピュータ・プログラム・プロダクトであって、
前記通信に関連する形式を決定するマシン実行可能コードと、
前記データ記憶装置と接続データ記憶エンティティの間の通信コネクションを決定するマシン実行可能コードと、
前記通信コネクションを使用して前記接続データ記憶エンティティに前記通信を送るマシン実行可能コードを有するデータ記憶エンティティによる通信をルーティングするコンピュータ・プログラム・プロダクト。
【請求項６７】
前記データ記憶エンティティはデータ記憶装置である請求項６６記載のコンピュータ・プログラム・プロダクト。
【請求項６８】
前記データ記憶装置は Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置である請求項６７記載のコンピュータ・プログラム・プロダクト。
【請求項６９】
前記通信の前記形式は、データ、システム・コール、リモート・システム・コールの他の形式の少なくとも１つである請求項６６記載のコンピュータ・プログラム・プロダクト。
【請求項７０】
前記通信コネクションは、ローカル・エリア・ネットワーク、記憶領域ネットワーク、データ記憶接続の１つである請求項６６記載のコンピュータ・プログラム・プロダクト。
【請求項７１】
前記接続データ記憶エンティティは別のデータ記憶装置である請求項７０記載のコンピュータ・プログラム・プロダクト。
【請求項７２】
前記データ記憶エンティティとエンド・ポイントの間の通信経路を決定するマシン実行可能コードであって、前記エンド・ポイントは別のデータ記憶エンティティであり、前記接続データ記憶エンティティは前記通信経路に含まれる前記データ記憶エンティティとエンド・ポイントの間の通信経路を決定するマシン実行可能コードをさらに有する請求項７１記載のコンピュータ・プログラム・プロダクト。
【請求項７３】
前記通信経路に含まれる少なくとも１つの中間データ記憶装置を決定するマシン実行可能コードをさらに有する請求項７２記載のコンピュータ・プログラム・プロダクト。
【請求項７４】
前記通信経路の一部を動的に決定するマシン実行可能コードをさらに有する請求項７３記載のコンピュータ・プログラム・プロダクト。
【請求項７５】
前記通信経路の一部を予め決定するマシン実行可能コードをさらに有する請求項７４記載のコンピュータ・プログラム・プロダクト。
【請求項７６】
代替の通信コネクションを決定するマシン実行可能コードと、
伝送上の障害が発生した場合に、前記代替の通信コネクションを使用して前記通信を送信するマシン実行可能コードをさらに有する請求項７５記載のコンピュータ・プログラム・プロダクト。
【発明の詳細な説明】
【０００１】
（関連出願の記載）
本出願は、「マルチホップ・システム・コール」と題する、２０００年６月１２日に出願された、現在出願中である米国特許出願第０９／５９１、８２７号の一部継続出願である。
【０００２】
（発明の背景）
１．技術分野
本出願は一般にコンピュータ・システムに関し、特にコンピュータ・システムにおいて通信経路を指定することに関する。
【０００３】
２．関連技術の記載
コンピュータ・システムは、１つまたは複数のプロセッサによって使用することができる異なるリソースを有することがある。コンピュータ・システムにおけるリソースおよびプロセッサは、１つまたは複数の通信コネクションによって相互に接続することができる。これらのリソースとしては、例えば、ＥＭＣコーポレーションによって製造されるデータ記憶システムのＳｙｍｍｅｔｒｉｘ（商標名）ファミリーのようなデータ記憶装置があげられる。これらのデータ記憶システムは、１つまたは複数のプロセッサと結合して、各プロセッサに記憶サービスを提供することができる。データ記憶システムの一例は、相互に接続されてコンピュータ・システム内の１つまたは複数のプロセッサに対して共通のデータ記憶を提供するように使用できる、Ｓｙｍｍｅｔｒｉｘ（商標名）ファミリーのような１つまたは複数のデータ記憶装置により構成することができる。
【０００４】
プロセッサは、データ記憶システムを使用して、多種多様なデータ処理タスクおよびオペレーションを行うことができる。たとえば、プロセッサは、データ読み取りおよび書き込みオペレーションのような基本システムＩ／Ｏオペレーションを行うことができ、データ・バックアップおよびミラーリング・オペレーションのような管理タスクも行うことができる。前述のオペレーションのいずれかを実行する場合、プロセッサは、データ記憶装置に特定のオペレーションを行うよう命令する１つまたは複数のシステム・コールを使用する。
【０００５】
ある種のデータ記憶装置構成においては、第１のデータ記憶装置が第２のデータ記憶装置に接続されることがあり、プロセッサは第１のデータ記憶装置を使用して間接的に第２のデータ記憶装置に命令を送ることのみが可能であることがある。言い換えれば、プロセッサは、第１のデータ記憶装置にのみ直接的に接続され、第２のデータ記憶装置へは間接的に接続される。プロセッサが第２のデータ記憶装置にデータ・オペレーションを行うよう命令しようとする場合、プロセッサは第１のデータ記憶装置を使用してリモート・システム・コールを使用することが可能である。プロセッサは、たとえば、第２のデータ記憶装置にデータ・オペレーションを行うよう命令する第１のデータ記憶装置へ、リモート・プロシージャ・コールを発行する。
【０００６】
さらに他のレベルの間接的なデータ記憶装置を有するデータ記憶装置構成では、問題が存在する恐れがある。たとえば、前述の第１および第２のデータ記憶装置のデータ記憶装置構成に加えて、第３のデータ記憶装置が第２のデータ記憶装置に接続されることがある。ある応用例においては、プロセッサは、第３のデータ記憶装置にデータ・オペレーションを行うよう命令する必要があることがある。プロセッサが第１のデータ記憶装置にのみ直接接続されている場合、第２のデータ記憶装置にデータ・オペレーションを行うよう命令するためにリモート・システム・コールが使用され、第１のデータ記憶装置にデータ・オペレーションを行うように命令するためにシステム・コールが使用される。しかし、前述の構成においてプロセッサが第３のデータ記憶装置にデータ・オペレーションを行うよう命令するためには、第１および第２のデータ記憶装置という間接的な接続を通過するような命令が必要となる。データ記憶装置構成内に追加的な記憶装置階層化を行った場合、プロセッサには、システム・コールあるいはリモート・プロシージャ・コールを使用して第３のデータ記憶装置にそのように命令する方法が無い。一般的には、前述の３レベルの間接的なデータ記憶装置アクセスよりさらに多くのレベルをプロセッサから有するデータ記憶装置構成においては、類似の問題が存在する可能性がある。
【０００７】
２つのデータ記憶装置、あるいは１つのプロセッサと１つのデータ記憶装置も、１つまたは複数の接続を使用して通信することが可能である。たとえば、第１および第２のデータ記憶装置は記憶領域ネットワーク（ＳＡＮ）上で通信することが可能であり、プロセッサはデータ記憶装置とローカル・エリア・ネットワーク（ＬＡＮ）上で通信することが可能である。したがって、装置間あるいは装置とプロセッサの間の通信を容易にするようにネットワークを使用することができるが、その場合には、データ転送を容易にするようにシステム・コールあるいはリモート・プロシージャ・コールを使用すると、間接度のレベルが問題を起こす恐れがある。しかし、２つの装置の間あるいはプロセッサと１つの装置の間には接続が存在する。
【０００８】
２つのデータ記憶装置の間あるいはプロセッサと１つのデータ記憶装置の間の通信経路は、たとえば、ネットワーク、直接的な接続、あるいは間接的な接続とリモート・プロシージャ・コールを使用して決定することができる。２つの特定のデータ記憶装置の間、プロセッサとデータ記憶装置等の間のデータ転送を行う際に、この通信経路は使用される。しかし、たとえばアクセスされるデータ記憶装置のプロセッサからの間接度のレベルに加えて、通信経路に含まれる部品障害あるいは接続障害の場合に、問題が存在する恐れがある。
【０００９】
したがって、プロセッサおよび／またはデータ記憶装置に対して、３レベル以上の間接度のデータ記憶装置アクセスを有するデータ記憶構成において、データ・オペレーションを行うための技術を提供し、さらに、たとえば部品障害あるいは接続障害の場合に、通信経路の代替かつダイナミックな選択と指定を提供することは有益な場合がある。
【００１０】
（発明の概要）
本発明による１つの態様は、マルチパス・マルチホップ・システム・コールを処理するための、第１のデータ記憶装置上で実行される方法である。データ・オペレーション・リクエストが、マルチパス・マルチホップ・システム・コールであるかが判定される。第１のデータ記憶装置とターゲット・データ記憶装置との間の通信経路が決定される。第１のデータ記憶装置と通信経路に含まれる第２のデータ記憶装置との間で、第１の通信コネクションが決定される。データ・オペレーション・リクエストは、第２のデータ記憶装置に送られる。
【００１１】
本発明による他の態様は、ホスト・コンピュータ・システムからターゲット・データ記憶装置へのデータ・オペレーション・リクエストを処理する、コンピュータ・システムで実行される方法である。ホスト・コンピュータ・システムからターゲット・データ記憶装置への通信経路が決定される。データ・オペレーション・リクエストは、ローカル・エリア・ネットワークあるいは記憶領域ネットワークの１つによって、ホスト・コンピュータ・システムに接続されている第１のデータ記憶装置に送られる。データ・オペレーション・リクエストは、第１のデータ記憶装置と中間データ記憶装置の間の通信コネクションを介して、通信経路に含まれる中間データ記憶装置に転送される。
【００１２】
本発明によるさらに他の態様は、コンピュータ・システムである。ホストは、データ・オペレーション・リクエストを開始する。少なくとも３つのデータ記憶装置が含まれており、データ・オペレーション・リクエストは３つのデータ記憶装置の少なくとも１つ対して送信される。ホストと少なくとも３つのデータ記憶装置のそれぞれの間に通信が存在する。通信コネクションのそれぞれは、少なくとも１つの記憶領域ネットワークあるいはローカル・エリア・ネットワークを有する。少なくとも３つのデータ記憶装置のそれぞれは、ローカル・エリア・ネットワークあるいは記憶領域ネットワークの１つである通信コネクションを介するデータ・オペレーション・リクエストを受信し、翻訳し、そのデータ・オペレーションがマルチパス・マルチホップ・システム・コールであるか否かを判定し、データ・オペレーションがマルチパス・マルチホップ・システム・コールであるとの判定に応答して、データ・オペレーション・リクエストに関連するデータの第２の部分を、少なくとも３つのデータ記憶装置の他の１つへ転送するマシン実行可能コードを有する。
【００１３】
本発明によるさらに他の態様は、データ・オペレーション・リクエストがマルチパス・マルチホップ・システム・コールであるか否かを判定し、データ記憶装置とターゲット・データ記憶装置の間の通信経路を決定し、データ記憶装置と通信経路に含まれる第２のデータ記憶装置の間の第１の通信コネクションを決定するマシン実行可能コードを有するデータ記憶装置である。データ・オペレーション・リクエストを第２のデータ記憶装置に送るマシン実行可能コードがさらに含まれている。
【００１４】
本発明によるさらに他の態様は、ホスト・コンピュータ・システムからターゲット・データ記憶装置へのデータ・オペレーション・リクエストの処理に使用するコンピュータ読み取り可能な記憶媒体である。ホスト・コンピュータ・システムからターゲット・データ記憶装置への通信経路を決定し、データ・オペレーション・リクエストを、ローカル・エリア・ネットワークあるいは記憶領域ネットワークの１つによって、ホスト・コンピュータ・システムに接続された第１のデータ記憶装置に送り、前記データ・オペレーション・リクエストを、第１のデータ記憶装置と中間データ記憶装置の間の通信コネクションを介して、通信経路に含まれる中間データ記憶装置に転送するマシン実行可能コードが含まれている。
【００１５】
本発明による他の態様は、通信をルーティングする、データ記憶エンティティによって実行される方法である。通信に関連する形式が決定される。データ記憶装置と接続データ記憶エンティティの間の通信コネクションが決定される。通信は、通信コネクションを使用して、接続データ記憶エンティティに送られる。
【００１６】
本発明による他の態様は、データ記憶エンティティによって通信をルーティングする、コンピュータ・プログラム・プロダクトである。通信に関連する形式を決定し、データ記憶装置と接続されたデータ記憶エンティティの間の通信コネクションを決定し、通信コネクションを使用して接続データ記憶エンティティに通信を送るマシン実行可能コードが含まれている。
【００１７】
（さまざまな実施形態の詳細な説明）
参考文献として本明細書に包含される１９９８年４月２２日出願の「統一されたプログラミング・インタフェース」と題する米国特許番号第０９／０６４，５８８号（出願中）には、内部の制御データ構造が物理的に何処に配置されているか等のメモリ構成についての知識をホスト・プロセッサに要求することなく、異なるホスト・プロセッサがデータ記憶システムにアクセスすることをデータ記憶システムに可能にする統一されたインタフェースを提供する技術が説明されている。
【００１８】
ここで図１を参照すると、本明細書に説明するマルチホップ技術を使用するコンピュータ・システムの実施形態が示されている。コンピュータ・システム３０には、Ｎ個のホスト・コンピュータ、２０、２２および２４、が含まれている。ホスト・コンピュータ２０、２２および２４は、すべてが同じ場所に存在してもよく、あるいは異なる地域に存在してもよい。さらにコンピュータ・システム３０には、複数のデータ記憶装置１２、１４、１６および１８が含まれている。データ記憶装置１２、１４、１６および１８のそれぞれは、米国マサチューセッツ州ホプキントンのＥＭＣコーポレーションによって供給される製品のような、多種多様なデータ記憶装置の任意の１つであってもよい。Ｎ個のホスト・コンピュータ２０、２２および２４のそれぞれは、たとえばＩＢＭメインフレームあるいはＳＵＮスパークステーションのようなパーソナル・コンピュータあるいはメインフレーム・コンピュータを含む、たとえば多種多様な市販されているシングル・プロセッサ、あるいはマルチ・プロセッサのコンピュータの任意の１つであってよい。通信は、ＳＣＳＩ、ＥＳＣＯＮ、あるいはファイバ・チャネルのような、さまざまな通信プロトコルの任意の１つを使用して、接続１２ａ、１２ｂ、１２ｃ、２０ａ、２２ａおよび２４ａを介して提供される。接続１２ａ、１２ｂ、１２ｃ、２０ａ、２２ａ、２４ａのいくつか、あるいはすべては、 Ｃｏｎｎｅｃｔｒｉｘ あるいは、電話線、中継器、マルチプレクサあるいは衛星をも含めて途中に存在する可能性のある任意の他のスイッチング装置のような他の通信装置を介して接続されることもあり得る。しかし、本明細書における説明では、他の通信装置は直接見えない転送媒体として作用するのみである。
【００１９】
異なる形式の管理タスクによっては、異なる形式のデータ・オペレーションが実行される可能性がある。図１の実施形態においては、ホスト・コンピュータ２０、２２あるいは２４の任意の１つは、データ記憶装置１８上でデータ・オペレーションを行うように、データ記憶装置１８にシステム・コールを発行することができる。さらに、たとえば、バックアップ、ミラーリング、あるいは他の管理オペレーションを行っているホスト・コンピュータ２０上で実行するアプリケーションは、データ・オペレーションを実行するように、データ記憶装置１２、１４および／または１６の１つまたは複数を必要とする可能性がある。複数の相互接続された記憶装置１２、１４、１６および１８は、ホスト・コンピュータ２０、２２および２４の任意の１つによって、データ記憶装置１８を介して間接的にアクセスされることがある。たとえば、ホスト・コンピュータ２０は、読み取りオペレーション、書き込みオペレーション、あるいは他の形式のデータ・オペレーションを行うように、システム・コールをデータ記憶装置１８へ発行することができる。システム・コールは、システム・コールを発するホスト・コンピュータから１レベルの距離があるデータ記憶装置に、データ・オペレーションを行うように指示されたコールであるということができる。ある実施形態においては、「インライン・コール」と呼ばれる異なるメカニズムが、システム・コールの機能と類似する機能を行うために使用されることがあることに注目されたい。本願明細書の目的を考慮すると、システム・コールに与えあれた機能は、インライン・コールに対しても同様に適用することができる。
【００２０】
さらに、コンピュータ２０のようなホスト・コンピュータの１つは、リモート・システム・コールを使用することによって、データ記憶装置１８を介して間接的に、データ記憶装置１２にデータ・オペレーションを行うように指示することができる。リモート・システム・コールを使用して、ホスト・コンピュータはデータ記憶装置１８にリクエストを発行することができ、次に、データ記憶装置１８は、データの読み取りあるいは書き込みのような特定のデータ・オペレーションを行うように、接続１２ａを使用してデータ記憶装置１２にリモート・システム・コールを続いて発行する。リモート・システム・コールは、システム・コールを発するホスト・コンピュータから２レベルの距離があるデータ・オペレーションを行うようにデータ記憶装置に対して送信されたコールである。
【００２１】
データ・オペレーションを行うさらに他の例では、コンピュータ２０のようなホスト・コンピュータの１つは、装置１４あるいは装置１６のいずれかに命令を発行しようとすることができる。ホスト・コンピュータ２０は、データ記憶装置１２および１８を「パス・スルー」、すなわちデータ記憶装置１４あるいは装置１６への間接的な接続として使用して、装置１４のようなデータ記憶装置に間接的に命令を発行することができる。このような処理は、マルチホップ・システム・コールを発行するホスト・コンピュータ２０によって行うことができる。一般的には、マルチホップ・システム・コールは、コールを発するホスト・コンピュータから３レベル以上の距離があるデータ記憶装置に、データ・オペレーションを行うように指示されたコールであるということができる。マルチホップ・システム・コールについては、本明細書の他のところで詳細に説明する。
【００２２】
図示する実施形態において、接続１２ａを介して接続された装置１２および装置１８のような任意の２つのデータ記憶装置の間の接続は、マシン識別子ではなく１つまたは複数の接続識別子によって識別することができることに、注目すべきである。言い換えれば、ホスト・コンピュータ２０がターゲット装置１２に指示された命令を発行するとき、装置１２、１８のそれぞれの間の接続は、装置１２のようなターゲット・データ記憶装置を識別することではなく、コール内の接続識別子によって識別することができる。これは、本明細書の他のところで詳細に説明する。さらに、データ記憶装置１２、１４、１６および１８のそれぞれがデータ記憶装置間に定義された相互接続を有する図示したような実施形態において、このことは一般化することができる。接続１２ａのような任意の２つのデータ記憶装置の間の接続、あるいは接続２０ａのようなコンピュータからデータ記憶装置への接続は、データ記憶装置あるいはコンピュータと関連づけられたマシン識別子の使用ではなく、接続識別子によって識別することができる。言い換えれば、２０のようなホスト・コンピュータが、装置１４のようなデータ記憶装置に、データ・オペレーションを行うように指示する場合、ホスト・コンピュータ２０からターゲット・データ装置１４への経路を指定するように、ホスト・コンピュータ２０は１つまたは複数の接続識別子を使用することが可能である。ホスト・コンピュータ２０は、ホスト・コンピュータ２０からデータ記憶装置１８への第１の接続識別子、データ記憶装置１８と１２の間の第２の接続識別子、およびデータ記憶装置１２と１４の間の第３の接続識別子を識別することができる。これらの接続識別子は、たとえば、マルチホップ・システム・コール内で指定することができる。あるいは、マルチホップ・システム・コールは、マルチホップ経路のように使用されたシステムを指定することができ、あるいは、ある実施形態においては、エンド・システムあるいはエンド接続のための識別子のみを使用することができる。しかし、中間接続あるいはシステムのすべてを指定すると、コールを処理している各システムは、局部的な情報のみを有することになる。（すなわち、全体のシステムとそのトポロジーを認識している必要がない。）
ここで図２を参照すると、本明細書に開示されているマルチホップ技術を使用するコンピュータ・システムの他の実施形態が示されている。コンピュータ・システム１０は、２つのホスト・コンピュータ３４、３８ならびに相互接続されている複数の記憶装置３２、３６、４０、および４２を有する。さらに、ホスト・コンピュータ３４とデータ記憶装置３２とは直接接続されていて、同様にホスト３８とデータ記憶装置３６とも直接接続されている。データ記憶装置３２、３６、４０および４２のそれぞれは、図１および本明細書の他の記載において説明したデータ記憶装置に類似していることに注目すべきである。同様に、ホスト３４と３８のそれぞれも、図１および本明細書の他の記載において説明したホスト２０、２２および２４に類似している。図２は、たとえば、ホスト３８および装置３６がホスト３４およびデータ記憶装置３２のデータと同じデータをコピーしている構成に含まれるような、データ記憶装置およびホスト・コンピュータの別の実施形態と構成を示している。言い換えれば、データ記憶装置３６は装置３２の影として働くことができる。この特定の構成において、たとえば、ホスト３４に動作上の障害が発見されネットワークから除外される時に、ホスト３８は代替システムとして働くことができる。たとえば、ホスト３４および／または装置３２が電源障害あるいは他の形式のシステム障害を発見すると、ホスト３８および装置３６に記憶されたデータが自動的に動作状態となることができ、ホスト３４および装置３２を置換し、その代替として機能する。ホスト３８および装置３６が今説明したように機能することを可能にするように、ホスト３４は、たとえば、装置３２から装置３６と４０に遠隔バックアップおよびコピー・オペレーションを実行するソフトウェアを有してもよい。言い換えれば、ホスト３４は、装置３６と４０へデータをコピーする命令をデータ記憶装置３２に発行することができる。この構成においては、装置３２は３６のバックアップ装置として働くことができる。このことは、データ記憶装置３２および／またはホスト・コンピュータ３４の電源障害あるいは他のシステム上の障害があるような場合に、コンピュータ・システム１０内でシステム３８および装置３６がシステム３４および装置３２に置き換わることを可能にすることができる。ホスト３８および装置３６がホスト３４および装置３２に置き換わる場合、ホスト３８および装置３６は図示する実施形態では装置４０である指定されたバックアップ記憶装置を有する必要がある。したがって、システム３４はデータをデータ記憶装置３６と同様にデータ記憶装置４０に記憶するように命令を発行する。
【００２３】
図１に関連して説明したと類似の方法で、データ記憶装置３２、３６、および４０のそれぞれの間の接続は、マシン識別子ではなく接続識別子によって識別されることに注目するべきである。これは以下の段落でさらに詳細に説明される。
【００２４】
ここで図３を参照すると、前述の構成のそれぞれにおいて相互に接続されている任意の２つの記憶装置の間に存在する場合がある異なる接続を有する実施形態が示されている。たとえば、図２のコンピュータ・システム１０に含まれるデータ記憶装置４０および４２が、多種多様な通信コネクション４０ａ−４０ｎの任意の１つを有するものとして、ここではより詳細に示されている。接続４０ａ−４０ｎのそれぞれは、たとえばシステム・コール、リモート・システム・コール、あるいはマルチホップ・システム・コールを、たとえばデータ記憶装置４０を使用してデータ記憶装置４２に直接的あるいは間接的に発行するために、経路を指定することにより接続識別子によって一義的に識別される。
【００２５】
ホスト・コンピュータとデータ記憶装置の間、あるいは任意の２つの記憶装置の間にはは、１つまたは複数の接続が存在してもよい。それぞれの数と形式は、それぞれの具体化例と用途に応答して変わってもよい。さらに、第１の記憶装置の第１のポートと第２の記憶装置の他のポートの間の特定の接続を指定する接続識別子は、１つのデータ記憶装置から他のデータ記憶装置へメッセージの転送を可能にする数字あるいは他の一義的な識別子であってもよい。ある種の実施形態においては、接続識別子は１と１６の間の数字でもよいが、他の範囲の数字も可能である。たとえば、１つの実施形態においては、両端を含んで０．．．．１５の範囲を使用することができる。他の実施形態においては、両端を含んでＡ−Ｋのアルファベット表示を使用することができる。さらに他の実施形態においては、接続識別子は、特定の通信チャネルを指定するのではなく、たとえば、次の Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置のような次の記憶装置を識別することが可能である。
【００２６】
データ記憶装置およびホスト・コンピュータ・システムの前述のコンピュータ・システム構成において、バックアップ・オペレーションおよび同等物の実行に関するオペレーションのような特定のデータ・オペレーションを行うように、ソフトウェアは記憶装置に接続されたホスト・システムのそれぞれで実行することができる。ソフトウェアは、異なるホスト・システムから異なるデータ・オペレーション命令を受けるように、異なるデータ・オペレーションの実行に関連して、データ記憶装置のそれぞれで実行することも可能である。このようなソフトウェアは、たとえば、米国マサチューセッツ州、ホプキントンのＥＭＣコーポレーションから入手できる。
【００２７】
ここで図４を参照すると、たとえば、図１および図２のコンピュータ・システム構成において、データ・オペレーションを行う１実施形態を示すフローチャートが示されている。ステップ５２において、ホスト・プロセッサはデータ・オペレーション・リクエストをデータ記憶装置へ発行する。ステップ５４において、リクエストを受ける現ターゲット・データ記憶装置は、データ・オペレーション・リクエストを分類する。図示する実施形態において、データ・オペレーション・リクエストは、システム・コール、リモート・システム・コール、あるいはマルチホップ・システム・コールの３つのカテゴリーの１つとして一般に分類することができる。（従来のＩ／Ｏオペレーティングは、ここでは論じられていないが、本明細書の説明のようには、図４に関連して説明されるデータ・オペレーション・リクエストとは異なると考えられることを指摘する）。ターゲット・データ記憶装置がデータ・オペレーション・リクエストをシステム・コールとして分類すれば、現ターゲット・データ記憶装置はデータ・オペレーションを局部的に実行する。データ・オペレーション・リクエストが現ターゲット・データ記憶装置に対してリモート・システム・コールとして分類されれば、現ターゲット・データ記憶装置はさらに、データ・オペレーションを行うように遠隔のデータ記憶装置に転送し命令する。言い換えれば、現ターゲット・データ記憶装置は、データ・オペレーションを実行するさらに他のデータ記憶装置に、データ・オペレーションをさらに転送し発行する中間記憶装置であると見なすことができる。
【００２８】
データ・オペレーション・リクエストがマルチホップ・システム・コールとして分類されれば、現ターゲット・データ記憶装置はコール情報の外層（ｏｕｔｅｒ ｌａｙｅｒ）（すなわち、命令を現ターゲットを到達させた情報）を除去し、コール情報あるいはデータを第２のターゲット・データ記憶装置にさらに転送する。制御はステップ６２に進み、第２のターゲット・データ記憶装置が、後続の処理ステップに対して現ターゲット・データ記憶装置となる。制御は次にステップ５４に進み、新たに指定された現ターゲット・データ記憶装置が、データ・オペレーション・リクエストを分類する。
【００２９】
一般的には、マルチホップ・システム・コールは、リクエストを行っているホスト・コンピュータから３層以上離れている、すなわちリモート・システム・コール以上に層が離れているデータ記憶装置にリモート・システム・コールを当てはめるという上述した技術を使用することが可能である。翻訳処理の一部として、現ターゲット・データ記憶装置は、現コール・インスタンスと関連するデータの外層を除去し、残りのデータを第２のターゲット・データ記憶装置にさらに転送することができる。この第２のターゲット・データ記憶装置は、次にデータの外層を除去する同じ処理を行う。コール情報の層を除去し、残りのデータを他のターゲット・データ記憶装置にさらに転送する処理は、リモート・システム・コールあるいはシステム・コールがデータの最も内部の層に到達するまで実行される。
【００３０】
一実施形態は、マルチホップ・システム・コールあるいは他の任意の形式のコールを処理する場合に、たとえばステップ６０と関連して、情報を除去しないことを任意選択で有してもよい。より正確に言えば、他の実施形態におけるステップ６０に対する処理記述は、コール情報の部分を除去せずに、コール情報だけを転送してもよい。これは、フローチャート５０の５６および／または５８のような、１つまたは複数の他の処理ステップを有する場合であってもよい。このようにすることにより、たとえば、情報が帰路を戻る場合に使用することができるように、経路情報を保持して帰路情報に使用するようにすることができる。マルチホップ・システム・コールに関連してコール情報からデータの部分を除去するべきかどうかの決定は、各実施形態に応答して変更してもよい。たとえば、固定パケット・サイズを使用する実施形態では、コール情報の部分を除去しないことが望ましい場合がある。大きい可変パケット・サイズを有する他の実施形態においては、もし帰路情報が必要とされず、および／または大きいデータ・パケットの通過に関連するオーバーヘッドによって、他のターゲットにさらに転送する前にコール情報の一部を除去することが望ましい場合がある。
【００３１】
フローチャート５０のステップは、データ・オペレーション・リクエストを分類する方法であり、方法ステップは構成に含まれるデータ記憶装置のそれぞれによって実行することができる。入力データ・オペレーション・リクエストのそれぞれは、開始ホスト・コンピュータ（ｉｎｉｔｉａｔｉｎｇ ｈｏｓｔ ｃｏｍｐｕｔｅｒ）からの受信ターゲット・データ記憶装置であるデータ装置のレベルに対するシステム・コールのレベルに基づいて分類される。そのレベルが、受信データ記憶装置が指示されたデータ・オペレーションを行うための実ターゲット・データ記憶装置であることを意味するレベルであれば、ホスト・システムからターゲット装置へシステム・コールが発行される。２つのレベルを使用して、リモート・システム・コールは、第１のデータ記憶装置から第２レベルのデータ記憶装置へデータ・オペレーション命令をさらに転送するように使用される。レベルが２を超えていれば、データ・オペレーションを行うためのターゲット・データ記憶装置が、発行ホスト・プロセッサから３ノード以上離れているという点で、マルチホップ・システム・コールが使用される。
【００３２】
再び図２のコンピュータ・システム１０を参照すると、たとえば、ホスト・コンピュータ３４は、データ・オペレーション・リクエストを開始することが可能である。コンピュータ・システム・ダイアグラムは、各ノードが接続である辺を有するコンピュータ・システムあるいはデータ記憶装置であるノードのグラフであると見なすことができる。データ・オペレーション・リクエストと関連する１の深さすなわちレベルは、実行されるべきデータ・オペレーションを発行するようにシステム・コールが使用される可能性のある第１のデータ記憶装置３２を示す。２の深さを使用すると、たとえば、ホスト・プロセッサ３４が第２のデータ記憶装置３６によって実行されるべきデータ・オペレーション・リクエストを発行すれば、リモート・システム・コールが使用される。３の深さを使用すると、たとえば、第３のデータ記憶装置４０によって実行されるべきデータ・オペレーション・リクエストを発行するように、ホスト・プロセッサ３４はマルチホップ・システム・コールを使用することができる。
【００３３】
１つの実施形態において、データ記憶装置３２は、データ・オペレーション・リクエストを、例えば、データ・オペレーション・リクエスト内の特定のフィールド内の命令コードを判別することにより、システム・コール、リモート・システム・コールあるいはマルチホップ・リモート・システム・コールに分類して、フローチャート５０に含まれる方法ステップを実行できる。データ記憶装置３２が入力データ・オペレーション・リクエストをリモート・システム・コールとして分類すれば、データ記憶装置３２は、実データ・オペレーションを行うように、データ記憶装置３６にリモート・システム・コールを発行する。たとえば、システム・コールに含まれることがある命令コードによって、マルチホップ・システム・コールが検出された場合、データ記憶装置３２は、第２のデータ記憶装置３６をリモート・システム・コールが指示された装置として示すかもしれない接続識別子情報の第１レベルのようなコール情報の外層を除去することができ、残りのデータを記憶装置３６にさらに転送することができる。その結果として、データ記憶装置３６は受信あるいは現ターゲット・データ記憶装置になり、処理ステップ５４、５６、５８、６０および６２の実行に進む。一般的には、データ記憶装置によってマルチホップ・コールとして分類された任意の入力システム・コールは、コール情報の外層を除去するステップを実行し（ステップ６０）、コール内にさらに封入された、すなわち埋め込まれたかもしれないデータを、例えば、現接続識別子によって指定されるような別のターゲット・データ記憶装置へさらに転送する（ステップ６２）。そのターゲット・データ記憶装置は、次に埋め込まれたデータの分類の実行に進む。この処理は、現ターゲット・データ記憶装置によって、システム・コールあるいはリモート・システム・コールのいずれかが分類される迄、データ・オペレーション・リクエストに含まれていることがある接続識別子に応答して、異なるターゲット・データ記憶装置のそれぞれによって実行することができる。いくつかの実施形態においては、ホップの最大数は、マルチホップ命令の最大サイズを制限するように、７あるいは８に設定されている。
【００３４】
ここで図５を参照すると、マルチホップ・システム・コールに埋め込まれる可能性のあるデータの異なる翻訳の実施形態が示されている。要素７２は、部分７２ａおよび７２ｂを有するメッセージ・フォーマットを有する。総合すれば、部分７２ａおよび７２ｂは、マルチホップ・システム・コールのフォーマットを表すことができる。部分７２ａはマルチホップ命令コードおよび、現ターゲット・データ記憶装置によって処理ステップ６０で除去される可能性があるターゲット接続識別子（ｔａｒｇｅｔ ｃｏｎｎｅｃｔｉｏｎ ｉｄ）を含んでいる。フィールド７２ａに含まれるターゲット接続識別子は、他のデータ部分７２ｂが転送されることがあるさらに別のデータ記憶装置への接続を識別する。記述７２ｃは、ステップ５４の処理を行う間に、受信データ記憶装置がデータ７２ｂをいかに翻訳するかの表現である。一般的には、第１のデータ記憶装置はステップ６０の一部として部分７２ａを除去し、次に部分７２ｂをフィールド７２ａに含まれるターゲット接続識別子によって指定された第２のデータ記憶装置にさらに転送してもよい。他のデータ７２ｂは、たとえば、第２のデータ記憶装置によって実際に翻訳された場合、フィールド７２ｃによって示されるさらに別のマルチホップ・リモート・システム・コールであることがある。言い換えれば、他のデータ７２ｂは、表現７２ｃに実際に含まれるデータとして解釈することができる。
【００３５】
要素７４を参照すると、受信ターゲット・データ記憶装置によるデータ・オペレーション・リクエストに含まれる情報の可能性のある他のマッピングの例が示されている。ステップ６０の処理において、第１のデータ記憶装置は部分７４ａを除去することができ、部分７４ａに含まれるターゲット接続識別子によって指定されるように、部分７４ｂを第２のターゲット・データ記憶装置にさらに転送することができる。例として、データ部分７４ｂは第２のデータ記憶装置によってフィールド７４ｃで表されるように翻訳することができる。言い換えれば、第１のデータ記憶装置はデータを第２のデータ記憶装置に転送し、第２のデータ記憶装置は受信したデータをフィールド７４ｃで表されるようにリモート・システム・コールとしてさらに翻訳する。さらに第３のデータ要素７６は、要素７２および７４に示すものと類似の部分７６ａおよび７６ｂを含んでいる。ステップ６０の処理において、第１のデータ記憶装置は、部分７６ａを受信したデータから除去することができ、フィールド７６ａに含まれるターゲット接続識別子によって指定されるように、データ部分７６ｂを第２のデータ記憶装置にさらに転送することができる。第２のデータ記憶装置は、次にステップ５４、５６、５８、６０および６２の処理を実行することができ、フィールド７６ｂのデータをフィールド７６ｃで表されるように翻訳することができる。例示された実施形態において、第２のデータ記憶装置に渡されたデータは、たとえば、オペレーションを含むシステム・コールとして翻訳することができ、そのオペレーションはステップ５６にしたがって実行される。
【００３６】
実施形態は、たとえば、帰路情報の保持に関連して、コール情報の任意の１つまたは複数の部分を除去しないことを選択することも可能であることに注目すべきである。これは、本明細書の他のところで詳細に説明する。
【００３７】
前述の事項には、１つまたは複数の他のデータ記憶装置を介してターゲット・データ記憶装置に間接的に接続された他のデータ記憶装置によって起動できるターゲット・データ記憶装置によってデータ・オペレーションが実行されるマルチホップ・システム・コールを使用する説明と技術が含まれている。
【００３８】
本明細書に説明するマルチホップ・システム・コールは、次に説明するマルチパス技術に関連して使用することもできる。「マルチパス・マルチホップ」システム・コールは、第１の通信経路におけるハードウェアあるいはソフトウェア障害のような障害が発生した場合には、マルチホップ・システム・コールに関連して１つまたは複数の代替の通信経路を使用することができるリモート・システム・コールとして特徴づけることができる。通信経路は、コンピュータ・システム間をグラフとして表す類推を行うことによつて定義することができる。グラフ内の各ノードは、コンピュータ・システム内のデータ記憶装置、ホストあるいは他のコンピュータを表すことができる。これらのノードは、２つのデータ記憶装置、データ記憶装置とホスト・コンピュータ、および同等物の間の接続のような任意の２つのノードの間の通信コネクションを表す辺によって接続される。通信コネクションは、たとえば、イーサネット接続を使用するＬＡＮ、ＳＣＳＩ接続を使用するファイバ・チャネル上のＳＡＮ、遠隔データ機能（ＲＤＦ）を使用するＳｙｍｍｅｔｒｉｘ（商標名）データ記憶装置である２つのデータ記憶装置の間のようなデータ記憶装置接続、および同等物のような、任意の形式の通信コネクションの１つであってよい。したがって、通信経路の設定と指定は、たとえば、データ記憶装置の決定と、データ記憶装置の間の通信コネクションの選択を含むことがある。
【００３９】
Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置（ＳＹＭ）である１つまたは複数のデータ記憶装置を有する１つの実施形態においては、ＲＤＦは、たとえば、ファイルＩ／Ｏオペレーションおよび他のデータ転送のような利用者データ転送におけるＳＹＭの間のような、命令、状態および構成情報、および同等物と組み合わされていてもよいような、遠隔通信を行う場合に使用することができる機能であることに注目すべきである。ＲＤＦは、各ＳＹＭに常駐するデータ層であってもよい。マルチホップ・システム・コールは、リモート・システム・コールを他のＳＹＭに転送するように、ＲＤＦのサービスを使用することができる。一般的には、マルチホップ・システム・コールは、リクエストをデータ記憶装置あるいは他の「ノード」に転送するように、ＲＤＦのサービスを使用することができる。ＲＤＦはＳＹＭの間のようなデータ伝送を容易にするのに使用することができ、ターゲットＳＹＭあるいは受信ＳＹＭはシステム・コールの実行に関連して動作することができる。
【００４０】
本明細書において説明する技術を使用するコンピュータ・システムの実施形態において、データ記憶装置がＳＹＭであってもよいことに注目すべきである。マルチホップ・システム・コールは、２つのＳＹＭに接続されているか２つのＳＹＭに含まれている専用のハードウェアを使用して、２つのＳＹＭの間で行うことができる。この専用のハードウェアは、ＳＡＮを介して、あるいは、たとえば、さまざまな通信媒体の任意の１つ、あるいは当業者に公知の接続を使用して、他のＳＹＭへ接続することができる。
【００４１】
ここで図６を参照すると、マルチパス・マルチホップ・システム・コールを行うことができるコンピュータ・システムの実施形態が示されている。コンピュータ・システム１００の中には、ＬＡＮ１０２、ＳＡＮ１０４、Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置（ＳＹＭ）１０６ａ−１０６ｎのような、データ記憶装置が含まれている。この実施形態はデータ記憶装置としてＳＹＭを有するが、他の実施形態は、本明細書において説明する技術を使用して、他の形式のデータ記憶装置を有してもよいことに注目すべきである。さらに、ＳＹＭ１０６ａ−１０６ｎのそれぞれは、１つまたは複数のホストおよび／またはコンピュータ・システム１００に含まれる他のデータ記憶装置に対して１つまたは複数の接続を有してもよい。ＳＹＭ１０６ａ−１０６ｎのそれぞれは、ＳＡＮ、ＬＡＮ、および各装置に含まれる他の接続を使用して、他のＳＹＭおよびホスト・コンピュータ・システムと通信することが可能である。ＳＡＮ、ＬＡＮ、および（ＳＹＭ間のデータ記憶接続のような）他の接続の使用は、たとえば、ＳＹＭ１０６ａとＳＹＭ１０６ｂの間のようなデータ記憶装置の間の通信を容易にするように、同様に、データ記憶装置とホスト・コンピュータ・システムの間の通信ならびに２つのホスト・コンピュータ・システムの間の通信を容易にするように、独立にあるいは組み合わせて使用することができる。
【００４２】
１つの実施形態においては、ホスト・コンピュータ・システムは、Ｓｙｍｍｅｔｒｉｘ（商標名）インタフェース層（ＳＩＬ）のようなソフトウェアを使用して、ＳＹＭ−ｌ、１０６ａのようなＳＹＭと通信することができる。他のホスト・コンピュータ・システムは、各実施形態に応答して変わることがある他の装置と通信するように、他のソフトウェア・インタフェースを使用してもよい。
【００４３】
本明細書の別のところで説明するように、データ記憶装置および／またはホスト・コンピュータ、ならびにコンピュータ・システム１００に含まれるデータ記憶装置および／またはホスト・コンピュータの任意の２つの間の通信コネクションは、グラフで表すことができる。グラフ内のノードは、データ記憶装置、あるいはホスト・コンピュータに対応することができる。ノードは、辺によって接続される２つのノードの間の通信コネクションにそれぞれ対応する辺によって接続することができる。たとえば、ＳＹＭ−１、１０６ａおよびＳＹＭ−２、１０６ｂは、グラフ内のノードであるとして表される。これらは、各辺が、ＬＡＮ１０２、ＳＡＮ１０４および１つまたは複数のデータ記憶接続１０８ａ、１０８ｂのような、通信コネクションに対応する辺によって接続することができる。１つの実施形態における接続１０８ａおよび１０８ｂは、図１のコンピュータ・システムに関連して前述したような１２ａ−１２ｃおよび２０ａ−２０ｃのような接続に類似である可能性があることに注目すべきである。さらに、たとえば、ＳＹＭ−２は、ＬＡＮ１０２およびＳＡＮ１０４によって、ＳＹＭ−ｎ、１０６ｎのような他のＳＹＭに接続することができる。しかし、ＳＹＭ−２、１０６ｂとＳＹＭ−ｎ、１０６ｎの間の接続に対しては、データ装置接続が存在しないことがある。２つのノードＳＹＭ−２およびＳＹＭ−ｎの間の接続を表すグラフにおいて、それぞれＳＹＭ−２およびＳＹＭ−ｎに対応するノードの間の２つの辺の表現が存在することがある。さらに、ＳＹＭ−１、１０６ａとＳＹＭ−２、１０６ｂのそれぞれは、それぞれ、ＬＡＮ接続１０２、ＳＡＮ接続１０４、ならびに矢印１０８ａおよび／または１０８ｂによって表されるようなデータ記憶装置接続を表す３つの辺によって接続された同じグラフ内のノードであるとして表現することができる。
【００４４】
たとえば、ＳＹＭ−１、１０６ａとＳＹＭ−ｎ、１０６ｎの間に通信経路を設定する場合、さまざまな異なる既存の接続の任意の１つを使用することができる。言い換えれば、以下に説明するように、ＳＹＭ−１とＳＹＭ−ｎの間の通信経路を指定する複数の方法が存在する可能性がある。たとえば、ＳＹＭ−１、１０６ａとＳＹＭ−ｎ、１０６ｎの間に第１の通信経路を設定する場合、ＳＹＭ−１、１０６ａとＳＹＭ−２、１０６ｂの間のデータ記憶接続を使用することができる。さらに、ＳＹＭ−２とＳＹＭ−ｎの間の接続を完成するように、ＬＡＮを使用することができる。ＳＹＭ−１とＳＹＭ−ｎの間の第２の通信経路は、ＳＹＭ−１とＳＹＭ−ｎの間のＬＡＮを使用するによって、指定することができる。ＬＡＮ上でのＳＹＭ−１とＳＹＭ−ｎの間の接続は、１つの実施形態においては、第１の選択であってもよい。しかし、ハードウェアおよび／またはソフトウェアの障害あるいは問題のような、なんらかの理由でＳＹＭ−１からＳＹＭ−ｎへのＬＡＮ接続がダウンすると、ＳＹＭ−１をＳＹＭ−ｎに接続する経路を構成するように、ＳＹＭ−１とＳＹＭ−２の間のデータ記憶接続をＳＹＭ−２とＳＹＭ−ｎの間のＬＡＮ接続との組み合わせで使用することができる。ＳＹＭ−ｎをターゲット装置としてＳＹＭ−１からマルチホップ・システム・コールを実行する場合、これらの経路のいずれか１つを使用することができる。
【００４５】
グラフ上の２つのノードの間の特定の経路を指定する前述の場合には、各経路は、グラフ内に異なる中間ノードを有することが可能であり、また、グラフ内に任意の２つのノードの間の異なる通信コネクションに対応する異なる辺を有することが可能であることに注目すべきである。
【００４６】
ここで図７を参照すると、図６のコンピュータ・システムの実施形態に含まれるような、２つのＳＹＭの間の異なる通信コネクションの論理図表現が示されている。ＳＹＭ−１、１０６ａおよびＳＹＭ−２、１０６ｂを図７に示す。図７は、図６のコンピュータ・システム１００にも示されるような、ＳＹＭ１０６ａと１０６ｂの間の通信コネクションの別の表現を示す。ＳＹＭ１０６ａと１０６ｂの間のデータ通信およびデータ・オペレーションを容易にするように使用することができるコンピュータ・システム１００における通信コネクションは、ＳＡＮ、ＬＡＮ、およびデータ記憶接続である。図７の表現は、図６のコンピュータ・システム１００の前述の説明におけるＳＹＭおよび／またはホスト・システムの間のような他の通信コネクションにも拡張することができる。
【００４７】
一実施形態は、０、１、または複数のタイプの通信コネクションを含んでいても可能であることに注目すべきである。たとえば、ＬＡＮあるいはＳＡＮ接続は無くて、２つのＳｙｍｍｅｔｒｉｘ（商標名）データ記憶装置の間の遠隔データ記憶機能（ＲＤＦ）接続のような３つのデータ記憶接続があってもよい。特定の形式と同様に、各形式の数は、各実施形態に応答して変わってもよい。ＲＤＦ接続は、本明細書の他のところで詳細に説明する。
【００４８】
ここで図８を参照すると、マルチパス・マルチホップ・システム・コールを実行することができるコンピュータ・システムの実施形態の他の例が示されている。ＳＹＭ１１２ａ−１１２ｅの構成を有するコンピュータ・システム１１０を図８に示す。ＳＹＭ−１、１１２ａは接続１１４ａを介してホスト・コンピュータに接続されており、ＳＹＭ−４、１１２ｄは接続１１４ｂを介してホスト・コンピュータに接続されている。図８における接続１１４ａおよび１１４ｂは、ＬＡＮ、あるいは、図１に関連して既に説明した接続１２ａのような他の接続および同等物を介するような、ホスト・システムとの接続の１つまたは複数の形式を表すことができることに注目すべきである。コンピュータ・システム１１０には、異なるＳＹＭを接続するさまざまな通信コネクションに対応して、１１６ａ−１１６ｃ、１１８ａ−１１８ｂおよび１２０ａ−１２０ｂのようなさまざまな辺によって接続されたグラフ内のノードに類似しているさまざまなＳＹＭの間の接続の構成がさらに示されている。この例においては、通信コネクション１１６ａ−１１６ｃ、１１８ａ−１１８ｂおよび１２０ａ−１２０ｂは、データ記憶装置間のそれぞれ１つまたは複数の異なる接続を表すことが可能であることに注目すべきである。たとえば、辺１１６ａは、ＳＹＭ１１２ａと１１２ｂの間に存在することができる、ＬＡＮ、ＳＡＮおよびデータ記憶接続のようなＳＹＭ−１とＳＹＭ−２の間の１つまたは複数の接続に対応することができる。単純にするように、各辺は、始点ＳＹＭから終点すなわちターゲットＳＹＭへの通信経路を設定するときに選択することができる１つまたは複数の接続を表す。
【００４９】
以下の段落で詳細に説明するように、たとえば、ＳＹＭ１１２ａとＳＹＭ１１２ｄの間の通信を送るように、さまざまな異なる通信経路の任意の１つを選択することができる。単一の通信経路を形成する場合に、中間ノードを介しての経路の選択、ならびに、２つのノードの間に複数の接続がある時の通信コネクションの選択に対しては、複数の決定をすることが可能である。たとえば、ＳＹＭ１１２ａと１１２ｄの間の通信経路の設定の場合、第１の決定は、通信経路の形成において、どのＳＹＭを中間ノードとするかである。特定のＳＹＭに対応するグラフの上の特定のノードが決定すると、２つ以上の通信コネクションの形式があれば、１つの通信コネクションが選択される。たとえば、ＳＹＭ１１２ａと１１２ｄの間に経路を形成する場合に、第１の決定は、この例においてはＳＹＭ−２、１１２ｂあるいはＳＹＭ−３、１１２ｃである候補の特定の集合から中間ノードを選択することである。どのＳＹＭが中間ノードであるかの決定が行われると、現データ記憶装置、すなわちＳＹＭ、を選択された中間データ記憶装置、すなわちＳＹＭ、に接続する利用できる複数の通信コネクションがあるか否かの決定が行われる。たとえば、ＳＹＭ−１１２ｂが選択されれば、辺１１６ａによって表される通信コネクションの１つが選択されなければならない。１つの実施形態においては、ＳＹＭ１１２ａをＳＹＭ１１２ｂに接続している辺１１６ａは、ＳＡＮ、ＬＡＮ、あるいはデータ記憶接続の１つであってよい。ＳＹＭ１１２ａとＳＹＭ１１２ｂの間の接続の形成に、これらの１つを選択することができる。これは、ＳＹＭ１、１１２ａのようなグラフ内の開始ノードと、ターゲット・データ記憶装置すなわちＳＹＭ４、１１２ｄのようなＳＹＭに対応するグラフ内の目標ノードすなわち終了ノードの間に通信経路を形成する場合に行われる可能性のある反復処理である。
【００５０】
ここで図９を参照すると、開始ノードと目標ノードの間の通信経路を決定するための、１実施形態の方法ステップの例のフローチャートが示されている。一般的には、図９および図１０に関連して説明するステップは、図８に関連して今までに述べた総合的な処理を要約している。
【００５１】
ステップ１３２において、グラフ内の開始ノードおよび目標ノードが決定される。開始ノードおよび目標ノードは、本明細書において前述したように、ホスト・コンピュータ、あるいは、たとえば、図８のコンピュータ・システム１１０に関連して説明した記憶装置を表している。制御はステップ１３４に進み、変数「現ノード」が開始ノードであるとして割り当てられる。制御はステップ１３６に進み、現ノードの後に続く中間ノードの候補が決定される。言い換えれば、現ノードに関しては、他のホスト・コンピュータ、記憶装置および同等物を表すすべての隣接ノードは、ステップ１３６において決定される。ステップ１３８において、現ノードに対して複数の中間ノード候補が存在するか否かの判定が行われる。言い換えれば、ステップ１３６において行われた候補の決定に対して、２つ以上の中間ノードが存在するか否かの判定が行われる。ステップ１３８において１つの中間ノードのみが存在すると判定されれば、制御はステップ１４２に進み、１つの中間ノード候補が中間ノードとして割り当てられる。ステップ１３８において２つ以上の中間ノード候補が存在すると判定されれば、制御はステップ１４０に進み、ステップ１３６において決定された候補の集合から中間ノードが選択される。ステップ１４０および１４２に引き続いて、制御はステップ１４８に進み、現ノードと選択された中間ノードの間に複数の通信コネクションが存在するか否かの判定が行われる。ＬＡＮ、ＳＡＮ、および１つまたは複数のデータ記憶接続のような複数の通信コネクションが存在すれば、制御はステップ１４４に進み、複数の通信コネクションの１つが選択される。他の場合には、制御はステップ１４６に進み、現ノードと中間ノードの間の単一の通信として単一の通信コネクションが使用される。
【００５２】
制御はステップ１５０に進み、現ノードが目標ノードであるか否かの判定が行われる。言い換えれば、ステップ１５０において、開始ノードと目標ノードの間に設定された完全な通信経路を表すグラフを介して、完全な経路が作られたか否かの判定が行われる。現ノードが目標ノードであるとのステップ１５０における判定は、通信経路の選択が完了したことを意味し、制御はステップ１６０に進み、処理は停止する。他の場合には、現ノードが目標ノードではなく通信経路が完成していないことを示していれば、制御はステップ１５２に進み、現ノードが中間ノードであるとして割り当てられる。続いて、制御はループの最上部のステップ１３６に進み、現ノードに対する中間ノード候補が決定される。言い換えれば、ステップ１３６において、現ノードに対するすべての隣接ノードが決定される。ステップ１３６によって最上部に形成されたループに関連するステップは、異なるデータ装置およびホスト・コンピュータ・システムに対応してグラフ内に表されるノードおよび通信コネクションからの完全な通信経路が形成されるまで、選択されたそれぞれの新しい中間ノードに対して実行される。
【００５３】
ここで図１０を参照すると、図９のフローチャート１３０に関連して説明した通信コネクションの選択に関連するより詳細な処理ステップの実施形態の例のフローチャートが示されている。ステップ１７０において、データ記憶接続が存在するか否かの判定が行われる。データ記憶接続が存在すると判定された場合、制御はステップ１７２に進み、現ノードと中間ノードの間の通信コネクションとして、直接の接続が選択される。ステップ１８４において、この処理ステップで処理は停止する。
【００５４】
他の場合には、データ記憶接続が存在しなければ、制御はステップ１７４に進み、そこで中間ノードを現ノードと接続するＬＡＮが存在するか否かの判定が行われる。ステップ１７４においてＬＡＮが存在すると判定された場合、制御はステップ１７６に進み、ＬＡＮ接続が選択される。制御は次にステップ１８６に進み、処理は停止する。
【００５５】
他の場合には、ステップ１７４においてＬＡＮが存在しないと判定された場合、制御はステップ１７８に進み、ＳＡＮ接続が存在するか否かの判定が行われる。ステップ１７８においてＳＡＮ接続が存在すると判定された場合、制御はステップ１８２に進み、中間ノードと現ノードの間の接続としてＳＡＮ接続が選択される。制御は次にステップ１８８に進み、処理は停止する。
【００５６】
ステップ１７８においてＳＡＮ接続が存在しないと判定された場合、制御はステップ１８０に進み、他の処理が実行される。どのような他の処理が実行されるかは、それぞれの実施形態ごとに変化してもよいことに注目すべきである。たとえば、ステップ１８０に到達することは、グラフ内の辺によって表されるような利用できる接続の異なる形式のすべてに対して徹底的な検索を行った後で、通信経路の設定に使用するように利用できる通信コネクションが存在しないことを意味する可能性がある。この場合には、たとえば、実施形態は、ループ、すなわち図１０の処理ステップ１４４を再試行することを選択することが可能である。他の実施形態は、あるいはエラー・メッセージを与えるか、あるいは各実施形態に応答して変化してもよい付加的な処理を行うことがある。
【００５７】
図１０の処理ステップ１４４に関連して説明したような詳細な処理は、グラフ内で表される２つのノードの間で利用できる通信コネクションの異なる形式の間の選択的な処理であることが、さらに指摘されるべきである。通信コネクションのこれらの形式は、グラフ内で表される任意の２つのノードの間で利用できる数と形式の両方で、それぞれの特定の実施形態ごとに変化してもよい。
【００５８】
ここまでに説明してきたことは、本明細書において説明したコンピュータ・システム１００および１０１のようなコンピュータ・システム内で相互に通信可能な、たとえば、ホスト・コンピュータ・システムおよび／またはＳＹＭのようなデータ装置に対応するグラフ内の２つの点の間の通信経路を決定するための１つの技術である。
【００５９】
利用可能な通信コネクションの特定の形式が選択される優先順序は、２つのノードすなわち点に応答して実施形態ごとに異なることがある。たとえば、実施形態よっては、ホストからデータ記憶装置へのＳＡＮ通信コネクションは、既存のＬＡＮ接続よりも常に優先することがある。データ記憶装置が Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置であるデータ記憶装置間の通信コネクションを有する実施形態においては、ＳＡＮあるいはデータ記憶接続が望ましい通信コネクションである可能性がある。しかし、これは、たとえば、利用できる通信コネクションおよび／または実施形態に含まれるデータ記憶装置の形式に応答して変わる可能性がある。
【００６０】
次に説明することは、たとえば、特定の通信経路で起きる可能性のあるシステム障害あるいはハードウェアおよび／またはソフトウェアの障害が生じたときに、代替の経路の使用を可能にするような、柔軟性のある分散データ記憶および伝送構成に関連して使用できるマルチパス・マルチホップ・システム・コールの変形である。
【００６１】
マルチパス・マルチホップ・システム・コールは、たとえば、図９のフローチャート１３０および図１０のフローチャート１４４と組み合わされた処理ステップの実行を含んでもよい。マルチパス・マルチホップ・リモート・システム・コールの１つの実施形態においては、命令の一般フォーマットは、マルチホップ命令コードではなくマルチパス・マルチホップ命令コードを使用する図５に関連して既に説明したものとすることが可能である。目標ノードを識別する図５で指定したターゲット接続識別子は、マルチパス・マルチホップ・システム・コールの命令フォーマットの一部として含むことができる。この技術を使用して、開始ノードすなわち送出ノードとターゲット接続識別子として表すことができる目標ノードの間で単一の経路を予め決定しておくことが可能である。言い換えれば、ターゲット接続識別子は、開始ノードから終了ノードへの、さらに中間ノードの、完全な経路使用を含むことが可能である。実施形態によっては、それぞれ１対のノードの間の選択された通信コネクションをさらに含むことが可能である。
【００６２】
単一の完全な経路仕様は、たとえば、ホスト・コンピュータ・システムあるいは第１のデータ記憶装置から、コールが最初に開始されるに先だって決定することが可能である。完全な経路仕様は発行される命令に含むことができる。この予選択は、開始ノードによって表される記憶装置、ホスト・コンピュータ・システムおよび同等物に含まれることができるような、プロセッサに常駐可能でプロセッサによって実行可能なソフトウェアおよび／またはハードウェアを使用して実行することができる。このソフトウェアは、開始ノードと目標ノードおよび任意の中間ノードの間の通信経路を決定する技術、ならびに、通信経路内のノードのすべての対の間で利用できる１つまたは複数の通信コネクションから選択する技術を実装することが可能である。この予選択は、システムで利用できる通信コネクション、ポート、および同等物を反映する静的情報を使用することが可能である。
【００６３】
通信経路は、動的に、たとえば、コールが実行される時に決定することも可能である。実施形態によっては、コールが実行される時のシステムの状態を反映する状態情報あるいは動的情報を使用することが可能である。この情報は、たとえば、現在利用できる通信コネクションを含んでもよい。この動的情報はシステム・オペレーションと共に変化する可能性があるので、この動的情報は静的情報とは異なることがあることに注目すべきである。それに対して、静的情報は、記憶することができ、たとえば、システム起動時にネットワーク・データベースあるいは更新されたシステム・テーブルから検索することが可能である。このダイナミックな通信経路の決定において、通信経路の開始ノードおよび終了ノードは、たとえば、図５の命令フォーマットのターゲット接続識別子の中に符号化することが可能である。１つの実施形態においては、中間ノードあるいは接続ノードおよび対応通信コネクションは、フローチャート１３０の方法ステップを実行するソフトウェアによって、動的に決定することが可能である。このような実施形態の１つにおいて、たとえば、次の中間ノードと対応通信コネクションを決定するように、ソフトウェアはそれぞれのデータ記憶装置に含むことができる。
【００６４】
この技術の変形において、たとえば、各通信経路を決定するためのフローチャート１３０の方法ステップを実行することによって、目標ノードと開始ノードの間の２つ以上の（”Ｎ”）通信経路を決定することができる。複数の通信経路を表す情報は、予め決定し、マルチパス・マルチホップ・システム・コール・ターゲット接続識別子に埋め込むことが可能である。１つの実施形態においては、完全な通信経路は、通信経路のそれぞれに対してターゲット接続識別子に含むことが可能である。あるいは、通信経路のそれぞれは、動的に決定することもできる。たとえば、実施形態は、開始ノード、終了ノード、ならびに、開始ノードと終了ノードの間で動的に決定されるべき通信経路の数についての整数量を符号化することが可能である。今説明したようにシステム・コールおよび命令フォーマットに含まれるような予め決められた値を有するのではなく、たとえば、システム・パラメータ値に応答して、”Ｎ”を動的に決定できることは、注目すべきである。
【００６５】
予め決められているか、あるいは動的に決定されてもよい、これらの”Ｎ”通信経路の中、”Ｎ”通信経路の中”Ｍ”は、一斉データ伝送のように選択することができ、ここで、”１＜＝Ｍ＜＝Ｎ”である。言い換えれば、”Ｎ”、Ｎ＞１、通信経路が指定される実施形態において、同じメッセージは複製することができ、”Ｍ”個の複数の通信経路のそれぞれに同時に送信することができる。”Ｍ”に対する値は、たとえば、命令フォーマットの中に符号化され、各コールの中で、予め選択できることに、注目すべきである。あるいは、”Ｍ”は、使用時、たとえば、”Ｎ”通信経路から選択する時に、動的に決定される値を有することも可能である。
【００６６】
１実施形態において、たとえば、開始ノードと目標ノードの間のデータ伝送でエラー・メッセージあるいは他のエラーが発生した場合、”Ｎ”通信経路は代替の通信経路の選択リストとして使用することも可能である。たとえば、予め決められているか、あるいは動的に決められるかのいずれにせよ３つの通信経路が指定されているとして、マルチパス・マルチホップ・リモート・システム・コールが求められることがある。このマルチパス・マルチホップ・システム・コールは、３つの通信経路の第１を選択し、３つの通信経路の第１を使用してデータを送信することによって、実行することができる。後に、開始ノードは、マルチパス・マルチホップ・リモート・システム・コールの実行が不成功であったとのエラー・メッセージを受信する恐れがある。３つの通信経路から第２の通信経路を選択するように、開始ノードにおけるソフトウェアを次に実行することができる。第２の通信経路は、データを再送信するように使用することができる。単一の経路を使用してエラー・メッセージが発生するのを待ち、後に代替通信経路を選択するのではなく、複数の経路に対して同時にデータを送信するように、”Ｎ”通信経路の”Ｍ”個を使用することができる。
【００６７】
”Ｎ”は、指定された通信経路のすべての最大である上限を有してもよいことに注目すべきである。たとえば、３つの通信経路を有するマルチパス・マルチホップ・リモート・システム・コールにおいて、第１の通信経路を選択し、そのデータ伝送が成功するかを観察し、失敗であれば第２の通信経路を試みる、等々ではなく、開始ノードにおいて３つの通信経路の２つに同じメッセージを送る決定をすることが可能である。送信されるべき重複メッセージの数は、たとえば、ネットワーク・トラフィックに応答して、各実施形態ごとに変化してもよい。”Ｍ”および”Ｎ”に対して使用される通信経路の数は、実施形態において調整可能なパラメータであってもよく、あるいは、それぞれのマルチパス・マルチホップ・システム・コールに含まれてもよい。
【００６８】
第１の通信経路が中間ノードにおいて失敗した場合、中途の地点あるいは中間ノード回復点として代替の通信経路も使用することができる。たとえば、同じ中間ノードを有する複数の通信経路があってもよい。第１の通信経路は”ＡＢＣＤ”によって表することができ、第２の通信経路は”ＡＢＤ”によって表すことができる、ここでストリング内の文字は、開始ノードＡからエンディング・ノードすなわち端末ノードＤまで、通信経路内のノードに対応する。第１のノードから第１の通信経路の次の後続ノードへ送信するときに、メッセージ障害あるいは他の形式のエラーが検出されれば、たとえば、開始ノードから完全な再送信を必要とするのではなく、中間ノードから同じメッセージの送信の継続に使用するように、その時点で第２の通信経路を選択することができる。第１の通信経路”ＡＢＤ”が選択されれば、ＢからＤへの送信でエラーが起きる恐れがある。この場合において、中間ノードＢにおけるソフトウェアおよび／またはハードウェアは、伝送エラーの発生時に、第２の通信経路を選択し、第２の通信経路にしたがってノードＣに次にノードＤにデータを動的にルート変更するようなことによって、代替の回復経路を探すことが可能である。
【００６９】
処理ステップ１４４に関連するような特定の通信コネクションあるいは媒体の選択を決定するように、特定のシステム内で異なる発見的方法を使用することができることに、注目すべきである。さらに、マルチパス・マルチホップ・システム・コールを使用して、メッセージあるいは通信を同時に送信することができる回数に関して、調整可能なパラメータの選択に他の発見的方法を使用することができる。
【００７０】
前述の説明において、通信経路は、たとえば、遠隔マルチパス・マルチホップ・システム・コールを実行する前に、予め決めることが可能である。１つの実施形態においては、本明細書に説明したように、１つまたは複数の完全な通信経路を遠隔マルチパス・マルチホップ・システム・コールに埋め込むことが可能である。予め決められた通信経路に関連して、他の実施形態は他の技術を利用してもよい。たとえば、予め決められた通信経路のリストを、他のシステムあるいはコンピュータ・システム内の他のプロセッサと関連するプロセッサ上で実行するソフトウェアによって事前に生成された表に、記憶することができる。
【００７１】
本明細書においても説明したように、通信経路も動的に決定することができる。そのような実施形態の１つにおいて、図９のフローチャート１３０の方法ステップは、たとえば、開始ノードおよび終了ノードを使用してコールが行われる時に、実行することができる。本明細書において説明する実施形態は、符号化されたマルチパス・マルチホップ・システム・コールの一部として開始ノードおよび終了ノードを有してもよい。他の実施形態は、通信経路の動的な決定のように、この情報の通信に他の技術を使用してもよい。通信経路の決定は、各特定の実施形態ごとに異なってもよい１つまたは複数のさまざまな発見的方法の任意の１つを使用することができる。
【００７２】
実施形態は、”Ｍ”および”Ｎ”に対する値のような、動的なおよび予め決められた通信経路と関連する値の使用に応答して、前述の技術の組み合わせを使用してもよいことに注目すべきである。たとえば、１つの実施形態は、命令の中に符号化することが可能な単一の通信経路を予め決定し、”Ｍ”および”Ｎ”の動的な値に応答して他の通信経路を必要に応答して動的に生成するような、本明細書に説明した技術の組み合わせを使用してもよい。他の実施形態は、通信経路と組み合わされた一部のあるいはすべてのノードを予め決定してもよいが、通信経路内の各ノード上の実行時間に動的に通信コネクションを選択してもよい。
【００７３】
一実施形態において、コール情報に関連するデータは、マルチホップ・システム・コールのような１つまたは複数の形式のシステム・コールに対して、他のノードへ転送するに先だって除去してもよい。あるいは、システム・コールの任意の１つまたは複数の形式を処理するように、実施形態はコール情報を何ら除去しないことも可能である。システム・コールをさらに転送することと関連してコール情報たとえば除去されたコール情報の部分およびその関連する機能を除去すべきかどうか、実施形態が固定パケット・サイズまたは大きい可変パケット・サイズを使用するかどうか、帰路情報がコール情報に含まれるかどうか、ならびに、たとえば情報を戻すことに関連して使用するようにこの情報が所望であるかどうか、の選択はそれぞれの実施形態に応答して変わってもよい。
【００７４】
前述の事項は、分散データ記憶および伝送構成におけるデータ伝送のように、１つまたは複数の代替の通信経路を指定するのに使用することができる柔軟で動的な技術である。
【００７５】
前述の技術は、データ記憶装置によって実行することができる、あるいは、さらに一般的には、通信経路を介して接続エンティティに通信をルーティングするためのデータ記憶エンティティによって実行することができる。前述の説明において、データ記憶装置は、たとえば、通信の形式を検査し決定し、また通信コネクションおよび接続エンティティを決定することによって、通信のルーターとして機能してもよい。通信は、システム・コールおよび／またはデータと組み合わせることが可能である。接続エンティティは、Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置、あるいはコンピュータ・システムのような、１つまたは複数の多種多様なデータ記憶エンティティのいずれであってもよい。通信コネクションは、たとえば、ＳＡＮ、ＬＡＮ、ＲＤＦ接続のようなデータ記憶接続、および同等物であってよい。接続エンティティおよび通信コネクションの形式は、本明細書の他のところで詳細に説明したことに注意すべきである。
【００７６】
出発点と終了点の間の各経路に対して、経路は通信コネクションの異なる形式の任意の１つまたは複数の使用を含んでもよい。たとえば、開始ノードＡ、終了ノードＤ、および中間ノードＢ、Ｃを有する経路ＡＢＣＤの指定において、２つのノードのそれぞれの間の通信コネクションの異なる形式の任意の１つを、それぞれのノードの間で利用できる通信コネクションに応答して選択することができる。１つの実施形態においては、データ記憶装置は、たとえば、ルーターによって提供することができる機能に類似の経路内の２つのノードのそれぞれの間の通信コネクションの選択を行う。
【００７７】
さまざまな実施形態に関連して本発明を開示したが、本発明による修正が当業者にとって容易であることは明白であろう。したがって、本発明の技術思想と範囲は次の特許請求の範囲で詳述される。
【図面の簡単な説明】
本発明による特徴と利点は、代表的な実施形態の添付図面と関連した下記の詳細な説明から、明らかである。
【図１】
本発明によるコンピュータ・システムの実施形態である。
【図２】
本発明によるコンピュータ・システムの他の実施形態である。
【図３】
図１および図２のコンピュータ・システムに含まれることができる２つのデータ記憶装置の間に接続を有する本発明による実施形態を示す。
【図４】
データ記憶オペレーションを行うように、本発明によるコンピュータ・システムにおいて実行される方法のフローチャートである。
【図５】
マルチホップ・システム・コールに含まれるデータが、本発明によるターゲット・データ記憶装置によってどのように翻訳することができるかの例である。
【図６】
マルチパス・マルチホップ・システム・コールが実行されることができるコンピュータ・システムの実施形態である。
【図７】
図６のコンピュータ・システムにおける２つのノード間の通信コネクションの表現の例である。
【図８】
マルチパス・マルチホップ・システム・コールが実行されることができるコンピュータ・システムの他の例である。
【図９】
開始ノードとターゲットの間の通信経路を決定するための、実施形態の方法ステップのフローチャートである。
【図１０】
図９の処理ステップとして含まれる通信コネクションを選択するための、実施形態の方法ステップのフローチャートである。
【図４】
2004503956.tif 000003
【図５】
2004503956.tif 000004
【図６】
2004503956.tif 000005
【図７】
2004503956.tif 000006
【図８】
2004503956.tif 000007
【図９】
2004503956.tif 000008
【図１０】
2004503956.tif 000009
【国際公開パンフレット】
2004503956.tif 000010
2004503956.tif 000011
2004503956.tif 000012
2004503956.tif 000013
2004503956.tif 000014
2004503956.tif 000015
2004503956.tif 000016
2004503956.tif 000017
2004503956.tif 000018
2004503956.tif 000019
2004503956.tif 000020
2004503956.tif 000021
2004503956.tif 000022
2004503956.tif 000023
2004503956.tif 000024
2004503956.tif 000025
2004503956.tif 000026
2004503956.tif 000027
2004503956.tif 000028
2004503956.tif 000029
2004503956.tif 000030
2004503956.tif 000031
2004503956.tif 000032
2004503956.tif 000033
2004503956.tif 000034
2004503956.tif 000035
2004503956.tif 000036
2004503956.tif 000037
2004503956.tif 000038
2004503956.tif 000039
2004503956.tif 000040
2004503956.tif 000041
2004503956.tif 000042
2004503956.tif 000043
2004503956.tif 000044
2004503956.tif 000045
2004503956.tif 000046
2004503956.tif 000047
2004503956.tif 000048
2004503956.tif 000049
2004503956.tif 000050
2004503956.tif 000051
2004503956.tif 000052
2004503956.tif 000053
2004503956.tif 000054
2004503956.tif 000055
2004503956.tif 000056
2004503956.tif 000057
2004503956.tif 000058
2004503956.tif 000059
2004503956.tif 000060
2004503956.tif 000061
2004503956.tif 000062
2004503956.tif 000063
2004503956.tif 000064
2004503956.tif 000065
2004503956.tif 000066
2004503956.tif 000067
2004503956.tif 000068
2004503956.tif 000069
2004503956.tif 000070
2004503956.tif 000071
2004503956.tif 000072
2004503956.tif 000073
2004503956.tif 000074
2004503956.tif 000075
2004503956.tif 000076
【国際公開パンフレット（コレクトバージョン）】
2004503956.tif 000077
【手続補正書】
【提出日】平成14年9月16日(2002.9.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ・オペレーション・リクエストを処理する第１のデータ記憶装置上で実行され、
データ・オペレーション・リクエストを受信し、
データ・オペレーション・リクエストを実行する方法において、さらに、
前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置、前記第１のデータ記憶装置に直接接続されたターゲット・データ記憶装置、および前記第１のデータ記憶装置に直接接続されていないターゲット・データ記憶装置のいつのいずれか１つによって実行されるものであるか否かを判定し、
前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置により実行されるものである場合前記データ・オペレーション・リクエストを実行し、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されている場合、前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に転送し、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されていない場合、複数の通信コネクションおよび複数のデータ記憶装置のうちから、前記第１のデータ記憶装置と前記ターゲット・データ記憶装置との間の通信経路上にある第２のデータ記憶装置および前記第１のデータ記憶装置と前記第２のデータ記憶装置との間の第１の通信コネクションをそれぞれ少なくとも１つ選択し、前記データ・オペレーション・リクエストを前記第２のデータ記憶装置に前記第１の通信コネクションを用いて転送することを特徴とする方法。
【請求項２】
前記第１の通信コネクションは、ローカル・エリア・ネットワーク、記憶領域ネットワークおよびデータ記憶接続のうちの１つである請求項１記載の方法。
【請求項３】
前記第１の通信コネクションは遠隔データ記憶機能接続であるデータ記憶接続であり、前記第１のデータ記憶装置および前記第２のデータ記憶装置は Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置である請求項１記載の方法。
【請求項４】
前記第１のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を予め決定することをさらに含む請求項１記載の方法。
【請求項５】
前記通信経路の一部を予め決定することは、
前記第１のデータ記憶装置に接続された複数のデータ記憶装置から第１の中間データ記憶装置を決定することをさらに含む請求項４記載の方法。
【請求項６】
前記通信経路の一部を予め決定することは、
前記第１のデータ記憶装置と前記第１の中間データ記憶装置の間の第１の対応通信コネクションを決定することであって、前記第１の対応通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つである前記第１のデータ記憶装置と前記第１の中間データ記憶装置の間に対応する第１の通信コネクションを決定することをさらに含む請求項５記載の方法。
【請求項７】
前記第１のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の他の部分を動的に決定することをさらに含む請求項６記載の方法。
【請求項８】
前記他の部分を動的に決定することは、
前記第１のデータ記憶装置に接続された複数のデータ記憶装置から第２の中間データ記憶装置を決定することをさらに含む請求項７記載の方法。
【請求項９】
前記の前記他の部分を動的に決定することは、
前記第１のデータ記憶装置と前記第２の中間データ記憶装置の間の第２の対応通信コネクションを決定することであって、前記第２の通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つである、前記第１のデータ記憶装置と前記第２の中間データ記憶装置の間の第２の対応通信コネクションを決定することをさらに含む請求項８記載の方法。
【請求項１０】
前記第１のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を動的に決定することをさらに含む請求項１記載の方法。
【請求項１１】
前記部分を動的に決定することは、
前記第１のデータ記憶装置に接続された複数のデータ記憶装置から中間データ記憶装置を決定することをさらに含む請求項１０記載の方法。
【請求項１２】
前記部分を動的に決定することは、
前記第１のデータ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定することであって、前記通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つである前記第１のデータ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定することをさらに含む請求項１１記載の方法。
【請求項１３】
前記マルチパス・マルチホップ・システム・コールに関連する命令フォーマットの中に前記通信経路についての情報を含むことをさらに含む請求項１記載の方法。
【請求項１４】
前記情報は、予め決められた前記通信経路の一部についてのデータを含む請求項１３記載の方法。
【請求項１５】
前記情報は、動的に決定された前記通信経路の一部についてのデータを含む請求項１３記載の方法。
【請求項１６】
前記通信経路は第１の通信経路であり、前記方法は、
前記第１のデータ記憶装置とターゲット・データ記憶装置の間の少なくとも１つの追加の通信経路を決定することをさらに含む請求項１記載の方法。
【請求項１７】
データ伝送障害が発生した場合に、前記少なくとも１つの追加の通信経路を使用して、代替通信経路を決定することをさらに含む請求項１６記載の方法。
【請求項１８】
前記データ・オペレーション・リクエストが複数の通信経路上の前記ターゲット・データ記憶装置に指示するように、前記第１の通信経路および前記少なくとも１つの追加の通信経路に前記データ・オペレーション・リクエストを送ることをさらに含む請求項１６記載の方法。
【請求項１９】
前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に向けるのに使用される追加の通信経路の数に対応する量を動的に決定することをさらに含む請求項１８記載の方法。
【請求項２０】
使用された追加の通信経路の数に対応する量は修正可能なパラメータである請求項１８記載の方法。
【請求項２１】
使用された追加の通信経路の数に対応する量はネットワーク・トラフィックに応答して決定される請求項１８記載の方法。
【請求項２２】
　ホストコンピュータシステムからターゲット・データ記憶装置へのデータ・オペレーション・リクエストを処理するコンピュータシステム上で実行され、
データ・オペレーション・リクエストを実行し、
データ・オペレーション・リクエストを送信する方法において、さらに、
前記ホスト・コンピュータ・システムから前記ターゲット・データ記憶装置への通信経路を決定し、
ローカル・エリア・ネットワークと記憶領域ネットワークの一方によって前記ホスト・コンピュータ・システムに接続された第１のデータ記憶装置にデータ・オペレーション・リクエストを送信し、
前記第１のデータ記憶装置により、前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置、前記第１のデータ記憶装置に直接接続された前記ターゲット・データ記憶装置、および前記第１のデータ記憶装置に直接接続されていない前記ターゲット・データ記憶装置のいつのいずれか１つによって実行されるものであるか否かを判定し、
前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置により実行されるものである場合、前記第１のデータ記憶装置により、前記データ・オペレーション・リクエストを実行し、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されている場合、前記第１のデータ記憶装置により、前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に転送し、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されていない場合、前記第１のデータ記憶装置により、複数の通信コネクションおよび複数のデータ記憶装置のうちから、前記第１のデータ記憶装置と前記ターゲット・データ記憶装置との間の通信経路上にある第２のデータ記憶装置および前記第１のデータ記憶装置と前記第２のデータ記憶装置との間の第１の通信コネクションをそれぞれ少なくとも１つ選択し、前記データ・オペレーション・リクエストを前記第２のデータ記憶装置に前記第１の通信コネクションを用いて転送することを特徴とする方法。
【請求項２３】
前記通信コネクションは記憶領域ネットワーク、ローカル・エリア・ネットワーク、および装置記憶接続のいずれか１つである請求項２２記載の方法。
【請求項２４】
前記通信経路の一部を動的に決定することと、
前記データ・オペレーション・リクエストに対応する命令フォーマットの中の前記部分を示すデータを含むことをさらに含む請求項２２記載の方法。
【請求項２５】
前記通信経路の一部を予め決定することと、
前記データ・オペレーション・リクエストに対応する命令フォーマットの中の前記部分を説明するデータを含むことをさらに含む請求項２２記載の方法。
【請求項２６】
前記通信経路は第１の通信経路であり、前記方法は、
前記ホスト・コンピュータ・システムから前記ターゲット・データ記憶装置への少なくとも１つの追加の通信経路を決定することをさらに含む請求項２２記載の方法。
【請求項２７】
前記第１の通信経路を使用して伝送上の障害が発生した場合に、前記少なくとも１つの追加の通信経路を代替通信経路として使用することをさらに含む請求項２６記載の方法。
【請求項２８】
データ・オペレーション・リクエストを開始するホストと、
少なくとも３つのデータ記憶装置であって、前記データ・オペレーション・リクエストは前記少なくとも３つの記憶装置の少なくとも１つに指示する少なくとも３つのデータ記憶装置と、
前記ホストと前記少なくとも３つのデータ記憶装置のそれぞれの間の通信コネクションを有し、
前記少なくとも３つのデータ記憶装置は、前記通信コネクションを経て前記データ・オペレーション・リクエストを受信するマシン実行可能コードを有するコンピュータ・システムにおいて、
前記少なくとも３つのデータ記憶装置の各々は、さらに、
前記各データ記憶装置により、前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置、前記第１のデータ記憶装置に直接接続された前記ターゲット・データ記憶装置、および前記第１のデータ記憶装置に直接接続されていない前記ターゲット・データ記憶装置のいつのいずれか１つによって実行されるものであるか否かを判定し、
前記データ・オペレーション・リクエストが、前記各データ記憶装置により実行されるものであるとの判定に基づいて、前記各データ記憶装置により、前記データ・オペレーション・リクエストを実行し、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記各データ記憶装置に直接接続されているとの判定に基づいて、前記各データ記憶装置により、前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に転送し、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記各データ記憶装置に直接接続されていないとの判定に基づいて、前記データ・オペレーション・リクエストに関連する前記データの部分を、前記ターゲット・データ記憶装置へ送信し、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記各データ記憶装置に直接接続されていないとの判定に基づいて、前記各データ記憶装置により、複数の通信コネクションおよび複数のデータ記憶装置のうちから、前記各データ記憶装置と前記ターゲット・データ記憶装置との間の通信経路上にあるデータ記憶装置および前記第１のデータ記憶装置と前記中継データ記憶装置との間の通信コネクションをそれぞれ少なくとも１つ選択し、前記データ・オペレーション・リクエストに関連する前記データの部分を前記中継記憶装置に前記通信コネクションを用いて送信することを特徴とするコンピュータ・システム。
【請求項２９】
前記少なくとも３つのデータ記憶装置のそれぞれは、
前記データ・オペレーション・リクエストがマルチパス・マルチホップ・システム・コールであれば、前記データ・オペレーション・リクエストに関連するデータの第１の部分を除去するためのマシン実行可能コードをさらに有する請求項２８記載のコンピュータ・システム。
【請求項３０】
第１のデータ記憶装置は第２のデータ記憶装置に接続されており、前記第２のデータ記憶装置は第３のデータ記憶装置に接続されており、前記第１のデータ記憶装置は前記ホストに接続されており、前記データ・オペレーション・リクエストは前記第１のデータ記憶装置に転送され、かつ前記データ・オペレーション・リクエストに応答するように前記第３のデータ記憶装置に指示するマルチパス・マルチホップ・システム・コールである請求項２８記載のコンピュータ・システム。
【請求項３１】
前記ホストは、前記第１、第２および第３のデータ記憶装置を含む第１の通信経路を決定し、前記ホストと前記第３のデータ記憶装置の間の記憶領域ネットワークおよびローカル・エリア・ネットワークの１つを使用して第２の通信経路を決定し、前記第１の通信経路および前記第２の通信経路を経て前記データ・オペレーション・リクエストを前記第３のデータ記憶装置に送るマシン実行可能コードをさらに有する請求項３０記載のコンピュータ・システム。
【請求項３２】
前記第１および第２の通信経路は代替通信経路である請求項３１記載のコンピュータ・システム。
【請求項３３】
前記第１および第２の通信経路は同時伝送経路である請求項３１記載のコンピュータ・システム。
【請求項３４】
データ・オペレーション・リクエストを受信するマシン実行可能コードと、
データ・オペレーション・リクエストを実行するマシン実行可能コードとを有するデータ記憶装置において、
前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置、前記第１のデータ記憶装置に直接接続されたターゲット・データ記憶装置、および前記第１のデータ記憶装置に直接接続されていないターゲット・データ記憶装置のいつのいずれか１つによって実行されるものであるか否かを判定するマシン実行可能コードと、
前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置により実行されるものである場合前記データ・オペレーション・リクエストを実行するマシン実行可能コードと、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されている場合、前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に転送するマシン実行可能コードと、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されていない場合、複数の通信コネクションおよび複数のデータ記憶装置のうちから、前記第１のデータ記憶装置と前記ターゲット・データ記憶装置との間の通信経路上にある第２のデータ記憶装置および前記第１のデータ記憶装置と前記第２のデータ記憶装置との間の第１の通信コネクションをそれぞれ少なくとも１つ選択し、前記データ・オペレーション・リクエストを前記第２のデータ記憶装置に前記第１の通信コネクションを用いて転送するマシン実行可能コードをさらに有することを特徴とするデータ記憶装置。
【請求項３５】
前記第１の通信コネクションはローカル・エリア・ネットワーク、記憶領域ネットワークおよびデータ記憶接続の１つである請求項３４記載のデータ記憶装置。
【請求項３６】
前記データ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を予め決定するマシン実行可能コードをさらに有する請求項３４記載のデータ記憶装置。
【請求項３７】
前記一部を予め決定する前記マシン実行可能コードは、
前記データ記憶装置に接続される複数のデータ記憶装置から第１の中間データ記憶装置を決定し、
前記データ記憶装置と前記第１の中間データ記憶装置の間の第１の対応通信コネクションを決定するマシン実行可能コードであって、前記第１の対応通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つであるマシン実行可能コードをさらに有する請求項３６記載のデータ記憶装置。
【請求項３８】
前記データ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を動的に決定するマシン実行可能コードをさらに有する請求項３４記載のデータ記憶装置。
【請求項３９】
前記一部を動的に決定するマシン実行可能コードは、
前記データ記憶装置に接続された複数のデータ記憶装置から中間データ記憶装置を決定し、
前記データ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定するマシン実行可能コードであって、前記通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つであるマシン実行可能コードをさらに有する請求項３８記載のデータ記憶装置。
【請求項４０】
前記マルチパス・マルチホップ・システム・コールに関連する命令フォーマットの中に前記通信経路についての情報を含むためのマシン実行可能コードをさらに有する請求項３４記載のデータ記憶装置。
【請求項４１】
前記情報は予め決められた前記通信経路の一部についてのデータを有する請求項４０記載のデータ記憶装置。
【請求項４２】
前記情報は動的に決定された前記通信経路の一部についてのデータを有する請求項４０記載のデータ記憶装置。
【請求項４３】
前記通信経路は第１の通信経路であり、前記データ記憶装置は、
前記データ記憶装置とターゲット・データ記憶装置の間の少なくとも１つの追加の通信経路を決定するマシン実行可能コードをさらに含む請求項３４記載のデータ記憶装置。
【請求項４４】
データ伝送に障害が発生した場合に、前記少なくとも１つの追加の通信経路を使用して、代替通信経路を決定するマシン実行可能コードをさらに含む請求項４３記載のデータ記憶装置。
【請求項４５】
前記データ・オペレーション・リクエストが複数の通信経路上の前記ターゲット・データ記憶装置に指示するように、前記第１の通信経路および前記少なくとも１つの追加の通信経路に前記データ・オペレーション・リクエストを送るマシン実行可能コードをさらに含む請求項４３記載のデータ記憶装置。
【請求項４６】
前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に向けるのに使用された追加の通信経路の数に対応する量を動的に決定するマシン実行可能コードをさらに有する請求項４５記載のデータ記憶装置。
【請求項４７】
使用された追加の通信経路の数に対応する量は修正可能なパラメータである請求項４５記載のデータ記憶装置。
【請求項４８】
使用された追加の通信経路の数に対応する量はネットワーク・トラフィックに応答して決定される請求項４５記載のデータ記憶装置。
【請求項４９】
ホストコンピュータシステムからターゲット・データ記憶装置へのデータ・オペレーション・リクエストを処理するのに使用され、
データ・オペレーション・リクエストを実行するマシン実行可能コードと、
データ・オペレーション・リクエストを送信するマシン実行可能コードとを有するコンピュータ読み取り可能な記憶媒体において、
前記ホスト・コンピュータ・システムから前記ターゲット・データ記憶装置への通信経路を決定するマシン実行可能コードと、
ローカル・エリア・ネットワークと記憶領域ネットワークの一方によって前記ホスト・コンピュータ・システムに接続された第１のデータ記憶装置にデータ・オペレーション・リクエストを送信するマシン実行可能コードと、
前記第１のデータ記憶装置により、前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置、前記第１のデータ記憶装置に直接接続された前記ターゲット・データ記憶装置、および前記第１のデータ記憶装置に直接接続されていない前記ターゲット・データ記憶装置のいつのいずれか１つによって実行されるものであるか否かを判定するマシン実行可能コードと、
前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置により実行されるものである場合、前記第１のデータ記憶装置により、前記データ・オペレーション・リクエストを実行するマシン実行可能コードと、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されている場合、前記第１のデータ記憶装置により、前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に転送するマシン実行可能コードと、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されていない場合、前記第１のデータ記憶装置により、複数の通信コネクションおよび複数のデータ記憶装置のうちから、前記第１のデータ記憶装置と前記ターゲット・データ記憶装置との間の通信経路上にある第２のデータ記憶装置および前記第１のデータ記憶装置と前記第２のデータ記憶装置との間の第１の通信コネクションをそれぞれ少なくとも１つ選択し、前記データ・オペレーション・リクエストを前記第２のデータ記憶装置に前記第１の通信コネクションを用いて転送するするマシン実行可能コードをさらに有することを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項５０】
前記通信コネクションは記憶領域ネットワーク、ローカル・エリア・ネットワーク、および装置記憶接続の１つである請求項４９記載のコンピュータ読み取り可能な記憶媒体。
【請求項５１】
前記通信経路の一部を動的に決定するマシン実行可能コードと、
前記データ・オペレーション・リクエストに対応する命令フォーマットの中の前記部分を説明するデータを含むマシン実行可能コードをさらに有する請求項４９記載のコンピュータ読み取り可能な記憶媒体。
【請求項５２】
前記通信経路の一部を予め決定するマシン実行可能コードと、
前記データ・オペレーション・リクエストに対応する命令フォーマットの中の前記部分を説明するデータを含むマシン実行可能コードをさらに有する請求項４９記載のコンピュータ読み取り可能な記憶媒体。
【請求項５３】
前記通信経路は第１の通信経路であり、前記コンピュータ読み取り可能な記憶媒体は、
前記ホスト・コンピュータ・システムから前記ターゲット・データ記憶装置への少なくとも１つの追加の通信経路を決定するマシン実行可能コードをさらに有する請求項４９記載のコンピュータ読み取り可能な記憶媒体。
【請求項５４】
前記第１の通信経路を使用して伝送上の障害が発生した場合に、前記少なくとも１つの追加の通信経路を代替通信経路として使用するマシン実行可能コードをさらに有する請求項５３記載のコンピュータ読み取り可能な記憶媒体。
【請求項５５】
　通信をルーティングするデータ記憶エンティティによって実行され、
データ・オペレーション・リクエストを受信し、
データ・オペレーション・リクエストを実行する方法において、さらに、
前記データ記憶エンティティが前記エンドポイントの場合、第１のタイプとし、前記エンド・ポイントがが前記データ記憶エンティティと直接接続された他のデータ記憶エンティティの場合第２のタイプとし、前記エンド・ポイントがが前記データ記憶エンティティと直接接続されていない他のデータ記憶エンティティの場合第３のタイプとし、前記通信と関連するデータ・オペレーションを実行するように設計されたエンド・ポイントに基づいて、前記通信と関連するタイプを決定することと、
前記データ記憶エンティティが前記エンドポイントである場合、前記通信と関連するデータ・オペレーションを実行し、
データ・オペレーションを実行するための前記エンド・ポイントが、前記データ記憶エンティティに直接接続されている場合、前記通信を前記別のデータ記憶装置に転送し、データ・オペレーションを実行するための前記エンド・ポイントが、前記データ記憶エンティティに直接接続されていない場合、複数の通信コネクションおよび複数のデータ記憶エンティティのうちから、データ記憶エンティティと前記エンド・ポイントとの間の通信経路上にある接続データ記憶エンティティおよび前記データ記憶エンティティと前記接続データ記憶エンティティとの間の通信コネクションをそれぞれ少なくとも１つ選択し、前記通信を前記接続データ記憶エンティティに前記通信コネクションを用いて転送することを特徴とする方法。
【請求項５６】
前記データ記憶エンティティはデータ記憶装置である請求項５５記載の方法。
【請求項５７】
前記データ記憶装置は Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置である請求項５６記載の方法。
【請求項５８】
前記通信の前記形式は、データ、システム・コール、リモート・システム・コールの他の形式の少なくとも１つである請求項５５記載の方法。
【請求項５９】
前記通信コネクションは、ローカル・エリア・ネットワーク、記憶領域ネットワーク、データ記憶接続の１つである請求項５５記載の方法。
【請求項６０】
前記接続データ記憶エンティティは、別のデータ記憶装置である請求項５９記載の方法。
【請求項６１】
前記データ記憶エンティティとエンド・ポイントの間の通信経路を決定することであって、前記エンド・ポイントは別のデータ記憶エンティティであり、前記接続データ記憶エンティティは前記通信経路に含まれる前記データ記憶エンティティとエンド・ポイントの間の通信経路を決定することをさらに含む請求項６０記載の方法。
【請求項６２】
前記通信経路に含まれる少なくとも１つの中間データ記憶装置を決定することをさらに含む請求項６１記載の方法。
【請求項６３】
前記通信経路の一部を動的に決定することをさらに含む請求項６２記載の方法。
【請求項６４】
前記通信経路の一部を予め決定することをさらに含む請求項６３記載の方法。
【請求項６５】
代替の通信コネクションを決定することと、
伝送上の障害が発生した場合に、前記代替の通信コネクションを使用して前記通信を送信することをさらに含む請求項６４記載の方法。
【請求項６６】
　データ記憶エンティティによって、通信をルーティングし、
データ・オペレーション・リクエストを受信するマシン実行可能コードと、
データ・オペレーション・リクエストを実行するするマシン実行可能コードとを有するコンピュータ・プログラム・プロダクトにおいて、
前記データ記憶エンティティが前記エンドポイントの場合、第１のタイプとし、前記エンド・ポイントがが前記データ記憶エンティティと直接接続された他のデータ記憶エンティティの場合第２のタイプとし、前記エンド・ポイントがが前記データ記憶エンティティと直接接続されていない他のデータ記憶エンティティの場合第３のタイプとし、前記通信と関連するデータ・オペレーションを実行するように設計されたエンド・ポイントに基づいて、前記通信と関連するタイプを決定するマシン実行可能コードと、
前記データ記憶エンティティが前記エンドポイントである場合、前記通信と関連するデータ・オペレーションを実行するマシン実行可能コードと、
データ・オペレーションを実行するための前記エンド・ポイントが、前記データ記憶エンティティに直接接続されている場合、前記通信を前記別のデータ記憶装置に転送し、データ・オペレーションを実行するための前記エンド・ポイントが、前記データ記憶エンティティに直接接続されていない場合、複数の通信コネクションおよび複数のデータ記憶エンティティのうちから、データ記憶エンティティと前記エンド・ポイントとの間の通信経路上にある接続データ記憶エンティティおよび前記データ記憶エンティティと前記接続データ記憶エンティティとの間の通信コネクションをそれぞれ少なくとも１つ選択し、前記通信を前記接続データ記憶エンティティに前記通信コネクションを用いて転送するマシン実行可能コードをさらに有することを特徴とするコンピュータ・プログラム・プロダクト。
【請求項６７】
前記データ記憶エンティティはデータ記憶装置である請求項６６記載のコンピュータ・プログラム・プロダクト。
【請求項６８】
前記データ記憶装置は Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置である請求項６７記載のコンピュータ・プログラム・プロダクト。
【請求項６９】
前記通信の前記形式は、データ、システム・コール、リモート・システム・コールの他の形式の少なくとも１つである請求項６６記載のコンピュータ・プログラム・プロダクト。
【請求項７０】
前記通信コネクションは、ローカル・エリア・ネットワーク、記憶領域ネットワーク、データ記憶接続の１つである請求項６６記載のコンピュータ・プログラム・プロダクト。
【請求項７１】
前記接続データ記憶エンティティは別のデータ記憶装置である請求項７０記載のコンピュータ・プログラム・プロダクト。
【請求項７２】
前記データ記憶エンティティとエンド・ポイントの間の通信経路を決定するマシン実行可能コードであって、前記エンド・ポイントは別のデータ記憶エンティティであり、前記接続データ記憶エンティティは前記通信経路に含まれる前記データ記憶エンティティとエンド・ポイントの間の通信経路を決定するマシン実行可能コードをさらに有する請求項７１記載のコンピュータ・プログラム・プロダクト。
【請求項７３】
前記通信経路に含まれる少なくとも１つの中間データ記憶装置を決定するマシン実行可能コードをさらに有する請求項７２記載のコンピュータ・プログラム・プロダクト。
【請求項７４】
前記通信経路の一部を動的に決定するマシン実行可能コードをさらに有する請求項７３記載のコンピュータ・プログラム・プロダクト。
【請求項７５】
前記通信経路の一部を予め決定するマシン実行可能コードをさらに有する請求項７４記載のコンピュータ・プログラム・プロダクト。
【請求項７６】
代替の通信コネクションを決定するマシン実行可能コードと、
伝送上の障害が発生した場合に、前記代替の通信コネクションを使用して前記通信を送信するマシン実行可能コードをさらに有する請求項７５記載のコンピュータ・プログラム・プロダクト。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
したがって、プロセッサおよび／またはデータ記憶装置に対して、３レベル以上の間接度のデータ記憶装置アクセスを有するデータ記憶構成において、データ・オペレーションを行うための技術を提供し、さらに、たとえば部品障害あるいは接続障害の場合に、通信経路の代替かつダイナミックな選択と指定を提供することは有益な場合がある。
ＥＰ　０　７５７　３１８には、複数のサブプロセッサシステムを含み、それぞれが実質的に独立して構成され、中央演算処理装置（ＣＰＵ）と、少なくとも１つのＩ／Ｏ装置とをそれぞれ有し、サブプロセッサシステムどうしを相互接続するルーティング装置により相互接続されているマルチプロセッサシステムが開示されている。いずれか１つのサブプロセッサシステムにおけるＣＰＵは、システムのどのＩ／Ｏ装置、またはシステムのどのＣＰＵとともにであっても、ルーティング要素を介して通信を行うことができる。
ＥＰ　０　９３６　５４７には、冗長構成要素を用いてシステムにおける危険性を有するデータを識別する方法および装置が開示されている。この方法では、システムを複数のノードにより表すステップと、複数の構成要素と複数の通信経路を表すステップと、複数構成要素のうちから通信経路を表すステップとを有している。それぞれのノードは、そのノードへ導かれる経路の数を示す経路カウンタを有している。各ノードにおける経路カウンタは、そのノードへの経路誘導が失敗する毎に１つずつ減らされる。各ノードにおける経路カウンタは、経路カウンタがゼロであるノードからの経路誘導がある毎に１つずつ減らされる。パスカウンタは、失敗したノードからの経路誘導がある毎に１つずつ減らされる。
ＥＰ　０　３９７　３７０には、１）第１の経路探索処理のための情報をメモリから読み出して経路の選択を行う処理がされている間に、第２の経路探索処理のためにメモリの読み出しを行う、２）２つのメモリを維持し、いずれかのメモリが更新される前に２つの経路探索処理を行うために両方のメモリからの読み出しを行う、という２つの技術の両方またはいずれかを用いて、２つまたはそれ以上の経路探索処理が同時に行われるネットワーク制御装置が開示されている。経路切り離し確認ユニットは、いずれかの第１の入口から第１の出口へのネットワーク経路が、第２のネットワーク入り口から第２の出口へのネットワーク経路と競合しているかどうかを迅速に判定する。この競合が発生していない場合のみ複数の経路探索が行われる。
【手続補正書】
【提出日】平成14年11月12日(2002.11.12)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ・オペレーション・リクエストを処理する第１のデータ記憶装置上で実行され、
データ・オペレーション・リクエストを受信し、
データ・オペレーション・リクエストを実行する方法において、さらに、
前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置、前記第１のデータ記憶装置に直接接続されたターゲット・データ記憶装置、および前記第１のデータ記憶装置に直接接続されていないターゲット・データ記憶装置のいつのいずれか１つによって実行されるものであるか否かを判定し、
前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置により実行されるものである場合前記データ・オペレーション・リクエストを実行し、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されている場合、前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に転送し、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されていない場合、複数の通信コネクションおよび複数のデータ記憶装置のうちから、前記第１のデータ記憶装置と前記ターゲット・データ記憶装置との間の通信経路上にある第２のデータ記憶装置および前記第１のデータ記憶装置と前記第２のデータ記憶装置との間の第１の通信コネクションをそれぞれ少なくとも１つ選択し、前記データ・オペレーション・リクエストを前記第２のデータ記憶装置に前記第１の通信コネクションを用いて転送することを特徴とする方法。
【請求項２】
前記第１の通信コネクションは、ローカル・エリア・ネットワーク、記憶領域ネットワークおよびデータ記憶接続のうちの１つである請求項１記載の方法。
【請求項３】
前記第１の通信コネクションは遠隔データ記憶機能接続であるデータ記憶接続であり、前記第１のデータ記憶装置および前記第２のデータ記憶装置は Ｓｙｍｍｅｔｒｉｘ（商標名）データ記憶装置である請求項１記載の方法。
【請求項４】
前記第１のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を予め決定することをさらに含む請求項１記載の方法。
【請求項５】
前記通信経路の一部を予め決定することは、
前記第１のデータ記憶装置に接続された複数のデータ記憶装置から第１の中間データ記憶装置を決定することをさらに含む請求項４記載の方法。
【請求項６】
前記通信経路の一部を予め決定することは、
前記第１のデータ記憶装置と前記第１の中間データ記憶装置の間の第１の対応通信コネクションを決定することであって、前記第１の対応通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つである前記第１のデータ記憶装置と前記第１の中間データ記憶装置の間に対応する第１の通信コネクションを決定することをさらに含む請求項５記載の方法。
【請求項７】
前記第１のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の他の部分を動的に決定することをさらに含む請求項６記載の方法。
【請求項８】
前記他の部分を動的に決定することは、
前記第１のデータ記憶装置に接続された複数のデータ記憶装置から第２の中間データ記憶装置を決定することをさらに含む請求項７記載の方法。
【請求項９】
前記の前記他の部分を動的に決定することは、
前記第１のデータ記憶装置と前記第２の中間データ記憶装置の間の第２の対応通信コネクションを決定することであって、前記第２の通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つである、前記第１のデータ記憶装置と前記第２の中間データ記憶装置の間の第２の対応通信コネクションを決定することをさらに含む請求項８記載の方法。
【請求項１０】
前記第１のデータ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を動的に決定することをさらに含む請求項１記載の方法。
【請求項１１】
前記部分を動的に決定することは、
前記第１のデータ記憶装置に接続された複数のデータ記憶装置から中間データ記憶装置を決定することをさらに含む請求項１０記載の方法。
【請求項１２】
前記部分を動的に決定することは、
前記第１のデータ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定することであって、前記通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つである前記第１のデータ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定することをさらに含む請求項１１記載の方法。
【請求項１３】
前記マルチパス・マルチホップ・システム・コールに関連する命令フォーマットの中に前記通信経路についての情報を含むことをさらに含む請求項１記載の方法。
【請求項１４】
前記情報は、予め決められた前記通信経路の一部についてのデータを含む請求項１３記載の方法。
【請求項１５】
前記情報は、動的に決定された前記通信経路の一部についてのデータを含む請求項１３記載の方法。
【請求項１６】
前記通信経路は第１の通信経路であり、前記方法は、
前記第１のデータ記憶装置とターゲット・データ記憶装置の間の少なくとも１つの追加の通信経路を決定することをさらに含む請求項１記載の方法。
【請求項１７】
データ伝送障害が発生した場合に、前記少なくとも１つの追加の通信経路を使用して、代替通信経路を決定することをさらに含む請求項１６記載の方法。
【請求項１８】
前記データ・オペレーション・リクエストが複数の通信経路上の前記ターゲット・データ記憶装置に指示するように、前記第１の通信経路および前記少なくとも１つの追加の通信経路に前記データ・オペレーション・リクエストを送ることをさらに含む請求項１６記載の方法。
【請求項１９】
前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に向けるのに使用される追加の通信経路の数に対応する量を動的に決定することをさらに含む請求項１８記載の方法。
【請求項２０】
使用された追加の通信経路の数に対応する量は修正可能なパラメータである請求項１８記載の方法。
【請求項２１】
使用された追加の通信経路の数に対応する量はネットワーク・トラフィックに応答して決定される請求項１８記載の方法。
【請求項２２】
データ・オペレーション・リクエストを受信するマシン実行可能コードと、
データ・オペレーション・リクエストを実行するマシン実行可能コードとを有するデータ記憶装置において、
前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置、前記第１のデータ記憶装置に直接接続されたターゲット・データ記憶装置、および前記第１のデータ記憶装置に直接接続されていないターゲット・データ記憶装置のいつのいずれか１つによって実行されるものであるか否かを判定するマシン実行可能コードと、
前記データ・オペレーション・リクエストが、前記第１のデータ記憶装置により実行されるものである場合前記データ・オペレーション・リクエストを実行するマシン実行可能コードと、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されている場合、前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に転送するマシン実行可能コードと、
前記データ・オペレーション・リクエストを実行すべきターゲット・データ記憶装置が前記第１のデータ記憶装置に直接接続されていない場合、複数の通信コネクションおよび複数のデータ記憶装置のうちから、前記第１のデータ記憶装置と前記ターゲット・データ記憶装置との間の通信経路上にある第２のデータ記憶装置および前記第１のデータ記憶装置と前記第２のデータ記憶装置との間の第１の通信コネクションをそれぞれ少なくとも１つ選択し、前記データ・オペレーション・リクエストを前記第２のデータ記憶装置に前記第１の通信コネクションを用いて転送するマシン実行可能コードをさらに有することを特徴とするデータ記憶装置。
【請求項２３】
前記第１の通信コネクションはローカル・エリア・ネットワーク、記憶領域ネットワークおよびデータ記憶接続の１つである請求項２２記載のデータ記憶装置。
【請求項２４】
前記データ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を予め決定するマシン実行可能コードをさらに有する請求項２２記載のデータ記憶装置。
【請求項２５】
前記一部を予め決定する前記マシン実行可能コードは、
前記データ記憶装置に接続される複数のデータ記憶装置から第１の中間データ記憶装置を決定し、
前記データ記憶装置と前記第１の中間データ記憶装置の間の第１の対応通信コネクションを決定するマシン実行可能コードであって、前記第１の対応通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つであるマシン実行可能コードをさらに有する請求項２４記載のデータ記憶装置。
【請求項２６】
前記データ記憶装置から前記ターゲット・データ記憶装置への前記通信経路の一部を動的に決定するマシン実行可能コードをさらに有する請求項２２記載のデータ記憶装置。
【請求項２７】
前記一部を動的に決定するマシン実行可能コードは、
前記データ記憶装置に接続された複数のデータ記憶装置から中間データ記憶装置を決定し、
前記データ記憶装置と前記中間データ記憶装置の間の対応通信コネクションを決定するマシン実行可能コードであって、前記通信コネクションはローカル・エリア・ネットワーク、装置記憶接続および記憶領域ネットワークの１つであるマシン実行可能コードをさらに有する請求項２６記載のデータ記憶装置。
【請求項２８】
前記マルチパス・マルチホップ・システム・コールに関連する命令フォーマットの中に前記通信経路についての情報を含むためのマシン実行可能コードをさらに有する請求項２２記載のデータ記憶装置。
【請求項２９】
前記情報は予め決められた前記通信経路の一部についてのデータを有する請求項２８記載のデータ記憶装置。
【請求項３０】
前記情報は動的に決定された前記通信経路の一部についてのデータを有する請求項２８記載のデータ記憶装置。
【請求項３１】
前記通信経路は第１の通信経路であり、前記データ記憶装置は、
前記データ記憶装置とターゲット・データ記憶装置の間の少なくとも１つの追加の通信経路を決定するマシン実行可能コードをさらに含む請求項２２記載のデータ記憶装置。
【請求項３２】
データ伝送に障害が発生した場合に、前記少なくとも１つの追加の通信経路を使用して、代替通信経路を決定するマシン実行可能コードをさらに含む請求項３１記載のデータ記憶装置。
【請求項３３】
前記データ・オペレーション・リクエストが複数の通信経路上の前記ターゲット・データ記憶装置に指示するように、前記第１の通信経路および前記少なくとも１つの追加の通信経路に前記データ・オペレーション・リクエストを送るマシン実行可能コードをさらに含む請求項３１記載のデータ記憶装置。
【請求項３４】
前記データ・オペレーション・リクエストを前記ターゲット・データ記憶装置に向けるのに使用された追加の通信経路の数に対応する量を動的に決定するマシン実行可能コードをさらに有する請求項３３記載のデータ記憶装置。
【請求項３５】
使用された追加の通信経路の数に対応する量は修正可能なパラメータである請求項３３記載のデータ記憶装置。
【請求項３６】
使用された追加の通信経路の数に対応する量はネットワーク・トラフィックに応答して決定される請求項３３記載のデータ記憶装置。
【国際調査報告】
2004503956.tif 000078
2004503956.tif 000079
2004503956.tif 000080