説明

交換装置における効果的なメッセージ交換方法

複数の入力ユニット(100,192)、パケット/セル交換エレメント(160)、メッセージコントローラ(130)および複数の出力ユニット(190,194)を含む交換装置内でパケット/セルまたはメッセージを伝送するシステムおよび方法である。入力ユニットまたは出力ユニットの一つから別の入力ユニットまたは出力ユニットに伝送されるアイテムがメッセージであるかまたはパケット/セルであるかが識別される。もし、伝送されるアイテムがパケット/セル(150,152)の場合、そのパケット/セルは、パケット/セルの伝送に専用化されたリンク(140,170)とパケット/セル交換エレメントを用いて、入力ユニットの一つから出力ユニットの一つに伝送される。もし、伝送されるアイテムがメッセージ(120)の場合、そのメッセージは、メッセージの伝送のために専用化されたリンク(110)とメッセージコントローラを用いて、入力ユニットまたは出力ユニットの一つから別の入力ユニットまたは出力ユニットに伝送される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的に、パケット/セル交換装置におけるメッセージの交換に関する。メッセージ交換は、小さいメッセージの効果的な交換のために最適化されており、パケット/セル交換から十分に分離されて実行される。
【背景技術】
【0002】
一般の交換装置の入力および出力ユニットはそれぞれ、その交換装置内部にあるパケット/セル交換エレメントの入力および出力リンクに接続されている。到来するパケット/セルは、パケットおよび/またはセルのフォーマットでパケット/セル交換エレメントを経由して入力ユニットから出力ユニットへ交換される。典型的なパケットフォーマットは、典型的には32〜10000バイトの範囲の可変サイズのフレームであり、典型的なセルフォーマットは、典型的には32〜8バイトの範囲の固定サイズのフレームである。
【0003】
交換装置の入力および出力ユニットは、入力ユニットと出力ユニットとの間で効果的にメッセージを交換するための手段を必要としてもよい。そのようなメッセージは、典型的には、パケット/セルの入力/出力ユニットの待ち行列ステータス、パケット/セルの交換/スケジューリングクレジット、パケット/セルフロー制御コマンド、パケット/セル制御テーブルステータス情報に関連する分配情報として用いられる。これらのメッセージは典型的には2〜16バイトの範囲であり、典型的なパケットおよび/またはセルのサイズの最小値よりも小さい。さらに、パケット/セルが典型的には、入力ユニットから出力ユニットにのみ交換される一方で、メッセージは入力ユニットから出力ユニットまたはその逆に交換されてもよい。
【0004】
パケット/セル交換エレメントは、典型的には、パケットおよび/またはセルの交換のために、32〜80バイトの最小サイズで最適化される。このため、それより小さいメッセージの交換に対しては効率が悪い。この効率の悪さの一つの理由は、パケット/セルユニットごとに必要な交換ヘッダの大きさがメッセージ自体の大きさに匹敵するかもしれないからである。パケット/セル交換エレメントは、また、メッセージのサイズがパケット/セルの最小サイズになるまでパディングするかもしれず、これにより、小さいメッセージの交換に用いるときに、パケット/セル交換エレメントの効率を低減する。メッセージがパケット/セルと共に、パケット/セル交換エレメントを横切って交換されるとき、メッセージがパケット/セル交換の処理量に影響を与える、またはその逆に影響を与え、メッセージとパケット/セルの両方にとって非決定論的な交換の実行をもたらすという問題がある。
【0005】
米国公開2003/0103501号公報に記載された一つの解決策は、交換エレメントの内部で統合された分離リングエレメントを用いて、クロスバーを横切って交換される、より小さいメッセージをトラフィックデータ(パケット/セル)から分離する。リングエレメントは、連続的に接続された隣接する交換エレメントリンクで構成され、交換エレメントリンクは、リングを構成し、メッセージを連続的に、入力リンクから中間のリンクを通って目的地の出力リンクに渡す。このアプローチの欠点は、交換エレメントの内部で、メッセージとトラフィックデータ(パケット/セル)が分離された交換リソースを用いているにも関わらず、メッセージとトラフィックデータを交換エレメントへまたは交換エレメントから渡すときはいずれも、交換エレメントの入力および出力リンクを共有している点である。この構造は、メッセージがトラフィックデータ(パケット/セル)の交換に影響を与えるか、またはその逆に影響を与え、メッセージとパケット/セルの両方にとって非決定論的な交換の実行をもたらすことを意味する。
【0006】
米国特許5703875号に記載された別の解決策は、交換エレメントの内部で分離された待ち行列リソースを用い、短い制御メッセージを長いデータメッセージから分離する。各入力リンクは、分離された入力行列リソースを有し、短いメッセージと長いメッセージを分離し、すべてのメッセージを同じクロスバーエレメントを用いて交換する。このアプローチの欠点は、メッセージとトラフィックデータ(パケット/セル)が交換機内部で分離された行列リソースを用いるにも関わらず、メッセージとトラフィックデータを交換エレメントへまたは交換エレメントから渡すときはいずれも、交換エレメントの入力および出力リンクを共有しており、また、同じクロスバーエレメントを共有している点である。この構造は、メッセージがトラフィックデータ(パケット/セル)の交換に影響を与えるか、またはその逆に影響を与え、メッセージとパケット/セルの両方にとって非決定論的な交換の実行をもたらすことを意味する。
【発明の開示】
【0007】
本発明の少なく一つの態様は、パケット/セル交換装置の内部において、パケット/セル交換から十分に分離された効果的なメッセージ交換を実行する。
【0008】
本発明の一つの態様によれば、複数の入力ユニット、パケット/セル交換エレメント、メッセージコントローラ、および複数の出力ユニットを含む交換装置の中で、パケット/セルとメッセージを伝送する方法を提供する。この方法は、複数の入力ユニットおよび出力ユニットの一つで、別の入力ユニットおよび出力ユニットに向かうメッセージを生成することを含む。この方法はまた、メッセージコントローラを経由し、複数のメッセージ伝送のためのリンクのうちの一つを経由して、複数の入力ユニットおよび出力ユニットの一つから、別の入力ユニットおよび出力ユニットへ、メッセージを運ぶことを含む。この方法はさらに、入力ユニットの一つからメッセージコントローラへパケット/セルスケジューリング要求コメントを出力することを含み、パケット/セルスケジューリング要求コマンドは、交換装置内にあるメッセージ伝送のために専用化された複数のリンクのうちの一つを用いて、複数の入力ユニットの一つからメッセージコントローラへ運ばれる。この方法はさらに、メッセージコントローラでパケット/セル伝送スケジューリング要求コマンドを受信し、メッセージコントローラでパケット/セルの伝送がいつ許可されているか決定し、メッセージ伝送のための複数のうちの一または他のリンクを通じて、メッセージコントローラから複数の入力ユニットの一つにパケット/セルデータアクナレッジコマンドを出力することによって、複数の入力ユニットの一つに通知する。この方法はまた、パケット/セル伝送のための複数のリンクの一つを用いて、複数の入力ユニットの一つからパケット/セル交換エレメントに、パケット/セルを出力することを含む。
【0009】
本発明の他の態様によれば、複数の入力ユニット、パケット/セル交換エレメント、メッセージコントローラ、および複数の出力ユニットを含む交換装置の中で、パケット/セルとメッセージを伝送する方法を提供する。この方法は、複数の入力ユニットおよび出力ユニットの一つで、他の入力ユニットおよび出力ユニットに向かうメッセージを生成することを含む。この方法はまた、メッセージコントローラのメッセージ交換機を経由し、メッセージ伝送のために専用化された複数のリンクのうちの少なくとも一つを経由して、複数の入力ユニットおよび出力ユニットの一つから、他の入力ユニットおよび出力ユニットへ、メッセージを伝送することを含む。この方法はさらに、メッセージコントローラの制御の下で、パケット/セル交換エレメントを経由し、パケット/セル伝送のための複数のリンクのうちの少なくとも一つを経由して、複数の入力ユニットの一つから出力ユニットの一つにパケット/セルを出力することを含む。
【0010】
本発明のさらに他の態様によれば、複数の入力ユニット、パケット/セル交換エレメント、パケット/セルアービターおよびメッセージ交換機を含むメッセージコントローラ、複数の出力ユニットを含む交換装置の中で、パケット/セルおよびメッセージを伝送するためのシステムを提供する。システムは、各入力ユニットおよび出力ユニットをパケット/セル交換エレメントにそれぞれ接続する第1の複数の入力および出力リンクを含む。システムはまた、各入力および出力ユニットをメッセージコントローラに接続する第2の複数の入力および出力リンクを含む。すべてのパケットおよびセルは、パケット/セルスケジューリング制御の下、第1の複数の入力および出力リンクおよびパケット/セル交換エレメントを経由して、入力ユニットから出力ユニットへ伝送される。パケット/セルスケジューリング制御は、第2の複数の入力リンクを経由して入力ユニットの一つからパケット/セルアービターへのスケジュール要求メッセージを伝送する第1の伝送と、入力ユニットの一つが第2の複数の出力リンクを経由して対応するスケジューリングアクナレッジメッセージをパケット/セルアービターから受信することと、第1の複数の入力および出力リンクとパケット/セルエレメントを経由して出力ユニットの一つへパケット/セルに対応する伝送を行う第2の伝送とを含む。すべてのメッセージは、入力ユニットおよび出力ユニットの間を、第1の複数の入力および出力リンクとメッセージ交換機を経由して伝送される。
【発明を実施するための最良の形態】
【0011】
本発明の前述の利点と特徴は、以下の詳細な説明と添付の図面により明らかにされる。
【0012】
図1は、本発明の第1の実施の形態の交換装置を示す。
【0013】
図2は、第1の実施の形態におけるメッセージコントローラへまたはメッセージコントローラからのメッセージの伝送フォーマットを示す。
【0014】
図3は、第1の実施の形態におけるパケット/セルアービターおよびメッセージ交換機を含むメッセージコントローラの最上位のブロック図を示す。
【0015】
図4は、第1の実施の形態におけるメッセージコントローラのメッセージフレーム解析機能のフローチャートを示す。
【0016】
図5は、第1の実施の形態におけるメッセージコントローラのメッセージフレーム生成機能のフローチャートを示す。
【0017】
図6は、第1の実施の形態におけるメッセージコントローラの内部のメッセージ交換機のブロック図を示す。
【0018】
本発明の第1の実施の形態の交換装置は、パケット/セル交換エレメントとメッセージコントローラを含む。交換装置は、パケット/セル交換エレメントを経由して実行されるパケット/セル交換から十分に切り離されたメッセージコントローラを経由して、効率的なメッセージ交換を可能にする。
【0019】
メッセージコントローラは、交換装置の入力および出力ユニットの間の効率的なメッセージ交換を可能にするためのメカニズムとしての作動に加えて、入力ユニットから受信した要求メッセージの処理と、パケット/セル交換エレメントを横切ってパケット/セルを向かわせるための入力ユニットへのアクナレッジメッセージの生成、および入力ユニットへの返送により、パケット/セルスケジュール仲裁を実行する。
【0020】
メッセージは、フレームフォーマットで、メッセージコントローラに伝送される。フレームフォーマットは、フレームごとに複数のメッセージ伝送タイムスロットを定義している。それぞれのメッセージ伝送のタイムスロットの位置は、フレーム境界に対して固定されている。伝送記述(delineation)オーバーヘッドはフレームごとに要求されるが、個々のメッセージ伝送タイムスロットごとには要求されないので、オーバーヘッドをほとんどなくした効率的なメッセージ伝送フォーマットを提供できる。
【0021】
メッセージコントローラにメッセージが到着すると、メッセージは、パケット/セルスケジューリング要求メッセージのタイプか、交換装置の入力および出力ユニットのそれぞれの間で交換されるタイプかによって、メッセージコントローラのパケット/セルアービターかメッセージコントローラのメッセージ交換機のいずれかに転送される。
【0022】
典型的な交換装置の実施の形態では、メッセージコントローラのパケット/セルアービターは、パケット/セルスケジューリング要求コマンドメッセージを受け取り、その返信としてパケット/セルスケジューリングアクナレッジコマンドを生成する。パケット/セルアービターの作動は本発明の範囲外であり、ここでは詳細に議論しない。本発明の実施の形態は、パケット/セルアービターから独立している。
【0023】
メッセージコントローラは、小さいメッセージ用に最適化されたメッセージ交換機を統合する。メッセージ交換機は、典型的には、2−16バイトの典型的な大きさの範囲の小さいメッセージ用に最適化される。メッセージ交換機は、パケット/セル交換エレメントから独立した非常に小さなメッセージの交換のために最適化されることができるので、非常に効率的なメッセージ交換機を統合することが可能である。
【0024】
メッセージコントローラのメッセージ交換機は、入力リンクごとの入力メッセージの行列のセットと、出力リンクごとの出力メッセージの行列のセットを含んでいる。これにより、これらの行列は、メッセージクロスバーの入力および出力を介して接続されている。メッセージスケジューラは、メッセージクロスバーを横切るメッセージの交換を制御する。それによって、メッセージのクロスバーは、1以上の入力メッセージ行列から1以上の出力メッセージ行列への多数のメッセージを、出力リンクベースで同時に交換することができる。
【0025】
図1は、本発明の第1の実施の形態によるN×N交換装置(Nは1より大きい整数)の構成を示す。交換装置の大きさはN×N以外でもよく、例えば、M×Nでもよい(ここでMとNは異なる整数)。N×N交換装置は、N入力ポート192と、N出力ポート194と、N入力ユニット100と、N出力ユニット190と、メッセージコントローラ130と、パケット/セル交換エレメント160と、メッセージ入力/出力リンク110と、パケット/セル入力リンク140と、パケット/セル出力リンク170とを含んでいる。
【0026】
それぞれのN入力ポート192は、パケット及び/又はセルを受け取り、当業者に公知の方法で、それぞれの入力ユニット100内にバッファする。それぞれの入力ユニット100は、パケット/セル交換エレメント160に1以上の入力リンク140を介して接続されており、パケット及び/又はセル150は、これらの専用化されたパケット/セル入力リンク140を経由して、入力ユニット100からパケット/セル交換エレメント160に転送される。それぞれの出力ユニット190は、1以上の出力リンク170を介してパケット/セル交換エレメント160に接続され、目的地である出力ポート194への最終的な転送の前に、パケット及び/又はセル152を、これらの専用化されたパケット/セル出力リンク170を経由して、パケット/セル交換エレメント160から出力ユニット190に転送する。
【0027】
入力/出力ユニットとパケット/セル交換エレメントとの間の接続に加え、それぞれの入力ユニット100はメッセージコントローラ130に1以上の入力/出力リンク110を介して接続しており、入力/出力リンク110は、N×N交換装置内で、メッセージコントローラ180と入力ユニット100との双方向のメッセージ伝送を行うために専用に用いられる。入力ユニット100は、メッセージ伝送に専用化された1以上の入力/出力リンク110を経由して、メッセージ120をメッセージコントローラ130に伝送し、メッセージ伝送に専用化された1以上の入力/出力リンクを経由してメッセージコントローラ130からメッセージ120を受信する。同様に、それぞれの出力ユニット190もまた、メッセージコントローラ130と出力ユニット190との間の双方向のメッセージ伝送を行うために専用化された1以上の入力/出力リンク110を介してメッセージコントローラ130に接続している。
【0028】
図1は、入力/出力リンク110を双方向リンク(両端に矢印)として示しているが、個々のリンクは、好ましくは、一方向である。いくつかのリンク110は、入力/出力ユニット100/190からメッセージコントローラ130へのメッセージの伝送のための専用であり、他のリンクは、メッセージコントローラ130から入力/出力ユニット100/190へのメッセージの伝送の専用である。
【0029】
パケット/セル仲裁(スケジューリング)機能は、図1に示す実施の形態の構成のメッセージコントローラ130に含まれる。パケット/セル仲裁機能は、入力ユニットから受信した要求メッセージを処理し、アクナレッジメッセージを生成して入力ユニットに伝送し、パケット/セルを、それらの目的地である出力ポートへの最終的な転送の前に、交換のためのパケット/セル交換エレメントを横切って入力ユニットから出力ユニットに向かわせる。メッセージコントローラに含まれるパケット/セル仲裁機能は、1以上の入力ユニット100、1以上の出力ユニット190、またはこれらの部分の組合せに組み入れられたパケット/セル仲裁機能と、特定の交換装置の形態に依存して協力してもよい。
【0030】
パケット/セル交換エレメント160の好ましい実装は、平行の交換デバイスの一段の階層構造であり、入力ユニットからのパケット/セルがこれらの平行の交換デバイスの全体に同時に分配されるようにスケジュールされる。
【0031】
第1の実施の形態の好ましい態様では、入力ユニットLと出力ユニットLは、一つの物理デバイスに統合されている。このように統合された入力および出力ユニットは、メッセージコントローラ130に接続する同じ入力ラインを共有でき、メッセージコントローラ130上の入力/出力リンク110の数を2分の1に削減できる。
【0032】
図2は、第1の実施の形態によるメッセージコントローラ130の入力リンク230、出力リンク240の伝送フォーマットを示す。入力リンク230と出力リンク240は、一方向として示されている。好ましくは、伝送フォーマットはフレームフォーマットであり、入力/出力リンクを横切って伝送されるフレーム210を含んでいる。第1の実施の形態の好ましい実装においては、フレームは連続して送信され、この場合、フレーム境界は、フレーム開始インジケータ(フレーム区切り)250を用いることでフレーム受信機によって識別され、フレーム終了インジケータは必要ではない。
【0033】
それぞれのメッセージフレームは複数のメッセージ伝送タイムスロット260を定義しており、それぞれのメッセージ伝送タイムスロット260は空メッセージを含むメッセージを伝送するのに用いられる。それぞれのメッセージ伝送タイムスロット260の位置は、フレーム境界に対して固定されている。受信機は、受信したメッセージフレーム内のメッセージ境界を識別するために、メッセージごとにいかなる伝送オーバーヘッドも必要ない。
【0034】
異なるメッセージタイプの特定のフォーマットは、N×N交換装置の特定の利用に依存している。一つの特定の実装においては、メッセージは3つの一般的なカテゴリまたはタイプに分類され得る。メッセージの第1のタイプは、入力ユニットにより生成された要求コマンドメッセージをスケジューリングするパケット/セルであり(例えば、入力ユニットで受信したばかりのパケット/セルを特定の出力ユニットに転送する要求)、メッセージコントローラ220に転送され、そこでパケット/セルアービター350によって処理され、終結される。このメッセージタイプは、メッセージコントローラの入力リンク上でのみ伝送される。
【0035】
メッセージの第2のタイプは、メッセージコントローラのパケット/セルアービター350によって生成されたパケット/セルアクナレッジコマンドメッセージであり、処理のために入力ユニットに転送される。このメッセージタイプは、メッセージコントローラの出力リンク上でのみ伝送される。
【0036】
メッセージの第3のタイプは、入力/出力ユニット200で生成されるメッセージであり、メッセージコントローラ220を横切って透過的に交換されることにより、入力/出力ユニットの間で交換される。このカテゴリは、メッセージコントローラ220内で複製されたメッセージであって、メッセージコントローラの外へ転送され、異なる出力リンク240上を転送される複数のコピーのメッセージも含む。このメッセージタイプは、メッセージコントローラの入力および出力リンク上で伝送される。
【0037】
第1の実施の形態は、2つのメッセージタイプのうちの一つのために、入力メッセージフレーム250ごとにあらかじめ割り当てられたそれぞれのメッセージ伝送タイムスロット260により、第1と第3のメッセージのタイプの間の入力リンクのメッセージ伝送帯域を割り当てることができる。これら2つのメッセージタイプのための利用可能な入力リンク伝送帯域の最適な割合は、交換装置の特定の実装に依存しており、必要に応じて特別の実装に合うように修正可能である。
【0038】
第1の実施の形態は、2つのメッセージタイプのうちの一つのために、出力メッセージフレーム250ごとにあらかじめ割り当てられたそれぞれのメッセージ伝送タイムスロット260により、第2と第3のメッセージのタイプの間の出力リンクのメッセージ伝送帯域を割り当てることができる。これら2つのメッセージタイプのための利用可能な出力リンク伝送帯域の最適な割合は、交換装置の特定の実装に依存しており、必要に応じて特別の実装に合うように修正可能である。
【0039】
第1の実施の形態の一つの可能な実装においては、典型的なメッセージ伝送タイムスロット260のサイズは、メッセージのタイプによって変えてもよく、これにより、対応するメッセージタイプのそれぞれのための個別のサイズメッセージ伝送タイムスロットを規定することにより、第1の実施の形態によるメッセージ伝送は最適化される。
【0040】
第1の実施の形態の好ましい実装において、メッセージ伝送タイムスロット260のサイズは、交換装置の実施の形態における対応するメッセージのサイズに合っており、メッセージのサイズをメッセージ伝送タイムスロットの大きさに合わせるためのメッセージ情報のパディングを回避できる。
【0041】
図3は、本発明の第1の実施の形態に組み込まれるメッセージコントローラ130のブロック図を示す。メッセージフレームは入力リンク330に到着し、入ってきたメッセージは、メッセージフレーム構文解析部320によって、個別メッセージのタイプによりメッセージ交換機340又はパケット/セルアービター350のいずれかに転送される。メッセージは出力リンク300上をメッセージフレームの形で転送され、メッセージフレームはメッセージフレーム生成部310にて生成される。メッセージフレーム生成部310は、メッセージ交換機340とパケット/セルアービター350の両方からフレームを受け取る。
【0042】
図4は、図3に示すメッセージフレーム構文解析部320の機能的な動作を示す流れ図である。ステップ400において、メッセージフレームは入力リンクに到着する。ステップ410において、メッセージフレーム構文解析部320は、メッセージフレーム内の次のメッセージ伝送タイムスロットを一つずつ識別する。ステップ420において、この方法は、次のメッセージ伝送タイムスロットが空であるか判定する。もし、「いいえ」なら、フローはステップ430に移行する。もし、「はい」なら、フローはステップ460に移行する。ステップ430では、空でないメッセージ伝送タイムスロットは、パケット/セルアービタ350へ向かうメッセージを含んでいるか決定される。もし、「いいえ」なら、ステップ440において、メッセージはメッセージ交換機340に転送される。もし「はい」なら、ステップ450において、メッセージはパケット/セルアービター350に転送される。ステップ460において、メッセージ内の最後のメッセージ伝送タイムスロットが処理されたか否かの決定がなされる。もし、「はい」なら、処理はステップ400に戻り、別のアービターフレームが入力リンクに到着するのを待つ。もし、「いいえ」なら、処理はステップ410に戻り、現在のアービターフレームの次のメッセージ伝送タイムスロットを識別する。
【0043】
このようなメッセージ処理の方法により、入ってきたパケット/セルアービター350へ向かうメッセージは、パケット/セルアービター350に転送され、入力/出力ユニット100/190へ向かうメッセージはメッセージ交換機340に転送される。入ってきたメッセージフレームのすべてのメッセージ伝送タイムスロットが処理されると、メッセージフレーム構文解析部340は次のメッセージフレームの到着を待つ。
【0044】
図5は、図3に示すメッセージフレーム生成部310の機能的な動作を示すブロック図である。ステップ500において、新しいメッセージフレームが伝送し始めると、これにより、メッセージフレームは一つずつ生成される。ステップ510において、メッセージの中の次のメッセージ伝送タイムスロットが識別される。ステップ520において、ステップ510で識別されたメッセージ伝送タイムスロットは交換されたメッセージのために割り当てられているか否かを判定する。もし、「はい」なら、ステップ540において、メッセージ交換機からのメッセージを、出て行くアービターフレームに挿入する。もし、「いいえ」なら、ステップ530において、パケット/セルアービター350からのメッセージを、出て行くアービターフレームに挿入する。
【0045】
換言すれば、方法は、メッセージ伝送タイムスロットが、パケット/セルアービターのためにあらかじめ割り当てられているか、またはメッセージ交換機のためにあらかじめ割り当てられているかを判定する。メッセージ伝送タイムスロットが、メッセージ交換機のためにあらかじめ割り当てられているときは、ステップ540において、メッセージ交換機からのメッセージを出て行くメッセージフレームに挿入する。メッセージ伝送タイムスロットが、メッセージ交換機340のためにあらかじめ割り当てられているが、メッセージ交換機からのメッセージは利用できないときは、空のメッセージを出て行くメッセージフレームに挿入する。
【0046】
メッセージ伝送タイムスロットがパケット/セルアービター350のためにあらかじめ割り当てられているときは、ステップ530において、パケット/セルアービター350からのメッセージを出て行くメッセージフレームに挿入する。メッセージ伝送タイムスロットがパケット/セルアービター350のためにあらかじめ割り当てられているが、パケット/セルアービター350からのメッセージは利用できないときは、空のメッセージを出て行くメッセージフレームに挿入する。ステップ550は、これがメッセージフレームの中の最後のメッセージ伝送タイムスロットか否かを判定する。もし、「はい」なら、処理はステップ500に戻り、もし、「いいえ」なら処理はステップ510に移行してメッセージフレームの中の次のメッセージ伝送タイムスロットを識別する。
【0047】
図6は、図3に示すメッセージ交換機の部品を示すブロック図である。メッセージ交換機340は、メッセージコントローラ130の中に統合されており、メッセージコントローラの入力リンクとメッセージコントローラの出力リンクとのメッセージ交換を提供する。
【0048】
メッセージ交換機340は、メッセージスケジューラ600と、メッセージクロスバー660と、入力リンクにつき一つのメッセージ入力行列650と、出力リンクにつき一つのメッセージ出力行列610とを含んでいる。
【0049】
メッセージスケジューラ600は、メッセージクロスバー660を経由して入力メッセージ行列650から出力メッセージ行列620にいつメッセージを交換するかを決定し、メッセージクロスバー交換の構成を各スケジューリングサイクルに従って更新する。
【0050】
メッセージクロスバー660は、どの入力メッセージ行列からどの出力メッセージ行列への接続も提供し、どの入力メッセージ行列650からでもすべての出力メッセージ行列620にブロードキャスト可能である(あるいはどの特定のサブセットに対しても)。
【0051】
好ましい実装においては、メッセージスケジューラ600は、出力メッセージ行列620につき4つの平行したアービター(図示せず)を実装する。
・一のアービターは、固定された昇順において偶数番目の入力メッセージ行列650を選択する。
・一のアービターは、固定された降順において偶数番目の入力メッセージ行列650を選択する。
・一のアービターは、固定された昇順において奇数番目の入力メッセージ行列650を選択する。
・一のアービターは、固定された降順において奇数番目の入力メッセージ行列650を選択する。
【0052】
仲裁は、好ましくは、入力メッセージ行列のHOL(Head-of-Line)メッセージにのみ実行され、それぞれの入力メッセージ行列は、スケジューリングサイクルにつき一つのメッセージをメッセージクロスバーに転送する。出力メッセージ行列につき実装された4つのアービターは、スケジューリングサイクルにつき、偶数番目のリンクに由来する1つまたは2つのメッセージと奇数番目のリンクに由来する1つまたは2つのメッセージを各出力メッセージ行列へ交換することができる。入ってくるメッセージが、偶数番目と奇数番目の入力リンクの間で均等に分配されると、メッセージスケジューラは、スケジューリングサイクルにつき、4つのメッセージまで出力メッセージ行列へ交換することができる。
【0053】
メッセージは、ユニキャストメッセージとしてもブロードキャストメッセージとしても交換できる。ブロードキャスト交換は、好ましくは空間的に実行され、交換は、複数のスケジューリングサイクルに渡って実行されてもよい。いったんメッセージがすべての出力メッセージ行列へ交換されると、メッセージは、入力メッセージ行列のHOL(head-of-line)位置から除去される。最良のシナリオでは、一回のスケジューリングサイクルでブロードキャストの実行が完結する。
【0054】
本発明の異なる実施の形態の方法論は上記に述べたとおりである。以下、本発明の実装のための異なるオプションやアプローチを述べる。
【0055】
メッセージ交換方法及び装置を組み込んだ別の交換装置の実施の形態は、出力ユニット190がメッセージコントローラ130に接続されていない以外は、図1に示す第1の実施の形態と同じである。この実施の形態では、入力ユニット(出力ユニットではない)は、メッセージコントローラ130を介して入力ユニット自身とメッセージを交換できる。入力ユニットはまた、パケット/セル仲裁要求コマンドメッセージをメッセージコントローラのパケット/セルアービター350に転送でき、メッセージコントローラのパケット/セルアービターで生成されたパケット/セル仲裁アクナレッジコマンドメッセージを受信し、処理できる。
【0056】
前述した実施の形態のメッセージ交換方法および装置を組み込んだ交換装置は、入力および出力ユニットの間でパケット/セルを交換するためのパケット/セル交換エレメント160を含んでいる。本発明は、入力および出力ユニットの間で、パケット及び/又はセルの交換の提供するいかなるパケット/セル交換エレメントをも組み込むことができる。一例として、一段の平行交換装置を含む構成としてパケット/セル交換エレメントを実装することが可能である。別の可能な実装は、複数段の交換装置を含む構成である。
【0057】
パケット/セル交換エレメントのための交換装置は、交換装置の入力と出力との間で、パケット及び/又はセルの交換を提供する多くの形態のどれでも採用することができる。例となる交換装置は、クロスバー交換装置と、出力バッファ交換装置と、クロスポイントバッファ交換装置と、ここで全体が参照することにより組み込まれる米国出願10/898540の「ネットワーク相互接続クロスポイント交換アーキティチャおよび方法」に記載された形態の交換装置とを含む。
【0058】
メッセージ交換機340は、メッセージコントローラの入力と出力との間でのメッセージの交換を提供することができる多くの形態のどれでも採用することができる。図6は、メッセージ交換機340の一つの可能な実装を記述しているだけである。
【0059】
メッセージ交換機の数々の変形が存在してもよい。例えば、メッセージ交換機は、出力につき複数のアービターを有し、メッセージ交換機の出力につき4つより少ない又は多くのアービターを有してもよい。
【0060】
メッセージ交換機の別の可能な実装は、複数の入力の間の固定的な昇順/降順による選択に代えて、入力間のラウンドロビン式の各アービター選択を有してもよい。メッセージ交換機は、奇数番目の入力の間または偶数番目の入力の間だけに代えて、すべての入力の間で各アービター選択を有するように実装することも可能である。
【0061】
メッセージ交換機の実装のさらに別の変形は、複数の優先行列レベルを備えた入力及び/又は出力メッセージ行列を有し、かつ/又は、メッセージスケジューラは、一のメッセージ優先度に代えて、これらの優先度に応じてクロスバーを横切るメッセージをスケジューリングしてもよい。
【0062】
メッセージ交換機の実装のさらに別の変形は、各出力バッファがすべての入力から到達するメッセージを同時に受け入れることができる出力バッファ構成を有する。
【0063】
さらに、図2は、入力/出力ユニットとメッセージコントローラとの間でメッセージを伝送するために好ましい伝送フォーマットを記述しているが、他のフォーマットも存在する。一つの考えられる変形は、メッセージフレームが連続して伝送されることを保証しない伝送フォーマットを組み込むことである。この変形では、メッセージフレームの境界は、各フレームにつきフレーム開始識別子とフレーム終了識別子の両方を用いて特定される。
【0064】
メッセージ伝送フォーマットの別の変形においては、メッセージフレームの中のメッセージ伝送タイムスロットは特定のメッセージタイプのためにあらかじめ割り当てられているのではなく、メッセージフレーム生成部によって動的に異なるメッセージタイプが割り当てられる。各メッセージの中に埋め込まれたフィールドは、メッセージフレームのメッセージ伝送タイムスロットの中で伝送されるメッセージのタイプを特定するために用いられる。
【0065】
以上、本発明による装置および方法について説明した。本発明の精神と範囲から逸脱することなくここに記載した施術を構成の様々な修正や変形が可能である。従って、ここで記載した方法や装置は、単なる例示であり、本発明の範囲を限定するものでないことが理解されるべきである。さらに、与えられたシステムまたは方法の中で、記載した1以上の態様の組合せも可能である。さらに、1以上の実施の形態は、概略設計、ハードウェア記述言語(HDL)などのハードウェア等により実装されてもよいし、かつ/又は、プログラム可能論理回路(FPGA/CPLD)やASICにより実装されてもよいし、かつ/又は、分離したハードウェアデバイスを用いたハードウェアにより実装されてもよい。あるいは、1以上の実施の形態はソフトウェアによって実装されてもよい。
【図面の簡単な説明】
【0066】
【図1】本発明の実施の形態の交換装置を示す図である。
【図2】実施の形態におけるメッセージコントローラへまたはメッセージコントローラからのメッセージの伝送フォーマットを示す図である。
【図3】実施の形態におけるパケット/セルアービターおよびメッセージ交換機を含むメッセージコントローラの最上位のブロック図である。
【図4】実施の形態におけるメッセージコントローラのメッセージフレーム解析機能のフローチャートである。
【図5】実施の形態におけるメッセージコントローラのメッセージフレーム生成機能のフローチャートである。
【図6】第1の実施の形態におけるメッセージコントローラの内部のメッセージ交換機のブロック図である。

