JP2004104417A - Data repeater and repeat data control method, and computer program - Google Patents

Data repeater and repeat data control method, and computer program Download PDF

Info

Publication number
JP2004104417A
JP2004104417A JP2002262883A JP2002262883A JP2004104417A JP 2004104417 A JP2004104417 A JP 2004104417A JP 2002262883 A JP2002262883 A JP 2002262883A JP 2002262883 A JP2002262883 A JP 2002262883A JP 2004104417 A JP2004104417 A JP 2004104417A
Authority
JP
Japan
Prior art keywords
data
queue length
congestion
distribution information
control
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.)
Pending
Application number
JP2002262883A
Other languages
Japanese (ja)
Inventor
Yoshifumi Nishida
西田 佳史
Hideki Takayasu
高安 秀樹
Misako Takayasu
高安 美佐子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002262883A priority Critical patent/JP2004104417A/en
Publication of JP2004104417A publication Critical patent/JP2004104417A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a device and a method which can further efficiently execute data repeat processing in a data repeater. <P>SOLUTION: The data repeater is so constituted that data repeat control further reflecting a data storage state can be realized by acquiring the data storage state of a data storage means as queue length distribution information, and by deciding congestion control processing modes such as packet discard and ECN (explicit congestion notification) bit settings according to the queue length distribution information. The congestion control mechanism is actuated from a state prior to a state that a network becomes in a congestion state. High network utilization efficiency can be maintained even if the traffic is in a congestion state differently from the control on the basis of the averaged queue length such as conventional RED (random early detection) in which processing such as excessive packet discard is executed. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明はデータ中継装置、および中継データ制御方法、並びにコンピュータ・プログラムに関する。さらに詳細には、例えば、IPルータやイーサネットスイッチなど、ネットワーク間でのデータ中継を行なう機器における効率的なデータ中継処理を可能としたデータ中継装置、および中継データ制御方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
ネットワークの広帯域化に伴い、比較的データ量が小さいテキストや静止画などのデータ加えて、動画や音声など大きなデータ量のマルチメデイアデータがネットワーク上に混在して伝送されるようになった。ところが、インターネットなど公衆ネットワークでは、データの種類に係わらずできるだけ高い転送レートでデータを伝送させる、いわゆるベストエフォート(best effort )型のデータ伝送方式が採用されているため、このようなマルチメディアデータを連続して安定に伝送させることが困難である。このような背景の元、近年においては、データ転送率やエラー率などの特性を測定してその改善を図り、前もってこのような特性をユーザごとに保証するQoS (Quality of Service :サービスの質)と呼ばれるアイデアが、特に公衆ネットワークにおける上述の問題を解決するために検討されている。
【0003】
QoSにおいて考慮される特性の1つとして、各コネクション(あるいはユーザ)間の公平性がある。すなわち、それぞれのコネクションが所定のデータ転送率およびエラー率でネットワークを利用する場合、ネットワークの輻輳状態に応じて各コネクションのデータ転送率およびエラー率をなるべく均等に低下させることは、公平性の観点から好ましいことである。
【0004】
TCP(Transmission Control Protocol)の様なパケット喪失やECN(Explicit Congestion Notification)により転送速度を制御する機能を持つトラフィックの流量を制御するために、トラフィックを中継するルータが、輻輳を早期に検出し積極的にパケットを廃棄したり、ECNビットをパケットにセットすることによってトラフィック流量を制御する方法は有効な輻輳制御技術の一つである。この様なルータによるパケット廃棄によるトラフィック制御の手法は、アクティブキューマネジメントと呼ばれ、代表的なものに RED(Random Early Detection)がある。このREDについて、図を参照して説明する。
【0005】
図1は、例えばIPルータ(Internet Protocol Router)など、ネットワークのノードに位置してデータを中継する一般的なデータ中継装置の構成例を示す概略的なブロック図である。
【0006】
図1に示すデータ中継装置は、データ受信部101、データバッファ102、データ送信部103およびバッファ制御部104を有する。
【0007】
データ受信部101は、他のネットワークノードから転送されるデータ、例えばパケットを、パケット転送元のネットワークノードに対応する入力ポートI1〜入力ポートIm(mは任意の自然数を示す)に受信する。また、受信したパケットのコネクションを特定する情報(例えば送信元および送信先のアドレスなど)を検出して、バッファ制御部104に出力する。
【0008】
データバッファ102は、パケットの格納時において、バッファ制御部104により指定されるアドレスにデータ受信部101で受信されたパケットを一時的に記憶する。また、バッファ制御部4により指定されるアドレスに記憶されたパケットをデータ送信部103に出力する。
【0009】
データ送信部103は、パケット転送先のネットワークノードに対応する出力ポートO1〜出力ポートOnのうち、バッファ制御部104により指定される出力ポートから、データバッファ102で読み出されたパケットを送信する。
【0010】
バッファ制御部104は、データ受信部101にパケットが受信された場合に、パケットが記憶されていない空アドレスをデータバッファ102に指定して、受信されたパケットを当該アドレスに記憶させる。また、データバッファ102に蓄積されるパケット数に応じて、受信されたパケットやデータバッファ102に記憶されるパケットの廃棄を行なう。さらに、コネクションごとに所定の頻度でデータバッファ102からパケットを読み出し、パケットの送信先のアドレスに対応する送信部103の出力ポートから当該パケットを送信させる。
【0011】
図2は、REDによるパケットの廃棄および格納処理を説明するための概念的な図である。データ受信部101の入力ポートから入力されるパケットPaは、順次データバッファ102の空アドレスに記憶されるのであるが、ネットワークノードが輻輳状態となって受信レートが送信レートより高くなったまま放置すると、いずれデータバッファ102の空アドレスが枯渇して、受信したパケットを格納することができなくなる。この場合、受信したパケットは廃棄される。
【0012】
上述のようにデータバッファ102が充填状態となって受信したパケットが次々と廃棄される場合であっても、各コネクションの転送レートが常に一定であれば、コネクション間の不公平は生じない。なぜなら、データバッファ102を占める各コネクションのパケット数の割合は、おおむね転送レートの大きさに対応しており、またパケットが廃棄される確率は、その転送レートに比例するからである。すなわち、データバッファ102をより多く占有しているコネクションは、それだけパケットの廃棄確率が高くなる。
【0013】
しかしながら、一般的に、パケットの転送レートが常に一定であるとは限らず、通常は時間とともに変動している。転送レートが変動する場合には、データバッファの使用率(記憶されるパケット数)と廃棄確率が上述のように必ずしも一致しなくなる。例えば、大量のパケットを転送してデータバッファを充填させる原因を作ったコネクションの転送レートが変動して低下した後に、これとは別の低転送レートのコネクションが前者のコネクションよりも高転送レートに変化した場合、この後者のコネクションは、データバッファを充填させる原因をもたらしていないにも係わらず、前者のコネクションより高い確率でパケットが廃棄されてしまう可能性がある。
【0014】
このような不公平を解消するため、REDにおいては、データバッファに記憶可能な最大のパケット数に対する記憶されたパケット数の割合であるバッファ使用率を検出し、これに応じて各コネクションのパケットの廃棄確率が設定される。
【0015】
図3は、REDによるパケットの廃棄および格納処理を説明するためのフローチャートである。データ受信部101にパケットが受信されると、ステップS101においてバッファ使用率Qが下限値Qlow以上か否かが判断される。バッファ使用率Qが下限値Qlowより下回る場合には、パケットの廃棄は行われず、受信されたパケットは、ステップS107においてそのままデータバッファの空き領域に格納され、次のパケットの受信待ち状態となる。
【0016】
バッファ使用率Qが下限値Qlow以上の場合には、次のステップS102において、バッファ使用率Qが上限値Qhigh以下であるか否かが判断される。上限値Qhighを超える場合には、ステップS105においてデータバッファ中に記憶されるパケットから1つのパケットがランダムに選択され、この選択されたパケットがステップS106において削除される。次いで、上述したステップS107に処理が移行され、受信されたパケットがデータバッファの空き領域に格納される。
【0017】
バッファ使用率Qが上限値Qhigh以下である場合には、ステップS103において0から1の間で一様な乱数Drが生成される。次いでこの生成された乱数Drと、バッファ使用率Qに比例して増大するしきい値Dtとの大きさがステップS104において比較される。しきい値Dtは、次式のように表される。
【0018】
【数1】
Dt=Sp×(Q−Qlow)/(Qhigh−Qlow)…(1)
【0019】
ただし、スロープ係数Spは、バッファ使用率Qの変化に対するしきい値Dtの変化の割合を示す所定の定数である。生成される乱数Drがしきい値Dtを超える場合パケットの廃棄は行なわれず、上述したステップS107に処理が移行されてパケットの格納処理が実行される。また、乱数Drがしきい値Dt以下の場合には、上述したステップS105およびステップS106においてデータバッファのパケットがランダムに廃棄される。その後、受信されたパケットがデータバッファの空き領域に格納される。
【0020】
図4は、REDおけるバッファ使用率Qとパケット廃棄確率Pとの関係の一例を示す図である。図4の例において、下限値Qlowは0.2であり、上限値Qhighは0.5であり、スロープ係数Spは0.3である。図4に示すように、バッファ使用率Qが0.2を下回る場合には、パケット廃棄確率Pはゼロとなり、データバッファには転送パケットが蓄積される。バッファ使用率が0.5を超える場合には、パケット廃棄確率が1となり、パケットの受信とともにパケットが廃棄されるので、データバッファに対するパケットの格納が停止される。バッファ使用率が0.2から0.5の間においては、式(1)に示すしきい値Dtと等しい廃棄確率でデータバッファのパケットが廃棄される。
【0021】
このようにREDによれば、データバッファが充填状態になる前に、バッファ使用率Qに応じた廃棄確率Pで、データバッファに記憶されるパケットからランダムに選択されるパケットが破棄される。したがって、各コネクションの廃棄確率Pは、データバッファに記憶されるパケットの数に比例する。
【0022】
【発明が解決しようとする課題】
REDは、ルータの中の平均キュー(待ち行列)長を計測し、平均キュー長が一定値を超える時点から一定の確率でパケットを廃棄したり、もしくはECNビットをセットしていく。ECNビットは、輻輳状態にある場合にデータ転送量の低減をデータ送信者としての端末に委ねるためのビットであり、端末は、輻輳情報を受けると、データ転送速度を認定情報速度としてのCIR(Committed Information Rate)以下に低減する処理を行なう。輻輳が解消され、ECNビットが消去されると、段階的に転送速度を上げていく。
【0023】
上述したように、REDは輻輳の手前の段階からトラフィック制御を行うことにより、トラフィックの流量を制御し、キューの平均長を短く保ちキューイングによるパケットの転送遅延を減少させる。また、ランダムにパケットを廃棄することで、転送性能が劣化することを回避する。
【0024】
しかしながら、REDの輻輳の判断は、キューの平均長に基づいて行われているため、トラフィックの揺らぎに対して適切に対応できない可能性がある。これまでのインターネットトラフィックの研究成果により、インターネットのトラフィック特性は、1/fゆらぎの性質を持つことが報告されている。トラフィックが1/fゆらぎの性質を示す場合に、平均キュー長を用いたアクティブキューマネジメントは有効に機能できない。
【0025】
本発明は、トラフィックが1/fゆらぎの状態でも適切にトラフィックを制御し、ネットワーク全体の性能を向上させることを可能とするデータ中継装置、および中継データ制御方法、並びにコンピュータ・プログラムを提供することを目的とするものであり、具体的には、ルータ中のキュー長の分布状態を計測し、その計測結果からネットワークの状態を判断して、トラフィック制御を行うものである。
【0026】
【課題を解決するための手段】
本発明の第1の側面は、
データ通信装置間で転送されるデータの中継処理を実行するデータ中継装置であり、
中継データを一次格納するデータ蓄積手段と、
前記データ蓄積手段のデータ蓄積状況に応じた処理を決定する制御手段とを有し、
前記制御手段は、
前記データ蓄積手段のデータ蓄積状況をキュー長分布情報として取得し、該取得したキュー長分布情報に応じて輻輳制御処理態様を決定する構成を有することを特徴とするデータ中継装置にある。
【0027】
さらに、本発明のデータ中継装置の一実施態様において、前記制御手段は、前記データ蓄積手段の設定可能な最大キュー長(Qlimit)に対する計測キュー長(Qmeasure)の比率データを複数取得し、該複数の比率データの分布データを前記キュー長分布情報とする構成であることを特徴とする。
【0028】
さらに、本発明のデータ中継装置の一実施態様において、前記制御手段は、前記データ蓄積手段の設定可能な最大キュー長(Qlimit)に対する計測キュー長(Qmeasure)の比率データを複数取得し、該複数の比率データの分布データを前記キュー長分布情報とし、前記複数の比率データに基づいて、計測キュー長(Qmeasure)の分布が最大キュー長(Qlimit)に近い領域に偏っているか否かを判定し、偏りがある場合に輻輳制御をすべき状態であるとの判定を行なう構成を有することを特徴とする。
【0029】
さらに、本発明のデータ中継装置の一実施態様において、前記制御手段は、取得したキュー長分布情報に応じて決定する輻輳制御処理態様として、前記データ蓄積手段に蓄積されたデータパケットの廃棄、またはECNビットの設定処理の少なくともいずれかの処理の実行を決定する構成であることを特徴とする。
【0030】
さらに、本発明のデータ中継装置の一実施態様において、前記制御手段は、取得したキュー長分布情報に応じて決定する輻輳制御処理態様として、前記データ蓄積手段に蓄積されたデータパケットの廃棄率を決定する構成であることを特徴とする。
【0031】
さらに、本発明の第2の側面は、
データ通信装置間で転送されるデータに関する中継データ制御方法であり、
中継データをデータ蓄積手段に格納するデータ格納ステップと、
前記データ蓄積手段のデータ蓄積状況に応じた処理を決定する制御ステップとを有し、
前記制御ステップは、
前記データ蓄積手段のデータ蓄積状況をキュー長分布情報として取得するキュー長分布情報取得ステップと、
取得したキュー長分布情報に応じて輻輳制御処理態様を決定する輻輳制御処理態様決定ステップと、
を含むことを特徴とする中継データ制御方法にある。
【0032】
さらに、本発明のデータ中継制御方法の一実施態様において、キュー長分布情報取得ステップは、前記データ蓄積手段の設定可能な最大キュー長(Qlimit)に対する計測キュー長(Qmeasure)の比率データを複数取得し、該複数の比率データの分布データを前記キュー長分布情報とするステップであることを特徴とする。
【0033】
さらに、本発明のデータ中継制御方法の一実施態様において、前記キュー長分布情報取得ステップは、前記データ蓄積手段の設定可能な最大キュー長(Qlimit)に対する計測キュー長(Qmeasure)の比率データを複数取得し、該複数の比率データの分布データを前記キュー長分布情報とし、前記輻輳制御処理態様決定ステップは、前記複数の比率データに基づいて、計測キュー長(Qmeasure)の分布が最大キュー長(Qlimit)に近い領域に偏っているか否かを判定し、偏りがある場合に輻輳制御をすべき状態であるとの判定を行なうことを特徴とする。
【0034】
さらに、本発明のデータ中継制御方法の一実施態様において、前記輻輳制御処理態様決定ステップは、取得したキュー長分布情報に応じて決定する輻輳制御処理態様として、前記データ蓄積手段に蓄積されたデータパケットの廃棄、またはECNビットの設定処理の少なくともいずれかの処理の実行を決定することを特徴とする。
【0035】
さらに、本発明のデータ中継制御方法の一実施態様において、前記輻輳制御処理態様決定ステップは、取得したキュー長分布情報に応じて決定する輻輳制御処理態様として、前記データ蓄積手段に蓄積されたデータパケットの廃棄率を決定することを特徴とする。
【0036】
さらに、本発明の第3の側面は、
データ通信装置間で転送されるデータに関する中継データ制御処理を実行するコンピュータ・プログラムであり、
中継データをデータ蓄積手段に格納するデータ格納ステップと、
前記データ蓄積手段のデータ蓄積状況に応じた処理を決定する制御ステップとを有し、
前記制御ステップは、
前記データ蓄積手段のデータ蓄積状況をキュー長分布情報として取得するキュー長分布情報取得ステップと、
取得したキュー長分布情報に応じて輻輳制御処理態様を決定する輻輳制御処理態様決定ステップと、
を含むことを特徴とするコンピュータ・プログラムにある。
【0037】
【作用】
本発明の構成によれば、データ蓄積手段のデータ蓄積状況をキュー長分布情報として取得し、取得したキュー長分布情報に応じてパケット廃棄、あるいはECNビット設定等の輻輳制御処理態様を決定する構成としたので、データ蓄積手段のデータ蓄積状況をより反映したデータ中継制御が実行できる。
【0038】
また、本発明の構成によれば、ネットワークが輻輳状態になる以前の状態から、輻輳制御機構が働き、過度なパケット廃棄等の処理が実行されてしまう従来のRED等の平均キュー長に基づく制御と異なり、ネットワークトラフィックが混雑した状況である場合においても、より高いネットワーク利用効率を維持することが可能となる。
【0039】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0040】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0041】
【発明の実施の形態】
以下、本発明のデータ中継装置、および中継データ制御方法の詳細について図面を参照しながら説明する。
【0042】
本発明は、データの送信装置と受信装置の間において、データ中継を行なう例えばルータ等の機器における処理に関する。図5に示すように、PC、PDA等の様々な通信機能を持つデータ送信装置321〜323から、インターネット等のデータ通信網301を介して、PC、PDA等の様々な通信機能を持つデータ受信装置331〜333に対してデータパケットが送信される際、データ中継装置311〜314は、送信パケットの設定アドレスに応じたパケットの経路設定処理(ルーティング)を行なう。
【0043】
本発明に係るデータ中継制御処理は、図5に示すデータ中継装置311〜314において実行される。データ中継装置311〜314に以下に説明するデータ中継(転送)制御アルゴリズムを実装することによりネットワークにおけるトラフィックが1/fゆらぎの状態であっても適切なトラフィック制御を行ない、ネットワーク全体の性能を向上させることを可能とする。
【0044】
本発明に係るデータ中継処理においては、データ中継装置中に中継のタイミングを制御できるキューイング(待ち行列)機構の存在を前提としている。このキュー(待ち行列)の長さの分布状態を計測し、その計測結果からデータ転送の輻輳度合を判断し、輻輳度合に応じた制御を行うことが本発明の特徴である。
【0045】
本発明に係るデータ中継装置の構成について、図6を参照して説明する。図6に示すようにデータ中継装置510は、データ送信装置501〜503からのデータパケットをデータ入出力部530のデータ受信部531において受信し、データバッファとしてのデータ蓄積部(キュー)531に受信パケットを一時的に格納し、格納したパケットを読み出し制御部533において読み出した後、データ送信部534を介してパケットに設定されたアドレスに基づいてデータ受信装置541〜543に向けて出力する。
【0046】
本発明に係るデータ中継制御処理を実行するのは、制御部520である。制御部520は、キュー長分布計測部521と、計測結果判定部522と、輻輳制御部523とを有する。キュー長分布計測部521は、データ蓄積部(キュー)532の状態としてのキュー長分布情報を取得し、計測結果判定部522は、キュー長分布情報に基づいて、輻輳の状態としての輻輳度合いを判定する。データ処理態様決定部522は、計測結果判定部52における輻輳度合いの判定情報に基づいて、データ蓄積部(キュー)532に格納されたデータパケットの処理態様を決定し、読み出し制御部533に対して決定に従った処理コマンドを出力する。データ処理態様決定部522の決定するデータ処理態様は、例えば、
(1)データの通常出力処理
(2)輻輳通知(ECN)ビットの設定処理
(3)データの廃棄処理
である。なお、データの廃棄処理においては、廃棄率の設定等を行なう場合もある。
【0047】
本発明は、基本的にコンピュータネットワークを想定しているが、次のような条件を備える転送制御システム系においては、本発明の成果を応用できる。
(a)転送システムが、転送装置、転送中継装置、受信装置の3つのコンポーネントを持ち、転送中継装置上にキューイング(待ち行列)機構が存在する。
(b)転送装置上に転送中継装置や受信装置からの情報のフィードバックにより、転送速度を制限する機構が存在する。
【0048】
本発明の特徴は、データ中継装置において、中継装置内に構成されたデータ蓄積手段のキュー(待ち行列)の長さの分布状態を計測し、その計測結果からデータ転送の輻輳度合を判断し、輻輳度合に応じた制御を行うことにある。
【0049】
データ中継装置内のキューには、単一のFIFO(First in First Out)型のキューを想定している。すなわち、全ての入力トラフィックは同一のキューに蓄積され、原則としてキュー内の最も古いデータから出力される。
【0050】
トラフィックがデータ中継装置に集中する場合は、キュー内に蓄えられるパケット数は増加しキュー長が長くなり、トラフィックが減少する場合は、キュー内のパケット数も減少しキュー長が短くなる。このような性質から、キュー内におけるパケット数(キュー長)は、輻輳を判断する情報として利用できる。
【0051】
キュー長を利用して輻輳を判断し、制御を行う手法としては、前述したように、RED(Random Early Detection)というキューイング方式がある。REDは、キューの平均長を計測し、その結果よりパケットの廃棄率を変化させる。キュー長の値が大きい場合により大きな廃棄率を適用することによって、REDは輻輳の度合に応じた輻輳制御を実現する。
【0052】
図7に示すように、REDは、中継装置内のキューに格納された平均キュー長について、最小閾値(minth)と、最大閾値(maxth)という2つの閾値を持ち、中継装置内のキューに格納された平均キュー長が最小閾値(minth)以下の場合には中継装置内のキューに格納されたパケット廃棄を行わない。中継装置内のキューに格納された平均キュー長が最小閾値(minth)と、最大閾値(maxth)の間にある場合は、キュー長に応じて線形にパケット廃棄率を決定し、中継装置内のキューに格納された平均キュー長が最大閾値(maxth)を超えた場合には、全てのパケットを廃棄する。
【0053】
典型的な設定では、最小閾値(minth)として、キューの上限限界値の12分の1程度から4分1程度の値が設定され、最大閾値(maxth)はキューの上限限界値の4分の1から2分の1程度の値が設定される。
【0054】
このようにREDは、キューの平均長を用いて輻輳を判断し、輻輳の始まる初期の段階から早い対応を行うことに、その特徴がある。しかしながら、近年のトラフィック解析の研究成果より、広域ネットワークのトラフィックは、平均値を計測するモデルに当てはまりにくい1/fゆらぎの性質を持つことが報告されている。またTCP最大閾値(maxth)ロトコルの転送制御方式に1/fゆらぎの性質のトラフィックを生成する要素が存在するため、単純なネットワーク構成においても1/fゆらぎを観測できるという報告もある。
【0055】
トラフィックが1/fゆらぎの性質を持つ場合、キュー長は heavy tail型に分布するため、データ中継装置内のキューに格納された平均キュー長を用いた輻輳の判断は不正確なものとなる。
【0056】
本発明のデータ中継装置では、中継装置内のキューに格納された平均キュー長のみに基づく制御を実行するのではなく、キュー長の分布状態を計測し、分布状況に応じた制御を行なう。
【0057】
データ中継装置内のキューに格納されたキュー長の分布は、ネットワークに流入するトラフィックが少ない場合、短いキュー長の方に集中する傾向があり、ネットワークが混雑している状態では、長いキュー長の方に集中していく傾向がある。そして、ネットワークの混雑度がネットワークの許容量に近づく時点では、キュー長の分布は、一様分布に近づいていく。本発明では、この様なキュー長の分布の性質を利用して、ネットワークの輻輳状態を判断し、トラフィックの制御を行う。
【0058】
すなわち、データ蓄積部(キュー)532のキュー長が、所定の計測期間において長いキュー長に集中した状態が継続している場合、ネットワークに輻輳が発生しているものと判定してパケット廃棄やECNなどを用いて、トラフィック流量を減少させ輻輳制御を行う。
【0059】
制御部520における具体的な処理としては、まず、キュー長分布計測部521が所定の予め定めた期間において、データ蓄積部(キュー)532のキュー長計測を実行し、計測結果を計測結果判定部522に出力する。
【0060】
計測結果として、例えば、計測期間において、データ蓄積部(キュー)532の設定可能なキュー最大長の90%以上となる度数が全体の度数の60%以上を占めた状態であるとの結果が計測結果判定部522に出力された場合、計測結果判定部522は、ネットワークに輻輳が発生しているものと判定し、計測結果判定部522は、輻輳が発生しているとの判定を輻輳制御部523に出力する。
【0061】
輻輳制御部523は、計測結果判定部522から入力する輻輳判定結果に基づいて、読み出し制御部533に対して処理コマンドを出力し、読み出し制御部533は、入力コマンドに応じて、データ蓄積部(キュー)532に格納されたパケットの廃棄処理、あるいはECNビット設定処理などを実行する。これらの処理に基づいて、トラフィック流量を減少させ輻輳制御を行う。
【0062】
一方、キュー長の度数分布が、短いキュー長に集中している場合はネットワークに輻輳がないものと判断して、パケット廃棄やECN等の輻輳制御を行わず、通常のデータ中継処理、すなわち、データ蓄積部(キュー)532に格納されたパケットを読み出し制御部533が読み出して、データ送信部534を介して宛先に向けて送信する処理を実行する。
【0063】
なお、データ蓄積部(キュー)532に格納されたパケットの廃棄処理を実行するか、あるいはECNビット設定処理を実行するか灯の判定は、計測結果判定部522の判定する輻輳判定結果に基づいて、輻輳制御部523において細かく制御することが可能である。
【0064】
例えば計測結果として取得される長いキュー長への集中度合に応じたパケットの廃棄率を決定して決定した廃棄率に応じたパケット廃棄コマンドを輻輳制御部523から読み出し制御部533に対して出力するすることが可能である。
【0065】
例えば、長いキュー長への集中度合が非常に高い場合には、パケットの廃棄率を高く設定し、トラフィックを早急に緩和し、長いキュー長への集中度合がやや高い場合には、パケットの廃棄率を低く設定した廃棄処理を実行し、長いキュー長への集中度合がそれほど高くないが輻輳状態が発生していると判定した場合には、パケットの廃棄は行なわず、ECNビットのセット処理のみを実行するなど、データ蓄積部(キュー)532のキュー長の分布状況に応じた細かな制御が実行可能となる。これらの操作によって、輻輳の度合に応じた輻輳制御が可能になる。本発明に従った輻輳制御を実行することにより、ネットワークの混雑時において、キュー長の分布が一様分布に近づく様に制御される。
【0066】
キュー長分布計測部521におけるデータ蓄積部(キュー)532のキュー長計測処理について、図8を参照して説明する。キュー長分布計測部521は、予め設定したサンプル数に従って一定時間間隔で、分布計測値をメモリに格納する。例えば、サンプル数を100〜1000程度に設定し、一定間隔で、データ蓄積部(キュー)532のキュー長の計測を実行する。計測頻度は例えば0.1〜1.0秒程度とする。計測キュー長を分布計測のためのメモリに格納する。
【0067】
キュー長のデータ蓄積部(キュー)532における限界値をQlimitとし、計測したキュー長をQmeasureとした場合に、計測キュー長:Qmeasureが、
0<Qmeasure<Qlimit×0.1
の値をとった場合、分布計測値格納用のメモリに設定したDist0の値を1増加させる。
【0068】
同様に、計測キュー長:Qmeasureが、
Qlimit×0.1<Qmeasure<Qlimit×0.2
の値をとった場合、分布計測値格納用のメモリに設定したDist1の値を1増加させる。
【0069】
このように、計測キュー長:Qmeasureが、0〜Qlimit×0.1→Dist0を1増加、Qlimit×0.1〜Qlimit×0.2→Dist1を1増加、Qlimit×0.2〜Qlimit×0.3→Dist2を1増加、・・Qlimit×0.9〜Qlimit×1.0→Dist9を1増加させる処理を行なう。
【0070】
結果として、図8に示すように、計測キュー長:Qmeasureが、最大キュー長:Qlimitに対して10%以下、10〜20%、20〜30%、・・90%以上のいずれの状態にあるかがカウントされることになり、所定のサンプル数、例えば前述したように、100〜1000回の計測処理に基づいて、図8に示す分布データが取得される。
【0071】
もし、キュー長の計測回数がサンプル数を超えている場合は、最も古いキュー長計測データを分布計測用メモリから削除する。この操作を継続することにより、分布計測用メモリには、最新の最大サンプル数の計測結果が格納され、更新されることになる。
【0072】
なお、図8に示す例では、最大キュー長:Qlimitに対して10%以下、10〜20%、20〜30%、・・90%以上の10%間隔で設定して個々のカウント値を取得する構成としたが、設定間隔は必要に応じて任意に設定可能である。
【0073】
上記の手順により、キュー長の分布状態情報を取得し、計測回数がサンプル数を超えた時点から、充分なデータが収集できたものとして、計測結果に基づく輻輳制御を開始する。輻輳が発生しているか否かの判断は、例えばキュー長分布において、キューの最大長の90%以上となる度数が全体の度数の60%以上を占める場合などと設定することが可能である。
【0074】
この判定は、計測結果判定部522が実行することになるが、計測結果判定部522は、分布計測用メモリの格納データを検証し、格納データが、
Dirs9>サンプル数×0.6
を満たしているか否か判定する処理を実行することで輻輳判定を行なう。
【0075】
なお、前述したように、計測結果判定部522における輻輳の度合いの判定は、さらに細かい判定を行なうことも可能であり、例えばキュー長分布において、キューの最大長の90%以上となる度数が全体の度数の80%以上を占める場合には高レベルの輻輳と判定し、キュー長分布において、キューの最大長の90%以上となる度数が全体の度数の60%以上を占める場合には中レベルの輻輳と判定し、キュー長分布において、キューの最大長の90%以上となる度数が全体の度数の40%以上を占める場合には低レベルの輻輳と判定し、輻輳制御部523において、判定結果に従って異なる輻輳制御、例えば廃棄率を変更したパケット廃棄処理、あるいはECNビットの設定処理等を選択的に実行することができる。
【0076】
本発明に従ったデータ中継制御処理における処理手順について、図9に示すフローチャートを参照して説明する。
【0077】
本発明に係るデータ中継装置は、ネットワークを介してデータパケットを受信すると、ステップS201において、データパケットをキュー、すなわち図6に示すデータ入出力部530内のデータ蓄積部(キュー)532に格納する。
【0078】
次にステップS202において、制御部520のキュー長分布計測部521が、データ蓄積部(キュー)532のキュー長計測を実行し、所定のサンプル数の計測処理を実行してその履歴データ、すなわち、例えば先に図8を参照して説明したDist0〜Dist9の分布データを取得する。
【0079】
次にステップS203において、計測結果判定部522が、分布データに基づく分布解析処理を実行する。これは、例えば前述したように、取得データとしてのキュー長分布において、キューの最大長の90%以上となる度数が全体の度数の60%以上を占めるか否か等、計測結果判定部522において予め設定された輻輳判定処理に基づく輻輳判定を実行するものである。
【0080】
フローにおいては、ステップS204に示すように、キュー長分布が長いキュー長に偏りがあるか否かの判定を行なう処理例を示してあるが、この判定処理は、前述したようにキュー長分布の偏り度合いに応じたより細かな判定処理として実行し、輻輳度合いの判定をより細分化して実行する構成としてもよい。
【0081】
ステップS204において、キュー長分布が長いキュー長に偏りがないと判定した場合は、ステップS205に進み、輻輳の発生は無いとして、通常のデータ出力処理を実行する。これは、キュー長分布が、短いキュー長に集中している場合の処理であり、ネットワークに輻輳がないものと判断して、パケット廃棄やECN等の輻輳制御を行わず、通常のデータ中継処理、すなわち、データ蓄積部(キュー)532に格納されたパケットを読み出し制御部533が読み出して、データ送信部534を介して宛先に向けて送信する処理である。
【0082】
一方、ステップS204において、キュー長分布が長いキュー長に偏りがあると判定した場合は、ステップS206に進み、キュー長の分布に基づいた輻輳度合いを推測する。例えば、例えば前述したように、キュー長分布において、キューの最大長の90%以上となる度数が全体の度数の80%以上を占める場合には高レベルの輻輳と判定し、キュー長分布において、キューの最大長の90%以上となる度数が全体の度数の60%以上を占める場合には中レベルの輻輳と判定し、キュー長分布において、キューの最大長の90%以上となる度数が全体の度数の40%以上を占める場合には低レベルの輻輳と判定するなどの態様である。
【0083】
次に、ステップS207に進み、輻輳制御部523において、判定結果に従った異なる輻輳制御、例えば廃棄率を変更したパケット廃棄処理、あるいはECNビット設定処理等の輻輳制御処理態様を決定し、ステップS208において、決定した輻輳制御態様に従った処理、具体的には、決定した廃棄率に従ったパケット廃棄処理、あるいはECNビット設定等の処理を実行する。
【0084】
次に、上述した本発明に係るデータ中継処理のシミュレーション処理およびその結果について説明する。本発明に係るデータ中継処理の実行例として、図10に示す構成を設定した。
【0085】
図10において、4つのノード550〜554を接続するリンクは、それぞれ帯域幅500kbps、伝搬遅延50msecに設定されている。このネットワーク構成において、node−p550をデータ中継装置としてのルータとして設定する。ルータの設定可能な最大キュー長を100パケットに設定する。node−a551、node−b552、node−c553からは、ポアソン分布に従う時間間隔でTCPトラフィックを発生させる。この時、各ノードが生成するTCPトラフィックのコネクション密度を、0.5コネクション/秒、1.0コネクション/秒、1.25コネクション/秒と変化させ、ネットワークの輻輳状態を変化させる。
【0086】
データ中継装置としてのルータとして設定されたnode−p550において、
(a)FIFO(First In First Out)による制御
(b)RED(Random Early Detection)による制御
(c)本発明に従ったキュー長分布測定および測定結果に基づく輻輳制御
の各々を実行した場合の処理結果について説明する。
【0087】
まず、(a)FIFO(First In First Out)による制御の場合、データ中継装置としてのルータとして設定されたnode−p550のデータ蓄積部(キュー)のキュー長分布は、図11に示すような分布となった。
【0088】
データ中継装置としてのルータとして設定されたnode−p550において、FIFO(First In First Out)による制御を実行し、0.1秒間隔で100秒間、キュー長を計測し、100パケットのキュー長を5パケットづつのブロックに分割し、その度数分布をグラフ化したものが図11に示したグラフである。X軸がキュー長、Y軸がカウント値を示している。
【0089】
図11に示す様に、コネクション密度が低くネットワークに輻輳がない場合、すなわちコネクション密度(connection density)=0.5の場合は、右下がりの分布になり、コネクション密度が高くネットワークが輻輳している場合、すなわちコネクション密度(connection density)=1.25の場合は、左下がりの分布を示している。また、コネクション密度がネットワークの帯域をほぼ使いきる程度の密度の場合、すなわちコネクション密度(connection density)=1.0の場合は、キュー長の分布は一様分布に近付く。
【0090】
これは、コネクション密度が低くネットワークに輻輳がない場合、すなわちコネクション密度(connection density)=0.5の場合には、データ中継装置としてのルータとして設定されたnode−p550内のデータ蓄積部のキュー長が短く設定され、余裕がある状態であるが、コネクション密度が高くネットワークが輻輳している場合、すなわちコネクション密度(connection density)=1.25の場合には、データ中継装置としてのルータとして設定されたnode−p550内のデータ蓄積部のキュー長が長くなり、余裕の無い状態となっていることを示すものである。
【0091】
次に、(b)RED(Random Early Detection)による制御の場合、データ中継装置としてのルータとして設定されたnode−p550のデータ蓄積部(キュー)のキュー長分布は、図12に示すような分布となった。
【0092】
データ中継装置としてのルータとして設定されたnode−p550において、RED(Random Early Detection)による制御を実行し、0.1秒間隔で100秒間、キュー長を計測し、100パケットのキュー長を5パケットづつのブロックに分割し、その度数分布をグラフ化したものが図12に示したグラフである。X軸がキュー長、Y軸がカウント値を示している。
【0093】
図12に示す様に、コネクション密度が低くネットワークに輻輳がない場合、すなわちコネクション密度(connection density)=0.5の場合、コネクション密度が高くネットワークが輻輳している場合、すなわちコネクション密度(connection density)=1.25の場合、また、コネクション密度がネットワークの帯域をほぼ使いきる程度の密度の場合、すなわちコネクション密度(connection density)=1.0の場合、いずれにおいても、右下がりの分布を示している。
【0094】
これは、RED(Random Early Detection)による制御の結果、これはネットワークが輻輳状態になる以前の状態から、輻輳制御機構が働いた結果であり、コネクション密度が高くネットワークが輻輳している場合、あるいはコネクション密度がネットワークの帯域をほぼ使いきる程度の密度の場合であっても、データ中継装置としてのルータとして設定されたnode−p550内のデータ蓄積部のキュー長の平均長に基づく過度の輻輳制御、例えばパケット廃棄処理が実行され、この制御により、輻輳の発生は防止されてはいるが、過度のパケット廃棄が実行されることが推測される。
【0095】
次に、(c)本発明に従ったキュー長分布測定および測定結果に基づく輻輳制御による制御の場合、データ中継装置としてのルータとして設定されたnode−p550のデータ蓄積部(キュー)のキュー長分布は、図13に示すような分布となった。
【0096】
データ中継装置としてのルータとして設定されたnode−p550において、本発明に従ったキュー長分布測定および測定結果に基づく輻輳制御を実行し、0.1秒間隔で100秒間、キュー長を計測し、100パケットのキュー長を5パケットづつのブロックに分割し、その度数分布をグラフ化したものが図13に示したグラフである。X軸がキュー長、Y軸がカウント値を示している。
【0097】
図13に示す様に、コネクション密度が低くネットワークに輻輳がない場合、すなわちコネクション密度(connection density)=0.5の場合、右下がりの分布を示しており、データ中継装置としてのルータとして設定されたnode−p550内のデータ蓄積部のキュー長が短く設定され、余裕がある状態を示している。
【0098】
一方、コネクション密度が高くネットワークが輻輳している場合、すなわちコネクション密度(connection density)=1.25の場合、また、コネクション密度がネットワークの帯域をほぼ使いきる程度の密度の場合、すなわちコネクション密度(connection density)=1.0の場合、いずれにおいても、キュー長の分布は、ほぼ一様分布を示している。
【0099】
これは、本発明に従ったキュー長分布測定および測定結果に基づく輻輳制御の結果、データ中継装置としてのルータとして設定されたnode−p550内のデータ蓄積部のキュー長の分布がほぼ一様に保たれた状態、すなわち、キュー長が長い状態が長期間継続したり、あるいはキュー長が短い状態が長期間継続した状態が発生していないことを示し、適切な、キュー長制御が実行されていること、結果としては、過度なパケット廃棄を実行することなく、効率的なデータ中継処理が実行されていることを示すものである。
【0100】
本発明に従ったキュー長分布測定および測定結果に基づく輻輳制御方式の効果の評価を行うために、ネットワークの利用効率を解析した。ネットワークの利用効率の指標として下式を適用した。
【0101】
ネットワークの利用効率=goodput×(goodput/TCPコネクション数)
【0102】
上記式において、goodputは、再送をせずに一回の送信で受信側に到達したパケット数を示している。
【0103】
単純に再送をせずに一回の送信で受信側に到達したパケット数としてのgoodputを指標すると、ネットワークの混雑度が上昇するのに伴って、goodput数が上昇してしまうため、ネットワークの利用効率がピークとなる点を判別しにくい。また、goodput/TCPコネクション数を指標にすると、ネットワークの混雑度が少ない場合は常に最高の効率を示してしまう。このようなことから、両者の値の乗算値としての上記式をネットワークの利用効率を算定するための指標として設定した。
【0104】
図14に、
(a)FIFO(First In First Out)による制御
(b)RED(Random Early Detection)による制御
(c)本発明に従ったキュー長分布測定および測定結果に基づく輻輳制御
の各制御方式に従った制御を実行した場合の、ネットワークの利用効率を上記式に従って算出した結果をグラフ化して示す。
【0105】
図14は、X軸をコネクション密度(コネクション数/秒)とし、Y軸を上記式によって算出したネットワーク利用効率を示している。
【0106】
図14から理解されるように、RED(Random Early Detection)による制御の場合は、コネクション密度が0.8を超えるポイント付近から、ネットワーク利用効率が囲うを始めている。これは、ネットワークが輻輳状態になる以前の状態から、輻輳制御機構が働き、過度なパケット廃棄等の処理が実行されてしまう結果である。
【0107】
本発明に従ったキュー長分布測定および測定結果に基づく輻輳制御では、コネクション密度が0.8を超えても、ネットワーク利用効率は上昇を続け、RED制御のような早期段階での利用効率の発生はなく、コネクション密度の上昇に伴った効率的なデータ中継処理が継続して実行されたことを示している。本発明に従ったキュー長分布測定および測定結果に基づく輻輳制御では、コネクション密度がほぼ0.9を超えるこポイントでピークを発生させて、その後、下降を開始している。この下降は、現実にネットワークトラフィックの増大に伴う輻輳が発生し、輻輳制御が開始された結果である。
【0108】
本発明のキュー長分布測定および測定結果に基づく輻輳制御では、FIFO制御、RED制御より、より高いコネクション密度ポイント(0.8〜0.9)において、高い効率のデータ中継を実現しており、ネットワークトラフィックの混雑度の変化に追従した最適な制御が実行されていることを示している。すなわち、本発明のキュー長分布測定および測定結果に基づく輻輳制御によれば、ネットワークトラフィックの1/fゆらぎの発生に際しても、最適な制御を実行可能となることを示している。
【0109】
最後に、本発明のデータ中継装置の構成例について、図15を参照して説明する。データ中継装置710において、CPU(Central Processing Unit)711は、上述した輻輳制御処理、データ中継処理に係るプログラムを実行する制御手段である。ROM(Read Only Memory)712は、CPU711が使用するプログラムや演算用のパラメータのうちの固定データ等を格納する。上述した処理プログラム等が格納される。RAM(Random Access Memory)713は、CPU711の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。上述したキュー長分布データを格納するメモリ領域として使用可能である。これらはCPUバスなどから構成されるホストバス721により相互に接続されている。
【0110】
ホストバス721は、IOコントローラ714を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス722に接続されている。
【0111】
キーボードI/F719は、CPU711に各種の指令を入力するとき、使用者により操作される。ディスプレイI/F718は、液晶表示装置またはCRT(Cathode Ray Tube)などに対するデータ出力用インタフェースから成り、各種情報をテキストやイメージで表示する。HDD(Hard Disk Drive)715は、ハードディスクを駆動し、CPU711によって実行するプログラムや情報を記録または再生させる。
【0112】
ネットワークインタフェース(1),716、ネットワークインタフェース(2),717は、それぞれデータ送信端末あるいは上位の中継装置としてのルータに接続するインタフェース、およびデータ受信端末または下位の中継装置としてのルータに接続するインタフェースである。図6に示す中継装置の構成におけるデータ受信部531、データ送信部534に相当する。
【0113】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0114】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0115】
例えば、プログラムは記憶媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0116】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記憶媒体にインストールすることができる。
【0117】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0118】
【発明の効果】
以上、説明してきたように、本発明の構成によれば、データ蓄積手段のデータ蓄積状況をキュー長分布情報として取得し、取得したキュー長分布情報に応じてパケット廃棄、あるいはECNビット設定等の輻輳制御処理態様を決定する構成としたので、データ蓄積手段のデータ蓄積状況をより反映したデータ中継制御が実行できる。
【0119】
また、本発明の構成によれば、図14で説明したシミュレーション結果に基づくネットワーク利用効率の結果からも理解されるように、ネットワークが輻輳状態になる以前の状態から、輻輳制御機構が働き、過度なパケット廃棄等の処理が実行されてしまう従来のRED等の平均キュー長に基づく制御と異なり、ネットワークトラフィックが混雑した状況にある場合においても、より高いネットワーク利用効率を維持することが可能となる。
【図面の簡単な説明】
【図1】従来のデータ中継装置の構成を説明するブロック図である。
【図2】従来のデータ中継装置の処理を説明する図である。
【図3】従来のデータ中継装置の処理を説明するフロー図である。
【図4】従来のデータ中継処理の一態様としてのREDに基づく処理について説明する図である。
【図5】本発明のデータ中継装置の適用されるネットワーク構成例について説明する図である。
【図6】本発明のデータ中継装置の構成を説明するブロック図である。
【図7】データ中継処理の一態様としてのREDに基づく処理について説明する図である。
【図8】本発明のデータ中継装置の処理としてのキュー長分布情報取得処理について説明する図である。
【図9】本発明のデータ中継装置の処理手順を説明するフロー図である。
【図10】本発明に係るデータ中継処理のシミュレーション処理を実行するための構成例を示す図である。
【図11】FIFO制御のシミュレーション結果として取得されたキュー長分布を示す図である。
【図12】RED制御のシミュレーション結果として取得されたキュー長分布を示す図である。
【図13】本発明のキュー長分布情報に基づく制御のシミュレーション結果として取得されたキュー長分布を示す図である。
【図14】FIFO制御、RED制御、および本発明に係るキュー長分布情報に基づく制御のシミュレーション結果に基づいて取得したネットワーク利用効率の比較図である。
【図15】本発明のデータ中継装置の構成例を示すブロック図である。
【符号の説明】
101 データ受信部
102 データバッファ
103 データ送信部
104 バッファ制御部
301 データ通信網
311〜314 データ中継装置
321〜323 データ送信装置
331〜333 データ受信装置
501〜503 データ送信装置
510 データ中継装置
520 制御部
521 キュー長分布計測部
522 計測結果判定部
523 輻輳制御部
530 データ入出力部
531 データ受信部
532 データ蓄積部(キュー)
533 読み出し制御部
534 データ送信部
541〜543 データ受信装置
550 ノード(データ中継装置)
551〜553 ノード
710 データ中継装置
711 CPU
712 ROM
713 RAM
714 I/Oコントローラ
715 HDD
716 ネットワークインタフェース
717 ネットワークインタフェース
718 ディスプレイインタフェース
719 キーボードインタフェース
721 ホストバス
722 外部バス
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data relay device, a relay data control method, and a computer program. More specifically, for example, the present invention relates to a data relay device, a relay data control method, and a computer program that enable efficient data relay processing in a device that relays data between networks, such as an IP router and an Ethernet switch.
[0002]
[Prior art]
With the increase in bandwidth of networks, multimedia data having a large data amount such as moving images and audio has been transmitted in a mixed manner on a network in addition to data such as text and still images having a relatively small data amount. However, a public network such as the Internet employs a so-called best effort type data transmission system for transmitting data at a transfer rate as high as possible regardless of the type of data. It is difficult to continuously and stably transmit. Against this background, in recent years, characteristics such as a data transfer rate and an error rate have been measured to improve them, and QoS (Quality of Service: quality of service) for guaranteeing such characteristics for each user in advance. Ideas called for solving the above-mentioned problems, especially in public networks.
[0003]
One of the characteristics considered in QoS is fairness among connections (or users). That is, when each connection uses the network at a predetermined data transfer rate and error rate, reducing the data transfer rate and error rate of each connection as evenly as possible in accordance with the congestion state of the network is from the viewpoint of fairness. Is preferable.
[0004]
In order to control the flow rate of traffic having a function of controlling the transfer speed by packet loss such as TCP (Transmission Control Protocol) or ECN (Explicit Congestion Notification), a router that relays traffic detects congestion early and actively A method of controlling traffic flow by discarding packets or setting ECN bits in packets is one of effective congestion control techniques. Such a method of controlling traffic by discarding packets by a router is called active queue management, and a typical example is RED (Random Early Detection). This RED will be described with reference to the drawings.
[0005]
FIG. 1 is a schematic block diagram showing a configuration example of a general data relay device that relays data at a node of a network such as an IP router (Internet Protocol Router).
[0006]
The data relay device shown in FIG. 1 includes a data receiving unit 101, a data buffer 102, a data transmitting unit 103, and a buffer control unit 104.
[0007]
The data receiving unit 101 receives data transferred from another network node, for example, a packet, at the input ports I1 to Im (m is an arbitrary natural number) corresponding to the packet transfer source network node. In addition, information for identifying the connection of the received packet (for example, the address of the transmission source and the transmission destination) is detected and output to the buffer control unit 104.
[0008]
When storing the packet, the data buffer 102 temporarily stores the packet received by the data receiving unit 101 at the address specified by the buffer control unit 104. Further, it outputs the packet stored at the address specified by the buffer control unit 4 to the data transmission unit 103.
[0009]
The data transmission unit 103 transmits the packet read by the data buffer 102 from the output port designated by the buffer control unit 104 among the output ports O1 to On corresponding to the packet transfer destination network node.
[0010]
When a packet is received by the data receiving unit 101, the buffer control unit 104 specifies an empty address where no packet is stored in the data buffer 102, and stores the received packet at the address. Further, according to the number of packets stored in the data buffer 102, received packets and packets stored in the data buffer 102 are discarded. Further, a packet is read from the data buffer 102 at a predetermined frequency for each connection, and the packet is transmitted from an output port of the transmission unit 103 corresponding to the destination address of the packet.
[0011]
FIG. 2 is a conceptual diagram illustrating a packet discarding and storing process by RED. The packet Pa input from the input port of the data receiving unit 101 is sequentially stored in the empty address of the data buffer 102. However, if the network node becomes congested and the reception rate is left higher than the transmission rate, the network node is left. Eventually, the empty address of the data buffer 102 will be exhausted, and the received packet will not be able to be stored. In this case, the received packet is discarded.
[0012]
As described above, even when the received packets are discarded one after another due to the data buffer 102 being filled, if the transfer rate of each connection is always constant, there is no unfairness between the connections. The reason is that the ratio of the number of packets of each connection occupying the data buffer 102 roughly corresponds to the size of the transfer rate, and the probability that the packet is discarded is proportional to the transfer rate. In other words, a connection occupying more of the data buffer 102 has a higher packet drop probability.
[0013]
However, generally, the transfer rate of a packet is not always constant, and usually fluctuates with time. When the transfer rate fluctuates, the usage rate of the data buffer (the number of stored packets) and the drop probability do not always match as described above. For example, after the transfer rate of the connection that caused the transfer of a large number of packets to fill the data buffer fluctuates and drops, another connection with a lower transfer rate has a higher transfer rate than the former connection. If it does, the latter connection may drop packets with a higher probability than the former connection, even though it does not cause the data buffer to fill.
[0014]
In order to eliminate such unfairness, RED detects a buffer usage rate, which is a ratio of the number of stored packets to the maximum number of packets that can be stored in the data buffer, and responds accordingly to the packet usage rate of each connection. A drop probability is set.
[0015]
FIG. 3 is a flowchart for explaining a packet discarding and storing process by RED. When a packet is received by the data receiving unit 101, it is determined in step S101 whether or not the buffer usage rate Q is equal to or more than a lower limit Qlow. When the buffer usage rate Q is lower than the lower limit value Qlow, the packet is not discarded, and the received packet is stored in the empty area of the data buffer in step S107, and the reception of the next packet is awaited.
[0016]
If the buffer usage rate Q is equal to or higher than the lower limit value Qlow, it is determined in the next step S102 whether or not the buffer usage rate Q is equal to or lower than the upper limit value Qhigh. If it exceeds the upper limit value Qhigh, one packet is randomly selected from the packets stored in the data buffer in step S105, and the selected packet is deleted in step S106. Next, the process proceeds to step S107 described above, and the received packet is stored in a free area of the data buffer.
[0017]
If the buffer usage rate Q is equal to or less than the upper limit value Qhigh, a uniform random number Dr between 0 and 1 is generated in step S103. Next, the magnitude of the generated random number Dr is compared with a threshold value Dt that increases in proportion to the buffer usage rate Q in step S104. The threshold value Dt is represented by the following equation.
[0018]
(Equation 1)
Dt = Sp × (Q−Qlow) / (Qhigh−Qlow) (1)
[0019]
Here, the slope coefficient Sp is a predetermined constant indicating a ratio of a change in the threshold value Dt to a change in the buffer usage rate Q. When the generated random number Dr exceeds the threshold value Dt, the packet is not discarded, and the process proceeds to the above-described step S107, where the packet is stored. If the random number Dr is equal to or smaller than the threshold value Dt, the packets in the data buffer are randomly discarded in steps S105 and S106 described above. Thereafter, the received packet is stored in a free area of the data buffer.
[0020]
FIG. 4 is a diagram illustrating an example of the relationship between the buffer usage rate Q and the packet discard probability P in RED. In the example of FIG. 4, the lower limit value Qlow is 0.2, the upper limit value Qhigh is 0.5, and the slope coefficient Sp is 0.3. As shown in FIG. 4, when the buffer usage rate Q is less than 0.2, the packet discard probability P becomes zero, and transfer packets are accumulated in the data buffer. If the buffer usage rate exceeds 0.5, the packet discard probability becomes 1, and the packet is discarded upon reception of the packet, so that storage of the packet in the data buffer is stopped. When the buffer usage rate is between 0.2 and 0.5, packets in the data buffer are discarded with a discard probability equal to the threshold value Dt shown in equation (1).
[0021]
As described above, according to RED, before the data buffer is filled, a packet selected at random from the packets stored in the data buffer is discarded with a discard probability P according to the buffer usage rate Q. Therefore, the drop probability P of each connection is proportional to the number of packets stored in the data buffer.
[0022]
[Problems to be solved by the invention]
The RED measures an average queue (queue) length in the router, and discards a packet or sets an ECN bit at a certain probability from the time when the average queue length exceeds a certain value. The ECN bit is a bit for entrusting reduction of the data transfer amount to a terminal as a data sender when the terminal is in a congestion state. When the terminal receives the congestion information, the terminal sets the data transfer rate to CIR ( A process for reducing the information to a value below Committed Information Rate is performed. When the congestion is resolved and the ECN bit is erased, the transfer speed is gradually increased.
[0023]
As described above, the RED controls the traffic flow by performing traffic control from a stage before the congestion, thereby keeping the average queue length short and reducing the packet transfer delay due to queuing. Also, by randomly discarding packets, it is possible to prevent the transfer performance from deteriorating.
[0024]
However, since the determination of RED congestion is made based on the average queue length, there is a possibility that traffic fluctuations cannot be properly dealt with. According to the research results of Internet traffic so far, it has been reported that the traffic characteristics of the Internet have 1 / f fluctuation characteristics. If the traffic exhibits a 1 / f fluctuation characteristic, the active queue management using the average queue length cannot function effectively.
[0025]
An object of the present invention is to provide a data relay device, a relay data control method, and a computer program that can appropriately control traffic even when the traffic is in a 1 / f fluctuation state and improve the performance of the entire network. Specifically, the traffic control is performed by measuring the distribution state of the queue length in the router, judging the state of the network from the measurement result.
[0026]
[Means for Solving the Problems]
According to a first aspect of the present invention,
A data relay device that performs a relay process of data transferred between the data communication devices,
Data storage means for temporarily storing relay data,
Control means for determining a process according to the data storage status of the data storage means,
The control means includes:
The data relay device has a configuration in which a data accumulation state of the data accumulation means is acquired as queue length distribution information, and a congestion control processing mode is determined according to the acquired queue length distribution information.
[0027]
Further, in one embodiment of the data relay device of the present invention, the control means acquires a plurality of ratio data of a measurement queue length (Qmeasure) to a settable maximum queue length (Qlimit) of the data storage means, and The distribution data of the ratio data is used as the queue length distribution information.
[0028]
Further, in one embodiment of the data relay device of the present invention, the control means acquires a plurality of ratio data of a measurement queue length (Qmeasure) to a settable maximum queue length (Qlimit) of the data storage means, and Is used as the queue length distribution information, and based on the plurality of ratio data, it is determined whether the distribution of the measured queue length (Qmeasure) is biased toward an area close to the maximum queue length (Qlimit). In addition, there is a configuration in which, when there is a bias, it is determined that it is in a state in which congestion control should be performed.
[0029]
Further, in one embodiment of the data relay device of the present invention, as the congestion control processing mode determined according to the obtained queue length distribution information, the control unit discards the data packet stored in the data storage unit, or The configuration is such that the execution of at least one of the ECN bit setting processes is determined.
[0030]
Further, in one embodiment of the data relay device of the present invention, the control means may determine a discard rate of data packets stored in the data storage means as a congestion control processing mode determined according to the acquired queue length distribution information. It is characterized in that the configuration is determined.
[0031]
Further, a second aspect of the present invention provides
A relay data control method for data transferred between data communication devices,
A data storage step of storing the relay data in the data storage means,
A control step of determining a process according to a data accumulation state of the data accumulation means,
The control step includes:
A queue length distribution information acquisition step of acquiring the data accumulation state of the data accumulation means as queue length distribution information,
Congestion control processing mode determination step to determine the congestion control processing mode according to the obtained queue length distribution information,
And a relay data control method.
[0032]
Further, in one embodiment of the data relay control method of the present invention, the queue length distribution information acquiring step acquires a plurality of ratio data of the measurement queue length (Qmeasure) with respect to the settable maximum queue length (Qlimit) of the data storage means. And a step of using distribution data of the plurality of ratio data as the queue length distribution information.
[0033]
Further, in one embodiment of the data relay control method of the present invention, the step of obtaining the queue length distribution information includes a step of obtaining a plurality of ratio data of a measurement queue length (Qmeasure) to a settable maximum queue length (Qlimit) of the data storage means. Acquiring the distribution data of the plurality of ratio data as the queue length distribution information, and determining the congestion control processing mode based on the plurality of ratio data, wherein the distribution of the measurement queue length (Qmeasure) is the maximum queue length (Qmeasure). It is characterized in that it is determined whether or not there is a bias toward an area close to Qlimit), and if there is a bias, it is determined that congestion control is to be performed.
[0034]
Further, in one embodiment of the data relay control method of the present invention, the congestion control processing mode determining step includes, as a congestion control processing mode determined according to the acquired queue length distribution information, data stored in the data storage unit. It is characterized in that it decides to execute at least one of packet discarding and ECN bit setting processing.
[0035]
Further, in one embodiment of the data relay control method of the present invention, the congestion control processing mode determining step includes, as a congestion control processing mode determined according to the acquired queue length distribution information, data stored in the data storage unit. A packet discard rate is determined.
[0036]
Further, a third aspect of the present invention provides
A computer program for executing a relay data control process for data transferred between data communication devices,
A data storage step of storing the relay data in the data storage means,
A control step of determining a process according to a data accumulation state of the data accumulation means,
The control step includes:
A queue length distribution information acquisition step of acquiring the data accumulation state of the data accumulation means as queue length distribution information,
Congestion control processing mode determination step to determine the congestion control processing mode according to the obtained queue length distribution information,
A computer program characterized by including:
[0037]
[Action]
According to the configuration of the present invention, the data storage status of the data storage unit is acquired as queue length distribution information, and the congestion control processing mode such as packet discarding or ECN bit setting is determined according to the acquired queue length distribution information. As a result, data relay control that reflects the data accumulation status of the data accumulation means can be executed.
[0038]
Further, according to the configuration of the present invention, the control based on the average queue length of the conventional RED or the like in which the congestion control mechanism operates and the processing such as excessive packet discarding is performed from the state before the network enters the congestion state. Unlike this, even when network traffic is congested, higher network use efficiency can be maintained.
[0039]
The computer program of the present invention is provided, for example, in a computer-readable format for a general-purpose computer system capable of executing various program codes, in a storage medium or communication medium such as a CD, FD, or MO. And a computer program that can be provided by a communication medium such as a network. By providing such a program in a computer-readable format, processing according to the program is realized on a computer system.
[0040]
Further objects, features, and advantages of the present invention will become apparent from the following detailed description based on embodiments of the present invention and the accompanying drawings. In this specification, the term “system” refers to a logical set of a plurality of devices, and is not limited to a device having each configuration in the same housing.
[0041]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, details of a data relay device and a relay data control method of the present invention will be described with reference to the drawings.
[0042]
The present invention relates to processing in a device such as a router for relaying data between a data transmitting device and a data receiving device. As shown in FIG. 5, data reception devices 321 to 323 having various communication functions such as PCs and PDAs receive data having various communication functions such as PCs and PDAs via a data communication network 301 such as the Internet. When a data packet is transmitted to the devices 331 to 333, the data relay devices 311 to 314 perform a path setting process (routing) of the packet according to the set address of the transmission packet.
[0043]
The data relay control processing according to the present invention is executed in the data relay devices 311 to 314 shown in FIG. By implementing the data relay (transfer) control algorithm described below in the data relay devices 311 to 314, appropriate traffic control is performed even when the traffic in the network is in a 1 / f fluctuation state, and the performance of the entire network is improved. It is possible to make.
[0044]
The data relay processing according to the present invention is premised on the existence of a queuing (queue) mechanism that can control the timing of relay in the data relay device. The feature of the present invention is to measure the distribution of the length of the queue (queue), determine the degree of data transfer congestion from the measurement result, and perform control according to the degree of congestion.
[0045]
The configuration of the data relay device according to the present invention will be described with reference to FIG. As shown in FIG. 6, the data relay device 510 receives data packets from the data transmission devices 501 to 503 in the data receiving unit 531 of the data input / output unit 530, and receives them in the data storage unit (queue) 531 as a data buffer. The packet is temporarily stored, and the stored packet is read by the read control unit 533, and then output to the data reception devices 541 to 543 via the data transmission unit 534 based on the address set in the packet.
[0046]
It is the control unit 520 that executes the data relay control processing according to the present invention. The control unit 520 includes a queue length distribution measurement unit 521, a measurement result determination unit 522, and a congestion control unit 523. The queue length distribution measurement unit 521 acquires queue length distribution information as the state of the data storage unit (queue) 532, and the measurement result determination unit 522 determines the degree of congestion as the state of congestion based on the queue length distribution information. judge. The data processing mode determination unit 522 determines the processing mode of the data packet stored in the data storage unit (queue) 532 based on the determination information of the degree of congestion in the measurement result determination unit 52, and Output the processing command according to the decision. The data processing mode determined by the data processing mode determination unit 522 is, for example,
(1) Normal data output processing
(2) Congestion notification (ECN) bit setting processing
(3) Data disposal
It is. In the data discarding process, a discard rate may be set in some cases.
[0047]
Although the present invention basically assumes a computer network, the results of the present invention can be applied to a transfer control system system having the following conditions.
(A) The transfer system has three components, a transfer device, a transfer relay device, and a receiving device, and a queuing mechanism exists on the transfer relay device.
(B) There is a mechanism on the transfer device that limits the transfer speed by feedback of information from the transfer relay device or the receiving device.
[0048]
A feature of the present invention is that, in a data relay device, a distribution state of a length of a queue (queue) of a data storage unit configured in the relay device is measured, and a degree of congestion of data transfer is determined from the measurement result. The purpose is to perform control according to the degree of congestion.
[0049]
The queue in the data relay device is assumed to be a single FIFO (First in First Out) type queue. That is, all incoming traffic is stored in the same queue and is output in principle from the oldest data in the queue.
[0050]
When traffic concentrates on the data relay device, the number of packets stored in the queue increases and the queue length increases, and when the traffic decreases, the number of packets in the queue also decreases and the queue length decreases. From such a property, the number of packets (queue length) in the queue can be used as information for determining congestion.
[0051]
As a method for determining and controlling congestion using the queue length, as described above, there is a queuing method called RED (Random Early Detection). RED measures the average queue length, and changes the packet discard rate based on the result. The RED realizes congestion control according to the degree of congestion by applying a larger discard rate when the value of the queue length is large.
[0052]
As shown in FIG. 7, the RED has two threshold values, a minimum threshold value (minth) and a maximum threshold value (maxth), for the average queue length stored in the queue in the relay device, and stores the average queue length in the queue in the relay device. If the obtained average queue length is equal to or smaller than the minimum threshold (minth), the packet stored in the queue in the relay device is not discarded. If the average queue length stored in the queue in the relay device is between the minimum threshold value (minth) and the maximum threshold value (maxth), the packet discard rate is determined linearly according to the queue length, and If the average queue length stored in the queue exceeds the maximum threshold (maxth), all packets are discarded.
[0053]
In a typical setting, a value of about 1/12 to about 1/4 of the upper limit of the queue is set as the minimum threshold (minth), and the maximum threshold (maxth) is set to a quarter of the upper limit of the queue. A value of about one to one half is set.
[0054]
As described above, the RED is characterized in that congestion is determined using the average queue length, and an early response is performed from an early stage of the start of the congestion. However, research results of traffic analysis in recent years have reported that traffic in a wide area network has a 1 / f fluctuation characteristic that is difficult to apply to a model that measures an average value. In addition, there is a report that 1 / f fluctuation can be observed even in a simple network configuration because there is an element for generating traffic of 1 / f fluctuation in the transfer control method of the TCP maximum threshold (maxth) protocol.
[0055]
If the traffic has the property of 1 / f fluctuation, the queue length is distributed in a heavy tail type, so that the judgment of congestion using the average queue length stored in the queue in the data relay device is inaccurate.
[0056]
The data relay device of the present invention does not execute the control based only on the average queue length stored in the queue in the relay device, but measures the distribution state of the queue length and performs control according to the distribution status.
[0057]
The distribution of queue lengths stored in the queues in the data relay device tends to concentrate on shorter queue lengths when traffic flowing into the network is small, and when the network is congested, longer queue lengths are Tend to concentrate on people. When the congestion degree of the network approaches the allowable amount of the network, the distribution of the queue length approaches the uniform distribution. In the present invention, the congestion state of the network is determined by utilizing the nature of the distribution of the queue length, and the traffic is controlled.
[0058]
That is, when the queue length of the data storage unit (queue) 532 continues to be concentrated on a long queue length during a predetermined measurement period, it is determined that congestion has occurred in the network, and packet discarding and ECN are performed. The congestion control is performed by reducing the traffic flow rate using the method described above.
[0059]
As a specific process in the control unit 520, first, the queue length distribution measurement unit 521 executes the queue length measurement of the data storage unit (queue) 532 during a predetermined period, and determines the measurement result as a measurement result determination unit. 522.
[0060]
As a measurement result, for example, the result that the frequency that is 90% or more of the settable maximum queue length of the data storage unit (queue) 532 occupies 60% or more of the total frequency during the measurement period is measured. When output to the result determination unit 522, the measurement result determination unit 522 determines that congestion has occurred in the network, and the measurement result determination unit 522 determines that congestion has occurred in the congestion control unit. 523.
[0061]
The congestion control unit 523 outputs a processing command to the read control unit 533 based on the congestion determination result input from the measurement result determination unit 522, and the read control unit 533 responds to the input command with the data storage unit ( (Queue) 532, or performs an ECN bit setting process. Based on these processes, traffic flow is reduced and congestion control is performed.
[0062]
On the other hand, when the frequency distribution of the queue length is concentrated on a short queue length, it is determined that there is no congestion in the network, and congestion control such as packet discarding or ECN is not performed. The read control unit 533 reads out the packet stored in the data accumulation unit (queue) 532 and executes a process of transmitting the packet to the destination via the data transmission unit 534.
[0063]
Whether the packet stored in the data storage unit (queue) 532 is to be discarded or the ECN bit setting process is performed is determined based on the congestion determination result determined by the measurement result determination unit 522. The congestion control unit 523 can perform fine control.
[0064]
For example, the packet congestion control unit 523 outputs a packet discard command corresponding to the determined discard rate according to the degree of concentration to a long queue length acquired as a measurement result, to the read control unit 533. It is possible to do.
[0065]
For example, if the degree of concentration on a long queue is very high, set the packet drop rate to high, ease the traffic immediately, and if the degree of concentration on a long queue is high, drop the packet. If the discarding process with a low rate is executed and the degree of concentration on the long queue length is not so high, but it is determined that a congestion state has occurred, the packet is not discarded and only the ECN bit setting process is performed. , Etc., it is possible to execute fine control according to the distribution state of the queue length of the data storage unit (queue) 532. These operations enable congestion control according to the degree of congestion. By executing the congestion control according to the present invention, the control is performed so that the distribution of the queue length approaches the uniform distribution at the time of network congestion.
[0066]
The queue length measurement processing of the data accumulation unit (queue) 532 in the queue length distribution measurement unit 521 will be described with reference to FIG. The queue length distribution measuring unit 521 stores the distribution measurement value in the memory at regular time intervals according to a preset number of samples. For example, the number of samples is set to about 100 to 1000, and the queue length of the data storage unit (queue) 532 is measured at regular intervals. The measurement frequency is, for example, about 0.1 to 1.0 seconds. The measurement queue length is stored in the memory for distribution measurement.
[0067]
If the limit value of the queue length in the data storage unit (queue) 532 is Qlimit and the measured queue length is Qmeasure, the measured queue length: Qmeasure
0 <Qmeasure <Qlimit × 0.1
In this case, the value of Dist0 set in the memory for storing distribution measurement values is increased by one.
[0068]
Similarly, the measurement queue length: Qmeasure is
Qlimit × 0.1 <Qmeasure <Qlimit × 0.2
In this case, the value of Dist1 set in the memory for storing distribution measurement values is increased by one.
[0069]
In this way, the measurement queue length: Qmeasure is 0 to Qlimit × 0.1 → Dist0 is increased by 1, Qlimit × 0.1 to Qlimit × 0.2 → Dist1 is increased by 1, and Qlimit × 0.2 to Qlimit × 0. .3 → Increase Dist2 by 1, perform a process of increasing Qlimit × 0.9 to Qlimit × 1.0 → Dist9 by 1.
[0070]
As a result, as shown in FIG. 8, the measurement queue length: Qmeasure is in any state of 10% or less, 10 to 20%, 20 to 30%,... 90% or more with respect to the maximum queue length: Qlimit. Is counted, and the distribution data shown in FIG. 8 is obtained based on a predetermined number of samples, for example, 100 to 1000 measurement processes as described above.
[0071]
If the number of times of measurement of the queue length exceeds the number of samples, the oldest queue length measurement data is deleted from the distribution measurement memory. By continuing this operation, the latest measurement result of the maximum number of samples is stored and updated in the distribution measurement memory.
[0072]
In the example shown in FIG. 8, individual count values are obtained by setting the maximum queue length at 10% intervals of 10% or less, 10-20%, 20-30%,... 90% or more with respect to Qlimit. However, the setting interval can be arbitrarily set as needed.
[0073]
According to the above procedure, the queue length distribution state information is acquired, and congestion control based on the measurement result is started from the time when the number of measurements exceeds the number of samples, assuming that sufficient data has been collected. The determination as to whether or not congestion has occurred can be set, for example, in a case where, in the queue length distribution, the frequency of 90% or more of the maximum queue length accounts for 60% or more of the entire frequency.
[0074]
This determination is performed by the measurement result determination unit 522. The measurement result determination unit 522 verifies the data stored in the distribution measurement memory, and determines that the storage data is
Dirs9> sample number × 0.6
The congestion determination is performed by executing a process of determining whether or not the condition is satisfied.
[0075]
As described above, the determination of the degree of congestion in the measurement result determination unit 522 can be performed in more detail. For example, in the queue length distribution, the frequency at which 90% or more of the maximum queue length is equal to the total If the frequency occupies 80% or more of the frequency, it is determined to be a high-level congestion, and if the frequency that is 90% or more of the maximum queue length occupies 60% or more of the total frequency in the queue length distribution, the medium level is determined. Is determined to be low-level congestion, and when the frequency of 90% or more of the maximum queue length occupies 40% or more of the total frequency in the queue length distribution, it is determined to be low-level congestion. According to the result, it is possible to selectively execute different congestion control, for example, a packet discarding process in which a discarding rate is changed or an ECN bit setting process.
[0076]
The processing procedure in the data relay control processing according to the present invention will be described with reference to the flowchart shown in FIG.
[0077]
Upon receiving the data packet via the network, the data relay device according to the present invention stores the data packet in a queue, that is, a data storage unit (queue) 532 in the data input / output unit 530 shown in FIG. .
[0078]
Next, in step S202, the queue length distribution measurement unit 521 of the control unit 520 executes the queue length measurement of the data accumulation unit (queue) 532, executes a measurement process of a predetermined number of samples, and executes the history data, that is, For example, the distribution data of Dist0 to Dist9 described above with reference to FIG.
[0079]
Next, in step S203, the measurement result determination unit 522 performs a distribution analysis process based on the distribution data. For example, as described above, the measurement result determination unit 522 determines whether the frequency that is 90% or more of the maximum queue length occupies 60% or more of the entire frequency in the queue length distribution as the acquired data. This is to execute a congestion determination based on a preset congestion determination process.
[0080]
In the flow, as shown in step S204, an example of processing for determining whether or not the queue length distribution has a long queue length is shown. However, this determination processing is performed as described above. A configuration may be adopted in which the determination is performed as a finer determination process according to the degree of bias, and the determination of the degree of congestion is performed in more detail.
[0081]
If it is determined in step S204 that the queue length distribution has a long queue length, the process proceeds to step S205, in which it is determined that no congestion has occurred, and normal data output processing is executed. This is a process when the queue length distribution is concentrated on a short queue length. It is determined that there is no congestion in the network, and normal data relay processing is performed without performing congestion control such as packet discard or ECN. That is, this is a process in which the read control unit 533 reads a packet stored in the data storage unit (queue) 532 and transmits the packet to the destination via the data transmission unit 534.
[0082]
On the other hand, if it is determined in step S204 that the queue length distribution has a bias in the long queue length, the process proceeds to step S206, and the congestion degree based on the queue length distribution is estimated. For example, as described above, in the queue length distribution, when the frequency that is 90% or more of the maximum length of the queue occupies 80% or more of the entire frequency, it is determined to be high-level congestion, and in the queue length distribution, If the frequency that is 90% or more of the maximum queue length occupies 60% or more of the total frequency, it is determined that the congestion is at a medium level, and in the queue length distribution, the frequency that is 90% or more of the maximum queue length is the whole. When the frequency occupies 40% or more of the frequency, the low-level congestion is determined.
[0083]
Next, the process proceeds to step S207, where the congestion control unit 523 determines different congestion control according to the determination result, for example, a packet discarding process in which the discard rate is changed, or a congestion control processing mode such as an ECN bit setting process, and the like. , A process according to the determined congestion control mode, specifically, a packet discarding process according to the determined discard rate, or a process such as ECN bit setting is executed.
[0084]
Next, the simulation processing of the data relay processing according to the present invention and the results thereof will be described. The configuration shown in FIG. 10 was set as an execution example of the data relay processing according to the present invention.
[0085]
In FIG. 10, the links connecting the four nodes 550 to 554 are each set to a bandwidth of 500 kbps and a propagation delay of 50 msec. In this network configuration, node-p550 is set as a router as a data relay device. The maximum queue length that can be set by the router is set to 100 packets. From the node-a 551, the node-b 552, and the node-c 553, TCP traffic is generated at time intervals according to a Poisson distribution. At this time, the connection density of the TCP traffic generated by each node is changed to 0.5 connection / second, 1.0 connection / second, and 1.25 connection / second to change the congestion state of the network.
[0086]
In node-p550 set as a router as a data relay device,
(A) Control by FIFO (First In First Out)
(B) RED (Random Early Detection) control
(C) Queue length distribution measurement according to the present invention and congestion control based on the measurement result
The processing result when each of the above is executed will be described.
[0087]
First, (a) in the case of control by FIFO (First In First Out), the queue length distribution of the data storage unit (queue) of the node-p550 set as a router as a data relay device has a distribution as shown in FIG. It became.
[0088]
In the node-p550 set as a router as a data relay device, control by FIFO (First In First Out) is performed, the queue length is measured for 100 seconds at 0.1 second intervals, and the queue length of 100 packets is set to 5 FIG. 11 shows a graph obtained by dividing a packet into blocks and graphing the frequency distribution. The X axis indicates the queue length, and the Y axis indicates the count value.
[0089]
As shown in FIG. 11, when the connection density is low and there is no congestion in the network, that is, when the connection density (connection density) = 0.5, the distribution becomes lower right and the network is congested with a high connection density. In the case, that is, when the connection density is 1.25, the distribution shows a downward-sloping distribution. If the connection density is such that the network bandwidth is almost completely used, that is, if the connection density is 1.0, the queue length distribution approaches a uniform distribution.
[0090]
This is because when the connection density is low and there is no congestion in the network, that is, when the connection density is 0.5, the queue of the data storage unit in the node-p 550 set as a router as a data relay device is set. When the length is set short and there is room, but when the connection density is high and the network is congested, that is, when the connection density (connection density) = 1.25, it is set as a router as a data relay device. This indicates that the queue length of the data storage unit in the designated node-p 550 has become longer and there is no room.
[0091]
Next, in the case of (b) RED (Random Early Detection) control, the queue length distribution of the data accumulation unit (queue) of the node-p 550 set as a router as a data relay device has a distribution as shown in FIG. It became.
[0092]
In the node-p550 set as a router as a data relay device, control by RED (Random Early Detection) is executed, the queue length is measured for 100 seconds at 0.1 second intervals, and the queue length of 100 packets is changed to 5 packets. FIG. 12 is a graph obtained by dividing the frequency distribution into two blocks and graphing the frequency distribution. The X axis indicates the queue length, and the Y axis indicates the count value.
[0093]
As shown in FIG. 12, when the connection density is low and there is no congestion in the network, that is, when the connection density is 0.5, when the connection density is high and the network is congested, that is, when the connection density is low. ) = 1.25, and when the connection density is such that the network bandwidth is almost completely used, that is, when the connection density is 1.0, a downward-sloping distribution is shown. ing.
[0094]
This is the result of the control by RED (Random Early Detection), which is the result of the operation of the congestion control mechanism from the state before the network became congested, when the connection density is high and the network is congested, or Excessive congestion control based on the average queue length of the data storage unit in the node-p 550 set as a router as a data relay device, even if the connection density is such that the network bandwidth is almost completely used up For example, a packet discarding process is executed, and although this control prevents the occurrence of congestion, it is presumed that excessive packet discarding is executed.
[0095]
Next, (c) in the case of the queue length distribution measurement according to the present invention and the control by the congestion control based on the measurement result, the queue length of the data accumulation unit (queue) of the node-p550 set as the router as the data relay device The distribution was as shown in FIG.
[0096]
In the node-p550 set as a router as a data relay device, the queue length distribution measurement according to the present invention and the congestion control based on the measurement result are executed, and the queue length is measured for 100 seconds at 0.1 second intervals, FIG. 13 is a graph in which the queue length of 100 packets is divided into blocks of 5 packets, and the frequency distribution is graphed. The X axis indicates the queue length, and the Y axis indicates the count value.
[0097]
As shown in FIG. 13, when the connection density is low and there is no congestion in the network, that is, when the connection density (connection density) = 0.5, the distribution shows a downward-sloping distribution and is set as a router as a data relay device. In this case, the queue length of the data storage unit in the node-p 550 is set short, indicating that there is room.
[0098]
On the other hand, when the connection density is high and the network is congested, that is, when the connection density is 1.25, or when the connection density is such that the network bandwidth is almost used up, that is, when the connection density ( In the case of connection density = 1.0, the distribution of the queue length shows a substantially uniform distribution in any case.
[0099]
This is because, as a result of the queue length distribution measurement according to the present invention and the congestion control based on the measurement result, the distribution of the queue length of the data storage unit in the node-p 550 set as the router as the data relay device becomes almost uniform. This indicates that the held state, that is, the state where the queue length is long continues for a long time, or the state where the queue length is short continues for a long time does not occur, and appropriate queue length control is executed. This indicates that efficient data relay processing is being executed without excessive packet discarding.
[0100]
In order to measure the queue length distribution according to the present invention and evaluate the effect of the congestion control method based on the measurement result, the network utilization efficiency was analyzed. The following equation was applied as an index of network utilization efficiency.
[0101]
Network utilization efficiency = goodput x (goodput / number of TCP connections)
[0102]
In the above equation, goodput indicates the number of packets that have reached the receiving side in one transmission without retransmission.
[0103]
If goodput is indexed as the number of packets that have arrived at the receiving side in one transmission without being simply retransmitted, the number of goodputs increases with an increase in network congestion. It is difficult to determine the point where the efficiency is at its peak. When the number of goodput / TCP connections is used as an index, the highest efficiency is always shown when the degree of network congestion is small. For this reason, the above equation as a multiplication value of both values is set as an index for calculating network utilization efficiency.
[0104]
In FIG.
(A) Control by FIFO (First In First Out)
(B) RED (Random Early Detection) control
(C) Queue length distribution measurement according to the present invention and congestion control based on the measurement result
In the case where the control according to each of the control methods is executed, the result of calculating the utilization efficiency of the network according to the above equation is shown in a graph.
[0105]
FIG. 14 shows the network utilization efficiency calculated by the above equation, with the X axis as the connection density (connection number / second).
[0106]
As understood from FIG. 14, in the case of the control by RED (Random Early Detection), the network utilization efficiency starts to be surrounded from the vicinity of the point where the connection density exceeds 0.8. This is a result of the congestion control mechanism operating from a state before the network enters the congestion state, and processing such as excessive packet discarding is performed.
[0107]
In the queue length distribution measurement and the congestion control based on the measurement result according to the present invention, even if the connection density exceeds 0.8, the network utilization efficiency continues to increase, and the utilization efficiency occurs at an early stage such as RED control. However, this indicates that efficient data relay processing was continuously executed with an increase in connection density. In the queue length distribution measurement and the congestion control based on the measurement result according to the present invention, a peak is generated at a point where the connection density exceeds approximately 0.9, and thereafter, a descent is started. This drop is a result of congestion actually occurring due to an increase in network traffic and starting congestion control.
[0108]
In the queue length distribution measurement and the congestion control based on the measurement result of the present invention, highly efficient data relay is realized at a higher connection density point (0.8 to 0.9) than the FIFO control and the RED control. This shows that the optimal control following the change in the congestion degree of the network traffic is being executed. That is, according to the congestion control based on the queue length distribution measurement and the measurement result of the present invention, it is shown that optimal control can be executed even when 1 / f fluctuation of network traffic occurs.
[0109]
Finally, a configuration example of the data relay device of the present invention will be described with reference to FIG. In the data relay device 710, a CPU (Central Processing Unit) 711 is a control unit that executes a program related to the congestion control process and the data relay process described above. A ROM (Read Only Memory) 712 stores a program used by the CPU 711, fixed data of calculation parameters, and the like. The processing program described above is stored. A RAM (Random Access Memory) 713 stores a program used in the execution of the CPU 711, parameters that change as appropriate in the execution, and the like. It can be used as a memory area for storing the queue length distribution data described above. These are interconnected by a host bus 721 composed of a CPU bus and the like.
[0110]
The host bus 721 is connected to an external bus 722 such as a PCI (Peripheral Component Interconnect / Interface) bus via the IO controller 714.
[0111]
The keyboard I / F 719 is operated by a user when inputting various commands to the CPU 711. The display I / F 718 includes a data output interface for a liquid crystal display device or a CRT (Cathode Ray Tube), and displays various information as text or images. An HDD (Hard Disk Drive) 715 drives a hard disk and records or reproduces a program or information executed by the CPU 711.
[0112]
The network interfaces (1) and 716 and the network interfaces (2) and 717 are an interface connected to a data transmission terminal or a router as a higher-level relay device, and an interface connected to a data reception terminal or a router as a lower-level relay device, respectively. It is. This corresponds to the data receiving unit 531 and the data transmitting unit 534 in the configuration of the relay device shown in FIG.
[0113]
The present invention has been described in detail with reference to the specific embodiments. However, it is obvious that those skilled in the art can modify or substitute the embodiment without departing from the spirit of the present invention. That is, the present invention has been disclosed by way of example, and should not be construed as limiting. In order to determine the gist of the present invention, the claims described at the beginning should be considered.
[0114]
The series of processes described in the specification can be executed by hardware, software, or a combined configuration of both. When executing the processing by software, the program recording the processing sequence is installed in a memory in a computer embedded in dedicated hardware and executed, or the program is stored in a general-purpose computer capable of executing various processing. It can be installed and run.
[0115]
For example, the program may be recorded in a hard disk or a ROM (Read Only Memory) as a storage medium in advance. Alternatively, the program is temporarily or permanently stored on a removable recording medium such as a flexible disk, a CD-ROM (Compact Disc Only Memory), an MO (Magneto optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, or a semiconductor memory. It can be stored (recorded). Such a removable recording medium can be provided as so-called package software.
[0116]
The program is installed in the computer from the removable recording medium as described above, and is wirelessly transferred from the download site to the computer, or is transferred to the computer by wire via a network such as a LAN (Local Area Network) or the Internet. The computer can receive the program transferred in this way and install it on a storage medium such as a built-in hard disk.
[0117]
The various processes described in the specification may be executed not only in chronological order according to the description but also in parallel or individually according to the processing capability of the device that executes the processes or as necessary.
[0118]
【The invention's effect】
As described above, according to the configuration of the present invention, the data accumulation state of the data accumulation means is acquired as queue length distribution information, and packet discarding or ECN bit setting or the like is performed according to the acquired queue length distribution information. Since the configuration for determining the congestion control processing mode is adopted, data relay control that reflects the data accumulation status of the data accumulation means can be executed.
[0119]
Further, according to the configuration of the present invention, as can be understood from the result of the network utilization efficiency based on the simulation result described with reference to FIG. Unlike the conventional control based on the average queue length such as RED in which processing such as packet discarding is executed, even when network traffic is congested, higher network use efficiency can be maintained. .
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a conventional data relay device.
FIG. 2 is a diagram illustrating processing of a conventional data relay device.
FIG. 3 is a flowchart illustrating processing of a conventional data relay device.
FIG. 4 is a diagram illustrating a process based on RED as one mode of a conventional data relay process.
FIG. 5 is a diagram illustrating an example of a network configuration to which the data relay device of the present invention is applied.
FIG. 6 is a block diagram illustrating a configuration of a data relay device of the present invention.
FIG. 7 is a diagram illustrating a process based on RED as one mode of the data relay process.
FIG. 8 is a diagram illustrating a queue length distribution information acquisition process as a process of the data relay device of the present invention.
FIG. 9 is a flowchart illustrating a processing procedure of the data relay device of the present invention.
FIG. 10 is a diagram showing a configuration example for executing a simulation process of a data relay process according to the present invention.
FIG. 11 is a diagram illustrating a queue length distribution obtained as a simulation result of FIFO control.
FIG. 12 is a diagram illustrating a queue length distribution obtained as a simulation result of RED control.
FIG. 13 is a diagram showing a queue length distribution obtained as a simulation result of control based on queue length distribution information of the present invention.
FIG. 14 is a comparison diagram of network use efficiencies obtained based on simulation results of FIFO control, RED control, and control based on queue length distribution information according to the present invention.
FIG. 15 is a block diagram illustrating a configuration example of a data relay device of the present invention.
[Explanation of symbols]
101 Data receiving unit
102 Data buffer
103 Data transmission unit
104 buffer control unit
301 Data Communication Network
311 to 314 Data relay device
321 to 323 data transmission device
331-333 Data receiving device
501-503 Data transmission device
510 data relay device
520 control unit
521 Queue Length Distribution Measurement Unit
522 Measurement result judgment unit
523 Congestion control unit
530 Data input / output unit
531 Data receiving unit
532 Data storage unit (queue)
533 read control unit
534 Data transmission unit
541 to 543 data receiving device
550 node (data relay device)
551-553 nodes
710 Data relay device
711 CPU
712 ROM
713 RAM
714 I / O controller
715 HDD
716 Network Interface
717 Network Interface
718 display interface
719 Keyboard Interface
721 Host bus
722 External bus

Claims (11)

データ通信装置間で転送されるデータの中継処理を実行するデータ中継装置であり、
中継データを一次格納するデータ蓄積手段と、
前記データ蓄積手段のデータ蓄積状況に応じた処理を決定する制御手段とを有し、
前記制御手段は、
前記データ蓄積手段のデータ蓄積状況をキュー長分布情報として取得し、該取得したキュー長分布情報に応じて輻輳制御処理態様を決定する構成を有することを特徴とするデータ中継装置。
A data relay device that performs a relay process of data transferred between the data communication devices,
Data storage means for temporarily storing relay data,
Control means for determining a process according to the data storage status of the data storage means,
The control means includes:
A data relay device having a configuration in which a data accumulation state of the data accumulation means is acquired as queue length distribution information, and a congestion control processing mode is determined according to the acquired queue length distribution information.
前記制御手段は、
前記データ蓄積手段の設定可能な最大キュー長(Qlimit)に対する計測キュー長(Qmeasure)の比率データを複数取得し、該複数の比率データの分布データを前記キュー長分布情報とする構成であることを特徴とする請求項1に記載のデータ中継装置。
The control means includes:
A plurality of ratio data of a measurement queue length (Qmeasure) with respect to a settable maximum queue length (Qlimit) of the data storage means is obtained, and distribution data of the plurality of ratio data is used as the queue length distribution information. The data relay device according to claim 1, wherein:
前記制御手段は、
前記データ蓄積手段の設定可能な最大キュー長(Qlimit)に対する計測キュー長(Qmeasure)の比率データを複数取得し、該複数の比率データの分布データを前記キュー長分布情報とし、
前記複数の比率データに基づいて、計測キュー長(Qmeasure)の分布が最大キュー長(Qlimit)に近い領域に偏っているか否かを判定し、偏りがある場合に輻輳制御をすべき状態であるとの判定を行なう構成を有することを特徴とする請求項1に記載のデータ中継装置。
The control means includes:
Acquiring a plurality of ratio data of a measurement queue length (Qmeasure) with respect to a settable maximum queue length (Qlimit) of the data storage means, and using distribution data of the plurality of ratio data as the queue length distribution information;
Based on the plurality of ratio data, it is determined whether or not the distribution of the measurement queue length (Qmeasure) is biased toward an area close to the maximum queue length (Qlimit). If there is a bias, congestion control should be performed. 2. The data relay device according to claim 1, wherein the data relay device has a configuration for making a determination.
前記制御手段は、
取得したキュー長分布情報に応じて決定する輻輳制御処理態様として、前記データ蓄積手段に蓄積されたデータパケットの廃棄、またはECNビットの設定処理の少なくともいずれかの処理の実行を決定する構成であることを特徴とする請求項1に記載のデータ中継装置。
The control means includes:
As a congestion control processing mode determined according to the acquired queue length distribution information, the configuration is such that at least one of a discarding of a data packet stored in the data storage unit and an ECN bit setting processing is performed. The data relay device according to claim 1, wherein:
前記制御手段は、
取得したキュー長分布情報に応じて決定する輻輳制御処理態様として、前記データ蓄積手段に蓄積されたデータパケットの廃棄率を決定する構成であることを特徴とする請求項1に記載のデータ中継装置。
The control means includes:
2. The data relay device according to claim 1, wherein the congestion control processing mode determined according to the acquired queue length distribution information is configured to determine a discard rate of data packets stored in the data storage unit. .
データ通信装置間で転送されるデータに関する中継データ制御方法であり、
中継データをデータ蓄積手段に格納するデータ格納ステップと、
前記データ蓄積手段のデータ蓄積状況に応じた処理を決定する制御ステップとを有し、
前記制御ステップは、
前記データ蓄積手段のデータ蓄積状況をキュー長分布情報として取得するキュー長分布情報取得ステップと、
取得したキュー長分布情報に応じて輻輳制御処理態様を決定する輻輳制御処理態様決定ステップと、
を含むことを特徴とする中継データ制御方法。
A relay data control method for data transferred between data communication devices,
A data storage step of storing the relay data in the data storage means,
A control step of determining a process according to a data accumulation state of the data accumulation means,
The control step includes:
A queue length distribution information acquisition step of acquiring the data accumulation state of the data accumulation means as queue length distribution information,
Congestion control processing mode determination step to determine the congestion control processing mode according to the obtained queue length distribution information,
And a relay data control method.
キュー長分布情報取得ステップは、
前記データ蓄積手段の設定可能な最大キュー長(Qlimit)に対する計測キュー長(Qmeasure)の比率データを複数取得し、該複数の比率データの分布データを前記キュー長分布情報とするステップであることを特徴とする請求項6に記載の中継データ制御方法。
The queue length distribution information acquisition step includes:
Acquiring a plurality of ratio data of a measurement queue length (Qmeasure) with respect to a settable maximum queue length (Qlimit) of the data storage means, and using distribution data of the plurality of ratio data as the queue length distribution information. The relay data control method according to claim 6, wherein:
前記キュー長分布情報取得ステップは、
前記データ蓄積手段の設定可能な最大キュー長(Qlimit)に対する計測キュー長(Qmeasure)の比率データを複数取得し、該複数の比率データの分布データを前記キュー長分布情報とし、
前記輻輳制御処理態様決定ステップは、
前記複数の比率データに基づいて、計測キュー長(Qmeasure)の分布が最大キュー長(Qlimit)に近い領域に偏っているか否かを判定し、偏りがある場合に輻輳制御をすべき状態であるとの判定を行なうことを特徴とする請求項6に記載の中継データ制御方法。
The queue length distribution information acquisition step,
Acquiring a plurality of ratio data of a measurement queue length (Qmeasure) with respect to a settable maximum queue length (Qlimit) of the data storage means, and using distribution data of the plurality of ratio data as the queue length distribution information;
The congestion control processing mode determination step,
Based on the plurality of ratio data, it is determined whether or not the distribution of the measurement queue length (Qmeasure) is biased toward an area close to the maximum queue length (Qlimit). If there is a bias, congestion control should be performed. 7. The relay data control method according to claim 6, wherein the determination is made as follows.
前記輻輳制御処理態様決定ステップは、
取得したキュー長分布情報に応じて決定する輻輳制御処理態様として、前記データ蓄積手段に蓄積されたデータパケットの廃棄、またはECNビットの設定処理の少なくともいずれかの処理の実行を決定することを特徴とする請求項6に記載の中継データ制御方法。
The congestion control processing mode determination step,
As a congestion control processing mode determined according to the acquired queue length distribution information, it is determined that discarding of data packets stored in the data storage unit or execution of at least one of ECN bit setting processing is performed. The relay data control method according to claim 6, wherein
前記輻輳制御処理態様決定ステップは、
取得したキュー長分布情報に応じて決定する輻輳制御処理態様として、前記データ蓄積手段に蓄積されたデータパケットの廃棄率を決定することを特徴とする請求項6に記載の中継データ制御方法。
The congestion control processing mode determination step,
7. The relay data control method according to claim 6, wherein as a congestion control processing mode determined according to the acquired queue length distribution information, a discard rate of data packets stored in the data storage unit is determined.
データ通信装置間で転送されるデータに関する中継データ制御処理を実行するコンピュータ・プログラムであり、
中継データをデータ蓄積手段に格納するデータ格納ステップと、
前記データ蓄積手段のデータ蓄積状況に応じた処理を決定する制御ステップとを有し、
前記制御ステップは、
前記データ蓄積手段のデータ蓄積状況をキュー長分布情報として取得するキュー長分布情報取得ステップと、
取得したキュー長分布情報に応じて輻輳制御処理態様を決定する輻輳制御処理態様決定ステップと、
を含むことを特徴とするコンピュータ・プログラム。
A computer program for executing a relay data control process for data transferred between data communication devices,
A data storage step of storing the relay data in the data storage means,
A control step of determining a process according to a data accumulation state of the data accumulation means,
The control step includes:
A queue length distribution information acquisition step of acquiring the data accumulation state of the data accumulation means as queue length distribution information,
Congestion control processing mode determination step to determine the congestion control processing mode according to the obtained queue length distribution information,
A computer program characterized by comprising:
JP2002262883A 2002-09-09 2002-09-09 Data repeater and repeat data control method, and computer program Pending JP2004104417A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002262883A JP2004104417A (en) 2002-09-09 2002-09-09 Data repeater and repeat data control method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002262883A JP2004104417A (en) 2002-09-09 2002-09-09 Data repeater and repeat data control method, and computer program

Publications (1)

Publication Number Publication Date
JP2004104417A true JP2004104417A (en) 2004-04-02

Family

ID=32262806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002262883A Pending JP2004104417A (en) 2002-09-09 2002-09-09 Data repeater and repeat data control method, and computer program

Country Status (1)

Country Link
JP (1) JP2004104417A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8194545B2 (en) 2007-07-27 2012-06-05 Fujitsu Limited Packet processing apparatus
JP2013183338A (en) * 2012-03-02 2013-09-12 Hitachi Cable Ltd Network relay device and packet transfer control method
JP2013183337A (en) * 2012-03-02 2013-09-12 Hitachi Cable Ltd Network relay device and packet transfer control method
JP2013183341A (en) * 2012-03-02 2013-09-12 Hitachi Cable Ltd Network relay device and packet transfer control method
JP2013183339A (en) * 2012-03-02 2013-09-12 Hitachi Cable Ltd Network relay device and packet transfer control method
US8553538B2 (en) 2009-08-25 2013-10-08 Fujitsu Limited Packet relay device and congestion control method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8194545B2 (en) 2007-07-27 2012-06-05 Fujitsu Limited Packet processing apparatus
US8553538B2 (en) 2009-08-25 2013-10-08 Fujitsu Limited Packet relay device and congestion control method
JP2013183338A (en) * 2012-03-02 2013-09-12 Hitachi Cable Ltd Network relay device and packet transfer control method
JP2013183337A (en) * 2012-03-02 2013-09-12 Hitachi Cable Ltd Network relay device and packet transfer control method
JP2013183341A (en) * 2012-03-02 2013-09-12 Hitachi Cable Ltd Network relay device and packet transfer control method
JP2013183339A (en) * 2012-03-02 2013-09-12 Hitachi Cable Ltd Network relay device and packet transfer control method

Similar Documents

Publication Publication Date Title
JP4080911B2 (en) Bandwidth monitoring device
TWI543568B (en) Reducing headroom
RU2316127C2 (en) Spectrally limited controlling packet transmission for controlling overload and setting up calls in packet-based networks
JP5538257B2 (en) Bandwidth monitoring device and packet relay device
JP5048184B2 (en) Transmission rate monitoring apparatus and transmission rate monitoring method
EP2068511A1 (en) Controlling congestion in a packet switched data network
US20150103667A1 (en) Detection of root and victim network congestion
JP2011151601A (en) Packet relay device and packet relay method
WO2002087276A2 (en) Method and device for robust real-time estimation of bottleneck bandwidth
JPH03174848A (en) Delay base rush evading method in computer network and device
JP2002111742A (en) Method for marking packet of data transmission flow and marker device performing this method
US8494539B1 (en) Congestion management in radio access networks
JP2002330165A (en) Congestion control apparatus
JP2004104417A (en) Data repeater and repeat data control method, and computer program
WO2024001763A1 (en) Data transmission processing method and device, storage medium, and electronic device
Wang et al. Refined design of random early detection gateways
WO2005055546A1 (en) Session relay device, session relay method, and session relay program
JP6363357B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP2004056328A (en) Router, dynamic quality control method for router, program, and recording medium
JP2003046555A (en) Band supervisory device
JP2004104192A (en) Buffer overflow detection method and circuit
Yedavalli Using wireless advantage for congestion control in wireless sensor networks
JP4046228B2 (en) Flow control method and frame processing apparatus
JP4249049B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, PROGRAM, AND COMMUNICATION METHOD
JP2001111556A (en) Device and method for avoiding congestion according to red