(57)【特許請求の範囲】
【請求項１】
それぞれ入力回線からのパケットデータを受信処理する複数の入力インターフェースと、出力パケットデータを処理して出力回線に送出するための複数の出力インターフェースと、上記入、出力インターフェースと対応する複数の入、出力ポートとスケジューラとを有するスイッチ部とを備えたパケット通信装置であって、
前記各入力インターフェースが、
それぞれパケットデータを一時的に格納するための複数の入力バッファと、上記各入力バッファに対応して設けられたパケットデータの先頭部分を保持するための複数の格納部と、上記各入力バッファ及び格納部からのデータ出力を制御するバッファ制御部とを有し、
上記バッファ制御部が、上記各入力バッファの先頭に受信パケットデータの先頭部が到着した時、該先頭データ部分を上記格納部に転送し、何れかの格納部に格納された先頭データ部分を上記スイッチ部の入力ポートに出力し、
上記スイッチ部が、上記入力ポート毎に受信データを一時的に蓄積するためのポートバッファを有し、上記スケジューラが、各ポートバッファに蓄積された受信パケットデータの先頭データ部分が示す宛先情報に基づいて、転送先となる出力ポートの競合を判定し、パケットデータ転送可と判断された入力インターフェースに対して、上記先頭データ部分に続くパケットデータの出力を許可し、
上記各入力インターフェースのバッファ制御部が、上記スイッチ部からパケットデータの出力が許可されなかった場合に、上記ポートバッファに蓄積された先頭データ部分に置き代えられる他の何れかの格納部に格納された先頭データ部分を上記スイッチ部の入力ポートに出力し、
上記スケジューラが、次のスケジューリング時に、その時点で上記ポートバッファに蓄積されている最新の先頭データ部分の宛先情報に基づいて、転送先となる出力ポートの競合を判定し、上記入力インターフェースからの新たなパケットデータの転送可否を判断することを特徴とするパケット通信装置。
【請求項２】
請求項１に記載のパケット通信装置であって、
前記各入力インターフェースが、前記入力バッファとして、高優先度パケット用の入力バッファと低優先度入力バッファとを有し、
前記バッファ制御部が、上記高優先度パケット用の入力バッファと対応して設けられた高優先度格納部にある先頭データ部を、上記低優先度パケット用の入力バッファと対応して設けられた低優先度格納部にある先頭データ部よりも優先的に、前記スイッチ部の入力ポートに出力することを特徴とするパケット通信装置。
【請求項３】
請求項１または請求項２に記載のパケット通信装置であって、
前記スイッチ部が、パケットデータ転送可と判断された入力インターフェースの入力ポートとパケットデータの転送先となる出力ポートとの接続を各パケットデータの転送が完了する迄、維持することを特徴とするパケット通信装置。
【請求項４】
請求項１または請求項２に記載のパケット通信装置であって、
前記各入力インターフェースが、それぞれ対応関係にある前記入力バッファと格納部とに接続された複数のセレクタを有し、各セレクタが、前記バッファ制御部からの指示に従って、上記格納部に格納された先頭データ部分と上記入力バッファに格納された後続データ部分の何れかを選択的に前記スイッチ部の入力ポートに出力することを特徴とするパケット通信装置。
【請求項５】
請求項１または請求項２に記載のパケット通信装置であって、
前記パケットデータが、それぞれセルヘッダをもつ複数のセルからなるセル列として前記各入力バッファに供給され、前記各格納部に格納される前記先頭データ部分が、上記セル列の先頭セル、または先頭セルとそれに続く少なくとも１つの後続セルを含むことを特徴とするパケット通信装置。
【請求項６】
請求項５に記載のパケット通信装置であって、
前記スイッチ部が、前記パケットデータの最終セルが出力ポートを通過する前に、前記各入力回線インターフェースのバッファ制御部に、上記出力ポートへの新たなパケットデータの転送が可能になったことを通知することを特徴とするパケット通信装置。
【請求項７】
請求項５に記載のパケット通信装置であって、
前記先頭セルに付されたセルヘッダが、同一の受信パケットデータに属するセル数を示す情報を含み、
前記スイッチ部が、前記出力ポート毎に出力セル数をカウントするためのカウンタを備え、該カウンタが、各先頭セルのセルヘッダが示すセル数を初期値として、出力ポートからの出力セル数をデクリメントし、カウンタ値が所定値になった時点で、前記各入力回線インターフェースのバッファ制御部に、上記出力ポートへの新たなパケットデータの転送が可能になったことを通知することを特徴とするパケット通信装置。
【請求項８】
請求項５に記載のパケット通信装置であって、
前記セル列を形成する複数のセルのうち、先頭セルに続く複数の後続セルおよび最終セルに付されたセルヘッダが、出力ポートの状態を制御するポートフリービットを含み、少なくとも最終セルに付されたポートフリービットが出力ポートの開放を指示しており、
前記スイッチ部が、前記各出力ポートからの出力セルに付されたポートフリービットをモニタするための手段を備え、出力ポートの開放を指示するポートフリービットを検出した時点で、前記各入力回線インターフェースのバッファ制御部に、上記出力ポートへの新たなパケットデータの転送が可能になったことを通知することを特徴とするパケット通信装置。
【請求項９】
請求項１〜請求項８の何れかに記載のパケット通信装置であって、
前記バッファ制御部が、前記格納部に格納された前記先頭データ部のコピーを前記スイッチ部の入力ポートに出力することを特徴とするパケット通信装置。
【請求項１０】
それぞれ入力回線からのパケットデータを受信処理する複数の入力インターフェースと、出力パケットデータを処理して出力回線に送出するための複数の出力インターフェースと、上記入、出力インターフェースと対応する複数の入、出力ポートとスケジューラとを有するスイッチ部とからなり、
前記各入力インターフェースが、それぞれパケットデータを一時的に格納するための複数の第１記憶部と、上記各第１記憶部に対応して設けられたパケットデータの先頭部分を保持する複数の第２記憶部と、上記各第１記憶部及び第２記憶部からのデータ出力を制御する制御部とを有し、上記スイッチ部が、上記入力ポート毎に受信データを一時的に蓄積するための第３記憶部を有するパケット通信装置におけるパケットデータ転送制御方法であって、
上記各入力インターフェースで何れかの第１記憶部の先頭に受信パケットデータの先頭部が到着した時、上記制御部によって、該先頭データ部分を上記第１記憶部と対応する第２記憶部に転送するステップと、
上記制御部が、先頭データ部分が格納された複数の第２記憶部から選択的に、上記スイッチ部の入力ポートに先頭データ部分のコピーを出力するステップ、
上記スイッチ部のスケジューラが、上記各第３記憶部に蓄積された受信パケットデータの先頭データ部分が示す宛先情報に基づいて、転送先となる出力ポートの競合を判定し、パケットデータ転送可と判断された入力インターフェースに対して、上記先頭データ部分に続くパケットデータの出力を許可するステップと、
上記スイッチ部が、パケットデータの出力が許可された入力インターフェースと対応する第３記憶部の蓄積データを転送先となる出力ポートに順次に転送するステップと、
上記スケジューラからパケットデータの出力を許可された入力インターフェースの制御部が、上記選択された第２記憶部と対応する第１記憶部から、パケットデータの後続部分を上記スイッチ部の入力ポートに出力するステップと、
上記スケジューラからパケットデータの出力を許可されなかった入力インターフェースのバッファ制御部が、上記第３記憶部に蓄積された先頭データ部分に置き代えられる他の何れかの第２記憶部に格納された先頭データ部分のコピーを上記スイッチ部の入力ポートに出力するステップとを含むことを特徴とするパケットデータ転送制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などの可変長パケットや非同期転送モード（以下ＡＴＭという。）の固定長パケット（一般的にセルと呼ばれる）をスイッチングするパケットデータ通信装置に関する。特に、該通信装置を利用したパケットデータ転送制御方法に関する。
【０００２】
【従来の技術】
近年，インターネットをはじめとするデータトラヒックは急激に増加している。また，従来専用線を使用して行なわれていたトランザクション処理など，高品質で，高信頼のサービスをインターネットで行おうとする動きも見られている。ネットワーク上における伝送路については波長多重技術の登場により，大容量伝送が実現されている。これに対応するため，伝送路間を接続し，パケットデータのルーティング，スイッチングを行うパケットデータ通信装置の高効率化，大容量化，高速化が必要とされる。
【０００３】
特開２０００−２３２４８２号公報（以下「文献１」という。）は，クロスバスイッチを使用したパケットスイッチの一例を開示する。このパケットスイッチの構成では，入力側インタフェースに入力された可変長パケットをセル群に分割し，出力方路情報が付与された先頭セルをスイッチに入力する。スイッチはこの先頭セルの情報に従い，各出力ポートに対してのリクエストから１つを選択するようなスケジューリング処理を行って入出力ポートの接続を行った後，パケットのスイッチングを行う。
【０００４】
なお入力側インタフェースには，スイッチの出力ポートの空き情報が通知されており，入力側インタフェースは，空き出力ポートに出力を希望するパケットの先頭セルをスイッチに送信する構成とする。スイッチでは入出力ポートの切り替え単位をパケット単位としている。
【０００５】
つまり、ある入力インタフェースから出力インタフェースに，１つのパケットを構成するセルの出力が開始されると，そのパケットを構成する全てのセルが出力側インタフェースに到着するまでスイッチの接続を保留する。
【０００６】
【発明が解決しようとする課題】
さらに、文献１では，スイッチのスケジューリング処理について，各出力ポート単位に出力を希望する入力インタフェースを１つ選択する処理を行えばよいので，従来必要とされるような複雑なスケジューリング処理は不要となり，スイッチのポート数が増加した場合や，ポート速度が高速化した場合においても，スイッチ容量の大容量化を実現しやすい。
【０００７】
しかし，文献１においては，複数の入力インタフェースから，ある空き出力ポートに出力を希望する複数の先頭セルがスイッチに入力された場合には，スケジューリング処理の結果，選択されなかった先頭セルはスイッチから出力されない。つまり，以降のスケジューリング処理で選択されるまでは，先頭セルがスイッチ内にスタックした状態となる。
【０００８】
つまり，このスタック状態によって，後続する同一出力ポート宛の優先パケットや，他の空き出力ポート行きのパケットが出力を待たされてしまうＨＯＬ（Ｈｅａｄ  ｏｆ  Ｌｉｎｅ）ブロッキングと呼ばれる現象が発生して，入力されるトラヒックのパターンや負荷状況によってはスイッチの使用効率およびパケットの品質クラス制御性能が著しく低下し、スイッチにおけるスループットの低下を招き、さらに入力インターフェースからスイッチへ転送されるパケットに優先度を持たせられないという問題が生じる。
【０００９】
そこで，本発明の目的は，スイッチのポート数の増加やポート速度の向上に対応しやすく，かつ，高いスループットが実現可能なパケット通信装置を提供することである。
【００１０】
また，本発明の他の目的は，品質クラス制御が有効に働くパケット通信装置を提供することにある。より具体的には，スイッチのポート数の増加やポート速度の向上に対応しやすく，かつ，優先パケットが非優先パケットに対して優先して出力可能となるようなパケット通信装置を提供することである。
【００１１】
【課題を解決するための手段】
前記の課題を解決するために，本発明では，入力インタフェースにおいて可変長パケットをセル群に分割し，スイッチの出力ポート別，さらには品質クラス別に用意されたキューバッファ（以下ＶＯＱと呼ぶ）に格納する。また，１つのＶＯＱに対して１つずつ先頭セル格納レジスタを用意する。
【００１２】
あるパケットがＶＯＱの先頭に到着した場合には，そのパケットの先頭セルは，先頭セル格納レジスタに格納され，ＶＯＱの先頭には２番目のセルが待機している状態とする。入力側インタフェースは，パケットの出力方路が表示された先頭セルを先頭セル格納レジスタから読み出してスイッチ部に入力する。スイッチでは，各入力インタフェースから入力された複数先頭セルの要求出力ポートが重なった場合には，出力ポートにつき１つの先頭セルを選択するようにスケジューリング処理を行う。
【００１３】
スケジューリング処理の結果，選択された先頭セルの出力元の入力インタフェースについては，その先頭セルの後続セルがＶＯＱより連続的に出力されて，ひとつのパケットを構成するセル全てが出力インタフェースに到着するまで，スイッチの接続を保留する。また，スケジューリングの結果，選択されなかった先頭セルの出力元の入力インタフェースについては，他の空き出力ポート宛てに出力を希望する先頭セルを，先頭セル格納レジスタからスイッチに出力して，再度スケジューリング処理に挑戦する。
【００１４】
これにより，スケジューリング処理において、選択されなかったパケットがスイッチにスタックすることなく，他の出力可能なパケットの優先的送出が可能となるので，スループットの向上およびパケットの優先制御が実現可能なパケット通信装置を提供することができる。
【００１５】
【発明の実施の形態】
本発明によるパケット通信装置の実施例について説明する。図１は，本発明のパケット通信装置の全体構成を示す図である。このパケット通信装置は，ｎ個の入出力ポートを有し，ｎ×ｎの交換を行うスイッチ１０，スイッチ１０と接続される入力回線インタフェース２０−１〜２０−ｎ，出力回線インタフェース３０−１〜３０−ｎ，および制御部６０とを有する。入力回線インタフェース２０−１〜２０−ｎは，入力回線４０−１〜４０−ｎを収容し，入力された可変長パケットのルーティング処理やパケットバッファリングを行い，固定長セルの形式でスイッチ１０間へ送信処理を行なう。出力回線インタフェース３０−１〜３０−ｎは，スイッチ１０からセルを受信し，元の可変長パケットの形式で出力回線５０−１〜５０−ｎへ出力を行う。制御部６０は，制御バス６０−１を通じて，スイッチ１０，入力回線インタフェース２０，および出力回線インタフェース３０と接続され，これらの初期設定，障害監視などを行う。なお，入力回線インタフェース２０−１〜２０−ｎと出力回線インタフェース３０−１〜３０−ｎはそれぞれ物理的に同一のカードとして実装されることが多い。
【００１６】
まず，入力回線インタフェース２０の構成について詳細に説明する。入力回線インタフェース２０は，入力処理部２１，ＶＯＱ２３，ＶＯＱ制御部２４を有する。図２を用いて，入力処理部２１の構成例を説明する。パケットデータは入力回線４０を通じて装置に入力されると，光・電気信号変換部（Ｏ／Ｅ）２１−１にて，電気信号に変換される。その後，ＰＨＹ２１−２にてＳＯＮＥＴ（ｓｙｎｃｈｒｏｎｏｕｓ  ｏｐｔｉｃａｌ  ｎｅｔｗｏｒｋ）フレームなどの物理レイヤ処理が行なわれる。次に，Ｌ２処理部２１−３にてパケットの抽出，エラーチェックなどのレイヤ２処理が行なわれる。その後，検索エンジン２１−４にて，宛先ＩＰアドレスをもとにした，出力ポート検索，品質クラス検索などの，レイヤ３処理が行なわれる。
【００１７】
検索処理は，具体的には，検索エンジン２１−４に接続されたＬ３ＴＡＢＬＥ２１−５を使用する。Ｌ３ＴＡＢＬＥ２１−５には，予め宛先ＩＰアドレスと，出力ポート，品質クラス，次の転送先のＩＰアドレスであるネクストホップＩＰアドレスとの対応関係がテーブル形式で格納されている。検索結果はパケットのヘッダ部分に付与する。検索エンジン２１−４では，図５に示すように可変長パケットを固定長セルに分割し，それぞれのセルにセルヘッダ２００−１を付与する。
【００１８】
図５の例では，可変長パケット１００ＡがセルＡ１〜Ａ４に分割される例を示している。なお，最終セルに端数が生じた場合にはセルの空き領域にＰＡＤが詰め込まれる。図６にセルフォーマットの例を示す。セルはセルデータ２０２，セルヘッダ２０１より構成される。セルヘッダ２０１は，セルの有効／無効，および先頭／中間／最終を示すＣＥＬＬ２０１−１，パケットの品質クラスを示すＱＯＳ２０１−２，スイッチの宛先ポートを示すルーティング情報ＲＴＧ２０１−３を含む。なお，先頭セル以外の後続セルでは，ＲＴＧ２０１−３，ＱＯＳ２０１−２を参照せずに，先頭セルと同一の処理をするものとし，これらの領域をデータ領域として使用しても良い。
【００１９】
次に図４を用いて，入力回線インタフェース２０（図１）のその他の部分の機能および動作例について説明する。検索エンジン２１−４（図２）から出力された可変長パケット１００Ａ，１００Ｂの先頭セルからはセルヘッダ情報２００−１（図５）が取り出され，接続線２５を通じて，これをＶＯＱ制御部２４に送信する。ＶＯＱ制御部２４はそのヘッダ情報を解析し，可変長パケットの出力方路に対応するＶＯＱ（２３Ａ−１〜２３Ａ−ｎのいずれか）に順次格納されるように，ＶＯＱ２３のライトアドレスを指示する。ＶＯＱ２３Ａにおいては，パケットはキューの先頭に来たときに，そのパケットを構成する先頭セルを先頭セル格納レジスタ２３Ｂに移動する。
【００２０】
つまり，キューの先頭にはパケットを構成するセカンドセル以降のセルが格納されている状態となる。各ＶＯＱにおいては，先頭セル格納レジスタ２３Ｂに格納されている先頭セル，もしくはＶＯＱ２３Ａに格納されているセカンドセル以降のセルを選択して出力可能なようにＳＥＬ２３１が配備される。また，各ＶＯＱの読みだしは，ＶＯＱ制御部２４からの指示に従い，セレクタ２３２によって選択される。ＶＯＱ制御部２４では，スイッチの空き出力ポート情報１４０−１〜１４０−ｎに従って，空いている出力ポートに該当するＶＯＱをラウンドロビン選択などにより選択してＶＯＱ２３に読出し指示を与える。また，ＶＯＱ制御部２４には，タイマ監視部２４−３が設けられている。タイマ監視部２４−３では，出力リクエスト用の先頭セルをスイッチに出力してから，そのリクエストに対するアクノリッジ（ＡＣＫ）１３０−１が規定時間以内に返送されるかどうかを監視しており，その結果をＶＯＱ選択部２４−２に通知する。
【００２１】
さらに、図４において先頭セルＡ１−Ｃ１が出力リクエストとしてセレクタ２３１、２３２を介し、出力ポートに対し出力された時、先頭セルは先頭セル格納レジスタ２３Ｂ−１〜ｎから廃棄されず、先頭セル格納レジスタにコピーされ保持されたままと成る。
【００２２】
次に再び図１を用いて本発明のパケット通信装置のスイッチ１０について詳細を説明する。スイッチ１０は入力ポート毎に設けられた入力ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）バッファ１３−１〜１３−ｎ，ｎ×ｎのスイッチングを行うクロスバスイッチ１１，スケジューラ１２，および，出力ポート毎に設けられた出力バッファ１４−１〜１４−ｎより構成される。
【００２３】
入力回線インタフェース２０−１〜ｎから受信したセルが，先頭セルの場合には入力ＦＩＦＯバッファ１３に格納・保持される。先頭セルのセルヘッダはスケジューラ１２に送られる。スケジューラ１２では，入力された先頭セルの希望する出力ポートを解析して，複数の先頭セルが出力を希望する出力ポートが重なった場合には，出力ポートにつき１つの先頭セルを選択するようにスケジューリング処理を行う。
【００２４】
スケジューラ１２はセルヘッダを参照して優先度の高い先頭セルを優先して転送する。また，複数のパケットが同一優先度を持つ場合には，スケジューラ１２はラウンドロビン（巡回選択）によってスイッチングを行う先頭セルを選択する。スケジューリング処理の結果，出力許可を受けた先頭セルが所望の宛先に出力されるように，クロスバスイッチ１１の接続を行い，先頭セルを入力ＦＩＦＯバッファ１３から読み出して出力する。
【００２５】
また，同時に，選択された先頭セルの出力元の入力回線インタフェース２０に対しては，その結果をアクノリッジ（ＡＣＫ）１３０−１として入力回線インタフェース２０に返送する。入力回線インタフェース２０では，ＡＣＫ１３０−１を受信するとＶＯＱ２３から同一パケットを構成するセカンドセル以降の残りの後続セル読み出してスイッチ１０に出力する。クロスバスイッチ１１では，先頭セルの後続セルが連続的に出力されて，ひとつのパケットを構成するセル全てが出力インタフェースに到着するまで，入出力ポートの接続を保留する。
【００２６】
また，スケジューリングの結果，選択されなかった先頭セルの出力元の入力インタフェースにおいては，規定時間内にＡＣＫ１３０−１が返送されないことをＶＯＱ制御部２４内のタイマ監視部２４−３（図４）で検出する。タイムオーバの場合には，これをＶＯＱ選択部２４−２（図４）に通知し，別の空き出力ポート宛てのパケットがある場合には，このパケットの先頭セルを先頭セル格納レジスタ２３Ｂより読み出して，スイッチ１０に送信する。新たに送信された先頭セルは，入力ＦＩＦＯバッファ１３に格納されている先頭セルを上書きして，次のスケジューリングに再度挑戦する。スイッチの出力ポート毎に設けられた出力バッファ１４−１〜１４−ｎにおいては，パケットを構成するセルが転送中であるかどうかを常時監視して，状態を空き出力ポート情報１４０−１〜ｎとして，各入力回線インタフェース２０−１〜ｎのＶＯＱ制御部２４に通知する。より具体的には，セルヘッダ２０１に付与されているＣＥＬＬ２０１−１を監視して，有効セルの転送が終了した時点で，空き出力ポート情報１４０−１〜ｎをＶＯＱ制御部２４に通知する。
【００２７】
最後に，図１の出力回線インタフェース３０−１〜ｎの構成について詳細に説明する。スイッチ１０から出力された可変長パケット単位のセルは，出力回線インタフェース３０−１〜ｎ内の出力処理部３１に送信される。出力処理部３１の構成を図３を用いて説明する。入力された固定長セルはＬ２処理部３２−３にて，元の可変長パケットに組立てを行った後，レイヤ２の処理が行なわれる。
【００２８】
例えば，出力回線がイーサーネットの場合には，次の転送先のＩＰアドレスであるネクストホップＩＰアドレスから，接続先ルータのレイヤ２アドレス（ＭＡＣアドレス）を検索して付与する処理を行なう。ネクストホップＩＰアドレスと，接続先ルータのレイヤ２アドレスの対応は，Ｌ２ＴＡＢＬＥ３２−５に格納されている。レイヤ２処理の終了後，可変長パケットはＰＨＹ３２−２にて，例えばＳＯＮＥＴフレームへマッピング処理が行なわれ，その後電気・光信号変換部（Ｅ／Ｏ）３２−１にて，光信号に変換された後，出力回線５０へ送出される。
【００２９】
次に本発明によるパケット通信装置において実際にパケットのスイッチングが行われる際のスイッチング動作例を文献１と比較して示す。本発明によるパケット通信装置のスイッチング例を，図７〜図９を用いて説明する。図７においては，入力回線インタフェース２０−１に，出力回線５０−１行きのパケットＡ（セルＡ１，Ａ２，Ａ３，およびＡ４に分割）および，出力回線５０−ｎ行きのパケットＣ（セルＣ１，Ｃ２，およびＣ３に分割）が入力され，入力回線インタフェース２０−ｎに出力回線５０−ｎ行きのパケットＤ（セルＤ１とＤ２に分割），出力回線５０−ｎ行きのパケットＥ（セルＥ１とＥ２に分割）が入力されている。また，出力回線５０−１および出力回線５０−ｎが接続されるスイッチポートはこの時点で空きポートであると仮定する。
【００３０】
図８において，出力回線インタフェース３０−１行きのスイッチ出力ポートが空いているので，入力回線インタフェース２０−１からは，パケットＡの先頭セルＡ１がスイッチ１０の入力ＦＩＦＯバッファ１３−１に転送され，入力回線インタフェース２０−ｎからはパケットＤの先頭セルＤ１が，スイッチ１０の入力ＦＩＦＯバッファ１３−ｎにそれぞれ転送されると仮定する。この場合，先頭セルＡ１と先頭セルＤ１は希望する出力ポートが同一であるため，スケジューラ１２で選択処理が行われる。
【００３１】
図９ではスケジューラ１２での選択処理の結果，先頭セルＡ１が選択され，先頭セルＤ１が選択されない場合の例を示している。入力回線インタフェース２０−１には，後続転送が可能であることを示すＡＣＫ１３０−１が通知され，これに従い，セルＡ２，Ａ３およびＡ４が連続的にスイッチに転送され所望の出力ポートに出力される。
【００３２】
これに対して，入力回線インタフェース２０−ｎでは，タイマ監視部２４−３（図４）によりＡＣＫ１３０−ｎが一定時間内に通知されないことを検出すると，リクエストが認められなかったと判断し，他の空き出力ポートに対して，パケットＥの先頭セルＥ１を，入力ＦＩＦＯバッファ１３−ｎに転送して，再度スケジューラ１２での選択処理を行う。
【００３３】
次に文献１におけるパケットのスイッチング例について，図１０を用いて説明する。図１０において，出力回線インタフェース３０−１行きのスイッチ１０における出力ポートが空いていると仮定した場合，入力回線インタフェース２０−１からは，パケットＡの先頭セルＡ１がスイッチ１０の入力ＦＩＦＯバッファ１３−１に転送され，入力回線インタフェース２０−ｎからはパケットＤの先頭セルＤ１が，スイッチ１０の入力ＦＩＦＯバッファ１３−ｎにそれぞれ転送されるとする。
【００３４】
図１０では，スケジューラ１２での選択処理の結果，先頭セルＡ１が選択されるものとすると，先頭セルＤ１は長時間スイッチにスタックする可能性がある。
【００３５】
さらに、先述した通り後続する同一出力ポート宛の優先パケットや，他の空き出力ポート行きのパケットが出力を待たされてしまうＨＯＬ（Ｈｅａｄ  ｏｆ  Ｌｉｎｅ）ブロッキングと呼ばれる現象が発生する。その結果、入力されるトラヒックのパターンや負荷状況によってはスイッチの使用効率およびパケットの品質クラス制御性能が著しく低下する場合がある。
【００３６】
対照的に前述した図７〜図９に示す本発明によるパケット通信装置においては，スケジューリング処理にて選択されなかったパケットが入力ＦＩＦＯバッファから廃棄されるので、スイッチにスタックするという問題が解決される。さらに、他の出力可能なパケットの優先的送出が可能となるので，スループットの高いパケット通信装置を提供することができる。
【００３７】
本発明の第２の実施例として，スイッチ部において品質クラス制御を行う形態について図１１を用いて説明する。図１１に示す品質制御対応回線インタフェースにおいては，図４に示した回線インタフェース２０との差分のみを示す。品質制御対応回線インタフェースにおいては，ＶＯＱ２３内にｎ本の出力方路対応かつ２クラスの品質クラス別のＶＯＱ（高優先２３ＡＨ−１〜２３ＡＨ−ｎ，低優先２３ＡＬ−１〜２３ＡＬ−ｎ）を有する。入力処理部２１より転送されたパケットは，図６に示すセルヘッダ２０１内の，ＲＴＧ２０１−３およびＱＯＳ２０１−２に従って該当するＶＯＱに入力される。ＶＯＱ制御部２４は，例えば，高優先キューを優先したラウンドロビン選択を行う。具体的には，ある方路への読出し指示を受け取ると，ＳＥＬ２３２により方路選択を行うと同時に品質クラスセレクタＳＥＬ２３１により，高優先ＶＯＱ２３ＡＨ−ｘ（ｘは１からｎのいずれかを示す）にパケットが存在する場合にはそれを読み出し，存在しない場合には，低優先ＶＯＱ２３ＡＬ−ｘよりパケットの読み出しを行う。
【００３８】
本実施例に従うと，ある出力ポート宛ての，例えば２３ＡＬ−１〜２３ＡＬ−ｎから成る低優先パケットがスイッチ１０（図１）の入力ＦＩＦＯバッファ１３に格納され，スケジューラ１２で選択されなかった場合に，後に到着した２３ＡＨ−１〜２３ＡＨ−ｎから成る高優先パケットを再送可能になる。つまり，高優先パケットが低優先パケットによりブロッキングされることが防止できるので，動画像通信，トランザクション処理などに必要とされる高品質サービスに対応可能なパケット通信装置が提供できる。
【００３９】
次に，本発明の第３の実施例について説明する。前述した第１及び第２の実施例では，出力リクエスト時に，先頭セル格納レジスタ２３Ｂ−１〜ｎに格納されている先頭セルのみをスイッチ１０の入力ＦＩＦＯバッファ１３に転送する例，および先頭セルのみを再送する例を示した。
【００４０】
しかし，実装条件によってはＡＣＫ１３０がＶＯＱ制御部２４に返送されて，後続パケットが出力されるまで，タイムラグが生じる場合がある。そこで，このタイムラグを解消するため，先頭セルのみならず先頭セルからｍセル（以下，先頭セル群と呼ぶ）を単位として，上記と同様の処理を行う例について以下に説明する（ただし，ｍ≧２）。
【００４１】
具体的には，図１２に示すように，入力回線インタフェース２０において，ＶＯＱ２３Ａ−１〜ｎのそれぞれに対応した先頭セル群レジスタ２３Ｃ−１〜ｎを用意しておき，パケットがＶＯＱ２３Ａ−１〜ｎの先頭に到着すると，そのパケットの先頭セル群を先頭セル群格納レジスタ２３Ｃ−１〜ｎに転送する。先頭セル群格納レジスタ２３Ｃ−１〜ｎはｍセル分を格納するレジスタである。
【００４２】
図１２は，一例としてｍ＝２の場合を示している。出力リクエスト時には，各入力回線インタフェース２０において出力可能なパケットの先頭セル群を１つ選択して，これらを全てスイッチ１０（図１）の入力ＦＩＦＯバッファ１３へ送信する。
【００４３】
スケジューリング処理の結果，出力許可を受けた先頭セル群を読み出して出力し，それと同時に，後続セルを連続的に出力するように，入力回線インタフェース２０に指示する。また，出力許可を受けなかった入力インタフェース２０において，他の空き出力ポート宛てに出力を希望するパケットがある場合には，そのパケットの先頭セル群をスイッチ１０の入力ＦＩＦＯバッファ１３に出力して，以前の先頭セル群を上書きし，再度スケジューリング処理を行う。
【００４４】
なお，ｍの値は，スケジューリングの結果，出力が許可された時点から，ＶＯＱ２３Ａに格納されている後続セルが入力ＦＩＦＯバッファ１３に到達するまでの時間がｍセル時間となるように決めればよい。これにより，入力回線インタフェース２０が出力許可を受けた場合，後続パケットが入力ＦＩＦＯバッファ１３に格納されている先頭セル群に追いつくことができる。
【００４５】
よって，タイムラグのない連続したセルの形式でパケットのスイッチングが行われるため，スイッチのスループットが向上する。さらに本実施例を拡張する形として，出力リクエスト時および再送時の単位を，先頭セル群単位ではなく１パケット単位とする方法も考えられる。
【００４６】
最後に，本発明の第４の実施例について説明する。前記の実施例では，スイッチの出力ポート毎に設けられた図１に示す出力バッファ１４−１〜ｎにおいて，セルが転送中であるかどうかを常時監視して，空き出力ポート情報１４０−１〜ｎをＶＯＱ制御部２４に通知している。
【００４７】
しかし，実装条件によっては，空き出力ポート情報１４０−１〜ｎがＶＯＱ制御部２４に通知されてから，先頭セルが出力され，次の出力リクエストがスケジューラにエントリされるまでに時間がかかるため，出力回線に無駄な空きタイミング（例えばｊセル時間）が生じる場合がある。
【００４８】
そこで，この空きタイミングをなくすため，パケットを構成する最終セルがクロスバスイッチ１１を通過し終わる以前に，出力ポートを空きと判定する構成とする。具体的な方法としては，図１３に示すように，セルヘッダ２０１（図６）のセルフォーマットにポートフリービット（ＰＦ）２０１−４を定義する（“１”：ポート使用中，“０”：ポート開放）。入力処理部２１（図１、図１２）では，パケットをセルに分割するときに，パケットの最終セルを含む最後のｊセルについては，ＰＦ２０１−４＝“０”に設定し，それ以外のセルをＰＦ２０１−４＝“１”に設定する。出力バッファ１４−１〜ｎにおいては，ポート開放ビットＰＦ２０１−４に従って，ＰＦ２０１−４＝“０”を検出した場合に，ポートの開放をＶＯＱ制御部２４に通知すれば良い。
【００４９】
上述した如く空きタイミングを無くす為に、ポートフリービットがセルヘッダに設定される。このポートフリービットの設定により、従来のパケットデータ転送に比べ、本実施例によるパケットデータ転送が提供する効果を以下に説明する。
【００５０】
まず従来におけるパケットデータ転送例を説明する。図１６（ａ）に示す様に先頭パケット１６０１は、入力回線インターフェース２０（図１）から出力されスイッチ部１０に到達していた。ここで先頭パケット１６０１は先頭セル１６０２及び最終セル１６０３を含んだ後続セル１６０５から構成される。当該先頭パケット１６０１がスイッチ部１０の出力ポート１４−ｎを通過する際、最終セル１６０３をモニタしてその出力ポート１４−ｎがフリーに成ったことをＶＯＱ制御部２４（図１）に通知していた。ＶＯＱ制御部２４はその通知信号に応じて次のパケット１６０４を送出していたが、当該先頭パケット１６０１の送出から次のパケット１６０４の送出まではタイムラグが生じるという問題が発生した。
【００５１】
次に、本実施例によるパケットデータ転送例を説明する。図１６（ｂ）に示す様に先頭パケット１６０６の内、最終セル１６０９以前の後続セル１６０８にポートフリービットを付加する。ここで当該先頭パケット１６０６は先頭セル１６０７及び最終セル１６０９を含んだ後続セル１６０８から構成される。
【００５２】
これにより，出力ポート１４−ｎにおけるポートフリービット付セル１６０８をモニタできる。従って，ポートフリービットを参照することにより，実際の最終パケットが通過する以前に，ＶＯＱ制御部２４に対して次のパケットの送出を要求することが可能となる。
【００５３】
検出信号はＶＯＱ制御部２４に通知される。ＶＯＱ制御部２４の指示に基づく次のパケット１６１０の送出が迅速化し、当該先頭パケット１６０６と次のパケット１６１０との間のタイムラグが図１６（ａ）に示す従来例の場合より短縮されるという効果が有る。ここで、図１６（ａ），（ｂ）に示す先頭パケット１６０１、１６０６及び次パケット１６０４、１６１０において、ＦＩＲＳＴ及びＬＡＳＴは先頭セルと最終セルを示している。
【００５４】
また，別の方法としては，図１４に示すように，セルヘッダ２０１のセルフォーマットにトータルセル数情報ビット（ＴＣＮ）２０１−５を定義する。入力処理部２１（図１）では，パケットをセルに分割するときに，パケット長から分割セル数を計算して，セル数を先頭セルのＴＣＮ２０１−５にライトする。
【００５５】
スイッチ部１０においては，図１５に示すように，出力バッファ１４−１〜ｎに接続されたセル数カウンタ１５−１〜ｎを設けておく。出力バッファ１４−１〜ｎにおいては，先頭セルを検出すると，ＴＣＮ２０１−５ビットから分割セル数を取得してこれをセル数カウンタ１５−１〜ｎに格納する。そして，後続セルの到着毎に，セル数カウンタ１５−１〜ｎをデクリメントし，カウンタ値がｊ以下になった時点で，ポートの開放をＶＯＱ制御部２４に通知し，セル数カウンタ１５−１〜ｎをリセットする構成とする。なお，ＴＣＮ２０１−５は先頭セルについてのみ付与すれば良い。
【００５６】
以上に本発明の第１から第４の実施例に基づくパケット通信装置の特徴について述べたが、さらに上述した第１から第４の実施例に示すパケット通信装置は、以下に示す項目（ａ）〜（ｉ）の特徴点を有するパケット通信装置として提供することも可能である。
【００５７】
（ａ）複数のパケットデータを入力する入力インターフェース、該パケットデータの経路を切り替え、且つ複数の入力ポート、出力ポート及びスケジューラを備えるスイッチ部、及び切り替えられた前記経路を経由した前記パケットデータを送出する出力インターフェースから構成され、前記入力インターフェースには，前記複数のパケットデータを格納する複数の入力バッファと，該複数の入力バッファに対応した複数の格納部と、前記入力バッファ及び格納部を制御するバッファ制御部を設け，前記入力ポートにはポートバッファを設け、前記入力バッファの先頭に前記パケットデータが到着した場合に，前記パケットデータの内、宛先情報を含むデータ部を前記格納部に転送し，前記ポートバッファは、前記格納部から出力される前記データ部を格納し、且つ前記スケジューラにより所定の出力ポートに対し前記データ部の出力が許可されない場合、前記ポートバッファは前記データ部を廃棄し、前記バッファ制御部からの更なる出力要求に従い、前記格納部から再送される前記データ部を受け付け、前記スケジューラの指示に従って前記所定の出力ポートに対し前記データ部を転送するか、否かを決定することを特徴とするパケット通信装置。
【００５８】
（ｂ）前記バッファ制御部は，前記複数の格納部の各々に含まれる複数の前記データ部の内、１つの前記データ部を選択して，前記格納部からコピーして前記ポートバッファに出力することを特徴とする、上記（ａ）に記載のパケット通信装置。
【００５９】
（ｃ）前記スケジューラから前記所定の出力ポートに対し、前記データ部の出力許可が為された場合、前記データ部及び後続する前記パケットデータが前記所定の出力ポートに対し切り替えられた経路を経由して転送されることを特徴とする、上記（ａ）に記載のパケット通信装置。
【００６０】
（ｄ）前記入力インターフェースは前記入力バッファと同数のセレクタを有し，前記セレクタは，前記バッファ制御部からの指示により，前記入力バッファの前記データ部以外の前記パケットデータ部分，或いは前記入力バッファに対応した前記格納部の前記データ部の内、何れかを選択してスイッチ部へ出力することを特徴とする、上記（ａ）に記載のパケット通信装置。
【００６１】
（ｅ）前記入力バッファは、前記パケットデータが有する複数のセルを列形式にて格納し、前記パケットデータは先頭セル、後続セル及び最終セルを含み、前記データ部は前記先頭セル又は前記先頭セルを含む前記パケットデータであり、前記スイッチ部は前記出力ポートに対応したカウンタを備え、前記データ部は前記スイッチ部の切換えられた経路を経由し前記出力ポートにてモニタされ、前記パケットデータが有するセルの合計値が前記カウンタに格納されることを特徴とする、上記（ｄ）に記載のパケット通信装置。
【００６２】
（ｆ）前記合計値に対し前記後続セルが前記出力ポートにてモニタされる毎に前記合計値がデクリメントされ、前記カウンタ値が所定値以下に成った際に、前記出力ポートの開放を前記バッファ制御部に通知することを特徴とする、上記（ｅ）に記載のパケット通信装置。
【００６３】
（ｇ）前記入力インターフェースには、高優先度入力バッファ及び格納部並びに低優先度入力バッファ及び格納部が設けられ、前記入力バッファ及び格納部に格納される前記複数のセルを転送する際に優先度を持たせることを特徴とする、上記（ａ）に記載のパケット通信装置。
【００６４】
（ｈ）前記セルはセルヘッダ部とセルデータ部を有し、前記後続セルの前記セルヘッダ部にはポートフリービットが設けられ、前記出力ポートは該ポートフリービットの状態に基づいて前記後続セルが通過するか、否かを判定し、前記後続セルが通過する時は、前記バッファ制御部に対し前記開放を通知することを特徴とする、上記（ｆ）に記載のパケット通信装置。
【００６５】
（ｉ）前記出力ポートは前記最終セルが通過する以前に前記バッファ制御部に対し次のパケットデータの送出を要求しうることを特徴とする、上記（ｈ）に記載のパケット通信装置。
【００６６】
しかも、上述したパケット通信装置を利用してパケットデータの転送を制御する方法として、以下の項目（ｉ）〜（ｉｉｉ）の特徴を有するパケットデータ転送制御方法が提供可能である。
【００６７】
（ｉ）複数のパケットデータを入力する入力インターフェース、該パケットデータの経路を切り替え、且つ複数の入力ポート、出力ポート及びスケジューラを備えるスイッチ部、及び切り替えられた前記経路を経由した前記パケットデータを送出する出力インターフェースから構成され、前記入力インターフェースには複数の第１記憶部、該複数の第１記憶部に対応した複数の第２記憶部及び前記第１記憶部と第２記憶部を制御する制御部を設け、さらに、前記入力ポートに複数の第３記憶部を設けてなるパケット通信装置を利用したパケットデータ転送制御方法において、前記第１記憶部に前記パケットデータが格納され、前記第２記憶部に前記パケットデータの宛先情報を含むデータ部が転送されるステップと、前記第３記憶部は前記第２記憶部から出力される前記データ部を受信した後、前記スケジューラが前記データ部を選択し、所定の出力ポートに対し出力するステップとを有し、前記スケジューラにより前記所定の出力ポートに対し前記データ部が選択されない場合には、前記第３記憶部が前記データ部を廃棄し、前記制御部からの更なる出力要求に従い、前記第２記憶部は前記データ部を再度送出するステップとを含む事を特徴とするパケットデータ転送制御方法。
【００６８】
（ｉｉ）前記パケットデータは、先頭セル、後続セル及び最終セルを含み、前記第１記憶部は入力キューバッファであり、前記第２記憶部は前記先頭セルを含む前記データ部を格納する格納バッファであり、前記第３記憶部はポートバッファであることを特徴とする、上記（ｉ）に記載のパケットデータ転送制御方法。
【００６９】
（ｉｉｉ）前記送出するステップにおいて、前記第３記憶部は前記データ部の廃棄を前記制御部に通知し、前記制御部からの前記出力要求により前記第２記憶部から出力された前記データ部は、前記スケジューラにより前記所定の出力ポートに転送されることを特徴とする、上記（ｉ）に記載のパケットデータ転送制御方法。
【００７０】
【発明の効果】
以上説明した本発明の実施例によれば，次のような効果が期待できる。
（１）大容量のパケット通信装置を構成する場合に，少ないハード構成で，スケジューリング処理におけるネックの少ないスイッチを提供することができる。より具体的には，スイッチのポート数の増加やポート速度の向上に対応しやすく，かつ，高いスループットが実現可能なパケット通信装置が提供できる。
（２）品質クラス制御が有効に働く大容量のパケット通信装置を提供することができる。
【図面の簡単な説明】
【図１】本発明のパケット通信装置の全体構成を示すブロック図である。
【図２】本発明のパケット通信装置の入力回線インタフェースカードの構成を示すブロック図である。
【図３】本発明のパケット通信装置の出力回線インタフェースカードの構成を示すブロック図である。
【図４】本発明のパケット通信装置の回線インタフェースカードの構成を示すブロック図である。
【図５】本発明のパケット通信装置内部でのセル分割の動作を示すブロック図である。
【図６】本発明のパケット通信装置で使用する，セルフォーマット図である。
【図７】本発明のパケット通信装置のスイッチング動作を示す説明図である。
【図８】本発明のパケット通信装置のスイッチング動作を示す説明図である。
【図９】本発明のパケット通信装置のスイッチング動作を示す説明図である。
【図１０】従来の大容量パケットスイッチのスイッチング動作を示す説明図である。
【図１１】本発明のパケット通信装置の回線インタフェースカードにおける他の構成を示すブロック図である。
【図１２】本発明のパケット通信装置の回線インタフェースカードにおける他の構成を示すブロック図である。
【図１３】本発明のパケット通信装置で使用する，他のセルフォーマット図である。
【図１４】本発明のパケット通信装置で使用する，他のセルフォーマット図である。
【図１５】本発明のパケット通信装置のスイッチにおける他の構成を示すブロック図である。
【図１６】図１６（ａ）は従来におけるパケットデータ転送の際、先頭パケットと次のパケットとの間で生じるタイムラグを示し、図１６（ｂ）は本発明のポートフリービットを付加した場合の先頭パケットと次のパケットとの間で生じるタイムラグを示す図である。
【符号の説明】
１１…クロスバスイッチ，１２…スケジューラ，２０…入力回線インタフェース，３０…出力回線インタフェース，２３…ＶＯＱ，２４…ＶＯＱ制御部，６０…制御部、先頭セル格納レジスタ…２３B−１〜ｎ、入力ＦＩＦＯバッファ…１３−１〜ｎ、セレクタ…２３１−１〜ｎ。
【図１】
0003914771.tif 000002
【図２】
0003914771.tif 000003
【図３】
0003914771.tif 000004
【図４】
0003914771.tif 000005
【図５】
0003914771.tif 000006
【図６】
0003914771.tif 000007
【図７】
0003914771.tif 000008
【図８】
0003914771.tif 000009
【図９】
0003914771.tif 000010
【図１０】
0003914771.tif 000011
【図１１】
0003914771.tif 000012
【図１２】
0003914771.tif 000013
【図１３】
0003914771.tif 000014
【図１４】
0003914771.tif 000015
【図１５】
0003914771.tif 000016
【図１６】
0003914771.tif 000017