(57)【要約】【課題】ストレージアレイ・コントローラのための組み込みスケールアウト・アグリゲータ【解決手段】動的ストレージ階層化のための方法およびシステムは、一以上のリモート・ストレージアレイに関連付けされた一以上のリモート仮想ドライブを発見することと、ローカル・ストレージアレイに関連付けされた一以上のローカル仮想ドライブを通知することと、一以上のリモート・ストレージアレイに関連付けされた一以上のリモート仮想ドライブに宛てられた一以上のＩＯ要求をクライアントから受信することと、ローカルキャッシュを割り当てるために、一以上の仮想ドライブに関連付けされた一以上のリモート・ストレージアレイに一以上のコマンド記述子ブロック（ＣＤＢ）要求を伝送することと、リモート・ダイレクト・メモリ・アクセス（ＲＤＭＡ）を通じて一以上のＩＯ要求を一以上のリモート・ストレージアレイに伝送することと、を含むことができる。【選択図】図４
2010097614.tif 000002
【特許請求の範囲】
【請求項１】
リモート・ストレージアレイ・リソースを集約させるための方法であって、
一つまたは二つ以上のリモート・ストレージアレイに関連付けされた一つまたは二つ以上のリモート仮想ドライブを発見することと、
ローカル・ストレージアレイに関連付けされた一つまたは二つ以上のローカル仮想ドライブを通知することと、
一つまたは二つ以上のリモート・ストレージアレイに関連付けされた一つまたは二つ以上のリモート仮想ドライブに宛てられた一つまたは二つ以上のＩＯ要求を、クライアントから受信することと、
ローカルキャッシュを割り当てるために、前記一つまたは二つ以上の仮想ドライブに関連付けされた一つまたは二つ以上のリモート・ストレージアレイに、一つまたは二つ以上のコマンド記述子ブロック（ＣＤＢ）要求を伝送することと、
を備える方法。
【請求項２】
請求項１に記載の方法であって、さらに、
リモート・ダイレクト・メモリ・アクセス（ＲＤＭＡ）を通じて、前記一つまたは二つ以上のＩＯ要求を前記一つまたは二つ以上のリモート・ストレージアレイに伝送することを備える方法。
【請求項３】
請求項１に記載の方法であって、さらに、
一つのアクティブストレージ仮想化マネージャモジュールと、一つまたは二つ以上のパッシブストレージ仮想化マネージャモジュールと、を指定することを備える方法。
【請求項４】
請求項１に記載の方法であって、さらに、
ＳＭＩ−ＳクライアントへのエクスポートのためにＲＡＩＤデバイスデータを集約させることを備える方法。
【請求項５】
請求項１に記載の方法であって、さらに、
一つまたは二つ以上のブロック仮想化レイヤ（ＢＶＬ）エレメントを、データプロテクション・レイヤ（ＤＰＬ）に提供することを備える方法。
【請求項６】
請求項５に記載の方法であって、さらに、
前記一つまたは二つ以上のＢＶＬエレメントを、一つまたは二つ以上のＤＰＬエレメントに変換することを備える方法。
【請求項７】
請求項６に記載の方法であって、さらに、
前記一つまたは二つ以上のＤＰＬエレメントを、一つまたは二つ以上のＳＭＩ−Ｓクライアントに伝送することを備える方法。
【請求項８】
リモート・ストレージアレイ・リソースを集約させるためのシステムであって、
一つまたは二つ以上のリモート・ストレージアレイに関連付けされた一つまたは二つ以上のリモート仮想ドライブを発見するための手段と、
ローカル・ストレージアレイに関連付けされた一つまたは二つ以上のローカル仮想ドライブを通知するための手段と、
一つまたは二つ以上のリモート・ストレージアレイに関連付けされた一つまたは二つ以上のリモート仮想ドライブに宛てられた一つまたは二つ以上のＩＯ要求を、クライアントから受信するための手段と、
ローカルキャッシュを割り当てるために、前記一つまたは二つ以上の仮想ドライブに関連付けされた一つまたは二つ以上のリモート・ストレージアレイに、一つまたは二つ以上のコマンド記述子ブロック（ＣＤＢ）要求を伝送するための手段と、
を備えるシステム。
【請求項９】
請求項８に記載のシステムであって、さらに、
リモート・ダイレクト・メモリ・アクセス（ＲＤＭＡ）を通じて、前記一つまたは二つ以上のＩＯ要求を前記一つまたは二つ以上のリモート・ストレージアレイに伝送するための手段を備えるシステム。
【請求項１０】
請求項８に記載のシステムであって、さらに、
一つのアクティブストレージ仮想化マネージャモジュールと、一つまたは二つ以上のパッシブストレージ仮想化マネージャモジュールと、を指定するための手段を備えるシステム。
【請求項１１】
請求項８に記載のシステムであって、さらに、
ＳＭＩ−ＳクライアントへのエクスポートのためにＲＡＩＤデバイスデータを集約させるための手段を備えるシステム。
【請求項１２】
請求項８に記載のシステムであって、さらに、
一つまたは二つ以上のブロック仮想化レイヤ（ＢＶＬ）エレメントを、データプロテクション・レイヤ（ＤＰＬ）に提供するための手段を備えるシステム。
【請求項１３】
請求項１２に記載のシステムであって、さらに、
前記一つまたは二つ以上のＢＶＬエレメントを一つまたは二つ以上のＤＰＬエレメントに変換するための手段を備えるシステム。
【請求項１４】
請求項１３に記載のシステムであって、さらに、
前記一つまたは二つ以上のＤＰＬエレメントを、一つまたは二つ以上のＳＭＩ−Ｓクライアントに伝送するための手段を備えるシステム。
【請求項１５】
プロセッサ上で実行されるときに前記プロセッサにプロセスを実行させるコンピュータ可読命令を備えるコンピュータ可読媒体であって、前記プロセスは、
一つまたは二つ以上のリモート・ストレージアレイに関連付けされた一つまたは二つ以上のリモート仮想ドライブを発見することと、
ローカル・ストレージアレイに関連付けされた一つまたは二つ以上のローカル仮想ドライブを通知することと、
一つまたは二つ以上のリモート・ストレージアレイに関連付けされた一つまたは二つ以上のリモート仮想ドライブに宛てられた一つまたは二つ以上のＩＯ要求を、クライアントから受信することと、
ローカルキャッシュを割り当てるために、前記一つまたは二つ以上の仮想ドライブに関連付けされた一つまたは二つ以上のリモート・ストレージアレイに一つまたは二つ以上のコマンド記述子ブロック（ＣＤＢ）要求を伝送することと、
を含む、コンピュータ可読媒体。
【請求項１６】
請求項１５に記載のコンピュータ可読媒体であって、さらに、
リモート・ダイレクト・メモリ・アクセス（ＲＤＭＡ）を通じて、前記一つまたは二つ以上のＩＯ要求を前記一つまたは二つ以上のリモート・ストレージアレイに伝送することを備えるコンピュータ可読媒体。
【請求項１７】
請求項１５に記載のコンピュータ可読媒体であって、さらに、
一つのアクティブストレージ仮想化マネージャモジュールと、一つまたは二つ以上のパッシブストレージ仮想化マネージャモジュールと、を指定するための手段を備えるコンピュータ可読媒体。
【請求項１８】
請求項１５に記載のコンピュータ可読媒体であって、さらに、
ＳＭＩ−ＳクライアントへのエクスポートのためにＲＡＩＤデバイスデータを集約させるための手段を備えるコンピュータ可読媒体。
【請求項１９】
請求項１５に記載のコンピュータ可読媒体であって、さらに、
一つまたは二つ以上のブロック仮想化レイヤ（ＢＶＬ）エレメントを、データプロテクション・レイヤ（ＤＰＬ）に提供するための手段を備えるコンピュータ可読媒体。
【請求項２０】
請求項１９に記載のコンピュータ可読媒体であって、さらに、
前記一つまたは二つ以上のＢＶＬエレメントを、一つまたは二つ以上のＤＰＬエレメントに変換するための手段を備えるコンピュータ可読媒体。
【請求項２１】
請求項２０に記載のコンピュータ可読媒体であって、さらに、
前記一つまたは二つ以上のＤＰＬエレメントを、一つまたは二つ以上のＳＭＩ−Ｓクライアントに伝送するための手段を備えるコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
ストレージデバイスのアグリゲーションを取り巻く今日の技術は、一般に、ストレージ仮想化マネージャライク（Storage Visualization Manager-like、ＳＶＭ）アプライアンスを使用するブロックレベルの仮想化技術に基づくものである。目下のところ、複数のアレイに跨るクラスタ化は、クラスタ化環境内の複数のアレイからの集約されたリソースを提示するために、特化された専用のハードウェアおよび／またはプロプライエタリ・ソフトウェア・ソリューションをＩＯパス上において必要とする。
【０００２】
このようなソリューションは、Ｉ／Ｏパス共通のプロトコルを有するストレージアレイ間でのみ機能しえる。さらに、今日の技術は、仮想化環境内におけるＩ／Ｏパス管理を可能するために、クライアントエージェントおよび／またはデータパスモジュール（Data Path Modules、ＤＰＭ）のいずれかを必要とするであろう。このように、多様なプロトコルを有する集約されたリソースは、エンドユーザによる複雑なセットアップ作業および管理作業を必要とするであろう。
【発明の概要】
【０００３】
この発明の開示は、クラスタ構成された複数のストレージシステムに分散する多様なストレージリソースを、ストレージアレイ・コントローラ内にある組み込みスケールアウト・アグリゲータ・メカニズムを使用して一つまたは二つ以上のデバイスとして集約させてエンドユーザに提示させることができるシステムおよび方法について説明している。
【０００４】
本開示は、クラスタ化された複数のストレージアレイに跨るストレージ管理標準化仕様（Storage Management Initiative-Specification、ＳＭＩ−Ｓ）ベースのディスカバリを使用してデータプロテクション・レイヤ（Data Protection Layer、ＤＰＬ）からデバイス・アグリゲーションを行うためのシステムについて説明している。共通のタスクをユーザに提示するために、抽象化レイヤをともなうＳＭＩ−Ｓベースのユーザインターフェースを提供することができる。
【０００５】
当業者ならば、添付の図面を参照することによって、本開示の数々の利点をよりよく理解できるであろう。
【図面の簡単な説明】
【０００６】
【図１】ストレージネットワークを構成するためのシステムの上位レベルのブロック図である。
【図２】プロセスの上位レベルのロジックのフローチャートである。
【図３】プロセスの上位レベルのロジックのフローチャートである。
【図４】プロセスの上位レベルのロジックのフローチャートである。
【図５】プロセスの上位レベルのロジックのフローチャートである。
【図６】プロセスの上位レベルのロジックのフローチャートである。
【図７】プロセスの上位レベルのロジックのフローチャートである。
【図８】プロセスの上位レベルのロジックのフローチャートである。
【発明を実施するための形態】
【０００７】
以下の詳細な説明では、その一部を構成する添付の図面が参照されてよい。図中、類似の符号は、文脈上その他に記載がない限り、一般に類似のコンポーネントを示すものとする。詳細な説明、図面、およびクレームに記載されている実例的実施形態は、限定を意図しておらず、本明細書に提示される内容の趣旨または範囲から逸脱することなくその他の実施形態を用いたりその他の変更を加えたりすることが可能である。
【０００８】
図１を参照すると、スケール・アグリゲーションのためのシステム１００の説明図が示されている。システム１００は、ストレージ管理標準化仕様（ＳＭＩ−Ｓ）プロトコルを用いる少なくとも１つのクライアント１０１を含むことができる。このようなプロトコルは、ストレージ・ネットワーキング・インダストリ・アソシエーション（Storage Networking Industry Association、ＳＮＩＡ）によって開発および保守されている。ＳＭＩ−Ｓは、分散マネージメント・タスクフォース（Distributed Management Task Force、ＤＭＴＦ）によって定義される標準である共通情報モデル（Common Information Model、ＣＩＭ）およびウェブベースエンタープライズマネージメント（Web-Based Enterprise Management、ＷＢＥＭ）に基づくものであり、ＴＣＰ／ＩＰを通じた管理である。
【０００９】
システム１００は、二つまたは三つ以上のＲＡＩＤストレージデバイス１０２（例えばＲＡＩＤストレージデバイス１０２ＡおよびＲＡＩＤストレージデバイス１０２Ｂ）を含むことができる。ＲＡＩＤストレージデバイス１０２（例えば異種ストレージデバイス・アレイの第１のストレージデバイス）は、やはりＲＡＩＤコントローラ１０４を含む別のＲＡＩＤストレージデバイス１０２（例えば異種ストレージデバイス・アレイの第２のストレージデバイス）と協力してアグリゲーション機能を提供するように構成されるＲＡＩＤコントローラ１０４（例えばＲＡＩＤコントローラ１０４ＡおよびＲＡＩＤコントローラ１０４Ｂ）を含むことができる。
【００１０】
ＲＡＩＤコントローラ１０４によって用いられる組み込みスケールアウト・アグリゲータ・アーキテクチャは、データプロテクション・レイヤ（ＤＰＬ）ストレージアレイ・コントローラ１０７の最上部に載せることができる。ＤＰＬ１０７は、ＲＡＩＤ技術を使用して格納データの損失を防ぐ責任を担うストレージアレイ・コントローラ・ファームウェアはもちろん、イニシエータドライバ、ターゲットドライバ、および管理インターフェースを含むことができる。
【００１１】
ＲＡＩＤコントローラ１０４によって用いられる組み込みスケールアウト・アグリゲータ・アーキテクチャは、さらに、コア機能を提供するとともにストレージ仮想化マネージャ（Storage Virtualization Manager、ＳＶＭ）１０４−１−１に関連付けされたユーザインターフェースをサポートするブロック仮想化レイヤ（Block Virtualization Layer、ＢＶＬ）１０４Ａ−１を含むことができる。ＢＶＬモジュール１０４Ａ−１は、仮想ボリュームおよび複製オブジェクトに対するＩＯパスアクセスを管理する責任を担うことができる。
【００１２】
図２〜図３を参照すると、スケールアウト・アーキテクチャを構成するコアブロック間の上位レベルのやりとりが示されている。コアブロックは、ＲＡＩＤコントローラ１０４ファームウェア内に実装可能な一つまたは二つ以上のモジュールを含むことができる。ＲＡＩＤコントローラ１０４Ａは、一つまたは二つ以上の入出力ドライバ（ＩＯＤ）１０４−６−１，１０４−８−１を含むことができる。ＩＯＤは、イニシエータ（例えばＩＯＤ（イニシエータ））モードの動作および／またはターゲット（例えばＩＯＤ（ターゲット））モードの動作を提供してよく、マルチプロトコル対応（ＦＣ、ＳＡＳ、ｉＳＣＳＩ等）であることが可能である。
【００１３】
ＲＡＩＤコントローラ１０４Ａは、一つまたは二つ以上の内部ＲＡＩＤエンジン１０４−７−１を含むことができる。ＲＡＩＤエンジンは、一つまたは二つ以上のＲＡＩＤドライブ１０３を含む一つまたは二つ以上のＲＡＩＤボリューム（即ち仮想ドライブ）を公開することができる。ＲＡＩＤボリュームは、ＩＯＤを通じて公開可能である。
【００１４】
ＲＡＩＤコントローラ１０４Ａは、一つまたは二つ以上のストレージ仮想化マネージャ（ＳＭＶ）モジュール１０４−１−１を含むことができる。ＳＶＭ１０４−１−１は、仮想化定義（例えばプール、ボリューム等）を仮想化エージェント（ＶＡ）モジュール１０４−２−１に転送することができる。ＶＡモジュール１０４−２−１は、ＲＡＩＤコントローラ１０４Ａに関連付けされたＲＡＩＤドライブ１０３Ａはもちろんその他のリモート・ストレージデバイス（例えばＲＡＩＤコントローラ１０４Ｂに関連付けされたＲＡＩＤドライブ１０３Ｂ）も含む仮想ストレージプールに対応するマッピングメタデータを読み出しおよび／または更新することができる。ＶＡモジュール１０４−２−１は、さらに、ファストパス（ＦＰ）モジュール１０４−３−１にマップを提供することができる。
【００１５】
ＦＰモジュール１０４−３−１は、様々なバックエンド・デバイス（例えばＲＡＩＤドライブ１０３）に向けられたＩＯ要求に直接的にサービスするための直接マッピングを維持する高速アクセス・マッピング・キャッシュを維持することができる。これは、ＩＯ要求のサービスにＶＡ１０４−０２−１が関与する必要性を低減する。
【００１６】
ＲＡＩＤコントローラ１０４Ａは、組み込みＳＭＩ−Ｓエージェント１０４−４−１を通じてＳＭＩ−Ｓを介してスケールアウト・エンティティ（例えばＲＡＩＤストレージデバイス１０２Ｂ）を管理することができる。組み込みＳＭＩ−Ｓエージェント１０４−４−１は、論理的属性および物理的属性を含む全てのコンポーネント情報を集めるために、（例えばパスＢを通じて）ＳＶＭ１０４−１−１および（パスＡを通じて）ＲＡＩＤエンジン１０４−７−１とやり取りを行うことができる。
【００１７】
ＲＡＩＤコントローラ１０４Ａは、様々なスケールアウト・アーキテクチャブロックを使用してローカルデバイスおよび／またはリモートデバイスのディスカバリを行うことができる。ＲＡＩＤコントローラ１０４Ａは、バックエンド・ストレージを集約させるために、ＢＶＬモジュール１０４Ａ−１コンポーネントの能力を利用する。この概念の延長は、ストレージプールを複数のストレージアレイに分散可能にすることができる。
【００１８】
このようなスケールアウト・アグリゲーションは、複数のストレージアレイを組み合わせてさらに大きくさらに有能な集約システム（例えば「ストレージクラスタ」）を形成する能力を、システム１００に提供することができる。任意のアレイに対するＩＯパスアクセスは、クラスタ内の全てのストレージリソースに対するアクセスを可能にする。管理者は、クラスタを、独立したコンポーネントの集合としてではなく、統合された単一のシステムとして管理する。次いで、複数のアレイからの仮想ドライブを使用して、ストレージプールを構築することができる。
【００１９】
ローカルＢＶＬからリモート・ストレージアレイへのスケールアウト接続パスを構成するために、幾つかの方法を用いることができる。
【００２０】
図２を参照すると、第１の方法では、プライベート・スケールアウト・ネットワーク（Private Scale-Out Network、ＰＳＯＮ）１０５を使用することができる。ＰＳＯＮ１０５は、高速のアグリゲータ間リンクを提供するために、周辺コンポーネント相互接続エクスプレス（Peripheral Component Interconnect Express、ＰＣＩ−ｅ）接続を用いることができる。
【００２１】
図３を参照すると、第２の方法では、クライアント側ＩＯネットワークファブリック（ＨＮＦ）１０６を使用することができる。ＨＮＦ１０６は、クライアント１０１を接続してストレージアレイに対するＩＯを駆動するためおよびアグリゲータ間リンクを提供するために使用されるスイッチベースの接続（例えばファイバーチャネル、インフィニバンド、ｉＳＣＳＩ等）を用いることができる。
【００２２】
以下は、様々な例示的実装形態を描いた一連のフローチャートに関連した説明である。理解を容易にするために、これらのフローチャートは、先頭のフローチャートが、実装の例を通じて実装形態を提示し、後に続くフローチャートが、それらより前に示された一つまたは二つ以上のフローチャートを基にしたサブコンポーネント動作または追加コンポーネント動作のいずれかの形で代替の実装形態、および／または初期フローチャートの延長を提示するように、体系化されている。当業者ならば、本明細書で用いられる提示の方式（例えば、実装の例を提示するフローチャートから始まり、その後に、後続のフローチャートで追加および／または更なる詳細を提供する）が、概して様々なプロセス実装形態の迅速で且つ容易な理解を可能にすることがわかる。また、当業者ならば、本明細書で使用される提示の方式が、モジュール式および／またはオブジェクト指向プログラム式の設計パラダイムにも適していることがさらにわかる。
【００２３】
図４は、ストレージネットワークの構成に関連した動作の例を表す動作の流れ４００を示している。図４、および動作の流れの様々な例を含む以下の図面では、上述された図１〜図２の例との関連で、並びに／またはその他の例および状況との関連で、議論および説明を提供することができる。しかしながら、動作の流れは、数々のその他の環境および状況で、且つ／または図１〜図２の修正版で、実行可能であることを理解されるべきである。また、これらの様々な動作は、例示された順序で流れを提示されているが、例示された以外のその他の順序で、または同時的に、実施可能であることを理解されるべきである。
【００２４】
開始動作後、動作の流れ４００は、動作４１０に進む。動作４１０は、一つまたは二つ以上のリモート・ストレージアレイに関連付けされた一つまたは二つ以上のリモート仮想ドライブを発見することを示している。例えば、図２に示されるように、ローカルＲＡＩＤストレージデバイス１０２ＡのＢＶＬモジュール１０４Ａ−１のＦＰモジュール１０４−３−１は、リモートＲＡＩＤストレージデバイス１０２ＢのＢＶＬ１０４Ｂ−１のＰＳＯＮ  ＩＯＤ（ターゲット）１０４−６−２にクエリを伝送するように、関連付けされたＰＳＯＮ  ＩＯＤ（イニシエータ）１０４−６−１を促すことができる。クエリは、ＰＳＯＮ１０５を通じて伝送可能である。ＰＳＯＮ１０５は、ＰＣＩ−ｅ接続を用いることができる。リモートＲＡＩＤストレージデバイス１０２ＢのＢＶＬモジュール１０４Ｂ−１は、ローカルＢＶＬモジュール１０４Ａ−１のＢＶＬモジュール１０４Ａ−１によるクエリに応答し、ＢＶＬモジュール１０４Ａ−１によって維持されている仮想ボリュームに関連付けされた状態データを伝送することができる。
【００２５】
或いは、図３に示されるように、ローカルＲＡＩＤストレージデバイス１０２ＡのＢＶＬモジュール１０４Ａ−１のＦＰモジュール１０４−３−１は、リモートＲＡＩＤストレージデバイス１０２ＢのＢＶＬ１０４Ｂ−１にクエリを伝送するように、関連付けされたＰＳＯＮ  ＩＯＤ（イニシエータ）を促すことができる。クエリは、ＨＮＦ１０６を通じて伝送可能である。ＨＮＦ１０６は、クライアント１０１を接続してストレージアレイに対するＩＯを駆動するためおよびアグリゲータ間リンクを提供するために使用されるスイッチベースのファイバーチャネル接続を用いることができる。リモートＲＡＩＤストレージデバイス１０２ＢのＢＶＬモジュール１０４Ｂ−１は、ローカルＲＡＩＤストレージデバイス１０２ＡのＢＶＬモジュール１０４Ａ−１によるクエリに応答し、ＢＶＬモジュール１０４Ｂ−１によって維持されている仮想ボリュームに関連付けされた状態データを伝送することができる。
【００２６】
動作４２０は、ローカル・ストレージアレイに関連付けされた一つまたは二つ以上のローカル仮想ドライブを通知することを示している。例えば、図２に示されるように、ローカルＲＡＩＤストレージデバイス１０２ＡのＢＶＬモジュール１０４Ａ−１のＦＰモジュール１０４−３−１は、ＢＶＬモジュール１０４Ａ−１に関連付けされた仮想ボリュームをＢＶＬモジュール１０４Ｂ−１によって発見可能にするために、それらの関連付けされた仮想ボリュームの状態を、ＰＳＯＮ１０５を通じてリモートＲＡＩＤストレージデバイス１０２ＢのＢＶＬモジュール１０４Ｂ−１に通知するように、関連付けされたＩＯＤ（イニシエータ）１０４−６−１を促すことができる。
【００２７】
或いは、図３に示されるように、ローカルＲＡＩＤストレージデバイス１０２ＡのＢＶＬモジュール１０４Ａ−１のＦＰ１０４−１−３は、ＢＶＬモジュール１０４Ａ−１に関連付けされた仮想ボリュームをＢＶＬモジュール１０４Ｂ−１によって発見可能にするために、それらの関連付けされた仮想ボリュームの状態を、ＨＮＦ１０６を通じてリモートＲＡＩＤストレージデバイス１０２ＢのＢＶＬモジュール１０４Ｂ−１に通知するように、関連付けされたＩＯＤ（イニシエータ）１０４−６−１を促すことができる。
【００２８】
動作４３０は、一つまたは二つ以上のリモート・ストレージアレイに関連付けされた一つまたは二つ以上のリモート仮想ドライブに宛てられた一つまたは二つ以上のＩＯ要求をクライアントから受信することを示している。例えば、図２に示されるように、ローカルＲＡＩＤストレージデバイス１０２ＡのＢＶＬモジュール１０４Ａ−１のＰＳＯＮ  ＩＯＤ（ターゲット）１０４−８−１は、リモートＲＡＩＤストレージデバイス１０２Ｂに関連付けされたＢＶＬモジュール１０４Ｂ−１によって維持されている一つまたは二つ以上の仮想ドライブに維持されているデータにアクセスする（例えばデータを読み出すおよび／または書き込む）ＩＯ要求を、クライアント１０１から受信することができる。
【００２９】
或いは、図３に示されるように、ローカルＲＡＩＤストレージデバイス１０２ＡのＢＶＬモジュール１０４Ａ−１のＰＳＯＮ  ＩＯＤ（ターゲット）１０４−８−１は、リモートＲＡＩＤストレージデバイス１０２Ｂに関連付けされたＢＶＬモジュール１０４Ｂ−１によって維持されている一つまたは二つ以上の仮想ドライブに維持されているデータにアクセスする（例えばデータを読み出すおよび／または書き込む）ＩＯ要求を、ＨＮＦ１０６を通じてクライアント１０１から受信することができる。
【００３０】
動作４４０は、ローカルキャッシュスペースを割り当てるために、一つまたは二つ以上の仮想ドライブに関連付けされた一つまたは二つ以上のリモート・ストレージアレイに一つまたは二つ以上のコマンド記述子ブロック（ＣＤＢ）要求を伝送することを示している。例えば、図２に示されるように、ローカルＲＡＩＤストレージデバイス１０２ＡのＢＶＬモジュール１０４Ａ−１のＦＰ１０４−１−３は、ＰＳＯＮ１０５を通じて一つまたは二つ以上のＣＤＢ要求を伝送するように、関連付けされたＰＳＯＮ  ＩＯＤ（イニシエータ）１０４−１−６を促し、ＢＶＬモジュール１０４Ｂ−１ロジック内にキャッシュスペースを割り当てるように、リモートＲＡＩＤストレージデバイス１０２Ｂに関連付けされたＢＶＬモジュール１０４Ｂ−１に指示することができる。
【００３１】
或いは、図３に示されるように、ローカルＲＡＩＤストレージデバイス１０２ＡのＢＶＬモジュール１０４Ａ−１のＦＰ１０４−１−３は、ＨＮＦ１０６を通じて一つまたは二つ以上のＣＤＢ要求を伝送するように、関連付けされたＩＯＤ（イニシエータ）１０４−１−６を促し、ＢＶＬモジュール１０４Ｂ−１ロジック内にキャッシュスペースを割り当てるように、リモートＲＡＩＤストレージデバイス１０２Ｂに関連付けされたＢＶＬモジュール１０４Ｂ−１に指示することができる。さらに、ローカルＲＡＩＤストレージデバイス１０２ＡのＢＶＬモジュール１０４Ａ−１は、リモートＲＡＩＤストレージデバイス１０２Ｂからのデータ転送を単独で駆動できるように、クライアント１０１からのＩＯ要求の受信を受けてキャッシュスペースを割り当てることもできる。
【００３２】
図５は、図４の動作の流れの例４００の、他の実施形態を示している。図５は、動作の流れ４００に少なくとも１つの追加動作を含めることができる実施例を示している。追加動作は、動作５０２を含むことができる。
【００３３】
動作５０２は、リモート・ダイレクト・メモリ・アクセス（ＲＤＭＡ）を通じて一つまたは二つ以上のＩＯ要求を一つまたは二つ以上のリモート・ストレージアレイに伝送することを示している。例えば、図２に示されるように、リモートＲＡＩＤストレージデバイス１０２Ｂに関連付けされた仮想ボリュームに維持されているデータに宛てられたＩＯ要求をクライアント１０１から受信するＢＶＬモジュール１０４Ａ−１は、そのＩＯ要求をＰＳＯＮ１０５上においてＲＤＭＡを通じて処理できるように、そのＩＯ要求をリモートＲＡＩＤストレージデバイス１０２Ｂに関連付けされたＢＶＬモジュール１０４Ｂ−１に引き渡すことができる。
【００３４】
図６は、図４の動作の流れの例４００の、他の実施形態を示している。図６は、動作の流れ４００に少なくとも１つの追加動作を含めることができる実施例を示している。追加動作は、動作６０２を含むことができる。
【００３５】
動作６０２は、一つのアクティブストレージ仮想化マネージャモジュールと、一つまたは二つ以上のパッシブストレージ仮想化モジュールとを指定する。例えば、図３に示されるように、ローカルＲＡＩＤストレージデバイス１０２ＡのＳＶＭ１０４−１−１は、ＨＮＦ１０６ネットワークを通じてリモートＲＡＩＤストレージデバイス１０２ＢのＳＶＭ１０４−１−２と交信することができる。ＳＶＭ１０４−１−１は、ＩＯＤ（イニシエータ）１０４−６−１、およびＳＶＭ１０４−１−１とＳＶＭ１０４−１−２とを動作可能式に結合するＨＮＦ１０６ネットワークを通じて、ローカルＶＡモジュール１０４−２およびＦＰモジュール１０４−３−１はもちろん、リモートＲＡＩＤストレージデバイス１０２Ｂに関連付けされたリモートＶＡモジュール（不図示）およびリモートＦＰモジュールも認識することができる。この接続は、ＳＶＭ１０４−１−１およびＳＶＭ１０４−１−２を、１つのＳＶＭ１０４−１をそのクラスタ用のアクティブＳＶＭとして、そしてその他の全てのＳＶＭをパッシブ構成員として、指定することを可能にする。例えば、ＳＶＭ１０４−１−１およびＳＶＭ１０４−１−２は、ＨＮＦ１０６ネットワークを通じて常時交信状態にとどまることができる。あるクラスタ用のリソースおよびアプリケーションは、リソースグループと称される機能ユニットの形に編成することができる。各リソースグループは、特定のＳＶＭ１０４−１に割り当てられてよく、任意の時点において、そのＳＶＭ１０４−１によってのみ所有可能である。（ＳＭＩ−Ｓクライアントを通じた）クラスタ管理者は、特定のリソースまたはアプリケーションについて、特定のＳＶＭ１０４−１をアクティブ（例えばＳＶＭ１０４−１−１）に、残りのＳＶＭ１０４−１（例えばＳＶＭ１０４−１−２）をパッシブに設定する能力を有することができる。クラスタ管理プロセスは、ＳＶＭ１０４−１フェイルオーバ能力を含むことができる。フェイルオーバは、障害の結果としてとあるクラスタ内のアクティブＳＶＭ１０４−１（例えばＳＶＭ１０４−１−１）が無効になったときに生じることができる。このような障害が生じると、別のＳＶＭ１０４−１（例えばＳＶＭ１０４−１−２）がアクティブＳＶＭ１０４−１としてサービスを提供し始めることができる。
【００３６】
図７は、図４の動作の流れの例４００の、他の実施形態を示している。図７は、動作の流れ４００に少なくとも１つの追加動作を含めることができる実施例を示している。追加動作は、動作７０２を含むことができる。
【００３７】
動作７０２は、ＳＭＩ−ＳクライアントへのエクスポートのためにＲＡＩＤデバイスデータを集約させることを示している。例えば、図２に示されるように、ＳＭＶ１０４−１−１に関連付けされた論理的属性（例えばＬＵＮマップ、プール、ボリューム等の論理的コンポーネント）およびＲＡＩＤエンジン１０４−７−１に関連付けされた物理的属性（例えば仮想ドライブ等の物理的コンポーネント）を含むコンポーネントデータをエクスポートできるように、単一システムイメージ（ＳＳＩ）アグリゲータ１０４−５−１を、ＳＭＩ−Ｓエージェント１０４−４−１に載せることができる。各ＲＡＩＤストレージデバイス（例えばＲＡＩＤストレージデバイス１０２Ａ，１０２Ｂ）のＢＶＬモジュール１０４が、全てのリモートＲＡＩＤストレージデバイス１０２のＳＶＭおよびＲＡＩＤエンジンの状態を集約表示で見られるようにするために、ＳＭＩ−Ｓエージェント１０４−４−１によって集められたコンポーネントデータは、リモートＲＡＩＤストレージデバイス１０４ＢのＢＶＬモジュール１０４Ｂ−１に提供することができる。ＳＶＭ１０４−１−１およびＲＡＩＤエンジン１０４−７−１に関連付けされた状態データは、ＰＳＯＮ  ＩＯＤ（イニシエータ）１０４−６−１および関連のＰＳＯＮ１０５ネットワークを通じてピアデバイスにエクスポートすることができる。ローカルＢＶＬモジュール１０４Ａが、全てのリモートＲＡＩＤストレージデバイス１０２の全てのＳＶＭおよびＲＡＩＤエンジンの状態データを集約表示で見られるようになると、このデータは、ＳＭＩ−Ｓクライアント１０１に単一のクラスタ化イメージを提供するために、ＳＭＩ−Ｓクライアント１０１にエクスポートすることができる。
【００３８】
図８は、図４の動作の流れの例４００の、他の実施形態を示している。図８は、動作の流れ４００に少なくとも１つの追加動作を含めることができる実施例を示している。追加動作は、動作８０２、動作８０４、および／または動作８０６を含むことができる。
【００３９】
動作８０２は、一つまたは二つ以上のブロック仮想化レイヤ（ＢＶＬ）エレメントをデータプロテクション・レイヤ（ＤＰＬ）に提供することを示している。例えば、図１〜図３に示されるように、ＲＡＩＤコントローラ１０４ＡのＢＶＬモジュール１０４Ａ−１（例えばＳＭＶを実装したＣＯＲＢＡサーバ）は、集約されたデバイスデータ（例えば動作５０４のたびに集約されたデータ）をＤＰＬ１０７（例えばＳＹＭｂｏｌサーバ）に引き渡すことができる。
【００４０】
動作８０４は、一つまたは二つ以上のＢＶＬエレメントを一つまたは二つ以上のＤＰＬエレメントに変換することを示している。図１〜図３に示されるように、ＲＡＩＤコントローラ１０４ＡのＤＰＬスケールアウト・アグリゲータ１０８（例えばＳＭＩ−Ｓクラスタサーバ）は、ＢＶＬモジュール１０４Ａ−１によって集約された一つまたは二つ以上のＢＶＬエレメント（例えばＬＵＮマップ、ストレージプール、個別の分散仮想ボリュー等の論理的コンポーネント）を、ＳＭＩ−Ｓクライアント１０１によって直接的に管理可能な一つまたは二つ以上のＤＰＬエレメント（例えば物理的コンポーネント、仮想ドライブ等）に変換することができる。例えば、ＳＭＩ−Ｓクライアントを通じてシステムにアクセスするユーザから下層の詳細を隠すために、ＢＶＬによって維持されている複数のストレージアレイに跨る仮想ボリュームを、１つの単一ＤＰＬ仮想ドライブとして表すことができる。
【００４１】
動作８０６は、一つまたは二つ以上のＤＰＬエレメントを一つまたは二つ以上のＳＭＩ−Ｓクライアントに伝送することを示している。例えば、図１〜図３に示されるように、ＤＰＬスケールアウト・アグリゲータ１０８は、変換されたＢＶＬエレメントを、クラスタ化されたＲＡＩＤストレージデバイス１０２の単一の集約イメージとして、ＳＭＩ−Ｓクライアント１０１に引き渡すことができる。
【００４２】
当業者ならば、システムのハードウェア実装、ソフトウェア実装、および／またはファームウェア実装の態様間にほぼ区別がない段階まで技術が進歩したことがわかる。ハードウェア、ソフトウェア、および／またはファームウェアの使用は、一般に（特定の状況ではハードウェアとソフトウェアとの間の選択が重要になりえるという意味では常にではない）、コストと効率とのトレードオフを表す設計上の選択である。当業者ならば、本明細書で説明されるプロセスおよび／またはシステムおよび／またはその他の技術を発効させることができる様々な手段（例えばハードウェア、ソフトウェア、および／またはファームウェア）があること、そしてプロセスおよび／またはシステムおよび／またはその他の技術を配備される状況に応じて好ましい手段が変わることがわかる。例えば、もし速度および正確さを最重要であると判断したならば、実装者は、主に、ハードウェアおよび／またはファームウェアを手段として選ぶであろう。或いは、もし柔軟性を最重要であると判断したならば、実装者は、主に、ソフトウェア実装を選ぶであろう。或いは、実装者は、ハードウェア、および／またはソフトウェア、および／またはファームウェアを選ぶであろう。したがって、本明細書で説明されるプロセスおよび／またはシステムおよび／またはその他の技術を発効させることができる手段には、幾つかの可能な候補があり、用いられるいかなる手段も、いずれも可変の要素である、その手段を配備される状況および実装者の特定の懸念（例えば速度、柔軟性、または予測可能性）に依存した選択であるので、どの手段が他の手段と比べて本質的に優位であるということはない。当業者ならば、光学的な実装態様に、一般に、光学的配向のハードウェア、ソフトウェア、および／またはファームウェアが用いられることがわかる。
【００４３】
本明細書で説明される一部の実装形態では、論理的および類似の実装形態に、ソフトウェアまたはその他の制御構造を含ませることができる。例えば電子回路系は、本明細書で説明されるような様々な機能を実装するように構築および配置される一つまたは二つ以上の電流経路を有することができる。一部の実装形態では、本明細書で説明されるように動作することができるデバイス検出可能命令を保持または伝送する際に、デバイス検出可能な実装形態を記憶するように、一つまたは二つ以上の媒体を構成することができる。一部の改良では、例えば、本明細書で説明される一つまたは二つ以上の動作との関連で一つまたは二つ以上の命令の受信または伝送を実施するなどによって、実装形態に、既存のソフトウェア若しくはファームウェアのまたはゲートアレイ若しくはプログラマブルハードウェアの更新または修正を含ませることができる。代わりまたは追加として、一部の改良では、実装形態に、特殊用途のハードウェアコンポーネント、ソフトウェアコンポーネント、およびファームウェアコンポーネント、並びに／または特殊用途コンポーネントを実行する若しくはその他の形で呼び出す汎用コンポーネントを含ませることができる。仕様またはその他の実装形態は、随意にはパケット伝送によって、またはその以外の場合は分散媒体を随時通過することによって、本明細書で説明されるような一つまたは二つ以上の有形的伝送媒体のインスタンスによって伝送することができる。
【００４４】
代わりまたは追加として、実装形態に、本明細書で説明される仮想的に任意の機能動作の一つまたは二つ以上の発生をイネーブルする、トリガする、統合する、要求する、またはその他の形で生じさせるために、特殊用途の命令シーケンスを実行することまたは回路系を呼び出すことを含ませることができる。一部の改良では、本明細書における動作的またはその他の論理的記述を、ソースコードとして表してコンパイルする、または実行可能命令シーケンスとしてその他の形で呼び出すことができる。一部の状況では、例えば、Ｃ＋＋等のソースコードまたはその他のコードシーケンスによって、実施形態の全部または一部を提供することができる。その他の実装形態では、市販のおよび／または当該分野の技術を使用して、ソースコード実装またはその他のコード実装をハイレベル記述子言語にコンパイル／実装／翻訳／変換することができる（例えば、説明されている技術を最初はＣまたはＣ＋＋のプログラミング言語で実装し、その後、そのプログラミング言語実装を論理合成可能言語実装、ハードウェア記述言語実装、ハードウェア設計シミュレーション実装、および／またはその他のこのような類似の表現モードに変換する）。例えば、一部または全部の論理的表現（例えばコンピュータプログラミング言語実装）を、（例えばハードウェア記述言語（ＨＤＬ）および／または超高速集積回路ハードウェア記述子言語（ＶＨＤＬ）を通じて）Ｖｅｒｉｌｏｇタイプのハードウェア記述またはその他の回路系モデルとして現わしてよく、これは、次いで、ハードウェアを有する物理的実装（例えば特殊用途向け集積回路）を形成するために使用することができる。当業者ならば、これらの教示に照らしてどのようにして適切な伝送要素若しくは計算要素、材料供給、アクチュエータ、またはその他の構造を取得、構成、および最適化するかがわかる。
【００４５】
以上の詳細な説明は、ブロック図、流れ図、および／または例の使用を通じてデバイスおよび／またはプロセスの様々な実施形態を示してきた。これまでのところ、このようなブロック図、流れ図、および／または例が一つまたは二つ以上の機能および／または動作を含む限りにおいて、当業者ならば、このようなブロック図、流れ図、または例の中の各機能および／または動作が、個別におよび／または集合的に、広範囲のハードウェア、ソフトウェア、ファームウェア、または仮想的にそれらのあらゆる組み合わせによって実装できることがわかる。１つの実施形態では、本明細書で説明される内容の幾つかの部分を、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、またはその他の集積形式で実装することができる。しかしながら、当業者ならば、本明細書で開示される実施形態の一部の態様が、その全部または一部を、一つまたは二つ以上のコンピュータで実行される一つまたは二つ以上のコンピュータプログラムとして（例えば一つまたは二つ以上のコンピュータシステムで実行される一つまたは二つ以上のプログラムとして）、一つまたは二つ以上のプロセッサで実行される一つまたは二つ以上のプログラムとして（例えば一つまたは二つ以上のマイクロプロセッサで実行される一つまたは二つ以上のプログラムとして）、ファームウェアとして、または仮想的にそれらのあらゆる組み合わせとして、集積回路に等しく実装可能であること、そしてソフトウェアのためおよびファームウェアのために回路系を設計することおよび／またはコードを記述することが、この開示に照らせば十分に当業者の技能の範囲内であることがわかる。また、当業者ならば、本明細書で説明される内容のメカニズムが、様々な形態でプログラム製品として配布可能であること、そして本明細書で説明される内容の例示的実施形態が、配布を実際に行うために使用されるシグナルベアリング媒体の具体的なタイプにかかわらず当てはまることがわかる。シグナルベアリング媒体の例は、フロッピィディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ等の追記型の媒体、並びにデジタルおよび／若しくはアナログの通信媒体（例えば光ファイバケーブル、導波管、有線通信リンク、無線通信リンク（例えばトランスミッタ、トランシーバ、伝送ロジック、受信ロジック等））等の伝送タイプの媒体が含むがそれらに限定されない。
【００４６】
一般的に、当業者ならば、広範囲のハードウェア、ソフトウェア、ファームウェア、および／またはそれらの任意の組み合わせによって個別および／または集合的に実装することができる本明細書で説明される様々な態様が、様々なタイプの「電気回路系」で構成されるものと見なせることがわかる。したがって、本明細書で言う「電気回路系」は、少なくとも１つのディスクリート電気回路を有する電気回路系、少なくとも１つの集積回路を有する電気回路系、少なくとも１つの特定用途向け集積回路を有する電気回路系、コンピュータプログラムによって構成される汎用コンピュータデバイスを形成する電気回路系（例えば、本明細書で説明されるプロセスおよび／若しくはデバイスを少なくとも部分的に実行するコンピュータプログラムによって構成される汎用コンピュータ、または本明細書で説明されるプロセスおよび／若しくはデバイスを少なくとも部分的に実行するコンピュータプログラムによって構成されるマイクロプロセッサ）、メモリデバイスを形成する電気回路系（例えば、メモリ（例えばランダムアクセス、フラッシュ、読み出し専用等）の形態）、並びに／或いは通信デバイスを形成する電気回路系（例えば、モデム、通信スイッチ、光−電気機器等）を含むがそれらに限定されない。当業者ならば、本明細書で説明される内容が、アナログ形式、デジタル形式、またはそれらの何らかの組み合わせで実装可能であることがわかる。
【００４７】
本明細書で使用される実質的にあらゆる複数形および／または単数形は、当業者ならば、文脈および／または用途に応じて複数形から単数形におよび／または単数形から複数形に適宜解釈しなおすことができる。これらの様々な単数形／複数形の置き換えは、明瞭さを期するため、本明細書では明確に説明されていない。
【００４８】
本明細書で説明される内容は、他の異なるコンポーネントに含まれるまたは接続される異なるコンポーネントを示していることがある。図示されているこのようなアーキテクチャは、単なる例であり、実際は、同じ機能を実現するその他の多くのアーキテクチャが実装可能であることがわかる。概念的には、同じ機能を実現するためのあらゆるコンポーネント配置は、所望の機能が実現されるように効果的に「関連付け」されている。したがって、ここでは、特定の機能を実現するために組み合わされた任意の２つのコンポーネントは、アーキテクチャまたは仲介コンポーネントにかかわらず、所望の機能が実現されるように互いに「関連付け」されたものと見なせる。同様に、このように関連付けされた任意の２つのコンポーネントは、所望の機能性を実現するために互いに「動作可能式に接続」または「動作可能式に結合」されていると見なせ、このように関連付けすることができる任意の２つのコンポーネントは、所望の機能を実現するために互いに「動作可能式に結合可能」であるとも見なせる。動作可能式に結合可能である具体例は、物理的に嵌め合わせ可能なおよび／若しくは物理的に相互作用するコンポーネント、並びに／または無線式に相互作用可能なおよび／若しくは無線式に相互作用するコンポーネント、並びに／または論理的に相互作用するおよび／若しくは論理的に相互作用可能なコンポーネントを含むがそれらに限定されない。
【００４９】
場合によっては、本明細書において一つまたは二つ以上のコンポーネントを、「〜ように構成される」、「〜によって構成される」、「〜ように構成可能である」、「〜するように動作可能である／動作している」、「適応される／適応可能である」、「〜することができる」、「〜するように適合可能である／適合される」等として言及することができる。当業者ならば、このような表現（例えば「〜するように構成される」）が、文脈上その他の意味に解釈するべき場合を除き、一般に、アクティブ状態のコンポーネントおよび／または非アクティブ状態のコンポーネントおよび／またはスタンドバイ状態のコンポーネントを網羅できることがわかる。
【００５０】
本明細書で説明される内容の特定の態様が、図示され説明されてきたが、当業者ならば、本明細書における教示に基づいて、本明細書で説明される内容およびそのより広範な態様から逸脱することなく変更および修正を加えられることが明らかであり、したがって、添付のクレームは、このような全ての変更および修正を、本明細書で説明される内容の真の趣旨および範囲内であるとしてそれらの範囲内に含むものとする。当業者ならば、本明細書で、そしてとりわけ添付のクレーム（例えば添付のクレームの本文）で使用される用語が、概して「オープン」タームと見なされることがわかる（例えば、「〜を含んでいる」という表現は、「〜を含んでいるがそれに限定されない」と解釈されるべきであり、「〜を有する」という表現は、「少なくとも〜を有する」と解釈されるべきであり、「〜含む」という用語は、「〜を含むがそれに限定されない」と解釈されるべきである、等など）。さらに、当業者ならば、もしクレームにおいて導入された記載が特定の数のものであることが意図されているならば、そのような意図がクレームに明確に記載されており、そのような記載がなければ、そのような意図が無いことがわかるであろう。例えば、理解の助けとして、以下の添付のクレームは、クレーム記載を導入するために、導入フレーズ「少なくとも１つの」および「一つまたは二つ以上の」の使用を含むことができる。しかしながら、このようなフレーズの使用によって、「一」、「一個の」または「一つの」という修飾を伴う（不定冠詞"a"や"an"による）クレーム記載の導入が、そのように導入されるクレーム記載を含む特定のクレームを、このような記載を１個だけ含むというクレームに限定することを示差するものと見なされるべきではない。これは、たとえその一つのクレームが、導入フレーズ「一つまたは二つ以上」または「少なくとも１つの」と、「一」、「一個の」または「一つの」という修飾（"a"や"an"等の不定冠詞）と、をともに含む場合でも、同様である（例えば、「一」、「一個の」または「一つの」は、一般に、「少なくとも１つの」または「一つまたは二つ以上の」を意味するものと解釈されるべきである）。同じことは、クレーム記載を導入するための定冠詞の使用にも当てはまる。また、たとえ導入されたクレーム記載について特定の数が明確に記載される場合でも、当業者ならば、このような記載が、「少なくともその記載された数」を意味するものと一般的に解釈されるべきであることがわかる（例えば、その他の修飾語句をともなわずに単に「２」とのみ記載されている場合は、一般に、少なくとも２つ、即ち２つまたは３つ以上を意味する）。さらに、「Ａ、Ｂ、およびＣ等の少なくとも１つ」のような用法が使用される場合は、一般的に、このような構成は、当業者がその用法を理解するであろう意味で意図している（例えば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡとＢ、ＡとＣ、ＢとＣ、および／またはＡとＢとＣを有するシステムを含むが、それぞれには限定されない）。さらに、「Ａ、Ｂ、またはＣ等の少なくとも１つ」のような用法が使用される場合は、一般的に、このような構成は、当業者がその定めを理解するであろう���味で意図している（例えば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡとＢ、ＡとＣ、ＢとＣ、および／またはＡとＢとＣを有するシステムを含むが、それぞれに限定されない）。さらに、当業者ならば、二つまたは三つ以上の選択肢表現を表す離接語および／またはフレーズが、説明、クレーム、または図面のいずれにおいても、一般に、それらの表現のうちの１つ、それらの表現のうちのいずれか、またはそれら両方の表現を含む可能性を意図すると理解されるべきであることがわかる。例えば、フレーズ「ＡまたはＢ」は、一般に、「Ａ」または「Ｂ」、或いは「ＡおよびＢ」の可能性を含むものと理解される。
【００５１】
添付のクレームについて、当業者ならば、記載される動作が一般に任意の順序で実施可能であることがわかる。また、様々な動作の流れが順々に示されているが、これらの様々な動作は、例示されている以外のその他の順序でまたは同時的に実施可能でもあることを理解されるべきである。このような代替の順序の例は、文脈上その他の記載がない限り、重複する、交互する、中断される、並べ替える、漸増する、予備的な、補助的な、同時的な、逆の、またはその他の変形順序を含むことができる。さらに、「〜に応答した」、「〜に関連した」、またはその他の過去形の形容詞は、文脈上その他の記載がない限り、一般に、このような変形を排除することを意図していない。
【００５２】
クレームは、特定の従属関係を特定されているが、本出願では、クレームの特徴のあらゆる可能な組み合わせが想定され、したがって、クレームは、あらゆる可能な複数の従属関係を含むものと解釈されるべきである。
【図１】
2010097614.tif 000003
【図２】
2010097614.tif 000004
【図３】
2010097614.tif 000005
【図４】
2010097614.tif 000006
【図５】
2010097614.tif 000007
【図６】
2010097614.tif 000008
【図７】
2010097614.tif 000009
【図８】
2010097614.tif 000010