(57)【特許請求の範囲】
【請求項１】
出力回線への出力用データを入力され、前記出力用データを宛て先毎に保持するデータ保持部と、
該データ保持部における前記宛て先毎の出力用データの保持状態について管理する保持状態管理部と、
前記宛て先毎に与えられる保証帯域のもとでの、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する保証帯域管理部と、
前記保証帯域の合計に対して余剰する余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記宛て先毎に前記余剰帯域を均等に配分するように、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する余剰帯域管理部と、
該保証帯域管理部および該余剰帯域管理部からの各管理結果、ならびに、該保持状態管理部で管理する前記保持状態に基づいて、該データ保持部で保持するデータの前記出力回線への出力をスケジューリングするスケジューリング部と、をそなえたことを特徴とする、データ出力装置。
【請求項２】
該保証帯域管理部は、前記宛て先毎に与えられる保証帯域に対して対応する宛て先を有する出力用データの前記出力回線への出力帯域の残余分を、保証残余帯域としてそれぞれ管理するとともに、
該余剰帯域管理部は、前記余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記宛て先毎に設定される使用設定帯域に対して、対応する宛て先を有する出力用データの前記出力回線への出力帯域を余剰出力帯域としてそれぞれ管理することを特徴とする、請求項１記載のデータ出力装置。
【請求項３】
該スケジューリング部は、該保証帯域管理部における管理の結果、前記保証残余帯域を有している宛て先が存在する場合において、該保持状態管理部での前記保持状態の管理の結果、当該宛て先を有する出力用データが該データ保持部で保持されている場合には、当該宛て先を有する出力用データを優先的に前記出力回線へ出力すべくスケジューリングすることを特徴とする、請求項２記載のデータ出力装置。
【請求項４】
該スケジューリング部は、該保証帯域管理部における前記保証残余帯域の管理の結果、前記保証残余帯域を有している宛て先が存在せず、該余剰帯域管理部における前記余剰出力帯域の管理の結果、前記余剰出力帯域が前記使用設定帯域の範囲内にある宛て先が存在する場合において、該保持状態管理部での前記保持状態の管理の結果、当該宛て先を有する出力用データが該データ保持部で保持されている場合には、当該宛て先を有する出力用データを前記出力回線へ出力すべくスケジューリングすることを特徴とする、請求項２記載のデータ出力装置。
【請求項５】
該保証帯域管理部は、
前記保証残余帯域の値を前記宛て先毎に記憶する第１記憶部と、
前記宛て先毎に保証する単位時間あたりの保証帯域の値を、該第１記憶部で記憶する、対応する前記宛て先の前記保証残余帯域の値に加算することにより、前記保証残余帯域の値を更新する第１加算部と、
該データ保持部から前記出力回線に出力されたデータの前記宛て先ごとの帯域値を、該第１記憶部で記憶する対応する前記宛て先の前記保証残余帯域の値から減算することにより、前記保証残余帯域の値を更新する第１減算部と、をそなえたことを特徴とする、請求項２記載のデータ出力装置。
【請求項６】
該余剰帯域管理部は、
前記使用設定帯域に対する前記余剰出力帯域の差分値を、設定残余帯域値として前記宛
て先毎に記憶する第２記憶部と、
前記宛て先毎に設定する前記使用設定帯域の値を、該第２記憶部で記憶する対応する宛て先の前記設定残余帯域値に、それぞれ加算する第２加算部と、
前記保証帯域の合計に対して余剰する帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記余剰出力帯域の値を、該第２記憶部で記憶する、対応する前記宛て先の前記設定残余帯域値から、それぞれ減算する第２減算部と、をそなえ、
該余剰帯域管理部は、前記余剰出力帯域を、前記使用設定帯域との差分値である前記設定残余帯域値として管理することを特徴とする、請求項２記載のデータ出力装置。
【請求項７】
請求項１〜６のいずれか１項記載のデータ出力装置がそなえられた通信装置。
【請求項８】
パケットネットワークに接続される通信装置を複数そなえるとともに、
該複数の通信装置間に接続されるレイヤ２スイッチをそなえ、
該複数の通信装置の少なくとも１つの通信装置は、
前記収容するパケットネットワークをなす出力回線への出力用データを該レイヤ２スイッチから入力され、前記出力用データを宛て先毎に保持するデータ保持部と、
該データ保持部における前記宛て先毎の出力用データの保持状態について管理する保持状態管理部と、
前記宛て先毎に与えられる保証帯域のもとでの、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する保証帯域管理部と、
前記保証帯域の合計に対して余剰する余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記宛て先毎に前記余剰帯域を均等に配分するように、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する余剰帯域管理部と、
該保証帯域管理部および該余剰帯域管理部からの各管理結果、ならびに、該保持状態管理部で管理する前記保持状態に基づいて、該データ保持部で保持するデータの前記出力回線への出力をスケジューリングするスケジューリング部と、をそなえたデータ出力装置を有することを特徴とする、スイッチ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、データ出力装置および通信装置ならびにスイッチ装置に関するものである。
【背景技術】
【０００２】
インターネットプロトコル（ＩＰ）網のレイヤ２スイッチ装置（Layer-2 switch）においては、パケットの出力帯域をキュー毎に制御する帯域管理が行なわれる。即ち、宛て先となるユーザ端末ごとにキューが設定され、それぞれのキューごとに出力パケットの帯域が管理される。この帯域管理により、ユーザ端末に対するクオリティ・オブ・サービス（Quality Of Service；ＱＯＳ：優先制御，帯域制御等）の機能を実現している。
【０００３】
ＱＯＳサービスにより、ユーザ端末に対して個別にネットワークユーザ帯域を契約により保証（帯域保証という）することが行なわれている。この帯域保証を行なうため、例えばトークンバケットに基づくキュー制御が行なわれる。即ち、複数キューの帯域管理において、キュー毎にトークンバケットを持ち、着目キューにパケットが格納され、かつ、トークンバケットにトークンが残っている場合にその着目キューの出力を許可する。
【０００４】
キュー毎のトークンバケットには、契約等により通信を保証する帯域（保証帯域値）に応じて、所定時間において出力できるバイト数（帯域値）を蓄積する。この値は所定時間の間隔で加算され（これを周期更新）、出力要求時には、出力したバイト数が減算される（これをリード更新）。これにより、上述の保証する帯域を（キューごとに）管理、制御する。
【０００５】
このとき、各キューがそれぞれのトークンバケットによる帯域管理の下で保証帯域相当のパケットが出力された後は、トークンバケットは空になるが、保証帯域相当の通信がなされた後にも、出力回線の帯域に余裕がある場合には、余剰帯域が生まれる。
【０００６】
すなわち、周期更新によってトークンバケットが加算更新されるまでに、すべてのキューでトークンバケットの値が０以下またはパケットが格納されていない状態になると、空き時間が生じることになる。設定帯域を満たした上での空き時間ということで、その区間を余剰帯域と呼ぶ。
【０００７】
このような場合においてパケットが格納されているキューがまだ存在している場合には、その余剰帯域を用いて通信を行なうことができる。即ち、余剰帯域についてもユーザに配分させることで、更なるサービスを提供することができる。
【０００８】
ユーザに対する通信サービスの質的向上を図るため、上述のごとき余剰帯域を用いた通信の際にも、収容されているユーザ端末利用者の要求に配慮しつつ、精度を高めた帯域管理を行なうことが求められている。
なお、本件に関連する文献公知技術としては、下記の特許文献１〜３に記載されたものがある。
【特許文献１】特開２００５−２６８８４６号公報
【特許文献２】特開２００５−１８４７０９号公報
【特許文献３】特開２００７−１８１０８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
そこで、本件の目的の一つは、余剰帯域を用いた通信の際に、精度を高めた帯域管理を行なうことにある。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成又は作用により導かれる効果であって、従来の技術によっては得られない効果を奏することも本発明の他の目的として位置づけることができる。
【課題を解決するための手段】
【００１０】
たとえば、以下の手段を用いる。
（１）出力回線への出力用データを入力され、前記出力用データを宛て先毎に保持するデータ保持部と、該データ保持部における前記宛て先毎の出力用データの保持状態について管理する保持状態管理部と、前記宛て先毎に与えられる保証帯域のもとでの、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する保証帯域管理部と、前記保証帯域の合計に対して余剰する余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記宛て先毎に前記余剰帯域を均等に配分するように、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する余剰帯域管理部と、該保証帯域管理部および該余剰帯域管理部からの各管理結果、ならびに、該保持状態管理部で管理する前記保持状態に基づいて、該データ保持部で保持するデータの前記出力回線への出力をスケジューリングするスケジューリング部と、をそなえた、データ出力装置を用いることができる。
【００１１】
（２）また、上記（１）のデータ出力装置がそなえられた通信装置を用いることもできる。
【００１２】
（３）さらに、パケットネットワークに接続される通信装置を複数そなえるとともに、該複数の通信装置間に接続されるレイヤ２スイッチをそなえ、該複数の通信装置の少なくとも１つの通信装置に上記（１）のデータ出力装置をそなえた、スイッチ装置を用いることもできる。
【発明の効果】
【００１３】
開示の技術によれば、余剰帯域について各キューでの使用帯域を高精度かつ公平に配分できるようになるという利点がある。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して実施の形態を説明する。但し、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本実施形態は、その趣旨を逸脱しない範囲で種々変形（各実施例を組み合わせる等）して実施することができる。
【００１５】
〔Ａ〕第１実施形態
〔Ａ１〕対比例
余剰帯域を用いた通信を行なう場合において、各キューへの帯域の配分の手法としてはベストエフォート型の配分、即ち、先着順に使用許可されたキューから帯域使用するようになっていることが多い。図２は後述する第１実施形態の対比例としてのデータ出力装置を示す図である。
【００１６】
この図２に示すデータ出力装置１０は、例えば図１（ａ），図１（ｂ）に示すようなレイヤ２スイッチ装置（スイッチ装置）１に適用される。レイヤ２スイッチ装置１としては、例えば図１（ａ）に示すように架体２に複数枚（ここでは♯１〜♯６の６枚）のカード（通信装置）３およびＣＰＵ盤（♯１，♯２の２枚）４が実装されてなるもので、図１（ｂ）に示すようなレイヤ２（Ｌ２）スイッチとしての機能を有している。
【００１７】
各カード３は、パケットネットワークに接続されて、それぞれ複数のユーザ端末からのパケットデータ（パケット実体データ）を受信し送信する。そして、各カード３間においてはスイッチ（レイヤ２スイッチ）５が介装されて、このスイッチ５を介してカード３間でのパケットデータの交換が行なわれる。
【００１８】
たとえば、図示しないユーザ端末からパケットネットワークを介してカード３（♯１）に入力されたパケットデータは、スイッチ５を介してカード３（♯６）に導くことができる。更に、カード３（♯６）においては、スイッチ５からのパケットデータについて宛て先となるユーザ端末に転送する。
【００１９】
また、各カード３は、この図１（ｂ）に示すように、インタフェース部３ａ，３ｂおよび第１，第２処理部３ｃ，３ｄをそなえる。インタフェース部３ａは、スイッチ５側とのインタフェース変換処理等を行なう。又、インタフェース部３ｂは、ユーザ端末側との信号インタフェース処理を行なう。
【００２０】
さらに、第１処理部３ｃは、ユーザ端末側からインタフェース部３ｂを介して入力されるパケットデータについての処理を行なって、インタフェース部３ａを介してスイッチ５側に出力する。又、第２処理部３ｄは、スイッチ５側からインタフェース部３ａを介して入力されるパケットデータについて処理を行なって、インタフェース部３ｂを介してユーザ端末側（出力回線）に出力する。
【００２１】
ここで、第２処理部３ｄにおいては、レイヤ２スイッチ１におけるＱＯＳ処理として、例えば帯域制御が行なわれる。帯域制御は、入力される複数のユーザ宛のパケットを、宛て先ユーザ毎（キュー毎）の出力に対して行なう制御である。上述の場合のカード３（♯６）のように、スイッチ５のスイッチングされたパケットデータをユーザ端末に向けて転送出力する際には、上述の帯域制御として、ユーザごとに契約により通信帯域を保証する帯域保証のもとでの帯域制御を行なうことができる。
【００２２】
図２に示すデータ出力装置１０は、上述の各カード３に搭載可能な第２処理部３ｄとして適用することができる。即ち、第２処理部３ｄとしてのデータ出力装置１０により、パケットデータの宛て先となるユーザ端末に対して、保証する帯域での通信を実現するとともに、余剰帯域については上述のベストエフォート型で配分するようになっている。
【００２３】
ここで、この図２に示すデータ出力装置１０は、キュー（Queue）管理制御部１１，エンプティ（Empty）情報管理部１２，帯域管理制御部１３およびスケジューリング部１４をそなえている。
【００２４】
キュー管理制御部１１は、スイッチ５（図１（ｂ）参照）から出力回線への出力用データであるパケットデータを入力されて、このパケットデータについて宛て先毎にそなえられたキューを有するパケットバッファ１１ａに保持するためのものである。ここでは、複数個（Ｎ個）のユーザ端末に充てたパケットデータを保持できるようにＮ個のキュー（♯１〜♯Ｎ）がそなえられる。
【００２５】
そして、このキュー管理制御部１１は、上述のごときパケットバッファ１１ａをそなえるとともに、パケットバッファ１１ａに対するパケットデータの書き込みおよび読み出しをそれぞれ制御する書き込み（Write）制御部１１ｂおよび読み出し（Read）制御部１１ｃをそなえている。
【００２６】
すなわち、書き込み制御部１１ｂにより、入力されるパケットデータについてパケットバッファ１１ａをなす宛て先に応じた記憶領域（キュー）に書き込まれる。又、読み出し制御部１１ｃにおいては、後述するスケジューリング部１４から与えられる読み出しキューの指示情報に従って、該当キューに保持されているパケットデータを読み出す。尚、読み出したパケットデータについて図示しない出力回線へ出力される。
【００２７】
また、エンプティ情報管理部１２は、パケットバッファ１１ａにおける宛て先毎、即ちキュー♯１〜♯Ｎ毎のパケットデータの保持状態について管理するものである。具体的には、エンプティ情報管理部１２は、各キュー♯１〜♯Ｎにおいてパケットデータを保持しているか否かに応じたビット情報がそれぞれ記録される記憶領域が設定された記憶素子により実現できる。
【００２８】
さらに、帯域管理制御部１３は、宛て先毎、即ちキュー毎に与えられる保証帯域に対する対応する宛て先を有するパケットデータの出力回線への出力帯域の残余分を保証残余帯域（トークンバケット）として、それぞれ管理する。このため、帯域管理制御部１３においては、記憶部１３ａ，加算部１３ｂおよび減算部１３ｃをそなえ、宛て先ごとの保証残余帯域を管理するようになっている。
【００２９】
ここで、記憶部１３ａは、上述の保証残余帯域の値を前記宛て先毎に記憶するものである。又、加算部１３ｂは、宛て先毎に保証する単位時間あたりの保証帯域の値を、記憶部１３ａで記憶する、対応する宛て先の前記保証残余帯域の値に加算することにより、保証残余帯域の値を更新する。
【００３０】
さらに、減算部１３ｃは、パケットバッファ１１をなす各キューから出力回線に出力されたデータの宛て先ごとの帯域値を、記憶部１３ａで記憶する対応する宛て先の保証残余帯域の値から減算することにより、保証残余帯域の値を更新する。
【００３１】
すなわち、帯域管理制御部１３では、宛て先毎に保証帯域を記憶部１３ａに設定し、減算部１３ｃを通じて、この保証帯域の値から、読み出し制御部１１ｃで読み出され出力回線へ出力された宛て先毎のパケットデータの帯域の値の差分を得て、この差分値をトークンバケットの値として管理する。これにより、各宛て先のユーザ端末へ保証する帯域を確保する。
【００３２】
スケジューリング部１４は、上述の帯域管理制御部１３での帯域管理のもとで、パケットバッファ１１ａに保持されているパケットデータの出力についてパケットバイパケット（Packet by Packet）でのスケジューリングを行なう。スケジューリング部１４でのスケジューリングとしては、保証残余帯域を使用するモード（保証残余帯域使用モード）でのスケジューリングと、余剰帯域使用モードでのスケジューリングと、がある。
【００３３】
保証残余帯域使用モードは、帯域管理制御部１３で帯域管理する保証残余帯域の値を参照し、保証残余帯域を有しているキューが存在し、且つ当該キューにパケットデータが保持されている場合の動作モードである。一方、余剰帯域使用モードは、保証残余帯域を有しているキューが存在せず、且つ当該キューにパケットデータが保持されている場合の動作モードである。
【００３４】
スケジューリング部１４での上述したいずれかの動作モードでのスケジューリングにより、読み出し制御部１１ｃに対して読み出しキューの指示を出力する。読み出し制御部１１ｃにおいては、この読み出しキューの指示を受けて、指示対象のキューに保持されるパケットデータを読み出して出力回線へ転送する。
ここで、パケット転送処理は、例えば以下に示すようなパケット書き込み処理およびパケット読み出し処理を通じて行なわれる。
【００３５】
・パケット書き込み処理
たとえば、スイッチ５（図１（ｂ）参照）から、パケットデータ（宛て先のユーザ端末は♯ｋとする）が入力されると（図２のＷ１参照）、キュー管理制御部１１の書き込み制御部１１ｂにおいて、当該パケットデータに含まれている宛て先情報（♯ｋ）を抽出する。
【００３６】
そして、書き込み制御部１１ｂにおいては、抽出した宛て先情報（♯ｋ）に基づいて、パケットデータを、パケットバッファ１１ａにおける当該宛て先（♯ｋ）に対応付けられたキューに格納する（図２のＷ２参照）。又、書き込み制御部１１ｂにおいては、上述のパケットバッファ１１ａへのパケットデータの格納とともに、エンプティ情報管理部１２に対して、パケットバッファ１１ａに格納されたパケットデータについての宛て先情報（♯ｋ）を通知する（図２のＷ３参照）。
【００３７】
これにより、エンプティ情報管理部１２においては、書き込み制御部１１ｂから通知された宛て先情報に対応付けて、当該宛て先（♯ｋ）へのパケットデータがパケットバッファ１１ａに格納された旨の情報が登録されることになる（図２のＷ４参照）。
【００３８】
・パケット読み出し処理
上述のごとくパケットバッファ１１ａに書き込まれたパケットデータを読み出すにあたり、スケジューリング部１４においては、例えば次のような処理が行なわれる。即ち、スケジューリング部１４においては、エンプティ情報管理部１２を参照することにより、パケットバッファ１１ａにパケットデータが格納されているキューに関する情報を取得することができる。
【００３９】
換言すれば、スケジューリング部１４では、エンプティ情報管理部１２からは全てのキューについてパケットデータの保持状態（即ち、保持（Not empty）又は非保持(Empty)の状態）の通知を受ける。
【００４０】
そして、スケジューリング部１４では、帯域管理制御部１３から、全てのキューについての保証残余帯域（トークンバケット）に関する情報について受け取る。更には、設定レジスタ１５に設定されている、宛て先ユーザ端末ごとの余剰帯域使用設定情報についても受け取る。余剰帯域使用設定情報とは、設定レジスタ１５にビットデータとして登録される情報であって、上述の保証帯域に対して出力回線の帯域が余剰する帯域資源について、ユーザ端末ごとの使用の可否の別に関する情報である。
【００４１】
スケジューリング部１４では、エンプティ情報管理部１２からの情報と、帯域管理制御部１３からの情報をもとに、保証残余帯域を有するキューのパケットデータを読み出すべくスケジューリングを行なう（図２のＲ１参照）。
【００４２】
具体的には、保証残余帯域があり、かつ、当該保証残余帯域があるキューにパケットデータが格納されている場合には、当該パケットデータを読み出すべく読み出し制御部１１ｃに指示を行なう（Non-skipモード、図２のＡ，Ｒ２参照）。尚、保証残余帯域を有するパケットデータ格納中のキューが複数個存在する場合には、例えば単純ラウンドロビンで1つのキューを選択して読み出し指示を行なう（図２のＢ参照）。
【００４３】
スケジューリング部１４では、上述したような保証残余帯域を有するキューが存在している段階においては、当該キューにパケットデータが格納されていれば優先的に読み出し出力されるようにスケジューリングがなされる。換言すれば、保証残余帯域を有するキューであるNon-skip キューが一つでも選択可能であれば、Non-Skipモードを選択する（図２のＣ参照）。
【００４４】
また、保証残余帯域を有するキューが存在しなくなった段階において、設定レジスタ１５において余剰帯域の使用が可とされたキューにパケットデータが保持されている場合には、当該キューのパケットデータを読み出すべく読み出しキューの指示を出力する。
【００４５】
換言すれば、スケジューリング部１４においては、パケットデータが格納されているキューのすべてで保証残余帯域がなくなった場合は、そのキューのうち余剰帯域使用設定が可（ＯＮ）のものについての読み出しのためのスケジューリングを行なう（図２のＤ参照）。
【００４６】
この場合においても、複数のキューが選択可能である場合には、単純ラウンドロビンで１つずつ順次キューを選択する。これにより、選択したキューについて、読み出しキュー指示情報として読み出し制御部１１ｃに通知する（Skipモード、図２のＲ２参照）。
【００４７】
そして、キュー管理制御部１１の読み出し制御部１１ｃでは、スケジューリング部１４からの読み出しキュー指示を受け、該当するキューのパケットデータを読み出す（図２のＲ３参照）。この図２に示す場合においては、一例として、ユーザ端末♯ｒ宛てのパケットデータを読み出す旨の指示を受けている。従って、ユーザ端末♯ｒ宛てのパケットデータが保持されているキューからパケットデータが読み出されている。
【００４８】
また、読み出し制御部１１ｃにおいては、パケットバッファ１１ａから読み出されたパケットデータから、読み出しパケット長情報を抽出する。そして、エンプティ情報管理部１２に対して、パケットバッファ１１ａからパケットデータを読み出したキュー情報（リードキュー情報）について通知する。又、帯域管理制御部１３に対しては、上述のリードキュー情報とともに、抽出したパケット長情報を通知する（図２のＲ４参照）。
【００４９】
エンプティ情報管理部１２では、通知を受けたリードキュー情報に該当するキューの保持状態について更新する（図２のＲ５参照）。具体的には、パケットデータを読み出したキューが空となる場合には空となった旨の情報（非保持状態の情報、Empty情報）を登録する。一方、一のパケットデータの読み出し後においてもパケットデータが当該キューにて保持されている場合には、そのまま保持状態の情報（Not Empty情報）を登録しておく。
【００５０】
この場合においては、エンプティ情報管理部１２においては、各キューにて保持しているパケット数についての計数情報として保持しておくこととしてもよい。即ち、計数情報が「０」であれば非保持状態であり、「０」でない「１」以上の値であれば保持状態である。
【００５１】
・帯域管理制御処理について
上述のパケットデータの読み出し処理によって、保証残余帯域を用いた転送が行なわれる（Non-Skipモード）場合には、以下のように、帯域管理制御部１３で管理する保証残余帯域の更新が行なわれる。
【００５２】
すなわち、加算部１３ｂでは、周期更新処理として、全ての宛先に対応するトークンバケットに、単位期間（周期更新を行なう期間）あたりの保証帯域として宛先ごとに設定された値（例えばバイト数）分のトークン量を加算する（図２のＮ１参照）。
【００５３】
たとえば、図３のｔ１１，ｔ２１，ｔ３１，ｔ４１に示すように、各宛て先（又は対応するキュー）のトークンバケットの値を周期τごとに更新する。この場合においては、記憶部１３ａに記憶された、宛て先（又は対応するキュー）♯０〜♯２についての保証残余帯域であるトークンバケットの値について、トークン加算周期τごとに、それぞれ個別に設定された一定値を加算することにより更新する。
【００５４】
つぎに、上述の読み出し制御部１１ｃから通知されたリードキュー情報と読み出しパケット長情報をもとに保証残余帯域としてのトークンバケットの値を更新する。具体的には、リードキュー情報に相当するトークンバケットとして記憶部１３ａで記憶している値から、読み出しパケット長に相当する帯域値（例えばバイト数）を減算した値を、更新されたトークンバケットの値として記憶部１３ａに書き換える（図２のＮ２参照）。
【００５５】
なお、スケジューリング１４においては、読み出し制御部１１ｃに対して、上述の保証残余帯域を用いたパケット転送（Non-Skipモード）のための読み出し指示か、又は余剰帯域を用いたパケット転送のための指示か、の識別情報についても通知している。これを受けて、読み出し制御部１１ｃでは、リードキュー情報および読み出しパケット長の通知の際に、読み出しパケットについての転送処理が前述の保証残余帯域を用いたものか否かの識別情報についても、上述のリードキュー情報等に併せて通知している。
【００５６】
換言すれば、帯域管理制御部１３においては、余剰帯域を用いたパケット転送の場合には、管理している保証残余帯域について更新する必要がない。従って、帯域管理制御部１３においては、この場合には保証残余帯域についての更新は行なわない。
【００５７】
このように、加算部１３ｂによるトークンバケットへの加算処理は、周期的に全てのキューに対して行われるが、減算部１３ｃでのリード更新による減算処理は、スケジューリング部１４からの読み出しキュー指示が、Non-Skipモードで出力許可されたときのみ行われる。
【００５８】
・余剰帯域を用いたパケット転送について
保証残余帯域（トークンバケット）を用いた転送（Non-Skipモード）が終わると、続いて余剰帯域を用いたパケット転送を行なう。例えば、転送先出力回線の物理的な帯域が１０Ｇｂｐｓのところに全キューの保証帯域の合計が７Ｇｂｐｓとなるような場合、出力機会に３Ｇｂｐｓ分の余裕、即ち、余剰帯域が生まれる。
【００５９】
図４は上述の保証残余帯域を用いた転送とともに、その後の余剰帯域を用いた転送の一例を示す図である。周期更新によりトークン加算は周期的に行なわれる（時点ｔ１１，ｔ２１，ｔ３１）。トークン加算が行なわれて次なるトークン加算が行なわれるまでに（時点ｔ１１から時点ｔ２１までの間、および、ｔ２１からｔ３１までの間）、すべてのキューでトークンバケットの値が０以下となるかまたはトークンバケットの値が０より大きくてもパケットが格納されていない状態になると（時点ｔ１２，ｔ２２）、余剰帯域が生じる。
【００６０】
スケジューリング部１４では、このような余剰帯域を用いたスケジューリングを行なうことになる（時点ｔ１２〜ｔ２１，ｔ２２〜ｔ３１）。パケットデータが保持されているキューであって、上述のごとき余剰帯域の使用設定が可となっているものについて読み出しを指示する。パケットデータが保持されているキューが複数ある場合においては、それぞれのパケットデータについてパケットバイパケットで出力される。
【００６１】
この場合においては、キュー♯０，♯１および♯２として保持されているパケットデータが順次読み出されている。ここで、出力されるパケットの長さは関係なく、キューの番号順にスケジューリングされる。この場合においては、キュー♯０，♯１に保持されるパケットデータの長さは比較的短いが、キュー♯２に保持されるパケットデータは比較的長い。
【００６２】
したがって、この図４に示すように、出力するパケットの長さに応じて、出力量が多くなったり少なくなったりするので、キューによっては出力量が多かったり少なかったりと、キュー間で出力量について不公平となる場合がある。そうすると、あるユーザは使用できるが、そのユーザが占有するため他のユーザはまったく使用できないという場合も想定でき、近頃では、この余剰帯域についてもキュー間で公平に配分することが求められるようになった。この公平性を制御するためには転送量を逐次監視し流量を制御する必要があるため、ソフトからでは精度良く制御できず、ハードでの実現が必要となる。
【００６３】
〔Ａ２〕第１実施形態におけるデータ出力装置について
そこで、本実施形態においては、図５に示すデータ出力装置２０を提案する。図２のデータ出力装置１０において、余剰帯域を使用したパケット転送の際にキュー間で不公平となる出力量は、余剰帯域をパケットバイパケットでスケジューリングすることに起因している。即ち、比較的長いパケットを出力したキューも短いパケットを出力したキューも、等しく順番にスケジューリングされるためである。
【００６４】
図５に示すデータ出力装置２０においては、そのパケット長の差による出力量の差を公平にするため、キュー毎にその出力量を監視し制御するようになっている。具体的には、データ出力装置２０は、図２に示すデータ出力装置１０に比べて、余剰帯域管理部２１をそなえるとともに、機能の異なるスケジューリング部２２をそなえている点が異なっている。尚、図５中、図２と同一の符号はほぼ同様の部分を示している。
【００６５】
すなわち、キュー管理制御部１１は、スイッチ５（図１（ｂ）参照）から出力回線への出力用データであるパケットデータを入力されて、このパケットデータについて宛て先毎に保持するデータ保持部であり、パケットバッファ１１ａ，書き込み制御部１１ｂおよび読み出し制御部１１ｃをそなえる。又、エンプティ情報管理部１２は、パケットバッファ１１ａにおける宛て先毎、即ちキュー♯１〜♯Ｎ毎のパケットデータの保持状態について管理する保持状態管理部である。
【００６６】
さらに、帯域管理制御部１３は、宛て先毎に与えられる保証帯域のもとでの、パケットバッファ１１ａで保持されたパケットデータの出力回線への出力を宛て先毎に管理する保証帯域管理部である。この場合においては、宛て先毎、即ちキュー毎に与えられる保証帯域に対する対応する宛て先を有するパケットデータの出力回線への出力帯域の残余分を保証残余帯域（トークンバケット）として、それぞれ管理する。即ち、帯域管理制御部１３は、パケットの転送に保証残余帯域を使用する動作モード（保証残余帯域使用モード）において、キュー毎の使用帯域を管理する。
【００６７】
また、余剰帯域管理部２１は、余剰帯域を使用する動作モード（余剰帯域使用モード）でのキュー毎の使用帯域を管理する。即ち、余剰帯域管理部２１は、宛て先毎の保証帯域の合計に対して余剰する余剰帯域を用いて出力回線へパケットデータを出力する際（余剰帯域使用モード）において、パケットバッファ１１ａで保持されたパケットデータの出力回線への出力を宛て先毎に管理する。
【００６８】
これにより、スケジューリング部２２では、保証残余帯域使用モードにおいては、前述の図２の場合（符号１４参照）と同様に、エンプティ情報管理部１２および帯域管理制御部１３からの管理情報をもとに読み出しキューのスケジューリングを行なう。一方、余剰帯域使用モードにおいては、エンプティ情報管理部１２からの管理情報のほかに、図２の場合とは異なり、上述の余剰帯域管理部２１での管理情報を用いて、読み出しキューのスケジューリングを行なう。
【００６９】
ここで、上述の帯域管理制御部１３は、図２の場合と同様、第１記憶部１３ａ，第１加算部１３ｂおよび第１減算部１３ｃをそなえている。第１記憶部１３ａは、上述の保証残余帯域の値を宛て先毎（キュー毎）に記憶する。
【００７０】
また、第１加算部１３ｂは、保証残余帯域の値を周期更新するためのものである。即ち、宛て先毎に保証する単位時間あたりの保証帯域の値を、第１記憶部１３ａで記憶する、対応する宛て先の保証残余帯域の値に加算することにより、保証残余帯域の値を更新するようになっている。
【００７１】
さらに、第１減算部１３ｃは、保証残余帯域の値をリード更新するためのものである。即ち、パケットバッファ１１ａをなす各キューから出力回線に出力されたデータの宛て先ごとの帯域値を、第１記憶部１３ａで記憶する対応する宛て先の保証残余帯域の値から減算することにより、保証残余帯域の値を更新する。
【００７２】
これにより、スケジューリング部２２においては、第１記憶部１３ａに記憶されている宛て先毎の保証残余帯域を参照することにより、保証残余帯域使用モードでのスケジューリングを行なうことができる。
【００７３】
具体的には、帯域管理制御部１３における管理の結果、保証残余帯域を有している宛て先が存在する場合において、エンプティ情報管理部１２での保持状態の管理の結果、当該宛て先を有するパケットデータがデータバッファ１１ａで保持されている場合には、当該宛て先を有するパケットデータを優先的に出力回線へ出力すべくスケジューリングすることができる（保証残余帯域使用モード）。
【００７４】
これに対し、第１加算部１３ｂで次なる加算タイミングが到来する前段階で、帯域管理制御部１３で管理する各キューの保証残余帯域が無くなった場合は、余剰帯域が発生する。そこで、データ出力装置２０においても、この余剰帯域を使用してパケットデータを出力回線へ出力する（余剰帯域使用モード）。
【００７５】
ここで、前述の図２に示すデータ出力装置１０においては、この余剰帯域を使用する場合には、パケットバイパケットでのスケジューリングのもとで、パケットデータのキューからの読み出しおよび転送が行なわれていた。このため、各キューで保持するパケット長が余剰帯域に占める大きさに影響し、各キューで余剰帯域の使用の配分を公平化することに支障をきたしていた。
【００７６】
これに対し、図５に示すデータ出力装置２０においては、余剰帯域管理部２１において、この余剰帯域を使用したパケットデータの転送を宛て先毎（保持されるキュー毎）に管理することで、宛て先毎の余剰帯域の使用を不公平が発生しないように配分している。
【００７７】
すなわち、余剰帯域管理部２１は、宛て先毎の保証帯域の合計に対して余剰する帯域を用いて出力回線へパケットデータを出力する際において、対応する宛て先を有するパケットデータの出力回線への出力帯域を余剰出力帯域としてそれぞれ管理する。具体的には、宛て先毎に設定される設定帯域に対する差分値として管理する。このため、余剰帯域管理部２１は、第２記憶部２１ａ，第２加算部２１ｂおよび第２減算部２１ｃをそなえている。
【００７８】
ここで、上述の宛て先毎の設定帯域は、スケジューリング部２２でのスケジューリングを通じて余剰出力帯域を宛て先毎に調整するためのものであって、後述するような種々の設定態様がある。第２記憶部２１ａは、上述の宛て先ごとに設定される設定帯域に対する余剰出力帯域の差分値を、設定残余帯域値として宛て先毎に記憶する。
【００７９】
また、第２加算部２１ｂは、上述の宛て先毎に設定する設定帯域の値を、第２記憶部２１ａで記憶する対応する宛て先の設定残余帯域値に、それぞれ加算することにより、設定残余帯域値を更新する。第１実施形態においては、宛て先毎に加算する設定帯域の値としては共通のものを用いている。又、周期的に加算を行なう第１加算部１３ｂと異なり、第２記憶部２１ａで記憶する全ての宛て先における設定残余帯域の値が０以下となったことを契機として加算を行なう。
【００８０】
さらに、第２減算部２１ｃは、保証帯域の合計に対して余剰する帯域（余剰帯域）を用いて出力回線へパケットデータを出力する際において、余剰出力帯域の値を、第２記憶部２１ａで記憶する、対応する宛て先の設定残余帯域値から、それぞれ減算する。
【００８１】
スケジューリング部２２においては、第１記憶部１３ａで記憶する各キューの保証残余帯域値を参照し、各キューの保証残余帯域が無い場合には、余剰帯域を使用したスケジューリングを行なう。即ち、パケットバッファ１１ａで保持しているパケットデータの読み出し指示にかかるキューを、第２記憶部２１ａで記憶する設定残余帯域およびエンプティ情報管理部１２で管理するキューのパケット保持状態から定める。このようにして読み出し対象キューが定められた読み出し指示を、読み出し制御部１１ｃに対して行なうことを通じて、パケットデータの転送が行なわれる（図５のＤａ参照）。
【００８２】
換言すれば、スケジューリング部２２は、帯域管理制御部１３における保証残余帯域の管理の結果、保証残余帯域を有している宛て先が存在せず、余剰帯域管理部２１における余剰出力帯域の管理の結果、余剰出力帯域が使用設定帯域の範囲内にある宛て先が存在する場合において、エンプティ情報管理部１２での保持状態の管理の結果、当該宛て先を有するパケットデータがパケットバッファ１１ａで保持されている場合には、当該宛て先を有するパケットデータを出力回線へ出力すべくスケジューリングする。
【００８３】
なお、上述したような要素１１〜１３，２１，２２からなるデータ出力装置２０はハードウェアで実現することが可能である。従って、上述の保証残余帯域を使用したパケット読み出しや、余剰帯域を使用したパケット読み出しにおいて、キューごとの使用帯域を、帯域管理制御部１３および余剰帯域管理部２１での帯域管理のもとで比較的高精度に配分することが可能になる。
【００８４】
図６は、図５に示すデータ出力装置２０におけるパケット読み出し態様の一例を、特に余剰帯域使用モードに着目して示すタイムチャートである。
すなわち、第１加算部１３ｂでは、周期更新処理として、全ての宛先に対応する保証残余帯域値に保証帯域値を一定時間τごとに加算する（図６のｔ１１，ｔ２１，ｔ３１）。これにより、それぞれの周期更新処理後は、宛て先に保証残余帯域を用いたパケットデータの読み出しおよび転送が行なわれる（保証残余帯域使用モード、Non-Skipモード）。この場合においては、スケジューリング部２２でのスケジューリングを通じて、各宛て先♯０〜♯２の保証残余帯域に基づき、対応する宛て先♯０〜♯２を有するパケットデータをラウンドロビン方式で転送している（図６のｔ１１〜ｔ１２、ｔ２１〜ｔ２２）。
【００８５】
そして、第１記憶部１３ａで記憶している各宛て先対応の保証残余帯域値が全て０以下となった場合には（図６のｔ１２，ｔ２２）、スケジューリング部２２では余剰帯域を用いたパケット転送のためのスケジューリングを行なう。具体的には、スケジューリング部２２では、第２記憶部２１ａおよびエンプティ情報管理部１２を参照し、設定残余帯域を有している宛て先であって、対応するキューにパケットデータが保持されているものについて読み出し指示を行なう。複数キューが該当する場合においては、ラウンドロビン方式により順次読み出しを行なう（図６のｔ１２〜ｔ２１、ｔ２２〜ｔ３１）。
【００８６】
読み出し制御部１１ｃではスケジューリング部２２からの読み出し指示を受けて、指示対象のキューからパケットデータを読み出して出力回線へ出力（転送）する。このとき、余剰帯域管理部２１の第２減算部２１ｃにおいては、余剰帯域を使用したパケット転送に伴い、設定残余帯域（Skipトークンバケット）を減算することにより更新（リード更新）する。
【００８７】
この場合においては、第２記憶部２１ａにおいて与えられているキュー♯０〜♯２ごとの設定残余帯域６４バイトから、読み出されたパケットデータの長さに対応した帯域が減算される。例えば、ｔ１２〜ｔ２１での余剰帯域使用モードでは、キュー♯０，♯１から読み出されたパケットデータの長さはともに６４バイトであり、リード更新の結果、設定残余帯域は０となる（ｔ１３，ｔ１４）。一方、キュー♯２から読み出されたパケットデータの長さは１９２バイトであり、リード更新の結果、設定残余帯域は−１２８バイトとなる（ｔ１５）。
【００８８】
このとき、各キューに応じた設定残余帯域がいずれも０以下となったので、第２加算部２１ｂにおいては、これを契機として設定残余帯域を加算更新する。具体的には、宛て先♯０〜♯２に応じた設定残余帯域値にそれぞれ６４バイトを第２加算部２１ｂで加算する。これにより、キュー♯０および♯１の設定残余帯域は６４バイト、宛て先♯２の設定残余帯域は−６４バイトとなる（ｔ１６）。
【００８９】
スケジューリング部２２においては、余剰帯域使用モードにおいては、設定残余帯域を有している（設定残余帯域が０よりも大きい）キューに保持されているパケットデータを優先的に読み出すべくスケジューリングを行なう。これにより、この図６に示すキュー♯２のように、他のキュー♯０，♯１に比べて長大なパケットデータを読み出した後は、その後のスケジューリングでの優先度は下がるので、余剰帯域使用の公平化を図ることができるようになる。
【００９０】
すなわち、キュー♯２から上述の１９２バイトのパケットデータが読み出された後は、加算更新がそれぞれ３度（ｔ１６，ｔ２４，ｔ２７）ずつ行なわれるまでの間は、キュー♯２の設定残余帯域は０よりも大きくならない。このため、キュー♯２の設定残余帯域が０よりも大きくなるまでは、キュー♯２で保持されているパケットデータは読み出されずに、キュー♯０，♯１で保持されているパケットデータが読み出される（ｔ１７，ｔ２３，ｔ２５，ｔ２６）。
【００９１】
なお、図６の場合においては、ｔ２７での加算更新により各キュー♯０〜♯２における設定残余帯域が６４バイトとなっているが、いずれのキューも保持状態であるため、キュー♯０で保持されるパケットデータから順次読み出されている。
【００９２】
これにより、余剰帯域使用モードの時間として、２つの時間枠ｔ１２〜ｔ２１およびｔ２２〜ｔ３１を合わせて、各キューの帯域使用量を対比すると、いずれも２５６バイトが公平に配分されていることを読み取ることが可能である。これにより、余剰帯域管理部２１での帯域管理を通じて、各キューでの使用帯域を公平に配分できるようになる。
【００９３】
このように、第１実施形態においては、ハードウェアで実現されるデータ出力装置２０により、余剰帯域について各キューでの使用帯域を、キュー毎に設定される設定帯域に基づいて高精度かつ公平に配分できるようになるという利点がある。
【００９４】
なお、図６の場合においては、各キュー♯０〜♯２においてはパケットデータを継続的に保持状態にあることを想定している。データ出力装置２０においては、エンプティ情報管理部１２で管理される保持状態に基づき、パケットデータが保持状態で無くなったキューについては、第１記憶部１３ａにおける対応する保証残余帯域（トークンバケット）についてもクリアすることが可能である。具体的には、帯域管理制御部１３において、エンプティ情報管理部１２で非保持状態となったキューについての保証残余帯域の値を０とする機能を具備する。従って、スケジューリング部２２では、パケットデータが保持されていないキューに対しては読み出し指示がなされない。
【００９５】
〔ｂ〕第２実施形態の説明
第１実施形態においては、第２加算部２１ｂで加算する使用設定帯域としては、キュー毎に同等の値を加算するようになっているが、この使用設定帯域としてはキュー毎に異なる値となるようにしてもよい。
【００９６】
第２実施形態においては、第２加算部２１ｂで加算する各キューについての使用設定帯域の値を、所定比率を有するようにしている。換言すれば、第２実施形態においても第１実施形態の場合と同様の要素１１〜１３，２１，２２からなるデータ出力装置２０とすることができるが、余剰帯域管理部２１をなす第２加算部２１ｂの機能が第１実施形態の場合と異なっている。尚、これ以外の要素については前述の第１実施形態の場合と基本的に同様である。
【００９７】
ここで、第２実施形態においては、キュー♯０，♯１，♯２についての使用設定帯域を、それぞれ、１２８バイト，６４バイト，６４バイトとしている。換言すれば、キュー♯０，♯１，♯２についての使用設定帯域を、２：１：１の比率を有するようにしている。
【００９８】
図７は、第２実施形態におけるデータ出力装置２０（図５参照）におけるパケット読み出し態様の一例を、特に余剰帯域使用モードに着目して示すタイムチャートである。
この場合においても、周期更新により一定時間τごとに保証残余帯域が更新される（図７のｔ１１，ｔ２１，ｔ３１）。これにより、それぞれの周期更新処理後は、宛て先に保証残余帯域を用いたパケットデータの読み出しおよび転送が行なわれる（図７のｔ１１〜ｔ１２、ｔ２１〜ｔ２２）。
【００９９】
そして、第１記憶部１３ａで記憶している各宛て先対応の保証残余帯域値が全て０以下となった場合には（図６のｔ１２，ｔ２２）、第１実施形態の場合と同様に、スケジューリング部２２では余剰帯域を用いたパケット転送のためのスケジューリングを行なう。
【０１００】
ここで、第２実施形態の場合においても、第２加算部２１ｂ（図５参照）においては、各キューに応じた設定残余帯域がいずれも０以下となったときに、これを契機として設定残余帯域を加算更新する。このとき、第１実施形態の場合と異なり、キュー♯０，♯１，♯２に対応付けられた設定残余帯域値に、それぞれ、使用設定帯域として１２８バイト，６４バイト，６４バイトを第２加算部２１ｂで加算して、第２記憶部２１ａでの設定残余帯域値として更新する。
【０１０１】
たとえば、時点ｔ５１では、全てのキュー♯０〜♯２対応の設定残余帯域値が０となるが、第２加算部２１ｂではこれを契機としてキュー♯０，♯１，♯２の設定残余帯域に対して、それぞれ上述の使用設定帯域を加算する。これにより、第２記憶部２１ａで記憶する設定残余帯域は、それぞれ、キュー♯０では１２８バイト、キュー♯１，♯２では６４バイトとなる（ｔ５２）。
【０１０２】
これにより、その後の余剰帯域使用モードｔ５３〜ｔ５４においては、キュー♯０での使用帯域を２５６バイトとする一方、キュー♯１，♯２においては１２８バイトとすることができる。換言すれば、使用設定帯域の比率に応じて余剰帯域を配分することができるようになる。
【０１０３】
このように、第２実施形態においては、ハードウェアで実現されるデータ出力装置により、余剰帯域について各キューでの使用帯域を、キュー毎に設定される設定帯域に基づいて、それぞれ適宜の重みを与えながら配分できるようになるという利点がある。
【０１０４】
〔ｃ〕第３実施形態の説明
上述の第１，第２実施形態においては、余剰帯域の全てをキューに対して均等又は比率で配分するようになっている。この他に、ユーザパケットとともに制御用のパケットについても余剰帯域を用いて一定量疎通させることが求められる系も想定できる。このような系においても、上述の制御用パケットの疎通を確保しながらも、余剰帯域についてのユーザパケットの配分を行なうことが求められる。
【０１０５】
そこで、第３実施形態においては、余剰帯域使用モード（Skipモード）においても、保証帯域使用モードの場合と同様に、第２加算部２１ｂ（図５参照）において、一定周期ごとに設定帯域を加算更新することとする。尚、そのときの加算値としては、各キューの設定残余帯域に対して個別の使用設定帯域の値とすることができる。
【０１０６】
図８は、第３実施形態におけるデータ出力装置２０（図５参照）におけるパケット読み出し態様の一例を、特に余剰帯域使用モードに着目して示すタイムチャートである。
第２実施形態においては、図７に示すように、保証残余帯域を周期更新（ｔ１１、ｔ２１、ｔ３１）する周期τあたり、余剰帯域としては３８４バイトの区間（ｔ１２〜ｔ２１、ｔ２２〜ｔ３１）が存在している。第３実施形態においては、各キューにおける設定残余帯域を加算更新する際には、上述の保証残余帯域の周期更新と同等の周期で加算更新するようになっている。
【０１０７】
すなわち、第３実施形態においては、各キューにおける設定残余帯域の値が０以下となっているかにかかわらず、一定周期τごとに加算更新するようになっている。又、各キューの設定残余帯域として第２加算部２１ｂで加算更新すべき使用設定帯域の値は、一例として、単位周期τあたり、キュー＃０では１９２バイト、キュー♯１，♯２ではともに６４バイトとしている。
【０１０８】
これにより、単位周期τ内に３８４−（１９２＋６４＋６４）＝６４バイト分のユーザパケット以外が使用できる隙間の帯域を設けることができる。制御用のパケット等については、上述の隙間帯域を利用して疎通させるようにすることで、制御用のパケットの一定量の疎通に影響を与えることなく、余剰帯域を宛て先毎のユーザパケット間で配分させることが可能となる。
【０１０９】
この図８に例示する場合においては、最初の余剰帯域の区間ｔ１２〜ｔ２１では、キュー♯０，♯１，♯２の設定残余帯域としては、それぞれ、当初１９２バイト，６４バイト，６４バイトが与えられている。この場合において、キュー♯０から１２８バイト長のパケットデータが、キュー♯１から６４バイト長のパケットデータが、キュー♯２から１２８バイト長のパケットデータが、余剰帯域を用いて順次スケジューリングされる（ｔ１３，ｔ１４，ｔ１５）。このとき、第２減算部２１ｃにおいては、各キュー対応の設定残余帯域の値について、それぞれのパケット読み出しのタイミングでパケット長の分だけ減算されて更新（リード更新）されている。
【０１１０】
その後、残存している余剰帯域においては、キュー♯０の設定残余帯域の値が未だ正の値である（６４バイト）。そこで、スケジューリング部２２では、キュー♯０に保持されているパケットデータ（ここでは６４バイト）を読み出すべく指示を行なう（ｔ１６）。ここで、丁度、単位周期τが経過したため、第１加算部１３ｂにおいては保証帯域を加算することにより保証残余帯域を更新するとともに、第２加算部２１ｂにおいては使用設定帯域を加算することにより設定残余帯域を更新する（ｔ２１）。
【０１１１】
ここでの余剰帯域の区間ｔ１２〜ｔ２１においては、トータルで１２８＋６４＋１２８＋６４＝３８４バイトのユーザパケットが出力されている。即ち、余剰帯域がすべてユーザパケットで占有されてしまったことになる。これは、キュー＃２から読み出されたパケットデータが、使用設定帯域としての６４バイトを越えるパケット長を有していたことに起因する。従って、この区間においては制御用パケットの疎通のための帯域としては確保されていない。
【０１１２】
しかしながら、第３実施形態においては、上述の制御用パケットの疎通のための帯域の不足分については、次なる余剰帯域区間ｔ２２〜ｔ３１で補填させることが可能である。即ち、次なる余剰帯域区間ｔ２２〜ｔ３１では、余剰帯域使用モードで、キュー♯１から６４バイト長のパケットデータがスケジューリングされる（ｔ２３）。
【０１１３】
このとき、キュー♯２についての設定残余帯域の値については、直近の設定残余帯域の更新（ｔ２１）によっても、０バイト（−６４バイト＋６４バイト＝０バイト）と正の値には復活していない。このため、キュー♯２で保持されているパケットデータの読み出しのためのスケジューリングは行われず、キュー♯０に保持されているパケットデータ（ここでは６４バイト長）がスケジューリングされることになる（ｔ２４）。
【０１１４】
その次は、キュー♯１、♯２とも設定残余帯域の値は０以下であるため、引き続き設定残余帯域の値が０以下となるまでキュー♯０で保持されるパケットデータがスケジューリングされる（ｔ２５，ｔ２６）。そして、キュー♯０の設定残余帯域が０となった時点で、全てのキュー♯０〜♯２についての設定残余帯域の値は０となるので、以降は、スケジューリング部２２においては、次の設定残余帯域の値の加算更新の時（ｔ３１）までユーザパケットのスケジューリングは行なわない。
【０１１５】
これにより、余剰帯域区間ｔ２２〜ｔ３１においては、ユーザパケットの設定残余帯域に基づくスケジューリングの後、３８４−（６４＋６４＋６４＋６４）＝（６４×２）バイト相当の隙間帯域Ｖを設けることが可能となる。即ち、２つの余剰帯域区間ｔ１２〜ｔ２１，ｔ２２〜ｔ３１により、６４バイトの隙間帯域を２個設けることが可能となる。換言すれば、余剰帯域区間の数に対応して、６４バイトの隙間区間を制御用パケットの疎通のために設けることができるのである。
【０１１６】
このように、第３実施形態によれば、前述の第１，第２実施形態の場合と同様の利点があるほか、余剰帯域をすべてユーザパケットで占有することなく、制御用パケット等の他のパケット疎通のための帯域として確保することが可能となり、構築すべきシステムに対して柔軟な対応を可能にする。
【０１１７】
また、キュー個別で保証帯域および余剰帯域の使用設定帯域を別に持つことができるので、キュー単位で、保証帯域使用モードおよび余剰帯域使用モードに応じた細かいサービスの提供が可能となり、ユーザとしてはパケット用途に応じて最適な設定を選択することが出来る。
【０１１８】
〔ｄ〕付記
（付記１）
出力回線への出力用データを入力され、前記出力用データを宛て先毎に保持するデータ保持部と、
該データ保持部における前記宛て先毎の出力用データの保持状態について管理する保持状態管理部と、
前記宛て先毎に与えられる保証帯域のもとでの、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する保証帯域管理部と、
前記保証帯域の合計に対して余剰する余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する余剰帯域管理部と、
該保証帯域管理部および該余剰帯域管理部からの各管理結果、ならびに、該保持状態管理部で管理する前記保持状態に基づいて、該データ保持部で保持するデータの前記出力回線への出力をスケジューリングするスケジューリング部と、をそなえたことを特徴とする、データ出力装置。
【０１１９】
（付記２）
該保証帯域管理部は、前記宛て先毎に与えられる保証帯域に対して対応する宛て先を有する出力用データの前記出力回線への出力帯域の残余分を、保証残余帯域としてそれぞれ管理するとともに、
該余剰帯域管理部は、前記余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記宛て先毎に設定される使用設定帯域に対して、対応する宛て先を有する出力用データの前記出力回線への出力帯域を余剰出力帯域としてそれぞれ管理することを特徴とする、付記１記載のデータ出力装置。
【０１２０】
（付記３）
該スケジューリング部は、該保証帯域管理部における管理の結果、前記保証残余帯域を有している宛て先が存在する場合において、該保持状態管理部での前記保持状態の管理の結果、当該宛て先を有する出力用データが該データ保持部で保持されている場合には、当該宛て先を有する出力用データを優先的に前記出力回線へ出力すべくスケジューリングすることを特徴とする、付記２記載のデータ出力装置。
【０１２１】
（付記４）
該スケジューリング部は、該保証帯域管理部における前記保証残余帯域の管理の結果、前記保証残余帯域を有している宛て先が存在せず、該余剰帯域管理部における前記余剰出力帯域の管理の結果、前記余剰出力帯域が前記使用設定帯域の範囲内にある宛て先が存在する場合において、該保持状態管理部での前記保持状態の管理の結果、当該宛て先を有する出力用データが該データ保持部で保持されている場合には、当該宛て先を有する出力用データを前記出力回線へ出力すべくスケジューリングすることを特徴とする、付記２記載のデータ出力装置。
【０１２２】
（付記５）
該スケジューリング部は、当該宛て先を有する出力用データとして、互いに異なる宛て先を有する複数の出力用データが該データ保持部で保持されている場合には、順次、該複数の出力用データを前記出力回線へ出力すべくスケジューリングすることを特徴とする、付記３又は４記載のデータ出力装置。
【０１２３】
（付記６）
該保証帯域管理部は、
前記保証残余帯域の値を前記宛て先毎に記憶する第１記憶部と、
前記宛て先毎に保証する単位時間あたりの保証帯域の値を、該第１記憶部で記憶する、対応する前記宛て先の前記保証残余帯域の値に加算することにより、前記保証残余帯域の値を更新する第１加算部と、
該データ保持部から前記出力回線に出力されたデータの前記宛て先ごとの帯域値を、該第１記憶部で記憶する対応する前記宛て先の前記保証残余帯域の値から減算することにより、前記保証残余帯域の値を更新する第１減算部と、をそなえたことを特徴とする、付記２記載のデータ出力装置。
【０１２４】
（付記７）
該余剰帯域管理部は、
前記使用設定帯域に対する前記余剰出力帯域の差分値を、設定残余帯域値として前記宛て先毎に記憶する第２記憶部と、
前記宛て先毎に設定する前記使用設定帯域の値を、該第２記憶部で記憶する対応する宛て先の前記設定残余帯域値に、それぞれ加算する第２加算部と、
前記保証帯域の合計に対して余剰する帯域を用いて前記出力回線へ前記出力用データを出力する際において、前記余剰出力帯域の値を、該第２記憶部で記憶する、対応する前記宛て先の前記設定残余帯域値から、それぞれ減算する第２減算部と、をそなえ、
該余剰帯域管理部は、前記余剰出力帯域を、前記使用設定帯域との差分値である前記設定残余帯域値として管理することを特徴とする、付記２記載のデータ出力装置。
【０１２５】
（付記８）
該第２加算部は、該第２記憶部で記憶する全ての宛て先における前記設定残余帯域の値が０以下となった場合に、前記加算を行なうことを特徴とする、付記７記載のデータ出力装置。
【０１２６】
（付記９）
該第２加算部は、前記宛て先毎の前記設定残余帯域の値に加算する前記使用設定帯域の値として単位時間当たり帯域の値を周期的に加算することを特徴とする、付記７記載のデータ出力装置。
【０１２７】
（付記１０）
前記宛て先毎に設定される使用設定帯域の値は、共通の帯域値であることを特徴とする、付記２記載のデータ出力装置。
【０１２８】
（付記１１）
前記宛て先毎に設定される使用設定帯域の値は、所定比率を有することを特徴とする、付記２記載のデータ出力装置。
【０１２９】
（付記１２）
該データはパケットデータであることを特徴とする、付記１〜１１のいずれか１項記載のデータ出力装置。
【０１３０】
（付記１３）
付記１〜１２のいずれか１項記載のデータ出力装置がそなえられた通信装置。
【０１３１】
（付記１４）
パケットネットワークに接続される通信装置を複数そなえるとともに、
該複数の通信装置間に接続されるレイヤ２スイッチをそなえ、
該複数の通信装置の少なくとも１つの通信装置は、
前記収容するパケットネットワークをなす出力回線への出力用データを該レイヤ２スイッチから入力され、前記出力用データを宛て先毎に保持するデータ保持部と、
該データ保持部における前記宛て先毎の出力用データの保持状態について管理する保持状態管理部と、
前記宛て先毎に与えられる保証帯域のもとでの、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する保証帯域管理部と、
前記保証帯域の合計に対して余剰する余剰帯域を用いて前記出力回線へ前記出力用データを出力する際において、該データ保持部で保持された前記出力用データの前記出力回線への出力を前記宛て先毎に管理する余剰帯域管理部と、
該保証帯域管理部および該余剰帯域管理部からの各管理結果、ならびに、該保持状態管理部で管理する前記保持状態に基づいて、該データ保持部で保持するデータの前記出力回線への出力をスケジューリングするスケジューリング部と、をそなえたデータ出力装置を有することを特徴とする、スイッチ装置。
【図面の簡単な説明】
【０１３２】
【図１】（ａ），（ｂ）はともにレイヤ２スイッチ装置を示す図である。
【図２】対比構成例としてのデータ出力装置を示す図である。
【図３】図２に示すデータ出力装置の作用について説明するための図である。
【図４】図２に示すデータ出力装置の作用について説明するための図である。
【図５】本実施形態におけるデータ出力装置を示す図である。
【図６】第１実施形態による作用を説明するための図である。
【図７】第２実施形態による作用を説明するための図である。
【図８】第３実施形態による作用を説明するための図である。
【符号の説明】
【０１３３】
１    レイヤ２スイッチ装置
２    架体
３    カード（通信装置）
４    ＣＰＵ盤
５    スイッチ
１０，２０    データ出力装置
１１    キュー管理制御部
１１ａ    パケットバッファ
１１ｂ    書き込み制御部
１１ｃ    読み出し制御部
１２    エンプティ情報管理部
１３    帯域管理制御部
１３ａ    第１記憶部
１３ｂ    第１加算部
１３ｃ    第１減算部
１４，２２    スケジューリング部
１５    設定レジスタ
２１    余剰帯域管理部
２１ａ    第２記憶部
２１ｂ    第２加算部
２１ｃ    第２減算部
【図１】
0005428203.tif 000002
【図２】
0005428203.tif 000003
【図３】
0005428203.tif 000004
【図４】
0005428203.tif 000005
【図５】
0005428203.tif 000006
【図６】
0005428203.tif 000007
【図７】
0005428203.tif 000008
【図８】
0005428203.tif 000009