JP5146548B2 - パケットバッファ装置及びパケット廃棄方法 - Google Patents

パケットバッファ装置及びパケット廃棄方法 Download PDF

Info

Publication number
JP5146548B2
JP5146548B2 JP2010549323A JP2010549323A JP5146548B2 JP 5146548 B2 JP5146548 B2 JP 5146548B2 JP 2010549323 A JP2010549323 A JP 2010549323A JP 2010549323 A JP2010549323 A JP 2010549323A JP 5146548 B2 JP5146548 B2 JP 5146548B2
Authority
JP
Japan
Prior art keywords
packet
queue
unit
input
measurement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010549323A
Other languages
English (en)
Other versions
JPWO2010089886A1 (ja
Inventor
博 朝永
和人 西村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2010089886A1 publication Critical patent/JPWO2010089886A1/ja
Application granted granted Critical
Publication of JP5146548B2 publication Critical patent/JP5146548B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、到着したパケットを一時的に保持するパケットバッファ装置におけるパケットの廃棄方法に関する。
近年のインターネットの普及に伴い、種々のWEBサーバ、電子メール、IP電話や動画転送といった様々なサービスを、インターネット上で実現する動きが活発化している。このため、インターネットを支えるネットワークノード装置における、サービス品質(QoS: Quality of Service)制御の重要性がますます高まっている。
次世代ネットワークなどで提供されるサービスは、原則として、十分なデータ伝送帯域幅をネットワークに用意することによってサービスの品質が保証される。一方で、WEBサーバによるサービス、IP電話サービスや動画転送サービスでは、通常のインターネット上でサービスが提供されるため、十分なデータ伝送帯域幅が与えられるとは限らない。
なお、パケットバッファが輻輳した際のデータ廃棄方法としては、テイルドロップ(Tail Drop)とランダム初期検知(RED: Random Early Detection)が提案されている。また、パケットの滞在時間に応じてパケットの廃棄率を変化させることによりREDを実施するエッジ・ノード装置が提案されている。さらに、基地局から移動局へ送信するパケットが基地局のバッファに滞留する予定時刻を算出するデータ流入量制御装置が開示されている。さらに、転送データに登録されているデータ受取先での到着必須時刻を読み取り、到着必須時刻までに到着しないと判定したとき、データパケットを廃棄するデータ伝送方法が開示されている。
特開2005−348166号公報 特開2008−53851号公報 特開平9−18510号公報
B.Braden, D.Clark, J.Crowcroft, "Recommendations on Queue Management and Congestion Avoidance in the Internet", RFC2309, IETF, April 1998
データ伝送を行うネットワーク上で十分なデータ伝送帯域幅が保証されない環境下では、ネットワーク上で発生する輻輳の影響を受けて、大きな遅延変動が発生する。この遅延変動は遅延ジッタとも呼ばれる。電話サービスや動画提供サービスにおいて大きな遅延変動が発生すると、快適な視聴に支障をきたす。Webサービスにおいても、遅延変動はユーザへのレスポンス時間に影響を与える。また、データ転送においても遅延変動は実効スループットに影響を与え、転送効率を悪化させる要因にもなる。
このように、輻輳発生時における遅延変動を低減することは、ネットワークのサービス品質を確保する上で重要である。上記問題点に鑑み、開示の装置及び方法は、到着したパケットを一時的に保持するパケットバッファ装置において、輻輳発生時における出力パケットの遅延変動を低減することを目的とする。
実施例の一形態によれば、到着したパケットを一時的に保持するキューと、到着したパケットがこのキュー内に滞留する時間を予測する滞留時間予測手段と、この滞留時間予測手段により決定された予測時間が所定の第1基準値を超えるとき到着したパケットを廃棄するパケット廃棄手段と、を備えるパケットバッファ装置が与えられる。
所定時間を超えてキュー内に滞留することが予定される到着パケットを廃棄するため、輻輳が発生しても、パケットバッファ装置において生じる遅延変動が低減される。
出力レートの変動と遅延変動との関係を説明するグラフである。 滞留時間に基づくパケット廃棄制御の第1例を説明する図である。 滞留時間に基づくパケット廃棄制御の第2例を説明する図である。 滞留時間に基づくパケット廃棄制御において発生する遅延変動を説明する図(その1)である。 滞留時間に基づくパケット廃棄制御において発生する遅延変動を説明する図(その2)である。 滞留時間に基づくパケット廃棄制御において発生する遅延変動を説明する図(その3)である。 滞留時間に基づくパケット廃棄制御において発生する遅延変動を説明する図(その4)である。 滞留時間に基づくパケット廃棄制御において発生する遅延変動を説明する図(その5)である。 開示のスイッチの全体構成を説明する図である。 図5に示す入力パケットバッファの第1構成例を説明する構成図である。 開示のパケット廃棄方法を説明する第1例の方法である。 開示のパケット廃棄方法を説明する第2例の方法である。 図6に示すレート測定部の第1構成例を説明する構成図である。 開示のレート測定方法の第1例説明する方法である。 図6に示すレート測定部の第2構成例を説明する構成図である。 開示のレート測定方法の第2例を説明する方法である。 図5に示す入力パケットバッファの第2構成例を説明する構成図である。 開示のパケット廃棄方法の第3例を説明する方法である。 図5に示す入力パケットバッファの第3構成例を説明する構成図である。 開示のパケット廃棄方法の第4例を説明する方法である。 図5に示す入力パケットバッファの第4構成例を説明する構成図である。 開示のパケット廃棄方法の第5例を説明する方法である。 図5に示す入力パケットバッファの第5構成例を説明する構成図である。 開示のパケット廃棄方法の第6例を説明する方法である。 図5に示す入力パケットバッファの第6構成例を説明する構成図である。 開示のパケット廃棄方法の第7例を説明する方法である。 図5に示す入力パケットバッファの第7構成例を説明する構成図である。 開示のパケット廃棄方法の第8例を説明する方法である。
符号の説明
10 スイッチ
11−1〜11−L 入力パケットバッファ
12 パケット交換部
13−1〜13−L 出力パケットバッファ
21、21−1〜21−N キュー
22 キュー長測定部
23 レート測定部
24 滞留時間予測部
26 パケット廃棄部
P パケット
以下、添付する図面を参照して実施例を説明する。上述の通り、パケットバッファ装置が輻輳した際のデータ廃棄方法としては、テイルドロップとREDが知られている。テイルドロップでは、パケットバッファ装置はその内部のキュー内に格納されたデータ量がある規定値を超えるか否かを判定する。キュー内のデータ量が規定値を超えたとき、パケットバッファ装置は、その後に到着するパケットをキュー内に格納せずに廃棄する。なお、キュー内に格納されるデータ量のことを、以下の説明において「キュー長」と示すことがある。なお、キューと、入力および/または出力パケットバッファとの技術的関係については後述する。
REDは、送信元装置のTCP制御において、パケット廃棄が発生するとパケットの送信レートを下げるという機能を利用する輻輳制御方法である。パケットバッファ装置は、輻輳が発生しそうなとき早めに、ある廃棄率でパケットを廃棄する。そうすることにより、輻輳が大きくなる前に送信元装置に輻輳の発生を通知して輻輳を解消する。すなわち、パケットバッファ装置は、ある廃棄率でランダムにフローを破棄することで、このキューに収容されるフロー全てのレートを同時に下げ、パケット転送のスループットが劣化する現象を避ける。
上記のテイルドロップ及びREDは、いずれもキュー長に基づくパケットの廃棄制御である。パケットバッファ装置においては、QoS制御の際に、キューに優先度を与えられるのが一般的である。優先度がより低いキューの出力レートは、優先度がより高いキューへ入力されるトラヒック量に依存してリアルタイムに変化する。
ここで、キュー内の滞在時間は、「キュー内の滞留時間=キュー長(データ量)/出力レート」で定まるため、遅延変動は出力レートに依存する。図1は、出力レートの変動と遅延変動との関係を説明するグラフである。図1に示す実線が出力レートの変動を示し、破線が遅延時間を示す。図示するとおり、出力レートが増加するに応じてキュー内の滞留時間すなわち遅延が増加し、出力レートの変動が遅延変動を生じることがわかる。このように、上記のテイルドロップやREDといったキュー長に基づく廃棄制御では、輻輳時に発生する出力レート変動により遅延変動を招いてしまうという問題がある。
図2は、滞留時間に基づくパケット廃棄制御の第1例を説明する図である。参照符号1はパケットバッファ装置を示し、参照符号P1及びP2はパケットバッファ装置1に入力された入力パケットを示す。参照符号3−1〜3−Nは、入力パケットを一時的に保持するN個のキューを示し、参照符号2はパケット判別部を示し、参照符号4はパケット分配部を示し、参照符号5はスケジューラを示す。なお、このパケットバッファ装置はレイヤ2およびレイヤ3のパケット転送装置に適用可能である。
パケット判別部2は、入力パケットP1、P2が、送信元のユーザについて定めた入力帯域幅に関する規定を遵守しているか否かを判別し、規定を遵守しているパケットとそうでないパケットに分類する。図2において、パケット判別部2は白抜きの矩形で示すパケットP1は規定を遵守しているパケットをマーキングし、ハッチングされた矩形で示すパケットP2は、規定を遵守していないパケットをマーキングした例を示す。
パケット分配部4は、入力パケットの宛先、ユーザ、アプリケーションなどに応じて、入力パケットを、キュー3−1〜3−Nのいずれかに分配する。スケジューラ5は、所定の優先度や出力帯域幅に応じて、キュー3−1〜3−Nからパケットを読み出して出力する。図2に示すパケット廃棄制御では、現在、パケットがキューに滞留している滞留時間を測定する。測定された滞留時間が基準値を超える場合には、入力帯域幅に関する規定を遵守していないパケットP2を廃棄する。以下、このような廃棄制御を、「滞留時間に基づくテイルドロップ」(Time Based Tail Drop)と呼ぶことがある。
または、測定された滞留時間に応じて変化する廃棄率を決定し、決定された廃棄率で、入力帯域幅に関する規定を遵守していないパケットP2を廃棄する。以下、このような廃棄制御を、「滞留時間に基づく重み付けランダム初期検知」(Time Based WRED)と呼ぶことがある。WREDは、Weighted Random Early Detectionの略である。
図3は、滞留時間に基づくパケット廃棄制御の第2例を説明する図である。図2に示す構成要素と同じ構成要素に同じ参照符号を付する。図3に示すパケット廃棄制御では、現在、パケットがキューに滞留している滞留時間を測定し、基準値を超えてキュー内に滞留したパケットをキューの先頭から廃棄する。以下、このような廃棄制御を、「滞留時間に基づくヘッドドロップ」(Time Based Head Drop)と呼ぶことがある。
滞留時間に基づくテイルドロップや滞留時間に基づくWREDでは、パケットバッファ装置1は滞留時間に基づいて廃棄制御を行っている。このとき、パケットバッファ装置1は、滞留時間としてキューの先頭パケットの滞留時間を用いていた。このため先頭パケットの滞留時間が基準値を超えて廃棄処理が開始した時点で既にキュー内にパケットがたまり過ぎている。このため、廃棄処理が開始するとキューが空になるまで滞留時間が増加し、キューが空になったときにまた滞留時間が急減する現象が生じていた。この理由を図4A〜図4Eに沿って説明する。
図4A〜図4Eは、滞留時間に基づくパケット廃棄制御において発生する遅延変動を説明する図である。図4Aの状態において、パケットの入力レートが出力レートよりも大きいため、キュー3−1のキュー長は増加傾向にあるが、まだ、キューの先頭パケットの滞留時間は、パケット廃棄を始める基準値THTDに達していない。
その後、図4Bの状態になると、キュー3−1のキュー長が図4Aの状態と比べて増加する。このため、図4Bの状態では、図4Aの状態よりもキュー3−1内に滞留する時間が長くなるため、パケットの遅延時間が長くなる。この様子を図4Eに示す。矢印A〜Dは、それぞれ図4A〜4Dの状態における遅延時間を示す。
図4Cの状態になると、キュー3−1の先頭パケットの滞留時間が基準値THTDを超えているため、パケットバッファ装置1は、テイルドロップ又はWREDを開始する。この結果、キュー3−1にはパケットが入力されなくなるが、キュー3−1内には、すでに多量のパケットが保持されている。このため、キュー3−1内のパケットが全て出力されるまで、キュー先頭に到達したパケットの滞留時間は増加し続ける。そして図4Dの状態になり、キュー3−1内が空になると滞留時間が「0」に戻り、キュー内へのパケットの格納が再開される。このため遅延時間が急減する。このように、滞留時間に基づくテイルドロップ及び滞留時間に基づくWREDにおいても、輻輳時に遅延変動が発生するという問題があった。
図5は、開示のスイッチの全体構成を説明する図である。スイッチ10は、複数の入力ポートのいずれかから入力されたパケットを、複数の出力ポートのいずれかへ出力する装置である。スイッチ10は、例えばレイヤ2スイッチやレイヤ3スイッチであってよい。参照符号11−1〜11−Lは入力パケットバッファを示し、参照符号12はパケット交換部12を示し、参照符号13−1〜13−Mは出力パケットバッファを示す。L個の入力パケットバッファ11−1〜11−Lは、入力ポートから入力したパケットを一時的に保持し、スケジューリングした後に、パケット交換部12へ入力する。パケット交換部12は、入力したパケットに示されるアドレス情報に従って、パケットを出力する出力ポートを決定し、決定された出力ポートに接続される出力パケットバッファへパケットを出力する。M個の出力パケットバッファ13−1〜13−Mは、パケット交換部12から出力されたパケットを一時的に保持し、スケジューリングした後に出力ポートから出力する。
なお、パケット交換部12が、その内部にパケットバッファを備えていてもよい。パケット交換部12のパケットバッファは、例えば、パケット交換部12の入力ポートから入出力ポートから出力される経路上のいずれかにおいて、パケットを一時的に保持するために使用される。また他の実施例では、入力パケットバッファ11−1〜11−L及び出力パケットバッファ13−1〜13−Mのいずれか又は両方を省いてもよく、パケット交換部12内に、パケットバッファを集約してもよい。
図6は、図5に示す入力パケットバッファ11−1の第1構成例を説明する構成図である。他の入力パケットバッファ11−2〜11−Lや、出力パケットバッファ13−1〜13−Mや、パケット交換部内に設けられるパケットバッファも同様の構成であってよい。以下の示す、入力パケットバッファ11−1の第2構成例〜第7構成例においても同様である。参照符号21はキューを示し、参照符号22はキュー長測定部を示し、参照符号23はレート測定部を示し、参照符号24は滞留時間予測部を示し、参照符号25は移動平均演算部を示し、参照符号26はパケット廃棄部を示し、参照符号Pはパケットを示す。入力パケットバッファ11−1は、キュー21、キュー長測定部22、レート測定部23、滞留時間予測部24、移動平均演算部25及びパケット廃棄部26を備える。
キュー21は、入力パケットバッファ11−1へ入力されたパケットを一時的に保持するための待ち行列であり、入力パケットを先入れ先出し方式で保持する。キュー長測定部22は、キュー21内に保持されているデータ量、すなわちキュー長LQを測定する。キュー長測定部22は、順次測定されるキュー長の測定値そのものに代えて、その加重移動平均値を測定結果として出力してもよい。加重移動平均値を用いることで突発的なキュー長変化が発生した際に、その影響を排除し、安定した制御を行うことが可能となる。レート測定部23は、キュー21から出力されるパケットの出力レートROを測定する。
滞留時間予測部24は、測定されたキュー長LQを出力レートROで除することにより、現時点においてパケットがキュー21内にどれくらい滞留するかの予測値TFを決定する。すなわち滞留時間予測部24は、予測値を、(予測値=キュー長LQ/出力レートRO)により算出する。移動平均演算部25は、滞留時間予測部24が決定した滞留時間の予測値の加重移動平均値TFを算出する。以下、滞留時間の予測値の加重移動平均値を「平均予測値TF」と示す。パケット廃棄部26は、平均予測値TFに基づいて、到着パケットをキュー21に格納する前の廃棄処理を行う。なお、平均予測値TFを求める他の方法として単純平均法、簡易指数平均法、最小二乗法などがある。これらの方法を移動平均演算部25に適用することも可能である。
図7は、開示のパケット廃棄方法の第1例を説明する方法である。オペレーションSBにおいてレート測定部23は、キュー21から出力されるパケットの出力レートROを測定する。レート測定部23による出力レートROの測定処理の例は後述する。オペレーションSCにおいてキュー長測定部22は、キュー21のキュー長LQを測定する。オペレーションSDにおいて滞留時間予測部24は、(予測値=キュー長LQ/出力レートRO)により、予測値を算出する。移動平均演算部25は、滞留時間予測部24が決定した滞留時間の平均予測値TFを算出する。
オペレーションSEにおいてパケット廃棄部26は、移動平均演算部25が算出した平均予測値TFが、所定の滞留可能許容時間THTを超えるか否かを判定する。平均予測値TFが滞留可能許容時間THTを超えないとき(オペレーションSE:N)、入力パケットバッファ11−1は処理をオペレーションSBに戻す。
平均予測値TFが滞留可能許容時間THTを超えるとき(オペレーションSE:Y)、パケット廃棄部26は処理をオペレーションSFへ移す。オペレーションSFにおいてパケット廃棄部26は、到着したパケットをキュー21に保持せずに廃棄する。すなわち、パケット廃棄部26は、キュー21におけるパケットの滞留時間の予測値に基づくテイルドロップ処理を行う。
またオペレーションSGにおいてパケット廃棄部26は、パケット廃棄についてこのパケットの送信元の装置に対して、スイッチ10において輻輳が発生したことを明示的に通知する。パケット廃棄部26は、例えばTCP/IPの輻輳情報通知機能(Explicit Congestion Notification)に従って、明示的に輻輳の発生を送信元の装置に通知する。その後、入力パケットバッファ11−1は処理をオペレーションSBに戻す。なお、別な実施の態様においては、上記オペレーションSB乃至オペレーションSGの各オペレーションはステップであってもよい。
本実施例によれば、輻輳が発生したときキュー21内に滞留するパケットの滞留時間はほぼ滞留可能許容時間THT程度となるため、入力パケットバッファ11−1において生じる遅延変動が低減される。
TCP制御では、再送タイムアウト時間を計測してパケットの再送制御が行われる。本実施例によれば、伝送経路に設けた入力パケットバッファにおける遅延変動が低減されるので、安定した再送制御が可能となり、パケットのスループット向上に資する。
また、図4A〜4Eを参照して説明したような、一度、テイルドロップが発生したときキューが空になるまで廃棄が継続する、バースト的な廃棄が抑制される。このためバースト的な廃棄により生じていた、TCPフローが一斉にレートを下げてしまう現象を回避することが可能となる。
図8は、開示のパケット廃棄方法の第2例を説明する方法である。オペレーションSB〜SDにより、図7に示すオペレーションSB〜SDと同様にして、平均予測値TFが決定される。オペレーションSHにおいてパケット廃棄部26は、平均予測値TFに応じて、入力パケットの廃棄率を以下の通り決定する。ここで廃棄率とは、所定時間当たりの入力パケットの全数に対する、パケット廃棄部26により廃棄されるパケット数の割合である。
パラメータMinThを、入力パケットを廃棄し始める滞留時間の予測値の閾値(廃棄開始時予測値)とする。パラメータMaxPを、入力パケットの廃棄率の最大値(最大廃棄率)とする。パラメータMaxThを、廃棄率が最大廃棄率MaxPに至る滞留時間(最大廃棄時予測値)とする。
平均予測値TFがMinTh以下であるとき、パケット廃棄部26は正常に転送可能なパケットの廃棄率を0にする。すなわち、TF≦MinThのとき入力パケットは廃棄されない。平均予測値TFがMaxTh以上のとき、パケット廃棄部26は、廃棄率をMaxPにする。平均予測値TFがMinThより大きくMaxTh未満であるとき、パケット廃棄部26は、廃棄率を、(廃棄率=MaxP×(平均予測値TF−MinTh)/(MaxTh−MinTh))により決定する。
オペレーションSIにおいてパケット廃棄部26は、到着したパケットをSHにて決定した廃棄率で廃棄する。すなわち、パケット廃棄部26は、キュー21におけるパケットの滞留時間の予測値に基づくWREDを行う。オペレーションSJにおいてパケット廃棄部26は、平均予測値TFがMinThより大きいか否かを判定することにより、輻輳が発生したか否かを判定する。パケット廃棄部26が輻輳が発生していないと判定したとき(オペレーションSJ:N)、入力パケットバッファ11−1は処理をオペレーションSBに戻す。
輻輳が発生したと判定したとき(オペレーションSJ:Y)、オペレーションSGにおいてパケット廃棄部26は、廃棄パケットの送信元の装置に対して、スイッチ10において輻輳が発生したことを明示的に通知する。その後、入力パケットバッファ11−1は処理をオペレーションSBに戻す。なお、別な実施の態様においては、上記オペレーションSB乃至オペレーションSJの各オペレーションはステップであってもよい。
本実施例によれば、輻輳が発生したとき、平均予測値TFが廃棄開始時予測値MinThを超えた頃からパケットの廃棄が開始され、パケット廃棄を検知した送信元装置からのパケットのフローのレートが低減される。この結果、平均予測値TFが過度に大きくなると予想されるときには、キュー21内にパケットが蓄積されないので、パケットの滞留時間は、上記各パラメータに応じて定まる設定値に近づくように制御される。この結果、入力パケットバッファ11−1において生じる遅延変動が低減される。
図9は、図6に示すレート測定部23の第1構成例を説明する構成図である。本実施例では、入力パケットバッファ11−1は入力パケットを一時的に保持するためのN個のキュー21−1〜21−Nを有している。キュー21−1〜21−Nは、入力パケットバッファ11−1へ入力されたパケットを一時的に保持するための待ち行列であり、宛先、ユーザ、アプリケーションなどによって分類された入力パケットを、各分類ごとに先入れ先出し方式で保持する。参照符号30はレート測定制御部を示し、参照符号31は送出累積量測定部を示し、参照符号32は測定値記憶部を示し、参照符号33は送出量算出部を示し、参照符号34はレート算出部を示す。レート測定部23は、レート測定制御部30と、送出累積量測定部31と、測定値記憶部32と、送出量算出部33と、レート算出部34を備える。
レート測定制御部30は、N個のキュー21−1〜21−Nのそれぞれを、パケットの出力レートを測定する対象となるキューとして、一定の測定周期T0で周期的に順次選択する。レート測定制御部30は、選択したキューを、送出累積量測定部31及び測定値記憶部32へ通知する。送出累積量測定部31は、各キュー21−1〜21−Nから送出されるデータ量をカウントしてその累積量を求める。レート測定制御部30から測定対象のキューを通知されたとき、その測定対象のキューから送出されたデータ量の累積量を、測定値記憶部32及び送出量算出部33へ出力する。
測定値記憶部32は、送出累積量測定部31から出力された送出データ量の累積量を、各キュー21−1〜21−N毎に記憶する。また、レート測定制御部30から測定対象のキューを通知されたとき、前回の測定時に記憶した送出データ量の累積量を送出量算出部33へ出力する。送出量算出部33は、今回測定した送出データ量の累積量を送出累積量測定部31から受信し、前回測定した送出データ量の累積量を測定値記憶部32から受信する。送出量算出部33は、前回測定時から今回測定時までの間に対象キューから送出された送出データ量(=今回測定した送出データ量の累積値−前回測定した送出データ量の累積値)を算出する。送出量算出部33は、算出した送出データ量をレート算出部34へ出力する。
レート算出部34は、送出量算出部33から入力した送出データ量から、測定対象のキューから出力されるパケットの出力レートRO(=送出データ量/測定周期T0)を算出し、出力する。レート算出部34は、逐次算出される出力レートROに代えて、出力レートROの加重移動平均値を出力してもよい。加重移動平均値を用いることで突発的なレート変化が発生した際に、その影響を排除し、安定した制御を行うことが可能となる。なお、加重移動平均値以外の平均値を求める他の方法として単純平均法、簡易指数平均法、最小二乗法などを適用してもよい。
図10は、開示のレート測定方法の第1例を説明する方法である。図7及び図8に示すオペレーションSBにおいて測定される出力レートは、図10を参照して以下に説明するレート測定方法によって測定することができる。
レート測定制御部30は、N個のキュー21−1〜21−Nのそれぞれを、パケットの出力レートを測定する対象となるキューとして、一定の測定周期T0で周期的に順次選択する。選択された各キューについて、送出累積量測定部31、測定値記憶部32、送出量算出部33及びレート算出部34が、パケットの出力レートを算出することにより、繰り返しループSBA〜SBFが実行される。
送出累積量測定部31は、各キュー21−1〜21−Nから送出されるデータ量をカウントしてその累積量を求める。オペレーションSBBにおいて送出累積量測定部31は、選択された測定対象のキューから送出されたデータ量の累積量を、測定値記憶部32及び送出量算出部33へ出力する。オペレーションSBCにおいて測定値記憶部32は、送出累積量測定部31から出力された送出データ量の累積量を、各キュー21−1〜21−N毎に記憶する。
オペレーションSBDにおいて測定値記憶部32は、測定対象のキューについて前回の測定時に記憶した送出データ量の累積量を送出量算出部33へ出力する。送出量算出部33は、前回測定時から今回測定時までの間に対象キューから送出された送出データ量を算出する。オペレーションSBEにおいてレート算出部34は、送出量算出部33から入力した送出データ量から、測定対象のキューから出力されるパケットの出力レートROを算出する。その後、レート測定制御部30は、次のキューを選択して処理をオペレーションSBBに戻す。なお、別な実施の態様においては、上記オペレーションSBA乃至オペレーションSBFの各オペレーションはステップであってもよい。
本実施例では、上記の通り、一定間隔で周期的に各キューの出力レートを測定することにより、測定間隔の算出を省略することができる。このため処理内容が簡略化することができ、多数のキューに対するリアルタイムな測定処理を短時間に行うことが可能となる。
図11は、図6に示すレート測定部23の第2構成例を説明する構成図である。本実施例においても、入力パケットバッファ11−1は入力パケットを一時的に保持するためのN個のキュー21−1〜21−NをN個有している。参照符号40は読み出しタイミング検出部を示し、参照符号41は時刻測定部を示し、参照符号42は時刻記憶部を示し、参照符号43は測定間隔算出部を示す。レート測定部23は、レート測定制御部30と、送出累積量測定部31と、測定値記憶部32と、送出量算出部33と、レート算出部34と、読み出しタイミング検出部40と、時刻測定部41と、時刻記憶部42と、測定間隔算出部43を備える。
送出累積量測定部31、測定値記憶部32及び送出量算出部33の機能は、図9を参照して説明したそれぞれの機能と同様である。読み出しタイミング検出部40は、各キュー21−1〜21−Nのいずれかからデータの読み出しがあったとき、データが読み出されたキューをレート測定制御部30に通知する。レート測定制御部30は、通知されたキューを、パケットの出力レートを測定する対象となるキューとして、送出累積量測定部31、測定値記憶部32及び時刻記憶部42へ通知する。
時刻測定部41は現在時刻を測定する。レート測定制御部30から測定対象のキューを通知されたとき、時刻記憶部42は、測定対象のキューの測定時刻として現在時刻を記憶するとともに、記憶されている前回の測定時刻を測定間隔算出部43へ出力する。測定間隔算出部43は、時刻記憶部42から出力された前回の測定時刻と現在時刻との差から、測定対象のキューについて測定が行われた測定間隔T1を算出する。測定間隔算出部43は、算出した測定間隔T1をレート算出部34へ出力する。
レート算出部34は、送出量算出部33から入力した送出データ量と、測定間隔算出部43から入力した測定間隔T1から、測定対象のキューから出力されるパケットの出力レートRO(=送出データ量/測定間隔T1)を算出し、出力する。レート算出部34は、逐次算出される出力レートROに代えて、出力レートROの加重移動平均値を出力してもよい。なお、加重移動平均値以外の平均値を求める他の方法として単純平均法、簡易指数平均法、最小二乗法などを適用してもよい。
図12は、開示のレート測定方法の第2例を説明する方法である。図7及び図8に示すオペレーションSBにおいて測定される出力レートは、図12を参照して以下に説明するレート測定方法によって測定することができる。オペレーションSCAにおいて読み出しタイミング検出部40は、各キュー21−1〜21−Nのいずれかからデータの読み出しがあったか否かを検出する。データの読み出しが検出されなかったとき(オペレーションSCA:N)、レート測定部23は処理をオペレーションSCAに戻す。
データの読み出しが検出されたとき(オペレーションSCA:Y)、オペレーションSCBにおいて送出累積量測定部31は、測定対象となる、読み出しが検出されたキューから読み出されたデータ量をカウントしてその累積量を求める。送出累積量測定部31は、測定対象のキューから読み出されたデータ量の累積量を、測定値記憶部32及び送出量算出部33へ出力する。オペレーションSCCにおいて測定値記憶部32は、送出累積量測定部31から出力されたデータ量の累積量を、各キュー21−1〜21−N毎に記憶する。
オペレーションSCDにおいて測定値記憶部32は、測定対象のキューについて前回の測定時に記憶した読み出しデータ量の累積量を送出量算出部33へ出力する。送出量算出部33は、前回測定時から今回測定時までの間に対象キューから読み出されたデータ量を、このキューから送出される送出データ量として算出する。
オペレーションSCEにおいて時刻測定部41は、現在時刻を測定する。オペレーションSCFにおいて時刻記憶部42は、測定対象のキューの測定時刻として現在時刻を記憶するとともに、記憶されている前回の測定時刻を測定間隔算出部43へ出力する。オペレーションSCGにおいて測定間隔算出部43は、時刻記憶部42から出力された前回の測定時刻と現在時刻との差から、測定対象のキューについて測定が行われた測定間隔T1を算出する。
オペレーションSCHにおいて、レート算出部34は、送出量算出部33から入力した送出データ量と、測定間隔算出部43から入力した測定間隔T1から、測定対象のキューから出力されるパケットの出力レートROを算出する。レート算出部34は、逐次算出される出力レートROに代えて、出力レートROの加重移動平均値を出力してもよい。加重移動平均値を用いることで突発的なレート変化が発生した際に、その影響を排除し、安定した制御を行うことが可能となる。なお、別な実施の態様においては、上記オペレーションSCA乃至オペレーションSCHの各オペレーションはステップであってもよい。
本実施例では、キューからのデータの読み出し時に、データの読み出し量に基づいてキューの出力レートを測定することとした。これに代えて、キューへデータの書き込みを検出するデータ書き込みタイミング検出手段を設けて、データ書き込み時にデータの書き込み量に基づいて出力レートを測定してもよい。
本実施例では、キューからのデータの読み出し時又は、キューへのデータの書き込み時に各キューの出力レートを測定することにより、各キューの出力レートの測定値が変動するタイミングで、これらの測定値をリアルタイムで決定することができる。このため、出力レートの変動に対する追従性を向上することができる。また、データの読み出しや書き込みが発生しない場合に、無駄な測定処理を省略することができる。
図13は、図5に示す入力パケットバッファ11−1の第2構成例を説明する構成図である。参照符号27はキュー長記憶部を示し、参照符号28は滞留時間測定部を示す。他の参照符号は、図6において同じ参照符号を付した構成要素と同様である。入力パケットバッファ11−1は、キュー21、キュー長測定部22、滞留時間予測部24、移動平均演算部25、パケット廃棄部26、キュー長記憶部27及び滞留時間測定部28を備える。
キュー長測定部22は、パケット毎に、各パケットがキュー21に到着したときのキュー長(以下「到着時キュー長」と示す)と、先頭パケットをキュー21から読み出すときのキュー長(以下「現キュー長」と示す)を測定する。キュー長測定部22は、到着時キュー長を、パケット毎にキュー長記憶部27に記憶する。
滞留時間測定部28は、パケット毎に、その到着時刻とキュー21からの読み出し時刻との差を算出することにより、キュー21内における各パケットの滞留時間を測定する。滞留時間予測部24は、各パケット毎に、到着時キュー長に対する現キュー長の変化率(現キュー長/到着時キュー長)を算出し、この変化率とこのパケットの滞留時間との積を滞留時間の予測値(予測値=滞留時間×現キュー長/到着時キュー長)として決定する。
なお、キュー長測定部22は、到着時キュー長及び現キュー長を測定する際に、順次測定される測定値そのものに代えて、その荷重移動平均値を測定結果として出力してよい。このように加重移動平均値を測定結果として用いることで、突発的なキュー長の変化により滞留時間の予測値が不安定になることが回避される。なお、加重移動平均値以外の平均値を求める他の方法として単純平均法、簡易指数平均法、最小二乗法などを適用してもよい。
図14は、開示のパケット廃棄方法の第3例を説明する方法である。オペレーションSDAにおいてキュー長測定部22は、パケット到着時におけるキュー21のキュー長、すなわち到着時キュー長を測定する。オペレーションSDBにおいてキュー長測定部22は、到着時キュー長をキュー長記憶部27に記憶する。
オペレーションSDCにおいて滞留時間測定部28は、パケットの到着時刻とキュー21読み出し時刻の差から、キュー21内における各パケットの滞留時間を測定する。オペレーションSDDにおいてキュー長測定部22は、オペレーションSDAにおいて到着時キュー長を測定したパケットについて、このパケットをキュー21から読み出した時のキュー長、すなわち現キュー長を測定する。
オペレーションSDEにおいて滞留時間予測部24は、各パケット毎に、到着時キュー長に対する現キュー長の変化率(現キュー長/到着時キュー長)を算出する。オペレーションSDFにおいて滞留時間予測部24は、オペレーションSDEで測定した変化率とパケットの滞留時間との積を滞留時間の予測値として決定する。移動平均演算部25は、滞留時間予測部24が決定した滞留時間の平均予測値TFを算出する。
オペレーションSDGにおいてパケット廃棄部26は、移動平均演算部25が算出した平均予測値TFが、所定の滞留可能許容時間THTを超えるか否かを判定する。平均予測値TFが滞留可能許容時間THTを超えないとき(オペレーションSDG:N)、入力パケットバッファ11−1は処理をオペレーションSDAに戻す。
平均予測値TFが滞留可能許容時間THTを超えるとき(オペレーションSDG:Y)、パケット廃棄部26は処理をオペレーションSDHへ移す。オペレーションSDHにおいてパケット廃棄部26は、到着したパケットをキュー21に保持せずに廃棄する。すなわち、パケット廃棄部26は滞留時間の予測値に基づくテイルドロップ処理を行う。またオペレーションSDIにおいてパケット廃棄部26は、パケットを廃棄するとき、このパケットの送信元の装置に対して、スイッチ10において輻輳が発生したことを明示的に通知する。その後、入力パケットバッファ11−1は処理をオペレーションSBAに戻す。
なお、本実施例においてパケット廃棄部26は、平均予測値TFを滞留可能許容時間THTと比較して輻輳判定を行った。これに代えてパケット廃棄部26は、図8に示すオペレーションSH、SI、SJ及びSGの処理と同様に、平均予測値TFに応じた入力パケットの廃棄率を決定することによってWREDを行ってもよい。なお、別な実施の態様においては、上記オペレーションSDA乃至オペレーションSDIの各オペレーションはステップであってもよい。
本実施例によれば、滞留時間予測部24がキュー長の変化率に基づいて予測値を計算することで、キュー長の変化傾向を考慮した滞留時間の予測を行うことが可能となる。
図15は、図5に示す入力パケットバッファ11−1の第3構成例を説明する構成図である。参照符号50はキュー長閾値決定部を示し、参照符号51はパケット廃棄制御部を示し、参照符号52はヘッドドロップ処理部52を示す。
入力パケットバッファ11−1は、パケット判別部2と、パケット分配部4と、N個のキュー21−1〜21−Nと、キュー長測定部22と、パケット廃棄部26とを備える。入力パケットバッファ11−1は、レート測定制御部30と、送出累積量測定部31と、測定値記憶部32と、送出量算出部33を備える。入力パケットバッファ11−1は、キュー長閾値決定部50と、パケット廃棄制御部51と、ヘッドドロップ処理部52を備える。
レート測定制御部30と、送出累積量測定部31と、測定値記憶部32及び送出量算出部33の機能は、図9を参照して説明したそれぞれの機能と同様である。すなわち、レート測定制御部30と、送出累積量測定部31と、測定値記憶部32及び送出量算出部33は、各キュー21−1〜21−Nについて、所定の測定周期T0毎に、各キューから出力される送出データ量を測定する。
パケット判別部2は、入力パケットが、送信元のユーザについて定めた入力帯域幅に関する規定を遵守しているか否かを判別し、規定を遵守しているパケットとそうでないパケットに分類する。パケット分配部4は、入力パケットの宛先、ユーザ、アプリケーションなどに応じて、入力パケットを、キュー21−1〜21−Nのいずれかに分配する。ヘッドドロップ処理部52は、各パケットのキュー21−1〜21−Nでの滞留時間を測定する。基準値を超えてパケットがキュー内に滞留した場合、ヘッドドロップ処理部52は、入力帯域幅に関する規定を遵守しているか否かに関わらずパケットをキューの先頭から廃棄する。
キュー長閾値決定部50は、各キュー21−1〜21−Nについて、送出量算出部33が算出した送出データ量を受信する。キュー長閾値決定部50は、各キュー21−1〜21−Nについて、送出量算出部33から入力した送出データ量と、所定の定数である滞留可能許容時間THTと、所定の測定周期T0に応じて、キュー長閾値THQ(キュー長閾値THQ=滞留可能許容時間THT/測定周期T0×送出データ量)を算出する。キュー長閾値決定部50は、キュー長閾値THQをパケット廃棄制御部51へ出力する。
パケット廃棄制御部51は、キュー長測定部22が各キュー21−1〜21−Nについて測定したキュー長LQが、キュー長閾値決定部50が各キュー21−1〜21−Nについて算出したキュー長閾値THQを超えるか否かを判定する。各キュー21−1〜21−Nからのパケットの出力レートは、(送出データ量/測定周期T0)と等しいため、キュー長LQがキュー長閾値THQよりも長い場合、滞留時間の予測値(キュー長LQ/出力レート)が滞留可能許容時間THTよりも長くなる。パケット廃棄制御部51は、パケット廃棄部26に対して、キュー長LQがキュー長閾値THQを超えるキューについてテイルドロップを行う指示を出力する。
パケット廃棄部26は、テイルドロップが行われるべきキューへ保持されることを予定されている、入力帯域幅に関する規定を遵守していないパケットが入力されたとき、このパケットを、キューに保持せずに廃棄する。パケット廃棄部26は、テイルドロップが行われるべきキューへ保持することを予定されているパケットであっても、入力帯域幅に関する規定を遵守しているパケットが入力されたとき、このパケットをキューに保持する。
図16は、開示のパケット廃棄方法の第4例を説明する方法である。オペレーションSEAにおいてパケット判別部2は、入力パケットが、送信元のユーザについて定めた入力帯域幅に関する規定を遵守しているか否かを判別し、規定を遵守しているパケットとそうでないパケットに分類する。パケット廃棄部26は、入力帯域幅に関する規定を遵守しているパケットをキューに保持する。
以下、各キュー21−1〜21−Nのそれぞれについて、繰り返しループSEB〜SFB繰り返す。繰り返しループSEB〜SFBにて繰り返される各処理において、レート測定制御部30は、N個のキュー21−1〜21−Nのそれぞれを、パケットの出力レートを測定する対象となるキューとして、一定の測定周期T0で周期的に順次選択する。
送出累積量測定部31は、各キュー21−1〜21−Nから送出されるデータ量をカウントしてその累積量を求める。オペレーションSECにおいて送出累積量測定部31は、選択された測定対象のキューから送出されたデータ量の累積量を、測定値記憶部32及び送出量算出部33へ出力する。オペレーションSEDにおいて測定値記憶部32は、送出累積量測定部31から出力された送出データ量の累積量を、各キュー21−1〜21−N毎に記憶する。
オペレーションSEEにおいて測定値記憶部32は、測定対象のキューについて前回の測定時に記憶した送出データ量の累積量を送出量算出部33へ出力する。送出量算出部33は、前回測定時から今回測定時までの間に対象キューから送出された送出データ量を算出する。オペレーションSEFにおいてキュー長閾値決定部50は、測定対象のキューについて、送出量算出部33から入力した送出データ量と、所定の定数である滞留可能許容時間THTと、所定の測定周期T0に応じて、キュー長閾値THQを算出する。
オペレーションSEGにおいて、オペレーションSCにおいてキュー長測定部22は、測定対象となるキューのキュー長LQを測定する。オペレーションSEHにおいてパケット廃棄制御部51は、測定対象となるキューのキュー長LQが、キュー長閾値決定部50が算出したキュー長閾値THQを超えるか否かを判定する。キュー長LQがキュー長閾値THQを超えないとき(オペレーションSEH:N)、入力パケットバッファ11−1は処理をオペレーションSFAへ移す。
キュー長LQがキュー長閾値THQを超えるとき(オペレーションSEH:Y)、オペレーションSEIにおいてパケット廃棄部26は、入力帯域幅に関する規定を遵守していない到着パケットを、対象のキューに保持せずに破棄する。オペレーションSEJにおいてパケット廃棄部26は、廃棄したパケットの送信元の装置に対して、スイッチ10において輻輳が発生したことを明示的に通知する。入力パケットバッファ11−1は処理をオペレーションSFAに移す。
オペレーションSFAにおいてヘッドドロップ処理部52は、測定対象となるキュー内に保持されたパケットの滞留時間を測定する。基準値を超えてパケットがキュー内に滞留した場合、ヘッドドロップ処理部52は、入力帯域幅に関する規定を遵守しているか否かに関わらずパケットをキューの先頭から廃棄する。その後、入力パケットバッファ11−1は処理をオペレーションSEAに戻す。なお、別な実施の態様においては、上記オペレーションSEA乃至オペレーションSFBの各オペレーションはステップであってもよい。
ヘッドドロップ処理部52が、パケットを廃棄するか否かを判定するために、パケットの滞留時間と比較する基準値は、滞留可能許容時間THTよりも長い値を使用してよい。このような値を使用することにより、入力帯域幅に関する規定を遵守していないパケットを、入力帯域幅に関する規定を遵守しているパケットよりも先に破棄することができる。
第3構成例によれば、一定の所定周期T0で各キューからの送出データ量を測定する。これにより、キュー長閾値THQの計算式(キュー長閾値THQ=滞留可能許容時間/測定周期T0×送出データ量)において、係数(滞留可能許容時間/測定周期T0)を定数とすることができる。このため、キュー長閾値THQの計算回路を簡単化することができる。
なお、上記構成例において、ヘッドドロップ処理部52を省略してもよい。このとき、入力帯域幅に関する規定を遵守しているか否かに関わらず、全てのパケットをパケット廃棄部26による廃棄の対象としてよい。また、入力帯域幅に関する規定を遵守しているか否かに応じて、滞留可能許容時間の長さを異ならせてもよい。例えば、入力帯域幅に関する規定を遵守しているパケットを廃棄するか否かを判定する場合には、遵守していないパケットの場合と比べて、比較的長い滞留可能許容時間を用いてもよい。以下の第4構成例〜第7構成例においても同様である。
図17は、図5に示す入力パケットバッファ11−1の第4構成例を説明する構成図である。入力パケットバッファ11−1は、パケット判別部2と、パケット分配部4と、N個のキュー21−1〜21−Nと、キュー長測定部22と、パケット廃棄部26とを備える。入力パケットバッファ11−1は、レート測定制御部30と、送出累積量測定部31と、測定値記憶部32と、送出量算出部33を備える。入力パケットバッファ11−1は、読み出しタイミング検出部40と、時刻測定部41と、時刻記憶部42と、測定間隔算出部43を備える。入力パケットバッファ11−1は、キュー長閾値決定部50と、パケット廃棄制御部51と、ヘッドドロップ処理部52を備える。
レート測定制御部30と、送出累積量測定部31と、測定値記憶部32と、送出量算出部33と、読み出しタイミング検出部40と、時刻測定部41と、時刻記憶部42と、測定間隔算出部43の機能は、図11を参照して説明したそれぞれの機能と同様である。読み出しタイミング検出部40が、各キュー21−1〜21−Nのいずれかからデータの読み出しがあったことを検出したとき、レート測定制御部30は、読み出しがあったキューを、送出データ量の測定対象となるキューとして指定する。送出累積量測定部31と、測定値記憶部32と、送出量算出部33は、測定対象となるキューについて今回の測定時と前回の測定時の間にキューから読み出されたデータ量を、送出データ量として算出する。時刻測定部41と、時刻記憶部42と、測定間隔算出部43は、今回の測定時と前回の測定時の間の測定間隔を算出する。
キュー長閾値決定部50は、各キュー21−1〜21−Nについて、送出量算出部33が算出した送出データ量を受信する。キュー長閾値決定部50は、各キュー21−1〜21−Nについて、送出量算出部33から入力した送出データ量と、測定間隔算出部43から入力した測定間隔T1に応じて、キュー長閾値THQ(キュー長閾値THQ=滞留可能許容時間THT/測定間隔T1×送出データ量)を算出する。キュー長閾値決定部50は、キュー長閾値THQをパケット廃棄制御部51へ出力する。
パケット廃棄制御部51、パケット廃棄部26、パケット判別部2、パケット分配部4及びヘッドドロップ処理部52の機能は、図15を参照して説明したそれぞれの機能と同様である。
図18は、開示のパケット廃棄方法の第5例を説明する方法である。オペレーションSGAにおいてパケット判別部2は、入力パケットが、送信元のユーザについて定めた入力帯域幅に関する規定を遵守しているか否かを判別し、規定を遵守しているパケットとそうでないパケットに分類する。パケット廃棄部26は、入力帯域幅に関する規定を遵守しているパケットをキューに保持する。
オペレーションSGBにおいて読み出しタイミング検出部40は、各キュー21−1〜21−Nのいずれかからデータの読み出しがあったか否かを検出する。データの読み出しが検出されなかったとき(オペレーションSGB:N)、入力パケットバッファ11−1は処理をオペレーションSGBに戻す。
データの読み出しが検出されたとき(オペレーションSGB:Y)、オペレーションSGCにおいて送出累積量測定部31は、読み出しが検出された測定対象となるキューから読み出されたデータ量をカウントしてその累積量を求める。送出累積量測定部31は、測定対象のキューから読み出されたデータ量の累積量を、測定値記憶部32及び送出量算出部33へ出力する。オペレーションSGDにおいて測定値記憶部32は、送出累積量測定部31から出力されたデータ量の累積量を、各キュー21−1〜21−N毎に記憶する。
オペレーションSGEにおいて測定値記憶部32は、測定対象のキューについて前回の測定時に記憶した読み出しデータ量の累積量を送出量算出部33へ出力する。送出量算出部33は、前回測定時から今回測定時までの間に対象キューから読み出されたデータ量を、このキューから送出される送出データ量として算出する。
オペレーションSGFにおいて時刻測定部41は、現在時刻を測定する。オペレーションSGGにおいて時刻記憶部42は、測定対象のキューの測定時刻として現在時刻を記憶するとともに、記憶されている前回の測定時刻を測定間隔算出部43へ出力する。オペレーションSGHにおいて測定間隔算出部43は、時刻記憶部42から出力された前回の測定時刻と現在時刻との差から、測定対象のキューについて測定が行われた測定間隔T1を算出する。
オペレーションSGIにおいてキュー長閾値決定部50は、測定対象のキューについて、所定の定数である滞留可能許容時間THTと、送出量算出部33から入力した送出データ量と、測定間隔算出部43から入力した測定間隔T1に応じて、キュー長閾値THQを算出する。以下に続くオペレーションSGJ〜SHDの処理は、図16に示すオペレーションSEG〜SFAと同じである。オペレーションSHDの後、入力パケットバッファ11−1は処理をオペレーションSGAに戻す。なお、別な実施の態様においては、上記オペレーションSGA乃至オペレーションSHDの各オペレーションはステップであってもよい。
なお本実施例では、キューからのデータの読み出し時に、データの読み出し量に基づいてキューからの送出データ量を測定することとした。これに代えて、キューへデータの書き込みを検出するデータ書き込みタイミング検出手段を設けて、データ書き込み時にデータの書き込み量に基づいてキューからの送出データ量を測定してもよい。以下に示す第6実施例においても同様である。
第4構成例によれば、キューからのデータの読み出し時又は、キューへのデータの書き込み時に、キュー長閾値THQを決定することにより、各キューへのトラヒックが実際に生じたタイミングで、これらのキュー長閾値THQをリアルタイムで決定することができる。このため、トラヒック量の変動に対する追従性を向上することができる。また、データの読み出しや書き込みが発生しない場合に、無駄な測定処理を省略することができる。
図19は、図5に示す入力パケットバッファ11−1の第5構成例を説明する構成図である。入力パケットバッファ11−1は、パケット判別部2と、パケット分配部4と、N個のキュー21−1〜21−Nと、キュー長測定部22と、滞留時間予測部24と、パケット廃棄部26とを備える。入力パケットバッファ11−1は、レート測定制御部30と、送出累積量測定部31と、測定値記憶部32と、送出量算出部33を備える。入力パケットバッファ11−1は、読み出しタイミング検出部40と、時刻測定部41と、時刻記憶部42と、測定間隔算出部43を備える。入力パケットバッファ11−1は、パケット廃棄制御部51と、ヘッドドロップ処理部52を備える。
レート測定制御部30と、パケット判別部2と、パケット分配部4と、送出累積量測定部31と、測定値記憶部32と、送出量算出部33と、ヘッドドロップ処理部52は、図15に示すそれぞれの要素と同様である。キュー長測定部22は、レート測定制御部30により選択された、測定対象となるキューについてキュー長を測定する。滞留時間予測部24は、キュー長測定部22により測定されたキュー長と、送出量算出部33により測定された測定対象のキューのデータ送出量と、測定周期T0に応じて、滞留時間の予測値TF(予測値TF=キュー長×測定周期T0/データ送出量)を算出する。滞留時間予測部24は、この予測値TFそのものに代えて、その加重移動平均値を予測値TFとして出力してよい。なお、加重移動平均値以外の平均値を求める他の方法として単純平均法、簡易指数平均法、最小二乗法などを適用してもよい。
パケット廃棄制御部51は、滞留時間の予測値TFに基づいて、入力パケットの廃棄率を決定する。廃棄率の決定方法は、図8を参照して説明した方法と同様であってよい。パケット廃棄部26は、廃棄率が決定されたキューへ保持されることが予定されている、入力帯域幅に関する規定を遵守していないパケットが入力されたとき、このパケットを、パケット廃棄制御部51により決定された廃棄率で廃棄する。
図20は、開示のパケット廃棄方法の第6例を説明する方法である。オペレーションSIAにおいて、パケット判別部2は、入力パケットが、送信元のユーザについて定めた入力帯域幅に関する規定を遵守しているか否かを判別し、規定を遵守しているパケットとそうでないパケットに分類する。パケット廃棄部26は、入力帯域幅に関する規定を遵守しているパケットをキューに保持する。
以下、各キュー21−1〜21−Nのそれぞれについて、繰り返しループSIB〜SJCを繰り返す。繰り返しループSIB〜SJCにて繰り返される各処理において、レート測定制御部30は、N個のキュー21−1〜21−Nのそれぞれを、パケットの出力レートを測定する対象となるキューとして、一定の測定周期T0で周期的に順次選択する。
オペレーションSIC〜オペレーションSIEにおいて、図16に示すオペレーションSEC〜オペレーションSEEの処理と同様の処理にて、対象となるキューの送出データ量が算出される。オペレーションSIFにおいてキュー長測定部22は、対象となるキューについてキュー長を測定する。オペレーションSIGにおいて滞留時間予測部24は、キュー長測定部22により測定されたキュー長と、送出量算出部33により測定された測定対象のキューのデータ送出量と、測定周期T0に応じて、測定対象のキューについて滞留時間の予測値TFを算出する。
オペレーションSIHにおいてパケット廃棄制御部51は、滞留時間の予測値TFに基づいて、入力パケットの廃棄率を決定する。オペレーションSIIにおいてパケット廃棄部26は、対象となるキューへ保持されることが予定されている、入力帯域幅に関する規定を遵守していないパケットが入力されたとき、このパケットを、オペレーションSIHで決定された廃棄率で廃棄する。
オペレーションSIJにおいてパケット廃棄部26は、図8に示すオペレーションSJと同様の判定を行い輻輳が発生したか否かを判定する。輻輳が発生していないと判定されたとき(オペレーションSIJ:N)、入力パケットバッファ11−1は処理をオペレーションSJBに移す。輻輳が発生したと判定したとき(オペレーションSIJ:Y)、オペレーションSJAにおいてパケット廃棄部26は、廃棄パケットの送信元の装置に対して、スイッチ10において輻輳が発生したことを明示的に通知する。その後、入力パケットバッファ11−1は処理をオペレーションSJBに移す。
オペレーションSJBにおいてヘッドドロップ処理部52は、測定対象となるキュー内に保持されたパケットの滞留時間を測定する。ヘッドドロップ処理部52は、基準値を超えてキュー内に滞留するパケットをキューの先頭から廃棄する。その後、入力パケットバッファ11−1は処理をオペレーションSIAに戻す。なお、別な実施の態様においては、上記オペレーションSIA乃至オペレーションSJBの各オペレーションはステップであってもよい。
図21は、図5に示す入力パケットバッファ11−1の第6構成例を説明する構成図である。入力パケットバッファ11−1は、パケット判別部2と、パケット分配部4と、N個のキュー21−1〜21−Nと、キュー長測定部22と、滞留時間予測部24と、パケット廃棄部26とを備える。入力パケットバッファ11−1は、レート測定制御部30と、送出累積量測定部31と、測定値記憶部32と、送出量算出部33を備える。入力パケットバッファ11−1は、読み出しタイミング検出部40と、時刻測定部41と、時刻記憶部42と、測定間隔算出部43を備える。入力パケットバッファ11−1は、パケット廃棄制御部51と、ヘッドドロップ処理部52を備える。
レート測定制御部30と、パケット判別部2と、パケット分配部4と、送出累積量測定部31と、測定値記憶部32と、送出量算出部33は、図17に示すそれぞれの要素と同様である。また、読み出しタイミング検出部40と、時刻測定部41と、時刻記憶部42と、測定間隔算出部43と、ヘッドドロップ処理部52は、図17に示すそれぞれの要素と同様である。パケット廃棄制御部51とパケット廃棄部26は図19に示すそれぞれの要素と同様である。
キュー長測定部22は、レート測定制御部30により選択された、測定対象となるキューについてキュー長を測定する。滞留時間予測部24は、キュー長測定部22により測定されたキュー長と、送出量算出部33により測定された測定対象のキューのデータ送出量と、測定間隔算出部43により決定された測定間隔T1に応じて、滞留時間の予測値TF(予測値TF=キュー長×測定間隔T1/データ送出量)を算出する。滞留時間予測部24は、この予測値TFそのものに代えて、その加重移動平均値を予測値TFとして出力してよい。なお、加重移動平均値以外の平均値を求める他の方法として単純平均法、簡易指数平均法、最小二乗法などを適用してもよい。
図22は、開示のパケット廃棄方法の第7例の方法である。オペレーションSBAAにおいてパケット判別部2は、入力パケットが、送信元のユーザについて定めた入力帯域幅に関する規定を遵守しているか否かを判別し、規定を遵守しているパケットとそうでないパケットに分類する。パケット廃棄部26は、入力帯域幅に関する規定を遵守しているパケットをキューに保持する。
オペレーションSBABにおいて読み出しタイミング検出部40は、各キュー21−1〜21−Nのいずれかからデータの読み出しがあったか否かを検出する。データの読み出しが検出されなかったとき(オペレーションSBAB:N)、入力パケットバッファ11−1は処理をオペレーションSBABに戻す。
データの読み出しが検出されたとき(オペレーションSBAB:Y)、読み出しが検出された測定対象のキューについて、オペレーションSBAC〜SBAHにおいて、図18に示すオペレーションSGC〜SGHと同様にして、送出データ量と測定間隔T1が測定される。
SBAIにおいてキュー長測定部22は、対象となるキューについてキュー長を測定する。オペレーションSBAJにおいて滞留時間予測部24は、キュー長測定部22により測定されたキュー長と、送出量算出部33により測定された測定対象のキューのデータ送出量と、測定間隔算出部43により決定された測定間隔T1に応じて、測定対象のキューについて滞留時間の予測値TFを算出する。以下に続くオペレーションSBBA〜SBBEの処理は、図20に示すオペレーションSIH〜SJBと同じである。オペレーションSBBEの後、入力パケットバッファ11−1は処理をオペレーションSBAAに戻す。なお、別な実施の態様においては、上記オペレーションSBAA乃至オペレーションSBBEの各オペレーションはステップであってもよい。
上記第5構成例及び第6構成例においても、ヘッドドロップ処理部52を省略し、入力帯域幅に関する規定を遵守しているか否かに関わらず、全てのパケットを、パケット廃棄部26による廃棄の対象としてよい。また、入力帯域幅に関する規定を遵守しているパケットと遵守していないパケットの間で、廃棄率の決定に使用する上述のパラメータMinTh、MaxP及びMaxThの値を変えてもよい。例えば、入力帯域幅に関する規定を遵守しているパケットを廃棄するか否かを判定する場合には、遵守していないパケットの場合と比べて、比較的小さい廃棄率となるようにパラメータを定めてもよい。以下の第7構成例においても同様である。
なお、第5構成例及び第6構成例において、パケット廃棄制御部51及びパケット廃棄部26は、滞留時間の予測値TFを算出し、この滞留時間の予測値に応じた廃棄率でパケットを廃棄した。これに代えて、パケット廃棄制御部51は、滞留時間の予測値TFが滞留可能許容時間THTより大きいか否かを判定し、パケット廃棄部26は、予測値TF>滞留可能許容時間THTとなるキューに到着する到着パケットを廃棄してもよい。
図23は、図5に示す入力パケットバッファ11−1の第7構成例を説明する構成図である。参照符号60は時刻測定部を示し、参照符号61は時刻記憶部を示し、参照符号62は滞留時間算出部を示す。入力パケットバッファ11−1は、パケット判別部2と、パケット分配部4と、N個のキュー21−1〜21−Nと、キュー長測定部22と、パケット廃棄部26と、キュー長記憶部27を備える。入力パケットバッファ11−1は、パケット廃棄制御部51と、ヘッドドロップ処理部52と、時刻測定部60と、時刻記憶部61と、滞留時間算出部62を備える。
パケット判別部2と、パケット分配部4と、パケット廃棄部26は、ヘッドドロップ処理部52は、図15に示すそれぞれの要素と同様である。キュー長測定部22は、パケット毎に、各パケットがキュー21−1〜21−Nに到着したときのキュー長である、到着時キュー長LQAを測定する。またキュー長測定部22は、先頭パケットをキュー21−1〜21−Nから読み出すときのキュー長である、現キュー長LQCを測定する。キュー長測定部22は、到着時キュー長LQAを、各パケット毎にキュー長記憶部27に記憶する。
時刻測定部60は、パケット毎に、各パケットが各キュー21−1〜21−Nに到着したとき時刻(以下「到着時刻」と示す)と、先頭パケットを各キュー21−1〜21−Nからから読み出すときの時刻(以下「現時刻」と示す)を測定する。時刻測定部60は、到着時刻を、各パケット毎に時刻記憶部61に記憶する。滞留時間算出部62は、各パケット毎に、その到着時刻と現時刻との差を算出することにより、各キュー21−1〜21−N内における各パケットの滞留時間TSを測定する。
パケット廃棄制御部51は、キュー長測定部22が各キュー21−1〜21−Nに格納されたパケットについて決定された、到着時キュー長LQA、現キュー長LQC及び滞留時間TSと、予め定めた滞留可能許容時間THTとに基づいて、各キュー毎に次の条件式(1)が満たされるか否かを判定する。
滞留可能許容時間THT×到着時キュー長LQA < 滞留時間TS×現キュー長LQC …(1)
ここで、滞留時間の予測値TFを、TF=(滞留時間TS×現キュー長LQC/到着時キュー長LQA)によって決定するとすれば、条件式(1)は予測値TF>滞留可能許容時間THTと等価である。
パケット廃棄制御部51は、滞留時間TSと、所定の基準値MINTSに基づいて、各キュー毎に、次の条件式(2)が満たされるか否かを判定する。
滞留時間TS>所定の基準値MINTS …(2)
パケット廃棄制御部51は、パケット廃棄部26に対して、上記条件式(1)及び(2)を満たすキューについてテイルドロップを行う指示を出力する。条件式(1)に加えて条件式(2)を加えることにより、滞留時間の予測値TFが滞留可能許容時間THTを超えていても、実際には、滞留時間TSがある程度の大きさになっていない場合にはパケット廃棄を停止することができる。
図24は、開示のパケット廃棄方法の第8例を説明する方法である。オペレーションSBCAにおいて、パケット判別部2は、入力パケットが、送信元のユーザについて定めた入力帯域幅に関する規定を遵守しているか否かを判別し、規定を遵守しているパケットとそうでないパケットに分類する。パケット廃棄部26は、入力帯域幅に関する規定を遵守しているパケットをキューに保持する。
オペレーションSBCBにおいてキュー長測定部22は、各キューに到着するパケット毎に到着時キュー長LQAを測定する。オペレーションSBCCにおいてキュー長測定部22は、到着時キュー長LQAを、各パケット毎にキュー長記憶部27に記憶する。オペレーションSBCDにおいて時刻測定部60は、パケット毎に、各パケットが各キューに到着したときの到着時刻を測定する。オペレーションSBCEにおいて時刻測定部60は、到着時刻を、各パケット毎に時刻記憶部61に記憶する。
オペレーションSBCFにおいて滞留時間算出部62は、各パケット毎に、その到着時刻と現時刻との差を算出することにより、各キュー21−1〜21−N内における各パケットの滞留時間TSを測定する。オペレーションSBCGにおいてキュー長測定部22は、オペレーションSBCBにおいて到着時キュー長LQAを測定したパケットについて、このパケットをキュー21から読み出した時の現キュー長LQCを測定する。
オペレーションSBCHにおいてパケット廃棄制御部51は、上記条件式(1)及び条件式(2)の両方が満たされるか否かを判定する。条件式(1)及び条件式(2)の一方又は両方が満たされないとき(オペレーションSBCH:N)、入力パケットバッファ11−1は処理をSBDAへ移す。
条件式(1)及び条件式(2)の両方が満たされるとき(オペレーションSBCH:Y)、オペレーションSBCIにおいてパケット廃棄制御部51は、条件式(1)及び条件式(2)の両方が満されるキューについてテイルドロップを行う指示をパケット廃棄部26へ出力する。パケット廃棄部26は、テイルドロップが行われるキューへ、入力帯域幅に関する規定を遵守していないパケットが到着したとき、このパケットを破棄する。オペレーションSBCJにおいてパケット廃棄部26は、廃棄したパケットの送信元の装置に対して、スイッチ10において輻輳が発生したことを明示的に通知する。入力パケットバッファ11−1は処理をオペレーションSBDAに移す。オペレーションSBDAにおいてヘッドドロップ処理部52は、図16に示すオペレーションSFAと同様の処理を行う。その後、入力パケットバッファ11−1は処理をオペレーションSBCAに戻す。なお、別な実施の態様においては、上記オペレーションSBCA乃至オペレーションSBDAの各オペレーションはステップであってもよい。
本実施例によれば、上記条件式を判定する際に除算を用いないので、除算回路を不要とすることができる。
なお、本実施例においてパケット廃棄制御部51及びパケット廃棄部26は、滞留時間TS×到着時キュー長LQAが、滞留可能許容時間THT×現キュー長LQCよりも大きいときパケットを廃棄した。これに代えて、パケット廃棄制御部51は、滞留時間TSと現キュー長LQCと到着時キュー長LQAとに基づき、滞留時間の予測値を算出し、この滞留時間の予測値に応じた入力パケットの廃棄率を決定してよい。また、パケット廃棄部26は、決定された廃棄率に基づくWRED処理を行ってもよい。
また本実施例においてパケット廃棄制御部51及びパケット廃棄部26は、上記条件式(2)が満たされる場合に限り、すなわち滞留時間TSが所定の基準値MINTSを超える場合にのみ、パケットの廃棄処理を行っている。同様に、上記の第1構成例〜第6構成例においても、滞留時間TSが所定の基準値MINTSを超える場合にのみ、パケットの廃棄処理を行ってもよい。
以上、本発明の好適な実施態様について詳述したが、当業者が種々の修正及び変更をなし得ること、並びに、特許請求の範囲は本発明の真の精神および趣旨の範囲内にあるこの様な全ての修正及び変更を包含することは、本発明の範囲に含まれることは当業者に理解されるべきものである。
上記実施例の記載に基づき以下のように発明を構成してもよい。
(1)
到着したパケットがキュー内に滞留する時間を予測する滞留時間予測ステップと、
前記滞留時間予測ステップにより決定された予測時間が所定の第1基準値を超えるとき、到着したパケットを廃棄するパケット廃棄ステップと、
を含むパケット廃棄方法。(図7)
(2)
前記パケット廃棄ステップは、前記予測時間が前記第1基準値を超える超過量に応じて、到着したパケットを廃棄する割合を変化させる(1)に記載のパケット廃棄方法。(図8)
(3)
到着したパケットについて予測された前記予測時間が前記第1基準値を超えるとき、前記到着したパケットの送信元装置へ、輻輳の発生を通知する(1)に記載のパケット廃棄方法。
本発明は、到着したパケットを一時的に保持するパケットバッファ装置に利用可能である。

Claims (8)

  1. 入力されたパケットを変化する出力レートで出力するパケットバッファ装置であって、
    パケットを順に格納し、先入れ先出しで出力するキュー手段と、
    前記キュー手段が格納しているデータ量であるキュー長を測定するキュー長測定手段と、
    前記キュー手段から出力されるパケットの前記出力レートを測定するレート測定手段と、
    測定された前記キュー長と測定された前記出力レートとに基づいて、前記パケットバッファ装置に入力された入力パケットが前記キュー手段に滞留すると予測される予測時間を求める滞留時間予測手段と、
    前記予測時間が所定の基準値を超えるとき、前記入力パケットを前記キュー手段に格納する前に廃棄するパケット廃棄手段と、
    前記キュー手段に滞留するパケットの滞留時間を測定する滞留時間測定手段と、を備え、
    前記パケット廃棄手段は、測定される滞留時間が所定の第1基準値未満のとき、前記予測時間が前記基準値である第2基準値を超えていても前記パケットを廃棄しないことを特徴とするパケットバッファ装置。
  2. 前記パケット廃棄手段は、前記予測時間が前記基準値を超える超過量に応じて変化する割合で、前記入力パケットを廃棄する請求項1に記載のパケットバッファ装置。
  3. パケットの出力優先順位が異なる複数の前記キュー手段を備え、
    前記キュー長測定手段は、前記複数のキュー手段のうち出力優先順位が最高でないいずれかのキュー手段のキュー長を測定し、
    前記レート測定手段は、前記いずれかのキュー手段から出力されるパケットの出力レートを測定し、
    前記パケット廃棄手段は、前記予測時間が前記基準値を超えるとき前記いずれかのキュー手段に入力したパケットを廃棄する、請求項1又は2に記載のパケットバッファ装置。
  4. 前記予測時間が前記基準値を超えるとき、前記パケットバッファ装置に入力された入力パケットの送信元装置へ、輻輳の発生を通知する輻輳発生通知手段を備えることを特徴とする請求項1〜3のいずれか一項に記載のパケットバッファ装置。
  5. 入力されたパケットを変化する出力レートで出力するパケットバッファ装置に入力されるパケットの廃棄方法であって、
    パケットを順にキュー手段へ格納し、出先入れ先出しで前記キュー手段から出力するパケット格納ステップと、
    前記キュー手段が格納しているデータ量であるキュー長を測定するキュー長測定ステップと、
    前記キュー手段から出力されるパケットの前記出力レートを測定する出力レート測定ステップと、
    測定された前記キュー長と測定された前記出力レートとに基づいて、前記パケットバッファ装置に入力された入力パケットが前記キュー手段に滞留すると予測される予測時間を求める滞留時間予測ステップと、
    前記滞留時間予測ステップにより決定された予測時間が所定の基準値を超えるとき、前記入力パケットを前記キュー手段に格納する前に廃棄するパケット廃棄ステップと、
    前記キュー手段に滞留するパケットの滞留時間を測定する滞留時間測定ステップと、を含み、
    前記パケット廃棄ステップにおいて、測定される滞留時間が所定の第1基準値未満のとき、前記予測時間が前記基準値である第2基準値を超えていても前記パケット廃棄ステップで前記パケットを廃棄しないことを特徴とするパケット廃棄方法。
  6. 前記パケット廃棄ステップにおいて、前記予測時間が所定の基準値を超える超過量に応じて変化する割合で、前記入力パケットを廃棄する請求項に記載のパケット廃棄方法。
  7. 前記パケット格納ステップは、パケットの出力優先順位が異なる複数の前記キュー手段にパケットを格納し、
    前記キュー長測定ステップにおいて、パケットの出力優先順位が異なるキュー手段のうち出力優先順位が最高でないいずれかのキュー手段のキュー長を測定し、
    前記レート測定ステップにおいて、前記いずれかのキュー手段から出力されるパケットの出力レートを測定し、
    前記パケット廃棄ステップにおいて、前記予測時間が前記基準値を超えるとき前記いずれかのキュー手段に入力したパケットを廃棄する、請求項5又は6に記載のパケット廃棄方法。
  8. 前記予測時間が前記基準値を超えるとき、前記パケットバッファ装置に入力された入力パケットの送信元装置へ、輻輳の発生を通知する請求項5〜7のいずれか一項に記載のパケット廃棄方法。
JP2010549323A 2009-02-06 2009-02-06 パケットバッファ装置及びパケット廃棄方法 Expired - Fee Related JP5146548B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/052110 WO2010089886A1 (ja) 2009-02-06 2009-02-06 パケットバッファ装置及びパケット廃棄方法

Publications (2)

Publication Number Publication Date
JPWO2010089886A1 JPWO2010089886A1 (ja) 2012-08-09
JP5146548B2 true JP5146548B2 (ja) 2013-02-20

Family

ID=42541807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010549323A Expired - Fee Related JP5146548B2 (ja) 2009-02-06 2009-02-06 パケットバッファ装置及びパケット廃棄方法

Country Status (3)

Country Link
US (1) US8937962B2 (ja)
JP (1) JP5146548B2 (ja)
WO (1) WO2010089886A1 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010089886A1 (ja) * 2009-02-06 2010-08-12 富士通株式会社 パケットバッファ装置及びパケット廃棄方法
US20130272121A1 (en) * 2012-04-17 2013-10-17 Cygnus Broadband, Inc. Systems and methods for application-aware admission control in a communication network
US8787163B1 (en) * 2010-02-24 2014-07-22 Marvell International Ltd. Method and apparatus for adjusting the size of a buffer in a network node based on latency
US8537670B2 (en) * 2010-09-14 2013-09-17 George Mason Research Foundation, Inc. Router congestion control
JP5372988B2 (ja) * 2011-03-22 2013-12-18 株式会社日立製作所 データ同期サーバ、システム、及びデータ転送帯域制御方法
US9391840B2 (en) * 2012-05-02 2016-07-12 Solarflare Communications, Inc. Avoiding delayed data
US20140105218A1 (en) * 2012-10-12 2014-04-17 Prashant H. Anand Queue monitoring to filter the trend for enhanced buffer management and dynamic queue threshold in 4g ip network/equipment for better traffic performance
US9128721B2 (en) 2012-12-11 2015-09-08 Apple Inc. Closed loop CPU performance control
US9582440B2 (en) 2013-02-10 2017-02-28 Mellanox Technologies Ltd. Credit based low-latency arbitration with data transfer
US9641465B1 (en) * 2013-08-22 2017-05-02 Mellanox Technologies, Ltd Packet switch with reduced latency
US9661043B2 (en) * 2014-03-10 2017-05-23 JamKazam, Inc. Packet rate control and related systems for interactive music systems
US9755932B1 (en) * 2014-09-26 2017-09-05 Juniper Networks, Inc. Monitoring packet residence time and correlating packet residence time to input sources
JP6362564B2 (ja) * 2015-04-08 2018-07-25 三菱電機株式会社 通信装置およびバッファ制御方法
JP2017028431A (ja) * 2015-07-21 2017-02-02 富士通株式会社 伝送装置及び流量計測方法
US9407585B1 (en) 2015-08-07 2016-08-02 Machine Zone, Inc. Scalable, real-time messaging system
US9602455B2 (en) 2015-08-07 2017-03-21 Machine Zone, Inc. Scalable, real-time messaging system
US9319365B1 (en) 2015-10-09 2016-04-19 Machine Zone, Inc. Systems and methods for storing and transferring message data
US9602450B1 (en) 2016-05-16 2017-03-21 Machine Zone, Inc. Maintaining persistence of a messaging system
US9608928B1 (en) 2016-07-06 2017-03-28 Machine Zone, Inc. Multiple-speed message channel of messaging system
US9967203B2 (en) 2016-08-08 2018-05-08 Satori Worldwide, Llc Access control for message channels in a messaging system
US10374986B2 (en) 2016-08-23 2019-08-06 Satori Worldwide, Llc Scalable, real-time messaging system
US10305981B2 (en) 2016-08-31 2019-05-28 Satori Worldwide, Llc Data replication in scalable messaging system
US9667681B1 (en) 2016-09-23 2017-05-30 Machine Zone, Inc. Systems and methods for providing messages to multiple subscribers
US11038806B2 (en) * 2017-04-11 2021-06-15 Telefonaktiebolaget Lm Ericsson (Publ) First communication node, method performed thereby, computer program and computer-readable storage medium for handling packets in a communications network
JP6919717B2 (ja) 2017-11-10 2021-08-18 日本電気株式会社 制御装置、制御方法、及びプログラム
US11153174B2 (en) 2018-06-15 2021-10-19 Home Box Office, Inc. Data service overload detection and mitigation
JP6933815B2 (ja) * 2018-08-27 2021-09-08 日本電信電話株式会社 通信制御システム及び通信制御方法
JP7241194B2 (ja) * 2019-02-22 2023-03-16 華為技術有限公司 メモリ管理方法及び装置
TWI708488B (zh) * 2019-08-20 2020-10-21 智易科技股份有限公司 傳輸系統、傳送裝置及傳輸路徑分配方法
US20230138522A1 (en) * 2021-11-02 2023-05-04 Mellanox Technologies, Ltd. Queue Bandwidth Estimation for Management of Shared Buffers and Allowing Visibility of Shared Buffer Status
US11973696B2 (en) 2022-01-31 2024-04-30 Mellanox Technologies, Ltd. Allocation of shared reserve memory to queues in a network device
CN116170380B (zh) * 2023-04-21 2023-08-29 中国科学技术大学 基于拥塞预测的ecn标记策略和队列管理方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004532566A (ja) * 2001-04-09 2004-10-21 テレフオンアクチーボラゲット エル エム エリクソン(パブル) キューバッファ制御方法
WO2008144902A1 (en) * 2007-05-25 2008-12-04 Sierra Wireless, Inc. Method for buffer control for network device

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2540930B2 (ja) * 1988-02-19 1996-10-09 日本電気株式会社 輻輳制御装置
ATE237894T1 (de) * 1993-06-09 2003-05-15 Btg Int Inc Verfahren und vorrichtung für ein digitales multimediakommunikationssystem
JP3432955B2 (ja) 1995-06-30 2003-08-04 株式会社東芝 ネットワークシステムのデータ伝送方法および装置
US5859980A (en) * 1996-02-08 1999-01-12 Advanced Micro Devices, Inc. Network interface having adaptive transmit start point for each packet to avoid transmit underflow
US5928327A (en) * 1996-08-08 1999-07-27 Wang; Pong-Sheng System and process for delivering digital data on demand
US5926458A (en) * 1997-01-31 1999-07-20 Bay Networks Method and apparatus for servicing multiple queues
US6075791A (en) * 1997-10-28 2000-06-13 Lucent Technologies Inc. System for guaranteeing data transfer rates and delays in packet networks
US6064676A (en) * 1998-01-14 2000-05-16 Skystream Corporation Remultipelxer cache architecture and memory organization for storing video program bearing transport packets and descriptors
US6292490B1 (en) * 1998-01-14 2001-09-18 Skystream Corporation Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer
US6477143B1 (en) * 1998-01-25 2002-11-05 Dror Ginossar Method and apparatus for packet network congestion avoidance and control
US6597662B1 (en) * 1998-03-24 2003-07-22 Nortel Networks Limited Apparatus and method for optimizing max-min fair rate control in ABR sessions
JP3711752B2 (ja) * 1998-07-09 2005-11-02 株式会社日立製作所 パケット通信装置
JP2000031997A (ja) * 1998-07-15 2000-01-28 Fujitsu Ltd 帯域管理装置及びその方法
JP3602972B2 (ja) * 1998-07-28 2004-12-15 富士通株式会社 通信性能測定装置及びその測定方法
US7392279B1 (en) * 1999-03-26 2008-06-24 Cisco Technology, Inc. Network traffic shaping using time-based queues
US6570872B1 (en) * 1999-04-06 2003-05-27 Nortel Networks Limited Self-configuring distributed switch
US6768717B1 (en) * 1999-05-28 2004-07-27 Network Equipment Technologies, Inc. Apparatus and method for traffic shaping in a network switch
TW456122B (en) * 1999-11-29 2001-09-21 Jang Jeng Shang Bandwidth division switching device and method
US6690645B1 (en) * 1999-12-06 2004-02-10 Nortel Networks Limited Method and apparatus for active queue management based on desired queue occupancy
AU3038100A (en) * 1999-12-13 2001-06-25 Nokia Corporation Congestion control method for a packet-switched network
US6865185B1 (en) * 2000-02-25 2005-03-08 Cisco Technology, Inc. Method and system for queuing traffic in a wireless communications network
US6977895B1 (en) * 2000-03-23 2005-12-20 Cisco Technology, Inc. Apparatus and method for rate-based polling of input interface queues in networking devices
US6738386B1 (en) * 2000-05-11 2004-05-18 Agere Systems Inc. Controlled latency with dynamically limited queue depth based on history and latency estimation
US20020018474A1 (en) * 2000-06-01 2002-02-14 Seabridge Ltd. Efficient packet transmission over ATM
JP3584859B2 (ja) * 2000-06-29 2004-11-04 日本電気株式会社 パケットスケジューリング装置
JP3687501B2 (ja) * 2000-07-05 2005-08-24 日本電気株式会社 パケット交換機の送信キュー管理システム及び管理方法
US6885666B1 (en) * 2000-08-14 2005-04-26 Advanced Micro Devices, Inc. Apparatus and method in a network switch for synchronizing transfer of a control tag to a switch fabric with transfer of frame data to a buffer memory
US6829244B1 (en) * 2000-12-11 2004-12-07 Cisco Technology, Inc. Mechanism for modem pass-through with non-synchronized gateway clocks
JP4512699B2 (ja) * 2001-01-11 2010-07-28 富士通株式会社 フロー制御装置およびノード装置
US7203170B2 (en) * 2001-05-01 2007-04-10 Integrated Device Technology, Inc. Network switch port with weighted random early discard
US6701389B2 (en) * 2001-06-07 2004-03-02 International Business Machines Corporation Bandwidth allocation in accordance with shared queue output limit
JP3908483B2 (ja) * 2001-06-28 2007-04-25 富士通株式会社 通信装置
US6741603B2 (en) * 2001-07-09 2004-05-25 Overture Networks, Inc. Use of a circular buffer to assure in-order delivery of packets
WO2003025709A2 (en) * 2001-09-19 2003-03-27 Bay Microsystems, Inc. Vertical instruction and data processing in a network processor architecture
US7145914B2 (en) * 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
US7177274B2 (en) * 2002-06-19 2007-02-13 Telefonaktiebolaget Lm Ericsson (Publ) Methods of transmitting data packets without exceeding a maximum queue time period and related devices
US7376141B2 (en) * 2002-12-17 2008-05-20 Raytheon Company Method and system for encapsulating variable-size packets
JP2004266389A (ja) * 2003-02-28 2004-09-24 Matsushita Electric Ind Co Ltd パケット転送制御方法及びパケット転送制御回路
US7441267B1 (en) * 2003-03-19 2008-10-21 Bbn Technologies Corp. Method and apparatus for controlling the flow of data across a network interface
FR2854296A1 (fr) * 2003-04-24 2004-10-29 France Telecom Procede et dispositif pour differenciation implicite de la qualite de service dans un reseau
JP4191551B2 (ja) * 2003-07-04 2008-12-03 株式会社エヌ・ティ・ティ・ドコモ パケット中継装置及びパケット中継方法
US7372865B2 (en) * 2003-07-09 2008-05-13 Fujitsu Limited Processing data packets using time stamped marker packets
WO2005020524A1 (ja) * 2003-08-20 2005-03-03 Nec Corporation セッション中継装置及び中継方法
DE102004018200A1 (de) * 2004-04-15 2005-11-10 Deutsche Thomson-Brandt Gmbh Verfahren zum Verarbeiten einer Folge von Datenpaketen in einer Empfängervorrichtung sowie Empfängervorrichtung
JP4588365B2 (ja) 2004-06-03 2010-12-01 三菱電機株式会社 エッジ・ノードおよび移動通信システム
JP4446166B2 (ja) * 2004-10-14 2010-04-07 ソニー株式会社 送信装置および方法、記録媒体、プログラム、並びに制御装置
US7660252B1 (en) * 2005-03-17 2010-02-09 Cisco Technology, Inc. System and method for regulating data traffic in a network device
JP2006279514A (ja) * 2005-03-29 2006-10-12 Fujitsu Ltd 通信制御装置および通信制御方法
JP4751791B2 (ja) 2006-08-22 2011-08-17 株式会社エヌ・ティ・ティ・ドコモ データ流入量制御装置及びデータ流入量制御方法
JP5083097B2 (ja) * 2008-07-30 2012-11-28 日本電気株式会社 ジッターバッファ制御方法と通信装置
WO2010089886A1 (ja) * 2009-02-06 2010-08-12 富士通株式会社 パケットバッファ装置及びパケット廃棄方法
JP5365415B2 (ja) * 2009-08-25 2013-12-11 富士通株式会社 パケット中継装置および輻輳制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004532566A (ja) * 2001-04-09 2004-10-21 テレフオンアクチーボラゲット エル エム エリクソン(パブル) キューバッファ制御方法
WO2008144902A1 (en) * 2007-05-25 2008-12-04 Sierra Wireless, Inc. Method for buffer control for network device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6011040777; Kazumi Kumazoe, Masato Tsuru and Yuji Oie: 'Improving Delay Characteristics of Real-Time Flows by Adaptive Early Packet Discarding' The International Conference on Information Networking 2006 (ICOIN 2006) , 200601, p.463-472 *

Also Published As

Publication number Publication date
US20110286468A1 (en) 2011-11-24
US8937962B2 (en) 2015-01-20
JPWO2010089886A1 (ja) 2012-08-09
WO2010089886A1 (ja) 2010-08-12

Similar Documents

Publication Publication Date Title
JP5146548B2 (ja) パケットバッファ装置及びパケット廃棄方法
KR101071898B1 (ko) 네트워크 지연 제어
EP2404238B1 (en) Method and system for i/o driven rate adaptation
US6765905B2 (en) Method for reducing packet data delay variation in an internet protocol network
US8000247B2 (en) Bandwidth management apparatus
US6674718B1 (en) Unified method and system for scheduling and discarding packets in computer networks
EP2237496A1 (en) Pre-congestion notification (PCN) as a base for admission control and flow termination
EP2575303A1 (en) Determining congestion measures
KR101333856B1 (ko) 트래픽 부하를 관리하는 방법
EP3329641A1 (en) Monitoring network conditions
US20020159388A1 (en) Congestion control unit
US9350659B1 (en) Congestion avoidance for network traffic
JP7211765B2 (ja) パケット転送装置、方法、及びプログラム
EP2985963A1 (en) Packet scheduling networking device
US6922396B1 (en) System and method for managing time sensitive data streams across a communication network
US7499399B2 (en) Method and system to determine whether a circular queue is empty or full
KR100546968B1 (ko) 컴퓨터 네트워크에서의 패킷 전송 제어 방법 및 장치
Sup et al. Explicit non-congestion notification: A new AQM approach for TCP networks
JP2002118585A (ja) パケットスケジューリング方法及びパケットスケジューリング装置
Agarwal et al. Link utilization based AQM and its performance
Thong et al. Jittering performance of random deflection routing in packet networks
O'Hanlon et al. DFLOW: Low latency congestion control
Kim et al. An active queue management for QoS guarantee of the high priority service class
JP2003087313A (ja) 多重化装置および帯域制御装置およびプログラムおよび記録媒体
Joo et al. Weighted Fair Bandwidth Allocation for Adaptive Flows

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121003

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121010

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121112

R150 Certificate of patent or registration of utility model

Ref document number: 5146548

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees