JP2018500851A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2018500851A5 JP2018500851A5 JP2017535718A JP2017535718A JP2018500851A5 JP 2018500851 A5 JP2018500851 A5 JP 2018500851A5 JP 2017535718 A JP2017535718 A JP 2017535718A JP 2017535718 A JP2017535718 A JP 2017535718A JP 2018500851 A5 JP2018500851 A5 JP 2018500851A5
- Authority
- JP
- Japan
- Prior art keywords
- packet
- value
- traffic
- trt
- flow
- 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.)
- Granted
Links
- 238000007493 shaping process Methods 0.000 claims description 62
- 230000005540 biological transmission Effects 0.000 claims description 59
- 238000004590 computer program Methods 0.000 claims description 13
- 230000000875 corresponding Effects 0.000 claims description 13
- 238000007906 compression Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 16
- UIIMBOGNXHQVGW-UHFFFAOYSA-M buffer Substances [Na+].OC([O-])=O UIIMBOGNXHQVGW-UHFFFAOYSA-M 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000001360 synchronised Effects 0.000 description 3
- 230000003111 delayed Effects 0.000 description 2
- 230000002708 enhancing Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 101710002361 PCMP-H52 Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005587 bubbling Effects 0.000 description 1
- 230000001413 cellular Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000023298 conjugation with cellular fusion Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 239000006249 magnetic particle Substances 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
- 229910052904 quartz Inorganic materials 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000021037 unidirectional conjugation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Description
本開示は、パケット交換ネットワークノードにおけるパケットフロー処理の分野に関し、詳細には、イーサネットベースネットワーク内のネットワークノードにおけるイーサネットフレーム処理に関する。
パケット交換ネットワーク、詳細にはイーサネット(登録商標)は、データ通信以外の分野において次第に使用されているようになっている。
詳細には、いくつかの産業用ネットワークが、イーサネットのカスタム化されたバージョン、またはイーサネットから派生したプロトコルのカスタム化されたバージョンを使用することが知られている。さらに、国際プロフィバスおよびプロフィネット協会(PI)によって「プロフィバス」および「プロフィネット」として発行される産業用ネットワーク仕様は、自動化アプリケーションのために産業用ネットワークにおいてイーサネットベース技術を使用する可能性を提供する。
これらの技術によって導入される発展は主に、これらのネットワークの回復力の改善、すなわち、データ伝送速度に影響を及ぼすことなく、単一の障害から保護することに焦点を合わせる。国際電気標準会議(International Electrotechnical Commission)によってIEC62439−3第5節として標準化された高可用シームレス冗長性(HSR:High-availability Seamless Redundancy)、IECによってIEC62439−3第4節として標準化されたパラレル冗長プロトコル(PRP:Parallel Redundancy Protocol)、IECによってIEC62439−2として標準化されたメディア冗長プロトコル(MRP: Media Redundancy Protocol)等の標準規格が、イーサネットベース産業用ネットワークにおいて使用できるように開発されてきた。
しかしながら、産業用ネットワークは、データ伝送の厳密な時間特性の強制等の、標準的なイーサネットを用いて実施することができない特定の制約を有する。詳細には、厳しく制限された待ち時間および/またはジッタ、並びに厳密に損失のない移送を要求する制御/コマンドメッセージの伝送は、現在利用可能なイーサネット仕様において適切に対処されない。
これらの特性は、ネットワークリソースが申し込み超過にならないのを確実にするためのネットワークリソース(バッファおよび帯域幅)予約方式、予約されたリソースに従ってトラフィックが送出されるのを確実にするためのトラフィックシェーピングおよびスケジューリング機構、並びにリソース予約/トラフィックシェーピングの均衡を乱す、障害のある、または動作不良のトラフィックソースが存在しないのを確実にするためのトラフィックポリシング方式を適用することによって、強制することができる。
異なる事業者のネットワークをリンクするネットワークインターフェース等の特定のネットワークインターフェースにおいてトラフィック契約を強制するために、電気通信ネットワークにおいてトラフィックポリシング技法が実施されてきた。トラフィック契約(関連技術分野において、「サービス水準合意」またはSLA(Service Level Agreement)とも呼ばれる)は通常、サービスネットワークを介して2つの終端間で移送されることになる1つまたは複数のデータフローに適用可能なトラフィックパラメーターの組を含む。ネットワークによって提供されるサービスは、例えば、中央コントローラーによる自動販売機の制御、一定の伝送速度におけるビデオデータの転送等に関連する場合がある。トラフィック契約は、一般に、発信元と宛先との間でネットワークを通して搬送される任意のデータフローに関して、ネットワークを通してのデータフローの移送に関連する要件の組(例えば、伝送速度、伝送時間、ジッタ、パケットサイズ等)として規定することができる。契約に従ってネットワークを介してフローに関連付けられるデータを移送するには、契約において規定される要件の履行が必要となる。これらの要件は一般に、データ通信ネットワークによって提供されるサービスのタイプによって規定されることになる。
ネットワークの可変長パケットの流れをトラフィック契約と整合させるトラフィックポリシング方法が記載された従来技術がある(例えば、特許文献1参照)。
異なる事業者のネットワークをリンクするネットワークインターフェース等の特定のネットワークインターフェースにおいてトラフィック契約を強制するために、電気通信ネットワークにおいてトラフィックポリシング技法が実施されてきた。トラフィック契約(関連技術分野において、「サービス水準合意」またはSLA(Service Level Agreement)とも呼ばれる)は通常、サービスネットワークを介して2つの終端間で移送されることになる1つまたは複数のデータフローに適用可能なトラフィックパラメーターの組を含む。ネットワークによって提供されるサービスは、例えば、中央コントローラーによる自動販売機の制御、一定の伝送速度におけるビデオデータの転送等に関連する場合がある。トラフィック契約は、一般に、発信元と宛先との間でネットワークを通して搬送される任意のデータフローに関して、ネットワークを通してのデータフローの移送に関連する要件の組(例えば、伝送速度、伝送時間、ジッタ、パケットサイズ等)として規定することができる。契約に従ってネットワークを介してフローに関連付けられるデータを移送するには、契約において規定される要件の履行が必要となる。これらの要件は一般に、データ通信ネットワークによって提供されるサービスのタイプによって規定されることになる。
ネットワークの可変長パケットの流れをトラフィック契約と整合させるトラフィックポリシング方法が記載された従来技術がある(例えば、特許文献1参照)。
イーサネットが関係する限り、「仮想ブリッジローカルエリアネットワーク(Virtual Bridged Local Area Networks)」と題するローカルおよびメトロポリタンエリアネットワーク802.1Q−2005に関するIEEE標準規格が、第8.6.5節(「フロー分類およびメータリング」)および第8.6.7節(キュー管理)においてフレームメータリングフレームワークを含む。しかしながら、このフレームワークは、いかなる特定のメータリングアルゴリズムも規定せず、単に、メトロイーサネットフォーラム技術仕様書MEF10において記述されるメータリングアルゴリズムおよびIETF RFC2309において規定されるキュー管理アルゴリズム(ランダム早期検出(RED:Random Early Detection)アルゴリズムおよび重み付けランダム早期検出(WRED:Weighted Random Early Detection)アルゴリズム)を参照する。
フレームのS−VLANタグおよびC−VLANタグ内のDEI(ドロップ適格指示:Drop Eligibility Indication)によって指示される「ドロップ適格」パラメーターを設定および使用するためのフレームワークを設けるために、IEEE802.1Q標準規格においてフレームメータリングが導入された。
この標準仕様書は、メトロイーサネットフォーラム(MEF)がいわゆる帯域幅プロファイルを規定したメトロポリタンイーサネットネットワークの相互接続等の、異なるターゲットマーケットへの実現の融通性および適応性を持たせるために最小限に抑えられた。
IEEE802.1Q−2005標準規格第8.6.5節は、オプションのイングレスメーターの使用を規定し、その役割は、フレームに関連付けられるドロップ適格パラメーターを設定することである。所与のメーターによって取り扱われる全てのフレームは、同じ受信ポートから着信し、異なるメーターを適用するために、宛先アドレス(DA)、発信元アドレス(SA)VLAN識別子(VID)および優先順位を含むパラメーターの任意の組み合わせに基づいて、フレームの分類が可能である。メータリングは、ブリッジキュー前、かつ全てのフィルタリング機能(アクティブトポロジ強制、入口VID、フィルタリングデータベース(FDB)および出口VID)後に適用される。メータリングアルゴリズムは規定されないが、MEFアルゴリズムが参照される。常に破棄されるフレームに予約された第3のカラー(赤)で拡張された、DEIビットを使用することによって、2カラー(緑および黄)方式が可能になる。
キュー管理に関して、IEEE802.1Q−2005標準規格第8.6.7節は、フレームによって搬送されるカラー指示を利用する方法を大まかに規定し、ドロップ適格フレームは、非ドロップ適格フレームより破棄される確率が高い場合がある。実施者は、異なるカラー閾値、ランダム早期検出または重み付けランダム早期検出をとともに、例えば、テイルドロップ等のキュー管理方式を自由に選択することができる。
2013年10月付けの「Ethernet Services Attributes Phase 3」と題するメトロイーサネットフォーラム(MEF)技術仕様書MEF10.3は、フレーム「カラーリング」方式に基づく、「帯域幅プロファイル」と呼ばれるポリシングアルゴリズムを含む。
MEF方式によれば、サービスフレームのカラーは、先行するフレームの到着時刻の履歴に対する、メーターにおけるサービスフレームの到着時刻によって決定される属性である。この点において、カラーは、その優先順位とは異なり、サービスフレームに添付され、その内容によって決定されるサービスフレームの属性である。
しかしながら、MEF技術仕様書は、着信するサービスフレームのためのサービス契約への順守または非順守を検証するためのトラフィックメータリングアルゴリズムしか提供しない。その仕様書は、トラフィックポリシングアルゴリズムまたはトラフィックシェーピングアルゴリズムを規定しないので、その結果、産業用ネットワークにおいて使用する状況において特に、データ伝送の厳密な時間特性およびデータ損失特性への順守を確実にするための有効性が制限される。別の言い方をすると、MEF技術仕様書は、サービス契約において規定される要件への順守を確実にするための手段を十分に提供しない場合がある。
それゆえ、当該技術分野における従来技術の上記の欠点および短所に対処する、改善されたデータトラフィック管理方式、およびそれを実施するネットワークノードを提供することが必要とされている。
本主題開示の目的は、改善されたデータトラフィック管理方式と、それを実施するネットワークノードとを提供することである。
本主題開示の別の目的は、従来のデータトラフィック制御方式の上記の欠点および短所を軽減するための、改善されたトラフィック管理方式と、それを実施するネットワークノードとを提供することである。
本主題開示のさらに別の目的は、ネットワーク内のデータの移送に関してトラフィックプロファイル要件への順守を確実にするための、改善されたトラフィック管理方式と、それを実施するネットワークノードとを提供することである。
これらの目的および他の利点を達成するために、本明細書において具現され、大まかに説明されるような、本主題開示の目的によれば、本主題開示の1つの態様において、パケット交換ネットワーク内のネットワークノードにおけるトラフィック管理のための方法が提案され、そのネットワークノードは、パケットフローに属するパケットを出力するための少なくとも1つの出口ポートと、パケットフローの着信するパケットを受信するための1つまたは複数の入口ポートとを備える。本方法は、パケットフローに属し、パケットフローに関連付けられるメモリキュー内に記憶される現在のパケットに関するトラフィックシェーピングを実行することを含み、トラフィックシェーピングは、現在のパケットの理論受信時刻(TRT)値が時刻カウンター値以下である場合には、出口ポートを通して、現在のパケットを出力することを含む。提案される方法によれば、パケットのTRT値は、現在のパケットの前に受信されたパケットフローの先行するパケットがトラフィックポリシングによって破棄されていないとき、先行するパケットのサイズと、フローに関連付けられる伝送速度値と、先行するパケットのTRT値が先行するパケットの実受信時刻(ART)値より大きい場合には、先行するパケットのTRT値と、そうでない場合には、先行するパケットのART値とを用いて、または先行するパケットがトラフィックポリシングによって破棄されたとき、先行するパケットのTRT値を用いて、パケットフローの着信パケットのトラフィックポリシングを実行することによって求められる。
時間および損失の影響を受けやすい制御フローおよびコマンドフローを移送するネットワークの場合、メッセージが安全に(いかなる損失も受けることなく)、かつ適時に(保証された帯域幅および最小のジッタで)送信されるのを保証するために、有利には、入口トラフィックポリシングおよび出口トラフィックシェーピングの両方を適用することができる。さらに、入口ポリシングは、ネットワークノードの誤動作、すなわち、フレームの繰り返し(キューイングエラー)、過剰な伝送速度(シェーピングエラー)、より長いフレーム(タギング/パディングエラー)、誤った伝送キューにおける転送(切替エラー)、過剰なブリッジ/スイッチ遅延(ハードウェア/ソフトウェア不履行)、「バブリング」ノード(欠陥のあるソースまたはスイッチ)に対処し、これらの誤動作を軽減できるようにする。
提案される方法は、有利には、トラフィックポリシング方式によって求められたTRT値をトラフィックシェーピングステージにおいて使用することを通して、互いに協調するトラフィックシェーピング方式およびトラフィックポリシング方式を提供する。したがって、提案される方法は、トラフィックシェーピングおよびトラフィックポリシングの協調動作を提供する。
1つまたは複数の実施の形態において、提案される方法は、トラフィックポリシングが、パケットフローのサイズがこのパケットフローに関連付けられるメモリキュー内の利用可能な空間を超えるパケットフローに属する受信パケットを破棄することを含むことをさらに提供することができる。
提案される方法の1つまたは複数の実施の形態において、トラフィックポリシングは、トラフィックポリシングループの繰り返し時に実行され、トラフィックポリシングループの繰り返しは、時刻カウンター値が少なくとも1時間単位だけインクリメントされたときに実行される。
さらに、トラフィックシェーピングもトラフィックシェーピングループの繰り返し時に実行される場合があり、トラフィックシェーピングループの繰り返しは、時刻カウンター値が更新されたときに実行される。1つまたは複数の実施の形態において、そのような更新は、時刻カウンターをインクリメントすることを含むことができ、トラフィックシェーピングループの繰り返しは、時刻カウンター値が少なくとも1時間単位だけインクリメントされたときに実行することができる。他の実施の形態において、そのような更新は、トラフィックシェーピングループの次の繰り返しのためのオフセットだけ、トラフィックシェーピングのために使用される時刻カウンター値をシフトすることを含むことができ、トラフィックシェーピングループの繰り返しは、時刻カウンター値が時間オフセットだけシフトされたときに実行することができる。
トラフィックポリシングおよび/またはトラフィックシェーピングを上述した時刻カウンターによってドライブされるループとして動作させることにより、有利には、例えば、同じ時刻カウンターを通して、または同じ時刻基準に基づくが、(トラフィックシェーピング時刻カウンターとトラフィックポリシング時刻カウンターとの間で)ある時間オフセットだけシフトされたそれぞれの時刻カウンターを通して、トラフィックポリシングおよびトラフィックシェーピングのために単一の時刻基準が使用される。トラフィックポリシング方式は通常、入口ポートにおいて実行され、トラフィックシェーピング方式は通常、出口ポートにおいて実行されるので、これは、入口ポートおよび出口ポートの両方において同じ時刻基準を使用する機会を生み出す。この共通の時刻基準は、有利には、一ネットワークノードのレベルにおける全てのポートによってだけでなく、パケット交換ネットワーク内の複数のネットワークノードによっても使用されるように設計することもできる。
トラフィックシェーピングおよびトラフィックポリシングのためのこの共通パラメーターの使用は、それらの機構の実施態様の複雑さも低減し、このことはそれらの機構を実施するネットワークノードを設計する場合に有益である。
提案される方法の1つまたは複数の実施の形態において、先行するパケットのTRT値
が、先行するパケットのART値
より大きいとき、パケットのTRT値
は以下のように求めることができる。
ただし、
は、先行するパケットのTRT値であり、
は先行するパケットのサイズであり、Riはフローに関連付けられる伝送速度値である。そうではなく、先行するパケットのTRT値
が、先行するパケットのART値
以下であるとき、パケットのTRT値
は以下のように求めることができる。
ただし、
は、先行するパケットのART値であり、
は先行するパケットのサイズであり、Riはフローに関連付けられる伝送速度値である。さらに、先行するパケットがトラフィックポリシングによって破棄されたとき、パケットのTRT値
は、
として求めることができる。ただし、
は先行するパケットのTRT値である。
提案される方法の1つまたは複数の実施の形態において、先行するパケットのART値は、1つまたはいくつかの入口ポートのうちの1つにおける先行するパケットの受信に対応する時刻カウンターの値を用いて求められる。
提案される方法の1つまたは複数の実施の形態において、異なるフローに属するパケットは、フローにそれぞれ関連付けられるメモリキュー内にそれぞれのTRT値とともに記憶され、本方法はさらに、メモリキュー内のそれぞれの最小のTRT値を有する先頭パケットの中から、現在のパケットを、そのパケットのTRT値に従って選択することを含む。有利には、パケットは、メモリキューの先頭パケットのそれぞれのTRT値のうちの最小値であるパケットのTRT値に従って選択することができる。
提案される解決策の実施の形態は、有利には、単一の時刻基準と、理論的なフローごとのスケジュールとに基づいて、キューを切り替えることを通して多重化することができる、時間および損失の影響を受けやすいフローの統合ポリシングおよびスケジューリングを提供する。ポリシング機能によって強制されるフロージッタまたはバースト耐性は、出口ポート内のフローキューのために予約された利用可能なバッファの量に直接結び付けられる。
別の態様によれば、パケット交換ネットワーク内のネットワークノードが提案され、このネットワークノードは、プロセッサと、プロセッサに動作可能に結合されるメモリと、パケットフローに属するパケットを出力するための少なくとも1つの出口ポートと、パケットフローの着信するパケットを受信するための1つまたはいくつかの入口ポートとを備え、ネットワークノードは、本主題開示の提案された方法に従ってトラフィック管理のための方法を実行するように構成される。
さらに別の態様では、実行されるときに、メモリと動作可能に結合されるプロセッサを備えるネットワークノードに、本主題開示の提案された方法によるトラフィック管理のための方法を実行させる実行可能命令を符号化された非一時的コンピューター可読媒体が提案される。
さらに別の態様によれば、コンピューター可読媒体内に有形に具現されるコンピュータープログラムコードを含むコンピュータープログラム製品が提案され、上記コンピュータープログラムコードは、コンピューターシステムに与えられて実行されるときに、上記コンピューターに、本主題開示の提案される方法によるトラフィック管理のための方法を実行させる命令と、例えば、圧縮または符号化を通して、コンピュータープログラムを表現するデータセットとを含む。
本発明は、限定はしないが、プロセス、装置、システム、デバイスとして、また、現時点で既知であるアプリケーションおよび後に開発されるアプリケーションのための方法として含む、数多くの方法において実施し、利用できることは理解されたい。本明細書において開示されるシステムのこれらの、および他の特有の特徴は、以下の説明および添付の図面から、より容易に明らかになるであろう。
簡潔および明確に例示するために、図面は構成の一般的な方法を示し、周知の機構および技法の説明および細部は、本発明の説明される実施の形態の検討を無用に分かりにくくするのを避けるために省略される場合がある。さらに、図面内の要素は必ずしも縮尺どおりに描かれていない。例えば、図面内の要素のうちのいくつかの要素の寸法は、本発明の実施の形態を理解しやすくするのを助けるために、他の要素に対して誇張される場合がある。現実世界の条件下であれば極めて対称性が低く、秩序正しくない可能性がある、直線、鋭い角度および/または平行な平面等を有する構造が示されるときのように、ある特定の図は、理解するのを助けるために理想的に示される場合がある。異なる図における同じ参照符号は同じ要素を表し、一方、類似の参照符号は、類似の要素を表す場合があるが、必ずしもそうとは限らない。
さらに、本明細書における教示は、多種多様の形態において具現できること、および本明細書において開示される任意の具体的な構造および/または機能は典型にすぎないことは明らかにすべきである。詳細には、本明細書において開示される態様を、任意の他の態様から独立して実施できること、およびいくつかの態様を種々の方法で組み合わせることができることは当業者には理解されよう。
本開示は、1つまたは複数の例示的な実施の形態による、方法、システムおよびコンピュータープログラムの機能、エンジン、ブロック図およびフローチャートを参照しながら以下に説明される。ブロック図およびフローチャートの説明される各機能、エンジン、ブロックは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたは任意の適切なその組み合わせにおいて実現することができる。ソフトウェアにおいて実施される場合には、ブロック図および/またはフローチャートの機能、エンジン、ブロックは、コンピュータープログラム命令またはソフトウェアコードによって実施することができ、コンピュータープログラム命令またはソフトウェアコードは、コンピューター可読媒体に記憶されるか、またはコンピューター可読媒体を介して送信されるか、または汎用コンピューター、専用コンピューター若しくは機械を作り出す他のプログラマブルデータ処理装置上にロードすることができ、それにより、コンピューターまたは他のプログラマブルデータ処理装置上で実行されるコンピュータープログラム命令またはソフトウェアコードが、本明細書において説明される機能を実施するための手段を生み出す。
コンピューター可読媒体の実施の形態は、限定はしないが、1つの場所から別の場所へのコンピュータープログラムの転送を容易にする任意の媒体を含む、コンピューター記憶媒体および通信媒体の両方を含む。本明細書において使用されるときに、「コンピューター記憶媒体」は、コンピューターまたはプロセッサによってアクセスすることができる任意の物理的な媒体とすることができる。さらに、「メモリ」および「コンピューター記憶媒体」という用語は、限定はしないが、ハードドライブ、フラッシュドライブ若しくは他のフラッシュメモリデバイス(例えば、メモリキー、メモリスティック、キードライブ)、CD−ROM若しくは他の光記憶装置、DVD、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、メモリチップ(複数の場合もある)、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、スマートカード、若しくはコンピュータープロセッサによって読み出すことができる命令若しくはデータ構造の形でプログラムコードを搬送または記憶するために使用することができる任意の他の適切な媒体、またはその組み合わせ等の、任意のタイプのデータ記憶デバイスを含む。また、種々の形のコンピューター可読媒体は、ルーター、ゲートウェイ、サーバーまたは他の伝送デバイスを含むコンピューターに、有線(同軸ケーブル、ファイバー、ツイストペア線、DSLケーブル)で、または無線(赤外線、電波、セルラー、マイクロ波)で、命令を送信または搬送することができる。命令は、限定はしないが、アセンブリ、C、C++、ビジュアルベーシック、SQL、PHPおよびJAVA(登録商標)を含む、任意のコンピュータープログラミング言語からのコードを含むことができる。
具体的に他に明示されない限り、以下の説明を通して、処理、コンピューティング、計算、決定等の用語を利用する検討は、コンピューティングシステムのレジスタまたはメモリ内の電子的な量等の物理的な量として表されるデータを操作するか、または、このデータを、コンピューティングシステムのメモリ、レジスタ若しくは他のそのような情報記憶装置、伝送デバイス若しくは表示デバイス内の物理的な量として同様に表される他のデータに変換する、コンピューター、またはコンピューティングシステム、または類似の電子コンピューティングデバイスの動作またはプロセスを指していることは理解されよう。
「備える」、「含む」、「有する」および任意のその変形のような用語は、非排他的包含を含むことを意図しており、それにより、要素のリストを含むプロセス、方法、物品または装置は、必ずしもそれらの要素には限定されず、そのようなプロセス、方法、物品または装置に明記されないか、または固有でない他の要素を含む場合がある。
さらに、「例示的な」という言葉は、本明細書において、「一例、事例または例示としての役割を果たすこと」を意味するように使用される。「例示的」として本明細書において説明される任意の実施の形態または設計は、必ずしも、他の実施の形態または設計より好ましいか、または有利であると解釈されるべきではない。
以下の説明および特許請求の範囲において、「結合される」および「接続される」という用語が、その派生語とともに使用される場合がある。特定の実施の形態において、「接続される」は、2つ以上の要素が互いに直接、物理的にまたは電気的に接触していることを示すために使用される場合がある。「結合される」は、2つ以上の要素が直接、物理的にまたは電気的に接触していることを意味する場合がある。しかしながら、「結合される」は、2つの要素が互いに直接、接触してはいないが、依然として互いに協働するか、または相互に作用することを意味する場合もある。
本明細書において使用されるときに、パケットという用語は、ノード間若しくは局間、またはネットワークにわたってルーティングされるか、または伝送される場合があるデータの単位を含む場合がある。本明細書において使用されるとき、パケットという用語は、フレーム、プロトコルデータユニットまたは他のデータの単位を含む場合がある。パケットは、ビット群を含む場合があり、ビット群は、例えば、1つまたは複数のアドレスフィールド、制御フィールドおよびデータを含む場合がある。データブロックは、データまたは情報ビットの任意の単位とすることができる。
本主題開示の実施の形態は種々の適用例において使用される場合があることは理解されたい。本発明はこの点において制限されないが、本明細書において開示されるトラフィック管理のための方法は、例えば、イーサネットスイッチ、イーサネットブリッジまたはイーサネットルータ等の、パケット交換ネットワークの任意のネットワークノードにあるような数多くの装置において使用される場合がある。明確にするために、以下の説明は、イーサネットネットワークに焦点を合わせる。しかしながら、本発明の技術的特徴はそれには限定されない。
図1は、10Mbps、100Mbps、1Gbpsまたは10Gbpsイーサネットインターフェース等の標準的なイーサネットインターフェースを用いて、それぞれのイーサネットユーザ−ネットワークインターフェース(UNI)14a〜14cを通してカスタマー機器(CE)デバイス13a〜13cがアタッチするイーサネットサービスプロバイダーネットワーク12を備える例示的なイーサネットベース産業用ネットワーク10を示す。本主題開示の実施の形態が使用される場合がある複数のネットワークノード11a〜11cを含むイーサネットサービスプロバイダーネットワーク12によって、CEデバイス13a〜13cにイーサネットサービスが提供される。
ネットワークノード11a〜11cは、イーサネットプロバイダーエッジスイッチとして構成することができ、ネットワーク接続15a〜15cを用いてリングトポロジー内で互いに接続することができる。イーサネットサービスプロバイダーネットワークは、例えば、イーサネットメトロポリタンエリアネットワーク(MAN)またはイーサネットワイドエリアネットワーク(WAN)とすることができ、例えば、スイッチまたはブリッジ等の任意の他のネットワークノード(図示せず)を含むことができる。
ネットワーク12のためのリングトポロジーの代わりに、例えば、ツリートポロジーまたはメッシュトポロジー等の任意の適切なネットワークトポロジーを使用することができ、リングトポロジーは一例としてのみ与えられることは関連技術分野の当業者には理解されよう。
1つまたは複数の実施の形態において、ネットワーク12は、それぞれのサービス品質(QoS)レベルを加入者に、または産業用ネットワークとの関連ではアプリケーション(例えば、自動化制御、ビデオ転送、ソフトウェア更新/アップグレード等)に与えるように動作することができ、QoSレベルはパケット損失特性および伝送時間特性を含む。加入者/アプリケーションの観点から、ネットワーク12によって提供されるQoSレベルは結果として、いわゆる「帯域幅プロファイル」に変換することができ、帯域幅プロファイルはQoSパラメーターおよび/またはトラフィックパラメーター(例えば、最大移送遅延、最大遅延変動(ジッタ)等)を規定する。
本明細書において使用されるとき、パケットフローまたはフローという用語は、例えば、アドレス、発信元および/または宛先、回線識別子、識別子、移送プロトコルのタイプ、VLAN、VID、アドレスの対(例えば、SAおよびDA)、またはその組み合わせ等の、1つまたはいくつかの共通のパラメーターを共有するパケットの組を含むことができる。
帯域幅プロファイルは、ネットワークによってサービス提供されるフローごとに、またはネットワークによってサービス提供されるフローの群ごとに与えることができる。
本主題開示の実施の形態によれば、エッジネットワークノード11a〜11cのうちの1つは、帯域幅プロファイルを強制するためのトラフィック管理機能を実施する。
図2は、本主題開示の実施の形態による、トラフィック管理機構を使用するように構成される例示的なネットワークノード20を示す。
ネットワークノード20は、制御エンジン21と、スイッチエンジン25と、多重化エンジン26と、トラフィックポリシングエンジン27と、トラフィックシェーピングエンジン28と、複数のポート22a〜22dと、時刻基準エンジン29と、メモリ23とを備える。
図2に示されるアーキテクチャにおいて、スイッチエンジン25、多重化エンジン26、トラフィックポリシングエンジン27、トラフィックシェーピングエンジン28、複数のポート22a〜22d、時刻基準エンジン29、およびメモリ23は全て、制御エンジン21を通して互いに動作可能に結合される。
1つの実施の形態では、ポート22a〜22dはそれぞれ、イーサネットリンクに結合されるように、イーサネットインターフェースを含み、パケットを送信および受信することができる。さらに、「出口」ポートと呼ばれる、ポートのうちの1つ22aは、発信パケットを送信するために構成することができ、一方、「入口」ポートと呼ばれる、複数の他のポート22b、22c、22dは、着信パケットを受信するために構成することができる。
1つの実施の形態では、スイッチエンジン25は、1つまたは複数の入口ポートにおいて受信されたパケットを、出力するために出口ポートのうちの1つに向けるように処理する。詳細には、スイッチエンジンは、各受信パケットが属するパケットフローを識別し、受信パケットを、パケットフロー識別子に割り振られた出口ポートに向けるように構成することができる。
1つの実施の形態では、それぞれの入口ポートにおいて異なるパケットフロー(例えば、異なる識別子を有するパケットフロー)が受信される場合があり、同じ出口ポートを通して出力されるように、多重化エンジン26によって多重化することができる。
トラフィックポリシングエンジン27は、以下に説明されるように、パケット受信時に動作するトラフィックポリシング機能を提供する。トラフィックシェーピングエンジン28は、以下に説明されるように、パケット送信時に動作するトラフィックシェーピング機能を提供する。本主題開示の実施の形態では、トラフィックポリシング機能およびトラフィックシェーピング機能は、トラフィックシェーピング機能がトラフィックポリシング機能によって決定された送信のために、メモリ23に記憶されるパケットの理論受信時刻値を使用するという点で協調して動作する。
時刻基準エンジン29は、トラフィックポリシングエンジン27および/またはトラフィックシェーピングエンジン28によって操作される種々の処理に時刻基準を与えることができる。これにより、有利には、1つまたは複数の実施の形態において、ネットワークノード20において実行されるトラフィックポリシングおよびトラフィックシェーピングに対して同じ時刻基準を使用できるようになる。例えば、ネットワークノード20は、ノードのリンクおよびポート22a〜22dがすべて同じ時刻基準を使用するように構成することができる。時刻基準エンジンは、いくつかの実施の形態において、実施態様に応じた、時間単位ずつインクリメントされ、その値がトラフィックポリシングエンジン27および/またはトラフィックシェーピングエンジン28によって現在の時刻値として使用される基準クロックデバイス(例えば、水晶デバイス)に結合される時刻カウンターを実現することができる。いくつかの実施の形態では、時刻カウンター値Tは、ビット伝送時間ごとに、実施態様に応じて、1時間単位または数時間単位ずつインクリメントされる場合があり、ビット伝送時間は、ネットワークノード20によってサポートされるバイナリ伝送速度を考えた場合の1ビットの持続時間に対応する。例えば、100Mbpsイーサネットリンクに対応するビット伝送時間は、10nsに等しいことになる。
制御エンジン21はプロセッサを備え、プロセッサは、任意の適切なマイクロプロセッサ、マイクロコントローラー、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、デジタル信号処理チップおよび/または状態機械、またはその組み合わせとすることができる。種々の実施の形態によれば、コンピューターのうちの1つまたは複数を、並列コンピューティングを提供するための複数のプロセッサを有するマルチプロセッサコンピューターとして構成することができる。また、制御エンジン21は、プロセッサによって実行されるときに本明細書において説明される要素をプロセッサに実行させるコンピュータープログラム命令またはソフトウェアコードを記憶することができる、限定はしないが、メモリ23等のコンピューター記憶媒体を備えるか、またはそのようなコンピューター記憶媒体と通信することができる。さらに、メモリ23は、それと関連して記憶されたデータパケットの管理を容易にするために、制御エンジン21に結合され、1つまたは複数のポート22a〜22dを用いて動作可能な任意のタイプのデータ記憶コンピューター記憶媒体とすることができる。
図2を参照しながら図示および説明されるネットワークノード20は、一例として与えられるにすぎないことは理解されよう。数多くの他のアーキテクチャ、動作環境および構成が可能である。ノードの他の実施の形態は、より少ない、またはより多くの数の構成要素を含むことができ、図2に示されるネットワークノード構成要素に関して説明された機能のうちのいくつかまたは全てを組み込むことができる。したがって、制御エンジン21、スイッチエンジン25、多重化エンジン26、トラフィックポリシングエンジン27、トラフィックシェーピングエンジン28、複数のポート22a〜22d、時刻基準エンジン29、およびメモリ23はネットワークノード20の一部として示されるが、構成要素21〜29の場所および制御に関して制約は課せられない。詳細には、他の実施の形態では、構成要素21〜29は、異なるエンティティまたはコンピューティングシステムの一部とすることができる。
帯域幅プロファイルは、パケットフローFiごとに与えることができ、フローFiのパケットがネットワークによってサービス提供されるべきである最大速度を表す伝送速度Riを含む。伝送速度Riはビット/秒(bps)において表すことができる。ネットワークノードは、シグナリングを用いるノードの自動構成方式を通して、および/または各ノードの手動構成のための管理ツールを通して、パケットフローに関連付けられる帯域幅プロファイルを使用するために構成することができる。
1つまたはいくつかの入口ポートにおいて同じフローに属するパケットまたはフレームを受信すると、そのフローに属するパケットが出力されるべきである出口ポート22dに向けられるように、受信パケットは、他の処理に加えて、または他の処理に対する代替の処理として、スイッチエンジン25によって処理することができる。
本主題開示の1つまたは複数の実施の形態において、例えば、先入れ先出し(FIFO)キュー管理アルゴリズムを用いて、キューとして管理されるメモリ空間を、出口ポート22dにおいて管理されるパケットフローごとにメモリ23において割り振ることができる。
その際、パケットフローFiに属し、1つまたはいくつかの入口ポート上で受信されるパケット
は、ネットワークノードのスイッチングエンジンによって処理した後に、および/または受信パケットに関して他のタイプのパケット処理が実行された後に、パケットフローFiのために割り振られ、フローFiのための出口ポートに関連付けられるキューQiに入れることができる。
図3は、それぞれが1つのパケットフローFiに関連付けられる、K個のメモリキューQiを備えるネットワークノード(図2のネットワークノード20等)における出口ポート30を示し、ここで、Kは0より大きい整数である。
図3は、パケットフローF1、FiおよびFKにそれぞれ関連付けられる3つのメモリキューQ1 31a、Qi 32bおよびQK 31cを示す。出口ポート30に関連付けられるK個のメモリキューは、出口ポートのために割り振られるメモリバッファにおいて割り振ることができる。各Qi 31a〜31cのサイズSize_Qiはビット単位で表すことができ、キューの占有率は、キュー31a〜31c内の利用可能な空間のサイズFree_Qiを用いて測定することができる。キューのそれぞれのサイズは、全てのサイズの和
が出口ポート30において割り振られるメモリバッファの容量を超えないように選択されることが好ましい。上記のパラメーターを用いて、各キューQi 31a〜31cは、Free_Qi=0であるときにフルであると見なされ、Free_Qi=Size_Qiであるときに空であると見なされる。
図3に示される例示的な出口ポート30において、第1のメモリキューQ1は、出口ポート30を通して伝送するための1つのパケット
のみを記憶し、一方、第iのメモリキューQiは、3つのパケット
、
および
を記憶し、第KのメモリキューQKは、2つのパケット
および
を記憶する。
1つまたは複数の実施の形態では、理論受信時刻(TRT)値が、出口ポート30においてメモリキューにおいてキューに入れられるパケットごとに計算される。パケットのTRT値は、以下に説明されるように、そのパケットが属するフローの以前に受信されたパケットのサイズ、そのフローに関連付けられる伝送速度値Ri、およびフローの以前に受信されたパケットのTRT値または実受信時刻(ART)値を用いて求めることができる。
1つまたは複数の実施の形態では、メモリキュー(Qi)i=1...KはFIFOキューとして管理され、それぞれのフロー(Fi)i=1...Kのパケットは、ノードにおける到着順に応じて順番に対応するキューに記憶され、それにより、シーケンス番号(図3においてインデックスnを使用する)が各パケットに割り当てられる。
例えば、図3において示される第iのメモリキューQiの場合、対応するTRT値
とともに記憶されるパケット
はキューQiの先頭にあり、パケット
の前にキューに入れられていることになり、パケット
自体は、キューQiにおいて次に来る、パケット
の前にキューに入れられた。
同様にフローFiに関連付けられる伝送速度Riは、フローFiのパケットが対応するQi内で受信されると予想される速度に対応するように選択することができ、それゆえ、キューQi内のパケット受信の理論速度を表すように選択することができる。
同じフローFiに属するパケット
が、この理論速度Riよりわずかに高い周期性でキューQiに到着する場合には、キューQiは徐々に満たされていき、フローFiに関するジッタ条件が存在することになる。同様に、同じフローFiに属するパケット
が、この理論速度Riよりはるかに高い周期性でキューQiに到着する場合には、キューQiは急速に満たされることになり、フローFiに関するバースト条件が存在することになる。
1つまたは複数の実施の形態において、各キューQiのサイズSize_Qiは、フローFiの場合に許されるバーストまたはジッタ許容量に従って対応するフローFiの場合に求めることができる。
1つまたは複数の実施の形態において、出口ポート30を通して伝送するために本明細書において説明されるようなトラフィックポリシング方式を用いてパケットを選択することができる。
出口ポート30を通して伝送するためにパケットを選択すると、実施態様によるが、その関連するTRT値とともに、選択されたパケットがそのキューから除去される。パケットがキューから取り出されるとき、その関連するTRT値は、その値が記憶されたメモリから削除することができる。その後、出口ポート30によって、そのポートが結合されるリンク上にパケットを出力できるように、パケットは伝送バッファ32内に入れられる。以下に説明されるように、それぞれのキューの先頭パケットの中の最も小さな理論受信時刻に基づいて、キューの中の多重化機能を実行するように、伝送バッファ32がトラフィックシェーピングエンジンによって管理される。
図3を参照しながら図示および説明される出口ポート30は、一例として与えられるにすぎないことは理解されよう。数多くの他のアーキテクチャ、動作環境および構成が可能である。ポートの他の実施の形態は、より少ない、またはより多くの数の構成要素を含むことができ、図3に示されるポート構成要素に関して説明された機能のうちのいくつかまたは全てを組み込むことができる。
パケット受信時のトラフィックポリシング動作
図4を参照しながら、受信時のパケットのトラフィックポリシングが以下に説明されることになる。
図4を参照しながら、受信時のパケットのトラフィックポリシングが以下に説明されることになる。
例えば、入口ポートにおいて受信されるパケットのビットは、受信パケット内の巡回冗長検査および検出誤りを計算するために、ポートに割り振られたメモリバッファに記憶される。パケットの最後のビットの受信を検出すると、パケットはその全体が受信されたと見なされ、その可変サイズ
を求めることができる。
パケット
の実受信時刻
が求められる。1つまたは複数の実施の形態において、
値は、パケット
の最後のビットの受信を検出すると、図2に参照しながら説明されたように、現在時刻カウンター値をメモリに記憶することによって求めることができることが好ましい。代替的には、ART値は、パケット
の任意の部分の受信を検出すると、例えば、パケット
の第1のビットの受信を検出すると、記憶することができる。
フローFiに関連付けられるキューQi内の利用可能な空間Size_Qiが、受信パケット
のサイズ
以上である場合には(43)、フローFiに関連付けられるキューQi内に受信パケット
を記憶するために利用可能な空間が依然として存在し、パケットがキューQiに入れられる(44)。フローFiに関連付けられるキューQi内の利用可能な空間Size_Qiは、その後、キューに入れられたパケット
のサイズ
に基づいて更新される(45)。
受信パケット
の理論受信時刻
が、フローFiの場合に規定された伝送速度Riに基づいて、フロー内の以前に受信されたパケット
に関連する情報を用いて求められている。1つまたは複数の実施の形態では、受信パケット
の理論受信時刻
値は、パケット
の受信前に、フローFiのパケットがそこを通して出力された出口ポートに割り振られたメモリキュー内に記憶されている場合がある。
受信パケット
の理論受信時刻
値および実受信時刻
値は、メモリから引き出され、比較される(47)。パケット
の理論受信時刻
がパケット
の実受信時刻
より大きい場合には、そのパケットは理論受信時刻前に到着している。上記で論じられたように、これは、パケットフローFiの場合のジッタまたはバースト条件のいずれかを示す。そのような場合、フローFiの場合に受信されることになる次のパケット
の理論受信時刻
は、パケット
の理論受信時刻
、フローFiの場合に規定される伝送速度Riおよび受信パケットのサイズ
に基づいて求められ(48)、フローの次に受信されるパケット
の場合に使用するためにメモリに記憶される(52)。例えば、フローFiの場合に受信されることになる次のパケット
の理論受信時刻
は以下のように求められる。
フローFiに関連付けられるキューQi内に依然として利用可能な空間が存在するので、パケット
は、それにもかかわらず、おそらく、フロー内の次のパケットのために求められた理論受信時刻
とともに、キューQi内に記憶される。
それと反対に、フローFiに関連付けられるキューQi内の利用可能な空間Size_Qiが受信パケット
のサイズ
以上であると依然として仮定するとき、パケット
の理論受信時刻
がパケット
の実受信時刻以下である場合には、そのパケットはその理論到着時刻に、またはその後に到着している。そのような場合、フローFiの場合に受信されることになる次のパケット
の理論受信時刻
は、パケット
の実受信時刻
と、フローFiの場合に規定される伝送速度Riと、受信パケットのサイズ
とに基づいて求められ(49)、フローの次に受信されるパケット
の場合に使用するためにメモリに記憶される(52)。例えば、フローFiの場合に受信されることになる次のパケット
の理論受信時刻
は、以下のように求められる。
フローFiに関連付けられるキューQi内に依然として利用可能な空間が存在するので、パケット
は、それにもかかわらず、おそらく、フロー内の次のパケットのために求められた理論受信時刻
とともに、キューQi内に記憶される。
フローFiに関連付けられるキューQi内の利用可能な空間Size_Qiが受信パケット
のサイズ
より小さい場合には、受信パケットは破棄され(50)、フローFiの場合に受信されることになる次のパケット
の理論受信時刻
が、パケット
の理論受信時刻
に等しいと判断される(51)。
フローFiの場合に受信されることになる次のパケット
の理論受信時刻
は、その後、フローの次の受信パケット
の場合に使用するためにメモリに記憶される(52)。パケットフローの次のパケットを受信すると、そのような次のパケットがトラフィックポリシングによって破棄されないとき、この次のパケットの理論受信時刻
値は、同様にキューに入れられることになる次のパケットに関連してキュー内にコピーすることができる。実施態様に応じて、パケットの各受信時に求められたTRT値を記憶するために、メモリバッファを使用することができる。トラフィックポリシングによって次のパケットが破棄されない場合、次のパケットおよびそのTRT値がキューに入れられると、この次のパケットの理論受信時刻
値は、次のパケットに基づいて求められた新たなTRT
値で更新することができる。それゆえ、TRTメモリバッファは、新たなに受信されたパケットがそのフローに対応するメモリキュー内に入れられるたびに更新することができる。
1つまたは複数の実施の形態では、上記のトラフィックポリシング動作は、連続ループの繰り返しの一部として実行することができ、各ループ繰り返しは、パケットが受信されたか否かを判断する(40)テストで開始される。パケット
が受信された場合には、上記の動作が実行され、そのループの繰り返しは、図4に示されるように、計算値
を記憶して終了する。パケットが受信されていない場合には、ループは、別のパケット受信テストを実行する。
さらに、ループは、上記のトラフィックポリシング動作をドライブする基準時刻と同期させることができる。例えば、図4に示されるように、基準時刻値を与える時刻カウンターがインクリメントされると、ループの新たな繰り返しが実行されるように、ループを制御することができる。実施態様に応じて、時刻カウンター値が1時間単位または数時間単位ずつインクリメントされると、新たな繰り返しが実行されるように、ループを設計することができる。
現在処理されているパケット
のTRT値
は、そのフローFiの場合の一連の受信パケット内の現在処理されているパケット
に先行するパケット
に関して上記で説明されたのと同じ動作を用いて、すなわち、フロー
の以前に受信されたパケットのサイズ
と、フローに関連付けられる伝送速度値Riと、フローの以前に受信されたパケットのTRT値
が、フローの以前に受信されたパケットの実受信時刻(ART)値
より小さい場合には、
値と、そうでない場合には、
値とに基づいて、求めることができる。
例えば、これらの動作が、フローに属する受信パケットごとにループの一部として実行されるときに、これが当てはまる場合がある。そのようなループの第1の繰り返しの場合に、すなわち、パケットフローに対応する最初の受信パケットの場合に、その最初の受信パケットの受信に対応する時刻基準値が、そのようなパケットの理論受信時刻として選択される場合がある。同じフローの場合に次に受信されたパケットは、その後、上記のトラフィックポリシング動作を用いて取り扱うことができる。
パケット送信のためのトラフィックシェーピング動作
図5を参照しながら、パケットの送信のためのトラフィックシェーピング動作が以下に説明されることになる。
図5を参照しながら、パケットの送信のためのトラフィックシェーピング動作が以下に説明されることになる。
上記で説明され、図3に示されたように、パケットフローに属するパケットを、それぞれの理論受信時刻値とともに、おそらくFIFOキューとして管理されるメモリキュー内の出口ポートにおいて記憶することができる。
以下のトラフィックシェーピング動作は、それぞれのメモリキュー内に入れられるパケットの出口ポートを通しての送信を制御することを目的とする。
パケットが受信順に記憶されたメモリキューQiの場合(50)、先頭パケット、すなわち、フロー内に記憶された最も早い受信パケットが送信するために検討され(55)、その理論受信時刻が現在の時刻カウンター値と比較される(51)。
メモリキューの先頭パケットのTRT値が、現在の時刻カウンター値以下である場合には、出口ポートを通して送信する(52)ために、そのパケットが選択される。
その後、そのパケットはキューから除去され(53)、出力され、キューの利用可能な空間値が、出力されたパケットのサイズに従って更新される(54)。
トラフィックポリシング動作の場合のように、1つまたは複数の実施の形態において、上記のトラフィックシェーピング動作は、連続ループの繰り返しの一部として実行することができ、各ループ繰り返しは、メモリキューQiが空であるか否かを判断する(50)テストで開始される。キューQiが空でない場合には、上記の動作が実行され、ループの繰り返しは、図5に示されるように、先頭パケットの送信で終了する。キューQiが空である場合には、ループは、別のキュー空テストを実行する。
好ましくは、図5に示されるように、ループプロセスは、次の繰り返しに進む前に、出力されたパケットが完全に送信されるのを待つ(56)。例えば、パケットの最後のビットが、出口ポートが結合されるリンク上に出力されたときに、パケットは、出口ポートから送信されたと見なすことができる。
さらに、ループは、上記のトラフィックシェーピング動作をドライブする基準時刻と同期させることができる。例えば、図5に示されるように、基準時刻値を与える時刻カウンターが更新される(55)と、ループの新たな繰り返しが実行されるように、ループを制御することができる。時刻カウンター更新は、1時間単位だけ、または複数時間単位ずつインクリメントすることを含むことができる。実施態様に応じて、時刻カウンター値が1時間単位または数時間単位ずつインクリメントされると、新たな繰り返しが実行されるように、ループを設計することができる。
さらに、時刻基準(T)は、トラフィックポリシングの場合に使用される時刻基準と共通にすることができるか、またはそれに基づくことができる。この関連で、1つまたは複数の実施の形態では、トラフィックポリシングの場合に使用される時刻基準と比べてトラフィックシェーピングの場合に使用される時刻基準をオフセットするように、時間オフセットを実施することができる。詳細には、そのような時間オフセットの値は、あらかじめ決定することができるか、または動的に決定することができる。1つまたは複数の実施の形態では、時間オフセットは、トラフィックポリシングにおいて使用されるパケット受信方式に応じて決定することができる。例えば、上記で論じられたように、パケット
の第1のビットの受信を検出するとART値が記憶される実施の形態では、時刻基準Tの更新ための時間オフセットは、パケット
のために計算されたTRTのシフトされた値に基づいて、本明細書において開示されるトラフィックシェーピング方式によるパケット
の送信をトリガーすることができるように計算することができる。
図6は、本主題開示の別の実施の形態による、パケットの送信のためのトラフィックシェーピング動作を示す。
図3に示されるように、いくつかのメモリキューは、それぞれのパケットフローにそれぞれ対応する出口ポートにおいて管理することができる。そのような場合、出口ポートの場合に実行されるトラフィックシェーピングループの繰り返しは、出口ポートが空であるか否か、すなわち、空でない出口ポートにおいて管理される少なくとも1つのメモリキューが存在するか否かに関する判断で開始することができる。
出口ポートが空でない場合には、すなわち、パケットが受信順に記憶されている(図3に示される)1つまたはいくつかのメモリキュー(Qi)i=1...Kが存在する場合には、キューの先頭パケット(すなわち、キューごとの、キュー内に記憶されたフローの最も早期の受信パケット)のそれぞれのTRT値が互いに比較され、最小値
が選択される(61)。この最小のTRT値は、その後、現在の時刻カウンター値と比較される(62)。
最小のTRT値が現在の時刻カウンター値以下である場合には、対応する先頭パケットが、出口ポートを通して送信する(63)ために選択される。
その後、パケットはキューから除去され(64)、出力され、出力されたパケットのサイズに従って、キューの利用可能な空間値が更新される(65)。
出口ポートが空である場合には、ループは、別の出口ポートの空テストを実行する。
好ましくは、図6に示されるように、ループプロセスは、次の繰り返しを処理する前に、出力されたパケットが完全に送信されるのを待つことができる(67)。例えば、パケットの最後のビットが、出口ポートが結合されるリンク上に出力されたときに、パケットは、出口ポートから送信されたと見なすことができる。
さらに、ループは、上記のトラフィックシェーピング動作をドライブする基準時刻と同期させることができる。例えば、基準時刻値を与える時刻カウンターが更新される(66)と、ループの新たな繰り返しが実行されるように、ループを制御することができる。時刻カウンター更新は、1時間単位または複数時間単位ずつインクリメントすることを含むことができる。実施態様に応じて、時刻カウンター値が1時間単位または数時間単位ずつインクリメントされると、新たな繰り返しが実行されるように、ループを設計することができる。
上記で論じられたように、1つまたは複数の実施の形態において、トラフィックシェーピングのために使用される時刻基準(T)は、トラフィックポリシングの場合に使用される時刻基準と共通にすることができるか、またはそれに基づくことができる。この関連で、1つまたは複数の実施の形態では、トラフィックポリシングの場合に使用される時刻基準と比べてトラフィックシェーピングの場合に使用される時刻基準をオフセットするように、時間オフセットを実施することができる。詳細には、そのような時間オフセットの値は、あらかじめ決定することができるか、または動的に決定することができる。1つまたは複数の実施の形態では、時間オフセットは、トラフィックポリシングにおいて使用されるパケット受信方式に応じて決定することができる。例えば、上記で論じられたように、パケット
の第1のビットの受信を検出するとART値が記憶される実施の形態では、時刻基準Tの更新ための時間オフセットは、パケット
のために計算されたTRTのシフトされた値に基づいて、本明細書において開示されるトラフィックシェーピング方式によるパケット
の送信をトリガーすることができるように計算することができる。
図7aおよび図7bは、提案される方法の実施の形態による、ネットワークノードにおける受信および送信動作を示す。
図7aは、受信パケットの最後のビットの受信を検出すると受信パケットのART値が記憶される、ネットワークノードにおけるパケットの受信および送信を示し、それに対して、図7bは、受信パケットの最初のビットの受信を検出すると受信パケットのART値が記憶される、ネットワークノードにおけるパケットの受信および送信を示す。
図7aおよび図7bはそれぞれ、それぞれサイズ
、
および
を有する、パケットフローFiの場合にネットワークノードによって連続して受信される3つのパケット
、
および
を示す。第1の受信パケット
は、その理論受信時刻
に等しい実受信時刻
において受信される。第1の受信パケット
を送信するためにキューに入れることができると仮定すると、次のパケット
のTRTは
として計算され、メモリに記憶される。図示されるように、次のパケット
は、そのTRT値
のはるかに前にネットワークノードによって受信される。次のパケット
を送信するためにキューに入れることができると仮定すると、後続のパケット
のTRTは、
として計算される。後続のパケット
は、受信の理論時刻
後にネットワークノードによって受信される。次のパケット
を送信するためにキューに入れることができると仮定すると、フローFiの後続のパケット
のTRTは、
として計算される。
上記のように、トラフィックポリシング機能(パケットの受信用)およびトラフィックシェーピング機能(パケットの送信用)は、現在の時刻基準を共有することができる。時刻基準が時間単位だけインクリメントされる時刻カウンターを用いて実現されるとき、単一の時間単位内で生じるイベントは、パケットの受信の終了およびそのパケットの送信の開始の場合に図示されるように、瞬時と見なすことができる。そのような例示は表現にすぎないこと、および受信プロセス自体を含む、受信パケットの種々の処理は、図には表されていない処理上の時間遅延を受けることは、関連技術分野の当業者には理解されよう。
図7aを参照すると、パケットフローFiの場合にネットワークノードによって連続して受信されるパケット
、
および
の送信に関して、これらの受信パケットがネットワークノードのトラフィックポリシング機能によって破棄されなかったと仮定すると、送信するために考慮されるときの時刻基準値TがそのTRT値
以上であるので、第1の受信パケットは受信すると概ね直ちに送信される。上記のことは、その理論受信時刻
のはるかに前にネットワークノードによって受信された次のパケット
の場合には当てはまらない。その際、トラフィックシェーピング機能は、時刻基準値がこの理論受信時刻
値以上になるまで待つことになり、その結果、
の送信は、理論受信時刻
値の後の時刻まで遅延することになる。ここでも再び、同じことは、その理論受信時刻
値の後に受信された後続のパケット
の場合には当てはまらない。トラフィックシェーピング機能によって遅延は加えられず、パケットの送信は、受信およびその処理が完了すると直ちに実行することができる。
図7bを参照すると、パケットの送信に関して、パケットフローFiの場合にネットワークノードによって連続して受信される各パケット
、
および
の送信は、各パケットの送信のために決定されたオフセットを除いて、図7aに示される送信方式に類似である。送信するために考慮されるときのこのパケットのために決定されたオフセットoffset(n)だけシフトした時刻基準値Tが、そのTRT値
以上であるので、第1の受信パケットは、オフセット
だけシフトしたそのTRT値に対応する時刻に送信される。上記のことは、その理論受信時刻
のはるかに前にネットワークノードによって受信された次のパケット
の場合には当てはまらない。その際、トラフィックシェーピング機能は、時刻基準値が、このパケットのために決定されたオフセットoffset(n+1)だけシフトしたこの理論受信時刻
値以上になるまで待つことになり、その結果、
の送信は、オフセットoffset(n+1)だけシフトした理論受信時刻
値の後の時刻まで遅延することになる。ここでも再び、同じことは、その理論受信時刻
値の後に受信された後続のパケット
の場合には当てはまらない。トラフィックシェーピング機能によって遅延は加えられず、パケットの送信は、この後続のパケット
のために決定されたオフセットoffset(n+2)を条件として、受信およびその処理が完了すると直ちに実行することができる。
本発明は好ましい実施の形態に関して説明されてきたが、添付の特許請求の範囲によって規定されるような本発明の趣旨または範囲から逸脱することなく、本発明に対して種々の変更および/または修正を加えることができることは当業者には容易に理解されよう。
本発明はある特定の好ましい実施の形態との関連で開示されてきたが、そのシステム、デバイスおよび方法のある特定の利点、特徴および態様は種々の他の実施の形態において実現される場合があることは理解されたい。さらに、本明細書において説明される種々の態様および特徴は、別々に実践することができるか、互いに組み合わせることができるか、または互いに代用することができること、並びに特徴および態様の種々の組み合わせおよび部分的な組み合わせを行うことができ、それでも本発明の範囲に入ることを意図している。さらに、上記のシステムおよびデバイスは、好ましい実施の形態において説明されたモジュールおよび機能の全てを含む必要はない。
本発明において説明される情報および信号は、種々の異なる技術および技法のいずれかを用いて表すことができる。例えば、データ、命令、コマンド、情報、信号、ビット、シンボルおよびチップは、電圧、電流、電磁波、磁界または磁気粒子、光場または光子、またはその任意の組み合わせによって表すことができる。
実施の形態によっては、本明細書において説明された方法のいずれかのある特定の動作、イベントまたは機能は、異なる順序において実行することができるか、追加されるか、統合されるか、または全て除外される場合がある(例えば、方法を実践するために、説明される全ての動作またはイベントが必要とされるとは限らない)。さらに、ある特定の実施の形態では、動作またはイベントは、順次にではなく、同時に実行される場合がある。
Claims (16)
- パケット交換ネットワーク内のネットワークノードにおけるトラフィック管理のための方法であって、前記ネットワークノードは、パケットフローに属するパケットを出力するための少なくとも1つの出口ポートと、前記パケットフローの着信パケットを受信するための1つまたはいくつかの入口ポートとを備え、該方法は、前記パケットフローに属し、前記パケットフローに関連付けられるメモリキューに記憶された現在のパケットに関してトラフィックシェーピングを実行することを含み、前記トラフィックシェーピングは、
前記現在のパケットの理論受信時刻(TRT)値が時刻カウンター値以下である場合には、前記出口ポートを通して前記現在のパケットを出力することを含み、
前記パケットの前記TRT値は、
(a)前記現在のパケットの前に受信された前記パケットフローの先行するパケットがトラフィックポリシングによって破棄されていないときには、(i)前記先行するパケットのサイズと、(ii)前記パケットフローに関連付けられる伝送速度値と、
(iii−1)前記先行するパケットのTRT値が前記先行するパケットの実受信時刻(ART)値より大きい場合には、前記先行するパケットの前記TRT値と、
(iiiー2)前記先行するパケットのTRT値が前記先行するパケットのART値より大きくない場合には、前記先行するパケットの前記ART値と、を用いて、または、
(b)前記先行するパケットがトラフィックポリシングによって破棄されたときには、前記先行するパケットの前記TRT値を用いて、
前記パケットフローの着信パケットのトラフィックポリシングを実行することによって求められる、トラフィック管理のための方法。 - 前記トラフィックポリシングは、前記パケットフローのサイズが該パケットフローに関連付けられる前記メモリキュー内の利用可能な空間を超える前記パケットフローに属する受信パケットを破棄することを含む、請求項1に記載のトラフィック管理のための方法。
- 前記トラフィックポリシングは、トラフィックポリシングループの繰り返しにおいて実行され、該トラフィックポリシングループの繰り返しは、前記時刻カウンター値が少なくとも1時間単位だけインクリメントされたときに実行される、請求項1または2に記載のトラフィック管理のための方法。
- 前記トラフィックシェーピングは、トラフィックシェーピングループの繰り返しにおいて実行され、該トラフィックシェーピングループの繰り返しは、前記時刻カウンター値が更新されたときに実行される、請求項1から3のいずれか1項に記載のトラフィック管理のための方法。
- 前記トラフィックシェーピングは、トラフィックシェーピングループの繰り返しにおいて実行され、該トラフィックシェーピングループの繰り返しは、前記時刻カウンター値が少なくとも1時間単位だけインクリメントされたときに実行される、請求項4に記載のトラフィック管理のための方法。
- 前記トラフィックシェーピングは、トラフィックシェーピングループの繰り返しにおいて実行され、該トラフィックシェーピングループの繰り返しは、前記時刻カウンター値が時間オフセットだけシフトしたときに実行される、請求項4に記載のトラフィック管理のための方法。
- 前記先行するパケットの前記ART値は、前記1つまたはいくつかの入口ポートのうちの1つにおける前記先行するパケットの受信に対応する前記時刻カウンター値を用いて求められる、請求項1から9のいずれか1項に記載のトラフィック管理のための方法。
- 異なるフローに属するパケットが前記パケットフローにそれぞれ関連付けられるメモリキュー内にそれぞれのTRT値とともに記憶され、前記方法は、
前記メモリキュー内のそれぞれの最小のTRT値を有する先頭パケットの中から、前記現在のパケットを、該パケットのTRT値に従って選択することをさらに含む、請求項1から10のいずれか1項に記載のトラフィック管理のための方法。 - 前記パケットは、前記メモリキューの先頭パケットのそれぞれのTRT値のうちの最小値である該パケットのTRT値に従って選択される、請求項11に記載のトラフィック管理のための方法。
- プロセッサと、該プロセッサに動作可能に結合されるメモリと、パケットフローに属するパケットを出力するための少なくとも1つの出口ポートと、前記パケットフローの着信パケットを受信するための1つまたはいくつかの入口ポートとを備えるパケット交換ネットワーク内のネットワークノードであって、該ネットワークノードは、請求項1から12のいずれか1項に記載のトラフィック管理のための方法を実行するように構成される、ネットワークノード。
- 実行されるときに、メモリと動作可能に結合されるプロセッサを備えるネットワークノードに、請求項1から12のいずれか1項に記載のトラフィック管理のための方法を実行させる実行可能命令を符号化された、非一時的コンピューター可読媒体。
- コンピューター可読媒体において有形に具現されるコンピュータープログラムコードを含むコンピュータープログラム製品であって、前記コンピュータープログラムコードは、コンピューターシステムに与えられて実行されるときに、コンピューターに、請求項1から12のいずれか1項に記載のトラフィック管理のための方法を実行させる命令を含む、コンピュータープログラム製品。
- 例えば、圧縮または符号化を通して、請求項15に記載のコンピュータープログラム製品を表現するデータセット。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15305482.0A EP3076616B1 (en) | 2015-03-31 | 2015-03-31 | Method for data traffic management and network node for implementing the same |
EP15305482.0 | 2015-03-31 | ||
PCT/JP2016/058881 WO2016158541A1 (en) | 2015-03-31 | 2016-03-15 | Method for traffic management at network node, and network node in packet-switched network |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018500851A JP2018500851A (ja) | 2018-01-11 |
JP2018500851A5 true JP2018500851A5 (ja) | 2018-02-22 |
JP6756070B2 JP6756070B2 (ja) | 2020-09-16 |
Family
ID=52946492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017535718A Active JP6756070B2 (ja) | 2015-03-31 | 2016-03-15 | パケット交換ネットワーク内のネットワークノードにおけるトラフィック管理のための方法およびネットワークノード |
Country Status (7)
Country | Link |
---|---|
US (1) | US10367743B2 (ja) |
EP (1) | EP3076616B1 (ja) |
JP (1) | JP6756070B2 (ja) |
KR (1) | KR101990235B1 (ja) |
CN (1) | CN107431665B (ja) |
TW (1) | TWI627843B (ja) |
WO (1) | WO2016158541A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11277279B2 (en) * | 2016-12-12 | 2022-03-15 | Johnson Controls Tyco IP Holdings LLP | Systems and methods for incorporating a single-port ethernet device in a media protocol ring |
US10419350B2 (en) * | 2017-10-06 | 2019-09-17 | Hewlett Packard Enterprise Development Lp | Packet admission |
EP3503485B1 (en) * | 2017-12-22 | 2023-01-25 | Marelli Europe S.p.A. | Method for managing traffic in a network based upon ethernet switches, vehicle, communication interface, and corresponding computer program product |
CN109120542A (zh) * | 2018-08-20 | 2019-01-01 | 国云科技股份有限公司 | 一种基于边缘计算的流量管理系统及其实现方法 |
US10805223B1 (en) * | 2019-04-10 | 2020-10-13 | Dell Products L.P. | Systems and methods for handling data congestion for shared buffer switches with dynamic thresholding |
DE102021119053A1 (de) | 2021-07-22 | 2023-01-26 | Dspace Gmbh | Verfahren und System zur verzögerten zyklischen Weiterleitung von Nachrichten |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5383186A (en) * | 1993-05-04 | 1995-01-17 | The Regents Of The University Of Michigan | Apparatus and method for synchronous traffic bandwidth on a token ring network |
JP2737735B2 (ja) * | 1995-12-28 | 1998-04-08 | 日本電気株式会社 | ポリシング制御装置 |
KR100251985B1 (ko) * | 1996-06-29 | 2000-04-15 | 김영환 | 고속 처리가 가능한 휘도신호 계산장치 및 그 방법 |
EP1006742A1 (en) * | 1998-12-04 | 2000-06-07 | TELEFONAKTIEBOLAGET L M ERICSSON (publ) | DSP platform for digital cellular mobile radio communication systems |
FR2800222B1 (fr) * | 1999-10-26 | 2001-11-23 | Mitsubishi Electric Inf Tech | Procede de mise en conformite a un contrat de trafic d'un flux de paquets d'un reseau de transport de paquets a longueur variable |
EP1115265B1 (en) * | 2000-01-05 | 2008-04-16 | Mitsubishi Electric Information Technology Centre Europe B.V. | Method and a device for determining packet transmission priority between a plurality of data streams |
US6987732B2 (en) * | 2000-12-15 | 2006-01-17 | Tellabs San Jose, Inc. | Apparatus and methods for scheduling packets in a broadband data stream |
JP2003333087A (ja) | 2002-05-10 | 2003-11-21 | Furukawa Electric Co Ltd:The | 帯域制御方法およびその帯域制御装置 |
US20030223442A1 (en) * | 2002-05-29 | 2003-12-04 | Huang Anguo T. | Buffer memory reservation |
DE10344765A1 (de) * | 2003-09-26 | 2005-04-14 | Siemens Ag | Verfahren zum Übertragen von Kontrolldaten |
JP4391346B2 (ja) | 2004-07-12 | 2009-12-24 | 古河電気工業株式会社 | 通信制御方法、通信制御装置、制御プログラム及び記録媒体 |
US20070237074A1 (en) * | 2006-04-06 | 2007-10-11 | Curry David S | Configuration of congestion thresholds for a network traffic management system |
CN1972177B (zh) * | 2006-11-29 | 2010-04-21 | 北京邮电大学 | 基于终端反馈的联合混合自动请求重传和调度算法的方法 |
CN102084628B (zh) * | 2008-04-24 | 2014-12-03 | 马维尔国际有限公司 | 通信量管理器和用于通信量管理器的方法 |
EP2471322A4 (en) * | 2009-08-24 | 2016-11-02 | Intel Corp | QUICK AND LOW CONSUMPTION SERVICE TRANSMISSION |
US8665869B2 (en) * | 2009-12-02 | 2014-03-04 | Vss Monitoring, Inc. | System, apparatus, and methods for inserting information into captured data packets |
CN101969403B (zh) * | 2010-10-25 | 2013-01-02 | 武汉烽火网络有限责任公司 | 一种基于E-Model的去抖缓冲区管理方法 |
-
2015
- 2015-03-31 EP EP15305482.0A patent/EP3076616B1/en active Active
-
2016
- 2016-03-15 JP JP2017535718A patent/JP6756070B2/ja active Active
- 2016-03-15 KR KR1020177031100A patent/KR101990235B1/ko active IP Right Grant
- 2016-03-15 CN CN201680019477.1A patent/CN107431665B/zh active Active
- 2016-03-15 US US15/555,776 patent/US10367743B2/en active Active
- 2016-03-15 WO PCT/JP2016/058881 patent/WO2016158541A1/en active Application Filing
- 2016-03-28 TW TW105109671A patent/TWI627843B/zh active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6756070B2 (ja) | パケット交換ネットワーク内のネットワークノードにおけるトラフィック管理のための方法およびネットワークノード | |
US11962490B2 (en) | Systems and methods for per traffic class routing | |
CN109412964B (zh) | 报文控制方法及网络装置 | |
JP2018500851A5 (ja) | ||
CN102132535B (zh) | 在通信网中传输数据分组的方法和交换装置 | |
US9276870B2 (en) | Switching node with load balancing of bursts of packets | |
US20070217336A1 (en) | Method and system for using a queuing device as a lossless stage in a network device in a communications network | |
US20110019572A1 (en) | Method and apparatus for shared shaping | |
US7602809B2 (en) | Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability | |
US8862768B2 (en) | Method and system for packetizing data for servicing traffic end-to-end | |
US20230031236A1 (en) | Transmission of data packets | |
US10819535B2 (en) | Method for data packet transmission and/or reception | |
CN111800351A (zh) | 由交换机进行的拥塞通知分组生成 | |
WO2009046869A1 (en) | Method and systems for qos-aware flow control in communication networks, corresponding network and computer program product | |
KR101434422B1 (ko) | 가상 링크 조정에 의한 네트워크 성능 개선 방법 및 이를 적용한 네트워크 시스템 | |
EP3836496B1 (en) | Method for an improved traffic shaping and/or management of ip traffic in a packet processing system, telecommunications network, system, program and computer program product | |
KR101587379B1 (ko) | 큐 사이즈의 동적 제어 방법 및 이를 수행하는 장치 | |
US7009973B2 (en) | Switch using a segmented ring | |
EP2403194B1 (en) | Method and apparatus for aggregated packet switching | |
CN117356080A (zh) | 在分组交换网络中实现的用于调度以太网帧的传输的方法 | |
Grebe | Standardize Your IP Traffic with TMOIP |