(57)【要約】  ネットワークコンピューティング環境における改善されたルーティング動作のためのシステム、方法、及びデバイスを提供する。システムは、スパインノード及び複数のリーフノードを含むネットワークトポロジを含む。このシステムでは、複数のリーフノードのうちの少なくとも１つが、１以上のネットワーキングプレフィックスに関連付けられている。スパインノードには、プレフィックステーブルが保存される。プレフィックステーブルには、ネットワークトポロジ内のネットワーキングプレフィックスのリストが含まれる。プレフィックステーブルは、ネットワークトポロジ内のネットワーキングプレフィックスのそれぞれに関連付けられた少なくとも１つの等コストマルチパスルーティング（ＥＣＭＰ）グループの指示情報を含む。プレフィックステーブルは、ネットワークトポロジ内のネットワーキングプレフィックスのそれぞれに関連付けられた複数のリーフノードのうちの少なくとも１つのリーフノードの指示情報を含む。【選択図】  図４
2021535695.tif 000002
【特許請求の範囲】
【請求項１】
スパインノードと複数のリーフノードとを含むネットワークトポロジを備えるシステムであって、前記複数のリーフノードのうちの少なくとも１つは、１以上のネットワーキングプレフィックスに関連付けられ、
前記スパインノードは、プレフィックステーブルを保存し、
前記プレフィックステーブルは、
前記ネットワークトポロジ内のネットワーキングプレフィックスのリストと、
前記ネットワークトポロジ内の前記ネットワーキングプレフィックスのそれぞれに関連付けられた少なくとも１つの等コストマルチパスルーティング（ＥＣＭＰ）グループの指示情報と、
前記ネットワークトポロジ内のネットワーキングプレフィックスのそれぞれに関連付けられた前記複数のリーフノードのうちの少なくとも１つのリーフノードの指示情報と、
を含むことを特徴とするシステム。
【請求項２】
前記スパインノードは、更に、前記スパインノードに関連付けられた少なくとも１つのＥＣＭＰグループを示すと共に、前記複数のリーフノードのうちのどれが前記少なくとも１つのＥＣＭＰグループに関連付けられているかを更に示すラベルテーブルを備えることを特徴とする請求項１に記載のシステム。
【請求項３】
前記複数のリーフノードのそれぞれは、プレフィックステーブルを備え、前記プレフィックステーブルは、
前記ネットワークトポロジ内のネットワーキングプレフィックスのリストと、
前記ネットワークトポロジ内の前記ネットワーキングプレフィックスのそれぞれに関連付けられたＥＣＭＰグループの指示情報と、
を含むことを特徴とする請求項１に記載のシステム。
【請求項４】
前記複数のリーフノードのそれぞれは、少なくとも１つのＥＣＭＰグループに関連付けられることを特徴とする請求項１に記載のシステム。
【請求項５】
前記スパインノード上に１以上のＥＣＭＰグループがあることを特徴とする請求項１に記載のシステム。
【請求項６】
前記スパインノード上に単一のＥＣＭＰグループがあり、前記単一のＥＣＭＰグループが前記複数のリーフノードの２以上のリーフノードを指すことを特徴とする請求項１に記載のシステム。
【請求項７】
前記ネットワーキングプレフィックスは、インターネットプロトコル（ＩＰ）アドレスプレフィックスであることを特徴とする請求項１に記載のシステム。
【請求項８】
前記スパインノードは、ルータであり、前記複数のリーフノードの少なくとも１つは、民生用電子機器であることを特徴とする請求項１に記載のシステム。
【請求項９】
前記ネットワークトポロジは、複数のスパインノードを含み、前記複数のスパインノードのそれぞれは、前記複数のリーフノードのそれぞれと通信することを特徴とする請求項１に記載のシステム。
【請求項１０】
前記スパインノードは、適用可能なＥＣＭＰグループ内でパケット毎の負荷分散を行うことを含むルーティングポリシを実装するように構成されていることを特徴とする請求項１に記載のシステム。
【請求項１１】
非一時的コンピュータ可読記憶媒体に格納された命令を実行するように構成可能な１以上のプロセッサであって、前記命令は、
ネットワーキングプレフィックスを含むラベルを含むデータパケットを受信することと、
前記ネットワーキングプレフィックスを識別することと、
プレフィックステーブルに基づいて、前記ネットワーキングプレフィックスに関連付けられた割当済の等コストマルチパス（ＥＣＭＰ）グループを識別することと、
前記割当済のＥＣＭＰグループ内のリーフノードにデータパケットを転送することと、を含むことを特徴とする１以上のプロセッサ。
【請求項１２】
前記命令は、更に、前記割当済のＥＣＭＰグループの負荷分散を行い、前記割当済のＥＣＭＰグループ内のアクティブなリーフノードを識別することを含むことを特徴とする請求項１１に記載の１以上のプロセッサ。
【請求項１３】
前記命令は、更に、リーフ／スパインネットワークトポロジ内のスパインノードに関連する１以上のＥＣＭＰグループの指示情報を含むラベルテーブルを保存することを含むことを特徴とする請求項１１に記載の１以上のプロセッサ。
【請求項１４】
前記命令は、更に、前記プレフィックステーブルを保存することを含み、
前記プレフィックステーブルは、
リーフ／スパインネットワークトポロジにおける複数のリーフノードの指示情報と、
前記複数のリーフノードのそれぞれに関連する１以上のネットワーキングプレフィックスの指示情報と、
前記複数のリーフノードのそれぞれに関連する１以上のＥＣＭＰグループの指示情報と、を含むことを特徴とする請求項１１に記載の１以上のプロセッサ。
【請求項１５】
前記命令は、複数のリーフノードを含む２レイヤリーフ／スパインネットワークトポロジ内のスパインノードによって実装され、前記スパインノードは、前記複数のリーフノードのそれぞれと通信することを特徴とする請求項１１に記載の１以上のプロセッサ。
【請求項１６】
ネットワーキングプレフィックスを含むラベルを含むデータパケットを受信することと、
前記ネットワーキングプレフィックスを識別することと、
プレフィックステーブルに基づいて、前記ネットワーキングプレフィックスに関連付けられた割当済の等コストマルチパス（ＥＣＭＰ）グループを識別することと、
前記割当済のＥＣＭＰグループ内のリーフノードにデータパケットを転送することと、を含むことを特徴とする方法。
【請求項１７】
更に、前記割当済のＥＣＭＰグループの負荷分散を行い、前記割当済のＥＣＭＰグループ内のアクティブなリーフノードを識別することを含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
更に、リーフ／スパインネットワークトポロジ内のスパインノードに関連する１以上のＥＣＭＰグループの指示情報を含むラベルテーブルを保存することを含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
更に、前記プレフィックステーブルを保存することを含み、
前記プレフィックステーブルは、
リーフ／スパインネットワークトポロジにおける複数のリーフノードの指示情報と、
前記複数のリーフノードのそれぞれに関連する１以上のネットワーキングプレフィックスの指示情報と、
前記複数のリーフノードのそれぞれに関連する１以上のＥＣＭＰグループの指示情報と、を含むことを特徴とする請求項１６に記載の方法。
【請求項２０】
前記方法は、複数のリーフノードを含む２レイヤリーフ／スパインネットワークトポロジ内のスパインノードによって実装され、前記スパインノードは、前記複数のリーフノードのそれぞれと通信することを特徴とする請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本出願は、２０１８年８月２３日に出願された米国仮特許出願第６２／７２２，００３号「DATABASE SYSTEMS METHODS AND DEVICES」に対する優先権を主張するものであり、この文献は、次の例外を除き、これに限定されるものではないが、以下に具体的に記載される部分を含む全体が参照により本明細書に援用される。前記出願の何れかの部分が本出願と矛盾する場合、本出願の内容が前記出願に優先される。
【０００２】
本開示は、コンピューティングネットワークに関し、特に、コンピュータネットワーク環境におけるネットワークトポロジ及びルーティングプロトコルに関する。
【背景技術】
【０００３】
ネットワークコンピューティングとは、複数のコンピュータ又はノードが連携し、ネットワークを介して相互に通信するための手段である。これには、ワイドエリアネットワーク（wide area network：ＷＡＮ）とローカルエリアネットワーク（local area network：ＬＡＮ）とがある。ワイドエリアネットワークとローカルエリアネットワークは、何れも、コンピュータ間の相互接続を可能にする。ローカルエリアネットワークは、通常、家庭、ビジネス、学校等、より小規模でローカライズされたネットワークに使用される。ワイドエリアネットワークは、都市等の広域をカバーし、異なる国のコンピュータを接続することもできる。通常、ローカルエリアネットワークは、ワイドエリアネットワークよりも高速で安全であるが、ワイドエリアネットワークを使用すると広範囲の接続が可能になる。通常、ローカルエリアネットワークは、展開されている組織内で所有、制御、及び管理され、一方、ワイドエリアネットワークでは、通常、パブリックインターネット経由又は電気通信プロバイダによって確立されたプライベート接続を介して、構成要素である２以上のローカルエリアネットワークを接続する必要がある。
【０００４】
ローカルエリアネットワークとワイドエリアネットワークによって、コンピュータを相互に接続し、データやその他の情報を転送できる。ローカルエリアネットワーク及びワイドエリアネットワークの何れにおいても、ある演算インスタンスから別の演算インスタンスにデータを渡すパスを判定する手段が必要である。これは、ルーティングとも呼ばれる。ルーティングとは、ネットワーク内で、複数のネットワーク間で、又は複数のネットワークに亘って、トラフィックのパスを選択するプロセスである。ルーティングプロセスは、通常、様々なネットワーク宛先へのルートの記録を保持するルーティングテーブルに基づいて、転送を指示する。ルーティングテーブルは、管理者が指定してもよく、ネットワークトラフィックを監視して学習してもよく、ルーティングプロトコルの支援を受けて構築してもよい。
【０００５】
小規模ネットワークでは、手動で構成されたルーティングテーブルを使用して、あるコンピュータから別のコンピュータへの情報の転送方法を判定できる。ルーティングテーブルは、開始コンピュータと最終宛先コンピュータとの間の最も効率的又は最も望ましいパスを示す「最適パス」のリストを含むことができる。公衆インターネットに接続されたネットワークを含む大規模なネットワークは、複雑なトポロジに依存していることがあり、トポロジは、急速に変化する可能性があるため、ルーティングテーブルを手動で構築することは、不可能である。動的ルーティングは、ルーティングプロトコルによって伝送される情報に基づいてルーティングテーブルを自動的に構築することによって、この問題を解決しようとするものである。動的ルーティングにより、ネットワークは、略自律的に動作して、ネットワークの障害やブロックを回避できる。ネットワークデバイス間の最適パスを判定するための規則又は命令を提供する複数のルーティングプロトコルが存在する。動的ルーティングプロトコル及びアルゴリズムには、ルーティング情報プロトコル（Routing Information Protocol：ＲＩＰ）、オープンショーテストパスファースト（Open Shortest Path First：ＯＳＰＦ）、エンハンスドインテリアゲートウェイルーティングプロトコル（Enhanced Interior Gateway routing Protocol：ＥＩＧＲＰ）、及びボーダゲートウェイプロトコル（Border Gateway Protocol：ＢＧＰ）等がある。
【０００６】
幾つかの具体例では、パス選択は、複数のルートにルーティングメトリックを適用して、最適ルートを選択又は予測することを含む。殆どのルーティングアルゴリズムは、一度に１つのネットワークパスのみを使用する。マルチパスルーティング技術は、複数の代替パスの使用を可能にする。コンピュータネットワークでは、ルーティングアルゴリズムを使用して、２つの演算インスタンス間の最適パスを予測できる。ルーティングアルゴリズムは、帯域幅、ネットワーク遅延、ホップカウント、パスコスト、負荷、最大転送単位、信頼性、及び通信コスト等の複数の要因に基づくものであってもよい。ルーティングテーブルには、最適パスのリストが格納される。トポロジデータベースは、最適パスのリストを格納でき、更に追加情報を格納できる。
【０００７】
一部のネットワークでは、最適パスの選択を担当するエンティティが単一のエンティティではないという事実のために、ルーティングが複雑になる。代わりに、複数のエンティティが最適パス又は単一パスのイベント部分の選択に関与する。インターネット上のコンピュータネットワーキングのコンテキストにおいて、インターネットは、インターネットサービスプロバイダ（ＩＳＰ）のような自律システム（ＡＳ）に分割される。各自律システムは、そのネットワークを含むルートを制御する。各自律システムレベルのパスには、一連の自律システムが含まれており、この自律システムを経由して、ある演算インスタンスから別の演算インスタンスに情報パケットが送信される。各自律システムは、複数のパスを有することができ、この複数のパスから、隣接する自律システムによって提供される複数のパスを選択できる。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
多くのネットワークトポロジがあり、これらは、異なるコンピューティングアプリケーションに対して様々な利点及び欠点を有する。１つのネットワークトポロジは、複数のリーフノード（leaf node）と通信するスパインノード（spine node）を含むリーフ／スパインネットワークトポロジ（leaf-spine network topology）である。従来のリーフ／スパインネットワークトポロジのルーティングプロトコルには、多くの欠点があり、リーフノードが非アクティブになったときにデータループが非効率的になる可能性がある。そこで、リーフ／スパインネットワークトポロジのための改善されたラベリングプロトコル及びルーティングプロトコルが望まれている。
【課題を解決するための手段】
【０００９】
以上を考慮して、ここでは、ネットワークコンピューティング環境におけるルーティング動作を改善するためのシステム、方法、及びデバイスを開示する。
【００１０】
本開示の非限定的及び非包括的な実施形態は、以下の図を参照して説明され、これらの図において、同一の参照符号は、特段の指定がない限り、全ての図を通して同一の部分を指す。以下の説明及び添付の図面を参照することにより、本開示の利点がより明瞭に理解される。
【図面の簡単な説明】
【００１１】
【図１】インターネットを介して通信するネットワーク化されたデバイスのシステムの概略図である。
【図２】スパイン上のプレフィックス毎のラベル割当を有するリーフ／スパインネットワークトポロジ及びルーティングプロトコルの概略図である。
【図３】マルチホームのプレフィックス及びスパイン上のプレフィックス毎のラベル割当を有するリーフ／スパインネットワークトポロジ及びルーティングプロトコルの概略図である。
【図４】スパイン上のパスリスト毎ラベル割当を有するリーフ／スパインネットワークトポロジ及びルーティングプロトコルの概略図である。
【図５】マルチホームのプレフィックス及びスパイン上のパスリスト毎ラベル割当を有するリーフ／スパインネットワークトポロジ及びルーティングプロトコルの概略図である。
【図６】ネットワーク環境においてデータパケットをルーティングする方法の概略的フローチャートである。
【図７】例示的な演算デバイスの構成要素を示す概略図である。
【発明を実施するための形態】
【００１２】
ここでは、ネットワークコンピューティング環境における改善されたネットワークトポロジ、ルーティングラベリング、及びルーティングプロトコルのためのシステム、方法、及びデバイスを開示する。本開示の一実施形態は、ネットワークルーティングラベルのプレフィックスの前に付加されるプレフィックス毎のラベルを使用する。プレフィックス毎のラベルは、等コストマルチパス（equal-cost multipath：ＥＣＭＰ）パスを有するマルチホームプレフィックスに付加してもよい。プレフィックス毎のラベルとＥＣＭＰパスを組み合わせることにより、ＥＣＭＰパス毎に異なるプレフィックス毎ラベルカプセル化によってＥＣＭＰグループを爆発的に増加させることができる。
【００１３】
一実施形態では、ルーティングラベルは、複数のプレフィックスに亘る複数のＥＣＭＰグループのそれぞれに割り当てられる。単一のＥＣＭＰグループが、データパケットを宛先プレフィックスに送信するための最適パスを複数個提供することがある。リーフ／スパインネットワークトポロジでは、宛先プレフィックスが複数のリーフノードに関連付けられることがあり、複数のリーフノードのそれぞれが各スパインノードと通信することがある。
【００１４】
一実施形態では、システムは、スパインノード及び複数のリーフノードを含むネットワークトポロジを含む。このシステムでは、複数のリーフノードのうちの少なくとも１つが、１以上のネットワーキングプレフィックスに関連付けられている。スパインノードには、プレフィックステーブルが保存される。プレフィックステーブルは、ネットワークトポロジ内のネットワーキングプレフィックスのリストを含む。プレフィックステーブルは、ネットワークトポロジ内のネットワーキングプレフィックスのそれぞれに関連付けられた少なくとも１つのＥＣＭＰグループの指示情報を含む。プレフィックステーブルは、ネットワークトポロジ内のネットワーキングプレフィックスのそれぞれに関連付けられた複数のリーフノードのうちの少なくとも１つのリーフノードの指示情報を含む。
【００１５】
本開示の一実施形態は、リーフ／スパインＣｌｏｓネットワークトポロジ（leaf-spine Clos network topology）において展開される。プレフィックス毎のラベル割当により、アップストリームのリーフルータで使用できるＥＣＭＰグループの数が増加する。一実施形態では、プレフィックス毎のラベルがスパインルータ上で割り当てられ、スパインルータからアドバタイズされる。これにより、アドバタイズ側スパインネクストホップルータに向けて、プレフィックス毎に、一意的ラベル書換がアップストリームのリーフルータにインストールされる。プレフィックス毎のラベルは、各ネクストホップルータから受信したラベルをパスキーの一部とみなす。Ｃｌｏｓトポロジでは、プレフィックス毎のラベルスキームは、ダウンストリームのルータで使用されるラベル割当スキームの明示的な知識を用いることなく、レイヤ「ｎ」のスパイン上で割り当てられ、そこからアドバタイズされるラベルの数を最小数に最適化する。したがって、Ｃｌｏｓトポロジでは、プレフィックス毎のラベルは、各レベルでルータによって使用されるラベル割当スキームを分離し、各レイヤでラベル書換とＥＣＭＰリソースの最適な共有を自動的に提供する。
【００１６】
コンピュータネットワーク環境では、スイッチ又はルータ等のネットワーキングデバイスを使用して、１つの宛先から最終的な宛先に情報を送信できる。一実施形態では、データパッケージ及びメッセージは、個人の自宅内のコンピュータ等の第１の場所で生成してもよい。データパッケージ及びメッセージは、個人がウェブブラウザとインタラクトし、インターネットを介してアクセス可能なリモートサーバに情報を要求し又は情報を提供することによって生成できる。例えば、データパッケージ及びメッセージは、インターネットに接続されたウェブページ上でアクセス可能なフォームに個人が入力した情報であってもよい。データパッケージ及びメッセージは、個人のコンピュータから地理的に非常に離れた場所にあるリモートサーバに送信する必要がある場合がある。個人の自宅のルータとリモートサーバの間では、直接通信が行われていない可能性が高い。したがって、データパッケージ及びメッセージは、リモートサーバの最終的な宛先に到達するまでに、異なるネットワーキングデバイスを「ホッピング」して移動する必要がある。個人の自宅のルータは、インターネットに接続された複数の異なるデバイスを介してデータパッケージ及びメッセージを送信し、データパッケージ及びメッセージがリモートサーバの最終宛先に到達するまでのルートを判定する必要がある。
【００１７】
第１の場所から最終的な宛先への最良のパスを判定し、データパッケージ及びメッセージを次の宛先に転送するプロセスは、スイッチ又はルータ等のネットワーキングデバイスによって実行される重要な機能である。ネットワーク内のネットワーキングデバイス間の接続は、ネットワークトポロジと呼ばれる。ネットワークトポロジは、通信ネットワーク内のリンクやノード等の要素の配置である。ネットワークトポロジは、有線リンク、無線リンク、又はネットワーク内のノード間の有線及び無線リンクの組み合わせを含むことができる。有線リンクの例としては、同軸ケーブル、電話線、電力線、リボンケーブル、光ファイバ等がある。無線リンクの例としては、衛星、セルラ信号、無線信号、自由空間光通信等がある。ネットワークトポロジは、ネットワーク内の全てのノード（コンピュータ、ルータ、スイッチ、その他のデバイス等）の指示情報と、ノード間のリンクの指示情報とを含む。ここでは、ネットワークトポロジを改善するためのシステム、方法、及びデバイスを開示する。
【００１８】
本開示の理解を深めるために、多数のネットワーキング演算デバイス及びプロトコルの幾つかを説明する。
【００１９】
ＢＧＰインスタンスは、ネットワーク内で情報をルーティングするためのデバイスである。ＢＧＰインスタンスは、ルートリフレクタ機器（route reflector appliance）の形式で実現してもよい。ＢＧＰインスタンスは、スイッチ、ルータ、又はスイッチ上のＢＧＰスピーカで実行してもよい。高レベルでは、ＢＧＰインスタンスは、プレフィックスについて学習した全てのパスを最適パスコントローラ（best path controller）に送信する。最適パスコントローラは、これらのパスの中から最適パスのセットを応答する。最適パスコントローラは、任意のパスのネクストホップ及び属性を変更することが許可されている。最適パスを受信すると、ＢＧＰインスタンスは、ローカルルーティング情報ベース（Routing Information Base：ＲＩＢ）を更新し、最適パスをネイバ（neighbors）にアドバタイズ（advertise）する。
【００２０】
スイッチ（スイッチングハブ、ブリッジングハブ、又はＭＡＣブリッジとも呼ばれる。）は、ネットワークを作成する。殆どの内部ネットワークは、建物又はキャンパス内のコンピュータ、プリンタ、電話機、カメラ、照明、及びサーバを接続するためにスイッチを使用する。スイッチは、ネットワークに接続されたデバイスが相互に効率的に通信できるようにするコントローラとして機能する。スイッチは、パケットスイッチングを使用してコンピュータネットワーク上のデバイスを接続し、これによりデータが受信され、処理され、宛先デバイスに転送される。ネットワークスイッチは、ハードウェアアドレスを使用して、開放型システム間相互接続（Open Systems Interconnection：ＯＳＩ）モデルのデータリンクレイヤ（レイヤ２）でデータを処理及び転送するマルチポートネットワークブリッジである。一部のスイッチは、ルーティング機能を追加で組み込むことにより、ネットワークレイヤ（レイヤ３）でデータを処理することもできる。このようなスイッチは、一般にレイヤ３スイッチ又はマルチレイヤスイッチと呼ばれている。
【００２１】
ルータは、ネットワークを接続する。スイッチ及びルータは、類似する機能を実行するが、ネットワーク上で実行する機能はそれぞれ異なる。ルータは、コンピュータネットワーク間でデータパケットを転送するネットワークデバイスである。ルータは、インターネット上でトラフィックダイレクティング機能（traffic directing function）を実行する。ウェブページ、電子メール、又はその他の形式の情報等、インターネットを介して送信されるデータは、データパケットの形式で送信される。パケットは、通常、インターネットワーク（例えばインターネット）を構成するネットワークを介してあるルータから別のルータに転送されて、最終的に宛先ノードに到達する。ルータは、異なるネットワークからの複数のデータラインに接続されている。データパケットがラインの１つに到着すると、ルータは、パケット内のネットワークアドレス情報を読み取り、最終的な宛先を判定する。次に、ルータは、ルータのルーティングテーブル又はルーティングポリシの情報を使用して、行程上の次のネットワークにパケットを送信する。ＢＧＰスピーカは、ボーダゲートウェイプロトコル（Border Gateway Protocol：ＢＧＰ）がイネーブルにされているルータである。
【００２２】
顧客エッジルータ（customer edge router：ＣＥルータ）は、顧客のＬＡＮとプロバイダのコアネットワークとの間のインタフェースを提供する、顧客の敷地内にあるルータである。ＣＥルータ、プロバイダルータ、及びプロバイダエッジルータは、マルチプロトコルラベルスイッチングアーキテクチャのコンポーネントである。プロバイダルータは、プロバイダ又はキャリアのネットワークのコアに配置される。プロバイダエッジルータは、ネットワークのエッジに配置される。顧客エッジルータは、プロバイダエッジルータに接続し、プロバイダエッジルータは、プロバイダルータを介して他のプロバイダエッジルータに接続する。
【００２３】
ルーティングテーブル又はルーティング情報ベース（ＲＩＢ）は、ルータ又はネットワークコンピュータに格納されているデータテーブルであり、特定のネットワーク宛先へのルートをリストするものである。ルーティングテーブルには、距離、重み等のルートのメトリックが含まれる場合がある。ルーティングテーブルには、それが格納されているルータの直近のネットワークのトポロジに関する情報が含まれる。ルーティングテーブルの構築は、ルーティングプロトコルの主要な目的である。スタティックルートは、非自動手段によってルーティングテーブルに作成されるエントリであり、何らかのネットワークトポロジディスカバリ手順の結果ではなく、固定されている。ルーティングテーブルは、ネットワークＩＤ、メトリック、及びネクストホップのフィールドを含む、少なくとも３つの情報フィールドを含むことができる。ネットワークＩＤは、宛先サブネットである。メトリックは、パケットが送信されるパスのルーティングメトリックである。ルートは、メトリックが最小のゲートウェイの方向に進む。ネクストホップとは、パケットが最終宛先に送信されるまでの過程における次のステーションのアドレスである。ルーティングテーブルは、更に、ルートに関連付けられたサービス品質、ルートに関連付けられたフィルタリング基準リストへのリンク、イーサネットカードのインタフェース等を含むことができる。
【００２４】
ルーティングテーブルの概念を説明する目的のために、ルーティングテーブルは、パッケージを送達するために使用される地図に見立てることができる。ルーティングテーブルは、パッケージを最終的な宛先に配信するために使用される地図に似ている。ノードがネットワーク上の別のノードにデータを送信する必要がある場合、ノードはまずデータの送信先を認識する必要がある。ノードが宛先ノードに直接接続できない場合、ノードは、宛先ノードへの適切なルートに沿って他のノードにデータを送信する必要がある。殆どのノードは、どのルートが機能するかを判断することを試みることはない。これに代えて、ノードは、ＬＡＮ内のゲートウェイにＩＰパケットを送信し、ゲートウェイが、データを正しい宛先にどのようにルーティングするかを決定する。各ゲートウェイは、様々なデータパッケージを配信する方法を追跡する必要があり、そのためにルーティングテーブルを使用する。ルーティングテーブルは、地図のようにパスを追跡し、これらのパスを使用してトラフィックをどのように転送するかを判定するためのデータベースである。ゲートウェイは、情報を要求する他のノードとルーティングテーブルの内容を共有することもできる。
【００２５】
ホップバイホップ（hop-by-hop）ルーティングの場合、各ルーティングテーブルには、全ての到達可能な宛先について、その宛先へのパスに沿った次のデバイスのアドレス、すなわち、ネクストホップがリストされる。ルーティングテーブルが一貫していると仮定すれば、パケットを宛先のネクストホップにリレーするアルゴリズムは、ネットワーク内の任意の場所にデータを配信するのに十分である。ホップバイホップは、ＩＰインターネットワークレイヤ及び開放型システム間相互接続（ＯＳＩ）モデルの特徴の一つである。
【００２６】
開放型システム間相互接続（ＯＳＩ）モデルは、基礎となる内部構造及び技術に関係なく、コンピューティングシステムの通信機能を特徴付け、標準化する概念モデルである。ＯＳＩモデルの目標は、多様な通信システムと標準通信プロトコルとの相互運用性である。ＯＳＩモデルは、通信システムを複数の抽象レイヤに分割する。レイヤは、上位のレイヤにサービスを提供し、下位のレイヤからサービスを提供される。例えば、ネットワークに亘って無エラー通信（error-free communication）を提供するレイヤは、上位のアプリケーションが必要とするパスを提供すると共に、次の下位レイヤを呼び出して、そのパスの内容を構成するパケットを送受信する。同じレイヤにある２つのインスタンスは、そのレイヤで水平接続によって接続されているものとして可視化される。通信プロトコルは、あるホストのエンティティが、別のホストの同じレイヤの対応するエンティティとインタラクションすることを可能にする。ＯＳＩモデルのようなサービス定義は、（Ｎ−１）レイヤによって（Ｎ）レイヤに提供される機能を抽象的に記述し、ここで、Ｎは、ローカルホストで動作するプロトコルレイヤの１つである。
【００２７】
ルート制御は、インターネット接続性の向上、帯域幅コストの削減、及びネットワーク間の全体的な動作の削減を目的としたネットワーク管理の一種である。一部のルート制御サービスは、ハードウェアベース及びソフトウェアベースの一連の製品及びサービスを含み、これらは、連携して全体的なインターネットパフォーマンスを向上させ、利用可能なインターネット帯域幅を最小限のコストで微調整（finetune）する。ネットワーク又は自律システムが複数のプロバイダからインターネット帯域幅を調達するシナリオでは、ルート制御を成功させることができる。ルート制御は、データ伝送のための最適なルートの選択を援助できる。
【００２８】
一部のネットワーク通信システムは、数千の処理ノードを有する大規模な企業レベルのネットワークである。数千もの処理ノードが複数のインターネットサービスプロバイダ（Internet Service Provider：ＩＳＰ）からの帯域幅を共有し、大量のインターネットトラフィックを処理できる。このようなシステムは、非常に複雑になる可能性があり、許容できるインターネットパフォーマンスを得るために適切に構成する必要がある。システムが最適なデータ伝送のために適切に構成されていないと、インターネットアクセスの速度が低下し、システムの帯域幅消費及びトラフィックが増大する可能性がある。この問題に対し、一連のサービスを実装することによって、これらの懸念を排除又は軽減できる。この一連のサービスは、ルーティング制御とも呼ばれる。
【００２９】
ルーティング制御メカニズムの一実施形態は、ハードウェアとソフトウェアとから構成される。ルーティング制御メカニズムは、インターネットサービスプロバイダ（ＩＳＰ）との接続を介して全ての発信トラフィック（outgoing traffic）を監視する。ルーティング制御メカニズムは、データの効率的な伝送のための最適パスの選択を支援する。ルーティング制御メカニズムは、全てのＩＳＰの性能及び効率を計算し、適用可能な領域において最適に動作したＩＳＰのみを選択できる。ルート制御デバイスは、コスト、パフォーマンス、及び帯域幅に関する定義済みのパラメータに従って構成できる。
【００３０】
データ伝送のための最適パスを判定するための公知のアルゴリズムは、ボーダゲートウェイプロトコル（Border Gateway Protocol：ＢＧＰ）と呼ばれる。ＢＧＰは、インターネット上の自律システムのルーティング情報を提供するパスベクトル（path-vector）プロトコルである。ＢＧＰが正しく構成されていないと、サーバの利用可能性及び安全性に問題が発生する可能性がある。更に、攻撃者は、ＢＧＰルート情報を変更することにより、トラフィックの大規模なブロックをリダイレクトして、トラフィックが目的の宛先に到達する前に、トラフィックを特定のルータに到達させることができる。ＢＧＰ最適パスアルゴリズムを実装することによって、トラフィック転送用のインターネットプロトコル（Internet Protocol：ＩＰ）ルーティングテーブルにインストールする最適パスを判定できる。ＢＧＰルータは、同じ宛先への複数のパスを受信するように構成できる。
【００３１】
ＢＧＰ最適パスアルゴリズムは、最初の有効なパスを現在の最適パスとして割り当てる。ＢＧＰ最適パスアルゴリズムは、ＢＧＰが有効パスのリストの最後に到達するまで、リスト内の次のパスと最適パスを比較する。このリストは、最適パスを判定するために使用される規則を提供する。例えば、リストは、重みが最も高いパスの優先、ローカル優先度がないパスの優先、ネットワーク又はアグリゲーションＢＧＰによってローカルに発生したパスの優先、最短パスの優先、最小のマルチエグジットディスクリミネータ（multi-exit discriminator）を有するパスの優先等の指示情報を含むことができる。ＢＧＰ最適パス選択プロセスは、カスタマイズできる。
【００３２】
ＢＧＰルーティングのコンテキストでは、各ルーティングドメインは、自律システム（autonomous system：ＡＳ）と呼ばれる。ＢＧＰは、２つのルーティングドメインを接続するためのインターネット経由のパスの選択を支援する。ＢＧＰは、通常、最短ＡＳパスと呼ばれる、最小数の自律システムを通過するルートを選択する。一実施形態では、一旦ＢＧＰが有効にされると、ルータは、ＢＧＰネイバからインターネットルートのリストをプルし、ここで、ＢＧＰネイバは、ＩＳＰであってもよい。次に、ＢＧＰは、リストを精査して、最も短いＡＳパスを有するルートを発見する。これらのルートは、ルータのルーティングテーブルに入力してもよい。通常、ルータは、ＡＳへの最短パスを選択する。ＢＧＰは、パス属性を使用して、トラフィックを特定のネットワークにどのようにルーティングするかを判定する。
【００３３】
等コストマルチパス（equal cost multipath：ＥＣＭＰ）ルーティングは、単一の宛先へのネクストホップパケット転送が複数の「最適パス」に亘って発生する可能性があるルーティング方式である。複数の最適パスは、ルーティングメトリックの計算に基づいて同等である。ルーティングは、単一のルータに限定されたホップ毎の判定であるため、マルチパスルーティングを多数のルーティングプロトコルと共に使用できる。マルチパスルーティングでは、複数のパスに亘ってトラフィックを負荷分散することにより、帯域幅を大幅に増やすことができる。しかしながら、ストラテジを実際に展開する際、ＥＣＭＰルーティングには、多くの問題が知られている。ここでは、改善されたＥＣＭＰルーティングのためのシステム、方法、及びデバイスを開示する。
【００３４】
Ｃｌｏｓネットワークは、テレコミュニケーションにおいて展開できる。Ｃｌｏｓネットワークは、多段スイッチングシステムの理想化を表す多段回路スイッチングネットワークである。Ｃｌｏｓネットワークは、イングレス（ingress）ステージ、ミドル（middle）ステージ、エグレス（egress）ステージの３つのステージを含む。各ステージは、複数のクロスバースイッチで構成されている。各セルは、イングレスクロスバースイッチに入り、これは、使用可能なミドルステージクロスバースイッチの何れかを介して、関連するエグレスクロスバースイッチにルーティングできる。イングレススイッチをミドルステージスイッチに接続するリンクと、ミドルステージスイッチをエグレススイッチに接続するリンクとの両方が空いている場合、ミドルステージクロスバーを特定の新しいコールに使用できる。
【００３５】
コンピュータネットワーク内のノードを接続するためにリーフ／スパインネットワークトポロジを展開できる。リーフ／スパイントポロジには、リーフレイヤとスパインレイヤの２つのレイヤがある。リーフレイヤは、サーバ、ファイアウォール、ロードバランサ、エッジルータ等のデバイスに接続するアクセススイッチで構成される。スパインレイヤは、ルーティングを実行するスイッチで構成され、全てのリーフスイッチが各スパインスイッチと相互接続されるネットワークのバックボーンを構成する。リーフ／スパイントポロジでは、全てのデバイスが同じリンク数だけ互いに離れて配置され、情報を送信するための遅延又はレイテンシの量が予測可能で一貫している。
【００３６】
本開示に基づく原理の理解を深めるために、以下では、図示の実施形態を参照し、特定の表現を用いてこれを説明する。但し、これは、本開示の範囲を限定することを意図するものではない。ここに例示する本開示の特徴の任意の変更及び更なる修正、並びにここに例示する本開示の原理の任意の追加的な適用は、当業者が本開示に基づいて容易に想到できるものであり、特許請求の範囲に含まれる。
【００３７】
ネットワークコンピューティング環境におけるオブジェクトのライフサイクルを追跡するための構造、システム、及び方法を開示及び説明する前に、本開示は、ここに開示される特定の構造、構成、プロセスステップ、及び材料に限定されず、そのような構造、構成、プロセスステップ、及び材料を変更してもよいことを明記する。また、本開示の範囲は、特許請求の範囲及びその均等物によってのみ制限されるものであるため、ここで使用される用語は、特定の実施形態を説明する目的でのみ使用され、限定を意図しないことは当然である。
【００３８】
本開示の主題を記述し特許請求する際には、以下に記載する定義に従って、以下の用語を使用する。
【００３９】
本明細書及び特許請求の範囲において使用する、単数形（冠詞「ａ」、「ａｎ」、及び「ｔｈｅ」）は、コンテキストにおける特段の指定がない限り、複数の指示対象を含む。
【００４０】
ここで使用する語句「備える」、「有する」、「含む」、「特徴とする」、及びこれらの文法的等価物は、記載されていない追加的な要素又は方法工程を除外しない非排他的又はオープンな用語である。
【００４１】
ここで使用する語句「〜からなる」及びその文法的等価物は、請求項に記載されていない任意の要素又は工程を除外する。
【００４２】
ここで使用される語句「実質的に〜からなる」及びその文法的等価物は、特許請求の範囲を、特定された材料又は工程、並びに特許請求された開示の基本的かつ新規な特性又は特徴に実質的に影響しない材料又は工程に限定する。
【００４３】
以下の説明は、図面を参照し、図１は、デバイスをインターネットに接続するためのシステム１００の概略図である。システム１００は、スイッチ１０６によって接続された複数のローカルエリアネットワーク１１０を含む。複数のローカルエリアネットワーク１１０のそれぞれは、ルータ１１２によって、公衆インターネットを介して互いに接続可能である。図１に示す例示的なシステム１００は、２つのローカルエリアネットワーク１１０を有する。但し、公衆インターネットを介して、より多くのローカルエリアネットワーク１１０を互いに接続してもよい。各ローカルエリアネットワーク１１０は、スイッチ１０６によって互いに接続された複数の演算デバイス１０８を含む。複数の演算デバイス１０８は、例えば、デスクトップコンピュータ、ラップトップ、プリンタ、サーバ等を含むことができる。ローカルエリアネットワーク１１０は、ルータ１１２によって、公衆インターネットを介して他のネットワークと通信できる。ルータ１１２は、複数のネットワークを互いに接続する。ルータ１１２は、インターネットサービスプロバイダ１０２に接続されている。インターネットサービスプロバイダ１０２は、１以上のネットワークサービスプロバイダ１０４に接続されている。ネットワークサービスプロバイダ１０４は、図１に示すように、他のローカルネットワークサービスプロバイダ１０４と通信を行う。
【００４４】
スイッチ１０６は、パケットスイッチング（packet switching）を使用してローカルエリアネットワーク１１０内のデバイスを接続し、これによりデータが受信され、処理され、宛先デバイスに転送される。スイッチ１０６は、例えば、プリンタを宛先として、コンピュータからデータを受信するように構成できる。スイッチ１０６は、データを受信し、データを処理し、データをプリンタに送信できる。スイッチ１０６は、レイヤ１スイッチ、レイヤ２スイッチ、レイヤ３スイッチ、レイヤ４スイッチ、レイヤ７スイッチ等であってもよい。レイヤ１ネットワークデバイスは、データを転送するが、デバイスを通過するトラフィックは管理しない。レイヤ１ネットワークデバイスの例は、イーサネットハブである。レイヤ２ネットワークデバイスは、ハードウェアアドレスを使用してデータリンクレイヤ（レイヤ２）でデータを処理及び転送するマルチポートデバイスである。レイヤ３スイッチは、通常ルータによって実行される機能の一部又は全てを実行できる。但し、一部のネットワークスイッチは、単一タイプの物理ネットワーク、通常は、イーサネットをサポートするように制限されており、一方、ルータは、異なるポート上の異なる種類の物理ネットワークをサポートする場合がある。
【００４５】
ルータ１１２は、コンピュータネットワーク間でデータパケットを転送するネットワーキングデバイスである。図１に示す例示的なシステム１００において、ルータ１１２は、ローカルエリアネットワーク１１０間でデータパケットを転送する。但し、ルータ１１２は、必ずしもローカルエリアネットワーク１１０間のデータパケットの転送に適用される必要はなく、ワイドエリアネットワーク等の間のデータパケットの転送に使用してもよい。ルータ１１２は、インターネット上でトラフィックダイレクション機能（traffic direction function）を実行する。ルータ１１２は、銅ケーブル、光ファイバ、又は無線伝送等の異なるタイプの物理レイヤ接続のためのインタフェースを有してもよい。ルータ１１２は、異なるネットワークレイヤ伝送規格をサポートできる。各ネットワークインタフェースを使用することによって、データパケットをある伝送システムから別の伝送システムに転送できる。また、ルータ１１２は、それぞれが異なるネットワークプレフィックスを有する、サブネットと呼ばれるコンピュータデバイスの２以上の論理グループを接続するために使用してもよい。図１に示すように、ルータ１１２は、企業内、企業とインターネットとの間、又はインターネットサービスプロバイダのネットワーク間の接続を提供できる。幾つかのルータ１１２は、様々なインターネットサービスプロバイダを相互接続するように構成してもよく、大規模な企業ネットワーク内で使用してもよい。より小さいルータ１１２は、一般に、ホームネットワーク及びオフィスネットワークのインターネットへの接続を提供する。図１に示すルータ１１２は、エッジルータ、サブスクライバエッジルータ、プロバイダ間ボーダルータ、コアルータ、インターネットバックボーン、ポート転送、音声／データ／ファックス／ビデオ処理ルータ等のネットワーク伝送に適した任意のルータを表すことができる。
【００４６】
インターネットサービスプロバイダ（ＩＳＰ）１０２は、インターネットへのアクセス、利用、又は参加のためのサービスを提供する組織である。ＩＳＰ１０２は、商用、コミュニティ所有、非営利、又は個人所有等の様々な形態で組織化できる。ＩＳＰ１０２によって一般的に提供されるインターネットサービスは、インターネットアクセス、インターネット中継、ドメイン名登録、ウェブホスティング、ユースネットサービス、及びコロケーションを含む。図１に示すＩＳＰ１０２は、ホスティングＩＳＰ、中継ＩＳＰ、仮想ＩＳＰ、無料ＩＳＰ、無線ＩＳＰ等の任意の適切なＩＳＰを表すことができる。
【００４７】
ネットワークサービスプロバイダ（ＮＳＰ）１０４は、インターネットサービスプロバイダへの直接のインターネットバックボーンアクセスを提供することによって、帯域幅又はネットワークアクセスを提供する組織である。ネットワークサービスプロバイダは、ネットワークアクセスポイント（network access point：ＮＡＰ）へのアクセスを提供できる。ネットワークサービスプロバイダ１０４は、バックボーンプロバイダ又はインターネットプロバイダとも呼ばれる。ネットワークサービスプロバイダ１０４は、電気通信業者、データキャリア、無線通信プロバイダ、インターネットサービスプロバイダ、及び高速インターネットアクセスを提供するケーブルテレビ運営業者を含むことができる。また、ネットワークサービスプロバイダ１０４は、情報技術業者を含むこともできる。
【００４８】
図１に示すシステム１００は、単なる例示であり、ネットワークと演算デバイスとの間でデータを伝送するために多くの異なる構成及びシステムを構築できる。ネットワーク形成は、カスタマイズ可能性（customizability）が高いため、コンピュータ間又はネットワーク間でデータを伝送するための最良のルートを判定する際にも、カスタマイズ可能性をより高めることが望まれている。以上の観点から、ここでは、コンピュータ又は特定の企業の特定のグループ化に良好に適合する最適パスアルゴリズムを判定する際に、カスタマイズ可能性をより高めるために、最適パス計算を外部デバイスにオフロードするためのシステム、方法、及びデバイスを開示する。
【００４９】
図２は、リーフ／スパインアーキテクチャを有する例示的なトポロジ２００の概略図である。トポロジ２００は、２つのスパインノードＳ１、Ｓ２を含む。更に、トポロジ２００は、３つのリーフノードＬ１、Ｌ２、Ｌ３を含む。リーフ／スパイントポロジでは、全てのデバイスＳ１、Ｓ２、Ｌ１、Ｌ２、Ｌ３は、同じセグメント数だけ離れている。これが可能なのは、トポロジ２００がスパインレイヤ及びリーフレイヤの２レイヤのみで構成されているためである。リーフレイヤＬ１、Ｌ２、Ｌ３は、サーバ、ファイアウォール、ロードバランサ、エッジルータ等のデバイスに接続するアクセススイッチで構成されている。スパインレイヤＳ１、Ｓ２は、ルーティングを行うスイッチで構成され、各リーフＬ１、Ｌ２、Ｌ３スイッチが各スパインＳ１、Ｓ２スイッチと相互接続されるネットワークのバックボーンとして機能する。
【００５０】
２レイヤトポロジ２００内のデバイス間の距離を予測可能にするために、動的レイヤ３ルーティング（dynamic Layer3 routing）を使用してレイヤを相互接続できる。動的ルーティングを使用すると、ネットワーク変更への応答に基づいて最適パスを判定及び調整できる。このタイプのトポロジ２００は、水平ネットワークトラフィック（East-West network traffic）に焦点を当てたデータセンタアーキテクチャに使用できる。
【００５１】
トポロジ２００を展開するネットワークは、レイヤ３ルーティングを使用できる。全てのルートは、等コストマルチパス（equal cost multipathing：ＥＣＭＰ）を使用してアクティブ状態に設定される。これにより、全ての接続を同時に使用しながら、安定した状態を維持し、ネットワーク内のループを回避できる。３層ネットワーク上のスパニングツリー（Spanning Tree）等の従来のレイヤ２スイッチングプロトコルでは、全てのデバイスでトポロジを正しく構成する必要があり、スパニングツリープロトコル（ＳＴＰ）が依存する前提条件を全て考慮する必要がある。レイヤ３ルーティングの代わりにアクセスレイヤとアグリゲーションレイヤの間のＳＴＰを削除すると、環境がより安定する。
【００５２】
トポロジ２００の更なる利点は、追加のハードウェア及び容量を容易に追加できることである。リンクのオーバーサブスクリプション（一度にアクティブリンクにアグリゲーションできるトラフィックよりも多くのトラフィックが生成されること）が発生した場合でも、容量を容易に拡張できる。すなわち、追加のスパインスイッチを追加し、アップリンクを各リーフスイッチに拡張すればよい。これにより、レイヤ間帯域幅が追加され、オーバーサブスクリプションが低減される。デバイスポートの容量が問題になる場合は、全てのスパインに新しいリーフスイッチを接続し、新しいリーフスイッチにネットワーク構成を追加することによって、新しいリーフスイッチを追加できる。
【００５３】
再び図２を参照すると、トポロジ２００は、ラベル付きＩＰ到達可能性（labeled IP reachability）のための制御プレーンとしてＢＧＰを使用できる。ここで説明するプレフィックス毎のラベル割当により、アップストリームのリーフルータＬ１、Ｌ２、Ｌ３上のＥＣＭＰグループが爆発的に増加する。図２に示すように、各スパインＳ１、Ｓ２は、プレフィックステーブルとラベルテーブルとを含む。ラベルテーブルには、スパインルータ上で割り当てられ、スパインルータからアップストリームのリーフルータにアドバタイズされるプレフィックス毎のラベルが含まれる。プレフィックス毎のラベルを使用することにより、アドバタイズ側スパインネクストホップルータに向けて、プレフィックス毎に、一意的ラベル書換がアップストリームのリーフルータにインストールされる。
【００５４】
図２に示す具体例では、リーフＬ２は、プレフィックスＰ１、Ｐ３に関連付けられる。リーフＬ３は、プレフィックスＰ２、Ｐ４に関連付けられる。プレフィックスＰ１、Ｐ２、Ｐ３、Ｐ４についての異なるラベル書換に起因して、４つの異なるＥＣＭＰパスリストがプログラムされる。包括的に言えば、ＥＣＭＰパスリストの数は、プレフィックスの数と同じである。図２〜図５におけるＬ（ｘ，ｙ）の表記は、ｓｐｉｎｅ−ｘによってｐｒｅｆｉｘ−ｙ用に割り当てられたプレフィックス毎のラベルを示す。したがって、Ｌ（ｘ，ｙ）表記の最初の数字は、スパイン番号であり、Ｌ（ｘ，ｙ）表記の２番目の数字は、プレフィックス番号である。
【００５５】
スパインＳ１、Ｓ２上のプレフィックステーブルは、プレフィックスＰ２がリーフＬ３上にあり、プレフィックスＰ４がリーフＬ３上にあり、プレフィックスＰ１がリーフＬ２上にあり、プレフィックスＰ３がリーフＬ２上にあることを示す。プレフィックステーブルは、トポロジ２００に示される２つのスパインＳ１、Ｓ２について同じである。
【００５６】
Ｓ１のラベルテーブルは、スパインＳ１が、プレフィックスＰ２に関連付けられたラベルＬ（１，２）のパケットを受信すると、パケットがリーフＬ３に送信されることを示す。同様に、スパインＳ１がプレフィックスＰ４を有するデータを受信すると、データは、リーフＬ３に送信される。更に、スパインＳ１がプレフィックスＰ１を有するデータを受信すると、そのデータは、リーフＬ２に送信される。そして、スパインＳ１がプレフィックスＰ３を有するデータを受信すると、そのデータは、リーフＬ２に送信される。
【００５７】
Ｓ２のラベルテーブルは、スパインＳ２がプレフィックスＰ２に関連付けられたラベルＬ（２，２）のパケットを受信すると、パケットがリーフＬ３に送信されることを示す。更に、スパインＳ２がプレフィックスＰ１を有するデータを受信すると、そのデータは、リーフＬ２に送信される。そして、スパインＳ２がプレフィックスＰ３を有するデータを受信すると、そのデータは、リーフＬ２に送信される。
【００５８】
図２に示すように、スパインＳ１によってプレフィックスＰ１に割り当てられたプレフィックス毎のラベルＬ（１，１）は、プレフィックスＰ１に固有のリーフＬ１上のＥＣＭＰパスリストとなる。アップストリームのリーフＬ１のプレフィックステーブルは、リーフＬ１のパスリストを示している。
【００５９】
Ｃｌｏｓネットワーク内のスパインネクストホップの集合に亘って、これは、プレフィックス毎に一意のアップストリームリーフ上のＥＣＭＰグループになる。その結果、転送ＡＳＩＣで使用できる限られたＥＣＭＰリソースは、プレフィックス間に亘って共有できず、プレフィックススケールのボトルネックになる。
【００６０】
図３は、リーフ／スパインアーキテクチャを有する例示的なトポロジ３００の概略図である。トポロジ３００は、２つのスパインノードＳ１、Ｓ２を含む。更に、トポロジ３００は、３つのリーフノードＬ１、Ｌ２、Ｌ３を含む。リーフ／スパイントポロジでは、全てのデバイスＳ１、Ｓ２、Ｌ１、Ｌ２、Ｌ３は、同じセグメント数だけ離れている。これが可能なのは、トポロジ３００がスパインレイヤ及びリーフレイヤの２レイヤのみで構成されているためである。リーフレイヤＬ１、Ｌ２、Ｌ３は、サーバ、ファイアウォール、ロードバランサ、エッジルータ等のデバイスに接続するアクセススイッチで構成されている。スパインレイヤＳ１、Ｓ２は、ルーティングを行うスイッチで構成され、各リーフＬ１、Ｌ２、Ｌ３スイッチが各スパインＳ１、Ｓ２スイッチと相互接続されるネットワークのバックボーンとして機能する。
【００６１】
図３に示すトポロジ３００は、スパイン上で割り当てられたマルチホームプレフィックス（multi-homed prefixes）を含むプレフィックス毎のラベルであるラベルの実施形態を示している。これにより、リーフノードがＣＥデバイスとして扱われることになる。スパインノードがローカルラベルをダウンストリームネクストホップリーフルータ毎（ＣＥ毎：per-CE）、又はネクストホップリーフルータのグループ毎（レジリエントＣＥ毎：resilient per-CE）に割り当てることにより、ダウンストリームリーフ又はダウンストリームリーフのグループから学習した全てのプレフィックスに対して、スパインが同じラベルをアドバタイズすることになる。これにより、アップストリームのリーフルータは、所与のスパインネクストホップに向けて、一組のリーフを起源とする全てのプレフィックスに対して、共通のラベル書換を使用できる。これにより、アップストリームのリーフルータがこれらのプレフィックスに亘ってＥＣＭＰリソースを共有できるようになる。
【００６２】
但し、場合によっては、ＣＥ毎又はレジリエントＣＥ毎スキームが制限されることがある。すなわち、この方式は、リーフノードが、常に、ローカルに付加されたプレフィックスについてＩＭＰ−ＮＵＬＬ又はＤＥＡＧラベルをアドバタイズすることを前提としているため、制限される可能性がある。スパインは、共有ＩＭＰ−ＮＵＬＬ又はＤＥＡＧラベル書換により、リーフの背後にある全てのプレフィックスへの転送に使用されるレジリエントＣＥ毎のローカルラベルをプログラムできる。更に、この方式は、単一レベルリーフ／スパインＣｌｏｓトポロジを仮定している。複数レイヤＣｌｏｓトポロジでは、レイヤ（ｎ−１）におけるスパインがレイヤ（ｎ−２）における複数のＣＥに対応付けされることにより、レイヤ（ｎ）におけるスパインがレイヤ（ｎ−１）における各スパインから複数のラベルを受信する結果となり、従って、ＣＥ毎転送セマンティックに違反が生じる。受信されるラベルは、ローカルに割り当てられたＣＥラベルのキーの一部ではないため、ＣＥ単位の転送セマンティックに違反が生じる。例えば、Ｓ１上では、異なるダウンストリームのリーフによってプレフィックスＰ１及びＰ２が学習されるため、スパインは、ラベルＬ１を有するダウンストリームのスパインＳ１からプレフィックスＰ１を学習し、ラベルＬ２を有する同じスパインＳ１からプレフィックスＰ２を学習することがある。これにより、次層のアップストリームスパインは、スパインＳ１に割り当てられたＣＥ単位ラベルと同じプレフィックスＰ１、Ｐ２をアドバタイズできなくなる。この問題は、図４に示すトポロジ４００及び図５に示すトポロジ５００によって解決される。
【００６３】
図４は、リーフ／スパインアーキテクチャを有する例示的なトポロジ４００の概略図である。トポロジ４００は、２つのスパインノードＳ１、Ｓ２を含む。更に、トポロジ４００は、３つのリーフノードＬ１、Ｌ２、Ｌ３を含む。リーフ／スパイントポロジでは、全てのデバイスＳ１、Ｓ２、Ｌ１、Ｌ２、Ｌ３は、同じセグメント数だけ離れている。これが可能なのは、トポロジ４００がスパインレイヤ及びリーフレイヤの２レイヤのみで構成されているためである。リーフレイヤＬ１、Ｌ２、Ｌ３は、サーバ、ファイアウォール、ロードバランサ、エッジルータ等のデバイスに接続するアクセススイッチで構成されている。スパインレイヤＳ１、Ｓ２は、ルーティングを行うスイッチで構成され、各リーフＬ１、Ｌ２、Ｌ３スイッチが各スパインＳ１、Ｓ２スイッチと相互接続されるネットワークのバックボーンとして機能する。
【００６４】
図４に示すラベリング方式では、各スパインＳ１、Ｓ２は、ＥＣＭＰグループと、ラベルテーブルと、プレフィックステーブルとを含む。ここでは、これをパスリスト毎ラベル割当（per-path list label allocation）と呼ぶ。スパインＳ１上のＥＣＭＰグループには、リーフＬ３を指すＥＣＭＰ１及びリーフＬ２を指すＥＣＭＰ２が含まれる。スパインＳ１上のラベルテーブルは、スパインＳ１によってＥＣＭＰグループＥＣＭＰ１に割り当てられたラベル（Ｌ（１，１）と表記する。）を含む。スパインＳ１上のラベルテーブルは、更に、スパインＳ１によってＥＣＭＰグループＥＣＭＰ２に割り当てられたラベル（Ｌ（１，２）と表記する。）を含む。スパインＳ１上のプレフィックステーブルは、プレフィックスＰ２がＥＣＭＰ１を指し、更にリーフＬ３を指すことを示す。スパインＳ１上のプレフィックステーブルは、プレフィックスＰ４がＥＣＭＰ１を指し、更にリーフＬ３を指すことを示す。スパインＳ１上のプレフィックステーブルは、プレフィックスＰ１がＥＣＭＰ２を指し、更にリーフＬ２を指すことを示す。スパインＳ１上のプレフィックステーブルは、プレフィックスＰ３がＥＣＭＰ２を指し、更にリーフＬ２を指すことを示す。
【００６５】
スパインＳ２上のＥＣＭＰグループには、リーフＬ３を指すＥＣＭＰ１及びリーフＬ２を指すＥＣＭＰ２が含まれる。スパインＳ２上のラベルテーブルは、ＥＣＭＰグループＥＣＭＰ１におけるスパインＳ２のラベル（Ｌ（２，１）と表記する。）を含み、これは、ＥＣＭＰ１を指し、更にリーフＬ３を指す。スパインＳ２上のラベルテーブルは、更に、ＥＣＭＰグループＥＣＭＰ２におけるスパインＳ２のラベル（Ｌ（２，２）と表記する。）を含み、これは、ＥＣＭＰ２を指し、更にリーフＬ２を指す。スパインＳ２上のプレフィックステーブルは、プレフィックスＰ２がＥＣＭＰ１を指し、更にリーフＬ３を指すことを示す。スパインＳ２上のプレフィックステーブルは、プレフィックスＰ４がＥＣＭＰ１を指し、更にリーフＬ３を指すことを示す。スパインＳ２上のプレフィックステーブルは、プレフィックスＰ１がＥＣＭＰ２を指し、更にリーフＬ２を指すことを示す。スパインＳ２上のプレフィックステーブルは、プレフィックスＰ３がＥＣＭＰ２を指し、更にリーフＬ２を指すことを示す。
【００６６】
リーフＬ１上のプレフィックステーブルは、プレフィックスＰ２がＥＣＭＰ１を指し、プレフィックスＰ４がＥＣＭＰ１を指し、プレフィックスＰ１がＥＣＭＰ２を指し、プレフィックスＰ３がＥＣＭＰ２を指すことを示す。リーフＬ１上のＥＣＭＰグループは、スパインＳ１、Ｌ（１，１）及びＬ（１，２）を指し、更にスパインＳ２、Ｌ（２，１）及びＬ（２，２）を指すＥＣＭＰ１を含む。図４に示すように、リーフＬ２は、プレフィックスＰ１に関連付けられ、リーフＬ３は、プレフィックスＰ２及びＰ４に関連付けられる。
【００６７】
図５は、リーフ／スパインアーキテクチャを有する例示的なトポロジ５００の概略図である。トポロジ５００は、２つのスパインノードＳ１、Ｓ２を含む。トポロジ５００は、更に、３つのリーフノードＬ１、Ｌ２、Ｌ３を含む。リーフ／スパイントポロジでは、全てのデバイスＳ１、Ｓ２、Ｌ１、Ｌ２、Ｌ３は、同じセグメント数だけ離れている。これが可能なのは、トポロジ５００がスパインレイヤ及びリーフレイヤの２レイヤのみで構成されているためである。リーフレイヤＬ１、Ｌ２、Ｌ３は、サーバ、ファイアウォール、ロードバランサ、エッジルータ等のデバイスに接続するアクセススイッチで構成されている。スパインレイヤＳ１、Ｓ２は、ルーティングを行うスイッチで構成され、各リーフＬ１、Ｌ２、Ｌ３スイッチが各スパインＳ１、Ｓ２スイッチと相互接続されるネットワークのバックボーンとして機能する。
【００６８】
スパインＳ１、Ｓ２上のＥＣＭＰグループには、Ｌ３、Ｌ２を指すＥＣＭＰ１が含まれる。スパインＳ１上のラベルテーブルには、スパインＳ１がＥＣＭＰ１を指すことを示す表記Ｌ（１，１）が含まれている。スパインＳ２上のラベルテーブルには、スパインＳ２がＥＣＭＰ１を指すことを示す表記Ｌ（２，１）が含まれている。スパインＳ１、Ｓ２上のプレフィックステーブルは、プレフィックスＰ１、Ｐ２、Ｐ３、Ｐ４が全てＥＣＭＰ１を指すことを示す。リーフＬ１のプレフィックステーブルは、プレフィックスＰ１、Ｐ２、Ｐ３、Ｐ４が全てＥＣＭＰ１を指すことを示す。リーフＬ１上のＥＣＭＰグループは、ＥＣＭＰ１がスパインＳ１、Ｓ２を指すことを示す。図５に示すように、リーフＬ２、Ｌ３は、プレフィックスＰ１、Ｐ２、Ｐ３、Ｐ４を含む。
【００６９】
図４及び図５に示すラベル構造は、図３に関して説明した前述の問題を解決する。トポロジ４００では、新しいＢＧＰローカルラベル割当スキームが、ネクストホップＣＥ及び受信ラベルパスのセット毎にローカルラベルを割り当てる。トポロジ４００、５００に示されるこのパスリスト毎ラベル割当は、各ネクストホップルータから受信したラベルをパスキーの一部とみなし、パスリスト毎ローカルラベルを割り当てるために使用されるパスリストコンテキストを考慮する。Ｃｌｏｓトポロジでは、このラベル割当スキームは、レイヤｎのスパイン上で割り当てられ、そこからアドバタイズされるラベルの数を自動的に最小数に最適化する。これは、レイヤｎ−１のダウンストリーム及びネクストホップルータからアドバタイズされるラベルの数の関数である。これは、ダウンストリームのルータで使用されるラベル割当スキームの明示的な知識を用いることなく実行される。一実施形態では、Ｃｌｏｓトポロジにおいて、このスキームは、各レイヤでルータによって使用されるラベル割当を分離しながら、各レイヤでラベル書換及びＥＣＭＰリソースの最適な共有を自動的に提供する。
【００７０】
一例として、リーフノードがＩＭＰ−ＮＵＬＬ又はＤＥＡＧラベルをアドバタイズする２レイヤリーフ／スパインＣｌｏｓトポロジにおいて、図４及び図５に示すスキームは、レジリエントＣＥ毎ラベル割当スキーム（resilient per-CE label allocation scheme）と同等のパスリスト共有最適化を提供する。リーフノードからアドバタイズされたＣＥ毎ラベルの場合、スパイン上のダウンストリームリーフ毎に同じ数のラベルが割り当てられる。これにより、プレフィックス毎のラベル割当よりもスケールが向上する。
【００７１】
図６は、ネットワーキングデバイスで送信されるデータを非同期的に受信し、並べ替える方法６００の概略的ブロック図である。方法６００は、ルータ又はスイッチ等のネットワーキングデバイスによって実行できる。一実施形態では、方法６００は、ここで説明するように、スパインノードＳ１、Ｓ２及び／又はリーフノードＬ１、Ｌ２、Ｌ３によって実行される。方法６００は、ネットワークトポロジ内のノード又は任意の他の適切な演算デバイスによって実行できる。
【００７２】
方法６００が開始されると、演算デバイスは、６０２において、ラベルを含むデータパケットを受信する。ラベルは、ネットワーキングプレフィックスを含む。続いて、方法６００の６０４において、演算デバイスは、ラベル内のネットワーキングプレフィックスを識別する。続いて、方法６００の６０６において、演算デバイスは、プレフィックステーブルに基づいて、ネットワーキングプレフィックスに関連付けられた割当済の等コストマルチパス（ＥＣＭＰ）グループを識別する。続いて、方法６００の６０８において、演算デバイスは、割当済のＥＣＭＰグループの負荷分散を行い、割当済のＥＣＭＰグループ内のアクティブなリーフノードを識別する。続いて、方法６００の６０８において、演算デバイスは、割当済のＥＣＭＰグループ内のアクティブなリーフノードにデータパケットを転送する。
【００７３】
図７は、例示的な演算デバイス７００のブロック図である。演算デバイス７００を使用して、ここで説明するような様々な手順を実行できる。一実施形態では、演算デバイス７００は、非同期オブジェクトマネージャの機能を実行するように機能でき、１以上のアプリケーションプログラムを実行できる。演算デバイス７００は、デスクトップコンピュータ、インダッシュコンピュータ、車両制御システム、ノートブックコンピュータ、サーバコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ等の多種多様な演算デバイスの何れであってもよい。
【００７４】
演算デバイス７００は、１以上のプロセッサ７０２と、１以上のメモリデバイス７０４と、１以上のインタフェース７０６と、１以上の大容量ストレージデバイス７０８と、１以上の入出力デバイス７１０と、表示デバイス７３０とを含み、これらは、全てバス７１２に接続されている。プロセッサ７０２は、メモリデバイス７０４及び／又は大容量ストレージデバイス７０８に格納された命令を実行する１以上のプロセッサ又はコントローラを含む。また、プロセッサ７０２は、キャッシュメモリ等の種々のタイプのコンピュータ可読媒体を含むことができる。
【００７５】
メモリデバイス７０４は、揮発性メモリ（例えば、ランダムアクセスメモリ（random access memory：ＲＡＭ）７１４）及び／又は不揮発性メモリ（例えば、読出専用メモリ（read-only memory：ＲＯＭ）７１６）等の種々のコンピュータ可読媒体を含む。また、メモリデバイス７０４は、フラッシュメモリ等の書換可能ＲＯＭを含むことができる。
【００７６】
大容量ストレージデバイス７０８は、磁気テープ、磁気ディスク、光ディスク、ソリッドステートメモリ（フラッシュメモリ等）等の種々のコンピュータ可読媒体を含む。図７に示すように、具体的な大容量ストレージデバイスは、ハードディスクドライブ７２４である。大容量ストレージデバイス７０８には、種々のコンピュータ可読媒体からの読出及び／又は種々のコンピュータ可読媒体への書込を可能にするために、種々のドライブを含めることもできる。大容量ストレージデバイス７０８は、リムーバブルメディア７２６及び／又は非リムーバブルメディアを含む。
【００７７】
入出力（Ｉ／Ｏ）デバイス７１０は、データ及び／又は他の情報を演算デバイスに入力し又は演算デバイス７００から取り出すことを可能にする様々なデバイスを含む。Ｉ／Ｏデバイス７１０には、カーソル制御デバイス、キーボード、キーパッド、マイクロホン、モニタ又は他の表示デバイス、スピーカ、プリンタ、ネットワークインタフェースカード、モデム等が含まれる。
【００７８】
表示デバイス７３０は、演算デバイス７００の１人以上のユーザに情報を表示できる任意のタイプのデバイスを含む。表示デバイス７３０としては、例えば、モニタ、表示端末、映像投影デバイス等が挙げられる。
【００７９】
インタフェース７０６は、演算デバイス７００が他のシステム、デバイス、又はコンピューティング環境とインタラクションすることを可能にする様々なインタフェースを含む。インタフェース７０６は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク、及びインターネットへのインタフェースのような、任意の数の異なるネットワークインタフェース７２０を含むことができる。他のインタフェースは、ユーザインタフェース７１８及び周辺デバイスインタフェース７２２を含む。また、インタフェース７０６は、１以上のユーザインタフェース要素７１８を含むことができる。更に、インタフェース７０６は、プリンタ、ポインティングデバイス（マウス、トラックパッド、又は当業者に現在知られている任意の適切なユーザインタフェース、又は今後開発される任意の適切なユーザインタフェース）、キーボード等のためのインタフェース等、１以上の周辺インタフェースを含んでもよい。
【００８０】
バス７１２は、プロセッサ７０２、メモリデバイス７０４、インタフェース７０６、大容量ストレージデバイス７０８、及びＩ／Ｏデバイス７１０が互いに、及びバス７１２に接続された他のデバイス又はコンポーネントと通信することを可能にする。バス７１２は、システムバス、ＰＣＩバス、ＩＥＥＥバス、ＵＳＢバス等の幾つかのタイプのバス構造のうちの１以上を表す。
【００８１】
ここでは、説明のため、プログラム及び他の実行可能プログラム構成要素を個別のブロックとして示しているが、このようなプログラム及び構成要素は、演算デバイス７００の異なる記憶構成要素内に様々な時点で存在してもよく、プロセッサ７０２によって実行される。これに代えて、ここに記載のシステム及び手順は、ハードウェアで実現してもよく、ハードウェア、ソフトウェア、及び／又はファームウェアの組み合わせで実現してもよい。例えば、ここに記載のシステム及び手順の１以上を実行するように１以上の特定用途向け集積回路（application specific integrated circuit：ＡＳＩＣ）をプログラムできる。
【００８２】
上記の記述は、例示及び説明を目的としている。本開示は、ここに説明する詳細な形式に排他的に限定されない。上記の教示を参照することにより、多くの変更及び変形が可能である。更に、前述の変形例の何れか又は全ては、任意に組み合わせることができ、本開示の更なる組み合わせ例を形成できる。
【００８３】
更に、本開示の具体的な実施例を説明及び図示しているが、本開示は、そのように説明及び図示された部分の具体的な形態又は配置に限定されるものではない。本開示の範囲は、本願の特許請求の範囲によって定義され、あるいは、将来に提出される特許請求の範囲、本願に基づく別出願、及びこれらの均等物があれば、これらによって定義される。
【実施例】
【００８４】
以下の実施例は、更なる実施形態に関する。
【００８５】
実施例１は、システムである。システムは、スパインノード及び複数のリーフノードを含むネットワークトポロジを含む。システムは、複数のリーフノードのうちの少なくとも１つが１以上のネットワーキングプレフィックスに関連付けられるようになっている。スパインノードには、プレフィックステーブルが格納される。プレフィックステーブルには、ネットワークトポロジ内のネットワーキングプレフィックスのリストが含まれる。プレフィックステーブルは、ネットワークトポロジ内のネットワーキングプレフィックスのそれぞれに関連付けられた少なくとも１つの等コストマルチパスルーティング（ＥＣＭＰ）グループの指示情報を含む。プレフィックステーブルは、ネットワークトポロジ内のネットワーキングプレフィックスのそれぞれに関連付けられた複数のリーフノードのうちの少なくとも１つのリーフノードの指示情報を含む。
【００８６】
実施例２は、スパインノードは、更に、スパインノードに関連付けられた少なくとも１つのＥＣＭＰグループを示すと共に、複数のリーフノードのうちのどれが少なくとも１つのＥＣＭＰグループに関連付けられているかを更に示すラベルテーブルを備える、実施例１に記載のシステムである。
【００８７】
実施例３は、複数のリーフノードのそれぞれは、プレフィックステーブルを備え、プレフィックステーブルは、ネットワークトポロジ内のネットワーキングプレフィックスのリストと、ネットワークトポロジ内のネットワーキングプレフィックスのそれぞれに関連付けられたＥＣＭＰグループの指示情報とを含む、実施例１〜２の何れかに記載のシステムである。
【００８８】
実施例４は、複数のリーフノードのそれぞれは、少なくとも１つのＥＣＭＰグループに関連付けられる、実施例１〜３の何れかに記載のシステムである。
【００８９】
実施例５は、スパインノード上に１以上のＥＣＭＰグループがある、実施例１〜４の何れかに記載のシステムである。
【００９０】
実施例６は、スパインノード上に単一のＥＣＭＰグループがあり、単一のＥＣＭＰグループが複数のリーフノードの２以上のリーフノードを指す、実施例１〜５の何れかに記載のシステムである。
【００９１】
実施例７は、ネットワーキングプレフィックスは、インターネットプロトコル（ＩＰ）アドレスプレフィックスである、実施例１〜６の何れかに記載のシステムである。
【００９２】
実施例８は、スパインノードは、ルータであり、複数のリーフノードの少なくとも１つは、民生用電子機器である、実施例１〜７の何れかに記載のシステムである。
【００９３】
実施例９は、ネットワークトポロジは、複数のスパインノードを含み、複数のスパインノードのそれぞれは、複数のリーフノードのそれぞれと通信する、実施例１〜８の何れかに記載のシステムである。
【００９４】
実施例１０は、スパインノードは、適用可能なＥＣＭＰグループ内でパケット毎の負荷分散を行うことを含むルーティングポリシを実装するように構成されている、実施例１〜９の何れかに記載のシステムである。
【００９５】
実施例１１は、非一時的コンピュータ可読記憶媒体に格納された命令を実行するように構成可能な１以上のプロセッサであり、命令は、ネットワーキングプレフィックスを含むラベルを含むデータパケットを受信することと、ネットワーキングプレフィックスを識別することと、プレフィックステーブルに基づいて、ネットワーキングプレフィックスに関連付けられた割当済の等コストマルチパス（ＥＣＭＰ）グループを識別することと、割当済のＥＣＭＰグループ内のリーフノードにパケットを転送することとを含む。
【００９６】
実施例１２は、命令は、更に、割当済のＥＣＭＰグループの負荷分散を行い、割当済のＥＣＭＰグループ内のアクティブなリーフノードを識別することを含む、実施例１１に記載の１以上のプロセッサである。
【００９７】
実施例１３は、命令は、更に、リーフ／スパインネットワークトポロジ内のスパインノードに関連する１以上のＥＣＭＰグループの指示情報を含むラベルテーブルを保存することを含む、実施例１１又は１２に記載の１以上のプロセッサである。
【００９８】
実施例１４は、命令は、更に、プレフィックステーブルを保存することを含み、プレフィックステーブルは、リーフ／スパインネットワークトポロジにおける複数のリーフノードの指示情報と、複数のリーフノードのそれぞれに関連する１以上のネットワーキングプレフィックスの指示情報と、複数のリーフノードのそれぞれに関連する１以上のＥＣＭＰグループの指示情報とを含む、実施例１１〜１３の何れかに記載の１以上のプロセッサである。
【００９９】
実施例１５は、命令は、複数のリーフノードを含む２レイヤリーフ／スパインネットワークトポロジ内のスパインノードによって実装され、スパインノードは、複数のリーフノードのそれぞれと通信する、実施例１１〜１４の何れかに記載の１以上のプロセッサである。
【０１００】
実施例１６は、方法である。方法は、ネットワーキングプレフィックスを含むラベルを含むデータパケットを受信することを含む。方法は、ネットワーキングプレフィックスを識別することを含む。方法は、プレフィックステーブルに基づいて、ネットワーキングプレフィックスに関連付けられた割当済の等コストマルチパス（ＥＣＭＰ）グループを識別することを含む。方法は、割当済のＥＣＭＰグループ内のリーフノードにパケットを転送することを含む。
【０１０１】
実施例１７は、更に、ＥＣＭＰグループの負荷分散を行い、ＥＣＭＰグループ内のアクティブなリーフノードを識別することを含む、実施例１６に記載の方法である。
【０１０２】
実施例１８は、更に、リーフ／スパインネットワークトポロジ内のスパインノードに関連する１以上のＥＣＭＰグループの指示情報を含むラベルテーブルを保存することを含む、実施例１６又は１７に記載の方法である。
【０１０３】
実施例１９は、更に、プレフィックステーブルを保存することを含み、プレフィックステーブルは、リーフ／スパインネットワークトポロジにおける複数のリーフノードの指示情報と、複数のリーフノードのそれぞれに関連する１以上のネットワーキングプレフィックスの指示情報と、複数のリーフノードのそれぞれに関連する１以上のＥＣＭＰグループの指示情報とを含む、実施例１６〜１８の何れかに記載の方法である。
【０１０４】
実施例２０は、方法は、複数のリーフノードを含む２レイヤリーフ／スパインネットワークトポロジ内のスパインノードによって実装され、スパインノードは、複数のリーフノードのそれぞれと通信する、実施例１６〜１９の何れかに記載の方法である。
【０１０５】
なお、上述の構成、実施例、及び実施形態の任意の特徴は、ここに開示する構成、実施例、及び実施形態の何れかから得られる特徴の組み合わせを含む単一の実施形態において組み合わせることができる。
【０１０６】
ここに開示する種々の特徴は、当技術分野における重要な利点及び進歩を提供する。以下の特許請求の範囲は、これらの特徴の幾つかの例示である。
【０１０７】
本開示の前述の詳細な説明では、開示を合理化する目的で、開示の様々な特徴を１つの実施形態にまとめている。この開示方法は、特許請求された開示が各請求項において明示的に記載されている特徴よりも多くの特徴を必要とするという意図を反映していると解釈されるべきではない。すなわち、本発明の態様の特徴は、先に開示した単一の実施形態の全ての特徴よりも少ない。
【０１０８】
上記の構成は、本開示の原理の適用の単なる例示である。当業者は、本開示の思想及び範囲から逸脱することなく、多くの変更及び代替の構成を想到でき、特許請求の範囲は、このような修正及び構成を網羅することを意図している。
【０１０９】
したがって、本開示を図面に示し、上に詳細に説明しているが、ここに記載されている原理及び概念から逸脱することなく、サイズ、材料、形状、形態、機能、動作、組み立て、及び使用のバリエーションを含むと共に、これらに限定されない多数の変更を想到できることは、当業者にとって明らかである。
【０１１０】
更に、ここに記載される機能は、適切な場合、ハードウェア、ソフトウェア、ファームウェア、デジタルコンポーネント、又はアナログコンポーネントのうちの１以上において実行できる。例えば、１以上の特定用途向け集積回路（application specific integrated circuit：ＡＳＩＣ）又はフィールドプログラマブルゲートアレイ（field programmable gate array：ＦＰＧＡ）をプログラムして、ここに記載のシステム及び手順の１以上を実行できる。説明及び特許請求の範囲を通して、特定のシステム構成要素を指すために、特定の用語を使用している。構成要素は、異なる名称で呼ぶことができることは、当業者にとって明らかである。本文書は、名称が異なるが機能が同じコンポーネントを区別することを意図していない。
【０１１１】
上記の記述は、例示及び説明を目的としている。本開示は、ここに説明する詳細な形式に排他的に限定されない。上記の教示を参照することにより、多くの変更及び変形が可能である。更に、前述の変形例の何れか又は全ては、任意に組み合わせることができ、本開示の更なる組み合わせ例を形成できる。
【０１１２】
更に、本開示の具体的な実施例を説明及び図示しているが、本開示は、そのように説明及び図示された部分の具体的な形態又は配置に限定されるものではない。本開示の範囲は、本願の特許請求の範囲によって定義され、あるいは、将来に提出される特許請求の範囲、本願に基づく別出願、及びこれらの均等物があれば、これらによって定義される。
【図１】
2021535695.tif 000003
【図２】
2021535695.tif 000004
【図３】
2021535695.tif 000005
【図４】
2021535695.tif 000006
【図５】
2021535695.tif 000007
【図６】
2021535695.tif 000008
【図７】
2021535695.tif 000009
【国際調査報告】
2021535695.tif 000010