JP2002344508A - データ中継装置およびその方法 - Google Patents

データ中継装置およびその方法

Info

Publication number
JP2002344508A
JP2002344508A JP2001146890A JP2001146890A JP2002344508A JP 2002344508 A JP2002344508 A JP 2002344508A JP 2001146890 A JP2001146890 A JP 2001146890A JP 2001146890 A JP2001146890 A JP 2001146890A JP 2002344508 A JP2002344508 A JP 2002344508A
Authority
JP
Japan
Prior art keywords
data
address
stored
usage rate
packet
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
JP2001146890A
Other languages
English (en)
Inventor
Hiroshi Miyoshi
寛 三好
Hiroshi Kusogami
宏 久曽神
Hiroshi Kawashima
浩 川島
Toshimasa Araki
俊雅 荒木
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 JP2001146890A priority Critical patent/JP2002344508A/ja
Publication of JP2002344508A publication Critical patent/JP2002344508A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】簡易な構成のハードウェアで実現でき、コネク
ション間のデータ廃棄確率の不公平性を生じにくいデー
タ中継装置とその方法を提供する。 【解決手段】パケットが受信された場合、判定部105
において、パケットの廃棄が可能であるか否かの何れか
が、データバッファ103の使用率に応じた確率で判定
される。パケットが廃棄可能であることが判定された場
合、データ廃棄部106において、データバッファ10
3のアドレスがランダムに生成される。このアドレスに
パケットが記憶されている場合このパケットが廃棄さ
れ、記憶されていない場合には廃棄予約のためのマーク
がこのアドレスに書き込まれる。受信パケットの格納時
に、データ格納部102において格納先のアドレスに廃
棄予約マークが書き込まれているか否かが調べられる。
この廃棄予約マークが書き込まれている場合、この受信
パケットは格納されずにそのまま廃棄される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ中継装置に係
り、例えば、IPルータやイーサネット(登録商標)ス
イッチなど、ネットワーク間でデータを中継するデータ
中継装置に関するものである。
【0002】
【従来の技術】ネットワークの広帯域化に伴い、比較的
データ量が小さいテキストや静止画などのデータ加え
て、動画や音声など大きなデータ量のマルチメデイアデ
ータがネットワーク上に混在して伝送されるようになっ
た。ところが、インターネットなど公衆ネットワークで
は、データの種類に係わらずできるだけ高い転送レート
でデータを伝送させる、いわゆるベストエフォート(be
st effort)型のデータ伝送方式が採用されているた
め、このようなマルチメディアデータを連続して安定に
伝送させることが困難である。このような背景の元、近
年においては、データ転送率やエラー率などの特性を測
定してその改善を図り、前もってこのような特性をユー
ザごとに保証するQoS(Quality of Service:サービ
スの質)と呼ばれるアイデアが、特に公衆ネットワーク
における上述の問題を解決するために検討されている。
【0003】QoSにおいて考慮される特性の1つとし
て、各コネクション(あるいはユーザ)間の公平性があ
る。すなわち、それぞれのコネクションが所定のデータ
転送率およびエラー率でネットワークを利用する場合、
ネットワークの輻輳状態に応じて各コネクションのデー
タ転送率およびエラー率をなるべく均等に低下させるこ
とは、公平性の観点から好ましいことである。この公平
性を保障する技術の1つとして、RED(Random Early
Discard あるいはRandom Early Detection)と呼ばれ
るパケットの廃棄に関する技術が知られている。以下、
このREDについて、図28〜図32を参照して説明す
る。
【0004】図28は、例えばIPルータ(Internet P
rotocol Router)など、ネットワークのノードに位置し
てデータを中継する一般的なデータ中継装置の構成例を
示す概略的なブロック図である。図28に示すデータ中
継装置は、データ受信部1、データバッファ2、データ
送信部3およびバッファ制御部4を有する。
【0005】データ受信部1は、他のネットワークノー
ドから転送されるデータ、例えばパケットを、パケット
転送元のネットワークノードに対応する入力ポートI1
〜入力ポートIm(mは任意の自然数を示す)に受信す
る。また、受信したパケットのコネクションを特定する
情報(例えば送信元および送信先のアドレスなど)を検
出して、バッファ制御部4に出力する。
【0006】データバッファ2は、パケットの格納時に
おいて、バッファ制御部4により指定されるアドレスに
データ受信部1で受信されたパケットを一時的に記憶す
る。また、バッファ制御部4により指定されるアドレス
に記憶されたパケットをデータ送信部3に出力する。
【0007】データ送信部3は、パケット転送先のネッ
トワークノードに対応する出力ポートO1〜出力ポート
Onのうち、バッファ制御部4により指定される出力ポ
ートから、データバッファ2で読み出されたパケットを
送信する。
【0008】バッファ制御部4は、データ受信部1にパ
ケットが受信された場合に、パケットが記憶されていな
い空アドレスをデータバッファ2に指定して、受信され
たパケットを当該アドレスに記憶させる。また、データ
バッファ2に蓄積されるパケット数に応じて、受信され
たパケットやデータバッファ2に記憶されるパケットの
廃棄を行なう。さらに、コネクションごとに所定の頻度
でデータバッファ2からパケットを読み出し、パケット
の送信先のアドレスに対応する送信部3の出力ポートか
ら当該パケットを送信させる。
【0009】図29は、REDによるパケットの廃棄お
よび格納処理を説明するための概念的な図である。デー
タ受信部1の入力ポートから入力されるパケットPa
は、順次データバッファ2の空アドレスに記憶されるの
であるが、ネットワークノードが輻輳状態となって受信
レートが送信レートより高くなったまま放置すると、い
ずれデータバッファ2の空アドレスが枯渇して、受信し
たパケットを格納することができなくなる。この場合、
受信したパケットは廃棄される。
【0010】上述のようにデータバッファ2が充填状態
となって受信したパケットが次々と廃棄される場合であ
っても、各コネクションの転送レートが常に一定であれ
ば、コネクション間の不公平は生じない。なぜなら、デ
ータバッファ2を占める各コネクションのパケット数の
割合は、おおむね転送レートの大きさに対応しており、
またパケットが廃棄される確率は、その転送レートに比
例するからである。すなわち、データバッファ2をより
多く占有しているコネクションは、それだけパケットの
廃棄確率が高くなる。
【0011】しかしながら、一般的に、パケットの転送
レートが常に一定であるとは限らず、通常は時間ととも
に変動している。転送レートが変動する場合には、デー
タバッファの使用率(記憶されるパケット数)と廃棄確
率が上述のように必ずしも一致しなくなる。例えば、大
量のパケットを転送してデータバッファを充填させる原
因を作ったコネクションの転送レートが変動して低下し
た後に、これとは別の低転送レートのコネクションが前
者のコネクションよりも高転送レートに変化した場合、
この後者のコネクションは、データバッファを充填させ
る原因をもたらしていないにも係わらず、前者のコネク
ションより高い確率でパケットが廃棄されてしまう可能
性がある。
【0012】このような不公平を解消するため、RED
においては、データバッファに記憶可能な最大のパケッ
ト数に対する記憶されたパケット数の割合であるバッフ
ァ使用率を検出し、これに応じて各コネクションのパケ
ットの廃棄確率が設定される。図30は、REDによる
パケットの廃棄および格納処理を説明するためのフロー
チャートである。データ受信部1にパケットが受信され
ると、ステップST1においてバッファ使用率Qが下限
値Qlow以上か否かが判断される。バッファ使用率Q
が下限値Qlowより下回る場合には、パケットの廃棄
は行われず、受信されたパケットはそのままデータバッ
ファの空き領域に格納され、次のパケットの受信待ち状
態となる。
【0013】バッファ使用率Qが下限値Qlow以上の
場合には、次のステップST2において、バッファ使用
率Qが上限値Qhigh以下であるか否かが判断され
る。上限値Qhighを超える場合には、ステップST
5においてデータバッファ中に記憶されるパケットから
1つのパケットがランダムに選択され、この選択された
パケットがステップST6において削除される。次い
で、上述したステップST7に処理が移行され、受信さ
れたパケットがデータバッファの空き領域に格納され
る。
【0014】バッファ使用率Qが上限値Qhigh以下
である場合には、ステップST3において0から1の間
で一様な乱数Drが生成される。次いでこの生成された
乱数Drと、バッファ使用率Qに比例して増大するしき
い値Dtとの大きさがステップST4において比較され
る。しきい値Dtは、次式のように表される。
【0015】
【数1】 Dt=Sp×(Q−Qlow)/(Qhigh−Qlow) …(1)
【0016】ただし、スロープ係数Spは、バッファ使
用率Qの変化に対するしきい値Dtの変化の割合を示す
所定の定数である。生成される乱数Drがしきい値Dt
を超える場合パケットの廃棄は行なわれず、上述したス
テップST7に処理が移行されてパケットの格納処理が
実行される。また、乱数Drがしきい値Dt以下の場合
には、上述したステップST5およびステップST6に
おいてデータバッファのパケットがランダムに廃棄され
る。その後、受信されたパケットがデータバッファの空
き領域に格納される。
【0017】図31は、REDおけるバッファ使用率Q
とパケット廃棄確率Pとの関係の一例を示す図である。
図31の例において、下限値Qlowは0.2であり、
上限値Qhighは0.5であり、スロープ係数Spは
0.3である。図31に示すように、バッファ使用率Q
が0.2を下回る場合には、パケット廃棄確率Pはゼロ
となり、データバッファには転送パケットが蓄積され
る。バッファ使用率が0.5を超える場合には、パケッ
ト廃棄確率が1となり、パケットの受信とともにパケッ
トが廃棄されるので、データバッファに対するパケット
の格納が停止される。バッファ使用率が0.2から0.
5の間においては、式(1)に示すしきい値Dtと等しい
廃棄確率でデータバッファのパケットが廃棄される。
【0018】このようにREDによれば、データバッフ
ァが充填状態になる前に、バッファ使用率Qに応じた廃
棄確率Pで、データバッファに記憶されるパケットから
ランダムに選択されるパケットが破棄される。したがっ
て、各コネクションの廃棄確率Pは、データバッファに
記憶されるパケットの数に比例する。
【0019】
【発明が解決しようとする課題】ところで、一般的なI
Pルータなどのデータ中継装置においては、ランダムに
受信されるパケットを、受信された順番で順次送信する
ための待ち行列(queue:キュー)がコネクションごと
に用意される。このキューは、単純にはFIFO(firs
t-in first-out)型のメモリをコネクションごとに設け
ることによって実現可能である。しかし、キューにFI
FOを用いる場合、コネクション数の増大に比例してコ
ストが高くなる問題がある。したがって、通常は、共通
のメモリ上に各コネクションのキューが構成される。
【0020】この場合、一般的には、受信パケットが記
憶されるデータバッファ上のアドレスを順に並べたキュ
ーがデータバッファ上や他のメモリ上に構成される。こ
のキューから順にアドレスが読み出され、読み出された
アドレスに記憶されるパケットがデータバッファから順
次読み出されて送信される。
【0021】このように、データバッファ上に記憶され
るパケットは、通常、送信の順番を待つキューに含まれ
るデータである。一方、上述のように、REDではこの
データバッファに記憶されるパケットの中からランダム
に選択したパケットを廃棄する必要がある。すなわち、
REDの処理を実現するためには、キューに含まれるパ
ケットからランダムに1つのパケットを選択して廃棄す
る必要がある。
【0022】しかしながら、キューがFIFO型メモリ
で構成される場合、メモリに記憶される任意のパケット
を選択して廃棄することは通常困難である。また、キュ
ーが通常のメモリ上に構成される場合にも、順番に並ぶ
各パケットは前後のパケットと関連付けられてメモリに
記憶されるので、このキューから任意のパケットを選択
して廃棄するためにはこの関連付けを変更しなくてはな
らず、処理が複雑化してしまう。
【0023】そこで、従来においては、図30のフロー
チャートに示すREDを簡略化させた方法によって、パ
ケットの廃棄および格納処理が行なわれている。図32
は、従来のデータ中継装置におけるパケットの廃棄およ
び格納処理を説明するためのフローチャートである。図
32のステップST8〜ステップST11は、それぞれ
図30のステップST1〜ステップST4と同じ処理で
あり、図30のREDと図32の簡略化されたREDと
では、パケットの廃棄が判定された場合において廃棄さ
れるパケットの選択方法が異なっている。すなわち、図
30のREDにおいては、ステップST4においてパケ
ットの廃棄が判定された場合に、ステップST5および
ステップST6においてデータバッファ内に記憶される
パケットからランダムに選択されたパケットが廃棄され
る。一方、図32の簡略化されたREDにおいては、ス
テップST11においてパケットの廃棄が判定された場
合に、ステップST12において受信されたパケットが
そのまま廃棄される。
【0024】このように、図32の簡略化されたRED
では受信されたパケットがそのまま廃棄されるので、図
30に示す本来のREDに比べて処理が簡単であり、ハ
ードウェアで容易に処理を実現できる利点がある。ま
た、この簡略化されたREDは、転送レートの高いコネ
クションほどパケット廃棄確率が高くなる特性を有して
おり、各コネクションの転送レートの変動が比較的小さ
い場合やデータバッファの記憶容量が比較的小さい場合
には、転送レートの大きさとデータバッファの使用率と
が比例し易いので、比較的公平にデータバッファを各コ
ネクション間で共有できる。
【0025】しかしながら、図32の簡略化されたRE
Dは、廃棄されるパケットがバッファ使用率とは原理的
に無関係に選択される。このため、各コネクションの転
送レートが変動する場合やデータバッファの記憶容量が
大きい場合など、バッファ使用率とパケット廃棄確率と
が比例しない不公平な状態が発生し易くなる問題があ
る。
【0026】上述のように、図30に示す本来のRED
の処理をハードウェアで忠実に実現させる場合、特にデ
ータバッファからランダムにパケットを選択して廃棄す
ることが困難である。したがって、この処理を実現させ
る場合には、従来は主としてソフトウェアにより実現さ
れている。しかしながら、ソフトウェアによる処理は専
用のハードウェアによる処理と比べて処理速度が遅い割
にコストが高いという問題がある。すなわち、ソフトウ
ェアによる処理は、コストに対する性能の度合いがハー
ドウェアよりも低いため、特に処理速度を向上させるた
めにCPU(central processing unit)を高速化させ
たり、また専用のCPUを設けたりする場合に、コスト
を大幅に増大させてしまう問題がある。
【0027】本発明はかかる事情に鑑みてなされたもの
であり、その目的は、簡易な構成のハードウェアで実現
でき、コネクション間のデータ廃棄確率の不公平性を生
じにくいデータ中継装置を提供することにある。また本
発明の他の目的は、簡易な処理で実現でき、コネクショ
ン間のデータ廃棄確率の不公平性を生じにくいデータ中
継方法を提供することにある。
【0028】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の第1の観点に係るデータ中継装置は、転送
されるデータを記憶可能なデータ記憶手段と、上記転送
データの受信に応じて、上記転送データを記憶可能な上
記データ記憶手段の全体の記憶容量のうち上記転送デー
タの記憶に使用された記憶容量の使用率が所定の上限使
用率を上回る場合に、上記データ記憶手段に記憶される
転送データの廃棄が可能であることを判定し、上記使用
率が上記上限使用率から所定の下限使用率までの範囲に
含まれる場合に、上記廃棄が可能であるか否かの何れか
を、上記使用率に応じた確率で判定する判定手段と、上
記判定手段において上記廃棄が可能であることが判定さ
れた場合、上記転送データを記憶可能なデータ記憶手段
のアドレスをランダムに生成し、生成したアドレスに上
記転送データが記憶されていない場合、当該アドレスに
マークデータを格納し、記憶されている場合、当該アド
レスの転送データを上記データ記憶手段から廃棄するデ
ータ廃棄手段と、上記データ記憶手段において上記転送
データが記憶されていない空アドレスを検索し、検索し
た空アドレスに上記マークデータが記憶されている場
合、受信した転送データおよび当該マークデータを廃棄
し、記憶されていない場合、受信した転送データを当該
空アドレスに格納するデータ格納手段と、上記データ記
憶手段に記憶される転送データを読み出し、読み出した
転送データをそれぞれ所定の送信先へ送信するデータ送
信手段とを有する。
【0029】本発明の第1の観点にかかるデータ中継装
置によれば、上記判定手段において、上記転送データの
受信に応じて、上記使用率が所定の上限使用率を上回る
場合に、上記データ記憶手段に記憶される転送データの
廃棄が可能であることが判定される。上記使用率が上記
上限使用率から所定の下限使用率までの範囲に含まれる
場合には、上記廃棄が可能であるか否かの何れかが、上
記使用率に応じた確率で判定される。上記判定手段にお
いて上記廃棄が可能であることが判定された場合、上記
データ廃棄手段において、上記転送データを記憶可能な
データ記憶手段のアドレスがランダムに生成される。生
成されたアドレスに上記転送データが記憶されていない
場合、当該アドレスにマークデータが格納され、記憶さ
れている場合には、当該アドレスの転送データが上記デ
ータ記憶手段から廃棄される。また上記データ格納手段
により、上記データ記憶手段において上記転送データが
記憶されていない空アドレスが検索され、検索された空
アドレスに上記マークデータが記憶されている場合、受
信された転送データおよび当該マークデータが廃棄さ
れ、記憶されていない場合、受信された転送データが当
該空アドレスに格納される。上記データ送信手段によ
り、上記データ記憶手段に記憶される転送データが読み
出され、読み出された転送データがそれぞれ所定の送信
先へ送信される。
【0030】好適には、上記判定手段は、上記使用率が
上記上限使用率から所定の下限使用率までの範囲に含ま
れる場合に、上記上限使用率と上記下限使用率との差に
対する上記使用率と上記下限使用率との差の割合に応じ
た確率で、上記廃棄が可能であるか否かの何れかを判定
する。
【0031】また、上記判定手段は、上記使用率が上記
上限使用率から上記下限使用率までの範囲に含まれる場
合、所定の値の範囲内で一様な乱数を生成し、生成した
乱数と上記割合との比較結果に応じて上記廃棄が可能で
あるか否かを判定しても良い。
【0032】また、上記データ廃棄手段は、上記生成し
たアドレスに上記転送データおよび上記マークデータが
記憶されていない場合、所定の初期値を有する計数デー
タを含んだ上記マークデータを当該アドレスに格納し、
当該アドレスに上記マークデータが記憶されている場
合、当該マークデータに含まれる上記計数データの値に
所定の増分を加算しても良い。上記データ格納手段は、
上記検索した空アドレスに上記マークデータが記憶され
ている場合において、当該マークデータに含まれる上記
計数データが上記初期値を有する場合、受信した転送デ
ータおよび当該マークデータを廃棄し、上記初期値を有
さない場合、受信した転送データを破棄し、当該計数デ
ータの値から上記増分を減算したマークデータを当該空
アドレスに格納しても良い。
【0033】また、受信される転送データに含まれる情
報に基づいて、当該転送データのコネクションを検出す
るコネクション検出手段を有しても良い。この場合、上
記データ格納手段は、上記転送データとともに、当該転
送データの上記検出されたコネクションを指定する指定
データを上記データ記憶手段に格納しても良い。上記デ
ータ廃棄手段は、上記生成したアドレスに転送データが
記憶されている場合、当該アドレスに記憶される上記指
定データに指定されるコネクションと同一のコネクショ
ンに属する転送データを、上記データ記憶手段から廃棄
しても良い。具体的には、上記データ記憶手段において
転送データが記憶されていない空アドレスを記憶する空
アドレス記憶手段と、受信した転送データが記憶される
上記データ記憶手段のアドレスを、上記コネクションご
とに順次記憶する複数の送信待ちアドレス記憶手段とを
有しても良い。この場合、上記データ格納手段は、上記
空アドレス記憶手段に記憶される上記空アドレスを入力
し、上記データ記憶手段の当該空アドレスに上記マーク
データが記憶されている場合、受信した転送データおよ
び当該マークデータを廃棄し、記憶されていない場合、
受信した転送データおよび上記指定データを当該空アド
レスに格納し、当該空アドレスを、上記空アドレス記憶
手段から廃棄し、上記指定データが指定するコネクショ
ンに対応する送信待ちアドレス記憶手段に格納しても良
い。上記データ廃棄手段は、上記生成したアドレスに上
記転送データが記憶されている場合、当該アドレスに記
憶される上記指定データを上記データ記憶手段から読み
出し、当該読み出した指定データが指定するコネクショ
ンに対応する上記送信待ちアドレス記憶手段に記憶され
た少なくとも1つのアドレスを廃棄し、当該廃棄したア
ドレスを上記空アドレス記憶手段に格納しても良い。さ
らに、上記データ送信手段は、上記コネクションごとに
所定の頻度で上記送信待ちアドレス記憶手段を選択し、
当該選択した送信待ちアドレス記憶手段のアドレスを記
憶された順に読み出し、当該読み出したアドレスに記憶
される上記データ記憶手段の転送データを読み出して送
信し、当該読み出したアドレスを、読み出し元の送信待
ちアドレス記憶手段から廃棄し、上記空アドレス記憶手
段に格納しても良い。
【0034】本発明の第2の観点にかかるデータ中継方
法は、転送されるデータを受信するデータ受信ステップ
と、上記データ受信ステップにおいて上記転送データが
受信された場合において、上記転送データを記憶可能な
データ記憶手段の全体の記憶容量のうち上記転送データ
の記憶に使用された記憶容量の使用率が所定の上限使用
率を上回る場合に、上記データ記憶手段に記憶される転
送データの廃棄が可能であることを判定し、上記使用率
が上記上限使用率から所定の下限使用率までの範囲に含
まれる場合に、上記廃棄が可能であるか否かの何れか
を、上記使用率に応じた確率で判定する判定ステップ
と、上記判定ステップにおいて上記廃棄が可能であるこ
とが判定された場合において、上記転送データを記憶可
能なデータ記憶手段のアドレスをランダムに生成し、生
成したアドレスに上記転送データが記憶されていない場
合、当該アドレスにマークデータを格納し、記憶されて
いる場合、当該アドレスの転送データを上記データ記憶
手段から廃棄するデータ廃棄ステップと、上記データ記
憶手段において上記転送データが記憶されていない空ア
ドレスを検索し、検索した空アドレスに上記マークデー
タが記憶されている場合、受信した転送データおよび当
該マークデータを廃棄し、記憶されていない場合、受信
した転送データを当該空アドレスに格納するデータ格納
ステップと、上記データ記憶手段に記憶される転送デー
タを読み出し、読み出した転送データをそれぞれ所定の
送信先へ送信するデータ送信ステップとを有する。
【0035】本発明の第2の観点にかかるデータ中継方
法によれば、上記データ受信ステップにおいてデータが
受信されると、上記判定ステップにおいて、上記使用率
が所定の上限使用率を上回る場合に、上記データ記憶手
段に記憶される転送データの廃棄が可能であることが判
定される。上記使用率が上記上限使用率から所定の下限
使用率までの範囲に含まれる場合には、上記廃棄が可能
であるか否かの何れかが、上記使用率に応じた確率で判
定される。上記判定ステップにおいて上記廃棄が可能で
あることが判定された場合、上記データ廃棄ステップに
おいて、上記転送データを記憶可能なデータ記憶手段の
アドレスがランダムに生成され、生成されたアドレスに
上記転送データが記憶されていない場合、当該アドレス
にマークデータが格納される。記憶されている場合に
は、当該アドレスの転送データが上記データ記憶手段か
ら廃棄される。また上記データ格納ステップでは、上記
データ記憶手段において上記転送データが記憶されてい
ない空アドレスが検索され、検索された空アドレスに上
記マークデータが記憶されている場合、受信した転送デ
ータおよび当該マークデータが廃棄される。記憶されて
いない場合には、受信した転送データが当該空アドレス
に格納される。上記データ送信ステップでは、上記デー
タ記憶手段に記憶される転送データが読み出され、読み
出された転送データがそれぞれ所定の送信先へ送信され
る。
【0036】好適には、上記判定ステップは、上記使用
率が上記上限使用率から所定の下限使用率までの範囲に
含まれる場合に、上記上限使用率と上記下限使用率との
差に対する上記使用率と上記下限使用率との差の割合に
応じた確率で、上記廃棄が可能であるか否かの何れかを
判定する。
【0037】また、上記判定ステップは、上記使用率が
上記上限使用率から上記下限使用率までの範囲に含まれ
る場合、所定の値の範囲内で一様な乱数を生成し、生成
した乱数と上記割合との比較結果に応じて上記廃棄が可
能であるか否かを判定しても良い。
【0038】また、上記データ廃棄ステップは、上記生
成したアドレスに上記転送データおよび上記マークデー
タが記憶されていない場合、所定の初期値を有する計数
データを含んだ上記マークデータを当該アドレスに格納
し、当該アドレスに上記マークデータが記憶されている
場合、当該マークデータに含まれる上記計数データの値
に所定の増分を加算しても良い。この場合、上記データ
格納ステップは、上記検索した空アドレスに上記マーク
データが記憶されている場合において、当該マークデー
タに含まれる上記計数データが上記初期値を有する場
合、受信した転送データおよび当該マークデータを廃棄
し、上記初期値を有さない場合、受信した転送データを
破棄し、当該計数データの値から上記増分を減算したマ
ークデータを当該空アドレスに格納しても良い。
【0039】また、受信される転送データに含まれる情
報に基づいて、当該転送データのコネクションを検出す
るコネクション検出ステップを有しても良い。この場
合、上記データ格納ステップは、上記転送データととも
に、当該転送データの上記検出されたコネクションを指
定する指定データを上記データ記憶手段に格納し、上記
データ廃棄ステップは、上記生成したアドレスに転送デ
ータが記憶されている場合、当該アドレスに記憶される
上記指定データに指定されるコネクションと同一のコネ
クションに属する転送データを、上記データ記憶手段か
ら廃棄しても良い。具体的には、上記データ格納ステッ
プは、上記データ記憶手段において転送データが記憶さ
れていない空アドレスを記憶する空アドレス記憶手段か
ら、上記空アドレスを入力するステップと、上記入力し
た空アドレスに上記マークデータが記憶されている場
合、受信した転送データおよび当該マークデータを廃棄
し、記憶されていない場合、受信した転送データおよび
上記指定データを当該空アドレスに格納し、当該空アド
レスを、上記空アドレス記憶手段から廃棄し、上記指定
データが指定するコネクションに対応する送信待ちアド
レス記憶手段に順次格納するステップとを含んでも良
い。上記データ廃棄ステップは、上記生成したアドレス
に上記転送データが記憶されている場合、当該アドレス
に記憶される上記指定データを上記データ記憶手段から
読み出し、当該読み出した指定データが指定するコネク
ションに対応する上記送信待ちアドレス記憶手段に記憶
された少なくとも1つのアドレスを廃棄するステップ
と、当該廃棄したアドレスを上記空アドレス記憶手段に
格納するステップとを含んでも良い。さらに、上記デー
タ送信ステップは、上記コネクションごとに所定の頻度
で上記送信待ちアドレス記憶手段を選択するステップ
と、当該選択した送信待ちアドレス記憶手段のアドレス
を記憶された順に読み出すステップと、当該読み出した
アドレスに記憶される上記データ記憶手段の転送データ
を読み出して送信するステップと、当該読み出したアド
レスを、読み出し元の送信待ちアドレス記憶手段から廃
棄し、上記空アドレス記憶手段に格納するステップとを
含んでも良い。
【0040】
【発明の実施の形態】<第1の実施形態>本発明の第1
の実施形態について、図1〜図6を参照して説明する。
図1は、本発明の第1の実施形態に係るデータ中継装置
の構成例を示す概略的なブロック図である。図1に示す
データ中継装置は、データ受信部101と、データ格納
部102とデータバッファ103と、データ送信部10
4と、判定部105と、データ廃棄部106とを有す
る。
【0041】データ受信部101は、他のネットワーク
ノードから転送されるデータ、例えばパケットを、パケ
ット転送元のネットワークノードに対応する入力ポート
I1〜入力ポートIm(mは任意の自然数を示す)に受
信するともに、パケットの受信を判定部105に通知す
る。
【0042】データ格納部102は、データバッファ1
03においてパケットが記憶されていない空アドレスを
検索し、検索された空アドレスに所定のマークデータが
記憶されているか否かを調べる。マークデータは、後述
するデータ廃棄部106において生成されるデータであ
る。このマークデータが記憶されている場合には、デー
タ受信部101で受信されたパケットをデータバッファ
103に格納せずにそのまま廃棄するとともに、このマ
ークデータをデータバッファ103から廃棄する。マー
クデータが記憶されていない場合には、受信されたパケ
ットをこの空アドレスに格納する。
【0043】データバッファ103の空アドレスは、例
えば、パケットの格納・送信・廃棄の度に更新される空
アドレスのリスト(フリーリストとも呼ばれる)を設け
て、このフリーリストを参照することにより検索され
る。
【0044】データバッファ103は、データ受信部1
01において受信されるパケットをデータ格納部102
によって指定されるアドレスに記憶する。また、データ
送信部104によって指定されるアドレスに記憶された
パケットを読み出して、データ送信部104に出力す
る。さらに、データ廃棄部106によって指定されるア
ドレスのパケットを廃棄する。
【0045】データ送信部104は、データバッファ1
03に記憶されるパケットを読み出し、出力ポートO1
〜出力ポートOnのうち、パケットの送信先に応じて選
択した出力ポートにこのパケットを送信する。例えば、
データバッファ103に記憶されるパケットのアドレス
がデータバッファに格納された順番で並べられたキュー
を図示しないメモリ上に設けて、このキューから順番に
アドレスを読み出し、このアドレスに記憶されるパケッ
トをデータバッファ103から読み出して送信しても良
い。また、このキューをパケットのコネクションや、パ
ケットが入力された入力ポート、パケットが出力される
出力ポートごとに設け、それぞれのキューごとに所定の
頻度でパケットを読み出して送信しても良い。
【0046】判定部105は、データ受信部101によ
るパケット受信の通知に応じて、データバッファ103
に記憶されるパケットが廃棄可能か否かを、データバッ
ファ103のバッファ使用率Qに応じて判定するブロッ
クである。バッファ使用率Qが上限値Qhighを上回
る場合、パケットが廃棄可能であることを判定する。バ
ッファ使用率Qが上限値Qhighから下限値Qlow
までの範囲に含まれる場合には、バッファ使用率Qに応
じて設定される確率で、パケットが廃棄可能か否かを判
定する。バッファ使用率Qが下限値Qlowを下回る場
合には、パケットが廃棄不可であることを判定する。
【0047】なおバッファ使用率Qは、例えばデータ格
納部102によるパケットの格納に応じてインクリメン
トされ、データ送信部104による送信やデータ廃棄部
106による廃棄に応じてデクリメントされるカウンタ
を設けて、このカウンタの計数値より求められるデータ
バッファ103の記憶パケット数Nによって検出しても
良い。この場合、データバッファ103の記憶容量が一
定であれば、バッファ使用率Qはこの記憶パケット数N
に比例するので、上限値Qhigh、下限値Qlowに
対応する上限パケット数Nhigh、下限パケット数N
lowをそれぞれ設定し、この上限および下限のパケッ
ト数と全体の記憶パケット数Nとを比較して、上述と同
様な判定を行なっても良い。
【0048】また、バッファ使用率Qが上限値Qhig
hから下限値Qlowまでの範囲に含まれる場合におい
て、例えば所定の値の範囲で一様な乱数Drを生成し、
バッファ使用率Qに応じて設定されるしきい値Dtとこ
の乱数Drとの大小比較に基づいて、パケットが廃棄可
能か否かを判定しても良い。これにより、しきい値Dt
に応じた確率で、パケットが廃棄可能か否かが判定され
る。この場合のしきい値Dtとしては、例えば式(1)
に示すような値を設定しても良い。
【0049】データ廃棄部106は、判定部105にお
いてパケットが廃棄可能であることが判定された場合
に、パケットを記憶可能なデータバッファ103のアド
レスをランダムに生成し、生成したアドレスに記憶され
ているパケットをデータバッファ103から廃棄する。
また、生成したアドレスにパケットが記憶されていない
場合には、このアドレスにマークデータを書き込む。こ
のマークデータは、アドレス生成時に廃棄できなかった
パケットの廃棄予約を行なうためのデータであり、マー
クデータの書き込み後、データ格納部102においてこ
のマークデータが書き込まれたアドレスが空アドレスと
して検索された場合に、パケットの廃棄が実行される。
【0050】パケットの廃棄は、例えば、廃棄済みであ
ることを示すデータをこの生成したアドレスに記憶され
るパケットに上書きし、上述したフリーリストにこの生
成したアドレスを追加することによって処理しても良
い。この場合、データ格納部202によるパケットの格
納処理において、このランダム生成されたアドレスはパ
ケットの格納対象のアドレスになる。またデータ送信部
204によるデータ処理においては、データバッファ1
03から上書きされた廃棄済みデータが読み出された場
合、この廃棄済みデータに対する送信処理がスキップさ
れ、廃棄済みデータがデータバッファ103から消去さ
れる。
【0051】図2は、上述した構成を有する図1のデー
タ中継装置におけるパケットの廃棄および格納処理を説
明するための図である。図2aに示すように、データ廃
棄部106によってパケットが廃棄される場合、ランダ
ム生成されたアドレスにパケットが記憶されている場合
には、このパケット(図2aにおけるパケットPA1)
がデータバッファ103から廃棄される。また、ランダ
ム生成されたアドレスにパケットが記憶されていない場
合には、このアドレスにマークデータMが書き込まれ
る。
【0052】また図2bに示すように、データバッファ
格納部102によってパケットが格納される場合、格納
先の空アドレスにマークデータが記憶されていない場合
には、この空アドレスに受信パケット(図2bにおける
パケットPA2)が記憶される。格納先の空アドレスに
マークデータが記憶されている場合には、受信パケット
(図2bにおけるパケットPA3)が廃棄されるととも
に、空アドレスに記憶されたマークデータが廃棄され
る。
【0053】図3は、図1に示すデータ中継装置による
パケットの廃棄および格納処理を説明するための第1の
フローチャートである。データ受信部101にパケット
が受信されると、ステップST100において、データ
バッファ103のバッファ使用率Qが下限値Qlow以
上であるか否かが判定される。下限値Qlowを下回る
場合には、ステップST101〜ステップST107に
おけるパケットの廃棄処理がスキップされ、ステップS
T108に処理が移行される。
【0054】バッファ使用率Qが下限値Qlow以上で
ある場合には、次にステップST101において、バッ
ファ使用率Qが上限値Qhigh以下であるか否かが判
定される。上限値Qhighを超える場合には、パケッ
トが廃棄可能であることが判定され、ステップST10
4に処理が移行される。
【0055】バッファ使用率Qが上限値Qhigh以下
である場合には、次にステップST102において乱数
Drが生成され、この乱数Drと、バッファ使用率Qに
応じた値を有するしきい値Dtとの大小関係がステップ
ST103において判定される。乱数Drがしきい値D
tよりも大きい場合には、ステップST108に処理が
移行される。また、乱数Drがしきい値Dtよりも小さ
い場合には、パケットが廃棄可能であることが判定され
て、ステップST104に処理が移行する。
【0056】ステップST104において、パケットを
記憶可能なデータバッファ103のアドレスがランダム
に生成される。次いでステップST105において、こ
の生成されたアドレスにパケットがあるか否かが判定さ
れ、ない場合にはステップST107においてこの生成
されたアドレスにマークデータが書き込まれる。また、
生成されたアドレスにパケットがある場合には、ステッ
プST106においてこのパケットが廃棄された後、ス
テップST108に処理が移行される。
【0057】ステップST108においては、受信され
たパケットを格納するための空アドレスが検索される。
次いでステップST109において、この検索された空
アドレスにマークデータが書き込まれているか否かが判
定され、書きこまれている場合には、ステップST11
0において受信されたパケットおよびマークデータが廃
棄される。検索された空アドレスにマークデータが書き
込まれていない場合には、この空アドレスに受信された
パケットが格納される。
【0058】なお、図3に示すフローチャートでは、ス
テップST100〜ステップST107におけるパケッ
トの廃棄処理が行なわれた後に、ステップST108〜
ステップST111におけるパケットの格納処理が行な
われているが、パケットの廃棄処理と格納処理はそれぞ
れ独立に行なっても良い。したがって、例えば図4に示
すフローチャートのように、受信されたパケットの格納
後に廃棄処理を行なっても良い。図4は、図1に示すデ
ータ中継装置によるパケットの廃棄および格納処理を説
明するための第2のフローチャートであり、図3と図4
の同一符号のステップは同一の処理を行なう。図4のフ
ローチャートにおいては、図3においてパケットの廃棄
を行なうステップST106の後に実行されていたパケ
ットの格納処理ST108〜ST111がパケットの受
信後に実行されている。また、ステップST110また
はステップST111の後にステップST101〜ステ
ップST107の処理が実行されている。したがって、
受信されたパケットがデータバッファ103に格納され
る場合には、このパケットもステップST101〜ステ
ップST107の処理における廃棄の対象となる。
【0059】ところで、ステップST104において
は、パケットが記憶可能なデータバッファ103の全て
のアドレスからランダムに1つのアドレスが生成される
ので、マークデータが書き込まれたアドレスが生成され
る場合も当然あり得る。この場合、1つのアドレスに対
して多重に廃棄予約が要求されることになる。1つのア
ドレスに対して廃棄予約を1回だけ行い、それ以上の廃
棄予約を行なわない場合には、例えばステップST10
7において、マークデータが書き込まれたアドレスに同
じマークデータを何度も上書きさせれば良い。
【0060】また、1つのアドレスに対して多重に廃棄
予約を行なう場合には、例えば、ステップST107の
マーク書き込み処理、およびステップST110の受信
パケット廃棄処理において、多重度の上限を定めた上
で、それぞれ図5および図6のフローチャートに示す処
理を実行させれば良い。
【0061】図5は、同一のアドレスにマークを複数回
書き込む場合のマーク書き込み処理を説明するためのフ
ローチャートである。まずステップST201におい
て、ランダム生成されたアドレスにマークデータが書き
込まれているか否かが判断される。書き込まれていない
場合には、ステップST204において、このアドレス
にマークデータが書き込まれる。ただし、マークデータ
には廃棄予約の回数を示す計数データが含まれており、
この計数データの値は所定の初期値を有している。ラン
ダム生成されたアドレスにマークデータが書き込まれて
いる場合には、ステップST202において、このマー
クデータに含まれる計数データの値が所定の増分だけイ
ンクリメントされる。次いでステップST203におい
て、この計数データをインクリメントされたマークデー
タが、ランダム生成されたアドレスに書き込まれる。
【0062】図6は、同一のアドレスにマークを複数回
書き込む場合の受信パケット廃棄処理を説明するための
フローチャートである。まずステップST301におい
て、マークデータに含まれる計数データの値が初期値で
あるか否かが判断される。初期値でない場合には、ステ
ップST302において受信パケットが廃棄されるとと
もに、ステップST303において、この計数データの
値がデクリメントされ、ステップST203による1回
分のインクリメント値が計数データから減算される。計
数データの値が初期値である場合には、受信パケットが
廃棄されるとともに、このマークデータがデータバッフ
ァ103から廃棄される。
【0063】要求された廃棄予約を行なわない場合、本
来廃棄されるべきパケットが廃棄されないことになるの
で、パケットの廃棄確率は要求される値よりも小さくな
る。したがって、例えば上述した方法により同一のアド
レスに対して複数回の廃棄予約を行なうことによって、
パケットの廃棄確率を本来要求される値に近づけること
ができる。
【0064】以上説明したように、図1に示すデータ中
継装置によれば、データ受信部101においてパケット
が受信された場合、判定部105において、データバッ
ファ103のバッファ使用率Qが上限値Qhighを上
回るか否かが判断され、この上限値Qihghを上回る
場合に、パケットの廃棄が可能であることが判定され
る。また、バッファ使用率Qが上限値Qhighと下限
値Qlowとの間に含まれることが判断された場合に
は、バッファ使用率Qに応じた確率で、パケットの廃棄
が可能であるか否かの何れかが判定される。例えば、所
定の値の範囲で一様な乱数Drが生成され、この乱数D
rと式(1)に示すようなしきい値Dtとの大小比較の
結果に基づいてパケットの廃棄が可能であるか否かが判
定される。判定部105においてパケットが廃棄可能で
あることが判定された場合には、データ廃棄部106に
おいて、データバッファ103にアクセスするアドレス
がランダムに生成され、生成されたアドレスにパケット
が記憶されている場合、このアドレスの記憶されたパケ
ットがデータバッファ103から廃棄される。また、ラ
ンダム生成されたアドレスにパケットが記憶されていな
い場合には、このアドレスに廃棄予約を行なうためのマ
ークデータが書き込まれる。受信パケットの格納時に
は、データ格納部102においてデータバッファ103
の空アドレスが検索され、検索された空アドレスにマー
クデータが書きこまれている場合には、受信されたパケ
ットおよびこのマークデータが廃棄され、書き込まれて
いない場合には、受信されたパケットがこの空アドレス
に格納される。データバッファ103に記憶されるパケ
ットの送信時には、データ送信部104によってデータ
バッファ103の記憶パケットが読み出され、この読み
出されたパケットがそれぞれのパケットの送信先に応じ
た出力ポートから送信される。したがって、ハードウェ
アによって容易に実現可能な構成でありながら、図32
のフローチャートに示す簡略化されたREDのようにバ
ッファ使用率と無関係にパケットの廃棄率が決定される
従来のデータ中継装置に比べてコネクション間の不公平
性を改善できる。これにより、従来のデータ中継装置に
比べて公平な通信サービスを提供することができる。ま
た、本来のREDをソフトウェアによって実現するデー
タ中継装置に比べて安価に実現可能である。
【0065】<第2の実施形態>次に、本発明の第2の
実施形態について説明する。第2の実施形態において
は、第1の実施形態におけるパケットの格納処理や廃棄
処理、送信処理のより具体的な実施形態が示される。
【0066】図7は、本発明の第2の実施形態に係るデ
ータ中継装置の構成例を示す概略的なブロック図であ
る。図7に示すデータ中継装置は、データ受信部20
1、データ格納部202、データバッファ203、デー
タ送信部204、判定部205、データ廃棄部206、
空アドレス記憶部207、および送信待ちアドレス記憶
部208を有する。
【0067】データ受信部201は、他のネットワーク
ノードから転送されるデータ、例えばパケットを、パケ
ット転送元のネットワークノードに対応する入力ポート
I1〜入力ポートIm(mは任意の自然数を示す)に受
信するともに、パケットの受信を判定部205に通知す
る。
【0068】また、受信したパケットに含まれる情報、
例えばIPデータグラムにおけるヘッダ情報などを抽出
し、抽出したヘッダ情報に含まれる送信元と送信先のア
ドレスなどに基づいて、受信されたパケットのコネクシ
ョンを検出する。そして、検出されたコネクションを指
定するための指定データを生成し、受信パケットおよび
指定データをデータ格納部202に出力する。
【0069】データ格納部202は、データバッファ2
03においてパケットが記憶されていない空アドレスを
検索し、検索された空アドレスに所定のマークデータが
記憶されているか否かを調べる。このマークデータが記
憶されている場合には、データ受信部201で受信され
たパケットをデータバッファ203に格納せずにそのま
ま廃棄するとともに、このマークデータをデータバッフ
ァ203から廃棄する。マークデータが記憶されていな
い場合には、受信されたパケットとこれに対応する上述
した指定データをこの空アドレスに格納する。
【0070】なお、データバッファ203の空アドレス
は、空アドレス記憶部207に記憶されたアドレスから
取得する。また、パケットの格納のために取得したアド
レスを、空アドレス記憶部207から廃棄し、このパケ
ットが属するコネクションに対応する送信待ちアドレス
記憶部208の送信待ちキュー(Q1〜Qk)の末尾
に、この廃棄したアドレスを繋げる。
【0071】データバッファ203は、データ受信部2
01において受信されるパケットおよび上述の指定デー
タを、データ格納部202によって指定されるアドレス
に記憶する。また、データ送信部204によって指定さ
れるアドレスに記憶されたパケットを読み出して、デー
タ送信部204に出力する。さらに、データ廃棄部20
6によって指定されるアドレスのパケットを廃棄する。
【0072】データ送信部204は、データバッファ2
03に記憶されるパケットおよび指定データを読み出
し、出力ポートO1〜出力ポートOnのうち、指定デー
タによって指定されるコネクションに応じて選択した出
力ポートに、この読み出したパケットを送信する。
【0073】なお、送信するパケットのアドレスは、コ
ネクションごとに設けられた送信待ちアドレス記憶部2
08の送信待ちキューQ1〜送信待ちキューQk(kは
任意の自然数を示す)から取得する。パケットの送信
は、例えば各コネクションが所定の転送レートとなるよ
うな頻度で実行しても良く、全てのコネクションが同じ
転送レートとなるような頻度で実行しても良い。
【0074】また、取得した送信待ちパケットのアドレ
スを、取得元の送信待ちキューから廃棄するとともに、
このアドレスを空アドレス記憶部207に追加する。
【0075】判定部205は、データ受信部201によ
るパケット受信の通知に応じて、データバッファ203
に記憶されるパケットが廃棄可能か否かを、データバッ
ファ203のバッファ使用率Qに応じて判定するブロッ
クであり、図1の判定部105と同等の機能を有してい
る。
【0076】データ廃棄部206は、判定部205にお
いてパケットの廃棄が可能であることが判定された場合
に、パケットを記憶可能なデータバッファ205のアド
レスをランダムに生成し、生成したアドレスにパケット
ともに記憶されている指定データを読み出す。そして、
この読み出した指定データにより指定されるコネクショ
ンに対応する送信待ちキューの先頭から、送信待ちのパ
ケットのアドレスを廃棄する。さらに、この廃棄したア
ドレスを空アドレス記憶部207に追加する。また、生
成したアドレスにパケットが記憶されていない場合に
は、このアドレスにマークデータを書き込む。
【0077】空アドレス記憶部207は、パケットを記
憶可能なデータバッファ203のアドレスのうち、まだ
パケットが記憶されていない空アドレスを記憶する。こ
の空アドレス記憶部207は、例えばデータ格納部20
2、データ送信部204およびデータ廃棄部206から
受ける空アドレス登録要求の受付順に空アドレスを順序
付けて管理するキューの構成にしても良い。この場合、
データ格納部202によるパケットの格納時において
は、このキューに最も早く繋がれた先頭アドレスがデー
タ格納部202に読み出される。また、データ送信部2
04の送信時やデータ廃棄部206の廃棄時において
は、送信または廃棄されるパケットのアドレスがこのキ
ューの末尾に繋げられる。
【0078】送信待ちアドレス記憶部208は、データ
受信部201において検出されるコネクションにそれぞ
れ対応する送信待ちキューQ1〜送信待ちキューQkを
有しており、データバッファ203に記憶されるパケッ
トのアドレスをコネクションごとに格納する。パケット
の格納時においては、データ格納部202によって、格
納されるパケットのアドレスが、このパケットが属する
コネクションに対応する送信待ちキューの末尾に繋げら
れる。また、パケットの送信時においては、選択された
送信待ちキューの先頭アドレスがデータ送信部204に
よって読み出され、このアドレスのパケットが送信され
る。
【0079】次に、上述した構成を有する図7のデータ
中継装置の動作について説明する。パケットの廃棄処理
および格納処理は、図3や図4のフローチャートに示す
図1のデータ中継装置の動作と同様である。ここでは、
図7のデータ中継装置においてより具体化されるステッ
プST106のパケット廃棄処理、ステップST111
のパケット格納処理、およびパケット送信処理につい
て、図8〜図10を参照して説明する。
【0080】図8は、図7に示すデータ中継装置による
パケット廃棄処理を説明するためのフローチャートであ
る。まずステップST401において、ランダム生成さ
れたアドレスに記憶される指定データがデータバッファ
203から読み出される。次いでステップST402に
おいて、この読み出された指定データにより指定される
コネクションに対応する送信待ちキューの先頭から、送
信待ちパケットのアドレスが廃棄される。通常、廃棄さ
れるパケットとランダム生成されたアドレスに記憶され
るパケットとは異なるものになるが、これらのパケット
は同一のコネクションに属しているので、どちらを廃棄
してもコネクションごとの廃棄確率は同じになる。次い
でステップST403において、ステップST302で
廃棄されたアドレスが空アドレス記憶部207に追加さ
れる。これにより、送信待ちキューから廃棄されたアド
レスが空アドレスとなり、このアドレスへのパケットの
格納が可能になる。
【0081】図9は、図7に示すデータ中継装置による
パケット格納処理を説明するためのフローチャートであ
る。まずステップST501において、空アドレス記憶
部207から空アドレスが検索された空アドレスに受信
パケットおよびコネクションの指定データが格納され
る。次いでステップST502において、この空アドレ
スが空アドレス記憶部207から廃棄されるとともに、
指定データに指定されるコネクションに対応した送信待
ちキューに追加される。
【0082】図10は、図7に示すデータ中継装置によ
るパケット送信処理を説明するためのフローチャートで
ある。まずステップST601において、送信待ちキュ
ーQ1〜送信待ちキューQkから、送信を行なうコネク
ションに対応する送信待ちキューが選択される。この選
択は、例えばコネクションごとに所定の転送レートを達
成するような頻度で行なわれる。すなわち、一定時間内
において高転送レートのコネクションは低転送レートの
コネクションに比べて多く選択され、多く送信される。
次いでステップST602において、この選択された送
信待ちキューの先頭から、送信するパケットのアドレス
が取得される。この取得されたアドレスに記憶されるパ
ケットがデータバッファ203から読み出され、データ
送信部204によって送信される。次いでステップST
604において、取得されたアドレスが取得元の送信待
ちキューから廃棄されるとともに、空アドレス記憶部2
07に追加される。
【0083】以上説明したように、図7に示すデータ中
継装置においても、図1に示すデータ中継装置と同様の
効果を奏することが可能である。すなわち、ハードウェ
アによって容易に実現可能な構成でありながら、従来の
データ中継装置に比べてコネクション間の公平性を向上
させることができ、コストを低減できる。
【0084】<シミュレーションによる検証>次に、上
述した本発明の実施形態に係るデータ中継装置の具体的
な性能を検証したシミュレーションについて説明する。
図11は、シミュレーションモデルのネットワーク構成
を示す図である。図11に示すネットワーク構成におい
て、N1〜N4はネットワークのノードを示す。
【0085】ノードN1およびノードN2は、それぞれ
ノードN3を介してノードN4にパケットを送信するノ
ードである。ノードN1およびノードN2から転送され
るパケットはUDP(user datagram protocol)パケ
ットであり、1パケットのサイズは1000バイトであ
る。また、パケットの転送間隔は、指数分布に基づいて
ランダムに変化する。ノードN1およびノードN2の転
送レートは、図12に示すように時間的に変化してい
る。図12aはノードN1におけるパケットの転送レー
トであり、図12bはノードN2におけるパケットの転
送レートである。これらの図に示すように、ノードN1
およびノードN2の転送レートは1秒間隔で8Mbps
または4Mbpsに変化する。
【0086】ノードN3は、ノードN1およびノードN
2から転送されるパケットを受けて、これをノードN4
に送信するデータ中継装置である。本シミュレーション
ではこのノードN3に、図3のフローチャートの処理を
行なう本発明に係るデータ中継装置か、または図32の
フローチャートの処理を行なう従来の簡易型REDデー
タ中継装置の何れかが適用される。
【0087】また、ノードN3に適用されるデータ中継
装置のパケット廃棄特性は、図13に示す特性に設定さ
れる。図13は、シミュレーションモデルにおいてデー
タ中継装置に設定されるパケット廃棄特性を示す図であ
り、縦軸はパケット廃棄確率Pを、横軸はバッファ使用
率Qをそれぞれ示している。すなわち、本シミュレーシ
ョンにおいて上限値Qhighは0.8に、下限値Ql
owは0.2に、スロープ係数Spは0.6にそれぞれ
設定される。
【0088】なお、図11に示す各ノードを接続するリ
ンクの転送レートは、最大10Mbpsに制限されてい
る。したがって、ノードN1およびノードN2から毎秒
あたり合計12Mビット分転送されるパケットのうち、
2Mビット分のパケットがノードN3からノードN4へ
転送されずに廃棄される。
【0089】図14は、本発明に係るデータ中継装置を
用いた第1のシミュレーションにおける、パケット廃棄
確率の時間的変化を示す図である。図14において、縦
軸はパケット廃棄確率Pを、横軸は時間(単位:秒)を
それぞれ示している。また、曲線A1は、ノードN1か
らノードN3を介してノードN4へパケットが転送され
るフローF1での曲線に、曲線A2は、ノードN2から
ノードN3を介してノードN4へパケットが転送される
フローF2での曲線にそれぞれ対応している。なお第1
のシミュレーションにおいて、ノードN3に適用される
本発明に係るデータ中継装置の最大パケット格納数は1
00パケットに設定されている。
【0090】図15は、従来のデータ中継装置を用いた
第2のシミュレーションにおける、パケット廃棄確率の
時間的変化を示す図である。図15において、縦軸はパ
ケット廃棄確率Pを、横軸は時間(単位:秒)をそれぞ
れ示している。また、曲線B1はフローF1での曲線
に、曲線B2はフローF2での曲線にそれぞれ対応して
いる。なお第2のシミュレーションにおいて、ノードN
3に適用される従来のデータ中継装置の最大パケット格
納数は100パケットに設定されている。
【0091】図16は、第1および第2のシミュレーシ
ョンにおける、フローF1のパケット廃棄確率の時間的
変化を示す図である。図16において、縦軸はパケット
廃棄確率Pを、横軸は時間(単位:秒)をそれぞれ示し
ている。また、曲線A1は第1のシミュレーションでの
曲線に、曲線B1は第2のシミュレーションでの曲線に
それぞれ対応している。
【0092】図17は、第1および第2のシミュレーシ
ョンにおける、フローF2のパケット廃棄確率の時間的
変化を示す図である。図17において、縦軸はパケット
廃棄確率Pを、横軸は時間(単位:秒)をそれぞれ示し
ている。また、曲線A2は第1のシミュレーションでの
曲線に、曲線B2は第2のシミュレーションでの曲線に
それぞれ対応している。
【0093】図14〜図17に示すパケット廃棄確率P
の時間的変化から分かるように、データバッファのサイ
ズが100パケットの場合において、本発明のデータ中
継装置と従来のデータ中継装置とでは、本発明のデータ
中継装置の方がフロー間のパケット廃棄確率Pの差が小
さくなっている。
【0094】最初の1秒間で転送レートが8Mbpsと
なるフローF1のパケットによりデータバッファの多く
を占有されてしまうと、本発明に係るデータ中継装置の
場合、バッファ使用率に応じてパケットの廃棄確率が大
きくなるので、このバッファ使用率の変化に反応してフ
ローF1のパケットの廃棄確率がフローF2に比べて高
くなる。これは、例えば図16における2.0[s]以
降の時間において、本発明に係るデータ中継装置での曲
線A1のほうが、従来の簡易型REDのデータ中継装置
での曲線B1より廃棄確率が高くなっていることからも
分かる。フローF1のパケット廃棄確率が高くなること
で、フローF1のバッファ使用率が減少してフローF2
のバッファ使用率に近づくと、これに伴い、フローF1
とフローF2のパケット廃棄確率が近づいてくる。この
ように、本発明に係るデータ中継装置においては、デー
タバッファの使用率に応じて廃棄確率が推移しており、
公平性が保たれている。
【0095】一方、従来の簡易型REDのデータ中継装
置では、バッファ使用率の変化とは無関係にパケットが
廃棄されるので、最初の1秒間において増大したフロー
F1のバッファ占有率はなかなか減少しない。また、最
初の1秒間でパケットを捨てられずに済んだフローF1
の廃棄確率は、結果としてその後もフローF2に比べて
低いままである。すなわち、データバッファを多く占有
しているフローF1のパケット廃棄確率がフローF2よ
り低くなっており、不公平が生じている。
【0096】図18は、第1および第2のシミュレーシ
ョンにおいて、フローF1のパケットがデータ中継装置
に到着する数の時間的変化を示す図である。図18にお
いて、縦軸はノードN3のデータ中継装置に到着するパ
ケット数TPを、横軸は時間(単位:秒)をそれぞれ示
している。また、曲線A1は第1のシミュレーションで
の曲線に、曲線B1は第2のシミュレーションでの曲線
にそれぞれ対応している。ただし、図18においては、
曲線A1と曲線B1とが重なっているため、1つの曲線
のみが示されている。
【0097】図19は、第1および第2のシミュレーシ
ョンにおいて、フローF2のパケットがデータ中継装置
に到着する数の時間的変化を示す図である。図19にお
いて、縦軸はノードN3のデータ中継装置に到着するパ
ケット数TPを、横軸は時間(単位:秒)をそれぞれ示
している。また、曲線A2は第1のシミュレーションで
の曲線に、曲線B2は第2のシミュレーションでの曲線
にそれぞれ対応している。ただし、図19においても、
図18と同様に曲線A2と曲線B2とが重なっているた
め、1つの曲線のみが示されている。
【0098】図18および図19に示すように、フロー
F1とフローF2とでは、何れのシミュレーションにお
いても、データ中継装置に到着するパケット量が全く同
じになっている。
【0099】図20は、第1および第2のシミュレーシ
ョンにおける、第1のフローの転送レートの時間的変化
を示す図である。図20において、縦軸は転送レート
(単位:pps)を、横軸は時間(単位:秒)をそれぞ
れ示している。また曲線A1は第1のシミュレーション
での曲線に、曲線B1は第2のシミュレーションでの曲
線にそれぞれ対応している。
【0100】図21は、第1および第2のシミュレーシ
ョンにおける、第2のフローの転送レートの時間的変化
を示す図である。図21において、、縦軸は転送レート
(単位:pps)を、横軸は時間(単位:秒)をそれぞ
れ示している。また曲線A2は第1のシミュレーション
での曲線に、曲線B2は第2のシミュレーションでの曲
線にそれぞれ対応している。
【0101】図20および図21に示す転送レートは、
データ中継装置において廃棄されずにノードN4に到着
する単位時間当たりのデータ量を示している。フローF
1およびフローF2に供給されるパケットの転送レート
は、図12に示すように1秒おきに変化しているため、
図20および図21に示す曲線も1秒おきに増減を繰り
返す曲線となっている。この増減する部分の傾きは、第
1のシミュレーションと第2のシミュレーションとで比
較すると、ほとんど一致している。これは、本発明に係
るデータ中継装置におけるパケットの廃棄数が、従来の
簡易型REDのデータ中継装置における廃棄数と原理的
にほとんど同じであり、また、パケットが廃棄されるタ
イミングが近接しているためである。すなわち、十分低
いパケット廃棄確率の範囲において、これらのデータ中
継装置は、入力パケット量の変化に対する出力パケット
量の時間的応答がほとんど同等であることが分かる。
【0102】図22は、本発明に係るデータ中継装置を
用いた第3のシミュレーションにおける、パケット廃棄
確率の時間的変化を示す図である。図22において、縦
軸はパケット廃棄確率Pを、横軸は時間(単位:秒)を
それぞれ示している。また、曲線A1はフローF1での
曲線に、曲線A2はフローF2での曲線にそれぞれ対応
している。なお第3のシミュレーションにおいて、ノー
ドN3に適用される本発明に係るデータ中継装置の最大
パケット格納数は、第1のシミュレーションの10倍で
ある1000パケットに設定されている。
【0103】図23は、従来のデータ中継装置を用いた
第4のシミュレーションにおける、パケット廃棄確率の
時間的変化を示す図である。図23において、縦軸はパ
ケット廃棄確率Pを、横軸は時間(単位:秒)をそれぞ
れ示している。また、曲線B1はフローF1での曲線
に、曲線B2はフローF2での曲線にそれぞれ対応して
いる。なお第4のシミュレーションにおいて、ノードN
3に適用される従来のデータ中継装置の最大パケット格
納数は、第2のシミュレーションの10倍である100
0パケットに設定されている。
【0104】図24は、第3および第4のシミュレーシ
ョンにおける、フローF1のパケット廃棄確率の時間的
変化を示す図である。図24において、縦軸はパケット
廃棄確率Pを、横軸は時間(単位:秒)をそれぞれ示し
ている。また、曲線A1は第1のシミュレーションでの
曲線に、曲線B1は第2のシミュレーションでの曲線に
それぞれ対応している。
【0105】図25は、第3および第4のシミュレーシ
ョンにおける、フローF2のパケット廃棄確率の時間的
変化を示す図である。図25において、縦軸はパケット
廃棄確率Pを、横軸は時間(単位:秒)をそれぞれ示し
ている。また、曲線A2は第1のシミュレーションでの
曲線に、曲線B2は第2のシミュレーションでの曲線に
それぞれ対応している。
【0106】図22〜図25に示すパケット廃棄確率P
の時間的変化から分かるように、データバッファの最大
パケット格納数が1000パケットの場合には、100
パケットの場合とは逆に、従来の簡易型REDのデータ
中継装置の方が本発明のデータ中継装置に比べてフロー
間のパケット廃棄確率Pの差が小さくなっている。これ
は、データバッファの容量が大きいほどバッファ使用率
がゆっくり変化するためである。すなわち、最初の1秒
間で生じたフローF1とフローF2のバッファ使用率の
アンバランスが長く残っているので、本発明に係るデー
タ中継装置ではこのアンバランスを是正するように、フ
ローF1のパケット廃棄確率がフローF2に比べて高く
なっている。これに対し、従来の簡易型REDのデータ
中継装置では、このアンバランスが生じたまま2つのフ
ローが同等なパケット廃棄確率になるので、不公平が生
じている。
【0107】図26は、第3および第4のシミュレーシ
ョンにおける、フローF1の転送レートの時間的変化を
示す図である。図26において、縦軸は転送レート(単
位:pps)を、横軸は時間(単位:秒)をそれぞれ示
している。また曲線A1は第1のシミュレーションでの
曲線に、曲線B1は第2のシミュレーションでの曲線に
それぞれ対応している。
【0108】図28は、第3および第4のシミュレーシ
ョンにおける、フローF2の転送レートの時間的変化を
示す図である。図28において、縦軸は転送レート(単
位:pps)を、横軸は時間(単位:秒)をそれぞれ示
している。また曲線A2は第1のシミュレーションでの
曲線に、曲線B2は第2のシミュレーションでの曲線に
それぞれ対応している。
【0109】図26および図27において示されるよう
に、データ中継装置のデータバッフの容量が10倍大き
い第3および第4のシミュレーションにおいても、第1
および第2のシミュレーションと同様に、本発明に係る
データ中継装置は従来の簡易型REDのデータ中継装置
と同等の時間応答性を有している。
【0110】このように、本発明に係るデータ中継装置
は、従来の簡易型REDのデータ中継装置と比べて、転
送レートが時間的に変動する複数のコネクションに対し
て公平な通信サービスを提供できることが分かる。ま
た、転送レートの時間変化に対する応答性能は、これら
のデータ中継装置においてほぼ同等である。以上が、本
発明の実施形態に係るデータ中継装置の具体的な性能を
検証したシミュレーションの説明である。
【0111】なお、本発明は上述した実施形態に限定さ
れない。例えば、図1および図7に示すブロック図の構
成はハードウェアに限定されるものではなく、例えば図
3〜図6、図8〜図10などのフローチャートに示す処
理をソフトウェアによって実行するコンピュータを用
い、図1および図7に示す各ブロックの一部または全部
の機能を実現することも可能である。
【0112】
【発明の効果】本発明のデータ中継装置によれば、簡易
な構成のハードウェアで実現でき、また、コネクション
間のデータ廃棄確率の不公平性を低減できる。また、本
発明のデータ中継方法によれば、簡易な処理でコネクシ
ョン間のデータ廃棄確率の不公平性を低減できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るデータ中継装置
の構成例を示す概略的なブロック図である。
【図2】図1に示すデータ中継装置におけるパケットの
廃棄および格納処理を説明するための図である。
【図3】図1に示すデータ中継装置によるパケットの廃
棄および格納処理を説明するための第1のフローチャー
トである。
【図4】図1に示すデータ中継装置によるパケットの廃
棄および格納処理を説明するための第2のフローチャー
トである。
【図5】同一のアドレスにマークを複数回書き込む場合
のマーク書き込み処理を説明するためのフローチャート
である。
【図6】同一のアドレスにマークを複数回書き込む場合
の受信パケット廃棄処理を説明するためのフローチャー
トである。
【図7】本発明の第2の実施形態に係るデータ中継装置
の構成例を示す概略的なブロック図である。
【図8】図7に示すデータ中継装置によるパケット廃棄
処理を説明するためのフローチャートである。
【図9】図7に示すデータ中継装置によるパケット格納
処理を説明するためのフローチャートである。
【図10】図7に示すデータ中継装置によるパケット送
信処理を説明するためのフローチャートである。
【図11】シミュレーションモデルのネットワーク構成
を示す図である。
【図12】シミュレーションモデルにおいて、パケット
送信ノードにおけるパケットの転送レートの時間的変化
を示す図である。
【図13】シミュレーションモデルにおいて、データ中
継装置に設定されるパケット廃棄特性を示す図である。
【図14】本発明に係るデータ中継装置を用いた第1の
シミュレーションにおける、パケット廃棄確率の時間的
変化を示す図である。
【図15】従来のデータ中継装置を用いた第2のシミュ
レーションにおける、パケット廃棄確率の時間的変化を
示す図である。
【図16】第1および第2のシミュレーションにおけ
る、第1のフローのパケット廃棄確率の時間的変化を示
す図である。
【図17】第1および第2のシミュレーションにおけ
る、第2のフローのパケット廃棄確率の時間変化を示す
図である。
【図18】第1および第2のシミュレーションにおい
て、第1のフローのパケットがデータ中継装置に到着す
る数の時間的変化を示す図である。
【図19】第1および第2のシミュレーションにおい
て、第2のフローのパケットがデータ中継装置に到着す
る数の時間的変化を示す図である。
【図20】第1および第2のシミュレーションにおけ
る、第1のフローの転送レートの時間的変化を示す図で
ある。
【図21】第1および第2のシミュレーションにおけ
る、第2のフローの転送レートの時間的変化を示す図で
ある。
【図22】本発明に係るデータ中継装置を用いた第3の
シミュレーションにおける、パケット廃棄確率の時間的
変化を示す図である。
【図23】従来のデータ中継装置を用いた第4のシミュ
レーションにおける、パケット廃棄確率の時間的変化を
示す図である。
【図24】第3および第4のシミュレーションにおけ
る、第1のフローのパケット廃棄確率の時間的変化を示
す図である。
【図25】第3および第4のシミュレーションにおけ
る、第2のフローのパケット廃棄確率の時間的変化を示
す図である。
【図26】第3および第4のシミュレーションにおけ
る、第1のフローの転送レートの時間的変化を示す図で
ある。
【図27】第3および第4のシミュレーションにおけ
る、第2のフローの転送レートの時間的変化を示す図で
ある。
【図28】一般的なデータ中継装置の構成を示す概略的
なブロック図である。
【図29】REDによるパケットの廃棄および格納処理
を説明するための図である。
【図30】REDによるパケットの廃棄および格納処理
を説明するためのフローチャートである。
【図31】REDおけるバッファ使用率とパケット廃棄
確率との関係の一例を示す図である。
【図32】従来のデータ中継装置におけるパケットの廃
棄および格納処理を説明するためのフローチャートであ
る。
【符号の説明】
1,101,201…データ受信部、2,103,20
3…データバッファ、3,104,204…データ送信
部、102,202…データ格納部、105,205…
判定部、106,206…データ廃棄部、207…空ア
ドレス記憶部、208…送信待ちアドレス記憶部、Q1
〜Qk…送信待ちキュー。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 川島 浩 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 荒木 俊雅 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 Fターム(参考) 5K030 GA13 HA08 HD03 KA03 LC18 MA13 MB15

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 転送されるデータを記憶可能なデータ記
    憶手段と、 上記転送データの受信に応じて、上記転送データを記憶
    可能な上記データ記憶手段の全体の記憶容量のうち上記
    転送データの記憶に使用された記憶容量の使用率が所定
    の上限使用率を上回る場合に、上記データ記憶手段に記
    憶される転送データの廃棄が可能であることを判定し、
    上記使用率が上記上限使用率から所定の下限使用率まで
    の範囲に含まれる場合に、上記廃棄が可能であるか否か
    の何れかを、上記使用率に応じた確率で判定する判定手
    段と、 上記判定手段において上記廃棄が可能であることが判定
    された場合、上記転送データを記憶可能なデータ記憶手
    段のアドレスをランダムに生成し、生成したアドレスに
    上記転送データが記憶されていない場合、当該アドレス
    にマークデータを格納し、記憶されている場合、当該ア
    ドレスの転送データを上記データ記憶手段から廃棄する
    データ廃棄手段と、 上記データ記憶手段において上記転送データが記憶され
    ていない空アドレスを検索し、検索した空アドレスに上
    記マークデータが記憶されている場合、受信した転送デ
    ータおよび当該マークデータを廃棄し、記憶されていな
    い場合、受信した転送データを当該空アドレスに格納す
    るデータ格納手段と、 上記データ記憶手段に記憶される転送データを読み出
    し、読み出した転送データをそれぞれ所定の送信先へ送
    信するデータ送信手段とを有するデータ中継装置。
  2. 【請求項2】 上記判定手段は、上記使用率が上記上限
    使用率から所定の下限使用率までの範囲に含まれる場合
    に、上記上限使用率と上記下限使用率との差に対する上
    記使用率と上記下限使用率との差の割合に応じた確率
    で、上記廃棄が可能であるか否かの何れかを判定する、 請求項1に記載のデータ中継装置。
  3. 【請求項3】 上記判定手段は、上記使用率が上記上限
    使用率から上記下限使用率までの範囲に含まれる場合、
    所定の値の範囲内で一様な乱数を生成し、生成した乱数
    と上記割合との比較結果に応じて上記廃棄が可能である
    か否かを判定する、 請求項2に記載のデータ中継装置。
  4. 【請求項4】 上記判定手段は、所定のスロープ係数お
    よび上記割合に比例した確率で、上記廃棄が可能である
    か否かの何れかを判定する、 請求項2に記載のデータ中継装置。
  5. 【請求項5】 上記データ廃棄手段は、上記生成したア
    ドレスに上記転送データおよび上記マークデータが記憶
    されていない場合、所定の初期値を有する計数データを
    含んだ上記マークデータを当該アドレスに格納し、当該
    アドレスに上記マークデータが記憶されている場合、当
    該マークデータに含まれる上記計数データの値に所定の
    増分を加算し、 上記データ格納手段は、上記検索した空アドレスに上記
    マークデータが記憶されている場合において、当該マー
    クデータに含まれる上記計数データが上記初期値を有す
    る場合、受信した転送データおよび当該マークデータを
    廃棄し、上記初期値を有さない場合、受信した転送デー
    タを破棄し、当該計数データの値から上記増分を減算し
    たマークデータを当該空アドレスに格納する、 請求項1に記載のデータ中継装置。
  6. 【請求項6】 受信される転送データに含まれる情報に
    基づいて、当該転送データのコネクションを検出するコ
    ネクション検出手段を有し、 上記データ格納手段は、上記転送データとともに、当該
    転送データの上記検出されたコネクションを指定する指
    定データを上記データ記憶手段に格納し、 上記データ廃棄手段は、上記生成したアドレスに転送デ
    ータが記憶されている場合、当該アドレスに記憶される
    上記指定データに指定されるコネクションと同一のコネ
    クションに属する転送データを、上記データ記憶手段か
    ら廃棄する、 請求項1に記載のデータ中継装置。
  7. 【請求項7】 上記データ記憶手段において転送データ
    が記憶されていない空アドレスを記憶する空アドレス記
    憶手段と、 受信した転送データが記憶される上記データ記憶手段の
    アドレスを、上記コネクションごとに順次記憶する複数
    の送信待ちアドレス記憶手段とを有し、 上記データ格納手段は、上記空アドレス記憶手段に記憶
    される上記空アドレスを入力し、上記データ記憶手段の
    当該空アドレスに上記マークデータが記憶されている場
    合、受信した転送データおよび当該マークデータを廃棄
    し、記憶されていない場合、受信した転送データおよび
    上記指定データを当該空アドレスに格納し、当該空アド
    レスを、上記空アドレス記憶手段から廃棄し、上記指定
    データが指定するコネクションに対応する送信待ちアド
    レス記憶手段に格納し、 上記データ廃棄手段は、上記生成したアドレスに上記転
    送データが記憶されている場合、当該アドレスに記憶さ
    れる上記指定データを上記データ記憶手段から読み出
    し、当該読み出した指定データが指定するコネクション
    に対応する上記送信待ちアドレス記憶手段に記憶された
    少なくとも1つのアドレスを廃棄し、当該廃棄したアド
    レスを上記空アドレス記憶手段に格納する、 請求項6に記載のデータ中継装置。
  8. 【請求項8】 上記データ送信手段は、上記コネクショ
    ンごとに所定の頻度で上記送信待ちアドレス記憶手段を
    選択し、当該選択した送信待ちアドレス記憶手段のアド
    レスを記憶された順に読み出し、当該読み出したアドレ
    スに記憶される上記データ記憶手段の転送データを読み
    出して送信し、当該読み出したアドレスを、読み出し元
    の送信待ちアドレス記憶手段から廃棄し、上記空アドレ
    ス記憶手段に格納する、 請求項7に記載のデータ中継装置。
  9. 【請求項9】 転送されるデータを受信するデータ受信
    ステップと、 上記データ受信ステップにおいて上記転送データが受信
    された場合において、上記転送データを記憶可能なデー
    タ記憶手段の全体の記憶容量のうち上記転送データの記
    憶に使用された記憶容量の使用率が所定の上限使用率を
    上回る場合に、上記データ記憶手段に記憶される転送デ
    ータの廃棄が可能であることを判定し、上記使用率が上
    記上限使用率から所定の下限使用率までの範囲に含まれ
    る場合に、上記廃棄が可能であるか否かの何れかを、上
    記使用率に応じた確率で判定する判定ステップと、 上記判定ステップにおいて上記廃棄が可能であることが
    判定された場合において、上記転送データを記憶可能な
    データ記憶手段のアドレスをランダムに生成し、生成し
    たアドレスに上記転送データが記憶されていない場合、
    当該アドレスにマークデータを格納し、記憶されている
    場合、当該アドレスの転送データを上記データ記憶手段
    から廃棄するデータ廃棄ステップと、 上記データ記憶手段において上記転送データが記憶され
    ていない空アドレスを検索し、検索した空アドレスに上
    記マークデータが記憶されている場合、受信した転送デ
    ータおよび当該マークデータを廃棄し、記憶されていな
    い場合、受信した転送データを当該空アドレスに格納す
    るデータ格納ステップと、 上記データ記憶手段に記憶される転送データを読み出
    し、読み出した転送データをそれぞれ所定の送信先へ送
    信するデータ送信ステップとを有するデータ中継方法。
  10. 【請求項10】 上記判定ステップは、上記使用率が上
    記上限使用率から所定の下限使用率までの範囲に含まれ
    る場合に、上記上限使用率と上記下限使用率との差に対
    する上記使用率と上記下限使用率との差の割合に応じた
    確率で、上記廃棄が可能であるか否かの何れかを判定す
    る、 請求項9に記載のデータ中継方法。
  11. 【請求項11】 上記判定ステップは、上記使用率が上
    記上限使用率から上記下限使用率までの範囲に含まれる
    場合、所定の値の範囲内で一様な乱数を生成し、生成し
    た乱数と上記割合との比較結果に応じて上記廃棄が可能
    であるか否かを判定する、 請求項10に記載のデータ中継方法。
  12. 【請求項12】 上記判定ステップは、所定のスロープ
    係数および上記割合に比例した確率で、上記廃棄が可能
    であるか否かの何れかを判定する、 請求項10に記載のデータ中継方法。
  13. 【請求項13】 上記データ廃棄ステップは、上記生成
    したアドレスに上記転送データおよび上記マークデータ
    が記憶されていない場合、所定の初期値を有する計数デ
    ータを含んだ上記マークデータを当該アドレスに格納
    し、当該アドレスに上記マークデータが記憶されている
    場合、当該マークデータに含まれる上記計数データの値
    に所定の増分を加算し、 上記データ格納ステップは、上記検索した空アドレスに
    上記マークデータが記憶されている場合において、当該
    マークデータに含まれる上記計数データが上記初期値を
    有する場合、受信した転送データおよび当該マークデー
    タを廃棄し、上記初期値を有さない場合、受信した転送
    データを破棄し、当該計数データの値から上記増分を減
    算したマークデータを当該空アドレスに格納する、 請求項9に記載のデータ中継方法。
  14. 【請求項14】 受信される転送データに含まれる情報
    に基づいて、当該転送データのコネクションを検出する
    コネクション検出ステップを有し、 上記データ格納ステップは、上記転送データとともに、
    当該転送データの上記検出されたコネクションを指定す
    る指定データを上記データ記憶手段に格納し、 上記データ廃棄ステップは、上記生成したアドレスに転
    送データが記憶されている場合、当該アドレスに記憶さ
    れる上記指定データに指定されるコネクションと同一の
    コネクションに属する転送データを、上記データ記憶手
    段から廃棄する、 請求項9に記載のデータ中継方法。
  15. 【請求項15】 上記データ格納ステップは、 上記データ記憶手段において転送データが記憶されてい
    ない空アドレスを記憶する空アドレス記憶手段から、上
    記空アドレスを入力するステップと、 上記入力した空アドレスに上記マークデータが記憶され
    ている場合、受信した転送データおよび当該マークデー
    タを廃棄し、記憶されていない場合、受信した転送デー
    タおよび上記指定データを当該空アドレスに格納し、当
    該空アドレスを、上記空アドレス記憶手段から廃棄し、
    上記指定データが指定するコネクションに対応する送信
    待ちアドレス記憶手段に順次格納するステップとを含
    み、 上記データ廃棄ステップは、 上記生成したアドレスに上記転送データが記憶されてい
    る場合、当該アドレスに記憶される上記指定データを上
    記データ記憶手段から読み出し、当該読み出した指定デ
    ータが指定するコネクションに対応する上記送信待ちア
    ドレス記憶手段に記憶された少なくとも1つのアドレス
    を廃棄するステップと、 当該廃棄したアドレスを上記空アドレス記憶手段に格納
    するステップとを含む、 請求項14に記載のデータ中継方法。
  16. 【請求項16】 上記データ送信ステップは、 上記コネクションごとに所定の頻度で上記送信待ちアド
    レス記憶手段を選択するステップと、 当該選択した送信待ちアドレス記憶手段のアドレスを記
    憶された順に読み出すステップと、 当該読み出したアドレスに記憶される上記データ記憶手
    段の転送データを読み出して送信するステップと、 当該読み出したアドレスを、読み出し元の送信待ちアド
    レス記憶手段から廃棄し、上記空アドレス記憶手段に格
    納するステップとを含む、 請求項15に記載のデータ中継方法。
