ミドルウェアマシン環境をサポートするためのシステムであって、1つ以上のマイクロプロセッサと、前記ミドルウェアマシン環境において前記1つ以上のマイクロプロセッサ上で実行される1つ以上のノード上に存在するサブネットマネージャインスタンスのセットとを含み、前記サブネットマネージャインスタンスのセットは、サブネット内で可用性の高いサブネットマネージャサービスを提供するよう協働し、前記サブネットマネージャインスタンスの各々は、異なるプライベートセキュアキーに関連付けられており、前記サブネットマネージャインスタンスのセットは、互いに交渉を行うことが可能であるとともに、前記マスターサブネットマネージャに関連付けられる前記プライベートセキュアキーを用いて前記ミドルウェアマシン環境を構成および管理することを担うマスターサブネットマネージャを選択可能である、システム。前記1つ以上のノードは1つ以上のネットワークスイッチを含み、前記ネットワークスイッチの各々は、外部ネットワークに接続するよう用いられる1つ以上の外部ポートと、前記ミドルウェアマシン環境における複数のホストサーバに接続するよう用いられる1つ以上の内部ポートとを提供する、請求項1に記載のシステム。前記1つ以上のネットワークスイッチを通じて前記複数のホストサーバに接続する別個のストレージシステムをさらに含む、請求項2に記載のシステム。前記サブネットはインフィニバンドIBサブネットである、請求項1~3のいずれか1項に記載のシステム。ゲストによってアクセス可能である1つ以上のゲートウェイインスタンスをさらに含む、請求項1~4のいずれか1項に記載のシステム。前記サブネットマネージャインスタンスは帯域内通信プロトコルを用いて互いに通信可能である、請求項1~5のいずれか1項に記載のシステム。前記サブネットは、サブネットパーティションによって実現される資源ドメインの動的なセットに分けられることが可能である、請求項1~6のいずれか1項に記載のシステム。パーティショニングポリシーが特定されていない場合、前記マスターサブネットマネージャは、初期化のためのデフォルトのパーティショニングポリシーを使用可能である、請求項1~7のいずれか1項に記載のシステム。前記プライベートセキュアキーは、前記サブネットにおける認証されたエンティティにのみ知られる64ビットの秘密値であるM_キーである、請求項1~8のいずれか1項に記載のシステム。前記サブネットにおけるポートに関連付けられるサブネット管理エージェントSMAがM_キー値を有するよう構成される場合、帯域内リクエストは、前記ポートに関連付けられる状態を変更するよう前記M_キー値を特定する必要がある、請求項9に記載のシステム。異なるサブネットマネージャインスタンスが前記マスターサブネットマネージャとして選択される場合、前記サブネットは、異なるプライベートセキュアキーに関連付けられるよう再構成される、請求項1~10のいずれか1項に記載のシステム。各異なるプライベートセキュアキーは、前記サブネットにおける他のサブネットマネージャインスタンスに知られる異なる範囲内に定義される、請求項1~11のいずれか1項に記載のシステム。前記サブネットにおける前記サブネットマネージャインスタンスのセットは、どのサブネットマネージャインスタンスが現在前記マスターサブネットマネージャであるかによって、定義された範囲のどのプライベートセキュアキーが用いられているかを動的に判断可能である、請求項1~12のいずれか1項に記載のシステム。スプリットブレインシナリオを防止するよう、新しいマスターサブネットマネージャが選択された後で、古いマスターサブネットマネージャがマスターサブネットマネージャとして通常動作を再開するのを自動的に防止される、請求項1~13のいずれか1項に記載のシステム。1つ以上のアップデートされたサブネット構成ポリシーは、前記アップデートされたサブネット構成ポリシーに関連付けられるプライベートセキュアキーを認識可能な1つ以上のサブネットマネージャを通じて前記サブネットに適用可能であり、前記サブネットにおける前記プライベートセキュアキーを認識できない他のサブネットマネージャは、前記1つ以上のアップデートされたサブネット構成ポリシーによる影響を受けないままにされるとともに、前記サブネットの状態をアップデートすることを防止されることが可能である、請求項1~14のいずれか1項に記載のシステム。前記マスターサブネットマネージャは、前記マスターサブネットマネージャが新しいノードについて用いられるプライベートセキュアキーを認識できないので、当該ノードへの接続は意図的なものではないと判断可能である、請求項1~15のいずれか1項に記載のシステム。新しいノードを含む遠隔のサブネットにおけるマスターサブネットマネージャは、前記サブネットにおける状態を変更することを許可されず、前記サブネットにおける前記マスターサブネットマネージャは、前記遠隔のサブネットにおける状態を変更することを許可されない、請求項1~16のいずれか1項に記載のシステム。ミドルウェアマシン環境をサポートするための方法であって、サブネットマネージャインスタンスのセットにおける各サブネットマネージャインスタンスに異なるプライベートセキュアキーを関連付けるステップを含み、前記サブネットマネージャインスタンスの各々は、前記ミドルウェアマシン環境において1つ以上のマイクロプロセッサ上で実行される1つ以上のノード上に存在し、前記サブネットマネージャインスタンスのセットは、IBサブネット内で可用性の高いサブネットマネージャサービスを提供するよう協働し、前記方法はさらに、前記サブネットマネージャインスタンスのセットが互いに交渉を行うとともにマスターサブネットマネージャを選択することを可能にするステップと、前記マスターサブネットマネージャに関連付けられる前記プライベートセキュアキーを用いて前記ミドルウェアマシン環境を構成および管理するステップとを含む、方法。1つ以上のネットワークスイッチの各々は、外部ネットワークに接続するよう用いられる1つ以上の外部ポートと、前記ミドルウェアマシン環境における複数のホストサーバに接続するよう用いられる1つ以上の内部ポートとを提供する、請求項18に記載の方法。前記1つ以上のネットワークスイッチを通じて前記複数のホストサーバに接続する別個のストレージシステムを設けるステップをさらに含む、請求項19に記載の方法。前記サブネットはインフィニバンドIBサブネットである、請求項18~20のいずれか1項に記載の方法。ゲストによってアクセス可能である1つ以上のゲートウェイインスタンスを設けるステップをさらに含む、請求項18~21のいずれか1項に記載の方法。前記サブネットマネージャインスタンスが帯域内通信プロトコルを用いて互いに通信するステップをさらに含む、請求項18~22のいずれか1項に記載の方法。前記サブネットをサブネットパーティションによって実現される資源ドメインの動的なセットに分けるステップをさらに含む、請求項18~23のいずれか1項に記載の方法。パーティショニングポリシーが特定されていない場合、前記マスターサブネットマネージャが、初期化のためのデフォルトのパーティショニングポリシーを使用するステップをさらに含む、請求項18~24のいずれか1項に記載の方法。前記プライベートセキュアキーは、前記サブネットにおける認証されたエンティティにのみ知られる64ビットの秘密値であるM_キーである、請求項18~25のいずれか1項に記載の方法。前記サブネットにおけるポートに関連付けられるサブネット管理エージェントSMAがM_キー値を有するよう構成される場合、帯域内リクエストは、前記ポートに関連付けられる状態を変更するよう前記M_キー値を特定する必要がある、請求項18~26のいずれか1項に記載の方法。異なるサブネットマネージャインスタンスが前記マスターサブネットマネージャとして選択される場合、前記サブネットを異なるプライベートセキュアキーに関連付けられるよう再構成するステップをさらに含む、請求項18~27のいずれか1項に記載の方法。各異なるプライベートセキュアキーを、前記サブネットにおける他のサブネットマネージャインスタンスに知られる異なる範囲内に定義するステップをさらに含む、請求項18~28のいずれか1項に記載の方法。前記サブネットにおける前記サブネットマネージャインスタンスのセットが、どのサブネットマネージャインスタンスが現在前記マスターサブネットマネージャであるかによって、定義された範囲のどのプライベートセキュアキーが用いられているかを動的に判断するステップをさらに含む、請求項18~29のいずれか1項に記載の方法。スプリットブレインシナリオを防止するよう、新しいマスターサブネットマネージャが選択された後で、古いマスターサブネットマネージャがマスターサブネットマネージャとして通常動作を再開するのを自動的に防止される、請求項18~30のいずれか1項に記載の方法。1つ以上のアップデートされたサブネット構成ポリシーは、前記アップデートされたサブネット構成ポリシーに関連付けられるプライベートセキュアキーを認識可能な1つ以上のサブネットマネージャを通じて前記サブネットに適用可能であり、前記サブネットにおける前記プライベートセキュアキーを認識できない他のサブネットマネージャは、前記1つ以上のアップデートされたサブネット構成ポリシーによる影響を受けないままにされることが可能である、請求項18~31のいずれか1項に記載の方法。前記マスターサブネットマネージャが、新しいサブネットマネージャが前記サブネットにおいて用いられるプライベートセキュアキーを認識できないので、前記新しいサブネットマネージャへの接続は意図的なものではないと判断し、かつ前記新しいサブネットマネージャが前記サブネットにおける如何なる状態も変更することを防止するステップをさらに含む、請求項18~32のいずれか1項に記載の方法。プログラム可読命令を含むコンピュータプログラムであって、前記プログラム可読命令は、1つ以上のコンピュータシステムにロードおよび実行されると、前記1つ以上のコンピュータシステムに請求項19~33のいずれか1項に記載の方法を行わせる、コンピュータプログラム。請求項34に記載のコンピュータプログラムを格納するコンピュータ可読記憶媒体を含む、コンピュータプログラムプロダクト。命令が格納されたマシン可読媒体であって、前記命令は実行されるとシステムに、サブネットマネージャインスタンスのセットにおける各サブネットマネージャインスタンスに異なるプライベートセキュアキーを関連付けるステップを行わせ、前記サブネットマネージャインスタンスの各々は、ミドルウェアマシン環境において1つ以上のマイクロプロセッサ上で実行される1つ以上のノード上に存在し、前記サブネットマネージャインスタンスのセットは、IBサブネット内で可用性の高いサブネットマネージャサービスを提供するよう協働し、さらに、前記サブネットマネージャインスタンスのセットが互いに交渉を行うとともにマスターサブネットマネージャを選択することを可能にするステップと、前記マスターサブネットマネージャに関連付けられる前記プライベートセキュアキーを用いて前記ミドルウェアマシン環境を構成および管理するステップとを行わせる、マシン可読媒体。コンピュータに、1つ以上のマイクロプロセッサ上で実行されるサブネットマネージャインスタンスのセットにおける各サブネットマネージャインスタンスに異なるプライベートセキュアキーを関連付けるステップを行わせ、前記サブネットマネージャインスタンスのセットは、IBサブネット内で可用性の高いサブネットマネージャサービスを提供するよう協働し、さらに、前記サブネットマネージャインスタンスのセットが互いに交渉を行うとともにマスターサブネットマネージャを選択することを可能にするステップと、前記マスターサブネットマネージャに関連付けられる前記プライベートセキュアキーを用いて前記ミドルウェアマシン環境を構成および管理するステップとを行わせるための、コンピュータプログラム。ミドルウェアマシン環境におけるサブネット内のサブネットマネージャであって、異なるプライベートセキュアキーを前記サブネットマネージャに関連付けるよう構成される関連付けモジュールと、前記サブネットマネージャが前記サブネット内の他のサブネットマネージャと交渉を行うことを可能にするとともに、前記マスターサブネットマネージャに関連付けられた前記プライベートセキュアキーを用いて前記ミドルウェアマシン環境を構成および管理することを担うマスターサブネットマネージャを選択することを可能にするよう構成される交渉モジュールとを含む、サブネットマネージャ。前記サブネットはインフィニバンドIBサブネットである、請求項38に記載のサブネットマネージャ。前記サブネットマネージャが帯域内通信プロトコルを用いて前記サブネット内の他のサブネットマネージャと通信するのを可能にするよう構成される通信モジュールをさらに含む、請求項38に記載のサブネットマネージャ。前記サブネットは、サブネットパーティションによって実現される資源ドメインの動的なセットに分けられることが可能である、請求項38に記載のサブネットマネージャ。パーティショニングポリシーが特定されていない場合、前記サブネットマネージャが前記マスターサブネットマネージャとして選択されたことに応答して、デフォルトのパーティショニングポリシーを用いて前記マスターサブネットマネージャを初期化するよう構成される初期化モジュールをさらに含む、請求項38に記載のサブネットマネージャ。前記プライベートセキュアキーは、前記サブネットにおける認証されたエンティティにのみ知られる64ビットの秘密値であるM_キーである、請求項38に記載のサブネットマネージャ。前記サブネットにおけるポートに関連付けられるサブネット管理エージェントSMAがM_キー値を有するよう構成される場合、帯域内リクエストは、前記ポートに関連付けられる状態を変更するよう前記M_キー値を特定する必要がある、請求項43に記載のサブネットマネージャ。異なるサブネットマネージャが前記マスターサブネットマネージャとして選択される場合、前記サブネットは、異なるプライベートセキュアキーに関連付けられるよう再構成される、請求項38に記載のサブネットマネージャ。各異なるプライベートセキュアキーは、前記サブネットにおける他のサブネットマネージャに知られる異なる範囲内に定義される、請求項38に記載のサブネットマネージャ。どのサブネットマネージャが現在前記マスターサブネットマネージャであるかによって、定義された範囲のどのプライベートセキュアキーが用いられているかを動的に判断するよう構成される判断モジュールをさらに含む、請求項38に記載のサブネットマネージャ。スプリットブレインシナリオを防止するよう、新しいマスターサブネットマネージャが選択された後で、古いマスターサブネットマネージャがマスターサブネットマネージャとして通常動作を再開するのを自動的に防止される、請求項38に記載のサブネットマネージャ。前記マスターサブネットマネージャが、新しいサブネットマネージャが前記サブネットにおいて用いられるプライベートセキュアキーを認識できないので、前記新しいサブネットマネージャへの接続は意図的なものではないと判断可能であり、かつ前記新しいサブネットマネージャが前記サブネットにおける如何なる状態も変更することが防止される、請求項38に記載のサブネットマネージャ。請求項38~49のいずれか1項に記載の1つのサブネットマネージャと、外部ネットワークに接続するよう用いられる1つ以上の外部ポートと、前記ミドルウェアマシン環境における複数のホストサーバに接続するよう用いられる1つ以上の内部ポートとを含む、ネットワークスイッチ。請求項50に記載の1つ以上のネットワークスイッチを含む、ミドルウェアマシン環境をサポートするためのシステム。前記1つ以上のネットワークスイッチを通じて前記複数のホストサーバに接続する別個のストレージシステムをさらに含む、請求項51に記載のシステム。ゲストによってアクセス可能である1つ以上のゲートウェイをさらに含む、請求項51に記載のシステム。1つ以上のアップデートされたサブネット構成ポリシーは、前記アップデートされたサブネット構成ポリシーに関連付けられるプライベートセキュアキーを認識可能な1つ以上のサブネットマネージャを通じて前記サブネットに適用可能であり、前記サブネットにおける前記プライベートセキュアキーを認識できない他のサブネットマネージャは、前記1つ以上のアップデートされたサブネット構成ポリシーによる影響を受けないままにされることが可能である、請求項51に記載のシステム。ミドルウェアマシン環境をサポートするためのシステムであって、サブネット内で可用性の高いサブネットマネージャサービスを提供するよう協働するサブネットマネージャのセットを含み、前記サブネットマネージャの各々は、異なるプライベートセキュアキーに関連付けられ、前記サブネットマネージャのセットは、互いに交渉可能であるとともに、前記マスターサブネットマネージャに関連付けられる前記プライベートセキュアキーを用いて前記ミドルウェアマシン環境を構成および管理することを担うマスターサブネットマネージャを選択可能である、システム。当該IBアーキテクチャは、保護された遠隔管理された環境において、高帯域かつ低レイテンシで、多くの装置が同時に通信することを可能にするスイッチド通信ファブリックを定義する。エンドノードは、多数のIBアーキテクチャポート上で通信し得るとともに、IBアーキテクチャファブリックを通る多数のパスを用い得る。多数のIBアーキテクチャポートおよびネットワークを通るパスは、障害の許容およびデータ転送帯域幅の増加の両方のために設けられる。これらは、本発明の実施例が対応することを意図する一般的な領域である。概要本願明細書において、ミドルウェアマシン環境をサポートするためのシステムおよび方法を記載する。ミドルウェアマシン環境は、ミドルウェアマシン環境において1つ以上のノード上に存在するとともにサブネット内で可用性の高いサブネットマネージャサービスを提供するよう協働するサブネットマネージャインスタンスのセットとを含み得、上記サブネットマネージャインスタンスの各々は、異なるプライベートセキュアキーに関連付けられる。サブネットマネージャインスタンスのセットは、互いに交渉を行うことが可能であるとともに、マスターサブネットマネージャに関連付けられるプライベートセキュアキーを用いてミドルウェアマシン環境を構成および管理することを担うマスターサブネットマネージャを選択可能である。新しいサブネットマネージャインスタンスがマスターサブネットマネージャとして選択される場合、サブネットは、異なるプライベートセキュアキーに関連付けられるよう再構成される。スプリットブレインシナリオのような望ましくない結果を回避するよう、古いマスターサブネットマネージャが、マスターサブネットマネージャとして通常動作を再開するのを自動的に防止され得る。1つの局面では、ミドルウェアマシン環境におけるサブネット内のサブネットマネージャが提供される。当該サブネットマネージャは、異なるプライベートセキュアキーをサブネットマネージャに関連付けるよう構成される関連付けモジュールと、サブネットマネージャがサブネット内の他のサブネットマネージャと交渉を行うことを可能にするとともに、マスターサブネットマネージャに関連付けられたプライベートセキュアキーを用いてミドルウェアマシン環境を構成および管理することを担うマスターサブネットマネージャを選択することを可能にするよう構成される交渉モジュールとを含む。いくつかの実施例では、サブネットはインフィニバンドIBサブネットである。いくつかの実施例では、サブネットマネージャは、サブネットマネージャが帯域内通信プロトコルを用いてサブネット内の他のサブネットマネージャと通信するのを可能にするよう構成される通信モジュールをさらに含む。いくつかの実施例では、サブネットは、サブネットパーティションによって実現される資源ドメインの動的なセットに分けられることが可能である。いくつかの実施例では、サブネットマネージャは、パーティショニングポリシーが特定されていない場合、サブネットマネージャがマスターサブネットマネージャとして選択されたことに応答して、デフォルトのパーティショニングポリシーを用いてマスターサブネットマネージャを初期化するよう構成される初期化モジュールをさらに含む。いくつかの実施例では、プライベートセキュアキーは、サブネットにおける認証されたエンティティにのみ知られる64ビットの秘密値であるM_キーである。いくつかの実施例では、サブネットにおけるポートに関連付けられるサブネット管理エージェントSMAがM_キー値を有するよう構成される場合、帯域内リクエストは、ポートに関連付けられる状態を変更するようM_キー値を特定する必要がある。いくつかの実施例では、異なるサブネットマネージャがマスターサブネットマネージャとして選択される場合、サブネットは、異なるプライベートセキュアキーに関連付けられるよう再構成される。いくつかの実施例では、各異なるプライベートセキュアキーは、サブネットにおける他のサブネットマネージャに知られる異なる範囲内に定義される。いくつかの実施例では、サブネットマネージャは、どのサブネットマネージャが現在マスターサブネットマネージャであるかによって、定義された範囲のどのプライベートセキュアキーが用いられているかを動的に判断するよう構成される判断モジュールをさらに含む。いくつかの実施例では、スプリットブレインシナリオを防止するよう、新しいマスターサブネットマネージャが選択された後で、古いマスターサブネットマネージャがマスターサブネットマネージャとして通常動作を再開するのを自動的に防止される。いくつかの実施例では、マスターサブネットマネージャが、新しいサブネットマネージャがサブネットにおいて用いられるプライベートセキュアキーを認識できないので、新しいサブネットマネージャへの接続は意図的なものではないと判断可能であり、かつ新しいサブネットマネージャがサブネットにおける如何なる状態も変更することが防止される。別の局面では、本開示の1つの局面に従った1つのサブネットマネージャと、外部ネットワークに接続するよう用いられる1つ以上の外部ポートと、ミドルウェアマシン環境における複数のホストサーバに接続するよう用いられる1つ以上の内部ポートとを含むネットワークスイッチが提供される。さらに別の局面では、本開示の別の局面に従った1つ以上のネットワークスイッチを含む、ミドルウェアマシン環境をサポートするためのシステムが提供される。いくつかの実施例では、システムは、上記1つ以上のネットワークスイッチを通じて複数のホストサーバに接続する別個のストレージシステムをさらに含む。いくつかの実施例では、システムは、ゲストによってアクセス可能である1つ以上のゲートウェイをさらに含む。いくつかの実施例では、1つ以上のアップデートされたサブネット構成ポリシーは、アップデートされたサブネット構成ポリシーに関連付けられるプライベートセキュアキーを認識可能な1つ以上のサブネットマネージャを通じてサブネットに適用可能であり、サブネットにおけるプライベートセキュアキーを認識できない他のサブネットマネージャは、1つ以上のアップデートされたサブネット構成ポリシーによる影響を受けないままにされることが可能である。さらに別の局面では、ミドルウェアマシン環境をサポートするためのシステムが提供される。当該システムは、サブネット内で可用性の高いサブネットマネージャサービスを提供するよう協働するサブネットマネージャのセットを含み、サブネットマネージャの各々は、異なるプライベートセキュアキーに関連付けられ、サブネットマネージャのセットは、互いに交渉可能であるとともに、マスターサブネットマネージャに関連付けられるプライベートセキュアキーを用いてミドルウェアマシン環境を構成および管理することを担うマスターサブネットマネージャを選択可能である。詳細な説明本願明細書において、ミドルウェアマシンまたは同様のプラットフォームを提供するためのシステムおよび方法を記載する。本発明の実施例に従うと、当該システムは、高性能ハードウェアたとえば64ビットプロセッサ技術、高性能な大きなメモリ、ならびに冗長なインフィニバンドおよびイーサネット登録商標ネットワーキングと、WebLogicSuiteのようなアプリケーションサーバまたはミドルウェア環境との組合せを含み、これにより、迅速に備えられ得るとともにオンデマンドでスケール変更可能な大規模並列メモリグリッドを含む完全なJava登録商標EEアプリケーションサーバコンプレックスを提供する。本発明の実施例に従うと、当該システムは、アプリケーションサーバグリッド、ストレージエリアネットワーク、およびインフィニバンドIBネットワークを提供するフルラック、ハーフラック、もしくはクォーターラック、または他の構成として展開され得る。ミドルウェアマシンソフトウェアは、たとえばWebLogicServer、JRockitまたはHotspotJVM、OracleLinux登録商標またはSolaris、およびOracleVMといった、アプリケーションサーバと、ミドルウェアと、他の機能性とを提供し得る。本発明の実施例に従うと、当該システムは、IBネットワークを介して互いに通信する複数の計算ノードと、1つ以上のIBスイッチゲートウェイと、ストレージノードまたはユニットとを含み得る。ラック構成として実施される場合、当該ラックの未使用部分は、空のままとされるか、またはフィラーfillerによって占有され得る。本願明細書においてSunOracleExalogicまたはExalogicと称される本発明の実施例に従うと、当該システムは、OracleMiddlewareSWsuiteまたはWeblogicといったミドルウェアまたはアプリケーションサーバソフトウェアをホスティングするための、展開が容易なソリューションである。本願明細書に記載されるように、実施例に従うと、当該システムは、1つ以上のサーバと、ストレージユニットと、ストレージネットワーキングのためのIBファブリックと、ミドルウェアアプリケーションをホストするために要求されるすべての他のコンポーネントとを含むグリッドインアボックスgridinaboxである。たとえばRealApplicationClustersおよびExalogicopenstorageを用いて大規模並列グリッドアーキテクチャを活用することにより、すべてのタイプのミドルウェアアプリケーションのために有意な性能が与えられ得る。このシステムは、線形のI/Oスケーラビリティとともに向上した性能を与え、使用および管理が簡易であり、ミッションクリティカルな可用性および信頼性を与える。図1は、本発明の実施例に従った、ミドルウェアマシンのための例示的な構成の図を示す図である。図1に示されるように、ミドルウェアマシン100は、28のサーバノードに接続する2つのゲートウェイネットワークスイッチまたはリーフネットワークスイッチ102および103を含む単一のラック構成を用いる。さらに、ミドルウェアマシンについては、異なる構成が存在する。たとえば、サーバノードの一部を含むハーフラック構成が存在し得るとともに、多数のサーバを含むマルチラック構成も存在する。図1に示されるように、サーバノードは、ゲートウェイネットワークスイッチによって与えられるポートに接続し得る。図1に示されるように、各サーバマシンは、2つのゲートウェイネットワークスイッチ102および103への接続を別個に有し得る。たとえば、ゲートウェイネットワークスイッチ102は、サーバ1~14のポート1である106と、サーバ15~28のポート2である107とに接続し、ゲートウェイネットワークスイッチ103は、サーバ1~14のポート2である108と、サーバ15~28のポート1である109とに接続する。本発明の実施例に従うと、各ゲートウェイネットワークスイッチは、異なるサーバと接続するのに用いられる複数の内部ポートを有し得るとともに、ゲートウェイネットワークスイッチは、既存のデータセンタサービスネットワークといった外部ネットワークと接続するのに用いられる外部ポートも有し得る。本発明の実施例に従うと、当該ミドルウェアマシンは、ゲートウェイネットワークスイッチを通ってサーバに接続する別個のストレージシステム110を含み得る。さらに、当該ミドルウェアマシンは、2つのゲートウェイネットワークスイッチ102および103に接続するスパインネットワークスイッチspinenetworkswitch101を含み得る。図1に示されるように、ストレージシステムからスパインネットワークスイッチへの2つのリンクが随意に存在し得る。IBファブリック/サブネット本発明の実施例に従うと、ミドルウェアマシン環境におけるIBファブリック/サブネットは、ファットツリートポロジfattreetopologyにおいて相互接続される多数の物理的なホストまたはサーバ、スイッチインスタンス、およびゲートウェイインスタンスを含み得る。図2は、本発明の実施例に従った、ミドルウェアマシン環境の図を示す図である。図2に示されるように、ミドルウェアマシン環境200は、複数のエンドノードに接続するIBサブネットまたはファブリック220を含む。IBサブネットは、各々が複数のネットワークスイッチ201~204の1つといったノード上に存在する複数のサブネットマネージャ211~214を含む。これらのサブネットマネージャは、管理データグラムManagementDatagram;MAD/サブネット管理パケットSubnetManagementPacket;SMPに基づくプロトコルのような帯域内通信プロトコル210、またはインターネットプロトコルオーバーIBInternetProtocoloverIB;IPoIBのような他のプロトコルを用いて互いに通信し得る。本発明の実施例に従うと、単一のIPサブネットは、同じIBファブリックにおいてスイッチ同士が確実に互いに通信することすなわちすべてのスイッチの間での完全な接続性を可能にするIBファブリック上に構成され得る。このファブリックに基づくIPサブネットは、作動状態のリンクを有する少なくとも1つルートが任意の対のスイッチの間に存在する場合に、当該2つのスイッチ同士の間の接続性を提供し得る。リルーティングにより代替的なルートが存在する場合には、リンク障害からの回復が達成され得る。これらのスイッチの管理イーサネット登録商標インターフェイスは、すべてのスイッチ同士の間にIPレベルの接続性を提供する単一のネットワークに接続され得る。各スイッチは、外部の管理イーサネット登録商標のためのIPアドレスと、ファブリックに基づくIPサブネットのためのIPアドレスとの2つの主なIPアドレスによって識別され得る。各スイッチは、両方のIPアドレスを用いて、すべての他のスイッチへの接続性を監視し得るとともに、通信のために、いずれかの使用可能なアドレスを用い得る。さらに、各スイッチは、ファブリック上において、各々の直接的に接続されたスイッチへのポイントツーポイントIPリンクを有し得る。したがって、少なくとも1つの付加的なIPアドレスが存在し得る。IPルーティングセットアップにより、ネットワークスイッチが、ファブリックIPサブネットと、外部の管理イーサネット登録商標ネットワークと、スイッチの対の間の1つ以上のファブリックレベルのポイントツーポイントIPリンクとの組合せを用いて、中間のスイッチを介して別のスイッチにトラフィックをルーティングすることが可能になる。IPルーティングにより、ネットワークスイッチへの外部の管理アクセスが、ネットワークスイッチ上の外部のイーサネット登録商標ポートを介して、かつファブリック上の専用のルーティングサービスを通じて、ルーティングされることが可能になる。IBファブリックは、管理ネットワークへの管理イーサネット登録商標アクセスを有する複数のネットワークスイッチを含む。ファブリックにおけるスイッチ同士の間の帯域内の物理的な接続性が存在する。一例では、IBファブリックが劣化しない場合には、スイッチの各対同士の間に1つ以上のホップの少なくとも1つの帯域内ルートが存在する。IBファブリックのための管理ノードは、ネットワークスイッチと、IBファブリックに接続される管理ホストとを含む。サブネットマネージャは、そのプライベートIPアドレスのいずれかを介してアクセスされ得る。サブネットマネージャはさらに、サブネットマネージャがマスターサブネットマネージャとしての役割を担う際に、マスターサブネットマネージャのために構成されるフローティングIPアドレスを介してアクセス可能であり得、当該サブネットマネージャは、当該役割から明示的に解放される際には、構成解除される。外部の管理ネットワークと、ファブリックに基づく管理IPネットワークとの両方のためにマスターIPアドレスが定義され得る。ポイントツーポイントIPリンクのために特別なマスターIPアドレスが定義される必要はない。本発明の実施例に従うと、各物理的なホストは、バーチャルマシンに基づくゲストを用いて仮想化され得る。たとえばCPUコアごとに1つのゲストといったように、物理的なホストごとに同時に複数のゲストが存在し得る。さらに、各物理的なホストは、デュアルポートが設けられた少なくとも1つのホストチャネルアダプタHCAを有し得る。当該ホストチャネルアダプタは、仮想化されるとともに、ゲスト同士の間で共有され得る。そのため、仮想化されたHCAのファブリックビューは、ちょうど仮想化/共有されていないHCAのような、デュアルポートが設けられた単一のHCAである。IBファブリックは、IBパーティションによって実現される資源ドメインの動的なセットへと分けられ得る。IBファブリックにおける各物理的なホストおよび各ゲートウェイインスタンスは、複数のパーティションのメンバーであり得る。さらに、同じまたは異なる物理的なホスト上の複数のゲストが、同じまたは異なるパーティションのメンバーとなり得る。IBファブリックのためのIBパーティションの数は、P_キーのテーブルサイズによって制限されてもよい。本発明の実施例に従うと、ゲストは、当該ゲストにおけるvNICドライバから直接的にアクセスされる2つ以上のゲートウェイインスタンス上にて、仮想ネットワークインターフェイスカードvNICsのセットを開き得る。ゲストは、更新されたvNIC関連付けを保持しつつまたは有しつつ、物理的なホスト同士の間を移行し得る。本発明の実施例に従うと、スイッチは、任意の順番で始動し得、たとえばIBが特定された交渉プロトコルのような異なる交渉プロトコルに従って、マスターサブネットマネージャを動的に選択し得る。パーティショニングポリシーが特定されていない場合、デフォルトのパーティショニングイネーブルポリシーが用いられ得る。さらに、管理ノードパーティションおよびファブリックに基づく管理IPサブネットは、任意の付加的なポリシー情報と独立して、かつ完全なファブリックポリシーをマスターサブネットマネージャが知っているかどうかから独立して、確立され得る。ファブリックレベル構成ポリシー情報がファブリックに基づくIPサブネットを用いて同期されるよう、サブネットマネージャは、デフォルトのパーティションポリシーを用いて最初に始動し得る。ファブリックレベルの同期が達成されると、ファブリックについて現在のパーティション構成が、マスターサブネットマネージャによってインストールされ得る。M_キー本発明の実施例に従うと、サブネットマネージャインスタンスのセットは、プライベートセキュアキーを用いてIBサブネット内で可用性の高いサブネットマネージャサービスを提供するよう協働し得る。このようなプライベートセキュアキーの一例は、IBファブリックにおけるさまざまなネットワーク異常の望ましくない結果からの保護を促進するよう用いられ得るM_キーである。一実施例では、当該M_キーは、パスワードの機能を有するとともに、IBファブリックにおける認証されたエンティティにのみ知られる64ビットの秘密値である。IBファブリックにおけるポートに関連付けられるサブネット管理エージェントSubnetManagementAgent;SMAがM_キー値を有するよう構成される場合、当該ポートに関連付けられる状態を変更する如何なる帯域内SMPリクエストも正しいM_キー値を特定する必要がある。図3は、本発明の実施例に従った、M_キーを用いるミドルウェアマシン環境の図を示す。図3に示されるように、ミドルウェアマシン環境300におけるIBサブネットまたはファブリック320は、複数のサブネットマネージャ311~314を含む。各サブネットマネージャは、複数のネットワークスイッチ301~304の1つに存在し、異なるM_キー321~324に関連付けられる。サブネットマネージャは、帯域内通信プロトコル310を用いて互いに通信し得る。サブネットマネージャは、互いに交渉を行い得、ミドルウェアマシン環境においてIBファブリックを構成および管理することを担うマスターサブネットマネージャを選択し得る。図3に示されるような例では、サブネットマネージャA311がマスターサブネットマネージャとして選択される。その結果、サブネットマネージャAに関連付けられるM_キーA321が、IBサブネットを構成および管理するために選択される。さらに、図3に示されるようなサブネットマネージャB~D312~314の各々は、サブネットマネージャAを監視し得るとともに、必要な場合、マスターサブネットマネージャを引き継ぐ準備をし得る。図4は、本発明の実施例に従った、M_キーを用いてIBファブリックにおいてルーティングロジックをセットアップするための例示的なフローチャートを示す図である。図4に示されるように、ステップ401では、当該システムは、M_キーのような異なるプライベートセキュアキーを、IBファブリックにおける各サブネットマネージャインスタンスに関連付け得る。サブネットマネージャインスタンスは、IBサブネットにおいて、可用性の高いサブネットマネージャサービスを提供するよう協働する。次いでステップ402では、サブネットマネージャインスタンスは、互いに交渉を行い得、マスターサブネットマネージャを選択し得る。最後にステップ403では、マスターサブネットマネージャは、マスターサブネットマネージャに関連付けられたプライベートセキュアキーを用いて、ミドルウェアマシン環境を構成および管理し得る。図5は、本発明の実施例に従った、M_キーを用いてIBファブリックにおいてルーティングロジックをセットアップするための例示的なフローチャートを示す図である。図5に示されるように、ステップ501では、マスターサブネットマネージャはまず、SMPリクエストパケットを用いて、物理的なIBサブネットにおいて、完全な接続されたポートトポロジを発見することを試み得る。次いで、ステップ502では、マスターサブネットマネージャは、M_キーを用いてどのポートを制御することが許されているかを判断、および/または帯域外ポリシー入力を介して定義される明示的なノード/ポートリスト構成情報を判断し得る。最後に、ステップ503では、マスターサブネットマネージャは、発見されたポートトポロジに基づき、IBファブリックにおいて通常のデータパケット通信を可能にする前に、IBファブリックにおいてルーティングロジックをセットアップし得る。ランナウェイrunawayサブネットマネージャインスタンスからの保護本発明の一実施例に従うと、各サブネットマネージャインスタンスは、同じIBファブリックにおける他のサブネットマネージャインスタンスに知られている特定のM_キー値/範囲に関連付けられ得る。IBファブリックにおけるサブネットマネージャインスタンスのセットは、どのサブネットマネージャが現在マスターサブネットマネージャであるかによって、定義された範囲におけるどのM_キーが使用されているかを動的に判断し得る。図6は、本発明の実施例に従った、明示的な引継ぎスキームをサポートするミドルウェアマシン環境の図を示す。図6に示されるように、サブネットマネージャA611は、停止または故障しており、たとえば、サブネットマネージャAがある期間の間、通常動作の実行およびスタンバイしたサブネットマネージャインスタンスとのハンドシェイクを行うことを防止されており、サブネットマネージャC613は、次いでIBサブネット620を引き継ぐ。したがって、サブネットマネージャCに関連付けられるM_キーC623は、古いM_キーであるM_キーAを置き換え、IBファブリック620において用いられる。本発明の一実施例に従うと、古いランナウェイマスターサブネットマネージャ、たとえば図6に示されるようなサブネットマネージャAは、たとえば自身が実行されるプラットフォーム上でのスケジューリング問題によりかなりの期間の間、実行が中断および/または防止され得る。サブネットマネージャAが再びIBファブリックに接続すると、サブネットマネージャAは、新しいマスターサブネットマネージャが当該IBサブネットのために選択されており、新しいM_キーがIBファブリックにおいて用いられていることを認識し得る。次いで、当該システムは、スプリットブレインsplitbrainシナリオといったような望ましくない結果を回避するために、当該サブネットマネージャAがマスターサブネットマネージャとして通常動作を再開することを自動的に防止し得る。このスプリットブレインシナリオは、サブネットにおいて、新しいマスターサブネットマネージャからの同時アップデートと相反する態様で、古いマスターサブネットマネージャがノードおよびポート上にて状態アップデートを行う際に発生し得る。図7は、本発明の実施例に従った、ミドルウェアマシン環境において明示的な引継ぎスキームをサポートするための例示的なフローチャートを示す図である。図7に示されるように、ステップ701では、当該システムは、かなりの期間の間の古いマスターサブネットマネージャの中断を検出し得る。次いで、ステップ702では、サブネットマネージャインスタンスのセットが、新しいマスターサブネットマネージャを選択し得る。IBファブリックは、ステップ703において、古いマスターサブネットマネージャに関連付けられる古いM_キーを、新しいマスターサブネットマネージャに関連付けられる新しいM_キーに置換し得る。最後に、ステップ704では、IBファブリックは、スプリットブレインシナリオのような望ましくない結果を回避するために、古いサブネットマネージャがマスターサブネットマネージャとして通常動作を再開することを自動的に防止し得る。アップデートされたサブネット構成ポリシーを受信できないサブネットマネージャインスタンスの堅牢なフェンシングfencing本発明の実施例に従うと、サブネット構成ポリシーのような新しいポリシーは、存在するサブネットマネージャインスタンスの動作状態または到達可能性によることなく、サブネットマネージャインスタンスの新しいセットを実現することまたはサブネットマネージャインスタンスの古いセットをアップデートすることによってIBサブネットに適用され得る。図8は、本発明の実施例に従った、アップデートされたサブネット構成ポリシーを受信できないサブネットマネージャインスタンスの堅牢なフェンシングをサポートするミドルウェアマシン環境の図を示す。図8に示されるように、アップデートされたサブネット構成ポリシー809は、サブネットマネージャA811およびサブネットマネージャC813を介して、IBサブネット820に適用され得る。サブネットマネージャAおよびサブネットマネージャCは、それらの間でのみ認識可能なM_キー値範囲を有し得る。本発明の実施例に従うと、当該システムは、ACIDに準拠した態様のような調整された態様で、アップデートされたサブネット構成ポリシーを受信できないサブネットマネージャインスタンスの堅牢なフェンシングを確実にし得る。図8に示されるような例では、IBサブネットに存在するサブネットマネージャであるサブネットマネージャB812およびサブネットマネージャD814は、アップデートされたサブネット構成ポリシーに関連付けられたM_キー値を認識できない。したがって、サブネットマネージャBおよびサブネットマネージャDは、アップデートされたサブネット構成ポリシーを受信できない。その結果、サブネットマネージャBおよびDは新しいポリシーに影響されないまま、アップデートされた構成ポリシーがサブネットマネージャAおよびCを通じてIBサブネットに適用され得る。さらに、サブネットマネージャBまたはDのいずれも、対応するノード上にローカルに格納される任意の古いおよび潜在的に古い構成ポリシーに基づき、サブネットの状態を変更し得ない。図9は、本発明の実施例に従った、ミドルウェアマシン環境においてアップデートされたサブネット構成ポリシーを受信できないサブネットマネージャインスタンスの堅牢なフェンシングをサポートするための例示的なフローチャートを示す。図9に示されるように、ステップ901では、ユーザは、IBファブリックのためにアップデートされたサブネット構成ポリシーを提供し得る。ステップ902では、IBファブリックは、アップデートされたサブネット構成ポリシーに関連付けられるM_キーを認識し得る1つ以上のサブネットマネージャを通じて、アップデートされたサブネット構成ポリシーを適用し得る。次いで、ステップ903では、IBサブネットにおけるM_キーを認識し得ないサブネットマネージャは、新しいポリシーによる影響を受けないままにされ得る。これにより、このようなサブネットマネージャは、このサブネットにおける協働するサブネットマネージャの群から実際上除外される。偶発的なサブネットマージのマイナスの影響からの保護図10は、本発明の実施例に従った、偶発的なサブネットマージを有するミドルウェアマシン環境の図を示す。図10に示されるように、ミドルウェアマシン環境1000におけるIBサブネットまたはファブリック1020は、複数のエンドノードを管理する。サブネットマネージャA1001は、M_キーA1021を用いてIBサブネットを構成および管理するマスターサブネットマネージャである。本発明の実施例に従うと、当該システムは、偶発的なサブネットマージに関連付けられる起こり得るマイナスの影響から保護し得る。図10に示されるような例において、IBファブリックの一部ではないサブネットマネージャE1005は、ネットワーク接続1030を介して誤ってIBサブネット1020に偶発的に接続される。サブネットマネージャE1015はまず、M_キーまたは明示的なノード/ポートリスト構成を用いて、ポートトポロジを発見するよう試み得る。IBファブリックへのサブネットマネージャEの接続は意図的なものではないので、サブネットマネージャEは、IBサブネット1020において用いられるM_キーC1021を認識し得ない。したがって、サブネットマネージャEは、不正アクセスといった望ましくない結果を防止するために、IBサブネット1020におけるポート/ノードと通信することはない。さらに、サブネットマネージャAは、サブネットマネージャEが一部である他のサブネットにおいて用いられるM_キー値を知らなくてもよい。したがって、当該サブネットマネージャAは、他のサブネットにおいて如何なる状態も変更することを試みることはなくなるか、または変更することが可能ではなくなる。したがって、2つのIBサブネット同士の間に確立された上記偶発的な接続性の結果、IBサブネット1020または他のIBサブネットのいずれにおいても、状態の変化は発生し得ない。図11は、本発明の実施例に従った、ミドルウェアマシン環境における偶発的なサブネットマージのマイナスの影響からの保護のための例示的なフローチャートを示す。図11に示されるように、ステップ1101では、IBサブネットにおけるマスターサブネットマネージャは、別のIBサブネットからの新しいサブネットマネージャを検出し得る。次いで、ステップ1102では、マスターサブネットマネージャは、新しいサブネットマネージャが当該IBサブネットにおいて用いられるM_キーを認識し得ないので、当該接続が意図しないものであると判断し得る。したがって、IBファブリックは、ステップ1103において、新しいサブネットマネージャがIBサブネットにおいて如何なる状態も変更することを防止し得る。いくつかの実施例に従うと、図12は、ミドルウェアマシン環境におけるサブネット内において、上述したような本発明の原理に従って構成されるサブネットマネージャ1200の機能ブロック図を示す。図13は、図12に示されるようなサブネットマネージャ1200を含む、上述したような本発明の原理に従って構成されるネットワークスイッチ1300の機能ブロック図を示す。図14は、図13に示されるようなネットワークスイッチ1300を含む、上述したような本発明の原理に従って構成されるサポートシステム1400の機能ブロック図を示す。当該サブネットマネージャ、ネットワークスイッチ、およびサポートシステムの機能ブロックは、本発明の原理を実施するために、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組合せによって実現され得る。当業者であれば、図12~図14に記載される機能ブロックは、上述したような本発明の原理を実現するために、組み合されてもよく、またはサブブロックへと分離されてもよいということが理解される。したがって、本願明細書における記載は、本願明細書において記載される機能ブロックの任意の可能な組合せ、分離、またはさらに他の定義をサポートし得る。図12に示されるように、サブネットマネージャ1200は、関連付けモジュール1202と交渉モジュール1204とを含み得る。いくつかの実施例では、関連付けモジュール1202は、異なるプライベートセキュアキーをサブネットマネージャに関連付けるよう構成され得る。交渉モジュール1204は、サブネットマネージャがサブネット内の他のサブネットマネージャと交渉することを可能にするよう構成され得るとともに、マスターサブネットマネージャに関連付けられるプライベートセキュアキーを用いてミドルウェアマシン環境を構成および管理することを担うマスターサブネットマネージャを選択することを可能にするよう構成され得る。いくつかの実施例では、サブネットは、インフィニバンドIBサブネットである。いくつかの実施例では、サブネットは、サブネットパーティションによって実現される資源ドメインの動的なセットへと分けられ得る。いくつかの実施例では、代替的には、サブネットマネージャ1200は、サブネットマネージャが帯域内通信プロトコルを用いて当該サブネット内の他のサブネットマネージャと通信することを可能にするよう構成される通信モジュール1206をさらに含み得る。いくつかの実施例では、代替的には、パーティショニングポリシーが特定されていない場合、サブネットマネージャ1200は、サブネットマネージャ1200がマスターサブネットマネージャとして選択されたことに応答して、デフォルトのパーティショニングポリシーを用いてマスターサブネットマネージャを初期化するよう構成される初期化モジュール1208をさらに含み得る。いくつかの実施例では、プライベートセキュアキーは、当該サブネットにおける認証されたエンティティにのみ知られる64ビットの秘密値であるM_キーである。当該サブネットにおけるポートに関連付けられるサブネット管理エージェントSMAが、M_キー値を有するよう構成される場合、帯域内リクエストは、当該ポートに関連付けられる状態を変更するようM_キー値を特定する必要がある。いくつかの実施例では、サブネットは、異なるサブネットマネージャがマスターサブネットマネージャとして選択される場合、異なるプライベートセキュアキーに関連付けられるよう再構成される。いくつかの実施例では、異なるプライベートセキュアキーの各々は、当該サブネット内の他のサブネットマネージャに知られる異なる範囲において定義される。いくつかの実施例では、代替的には、サブネットマネージャ1200は、どのサブネットマネージャインスタンスが現在マスターサブネットマネージャであるかによって、定義された範囲内のどのプライベートセキュアキーが用いられているかを動的に判断するよう構成される判断モジュール1210をさらに含み得る。いくつかの実施例では、古いマスターサブネットマネージャは、スプリットブレインシナリオを防止するよう新しいマスターサブネットマネージャが選択された後、マスターサブネットマネージャとして通常動作を再開することが自動的に防止される。いくつかの実施例では、マスターサブネットマネージャは、新しいサブネットマネージャは、サブネットにおいて用いられるプライベートセキュアキーを認識し得ないので、新しいサブネットマネージャへの接続は意図しないものであると判断し得、当該新しいサブネットマネージャは、サブネットにおいて如何なる状態も変更することを防止される。図13に示されるように、ネットワークスイッチ1300は、図12に示されるような1つのサブネットマネージャ1200と、1つ以上の外部ポート1304と、1つ以上の内部ポート1308とを含み得る。外部ポート1304は、外部ネットワークに接続するよう用いられる。内部ポート1308は、ミドルウェアマシン環境における複数のホストサーバに接続するよう用いられる。図14に示されるように、サポートシステム1400はさらに、図13に示されるような1つ以上のネットワークスイッチ1300を含み得る。いくつかの実施例では、代替的には、当該サポートシステム1400はさらに、上記1つ以上のネットワークスイッチを通じて複数のホストサーバに接続する別個のストレージシステム1404を含み得る。いくつかの実施例では、代替的には、サポートシステム1400は、ゲストがアクセス可能である1つ以上のゲートウェイ1408をさらに含み得る。ゲートウェイ1408は、ネットワークスイッチ1300とは別個のコンポーネントとして示されているが、いくつかの実施例では、ゲートウェイ1408はネットワークスイッチ1300上に存在し得る。いくつかの実施例では、1つ以上のアップデートされたサブネット構成ポリシーは、アップデートされたサブネット構成ポリシーに関連付けられるプライベートセキュアキーを認識できる1つ以上のサブネットマネージャ1200を通じてサブネットに適用され得、当該サブネットにおける上記プライベートセキュアキーを認識できない他のサブネットマネージャ1200は、当該1つ以上のアップデートされたサブネット構成ポリシーによる影響を受けないままにされ得る。本発明は、1つ以上のプロセッサ、メモリ、および/または本開示の教示に従ってプログラムされたコンピュータ可読記憶媒体を含む1つ以上の従来の汎用または専用デジタルコンピュータ、コンピューティング装置、マシン、またはマイクロプロセッサを用いて簡便に実施され得る。ソフトウェア技術の当業者には明らかであるように、適切なソフトウェアコーディングは、熟練したプログラマによって本開示の教示に基づき容易に用意され得る。いくつかの実施例では、本発明は、本発明の処理のいずれかを実行するようコンピュータをプログラムするのに用いられ得る命令を格納した記憶媒体またはコンピュータ可読媒体であるコンピュータプログラムプロダクトを含む。当該記憶媒体は、フロッピー登録商標ディスク、光ディスク、DVD、CD-ROM、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ素子、磁気または光学カード、ナノシステム分子メモリICを含む、または命令および/またはデータを格納するのに好適な任意のタイプの媒体もしくは装置を含み得るが、これらに限定されない。本発明の上記の記載は、例示および説明目的で与えられている。網羅的であることまたは開示されたそのものの形態に本発明を限定することを意図したものではない。当業者にとっては、多くの修正例および変形例が明確であろう。上記の実施例は、本発明の原理およびその実際的な適用をもっともよく説明するために選択および記載されたものであり、これにより他の当業者が、特定の使用に好適なさまざまな修正例を考慮して、さまざまな実施例について本発明を理解するのが可能になる。本発明の範囲は、添付の特許請求の範囲およびそれらの均等物によって定義されることが意図される。