(57)【要約】  複数の入力ユニット（１００，１９２）、パケット／セル交換エレメント（１６０）、メッセージコントローラ（１３０）および複数の出力ユニット（１９０，１９４）を含む交換装置内でパケット／セルまたはメッセージを伝送するシステムおよび方法である。入力ユニットまたは出力ユニットの一つから別の入力ユニットまたは出力ユニットに伝送されるアイテムがメッセージであるかまたはパケット／セルであるかが識別される。もし、伝送されるアイテムがパケット／セル（１５０，１５２）の場合、そのパケット／セルは、パケット／セルの伝送に専用化されたリンク（１４０，１７０）とパケット／セル交換エレメントを用いて、入力ユニットの一つから出力ユニットの一つに伝送される。もし、伝送されるアイテムがメッセージ（１２０）の場合、そのメッセージは、メッセージの伝送のために専用化されたリンク（１１０）とメッセージコントローラを用いて、入力ユニットまたは出力ユニットの一つから別の入力ユニットまたは出力ユニットに伝送される。
2009503932.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力ユニット、パケット／セル交換エレメント、メッセージコントローラ、および複数の出力ユニットを含む交換装置においてパケット／セルおよびメッセージを伝送する方法であって、前記方法は、
ａ）前記複数の入力ユニットおよび出力ユニットのうちの一のユニットで、別の前記入力ユニットおよび前記出力ユニットに向かうメッセージを生成し、
ｂ）前記メッセージコントローラを経由し、メッセージ伝送のために専用化された複数のリンクのうちの一のリンクを経由して、前記複数の入力ユニットおよび出力ユニットのうちの前記一のユニットから、前記別の入力ユニットまたは出力ユニットにメッセージを伝送し、
ｃ）前記一の入力ユニットからメッセージコントローラに、パケット／セルスケジューリング要求コマンドを出力し、ここで、前記パケット／セルスケジューリング要求コマンドは、前記交換装置内においてメッセージ伝送のために専用化された前記複数のリンクのうちの一のリンクを用いて、前記一の入力ユニットから前記メッセージコントローラに伝送され、
ｄ）前記メッセージコントローラで、前記パケット／セル伝送スケジューリング要求コマンドを受信し、前記メッセージコントローラにていつパケット／セルの伝送を許可するか決定し、メッセージ伝送のために専用化された複数のリンクのうちの前記一のリンクまたは別のリンク上を、前記メッセージコントローラから複数の入力ユニットのうちの前記一の入力ユニットにパケット／セルデータアクナレッジコマンドを出力することによって、前記複数の入力ユニットのうちの前記一の入力ユニットに通知し、
ｅ）パケット／セル伝送のために専用化された複数のリンクのうちの一のリンクを用いることによって、前記複数の入力ユニットのうちの前記一の入力ユニットから前記パケット／セル交換エレメントに前記パケット／セルを出力する方法。
【請求項２】
ステップｄ）における決定は、前記メッセージコントローラのパケット／セルアービターによって実行され、ステップｄ）における伝送は、前記メッセージコントローラのメッセージ交換機により実行される、請求項１に記載の方法。
【請求項３】
パケット／セルの伝送のために専用化された前記リンクは、パケット／セル交換エレメントへの／からの前記パケット／セルの伝送に用いられ、いかなるメッセージの伝送にも用いられない請求項１に記載の方法。
【請求項４】
メッセージの伝送のために専用化された前記リンクは、メッセージコントローラを経由してのメッセージの伝送に用いられ、いかなるパケット／セルの伝送にも用いられない請求項３に記載の方法。
【請求項５】
交換装置内で伝送されるべき複数のメッセージがある場合に、メッセージフレームに含まれる前記複数のメッセージにメッセージ伝送タイムスロットを割り当て、
割り当てられたそれぞれの前記メッセージ伝送タイムスロットに前記メッセージを配置し、
前のメッセージフレームから前記メッセージフレームを分離するためにフレーム区切りを追加する、請求項１に記載の方法。
【請求項６】
前記フレーム区切りは、フレーム開始インジケータまたはフレーム終了インジケータである請求項５に記載の方法。
【請求項７】
各メッセージ伝送タイムスロットは、２〜１６バイトのサイズを有する請求項５に記載の方法。
【請求項８】
前記複数のメッセージは、
ａ）前記交換装置の入力ユニットのうちの前記一の入力ユニットによって生成されて前記メッセージコントローラに伝送され、前記メッセージコントローラで処理されて終結される第１のタイプのメッセージ、
ｂ）前記メッセージコントローラで生成されて前記交換装置の入力ユニットのうちの前記一の入力ユニットに向かうようにされ、前記一の入力ユニットで処理されて終結される第２のタイプのメッセージ、または、
ｃ）前記交換装置の入力または出力ユニットのうちの前記一のユニットで生成されて前記交換装置の別の入力または出力ユニットに向かうようにされ、起点から目的地までの伝送に前記メッセージコントローラが利用される第３のメッセージを含む請求項５に記載の方法。
【請求項９】
前記メッセージは、メッセージコントローラを経由して、前記交換装置の入力ユニットまたは出力ユニットのうちの前記一のユニットから、前記別の入力ユニットまたは出力ユニットに伝送され、前記パケット／セルは、前記パケット／セル交換エレメントを経由して、前記交換装置の前記一の入力ユニットから前記一の出力ユニットに伝送される請求項１に記載の方法。
【請求項１０】
前記メッセージは、パケット／セルスケジューリング要求コマンドおよびパケット／セルデータスケジューリングアクナレッジコマンドの少なくとも一つを含む請求項１に記載の方法。
【請求項１１】
前記メッセージコントローラは、メッセージスケジューラとメッセージクロスバーを有するメッセージ交換機を備え、前記方法は、さらに、メッセージクロスバーを横切って伝送されるメッセージを割り当て、ここで、メッセージ割り当てステップは、前記メッセージスケジューラによって実行される請求項１に記載の方法。
【請求項１２】
前記メッセージスケジューラは、少なくとも２つのメッセージアービターを有し、前記方法は、さらに、
前記２つのメッセージアービターのうちの第１のアービターによって、固定された順序で奇数番目に前記メッセージコントローラに到着する入力メッセージを選択し、
前記２つのメッセージアービターのうちの第２のアービターによって、固定された順序で偶数番目に前記メッセージコントローラに到着する入力メッセージを選択する請求項１１に記載の方法。
【請求項１３】
複数の入力ユニット、パケット／セル交換エレメント、メッセージコントローラ、および複数の出力ユニットを含む交換装置によりパケット／セルおよびメッセージを伝送する方法であって、前記方法は、
ａ）前記複数の入力ユニットおよび出力ユニットのうちの一のユニットで、別の前記入力ユニットおよび前記出力ユニットに向かうメッセージを生成し、
ｂ）前記メッセージコントローラのメッセージ交換機を経由し、メッセージ伝送のために専用化された複数のリンクのうちの少なくとも一のリンクを経由して、前記複数の入力ユニットおよび出力ユニットのうちの前記一のユニットから前記別の入力ユニットおよび出力ユニットに前記メッセージを伝送し、
ｃ）前記メッセージコントローラの制御の下で、前記パケット／セル交換エレメントを経由し、パケット／セル伝送のために専用化された複数のリンクの少なくとも一のリンクを経由して、一の前記入力ユニットから一の前記出力ユニットにパケット／セルを出力する方法。
【請求項１４】
パケット／セル伝送に専用化された前記リンクは、パケット／セル交換エレメントへの／からの前記パケット／セルの伝送に用いられ、いかなるメッセージの伝送にも用いられない請求項１３に記載の方法。
【請求項１５】
メッセージ伝送に専用化された前記リンクは、メッセージコントローラを経由しての前記メッセージの伝送に用いられ、いかなるパケットまたはセルの伝送にも用いられない請求項１４に記載の方法。
【請求項１６】
前記交換装置内で伝送されるべき複数のメッセージがある場合に、メッセージフレームに含まれる前記複数のメッセージにメッセージ伝送タイムスロットを割り当て、
割り当てられたそれぞれの前記メッセージ伝送タイムスロットに前記メッセージを配置し、
前のメッセージフレームから前記メッセージフレームを分離するためにフレーム区切りを追加する、請求項１３に記載の方法。
【請求項１７】
複数の入力ポートと複数の出力ポートを含む交換装置内でパケット／セルおよびメッセージを伝送するシステムであって、
前記交換装置内でパケット／セルを交換するためのパケット／セル交換エレメントと、
メッセージ交換機とパケット／セルアービターを含み、前記交換装置内でメッセージの交換を制御するメッセージコントローラと、
それぞれの前記入力ユニットおよび前記出力ユニットを前記パケット／セル交換エレメントにそれぞれ接続するための第１の複数の入力および出力リンクと、
それぞれの前記入力ユニットおよび前記出力ユニットを前記メッセージコントローラにそれぞれ接続するための第２の複数の入力および出力リンクと、
前記複数の入力または出力リンクのうちの一のリンクで生成され、別の前記入力または出力リンクに向かうことになるすべてのメッセージは、前記メッセージ交換機によって交換され、
前記メッセージ交換機内のすべてのパケット／セルのスケジューリングは、前記パケット／セルアービターによって実行されるシステム。
【請求項１８】
前記第１の複数の入力および出力リンクは、パケット／セルの伝送に専用化され、パケット／セル交換エレメントへの／からのパケット／セルの伝送に用いられる請求項１７に記載のシステム。
【請求項１９】
前記第２の複数の入力および出力リンクは、メッセージの伝送に専用化され、前記メッセージコントローラを経由しての前記メッセージの伝送に用いられる請求項１７に記載のシステム。
【請求項２０】
前記パケット／セル交換エレメントは、平行パケット／セル交換デバイスの１段の構成に相当する請求項１７に記載のシステム。
【請求項２１】
前記メッセージ交換機は、メッセージスケジューリングを以下の態様で実行する、
前記交換装置内に伝送されるべき複数のメッセージがある場合に、前記メッセージ交換機は、メッセージフレームに含まれる複数のメッセージにメッセージ伝送タイムスロットを割り当て、前記メッセージは、割り当てられた前記メッセージ伝送タイムスロットのそれぞれに配置され、フレーム区切りが前のメッセージフレームから前記メッセージフレームを分離するために追加される、請求項１７に記載のシステム。
【請求項２２】
前記メッセージコントローラによってスケジュールされたそれぞれのメッセージ伝送タイムスロットは、２〜１６バイトのサイズを有する請求項２１に記載のシステム。
【請求項２３】
それぞれのメッセージフレームは、フレーム区切りによって前のメッセージフレームから分離され、
前記メッセージコントローラは、前記メッセージコントローラから出力された複数のメッセージフレーム内の適切な位置に前記フレーム区切りを挿入する請求項２１に記載のシステム。
【請求項２４】
前記メッセージは、パケット／セルデータスケジューリング要求コマンドとパケット／セルデータスケジューリングアクナレッジコマンドの少なくとも一つを含む請求項２１に記載のシステム。
【請求項２５】
前記メッセージは、
ａ）前記交換装置の前記入力ユニットのうちの前記一のユニットによって生成されて前記メッセージコントローラに伝送され、前記メッセージコントローラで処理されて終結される第１のタイプのメッセージ、
ｂ）前記メッセージコントローラで生成されて前記交換装置の前記一の入力ユニットに向かい、前記一の入力ユニットで処理されて終結される第２のタイプのメッセージ、または、
ｃ）前記交換装置の入力または出力ユニットのうちの一のユニットで生成されて前記交換装置の別の入力または出力ユニットに向かうようにされ、起点から目的地までの伝送に前記メッセージコントローラが利用される第３のタイプのメッセージを含む請求項２１に記載のシステム。
【請求項２６】
前記フレーム区切りは、フレーム開始インジケータまたはフレーム終了インジケータである請求項２３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、パケット／セル交換装置におけるメッセージの交換に関する。メッセージ交換は、小さいメッセージの効果的な交換のために最適化されており、パケット／セル交換から十分に分離されて実行される。
【背景技術】
【０００２】
一般の交換装置の入力および出力ユニットはそれぞれ、その交換装置内部にあるパケット／セル交換エレメントの入力および出力リンクに接続されている。到来するパケット／セルは、パケットおよび／またはセルのフォーマットでパケット／セル交換エレメントを経由して入力ユニットから出力ユニットへ交換される。典型的なパケットフォーマットは、典型的には３２〜１００００バイトの範囲の可変サイズのフレームであり、典型的なセルフォーマットは、典型的には３２〜８バイトの範囲の固定サイズのフレームである。
【０００３】
交換装置の入力および出力ユニットは、入力ユニットと出力ユニットとの間で効果的にメッセージを交換するための手段を必要としてもよい。そのようなメッセージは、典型的には、パケット／セルの入力／出力ユニットの待ち行列ステータス、パケット／セルの交換／スケジューリングクレジット、パケット／セルフロー制御コマンド、パケット／セル制御テーブルステータス情報に関連する分配情報として用いられる。これらのメッセージは典型的には２〜１６バイトの範囲であり、典型的なパケットおよび／またはセルのサイズの最小値よりも小さい。さらに、パケット／セルが典型的には、入力ユニットから出力ユニットにのみ交換される一方で、メッセージは入力ユニットから出力ユニットまたはその逆に交換されてもよい。
【０００４】
パケット／セル交換エレメントは、典型的には、パケットおよび／またはセルの交換のために、３２〜８０バイトの最小サイズで最適化される。このため、それより小さいメッセージの交換に対しては効率が悪い。この効率の悪さの一つの理由は、パケット／セルユニットごとに必要な交換ヘッダの大きさがメッセージ自体の大きさに匹敵するかもしれないからである。パケット／セル交換エレメントは、また、メッセージのサイズがパケット／セルの最小サイズになるまでパディングするかもしれず、これにより、小さいメッセージの交換に用いるときに、パケット／セル交換エレメントの効率を低減する。メッセージがパケット／セルと共に、パケット／セル交換エレメントを横切って交換されるとき、メッセージがパケット／セル交換の処理量に影響を与える、またはその逆に影響を与え、メッセージとパケット／セルの両方にとって非決定論的な交換の実行をもたらすという問題がある。
【０００５】
米国公開２００３／０１０３５０１号公報に記載された一つの解決策は、交換エレメントの内部で統合された分離リングエレメントを用いて、クロスバーを横切って交換される、より小さいメッセージをトラフィックデータ（パケット／セル）から分離する。リングエレメントは、連続的に接続された隣接する交換エレメントリンクで構成され、交換エレメントリンクは、リングを構成し、メッセージを連続的に、入力リンクから中間のリンクを通って目的地の出力リンクに渡す。このアプローチの欠点は、交換エレメントの内部で、メッセージとトラフィックデータ（パケット／セル）が分離された交換リソースを用いているにも関わらず、メッセージとトラフィックデータを交換エレメントへまたは交換エレメントから渡すときはいずれも、交換エレメントの入力および出力リンクを共有している点である。この構造は、メッセージがトラフィックデータ（パケット／セル）の交換に影響を与えるか、またはその逆に影響を与え、メッセージとパケット／セルの両方にとって非決定論的な交換の実行をもたらすことを意味する。
【０００６】
米国特許５７０３８７５号に記載された別の解決策は、交換エレメントの内部で分離された待ち行列リソースを用い、短い制御メッセージを長いデータメッセージから分離する。各入力リンクは、分離された入力行列リソースを有し、短いメッセージと長いメッセージを分離し、すべてのメッセージを同じクロスバーエレメントを用いて交換する。このアプローチの欠点は、メッセージとトラフィックデータ（パケット／セル）が交換機内部で分離された行列リソースを用いるにも関わらず、メッセージとトラフィックデータを交換エレメントへまたは交換エレメントから渡すときはいずれも、交換エレメントの入力および出力リンクを共有しており、また、同じクロスバーエレメントを共有している点である。この構造は、メッセージがトラフィックデータ（パケット／セル）の交換に影響を与えるか、またはその逆に影響を与え、メッセージとパケット／セルの両方にとって非決定論的な交換の実行をもたらすことを意味する。
【発明の開示】
【０００７】
本発明の少なく一つの態様は、パケット／セル交換装置の内部において、パケット／セル交換から十分に分離された効果的なメッセージ交換を実行する。
【０００８】
本発明の一つの態様によれば、複数の入力ユニット、パケット／セル交換エレメント、メッセージコントローラ、および複数の出力ユニットを含む交換装置の中で、パケット／セルとメッセージを伝送する方法を提供する。この方法は、複数の入力ユニットおよび出力ユニットの一つで、別の入力ユニットおよび出力ユニットに向かうメッセージを生成することを含む。この方法はまた、メッセージコントローラを経由し、複数のメッセージ伝送のためのリンクのうちの一つを経由して、複数の入力ユニットおよび出力ユニットの一つから、別の入力ユニットおよび出力ユニットへ、メッセージを運ぶことを含む。この方法はさらに、入力ユニットの一つからメッセージコントローラへパケット／セルスケジューリング要求コメントを出力することを含み、パケット／セルスケジューリング要求コマンドは、交換装置内にあるメッセージ伝送のために専用化された複数のリンクのうちの一つを用いて、複数の入力ユニットの一つからメッセージコントローラへ運ばれる。この方法はさらに、メッセージコントローラでパケット／セル伝送スケジューリング要求コマンドを受信し、メッセージコントローラでパケット／セルの伝送がいつ許可されているか決定し、メッセージ伝送のための複数のうちの一または他のリンクを通じて、メッセージコントローラから複数の入力ユニットの一つにパケット／セルデータアクナレッジコマンドを出力することによって、複数の入力ユニットの一つに通知する。この方法はまた、パケット／セル伝送のための複数のリンクの一つを用いて、複数の入力ユニットの一つからパケット／セル交換エレメントに、パケット／セルを出力することを含む。
【０００９】
本発明の他の態様によれば、複数の入力ユニット、パケット／セル交換エレメント、メッセージコントローラ、および複数の出力ユニットを含む交換装置の中で、パケット／セルとメッセージを伝送する方法を提供する。この方法は、複数の入力ユニットおよび出力ユニットの一つで、他の入力ユニットおよび出力ユニットに向かうメッセージを生成することを含む。この方法はまた、メッセージコントローラのメッセージ交換機を経由し、メッセージ伝送のために専用化された複数のリンクのうちの少なくとも一つを経由して、複数の入力ユニットおよび出力ユニットの一つから、他の入力ユニットおよび出力ユニットへ、メッセージを伝送することを含む。この方法はさらに、メッセージコントローラの制御の下で、パケット／セル交換エレメントを経由し、パケット／セル伝送のための複数のリンクのうちの少なくとも一つを経由して、複数の入力ユニットの一つから出力ユニットの一つにパケット／セルを出力することを含む。
【００１０】
本発明のさらに他の態様によれば、複数の入力ユニット、パケット／セル交換エレメント、パケット／セルアービターおよびメッセージ交換機を含むメッセージコントローラ、複数の出力ユニットを含む交換装置の中で、パケット／セルおよびメッセージを伝送するためのシステムを提供する。システムは、各入力ユニットおよび出力ユニットをパケット／セル交換エレメントにそれぞれ接続する第１の複数の入力および出力リンクを含む。システムはまた、各入力および出力ユニットをメッセージコントローラに接続する第２の複数の入力および出力リンクを含む。すべてのパケットおよびセルは、パケット／セルスケジューリング制御の下、第１の複数の入力および出力リンクおよびパケット／セル交換エレメントを経由して、入力ユニットから出力ユニットへ伝送される。パケット／セルスケジューリング制御は、第２の複数の入力リンクを経由して入力ユニットの一つからパケット／セルアービターへのスケジュール要求メッセージを伝送する第１の伝送と、入力ユニットの一つが第２の複数の出力リンクを経由して対応するスケジューリングアクナレッジメッセージをパケット／セルアービターから受信することと、第１の複数の入力および出力リンクとパケット／セルエレメントを経由して出力ユニットの一つへパケット／セルに対応する伝送を行う第２の伝送とを含む。すべてのメッセージは、入力ユニットおよび出力ユニットの間を、第１の複数の入力および出力リンクとメッセージ交換機を経由して伝送される。
【発明を実施するための最良の形態】
【００１１】
本発明の前述の利点と特徴は、以下の詳細な説明と添付の図面により明らかにされる。
【００１２】
図１は、本発明の第１の実施の形態の交換装置を示す。
【００１３】
図２は、第１の実施の形態におけるメッセージコントローラへまたはメッセージコントローラからのメッセージの伝送フォーマットを示す。
【００１４】
図３は、第１の実施の形態におけるパケット／セルアービターおよびメッセージ交換機を含むメッセージコントローラの最上位のブロック図を示す。
【００１５】
図４は、第１の実施の形態におけるメッセージコントローラのメッセージフレーム解析機能のフローチャートを示す。
【００１６】
図５は、第１の実施の形態におけるメッセージコントローラのメッセージフレーム生成機能のフローチャートを示す。
【００１７】
図６は、第１の実施の形態におけるメッセージコントローラの内部のメッセージ交換機のブロック図を示す。
【００１８】
本発明の第１の実施の形態の交換装置は、パケット／セル交換エレメントとメッセージコントローラを含む。交換装置は、パケット／セル交換エレメントを経由して実行されるパケット／セル交換から十分に切り離されたメッセージコントローラを経由して、効率的なメッセージ交換を可能にする。
【００１９】
メッセージコントローラは、交換装置の入力および出力ユニットの間の効率的なメッセージ交換を可能にするためのメカニズムとしての作動に加えて、入力ユニットから受信した要求メッセージの処理と、パケット／セル交換エレメントを横切ってパケット／セルを向かわせるための入力ユニットへのアクナレッジメッセージの生成、および入力ユニットへの返送により、パケット／セルスケジュール仲裁を実行する。
【００２０】
メッセージは、フレームフォーマットで、メッセージコントローラに伝送される。フレームフォーマットは、フレームごとに複数のメッセージ伝送タイムスロットを定義している。それぞれのメッセージ伝送のタイムスロットの位置は、フレーム境界に対して固定されている。伝送記述（delineation）オーバーヘッドはフレームごとに要求されるが、個々のメッセージ伝送タイムスロットごとには要求されないので、オーバーヘッドをほとんどなくした効率的なメッセージ伝送フォーマットを提供できる。
【００２１】
メッセージコントローラにメッセージが到着すると、メッセージは、パケット／セルスケジューリング要求メッセージのタイプか、交換装置の入力および出力ユニットのそれぞれの間で交換されるタイプかによって、メッセージコントローラのパケット／セルアービターかメッセージコントローラのメッセージ交換機のいずれかに転送される。
【００２２】
典型的な交換装置の実施の形態では、メッセージコントローラのパケット／セルアービターは、パケット／セルスケジューリング要求コマンドメッセージを受け取り、その返信としてパケット／セルスケジューリングアクナレッジコマンドを生成する。パケット／セルアービターの作動は本発明の範囲外であり、ここでは詳細に議論しない。本発明の実施の形態は、パケット／セルアービターから独立している。
【００２３】
メッセージコントローラは、小さいメッセージ用に最適化されたメッセージ交換機を統合する。メッセージ交換機は、典型的には、２−１６バイトの典型的な大きさの範囲の小さいメッセージ用に最適化される。メッセージ交換機は、パケット／セル交換エレメントから独立した非常に小さなメッセージの交換のために最適化されることができるので、非常に効率的なメッセージ交換機を統合することが可能である。
【００２４】
メッセージコントローラのメッセージ交換機は、入力リンクごとの入力メッセージの行列のセットと、出力リンクごとの出力メッセージの行列のセットを含んでいる。これにより、これらの行列は、メッセージクロスバーの入力および出力を介して接続されている。メッセージスケジューラは、メッセージクロスバーを横切るメッセージの交換を制御する。それによって、メッセージのクロスバーは、１以上の入力メッセージ行列から１以上の出力メッセージ行列への多数のメッセージを、出力リンクベースで同時に交換することができる。
【００２５】
図１は、本発明の第１の実施の形態によるＮ×Ｎ交換装置（Ｎは１より大きい整数）の構成を示す。交換装置の大きさはＮ×Ｎ以外でもよく、例えば、Ｍ×Ｎでもよい（ここでＭとＮは異なる整数）。Ｎ×Ｎ交換装置は、Ｎ入力ポート１９２と、Ｎ出力ポート１９４と、Ｎ入力ユニット１００と、Ｎ出力ユニット１９０と、メッセージコントローラ１３０と、パケット／セル交換エレメント１６０と、メッセージ入力／出力リンク１１０と、パケット／セル入力リンク１４０と、パケット／セル出力リンク１７０とを含んでいる。
【００２６】
それぞれのＮ入力ポート１９２は、パケット及び／又はセルを受け取り、当業者に公知の方法で、それぞれの入力ユニット１００内にバッファする。それぞれの入力ユニット１００は、パケット／セル交換エレメント１６０に１以上の入力リンク１４０を介して接続されており、パケット及び／又はセル１５０は、これらの専用化されたパケット／セル入力リンク１４０を経由して、入力ユニット１００からパケット／セル交換エレメント１６０に転送される。それぞれの出力ユニット１９０は、１以上の出力リンク１７０を介してパケット／セル交換エレメント１６０に接続され、目的地である出力ポート１９４への最終的な転送の前に、パケット及び／又はセル１５２を、これらの専用化されたパケット／セル出力リンク１７０を経由して、パケット／セル交換エレメント１６０から出力ユニット１９０に転送する。
【００２７】
入力／出力ユニットとパケット／セル交換エレメントとの間の接続に加え、それぞれの入力ユニット１００はメッセージコントローラ１３０に１以上の入力／出力リンク１１０を介して接続しており、入力／出力リンク１１０は、Ｎ×Ｎ交換装置内で、メッセージコントローラ１８０と入力ユニット１００との双方向のメッセージ伝送を行うために専用に用いられる。入力ユニット１００は、メッセージ伝送に専用化された１以上の入力／出力リンク１１０を経由して、メッセージ１２０をメッセージコントローラ１３０に伝送し、メッセージ伝送に専用化された１以上の入力／出力リンクを経由してメッセージコントローラ１３０からメッセージ１２０を受信する。同様に、それぞれの出力ユニット１９０もまた、メッセージコントローラ１３０と出力ユニット１９０との間の双方向のメッセージ伝送を行うために専用化された１以上の入力／出力リンク１１０を介してメッセージコントローラ１３０に接続している。
【００２８】
図１は、入力／出力リンク１１０を双方向リンク（両端に矢印）として示しているが、個々のリンクは、好ましくは、一方向である。いくつかのリンク１１０は、入力／出力ユニット１００／１９０からメッセージコントローラ１３０へのメッセージの伝送のための専用であり、他のリンクは、メッセージコントローラ１３０から入力／出力ユニット１００／１９０へのメッセージの伝送の専用である。
【００２９】
パケット／セル仲裁（スケジューリング）機能は、図１に示す実施の形態の構成のメッセージコントローラ１３０に含まれる。パケット／セル仲裁機能は、入力ユニットから受信した要求メッセージを処理し、アクナレッジメッセージを生成して入力ユニットに伝送し、パケット／セルを、それらの目的地である出力ポートへの最終的な転送の前に、交換のためのパケット／セル交換エレメントを横切って入力ユニットから出力ユニットに向かわせる。メッセージコントローラに含まれるパケット／セル仲裁機能は、１以上の入力ユニット１００、１以上の出力ユニット１９０、またはこれらの部分の組合せに組み入れられたパケット／セル仲裁機能と、特定の交換装置の形態に依存して協力してもよい。
【００３０】
パケット／セル交換エレメント１６０の好ましい実装は、平行の交換デバイスの一段の階層構造であり、入力ユニットからのパケット／セルがこれらの平行の交換デバイスの全体に同時に分配されるようにスケジュールされる。
【００３１】
第１の実施の形態の好ましい態様では、入力ユニットＬと出力ユニットＬは、一つの物理デバイスに統合されている。このように統合された入力および出力ユニットは、メッセージコントローラ１３０に接続する同じ入力ラインを共有でき、メッセージコントローラ１３０上の入力／出力リンク１１０の数を２分の１に削減できる。
【００３２】
図２は、第１の実施の形態によるメッセージコントローラ１３０の入力リンク２３０、出力リンク２４０の伝送フォーマットを示す。入力リンク２３０と出力リンク２４０は、一方向として示されている。好ましくは、伝送フォーマットはフレームフォーマットであり、入力／出力リンクを横切って伝送されるフレーム２１０を含んでいる。第１の実施の形態の好ましい実装においては、フレームは連続して送信され、この場合、フレーム境界は、フレーム開始インジケータ（フレーム区切り）２５０を用いることでフレーム受信機によって識別され、フレーム終了インジケータは必要ではない。
【００３３】
それぞれのメッセージフレームは複数のメッセージ伝送タイムスロット２６０を定義しており、それぞれのメッセージ伝送タイムスロット２６０は空メッセージを含むメッセージを伝送するのに用いられる。それぞれのメッセージ伝送タイムスロット２６０の位置は、フレーム境界に対して固定されている。受信機は、受信したメッセージフレーム内のメッセージ境界を識別するために、メッセージごとにいかなる伝送オーバーヘッドも必要ない。
【００３４】
異なるメッセージタイプの特定のフォーマットは、Ｎ×Ｎ交換装置の特定の利用に依存している。一つの特定の実装においては、メッセージは３つの一般的なカテゴリまたはタイプに分類され得る。メッセージの第１のタイプは、入力ユニットにより生成された要求コマンドメッセージをスケジューリングするパケット／セルであり（例えば、入力ユニットで受信したばかりのパケット／セルを特定の出力ユニットに転送する要求）、メッセージコントローラ２２０に転送され、そこでパケット／セルアービター３５０によって処理され、終結される。このメッセージタイプは、メッセージコントローラの入力リンク上でのみ伝送される。
【００３５】
メッセージの第２のタイプは、メッセージコントローラのパケット／セルアービター３５０によって生成されたパケット／セルアクナレッジコマンドメッセージであり、処理のために入力ユニットに転送される。このメッセージタイプは、メッセージコントローラの出力リンク上でのみ伝送される。
【００３６】
メッセージの第３のタイプは、入力／出力ユニット２００で生成されるメッセージであり、メッセージコントローラ２２０を横切って透過的に交換されることにより、入力／出力ユニットの間で交換される。このカテゴリは、メッセージコントローラ２２０内で複製されたメッセージであって、メッセージコントローラの外へ転送され、異なる出力リンク２４０上を転送される複数のコピーのメッセージも含む。このメッセージタイプは、メッセージコントローラの入力および出力リンク上で伝送される。
【００３７】
第１の実施の形態は、２つのメッセージタイプのうちの一つのために、入力メッセージフレーム２５０ごとにあらかじめ割り当てられたそれぞれのメッセージ伝送タイムスロット２６０により、第１と第３のメッセージのタイプの間の入力リンクのメッセージ伝送帯域を割り当てることができる。これら２つのメッセージタイプのための利用可能な入力リンク伝送帯域の最適な割合は、交換装置の特定の実装に依存しており、必要に応じて特別の実装に合うように修正可能である。
【００３８】
第１の実施の形態は、２つのメッセージタイプのうちの一つのために、出力メッセージフレーム２５０ごとにあらかじめ割り当てられたそれぞれのメッセージ伝送タイムスロット２６０により、第２と第３のメッセージのタイプの間の出力リンクのメッセージ伝送帯域を割り当てることができる。これら２つのメッセージタイプのための利用可能な出力リンク伝送帯域の最適な割合は、交換装置の特定の実装に依存しており、必要に応じて特別の実装に合うように修正可能である。
【００３９】
第１の実施の形態の一つの可能な実装においては、典型的なメッセージ伝送タイムスロット２６０のサイズは、メッセージのタイプによって変えてもよく、これにより、対応するメッセージタイプのそれぞれのための個別のサイズメッセージ伝送タイムスロットを規定することにより、第１の実施の形態によるメッセージ伝送は最適化される。
【００４０】
第１の実施の形態の好ましい実装において、メッセージ伝送タイムスロット２６０のサイズは、交換装置の実施の形態における対応するメッセージのサイズに合っており、メッセージのサイズをメッセージ伝送タイムスロットの大きさに合わせるためのメッセージ情報のパディングを回避できる。
【００４１】
図３は、本発明の第１の実施の形態に組み込まれるメッセージコントローラ１３０のブロック図を示す。メッセージフレームは入力リンク３３０に到着し、入ってきたメッセージは、メッセージフレーム構文解析部３２０によって、個別メッセージのタイプによりメッセージ交換機３４０又はパケット／セルアービター３５０のいずれかに転送される。メッセージは出力リンク３００上をメッセージフレームの形で転送され、メッセージフレームはメッセージフレーム生成部３１０にて生成される。メッセージフレーム生成部３１０は、メッセージ交換機３４０とパケット／セルアービター３５０の両方からフレームを受け取る。
【００４２】
図４は、図３に示すメッセージフレーム構文解析部３２０の機能的な動作を示す流れ図である。ステップ４００において、メッセージフレームは入力リンクに到着する。ステップ４１０において、メッセージフレーム構文解析部３２０は、メッセージフレーム内の次のメッセージ伝送タイムスロットを一つずつ識別する。ステップ４２０において、この方法は、次のメッセージ伝送タイムスロットが空であるか判定する。もし、「いいえ」なら、フローはステップ４３０に移行する。もし、「はい」なら、フローはステップ４６０に移行する。ステップ４３０では、空でないメッセージ伝送タイムスロットは、パケット／セルアービタ３５０へ向かうメッセージを含んでいるか決定される。もし、「いいえ」なら、ステップ４４０において、メッセージはメッセージ交換機３４０に転送される。もし「はい」なら、ステップ４５０において、メッセージはパケット／セルアービター３５０に転送される。ステップ４６０において、メッセージ内の最後のメッセージ伝送タイムスロットが処理されたか否かの決定がなされる。もし、「はい」なら、処理はステップ４００に戻り、別のアービターフレームが入力リンクに到着するのを待つ。もし、「いいえ」なら、処理はステップ４１０に戻り、現在のアービターフレームの次のメッセージ伝送タイムスロットを識別する。
【００４３】
このようなメッセージ処理の方法により、入ってきたパケット／セルアービター３５０へ向かうメッセージは、パケット／セルアービター３５０に転送され、入力／出力ユニット１００／１９０へ向かうメッセージはメッセージ交換機３４０に転送される。入ってきたメッセージフレームのすべてのメッセージ伝送タイムスロットが処理されると、メッセージフレーム構文解析部３４０は次のメッセージフレームの到着を待つ。
【００４４】
図５は、図３に示すメッセージフレーム生成部３１０の機能的な動作を示すブロック図である。ステップ５００において、新しいメッセージフレームが伝送し始めると、これにより、メッセージフレームは一つずつ生成される。ステップ５１０において、メッセージの中の次のメッセージ伝送タイムスロットが識別される。ステップ５２０において、ステップ５１０で識別されたメッセージ伝送タイムスロットは交換されたメッセージのために割り当てられているか否かを判定する。もし、「はい」なら、ステップ５４０において、メッセージ交換機からのメッセージを、出て行くアービターフレームに挿入する。もし、「いいえ」なら、ステップ５３０において、パケット／セルアービター３５０からのメッセージを、出て行くアービターフレームに挿入する。
【００４５】
換言すれば、方法は、メッセージ伝送タイムスロットが、パケット／セルアービターのためにあらかじめ割り当てられているか、またはメッセージ交換機のためにあらかじめ割り当てられているかを判定する。メッセージ伝送タイムスロットが、メッセージ交換機のためにあらかじめ割り当てられているときは、ステップ５４０において、メッセージ交換機からのメッセージを出て行くメッセージフレームに挿入する。メッセージ伝送タイムスロットが、メッセージ交換機３４０のためにあらかじめ割り当てられているが、メッセージ交換機からのメッセージは利用できないときは、空のメッセージを出て行くメッセージフレームに挿入する。
【００４６】
メッセージ伝送タイムスロットがパケット／セルアービター３５０のためにあらかじめ割り当てられているときは、ステップ５３０において、パケット／セルアービター３５０からのメッセージを出て行くメッセージフレームに挿入する。メッセージ伝送タイムスロットがパケット／セルアービター３５０のためにあらかじめ割り当てられているが、パケット／セルアービター３５０からのメッセージは利用できないときは、空のメッセージを出て行くメッセージフレームに挿入する。ステップ５５０は、これがメッセージフレームの中の最後のメッセージ伝送タイムスロットか否かを判定する。もし、「はい」なら、処理はステップ５００に戻り、もし、「いいえ」なら処理はステップ５１０に移行してメッセージフレームの中の次のメッセージ伝送タイムスロットを識別する。
【００４７】
図６は、図３に示すメッセージ交換機の部品を示すブロック図である。メッセージ交換機３４０は、メッセージコントローラ１３０の中に統合されており、メッセージコントローラの入力リンクとメッセージコントローラの出力リンクとのメッセージ交換を提供する。
【００４８】
メッセージ交換機３４０は、メッセージスケジューラ６００と、メッセージクロスバー６６０と、入力リンクにつき一つのメッセージ入力行列６５０と、出力リンクにつき一つのメッセージ出力行列６１０とを含んでいる。
【００４９】
メッセージスケジューラ６００は、メッセージクロスバー６６０を経由して入力メッセージ行列６５０から出力メッセージ行列６２０にいつメッセージを交換するかを決定し、メッセージクロスバー交換の構成を各スケジューリングサイクルに従って更新する。
【００５０】
メッセージクロスバー６６０は、どの入力メッセージ行列からどの出力メッセージ行列への接続も提供し、どの入力メッセージ行列６５０からでもすべての出力メッセージ行列６２０にブロードキャスト可能である（あるいはどの特定のサブセットに対しても）。
【００５１】
好ましい実装においては、メッセージスケジューラ６００は、出力メッセージ行列６２０につき４つの平行したアービター（図示せず）を実装する。
・一のアービターは、固定された昇順において偶数番目の入力メッセージ行列６５０を選択する。
・一のアービターは、固定された降順において偶数番目の入力メッセージ行列６５０を選択する。
・一のアービターは、固定された昇順において奇数番目の入力メッセージ行列６５０を選択する。
・一のアービターは、固定された降順において奇数番目の入力メッセージ行列６５０を選択する。
【００５２】
仲裁は、好ましくは、入力メッセージ行列のＨＯＬ（Head-of-Line）メッセージにのみ実行され、それぞれの入力メッセージ行列は、スケジューリングサイクルにつき一つのメッセージをメッセージクロスバーに転送する。出力メッセージ行列につき実装された４つのアービターは、スケジューリングサイクルにつき、偶数番目のリンクに由来する１つまたは２つのメッセージと奇数番目のリンクに由来する１つまたは２つのメッセージを各出力メッセージ行列へ交換することができる。入ってくるメッセージが、偶数番目と奇数番目の入力リンクの間で均等に分配されると、メッセージスケジューラは、スケジューリングサイクルにつき、４つのメッセージまで出力メッセージ行列へ交換することができる。
【００５３】
メッセージは、ユニキャストメッセージとしてもブロードキャストメッセージとしても交換できる。ブロードキャスト交換は、好ましくは空間的に実行され、交換は、複数のスケジューリングサイクルに渡って実行されてもよい。いったんメッセージがすべての出力メッセージ行列へ交換されると、メッセージは、入力メッセージ行列のＨＯＬ（head-of-line）位置から除去される。最良のシナリオでは、一回のスケジューリングサイクルでブロードキャストの実行が完結する。
【００５４】
本発明の異なる実施の形態の方法論は上記に述べたとおりである。以下、本発明の実装のための異なるオプションやアプローチを述べる。
【００５５】
メッセージ交換方法及び装置を組み込んだ別の交換装置の実施の形態は、出力ユニット１９０がメッセージコントローラ１３０に接続されていない以外は、図１に示す第１の実施の形態と同じである。この実施の形態では、入力ユニット（出力ユニットではない）は、メッセージコントローラ１３０を介して入力ユニット自身とメッセージを交換できる。入力ユニットはまた、パケット／セル仲裁要求コマンドメッセージをメッセージコントローラのパケット／セルアービター３５０に転送でき、メッセージコントローラのパケット／セルアービターで生成されたパケット／セル仲裁アクナレッジコマンドメッセージを受信し、処理できる。
【００５６】
前述した実施の形態のメッセージ交換方法および装置を組み込んだ交換装置は、入力および出力ユニットの間でパケット／セルを交換するためのパケット／セル交換エレメント１６０を含んでいる。本発明は、入力および出力ユニットの間で、パケット及び／又はセルの交換の提供するいかなるパケット／セル交換エレメントをも組み込むことができる。一例として、一段の平行交換装置を含む構成としてパケット／セル交換エレメントを実装することが可能である。別の可能な実装は、複数段の交換装置を含む構成である。
【００５７】
パケット／セル交換エレメントのための交換装置は、交換装置の入力と出力との間で、パケット及び／又はセルの交換を提供する多くの形態のどれでも採用することができる。例となる交換装置は、クロスバー交換装置と、出力バッファ交換装置と、クロスポイントバッファ交換装置と、ここで全体が参照することにより組み込まれる米国出願１０／８９８５４０の「ネットワーク相互接続クロスポイント交換アーキティチャおよび方法」に記載された形態の交換装置とを含む。
【００５８】
メッセージ交換機３４０は、メッセージコントローラの入力と出力との間でのメッセージの交換を提供することができる多くの形態のどれでも採用することができる。図６は、メッセージ交換機３４０の一つの可能な実装を記述しているだけである。
【００５９】
メッセージ交換機の数々の変形が存在してもよい。例えば、メッセージ交換機は、出力につき複数のアービターを有し、メッセージ交換機の出力につき４つより少ない又は多くのアービターを有してもよい。
【００６０】
メッセージ交換機の別の可能な実装は、複数の入力の間の固定的な昇順／降順による選択に代えて、入力間のラウンドロビン式の各アービター選択を有してもよい。メッセージ交換機は、奇数番目の入力の間または偶数番目の入力の間だけに代えて、すべての入力の間で各アービター選択を有するように実装することも可能である。
【００６１】
メッセージ交換機の実装のさらに別の変形は、複数の優先行列レベルを備えた入力及び／又は出力メッセージ行列を有し、かつ／又は、メッセージスケジューラは、一のメッセージ優先度に代えて、これらの優先度に応じてクロスバーを横切るメッセージをスケジューリングしてもよい。
【００６２】
メッセージ交換機の実装のさらに別の変形は、各出力バッファがすべての入力から到達するメッセージを同時に受け入れることができる出力バッファ構成を有する。
【００６３】
さらに、図２は、入力／出力ユニットとメッセージコントローラとの間でメッセージを伝送するために好ましい伝送フォーマットを記述しているが、他のフォーマットも存在する。一つの考えられる変形は、メッセージフレームが連続して伝送されることを保証しない伝送フォーマットを組み込むことである。この変形では、メッセージフレームの境界は、各フレームにつきフレーム開始識別子とフレーム終了識別子の両方を用いて特定される。
【００６４】
メッセージ伝送フォーマットの別の変形においては、メッセージフレームの中のメッセージ伝送タイムスロットは特定のメッセージタイプのためにあらかじめ割り当てられているのではなく、メッセージフレーム生成部によって動的に異なるメッセージタイプが割り当てられる。各メッセージの中に埋め込まれたフィールドは、メッセージフレームのメッセージ伝送タイムスロットの中で伝送されるメッセージのタイプを特定するために用いられる。
【００６５】
以上、本発明による装置および方法について説明した。本発明の精神と範囲から逸脱することなくここに記載した施術を構成の様々な修正や変形が可能である。従って、ここで記載した方法や装置は、単なる例示であり、本発明の範囲を限定するものでないことが理解されるべきである。さらに、与えられたシステムまたは方法の中で、記載した１以上の態様の組合せも可能である。さらに、１以上の実施の形態は、概略設計、ハードウェア記述言語（ＨＤＬ）などのハードウェア等により実装されてもよいし、かつ／又は、プログラム可能論理回路（ＦＰＧＡ／ＣＰＬＤ）やＡＳＩＣにより実装されてもよいし、かつ／又は、分離したハードウェアデバイスを用いたハードウェアにより実装されてもよい。あるいは、１以上の実施の形態はソフトウェアによって実装されてもよい。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態の交換装置を示す図である。
【図２】実施の形態におけるメッセージコントローラへまたはメッセージコントローラからのメッセージの伝送フォーマットを示す図である。
【図３】実施の形態におけるパケット／セルアービターおよびメッセージ交換機を含むメッセージコントローラの最上位のブロック図である。
【図４】実施の形態におけるメッセージコントローラのメッセージフレーム解析機能のフローチャートである。
【図５】実施の形態におけるメッセージコントローラのメッセージフレーム生成機能のフローチャートである。
【図６】第１の実施の形態におけるメッセージコントローラの内部のメッセージ交換機のブロック図である。
【図１】
2009503932.tif 000003
【図２】
2009503932.tif 000004
【図３】
2009503932.tif 000005
【図４】
2009503932.tif 000006
【図５】
2009503932.tif 000007
【図６】
2009503932.tif 000008
【国際調査報告】
2009503932.tif 000009
2009503932.tif 000010
2009503932.tif 000011