特許第6321628号(P6321628)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テレフオンアクチーボラゲット エル エム エリクソン(パブル)の特許一覧

特許6321628パケットデータネットワーキングにおける輻輳制御
<>
  • 特許6321628-パケットデータネットワーキングにおける輻輳制御 図000005
  • 特許6321628-パケットデータネットワーキングにおける輻輳制御 図000006
  • 特許6321628-パケットデータネットワーキングにおける輻輳制御 図000007
  • 特許6321628-パケットデータネットワーキングにおける輻輳制御 図000008
  • 特許6321628-パケットデータネットワーキングにおける輻輳制御 図000009
  • 特許6321628-パケットデータネットワーキングにおける輻輳制御 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6321628
(24)【登録日】2018年4月13日
(45)【発行日】2018年5月9日
(54)【発明の名称】パケットデータネットワーキングにおける輻輳制御
(51)【国際特許分類】
   H04L 12/827 20130101AFI20180423BHJP
   H04L 12/851 20130101ALI20180423BHJP
【FI】
   H04L12/827
   H04L12/851
【請求項の数】19
【全頁数】20
(21)【出願番号】特願2015-509558(P2015-509558)
(86)(22)【出願日】2013年5月2日
(65)【公表番号】特表2015-519823(P2015-519823A)
(43)【公表日】2015年7月9日
(86)【国際出願番号】IB2013053504
(87)【国際公開番号】WO2013164795
(87)【国際公開日】20131107
【審査請求日】2016年4月1日
(31)【優先権主張番号】13/464,182
(32)【優先日】2012年5月4日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】598036300
【氏名又は名称】テレフオンアクチーボラゲット エルエム エリクソン(パブル)
(74)【代理人】
【識別番号】100095957
【弁理士】
【氏名又は名称】亀谷 美明
(72)【発明者】
【氏名】ベヘシュティ ザヴァーレ、ネダ
(72)【発明者】
【氏名】チャン、イン
【審査官】 衣鳩 文彦
(56)【参考文献】
【文献】 米国特許出願公開第2004/0136379(US,A1)
【文献】 特開2006−166059(JP,A)
【文献】 特開2011−151490(JP,A)
【文献】 CSABA SIMON,SCALABLE QUALITY OF SERVICE SOLUTIONS FOR IP NETWORKS AND SERVICES,[ONLINE],2011年10月 1日,P1-6,15-26,43-46,56,98,URL,http://www.omikk.bme.hu/collections/phd/Villamosmernoki_es_Informatikai_Kar/2012/Simon_Csaba/ertekezes.pdf
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/827
H04L 12/851
(57)【特許請求の範囲】
【請求項1】
1つのスイッチの入口ポートと他のスイッチの出口ポートの間のリンクとの入口及び出口ポートを伴うパケットデータスイッチのネットワークに連結される中央コントローラにおいて実行される方法であって、前記方法は、前記リンク上のトラフィックを抑制するためのものであり、前記ネットワーク内の複数のユーザのパケットは、サービス品質を保証する単位である個々のユーザごとにではなく複数の前記ユーザをまたいで複数のパケットトラフィックグループへとグループ化され、各パケットトラフィックグループは、前記ネットワークの事業者により割り当てられる重みを有し、前記方法は、
前記ネットワークの輻輳しているリンクを識別することと、当該リンクは入口ポートから出口ポートへの複数のパケットトラフィックグループからのトラフィックを有することと、
前記パケットトラフィックグループの前記重み及び前記パケットトラフィックグループの現在トラフィックレートに基づいて、輻輳している前記リンクのパケットトラフィックグループについて抑制レートを決定することと、
決定した前記抑制レートを前記中央コントローラから前記ネットワークの入口スイッチへ送信することと、当該入口スイッチは、前記リンクの入口ポートへ連結されている出口ポートを有することと、
を含む方法。
【請求項2】
輻輳しているリンクを識別することは、前記ネットワークの報告スイッチから輻輳メッセージを受信することを含む、請求項1の方法。
【請求項3】
前記輻輳メッセージに応答して、前記入口スイッチにトラフィック統計値リクエストを送信することをさらに含む、請求項2の方法。
【請求項4】
前記入口スイッチからトラフィック統計値を受信することをさらに含み、
抑制レートを決定することは、受信した前記トラフィック統計値を使用して抑制レートを決定することを含む、
請求項3の方法。
【請求項5】
トラフィック統計値を受信することは、受信した前記輻輳メッセージに関連して、リンク上のパケットトラフィックグループのトラフィックレートについての値を受信することを含む、
請求項4の方法。
【請求項6】
前記中央コントローラにおいて複数のスイッチからトラフィック統計値を集めることをさらに含み、
輻輳しているリンクを識別することは、
集められた前記トラフィック統計値を使用して、リンクについての現在のパケットデータのトラフィック負荷を決定することと、
前記現在のパケットデータのトラフィック負荷を前記リンクについてのトラフィック帯域幅と比較することと、
を含む、請求項1の方法。
【請求項7】
現在の負荷を決定することは、前記ネットワークのスイッチからのパケットデータのトラフィック統計値をリクエストすることを含む、請求項6の方法。
【請求項8】
前記パケットをパケットトラフィックグループに分類することをさらに含む、請求項1の方法。
【請求項9】
抑制レートを決定することは、前記パケットトラフィックグループの現在トラフィックレートの、輻輳している前記リンクについてのトラフィック帯域幅に対する比を計算することを含む、請求項1の方法。
【請求項10】
前記パケットトラフィックグループについての前記重みは、前記リンクについての前記トラフィック帯域幅のうちの、前記パケットトラフィックグループにより使用され得る部分を提供する、請求項9の方法。
【請求項11】
前記抑制レートは、前記現在トラフィックレートの、許容されるトラフィックレートに対する前記比に比例する、請求項9の方法。
【請求項12】
各パケットトラフィックグループは、共通のポート番号を有するパケット、共通の発信元IPアドレスを有するパケット、共通の宛て先IPアドレスを有するパケット、共通のユーザを有するパケットのうち、少なくとも1つを含む、請求項1の方法。
【請求項13】
決定された前記抑制レートを前記入口スイッチにおいて受信することと、
前記抑制レートに基づいて前記パケットトラフィックグループの着信データパケットを破棄することと、
をさらに含む、請求項1の方法。
【請求項14】
1つのスイッチの入口ポートと他のスイッチの出口ポートの間のリンクとの入口及び出口ポートを伴うパケットデータスイッチのネットワークに連結されるネットワークエレメントであって、前記ネットワークエレメントは、前記リンク上のトラフィックを抑制するための中央コントローラとして動作し、前記ネットワークエレメントは、ネットワークプロセッサと、送信ポートとを含み、前記ネットワーク内の複数のユーザのパケットは、サービス品質を保証する単位である個々のユーザごとにではなく複数の前記ユーザをまたいで複数のパケットトラフィックグループへとグループ化され、各パケットトラフィックグループは、前記ネットワークの事業者により割り当てられる重みを有し、
前記ネットワークプロセッサは、前記ネットワークの輻輳しているリンクを識別するため、及び、前記パケットトラフィックグループの前記重み及び前記パケットトラフィックグループの現在トラフィックレートに基づいて、輻輳している前記リンクのパケットトラフィックグループについて抑制レートを決定するためのものであり、
当該リンクは入口ポートから出口ポートへの複数のパケットトラフィックグループからのトラフィックを有し、
前記送信ポートは、前記ネットワークに連結されて、決定した前記抑制レートを前記ネットワークエレメントから前記リンクの入口スイッチへ送信するためのものであり、当該入口スイッチは、前記リンクの入口ポートへ連結されている出口ポートを有する、
ネットワークエレメント。
【請求項15】
前記ネットワークの複数のスイッチからのトラフィック統計値を集めるための受信ポートと、
集められた前記トラフィック統計値を格納するためのメモリと、
をさらに含み、
前記ネットワークプロセッサは、集められた前記トラフィック統計値を使用してリンクについての現在のパケットデータのトラフィック負荷を決定し、前記現在のパケットデータのトラフィック負荷を前記リンクについてのトラフィック帯域幅と比較することにより、輻輳しているリンクを識別する、請求項14のネットワークエレメント。
【請求項16】
前記ネットワークプロセッサは、前記送信ポートを介して前記ネットワークのスイッチからのパケットデータのトラフィック統計値をリクエストすることにより現在の負荷を決定する、
請求項15のネットワークエレメント。
【請求項17】
前記ネットワークプロセッサは、前記パケットトラフィックグループの現在トラフィックレートの、輻輳している前記リンクについてのトラフィック帯域幅に対する比を計算することにより、抑制レートを決定する、請求項15のネットワークエレメント。
【請求項18】
パケットデータスイッチのネットワークに連結されるネットワークエレメントであって、
前記ネットワークエレメントは、1つのスイッチの入口ポートと他のスイッチの出口ポートの間で前記ネットワークのパケットデータスイッチと共にリンクを形成するための入口及び出口ポートを有し、前記ネットワーク内の複数のユーザのパケットは、サービス品質を保証する単位である個々のユーザごとにではなく複数の前記ユーザをまたいで複数のパケットトラフィックグループへとグループ化され、各パケットトラフィックグループは、前記ネットワークの事業者により割り当てられる重みを有し、
前記ネットワークエレメントは、中央コントローラからの命令に基づいて、前記ネットワークエレメントが接続されている前記リンク上のトラフィックを抑制するように動作し、
前記ネットワークエレメントは、
前記リンク上の現在のパケットデータのトラフィック負荷を前記リンクの前記パケットデータのトラフィック帯域幅と比較することにより、前記ネットワークの輻輳しているリンクを識別するためのプロセッサと、
前記ネットワークの中央コントローラに輻輳メッセージを送信するための送信ポートとを含み、
当該トラフィック負荷は、複数の前記パケットトラフィックグループからのトラフィックを含み、当該リンクは、前記ネットワークエレメントの入口ポートからの複数の前記パケットトラフィックグループからのトラフィックを有し、
前記ネットワークエレメントは、前記中央コントローラから抑制レートを受信するための受信ポートをさらに含み、
前記抑制レートは、前記パケットトラフィックグループの前記重み及び前記パケットトラフィックグループの現在トラフィックレートに基づく、輻輳している前記リンクのパケットトラフィックグループについてのものであり、
前記プロセッサは、前記抑制レートに基づいて前記パケットトラフィックグループの着信データパケットを破棄するためのものである、
ネットワークエレメント。
【請求項19】
前記中央コントローラに送信するためのトラフィック統計値を収集するためのメモリをさらに含み、
前記トラフィック統計値は、パケットトラフィックグループにより識別されるリンクについてのパケットデータのトラフィック負荷を含む、
請求項18のネットワークエレメント。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、パケットデータネットワークにおいて中央コントローラで輻輳を制御することに関し、より具体的には、パケットトラフィックグループ及び各トラフィックグループについての重みを用いてリンクを通じて輻輳を制御することに関する。
【背景技術】
【0002】
TCP(Transmission Control Protocol)は、数十年にわたってパケットデータネットワーキングのための信頼性のあるトランスポートレイヤプロトコルとして使用されてきた。特に、TCPは、TCP/IPのためにIP(Internet Protocol)と組み合わせて扱われ、年々継続的に改善されてきている。
【0003】
インターネットにおいて、パケットのロスは、送信エラーを理由として生じ得るが、より一般的には輻輳を理由として生じる。TCPは、エンドツーエンドのパケットロスを扱う輻輳制御メカニズムを有し、ネットワーク内で許容される確認応答のなされていない未処理のデータセグメントの数を削減することにより対応する。
【0004】
しかしながら、全てのインターネットアプリケーションがTCPを使用するわけではなく、従って、輻輳制御の同じ概念に従うわけではない。ある音声/映像ストリーミングアプリケーションは、例えば、TCPではなくUDP(User Datagram Protocol)を使用する。ストリーミングは、現在のところ、インターネットオーディオプレーヤ、IPテレフォニー、ビデオ会議及び類似のタイプのリアルタイムアプリケーションのために使用されている。それらアプリケーションは、通常、TCP準拠の輻輳制御メカニズムと一体化しておらず、TCPフローが他のフローをいかに処理するかとは異なるように、競合するTCPフローを処理する。典型的には、輻輳に遭遇すると、全ての争い合うTCPフローは、輻輳を解消するための試みにおいて自身のデータレートを削減し、一方で非TCPフローは、自身のもとのレートで送信を続ける。これは、TCPトラフィックの欠乏、又は輻輳の破綻さえもたらし得る。ネットワーク内の利用可能な帯域幅は、その宛て先への到達前の輻輳を理由に破棄されるパケットにより、ほとんど排他的に占有される。輻輳制御は、動作が分散的なやり方で行われネットワーク全体の輻輳ステータスに関する限定的な知識に基づくために、TCP及び他のメカニズムにおいてさらに限定される。
【発明の概要】
【課題を解決するための手段】
【0005】
方法は、パケットデータネットワークのリンク内の輻輳を制御するためのネットワークエレメントにおいて実装される。輻輳しているリンクは識別され、輻輳しているリンクを横断する1以上のトラフィックグループについて抑制レートが決定される。中央コントローラは、リンクを経由するグループの重み及びグループの現在トラフィックレートを使用して抑制レートを決定する。抑制レートは、影響を受ける各グループについてのトラフィックを抑制するために、スイッチに送信される。
【0006】
ユーザ(又はアプリケーション)は、トラフィックグループにグループ化されることができ、トラフィックグループには、重みを用いて優先順位が付けられる。各グループのトラフィックには、輻輳が発生している間、割り当てられた優先度の重みに従って異なる処理が行われ得る。
【0007】
多くのスイッチを有するネットワークは、単一の集中型コントローラにより制御され得る。これは、ネットワークにおいて輻輳ステータスのネットワーク全体のビューを提供する。このビューを用いて、より知的で効果的な輻輳制御の決定が行われることができる。
【0008】
一実施形態では、方法は、1つのスイッチの入口ポートと他のスイッチの出口ポートの間のリンクとの入口及び出口ポートを伴うパケットデータスイッチのネットワークに連結される中央コントローラエレメントにおいて実行される。中央コントローラは、ネットワークの輻輳しているリンクを識別し、当該リンクは入口ポートから出口ポートへの複数のパケットトラフィックグループからのトラフィックを有する。それは、グループの重み及びグループの現在トラフィックレートに基づいて、輻輳しているリンクのパケットトラフィックグループについて抑制レートを決定し、決定した抑制レートを中央コントローラからネットワークの入口スイッチへ送信し、当該入口スイッチは、リンクの入口ポートへ連結されている出口ポートを有する。
【0009】
別の実施形態では、ネットワークエレメントは、1つのスイッチの入口ポートと他のスイッチの出口ポートの間のリンクとの入口及び出口ポートを伴うパケットデータスイッチのネットワークに連結され、当該ネットワークエレメントは、当該リンク上のトラフィックを抑制するための中央コントローラとして動作する。ネットワークコントローラは、ネットワークの輻輳しているリンクを識別するため、及び、グループの重み及びグループの現在トラフィックレートに基づいて、輻輳しているリンクのパケットトラフィックグループについて抑制レートを決定するためのネットワークプロセッサと、ネットワークに連結されて、決定した抑制レートをネットワークエレメントからリンクの入口スイッチへ送信するための送信ポートとを含み、当該リンクは入口ポートから出口ポートへの複数のパケットトラフィックグループからのトラフィックを有し、当該入口スイッチは、リンクの入口ポートへ連結されている出口ポートを有する。
【0010】
別の実施形態では、ネットワークエレメントは、パケットデータスイッチのネットワークに連結され、1つのスイッチの入口ポートと他のスイッチの出口ポートの間でネットワークのパケットデータスイッチと共にリンクを形成するための入口及び出口ポートを有し、中央コントローラからの命令に基づいて、それが接続されているリンク上のトラフィックを抑制するように動作する。当該ネットワークエレメントは、また、前記リンク上の現在のパケットデータトラフィック負荷をリンクのパケットデータのトラフィック帯域幅と比較することにより、ネットワークの輻輳しているリンクを識別するためのプロセッサと、ネットワークの中央コントローラに輻輳メッセージを送信するための送信ポートとを含み、当該負荷は、複数のパケットトラフィックグループからのトラフィックを含み、当該リンクは、ネットワークエレメントの入口ポートからの複数のパケットトラフィックグループからのトラフィックを有する。
【図面の簡単な説明】
【0011】
本発明は、添付図面の図において、限定ではなく例示として説明され、同様の参照符号は同様のエレメントを示す。本開示における“一の("an"又は"one")”実施形態に対する異なる参照符号は、必ずしも同一の実施形態というわけではなく、そのような参照符号は、少なくとも1つを意味することに留意すべきである。さらに、特定の特徴、構造、又は特性が、実施形態に関連して記載される場合、明示的に記載されているか否かに関わらず、それは他の実施形態にも適用され得る。
【0012】
図1】簡単なOpenFlowネットワークのための例としてのアーキテクチャの一実施形態の図である。
図2】発明の実施形態に係る、中央コントローラ及び輻輳しているリンクを有するネットワークエリアの図である。
図3】発明の実施形態に係る、パケットデータネットワークにおける輻輳制御のための処理フロー図である。
図4】発明の実施形態に係る、ネットワーク内の輻輳しているリンクに関するスイッチ及びコントローラ間のメッセージングのための処理フロー図である。
図5】発明の実施形態に係る、スプリットアーキテクチャネットワークの一例としての実施形態の図である。
図6】発明の実施形態に係る、コントローラ又はスイッチを実装するネットワークエレメントの一実施形態の図の図である。
【発明を実施するための形態】
【0013】
以下の説明では、多数の特定の詳細が記載されている。しかしながら、発明の実施形態は、これらの特定の詳細なしに実施され得ると理解される。他の例では、本説明の理解を曖昧にしないために、周知の回路、構造及び技術については詳細に示されていない。しかし、当然のことながら、発明はそのような特定の詳細なしに当業者によって実施され得る。当業者は、含まれる説明があれば、過度の実験を行うことなく適切な機能を実装することができるであろう。
【0014】
フロー図の動作は、図の例となる実施形態を参照して説明されるであろう。しかしながら、フロー図の動作は、議論されるもの以外の発明の実施形態により実行されることができ、説明される実施形態は、フロー図を参照して議論されるものとは異なる動作を実行することができる。
【0015】
図に示される技術は、1以上の電子装置(例えば、エンドステーション、ネットワークエレメント、サーバ又は同様の電子装置)上に格納及び実行されるコード及びデータを使用して実装されることができる。そのような電子装置は、非一時的機械可読又はコンピュータ可読記憶媒体(例えば、磁気ディスク、光ディスク、RAM、ROM、フラッシュメモリ装置、及び相変化メモリ)といった、非一時的機械可読又はコンピュータ可読媒体を使用して、コード及びデータを(内部的に及び/又はネットワークを介して他の電子装置と)格納及び通信する。さらに、そのような電子装置は、典型的には、1以上の記憶装置、ユーザ入力/出力装置(例えば、キーボード、タッチスクリーン、及び/又はディスプレイ)及びネットワーク接続といった、1以上の他のコンポーネントに連結される1以上のプロセッサ一式を含む。プロセッサ一式と他のコンポーネントとの連結は、典型的には、1以上のバス及びブリッジ(バスコントローラとも称する)を介してなされる。記憶装置は、1以上の非一時的機械可読記憶媒体又はコンピュータ可読記憶媒体、及び非一時的機械可読通信媒体又はコンピュータ可読通信媒体を表す。したがって、所与の電子装置の記憶装置は、典型的には、その電子装置の1以上のプロセッサ一式上で実行するためのコード及び/又はデータを格納する。当然のことながら、発明の実施形態の1以上の部分は、ソフトウェア、ファームウェア及び/又はハードウェアを使用して実装され得る。
【0016】
ここで用いられるように、ネットワークエレメント(例えば、ルータ、スイッチ、ブリッジ、又は同様のネットワーキング装置)は、ネットワーク上の他の機器(例えば、他のネットワークエレメント、エンドステーション、又は同様のネットワーキング装置)を通信可能に相互接続するハードウェア及びソフトウェアを含む、1つのネットワーキング機器である。いくつかのネットワークエレメントは、複数のネットワーキング機能(例えば、ルーティング、ブリッジング、スイッチング、レイヤ2集約、セッションボーダコントロール、マルチキャスティング、及び/若しくは加入者管理)のためのサポートを提供し、並びに/又は複数のアプリケーションサービス(例えば、データ収集)のためのサポートを提供する、“複数のサービスネットワークエレメント”である。
【0017】
単一のアクセス/集約ネットワークは、複数の従来のルータと共に作動する複数の個別のスプリットアーキテクチャで構成されることができる。ここで使用される、スプリットアーキテクチャエリアは、ドメインと類似の別個のルーティングを有するスプリットアーキテクチャネットワークの一部である。これは、ネットワークの堅牢性又は制御プレーンの拡張性のため、広域の地理的エリアにわたる管理(administration)を簡略化するために行われ得る。それぞれのスプリットアーキテクチャエリアは、別個のコントローラにより管理され得る。特定のアプリケーションに依存して、これらの個別のスプリットアーキテクチャエリアのコントローラは、スプリットアーキテクチャネットワークの適切な管理のためにいくつかの情報を共有し、交換する必要がある。
【0018】
スプリットアーキテクチャネットワーク設計は、制御プレーン及び転送又はデータプレーンとも称される、ネットワークの制御コンポーネントと転送コンポーネントとの間に分離を導入する。スプリットアーキテクチャネットワークは、キャリアグレードネットワークのアクセス/集約ドメイン、モバイルバックホール、クラウドコンピューティング、及びマルチレイヤ(L3&L2&L1、光伝送ネットワーク(OTN:optical transport network)、波長分割多重(WDM:wavelength division multiplexing))サポートで利用されることができ、これらは全てネットワークアーキテクチャの構築ブロックの1つである。
【0019】
転送(データ)プレーンと制御プレーンの両方を同じボックス内に統合する従来のネットワークアーキテクチャとは異なり、スプリットアーキテクチャはこれら2つの機能を切り離し、転送エレメント(スイッチ)とは異なる物理位置にある可能性があるサーバ(コントローラ)上で制御プレーンを実行する。スプリットアーキテクチャは、転送プラットフォームの機能及びハードウェアを簡略化し、ネットワークのインテリジェンス及び管理を、スイッチを監督するコントローラのセットに集中させる。従来のネットワークアーキテクチャにおける転送及び制御プレーンの密結合の結果として、通常、かなり複雑な制御プレーン及び手間のかかるネットワーク管理が生じている。これにより、新たなネットワーキングデバイスの製作にはコストが掛かり、これらのデバイスの潜在的な展開についての新たなプロトコル及び技術に参入するためには高い障壁が生じている。回線速度、ポート密度、及びパフォーマンスは急速に改善されているにもかかわらず、これらの特徴を管理するためのネットワーク制御プレーンメカニズムの進歩はかなり遅れている。
【0020】
スプリットアーキテクチャネットワークにおいて、コントローラはスイッチから情報を収集し、適切な転送決定を計算して、これをスイッチに配信する。コントローラ及びスイッチは、制御プレーンプロトコルを使用して情報の通信及び交換を行う。このようなプロトコルの例がOpenFlowであり、コントローラと通信するためのオープンで標準的な方法をスイッチに提供する。図1は、スイッチとコントローラとの間のOpenFlowインタフェースの概要の図である。OpenFlowコントローラは、セキュアなチャネルを用いてOpenFlowスイッチと通信して、転送テーブル(フローテーブル)を構成する。
【0021】
OpenFlowスイッチ内の転送テーブルには、パケットヘッダ内のフィールドについての合致を定義するルール、ルールによって定義される合致の検出時に実行されるべきアクション、及び、データプレーン内のデータパケットの処理に関する統計の収集からなる、エントリが存在する。着信データパケットが特定のルールに合致する場合、関連付けられたアクションがデータパケット上で実行される。ルールは、例えば、Ethernet MACアドレス、IPアドレス、IPプロトコル、TCP/UDPポート番号、及び着信ポート番号等の、プロトコルスタック内の数個のヘッダからのキーフィールドを含む。同様の特性を有するデータパケットのセットはフローとして管理され得る。フローは、データパケット内の任意数又は任意の組み合わせの使用可能なフィールドを使用して定義されることができる。不要なフィールドについてのワイルドカードを使用して、使用可能なフィールドのサブセットに関する合致に対しルールを制約することも可能である。
【0022】
スプリットアーキテクチャの制御プレーンとデータプレーンとの分離により、ネットワーク制御ロジックを修正するタスクが容易になり、開発者が多様な新しいプロトコル及び管理アプリケーションを構築可能なプログラマチックインタフェースが提供される。このモデルでは、データプレーンエレメントのコストは削減される一方で、データプレーン及び制御プレーンが独立して発展及び拡縮(scale)することができる。
【0023】
いくつかの実施形態では、輻輳制御及びトラフィック管理は、スプリットアーキテクチャネットワークにおいて提供される。ここに記載されるアプローチは、GMPLS(Generalized Multiprotocol Label Switching)ネットワークといった、集中型コントローラを伴う任意のネットワークに適用され得る。モバイルバックホール/コアネットワークは、記載される輻輳制御メカニズムが良好に適合するネットワークの一例である。現在行われているように、個々のユーザそれぞれについて保証されたサービスの質を強化するよりもむしろ、事業者は、ユーザ(又はアプリケーション)をトラフィックグループにグループ化し、トラフィックグループに優先順位を付け、輻輳が発生している間、割り当てられた優先レベルに従って各グループのトラフィックを処理することができる。
【0024】
本発明の実施形態では、中央コントローラが使用される。多数のスイッチを有するネットワークは、単一の集中型コントローラにより制御され得る。一実施形態において、集中型コントローラは、全てのスイッチからトラフィック統計値を集め、リアルタイムで輻輳管理についての決定を行う。中央コントローラは、また、ネットワーク内の全てのリンクから特定の輻輳情報を受信し得る。これは、ネットワークにおける輻輳ステータスのネットワーク全体のビューを提供する。このビューを用いて、より知的で効果的な輻輳制御の決定を行うことができる。しかしながら、中央コントローラは、ネットワークのスイッチ若しくはルータと共同設置されてもよく、又はスイッチ、ルータ、若しくはその他のネットワークエレメントの一部であってもよい。
【0025】
本発明は、単一のエリアネットワークの入口ノード及び出口ノードのペア間のトラフィックについての輻輳制御に限定されない。複数のパケットヘッダを共有する任意のパケットのセットが、記載される輻輳制御メカニズムで使用するためのトラフィックグループとして処理されるように分類されてよい。
【0026】
記載される実施形態は、スイッチからのドロップ統計値を必要としない。替わりに他の統計値が使用され得る。結果的に、パケットドロップの記録をサポートしないスイッチをサポートすることができる。その代わりに、全ての計算は、パケット到着率に基づき得る。ネットワーク内のスイッチからの集約統計値もまた使用されてよく、その場合フローの集約はフロー毎の統計値を可能としない。
【0027】
いくつかの実施形態では、輻輳は、トラフィックグループ毎に管理される。ネットワーク内のトラフィックは、異なるトラフィックグループにグループ化されることができ、各トラフィックグループは、割り当てられた重みを有する。本説明の目的のためのトラフィックグループは、輻輳制御メカニズムにより均等に処理されるパケットのセットである。グループの定義は、輻輳制御の様々な適用に適するように適合され得る。例えば、トラフィックグループは、アプリケーション(例えば、ポート番号により識別される)、エンドホスト(例えば、送信元IPアドレスにより識別される)、ウェブサーバ(例えば、宛て先IPアドレスにより識別される)、集約されたユーザのセット(例えば、ISPに属する)、特定のVLANのトラフィック、特定の入口−出口ポートのペア間のトラフィック、等として定義されることができる。定義されたトラフィックのグループ化は、ルーティング及び運用管理機能といった、他の多くの目的のためにも使用され得る。
【0028】
輻輳制御の目的のため、異なるトラフィックグループは、異なる重みを割り当てられる。重みが大きいほど輻輳の発生時にパケット破棄が少なくなる結果となるという意味で、割り当てられる重みは、異なるトラフィックグループに優先順位を付けることを可能にする。割り当てられる重みは、ネットワークが輻輳しているときに使用される。リンクが輻輳しているとき、そのリンクを使用する各トラフィックグループについて必要とされる抑制レートは、トラフィックグループの重みに基づいて計算され得る。
【0029】
例として、リンクが輻輳している場合に、コントローラは、グループの重みに従って、各グループによって消費される帯域幅を調整し得る。このレート調整は、ネットワークの入口スイッチ若しくはエリアにおける確率的なパケット破棄(パケット抑制)又は他の種類のパケット抑制の使用を通じて行われ得る。例としての抑制戦略についての詳細は、以下でより詳細に記載される。
【0030】
重みは任意の正数であり得る。異なるトラフィックグループが、異なる重みを有する必要はなく、重みの粒度又はネットワーク内で割り当てられる可能性のある異なる重みの数に対する制約はない。各グループは、異なる重みを有することができ、いくつかのグループは、同じ重みを有することができる。2つのトラフィックグループが両方ともネットワーク内の同一のリンクを横断する場合、2つのトラフィックグループの相対的な重みだけが問題となる。そうでなければ、2つのグループは決して同一のリンクのために争うことはないであろう。この場合、2つのトラフィックグループに対する重みの割り当ては、互いに独立であることができる。
【0031】
トラフィックのグループ化及び重みの割り当ては、ネットワークの構成及びネットワーク上のトラフィックに依存して任意の様々な異なる方法で実行され得る。グループ及び重みの特定の選択は、ネットワーク管理に大いに柔軟性を提供する、任意の特定の実装に適するように適合され得る。
【0032】
記載される輻輳制御メカニズムは、重み割り当てを用いてトラフィックグループに優先順位を付けるため、システムがサポート可能な異なる優先度のレベルの数において制約はない。ネットワーク内の異なるトラフィックグループについて別個のキューイングは必要ないため、計算、シグナリング、又はキューイングの複雑さに影響することなく、より多くの優先度のレベルが追加され得る。
【0033】
スプリットアーキテクチャでは、スイッチの振る舞いは、フローという文脈において抽象化されてもよく、その場合、各フローがリンクをまたぐパケットのセットに対応する。スイッチによりハンドリング及び処理される必要がある各フロー(例えば、パケットのセット)について、フロー又はセット内でパケットが合致する多数のヘッダフィールドを特定するためにルールが定義され得る。各ルールに対応して、ルールに合致する着信パケットに適用されることとなるアクションのセットがある。ルールは、“気にしない(don’t care)”ビットを有することも可能である。これはフローが集約されることを可能にする。
【0034】
スイッチは、各ルールについてのヒットの数を追跡することもできる。一例では、ルールに対する合致があるごとにカウンタが更新される。スプリットアーキテクチャのスイッチにおけるカウンタは、パケット到着についての統計値が収集できるようにする。ネットワークの入口スイッチにおいて、これらの統計値は、各フローについて収集され得る。一方、入口後のネットワーク内では、フローが集約された後、各フローについての個々の統計値を収集することができない可能性がある。後述のような輻輳制御は、ネットワークの入口スイッチにおいてはトラフィックグループ毎の統計値を、ネットワーク内では集約統計値を使用する。
【0035】
ネットワーク内の個々のスイッチにより収集される統計値は、中央コントローラによりスイッチから求められ(solicited)、又はリクエストされ得る。コントローラからのリクエストを受信すると、スイッチは、そのカウンタ情報をコントローラに送信し得る。あるいは、スイッチは、事前に設定されたレートで、又はトリガ‘イベント’発生時に、そのカウンタ統計値をコントローラに送信し得る。
【0036】
図2は、スプリットアーキテクチャのレイアウトを使用するコンピュータネットワークの図であるが、発明はそのように限定されない。中央コントローラ203は、SA(スプリットアーキテクチャエリア)205内のスイッチから統計値を収集し、スイッチは、互いに連結され、及び他の外部のパケットソース及びシンク(不図示)に連結される。トラフィックフローは、中央コントローラにより課されるパケットルーティングに基づくスイッチングを経由して渡されるが、任意の他のルーティング制御が使用されてもよい。図示される例では、2つのトラフィックグループ、トラフィックグループ1 221及びトラフィックグループ2 223が存在する。これらは、外部スイッチからSA205を経由してルーティングされるべき着信パケットのグループである。トラフィックグループ1についての入口スイッチ209は、2つ目のスイッチ207にグループのパケットを転送する。トラフィックグループ2についての入口スイッチ211も、そのパケットを同じ2つ目のスイッチ207に転送する。結合されたパケットフローは、その後、SAの更なるスイッチ213に送信され、2つの他の出口スイッチ215、217のうち1つに転送するためにソートされる。この単純なパケットフロー及び単純なスイッチのネットワークは、例として提供されており、他の多くのネットワーク構成及びルーティングパスが可能である。
【0037】
一例では、各スイッチは、そのリンク出力ポートの各々における負荷監視のケイパビリティを有する。これは、任意の様々な異なる方法、例えば、対応する出力キューの占有率の監視により、破棄されたパケット数の監視により、又は別の方法で行われ得る。スイッチは、その後これをリンクの輻輳閾値と比較し得る。負荷が閾値を超えている場合、スイッチは、コントローラに‘輻輳’メッセージを送信し得る。
【0038】
図2は、また、コントローラとスイッチとの間で交換され得る一連のメッセージを示している。第1のメッセージ(1)は、“輻輳検出”メッセージであり、スイッチ207のうち1つからコントローラ203に送信される。メッセージを送信する、報告スイッチは、この場合3つの異なるリンク225、227、229に連結されている。この場合、輻輳メッセージは、2つのトラフィックグループを結合するリンク225を識別するため、輻輳は、2つのグループからのトラフィックの組み合わせである。
【0039】
コントローラは、収集されたトラフィック統計値を参照して、もしあれば、どのアクションが取られるべきかを判定する。又は、図示された例のように、コントローラは、輻輳しているリンク225にパケットを提供する入口スイッチ209、211の各々にトラフィックレートのリクエスト(2)を送信する。入口スイッチは、SA内の2つのグループからトラフィックを受信するためにスイッチの端に位置している。コントローラは、それらのパスの一部として輻輳しているリンク225を有する、これらのトラフィックグループ(g1,g2)の実際の又は現在のレート(r1,r2)について入口スイッチに問い合わせる
【0040】
2つの入口スイッチは、レートレスポンスメッセージ(3)を用いて、リクエストされたレートと共に応答する。コントローラは、この情報を収集し、既知の重み及び帯域幅の値を適用し、抑制レートを決定する。コントローラは、適切な抑制レート(t1,t2)の決定後、メッセージ(4)内の対応するレートを入口スイッチに返送する。入口スイッチは、その後、計算された抑制レートをトラフィックに適用する。これにより、トラフィックのうちのいくつかはネットワークエリアに入るのを停止し、全てのダウンストリームネットワークエレメント上の輻輳の量が減少する。
【0041】
代替として、各スイッチは、収集されたトラフィック統計値と共にメッセージをコントローラに送信する。メッセージは、定期的、反復的、又は周期的に送信されてもよく、事前に設定されたレートで送信されてもよい。このように、コントローラは、トラフィックレートを計算し、それを輻輳閾値と比較する。コントローラは、替わりに、コントローラにより決定されるスケジュールに基づいて、データについてスイッチにポーリングを行ってもよい。コントローラは、有するトラフィックの量がより少ないスイッチよりも、よりアクティブなスイッチにより高い頻度でポーリングを行うことを選択してもよい。又は、いつスイッチにポーリングを行うべきかを判断するための任意の他の基準を使用してもよい。
【0042】
輻輳メッセージが使用される場合、スイッチは、閾値に対して各出力キューについてのトラフィックレートを監視する。これにより、各スイッチは、それが輻輳しているリンクに連結されているか否かを独立して判定することが可能となる。統計値が集められる際、スイッチは、そのカウンタ統計値(ヒット数)のみをコントローラに送信する。コントローラは、任意のリンクが輻輳しているか否かを判定するために、レートを閾値と比較する。コントローラがより多くの機能を実行しなければならない一方、スイッチはより単純である。他方、コントローラにより必要とされない統計値をスイッチが送信する場合、シグナリングのオーバヘッドは増加する。例えば、コントローラは、トラフィック統計値を収集及び格納し、但し輻輳しているリンクに関する警告をもスイッチから受信するといったように、2つのアプローチが組み合されてもよい。
【0043】
上述のように、スイッチ又はコントローラのいずれかが、リンクが輻輳しているか否かを判定する。これは、様々な異なる方法で判定され得る。いくつかの実施形態では、トラフィック統計値を閾値と比較することによりそれが判定される。例として、そのリンク上の負荷がリンクの総トラフィック帯域幅のある割合を上回る場合に、リンク上での輻輳が認定され得る。負荷は、異なる方法で、例えば、リンク上の全てのトラフィックグループの集約トラフィックレートとして表されることができる。これは、数学的には数式1として表されることができる。
【0044】
【数1】
【0045】
数式1では、負荷は、リンク上の総トラフィックである。Σriは、リンク上の全てのグループの集約トラフィックレートであり、riは、グループiについてのトラフィックレートである。Clは、リンクlの帯域幅であり、0<α≦1は、事業者により決定される設定可能な輻輳パラメータである。例えば、α=0.7は、リンク帯域幅の70%を上回る負荷は、輻輳しているとしてリンクを識別するということを意味する。
【0046】
上の例では、スイッチ又はコントローラは、輻輳パラメータ及び各リンクについて許容される帯域幅のテーブル(α,C1)を有し、各リンク上の各グループについてのトラフィックレート(r)を収集する。各トラフィックグループについてのトラフィックレートは、その後帯域幅と比較される負荷を決定するために合計される。
【0047】
輻輳メッセージを受信するか、又はリンクが輻輳していると判定する場合。コントローラのスイッチは、輻輳しているリンク上にトラフィックを有するグループについての抑制レートを計算する。抑制レートは、多くの様々な方法で決定され得る。いくつかの実施形態では、トラフィックレートは、グループのパケットがネットワークの入口で破棄されるべきレートである。
【0048】
トラフィックグループが存在する単一の輻輳しているリンクについて、リンクを使用する全てのトラフィックグループの重みに対するトラフィックグループの重みWの比を計算し、及び許容されるリンク帯域幅の係数としてその比を適用することにより、トラフィックグループiについて許容されるレート(ai)が、決定され得る。
【0049】
特定のグループについての許容されるレート(ai)のそのような決定は、数学的には数式2として表されることができる。
【0050】
【数2】
【0051】
数式2において、aiは、トラフィックグループiについての許容されるトラフィックレートである。αClは、リンク上の集約された許容されるトラフィックレートである。Wiは、トラフィックグループiの重みであり、ΣWiは、リンクlを共有するトラフィックグループ全ての重みの合計である。結果的に、各トラフィックグループについての許容されるレートは、グループの重みに比例する。総和ΣWiは、リンクlを共有するトラフィックグループのみにわたって行われることに留意すべきである。
【0052】
トラフィックグループiについての許容されるレートaiを使用して、実際の又は現在のグループのレートriの許容されるレートaiに対する比を計算することにより、抑制レートtiが決定され得る。現在のレートが、許容されるレートを下回る場合、抑制は適用されない。これは、リンクを使いすぎていないトラフィックグループを保護する役割を果たす。数式2において、許容されるレートは、同じリンクを使用する他のトラフィックグループに関連するトラフィックグループの重みに基づくため、重みは、トラフィックグループに優先順位を付けるための方法としての役割を果たす。この原理を用いると、サービスの質は、特定のトラフィックグループに割り当てられる重みに基づいて制御され得る。高い重みを有するトラフィックグループには、より低いレートを有するトラフィックグループよりもより高いトラフィックレートが許容されるであろう。
【0053】
他方、現在トラフィックレートが許容されるトラフィックレートを上回る場合、抑制レートがトラフィックレートに適用され得る。抑制レートは、抑制を適用するスイッチの特質及び複雑さに依存して、様々な異なる方法で決定され表され得る。一例では、抑制レートは、単に、許容されるレートを現在レートにより割り算した比率である。1(unity)から引き算すると、レートが抑制されるべき0と1との間の比となるであろう。現在レートriが許容されるレートaiよりもはるかに大きい場合、抑制レートは、1又は100%に近づくであろう。この抑制レート決定の例は、数学的には数式3として表されることができる。
【0054】
【数3】
【0055】
数式3において、ドロップレートは、実際のレート(ri)と許容されるレート(ai)との差に基づいて計算される。実際のレートが許容されるレートを既に下回っている場合、抑制は必要とされない。そうでない場合、抑制レートは、許容されるレートを上回るレートの量と比例するであろう。
【0056】
ネットワーク内に輻輳しているリンクが複数ある場合、トラフィックグループの抑制レートは、ネットワーク内のトラフィックグループにより横断される全ての輻輳しているリンクにわたって決定される、全ての抑制レートの最大値として決定され得る。言い換えると、輻輳している各リンクについて、トラフィックグループについての抑制レートが決定される。これらの抑制レートは比較され、最大のレートが選択される。
【0057】
特定のトラフィックグループについて抑制レートが決定された後、計算された抑制レートは、対応する入口スイッチ、即ち、輻輳により影響を受けるトラフィックを有する入口スイッチに送信される。入口スイッチは、抑制レートについての情報を受信すると、グループの抑制レートに従って各トラフィックグループのパケットを破棄する。図2の例で示すように、輻輳しているリンク225を経由して2つの異なるトラフィックグループ221及び223が結合され、リンク225が2つの内部スイッチ207及び213の間にある間、抑制レートt1及びt2は、当該トラフィックグループがネットワークに入る入口スイッチ209及び211に送信される。
【0058】
図3は、パケットデータネットワーク内の輻輳を制御するための処理フロー図である。311において、輻輳しているリンクが識別される。これは、任意の様々な異なる方法で行われ得る。一例では、現在トラフィックレートが、特定のリンクについての許容される帯域幅と比較される。トラフィックレートが許容される帯域幅を上回る場合、リンクは輻輳していると判定される。313において、輻輳判定がスイッチにより行われる場合、輻輳メッセージは、報告スイッチから中央コントローラにより受信される。あるいは、輻輳判定がコントローラで行われる場合、スイッチからの輻輳メッセージは必要ない。輻輳メッセージが使用される場合、輻輳メッセージは、輻輳していると判定されるリンクを黙示的又は明示的に識別し得る。
【0059】
315で、輻輳メッセージが受信された場合、コントローラは、トラフィック統計値のリクエストを送信する。コントローラは、ネットワークのトポロジー又は異なるトラフィックグループのルーティングパスを知っているため、コントローラは、識別されるリンクにおいて輻輳しているトラフィックに対応する入口スイッチにリクエストを送信し得る。コントローラは、また、報告スイッチを含む他のスイッチからの統計値をリクエストし得る。対応する入口スイッチは、その後、トラフィック統計値を送信することによりリクエストに応答する。317において、コントローラは、スイッチから送信されたトラフィック統計値を受信する。コントローラは、代替的に、前のリクエストから既に取得された、収集された統計値を使用してもよい。
【0060】
319において、コントローラは、統計値を使用して、輻輳しているリンクにおける現在のトラフィック負荷を許容されるトラフィック帯域幅と比較する。これは、リンクが輻輳していることをコントローラが検証することを可能にするだけでなく、抑制レートを決定するためにも用いられ得る。321において、コントローラは、パケットトラフィックグループについての抑制レートを決定する。輻輳メッセージが特定のリンクのみを識別する一方、統計値は、様々なトラフィックグループについてのトラフィックレートを識別できる。各グループについてのトラフィックレートの、各グループについての帯域幅に対する比が計算され得る。これにより、各グループについての抑制レートが結果として得られる。いくつかのグループは抑制されない可能性があり、その場合、抑制レートは、抑制をもたらさないレートである。数式3に従うと、その抑制レートは0である。あるいは、コントローラは、単に、抑制されないトラフィックグループについてのレートを送信しない可能性がある。任意の1つのリンクについて、ただ1つのトラフィックグループが存在する可能性がある一方で、多くのトラフィックグループが存在する可能性もある。コントローラは、重み、現在トラフィックレート及び許容される帯域幅に基づいて、各トラフィックグループについて異なる抑制レートを決定し得る。
【0061】
322では、コントローラは、(1つ又は複数の)決定された抑制レートを適切なスイッチに送信する。上述の例では、抑制レートは、各トラフィックグループについての入口スイッチに送信される。抑制レートを受信する各スイッチにおいて、スイッチは、受信された抑制レートに基づいてそれぞれのトラフィックグループの着信データパケットを破棄する。
【0062】
図4は、ネットワーク内の輻輳しているリンクに関する、スイッチとコントローラとの間のメッセージングのための処理フロー図である。411において、トラフィック統計値が収集される。統計値は、コントローラ若しくはスイッチ、又はその両方によって収集され得る。413において、統計値を使用して、輻輳しているリンクが識別される。415において、現在パケットデータのトラフィック負荷が、パケットデータのトラフィック帯域幅と比較される。この情報は、輻輳しているリンクを識別するために、又は後の抑制レート決定のために使用され得る。動作313〜319と同様に、この動作も任意である。
【0063】
417において、輻輳メッセージが、輻輳しているリンクを検知したスイッチから中央コントローラに送信される。スイッチは、トランザクションのために報告スイッチになる。419において、報告スイッチは、中央コントローラからトラフィック統計値のリクエストを受信する。421において、リクエストに応答して、スイッチは、輻輳しているリンクについてのトラフィック統計値をコントローラに送信する。送信された統計値は、加工されていない統計値である可能性があり、又は、パケットデータのトラフィック負荷のリンク帯域幅に対する比といった、中間の計算を含む可能性がある。統計値は、輻輳しているリンクを横断するトラフィックレートグループの各々について独立であり得る。これにより、コントローラは、各グループについて異なる抑制レートを決定することが可能となる。
【0064】
423において、報告スイッチは、中央コントローラから抑制レートを受信する。図2の例と比較して、この例では、報告スイッチも抑制を実行する。これは、報告スイッチがトラフィックグループについての入口スイッチであることが理由である可能性があり、又は、輻輳状態を決定するスイッチにおいてトラフィックが管理されるべきであるとコントローラが決定することが理由である可能性がある。425において、スイッチは、受信された抑制レートに基づいて、着信データパケットを破棄する。抑制レートは、全てのトラフィックについてのものであってもよく、又は、各トラフィックグループについて異なる抑制レートが存在してもよい。上述の例では、報告スイッチは、それが入口スイッチとしての役割を果たす各トラフィックグループについての抑制レートを受信する。一方、代替的な実施形態では、スイッチは、そのリンクについての輻輳メッセージを送信した当該リンク上の任意のトラフィックグループについての抑制レートを受信する。スイッチは、輻輳しているリンク上で送信される全てのパケットを制御するため、輻輳しているリンク上のトラフィックを抑制することができる。中央コントローラは、様々なネットワークアーキテクチャ及び管理要因に基づいて、抑制レートを受信するためのスイッチを選択し得る。
【0065】
図5は、スプリットアーキテクチャネットワークの一例としての実施形態の図である。例としてのスプリットアーキテクチャネットワークは、別個のスプリットアーキテクチャエリア(SA)501A〜Cに分割される。各エリア501A〜C(エリアI、エリアII、エリアIIIとも表示される)は、スイッチのセットを含む。同一エリア内の全てのスイッチは、単一の論理コントローラ503A〜Cにより制御される。一実施形態では、SAは、第1のコントローラ、及び冗長性の目的のためのバックアップコントローラのセットとして実装され得る。単一の物理コントローラが各SAについて示されているが、各SAについての単一の論理コントローラを作り上げるために複数の物理コンポーネントが存在してもよい。各SA内のネットワークエレメントは、典型的には、単一の論理コントローラの制御下にある。
【0066】
各SA内のスイッチは、任意の種類のルータ、スイッチ、又は、スプリットアーキテクチャネットワークのデータプレーンを実装することが可能な類似のネットワーキングデバイスであり得る。スイッチは、境界スプリットアーキテクチャスイッチと、内部スプリットアーキテクチャスイッチとを含み得る。境界スプリットアーキテクチャスイッチは、異なるSA内の別のスイッチに接続するインタフェースを有するスプリットアーキテクチャ機能をサポートする。境界スプリットアーキテクチャスイッチは、典型的に、単一のSAのコントローラにより制御される。他の実施形態では、境界スプリットアーキテクチャスイッチは、複数のSA内にあることができ、各々のSAコントローラにより制御されるインタフェースを有する。内部スプリットアーキテクチャスイッチは、スプリットアーキテクチャプロトコルをサポートする。それは、そのエリア内のコントローラにより制御される。その近隣は全て同一のSA内にある。
【0067】
スイッチは、リンクのセット上で互いに通信関係にある。これらのリンクは、有線又は無線通信媒体及びそれらの任意の組み合わせを含む、任意の種類の通信媒体であり得る。リンクは、内部リンク又は外部リンクのいずれかとして分類され得る。内部リンクは、SA内の2つのスイッチ間のリンクであり、これらのスイッチは、同一のSAに属する、境界スイッチ又は内部SAスイッチのいずれかであり得る。外部リンクは、異なるSAに属する2つのSAスイッチ間のリンクである。この場合、SAスイッチの両方が境界スイッチである。図示された例では、エリアIについての境界スイッチは、A、B、及びCと表示されている。これらの3つのスイッチは、エリアIに入る、又はエリアIから出るデータトラフィックについての入口及び出口スイッチでもある。
【0068】
図示されたように、SA1についての中央コントローラ503Bは、統計値のテーブル505をメンテナンスする。このテーブルは、SAによりサービスされるトラフィックグループ各々についての、レートr、アロケーションa、及び重みwを含む。テーブルは、特定の実施形態に依存した任意の他の好適な手段により、リクエストに対する報告、応答を用いてメンテナンスされる。テーブルはその後、コントローラにおいてメモリ内に格納される。
【0069】
図6は、コントローラ又はスイッチを実装するネットワークエレメントの一実施形態の図である。一実施形態では、コントローラ601は、ルータ、スイッチ又は類似のネットワーキングデバイスである。コントローラ601は、入口モジュール又はポート603、出口モジュール又はポート605、ネットワークプロセッサ607、及び記憶装置611を含み得る。入口モジュール603は、物理レベル及びリンクレベルにおける着信データトラフィックをハンドリングし、更なる処理のためにこのデータをネットワークプロセッサに提供する。この入口モジュールは、データトラフィックのための、並びにコマンド及び制御情報のための受信ポートとしての役割を果たす。任意のリクエスト、レスポンス又はその他のメッセージは、この受信ポートで受信される。同様に、出口モジュール605は、物理レベル又はリンクレベルにおける発信データトラフィックをハンドリングし、それを接続されたネットワーク上で他のデバイスに送信する。出口モジュールは、データのための、並びにコマンド及び制御情報のための送信ポートとしての役割を果たす。任意の発信リクエスト、メッセージ又はレスポンスは、この送信ポートを介して送信される。これら2つのモジュールは、ネットワーク上の他のデバイスとの通信を可能にするために共に機能する。ネットワークエレメント601は、別個の入口及び出口モジュール又はポートを有するものとして示されているが、これら2つのポートは、単一の物理コネクタを介して連結されてもよい。
【0070】
ネットワークプロセッサ607は、ネットワークのデータプレーンを統制するネットワークの制御プレーンに関連する各々の機能を含む、ネットワークエレメントの機能を実行する、処理デバイス又は処理デバイスのセットである。ネットワークプロセッサ607は、近隣探索モジュール613、輻輳制御モジュール615、輻輳制御モジュール617、リンクステート管理モジュール619、及びOpenFlowコントローラ621といった制御モジュールを含むモジュールのセットを実行することができる。
【0071】
さらに、ネットワークプロセッサ607は、記憶装置611内に格納されたデータにアクセスすることができる。記憶装置611内に格納されたデータは、ルーティングテーブル623及びリンク統計値データベース625を含むことができる。他の実施形態では、記憶装置611は、任意数の別個のローカルな又は分散された記憶装置、及びこれらのデバイスにわたって格納されるデータの任意の配列を含むことができる。ネットワークプロセッサにより実行される他のモジュールもまた、記憶装置611からロードされ、又は記憶装置611上に格納されることができる。
【0072】
近隣探索モジュール613は、コントローラにより管理されるSAのスイッチ間の適切な通信及びスイッチの構成を可能にするために、ネットワーク内の近隣コントローラ各々についての情報を取得するhelloプロトコル又は類似のプロトコルを使用して、ネットワーク内の他のデバイスと通信するためのプロトコルを管理することができる。SAについての隣接コントローラ及びスイッチを識別するために、任意のhelloプロトコル又は処理が利用されることができる。
【0073】
輻輳制御モジュール615は、リンクステート管理モジュール619により集められた情報を使用して、リンクが輻輳しているか否かを決定し、コントローラの場合リンクに適用される抑制レートを決定する。スイッチにおいて、輻輳制御モジュールは、出口モジュールがコントローラに輻輳メッセージを送信し、コントローラからの任意のリクエストに返答するトリガとなり得る。輻輳制御モジュールは、接続されるリンクについての輻輳状態の判定に用いるレート及びフローの統計値を取得するために、又は、コントローラの場合抑制レートを決定するために、リンク統計値データベース625に連結される。
【0074】
抑制モジュール619は、スイッチの場合、コントローラから任意の抑制レートを受信し、それらを影響のあるトラフィックグループの着信パケットに適用する。
【0075】
リンクステート管理モジュール619は、リンク統計値データベース625内のネットワーク又はネットワークのエリアについてのリンクステート情報を管理する。リンクステート管理モジュール619は、また、コントローラのSA内と同様に、コントローラと他のコントローラとの間の接続に関する情報を提供する隣接コントローラに広めるためにリンクステート広告を生成し得る。この情報は、ネットワーク内の他のコントローラに送信される、各境界スイッチペアについてのリンクステート広告のセットとして、パッケージ化され得る。
【0076】
コントローラ621は、SAの制御プレーンを管理するための、任意の種類のスプリットアーキテクチャコントローラであり得る。コントローラは、スプリットアーキテクチャネットワークを管理するためのOpenFlowプロトコル又は類似のプロトコルを実装し得る。コントローラモジュール621は、データプレーン上のパケットの転送を構成するために、SA内のスイッチと通信し得る。コントローラ621は、また、近隣情報、リンクステート広告を交換するため、及びピアに対し類似の情報を提供するために、他のコントローラと通信する。
【0077】
さらに、ネットワークプロセッサ607は、記憶装置611内に格納されたデータにアクセスし得る。記憶装置611に格納されたデータは、ルーティングテーブル623及びリンクステートデータベース625を含み得る。他の実施形態では、記憶装置611は、任意数の別個のローカルな、又は分散された記憶装置、及びこれらのデバイスにわたって格納されるデータの任意の配列を含み得る。ネットワークプロセスにより実行される他のモジュールもまた、記憶装置611からロードされ、又は記憶装置611上に格納されることができる。
【0078】
このように、パケットデータネットワークにおける輻輳制御のための方法、システム、及び装置について説明した。上記説明は、例示を意図したものであり、制限を意図したものではない。他の多くの実施形態が、上記説明を読み理解することにより当業者には明らかであろう。したがって、本発明の範囲は、添付の特許請求の範囲を参照して、そのような請求項が権利を有する均等物の全範囲とともに決定されるべきである。
図1
図2
図3
図4
図5
図6