JP2001146890A 2001-05-16 2001-05-16 データ中継装置およびその方法 Pending JP2002344508A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001146890A JP2002344508A (ja) 2001-05-16 2001-05-16 データ中継装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001146890A JP2002344508A (ja) 2001-05-16 2001-05-16 データ中継装置およびその方法

Publications (1)

Publication Number Publication Date
JP2002344508A true JP2002344508A (ja) 2002-11-29

Family

ID=18992460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001146890A Pending JP2002344508A (ja) 2001-05-16 2001-05-16 データ中継装置およびその方法

Country Status (1)

Country Link
JP (1) JP2002344508A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009188625A (ja) * 2008-02-05 2009-08-20 Nec Commun Syst Ltd 通信装置、通信システム、制御方法及び制御プログラム
JP2009239435A (ja) * 2008-03-26 2009-10-15 Oki Semiconductor Co Ltd パケット中継装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009188625A (ja) * 2008-02-05 2009-08-20 Nec Commun Syst Ltd 通信装置、通信システム、制御方法及び制御プログラム
JP2009239435A (ja) * 2008-03-26 2009-10-15 Oki Semiconductor Co Ltd パケット中継装置

Similar Documents

Publication Publication Date Title
US5274625A (en) Traffic measurements in packet communications networks
JP3683133B2 (ja) パケットスケジューリング装置
EP1069801B1 (en) Connections bandwidth right sizing based on network resources occupancy monitoring
JP3799285B2 (ja) 無線lan基地局、無線端末およびプログラム
JP3321043B2 (ja) Tcpネットワーク内のデータ端末
WO2020022209A1 (ja) ネットワーク制御装置及びネットワーク制御方法
WO2019157867A1 (zh) 一种分组网络中控制流量的方法及装置
US20030219014A1 (en) Communication quality assuring method for use in packet communication system, and packet communication apparatus with transfer delay assurance function
WO2004073269A1 (ja) 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
JP2001024678A (ja) データ伝送ネットワーク中で輻輳を予測して制御する方法およびノード
KR101333856B1 (ko) 트래픽 부하를 관리하는 방법
JP4488256B2 (ja) 通信方法、ノード及び制御プログラム
CN112737940B (zh) 一种数据传输的方法和装置
JP2020072336A (ja) パケット転送装置、方法、及びプログラム
US20090003329A1 (en) Repeater, Communication System, Control Circuit, Connector, and Computer Program
JP2002344508A (ja) データ中継装置およびその方法
JPH10271163A (ja) パケット通信網接続装置
US8554860B1 (en) Traffic segmentation
JP2007243382A (ja) ネットワーク伝送装置およびその制御方法
JP4256599B2 (ja) パケット転送制御装置
JP2002344507A (ja) データ中継装置およびその方法
JP2004056328A (ja) ルータ、ルータの動的品質制御方法、プログラム、および記録媒体
US20070133561A1 (en) Apparatus and method for performing packet scheduling using adaptation round robin
KR20040096366A (ko) 다양한 전송속도를 지원하는 무선랜에서의 큐 제어방법 및시스템
Tanterdtid Inter-ring traffic management in bridged resilient packet rings: global fairness and buffer overflow prevention