(57)【要約】【課題】ロードバランス型セルスイッチにおける入力インタフェースにてセル送出準備ができてから実際に中間バッファに対してセルを送出するまでの待ち時間を短くすることで本スイッチのセル処理時間（セル遅延）を少なくする。【解決手段】ＦＯＦＦ方式においては入力インタフェースにてセルの宛先となる出力インタフェース毎に最後に送出した中間バッファを記憶して、次に出力する中間バッファを決定していたため、セル送出の起点となる中間バッファはただ一つであったが、出力インタフェース毎に最後に送出した中間バッファを示すポインタを複数持つことにより、最も待ち時間が少なくなるポインタを使用して入力インタフェースから中間バッファへの出力を行えるようにする。【選択図】図７
2008042504.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力インタフェースと、
複数の中間バッファと、
複数の出力インタフェースと、
前記複数の入力インタフェースと前記複数の中間バッファとの間を接続する前段クロスバスイッチと、
前記複数の中間バッファと前記複数の出力インタフェースとの間を接続する後段クロスバスイッチと
を具備し、
前記複数の入力インタフェースの各々は、
入力インタフェースから出力インタフェースまでの経路毎に用意された複数のポインタを有し、
前記複数のポインタの中から、セル送出先となる中間バッファを示す最適な一つのポインタを使用して、前記複数の中間バッファにセルを均等に振り分ける
スイッチ装置。
【請求項２】
請求項１に記載のスイッチ装置において、
前記各入力インタフェースは、セルを宛先となる出力インタフェース毎に管理し、同一宛先のセルを前記複数の中間バッファの各々に均等に振り分け、
前記前段クロスバスイッチは、前記各入力インタフェースから受信したセルを前記各中間バッファにスイッチング処理し、
前記各中間バッファは、前記前段クロスバスイッチから受信したセルを宛先となる出力インタフェース毎に管理し、セルを宛先となる前記複数の出力インタフェースの各々に送出し、
前記後段クロスバスイッチは、前記各中間バッファから受信したセルを、宛先となる前記各出力インタフェースにスイッチング処理し、
前記各出力インタフェースは、前記後段クロスバスイッチから受信したセルを入力インタフェース単位に管理し、セルの順序逆転があった場合にはセル順序を元に戻すリオーダリング処理を実行する
スイッチ装置。
【請求項３】
請求項１又は２に記載のスイッチ装置において、
前記各入力インタフェースは、
セルを宛先となる出力インタフェース毎に管理するセル数管理部と、
セルを前記各中間バッファに均等に振り分けるセル選択部と、
前記各中間バッファへセルを均等に振り分けるためのポインタを複数管理し、セル送出準備が完了してから最短時間で出力できるポインタを認識するバッファ管理部と、
前記セル送出準備が完了してから最短時間で出力できるポインタを使用してセル出力を行う入力バッファと
を具備する
スイッチ装置。
【請求項４】
請求項３に記載のスイッチ装置において、
前記バッファ管理部は、前記セル送出準備が完了してから最短時間で出力できるポインタからある一定値以内に他のポインタがあるか検知し、
前記入力バッファは、前記最短時間でセル出力できるポインタからある一定値以内に他のポインタがあった場合、前記他のポインタのうち最も離れたポインタを使用してセル出力を行う
スイッチ装置。
【請求項５】
請求項３又は４に記載のスイッチ装置において、
前記バッファ管理部は、ポインタを、順方向に管理するポインタと逆方向に管理するポインタとの２グループに分けて管理する
スイッチ装置。
【請求項６】
（ａ）入力インタフェースが、セルを宛先となる出力インタフェース毎に管理し、入力インタフェースから出力インタフェースまでの経路毎に有している複数のポインタの中から、セル送出先となる中間バッファを示す最適な一つのポインタを決定するステップと、
（ｂ）前記最適な一つのポインタを使用して、同一宛先のセルを入力インタフェースから複数の中間バッファの各々に均等に振り分けるステップと
を具備する
スイッチ方法。
【請求項７】
請求項６に記載のスイッチ方法において、
前記（ａ）ステップは、
（ａ１）入力セルの宛先を検出し、入力バッファの該当するキュー（ｑｕｅｕｅ）にセルを書き込むステップと、
（ａ２）該当する宛先のセル数管理部にセル到着を通知し、前記セル数管理部のカウンタをカウントアップするステップと、
（ａ３）前記セル数管理部からのセルの宛先となる出力インタフェース毎のセル蓄積数を認識して、出力インタフェース毎にセル蓄積情報を判定結果として送出するステップと、
（ａ４）前記出力インタフェース毎のセル蓄積情報、ポインタ、及び前記前段クロスバスイッチの設定タイミングを考慮して、最も少ない待ち時間となるポインタと出力するセルを決定するステップと
を具備する
スイッチ方法。
【請求項８】
請求項７に記載のスイッチ方法において、
前記（ａ）ステップは、
（ａ５）前記入力バッファが読み出すセルのセル数と宛先となる出力インタフェースの情報とを含むセル選択通知を出力し、送出セル数を通知するポインタの更新通知を出力するステップと、
（ａ６）前記セル選択通知に基づき、該当するセル数管理部のカウンタを前記送出セル数分だけカウントダウンし、使用されたポインタを前記送出セル数分だけ更新するステップと
を更に具備する
スイッチ方法。
【請求項９】
請求項６乃至８のいずれか一項に記載のスイッチ方法において、
前記（ｂ）ステップは、
（ｂ１）入力インタフェースが、受信セルを宛先となる出力インタフェース毎に管理し、宛先となる出力インタフェース毎にセルを均等に中間バッファに振り分けるためにセルを前段クロスバスイッチに送出するステップと、
（ｂ２）前段クロスバスイッチが、入力インタフェースから出力されたセルを中間バッファにスイッチング処理するステップと、
（ｂ３）中間段バッファが、受信したセルを宛先となる出力インタフェース毎に格納し、格納されている各セルを後段クロスバスイッチに出力するステップと、
（ｂ４）後段クロスバスイッチが、中間段バッファから出力されたセルを出力インタフェースに出力するステップと、
（ｂ５）出力インタフェースが、後段クロスバスイッチからセルを受け取り、入力インタフェース毎にセル順序を確認して、セルの順序逆転があった場合に、正しいセル順にするステップと
を更に具備する
スイッチ方法。
【請求項１０】
請求項６乃至９のいずれか一項に記載のスイッチ方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スイッチ装置に関し、特に高速、大容量のスイッチ装置に関する。
【背景技術】
【０００２】
セルの振り分け処理を行うための一般的なスイッチ構成としては、入力バッファ型スイッチ、出力バッファ型スイッチ、共有バッファ型スイッチがある。
【０００３】
図１は、入力バッファ型スイッチ構成を表すブロック図である。入力バッファ型スイッチでは、複数の入力ポートから入力される固定長セルの宛先ポートが同一であった場合の待ち合わせ用に入力ポート毎に固定長セルの蓄積用のバッファを配備している。このスイッチ構成の場合、ある入力ポートのバッファの先頭にある固定長セルが、出力されるまでバッファの２番目以降の固定長セルは出力ができないため、バッファの先頭に格納されている固定長セルが他入力ポートの固定長セルと宛先出力ポート競合により待たされた場合には、２番目の固定長セルの宛先ポートが競合していない場合でも出力できない状態（ＨＯＬブロッキング：Ｈｅａｄ  Ｏｆ  Ｌｉｎｅブロッキング）となってしまいスループットの低下を招く欠点がある。
【０００４】
これに対処するために、図２に示すように、各入力ポートのバッファを宛先出力ポート毎に配備（ＶＯＱ：Ｖｉｒｔｕａｌ  Ｏｕｔｐｕｔ  Ｑｕｅｕｅ）した入力バッファ型スイッチの形態もある。但し、どの入力ポートからどの出力ポートへ固定長セルを転送させるかを決定するスケジューリングを全経路（全入力ポート数×全出力ポート数）に対して行う必要があるために計算量の増加（Ｈ／Ｗ規模増加）を招き、多ポート収容を考慮すると実現が困難になるという欠点がある。
【０００５】
図３は、出力バッファ型スイッチ構成を表すブロック図である。出力バッファ型スイッチでは、全入力ポートから入力される固定長セルを多重処理して入力ポート速度のＮ倍（Ｎ：収容ポート数）の信号として各出力ポートまで出力される。出力ポートでは、複数の入力ポートからの固定長セルが一時期に集中して届く場合の待ち合わせ用に固定長セルの蓄積用のバッファを配備している。このスイッチ構成の場合、スイッチの内部処理速度として、インタフェース速度のＮ倍（Ｎ：入力ポート数）の処理速度が必要となり、ポート速度の高速化と多ポート収容を考えた場合、実現が困難になるという欠点がある。
【０００６】
図４は、共有バッファ型スイッチ構成を表すブロック図である。共有バッファ型スイッチでは入力ポートと出力ポートの間に全ポート共通で使用するバッファを配備している。全入力ポートから入力される固定長セルを多重処理して入力ポート速度のＮ倍（Ｎ：入力ポート数）の信号として、バッファに書込みを行い、書き込み速度と同じ速度で各出力ポートに出力する固定長セルの読出を行う。このスイッチ構成の場合、スイッチの内部処理速度として、インタフェース速度のＮ倍（Ｎ：入力ポート数）の処理速度が必要となり、ポート速度の高速化と多ポート収容を考えた場合実現が困難になるという欠点がある。
【０００７】
入力バッファ型スイッチの全入出力ポートを対象にしたスケジューラ処理をなくし、出力バッファ型スイッチや共有バッファ型スイッチのような収容ポート数増加に伴う内部処理速度の高速化を伴わないスイッチ構成として、ロードバランス型セルスイッチがある。ロードバランス型セルスイッチは固定長セルを扱うセルスイッチである。
【０００８】
図５に、収容インタフェース数Ｎの場合のロードバランス型セルスイッチ構成を示す。
ロードバランス型セルスイッチは、入力インタフェース（Ｉｎｔｅｒｆａｃｅ）：１−１〜１−Ｎ、前段クロスバスイッチ（ＸＢＡＲ  Ｓｗｉｔｃｈ）：２、中間バッファ（Ｂｕｆｆｅｒ）：３−１〜３−Ｎ、後段クロスバスイッチ：４、出力インタフェース：５−１〜５−Ｎにより構成される。ここでは、入力インタフェース、中間バッファ、出力インタフェースの個数をいずれもＮ個と記載しているが入力インタフェース、中間バッファ、出力インタフェースの数がそれぞれ異なる場合も許容される。入力インタフェース：１−１〜１−Ｎは速度Ｒのデータを収容するインタフェースブロックである。前段クロスバスイッチ：２は、クロスバスイッチであり、入力インタフェース：１−１〜１−Ｎからのトラヒックが中間バッファ：３−１〜３−Ｎへ均等（１／Ｎ）に出力されるような周期的な設定となっている。なお、ここでは、前段クロスバスイッチ：２をクロスバスイッチとしているが、光ケーブル等を用いて物理的にメッシュ接続とする形態等も考えられる。
【０００９】
つまり、１中間バッファブロックでは、全インタフェースからのデータ容量の合計であるＮ×Ｒの１／Ｎである速度Ｒのトラヒックを収容することになる。中間バッファ：３−１〜３−Ｎはそれぞれセルの宛先となる出力インタフェース毎に個別にｑｕｅｕｉｎｇするようにＶＯＱ（Ｖｉｒｔｕａｌ  Ｏｕｔｐｕｔ  Ｑｕｅｕｅ）構成となっており、１中間バッファブロックにて全体の１／Ｎのトラヒックを処理する。図５では、Ｎ個のセルが入力インタフェース：１−１から出力インタフェース：５−１へとスイッチングされる場合を示している。入力インタフェース：１−１から出力されたＮ個のセルは前段クロスバスイッチ：２により中間バッファ：３−１〜３−Ｎへ分散される。中間バッファ：３−１〜３−Ｎはそれぞれセルを宛先となる出力インタフェース毎に個別にｑｕｅｕｉｎｇするようにＶＯＱ（Ｖｉｒｔｕａｌ  Ｏｕｔｐｕｔ  Ｑｕｅｕｅ）構成となっており、到着したセルは出力インタフェース：５−１宛のｑｕｅｕｅ（図５では各中間バッファの一番上のｑｕｅｕｅ）に蓄積される。中間バッファ：３−１〜３−Ｎへ分散されたセルは後段クロスバスイッチ：４によりセルの宛先となる出力インタフェース：５−１へそれぞれ到着する。なお、ここでは、後段クロスバスイッチ：４をクロスバスイッチとしているが、光ケーブル等を用いて物理的にメッシュ接続とする形態等も考えられる。
【００１０】
このように、ロードバランス型セルスイッチでは、一旦入出力のインタフェースの中間に位置する中間バッファ：３−１〜３−Ｎにセルを分散させ、各中間バッファからセル本来の宛先となる出力インタフェースにセルを送出することにより、１中間バッファあたりの負荷を分散して収容ポート数増加によるデバイス処理速度増大や、入力バッファ型スイッチに必要となるスケジューラ処理を不要としている。
【００１１】
ロードバランス型セルスイッチでポイントになるのは入力インタフェース：１−１〜１−Ｎから中間バッファ：３−１〜３−Ｎへのセル振り分けである。入力されるセルが常にＮセル単位であれば中間バッファ：３−１〜３−Ｎに均等にセルを分散することができるが、そうでない場合には特定の中間バッファにセルが偏って蓄積されてしまうことがある。一つの中間バッファは、全ポートの収容レートの１／Ｎの速度で動作しており、それがＮブロックあることによって全体として一つのスイッチとして動作しているために一つの中間バッファにセルが偏って蓄積するとスループットが１／Ｎとなってしまうことになる。
【００１２】
このため、ロードバランス型セルスイッチでは中間バッファ：３−１〜３−Ｎにいかにしてセルを均等に分散させるかがポイントとなる。代表的な分散方式としては、ＵＦＳ（Ｕｎｉｆｏｒｍ  Ｆｒａｍｅ  Ｓｐｒｅａｄｉｎｇ）と、ＦＯＦＦ（Ｆｕｌｌ  Ｏｒｄｅｒｅｄ  Ｆｒａｍｅｓ  Ｆｉｒｓｔ）の２方式がある。
【００１３】
ＵＦＳは、入力インタフェース：１−１〜１−Ｎから中間バッファ：３−１〜３−Ｎに送出する同一宛先（出力インタフェース）のセル数を常にＮセルに揃えて、中間バッファ：３−１→中間バッファ：３−２  →・・・→  中間バッファ：３−Ｎの順に送出する方式である。入力インタフェースにて送出できるセルがＮセルに満たない場合は、空きセルを挿入することでＮセルに揃える。このようにすることで中間バッファ：３−１〜３−Ｎへのセル蓄積数は常に同一となり、セル蓄積数の偏りがなくなる。またセルの順序も確保されるため出力インタフェースでのセル順序並び替え処理の必要もない。
【００１４】
ＦＯＦＦは、各入力インタフェースにてセルの宛先となる出力インタフェース毎に最後に送出した中間バッファを記憶しておき、次にセルを送出するときにはその続きの中間バッファから送出する方式である。このように処理することにより、中間バッファ：３−１〜３−Ｎへのセル蓄積数は偏ることがなくなる。この方式の場合、宛先となる出力インタフェースにセルが順序逆転して到着する場合があるが、中間バッファ：３−１〜３−Ｎへのセルの振り分けを順番に１セルずつ行うことで、並び替えが必要なセル間の最大セル時間差が規定できるため、簡易なセル順序並び替えが可能となっている。
【００１５】
ＵＦＳは常にＮセル単位でセルを入力インタフェースから中間バッファに送出する。この時、Ｎ個のセルは常に先頭の中間バッファ（図５における中間バッファ：３−１）から送出しはじめる。また、クロスバスイッチはセル時間毎に各中間バッファに１セル出力するような周期的な設定となっている。このため、入力インタフェースにてＮセル送出準備が完了してからクロスバスイッチ設定が先頭の中間バッファに出力できるタイミングになるまでの待ち時間が生じることになる。図６にそのイメージを示す。
【００１６】
図６は、インタフェース数Ｎ＝４の場合の例を示している。セル時間３からセル時間６にかけて４セル受信したため、セル時間７からセルを送出可能となるが、先頭の中間バッファ（図６では中間バッファ＃１）からセルを送出しなければならないために中間バッファ＃１へ出力できるセル時間９になるまで待ち状態となる。このため、ＵＦＳでは収容するインタフェース数Ｎの値が大きくなればなるほど入力インタフェースから中間バッファへの出力待ち時間が増えてしまう傾向になる欠点がある。ＦＯＦＦに関しても同様に（常に先頭の中間バッファからではないが）次にセルを送出する中間バッファがＮ個のうちの一つに限定されるために同様の待ち時間が発生する欠点がある。
【００１７】
以上説明したように、ロードバランス型セルスイッチにおけるＵＦＳ方式やＦＯＦＦ方式では、入力インタフェースからセルを送出する宛先となる中間バッファが１つに決められているために、特に多インタフェース：収容時には入力インタフェースにてセル送出準備ができてから実際に中間バッファに対してセルを送出するまでの待ち時間が長くなってしまう課題がある。
【００１８】
要約すると、一般に入力バッファ型スイッチでは全入出力ポートを対象としたスケジューラ処理の複雑さ、出力バッファ型スイッチと共有バッファ型スイッチでは、内部処理速度の高速化が高速インタフェースの多ポート収容時の課題となる。これら課題を解消したスイッチとしてロードバランス型セルスイッチがあるが、ロードバランス型セルスイッチでは多ポート収容時のセル伝送遅延（セル入力からセル出力までの遅延）が大きくなることが課題であった。
【００１９】
関連する技術として、特開２０００−０１３４３４号公報（特許文献１）にパケット多重装置及び通信方法が開示されている。
この従来技術では、パケットの取り出しが一巡する度に、パケットを取り出す順番を変更する。この時、各入力ポートからパケットを取り出す順番が、１番目からｎ番目まで同じ確率で割り当てられるように制御する。更に、各入力ポートについて、その入力ポートの直前にパケットが取り出される入力ポートが１番目のポートからｎ番目のポートまで同じ頻度であるように制御する。すなわち、複数のポインタを用いて、複数の入力ポート（バッファメモリ）のうち最適な入力ポートを選択し、その入力ポートからパケットを取り出す。
【００２０】
また、特開２０００−３４９７８６号公報（特許文献２）にパケット交換装置が開示されている。
この従来技術では、共通バッファ形スイッチのアドレス管理において、出力回線や品質クラス等のフロー毎に、書き込みアドレスレジスタ及び読み出しアドレスレジスタを有する出力順序チェーンを複数割り当てる。これら複数の出力順序チェーンを使用してパイプライン読み出しが行えるように、該当するフローのセルを複数の出力順序チェーンへ巡回振り分けを行う振り分けポインタと書き込みアドレスレジスタ選択回路、また、複数出力順序チェーンからの巡回読み出しを行う読み出しポインタと読み出しアドレスレジスタ選択回路を設ける。
【００２１】
特開２００２−１６４９０２号公報（特許文献３）にスイッチング方法及び装置が開示されている。
この従来技術では、各出力ポート毎に用意された論理バッファを有する入力バッファ部と、第１及び第２の２つのスケジューラとを入力ポート毎に設け、且つ第３及び第４の２つのスケジューラを各出力ポート毎に設けて、ディジタル化可能な情報をセル単位で伝送・交換する。すなわち、出力ポート毎に複数の論理バッファを有する。
【００２２】
特開２００２−１６４９１４号公報（特許文献４）にパケット交換装置が開示されている。
このパケット交換装置は、入力ポート単位にパケットを受信する複数の受信部と、出力ポート単位にパケットを送信する複数の送信部と、受信部から受け取ったパケットを所望の出力方路に対応する送信部へ転送するスイッチ部とを備える。更に、各受信部は、出力方路を決定する方路決定部と、出力方路毎にパケットを蓄積する複数のバッファとを備える。スイッチ部は、各受信部内の複数のバッファに個別に対応した複数の小容量バッファを備え、当該小容量バッファ内の空き状況を、対応する受信部に対して個別に通知する入力部と、各入力部内の小容量バッファに蓄積されたパケットを受け取り、当該パケットを対応する出力方路の送信部に対して個別に出力する出力部とを備える。
【００２３】
【特許文献１】特開２０００−０１３４３４号公報
【特許文献２】特開２０００−３４９７８６号公報
【特許文献３】特開２００２−１６４９０２号公報
【特許文献４】特開２００２−１６４９１４号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
本発明の目的は、ロードバランス型セルスイッチにおける入力インタフェースにてセル送出準備ができてから実際に中間バッファに対してセルを送出するまでの待ち時間を短くすることで本スイッチのセル処理時間（セル遅延）を少なくするロードバランス型セルスイッチ装置を提供することである。
【課題を解決するための手段】
【００２５】
以下に、［発明を実施するための最良の形態］で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。但し、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００２６】
本発明のスイッチ装置は、複数の入力インタフェース（１１−１〜１１−Ｎ：Ｎは正の整数）と、複数の中間バッファ（１３−１〜１３−Ｎ）と、複数の出力インタフェース（１５−１〜１５−Ｎ）と、複数の入力インタフェース（１１−１〜１１−Ｎ）と複数の中間バッファ（１３−１〜１３−Ｎ）との間を接続する前段クロスバスイッチ（１２）と、複数の中間バッファ（１３−１〜１３−Ｎ）と複数の出力インタフェース（１５−１〜１５−Ｎ）との間を接続する後段クロスバスイッチ（１４）とを具備する。
前記複数の入力インタフェース（１１−１〜１１−Ｎ）の各々は、入力インタフェース（１１−１〜１１−Ｎ）から出力インタフェース（１５−１〜１５−Ｎ）までの経路毎に用意された複数のポインタを有する。そして、前記複数のポインタの中から、セル送出先となる中間バッファを示す最適な一つのポインタを使用して、前記複数の中間バッファ（１３−１〜１３−Ｎ）にセルを均等に振り分ける。
【００２７】
各入力インタフェース（１１−１〜１１−Ｎ）は、セルを宛先となる出力インタフェース（１５−１〜１５−Ｎ）毎に管理し、同一宛先のセルを複数の中間バッファ（１３−１〜１３−Ｎ）の各々に均等に振り分ける。前段クロスバスイッチ（１２）は、各入力インタフェース（１１−１〜１１−Ｎ）から受信したセルを各中間バッファ（１３−１〜１３−Ｎ）にスイッチング処理する。各中間バッファ（１３−１〜１３−Ｎ）は、前段クロスバスイッチ（１２）から受信したセルを宛先となる出力インタフェース（１５−１〜１５−Ｎ）毎に管理し、セルを宛先となる複数の出力インタフェース（１５−１〜１５−Ｎ）の各々に送出する。後段クロスバスイッチ（１４）は、各中間バッファ（１３−１〜１３−Ｎ）から受信したセルを、宛先となる各出力インタフェース（１５−１〜１５−Ｎ）にスイッチング処理する。各出力インタフェース（１５−１〜１５−Ｎ）は、後段クロスバスイッチ（１４）から受信したセルを入力インタフェース（１１−１〜１１−Ｎ）単位に管理し、セルの順序逆転があった場合にはセル順序を元に戻すリオーダリング処理を実行する。
【００２８】
各入力インタフェース（１１−１〜１１−Ｎ）は、セルを宛先となる出力インタフェース（１５−１〜１５−Ｎ）毎に管理するセル数管理部（２２−１〜２２−Ｎ）と、セルを各中間バッファ（１３−１〜１３−Ｎ）に均等に振り分けるセル選択部（２４）と、各中間バッファ（１３−１〜１３−Ｎ）へセルを均等に振り分けるためのポインタ（２６−１〜２６−Ｍ：Ｍは正の整数）を複数管理し、セル送出準備が完了してから最短時間で出力できるポインタ（２６−１〜２６−Ｍ）を認識するバッファ管理部（２５）と、セル送出準備が完了してから最短時間で出力できるポインタ（２６−１〜２６−Ｍ）を使用してセル出力を行う入力バッファ（２３）とを具備する。
【００２９】
バッファ管理部（２５）は、セル送出準備が完了してから最短時間で出力できるポインタ（２６−１〜２６−Ｍ）からある一定値以内に他のポインタ（２６−１〜２６−Ｍ）があるか検知する。入力バッファ（２３）は、最短時間でセル出力できるポインタ（２６−１〜２６−Ｍ）からある一定値以内に他のポインタ（２６−１〜２６−Ｍ）があった場合、他のポインタ（２６−１〜２６−Ｍ）のうち最も離れたポインタを使用してセル出力を行う。
【００３０】
バッファ管理部（２５）は、ポインタ（２６−１〜２６−Ｍ）を、順方向に管理するポインタと逆方向に管理するポインタとの２グループに分けて管理する。
【００３１】
本発明のスイッチ方法及びプログラムは、（ａ）入力インタフェース（１１−１〜１１−Ｎ）が、セルを宛先となる出力インタフェース（１５−１〜１５−Ｎ）毎に管理し、入力インタフェース（１１−１〜１１−Ｎ）から出力インタフェース（１５−１〜１５−Ｎ）までの経路毎に有している複数のポインタ（２６−１〜２６−Ｍ）の中から、セル送出先となる中間バッファ（１３−１〜１３−Ｎ）を示す最適な一つのポインタを決定するステップと、（ｂ）最適な一つのポインタ（２６−１〜２６−Ｍ）を使用して、同一宛先のセルを入力インタフェース（１１−１〜１１−Ｎ）から複数の中間バッファ（１３−１〜１３−Ｎ）の各々に均等に振り分けるステップとを具備する。
【００３２】
（ａ）ステップは、（ａ１）入力セルの宛先を検出し、入力バッファ（２３）の該当するキュー（ｑｕｅｕｅ）にセルを書き込むステップと、（ａ２）該当する宛先のセル数管理部（２２−１〜２２−Ｎ）にセル到着を通知し、セル数管理部（２２−１〜２２−Ｎ）のカウンタをカウントアップするステップと、（ａ３）セル数管理部（２２−１〜２２−Ｎ）からのセルの宛先となる出力インタフェース（１５−１〜１５−Ｎ）毎のセル蓄積数を認識して、出力インタフェース（１５−１〜１５−Ｎ）毎にセル蓄積情報を判定結果として送出するステップと、（ａ４）出力インタフェース（１５−１〜１５−Ｎ）毎のセル蓄積情報、ポインタ（２６−１〜２６−Ｍ）、及び前段クロスバスイッチ（１２）の設定タイミングを考慮して、最も少ない待ち時間となるポインタと出力するセルを決定するステップとを具備する。
【００３３】
（ａ）ステップは、（ａ５）入力バッファ（２３）が読み出すセルのセル数と宛先となる出力インタフェース（１５−１〜１５−Ｎ）の情報とを含むセル選択通知を出力し、送出セル数を通知するポインタ（２６−１〜２６−Ｍ）の更新通知を出力するステップと、（ａ６）セル選択通知に基づき、該当するセル数管理部（２２−１〜２２−Ｎ）のカウンタを送出セル数分だけカウントダウンし、使用されたポインタ（２６−１〜２６−Ｍ）を送出セル数分だけ更新するステップとを更に具備する。
【００３４】
（ｂ）ステップは、（ｂ１）入力インタフェース（１１−１〜１１−Ｎ）が、受信セルを宛先となる出力インタフェース（１５−１〜１５−Ｎ）毎に管理し、宛先となる出力インタフェース（１５−１〜１５−Ｎ）毎にセルを均等に中間バッファ（１３−１〜１３−Ｎ）に振り分けるためにセルを前段クロスバスイッチ（１２）に送出するステップと、（ｂ２）前段クロスバスイッチ（１２）が、入力インタフェース（１１−１〜１１−Ｎ）から出力されたセルを中間バッファ（１３−１〜１３−Ｎ）にスイッチング処理するステップと、（ｂ３）中間段バッファが、受信したセルを宛先となる出力インタフェース（１５−１〜１５−Ｎ）毎に格納し、格納されている各セルを後段クロスバスイッチ（１４）に出力するステップと、（ｂ４）後段クロスバスイッチ（１４）が、中間段バッファから出力されたセルを出力インタフェース（１５−１〜１５−Ｎ）に出力するステップと、（ｂ５）出力インタフェース（１５−１〜１５−Ｎ）が、後段クロスバスイッチ（１４）からセルを受け取り、入力インタフェース（１１−１〜１１−Ｎ）毎にセル順序を確認して、セルの順序逆転があった場合に、正しいセル順にするステップとを更に具備する。
【発明の効果】
【００３５】
ロードバランス型セルスイッチにおいて入力インタフェースから中間バッファへのセル振り分け処理において次のセル送出の宛先となる中間バッファを示すポインタを複数持つことにより多ポート収容時でもセル送出待ち時間を少なくすることができる。
【発明を実施するための最良の形態】
【００３６】
以下に本発明の第１実施形態について添付図面を参照して説明する。
図７は、本発明の第１実施形態を示すブロック図である。図７はＮ個のインタフェースを収容した場合の構成である。
本発明のロードバランス型スイッチ装置は、入力インタフェース（Ｉｎｔｅｒｆａｃｅ）：１１−１〜１１−Ｎと、前段クロスバスイッチ（ＸＢＡＲ  Ｓｗｉｔｃｈ）：１２と、中間バッファ（Ｂｕｆｆｅｒ）：１３−１〜１３−Ｎと、後段クロスバスイッチ１４と、出力インタフェース：１５−１〜１５−Ｎを備えている。
【００３７】
ここでは、入力インタフェース、中間バッファ、出力インタフェースの個数をいずれもＮ個と記載しているが入力インタフェース、中間バッファ、出力インタフェースの数がそれぞれ異なる場合も許容される。
【００３８】
入力インタフェース：１１−１〜１１−Ｎは、受信セルを一時蓄積するブロックで、セルを中間バッファ：１３−１〜１３−Ｎに振り分けるために前段クロスバスイッチ：１２の設定タイミングを考慮しながらセルを前段クロスバスイッチ：１２に送出する。前段クロスバスイッチ：１２は、周期的な固定設定で動作するクロスバスイッチで入力インタフェース：１１−１〜１１−Ｎから受信したセルを所定の設定に従いスイッチングして、中間バッファ：１３−１〜１３−Ｎに出力する。ここでは、前段クロスバスイッチ：１２をクロスバスイッチとしているが、光ケーブル等を用いて物理的にメッシュ接続とする形態も考えられる。中間バッファ：１３−１〜１３−Ｎは、受信したセルを宛先となる出力インタフェース単位に格納するバッファ（ＶＯＱ：Ｖｉｒｔｕａｌ  Ｏｕｔｐｕｔ  Ｑｕｅｕｅ）を内蔵しており、セルを宛先となる出力インタフェースに出力するために後段クロスバスイッチ１４の設定タイミングを考慮しながらセルを後段クロスバスイッチ１４に出力する。後段クロスバスイッチ１４は、周期的な固定設定で動作するクロスバスイッチで中間バッファ：１３−１〜１３−Ｎから受信したセルを所定の設定に従いスイッチングして、出力インタフェース：１５−１〜１５−Ｎに出力する。ここでは、後段クロスバスイッチ：１４をクロスバスイッチとしているが、光ケーブル等を用いて物理的にメッシュ接続とする形態も考えられる。出力インタフェース：１５−１〜１５−Ｎは、後段クロスバスイッチ１４からセルを受け取り、入力インタフェース：１１−１〜１１−Ｎ毎にセル順序を確認して、セルの順序逆転があった場合に、正しいセル順にする処理を行う。
【００３９】
図８は、図７における入力インタフェースの内部構成を示すブロック図である。
本発明のスイッチに関しては、入力されてくるセルがどの出力インタフェースを宛先とするかはあらかじめ判明しているものとする。形態としては、セルのヘッダやセルの併走信号として入力されてくることが考えられる。宛先検出部：２１は入力されてくるセルの宛先情報を検出するブロックで宛先情報をもとに、入力バッファ：２３の該当するｑｕｅｕｅ（キュー）にセルを書き込む。また、該当する宛先のセル数管理部にセル到着を通知する。入力バッファ：２３は、セルの宛先となる出力インタフェース単位に格納するバッファ（ＶＯＱ：Ｖｉｒｔｕａｌ  Ｏｕｔｐｕｔ  Ｑｕｅｕｅ）を構成しており宛先検出部：２１の制御に従いセルが書き込まれ、バッファ管理部：２５からの制御に従いセルが読み出される。セル数管理部：２２−１〜２２−Ｎはそれぞれセルの宛先となるインタフェース毎にセル数を管理しているブロックで、宛先検出部：２１からのセル到着通知によりカウントアップし、送出セル選択部：２４からのセル選択通知によりカウントダウンする。セル数管理部：２２−１〜２２−Ｎの各カウント値は送出セル選択部：２４に出力される。送出セル選択部：２４は、セル数管理部：２２−１〜２２−Ｎからのセルの宛先となるインタフェース毎のセル蓄積数を認識して、宛先インタフェース毎に「Ｎセル以上蓄積」、「１セル以上Ｎセル未満蓄積」「蓄積セルなし」等のセル蓄積情報を判定結果としてバッファ管理部：２５に出力する。また、バッファ管理部：２５よりセル選択通知を受信し、その結果を該当するセル数管理部に通知する。バッファ管理部：２５は、送出セル選択部：２４より受信する宛先となる出力インタフェース毎の「Ｎセル以上蓄積」、「１セル以上Ｎセル未満蓄積」「蓄積セルなし」等のセル蓄積情報とポインタ：２６−１〜２６−Ｍから受信するポインタと前段クロスバスイッチの設定タイミングを考慮しながらどの宛先のどのポインタを使ってセルを送出するかを決定し、入力バッファ：２３にセルの読み出し制御を行うと同時に入力バッファ：２３からの読み出すセルのセル数と宛先となる出力インタフェース情報から成るセル選択通知を送出セル選択部：２４に出力する。ポインタ：２６−１〜２６−Ｍは出力インタフェース単位にＮ個のポインタを有するブロックでバッファ管理部：２５に各ポインタ値を提示する。また、使用されたポインタはバッファ管理部：２５により更新処理される。
【００４０】
次に、図９を参照して、図７に示す本実施形態の動作について説明する。
（１）ステップＳ１０１
入力インタフェース：１１−１〜１１−Ｎは、受信セルを宛先となる出力インタフェース：１５−１〜１５−Ｎ毎に管理し、宛先となる出力インタフェース：１５−１〜１５−Ｎ毎にセルを中間バッファ：１３−１〜１３−Ｎに振り分けるために前段クロスバスイッチ：１２の設定タイミングを考慮しながらセルを前段クロスバスイッチ：１２に送出する（入力インタフェース：１１−１〜１１−Ｎ内の詳細動作は図８の説明参照）。
（２）ステップＳ１０２
各入力インタフェース：１１−１〜１１−Ｎから出力されたセルは前段クロスバスイッチ：１２により中間バッファ：１３−１〜１３−Ｎにスイッチング処理（セルの振り分け処理）される（前段クロスバスイッチの処理は図１１の説明参照）。
（３）ステップＳ１０３
中間段バッファ：１３−１〜１３−Ｎでは、受信したセルを宛先となる出力インタフェース毎に格納する。格納されている各セルは宛先となる出力インタフェースにスイッチングされるようにタイミングを考慮しながら後段クロスバスイッチ：１４に出力される。
（４）ステップＳ１０４
中間段バッファ：１３−１〜１３−Ｎから出力されたセルは後段クロスバスイッチ：１４により、出力インタフェース：１５−１〜１５−Ｎに出力される（後段クロスバスイッチの処理は図１２の説明参照）。
（５）ステップＳ１０５
出力インタフェース：１５−１〜１５−Ｎは、後段クロスバスイッチ１４からセルを受け取り、入力インタフェース：１１−１〜１１−Ｎ毎にセル順序を確認して、セルの順序逆転があった場合に、正しいセル順にする処理を行う。そして、正しいセル順でセルを出力する。
【００４１】
図１０を参照して、図８に示す入力インタフェースの内部構成の動作について説明する。
図８は、図７に示す本実施形態における入力インタフェース：１１−１〜１１−Ｎの内部構成図である。本発明のスイッチに関しては、入力されてくるセルがどの出力インタフェースを宛先とするかはあらかじめ判明しているものとする。形態としては、セルのヘッダやセルの併走信号として入力されてくることが考えられる。
（１）ステップＳ２０１
宛先検出部：２１では、入力セルの宛先を検出し、入力バッファ：２３の該当するｑｕｅｕｅにセルを書き込む。
（２）ステップＳ２０２
また、該当する宛先のセル数管理部にセル到着を通知し、これにより該当する宛先のセル数管理部のカウンタがカウントアップされる。例えば、到着したセルが出力インタフェース：ｋ（１≦ｋ≦Ｎ）宛のセルの場合には、入力バッファ：２３内部のバッファのうち、宛先インタフェース：ｋに相当するバッファにセルが書き込まれ、宛先インタフェース：ｋに相当するセル数管理部：２２−ｋのカウンタがカウントアップされる。
（３）ステップＳ２０３
送出セル選択部：２４は、セル数管理部：２２−１〜２２−Ｎからのセルの宛先となる出力インタフェース毎のセル蓄積数を認識して、宛先となる出力インタフェース毎に「Ｎセル以上蓄積」、「１セル以上Ｎセル未満蓄積」「蓄積セルなし」等のセル蓄積情報を判定結果としてバッファ管理部：２５に出力する。
（４）ステップＳ２０４
バッファ管理部：２５は、送出セル選択部：２４より受信するセル蓄積情報と、ポインタ：２６−１〜２６−Ｍ（Ｍ：使用ポインタ数）から受信するポインタと、前段クロスバスイッチの設定タイミングとを考慮して、最も少ない待ち時間となるポインタとその時出力するセルを決定する。そして、入力バッファ：２３にセルの読み出し制御を行い、入力バッファ：２３から前段クロスバスイッチ：１２にセルが送出される。バッファ管理部：２５において最も少ない待ち時間で出力できるセルが複数存在する場合のセルの選択方法としては、セルの蓄積数の最も多い宛先のセルを優先する方式や出力するセルの宛先となる出力インタフェースをＲｏｕｎｄ  Ｒｏｂｉｎ（ラウンドロビン）で決定していく方式等が考えられる。なお、出力できるセルが複数存在するのは、セルは宛先となる出力インタフェース毎に管理されるため、異なる宛先を持つセルが同一中間段に出力できる状況になる場合があるためである。
（５）ステップＳ２０５
また、バッファ管理部：２５では、送出セル選択部：２４に、入力バッファ：２３からの送出セル数、及び、宛先となる出力インタフェース情報から成るセル選択通知を出力し、該当する宛先のポインタにはセルの出力数（送出セル数）を通知するポインタの更新通知を出力する。
（６）ステップＳ２０６
送出セル選択部：２４ではバッファ管理部：２５よりセル選択通知を受信し、その結果を該当するセル数管理部に通知することにより、該当するセル数管理部のカウンタが送出セル数分だけカウントダウンされる。使用されたポインタは送出セル数分だけ更新（もとのポインタ値＋送出セル数（ｍｏｄｕｌｏ  Ｎ））される。
【００４２】
図１１は、図７におけるインタフェース数Ｎ＝４の場合の前段クロスバスイッチ：１２の動作説明図である。前段クロスバスイッチ：１２の設定はＮ（図１１ではＮ＝４）セル時間周期で各出力ポートが１セル時間ずつ各入力ポートを選択していく形態となっており、出力ポート間で選択する入力ポートは１セル時間ずつシフトしている。このため、図１１に示すように１セル時間ずつずらして各入力ポートから４セル連続で入力すると出力ポート１を起点に各出力ポートに各入力ポートのセルが１セルずつ均等に出力されることになる。
【００４３】
図１２は、図７におけるインタフェース数Ｎ＝４の場合の後段クロスバスイッチ：１４の動作説明図である。図１２の例の場合、「１−ｎ（中間バッファ１からのｎ番目の出力セル）」のセルは出力ポート１、「２−ｎ」のセルは出力ポート２、「３−ｎ」のセルは出力ポート３、「４−ｎ」のセルは出力ポート３がそれぞれ宛先ポートとする。後段クロスバスイッチ：１４の設定はＮ（図１２ではＮ＝４）セル時間周期で各出力ポートが１セル時間ずつ各入力ポートを選択していく形態となっており、出力ポート間で選択する入力ポートは１セル時間ずつシフトしている。このため、図１２に示すように各中間バッファからセルを入力すると各中間バッファに分散されていたセルが本来の宛先ポートに出力されていく。
【００４４】
図１３は、ポインタが１つ（従来例中のＦＯＦＦ）の場合の入力インタフェースから中間バッファへのセル出力遅延のイメージ図である。本実施例は、入力インタフェース数Ｎ＝８で同一出力インタフェース宛先のセルを扱う場合である。セル１，２はセル時間５で送出準備が完了するが、ポインタ値が＃７なので中間バッファ＃８からセルを出力必要があるため、ＸＢＡＲ設定が＃８になるまで待ち時間となりセル時間８からセルが送出される。なお、ＸＢＡＲ設定は、出力可能な中間バッファを示している。この時、２セル送出したためにポインタは＃７から＃１に更新される。その後、セル時間１２で３セル送出可能となるが、ポインタが＃１なのでＸＢＡＲ設定が＃２となるセル時間１８まで待ち時間となり、セル時間１８からセル送出を開始することになる。この時、３セル送出したためにポインタは＃１から＃４に更新される。
【００４５】
図１４は、ポインタが複数（本発明）の場合の入力インタフェースから中間バッファへのセル出力遅延のイメージ図で、ポインタが２つの場合を示している。本実施例は、入力インタフェース数Ｎ＝８で同一出力インタフェース宛先のセルを扱う場合である。セル１，２はセル時間５で送出準備が完了するが、ポインタ値が＃４と＃７なので待ち時間が少ないＡポインタの方の中間バッファ＃８からセルを出力必要があるため、ＸＢＡＲ設定が＃８になるまで待ち時間となりセル時間８からセルが送出される。この時、２セル送出したためにＡポインタは＃７から＃１に更新される。その後、セル時間１２で３セル送出可能となり、ポインタが＃１か＃４なので待ち時間が少ないＢポインタの方のＸＢＡＲ設定が＃５となるセル時間１３からセル送出を開始する。この時、３セル送出したためにＢポインタは＃４から＃７に更新される。このように状況に応じて待ち時間の少ない方のポインタを使用することでセル送出遅延を抑えることができる。
【００４６】
次に本発明の他の実施例を示す。
ブロック構成自体は図７と同様であるが、入力インタフェース部の内部ブロックである図８のバッファ管理部：２５の使用ポインタの判定条件が異なる。前述の動作の説明では、セル送出準備が完了してからセル出力までの待ち時間が最も少ないポインタを使用することを述べたが、理想的には複数あるポインタが均等に分散している状態が最も望ましい。このために、他の実施形態としては図８のバッファ管理部：２５の使用ポインタの判定条件を「セル出力までの待ち時間が最も少ないポインタからある一定セル時間内に複数ポインタが存在する場合にはその中で最も遠いポインタを使用してセルを送出する」条件とすることによりポインタを分散させることができるために、入力インタフェース：から中間バッファへのセル出力遅延を軽減することができる。
【００４７】
図１５は、ポインタが２つの場合の他の実施例における入力インタフェースから中間バッファへのセル出力遅延のイメージ図を示している。本実施例は、入力インタフェース数Ｎ＝８で同一出力インタフェース宛先のセルを扱う場合である。また、ここでは使用ポインタの判定条件の「一定セル時間内の複数ポインタ」の一定時間を１セル時間とする。セル１，２はセル時間５で送出準備が完了するが、ポインタ値が＃２と＃７なので待ち時間が少ないＡポインタの方の中間バッファ＃８からセルを出力必要があるため、ＸＢＡＲ設定が＃８になるまで待ち時間となりセル時間８からセルが送出される。この時、２セル送出したためにＡポインタは＃７から＃１に更新される。その後、セル時間１２で３セル送出可能となり、ポインタが＃１か＃２なので待ち時間が少ないのはＡポインタ（＃１）になるが、１セル時間内にＢポインタ（＃２）があるために遠い方のＢポインタを使用してＸＢＡＲ設定が＃３となるセル時間１９からセル送出を開始する。この時、３セル送出したためにＢポインタは＃２から＃５に更新され、ＡポインタとＢポインタは分散される。
【００４８】
次に本発明の他の実施例を示す。
ブロック構成自体は図７と同様であるが、入力インタフェース部の内部ブロックである図８のバッファ管理部：２５の使用ポインタの判定条件が異なる。前述した動作の説明では、セル送出準備が完了してからセル出力までの待ち時間が最も少ないポインタを使用することを述べたが、理想的には複数あるポインタが均等に分散している状態が最も望ましい。このために、他の実施形態としては図８のバッファ管理部：２５にてポインタを「順方向ポインタ」と「逆方向ポインタ」の２グループに分けて管理する。例えば、順方向ポインタが”６”だった場合、セルは中間バッファ＃７を起点に中間バッファ＃８、中間バッファ＃９・・・と出力し最後のセルを出力した中間バッファ番号にポインタは更新されるのに対して、逆方向ポインタが”６”で出力セルが３セルだった場合、セルは中間バッファ＃４を起点に中間バッファ＃５、中間バッファ＃６と出力していき、中間バッファ＃６に最後のセルを出力するように動作し、ポインタは先頭セルを出力した中間バッファの１つ前を示す”３”に更新される。このように順方向と逆方向の２グループに分けて管理することで、グループ間のポインタが分散されるため、入力インタフェース：から中間バッファへのセル出力遅延を軽減することができる。
【００４９】
図１６は、ポインタが２つの場合の他の実施例における入力インタフェースから中間バッファへのセル出力遅延のイメージ図を示している。本実施例は、入力インタフェース数Ｎ＝８で同一出力インタフェース宛先のセルを扱う場合である。また、ここでは使用ポインタ数は２（Ａポインタ、Ｂポインタ）で、Ａポインタは順方向ポインタ、Ｂポインタは逆方向ポインタとする。セル１，２はセル時間５で送出準備が完了するが、Ａポインタを使用した場合は中間バッファ＃６から送出可能であり、Ｂポインタを使用した場合は中間バッファ＃７から送出可能である。２セル目を中間バッファ＃８に送出するためには中間バッファ＃７から送出することになる。待ち時間が少ないＡポインタの方の中間バッファ＃８からセルを出力必要があるため、Ａポインタを使用してセル送出を行う。この時、２セル送出したためにＡポインタは＃５から＃７に更新される。その後、セル時間１１で３セル送出可能となった場合、Ａポインタを使用した場合は中間バッファ＃８から送出可能、Ｂポインタを使用した場合は中間バッファ＃６から送出可能なため、待ち時間が少ないＢポインタを使用してセル送出を行う。３セル目を中間バッファ＃８に送出するためには中間バッファ＃６から送出することになる。この時、３セル送出したためにＢポインタは＃８から＃５に更新される。
【００５０】
本発明は、ＦＯＦＦ方式においては入力インタフェースにてセルの宛先となる出力インタフェース毎に最後に送出した中間バッファを記憶して、次に出力する中間バッファを決定していたため、セル送出の起点となる中間バッファはただ一つであったが、出力インタフェース毎に最後に送出した中間バッファを示すポインタを複数持つことにより、最も待ち時間が少なくなるポインタを使用して入力インタフェースから中間バッファへの出力を行えるようにした。
【００５１】
各入力インタフェースでは、セルの宛先となる出力インタフェース毎に複数のポインタが配備されている。ポインタは、それぞれセルを最後に送出した中間バッファを示しており、入力インタフェースにてセル送出ができる状態になってから実際にクロスバスイッチにセルを送出するまでの待ち時間が最も少なくなるポインタを使用してセル送出を開始する。
【００５２】
本発明の特徴について以下に詳述する。
本発明のロードバランス型セルスイッチ装置は、Ｎ個の入力インタフェース、Ｎ個の中間バッファ、Ｎ個の出力インタフェースを備え、入力インタフェースと中間バッファ間、中間バッファと出力インタフェース間をメッシュ（クロスバスイッチ等）接続するセルを扱うロードバランス型セルスイッチで、各入力インタフェースからＮ個の中間バッファにセルを振り分ける際にはセル送出先となる中間バッファを示す複数のポインタを経路（入力インタフェース−出力インタフェースのペア）毎に有しているポインタの中から最適な一つのポインタを使用して均等に振り分けることを特徴とする。
ここでは、入力インタフェース、中間バッファ、出力インタフェースの個数をいずれもＮ個と記載しているが入力インタフェース、中間バッファ、出力インタフェースの数がそれぞれ異なる場合も許容される。
【００５３】
また、本発明のロードバランス型セルスイッチ装置は、セルを宛先となる出力インタフェース毎に管理する手段と、セルを各中間バッファに均等に振り分ける手段とを有する入力インタフェースと、入力インタフェースから受信したセルを各中間バッファにスイッチング処理する手段を有する前段クロスバスイッチと、受信したセルを宛先となる出力インタフェース毎に管理する手段と、セルを宛先となる出力インタフェースに送出する手段を有する中間バッファと、中間バッファから受信したセルを宛先となる出力インタフェースにスイッチング処理する手段を有する後段クロスバスイッチと、後段クロスバスイッチから受信したセルを入力インタフェース単位に管理する手段と、セルの順序逆転があった場合にはセル順序を元に戻すリオーダリング処理（セル順序並び替え）手段とを有する出力インタフェースとを備えている。
【００５４】
入力インタフェースは、更に、各中間バッファへセルを均等に振り分けるためのポインタを複数管理する手段と、セル送出準備が完了してから最短時間で出力できるポインタを認識する手段と、セル送出準備が完了してから最短時間で出力できるポインタを使用してセル出力を行う手段とを有し、中間バッファに均等にセル振り分けを行うことを特徴とする。
【００５５】
入力インタフェースは、更に、各中間バッファへセルを均等に振り分けるためのポインタを複数管理する手段と、セル送出準備が完了してから最短時間で出力できるポインタを認識する手段と、セル送出準備が完了してから最短時間で出力できるポインタからある一定値以内に他のポインタがあるか検知する手段と、最短時間でセル出力できるポインタからある一定値以内に他のポインタがあった場合にはその中で最も離れたポインタを使用してセル出力を行う手段を有し、中間バッファに均等にセル振り分けを行うことを特徴とする。
【００５６】
入力インタフェースは、更に、各中間バッファへセルを均等に振り分けるためのポインタを複数管理する手段と、ポインタを順方向（＃１→＃２→＃３・・・）に管理するポインタと逆方向（＃５→＃４→＃３・・・）に管理するポインタの２グループに分けて管理する手段と、セル送出準備が完了してから最短時間で出力できるポインタを認識する手段と、セル送出準備が完了してから最短時間で出力できるポインタ使用してセル出力を行う手段とを有し、中間バッファに均等にセル振り分けを行うことを特徴とする。
【図面の簡単な説明】
【００５７】
【図１】図１は、入力バッファ（Ｂｕｆｆｅｒ）型スイッチ構成を表すブロック図である。
【図２】図２は、各入力ポートのバッファを宛先出力ポート毎に配備（ＶＯＱ：Ｖｉｒｔｕａｌ  Ｏｕｔｐｕｔ  Ｑｕｅｕｅ）した入力バッファ型スイッチ表すブロック図である。
【図３】図３は、出力バッファ型スイッチ構成を表すブロック図である。
【図４】図４は、共有バッファ型スイッチ構成を表すブロック図である。
【図５】図５は、収容インタフェース（Ｉｎｔｅｒｆａｃｅ）数Ｎの場合のロードバランス型セルスイッチ構成である。
【図６】図６は、入力インタフェースにてＮセル送出準備が完了してからクロスバスイッチ（ＸＢＡＲ  Ｓｗｉｔｃｈ）設定が先頭の中間バッファに出力できるタイミングになるまでの待ち時間の説明図（インタフェース数Ｎ＝４の場合）である。
【図７】図７は、本発明の第１実施形態のブロック図である。
【図８】図８は、入力インタフェースの内部構成を示すブロック図である。
【図９】図９は、本発明の第１実施形態の動作を示すフローチャートである。
【図１０】図１０は、入力インタフェースの内部構成の動作を示すフローチャートである。
【図１１】図１１は、前段クロスバスイッチの処理を示すイメージ図である。
【図１２】図１２は、後段クロスバスイッチの処理を示すイメージ図である。
【図１３】図１３は、ポインタが１つ（従来例中のＦＯＦＦ）の場合の入力インタフェースから中間バッファへのセル出力遅延のイメージ図である。
【図１４】図１４は、ポインタが２つの場合の入力インタフェースから中間バッファへのセル出力遅延のイメージ図である。
【図１５】図１５は、ポインタが２つの場合の他の実施例における入力インタフェースから中間バッファへのセル出力遅延のイメージ図である。
【図１６】図１６は、ポインタが２つの場合の他の実施例における入力インタフェースから中間バッファへのセル出力遅延のイメージ図である。
【符号の説明】
【００５８】
Ｎ  スイッチの入力ポート数（正の整数）
Ｍ  １経路（入力インタフェースから出力インタフェースの経路）あたりの使用ポインタ数（正の整数）
１−１〜１−Ｎ  入力インタフェース（Ｉｎｔｅｒｆａｃｅ）
２  前段クロスバスイッチ（ＸＢＡＲ  Ｓｗｉｔｃｈ）
３−１〜３−Ｎ  中間バッファ（Ｂｕｆｆｅｒ）
４  後段クロスバスイッチ
５−１〜５−Ｎ  出力インタフェース
１１−１〜１１−Ｎ  入力インタフェース
１２  前段クロスバスイッチ
１３−１〜１３−Ｎ  中間バッファ
１４  後段クロスバスイッチ
１５−１〜１５−Ｎ  出力インタフェース
２１  宛先検出部
２２−１〜２２−Ｎ  セル数管理部
２３  入力バッファ
２４  送出セル選択部
２５    バッファ管理部
２６−１〜２６−Ｍ  ポインタ
【図１】
2008042504.tif 000003
【図２】
2008042504.tif 000004
【図３】
2008042504.tif 000005
【図４】
2008042504.tif 000006
【図５】
2008042504.tif 000007
【図６】
2008042504.tif 000008
【図７】
2008042504.tif 000009
【図８】
2008042504.tif 000010
【図９】
2008042504.tif 000011
【図１０】
2008042504.tif 000012
【図１１】
2008042504.tif 000013
【図１２】
2008042504.tif 000014
【図１３】
2008042504.tif 000015
【図１４】
2008042504.tif 000016
【図１５】
2008042504.tif 000017
【図１６】
2008042504.tif 000018