JP6281338B2 - 伝送装置および伝送方法 - Google Patents

伝送装置および伝送方法 Download PDF

Info

Publication number
JP6281338B2
JP6281338B2 JP2014049836A JP2014049836A JP6281338B2 JP 6281338 B2 JP6281338 B2 JP 6281338B2 JP 2014049836 A JP2014049836 A JP 2014049836A JP 2014049836 A JP2014049836 A JP 2014049836A JP 6281338 B2 JP6281338 B2 JP 6281338B2
Authority
JP
Japan
Prior art keywords
frame
length
buffer
counter
control unit
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
JP2014049836A
Other languages
English (en)
Other versions
JP2015177215A (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 JP2014049836A priority Critical patent/JP6281338B2/ja
Priority to US14/612,720 priority patent/US9749265B2/en
Publication of JP2015177215A publication Critical patent/JP2015177215A/ja
Application granted granted Critical
Publication of JP6281338B2 publication Critical patent/JP6281338B2/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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Environmental & Geological Engineering (AREA)

Description

本発明は、フレームまたはパケットを伝送する伝送装置および伝送方法に係わる。
インターネットおよびモバイル通信の普及などにより、通信事業者が提供するキャリアネットワークは、SONET/SDH(Synchronous Optical NETwork/Synchronous Digital Hierarchy)等のTDMネットワークから、Ethernet(登録商標)技術およびIP技術を利用するパケットネットワークへ移行しつつある。
キャリアネットワークにおいは、ユーザに対して提供されるサービスの1つとして帯域保証が実用化されている。帯域保証サービスにおいては、例えば、ユーザ毎に契約等によって決められた最大帯域(又は、最大伝送速度)が割り当てられる。この場合、帯域保証サービスを提供する通信機器は、各ユーザのトラヒックが対応する最大帯域を越えないように帯域制御を行う。
帯域制御は、例えば、データ量制御により実現される。この場合、単位時間当たりのデータ量が制御される。なお、データ量は、一般に、ビット/秒(bps)で表される。また、ネットワーク上でフレームを中継する伝送装置(例えば、ルータ)は、各フレームのヘッダに付与されているアドレス情報に基づいてルーティング処理を行う。よって、単位時間当たりのフレーム数が増加すると、伝送装置内の回路においてオーバフローが発生するおそれがある。そこで、伝送装置は、フレーム数制御を行うことがある。フレーム数制御においては、単位時間当たりの送信フレームの数が許容数以下に制限される。
上述の帯域制御は、例えば、トークンバケツを利用して実現される。トークンバケツには、一定のレートでトークンが供給される。そして、トークンバケツに蓄積されているトークンの数が所定値(例えば、ゼロ)よりも大きければ、送信制御回路は、フレームバッファからフレームを読み出して送信する。このとき、送信制御回路は、フレームバッファから読み出したフレームの長さに相当する数のトークンをトークンバケツから削減する。よって、データ量は、トークンバケツに供給されるトークンの量に応じて制御される。
なお、関連する技術は、例えば、特許文献1〜4に記載されている。
WO2004/109995 特開2009−10449号公報 特開2009−147569号公報 特開2011−259329号公報
トークンバケツを利用する帯域制御においては、バースト転送(データ量またはフレーム数が一時的に増加する状態)が発生することがある。すなわち、トークンバケツには、上述したように、一定のレートでトークンが供給される。このため、伝送装置がフレームを受信していない期間は、トークンバケツにトークンが蓄積されてゆく。この後、伝送装置が連続してフレームを受信すると、送信制御回路は、トークンバケツに蓄積されているトークンの数が所定値以下になるまで、連続的にフレームを出力する。そうすると、これらのフレームを処理するフレーム処理回路および/または下流側のノードにおいてオーバフローが発生することがある。
なお、この問題は、例えば、トークンバケツの容量(トークンバケツに蓄積可能なトークンの数)を小さくすることで解決され得る。ところが、トークンバケツの容量を小さくし過ぎると、ユーザの通信速度が設定帯域に対応するレートまで上がらないことがある。
本発明の1つの側面に係わる目的は、指定された帯域を確保しながら、フレームのバースト転送を抑制することである。
本発明の1つの態様の伝送装置は、第1のカウンタと、指定されたレートで前記第1のカウンタをインクリメントするカウンタ制御部と、受信フレームを格納するフレームバッファと、前記第1のカウンタの値が所定の閾値よりも大きいときに、前記フレームバッファからフレームを読み出して出力するバッファ制御部と、を有する。前記バッファ制御部により前記フレームバッファから読み出された出力フレームの長さが指定された基準フレーム長よりも短いときは、前記カウンタ制御部は、前記基準フレーム長を表す値だけ前記第1のカウンタをデクリメントする。前記出力フレームの長さが前記基準フレーム長以上であるときは、前記カウンタ制御部は、前記出力フレームの長さを表す値だけ前記第1のカウンタをデクリメントする。
上述の態様によれば、指定された帯域を確保しながら、フレームのバースト転送を抑制することができる。
実施形態の伝送装置が使用されるネットワークの一例を示す図である。 伝送装置の構成を示す図である。 伝送装置により伝送されるフレームのフォーマットの例を示す図である。 第1の実施形態に係わる帯域制御装置の構成を示す図である。 第1の実施形態の帯域制御方法を示すフローチャートである。 第1の実施形態における帯域制御の一例を示す図である。 第2の実施形態の帯域制御方法を示すフローチャートである。 第2の実施形態における帯域制御の一例を示す図である。 第3の実施形態に係わる帯域制御装置の構成を示す図である。 第3の実施形態の帯域制御方法を示すフローチャートである。 第3の実施形態における帯域制御の一例を示す図である。 第4の実施形態に係わる帯域制御装置の構成を示す図である。 他の実施形態に係わる帯域制御装置の構成を示す図である。
図1は、本発明の実施形態の伝送装置が使用されるネットワークの一例を示す。このネットワークは、図1に示すように、複数の伝送装置1(1a〜1f)によって構築されている。各伝送装置1は、例えば光ファイバにより、1または複数の他の伝送装置1と接続されている。例えば、伝送装置1aは、伝送装置1b、1d、1eと接続されており、伝送装置1bは、伝送装置1a、1c、1d、1e、1fと接続されている。また、各伝送装置1は、1または複数のユーザ端末2を収容することができる。図1に示す例では、伝送装置1a、1c、1d、1fが、それぞれ複数のユーザ端末2を収容している。
伝送装置1は、ユーザ端末2または他の伝送装置1から受信するフレームを、宛先へ向かって転送する。すなわち、伝送装置1は、受信フレームの宛先アドレスに基づいてそのフレームを転送することができる。例えば、ユーザ端末2からEthernetフレームまたはIPフレームが送信される場合、伝送装置1は、受信フレーム内に格納されているMACアドレスまたはIPアドレス等に基づいて、そのフレームの転送処理を行う。なお、この明細書では、フレームおよびパケットを互いに区別しないことにする。したがって、「フレーム」は、パケットを含むものとする。
図2は、伝送装置1の構成を示す。伝送装置1は、図2に示すように、複数のIF(インタフェース)ユニット11、スイッチ部12、制御部13を有する。また、伝送装置1には、制御端末14が接続されている。
各IFユニット11は、複数のポートを有する。この実施例では、伝送装置1は、1つの対向装置(他の伝送装置1またはユーザ端末2)に対して1組の入力ポートおよび出力ポートを有する。すなわち、伝送装置1は、対向装置から送信されるフレームを入力ポートを介して受信し、出力ポートを介して対向装置へフレームを送信する。
IFユニット11は、ポートを介して受信するフレームを終端し、そのフレームをスイッチ部12へ送る。また、IFユニット11は、スイッチ部12から導かれてくるフレームを、そのパケットの宛先に対応するポートを介して出力する。なお、IFユニット11は、例えば、着脱可能なモジュール、ボード、またはカードで実現される。
スイッチ部12は、複数のIFユニット11に接続されている。そして、スイッチ部12は、IFユニット11から入力されるフレームを、その宛先に対応するIFユニット11へ導く。尚、スイッチ部12は、フレーム転送を制御するためのプロセッサ、メモリ、およびハードウェア回路を含む。また、スイッチ部12は、例えば、着脱可能なモジュール、ボード、またはカードで実現される。
制御部13は、CPUおよびメモリを含み、IFユニット11およびスイッチ部12の動作を制御する。また、制御部13は、アラーム情報および/または統計情報を収集することもできる。なお、制御部13は、例えば、着脱可能なモジュール、ボード、またはカードで実現される。
制御端末14は、制御部13に接続されるコンピュータであり、ユーザまたはネットワーク管理者の指示を伝送装置1に与える。なお、制御端末14は、伝送装置1の一部であってもよい。
IFユニット11、スイッチ部12、制御部13は、個々に着脱可能である必要はなく、例えば、マザーボードによって一体化されていてもよい。また、伝送装置1は、IFユニット11、スイッチ部12、制御部13に加えて、他の要素を含んでいてもよい。
図3は、伝送装置1により伝送されるフレームのフォーマットの例を示す。ここでは、伝送装置1は、Ethernetフレームを伝送するものとする。なお、図3に示す括弧付きの数字は、ビット数を表す。
Ethernetフレームは、図3(a)に示すように、宛先MACアドレス(MAC DA)、送信元MACアドレス(MAC SA)、イーサネット(登録商標)タイプ(E-TYPE)、プロトコルデータユニット(PDU)、フレームチェックシーケンス(FCS)を有する。イーサネットタイプは、プロトコルデータユニットに格納されるメッセージのタイプを識別する。一例としては、0x0800は、IPv4フレームを表す。なお、イーサネットタイプは、例えば、IANAにより規定される。プロトコルデータユニットは、上位レイヤのメッセージを格納する。例えば、ユーザデータは、このプロトコルデータユニットに格納される。フレームチェックシーケンスは、フレーム誤り検出のために使用され、例えば、CRC32符号により実現される。
図3(b)は、VLANタグが付与されたEthernetフレームのフォーマットを示す。VLANタグは、タグプロトコル識別子(TPID)、優先度(Priority)、DEI(Drop Eligible Indicator)、仮想LAN識別子(VLAN ID)を含む。タグプロトコル識別子には、フレーム内に仮想LAN識別子が格納されていることを表す値が設定される。たとえば、タグプロトコル識別子として、IEEE802.1Qで規定される0x8100が設定される。優先度は、フレーム自体の優先度を表す。図3(b)に示す例では、優先度は、3ビットであり、8クラスの優先度を表示できる。DEIは、廃棄優先度を表す。ネットワークが輻輳しているときは、DEI=1が設定されているフレームが優先的に廃棄される。仮想LAN識別子は、ユーザを識別することができる。なお、タグプロトコル識別子および仮想LAN識別子の組合せがVLANタグと呼ばれることもある。
次に、伝送装置1により提供される帯域制御機能(または、帯域管理機能)について記載する。
伝送装置1は、帯域制御装置を有する。帯域制御装置は、例えば、ユーザ毎に割り当てられている最大帯域を越えないように各ユーザのトラヒックを制御する。また、帯域制御装置は、図2においては、例えば、IFユニット11の中に設けられる。この場合、帯域制御装置は、入力ポートを介して受信するフレームを処理する。或いは、帯域装置は、スイッチ部12から導かれてくるフレームを処理してもよい。また、帯域制御装置は、スイッチ12の中に設けられてもよい。この場合、帯域制御装置は、IFユニット11から導かれてくるフレームを処理する。
<第1の実施形態>
図4は、第1の実施形態に係わる帯域制御装置の構成を示す。第1の実施形態の帯域制御装置100は、図4に示すように、フレームバッファ101、バッファ制御部102、トークンバケツ103、トークン制御部104、基準フレーム長テーブル105、フレーム長補正部106を有する。なお、帯域制御装置100は、図4に示していない他の要素を有していてもよい。
フレームバッファ101は、受信フレームを格納する。ここで、フレームバッファ101は、たとえば、ユーザ毎に受信フレームを格納することができる。各フレームのユーザは、例えば、図3(b)に示す「仮想LAN識別子(VLAN ID)」により識別される。なお、フレームバッファ101は、例えば、メモリデバイスにより実現される。
バッファ制御部102は、フレームバッファ101からフレームを読み出して出力することができる。ここで、バッファ入力帯域(書込み帯域)よりもバッファ出力帯域(読出し帯域)の方が小さいときは、フレームバッファ101においてオーバフローが発生することがある。この場合、例えば、バッファ制御部が優先制御処理の機能を有していれば、優先度の低いフレームが廃棄される。各フレームの優先度は、例えば、図3(b)に示す「優先度(Priority)」により識別される。
バッファ制御部102は、後で詳しく記載するが、トークンバケツ103に蓄積されているトークンの個数に基づいてフレームバッファ101からフレームを読み出す。このとき、バッファ制御部102は、基準フレーム長テーブル105に登録されている基準フレーム長に基づいて、フレームバッファ101からフレームを読み出す間隔を制御してもよい。
トークンバケツ103は、トークンを蓄積する。ただし、この実施例では、トークンバケツ103は、トークンの個数をカウントする。よって、以下では、トークンバケツ103に蓄積されているトークンの個数を「トークンバケツ103の値」と呼ぶことがある。例えば、トークンバケツ103に100個のトークンが供給されると、トークンバケツ103の値は100だけインクリメントされる。したがって、トークンバケツ103は、この実施例では、カウンタにより実現される。なお、後で詳しく記載するが、トークンバケツ103の値は、負の値となることができるものとする。
トークン制御部104は、トークンバケツ103に蓄積されるトークンの個数を制御する。具体的には、トークン制御部104は、指定されたレートでトークンバケツ103にトークンを供給する。トークンバケツ103にトークンを供給するレート(以下、トークン供給レート)は、許容データレート(または、最大帯域)を規定する。例えば、許容データレートが100Mbpsであるときは、トークン制御部104は、1秒間に、トークンバケツ103に100,000,000個のトークンを供給する。この場合、トークンバケツ103は、100,000,000/秒でカウントアップされる。なお、トークン供給レートは、例えば、ネットワーク管理者により指定される。また、トークン制御部104は、バッファ制御部102からの指示に応じて、トークンバケツ103からトークンを取り出すことができる。例えば、トークン制御部104がトークンバケツ103から100個のトークンを取り出すと、トークンバケツ103の値は100だけデクリメントされる。さらに、トークン制御部104は、トークンバケツ103の状態(例えば、トークンバケツ103に蓄積されているトークンの個数)をバッファ制御部102に通知することができる。
基準フレーム長テーブル105には、基準フレーム長が登録されている。基準フレーム長は、フレームの長さを表す。フレームの長さは、この例では、ビット数で表される。また、基準フレーム長は、例えば、許容データレートおよび最大送信フレーム数に基づいて指定される。一例としては、基準フレーム長は、下式で算出される。なお、最大送信フレーム数は、単位時間当たりに送信可能なフレームの数を表す。
基準フレーム長=許容データレート[bps]/最大送信フレーム数[fps]
この場合、許容データレートが指定されているものとすると、基準フレーム長を指定することで最大送信フレーム数が算出される。例えば、許容データレートが100Mbpsであるときに、基準データ長=10000ビットが与えられると、最大送信フレーム数=10,000フレーム/秒が得られる。換言すれば、許容データレートおよび最大送信フレーム数が与えられると、基準フレーム長が算出される。
フレーム長補正部106は、バッファ制御部102からの指示に応じて、フレームバッファ101から読み出されたフレームを補正する。すなわち、フレームバッファ101から読み出された出力フレームの長さが基準フレーム長よりも短いときは、フレーム長補正部106は、フレーム長が基準フレーム長になるように出力フレームを補正することができる。この場合、フレーム長補正部106は、例えば、出力フレームの末尾にダミーデータを付与してもよい。
次に、上記構成の帯域制御装置100の動作を説明する。以下の記載では、図4に示すように、受信フレーム#1、#2、#3、...が帯域制御装置100に順番入力されるものとする。そして、受信フレームは、順番に、フレームバッファ101格納される。
トークン制御部104は、上述したように、指定されたレートでトークンバケツ103にトークンを供給する。したがって、トークンバケツ103は、トークン供給レートで継続的にインクリメントされる。
バッファ制御部102は、定期的に、トークン管理信号を利用してトークンバケツ103の状態を確認する。トークン管理信号は、トークン制御部104により受信される。そうすると、トークン制御部104は、トークンバケツ103の状態を検出し、バッファ制御部102に通知する。具体的には、トークンバケツ103に蓄積されているトークンの個数がバッファ制御部102に通知される。或いは、トークンバケツ103に蓄積されているトークンの個数が所定の閾値より多いか否かがバッファ制御部102に通知される。この場合、閾値は、例えば、ゼロである。
トークンバケツ103に蓄積されているトークンの個数が1以上であるときは(すなわち、トークンバケツ103にトークンが残っているときは)、バッファ制御部102は、フレームバッファ101の先頭に格納されているフレームを読み出す。このように、トークンバケツ103の値は、フレームバッファ101からフレームを読み出すことを許可するか否かを表す。以下、フレームバッファ101から読み出されたフレームを「出力フレーム」と呼ぶことがある。
バッファ制御部102は、フレームバッファ101から読み出したフレーム(即ち、出力フレーム)の長さをトークン管理部104に通知する。この場合、フレーム長は、例えば、ビット数で表される。そうすると、トークン制御部104は、通知されたフレーム長を表す値だけ、トークンバケツ103をデクリメントする。例えば、出力フレームのフレーム長が128バイト(即ち、1024ビット)であったときは、トークンバケツ103は「1024」だけデクリメントされる。なお、トークンバケツ103の値は、負の値となることができる。
このように、トークンバケツ103の値は、上述したトークン供給レートでインクリメントされ、各出力フレームの長さに応じてデクリメントされる。ここで、この例では、トークンバケツ103の値が1以上であるときに、フレームバッファ101からフレームを読み出す動作が許可される。したがって、出力データレートは、実質的に、トークン供給レートによって制限される。すなわち、最大出力データレートは、トークンバケツ103を利用して制御される。
バッファ制御部102は、フレームバッファ101から読み出した出力フレームの長さと基準フレーム長とを比較する。そして、出力フレームの長さが基準フレーム長よりも短いときは、バッファ制御部102は、時間領域において、出力フレームに対して割り当てられる区間の後に無効区間を設ける。無効区間においては、フレームバッファ101から次のフレームを読み出す処理が禁止される。また、無効区間の長さは、出力フレームの長さと基準フレーム長との差分に対応する。例えば、図4に示す例では、フレーム#1の長さが基準フレーム長よりも短い。したがって、フレーム#1の末尾に無効区間が設けられている。なお、図4では、無効区間は、斜線領域で表されている。
また、出力フレームの長さが基準フレーム長よりも短いときは、バッファ制御部102は、フレーム長補正部106と連携して、出力フレームの長さが基準フレーム長になるように出力フレームを補正してもよい。この場合、フレーム長補正部106は、例えば、出力フレームの末尾にダミーデータを付与する。ダミーデータのデータ長は、基準フレーム長と出力フレームの長さとの差分に相当する。なお、上述の無効区間は、出力フレームの末尾にダミーデータを付加することで実現してもよい。
一方、出力フレームの長さが基準フレーム長以上であるときは、バッファ制御部102は、出力フレームの末尾に無効区間を設けない。或いは、出力フレームの末尾にダミーデータは付与されない。例えば、図4に示す例では、フレーム#2の長さが基準フレーム長よりも長い。したがって、フレーム#2の末尾に無効区間は設けられていない。
フレームバッファ101から読み出された出力フレームは、フレーム処理部110に導かれる。フレーム処理部110は、フレームのヘッダに格納されている情報に応じてそのフレームを処理する。例えば、フレーム処理部110は、ヘッダ情報に応じてフレームをフィルタリングする。また、フレーム処理部110は、ヘッダ情報に応じてフレームの宛先を決定してもよい。さらに、フレーム処理部110は、ヘッダ情報に応じてフレーム内のデータを加工してもよい。
このように、第1の実施形態の帯域制御装置100は、トークンバケツ103を利用して出力データレートを制御する。これに加えて、出力フレームの長さが基準フレーム長より短いときは、帯域制御装置100は、出力フレームの長さと基準フレーム長との差分に相当する無効区間(または、ダミーデータ)を挿入する。したがって、フレームバッファ101からフレームを読み出す間隔は、基準フレーム長に対応する時間よりも短くならないように制御される。すなわち、単位時間あたりの送信フレーム数の上限が適切に制限される。この結果、フレームのバースト転送が抑制される。
例えば、フレーム長の短いフレーム(以下、短フレーム)が連続してフレームバッファ101に格納されたものとする。この場合、出力データレートを制御するだけでは、一時的に多数の短フレームが連続的に読み出される可能性がある。ところが、帯域制御装置100においては、短フレームに対して上述の無効区間(または、ダミーデータ)を付加することにより、フレームのバースト転送が抑制される。したがって、フレーム処理部110またはフレームの転送先ノードの回路の単位時間当たりのフレーム処理の負荷が抑制される。
なお、上述の帯域制御は、複数のユーザにより帯域が共有されるときにも有用である。例えば、総帯域1Gbpsが10ユーザにより共有され、各ユーザに対して帯域100Mbpsが割り当てられているものとする。この場合、フレームバッファ101は、ユーザ毎に受信フレームを独立して格納する。また、帯域制御装置100は、ユーザ毎にトークンバケツ103、トークン制御部104、基準フレーム長テーブル105を有する。そして、帯域制御装置100は、各ユーザのトラヒックがそれぞれ100Mbpsを超えないように、フレームバッファ101からフレームを読み出す。
ここで、仮に、基準フレーム長に基づく無効区間の挿入を行わないものとすると、一部のユーザの送信フレーム数が増大することがある。例えば、あるユーザが多数の短フレームを連続して送信したときは、データレートは指定された帯域内に抑制されるが、そのユーザの送信フレーム数が増大する。ここで、フレーム処理部110の処理能力が十分に高くないものとすると、フレーム処理部110のリソースがこのユーザによって消費されてしまい、他のユーザのトラヒックに影響が及ぶおそれがある。
これに対して第1の実施形態の帯域制御装置100においては、各ユーザのデータレートが制御されるだけでなく、各ユーザの送信フレーム数も制御される。したがって、複数のユーザにより帯域が共有されるケースであっても、フレーム処理部110のリソースが一部のユーザによって過剰に消費されることはなく、すべてのユーザのトラヒックがフレーム処理部110によって適切に処理される。なお、複数のユーザにより帯域が共有されるときは、ユーザ毎に基準フレーム長を指定することが可能である。
図5は、第1の実施形態の帯域制御方法を示すフローチャートである。このフローチャートの処理は、例えば、定期的に実行される。なお、トークンバケツ103は、トークン制御部104により所定のレートでインクリメントされる。また、受信フレームは順番にフレームバッファ101に格納される。
S1において、バッファ制御部102は、トークンバケツ103に1個以上のトークンが蓄積されているか否かを判定する。トークンバケツ103に1個以上のトークンが蓄積されているときは(即ち、トークンバケツ103の値が1以上であるときは)、バッファ制御部102は、S2において、フレームバッファ101の先頭に格納されているフレームを読み出す。一方、トークンバケツ103にトークンが残っていないときは(即ち、トークンバケツ103の値がゼロ以下であるときは)、バッファ制御部102は、フレームバッファ101からフレームを読み出すことはできない。
S3において、バッファ制御部102は、フレームバッファ101から読み出した出力フレームの長さと基準フレーム長とを比較する。そして、出力フレームの長さが基準フレーム長よりも短いときは、バッファ制御部102は、S4において、出力フレームの末尾に無効区間またはダミーデータを付加して送信する。一方、出力フレームの長さが基準フレーム長以上であるときは、バッファ制御部102は、S5において、無効区間またはダミーデータを付加することなく出力フレームを送信する。
S6において、バッファ制御部102は、出力フレームの長さをトークン制御部104に通知する。そうすると、トークン制御部104は、この出力フレームの長さを表す値だけトークンバケツ103をデクリメントする。なお、以下の記載では、フレームバッファ101から読み出された出力フレームの長さを「実フレーム長」と呼ぶことがある。すなわち、S6では、出力フレームの実フレーム長を表す値だけトークンバケツ103がデクリメントされる。
なお、バッファ制御部102およびトークン制御部104は、例えば、図5に示すフローチャートの処理を行うハードウェア回路により実現される。或いは、バッファ制御部102およびトークン制御部104は、図5に示すフローチャートの処理を記述したプログラムをプロセッサで実行することにより実現してもよい。さらに、バッファ制御部102およびトークン制御部104は、ハードウェア回路およびソフトウェアの組合せで実現してもよい。
図6は、第1の実施形態における帯域制御の一例を示す。第1の実施形態では、フレームバッファ101からフレームが読み出されるときに、そのフレーム長を表す値だけトークンバケツ103がデクリメントされる。図6に示す例では、例えば、時刻T1においてフレーム長L1のフレームが読み出されている。この結果、トークンバケツ103は、L1に対応する値だけデクリメントされる。なお、バッファ制御部102は、トークンバケツ103にトークンが残っていないとき(即ち、トークンバケツ103の値が負であるとき)は、フレームバッファ101からフレームを読み出すことはできない。図6に示す例では、時刻T2〜T3は、バッファ制御部102はフレームバッファ101からフレームを読み出すことはできない。この後、時刻T4において、フレームバッファ101から次のフレームが読み出されている。
<第2の実施形態>
帯域制御装置の構成は、第1および第2の実施形態において実質的に同じである。すなわち、第2の実施形態の帯域制御は、図4に示す帯域制御装置100により提供される。ただし、トークンバケツ103を制御する方法は、第1および第2の実施形態において異なる。
図7は、第2の実施形態の帯域制御方法を示すフローチャートである。このフローチャートの処理は、第1の実施形態と同様に、例えば、定期的に実行される。また、第1の実施形態と同様に、トークンバケツ103は、トークン制御部104により所定のレートでインクリメントされる。さらに、受信フレームは順番にフレームバッファ101に格納される。
第1の実施形態では、図5に示すように、フレームバッファ101から読み出された出力フレームの長さにかかわらず、実フレーム長を表す値だけトークンバケツ103がデクリメントされる。これに対して第2の実施形態では、図7に示すように、フレームバッファ101から読み出された出力フレームの長さが基準フレーム長よりも短いときは、S11において、トークン制御部104は、基準フレーム長を表す値だけトークンバケツ103をデクリメントする。また、フレームバッファ101から読み出された出力フレームの長さが基準フレーム長以上であるときは、S12において、トークン制御部104は、出力フレームの実フレーム長を表す値だけトークンバケツ103をデクリメントする。
図8は、第2の実施形態における帯域制御の一例を示す。なお、図6および図8において、動作条件(トークン供給レート、基準フレーム長など)は同じである。
時刻T4においてフレームバッファ101から読み出されるフレームの長さL2は、基準フレーム長よりも短い。この場合、第1の実施形態では、図6に示すように、トークン制御部104は、実フレーム長を表す値だけトークンバケツ103をデクリメントする。これに対して第2の実施形態では、図8に示すように、トークン制御部104は、基準フレーム長を表す値だけトークンバケツ103をデクリメントする。
このように、第2の実施形態では、出力フレームの長さが基準フレーム長よりも短いときは、基準フレーム長を表す値だけトークンバケツ103がデクリメントされる。すなわち、第2の実施形態では、あるユーザのフレームの末尾に無効区間(または、ダミーデータ)が付加されたときは、その無効区間に対応する帯域は、そのユーザによって使用されたものとして帯域制御が実行される。このため、第1の実施形態と比較して、第2の実施形態では、トークンバケツ103の値が小さくなりやすい。
例えば、第1の実施形態では、図6に示すように、時刻T4においてトークンバケツ103の値は負になっていない。一方、第2の実施形態では、図8に示すように、時刻T4においてトークンバケツ103の値が負になっている。ここで、トークンバケツ103の値がゼロ以下である期間は、バッファ制御部102はフレームバッファ101からフレームを読み出すことはできない。よって、第2の実施形態では、トークンバケツ103を利用して、単位時間あたりの送信フレーム数を抑制することが可能である。したがって、第2の実施形態では、出力フレームの長さが基準フレーム長よりも短いときに、必ずしもその出力フレームの末尾に無効区間を付加しなくてもてもよい。この場合、帯域制御装置100は、フレーム長補正部106を有していなくてもよい。
<第3の実施形態>
図9は、第3の実施形態に係わる帯域制御装置の構成を示す。第3の実施形態の帯域制御装置300は、図9に示すように、フレームバッファ101、トークンバケツ103、基準フレーム長テーブル105、フレーム長補正部106、キャッシュバケツ301、トークン制御部302、バッファ制御部303を有する。なお、フレームバッファ101、トークンバケツ103、基準フレーム長テーブル105、フレーム長補正部106は、第1および第3の実施形態において実質的に同じである。また、帯域制御装置300は、図9に示していない他の要素を有していてもよい。
キャッシュバケツ301は、所定の条件の下でトークンバケツ103から取り出されたトークンを一時的に格納することができる。なお、この実施例では、トークンバケツ103と同様に、キャッシュバケツ301もトークンの個数をカウントする。よって、以下では、キャッシュバケツ301に格納されているトークンの個数を「キャッシュバケツ301の値」と呼ぶことがある。また、トークンバケツ103と同様に、キャッシュバケツ301もカウンタにより実現される。ただし、トークンバケツ103は指定されたレートでトークンが供給されるが、キャッシュバケツ301に対してそのようなトークンの供給は行われない。
トークン制御部302は、第1または第2の実施形態と同様の方法でトークンバケツ103を制御する。これに加えて、トークン制御部302は、キャッシュバケツ301も制御する。そして、バッファ制御部303は、トークンバケツ103の値だけでなく、キャッシュバケツ301の値も考慮して、フレームバッファ101からフレームを読み出して出力する。以下、フローチャートを参照しながら第3の実施形態の帯域制御装置300の動作を説明する。
図10は、第3の実施形態の帯域制御方法を示すフローチャートである。このフローチャートの処理は、第1の実施形態と同様に、例えば、定期的に実行される。また、第1の実施形態と同様に、トークンバケツ103は、トークン制御部302により所定のレートでインクリメントされる。さらに、受信フレームは順番にフレームバッファ101に格納される。
S1〜S5、S11、S12の処理は、第2及び第3の実施形態において同じである。すなわち、第3の実施形態においても、フレームバッファ101から読み出される出力フレームの長さが基準フレーム長よりも短いときは、出力フレームの末尾に無効区間(または、ダミーデータ)が付加され、基準フレーム長を表す値だけトークンバケツ103がデクリメントされる。また、出力フレームの長さが基準フレーム長以上であるときは、出力フレームに無効区間が付加されることはなく、実フレーム長を表す値だけトークンバケツ103がデクリメントされる。
但し、第3の実施形態では、出力フレームの長さが基準フレーム長よりも短いときは、S11の後に、S21において、実フレーム長と基準フレーム長との差分に対応する個数のトークンがキャッシュバケツ301に格納される。すなわち、実フレーム長と基準フレーム長との差分を表す値だけキャッシュバケツ301がインクリメントされる。
また、第1および第2の実施形態では、トークンバケツ103にトークンが残っていないとき(すなわち、トークンバケツ103の値がゼロ以下であるとき)は、バッファ制御部102はフレームバッファ101からフレームを読み出すことはない。これに対して第3の実施形態では、トークンバケツ103にトークンが残っていないときであっても、S22〜S23の条件が満たされるときは、バッファ制御部102はフレームバッファ101からフレームを読み出すことができる。よって、トークンバケツ103にトークンが残っていないときは(S1:No)、帯域制御装置300の処理はS22へ移動する。
S22において、バッファ制御部303は、フレームバッファ101の先頭に格納されているフレームの長さ(以下、次フレーム長)が基準フレーム長であるか否か判定する。そして、次フレーム長が基準フレーム長以上であれば、バッファ制御部303の処理はS23へ進む。一方、次フレーム長が基準フレーム長よりも短いときは、バッファ制御部303の処理はS1へ戻る。
S23において、バッファ制御部303は、キャッシュバケツ301に残っているトークンの個数に対応するフレーム長(以下、キャッシュフレーム長)と次フレーム長とを比較する。そして、キャッシュフレーム長が次フレーム長以上であるときは、バッファ制御部303の処理はS24へ進む。すなわち、フレームバッファ101の先頭に格納されているフレームの長さに対して、キャッシュバケツ301に十分な数のトークンが格納されているときは、S24〜S25の処理が実行される。なお、キャッシュフレーム長が次フレーム長よりも短いときは、バッファ制御部303の処理はS1へ戻る。すなわち、フレームバッファ101の先頭に格納されているフレームの長さに対して、キャッシュバケツ301に十分な数のトークンが格納されていないときは、バッファ制御部303はフレームバッファ101からフレームを読み出さない。
S24において、バッファ制御部303は、フレームバッファ101の先頭に格納されているフレームを読み出して出力する。このとき、バッファ制御部303は、このフレームの末尾に無効区間を付加する必要はない。そして、S25において、トークン制御部302は、実フレーム長(すなわち、フレームバッファ101から読み出されたフレームの長さ)を表す値だけキャッシュバケツ301をデクリメントする。なお、S25の実フレーム長は、S22およびS23の次フレーム長と同じである。
このように、第3の実施形態では、出力フレームの長さが基準フレーム長よりも短いときは、基準フレーム長を表す値だけトークンバケツ103がデクリメントされる。すなわち、出力フレームの長さが基準フレーム長よりも短いときは、トークンバケツ103は、実フレーム長よりも長い基準フレーム長を表す値だけデクリメントされる。そして、この場合、トークン制御部302は、実フレーム長と基準フレーム長との差分を表す値だけキャッシュバケツ301をインクリメントする。
また、トークンバケツ103にトークンが残っていないときであっても、バッファ制御部303は、所定の条件の下でフレームバッファ101からフレームを読み出すことができる。具体的には、トークンバケツ103の値がゼロ以下であっても、下記の2つの条件が満たされているときは、バッファ制御部303はフレームバッファ101からフレームを読み出す。
(1)フレームバッファ101の先頭に格納されているフレームの長さ(即ち、次フレーム長)が基準フレーム長以上である。
(2)キャッシュバケツ301に残っているトークンの個数に対応するフレーム長が次フレーム長以上である。
ここで、第1〜第2の実施形態と第3の実施形態とを比較する。第1の実施形態では、実フレーム長が基準フレーム長より短いときであっても、トークンバケツ103は実フレーム長を表す値だけデクリメントされる。また、第2の実施形態では、実フレーム長が基準フレーム長よりも短いときは、トークンバケツ103は基準フレーム長を表す値だけデクリメントされる。すなわち、第1の実施形態と比較すると、第2の実施形態では、トークンバケツ103が「より大きく」デクリメントされる。
第3の実施形態では、第1の実施形態と第2の実施形態との間の「差分」がキャッシュバケツ301に格納される。すなわち、実フレーム長と基準フレーム長との差分を表す値だけキャッシュバケツ301がインクリメントされる。そして、キャッシュバケツ301に格納されたトークンは、上述の条件(1)及び(2)が満たされるときに使用される。すなわち、第3の実施形態の帯域制御は、無効区間を消費帯域として処理するか否かという観点において、第1の実施形態と第2の実施形態との中間に位置する。
また、第2の実施形態では、あるユーザの短フレームに対して無効区間が設けられたときに、その無効区間は、そのユーザの消費帯域としてカウントされる。このため、第2の実施形態では、短フレームが多いトラヒックに対しては、許容帯域に対して実際の送信データレートが十分に得られないおそれがある。これに対して第3の実施形態では、あるユーザの短フレームに対して無効区間が設けられたときに、その無効区間に相当するトークンがキャッシュバケツ301に格納される。そして、キャッシュバケツ301に格納されたトークンは、このユーザの他のフレームを送信するために使用される。すなわち、短フレームを送信する際に余分にカウントされた帯域が、他のフレームを送信するために利用される。したがって、第3の実施形態の帯域制御方法によれば、トークンバケツ103を利用して指定した送信データレートを保証することができる。
なお、バッファ制御部303およびトークン制御部302は、例えば、図10に示すフローチャートの処理を行うハードウェア回路により実現される。或いは、バッファ制御部303およびトークン制御部302は、図10に示すフローチャートの処理を記述したプログラムをプロセッサで実行することにより実現してもよい。さらに、バッファ制御部303およびトークン制御部302は、ハードウェア回路およびソフトウェアの組合せで実現してもよい。
図11は、第3の実施形態における帯域制御の一例を示す。この例では、時刻T11においてフレームバッファ101から読み出される出力フレームの長さL3は、基準フレーム長よりも短い。この場合、トークンバケツ103は、基準フレーム長を表す値だけデクリメントされる。このとき、トークンバケツ103から「余分に」取り出されたトークンがキャッシュバケツ301に格納される。すなわち、キャッシュバケツ301は、基準フレーム長と長さL3との差分(図11では、ΔL)だけインクリメントされる。同様に、時刻T12においても、キャッシュバケツ301はインクリメントされている。
時刻T13においてフレームバッファ101から読み出される出力フレームの長さは、基準フレーム長よりも長い。この場合、トークンバケツ103は、実フレーム長を表す値だけデクリメントされる。一方、キャッシュバケツ301の値は、そのまま維持される。同様に、時刻T14においても、トークンバケツ103は、実フレーム長を表す値だけデクリメントされる。
時刻T15においては、トークンバケツ103の値は負である。ここで、時刻T15においてフレームバッファ101の先頭に格納されているフレームの長さ(即ち、次フレーム長)が基準フレーム長以上であるものとする。また、キャッシュバケツ301に格納されているトークンの個数が基準フレーム長に対応するトークン数以上である。よって、この場合、バッファ制御部303は、フレームバッファ101の先頭に格納されているフレームを読み出して出力することができる。このとき、トークン制御部302は、実フレーム長(ここでは、次フレーム長)を表す値だけキャッシュバケツ301をデクリメントする。ただし、トークンバケツ103の値は、そのまま維持される。
<第4の実施形態>
第4の実施形態では、クラス毎に基準フレーム長が設定され、クラス毎に送信データレートおよび送信フレーム数の双方が制御される。
図12は、第4の実施形態に係わる帯域制御装置の構成を示す。第4の実施形態の帯域制御装置400は、図12に示すように、フレームバッファ401、トークンバケツ103、基準フレーム長テーブル402−1〜402−n、フレーム長補正部106、キャッシュバケツ301、トークン制御部302、バッファ制御部303を有する。なお、トークンバケツ103、フレーム長補正部106、キャッシュバケツ301、トークン制御部302、バッファ制御部303は、第3および第4の実施形態において実質的に同じである。また、帯域制御装置400は、図12に示していない他の要素を有していてもよい。
フレームバッファ401は、受信フレームをクラス毎に格納する。クラスは、この例では、VLANタグ内の優先度(Priority)ビットで識別される。即ち、フレームバッファ401は、各フレームの優先度ごとに受信フレームを格納することができる。また、基準フレーム長テーブル402−1〜402−nには、それぞれ、各クラスに対して指定された基準フレーム長が登録されている。即ち、第4の実施形態では、VLANタグで指定される各ユーザの優先度に対して基準フレーム長が設定される。
1つの実施例としては、優先度の高いVLANユーザに対して使用される基準フレーム長は短い。そうすると、このユーザのフレームに対して無効区間が付加されにくくなる。よって、優先度の高いVLANユーザの送信フレーム数は、抑制されにくくなる。一方、優先度の低いVLANユーザに対して使用される基準フレーム長は長い。そうすると、このユーザのフレームに対して無効区間が付加されやすくなる。したがって、優先度の低いVLANユーザの送信フレーム数は抑制されやすくなる。このような構成とすれば、優先度の低いフレームのバーストが抑制され、優先度の高いユーザのトラヒックがバースト性を有していても、コンピュータ資源(例えば、フレーム処理部110)はそのユーザのフレームを処理することができる。
なお、フレーム処理部110で実行される処理ステップの数は、ネットワークアプリケーションまたはサービスアプリケーションに依存する。したがって、クラス毎に基準フレーム長を設定するかわりに、アプリケーション毎に基準フレーム長を設定してもよい。例えば、フレーム処理部110で実行される処理ステップの数が多いアプリケーションに対して長い基準フレーム長が与えられる。このような設定とすれば、フレーム処理部110の負荷が効率的に削減され、伝送装置の処理能力が向上する。
このように、第4の実施形態によれば、全体として送信データレートを制御しながら、任意のグループ(優先度、アプリケーションなど)毎に送信フレーム数の制御を行うことができる。なお、図12に示す帯域制御装置は、図9に示す構成をベースにしているが、第4の実施形態の帯域制御は、図4に示す構成をベースにして実現してもよい。
<他の実施形態>
上述した第1〜第4の実施形態の帯域制御装置は、トークンバケツ103を利用して送信データレートおよび送信フレーム数を制御する。これに対して図13に示す帯域制御装置500は、量的トークンバケツ501および量的トークン制御部502を利用して送信データレートを制御し、数的トークンバケツ503および数的トークン制御部504を利用して送信フレーム数を制御する。なお、量的トークンバケツ501および量的トークン制御部502は、例えば、第1の実施形態のトークンバケツ103およびトークン制御部104と同様に動作する。また、数的トークンバケツ503は、所定のレートでインクリメントされ、フレームバッファ101からフレームが読み出されたときに1だけデクリメントされる。
ただし、図13に示す帯域制御装置500においては、各ユーザに対して量的トークンバケツ501、量的トークン制御部502、数的トークンバケツ503、数的トークン制御部504を設ける必要がある。これに対して、図4に示す帯域制御装置100は、送信フレーム数を制御するための回路(図13では、数的トークンバケツ503および数的トークン制御部504)を設けることなく、送信フレーム数を制御することができる。よって、図13に示す構成と比較して、図4に示す構成によれば、回路規模が小さくなり、伝送装置のコストを削減することができる。
図9に示す帯域制御装置300は、図4に示す構成に加えて、キャッシュバケツ301を有する。ただし、キャッシュバケツ301は、トークンバケツ103によって余計にカウントされたトークンを一時的に格納するために設けられている。このため、図13に示す量的トークンバケツ501または数的トークンバケツ503と比較して、キャッシュバケツ301の回路規模を小さくするこが可能である。これに加えて、キャッシュバケツ301には、所定のレートでトークンを供給する処理は行われない。よって、図13に示す構成と比較して、図4に示す構成によっても、回路規模が小さくなり、伝送装置のコストを削減することができる。
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1のカウンタと、
指定されたレートで前記第1のカウンタをインクリメントするカウンタ制御部と、
受信フレームを格納するフレームバッファと、
前記第1のカウンタの値が所定の閾値よりも大きいときに、前記フレームバッファからフレームを読み出して出力するバッファ制御部と、を有し、
前記バッファ制御部により前記フレームバッファから読み出された出力フレームの長さが指定された基準フレーム長よりも短いときは、前記カウンタ制御部は、前記基準フレーム長を表す値だけ前記第1のカウンタをデクリメントし、
前記出力フレームの長さが前記基準フレーム長以上であるときは、前記カウンタ制御部は、前記出力フレームの長さを表す値だけ前記第1のカウンタをデクリメントする
ことを特徴とする伝送装置。
(付記2)
前記出力フレームの長さが前記基準フレーム長よりも短いときは、前記バッファ制御部は、前記出力フレームに対して割り当てられる区間の後に、前記出力フレームの長さと前記基準フレーム長との差分に対応する時間だけ、前記フレームバッファから次のフレームを読み出す処理を禁止する無効区間を設ける
ことを特徴とする付記1に記載の伝送装置。
(付記3)
前記出力フレームの長さが前記基準フレーム長よりも短いときに、前記出力フレームの長さが前記基準フレーム長になるように前記出力フレームを補正するフレーム長補正部をさらに有する
ことを特徴とする付記1に記載の伝送装置。
(付記4)
第2のカウンタをさらに有し、
前記出力フレームの長さが前記基準フレーム長よりも短いときは、前記カウンタ制御部は、前記出力フレームの長さと前記基準フレーム長との差分を表す値だけ前記第2のカウンタをインクリメントし、
前記第1のカウンタの値が前記閾値以下であり、且つ、前記フレームバッファの先頭に格納されている先頭フレームの長さが前記基準フレーム長以上であり、且つ、前記第2のカウンタの値が前記先頭フレームの長さを表す値以上であるときは、
前記バッファ制御部は、前記フレームバッファから前記先頭フレームを読み出して出力し、
前記カウンタ制御部は、前記先頭フレームの長さを表す値だけ前記第2のカウンタをデクリメントする
ことを特徴とする付記1に記載の伝送装置。
(付記5)
前記フレームバッファは、送信元ユーザ毎に受信フレームを格納する構成であり、
前記基準フレーム長は、前記ユーザ毎に指定される
ことを特徴とする付記1〜4のいずれか1つに記載の伝送装置。
(付記6)
前記フレームバッファは、各フレームの優先度ごとに受信フレームを格納する構成であり、
前記基準フレーム長は、前記優先度に応じて指定される
ことを特徴とする付記1〜4のいずれか1つに記載の伝送装置。
(付記7)
前記優先度が高いほど長い基準フレーム長が指定される
ことを特徴とする付記6に記載の伝送装置。
(付記8)
前記フレームバッファは、各フレームに格納されているデータに関連するアプリケーション毎に受信フレームを格納する構成であり、
前記基準フレーム長は、前記アプリケーション毎に指定される
ことを特徴とする付記1〜4のいずれか1つに記載の伝送装置。
(付記9)
カウンタと、
指定されたレートで前記カウンタをインクリメントするカウンタ制御部と、
受信フレームを格納するフレームバッファと、
前記カウンタの値が所定の閾値よりも大きいときに、前記フレームバッファからフレームを読み出して出力するバッファ制御部と、を有し、
前記カウンタ制御部は、前記バッファ制御部により前記フレームバッファから読み出された出力フレームの長さに基づいて決まる値だけ前記カウンタをデクリメントし、
前記出力フレームの長さが前記基準フレーム長よりも短いときは、前記バッファ制御部は、前記出力フレームに対して割り当てられる区間の後に、前記出力フレームの長さと前記基準フレーム長との差分に対応する時間だけ、前記フレームバッファから次のフレームを読み出す処理を禁止する無効区間を設ける
ことを特徴とする伝送装置。
(付記10)
受信フレームを格納するフレームバッファを有する伝送装置においてフレームの送信を制御する伝送方法であって、
指定されたレートでカウンタをインクリメントし、
前記カウンタの値が所定の閾値よりも大きいときに、前記フレームバッファからフレームを読み出して出力し、
前記フレームバッファから読み出された出力フレームの長さが指定された基準フレーム長よりも短いときに、前記基準フレーム長を表す値だけ前記カウンタをデクリメントし、
前記出力フレームの長さが前記基準フレーム長以上であるときに、前記出力フレームの長さを表す値だけ前記カウンタをデクリメントする
ことを特徴とする伝送方法。
1 伝送装置
100、300、400 帯域制御装置
101、401 フレームバッファ
102、303 バッファ制御部
103 トークンバケツ
104、302 トークン制御部
105 基準フレーム長テーブル
106 フレーム長補正部
301 キャッシュバケツ
402−1〜402−n 基準フレーム長テーブル

Claims (7)

  1. 第1のカウンタと、
    指定されたレートで前記第1のカウンタをインクリメントするカウンタ制御部と、
    受信フレームを格納するフレームバッファと、
    前記第1のカウンタの値が所定の閾値よりも大きいときに、前記フレームバッファからフレームを読み出して出力するバッファ制御部と、を有し、
    前記バッファ制御部により前記フレームバッファから読み出された出力フレームの長さが指定された基準フレーム長よりも短いときは、前記カウンタ制御部は、前記基準フレーム長を表す値だけ前記第1のカウンタをデクリメントし、
    前記出力フレームの長さが前記基準フレーム長以上であるときは、前記カウンタ制御部は、前記出力フレームの長さを表す値だけ前記第1のカウンタをデクリメントする
    ことを特徴とする伝送装置。
  2. 前記出力フレームの長さが前記基準フレーム長よりも短いときは、前記バッファ制御部は、前記出力フレームに対して割り当てられる区間の後に、前記出力フレームの長さと前記基準フレーム長との差分に対応する時間だけ、前記フレームバッファから次のフレームを読み出す処理を禁止する無効区間を設ける
    ことを特徴とする請求項1に記載の伝送装置。
  3. 前記出力フレームの長さが前記基準フレーム長よりも短いときに、前記出力フレームの長さが前記基準フレーム長になるように前記出力フレームを補正するフレーム長補正部をさらに有する
    ことを特徴とする請求項1に記載の伝送装置。
  4. 第2のカウンタをさらに有し、
    前記出力フレームの長さが前記基準フレーム長よりも短いときは、前記カウンタ制御部は、前記出力フレームの長さと前記基準フレーム長との差分を表す値だけ前記第2のカウンタをインクリメントし、
    前記第1のカウンタの値が前記閾値以下であり、且つ、前記フレームバッファの先頭に格納されている先頭フレームの長さが前記基準フレーム長以上であり、且つ、前記第2のカウンタの値が前記先頭フレームの長さを表す値以上であるときは、
    前記バッファ制御部は、前記フレームバッファから前記先頭フレームを読み出して出力し、
    前記カウンタ制御部は、前記先頭フレームの長さを表す値だけ前記第2のカウンタをデクリメントする
    ことを特徴とする請求項1に記載の伝送装置。
  5. 前記フレームバッファは、各フレームの優先度ごとに受信フレームを格納する構成であり、
    前記基準フレーム長は、前記優先度に応じて指定される
    ことを特徴とする請求項1〜4のいずれか1つに記載の伝送装置。
  6. カウンタと、
    指定されたレートで前記カウンタをインクリメントするカウンタ制御部と、
    受信フレームを格納するフレームバッファと、
    前記カウンタの値が所定の閾値よりも大きいときに、前記フレームバッファからフレームを読み出して出力するバッファ制御部と、を有し、
    前記カウンタ制御部は、前記バッファ制御部により前記フレームバッファから読み出された出力フレームの長さに基づいて決まる値だけ前記カウンタをデクリメントし、
    前記出力フレームの長さが指定された基準フレーム長よりも短いときは、前記バッファ制御部は、前記出力フレームに対して割り当てられる区間の後に、前記出力フレームの長さと前記基準フレーム長との差分に対応する時間だけ、前記フレームバッファから次のフレームを読み出す処理を禁止する無効区間を設ける
    ことを特徴とする伝送装置。
  7. 受信フレームを格納するフレームバッファを有する伝送装置においてフレームの送信を制御する伝送方法であって、
    指定されたレートでカウンタをインクリメントし、
    前記カウンタの値が所定の閾値よりも大きいときに、前記フレームバッファからフレームを読み出して出力し、
    前記フレームバッファから読み出された出力フレームの長さが指定された基準フレーム長よりも短いときに、前記基準フレーム長を表す値だけ前記カウンタをデクリメントし、
    前記出力フレームの長さが前記基準フレーム長以上であるときに、前記出力フレームの長さを表す値だけ前記カウンタをデクリメントする
    ことを特徴とする伝送方法。
JP2014049836A 2014-03-13 2014-03-13 伝送装置および伝送方法 Expired - Fee Related JP6281338B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014049836A JP6281338B2 (ja) 2014-03-13 2014-03-13 伝送装置および伝送方法
US14/612,720 US9749265B2 (en) 2014-03-13 2015-02-03 Transmission device and transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014049836A JP6281338B2 (ja) 2014-03-13 2014-03-13 伝送装置および伝送方法

Publications (2)

Publication Number Publication Date
JP2015177215A JP2015177215A (ja) 2015-10-05
JP6281338B2 true JP6281338B2 (ja) 2018-02-21

Family

ID=54070229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014049836A Expired - Fee Related JP6281338B2 (ja) 2014-03-13 2014-03-13 伝送装置および伝送方法

Country Status (2)

Country Link
US (1) US9749265B2 (ja)
JP (1) JP6281338B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5048184B2 (ja) * 2001-01-26 2012-10-17 富士通株式会社 伝送レート監視装置および伝送レート監視方法
JP4163044B2 (ja) * 2003-05-09 2008-10-08 古河電気工業株式会社 帯域制御方法およびその帯域制御装置
JP4027955B2 (ja) * 2003-06-03 2007-12-26 富士通株式会社 流量制御装置
US7564790B2 (en) * 2005-02-28 2009-07-21 Cisco Technology, Inc. Method and system for shaping traffic in a parallel queuing hierarchy
JP4519079B2 (ja) * 2006-01-31 2010-08-04 富士通株式会社 集線装置
JP2009010449A (ja) 2007-06-26 2009-01-15 Panasonic Corp 無線通信装置及びそのパケット送信方法
JP2009147569A (ja) * 2007-12-12 2009-07-02 Fujitsu Ltd フレーム送信装置およびフレーム受信装置
JP2009200947A (ja) * 2008-02-22 2009-09-03 Fujitsu Ltd パケット伝送装置、パケット伝送方法およびパケット伝送プログラム
JP5533303B2 (ja) 2010-06-11 2014-06-25 富士通株式会社 パケット送信装置、パケット送信方法、およびパケット送信プログラム

Also Published As

Publication number Publication date
US9749265B2 (en) 2017-08-29
JP2015177215A (ja) 2015-10-05
US20150263969A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
CN108243120B (zh) 基于灵活以太网的业务流传输方法、装置和通信系统
US11968111B2 (en) Packet scheduling method, scheduler, network device, and network system
US20210083970A1 (en) Packet Processing Method and Apparatus
EP3605975B1 (en) Client service transmission method and device
JP2007201965A (ja) 送信制御機能を備えるパケット中継装置
JP6236945B2 (ja) 伝送装置、伝送システム、及び伝送方法
WO2022183879A1 (zh) 报文转发方法、电子设备和存储介质
KR20130093702A (ko) 패킷 전송 장비 및 그것의 트래픽 관리 방법
JP4648207B2 (ja) 伝送装置および回線速度変更方法
US20150109922A1 (en) Method and apparatus for bandwidth adjustment in network virtualization system
JP4652314B2 (ja) イーサoamスイッチ装置
JP2008118281A (ja) 通信装置
JP6236925B2 (ja) 伝送装置および伝送方法
US20060222007A1 (en) RPR ring network system
CN110868357B (zh) 网络流量控制方法、vtep设备和存储介质
JP6281338B2 (ja) 伝送装置および伝送方法
CN115250389A (zh) 一种光网络终端
CN112714072B (zh) 一种调整发送速率的方法及装置
CN114501544A (zh) 一种数据传输方法、装置和存储介质
CN114124833A (zh) 一种控制报文发送的方法、网路设备和系统
JP2017521961A (ja) パケット交換ネットワーク内でコヒーレントデータフローを送信するためのシグナリング
CN114070776B (zh) 一种改进的时间敏感网络数据传输方法、装置及设备
US8976812B2 (en) Communication apparatus and band control method
JP4531660B2 (ja) パケット中継装置
JP2007335986A (ja) 通信装置および通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171012

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180108

R150 Certificate of patent or registration of utility model

Ref document number: 6281338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees