JP5668868B2 - ネットワーク通信装置、及び転送フレーム優先的帯域制限方法 - Google Patents
ネットワーク通信装置、及び転送フレーム優先的帯域制限方法 Download PDFInfo
- Publication number
- JP5668868B2 JP5668868B2 JP2013544329A JP2013544329A JP5668868B2 JP 5668868 B2 JP5668868 B2 JP 5668868B2 JP 2013544329 A JP2013544329 A JP 2013544329A JP 2013544329 A JP2013544329 A JP 2013544329A JP 5668868 B2 JP5668868 B2 JP 5668868B2
- Authority
- JP
- Japan
- Prior art keywords
- bucket
- frame
- priority
- token
- shared
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012546 transfer Methods 0.000 title claims description 61
- 238000004891 communication Methods 0.000 title claims description 34
- 238000000034 method Methods 0.000 title claims description 34
- 230000009471 action Effects 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 31
- 238000011156 evaluation Methods 0.000 claims description 28
- 238000003860 storage Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000005111 flow chemistry technique Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、ネットワーク通信装置に関し、特にネットワーク通信装置において転送フレームを優先的に帯域制限する方法に関する。
従来のネットワーク機器は、外部から負荷分散や片寄等、柔軟性に富んだ制御ができないという問題があった。このため、ネットワークの規模が大きくなると、システムとしての挙動の把握と改善が困難になり、設計や構成変更には多大なコストを伴うことが問題であった。
こうした課題を解決するための技術として、ネットワーク機器のパケット転送機能と経路制御機能を分離する手法が考えられている。例えば、パケット転送機能をネットワーク機器が担当し、制御機能をネットワーク機器の外部に分離した制御装置が担当することで、制御装置がパケットの転送を集中して管理することができ、柔軟性に富んだネットワークを構築することが可能になる。
[CD分離型ネットワークの説明]
機能を分離した集中管理型のネットワークの1つとして、コントロールプレーン側の制御装置からデータプレーン側のノード装置を制御するCD(C:コントロールプレーン/D:データプレーン)分離型ネットワークが提案されている。
機能を分離した集中管理型のネットワークの1つとして、コントロールプレーン側の制御装置からデータプレーン側のノード装置を制御するCD(C:コントロールプレーン/D:データプレーン)分離型ネットワークが提案されている。
CD分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー(OpenFlow)技術を利用したオープンフローネットワークが挙げられる。オープンフロー技術の詳細については、非特許文献1に記載されている。なお、オープンフローネットワークは一例に過ぎない。
[オープンフローネットワークの説明]
オープンフローネットワークでは、MACアドレスやIPアドレス、ポート番号などの組み合わせによって決定される一連の通信を「フロー」として定義し、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。
オープンフローネットワークでは、MACアドレスやIPアドレス、ポート番号などの組み合わせによって決定される一連の通信を「フロー」として定義し、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。
オープンフローネットワークでは、制御装置に相当するオープンフローコントローラ(OFC:OpenFlow Controller)が、ノード装置に相当するオープンフロースイッチ(OFS:OpenFlow Switch)の経路制御に関するフローテーブルを操作することにより、オープンフロースイッチの挙動を制御する。
コントローラとスイッチの間は、専用線やSSL(Secure Socket Layer)等により保護された通信路である「セキュアチャンネル」セキュアチャンネル(Secure Channel)により接続されている。コントローラとスイッチとは、セキュアチャンネルを介して、オープンフロー規約(OpenFlow Protocol)に準拠したオープンフローメッセージ(OpenFlow Message)を送受信する。
オープンフローネットワークにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ(Edge Switch)及びコアスイッチ(Core Switch)のことである。なお、エッジスイッチは、オープンフローネットワークと別のネットワークとの境界に位置するスイッチである。また、コアスイッチは、オープンフローネットワーク内でパケット(packet)の中継に使うスイッチである。オープンフローネットワークにおいて、コントローラは、経路上のスイッチのフローテーブルを操作することにより、入力側エッジスイッチ(Ingress)でのパケットの受信(流入)から出力側エッジスイッチ(Egress)でのパケットの送信(流出)までの一連の流れを制御することができる。
パケットは、フレーム(frame)と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位(PDU:Protocol Data Unit)の違いに過ぎない。パケットは、「TCP/IP」(Transmission Control Protocol/Internet Protocol)のPDUである。一方、フレームは、「イーサネット(登録商標)」(Ethernet)のPDUである。
フローテーブルとは、フローとして扱うパケットを特定するための判別条件(ルール)と、パケットがルールに適合(マッチ)した回数を示す統計情報と、パケットに対して行うべき処理内容(アクション)の組を定義したフローエントリ(Flow entry)の集合である。
フローエントリのルールは、パケットのヘッダ領域(フィールド)に含まれる各プロトコル階層の情報のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。各プロトコル階層の情報の例として、送信先アドレス(Destination Address)、送信元アドレス(Source Address)、送信先ポート(Destination Port)、送信元ポート(Source Port)等が考えられる。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールとして、フローとして扱うパケットのヘッダ領域の値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現したものを設定することもできる。
フローエントリのアクションは、「パケットを特定のポートに出力/転送する」、「パケットを破棄/廃棄する(削除する)」、「パケットのヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
スイッチは、フローエントリのルールに適合するパケット群(パケット系列)に対して、フローエントリのアクションを実行する。具体的には、スイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルールを持つフローエントリを検索する。検索の結果、受信パケットのヘッダ情報に適合するルールを持つフローエントリが見つかった場合、当該フローエントリの統計情報を更新すると共に、受信パケットに対して、当該フローエントリのアクションとして指定された動作を実施する。一方、検索の結果、受信パケットのヘッダ情報に適合するルールを持つフローエントリが見つからなかった場合、当該受信パケットを最初のパケット(first packet)と判断し、制御チャネルを介して、オープンフローネットワークにおけるコントローラに対して、受信パケット(又はそのコピー)を転送し、受信パケットの送信元・送信先(宛先)等に基づいたパケットの経路計算を要求し、応答としてフローエントリの設定用メッセージを受信し、フローテーブルを更新する。
なお、フローテーブルには、低い優先度で、全てのパケットのヘッダ情報に適合するルールを持つデフォルトエントリが登録されている。受信パケットに適合するフローエントリが他に見つからなかった場合、受信パケットは、このデフォルトエントリに適合する。デフォルトエントリのアクションは、「コントローラへの当該受信パケットの問い合わせ情報の送信」である。
[オープンフローネットワークの課題]
通常、オープンフローネットワークシステムにおいては、コントローラとスイッチは「1:N(多)」の接続関係にあることが多い。
通常、オープンフローネットワークシステムにおいては、コントローラとスイッチは「1:N(多)」の接続関係にあることが多い。
したがって、コントローラは、多数のスイッチから非制御要求を受け取ることもあるため、その処理能力の限界を超える可能性がある。
コントローラが処理能力の限界を超えて処理不能状態になると、各スイッチは制御機能を失い、各スイッチを経由するネットワークが断絶してしまうため、スイッチ側からもコントローラの処理能力の限界を考慮して要求を行う必要があった。
また、コントローラの処理能力を保護することに加えて、スイッチ自身の処理能力を保護する必要もあった。
したがって、コントローラの処理能力の保護と、スイッチの処理能力の保護との両面から、コントローラとスイッチ間の帯域制限が必要であった。
但し、コントローラとスイッチ間の帯域制限については、メッセージの種別によって、オープンフロー機能としての目的や重要度が異なるため、優先的に行う必要がある。
優先制御においては、低優先のフレームが無転送状態になることも避けなければならないという課題もあった。
[関連技術]
関連する技術として、特許文献1(特開2005−244417号公報)に帯域制御装置、帯域制御方法、及び帯域制御プログラムが開示されている。この関連技術では、帯域制限処理部が、トークンバケット(token bucket)に残存する残存トークン量Xを記憶する。トークン量監視部が、記憶された残存トークン量と最大バーストトークン量とを比較する。優先制御部が、その比較結果に基づいて帯域保証型通信に割り当てられた通信回線容量をベストエフォート型通信に割り当てる。
関連する技術として、特許文献1(特開2005−244417号公報)に帯域制御装置、帯域制御方法、及び帯域制御プログラムが開示されている。この関連技術では、帯域制限処理部が、トークンバケット(token bucket)に残存する残存トークン量Xを記憶する。トークン量監視部が、記憶された残存トークン量と最大バーストトークン量とを比較する。優先制御部が、その比較結果に基づいて帯域保証型通信に割り当てられた通信回線容量をベストエフォート型通信に割り当てる。
なお、バケット(bucket)とは、バケツのことであり、転送すべきネットワークトラフィックを集積する抽象化されたコンテナである。
"OpenFlow Switch Specification, Version 1.0.0",[online],December 31,2009,インターネット(URL:http://www.openflowswitch.org/documents/openflow−spec−v1.0.0.pdf)
ネットワーク通信装置において、転送先装置の輻輳を防止するための帯域制限を行う場合、各転送フレームに優先性を持たせた転送及び廃棄の処理を実現することが課題である。
また、従来の優先制御方式であるPQ(Priority Queuing)のように、高い優先度のフレームを大量に受信した場合、低優先のフレームが全く転送されないという問題を解決する必要がある。
一応、上記の問題に対応したWFQ(Weighted Fair Queuing)や、CBWFQ(Class−Based Weighted Fair Queuing)等の方式は存在する。しかし、これらの方式は、優先度別に複数設けられたサブキュー(sub queue)に詰まれたフレームを優先的に転送制御する方式であり、サブキューのためのメモリリソースが必要であるため、実装においてリソース配分の問題がある。
更に、装置が輻輳していない時には、フレームの優先度に関わらず平等に転送を行い、平等なバースト転送も許容すると好適である。
本発明の目的は、上記の課題を解決した上で、転送先装置の輻輳を防止するために帯域制限を行うネットワーク通信装置を提供することである。
本発明に係るネットワーク通信装置は、コントローラからの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録するオープンフロー処理部21と、コントローラ宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設けるバケット設置部と、受信したフレームを、コントローラ宛か否かを評価し、コントローラ宛となったフレームに対して、共有バケットを評価する共有バケット評価部23と、共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定する優先度バケット評価部24とを具備する。
本発明に係る転送フレーム優先的帯域制限方法は、ネットワーク通信装置により実施される転送フレーム優先的帯域制限方法であって、コントローラからの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録することと、コントローラ宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設けることと、受信したフレームを、コントローラ宛か否かを評価し、コントローラ宛となったフレームに対して、共有バケットを評価することと、共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定することとを含む。
本発明に係るプログラムは、上記の転送フレーム優先的帯域制限方法における処理を、ネットワーク通信装置に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
高優先のフレームが大量に到着した場合でも、各バケットには時間毎に優先度に従った一定量のトークンが補充されるため、低優先のバケットにおいてフレームが無転送状態に陥ることはない。また、優先度に関わらず、各バケットの余っていたトークンは一定周期後に全て共有バケットに補充されるため、共有バケットにて転送フレームの平等転送ができる。フレームは到着順に評価され、トークンの使用有無により即時に転送か廃棄か、という判断がされる。優先度別のサブキューを設ける必要がなく、同時に帯域制限が可能である。
本発明は、CD分離型ネットワークシステムを対象としている。ここでは、CD分離型ネットワークシステムの1つであるオープンフローネットワークシステムを例に説明する。但し、実際には、オープンフローネットワークシステムに限定されない。
<実施形態>
以下に、本発明の実施形態について添付図面を参照して説明する。
以下に、本発明の実施形態について添付図面を参照して説明する。
[システム構成]
図1に示すように、オープンフローネットワークシステムは、コントローラ10と、スイッチ20(20−i、i=1〜n:nは任意)を含む。
図1に示すように、オープンフローネットワークシステムは、コントローラ10と、スイッチ20(20−i、i=1〜n:nは任意)を含む。
コントローラ10は、サーバ装置であり、スイッチ20(20−i、i=1〜n)の各々に対して、受信フレームの優先度付けを行う。ここでは、コントローラ10は、受信フレームの振る舞いが既定されたフローエントリに、優先度情報を付加し、スイッチ20(20−i、i=1〜n)の各々に設定する。
スイッチ20(20−i、i=1〜n)の各々は、ネットワーク通信装置であり、コントローラ10宛として流入するフレームに対して、優先的帯域制限を行う。スイッチ20(20−i、i=1〜n)の各々は、コントローラ10宛として流入したフレームを、規定された複数の優先度で分ける。
ここでは、スイッチ20(20−i、i=1〜n)の各々は、フレーム受信時に、フローエントリが登録されているフローテーブルにおいてフレームを評価する。スイッチ20(20−i、i=1〜n)の各々は、優先度が設定されている場合、その優先度に従って、受信フレームの転送制限を行う。
なお、スイッチ20(20−i、i=1〜n)のうち、コントローラ10にフレームを転送する処理を行うのは、入力側エッジスイッチに相当するスイッチのみでも良い。すなわち、オープンフローネットワークの外部から最初にフレームを受信したスイッチ20が、本発明の主な対象となる。無論、コアスイッチに相当するスイッチも、コントローラ10にフレームを転送する処理を行うことは可能であるため、本発明の対象としても良い。
本発明における優先的帯域制限は、トークンバケット(token bucket)方式を採用し実現するものである。
本実施形態においては、スイッチ20(20−i、i=1〜n)の1つであり、フレームを受信したスイッチ20は、コントローラ10宛となるフレームに対して、1つの共有バケット(優先度に依存しない共通のバケット)と、複数の優先度バケット(優先度別のバケット)を設ける。これらのバケットでは、トークン量とバケットの評価のみ行うものとする。これらのバケットを、評価のための行列や受信から送信までのバッファ(buffer)やキュー(queue)として使用することはない。本実施形態においては、スイッチ20は、受信バッファからフレームを取り出し、当該フレームに対応するいずれかのバケットにトークンが存在するか確認する。いずれかのバケットにトークンが存在する場合、送信バッファにフレームを転送する。いずれのバケットにもトークンが存在しない場合、廃棄処分にする。トークンやバケットの評価において、フレームがバッファリングされることはない。
まず、フレームを受信したスイッチ20は、受信したフレームを、コントローラ10宛か否かを評価し、コントローラ10宛となったフレームに対して、共有バケットを評価する。
フレームを受信したスイッチ20は、共有バケットに十分なトークンがない場合、そのフレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定する。
[ハードウェアの例示]
以下に、本発明に係るコントローラ10、及びスイッチ20(20−i、i=1〜n)の各々を実現するための具体的なハードウェアの例について説明する。
以下に、本発明に係るコントローラ10、及びスイッチ20(20−i、i=1〜n)の各々を実現するための具体的なハードウェアの例について説明する。
コントローラ10の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、コントローラ10は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、コントローラ10は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。
スイッチ20(20−i、i=1〜n)の各々の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。また、物理マシン上に構築された仮想マシン(VM)により実現される仮想スイッチでも良い。
上記のようなコントローラ10、及びスイッチ20(20−i、i=1〜n)の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ(microcontroller)、或いは、専用の機能を有する半導体集積回路(LSI:Large Scale Integration)等が考えられる。
上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。また、バッファ(buffer)やレジスタ(register)等でも良い。或いは、DAS(Direct Attached Storage)、FC−SAN(Fibre Channel − Storage Area Network)、NAS(Network Attached Storage)、IP−SAN(IP − Storage Area Network)等を用いたストレージ装置でも良い。
なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。したがって、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例も考えられる。
上記のインターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
また、ネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。
なお、コントローラ10、及びスイッチ20(20−i、i=1〜n)の各々の内部の構成要素は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
但し、実際には、これらの例に限定されない。
[優先的帯域制限]
以下に、本発明における優先的帯域制限について詳細に説明する。
以下に、本発明における優先的帯域制限について詳細に説明する。
スイッチ20(20−i、i=1〜n)の1つであり、フレームを受信したスイッチ20は、2種類のトークンバケットを用いて受信フレームの帯域制限評価及び優先度評価を行う。
まず、フレームを受信したスイッチ20は、フレームの優先度毎に、バケットを設ける。
フレームを受信したスイッチ20は、優先度毎に設けたバケットに、優先度に従った量のトークンを補充する。
更に、フレームを受信したスイッチ20は、それらのバケット評価の前に、共有バケットを1つ設ける。
図2に示すように、フレームを受信したスイッチ20は、ある一定周期毎に、その時点で優先度毎に設けたバケット内に存在するトークンを全て共有バケットへ渡す。
但し、共有バケットの深さ(容量)は、装置のバースト転送許容量に固定されている。フレームを受信したスイッチ20は、共有バケットの深さ(容量)の限度を超えてトークンがあふれた場合、あふれたトークンを廃棄する。
図3に示すように、フレームを受信したスイッチ20は、共有バケット内のトークンが存在する限り、フレームの優先度に関わらず、全てのフレームを平等に評価し、転送する。
フレームを受信したスイッチ20は、共有バケット内のトークンがない場合には、後段階である優先的制限へと切り替え、優先度毎に設けたバケットの評価を行う。
図4に示すように、フレームを受信したスイッチ20は、優先的制限へと切り替えた際、それぞれのフレームについて、フロー識別時に決定された優先度と対応するバケットを確認して、当該優先度と対応するバケット内にトークンが存在する場合に転送処理する。
図5に示すように、フレームを受信したスイッチ20は、優先度バケット内にもトークンがない場合は、フレームの廃棄処理を行う。
なお、フレームを受信したスイッチ20は、高優先のフレームが大量に到着した場合でも、各優先度バケットに対して、一定時間毎に優先度に従った一定量のトークンを補充する。そのため、全ての優先度バケットにおいて、一定時間毎に一定量のトークンが補充されることになり、低優先のバケットにおいてもフレームが無転送状態に陥ることはない。
また、フレームを受信したスイッチ20は、一定周期後に、フレームの優先度に関わらず、各優先度バケット内のトークンを全て共有バケットに補充する。そのため、一定周期毎に、共有バケット内のトークンが存在することになり、フレームの優先度に関わらず、全てのフレームを平等に評価し、転送することができる。
フレームを受信したスイッチ20は、フレームを到着順に評価し、トークンの使用有無により、即時に、転送か廃棄かを判断する。
フレームを受信したスイッチ20は、優先度別のサブキュー(sub queue)を設ける必要がなく、同時に帯域制限が可能である。
[スイッチ動作]
図6を参照して、本発明におけるスイッチの動作について説明する。
図6を参照して、本発明におけるスイッチの動作について説明する。
(1)ステップS101
スイッチ20(20−i、i=1〜n)のうち、いずれかのスイッチは、到着したフレームを受信する。
スイッチ20(20−i、i=1〜n)のうち、いずれかのスイッチは、到着したフレームを受信する。
(2)ステップS102
フレームを受信したスイッチ20は、当該フレームを、フローテーブルの検索に掛ける。すなわち、フレームを受信したスイッチ20は、当該フレームについて、フローテーブルの検索を行う。
フレームを受信したスイッチ20は、当該フレームを、フローテーブルの検索に掛ける。すなわち、フレームを受信したスイッチ20は、当該フレームについて、フローテーブルの検索を行う。
(3)ステップS103
フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットしたか確認する。
フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットしたか確認する。
(4)ステップS104
フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットした場合(ステップS103でYes)、そのフローエントリのアクションがコントローラ10宛の転送であるか確認する。
フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットした場合(ステップS103でYes)、そのフローエントリのアクションがコントローラ10宛の転送であるか確認する。
(5)ステップS105
フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットしたとしても、そのフローエントリのアクションがコントローラ10宛の転送以外のアクションである場合(ステップS104でNo)、アクションに従ったフレームの処理を行うため、本発明の動作の対象にはならない。すなわち、通常のオープンフローネットワークシステムにおけるフレームの処理を行う。
フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットしたとしても、そのフローエントリのアクションがコントローラ10宛の転送以外のアクションである場合(ステップS104でNo)、アクションに従ったフレームの処理を行うため、本発明の動作の対象にはならない。すなわち、通常のオープンフローネットワークシステムにおけるフレームの処理を行う。
また、フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットせず、未知のフレームであることをコントローラ10に通知するオープンフロー独自の処理を行う場合(ステップS103でNo)、コントローラ10宛のフレーム処理のため、本発明の動作の対象となり、共有バケットと優先度バケットの評価を行う。
また、フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットし、そのフローエントリのアクションがコントローラ10宛の転送の場合(ステップS104でYes)も同様に、本発明の動作の対象となり、共有バケットと優先度バケットの評価を行う。
(6)ステップS106
フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットせず、未知のフレームであることをコントローラ10に通知するオープンフロー独自の処理を行う場合(ステップS103でNo)、或いは、当該フレームがフローエントリにヒットし、そのフローエントリのアクションがコントローラ10宛の転送の場合(ステップS104でYes)、共有バケット内のトークンの量を計り、共有バケット内にトークンが存在するか確認する。
フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットせず、未知のフレームであることをコントローラ10に通知するオープンフロー独自の処理を行う場合(ステップS103でNo)、或いは、当該フレームがフローエントリにヒットし、そのフローエントリのアクションがコントローラ10宛の転送の場合(ステップS104でYes)、共有バケット内のトークンの量を計り、共有バケット内にトークンが存在するか確認する。
(7)ステップS107
フレームを受信したスイッチ20は、共有バケット内にトークンが存在しない場合(ステップS106でNo)、優先度毎に設けられたバケット内にトークンが存在するか確認する。
フレームを受信したスイッチ20は、共有バケット内にトークンが存在しない場合(ステップS106でNo)、優先度毎に設けられたバケット内にトークンが存在するか確認する。
(8)ステップS108
フレームを受信したスイッチ20は、共有バケット内にトークンが存在する場合(ステップS106でYes)、或いは、共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にトークンが存在する場合(ステップS107でYes)、コントローラ10宛のフレームの転送を行う。
フレームを受信したスイッチ20は、共有バケット内にトークンが存在する場合(ステップS106でYes)、或いは、共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にトークンが存在する場合(ステップS107でYes)、コントローラ10宛のフレームの転送を行う。
このとき、図7に示すように、フレームを受信したスイッチ20は、共有バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、共有バケットから減算処理する。
また、図8に示すように、フレームを受信したスイッチ20は、当該フレームの優先度バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、当該優先度バケットから減算処理する。
(9)ステップS109
フレームを受信したスイッチ20は、共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にもトークンが存在しない場合(ステップS107でNo)、当該フレームを廃棄処理する。
フレームを受信したスイッチ20は、共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にもトークンが存在しない場合(ステップS107でNo)、当該フレームを廃棄処理する。
すなわち、図9に示すように、フレームを受信したスイッチ20は、共有バケット及び優先度バケットの両方の評価で、トークンが確保されていなかった場合、当該フレームを廃棄処理する。
フレームを受信したスイッチ20は、優先度バケットに、一定時間毎に、優先度に従って重み付けされた量のトークンを補充する。
すなわち、トークンの補充量は、優先度バケット毎に異なる。
このとき、優先度バケットに補充されたトークンの総量は、フレームを受信したスイッチ20がコントローラ10に転送できる最大転送量と一致している。
フレームを受信したスイッチ20は、優先度バケットへのトークンの補充後、一定時間毎に、全ての優先度バケット内のトークンを全て無条件で共有バケットに譲与することで、共有バケットにトークンを補充する。
但し、共有バケットの深さ(容量)は最大バースト転送量と一致しているため、フレームを受信したスイッチ20は、深さ(容量)以上のトークンを共有バケットに補充することはなく、余ったトークンについては廃棄する。
フレームを受信したスイッチ20は、空となった優先度バケットに対しては、規定時間後に、再度重み付けされた量のトークンを補充する。
すなわち、フレームを受信したスイッチ20は、全ての優先度バケットが空になってから、優先度バケットへのトークンの補充を行う。フレームを受信したスイッチ20は、優先度バケットを空にするタイミングと規定量補充するタイミングを周期的に管理し、繰り返す。
但し、図2に示すように、共有バケットの補充については、共有バケットが空である必要はない。
[効果の説明]
本発明では、最終評価となる優先度バケットに補充される最大量が、装置最大転送量として規定されており、補充前に一度全ての優先度バケットを空にするという動作から、どの時点においても、最大転送量を超えることがない。そのため、QoSとしての帯域制御ではなく、転送先装置の処理能力や受信許容範囲を超えないように保護することができる。
本発明では、最終評価となる優先度バケットに補充される最大量が、装置最大転送量として規定されており、補充前に一度全ての優先度バケットを空にするという動作から、どの時点においても、最大転送量を超えることがない。そのため、QoSとしての帯域制御ではなく、転送先装置の処理能力や受信許容範囲を超えないように保護することができる。
また、優先制御の点でいえば、WFQに似た効果が期待されるが、周期的に優先度バケットのトークンが共有バケットに集約され、共有バケットの範囲内であればフレーム種別に関わらず平等にバースト転送を許容できるというトークンバケット方式の性質的効果も同時に実現可能である。
なお、従来のトークンバケット方式は、帯域制限や優先制御のためのものではなく、帯域量を測定するものである。
一方、本発明では、トークンバケット方式を応用し、優先度毎にバケットを設けることによって優先的帯域制限を実現している。そのため、優先度バケットでは全てのバケットにトークンの補充がなされるので、全ての優先度の帯域保証が可能であり、低優先度のフレームに関しても帯域を保証することができる。
更に、本発明では、フレームの優先度クラス分別において、従来の優先制御方式のように、優先度別にフレームを格納するためのバッファを設ける必要がないため、メモリリソースが節約でき、実装が容易である。
<付記>
本発明に係るスイッチ20(20−i、i=1〜n)の各々は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。ここでは、記載の簡略化のため、スイッチ20(20−i、i=1〜n)の各々を、「スイッチ20」と表記する。
本発明に係るスイッチ20(20−i、i=1〜n)の各々は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。ここでは、記載の簡略化のため、スイッチ20(20−i、i=1〜n)の各々を、「スイッチ20」と表記する。
[付記1]
図10を参照して、本発明に係るスイッチ20の基本的な構成例について説明する。
図10を参照して、本発明に係るスイッチ20の基本的な構成例について説明する。
本発明に係るスイッチ20は、オープンフロー処理部21と、バケット設定部22と、共有バケット評価部23と、優先度バケット評価部24を備える。
オープンフロー処理部21は、コントローラ10からの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録する。
バケット設定部22は、コントローラ10宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設ける。
共有バケット評価部23は、受信したフレームを、コントローラ10宛か否かを評価し、コントローラ10宛となったフレームに対して、共有バケットを評価する。
優先度バケット評価部24は、共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定する。
[付記2]
図11を参照して、本発明に係るスイッチ20の詳細な構成例について説明する。
図11を参照して、本発明に係るスイッチ20の詳細な構成例について説明する。
なお、図10と共通する内容については、説明を省略する。
バケット設定部22は、優先度バケット設定部211と、共有バケット設定部222を備える。
優先度バケット設定部221は、受信するフレームの優先度毎に、バケットを設ける。
共有バケット設定部222は、優先度毎に設けたバケットの評価の前に、共有バケットを1つ設ける。
本発明に係るスイッチ20は、更に、トークン処理部25を備える。
トークン処理部25は、トークン補充部251と、トークン移転部252と、トークン廃棄部253を備える。
トークン補充部251は、優先度毎に設けたバケットに、優先度に従った量のトークンを補充する。
トークン移転部252は、一定周期毎に、その時点で優先度毎に設けたバケット内に存在するトークンを全て共有バケットへ渡す。
トークン廃棄部253は、共有バケットの容量の限度を超えてトークンがあふれた場合、あふれたトークンを廃棄する。
共有バケット評価部23は、共有バケット内のトークンが存在する限り、受信したフレームの優先度に関わらず、全てのフレームを平等に評価し、転送する。
優先度バケット評価部24は、共有バケット内のトークンが存在しない場合、優先的制限へと切り替え、優先度毎に設けたバケットの評価を行い、受信したフレームの優先度と対応するバケット内にトークンが存在するか確認する。優先度バケット評価部24は、確認した結果、受信したフレームの優先度と対応するバケット内にトークンが存在する場合、受信したフレームの転送処理を行う。また、優先度バケット評価部24は、受信したフレームの優先度と対応するバケット内にトークンが存在しない場合は、受信したフレームの廃棄処理を行う。
[付記3]
図10及び図11を参照して、上記の構成について更に詳細に説明する。
図10及び図11を参照して、上記の構成について更に詳細に説明する。
オープンフロー処理部21は、到着したフレームをフローテーブルの検索に掛け、当該フレームがフローエントリにヒットしたか確認する。オープンフロー処理部21は、当該フレームがフローエントリにヒットした場合、当該フローエントリのアクションがコントローラ10宛の転送であるか確認する。オープンフロー処理部21は、当該フローエントリのアクションがコントローラ10宛の転送以外のアクションである場合、当該アクションに従ったフレームの処理を行う。
共有バケット評価部23は、当該フレームがフローエントリにヒットせず、未知のフレームであることをコントローラ10に通知する処理を行う場合、或いは、当該フレームがフローエントリにヒットし、当該フローエントリのアクションがコントローラ10宛の転送の場合、共有バケット内のトークンの量を計り、共有バケット内にトークンが存在するか確認する。
優先度バケット評価部24は、共有バケット内にトークンが存在しない場合、優先度毎に設けられたバケット内にトークンが存在するか確認する。
オープンフロー処理部21は、共有バケット内にトークンが存在する場合、或いは、共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にトークンが存在する場合、コントローラ10宛のフレームの転送を行う。
共有バケット評価部23は、共有バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、共有バケットから減算処理する。
優先度バケット評価部24は、当該フレームの優先度バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、当該優先度バケットから減算処理する。
オープンフロー処理部21は、共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にもトークンが存在しない場合、当該フレームを廃棄処理する。
[付記4]
なお、上記の構成は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
なお、上記の構成は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
<備考>
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
なお、本出願は、日本出願番号特願2011−250191に基づく優先権を主張するものであり、日本出願番号特願2011−250191における開示内容は引用により本出願に組み込まれる。
Claims (9)
- コントローラからの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録する手段と、
前記コントローラ宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設ける手段と、
受信したフレームを、前記コントローラ宛か否かを評価し、前記コントローラ宛となったフレームに対して、前記共有バケットを評価する手段と、
前記共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定する手段と
を具備する
ネットワーク通信装置。 - 請求項1に記載のネットワーク通信装置であって、
受信するフレームの優先度毎に、バケットを設ける手段と、
前記優先度毎に設けたバケットに、優先度に従った量のトークンを補充する手段と、
前記優先度毎に設けたバケットの評価の前に、前記共有バケットを1つ設ける手段と、
一定周期毎に、その時点で前記優先度毎に設けたバケット内に存在するトークンを全て前記共有バケットへ渡す手段と、
前記共有バケットの容量の限度を超えてトークンがあふれた場合、あふれたトークンを廃棄する手段と、
前記共有バケット内のトークンが存在する限り、受信したフレームの優先度に関わらず、全てのフレームを平等に評価し、転送する手段と、
前記共有バケット内のトークンが存在しない場合、優先的制限へと切り替え、前記優先度毎に設けたバケットの評価を行い、受信したフレームの優先度と対応するバケット内にトークンが存在するか確認する手段と、
受信したフレームの優先度と対応するバケット内にトークンが存在する場合、受信したフレームの転送処理を行う手段と、
受信したフレームの優先度と対応するバケット内にトークンが存在しない場合は、受信したフレームの廃棄処理を行う手段と
を更に具備する
ネットワーク通信装置。 - 請求項1又は2に記載のネットワーク通信装置であって、
到着したフレームを、フローテーブルの検索に掛ける手段と、
当該フレームがフローエントリにヒットしたか確認する手段と、
当該フレームがフローエントリにヒットした場合、当該フローエントリのアクションが前記コントローラ宛の転送であるか確認する手段と、
当該フローエントリのアクションが前記コントローラ宛の転送以外のアクションである場合、当該アクションに従ったフレームの処理を行う手段と、
当該フレームがフローエントリにヒットせず、未知のフレームであることを前記コントローラに通知する処理を行う場合、或いは、当該フレームがフローエントリにヒットし、当該フローエントリのアクションが前記コントローラ宛の転送の場合、前記共有バケット内のトークンの量を計り、前記共有バケット内にトークンが存在するか確認する手段と、
前記共有バケット内にトークンが存在しない場合、前記優先度毎に設けられたバケット内にトークンが存在するか確認する手段と、
前記共有バケット内にトークンが存在する場合、或いは、前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にトークンが存在する場合、前記コントローラ宛のフレームの転送を行う手段と、
前記共有バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、前記共有バケットから減算処理する手段と、
当該フレームの優先度バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、当該優先度バケットから減算処理する手段と、
前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にもトークンが存在しない場合、当該フレームを廃棄処理する手段と
を更に具備する
ネットワーク通信装置。 - ネットワーク通信装置により実施される転送フレーム優先的帯域制限方法であって、
コントローラからの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録することと、
前記コントローラ宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設けることと、
受信したフレームを、前記コントローラ宛か否かを評価し、前記コントローラ宛となったフレームに対して、前記共有バケットを評価することと、
前記共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定することと
を含む
転送フレーム優先的帯域制限方法。 - 請求項4に記載の転送フレーム優先的帯域制限方法であって、
受信するフレームの優先度毎に、バケットを設けることと、
前記優先度毎に設けたバケットに、優先度に従った量のトークンを補充することと、
前記優先度毎に設けたバケットの評価の前に、前記共有バケットを1つ設けることと、
一定周期毎に、その時点で前記優先度毎に設けたバケット内に存在するトークンを全て前記共有バケットへ渡すことと、
前記共有バケットの容量の限度を超えてトークンがあふれた場合、あふれたトークンを廃棄することと、
前記共有バケット内のトークンが存在する限り、受信したフレームの優先度に関わらず、全てのフレームを平等に評価し、転送することと、
前記共有バケット内のトークンが存在しない場合、優先的制限へと切り替え、前記優先度毎に設けたバケットの評価を行い、受信したフレームの優先度と対応するバケット内にトークンが存在するか確認することと、
受信したフレームの優先度と対応するバケット内にトークンが存在する場合、受信したフレームの転送処理を行うことと、
受信したフレームの優先度と対応するバケット内にトークンが存在しない場合は、受信したフレームの廃棄処理を行うことと
を更に含む
転送フレーム優先的帯域制限方法。 - 請求項4又は5に記載の転送フレーム優先的帯域制限方法であって、
到着したフレームを、フローテーブルの検索に掛けることと、
当該フレームがフローエントリにヒットしたか確認することと、
当該フレームがフローエントリにヒットした場合、当該フローエントリのアクションが前記コントローラ宛の転送であるか確認することと、
当該フローエントリのアクションが前記コントローラ宛の転送以外のアクションである場合、当該アクションに従ったフレームの処理を行うことと、
当該フレームがフローエントリにヒットせず、未知のフレームであることを前記コントローラに通知する処理を行う場合、或いは、当該フレームがフローエントリにヒットし、当該フローエントリのアクションが前記コントローラ宛の転送の場合、前記共有バケット内のトークンの量を計り、前記共有バケット内にトークンが存在するか確認することと、
前記共有バケット内にトークンが存在しない場合、前記優先度毎に設けられたバケット内にトークンが存在するか確認することと、
前記共有バケット内にトークンが存在する場合、或いは、前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にトークンが存在する場合、前記コントローラ宛のフレームの転送を行うことと、
前記共有バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、前記共有バケットから減算処理することと、
当該フレームの優先度バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、当該優先度バケットから減算処理することと、
前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にもトークンが存在しない場合、当該フレームを廃棄処理することと
を更に含む
転送フレーム優先的帯域制限方法。 - コントローラからの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録するステップと、
前記コントローラ宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設けるステップと、
受信したフレームを、前記コントローラ宛か否かを評価し、前記コントローラ宛となったフレームに対して、前記共有バケットを評価するステップと、
前記共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定するステップと
をネットワーク通信装置に実行させるためのプログラムを格納した
記憶媒体。 - 請求項7に記載の記憶媒体であって、
受信するフレームの優先度毎に、バケットを設けるステップと、
前記優先度毎に設けたバケットに、優先度に従った量のトークンを補充するステップと、
前記優先度毎に設けたバケットの評価の前に、前記共有バケットを1つ設けるステップと、
一定周期毎に、その時点で前記優先度毎に設けたバケット内に存在するトークンを全て前記共有バケットへ渡すステップと、
前記共有バケットの容量の限度を超えてトークンがあふれた場合、あふれたトークンを廃棄するステップと、
前記共有バケット内のトークンが存在する限り、受信したフレームの優先度に関わらず、全てのフレームを平等に評価し、転送するステップと、
前記共有バケット内のトークンが存在しない場合、優先的制限へと切り替え、前記優先度毎に設けたバケットの評価を行い、受信したフレームの優先度と対応するバケット内にトークンが存在するか確認するステップと、
受信したフレームの優先度と対応するバケット内にトークンが存在する場合、受信したフレームの転送処理を行うステップと、
受信したフレームの優先度と対応するバケット内にトークンが存在しない場合は、受信したフレームの廃棄処理を行うステップと
を更にネットワーク通信装置に実行させるためのプログラムを格納した
記憶媒体。 - 請求項7又は8に記載の記憶媒体であって、
到着したフレームを、フローテーブルの検索に掛けるステップと、
当該フレームがフローエントリにヒットしたか確認するステップと、
当該フレームがフローエントリにヒットした場合、当該フローエントリのアクションが前記コントローラ宛の転送であるか確認するステップと、
当該フローエントリのアクションが前記コントローラ宛の転送以外のアクションである場合、当該アクションに従ったフレームの処理を行うステップと、
当該フレームがフローエントリにヒットせず、未知のフレームであることを前記コントローラに通知する処理を行う場合、或いは、当該フレームがフローエントリにヒットし、当該フローエントリのアクションが前記コントローラ宛の転送の場合、前記共有バケット内のトークンの量を計り、前記共有バケット内にトークンが存在するか確認するステップと、
前記共有バケット内にトークンが存在しない場合、前記優先度毎に設けられたバケット内にトークンが存在するか確認するステップと、
前記共有バケット内にトークンが存在する場合、或いは、前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にトークンが存在する場合、前記コントローラ宛のフレームの転送を行うステップと、
前記共有バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、前記共有バケットから減算処理するステップと、
当該フレームの優先度バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、当該優先度バケットから減算処理するステップと、
前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にもトークンが存在しない場合、当該フレームを廃棄処理するステップと
を更にネットワーク通信装置に実行させるためのプログラムを格納した
記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013544329A JP5668868B2 (ja) | 2011-11-15 | 2012-11-15 | ネットワーク通信装置、及び転送フレーム優先的帯域制限方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011250191 | 2011-11-15 | ||
JP2011250191 | 2011-11-15 | ||
JP2013544329A JP5668868B2 (ja) | 2011-11-15 | 2012-11-15 | ネットワーク通信装置、及び転送フレーム優先的帯域制限方法 |
PCT/JP2012/079705 WO2013073639A1 (ja) | 2011-11-15 | 2012-11-15 | ネットワーク通信装置、及び転送フレーム優先的帯域制限方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5668868B2 true JP5668868B2 (ja) | 2015-02-12 |
JPWO2013073639A1 JPWO2013073639A1 (ja) | 2015-04-02 |
Family
ID=48429693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013544329A Active JP5668868B2 (ja) | 2011-11-15 | 2012-11-15 | ネットワーク通信装置、及び転送フレーム優先的帯域制限方法 |
Country Status (10)
Country | Link |
---|---|
US (1) | US9525635B2 (ja) |
EP (1) | EP2782298A4 (ja) |
JP (1) | JP5668868B2 (ja) |
KR (1) | KR101590740B1 (ja) |
CN (1) | CN103947167B (ja) |
BR (1) | BR112014011652A2 (ja) |
CA (1) | CA2855762A1 (ja) |
IN (1) | IN2014CN03581A (ja) |
RU (1) | RU2586062C2 (ja) |
WO (1) | WO2013073639A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6405692B2 (ja) * | 2014-05-12 | 2018-10-17 | 沖電気工業株式会社 | 送信装置、送信装置の制御方法、送信プログラム及び通信システム |
US9692684B2 (en) * | 2014-09-05 | 2017-06-27 | Telefonaktiebolaget L M Ericsson (Publ) | Forwarding table precedence in SDN |
WO2017173601A1 (zh) * | 2016-04-06 | 2017-10-12 | 华为技术有限公司 | 软件定义网络sdn中流量控制方法和设备 |
CN108024256B (zh) * | 2016-11-03 | 2020-04-03 | 华为技术有限公司 | 一种收缩网络切片实例的方法、装置和系统 |
JP6933535B2 (ja) * | 2017-09-21 | 2021-09-08 | 株式会社東芝 | 通信装置、通信方法及びプログラム |
RU179335U1 (ru) * | 2017-12-20 | 2018-05-08 | Общество с ограниченной ответственностью "БУЛАТ" | Абонентское сетевое устройство с виртуализированными сетевыми функциями |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1049390A (ja) * | 1995-11-03 | 1998-02-20 | At & T Corp | リソース共用のためのシステムおよび方法 |
JP2007049591A (ja) * | 2005-08-12 | 2007-02-22 | Kddi Corp | トラフィック制御装置、トラフィック制御方法及びコンピュータプログラム |
WO2011083682A1 (ja) * | 2010-01-05 | 2011-07-14 | 日本電気株式会社 | スイッチネットワークシステム、コントローラ、及び制御方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032653B1 (en) * | 2000-09-08 | 2011-10-04 | Juniper Networks, Inc. | Guaranteed bandwidth sharing in a traffic shaping system |
US7724760B2 (en) * | 2001-07-05 | 2010-05-25 | Broadcom Corporation | Method and apparatus for bandwidth guarantee and overload protection in a network switch |
US7249162B2 (en) | 2003-02-25 | 2007-07-24 | Microsoft Corporation | Adaptive junk message filtering system |
US7327682B2 (en) * | 2003-06-27 | 2008-02-05 | Cisco Technology, Inc. | Methods and devices for flexible bandwidth allocation |
RU2412461C2 (ru) * | 2003-08-21 | 2011-02-20 | Майкрософт Корпорейшн | Системы и способы сопряжения прикладных программ с платформой хранения на основе статей |
US20050174944A1 (en) * | 2004-02-10 | 2005-08-11 | Adc Broadband Access Systems, Inc. | Bandwidth regulation |
JP2005244417A (ja) | 2004-02-25 | 2005-09-08 | Fujitsu Ltd | 帯域制御装置、帯域制御方法および帯域制御プログラム |
US7564790B2 (en) | 2005-02-28 | 2009-07-21 | Cisco Technology, Inc. | Method and system for shaping traffic in a parallel queuing hierarchy |
US7719968B2 (en) * | 2005-12-30 | 2010-05-18 | Extreme Networks, Inc. | Multi-priority multi-color markers for traffic metering |
CN101064672A (zh) * | 2006-04-24 | 2007-10-31 | 华为技术有限公司 | 一种接入设备及其带宽控制方法 |
US8730812B2 (en) * | 2009-01-09 | 2014-05-20 | Brocade Communications Systems, Inc. | Hierarchical rate color marker |
US8315168B2 (en) * | 2009-10-28 | 2012-11-20 | Broadcom Corporation | Priority-based hierarchical bandwidth sharing |
JP2011250191A (ja) | 2010-05-27 | 2011-12-08 | Brother Ind Ltd | ラインデータの補正方法、及び画像形成装置 |
US9160669B2 (en) * | 2011-06-28 | 2015-10-13 | Zte Corporation | Method and device for leaky bucket speed-limitation |
-
2012
- 2012-11-15 KR KR1020147013058A patent/KR101590740B1/ko not_active IP Right Cessation
- 2012-11-15 RU RU2014119522/07A patent/RU2586062C2/ru not_active IP Right Cessation
- 2012-11-15 WO PCT/JP2012/079705 patent/WO2013073639A1/ja active Application Filing
- 2012-11-15 CN CN201280056245.5A patent/CN103947167B/zh not_active Expired - Fee Related
- 2012-11-15 EP EP12850283.8A patent/EP2782298A4/en not_active Withdrawn
- 2012-11-15 US US14/357,746 patent/US9525635B2/en active Active
- 2012-11-15 JP JP2013544329A patent/JP5668868B2/ja active Active
- 2012-11-15 BR BR112014011652A patent/BR112014011652A2/pt not_active Application Discontinuation
- 2012-11-15 IN IN3581CHN2014 patent/IN2014CN03581A/en unknown
- 2012-11-15 CA CA2855762A patent/CA2855762A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1049390A (ja) * | 1995-11-03 | 1998-02-20 | At & T Corp | リソース共用のためのシステムおよび方法 |
JP2007049591A (ja) * | 2005-08-12 | 2007-02-22 | Kddi Corp | トラフィック制御装置、トラフィック制御方法及びコンピュータプログラム |
WO2011083682A1 (ja) * | 2010-01-05 | 2011-07-14 | 日本電気株式会社 | スイッチネットワークシステム、コントローラ、及び制御方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101590740B1 (ko) | 2016-02-01 |
US9525635B2 (en) | 2016-12-20 |
IN2014CN03581A (ja) | 2015-10-09 |
CA2855762A1 (en) | 2013-05-23 |
CN103947167B (zh) | 2017-05-17 |
EP2782298A1 (en) | 2014-09-24 |
CN103947167A (zh) | 2014-07-23 |
RU2014119522A (ru) | 2015-12-27 |
JPWO2013073639A1 (ja) | 2015-04-02 |
BR112014011652A2 (pt) | 2017-05-02 |
RU2586062C2 (ru) | 2016-06-10 |
US20150063116A1 (en) | 2015-03-05 |
KR20140073589A (ko) | 2014-06-16 |
EP2782298A4 (en) | 2015-05-06 |
WO2013073639A1 (ja) | 2013-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11178262B2 (en) | Fabric control protocol for data center networks with packet spraying over multiple alternate data paths | |
US10382362B2 (en) | Network server having hardware-based virtual router integrated circuit for virtual networking | |
US20210320820A1 (en) | Fabric control protocol for large-scale multi-stage data center networks | |
US9294304B2 (en) | Host network accelerator for data center overlay network | |
JP5668868B2 (ja) | ネットワーク通信装置、及び転送フレーム優先的帯域制限方法 | |
US20200169513A1 (en) | Fabric control protocol for data center networks with packet spraying over multiple alternate data paths | |
US9705827B2 (en) | Methods and apparatus for virtual channel flow control associated with a switch fabric | |
US9703743B2 (en) | PCIe-based host network accelerators (HNAS) for data center overlay network | |
JP5850131B2 (ja) | ネットワークシステム、リソース使用率改善方法 | |
US8520522B1 (en) | Transmit-buffer management for priority-based flow control | |
EP3591914B1 (en) | Method and apparatus for flow control associated with a switch fabric | |
CN113767598A (zh) | 用于逐流量分类路由的系统和方法 | |
US20100150164A1 (en) | Flow-based queuing of network traffic | |
US20060098672A1 (en) | Apparatus for and method of support for committed over excess traffic in a distributed queuing system | |
WO2012032864A1 (ja) | スイッチシステム、スイッチ制御方法、及び記憶媒体 | |
US9485191B2 (en) | Flow-control within a high-performance, scalable and drop-free data center switch fabric | |
EP3169036A1 (en) | Packet processing method, apparatus, and device | |
US8503428B2 (en) | Customized classification of host bound traffic | |
EP2896158A1 (en) | Determining a load distribution for data units at a packet inspection device | |
Paliwal et al. | Implementation of QoS aware Q-routing algorithm for network-on-chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5668868 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |