(57)【特許請求の範囲】
【請求項１】
複数の入力回線のいずれかに対応して設けられ、論理的に複数の出力回線対応のキューに分割されたバッファメモリをそれぞれ有し、対応の前記入力回線を通して入力されたパケットを固定長パケットの形態で前記バッファメモリに一時的に蓄積する複数の入力バッファ部と；
前記複数の入力バッファ部から送出された前記固定長パケットを前記複数の出力回線のいずれかに送出するためのスイッチング動作を行うパケットスイッチ部と；
前記入力バッファ部からの前記固定長パケットの送出スケジューリング処理を前記出力回線の数に対応する複数の単位時間をかけ、かつ前記送出スケジューリング処理を前記入力回線の数に対応する複数並列で実施するパイプライン・スケジューリング処理手段と、一つのフレームを構成する前記固定長パケットの送出状態を前記入力回線毎に管理する送出状態管理手段とを有し、前記複数の出力回線のいずれかに対応して設けられる複数のスケジューラ部と；
前記複数のスケジューラ部のそれぞれにおける前記送出スケジューリング処理の結果情報を対応する前記入力バッファ部に通知する少なくとも一つの結果通知部とを備え；
前記複数並列の送出スケジューリング処理において同一フレーム対応の前記固定長パケットを送出中の前記入力回線を選択せず、選択確定後は同一フレーム対応の前記固定長パケットの送出完了まで同一入力回線の選択を維持するパケットスイッチ装置。
【請求項２】
前記スケジューラ部のそれぞれは、前記入力バッファ部に蓄積されている前記固定長パケットの送出要求情報を前記入力回線毎に管理する要求管理手段を更に有し、
前記パイプライン・スケジューリング処理手段は、前記要求管理手段からの前記送出要求情報と、前記スケジューラ部間を環状に接続する伝送媒体を通して入力される選択未確定情報と、前記スケジューラ部を相互に接続する伝送媒体を通して前記送出状態管理手段に入力される送出状態情報とに基づいて、前記固定長パケットの送出を行う前記入力回線対応の前記入力バッファ部を決定する請求項１記載のパケットスイッチ装置。
【請求項３】
前記結果通知部は、前記入力バッファ部が一つのフレームを構成する前記固定長パケットを送出中であるか否かを前記送出スケジューリング処理の結果情報に基づいて管理する管理手段と、
前記複数のスケジューラ部のそれぞれにおける前記結果情報を対応する前記入力バッファ部に通知する場合、一つのフレームを構成する前記固定長パケットの送出中に異なる前記スケジューラ部から入力された前記結果情報を廃棄する廃棄処理手段と、
を有する請求項１記載のパケットスイッチ装置。
【請求項４】
前記スケジューラ部及び前記結果通知部を前記複数の出力回線のいずれかに対応させて設け、かつ前記複数の出力回線の増加に応じて拡張可能に縦続接続する手段を備える請求項１記載パケットスイッチ装置。
【請求項５】
前記固定長パケットは、一つのフレームを構成し複数に分割された第１のパケットと、それぞれが一つのフレームを構成する第２のパケットとを含み、
前記第２のパケットのそれぞれにフレームエンド識別子を付加する手段を前記入力バッファ部の前段に備える請求項１記載のパケットスイッチ装置。
【請求項６】
前記パイプライン・スケジューリング処理手段は、前記入力バッファ部から送出された送出要求情報をＱｏＳクラス毎に管理し、前記出力回線におけるＱｏＳ帯域制御及びＱｏＳ優先制御結果に基づいて選択されるＱｏＳクラスに対して、前記送出スケジューリング処理を行う請求項１記載のパケットスイッチ装置。
【請求項７】
前記スケジューラ部のそれぞれは、所定時間内に前記入力バッファ部から入力された送出要求情報の数を計数する負荷観測手段と、
この負荷観測の結果を前記パイプライン・スケジューリング処理手段に通知する契機を前記入力バッファ部毎に一単位時間ずつシフトさせて指示する観測結果反映手段とを更に有し、
観測した前記送出要求情報の数の割合に応じて前記入力回線対応の前記入力バッファ部を選択する請求項１記載のパケットスイッチ装置。
【請求項８】
可変長データのフレームを複数の固定長パケットに変換して前記固定長パケット単位で、入力回線から出力回線にスイッチングするパケットスイッチ装置において；
複数の入力回線に対してそれぞれ設けられる複数の入力バッファ部と；
同一の前記フレームから生成された前記固定長パケットを同一の出力回線に送出完了するまで連続して読み出しできるようにスケジューリングするスケジューラとを設け；
前記スケジューラの指示に従って各入力バッファ部から前記固定長パケットを読み出してスイッチングするパケットスイッチ装置。
【請求項９】
複数の入力回線のいずれかに対応して設けられ、論理的に複数の出力回線対応のキューに分割されたバッファメモリをそれぞれ有し、対応の前記入力回線を通して入力されたパケットを固定長パケットの形態で前記バッファメモリに一時的に蓄積する複数の入力バッファ部からの、前記固定長パケットの送出スケジューリング処理を前記出力回線の数に対応する複数の単位時間をかけ、かつ前記送出スケジューリング処理を前記入力回線の数に対応する複数並列のパイプライン処理で実施する手順と；
一つのフレームを構成する前記固定長パケットの送出状態を前記入力回線毎に管理する手順と；
前記送出スケジューリング処理の結果情報を対応する前記入力バッファ部に通知する手順と；
前記複数並列の送出スケジューリング処理において同一フレーム対応の前記固定長パケットを送出中の前記入力回線を選択せず、選択確定後は同一フレーム対応の前記固定長パケットの送出完了まで同一入力回線の選択を維持する手順と；
を備えるスケジューリング制御方法。
【請求項１０】
前記入力バッファ部から送出された送出要求情報をＱｏＳクラス毎に管理し、前記出力回線におけるＱｏＳ帯域制御及びＱｏＳ優先制御結果に基づいて選択されるＱｏＳクラスに対して、前記送出スケジューリング処理を行う手順を更に備える請求項９記載のスケジューリング制御方法。
【請求項１１】
所定時間内に前記入力バッファ部から入力された送出要求情報の数を計数する手順と；
この負荷観測の結果を前記送出スケジューリング処理に反映させる契機を前記入力バッファ部毎に一単位時間ずつシフトさせて指示する手順と；
観測した前記送出要求情報の数の割合に応じて前記入力バッファ部を選択する手順とを更に備える請求項９記載のスケジューリング制御方法。
【請求項１２】
可変長データのフレームを複数の固定長パケットに変換して前記固定長パケット単位で、入力回線から出力回線にスイッチングするパケットスイッチ装置において；
複数の入力回線から入力する前記固定長パケットを各入力回線ごとに設けられる入力バッファに蓄積する手順と；
同一の前記フレームから生成された前記固定長パケットを同一の出力回線に送出完了するまで連続して読み出しできるようにスケジューリングする手順と；
前記スケジューリングで指示された前記入力バッファから前記固定長パケットを読み出す手順と；
を備えるスケジューリング制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は広帯域交換機、クロスコネクトスイッチ装置、及びルータ装置などに適用され、固定長パケットを伝送（特に、限定しないときは、交換、伝達及び転送を含む）するパケットスイッチ装置に関し、特に大規模パケットスイッチ装置の一構成法である入力バッファ型パケットスイッチ装置に関する。
【０００２】
本発明は、更に詳細には、セルと称される固定長パケットのスイッチングを行うパケットスイッチ装置（ＡＴＭスイッチ装置）において、ＩＰ（Internet Protocol）パケットのような可変長パケットが入力されたときでも効率的に伝送することを可能にするパケットスイッチ装置に関する。
【０００３】
【従来の技術】
近年のインターネット網の普及に伴い、ＩＰ通信ネットワークシステムにおけるＩＰデータ（音声情報を含む）のトラヒックが急激に増加しており、数年先には、ＩＰトラヒックが通信トラヒックの大多数を占めると考えられている。
【０００４】
この背景の一要因としては、ローカルエリアネットワーク（ＬＡＮ）の広帯域化等をはじめとするネットワーク技術の進歩と、パーソナルコンピュータ（ＰＣ）の多機能化及びＰＣに適用するＣＰＵの高速化等をはじめとするＰＣ技術の進歩とにともない、複数のＬＡＮ上のＰＣ間でデータだけではなく音声情報をも高速に通信することが実用的に可能になってきたことがある。
【０００５】
これにより、従来の電話による音声の通信を専用線、ＬＡＮ及びワイドエリアネットワーク（ＷＡＮ）などから構成されるインターネット網上のＰＣ間で実行するアプリケーションソフトウェアと、このソフトウェアを組み込んだハードウェアシステムとが急速に市場に投入されている。このシステムは、電話網とインターネット網などのＩＰパケット交換網とを統合することにより、設備及び運用などのコストを削減できる複合交換網システム、つまりＩＰ通信ネットワークシステムである。
【０００６】
上述したような通信ネットワークインフラの多様化・拡大状況の中、企業は、増え続ける通信トラヒックに対処するために、大容量でかつ効率的にＩＰパケットを伝送できる大規模パケットスイッチ装置を実現することを推進している。
【０００７】
ＩＰパケットは可変長のパケット形態で伝送されるが、厳密な可変長データのスイッチングはバイト単位に処理が必要なため、一般的には高速処理が必要であり、高速スイッチングが難しい。
【０００８】
そこで、可変長パケットを高速にスイッチングする手法として、可変長パケットをセルと同様に５３バイト長の固定長パケットに分割し、パケットスイッチ装置内では固定長パケットのスイッチングを行っている。しかし、パケットスイッチ装置からデータを送出する際に、分割された固定長パケットを分割前の元の可変長パケットに戻してパケットを伝送しなければならない。
【０００９】
ここで、従来のパケットスイッチ装置において、可変長パケットを固定長パケットに分割して転送する２つの手法について、図１を参照して説明する。
（１）スケジューラ部（図示省略）は、入力バッファ部を有する入力インタフェース部（入力ＩＮＦ）において、フレーム（複数の固定長パケットで構成される可変長データ）を意識せず、分割された固定長パケット毎にスケジューリングを行い、共通スイッチ部としてのパケットスイッチ（ＳＷ）に入力する。また、パケットスイッチ（ＳＷ）の後段の出力インタフェース部（出力ＩＮＦ）に設けられたフレーム組み立てのための出力バッファ部において、待ち合わせを行ってフレームの組み立てを行う（図１（Ａ）参照）。
【００１０】
（２）スケジューラ部（図示省略）は、入力バッファ部を有する入力インタフェース部（入力ＩＮＦ）において、フレームを意識し、同一フレームを構成するパケットを連続してスケジューリングし、パケットスイッチ（ＳＷ）に入力する。また、パケットスイッチ（ＳＷ）でフレーム単位にスイッチングを行った後、出力インタフェース部（出力ＩＮＦ）を通して出力回線（出力方路）に送出する（図１（Ｂ）参照）。
【００１１】
【発明が解決しようとする課題】
上記（１）の手法では、スケジューリングの際にフレームを意識しないため、固定長パケット毎にスケジューリングを実施する。そのため、スケジューリング処理を並列化させ、先行して次の周期のスケジューリングを行うパイプライン処理の適用が可能であり、処理の高速化を図れるという利点を持つ。その反面、出力インタフェース部において、フレーム単位にパケット送出を行うために、各入力回線（入力方路）からの固定長パケットを一旦蓄積し、フレームの組立処理が必要である。
【００１２】
この手法を採用したパケットスイッチ装置においては、出力インタフェース部毎に入力回線数対応のフレーム組み立てのためのバッファメモリが必要となる。従って、スイッチ規模の大きな装置では、多数の出力バッファメモリが必要である。
【００１３】
一方、上記（２）の手法では、フレーム単位のスイッチングにより、出力インタフェース部のフレーム組み立てのための出力バッファ部が不要になる利点を持つ。しかし、フレーム毎のスケジューリングを実現するために、フレーム送出中の入力回線に対して、他の出力回線がスケジューリングを行ってはならず、また一旦確定した入力回線はフレーム送出完了まで継続してスケジューリングする必要がある。
【００１４】
従って、スケジューリングの際に、現在どの入力回線がどの出力回線に対してフレーム送出中であるかという最新の情報を参照する必要があり、上述したパイプライン処理のようにスケジューリング処理を並列化させ、先行して次の周期のスケジューリングを行うことができない。この結果、一単位時間内に全回線のスケジューリングを実施する高速なスケジューラ部が必要となり、大規模パケットスイッチ装置での実現が困難である。
【００１５】
本発明の課題は、固定長パケットのスイッチングを行うパケットスイッチ装置において、ＩＰパケットのような可変長パケットが入力されたときでも効率的に伝送することを可能にするパケットスイッチ装置及びスケジューリング制御方法を提供することにある。
【００１６】
本発明の他の課題は、パイプライン処理により必要な処理速度の低減を図りつつ、フレーム単位のスケジューリング処理を可能にするパケットスイッチ装置及びスケジューリング制御方法を提供することにある。
【００１７】
本発明の別の課題は、フレーム組立のための出力バッファ部を必要としないパケットスイッチ装置及びスケジューリング制御方法を提供することにある。
【００１８】
【課題を解決するための手段】
上記課題を解決するために、本発明の第１のパケットスイッチ装置は、複数の入力回線のいずれかに対応して設けられ、論理的に複数の出力回線対応のキューに分割されたバッファメモリをそれぞれ有し、対応の前記入力回線を通して入力されたパケットを固定長パケットの形態で前記バッファメモリに一時的に蓄積する複数の入力バッファ部と；
前記複数の入力バッファ部から送出された前記固定長パケットを前記複数の出力回線のいずれかに送出するためのスイッチング動作を行うパケットスイッチ部と；
前記入力バッファ部からの前記固定長パケットの送出スケジューリング処理を前記出力回線の数に対応する複数の単位時間をかけ、かつ前記送出スケジューリング処理を前記入力回線の数に対応する複数並列で実施するパイプライン・スケジューリング処理手段と、一つのフレームを構成する前記固定長パケットの送出状態を前記入力回線毎に管理する送出状態管理手段とを有し、前記複数の出力回線のいずれかに対応して設けられる複数のスケジューラ部と；
前記複数のスケジューラ部のそれぞれにおける前記送出スケジューリング処理の結果情報を対応する前記入力バッファ部に通知する少なくとも一つの結果通知部とを備え；
前記複数並列の送出スケジューリング処理において同一フレーム対応の前記固定長パケットを送出中の前記入力回線を選択せず、選択確定後は同一フレーム対応の前記固定長パケットの送出完了まで同一入力回線の選択を維持する。
【００１９】
本発明の第２のパケットスイッチ装置は、上記第１のパケットスイッチ装置において、前記スケジューラ部のそれぞれは、前記入力バッファ部に蓄積されている前記固定長パケットの送出要求情報を前記入力回線毎に管理する要求管理手段を更に有し、
前記パイプライン・スケジューリング処理手段は、前記要求管理手段からの前記送出要求情報と、前記スケジューラ部間を環状に接続する伝送媒体を通して入力される選択未確定情報と、前記スケジューラ部を相互に接続する伝送媒体を通して前記送出状態管理手段に入力される送出状態情報とに基づいて、前記固定長パケットの送出を行う前記入力回線対応の前記入力バッファ部を決定する。
【００２０】
本発明の第１及び第２のパケットスイッチ装置においては、スケジューリング処理を入力回線数に対応して複数（Ｎ）並列で実行し、かつ全スケジューラ部共通のフレーム送出状態が設定された送出状態管理手段を参照して、自己スケジューラ部がフレーム送出中の場合は、継続して同一入力回線を選択し、フレーム送出中でない場合には、フレーム送出中の入力回線を選択しないようにしている。その結果、一つのフレームを構成する固定長パケットを連続して読み出すことが可能となる。また、並列処理により処理速度の低減が可能となる。
【００２１】
本発明の第３のパケットスイッチ装置は、上記第１のパケットスイッチ装置において、前記結果通知部は、前記入力バッファ部が一つのフレームを構成する前記固定長パケットを送出中であるか否かを前記送出スケジューリング処理の結果情報に基づいて管理する管理手段と、
前記複数のスケジューラ部のそれぞれにおける前記結果情報を対応する前記入力バッファ部に通知する場合、一つのフレームを構成する前記固定長パケットの送出中に異なる前記スケジューラ部から入力された前記結果情報を廃棄する廃棄処理手段とを有する。
【００２２】
本発明の第３のパケットスイッチ装置においては、Ｎ個の並列処理において、複数のスケジューラ部が同時に同一入力回線に対してスケジューリングを行った場合に、結果通知部（結果切り替え部）において、入力バッファ部に通知されるスケジューリング結果が１つだけになるように、後から通知されるスケジューリング結果を廃棄するようにしている。従って、各並列処理において競合が発生した場合にも、フレーム単位の読み出しを維持することができる。
【００２３】
本発明の第４のパケットスイッチ装置は、上記第１のパケットスイッチ装置において、前記スケジューラ部及び前記結果通知部を前記複数の出力回線のいずれかに対応させて設け、かつ前記複数の出力回線の増加に応じて拡張可能に縦続接続する手段を備える。
【００２４】
本発明の第４のパケットスイッチ装置においては、スケジューラ部と結果通知部とを出力回線毎に分散的に配備するようにしている。よって、スイッチ規模の拡張時に、新たなスケジューラ部と結果通知部とを追加することによって、オンラインでのスケジューラの拡張が可能になる。
【００２５】
本発明の第５のパケットスイッチ装置は、上記第１のパケットスイッチ装置において、前記固定長パケットは、一つのフレームを構成し複数に分割された第１のパケットと、それぞれが一つのフレームを構成する第２のパケットとを含み、前記第２のパケットのそれぞれにフレームエンド識別子を付加する手段を前記入力バッファ部の前段に備える。
【００２６】
本発明の第５のパケットスイッチ装置においては、ＡＴＭセル等のようにフレーム化を必要としない固定長パケットに対して、フレームの最終パケットを示す情報を付与するようにしている。従って、スケジューラ部では、単位フレーム長のパケットとして扱われるため、固定長パケットと可変長パケットを意識することなく、一元的に処理することが可能となる。
【００２７】
本発明の第６のパケットスイッチ装置は、上記第１のパケットスイッチ装置において、前記パイプライン・スケジューリング処理手段は、前記入力バッファ部から送出された送出要求情報をＱｏＳクラス毎に管理し、前記出力回線におけるＱｏＳ帯域制御及びＱｏＳ優先制御結果に基づいて選択されるＱｏＳクラスに対して、前記送出スケジューリング処理を行う。
【００２８】
本発明の第６のパケットスイッチ装置においては、入力バッファ部からの送出要求情報を入力回線毎かつＱｏＳクラス毎に管理するようにしている。そして、帯域、優先制御等のＱｏＳ制御により選択されたＱｏＳクラスについてスケジューリングを行うようにしている。従って、入力バッファ部において、パケットスイッチの出力回線におけるＱｏＳ制御を実現することができ、品質劣化ポイントを入力バッファ部のみに限定することができ、呼受付制御等の制御が容易に実現できる。
【００２９】
本発明の第７のパケットスイッチ装置は、上記第１のパケットスイッチ装置において、前記スケジューラ部のそれぞれは、所定時間内に前記入力バッファ部から入力された送出要求情報の数を計数する負荷観測手段と、
この負荷観測の結果を前記パイプライン・スケジューリング処理手段に通知する契機を前記入力バッファ部毎に一単位時間ずつシフトさせて指示する観測結果反映手段とを更に有し、
観測した前記送出要求情報の数の割合に応じて前記入力回線対応の前記入力バッファ部を選択する。
【００３０】
本発明の第７のパケットスイッチ装置においては、入力バッファ部から送出された送出要求情報を入力回線毎に計数する負荷観測手段を備え、計数した要求数を一定周期毎にパイプライン・スケジューリング処理手段に反映する。この反映する契機を入力回線毎に一単位時間ずつ遅らせて反映させるようにしている。これにより、反映契機が重ならないため、入力回線数の多い場合でも容易に処理することが可能となる。
【００３１】
本発明の第８のパケットスイッチ装置は、可変長データのフレームを複数の固定長パケットに変換して前記固定長パケット単位で、入力回線から出力回線にスイッチングするパケットスイッチ装置において；
複数の入力回線に対してそれぞれ設けられる複数の入力バッファ部と；
同一の前記フレームから生成された前記固定長パケットを同一の出力回線に送出完了するまで連続して読み出しできるようにスケジューリングするスケジューラとを設け；
前記スケジューラの指示に従って各入力バッファ部から前記固定長パケットを読み出してスイッチングする。
【００３２】
本発明の第８のパケットスイッチ装置においては、一つのフレームを構成する固定長パケットを連続して読み出すことが可能となる。
本発明の第１のスケジューリング制御方法は、複数の入力回線のいずれかに対応して設けられ、論理的に複数の出力回線対応のキューに分割されたバッファメモリをそれぞれ有し、対応の前記入力回線を通して入力されたパケットを固定長パケットの形態で前記バッファメモリに一時的に蓄積する複数の入力バッファ部からの、前記固定長パケットの送出スケジューリング処理を前記出力回線の数に対応する複数の単位時間をかけ、かつ前記送出スケジューリング処理を前記入力回線の数に対応する複数並列のパイプライン処理で実施する手順と；
一つのフレームを構成する前記固定長パケットの送出状態を前記入力回線毎に管理する手順と；
前記送出スケジューリング処理の結果情報を対応する前記入力バッファ部に通知する手順と；
前記複数並列の送出スケジューリング処理において同一フレーム対応の前記固定長パケットを送出中の前記入力回線を選択せず、選択確定後は同一フレーム対応の前記固定長パケットの送出完了まで同一入力回線の選択を維持する手順とを備える。
【００３３】
本発明の第１のスケジューリング制御方法においては、上記第１のパケットスイッチ装置と同様の効果を期待できる。
本発明の第２のスケジューリング制御方法は、上記第１のスケジューリング制御方法おいて、前記入力バッファ部から送出された送出要求情報をＱｏＳクラス毎に管理し、前記出力回線におけるＱｏＳ帯域制御及びＱｏＳ優先制御結果に基づいて選択されるＱｏＳクラスに対して、前記送出スケジューリング処理を行う手順を更に備える。
【００３４】
本発明の第２のスケジューリング制御方法においては、上記第６のパケットスイッチ装置と同様の効果を期待できる。
本発明の第３のスケジューリング制御方法は、上記第１のスケジューリング制御方法おいて、所定時間内に前記入力バッファ部から入力された送出要求情報の数を計数する手順と；
この負荷観測の結果を前記送出スケジューリング処理に反映させる契機を前記入力バッファ部毎に一単位時間ずつシフトさせて指示する手順と；
観測した前記送出要求情報の数の割合に応じて前記入力バッファ部を選択する手順とを更に備える。
【００３５】
本発明の第３のスケジューリング制御方法においては、上記第７のパケットスイッチ装置と同様の効果を期待できる。
本発明の第４のスケジューリング制御方法は、可変長データのフレームを複数の固定長パケットに変換して前記固定長パケット単位で、入力回線から出力回線にスイッチングするパケットスイッチ装置において；
複数の入力回線から入力する前記固定長パケットを各入力回線ごとに設けられる入力バッファに蓄積する手順と；
同一の前記フレームから生成された前記固定長パケットを同一の出力回線に送出完了するまで連続して読み出しできるようにスケジューリングする手順と；
前記スケジューリングで指示された前記入力バッファから前記固定長パケットを読み出す手順とを備える。
【００３６】
本発明の第４のスケジューリング制御方法においては、上記第８のパケットスイッチ装置と同様の効果を期待できる。
【００３７】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
〔入力バッファ型パケットスイッチ装置〕
（全体構成）
本発明の一実施の形態におけるパケットスイッチ装置の全体構成を示す図２を参照すると、入力バッファ型パケットスイッチ装置は、複数（Ｎ個）の入力バッファ部１，入力Ｎ×出力Ｍ・マトリックスのパケットスイッチ（共通スイッチ）２，複数（Ｍ個）のスケジューラ部３，及び結果切り替え部４を備える。
【００３８】
ここで、Ｎ個の入力バッファ部１は複数（Ｎ個）の入力回線（入力方路）対応のＮ個の入力インタフェース部（図５中の入力ＩＮＦ）にそれぞれ設けられる。Ｍ個のスケジューラ部３及び結果切り替え部４は、スケジューラ（スケジューリング制御装置）５を構成する。Ｎ×Ｍ・マトリックスのパケットスイッチ２からの複数（Ｍ個）の出力回線（出力方路）は、出力インタフェース部（図５中の出力ＩＮＦ）に収容される。
【００３９】
入力バッファ部１のそれぞれは、対応の入力回線からの固定長パケット（以下、特に限定する必要がないときは、単に「パケット」と記載する）をＭ個の出力回線に対応した論理キュー（ＦＩＦＯのバッファメモリ）毎にバッファリングする。コアスイッチとしてのパケットスイッチ２は入力バッファ部１から読み出したパケットをパケットヘッダのルーティングビットに従ってスイッチングする。
【００４０】
スケジューラ部３のそれぞれは入力バッファ部１からの送出要求（送出要求情報）を受けて、パケットスイッチ２の出力回線において競合が発生しないように読み出しを制御する。結果切り替え部４は出力回線毎のスケジューラ部３から受信したスケジューリング結果（スケジューリング結果情報）を対応する入力バッファ部１へ通知する。出力インタフェース部は低速回線への論理多重分離（ＤＭＵＸ）機能を有する。
【００４１】
上述した入力バッファ型パケットスイッチ装置においては、各入力バッファ部１に出力回線毎の論理キューを設けることにより、入力バッファ型パケットスイッチ装置構成の基本的特徴である低いメモリアクセス速度を実現しつつ、ＨＯＬ（Head of Line）ブロッキングを回避できる。また、メモリアクセス速度が低いので、汎用のＲＡＭを入力バッファ部１に適用可能であり、大容量のバッファメモリが実現できる。
【００４２】
（スケジューラ部の基本構成）
上記スケジューラ部３のそれぞれは、図３に示すような基本構成を採る。Ｍ個の出力回線に対応してそれぞれ設けられるＭ個のスケジューラ部３は同一構成である。  各スケジューラ部３において、要求管理部３１は入力バッファ部１からの送出要求情報を各入力回線（＃０…＃Ｎ−１）毎に管理する。Ｎ個のスケジューリング処理部（＃０…＃Ｎ−１）３２は自己対応の出力回線のスケジューリング処理をＮ並列で処理する。フレーム送出状態管理部３３はフレーム送出中の入力回線番号とその出力先（現在、フレーム送出中の出力回線番号）とを管理する。
【００４３】
スケジューリング結果通知部３４はスケジューリング処理部３２において確定されたスケジューリング結果情報を各シーケンス（パイプライン処理）毎に保持し、所定の時刻に保持していたスケジューリング結果情報（入力回線番号、スケジューラ番号を含む）を結果切り替え部４に送出する。なお、図３中、ＤＩＳは分配部、ＳＥＬはセレクタである。
【００４４】
スケジューリング処理部３２は、スケジューラ部間を環状に接続するリンクを通して入力される未確定情報と、スケジューラ部３を相互に接続するバスを通してフレーム送出状態管理部３３に入力されるフレーム送出状態情報と、入力バッファ部１からの送出要求情報とに基づいて、パケットの送出を行う入力回線を決定する。
【００４５】
（結果切り替え部の基本構成）
上記結果切り替え部４は図４に示すような基本構成を採る。結果切り替え部４において、切り替えスイッチ部４１はスケジューラ部３から入力された入力回線番号及びスケジューラ番号を含むスケジューリング結果情報を、結果を通知するべき入力バッファ部１の方路へスイッチングする。フレーム送出管理部４２は入力バッファ部１の数に対応してＮ個設けられる。各フレーム送出管理部４２は、対応の入力バッファ部１がフレーム送出中であるかを管理する。
【００４６】
廃棄処理部４３は入力バッファ部１の数に対応してＮ個設けられる。各廃棄処理部４３はフレーム送出管理部４２の指示に従いスケジューリング結果情報を廃棄する。結果切り替え部４は、スケジューラ部３からのスケジューリング結果情報を各入力バッファ部１へ通知すると同時に、フレーム送出中に異なるスケジューラ部３から要求が入力された場合、その結果を廃棄して競合制御を行う。
【００４７】
〔スケジューリング処理〕
図２及び図５を併せ参照して、一つのフレームを構成する複数の固定長パケットを連続して読み出す制御について説明する。
【００４８】
入力バッファ型パケットスイッチ装置の入力インタフェース部（入力ＩＮＦ）に設けられる入力バッファ部１のそれぞれは、論理的に出力回線（出力方路）毎に分かれた複数の論理キュー（ＦＩＦＯのバッファメモリ）を有する。スケジューラ部３がフレームを意識せずにスケジューリングを行った場合、図５（Ａ）に示すように、パケットスイッチ（ＳＷ）２の一つの出力回線上では、他の入力回線から到着したパケットによって、フレーム構成が崩れてしまう。
【００４９】
フレーム構成を崩さないためには、図５（Ｂ）に示すように、一つの入力回線からのパケットをある一つの出力回線に対して送出し始めた場合、それ以降必ず同一入力回線からのパケットをその出力回線に対して送出できるように、スケジューリングを行う必要がある。
【００５０】
このため、スケジューラ部３は、一度確定した入力回線に対して、その入力回線からの一フレーム分のパケットを送出完了するまで継続してスケジューリングを行うとともに、未確定の状態のときには、既にフレームを構成するパケットを送出中（以下、フレーム送出中と記載する）の入力回線を選択しないようにする。
【００５１】
次に、具体的なスケジューリング処理手法について説明する。ここでは、説明の簡略化のため、４入力・４出力構成の入力バッファ型パケットスイッチ装置１に基づいて説明する。
【００５２】
図２及び図３を併せ参照すると、スケジューラ部３の要求管理部３１は、入力バッファ部１から入力された（到着した）要求情報中の出力回線番号が自己スケジューラ番号と一致した場合に、入力回線番号（要求情報の入力ポート番号から判断可能）に対応したカウンタをインクリメント（＋フレーム長）し、またスケジューリング処理により、確定した入力回線に対応するカウンタをデクリメント（−１）することで、要求数を管理している。
【００５３】
そして、要求管理部３１は、この要求数が１以上の入力回線をスケジューリング要求ありと判定する。要求情報は出力回線番号、ＱｏＳクラス、及びフレーム長からなり、入力バッファ部１にフレームの最後の固定長パケットが到着した時に通知される。
【００５４】
この要求管理部３１の動作フローを示す図６を参照すると、要求管理部３１は、入力バッファ部１からの要求情報の到着イベントか、スケジューラ部３のスケジューリング終了イベントであるかを判定する（処理手順Ｓ６１）。次に、入力バッファ部１からの要求情報到着の場合、到着情報が自己スケジューラに対するものか否かを、要求情報の出力回線番号Ｏｕｔ−Ｎｏ．と予め設定される自己スケジューラ番号ＳＣＨ−Ｎｏ．との比較により判定する（Ｓ６２）。
【００５５】
自己スケジューラ宛で無い場合は処理を終了し、自己スケジューラ宛の場合は、要求情報の入力回線番号に対応する要求管理カウンタＲｅｑ．ｃｎｔをインクリメント（＋フレーム長）する（Ｓ６３）。次に、要求数が１以上を示す入力回線毎のフラグをセットする、つまり要求数有無表示レジスタＲｅｑ．ｒｅｇに”１”を設定する（Ｓ６４）。
【００５６】
一方、スケジューラ部３のスケジューリング終了イベント発生時には（Ｓ６１）、確定した入力回線に対応する要求管理カウンタＲｅｑ．ｒｅｇをデクリメント（−１）する（Ｓ６５）。要求管理カウンタＲｅｑ．ｒｅｇの内容の”０”判定を行い、カウンタ値が”１”以上であれば処理を終了し、”０”の場合には、要求数の有無を示すフラグをクリアする、つまり要求数有無表示レジスタＲｅｑ．ｒｅｇに”０”を設定する（Ｓ６６，Ｓ６７）。
【００５７】
次に、スケジューラ部３のスケジューリング処理部３２は、図７中の上部に示すタイムスロット図のように、１回のスケジューリング処理を４単位時間かけて、この処理を４パラレル処理で実現する。スケジューリング対象となるスケジューラ番号及びパイプラインシーケンスは、全スケジューラ共通の処理シーケンス（図７上部のタイムスロット図）に従って与えられる。この例では、時刻Ｔ＝ａにおいて、出力回線＃２のパイプラインシーケンス＃０、出力回線＃１のパイプラインシーケンス＃１、出力回線＃４のパイプラインシーケンス＃２、及び出力回線＃３のパイプラインシーケンス＃３の処理が並列処理で実行される。
【００５８】
スケジューリング指示を受けたスケジューラ部３は、未確定情報、要求情報、及びフレーム送出状態情報を参照してスケジューリングを行う。これらの情報はすべて各入力回線に対応したビットマップレジスタに格納される。
【００５９】
未確定情報は、図７中、「Ａ」と表記されたレジスタに格納され、”０”，”１”によってその入力回線が未確定であるか既に確定済みであるかを表す。また、要求情報は、図７中、「Ｂ」と表記されたレジスタに格納され、要求管理部３１の要求数が１以上の入力回線に対して”１”が設定され、要求数の有無を表す。フレーム送出状態情報は、図７中、「Ｃ」と表記されたレジスタに格納され、フレーム送出状態管理部３３において設定され、各入力回線がフレーム送出中（”１”）であるかを示す。
【００６０】
次に、スケジューラ部３のフレーム送出状態管理部３３は、各入力回線に対応した上記フレーム送出状態を示すビットマップのレジスタ（初期値０）を有しており、スケジューリングにより確定した入力回線に対するこのレジスタのビットが”０”のとき（”０”はフレームの先頭パケットに対するスケジューリングを意味する）、レジスタに”１”を設定する。そして、フレームの最終パケットに関するスケジューリングが行われたときに、このビットをクリアする。このレジスタにより、”１”の設定されている入力回線がフレーム送出中であることを知ることができる。
【００６１】
フレームの最終パケットに関するスケジューリングであるか否かは、図８に示す処理により知ることができる。この処理はフレーム送出状態管理部３３において実施され、各入力回線に対応したスタートポインタＳＰ及びエンドポインタＥＰと、フレーム長が設定されたリンクテーブルとを有する。
【００６２】
このリンクテーブルはフレーム長カウンタの役割を果たし、スタートポインタＳＰ及びエンドポインタＥＰは各入力回線のリンクテーブルの先頭アドレス及び最終アドレスをそれぞれ示す。入力回線毎にフレーム長をリンクテーブルで管理し、スケジューリング確定時にこのフレーム長の値を減算してゆき、フレーム長＝０になったとき、フレームの最終パケットに対するスケジューリングと見なす。
【００６３】
一層具体的に動作例を説明すると、入力回線＃０には、フレーム長「２→５→３」の要求情報が、かつ入力回線＃Ｎ−１には、フレーム長「３→５」の要求情報が既に到着しており、これらの情報がリンクテーブルに設定されているとする。
【００６４】
ここでは、スケジューリング処理の結果、入力回線＃０が確定したとする。この場合、対応する入力回線のスタートポインタＳＰを参照し、スタートポインタＳＰが示す値”ａ”をリンクテーブルのアドレスとして、フレーム長情報を参照して更新（−１減算）を行う（図８（Ａ）参照）。
【００６５】
次のスケジューリング周期で再び入力回線＃０が選択され、上記処理と同様にリンクテーブルの減算を行うとフレーム長が”０”になる。このフレーム長”０”をもって最終パケットのスケジューリングであるか否かを判定し、入力回線＃０のフレーム送出状態レジスタをクリアする。そして、入力回線＃０のスタートポインタＳＰをＮｅｘｔのフィールドに設定された値に更新する（図８（Ｂ）参照）。
【００６６】
また、新たに要求情報が到着した場合には、エンドポインタＥＰが示すアドレスにフレーム長と次のアドレスとを書き込み、エンドポインタＥＰを更新する（図８（Ｃ）参照）。上記処理を繰り返すことにより、フレームの最終パケットに対するスケジューリングであるか否かを判定する（図８（Ｄ）参照）。
【００６７】
なお、上述した動作例では、図８に示す処理をスケジューラ部３のフレーム送出状態管理部３３に行わせているが、入力バッファ部１で実施させてもよい。その場合、入力バッファ部１からパケットが送出されたときに上記処理を行い、フレーム最終パケットと判定されたとき、その旨を要求情報と一緒にスケジューラ部３のフレーム送出状態管理部３３に通知する。
【００６８】
次に、図７を参照してフレーム単位のスケジューリング動作を説明する。時刻Ｔ＝ａにおいて、全ての入力回線が未確定であり、スケジューラ部＃１及びスケジューラ部＃２は全ての入力回線から送出要求を受けており、全ての入力回線はフレーム未送出状態であるとする。
【００６９】
スケジューリングアルゴリズムとしては、ＳＲＲ（Sequential Round Robin）方式を採用することができる。このＳＲＲ方式は各入力バッファ部間に優先度を与え、優先度の高い入力バッファ部においてどの出力回線に対応する論理キューから読み出すかを、入力負荷に応じたラウンドロビン制御により決定していく手法である。入力バッファ部の優先度はタイムスロット毎に決まった順序でシーケンシャルに与える。なお、このスケジューリングアルゴリズムの詳細については、特願平１０−３５５８８８号（Ｈ１０．１２．１５）や、特願平１０−２４５３３１号（Ｈ１０．８．３１）などを参照できる。
【００７０】
このスケジューリングアルゴリズムに基づいて、要求情報があった未確定の入力回線で、かつフレーム未送出の入力回線の中からひとつが選択される。つまり、ポインタが示す入力回線からサーチして上記条件を満足する入力回線で最初に検出されたものを選択する。
【００７１】
図７に示す例では、スケジューラ部＃２が入力回線＃３を選択したとする。その結果、入力回線＃３対応のフレーム送出状態情報のレジスタＣ及び未確定情報のレジスタＡにそれぞれ”１”が設定され、スケジューリングが確定した入力回線番号を保持しておく。この保持レジスタを以降スケジューリングレジスタと称する。また、この処理と並行してスケジューラ部＃１では、同様の手順で入力回線＃２を確定し、フレーム送出状態情報のレジスタＣ、未確定情報のレジスタＡ及びスケジューリングレジスタをそれぞれ更新する。
【００７２】
次のスケジューリング処理の際、スケジューリングレジスタが設定されている場合は、設定されている入力回線を選択する。また、設定されていない場合は、フレーム送出状態情報レジスタＣが”０”のフレーム未送出の入力回線であり、未確定、かつ要求がある入力回線の中からスケジューリングを行う。
【００７３】
この例では、前スケジューリング処理において、スケジューリングレジスタが設定されているため、次のスケジューリング時は、スケジューリングレジスタに設定された入力回線、つまりスケジューラ部＃２は入力回線＃３、スケジューラ部＃１は入力回線＃２を選択する。なお、フレーム送出状態管理部３３より、最終フレームである旨の通知を受けたとき、このスケジューリングレジスタはクリアされる。
【００７４】
当然のことながら、スケジューラ部＃４及びスケジューラ部＃３のスケジューリング処理では、フレーム送出状態情報が設定されている入力回線＃２及び入力回線＃３を選択することはできない。
【００７５】
このように、上記処理により、一つの入力回線について一フレーム連続してスケジューリングを行い、またフレーム送出中の入力回線を選択しないようにしているため、フレーム単位での読み出しを実現するとともに、高いスループット性能を得ることができる。
【００７６】
図９はスケジューリング処理フローを示す。スケジューリング処理においては、まずフレーム送出（送出中）フラグがセットされているか否かを判定する（処理手順Ｓ９１）。初期のフラグはリセット状態であるため、Ｓ９２において、スケジューリングモードの判定処理を行う。
【００７７】
負荷観測モード（負荷読み出しモード）でない場合は、未確定、要求あり、かつフレーム未送出状態の入力回線の中から一つの入力回線を選択する（Ｓ９４）。負荷観測モードの場合は、未確定、要求あり、フレーム未送出状態、かつ累積カウンタ（図１９中のＬＤ．ｒｅｇに対応）の内容が１以上の状態の入力回線の中から一つの入力回線を選択する（Ｓ９５）。
【００７８】
次に、Ｓ９６において、選択した確定入力回線をフレーム送出中の入力回線として保持し、Ｓ９７において、フレーム送出フラグをセットする。続いて、Ｓ９８において、フレームエンドか否かの判定を行う。フレームエンドの場合は、フレーム送出フラグをクリアして処理を終了する（Ｓ９９）。
【００７９】
一方、フレームエンドで無い場合は、次のスケジューリング処理において、再びＳ９１の判定を行う。ここでは、既にフレーム送出フラグがセットされているため、Ｓ９３において、Ｓ９６で保持しておいた入力回線を選択する。続いて、Ｓ９７でフレーム送出フラグをセットする処理の後、Ｓ９８でフレームエンド判定を行い、以降、フレームエンドになるまで上記処理を繰り返す。
【００８０】
なお、上記処理によってスケジューリングされた結果は、各パイプラインシーケンス毎に保持され、各パイプラインシーケンス終了時（図７中、太線が記されたスロット）、結果切り替え部４に通知され、確定された入力バッファ部に対して読み出し指示の結果情報が通知される。
【００８１】
上述したスケジューリング処理では、同一時刻に確定したスケジューリング結果が異なっていたが、同じ入力回線に対してスケジューリングを行ってしまった場合の処理について、図１０を参照して説明する。
【００８２】
通常は、未確定情報を参照しているため、異なる出力回線対応のスケジューラ部３が同一入力回線を選択することは無い。しかし、上述したように未確定の状態においては、各スケジューラ部に対して全ての入力回線が未確定として通知されるため、スケジューリング処理によっては、同一入力回線を選択することが起こり得る。
【００８３】
図１０に示す例では、時刻Ｔ＝ｂにおいて、スケジューラ部＃２及びスケジューラ部＃１が同一入力回線＃Ｎ−１に対してスケジューリングを行っている。このスケジューリング結果は、上述したようにパイプライン毎に保持され、パイプライン処理の最後に結果切り替え部４に通知される。従って、パイプラインシーケンス＃０の結果は時刻Ｔ＝ｄで、かつパイプラインシーケンス＃１の結果は時刻Ｔ＝ｅで通知されることになる。すなわち、スケジューラ部＃２のスケジューリング結果がスケジューラ部＃１の結果より先に結果切り替え部４に通知される。
【００８４】
結果切り替え部４では、各スケジューラ部３のフレーム送出状態管理部３３（図３参照）と同様のフレーム送出管理部４２（図４参照）を備えており、各入力バッファ部１がフレーム送出中であるか否かを以下の制御により管理している。
【００８５】
つまり、結果切り替え部４では、新たにスケジューラ部３からスケジューリング結果情報が到着したとき、フレーム送出管理用レジスタに”１”をセットし、フレームの最終パケットに対する結果が到着したときにクリアする。結果切り替え部４は、”１”が設定されている間をフレーム送出中とみなす。結果切り替え部４では、上記動作例の様にフレーム長管理制御は行わなくてもよい。その場合、スケジューラ部３において判定した結果（フレームの最終パケットに関するスケジューリングであるか否か）をスケジューリング結果と一緒に結果切り替え部４に通知し、結果切り替え部４ではその情報を基に上記フレーム送出状態の管理を行う。
【００８６】
結果切り替え部４では、時刻Ｔ＝ｄにおいて、スケジューラ部＃２の結果が到着したことにより、入力回線＃Ｎ−１のフレーム送出管理用レジスタはフレーム送出中フラグ（”１”）がセットされると同時に、スケジューラ番号（＃２）が保持される。そして、時刻Ｔ＝ｅにおいて、入力回線＃Ｎ−１に対するスケジューリング結果がスケジューラ部＃１から到着したとき、フレーム送出状態情報とスケジューラ番号とのチェックを行う。フレーム送出管理部＃Ｎ−１はフレーム送出中（”１”）で、かつ保持したスケジューラ番号と到着したスケジューラ番号とが異なる場合に、廃棄処理部４３（図４参照）に対して到着結果（スケジューリング結果）情報を廃棄するよう指示を行う。
【００８７】
この例では、保持されたスケジューラ番号が＃２で、かつ到着したスケジューラ番号が＃１であるため、このスケジューラ部＃１から来たスケジューリング結果情報は廃棄されることになる。廃棄を行った場合には、結果切り替え部４はスケジューラ部３に対して廃棄された旨を通知する。このとき、スケジューラ部３ではスケジューリングが完了したときに行う処理（要求管理数のデクリメント等）を実行しないようにする。
【００８８】
このように、同一時刻に同一入力回線に対してスケジューリングが行われた場合にも、最初に入力バッファ部１に通知されたスケジューリング結果以外は入力バッファ部１に通知されないため、フレーム毎の読み出しが可能になる。
〔スケジューラの拡張構成〕
次に、スケジューラ５の拡張構成法について、図１１を参照して説明する。スケジューラ部３はパケットスイッチの出力回線毎に設けることが可能である。このとき、入力バッファ部１とスケジューラ部３間の情報（要求通知及びスケジューリング結果通知）が膨大になることを回避するため、各入力バッファ部１からの要求情報（Ｒｅｑ＃０…Ｒｅｑ＃Ｎ−１）をひとつのスケジューラ部３で受信し、その情報を他のスケジューラ部３へ通知する構成を採る。また、スケジューリング結果情報（Ａｃｋ＃０…Ａｃｋ＃Ｎ−１）も各スケジューラ部３から個々に通知するのではなく、結果切り替え部４を経由して一括して通知するようにする。
【００８９】
出力回線対応の各スケジューラ部３はスケジューリング要求情報の入力ハイウェイ（ＨＷ）と拡張出力ハイウェイ（ＨＷ）とを備える。そして、受信したスケジューリング要求情報をそのまま拡張出力ハイウェイへ出力することで、各スケジューラ部３へ要求情報を通知する。さらに、スケジューリング結果を入力バッファ部１へ通知する結果切り替え部４を出力回線毎に対応させて設け、１入力ハイウェイとＮ出力ハイウェイ及びＮ拡張入力ハイウェイとからなる１ｘＮ構成の結果切り替え部４とする。
【００９０】
拡張時はスケジューラ部３と結果切り替え部４とのセット（同図中、点線で囲んだ部分）を追加することによってスケジューラ（スケジューリング制御装置）５の拡張が可能となる。さらに、運用中においても現在運用されている部分を止めることなく随時拡張が可能であり、インサービスでの増設が可能である。
【００９１】
上記拡張例では、スケジューラ部３に拡張出力ハイウェイを設けているが、図１２に示すように、各スケジューラ部３に同一の要求情報を分岐するバス構成を採ってもよい。
【００９２】
〔可変長パケット及び固定長パケットの混在収容〕
次に、可変長パケット及び固定長パケットを入力バッファ型パケットスイッチ装置に混在収容する構成例について、図１３を参照して説明する。例えば、ＡＴＭ（非同期転送モード：Asyncronous Transfer Mode）セルなどの固定長パケットはパケットスイッチ装置から出力する際にフレームを構成して出力させる必要はない。このようなフレーム化が不必要なサービスの固定長パケットと、ＩＰパケットの様にフレーム化が必要なサービスの可変長パケットとを混在収容する場合について説明する。
【００９３】
インタフェース（入力インタフェース部）毎に収容サービスが異なる場合は、ＡＴＭセルを収容するフレーム化の必要の無いインタフェースでは、全てのパケットに対してフレームの最終パケットを意味する識別子を付与するパケットタイプ付与部６を入力インタフェース部などに設ける。この識別子は、パケットのヘッダ部分の空き領域を使用するか、スケジューラ部に通知するための別経路を設けることにより容易に実現される。その結果、入力バッファ部１あるいはスケジューラ５では、固定長パケットをフレーム長＝１の可変長パケットと見なして処理することができ、サービスを意識してスケジューリング処理を変える必要はない。
【００９４】
可変長パケットはパケットタイプ付与部６の前段で固定長に分割され、各分割パケットには装置内ヘッダが付与されるとともに、一つのフレームを構成する最終パケットだけにはパケットタイプ付与部６によってフレームエンド識別子が付与される。よって、同一スイッチ内に様々なサービスのデータパケットを混在収容することができる。
【００９５】
なお、上述した例では、インタフェース種別毎に全てフレームエンド識別子を付与するか否かを決定するようにしているが、同一インタフェースに複数のサービス形態のパケットが収容される場合には、そのサービス種別を識別し、そのサービス毎に全てのパケットのエンド識別子を付けるか否かを決定してもよい。ここで、入力バッファ型パケットスイッチ装置の他の各構成要素は、図２に示す構成または上述した各構成例を採ることができる。
【００９６】
〔ＱｏＳ制御機能を有するスケジューラ部〕
次に、ＱｏＳ制御構成法について、図１４，図１５及び図１６を参照して説明する。
【００９７】
一般的には、図１４（Ａ）に示すように、入力バッファ型パケットスイッチ装置の出力回線においてＱｏＳが保証されるようにＱｏＳ制御を実施する。ＱｏＳ制御は、ＱｏＳクラス毎に予め決められた帯域に出力データをシェーピング（帯域制限）することで、Ｂｅｓｔ  Ｅｆｆｏｒｔサービスから帯域、遅延を重視するＧｕａｒａｎｔｅｅｄサービスクラスの品質を保証したり、遅延を重視するＱｏＳクラスを優先的に送出する優先制御等によって、各ＱｏＳクラスの品質を保証することを目的としている。
【００９８】
入力バッファ型パケットスイッチ装置では、基本的には出力側にバッファ部を有していないため、入力バッファ部からパケットを読み出す際に、予め出力回線のＱｏＳ制御を行った上で、スケジューリング処理を行うことにより、スイッチ装置の出力回線におけるＱｏＳ保証を実現する。
【００９９】
ここでは、スケジューラ（スケジューリング制御装置）においてＱｏＳ制御を行う場合について説明する。図１５を参照すると、スケジューラのスケジューラ部３は、要求管理部３１において、入力バッファ部１から受信した要求情報を入力回線毎かつＱｏＳクラス毎に管理する。ＱｏＳ制御部３５は、上述したように予め設定された帯域を満足しており、かつ優先制御の優先順序に従って送出ＱｏＳクラスを決定する。
【０１００】
スケジューリング処理部３２では、指定されたＱｏＳクラスの要求情報をもとにスケジューリング処理を実施する。例えば、出力回線＃ａでは、ＱｏＳクラス＃０が最優先で、次にＱｏＳクラス＃１が高い優先クラスとする。ＱｏＳクラス＃０が最優先であるため、ＱｏＳクラス＃０に要求があれば、スケジューリング対象ＱｏＳクラスをＱｏＳ＃０と決定する。ＱｏＳクラス＃０に要求が無ければＱｏＳ＃１をスケジューリング対象ＱｏＳクラスとする。
【０１０１】
帯域制御を行う場合は、設定された帯域（＝１／帯域の間隔）で読み出し指示を与える回路（例えば、リーキバケット回路）を用いて、各ＱｏＳクラスが送出間隔を満たしているかをチェックし、送出間隔を満たしているＱｏＳクラスの中で、優先度の高いＱｏＳクラスをスケジューリング対象ＱｏＳクラスとする。
【０１０２】
このように、入力バッファ部１からのパケット読み出し時に、出力回線におけるＱｏＳ制御結果を反映させてスケジューリングを行うことにより、出力回線側にバッファ部が無くても出力回線におけるＱｏＳ保証を実現することができ、品質劣化点を入力バッファ部１のみにすることができる。これは、呼受付制御等の処理が入力バッファ部１の一箇所だけで済むため、呼受付処理などの制御が容易になるメリットがある。
【０１０３】
また、図１４（Ｂ）に示すように、パケットスイッチ装置の出力側、つまり出力インタフェース部（出力ＩＮＦ）に低速回線への多重分離部（ＤＭＵＸ）がある場合も上記と同様の制御で実現できる。
【０１０４】
この場合、スケジューラ部３の要求管理部３１において、ＤＭＵＸの出力ポート（＃０…＃ｊ−１）毎、かつ入力回線（＃０…＃Ｎ−１）毎及びＱｏＳクラス（ＱｏＳ＃０…＃ｑ−１）毎に要求情報を管理する。要求管理部３１は出力ポートの数に対応してｊ個設けられる。そして、スケジューリングを行う前に、まずスケジューリングを行うＤＭＵＸポートを決定する。例えば、ｍｏｄ．４のＤＭＵＸであれば、４単位時間を１周期として、ポート１→ポート２→ポート３→ポート４→ポート１→ポート２……という順序でＤＭＵＸポートが選択される。
【０１０５】
スケジューリング処理部３２は、指定されたポート番号（＃０…＃ｊ−１）で、かつＱｏＳ制御部３５によって指示されたＱｏＳクラス（ＱｏＳ＃０…＃ｑ−１）の要求情報を用いてスケジューリングを行うことで、低速回線収容時にもＱｏＳ保証を実現することができる。
【０１０６】
図１６にＱｏＳ制御フローを示す。処理手順Ｓ１６０２，Ｓ１６０２，Ｓ１６０３は、ＱｏＳクラス毎のリーキバケット処理を示している。Ｓ１６０１において、各ＱｏＳクラスのリーキバケットカウンタ（ＬＢＣ）に加算値ａ（ここでは、＋１）を加え、Ｓ１６０２，Ｓ１６０３によりＱｏＳクラスを変えてＱｏＳクラス分の処理を行う。
【０１０７】
Ｓ１６０４では、ＬＢＣの値が設定された閾値（ＴＨ＝０）以上であるかを判定する。この閾値以上の状態は、一定のレートで読み出し可能であることを示し、Ｓ１６０５において読み出し可能ＱｏＳとしてフラグを”１”にセットし、ＬＢＣをデクリメント（−ｂ）する。このＬＢＣの減算値ｂは回線レートをそのＱｏＳのレートで除算して求められる。
【０１０８】
ＬＢＣが閾値未満の場合は、Ｓ１６１０においてフラグを”０”にセットする。そして、Ｓ１６０７においてフラグ判定を行い、フラグが”１”に設定されていれば、Ｓ１６１１においてスケジューリング処理を行い、そうでなければＳ１６０８においてＱｏＳクラス（ｑ）を変えて、再びＳ１６０４から処理を繰り返す。
【０１０９】
なお、Ｓ１６０６及びＳ１６０９は、いずれのＱｏＳクラスも閾値未満の場合に処理を終了させるための判定ステップであり、全ＱｏＳクラス分（Ｑ）の回数の処理を行ったのち、処理の終了に遷移する。
【０１１０】
一方、Ｓ１６０７におけるフラグ判定により、フラグが”１”と判定された場合には、Ｓ１６１１においてこのフラグのセットされたＱｏＳクラスについてスケジューリング処理を行う。そして、Ｓ１６１２において上記スケジューリング処理によって確定されたか否かを判定する。なお、確定時には処理を終了し、未確定時には、再びＳ１６１３を経由してＳ１６０４から処理を繰り返す。Ｓ１６１２においてｊ＞Ｑの判定を行っているが、これはどのＱｏＳクラスも未確定状態の場合に処理を終了するためのステップである。
【０１１１】
〔負荷観測機能を有するスケジューラ部〕
次に、負荷観測機能を有するスケジューラ部について、図１７，図１８，図１９を参照して説明する。複数の入力回線からある出力回線に対して、不均等な負荷でパケットが到着した場合に、各入力回線を均等に選択すると、高負荷入力回線のスループットが低下することが知られている。このスループット低下を回避するために負荷に応じて確定すべき入力回線を決定する。
【０１１２】
負荷観測機能を有するスケジューラ部の構成例を示す図１７を参照すると、スケジューラ部３の負荷観測部３６は、所定時間内に入力バッファ部から到着した要求情報を入力回線毎、かつＱｏＳクラス毎にカウントする。そして、負荷観測部３６は所定時間経過後、観測結果を負荷読出制御部３７に反映する。負荷読出制御部３７は、一定周期毎に累積カウンタ（後に詳述）に観測結果を加算し、スケジューリング時に−１減算するカウンタ（後に詳述）を入力回線毎、かつＱｏＳクラス毎に有している。
【０１１３】
従って、上記反映契機が全入力回線共通の場合には、一斉に累積カウンタの加算処理を行うため、処理速度の関係から累積カウンタを独立（並列）に用意する必要がある。
【０１１４】
観測結果反映指示部３８は、各入力回線毎に一単位時間ずつ反映契機をずらして負荷観測部３６に指示を与える。この制御により、各入力回線の反映契機が重なることがなく、累積カウンタをハードウェア規模の少ないメモリで構成することが可能になる。
【０１１５】
続いて、動作例を示す図１８を参照すると、負荷観測カウンタは、要求情報を受信したときインクリメントを行い、スケジューリングが確定したときに累積カウンタが”０”のときに限りデクリメント（−１）するカウンタである。累積カウンタは、一定周期毎に観測結果を加算し、スケジューリング確定時にデクリメントされるカウンタであり、所定時間内の要求数（負荷）を管理する。
【０１１６】
上記反映契機は、結果反映フレームとして表記されており、反映フレームのハイレベル”Ｈ”の位置で、負荷観測カウンタ及び累積カウンタを加算し、累積カウンタの更新、負荷観測カウンタのリセット、及びレジスタへの反映を行う。このレジスタは、各入力回線に対応したビットマップレジスタであり、累積カウンタの値が”１”以上のとき、”１”がセットされる。
【０１１７】
すなわち、所定時間内に到着した要求数（厳密には、前観測周期で残った要求数も含む）分スケジューリングされたとき、レジスタが”０”になる。従って、スケジューリングの際に、このレジスタに”１”が設定されている入力回線の中から選択するようにすることで、所定時間内に到着した要求数以上の回数でスケジューリングを行わないように制御することができる。このレジスタは図９における負荷ＲＥＧ（＝１）に対応する。つまり、負荷（所定時間内に到着した要求数）に応じてスケジューリング回数を制御することができる。
【０１１８】
図１８では、観測周期内に符号ｂ１で示すパケットが１個到着しているため、次の観測周期では前周期に到着した全ての要求情報分スケジューリングされるまで、入力回線＃ｂのパケットは１個以上はスケジューリングされない。２個目のパケットｂ２がスケジューリングされているのは、ひとつ前の時刻で前周期に到着した全ての要求数がスケジューリングされたからである。上記負荷観測カウンタ、累積カウンタ、及びレジスタは負荷観測部３６に設けられる。
【０１１９】
図１９に負荷観測制御フローを示す。処理手順Ｓ１９０１…Ｓ１９０５では、所定時間が経過したか否かを判定する。Ｓ１９０１において、パケット時間毎に入力回線毎の負荷観測反映フレームカウンタＬＴをインクリメントする。Ｓ１９０２において負荷観測カウンタＬＴが設定された負荷観測周期の値Ｔ１と等しいか否かを判定する。なお、本処理は、一連の処理を入力回線数（Ｎ）分繰り返して処理を終了する。
【０１２０】
続いて、負荷観測制御Ｓ１９０６…Ｓ１９１６に関する処理を説明する。Ｓ１９０７において、入力バッファ部１からの要求情報到着イベントであるか、スケジューラ部３によるスケジューリング確定イベントであるかを判定する。要求情報が到着した場合は、Ｓ１９０８において負荷観測カウンタｏｂｓ．ｃｎｔに到着した要求情報のフレーム数情報を加算することにより、所定時間内に到着した要求数を計測する。
【０１２１】
この負荷観測カウンタｏｂｓ．ｃｎｔの値は、Ｓ１９０６において所定時間経過したと判定されたとき、Ｓ１９１４において、累積カウンタＬＤ．ｃｎｔに加算され、負荷観測カウンタｏｂｓ．ｃｎｔをクリアする。そして、Ｓ１９１５において累積カウンタＬＤ．ｃｎｔが”０”でなければ、Ｓ１９１６において累積カウンタＬＤ．ｃｎｔが”１”以上を示すレジスタＬＤ．ｒｅｇをセットする。なお、このレジスタＬＤ．ｒｅｇはスケジューリング処理の負荷観測モードにおいて使用される。
【０１２２】
一方、Ｓ１９０６においてスケジューラ部３のスケジューリング確定イベントと判定された場合には、まず、Ｓ１９０９において累積カウンタＬＤ．ｃｎｔが”０”であるかを判定する。累積カウンタＬＤ．ｃｎｔが”１”以上の場合は、Ｓ１９１０において累積カウンタＬＤ．ｃｎｔをデクリメント（−１）し、累積カウンタＬＤ．ｃｎｔが”０”の場合は、Ｓ１９１３において負荷観測カウンタｏｂｓ．ｃｎｔをデクリメントする。
【０１２３】
なお、累積カウンタＬＤ．ｃｎｔをデクリメントした場合には、Ｓ１９１１において累積カウンタＬＤ．ｃｎｔの”０”判定を行い、カウンタ値が”０”になったとき、Ｓ１９１２において累積カウンタＬＤ．ｃｎｔが”１”以上を示すレジスタＬＤ．ｒｅｇをクリアする。
【０１２４】
【発明の効果】
以上説明したように、本発明によれば、フレーム単位のスケジューリングを並列処理によって実施することにより、出力回線側のフレーム組み立てのためのバッファ部を削除できるだけではなく、処理速度の低減効果を期待できる。この結果、大容量パケットスイッチ装置において、ＩＰパケットなどの可変長パケットの効率的な収容が実現できる。
【図面の簡単な説明】
【図１】  従来のパケットスイッチ装置の構成を示すブロック図。
【図２】  本発明の一実施の形態のパケットスイッチ装置の構成を示すブロック図。
【図３】  図２におけるスケジューラ部の基本構成を示すブロック図。
【図４】  図２における結果切り替え部の基本構成を示すブロック図。
【図５】  フレーム単位のスケジューリングを説明するための図。
【図６】  要求管理部の処理手順を説明するためのフローチャート。
【図７】  パイプラインスケジューリング処理を説明するための図。
【図８】  スケジューラ部におけるフレーム長の管理手法を説明するための図。
【図９】  スケジューリング処理手順を説明するためのフローチャート。
【図１０】  競合時の廃棄制御を説明するための図。
【図１１】  スケジューラの拡張構成の一例を示すブロック図。
【図１２】  スケジューラの拡張構成の他の例を示すブロック図。
【図１３】  可変長パケット及び固定長パケットの混在収容を説明するための図。
【図１４】  ＱｏＳ制御を説明するための図。
【図１５】  ＱｏＳ制御機能を有するスケジューラ部の構成を示すブロック図。
【図１６】  ＱｏＳ制御の処理手順を説明するためのフローチャート。
【図１７】  負荷観測機能を有するスケジューラ部の構成を示すブロック図。
【図１８】  負荷観測部の動作を説明するための図。
【図１９】  負荷観測制御の処理手順を説明するためのフローチャート。
【符号の説明】
１    入力バッファ部
２    パケットスイッチ
３    スケジューラ部
４    結果切り替え部
５    スケジューラ
６    パケットタイプ付与部
３１    要求管理部
３２    スケジューリング処理部
３３    フレーム送出状態管理部
３４    スケジューリング結果通知部
３５    ＱｏＳ制御部
３６    負荷観測部
３７    負荷読出制御部
３８    観測結果反映指示部
４１    切り替えスイッチ部
４２    フレーム送出管理部
４３    廃棄処理部
【図１】
0003732989.tif 000002
【図２】
0003732989.tif 000003
【図３】
0003732989.tif 000004
【図４】
0003732989.tif 000005
【図５】
0003732989.tif 000006
【図６】
0003732989.tif 000007
【図７】
0003732989.tif 000008
【図８】
0003732989.tif 000009
【図９】
0003732989.tif 000010
【図１０】
0003732989.tif 000011
【図１１】
0003732989.tif 000012
【図１２】
0003732989.tif 000013
【図１３】
0003732989.tif 000014
【図１４】
0003732989.tif 000015
【図１５】
0003732989.tif 000016
【図１６】
0003732989.tif 000017
【図１７】
0003732989.tif 000018
【図１８】
0003732989.tif 000019
【図１９】
0003732989.tif 000020