JP5428203B2 - データ出力装置および通信装置ならびにスイッチ装置 - Google Patents

データ出力装置および通信装置ならびにスイッチ装置 Download PDF

Info

Publication number
JP5428203B2
JP5428203B2 JP2008142000A JP2008142000A JP5428203B2 JP 5428203 B2 JP5428203 B2 JP 5428203B2 JP 2008142000 A JP2008142000 A JP 2008142000A JP 2008142000 A JP2008142000 A JP 2008142000A JP 5428203 B2 JP5428203 B2 JP 5428203B2
Authority
JP
Japan
Prior art keywords
bandwidth
output
data
destination
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
JP2008142000A
Other languages
English (en)
Other versions
JP2009290633A (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 JP2008142000A priority Critical patent/JP5428203B2/ja
Priority to US12/339,821 priority patent/US7907632B2/en
Publication of JP2009290633A publication Critical patent/JP2009290633A/ja
Application granted granted Critical
Publication of JP5428203B2 publication Critical patent/JP5428203B2/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/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • 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
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based

Landscapes

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

Description

本件は、データ出力装置および通信装置ならびにスイッチ装置に関するものである。
インターネットプロトコル(IP)網のレイヤ2スイッチ装置(Layer-2 switch)においては、パケットの出力帯域をキュー毎に制御する帯域管理が行なわれる。即ち、宛て先となるユーザ端末ごとにキューが設定され、それぞれのキューごとに出力パケットの帯域が管理される。この帯域管理により、ユーザ端末に対するクオリティ・オブ・サービス(Quality Of Service;QOS:優先制御,帯域制御等)の機能を実現している。
QOSサービスにより、ユーザ端末に対して個別にネットワーユーザ帯域を契約により保証(帯域保証という)することが行なわれている。この帯域保証を行なうため、例えばトークンバケットに基づくキュー制御が行なわれる。即ち、複数キューの帯域管理において、キュー毎にトークンバケットを持ち、着目キューにパケットが格納され、かつ、トークンバケットにトークンが残っている場合にその着目キューの出力を許可する。
キュー毎のトークンバケットには、契約等により通信を保証する帯域(保証帯域値)に応じて、所定時間において出力できるバイト数(帯域値)を蓄積する。この値は所定時間の間隔で加算され(これを周期更新)、出力要求時には、出力したバイト数が減算される(これをリード更新)。これにより、上述の保証する帯域を(キューごとに)管理、制御する。
このとき、各キューがそれぞれのトークンバケットによる帯域管理の下で保証帯域相当のパケットが出力された後は、トークンバケットは空になるが、保証帯域相当の通信がなされた後にも、出力回線の帯域に余裕がある場合には、余剰帯域が生まれる。
すなわち、周期更新によってトークンバケットが加算更新されるまでに、すべてのキューでトークンバケットの値が0以下またはパケットが格納されていない状態になると、空き時間が生じることになる。設定帯域を満たした上での空き時間ということで、その区間を余剰帯域と呼ぶ。
このような場合においてパケットが格納されているキューがまだ存在している場合には、その余剰帯域を用いて通信を行なうことができる。即ち、余剰帯域についてもユーザに配分させることで、更なるサービスを提供することができる。
ユーザに対する通信サービスの質的向上を図るため、上述のごとき余剰帯域を用いた通信の際にも、収容されているユーザ端末利用者の要求に配慮しつつ、精度を高めた帯域管理を行なうことが求められている。
なお、本件に関連する文献公知技術としては、下記の特許文献1〜3に記載されたものがある。
特開2005−268846号公報 特開2005−184709号公報 特開2007−181085号公報
そこで、本件の目的の一つは、余剰帯域を用いた通信の際に、精度を高めた帯域管理を行なうことにある。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成又は作用により導かれる効果であって、従来の技術によっては得られない効果を奏することも本発明の他の目的として位置づけることができる。
たとえば、以下の手段を用いる。
(1)出力回線への出力用データを入力され、前記出力用データを宛て先毎に保持するデータ保持部と、該データ保持部における前記宛て先毎の出力用データの保持状態について管理する保持状態管理部と、前記宛て先毎に与えられる保証帯域のもとでの、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する保証帯域管理部と、前記保証帯域の合計に対して余剰する余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記宛て先毎に前記余剰帯域を均等に配分するように、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する余剰帯域管理部と、該保証帯域管理部および該余剰帯域管理部からの各管理結果、ならびに、該保持状態管理部で管理する前記保持状態に基づいて、該データ保持部で保持するデータの前記出力回線への出力をスケジューリングするスケジューリング部と、をそなえた、データ出力装置を用いることができる。
(2)また、上記(1)のデータ出力装置がそなえられた通信装置を用いることもできる。
(3)さらに、パケットネットワークに接続される通信装置を複数そなえるとともに、該複数の通信装置間に接続されるレイヤ2スイッチをそなえ、該複数の通信装置の少なくとも1つの通信装置に上記(1)のデータ出力装置をそなえた、スイッチ装置を用いることもできる。
開示の技術によれば、余剰帯域について各キューでの使用帯域を高精度かつ公平に配分できるようになるという利点がある。
以下、図面を参照して実施の形態を説明する。但し、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本実施形態は、その趣旨を逸脱しない範囲で種々変形(各実施例を組み合わせる等)して実施することができる。
〔A〕第1実施形態
〔A1〕対比例
余剰帯域を用いた通信を行なう場合において、各キューへの帯域の配分の手法としてはベストエフォート型の配分、即ち、先着順に使用許可されたキューから帯域使用するようになっていることが多い。図2は後述する第1実施形態の対比例としてのデータ出力装置を示す図である。
この図2に示すデータ出力装置10は、例えば図1(a),図1(b)に示すようなレイヤ2スイッチ装置(スイッチ装置)1に適用される。レイヤ2スイッチ装置1としては、例えば図1(a)に示すように架体2に複数枚(ここでは♯1〜♯6の6枚)のカード(通信装置)3およびCPU盤(♯1,♯2の2枚)4が実装されてなるもので、図1(b)に示すようなレイヤ2(L2)スイッチとしての機能を有している。
各カード3は、パケットネットワークに接続されて、それぞれ複数のユーザ端末からのパケットデータ(パケット実体データ)を受信し送信する。そして、各カード3間においてはスイッチ(レイヤ2スイッチ)5が介装されて、このスイッチ5を介してカード3間でのパケットデータの交換が行なわれる。
たとえば、図示しないユーザ端末からパケットネットワークを介してカード3(♯1)に入力されたパケットデータは、スイッチ5を介してカード3(♯6)に導くことができる。更に、カード3(♯6)においては、スイッチ5からのパケットデータについて宛て先となるユーザ端末に転送する。
また、各カード3は、この図1(b)に示すように、インタフェース部3a,3bおよび第1,第2処理部3c,3dをそなえる。インタフェース部3aは、スイッチ5側とのインタフェース変換処理等を行なう。又、インタフェース部3bは、ユーザ端末側との信号インタフェース処理を行なう。
さらに、第1処理部3cは、ユーザ端末側からインタフェース部3bを介して入力されるパケットデータについての処理を行なって、インタフェース部3aを介してスイッチ5側に出力する。又、第2処理部3dは、スイッチ5側からインタフェース部3aを介して入力されるパケットデータについて処理を行なって、インタフェース部3bを介してユーザ端末側(出力回線)に出力する。
ここで、第2処理部3dにおいては、レイヤ2スイッチ1におけるQOS処理として、例えば帯域制御が行なわれる。帯域制御は、入力される複数のユーザ宛のパケットを、宛て先ユーザ毎(キュー毎)の出力に対して行なう制御である。上述の場合のカード3(♯6)のように、スイッチ5のスイッチングされたパケットデータをユーザ端末に向けて転送出力する際には、上述の帯域制御として、ユーザごとに契約により通信帯域を保証する帯域保証のもとでの帯域制御を行なうことができる。
図2に示すデータ出力装置10は、上述の各カード3に搭載可能な第2処理部3dとして適用することができる。即ち、第2処理部3dとしてのデータ出力装置10により、パケットデータの宛て先となるユーザ端末に対して、保証する帯域での通信を実現するとともに、余剰帯域については上述のベストエフォート型で配分するようになっている。
ここで、この図2に示すデータ出力装置10は、キュー(Queue)管理制御部11,エンプティ(Empty)情報管理部12,帯域管理制御部13およびスケジューリング部14をそなえている。
キュー管理制御部11は、スイッチ5(図1(b)参照)から出力回線への出力用データであるパケットデータを入力されて、このパケットデータについて宛て先毎にそなえられたキューを有するパケットバッファ11aに保持するためのものである。ここでは、複数個(N個)のユーザ端末に充てたパケットデータを保持できるようにN個のキュー(♯1〜♯N)がそなえられる。
そして、このキュー管理制御部11は、上述のごときパケットバッファ11aをそなえるとともに、パケットバッファ11aに対するパケットデータの書き込みおよび読み出しをそれぞれ制御する書き込み(Write)制御部11bおよび読み出し(Read)制御部11cをそなえている。
すなわち、書き込み制御部11bにより、入力されるパケットデータについてパケットバッファ11aをなす宛て先に応じた記憶領域(キュー)に書き込まれる。又、読み出し制御部11cにおいては、後述するスケジューリング部14から与えられる読み出しキューの指示情報に従って、該当キューに保持されているパケットデータを読み出す。尚、読み出したパケットデータについて図示しない出力回線へ出力される。
また、エンプティ情報管理部12は、パケットバッファ11aにおける宛て先毎、即ちキュー♯1〜♯N毎のパケットデータの保持状態について管理するものである。具体的には、エンプティ情報管理部12は、各キュー♯1〜♯Nにおいてパケットデータを保持しているか否かに応じたビット情報がそれぞれ記録される記憶領域が設定された記憶素子により実現できる。
さらに、帯域管理制御部13は、宛て先毎、即ちキュー毎に与えられる保証帯域に対する対応する宛て先を有するパケットデータの出力回線への出力帯域の残余分を保証残余帯域(トークンバケット)として、それぞれ管理する。このため、帯域管理制御部13においては、記憶部13a,加算部13bおよび減算部13cをそなえ、宛て先ごとの保証残余帯域を管理するようになっている。
ここで、記憶部13aは、上述の保証残余帯域の値を前記宛て先毎に記憶するものである。又、加算部13bは、宛て先毎に保証する単位時間あたりの保証帯域の値を、記憶部13aで記憶する、対応する宛て先の前記保証残余帯域の値に加算することにより、保証残余帯域の値を更新する。
さらに、減算部13cは、パケットバッファ11をなす各キューから出力回線に出力されたデータの宛て先ごとの帯域値を、記憶部13aで記憶する対応する宛て先の保証残余帯域の値から減算することにより、保証残余帯域の値を更新する。
すなわち、帯域管理制御部13では、宛て先毎に保証帯域を記憶部13aに設定し、減算部13cを通じて、この保証帯域の値から、読み出し制御部11cで読み出され出力回線へ出力された宛て先毎のパケットデータの帯域の値の差分を得て、この差分値をトークンバケットの値として管理する。これにより、各宛て先のユーザ端末へ保証する帯域を確保する。
スケジューリング部14は、上述の帯域管理制御部13での帯域管理のもとで、パケットバッファ11aに保持されているパケットデータの出力についてパケットバイパケット(Packet by Packet)でのスケジューリングを行なう。スケジューリング部14でのスケジューリングとしては、保証残余帯域を使用するモード(保証残余帯域使用モード)でのスケジューリングと、余剰帯域使用モードでのスケジューリングと、がある。
保証残余帯域使用モードは、帯域管理制御部13で帯域管理する保証残余帯域の値を参照し、保証残余帯域を有しているキューが存在し、且つ当該キューにパケットデータが保持されている場合の動作モードである。一方、余剰帯域使用モードは、保証残余帯域を有しているキューが存在せず、且つ当該キューにパケットデータが保持されている場合の動作モードである。
スケジューリング部14での上述したいずれかの動作モードでのスケジューリングにより、読み出し制御部11cに対して読み出しキューの指示を出力する。読み出し制御部11cにおいては、この読み出しキューの指示を受けて、指示対象のキューに保持されるパケットデータを読み出して出力回線へ転送する。
ここで、パケット転送処理は、例えば以下に示すようなパケット書き込み処理およびパケット読み出し処理を通じて行なわれる。
・パケット書き込み処理
たとえば、スイッチ5(図1(b)参照)から、パケットデータ(宛て先のユーザ端末は♯kとする)が入力されると(図2のW1参照)、キュー管理制御部11の書き込み制御部11bにおいて、当該パケットデータに含まれている宛て先情報(♯k)を抽出する。
そして、書き込み制御部11bにおいては、抽出した宛て先情報(♯k)に基づいて、パケットデータを、パケットバッファ11aにおける当該宛て先(♯k)に対応付けられたキューに格納する(図2のW2参照)。又、書き込み制御部11bにおいては、上述のパケットバッファ11aへのパケットデータの格納とともに、エンプティ情報管理部12に対して、パケットバッファ11aに格納されたパケットデータについての宛て先情報(♯k)を通知する(図2のW3参照)。
これにより、エンプティ情報管理部12においては、書き込み制御部11bから通知された宛て先情報に対応付けて、当該宛て先(♯k)へのパケットデータがパケットバッファ11aに格納された旨の情報が登録されることになる(図2のW4参照)。
・パケット読み出し処理
上述のごとくパケットバッファ11aに書き込まれたパケットデータを読み出すにあたり、スケジューリング部14においては、例えば次のような処理が行なわれる。即ち、スケジューリング部14においては、エンプティ情報管理部12を参照することにより、パケットバッファ11aにパケットデータが格納されているキューに関する情報を取得することができる。
換言すれば、スケジューリング部14では、エンプティ情報管理部12からは全てのキューについてパケットデータの保持状態(即ち、保持(Not empty)又は非保持(Empty)の状態)の通知を受ける。
そして、スケジューリング部14では、帯域管理制御部13から、全てのキューについての保証残余帯域(トークンバケット)に関する情報について受け取る。更には、設定レジスタ15に設定されている、宛て先ユーザ端末ごとの余剰帯域使用設定情報についても受け取る。余剰帯域使用設定情報とは、設定レジスタ15にビットデータとして登録される情報であって、上述の保証帯域に対して出力回線の帯域が余剰する帯域資源について、ユーザ端末ごとの使用の可否の別に関する情報である。
スケジューリング部14では、エンプティ情報管理部12からの情報と、帯域管理制御部13からの情報をもとに、保証残余帯域を有するキューのパケットデータを読み出すべくスケジューリングを行なう(図2のR1参照)。
具体的には、保証残余帯域があり、かつ、当該保証残余帯域があるキューにパケットデータが格納されている場合には、当該パケットデータを読み出すべく読み出し制御部11cに指示を行なう(Non-skipモード、図2のA,R2参照)。尚、保証残余帯域を有するパケットデータ格納中のキューが複数個存在する場合には、例えば単純ラウンドロビンで1つのキューを選択して読み出し指示を行なう(図2のB参照)。
スケジューリング部14では、上述したような保証残余帯域を有するキューが存在している段階においては、当該キューにパケットデータが格納されていれば優先的に読み出し出力されるようにスケジューリングがなされる。換言すれば、保証残余帯域を有するキューであるNon-skip キューが一つでも選択可能であれば、Non-Skipモードを選択する(図2のC参照)。
また、保証残余帯域を有するキューが存在しなくなった段階において、設定レジスタ15において余剰帯域の使用が可とされたキューにパケットデータが保持されている場合には、当該キューのパケットデータを読み出すべく読み出しキューの指示を出力する。
換言すれば、スケジューリング部14においては、パケットデータが格納されているキューのすべてで保証残余帯域がなくなった場合は、そのキューのうち余剰帯域使用設定が可(ON)のものについての読み出しのためのスケジューリングを行なう(図2のD参照)。
この場合においても、複数のキューが選択可能である場合には、単純ラウンドロビンで1つずつ順次キューを選択する。これにより、選択したキューについて、読み出しキュー指示情報として読み出し制御部11cに通知する(Skipモード、図2のR2参照)。
そして、キュー管理制御部11の読み出し制御部11cでは、スケジューリング部14からの読み出しキュー指示を受け、該当するキューのパケットデータを読み出す(図2のR3参照)。この図2に示す場合においては、一例として、ユーザ端末♯r宛てのパケットデータを読み出す旨の指示を受けている。従って、ユーザ端末♯r宛てのパケットデータが保持されているキューからパケットデータが読み出されている。
また、読み出し制御部11cにおいては、パケットバッファ11aから読み出されたパケットデータから、読み出しパケット長情報を抽出する。そして、エンプティ情報管理部12に対して、パケットバッファ11aからパケットデータを読み出したキュー情報(リードキュー情報)について通知する。又、帯域管理制御部13に対しては、上述のリードキュー情報とともに、抽出したパケット長情報を通知する(図2のR4参照)。
エンプティ情報管理部12では、通知を受けたリードキュー情報に該当するキューの保持状態について更新する(図2のR5参照)。具体的には、パケットデータを読み出したキューが空となる場合には空となった旨の情報(非保持状態の情報、Empty情報)を登録する。一方、一のパケットデータの読み出し後においてもパケットデータが当該キューにて保持されている場合には、そのまま保持状態の情報(Not Empty情報)を登録しておく。
この場合においては、エンプティ情報管理部12においては、各キューにて保持しているパケット数についての計数情報として保持しておくこととしてもよい。即ち、計数情報が「0」であれば非保持状態であり、「0」でない「1」以上の値であれば保持状態である。
・帯域管理制御処理について
上述のパケットデータの読み出し処理によって、保証残余帯域を用いた転送が行なわれる(Non-Skipモード)場合には、以下のように、帯域管理制御部13で管理する保証残余帯域の更新が行なわれる。
すなわち、加算部13bでは、周期更新処理として、全ての宛先に対応するトークンバケットに、単位期間(周期更新を行なう期間)あたりの保証帯域として宛先ごとに設定された値(例えばバイト数)分のトークン量を加算する(図2のN1参照)。
たとえば、図3のt11,t21,t31,t41に示すように、各宛て先(又は対応するキュー)のトークンバケットの値を周期τごとに更新する。この場合においては、記憶部13aに記憶された、宛て先(又は対応するキュー)♯0〜♯2についての保証残余帯域であるトークンバケットの値について、トークン加算周期τごとに、それぞれ個別に設定された一定値を加算することにより更新する。
つぎに、上述の読み出し制御部11cから通知されたリードキュー情報と読み出しパケット長情報をもとに保証残余帯域としてのトークンバケットの値を更新する。具体的には、リードキュー情報に相当するトークンバケットとして記憶部13aで記憶している値から、読み出しパケット長に相当する帯域値(例えばバイト数)を減算した値を、更新されたトークンバケットの値として記憶部13aに書き換える(図2のN2参照)。
なお、スケジューリング14においては、読み出し制御部11cに対して、上述の保証残余帯域を用いたパケット転送(Non-Skipモード)のための読み出し指示か、又は余剰帯域を用いたパケット転送のための指示か、の識別情報についても通知している。これを受けて、読み出し制御部11cでは、リードキュー情報および読み出しパケット長の通知の際に、読み出しパケットについての転送処理が前述の保証残余帯域を用いたものか否かの識別情報についても、上述のリードキュー情報等に併せて通知している。
換言すれば、帯域管理制御部13においては、余剰帯域を用いたパケット転送の場合には、管理している保証残余帯域について更新する必要がない。従って、帯域管理制御部13においては、この場合には保証残余帯域についての更新は行なわない。
このように、加算部13bによるトークンバケットへの加算処理は、周期的に全てのキューに対して行われるが、減算部13cでのリード更新による減算処理は、スケジューリング部14からの読み出しキュー指示が、Non-Skipモードで出力許可されたときのみ行われる。
・余剰帯域を用いたパケット転送について
保証残余帯域(トークンバケット)を用いた転送(Non-Skipモード)が終わると、続いて余剰帯域を用いたパケット転送を行なう。例えば、転送先出力回線の物理的な帯域が10Gbpsのところに全キューの保証帯域の合計が7Gbpsとなるような場合、出力機会に3Gbps分の余裕、即ち、余剰帯域が生まれる。
図4は上述の保証残余帯域を用いた転送とともに、その後の余剰帯域を用いた転送の一例を示す図である。周期更新によりトークン加算は周期的に行なわれる(時点t11,t21,t31)。トークン加算が行なわれて次なるトークン加算が行なわれるまでに(時点t11から時点t21までの間、および、t21からt31までの間)、すべてのキューでトークンバケットの値が0以下となるかまたはトークンバケットの値が0より大きくてもパケットが格納されていない状態になると(時点t12,t22)、余剰帯域が生じる。
スケジューリング部14では、このような余剰帯域を用いたスケジューリングを行なうことになる(時点t12〜t21,t22〜t31)。パケットデータが保持されているキューであって、上述のごとき余剰帯域の使用設定が可となっているものについて読み出しを指示する。パケットデータが保持されているキューが複数ある場合においては、それぞれのパケットデータについてパケットバイパケットで出力される。
この場合においては、キュー♯0,♯1および♯2として保持されているパケットデータが順次読み出されている。ここで、出力されるパケットの長さは関係なく、キューの番号順にスケジューリングされる。この場合においては、キュー♯0,♯1に保持されるパケットデータの長さは比較的短いが、キュー♯2に保持されるパケットデータは比較的長い。
したがって、この図4に示すように、出力するパケットの長さに応じて、出力量が多くなったり少なくなったりするので、キューによっては出力量が多かったり少なかったりと、キュー間で出力量について不公平となる場合がある。そうすると、あるユーザは使用できるが、そのユーザが占有するため他のユーザはまったく使用できないという場合も想定でき、近頃では、この余剰帯域についてもキュー間で公平に配分することが求められるようになった。この公平性を制御するためには転送量を逐次監視し流量を制御する必要があるため、ソフトからでは精度良く制御できず、ハードでの実現が必要となる。
〔A2〕第1実施形態におけるデータ出力装置について
そこで、本実施形態においては、図5に示すデータ出力装置20を提案する。図2のデータ出力装置10において、余剰帯域を使用したパケット転送の際にキュー間で不公平となる出力量は、余剰帯域をパケットバイパケットでスケジューリングすることに起因している。即ち、比較的長いパケットを出力したキューも短いパケットを出力したキューも、等しく順番にスケジューリングされるためである。
図5に示すデータ出力装置20においては、そのパケット長の差による出力量の差を公平にするため、キュー毎にその出力量を監視し制御するようになっている。具体的には、データ出力装置20は、図2に示すデータ出力装置10に比べて、余剰帯域管理部21をそなえるとともに、機能の異なるスケジューリング部22をそなえている点が異なっている。尚、図5中、図2と同一の符号はほぼ同様の部分を示している。
すなわち、キュー管理制御部11は、スイッチ5(図1(b)参照)から出力回線への出力用データであるパケットデータを入力されて、このパケットデータについて宛て先毎に保持するデータ保持部であり、パケットバッファ11a,書き込み制御部11bおよび読み出し制御部11cをそなえる。又、エンプティ情報管理部12は、パケットバッファ11aにおける宛て先毎、即ちキュー♯1〜♯N毎のパケットデータの保持状態について管理する保持状態管理部である。
さらに、帯域管理制御部13は、宛て先毎に与えられる保証帯域のもとでの、パケットバッファ11aで保持されたパケットデータの出力回線への出力を宛て先毎に管理する保証帯域管理部である。この場合においては、宛て先毎、即ちキュー毎に与えられる保証帯域に対する対応する宛て先を有するパケットデータの出力回線への出力帯域の残余分を保証残余帯域(トークンバケット)として、それぞれ管理する。即ち、帯域管理制御部13は、パケットの転送に保証残余帯域を使用する動作モード(保証残余帯域使用モード)において、キュー毎の使用帯域を管理する。
また、余剰帯域管理部21は、余剰帯域を使用する動作モード(余剰帯域使用モード)でのキュー毎の使用帯域を管理する。即ち、余剰帯域管理部21は、宛て先毎の保証帯域の合計に対して余剰する余剰帯域を用いて出力回線へパケットデータを出力する際(余剰帯域使用モード)において、パケットバッファ11aで保持されたパケットデータの出力回線への出力を宛て先毎に管理する。
これにより、スケジューリング部22では、保証残余帯域使用モードにおいては、前述の図2の場合(符号14参照)と同様に、エンプティ情報管理部12および帯域管理制御部13からの管理情報をもとに読み出しキューのスケジューリングを行なう。一方、余剰帯域使用モードにおいては、エンプティ情報管理部12からの管理情報のほかに、図2の場合とは異なり、上述の余剰帯域管理部21での管理情報を用いて、読み出しキューのスケジューリングを行なう。
ここで、上述の帯域管理制御部13は、図2の場合と同様、第1記憶部13a,第1加算部13bおよび第1減算部13cをそなえている。第1記憶部13aは、上述の保証残余帯域の値を宛て先毎(キュー毎)に記憶する。
また、第1加算部13bは、保証残余帯域の値を周期更新するためのものである。即ち、宛て先毎に保証する単位時間あたりの保証帯域の値を、第1記憶部13aで記憶する、対応する宛て先の保証残余帯域の値に加算することにより、保証残余帯域の値を更新するようになっている。
さらに、第1減算部13cは、保証残余帯域の値をリード更新するためのものである。即ち、パケットバッファ11aをなす各キューから出力回線に出力されたデータの宛て先ごとの帯域値を、第1記憶部13aで記憶する対応する宛て先の保証残余帯域の値から減算することにより、保証残余帯域の値を更新する。
これにより、スケジューリング部22においては、第1記憶部13aに記憶されている宛て先毎の保証残余帯域を参照することにより、保証残余帯域使用モードでのスケジューリングを行なうことができる。
具体的には、帯域管理制御部13における管理の結果、保証残余帯域を有している宛て先が存在する場合において、エンプティ情報管理部12での保持状態の管理の結果、当該宛て先を有するパケットデータがデータバッファ11aで保持されている場合には、当該宛て先を有するパケットデータを優先的に出力回線へ出力すべくスケジューリングすることができる(保証残余帯域使用モード)。
これに対し、第1加算部13bで次なる加算タイミングが到来する前段階で、帯域管理制御部13で管理する各キューの保証残余帯域が無くなった場合は、余剰帯域が発生する。そこで、データ出力装置20においても、この余剰帯域を使用してパケットデータを出力回線へ出力する(余剰帯域使用モード)。
ここで、前述の図2に示すデータ出力装置10においては、この余剰帯域を使用する場合には、パケットバイパケットでのスケジューリングのもとで、パケットデータのキューからの読み出しおよび転送が行なわれていた。このため、各キューで保持するパケット長が余剰帯域に占める大きさに影響し、各キューで余剰帯域の使用の配分を公平化することに支障をきたしていた。
これに対し、図5に示すデータ出力装置20においては、余剰帯域管理部21において、この余剰帯域を使用したパケットデータの転送を宛て先毎(保持されるキュー毎)に管理することで、宛て先毎の余剰帯域の使用を不公平が発生しないように配分している。
すなわち、余剰帯域管理部21は、宛て先毎の保証帯域の合計に対して余剰する帯域を用いて出力回線へパケットデータを出力する際において、対応する宛て先を有するパケットデータの出力回線への出力帯域を余剰出力帯域としてそれぞれ管理する。具体的には、宛て先毎に設定される設定帯域に対する差分値として管理する。このため、余剰帯域管理部21は、第2記憶部21a,第2加算部21bおよび第2減算部21cをそなえている。
ここで、上述の宛て先毎の設定帯域は、スケジューリング部22でのスケジューリングを通じて余剰出力帯域を宛て先毎に調整するためのものであって、後述するような種々の設定態様がある。第2記憶部21aは、上述の宛て先ごとに設定される設定帯域に対する余剰出力帯域の差分値を、設定残余帯域値として宛て先毎に記憶する。
また、第2加算部21bは、上述の宛て先毎に設定する設定帯域の値を、第2記憶部21aで記憶する対応する宛て先の設定残余帯域値に、それぞれ加算することにより、設定残余帯域値を更新する。第1実施形態においては、宛て先毎に加算する設定帯域の値としては共通のものを用いている。又、周期的に加算を行なう第1加算部13bと異なり、第2記憶部21aで記憶する全ての宛て先における設定残余帯域の値が0以下となったことを契機として加算を行なう。
さらに、第2減算部21cは、保証帯域の合計に対して余剰する帯域(余剰帯域)を用いて出力回線へパケットデータを出力する際において、余剰出力帯域の値を、第2記憶部21aで記憶する、対応する宛て先の設定残余帯域値から、それぞれ減算する。
スケジューリング部22においては、第1記憶部13aで記憶する各キューの保証残余帯域値を参照し、各キューの保証残余帯域が無い場合には、余剰帯域を使用したスケジューリングを行なう。即ち、パケットバッファ11aで保持しているパケットデータの読み出し指示にかかるキューを、第2記憶部21aで記憶する設定残余帯域およびエンプティ情報管理部12で管理するキューのパケット保持状態から定める。このようにして読み出し対象キューが定められた読み出し指示を、読み出し制御部11cに対して行なうことを通じて、パケットデータの転送が行なわれる(図5のDa参照)。
換言すれば、スケジューリング部22は、帯域管理制御部13における保証残余帯域の管理の結果、保証残余帯域を有している宛て先が存在せず、余剰帯域管理部21における余剰出力帯域の管理の結果、余剰出力帯域が使用設定帯域の範囲内にある宛て先が存在する場合において、エンプティ情報管理部12での保持状態の管理の結果、当該宛て先を有するパケットデータがパケットバッファ11aで保持されている場合には、当該宛て先を有するパケットデータを出力回線へ出力すべくスケジューリングする。
なお、上述したような要素11〜13,21,22からなるデータ出力装置20はハードウェアで実現することが可能である。従って、上述の保証残余帯域を使用したパケット読み出しや、余剰帯域を使用したパケット読み出しにおいて、キューごとの使用帯域を、帯域管理制御部13および余剰帯域管理部21での帯域管理のもとで比較的高精度に配分することが可能になる。
図6は、図5に示すデータ出力装置20におけるパケット読み出し態様の一例を、特に余剰帯域使用モードに着目して示すタイムチャートである。
すなわち、第1加算部13bでは、周期更新処理として、全ての宛先に対応する保証残余帯域値に保証帯域値を一定時間τごとに加算する(図6のt11,t21,t31)。これにより、それぞれの周期更新処理後は、宛て先に保証残余帯域を用いたパケットデータの読み出しおよび転送が行なわれる(保証残余帯域使用モード、Non-Skipモード)。この場合においては、スケジューリング部22でのスケジューリングを通じて、各宛て先♯0〜♯2の保証残余帯域に基づき、対応する宛て先♯0〜♯2を有するパケットデータをラウンドロビン方式で転送している(図6のt11〜t12、t21〜t22)。
そして、第1記憶部13aで記憶している各宛て先対応の保証残余帯域値が全て0以下となった場合には(図6のt12,t22)、スケジューリング部22では余剰帯域を用いたパケット転送のためのスケジューリングを行なう。具体的には、スケジューリング部22では、第2記憶部21aおよびエンプティ情報管理部12を参照し、設定残余帯域を有している宛て先であって、対応するキューにパケットデータが保持されているものについて読み出し指示を行なう。複数キューが該当する場合においては、ラウンドロビン方式により順次読み出しを行なう(図6のt12〜t21、t22〜t31)。
読み出し制御部11cではスケジューリング部22からの読み出し指示を受けて、指示対象のキューからパケットデータを読み出して出力回線へ出力(転送)する。このとき、余剰帯域管理部21の第2減算部21cにおいては、余剰帯域を使用したパケット転送に伴い、設定残余帯域(Skipトークンバケット)を減算することにより更新(リード更新)する。
この場合においては、第2記憶部21aにおいて与えられているキュー♯0〜♯2ごとの設定残余帯域64バイトから、読み出されたパケットデータの長さに対応した帯域が減算される。例えば、t12〜t21での余剰帯域使用モードでは、キュー♯0,♯1から読み出されたパケットデータの長さはともに64バイトであり、リード更新の結果、設定残余帯域は0となる(t13,t14)。一方、キュー♯2から読み出されたパケットデータの長さは192バイトであり、リード更新の結果、設定残余帯域は−128バイトとなる(t15)。
このとき、各キューに応じた設定残余帯域がいずれも0以下となったので、第2加算部21bにおいては、これを契機として設定残余帯域を加算更新する。具体的には、宛て先♯0〜♯2に応じた設定残余帯域値にそれぞれ64バイトを第2加算部21bで加算する。これにより、キュー♯0および♯1の設定残余帯域は64バイト、宛て先♯2の設定残余帯域は−64バイトとなる(t16)。
スケジューリング部22においては、余剰帯域使用モードにおいては、設定残余帯域を有している(設定残余帯域が0よりも大きい)キューに保持されているパケットデータを優先的に読み出すべくスケジューリングを行なう。これにより、この図6に示すキュー♯2のように、他のキュー♯0,♯1に比べて長大なパケットデータを読み出した後は、その後のスケジューリングでの優先度は下がるので、余剰帯域使用の公平化を図ることができるようになる。
すなわち、キュー♯2から上述の192バイトのパケットデータが読み出された後は、加算更新がそれぞれ3度(t16,t24,t27)ずつ行なわれるまでの間は、キュー♯2の設定残余帯域は0よりも大きくならない。このため、キュー♯2の設定残余帯域が0よりも大きくなるまでは、キュー♯2で保持されているパケットデータは読み出されずに、キュー♯0,♯1で保持されているパケットデータが読み出される(t17,t23,t25,t26)。
なお、図6の場合においては、t27での加算更新により各キュー♯0〜♯2における設定残余帯域が64バイトとなっているが、いずれのキューも保持状態であるため、キュー♯0で保持されるパケットデータから順次読み出されている。
これにより、余剰帯域使用モードの時間として、2つの時間枠t12〜t21およびt22〜t31を合わせて、各キューの帯域使用量を対比すると、いずれも256バイトが公平に配分されていることを読み取ることが可能である。これにより、余剰帯域管理部21での帯域管理を通じて、各キューでの使用帯域を公平に配分できるようになる。
このように、第1実施形態においては、ハードウェアで実現されるデータ出力装置20により、余剰帯域について各キューでの使用帯域を、キュー毎に設定される設定帯域に基づいて高精度かつ公平に配分できるようになるという利点がある。
なお、図6の場合においては、各キュー♯0〜♯2においてはパケットデータを継続的に保持状態にあることを想定している。データ出力装置20においては、エンプティ情報管理部12で管理される保持状態に基づき、パケットデータが保持状態で無くなったキューについては、第1記憶部13aにおける対応する保証残余帯域(トークンバケット)についてもクリアすることが可能である。具体的には、帯域管理制御部13において、エンプティ情報管理部12で非保持状態となったキューについての保証残余帯域の値を0とする機能を具備する。従って、スケジューリング部22では、パケットデータが保持されていないキューに対しては読み出し指示がなされない。
〔b〕第2実施形態の説明
第1実施形態においては、第2加算部21bで加算する使用設定帯域としては、キュー毎に同等の値を加算するようになっているが、この使用設定帯域としてはキュー毎に異なる値となるようにしてもよい。
第2実施形態においては、第2加算部21bで加算する各キューについての使用設定帯域の値を、所定比率を有するようにしている。換言すれば、第2実施形態においても第1実施形態の場合と同様の要素11〜13,21,22からなるデータ出力装置20とすることができるが、余剰帯域管理部21をなす第2加算部21bの機能が第1実施形態の場合と異なっている。尚、これ以外の要素については前述の第1実施形態の場合と基本的に同様である。
ここで、第2実施形態においては、キュー♯0,♯1,♯2についての使用設定帯域を、それぞれ、128バイト,64バイト,64バイトとしている。換言すれば、キュー♯0,♯1,♯2についての使用設定帯域を、2:1:1の比率を有するようにしている。
図7は、第2実施形態におけるデータ出力装置20(図5参照)におけるパケット読み出し態様の一例を、特に余剰帯域使用モードに着目して示すタイムチャートである。
この場合においても、周期更新により一定時間τごとに保証残余帯域が更新される(図7のt11,t21,t31)。これにより、それぞれの周期更新処理後は、宛て先に保証残余帯域を用いたパケットデータの読み出しおよび転送が行なわれる(図7のt11〜t12、t21〜t22)。
そして、第1記憶部13aで記憶している各宛て先対応の保証残余帯域値が全て0以下となった場合には(図6のt12,t22)、第1実施形態の場合と同様に、スケジューリング部22では余剰帯域を用いたパケット転送のためのスケジューリングを行なう。
ここで、第2実施形態の場合においても、第2加算部21b(図5参照)においては、各キューに応じた設定残余帯域がいずれも0以下となったときに、これを契機として設定残余帯域を加算更新する。このとき、第1実施形態の場合と異なり、キュー♯0,♯1,♯2に対応付けられた設定残余帯域値に、それぞれ、使用設定帯域として128バイト,64バイト,64バイトを第2加算部21bで加算して、第2記憶部21aでの設定残余帯域値として更新する。
たとえば、時点t51では、全てのキュー♯0〜♯2対応の設定残余帯域値が0となるが、第2加算部21bではこれを契機としてキュー♯0,♯1,♯2の設定残余帯域に対して、それぞれ上述の使用設定帯域を加算する。これにより、第2記憶部21aで記憶する設定残余帯域は、それぞれ、キュー♯0では128バイト、キュー♯1,♯2では64バイトとなる(t52)。
これにより、その後の余剰帯域使用モードt53〜t54においては、キュー♯0での使用帯域を256バイトとする一方、キュー♯1,♯2においては128バイトとすることができる。換言すれば、使用設定帯域の比率に応じて余剰帯域を配分することができるようになる。
このように、第2実施形態においては、ハードウェアで実現されるデータ出力装置により、余剰帯域について各キューでの使用帯域を、キュー毎に設定される設定帯域に基づいて、それぞれ適宜の重みを与えながら配分できるようになるという利点がある。
〔c〕第3実施形態の説明
上述の第1,第2実施形態においては、余剰帯域の全てをキューに対して均等又は比率で配分するようになっている。この他に、ユーザパケットとともに制御用のパケットについても余剰帯域を用いて一定量疎通させることが求められる系も想定できる。このような系においても、上述の制御用パケットの疎通を確保しながらも、余剰帯域についてのユーザパケットの配分を行なうことが求められる。
そこで、第3実施形態においては、余剰帯域使用モード(Skipモード)においても、保証帯域使用モードの場合と同様に、第2加算部21b(図5参照)において、一定周期ごとに設定帯域を加算更新することとする。尚、そのときの加算値としては、各キューの設定残余帯域に対して個別の使用設定帯域の値とすることができる。
図8は、第3実施形態におけるデータ出力装置20(図5参照)におけるパケット読み出し態様の一例を、特に余剰帯域使用モードに着目して示すタイムチャートである。
第2実施形態においては、図7に示すように、保証残余帯域を周期更新(t11、t21、t31)する周期τあたり、余剰帯域としては384バイトの区間(t12〜t21、t22〜t31)が存在している。第3実施形態においては、各キューにおける設定残余帯域を加算更新する際には、上述の保証残余帯域の周期更新と同等の周期で加算更新するようになっている。
すなわち、第3実施形態においては、各キューにおける設定残余帯域の値が0以下となっているかにかかわらず、一定周期τごとに加算更新するようになっている。又、各キューの設定残余帯域として第2加算部21bで加算更新すべき使用設定帯域の値は、一例として、単位周期τあたり、キュー#0では192バイト、キュー♯1,♯2ではともに64バイトとしている。
これにより、単位周期τ内に384−(192+64+64)=64バイト分のユーザパケット以外が使用できる隙間の帯域を設けることができる。制御用のパケット等については、上述の隙間帯域を利用して疎通させるようにすることで、制御用のパケットの一定量の疎通に影響を与えることなく、余剰帯域を宛て先毎のユーザパケット間で配分させることが可能となる。
この図8に例示する場合においては、最初の余剰帯域の区間t12〜t21では、キュー♯0,♯1,♯2の設定残余帯域としては、それぞれ、当初192バイト,64バイト,64バイトが与えられている。この場合において、キュー♯0から128バイト長のパケットデータが、キュー♯1から64バイト長のパケットデータが、キュー♯2から128バイト長のパケットデータが、余剰帯域を用いて順次スケジューリングされる(t13,t14,t15)。このとき、第2減算部21cにおいては、各キュー対応の設定残余帯域の値について、それぞれのパケット読み出しのタイミングでパケット長の分だけ減算されて更新(リード更新)されている。
その後、残存している余剰帯域においては、キュー♯0の設定残余帯域の値が未だ正の値である(64バイト)。そこで、スケジューリング部22では、キュー♯0に保持されているパケットデータ(ここでは64バイト)を読み出すべく指示を行なう(t16)。ここで、丁度、単位周期τが経過したため、第1加算部13bにおいては保証帯域を加算することにより保証残余帯域を更新するとともに、第2加算部21bにおいては使用設定帯域を加算することにより設定残余帯域を更新する(t21)。
ここでの余剰帯域の区間t12〜t21においては、トータルで128+64+128+64=384バイトのユーザパケットが出力されている。即ち、余剰帯域がすべてユーザパケットで占有されてしまったことになる。これは、キュー#2から読み出されたパケットデータが、使用設定帯域としての64バイトを越えるパケット長を有していたことに起因する。従って、この区間においては制御用パケットの疎通のための帯域としては確保されていない。
しかしながら、第3実施形態においては、上述の制御用パケットの疎通のための帯域の不足分については、次なる余剰帯域区間t22〜t31で補填させることが可能である。即ち、次なる余剰帯域区間t22〜t31では、余剰帯域使用モードで、キュー♯1から64バイト長のパケットデータがスケジューリングされる(t23)。
このとき、キュー♯2についての設定残余帯域の値については、直近の設定残余帯域の更新(t21)によっても、0バイト(−64バイト+64バイト=0バイト)と正の値には復活していない。このため、キュー♯2で保持されているパケットデータの読み出しのためのスケジューリングは行われず、キュー♯0に保持されているパケットデータ(ここでは64バイト長)がスケジューリングされることになる(t24)。
その次は、キュー♯1、♯2とも設定残余帯域の値は0以下であるため、引き続き設定残余帯域の値が0以下となるまでキュー♯0で保持されるパケットデータがスケジューリングされる(t25,t26)。そして、キュー♯0の設定残余帯域が0となった時点で、全てのキュー♯0〜♯2についての設定残余帯域の値は0となるので、以降は、スケジューリング部22においては、次の設定残余帯域の値の加算更新の時(t31)までユーザパケットのスケジューリングは行なわない。
これにより、余剰帯域区間t22〜t31においては、ユーザパケットの設定残余帯域に基づくスケジューリングの後、384−(64+64+64+64)=(64×2)バイト相当の隙間帯域Vを設けることが可能となる。即ち、2つの余剰帯域区間t12〜t21,t22〜t31により、64バイトの隙間帯域を2個設けることが可能となる。換言すれば、余剰帯域区間の数に対応して、64バイトの隙間区間を制御用パケットの疎通のために設けることができるのである。
このように、第3実施形態によれば、前述の第1,第2実施形態の場合と同様の利点があるほか、余剰帯域をすべてユーザパケットで占有することなく、制御用パケット等の他のパケット疎通のための帯域として確保することが可能となり、構築すべきシステムに対して柔軟な対応を可能にする。
また、キュー個別で保証帯域および余剰帯域の使用設定帯域を別に持つことができるので、キュー単位で、保証帯域使用モードおよび余剰帯域使用モードに応じた細かいサービスの提供が可能となり、ユーザとしてはパケット用途に応じて最適な設定を選択することが出来る。
〔d〕付記
(付記1)
出力回線への出力用データを入力され、前記出力用データを宛て先毎に保持するデータ保持部と、
該データ保持部における前記宛て先毎の出力用データの保持状態について管理する保持状態管理部と、
前記宛て先毎に与えられる保証帯域のもとでの、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する保証帯域管理部と、
前記保証帯域の合計に対して余剰する余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する余剰帯域管理部と、
該保証帯域管理部および該余剰帯域管理部からの各管理結果、ならびに、該保持状態管理部で管理する前記保持状態に基づいて、該データ保持部で保持するデータの前記出力回線への出力をスケジューリングするスケジューリング部と、をそなえたことを特徴とする、データ出力装置。
(付記2)
該保証帯域管理部は、前記宛て先毎に与えられる保証帯域に対して対応する宛て先を有する出力用データの前記出力回線への出力帯域の残余分を、保証残余帯域としてそれぞれ管理するとともに、
該余剰帯域管理部は、前記余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記宛て先毎に設定される使用設定帯域に対して、対応する宛て先を有する出力用データの前記出力回線への出力帯域を余剰出力帯域としてそれぞれ管理することを特徴とする、付記1記載のデータ出力装置。
(付記3)
該スケジューリング部は、該保証帯域管理部における管理の結果、前記保証残余帯域を有している宛て先が存在する場合において、該保持状態管理部での前記保持状態の管理の結果、当該宛て先を有する出力用データが該データ保持部で保持されている場合には、当該宛て先を有する出力用データを優先的に前記出力回線へ出力すべくスケジューリングすることを特徴とする、付記2記載のデータ出力装置。
(付記4)
該スケジューリング部は、該保証帯域管理部における前記保証残余帯域の管理の結果、前記保証残余帯域を有している宛て先が存在せず、該余剰帯域管理部における前記余剰出力帯域の管理の結果、前記余剰出力帯域が前記使用設定帯域の範囲内にある宛て先が存在する場合において、該保持状態管理部での前記保持状態の管理の結果、当該宛て先を有する出力用データが該データ保持部で保持されている場合には、当該宛て先を有する出力用データを前記出力回線へ出力すべくスケジューリングすることを特徴とする、付記2記載のデータ出力装置。
(付記5)
該スケジューリング部は、当該宛て先を有する出力用データとして、互いに異なる宛て先を有する複数の出力用データが該データ保持部で保持されている場合には、順次、該複数の出力用データを前記出力回線へ出力すべくスケジューリングすることを特徴とする、付記3又は4記載のデータ出力装置。
(付記6)
該保証帯域管理部は、
前記保証残余帯域の値を前記宛て先毎に記憶する第1記憶部と、
前記宛て先毎に保証する単位時間あたりの保証帯域の値を、該第1記憶部で記憶する、対応する前記宛て先の前記保証残余帯域の値に加算することにより、前記保証残余帯域の値を更新する第1加算部と、
該データ保持部から前記出力回線に出力されたデータの前記宛て先ごとの帯域値を、該第1記憶部で記憶する対応する前記宛て先の前記保証残余帯域の値から減算することにより、前記保証残余帯域の値を更新する第1減算部と、をそなえたことを特徴とする、付記2記載のデータ出力装置。
(付記7)
該余剰帯域管理部は、
前記使用設定帯域に対する前記余剰出力帯域の差分値を、設定残余帯域値として前記宛て先毎に記憶する第2記憶部と、
前記宛て先毎に設定する前記使用設定帯域の値を、該第2記憶部で記憶する対応する宛て先の前記設定残余帯域値に、それぞれ加算する第2加算部と、
前記保証帯域の合計に対して余剰する帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記余剰出力帯域の値を、該第2記憶部で記憶する、対応する前記宛て先の前記設定残余帯域値から、それぞれ減算する第2減算部と、をそなえ、
該余剰帯域管理部は、前記余剰出力帯域を、前記使用設定帯域との差分値である前記設定残余帯域値として管理することを特徴とする、付記2記載のデータ出力装置。
(付記8)
該第2加算部は、該第2記憶部で記憶する全ての宛て先における前記設定残余帯域の値が0以下となった場合に、前記加算を行なうことを特徴とする、付記7記載のデータ出力装置。
(付記9)
該第2加算部は、前記宛て先毎の前記設定残余帯域の値に加算する前記使用設定帯域の値として単位時間当たり帯域の値を周期的に加算することを特徴とする、付記7記載のデータ出力装置。
(付記10)
前記宛て先毎に設定される使用設定帯域の値は、共通の帯域値であることを特徴とする、付記2記載のデータ出力装置。
(付記11)
前記宛て先毎に設定される使用設定帯域の値は、所定比率を有することを特徴とする、付記2記載のデータ出力装置。
(付記12)
該データはパケットデータであることを特徴とする、付記1〜11のいずれか1項記載のデータ出力装置。
(付記13)
付記1〜12のいずれか1項記載のデータ出力装置がそなえられた通信装置。
(付記14)
パケットネットワークに接続される通信装置を複数そなえるとともに、
該複数の通信装置間に接続されるレイヤ2スイッチをそなえ、
該複数の通信装置の少なくとも1つの通信装置は、
前記収容するパケットネットワークをなす出力回線への出力用データを該レイヤ2スイッチから入力され、前記出力用データを宛て先毎に保持するデータ保持部と、
該データ保持部における前記宛て先毎の出力用データの保持状態について管理する保持状態管理部と、
前記宛て先毎に与えられる保証帯域のもとでの、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する保証帯域管理部と、
前記保証帯域の合計に対して余剰する余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する余剰帯域管理部と、
該保証帯域管理部および該余剰帯域管理部からの各管理結果、ならびに、該保持状態管理部で管理する前記保持状態に基づいて、該データ保持部で保持するデータの前記出力回線への出力をスケジューリングするスケジューリング部と、をそなえたデータ出力装置を有することを特徴とする、スイッチ装置。
(a),(b)はともにレイヤ2スイッチ装置を示す図である。 対比構成例としてのデータ出力装置を示す図である。 図2に示すデータ出力装置の作用について説明するための図である。 図2に示すデータ出力装置の作用について説明するための図である。 本実施形態におけるデータ出力装置を示す図である。 第1実施形態による作用を説明するための図である。 第2実施形態による作用を説明するための図である。 第3実施形態による作用を説明するための図である。
符号の説明
1 レイヤ2スイッチ装置
2 架体
3 カード(通信装置)
4 CPU盤
5 スイッチ
10,20 データ出力装置
11 キュー管理制御部
11a パケットバッファ
11b 書き込み制御部
11c 読み出し制御部
12 エンプティ情報管理部
13 帯域管理制御部
13a 第1記憶部
13b 第1加算部
13c 第1減算部
14,22 スケジューリング部
15 設定レジスタ
21 余剰帯域管理部
21a 第2記憶部
21b 第2加算部
21c 第2減算部

Claims (8)

  1. 出力回線への出力用データを入力され、前記出力用データを宛て先毎に保持するデータ保持部と、
    該データ保持部における前記宛て先毎の出力用データの保持状態について管理する保持状態管理部と、
    前記宛て先毎に与えられる保証帯域のもとでの、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する保証帯域管理部と、
    前記保証帯域の合計に対して余剰する余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記宛て先毎に前記余剰帯域を均等に配分するように、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する余剰帯域管理部と、
    該保証帯域管理部および該余剰帯域管理部からの各管理結果、ならびに、該保持状態管理部で管理する前記保持状態に基づいて、該データ保持部で保持するデータの前記出力回線への出力をスケジューリングするスケジューリング部と、をそなえたことを特徴とする、データ出力装置。
  2. 該保証帯域管理部は、前記宛て先毎に与えられる保証帯域に対して対応する宛て先を有する出力用データの前記出力回線への出力帯域の残余分を、保証残余帯域としてそれぞれ管理するとともに、
    該余剰帯域管理部は、前記余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記宛て先毎に設定される使用設定帯域に対して、対応する宛て先を有する出力用データの前記出力回線への出力帯域を余剰出力帯域としてそれぞれ管理することを特徴とする、請求項1記載のデータ出力装置。
  3. 該スケジューリング部は、該保証帯域管理部における管理の結果、前記保証残余帯域を有している宛て先が存在する場合において、該保持状態管理部での前記保持状態の管理の結果、当該宛て先を有する出力用データが該データ保持部で保持されている場合には、当該宛て先を有する出力用データを優先的に前記出力回線へ出力すべくスケジューリングすることを特徴とする、請求項2記載のデータ出力装置。
  4. 該スケジューリング部は、該保証帯域管理部における前記保証残余帯域の管理の結果、前記保証残余帯域を有している宛て先が存在せず、該余剰帯域管理部における前記余剰出力帯域の管理の結果、前記余剰出力帯域が前記使用設定帯域の範囲内にある宛て先が存在する場合において、該保持状態管理部での前記保持状態の管理の結果、当該宛て先を有する出力用データが該データ保持部で保持されている場合には、当該宛て先を有する出力用データを前記出力回線へ出力すべくスケジューリングすることを特徴とする、請求項2記載のデータ出力装置。
  5. 該保証帯域管理部は、
    前記保証残余帯域の値を前記宛て先毎に記憶する第1記憶部と、
    前記宛て先毎に保証する単位時間あたりの保証帯域の値を、該第1記憶部で記憶する、対応する前記宛て先の前記保証残余帯域の値に加算することにより、前記保証残余帯域の値を更新する第1加算部と、
    該データ保持部から前記出力回線に出力されたデータの前記宛て先ごとの帯域値を、該第1記憶部で記憶する対応する前記宛て先の前記保証残余帯域の値から減算することにより、前記保証残余帯域の値を更新する第1減算部と、をそなえたことを特徴とする、請求項2記載のデータ出力装置。
  6. 該余剰帯域管理部は、
    前記使用設定帯域に対する前記余剰出力帯域の差分値を、設定残余帯域値として前記宛
    て先毎に記憶する第2記憶部と、
    前記宛て先毎に設定する前記使用設定帯域の値を、該第2記憶部で記憶する対応する宛て先の前記設定残余帯域値に、それぞれ加算する第2加算部と、
    前記保証帯域の合計に対して余剰する帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記余剰出力帯域の値を、該第2記憶部で記憶する、対応する前記宛て先の前記設定残余帯域値から、それぞれ減算する第2減算部と、をそなえ、
    該余剰帯域管理部は、前記余剰出力帯域を、前記使用設定帯域との差分値である前記設定残余帯域値として管理することを特徴とする、請求項2記載のデータ出力装置。
  7. 請求項1〜6のいずれか1項記載のデータ出力装置がそなえられた通信装置。
  8. パケットネットワークに接続される通信装置を複数そなえるとともに、
    該複数の通信装置間に接続されるレイヤ2スイッチをそなえ、
    該複数の通信装置の少なくとも1つの通信装置は、
    前記収容するパケットネットワークをなす出力回線への出力用データを該レイヤ2スイッチから入力され、前記出力用データを宛て先毎に保持するデータ保持部と、
    該データ保持部における前記宛て先毎の出力用データの保持状態について管理する保持状態管理部と、
    前記宛て先毎に与えられる保証帯域のもとでの、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する保証帯域管理部と、
    前記保証帯域の合計に対して余剰する余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記宛て先毎に前記余剰帯域を均等に配分するように、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する余剰帯域管理部と、
    該保証帯域管理部および該余剰帯域管理部からの各管理結果、ならびに、該保持状態管理部で管理する前記保持状態に基づいて、該データ保持部で保持するデータの前記出力回線への出力をスケジューリングするスケジューリング部と、をそなえたデータ出力装置を有することを特徴とする、スイッチ装置。
JP2008142000A 2008-05-30 2008-05-30 データ出力装置および通信装置ならびにスイッチ装置 Expired - Fee Related JP5428203B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008142000A JP5428203B2 (ja) 2008-05-30 2008-05-30 データ出力装置および通信装置ならびにスイッチ装置
US12/339,821 US7907632B2 (en) 2008-05-30 2008-12-19 Data output apparatus, communication apparatus and switch apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008142000A JP5428203B2 (ja) 2008-05-30 2008-05-30 データ出力装置および通信装置ならびにスイッチ装置

Publications (2)

Publication Number Publication Date
JP2009290633A JP2009290633A (ja) 2009-12-10
JP5428203B2 true JP5428203B2 (ja) 2014-02-26

Family

ID=41379735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008142000A Expired - Fee Related JP5428203B2 (ja) 2008-05-30 2008-05-30 データ出力装置および通信装置ならびにスイッチ装置

Country Status (2)

Country Link
US (1) US7907632B2 (ja)
JP (1) JP5428203B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6036310B2 (ja) * 2013-01-09 2016-11-30 富士通株式会社 パケット交換装置、伝送装置、及びパケットスケジューリング方法
JP2014187421A (ja) 2013-03-21 2014-10-02 Fujitsu Ltd 通信装置及びパケットスケジューリング方法
US10587526B2 (en) * 2016-05-30 2020-03-10 Walmart Apollo, Llc Federated scheme for coordinating throttled network data transfer in a multi-host scenario
US20200195456A1 (en) * 2017-01-27 2020-06-18 Mitsubishi Electric Corporation Relay and packet transfer method
US11599644B2 (en) 2019-05-17 2023-03-07 Walmart Apollo, Llc Blocking insecure code with locking

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4879382B2 (ja) * 2000-03-22 2012-02-22 富士通株式会社 パケットスイッチ、スケジューリング装置、廃棄制御回路、マルチキャスト制御回路、およびQoS制御装置
US7002980B1 (en) * 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
US6834385B2 (en) * 2001-01-04 2004-12-21 International Business Machines Corporation System and method for utilizing dispatch queues in a multiprocessor data processing system
JP4234134B2 (ja) * 2003-07-10 2009-03-04 三菱電機株式会社 階層型スケジューリング装置
US7596086B2 (en) * 2003-11-05 2009-09-29 Xiaolin Wang Method of and apparatus for variable length data packet transmission with configurable adaptive output scheduling enabling transmission on the same transmission link(s) of differentiated services for various traffic types
JP4208710B2 (ja) 2003-12-24 2009-01-14 富士通株式会社 フレーム伝送装置
JP4409999B2 (ja) 2004-03-16 2010-02-03 富士通株式会社 多重化パケット転送装置
US7675926B2 (en) * 2004-05-05 2010-03-09 Cisco Technology, Inc. Hierarchical QoS behavioral model
US20070121499A1 (en) * 2005-11-28 2007-05-31 Subhasis Pal Method of and system for physically distributed, logically shared, and data slice-synchronized shared memory switching
JP4648833B2 (ja) * 2005-12-28 2011-03-09 富士通株式会社 帯域管理装置
JP4589289B2 (ja) * 2006-10-12 2010-12-01 株式会社日立製作所 パケット転送装置

Also Published As

Publication number Publication date
US20090296729A1 (en) 2009-12-03
JP2009290633A (ja) 2009-12-10
US7907632B2 (en) 2011-03-15

Similar Documents

Publication Publication Date Title
JP5088145B2 (ja) パケット中継装置、制御方法およびパケット中継プログラム
CN111512602B (zh) 一种发送报文的方法、设备和系统
JP3526269B2 (ja) ネットワーク間中継装置及び該中継装置における転送スケジューリング方法
US9288154B2 (en) Queue scheduling method and apparatus
US9400606B2 (en) System and method for efficient buffer management for banked shared memory designs
CN107846443B (zh) 网络中的分布式处理
US20100061392A1 (en) Method, device and system of scheduling data transport over a fabric
JP5428203B2 (ja) データ出力装置および通信装置ならびにスイッチ装置
EP2466824A1 (en) Service scheduling method and device
JP5115066B2 (ja) パケット伝送方法及び装置
JP2005269314A (ja) マルチキャストパケット読出し制御方法及び装置
JP2014187421A (ja) 通信装置及びパケットスケジューリング方法
US20070165647A1 (en) Apparatus, method, and computer program for data packet scheduling
JPWO2014017069A1 (ja) バスシステムおよび中継器
JP2009253768A (ja) パケット中継装置、パケット中継方法およびパケット中継プログラム
KR20120055946A (ko) 공평한 대역 할당 기반 패킷 스케줄링 방법 및 장치
US20180115498A1 (en) Systems and methods for adaptive credit-based flow
JP4408376B2 (ja) 交換のためにメモリに書き込まれるパケットをキューイングするシステム、方法及び論理
WO2015180426A1 (zh) 一种数据传输方法、装置及系统
WO2017032075A1 (zh) 一种服务质量复用方法及装置、计算机存储介质
JP2007300575A (ja) パケットバッファ装置
KR20120055947A (ko) 가입자 인지 플로우별 QoS 제공 방법 및 장치
JP2012244399A (ja) 通信装置
JP2008167180A (ja) パケット中継方法およびパケット中継装置
JP6620760B2 (ja) 管理ノード、端末、通信システム、通信方法、および、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130307

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131118

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5428203

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees