JP3755420B2 - ノード装置 - Google Patents
ノード装置 Download PDFInfo
- Publication number
- JP3755420B2 JP3755420B2 JP2001146028A JP2001146028A JP3755420B2 JP 3755420 B2 JP3755420 B2 JP 3755420B2 JP 2001146028 A JP2001146028 A JP 2001146028A JP 2001146028 A JP2001146028 A JP 2001146028A JP 3755420 B2 JP3755420 B2 JP 3755420B2
- Authority
- JP
- Japan
- Prior art keywords
- flow
- bandwidth
- packet
- queue
- flows
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、広帯域網において、フローあるいはコネクション間の公平性を実現するルータあるいはスイッチ等からなるノード装置に関する。
【0002】
【従来の技術】
品質保障を行わないトラヒック(いわゆるBest effortトラヒック)においては、ユーザは帯域や遅延等の品質に関する保障を受けることはできないが、網との契約を行わずに自由な帯域でデータを送信することができる。このようなトラヒックに対しては、各ユーザのフローやコネクションが各々公平に帯域を使用できることが重要であり、特定のユーザが網帯域を占有することで他のユーザが帯域を使用できなくなる事態は避けるべきである。
【0003】
このため、ルータあるいはスイッチ等のノードにおいては、以下のような方式を用いることによって公平性を実現することが提案されている。なお、以下、簡単のため、”ルータあるいはスイッチ”を単に”ノード装置”と示し、”フローおよびコネクション”を単に”フロー”と示し、”パケットおよびセル”を単に”パケット”と示す。
【0004】
第一の方式は、文献1に示されているように、ネットワーク内の全ノード装置においてフロー毎にキューを割り当てる方式である(文献1:M. Katavenis他, "Weighted Round-Robin Cell Multiplexing in a General-Purpose ATM Switch Chip", IEEE Journals on Salectec Areas in Communication, Col.9, No.8, 1991やM. Shreedher他, "Efficient fair queueing using deficit round-robin", IEEE/ACM Transactions on Networking, vol.4, no.3, pp.375-385, 1996等)。
【0005】
この方式のスケジューリングアルゴリズムでは、各キュー対して明示的に品質を保障することが可能であり、また各キュー間で公平に帯域を共用させることも可能である。従って、これらのスケジューリングアルゴリズムを用いて各キューからのパケット出力制御を行うことにより、各フローに対して公平に帯域を割り当てることが可能である。本方式の一例として、文献2(特開平11−215142号公報)において、各ATMコネクション毎にキュー(セルバッファ)を用意することで、各コネクション毎に公平に帯域を分配する方式が示されている。
【0006】
第二の方式は、ノード装置において入力回線毎や、出力回線毎、サービスクラス毎等の集約された単位毎にキューを用意し、各キュー内には複数のフローを収容するが、フロー毎にパケットの廃棄制御を行うことによって公平性を実現する方式である。第二の方式の一例として、文献3(特開平11−88343号公報)において、最低保証帯域以上のコネクションでかつ共用帯域に余裕がないコネクションのセルをパケット単位で通過阻止して廃棄することにより、コネクション毎の公平性を実現する方式が示されている。
【0007】
第三の方式は、網の入り口の比較的低速なノード装置(以下エッジノード)において、各フローの使用帯域に応じてパケットの廃棄優先度をヘッダに書き込み、網内部の高速なノード装置(以下コアノード)においては、ヘッダに書き込まれている廃棄優先度の情報に基づいてパケットの廃棄制御を行う方式である。網内部のノード装置においては、輻輳が発生すると廃棄優先度の高いパケットを優先して廃棄することにより公平性を実現する。
【0008】
この第三の方式の一例として、文献4に示される方式では、エッジノードにおいて設定帯域以上の帯域を使用しているフローに関しては、このフローのパケットのうち設定帯域以上に相当する個数のパケットの廃棄優先度を高優先に設定し、コアノードにおいては高優先に設定されたパケットを優先的に廃棄する(文献4:S. Blake他, "An Architecture for Diffentiated Services" (IETF RFC-2475, 1998))。
【0009】
第四の方式は、第三の方式とほぼ同様であるが、エッジノードにおいてパケットの優先度をヘッダに書き込むのではなく、このパケットが属するフローの使用帯域をパケットのヘッダに書き込む点が異なる。本方式の一例として、文献5に示される方式では、エッジノードにおいて各フローが使用している帯域をパケットのヘッダに書き込み、コアノードではフロー1本あたりの公平な使用帯域量を計算し、前記帯域量を超えているパケットに対しては超えている帯域量に応じて確率的にパケットを廃棄する(文献5:I. Stoica他, "Core-stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks" (SIGCOMM'98, 1998))。
【0010】
【発明が解決しようとする課題】
第一の問題点は、前記第一の方式を広帯域網に適用することが難しいことである。広帯域網においては回線速度が非常に高速であり、また収容するフロー数も膨大であるため、第一の方式では多くのキューを高速にスケジューリングする必要がある。しかしながら、現在のハードウエア技術ではLSI外部の大容量なメモリは高速に動作させることができず、またLSI内蔵の高速なメモリはこの容量が限定されるため、第一の方式に必要な大規模かつ高速な記憶資源を実現することが困難な状況である。
【0011】
第二の問題点は、前述した第二の方式を広帯域網に適用することが難しいことである。第二の方式においては、管理するキューの数が少ないためこれらのキューを高速に実現することは可能であるが、廃棄制御に関してはフロー毎に管理する必要がある。このため、やはり大規模かつ高速な記憶資源が必要であり、第一の方式と同様に広帯域網に対応することは難しい。
【0012】
第三の問題点は、前記第三の方式では正確な公平性を実現できないことである。第三の方式では、廃棄優先と非優先の2種類の情報しかパケットが持たない。このため、第三の方式では、廃棄優先度を決める閾値以上のフローと閾値以下のフローの公平性は向上しても、閾値以上のフロー間の公平性や、閾値以下のフロー間の公平性は向上しない。
【0013】
また、エッジノードでは、網内部の輻輳とは無関係に廃棄優先度が決められるため、エッジノードでの輻輳度とネットワーク内部での輻輳度が大きく異なれば公平性は大きく劣化する。
例えば、エッジノードに比べて網内部が遥かに輻輳している場合、エッジノードでは殆どのパケットの廃棄優先度が低く設定され、コアノードでは廃棄優先度の低いパケットが多数廃棄される。このため、第三の方式では、わずかしか帯域を使用していないフローのパケットでも、廃棄されることになる。
【0014】
第四の問題点は、前記第四の方式ではパケットヘッダ内に帯域情報を持たせるため、プロトコルの変更が必要であることである。第四の方式を実装していないルータでは、拡張されたパケットヘッダを扱うことができないため、網内の全てのノードを更新する必要がある。
【0015】
以上をまとめると、第一および第二の問題点は、ノード装置においてフロー毎の情報を持たなければならない点である。高速性を要求されるノード装置においては、多くの情報を保持することは難しい。また第三および第四の問題点は、パケット自身にフローの関する情報を保持させる点にある。パケット自身に詳細な情報を持たせるためには、プロトコル変更が必要であり実現性に乏しい。また、より実現しやすくするため、パケットに持たせる情報を廃棄優先度に限定してプロトコル変更を最小限とした場合、網帯域使用の公平性が劣化する。
【0016】
本発明は、以上のような問題点を解消するためになされたものであり、広帯域網においても、フロー間で公平に帯域を利用できるようにすることを目的とする。
【0017】
【課題を解決するための手段】
本発明のノード装置は、入力したパケットを、このパケットの属性情報に基づいて複数のキューのいずれかに格納し、キューからスケジューラを用いてパケットを出力回線に出力するノード装置において、入力パケットのヘッダ情報,入力回線の識別子,波長を含む属性情報を用いて格納するキューを決定するフロー識別部と、キューに対する割り当て帯域のスケジューリングに必要な情報を保持するキュー情報管理部と、キューからのパケット出力を制御するスケジューラと、キュー各々に対応してキューに収容しているフローの数を推定し、収容するフロー数に応じて対応するキューに対して割り当てる帯域を変更する複数のフロー数推定部とを備えたものである。
この発明によれば、各キューに対応してこのキューのフロー数が推定され、各キューにおいて推定されたフロー数によって、各キューへ割り当てられる帯域が変更される。
【0018】
上記発明において、スケジューラからの出力回線上の余剰帯域を求める余剰帯域計算部と、この余剰帯域に基づいて割り当て帯域を再計算してキュー情報管理部における情報を変更する割り当て帯域計算部とを新たに備え、フロー数推定部は、出力回線上に余剰帯域がある場合は、対応するキューの収容フロー数に応じて余剰帯域を各キューに再度割り当てるようにしてもよい。
【0019】
本発明の他の形態のノード装置は、入力したパケットを複数のポリサを用いて廃棄制御を行い、廃棄を行わなかった場合にはパケットをFIFOキューに格納し、このFIFOキューからパケットを出力回線に出力するノード装置において、入力パケットのヘッダ情報,入力回線の識別子,波長を含む属性情報を用いて適用するポリサを決定するフロー識別部と、ポリサに対する割り当て帯域を含むポリシングに必要な情報を保持するポリシング情報管理部と、入力したパケットを格納するFIFOキューと、ポリサに対応してこのポリサに収容されているフローの数を推定し、収容されているフローの数に応じて各々のポリサに対して割り当てる帯域を変更するフロー数推定部と、出力回線上の余剰帯域を求める余剰帯域計算部と、この余剰帯域計算部が求めた余剰帯域に基づいて割り当て帯域を再計算する割り当て帯域計算部とを備えたものであり、フロー数推定部は、出力回線上に余剰帯域がある場合にはポリサの収容フロー数に応じて余剰帯域をポリサに再度割り当てる。
【0020】
上記発明において、フロー数推定部は、過去に到着したフローの履歴を格納する到着フロー履歴記憶部を備え、パケット入力時に入力パケットのフロー識別子を用いて履歴を検索することによってフロー数を推定する。
また、上記発明において、フロー数推定部は、過去に到着したフローの履歴を格納する到着フロー履歴記憶部を備え、自身に入力した全てのパケットの合計帯域を計測し、パケット入力時にこのパケットのフロー識別子を用いて履歴を検索することによってパケットが属するフローの使用帯域を推定する帯域推定を複数回行って自身で扱う全フローの平均帯域を推定し、自身への全入力パケットの合計帯域と平均帯域を用いてフロー数を推定する。
【0021】
上記発明において、フロー数推定部は、過去に到着したフローの履歴を格納する到着フロー履歴記憶部を備え、この到着フロー履歴記憶部に記憶された履歴の各エントリが、フロー識別子,エントリが登録された時刻、入力パケットによってエントリが参照された回数,エントリを参照した入力パケットのパケット長合計を含む履歴情報のうちの少なくとも1つを備える。
【0022】
上記発明において、フロー数推定部は、過去に到着したフローの履歴をエントリとして格納し、格納されている格納エントリにフロー識別子を登録する到着フロー履歴記憶部と、入力パケットのフロー識別子と、到着フロー履歴記憶部に格納されている中から選んだエントリに登録されているフロー識別子とが一致する一致確率を保存する一致確率保存部と、一致確率から推定フロー数を計算するフロー数計算部とを備え、フロー数推定部は、パケット入力時に入力パケットのフロー識別子と到着フロー履歴から選んだ選択エントリに登録されているフロー識別子とを比較して一致確率を求め、求めた一致確率の平均を一致確率保存部に保存し、比較が不一致であれば、ある確率で選択エントリに入力パケットのフロー識別子を登録し、フロー数計算部は、一致確率から算出した値を推定フロー数とする。
【0023】
上記発明において、フロー数推定部は、各エントリにフロー識別子,ヒット数,パケット長合計をエントリとして登録する到着フロー履歴記憶部と、全フローの平均レートの推定値である推定平均レートを保存する推定平均レート保存部と、対応するキューに到着するトラヒックを計測する入力トラヒック計測部と、推定平均レートと入力トラヒック計測部が計測した入力トラヒックとからフロー数を計算するフロー数計算部とを備え、フロー数推定部は、パケット入力時に、入力した入力パケットのフロー識別子と到着フロー履歴記憶部に登録された中からランダムに選んだ選択エントリに登録されているフロー識別子とを比較し、この比較が一致した場合には、ヒット回数およびパケット長合計を更新し、比較が不一致である場合は、所定の確率で選択エントリに入力パケットのフロー識別子を登録し、ヒット数およびパケット長合計を1および入力パケットのバイト数へと設定し、入力パケットが属するフローが使用している帯域をヒット数およびパケット長合計をもとにして推定して推定帯域を求め、推定帯域をもとに自身に収容されている全フローの平均帯域の推定値を更新し、自身への全パケットの合計帯域と平均帯域を用いてフロー数を推定する。
【0024】
上記発明において、到着したフローの履歴を用いてパケット制御を行う廃棄制御部を備え、この廃棄制御部は、特定パケットが到着した時に、到着したフローの履歴のヒット数またはパケット長合計が所定の閾値を超えた場合には、キュー情報管理部における特定パケットの廃棄優先度を高くするようにしてもよい。
【0025】
上記発明において、1本あたりのフローに与えるべき帯域を計算する目標帯域計算部と、この目標帯域計算部が算出した目標帯域と到着フロー履歴を用いてパケット廃棄の制御を行う廃棄制御部とを備え、目標帯域計算部は、出力回線の容量と全フロー数推定部における推定フロー数を用いて目標帯域を計算し、特定パケットが到着した時に特定パケットが属するフローの帯域を計算した際、この計算した帯域が目標帯域を超えた場合には、キュー情報管理部における特定パケットの廃棄優先度を高くするようにしてもよい。
【0026】
上記発明において、パケットのヘッダに廃棄優先度の書き込みを行う廃棄優先度設定部を備え、到着したフローの履歴におけるヒット数およびパケット長合計がある閾値を超えている場合、または、入力した入力パケットの属するフローの推定帯域が予め設定されている目標帯域を超えている場合において、対応するキューのキュー長がある閾値を超えていなければ、入力パケットの廃棄を行わず、キュー情報管理部における入力パケットの廃棄優先度を高くし、キュー情報管理部において入力パケットが高廃棄率に設定されてあり、かつ入力パケットを格納するキューのキュー長が、予め定められた閾値を超えている場合には、入力パケットを廃棄するようにしてもよい。
【0027】
上記発明において、キューに到着するフロー数が、キューに用意された到着フロー履歴数以下になったことを検出する手段と、キューに到着するフロー数が、キューに用意された到着フロー履歴数よりも多くなったことを検出する手段とを備え、キューに到着するフロー数が、キューに用意された到着フロー履歴数以下の場合には、到着フロー履歴に登録されているフロー数から推定フロー数を求めるようにしてもよい。
【0028】
上記発明において、キューに到着するフロー数が、キューに用意された到着フロー履歴数以下になったことを検出する手段と、キューに到着するフロー数が、キューに用意された到着フロー履歴数よりも多くなったことを検出する手段とを備え、キューに到着するフロー数がキューに用意された到着フロー履歴数以下になった場合には、到着フロー履歴を削減し、キューに到着するフロー数がキューに用意された到着フロー履歴数よりも多くなった場合には、到着フロー履歴を増加するようにしてもよい。
【0029】
【発明の実施の形態】
以下、本発明の実施の形態について図を参照して説明する。
<実施の形態1>
図1は本発明の実施の形態におけるノード装置の構成を示す構成図である。このノード装置は、到着したパケットを格納するキューを決定するフロー識別部101、キュー毎に収容するフロー数を推定する複数のフロー数推定部103、フロー数推定部103と対の複数のキュー104、割り当て帯域やキュー長等のスケジューリングに必要な情報を保持するキュー情報管理部102、キュー情報管理部102の情報をもとに各キューからのパケット出力を制御するスケジューラ105を備える。
【0030】
フロー識別部101は、入力パケットが属するフローの識別子と、このフローが属する品質クラスと、入力回線番号等のフロー毎に一意である情報とを用い、入力したパケットを格納すべきキューを選択する。なお、フローの識別子とは、「IP version4」を例に説明すると、送信元IPアドレス,送信先IPアドレス,第四層プロトコル番号,送信元ポート番号,送信先ボート番号の組である。また、品質クラスは、「IP version4」を例に説明すると、IPヘッダ中のTOSフィールドとなる。
【0031】
キュー選択に関しては、同一のフローに属するパケットは同一のキューへと格納するという条件さえ満たしていればよい。従って、キューを選択する際には、上述したフローの識別子全ての情報を用いる必要は無い。例えば、キュー数が少ない場合には、入力ポート番号のみでキューを選択しても良く、またキュー数が多い場合には、全ての情報を用いてキューを選択しても良い。
また、上述した情報からキューを選択する際のアルゴリズムも任意であり、例えば、上述した情報の値の合計をキュー数で割った剰余をキューの識別子として用いたり、また情報をビット列として羅列しこれをCRC−xで割った剰余をキューの識別子として用いても良い。
【0032】
スケジューラ105はキュー情報管理部102において設定された各キューの割り当て帯域に従ってってパケット出力が可能なスケジューリングアルゴリズムを採用していれば、この構成は任意である。ただし、本実施の形態においては出力回線に余剰帯域がある場合、この余剰帯域を各キューに対して公平に分配する機構を備えているとする。このようなスケジューリングアルゴリズムとしては、WRRやDRRなどが挙げられる。
【0033】
キュー情報管理部102の構成例を図2に示す。キュー情報管理部102はスケジューリングを行う際に必要な情報を格納するテーブルであり、例えば図2のように、各キューの割り当て帯域およびキュー長等を格納する。各キューへの割り当て帯域はこのキューに対応するフロー数推定部103において推定フロー数が更新される毎に動的に変更される。
【0034】
フロー数推定部103は対応するキュー104内に収容されているフローの数を推定する。フロー数推定部においてフロー毎の情報が管理できればフロー数を正確に推定することができるが、フロー数に比例しない情報量を実現することが本発明の目的であるため、フロー数推定のアルゴリズムとしてはフロー数に比例しない固定量の記憶資源のみを用いて推定を行わなければならない。条件を満たすアルゴリズムとして文献6に紹介されている方式があり、本実施の形態ではこの方式を参考にフロー数推定を行う(文献6:T. J. Ott他, "SRED: Stabilized RED", IEEE INFOCOM'96)。
【0035】
図3は、本実施の形態におけるフロー数推定部103の構成を示す構成図である。フロー数推定部103は、複数のフロー識別子を保持する到着フロー履歴記憶部106、一致確率保存部107、フロー数計算部108を備える。文献6に示された方式では、回線全体のフロー数を推定するため到着フロー履歴は1つであるが、本実施の形態においては、キュー毎にフロー数を推定するため、到着フロー履歴を各フロー数推定部毎に用いる。すなわち、本実施の形態では、各フロー数推定部103毎に、到着フロー履歴記憶部106を備えるようにした。
【0036】
以下、フロー数推定部103の動作について、図4のフローチャートを用いて説明する。図1に示すノード装置にパケットが到着したとき、フロー識別部101において到着したパケットが属するフローの識別子や品質クラス,入力回線番号などを用い、到着したパケットを格納するキュー104を決定する。次いで、格納先のキュー104に対応するフロー数推定部103において、キュー104内の推定フロー数を以下の様に更新する。
【0037】
まず、ステップS401で、フロー数推定部103のフロー数計算部108は、到着フロー履歴記憶部106に記憶されている到着フロー履歴から、1つのエントリ(履歴エントリ)をランダムに選択する。次いで、ステップS402で、フロー数計算部108は、ランダムに選択した履歴エントリに書かれているフロー識別子と入力したパケットのフロー識別子を比較する。この比較の結果、2つが一致しなければ、ステップS403に進み、一致確率保存部107に保存されている一致確率の時間平均に(1−α)を乗じて新たな一致確率とする。なお、αは、予め設定されている規定値である。次いで、フロー数計算部108は、任意の確率q(ステップS404)によって、エントリのフロー識別子を入力したパケットのフロー識別子に更新する(ステップS405)。
【0038】
一方、ステップS402の比較で一致した場合、ステップS406に進み、フロー数計算部108は、一致確率保存部107に保存されている一致確率の時間平均に(1−α)を乗じ、かつαを加算して新たな一致確率とする。
この後、ステップS407で、フロー数計算部108は、更新された新たな一致確率の逆数を求め、これを推定フロー数とする。
【0039】
以上のように推定フロー数が更新された後、フロー数推定部103は、更新された推定フロー数に定数を乗じた値を割り当て帯域としてキュー情報管理部102に書き込む。最後に、フロー数推定部103は、入力パケットを適切なキュー104に格納して処理を終了する。なお、本実施の形態においては、余剰帯域が生じた場合スケジューラ105が、これを公平に分配する機構を備えているとしているため、割り当て帯域の総合計がリンク容量以下となってもよい。
一方、パケット出力時には、キュー情報管理部102に書き込まれた割り当て帯域に従ってい、スケジューラ105が、各キュー104からのパケット出力を行う。
【0040】
<実施の形態2>
つぎに、本発明の他の形態について説明する。図5は、本発明の他の形態におけるノード装置の構成を示す構成図である。本実施の形態のノード装置は、前述した実施の形態の構成に加え、出力回線上の余剰帯域を求める余剰帯域計算部206と、割り当て帯域計算部207とを新たに備えるようにしたものである。割り当て帯域計算部207は、回線容量を全キューの推定フロー数の合計で割ることにより、フロー1本あたりの割り当て帯域を計算し、これに各キューの推定フロー数を乗じて各キューの割り当て帯域を計算する。
【0041】
本実施の形態において、スケジューラ105は、割り当て帯域と等しい帯域でのみパケット出力を行い、出力回線上に余剰帯域が生じてもこの余剰帯域を各キューに再配分しない。他の構成は、図1に示したノード装置と同様である。
【0042】
つぎに、図5を参照して本実施の形態におけるノード装置の動作について説明する。図5のノード装置にパケットが到着したとき、フロー識別部101において、到着したパケットが属するフローの識別子や品質クラス,入力回線番号などを用い、到着したパケットの格納先のキュー104を決定する。また、この決定されたキュー104に対応するフロー数推定部103が、前述の実施の形態でも説明したように、このキュー104内の推定フロー数を更新する。
【0043】
つぎに割り当て帯域計算部207において、全てのキュー104の推定フロー数を合計して出力回線上の全フロー数を推定し、出力回線の容量を推定した全フロー数で割ることで、フロー1本あたりの帯域を求める。次いで、求めた帯域に推定フロー数を乗ずることで割り当てる帯域を計算し、これをキュー情報管理部102に書き込む。最後に、入力パケットを適切なキュー104に格納して処理を終了する。パケット出力時の処理については、前述した実施の形態と同様である。さらに、本実施の形態では、余剰帯域計算部206によって余剰帯域が検出された場合、余剰帯域量に応じて各キュー104の割り当て帯域を増加させる。
【0044】
<実施の形態3>
つぎに、本発明の他の形態について説明する。図6は、本発明の他の形態におけるノード装置の構成を示す構成図である。図6のノード装置は、まず、前述した実施の形態と同様に、フロー識別部101,フロー数推定部103,余剰帯域計算部206,割り当て帯域計算部207を備える。加えて、本実施の形態では、ノード装置に、設定された割り当て帯域以上のパケットを廃棄する複数のポリサ304を設けるようにした。また、割り当て帯域等のポリサ304毎のパラメータを保持するポリシング情報管理部302と、FIFOキュー305を備えるようにした。
【0045】
ポリシング情報管理部302は、各ポリサ304がポリシングを行うために必要な割り当て帯域等の情報を保持し、ポリサ304は、ポリシング情報管理部302の情報に従ってってポリシングを行う。
図6のノード装置では、キューはFIFOキュー305のみであり、全てのフローのパケットは、FIFOキュー305に格納され、この先頭から出力される。
【0046】
つぎに、図6のノード装置の動作について説明する。図6のノード装置にパケットが到着したとき、フロー識別部101が、到着したパケットのフローの識別子や品質クラス,また入力回線番号などを用い、到着したパケットを通過させるポリサ304を決定する。また、決定したポリサ304に対応するフロー数推定部103が、このポリサ304を通過している推定フロー数を更新する。
【0047】
つぎに、割り当て帯域計算部207が、全ポリサ304の推定フロー数を合計して出力回線上の全フロー数を推定し、出力回線の容量を全フロー数で割ることによってフロー1本あたりの帯域を求める。次いで、求めた帯域に推定フロー数を乗ずることで上記ポリサ304に割り当てる帯域を計算し、これをポリシング情報管理部302に記憶させる。つぎに、上記ポリサ304を用いて入力パケットを廃棄するか否かを決定し、廃棄しないと判断した場合には、入力したパケットをFIFOキュー305に格納する。
【0048】
なお、パケット出力時の処理は、FIFOキュー305の先頭からパケットを取り出して、これを出力回線に出力するだけである。さらに、本実施の形態では、余剰帯域計算部206によって余剰帯域が検出された場合、余剰帯域量に応じて各ポリサ304の割り当て帯域を増加させる。またFIFOキュー305内のキュー長に応じて割り当て帯域を増減させる処理も行う。
【0049】
<実施の形態4>
つぎに、本発明の他の形態について説明する。本実施の形態では、図1に示したノード装置のフロー数推定部103を、図7に示すように構成されたフロー数推定部103aとしたものである。従って、本実施の形態のノード装置は、図1に示したノード装置に比較して、フロー数推定部103aの構成および動作が異なるのみであり、以下では他の構成に関する説明は省略する。
【0050】
本実施の形態のフロー数推定部103aは、キュー104(図1)内の各フローが使用している帯域を推定し、帯域を推定したキュー104に収容されている全てのフローの平均帯域を推定し、このキュー104への全入力帯域を平均帯域で割ることによって各キュー104に収容されているフロー数を推定する。なお、以下本実施の形態ではパケット長が一定であると仮定している。
【0051】
本実施の形態におけるフロー数推定部103aは、図7に示すように、フロー識別子とヒット回数をエントリとして持つ到着フロー履歴記憶部106aと、キュー104に収容されている全フローの平均帯域を保持する推定平均帯域保存部707と、フロー数計算部108aと、キュー104へのパケット到着率を計測する入力トラヒック計測部709とを備える。到着フロー履歴記憶部106aが記憶しているヒット回数とは、入力パケットのフロー識別子が、ランダムに選ばれたエントリのフロー識別子と一致した回数である。
【0052】
以下、フロー数推定部103aの動作について図8のフローチャートを用いて説明する。図1に示したノード装置のフロー数推定部103と同様に、パケットが到着すると、まず到着フロー履歴からランダムにエントリを選択し(ステップS801)、選択したエントリに保存されているフロー識別子と入力パケットのフロー識別子を比較する(ステップS802)。ステップS802の比較の結果、2つのフロー識別子が等しい場合、選択したエントリのヒット回数に1を加える(ステップS803)。
【0053】
一方、ステップS802の比較の結果、2つのフロー識別子が等しくなければ、確率q(ステップS804)で、ステップS805〜ステップS808に示す推定フロー数の更新およびエントリの置き換えを行う。まず、ステップS805で、ランダムに選択したエントリのヒット回数より推定帯域を計算し、ステップS806で、推定平均帯域保存部707に保存されている推定平均帯域を更新する。次いで、ステップS807で、推定フロー数を算出し、ステップS808で、エントリのヒット回数を0に戻し、また、フロー識別子を入力パケットの識別子で置き換える。
【0054】
推定フロー数の算出について説明すると、上述のようにエントリが置き替えられる場合、置き換え前のヒット回数は、このエントリに対するヒット回数の最大値となり、この値は置き換え前に上記エントリ登録されていたフローの帯域と相関関係を持つ。従って、入力パケットが属するフローの帯域は、以下の様に推定でき、推定フロー数を更新することができる。
【0055】
ヒット回数の最大値は、対応するフローの帯域に対して増加関数であり、この最大値を用いて対応するフローの帯域を推定することができる。この帯域推定のための関数としては、例えば、いずれかのキュー104へのパケット到着率を用いてつぎのように計算できる。「推定帯域=キュー104へのパケット到着率の合計×{q×ヒット回数の最大値/(1+q×ヒット回数の最大値)}」。つぎに、得られた推定帯域から、キュー104へ到着する全フローの帯域の平均を求める。
【0056】
ここで、k回目の帯域推定で得られた推定帯域R(k)とすると、推定平均帯域は「{Σ(1<=k<=N)R(k)}/N 」と求めることができる。実際には、帯域の高いフローのパケットは到着回数が多く、多くの回数の帯域推定が行われていることを考慮すると、推定平均帯域は、つぎに示すように、推定帯域の逆数で重み付けして求めることが望ましい。推定平均帯域={Σ(1<=k<=N)(R(k)/R(k))}/{Σ(1<=k<=N)(1/R(k))}。
フロー数計算部108aは、入力トラヒック計測部709が計測したキュー104へのパケット到着率を、上述のことにより算出した推定平均帯域で割ることで、推定フロー数を算出する。
【0057】
<実施の形態5>
つぎに、本発明の他の形態について説明する。本実施の形態においては、図1に示したノード装置のフロー数推定部103を、図9に示すように構成されたフロー数推定部103bとしたものである。従って、本実施の形態のノード装置は、図1に示したノード装置に比較して、フロー数推定部103bの構成および動作が異なるのみであり、以下では他の構成に関する説明は省略する。本実施の形態の特徴は、上述した図7に示すフロー数推定部103aを用いたノード装置に比較して、可変長パケットに対応できるよう変更した点である。
【0058】
フロー数推定部103bは、図9に示すように、フロー識別子とヒット回数と入力パケットのパケット長の合計などの履歴情報をエントリとして持つ到着フロー履歴記憶部106bと、キュー103(図1)に収容されている全フローの平均帯域を保持する推定平均帯域保存部707と、フロー数計算部108bと、キュー104へのパケット到着率,全入力パケットの合計帯域および全入力パケットの平均パケット長を計測する入力トラヒック計測部909を備える。
【0059】
以下、本実施の形態のフロー数推定部103の動作について、図10のフローチャートを用いて説明する。図1に示したノード装置のフロー数推定部103と同様に、パケットが到着すると、まず到着フロー履歴からランダムにエントリを選択し(ステップS1001)、選択したエントリに保存されているフロー識別子と入力パケットのフロー識別子を比較する(ステップS1002)。ステップS1002の比較の結果、2つのフロー識別子が等しい場合、到着フロー履歴記憶部106bの選択したエントリのヒット回数に1を加え、かつ、パケット長合計に入力パケット長を加える(ステップS1003)。
【0060】
一方、ステップS1002の比較で2つのフロー識別子が等しくなければ、確率q(ステップS1004)で、ステップS1005〜ステップS1008に示すように推定フロー数の更新およびエントリの置き換えを行う。まず、ステップS1005で、ランダムに選択したエントリのヒット回数より推定帯域を計算し、ステップS1006で、推定平均帯域保存部707に保存されている推定平均帯域を更新する。次いで、ステップS1007で、推定フロー数を算出し、ステップS809で、エントリのヒット回数を0に戻し、エントリのパケット長合計を入力パケット長にし、エントリのフロー識別子を入力パケットのフロー識別子とする。
【0061】
エントリの置き換えは、以下に示すように帯域推定を行い、キュー104のフロー数の更新する。本実施の形態においても、ヒット回数の最大値は、対応するフローの帯域に対して増加関数とし、この最大値を用いてフローの帯域を推定する。この帯域推定のための関数としては、例えば、キュー104へのパケット到着率と平均パケット長を用いてつぎに示すように計算する。
【0062】
推定帯域=キュー104へのパケット到着率×{q×ヒット回数最大値/(1+q×ヒット回数最大値)}×{当該フロー上での平均パケット長/キュー104全体での平均パケット長}ここで、上記フロー上の平均パケット長は、「平均パケット長=当該エントリのパケット長合計/(当該エントリのヒット回数+1)」と推定できる。
【0063】
つぎに、得られた推定帯域から、キュー104へ到着する全フローの帯域の平均を求める。本実施の形態においても、平均推定帯域は、推定帯域の逆数で重み付けして求めることが望ましく、k回目の帯域推定で得られた推定帯域R(k)とすると、平均推定帯域は、つぎに示すように求める。推定平均帯域={Σ(1<=k<=N)(R(k)/R(k))}/{Σ(1<=k<=N)(1/R(k))}。最後に、フロー数計算部108bは、入力トラヒック計測部909で得たキュー104への到着するパケットの全帯域を、以上のことにより求めた推定平均帯域で割ることで、推定フロー数を求める。
【0064】
<実施の形態6>
つぎに、本発明の他の形態について説明する。図11は本発明におけるノード装置の他の形態を示す構成図である。図11に示すノード装置は、到着したパケットを格納するキューを決定するフロー識別部101、キュー毎に収容するフロー数を推定する複数のフロー数推定部103b、複数のキュー103、割り当て帯域やキュー長等のキュー毎のパラメータを保持するキュー情報管理部102、キュー情報管理部102の情報をもとに各キュー103からのパケット出力を制御するスケジューラ105、各フローに与えるべき帯域を計算する目標帯域計算部1106、目標帯域と各フローの推定帯域を比較してパケットの廃棄を行う複数の廃棄制御部1107で構成される。
【0065】
なお、図11のノード装置において、フロー識別部101、フロー数推定部103b、キュー104、キュー情報管理部102、スケジューラ105の動作は、上述した図10のフローチャートに示す動作をする実施の形態と同様である。本実施の形態は、上述した実施の形態に比較し、目標帯域計算部1106と廃棄制御部1107によって入力パケットの廃棄制御を行う点が異なる。
【0066】
以下、図11のノード装置の動作について説明する。図11のノード装置は、ランダムに選択した到着フロー履歴のエントリのフロー識別子と、入力パケットが属するフローの識別子が一致した場合、図10のフローチャートに動作を示した上述の実施の形態と同様の処理に加え、以下のような処理を行う。
まず、目標帯域計算部1106において各フローに与えるべき目標帯域を求める。目標帯域計算部1106では、各フロー数推定部103において計算された推定フロー数を合計し、出力回線の容量を推定フロー数の合計で割り、これを目標帯域とする。
【0067】
廃棄制御部1107では、フロー数推定部103が計算した推定帯域と、目標帯域計算部1106が計算した目標帯域を比較する。この比較で、推定帯域が目標帯域を上回っており、かつ、入力パケットを格納するキュー104のキュー長が、予め設定されている閾値を上回っている場合、廃棄制御部1107は、入力パケットをキュー104に格納せずに廃棄する。一方、上記比較で、推定帯域が目標帯域を下回っている場合、廃棄制御部1107は、入力したパケットの廃棄は行わない。
【0068】
<実施の形態7>
つぎに、本発明の他の形態について説明する。図12は本発明におけるノード装置の他の形態を示す構成図である。本実施の形態では、図12に示すように、前述の実施の形態のノード装置に、廃棄制御部1107aに対応して複数の廃棄優先度設定部1208を設けるようにした。本実施の形態では、廃棄優先度設定部1208を設けることで、パケットのヘッダに廃棄優先度を示すビットを設け、このビットを用いて廃棄判断を行う。
【0069】
廃棄優先度設定部1208は、廃棄制御部1107で推定帯域が目標均帯域を超えていながらキュー長が閾値以下であったため廃棄されなかったパケットに対し、このパケットのヘッダ中の廃棄優先度ビットを高優先に設定する。
一方、廃棄制御部1107では、前述したようにパケット廃棄を行うとともに入力パケットのヘッダの廃棄優先度ビットが高優先に設定され、かつ入力パケットを格納するキューのキュー長が予め設定された閾値以上であれば、入力パケットを廃棄する。
この結果、本実施の形態によれば、次段以降のノード装置が輻輳している場合には、上記パケットが廃棄されやすいものとなる。
【0070】
<実施の形態8>
つぎに、本発明の他の形態について説明する。図13は、本発明の他の形態におけるノード装置の構成を示す構成図である。本実施の形態では、図13に示すように、図1に示したノード装置に複数の廃棄制御部1107bを備えるようにした。なお、フロー数推定部103は、図9に示す構成である。図13のノード装置の廃棄制御部1107bは、フロー数推定部103の到着フロー履歴をもとに、パケットの廃棄を行う。
【0071】
本実施の形態の廃棄制御部1107bは、入力パケットを格納するキュー104のキュー長が、予め定められた閾値を超えており、かつエントリのヒット回数もしくはパケット長合計が、予め設定された閾値を超えておれば、パケットを廃棄するようにした。なお、このパケットの廃棄は、パケットが到着したことによりフロー数推定部103がランダムに選択した到着フロー履歴のエントリのフロー識別子と、到着したパケット(入力パケット)が属するフローの識別子が一致した場合に行う。
【0072】
<実施の形態9>
つぎに、本発明の他の形態について説明する。本実施の形態では、図1に示したノード装置のフロー数推定部103を、図14に示すように構成されたフロー数推定部103cとしたものである。従って、本実施の形態のノード装置は、図1に示したノード装置に比較して、フロー数推定部103cの構成および動作が異なるのみであり、以下では他の構成に関する説明は省略する。フロー数推定部103cは、到着フロー履歴から1つのエントリをランダムに選択するのではなく、全エントリを参照するようにしたものである。
【0073】
図14に示すように、本実施の形態におけるフロー数推定部103cは、複数のフロー識別子を保持する到着フロー履歴記憶部106、一致確率保存部107、フロー数計算部108c、置き換えられたフロー識別子を保持しておく予備フロー識別子保存部1407を備える。
【0074】
以下、図15のフローチャートを参照してフロー数推定部103cの動作について説明する。パケットが到着した際、フロー数推定部103cは、到着フロー履歴記憶部106に記憶されている到着フロー履歴を全て参照し、入力パケットと同じフロー識別子を持つフロー履歴のエントリを探す(ステップS1501)。次いで、ステップS1502で、一致確率保存部107に一致するエントリの存在を判定する。
【0075】
ステップS1502の判定で一致するエントリが見つからない場合、ステップS1503で、新たな一致確率「古い一致確率×(1−α)」を一致確率保存部107に保存する。次いで、予備フロー識別子保存部1407の保存されているフロー識別子と入力したパケットのフロー識別子とが異なり、かつ現在のエントリ数が当初のエントリ数より小さい場合(ステップS1504)、エントリを1つ追加し(ステップS1505)、追加したエントリのフロー識別子を入力したパケットのフロー識別子とする(ステップS1506)。この後、ステップS1507に進む。
【0076】
一方、予備フロー識別子保存部1407に保存されているフロー識別子と入力したパケットのフロー識別子とが等しい、または、現在のエントリ数が当初のエントリ数より大きい場合(ステップS1504)、到着フロー履歴からランダムに1つのエントリを選択し(ステップS1508)、任意の確率qによって(ステップS1509)、予備フロー識別子保存部1407に、エントリのフロー識別子を保存し(ステップS1510)、エントリのフロー識別子を入力パケットのフロー識別子とする(ステップS1511)。なお、ステップS1509において、確率qにはずれた場合、予備フロー識別子保存部1407に、入力パケットのフロー識別子を保存する(ステップS1512)。この後、ステップS1507に進む。
【0077】
また、ステップS1502の判定で、一致するエントリが存在した場合、ステップS1513で、新たな一致確率「古い一致確率×(1−α)+α」を一致確率保存部107に保存する。ここで、新たな一致確率が、1に近いある定数βを超えている場合(ステップS1514)、まず、到着フロー履歴のエントリ数を1つ削減する(ステップS1515)。次いで、削減されたエントリに書かれているフロー識別子を予備フロー識別子保存部1407に保存し(ステップS1516)、ステップS1507に移行する。フロー数が到着フロー履歴のエントリ数より少ない場合、一致確率は常に1となるため、正しくフロー数を推定できない。このため、上述したステップS1514〜S1516を行う。
【0078】
ステップS1507に移行したら、現在のエントリ数と当初のエントリ数とを比較し、これらが等しい場合、フロー数計算部108cは、エントリ数を一致確率で除したものを推定フロー数とする(ステップS1517)。一方、現在のエントリ数と当初のエントリ数とが異なっている場合、フロー数計算部108cは、現在のエントリ数に1を加えて推定フロー数とする(ステップS1518)。
【0079】
<実施の形態10>
つぎに、本発明の他の形態におけるノード装置について説明する。
本実施の形態では、図1に示したノード装置のフロー数推定部103を、図16に示すように構成されたフロー数推定部103dとしたものである。従って、本実施の形態のノード装置は、図1に示したノード装置に比較して、フロー数推定部103dの構成および動作が異なるのみであり、以下では他の構成に関する説明は省略する。
【0080】
本実施の形態では、キュー104内の各フローが使用している帯域を推定し、キュー104に収容されている全てのフローの平均帯域を推定し、キュー104への全入力帯域を推定した平均帯域で割ることによって、キュー104に収容されているフロー数を推定する。また、本実施の形態でも、上述の実施の形態と同様に、到着フロー履歴記憶部106から1つのエントリをランダムに選択するのではなく、全エントリを参照する。
【0081】
本実施の形態では、図16に示すように、フロー数推定部103dが、フロー識別子とヒット回数をエントリとして持つ到着フロー履歴記憶部106と、キュー104に収容されている全フローの平均帯域を保持する推定平均帯域保存部707と、フロー数計算部108dと、キュー104へのパケット到着率を計測する入力トラヒック計測部909と、置き換えられたフロー識別子を保持しておく予備フロー識別子保存部1407とを備える。
【0082】
以下、本実施の形態のノード装置のフロー数推定動作について、図17のフローチャートを用いて説明する。まず、パケットが到着した際、フロー数推定部103dは、到着フロー履歴を全て参照し、入力パケットと同じフロー識別子を持つフロー履歴のエントリを探す(ステップS1701)。次いで、ステップS1702で、一致確率保存部107に一致するエントリの存在を判定する。
【0083】
ステップS1702の判定で一致するエントリが見つからない場合、ステップS1703で、新たな一致確率「古い一致確率×(1−α)」を一致確率保存部107に保存する。次いで、予備フロー識別子保存部1407の保存されているフロー識別子と入力したパケットのフロー識別子とが異なり、かつ現在のエントリ数が当初のエントリ数より小さい場合(ステップS1704)、まず、エントリを1つ追加し、追加したエントリのヒット回数を0とする(ステップS1705)。次いで、追加したエントリのフロー識別子を入力したパケットのフロー識別子とする(ステップS1706)。この後、ステップS1707に進む。
【0084】
一方、予備フロー識別子保存部1407に保存されているフロー識別子と入力したパケットのフロー識別子とが等しい、または、現在のエントリ数が当初のエントリ数より大きい場合(ステップS1704)、到着フロー履歴からランダムに1つのエントリを選択し(ステップS1708)、任意の確率qによって(ステップS1709)、まず、エントリのヒット数と一致確率とにより推定帯域を計算する(ステップS1710)。
【0085】
推定帯域の計算は、例えば、「推定帯域=(1-各エントリに登録されているフローの推定帯域の合計)×q/エントリ数×ヒット回数最大値」のような式を用いて置き換えられるフローの推定帯域を計算し、これをもとにして推定帯域を導出する。なお、各エントリに登録されているフローの推定帯域の合計の導出は困難であるので、「推定帯域=(1-一致確率)×q/エントリ数×ヒット回数最大値」のような近似式でも構わない。
【0086】
次いで、推定帯域を計算したら、以下のようにして推定平均帯域を求め、推定帯域保存部707に保存されている推定平均帯域を更新する(ステップS1711)。
推定平均帯域は、キュー104へ到着する全フローの帯域の平均であり、例えば、帯域の高いフローでは帯域推定の回数が多いとして重み付けを行い、「推定平均帯域=(1-β(ヒット回数最大値+1)/推定帯域)×前回の推定平均帯域+β(ヒット回数最大値+1)/推定レート×推定帯域」のように推定平均帯域(移動時間平均)を計算する。キュー104への入力帯域を、計算した推定平均帯域で除したものを、推定フロー数とする(ステップS1712)。
【0087】
次いで、予備フロー識別子保存部1407に、エントリのフロー識別子を保存し(ステップS1713)、エントリのフロー識別子を入力パケットのフロー識別子とする(ステップS1714)。なお、ステップS1709において、確率qにはずれた場合、予備フロー識別子保存部1407に、入力パケットのフロー識別子を保存する(ステップS1715)。この後、ステップS1707に進む。
【0088】
また、ステップS1702の判定で、一致するエントリが存在した場合、ステップS1716で、新たな一致確率「古い一致確率×(1−α)+α」を一致確率保存部107に保存し、ステップS1711で、エントリのヒット回数に1を加算する。ここで、新たな一致確率が、1に近いある定数βを超えている場合(ステップS1718)、まず、到着フロー履歴のエントリ数を1つ削減する(ステップS1719)。次いで、削減されたエントリに書かれているフロー識別子を予備フロー識別子保存部1407に保存し(ステップS1720)、ステップS1707に移行する。フロー数が到着フロー履歴のエントリ数より少ない場合、一致確率は常に1となるため、正しくフロー数を推定できない。このため、上述したステップS1714〜S1716を行う。
【0089】
ステップS1707に移行したら、現在のエントリ数と当初のエントリ数とを比較し、これらが異なっている場合、フロー数計算部108cは、現在のエントリ数に1を加えて推定フロー数とする(ステップS1721)。
【0090】
【発明の効果】
以上説明したように、本発明によれば、各キューに対応してこのキューのフロー数が推定され、各キューにおいて推定されたフロー数によって、各キューへ割り当てられる帯域が変更されるようにしたので、広帯域網においても、フロー間で公平に帯域を利用できるようになるというすぐれた効果が得られる。
【図面の簡単な説明】
【図1】 本発明の実施の形態におけるノード装置の構成を示す構成図である。
【図2】 キュー情報管理部102の構成例を示す説明図である。
【図3】 図1のフロー数推定部103の構成を示す構成図である。
【図4】 フロー数推定部103の動作を説明するためのフローチャートである。
【図5】 本発明の他の形態におけるノード装置の構成を示す構成図である。
【図6】 本発明の他の形態におけるノード装置の構成を示す構成図である。
【図7】 本発明の他の形態におけるノード装置の一部構成を示す構成図である。
【図8】 図7のフロー数推定部103aの動作を説明するためのフローチャートである。
【図9】 本発明の他の形態におけるノード装置の一部構成を示す構成図である。
【図10】 図9のフロー数推定部103bの動作を説明するためのフローチャートである。
【図11】 本発明の他の形態におけるノード装置の構成を示す構成図である。
【図12】 本発明の他の形態におけるノード装置の構成を示す構成図である。
【図13】 本発明の他の形態におけるノード装置の構成を示す構成図である。
【図14】 本発明の他の形態におけるノード装置の一部構成を示す構成図である。
【図15】 図14のフロー数推定部103cの動作を説明するためのフローチャートである。
【図16】 本発明の他の形態におけるノード装置の一部構成を示す構成図である。
【図17】 図16のフロー数推定部103dの動作を説明するためのフローチャートである。
【符号の説明】
101…フロー識別部、102…キュー情報管理部、103…フロー数推定部、104…キュー、105…スケジューラ。
Claims (14)
- 入力したパケットを、このパケットの属性情報に基づいて複数のキューのいずれかに格納し、前記キューからスケジューラを用いてパケットを出力回線に出力するノード装置において、
入力パケットのヘッダ情報,入力回線の識別子,波長を含む属性情報を用いて格納するキューを決定するフロー識別部と、
前記キューに対する割り当て帯域のスケジューリングに必要な情報を保持するキュー情報管理部と、
前記キューからのパケット出力を制御するスケジューラと、
前記キュー各々に対応して前記キューに収容しているフローの数を推定し、収容するフロー数に応じて対応する前記キューに対して割り当てる帯域を変更する複数のフロー数推定部と
を備え、
フロー数推定部は、過去に到着したフローの履歴を格納する到着フロー履歴記憶部を備え、パケット入力時に入力パケットのフロー識別子を用いて前記履歴を検索することによってフロー数を推定する
ことを特徴とするノード装置。 - 入力したパケットを、このパケットの属性情報に基づいて複数のキューのいずれかに格納し、前記キューからスケジューラを用いてパケットを出力回線に出力するノード装置において、
入力パケットのヘッダ情報,入力回線の識別子,波長を含む属性情報を用いて格納するキューを決定するフロー識別部と、
前記キューに対する割り当て帯域のスケジューリングに必要な情報を保持するキュー情報管理部と、
前記キューからのパケット出力を制御するスケジューラと、
前記キュー各々に対応して前記キューに収容しているフローの数を推定し、収容するフロー数に応じて対応する前記キューに対して割り当てる帯域を変更する複数のフロー数推定部と
を備え、
前記フロー数推定部は、
過去に到着したフローの履歴を格納する到着フロー履歴記憶部を備え、
自身に入力した全てのパケットの合計帯域を計測し、パケット入力時にこのパケットのフロー識別子を用いて前記履歴を検索することによって前記パケットが属するフローの使用帯域を推定する帯域推定を複数回行って自身で扱う全フローの平均帯域を推定し、自身への全入力パケットの合計帯域と前記平均帯域を用いてフロー数を推定する
ことを特徴とするノード装置。 - 請求項1又は2記載のノード装置において、
前記スケジューラからの出力回線上の余剰帯域を求める余剰帯域計算部と、
この余剰帯域に基づいて割り当て帯域を再計算して前記キュー情報管理部における情報を変更する割り当て帯域計算部と
を新たに備え、
前記フロー数推定部は、前記出力回線上に余剰帯域がある場合は、対応するキューの収容フロー数に応じて前記余剰帯域を各キューに再度割り当てる
ことを特徴とするノード装置。 - 入力したパケットを複数のポリサを用いて廃棄制御を行い、廃棄を行わなかった場合には前記パケットをFIFOキューに格納し、このFIFOキューからパケットを出力回線に出力するノード装置において、
入力パケットのヘッダ情報,入力回線の識別子,波長を含む属性情報を用いて適用するポリサを決定するフロー識別部と、
前記ポリサに対する割り当て帯域を含むポリシングに必要な情報を保持するポリシング 情報管理部と、
入力したパケットを格納するFIFOキューと、
前記ポリサに対応してこのポリサに収容されているフローの数を推定し、収容されているフローの数に応じて各々のポリサに対して割り当てる帯域を変更するフロー数推定部と、
前記出力回線上の余剰帯域を求める余剰帯域計算部と、
この余剰帯域計算部が求めた余剰帯域に基づいて割り当て帯域を再計算する割り当て帯域計算部と
を備え、
前記フロー数推定部は、前記出力回線上に余剰帯域がある場合には前記ポリサの収容フロー数に応じて前記余剰帯域を前記ポリサに再度割り当てる
ことを特徴とするノード装置。 - 請求項4記載のノード装置において、
前記フロー数推定部は、過去に到着したフローの履歴を格納する到着フロー履歴記憶部を備え、パケット入力時に入力パケットのフロー識別子を用いて前記履歴を検索することによってフロー数を推定することを特徴とするノード装置。 - 請求項4記載のノード装置において、
前記フロー数推定部は、
過去に到着したフローの履歴を格納する到着フロー履歴記憶部を備え、
自身に入力した全てのパケットの合計帯域を計測し、パケット入力時にこのパケットのフロー識別子を用いて前記履歴を検索することによって前記パケットが属するフローの使用帯域を推定する帯域推定を複数回行って自身で扱う全フローの平均帯域を推定し、自身への全入力パケットの合計帯域と前記平均帯域を用いてフロー数を推定する
ことを特徴とするノード装置。 - 請求項5または6記載のノード装置において、
前記フロー数推定部は、
過去に到着したフローの履歴を格納する到着フロー履歴記憶部を備え、
この到着フロー履歴記憶部に記憶された履歴の各エントリが、フロー識別子,エントリが登録された時刻、入力パケットによって前記エントリが参照された回数,前記エントリを参照した入力パケットのパケット長合計を含む履歴情報のうちの少なくとも1つを備える
ことを特徴とするノード装置。 - 請求項5または7記載のノード装置において、
前記フロー数推定部が、
過去に到着したフローの履歴をエントリとして格納し、格納されている格納エントリにフロー識別子を登録する到着フロー履歴記憶部と、
入力パケットのフロー識別子と、前記到着フロー履歴記憶部に格納されている中から選んだエントリに登録されているフロー識別子とが一致する一致確率を保存する一致確率保存部と、
前記一致確率から推定フロー数を計算するフロー数計算部と
を備え、
前記フロー数推定部は、パケット入力時に入力パケットのフロー識別子と到着フロー履歴から選んだ選択エントリに登録されているフロー識別子とを比較して一致確率を求め、求めた一致確率の平均を前記一致確率保存部に保存し、前記比較が不一致であれば、ある確率で前記選択エントリに入力パケットのフロー識別子を登録し、
前記フロー数計算部は、前記一致確率から算出した値を推定フロー数とする
ことを特徴とするノード装置。 - 請求項6または7記載のノード装置において、
前記フロー数推定部は、
各エントリにフロー識別子,ヒット数,パケット長合計をエントリとして登録する到着 フロー履歴記憶部と、
全フローの平均レートの推定値である推定平均レートを保存する推定平均レート保存部と、
対応するキューに到着するトラヒックを計測する入力トラヒック計測部と、
前記推定平均レートと前記入力トラヒック計測部が計測した入力トラヒックとからフロー数を計算するフロー数計算部と
を備え、
前記フロー数推定部は、
パケット入力時に、入力した入力パケットのフロー識別子と到着フロー履歴記憶部に登録された中からランダムに選んだ選択エントリに登録されているフロー識別子とを比較し、
この比較が一致した場合には、ヒット回数およびパケット長合計を更新し、
前記比較が不一致である場合は、所定の確率で前記選択エントリに入力パケットのフロー識別子を登録し、ヒット数およびパケット長合計を1および入力パケットのバイト数へと設定し、
前記入力パケットが属するフローが使用している帯域を前記ヒット数およびパケット長合計をもとにして推定して推定帯域を求め、
前記推定帯域をもとに自身に収容されている全フローの平均帯域の推定値を更新し、自身への全パケットの合計帯域と前記平均帯域を用いてフロー数を推定する
ことを特徴とするノード装置。 - 請求項5〜9いずれか1項記載のノード装置において、
到着したフローの履歴を用いてパケット制御を行う廃棄制御部を備え、
この廃棄制御部は、
特定パケットが到着した時に、到着したフローの履歴のヒット数またはパケット長合計が所定の閾値を超えた場合には、前記キュー情報管理部における前記特定パケットの廃棄優先度を高くする
ことを特徴とするノード装置。 - 請求項6,7,および9のいずれか1項に記載のノード装置において、
1本あたりのフローに与えるべき帯域を計算する目標帯域計算部と、
この目標帯域計算部が算出した目標帯域と到着フロー履歴を用いてパケット廃棄の制御を行う廃棄制御部と
を備え、
前記目標帯域計算部は、
出力回線の容量と全フロー数推定部における推定フロー数を用いて目標帯域を計算し、
特定パケットが到着した時に前記特定パケットが属するフローの帯域を計算した際、この計算した帯域が目標帯域を超えた場合には、
前記キュー情報管理部における前記特定パケットの廃棄優先度を高くする
ことを特徴とするノード装置。 - 請求項10または11記載のノード装置において、
パケットのヘッダに廃棄優先度の書き込みを行う廃棄優先度設定部を備え、
到着したフローの履歴におけるヒット数およびパケット長合計がある閾値を超えている場合、または、入力した入力パケットの属するフローの推定帯域が予め設定されている目標帯域を超えている場合において、
対応するキューのキュー長がある閾値を超えていなければ、前記入力パケットの廃棄を行わず、前記キュー情報管理部における前記入力パケットの廃棄優先度を高くし、
前記キュー情報管理部において前記入力パケットが高廃棄率に設定されてあり、かつ前記入力パケットを格納するキューのキュー長が、予め定められた閾値を超えている場合には、前記入力パケットを廃棄する
ことを特徴とするノード装置。 - 請求項5〜9のいずれか1項に記載のノード装置において、
前記キューに到着するフロー数が、前記キューに用意された到着フロー履歴数以下になったことを検出する手段と、
前記キューに到着するフロー数が、前記キューに用意された到着フロー履歴数よりも多くなったことを検出する手段と
を備え、
前記キューに到着するフロー数が、前記キューに用意された到着フロー履歴数以下の場合には、前記到着フロー履歴に登録されているフロー数から推定フロー数を求める
ことを特徴とするノード装置。 - 請求項5〜9いずれか1項に記載のノード装置において、
前記キューに到着するフロー数が、前記キューに用意された到着フロー履歴数以下になったことを検出する手段と、
前記キューに到着するフロー数が、前記キューに用意された到着フロー履歴数よりも多くなったことを検出する手段と
を備え、
前記キューに到着するフロー数が前記キューに用意された到着フロー履歴数以下になった場合には、前記到着フロー履歴を削減し、
前記キューに到着するフロー数が前記キューに用意された到着フロー履歴数よりも多くなった場合には、前記到着フロー履歴を増加する
ことを特徴とするノード装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001146028A JP3755420B2 (ja) | 2001-05-16 | 2001-05-16 | ノード装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001146028A JP3755420B2 (ja) | 2001-05-16 | 2001-05-16 | ノード装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002344500A JP2002344500A (ja) | 2002-11-29 |
JP3755420B2 true JP3755420B2 (ja) | 2006-03-15 |
Family
ID=18991747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001146028A Expired - Fee Related JP3755420B2 (ja) | 2001-05-16 | 2001-05-16 | ノード装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3755420B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7675898B2 (en) | 2003-08-20 | 2010-03-09 | Nec Corporation | Session relay apparatus for relaying data, and a data relaying method |
KR100603584B1 (ko) * | 2004-11-16 | 2006-07-24 | 삼성전자주식회사 | 라우터 및 이를 이용한 패킷의 큐 관리 방법 |
JP4705542B2 (ja) | 2006-09-28 | 2011-06-22 | 富士通株式会社 | ベストエフォート帯域の割り当て方法及び装置 |
JP4998311B2 (ja) * | 2008-02-15 | 2012-08-15 | 富士通株式会社 | ポリサ装置および帯域制御プログラム |
JP5082145B2 (ja) | 2008-09-04 | 2012-11-28 | 日本電気株式会社 | ノード装置およびその帯域制御方法 |
JP6894167B2 (ja) * | 2017-08-08 | 2021-06-23 | 日本電信電話株式会社 | 通信装置及び通信方法 |
WO2021250762A1 (ja) * | 2020-06-08 | 2021-12-16 | 日本電信電話株式会社 | 輻輳制御方法、輻輳制御装置、及び輻輳制御プログラム |
-
2001
- 2001-05-16 JP JP2001146028A patent/JP3755420B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002344500A (ja) | 2002-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2429151C (en) | Congestion management in computer networks | |
US6958998B2 (en) | Traffic management in packet-based networks | |
US6519595B1 (en) | Admission control, queue management, and shaping/scheduling for flows | |
US9106577B2 (en) | Systems and methods for dropping data using a drop profile | |
JP4547341B2 (ja) | 通信品質制御機能を備えるパケット中継装置 | |
JP3435293B2 (ja) | パケットスケジューリング装置及びパケット転送方法 | |
US8064344B2 (en) | Flow-based queuing of network traffic | |
US20030058793A1 (en) | Method and system for congestion avoidance in packet switching devices | |
US20100110889A1 (en) | Policing device | |
US20110019572A1 (en) | Method and apparatus for shared shaping | |
JPH08331154A (ja) | 最大−最小公平割当を行うパケット交換ネットワーク用混雑制御システムおよび方法 | |
JP2002208937A (ja) | フロー制御装置およびノード装置 | |
US6985442B1 (en) | Technique for bandwidth sharing in internet and other router networks without per flow state record keeping | |
EP2491687B1 (en) | Aggregate policing applying max-min fairness for each data source based on probabilistic filtering | |
WO2002003612A2 (en) | Technique for assigning schedule resources to multiple ports in correct proportions | |
JP3755420B2 (ja) | ノード装置 | |
JP3830937B2 (ja) | 高速パケット網のためのパケットスケジューリングシステム及び方法 | |
JP3783628B2 (ja) | 通信システムにおけるノード装置及びその動作制御方法 | |
US7843942B2 (en) | Node and fair rate calculating method | |
JPH10322392A (ja) | パケットネットワークシステム及び通信制御装置 | |
US20070133561A1 (en) | Apparatus and method for performing packet scheduling using adaptation round robin | |
CN116781624A (zh) | 一种下发路由表的方法及相关装置 | |
Ascia et al. | An efficient fuzzy system for traffic management in high-speed packet-switched networks | |
Zhai et al. | Queue Length based Fair Queueing in core-stateless networks | |
AU2002219396A1 (en) | Congestion management in computer networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050301 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050412 |
|
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: 20051129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051212 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100106 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110106 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120106 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130106 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130106 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |