(57)【要約】【課題】スイッチ装置内でセル落ちがあった場合でも処理遅延の増大または処理停止することがないReordering処理方法を提供する。【解決手段】入力部(1-1-1)〜(1-1-L)から各スイッチパスに送出される有効セル及び無効セルに対して、夫々のセルを送出した時間（セル時間）を付加して送出し、中間段Buffer(1-3-1)〜(1-3-k)は、前記各入力部から送出された前記有効セルと最新の前記無効セルを格納し、該格納した有効セルを、宛先毎に順次指定して古いセル時間が付加された有効セルから読み出して送出するとともに当該宛先の有効セルが無い時には前記格納された最新の無効セルを読み出して送出し、出力部(1-5-1)〜(1-5-N)は、前記各中間段Buffer部から受信した前記セルに付加されているセル時間と前記最新の無効セル情報を基にセルの順序を元に戻して出力する。【選択図】図１
2010219800.tif 000002
【特許請求の範囲】
【請求項１】
Ｌ（Ｌは２以上の整数）個の入力部と、Ｎ（Ｎは２以上の整数）個の出力部と、一つの前記入力部から一つの前記出力部に対してＫ（Ｋは２以上の整数）個のスイッチパスを有するとともに前記スイッチパスごとに設けられた中間段Buffer部を有するスイッチ部とからなるスイッチ装置におけるReordering処理方法であって、
前記入力部から前記各スイッチパスに送出される有効セル及び有効セルがない場合に挿入して送出される無効セルに対して、夫々のセルを送出した時間（セル時間）を付加するセル送出時間情報付加ステップ、
前記各入力部から送出された前記有効セルと最新の前記無効セルを前記中間段Buffer部に格納し、該格納された有効セルを、宛先毎に順次指定して古いセル時間が付加された有効セルから読み出して送出するとともに当該宛先の有効セルが無い時には前記格納された最新の無効セルを読み出して送出する中間段Buffer処理ステップ、
前記各中間段Buffer部から受信した前記有効セルに付加されているセル時間および前記最新の無効セルに付加されているセル時間を基に、有効セルの順序を元に戻して前記出力部から出力するReordering処理ステップ、
からなることを特徴とするスイッチ装置におけるReordering処理方法。
【請求項２】
前記セル送出時間情報付加ステップは、１セル送出する毎にセル時間をカウントするステップ、前記送出される有効セル及び無効セルに前記カウントしたセル時間を順次付加するステップ、とからなることを特徴とする請求項１に記載のスイッチ装置におけるReordering処理方法。
【請求項３】
前記中間段Buffer処理ステップは、前記各入力部から送出された前記有効セルと前記無効セルとを分ける有効／無効判定ステップ、該有効／無効判定ステップで分けられた無効セルを受信して上書きすることにより常に最新の無効セルを１セルだけ保持するステップ、前記有効／無効判定ステップで分けられた有効セルを受信して宛先毎にQueueに格納するステップ、前記宛先毎のQueueを順次指定してその先頭に格納されている有効セルを読み出して出力するステップ、指定したQueueに前記有効セルが格納されていないとき前記保持中の無効セルを読み出して出力するステップ、とからなることを特徴とする請求項１または２に記載のスイッチ装置におけるReordering処理方法。
【請求項４】
前記Reordering処理ステップは、入力された前記有効セルを、該セルが経由した前記中間段Buffer毎に格納するＫ個のQueueで構成されたＭＥＭ（メモリ）部へ格納するステップ、入力された前記無効セルのセル時間を、該無効セルが経由した前記中間段Buffer毎に上書きして格納するステップ、前記ＭＥＭ（メモリ）部の各Queueの先頭に格納されている有効セルのセル時間比較をセル送出タイミング毎に行って最も古いセル時間が付加された有効セルから順に読み出すステップ、有効セルがないQueueが発生したとき当該Queueに対応して格納されている前記無効セルのセル時間を比較対象に加えて前記セル時間比較を行い、該無効セルのセル時間よりも古いセル時間が付加された有効セルの中で最も古いセル時間が付加された有効セルを読み出すステップ、前記読み出した有効セルを出力するステップ、とからなることを特徴とする請求項１〜３の何れか１項に記載のスイッチ装置におけるReordering処理方法。
【請求項５】
Ｌ（Ｌは２以上の整数）個の入力部と、Ｎ（Ｎは２以上の整数）個の出力部と、一つの前記入力部から一つの前記出力部に対してＫ（Ｋは２以上の整数）個のスイッチパスを有するとともに前記スイッチパスごとに設けられた中間段Buffer部を有するスイッチ部とからなるスイッチ装置であって、
前記各入力部に、前記各スイッチパスに送出される有効セル及び有効セルがない場合に挿入して送出される無効セルに対して、夫々のセルを送出した時間（セル時間）を付加するセル送出時間情報付加手段を設け、
前記各中間段Buffer部に、前記各入力部から送出された前記有効セルと最新の前記無効セルを格納し、宛先毎に順次指定して古いセル時間が付加された有効セルから読み出して送出するとともに当該宛先の有効セルが無い時には前記最新の無効セルを読み出して送出する中間段Buffer処理手段を設け、
前記各出力部に、受信した前記有効セルに付加されているセル時間および前記最新の無効セルに付加されているセル時間を基に前記有効セルの順序を元に戻して出力するReordering処理手段を設けたことを特徴とするスイッチ装置。
【請求項６】
前記セル送出時間情報付加手段は、１セル送出する毎にセル時間をカウントアップするカウンタによりカウントしたセル時間(カウント値)を出力する時間情報生成部と、該時間情報生成部から受信したセル時間情報を、当該入力部に入力された前記有効セル及び無効セルに順次付加して送出する時間情報付加部と、を備えていることを特徴とする請求項５に記載のスイッチ装置。
【請求項７】
前記中間段Buffer処理手段は、入力された前記有効セルと前記無効セルとを分ける有効／無効判定部と、該有効／無効判定部で分けられた無効セルを受信して上書きすることにより最新の無効セルを１セルだけ保持するレジスタと、宛先単位にQueueを配備し、前記有効／無効判定部で分けられた有効セルを受信して宛先毎に前記Queueに格納するＶＯＱ（Virtual Output Queue）と、前記ＶＯＱの各Queueを順次指定してその先頭に格納されている有効セル読み出すとともに、指定したQueueに前記有効セルが格納されていないとき前記レジスタに格納されている無効セルを読み出し、該読み出した有効セルまたは無効セルを送出する選択部と、を備えていることを特徴とする請求項５または６に記載のスイッチ装置。
【請求項８】
前記Reordering処理手段は、前記有効セルが入力されたとき、該有効セルをＭＥＭ（メモリ）部へ送出する機能、および前記無効セルが入力されたとき、該無効セルに付加されているセル時間と該無効セルが経由した前記中間段Bufferの情報を読出制御部へ送出する機能を有する書込み制御部と、前記書込み制御部から入力された前記有効セルを該セルが経由した前記中間段Buffer毎に格納するＫ個のQueueで構成された前記ＭＥＭ（メモリ）部と、前記書込み制御部から入力された前記無効セルのセル時間を、該無効セルが経由した前記中間段Buffer毎に上書きして格納する機能、前記ＭＥＭ（メモリ）部の各Queueの先頭に格納されている有効セルのセル時間比較をセル送出タイミング毎に行って最も古いセル時間が付加された有効セルから順に読み出す機能、有効セルがないQueueが発生したとき当該Queueに対応して格納されている前記無効セルのセル時間を比較対象に加えて前記セル時間比較を行い、該無効セルのセル時間よりも古いセル時間が付加された有効セルの中で最も古いセル時間が付加された有効セルを読み出す機能、および前記読み出した有効セルを出力する機能を有する前記読出し制御部と、を備えていることを特徴とする請求項５〜７の何れか１項に記載のスイッチ装置。
【請求項９】
前記スイッチ装置は、Ｌ個の入力部、Ｋ個の中間段Buffer、Ｎ個の出力部で構成されるロードバランス型スイッチであることを特徴とする請求項５〜８の何れか１項に記載のスイッチ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スイッチ装置におけるReordering処理方法に関する。
【背景技術】
【０００２】
入力部から出力部に至るスイッチパスがあり、スイッチパスにバッファが存在するなどしてスイッチパスの遅延が異なる場合、入力部から出力したセル順序が逆転して出力部に到達することがある。これをもとのセル順序に戻すために、Reordering処理が行われる。
【０００３】
スイッチ装置ではないが、送信端末と受信端末間の複数パスに一連のデータを送信し、受信端末にて順序逆転があった場合にその順序の補正(以降Reordering処理と記載)を行う手法としては以下のようなものがあった。
【０００４】
例えば特許文献１では、送信端末と受信端末の間の通信で用いられる１つの通信フローのデータを複数のフローに分岐させ、元のフローを復元する通信方法として、送信端末が属する第１のＬＡＮ(Local Area Network)と受信端末が属する第２のＬＡＮに、それぞれゲートウェイを設置し、送信端末から送出されたＴＣＰ(Transmission Control Protocol)コネクションのデータを、第１のＬＡＮのゲートウェイにおいてパケット単位でそれぞれの通信経路に振り分け、第２のＬＡＮのゲートウェイでは複数の通信経路から受信したパケットの順序逆転をＴＣＰのシーケンス番号に従ってReordering処理を行っている。
【０００５】
この方法では、一連のシーケンス番号を持ったパケットを複数のフロー(スイッチ装置で言うとスイッチパス)に分散し、複数経路から受信したパケットのReordering処理を前記一連のシーケンス番号をもとに実施しているために、受信装置に到着する前にパケット落ちが生じるとReordering処理にて落ちたパケットの到着待ち状態となり処理遅延が増大または処理自体が停止してしまう欠点がある。
【０００６】
また、特許文献２では、送信端末と受信端末間の複数パスに一連のデータを送信し、シーケンス番号を用いてその順序の補正(Reordering処理)を行うことにより、複数の通信回線を効率的に利用し、回線利用率を向上させる方法として、端末のＴＣＰに機能を追加して、従来１本のＴＣＰコネクションを用いていた通信を複数のＴＣＰコネクションを利用するように変更している。
【０００７】
この方法では、送信端末と受信端末間の通信で１つの通信フローで行われていた通信を、複数の通信フローに分割して並列的に送る。即ち、送信端末から受信端末へとデータを送信する場合、送信端末の通信プロトコルは、１つの通信フローのデータを分割して複数の通信フローに振り分け、分割した複数の通信フローを元の１つの通信フローに復元するための復元情報として新たなヘッダをＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）パケットに付加して（つまり２系統のシーケンス番号を用いて）、複数の通信フローでデータを送信する。受信端末の通信プロトコルは、複数の通信フローから受信したデータの復元情報を参照し、１つの通信フローを復元する。
【０００８】
このように、２系統のシーケンス番号を用いればフロー毎のパケット落ち監視も可能であるが、特許文献２記載の方法も特許文献１記載の方法と同様に、受信装置に到着する前にパケット落ちが生じるとReordering処理にて落ちたパケットの到着待ち状態となり、処理遅延が増大または処理自体が停止してしまう欠点がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２−２６１４７８号公報
【特許文献２】特開２００３−１１０６０４号公報
【特許文献３】特開２００８−０１７３８７号公報
【非特許文献】
【００１０】
【非特許文献１】Isaac Keslassy, "The Load-Balanced Router," Ph.D. Dissertation, Stanford University, June 2004
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記、送信端末と受信端末間の複数パスに一連のデータを送信し、受信端末にて順序逆転があった場合にその順序の補正(Reordering処理)を行う手法として、送出するデータに一連のシーケンス番号を割り振り、データの受信ポイント(スイッチ装置の場合の出力部に相当)にて、シーケンス番号を基にセル順序を元に戻すReordering処理を行う方法を、ネットワークのコアルータ等として使用されるスイッチ装置に適用した場合、例えばスイッチパスにてビットエラーなどによってセル落ちが生じると、落ちてしまったセルの待ち状態になってしまい、処理が停止してしまうという問題がある。
【００１２】
本発明の目的は、装置内にスイッチパスが複数存在するようなスイッチ装置において、スイッチ装置内でセル落ちがあった場合でも処理遅延の増大または処理停止することがないReordering処理方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明のスイッチ装置におけるReordering処理方法は、Ｌ（Ｌは２以上の整数）個の入力部と、Ｎ（Ｎは２以上の整数）個の出力部と、一つの前記入力部から一つの前記出力部に対してＫ（Ｋは２以上の整数）個のスイッチパスを有するとともに前記スイッチパスごとに設けられた中間段Buffer部を有するスイッチ部とからなるスイッチ装置におけるReordering処理方法であって、前記各入力部から前記各スイッチパスに送出される有効セル及び有効セルがない場合に挿入して送出される無効セルに対して、夫々のセルを送出した時間（セル時間）を付加するセル送出時間情報付加ステップと、前記各入力部から送出された前記有効セルと最新の前記無効セルを前記中間段Buffer部に格納し、該格納された有効セルを、宛先毎に順次指定して古いセル時間が付加された有効セルから読み出して送出するとともに当該宛先の有効セルが無い時には前記格納された最新の無効セルを読み出して送出する中間段Buffer処理ステップと、前記各中間段Buffer部から受信した前記有効セルに付加されているセル時間および前記最新の無効セルに付加されているセル時間を基に有効セルの順序を元に戻して前記出力部から出力するReordering処理ステップ、とからなることを特徴とする。
【００１４】
本発明のスイッチ装置は、Ｌ（Ｌは２以上の整数）個の入力部と、Ｎ（Ｎは２以上の整数）個の出力部と、一つの前記入力部から一つの前記出力部に対してＫ（Ｋは２以上の整数）個のスイッチパスを有するとともに前記スイッチパスごとに設けられた中間段Buffer部を有するスイッチ部とからなるスイッチ装置において、前記各入力部に、前記各スイッチパスに送出される有効セル及び有効セルがない場合に挿入して送出される無効セルに対して、夫々のセルを送出した時間（セル時間）を付加するセル送出時間情報付加手段を設け、前記各中間段Buffer部に、前記各入力部から送出された前記有効セルと最新の前記無効セルを格納し、宛先毎に順次指定して古いセル時間が付加された有効セルから読み出して送出するとともに当該宛先の有効セルが無い時には前記最新の無効セルを読み出して送出する中間段Buffer処理手段を設け、前記各出力部に、受信した前記有効セルに付加されているセル時間および前記最新の無効セルに付加されているセル時間を基に前記有効セルの順序を元に戻して出力するReordering処理手段を設けたことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、入力部から出力部に至る経路にてビットエラーなどでセルが落ちてしまった場合でも、処理を停止することなく送出時間の古い順にセル送出するReordering処理が可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明が適用されるスイッチ装置の一例を示すブロック図である。
【図２】図１に示すスイッチ装置におけるスイッチパスの経路説明図である。
【図３】本発明のReordering処理方法を適用した入力部の実施形態示すブロック図である。
【図４】本発明のReordering処理方法を適用した各中間段Bufferの実施形態を示すブロック図である。
【図５】本発明のReordering処理方法を適用した各出力部の実施形態を示すブロック図である。
【図６】本発明のスイッチ装置における中間段Buffer部のセル格納動作を説明するための図である。
【図７】本発明のスイッチ装置における中間段Buffer部のセル送出動作を説明するための図である。
【図８】本発明のスイッチ装置における出力部のセル送出動作を説明するための図である。
【発明を実施するための形態】
【００１７】
図１は、本発明を適用するスイッチ構成の一例を示すブロック図であり、Ｌ個の入力部、ｋ個の中間段Buffer、Ｎ個の出力部で構成されるロードバランス型スイッチの構成例である。なお、ロードバランス型スイッチの動作に関しては、例えば特許文献３あるいは非特許文献１等に記載されている。
【００１８】
本例では、入力部と中間段Buffer間、中間段Bufferと出力部間はそれぞれクロスバ(XBAR)スイッチで接続されている構成を示しているが、前段XBAR Switch(1-2)と後段XBAR Switch(1-4)を、光ケーブルなどを用いて物理的にメッシュ接続とする形態に置き換えることも可能である。
【００１９】
入力部(1-1-1)〜(1-1-L)は、それぞれ前段XBAR Switch(1-2)の入力ポートに接続されており、前段XBAR Switch(1-2)の出力ポートは、中間段Buffer(1-3-1)〜(1-3-k)に接続されている。つまり、入力部(1-1-1)〜(1-1-L)から出力されたセルは、前段XBAR Switch(1-2)を介して中間段Buffer(1-3-1)〜(1-3-k)に到達することになる。
【００２０】
中間段Buffer(1-3-1)〜(1-3-k)は、前段XBAR Switch(1-2)を介して入力部(1-1-1)〜(1-1-L)から受信したセルを、宛先となる出力部単位に格納するＶＯＱ(Virtual Output Queue)を内蔵している。中間段Buffer(1-3-1)〜(1-3-k)の出力は、後段XBAR Switch(1-4)の入力ポートに接続されており、後段XBAR Switch(1-4)の出力ポートは、出力部(1-5-1)〜(1-5-N)に接続されている。
【００２１】
つまり、中間段Buffer(1-3-1)〜(1-3-k)から出力されたセルは、後段XBAR Switch(1-4)を介して出力部(1-5-1)〜(1-5-N)に到達することになる。出力部(1-5-1)〜(1-5-N)は、後段XBAR Switch(1-4)からセルを受け取り、入力部(1-1-1)〜(1-1-L)毎にセル順序を確認して、セルの順序逆転があった場合には、正しいセル順にする処理を行う。
【００２２】
図１に示すロードバランス型スイッチでは、ある入力部からある出力部へセルを送出する場合、中間段Buffer(1-3-1)〜(1-3-k)の何れかを経由することになる。このため、図２に示すように例えば入力部１から出力部１にセルを出力する場合、ｋ個のスイッチパスが存在する。
【００２３】
この場合、同一スイッチパス内ではセル順序が入れ替わることはないが、スイッチパスには途中にバッファ(中間段Buffer)が存在するために中間段Buffer(1-3-1)〜(1-3-k)間のセル蓄積状態の差分により入力部から出力部までの到達時間がスイッチパス毎に異なる場合があり、異なるスイッチパスを使用してセルを送出した場合、出力部にはセル順序が逆転して到着する場合がある。このため、出力部においてセル順序を元に戻すためのReordering処理が必要となる。
【００２４】
図３は、本発明のReordering処理方法を適用した入力部の実施形態(入力部を(4-1-1)〜(4-1-4)までの４ブロック構成とした場合)を示すブロック図である。本実施形態の入力部では、各スイッチパスに送出するセルに対して、送出した時間情報が付加される。
【００２５】
入力部(4-1-1)〜(4-1-4)は、それぞれ時間情報付加部(4-2-1)〜(4-2-4)を内蔵している。時間情報付加部(4-2-1)〜(4-2-4)は、時間情報生成部(4-4)から受信したセル時間情報を、受信したセルに付加して前段XBAR Switch(4-3)へ出力する。時間情報付加部(4-2-1)〜(4-2-4)に入力されるセルは、有効なデータを搭載した有効セルと有効セルがない場合に挿入される無効セルの２種類ある。
【００２６】
時間情報生成部(4-4)は、１セル送出するのにかかる時間毎にカウントアップするカウンタを内蔵しており、セル時間(カウント値)を入力部(4-1-1)〜(4-1-4)内の時間情報付加部(4-2-1)〜(4-2-4)に送出する。
【００２７】
図４は、本発明のReordering処理方法を適用した各中間段Bufferの実施形態(出力部を４ブロック構成とした場合)を示すブロック図である。本実施形態の中間段Bufferでは、受信セルはＶＯＱ(Virtual Output Queue)で管理され、宛先のQueueに有効出力セルがない場合には、内部保持している最新の無効セルが送出される。
【００２８】
そのため、中間段Buffer(5-1)は、有効／無効判定部(5-2)、レジスタ(5-3)、ＶＯＱ(5-4)、選択部(5-5)から成る。有効／無効判定部(5-2)は、受信セルを有効セルと無効セルに分け、有効セルはＶＯＱ(5-4)に、無効セルはレジスタ(5-3)に送出する。レジスタ(5-3)は、受信した無効セルを保持するブロックで、無効セルを受信する毎に上書きしていき、常に最新の１セル情報だけを保持している。
【００２９】
ＶＯＱ(5-4)は、宛先単位にQueueを配備しているＶＯＱ(Virtual Output Queue)構成のメモリであり、受信した有効セルを、その宛先毎に格納していく。選択部(5-5)は、ＶＯＱ(5-4)の各Queueに格納されている有効セルまたはレジスタ(5-3)に格納されている無効セルを宛先毎に順次読み出し、後段XBAR Switchへ出力する。
【００３０】
図５は、本発明のReordering処理方法を適用した各出力部の実施形態(中間段Bufferを４ブロック構成とした場合)を示すブロック図である。本実施形態の出力部では、受信した有効セルに付加されているセル時間および受信した最新の無効セルに付加されているセル時間を基にして、出力する有効セルの順序を元に戻すReordering処理が行われる。
【００３１】
出力部(6-1)は、Reordering処理部(6-5)を内蔵している。Reordering処理部(6-5)は、書込制御部(6-2)、ＭＥＭ部(6-3)、読出制御部(6-4)から成り、ＭＥＭ部(6-3)は、入力された有効セルをセルが経由した中間段Buffer毎に格納するように複数のQueueで構成されたメモリである。
【００３２】
入力された有効セルは、書込制御部(6-2)からＭＥＭ部(6-3)に、経由した中間段Buffer毎に書き込まれる。無効セルが入力された場合は、無効セルの情報(搭載しているセル時間、経由した中間段Buffer)を読出制御部(6-4)に送出する。読出制御部(6-4)は、書込制御部(6-2)から受信した無効セルの情報とＭＥＭ部(6-3)の各Queueの先頭に格納されている有効セルのセル時間情報を考慮してＭＥＭ部(6-3)から読み出す有効セルの読み出し制御を行う。
【００３３】
次に、本実施形態の動作について説明する。
【００３４】
図３における各入力部は、図１における入力部(1-1-1)〜(1-1-L)を、入力部(4-1-1)〜(4-1-4)までの４ブロック構成の場合の例を示している。時間情報生成部(4-4)は、セル時間(１セル送出するのにかかる時間)毎にカウントアップするカウンタを内蔵しており、セル時間(カウント値)を入力部(4-1-1)〜(4-1-4)内の時間情報付加部(4-2-1)〜(4-2-4)に送出する。
【００３５】
入力部(4-1-1)〜(4-1-4)内に配備されている時間情報付加部(4-2-1)〜(4-2-4)は、時間情報生成部(4-4)から受信したセル時間情報を、受信したセルに付加して前段XBAR Switch(4-3)に出力する。時間情報付加部(4-2-1)〜(4-2-4)に入力されるセルは、有効なデータを搭載した有効セルと有効セルがない場合に挿入される無効セルの２種類あるが、時間情報付加部(4-2-1)〜(4-2-4)は、有効セルと無効セルの何れのセルに対しても、前記セル時間情報を付加して前段XBAR Switch(4-3)に出力する。
【００３６】
図４における中間段Buffer(5-1)は、図１における中間段Buffer(1-3-1)〜(1-3-k)に相当し、図１における出力部を４個備えている場合の例を示している。有効／無効判定部(5-2)は、受信セルを有効セルと無効セルに分け、有効セルはＶＯＱ(5-4)に、無効セルはレジスタ(5-3)に送出する。レジスタ(5-3)は、受信した無効セルを保持するブロックであり、無効セルを受信する毎に上書きしていき、常に最新の１セル情報だけ保持している。
【００３７】
ＶＯＱ(5-4)は、宛先単位にQueueを配備しているＶＯＱ(Virtual Output Queue)構成のメモリであり、受信した有効セルの宛先毎に格納していく。選択部(5-5)は、ＶＯＱの各Queueから１セルずつ順番に有効セルを読み出して送出するが、Queueに有効セルが格納されていない場合にはレジスタ(5-3)に格納されている無効セルを読み出して送出する。
【００３８】
図６は、図４の中間段Buffer(5-1)におけるセル入力からレジスタ(5-3)またはＶＯＱ(5-4)に格納されるまでの動作をセル時間順に示したものである。以下、中間段Bufferにおけるセル格納動作をセル入力時間順に説明する。なお、以下の説明では、図３の入力部(4-1-1)〜(4-1-4)において時間情報付加部(4-2-1)〜(4-2-4)によってセルに付加された時間情報を「」で囲んだ数字で示す。
【００３９】
■セル時間Ｔ１
出力部１行きのセル「1」受信、ＶＯＱ(5-4)の出力部１行きのセルを格納するQueueにセル「1」を格納、
■セル時間Ｔ２
無効セル「2」受信、レジスタ(5-3)に無効セル「2」を書き込み、
【００４０】
■セル時間Ｔ３
出力部２行きのセル「3」受信、ＶＯＱ(5-4)の出力部２行きのセルを格納するQueueにセル「3」を格納、
■セル時間Ｔ４
出力部３行きのセル「4」受信、ＶＯＱ(5-4)の出力部３行きのセルを格納するQueueにセル「4」を格納、
【００４１】
■セル時間Ｔ５
出力部４行きのセル「5」受信、ＶＯＱ(5-4)の出力部４行きのセルを格納するQueueにセル「5」を格納、
■セル時間Ｔ６
出力部１行きのセル「6」受信、ＶＯＱ(5-4)の出力部１行きのセルを格納するQueueにセル「6」を格納、
【００４２】
■セル時間Ｔ７
無効セル「7」受信、レジスタ(5-3)に無効セル「7」を書き込み(セル時間Ｔ２で書き込んだ内容に上書き)、
■セル時間Ｔ８
出力部４行きのセル「8」受信、ＶＯＱ(5-4)の出力部４行きのセルを格納するQueueにセル「8」を格納。
【００４３】
図７は、図４の中間段Buffer(5-1)におけるレジスタ(5-3)またはＶＯＱ(5-4)からセルを読み出す過程をセル時間順に示したものである。以下、中間段Bufferにおけるセル送出動作をセル送出時間順に説明する。
【００４４】
なお図７に示すセル送出時間Ｔ１〜Ｔ８と図６に示すセル入力時間Ｔ１〜Ｔ８は無関係であり時間的に一致していることを示すものではない。また本来は、レジスタ(5-3)に格納される無効セル情報は無効セル受信の度に上書きされるが、本例では説明を簡単にするために、常にセル時間７の情報を持った無効セル「7」が格納されている場合を示す。
【００４５】
■セル時間Ｔ１
ＶＯＱ(5-4)から出力部１行きのセル「1」を読み出して送出、
■セル時間Ｔ２
ＶＯＱ(5-4)から出力部２行きのセル「3」を読み出して送出、
【００４６】
■セル時間Ｔ３
ＶＯＱ(5-4)から出力部３行きのセル「4」を読み出して送出、
■セル時間Ｔ４
ＶＯＱ(5-4)から出力部４行きのセル「5」を読み出して送出、
【００４７】
■セル時間Ｔ５
ＶＯＱ(5-4)から出力部１行きのセル「6」を読み出して送出、
■セル時間Ｔ６
ＶＯＱ(5-4)に出力部２行きのセルが格納されていないため、レジスタ(5-3)から無効セル「7」を読み出して送出、
【００４８】
■セル時間Ｔ７
ＶＯＱ(5-4)に出力部３行きのセルが格納されていないため、レジスタ(5-3)から無効セル「7」を読み出して送出、
■セル時間Ｔ８
ＶＯＱ(5-4)から出力部４行きのセル「8」を読み出して送出。
【００４９】
図５における出力部(6-1)は、図１における各出力部(1-5-1)〜(1-5-k)に相当し、図１における中間段Bufferを４個備えている場合の例を示している。入力された有効セルは、書込制御部(6-2)からＭＥＭ部(6-3)に、経由した中間段Buffer毎に書き込まれる。無効セルが入力された場合は、無効セルの情報(搭載しているセル時間、および経由した中間段Buffer)を読出制御部(6-4)に送出する。読出制御部(6-4)は、書込制御部(6-2)から受信した無効セルの情報により、経由した中間段Buffer毎に最新の無効セルのセル時間情報(最新無効セル情報)を保持している。
【００５０】
また、読出制御部(6-4)は、ＭＥＭ部(6-3)の各Queueの先頭に格納されている有効セルのセル時間情報を参照し、最も古い時間情報が付加されているセルを読み出していく。ＭＥＭ部(6-3)の各Queueのうち、有効セルが格納されていないQueueがあった場合は、そのQueueに関連付けられている中間段Bufferを経由した最新無効セル情報と比較する。
【００５１】
図８は、図５の出力部におけるＭＥＭ部(6-3)からセルを読み出す過程をセル時間順に示したものである。以下、ＭＥＭ部(6-3)からのセルを読み出し動作をセル送出時間順に説明する。
【００５２】
なお、図８中の最新無効セル情報は図５における読出制御部(6-4)内に配備されており、経由した中間段Buffer毎に保持している最新の無効セルのセル時間情報(最新無効セル情報)に相当し、中間段Buffer毎に入力された最新の無効セルによって上書きされる。また本例においては、最新無効セル情報は簡単のため、中間段Buffer１〜４からの最新の無効セルの時間情報は、読み出し動作中全てセル時間１３のまま変わらない場合を示す。
【００５３】
■セル時間Ｔ１
ＭＥＭ部(6-3)を構成する各Queueの先頭セルのセル時間を比較し、最も古い時間情報(セル時間１)を持っている中間段Buffer１経由のセル「1」を読み出す、
■セル時間Ｔ２
ＭＥＭ部(6-3)を構成する各Queueの先頭セルのセル時間を比較し、最も古い時間情報(セル時間２)を持っている中間段Buffer１経由のセル「2」を読み出す、
【００５４】
■セル時間Ｔ３
ＭＥＭ部(6-3)を構成する各Queueの先頭セルのセル時間を比較し、最も古い時間情報(セル時間４)を持っている中間段Buffer１経由のセル「4」を読み出す、
■セル時間Ｔ４
ＭＥＭ部(6-3)を構成する各Queueの先頭セルのセル時間を比較し、最も古い時間情報(セル時間５)を持っている中間段Buffer２経由のセル「5」を読み出す、
【００５５】
■セル時間Ｔ５
ＭＥＭ部(6-3)を構成する各Queueの先頭セルのセル時間を比較し、最も古い時間情報(セル時間６)を持っている中間段Buffer２経由のセル「6」を読み出す、
■セル時間Ｔ６
ＭＥＭ部(6-3)を構成する各Queueの先頭セルのセル時間を比較し、最も古い時間情報(セル時間７)を持っている中間段Buffer１経由のセル「7」を読み出す。
【００５６】
■セル時間Ｔ７
ＭＥＭ部(6-3)を構成する各Queueの先頭セルのセル時間を比較すると、この時、中間段Buffer１経由のセルを格納するQueueは空であるので、中間段Buffer１経由のセルの最新無効セル情報(セル時間１３)を比較セルとして使用する。比較の結果、最も古い時間情報(セル時間８)を持っている中間段Buffer２経由のセル「8」を読み出す。
【００５７】
もし中間段Buffer１経由のセルの最新無効セルの時間情報が、他の中間段Buffer経由で格納されている有効セルの時間情報よりも古い場合（例えば、中間段Buffer２〜４経由のセルを格納するQueueの先頭セルがいずれも中間段Buffer１経由のセルの最新無効セル情報(セル時間１３)よりも新しいセル時間の有効セルである場合）には、出力部からの読み出しは行わない。これは、その後に中間段Buffer１経由で前記無効セルの時間情報よりは新しいが、他の中間段Buffer経由で格納されている有効セルの時間情報よりも古い有効セルが到着する可能性があるので、Queueが空となった中間段Buffer１経由のセル情報を除いて比較読み出しを行うと、読み出し順序が逆転する虞がある。
【００５８】
そこで、Queueが空となった場合には、当該Queueに対応する中間段Buffer経由の最新無効セル情報を比較セルとして使用することにより、無効セルのセル時間よりも古いセル時間が付加された有効セルの中で最も古いセル時間が付加された有効セルを読み出すことにより、読み出し順序の逆転を防ぐようにしている。
【００５９】
■セル時間Ｔ８
ＭＥＭ部(6-3)を構成する各Queueの先頭セルのセル時間を比較すると、この時、中間段Buffer１、２経由のセルを格納するQueueは空であるので、中間段Buffer１、２経由のセルの最新無効セル情報(セル時間１３)を比較セルとして使用する。比較の結果、最も古い時間情報(セル時間９)を持っている中間段Buffer３経由のセル「9」を読み出す。
【００６０】
■セル時間Ｔ９
ＭＥＭ部(6-3)を構成する各Queueの先頭セルのセル時間を比較すると、この時、中間段Buffer１、２経由のセルを格納するQueueは空なので、中間段Buffer１、２経由のセルの最新無効セル情報(セル時間１３)を使用する。比較の結果、最も古い時間情報(セル時間１０)を持っている中間段Buffer３経由のセル「10」を読み出す。
【００６１】
■セル時間Ｔ１０
ＭＥＭ部(6-3)を構成する各Queueの先頭セルのセル時間を比較すると、この時、中間段Buffer１、２、３経由のセルを格納するQueueは空なので、中間段Buffer１、２、３経由のセルの最新無効セル情報(セル時間１３)を比較セルとして使用する。比較の結果、最も古い時間情報(セル時間１２)を持っている中間段Buffer４経由のセル「12」を読み出す。
【００６２】
以上の動作の結果、出力部１のＭＥＭ部(6-3)から出力されるセル順序は、入力部で付加された時刻情報の古い順(1,2,4,5,6,7,8,9,10,12）に読み出されて出力される。この場合、セル時間「3」と「11」には有効セルが出力されなかった(無効セルが出力された)ということになり、セル時間「3」あるいは「11」が付加されたセルの到着を待つことなく、ＭＥＭ部(6-3)に格納されたセルを、その時刻情報が古い順に読み出して出力する。
【００６３】
なお、図５では、時刻「10」に、入力部１から中間段Buffer３に出力部１行きのセル「10」が送出され、入力部２から中間段Buffer４に出力部１行きのセル「10」が送出され、出力部１には時刻「10」を持ったセル「10」が２つ入力され、ＭＥＭ部(6-3)の中間段Buffer３経由のセルを格納するQueueと中間段Buffer４経由のセルを格納するQueueにそれぞれ格納された場合を示している。
【００６４】
この場合、出力部１のＭＥＭ部(6-3)から出力されるセル順序は、入力部で付加された時刻情報の古い順(1,2,4,5,6,7,8,9,10,10,12）に読み出されるが、同じ時間情報（この場合時間情報「10」）を持ったセルであればどちらを先に読み出しても問題はない。図５に示す例では、若番の中間段Buffer３を経由したセルの方を先に出力している。
【００６５】
このように本実施形態では、出力部１から出力されるセル順序は、経由した中間段Buffer毎にセルを格納するＭＥＭ（メモリ）部の各Queueの全てに有効セルが格納されている場合には、各Queueの先頭に格納されている有効セルのセル時間比較をセル送出タイミング毎に行って最も古いセル時間が付加された有効セルから順に読み出されるので、入力部から出力部に至る経路にてビットエラーなどでセルが落ちてしまった場合でもReordering処理を停止することなく実行可能となる。
【００６６】
また、セル送出のためのセル時間比較の際に、経由した中間段Buffer毎にセルを格納するＭＥＭ（メモリ）部の一部のQueueが空となった場合には、該空となったQueueに対応する中間段Bufferから受信した最新の無効セルのセル時間をセル時間比較対象に加え、該無効セルのセル時間よりも古いセル時間が付加された有効セルの中で最も古いセル時間が付加された有効セルを読み出すので、セル読み出し順序の逆転を防ぐことができる。
【００６７】
またその場合、空となったQueueに対応する中間段Bufferから受信した最新の無効セルのセル時間が、他のQueueの先頭有効セルのセル時間よりも古い場合には、出力部からの読み出しは行われないが、空となったQueueに対応する中間段Bufferから有効セルが入力されて当該Queueに格納されて、全てのQueueに有効セルが格納された状態となれば、各Queueの先頭に格納されている有効セルのセル時間比較によるセル送出動作に戻ることができるので、これによりReordering処理が停止してしまうこともない。
【００６８】
例えばセルの送出順序を、セル出力毎にシーケンス番号を振り分け、シーケンス番号で管理する方式を用いた場合、シーケンス番号３のセルが装置内でビットエラーやバッファ溢れなど何らかの理由で廃棄されると、出力部でシーケンス番号３のセルを待ち続けることになってしまい、シーケンス番号４のセルが出力部から出力されない状態、即ちReordering処理停止状態に陥ってしまうことになるが、本実施形態では、Reordering処理を、セル送出時間と最新無効セル情報とにより管理する構成としたので、セル落ちによるReordering処理動作不可能状態を回避することができ、また、セル読み出し順序の逆転を防ぐことができる。
【００６９】
以上のとおり、本発明においては、セルに付加される時刻情報は、有効セルがない場合には無効セルに時刻情報が付加されて送出されるので、Reordering処理では、経由してきた中間段Buffer部毎にどの時刻のセルまで届いているかということを認識することができる。すなわち、Reordering処理部にて、経由してきた中間段Buffer毎に有効セルを蓄積するＭＥＭ（メモリ）を構成するQueueの先頭の有効セルのセル時刻を参照することにより、中間段Buffer毎にどの時刻のセルまで出力部に送出されたかが分かる。
【００７０】
また、Queueが空となった場合には、当該Queueに対応する中間段Buffer経由で受信した最新無効セルの時刻情報を参照することによって、読み出し順序の逆転を防ぐ。その場合、空となったQueueに対応する中間段Bufferから受信した最新の無効セルのセル時間が、他のQueueの先頭有効セルのセル時間よりも古い場合には、出力部からの読み出しは行われないが、空となったQueueに有効セルが格納された時点で、各Queueの先頭に格納されている有効セルのセル時間比較によるセル送出動作に戻る。
【００７１】
さらに、中間段Bufferに格納される無効セル情報は、入力部から新たな無効セルが送出される毎に上書きされ、また、中間段Buffer毎に格納される出力部無効セルの時刻情報も最新無効セルが入力される毎に上書きされるので、出力部のＭＥＭに格納された有効セルの読み出しが停止して動作不可能な状態となることはない。
【００７２】
したがって、入力部からのセルの送出順序をシーケンス番号で送出した場合のように、スイッチパスの途中でビットエラーなどによるセル落ちの発生によってReordering処理が停止して動作不可能な状態に陥ることはない。
【００７３】
このように本発明では、入力部−出力部間におけるセル順序管理に使用する情報として、入力部から送出する有効セルおよび無効セル（空セル）に時間情報(セル時間)を付加し、出力部において、有効セルの時間情報と最新の無効セル情報を基にしてReordering処理しているので、入力部から出力部に至る経路にてビットエラーなどでセルが落ちてしまった場合でも、処理を停止することなく送出時間の古い順にセル送出するReordering処理が可能となる。
【符号の説明】
【００７４】
1-1-1〜1-1-L、4-1-1〜4-1-4  入力部
1-2、4-3  前段XBAR Switch
1-3-1〜1-3-k、5-1  中間段Buffer
1-4  後段XBAR Switch
1-5-1〜1-5-N、6-1  出力部
4-2-1〜4-2-4  時間情報付加部
4-4  時間情報生成部
5-2  有効／無効判定部
5-3  レジスタ
5-4  ＶＯＱ(Virtual Output Queue)
5-5  選択部
6-2  書込み制御部
6-3  ＭＥＭ（メモリ）部
6-4  読出し制御部
6-5   Reordering処理
【図１】
2010219800.tif 000003
【図２】
2010219800.tif 000004
【図３】
2010219800.tif 000005
【図４】
2010219800.tif 000006
【図５】
2010219800.tif 000007
【図６】
2010219800.tif 000008
【図７】
2010219800.tif 000009
【図８】
2010219800.tif 000010