【特許請求の範囲】
【請求項1】
複数の入力ユニット、パケット/セル交換エレメント、メッセージコントローラ、および複数の出力ユニットを含む交換装置においてパケット/セルおよびメッセージを伝送する方法であって、前記方法は、
a)前記複数の入力ユニットおよび出力ユニットのうちの一のユニットで、別の前記入力ユニットおよび前記出力ユニットに向かうメッセージを生成し、
b)前記メッセージコントローラを経由し、メッセージ伝送のために専用化された複数のリンクのうちの一のリンクを経由して、前記複数の入力ユニットおよび出力ユニットのうちの前記一のユニットから、前記別の入力ユニットまたは出力ユニットにメッセージを伝送し、
c)前記一の入力ユニットからメッセージコントローラに、パケット/セルスケジューリング要求コマンドを出力し、ここで、前記パケット/セルスケジューリング要求コマンドは、前記交換装置内においてメッセージ伝送のために専用化された前記複数のリンクのうちの一のリンクを用いて、前記一の入力ユニットから前記メッセージコントローラに伝送され、
d)前記メッセージコントローラで、前記パケット/セル伝送スケジューリング要求コマンドを受信し、前記メッセージコントローラにていつパケット/セルの伝送を許可するか決定し、メッセージ伝送のために専用化された複数のリンクのうちの前記一のリンクまたは別のリンク上を、前記メッセージコントローラから複数の入力ユニットのうちの前記一の入力ユニットにパケット/セルデータアクナレッジコマンドを出力することによって、前記複数の入力ユニットのうちの前記一の入力ユニットに通知し、
e)パケット/セル伝送のために専用化された複数のリンクのうちの一のリンクを用いることによって、前記複数の入力ユニットのうちの前記一の入力ユニットから前記パケット/セル交換エレメントに前記パケット/セルを出力する方法。
【請求項2】
ステップd)における決定は、前記メッセージコントローラのパケット/セルアービターによって実行され、ステップd)における伝送は、前記メッセージコントローラのメッセージ交換機により実行される、請求項1に記載の方法。
【請求項3】
パケット/セルの伝送のために専用化された前記リンクは、パケット/セル交換エレメントへの/からの前記パケット/セルの伝送に用いられ、いかなるメッセージの伝送にも用いられない請求項1に記載の方法。
【請求項4】
メッセージの伝送のために専用化された前記リンクは、メッセージコントローラを経由してのメッセージの伝送に用いられ、いかなるパケット/セルの伝送にも用いられない請求項3に記載の方法。
【請求項5】
交換装置内で伝送されるべき複数のメッセージがある場合に、メッセージフレームに含まれる前記複数のメッセージにメッセージ伝送タイムスロットを割り当て、
割り当てられたそれぞれの前記メッセージ伝送タイムスロットに前記メッセージを配置し、
前のメッセージフレームから前記メッセージフレームを分離するためにフレーム区切りを追加する、請求項1に記載の方法。
【請求項6】
前記フレーム区切りは、フレーム開始インジケータまたはフレーム終了インジケータである請求項5に記載の方法。
【請求項7】
各メッセージ伝送タイムスロットは、2〜16バイトのサイズを有する請求項5に記載の方法。
【請求項8】
前記複数のメッセージは、
a)前記交換装置の入力ユニットのうちの前記一の入力ユニットによって生成されて前記メッセージコントローラに伝送され、前記メッセージコントローラで処理されて終結される第1のタイプのメッセージ、
b)前記メッセージコントローラで生成されて前記交換装置の入力ユニットのうちの前記一の入力ユニットに向かうようにされ、前記一の入力ユニットで処理されて終結される第2のタイプのメッセージ、または、
c)前記交換装置の入力または出力ユニットのうちの前記一のユニットで生成されて前記交換装置の別の入力または出力ユニットに向かうようにされ、起点から目的地までの伝送に前記メッセージコントローラが利用される第3のメッセージを含む請求項5に記載の方法。
【請求項9】
前記メッセージは、メッセージコントローラを経由して、前記交換装置の入力ユニットまたは出力ユニットのうちの前記一のユニットから、前記別の入力ユニットまたは出力ユニットに伝送され、前記パケット/セルは、前記パケット/セル交換エレメントを経由して、前記交換装置の前記一の入力ユニットから前記一の出力ユニットに伝送される請求項1に記載の方法。
【請求項10】
前記メッセージは、パケット/セルスケジューリング要求コマンドおよびパケット/セルデータスケジューリングアクナレッジコマンドの少なくとも一つを含む請求項1に記載の方法。
【請求項11】
前記メッセージコントローラは、メッセージスケジューラとメッセージクロスバーを有するメッセージ交換機を備え、前記方法は、さらに、メッセージクロスバーを横切って伝送されるメッセージを割り当て、ここで、メッセージ割り当てステップは、前記メッセージスケジューラによって実行される請求項1に記載の方法。
【請求項12】
前記メッセージスケジューラは、少なくとも2つのメッセージアービターを有し、前記方法は、さらに、
前記2つのメッセージアービターのうちの第1のアービターによって、固定された順序で奇数番目に前記メッセージコントローラに到着する入力メッセージを選択し、
前記2つのメッセージアービターのうちの第2のアービターによって、固定された順序で偶数番目に前記メッセージコントローラに到着する入力メッセージを選択する請求項11に記載の方法。
【請求項13】
複数の入力ユニット、パケット/セル交換エレメント、メッセージコントローラ、および複数の出力ユニットを含む交換装置によりパケット/セルおよびメッセージを伝送する方法であって、前記方法は、
a)前記複数の入力ユニットおよび出力ユニットのうちの一のユニットで、別の前記入力ユニットおよび前記出力ユニットに向かうメッセージを生成し、
b)前記メッセージコントローラのメッセージ交換機を経由し、メッセージ伝送のために専用化された複数のリンクのうちの少なくとも一のリンクを経由して、前記複数の入力ユニットおよび出力ユニットのうちの前記一のユニットから前記別の入力ユニットおよび出力ユニットに前記メッセージを伝送し、
c)前記メッセージコントローラの制御の下で、前記パケット/セル交換エレメントを経由し、パケット/セル伝送のために専用化された複数のリンクの少なくとも一のリンクを経由して、一の前記入力ユニットから一の前記出力ユニットにパケット/セルを出力する方法。
【請求項14】
パケット/セル伝送に専用化された前記リンクは、パケット/セル交換エレメントへの/からの前記パケット/セルの伝送に用いられ、いかなるメッセージの伝送にも用いられない請求項13に記載の方法。
【請求項15】
メッセージ伝送に専用化された前記リンクは、メッセージコントローラを経由しての前記メッセージの伝送に用いられ、いかなるパケットまたはセルの伝送にも用いられない請求項14に記載の方法。
【請求項16】
前記交換装置内で伝送されるべき複数のメッセージがある場合に、メッセージフレームに含まれる前記複数のメッセージにメッセージ伝送タイムスロットを割り当て、
割り当てられたそれぞれの前記メッセージ伝送タイムスロットに前記メッセージを配置し、
前のメッセージフレームから前記メッセージフレームを分離するためにフレーム区切りを追加する、請求項13に記載の方法。
【請求項17】
複数の入力ポートと複数の出力ポートを含む交換装置内でパケット/セルおよびメッセージを伝送するシステムであって、
前記交換装置内でパケット/セルを交換するためのパケット/セル交換エレメントと、
メッセージ交換機とパケット/セルアービターを含み、前記交換装置内でメッセージの交換を制御するメッセージコントローラと、
それぞれの前記入力ユニットおよび前記出力ユニットを前記パケット/セル交換エレメントにそれぞれ接続するための第1の複数の入力および出力リンクと、
それぞれの前記入力ユニットおよび前記出力ユニットを前記メッセージコントローラにそれぞれ接続するための第2の複数の入力および出力リンクと、
前記複数の入力または出力リンクのうちの一のリンクで生成され、別の前記入力または出力リンクに向かうことになるすべてのメッセージは、前記メッセージ交換機によって交換され、
前記メッセージ交換機内のすべてのパケット/セルのスケジューリングは、前記パケット/セルアービターによって実行されるシステム。
【請求項18】
前記第1の複数の入力および出力リンクは、パケット/セルの伝送に専用化され、パケット/セル交換エレメントへの/からのパケット/セルの伝送に用いられる請求項17に記載のシステム。
【請求項19】
前記第2の複数の入力および出力リンクは、メッセージの伝送に専用化され、前記メッセージコントローラを経由しての前記メッセージの伝送に用いられる請求項17に記載のシステム。
【請求項20】
前記パケット/セル交換エレメントは、平行パケット/セル交換デバイスの1段の構成に相当する請求項17に記載のシステム。
【請求項21】
前記メッセージ交換機は、メッセージスケジューリングを以下の態様で実行する、
前記交換装置内に伝送されるべき複数のメッセージがある場合に、前記メッセージ交換機は、メッセージフレームに含まれる複数のメッセージにメッセージ伝送タイムスロットを割り当て、前記メッセージは、割り当てられた前記メッセージ伝送タイムスロットのそれぞれに配置され、フレーム区切りが前のメッセージフレームから前記メッセージフレームを分離するために追加される、請求項17に記載のシステム。
【請求項22】
前記メッセージコントローラによってスケジュールされたそれぞれのメッセージ伝送タイムスロットは、2〜16バイトのサイズを有する請求項21に記載のシステム。
【請求項23】
それぞれのメッセージフレームは、フレーム区切りによって前のメッセージフレームから分離され、
前記メッセージコントローラは、前記メッセージコントローラから出力された複数のメッセージフレーム内の適切な位置に前記フレーム区切りを挿入する請求項21に記載のシステム。
【請求項24】
前記メッセージは、パケット/セルデータスケジューリング要求コマンドとパケット/セルデータスケジューリングアクナレッジコマンドの少なくとも一つを含む請求項21に記載のシステム。
【請求項25】
前記メッセージは、
a)前記交換装置の前記入力ユニットのうちの前記一のユニットによって生成されて前記メッセージコントローラに伝送され、前記メッセージコントローラで処理されて終結される第1のタイプのメッセージ、
b)前記メッセージコントローラで生成されて前記交換装置の前記一の入力ユニットに向かい、前記一の入力ユニットで処理されて終結される第2のタイプのメッセージ、または、
c)前記交換装置の入力または出力ユニットのうちの一のユニットで生成されて前記交換装置の別の入力または出力ユニットに向かうようにされ、起点から目的地までの伝送に前記メッセージコントローラが利用される第3のタイプのメッセージを含む請求項21に記載のシステム。
【請求項26】
前記フレーム区切りは、フレーム開始インジケータまたはフレーム終了インジケータである請求項23に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2009−503932(P2009−503932A)
【公表日】平成21年1月29日(2009.1.29)
【国際特許分類】
【出願番号】特願2008−522868(P2008−522868)
【出願日】平成18年7月18日(2006.7.18)
【国際出願番号】PCT/US2006/027729
【国際公開番号】WO2007/015820
【国際公開日】平成19年2月8日(2007.2.8)
【出願人】(507219343)エニグマ セミコンダクター,インコーポレイテッド (3)
【Fターム(参考)】