(57)【特許請求の範囲】
【請求項１】
ネットワーク環境においてネットワーク管理をサポートするための方法であって、
前記ネットワーク環境においてスイッチ上のコンフィギュレーションデーモン（ＣＤ）を介してコンフィギュレーションファイルを受信することを備え、前記コンフィギュレーションファイルは既知の管理鍵（M_Key）の値の一覧を含み、
前記コンフィギュレーションファイルは、信頼されるM_Keyと、前記信頼されるM_Keyに基づいてユーザに透過に生成される１つ以上の鍵の値とを含み、さらに、前記方法は、
前記コンフィギュレーションファイルを格納し、前記スイッチ上のローカルサブネットマネージャ（ＳＭ）が前記コンフィギュレーションファイルを利用できるようにすることを備え、前記ローカルＳＭは現在用いられているM_Keyの値と関連付けられ、さらに
前記ネットワーク環境においてマスタＳＭと関連付けられるマスタＣＤから指示を受信した後に新しいM_Keyで前記ローカルＳＭを更新することを備える、方法。
【請求項２】
ネットワーク環境においてネットワーク管理をサポートするためのシステムであって、
１つ以上のマイクロプロセッサと、
前記１つ以上のマイクロプロセッサ上で実行するスイッチ上のコンフィギュレーションデーモン（ＣＤ）とを備え、前記ＣＤは、
既知の管理鍵（M_Key）の値の一覧を含むコンフィギュレーションファイルを受信するように、動作し、
前記コンフィギュレーションファイルは、信頼されるM_Keyと、前記信頼されるM_Keyに基づいてユーザに透過に生成される１つ以上の鍵の値とを含み、
前記ＣＤは、さらに、
前記コンフィギュレーションファイルを格納し、かつ、現在用いられているM_Keyの値と関連付けられる前記スイッチ上のローカルサブネットマネージャ（ＳＭ）が前記コンフィギュレーションファイルを利用できるようにするように、
前記ネットワーク環境においてマスタＳＭと関連付けられるマスタＣＤから指示を受信した後に新しいM_Keyで前記ローカルＳＭを更新するように、動作する、システム。
【請求項３】
前記ローカルＳＭは、前記ローカルＳＭが前記新しいM_Keyで更新されるまで、任意のサブネット管理エージェント（ＳＭＡ）インスタンスのM_Keyの値を更新する／設定する際に古い現在のM_Keyを用い続ける、請求項２に記載のシステム。
【請求項４】
前記ＣＤは、専用のＳＭコマンドラインインターフェイス（ＣＬＩ）コマンドを用いて前記ローカルＳＭを更新するように動作する、請求項２または３に記載のシステム。
【請求項５】
前記ＣＤは、前記ＳＭおよびＣＤの少なくとも１つが再始動されると、現在のローカル秘密鍵コンフィギュレーションで前記ローカルＳＭを更新するように動作する、請求項２〜４のいずれか１項に記載のシステム。
【請求項６】
前記コンフィギュレーションファイルは、現在用いられているM_Keyの値および意図される新しいM_Keyの値についての情報を含有する、請求項２〜５のいずれか１項に記載のシステム。
【請求項７】
前記ＣＤは、既知のM_Keyの値の前記一覧の中に現在用いられているM_Keyの値を記録するように動作する、請求項２〜６のいずれか１項に記載のシステム。
【請求項８】
前記新しいM_Keyの値は、利用不可能なノード上のＳＭを隔離するように用いられる、請求項２〜７のいずれか１項に記載のシステム。
【請求項９】
前記マスタＣＤは、前記マスタＳＭが、待機ＳＭインスタンスが維持する任意のM_Keyの一覧に含まれるM_Keyの数以上の、既知のM_Keyを含む一覧を有することを確実にするように動作する、請求項２〜８のいずれか１項に記載のシステム。
【請求項１０】
前記ＣＤは、前記マスタＣＤに対するコミット動作を開始するように動作する、請求項２〜９のいずれか１項に記載のシステム。
【請求項１１】
機械可読プログラムであって、実行されると、システムに、
ネットワーク環境中のスイッチ上のコンフィギュレーションデーモン（ＣＤ）を介して既知の管理鍵（M_Key）の値の一覧を含むコンフィギュレーションファイルを受信するステップを行なわせ、
前記コンフィギュレーションファイルは、信頼されるM_Keyと、前記信頼されるM_Keyに基づいてユーザに透過に生成される１つ以上の鍵の値とを含み、
さらに、
前記コンフィギュレーションファイルを格納し、かつ、現在用いられているM_Keyの値と関連付けられる前記スイッチ上のローカルサブネットマネージャ（ＳＭ）が前記コンフィギュレーションファイルを利用できるようにするステップと、
前記ネットワーク環境においてマスタＳＭと関連付けられるマスタＣＤから指示を受信した後に新しいM_Keyで前記ローカルＳＭを更新するステップとを備えるステップを行なわせる命令を含む、プログラム。
【請求項１２】
前記マスタＣＤは、前記マスタＳＭが、待機ＳＭインスタンスが維持する任意のM_Keyの一覧に含まれるM_Keyの数以上の、既知のM_Keyを含む一覧を有することを確実にすることを、さらに備える、請求項１に記載の方法。
【請求項１３】
請求項１または１２に記載の方法をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権表示
この特許文献の開示の一部は著作権保護の対象となる内容を含む。著作権者は、特許商標庁の特許ファイルまたは記録に現れた際には特許文献または特許開示のいずれによるファクシミリ再現に対しても異議を申立てないが、それ以外のすべてのいかなる著作権も留保する。
【０００２】
発明の分野
本発明は概してコンピュータシステムおよびソフトウェアに関し、特にネットワーク環境をサポートすることに関する。
【背景技術】
【０００３】
背景
相互接続ネットワークは、次世代のスーパーコンピュータ、クラスタ、およびデータセンターにおいて有益な役割を果たす。InfiniBand（ＩＢ）技術などの高性能ネットワーク技術は、大きな帯域幅および少ない待ち時間が重要な要件である高性能コンピューティング分野におけるプロプライエタリまたは低性能ソリューションを置き換えている。
【０００４】
ホスト側処理リソースのその少ない待ち時間、大きな帯域幅、および効率的な利用により、ＩＢ技術は、大規模かつスケーラブルなコンピュータクラスタを構築するソリューションとして、高性能コンピューティング（ＨＰＣ）コミュニティ内で受入れられてきている。
【発明の概要】
【課題を解決するための手段】
【０００５】
概要
本明細書中には、ネットワーク環境においてサブネット管理をサポートするためのシステムおよび方法が記載される。ネットワーク環境は複数のコンフィギュレーションデーモン（ＣＤ）を含むことができ、各々のＣＤはネットワーク環境中のスイッチ上に常駐する。ＣＤは、既知の（known）管理鍵（M_Key）の値の一覧を含むコンフィギュレーションファイルを受信するように動作する。さらに、ＣＤは、コンフィギュレーションファイルを格納し、スイッチ上のローカルサブネットマネージャ（ＳＭ）がコンフィギュレーションファイルを利用できるようにするように動作し、ローカルＳＭは現在用いられているM_Keyの値と関連付けられる。次に、ＣＤは、ネットワーク環境においてマスタＳＭと関連付けられるマスタＣＤから指示を受信した後に新しいM_KeyでローカルＳＭを更新するように動作する。
【０００６】
本明細書中には、ネットワーク環境においてサブネット管理をサポートするためのシステムおよび方法が記載される。ネットワーク環境中のネットワークスイッチはトランザクションインターフェイスを設けることができ、トランザクションインターフェイスは、ユーザが、トランザクションを用いてネットワーク環境と対話できるようにする。トランザクションインターフェイスは、ユーザがトランザクション中の１つ以上の動作をグループ化できるようにし、トランザクション中に競合する動作が含まれないことを確実にする。
【０００７】
本明細書中には、ネットワーク環境においてサブネット管理をサポートするためのシステムおよび方法が記載される。ネットワーク環境は複数のコンフィギュレーションデーモン（ＣＤ）を含むことができ、マスタＣＤは、マスタサブネットマネージャ（ＳＭ）を有するスイッチ上のアクティブＣＤである。マスタＣＤは、ネットワーク環境において１つ以上のピアＣＤと関連付けられる１つ以上の状態について整合性チェックを行ない、かつコンフィギュレーションファイルを１つ以上のピアＣＤに複製するように動作し、コンフィギュレーションファイルは少なくとも１つの管理鍵（M_Key）の値を含む。
【０００８】
本明細書には、ネットワーク環境においてネットワーク管理をサポートするためのシステムも記載される。システムは、ネットワーク環境中のスイッチ上のコンフィギュレーションデーモン（ＣＤ）を介してコンフィギュレーションファイルを受信するための手段を備え、コンフィギュレーションファイルは既知の管理鍵（M_Key）の値の一覧を含む。システムはさらに、コンフィギュレーションファイルを格納するための手段と、スイッチ上のローカルサブネットマネージャ（ＳＭ）がコンフィギュレーションファイルを利用できるようにするための手段とを備え、ローカルＳＭは現在用いられているM_Keyの値と関連付けられる。システムはさらに、ネットワーク環境においてマスタＳＭと関連付けられるマスタＣＤから指示を受信した後に新しいM_KeyでローカルＳＭを更新するための手段を備える。
【０００９】
本明細書中には、ネットワーク環境においてネットワーク管理をサポートするためのシステムがさらに記載される。システムはスイッチ上のコンフィギュレーションデーモン（ＣＤ）を備え、ＣＤは、既知の管理鍵（M_Key）の値の一覧を含むコンフィギュレーションファイルを受信するように構成される。システムは、コンフィギュレーションファイルを格納し、スイッチ上のローカルサブネットマネージャ（ＳＭ）がコンフィギュレーションファイルを利用できるようにするようにも構成され、ローカルＳＭは現在用いられているM_Keyの値と関連付けられる。システムは、ネットワーク環境においてマスタＳＭと関連付けられるマスタＣＤから指示を受信した後に新しいM_KeyでローカルＳＭを更新するように構成される。
【００１０】
本明細書中には、ネットワーク環境においてネットワーク管理をサポートするためのシステムも記載される。システムは、ネットワークスイッチにトランザクションインターフェイスを設けるための手段を備え、トランザクションインターフェイスは、ユーザが、トランザクションを用いてネットワーク環境と対話できるようにする。システムはさらに、トランザクション中の１つ以上の動作をグループ化するための手段と、トランザクション中に競合する動作が含まれないことを確実にするための手段とを備える。
【００１１】
本明細書中には、ネットワーク環境においてネットワーク管理をサポートするためのシステムがさらに記載される。システムはネットワークスイッチを備え、ネットワークスイッチはトランザクションインターフェイスを設けるように構成され、トランザクションインターフェイスは、ユーザが、トランザクションを用いてネットワーク環境と対話できるようにする。システムは、トランザクション中の１つ以上の動作をグループ化し、トランザクション中に競合する動作が含まれないことを確実にするように構成される。
【００１２】
本明細書中には、ネットワーク環境においてネットワーク管理をサポートするためのシステムも記載される。システムは、ネットワーク環境中に複数のコンフィギュレーションデーモン（ＣＤ）を設けるための手段を備え、マスタＣＤは、マスタサブネットマネージャ（ＳＭ）を有するスイッチ上のアクティブＣＤである。システムはさらに、マスタＣＤを介して、ネットワーク環境において１つ以上のピアＣＤと関連付けられる１つ以上の状態に対する整合性チェックを行なうための手段を備え、各々の当該ピアＣＤは、待機ＳＭを有するスイッチ上のアクティブＣＤであり、システムはさらに、コンフィギュレーションファイルを１つ以上のピアＣＤに複製するための手段を備え、コンフィギュレーションファイルは少なくとも１つの管理鍵（M_Key）の値を含む。
【００１３】
本明細書中には、ネットワーク環境においてネットワーク管理をサポートするためのシステムがさらに記載される。システムはさらにマスタコンフィギュレーションデーモン（ＣＤ）を備え、マスタＣＤはマスタサブネットマネージャ（ＳＭ）を有するスイッチ上のアクティブＣＤであり、マスタＣＤは、ネットワーク環境において１つ以上のピアＣＤと関連付けられる１つ以上の状態に対して整合性チェックを行なうように構成され、各々の当該ピアＣＤは、待機ＳＭを有するスイッチ上のアクティブＣＤである。システムは、コンフィギュレーションファイルを１つ以上のピアＣＤに複製するようにも構成され、コンフィギュレーションファイルは少なくとも１つの管理鍵（M_Key）の値を含む。
【図面の簡単な説明】
【００１４】
【図１】発明の実施形態に従う、ＩＢネットワークにおいて管理鍵（M_Key）保護モデルをサポートするための図示を示す図である。
【図２】発明の実施形態に従う、ネットワーク環境においてトランザクションコマンドラインインターフェイス（ＣＬＩ）をサポートするための図示を示す図である。
【図３】発明の実施形態に従う、ネットワーク環境においてトランザクションコマンドラインインターフェイス（ＣＬＩ）をサポートするための例示的なフローチャートである。
【図４】発明の実施形態に従う、ネットワーク環境においてコンフィギュレーションデーモン（ＣＤ）を用いてサブネット管理をサポートするための図示を示す図である。
【図５】発明の実施形態に従う、ネットワーク環境においてコンフィギュレーションデーモン（ＣＤ）を用いてサブネット管理をサポートするための例示的なフローチャートである。
【図６】発明の実施形態に従う、ネットワーク環境において管理鍵（M_Key）コンフィギュレーションファイルをサポートする図示を示す図である。
【図７】発明の実施形態に従う、ネットワーク環境においてコンフィギュレーションデーモン（ＣＤ）とスイッチ上のサブネットマネージャ（ＳＭ）との間の状態の同期をサポートするための図示の図である。
【図８】発明の実施形態に従う、ネットワーク環境においてコンフィギュレーションデーモン（ＣＤ）とサブネットマネージャ（ＳＭ）との間の状態の同期をサポートするための例示的なフローチャートである。
【図９】発明の実施形態に従う特徴を示す機能ブロック図である。
【発明を実施するための形態】
【００１５】
詳細な説明
発明は、限定の目的ではなく一例として添付の図面の図に図示され、図中同じ参照番号は同様の要素を示す。この開示での「ある」または「１つの」または「いくつかの」実施形態の参照は必ずしも同じ実施形態に対するものではなく、そのような参照は少なくとも１つを意味することに留意すべきである。
【００１６】
以下のような発明の説明は、Infiniband（ＩＢ）ネットワークを高性能ネットワークの例として用いる。当業者には、他の種類の高性能ネットワークを限定なく用いることができることが明らかであろう。
【００１７】
本明細書中には、ＩＢネットワークなどのネットワークにおいてサブネット管理をサポートすることができるシステムおよび方法が記載される。
【００１８】
InfiniBand（ＩＢ）ネットワークおよび管理鍵（M_Key）保護モデル
ＩＢネットワークをサブネットと称することができる。ＩＢサブネットは、スイッチおよびポイント・ツー・ポイントリンクを用いて相互接続されるホストの組を含むことができる。加えて、ＩＢサブネットは、サブネット中にすべてのスイッチ、ルータ、およびホストチャネルアダプタ（ＨＣＡ）の構成を含むネットワークの初期化および立上げを担う少なくとも１つのサブネットマネージャ（ＳＭ）を含むことができる。
【００１９】
図１は、発明の実施形態に従う、ＩＢネットワークにおいて管理鍵（M_Key）保護モデルをサポートすることの図示を示す。図１に示されるように、ＩＢサブネット１００などのＩＢファブリックを保護するのにM_Key１０２などの管理鍵を用いることができる。M_Key１０２の値は、スイッチＡ−Ｂ  １０３−１０４への管理者アクセスおよび指定されるサブネットマネージャ（ＳＭ）ノード１０１を有することができるファブリック管理者１１０によってのみ知られてもよい。
【００２０】
ＩＢサブネット１００では、ＨＣＡ１２１−１２４中のセキュアＨＣＡファームウェア実現例は、さまざまなファブリックノードの種類およびアイデンティティを十分に規定されたままに保つことができる。ＨＣＡ１２１−１２４の各々は、たとえばＳＭＡ１３１−１３４などのサブネット管理エージェント（ＳＭＡ）コンポーネントを実現することができる。ＳＭＡ１３１−１３４の各々を、たとえばM_Key１４１−１４４などのM_Keyと関連付けることができる。
【００２１】
さらに、接続されるスイッチＡ−Ｂ  １０３−１０４は、スイッチ１０３−１０４上の帯域外の新しいM_Keyの値１０２をインストールすることができるファブリック管理者１１０によって制御可能である。このように、いずれのローグ（rogue）ＳＭＡ実現例１３１−１３４も、ＩＢサブネット／ファブリック１００で用いられるファブリック管理者１１０が規定したM_Key１０２の値を損なってはならない。
【００２２】
加えて、ファブリック管理者１１０は、スイッチＡ−Ｂ  １０３−１０４について無限のM_Key１０２リース時間があることを確実にすることができる。このように、たとえば（オペレーティングシステム１５１−１５４を含む）異なるホスト１１１−１１４上のホストベースのサブネットマネージャなどのホストベースのソフトウェア１６１−１６４は、ＩＢサブネット／ファブリック１００中の任意のスイッチＡ−Ｂ  １０３−１０４の制御を乗っ取ってはならない。
【００２３】
発明の実施形態に従うと、ＩＢ仕様規定アクセス制限に基づいて、ＩＢサブネット１００中のさまざまなノードに単一のM_Key１０２の値（またはM_Keyの値の単一の組）を用いることができる。現在のM_Key１０２の正しい値は、M_Key１０２を読出すまたは更新する前に特定される必要があり得る。というのも、セキュアＨＣＡファームウェアは、ローカルＨＣＡ１２１−１２４に割当てられる「読出保護された」M_Keyがローカルホストベースのソフトウェアに公表（exposed）されないことを確実にすることができるからである。
【００２４】
発明の実施形態に従うと、指定されるサブネットマネージャ１０１は、未知のM_Keyの値を有する任意のＨＣＡポートを無視することができ、対応のリンクを未初期化のままにしておくことができる。乗っ取られたＨＣＡポートのM_Keyの唯一の影響は、ＨＣＡポートが動作してはならないことであり、かつ指定されるサブネットマネージャ１０１が、ホストベースのソフトウェアが、通常の通信、すなわち非ＳＭＰ／ＶＬ１５ベースの通信を用いてこのＨＣＡポートを介した通信ができないようにすることができることであり得る。
【００２５】
さらに、ＨＣＡポートは、たとえば、M_Key１０２のリース期間を維持するサブネットマネージャ１０１についての高い可用性の懸念により、M_Key１０２に対するリース時間を有限にしてセットアップされることがある。
【００２６】
発明の実施形態に従うと、M_Key１０２は、ファブリック管理者１１０によって作成および管理されて、スイッチＡ−Ｂ  １０３−１０４および／またはＨＣＡ１２１−１２４上の確保されたメモリ中に格納されることができる。スイッチＡ−Ｂ  １０３−１０４またはＨＣＡ１２１−１２４上のマイクロプロセッサは、メモリにアクセスしてM_Key１０２を読出すまたはメモリにM_Key１０２を書込むことができる。
【００２７】
トランザクションコマンドラインインターフェイス（ＣＬＩ）
発明の実施形態に従うと、トランザクションコマンドラインインターフェイス（ＣＬＩ）は、たとえば、現在のマスタサブネットマネージャ（ＳＭ）を有するネットワークスイッチからネットワーク環境において動作していることができる。
【００２８】
図２は、発明の実施形態に従う、ネットワーク環境においてトランザクションコマンドラインインターフェイス（ＣＬＩ）をサポートすることの図示を示す。図２に示されるように、たとえばＩＢサブネット２００などのネットワーク環境中のスイッチ２０１は、サブネットマネージャ（ＳＭ）２０２と、コンフィギュレーションデーモン（ＣＤ）２０３とを含むことができる。
【００２９】
さらに、スイッチ２０１はトランザクションＣＬＩ２０４を設けることができ、これは、ユーザが、M_Key２０５に基づいて１つ以上のトランザクションを用いてＩＢサブネット２００を構成および管理できるようにする。図２に示されるように、システムがさまざまな動作を行なえるようにするトランザクション２１０は、開始コマンド１１１とコミットコマンド２１３との間の１つ以上のコマンド２１２をグループ化することができる。
【００３０】
発明の実施形態に従うと、たとえばトランザクション２１０などの単一のアップグレードトランザクションは競合する動作を行なってはならない。これは、トランザクション２１０内の初期動作が、トランザクション２１０の種類と、どの動作が可能にされるかとの両方を規定することができる動的なやり方で実現可能である。たとえば、トランザクション２１０を開始させる開始コマンド２１１は、どの動作が可能にされるかを明示的に規定するパラメータを含むことができる。
【００３１】
これに代えて、単一のアップグレードトランザクション２１０中の論理的なコミット動作をいくつかの連続的なコミット動作として実現可能であり、その各々は、同様の動作の組をともにグループ化するサブトランザクションを表わすことができる。たとえば、すべての除去動作は、すべての付加動作がその後のサブトランザクションとして実現可能となる前に、サブトランザクションとして実現可能である。そのような自動化された方式は、通常の更新シナリオをユーザにとってより単純にするという利点を有することができるが、どの動作が完了しどの動作が完了していないかを規定するという観点では、部分的に失敗したトランザクションの扱いをより複雑にしてしまうという欠点も有することがある。
【００３２】
さらに、システムは、どの動作が完了したかもしれず、どの動作が完了しなかったかもしれないことを規定するという観点で、部分的に失敗したトランザクションの扱いを簡略化するために、ユーザが単一のトランザクション内でグループ化可能な動作を追跡できるようにする。
【００３３】
発明の実施形態に従うと、トランザクション開始コマンド２１１は、トランザクションを完了させかつコミットするための条件が確実に満たされるようにすることができる。現在の条件が受入れ可能でない場合、システムは、ユーザがトランザクションの中止を選べるようにする。さらに、ユーザは、現在の条件によって通常のコミットが失敗した後に、強制モード（force mode）のコミット動作を再発行することができる。
【００３４】
加えて、コマンドインターフェイスは、ファブリックに対してコミットされないが、代わりにローカルまたは遠隔のファイルシステムに格納されるコンフィギュレーションであるネームドテンプレート（named template）２２０を生成することができる。このネームドテンプレート２２０も既にコミットされたコンフィギュレーションから生成可能である。
【００３５】
コマンドインターフェイスは、ネームドテンプレート２２０が、トランザクション開始コマンド２１１の後にロードされるようにする。ネームドテンプレート２２０は、開始コマンド２１１のパラメータでもあり得る。ユーザは、任意の他のコンフィギュレーション更新と同じやり方でコンフィギュレーション情報をコミットする前に、ロードされたネームドテンプレート２２０からのコンフィギュレーション情報を修正できるようにされる。
【００３６】
さらに、システムは、異なる使用事例について異なるネームドテンプレート２２０を準備することができる。また、ネームドテンプレート２２０に基づき、システムは、ファブリック中のすべてのピアＣＤインスタンス２０６からのコンフィギュレーション情報の喪失を引起し得る完全なファブリック機能停止の後に、システムの保護を与えるようにバックアップ動作を行なうことができる。さらに、ネームドテンプレート１２０は、管理者が誤ったコンフィギュレーションをコミットした場合に、管理者が先の整合したコンフィギュレーションに戻すことができるようにする。このように、管理者は、明示的な「元に戻す」および「やり直す」動作の潜在的に非常に複雑なシーケンスを行なうことを避けることができる。
【００３７】
発明の実施形態に従うと、同じトランザクション中に現在のM_Keyの値２０５を変更する動作と（古い）現在のM_Keyの値２０５を削除する動作とを許容しないことにより、システムは、トランザクションが、１つのＳＭが他のＳＭインスタンスの１つ以上に既知とはなっていない現在のM_Keyを有し得る状態に失敗した場合の競合状態を避けることができる。
【００３８】
付録Ａは、ネットワーク環境においてトランザクションコマンドラインインターフェイス（ＣＬＩ）を設けることについてのさらなる情報と、この開示を通じて記載されるプラットフォームのさまざまな局面とを提供する。付録Ａ中の情報は例示の目的のために与えられるものであり、発明の実施形態のすべてを限定するように解釈されてはならない。
【００３９】
図３は、発明の実施形態に従う、ネットワーク環境においてトランザクションコマンドラインインターフェイス（ＣＬＩ）をサポートするための例示的なフローチャートを図示する。図３に示されるように、ステップ３０１で、システムは、ネットワークスイッチにトランザクションインターフェイスを設けることができ、トランザクションインターフェイスは、ユーザが、トランザクションを用いてネットワーク環境と対話できるようにする。次に、ステップ３０２で、システムは、トランザクション中の１つ以上の動作をグループ化することができる。さらに、ステップ３０３で、システムは、トランザクション中に競合する動作を含むことができないことを確実にすることができる。
【００４０】
コンフィギュレーションデーモン（ＣＤ）
図４は、発明の実施形態に従う、ネットワーク環境においてコンフィギュレーションデーモン（ＣＤ）を用いてサブネット管理をサポートすることの図示を示す。図４に示されるように、たとえばＩＢサブネット４００などのネットワーク環境は、たとえばスイッチＡ−Ｅ  ４０１−４０５などの複数のネットワークスイッチを含むことができる。
【００４１】
ネットワークスイッチＡ−Ｅ  ４０１−４０５の各々は、サブネットマネージャ（ＳＭ）とコンフィギュレーションデーモン（ＣＤ）とを含むことができる。たとえば、スイッチＡ  ４０１は、ＳＭ  Ａ  ４１１に加えて、ＣＤ  Ａ  ４２１を含むことができる。ここで、ＳＭ  Ａ  ４１１は、サブネット４００の管理を担うマスタＳＭである。加えて、スイッチＢ−Ｅ  ４０２−４０５の各々は、たとえばＳＭ  Ｂ−Ｅ  ４１２−４１５の１つである待機ＳＭと、たとえばＣＤ  Ｂ−Ｅ  ４２２−４２５の１つであるＣＤインスタンスとを含む。
【００４２】
システムがＩＢサブネット４００に対して動作が行なわれるようにする前に、マスタＣＤ  Ａ  ４１１は、ピアＣＤインスタンスＢ−Ｅ  ４２２−４２５に対してさまざまな状態情報についての整合性チェックを行なうことができる。そのような状態情報は、可用性、互換性のある実現例／プロトコルのバージョン、正しい現在のデーモンランタイム状態、および正しい現在のコンフィギュレーション状態／バージョンを含むことができる。
【００４３】
次に、マスタＣＤ  Ａ  ４１１は、現在のM_Keyの値で関連のＳＭ  Ｂ−Ｅ  ４１２−４１５を更新するようにＣＤ  Ｂ−Ｅ  ４２２−４２５に指示する前に、新しい管理鍵（M_Key）コンフィギュレーションファイル４１０をピアＣＤ  Ｂ−Ｅ  ４２２−４２５に複製することができる。
【００４４】
発明の実施形態に従うと、システムは、マスタＳＭ４１１が常に、待機ＳＭインスタンスが維持する任意の他の一覧よりも長いまたは少なくともそれと同程度に長い、既知のM_Keyの一覧４３０を有することを確実にすることができる。また、複製の順序は、新しいより短い一覧が、それがマスタＳＭに適用される前に、待機ＳＭに確実に適用されるようにすることができる。
【００４５】
このように、マスタＳＭは、待機ＳＭインスタンスの任意のものよりも短い、既知のM_Keyの一覧４３０を決して有してはならず、システムは、マスタであること（mastership）を判断するための判断基準として、既知のM_Keyの一覧４３０の長さを用いることができる。
【００４６】
さらに、複製の順序は、トランザクションの種類に基づくことができる。トランザクションが"addonly"トランザクションである場合、新しいコンフィギュレーションファイルを用いて、まずローカル（マスタ）ＳＭの既知のリストを、その後に待機ＳＭインスタンスを、更新することができる。トランザクションが"addonly"でない場合、ローカル（マスタ）ＳＭは、新しい既知の一覧が待機ＳＭに複製された後に、新しい既知の一覧で更新される。
【００４７】
複製プロセスは、すべてのピアＣＤがコンフィギュレーションファイルを受信し、格納したことを確認し、コンフィギュレーションファイルがチェックサムおよびメタデータのチェックを通った後で、成功裏に完了したと考えられる。次に、マスタＣＤ  Ａ  ４２１は、新しい現在のM_Keyの値で関連のＳＭ  Ｂ−Ｅ  ４１２−４１５を更新するように各々のピアＣＤ  Ｂ−Ｅ  ４２２−４２５に指示することによってコミット動作を完了することができる。
【００４８】
発明の実施形態に従うと、マスタＣＤ  Ａ  ４２１は、すべてのピアＣＤ  Ｂ−Ｅ  ４２２−４２５が成功裏に更新された後に、ローカルＳＭ  Ａ  ４１１を更新することができる。このシーケンスは特定の種類のトランザクションとは独立していることができる。
【００４９】
加えて、システムは、すべてのＳＭインスタンス、すなわち−単に対応のＣＤインスタンスではなく−実際のＳＭインスタンス、が更新された、既知のM_Keyの一覧を受信するまで、現在のM_Keyの値を変更するようＳＭインスタンスに指示してはならない。このように、現在値を更新している間にトランザクションの失敗があるとしても、新しい現在のM_Keyの値は常にすべてのＳＭにとって既知にされていることができる。
【００５０】
発明の実施形態に従うと、たとえば、オラクルＮＭ２ネットワークスイッチ上のパーティションデーモン（ＰＤ）などのアクティブＣＤは、ローカルＳＭノードコンフィギュレーションがホスト名およびインターネットプロトコルオーバInfiniBand（ＩＰＯＩＢ）アドレス一覧で補強されていない場合、いずれのコミットまたは開始コマンドも受付けてはならない。また、ＳＭノード一覧中のＣＤは、開始および／またはコミット動作を可能にする適切なファームウェアバージョンを有する必要があるかもしれない。
【００５１】
さらに、システム中の（すなわち、ＳＭノード一覧中のスイッチを含む）スイッチは、セキュアM_Key設定の使用をイネーブルする前に適切なファームウェアバージョンを有する必要がある。たとえば、より古いＮＭ２ファームウェアなどの互換性のないファームウェアバージョンを有するシステム中にセキュアM_Keyを構成することは、ローカルポートをイネーブルする／ディスエーブルするなどのいくつかのローカル動作を機能不全にしてしまう可能性がある。これらの機能不全のローカル動作は、明示的なＣＬＩコマンドに基づくイネーブル／ディスエーブル動作と、システムの起動およびケーブルのホットプラグの間に行なわれる自動化されたイネーブル／ディスエーブル動作との両方を含むことができる。
【００５２】
発明の実施形態に従うと、システムは、ＳＭノードに対するさまざまな動作の進行をログ記録および報告することができる。すべてのＳＭノードについてコミット動作が開始されないまたは完全に完了していない場合、関連の情報を警告としてログ記録および表示することができる。また、システムが「強制」オプションを用いる場合、動作を、「完全成功」または「一部成功」のいずれかとして報告してもよい。一方で、システムが「強制」オプションを用いない場合、動作を「一部成功」として報告されてはならない。さらに、ＳＭノードがコミット動作の間に失われた（すなわち、コミットが始められたときには存在していた）場合、動作は失敗を報告してもよく、ユーザは次に、別のコミット動作を行なうか、同じ作動中の（working）コンフィギュレーションを用いて強制コミット動作を行なうという選択肢を有してもよい。
【００５３】
加えて、システムは、いくつかのＳＭノード規定ＣＤインスタンスが利用可能でない場合ですら強制動作を行なうことができる。
【００５４】
たとえば、ＳＭノードインスタンスが１つの時点でなくなって、次に、たとえばより古いバージョンのＮＭ２ノードなどの互換性のないＳＭノードインスタンスとして戻ってくる場合、このシステムは、任意のその後の秘密M_Keyコンフィギュレーション変更を行なうことができるようになる前に、問題のあるインスタンスがＳＭノード一覧から除去されるかまたは互換性のあるＳＭノードインスタンスにアップグレードで戻されることを要件とし得る。
【００５５】
たとえば、ＳＭイネーブルされたより古いバージョンのＮＭ２を用いて処理状態を把握するフェイルオーバーが働くようにするために、ファブリック中では秘密M_Keyのいずれの使用もあってはならない。システムは、一時的にＳＭノードインスタンスをダウングレードするというこの場合のための可能な対策として、ダウングレード前にdisablesecretmkeyＣＬＩコマンドを実行するか、またはダウングレード後に「強制」オプションを用いてdisablesecretmkeyＣＬＩコマンドを実行することができる。
【００５６】
加えて、「強制」オプションを用いたdisablesecretmkeyＣＬＩコマンドは、ダウングレードが既に起こってしまった場合にＳＭノードを回復するやり方でもあることができる。
【００５７】
図５は、発明の実施形態に従う、ネットワーク環境においてコンフィギュレーションデーモン（ＣＤ）を用いてサブネット管理をサポートするための例示的なフローチャートを図示する。図５に示されるように、ステップ５０１で、システムは、ネットワーク環境において複数のコンフィギュレーションデーモン（ＣＤ）を設けることができ、マスタＣＤは、マスタサブネットマネージャ（ＳＭ）を有するスイッチ上のアクティブＣＤである。次に、ステップ５０２で、マスタＣＤは、ネットワーク環境において１つ以上のピアＣＤに関連付けられる１つ以上の状態に対して整合性チェックを行なうことができ、各々の当該ピアＣＤは、待機ＳＭを有するスイッチ上のアクティブＣＤである。さらに、ステップ５０３で、マスタＣＤは、コンフィギュレーションファイルを１つ以上のピアＣＤに複製することができ、コンフィギュレーションファイルは少なくとも１つの管理鍵（M_Key）の値を含む。
【００５８】
管理鍵（M_Key）コンフィギュレーションファイル
発明の実施形態に従うと、管理鍵（M_Key）コンフィギュレーションファイル６１０をコンフィギュレーションデーモン（ＣＤ）同士の間で送信することができる。管理鍵（M_Key）コンフィギュレーションファイルは、ユーザに提示される信頼される管理鍵（M_Key）の値と、信頼されるM_Keyに基づいて透過に生成される１つ以上の鍵の値とを含むことができる。加えて、M_Keyコンフィギュレーションファイルは、固定された関数、関数パラメータ、およびローカルに生成された乱数のうち１つ以上を含むことができる。
【００５９】
図６は、発明の実施形態に従う、ネットワーク環境において管理鍵（M_Key）コンフィギュレーションファイルをサポートすることの図示を示す。図６に示されるように、ネットワーク環境６００中のスイッチ６０１は、サブネットマネージャ（ＳＭ）６０２と、コンフィギュレーションデーモン（ＣＤ）６０３とを含むことができる。さらに、スイッチ６０１は、たとえば、"smsubnetprotection"ＣＬＩインターフェイスなどのコマンドラインインターフェイス（ＣＬＩ）６０４をユーザに与えることができる。
【００６０】
ＣＬＩインターフェイス６０４は、たとえば信頼されるM_Key６０５の値などの管理鍵（M_Key）の値の単一の組しかユーザに提示しないことがある一方で、スイッチ６０１中の基礎となる実現例は、たとえば、ＮＭ２ネットワークスイッチのための"PD_M_Key-config.conf"ファイルなどのM_Keyコンフィギュレーションファイル中に含むことができる鍵の付加的な組を用いることができる。
【００６１】
たとえば、M_Keyコンフィギュレーションファイル６１０は、「信頼される」と規定されるノードのために用いられる信頼されるM_Key６１１と、信頼されないと考えられるノードに用いられる信頼されないM_Key６１２と、基本的なＳＭ−ＳＭ認証およびネゴシエーションに用いられるサブネットマネージャ鍵（SM_Key）６１３とを含むことができる。
【００６２】
信頼されるおよび信頼されないノードのための異なるM_Keyの扱いは、信頼されないノードが、信頼されるノード（特にスイッチ）のために用いられる信頼されるM_Key６１１を観察（observed）／学習することができないことを確実にすることができる。このメカニズムは、信頼されるノードが暗号に基づくプロトコルを介して明示的に認証されない一方で、信頼されないノードが全く認証されない場合にも適用可能である。
【００６３】
M_Keyコンフィギュレーションファイル６１０は、記号（symbolic）および１６進数（hex）のM_Keyの値の一覧を含有することができる。また、M_Keyコンフィギュレーションファイル６１０は、現在のM_Keyの値の明示的な識別を含有することができる。M_Key情報に加えて、M_Keyコンフィギュレーションファイル６１０は、最後の更新、更新改定の数、およびチェックサムについてのフォーマット改定、タイムスタンプ、およびＩＤ（たとえばＮＭ２ホスト名＋ＩＰ）を含むメタデータ情報も含むことができる。
【００６４】
さらに、M_Keyコンフィギュレーションファイル６１０は、関連付けられる値の一覧として、各々の加えられた値を記録することができる。また、ＣＤインスタンス６０３は、具体的な種類を有するすべてのM_Keyの値についての情報などの、M_Keyの値の組についての現状を追跡することができる。たとえば、M_Keyコンフィギュレーションファイル６１０は、各行に３つの値の複数行を含むことができ、ここで、行の中の各々の位置は鍵の種類を規定し、完全な行は、"current"または"new-current"と規定可能である。
【００６５】
発明の実施形態に従うと、管理鍵（M_Key）コンフィギュレーションファイル６１０は、（たとえばデフォルト値の）パスワード６２０を用いて暗号化可能である。システムは、異なるＣＤインスタンスを接続する管理ネットワーク上のデータトラフィックを観察することができる何人にも極秘のデータが利用可能にならないことを確実にするために、各ノード上の共通の秘密パスワードに基づく暗号化された転送を用いることができる。
【００６６】
さらに、"add"コマンドが実行されるとき、信頼されるM_Keyの値６０５は、ＣＬＩ６０４のユーザが関係するものである。次に、システムは、ＣＬＩユーザにとって透過に他の鍵の値を生成することができる。付加的な値は、ユーザが特定した鍵の値と、現在のパスワードの一意の並べ替えに基づいて生成される６４ビットの値との和として生成可能である。たとえば、現在のパスワード中の少なくとも８個の文字を各々の鍵の種類毎に規定されたやり方で並べ替える−たとえば１つを回転させる、２つを回転させる−ことができる。
【００６７】
発明の実施形態に従うと、システムは、付加的な鍵の値を生成するのに用いられるいずれの式またはパラメータもＳＭノード間で複製および同期される情報の一部でないことを確実にすることができる。たとえば、コンフィギュレーションが規定された場合、ＣＤまたはＳＭインスタンス間に存在すべき鍵を生成するのにいずれの状態にも依拠せずに、M_Keyの値を更新トランザクション情報の準備の一部として生成可能である。
【００６８】
さらに、導出されるM_Keyの値をすでに知っている誰かがパスワードまたは元のM_Keyのいずれかを利用可能になった場合に元のパスワードまたは元のM_Keyを誰かが演繹するというおそれを最小限にするために、新しいM_Keyの値を、現在規定されている暗号化パスワードおよび乱数の両方の関数として生成することができる。
【００６９】
たとえば、パスワードの値を漏らさないようにするために、２つの６４ビットの値の和に加えて、プラットフォームで生成された乱数を和に含めることができる。このように、パスワードで暗号化された信頼されるM_Keyと信頼されていないM_Keyとの両方を知っている者であっても、非常に限られた数の算術演算を介して対応のパスワードまたは信頼されるM_Keyを生成することはできないであろう。
【００７０】
加えて、たとえばすべてのＳＭノード上のパスワードを正しく更新しない結果として誤ったパスワードを用いると、遠隔側のチェックサムエラーを生じさせる可能性がある。誤ったパスワードによるチェックサムエラーの種類を転送の際のファイル破損によるチェックサムエラーの種類と区別するために、暗号化されたファイルのためのチェックサムと元のファイルバージョンのためのチェックサムとが両方存在することができる。ここで、暗号化されたファイルのチェックサムエラーは転送エラーを示し得る一方で、暗号化されていないファイルのチェックサムエラーは誤ったパスワードを示し得る。また、両方のレベルでの整合性および複数バージョン互換性を確実にするために、暗号化されたおよび暗号化されていないファイルの両者についてメタデータが存在することができる。
【００７１】
発明の実施形態に従うと、トランザクションを開始する前に、システムは、各々のＣＤ毎に整合したパスワード暗号化を確実にすることができる。
【００７２】
パスワード暗号化を検証するための課題は、潜在的に安全でない管理ネットワークにわたってパスワード自身を明示的に通信してはならないということである。代わりに、システムは、周知のメッセージストリング（すなわち、すべてのＳＭノードによって周知の「アプリオリ」）の暗号化にパスワードを用いることができる。次に、現在のパスワードの整合性の検証は、周知のメッセージの暗号化バージョンを送り、ピアＳＭノードに、メッセージの解読が元の周知のメッセージを結果的に生じることを確認させることによって達成可能である。
【００７３】
たとえば、周知のメッセージは現在のパスワードストリング自体であることができる。さらに、専用の周知のストリングはより強固な方式であることができる。というのも、パスワードストリングは典型的に長さが限られているからである。加えて、パスワードまたは鍵の値の履歴の一覧を維持することにより、検証論理は、現在のものが失敗した場合により古いパスワード／鍵の値を用いてチェックを行ない、それによりＳＭノード間での不完全な更新の事例を識別することができる。また、現在の値についての遠隔のチェックが失敗すると、より古い値を暗号化してチェックを行なって、遠隔のＳＭノードが現在のパスワード値でまだ更新されていないかを判断することになり得る。
【００７４】
発明の実施形態に従うと、そのような検証方法は、現在の公開／秘密鍵インフラストラクチャが、関与するＳＭノード間で整合していることを検証する、すなわち、ディスカバリー／再ディスカバリーの間の認証／検証の後に偶然の（accidental）更新が起こっていないことを確実にするのにも用いることができる。公開／秘密鍵インフラストラクチャが適所にあれば、これを用いて、複製されたコンフィギュレーション情報を暗号化して、各々のＳＭノード上に別個の暗号化パスワードを維持することを避けることができる。
【００７５】
開始論理および整合性チェック
発明の実施形態に従うと、トランザクション開始コマンドが現在のマスタノードから実行されると、さまざまなサブネットマネージャ（ＳＭ）ノードについての状態情報を検証することができ、これにより、状態情報中の任意の不整合を検出することができる。また、更新トランザクションの前提条件は、システムが、コンフィギュレーション更新改定の数が同じである整合した（すなわち、完了したおよび正しいチェックサムをコミットする）コンフィギュレーションファイルを有することであり得る。
【００７６】
管理者は、ＳＭノードについての状態情報を不整合にするかもしれない失敗更新トランザクションの後に、ＩＢサブネット中で正しいコンフィギュレーションを進めることができることを確実にすることができる。管理者は、新しい更新トランザクションを開始してさまざまなＳＭノードを同期させることができる。加えて、管理者は、不整合状態が予測しない状況を何も表わさないことを検証することができ、さまざまなＳＭノードの、またはＳＭノードの特定される対の間の詳細な違いを明示的に与えることができる差分動作（diff operations）を行なうことができる。
【００７７】
さらに、現在のマスタＳＭノード上のローカルコンフィギュレーションが最新のものでない場合または誤っている場合、システムは、マスタＳＭノードから特別な動作を行なって、別の待機ＳＭノードから現在のコンフィギュレーションをフェッチして、このコンフィギュレーションを、新しい更新トランザクションを行なう際の作動中のコンフィギュレーションのための始点として用いることができる。加えて、たとえば不整合状態を分析して、さまざまなＳＭノードを同期させるための正しいコンフィギュレーションを管理者が定めた後に、特別な「強制」オプションを用いて、開始動作およびコミット動作の両方についての整合性チェックを無効にすることができる。
【００７８】
発明の実施形態に従うと、ＩＢサブネットで致命的な同期の問題が発生すると、管理者は、任意の更新トランザクションを継続するまたは再始動する前に、根源的な問題を解決することを許され得る。たとえば、コミット動作を行なう場合、さまざまなＳＭノードのコンフィギュレーション状態は、対応する開始動作が行なわれた時のコンフィギュレーション状態と全く同じであると予測される。すなわち、この期間の何らかの変更は、何らかの求められていない状態変化が発生したことを暗示し得、さまざまなＳＭノード間での致命的な同期エラーを示し得る。加えて、開始時間およびコミット時間の両方で、ＳＭノード間に単一のマスタしか存在しないことを検証することができる。そうでない場合は、ＳＭノード間に致命的な同期の問題が存在する。
【００７９】
さらに、さまざまなＳＭノード間の暗号化パスワード値の整合性をトランザクション開始動作の一部として検証することができ、コンフィギュレーションの変更が起こっていないことの検証とともに、コミット動作の初期の一部で再び検証することができる。加えて、状態整合性のチェックは、任意の時点での任意のＳＭノードからのコマンドラインインターフェイス（ＣＬＩ）サブコマンドとして利用可能であることができる。
【００８０】
ＣＤとＳＭとの間での状態同期
図７は、発明の実施形態に従う、ネットワーク環境においてコンフィギュレーションデーモン（ＣＤ）とスイッチ上のサブネットマネージャ（ＳＭ）との間での状態の同期をサポートするための図示を示す。図７に示されるように、ＩＢサブネット７００中のスイッチ７０１は、サブネットマネージャ（ＳＭ）７０２と、コンフィギュレーションデーモン（ＣＤ）７０３とを含むことができる。
【００８１】
ＣＤ７０３がコミットトランザクションの一部として新しいM_Keyコンフィギュレーションファイル７１０を受信すると、ＣＤ７０３は、新しいM_Keyコンフィギュレーションファイル７１０を格納し、既知のM_Keyの値７０４の一覧をローカルＳＭ７０２が利用できるようにすることができる。次に、ＳＭ７０２は、サブネットプローブ探索／ディスカバリー動作で、既知のM_Keyの値７０４の新しい一覧の使用を開始することができる。ＳＭ７０２は、任意のサブネット管理エージェント（ＳＭＡ）インスタンスのM_Keyの値を更新する／設定する際に以前規定された現在のM_Keyの値７０５を用い続けてもよい。
【００８２】
ＣＤ７０３は、マスタＣＤから指示を受ける前に、ＳＭ７０２が用いる現在のM_Keyの値７０５を更新してはならない。また、ＣＤ７０３は、それが待機ＣＤである場合は、分散されたトランザクションを実現するマスタＣＤに動作が承認（acknowledge）される前に、既知の値７０４の新しい一覧をローカルＳＭ７０２に通信することができる。
【００８３】
パーティションコンフィギュレーション更新とは異なり、既知のM_Key７０４の新しい一覧をＳＭ７０２が即座に利用できるようにすることができる。というのも、これは、サブネットの状態の変更をまったく課さないからであり、手動および自動の手順は、既知のM_Keyの値７０４の新しい一覧が常に、システム中のスイッチノード中に存在し得る（すなわち、ディスエーブルされたＳＭを有するスイッチノードを含む）いずれの秘密M_Keyの値も含んでもよいことを確認することができる。
【００８４】
さらに、サブネット中の秘密鍵がイネーブルされたＳＭの間での整合性チェックおよびマスタ選択の一部として、既知のM_Keyの値７０４の一覧を用いるために、更新の順序は、現在のマスタが常に、既知のM_Keyの値の最大の一覧を有し、それにより更新トランザクションの最中の任意の意図しないマスタの移譲を回避することを確実にすることができる。
【００８５】
発明の実施形態に従うと、ＣＤインスタンス７０３がコミット動作を制御するマスタＣＤによって指示されると、ＣＤインスタンス７０３は現在のM_Keyの値７０５についてのローカル状態情報を更新することができる。また、ＣＤインスタンス７０３は、たとえば専用のＳＭ  ＣＬＩコマンドを介して、新しい現在のM_Keyの値の使用を開始するようにローカルＳＭ７０２に指示することができる。
【００８６】
さらに、ＳＭ７０２またはＣＤ７０３が再始動されるときは常に、ＣＤインスタンス７０３は現在のローカル秘密鍵コンフィギュレーションでＳＭ７０２を更新することができる。このように、システムは、サブネット管理動作が常に現在のコンフィギュレーションと確実に整合するようにすることができ、システムは、現在の秘密鍵コンフィギュレーションが適所にあることなしにはマスタ選択が行なわれないようにすることを確実にすることができる。また、起動の際のＣＤ７０３とＳＭ７０２との間の状態の同期は、初期サブネットディスカバリーを開始する前にＳＭ７０２が現在のコンフィギュレーションを有することを確認することができる。
【００８７】
発明の実施形態に従うと、ＣＤ７０３は、専用のＳＭ  ＣＬＩコマンドを用いて、既知のM_Keyの値７０４の新しい一覧をＳＭ７０２に通信することができる。たとえば、ＳＭ７０２は、秘密ＣＬＩコマンドを介して秘密鍵コンフィギュレーションの受信のみを行なってもよく、このコンフィギュレーションのいずれの永続的な格納も行なってはならない（すなわち、秘密鍵コンフィギュレーションはＳＭランタイム画像の一部でしかあり得ない）。
【００８８】
ＳＭ  ＣＬＩコマンドは、既知のM_Keyの値７０４の一覧を規定する、コンマで分離された１６進数のM_Keyの値の平易な（plain）一覧を含むことができる。さらに、ＳＭ  ＣＬＩは、信頼されるM_Key、信頼されていないM_Key、およびSM_Keyなどの３つの独立したM_Keyの値を入力としてとるために、３つの別個の一覧が特定されるようにする。
【００８９】
たとえば、ＮＭ２スイッチでは、新しい現在のM_Keyの値は、複製されたM_Keyコンフィギュレーションファイル中で"new-current"として同定されたものと同じであることができる。古い現在のM_Keyの値は、既知のM_Keyの一覧の一部のままであることができる（すなわち、現在のものとして用いられてきた値を削除するために２つの更新トランザクションが必要とされ得る）。
【００９０】
新しい現在のM_Keyの値が早まって活性化されないことを確実にするために、複製されたコンフィギュレーションファイルは常に、（依然として）現在用いられているM_Keyの値および意図される新しい値についての情報を含有してもよい。set-current動作が起こると（すなわち、トランザクションを実現するマスタＣＤから対応するコマンドを受信すると）、新しいM_Keyの値をＳＭ７０２に信号で送り、次に動作が承認される前に新しい特定された値を反映するように、記録された現在用いられているM_Keyの値を更新することができる。このように、マスタＳＭは、待機ＳＭが維持する任意の他の一覧よりも長い、または少なくともそれと同程度に長い、既知のM_Keyの一覧を有することができる。
【００９１】
さらに、ＣＤインスタンス７０３は、実際の現在のM_Keyの値７０５とイネーブルされた状態との両方を追跡することができる。たとえば、ＳＭ７０２のための秘密M_Keyのディスエーブルおよびイネーブルの扱いは、ディスエーブルされた状態のゼロの値およびイネーブルされた状態の非ゼロの現在の値を介して反映され得る。さらに、ＣＤインスタンス７０３は、システムがディスエーブルされた状態にあるように設定されると、現在の値の代わりにゼロの値をＳＭ７０２に与えることができる。次に、ＣＤインスタンス７０３は、システムがディスエーブルされた状態からイネーブルされた状態に変更されると、（現実の）現在のM_Keyの値をＳＭ７０２に信号で送ることができる。
【００９２】
発明の実施形態に従うと、ＳＭ７０２は、秘密M_Keyの使用のための明示的なイネーブル／ディスエーブル通知を受信することができる。また、ＳＭは、秘密M_Keyの使用が（デフォルトとして）ディスエーブルされると、たとえばopensm.confファイルなどのコンフィギュレーションファイル中に規定されるような読出可能M_Keyを用いることができる。加えて、ＣＬＩコマンドは、コンフィギュレーションファイル中の読出可能M_Keyの値を維持することができる。さらに、読出可能M_Keyを反映する、ＳＭ７０２が使用するM_Key保護ビットをopensm.confコンフィギュレーションファイル中に規定することができる。一方で、ＳＭ  ＣＬＩインターフェイスを介して"secret"モードがイネーブルされると、M_Key保護ビットを暗示的に規定することができる。
【００９３】
また、M_Keyのリース時間の値は、コンフィギュレーションファイル中に規定される定数であることができる。たとえば、ＮＭ２  ＦＷ改定特有のopensm.confテンプレートが規定する定数が十分であり得る。これに代えて、M_Keyのリース時間の値は構成可能（configurable）であり得る。このM_Keyのリース時間の値は（たとえば、少なくとも１分のオーダの）大きいものであり得るので、ＳＭが期限前に（すなわち、少なくとも１つのＳＭが掃引している（sweeping）限り）リース時間をリフレッシュすることができないという実際的なおそれはまったく存在しない。加えて、プラットフォームレベルモニタリングデーモンもローカルリース時間をリフレッシュするにあたっての役割を有することができる。
【００９４】
図８は、発明の実施形態に従う、ネットワーク環境においてコンフィギュレーションデーモン（ＣＤ）とサブネットマネージャ（ＳＭ）との間での状態の同期をサポートするための例示的なフローチャートを図示する。図８に示されるように、ステップ８０１で、ネットワーク環境中のスイッチ上のコンフィギュレーションデーモン（ＣＤ）は、既知の管理鍵（M_Key）の値の一覧を含むコンフィギュレーションファイルを受信することができる。さらに、ステップ８０２で、ＣＤは、コンフィギュレーションファイルを格納し、スイッチ上のローカルサブネットマネージャ（ＳＭ）がコンフィギュレーションファイルを利用できるようにすることができ、ローカルＳＭは現在用いられているM_Keyの値と関連付けられる。次に、ステップ８０３で、ＣＤは、ネットワーク環境においてマスタＳＭと関連付けられるマスタＣＤから指示を受信した後に新しいM_KeyでローカルＳＭを更新することができる。
【００９５】
失敗した更新トランザクションおよびマスタサブネットマネージャ（ＳＭ）フェイルオーバー
更新トランザクションが成功裏に完了すると、すべてのサブネットマネージャ（ＳＭ）ノード上のコンフィギュレーションデーモン（ＣＤ）は、たとえばコンフィギュレーション更新改定の数が同じである同じコンフィギュレーションを有することができる。加えて、ＣＤは、同じ現在のM_Keyの値を有することができる、または新しい現在のM_Keyの値を全く有しないことができる。
【００９６】
一方で、失敗した更新トランザクションは、ＩＢサブネット中の現在のＳＭノードについての可用性またはコンフィギュレーションの問題を生じることがある。たとえば、複製段階の間に更新トランザクションが失敗すると、ＣＤは、現在の更新改定の数が異なる（およびファイルチェックサムが異なる）値を有することがある。また、複製段階が成功裏に完了するが、現在のM_Keyの値の更新が完了していなければ、ＣＤは更新改定の数の値および基本ファイルチェックサムが同じであり得るが、現在のM_Keyの値が異なってしまう。
【００９７】
これらのシナリオでは、管理者は、たとえばＮＭ２スイッチが与えるlistactiveコマンドなどのＳＭノードスイッチが与えるＣＬＩコマンドを用いて、現状を発見し（discover）解決することができる。次に、管理者は、たとえば強制オプションを用いて、システム中のＳＭノードの一覧を更新するなどして、システムを十分に規定された状態にするために、現在のマスタＣＤに対して別の更新トランザクションをどのように行なうべきかを決めることができる。
【００９８】
失敗したトランザクションが、現在の永続性あるコンフィギュレーションを古い現在のM_Keyの値と新しい現在のM_Keyの値との両方を有したままにすれば、任意の新しいトランザクションはこの状態で開始して、set-currentＣＬＩコマンドが現在のコンフィギュレーションファイル中で「新規」として反映されるM_Keyの値について実行されたかのように振る舞うことができる。さらに、ユーザは、この現状を認識することができ、必要に応じて設定を修正することを許される。加えて、失敗したトランザクションの後にどの動作を行なうことができるかについての規則を守ることができなければ、たとえばサブネット中にマスタＳＭを複数生じさせるまたはマスタＳＭを全く生じさせないなど、サブネット中の誤ったマスタ選択につながる可能性がある。
【００９９】
発明の実施形態に従うと、トランザクション開始コマンドは、すべてのＳＭノード上のコンフィギュレーションについてのすべての関連の状態情報をユーザに提示することができる。また、トランザクション開始コマンドは、たとえば更新されたトランザクションの失敗の後などにユーザが何らかの不整合を認識することを確認することができる。さらに、トランザクション開始コマンドは、特別な強制行為を行なってトランザクションを開始することができ、ユーザが、利用可能なＳＭノードの任意のものから始点コンフィギュレーションを選択できるようにする。
【０１００】
更新されたトランザクションの失敗の後にアクティブマスタが動作する場合、失敗した更新トランザクションを扱う第１のステップは、失敗した更新トランザクションからのエラーログ／メッセージに潜在的に基づいて他のＳＭノードの可用性およびコンフィギュレーションをチェックすることである。問題を修正することができれば、同じトランザクションを（すなわち、強制モードを使用せずに）再試行することができる。問題を修正することができない（たとえば、ＳＭノード−潜在的に古いマスタ−がもはや動作しない／利用可能でない）場合、いずれの削除動作も強制モードで再試行してはならない。というのも、この動作は、イネーブルされたＳＭが依然として使用しているかもしれない鍵の値を削除するかもしれないからである。
【０１０１】
発明の実施形態に従うと、ディスエーブル動作を強制モードで再試行可能である。というのも、ディスエーブル動作は現在の既知の鍵の一覧を変更せず、誤ったマスタ選択手順のおそれを何ら課さないからである。さらに、失敗したＳＭノードに対する現在利用可能なＳＭノードのＳＭ優先順位およびグローバル一意識別子（ＧＵＩＤ）に依存して、失敗したＳＭノードが再び動作するようになると、システムのディスエーブルされたまたはイネーブルされた状態が変化することがある。
【０１０２】
さらに、失敗したイネーブル動作を強制再試行することは安全である。というのも、これは誤ったマスタ選択手順のおそれを何ら課さないからである。また、マスタのイネーブルされた／ディスエーブルされた状態という観点でのシステムの状態は、同じ鍵コンフィギュレーションが存在する場合は、不確かかもしれない。
【０１０３】
加えて、加える動作を強制再試行することは安全である。というのも、これは既知の鍵の数を増やすことがあり、それによりＳＭノードがこの更新を受信したことを確実にすることができ、かつ現在利用不可能なＳＭノードに対するマスタ選択の観点で優先し得るからである。
【０１０４】
発明の実施形態に従うと、新しく加えられた鍵を現在として設定することにより、システムは、利用不可能なＳＭノード上のＳＭを隔離する（fence off）ように構成可能である。このように、利用不可能なＳＭノード上のＳＭは、更新された秘密M_Keyの値を受信した（潜在的にそれ自身を含む）いずれのノードの状態にも影響してはならない。
【０１０５】
システムは、force-addおよびset-current動作を用いて、物理的なサービス（service）行為の必要性なく、未既定の状態を有するＳＭノードを確実に隔離することができる。そのような隔離のメカニズムは、ＳＭノードのコンフィギュレーションが変更されるようにするとともに、現在のパーティションポリシーが更新されるようにもする。
【０１０６】
リーフスイッチ（leaf switch）が、直接に接続されたホストのパーティショニング状態を制御不可能にする可能性がある未既定の状態である場合、パーティショニングコンフィギュレーションは、そのリーフスイッチ上のアクティブＳＭによって実現されるとされる現在のコンフィギュレーションと競合するやり方では更新または変更されてはならない。
【０１０７】
パーティショニングコンフィギュレーションを更新するまたは変更するために、リーフスイッチを、アクティブＳＭを有しない十分に規定された状態にすることができるか、またはＳＭを何らかの付加的なサービス行為を介してＳＭノードの残余と同期させることができる。
【０１０８】
発明の実施形態に従うと、システムは、パーティションポリシー更新と同じＡＣＩＤトランザクション原則に従うM_Key更新トランザクションの最中のマスタＳＭフェイルオーバーをサポートすることができる。
【０１０９】
システムは、まず、既知のM_Keyの値の新しい一覧を配布し、コミット動作の最後の部分で新しいM_Keyの値をすべてのＳＭのための現在のものとして規定することができる。また、改良されたマスタ選択プロトコルは、選ばれたマスタが常に、既知の鍵の値の最長の一覧を有するＳＭであることができ、かつ現在のコンフィギュレーションを扱うのに最も適していることができることを確実にすることができる。
【０１１０】
このように、システムは、最新のM_Keyの値について既知ではないために、新しいマスタＳＭがサブネットを発見する／構成することができない場合が決してあってはならないことを確実にすることができる。たとえば、すべてのＳＭイネーブルされたスイッチノードは、ポリシーがスイッチノードのうち任意の１つの上でイネーブルされれば同じ新しいポリシーを有することができ、そうではなくポリシーがすべてのＳＭに複製されていない場合は、どのＳＭも新しいポリシーをイネーブルされることができない。
【０１１１】
図９は、発明の実施形態の特徴を示す機能ブロック図を図示する。この特徴は、ネットワーク環境においてネットワーク管理をサポートするためのシステム９００として実現されてもよい。システム９００は、１つ以上のマイクロプロセッサと、１つ以上のマイクロプロセッサ上で実行するスイッチ上のコンフィギュレーションデーモン（ＣＤ）９１０とを含む。ＣＤ９１０は、受信部９２０で、既知の管理鍵（M_Key）の値の一覧を含むコンフィギュレーションファイルを受信するように、また格納部９３０にコンフィギュレーションファイルを格納して、かつ現在用いられているM_Keyの値と関連付けられるスイッチ上のローカルサブネットマネージャ（ＳＭ）がコンフィギュレーションファイルを利用できるように、また更新部９４０上で、ネットワーク環境においてマスタＳＭと関連付けられるマスタＣＤから指示を受信した後に新しいM_KeyでローカルＳＭを更新するように、動作する。
【０１１２】
１つの実施形態に従うと、１つ以上のマイクロプロセッサ上で、ネットワーク環境においてネットワーク管理をサポートするためのシステムが開示される。システムは、ネットワーク環境中のスイッチ上のコンフィギュレーションデーモン（ＣＤ）を介してコンフィギュレーションファイルを受信するための手段を備え、コンフィギュレーションファイルは既知の管理鍵（M_Key）の値の一覧を含む。システムは、コンフィギュレーションファイルを格納し、かつスイッチ上のローカルサブネットマネージャ（ＳＭ）がコンフィギュレーションファイルを利用できるようにするための手段も備え、ローカルＳＭは現在用いられているM_Keyの値と関連付けられる。システムはさらに、ネットワーク環境においてマスタＳＭと関連付けられるマスタＣＤから指示を受信した後に新しいM_KeyでローカルＳＭを更新するための手段を備える。
【０１１３】
好ましくは、システムは、コンフィギュレーションファイルの中に、信頼されるM_Keyと、信頼されるM_Keyに基づいて透過に生成される１つ以上の鍵の値とを含むための手段を備える。
【０１１４】
好ましくは、システムは、ローカルＳＭが新しいM_Keyで更新されるまで、任意のサブネット管理エージェント（ＳＭＡ）インスタンスのM_Keyの値を更新する／設定する際に古い現在のM_Keyを用い続けるための手段を備える。
【０１１５】
好ましくは、システムは、ＣＤを介して、専用ＳＭコマンドラインインターフェイス（ＣＬＩ）コマンドを用いてローカルＳＭを更新するための手段を備える。
【０１１６】
好ましくは、システムは、ＳＭおよびＣＤのうち少なくとも１つが再始動されると、ＣＤを介して現在のローカル秘密鍵コンフィギュレーションでローカルＳＭを更新するための手段を備える。
【０１１７】
好ましくは、システムは、コンフィギュレーションファイルの中に、現在用いられているM_Keyの値および意図される新しいM_Keyの値についての情報を含有するための手段を備える。
【０１１８】
好ましくは、システムは、既知のM_Keyの値の一覧の中に現在用いられているM_Keyの値を記録するための手段を備える。
【０１１９】
好ましくは、システムは、新しいM_Keyの値を用いて、利用不可能なノード上のＳＭを隔離するための手段を備える。
【０１２０】
好ましくは、システムは、マスタＳＭが、待機ＳＭインスタンスが維持する任意のM_Keyの一覧以上の長さの、既知のM_Keyの一覧を有することを確実にするための手段を備える。
【０１２１】
好ましくは、システムは、マスタＣＤに対するコミット動作を開始するための手段を備える。
【０１２２】
１つの実施形態に従うと、ネットワーク環境においてネットワーク管理をサポートするためのシステムが開示される。システムは、スイッチ上のコンフィギュレーションデーモン（ＣＤ）を備え、ＣＤは、既知の管理鍵（M_Key）の値の一覧を含むコンフィギュレーションファイルを受信するように構成される。システムは、コンフィギュレーションファイルを格納し、かつスイッチ上のローカルサブネットマネージャ（ＳＭ）がコンフィギュレーションファイルを利用できるようにするように構成され、ローカルＳＭは現在用いられているM_Keyの値と関連付けられる。システムは、ネットワーク環境においてマスタＳＭと関連付けられるマスタＣＤから指示を受信した後に新しいM_KeyでローカルＳＭを更新するようにも構成される。
【０１２３】
好ましくは、システムは、当該コンフィギュレーションファイルに、信頼されるM_Keyと、信頼されるM_Keyに基づいて透過に生成される１つ以上の鍵の値とを含ませることができる。
【０１２４】
好ましくは、システムは、ローカルＳＭが新しいM_Keyで更新されるまで、任意のサブネット管理エージェント（ＳＭＡ）インスタンスのM_Keyの値を更新する／設定する際に当該ローカルＳＭに古い現在のM_Keyを用い続けさせることができる。
【０１２５】
好ましくは、システムは、当該ＣＤに、専用のＳＭコマンドラインインターフェイス（ＣＬＩ）コマンドを用いてローカルＳＭを更新するように動作させることができる。
【０１２６】
好ましくは、システムは、ＳＭおよびＣＤのうち少なくとも１つが再始動されると、当該ＣＤに、現在のローカル秘密鍵コンフィギュレーションでローカルＳＭを更新するように動作させることができる。
【０１２７】
好ましくは、システムは、当該コンフィギュレーションファイルに、現在用いられているM_Keyの値および意図される新しいM_Keyの値についての情報を含有させることができる。
【０１２８】
好ましくは、システムは、当該ＣＤに、既知のM_Keyの値の一覧の中に現在用いられているM_Keyの値を記録するように動作させることができる。
【０１２９】
好ましくは、システムは、当該新しいM_Keyの値が、利用不可能なノード上のＳＭを隔離するように用いられるようにすることができる。
【０１３０】
好ましくは、システムは、当該マスタＣＤに、待機ＳＭインスタンスが維持する任意のM_Keyの一覧以上の長さの、既知のM_Keyの一覧をマスタＳＭが有することを確実にするように動作させることができる。
【０１３１】
１つの実施形態に従うと、１つ以上のマイクロプロセッサ上で、ネットワーク環境においてネットワーク管理をサポートすることを備えるシステムが開示される。システムは、ネットワークスイッチにトランザクションインターフェイスを設けるための手段を備え、トランザクションインターフェイスは、ユーザが、トランザクションを用いてネットワーク環境と対話できるようにする。システムはさらに、トランザクション中の１つ以上の動作をグループ化するための手段と、トランザクション中に競合する動作が含まれないことを確実にするための手段とを備える。
【０１３２】
好ましくは、システムは、ネットワーク環境においてネットワークスイッチをサブネットマネージャ（ＳＭ）と関連付けるための手段を備える。
【０１３３】
好ましくは、システムは、トランザクションインターフェイスがコマンドラインインターフェイス（ＣＬＩ）であることができるようにするための手段を備える。
【０１３４】
好ましくは、システムは、１つ以上のコマンドを用いて１つ以上の動作を行なうための手段を備え、１つ以上のコマンドは、トランザクション中の開始コマンドとコミットコマンドとの間でグループ化される。
【０１３５】
好ましくは、システムは、トランザクションを完了させかつコミットするための１つ以上の条件がトランザクションの開始時に満たされることを確実にするための手段を備える。
【０１３６】
好ましくは、システムは、１つ以上の現在の条件が受入れ不可能であれば、ユーザがトランザクションを中止できるようにするための手段を備える。
【０１３７】
好ましくは、システムは、ユーザが強制モードでコミット動作を発行できるようにするための手段を備え、その場合、コミット動作は、１つ以上のコンフィギュレーションデーモンが利用可能でない場合に成功することができる。
【０１３８】
好ましくは、システムは、先に失敗した更新トランザクションの後に更新トランジスタを開始して複数のＳＭノードを同期させるための手段を備える。
【０１３９】
好ましくは、システムは、トランザクションを開始する前に秘密管理鍵（M_Key）をイネーブルするための手段を備える。
【０１４０】
好ましくは、システムは、その後のコミット動作の後にＳＭが用いるであろうM_Keyの値として、規定されたM_Keyの値を設定するための手段を備える。
【０１４１】
１つ以上の実施形態に従うと、ネットワーク環境においてネットワーク管理をサポートするためのシステムが開示される。システムはネットワークスイッチを備え、ネットワークスイッチはトランザクションインターフェイスを設けるように構成され、トランザクションインターフェイスは、ユーザが、トランザクションを用いてネットワーク環境と対話できるようにする。システムは、トランザクション中の１つ以上の動作をグループ化し、かつトランザクションの中に競合する動作が含まれないことを確実にするようにさらに構成される。
【０１４２】
好ましくは、システムは、ネットワークスイッチがネットワーク環境においてサブネットマネージャ（ＳＭ）と関連付けられるようにすることができる。
【０１４３】
好ましくは、システムは、トランザクションインターフェイスがコマンドラインインターフェイス（ＣＬＩ）であるようにすることができる。
【０１４４】
好ましくは、システムは、ネットワークスイッチに、１つ以上のコマンドを用いて１つ以上の動作を行なうように動作させることができ、１つ以上のコマンドは、トランザクション中の開始コマンドとコミットコマンドとの間でグループ化される。
【０１４５】
好ましくは、システムは、ネットワークスイッチに、トランザクションを完了させかつコミットするための１つ以上の条件がトランザクションの開始時に満たされるのとを確実にするように動作させることができる。
【０１４６】
好ましくは、システムは、１つ以上の現在の条件が受入れ不可能であれば、ネットワークスイッチに、ユーザがトランザクションを中止できるようにするように動作させることができる。
【０１４７】
好ましくは、システムは、ネットワークスイッチに、ユーザが強制モードでコミット動作を発行できるようにするように動作させることができ、その場合、コミット動作は、１つ以上のコンフィギュレーションデーモンが利用不可能である場合に成功することができる。
【０１４８】
好ましくは、システムは、ネットワークスイッチに、先に失敗した更新トランザクションの後にユーザが更新トランザクションを開始して複数のＳＭノードを同期させることができるように動作させることができる。
【０１４９】
好ましくは、システムは、ネットワークスイッチに、トランザクションを開始する前にユーザが秘密管理鍵（M_Key）をイネーブルできるように動作させることができる。
【０１５０】
１つの実施形態に従うと、１つ以上のマイクロプロセッサ上で、ネットワーク環境においてネットワーク管理をサポートするためのシステムが開示される。システムは、ネットワーク環境中に複数のコンフィギュレーションデーモン（ＣＤ）を設けるための手段を備え、マスタＣＤは、マスタサブネットマネージャ（ＳＭ）を有するスイッチ上のアクティブＣＤである。システムは、マスタＣＤを介して、ネットワーク環境において１つ以上のピアＣＤと関連付けられる１つ以上の状態に対する整合性チェックを行なうための手段も備え、各々の当該ピアＣＤは、待機ＳＭを有するスイッチ上のアクティブＣＤである。システムはさらに、コンフィギュレーションファイルを１つ以上のピアＣＤに複製するための手段を備え、コンフィギュレーションファイルは少なくとも１つの管理鍵（M_Key）の値を含む。
【０１５１】
好ましくは、システムは、マスタＣＤを介して、少なくとも１つのM_Keyの値で待機ＳＭを更新するように１つ以上のピアＣＤに指示するための手段を備える。
【０１５２】
好ましくは、システムは、トランザクションの種類に基づいて、コンフィギュレーションファイルを１つ以上のピアＣＤに複製するための順序を定めるための手段を備える。
【０１５３】
好ましくは、システムは、トランザクションがadd-onlyトランザクションである場合に、コンフィギュレーションファイルを用いて、まず、マスタＳＭ上のM_Keyの値の１つ以上の既知の一覧を更新するための手段を備える。
【０１５４】
好ましくは、システムは、トランザクションがadd-onlyトランザクションでない場合に、M_Keyコンフィギュレーションファイルを用いて、まず、１つ以上の待機ＳＭ上のM_Keyの値の１つ以上の既知のリストを更新するための手段を備える。
【０１５５】
好ましくは、システムは、１つ以上の状態が、１つ以上のピアＣＤの可用性、互換性のある実現例／プロトコルのバージョン、正しい現在のデーモンランタイム状態、および１つ以上のピアＣＤ上の正しい現在のコンフィギュレーション状態／バージョンを含むことができるようにするための手段を備える。
【０１５６】
好ましくは、システムは、トランザクションを開始する前に、各々のＣＤ毎に整合性のある暗号化パスワードを検証するための手段を備える。
【０１５７】
好ましくは、システムは、同じトランザクションの中での新しい現在のM_Keyの値の変更および古い現在のM_Keyの値の削除を禁止するための手段を備える。
【０１５８】
好ましくは、システムは、マスタＳＭが、待機ＳＭインスタンスが維持する任意のM_Keyの一覧以上の長さの、既知のM_Keyの一覧を有することを確実にするための手段を備える。
【０１５９】
好ましくは、システムは、マスタＣＤに対するコミット動作を開始するための手段を備える。
【０１６０】
１つの実施形態に従うと、ネットワーク環境においてネットワーク管理をサポートするためのシステムが開示される。システムはマスタコンフィギュレーションデーモン（ＣＤ）を備え、マスタＣＤはマスタサブネットマネージャ（ＳＭ）を有するスイッチ上のアクティブＣＤであり、マスタＣＤは、ネットワーク環境において１つ以上のピアＣＤと関連付けられる１つ以上の状態に対して整合性チェックを行なうように構成され、各々の当該ピアＣＤは待機ＳＭを有するスイッチ上のアクティブＣＤである。システムは、コンフィギュレーションファイルを１つ以上のピアＣＤに複製するようにも構成され、コンフィギュレーションファイルは少なくとも１つの管理鍵（M_Key）の値を含む。
【０１６１】
好ましくは、システムは、マスタＣＤに、少なくとも１つのM_Keyの値で待機ＳＭを更新するように１つ以上のピアＣＤに指示するように動作させることができる。
【０１６２】
好ましくは、システムは、コンフィギュレーションファイルを１つ以上のピアＣＤに複製するための順序がトランザクションの種類に基づいて定められるようにすることができる。
【０１６３】
好ましくは、システムは、マスタＣＤに、トランザクションがadd-onlyトランザクションである場合に、コンフィギュレーションファイルを用いて、まず、マスタＳＭ上のM_Keyの値の１つ以上の既知の一覧を更新するように動作させることができる。
【０１６４】
好ましくは、システムは、マスタＣＤに、トランザクションがadd-onlyトランザクションでない場合に、M_Keyコンフィギュレーションファイルを用いて、まず、１つ以上の待機ＳＭ上のM_Keyの値の１つ以上の既知の一覧を更新するように動作させることができる。
【０１６５】
好ましくは、システムは、１つ以上の状態に、１つ以上のピアＣＤの可用性、互換性のある実現例／プロトコルのバージョン、正しい現在のデーモンランタイム状態、および１つ以上のピアＣＤ上の正しい現在のコンフィギュレーション状態／バージョンを含ませることができる。
【０１６６】
好ましくは、システムは、トランザクションを開始する前に、整合性のある暗号化パスワードが各々のＣＤ毎に検証されるようにすることができる。
【０１６７】
好ましくは、システムは、新しい現在のM_Keyの値を変更する動作と古い現在のM_Keyの値を削除する動作とが同じトランザクション中では禁止されるようにすることができる。
【０１６８】
好ましくは、システムは、マスタＣＤに、待機ＳＭインスタンスが維持する任意のM_Keyの一覧以上の長さの、既知のM_Keyの一覧をマスタＳＭが有することを確実にするように動作させることができる。
【０１６９】
実施形態に従うと、ネットワーク環境においてネットワーク管理をサポートするための方法であって、ネットワークスイッチにおいてトランザクションインターフェイスを設けることを備え、トランザクションインターフェイスは、ユーザが、トランザクションを用いてネットワーク環境と対話できるようにし、さらにトランザクション中の１つ以上の動作をグループ化することと、トランザクションの中に競合する動作が含まれないことを確実にすることとを備える、方法が開示される。
【０１７０】
実施形態に従うと、ネットワーク環境においてネットワークスイッチをサブネットマネージャ（ＳＭ）と関連付けるための方法が開示される。
【０１７１】
実施形態に従うと、トランザクションインターフェイスがコマンドラインインターフェイス（ＣＬＩ）であることができるようにすることができる方法が開示される。
【０１７２】
実施形態に従うと、１つ以上のコマンドを用いて１つ以上の動作を行なうための方法が開示され、１つ以上のコマンドは、トランザクション中の開始コマンドとコミットコマンドとの間でグループ化される。
【０１７３】
実施形態に従うと、トランザクションを完了させかつコミットするための１つ以上の条件がトランザクションの開始時に満たされることを確実にするための方法が開示される。
【０１７４】
実施形態に従うと、１つ以上の現在の条件が受入れ不可能な場合にユーザがトランザクションを中止できるようにするための方法が開示される。
【０１７５】
実施形態に従うと、ユーザが強制モードでコミット動作を発行できるようにするための方法が開示され、その場合、１つ以上のコンフィギュレーションデーモンが利用不可能な場合にコミット動作が成功することができる。
【０１７６】
実施形態に従うと、先に失敗した更新トランザクションの後に更新トランザクションを開始して複数のＳＭノードを同期させる方法が開示される。
【０１７７】
実施形態に従うと、トランザクションを開始する前に秘密管理鍵（M_Key）をイネーブルするための方法が開示される。
【０１７８】
実施形態に従うと、その後のコミット動作の後にＳＭが用いるであろうM_Keyの値として、規定されるM_Keyの値を設定するための方法が開示される。
【０１７９】
実施形態に従うと、ネットワーク環境においてネットワーク管理をサポートするためのシステムであって、１つ以上のマイクロプロセッサと、１つ以上のマイクロプロセッサ上で実行するネットワークスイッチとを備え、ネットワークスイッチは、トランザクションインターフェイスを設けるように動作し、トランザクションインターフェイスは、ユーザが、トランザクションを用いてネットワーク環境と対話できるようにし、さらにネットワークスイッチは、トランザクション中の１つ以上の動作をグループ化するように、かつトランザクションの中に競合する動作が含まれないようにすることを確実にするように動作する、システムが開示される。
【０１８０】
実施形態に従うと、システムが開示され、ネットワークスイッチはネットワーク環境においてサブネットマネージャ（ＳＭ）と関連付けられる。
【０１８１】
実施形態に従うと、システムが開示され、トランザクションインターフェイスはコマンドラインインターフェイス（ＣＬＩ）である。
【０１８２】
実施形態に従うと、システムが開示され、ネットワークスイッチは、１つ以上のコマンドを用いて１つ以上の動作を行なうように動作し、１つ以上のコマンドは、トランザクション中で開始コマンドとコミットコマンドとの間でグループ化される。
【０１８３】
実施形態に従うと、システムが開示され、ネットワークスイッチは、トランザクションを完了させかつコミットするための１つ以上の条件がトランザクションの開始時に満たされることを確実にするように動作する。
【０１８４】
実施形態に従うと、システムが開示され、ネットワークスイッチは、１つ以上の現在の条件が受入れ不可能な場合にユーザがトランザクションを中止できるようにするように動作する。
【０１８５】
実施形態に従うと、システムが開示され、ネットワークスイッチは、ユーザが強制モードでコミット動作を発行できるようにするように動作し、その場合、１つ以上のコンフィギュレーションデーモンが利用不可能な場合にコミット動作が成功することができる。
【０１８６】
実施形態に従うと、システムが開示され、ネットワークスイッチは、ユーザが、先に失敗した更新トランザクションの後に更新トランザクションを開始して複数のＳＭノードを同期させることができるようにするように動作する。
【０１８７】
実施形態に従うと、システムが開示され、ネットワークスイッチは、トランザクションを開始する前にユーザが秘密管理鍵（M_Key）をイネーブルすることができるようにするように動作する。
【０１８８】
実施形態に従うと、非一時的機械可読記憶媒体であって、実行されると、システムに、ユーザがトランザクションを用いてネットワーク環境と対話できるようにするトランザクションインターフェイスをネットワークスイッチに設けるステップと、トランザクション中の１つ以上の動作をグループ化するステップと、トランザクション中に競合する動作が含まれないようにすることを確実にするステップとを備えるステップを行なわせる命令をその上に記憶する記憶媒体が開示される。
【０１８９】
実施形態に従うと、ネットワーク環境においてネットワーク管理をサポートするための方法であって、ネットワーク環境において複数のコンフィギュレーションデーモン（ＣＤ）を設けることを備え、マスタＣＤはマスタサブネットマネージャ（ＳＭ）を有するスイッチ上のアクティブＣＤであり、さらに、マスタＣＤを介して、ネットワーク環境において１つ以上のピアＣＤと関連付けられる１つ以上の状態についての整合性チェックを行なうことを備え、各々の当該ピアＣＤは待機ＳＭを有するスイッチ上のアクティブＣＤであり、さらに、コンフィギュレーションファイルを１つ以上のピアＣＤに複製することを備え、コンフィギュレーションファイルは少なくとも１つの管理鍵（M_Key）の値を含む、方法が開示される。
【０１９０】
実施形態に従うと、マスタＣＤを介して、少なくとも１つのM_Keyの値で待機ＳＭを更新するように１つ以上のピアＣＤに指示するための方法が開示される。
【０１９１】
実施形態に従うと、トランザクションの種類に基づいてコンフィギュレーションファイルを１つ以上のピアＣＤに複製するための順序を定めるための方法が開示される。
【０１９２】
実施形態に従うと、トランザクションがadd-onlyトランザクションである場合に、コンフィギュレーションファイルを用いて、まず、マスタＳＭ上のM_Keyの値の１つ以上の既知の一覧を更新するための方法が開示される。
【０１９３】
実施形態に従うと、トランザクションがadd-onlyトランザクションでない場合に、M_Keyコンフィギュレーションファイルを用いて、まず、１つ以上の待機ＳＭ上のM_Keyの値の１つ以上の既知の一覧を更新するための方法が開示される。
【０１９４】
実施形態に従うと、１つ以上の状態が、１つ以上のピアＣＤの可用性、互換性のある実現例／プロトコルのバージョン、正しい現在のデーモンランタイム状態、および１つ以上のピアＣＤ上の正しい現在のコンフィギュレーション状態／バージョンを含むことができるようにするための方法が開示される。
【０１９５】
実施形態に従うと、トランザクションを開始する前に各々のＣＤ毎に整合性のある暗号化パスワードを検証するための方法が開示される。
【０１９６】
実施形態に従うと、同じトランザクション中での新しい現在のM_Keyの値の変更と古い現在のM_Keyの値の削除とを禁止するための方法が開示される。
【０１９７】
実施形態に従うと、マスタＳＭが、待機ＳＭインスタンスが維持する任意のM_Keyの一覧以上の長さの、既知のM_Keyの一覧を有することを確実にするための方法が開示される。
【０１９８】
実施形態に従うと、マスタＣＤに対してコミット動作を開始するための方法が開示される。
【０１９９】
実施形態に従うと、ネットワーク環境においてネットワーク管理をサポートするためのシステムであって、１つ以上のマイクロプロセッサと、１つ以上のマイクロプロセッサ上で実行するマスタコンフィギュレーションデーモン（ＣＤ）とを備え、マスタＣＤはマスタサブネットマネージャ（ＳＭ）を有するスイッチ上のアクティブＣＤであり、マスタＣＤは、ネットワーク環境において１つ以上のピアＣＤと関連付けられる１つ以上の状態に対する整合性チェックを行なうように動作し、各々の当該ピアＣＤは待機ＳＭを有するスイッチ上のアクティブＣＤであり、マスタＣＤは、コンフィギュレーションファイルを１つ以上のピアＣＤに複製するように動作し、コンフィギュレーションファイルは少なくとも１つの管理鍵（M_Key）の値を含む、システムが開示される。
【０２００】
実施形態に従うと、システムが開示され、マスタＣＤは少なくとも１つのM_Keyの値で待機ＳＭを更新するように１つ以上のピアＣＤに指示するように動作する。
【０２０１】
実施形態に従うと、システムが開示され、コンフィギュレーションファイルを１つ以上のピアＣＤに複製するための順序をトランザクションの種類に基づいて定めることができる。
【０２０２】
実施形態に従うと、システムが開示され、マスタＣＤは、トランザクションがadd-onlyトランザクションである場合に、コンフィギュレーションファイルを用いて、まず、マスタＳＭ上のM_Keyの値の１つ以上の既知の一覧を更新するように動作する。
【０２０３】
実施形態に従うと、システムが開示され、マスタＣＤは、トランザクションがadd-onlyトランザクションでない場合に、M_Keyコンフィギュレーションファイルを用いて、まず、１つ以上の待機ＳＭ上のM_Keyの値の１つ以上の既知の一覧を更新するように動作する。
【０２０４】
実施形態に従うと、システムが開示され、１つ以上の状態は、１つ以上のピアＣＤの可用性、互換性のある実現例／プロトコルのバージョン、正しい現在のデーモンランタイム状態、および１つ以上のピアＣＤ上の正しい現在のコンフィギュレーション状態／バージョンを含む。
【０２０５】
実施形態に従うと、システムが開示され、トランザクションを開始する前に整合性のある暗号化パスワードが各々のＣＤ毎に検証される。
【０２０６】
実施形態に従うと、システムが開示され、同じトランザクション中での新しい現在のM_Keyの値を変更する動作および古い現在のM_Keyの値を削除する動作が禁じられる。
【０２０７】
実施形態に従うと、システムが開示され、マスタＣＤは、待機ＳＭインスタンスが維持する任意のM_Keyの一覧以上の長さの、既知のM_Keyの一覧をマスタＳＭが有することを確実にするように動作する。
【０２０８】
実施形態に従うと、非一時的機械可読記憶媒体であって、実行されると、システムに、ネットワーク環境に複数のコンフィギュレーションデーモン（ＣＤ）を設けるステップであって、マスタＣＤはマスタサブネットマネージャ（ＳＭ）を有するスイッチ上のアクティブＣＤである、ステップと、マスタＣＤを介して、ネットワーク環境において１つ以上のピアＣＤと関連付けられる１つ以上の状態に対する整合性チェックを行なうステップであって、各々の当該ピアＣＤは待機ＳＭを有するスイッチ上のアクティブＣＤである、ステップと、少なくとも１つの管理鍵（M_Key）の値を含むコンフィギュレーションファイルを１つ以上のピアＣＤに複製するステップとを備えるステップを実行させる命令をその上に記憶する記憶媒体が開示される。
【０２０９】
本発明は、本開示の教示に従ってプログラミングされる１つ以上のプロセッサ、メモリ、および／またはコンピュータ読取可能記憶媒体を含む、１つ以上の従来の汎用もしくは特化デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを用いて好都合に実現されてもよい。適切なソフトウェアコーディングは、ソフトウェア技術の当業者には明らかであるように、本開示の教示に基づいて、熟練したプログラマーによって容易に作成されることができる。
【０２１０】
いくつかの実施形態では、本発明は、本発明のプロセスのうち任意のものを行なうようにコンピュータをプログラミングするのに用いることができる命令をその上に／その中に格納した記憶媒体またはコンピュータ読取可能媒体であるコンピュータプログラム製品を含む。記憶媒体は、フロッピー（登録商標）ディスク、光学ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブ、および磁気光学ディスクを含む任意の種類のディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュメモリデバイス、磁気もしくは光学カード、（分子メモリＩＣを含む）ナノシステム、または命令および／もしくはデータを格納するのに好適な任意の種類の媒体もしくはデバイスを含むことができるが、これらに限定されない。
【０２１１】
本発明の以上の説明は、例示および説明の目的のために与えられた。網羅的であることまたは開示される正確な形態に発明を限定することを意図するものではない。当業者には多数の修正例および変形例が明らかである。発明の原則およびその実際的な適用例を最も良く説明し、これによりさまざまな実施形態について、企図される特定の用途に適するさまざまな修正例とともに当業者が発明を理解できるようにするために、実施形態を選択し、説明した。発明の範囲は、以下の請求項およびそれらの均等物によって規定されることが意図される。
【０２１２】
付録Ａ
サンプルＣＬＩインターフェイス
たとえば、オラクルＮＷ２ネットワークスイッチは、以上の箇所に記載のようなトランザクションプロトコルをサポートするsmsubnetprotection ＣＬＩインターフェイスを提供することができる。smsubnetprotection ＣＬＩインターフェイスは、以下のコマンドを与えることができる。
【０２１３】
start
startコマンドは、すべての必要とされるＣＤインスタンス（"smnodes"）が利用可能であり、動作するか否かを（ＣＤを介して）チェックすることができる。そうであれば、システムは、現在のM_Keyコンフィギュレーションのワーキングコピーを確立することができる。startコマンドは、強制的に開始させる、暗示的にイネーブルする、およびトランザクションの種類（たとえば"addonly"または"deleteonly"）を特定するオプションを含むことができる。
【０２１４】
強制オプションが選ばれると、動作は、すべてのＣＤが利用可能であるわけではない場合に成功することができるが、すべてのＣＤが利用可能であるわけではない場合、ユーザに対する警告および「なくなっている」ＣＤの組を同定するログ入力を行なうことができる。
【０２１５】
startコマンドが成功するためには、秘密M_Keyの使用のためのイネーブルされた状況を設定する必要があり得る。イネーブルされた状況は、まず、enablesecretmkeyコマンドを用いることを介して、またはstartコマンドについて特定可能な"enable"オプションを選ぶことを介して、設定可能である。startコマンドのための"enable"オプションを有する理由は、秘密M_Keyの用途が、規定される現在の値および／または既知の値の一覧とともにイネーブル可能であることを確実にすることである。
【０２１６】
さらに、トランザクションのために"addonly"種類が特定されれば、このトランザクションでは削除動作は許されない（"deleteonly"が特定される場合は、逆も然りである）。同じトランザクションについて"deleteonly"および"addonly"の両方を特定することも合法でない。"deleteonly"も"addonly"も特定されなければ、set-current動作のみが許される。一方、トランザクションが"addonly"または"deleteonly"であるかとは独立して、set-current動作を用いることができる。
【０２１７】
listactive
listactiveコマンドは、M_Keyの最後にコミットされた一覧ならびに現在のM_Keyの値およびイネーブルされた状況を表示させることができる。このコマンドは、任意の進行中のトランザクションとも独立して呼出可能である。listactiveコマンドは、記号および／または１６進数を一覧にするためのオプションを含むことができる。
【０２１８】
listworking
listworkingコマンドは、最後の（すなわち、コミットされていない）startコマンド以来結果的に得られた一覧および変更の現在の基礎（base）を表示することができる。listworkingコマンドは、記号および／または１６進数を一覧にするためのオプションを含むことができる。
【０２１９】
listlocalmkey
listlocalmkeyコマンドは、ローカルスイッチチップ（たとえばＩＳ４インスタンス）について規定される現在のM_Keyの値（もしあれば）を表示させることができる。出力は、任意のM_Keyが規定されているかどうか、および規定されていればそれが"readable"または"secret"であるかを反映することができる。加えて、出力は、M_Keyが用いられない場合を反映することができる。
【０２２０】
（たとえば、sysfsインターフェイスへの手動でのアクセスによって引起される）コンフィギュレーションエラーの場合、出力は、不法なまたはサポートされていない保護ビット値も反映することができる。また、出力は、たとえばM_Keyの値がゼロであるが保護ビット値が"secret"モードを示す場合には、このノードを管理することができないことを反映することができる。
【０２２１】
この動作は、ローカルＳＭイネーブルされた状況またはマスタの状況とは独立して、任意のＮＭ２から行なうことができる。
【０２２２】
setlocalsecretmkey
setlocalsecretmkeyコマンドは、ローカルＩＳ４インスタンスのM_Keyの値を特定された値に設定し、関連付けられたモードを"secret"（すなわち、M_Key保護ビット）に設定することができる。setlocalsecretmkeyコマンドは、パスワード要件または平易な１６進数を用いて記号を特定するためのオプションを含むことができる。
【０２２３】
この動作は、ローカルＳＭイネーブルされた状況またはマスタの状況とは独立して、任意のＮＭ２ノードから行なうことができる。値ゼロは合法な秘密M_Keyの値ではなく、ＣＬＩコマンドはこれを拒絶することができる。
【０２２４】
add
addコマンドは、ワーキングリストに新しいM_Keyの値を加えることができる。addコマンドは、パスワード要件または平易な１６進数で記号を特定するためのオプションを含むことができる。addコマンドは、トランザクションが"addonly"オプションで開始された場合にのみ合法である。
【０２２５】
任意の誤って加えられた値の無効化は、abortサブコマンドを介して現在のトランザクションを明示的に中止することによって達成可能である。これは、新しく加えられた値の現在を加えることおよび次に設定することが、整合したかつ十分に規定されたやり方でクリーンアップされることを確実にする。
【０２２６】
delete
deleteコマンドは、一覧から既存のM_Keyの値を除去することができる。deleteコマンドは、記号または平易な１６進数を特定するためのオプションを含むことができる。
【０２２７】
このコマンドは、トランザクションが"deleteonly"オプションで開始された場合にのみ合法である。さらに、インターフェイスによって実施（enforce）される"current"値も"old current"値も除去することは合法でない。また、現時点で一時的にオフラインであり得るシステム中の任意のＮＭ２ノードについて依然として"current"として存在し得る任意の値を削除することは合法でない。この制約をインターフェイスによって実施してはならないが、管理者が従うべき規則として文書化することができる。
【０２２８】
加えて、任意の誤って削除された値の無効化は、abortサブコマンドを介して現在のトランザクションを明示的に中止することによって達成可能である。
【０２２９】
set-current
set-currentコマンドは、その後のコミット動作の後にマスタＳＭが用いる現在のM_Keyの値として、既に規定されたM_Keyの値を設定することができる。set-currentコマンドは、記号または平易な１６進数を特定するためのオプションを含むことができる。
【０２３０】
現在のM_Keyの値を更新する際に、古い現在のM_Keyの値を記録することができる。同じ更新トランザクションで現在のM_Keyの値の更新と古い現在のM_Keyの値の削除との両方を行なうことは合法でない。また、同じトランザクションの間の複数のset-current動作は、それらがすべて現在規定されるM_Keyの値を同定する限りは合法であることができ、コミットの前の最後の動作のみが結果的に得られるアクティブコンフィギュレーションに対して何らかの影響を有し得る。
【０２３１】
コンフィギュレーションがコミットされる際に現在のM_Keyの値が規定されていない場合はこれが受入れられるが、結果は、コンフィギュレーションがディスエーブルされていた場合と同じである。
【０２３２】
set-currentコマンドを介して現在のM_Keyの値が一旦規定されると、コンフィギュレーションがディスエーブルされなければ、それを設定されていないようにする（unset）ことは不可能である。このことは、コンフィギュレーションがディスエーブルされている間はより多くの既知の値を加えることが不可能であることも暗示する。
【０２３３】
このように、ディスエーブルされたモードで既知の一覧を更新するためには、コンフィギュレーションを、コンフィギュレーションが更新されている間は一時的にイネーブルする必要があるが、その後は再びすぐにディスエーブルすることができる。
【０２３４】
commit
commitコマンドは、最後のstart動作以来（再）規定されているコンフィギュレーションをＰＤ−ＰＤコミットプロトコルを介してシステム中でアクティブにすることができる。commitコマンドは強制コミットのためのオプションを含むことができる。
【０２３５】
デフォルトでは、動作は、すべての規定される（"smnodes"）ＰＤインスタンスが存在しているわけではない場合に失敗する可能性がある。"force"オプションが特定されれば、動作は、すべてのＰＤインスタンスが利用可能であるわけではないが警告およびログメッセージを生成可能であれば、依然として成功することがある。
【０２３６】
abort
abortコマンドは、アクティブコンフィギュレーションに対して何の影響もなく、最後のstartコマンド以来コミットされていないすべての動作を破棄することができる。deleteまたはaddコマンドについての任意の誤った引数（argument）を、abort動作を行なうことによって無効にすることができる。
【０２３７】
setpassword
setpasswordコマンドは、他のノードに複製する前にM_Keyの一覧を暗号化するために用いるべきパスワードを規定することができる。さらに、すべての"smnodes"ＮＭ２に対して同じパスワードを規定することができ、"smnodes"メンバーであることを更新する際と同じ制御されたやり方で更新することができる。
【０２３８】
少なくとも８文字の英数字の列を有するパスワードが強力と考えられる。システムは、setpasswordコマンドを介して置き換え可能な組込み−デフォルトパスワード値を与えてもよい。
【０２３９】
暗号化のための方法は、オープンソースツールキットに基づくことができ、この場合、ユーザが供給したパスワードを暗号化／解読アルゴリズムへの入力として用いることができる。
【０２４０】
導出された鍵の値をaddコマンドが特定する鍵の値に基づいて生成するのに、特定されたパスワードも用いることができる。特定されたパスワードは、それが明示的に再び更新されるまで、永続してローカルにＮＭ２上に記録可能である。
【０２４１】
パスワードが１つの"smnode"上で更新されるときは常に、これを、任意のトランザクションが起こり得る前に、他の"smnodes"上で更新しなければならない。
【０２４２】
enablesecretmkey
enablesecretmkeyコマンドは、現在規定されているコンフィギュレーションのための暗示的な開始およびコミットトランザクションを表わすことができる。enablesecretmkeyコマンドは「強制開始／コミット」のためのオプションを含むことができる。
【０２４３】
コンフィギュレーションが現在規定されていなければ、コマンドは、すべての"smnodes"ピアが利用可能でありかつ正しい状態にあることを検証すること、およびイネーブルされた状況を"enabled"に設定することも除き、影響を全く有しないことがある。（イネーブルされた状況は基礎となるコンフィギュレーションファイル中の専用のフラグである。）コンフィギュレーションが現在規定されていなければ、イネーブルされた状況はＳＭの動作に対して何の影響も有しないことがある。
【０２４４】
disablesecretmkey
disablesecretmkeyコマンドは、"smnodes"上のどのＳＭも秘密のM_Keyの値を用いることができないという副次的作用を有する、現在規定されるコンフィギュレーションについての暗示的な開始／コミットトランザクションを表わすことができる。通常のトランザクションとは異なり、開始／コミットトランザクションは、コンフィギュレーションが規定する現在のM_Keyの値を更新するのではなく、「イネーブルされた状況」を"disabled"に設定する。disablesecretmkeyコマンドは「強制開始／コミット」のためのオプションを含むことができる。
【０２４５】
ディスエーブルされた状況は、ＳＭが任意の既に規定された読出可能M_Keyの値を用いているか、またはM_Keyの値を全く用いないかのいずれかであり得る。また、既知の秘密M_Keyの値の一覧は依然として規定可能であり、マスタＳＭは依然として、「非選択」M_Keyに対する初期更新の際は利用可能ではなかったが現在は利用可能であり、既知の秘密M_Keyの値のうち１つがアクティブである任意のポート／ノードを発見しかつ管理することができる可能性がある。
【０２４６】
commit、enablesecretmkey、またはdisablesecretmkeyサブコマンドによって引起されるトランザクションなどの更新トランザクションは、トランザクションが失敗した場合にも、すべてのＳＭイネーブルされたＮＭ２上のＮＭ２  ２．１ファームウェアを有する動作中のサブネット内のマスタ選択状態を十分に規定することができるという観点で安全なやり方で実現可能である。
【０２４７】
さらに、より劇的な不整合という内在的なおそれがまったくない過渡的な問題の場合に失敗したトランザクションを成功裏に完了しようとしてこれを繰返してもよい。また、付加的な既知の鍵の値を規定することおよびこれを現在にすることなどの隔離動作は、未知の状態のＮＭ２ノードがサブネットの状態を修正可能であってはならないことを確実にするように、強制モードで行なうことができる。
【０２４８】
加えて、失敗した更新トランザクションの後に秘密鍵の使用をディスエーブルすることまたは失敗したトランザクションの後に既知の鍵の値を削除することは、サブネット中での整合性のないマスタ選択に繋がることがあり、したがって、ｓｍノードの組が整合した状態にされる前に試みてはならない。
【０２４９】
ここで、システムを整合した状態にすることは、（おそらくは新しい）マスタが、更新された（所望の）現在のコンフィギュレーションを有するか否かに基づいて、enablesecretmkeyまたは現在のマスタからの更新トランザクションを行なうことに係ることができる。
【図１】
0006267191.tif 000002
【図２】
0006267191.tif 000003
【図３】
0006267191.tif 000004
【図４】
0006267191.tif 000005
【図５】
0006267191.tif 000006
【図６】
0006267191.tif 000007
【図７】
0006267191.tif 000008
【図８】
0006267191.tif 000009
【図９】
0006267191.tif 000010