(57)【特許請求の範囲】
【請求項１】
リンクアグリゲーショングループにおけるネットワークデバイスの動作状態を更新する方法であって、前記ネットワークデバイス及び近隣ネットワークデバイスが、前記リンクアグリゲーショングループの第１のポータルに含まれ、前記第１のポータルは、前記リンクアグリゲーショングループのリンクを介して１つ又は複数のリモートネットワークデバイスを含む第２のポータルに結合され、前記ネットワークデバイスは、ポータル内リンク（ＩＰＬ）を用いてポータル内ポート（ＩＰＰ）を介して前記近隣ネットワークデバイスに通信可能に結合され、前記ネットワークデバイスおよび前記近隣ネットワークデバイスの各々が前記第１のポータルの単一のアグリゲータを用いて複数のアグリゲーションポートを有するリンクアグリゲーションを実行し、前記ネットワークデバイスおよび前記近隣ネットワークデバイスの各々が前記第１のポータルの単一のゲートウェイを有しており、前記方法は、
リンクアグリゲーションのために前記ネットワークデバイスを初期化すること（３４０２）であって、前記初期化は、管理セッティングによって設定されたように前記第１のポータルについての前記ネットワークデバイスの変数をセッティングすることを含む、初期化することと、
前記第１のポータルに関連付けられた動作状態が変更されたと判定すること（３４０４）と、
前記動作状態の変更に応答して、リンクアグリゲーションのための前記ネットワークデバイスの動作状態の組を更新すること（３４０８）と、
を含み、前記リンクアグリゲーションのための前記ネットワークデバイスの動作状態の組は、前記ネットワークデバイスの前記ゲートウェイの動作状態を含む、方法。
【請求項２】
前記第１のポータルについての前記ネットワークデバイスの前記変数は、前記ネットワークデバイスの前記アグリゲータのシステム優先度、前記アグリゲータのシステム識別子、前記第１のポータルのシステム優先度、前記第１のポータル内のネットワークデバイスの識別子、前記アグリゲータに関連付けられた管理アグリゲータキー値を含む、請求項１に記載の方法。
【請求項３】
前記第１のポータルに関連する前記動作状態の変更は、前記近隣ネットワークデバイスのＩＰＰアクティビティの値のネットワークデバイスビューの動作値がアクティブであるときに真にセットされるブール変数によって示される、請求項１又は２に記載の方法。
【請求項４】
前記第１のポータルに関連する前記動作状態の変更は、前記ネットワークデバイスの前記ゲートウェイの動作状態が変化したときに真にセットされるブール変数によって示される、請求項１又は２に記載の方法。
【請求項５】
前記第１のポータルに関連する前記動作状態の変更は、前記第１のポータルに関連付けられたネットワークデバイスのアグリゲーションポートの動作状態のうちの１つが変化したときに真にセットされるブール変数によって示される、請求項１又は２に記載の方法。
【請求項６】
リンクアグリゲーションのための前記ネットワークデバイスの動作状態の組を更新することは、さらに
動作可能なアグリゲーションポート識別子のみを含む動作アグリゲーションポートのリストを作成することを有する、請求項１又は２に記載の方法。
【請求項７】
前記第１のポータルに関連付けられた動作状態の変更を判定した後に、前記第１のポータルに関連付けられた動作状態の変更を示さない１つ以上の変数を設定するステップ（３４０６）をさらに有する、請求項１又は２に記載の方法。
【請求項８】
リンクアグリゲーショングループにおけるネットワークデバイスの動作状態の更新をサポートするネットワークデバイスであって、前記ネットワークデバイス及び近隣ネットワークデバイスが、前記リンクアグリゲーショングループの第１のポータルに含まれ、前記第１のポータルは、前記リンクアグリゲーショングループのリンクを介して１つ又は複数のリモートネットワークデバイスを含む第２のポータルに結合され、前記ネットワークデバイスは、ポータル内リンク（ＩＰＬ）を用いてポータル内ポート（ＩＰＰ）を介して前記近隣ネットワークデバイスに通信可能に結合され、前記ネットワークデバイスおよび前記近隣ネットワークデバイスの各々が前記第１のポータルの単一のアグリゲータを用いて複数のアグリゲーションポートを有するリンクアグリゲーションを実行し、前記ネットワークデバイスおよび前記近隣ネットワークデバイスの各々が前記第１のポータルの単一のゲートウェイを有しており、前記ネットワークデバイスは、
前記リンクアグリゲーショングループの物理リンク又はアグリゲーションリンクに結合されており、アグリゲーションポートを含むポート（１３４０）と、
前記ポートに結合されＤＲＮＩ機能（１３１３）を実行するネットワークプロセッサ（１３００）とを備え、
前記ＤＲＮＩ機能は、リンクアグリゲーションのために前記ネットワークデバイスを初期化することであって、前記初期化は、管理セッティングによって設定されたように前記第１のポータルについての前記ネットワークデバイスの変数をセッティングすることを含む、初期化することを実行し、
前記第１のポータルに関連付けられた動作状態が変更されたと判定することをさらに実行し、
前記動作状態の変更に応答して、リンクアグリゲーションのための前記ネットワークデバイスの動作状態の組を更新することをさらに実行し、前記リンクアグリゲーションのための前記ネットワークデバイスの動作状態の組は、前記ネットワークデバイスの前記ゲートウェイの動作状態を含む、
ネットワークデバイス。
【請求項９】
前記第１のポータルについての前記ネットワークデバイスの前記変数は、前記ネットワークデバイスの前記アグリゲータのシステム優先度、前記アグリゲータのシステム識別子、前記第１のポータルのシステム優先度、前記第１のポータル内のネットワークデバイスの識別子、前記アグリゲータに関連付けられた管理アグリゲータキー値を含む、請求項８に記載のネットワークデバイス。
【請求項１０】
前記第１のポータルに関連する前記動作状態の変更は、前記近隣ネットワークデバイスのＩＰＰアクティビティの値のネットワークデバイスビューの動作値がアクティブであるときに真にセットされるブール変数によって示される、請求項８又は９に記載のネットワークデバイス。
【請求項１１】
前記第１のポータルに関連する前記動作状態の変更は、前記ネットワークデバイスの前記ゲートウェイの動作状態が変化したときに真にセットされるブール変数によって示される、請求項８又は９に記載のネットワークデバイス。
【請求項１２】
前記第１のポータルに関連する前記動作状態の変更は、前記第１のポータルに関連付けられたネットワークデバイスのアグリゲーションポートの動作状態のうちの１つが変化したときに真にセットされるブール変数によって示される、請求項８又は９に記載のネットワークデバイス。
【請求項１３】
リンクアグリゲーションのための前記ネットワークデバイスの動作状態を更新することは、
動作可能なアグリゲーションポート識別子のみを含む動作アグリゲーションポートのリストを作成することを有する、請求項８又は９に記載のネットワークデバイス。
【請求項１４】
前記ＤＲＮＩ機能は、前記第１のポータルに関連付けられた動作状態の変更を判定した後に、前記第１のポータルに関連付けられた動作状態の変更を示さない１つ以上の変数を設定することをさらに実行する、請求項８又は９に記載のネットワークデバイス。
【請求項１５】
命令が記憶された非一時的な機械読取可能な記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、リンクアグリゲーショングループにおけるネットワークデバイスの動作状態を更新する動作を実行させ、前記ネットワークデバイス及び近隣ネットワークデバイスが、前記リンクアグリゲーショングループの第１のポータルに含まれ、前記第１のポータルは、前記リンクアグリゲーショングループのリンクを介して１つ又は複数のリモートネットワークデバイスを含む第２のポータルに結合され、前記ネットワークデバイスは、ポータル内リンク（ＩＰＬ）を用いてポータル内ポート（ＩＰＰ）を介して前記近隣ネットワークデバイスに通信可能に結合され、前記ネットワークデバイスおよび前記近隣ネットワークデバイスの各々が前記第１のポータルの単一のアグリゲータを用いて複数のアグリゲーションポートを有するリンクアグリゲーションを実行し、前記ネットワークデバイスおよび前記近隣ネットワークデバイスの各々が前記第１のポータルの単一のゲートウェイを有しており、前記動作は、
リンクアグリゲーションのために前記ネットワークデバイスを初期化すること（３４０２）であって、前記初期化は、管理セッティングによって設定されたように前記第１のポータルについての前記ネットワークデバイスの変数をセッティングすることを含む、初期化することと、
前記第１のポータルに関連付けられた動作状態が変更されたと判定すること（３４０４）と、
前記動作状態の変更に応答して、リンクアグリゲーションのための前記ネットワークデバイスの動作状態の組を更新すること（３４０８）と、
を含み、前記リンクアグリゲーションのための前記ネットワークデバイスの動作状態の組は、前記ネットワークデバイスの前記ゲートウェイの動作状態を含む、非一時的な機械読取可能な記憶媒体。
【請求項１６】
前記第１のポータルについての前記ネットワークデバイスの前記変数は、前記ネットワークデバイスの前記アグリゲータのシステム優先度、前記アグリゲータのシステム識別子、前記第１のポータルのシステム優先度、前記第１のポータル内のネットワークデバイスの識別子、前記アグリゲータに関連付けられた管理アグリゲータキー値を含む、請求項１５に記載の非一時的な機械読取可能な記憶媒体。
【請求項１７】
前記第１のポータルに関連する前記動作状態の変更は、前記近隣ネットワークデバイスのＩＰＰアクティビティの値のネットワークデバイスビューの動作値がアクティブであるときに真にセットされるブール変数によって示される、請求項１５又は１６に記載の非一時的な機械読取可能な記憶媒体。
【請求項１８】
前記第１のポータルに関連する前記動作状態の変更は、前記ネットワークデバイスの前記ゲートウェイの動作状態が変化したときに真にセットされるブール変数によって示される、請求項１５又は１６に記載の非一時的な機械読取可能な記憶媒体。
【請求項１９】
前記第１のポータルに関連する前記動作状態の変更は、前記第１のポータルに関連付けられたネットワークデバイスのアグリゲーションポートの動作状態のうちの１つが変化したときに真にセットされるブール変数によって示される、請求項１５又は１６に記載の非一時的な機械読取可能な記憶媒体。
【請求項２０】
リンクアグリゲーションのための前記ネットワークデバイスの動作状態を更新することは、さらに
動作可能なアグリゲーションポート識別子のみを含む動作アグリゲーションポートのリストを作成することを有する、請求項１５又は１６に記載の非一時的な機械読取可能な記憶媒体。
【請求項２１】
前記プロセッサが実行する前記動作が、前記第１のポータルに関連付けられた動作状態の変更を判定した後に、前記第１のポータルに関連付けられた動作状態の変更を示さない１つ以上の変数を設定するステップ（３４０６）を有する、請求項１５又は１６に記載の非一時的な機械読取可能な記憶媒体。
【請求項２２】
少なくとも１つのプロセッサにおいて実行されると、少なくとも１つのプロセッサに請求項１ないし７のいずれか一項に記載の方法を実行させる命令を含む、リンクアグリゲーショングループにおけるネットワークデバイスの動作状態を更新するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般にリンクアグリゲーションに関し、より詳細には、リンクアグリゲーショングループ（ＬＡＧ）のための分散レジリエントネットワーク相互接続（ＤＲＮＩ）を実施するための方法及び装置に関する。
【背景技術】
【０００２】
図１Ａに示すように、リンクアグリゲーションは、ネットワーク内の１対のノード１２０、１２２間の複数のリンクをアグリゲートして、リンクアグリゲーショングループ（ＬＡＧ）１０１に参加しているリンクのそれぞれにおけるユーザデータの送信を可能にするのに用いられるネットワーク構成及びプロセスである（例えば、Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ（ＩＥＥＥ）規格８０２．１ＡＸを参照）。この形式で複数のネットワーク接続をアグリゲートすることによって、単一の接続が維持することができるスループットを超えてスループットを増大させることができ、かつ／又はこれを用いてリンクのうちの１つの故障時の回復力をもたらすことができる。「分散レジリエントネットワーク相互接続（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｒｅｓｉｌｉｅｎｔ  Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）」（ＤＲＮＩ）１０２（参照によりその全体が本明細書に援用される、２０１３年２月１日付の「Ｄｒａｆｔ  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｌｏｃａｌ  ａｎｄ  Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ  −  Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ」と題するＩＥＥＥ  Ｐ８０２．１ＡＸ−ＲＥＶ（商標）／Ｄ１．０の節８を参照）は、３つ以上のノード間、例えば図１Ｂに示すように４つのノードＬ、Ｌ、Ｍ及びＯ間であってもネットワークインターフェースにおいてリンクアグリゲーションを用いることができるようにするための、リンクアグリゲーションに対する拡張を規定している。
【０００３】
図１Ｂに示すように、ネットワーク１５０とネットワーク１５２との間にＬＡＧが形成される。より詳細には、ＬＡＧ仮想ノードすなわち「ポータル」１１２、１１４間にＬＡＧが形成される。第１のＬＡＧ仮想ノードすなわちポータル１１２は、第１のノード（Ｋ）及び第２のノード（Ｌ）を備える。第２のＬＡＧ仮想ノードすなわちポータル１１４は、第３のノード（Ｍ）及び第４のノード（Ｏ）を備える。これらのノードは、「ポータルシステム」とも呼ばれ得る。第１のＬＡＧ仮想ノードすなわちポータル１１２と第２のＬＡＧ仮想ノードすなわちポータル１１４との双方が、ポータル内に単一のノード又は３つ以上のノードを備えてもよいことに留意されたい。ＬＡＧノードＫ及びＭは、ピアノードとして接続され、ＬＡＧノードＬ及びＯもピアノードとして接続される。本出願において用いられるとき、「ＬＡＧ仮想ノード」は、上記で検討したＩＥＥＥ文書におけるＤＲＮＩポータル（すなわち、それぞれのピアに対し単一のノードであるように見える２つ以上のノード）を指す。更に、仮想ノードすなわちポータル１１２が２つのノードＫ、Ｌを「含む」という表現は、仮想ノードすなわちポータル１１２がノードＫ、Ｌによってエミュレートされることを意味し、これは「エミュレートされたシステム」と呼ばれ得る。同様に、仮想ノードすなわちポータル１１４が２つのノードＭ、Ｏを「含む」という表現は、仮想ノードすなわちポータル１１４がノードＭ、Ｏによってエミュレートされることを意味する。Ｋ−ＭリンクとＬ−Ｏリンクとの間にリンクアグリゲーショングループ１６１も形成されることに留意されたい。
【０００４】
ＬＡＧに参加している複数のノードが、ＬＡＧにおけるそれらのピアパートナーに対し、単一のシステムＩＤを有する同じ仮想ノードすなわちポータルであるように見える。各ノード（例えば、ノードＫ、ノードＬ、ノードＭ及びノードＯ）を識別するためにシステムＩＤが用いられる。システムＩＤは、ＬＡＧの個々のパートナーノード間（例えば、ＫとＭとの間又はＬとＯとの間）で送信されるリンクアグリゲーション制御プロトコル（Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）データユニット（ＬＡＣＰＤＵ）に含まれる。システムＩＤは、ポータルの構成要素であるノードの識別子に基づいて、任意の個々の識別子又はそれらの組み合わせを用いて生成され得る。対応するＬＡＧ仮想ノードすなわちポータルのための共通システムＩＤ及び固有のシステムＩＤが一貫して生成され得る。このため、図１Ｂに示すように、ノードＫ及びノードＬは同じネットワーク１５０に属し、同じＤＲＮＩポータル１１２（すなわち、同じＬＡＧ仮想ノード）の一部であり、エミュレートされるＬＡＧ仮想ノード１１２について共通システムＩＤ「Ｋ」を用いる。同様に、ネットワーク１５２のノードＭ及びＯは、ノードＫ及びＬによって、システムＩＤ「Ｍ」を有する単一のＬＡＧ仮想ノードすなわちポータル１１４とみなされる。
【０００５】
図１Ｂは、特定のサービスのＤＲＮＩリンク配分も示す（図１ＢのＫとＭとの間の太線のリンクを参照）。配分されるリンクは、特定のサービスのための２つの稼働中のノードＫ及びＭ間の稼働中のリンクである一方、配分されないリンクは、２つの保護ノードＬ及びＯ間の保護リンクとしてプロビジョニングされ得る。インターフェースのサービス配分には仮想ローカルエリアネットワーク（ＶＬＡＮ）が関与してもよく、サービスの識別子は、サービスＶＩＤ（すなわち、「Ｓ−ＶＩＤ」）（通常、ネットワーク間インターフェース（ＮＮＩ）におけるサービスを識別する）又は顧客ＶＩＤ（すなわち、「Ｃ−ＶＩＤ」）（通常、ユーザとネットワークとの間のインターフェース（ＵＮＩ）におけるサービスを識別する）等のＶＬＡＮ識別子（ＶＩＤ）であってもよい。（バックボーンＶＩＤはＳ−ＶＩＤと区別不可能であることに留意されたい。なぜならこれらは同じＥｔｈｅｒｔｙｐｅを有するためである）。図１Ｂの例において、サービスは上側のリンク（上側のノードＫ、Ｍ間）に配分される。このため、上側のリンクは「稼働中」リンクとして選択され、下側のリンク（ノードＬ、Ｏ間）は「スタンバイ」リンク又は「保護」リンクである。サービスリンク配分、すなわち、同じ物理リンクを順方向及び逆方向の双方におけるフレーム送信に用いることが非常に望ましい。
【０００６】
図１Ｂは、それぞれ２つのノードを含むＤＲＮＩポータル１１２及び１１４を示しているが、ＤＲＮＩポータルはそのように限定されない。各ポータルは、１つ〜３つのノードを含んでもよい。図１Ｃは、代替的な実施形態におけるＤＲＮＩを示す。図１Ｃを参照すると、リンクアグリゲーショングループ１３１は、一端にポータル１４２（１つのネットワークデバイス１３０）を含み、他端にポータル１４４（２つのネットワークデバイス１３２及び１３４）を含む。また、図１Ｃは、特定のサービスのＤＲＮＩリンク配分を示すことに留意されたい（ネットワークデバイス１３０及び１３４間の太線のリンクを参照）。配分されるリンクは、特定のサービスのための２つの稼働中のノード（ネットワークデバイス１３０及び１３４）間の稼働中のリンクである一方、配分されないリンクは、２つの保護ノード（ネットワークデバイス１３０及び１３２）間の保護リンクとしてプロビジョニングされ得る。稼働中のノードは、この構成では単一のノードであるが、ポータル１４２及び１４４間の稼働中のリンク及び保護リンクを接続するためのアグリゲーションポートの様々な組を含んでもよい。
【０００７】
サービスプロバイダは、リンクアグリゲーショングループの様々な実施形態（図１Ａ〜図１Ｃに示すもの及び他の代替のＤＲＮＩシステム等）を利用して、エンドユーザにサービスを提供する。特にＤＲＮＩシステムを通じてどのようにサービスを提供するかが課題である。
【発明の概要】
【０００８】
ネットワークデバイスにおいてリンクアグリゲーショングループにおける分散レジリエントネットワーク相互接続（ＤＲＮＩ）をサポートする方法が開示される。ネットワークデバイス及び近隣ネットワークデバイスが、リンクアグリゲーショングループの第１のポータルに含まれる。第１のポータルは、リンクアグリゲーショングループのリンクを介して１つ又は複数のリモートネットワークデバイスを含む第２のポータルに結合される。ネットワークデバイスは、ポータル内リンク（ｉｎｔｒａ−ｐｏｒｔａｌ  ｌｉｎｋ、ＩＰＬ）を用いてポータル内ポート（ｉｎｔｒａ−ｐｏｒｔａｌ  ｐｏｒｔ、ＩＰＰ）を介して近隣ネットワークデバイスに通信可能に結合される。本方法は、ＩＰＬを用いて近隣ネットワークデバイスに結合されたＩＰＰにおいて分散レジリエント制御プロトコル（ＤＲＣＰ）を操作するためにネットワークデバイスを初期化することから開始する。初期化は、ＩＰＰにおける近隣ネットワークデバイスのためのデフォルトパラメータ値を、第１のポータルの管理者によって提供される近隣ネットワークデバイスの動作パラメータとなるようにセットすることを含む。本方法は、ネットワークデバイスが、ＤＲＣＰがＩＰＰにおいて有効にされていることをチェックすることに続く。チェックは、ＩＰＰが動作中のＤＲＣＰであることを示す変数を判定することを含む。次に、ネットワークデバイスはネットワークデバイスにおいて満了状態に入る。ネットワークデバイスは、このネットワークデバイスの分散中継器制御プロトコル（ＤＲＣＰ）状態パラメータを満了にセットし、近隣ネットワークデバイスのＩＰＰアクティビティを非アクティブにセットし、分散中継器制御プロトコルデータユニット（ＤＲＣＰＤＵ）を受信するためのタイマをセットする。次に、ネットワークデバイスはＤＲＣＰＤＵを受信する。ＤＲＣＰＤＵは近隣ネットワークデバイスの状態情報を含む。次に、ネットワークデバイスは、受信ＤＲＣＰＤＵが第１のポータルに関連付けられていると判定し、受信ＤＲＣＰＤＵがネットワークデバイスと互換性があると判定する。この判定は、第１のポータルに関連付けられた管理設定値が受信ＤＲＣＰＤＵの管理設定値と一貫していると判定することを含む。そして、ネットワークデバイスは、受信ＤＲＣＰＤＵに含まれる近隣ネットワークデバイスの状態情報を、ネットワークデバイスにおいて、近隣ネットワークデバイスの状態動作変数として記録する。ここで、近隣ネットワークデバイスの状態情報はＩＰＰのＤＲＣＰ変数を含む。
【０００９】
リンクアグリゲーショングループにおける分散レジリエントネットワーク相互接続（ＤＲＮＩ）をサポートするネットワークデバイスが開示される。ネットワークデバイス及び近隣ネットワークデバイスは、リンクアグリゲーショングループの第１のポータルに含まれる。第１のポータルは、リンクアグリゲーショングループのリンクを介して１つ又は複数のリモートネットワークデバイスを含む第２のポータルに結合される。ネットワークデバイスは、ポータル内リンク（ＩＰＬ）を用いてポータル内ポート（ＩＰＰ）を介して近隣ネットワークデバイスに通信可能に結合される。ネットワークデバイスは、リンクアグリゲーショングループの物理リンク又はアグリゲーションリンクに結合されたポートと、ポートに結合されたネットワークプロセッサとを備える。ネットワークプロセッサはＤＲＮＩ機能を実行する。ＤＲＮＩ機能は、ＩＰＬを用いて近隣ネットワークデバイスに結合されたＩＰＰにおいて分散レジリエント制御プロトコル（ＤＲＣＰ）を操作するためにネットワークデバイスを初期化するように動作可能であり、この初期化は、ＩＰＰにおける近隣ネットワークデバイスのためのデフォルトパラメータ値を、第１のポータルの管理者によって提供される近隣ネットワークデバイスの動作パラメータとなるようにセットすることを含む。ＤＲＮＩ機能は、ＤＲＣＰがＩＰＰにおいて有効にされていることをチェックするように更に動作可能であり、このチェックは、ＩＰＰが動作中のＤＲＣＰであることを示す変数を判定することを含む。ＤＲＮＩ機能は、ネットワークデバイスにおいて満了状態に入るように更に動作可能であり、ＤＲＮＩ機能は、ネットワークデバイスの分散中継器制御プロトコル（ＤＲＣＰ）状態パラメータを満了にセットし、近隣ネットワークデバイスのＩＰＰアクティビティを非アクティブにセットし、分散中継器制御プロトコルデータユニット（ＤＲＣＰＤＵ）を受信するためのタイマをセットする。ＤＲＮＩ機能は、ＤＲＣＰＤＵを受信するように更に動作可能であり、ＤＲＣＰＤＵは近隣ネットワークデバイスの状態情報を含む。ＤＲＮＩ機能は、受信ＤＲＣＰＤＵが第１のポータルに関連付けられていると判定し、受信ＤＲＣＰＤＵがネットワークデバイスと互換性があると判定するように更に動作可能であり、この判定は、第１のポータルに関連付けられた管理設定値が受信ＤＲＣＰＤＵの管理設定値と一貫していると判定するように更に動作可能である。ＤＲＮＩ機能は、受信ＤＲＣＰＤＵに含まれる近隣ネットワークデバイスの状態情報を、ネットワークデバイスにおいて、近隣ネットワークデバイスの状態動作変数として記録するように更に動作可能であり、近隣ネットワークデバイスの状態情報はＩＰＰのＤＲＣＰ変数を含む。
【００１０】
リンクアグリゲーショングループにおける分散レジリエントネットワーク相互接続（ＤＲＮＩ）をサポートする非一時的な機械読取可能な記憶媒体が開示される。記憶媒体には、プロセッサによって実行されると、プロセッサにネットワークデバイスにおける動作を実行させる命令が記憶される。ネットワークデバイス及び近隣ネットワークデバイスは、リンクアグリゲーショングループの第１のポータルに含まれる。第１のポータルは、リンクアグリゲーショングループのリンクを介して１つ又は複数のリモートネットワークデバイスを含む第２のポータルに結合される。ネットワークデバイスは、ポータル内リンク（ＩＰＬ）を用いてポータル内ポート（ＩＰＰ）を介して近隣ネットワークデバイスに通信可能に結合される。動作は、ＩＰＬを用いて近隣ネットワークデバイスに結合されたＩＰＰにおいて分散レジリエント制御プロトコル（ＤＲＣＰ）を操作するためにネットワークデバイスを初期化することから開始する。この初期化は、ＩＰＰにおける近隣ネットワークデバイスのためのデフォルトパラメータ値を、第１のポータルの管理者によって提供される近隣ネットワークデバイスの動作パラメータとなるようにセットすることを含む。動作は、ネットワークデバイスが、ＤＲＣＰがＩＰＰにおいて有効にされていることをチェックすることに続く。このチェックは、ＩＰＰが動作中のＤＲＣＰであることを示す変数を判定することを含む。次に、ネットワークデバイスはネットワークデバイスにおいて満了状態に入る。ネットワークデバイスは、このネットワークデバイスの分散中継器制御プロトコル（ＤＲＣＰ）状態パラメータを満了にセットし、近隣ネットワークデバイスのＩＰＰアクティビティを非アクティブにセットし、分散中継器制御プロトコルデータユニット（ＤＲＣＰＤＵ）を受信するためのタイマをセットする。次に、ネットワークデバイスはＤＲＣＰＤＵを受信し、ＤＲＣＰＤＵは近隣ネットワークデバイスの状態情報を含む。次に、ネットワークデバイスは、受信ＤＲＣＰＤＵが第１のポータルに関連付けられていると判定し、受信ＤＲＣＰＤＵがネットワークデバイスと互換性があると判定する。この判定は、第１のポータルに関連付けられた管理設定値が受信ＤＲＣＰＤＵの管理設定値と一貫していると判定することを含む。そして、ネットワークデバイスは、受信ＤＲＣＰＤＵに含まれる近隣ネットワークデバイスの状態情報を、ネットワークデバイスにおいて、近隣ネットワークデバイスの状態動作変数として記録する。近隣ネットワークデバイスの状態情報はＩＰＰのＤＲＣＰ変数を含む。
【００１１】
ネットワークデバイスにおいてリンクアグリゲーショングループにおける分散レジリエントネットワーク相互接続（ＤＲＮＩ）をサポートするコンピュータプログラムが開示される。このコンピュータプログラムは、少なくとも１つのプロセッサにおいて実行されると、この少なくとも１つのプロセッサに本明細書における上記の方法を実行させる命令を含む。
【００１２】
本発明の実施形態は、ＤＲＣＰノードが、近隣ＤＲＣＰノードから受信したＤＲＣＰＤＵ内に埋め込まれた情報を処理するための効率的な方法を提供する。情報は段階的に処理され、近隣ノードの状態情報を記録する前に、受信ＤＲＣＰＤＵがＤＲＣＰノードのポータルと関連付けられており、ノードと互換性があると判定される。
【００１３】
本発明は、本発明の実施形態を例示するのに用いられる以下の説明及び添付の図面を参照することによって最も良好に理解され得る。
【図面の簡単な説明】
【００１４】
【図１Ａ】２つのネットワークデバイス間のリンクアグリゲーショングループの１つの実施形態の図である。
【図１Ｂ】リンクアグリゲーショングループを介して２つのネットワークを接続する２つのポータルの１つの実施形態の図である。
【図１Ｃ】リンクアグリゲーショングループを介して２つのネットワークを接続する２つのポータルの別の実施形態の図である。
【図２】リンクアグリゲーションサブレイヤの１つの実施形態の図である。
【図３Ａ】基本的な分散中継器システムの１つの実施形態の図である。
【図３Ｂ】２つのポータルシステムから生成されるエミュレートされたシステムの１つの実施形態の図である。
【図４】分散中継器の２つのＤＲ機能部の１つの実施形態の図である。
【図５】ＤＲＣＰＤＵデータ構造の図である。
【図６Ａ】分散中継器制御プロトコル（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｒｅｌａｙ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ、ＤＲＣＰ）状態の図である。
【図６Ｂ】ＤＲＣＰの１つの実施形態の図である。
【図６Ｃ】本発明の１つの実施形態による、ＤＲＣＰＤＵ構造のトポロジ状態フィールド図である。
【図７】状態マシン間の関係を示すフローチャートである。
【図８】受信マシンのための状態マシンを示すフローチャートである。
【図９】周期的送信のための状態マシンを示すフローチャートである。
【図１０】ポータルシステムマシンを示すフローチャートである。
【図１１】ＤＲＮＩ及びアグリゲータマシン動作を示すフローチャートである。
【図１２】ＤＲＮＩ  ＩＰＰマシンステータスを示すフローチャートである。
【図１３】ＤＲＮＩを実施するネットワークデバイスの１つの実施形態の図である。
【図１４】本発明の１つの実施形態による、ＤＲＣＰＤＵデータ構造の別の図である。
【図１５】本発明の１つの実施形態による、状態マシン間の関係を示す別のフローチャートである。
【図１６】本発明の１つの実施形態による、受信マシンのための状態マシンを示す別のフローチャートである。
【図１７】本発明の１つの実施形態による、周期的送信のための状態マシンを示す別のフローチャートである。
【図１８】本発明の１つの実施形態による、ポータルシステムマシンを示す別のフローチャートである。
【図１９】本発明の１つの実施形態による、ＤＲＣＰノードが自身の近隣ノードとの通信を失ったときの動作を示すフローチャートである。
【図２０】本発明の１つの実施形態による、ＤＲＣＰノードが複数のトラフィックストリームを受信したときに行う、自身の近隣ノードとの協調動作を示すフローチャートである。
【図２１】本発明の１つの実施形態による、ポータルトポロジの図である。
【図２２】本発明の１つの実施形態による、アグリゲータポート受信状態マシンの図である。
【図２３】本発明の１つの実施形態による、ゲートウェイ分散状態マシンの図である。
【図２４】本発明の１つの実施形態による、ＩＰＰ  Ｎ受信状態マシンの図である。
【図２５】本発明の１つの実施形態による、ＤＲＣＰＤＵデータ構造の別の図である。
【図２６Ａ】本発明の１つの実施形態による、アグリゲーションポートのためのカンバセーションマスクＴＬＶを示す図である。
【図２６Ｂ】本発明の１つの実施形態による、アグリゲーションポートのカンバセーションマスクＴＬＶ内のカンバセーションマスク状態フィールドを示す図である。
【図２７】本発明の１つの実施形態による、通信障害条件時にＤＲＣＰノードが自身の近隣ノードと協調する動作を示す図である。
【図２８】本発明の１つの実施形態による、通信障害時のＤＲＣＰノードの動作を示す図である。
【図２９】本発明の１つの実施形態による、ＤＲＣＰＤＵ構造の別のトポロジ状態フィールドの図である。
【図３０】本発明の１つの実施形態による、ネットワーク／ＩＰＬ共有マシンを示す図である。
【図３１】本発明の一実施形態による、ノードにおけるネットワーク／ＩＰＬ共有のための方法を示す図である。
【図３２】本発明の１つの実施形態による、ＤＲＣＰＤＵ構造を含むフレームを用いた通信方法を示す図である。
【図３３】本発明の一実施形態による、ＤＲＮＩリンクアグリゲーショングループのノードにおける近隣との同期のための方法を示す図である。
【図３４】本発明の一実施形態による、分散レジリエントネットワーク相互接続（ＤＲＮＩ）におけるノードの動作状態を更新するための方法を示す図である。
【図３５】本発明の一実施形態による、分散レジリエントネットワーク相互接続（ＤＲＮＩ）におけるＤＲＣＰノードにおいてアグリゲータ又はゲートウェイのための１組のカンバセーションＩＤを設定するための方法を示す図である。
【図３６】本発明の一実施形態による、分散レジリエントネットワーク相互接続（ＤＲＮＩ）におけるＤＲＣＰノードにおいてＩＰＰのための１組のカンバセーションＩＤを設定するための方法を示す図である。
【発明を実施するための形態】
【００１５】
以下の説明において、多数の特定の詳細が説明される。しかしながら、本発明の実施形態は、これらの特定の詳細なしで実行され得ることが理解される。他の実例では、この説明の理解を不明瞭にしないために、既知の回路、構造及び技法は詳細に示されていない。
【００１６】
しかしながら、当業者であれば、本発明がそのような特定の詳細なしで実行され得ることを理解するであろう。他の実例では、本発明を不明瞭にしないために、制御構造、ゲートレベル回路及び完全なソフトウェア命令シーケンスは示されていない。当業者であれば、含められた説明を用いて、過度な試行錯誤なしで適切な機能を実施することが可能であろう。
【００１７】
本明細書における、「１つの実施形態」、「一実施形態」、「例示的な実施形態」等への言及は、説明される実施形態が特定の特徴、構造又は特性を含み得ることを示すが、全ての実施形態が必ずしも特定の特徴、構造又は特性を含むわけではない場合がある。加えて、そのようなフレーズは必ずしも同じ実施形態を指しているわけではない。更に、特定の特徴、構造又は特性が一実施形態と合わせて説明されるとき、明示的に記載されているか否かにかかわらず、そのような特徴、構造又は特性を他の実施形態と合わせて達成することが当業者の知識の範囲内であることが提起されている。
【００１８】
用語
説明において以下の用語が用いられ得る。
アクター：リンクアグリゲーション制御プロトコル（Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ、ＬＡＣＰ）交換におけるローカルエンティティ（すなわち、ノード又はネットワークデバイス）。
アグリゲーションキー：アグリゲーションシステムの各アグリゲーションポート及び各アグリゲータに関連付けられるパラメータであり、共にアグリゲートされ得るアグリゲーションポートを識別する。同じアグリゲーションキー値を共有するアグリゲーションシステム内のアグリゲーションポートは、潜在的に共にアグリゲートすることができる。
アグリゲーションポート：アグリゲータによってサポートされる、アグリゲーションシステム内のサービスアクセスポイント（ＳＡＰ）。
アグリゲーションシステム：アグリゲーションの目的での１つ又は複数のアグリゲーションポートの任意のグループ化を（数ある中でも）含む、固有に識別可能なエンティティ。アグリゲートされたリンクのインスタンスは常に２つのアグリゲーションシステム間で生じる。物理デバイスは、単一のアグリゲーションシステム又は２つ以上のアグリゲーションシステムを備えてもよい。
アグリゲーションクライアント：リンクアグリゲーションサブレイヤの真上のレイヤのエンティティであり、このエンティティのために、リンクアグリゲーションサブレイヤは内部サブレイヤサービス（Ｉｎｔｅｒｎａｌ  Ｓｕｂｌａｙｅｒ  Ｓｅｒｖｉｃｅｓ、ＩＳＳ）のインスタンスを提供する。
カンバセーション：１つの端局から別の端局に送信される１組のフレーム。全てのフレームが順序付けされたシーケンスを形成し、通信する端局は、交換される１組のフレーム間で順序付けが維持されることを必要とする。
カンバセーションＩＤ：（例えば０  ４０９５の範囲の）値を用いてカンバセーションを識別する識別子。
データ端末装置（ＤＴＥ）：ローカルエリアネットワークに接続された、データの任意のソース又は宛先。
分散中継器（ＤＲ）：ポータルを備えるアグリゲーションシステムのそれぞれにおいてＤＲ機能部によってポータルにわたって分散された機能エンティティ。ゲートウェイからアグリゲータへの発信フレームを分配し、アグリゲータからゲートウェイへの到来フレームを分配する。
分散レジリエントネットワーク相互接続（ＤＲＮＩ）：ポータル及びアグリゲーションシステムのそれぞれ、又は２つ（以上）のポータルを含むように拡張されたリンクアグリゲーション。
ＤＲ機能部（ＤＲ  Ｆｕｎｃｔｉｏｎ）：単一のポータルシステム内に常駐する分散中継器の一部分。
ゲートウェイ：分散中継器をシステムに接続する、通常仮想的な（システム間の物理リンクではない）接続。ゲートウェイリンクと２つのゲートウェイポートとからなる。
ゲートウェイカンバセーションＩＤ：ゲートウェイを通過するフレームを選択するのに用いられるカンバセーションＩＤ値。
内部サブレイヤサービス（ＩＳＳ）：ＭＡＣサービスの強化バージョン。ＩＥＥＥ  Ｓｔｄ８０２．１ＡＣ−２０１２において規定されている。
ポータル内リンク（ＩＰＬ）：分散中継器を備えるＤＲ機能部を接続するのに用いられるリンク。
リンクアグリゲーショングループ（ＬＡＧ）：アグリゲータクライアントに対し単一のリンクであるように見えるリンクのグループ。リンクアグリゲーショングループは、２つのアグリゲーションシステム、アグリゲーションシステムとポータル、又は２つのポータルを接続することができる。１つ又は複数のカンバセーションは、リンクアグリゲーショングループの一部である各リンクに関連付けられ得る。
パートナー：リンクアグリゲーション制御プロトコル交換におけるリモートエンティティ（すなわち、ノード又はネットワークデバイス）。
ポートカンバセーション識別子（ＩＤ）：アグリゲーションポートを通過するフレームを選択するのに用いられるカンバセーション識別子（ｃｏｎｖｅｒｓａｔｉｏｎ  ｉｄｅｎｔｉｆｉｅｒ）の値。
ポータル：ＤＲＮＩの一端であり、１つ又は複数のアグリゲーションシステムを備え、このアグリゲーションシステムはそれぞれ、合わせてリンクアグリゲーショングループを構成する物理リンクを備える。ポータルのアグリゲーションシステムは協働して単一のアグリゲーションシステムの存在をエミュレートし、この単一のアグリゲーションシステムにリンクアグリゲーショングループ全体がアタッチされる。
ポータルシステム番号：ポータルシステムのポータル内で、このポータルシステムを固有に識別する整数（例えば１〜３であり、１及び３を含む）。
選択アルゴリズム：フレームをカンバセーションＩＤに割り当て、カンバセーションＩＤをアグリゲーションポート及びゲートウェイに割り当てるのに用いられるアルゴリズム。
サービスＩＤ：フレームが関連付けられるサービスインスタンスを識別する、フレームのヘッダから抽出される値（ＶＩＤ、Ｉ−ＳＩＤ等）。
サービスインスタンス：サービスインスタンスは１組のサービスアクセスポイント（ＳＡＰ）であり、Ｄａｔａ．Ｒｅｑｕｅｓｔプリミティブが１つのＳＡＰに提示される結果として、その組内の他のＳＡＰのうちの１つ又は複数において、Ｄａｔａ．Ｉｎｄｉｃａｔｉｏｎプリミティブが生じ得るようになっている。オペレータ及び顧客の文脈では、特定の顧客が、オペレータによってそのような組内の全てのＳＡＰへのアクセスを与えられる。
タイプ／長さ／値（ＴＬＶ）：連続したタイプフィールド、長さフィールド及び値フィールドからなる情報要素の短い可変長の符号化。ここで、タイプフィールドは情報のタイプを識別し、長さフィールドは情報フィールドの長さをオクテットで示し、値フィールドは情報自体を含む。タイプ値はローカルで規定され、この規格において規定されるプロトコル内で固有である必要がある。
【００１９】
以下の説明及び特許請求の範囲において、「結合された」及び「接続された」という用語及びそれらの派生語が用いられる場合がある。これらの用語は、互いの同義語として意図されるものではないことを理解するべきである。「結合された」は、互いに直接物理的又は電気的に接触していても接触していなくてもよい２つ以上の要素が互いに協働し又は相互作用することを示すのに用いられる。「接続された」は、互いに結合した２つ以上の要素間の通信の確立を示すのに用いられる。本明細書において用いられるとき、「組」とは、１つのアイテムを含めた任意の正の整数個のアイテムを指す。
【００２０】
電子デバイス（例えば、端局、ネットワークデバイス）は、非一時的な機械読取可能な媒体（例えば、磁気ディスク、光ディスク、読出し専用メモリ、フラッシュメモリデバイス、相変化メモリ等の機械読取可能な記憶媒体）及び一時的な機械読取可能な伝送媒体（例えば、搬送波、赤外線信号等の、電気的形態、光学的形態、音響的形態又は他の形態の伝搬信号）等の機械読取可能な媒体を用いて、（ソフトウェア命令、例えば命令を含むコンピュータプログラムからなる）コード及びデータを（内部的にかつ／又は他の電子デバイスを用いてネットワークを介して）記憶し送信する。更に、そのような電子デバイスは、１つ又は複数の他のコンポーネント、例えば、（コード及び／又はデータを記憶するための）１つ又は複数の非一時的な機械読取可能な記憶媒体、及び（伝搬信号を用いてコード及び／又はデータを送信するための）ネットワーク接続に結合された１つ又は複数のプロセッサの組等のハードウェアと、一部の例ではユーザ入／出力デバイス（例えば、キーボード、タッチスクリーン及び／又はディスプレイ）とを備える。プロセッサの組と他のコンポーネントとの結合は、通常、電子デバイス内の１つ又は複数の相互接続（例えば、バス及び場合によってはブリッジ）を通じたものである。このため、所与の電子デバイスの非一時的な機械読取可能な媒体は、通常、その電子デバイスの１つ又は複数のプロセッサ上で実行するための命令を記憶する。本発明の一実施形態の１つ又は複数の部分は、ソフトウェア、ファームウェア及び／又はハードウェアの様々な組み合わせを用いて実施することができる。
【００２１】
本明細書において用いられるとき、ネットワークデバイス（例えば、ルータ、スイッチ、ブリッジ）は、ネットワーク上の他の機器（例えば、他のネットワークデバイス、端局）に通信可能に相互接続する、ハードウェア及びソフトウェアを備える１つのネットワーキング機器である。いくつかのネットワークデバイスは、複数のネットワーキング機能（例えば、ルーティング、ブリッジング、スイッチング、レイヤ２アグリゲーション、セッションボーダー制御、サービス品質及び／又は加入者マネージメント）のサポートを提供し、かつ／又は複数のアプリケーションサービス（例えば、データ、音声及びビデオ）のためのサポートを提供する「マルチサービスネットワークデバイス」である。加入者端局（例えば、サーバ、ワークステーション、ラップトップ、ネットブック、パームトップ、携帯電話、スマートフォン、マルチメディアフォン、ボイスオーバインターネットプロトコル（ＶＯＩＰ）電話、ユーザ機器、端末、ポータブルメディアプレーヤ、ＧＰＳユニット、ゲームシステム、セットトップボックス）は、インターネットを介して提供されるコンテンツ／サービス、及び／又はインターネット上にオーバレイされる（例えば、トンネルを通される）仮想プライベートネットワーク（ＶＰＮ）において提供されるコンテンツ／サービスにアクセスする。コンテンツ及び／又はサービスは通常、サービスプロバイダ若しくはコンテンツプロバイダに属する１つ又は複数の端局（例えば、サーバ端局）、又はピアツーピア（Ｐ２Ｐ）サービスに参加する端局よって提供され、例えば、パブリックウェブページ（例えば、フリーコンテンツ、ストアフロント、検索サービス）、プライベートウェブページ（例えば、電子メールサービスを提供する、ユーザ名／パスワードによりアクセスされるウェブページ）、及び／又はＶＰＮを介した企業ネットワークを含むことができる。通常、加入者端局は、（例えば、（有線又は無線で）アクセスネットワークに結合された顧客構内機器を通じて）エッジネットワークデバイスに結合され、エッジネットワークデバイスは、（例えば、１つ又は複数のコアネットワークデバイスを通じて）他のエッジネットワークデバイスに結合され、これらの他のエッジネットワークデバイスは、他の端局（例えば、サーバ端局）に結合される。
【００２２】
ネットワークデバイスは、一般的に、制御プレーン及びデータプレーン（転送プレーン又は媒体プレーンと呼ばれることがある）に分割される。ネットワークデバイスがルータである（又はルーティング機能を実施している）場合、制御プレーンは通常、データ（例えば、パケット）がどのようにルーティングされるか（例えば、データのための次のホップ、及びそのデータのための出力ポート）を決定し、データプレーンはそのデータの転送を担当する。例えば、制御プレーンは通常、１つ又は複数のルーティングプロトコル（例えば、ボーダーゲートウェイプロトコル（ＢＧＰ）（ＲＦＣ４２７１）等の外部ゲートウェイプロトコル、内部ゲートウェイプロトコル（ＩＧＰ）（例えば、開放型最短経路優先（ＯＳＰＦ）（ＲＦＣ２３２８及び５３４０）、中間システム間（ＩＳ−ＩＳ）（ＲＦＣ１１４２）、ルーティング情報プロトコル（ＲＩＰ）（バージョン１ＲＦＣ１０５８、バージョン２ＲＦＣ２４５３及び次世代ＲＦＣ２０８０））、ラベル分散プロトコル（ＬＤＰ）（ＲＦＣ５０３６）、リソース保存プロトコル（ＲＳＶＰ）（ＲＦＣ２２０５、２２１０、２２１１、２２１２、及びＲＳＶＰ−トラフィックエンジニアリング（ＴＥ）：ＬＳＰトンネルＲＦＣ３２０９のためのＲＳＶＰへの拡張、一般化マルチプロトコルラベルスイッチング（ＧＭＰＬＳ）シグナリングＲＳＶＰ−ＴＥ  ＲＦＣ３４７３、ＲＦＣ３９３６、４４９５、及び４５５８））を含み、これらは他のネットワークデバイスと通信してルートを交換し、１つ又は複数のルーティングメトリックに基づいてこれらのルートを選択する。更に、制御プレーンは通常、高速全域木プロトコル（ＲＳＴＰ）、複数全域木プロトコル（ＭＳＴＰ）及びＳＰＢ（最短経路ブリッジング）等のＩＳＯのレイヤ２制御プロトコルも含む。これらは、様々な標準化団体によって標準化されている（例えば、ＳＰＢはＩＥＥＥ  Ｓｔｄ８０２．１ａｑ−２０１２において規定されている）。
【００２３】
ルート及び隣接性が制御プレーンにおける１つ又は複数のルーティング構造（例えば、ルーティング情報ベース（ＲＩＢ）、ラベル情報ベース（ＬＩＢ）、１つ又は複数の隣接性構造）に記憶される。制御プレーンは、ルーティング構造に基づいて、情報（例えば、隣接性情報及びルート情報）を用いてデータプレーンをプログラムする。例えば、制御プレーンは、隣接性情報及びルート情報を、データプレーンにおける１つ又は複数の転送構造（例えば、転送情報ベース（ＦＩＢ）、ラベル転送情報ベース（ＬＦＩＢ）、及び１つ又は複数の隣接性構造）にプログラムする。データプレーンは、トラフィックの転送時にこれらの転送構造及び隣接性構造を用いる。
【００２４】
ルーティングプロトコルのそれぞれが、あるルートメトリック（メトリックは異なるルーティングプロトコルに対して異なり得る）に基づいてルートエントリを主要ＲＩＢにダウンロードする。ルーティングプロトコルのそれぞれが、主要ＲＩＢにダウンロードされていないルートエントリを含めたルートエントリを、ローカルＲＩＢ（例えば、ＯＳＰＦローカルＲＩＢ）に記憶することができる。主要ＲＩＢをマネージメントするＲＩＢモジュールは、（１組のメトリックに基づいて）ルーティングプロトコルによってダウンロードされたルートからルートを選択し、これらの選択されたルート（アクティブルートエントリと呼ばれることがある）をデータプレーンにダウンロードする。ＲＩＢモジュールは、ルートをルーティングプロトコル間で再分配させることもできる。レイヤ２転送の場合、ネットワークデバイスは、そのデータ内のレイヤ２情報に基づいてデータを転送するのに用いられる１つ又は複数のブリッジングテーブルを記憶することができる。
【００２５】
通常、ネットワークデバイスは、１つ又は複数のラインカードの組、１つ又は複数の制御カードの組、及びオプションで１つ又は複数のサービスカード（リソースカードと呼ばれることがある）の組を含む。これらのカードは、１つ又は複数の相互接続メカニズム（例えば、ラインカードを結合する第１のフルメッシュ及び全てのカードを結合する第２のフルメッシュ）を通じて共に結合される。ラインカードの組はデータプレーンを形成する一方で、制御カードの組は制御プレーンを提供し、ラインカードを通じて外部ネットワークデバイスとパケットを交換する。サービスカードの組は特殊処理（例えば、レイヤ４からレイヤ７のサービス（例えば、ファイアウォール、インターネットプロトコルセキュリティ（ＩＰｓｅｃ）（ＲＦＣ４３０１及び４３０９）、侵入検出システム（ＩＤＳ）、ピアツーピア（Ｐ２Ｐ）、ボイスオーバーＩＰ（ＶｏＩＰ）セッションボーダーコントローラ、モバイル無線ゲートウェイ（ゲートウェイ汎用パケット無線サービス（ＧＲＰＳ）サポートノード（ＧＧＳＮ）、エボルブドパケットコア（ＥＰＣ）ゲートウェイ））を提供することができる。例として、サービスカードは、ＩＰｓｅｃトンネルを終端し、付随的認証及び暗号化（attendant authentication and encryption）のアルゴリズムを実行するのに用いられ得る。
【００２６】
本明細書において用いられるとき、ノードは、ＩＰパケット内のＩＰヘッダ情報のうちのいくらかを基にしてＩＰパケットを転送する。ここで、ＩＰヘッダ情報は、ソースＩＰアドレス、宛先ＩＰアドレス、ソースポート、宛先ポート（ここで、「ソースポート」及び「宛先ポート」は、本明細書において、ネットワークデバイスの物理ポートではなくプロトコルポートを指す）、トランスポートプロトコル（例えば、ユーザデータグラムプロトコル（ＵＤＰ）（ＲＦＣ７６８、２４６０、２６７５、４１１３及び５４０５）、伝送制御プロトコル（ＴＣＰ）（ＲＦＣ７９３及び１１８０））、及び差別化サービス（ＤＳＣＰ）値（ＲＦＣ２４７４、２４７５、２５９７、２９８３、３０８６、３１４０、３２４６、３２４７、３２６０、４５９４、５８６５、３２８９、３２９０及び３３１７）を含む。ノードはネットワークデバイスにおいて実装される。物理ノードはネットワークデバイス上で直接実装されるのに対し、仮想ノードは、ネットワークデバイス上で実施されるソフトウェア抽象化、場合によってはハードウェア抽象化である。このため、単一のネットワークデバイス上で複数の仮想ノードが実装され得る。
【００２７】
ネットワークインターフェースは、物理的であっても仮想的であってもよく、インターフェースアドレスは、物理ネットワークインターフェースであっても、仮想ネットワークインターフェースであっても、ネットワークインターフェースに割り当てられるＩＰアドレスである。物理ネットワークインターフェースは、ネットワークデバイス内のハードウェアであり、これを通じてネットワーク接続を（例えば、無線ネットワークインターフェースコントローラ（ＷＮＩＣ）を通じて無線で、又はネットワークインターフェースコントローラ（ＮＩＣ）に接続されたポートにケーブルをプラグインすることを通じて）行うことができる。通常、ネットワークデバイスは複数の物理ネットワークインターフェースを有する。仮想ネットワークインターフェースは、物理ネットワークインターフェースに関連付けられてもよく、別の仮想インターフェースに関連付けられてもよく、独立していてもよい（例えば、ループバックインターフェース、ポイントツーポイントプロトコルインターフェース）。ネットワークインターフェース（物理的又は仮想的）は、ナンバリングされてもよく（ＩＰアドレスを有するネットワークインターフェース）、ナンバリングされなくてもよい（ＩＰアドレスを有しないネットワークインターフェース）。ループバックインターフェース（及びそのループバックアドレス）は、多くの場合にマネージメント目的で用いられる、ノード（物理的又は仮想的）の特殊なタイプの仮想ネットワークインターフェース（及びＩＰアドレス）であり、ここで、そのようなＩＰアドレスは、ノードループバックアドレスと呼ばれる。ネットワークデバイスのネットワークインターフェースに割り当てられるＩＰアドレスは、ネットワークデバイスのＩＰアドレスと呼ばれ、より粒度の細かいレベルでは、ネットワークデバイス上で実装されるノードに割り当てられるネットワークインターフェースに割り当てられるＩＰアドレスは、そのノードのＩＰアドレスと呼ばれ得る。
【００２８】
いくつかのネットワークデバイスは、ＶＰＮ（仮想プライベートネットワーク）（例えば、レイヤ２ＶＰＮ及び／又はレイヤ３ＶＰＮ）を実装するためのサポートを提供する。例えば、プロバイダのネットワーク及び顧客のネットワークが結合されているネットワークデバイスは、それぞれ、ＰＥ（プロバイダエッジ）及びＣＥ（顧客エッジ）と呼ばれる。レイヤ２ＶＰＮでは、転送は通常、ＶＰＮの両端のＣＥにおいて行われ、トラフィックはネットワークを超えて（例えば、他のネットワークデバイスによって結合された１つ又は複数のＰＥを通じて）送信される。レイヤ２回路は、ＣＥとＰＥとの間で設定される（例えば、イーサネットポート、ＡＴＭ永続仮想回路（ＰＶＣ）、フレーム中継ＰＶＣ）。レイヤ３ＶＰＮでは、ルーティングは通常、ＰＥによって行われる。例として、複数のコンテキストをサポートするエッジネットワークデバイスは、ＰＥとして展開されてもよく、コンテキストはＶＰＮプロトコルを用いて設定されてもよく、このためコンテキストはＶＰＮコンテキストと呼ばれる。
【００２９】
いくつかのネットワークデバイスは、ＶＰＬＳ（仮想プライベートＬＡＮサービス）（ＲＦＣ４７６１及び４７６２）のためのサポートを提供する。例えば、ＶＰＬＳネットワークでは、加入者端局は、ＣＥに結合することによってＶＰＬＳネットワークを通じて提供されるコンテンツ／サービスにアクセスし、ＣＥ同士は、他のネットワークデバイスによって結合されたＰＥを通じて結合される。ＶＰＬＳネットワークは、トリプルプレイネットワークアプリケーション（例えば、データアプリケーション（例えば、高速インターネットアクセス）、ビデオアプリケーション（例えば、ＩＰＴＶ（インターネットプロトコルテレビ）等のテレビサービス、ＶｏＤ（ビデオオンデマンド）サービス）及び音声アプリケーション（例えば、ＶｏＩＰ（ボイスオーバインターネットプロトコル）サービス））、ＶＰＮサービス等を実施するために用いられ得る。ＶＰＬＳは、マルチポイント接続のために用いられ得るレイヤ２ＶＰＮのタイプである。ＶＰＬＳネットワークはまた、別個の地理的ロケーションにおいてＣＥと結合された加入者端局同士が、ローカルエリアネットワーク（ＬＡＮ）（エミュレートされたＬＡＮと呼ばれる）において互いに直接アタッチされているかのように広域ネットワーク（ＷＡＮ）を超えて互いに通信することも可能にする。
【００３０】
ＶＰＬＳネットワークにおいて、各ＣＥは通常、場合によってはアクセスネットワーク（有線及び／又は無線）を通じて、アタッチメント回路（例えば仮想リンク又はＣＥとＰＥとの間の接続）を介してＰＥのブリッジモジュールにアタッチする。ＰＥのブリッジモジュールは、エミュレートされたＬＡＮインターフェースを通じてエミュレートされたＬＡＮにアタッチする。各ブリッジモジュールは、ＭＡＣアドレスを擬似ワイヤ及びアタッチメント回路にマッピングする転送テーブルを維持することによって、「仮想スイッチインスタンス」（ＶＳＩ）としての役割を果たす。ＰＥは、これらのフレームに含まれるＭＡＣ宛先アドレスフィールドに基づいて、（ＣＥから受信された）フレームを宛先（例えば、他のＣＥ、他のＰＥ）に転送する。
【００３１】
リンクアグリゲーションサブレイヤ
図２は、リンクアグリゲーションサブレイヤ２００の１つの実施形態の図である。アグリゲータクライアント２０２は、アグリゲータ２５０を通じて１組のアグリゲーションポート２９２、２９４、２９６と通信する。１つの実施形態では、アグリゲータ２５０は、規格ＩＥＥＥ  Ｓｔｄ８０２．１Ｑの内部サブレイヤサービス（ＩＳＳ）インターフェースをアグリゲータクライアント２０２に提示する。アグリゲータ２５０は、アグリゲーションポート２９２、２９４、２９６を含む１つ又は複数のアグリゲーションポートにバインディングする。アグリゲータ２５０は、アグリゲータクライアント２０２からアグリゲーションポート２９２、２９４、２９６へのフレーム送信を分散させ、アグリゲーションポート２９２、２９４、２９６からの受信フレームを収集し、これらをアグリゲータクライアント２０２にトランスペアレントに渡す。
【００３２】
アグリゲータ２５０へのアグリゲーションポート２９２、２９４、２９６のバインディングは、リンクアグリゲーション制御部２１０によってマネージメントされる。リンクアグリゲーション制御部２１０は、いずれのリンクがアグリゲートされ得るかを判定し、それらのリンクをアグリゲートし、アグリゲーションポートを適切なアグリゲータにバインディングし、条件を監視して、アグリゲーションの変更が必要なときを判定する役割を果たす。そのような判定及びバインディングは、ネットワークマネージャーによる（例えば、アグリゲーションキーを通じた）リンクアグリゲーションの状態変数の直接操作を通じて手動制御下で行い得る。更に、自動的な判定、設定、バインディング及び監視は、リンクアグリゲーション制御プロトコル（ＬＡＣＰ）２１４の使用を通じて行うことができる。ＬＡＣＰ２１４は、リンクをまたがるピア交換を用いて、継続的に、様々なリンクのアグリゲーション能力を判定し、アグリゲーションシステムの所与の対間で達成可能な最大レベルのアグリゲーション能力を連続して提供する。
【００３３】
アグリゲーションシステムは、複数のアグリゲータクライアントにサービングする複数のアグリゲータを含むことができる。所与のアグリゲーションポートは、任意の時点において（最大で）単一のアグリゲータにバインディングする。アグリゲータクライアントは、一度に単一のアグリゲータによってサービングされる。
【００３４】
フレーム順序付けが、アグリゲータクライアント間のフレーム交換（カンバセーションとしても知られる）の、あるシーケンスについて維持される。フレーム分配器２３４は、所与のカンバセーションの全てのフレームが単一のアグリゲーションポートに渡されることを確実にする。所与のカンバセーションについて、フレーム収集器２２４が、フレームがアグリゲーションポートから受信された順序でそれらのフレームをアグリゲータクライアント２０２に渡すことが必要とされる。フレーム収集器２２４は、それ以外の点では、アグリゲーションポート２９２、２９４、２９６から受信したフレームを任意の順位で自由に選択する。単一のリンクにおいてフレームが誤って順序付けされる手段が存在しないので、これによって、任意のカンバセーションについてフレーム順序付けが維持されることが確実になる。カンバセーションは、負荷分散、及びリンク障害時の利用可能性の維持の双方のために、リンクアグリゲーショングループ内のアグリゲーションポート間で移され得る。
【００３５】
アグリゲーションポート２９２、２９４、２９６はそれぞれ、媒体アクセス制御（ＭＡＣ）アドレスを割り当てられる。これらのＭＡＣアドレスは、リンクアグリゲーショングループにわたって、このリングアグリゲーショングループが接続された任意のブリッジドローカルエリアネットワーク（ＬＡＮ）（例えば、ＩＥＥＥ８０２．１ＱブリッジドＬＡＮに準拠するＬＡＮ）に固有である。これらのＭＡＣアドレスは、リンクアグリゲーションサブレイヤ２７０自体の中のエンティティによって開始されるフレーム交換（すなわち、ＬＡＣＰ２１４及びマーカプロトコルの交換）のためのソースアドレスとして用いられる。
【００３６】
アグリゲータ２５０（及び展開される場合、他のアグリゲータ）は、リンクアグリゲーショングループにわたって、このリングアグリゲーショングループが接続されたブリッジドＬＡＮ（例えば、ＩＥＥＥ８０２．１ＱブリッジドＬＡＮに準拠するＬＡＮ）に固有であるＭＡＣアドレスを割り当てられる。このアドレスは、アグリゲータクライアント２０２の観点から、送信フレームのソースアドレス及び受信フレームの宛先アドレスの双方としての、リンクアグリゲーショングループのＭＡＣアドレスとして用いられる。アグリゲータ２５０のＭＡＣアドレスは、関連付けられたリンクアグリゲーショングループのアグリゲーションポートのＭＡＣアドレスのうちの１つであり得る。
【００３７】
分散レジリエントネットワーク相互接続（ＤＲＮＩ）
リンクアグリゲーションは、より高次のレイヤに対し単一の論理リンクであるように見える１つ又は複数の物理リンクの集合であるリンクアグリゲーショングループを作成する。リンクアグリゲーショングループは、それぞれアグリゲーションシステムにおいて終端する２つの端部を有する。ＤＲＮＩは、リンクアグリゲーションの概念を拡大し、リンクアグリゲーショングループの一端又は両端において、単一のアグリゲーションシステムが、それぞれ１つ又は複数のアグリゲーションシステムから構成されるポータルによって置き換えられるようにする。
【００３８】
ＤＲＮＩは、ポータルを作成するために、分散中継器を用いて、それぞれリンクアグリゲーションを実行する２つ以上のシステムを相互接続することによって作成される。ポータル内の各アグリゲーションシステム（すなわち、各ポータルシステム）は、単一のアグリゲータを用いてリンクアグリゲーションを実行する。分散中継器は、ポータルシステムが、共同でリンクアグリゲーショングループを終端することを可能にする。ポータルが接続される全ての他のアグリゲーションシステムにとって、リンクアグリゲーショングループは、ポータルシステムによって作成される別個にエミュレートされたアグリゲーションシステムにおいて終端するように見える。
【００３９】
意図は、ポータルを作成するために、分散中継器を導入して、それぞれリンクアグリゲーションを実行する２つ又は３つのシステムを相互接続することによってＤＲＮＩを作成することである。ポータル内の各アグリゲーションシステム（すなわち、各ポータルシステム）は、単一のアグリゲータを用いてリンクアグリゲーションを実行する。分散中継器は、ポータルシステムが、共同でリンクアグリゲーショングループを終端することを可能にすることを意図される。ポータルが接続される全ての他のシステムにとって、リンクアグリゲーショングループは、ポータルシステムによって作成される別個にエミュレートされたシステムにおいて終端するように見える。上述したＩＥＥＥ８０２．１ＡＸ−ＲＥＶ／Ｄ１．０は、分散中継器がどのように機能するかに関して十分な情報を提供していない。
【００４０】
分散中継器
ＤＲＮＩは、ポータルを作成するために、分散中継器を用いて、それぞれリンクアグリゲーションを実行する２つ又は３つのシステムを相互接続することによって作成される。ポータル内の各アグリゲーションシステム（すなわち、各ポータルシステム）は、単一のアグリゲータを用いてリンクアグリゲーションを実行する。分散中継器は、ポータルシステムが、共同でリンクアグリゲーショングループを終端することを可能にする。ポータルが接続される全ての他のシステムにとって、リンクアグリゲーショングループは、ポータルシステムによって作成される別個にエミュレートされたシステムにおいて終端するように見える。
【００４１】
図３Ａは、分散中継器を説明するための出発点としての基本的な分散中継器システムを示している。図３Ａに示し、本明細書において検討されるネットワークリンクは、ネットワークプロトコルに対し可視であり、ネットワークプロトコルの制御下にある物理リンク又は論理リンクに対応する。この図において、システムＡ及びＢはそれぞれ、ある種のパケット中継機能部、例えばルータ又はブリッジである「機能部１」を実行することによって特徴付けられる。「機能部１」はファイルサーバ操作とすることもでき、この場合、各システムにおける外側の２つの「ポート」は存在しない可能性が高い。各システムは、リンクアグリゲーションサブレイヤの単一のインスタンスを実行する。１つの実施形態では、共有ポートはポータル内で分散中継器と関連付けられることが望ましい。
【００４２】
図３Ａは一例であり、一般的な事例ではない。一般的に、分散中継器は以下をサポートする：
ａ）本明細書において以下に列挙する構成についてのみ、必要なプロトコル及び手順が本出願によって提供される。
ｂ）それぞれ１つ又は複数のＭＡＣを組み込むリンクアグリゲーション機能部。
ｃ）分散中継器のポータルシステム間の接続。
この例において分散中継器機能レイヤを導入する目的は、これらの２つのポータルシステムが、これらに接続されたシステムにとって、図３Ｂに示す構成であるように見えるようにすることである。機能部１とリンクアグリゲーションとの間に挿入されたリンクによって元のポータルシステムに接続された、第３のエミュレートされたシステムＣが存在するように見える。すなわち、図３Ｂに示すように、ポータルシステムＡ及びＢは協力して、これらのシステムが接続されている任意の他のシステムが理解可能である限り、エミュレートされたＣが実際に存在するかのようにふるまう。図３Ｂは一例であるが、分散中継器の原理を示している：
ｄ）エミュレートされたシステムＣにおける分散中継器は、Ｎ個のポータルシステムに対する（Ｎ＋１）ポート中継器であり、Ｎ個のゲートウェイポートがポータルシステムに接続され、単一のエミュレートされたリンクアグリゲーションサブレイヤが元のポータルシステムに関連付けられている。
ｅ）アグリゲーションポート（本明細書ではＭＡＣとも呼ばれる）は、エミュレートされたシステムに移されており、このため、全ての他のシステムにとって、分散中継器を備える実際のポータルシステムから等距離にあるように見える。
エミュレートされたシステムＣを作成するために２つのポータルシステムによって用いられる実際の構図が図４に示されている。図４は、各システムＡ及びＢにつき１つのＤＲ機能部である、分散中継器の２つのＤＲ機能部を示す。この例は、分散中継器の残りの原理を示す。
ｆ）各システムＡ及びＢにおいて、システムＣに関連付けられたポートは、ＤＲ機能のリンクアグリゲーションサブレイヤの下の位置に移される。
ｇ）仮想リンク、及び「ゲートウェイ」と呼ばれる、その終端仮想ＭＡＣが、各ＤＲ機能部をその機能部１に接続するために構築される。
ｈ）ポータル内のＤＲ機能部の各対間で、ポータル内ポート（ＩＰＰ）によって各端部で終端されるポータル内リンク（ＩＰＬ）が構築される（これは多くの形態で存在し得る。本明細書における以下の論考を参照）。
ｉ）いずれのゲートウェイを通じて、フレームがエミュレートされた分散中継器に対して出入りすることができるかを判断する「ゲートウェイアルゴリズム」が存在する。
ｊ）同様に、いずれのポータルシステムのアグリゲーションポートを通じて、フレームがエミュレートされた分散中継器に対して出入りすることができるかを判断する「ポートアルゴリズム」が存在する。
ｋ）上述したように、ポータル及びエミュレートされたシステムＣの作成に参加する３つのシステムが存在し得る。その場合、エミュレートされたシステムＣ内の分散中継器は、各ポータルシステムに対し１つの追加のゲートウェイポートと、ＤＲ機能部を相互接続するためのＩＰＬとを有する。
ｌ）本明細書において以下で規定するように、ＤＲ機能部同士は一緒に機能して、ゲートウェイと、ＩＰＬと、リンクアグリゲーションサブレイヤとの間でフレームを移す。
【００４３】
分散中継器の動作及び手順
各ポータルシステム（図４）内のＤＲ機能部は、３種類のポートを有する（動作障害を被る）ように意図される。
Ａ）ポータル内ポートであり、最大で１つの（いくつかの実施形態ではおそらく複合の）ＩＰＬポートが、同じポータルに属する他のポータルシステムのそれぞれに接続されている。
Ｂ）ＤＲ機能部が存在するポータルシステム内の仮想ゲートウェイポートへの仮想リンクを有する厳密に１つの仮想ゲートウェイポート。
Ｃ）任意の数のアグリゲーションポートを有するリンクアグリゲーションサブレイヤへの厳密に１つのアグリゲータポート（プレフィックスＡｇｇによって識別されるＩＳＳインスタンスによってサポートされるポート）であり、他のシステムが、自身が単一のエミュレートされたシステムに接続されていると信じるように、これらの他のシステムに接続するように意図される。
【００４４】
図３Ｂにおいて、ポータル内リンク及びＩＰＬポートは可視でなく、エミュレートされたアグリゲーションシステムＣの分散中継器は、そのポータル内のシステムのそれぞれに対する１つのゲートウェイを有する。
【００４５】
エミュレートされた分散中継器の目的は、アグリゲーションポートから受信される全てのフレーム（「アップフレーム」）をゲートウェイに渡すか又は廃棄し、ゲートウェイから受信される全てのフレーム（「ダウンフレーム」）をアグリゲータポートに渡すか又は廃棄することである。分散中継器を備えるＤＲ機能部は、場合によっては、フレームを正しいゲートウェイ又はアグリゲータポートに到達させるために、このフレームを１つ又は２つのポータル内リンクを超えて送信しなくてはならない。ＤＲ機能部は、全てのフレームを２つのカンバセーションＩＤ、すなわち１つのゲートウェイカンバセーションＩＤ及び１つのポートカンバセーションＩＤに割り当て、これらのカンバセーションＩＤの観点からゲートウェイ、アグリゲーションポート及びＩＰＬを設定することによって、フレームを廃棄するか、又は自身のゲートウェイ、アグリゲータポート、若しくは自身のＩＰＬのうちの１つに渡すかの選択を行う。
【００４６】
上述した「ゲートウェイアルゴリズム」は、２つの部分、すなわち、任意の所与のフレームをゲートウェイカンバセーションＩＤに割り当てるためのアルゴリズムと、（例えば、Ｄｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎを用いた）ゲートウェイへのゲートウェイカンバセーションＩＤの割り当てとからなる。
【００４７】
ポータルシステムが、学習を行うＶＬＡＮブリッジである場合、ゲートウェイカンバセーションＩＤへのフレームのマッピングはそのＶＬＡＮ  ＩＤに基づき、そうでない場合、学習プロセスはネットワーク全体にわたって中断する。これらの場合のＤＲＮＩの実施のために、ＶＬＡＮ  ＩＤとカンバセーションＩＤとの１対１のマッピングが存在し得る。
【００４８】
同様に、上記の「分散中継器」セクションにおける項目ｊの「ポートアルゴリズム」は、任意の所与のフレームをポートカンバセーションＩＤに割り当てるためのアルゴリズムと、（例えば、ａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］を用いた）アグリゲーションポートへのポートウェイカンバセーションＩＤの割り当てとからなる。
【００４９】
本明細書において以下で、所与のポータルにおける全てのＤＲ機能部が、フレームをそれらのそれぞれのカンバセーションＩＤに割り当てるために同じゲートウェイアルゴリズム及び同じポートアルゴリズムを用いることを確実にし、所与の時点において、任意の所与のゲートウェイカンバセーションＩＤが、ゲートウェイのうちの最大で１つに割り当てられ、任意の所与のポートカンバセーションＩＤが、ポータルのアグリゲーションポートのうちの最大で１つに割り当てられることを保証するための手段が規定される。
【００５０】
ゲートウェイウェイアルゴリズム及びポートアルゴリズムが、フレームをカンバセーションＩＤに割り当てるために同じ手段を用い、これによってゲートウェイカンバセーションＩＤがポートカンバセーションＩＤと等しくなるようにすることが可能にされているが、これは必須ではない。
【００５１】
フレームがゲートウェイからＤＲ機能部に入ると、このフレームに常にポートアルゴリズムが適用され、このフレームをアグリゲーションポートに送信するか又は特定のＩＰＰに送信するかが決定される。フレームがアグリゲータポートから入ると、このフレームに常にゲートウェイアルゴリズムが適用され、このフレームをゲートウェイに送信するか又は特定のＩＰＰに送信するかが決定される。表１に示すように、ＩＰＬからＤＲ機能部に入るフレームを転送するためには、双方のアルゴリズムが適用されなくてはならず、それらの結果が比較されなくてはならない。
0006388675.tif 000002
Ａ）［１］「任意」は、ポートアルゴリズムからの出力が用いられないことを意味し、ゲートウェイアルゴリズムがいずれのポートにフレームが送信されるかを決定する。
Ｂ）［２］異なるポータルシステムにおけるＤＲ機能部が、互換性のない構成を有するか、又は機能不良が存在する。ループを防ぐためにフレームを廃棄する。
Ｃ）表１は３つの構成のうちの１つを仮定する：
・単一のＩＰＬによって接続される２つのポータルシステム；
・２つのＩＰＬによって線形に接続される３つのポータルシステム；又は、
・３つのＩＰＬによって円形に接続される３つのポータルシステム。
Ｄ）ゲートウェイアルゴリズムは、ゲートウェイを通る双方向で実施される。すなわち、ゲートウェイからＤＲ機能部に入るフレームは、このフレームに適用されるゲートウェイアルゴリズムがこのフレームをゲートウェイに返送しない場合、破棄される。これは、ゲートウェイから受信したフレームがＩＰＬを超えて転送され、別のゲートウェイを通ってネットワーク内に戻されることを防ぐために必要である。
Ｅ）ゲートウェイアルゴリズムが、フレームがゲートウェイを通過するべきであることを示す場合、このフレームはアップフレームでなければならない。なぜなら、ダウンフレームは、上記の項目Ｄ）によって、いかなる他のＤＲ機能部からもポータルに入り得ないためである。
Ｆ）そうでない場合には、ゲートウェイアルゴリズムが、フレームが、転送先となるＩＰＬから到来したことを示す場合、このフレームはダウンフレームであり、このため、ポートアルゴリズムを用いて転送される。（ポートアルゴリズムが、フレームが到着したポートにこのフレームを返送する場合、ある種の機能不良又は設定不良が存在し、フレームは廃棄される）。
Ｇ）そうでない場合、ゲートウェイアルゴリズムは、フレームが転送先となるＩＰＬから到来したものではないことを示し、このため、このフレームはアップフレームであるはずであり、フレームはゲートウェイアルゴリズムに従って宛先に向けられる。
【００５２】
注記−分散中継器のポートアルゴリズム及び分散中継器制御プロトコルは、合わせてポートカンバセーションＩＤと個々のアグリゲーションポートとのマッピングを決定し、それらの制御における変数によって、フレーム分配器及びフレーム収集器の動作が決まる。しかしながら、上記のように、これによってデータ及び制御の経路は変わらない。なぜなら、分散中継器はアグリゲーションポートへの又はアグリゲーションポートからの全てのデータにアグリゲータを通過させるためである。
【００５３】
ゲートウェイ及びアグリゲータポートからＤＲ機能部に入るフレームに対するゲートウェイアルゴリズム及びポートアルゴリズムの適用を表２及び表３にそれぞれ示す。
0006388675.tif 000003
0006388675.tif 000004
【００５４】
ポータルトポロジ
ポータルの最も一般的なトポロジは、図２１に示すように３つのポータル内リンクによるリングによって接続された３つのポータルシステムである。本発明の他の実施形態による他のサポートされるトポロジはこれの部分組であり、以下を含む：
・２つのＩＰＬによってチェーン接続された３つのポータルシステム、
・単一のＩＰＬによって接続された２つのポータルシステム、
・アクティブなＩＰＬを有しないポータルシステム。
【００５５】
ホーム、近隣及び他の近隣という用語は、所与のポータル内ポートの観点からポータルシステムを識別するのに用いられる。ホームとは、ＩＰＰを含むシステムである。近隣とは、ＩＰＰに接続されたシステムである。他の近隣は、ホームシステム内の他のＩＰＰ（存在する場合）に接続されたシステムである。図２１を参照すると、例としてＩＰＰ  Ｂ１を用いるとき、ＩＰＰ  Ｂ１のホームシステムはＢであり、ＩＰＰ  Ｂ１の直接の近隣はＡであり（ＡはＩＰＬ  ＡＢを介してＩＰＰ  Ｂ１に接続されているため）、ＩＰＰ  Ｂ１の他の近隣はＣである（ＣはＩＰＬ  ＢＣを介してＩＰＰ  Ｂ２に接続されているため）。ＩＰＰＡ２の他の近隣もＣであり（ＣはＩＰＬ  ＡＣを介してＩＰＰ  Ａ１に接続されているため）、このため、ＩＰＰ  Ｂ１及びＩＰＰ  Ａ２の他の近隣のＩＤを比較することによって、リング又はチェーン内に３つのシステムしか存在しないことが検証される。
【００５６】
ポータル内リンク
ポータル内リンク（ＩＰＬ）は、２つの異なるシステムにおけるＤＲ機能部間の単一の論理的ポイントツーポイントリンクである。ＤＲ機能部は、ＤＲＮＩリンクアグリゲーショングループの一端を含む他のシステムのそれぞれについて、最大で１つのＩＰＬを有する。ＩＰＬ及びネットワークリンクは、物理リンク又はリンクアグリゲーション（リンクアグリゲーションは１組のリンクのアグリゲートである）を共有することができる。
【００５７】
ＩＰＬは、物理的（例えば、８０２．３イーサネットＬＡＮ）又は論理的（例えば、８０２．１Ｑバックボーンサービスインスタンス又はＩＥＴＦ擬似ワイヤ）とすることができる。ポータル内リンクは、他のポータル内リンク又はネットワークリンクと物理リンクを共有することができる。ポータル内リンクは、リンクアグリゲーショングループとすることができ、このため複数の物理リンクからなる。
【００５８】
展開されるネットワークにおいて、図４に示すように、２つのシステムが、これらを接続する通常のネットワークと、ＩＰＬとの双方を用いて構成されることが多い。これによって、全てのポータルが独自の別個の物理ＩＰＬを必要とした場合、特に、１対のシステムが複数のポータルをサポートするように構成されている場合に、ＤＲＮＩのユーティリティが低減する。ＤＲＮＩは複数の方法をサポートし、これらの方法によって、システムは、あるネットワークリンクにおけるフレームを、特定のＩＰＬにおけるフレームと区別することができる：
・物理的。別個の物理リンクを用いて任意の特定のネットワークリンク又はＩＰＬをサポートすることができる。
・アグリゲート。ＩＰＬをサポートするために別個のアグリゲータポートを用いることができる。
・時間共有。ネットワークリンク及び１つ又は複数のＩＰＬが同じ物理リンク（又はアグリゲータポート）を異なる時点に用いることができる。これは、ＩＰＬが接続性のために必要とされているときに、システムがネットワークリンクの使用を不可能にすることを必要とするか、又はそうでない場合、ネットワークリンクが必要とされているときに、アグリゲーションリンクの使用及びゲートウェイの選択が、ＩＰＬの使用の必要性をなくすように調整されることを必要とする。この技法は本明細書において説明される。
・タグ共有。ネットワークリンク及び１つ又は複数のＩＰＬは、異なるサービスＩＤを用いて同じ物理リンク（又はアグリゲータポート）を用いることができる。タグ共有は本明細書において説明される。
・論理的。ネットワークリンク及びＩＰＬにおけるフレームは、本明細書において説明されるように、カプセル化され得る。
【００５９】
ＤＲＮＩを実施するシステムは、ＩＰＬ及びネットワークリンクのために別個の物理リンクを用いることをサポートすることができ、他の方法のうちの任意のものをサポートすることができる。
【００６０】
共有物理リンク又はアグリゲータポートの各端部において、このリンク又はアグリゲータポートが用いられる機能部（ネットワークリンク又は特定のＩＰＬ）ごとに１つの仮想ポートが存在する。任意の所与の物理リンク又はアグリゲータポートの両端が同じ方法を用いている限り、上記の方法のうちの任意の方法を、管理上の選択により、２つのシステム間で同時に用いることができる。
【００６１】
時間によるネットワーク／ＩＰＬ共有
時間によるネットワーク／ＩＰＬ共有の目標は、ネットワーク接続及びＩＰＬのために別個の物理リンクを必要とすることなく、またフレーム変更を一切必要とすることなく、ＤＲＮＩをサポートすることである。リンクを共有するとき、フレームごとに、そのフレームがネットワーク接続をトラバースすることを意図されているのか、又はＩＰＬをトラバースすることを意図されているのかを判定できることが必要である。この判定は、任意の所与の時点において、物理リンクがネットワークリンクとしてのみ利用されるか、又はＩＰＬとして利用されるかがわかっている場合、フレームを変更することなく（例えば、ＶＬＡＮ  ＩＤを変換することも、タグ又はカプセル化を追加することもなく）行うことができる。ネットワーク内のＶＬＡＮごとに、完全に接続されたループのないアクティブトポロジを確立するのに用いられる制御プロトコルによって、任意の所与の時点において、リンクがネットワークリンクとして用いられるのか、又はＩＰＬとして用いられるのかが確立される。
【００６２】
リンクがＶＬＡＮのアクティブトポロジに含まれていない場合（例えば、ネットワーク制御プロトコルの動作によってブロックされている場合）、このリンクはＩＰＬとして用いられるように利用可能である。この場合、リンクは、ＤＲＮＩによって、専用の（共有されていない）ＩＰＬであるかのように用いられる。
【００６３】
リンクがＶＬＡＮのアクティブトポロジに含まれている場合、そのＶＬＡＮのために利用可能なＩＰＬは存在しない。この場合、ＤＲＮＩは、１つのポータルシステムにおけるアグリゲーションポートと、別のポータルシステムにおけるゲートウェイとの間でフレームを渡すことができない。したがって、任意の所与のフレームについて、ＤＲＮＩは、ゲートウェイ及びアグリゲーションポートを同じポータルシステム内に有することに制限される。
【００６４】
注記１−共有リンクが、ゲートウェイと特定のアグリゲーションポートとの間のフレームの転送のために利用不可能であり得ることは、共有リンクにおけるＤＲＣＰＤＵを交換する能力を制限しない。
【００６５】
任意の所与のフレームについて、ゲートウェイ及びアグリゲーションポートが同じポータルシステム内にあるという制約を満たす際に検討すべき２つの事例が存在する。簡単な事例は、ポートカンバセーションＩＤがＤＲＮＩを超えて合意され、均整が取れており、所与のＶＬＡＮ  ＩＤを有する全てのフレームが、同じポータルシステムにおいてアグリゲーションポートを選択するポートカンバセーションＩＤにマッピングされる事例である。このとき、そのポータルシステムは、そのＶＬＡＮ  ＩＤのためのゲートウェイとして選択され、いかなるデータフレームもＩＰＬをトラバースする必要がない。任意の他の状況において、ゲートウェイ及び特定のアグリゲーションポートが同じポータルシステム内にあることを保証する唯一の方法は、フレームが共有ネットワーク／ＩＰＬポート以外の任意のポートにおいて受信されるときに、このポータルシステムがこのフレームのためのゲートウェイであるとみなされ、各ポータルシステムにおいて全てのポートカンバセーションＩＤが、このシステムにアタッチされたアグリゲータポートにマッピングされることである。このモードにおいて、ネットワークポート（ＩＰＰでもアグリゲータポートでもない）において任意のフレームを受信するポータルシステムは、必要な場合、このフレームをアグリゲータポートに転送する役割を果たす。ＩＰＰにおいてフレームを受信するポータルシステムは、そのフレームをアグリゲーションポートに決して転送しない。この場合、ゲートウェイ選択は必ずしもＶＩＤに基づくことができず、このため、ポータルシステムが８０２．１Ｑブリッジであるとき、共有ネットワーク／ＩＰＬリンクにおける学習プロセスが損なわれる。学習問題はこのポートに限定されているので、ＤＲＮＩにおいて学習されるアドレスを他のポータルシステムと同期させることによって、これを修正することができる。
【００６６】
タグによるネットワーク／ＩＰＬ共有
サービスごとのフレーム分配が用いられる場合、かつネットワークリンクをサポートするのに必要なサービス数と１つ又は複数のＩＰＬをサポートするのに必要なサービス数と加えたものが、用いられるフレームフォーマットによって供給されるサービス数（例えば、４０９４個のＳ−ＶＬＡＮ  ＩＤ）未満である場合、ＶＩＤ変換を用いて、異なる論理リンクにおけるフレームを分離することができる。
【００６７】
この方法は、ａＤｒｉｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄを値２で設定することによって選択される。ネットワーク／ＩＰＬ共有マシンによって制御される変数Ｅｎａｂｌｅｄ＿ＥｎｃＴａｇ＿Ｓｈａｒｅｄによって示されるようにイネーブルにされた場合、ＩＰＬによって近隣ポータルシステムにトランスポートされることになる、ゲートウェイカンバセーションＩＤに関連付けられた全てのフレームが、ａＤｒｉｎｉＩＰＬＥｎｃａｐＭａｐにおいて設定された値を用いるように変換され、また、ネットワークリンクによってトランスポートされ、ＩＰＬと共有されることになる、ゲートウェイカンバセーションＩＤに関連付けられた全てのフレームが、ａＤｒｉｎｉＮｅｔＥｎｃａｐＭａｐにおいて設定される値を用いるように変換される。
【００６８】
カプセル化によるネットワーク／ＩＰＬ共有
この方法は、カプセル化技法（例えば、８０２．１Ｑバックボーンサービスインスタンス、Ｂ−ＶＬＡＮ、ＩＥＴＦ擬似ワイヤ等）を用いることによってネットワークリンクとＩＰＬを共有することを可能にする。
【００６９】
この方法は、ＩＰＬ及びネットワークリンクが同じ物理リンクを共有しているときに、ＩＰＬフレーム（ＩＰＬを通過するデータフレーム、すなわち非ＤＲＣＰＤＵ搬送フレーム）を近隣ポータルシステムにトランスポートするのに用いられるカプセル化方法を表す値でａＤｒｉｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄを設定することによって選択される。この値は、このカプセル化を担当する組織を識別する３オクテットの組織固有識別子（Ｏｒｇａｎｉｚａｔｉｏｎ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ、ＯＵＩ）と、その組織によって規定されるカプセル化方法を識別するのに用いられる１つの後続のオクテットとからなる。ネットワーク／ＩＰＬ共有マシンによって制御される変数Ｅｎａｂｌｅｄ＿ＥｎｃＴａｇ＿Ｓｈａｒｅｄによって示されるようにイネーブルにされた場合、ＩＰＬにおいて近隣ポータルシステムに送信されることになる、ゲートウェイカンバセーションＩＤに関連付けられた全てのフレームが、ａＤｒｉｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄによって、ａＤｒｉｎｉＩＰＬＥｎｃａｐＭａｐにおいて設定された値を用いるように指定された方法を用いてカプセル化され、ＩＰＬによって受信される全てのフレームがカプセル化解除され、同じテーブルを用いてゲートウェイカンバセーションＩＤにマッピングされる。
【００７０】
ＤＲ機能部状態マシン
ＤＲ機能部状態マシンは、表１〜表３に指定される転送ルールを実施するものとする。これらの転送ルールは以下のように要約することができる。
ａ）アグリゲータポートを通って入るフレーム、すなわちアップフレームについて、ゲートウェイアルゴリズムは、このフレームのゲートウェイカンバセーションＩＤに従って、このフレームをゲートウェイリンクに送信するべきか又はＩＰＰに送信するべきかを判断する。フレームのゲートウェイカンバセーションＩＤがポータルシステムの動作中のゲートウェイのカンバセーションＩＤに合致する場合、フレームはゲートウェイに転送され、そうでない場合、フレームはＩＰＰに転送される。
ｂ）ゲートウェイを通って入るフレーム、すなわちダウンフレームについて、ポートアルゴリズムは、このフレームのポートカンバセーションＩＤに従って、このフレームをアグリゲーションポートに送信するべきか又はＩＰＰに送信するべきかを判断する。フレームのポートカンバセーションＩＤがポータルシステムの動作中のポートのカンバセーションＩＤに合致する場合、フレームはアグリゲーションポートに転送され、そうでない場合、フレームはＩＰＰに転送される。
ｃ）ＩＰＰに提案されるアップフレームは、このゲートウェイカンバセーションＩＤのためのポータルシステムがそのＩＰＰの後方にある場合にのみ送信され、そうでない場合、破棄される。
ｄ）ＩＰＰに提案されるダウンフレームは、このポートカンバセーションＩＤのためのターゲットポータルシステムがそのＩＰＰの後方にある場合にのみ送信され、そうでない場合、破棄される。
分散中継器によって用いられるリンクアグリゲーション変数のうちのいくつかは、複数のポータルシステムが協働して単一のエミュレートされたシステムを作成するように、特定の方式で形成されなくてはならない：
ｅ）分散中継器のアグリゲータポート内のアグリゲーションポートごとに、ポートＩＤ内のポート優先度の最下位２ビットがＤＲＦ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒの値にセットされる。ビットの残りには、ＤＲ機能部内で固有の値が割り当てられる。
ｆ）分散中継器のアグリゲータポート内のアグリゲータポート及び関連アグリゲータごとに、管理キーの最上位の２ビットがＤＲＦ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒの値にセットされる。ビットの残りは、上記で説明したように、アグリゲーションポートの物理特性を反映するように用いられ得る。
【００７１】
サービスインターフェース
ＤＲ機能部は、ＩＳＳの様々なインスタンスを用いるので、読み手が、任意の所与の時点においていずれのインターフェースが参照されているかに関して明確であり得るように表記法を導入する必要がある。したがって、各サービスプリミティブにプレフィックスが割り当てられ、インターフェースのうちのいずれが呼び出されているかを示す。プレフィックスは以下の通りである。
ａ）Ａｇｇ：ＤＲ機能部とリンクアグリゲーションサブレイヤとの間のインターフェースにおいて発行されるプリミティブ用。
ｂ）Ｇａｔｅ：ゲートウェイにおいて発行されるプリミティブ用。
ｃ）ＭａｃＩｐｐＮ：ＩＰＬ  ｎをサポートするＭＡＣエンティティと、ＤＲＣＰ制御パーサ／マルチプレクサとの間のインターフェースにおいて発行されるプリミティブ用。
ｄ）ＤＲＣＰＣｔｒｌＭｕｘＮ：ＤＲＣＰ制御パーサ／マルチプレクサＮとＤＲＣＰ制御エンティティとの間のインターフェースにおいて発行されるプリミティブ用（ここで、ＮはＤＲＣＰ制御パーサ／マルチプレクサに関連付けられたＩＰＰを識別する）。
ｅ）ＩｐｐＮ：ＤＲＣＰ制御パーサ／マルチプレクサＮによってサポートされるＤＲ機能部のインターフェースにおいて発行されるプリミティブ用（ここで、ＮはＤＲＣＰ制御パーサ／マルチプレクサに関連付けられたＩＰＰを識別する）。
【００７２】
ＤＲ機能部ごとの変数
以下の論考は、本発明の１つの実施形態による多岐にわたるＤＲ機能部ごとの変数に焦点を当てる。
ＤＡ：宛先アドレス
ＳＡ：ソースアドレス
ｍａｃ＿ｓｅｒｖｉｃｅ＿ｄａｔａ＿ｕｎｉｔ
優先度：Ｍ＿ＵＮＩＴＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎプリミティブのパラメータ。
ＢＥＧＩＮ：システムが初期化又は再初期化されるときにＴＲＵＥにセットされ、（再）初期化が完了するとＦＡＬＳＥにセットされるブール変数。
値：ブール
Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ：ゲートウェイカンバセーションＩＤによってインデックス付けされた動作ブールベクトルであり、インデックス付けされたゲートウェイカンバセーションＩＤが、このＤＲ機能部のゲートウェイを通過することを許可されるか否かを示す（ＴＲＵＥ＝通過）。その値は、１つの実施形態において、ｕｐｄａｔｅＰｏｒｔａｌＳｙｓｔｅｍＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎ機能部によって計算される。別の実施形態では、この変数は、ポータル内の他のポータルシステムに関連付けられた全てのインデックス付けされたゲートウェイカンバセーションＩＤと、残りのインデックス付けされたゲートウェイカンバセーションＩＤエントリのうち、他のポータルシステムと一致していない全てのものとをＦＡＬＳＥにセットすることによって、Ｄｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎから構築される。
値：ゲートウェイカンバセーションＩＤによってインデックス付けされた、ブール値のシーケンス。
Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ：ポートカンバセーションＩＤによってインデックス付けされた動作ブールベクトルであり、インデックス付けされたポートカンバセーションＩＤが、このＤＲ機能部のアグリゲータを通じて配信されることが許可されるか否かを示す（ＴＲＵＥ＝通過）。この値は、１つの実施形態において、ｕｐｄａｔｅＰｏｒｔａｌＳｙｓｔｅｍＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎによって計算される。別の実施形態では、この変数は、ポータル内の他のポータルシステムに関連付けられた全てのインデックス付けされたポートカンバセーションＩＤと、残りのインデックス付けされたゲートウェイカンバセーションＩＤエントリのうち、他のポータルシステムと一致していない全てのものとをＦＡＬＳＥにセットすることによって、Ｄｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎから構築される。
値：ポートカンバセーションＩＤによってインデックス付けされた、ブール値のシーケンス。
【００７３】
メッセージ
Ａｇｇ：Ｍ＿ＵＮＩＴＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎ
Ｇａｔｅ：Ｍ＿ＵＮＩＴＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎ
ＩｐｐＮ：Ｍ＿ＵＮＩＴＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎ
Ａｇｇ：Ｍ＿ＵＮＩＴＤＡＴＡ．ｒｅｑｕｅｓｔ
Ｇａｔｅ：Ｍ＿ＵＮＩＴＤＡＴＡ．ｒｅｑｕｅｓｔ
ＩｐｐＮ：Ｍ＿ＵＮＩＴＤＡＴＡ．ｒｅｑｕｅｓｔ
【００７４】
受信フレームを指定されたパラメータを用いてクライアントに渡すのに用いられるサービスプリミティブ。
【００７５】
タグによるネットワーク／ＩＰＬ共有又はカプセル化方法によるネットワーク／ＩＰＬ共有が用いられる場合、サービスプリミティブＩｐｐＮ：Ｍ＿ＵＮＩＴＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎ及びＩｐｐＮ：Ｍ＿ＵＮＩＴＤＡＴＡ．ｒｅｑｕｅｓｔが、ネットワーク／ＩＰＬ共有マシンによって制御される機能部の動作を通じて扱われる必要がある。
【００７６】
ＤＲ機能部：アグリゲータポート受信状態マシン
ＤＲ機能部：アグリゲータポート受信状態マシンは、図２２に指定される関数を、本発明の１つの実施形態による、その関連パラメータで実装することができる。ポータルシステムごとに１つのＤＲ機能部：アグリゲータポート受信状態マシンが存在し、ポータルシステム内に、ＩＰＰと同じ数のＰＡＳＳ＿ＴＯ＿ＩＰＰ＿Ｎ状態が存在し、それぞれインデックスｎによって識別される。図におけるプレフィックス「ｎ．」は、関連変数が関係付けられた特定のＩＰＰ  ｎを識別するのに用いられる。
【００７７】
ＤＲ機能部：ゲートウェイ分散状態マシン
ＤＲ機能部：ゲートウェイ分散状態マシンは、図２３に指定される機能を、本発明の１つの実施形態による、その関連パラメータで実装することができる。ポータルシステムごとに１つのＤＲ機能部：ゲートウェイ分散状態マシンが存在し、ポータルシステム内に、ＩＰＰと同じ数のＰＡＳＳ＿ＴＯ＿ＩＰＰ＿Ｎ状態が存在し、それぞれインデックスｎによって識別される。図におけるプレフィックス「ｎ．」は、関連変数が関係付けられた特定のＩＰＰ  ｎを識別するのに用いられる。
【００７８】
ＤＲ機能部：ＩＰＰ  Ｎ受信状態マシン
ＤＲ機能部：ＩＰＰ  Ｎ受信状態マシンは、図２４に指定される機能を、本発明の１つの実施形態による、その関連パラメータで実装することができる。ポータルシステムごとに、ＩＰＰあたり１つのＤＲ機能部：ＩＰＰ  Ｎ受信状態マシンが存在し、ポータルシステム内に、ＩＰＰと同じ数のＰＡＳＳ＿ＴＯ＿ＩＰＰ＿Ｍ状態が存在し、それぞれインデックスｍによって識別される。図におけるプレフィックス「ｎ．」又は「ｍ．」は、関連変数が関係付けられた特定のＩＰＰ  ｎ又はＩＰＰ  ｍを識別するのに用いられる。
【００７９】
分散中継器制御プロトコル
分散中継器制御プロトコル（ＤＲＣＰ）の目的は以下である。
Ａ）ポータル内リンクをまたがってポータルシステム間で通信を確立すること；
Ｂ）ポータルシステムの一貫した設定を検証すること；
Ｃ）エミュレートされたシステムのために用いられる識別情報を決定すること；
Ｄ）ポータルシステム及びこれらのアグリゲーションポートの現在の状態を、互いの間で配信すること；
Ｅ）各ＩＰＬを通過することが必要とされる任意のフレームの結果としてのパスを計算し、要求に応じて隣接するポータルシステムと情報を交換し、ループの転送及び重複したフレーム送達をしないことを確実にすること；
Ｆ）この仕様において規定されていない分配機能をサポートするために、ポータルシステム間で情報を交換すること；
ＤＲＣＰの動作の結果として、分散中継器によるフレームの転送を制御する変数が維持される。
ＤＲＣＰは、情報を交換して、ポータルシステムが共に機能することができることを確実にする。そのような情報の第１の分類は、そもそも何らかのデータを通す（上記の項目Ａ）ためには互換性がなくてはらないマネージメントされるオブジェクト及び変数を含む。１つの実施形態では、これらは以下を含む：
Ｇ）ａＡｇｇＰｏｒｔＡｌｇｏｒｉｔｈｍ：全てのポータルシステムは同じポートアルゴリズムを用いなくてはならない。
Ｈ）ａＤｒｉｎｉＧａｔｅｗａｙＡｌｇｏｒｉｔｈｍ：全てのポータルシステムは同じゲートウェイアルゴリズムを用いなくてはならない。
Ｉ）ａＤｒｉｎｉＰｏｒｔａｌＩｄ：全てのポータルシステムは、それらが全て同じポータルに属すると想定されることを確実にするために、ａＤｒｉｎｉＰｏｒｔａｌＩｄの同じ値を有しなくてはならない。
Ｊ）ａＤｒｉｎｉＰｏｒｔａｌＴｏｐｏｌｏｇｙ：全てのポータルシステムは、ａＤｒｉｎｉＰｏｒｔａｌＴｏｐｏｌｏｇｙの同じ値を有しなくてはならず、３つのポータルシステムのポータルがリング状に接続されている場合、同じ「ループ中断リンク」すなわちａＤｒｉｎｉＬｏｏｐＢｒｅａｋＬｉｎｋがポータルを通じて一貫して設定される必要がある。
Ｋ）ａＤｒｉｎｉＰｏｒｔａｌＳｙｓｔｅｍＮｕｍｂｅｒ：全てのポータルシステムは、異なるａＤｒｎｉＰｏｒｔａｌＳｙｓｔｅｍＮｕｍｂｅｒ値を有しなくてはならず、情報を有意にラベル付けすることができることを確実にするために、これらの値の全てが範囲１．．３になくてはならない。
Ｌ）ａＡｇｇＡｃｔｏｒＡｄｍｉｎＫｅｙ：分散中継器のアグリゲータポートにおけるアグリゲータごとの管理キーの最上位２ビットがＤＲＦ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒの値にセットされる。残りのビットは、関連アグリゲーションポートの物理特性を反映し、これらはポータル内の全てのポータルシステムについて同じでなくてはならない。
マネージメントされるオブジェクトの第２の分類（項目Ｂ）は、いずれのゲート及びいずれのアグリゲーションポートを各カンバセーションＩＤが通過するかを制御する。これらのマネージメントされるオブジェクトについて、１つのカンバセーションＩＤに関する情報が、異なるポータルシステムと異なる形で設定される場合、そのカンバセーションＩＤのみが影響を受ける。したがって、ポータルは正常に動作することができ、重複した送達又はループの転送をしないことを確実にするメカニズムが、誤設定されたカンバセーションＩＤに属するいかなるフレームの通過もブロックする。ブロックが永続的にならないように誤設定を検出するために、ＤＲ機能部は、設定が異なる場合にネットワーク管理者に通知することができる。これらの設定は非常に大規模であるため、設定自体ではなく、これらの設定の内容のチェックサムが交換される。この方法は、高い確率で違いを検出するが、確実ではない。１つの実施形態では、これらのマネージメントされるオブジェクトは以下を含む。
Ｌ）ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］：いずれのカンバセーションＩＤがいずれのゲートウェイを通じて流れるかを動的に決定するのに用いられるリスト。
Ｍ）ａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］：いずれのカンバセーションＩＤがいずれのアグリゲーションポートを通じて流れるかを動的に決定するのに用いられるリスト。
【００８０】
ＤＲＣＰは、予期されるポータルシステムのうちのいずれがＩＰＬを介して接続されているか又は接続されていないかに関する自身の情報を用いて、エミュレートされた分散中継器の識別情報を決定する（このセクションにおける上記の項目Ｃ）。
【００８１】
全てのポータルシステム及びこれらのアグリゲーションポートの現在の動作状態が交換され、ＤＲ機能部のそれぞれが、いずれのポータルシステムのゲートウェイ又はアグリゲータポートに各フレームが送達されるべきかを決定することができるようにする（このセクションにおける上記の項目Ｄ）。各ＤＲ機能部は、いずれのポートカンバセーションＩＤ及びいずれのゲートウェイカンバセーションＩＤが各ゲートウェイ、アグリゲーションポート又はＩＰＰを通過することができるかを厳密に指定するベクトルを計算する。各ＩＰＰにおいて、この情報が交換される（このセクションにおける上記の項目Ｅ）。任意の所与のカンバセーションＩＤについて２つのＤＲ機能部のベクトル間に違いが存在する場合、出力変数は、ＤＲ機能部がそのカンバセーションＩＤを有するフレームをブロックするようにセットされる。これによって、いかなるフレームのループ又は重複した送達も防止される。
【００８２】
ポータル及び分散中継器の確立
ポータルの自動作成は指定された指示ではない。代わりに、ＤＲＣＰは、管理されたオブジェクトによって規定されるネットワーク管理者の意図を、設定されたシステムの物理的トポロジと比較して、接続されたシステムの設定に互換性がある場合、ＤＲＣＰはポータルの動作を確立し可能にする。ポータルをまたがって分散中継器を確立するために、ネットワーク管理者は以下のマネージメントされるオブジェクトを設定する。
Ａ）ネットワーク内に多くのシステムが存在することができ、選択されたポータルシステムのうちのいくつか又は全てが他のポータルに参加してもよい。いずれの他のポータルシステムがこのポータルシステムのポータルに属するかを判定することは、ａＤｒｎｉＰｏｒｔａｌＩｄ及びａＤｒｎｉＰｏｒｔａｌＳｙｓｔｅｍＮｕｍｂｅｒ等の変数を設定することによって達成される。
Ｂ）本明細書において上記で説明されたように、ＭＡＣサービスの任意のポイントツーポイントインスタンスをポータル内リンクに割り当てることができる。ＤＲ機能部の使用に割り当てられた特定のインスタンスは、例えばａＤｒｎｉＩｎｔｒａＰｏｒｔａｌＬｉｎｋＬｉｓｔ内に設定される。
Ｃ）１つの実施形態において、各ポータルシステム内のいずれのアグリゲータがこのＤＲ機能部に割り当てられるかが、ａＤｒｎｉＡｇｇｒｅｇａｔｏｒにおいて設定される。
Ｄ）１つの実施形態において、ＤＲ機能部によって、フレームをゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤに割り当てるのに用いられる方法が、２つのマネージメントされるオブジェクト、すなわちａＤｒｎｉＧａｔｅｗａｙＡｌｇｏｒｉｔｈｍ及びａＡｇｇＰｏｒｔＡｌｇｏｒｉｔｈｍにおいて設定される。
Ｅ）１つの実施形態において、故障モードをカバーするための、ゲートウェイ及びアグリゲーションポートへのカンバセーションＩＤの初期割り当て及びバックアップ割り当てが、いくつかのマネージメントされるオブジェクト、すなわち、ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］及びａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］において設定される。
【００８３】
ＤＲＣＰＤＵ送信、アドレス指定、及びプロトコル識別
分散中継器制御プロトコルデータユニット（ＤＲＣＰＤＵ）が、ＬＬＣエンティティによって提供されるサービスを用いて送受信される。そして、ＬＬＣエンティティは、ＩＰＰに関連付けられたＭＳＡＰにおいて提供されるＭＡＣサービスの単一のインスタンスを用いる。各ＤＲＣＰＤＵは、単一のＭＡＣサービス要求として送信され、単一のＭＡＣサービスインジケーションとして受信され、以下のパラメータを有する。
・宛先アドレス
・ソースアドレス
・ＭＳＤＵ（ＭＡＣサービスデータユニット）
・優先度
【００８４】
各要求及びインジケーションのＭＳＤＵは、ＥｔｈｅｒＴｙｐｅプロトコル識別を提供する複数のオクテットと、それに続くＤＲＣＰＤＵプロパーとを含む。
【００８５】
注記１−この規格において、「ＬＣＣエンティティ」という用語は、ＩＥＥＥ  Ｓｔｄ８０２において指定されているようにＥｔｈｅｒＴｙｐｅフィールドを用いてプロトコルの区別をサポートするエンティティを含む。
【００８６】
注記２−ＤＲＣＰフレームの完全なフォーマットは、ここで規定されているようにＤＲＣＰＤＵフォーマットのみでなく、ＭＡＣサービスをサポートするのに用いられる媒体アクセス方法に依拠した手順にも依拠する。
【００８７】
宛先ＭＡＣアドレス
ＤＲＣＰＤＵを送信するのに用いられるＭＡＣサービス要求ごとの宛先アドレスは、ＩＰＰによりマネージメントされるオブジェクトによって選択されるグループアドレスとすることができる。そのデフォルト値は、最も近い非ＴＰＭＲ（２ポート媒体アクセス制御（ＭＡＣ）中継）ブリッジグループアドレスとすることができる。
ソースＭＡＣアドレス：ＤＲＣＰＤＵを送信するのに用いられるＭＡＣサービス要求ごとのソースアドレスは、要求が行われるＩＰＰ  ＭＳＡＰ（ＭＡＣサービスアクセスポイント）に関連付けられる個々のアドレスとすることができる。
優先度：各ＭＡＣサービス要求に関連付けられる優先度は、ＩＰＰ  ＭＳＡＰに関連付けられるデフォルトであるべきである。
【００８８】
フレームにおけるＤＲＣＰＤＵのカプセル化
ＤＲＣＰＤＵは、Ｍ＿ＵＮＩＴＤＡＴＡ．ｒｅｑｕｅｓｔ又はＭ＿ＵＮＩＴＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎのｍａｃ＿ｓｅｒｖｉｃｅ＿ｄａｔａ＿ｕｎｉｔパラメータにおいて符号化される。ｍａｃ＿ｓｅｒｖｉｃｅ＿ｄａｔａ＿ｕｎｉｔの第１のオクテットはプロトコル識別子であり、この後にＤＲＣＰＤＵが続き、基礎を成すＭＡＣサービスによる要求に応じて、存在する場合、この後にパディングオクテットが続く。
【００８９】
フレームを送受信するのに用いられるＩＳＳインスタンスが、ＥｔｈｅｒＴｙｐｅ符号化を直接サポートすることができる媒体アクセス制御方法（例えば、ＩＥＥＥ８０２．３ＭＡＣ）によって提供される場合、プロトコル識別子は２オクテットの長さである。全てのＤＲＣＰＤＵは、指定されるＥｔｈｅｒＴｙｐｅによって識別される。ＩＳＳインスタンスがＥｔｈｅｒＴｙｐｅ符号化を直接サポートすることができない媒体アクセス制御方法（例えば、ＩＥＥＥ８０２．１１ＭＡＣ）によって提供される場合、ＴＰＩＤは、ＬＬＣを用いてイーサネットフレームをカプセル化するサブネットワークアクセスプロトコルのためのルール（ＩＥＥＥ  Ｓｔｄ８０２の節１０）に従って符号化され、ＳＮＡＰヘッダ（１６進数ＡＡ−ＡＡ−０３）、それに続くＳＮＡＰ  ＰＩＤ（１６進数００−００−００）、それに続くプロトコルのＥｔｈｅｒＴｙｐｅ（１６進数ｘｘ−ｘｘ）を含む。
【００９０】
ＤＲＣＰＤＵ構造及び符号化
オクテットの送信及び表現
全てのＤＲＣＰＤＵは、整数の数のオクテットを含む。各オクテット内のビットは、０〜７をナンバリングされ、ここで、０は最も低次のビットである。数値を表すために連続したオクテットが用いられるとき、最上位オクテットが最初に送信され、その後、順次、より下位のオクテットが送信される。
【００９１】
ＤＲＣＰＤＵの（要素の）符号化が図に示されるとき、
Ａ）オクテットは上から下に送信される。
Ｂ）オクテット内で、ビットは左にビット０を有し右にビット７を有して示され、左から右に送信される。
Ｃ）バイナリ数を表すのに連続したオクテットが用いられるとき、最初に送信されるオクテットはより上位の値を有する。
Ｄ）ＭＡＣアドレスを表すのに連続したオクテットが用いられるとき、第１のオクテットの最下位ビットにＭＡＣアドレスの第１のビットの値が割り当てられ、次の最下位ビットにＭＡＣアドレスの第２のビットの値が割り当てられ、８番目のビットまで以下同様である。同様に、第２のオクテットの最下位ビットから最上位ビットまでに、ＭＡＣのアドレスの９番目から１７番目までの値が割り当てられ、ＭＡＣアドレスの全てのオクテットについて以下同様である。
【００９２】
フレームにおけるＤＲＣＰＤＵのカプセル化
１つの実施形態において、ＤＲＣＰＤＵは、Ｍ＿ＵＮＩＴＤＡＴＡ．ｒｅｑｕｅｓｔ又はＭ＿ＵＮＩＴＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎのｍａｃ＿ｓｅｒｖｉｃｅ＿ｄａｔａ＿ｕｎｉｔパラメータにおいて符号化される。ｍａｃ＿ｓｅｒｖｉｃｅ＿ｄａｔａ＿ｕｎｉｔの第１のオクテットはプロトコル識別子であり、この後にＤＲＣＰＤＵが続き、基礎を成すＭＡＣサービスによる要求に応じて、存在する場合、この後にパディングオクテットが続く。
【００９３】
フレームを送受信するのに用いられるＩＳＳインスタンスが、ＥｔｈｅｒＴｙｐｅ符号化を直接サポートすることができる媒体アクセス制御方法（例えば、ＩＥＥＥ８０２．３ＭＡＣ）によって提供される場合、プロトコル識別子は２オクテットの長さであり、値はプロトコルのＥｔｈｅｒＴｙｐｅ（１６進数ｘｘ−ｘｘ）である。
【００９４】
ＩＳＳインスタンスがＥｔｈｅｒＴｙｐｅ符号化を直接サポートすることができない媒体アクセス制御方法（例えば、ＩＥＥＥ８０２．１１ＭＡＣ）によって提供される場合、ＴＰＩＤは、ＬＬＣを用いてイーサネットフレームをカプセル化するサブネットワークアクセスプロトコルのためのルール（ＩＥＥＥ  Ｓｔｄ８０２の節１０）に従って符号化され、ＳＮＡＰヘッダ（１６進数ＡＡ−ＡＡ−０３）、それに続くＳＮＡＰ  ＰＩＤ（１６進数００−００−００）及びＥｔｈｅｒＴｙｐｅ（１６進数ｘｘ−ｘｘ）を含む。
【００９５】
ＤＲＣＰＤＵ構造
図５は、本発明によるＤＲＣＰＤＵ構造の１つの例を示す。フィールドは以下のように規定される。
Ａ）サブタイプ。サブタイプフィールドは、カプセル化されている特定の低速プロトコルを識別する。ＤＲＣＰＤＵはサブタイプ値０ｘ０Ｘを保有する。ＤＣＲＰ動作を識別するために低速プロトコルＥｔｈｅｒＴｙｐｅ（Ｓｌｏｗ  Ｐｒｏｔｏｃｏｌ  ＥｔｈｅｒＴｙｐｅ）を用いることを選択しない場合、Ａ）は存在しないことに留意されたい。
Ｂ）バージョン番号。バージョン番号は、ＤＲＣＰバージョンを識別する；１つの実施形態による実施態様は値０ｘ０１を保有する。
Ｃ）ＴＬＶ＿ｔｙｐｅ＝ポータル情報。このフィールドは、このＴＬＶ−タプルにおいて保有される情報の性質を示す。１つの実施形態では、ＤＲＮＩ情報は値０ｘ０１によって識別される。
Ｄ）Ｐｏｒｔａｌ＿Ｉｎｆｏｒｍａｔｉｏｎ＿Ｌｅｎｇｔｈ。このフィールドは、このＴＬＶ−タプルの長さ（オクテット単位）を示し、１つの実施形態では、アクター情報が、１８（０ｘ１２）の長さ値を用いる。
Ｅ）Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙ。ＤＲ機能部にアタッチされたアグリゲータの（マネージメント又は管理ポリシーによって）アクターシステムＩＤに割り当てられる優先度であり、１つの実施形態では、ａＡｇｇＡｃｔｏｒＳｙｓｔｅｍＰｒｉｏｒｉｔｙからの符号なし整数として符号化される。
Ｆ）Ａｇｇｒｅｇａｔｏｒ＿ＩＤ。１つの実施形態では、ＤＲ機能部にアタッチされたアグリゲータのアクターシステムＩＤのＭＡＣアドレスコンポーネントである。
Ｇ）Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙ。（マネージメント又は管理ポリシーによって）ポータルＩＤに割り当てられる優先度であり、１つの実施形態では、ａＤｒｎｉＰｏｒｔａｌＰｒｉｏｒｉｔｙからの符号なし整数として符号化される。
Ｈ）Ｐｏｒｔａｌ＿ＩＤ。１つの実施形態では、ａＤｒｎｉＰｏｒｔａｌＩｄからのポータルＩＤのＭＡＣアドレスコンポーネントである。
Ｉ）ＴＬＶ＿ｔｙｐｅ＝ポータル設定情報。このフィールドは、このＴＬＶ−タプルにおいて保有される情報の性質を示す。１つの実施形態では、ポータル設定情報は値０ｘ０２によって識別される。
Ｊ）Ｐｏｒｔａｌ＿Ｃｏｎｆｉｇｕｒａｔｉｏｎ＿Ｉｎｆｏｒｍａｔｉｏｎ＿Ｌｅｎｇｔｈ。このフィールドは、このＴＬＶ−タプルの長さ（オクテット単位）を示し、１つの実施形態では、ポータル設定情報は、４６（０ｘ２Ｅ）の長さ値を用いる。
Ｋ）Ｔｏｐｏｌｏｇｙ＿Ｓｔａｔｅ。ＩＰＰのための、このＤＲ機能部のトポロジ関連変数であり、以下のように、また図６Ｃに示すように、単一のオクテット内の個々のビットとして符号化される。
１）Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒは、ビット０及び１において符号化される。これは、ａＤｒｎｉＰｏｒｔａｌＳｙｓｔｅｍＮｕｍｂｅｒからのこのＤＲ機能部のポータルシステム番号である。
２）Ｐｏｒｔａｌ＿Ｔｏｐｏｌｏｇｙは、ビット２及び３において符号化される。これは、ａＤｒｎｉＰｏｒｔａｌＴｏｐｏｌｏｇｙにおいて設定されるようなこのＤＲ機能部のポータルトポロジである。
３）Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｆ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒは、ビット４及び５において符号化される。これは、このＩＰＰにアタッチされたポータルシステムの設定されたポータルシステム番号である。
４）Ｌｏｏｐ＿Ｂｒｅａｋ＿Ｌｉｎｋは、ビット６において符号化される。このフラグは、このＩＰＰにアタッチされたＩＰＬがループ中断リンクとして設定されることを示す。ＴＲＵＥは、ＩＰＬがＤｒｎｉＬｏｏｐＢｒｅａｋＬｉｎｋにおいて設定されることを示し、１として符号化される；そうでない場合、フラグは０として符号化される。
５）ビット７は、未来の使用のために確保される。送信時は０にセットされ、受信時は無視される。
Ｋ２）Ｔｏｐｏｌｏｇｙ＿Ｓｔａｔｅ。代替的な実施形態では、トポロジ状態は、以下のように、また図２９に示すように、異なるオクテットにおいて符号化されてもよい。
１）Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒは、ビット０及び１において符号化される。１つの実施形態では、ａＤｒｎｉＰｏｒｔａｌＳｙｓｔｅｍＮｕｍｂｅｒからの、このＤＲ機能部のポータルシステム番号である。
２）Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｆ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒは、ビット２及び３において符号化される。１つの実施形態では、このＩＰＰにアタッチされたポータルシステムの設定されたポータルシステム番号である。
３）ビット４〜６は未来の使用のために確保される。１つの実施形態では、これらのビットは、送信時は０にセットされ、受信時は無視される。
４）ビット７において符号化されるＯｔｈｅｒ＿Ｎｏｎ＿Ｎｅｉｇｈｂｏｒ。ＴＲＵＥ（１として符号化される）は、他のポート情報ＴＬＶがこのポータルシステムの直接の近隣に関連付けられていないことを示す。１つの実施形態では、ＦＡＬＳＥ（０として符号化される）は、他のポート情報ＴＬＶが、このポータルシステムにおける他のＩＰＰに対する直接の近隣であることを示す。
Ｌ）Ｏｐｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ。ＤＲ機能部にアタッチされたアグリゲータの現在の動作アグリゲータキー値である。
Ｍ）Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ。１つの実施形態では、ａＡｇｇＰｏｒｔＡｌｇｏｒｉｔｈｍからの、このＤＲ機能部及びアグリゲータによって用いられるポートアルゴリズムである。
Ｎ）Ｇａｔｅｗａｙ＿Ａｌｇｏｒｔｈｍ。１つの実施形態では、ａＤｒｎｉＧａｔｅｗａｙＡｌｇｏｒｉｔｈｍからの、このＤＲ機能部によって用いられるゲートウェイアルゴリズムである。
Ｏ）Ｐｏｒｔ＿Ｄｉｇｅｓｔ。１つの実施形態では、ａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］からの、このＤＲ機能部の優先付けされたポートカンバセーションＩＤ対アグリゲーションポートの割り当てのダイジェストである。
Ｐ）Ｇａｔｅｗａｙ＿Ｄｉｇｅｓｔ。１つの実施形態では、ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］からの、このＤＲ機能部の優先付けされたゲートウェイカンバセーションＩＤ対ゲートウェイの割り当てのダイジェストである。
Ｑ）ＴＬＶ＿ｔｙｐｅ＝ＤＲＣＰ状態。このフィールドは、このＴＬＶ−タプルにおいて保有される情報の性質を示す。１つの実施形態では、ＤＲＣＰ状態は値０ｘ０３によって識別される。
Ｒ）ＤＲＣＰ＿Ｓｔａｔｅ＿Ｌｅｎｇｔｈ。このフィールドは、このＴＬＶ−タプルの長さ（オクテット単位）を示し、１つの実施形態では、ＤＲＣＰ状態は、３（０ｘ０３）の長さ値を用いる。
Ｓ）ＤＲＣＰ＿Ｓｔａｔｅ。ＩＰＰのための、このＤＲ機能部のＤＲＣＰ変数であり、以下のように、また図６Ｂに示すように、単一のオクテット内の個々のビットとして符号化される。
１）Ｈｏｍｅ＿Ｇａｔｅｗａｙ。１つの実施形態では、Ｈｏｍｅ＿Ｇａｔｅｗａｙはビット０において符号化される。このフラグは、このＤＲ機能部のゲートウェイの動作状態を示す。ＴＲＵＥは、動作中を示し、１として符号化され、非動作中は０として符号化される。
２）１つの実施形態では、Ｎｅｉｇｈｂｏｒ＿Ｇａｔｅｗａｙはビット１において符号化される。このフラグは、この近隣のＤＲ機能部のゲートウェイの動作状態を示す。ＴＲＵＥは、動作中を示し、１として符号化され、非動作中は０として符号化される。
３）１つの実施形態では、Ｏｔｈｅｒ＿Ｇａｔｅｗａｙはビット２において符号化される。このフラグは、潜在的な他のＤＲ機能部のゲートウェイの動作状態を示す。ＴＲＵＥは、動作中を示し、１として符号化され、非動作中は０として符号化される。
４）１つの実施形態では、ＩＰＰ＿Ａｃｔｉｖｉｔｙはビット３において符号化される。このフラグは、このＩＰＰにおける近隣のＤＲＣＰのアクティブ性を示す。アクティブな近隣ＤＲＣＰは１として符号化され、非ＤＲＣＰアクティブ性は０として符号化される。
５）１つの実施形態では、ＤＲＣＰ＿Ｔｉｍｅｏｕｔはビット４において符号化される。このフラグは、このリンクに関するタイムアウト制御値を示す。短いタイムアウトは１として符号化され、長いタイムアウトは０として符号化される。
６）１つの実施形態では、ゲートウェイＳｙｎｃはビット５において符号化される。ＴＲＵＥ（１として符号化される）の場合、このＤＲ機能部は、このＩＰＰの近隣パートナーシステムが、自身のゲートウェイとＩＮ＿ＳＹＮＣであるとみなす。すなわち、いずれのポータルシステムのゲートウェイ（存在する場合）が各ゲートウェイカンバセーションＩＤを通すかをリスト化するこのポータルシステムの動作ベクトル（ｏｐｅｒａｔｉｏｎａｌ  ｖｅｃｔｏｒ）は、このＩＰＰの近隣の動作ベクトルと一致している。ＦＡＬＳＥ（０として符号化される）の場合、このＩＰＰは現在ＯＵＴ＿ＯＦ＿ＳＹＮＣである。すなわち、いずれのポータルシステムのゲートウェイ（存在する場合）が各ゲートウェイカンバセーションＩＤを通すかをリスト化するこのＩＰＰの近隣の動作ベクトルは、一致していない。
７）ポートＳｙｎｃは、ビット６において符号化される。ＴＲＵＥ（１として符号化される）の場合、このＤＲ機能部は、このＩＰＰの近隣パートナーシステムが、自身のアグリゲータポートとＩＮ＿ＳＹＮＣであるとみなす。すなわち、いずれのポータルシステムのアグリゲーションポート（存在する場合）が各ポートカンバセーションＩＤを通すかをリスト化するこのポータルシステムの動作ベクトルは、このＩＰＰの近隣の動作ベクトルと一致している。ＦＡＬＳＥ（０として符号化される）の場合、このＩＰＰは現在ＯＵＴ＿ＯＦ＿ＳＹＮＣである。すなわち、いずれのポータルシステムのアグリゲーションポート（存在する場合）が各ポートカンバセーションＩＤを通すかをリスト化するこのＩＰＰの近隣の動作ベクトルは、一致していない。
８）満了は、ビット７において符号化される。ＴＲＵＥ（１として符号化される）の場合、このフラグは、このＤＲ機能部の受信マシンがＥＸＰＩＲＥＤ状態又はＤＥＦＡＵＬＴＥＤ状態にあることを示し、ＦＡＬＳＥ（０として符号化される）の場合、このＤＲ機能部の受信マシンがＥＸＰＩＲＥＤ状態にもＤＥＦＡＵＬＴＥＤ状態にもないことを示す。
満了状態の受信値は、ＤＲＣＰによって用いられないが、プロトコル問題を診断する際に、これらの値を知ることは有用であり得る。また、フィールドの順序及びフィールドの長さは、異なる実施形態において異なる場合があるが、依然として本発明の趣旨に適合することに留意されたい。
Ｔ）ＴＬＶ＿ｔｙｐｅ＝ホームポート情報。このフィールドは、このＴＬＶ−タプルにおいて保有される情報の性質を示す。１つの実施形態では、ＤＲＮＩ情報は値０ｘ０４によって識別される。
Ｕ）Ｈｏｍｅ＿Ｐｏｒｔｓ＿Ｉｎｆｏｒｍａｔｉｏｎ＿Ｌｅｎｇｔｈ。このフィールドは、このＴＬＶ−タプルの長さ（オクテット単位）を示す。ホームポート情報は、含まれるこのポータルシステムのアグリゲーションポートの数の４倍の長さ値を用いる。
Ｖ）Ｈｏｍｅ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ。ａＡｇｇＡｃｔｏｒＡｄｍｉｎＫｅｙからの、このＤＲ機能部にアタッチされたアグリゲータの管理アグリゲータキー値である。
Ｗ）Ｈｏｍｅ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ。このポータルシステムのアグリゲータＬＡＧ  ＩＤに関連付けられた動作パートナーアグリゲータキーである。
Ｘ）アクティブホームポート。ポート番号の昇順のアクティブアグリゲーションポートのリストである。このリストは、ＬＡＣＰの動作によって制御される（ＬＡＣＰがＡｃｔｏｒ＿Ｏｐｅｒ＿Ｐｏｒｔ＿Ｓｔａｔｅ．Ｄｉｓｔｒｉｂｕｔｉｎｇ＝ＴＲＵＥを宣言している、このポータルシステム上の全てのポートを列挙する）。
Ｙ）ＴＬＶ＿ｔｙｐｅ＝近隣ポート情報。このフィールドは、このＴＬＶ−タプルにおいて保有される情報の性質を示す。近隣ポート情報は整数値０ｘ０５によって識別される。
Ｚ）Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔｓ＿Ｉｎｆｏｒｍａｔｉｏｎ＿Ｌｅｎｇｔｈ。このフィールドは、このＴＬＶ−タプルの長さ（オクテット単位）を示し、近隣ポート情報は、含まれる近隣アグリゲーションポート数の４倍の長さ値を用いる。
Ａａ）Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ。近隣ポータルシステムにアタッチされたアグリゲータの管理アグリゲータキー値。
Ａｂ）Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ。近隣ポータルシステムのアグリゲータＬＡＧ  ＩＤに関連付けられた動作パートナーアグリゲータキー。
Ａｃ）アクティブ近隣ポート。ポート番号の昇順のアクティブなアグリゲーションポートのリスト。このリストは、ＬＡＣＰの動作によって制御される（ＬＡＣＰがＡｃｔｏｒ＿Ｏｐｅｒ＿Ｐｏｒｔ＿Ｓｔａｔｅ．Ｄｉｓｔｒｉｂｕｔｉｎｇ＝ＴＲＵＥを宣言している直接近隣ポータルシステムにおける全てのポートを列挙する）。
Ａｄ）ＴＬＶ＿ｔｙｐｅ＝他のポート情報。このフィールドは、このＴＬＶ−タプルにおいて保有される情報の性質を示す。この他のポート情報は、整数値０ｘ０６によって識別される。このＴＬＶは、ポータルトポロジが３つのポータルシステムを含む場合にのみ用いられる。
Ａｅ）Ｏｔｈｅｒ＿Ｐｏｒｔｓ＿Ｉｎｆｏｒｍａｔｉｏｎ＿Ｌｅｎｇｔｈ。このフィールドは、このＴＬＶ−タプルの長さ（オクテット単位）を示す。他のポート情報は、含まれる他のポータルシステムのアグリゲーションポートの数の４倍の長さ値を用いる。
Ａｆ）Ｏｔｈｅｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ。他の近隣ポータルシステムにアタッチされたアグリゲータの管理アグリゲータキー値。
Ａｇ）Ｏｔｈｅｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ。他の近隣ポータルシステムのアグリゲータＬＡＧ  ＩＤに関連付けられた動作パートナーアグリゲータキー。
Ａｈ）アクティブな他のポート。ポート番号の昇順のアクティブなアグリゲーションポートのリスト。このリストは、ＬＡＣＰの動作によって制御される（ＬＡＣＰがＡｃｔｏｒ＿Ｏｐｅｒ＿Ｐｏｒｔ＿Ｓｔａｔｅ．Ｄｉｓｔｒｉｂｕｔｉｎｇ＝ＴＲＵＥを宣言しているオプションの他のポータルシステムにおける全てのポートを列挙する）。
Ａｉ）ＴＬＶ＿ｔｙｐｅ＝他の情報。このフィールドは、このＴＬＶ−タプルにおいて保有される情報の性質を示す。１つの実施形態では、他の情報は、整数値０ｘ０ｘによって識別される。
Ａｊ）ＴＬＶ＿ｔｙｐｅ＝ターミネータ。このフィールドは、このＴＬＶ−タプルにおいて保有される情報の性質を示す。１つの実施形態では、ターミネータ（メッセージ終了）情報は、整数値０ｘ００によって識別される。
Ａｋ）Ｔｅｒｍｉｎａｔｏｒ＿Ｌｅｎｇｔｈ。このフィールドは、このＴＬＶ−タプルの長さ（オクテット単位）を示す。１つの実施形態では、ターミネータ情報は値０（０ｘ００）の長さ値を用いる。
【００９６】
０のＴｅｒｍｉｎａｔｏｒ＿Ｌｅｎｇｔｈの使用は意図的であることに留意されたい。ＴＬＶ符号化方式において、ターミネータ符号化が、タイプ及び長さの双方について０となることが一般的である。
【００９７】
また、バージョン１の実施は、バージョンＮのＰＤＵの受信に成功することができることを保証されるが、バージョンＮのＰＤＵは、バージョン１によって解釈することができない（無視されることになる）追加の情報を含む場合がある。後方互換性を確保する際の重大な要素は、プロトコルの任意の未来のバージョンが、以前のバージョンについて定義された情報の構造又は意味論を精緻化しないことを必要とされることである。未来のバージョンは、以前の組に対し新たな情報要素を加えることしかできない。このため、バージョンＮ  ＰＤＵにおいて、バージョン１の実施は、バージョン１の情報を、バージョン１  ＰＤＵと厳密に同じ場所に見つけることを予期することができ、バージョン１について定義されているようにその情報を解釈することを予期することができる。
【００９８】
ＤＲＣＰＤＵは、アグリゲーションポート数と共にサイズが大きくなることに留意されたい。ポータルのポータルシステム間で拡散された最大で（１５００−８８）／４＝３５３個のアグリゲーションポートがサポートされる。ポータルによってサポートされる必要があるアグリゲーションポートの最小数は２である。
【００９９】
以下の表は、ＤＲＣＰに適用可能なＴＬＶのリストを提供する。
0006388675.tif 000005
【０１００】
このため、実施形態は、ＤＲＣＰＤＵのフレームへのカプセル化を提供し、各ＤＲＣＰＤＵはＩＰＰのためのＤＲＣＰ変数等のＤＲＣＰ状態を示すフィールドを備える。フィールドは１つのオクテットであり得る。オクテットの異なるビットに符号化されたフィールドは、Ｈｏｍｅ＿Ｇａｔｅｗａｙ、Ｎｅｉｇｈｂｏｒ＿Ｇａｔｅｗａｙ、Ｏｔｈｅｒ＿Ｇａｔｅｗａｙ、ＩＰＰ＿Ａｃｔｉｖｉｔｙ、ＤＲＣＰ＿Ｔｉｍｅｏｕｔ、ゲートウェイＳｙｎｃ、ポートＳｙｎｃ、満了のうちの１つ又は複数を述べる情報を更に含むことができる。
【０１０１】
図１４は、本発明によるＤＲＣＰＤＵ構造の別の実施形態を示す。図１４におけるＤＲＣＰＤＵ構造は図５のものに類似しているが、いくつかのフィールドが異なる。例えば、Ｈｏｍｅ＿Ｐｏｒｔｓ＿Ｉｎｆｏｒｍａｔｉｏｎ＿Ｌｅｎｇｔｈは、図１４では２＋４＊ＰＮであり、図５のように２＋２＊ＰＮではない。同様に、図１４におけるＤＲＣＰＤＵ構造のいくつかの他のフィールドは、図５におけるＤＲＣＰＤＵ構造と異なる長さを含み、２つのＤＲＣＰＤＵ構造は、他方の実施形態に存在しないフィールドも含む。各例示的なＤＲＣＰＤＵ構造において、フィールドは、フィールドのコンテンツについて弁別的な名称を有する。異なるフィールドのうちのいくつかは同様の情報を含むが、リネーム又は再組織化されている。当業者であれば、本明細書に示す原理及び構造と一貫した他の同様のＤＲＣＰＤＵ構造が可能であることを理解するであろう。
【０１０２】
図２５は、本発明によるＤＲＣＰＤＵ構造の別の実施形態を示す。図２５におけるＤＲＣＰＤＵ構造は、いくつかの差異を伴うが、図５及び図１４と同様である。例えば、ポート情報長（ホームポート、近隣ポート及び他のポートの場合）が差異である。加えて、図２５におけるＤＲＣＰＤＵ構造は、トポロジ状態と、本明細書において上記で論考した、Ｏｐｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ、Ｈｏｍｅ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ、Ｈｏｍｅ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ、Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ、Ｏｔｈｅｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ及びＯｔｈｅｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ等のアグリゲータキーのためのいくつかのフィールドとを含む。
【０１０３】
図３２は、本発明の１つの実施形態による、ＤＲＣＰＤＵ構造を含むフレームを用いた通信方法を示す。方法３２００は、図１ＢのノードＫ〜Ｏ並びに図１Ｃのネットワークデバイス１３２及び１３４等のＤＲＮＩの一部として、ＤＲＣＰポータル（ローカルポータルと呼ばれる）のＤＲＣＰノード（例えば、ネットワークデバイス）において実施され得る。
【０１０４】
３２０２において、ポータルのＤＲＣＰノードがフレーム内のＤＲＣＰＤＵをカプセル化する。ＤＲＣＰＤＵは、（１）ＰＤＵがＤＲＣＰのためのものであることを示すタイプフィールド（サブタイプと呼ばれる）と、（２）ＤＲＣＰＤＵのバージョン番号を示すバージョンフィールドと、（３）ＴＬＶの組とを含む構造を含む。ＴＬＶの組は、ターミネータＴＬＶと、ポータル情報ＴＬＶと、ポータル設定ＴＬＶと、ＤＲＣＰ状態ＴＬＶと、ホームポート情報ＴＬＶと、近隣ポート情報ＴＬＶとを含む。１つの実施形態において、ポータルが３つ以上のノードを含むとき、ＰＤＵ構造は別のポートＴＬＶを含むことができる。
【０１０５】
１つの実施形態では、ＴＬＶの組は、ネットワーク／ＩＰＬ共有方法ＴＬＶ、ネットワーク／ＩＰＬ共有カプセル化ＴＬＶ、ＩＥＥＥ８０２．１のために確保済みの１つ又は複数のＴＬＶ、及び組織固有ＴＬＶのうちの少なくとも１つを更に含み、それぞれのＴＬＶが本明細書において論考されている。
【０１０６】
ＴＬＶの組の各ＴＬＶがＴＬＶタイプフィールドを含む。１つの実施形態では、各ＴＬＶのＴＬＶタイプフィールドは、上記で示した表４内に指定されている値を含む。ＴＬＶのそれぞれが、本明細書において上記で論考された値にセットすることができるフィールドを含む。例えば、
・ターミネータＴＬＶはＰＤＵ構造の終了を示す。１つの実施形態では、ターミネータＴＬＶは、ＴＬＶタイプフィールド及びターミネータ長フィールドを含み、ここで、ターミネータ長フィールドは、本明細書において上記で論考されたようなゼロの長さを示す。
・ポータル情報ＴＬＶは、ＤＲＣＰノードが属するポータルの特性を示す。１つの実施形態では、特性は、（１）ノードのアグリゲータに割り当てられた優先度を示すアグリゲータ優先度フィールドと、（２）アグリゲータのＩＤを示すアグリゲータ識別子（ＩＤ）フィールドと、（３）ポータルに割り当てられた優先度を示すポータル優先度フィールドと、（４）本明細書において上記で論考されたように、ネットワークデバイスに関連付けられたＭＡＣアドレスコンポーネントを示すポータルアドレスフィールドと、において示される。
・ポータル設定情報ＴＬＶは、ＤＲＣＰノードが属するポータルの設定情報を示す。１つの実施形態では、設定情報は、本明細書において論考されるように、（１）図６Ｃ及び図２９に示すようなポータルのトポロジ状態を示すトポロジ状態フィールドと、（２）ノードの動作アグリゲータキーを示す動作アグリゲータキーフィールドと、（３）用いられるポータルアルゴリズムを示すポータルアルゴリズムフィールドと、（４）用いられるゲートウェイアルゴリズムを示すゲートウェイアルゴリズムフィールドと、（５）ポートカンバセーション識別子（ＩＤ）のために用いられるポートダイジェストの、アグリゲーションポートへの割り当てを示すポートダイジェストフィールと、（６）ゲートウェイカンバセーションＩＤのために用いられるゲートウェイダイジェストをゲートウェイに示すゲートウェイダイジェストフィールドと、において示される。
・ＤＲＣＰ状態ＴＬＶは、ＩＰＰに関連付けられた変数を示す。１つの実施形態では、ＤＲＣＰ状態は、本明細書において上記で論考されたように、図６Ｂに示すように符号化された値を含む。
・ホームポート情報ＴＬＶは、ノードの現在のステータスをＤＲＣＰノードに関連付けて示す。１つの実施形態では、ノードの現在のステータスは、本明細書において上記で論考されたように、（１）アタッチされたアグリゲータの管理アグリゲータキー値を示す管理アグリゲータキーフィールドと、（２）ノードのアグリゲータＬＡＧ  ＩＤに関連付けられた動作パートナーアグリゲータキーを示す動作パートナーアグリゲータキーフィールドと、（３）ノード内のアクティブなアグリゲーションポートのリストを示すアクティブアグリゲーションポートフィールドと、において示される。
・近隣ポート情報ＴＬＶは、近隣ノードの現在のステータスをＤＲＮＩに関連付けて示す。１つの実施形態では、近隣ノードの現在のステータスは、本明細書において上記で論考されたように、（１）近隣ネットワークデバイスにアタッチされたアグリゲータの管理アグリゲータキー値を示す管理アグリゲータキーフィールドと、（２）近隣ノードのアグリゲータＬＡＧ  ＩＤに関連付けられた動作パートナーアグリゲータキーを示す動作パートナーアグリゲータキーフィールドと、（３）ＩＰＰに関連付けられた直接近隣ポータルシステムにおけるアクティブアグリゲーションポートのリストを示すアクティブアグリゲーションポートフィールドと、において示される。
・他のポート情報ＴＬＶは、ローカルポータルが３つ以上のノードを含むときの、ＤＲＮＩに関連付けられた他の近隣ノードの現在のステータスを示す。１つの実施形態では、他の近隣ノードの現在のステータスは、本明細書において上記で論考されたように、（１）他のノードにアタッチされたアグリゲータの管理アグリゲータキー値を示す管理アグリゲータキーフィールドと、（２）他の近隣ノードのアグリゲータＬＡＧ  ＩＤに関連付けられた動作パートナーアグリゲータキーを示す動作パートナーアグリゲータキーフィールドと、（３）ＩＰＰ上の他の近隣ノードにおけるアクティブアグリゲーションポートのリストと、において示される。
・ネットワーク／ＩＰＬ共有方法ＴＬＶは、ノードに関連付けられたネットワーク及びＩＰＬ共有方法を示す。
・ネットワーク／ＩＰＬ共有カプセル化ＴＬＶは、共有方法のカプセル化に関する情報を示す。
【０１０７】
３２０６において、ＤＲＣＰノードは、ＩＰＰを介してポータルの自身の近隣ノードにフレームを送信する。近隣ノードは、カプセル化された情報を用いて、フレームの転送を制御する。
【０１０８】
本明細書において論考されるように、方法３２００を通じて、ノードは自身の近隣ノードと情報を交換し、これによってポータルのＤＲＣＰ動作を確立し、可能にする。方法３２００は、ノードが自身の近隣ノードと情報を交換するための効率的な方法を提供する。
【０１０９】
ネットワーク／ＩＰＬ共有ＴＬＶ
これらのＴＬＶは、用いられるネットワーク／ＩＰＬ共有方法が、タグによるネットワーク／ＩＰＬ共有、又はポータルシステム間の一貫した設定を確保するためのカプセル化によるネットワーク／ＩＰＬ共有のうちの１つであるときにのみ必要とされる。時間によるネットワーク／ＩＰＬ共有方法は、ネットワーク／ＩＰＬ共有方法ＴＬＶの交換を必要とするが、ネットワーク／ＩＰＬ共有カプセル化ＴＬＶは必要としない。
【０１１０】
注記−用いられるネットワーク／ＩＰＬ共有方法が本明細書において論考される物理的方法又はアグリゲーション方法のとき、ネットワーク／ＩＰＬ共有ＴＬＶは必要とされない。
【０１１１】
以下の表は、ネットワーク／ＩＰＬ共有方法に適用可能なＴＬＶのリストを提供する。
0006388675.tif 000006
【０１１２】
ネットワーク／ＩＰＬ共有方法ＴＬＶ
ネットワーク／ＩＰＬ共有方法ＴＬＶ構造は、以下において表として示され、以下のフィールド定義において更に説明され得る。
0006388675.tif 000007
【０１１３】
ＴＬＶ＿ｔｙｐｅ＝ネットワーク／ＩＰＬ共有方法ＴＬＶ。このフィールドは、このＴＬＶ−タプルにおいて保有される情報の性質を示す。ネットワーク／ＩＰＬ共有ＴＬＶは、整数値０ｘ０７によって識別される。
【０１１４】
Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄ＿Ｌｅｎｇｔｈ。このフィールドは、このＴＬＶ−タプルの長さ（オクテット単位）を示す。ネットワーク／ＩＰＬ共有ＴＬＶは６（０ｘ０６）の長さ値を用いる。ＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄ。このフィールドは、ＩＰＬ及びネットワークリンクが同じ物理リンクを共有しているとき、このＩＰＰにおいてＩＰＬフレームを近隣ポータルシステムにトランスポートするのに用いられるネットワーク／ＩＰＬ共有方法を表す値を含む。この値は、このカプセル化を担当する組織を識別する３オクテット組織固有識別子（ＯＵＩ）と、その組織によって定義されるカプセル化方法を識別するのに用いられる１つの後続のオクテットとからなる。常にａＤｒｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄに等しくセットされる。１の値は、時間によるネットワーク／ＩＰＬ共有が用いられることを示す。２の値は、用いられるカプセル化方法が、ネットワークフレームによって用いられるものと同じであること、及びタグによるネットワーク／ＩＰＬ共有が用いられることを示す。以下の表は、ＩＥＥＥ  ＯＵＩ（０１−８０−Ｃ２）のカプセル化方法符号化を提供する。
0006388675.tif 000008
【０１１５】
ネットワーク／ＩＰＬ共有カプセル化ＴＬＶ
ネットワーク／ＩＰＬ共有カプセル化ＴＬＶ構造は、以下に示すものとし、以下のフィールド定義において更に説明され得る。
0006388675.tif 000009
【０１１６】
ＴＬＶ＿ｔｙｐｅ＝ネットワーク／ＩＰＬ共有カプセル化ＴＬＶ。このフィールドは、このＴＬＶ−タプルにおいて保有される情報の性質を示す。ネットワーク／ＩＰＬ共有ＴＬＶは整数値０ｘ０８によって識別される。
【０１１７】
Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｅｎｃｕｐｓｕｌａｔｉｏｎ＿Ｌｅｎｇｔｈ。このフィールドは、このＴＬＶ−タプルの長さ（オクテット単位）を示す。ネットワーク／ＩＰＬ共有ＴＬＶは、３４（０ｘ２２）の長さ値を用いる。
【０１１８】
ＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＩＰＬＥｎｃａｐ＿Ｄｉｇｅｓｔ。このフィールドは、ＩＰＬにおいて近隣ポータルシステムと交換するためにａＤｒｎｉＩＰＬＥｎｃａｐＭａｐから計算されるＭＤ５ダイジェストの値を含む。
【０１１９】
ＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＮｅｔＥｎｃａｐ＿Ｄｉｇｅｓｔ。このフィールドは、共有ネットワークリンクにおいて交換するためにａＤｒｎｉＮｅｔＥｎｃａｐＭａｐから計算されるＭＤ５ダイジェストの値を含む。
【０１２０】
ＤｒｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄ
属性
適切なシンタックス（ＳＹＮＴＡＸ）
組織固有識別子（ＯＵＩ）及び１つの後続のオクテットからなるオクテットのシーケンス
以下のように定義される挙動
このマネージメントされるオブジェクトは、時間によるネットワーク／ＩＰＬ共有、又はタグによるネットワーク／ＩＰＬ共有、又はカプセル化によるネットワーク／ＩＰＬ共有がサポートされるときにのみ適用可能である。このオブジェクトは、ＩＰＬ及びネットワークリンクが同じ物理リンクを共有しているときに、ＩＰＬフレームを近隣ポータルシステムにトランスポートするのに用いられるカプセル化方法を表す値を識別する。このオブジェクトは、このカプセル化を担当する組織を識別する３オクテット組織固有識別子（ＯＵＩ）と、その組織によって定義されるカプセル化方法を識別するのに用いられる１つの後続のオクテットとからなる。ＩＥＥＥカプセル化方法における表は、ＩＥＥＥ  ＯＵＩ（０１−８０−Ｃ２）のカプセル化方法符号化を提供する。０ｘ０１−８０−Ｃ２−００のデフォルト値は、ＩＰＬが別個の物理リンク又はアグリゲーションリンクを用いていることを示す。１の値は、時間によるネットワーク／ＩＰＬ共有が用いられることを示す。２の値は、用いられるカプセル化方法がネットワークフレームによって用いられるものと同じであること、及びタグによるネットワーク／ＩＰＬ共有が用いられることを示す。
【０１２１】
ＤｒｎｉＩＰＬＥｎｃａｐＭａｐ
属性
適切なシンタックス
ゲートウェイカンバセーションＩＤによってインデックス付けされる整数のシーケンス
以下のように定義される挙動
このマネージメントされるオブジェクトは、タグによるネットワーク／ＩＰＬ共有又はカプセル化によるネットワーク／ＩＰＬ共有がサポートされるときにのみ適用可能である。各エントリは、本明細書において指定されるカプセル化方法についてそのゲートウェイカンバセーションＩＤに関連付けられたＩＰＬフレームのために用いられる識別子の値を表す。
【０１２２】
ａＤｒｎｉＮｅｔＥｎｃａｐＭａｐ
属性
適切なシンタックス
ゲートウェイカンバセーションＩＤによってインデックス付けされる整数のシーケンス
以下のように定義される挙動
このマネージメントされるオブジェクトは、タグによるネットワーク／ＩＰＬ共有がサポートされるときにのみ適用可能である。各エントリは、本明細書において指定される方法が、本明細書によって指定されるタグによるネットワーク／ＩＰＬ共有方法であるとき、及びネットワークフレームが、ＩＰＬフレームによって用いられるタグスペースを共有する必要があるときに、そのゲートウェイカンバセーションＩＤに関連付けられたネットワークフレームのために用いられる識別子の変換された値を表す。
【０１２３】
ａＡｇｇＰｏｒｔＡｌｇｏｒｉｔｈｍ
属性
適切なシンタックス
３オクテットの組織固有識別子（ＯＵＩ）及び１つの後続のオクテットからなるオクテットのシーケンス
以下のように定義される挙動
このオブジェクトは、フレームをポートカンバセーションＩＤに割り当てるためにアグリゲータによって用いられるアルゴリズムを識別する。
【０１２４】
ａＡｇｇＡｃｔｏｒＳｙｓｔｅｍＩＤ
属性
適切なシンタックス：
ＭＡＣＡｄｄｒｅｓｓ
以下のように定義される挙動
このアグリゲータを含むシステムのための固有の識別子として用いられる、６オクテット読出し−書込みＭＡＣアドレス値。
注記−節６に説明されるリンクアグリゲーションメカニズムの観点から、アクターのシステムＩＤ及びシステム優先度の単一の組み合わせのみが検討され、アグリゲータ及びこのアグリゲータに関連付けられたアグリゲーションポートのためのこれらのパラメータの値間は区別されない（すなわち、プロトコルは、単一のシステム内のアグリゲーションの動作の観点で説明される）。しかしながら、アグリゲータのために提供される管理されたオブジェクト及びアグリゲーションポートのために提供される管理されたオブジェクトの双方が、これらのパラメータのマネージメントを可能にする。この結果、単一の機器が、リンクアグリゲーションの動作の観点から２つ以上のシステムを含むようにマネージメントにより設定されることが可能になる。これは、限られたアグリゲーション機能を有する機器の設定において特に有用とすることができる。
【０１２５】
ａＡｇｇＡｃｔｏｒＳｙｓｔｅｍＰｒｉｏｒｉｔｙ
属性
適切なシンタックス：
整数
以下のように定義される挙動：
アクターのシステムＩＤに関連付けられた優先度値を示す２オクテット読出し−書込み値。
【０１２６】
組織固有ＴＬＶ
任意の組織は、ＤＲＣＰにおける使用のためにＴＬＶを定義することができる。これらのＴＬＶは、ＩＥＥＥ８０２．１、ＩＴＵ−Ｔ、ＩＥＴＦ等の様々な組織、並びに個々のソフトウェアベンダ及び機器ベンダが、近隣ポータルシステムに情報を告知するＴＬＶを規定することを可能にするように提供される。組織固有ＴＬＶ構造は、以下の表に示され、以下のフィールド定義において更に説明される通りである。
0006388675.tif 000010
【０１２７】
ＴＬＶ＿ｔｙｐｅ＝組織固有ＴＬＶ。このフィールドは、このＴＬＶ−タプルにおいて保有される情報の性質を示す。組織固有ＴＬＶは、整数値０ｘ０Ｆによって識別される。
【０１２８】
Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｅｎｃａｐｓｕｌａｔｉｏｎ＿Ｌｅｎｇｔｈ。このフィールドは、このＴＬＶ−タプルの長さ（オクテット単位）を示す。組織固有ＴＬＶはＬＬの長さ値を用いる。
【０１２９】
ＯＵＩ。このフィールドは、ＩＥＥＥから取得可能な３バイト長の組織に固有の識別子を含む。
【０１３０】
サブタイプ。このフィールドはサブタイプ値を含み、ＯＵＩの所有者によって更なる組織固有ＴＬＶが必要とされる場合に追加のＯＵＩが必要とされないようにする。
【０１３１】
値。このフィールドは、近隣ポータルシステムに通信される必要がある情報を含む。
【０１３２】
ＤＲＣＰ状態マシン概観
プロトコルの動作は、それぞれ別々の関数を実行する複数の状態マシンによって制御される。これらの状態マシンは、ほとんどの部分が、ＩＰＰごとのベースで説明されたが、アグリゲーションポートごとの説明からの任意のずれが本文において強調されている。イベント（タイマ又は受信ＤＲＣＰＤＵの満了等）によって、状態遷移を生じさせ、また、アクションを行わせることができる。これらのアクションは、繰り返し情報又は新たな情報を含むＤＲＣＰＤＵの送信の必要性を含むことができる。周期的送信及びイベント駆動の送信は、必要に応じて状態マシンによって生成される、送信必要性（ＮＴＴ）変数の状態によって制御される。
【０１３３】
状態マシンは以下の通りである：
Ａ）受信マシン（図８を参照）。この状態マシンは、このＩＰＰ上で近隣ポータルシステムからＤＲＣＰＤＵを受信し、含まれる情報を記録し、ＤＲＣＰ＿Ｔｉｍｅｏｕｔのセッティングに従って、短いタイムアウト又は長いタイムアウトのいずれかを用いてタイムアウト処理を行う。この状態マシンは、近隣ポータルシステムから到来する情報を評価して、ホーム及び近隣が、ポータル内で他のポータルシステムと共に、又は個々のポータルとして、ホームポータルシステムを現在安全に用いることができる程度まで交換されたプロトコル情報に合意したか否かを判定する。合意していない場合、フレッシュなプロトコル情報を近隣ポータルシステムに送信するために、ＮＴＴをアサートする。近隣ポータルシステムからのプロトコル情報がタイムアウトする場合、受信マシンは、他の状態マシンによって用いるためのデフォルトパラメータ値をインストールする。
Ｂ）周期的送信マシン（ＰＴＳ−図９を参照）。この状態マシンは、ポータルを維持するために、ホームポータルシステム及びその近隣がＤＲＣＰＤＵを交換する期間を判定する。
Ｃ）ポータルシステムマシン（ＰＳ−図１０を参照）。この状態マシンは、ホームポータルシステムのＩＰＰにおいて受信されたローカル情報及びＤＲＣＰＤＵに基づいてポータル内の全てのゲートウェイ及びアグリゲーションポートの動作ステータスを更新することを担当する。この状態マシンはポータルシステムごとにある。
Ｄ）ＤＲＮＩゲートウェイ及びアグリゲータマシン（ＤＧＡ−図１１を参照）。これらの状態マシンは、このＤＲ機能部のゲートウェイを通過することを可能にされるゲートウェイカンバセーションＩＤ、及びこのＤＲ機能部のアグリゲータを通じて配分されることが許可されるポートカンバセーションＩＤを設定する役割を果たす。これらの状態マシンはポータルシステムごとにある。
Ｅ）ＤＲＮＩ  ＩＰＰマシン（ＩＰＰ−図１２を参照）。これらの状態マシンは、このＤＲ機能部のＩＰＰを通過することを可能にされるゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤを設定する役割を果たす。
Ｆ）送信マシン（ＴＸ−本明細書における以下のサブセクション、送信マシンを参照）。この状態マシンは、他の状態マシンからオンデマンドで、かつ周期的に、ＤＲＣＰＤＵの送信を処理する。
【０１３４】
図７は、本発明の１つの実施形態による、これらの状態マシンと、それらの状態マシン間での情報のフローとの間の関係を示す。近隣状態情報をラベル付けされた矢印の組は、新たな近隣情報を表す。この新たな近隣情報は、到来するＤＲＣＰＤＵに含まれるか、又は受信マシンによって各状態マシンに供給される管理デフォルト値によって供給される。ホーム状態情報をラベル付けされた矢印の組は、状態マシン間の更新されたホーム状態情報のフローを表す。ＤＲＣＰＤＵの送信は、周期的マシンが、周期的ＤＲＣＰＤＵを送信する必要性を判定した結果として、又は近隣に通信する必要があるホームの状態情報に対する変化の結果のいずれかとして生じる。ＤＲＣＰＤＵを送信する必要性は、ＮＴＴをアサートすることによって送信マシンにシグナリングされる。残りの矢印は、状態マシンが別の状態マシンにおいてイベントを生じさせることを可能にする状態マシン記述における共有変数を表す。
【０１３５】
図１５は、本発明の別の実施形態による、これらの状態マシンと、それらの状態マシン間での情報のフローとの間の関係を示す。代替的な実施形態は、本明細書において説明し、図１５に図示した原理及び構造に同様の形式で従って動作する。このため、説明は通常、注記されない限り双方の実施形態に当てはまる。
【０１３６】
これらの状態マシンは、本明細書において以下で詳述するような、１組の定数、変数、メッセージ及び関数を利用する。
【０１３７】
分散レジリエントネットワーク相互接続のマネージメント
分散中継器属性
ａＤｒｎｉＰｏｒｔａｌＩｄ
属性
適切なシンタックス：４８ビットのＭＡＣアドレスのシンタックスに合致する８オクテットのシーケンス
以下のように定義される挙動：特定のポータルの読出し−書込み識別子。ａＤｒｎｉＰｏｒｔａｌＩｄは、少なくとも、所与のポータルシステムがＩＰＬを介してアタッチされ得る潜在的なポータルシステムの全ての間で固有でなくてはならない。また、エミュレートされたシステムのためのアクターのシステムＩＤとしても用いられる。
【０１３８】
ＤｒｎｉＤｅｓｃｒｉｐｔｉｏｎ
属性
適切なシンタックス：
ＰｒｉｎｔａｂｌｅＳｔｒｉｎｇ、最大２５５文字。
以下のように定義される挙動：
分散中継器に関する情報を含む人間が可読のテキスト文字列。この文字列は読出し専用である。コンテンツはベンダ固有である。
【０１３９】
ａＤｒｎｉＮａｍｅ
属性
適切なシンタックス：
ＰｒｉｎｔａｂｌｅＳｔｒｉｎｇ、最大２５５文字。
以下のように定義される挙動：
分散中継器のためのローカルで有効な名前を含む、人間が可読のテキスト文字列。この文字列は読出し−書込み対応である。
【０１４０】
ａＤｒｎｉＰｏｒｔａｌＡｄｄｒ
属性
適切なシンタックス：
４８ビットＭＡＣアドレスのシンタックスに合致する６オクテットのシーケンス
以下のように定義される挙動：
特定のポータルの読出し−書込み識別子。ａＤｒｎｉＰｏｒｔａｌＡｄｄｒは、少なくとも、所与のポータルシステムがＩＰＬを介してアタッチされ得る潜在的なポータルシステムの全ての間で固有でなくてはならない。エミュレートされたシステムのためのアクターのシステムＩＤ（６．３．２）としても用いられる。
【０１４１】
ａＤｒｎｉＰｏｒｔａｌＰｒｉｏｒｉｔｙ
属性
適切なシンタックス：整数
以下のように定義される挙動：ポータルＩＤに関連付けられた優先度値を示す２オクテット読出し−書込み値。エミュレートされたシステムのためのアクターのシステム優先度としても用いられる。
【０１４２】
ａＤｒｎｉＰｏｒｔａｌＴｏｐｏｌｏｇｙ
属性
適切なシンタックス：
整数
以下のように定義される挙動：
ポータルのトポロジを示す読出し−書込み値。値３は、３つのポータル内リンクによってリング状に接続された３つポータルシステムのポータルを表し、値２は、２つのＩＰＬによってチェーン状に接続された３つのポータルシステムのポータルを表し、値１は、単一のＩＰＬによって接続された２つのポータルシステムのポータルを表し、値０は、アクティブなＩＰＬを有しない単一のポータルシステムのポータルを表す。デフォルト値は１である。
【０１４３】
ａＤｒｎｉＰｏｒｔａｌＳｙｓｔｅｍＮｕｍｂｅｒ
属性
適切なシンタックス：ポータルシステム番号であり、範囲１〜３（１及び３を含む）内の整数である。
以下のように定義される挙動：ポータル内のこの特定のポータルシステムの読出し−書込み識別子。同じａＤｒｎｉＰｏｒｔａｌＩｄを有するポータルシステム間で固有でなくてはならない。
【０１４４】
ａＤｒｎｉＩｎｔｒａＰｏｒｔａｌＬｉｎｋＬｉｓｔ
属性
適切なシンタックス：インターフェース識別子のシンタックスに合致する整数のシーケンス。
以下のように定義される挙動：この分散中継器に割り当てられるポータル内リンクの読出し−書込みリスト。各ＩＰＬのポート番号は、アタッチされたポータルシステムのポータルシステム番号に合致するように設定される。
【０１４５】
ａＤｒｎｉＬｏｏｐＢｒｅａｋＬｉｎｋ
属性
適切なシンタックス：
インターフェース識別子のシンタックスに合致する整数。
以下のように定義される挙動
ａＤｒｎｉＩｎｔｒａＰｏｒｔａｌＬｉｎｋＬｉｓｔのインターフェース識別子のうちの１つに合致する読出し−書込み識別子。その値は、全てのＩＰＬが動作中であるときの、リング状に接続された３つのポータルシステムのポータルの場合に、データループを中断する必要があるインターフェース（「ループ中断リンク」）を識別する。この管理されたオブジェクトは、ａＤｒｎｉＰｏｒｔａｌＴｏｐｏｌｏｇｙにおける値が３であるときにのみ用いられる。
【０１４６】
ａＤｒｎｉＡｇｇｒｅｇａｔｏｒ
属性
適切なシンタックス：
インターフェース識別子のシンタックスに合致する整数。
以下のように定義される挙動：この分散中継器に割り当てられたアグリゲータポートの読出し−書込みインターフェース識別子。
【０１４７】
ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］
属性
適切なシンタックス：ポータルシステム番号のシンタックスに合致する整数のシーケンスのアレイ。
以下のように定義される挙動：ゲートウェイカンバセーションＩＤによってインデックス付けされた、ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［０］〜ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［４０９５］の４０９６個のａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］変数が存在する。それぞれが、分散中継器のためのゲートウェイ選択優先度リストの現在の管理値を含む。この選択優先度リスト、すなわちゲートウェイカンバセーションＩＤごとの整数のシーケンスは、対応する好ましいポータルシステムのゲートウェイがそのカンバセーションを搬送するための、最高位から最低位までの優先度順のポータルシステム番号のリストである。
注記−ネットワーク管理者が、ポータルのＤＲ機能部の全てにおけるａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］変数について同じ値を設定することができなければ、フレームは誤った宛先に向かう可能性がある。分散中継器制御プロトコル（ＤＲＣＰ、９．４）は、そのようなタイプの誤設定を防ぐ。
【０１４８】
ａＤｒｎｉＧａｔｅｗａｙＡｌｇｏｒｉｔｈｍ
属性
適切なシンタックス：組織固有識別子（ＯＵＩ）及び１つ又は複数の後続のオクテットからなるオクテットのシーケンス
以下のように定義される挙動：このオブジェクトは、ＤＲ機能部によってフレームをゲートウェイカンバセーションＩＤに割り当てるのに用いられるアルゴリズムを識別する。
【０１４９】
定数
以下の論考は、本発明の１つの実施形態に従って適用可能な多岐にわたる定数に焦点を当てる。このセクションにおいて規定される全てのタイマは、±２５０ｍｓの実施許容度を有する。
【０１５０】
Ｆａｓｔ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅ：短いタイムアウトを用いる周期的送信間の秒数。
値：整数；１
【０１５１】
Ｓｌｏｗ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅ：長いタイムアウトを用いる周期的送信間の秒数。
値：整数；３０
【０１５２】
Ｓｈｏｒｔ＿Ｔｉｍｅｏｕｔ＿Ｔｉｍｅ：短いタイムアウトを用いるときに受信ＬＡＣＰＤＵ情報を無効にする前の秒数（３×Ｆａｓｔ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅ）。
値：整数；３
【０１５３】
Ｌｏｎｇ＿Ｔｉｍｅｏｕｔ＿Ｔｉｍｅ：長いタイムアウトを用いるときに受信ＬＡＣＰＤＵ情報を無効にする前の秒数（３×Ｓｌｏｗ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅ）。
値：整数；９０
【０１５４】
Ａｇｇｒｅｇａｔｅ＿Ｗａｉｔ＿Ｔｉｍｅ：複数のリンクが同時にアグリゲートすることを可能にするためにアグリゲーションを遅延させるための秒数。
値：整数；２
【０１５５】
分散中継器に関連付けられた変数
以下の論考は、本発明の１つの実施形態による分散中継器に関連付けられた多岐にわたる変数に焦点を当てる。
【０１５６】
Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙ：このポータルに割り当てられたアグリゲータのシステム優先度。常にａＡｇｇＡｃｔｏｒＳｙｓｔｅｍＰｒｉｏｒｉｔｙに等しくセットされる。ＤＲＣＰＤＵにおいて送信される。
値：整数；管理者又はシステムポリシーによって割り当てられる。
【０１５７】
Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿ＩＤ：このポータルに関連付けられたアグリゲータのシステム識別子のＭＡＣアドレスコンポーネント。常にａＡｇｇＡｃｔｏｒＳｙｓｔｅｍＩＤに等しくセットされ、ＤＲＣＰＤＵにおいて送信される。
値：４８ビット
【０１５８】
Ｄｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ：いずれのポータルシステムのゲートウェイ（存在する場合）が各ゲートウェイカンバセーションＩＤを通すかを列挙する動作ベクトル。
値：ゲートウェイカンバセーションＩＤによってインデックス付けされたポータルシステム番号（存在しない場合、０）のシーケンス。
初期化時及び管理されたオブジェクト又は変数が変化する度にａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］及びＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］から計算される値。
【０１５９】
Ｄｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ：いずれのポータルシステム（存在する場合）が各ポートカンバセーションＩＤを通すかを列挙する動作ベクトル。
値：ポートカンバセーションＩＤによってインデックス付けされたポータルシステム番号（存在しない場合、０）のシーケンス。
初期化時及び管理されたオブジェクト又は変数が変化する度にａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］及びＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］から計算される値。
【０１６０】
Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙ：ポータルのシステム優先度。常にａＤｒｎｉＰｏｒｔａｌＰｒｉｏｒｉｔｙに等しくセットされる。ＤＲＣＰＤＵにおいて送信される。
値：整数
管理者又はシステムポリシーによって割り当てられる。
【０１６１】
Ｄｒｎｉ＿ＰｏｒｔａｌＩＤ（又はいくつかの実施形態ではＤｒｎｉ＿Ｐｏｒｔａｌ＿Ａｄｄｒ）：ポータルのシステム識別子のＭＡＣアドレスコンポーネント。常にａＤｒｎｉＰｏｒｔａｌＩｄに等しくセットされる。ＤＲＣＰＤＵにおいて送信される。
値：４８ビット
管理者又はシステムポリシーによって割り当てられる。
【０１６２】
Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｔｏｐｏｌｏｇｙ：ポータルの設定されたトポロジ。常にａＤｒｎｉＰｏｒｔａｌＴｏｐｏｌｏｇｙに等しくセットされる。ＤＲＣＰＤＵにおいて送信される。
値：範囲［０．．．３］内の整数
管理者又はシステムポリシーによって割り当てられる。
【０１６３】
ＤＲ機能部ごとの変数
ＣｈａｎｇｅＤＲＦＰｏｒｔｓ：この変数は、このポータルシステムに関連付けられたゲートウェイ及び全てのアグリゲーションポートの動作状態を追跡し、それらのうちのいずれかが変化するとき、ＴＲＵＥにセットされる。この変数は、Ｄｒｎｉ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ［］又はＤｒｎｉ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ［］のための新たな値が開始される場合にもＴＲＵＥにセットされ得る。
値：ブール
【０１６４】
ＣｈａｎｇｅＰｏｒｔａｌ：この変数は、このポータルシステムにおける任意のＩＰＰにおけるＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＩＰＰ＿Ａｃｔｉｖｉｔｙが変化するときにＴＲＵＥにセットされる。
【０１６５】
Ｄｒｎｉ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ［］：ゲートウェイカンバセーションＩＤによってインデックス付けされた４０９６個のリストのアレイであり、このポータルにおけるいずれのゲートウェイがいずれのゲートウェイカンバセーションＩＤを保有するかを判定する。アレイ内の各項目が、インデックス付けされたゲートウェイカンバセーションＩＤを保有するための、最も望ましいものから最も望ましくないものまでの優先度順の、このポータルにおけるゲートウェイのリストである。管理者又はシステムポリシーによって割り当てられる。常にａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］に等しくセットされる。
【０１６６】
Ｄｒｎｉ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ［］：ポートカンバセーションＩＤによってインデックス付けされた４０９６個のリストのアレイであり、このポータルにおけるいずれのアグリゲーションポートがいずれのポートカンバセーションＩＤを保有するかを判定する。アレイ内の各項目が、インデックス付けされたポートカンバセーションＩＤを保有するための、最も望ましいものから最も望ましくないものまでの優先度順の、このポータルにおけるアグリゲーションポートのリストである。管理者又はシステムポリシーによって割り当てられる。常にａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］に等しくセットされる。
値：ポートＩＤのシーケンス
【０１６７】
Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］：ポータルシステム番号によってインデックス付けされた、このポータルにおける全てのポータルシステムの状態。
値：ゲートウェイの動作状態（ＴＲＵＥは動作中を示す）、そのポータルシステム内の動作アグリゲーションポートのポートＩＤのリスト（おそらく空）、及びポータルシステムの状態が取得されたＩＰＰ（存在する場合）の識別情報を示すブールフラグ。この変数は、ｕｐｄａｔｅＰｏｒｔａｌＳｔａｔｅ関数によってセットされる。ＤＲＣＰＤＵにおいて送信される。
【０１６８】
ＤＲＦ＿Ｈｏｍｅ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ：このポータルシステムのアグリゲータに関連付けられる管理アグリゲータキー値。ＤＲＣＰＤＵにおいて送信される。
値：整数
【０１６９】
１つの実施形態では、ＤＲＦ＿Ｈｏｍｅ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙは、管理者又はシステムポリシーによって割り当てられる。ＤＲＦ＿Ｈｏｍｅ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙが設定され、これはポータルシステムごとに異ならなくてはならない。特に、最上位２ビットは、各ポータルシステムにおいて異ならなくてはならない。下位の１４ビットは、任意の値とすることができ、各ポータルシステムにおいて同じである必要がなく、ゼロのデフォルト値を有する。
管理者又はシステムポリシーによって割り当てられる。
【０１７０】
ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ＿Ｄｉｇｅｓｔ：近隣ポータルシステムとの交換のためにこのＤＲ機能部において設定されるａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］のダイジェスト。この変数は、ＤＲＣＰＤＵによって参照される。
値：ＭＤ５ダイジェスト
【０１７１】
ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ＿Ｄｉｇｅｓｔ：近隣ポータルシステムとの交換のためにこのＤＲ機能部において設定されるａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］のダイジェスト。ＤＲＣＰＤＵにおいて送信される。
値：ＭＤ５ダイジェスト
【０１７２】
ＤＲＦ＿Ｈｏｍｅ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ：このＤＲ機能部によって、フレームをゲートウェイカンバセーションＩＤに割り当てるのに用いられるゲートウェイアルゴリズム。常にａＤｒｎｉＧａｔｅｗａｙＡｌｇｏｒｉｔｈｍに等しくセットされる。ＤＲＣＰＤＵにおいて送信される。
値：４オクテット（このアルゴリズムをセットする役割を果たす組織を識別する３オクテットのＯＵＩと、それに続く、この特定のアルゴリズムを識別する２オクテット）。別の実施形態では、５オクテットが用いられる。
【０１７３】
ＤＲＦ＿Ｈｏｍｅ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ：このＤＲ機能部によって、フレームをポートカンバセーションＩＤに割り当てるのに用いられるポートアルゴリズム。常に、関連付けられたアグリゲータのａＡｇｇＰｏｒｔＡｌｇｏｒｉｔｈｍに等しくセットされる。ＤＲＣＰＤＵにおいて送信される。
値：４オクテット（このアルゴリズムをセットする役割を果たす組織を識別する３オクテットのＯＵＩと、それに続く、この特定のアルゴリズムを識別する２オクテット）。別の実施形態では、５オクテットが用いられる。
【０１７４】
ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ：このポータルシステムのアグリゲータに関連付けられた動作アグリゲータキー値。その値は、ｕｐｄａｔｅＫｅｙ関数によって計算される。ＤＲＣＰＤＵにおいて送信される。
値：整数
【０１７５】
ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ：このポータルシステムのアグリゲータＬＡＧ  ＩＤに関連付けられた動作パートナーアグリゲータキー。ＤＲＣＰＤＵにおいて送信される。
値：整数
【０１７６】
ＤＲＦ＿Ｈｏｍｅ＿Ｓｔａｔｅ：このＤＲ機能部の動作状態。ＤＲＣＰＤＵにおいて送信される。
値：このポータルシステムのゲートウェイの動作状態（ＴＲＵＥは動作中を示す）、及びこのポータルシステム内の動作アグリゲーションポートのポートＩＤのリスト（おそらく空）を示すブールフラグ。
【０１７７】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ＿Ｄｉｇｅｓｔ：近隣の情報が未知であるときに、管理者又はシステムポリシーによって使用のために割り当てられる、近隣ポータルシステムのアルゴリズムの値。そのデフォルト値は、ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］から計算されるＭＤ５ダイジェストである。
値：ＭＤ５ダイジェスト
【０１７８】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ＿Ｄｉｇｅｓｔ：近隣の情報が未知であるときに、管理者又はシステムポリシーによって使用のために割り当てられる、近隣ポータルシステムのアルゴリズムの値。そのデフォルト値は、ａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］から計算されるＭＤ５ダイジェストである。
値：ＭＤ５ダイジェスト
【０１７９】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ：近隣の情報が未知であるときに、管理者又はシステムポリシーによって使用のために割り当てられる、近隣システムのゲートウェイアルゴリズムの値。そのデフォルト値は、ａＤｒｎｉＧａｔｅｗａｙＡｌｇｏｒｉｔｈｍに等しくセットされる。
値：４オクテット（このアルゴリズムをセットする役割を果たす組織を識別する３オクテットのＯＵＩと、それに続く、この特定のアルゴリズムを識別する２オクテット）。別の実施形態では、５オクテットが用いられる。
【０１８０】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿ＤＲＣＰ＿Ｓｔａｔｅ：パートナー情報が未知であるか又は満了したとき、管理者又はシステムポリシーによって使用のために割り当てられる、近隣ポータルのＤＲＣＰ状態パラメータのデフォルト値。１つの実施形態において説明されるように、この値は以下の変数組からなる：
・ＨｏｍｅＧａｔｅｗａｙ
・ＮｅｉｇｈｂｏｒＧａｔｅｗａｙ
・ＯｔｈｅｒＧａｔｅｗａｙ
・ＩＰＰＡｃｔｉｖｉｔｙ
・Ｔｉｍｅｏｕｔ
・ＧａｔｅｗａｙＳｙｎｃ
・ＰｏｒｔＳｙｎｃ
・Ｅｘｐｉｒｅｄ
値：８ビット
【０１８１】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ：近隣の情報が未知であるときに、管理者又はシステムポリシーによって使用のために割り当てられる、近隣システムのポートアルゴリズムの値。そのデフォルト値は、ａＡｇｇＰｏｒｔＡｌｇｏｒｉｔｈｍに等しくセットされる。
値：４オクテット（このアルゴリズムをセットする役割を果たす組織を識別する３オクテットのＯＵＩと、それに続く、この特定のアルゴリズムを識別する２オクテット）。別の実施形態では、５オクテットが用いられる。
【０１８２】
ＤＲＦ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ：ポータルにおけるこのポータルシステムのための固有の識別子。
値：１つの実施形態では範囲［１．．．３］内の整数。
ａＤｒｎｉＰｏｒｔａｌＳｙｓｔｅｍＮｕｍｂｅｒからコピーされる。ＤＲＣＰＤＵにおいて送信される。
【０１８３】
ＰＳＩ（ポータル状態分離）：この変数は、ポータルシステムが同じポータル内の他のポータルシステムから分離されているとき、ｕｐｄａｔｅＤＲＦＨｏｍｅＳｔａｔｅ関数によってＴＲＵＥにセットされる。
値：ブール
【０１８４】
ＩＰＰごとの変数
以下の論考は、本発明の１つの実施形態による、ＩＰＰごとの多岐にわたる変数に焦点を当てる。
【０１８５】
Ｉｐｐ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｄｉｒｅｃｔｉｏｎ：いずれのゲートウェイカンバセーションＩＤがこのＩＰＰを通じて到達可能であるゲートウェイを通過するかの動作リスト。ＤＲＣＰの動作によってセットされる。
値：ゲートウェイカンバセーションＩＤによってインデックス付けされたブールフラグのベクトル；ＴＲＵＥ＝このＩＰＰを通じて到達可能な、あるゲートウェイがこのゲートウェイカンバセーションＩＤについて有効にされている。
【０１８６】
ゲートウェイカンバセーションＩＤごとに、ａ）変数Ｄｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］が、このゲートウェイカンバセーションＩＤのためのターゲットポータルシステムがこのＩＰＰの後ろに存在することを示し、かつ、ｂ）Ｄｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＩｐｐ＿Ｏｔｈｅｒ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎが、いずれのポータルシステムがこのゲートウェイカンバセーションＩＤを得るべきかに関して合意している場合に限り、値はＴＲＵＥである。Ｉｐｐ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＤｉｒｅｃｔｉｏｎはＦＡＬＳＥに初期化され、その寄与する変数のうちのいずれかが変化する度に再計算される。このＩＰＰにおいて受信されるフレームについて、ＴＲＵＥは、フレームがダウンフレームであり、最終的にアグリゲータに宛てられること（又は破棄）を意味し、ＦＡＬＳＥは、フレームがアップフレームであり、最終的にゲートウェイに宛てられること（又は破棄）を意味する。このＩＰＰにおける送信のために提案されるフレームについて、ＴＲＵＥは、フレームが通過することができることを示し、ＦＡＬＳＥは通過することができないことを示す。この変数は、ダウンフレームを制御するのには用いられない。
【０１８７】
Ｉｐｐ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐａｓｓｅｓ：いずれのポートカンバセーションＩＤがこのＩＰＰを通じて送信されることを許可されるかの動作リスト。
値：ポートカンバセーションＩＤによってインデックス付けされるブールフラグのベクトル。
【０１８８】
この変数は、ダウンフレームがこのＩＰＰにおける送信のために提案されるときにのみ検査される。ポートカンバセーションＩＤごとに、ａ）変数Ｄｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］が、このポートカンバセーションＩＤのためのターゲットポータルシステムがこのＩＰＰの後ろに存在することを示し、かつ、ｂ）Ｄｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＩｐｐ＿Ｏｔｈｅｒ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍが、いずれのポータルシステムがこのポートカンバセーションＩＤを得るべきかに関して合意している場合に限り、値はＴＲＵＥである（ＩＤが通過する）。Ｉｐｐ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰａｓｓｅｓはＦＡＬＳＥに初期化され、その寄与する変数のうちのいずれかが変化する度に再計算される。
【０１８９】
ＣｈａｎｇｅＰｏｒｔａｌ：この変数は、このポータルシステムにおける任意のＩＰＰにおけるＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＩｐｐＡｃｔｉｖｉｔｙが変化するときにＴＲＵＥにセットされる。
値：ブール
【０１９０】
ＣＣ＿Ｔｉｍｅ＿Ｓｈａｒｅｄ：このＩＰＰにおける近隣ポータルシステム及びホームポータルシステムが、時間によるネットワーク／ＩＰＬ共有を用いるように一貫して設定されていることを示すブール。
値：ブール
【０１９１】
ＣＣ＿ＥｎｃＴａｇ＿Ｓｈａｒｅｄ：このＩＰＰにおける近隣ポータルシステム及びホームポータルシステムが、ａＤｒｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄによって選択されたネットワーク／ＩＰＬ方法によって命令されるように、タグによるネットワーク／ＩＰＬ共有又はカプセル化によるネットワーク／ＩＰＬ共有を用いるように一貫して設定されていることを示すブール。
値：ブール
【０１９２】
Ｄｉｆｆｅｒ＿Ｃｏｎｆ＿Ｐｏｒｔａｌ：このＩＰＰにおける直接近隣ポータルシステムによって用いられる設定されたポータルパラメータが予期されるものと異なることを示すブール。
値：ブール
【０１９３】
Ｄｉｆｆｅｒ＿Ｐｏｒｔａｌ：このＩＰＰにおける受信したＤＲＣＰＤＵが異なるポータルに関連付けられていることを示すブール。
値：ブール
【０１９４】
ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｆ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ：このＩＰＰにアタッチされた近隣ポータルシステムのポータルシステム番号のためのこのポータルシステムの設定値。常に、このＩＰＰのポートＩＤの優先度コンポーネントの最下位２ビットに割り当てられた値に等しくセットされる。ＤＲＣＰＤＵにおいて送信される。
値：範囲［１．．．３］内の整数。
【０１９５】
ＤＲＦ＿Ｈｏｍｅ＿Ｌｏｏｐ＿Ｂｒｅａｋ＿Ｌｉｎｋ：このＩＰＰにアタッチされたＩＰＬがａＤｒｎｉＬｏｏｐＢｒｅａｋＬｉｎｋにおいてループ中断リンクとして設定されていることを示すブール。ＤＲＣＰＤＵにおいて送信される。
値：ブール
【０１９６】
ＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＩＰＬＥｎｃａｐ＿Ｄｉｇｅｓｔ：ＩＰＬにおける近隣ポータルシステムと交換するために、このＩＰＰにおいて設定されるａＤｒｎｉＩＰＬＥｎｃａｐＭａｐのダイジェスト。ネットワーク／ＩＰＬ共有カプセル化ＴＬＶにおいて送信される。
値：ＭＤ５ダイジェスト
【０１９７】
ＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＮｅｔＥｎｃａｐ＿Ｄｉｇｅｓｔ：共有ネットワークリンクにおける交換のために、このＩＰＰにおいて設定されるａＤｒｎｉＮｅｔＥｎｃａｐＭａｐのダイジェスト。ネットワーク／ＩＰＬ共有カプセル化ＴＬＶにおいて送信される。
値：ＭＤ５ダイジェスト
【０１９８】
ＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄ：このＤＲ機能部によってこのＩＰＰをネットワークデータと共有するのに用いられるネットワーク／ＩＰＬ共有方法。常にａＤｒｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄに等しくセットされる。ａＤｒｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄがデフォルトＮＵＬＬ値にセットされていないとき、ネットワーク／ＩＰＬ共有方法ＴＬＶにおいて送信される。
値：４オクテット（この方法を定義する役割を果たす組織を識別する３オクテットのＯＵＩと、それに続く、この特定の方法を識別する１オクテット）。
【０１９９】
ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ：このＩＰＰにおいて報告されるようなこのポータルシステムのＤＲＣＰ状態パラメータの動作値。これは、本明細書において上記で説明されたように以下の変数組からなる。
・ＨｏｍｅＧａｔｅｗａｙ
・ＮｅｉｇｈｂｏｒＧａｔｅｗａｙ
・ＯｔｈｅｒＧａｔｅｗａｙ
・ＩＰＰＡｃｔｉｖｉｔｙ
・Ｔｉｍｅｏｕｔ
・ＧａｔｅｗａｙＳｙｎｃ
・ＰｏｒｔＳｙｎｃ
・Ｅｘｐｉｒｅｄ
値：８ビット
【０２００】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ：１つの実施形態では、このＩＰＰにおける近隣ポータルシステムの管理アグリゲータキー値として定義される。ＤＲＣＰＤＵにおいて送信される。
値：整数
【０２０１】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙ：このＩＰＰにおける近隣のアグリゲータの最後に受信したシステム優先度。
値：整数
【０２０２】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿ＡｇｇｒｅｇａｔｏｒＩＤ：このＩＰＰにおける近隣ポータルシステムのアグリゲータシステムＩＤの最後に受信したＭＡＣアドレスコンポーネント。
値：４８ビット
【０２０３】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙ：このＩＰＰにおける近隣ポータルシステムのアグリゲータの最後に受信したシステム優先度。
値：整数
【０２０４】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ＿Ｄｉｇｅｓｔ：このＩＰＰにおける近隣ポータルシステムの最後に受信したゲートウェイカンバセーションＩＤダイジェスト。
値：ＭＤ５ダイジェスト
【０２０５】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ＿Ｄｉｇｅｓｔ：このＩＰＰにおける近隣ポータルシステムの最後に受信したポートカンバセーションＩＤダイジェスト。
値：ＭＤ５ダイジェスト
【０２０６】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ：近隣ポータルシステムによって、このＩＰＰにおいて受信されたゲートウェイカンバセーションＩＤにフレームを割り当てるのに用いられるアルゴリズムの値。
値：４オクテット（このアルゴリズムをセットする役割を果たす組織を識別する３オクテットのＯＵＩと、それに続く、この特定のアルゴリズムを識別する２オクテット）。別の実施形態では、５オクテットが用いられる。
【０２０７】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｌｏｏｐ＿Ｂｒｅａｋ＿Ｌｉｎｋ：このＩＰＰにアタッチされたＩＰＬが、このＩＰＰにおける近隣ポータルシステムによってループ中断リンクとして識別されることを示すブール。
値：ブール
【０２０８】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＩＰＬＥｎｃａｐ＿Ｄｉｇｅｓｔ：このＩＰＰにおける近隣ポータルシステムのａＤｒｎｉＩＰＬＥｎｃａｐＭａｐの最後に受信したダイジェスト。
値：ＭＤ５ダイジェスト
【０２０９】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＮｅｔＥｎｃａｐ＿Ｄｉｇｅｓｔ：このＩＰＰにおける近隣ポータルシステムの共有ネットワークリンクにおける交換のための、ａＤｒｎｉＮｅｔＥｎｃａｐＭａｐの最後に受信したダイジェスト。
値：ＭＤ５ダイジェスト
【０２１０】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄ：このＩＰＰにおける近隣ポータルシステムの使用される最後に受信したネットワーク／ＩＰＬ共有方法。
値：４オクテット（この方法を定義する役割を果たす組織を識別する３オクテットのＯＵＩと、それに続く、この特定の方法を識別する１オクテット）。
【０２１１】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ：このＩＰＰにおける近隣ポータルシステムの最後に受信した動作アグリゲータキー値。
値：整数
【０２１２】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ：このＩＰＰにおける近隣ポータルシステムの動作パートナーアグリゲータキー値。ＤＲＣＰＤＵにおいて送信される。
値：整数
【０２１３】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ：近隣のＤＲＣＰ状態パラメータの現在の値のこのポータルシステムのビューの動作値。ホームＤＲ機能部は、この変数を、ＤＲＣＰＤＵにおいて近隣ポータルシステムから受信した値にセットする。この値は、本明細書において上記で説明されたように以下の変数組からなる：
・ＨｏｍｅＧａｔｅｗａｙ
・ＮｅｉｇｈｂｏｒＧａｔｅｗａｙ
・ＯｔｈｅｒＧａｔｅｗａｙ
・ＩＰＰＡｃｔｉｖｉｔｙ
・Ｔｉｍｅｏｕｔ
・ＧａｔｅｗａｙＳｙｎｃ
・ＰｏｒｔＳｙｎｃ
・Ｅｘｐｉｒｅｄ
値：８ビット
【０２１４】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｆ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ：このＩＰＰにおいて最後に受信されたこのポータルシステムのための近隣ポータルシステムの設定ポータルシステム番号値。
値：範囲［１．．．３］内の整数。
【０２１５】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ：近隣ポータルシステムによって、このＩＰＰにおいて受信されたポートカンバセーションＩＤにフレームを割り当てるのに用いられるアルゴリズムの値。
値：４オクテット（このアルゴリズムをセットする役割を果たす組織を識別する３オクテットのＯＵＩと、それに続く、この特定のアルゴリズムを識別する２オクテット）。別の実施形態では、５オクテットが用いられる。
【０２１６】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ：このＩＰＰにおける近隣ポータルシステムの最後に受信した識別子。
値：範囲［１．．．３］内の整数。
【０２１７】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｔｏｐｏｌｏｇｙ：このＩＰＰにおける近隣のポータルトポロジの最後に受信された識別子。
値：範囲［１．．．３］内の整数。
【０２１８】
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ：このＩＰＰにおける直接近隣ポータルシステムの動作状態。
値：近隣ポータルシステムのゲートウェイの動作状態を示すブールフラグ（ＴＲＵＥは動作中を示す）、及びこのＩＰＰにおける動作アグリゲーションポートのポートＩＤのリスト（おそらく空）。
【０２１９】
Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿ＯＮＮ
トポロジ状態フィールド内に保有される、このＩＰＰにおける近隣ポータルシステムの最後に受信したＯＮＮフラグ。
値：整数
【０２２０】
ＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ：このＩＰＰに関連付けられた他の近隣ポータルシステムの管理アグリゲータキー値。ＤＲＣＰＤＵにおいて送信される。
値：整数
【０２２１】
ＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ：このＩＰＰに関連付けられた他の近隣ポータルシステムの動作パートナーアグリゲータキー値。ＤＲＣＰＤＵにおいて送信される。
値：整数
【０２２２】
ＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ：このＩＰＰにおける他の近隣ポータルシステムの動作状態。
値：他の近隣ポータルシステムのゲートウェイの動作状態を示すブールフラグ（ＴＲＵＥは動作中を示す）、及びこのＩＰＰにおける動作アグリゲーションポートのポートＩＤのリスト（おそらく空）。
【０２２３】
Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ａｄｄｒ：このＩＰＰにおける近隣ポータルシステムのポータルのシステムＩＤの最後に受信したＭＡＣアドレスコンポーネント。
値：４８ビット
【０２２４】
Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙ：このＩＰＰにおける近隣ポータルシステムの最後に受信したシステム優先度。
値：整数
【０２２５】
Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿ＰｏｒｔａｌＩＤ：このＩＰＰにおける近隣ポータルシステムのポータルシステムＩＤの最後に受信したＭＡＣアドレスコンポーネント。
値：４８ビット
【０２２６】
Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ［］：このＩＰＰにおける近隣ポータルシステムによって用いられるＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］の最後に受信した動作値。
値：ポータルシステムごとに、現在のポータルシステムのゲートウェイの動作状態を示すブールフラグ（ＴＲＵＥは動作中を示す）、及びこのＩＰＰにおける近隣ポータルシステムによって報告されるような、このポータルシステムにおける動作アグリゲーションポートのポートＩＤのリスト（おそらく空）。
【０２２７】
Ｅｎａｂｌｅｄ＿Ｔｉｍｅ＿Ｓｈａｒｅｄ：このＩＰＰにおける近隣ポータルシステム及びホームポータルシステムが一貫して設定され、本明細書において指定される時間によるネットワーク／ＩＰＬ共有方法が有効にされていることを示すブール。
値：ブール
【０２２８】
Ｅｎａｂｌｅｄ＿ＥｎｃＴａｇ＿Ｓｈａｒｅｄ：このＩＰＰにおける近隣ポータルシステム及びホームポータルシステムが、ａＤｒｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄによって選択されるネットワーク／ＩＰＬ方法によって命令されるように、タグによるネットワーク／ＩＰＬ共有のタグマニピュレーション方法又はカプセル化によるネットワーク／ＩＰＬ共有を用いるように一貫して設定されていることを示すブール。
値：ブール
【０２２９】
Ｉｐｐ＿Ｏｔｈｅｒ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ：このＩＰＰにおける直接の近隣によって報告されるような、いずれのポータルシステムのゲートウェイ（存在する場合）が各ゲートウェイカンバセーションＩＤを通すかを列挙する動作ベクトル。
値：ゲートウェイカンバセーションＩＤによってインデックス付けされる、ポータルシステム番号（ない場合、０）のシーケンス。初期化時、及び管理されたオブジェクトが変化するか又はＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅがＦＡＬＳＥであるときはいつでもａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］及びＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ［］から計算される値。
【０２３０】
Ｉｐｐ＿Ｏｔｈｅｒ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ：このＩＰＰにおける直接の近隣によって報告されるような、いずれのポータルシステム（存在する場合）が各ポートカンバセーションＩＤを通すかを列挙する動作ベクトル。
値：ポートカンバセーションＩＤによってインデックス付けされる、ポータルシステム番号（ない場合、０）のシーケンス。初期化時、及び管理されたオブジェクトが変化するか又はＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅがＦＡＬＳＥであるときはいつでもａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］及びＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ［］から計算される値。
【０２３１】
ＩＰＰ＿ｐｏｒｔ＿ｅｎａｂｌｅｄ：リンクが確立され、ＩＰＰが動作可能であることを示す変数。
値：ブール
ＩＰＰが動作可能である場合、ＴＲＵＥ（ＭＡＣ＿Ｏｐｅｒａｔｉｏｎａｌ＝＝ＴＲＵＥ）。
そうでない場合、ＦＡＬＳＥ。
注記−基礎を成すＭＡＣによってＩＰＰ＿ｐｏｒｔ＿ｅｎａｂｌｅｄ変数の値を生成する手段は実施態様に依拠する。
【０２３２】
Ｉｐｐ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］：このＩＰＰからのＤＲＣＰＤＵにおいて最後に受信された、このＩＰＰを通じて到達可能なポータルシステムの状態のリスト。この変数は、ｕｐｄａｔｅＰｏｒｔａｌＳｙｓｔｅｍ関数によって更新される。
値：ポータルシステムごとに、このＩＰＰを通じて到達可能な現在のポータルシステムのゲートウェイの動作状態を示すブールフラグ（ＴＲＵＥは動作中を示す）、及びそのポータルシステムにおける動作アグリゲーションポートのポートＩＤのリスト（おそらく空）。
このリストにおいて、直接隣接するポータルシステムの状態は、リストにおける第１の状態である。リストは、最大で２つのポータルシステムの状態を有することができる。
【０２３３】
ＮＴＴＤＲＣＰＤＵ：ＴＲＵＥは、このＩＰＰにおいて送信されるべき新たなプロトコル情報が存在するか、又は近隣ポータルシステムが古い情報を再認識する必要があることを示す。そうでない場合、ＦＡＬＳＥが用いられる。
【０２３４】
ＯＮＮ
他の非近隣フラグ。この値はｕｐｄａｔｅＰｏｒｔａｌＳｔａｔｅ関数によって更新され、３つのポータルシステムからなるポータルに対してのみ適用可能である。ＤＲＣＰＤＵにおいて送信される。
値：ブール
ＴＲＵＥは、他のポート情報ＴＬＶが、このポータルシステムの直接の近隣に関連付けられていないことを示す。ＦＡＬＳＥ（０として符号化される）は、他のポート情報ＴＬＶが、このポータルシステムにおける他のＩＰＰにおける直接の近隣であることを示す。
【０２３５】
ＤＲＣＰ＿ｃｕｒｒｅｎｔ＿ｗｈｉｌｅ＿ｔｉｍｅｒ
このタイマは、受信したプロトコル情報が満了したか否かを検出するのに用いられる。ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＤＲＣＰ＿Ｔｉｍｅｏｕｔが短いタイムアウトに設定される場合、タイマは値Ｓｈｏｒｔ＿Ｔｉｍｅｏｕｔ＿Ｔｉｍｅから開始する。そうでない場合、タイマは値Ｌｏｎｇ＿Ｔｉｍｅｏｕｔ＿Ｔｉｍｅから開始する。
【０２３６】
ＤＲＣＰ＿ｐｅｒｉｏｄｉｃ＿ｔｉｍｅｒ（ｔｉｍｅ＿ｖａｌｕｅ）
このタイマは、周期的送信を生成するのに用いられる。タイマは、周期的送信状態マシンにおいて指定されるような値Ｓｌｏｗ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅ又はＦａｓｔ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅを用いて始動される。
【０２３７】
定数
この従属節において指定される全てのタイマは、±２５０ｍｓの実施公差を有する。
【０２３８】
Ｄｒｎｉ＿Ｆａｓｔ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅ
短いタイムアウトを用いた周期的送信間の秒数。
値：整数
１
【０２３９】
Ｄｒｎｉ＿Ｓｌｏｗ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅ
長いタイムアウトを用いた周期的送信間の秒数。
値：整数
３０
【０２４０】
Ｄｒｎｉ＿Ｓｈｏｒｔ＿Ｔｉｍｅｏｕｔ＿Ｔｉｍｅ
短いタイムアウトを用いるときに受信ＤＲＣＰＤＵ情報を無効にする前の秒数（３×Ｆａｓｔ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅ）
値：整数
３
【０２４１】
Ｄｒｎｉ＿Ｌｏｎｇ＿Ｔｉｍｅｏｕｔ＿Ｔｉｍｅ
長いタイムアウトを用いるときに受信ＤＲＣＰＤＵ情報を無効にする前の秒数（３×Ｓｌｏｗ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅ）。
値：整数
９０
【０２４２】
状態マシンの動作をマネージメントするために用いられる変数
以下の論考は、本発明の１つの実施形態による、状態マシンの動作をマネージメントするために用いられる多岐にわたる変数に焦点を当てる。
ＢＥＧＩＮ：この変数は、ＤＲＣＰプロトコルエンティティの初期化（又は再初期化）を示す。システムが初期化又は再初期化されるときにＴＲＵＥにセットされ、（再）初期化が完了するとＦＡＬＳＥにセットされる。
値：ブール
【０２４３】
ＤＲＣＰ＿Ｅｎａｂｌｅｄ
この変数は、関連付けられたＩＰＰがＤＲＣＰを操作していることを示す。リンクがポイントツーポイントリンクでない場合、ＤＲＣＰ＿Ｅｎａｂｌｅｄの値はＦＡＬＳＥとなる。そうでない場合、ＤＲＣＰ＿Ｅｎａｂｌｅｄの値はＴＲＵＥとなる。
値：ブール
【０２４４】
ＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅ：この変数は、ゲートウェイごとのカンバセーションＩＤの配分が更新される必要があることを示す。
値：ブール
【０２４５】
ＩｐｐＧａｔｅｗａｙＡｌｌＵｐｄａｔｅ：この変数は、このポータルシステムにおける全てのＩＰＰについてのＩｐｐＧａｔｅｗａｙＵｐｄａｔｅ変数の論理ＯＲである。
値：ブール
【０２４６】
ＩｐｐＧａｔｅｗａｙＵｐｄａｔｅ：この変数は、関連付けられたＩＰＰにおけるゲートウェイごとのカンバセーションＩＤの配分が更新される必要があることを示す。このポータルシステムにおいて、ＩＰＰあたり１つのＩｐｐＧａｔｅｗａｙＵｐｄａｔｅ変数が存在する。
値：ブール
【０２４７】
ＩｐｐＰｏｒｔＡｌｌＵｐｄａｔｅ：この変数は、このポータルシステムにおける全てのＩＰＰについてのＩｐｐＰｏｒｔＵｐｄａｔｅ変数の論理ＯＲである。
値：ブール
【０２４８】
ＩｐｐＰｏｒｔＵｐｄａｔｅ：この変数は、関連付けられたＩＰＰにおけるポートごとのポートカンバセーションＩＤの配分が更新される必要があることを示す。このポータルシステムにおいて、ＩＰＰあたり１つのＩｐｐＰｏｒｔＵｐｄａｔｅ変数が存在する。
値：ブール
【０２４９】
ＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅ：この変数は、ポートごとのポートカンバセーションＩＤの配分が更新される必要があることを示す。
値：ブール
【０２５０】
関数
以下の論考は、本発明の１つの実施形態による多岐にわたる関数に焦点を当てる。
【０２５１】
ｅｘｔｒａｃｔＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＩＤ
この関数は、ＤＲ機能部のポートのうちの１つにおけるＩＳＳプリミティブの受信時にＤＲ機能部の中継エンティティにおいて呼び出されるサービスプリミティブのパラメータの値にゲートウェイアルゴリズムを適用することによって、ゲートウェイカンバセーションＩＤ値を抽出する。ＤＲ機能部の中継エンティティポートにおけるＩＳＳプリミティブ及びサービスプリミティブに対するパラメータ値の関係は、これらのポート及びポートの設定における関連付けられたサポート関数によって提供される。
注記−これらのサポート関数は、プロバイダブリッジにおける顧客ネットワークポート又はプロバイダネットワークポートにおいてサポートされるＤＲＮＩの場合、ＩＥＥＥ  Ｓｔｄ８０２．１Ｑ−２０１１の６．９に指定されるＥＩＳＳサポート関数と同程度に単純にすることもできるし（ＩＥＥＥ  Ｓｔｄ８０２．１Ｑにおける節１５）、バックボーンエッジブリッジにおいて、それぞれプロバイダインスタンスポート又は顧客バックボーンポートにおいてサポートされるＤＲＮＩの場合、ＩＥＥＥ  Ｓｔｄ８０２．１Ｑ−２０１１において６．１０若しくは６．１１に指定されるＥＩＳＳサポート関数のように（ＩＥＥＥ  Ｓｔｄ８０２．１Ｑにおける節１６）、若しくは、プロバイダエッジブリッジにおいて、それぞれ顧客エッジポート又はリモートアクセスポートによってサポートされるＤＲＮＩの場合、ＩＥＥＥ  Ｓｔｄ８０２．１Ｑ−２０１３において１５．４若しくは１５．６に指定されるＣタグ付きサービスインターフェースサポート関数又は遠隔顧客サービスインターフェースサポート関数のように、より複雑にすることもできる。
値：０〜４０９５の範囲の整数。
【０２５２】
ｅｘｔｒａｃｔＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＩＤ
この関数は、他のＤＲ機能部のポートのうちの１つにおけるＩＳＳプリミティブの受信時にアグリゲータにおいて呼び出されるサービスプリミティブのパラメータの値にポートアルゴリズムを適用することによって、ポートカンバセーションＩＤ値を抽出する。アグリゲータにおけるＩＳＳプリミティブ、及びＤＲ機能部のポートにおける対応するサービスプリミティブに対するパラメータ値の関係は、アグリゲータ及びＤＲ機能部並びにこれらの設定における関連付けられたサポート関数によって提供される。上記の注記をチェックされたい。
値：０〜４０９５の範囲の整数。
【０２５３】
ＩｎｉｔｉａｌｉｚｅＤＲＮＩＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎ
この関数は、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎを、ゲートウェイカンバセーションＩＤによってインデックス付けされたゼロのシーケンスになるようにセットする。
【０２５４】
ＩｎｉｔｉａｌｉｚｅＤＲＮＩＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ
この関数は、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎを、ポートカンバセーションＩＤによってインデックス付けされたゼロのシーケンスになるようにセットする。
【０２５５】
ＩｎｉｔｉａｌｉｚｅＩＰＰＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎ
この関数は、Ｉｐｐ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｄｉｒｅｃｔｉｏｎを、ゲートウェイカンバセーションＩＤによってインデックス付けされたゼロのシーケンスになるようにセットする。
【０２５６】
ＩｎｉｔｉａｌｉｚｅＩＰＰＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ
この関数は、Ｉｐｐ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐａｓｓｅｓを、ポートカンバセーションＩＤによってインデックス付けされたゼロのシーケンスになるようにセットする。
【０２５７】
ｒｅｃｏｒｄＤｅｆａｕｌｔＤＲＣＰＤＵ
この関数は、管理者によって提供された、ＩＰＰにおける近隣ポータルシステムのためのデフォルトパラメータ値を、現在の近隣ポータルシステムの動作パラメータ値に以下のようにセットする：
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ＝ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ＝ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ＿Ｄｉｇｅｓｔ
・  ＝ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ＿Ｄｉｇｅｓｔ；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ＿Ｄｉｇｅｓｔ
・  ＝ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ＿Ｄｉｇｅｓｔ；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ＝ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿ＤＲＣＰ＿Ｓｔａｔｅ；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙ＝ａＡｇｇＰｏｒｔＰａｒｔｎｅｒＡｄｍｉｎＳｙｓｔｅｍＰｒｉｏｒｉｔｙ；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｇｇｒｅｇａｔｏｒ＿ＩＤ＝ａＡｇｇＰｏｒｔＰａｒｔｎｅｒＡｄｍｉｎＳｙｓｔｅｍＩＤ；
・  Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙ＝ａＡｇｇＰｏｒｔＰａｒｔｎｅｒＡｄｍｉｎＳｙｓｔｅｍＰｒｉｏｒｉｔｙ；
・  Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ａｄｄｒ＝ａＡｇｇＰｏｒｔＰａｒｔｎｅｒＡｄｍｉｎＳｙｓｔｅｍＩＤ；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ
・  ＝ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｆ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｔｏｐｏｌｏｇｙ＝Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｔｏｐｏｌｏｇｙ；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｌｏｏｐ＿Ｂｒｅａｋ＿Ｌｉｎｋ＝ＤＲＦ＿Ｈｏｍｅ＿Ｌｏｏｐ＿Ｂｒｅａｋ＿Ｌｉｎｋ、及び；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｆ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ＝ＤＲＦ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ。
【０２５８】
加えて、ＩＰＰにおいて近隣ポータルシステムに対し：
・ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿ＳｔａｔｅがＮＵＬＬにセットされ（近隣ポータルシステムのゲートウェイのためのブールフラグはＦＡＬＳＥにセットされ、このＩＰＰにおける近隣ポータルシステムの動作アグリゲーションポートのリストが空にされる）、ａＤｒｎｉＰｏｒｔａｌＴｏｐｏｌｏｇｙが３つのポータルシステムを含むように設定される場合、ＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿ＳｔａｔｅもＮＵＬＬにセットされる（他の近隣ポータルシステムのゲートウェイのためのブールフラグがＦＡＬＳＥにセットされ、このＩＰＰにおける他の近隣ポータルシステムの動作アグリゲーションポートのリストが空にされる）。このＩＰＰにおけるいかなるポータルシステムにもポータルシステム状態情報が利用可能でない；
・このＩＰＰにおけるＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙはゼロにセットされる；
・このＩＰＰにおけるＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙはゼロにセットされる；
・このＩＰＰにおけるＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙはゼロにセットされる；
・このＩＰＰにおけるＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙはゼロにセットされる；かつ
・変数ＣｈａｎｇｅＰｏｒｔａｌはＴＲＵＥにセットされる。
【０２５９】
最終的に、ＣＣ＿Ｔｉｍｅ＿Ｓｈａｒｅｄ及びＣＣ＿ＥｎｃＴａｇ＿ＳｈａｒｅｄをＦＡＬＳＥにセットする。
【０２６０】
ｒｅｃｏｒｄＮｅｉｇｈｂｏｒＳｔａｔｅ
この関数は、ＩＰＰにおいて受信されるＤＲＣＰＤＵにおいて保有されるＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］及びＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅのパラメータ値を、このＩＰＰにそれぞれ関連付けられたＤｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ［］及びＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅの現在のパラメータ値として記録し、ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＩＰＰ＿ＡｃｔｉｖｉｔｙをＴＲＵＥにセットする。
【０２６１】
また、この関数は変数を以下のように記録する：
・ＩＰＰにおいて受信されるＤＲＣＰＤＵにおいて保有される、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿ＳｔａｔｅにおけるＨｏｍｅ＿Ｇａｔｅｗａｙ及びホームポート情報ＴＬＶにおけるＡｃｔｉｖｅ＿Ｈｏｍｅ＿Ｐｏｒｔｓのパラメータ値が、このＩＰＰにおけるＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅのための現在の値として用いられ、このＩＰＰにおけるこのポータルシステム状態情報を、ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒによって識別されるポータルシステムと関連付ける；
・ＩＰＰにおいて受信されるＤＲＣＰＤＵにおいて保有される、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿ＳｔａｔｅにおけるＯｔｈｅｒ＿Ｇａｔｅｗａｙ及び他のポート情報ＴＬＶにおけるＯｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔｓのパラメータ値が、このＩＰＰにおけるＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅのための現在の値として用いられ、このポータルシステム状態情報を、受信したＤＲＣＰＤＵにおける他のポート情報ＴＬＶ内で保有されるＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙの最上位２ビットに割り当てられた値によって識別されるポータルシステムと関連付ける。受信したＤＲＣＰＤＵにおいて他のポート情報ＴＬＶが保有されておらず、ポータルトポロジが３つのポータルシステムを有する場合、ＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿ＳｔａｔｅがＮＵＬＬにセットされ（Ｏｔｈｅｒ＿ＧａｔｅｗａｙはＦＡＬＳＥにセットされ、このＩＰＰにおける他の近隣ポータルシステムにおける動作アグリゲーションポートのリストが空にされる）、このＩＰＰにおいて、ポータルシステム状態情報は、このＩＰＰにおける離れた近隣ポータルシステムに利用可能でない；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ＝ＤＲＦ＿Ｈｏｍｅ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ；
・  ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ＝ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ；
・  ＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ＝ＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ、及び；
・  ＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ
Ｎ＝ＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ。
・  受信ＤＲＣＰＤＵが他のポート情報ＴＬＶを含まないとき、ＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ及びＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙの双方がＮＵＬＬにセットされる。
【０２６２】
加えて、時間によるネットワーク／ＩＰＬ共有がサポートされる場合、関数は、受信されるネットワーク／ＩＰＬ共有方法ＴＬＶにおいて保有されるＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄのパラメータ値を、ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄの現在のパラメータ値として記録し、これがシステムのＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄと同じである場合、ＣＣ＿Ｔｉｍｅ＿ＳｈａｒｅｄをＴＲＵＥにセットし、そうでない場合、ＣＣ＿Ｔｉｍｅ＿ＳｈａｒｅｄをＦＡＬＳＥにセットする。
【０２６３】
更に、タグによるネットワーク／ＩＰＬ共有又はカプセル化によるネットワーク／ＩＰＬ共有がサポートされる場合、関数は、ＩＰＰから受信されるネットワーク／ＩＰＬ共有ＴＬＶにおいて保有される近隣ポータルシステムのネットワーク／ＩＰＬ共有関連パラメータ値を、このＩＰＰにおける直接近隣ポータルシステムのための現在の動作パラメータ値として以下のように記録する：
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄ＝受信されるネットワーク／ＩＰＬ共有方法ＴＬＶにおいて保有されるＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄ；
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＩＰＬＥｎｃａｐ＿Ｄｉｇｅｓｔ＝受信されるネットワーク／ＩＰＬ共有カプセル化ＴＬＶにおいて保有されるＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＩＰＬＥｎｃａｐ＿Ｄｉｇｅｓｔ；及び
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＮｅｔＥｎｃａｐ＿Ｄｉｇｅｓｔ＝受信されるネットワーク／ＩＰＬ共有カプセル化ＴＬＶにおいて保有されるＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＮｅｔＥｎｃａｐ＿Ｄｉｇｅｓｔ。
【０２６４】
次に、この関数は、近隣ポータルシステムの新たに更新された値を、このポータルシステムの期待値と比較し、
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄ＝＝ＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿Ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄ、及び、
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＩＰＬＥｎｃａｐ＿Ｄｉｇｅｓｔ＝＝ＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＩＰＬＥｎｃａｐ＿Ｄｉｇｅｓｔ、及び
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＮｅｔＥｎｃａｐ＿Ｄｉｇｅｓｔ＝＝ＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ＮｅｔＥｎｃａｐ＿Ｄｉｇｅｓｔ
である場合、ＣＣ＿ＥｎｃＴａｇ＿ＳｈａｒｅｄをＴＲＵＥにセットする；
そうでない場合には、比較のうちの１つ又は複数が、値が異なることを示す場合、
ＣＣ＿ＥｎｃＴａｇ＿ＳｈａｒｅｄをＦＡＬＳＥにセットする。
【０２６５】
次に、この関数は、このポータルシステムのＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］によって報告されるようなポータルシステムごとのゲートウェイ動作状態を、Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ［］によって報告されるのと同じポータルシステムについてのゲートウェイ動作状態と比較し、これらのうちのいずれかが異なる場合、ＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅをＴＲＵＥにセットし、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．Ｇａｔｅｗａｙ＿ＳｙｎｃをＦＡＬＳＥにセットする。そうでない場合、ＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅは変更されないままであり、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．Ｇａｔｅｗａｙ＿ＳｙｎｃはＴＲＵＥにセットされる。
【０２６６】
また、この関数は、このポータルシステムのＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］によって報告されるようなポータルシステムごとの動作アグリゲーションポートのポートＩＤのリストを、Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ［］によって報告されるのと同じポータルシステムについての動作アグリゲーションポートのポートＩＤのリストと比較し、これらのうちのいずれかが異なる場合、ＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅをＴＲＵＥにセットし、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．Ｐｏｒｔ＿ＳｙｎｃをＦＡＬＳＥにセットする。そうでない場合、ＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅは変更されないままであり、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．Ｐｏｒｔ＿ＳｙｎｃはＴＲＵＥにセットされる。
【０２６７】
ｒｅｃｏｒｄＰｏｒｔａｌＣｏｎｆＶａｌｕｅｓ
この関数は、ＩＰＰから受信されるＤＲＣＰＤＵにおいて保有される近隣ポータルシステムの設定されたパラメータ値を、このＩＰＰにおける直接近隣ポータルシステムのための現在の動作パラメータ値として以下のように記録する：
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ＝ＤＲＦ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ；
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｔｏｐｏｌｏｇｙ＝Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｔｏｐｏｌｏｇｙ；
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｆ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ＝ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｆ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ；
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｌｏｏｐ＿Ｂｒｅａｋ＿Ｌｉｎｋ＝ＤＲＦ＿Ｈｏｍｅ＿Ｌｏｏｐ＿Ｂｒｅａｋ＿Ｌｉｎｋ；
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ＝ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ；
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ＝ＤＲＦ＿Ｈｏｍｅ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ；
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ＿Ｄｉｇｅｓｔ＝ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ＿Ｄｉｇｅｓｔ；
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ＝ＤＲＦ＿Ｈｏｍｅ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ；及び
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ＿Ｄｉｇｅｓｔ＝ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ＿Ｄｉｇｅｓｔ
【０２６８】
次に、この関数は、近隣ポータルシステムの新たに更新された値を、このポータルシステムの期待値と比較し、
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ＝＝ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｆ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ、かつ
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｔｏｐｏｌｏｇｙ＝＝Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｔｏｐｏｌｏｇｙ、かつ
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｌｏｏｐ＿Ｂｒｅａｋ＿Ｌｉｎｋ＝＝ＤＲＦ＿Ｈｏｍｅ＿Ｌｏｏｐ＿Ｂｒｅａｋ＿Ｌｉｎｋ、かつ
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｆ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ＝＝ＤＲＦ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ、かつ
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ＝＝ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ、かつ
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ＝＝ＤＲＦ＿Ｈｏｍｅ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ、かつ
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ＿Ｄｉｇｅｓｔ＝＝ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ＿Ｄｉｇｅｓｔ、かつ
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ＝＝ＤＲＦ＿Ｈｏｍｅ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ、かつ
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ＿Ｄｉｇｅｓｔ＝＝ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ＿Ｄｉｇｅｓｔ
である場合には、変数Ｄｉｆｆｅｒ＿Ｃｏｎｆ＿ＰｏｒｔａｌはＦＡＬＳＥにセットされる；
そうでない場合には、比較のうちの１つ又は複数が、値が異なることを示す場合、
変数Ｄｉｆｆｅｒ＿Ｃｏｎｆ＿ＰｏｒｔａｌはＴＲＵＥにセットされ、異なる値を有する変数の関連付けられた対がａＤｒｎｉＩＰＰＤｅｂｕｇＤｉｆｆｅＰｏｒｔａｌＲｅａｓｏｎにおいて利用可能になる。
【０２６９】
ｒｅｃｏｒｄＰｏｒｔａｌＶａｌｕｅｓ
この関数は、ＩＰＰから受信されるＤＲＣＰＤＵにおいて保有される、Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙ、Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿ＩＤ、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙ及びＤｒｎｉ＿ＰｏｒｔａｌＩＤのためのパラメータ値を、このＩＰＰにおける直接近隣ポータルシステムのための現在の動作パラメータ値として以下のように記録する：
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙ＝Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙ；
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｇｇｒｅｇａｔｏｒ＿ＩＤ＝Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿ＩＤ；
Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙ＝Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙ、及び；
Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ａｄｄｒ＝Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ａｄｄｒ
【０２７０】
次に、この関数は、近隣ポータルシステムの新たに更新された値を、このポータルシステムの期待値と比較し、
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙ＝＝Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙかつ
ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｇｇｒｅｇａｔｏｒ＿ＩＤ＝＝Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿ＩＤかつ
Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙ＝＝Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙかつ
Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔａｌ＿Ａｄｄｒ＝＝Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ａｄｄｒ
である場合には、変数Ｄｉｆｆｅｒ＿ＰｏｒｔａｌはＦＡＬＳＥにセットされる；
そうでない場合には、比較のうちの１つ又は複数が、値が異なることを示す場合、
変数Ｄｉｆｆｅｒ＿ＰｏｒｔａｌはＴＲＵＥにセットされ、異なる値を有する変数の関連付けられた組がａＤｒｎｉＩＰＰＤｅｂｕｇＤｉｆｆｅＰｏｒｔａｌＲｅａｓｏｎにおいて利用可能になる。
【０２７１】
ｒｅｐｏｒｔＴｏＭａｎａｇｅｍｅｎｔ
この関数は、誤設定されたＤＲＣＰＤＵの受信に起因するこのポータルにおけるポータルシステム設定誤りの潜在的な存在についてマネージメントシステムにアラートし、受信した誤設定されたＤＲＣＰＤＵからの矛盾する情報をマネージメントシステムに送信する。
【０２７２】
ｓｅｔＤｅｆａｕｌｔＰｏｒｔａｌＳｙｓｔｅｍＰａｒａｍｅｔｅｒｓ
この関数は、このポータルシステムの変数を、以下のように管理セット値にセットする。
・  Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙ＝ａＡｇｇＡｃｔｏｒＳｙｓｔｅｍＰｒｉｏｒｉｔｙ；
・  Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿ＩＤ＝ａＡｇｇＡｃｔｏｒＳｙｓｔｅｍＩＤ；
・  Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙ＝ａＤｒｎｉＰｏｒｔａｌＰｒｉｏｒｉｔｙ；
・  Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ａｄｄｒ＝ａＤｒｎｉＰｏｒｔａｌＡｄｄｒ；
・  ＤＲＦ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ＝ａＤｒｎｉＰｏｒｔａｌＳｙｓｔｅｍＮｕｍｂｅｒ；
・  ＤＲＦ＿Ｈｏｍｅ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ＝ａＡｇｇＡｃｔｏｒＡｄｍｉｎＫｅｙ；
・  ＤＲＦ＿Ｈｏｍｅ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ＝ａＡｇｇＰｏｒｔＡｌｇｏｒｉｔｈｍ；
・  ＤＲＦ＿Ｈｏｍｅ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ＝ａＤｒｎｉＧａｔｅｗａｙＡｌｇｏｒｉｔｈｍ；
・  ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ＿Ｄｉｇｅｓｔ＝ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］におけるＭＤ５ダイジェスト；
・  ＤＲＦ＿Ｈｏｍｅ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ＿Ｄｉｇｅｓｔ＝ａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］におけるＭＤ５ダイジェスト、及び；
・  ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ＝ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿ＤＲＣＰ＿Ｓｔａｔｅ。
【０２７３】
加えて、ポータル内の全てのゲートウェイがＦＡＬＳＥとして報告され、いずれのポータルシステムにおけるアグリゲーションポートも動作中として報告されない場合には、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］をセットする。
【０２７４】
ｓｅｔＧｅｔｗａｙＣｏｎｖｅｒｓａｔｉｏｎ
この関数は、Ｄｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎを、ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］及び現在のＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］から計算された値に、以下のようにセットする：
全てのインデックス付けされたゲートウェイカンバセーションＩＤについて、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］変数のゲートウェイブールフラグによって提供されるような動作中のゲートウェイのみが含まれるとき、ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］によって提供されるポータルシステム番号のリスト内の最も高い優先度のポータルシステム番号を選択することによって、ポータルシステム番号が識別される。
【０２７５】
ｓｅｔＩＰＰＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎ
この関数は、Ｉｐｐ＿Ｏｔｈｅｒ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎを、ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］及びＤｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ［］から計算された値に以下のようにセットする：
全てのインデックス付けされたゲートウェイカンバセーションＩＤについて、Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ［］変数のゲートウェイブールフラグによって提供されるような動作中のゲートウェイのみが含まれるとき、ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］によって提供されるポータルシステム番号のリスト内の最も高い優先度のポータルシステム番号を選択することによって、ポータルシステム番号が識別される。
【０２７６】
ｓｅｔＩＰＰＧａｔｅｗａｙＵｐｄａｔｅ
この関数は、このポータルシステムにおける全てのＩＰＰにおいてＩｐｐＧａｔｅｗａｙＵｐｄａｔｅをＴＲＵＥにセットする。
【０２７７】
ｓｅｔＩＰＰＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ
この関数は、Ｉｐｐ＿Ｏｔｈｅｒ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍを、ａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］及びＤｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ［］から計算された値に、以下のようにセットする：
全てのインデックス付けされたポートカンバセーションＩＤについて、Ｄｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅ［］変数の関連付けられたリストによって提供されるような動作アグリゲーションポートのみが含まれるとき、ａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］によって提供されるポータルシステム番号のリスト内の最も高い優先度のポータルシステム番号を選択することによって、ポータルシステム番号が識別される。
【０２７８】
ｓｅｔＩＰＰＰｏｒｔＵｐｄａｔｅ
この関数は、このポータルシステムにおける全てのＩＰＰにおいてＩｐｐＰｏｒｔＵｐｄａｔｅをＴＲＵＥにセットする。
【０２７９】
ｓｅｔＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ
この関数は、Ｄｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎを、ａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］及び現在のＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］から計算された値に以下のようにセットする：
全てのインデックス付けされたポートカンバセーションＩＤについて、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］変数の関連付けられたリストによって提供されるような動作アグリゲーションポートのみが含まれるとき、ａＡｇｇＣｏｎｖｅｒｓａｔｉｏｎＡｄｍｉｎＰｏｒｔ［］によって提供されるポートＩＤのリスト内の最も高い優先度のポートＩＤ（６．３．４）の優先度コンポーネントの最下位２ビットを抽出することによって、ポータルシステム番号が識別される。
【０２８０】
ｕｐｄａｔｅＤＲＦＨｏｍｅＳｔａｔｅ
この関数は、ローカルポートの動作状態に基づいて、ＤＲＦ＿Ｈｏｍｅ＿Ｓｔａｔｅを以下のように更新する：
ゲートウェイは、ローカルゲートウェイの動作状態を識別するのに用いられるメカニズムによってＴＲＵＥ又はＦＡＬＳＥにセットされる（ＴＲＵＥは動作可能であること及び接続性がネットワーク制御プロトコルの動作によってブロックされないことを示す）；
動作アグリゲーションポートのリストは、アタッチされたアグリゲータが、Ａｃｔｏｒ＿Ｏｐｅｒ＿Ｐｏｒｔ＿Ｓｔａｔｅ．Ｄｉｓｔｒｉｂｕｔｉｎｇ＝＝ＴＲＵＥ（関連付けられたアグリゲーションポートが動作不可能である（ｐｏｒｔ＿ｅｎａｂｌｅｄ＝ＦＡＬＳＥ）か、満了状態にあるか、又はＬＡＧ内にない場合を除外する条件）を有するものとして報告するアグリゲーションポートＩＤのみを含むことによって作成され、ＰＳＩは、このポータルシステムにおける全てのＩＰＰにおいてＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＩＰＰ＿Ａｃｔｉｖｉｔｙ＝＝ＦＡＬＳＥである場合、ＴＲＵＥにセットされ、そうでない場合、ＰＳＩはＦＡＬＳＥにセットされる。
【０２８１】
加えて、ＰＳＩ＝＝ＴＲＵＥかつゲートウェイ＝＝ＦＡＬＳＥである場合、このポータルシステムにおける全てのアグリゲーションポートにおいてＡｃｔｏｒ＿Ｏｐｅｒ＿Ｐｏｒｔ＿Ｓｔａｔｅ．ＳｙｎｃがＦＡＬＳＥにセットされる。
【０２８２】
この関数はまた、
ゲートウェイの動作状態又はＤｒｎｉ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＧａｔｅｗａｙＬｉｓｔ［］の設定されたリストが変更された場合、ＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅをＴＲＵＥにセットし、関連付けられたＡｃｔｏｒ＿Ｏｐｅｒ＿Ｐｏｒｔ＿Ｓｔａｔｅ．Ｄｉｓｔｒｉｂｕｔｉｎｇ変数又はＤｒｎｉ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰｏｒｔＬｉｓｔ［］の設定されたリストにおける変更によって報告されるような、動作アグリゲーションポートのリストにおける何らかの変更があった場合、ＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅをＴＲＵＥにセットし、そうでない場合；
ＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅ及びＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅは変更されないままである。
【０２８３】
ｕｐｄａｔｅＩＰＰＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＤｉｒｅｃｔｉｏｎ
この関数は、Ｉｐｐ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｄｉｒｅｃｔｉｏｎのための値を以下のように計算する：
ゲートウェイカンバセーションＩＤごとに、値は以下の場合に限りＴＲＵＥである：
ａ）変数Ｄｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＩｐｐ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］が、このゲートウェイカンバセーションＩＤのためのターゲットポータルシステムがこのＩＰＰの後ろにあることを示し、かつ、
ｂ）Ｄｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＩｐｐ＿Ｏｔｈｅｒ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎが、いずれのポータルシステムがこのゲートウェイカンバセーションＩＤを得るべきかに関して合意している。
【０２８４】
加えて、Ｄｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＩｐｐ＿Ｏｔｈｅｒ＿Ｇａｔｅｗａｙ＿ＣｏｎｖｅｒｓａｔｉｏｎがいずれかのゲートウェイカンバセーションＩＤについて合意していない場合、
この関数は、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．Ｇａｔｅｗａｙ＿ＳｙｎｃをＦＡＬＳＥにセットし、かつ；
ＮＴＴＤＲＣＰＤＵをＴＲＵＥにセットする。
そうでない場合：
ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．Ｇａｔｅｗａｙ＿Ｓｙｎｃ及びＮＴＴＤＲＣＰＤＵは変更されないままである。
Ｉｐｐ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＤｉｒｅｃｔｉｏｎがＦＡＬＳＥに初期化され、その寄与する変数のいずれかが変化する度に再計算される。
【０２８５】
ｕｐｄａｔｅＩＰＰＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＰａｓｓｅｓ
この関数はＩｐｐ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐａｓｓｅｓの値を以下のように計算する：
ポートカンバセーションＩＤごとに、値は以下の場合にのみＴＲＵＥである（ＩＤが通過する）：
ａ）変数Ｄｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＩｐｐ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］が、このポートカンバセーションＩＤのためのターゲットポータルシステムがこのＩＰＰの後ろにあることを示し、かつ、
ｂ）Ｄｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＩｐｐ＿Ｏｔｈｅｒ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍが、いずれのポータルシステムがこのポートカンバセーションＩＤを得るべきかに関して合意している。
【０２８６】
加えて、Ｄｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＩｐｐ＿Ｏｔｈｅｒ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐｏｒｔａｌ＿ＳｙｓｔｅｍがいずれかのポートカンバセーションＩＤについて合意していない場合、
この関数は、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．Ｐｏｒｔ＿ＳｙｎｃをＦＡＬＳＥにセットし、かつ；
ＮＴＴＤＲＣＰＤＵをＴＲＵＥにセットする。
そうでない場合：
ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．Ｐｏｒｔ＿Ｓｙｎｃ及びＮＴＴＤＲＣＰＤＵは変更されないままである。
Ｉｐｐ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＰａｓｓｅｓはＦＡＬＳＥに初期化され、その寄与する変数のいずれかが変化する度に再計算される。
【０２８７】
ｕｐｄａｔｅＫｅｙ
この関数は、以下のように動作アグリゲータキー、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙを更新する：
ｅｎａｂｌｅ＿ｌｏｎｇ＿ｐｄｕ＿ｘｍｉｔ＝＝ＴＲＵＥの場合：
ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙが、その最上位２ビットを値０１で置き換えることによって、ＤＲＦ＿Ｈｏｍｅ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙの値にセットされる；そうでない場合、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙが、各ＩＰＰにおけるＤＲＦ＿Ｈｏｍｅ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ、ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ及びＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙの値を含む組の非ゼロの最も低い数値にセットされる。
【０２８８】
ｕｐｄａｔｅＮＴＴ
この関数は、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＧａｔｅｗａｙＳｙｎｃ又はＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＰｏｒｔＳｙｎｃ又はＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＧａｔｅｗａｙＳｙｎｃ又はＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＰｏｒｔＳｙｎｃのいずれかＦＡＬＳＥである場合に、ＮＴＴをＴＲＵＥにセットする。
【０２８９】
ｕｐｄａｔｅＰｏｒｔａｌＳｔａｔｅ
この関数に関連付けられる全ての動作において、ＩＰＰにおけるＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅによって提供される情報は、同じＩＰＰにおけるＤｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿ＯＮＮがＦＡＬＳＥである場合にのみ考慮される；
この関数は、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］を以下のように更新する：ポータルシステム番号によってインデックス付けされるこのポータルシステムの情報ＤＲＦ＿Ｈｏｍｅ＿Ｓｔａｔｅは、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］に含まれる。ポータル内の他のポータルシステムのそれぞれについて、他のポータルシステムの状態情報のいずれかがこのポータルシステム内の２つのＩＰＰから利用可能である場合：
そのポータルシステムについて、ポータルシステム番号によってインデックス付けされた、近隣ポータルシステムとして他のポータルシステムを有するＩＰＰにおけるＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅによって提供されるポータルシステム状態情報のみがＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］に含まれる。
【０２９０】
そうでない場合には、ポータルシステムの状態情報が、このポータルシステムにおける単一のＩＰＰからのみ利用可能である場合：
関連付けられたポータルシステム番号によってインデックス付けされたそのポータルシステムの状態情報は、その情報がこのＩＰＰにおけるＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅによって提供されるか又はＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅによって提供されるかと無関係にＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］に含まれることになる。ポータルシステムのための情報がこのＩＰＰにおけるＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅからのみ利用可能である場合、ＯＮＮはこのＩＰＰにおいてＴＲＵＥにセットされる。
【０２９１】
ポータルシステム状態情報がＩＰＰのうちのいずれからも入手可能でないポータルトポロジに含まれる全てのポータルシステムが、自身の関連付けられたポータルシステム状態情報Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］をＮＵＬＬにセットされている（ゲートウェイはＦＡＬＳＥにセットされ、ポータルシステムにおける動作アグリゲーションポートのリストが空にされる）。
【０２９２】
この関数は、このポータルシステムにおけるＩＰＰごとのＩｐｐ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］も、以下のように更新する：
何らかの他のポータルシステムの状態情報が２つのＩＰＰから入手可能である場合：
ホームポータルシステムがループ中断リンクとして設定されたＩＰＬを一切有しない場合、ポータルシステム上の全てのＩＰＰについて、そのＩＰＰ上のＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅによって提供されるポータルシステム状態情報のみが、関連付けられたポータルシステム番号によってインデックス付けされて、関連付けられたＩｐｐ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］に含まれ、そうでない場合；
関連付けられたポータルシステム番号によってインデックス付けされた、ＩＰＰにおけるＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｓｔａｔｅが、対応するＩｐｐ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］において第１の状態として含まれ、関連付けられたポータルシステム番号によってインデックス付けされた、このＩＰＰにおける受信ＤＲＣＰＤＵにおいて報告される別のポータルシステムに関連付けられた任意の他の追加状態は、同じＩＰＰにおけるＤｒｎｉ＿Ｎｅｉｇｈｂｏｒ＿ＯＮＮがＦＡＬＳＥである場合にのみ、Ｉｐｐ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］に第２の状態として含まれる。
［Ｄｒｎｉ＿ＰｏｒｔａＬ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］と同様に、ポータルシステム状態情報がＩＰＰのうちのいずれからも入手可能でないポータルトポロジに含まれる全てのポータルシステムが、自身の関連付けられたポータルシステム状態情報Ｉｐｐ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］をＮＵＬＬにセットされている（ゲートウェイはＦＡＬＳＥにセットされ、ポータルシステムにおける動作アグリゲーションポートのリストが空にされる）。］
【０２９３】
ｕｐｄａｔｅＰｏｒｔａｌＳｙｓｔｅｍＧａｔｗａｙＣｏｎｖｅｒｓａｔｉｏｎ
この関数は、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎを、ポータル内の他のポータルシステムに関連付けられた全てのインデックス付けされたゲートウェイカンバセーションＩＤエントリをＦＡＬＳＥにセットすることによってＤｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎから構築されたブールベクトルと、ポータル内の他のポータルシステムに関連付けられた全てのインデックス付けされたゲートウェイカンバセーションＩＤエントリをＦＡＬＳＥにセットすることによって全てのＩＰＰ  Ｉｐｐ＿Ｏｔｈｅｒ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎから構築されたブールベクトルとの間の論理ＡＮＤ演算の結果にセットする。
【０２９４】
ｕｐｄａｔｅＰｏｒｔａｌＳｙｓｔｅｍＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ
この関数は、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎを、ポータル内の他のポータルシステムに関連付けられた全てのインデックス付けされたポートカンバセーションＩＤエントリをＦＡＬＳＥにセットすることによってＤｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎから構築されたブールベクトルと、ポータル内の他のポータルシステムに関連付けられた全てのインデックス付けされたポートカンバセーションＩＤエントリをＦＡＬＳＥにセットすることによってＩｐｐ＿Ｏｔｈｅｒ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍから構築されたブールベクトルとの間の論理ＡＮＤ演算の結果にセットする。
【０２９５】
タイマ
以下の論考は、本発明の１つの実施形態に従って適用可能な多岐にわたるタイマに焦点を当てる。
【０２９６】
ｃｕｒｒｅｎｔ＿ｗｈｉｌｅ＿ｔｉｍｅｒ：このタイマは、受信したプロトコル情報が満了したか否かを検出するのに用いられる。Ａｃｔｏｒ＿Ｏｐｅｒ＿Ｓｔａｔｅ．ＬＡＣＰ＿ＴｉｍｅｏｕｔがＳｈｏｒｔＴｉｍｅｏｕｔにセットされる場合、タイマは、値Ｓｈｏｒｔ＿Ｔｉｍｅｏｕｔ＿Ｔｉｍｅから開始される。そうでない場合、タイマは値Ｌｏｎｇ＿Ｔｉｍｅｏｕｔ＿Ｔｉｍｅから開始される。
【０２９７】
ｐｅｒｉｏｄｉｃ＿ｔｉｍｅｒ（ｔｉｍｅ＿ｖａｌｕｅ）：このタイマは、周期的送信を生成するのに用いられる。このタイマは、周期的送信状態マシンにおいて指定されるような、値Ｓｌｏｗ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅ又はＦａｓｔ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅを用いて開始される。
【０２９８】
ｗａｉｔ＿ｗｈｉｌｅ＿ｔｉｍｅｒ：このタイマは、アグリゲーション変更を行う前にヒステリシスを提供し、関連付けられたリンクアグリゲーショングループに参加する全てのリンクがこれを行うことを可能にする。タイマは、値Ａｇｇｒｅｇａｔｅ＿Ｗａｉｔ＿Ｔｉｍｅを用いて開始される。
【０２９９】
メッセージ
１つの実施形態において、１つのメッセージのみが利用される：
ＩｐｐＭ：Ｍ＿ＵＮＩＴＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎ（ＤＲＣＰＤＵ）：このメッセージは、ＤＲＣＰＤＵの受信結果としてＤＲＣＰ制御パーサによって生成される。
ＤＲＣＰＣｔｒｌＭｕｘＮ：Ｍ＿ＵＮＩＴＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎ（ＤＲＣＰＤＵ）
このメッセージは、ＤＲＣＰＤＵの受信結果としてＤＲＣＰ制御パーサ／マルチプレクサによって生成される。
【０３００】
２つのメッセージは、２つの異なる実施形態について同様のメッセージであることに留意されたい。
【０３０１】
状態マシン動作
全体状態マシンプロセスの動作に戻ると、図７のフローチャートは、１つの実施形態において、本明細書において上記で説明した機能、変数及びメッセージに頼る１組の動作を規定する。プロセスは、ＤＲＣＰＤＵの受信に応答して始動され得る。このＤＲＣＰＤＵは最初に受信ユニットに渡される（ブロック７０２）。近隣状態情報をラベル付けされた矢印の組は、新たな近隣情報を表す。この新たな近隣情報は、到来するＤＲＣＰＤＵに含まれるか、又はＤＲＣＰＤＵ受信マシンによって各状態マシンに供給される管理デフォルト値によって供給される。ホーム状態情報をラベル付けされた矢印の組は、状態マシン間の更新されたホーム状態情報のフローを表す。ＤＲＣＰＤＵの送信は、周期的マシンが、周期的ＤＲＣＰＤＵを送信する必要性を判定した結果、又は近隣に通信する必要があるホームの状態情報に対する変化の結果のいずれかとして生じる。ＤＲＣＰＤＵを送信する必要性は、ＮＴＴＤＲＣＰＤＵをアサートすることによって送信マシンにシグナリングされる。残りの矢印は、状態マシンが別の状態マシンにおいてイベントを生じさせることを可能にする状態マシン記述における共有変数を表す。
【０３０２】
受信マシンは、ＮＴＴＤＲＣＰＤＵを生成し、ポート変更動作、ゲートウェイカンバセーション更新及びポートカンバセーション更新を実行する。
【０３０３】
周期的マシン７０４は、近隣状態情報を受信し、ホーム状態情報を返す。周期的マシン（ブロック７０４）はＮＴＴＤＲＣＰＤＵを生成する。
【０３０４】
ポータルシステムマシン（ブロック７０６）は、ホームポータルシステムのＩＰＰにおいて受信されたローカル情報及びＤＲＣＰＤＵに基づいてポータルにおける全てのゲートウェイ及びアグリゲーションポートの動作ステータスを更新する役割を果たす。この状態マシンはポータルシステムごとにある。
【０３０５】
ＤＲＮＩゲートウェイ及びアグリゲータマシン（７０８）は、このＤＲ機能部のゲートウェイを通過することを許可されたゲートウェイカンバセーションＩＤと、このＤＲ機能部のアグリゲータを通じて配分されることを許可されたポートカンバセーションＩＤとを設定する役割を果たす。これらの状態マシンはポータルシステムごとにある。
【０３０６】
ＤＲＮＩ  ＩＰＰマシン（７１０）は、このＤＲ機能部のＩＰＰを通過することを許可されたゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤを設定する役割を果たす。
【０３０７】
送信マシン（７１２）は、他の状態マシンからの要求時及び周期的ベースの双方のＤＲＣＰＤＵの送信を扱う。
【０３０８】
ＤＲＣＰＤＵ受信マシン
受信マシンは、図８に指定される関数を、本明細書において上記で論考したこの関数の関連パラメータで実装することができる。機能が有効にされ、かつｒｅｃｏｒｄＤｅｆａｕｌｔＤＲＣＰＤＵ（）が実行され、かつＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＩＰＰ＿ＡｃｔｉｖｉｔｉｙがＦＡＬＳＥであるとき、プロセスが初期化され得る（ブロック８０２）。次に、満了状態（ブロック８０４）に入り、ＤＲＣＰＤＵの受信時に、状態マシンはＰＯＲＴＡＬ＿ＣＨＥＣＫ状態に入る（ブロック８０８）。ｒｅｃｏｒｄＰｏｒｔａｌＶａｌｕｅｓ関数は、ＤＲＣＰＤＵがこのポータルに関連付けられているか否かをチェックする。関連付けられていない場合、イベントがマネージメントシステムに報告され、ＤＲＣＰＤＵの更なる処理は、このポータルの状態マシンのうちのいずれによっても行われない。ｒｅｃｏｒｄＰｏｒｔａｌＶａｌｕｅｓが、受信ＤＲＣＰＤＵがｒｅｃｏｒｄＰｏｒｔａｌＣｏｎｆＶａｌｕｅｓ関数によってチェックされるＣＯＭＰＡＴＩＢＩＬＩＴＹ＿ＣＨＥＣＫ状態（ブロック８０９）に入ることを識別する場合。この関数は、このポータルに関連付けられた管理設定値を、受信した情報と比較し、これらが異なっている場合、システムはＲＥＰＯＲＴ＿ＴＯ＿ＭＡＮＡＧＥＭＥＮＴ状態に入り（ブロック８１０）、誤設定されたＤＲＣＰＤＵがマネージメントシステムに報告される。受信マシンは、新たなＤＲＣＰＤＵが受信された（又はＩＰＰが無効にされた）ときにＲＥＰＯＲＴ＿ＴＯ＿ＭＡＮＡＧＥＭＥＮＴ状態を出る。
【０３０９】
受信ＤＲＣＰＤＵがこのポータルの期待値に従って設定される場合、受信マシンはＣＵＲＲＥＮＴ状態に入る（ブロック８１２）。
【０３１０】
このため、実施形態は：ＤＲＣＰＤＵを受信するステップと；受信ＤＲＣＰＤＵがポータルに関連付けられているか否かをチェックするステップと；ポータルに関連付けられた設定値を、受信ＤＲＣＰＤＵの値と比較するステップと；比較された値が異なる場合に報告を送信するステップとを含むことができる。
【０３１１】
１つの実施形態において、ＤＲＣＰＤＵの受信時に、状態マシンはＰＯＲＴＡＬ＿ＣＨＥＣＫ状態に入る。ｒｅｃｏｒｄＰｏｒｔａｌＶａｌｕｅｓ関数は、ＤＲＣＰＤＵがこのポータルに関連付けられているか否かをチェックする。関連付けられていない場合、状態マシンはＲＥＰＯＲＴ＿ＴＯ＿ＭＡＮＡＧＥＭＥＮＴ状態に入り、受信ＤＲＣＰＤＵがマネージメントシステムに報告される。ＲＥＰＯＲＴ＿ＴＯ＿ＭＡＮＡＧＥＭＥＮＴ状態において、システムは、新たなＤＲＣＰＤＵが受信されていない場合、ＰＯＲＴＡＬ＿ＣＨＥＣＫ状態に出るか、又はＤＲＣＰ＿ｃｕｒｒｅｎｔ＿ｗｈｉｌｅ＿ｔｉｍｅｒが満了した場合、ＥＸＰＩＲＥＤ状態に出る。ｒｅｃｏｒｄＰｏｒｔａｌＶａｌｕｅｓが、受信ＤＲＣＰＤＵを、このポータルに関連付けられているものとして識別する場合、状態マシンはｒｅｃｏｒｄＰｏｒｔａｌＣｏｎｆＶａｌｕｅｓ関数によってチェックされるＣＯＭＰＡＴＩＢＩＬＩＴＹ＿ＣＨＥＣＫ状態に入る。この関数は、このポータルに関連付けられた管理設定値を、受信した情報と比較し、これらが異なっている場合、システムはＲＥＰＯＲＴ＿ＴＯ＿ＭＡＮＡＧＥＭＥＮＴ状態に入り、誤設定されたＤＲＣＰＤＵがマネージメントシステムに報告される。ポータルシステムが、短いタイムアウトの２倍よりも長い期間にわたって、管理設定期待値に合致しないＤＲＣＰＤＵを受信し続ける場合、状態マシンはＤＥＦＡＵＬＴＥＤ状態に遷移し、このＩＰＰにおけるポータルシステムの現在の動作パラメータが、管理設定値で上書きされ、ポータルシステム更新がトリガされる。
【０３１２】
受信ＤＲＣＰＤＵがこのポータルのための期待値に従って設定される場合、ＤＲＣＰＤＵ受信マシンはＣＵＲＲＥＮＴ状態に入る。
【０３１３】
ｒｅｃｏｒｄＮｅｉｇｈｂｏｒＳｔａｔｅ関数は、近隣のポータル状態動作変数内のＤＲＣＰＤＵに含まれる近隣のポータル状態情報を記録し、自身のホームポータル状態変数を更新する。それらが異なる場合、近隣に通知するトリガがセットされるのみでなく、ローカルポータルシステムマシン（ＰＳ−図１０を参照されたい）、ＤＲＮＩゲートウェイ及びアグリゲータマシン（ＤＧＡ−図１１を参照されたい）及びＤＲＮＩ  ＩＰＰマシン（ＩＰＰ−図１２を参照されたい）における更新をトリガするローカルイベント変数がセットされる。
【０３１４】
ｒｅｃｏｒｄＰｏｒｔａｌＶａｌｕｅｓ関数、ｒｅｃｏｒｄＰｏｒｔａｌＣｏｎｆＶａｌｕｅｓ関数及びｒｅｃｏｒｄＮｅｉｇｈｂｏｒＳｔａｔｅ関数を実行するプロセスにおいて、本明細書に準拠する受信マシンは、受信ＤＲＣＰＤＵにおけるバージョン番号、ＴＬＶ＿ｔｙｐｅ又は確保済みフィールドを検証しない場合がある。これらのフィールドにおいて受信する値にかかわらず同じアクションが取られる。受信マシンは、Ｐｏｒｔａｌ＿Ｉｎｆｏｒｍａｔｉｏｎ＿Ｌｅｎｇｔｈフィールド、Ｐｏｒｔａｌ＿Ｃｏｎｆｉｇｕｒａｔｉｏｎ＿Ｉｎｆｏｒｍａｔｉｏｎ＿Ｌｅｎｇｔｈフィールド、ＤＲＣＰ＿Ｓｔａｔｅ＿Ｌｅｎｇｔｈフィールド又はＴｅｒｍｉｎａｔｏｒ＿Ｌｅｎｇｔｈフィールドを検証することができる。これらの挙動は、未来のプロトコル強化に対する制約と合わせて、本明細書において上記で論考した。
【０３１５】
上記で表されたルールは、バージョン１のデバイスがプロトコルの未来の改訂に準拠することを可能にする。
【０３１６】
ｕｐｄａｔｅＮＴＴ関数は、未来のプロトコル送信が必要とされるか否かを判定するのに用いられる；ＮＴＴＤＲＣＰＵは、ホームの動作ポータル状態変数の近隣のビューが最新でない場合、ＴＲＵＥにセットされる。次に、ｃｕｒｒｅｎｔ＿ｗｈｉｌｅタイマが開始される。タイマを開始するのに用いられる値は、アクターのタイムアウト動作値に依拠してＳｈｏｒｔ＿Ｔｉｍｅｏｕｔ＿Ｔｉｍｅ又はＬｏｎｇ＿Ｔｉｍｅｏｕｔ＿Ｔｉｍｅのいずれかである。
【０３１７】
ｃｕｒｒｅｎｔ＿ｗｈｉｌｅタイマが満了する前にＤＲＣＰＤＵが受信されない場合、状態マシンはＥＸＰＩＲＥＤ状態に遷移する。ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＩＰＰ＿ＡｃｔｉｖｉｔｙはＦＡＬＳＥにセットされ、近隣のタイムアウト変数の現在の動作値は短いタイムアウトにセットされ、ｃｕｒｒｅｎｔ＿ｗｈｉｌｅタイマはＳｈｏｒｔ＿Ｔｉｍｅｏｕｔ＿Ｔｉｍｅの値で開始される。これは過渡状態であり；タイムアウト設定は、ホームポータルシステムが近隣との通信の再確立を試みてＤＲＣＰＤＵを迅速に送信することを可能にする。
【０３１８】
ｃｕｒｒｅｎｔ＿ｗｈｉｌｅタイマが再び満了する前にＤＲＣＰＤＵが受信されない場合、状態マシンはＤＥＦＡＵＬＴＥＤ状態に遷移する。ｒｅｃｏｒｄＤｅｆａｕｌｔＤＲＣＰＤＵ関数は、管理設定値を用いて近隣ポータルシステムの現在の動作パラメータを上書きし、ポータルシステム更新をトリガし、条件がマネージメントシステムに報告される。
【０３１９】
ＩＰＰが動作不可能になる場合、状態マシンはＩＮＩＴＩＡＬＩＺＥ状態に入る。ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＩＰＰ＿ＡｃｔｉｖｉｔｙはＦＡＬＳＥにセットされ、ｒｅｃｏｒｄＤｅｆａｕｌｔＤＲＣＰＤＵ関数は、パートナーパラメータの管理値が現在の動作値として用いられるようにする。これらのアクションは、ＰＳマシンにポータルから近隣ポータルシステムを強制的に切り離させ、ゲートウェイ及びポートカンバセーションＩＤフィルタを再計算させる。
【０３２０】
受信マシンは、図１６に指定される関数を、関連付けられたパラメータで実施することもできる。図１６における受信マシンは、図８と比較していくつかの異なるフロー経路を辿る。図１６における代替の受信マシンの項目及び関数は図８に示すものに類似している。当業者であれば、示した受信マシンの原理及び構造に一貫した他の実施態様が可能であることを理解するであろう。
【０３２１】
図３３は、本発明の一実施形態による、ＤＲＮＩリンクアグリゲーショングループのノードにおける近隣と同期するための方法を示す。方法３３００は、図１ＢのノードＫ〜Ｏ及び図１Ｃのネットワークデバイス１３２及び１３４等のＤＲＮＩの一部としてＤＲＣＰポータル（ローカルポータルと呼ばれる）のＤＲＣＰノード（例えば、ネットワークデバイス）において実施することができる。オプションのステップが、図３３に示すように点線のボックスとして表されることに留意されたい。
【０３２２】
参照符号３３０２において、ノードは、ＩＰＬを用いて近隣ノードに結合されたＩＰＰにおいてＤＲＣＰを操作するために初期化される。ノード及び近隣ノードはポータル内に含まれ、１つの実施形態では、ポータルは追加の近隣ノードを含むことができる。ノードは、ＩＰＬを用いてＩＰＰを介して近隣ノードに結合される。１つの実施形態では、初期化は、ＩＰＰにおける近隣ノードのためのデフォルトパラメータ値を、ポータルの管理者によって提供される近隣ノードの現在の動作パラメータとなるようにセットすることを含む。パラメータは、ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ等の近隣ポートアルゴリズム（ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍとなるようにセットされる）、ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ等の近隣ポートゲートウェイアルゴリズム（ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ａｄｍｉｎ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍとなるようにセットされる）、及びｒｅｃｏｒｄＤｅｆａｕｌｔＤＲＣＰＤＵの機能に関して本明細書において上記で検討された他のものを含む。１つの実施形態では、初期化は、ＤＲＦ＿Ｎｅｉｇｂｈｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＩＰＰ＿ＡｃｔｉｖｉｔｙをＦＡＬＳＥとなるようにセットすることを通じて、近隣ノードのＩＰＰアクティビティを非アクティブとなるようにセットすることを更に含む。
【０３２３】
参照符号３３０４において、ノードは、ＤＲＣＰがＩＰＰにおいて有効にされていると判定する。チェックすることは、ＩＰＰが動作中のＤＲＣＰであることを示す変数（例えば、ＩＰＰ＿ｐｏｒｔ＿ｅｎａｂｌｅｄ）を判定することを含む。１つの実施形態では、判定することは、ＩＰＰのための２つの変数をチェックすることによって行われる。一方は、ＩＰＰが動作中のＤＲＣＰであることを（例えば、本明細書において上記で論考したＤＲＣＰ＿ｅｎａｂｌｅｄにより）示す変数であり、他方は、ＩＰＬが確立され、ＩＰＰが動作可能であることを（例えば、本明細書において上記で論考したＩＰＰ＿ｐｏｒｔ＿ｅｎａｂｌｅｄにより）示す変数である。
【０３２４】
参照符号３３０６において、ノードは満了状態に入る。満了状態において、ノードは１つの実施形態において以下を実行する：ノードは、ノードのＤＲＣＰ状態パラメータを満了にセットし（例えば、本明細書において上記で論考したＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．Ｅｘｐｉｒｅｄを真にセットする）、また、近隣ノードのＩＰＰアクティビティを、ＤＲＦ＿Ｎｅｉｇｂｈｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＩＰＰ＿Ａｃｔｉｖｉｔｙを偽にセットすることを通じて非アクティブにセットする。ノードは、タイマを、ＤＲＣＰＤＵが受信されない場合に満了するようにセットする。１つの実施形態では、タイマ設定は、ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＤＲＣＰ＿Ｔｉｍｅｏｕｔ＝Ｓｈｏｒｔ  Ｔｉｍｅｏｕｔをセットし、ＤＲＣＰ＿ｃｕｒｒｅｎｔ＿ｗｈｉｌｅ＿ｔｉｍｅｒを開始することにより実行される（短いタイムアウト）。
【０３２５】
タイマが満了すると、フローは参照符号３３５２に進み、ノードはデフォルト状態に進む。１つの実施形態では、デフォルト状態において、ノードはＩＰＰにおける近隣ノードのためのデフォルトパラメータ値を、本明細書において上記で論考したｒｅｃｏｒｄＤｅｆａｕｌｔＤＲＣＰＤＵ等の関数を通じてポータルの管理者によって提供される近隣ノードの現在の動作パラメータとなるようにセットする。また、デフォルト状態は、本明細書において上記で論考したｒｅｐｏｒｔＴｏＭａｎａｇｅｍｅｎｔ等の関数を通じてステータスをマネージメントに報告することを含む。
【０３２６】
参照符号３３０７において、ノードはＤＲＣＰＤＵを受信する。ＤＲＣＰＤＵは、図５に示すＰＤＵ構造を含み、ＰＤＵ構造は、表４に列挙されるＴＬＶ等のＴＬＶを有する。ＰＤＵ構造は、ホームポート情報ＴＬＶ及びＤＲＣＰ状態ＴＬＶを含む。１つの実施形態では、ＤＲＣＰＤＵの受信は、ＤＲＣＰＣｔｒｏｌＭｕｘＮ：Ｍ＿ＵＮＩＴＤＡＴＡ．ｉｎｄｉｃａｔｉｏｎ（ＤＲＣＰＤＵ）等のＤＲＣＰＤＵの受信の結果としてＤＲＣＰ制御パーサ／マルチプレクサによって生成されるメッセージにおいて示される。
【０３２７】
次に、参照符号３３０８において、ノードは、受信ＤＲＣＰＤＵがポータルに関連付けられていると判定する。１つの実施形態では、判定は、受信ＤＲＣＰＤＵがポータルに関連付けられているか否かを示す変数（例えば、本明細書において上記で論考したＤｉｆｆｅｒ＿Ｐｏｒｔａｌ）をチェックすることを含む。１つの実施形態では、判定は、ＩＰＰにおける近隣ノードのための対応する現在の動作パラメータ値として受信ＤＲＣＰＤＵにおいて保有されるポータルパラメータ値を記録する関数（例えば、ｒｅｃｏｒｄＰｏｒｔａｌＶａｌｕｅｓ）を実行することを含む。１つの実施形態において、本明細書において上記でｒｅｃｏｒｄＰｏｒｔａｌＶａｌｕｅｓの定義において論考されたようなポータルパラメータ値は、アグリゲータ優先度（例えば、Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｉｒｔｙ）、アグリゲータＩＤ（例えば、Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿ＩＤ）、近隣ポータル優先度（Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙ）及びポータルアドレス（例えば、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ａｄｄｒ）を含む。
【０３２８】
受信ＤＲＣＰＤＵがポータルに関連付けられていない場合、ノードはオプションで、本明細書において上記で論考したｒｅｐｏｒｔＴｏＭａｎａｇｅｍｅｎｔ等の関数を通じてステータスをマネージメントに報告することができる。後に、ノードが別のＤＲＣＰＤＵ受信する場合、フローは参照符号３３０８に戻って再び関連付けを判定する。同様に、ノードが参照符号３３５２においてデフォルト状態にあるとき、ノードはＤＲＣＰＤＵを受信し、フローは関連付けを判定するために参照符号３３０８に進む。
【０３２９】
受信ＤＲＣＰＤＵがポータルに関連付けられていると判定した後、フローは参照符号３３１０に進み、ここでノードは、受信ＤＲＣＰＤＵがノードと互換性があると判定する。判定は、ポータルに関連付けられた管理設定値がＤＲＣＰＤＵからの受信値と一貫していると判定することを含む。１つの実施形態では、チェックすることは、受信ＤＲＣＰＤＵにおいて保有される近隣ノードの設定パラメータ値を、ＩＰＰにおける近隣ノードのための対応する現在の動作パラメータ値として記録する関数（例えば、ｒｅｃｏｒｄＰｏｒｔａｌＣｏｎｆＶａｌｕｅｓ）を実行することを含む。ｒｅｃｏｒｄＰｏｒｔａｌＣｏｎｆＶａｌｕｅ等の関数における設定パラメータ値は、ｒｅｃｏｒｄＰｏｒｔａｌＶａｌｕｅ等のポータルパラメータ値と異なり、この差異は、ｒｅｃｏｒｄＰｏｒｔａｌＣｏｎｆＶａｌｕｅｓ及びｒｅｃｏｒｄＰｏｒｔａｌＶａｌｕｅｓの定義において本明細書において上記で論考されている。
【０３３０】
受信ＤＲＣＰＤＵがノードと互換性がない場合、ノードはオプションで、本明細書において上記で論考したｒｅｐｏｒｔＴｏＭａｎａｇｅｍｅｎｔ等の関数を通じてステータスをマネージメントに報告することができる。後に、ノードが別のＤＲＣＰＤＵを受信する場合、フローは参照符号３３０８に戻って、再び関連付けを判定する。ｒｅｐｏｒｔＴｏＭａｎａｇｅｍｅｎｔ等の関数を実行するとき、ノードはＤＲＣＰＤＵが受信されない場合に満了する別のタイマをセットし、このタイマを開始する。タイマが満了すると、フローは参照符号３３０６に戻る。
【０３３１】
受信ＤＲＣＰＤＵがノードと互換性があると判定した後、ノードは、参照符号３３１２において、受信ＤＲＣＰＤＵにおいて含有される近隣ノードの状態情報を近隣ノードの状態動作変数として記録する。１つの実施形態において、関数（例えば、ｒｅｃｏｒｄＮｅｉｇｈｂｏｒＳｔａｔｅ）は、受信ＤＲＣＰＤＵにおいて保有されるポータルシステム状態等のパラメータ値（例えば、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ）、及びホームノード動作ＤＲＣＰ状態（例えば、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ）を、Ｄｒｎｉ＿Ｎｅｉｇｂｈｏｒ＿Ｓｔａｔｅ及びＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ等の対応する近隣ノードの動作変数として記録する。
【０３３２】
オプションで、記録された近隣ノードの状態動作変数がノードの状態動作変数と異なるとき、参照符号３３１４において、ノードは近隣ノードに通知する１つ又は複数のトリガをセットする。１つの実施形態では、本明細書において上記で論考されたように、関数（例えば、ｕｐｄａｔｅＮＴＴ）を用いて、更なるプロトコル送信が必要とされるか否かが判定される。
【０３３３】
本明細書において論考される方法は、ＤＲＣＰノードが近隣ＤＲＣＰノードから受信したＤＲＣＰＤＵに埋め込まれた情報を処理するための効率的な方法を提供する。情報は段階的に処理され、近隣ノードの状態情報を記録する前に、受信ＤＲＣＰＤＵがＤＲＣＰノードのポータルと関連付けられており、ノードと互換性があると判定される。加えて、ノードが待機状態でスタックされることを阻止するためのタイマが挿入される。
【０３３４】
ＤＲＣＰ周期的送信マシン
ＤＲＣＰ周期的送信マシンは、図９に指定される関数を、本明細書において上記で論考されたその関連パラメータで実装することができる。
【０３３５】
ＤＲＣＰ周期的送信マシンは、ホームポータルシステム及び近隣ポータルシステムが、ポータルを維持するためにＩＰＰにおいて周期的ＤＲＣＰＤＵを交換する要望を確立し、これらの周期的送信がどのような頻度で行われるべきかを確立する。いずれかの参加者が望む場合、周期的送信が行われる。送信は、近隣ポータルシステムによって決定されるレートで行われる。このレートは、近隣ポータルシステムが受信情報をタイムアウトにする速度にリンクされる。
【０３３６】
状態マシンは４つの状態を有する。それらは以下の通りである：
ＮＯ＿ＰＥＲＩＯＤＩＣ（ブロック９０２）。この状態にある間、周期的送信は無効にされ、ｓｔｏｐ  ｐｅｒｉｏｄｉｃ＿ｔｉｍｅｒ関数が実行される。ＦＡＳＴ＿ＰＥＲＩＯＤＩＣ（ブロック９０４）。この状態において、周期的送信は、高速送信レートで有効にされる。この状態には、無条件遷移（ＵＣＴ）に応答してＮＯ＿Ｐｅｒｉｏｄｉｃ状態（ブロック９０２）から入る。Ｆａｓｔ＿Ｐｅｒｉｏｄｉｃ状態は、周期的送信（ブロック９１０）及びｓｌｏｗ＿ｐｅｒｉｏｄｉｃ状態（ブロック９０５）に遷移することができる。ＳＬＯＷ＿ＰＥＲＩＯＤＩＣ状態９０６には、長いタイムアウトが判定されたときに、ＦＡＳＴ＿ＰＥＲＩＯＤＩＣ９０４から入ることができる。この状態において、周期的送信は低速の送信レートにおいて有効にされる。周期的タイマが満了した場合、状態はＰＥＲＩＯＤＩＣ＿ＴＸに遷移する（ブロック９１０）。ＰＥＲＩＯＤＩＣ＿ＴＸ。これは、ｐｅｒｉｏｄｉｃ＿ｔｉｍｅｒ満了時に入る一時的状態であり、これによりＮＴＴをアサートし、次に近隣のＤＲＣＰ＿Ｔｉｍｅｏｕｔセッティングに依拠してＦＡＳＴ＿ＰＥＲＩＯＤＩＣ又はＳＬＯＷ＿ＰＥＲＩＯＤＩＣに出る。
【０３３７】
周期的送信が有効にされる場合、これらが行われるレートは、ＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．Ｔｉｍｅｏｕｔ変数の値によって判定される。この変数が短いタイムアウトにセットされる場合、値ｆａｓｔ＿ｐｅｒｉｏｄｉｃ＿ｔｉｍｅを用いて周期的送信間の時間間隔が判定される。そうでない場合、ｓｌｏｗ＿ｐｅｒｉｏｄｉｃ＿ｔｉｍｅを用いて時間間隔を判定する。
【０３３８】
このため、実施形態は、送信が無効にされる非周期的状態において初期化するステップと、高速な周期的状態に遷移するステップと、高速な周期的時間のためのタイマを開始するステップと、それぞれ、長いタイムアウトに応答して、又は高速な周期的タイムアウトセッティングを有する近隣に応答して、低速な周期的状態又は周期的送信状態に遷移するステップと、近隣における短いタイムアウトセッティング又はタイマ満了に応答して、低速な周期的タイムアウトから周期的送信状態に遷移するステップと、それぞれ短いタイムアウト又は長いタイムアウトセッティングへの近隣のタイムアウトセッティング変更に応答して周期的送信状態から高速な周期的状態又は短い周期的状態のいずれかに遷移するステップと、を含むプロセスを提供する。
【０３３９】
ＤＲＣＰ周期的送信マシンはまた、図１７に指定される関数を、この関数の関連パラメータで実装することができる。図１７は、様々な項目（例えば、図９におけるような、それぞれｐｅｒｉｏｄｉｃ＿ｔｉｍｅｒ及びＮＴＴではなくＤＲＣＰ＿ｐｅｒｉｏｄｉｃ＿ｔｉｍｅｒ及びＮＴＴＤＲＣＰＤＵ）を含むが、他の点ではフローは同じである。図１７における代替的な送信マシンの項目及び関数は図９に示すものに類似している。当業者であれば、示した送信マシンの原理及び構造に一貫した他の実施態様が可能であることを理解するであろう。
【０３４０】
ポータルシステムマシン
ポータルシステムマシンは、図１０に指定される関数を、本明細書において上記で論考されたその関連付けられたパラメータで実装することができる。このプロセスは、ポータルシステム初期化状態に初期化することができる（ブロック１００２）。ｓｅｔＤｅｆａｕｌｔＰｏｒｔａｌＳｙｓｔｅｍＰａｒａｍｅｔｅｒｓ及びｕｐｄａｔｅＫｅｙ関数が実行される。ＣｈａｎｇｅＰｏｒｔａｌ又はＣｈａｎｇｅＤＲＦＰｏｒｔｓが真である場合、プロセスはポータルシステム更新状態に遷移する（ブロック１００４）。ポータルシステム更新状態において、ＣｈａｎｇｅＰｏｒｔａｌは偽にセットされ、ｃｈａｎｇｅＤＲＦＰｏｒｔｓはＦａｌｓｅにセットされ、ｕｐｄａｔｅＤＲＦＨｏｍｅＳｔａｔｅ、ｕｐｄａｔｅｋｅｙが実行される。次の更新は、ＣｈａｎｇｅＰｏｒｔａｌ又はＣｈａｎｇｅＤＲＦＰｏｒｔｓが真に更新されるときにトリガされる。
【０３４１】
このため、実施形態は、デフォルトポータルシステムパラメータが生成され、キーが更新されるポータル初期化状態に初期化するステップと、ＣｈａｎｇｅＰｏｒｔａｌ又はＣｈａｎｇｅＤＲＦＰｏｒｔｓ変数がブール真になるのに応答してポータルシステム更新状態に遷移するステップと、ポータルシステム更新状態において、ＣｈａｎｇｅＰｏｒｔａｌ変数を偽にセットし、ｃｈａｎｇｅＤＲＦＰｏｒｔｓ変数を偽にセットするステップと、ｕｐｄａｔｅＤＲＦＨｏｍｅＳｔａｔｅを実行するステップと、キーを更新するステップと、ＣｈａｎｇｅＰｏｒｔａｌ又はＣｈａｎｇｅＤＲＦＰｏｒｔｓ変数が真であることを検出すると、ポータルシステム更新状態に再度入るステップと、を含むプロセスを提供する。
【０３４２】
初期化時に、ポータルシステムの変数は、これらの変数の管理セッティングによって設定されるような、このポータルのためのこれらの変数のデフォルト値にセットされる。特に、ポータルにおける全てのゲートウェイ、アグリゲーションポート及びＩＰＰのデフォルト動作状態がＦＡＬＳＥにセットされる。加えて、これらのデフォルト値に基づいて、関連付けられたアグリゲータによって用いられる動作キーが、このポータルシステムに割り当てられる管理キー値になるように計算される。
【０３４３】
ポータルシステムのゲートウェイの動作状態、又は関連付けられたアグリゲータによって報告されるような、アタッチされたアグリゲーションポートのうちの任意のものの配分状態に対する任意のローカルな変更、又はＲＸ状態マシンによって報告されるような近隣ポータルシステムの動作状態における任意の変更が、ＰＯＲＴＡＬ＿ＳＹＳＴＥＭ＿ＵＰＤＡＴＥ状態への遷移をトリガする。これによって、関数ｕｐｄａｔｅＤＲＦＨｏｍｅＳｔａｔｅは変数を再評価し、ゲートウェイの動作状態及びポータルシステムのアグリゲータにおける全てのアグリゲーションポートに関する更新されたローカル情報に基づいて、ポータルシステムの独自の状態（ＤＲＦ＿Ｈｏｍｅ＿Ｓｔａｔｅ）を提供する。ポータルシステムのゲートウェイの動作状態における任意の変更は、ポートの状態マシン及びＩＰＰにおける状態遷移をトリガするのに用いられるＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅに反映される。同様に、ポータルシステムのアグリゲータポートに関連付けられるアグリゲーションポートの動作状態における任意の変更は、同じ状態マシンにおける状態遷移をトリガするのに用いられるＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅに反映される。最終的に、ｕｐｄａｔｅＫｅｙ関数は、ポータル内の全てのアクティブなポータルシステムの管理キーの値を含む組の最も低い数の非ゼロ値を選択することによって、ポータルシステムのアグリゲータによって用いられる動作キーを更新する。
【０３４４】
状態マシンは、ＤＲ機能部のポートのうちのいずれかの動作状態が変更されるといつでも、ＰＯＲＴＡＬ＿ＳＹＳＴＥＭ＿ＵＰＤＡＴＥ状態に戻る。
【０３４５】
ポータルシステムマシンはまた、図１８に指定される関数を、この関数の関連パラメータで実装することができる。図１８は図１０と同様であるが、図１８ではシステムがＵｐｄａｔｅＰｏｒｔａｌＳｔａｔｅ関数を用いてポータル情報更新を実行する点が異なる。図１８における代替的なポータルシステムマシンの項目及び関数は、図１０のものと類似している。当業者であれば、示したポータルシステムマシンの原理及び構造に一貫した他の実施態様が可能であることを理解するであろう。
【０３４６】
図３４は、本発明の一実施形態による分散レジリエントネットワーク相互接続（ＤＲＮＩ）におけるノードの動作状態を更新する方法を示す。方法３４００は、図１ＢのノードＫ〜Ｏ及び図１Ｃのネットワークデバイス１３２及び１３４等のＤＲＮＩの一部としてＤＲＣＰポータル（ローカルポータルと呼ばれる）のＤＲＣＰノード（例えば、ネットワークデバイス）において実施することができる。オプションのステップが、図３４に示すように点線のボックスとして表されることに留意されたい。
【０３４７】
参照符号３４０２において、ノードはリンクアグリゲーションのために初期化する。初期化は、管理セッティングによって設定されるような、自身が属するポータルのノードのセッティング変数を含む。１つの実施形態において、初期化は、関数（例えば、図１０におけるｓｅｔＤｅｆａｕｌｔＰｏｒｔａｌＳｙｓｔｅｍＰａｒａｍｅｔｅｒｓ）を実行することによって行われる。関数は、ノードの変数を、本明細書において上記で論考したｓｅｔＤｅｆａｕｌｔＰｏｒｔａｌＳｙｓｔｅｍＰａｒａｍｅｔｅｒｓの定義において挙げられているような管理セット値にセットする。これには、ノードのアグリゲータのシステム優先度（例えば、Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿Ｐｒｉｏｒｉｔｙ）、ノードのアグリゲータのシステム識別子（例えば、Ｄｒｎｉ＿Ａｇｇｒｅｇａｔｏｒ＿ＩＤ）、ポータルのシステム優先度（例えば、Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｐｒｉｏｒｉｔｙ）、ポータル内のノードの識別子（例えば、ＤＲＦ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ）、アグリゲータに関連付けられた管理アグリゲータキー値（例えば、ＤＲＦ＿Ｈｏｍｅ＿Ａｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ）、ノードのＤＲ機能部によってフレームをポートカンバセーションＩＤに割り当てるのに用いられるポートアルゴリズム（例えば、ＤＲＦ＿Ｈｏｍｅ＿Ｐｏｒｔ＿Ａｌｇｏｒｉｔｈｍ）、ノードのＤＲ機能部によって、フレームをゲートウェイカンバセーションＩＤに割り当てるのに用いられるゲートウェイアルゴリズム（例えば、ＤＲＦ＿Ｈｏｍｅ＿Ｇａｔｅｗａｙ＿Ａｌｇｏｒｉｔｈｍ）等が含まれる。
【０３４８】
参照符号３４０４において、ノードはポータルに関連付けられた動作状態が変更されたと判定する。動作状態の変更は、近隣ネットワークデバイスのＩＰＰアクティビティの値のネットワークデバイスビューの動作値がアクティブであるときに真にセットされるブール変数によって示され得る。１つの実施形態では、本明細書において上記で論考されたＣｈａｎｇｅＰｏｒｔａｌ等の変数はそのようなブール変数である。動作状態の変更は、ノードのゲートウェイの動作状態が変化したときに真にセットされるブール変数によっても示され得る。動作状態の変更は、第１のポータルに関連付けられたノードのアグリゲーションポートの動作状態のうちの１つが変化したときに真にセットされるブール変数によっても示され得る。１つの実施形態では、本明細書において上記で論考されたＣｈａｎｇｅＤＲＦＰｏｒｔｓ等の変数は、ゲートウェイ及びアグリゲーションポートの動作状態の双方の変化のためのそのようなブール変数である。
【０３４９】
参照符号３４０６において、ノードは、ポータルに関連付けられた動作状態変更がないことを示す１つ又は複数の変数をセットすることができる。１つの実施形態では、これは、ＣｈａｎｇｅＰｏｒｔａｌ及びＣｈａｎｇｅＤＲＦＰｏｒｔｓ等の変数を、図１０に示すようにＦＡＬＳＥにセットすることによって実行される。セッティングによって、ノードが変化を検出することができるように、ＣｈａｎｇｅＰｏｒｔａｌ及びＣｈａｎｇｅＤＲＦＰｏｒｔｓの動作状態トリガ更新の更なる変更が可能になる。
【０３５０】
参照符号３４０８において、ノードは動作状態変更に応答して、リンクアグリゲーションのためのノードの動作状態の組を更新する。ここで、動作状態の組は、ノードのためのゲートウェイの動作状態を含む。１つの実施形態では、更新は、本明細書において上記で論考した、ｕｐｄａｔｅＤＲＦＨｏｍｅＳｔａｔｅ等の関数を実行することを通じて行われる。１つの実施形態では、更新はまた、動作可能なアグリゲーションポート識別子（ＩＤ）のみを含めることによって動作アグリゲーションポートのリストを作成する（例えば、アタッチされたアグリゲータは、これらを、Ａｃｔｏｒ＿Ｏｐｅｒ＿Ｐｏｒｔ＿Ｓｔａｔｅ．Ｄｉｓｔｒｉｂｕｔｉｎｇ＝＝ＴＲＵＥ（関連付けられたアグリゲーションポートが非動作可能状態若しくは満了状態であるか、又はリンクアグリゲーショングループ内にない場合を除外する条件）を有するものとして報告する）。
【０３５１】
本方法は、ＤＲＣＰノードが属するポータルの変化に基づいて、ＤＲＣＰノードの動作状態を近隣ＤＲＣＰノードと同期させる効率的な方法を提供する。
【０３５２】
ＤＲＮＩゲートウェイ及びアグリゲータマシン
ＤＲＮＩゲートウェイ及びアグリゲータマシンは、図１１に指定される関数を、本明細書において上記で論考したこの関数の関連パラメータで実装することができる。ポータルシステム上に２つのＤＲＮＩゲートウェイ及びアグリゲータマシンが存在する。それぞれがカンバセーションＩＤタイプに関連付けられる：ゲートウェイカンバセーションＩＤのためのものとポートカンバセーションＩＤのためのものが存在する。図１１Ａは、ＤＲＮＩゲートウェイ初期化状態において初期化するＤＲＮＩゲートウェイプロセスである（ブロック１１０２）。この状態において、ＩｎｉｔｉａｌｉｚｅＤＲＮＩＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎ関数が実行され、ＧａｔｅｗａｙＣｏｖｅｒｓａｔｉｏｎＵｐｄａｔｅがＦＡＬＳＥにセットされ、ＧａｔｅｗａｙＣｏｖｅｒｓａｔｉｏｎＵｐｄａｔｅが生じると、プロセスはＤＲＮＩゲートウェイ更新状態に遷移する（ブロック１１０４）。ＤＲＮＩゲートウェイ更新状態（ブロック１１０４）において、プロセスはＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅを偽にセットし、ｕｐｄａｔｅＰｏｒｔａｌＳｔａｔｅ、ｓｅｔＧａｔｅｗａｙＣｏｎｖｅｒｓａｉｏｎ動作及びｓｅｔＩＰＰＧａｔｅｗａｙＵｐｄａｔｅが実行され、ｕｐｄａｔｅＰｏｒｔａｌＳｙｓｔｅｍＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎが実行される。ＤＲＮＩゲートウェイ更新は、ＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅが発生する度にトリガされる。
【０３５３】
プロセスの実施形態は、ＤＲＮＩゲートウェイ初期化状態に初期化するステップと、ＤＲＮＩゲートウェイカンバセーション及びＧａｔｅｗａｙＣｏｖｅｒｓａｔｉｏｎＵｐｄａｔｅをＦＡＬＳＥに初期化するステップと、ゲートウェイカンバセーション更新変数が真であることを検出すると、ＤＲＮＩゲートウェイ更新状態に遷移するステップと、ｕｐｄａｔｅＰｏｒｔａｌＳｔａｔｅをセットするステップと、ＩＰＰゲートウェイ更新トリガをセットするステップと、ゲートウェイカンバセーション更新変数を偽にセットするステップと、ゲートウェイカンバセーションをセットするステップと、ポータルシステムゲートウェイカンバセーションを更新するステップと、ゲートウェイカンバセーション更新変数が真にセットされると、ＤＲＮＩゲートウェイ更新状態に再度入るステップとを含む。
【０３５４】
図１１Ｂは、ＤＲＮＩポート更新プロセスである。このプロセスにおいて、ＤＲＮＩポート更新プロセスはＤＲＮＩポート初期化状態において開始する（ブロック１１１２）。ｉｎｉｔｉａｌｉｚｅＤＲＮＩＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ関数が実行され、ＰｏｒｔＣｏｖｅｒｓａｔｉｏｎＵｐｄａｔｅがＦＡＬＳＥにセットされ、ＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅの発生に応じてプロセスが継続する。これによって状態がＤＲＮＩＰｏｒｔＵｐｄａｔｅに遷移する（ブロック１１１４）。ＤＲＮＩポート更新状態において、プロセスは、ＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅを偽にセットし、ｕｐｄａｔｅＰｏｒｔａｌＳｔａｔｅ、ｓｅｔＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ、ｓｅｔＩＰＰＰｏｒｔＵｐｄａｔｅ動作及びｕｐｄａｔｅＰｏｒｔａｌＳｙｓｔｅｍＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ動作が実行される。ＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅの値に対する変更があるとき、ＤＲＮＩポート更新は、再度トリガされる。
【０３５５】
プロセスの実施形態は、ＤＲＮＩポート初期化状態に初期化するステップと、ＤＲＮＩポートカンバセーション及びＰｏｒｔＣｏｖｅｒｓａｔｉｏｎＵｐｄａｔｅをＦＡＬＳＥに初期化するステップと、ポートカンバセーション更新変数が真であることを検出すると、ＤＲＮＩポート更新状態に遷移するステップと、ＩＰＰポート更新トリガをセットするステップと、ポートカンバセーション更新変数を偽にセットするステップと、ポートカンバセーションをセットするステップと、ポータルシステムポートカンバセーションを更新するステップと、ポートカンバセーション更新変数が真であることを検出するのに応答してＤＲＮＩポート更新状態に再度入るステップと、を含む。
【０３５６】
これらの状態マシンは、合意された優先度規則及びＤＲＣＰの動作に基づいて、このＤＲ機能部のゲートウェイ及びアグリゲータを通過することが許可されたゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤを設定する役割を果たす。
【０３５７】
ＰＳ状態マシン（図１０）又はＤＲＸ状態マシン（図８）からのトリガ時に、ゲートウェイの動作状態が変化したことを宣言し、状態マシンはＤＲＮＩ＿ＧＡＴＥＷＡＹ＿ＵＰＤＡＴＥ状態に入る。これによって、トリガパラメータ（ＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅ）がＦＡＬＳＥにリセットされる。次に、関数ｕｐｄａｔｅＰｏｒｔａｌＳｔａｔｅが、更新されたＤＲＦ＿Ｈｏｍｅ＿Ｓｔａｔｅを、ポータルシステムのＩＰＰにおいて受信されるＤＲＣＰＤＵによって報告され、ＤＲＸ状態マシン（図８）によって記録されるような、他のポータルシステムにおけるポートの動作状態からの情報と組み合わせることによって、全てのポータルシステムの状態を提供する変数（Ｄｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］）を更新し、ポータルシステムにおける全てのＩＰＰにおけるＩｐｐＧａｔｅｗａｙＵｐｄａｔｅをＴＲＵＥにセットして、ＩＰＰ状態マシン（図１２）における更なる更新をトリガする。その後、ｓｅｔＧｅｔｗａｙＣｏｎｖｅｒｓａｔｉｏｎ関数が起動され、（ローカルゲートウェイの動作状態、及び近隣ポータルシステムの、これらの近隣ポータルシステムから受信された最も近時のＤＲＣＰＤＵによって保有されるこれらの近隣システム独自のゲートウェイの宣言された動作状態に基づいて）このポータルシステムによって知られている合意された選択優先度及びゲートウェイ動作状態に基づいて、各ゲートウェイカンバセーションＩＤを担当するポータルシステムが識別される。最終的に、ゲートウェイカンバセーションＩＤがインデックス付けされると、ポータルシステムのゲートウェイを通過することを許可されたゲートウェイカンバセーションＩＤに対するこのポータルシステムのビューと、このポータルシステムのゲートウェイを通過することを許可されたゲートウェイカンバセーションＩＤに対する全ての近隣のビューとの間の合意［これらのＤＲＣＰＤＵを通じて宣言され、このポータルシステムのＤＲＸ状態マシン（図８）によって記録される］に基づいてブールベクトルが計算される。これによって、全てのポータルシステム間の合意に達しない限り、いずれのゲートウェイカンバセーションＩＤもこのポータルシステムのゲートウェイを通過することを許可されないことが確実になる。
【０３５８】
状態マシンは、全てのゲートウェイカンバセーションＩＤが破棄された状態で初期化され、トリガＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅがセットされるといつでもＤＲＮＩ＿ＧＡＴＥＷＡＹ＿ＵＰＤＡＴＥ状態に遷移する。
【０３５９】
ポートカンバセーションＩＤによりインデックス付けされたブールベクトルが、同様の状態マシン動作を通じてセットされ、唯一の違いは、優先度選択規則が、合意されたゲートウェイカンバセーションＩＤ及びゲートウェイアルゴリズムの代わりに合意されたポートカンバセーションＩＤ及びポートアルゴリズムに基づくことである。
【０３６０】
図３５は、本発明の一実施形態による、分散レジリエントネットワーク相互接続（ＤＲＮＩ）におけるネットワークデバイスにおいてアグリゲータ又はゲートウェイのための１組のカンバセーションＩＤを設定するための方法を示す。方法３５００は、図１ＢのノードＫ〜Ｏ並びに図１Ｃのネットワークデバイス１３２及び１３４等のＤＲＮＩの一部として、ＤＲＣＰポータル（ローカルポータルと呼ばれる）のＤＲＣＰノード（例えば、ネットワークデバイス）において実施され得る。オプションのステップが、図３５に示すように点線のボックスとして表されることに留意されたい。
【０３６１】
参照符号３５０２において、ノードは１組のカンバセーションＩＤを初期化し、初期化は、この１組のカンバセーションＩＤに関連付けられたブールベクトルのエントリを、ゼロのシーケンスになるようにセットすることを含む。カンバセーションＩＤはゲートウェイカンバセーションＩＤ又はポートカンバセーションＩＤである。ブールベクトルは、ノードのゲートウェイ又はアグリゲータによる１組のカンバセーションＩＤの処理を示す値を含む。この値は初期化を通じてゼロ（処理なし）にセットされる。ＤＲＣＰノードは、単一のゲートウェイ及び単一のアグリゲータを含むことに留意されたい。
【０３６２】
初期化は、本明細書において上記で論考したＩｎｉｔｉａｌｉｚｅＤＲＮＩＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎ及びＩｎｉｔｉａｌｉｚｅＤＲＮＩＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ等の関数によって行われ得る。ブールベクトルは、それぞれゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤのためのＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ又はＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎであり得る。１つの実施形態では、カンバセーションＩＤのインジケータは、エントリのブール値である（例えば、真は、ゲートウェイを通過するか又はアグリゲータを通じて分配されることを意味する）。初期化は、全ての値をゼロにするので、通過させない。
【０３６３】
参照符号３５０４において、ノードは、１組のカンバセーションＩＤの配分が更新される必要があると判定する。１つの実施形態では、判定を下すことは、ブール変数（例えば、それぞれゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤのための本明細書において上記で論考したＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅ及びＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅ等の変数）をチェックすることを含む。
【０３６４】
参照符号３５０６において、ノードは、カンバセーションＩＤによってインデックス付けされた動作ベクトルの値をセットする。ここで、動作ベクトルは、ポータルのいずれのノードが１組のカンバセーションＩＤのそれぞれを処理するかを列挙する。１つの実施形態では、動作ベクトルは、それぞれゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤのためのＤｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓｔａｉｏｎ及びＤｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎである。ゲートウェイカンバセーションＩＤについて、動作ベクトルは、ポータルのいずれのノードが各ゲートウェイカンバセーションＩＤを通すかを列挙する。ポートカンバセーションＩＤについて、動作ベクトルは、ポータルのいずれのノードが各ポートカンバセーションＩＤを通すかを列挙する。
【０３６５】
参照符号３５０８において、ノードは、カンバセーションＩＤによってインデックス付けされたブールベクトルの値をセットし、ここで、ブールベクトルは、ネットワークデバイスの単一のゲートウェイ又は単一のアグリゲータがカンバセーションＩＤのそれぞれに関連付けられているか否かを列挙する。動作ブールベクトルは、それぞれゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤのためのＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ又はＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎとすることができる。ゲートウェイカンバセーションＩＤについて、ブールベクトルにおける各エントリは、ゲートウェイカンバセーションＩＤがノードの単一のゲートウェイを通過することを許可されるか否かを示す。ポートカンバセーションＩＤについて、ブールベクトルにおける各エントリは、ポートカンバセーションＩＤがノードの単一のアグリゲータを通じて配分されることを許可されるか否かを示す。
【０３６６】
次に、オプションで参照符号３５１０において、ノードはポータルの全てのノードの動作状態を更新する。１つの実施形態において、更新は、本明細書において上記で論考したｕｐｄａｔｅＰｏｒｔａｌＳｔａｔｅ等の関数によって実行される。
【０３６７】
また、オプションで参照符号３５１２において、ノードは、１組のカンバセーションＩＤの配分が更新される必要があることを示す変数をセットする。１つの実施形態において、変数は、それぞれゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤのためのｓｅｔＩＰＰＧａｔｅｗａｙＵｐｄａｔｅ及びｓｅｔＩＰＰＰｏｒｔｕｐｄａｔｅ（本明細書において上記で論考された）である。
【０３６８】
このため、本発明の実施形態は、関連付けられたカンバセーションが、ＤＲＮＩを含むリンクアグリゲーショングループにおいて適切に送信され得るようにカンバセーションＩＤを設定する効率的な方法を提供する。
【０３６９】
ＤＲＮＩ  ＩＰＰマシン
ＤＲＮＩ  ＩＰＰマシンは、図１２Ａ及び図１２Ｂにおいて指定される関数を、本明細書において上記で論考されたこの関数の関連パラメータで実装することができる。図１２Ａは、本発明の１つの実施形態による、ＩＰＰゲートウェイカンバセーションを更新する状態マシンを示す。プロセスは１２０２において開始し、ここでＩＰＰゲートウェイが初期化される。この実施形態において、ＩＰＰゲートウェイ初期化は、２つの初期化関数を通じて達成される。ＩＰＰＧａｔｅｗａｙＵｐｄａｔｅ＝ＦＡＬＳＥを通じて、ネットワークデバイスは、ＩＰＰゲートウェイ更新トリガをＦＡＬＳＥにセットする。ＩｎｉｔｉａｌｉｚｅＩＰＰＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ（）関数を通じて、ネットワークデバイスはカンバセーション通過（ｃｏｎｖｅｒｓａｔｉｏｎ  ｐａｓｓ）（例えば、Ｉｐｐ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｄｉｒｅｃｔｉｏｎ等）を、ここでもゲートウェイカンバセーションＩＤによってインデックス付けされる、ゼロのシーケンスになるようにセットする。
【０３７０】
初期化後、状態マシンはブロック１２０４に進み、ブロック１２０４において、ＩＰＰゲートウェイは更新される。送信は、変数変更によってトリガされる。変数ＩｐｐＧａｔｅｗａｙＵｐｄａｔｅは、ＩＰＰゲートウェイごとのカンバセーションＩＤの配分が更新される必要があることを示す。１つの実施形態において、ＩｐｐＧａｔｅｗａｙＵｐｄａｔｅはブール値であり、ブール値がＴＲＵＥになると、状態マシンはブロック１２０４に進む。ブロック１２０４において、関数ｓｅｔＧｅｔｗａｙＣｏｎｖｅｒｓａｔｉｏｎを通じてゲートウェイカンバセーションをセットする。本明細書において上記で論考したように、関数は、ＤＲＮＩゲートウェイカンバセーション値を、（ａＤｒｎｉＣｏｎｖＡｄｍｉｎＧａｔｅｗａｙ［］等の変数を通じて）分散中継器のためのゲートウェイ選択優先度リストの現在の管理値及び（１つの実施形態ではＤｒｎｉ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｓｔａｔｅ［］を読み取ることによって）現在のＤＲＮＩポートシステム状態から計算された値にセットする。また、ブロック１２０４において、ネットワークデバイスは、関数ｓｅｔＩＰＰＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎ（）を通じてＩＰＰゲートウェイカンバセーションをセットする。加えて、ネットワークデバイスは、関数ｕｐｄａｔｅＩＰＰＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＤｉｒｅｃｔｉｏｎ（）を通じてＩＰＰゲートウェイカンバセーション指示（ＩＰＰ  ｇａｔｅｗａｙ  ｃｏｎｖｅｒｓａｔｉｏｎ  ｄｉｒｅｃｔｉｏｎ）を更新し、最終的に、ネットワークデバイスはＩｐｐＧａｔｅｗａｙＵｐｄａｔｅをＦＡＬＳＥにリセットする。ブロック１２０４は、ゲートウェイカンバセーション更新が必要とされるときはいつでも繰り返される。
【０３７１】
このため、プロセスの実施形態は、ＩＰＰゲートウェイ初期化状態に初期化するステップと、ＩＰＰゲートウェイ更新トリガをＦＡＬＳＥに初期化するステップと、ＩＰＰゲートウェイカンバセーションを初期化するステップと、ＩＰＰゲートウェイ更新変数が真であることを検出すると、ＩＰＰゲートウェイ更新状態に遷移するステップと、ゲートウェイカンバセーションをセットするステップと、ＩＰＰゲートウェイカンバセーションをセットするステップと、ＩＰＰゲートウェイカンバセーション指示を更新するステップと、Ｉｐｐゲートウェイ更新変数を偽にセットするステップと、ゲートウェイカンバセーション更新変数が真であることを検出するのに応答してＩＰＰゲートウェイ更新状態に再度入るステップと、を含む。
【０３７２】
図１２Ｂは、本発明の１つの実施形態による、ＩＰＰポートカンバセーションを更新する状態マシンを示す。ＩＰＰポートを更新するためのプロセスは、ゲートウェイカンバセーションを更新するためのプロセスと類似しており、このため、図１２Ｂにおけるプロセスは図１２Ａと類似であるが、ＩＰＰポートカンバセーション更新のためにＩＰＰポートのための関数及び変数が利用される。
【０３７３】
このプロセスの実施形態は、ＩＰＰポート初期化状態に初期化するステップと、ＩＰＰポート更新トリガをＦＡＬＳＥに初期化するステップと、ＩＰＰポートカンバセーションを初期化するステップと、ＩＰＰポート更新変数が真であることを検出すると、ＩＰＰポート更新状態に遷移するステップと、ポートカンバセーションをセットするステップと、ＩＰＰカンバセーションをセットするステップと、ＩＰＰポートカンバセーション通過を更新するステップと、ＩｐｐＰｏｒｔＵｐｄａｔｅ変数を偽にセットするステップと、ＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅが真であることを検出するのに応答してＩＰＰポート更新状態に再度入るステップと、を含む。
【０３７４】
１つの実施形態において、これらの状態マシンは、合意された優先度規則及びＤＲＣＰの動作に基づいて、この近隣ポータルシステムのＩＰＰを通過することが許可されたゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤを設定する役割を果たす。
【０３７５】
ＤＲＸ状態マシン（図８）からのトリガ時に、ＩｐｐＧａｔｅｗａｙＵｐｄａｔｅがＴＲＵＥにセットされたことを宣言し、状態マシンはＩＰＰ＿ＧＡＴＥＷＡＹ＿ＵＰＤＡＴＥ状態に入る。これによって、ｓｅｔＧｅｔｗａｙＣｏｎｖｅｒｓａｔｉｏｎ関数が起動される。これによって、（ローカルゲートウェイの動作状態、及び近隣の、これらの近隣から受信された最も近時のＤＲＣＰＤＵによって保有されるこれらの近隣独自のゲートウェイの宣言された動作状態に基づいて）このポータルシステムによって知られている合意された選択優先度及びゲートウェイ動作状態に基づいて、各ゲートウェイカンバセーションＩＤを担当するポータルシステムが識別される。次に、ｓｅｔＩＰＰＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎ関数が、合意された選択優先度、及びこのＩＰＰにおいて近隣ポータルシステムによって（近隣ポータルシステムのゲートウェイ動作状態、及びこのＩＰＰにおいて近隣ポータルシステムから受信された最も近時のＤＲＣＰＤＵによって保有される、ポータル内の他のゲートウェイのビューにおけるこの近隣ポータルシステムの宣言された動作状態に基づいて）宣言されるようなゲートウェイ動作状態に基づいて、各ゲートウェイカンバセーションＩＤを担当するポータルシステムを識別する。その後、ゲートウェイカンバセーションＩＤがインデックス付けされ、ポータルシステムのＩＰＰを通過することを許可されたゲートウェイカンバセーションＩＤに対するこのポータルシステムのビューと、同じＩＰＰを通過することを許可されたゲートウェイカンバセーションＩＤに対するＩＰＰ近隣ポータルシステムのビューとの間の合意［これらのポータルシステムのＤＲＣＰＤＵを通じて宣言され、このポータルシステムのＤＲＸ状態マシン（図８）によって記録される］に基づいてブールベクトルが計算される。これによって、このポータルシステムと近隣のポータルシステムとの間の合意に達しない限り、いずれのゲートウェイカンバセーションＩＤもこのＩＰＰを通過することを許可されないことが確実になる。最終的に、ＩｐｐＧａｔｅｗａｙＵｐｄａｔｅはＦＡＬＳＥにリセットされる。
【０３７６】
状態マシンは、全てのゲートウェイカンバセーションＩＤが破棄された状態で初期化され、トリガＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅがセットされるといつでもＩＰＰ＿ＧＡＴＥＷＡＹ＿ＵＰＤＡＴＥ状態に遷移する。
【０３７７】
ポートカンバセーションＩＤによりインデックス付けされたブールベクトルが、同様の状態マシン動作を通じてセットされ、唯一の違いは、優先度選択規則が、合意されたゲートウェイカンバセーションＩＤ及びゲートウェイアルゴリズムの代わりに合意されたポートカンバセーションＩＤ及びポートアルゴリズムに基づくことである。
【０３７８】
図３６は、本発明の一実施形態による、分散レジリエントネットワーク相互接続（ＤＲＮＩ）におけるＤＲＣＰノードにおいてＩＰＰのための１組のカンバセーションＩＤを設定するための方法を示す。方法３６００は、図１ＢのノードＫ〜Ｏ並びに図１Ｃのネットワークデバイス１３２及び１３４等のＤＲＮＩの一部として、ＤＲＣＰポータル（ローカルポータルと呼ばれる）のＤＲＣＰノード（例えば、ネットワークデバイス）において実施され得る。
【０３７９】
参照符号３６０２において、ノードは１組のカンバセーションＩＤを初期化し、初期化は、１組のカンバセーションＩＤに関連付けられたブールベクトルのエントリを、ゼロのシーケンスになるようにセットすることを含む。カンバセーションＩＤはゲートウェイカンバセーションＩＤ又はポートカンバセーションＩＤである。ブールベクトルは、ノードのＩＰＰによる１組のカンバセーションＩＤの処理を示す値を含む。
【０３８０】
初期化は、本明細書において上記で論考したＩｎｉｔｉａｌｉｚｅＩＰＰＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎ及びＩｎｉｔｉａｌｉｚｅＩＰＰＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ等の関数によって行われ得る。ブールベクトルは、それぞれゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤのためのＩｐｐ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｄｉｒｅｃｔｉｏｎ又はＩｐｐ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐａｓｓｅｓであり得る。１つの実施形態では、カンバセーションＩＤの値は、エントリのブール値である。例えば、ゲートウェイカンバセーションＩＤのためのＴＲＵＥの値は、あるゲートウェイがこのＩＰＰを通じて到達可能であることを示す。初期化は、全ての値をゼロにするので、通過させない。
【０３８１】
参照符号３６０４において、ノードは、１組のカンバセーションＩＤの配分が更新される必要があると判定する。１つの実施形態では、判定を下すことは、ブール変数をチェックすることを含む。１つの実施形態では、ブール変数は、それぞれゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤのためのＩｐｐＧａｔｅｗａｙＵｐｄａｔｅ及びＩｐｐＰｏｒｔＵｐｄａｔｅである。別の実施形態では、ブール変数は、それぞれゲートウェイカンバセーションＩＤ及びポートカンバセーションＩＤのためのＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅ及びＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎＵｐｄａｔｅである。
【０３８２】
参照符号３６０６において、ノードは、カンバセーションＩＤによってインデックス付けされた第１の動作ベクトルの値をセットする。ここで、動作ベクトルは、ポータルのいずれのノードが、ノードによって割り当てられるようなカンバセーションＩＤのそれぞれを処理するかを列挙する。１つの実施形態では、ノードは、それぞれＤｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＤｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ等の第１の動作ベクトルをセットするために、ｓｅｔＧｅｔｗａｙＣｏｎｖｅｒｓａｔｉｏｎ及びｓｅｔＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ等の関数を通じて値をセットする。ゲートウェイカンバセーションＩＤについて、Ｄｒｎｉ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎは、いずれのノードのゲートウェイ（存在する場合）が各ゲートウェイカンバセーションＩＤを通すかを列挙する。ポートカンバセーションＩＤについて、Ｄｒｎｉ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎは、いずれのノードが各ポートカンバセーションＩＤを通すかを列挙する。
【０３８３】
参照符号３６０８において、ノードは、カンバセーションＩＤによってインデックス付けされた第２の動作ベクトルの値をセットし、ここで、動作ベクトルは、ポータルのいずれのノードが、近隣ノードによって割り当てられるようなカンバセーションＩＤのそれぞれを処理するかを列挙する。１つの実施形態では、ノードは、それぞれＩｐｐ＿Ｏｔｈｅｒ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ及びＩｐｐ＿Ｏｔｈｅｒ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ等の第２の動作ベクトルをセットするために、ｓｅｔＩＰＰＧａｔｅｗａｙＣｏｎｖｅｒｓａｔｉｏｎ及びｓｅｔＩＰＰＰｏｒｔＣｏｎｖｅｒｓａｔｉｏｎ等の関数を通じて値をセットする。本明細書において上記で論考したように、ゲートウェイカンバセーションＩＤについて、Ｉｐｐ＿Ｏｔｈｅｒ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎは、いずれのノード（すなわちポータルシステム）（存在する場合）が、このＩＰＰにおいて近隣ノードによって割り当てられるような各ゲートウェイカンバセーションＩＤを通すかを列挙する。ポータルが３つ以上のノードを含むとき、近隣ノードは直接近隣ノードである。同様に、ポートカンバセーションＩＤについて、Ｉｐｐ＿Ｏｔｈｅｒ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍは、いずれのノードがこのＩＰＰにおいて直接近隣ノードによって割り当てられるような各ゲートウェイカンバセーションＩＤを通すかを列挙する。
【０３８４】
参照符号３６１０において、ノードは、カンバセーションＩＤによってインデックス付けされたブールベクトルの値をセットし、ここで、ブールベクトルは、ノードのＩＰＰがカンバセーションＩＤのそれぞれに関連付けられているか否かを列挙する。１つの実施形態では、本明細書において上記で論考したように、ブールベクトルは、ゲートウェイカンバセーションＩＤについてＩｐｐ＿Ｇａｔｅｗａｙ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｄｉｒｅｃｔｉｏｎであり、ポートカンバセーションＩＤについてＩｐｐ＿Ｐｏｒｔ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｐａｓｓｅｓである。
【０３８５】
このため、方法３５００と同様に、ここで本発明の実施形態は、ＤＲＮＩを含むリンクアグリゲーショングループにおいて関連付けられたカンバセーションが適切に送信され得るようにカンバセーションＩＤを設定する効果的な方法を提供する。
【０３８６】
送信マシン
送信マシン（図示せず）は、送信のためのＤＲＣＰＤＵを作成するとき、以下のフィールドを、本発明の１つの実施形態によるこのＩＰＰのための対応する動作値で埋めることができる。
・アグリゲータＩＤ及び優先度
・ポータルＩＤ及び優先度
・ポータルシステム番号
・トポロジ状態
・動作アグリゲータキー
・ポートアルゴリズム
・ゲートウェイアルゴリズム
・ポートダイジェスト
・ゲートウェイダイジェスト
・ＤＲＣＰ状態
・ホームポータルシステム及びポータルを形成する能力が検証された任意の他のポータルシステムの、動作アグリゲーションポート、管理アグリゲータキー及び動作パートナーアグリゲータキー
【０３８７】
周期的マシンがＮＯ＿ＰＥＲＩＯＤＩＣ状態にあるとき、送信マシンは：
・ＤＲＣＰＤＵを一切送信するべきではなく、かつ
・ＮＴＴＤＲＣＰＤＵの値をＦＡＬＳＥにセットするべきである。
【０３８８】
ＤＲＣＰ＿Ｅｎａｂｌｅｄ変数がＴＲＵＥであり、かつＮＴＴＤＲＣＰＤＵ変数がＴＲＵＥであるとき、送信マシンは、任意のＦａｓｔ＿Ｐｅｒｉｏｄｉｃ＿Ｔｉｍｅ間隔において特定の数以下のＬＡＣＰＤＵが送信され得るという制約の下で、適切にフォーマット設定されたＤＲＣＰＤＵが送信されることを確保する［すなわち、ＤＲＣＰＣｔｒｌＭｕｘＮ：Ｍ＿ＵＮＩＴＤＡＴＡ．Ｒｅｑｕｅｓｔ（ＤＲＣＰＤＵ）サービスプリミティブを発行する］ことができる。特定の数は、実施態様に依拠して変動することができる（例えば、１０又は２０）。この制限が強制されているときにＮＴＴＤＲＣＰＤＵがＴＲＵＥにセットされる場合、制約がもはや強制されなくなるような時点まで送信が遅延され得る。送信マシンがＤＲＣＰＤＵを送信したとき、ＮＴＴＤＲＣＰＤＵ変数はＦＡＬＳＥにセットされ得る。
【０３８９】
上記の制約に起因してＤＲＣＰＤＵの送信が遅延される場合、ＤＲＣＰＤＵにおいて送信される情報は、ＮＴＴＤＲＣＰＤＵが最初にＴＲＵＥにセットされた時点ではなく、送信時点におけるＩＰＰの動作値に対応する。換言すれば、ＤＲＣＰＤＵ送信モデルは、送信メッセージをキューに入れることと対照的に、送信機会が生じる時点で最新である状態情報の送信に基づく。
【０３９０】
ＤＲＣＰ＿Ｅｎａｂｌｅｄ変数がＦＡＬＳＥであるとき、送信マシンはＤＲＣＰＤＵを一切送信しない場合があり、ＮＴＴＤＲＣＰＤＵの値をＦＡＬＳＥにセットすることができる。
【０３９１】
ネットワーク／ＩＰＬ共有マシン
ネットワーク／ＩＰＬ共有マシンは、図３０に指定される関数を、この関数の関連パラメータで実装することができる。サポートされるネットワーク／ＩＰＬ共有方法のために、ポータルシステム内のＩＰＰごとに１つのネットワーク／ＩＰＬ共有マシンが存在する。このマシンは、ネットワーク／ＩＰＬ共有方法、時間によるネットワーク／ＩＰＬ共有、タグによるネットワーク／ＩＰＬ共有又はカプセル化によるネットワーク／ＩＰＬ共有が実施されるときにのみ必要とされる。
【０３９２】
本明細書において以下で論考される図３１の方法３１００に対応するネットワーク／ＩＰＬ共有マシンは、同じポートにおいて受信されるＤＲＣＰＤＵが、近隣ポータルシステムによる同じネットワーク／ＩＰＬ共有設定を報告する場合にのみ共有ネットワーク／ＩＰＬリンクにおいて送信されるフレームの送信及び操作を可能にし、これによって、結果として、複数のＩＰＬ及びネットワークリンクが同じ物理リンク又はリンクアグリゲーションを共有することになる。
【０３９３】
状態マシンは３つの状態を有する。これらは以下の通りである：
ＮＯ＿ＭＡＮＩＰＵＬＡＴＥＤ＿ＦＲＡＭＥＳ＿ＳＥＮＴ。この状態にある間、ＩＰＬは物理リンク又はアグリゲーションリンクによってのみサポートされ得る。
ＴＩＭＥ＿ＳＨＡＲＥＤ＿Ｍｅｔｈｏｄ。この状態にある間、本明細書において上記で指定された時間によるネットワーク／ＩＰＬ共有方法が有効にされる。
ＭＡＮＩＰＵＬＡＴＥＤ＿ＦＲＡＭＥＳ＿ＳＥＮＴ。この状態にある間、ａＤｒｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄによって選択されるネットワーク／ＩＰＬ共有方法によって命令されるように、タグによるネットワーク／ＩＰＬ共有のタグマニピュレーション方法又はカプセル化によるネットワーク／ＩＰＬ共有が有効にされる。
【０３９４】
システムは、ＮＯ＿ＭＡＮＩＰＵＬＡＴＥＤ＿ＦＲＡＭＥＳ＿ＳＥＮＴにおいて初期化され、ＩＰＬフレームが専用物理リンクにおいて送信される。ホームポータルシステムが、ａＤｒｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄにおける１の値によって示される、時間によるネットワーク／ＩＰＬ共有動作モードのために設定されている場合、システムは、ＤＲＸ状態マシン（ＤＲＸ−図８）がＣＣ＿Ｔｉｍｅ＿ＳｈａｒｅｄをＴＲＵＥ（このＩＰＰにおける近隣ポータルシステムも時間によるネットワーク／ＩＰＬ共有動作モードのために設定されていることを示す）にセットする場合にＴＩＭＥ＿ＳＨＡＲＥＤ＿Ｍｅｔｈｏｄに遷移する。受信ＤＲＣＰＤＵがＣＣ＿Ｔｉｍｅ＿ＳｈａｒｅｄをＦＡＬＳＥにセットするまで、システムはＴＩＭＥ＿ＳＨＡＲＥＤ＿ＭＥＴＨＯＤ状態にとどまる。これは、ＮＯ＿ＭＡＮＩＰＵＬＡＴＥＤ＿ＦＲＡＭＥＳ＿ＳＥＮＴ状態への状態遷移をトリガし、ＩＰＬフレームが専用物理リンクにおいて送信される。
【０３９５】
同様に、ホームポータルシステムが、ａＤｒｎｉＥｎｃａｐｓｕｌａｔｉｏｎＭｅｔｈｏｄにおける値によって示されるように、タグによるネットワーク／ＩＰＬ共有又はカプセル化によるネットワーク／ＩＰＬ共有動作モードのために設定される場合、システムは、ＤＲＸ状態マシン（ＤＲＸ−図８）がＣＣ＿ＥｎｃＴａｇ＿ＳｈａｒｅｄをＴＲＵＥ（このＩＰＰにおける近隣ポータルシステムも、それぞれタグによるネットワーク／ＩＰＬ共有又はカプセル化によるネットワーク／ＩＰＬ共有動作モードのために設定されていることを示す）にセットする場合にＭＡＮＩＰＵＬＡＴＥＤ＿ＦＲＡＭＥＳ＿ＳＥＮＴに遷移する。受信ＤＲＣＰＤＵがＣＣ＿ＥｎｃＴａｇ＿ＳｈａｒｅｄをＦＡＬＳＥにセットするまで、システムはＭＡＮＩＰＵＬＡＴＥＤ＿ＦＲＡＭＥＳ＿ＳＥＮＴ状態にとどまる。これは、ＮＯ＿ＭＡＮＩＰＵＬＡＴＥＤ＿ＦＲＡＭＥＳ＿ＳＥＮＴ状態への状態遷移をトリガし、ＩＰＬフレームが専用物理リンクにおいて送信される。
【０３９６】
図３１は、本発明の一実施形態によるノードにおけるネットワーク／ＩＰＬ共有のための方法を示す。方法３１００は、図１ＢのノードＫ〜Ｏ及び図１Ｃのネットワークデバイス１３２及び１３４等のＤＲＮＩの一部としてＤＲＣＰポータル（ローカルポータルと呼ばれる）のＤＲＣＰノード（ポータルのポータルシステム、例えば、ネットワークデバイスとも呼ばれる）において実施することができる。オプションのステップが、図３１に示すように点線のボックスとして表されることに留意されたい。
【０３９７】
参照符号３１０２において、ＤＲＣＰノード（ローカルポータルシステム）は、正常動作状態にあり、ＩＰＬフレームは近隣ＤＲＣＰノード（近隣ポータルシステム）に向けた専用物理リンク又はアグリゲーションリンクをまたがって送信される。参照符号３１０４において、ノードが近隣ノードと一貫して設定されているか否かが判定される。例えば、これは、少なくとも、近隣ノードからのネットワーク／ＩＰＬ共有のために用いられるＴＬＶにおいて保有されるパラメータ値、例えば、表６におけるフィールドＤＲＦ＿Ｈｏｍｅ＿Ｎｅｔｗｏｒｋ／ＩＰＬ＿ｓｈａｒｉｎｇ＿Ｍｅｔｈｏｄを記録する、ｒｅｃｏｒｄＮｅｉｇｈｂｏｒＳｔａｔｅ等のパラメータ記録関数を用いて実行され得る。次に、記録されるパラメータ値は、ノードによって用いられる現在の対応するパラメータ値と比較され得る。ネットワーク／ＩＰＬ共有がノードにおいて実装される場合、及びパラメータ値がノードにおいて一貫して設定される場合、方法は参照符号３１０６に進み、ここでフレームはネットワーク／ＩＰＬ共有を用いてノードから近隣ノードに送信される。
【０３９８】
オプションで、ノードは、参照符号３１０８において近隣ノードにおけるネットワーク／ＩＰＬ共有の変更を検出するまで、一貫したネットワーク／ＩＰＬ共有方法を用い続ける。例えば、ＣＣ＿Ｔｉｍｅ＿Ｓｈａｒｅｄ又はＣＣ＿Ｅｎｃｔａｇ＿Ｓｈａｒｅｄは、ホーム／近隣ノードが一貫した共有方法を用いているか否かを示す。２つのノードが一貫した共有方法を用いていない場合、フローは参照符号３１０２に戻り、ここで専用リンク又はアグリゲーションリンクが用いられる。
【０３９９】
本発明の実施形態は、ポート間リンクが他のポート間リンク又はネットワークリンクと物理リンクを共有することができるように、リンクアグリゲーショングループにおけるネットワーク及びポート間リンク共有をサポートする効率的な方法を提供する。
【０４００】
ＤＲＣＰステータスとＬＡＣＰステータスとの間の協調：第１の１組の実施形態
図１Ｂ〜図１Ｃに示すようなＤＲＮＩポータルシステムにおいて、システムが適切に機能するために、ＤＲＣＰステータス及びＬＡＣＰステータスは一貫しているべきである。図１Ｃにおいて、一貫性は維持するのがより容易である。図１Ｃを参照すると、ネットワークデバイス１３０とネットワークデバイス１３４との間のリンクは稼働中のリンク（リンク１７２）であり、ネットワークデバイス１３０とネットワークデバイス１３２との間のリンクはサービスのための保護リンク（リンク１７４）である。ネットワークデバイス１３４及び１３２間のＩＰＬリンク（図示せず）は、自身のＤＲＣＰステータスを同期して保持する。ネットワークデバイス１３０（単一のノードを有するポータル１４２）の観点から、このＩＰＬリンクは単一のシステム（ポータル１４４）に接続され、ネットワークデバイス１３２又は１３４の個々に関する情報は、ネットワークデバイス１３０に明示的に通信されない。
【０４０１】
ネットワークデバイス１３２及び１３４間のＩＰＬリンクがダウンするとき、双方のネットワークデバイス１３４（現在稼働中のノード）及び１３２（現在保護ノード）が、トラフィックを送信するノードとして引き継ぐことを試みる。これらのネットワークデバイスのそれぞれの観点から、適切に動作していないのは近隣ノードである。ネットワークデバイス１３２は、保護ノードとして、リンク１３０〜１３２及び１３０〜１３４（それぞれリンク１７２及び１７４）の双方が複製トラフィックを搬送する状況を回避するために、自身のＬＡＧ識別子（ＩＤ）を更新する。ポータル１４２において、いずれのリンクがリンクアグリゲーショングループ（すなわち、稼働中のリンク）にとどまるべきかの判定は、ネットワークデバイス１３０による判断に基づき、これは正常リンクアグリゲーション動作を適用して選択を行う。特に、ネットワークデバイス１３０は、リンク１３０〜１３２を保留にして、リンク１３０〜１３４が依然としてリンクアグリゲーショングループ（すなわち、トラフィックを搬送する稼働中のリンク）内にあるか否かをチェックする。リンク１３０〜１３４がリンクアグリゲーショングループ内にない場合、リンク１３０〜１３２上のトラフィックを有効にする。ネットワークデバイス１３４及び１３２間のＩＰＬリンクが再び立ち上がる場合、ＤＲＣＰステータスは更新され、リンク１３０〜１３２はブロックされたままであり、ＬＡＣＰステータスは、プロセス全体を通じてリンク１３０〜１３４を稼働中のリンクに保持する（このため、トラフィック停止がない）。
【０４０２】
２つ以上のネットワークデバイスを含む各ポータルを有するＤＲＣＰシステムの場合、ＤＲＣＰ及びＬＡＣＰステータス間の一貫性を維持するには更なる労力を要する。ポータルを同期させておくには、ポータルとノードとの間で更なる情報が交換される必要がある。特に、少なくとも２つの動作キー（動作中のパートナーポータルシステムごとに１つ）を導入して同期を協調させることができる。１つは動作パートナーアグリゲータキーである。動作パートナーアグリゲータキーは、ノードのアグリゲーションリンクアグリゲーショングループ識別子（ＬＡＧ  ＩＤ）に関連付けられる（ノードはパートナーノードである）。動作パートナーアグリゲータキーはＤＲＣＰＤＵにおいて送信される。１つの実施形態では、動作パートナーアグリゲータキーは、ＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙという名称の変数に記憶される。これは、本明細書において上記で論考したネットワークデバイス（ポータルのノード）のＬＡＧ  ＩＤに関連付けられた動作パートナーアグリゲータキーとして定義される。他方は、パートナーポータルにおけるパートナーポータルシステムのそれぞれのための動作キーである。動作近隣のポータルキーもノードのＬＡＧ  ＩＤに関連付けられる（ノードは近隣ノードである）。動作近隣（直接の近隣又は離れた近隣）のポータルキーがＤＲＣＰＤＵにおいて送信される。１つの実施形態では、動作近隣アグリゲータキーは、ＤＲＦ＿Ｎｅｉｇｂｈｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ（第３のポータルシステムの場合、ＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｂｈｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ）という名称の変数に記憶される。これは、関連付けられたポータル内ポート（ＩＰＰ）における近隣ノード（第３のポータルシステムの場合、他の近隣）の最後に受信した動作パートナーアグリゲータキー値として定義される。
【０４０３】
アグリゲータキーが交換されるために、ＤＲＣＰＤＵは、パートナー動作キーを保持する新たなフィールドを追加することができる。そのようなフィールドは、ＤＲＣＰＤＵ内の１つのノードのＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙを保有するのに用いられる。ＩＰＰからの受信ＤＲＣＰＤＵにおいて保有される近隣ノードの設定パラメータ値を記録する関数も更新され得る。本明細書において上記で論考したｒｅｃｏｒｄＮｅｉｇｈｂｏｒＳｔａｔｅ等のそのような関数は、受信した動作パートナーアグリゲータキーを、最後の既知の動作近隣アグリゲータキーになるようにセットする（例えば、ＤＲＦ＿Ｎｅｉｇｂｈｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙを、受信したＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙに等しくなるようにセットする）のに用いられ得る。ポータルが３つ以上のノードを含むとき、近隣ノードごとに１つ、複数のＤＲＦ＿Ｎｅｉｇｂｈｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ又は潜在的にＤＲＦ＿Ｏｔｈｅｒ＿Ｎｅｉｇｂｈｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙが保存されることに留意されたい。
【０４０４】
図１Ｂを参照すると、リンクＫ−Ｍは稼働中のリンクであり、リンクＬ−Ｏは保護リンクである。ノードＫとノードＬとの間及びノードＭとノードＯとの間にそれぞれＩＰＬリンクが存在し、これらのＤＲＣＰステータスの同期を保つ。
【０４０５】
ネットワークノードＭ及びＯ間のＩＰＬリンクがダウンするとき、サービスのための双方のノードＭ（現在稼働中のノード）及びＯ（現在保護ノード）が、トラフィックを送信するノードとして引き継ぐことを試みる。これらのネットワークノードのそれぞれの観点から、動作していないのは近隣ノードである。保護ノードとしてのノードＯは、リンクＫ−Ｍ及びＬ−Ｏの双方が複製トラフィックを搬送する状況を回避するために、自身のＬＡＧ識別子（ＩＤ）を更新する。ポータル１１２において、ノードＫ及びＬは、リンクＫ−Ｍ及びＬ−Ｏにおけるトラフィックを破棄するか又は可能にするかに関する判断を独立して行う必要がある。１つの実施形態において、判断は、近隣ノード間でＤＲＣＰＤＵを交換することを通じて行われ得る。加えて、各ノードによって適用される選択ロジックは、交換された情報を考慮に入れるために変更され得る。ノードＫ及びＬは、自身の動作パートナーアグリゲータキー及び自身の動作近隣ポータルキーを含む１組の値の中で、自身の動作パートナーアグリゲータキー値が最低値であるときにのみ、トラフィックがそれぞれ自身の関連付けられたリンクＫ−Ｍ及びＬ−Ｏを通過することを可能にするように更新され得る。選択が機能するために、保護ノードとしてのノードＯは、自身のＬＡＧ  ＩＤを更新するときに、自身の動作キー値を更新することができる（１つの実施形態では、動作キー値は、本明細書において上記で論考したｕｐｄａｔｅＫｅｙ関数等の更新関数を用いて更新される）。
【０４０６】
図１９は、本発明の１つの実施形態による、ＤＲＣＰノードが自身の近隣ノードとの通信を失ったときの動作を示す。本方法は、１つ又は複数の近隣ノードに結合された任意のＤＲＣＰノードにおいて実施され得る。１９０２において、ＤＲＣＰノードは、自身がもはや近隣ノードと通信していないと判定する。通信の損失は、ＩＰＰが無効にされているか若しくは機能不良であること、又は近隣のノードが無効にされているか若しくは機能不良であることに起因し得る。１９０４において、ＤＲＣＰノードは次に、自身が現在トラフィックを搬送していないノードであると判定する。ＤＲＣＰノードは、サービスのためのポータルの稼働中のノード又は保護ノードとして動作し得ることに留意されたい。ＤＲＣＰノードが稼働中のノードである場合、更なるアクションは必要とされず、アクティブなトラフィックを搬送し続ける。ＤＲＣＰノードが保護ノードである場合、方法は１９０６に続き、１９０６において、ＤＲＣＰノードは自身の動作キーを更新し、アクティブなトラフィックを搬送する。更新された動作キーは、各ＩＰＰにおいて、このノードのキー（例えば、このノードのＡｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ）、近隣ノードのキー（例えば、近隣ノードのＡｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ）、及び他の近隣ノードのキー（例えば、他の近隣ノードのＡｄｍｉｎ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙ）の値を含む（ポータルが３つのポータルシステムを含むとき）組の非ゼロの最も低い数値にセットされる。更新された動作キーは自身のパートナーノードまで送信される。
【０４０７】
このため、実施形態によれば、複数のネットワークデバイスを含むポータル内のネットワークデバイス、すなわち、少なくとも１つの近隣ネットワークデバイスに結合されたネットワークデバイスによって実行される方法が提供される。本方法は、ネットワークデバイスが１つ又は複数の近隣ネットワークデバイスとの通信を失ったと判定することを含む。次に、ネットワークデバイスは、自身がリンクアグリゲーショングループを介してパートナーネットワークデバイスへのトラフィックを搬送していない、すなわち、自身が保護ノードとして動作していると判定する。ネットワークデバイスが保護ノードであると判定した後、このネットワークデバイスは自身の動作キーを更新し、リンクアグリゲーショングループを介してトラフィックを搬送し始める。
【０４０８】
図２０は、本発明の１つの実施形態による、ＤＲＣＰノードが複数のトラフィックストリームを受信したときの、自身の近隣ノードとの協調動作を示す。本方法は、１つ又は複数の近隣ノードに結合された任意のＤＲＣＰノードにおいて実施され得る。ステップ２２０２において、ＤＲＣＰノードは、自身のパートナーからトラフィックを受信していると判定する。パートナーは、複数のノード又は単一のノードを含むポータルであり得る。ＤＲＣＰノードは、ポータルの単一のノードであり得、この場合、ＤＲＣＰノードは通常のリンクアグリゲーション動作を適用して、自身のパートナーから複数のトラフィックを受信した場合にいずれのトラフィックに通過を許可するか（例えば、リンク及び対応するアグリゲーションポートが依然としてリンクアグリゲーショングループ内にあると判定した後に現在の稼働中のリンクにおけるトラフィックの通過を許可する一方で、稼働中のリンクがもはやリンクアグリゲーショングループ内にないと判定した後、現在の保護リンクにおけるトラフィックを許可する）の選択を行う。他方で、２００４において、ＤＲＣＰノードは、自身が少なくとも１つの近隣ノードに結合されていると判定する。ＤＲＣＰノードが少なくとも１つの近隣ノードに結合されているとき、ＤＲＣＰノードは、受信したパートナー動作キーがポータルの全ての近隣ノードのパートナー動作キーのうちの最も低いものであるときにのみ自身のパートナーノードからのトラフィックの通過を許可する。１つの実施形態では、これは、ノードのＤＲＦ＿Ｈｏｍｅ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙがポータルの全てのＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿Ｐａｒｔｎｅｒ＿Ａｇｇｒｅｇａｔｏｒ＿Ｋｅｙｓよりも低いと判定することである。
【０４０９】
このため、実施形態によれば、ネットワークデバイスによって実行される方法が提供される。本方法は、ネットワークデバイスが、リンクアグリゲーショングループを介してパートナーネットワークデバイスからトラフィックを受信すると判定することを含む。本方法は、ネットワークデバイスが少なくとも１つの近隣ネットワークデバイスに結合されると判定することを含む。ネットワークデバイス及び少なくとも１つの近隣ネットワークデバイスはポータルの一部である。本方法は、パートナーネットワークデバイスの動作キーを受信することと、パートナーネットワークデバイスの動作キーとポータルのネットワークデバイスの動作キーとの比較に基づいて、パートナーネットワークデバイスからのトラフィックを許可するか否かを判定することとを更に含む。これは、パートナーネットワークデバイスの動作キーがポータルのネットワークデバイスの動作キー未満であると判定することによって実行され得る。
【０４１０】
図２７は、本発明の１つの実施形態による、通信障害条件時にＤＲＣＰノードが自身の近隣ノードと協調する動作を示す。方法２７００は、図１ＢのノードＫ〜Ｏ及び図１Ｃのネットワークデバイス１３２及び１３４等のＤＲＮＩの一部としてＤＲＣＰポータル（ローカルポータルと呼ばれる）のＤＲＣＰノード（例えば、ネットワークデバイス）において実施することができる。ここで、ノードは１つ又は複数の近隣ノードに結合される。２７０２において、ＤＲＣＰノードは、自身のパートナーからトラフィックを受信していると判定する。パートナーは、複数のノード又は単一のノードを含むポータルであり得る。ＤＲＣＰノードは、ポータルの単一のノードであり得、この場合、ＤＲＣＰノードは通常のリンクアグリゲーション動作を適用して、自身のパートナーから複数のトラフィックを受信した場合にいずれのトラフィックに通過を許可するか（例えば、リンク及び対応するアグリゲーションポートが依然としてリンクアグリゲーショングループ内にあると判定した後に現在の稼働中のリンクにおけるトラフィックの通過を許可する一方で、稼働中のリンクがもはやリンクアグリゲーショングループ内にないと判定した後、現在の保護リンクにおけるトラフィックを許可する）の選択を行う。他方で、２７０４において、ＤＲＣＰノードは、自身が少なくとも１つの近隣ノードに結合されていると判定する。
【０４１１】
２７０６において、ＤＲＣＰノードは、受信した動作キーが更新されているか否かを判定する。１つの実施形態では、更新は、失敗した／機能不良のＩＰＬに起因する。ＤＲＣＰノードは、受信したＰａｒｔｎｅｒ＿Ｏｐｅｒ＿Ｋｅｙの最上位２ビットが値２又は３に等しく、かつアグリゲーションポートのＰａｒｔｎｅｒ＿Ｏｐｅｒ＿Ｐｏｒｔ＿Ｐｒｉｏｒｉｔｙの最下位２ビットが値２又は３に等しい場合に、パートナーシステムが失敗した／機能不良のＩＰＬを被っていると判定することができる。
【０４１２】
２７０８において、ＤＲＣＰノードは、自身が同じポータルの自身の近隣ノードから分離しているか否かを判定する。ＤＲＣＰノードは、失敗した／機能不良のＩＰＬに起因して、自身の近隣ノードから分離され得る。その場合、ＤＲＣＰノードは、ローカル及びリモートの双方のポータルにおけるＩＰＬ通信が失敗したと判定する。
【０４１３】
２７１０において、ＤＲＣＰノードは、自身がより高い優先度のポータルシステム内にあるか否かを判定し、より高い優先度のポータルシステム内にある場合、複製されたトラフィックを防ぐように動作する。１つの実施形態において、ＤＲＣＰノードは、自身のパートナーポータルよりも自身が高い優先度のポータルシステム識別子を有するか否かを判定し（例えば、図１Ｂにおいて、ポータル１１２はポータル１１４よりも高い優先度のポータルであり得、この場合、２７１０を実行する）、より高いポータルシステム識別子を有する場合、受信したトラフィックをドロップする。
【０４１４】
このため、実施形態によれば、ネットワークデバイスによって実行される方法が提供される。本方法は、ネットワークデバイスが、パートナーネットワークデバイスからリンクアグリゲーショングループを介してトラフィックを受信すると判定することを含む。本方法は、ネットワークデバイスが少なくとも１つの近隣ネットワークデバイスに結合されていると判定することを更に含み、ネットワークデバイス及び少なくとも１つの近隣ネットワークデバイスは、少なくとも１つの近隣ノードに結合されたポータルの一部である。本方法は、ネットワークデバイスが、受信した動作キーが更新されたか否かを判定することを更に含み、ネットワークデバイスは、自身が同じポータルの自身の近隣ノードから分離しているか否かを判定することを更に含む。本方法は、ネットワークデバイスが、自身のパートナーポータルよりも高いポータルシステム識別子を有する場合に、受信したトラフィックをドロップすることを更に含む。このため、本発明の実施形態は、近隣ノード及びパートナーノードのステータスを協調させ、複製されたトラフィックがＤＲＣＰを実装するリンクアグリゲーショングループ内のトラフィック受信を妨害しないようにする効率的な方法を提供する。
【０４１５】
ＤＲＣＰステータスとＬＡＣＰステータスとの間の協調：第２の１組の実施形態
ＤＲＣＰステータスとＬＡＣＰステータスとの間の協調のために、代替的な方法は、いくつかの既存の関数／変数を更新することであり、ローカルＤＲＣＰノード及びパートナーＤＲＣＰノードの双方が自身のＩＰＬステータスを通信することができる場合に異なる形で動作する。
【０４１６】
図２６Ａは、本発明の１つの実施形態による、アグリゲーションポートのためのカンバセーションマスクＴＬＶを示す。カンバセーションマスクＴＬＶは、参照によりその全体が本明細書に援用される米国特許出願第１４／１３５，５５６号の図４Ａに示されているものと同じであることに留意されたい。図２６Ｂは、本発明の１つの実施形態によるアグリゲーションポートのカンバセーションマスクＴＬＶ内のカンバセーションマスク状態フィールドを示している。図２６Ｂは、参照符号２６１１における１つのフィールド、ＰＳＩ（ポータル状態分離）が確保済みビットに取って代わるという点で、米国特許出願第１４／１３５，５５６号の図４Ｂと異なっている。このフラグは、ポータルシステムにのみ適用可能であり、ポータルシステムがポータル（）内の他のポータルシステムから分離しているか否かを示すのに用いられる。このポータルシステムにおける全てのＩＰＰにおいてＤＲＦ＿Ｎｅｉｇｈｂｏｒ＿Ｏｐｅｒ＿ＤＲＣＰ＿Ｓｔａｔｅ．ＩＰＰ＿Ａｃｔｉｖｉｔｙ＝＝ＦＡＬＳＥの場合、ＴＲＵＥである（１として符号化される）。そうでない場合、その値はＦＡＬＳＥである（０として符号化される）。
【０４１７】
加えて、米国特許出願第１４／１３５，５５６号において開示されるＲｅｃｅｉｖｅｄＣｏｎｖｅｒｓａｔｉｏｎＭａｓｋＴＬＶ関数は、以下の追加の動作で更新され得る：この関数は、受信したポートカンバセーションマスクにおいて保有されるＰＳＩのためのパラメータ値も、Ｐａｒｔｎｅｒ＿ＰＳＩのための現在の動作パラメータ値として記録する。
【０４１８】
更に、米国特許出願第１４／１３５，５５６号に開示されているｕｐｄｄａｔｅＣｏｎｖｅｒｓａｔｉｏｎＭａｓｋＴＬＶ関数は、以下の追加動作を用いて更新され得る：この関数が、１と異なる値にセットされたＤＲＦ＿Ｐｏｒｔａｌ＿Ｓｙｓｔｅｍ＿Ｎｕｍｂｅｒ値ととともにＤＲＣＰポータルシステムによって実装され、ポータルシステム識別子がパートナーのシステム識別子よりも数値的に低い値にセットされ、かつＰＳＩ＝＝Ｐａｒｔｎｅｒ＿ＰＳＩ＝＝ＴＲＵＥである場合、Ｃｏｍｐ＿Ｏｐｅｒ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿ＭａｓｋがＮＵＬＬにセットされる。
【０４１９】
例えば、図１Ｂを参照すると、Ｋ／Ｌ及びＭ／Ｏの双方のＩＰＬが失敗するとき、全てのノードがトラフィックを送信する−アクティブノードＫ及びＭはアクティブノードであるのでトラフィックを送信し、保護ノードＬ及びＭも、アクティブノードから分離されており、このとき自身をアクティブであるとみなしているのでトラフィックを送信する。ＰＳＩがポータル１１２及び１１４の双方においてサポートされるとき、ＰＳＩ及び受信したパートナーＰＳＩはＴＲＵＥである。ポータル１１２がより高い優先度ポータルである（例えば、ポータル１１２のシステム識別子がポータル１１４のシステム識別子よりも低く、このため優先度がより高い）と仮定すると、ノードＬは、自身のポータルシステム番号（２ノードポータルであるので２を仮定し、稼働中のノードＫはポータルシステム番号１を有する）が最低でないと判定し、自身の動作カンバセーションマスクをヌルに更新し、トラフィックを送信も受信もしない。
【０４２０】
図２８は、本発明の１つの実施形態による、通信障害時のＤＲＣＰノードの動作を示す。方法２８００は、図１ＢのノードＫ〜Ｏ及び図１Ｃのネットワークデバイス１３２及び１３４等のＤＲＮＩの一部としてＤＲＣＰポータル（ローカルポータルと呼ばれる）のＤＲＣＰノード（例えば、ネットワークデバイス）において実施することができる。２８０２において、ＤＲＣＰノードは、自身がもはや近隣ノードと通信していないと判定する。通信の損失は、ＩＰＰが無効にされているか若しくは機能不良であること、又は近隣のノードが無効にされているか若しくは機能不良であることに起因し得る。１つの実施形態において、通信の損失は、ＴＲＵＥにセットされたＰＳＩビットにおいて示され得る（これは本明細書において上記で論考したＬＡＣＰＤＵにおけるＴＬＶを通じて送信される）。
【０４２１】
２８０４において、ノードは、自身のパートナーノードがもはやパートナーの近隣ノードと通信していないと判定する。パートナーノードは、自身のＰＳＩステータスを自身のＬＡＣＰＤＵを介して送信することができ、ＰＳＩはパートナーのｒｅｃｏｒｄＲｅｃｅｉｖｅｄＣｏｎｖｅｒｓａｔｉｏｎＭａｓｋＴＬＶ関数によって記録されることになる。パートナーノードがもはやパートナーの近隣ノードと通信していないとき、受信したＰＳＩステータスはＴＲＵＥにセットされ、この場合、ＰＳＩ＝＝Ｐａｒｔｎｅｒ＿ＰＳＩ＝＝ＴＲＵＥである。
【０４２２】
２８０６において、ノードは、自身のポータルが自身のパートナーノードよりも高い優先度のポータルであると判定する。１つの実施形態において、より高い優先度のポータルであるポータルは、ノード及びパートナーノードのポータルのシステム識別子に基づいて判定され得る。
【０４２３】
２８０８において、ノードは、自身がポータルの最も高い優先度のノードでないと判定する。ポータル内のノードの優先度は、ノードのポータルシステム番号によって判定され得る。１つの実施形態では（最大３ノードまでのポータルの場合）、この番号は、１〜３である。１つの実施形態において、ノードは、自身のポータルシステム番号が１でない場合、自身がポータルの最も高い優先度のノードでないと判定する。
【０４２４】
２８１０において、ノードはリンクアグリゲーショングループのトラフィックの送受信を停止する。１つの実施形態において、ノードは自身のＣｏｍｐ＿Ｏｐｅｒ＿Ｃｏｎｖｅｒｓａｔｉｏｎ＿Ｍａｓｋをセットする。これは、カンバセーションマスク更新関数（例えば、ｕｐｄａｔｅＣｏｎｖｅｒｓａｔｉｏｎＭａｓｋ）によって計算されるノードの動作カンバセーションマスクの動作値である。
【０４２５】
このため、実施形態によれば、複数のネットワークデバイスを含むポータル内のネットワークデバイス、すなわち、少なくとも１つの近隣ネットワークデバイスに結合されたネットワークデバイスによって実行される方法が提供される。本方法は、自身のパートナーノードがもはやパートナーの近隣ノードと通信していないと判定することを含む。次に、ネットワークデバイスは、自身のポータルが、自身のパートナーノードよりも高い優先度のポータルであると判定する。次に、ネットワークデバイスは、自身がポータルの最も高い優先度のノードではないと判定し、判定時にトラフィックの送受信を停止する。このため、本発明の実施形態は、近隣ノード及びパートナーノードのステータスを協調させ、複製されたトラフィックがＤＲＣＰを含むリンクアグリゲーショングループ内のトラフィック受信を妨害しないようにする効率的な方法を提供する。
【０４２６】
ネットワークデバイスの実施形態
図１３は、本明細書において説明されるＤＲＮＩ機能を実行するネットワークデバイスの１つの例示的な実施形態の図である。ネットワークデバイス１３８０は、本明細書において図２に関して上記で説明したようなリンクアグリゲーションサブレイヤ１３７０を実施するルータ又は同様のデバイスとすることができ、本明細書において上記で説明したリンクアグリゲーション機能をサポートする。ネットワークデバイス１３８０は、ネットワークプロセッサ１３００と、１組のポート１３４０と、ストレージデバイス１３５０と、同様のネットワークデバイスコンポーネントとを含むことができる。ネットワークデバイスのコンポーネントは例として提供され、限定するものではない。ネットワークデバイス１３８０は、任意の数又はタイプのプロセッサを用いて任意の設定で、アグリゲーション機能及びリンクアグリゲーションサブレイヤ１３７０を実装することができる。他の実施形態では、アグリゲーション機能及びリンクアグリゲーションサブレイヤ及び関連コンポーネントは、１組のネットワークプロセッサ、１組のラインカード及びこれらの構成要素である汎用プロセッサ及び特定用途向けプロセッサ、又はネットワークデバイスアーキテクチャにおいて実装される同様のものにわたって分散される。
【０４２７】
ポート１３４０は、イーサネット、光ファイバ、又は同様の媒体等の物理媒体を介して、ネットワークデバイスを任意の数の他のネットワークデバイスと接続することができる。任意の数の多岐にわたるポートがネットワークデバイス１３８０内に存在し得る。ポート１３４０の任意の組み合わせ又はサブセットを組織化し、リンクアグリゲーショングループ又はＤＲＮＩポータルとしてマネージメントすることができ、このとき、ネットワークデバイスはアグリゲーションシステムとして機能する。このため、ポートは、１つ又は複数のリンクアグリゲーショングループのためのアグリゲーションポートとすることができる。
【０４２８】
ネットワークデバイス１３８０内の１組のストレージデバイス１３５０は、ワーキングメモリ及び／又は永久ストレージとして用いるための任意のタイプのメモリデバイス、キャッシュ、レジスタ又は同様のストレージデバイスとすることができる。任意の数の多岐にわたるストレージデバイス１３５０を利用して、ネットワークデバイス１３８０によって処理されるプログラムされたデータ及び受信データトラフィックを含むネットワークデバイスのデータを記憶することができる。１つの実施形態では、本明細書において上記で説明したカンバセーションサービスマッピングダイジェスト、カンバセーションマスク、及び同様のデータ構造のＤＲＮＩデータ構造又は同様の組織化は、そのようなデータ構造に記憶され得る。ストレージデバイス１３５０内に記憶される他のデータ構造は、本明細書において上記で説明したものを含むことができる。他の実施形態では、これらのデータ構造は独立していると考えることができ、ネットワークデバイス１３８０内の任意の数の別個のストレージデバイス１３５０にわたって分散させることができる。
【０４２９】
１組のネットワークプロセッサ１３００は、本明細書において上記で説明したアグリゲーション及びＤＲＮＩ機能及びリンクアグリゲーションサブレイヤ１３７０を実装することができる。アグリゲーション機能は、アグリゲータクライアント１３７２及びリンクアグリゲーションサブレイヤ１３７０を含むことができ、これらは、制御パーサ／マルチプレクサ１３０２、アグリゲーションコントローラ１３０６、フレーム収集器１３２５、フレーム分配器１３２０及びＤＲＮＩ１３１３を含むことができる。
【０４３０】
本明細書において上記で更に説明したアグリゲーションコントローラ１３０６は、リンクアグリゲーション制御及びリンクアグリゲーション制御プロトコル機能を実施することができる。これらの機能はリンクアグリゲーショングループ、ＤＲＮＩポータル及び同様の態様の設定及び配分をマネージメントする。制御パーサ及びマルチプレクサ１３０２は、アグリゲーションポートにおいて受信された他のデータトラフィックからのＬＡＣＰＤＵを識別及び転送し、ＬＡＣＰＤＵをアグリゲーションコントローラ１３０６に送信し、他のデータトラフィックをリンクアグリゲーションサブレイヤ１３７０内で送信する。
【０４３１】
本明細書において上記で更に説明したリンクアグリゲーションサブレイヤ１３７０は、分配アルゴリズムに従ってフレームの収集及び分配をマネージメントする。リンクアグリゲーションサブレイヤ１３７０内で、フレーム収集器１３２５はフレームを受信し、これらのフレームを、リンクアグリゲーショングループにわたってパートナーシステムと共有された分配アルゴリズムに従って組織化する。フレーム分配器１３２０は、分配アルゴリズムに従って、１組のアグリゲーションポートにわたって送信するためのアウトバウンドフレームを準備し選択する。クライアントインターフェースは、アグリゲータクライアント１３７２との間でフレームを送受信する。インバウンドフレームは、フレーム収集器１３２５からアグリゲータクライアント１３７２に渡され、アウトバウンドフレームはフレーム分配器１３２０からアグリゲータクライアント１３７２に渡される。本明細書において上記で説明されたＤＲＮＩ関数１３１１は、ネットワークプロセッサ１３１１によって実行される。
【０４３２】
本発明は、いくつかの例示的な実施形態の観点で説明されてきたが、当業者であれば、本発明は説明された実施形態に限定されず、添付の特許請求の範囲の趣旨及び範囲内での変更及び代替を用いて実施され得ることを認識するであろう。このため、説明は限定ではなく例示とみなされるものとする。
【図１Ａ】
0006388675.tif 000011
【図１Ｂ】
0006388675.tif 000012
【図１Ｃ】
0006388675.tif 000013
【図２】
0006388675.tif 000014
【図３Ａ】
0006388675.tif 000015
【図３Ｂ】
0006388675.tif 000016
【図４】
0006388675.tif 000017
【図５】
0006388675.tif 000018
【図６Ａ】
0006388675.tif 000019
【図６Ｂ】
0006388675.tif 000020
【図６Ｃ】
0006388675.tif 000021
【図７】
0006388675.tif 000022
【図８】
0006388675.tif 000023
【図９】
0006388675.tif 000024
【図１０】
0006388675.tif 000025
【図１１】
0006388675.tif 000026
【図１２】
0006388675.tif 000027
【図１３】
0006388675.tif 000028
【図１４】
0006388675.tif 000029
【図１５】
0006388675.tif 000030
【図１６】
0006388675.tif 000031
【図１７】
0006388675.tif 000032
【図１８】
0006388675.tif 000033
【図１９】
0006388675.tif 000034
【図２０】
0006388675.tif 000035
【図２１】
0006388675.tif 000036
【図２２】
0006388675.tif 000037
【図２３】
0006388675.tif 000038
【図２４】
0006388675.tif 000039
【図２５】
0006388675.tif 000040
【図２６Ａ】
0006388675.tif 000041
【図２６Ｂ】
0006388675.tif 000042
【図２７】
0006388675.tif 000043
【図２８】
0006388675.tif 000044
【図２９】
0006388675.tif 000045
【図３０】
0006388675.tif 000046
【図３１】
0006388675.tif 000047
【図３２】
0006388675.tif 000048
【図３３】
0006388675.tif 000049
【図３４】
0006388675.tif 000050
【図３５】
0006388675.tif 000051
【図３６】
0006388675.tif 000052