JP5598260B2 - パケット伝送装置、パケット伝送方法及びパケット伝送プログラム - Google Patents

パケット伝送装置、パケット伝送方法及びパケット伝送プログラム Download PDF

Info

Publication number
JP5598260B2
JP5598260B2 JP2010244538A JP2010244538A JP5598260B2 JP 5598260 B2 JP5598260 B2 JP 5598260B2 JP 2010244538 A JP2010244538 A JP 2010244538A JP 2010244538 A JP2010244538 A JP 2010244538A JP 5598260 B2 JP5598260 B2 JP 5598260B2
Authority
JP
Japan
Prior art keywords
token value
value
token
total
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.)
Expired - Fee Related
Application number
JP2010244538A
Other languages
English (en)
Other versions
JP2011135565A (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
Priority to JP2010244538A priority Critical patent/JP5598260B2/ja
Priority to US12/954,994 priority patent/US8599693B2/en
Publication of JP2011135565A publication Critical patent/JP2011135565A/ja
Application granted granted Critical
Publication of JP5598260B2 publication Critical patent/JP5598260B2/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/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • 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/215Flow control; Congestion control using token-bucket

Landscapes

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

Description

本発明は、パケット伝送装置、パケット伝送方法及びパケット伝送プログラムに関する。
IPネットワークでは、様々な箇所から様々な宛先へパケットが流れている。このパケットの流れ(以下「フロー」と言う)が合流する地点には、フローのトラフィックを制御するためのパケット伝送装置が設置される。かかるパケット伝送装置は、複数のフローを集約した回線を多段で収容している。
図20は、パケット伝送装置における回線を説明するための図である。同図に示すように、パケット伝送装置は、ユーザ回線、仮想回線及び物理回線をこの順番に収容している。ユーザ回線は、個々のユーザが使用するフローを集約した回線であり、仮想回線は、ユーザが所属する企業等のグループ単位でユーザ回線を集約した回線であり、物理回線は、企業等のグループ間を結ぶファイバ等に仮想回線を集約した回線である。
このように複数の回線を多段で収容するパケット伝送装置は、一般に、各回線から出力するパケットの出力レート(以下「帯域幅」と言う)を制御する。帯域幅を制御する手法としては、パケットの出力を許可するか否かを判別する情報であるトークン値を用いたトークン制御が広く用いられている。
図21は、トークン制御の一例を説明するための図である。なお、図21では、横軸が時間を示し、縦軸が所定のメモリ内に記憶されるトークン値を示すものとする。トークン制御を行うパケット伝送装置は、トークン値の総和を示す総トークン値に所定の周期で所定のトークン値を加算する(図21の(a)参照)。また、パケット伝送装置は、パケットの出力に応じてメモリ内の総トークン値から出力パケット分のトークン値を減算する(図21の(b)参照)。そして、パケット伝送装置は、メモリ内の総トークン値へ所定のトークン値を加算する際に、加算後の総トークン値が所定の上限値を超過する場合には、上限値を超過する分のトークン値を廃棄する(図21の(c)参照)。このような動作を繰り返しつつ、パケット伝送装置は、メモリ内の総トークン値に応じて各回線からパケットの出力を行い、帯域幅を制御する。
また、パケット伝送装置は、パケットを格納するキューが各回線に複数存在する場合には、RR(Round Robin)法によりキューを順次選択し、選択したキューからパケットを順次出力する。なお、RR法は、対象を順番に選択するための公知の手法である。
図22は、RR法を用いたパケットの出力を説明するための図である。なお、図22に示すパケット伝送装置は、ユーザ回線、仮想回線及び物理回線をこの順番に収容しており、パケットを格納する複数のキューを各回線に備えるものとする。また、図22に示すパケット伝送装置は、トークン制御により帯域幅を制御するシェイパ(Shaper)機能を各回線に備えるものとする。
パケット伝送装置は、ユーザ回線において、Shaper機能によりパケットの出力が可能となった複数のキューの中から、キューを順次選択し、選択したキューからパケットを仮想回線へ出力する(図22の(a)参照)。そして、パケット伝送装置は、仮想回線において、Shaper機能によりパケットの出力が可能となった複数のキューの中から、キューを順次選択し、選択したキューからパケットを物理回線へ出力する(図22の(b)参照)。そして、パケット伝送装置は、仮想回線から受付けたパケットを他の装置へ出力する(図22の(c)参照)。
特開平9−224036号公報 特開平9−224038号公報 特開平9−200214号公報 特開平9−8812号公報
しかしながら、上述した従来のパケット伝送装置では、総トークン値が所定の上限値を超過する場合に、帯域幅が減少するという問題がある。かかる問題点について図23及び図24を用いてさらに詳細に説明する。図23及び図24は、従来のパケット伝送装置の問題点を説明するための図である。
図23に示すように、パケットを出力可能な多数のキュー#0〜#Nが存在する場合に、パケット伝送装置は、RR法によりキューを順次選択し、選択したキューからパケットを上位回線へ順次出力する。なお、図23に示す上位回線は、例えば、物理回線や仮想回線であり、最大20Gbpsの帯域幅を収容するものとする。また、図23に示す下位回線は、例えば、仮想回線やユーザ回線であり、帯域幅10Gbpsのキュー#0と帯域幅1Mbpsのキュー#1〜#Nとを備えるものとする。
このような状況の下で、パケット伝送装置は、図24に示すように、例えばキュー#0より一度パケットを出力してから他のキュー#1〜#Nからのパケットの出力が完了するまでの間、キュー#0からのパケットの出力を停止する。なお、図24の上段は、キュー#0〜#Nが、RR法で選択される順番に時系列に沿って並べられている様子を示している。また、図24の下段は、キュー#0におけるメモリ内の総トークン値の推移を時間軸上に表した履歴である。
そして、パケット伝送装置は、キュー#0からのパケットの出力を停止している間も、メモリ内の総トークン値に所定の周期でトークン値を加算する(図24の(a)参照)。一方、キュー#0からのパケットの出力が行われないため、メモリ内の総トークン値からトークン値が減算されない。このため、トークン値の加算後の総トークン値が所定の上限値を超過し、パケット伝送装置は、上限値を超過する分のトークン値を廃棄することとなる(図24の(b)参照)。この結果、廃棄されたトークン値に相当するパケットが出力されず、帯域幅が減少してしまう。
なお、かかる帯域幅の減少を抑制するために、メモリの上限値を増大させ、より多くのトークン値をメモリに保持する構成を採用することも考えられる。しかし、かかる構成では、一度に出力可能なパケット量が増加する結果、出力されたパケットを受信する対向装置では、パケットの溢れが発生し、パケットの廃棄(バースト)が発生する恐れがある。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、帯域幅の減少を抑制することができるパケット伝送装置、パケット伝送方法及びパケット伝送プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、パケット伝送装置は、パケットの出力制御に用いる情報であるトークン値を記憶する第1および第2の記憶部と、前記第1の記憶部に記憶されているトークン値の総和を示す第1の総トークン値に所定の周期で所定のトークン値を加算するとともに、前記パケットの出力に応じて前記第1の総トークン値から所定のトークン値を減算するトークン制御部と、前記トークン制御部によるトークン値の加算に際して、当該加算後の前記第1の総トークン値が所定の上限値を超過する場合には、当該上限値を超過する分のトークン値を前記第2の記憶部に記憶されているトークン値の総和を示す第2の総トークン値に加算する超過時制御部と、前記トークン制御部によるトークン値の減算によって前記第1の総トークン値が前記所定の上限値より過小になった場合に、前記第2の総トークン値から所定のトークン値を減算し、当該減算されたトークン値を前記第1の総トークン値に加算する過小時制御部とを備えた。
開示のパケット伝送装置によれば、帯域幅の減少を抑制することができるという効果を奏する。
図1は、実施例1に係るパケット伝送装置の構成を示すブロック図である。 図2は、実施例1に係るパケット伝送装置による処理の一例を説明するための図である。 図3は、実施例1に係るパケット伝送装置による処理の一例を説明するための図である。 図4は、図3におけるP部の拡大図である。 図5は、実施例2に係るパケット伝送装置の構成を示すブロック図である。 図6は、図5に示した帯域調整部の構成を示すブロック図である。 図7は、実施例2に係るパケット伝送装置によるパケット出力処理の処理手順を示すフローチャートである。 図8は、実施例2における帯域制御部による超過時制御処理の処理手順を示すフローチャートである。 図9は、実施例2における帯域制御部による過小時制御処理の処理手順を示すフローチャートである。 図10は、実施例2に係るパケット伝送装置の効果を説明するための図である。 図11は、実施例2に係るパケット伝送装置の効果を説明するための図である。 図12は、実施例3に係るパケット伝送装置によるトークン制御手法を説明するための図である。 図13は、実施例3に係るパケット伝送装置が有する帯域調整部の構成を示すブロック図である。 図14は、実施例3に係るパケット伝送装置によるパケット出力処理の処理手順を示すフローチャートである。 図15−1は、実施例3における帯域制御部による超過時制御処理の処理手順を示すフローチャートである。 図15−2は、パケット伝送装置が総トークン値の中でトークン値のやり取りを行う場合の超過時制御処理の処理手順を示すフローチャートである。 図16は、バースト閾値が追加トークン値と等しい場合のパケットの出力履歴を示す図である。 図17は、バースト閾値が追加トークン値よりも小さい場合のパケットの出力履歴を示す図である。 図18は、バースト閾値と帯域取り戻し時間との関係を示す図である。 図19は、パケット伝送プログラムを実行するコンピュータを示す図である。 図20は、パケット伝送装置における回線を説明するための図である。 図21は、トークン制御の一例を説明するための図である。 図22は、RR法を用いたパケットの出力を説明するための図である。 図23は、従来のパケット伝送装置の問題点を説明するための図である。 図24は、従来のパケット伝送装置の問題点を説明するための図である。
以下に、本願の開示するパケット伝送装置、パケット伝送方法及びパケット伝送プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、本願に開示するパケット伝送装置、パケット伝送方法及びパケット伝送プログラムをIPネットワークにおけるルータやスイッチ等のパケット伝送装置に適用する例を説明する。
まず、実施例1に係るパケット伝送装置の構成を説明する。実施例1に係るパケット伝送装置10は、パケットの出力を許可するか否かを判別する情報であるトークン値を用いた制御(以下「トークン制御」と言う)により、パケットの出力を制御する。例えば、パケット伝送装置は、パケットの出力レート(以下「帯域幅」と言う)を制御するシェイパ(Shaper)機能を備えるものが該当する。
図1は、実施例1に係るパケット伝送装置10の構成を示すブロック図である。図1に示すように、実施例1に係るパケット伝送装置10は、第1の記憶部11と、第2の記憶部12と、トークン制御部13と、超過時制御部14と、過小時制御部15とを有する。第1の記憶部11及び第2の記憶部12は、パケットの出力制御に用いる情報であるトークン値を記憶する。なお、以下では、第1の記憶部11に記憶されているトークン値の総和を「第1の総トークン値」と呼び、第2の記憶部12に記憶されているトークン値の総和を「第2の総トークン値」と呼ぶ。また、第2の記憶部12としては、トークン値を記憶するメモリ等、トークン値を蓄積可能な記憶装置であれば如何なる記憶装置を用いてもよい。
トークン制御部13は、第1の総トークン値11aに所定の周期で所定のトークン値を加算する。また、トークン制御部13は、パケットの出力に応じて第1の総トークン値11aから所定のトークン値を減算する。
超過時制御部14は、トークン制御部13によるトークン値の加算に際して、当該加算後の第1の総トークン値11aが所定の上限値を超過するか否かを判定する。そして、超過時制御部14は、加算後の第1の総トークン値11aが所定の上限値を超過する場合には、当該上限値を超過する分のトークン値を第2の総トークン値12aに加算する。一方、超過時制御部14は、加算後の第1の総トークン値11aが所定の上限値を超過しない場合には、現状の第2の総トークン値12aを維持する。
過小時制御部15は、トークン制御部13によるトークン値の減算によって第1の総トークン値11aが所定の上限値より過小になった場合に、第2の総トークン値12aから所定のトークン値を減算する。そして、過小時制御部15は、減算されたトークン値を第1の総トークン値11aに加算する。
次に、実施例1に係るパケット伝送装置10による処理を一例を挙げて説明する。図2及び図3は、実施例1に係るパケット伝送装置10による処理の一例を説明するための図であり、図4は、図3におけるP部の拡大図である。なお、図2〜図4では、パケット伝送装置10が、複数のキュー#0〜#Nのうち、トークン制御によりキュー#0の帯域幅を制御する例について説明する。また、図3の上段は、キュー#0〜#Nが、RR(Round Robin)法で選択される順番に時系列に沿って並べられている様子を示している。なお、RR法は、対象を順番に選択するための公知の手法である。
また、図3の下段は、キュー#0における第1の記憶部11内の第1の総トークン値11aの推移を時間軸上に実線で表した履歴であり、図3の左側から右側に向かって時間が経過している様子を示している。
実施例1に係るパケット伝送装置10は、トークン制御により、キュー#0の帯域幅を制御する。すなわち、トークン制御部13は、第1の記憶部11の第1の総トークン値11aに所定の周期で所定のトークン値を加算する(図2の(a)参照)。また、トークン制御部13は、キュー#0からのパケットの出力に応じて、第1の総トークン値11aから、例えば、出力したパケットのパケット長に相当するトークン値を減算する(図2の(b)参照)。
このような帯域幅の制御を実行しつつ、実施例1に係るパケット伝送装置10は、帯域幅の減少を抑制するための処理を実行する。超過時制御部14は、トークン制御部13によるトークン値の加算後の第1の総トークン値11aが上限値を超過する場合に、当該上限値を超過する分のトークン値を第2の記憶部12の第2の総トークン値12aに加算する(図2の(1)及び図3の(1)参照)。
そして、過小時制御部15は、トークン制御部13によるトークン値の減算によって第1の総トークン値11aが上限値より過小になった場合に、第2の総トークン値12aから所定のトークン値を減算する。そして、過小時制御部15は、減算したトークン値を第1の総トークン値11aに加算する(図2の(2)及び図3の(2)参照)。
これにより、第1の総トークン値11aが、図4に示すように、第2の総トークン値12aから加算されたトークン値の分だけ瞬間的に増加する。なお、図4に示す破線は、通常のトークン制御により、所定の周期で所定のトークン値を第1の総トークン値11aに加算したと仮定した場合の当該第1の総トークン値11aの推移を示している。また、図4に示す実線は、過小時制御部15によって第2の総トークン値12aから減算されたトークン値を第1の総トークン値11aに加算した場合の当該第1の総トークン値11aの推移を示している。
このように、パケット伝送装置10は、トークン制御にて第1の記憶部11から溢れたトークン値を第2の記憶部12に蓄積し、パケットの出力に伴い第1の記憶部11からトークン値が消費された場合に、第2の記憶部12のトークン値を加算する。このため、パケット伝送装置10は、通常のトークン制御により所定の周期で所定のトークン値を加算する従来の手法よりも、第1の記憶部11の第1の総トークン値を迅速に増加させることができる。これは、パケット伝送装置10が、例えばRR法によりキューを順次選択する場合に、選択したキューに対応する第1の記憶部11に、より大きい第1の総トークン値11aを保持することができることを意味する。したがって、パケット伝送装置10は、第1の記憶部11の第1の総トークン値に応じたパケットの出力をより迅速に行うことができる。その結果、パケット伝送装置10は、メモリの上限値を超過したトークン値を全て廃棄する従来の手法と比較して、帯域幅の減少を抑制することができる。
なお、パケット伝送装置10は、第1の記憶部11の第1の総トークン値に応じてパケットを出力し、第1の記憶部11の上限値を増大させるわけではない。このため、パケット伝送装置10は、対向装置におけるバーストの発生を防止することができる。
[実施例2に係るパケット伝送装置の構成]
次に、実施例2に係るパケット伝送装置の構成を説明する。図5は、実施例2に係るパケット伝送装置20の構成を示すブロック図である。図5に示すように、実施例2に係るパケット伝送装置20は、パケット管理部21と、スケジューラ部22とを有する。
パケット管理部21は、他の装置から受信したパケットを管理する。具体的には、パケット管理部21は、他の装置からパケットを受信すると、受信したパケットを共有メモリ21aに保持する。そして、パケット管理部21は、共有メモリ21aに含まれる各メモリ領域と当該メモリ領域に格納されたパケットとを対応付けた情報であるパケット情報をスケジューラ部22の後述するキュー振り分け部31に送信する。また、パケット管理部21は、スケジューラ部22の後述する出力調整部33からパケットを受信すると、受信したパケットを出力する。
スケジューラ部22は、パケットを一時的に格納する複数のキュー23を備え、パケット管理部21より受信したパケット情報を用いてトークン制御を行い、トークン制御に基づいてキュー23から出力するパケットの帯域幅を調整する。具体的には、スケジューラ部22は、キュー振り分け部31と、3階層の帯域調整部32−1〜32−3と、出力調整部33とを有する。
なお、図5に示すスケジューラ部22は、ユーザ回線用の帯域調整部32−1、仮想回線用の帯域調整部32−2及び物理回線用の帯域調整部32−3の3階層の帯域調整部を有するものとして説明を行う。しかしながら、スケジューラ部22は、2階層以下の帯域調整部や4階層以上の帯域調整部を有するものでもよく、任意の階層の帯域調整部を有するものであってもよい。また、以下では、3つの帯域調整部32−1〜32−3を特に使い分ける必要がない場合には、単に「帯域調整部32」と呼ぶこととする。
キュー振り分け部31は、パケット管理部21からパケット情報を受信すると、当該パケット情報で示される共有メモリ21aのメモリ領域から該当するパケットを読み出し、読み出したパケットをキュー23に振り分けて格納する。帯域調整部32は、トークン制御を実行することで、キュー23から出力するパケットの帯域幅を調整し、帯域幅を調整したパケットを出力調整部33へ出力する。なお、帯域調整部32の具体的な構成については、後に説明する。
出力調整部33は、帯域調整部32のうち最上位である物理回線用の帯域調整部32−3から出力されるパケットが競合しないようにタイミングの調整を行い、帯域調整部32−3からパケットを受信すると、受信したパケットをパケット管理部21へ送信する。
ここで、帯域調整部32の具体的な構成を説明する。図6は、図5に示した帯域調整部32の構成を示すブロック図である。帯域調整部32は、トークン制御を実行することで、キュー23から出力するパケットの帯域幅を調整する。具体的には、帯域調整部32は、図6に示すように、第1メモリ41と、第2メモリ42と、キュー管理部43と、キュー選択部44と、帯域制御部45とを有する。
第1メモリ41は、トークン値を記憶する。具体的には、第1メモリ41は、キュー23それぞれについて、第1総トークン値、第1上限トークン値及び追加トークン値を対応付けて記憶する。第1総トークン値は、キュー23それぞれに割り当てられて現に第1メモリ41に記憶されているトークン値の総和を示す。第1上限トークン値は、第1メモリ41における第1総トークン値の上限値を示す。追加トークン値は、キュー23それぞれに割り当てられて第1メモリ41に一度に追加されるトークン値を示す。
第2メモリ42は、トークン値を記憶する。具体的には、第2メモリ42は、キュー23それぞれについて、第2総トークン値、第2上限トークン値及び基準トークン値を対応付けて記憶する。第2総トークン値は、第1メモリ41の第1総トークン値のうち第1上限トークン値を超過する分のトークン値である超過トークン値の総和を示す。第2上限トークン値は、第2メモリ42における第2総トークン値の上限値を示す。基準トークン値は、第2総トークン値に含まれる全てのトークン値を第1総トークン値に加算するか否かを判断するための基準値である。
キュー管理部43は、複数のキュー23に関するパケットの入出力を管理する。具体的には、キュー管理部43は、キュー振り分け部31や前段の帯域調整部32からパケットを受付けると、受付けたパケットをキュー23に格納する。そして、キュー管理部43は、キュー選択部44によって選択されたキューのキューIDを受付けると、当該キューIDで示すキュー23からパケットを出力する。なお、以下では、キュー23にパケットを格納する処理を「エンキュー」と呼び、キュー23からパケットを出力する処理を「デキュー」と呼ぶこととする。
また、キュー管理部43は、デキューを実行したキュー23のキューIDとデキューされたパケットのパケット長を帯域制御部45へ通知する。また、キュー管理部43は、複数のキュー23にパケットが格納されているか否かを示す情報であるキュー状態情報をキュー選択部44に通知する。
キュー選択部44は、第1メモリ41から読み出した第1総トークン値に応じてパケットの出力対象となるキュー23を選択し、選択したキュー23のキューIDをキュー管理部43へ通知する。具体的には、キュー選択部44は、RR(Round Robin)対象フラグ設定部51と、RR処理部52とを有する。
RR対象フラグ設定部51は、第1メモリ41の第1総トークン値に応じて、複数のキュー23のうちパケットの出力可能なキュー23を決定し、その決定結果をRR処理部52へ通知する。具体的には、RR対象フラグ設定部51は、キュー管理部43から通知されるキュー状態情報からパケットが格納されているキュー23を判別し、当該キュー23の第1総トークン値を第1メモリ41から読み出す。そして、RR対象フラグ設定部51は、第1総トークン値が対応するキュー23に格納されたパケットのパケット長以上である場合に、パケットの出力を許可するためのRR対象フラグ「ON」を当該キュー23のキューIDに設定する。なお、RR対象フラグ設定部51は、第1総トークン値が0よりも大きい場合に、パケットの出力を許可するためのRR対象フラグ「ON」を当該キュー23のキューIDに設定するようにしてもよい。
また、RR対象フラグ設定部51は、第1総トークン値が対応するキュー23に格納されたパケットのパケット長未満である場合には、パケットの出力を許可しないためのRR対象フラグ「OFF」を当該キュー23のキューIDに設定する。また、RR対象フラグ設定部51は、キュー管理部43から通知されるキュー状態情報からパケットが格納されていないキュー23を判別した場合には、パケットの出力不可を示すRR対象フラグ「OFF」を当該キュー23のキューIDに設定する。そして、RR対象フラグ設定部51は、RR対象フラグを設定したキューIDをRR処理部52へ通知する。
RR処理部52は、RR対象フラグ設定部51から通知されるキューIDのうちRR対象フラグ「ON」が設定されたキューIDに対してRR法を適用する。具体的には、RR処理部52は、RR対象フラグ設定部51から通知されるキューIDのうちRR対象フラグ「ON」が設定されたキューIDのキュー23をRRにより選択し、選択したキュー23のキューIDをキュー管理部43に送信する。
帯域制御部45は、トークン制御を行うとともに、トークン制御にて第1メモリ41から溢れたトークン値を第2メモリ42に蓄積し、パケットの出力に伴い第1メモリ41からトークン値が消費された場合に、第2メモリ42のトークン値を加算する。具体的には、帯域制御部45は、トークン制御部61と、キュー監視部62と、超過時制御部63と、過小時制御部64とを有する。
トークン制御部61は、第1メモリ41の第1総トークン値に所定の周期で所定のトークン値を加算する。具体的には、トークン制御部61は、所定の周期ごとに、第1メモリ41から第1総トークン値及び追加トークン値を読み出す。そして、トークン制御部61は、超過時制御部63によって第2メモリ42から読み出された第2総トークン値がゼロである場合に、第1総トークン値に追加トークン値を加算し、加算後の第1総トークン値を第1メモリ41に格納する。
また、トークン制御部61は、キュー23からのパケットの出力に応じて第1メモリ41の第1総トークン値から所定のトークン値を減算する。具体的には、トークン制御部61は、デキューを実行したキュー23のキューIDとデキューされたパケットのパケット長をキュー管理部43から受付けると、キューIDで示すキュー23の第1総トークン値からパケット長分のトークン値を減算する。そして、トークン制御部61は、減算後の第1総トークン値を第1メモリ41に格納する。
キュー監視部62は、キュー23にパケットが格納されているか否かを監視し、その監視結果を超過時制御部63へ通知する。
超過時制御部63は、トークン制御部61によるトークン値の加算に際して、加算後の第1総トークン値が所定の上限値を超過する場合に、当該上限値を超過する分のトークン値(以下「超過トークン値」という)を第2メモリ42の第2総トークン値に加算する。具体的には、超過時制御部63は、第1メモリ41から第1総トークン値、第1上限トークン値及び追加トークン値を読み出す。そして、超過時制御部63は、追加トークン値を第1総トークン値に加算する。そして、超過時制御部63は、加算後の第1総トークン値と第1上限トークン値とを比較し、加算後の第1総トークン値が第1上限トークン値よりも大きい場合に、第1総トークン値から第1上限トークン値を減算することによって超過トークン値を算出する。そして、超過時制御部63は、算出した超過トークン値を第2メモリ42から読み出した第2総トークン値に加算し、加算後の第2総トークン値を第2メモリ42に格納する。
なお、本実施例では、超過時制御部63は、トークン値の加算後の第1総トークン値が所定の上限値を超過し、かつ、キュー23にパケットが格納されている旨の監視結果をキュー監視部62から受付けた場合に、超過トークン値を第2総トークン値に加算する。一方、トークン値の加算後の第1総トークン値が所定の上限値を超過しても、キュー23にパケットが格納されていない旨の監視結果をキュー監視部62から受付けた場合には、超過時制御部63は、超過トークン値を廃棄する。これにより、デキューの必要がない場合に、超過トークン値を第2総トークン値に加算する処理を省略することができ、超過時制御部63の処理負担を軽減することが可能である。
過小時制御部64は、トークン制御部61によるトークン値の減算によって第1総トークン値が上限トークン値より過小となった場合に、第2総トークン値から所定のトークン値を減算し、当該減算されたトークン値を第1総トークン値に加算する。また、過小時制御部64は、トークン制御部61によって第1総トークン値に所定の周期で加算される追加トークン値とともに、第2総トークン値から減算されたトークン値を第1総トークン値に加算する。
さらに、過小時制御部64は、第2総トークン値が基準トークン値未満であれば、第2総トークン値から全てのトークン値を減算し、当該減算されたトークン値を第1総トークン値に加算する。一方、過小時制御部64は、第2総トークン値が基準トークン値以上であれば、第2総トークン値から基準トークン値に相当する分のトークン値を減算し、当該減算されたトークン値を第1総トークン値に加算する。
具体的には、過小時制御部64は、トークン制御部61によって第1メモリ41から第1総トークン値及び追加トークン値が読み出されると、第2メモリ42から第2総トークン値及び基準トークン値を読み出す。そして、過小時制御部64は、第2総トークン値がゼロより大きい場合に、第2総トークン値と基準トークン値との大小を比較する。そして、過小時制御部64は、第2総トークン値が基準トークン値以下であれば、第2総トークン値から全てのトークン値を減算し、当該減算されたトークン値、すなわち、第2総トークン値に相当する分のトークン値を追加トークン値に加算する。そして、過小時制御部64は、加算後の追加トークン値を第1総トークン値に加算し、加算後の第1総トークン値を第1メモリ41に格納する。
一方、過小時制御部64は、第2総トークン値が基準トークン値を超えていれば、第2総トークン値から基準トークン値に相当する分のトークン値を減算し、当該減算されたトークン値を追加トークン値に加算する。そして、過小時制御部64は、加算後の追加トークン値を第1総トークン値に加算し、加算後の第1総トークン値を第1メモリ41に格納する。
なお、本実施例では、トークン制御部61と過小時制御部64とを分散した構成例を示したが、トークン制御部61と過小時制御部64とを適宜統合した構成としてもよい。また、パケット管理部21、スケジューラ部22は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA (Field Programmable Gate Array)などの集積回路である。また、第1メモリ41、第2メモリ42は、例えば、RAM(Random Access Memory)、EPROM(Erasable Programmable Read Only Memory)、フラッシュメモリ (flash memory)などの半導体メモリ素子である。
[実施例2に係るパケット伝送装置による処理]
次に、実施例2に係るパケット伝送装置20による処理を説明する。ここでは、まず、パケット出力処理について説明し、その後、超過時制御処理について説明し、過小時制御処理について説明する。図7は、実施例2に係るパケット伝送装置20によるパケット出力処理の処理手順を示すフローチャートである。図8は、実施例2における帯域制御部45による超過時制御処理の処理手順を示すフローチャートである。図9は、実施例2における帯域制御部45による過小時制御処理の処理手順を示すフローチャートである。なお、図8及び図9に示す処理は、帯域制御部45によって所定の周期で定期的に実行される。
[パケット出力処理]
図7は、実施例2に係るパケット伝送装置20によるパケット出力処理の処理手順を示すフローチャートである。なお、図7に示す処理手順は、所定のタイミングで定期的に実行されるものとする。図7に示すように、パケット伝送装置20では、帯域調整部32のキュー選択部44が、キュー管理部43から通知されるキュー状態情報からキュー23にパケットが格納されているか否かを判定する(ステップS11)。キュー23にパケットが格納されていない場合には(ステップS11否定)、キュー選択部44は、パケットの出力不可を示すRR対象フラグ「OFF」を当該キュー23のキューIDに設定する(ステップS12)。
一方、キュー23にパケットが格納されている場合には(ステップS11肯定)、キュー選択部44は、当該キュー23の第1総トークン値を第1メモリ41から読み出す。そして、キュー選択部44は、第1総トークン値が対応するキュー23に格納されたパケットのパケット長以上であるか否かを判定する(ステップS13)。第1総トークン値が対応するキュー23に格納されたパケットのパケット長未満である場合に(ステップS13否定)、キュー選択部44は、RR対象フラグ「OFF」を当該キュー23のキューIDに設定する(ステップS14)。一方、第1総トークン値が対応するキュー23に格納されたパケットのパケット長以上である場合に(ステップS13肯定)、キュー選択部44は、パケットの出力を許可するためのRR対象フラグ「ON」を当該キュー23のキューIDに設定する(ステップS15)。なお、キュー選択部44は、第1総トークン値が0よりも大きいか否かを判定し、第1総トークン値が0よりも大きい場合に、パケットの出力を許可するためのRR対象フラグ「ON」を当該キュー23のキューIDに設定するようにしてもよい。
続いて、キュー選択部44は、RR対象フラグを設定したキューIDが示すキュー23のうち、RR対象フラグ「ON」が設定されたキュー23をRRにより選択し、選択したキュー23のキューIDをキュー管理部43に送信する(ステップS16)。
続いて、キュー管理部43は、キュー選択部44によって選択されたキュー23のキューIDを受付けると、当該キューIDで示すキュー23からパケットを出力する(ステップS17)。そして、帯域制御部45は、デキューを実行したキュー23のキューIDとデキューされたパケットのパケット長をキュー管理部43から受付けると、キューIDで示すキュー23の第1総トークン値からパケット長分のトークン値を減算する(ステップS18)。そして、帯域制御部45は、減算後の第1総トークン値を第1メモリ41に格納する(ステップS19)。
[超過時制御処理]
図8は、実施例2における帯域制御部45による超過時制御処理の処理手順を示すフローチャートである。なお、図8に示す処理手順は、例えば、第1メモリ41の第1総トークン値に所定のトークン値が加算されるたびに実行されるものとする。図8に示すように、帯域制御部45では、まず、超過時制御部63が、第1メモリ41から第1総トークン値、第1上限トークン値及び追加トークン値を読み出す(ステップS31)。そして、超過時制御部63は、追加トークン値を第1総トークン値に加算する(ステップS32)。そして、超過時制御部63は、加算後の第1総トークン値と第1上限トークン値とを比較し(ステップS33)、加算後の第1総トークン値が第1上限トークン値以下である場合には(ステップS33否定)、超過トークン値を0(なし)とする(ステップS34)。
一方、加算後の第1総トークン値が第1上限トークン値よりも大きい場合には(ステップS33肯定)、超過時制御部63は、キュー監視部62からの監視結果を基にキュー23にパケットが格納されているか否かの判断を行う(ステップS35)。そして、キューにパケットが格納されていないと判断した場合には(ステップS35否定)、超過時制御部63は、超過トークン値を0(廃棄)とし(ステップS36)、第1総トークン値を第1上限トークン値に更新する(ステップS37)。一方、キュー23にパケットが格納されていると判断した場合には(ステップS35肯定)、超過時制御部63は、第1総トークン値から第1上限トークン値を減算することによって超過トークン値を算出する(ステップS38)。そして、超過時制御部63は、第1総トークン値を第1上限トークン値に更新する(ステップS39)。
その後、超過時制御部63は、第1総トークン値を第1メモリ41に格納し(ステップS40)、第2メモリ42から第2総トークン値及び第2上限トークン値を読み出す(ステップS41)。そして、超過時制御部63は、ステップS34、S36又はS38で求めた超過トークン値を第2総トークン値に加算し(ステップS42)、加算後の第2総トークン値と第2上限トークン値とを比較する(ステップS43)。
そして、加算後の第2総トークン値が第2上限トークン値よりも大きい場合には(ステップS43肯定)、超過時制御部63は、第2総トークン値を第2上限トークン値に更新し(ステップS44)、第2メモリ42に格納する(ステップS45)。一方、加算後の第2総トークン値が第2上限トークン値以下である場合には(ステップS43否定)、超過時制御部63は、現状の第2総トークン値を第2メモリ42に格納する(ステップS45)。
[過小時制御処理]
図9は、実施例2における帯域制御部45による過小時制御処理の処理手順を示すフローチャートである。なお、図9に示す処理手順は、例えば、第1メモリ41の第1総トークン値に所定のトークン値が加算されるたびに実行されるものとする。図9に示すように、帯域制御部45では、まず、トークン制御部61が、第1メモリ41から第1総トークン値及び追加トークン値を読み出し(ステップS51)、過小時制御部64が、第2総トークン値及び基準トークン値を読み出す(ステップS52)。
そして、過小時制御部64は、第2総トークン値が0よりも大きいか否かを判定する(ステップS53)。第2総トークン値が0である場合には(ステップS53否定)、過小時制御部64は、処理をステップS59に移行する。一方、第2総トークン値が0よりも大きい場合には(ステップS53肯定)、過小時制御部64は、第2総トークン値と基準トークン値とを比較する(ステップS54)。
第2総トークン値が基準トークン値以下であれば(ステップS54否定)、過小時制御部64は、第2総トークン値から全てのトークン値を減算し、第2総トークン値に相当する分のトークン値を追加トークン値に加算する(ステップS55)。そして、過小時制御部64は、第2総トークン値を0(なし)とする(ステップS56)。
一方、第2総トークン値が基準トークン値を超えていれば(ステップS54肯定)、過小時制御部64は、第2トークン値から基準トークン値に相当する分のトークン値を減算し、減算したトークン値を追加トークン値に加算する(ステップS57)。そして、過小時制御部64は、現状の第2総トークン値から基準トークン値を減算することによって第2総トークン値を更新する(ステップS58)。
その後、過小時制御部64は、追加トークン値を第1総トークン値に加算し(ステップS59)、加算後の第1総トークン値を第1メモリ41に格納する(ステップS60)。そして、過小時制御部64は、第2総トークン値を第2メモリ42に格納する(ステップS61)。
[実施例2の効果]
上述したように、実施例2に係るパケット伝送装置20は、トークン制御にて第1メモリ41から溢れたトークン値を第2メモリ42に蓄積し、パケットの出力に伴い第1メモリ41からトークン値が消費された場合に、第2メモリ42のトークン値を加算する。このため、パケット伝送装置20は、通常のトークン制御により所定の周期で所定のトークン値を加算する従来の手法よりも、第1メモリ41の第1総トークン値を迅速に増加させることができる。これは、パケット伝送装置20が、例えばRR法によりキューを順次選択する場合に、選択したキューに対応する第1メモリ41に、より大きい第1総トークン値を保持することができることを意味する。したがって、パケット伝送装置20は、第1メモリ41の第1総トークン値に応じたパケットの出力をより迅速に行うことができる。その結果、パケット伝送装置20は、メモリの上限値を超過したトークン値を全て廃棄する従来例と比較して、帯域幅の減少を抑制することができる。
図10及び図11は、実施例2に係るパケット伝送装置20の効果を説明するための図である。図10では、帯域幅10Gbpsのキュー#0と帯域幅1Gbpsのキュー#1〜#2047との計2048のキューが1つの回線に収容されている場合に、1100ns間でキュー#0から出力されるパケット量の累計を従来例と本実施例とで比較した結果を示す。また、図11では、キュー#0の帯域幅の推移を時間軸上に表す。
図10の(1)で示す従来例は、メモリの上限値を超過したトークン値を全て廃棄する。すなわち、従来例は、メモリ内の総トークン値に100nsの周期で追加トークン値1000bitを加算してゆき、0〜500nsで総トークン値が上限値5000bitに到達すると、700nsまで上限値を超過する分のトークン値を廃棄する。ここで、従来例は、0〜700nsの間、キュー#1〜#2047からのパケットの出力を実行し、キュー#0からのパケットの出力を停止しているものとする。
そして、従来例は、710ns以降、キュー#0から10nsごとにパケット長800bitのパケットの出力を開始し、パケットの出力に応じて総トークン値からパケット長800bitに相当する分のトークン値を減算する。そして、従来例は、800nsで総トークン値に追加トークン値1000bitを再度加算するが、パケット長800bitのパケットの出力を行ったため、総トークン値が−400<0となる。このため、従来例は、800〜900nsの間、パケットの出力を行うことができない。同様の理由で、従来例は、1000〜1100nsの間も、パケットの出力を行うことができない。
一方、図10の(2)で示す本実施例は、従来例と同様に、第1メモリ41内の第1総トークン値に100nsの周期で追加トークン値1000bitを加算してゆく。しかし、本実施例は、従来例と異なり、0〜500nsで第1総トークン値が上限値5000bitに到達すると、700nsまで上限値を超過する分のトークン値を第2メモリ42内の第2総トークン値に加算する。ここで、本実施例は、従来例と同様に、0〜700nsの間、キュー#1〜#2047からのパケットの出力を実行し、キュー#0からのパケットの出力を停止しているものとする。
そして、本実施例は、従来例と同様に、710ns以降、キュー#0から10nsごとにパケット長800bitのパケットの出力を開始し、パケットの出力に応じて第1総トークン値からパケット長800bitに相当する分のトークン値を減算する。そして、本実施例は、従来例と同様に、800nsで第1総トークン値に追加トークン値1000bitを再度加算する。しかし、本実施例は、従来例と異なり、追加トークン値1000bitとともに、第2総トークン値から減算された500bitのトークン値を第1総トークン値に加算する。このため、本実施例は、800nsでパケット長800bitのパケットの出力を行ったとしても、第1総トークン値を100bitまで一時的に増加させることができる。したがって、本実施例は、従来例と異なり、810nsでパケット長800bitのパケットを出力することができる。同様の理由で、本実施例は、従来例と異なり、1010nsでもパケット長800bitのパケットを出力することができる。
このように、実施例2に係るパケット伝送装置20は、第1メモリ41の第1総トークン値を一時的に増加させることができるため、第1メモリ41の第1総トークン値に応じたパケットの出力量を瞬間的に増加させることができる。例えば、図10に示した例では、実施例2に係るパケット伝送装置20は、1100nsでキュー#0からのパケットの出力量を、メモリの上限値を超過したトークン値を全て廃棄する従来例と比較して、1600bit増加させることができる。
その結果、実施例2に係るパケット伝送装置20は、メモリの上限値を超過したトークン値を全て廃棄する従来例と比較して、帯域幅の減少を抑制することができる。例えば、図11に示す本実施例及び従来例では、いずれも、0〜700nsの間、キュー#0からのパケットの出力を停止するため、キュー#0の帯域幅は、10Gbpsよりも減少している。しかし、本実施例では、図10の説明で述べたように、800ns以降、追加トークン値とともに、第2総トークン値から減算されたトークン値を第1総トークン値に加算する。このため、本実施例は、800ns以降、キュー#0からのパケットの出力量を従来例よりも増加させることができる。したがって、本実施例は、従来例と比較して、10Gbpsよりも減少していた帯域幅を10Gbpsまで迅速に取り戻すことができ、帯域幅の減少を抑制することができる。
また、実施例2に係るパケット伝送装置20は、第1メモリ41の第1総トークン値に応じてパケットを出力し、第1メモリ41の上限値を増大させるわけではない。このため、パケット伝送装置20は、対向装置におけるバーストの発生を防止することができる。
また、実施例2に係るパケット伝送装置20は、第1メモリ41の第1総トークン値が上限トークン値を超過し、かつ、キュー23にパケットが格納されている場合に、超過トークン値を第2メモリ42の第2総トークン値に加算する。このため、実施例2に係るパケット伝送装置20は、デキューの必要がない場合に、超過トークン値を第2総トークン値に加算する処理を省略することができ、処理負荷を軽減することができる。
また、実施例2に係るパケット伝送装置20は、第1総トークン値に所定の周期で加算するトークン値とともに、第2総トークン値から減算されたトークン値を第1総トークン値に加算する。このため、実施例2に係るパケット伝送装置20は、第1総トークン値に所定の周期でトークン値を加算するという既存の処理と同時に、第2総トークン値からのトークン値を第1総トークン値に加算する処理を行うことができ、処理負荷の増大を抑制可能である。
また、実施例2に係るパケット伝送装置20は、第2総トークン値が基準トークン値を超えていれば、第2総トークン値から基準トークン値に相当する分のトークン値を減算し、当該減算されたトークン値を第1総トークン値に加算する。このため、実施例2に係るパケット伝送装置20は、基準トークン値の大小で第1総トークン値に加算するトークン値を規定することができ、第1総トークン値を一時的に増加させる量をより緻密に調整可能である。その結果、実施例2に係るパケット伝送装置20は、帯域幅の減少をより確実に抑制することができる。
上記実施例2では、第1メモリ41および第2メモリ42を別個のメモリとして構成し、トークン制御にて第1メモリ41から溢れたトークン値を第2メモリ42に蓄積する例を説明した。しかし、第1メモリ41および第2メモリ42を一体のメモリとして構成し、トークン制御にて第1メモリ41から溢れたトークン値を第2メモリ42に蓄積するようにしてもよい。そこで、実施例3では、第1メモリ41および第2メモリ42を一体のメモリとして構成し、トークン制御にて第1メモリ41から溢れたトークン値を第2メモリ42に蓄積する例について説明する。
[実施例3に係るパケット伝送装置によるトークン制御手法]
まず、実施例3に係るパケット伝送装置によるトークン制御手法を説明する。図12は、実施例3に係るパケット伝送装置によるトークン制御手法を説明するための図である。
同図に示すように、本実施例に係るパケット伝送装置は、図6に示した第1メモリ41および第2メモリ42を一体化したメモリ300を有し、メモリ300には、バースト閾値が設定されている。バースト閾値は、対向装置に対して一度に出力可能なパケット量の最大値を規定するための閾値である。バースト閾値以下の容量のパケットが出力された場合には、パケットを受信する対向装置におけるバーストの発生が回避されることとなる。本実施例では、バースト閾値として、第1メモリ41の第1上限トークン値が設定される。
このような構成の下で、本実施例に係るパケット伝送装置は、第1メモリ41の第1総トークン値に所定の周期で所定のトークン値を加算する(図12の(1)参照)。また、本実施例に係るパケット伝送装置は、パケットの出力に応じて第1メモリ41の第1総トークン値から所定のトークン値を減算する(図12の(2)参照)。
そして、本実施例に係るパケット伝送装置は、トークン値の加算後の第1総トークン値がバースト閾値を超過する場合に、バースト閾値を超過する分のトークン値を第2メモリ42の第2総トークン値に加算する(図12の(3)参照)。
このように、本実施例に係るパケット伝送装置は、第1メモリ41および第2メモリ42を一体化したメモリ300を有し、メモリ300において第1メモリ41から溢れたトークン値を第2メモリ42に蓄積する。このため、本実施例に係るパケット伝送装置は、実施例1と同様に、メモリの上限値を超過したトークン値を全て廃棄する従来の手法と比較して帯域幅の減少を抑制することができる。さらに、本実施例に係るパケット伝送装置は、第1メモリ41および第2メモリ42をメモリ300として一体化しているため、装置構成を簡素化することができる。
[実施例3に係るパケット伝送装置の構成]
次に、実施例3に係るパケット伝送装置が有する帯域調整部の構成について説明する。図13は、実施例3に係るパケット伝送装置20aが有する帯域調整部32aの構成を示すブロック図である。なお、以下では、図6で示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。また、実施例3に係るパケット伝送装置20aの構成は、図5に示した構成と同様であるため、ここでは、その説明を省略する。
図13に示すように、帯域調整部32aは、図6に示した第1メモリ41および第2メモリ42に代えて、メモリ300およびバースト管理メモリ310を有する。また、帯域調整部32aは、図6に示したキュー選択部44および帯域制御部45に代えて、キュー選択部44aおよび帯域制御部45aを有する。
メモリ300は、図6に示した第1メモリ41および第2メモリ42を一体化したメモリである。本実施例では、第1メモリ41に記憶された第1上限トークン値は、バースト管理メモリ310の後述するバースト閾値として設定される。また、第2メモリ42に記憶された第2上限トークン値は、メモリ300(第1メモリ41および第2メモリ42)全体に記憶されているトークン値の上限値を示す。なお、以下では、第2メモリ42に記憶された第2上限トークン値を「メモリ上限トークン値」と呼ぶこととする。
バースト管理メモリ310は、対向装置におけるバーストを制御するための各種情報を記憶する。具体的には、バースト管理メモリ310は、キュー23それぞれについて、バースト許容トークン値及びバースト閾値を対応付けて記憶する。バースト許容トークン値は、対向装置に対して一度に出力可能なパケット量に対応するトークン値を示す。バースト閾値は、対向装置に対して一度に出力可能なパケット量の最大値を規定するための閾値であり、バースト許容トークン値の上限値を示す。本実施例では、第1メモリ41に記憶された第1上限トークン値がバースト閾値に設定される。
キュー選択部44aは、パケットの出力対象となるキュー23を選択し、選択したキュー23のキューIDをキュー管理部43へ通知する。具体的には、キュー選択部44aは、RR(Round Robin)対象フラグ設定部51aと、RR処理部52とを有する。
RR対象フラグ設定部51aは、第1メモリ41の第1総トークン値とバースト管理メモリ310のバースト許容トークン値とに応じて、複数のキュー23のうちパケットの出力可能なキュー23を決定し、その決定結果をRR処理部52へ通知する。具体的には、RR対象フラグ設定部51aは、キュー管理部43から通知されるキュー状態情報からパケットが格納されているキュー23を判別し、当該キュー23の第1総トークン値を第1メモリ41から読み出す。さらに、RR対象フラグ設定部51aは、当該キュー23のバースト許容トークン値をバースト管理メモリ310から読み出す。そして、RR対象フラグ設定部51aは、第1総トークン値が0よりも大きく、かつ、バースト許容トークン値が0よりも大きい場合に、パケットの出力を許可するためのRR対象フラグ「ON」を当該キュー23のキューIDに設定する。
また、RR対象フラグ設定部51aは、第1総トークン値が0以下であるか、又は、バースト許容トークン値が0以下である場合には、パケットの出力を許可しないためのRR対象フラグ「OFF」を当該キュー23のキューIDに設定する。また、RR対象フラグ設定部51は、キュー管理部43から通知されるキュー状態情報からパケットが格納されていないキュー23を判別した場合には、パケットの出力不可を示すRR対象フラグ「OFF」を当該キュー23のキューIDに設定する。そして、RR対象フラグ設定部51aは、RR対象フラグを設定したキューIDをRR処理部52へ通知する。
帯域制御部45aは、トークン制御を行うとともに、トークン制御にて第1メモリ41から溢れたトークン値を第2メモリ42に蓄積し、パケットの出力に伴い第1メモリ41からトークン値が消費された場合に、第2メモリ42のトークン値を加算する。具体的には、帯域制御部45aは、トークン制御部61aと、キュー監視部62と、超過時制御部63aと、過小時制御部64とを有する。
トークン制御部61aは、基本的には図6に示したトークン制御部61と同様の処理を行う。さらに、トークン制御部61aは、キュー23からのパケットの出力に応じてバースト管理メモリ310のバースト許容トークン値から所定のトークン値を減算する。具体的には、トークン制御部61aは、デキューを実行したキュー23のキューIDとデキューされたパケットのパケット長をキュー管理部43から受付けると、キューIDで示すキュー23のバースト許容トークン値からパケット長分のトークン値を減算する。そして、トークン制御部61aは、減算後のバースト許容トークン値をバースト管理メモリ310に格納する。
超過時制御部63aは、トークン制御部61によるトークン値の加算に際して、加算後の第1総トークン値が所定の上限値を超過する場合に、上限値を超過する分のトークン値(以下「超過トークン値」という)を第2メモリ42の第2総トークン値に加算する。
具体的には、超過時制御部63aは、第1メモリ41から第1総トークン値及び追加トークン値を読み出す。そして、超過時制御部63aは、バースト管理メモリ310からバースト閾値及びバースト許容トークン値を読み出す。そして、超過時制御部63aは、追加トークン値を第1総トークン値に加算する。そして、超過時制御部63aは、追加トークン値の加算後の第1総トークン値とバースト閾値とを比較し、加算後の第1総トークン値がバースト閾値以下である場合に、超過トークン値を0(なし)とする。
一方、超過時制御部63aは、加算後の第1総トークン値がバースト閾値よりも大きい場合に、キュー監視部62からの監視結果を基にキュー23にパケットが格納されているか否かを判断する。そして、超過時制御部63aは、キュー23にパケットが格納されていないと判断した場合に、超過トークン値を0(廃棄)とする。一方、超過時制御部63aは、キュー23にパケットが格納されていると判断した場合には、追加トークン値の加算後の第1総トークン値とメモリ上限トークン値とを比較する。
そして、超過時制御部63aは、加算後の第1総トークン値がメモリ上限トークン値以下である場合に、第1総トークン値からバースト閾値を減算することによって超過トークン値を算出する。一方、超過時制御部63aは、加算後の第1総トークン値がメモリ上限トークン値よりも大きい場合に、メモリ上限トークン値からバースト閾値を減算することによって超過トークン値を算出する。そして、超過時制御部63aは、第1総トークン値をバースト閾値に更新する。そして、超過時制御部63aは、算出した超過トークン値を第2メモリ42から読み出した第2総トークン値に加算し、加算後の第2総トークン値を第2メモリ42に格納する。
また、超過時制御部63aは、トークン制御部61aによるトークン値の加算に際して、バースト許容トークン値をバースト閾値に更新し、更新後のバースト許容トークン値をバースト管理メモリ310に格納する。
[実施例3に係るパケット伝送装置による処理]
次に、実施例3に係るパケット伝送装置20aによる処理を説明する。ここでは、まず、パケット出力処理について説明し、その後、超過時制御処理について説明する。図14は、実施例3に係るパケット伝送装置20aによるパケット出力処理の処理手順を示すフローチャートである。図15−1は、実施例3における帯域制御部45aによる超過時制御処理の処理手順を示すフローチャートである。なお、実施例3における帯域制御部45aによる過小時制御処理の処理手順は、図9に示した処理手順と同様であるため、ここではその説明を省略する。
[パケット出力処理]
図14は、実施例3に係るパケット伝送装置20aによるパケット出力処理の処理手順を示すフローチャートである。図14に示すように、パケット伝送装置20aでは、帯域調整部32aのキュー選択部44aが、キュー管理部43から通知されるキュー状態情報からキュー23にパケットが格納されているか否かを判定する(ステップS71)。キュー23にパケットが格納されていない場合には(ステップS71否定)、キュー選択部44aは、パケットの出力不可を示すRR対象フラグ「OFF」を当該キュー23のキューIDに設定する(ステップS72)。
一方、キュー23にパケットが格納されている場合には(ステップS71肯定)、キュー選択部44aは、当該キュー23の第1トークン値を第1メモリ41から読み出す。さらに、キュー選択部44aは、当該キュー23のバースト許容トークン値をバースト管理メモリ310から読み出す。そして、キュー選択部44aは、第1総トークン値が0よりも大きく、かつ、バースト許容トークン値が0よりも大きいか否かを判定する(ステップS73)。第1総トークン値が0以下であるか、又は、バースト許容トークン値が0以下である場合に、キュー選択部44aは、RR対象フラグ「OFF」を当該キュー23のキューIDに設定する(ステップS74)。一方、第1総トークン値が0よりも大きく、かつ、バースト許容トークン値が0よりも大きい場合に、キュー選択部44aは、パケットの出力を許可するためのRR対象フラグ「ON」を当該キュー23のキューIDに設定する(ステップS75)。
続いて、キュー選択部44aは、RR対象フラグを設定したキューIDが示すキュー23のうちRR対象フラグ「ON」が設定されたキュー23をRRにより選択し、選択したキュー23のキューIDをキュー管理部43に送信する(ステップS76)。
続いて、キュー管理部43は、キュー選択部44aにより選択されたキュー23のキューIDを受付けると、当該キューIDで示すキュー23からパケットを出力する(ステップS77)。
そして、帯域制御部45aは、デキューを実行したキュー23のキューIDとデキューされたパケットのパケット長をキュー管理部43から受付けると、キューIDで示すキュー23の第1総トークン値からパケット長分のトークン値を減算する(ステップS78)。そして、帯域制御部45aは、減算後の第1総トークン値を第1メモリ41に格納する(ステップS79)。
そして、帯域制御部45aは、キューIDで示すキュー23のバースト許容トークン値からパケット長分のトークン値を減算する(ステップS80)。そして、帯域制御部45aは、減算後のバースト許容トークン値をバースト管理メモリ310に格納する(ステップS81)。
[超過時制御処理]
図15−1は、実施例3における帯域制御部45aによる超過時制御処理の処理手順を示すフローチャートである。なお、図15−1に示す処理手順は、例えば、第1メモリ41の第1総トークン値に所定のトークン値が加算されるたびに実行されるものとする。図15−1に示すように、帯域制御部45aでは、まず、超過時制御部63aが、第1メモリ41から第1総トークン値及び追加トークン値を読み出す(ステップS91)。そして、超過時制御部63aは、バースト管理メモリ310からバースト閾値及びバースト許容トークン値を読み出す(ステップS92)。そして、超過時制御部63aは、追加トークン値を第1総トークン値に加算する(ステップS93)。そして、超過時制御部63aは、加算後の第1総トークン値とバースト閾値とを比較し(ステップS94)、加算後の第1総トークン値がバースト閾値以下である場合に(ステップS94否定)、超過トークン値を0(なし)とし(ステップS95)、処理をステップS102に進める。
一方、超過時制御部63aは、加算後の第1総トークン値がバースト閾値よりも大きい場合に(ステップS94肯定)、キュー監視部62からの監視結果を基にキュー23にパケットが格納されているか否かを判断する(ステップS96)。そして、超過時制御部63aは、キュー23にパケットが格納されていないと判断した場合に(ステップS96否定)、超過トークン値を0(廃棄)とする(ステップS97)。一方、超過時制御部63aは、キュー23にパケットが格納されていると判断した場合に(ステップS96肯定)、追加トークン値の加算後の第1総トークン値とメモリ上限トークン値とを比較する(ステップS98)。
そして、超過時制御部63aは、加算後の第1総トークン値がメモリ上限トークン値以下である場合に(ステップS98否定)、第1総トークン値からバースト閾値を減算することによって超過トークン値を算出する(ステップS99)。一方、超過時制御部63aは、加算後の第1総トークン値がメモリ上限トークン値よりも大きい場合に(ステップS98肯定)、メモリ上限トークン値からバースト閾値を減算することによって超過トークン値を算出する(ステップS100)。さらに、超過時制御部63aは、ステップS97、S99およびS100の処理により超過トークン値を算出すると、第1総トークン値をバースト閾値に更新する(ステップS101)。
そして、超過時制御部63aは、第1総トークン値を第1メモリ41に格納し(ステップS102)、第2メモリ42から第2総トークン値を読み出す(ステップS103)。
そして、超過時制御部63aは、第2総トークン値を、ステップS95、S97、S99又はS100で求めた超過トークン値に更新し(ステップS104)、更新後の第2総トークン値を第2メモリ42に格納する(ステップS105)。
そして、超過時制御部63aは、バースト許容トークン値をバースト閾値に更新し(ステップS106)、更新後のバースト許容トークン値をバースト管理メモリ310に格納する(ステップS107)。
なお、図15−1に示した処理手順では、便宜上、第1総トークン値と第2総トークン値の2つのパラメータ値が存在するものとして説明を行った。しかし、本実施例に係るパケット伝送装置20aは、実際には、図13に示すように、第1総トークン値及び第2総トークン値を一つのパラメータ値である総トークン値とし、一つの総トークン値の中でトークン値のやりとりを行う。パケット伝送装置20aが総トークン値の中でトークン値のやり取りを行う場合の超過時制御処理の処理手順を図15−2に示す。以下では、図15−2に示す処理手順のうち図15−1に示す処理手順と同様の処理手順には同一の符号を付してその説明を省略する。
図15−2に示すように、超過時制御部63aは、追加トークン値の加算後の第1総トークン値がバースト閾値よりも大きい場合に(ステップS94肯定)、キュー監視部62からの監視結果を基にキュー23にパケットが格納されているか否かを判断する(ステップS96)。そして、超過時制御部63aは、キュー23にパケットが格納されていないと判断した場合に(ステップS96否定)、総トークン値をバースト閾値に更新し(ステップS96a)、処理をステップS102に進める。
一方、超過時制御部63aは、キュー23にパケットが格納されていると判断した場合に(ステップS96肯定)、追加トークン値の加算後の総トークン値とメモリ上限トークン値とを比較する(ステップS98)。
そして、超過時制御部63aは、加算後の総トークン値がメモリ上限トークン値よりも大きい場合に(ステップS98肯定)、総トークン値をメモリ上限トークン値に更新し(ステップS98a)、処理をステップS102に進める。
[実施例3の効果]
上述したように、実施例3に係るパケット伝送装置20aは、第1メモリ41および第2メモリ42を一体化したメモリ300を有し、メモリ300において第1メモリ41から溢れたトークン値を第2メモリ42に蓄積する。このため、パケット伝送装置20aは、実施例1と同様に、メモリの上限値を超過したトークン値を全て廃棄する従来の手法と比較して帯域幅の減少を抑制することができる。さらに、パケット伝送装置20aは、第1メモリ41および第2メモリ42をメモリ300として一体化しているため、装置構成を簡素化することができる。
[バースト閾値の推奨値]
最後に、本実施例におけるバースト閾値の推奨値について説明する。本実施例では、第1総トークン値に所定の周期で追加トークン値を加算する。この追加トークン値は、追加トークン値を第1総トークン値に加算する周期(以下「追加周期」という)が大きくなるほど、大きくなる。すなわち、追加トークン値は、追加周期に依存し、以下の式により算出される。
追加トークン値=出力帯域/(1秒/追加周期) ・・・ (1)
なお、上記式(1)において、出力帯域は、1秒間に出力されるパケット量を示す。
そして、上記式(1)により求められる追加トークン値が前回の追加周期から次回の追加周期までの間に消費される場合には、所望の帯域のパケットを出力することが可能となる。
図16は、バースト閾値が追加トークン値と等しい場合のパケットの出力履歴を示す図である。図16は、図表30及び図表40を含んでいる。図表30は、横軸が時間を表し、縦軸が出力帯域を表す。図表40は、横軸が時間を表し、縦軸が第1総トークン値を表す。図表30及び図表40では、バースト閾値とパケットの出力量とが等しく、追加トークン値が第1総トークン値に加算された後にパケットが出力された様子を示している。図表30及び図表40に示すように、バースト閾値が少なくとも追加トークン値と等しい場合には、所望の帯域である1Gbps分のパケットを出力することができることが分かる。
一方、バースト閾値が追加トークン値よりも小さい場合には、追加周期が到来するたびに第1総トークン値がバースト閾値を超える。このため、所望の帯域のパケットを出力することができなくなる。
図17は、バースト閾値が追加トークン値よりも小さい場合のパケットの出力履歴を示す図である。図17は、図表50及び図表60を含んでいる。図表50は、横軸が時間を表し、縦軸が出力帯域を表す。図表60は、横軸が時間を表し、縦軸が第1総トークン値を表す。図表50及び図表60では、バースト閾値が追加トークン値よりも大きく、追加トークン値が第1総トークン値に加算された後にパケットが出力された様子を示している。図表50及び図表60に示すように、バースト閾値が追加トークン値よりも小さい場合には、所望の帯域である1Gbps分のパケットを出力することができなくなる。
以上のことから、所望の帯域のパケットが出力されるためには、バースト閾値は、少なくとも追加トークン値以上である必要がある。しかし、バースト閾値が追加トークン値と等しい場合には、一旦失われた出力帯域が元の値に戻るまでの時間(以下「帯域取り戻し時間」という)が長期化する。なお、本実施例では、溢れたトークン値を取り戻す機能を備えるため、バースト閾値を最小のバースト閾値とすることができる。
図18は、バースト閾値と帯域取り戻し時間との関係を示す図である。図18の下側の図では、バースト閾値が追加トークン値と等しく、図18の上側の図では、バースト閾値が追加トークン値よりも大きいものとする。図18に示すように、バースト閾値が追加トークン値よりも大きい場合の帯域取り戻し時間T1は、バースト閾値が追加トークン値と等しい場合の帯域取り戻し時間T2よりも短い。
このように、バースト閾値が追加トークン値と等しい場合には、バースト閾値が追加トークン値よりも大きい場合と比較して、帯域の取り戻し時間が長期化する。このため、バースト閾値としては、追加トークン値よりも大きい値、例えば、追加トークン値を1.5倍した値が設定されることが望ましい。なお、ここでは、バースト閾値の推奨値について説明を行ったが、実施例2における第1上限トークン値の推奨値としても、追加トークン値よりも大きい値、例えば、追加トークン値を1.5倍した値が設定されることが望ましい。
なお、上記実施例2では、バースト量を通常バケット(第1メモリ41)により制御する。このため、実施例2における基準トークン値および第2上限トークン値としては、それぞれ、バースト量を約10倍した値および追加トークン値と同じ値が設定されることが望ましい。一方、上記実施例3では、バースト閾値によりバースト量を制御する。このため、実施例3における上限トークン値としては、実施例2と同様にバースト量を約10倍した値が設定されることが望ましい。各パラメータの推奨値を以下の表1に示す。
Figure 0005598260
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下にその他の実施例について説明する。
[第2総トークン値からのトークン値の加算周期]
上記実施例2では、第1総トークン値に所定の周期で加算されるトークン値とともに、第2総トークン値からのトークン値を第1総トークン値に加算することとした。しかしながら、開示の技術はこれに限られるものではない。例えば、第1総トークン値に所定の周期で加算されるトークン値の加算周期と異なる加算周期を用意し、当該異なる加算周期で第2総トークン値からのトークン値を第1総トークン値に加算することとしてもよい。
[プログラム]
ところで、上記の実施例で説明した各種は、予め用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図19を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図19は、パケット伝送プログラムを実行するコンピュータを示す図である。
同図に示すように、パケット伝送装置としてのコンピュータ100は、第1メモリ110、第2メモリ120、ROM(Read Only Memory)130及びCPU(Central Processing Unit)140を備える。また、第1メモリ110、第2メモリ120、ROM130及びCPU140は、バス150で接続される。
ROM130は、上記実施例と同様の機能を発揮するパケット伝送プログラム、つまり、図19に示すように、トークン制御プログラム131、超過時制御プログラム132及び過小時制御プログラム133を記憶する。なお、各プログラム131〜133は、必ずしもROM130に記憶される必要はない。
CPU140は、各プログラム131〜133をROM130から読み出して実行する。すると、図19に示すように、各プログラム131〜133は、トークン制御プロセス141、超過時制御プロセス142及び過小時制御プロセス143として機能する。なお、各プロセス141〜143は、図1に示したトークン制御部13、超過時制御部14及び過小時制御部15にそれぞれ対応する。
なお、第1メモリ110及び第2メモリ120は、図1に示した第1の記憶部11及び第2の記憶部12にそれぞれ対応する。
10、20 パケット伝送装置
11 第1の記憶部
11a 第1の総トークン値
12 第2の記憶部
12a 第2の総トークン値
13、61、61a トークン制御部
14、63、63a 超過時制御部
15、64 過小時制御部
21 パケット管理部
21a 共有メモリ
22 スケジューラ部
23 キュー
31 キュー振り分け部
32 帯域調整部
33 出力調整部
41 第1メモリ
42 第2メモリ
43 キュー管理部
44、44a キュー選択部
45、45a 帯域制御部
51、51a RR対象フラグ設定部
52 RR処理部
62 キュー監視部
300 メモリ
310 バースト管理メモリ

Claims (6)

  1. パケットの出力制御に用いる情報であるトークン値を記憶する第1および第2の記憶部と、
    前記第1の記憶部に記憶されているトークン値の総和を示す第1の総トークン値に所定の周期で所定のトークン値を加算するとともに、前記パケットの出力に応じて前記第1の総トークン値から所定のトークン値を減算するトークン制御部と、
    前記トークン制御部によるトークン値の加算に際して、当該加算後の前記第1の総トークン値が所定の上限値を超過する場合には、前記第1の総トークン値を当該上限値に相当する値に設定するとともに、当該上限値を超過する分のトークン値を前記第2の記憶部に記憶されているトークン値の総和を示す第2の総トークン値に加算する超過時制御部と、
    前記トークン制御部によるトークン値の減算によって前記第1の総トークン値が前記所定の上限値より過小になった場合に、前記第2の総トークン値から所定のトークン値を減算し、当該減算されたトークン値を前記第1の総トークン値に加算する過小時制御部と
    パケットを格納するキューと、
    前記キューにパケットが格納されているか否かを監視するキュー監視部と、
    を備え、
    前記超過時制御部は、前記第1の総トークン値が前記上限値を超過し、かつ、前記キュー監視部によって前記キューにパケットが格納されていると判定された場合に、前記上限値を超過する分のトークン値を前記第2の総トークン値に加算することを特徴とするパケット伝送装置。
  2. 前記過小時制御部は、前記トークン制御部によって前記第1の総トークン値に所定の周期で加算されるトークン値とともに、前記第2の総トークン値から減算されたトークン値を前記第1の総トークン値に加算することを特徴とする請求項1に記載のパケット伝送装置。
  3. 前記過小時制御部は、前記第2の総トークン値が予め定められた基準値以下であれば、前記第2の総トークン値から当該第2の総トークン値に含まれる全てのトークン値を減算し、当該減算されたトークン値を前記第1の総トークン値に加算し、前記第2の総トークン値が前記基準値を超えていれば、前記第2の総トークン値から前記基準値に相当する分のトークン値を減算し、当該減算されたトークン値を前記第1の総トークン値に加算することを特徴とする請求項1又は2に記載のパケット伝送装置。
  4. 前記第1および第2の記憶部を一体構成とし、
    前記第1の記憶部に記憶された前記上限値を、パケットを受信する対向装置に対して一度に出力可能なパケット量の最大値を規定するためのバースト閾値として設定したことを特徴とする請求項1〜のいずれか一つに記載のパケット伝送装置。
  5. パケットの出力制御に用いる情報であるトークン値を記憶する第1の記憶部に記憶されているトークン値の総和を示す第1の総トークン値に所定の周期で所定のトークン値を加算するとともに、前記パケットの出力に応じて前記第1の総トークン値から所定のトークン値を減算するトークン制御工程と、
    前記トークン制御工程によるトークン値の加算に際して、当該加算後の前記第1の総トークン値が所定の上限値を超過する場合には、前記第1の総トークン値を当該上限値に相当する値に設定するとともに、当該上限値を超過する分のトークン値を第2の記憶部に記憶されているトークン値の総和を示す第2の総トークン値に加算する超過時制御工程と、
    前記トークン制御工程によるトークン値の減算によって前記第1の総トークン値が前記所定の上限値より過小になった場合に、前記第2の総トークン値から所定のトークン値を減算し、当該減算されたトークン値を前記第1の総トークン値に加算する過小時制御工程と
    パケットを格納するキューにパケットが格納されているか否かを監視するキュー監視工程とを含み、
    前記超過時制御工程は、前記第1の総トークン値が前記上限値を超過し、かつ、前記キュー監視工程によって前記キューにパケットが格納されていると判定された場合に、前記上限値を超過する分のトークン値を前記第2の総トークン値に加算することを特徴とするパケット伝送方法。
  6. パケットの出力制御に用いる情報であるトークン値を記憶する第1の記憶部に記憶されているトークン値の総和を示す第1の総トークン値に所定の周期で所定のトークン値を加算するとともに、前記パケットの出力に応じて前記第1の総トークン値から所定のトークン値を減算するトークン制御手順と、
    前記トークン制御手順によるトークン値の加算に際して、当該加算後の前記第1の総トークン値が所定の上限値を超過する場合には、前記第1の総トークン値を当該上限値に相当する値に設定するとともに、当該上限値を超過する分のトークン値を第2の記憶部に記憶されているトークン値の総和を示す第2の総トークン値に加算する超過時制御手順と、
    前記トークン制御手順によるトークン値の減算によって前記第1の総トークン値が前記所定の上限値より過小になった場合に、前記第2の総トークン値から所定のトークン値を減算し、当該減算されたトークン値を前記第1の総トークン値に加算する過小時制御手順と
    パケットを格納するキューにパケットが格納されているか否かを監視するキュー監視手順と
    をコンピュータに実行させ
    前記超過時制御手順は、前記第1の総トークン値が前記上限値を超過し、かつ、前記キュー監視手順によって前記キューにパケットが格納されていると判定された場合に、前記上限値を超過する分のトークン値を前記第2の総トークン値に加算することを特徴とするパケット伝送プログラム。
JP2010244538A 2009-11-30 2010-10-29 パケット伝送装置、パケット伝送方法及びパケット伝送プログラム Expired - Fee Related JP5598260B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010244538A JP5598260B2 (ja) 2009-11-30 2010-10-29 パケット伝送装置、パケット伝送方法及びパケット伝送プログラム
US12/954,994 US8599693B2 (en) 2009-11-30 2010-11-29 Packet transmission device and packet transmission method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009271718 2009-11-30
JP2009271718 2009-11-30
JP2010244538A JP5598260B2 (ja) 2009-11-30 2010-10-29 パケット伝送装置、パケット伝送方法及びパケット伝送プログラム

Publications (2)

Publication Number Publication Date
JP2011135565A JP2011135565A (ja) 2011-07-07
JP5598260B2 true JP5598260B2 (ja) 2014-10-01

Family

ID=44068836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010244538A Expired - Fee Related JP5598260B2 (ja) 2009-11-30 2010-10-29 パケット伝送装置、パケット伝送方法及びパケット伝送プログラム

Country Status (2)

Country Link
US (1) US8599693B2 (ja)
JP (1) JP5598260B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201111106D0 (en) * 2011-06-30 2011-08-10 Xelerated Ab Method, network device, computer program and computer program product for communication queue state
JP5737039B2 (ja) * 2011-07-25 2015-06-17 富士通株式会社 パケット伝送装置、メモリ制御回路及びパケット伝送方法
US20140359112A1 (en) * 2013-05-31 2014-12-04 Broadcom Corporation Burst Access to Memory in Optical Line Terminal
US11621918B2 (en) * 2018-12-05 2023-04-04 Intel Corporation Techniques to manage data transmissions
US11616723B2 (en) * 2018-12-05 2023-03-28 Intel Corporation Techniques to reduce network congestion
US11599649B2 (en) * 2020-06-29 2023-03-07 Rockwell Automation Technologies, Inc. Method and apparatus for managing transmission of secure data packets
US11606346B2 (en) 2020-06-29 2023-03-14 Rockwell Automation Technologies, Inc. Method and apparatus for managing reception of secure data packets
CN112822119B (zh) * 2020-12-31 2022-09-13 北京浩瀚深度信息技术股份有限公司 一种基于反向令牌桶的流量控制方法、设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH098812A (ja) 1995-06-20 1997-01-10 Hitachi Ltd Atm交換システム
JPH09200214A (ja) 1996-01-12 1997-07-31 Matsushita Electric Ind Co Ltd Atmセルスイッチ
JP2833566B2 (ja) 1996-02-19 1998-12-09 日本電気株式会社 出力バッファ型atm交換機とそのスイッチ制御方法
JP2833567B2 (ja) 1996-02-19 1998-12-09 日本電気株式会社 出力バッファ型atm交換機とそのスイッチ制御方法
US5978356A (en) * 1997-04-09 1999-11-02 Lucent Technologies Inc. Traffic shaper for network nodes and method thereof
JP3587080B2 (ja) * 1999-05-06 2004-11-10 日本電気株式会社 パケットバッファ管理装置およびパケットバッファ管理方法
GB2356104B (en) * 1999-11-04 2001-10-10 3Com Corp Network switch including bandwidth controller
US6801500B1 (en) * 2000-05-18 2004-10-05 Cisco Technology, Inc. Method and apparatus for providing reserved rates to multiple flows on a network interface
EP1172955A2 (en) * 2000-07-14 2002-01-16 Mitsubishi Denki Kabushiki Kaisha Methods and devices of allocating slots to child stations
JP3705353B2 (ja) * 2001-05-22 2005-10-12 日本電気株式会社 パケットスケジューリング装置及び方法
JP2004180302A (ja) * 2002-11-27 2004-06-24 Alcatel Canada Inc 通信装置のためにデータトラフィックフローをスケジュールするシステムおよび方法
DE10306293B4 (de) * 2003-02-14 2006-08-31 Siemens Ag Verfahren zur Übertragungsbandbreitenzuteilung in einer paketorientierten Kommunikationseinrichtung
JP4317788B2 (ja) * 2004-05-21 2009-08-19 株式会社日立コミュニケーションテクノロジー シェーピング装置、フロー制御方法および通信ノード装置
JP3961000B2 (ja) * 2005-05-26 2007-08-15 株式会社日立コミュニケーションテクノロジー パケット転送装置及びネットワークシステム
JP4659654B2 (ja) * 2006-03-23 2011-03-30 富士通株式会社 シェーパ回路
JP2009200947A (ja) * 2008-02-22 2009-09-03 Fujitsu Ltd パケット伝送装置、パケット伝送方法およびパケット伝送プログラム
US8174980B2 (en) * 2008-03-28 2012-05-08 Extreme Networks, Inc. Methods, systems, and computer readable media for dynamically rate limiting slowpath processing of exception packets
JP4465394B2 (ja) * 2008-04-08 2010-05-19 富士通株式会社 パケット中継装置、パケット中継方法およびパケット中継プログラム

Also Published As

Publication number Publication date
JP2011135565A (ja) 2011-07-07
US8599693B2 (en) 2013-12-03
US20110128847A1 (en) 2011-06-02

Similar Documents

Publication Publication Date Title
JP5598260B2 (ja) パケット伝送装置、パケット伝送方法及びパケット伝送プログラム
JP4648833B2 (ja) 帯域管理装置
EP1461627B1 (en) Method and system for rate shaping in packet-based computer networks
EP2742656B1 (en) Scheduling under congestion with traffic load-based scaling
US11095561B2 (en) Phantom queue link level load balancing system, method and device
JP4338285B2 (ja) パケットスケジューリング方法および装置
USRE44119E1 (en) Method and apparatus for packet transmission with configurable adaptive output scheduling
JP3872716B2 (ja) パケット出力制御装置
US7616567B2 (en) Shaping apparatus, communication node and flow control method for controlling bandwidth of variable length frames
US7724661B2 (en) Scalable, high-resolution asynchronous transfer mode traffic shaper and method
JP4659654B2 (ja) シェーパ回路
Kasera et al. Fast and robust signaling overload control
JPH11112527A (ja) ノード装置
US6438132B1 (en) Virtual port scheduler
JP4577220B2 (ja) トークンバケットによるトラヒック制御装置、方法及びプログラム
US20070086483A1 (en) Method and system for policing binary flows in a switching device
US7266612B1 (en) Network having overload control using deterministic early active drops
WO2022135202A1 (zh) 业务流的调度方法、装置及系统
JPH11298523A (ja) パケット・スケジューリング方法
Abdel-jaber et al. Modelling BLUE Active Queue Management using Discrete-time Queue.
JP2005354738A (ja) Atmセル転送装置
Rahbar et al. LGRR: A new packet scheduling algorithm for differentiated services packet-switched networks
JP5943389B2 (ja) 呼受付判定方法および呼受付判定装置
CN110035011B (zh) 具有灵活速率限制器的网络设备
Sada et al. A Priority-Based Self-Adaptive Random Early Detection Algorithm in IoT Gateways

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140423

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: 20140715

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140728

R150 Certificate of patent or registration of utility model

Ref document number: 5598260

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees