(57)【特許請求の範囲】
【請求項１】
ｋ≧１であるｋ個にまで達する異なった入力への所定等級のサービスに関するパケットを、前記入力におけるパケットのために潜在的に多数である入力によって作られたサービス要求に答えて、所定の出力へ同時にルーティングするように構成された有限帯域幅分散型多重化システムであって；各々の前記入力は、前記出力へパケットを供給するために前記帯域幅の予め定められた持ち分を割り当てられ、かつサービス許諾を留保されている前記パケットに関して少なくとも１つの記憶待ち行列を有するようにした前記多重化システムにおいて：前記パケットの間におけるスケジューリングの衝突を解決するための、次のステップを含む方法：
前記入力によってそれらの受領の際に作られた各々のサービス要求に、（ｉ）要求を作る入力を一意に識別する識別子によって、更に（ｉｉ）仮想終了時間によってラベル付けし、前記仮想終了時間は、要求を作る入力に割り当てられた帯域幅の持ち分に従って加重されるオフセットを加算することによって現行の仮想時間から計算されるようにし；
ラベル付けされたサービス要求を分散型待ち行列に入力し；
新しい要求が前記待ち行列へ入力される度に、それらのそれぞれの仮想終了時間に従って、ラベル付けされた要求を前記待ち行列内においてソーティングし、ラベル付けされた要求を仮想終了時間の昇順で組織化するようにし；
前記多重化システムの各々のサイクルの間に、サービスに関する前記待ち行列から初めのｋ個までのラベル付けされた要求を取り出すようにする。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、高速の広帯域通信網に関するものである。
【０００２】
【従来の技術】
研究プロジェクト及び現今のシステム製品は、既存のコンピュータネットワークの能力を超過する帯域幅、応答性、及び／又はリアルタイムに関する要求を有するものである。例えば、個人的な用紙から技術的なライブラリーにまで及ぶ文書に関する紙から電子フォーマットへという進行しつつある移行は、進歩的な電子的走査装置及び印刷装置の開発に至っており、これらの装置は、これらの装置の速度及び解像度が増大するにつれて、加えてこれらの装置のカラー及びグレースケール能力が拡大されるにつれて、増大し続けるであろう帯域幅の要求を有する。
【０００３】
多くのアプリケーションは、それらにどのような帯域幅が与えられるのか、それらが獲得し得た帯域幅をどの程度有益に利用し得るのかに応じて存続が可能である。これらのアプリケーションは弾力的な帯域幅要求を有するものである。コンピュータネットワークにおいて現在運用されているアプリケーションの殆どは弾力的な帯域幅要求を有するのである。これらのアプリケーションを維持するサービス等級（ｃｌａｓｓ）は、インターネット・コミューニティにおける「ベスト・エファット（ｂｅｓｔ  ｅｆｆｏｒｔ）」及び広帯域ＩＳＤＮ／ＡＴＭコミューニティにおける利用可能なビット速度（ＡＢＲ）として知られている。帯域幅がこのサービス等級のアプリケーションの間で「公正に（ｆａｉｒｌｙ）」分割されないと、様々の不都合な現象が生じる可能性があることが知られている。
【０００４】
非同期伝達モード（ＡＴＭ）交換は、現在、多数のサービス等級を維持するだけでなく前述のアプリケーションをも維持するに足る十分なピーク帯域幅及び統合帯域幅を提供するものとして受け入れられた機構になりつつある。多くのＡＴＭ交換器は、現在は、ＦＩＦＯ待ち行列によって実現されている。ＦＩＦＯ待ち行列は、ＡＢＲトラフィックのために使用されるとき異常な行動を示すものである（「パケット交換式ゲートウェイにおけるオン・トラフィック位相効果（ＯｎＴｒａｆｆｉｃ  Ｐｈａｓｅ  Ｅｆｆｅｃｔｓ  ｉｎ  Ｐａｃｋｅｔ−Ｓｗｉｔｃｈｅｄ  Ｇａｔｅｗａｙｓ）」サリー・フロイド及びヴァン・ヤコブソン（Ｓａｌｌｙ  Ｆｌｏｙｄ  ａｎｄ  Ｖａｎ  Ｊａｃｏｂｓｏｎ）著、インターネットワーキング：研究と体験（Ｉｎｔｅｒｎｅｔｗｏｒｋｉｎｇ：  Ｒｅｓｅａｒｃｈ  ａｎｄ  Ｅｘｐｅｒｉｅｎｃｅ）、第３巻１１５から１５６頁（１９９２年）、及び「輻輳制御アルゴリズムの動力学における観察：  二方向トラフィックの影響（Ｏｂｓｅｒｖａｔｉｏｎｓ  ｏｎ  ｔｈｅ  Ｄｙｎａｍｉｃｓ  ｏｆ  ａ  Ｃｏｎｇｅｓｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ａｌｇｏｒｉｔｈｍ：  Ｔｈｅ  ｅｆｆｅｃｔｓ  ｏｆ  Ｔｗｏ−Ｗａｙ  Ｔｒａｆｆｉｃ）」リシィア・チャン、スコット・シェンカー及びデビッド・クラーク（Ｌｉｘｉａ  Ｚｈａｎｇ，  Ｓｃｏｔｔ  Ｓｈｅｎｋｅｒ，  ａｎｄ  Ｄａｖｉｄ  Ｃｌａｒｋ）著、ＡＣＭシグコム９１協議会（ＡＣＭ  Ｓｉｇｃｏｍｍ  ９１  Ｃｏｎｆｅｒｅｎｃｅ）、９月３−６、１９９１年、スイス、チューリッヒ（Ｚｕｒｉｃｈ，  Ｓｗｉｔｚｅｒｌａｎｄ）、１３３から１４８頁を参照すること）。ＦＩＦＯは、正しく行動するユーザーを異常に行動するユーザーから保護することも不可能である（それは隔離を提供しない）。これらの欠陥の結果として、加重される公正な待ち行列のような非ＦＩＦＯ待ち行列機構（例えば、Ａ．デマーズ、Ｓ．ケシェイブ及びＳ．シェンカー（Ａ．  Ｄｅｍｅｒｓ，  Ｓ．  Ｋｅｓｈａｖｅ，  ａｎｄ  Ｓ．  Ｓｈｅｎｋｅｒ）著、「公正な待ち行列アルゴリズムの分析及びシミュレーション（Ａｎａｌｙｓｉｓ  ａｎｄ  Ｓｉｍｕｌａｔｉｏｎ  ｏｆ  ａＦａｉｒ  Ｑｕｅｕｉｎｇ  Ａｌｇｏｒｉｔｈｍ）」、ＡＣＭシグコムの会報における１から１２頁、１９８９年９月、及びＡ．Ｋ．パレク（Ａ．Ｋ．  Ｐａｒｅｋｈ）著、「統合サービスネットワークにおけるフロー制御に対する一般化プロセッサ・シェアリング・アプローチ（Ａ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｐｒｏｃｅｓｓｏｒ  Ｓｈａｒｉｎｇ  Ａｐｐｒｏａｃｈ  ｔｏ  Ｆｌｏｗ  Ｃｏｎｔｒｏｌ  ｉｎ  Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅ  Ｎｅｔｗｏｒｋｓ）」博士論文、電子工学及びコンピュータ科学部門、ＭＩＴ、１９９２年を参照すること）、或いはラウンドロビンのような公正な待ち行列への近似化（エレン・Ｌ．ハーネ（Ｅｌｌｅｎ  Ｌ．  Ｈａｈｎｅ）著、「データネットワークにおける最大−最小の公正さに関するラウンドロビン・スケジューリング（Ｒｏｕｎｄ−ｒｏｂｉｎ  Ｓｃｈｅｄｕｌｉｎｇ  ｆｏｒ  Ｍａｘ−Ｍｉｎ  Ｆａｉｒｎｅｓｓ  ｉｎ  Ｄａｔａ  Ｎｅｔｗｏｒｋｓ）」、通信の選択エリアにおけるＩＥＥＥジャーナル（ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｎ  Ｓｅｌｅｃｔｅｄ  Ａｒｅａｓ  ｉｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）、第９巻１０２４から１０３９頁、１９９１年９月）が、しばしば提案されている。
【０００５】
もう１つのサービス等級（即ちサービス等級の集合）が存在する：回路エミュレーション及びビデオのようなリアルタイムのアプリケーションを維持するものである。これらのアプリケーションは、データが限定的ジッタ（即ちパケット遅延変動）によってネットワークを通じて送信されることを要求するかもしれない。Ａ．パレクによる先に引用した文書で示されていたように、加重される公正な待ち行列は、リアルタイムストリームに有界ジッタを提供するために使用されることが可能である。パレクの成果は、近頃になって（ポワン・ゴヤル、サイモン・Ｓ．ラム及びハリック・Ｍ．ヴァン（Ｐａｗａｎ  Ｇｏｙａｌ，  ＳｉｍｏｎＳ．  Ｌａｍ  ａｎｄ  Ｈａｒｒｉｃｋ  Ｍ．  Ｖｉｎ）著、「異質のネットワークにおける端末間遅延限界の決定（Ｄｅｔｅｒｍｉｎｉｎｇ  Ｅｎｄ−ｔｏＥｎｄ  Ｄｅｌａｙ  Ｂｏｕｎｄｓ  ｉｎ  Ｈｅｔｅｒｏｇｅｎｅｏｕｓ  Ｎｅｔｗｏｒｋｓ）」、デジタルオーディオ及びビデオのためのネットワーク及びオペレーティングシステムサポート（ＮＯＳＳＤＡＶ）に関する第５回国際ワークショップの会報において、ニューハンプシャー、ダーラム（Ｄｕｒｈａｍ，  Ｎ．Ｈ．）、４月１８−２２、１９９５年）、仮想時計（リシィア・チャン著、「仮想時計：パケット交換網のための新しいトラフィック制御アルゴリズム（Ｖｉｒｔｕａｌ  Ｃｌｏｃｋ：  Ａ  Ｎｅｗ  Ｔｒａｆｆｉｃ  Ｃｏｎｔｒｏｌ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｐａｃｋｅｔ  Ｓｗｉｔｃｈｉｎｇ  Ｎｅｔｗｏｒｋｓ）」、ＡＣＭシグコムの会報における１９から２９頁、１９９０年８月）及び自己刻時式の公正な待ち行列（Ｓ．Ｊ．ゴールスタニ（Ｓ．Ｊ．  Ｇｏｌｅｓｔａｎｉ）著、「高速アプリケーションのための自己刻時式の公正な待ち行列機構（Ａ  Ｓｅｌｆ−Ｃｌｏｃｋｅｄ  Ｆａｉｒ  Ｑｕｅｕｉｎｇ  Ｓｃｈｅｍｅ  ｆｏｒ  Ｈｉｇｈ  Ｓｐｅｅｄ  Ａｐｐｌｉｃａｔｉｏｎｓ）」、インフォコム（ＩＮＦＯＣＯＭ）の会報における６３６から６４６頁、１９９４年）に密接に関連する機構を使用するシステムのための遅延境界を証明するように拡張された。
【０００６】
【発明が解決しようとする課題】
従って、弾力的な両者（ベスト・エファット／ＡＢＲ）及び非弾力的な（即ちリアルタイム）サービスは、公正な待ち行列及び関連するアルゴリズムの使用から利益を得ることが可能である。しかし、そのような機構は、待ち行列が発生する各々の多重化ポイントにおいて実現されなければならない。
【０００７】
公正な待ち行列及び関連するアルゴリズムは、パケットのシーケンスにおいて機能する（ＡＴＭセルがこの議論のためのパケットである）。ＡＴＭの場合、これらのシーケンスは、ＶＣＩ又はＶＰＩのいずれかによって識別され、一方、インターネットのプロトコルの組では、識別は、＜ＩＰアドレス、プロトコル、ポート＞３つの部分から成る（ＩＰｖ４）又はフロー識別子（ＩＰｖ６）を根拠としている。自己刻時加重式の公正な待ち行列及び仮想時計の両者において、パケットは、タイムスタンプによって順序付け（ソート）される（ラウンドロビンのような機構はタイムスタンプによるパケットの順序付けへの近似化を提供する）。これらのタイムスタンプは、パケットに関する仮想終了時間（ｖｉｒｔｕａｌｆｉｎｉｓｈｉｎｇ  ｔｉｍｅ）を表現するものであり、開始時間値を取って、固有のパケットシーケンスの帯域幅の持ち分を表現する加重をパケットの長さに乗算することによって得られるオフセットを加算することによって計算される。
【０００８】
仮想時計の場合、仮想終了時間は、次のように計算される：
ＶＴ（ｆ，０）＝０
ＶＴ（ｆ，Ｊ＋１）＝ｍａｘ｛到着（ｆ，Ｊ＋１），ＶＴ（ｆ，Ｊ）｝＋長さ（ｆ，Ｊ＋１）／速度（ｆ）
ここで、ＶＴ（ｆ，Ｊ）はフロー（仮想回路）ｆのパケットｊに関連する仮想終了時間、到着（ｆ，Ｊ）はフローｆのパケットｊの到着時間、長さ（ｆ，Ｊ）はフローｆのパケットｊの長さである。
自己刻時加重式の公正な待ち行列は、次の公式に従って仮想終了時間を割り当てる：
ＶＴ（ｆ，０）＝０
ＶＴ（ｆ，Ｊ＋１）＝ｍａｘ｛システム仮想時間，ＶＴ（ｆ，Ｊ）｝＋長さ（ｆ，Ｊ＋１）＊加重（ｆ）
ここで、システム仮想時間は、パケット（ｆ，Ｊ＋１）が到着する時点でサービス（出力）されるパケットに関連する仮想時間であると規定される。
ＡＴＭの場合、パケット長さは、セルが一定寸法のものであり、従って両者の式における最も右側の項がフローについて一定であるので、不変である。仮想時計の場合、簡略化された式は次の通りである：
ＶＴ（ｆ，Ｊ＋１）＝ｍａｘ｛到着（ｆ，Ｊ＋１），ＶＴ（ｆ，Ｊ）｝＋定数（ｆ）
そして、自己刻時加重式の公正な待ち行列も類似の簡略化を有する。結果として、仮想時計又は自己刻時加重式の公正な待ち行列のいずれかを実現するＡＴＭ待ち行列ポイントは、以下のステップを実行しなければならない：
１）  ＶＣに関する現行の仮想時間の最大値と、ａ）セルの到着時間か又はｂ）システム仮想時間のいずれかを計算せよ。
２）  ステップ１の結果に、帯域幅のＶＣの持ち分を表現するＶＣについての定数を加算せよ。
３）  ステップ１及び２によって割り当てられた仮想のタイムスタンプの増大する値の順序でセルをサービス（それらを送信）せよ。
【０００９】
【課題を解決するための手段】
本発明によれば、複数の入力から複数の出力へパケットをルーティングする非ブロッキング式交換網は、前記出力の指定のものに対するアクセスを求めて競合する入力の間における衝突を解決する予約リング機構を包含する。この予約リング機構は、少なくとも１つのアービトレーションサイクルにおいて頂部から底部へのリング状順序でステップのシーケンス及び比較オペレーションを実行する手段を含んでおり、自己刻時加重式の公正な待ち行列によって又は二者択一的に仮想時計によって要求される順序とこれもまた首尾一貫する頂部から底部への順序で前記指定の出力にアクセスする競合的な入力を許諾する。予め定められて許容された最大多数の競合者が、各々のアービトレーション・サイクルにおいて各々の出力に対するアクセスを付与される。
【００１０】
【発明の実施の形態】
図１は、階層的なＡＴＭネットワークを概略的に示している。
図２は、ＡＴＭ交換器を概略的に示している。
図３Ａは、ＡＴＭセルのための通常のフォーマットを示している。
図３Ｂは、ＡＴＭセルの典型的な交換器ヘッダを示している。
図４は、バッチャ・ソーティング要素を概略的に示している。
図５は、バッチャ・ソーティング要素のオペレーションを示す有限状態機械である。
図６は、図４で示された形式のソーティング要素の再帰的な組合せから構成されるバッチャ・ソーティング・ネットワークを概略的に示している。
図７は、バニヤン・ルーティング・ネットワークを概略的に示している。
図８は、本発明を実行するものとして適切である予約リングの簡略化された概略図である。
【００１１】
Ｉ．定義
本文において使用される以下の用語は、以下の意味を有する：
「チャネル速度（ｃｈａｎｎｅｌ  ｒａｔｅ）」は、例えば、単一のテレビジョン送信、ファイル転送、データベーストランザクションのような特定のストリーム、チャネルなどのビット速度である。
「リンク速度（ｌｉｎｋ  ｒａｔｅ）」は、ネットワーク装置（ホスト、ルータ、交換器）が個々のリンク（ワイヤ対、同軸ケーブル、光ファイバー）に関して持続可能であるか又は持続しなければならないビット速度である。この速度は、チャネル速度の上限である。それは、インターフェース・ハードウェアのコスト、及びネットワークプロトコルのハードウェア及びソフトウェアのコストに対して主要な影響を有するものでもある。
「統合速度（ａｇｇｒｅｇａｔｅ  ｒａｔｅ）」は、同時に送信され得るリンクの最大数に関するリンク速度の和として表現される最大の総計ネットワーク能力である。バス又はリングとして実現されるか又は単一周波数の無線放送を使用するネットワークの場合、リンク速度は、統合速度と同一である。逆に、従来型の電話交換システムは、いかなるリンクの速度よりも遥かに高い統合速度を提供する。
【００１２】
ＩＩ．基本的アーキテクチャ
本発明のＡＴＭ交換器は、様々なスイッチング構造、中でもＶＬＳＩベースの「バッチャ／バニヤン（Ｂａｔｃｈｅｒ／ｂａｎｙａｎ）」スイッチング構造、自動ルーティング・クロスバー、或いは補足的なロジックユニットを備えた既製のクロスバーを使用して実現されることが可能である。後続の議論では、バッチャ／バニヤン構造が想定されることになる。
【００１３】
ＡＴＭ交換のアピールの１つは、実質的な標準化が起こったことである。この形式のネットワークの基本的なコンセプトは、すべての通信が小型で一定寸法の「セル」と呼ばれるデータパケットの送信及び交換によって成し遂げられることである。各々のパケットのオーバーヘッドは、仮想回路技術を使用することによって低減され、それにより、各々のセルのヘッダは、前もって供給元と宛先の間のすべての交換器を介して設定された通路を識別し、セルとその所望のルーティングを識別するために要求される情報が、従来型のＸＮＳ又はＴＣＰ／ＩＰデータグラムにおけるヘッダ情報よりも遥かに小さくなる。
【００１４】
開発されたＡＴＭ標準に従えば、セルは、そのヘッダが、宛先仮想回路インデックス、ＶＣＩとして知られる宛先アドレス情報を包含する小型で一定寸法（５３バイト）のパケットである。仮想通路インデックスも存在するが、仮想通路における交換は、仮想回路における交換と本質的に同一であるので、その主題が本文において更に議論される必要はない。セルがスイッチング構造に入る前に、供給元ホストは、「仮想回路」として知られた固定ルートがセルをその供給元からその宛先へ送信するものとして決定されるようにする。この仮想回路内における各々の交換リンク（交換器から交換器への各々のリンク及び宛先リンクへの各々の交換器）は、交換器の固有仮想回路識別子（ＶＣＩ’）によって一意に識別される。従って、１つの仮想回路は、多数の名称を有する。セルは、仮想回路に沿ったいかなるポイントにおいても再度順序付けされないかもしれないので、セルは送られた順序で到着しなければならない。
【００１５】
前述のことを心に留めて図１を参照すると、ＡＴＭセル２７のようなセルを１つ又はそれ以上の供給元３１及び３２から１つ又はそれ以上の宛先３３へ送信する多数の自動ルーティング、非ブロッキング式交換器２２−２５から構成される階層的なネットワーク２１が存在することが理解されるであろう。例えば、ＬＡＮ（ローカル・エリア・ネットワーク）の場合、供給元３１及び３２はワークステーションであるかもしれず、一方、宛先３３はファイルサーバであるかもしれない。図示されたように、ネットワーク２１は２レベルの階層を有するが、その階層が、メトロポリタン・エリア・ネットワーク（ＭＡＮ）及びワイド・エリア・ネットワーク（ＷＡＮ）さえも包含する遥かに長い通路を介するパケット搬送及び交換を提供するように拡張され得ることは明白であろう。
【００１６】
図２を参照すると、交換器２２−２５は、適切には、それぞれバッチャ／バニヤン・ネットワーク４１から構成される。交換器２２に関して図示されたように、単一ｎポートのバッチャ・ソーティング・ネットワーク４２は、ｋ個と同じほど多くのセルが同じセルの交換サイクルの間にそれらのセルの中のいずれのものも失うことなく同じ出力ポート番号にルーティングされ得るようにして、接続されるｋ個（典型的には２又は３）のバニヤン・ルーティング交換器４３及び４４を供給する。この並行処理を調整するため、各々の出力ポートには比較的大きな（数千個のセル）バッファ４５が存在し、このバッファは、出力バニヤン４３及び４４からサイクル毎にｋ個まで達するセルを受け入れるように構成される。リアルタイム・トラフィック（確定的ビット速度、即ちＤＢＲ）及び「ベスト・エファット」（利用可能なビット速度、即ちＡＢＲ）トラフィックの両者を処理するため、バッファ４５は、異なる寸法の２つ又はそれ以上のサブ・バッファ（図示略）から有益に構成され：速度が限定されるか又は予約されたトラフィックのための数百セルの小さなバッファと、予約されないトラフィックのための遥かに大きなバッファとを包含する。数学的な成果は、加重される公正な待ち行列交換器の場合には、ＶＣによって経験される最大遅延が、従って、そのＶＣのトラフィックのために要求され、かつ深さｂ及び速度ｒのトークン・バケットに適合するように形成される最大バッファ割当てもまた、ｂとサービス速度の関数であることを示している。交換ノードにおけるバッファ割当ての総計は、そのとき、ＶＣの各々のためのバッファ要求の和である。バケット寸法がセル遅延変動（ＣＤＶ）を決定し、ＤＢＲサービス等級が小さなセル遅延変動を予測するので、そのとき（関連する速度のために）これはＤＢＲトラフィックのためのバッファが比較的小さいものでなければならないことを暗示する（例えば、各々の能動ＶＣについて１つ又は２つのセルというオーダー）。厳密な速度限界で限定されない現行のデータネットワークで発生するような「爆発的なトラフィック」の場合、関連する仮想回路は、大きなバッファ（ベスト・エファット／ＡＢＲトラフィック）において待ち行列に入れられる。ＡＢＲサービスのための制御ループは、緩衝に値する少なくとも１回の往復を必要とする。単一の出力ポートの上を走るＡＢＲのＶＣに割り当てられた帯域幅の和が出力ポートのリンク速度より大きくなることは決してあり得ないので、要求される緩衝の総計は、リンク速度掛ける最大往復時間に比例する。北米大陸の合衆国内におけるサービスの場合、これは約３０ミリセカンドであり、従って１５０メガビット／秒の交換器は、出力線について凡そ１／２メガバイトの緩衝を必要とする。周知のように、これらの寸法のバッファは、ＳＲＡＭから容易に構築される。より速い速度及びより長い往復時間は、同期ＤＲＡＭ（ＳＤＲＡＭ）のような先進的なＤＲＡＭ技術を使用することによって、或いは緩衝記憶装置へのデータ通路の並行処理を増大させることによって容易に調整される。
【００１７】
理解されるであろうが、ｋ個以上のセルが単一の交換器サイクルの間に同じ出力ポート番号にルーティングされるとしたら、交換器は過剰なセルを単純に脱落させるのではなく、期待されたようには機能できないことになる。それ故、この状況は、回避されなければならない。そのため、受け入れられている慣例に従って、それらの中の最大でもｋ個のものがいずれのサイクルにおいても交換器に提供されることを許容しつつ、そのように衝突するセルの間の競合を公正に裁く予約リング４６が準備される。
【００１８】
スイッチング構造４１の入力側へ接続され、そこで予約リング４６へ適切に接続されるのは、既製品又は注文品のいずれかのクロスバー交換器構成要素を使用して構成され得るｎ×ｎのコピーネットワーク４８である。すべてのセルは、ポイント・トゥー・ポイント方式で、或いはそれらの交換器ヘッダにおけるマルチキャスト・ビットの状態によってマルチキャスト・セルとして詳細にマークされる。理解されるであろうが、交換器ヘッダは、ＡＴＭセルに対して前部に付録され、スイッチング構造４１を介してそれらのセルをルーティングさせ、参照番号４５の所でそれらを適切な出力待ち行列へ入れる。図示された実施例において、入ってくるマルチキャスト・セルは、ユニキャスト・セルと全く同じようにスイッチング構造４１をルーティングされるが、その後、出線へルーティングされるのではなく、スイッチング構造の出力において中断され、コピーネットワーク４８へ戻される。
【００１９】
更に、交換器４１の入力ポートの各々には記憶装置５０も存在し、入ってくるセルとコピーネットワーク４８によって供給されたセルのそれぞれを緩衝する。この記憶装置は、入力ポートに到着したセルを競合なしで交換器４１を介してルーティングされ得るまで保持する２つのバッファ５１及び５２に分割される（所望されるならば、これらのバッファの１つ又は両方は、多数の優先権集合を支持するためにサブ・バッファに細分されても良い）。所望されるならば、緩衝記憶装置５０は、よりコンパクトな実行を達成するために、ＶＣＩ変換機構参照用テーブル５４と組み合わされることも可能である。
【００２０】
交換ネットワーク４１を介するセルのルーティングは、交換器の入力ポートにおいてＶＣＩ変換機構５３によって制御される。これらの変換機構５３は、関連する入力ポートのための待ち行列の先頭においてセルのヘッダによって担持される宛先仮想回路インデックス（ＶＣＩ）及び入力ポートアドレスの３値関数、即ち、［ＶＣＩｉ、出力ポート、マルチキャストフラッグ］ルーティング関数［ｉＶＣＩ］を計算する、ホスト・プロセッサ（図示略）によって維持され更新されるＶＣＩテーブル参照用記憶装置５４を使用する。認識されるであろうが、従来型のマイクロプロセッサなど（図示略）へのインターフェースは、主として様々なルーティング及びマッピング・テーブルをそのＶＣＩ参照用テーブル５４へロードすることによって、交換器２２を制御するために要求される。
【００２１】
ＩＩＩ．交換器の構成要素に関する更に詳細な説明
Ａ．仮想回路変換機構
スイッチング構造４１の入力ポートにおけるアドレス・マッピングを実行するために準備される変換機構５３は、以下のものを包含する幾つかの機能を有している：  所望の宛先へのルートの途上にある構造４１から出力ポートを（入力待ち行列の先頭においてＡＴＭセルのヘッダに包含される宛先ＶＣＩ／ＶＰＩアドレスに基づいて）選択すること；入ってくるＶＣＩ／ＶＰＩアドレスを出リンクのための適切な値に書き直すこと（思い出されるであろうが、ＶＣＩ／ＶＰＩのものは端末間の重要性を有するものではない）；及び、以下でより詳細に説明されるように、マルチキャスト送信のために要求される特殊なマッピングを処理することである。これらの変換機構は、ビリング及びロード監視目的などのために仮想回路について交換されるＡＴＭセルの個数の計数を維持することも可能である。図３Ａは典型的なＡＴＭセルのフォーマットを示し、図３Ｂはそのようなセルのための典型的な交換器ヘッダのフォーマットを示す。セルヘッダにおける大域的フロー制御（ＧＦＣ）フィールドは、通常、空白の値を包含していることが留意されるべきである。
【００２２】
Ｂ．バッチャ／バニヤン・ネットワーク
スイッチング・ネットワークは、いかなる交換サイクルにおいても、その入力に関して任意順列又は部分的な順列を生成することが可能であるならば、「非ブロッキング」であると呼ばれる。言い換えれば、非ブロッキング式交換器は、単一の交換サイクルにおいてすべての可能な１対１の入力／出力マッピングを生成することが可能なのである。
【００２３】
スイッチング・ネットワークは、典型的には、単純な交換器又はステージの階段状ネットワークから構成される。そのようなネットワークを介するルートは、所定の入力から所定の出力への交換器ステージを横断する通路である。スイッチング・ネットワークは、ネットにおける各々のステージに関して、ルーティングが、交換器のステージへ進入するセルの中に包含された情報のみによって、即ち位置的に利用可能な情報によって決定され得るならば、「自動ルーティング」であると分類される。
【００２４】
バッチャ／バニヤン・ネットワークは、非ブロッキング、自動ルーティング式スイッチング構造の既知の具体例である。周知のように、バッチャ・ネットワークは、典型的には深さ（ｌｏｇ2Ｎ）2のネットワークによってＮデータストリームを分類する並行ソーティング・ネットワークであり、このことは、Ｎ（ｌｏｇ2Ｎ）2のソーティング要素が要求されることを意味する。図４で示されたように、各々のソーティング要素６２は、２つの入力（「Ａ」及び「Ｂ」）を受け入れ、それらの最小値と最大値の両方を計算し、それによってそれらの入力を分類する。従って、入力が最も重要なビットを初めに備えた２ビット連続データストリームの形態であるとき、ソーティング要素は、図５の参照番号６４のように、非常に簡単な有限状態機械として機能する。これらのソーティング要素６２は、従来的には、４個、８個、又はそれ以上の入力のためのソーターを構築するために、再帰的に組み合わされている（図６を参照）。
【００２５】
図７で示されたように、標準的なバニヤン・ルーティング・ネットワーク６５は、深さｌｏｇ2Ｎのマルチステージ・ネットワークであり、ここで、Ｎはネットワークに対する入力の個数である。バッチャ・ソーティング・ネットワーク６５と同様に、バニヤン・ルーティング・ネットワーク７１は、各々が２つの入力と２つの出力を有する基本的なスイッチング要素７２から再帰的に構成される。従って、バニヤン・ネットワーク７１にはＯ（ＮｌｏｇＮ）の基本的なスイッチング要素７２が存在する。データシーケンスがバニヤン・ネットワーク７１を介して流れるとき、ネットワーク７１の各々のステージにおける基本的要素７２は、出力アドレスの１つのビットを検査し、そのビット及びその特定のシーケンスにおけるすべての後続のビットを、そのビットの値に依存して、その出力の１つ又はその他にルーティングする。標準的な慣習に従って、アドレスビットは各々のステージに関して変化し、それによって、第１のステージは最高順位のビットの値に基づき、第２のステージは２番目に高い順位のアドレスビットの値に基づき、Ｎ番目のステージは最下位の順位のビットの値に基づいてルーティングする。Ｎ個のアドレスビットが処理された後、シーケンスの残りのものは、交換器出力に対して確立された通路をたどることになる。これは、１つのシーケンスの終了と次のものの始まりが外部要因によって決定されなければならないことを意味する。従って、この事例では、各々のシーケンスは一定寸法のＡＴＭセル・プラスその一定寸法の交換器ヘッダであることが思い出されるべきである。
【００２６】
バニヤン・ネットワーク７１のいかなるステージにおいても、両方の入力は同じ出力を選択することが可能である。それが生じると、バニヤン・ネットワークは「ブロック」するので、それは不確定な結果を産み出す。言い換えれば、バニヤン・ネットワーク７１は、その入力の任意順列を計算することができないが、順列の集合が存在し、それ故に、それは「非ブロッキング」なのである。これらの集合の中の１つは、入力がそれらの出力によって順序付けされるものである。その理由のため、図２で示されたように、バッチャ・ソーティング・ネットワーク４２はバニヤン・ルーティング・ネットワーク４３及び４４に先行し、それによって、非ブロッキング式かつ自動ルーティング式であるスイッチング構造４１を提供するのである。
【００２７】
図２で示されたように、複数のバニヤン４３及び４４（典型的には２つ又は３つ）は、出力競合を低減させるために有益に使用される。例えば、図示の実施例では、バッチャ・ソーティング・ネットワーク４２の後に続く２つのバニヤン・スイッチング・ネットワーク４３及び４４が存在し、ｋ＝２のスピードアップ要因を提供する。バニヤン４３及び４４の各々はその入力の１／ｋのみを使用するので、その他の入力は途中で切り上げられる。バッチャ４２の出力は、続いて、バニヤン４３及び４４の入力に接続されるので、バッチャ４２のｋ番目毎の出力はバニヤン４３又はバニヤン４４のｋ番目の入力に接続される（示されたように、これは、バニヤン４３及び４４がバッチャ４２の奇数及び偶数に番号付けされた出力をそれぞれにルーティングすることを意味する）。結果として、同じ出力ポートにアドレスされたｋ個までの明確なセルは、バッチャ４２のｋ個の連続的な出力において出現することが可能であり、その後、ｋ個の明確なバニヤン４３及び４４を介してスイッチング構造４１の所望の出力ポートにルーティングされ得るのである。
【００２８】
Ｃ．予約リング
予約リング４６（図２）は、単一の出力ポート宛のセルの個数が「ｋ」を超過するとき、スイッチング構造４１の出力ポートへの「公正な」アクセスを実現しつつ、出力競合を解決するアービタである。「公正さ」には多くの異なった定義が存在するが、自己刻時加重式の公正な待ち行列によって指定された順序でスイッチング構造にセルを入れるアービタは、弾力的なサービスを支持するトラフィック集合のために好適であり、更に自己刻時加重式の公正な待ち行列又は仮想時計のいずれかが、リアルタイムのサービスを支持するトラフィック集合のために好適である。
【００２９】
より詳細には、予約リング４６は、リング状の形状に互いに接続される有限状態機械７６ａ−７６ｎの線形収縮配列（ｌｉｎｅａｒ  ｓｙｓｔｏｒｉｃ  ａｒｒａｙ）７５（図８）として実現される。本文では以下において「評価機構」と呼ばれることもあるこれらの有限状態機械の各々は、スイッチング構造４１の入力ポートのそれぞれの１つと連絡する。理解されるであろうが、この予約リングは、同じ明快な優先権を備え、所定のアービトレーション・セッションの間に同じ出力宛先に仕向けられていると判明した、すべてのセル即ち「パケット」に、その所定のセッションに参加しているセルのすべてがそれらの共通の出力宛先へルーティングされてしまうまで後続の到着分に対する閉集合を適切に形成させる。これは、各々の出力宛先に関する各々のアービトレーション・セッションが、その同じ宛先に関するもう１つのセッションが開始される前に、順序正しく決定されることを保証する。配列７５のような線形収縮配列を使用することの利点の中でもとりわけ、すべての連絡が局所的であって、電気的な負荷が配列の寸法と共に大きくならないことは有益である。これは、システムの線形スケーリングを可能にする。
【００３０】
予約リングは、複数のルーティング・ネットワーク４３及び４４（即ち、スピードアップ要因、ｋ≧２を有するネットワーク）を有する交換器４１のようなスイッチング構造のための競合の解決を実行するとき、タイムスタンプの値の順序でセルのサービスを提供する（先に列挙した、自己刻時加重式の公正な待ち行列又は仮想時計アルゴリズムのステップ３）ように修正され得るものであると判明した。言い換えれば、予約リング４６は、各々のアービトレーション・サイクルの間に存在するいかなる競合をも解決する（即ち、予約リング４６の廻りを１周以上伝搬することを変数に要求することなく）。従って、各々の交換器サイクルに関して、ただ１回のアービトレーション・サイクルが要求される。それ故、ルーティング・ネットワーク４３又は４４のオペレーションに時間差を設けたり、交換に先立って１回のアービトレーション・サイクル以上のアービトレーション・プロセスを開始したりすることは必要でなくなる。その代わり、アービトレーション及び交換のプロセスは、各々のアービトレーション・サイクルの終結において交換サイクル及びもう１回のアービトレーション・サイクルを起動させることによって、直接的に同期されることが可能である。
【００３１】
受け入れられている慣例に従って、有限状態機械（ＦＳＭ）７６ａ−７６ｎの各々は、スイッチング構造４１の入力ポートのそれぞれの１つに関して入力待ち行列の先頭に出現するパケット（ＨＯＱパケット）がその他の入力ポートのいずれかのＨＯＱパケットと同じ出力ポート（例えば、出力ポート番号によって）にアドレスされるかどうかを決定するための評価機構として機能する。この目的のため、評価機構７６ａ−７６ｎの各々は、１対のアドレス・レジスタＲＡｘ及びＳＡｘを包含する（ここで、ｘは関連する入力ポートの番号である）。これらのレジスタＲＡｘ及びＳＡｘの各々は、関連する入力ポートに関するＨＯＱパケット（もしあれば）の出力ポートアドレスを記憶するために各々のアービトレーション・サイクルの最初に初期化される。入力ポートのいずれかに関する待ち行列がアービトレーション・サイクルの最初からたまたま空であるならば、そのポートにおける評価機構のための状態ロジックは、そのポートに関するビット位置Ｔｘを１ビット幅の競合ベクトルに従って真（「１」）状態へセットする。更に、アービトレーション・セッションの始まりの後に到着するパケットが進行中のセッションに参加することを防止するために厳格な「インセッション」制限がアービトレーション・プロセスに賦課されることになるならば、入力ポートｘに関する待ち行列がアービトレーション・サイクルの最初から空であるときには必ず、インセッションｘフラッグ・ビットが偽（「０」）状態へリセットされることも可能である。
【００３２】
レジスタＲＡｘにロードされる要求されたアドレスＲＡは、位置的な変数である。しかし、レジスタＳＡｘにロードされるそのアドレスのコピーＳＡは、伝搬する変数である。詳細には、アドレスＳＡは、内部に記憶される要求された位置的なアドレス変数によってその他の評価機構の各々と比較する制御装置７８の制御を受けて、頂部から底部への閉ループ順序で予約リング４６の廻りをシフトされる。同様に、インセッションｘフラッグは、関連する入力ポートがアービトレーション・セッションにおける潜在的な参加者であるかどうかを示す位置的な変数である。他方、競合ベクトルの値Ｔは、評価機構を介して下向きに伝搬して、問題の評価機構によってサービスされたポートの上か又は下に配置された入力ポートに配置される等しい優先権の競合者の間を評価機構の各々（最上部の評価機構７６ａ以外のもの）に関して識別し、そればかりでなく、現行のアービトレーション・セッションに参加していない入力ポートをも識別する。
【００３３】
パケット優先権の多数のレベルを評価プロセスに付け加えることも可能である。この目的のため、評価機構７６ａ−７６ｎの各々は、１対のアドレスレジスタＲＰｘ及びＳＰｘを包含する（ここで、ｘは関連する入力ポートの番号である）。これらのレジスタＲＰｘ及びＳＰｘの各々は、関連する入力ポートに関するＨＯＱパケットの優先権（もしあれば）を記憶するために各々のアービトレーション・サイクルの最初に初期化される。最上位の優先権は優先権レジスタの最小値又はその最大値のいずれかに対して割り当てられることが可能であり；いずれの値が最上位の優先権（即ち、出力への最初のアクセスを付与される）を表現するものであるのかは、以下に説明される優先権比較が比較演算として「小さいか又は等しい」或いは「大きいか又は等しい」のいずれを使用するのかに関する関数である。
【００３４】
ｋパケットを越えるものは除いて、ｋパケットまでのものは、いずれの１回の交換サイクルの間においてもスイッチング構造４１の所定の出力ポートへ交換されることが可能である。結果として、評価機構がアービトレーションを失ったときには必ず、公正さは、影響されたパケットがまだアービトレーション・プロセスを受けていないパケットに対して優先権を付与されることを要求する。この理由のため、評価機構７６ａ−７６ｎの各々は、それがアービトレーションを失ったときには必ず、競合フラッグビットＦＣｘ及び留保競合フラッグビットＦｘを真（「１」）状態へセットする。競合留保フラッグビットＦｘの真（「１」）状態が、不首尾の評価機構に信号を送って、影響されたパケットをその入力待ち行列の先頭に保持するので、進行中のアービトレーション・セッションは、１回又はそれ以上の追加の交換サイクルに渡って延長されることが可能である。他方、競合フラッグビットＦＣｘは、位置的な競合フラッグＲＣに関する１ビットレジスタＲＣと、伝搬する競合フラッグＳＣに関する１ビットレジスタＳＣｘとにコピーされる。評価機構は、参加するか否かに関する決定が為される時点で、その内部における位置的な競合フラッグＲＣと伝搬する競合フラッグＳＣとが一致している場合に限って、アービトレーション・セッションに参加する。フラッグＲＣ及びＳＣは、ＲＰ及びＳＰと共に働き、１回又はそれ以上の交換サイクルの過程に渡って、所定の出力ポートを求めるすべての競合者に優先化された頂部から底部へのラウンドロビン順序でその出力へのアクセスを付与する。
【００３５】
評価機構７６ａ−７６ｎの各々は、予め定められた開始値からｋ−１までの範囲に渡って計数する整数カウンタＣＮＴＲｘを包含する。このカウンタは、各々のアービトレーション・サイクルの最初にその開始値（例えば０）へクリアされ、その後、その入力ポートにおけるパケットがより上位の入力ポートにおけるパケットと競合していることをそのホスト評価機構が決定したときには必ず、増分される。評価機構がその位置的なアドレス変数ＲＡに等しいシフトされたアドレスＳＡを受け取り、その位置的な優先権変数ＲＰの値がシフトされた優先権ＳＰより小さいか又は等しい（大きいか又は等しい）場合には、評価機構は、そのときのその現行の競合ベクトルビットＴの状態とその留保競合フラッグＦの状態をチェックする。評価機構が真（「１」）の競合ベクトルビットＴを有し、その留保競合フラッグＦがまだ偽（「０」）であるならば、評価機構は、それがアービトレーションに勝利したものと結論する。従って、アービトレーション・サイクルの終結において、評価機構は、真（「１」）の許諾を、そのＣＮＴＲｘによって累積された計数（いわゆる「ポート・カウンタ」値）をプラスして、その入力バッファに戻し、それによって、入力待ち行列の先頭におけるセルをそのポートに解放し、仕向け先の出力ポートへ交換することになる。他方、そのＣＮＴＲｘが偽（「０」）競合ベクトルビット値の存在であふれたことを評価機構が発見したならば、それは最終的にアービトレーションを一巡したものと結論するので、それは、その競合フラッグビットＦＣｘ及びその留保競合フラッグビットＦｘを真（「１」）状態へセットして、上述したように進行中のアービトレーション・セッションを延長する。
【００３６】
上述のものは、以下のように、より正確に擬似コードで要約されることが可能である：
定数：
Ｔ-1＝１（Ｔ-1はステージ０へのＴインプットである）
ポート評価機構についての位置的な変数：
ＲＡ：ＩＮＴ［０．．ポート数−１］；
ＲＰ：ＩＮＴ［０．．．優先権レベル数−１］；
ＲＣ：ＢＯＯＬ；
ＦＣ，Ｆ：ＢＯＯＬ；（Ｆ＝１＝＞アービトレーションは喪失）
インセッション：ＢＯＯＬ；
カウンタ：ＩＮＴ［０．．ｋ−１］；
ポート評価機構についてのシフトされた変数：
ＳＡ：ＩＮＴ［０．．ポート数−１］；
ＳＰ：ＩＮＴ［０．．．優先権レベル数−１］；
ＳＣ：ＢＯＯＬ；
Ｔ：ＢＯＯＬ；（Ｔ＝０＝＞ポートは上にある）
システムリセット：
ＲＡ←ＳＡ←０；
ＲＣ←ＳＰ←ＲＰ←ＳＣ←ＦＣ←Ｆ←Ｔ←インセッション←０；
カウンタ←０；
アービトレーションの開始：
１）パケットがアービトレーションを求めて新たに提出されたなら、ＦＣ←０；
２）ＲＡ←ＳＡ←要求されたポート；ＳＰ←ＲＰ←要求された優先権；
ＲＣ←ＳＣ←ＦＣ；
Ｆ←Ｔ←０；
インセッション←１；
カウンタ←０；
３）このポートがこのサイクルを活動中でないならば、［Ｔ←１；インセッション←０］
アービトレーション・ステップ：
インセッション＝１かつ（ＲＡ＝ＳＡ）ならば、
｛
事例：
−−  上位の優先権レベルのもう１つのポートが存在する。
ＳＰ＞ＲＰ：カウンタ＋＋；カウンタのあふれにおいて，Ｆ←ＦＣ←１；
−−  予約リング内においてこの上に、同じ優先権を有し同じ出力を欲するもう１つのポートが存在する。
（ＳＣ＝ＲＣ）かつ（ＳＰ＝ＲＰ）かつ（Ｔ＝０）：カウンタ＋＋；
カウンタのあふれにおいて，Ｆ←ＦＣ←１；
−−  明白な競合者が、予約リング内におけるこの下のポート、即ち非活動ポートにあって、同じ優先権を有している。
（ＳＣ＝ＲＣ）かつ（ＳＰ＝ＲＰ）かつ（Ｔ＝１）：空白；
−−  明白な競合者が下位の優先権を有する、それは無視せよ。
ＳＰ＜ＲＰ：空白
−−  明白な競合者がこのアービトレーション・セッションの一部ではない。
（ＲＣ＝１）かつ（ＳＣ＝０）かつ（ＳＰ＝ＲＰ）：空白；
−−  このポートはこのアービトレーション・セッションにおける有効な参加者ではない。出ていけ！
（ＲＣ＝０）かつ（ＳＣ＝１）かつ（ＳＰ＝ＲＰ）：
｛Ｆ←１；ＦＣ←０；インセッション←０；｝；
事例終了；
｝；
仕上げ：
ＦＣ←インセッション及びＦ；
［Ｆ＝０かつインセッション＝１］ならば、パケット（許諾＝１）を送れ。
【００３７】
所望されるならば、前述の予約リング機構４６に関するインセッション制限は、それが厳密に現行のセッションの中にあるか否かに関わらず、有効なアービトレーション要求がアービトレーション・セッションに参加することを許容するように緩和されても良い。このより緩和されたアプローチの利点は、空の交換器サイクルの個数を低減させ、それによって交換器の処理能力を増大させることである。この緩和されたバージョンに関する擬似コード記述は、以下の通りである：定数：
Ｔ-1＝１
ポート評価機構についての位置的な変数：
ＲＡ：ＩＮＴ［０．．ポート数−１］；
ＲＰ：ＩＮＴ［０．．．優先権レベル数−１］；
ＲＣ：ＢＯＯＬ；
ＳＰ：ＩＮＴ［０．．．優先権レベル数−１］；
ＦＣ，Ｆ：ＢＯＯＬ；（Ｆ＝１＝＞アービトレーションは喪失）
インセッション：ＢＯＯＬ；
カウンタ：ＩＮＴ［０．．ｋ−１］；
アクティブ：ＢＯＯＬ
ポート評価機構についてのシフトされた変数：
ＳＡ：ＩＮＴ［０．．ポート数−１］；
ＳＰ：ＩＮＴ［０．．．優先権レベル数−１］；
ＳＣ：ＢＯＯＬ；
Ｔ：ＢＯＯＬ；（Ｔ＝０＝＞ポートは上にある）
システムリセット：
ＲＡ←ＳＡ←０；
ＲＣ←ＳＣ←ＦＣ←Ｆ←Ｔ←インセッション←０；
カウンタ←０；
アクティブ←０；
アービトレーションの開始：
１）パケットがアービトレーションを求めて新たに提出されたなら、［ＦＣ←０；    アクティブ←１；］
２）ＲＡ←ＳＡ←要求されたポート；
ＳＰ←ＲＰ←要求された優先権；
ＲＣ←ＳＣ←ＦＣ；
Ｆ←Ｔ←０；
インセッション←１；
カウンタ←０；
３）このポートがこのサイクルを活動中でないならば、Ｔ←１；
アービトレーション・ステップ：
（ＲＡ＝ＳＡ）ならば、
｛
事例：
−−  上位の優先権レベルのもう１つのポートが存在する。
ＳＰ＞ＲＰ：カウンタ＋＋；カウンタのあふれにおいて，Ｆ←ＦＣ←１；
−−  予約リング内においてこの上に、同じ優先権を有し同じ出力を欲するもう１つのポートが存在する。
（ＳＣ＝ＲＣ）かつ（ＳＰ＝ＲＰ）かつ（Ｔ＝０）：カウンタ＋＋；
カウンタのあふれにおいて，Ｆ←ＦＣ←１；
−−  明白な競合者が、予約リング内におけるこの下のポート、即ち非活動ポートにあって、同じ優先権を有している。
（ＳＣ＝ＲＣ）かつ（ＳＰ＝ＲＰ）かつ（Ｔ＝１）：空白；
−−  明白な競合者が下位の優先権を有する、それは無視せよ。
ＳＰ＜ＲＰ：空白
−−  明白な競合者がこのアービトレーション・セッションの一部ではない。
（ＲＣ＝１）かつ（ＳＣ＝０）かつ（ＳＰ＝ＲＰ）：空白；
−−  このポートはこのアービトレーション・セッションにおける参加者ではない。このセッション内にｋ以上の有効な参加者が存在するならばチェックせよ。
（ＲＣ＝０）かつ（ＳＣ＝１）かつ（ＳＰ＝ＲＰ）：
｛インセッション←０；カウンタ＋＋；カウンタのあふれにおいて，Ｆ←１｝；
事例終了；
ＦＣ←インセッション及びＦ    （（ａ）セッションにおける参加者の＃、プラス（ｂ）セッションの一部ではないがアービトレーションされた出力ポートを要求していて評価機構の上にある入力ポートの＃の和がｋより大きいならば、Ｆは「１」へセットされたことに留意せよ）。
｝；
仕上げ：
Ｆ＝０かつアクティブ＝１ならば、ポートカウンタにおけるパケット（許諾＝１）を送れ；
一旦、許諾が送られてしまうと、アクティブ←０。
【００３８】
Ｅ．入力及び出力緩衝方式−待ち行列戦略
スイッチング機構４１は、すべての入力線及び出力線の間で待ち行列資源を共用するのではなく、分散された待ち行列、即ち、各々の入力線及び出力線に関して１つ又はそれ以上の専用の待ち行列、を使用する。周知のように、共用される待ち行列は、すべての線を横断するバッファ空間のダイナミック再配分のために有益である；  公正さの保証と帯域幅の予約が要求されるときには増大した実現の複雑性を犠牲にして緩衝記憶装置をより効率的に使用する傾向があるアプローチである。しかし、この場合は、設計の明快さがバッファ利用の最適化よりも重要であり、交換器に公正なサービス秩序を賦課しつつ、入力線及び出力線を互いに絶縁するための装備が形成される。結果として、数個の入力がトラフィックを担持する出力の能力を実質的に超過する速度で単一の出力に伝搬するならば、セルはそれらの入力線のためのバッファか又はその特定の出力のためのバッファのいずれかにおいて交換器によって失われてしまうことになる。公正さは、入力と出力の両者の待ち行列ポイントにおいて考慮されなければならない。
【００３９】
ネットワーク２１（図１）は、保証されたトラフィックが接続部のトラフィック制限によって規定される速度を超過しないことをチェックする直接的なトークン・バケット機構を適切に採用している。詳細には、ネットワークによってサービスされるコンピュータのネットワーク・インターフェースのハードウェア／ソフトウェア（図示略）が、保証されたトラフィックの速度をそのトラフィック制限によって規定されるものに限定するのである。標準的な慣例に従って、ＶＣＩテーブル内におけるフィールドは、トラフィックの異なった集合の間の差異を識別する。図示された実施例では、ＶＣＩテーブル内におけるトラフィック予約（ＲｅｓＴｒａｆ）ビット（交換器ヘッダにコピーされる）が、前もって資源の予約を為した保証されたトラフィック・ストリームを表示するために使用される。従って、各々の交換器２２−２５の各々の入力ポートに関しては、少なくとも２つの入力待ち行列、保証されたトラフィックのための１つと保証されないトラフィックのためのもう１つとが存在する。トラフィック制限に従う保証されたトラフィックは、自己刻時加重式の公正な待ち行列又は仮想時計のいずれかによって規定される順序でサービスされ、セル遅延変動（ＣＤＶ）に大きな制限がある保証なしのトラフィックに対して優先権を付与される。
【００４０】
保証なしのトラフィックに関して、交換器は、トラフィックをスケジュールするために自己刻時加重式の公正な待ち行列を適切に採用している。保証なしのトラフィックは、供給源が送信する速度を制御するためにネットワークからのフィードバックが使用される閉ループ制御（輻輳回避制御ループ）を採用する。交換器が自己刻時加重式の公正な待ち行列によって規定される順序でセルをスケジュールするとき、ネットワーク安定性のような特性が立証され得ることは周知である。
【００４１】
出力待ち行列において、次のセルを選択するために必要とされるすべての情報は、位置的に利用可能である。しかし、本発明に従えば、入力待ち行列ポイントにおいて、競合者は、多数の評価装置を横断して展開される。自己刻時加重式の公正な待ち行列のステップを実現するため、各々の評価装置は、要求された出力ポートに関連するシステム仮想時間を知ることが必要であり、同じ出力を要求する入力評価装置は、それらの関連する入力待ち行列の先頭におけるパケットに関連する仮想時間の順序でサービスされなければならない。同様に、仮想時計の場合、仮想時間に関する仮想時計アルゴリズムの計算は評価装置に対して位置的であるデータのみに依存するが、多数の評価装置からのパケットは、それらのパケットが同じ出力に仕向けられているならば、それらの仮想時間の順序でサービスされなければならない。
【００４２】
優先権を備えた予約リングは、自己刻時加重式の公正な待ち行列のために必要とされるシステム仮想時間と通信するために、更に各々の評価装置の関連する待ち行列の先頭におけるパケットの仮想時間のベースで評価装置を優先化するためにも必要とされる相関性を提供することが可能であると判明している。鍵となる理解は、優先権ビットの個数が十分に大きくなるとき、優先権とタイムスタンプの間には僅かしか違いがないということである。各々の評価機構がその待ち行列の先頭におけるパケットに関する仮想終了時間を優先権フィールドに入力すると、優先権が増加された予約リングは最下位の仮想終了時間を備えたｋパケットを選択することになる。このステップは、仮想時計と自己刻時加重式の公正な待ち行列の両者におけるソーティング・ステップと同等である。すべての評価機構がすべての要求をアービトレーション・プロセスの間に見るので、いずれの評価機構もが、特定の出力に関連するシステム仮想時間（＝先のサイクルにおいてその出力へのアクセスを許諾された最大仮想時間）を容易に発見することが可能であり、それによって自己刻時加重式の公正な待ち行列のその他の構成要素をも可能とするのである。
【００４３】
優先権ビットの個数が限定されているとすれば、優先権へのタイムスタンプのマッピングは、タイムスタンプが利用可能な優先権の個数よりも大きくなることを理解しなければならない。実現可能なタイムスタンプの範囲（最小から最大まで）が限定されているとすれば、ＴＣＰデータ通信プロトコルにおけるシーケンス数の循環のために使用される周知の技術が良好に機能する。特に、その実現可能な値が最大の実現可能な優先権値の半分以下だけ異なる２つの優先権値がａ及びｂであるならば、２の補数計算が正しい答えを与える。
【００４４】
我々は、優先権空間を最大の相違の２倍に形成し、即ち１ビット大きくすることによって、実現可能な値が最大の実現可能な優先権の半分以下だけ異なることを保証することができる。
【００４５】
そのとき、各々の出力ポートに関しては、ｔ最初がサービスされるべき次のパケットの時間であり、ｔ最終がサービスされることになる最後のパケットに関連する時間である、２つの関連する時間：  ｔ最初及びｔ最終が存在する。ｔ最初とｔ最終の間の相違は、ｂが優先権ビットの個数である場合に２ｂの半分より大きいものではあり得ない。これは、その時間をモジューロ２ｂに維持されるものとして見ることによって保証されることが可能であり、更に続いて、いかなるオフセット（仮想時計又は加重される公正な待ち行列のそれぞれにおける時間速度又は時間加重のいずれかのパケット長さ）も２ｂ−１より大きくないことを保証する。ＯＣ−３速度（１４９．７６ｍｂｐｓ−ＳＯＮＥＴペイロード速度）で稼働するＡＴＭリンクの場合、このリンクには、ほぼ３５３２０８セル／秒が存在する。６４Ｋｂｐｓ（音声電話速度）回路（ＡＡＬタイプ１が使用されるときほぼ１７４セル／秒）が維持されることを要する最低の速度であるならば、最低速度に対する最高速度の比率は２０２９、即ち１１ビットである。この比率は、仮想時間の計算の間に付け加えられることになる最大のオフセットである。従って、１２ビットの優先権フィールドは、速度が６４Ｋｂｐｓからフルライン速度にまで及ぶ回路に関連する仮想時間をコード化するために足る十分なものである。
【００４６】
入力／出力待ち行列式交換器の場合、入力待ち行列は、スピードアップ要因ｋによって乗算される同等のライン速度を経験する。典型的には、入力において待ち行列に入れられるセルの個数は、出力において待ち行列に入れられるものよりも遥かに小さく、従って、入力待ち行列におけるより少ない待機時間という結果になる。我々は、優先権ビットを僅かしか要求しないが最悪でもジッタのための限定的な成果を産み出すことになるソーティング・ステップに対しての近似的な解決を説明する。項目の収集物がキー空間の部分集合に基づいてそれらをバケットへ分割することによってソーティングされ得ることは周知である。完全なソーティングのためには、この分割プロセスは、バケットにおいて再帰的に実行されることを必要とする。この形態におけるソーティング・プロセスは、基数法分類として知られている。レコードが完全にソーティングされることが必要とされないならば、再帰的な基数法分類は、ほぼ同一の値であるがソーティングされた順序ではない項目をバケットに包含させておいて、完了の前に終了されることも可能である。一般的に、仮想的なパケット・スケジューリング時間の近似的な順序付けは、サービス保証に関する従来的な等級を満足させるに足る十分なものである。
【００４７】
維持されることを要するタイムスタンプの範囲は、仮想スケジューリング時間の計算が入力待ち行列において所定のＶＣのために現在待機している第１のセル即ちパケットに関してのみ為されることを必要としていることを、注目することによって更に制限され得る。これは、これがそうなることを以下の通りに論証する：  仮想時計の場合、仮想スケジューリング時間は、既に待機しているこのＶＣのためのセルが存在しないならば、接続仮想時間（ＶＣＩ変換テーブルからの）と到着時間の関数である。待機しているセルが存在するならば、問題のセルの直前を先行するセルの仮想スケジューリング時間のみが関係する。リンクが過剰に予約を申し込まれて（予約されたトラフィックに関しては不可能）いない限り、仮想時間は、リアルタイムよりも大きいか又は等しくなければならない。同様に、加重される公正な待ち行列の場合も、多数のセルが単一のＶＣのために待機しているとき、システム仮想時間は現在送信されているセルの仮想時間にセットされるので、セルのための仮想スケジューリング時間は、到着時間よりも大きいか又は等しくなければならない。従って、それは、待ち行列ポイントにおいて現在待機しているＶＣの最も古いセルの仮想スケジューリング時間のみを維持することで十分なのである。
【００４８】
自己刻時加重式の公正な待ち行列の場合、各々の入力ポートは、各々の出力に関連するシステム仮想時間を維持しなければならない。しかし、幸いなことに、所定の出力へのアクセスを許諾された最大の優先権が、その出力に関連するシステム仮想時間の妥当な近似値である。（この優先権は、バケット・ソーティングの故に、即ち多数の時間が１つのバケットにマッピングされるので、その仮想時間の推定値である）。従って、各々の入力ポートは、上記の擬似コードで説明された比較によって決定されるように、勝利するポートに関する最大の優先権値が維持される、出力ポート番号によってインデックスされる配列を維持する。このようにして、この優先権値は、優先権値への仮想時間のマッピングを決定するためと、自己刻時式の公正な待ち行列のアルゴリズムのためのシステム仮想時間を導き出すための両方に使用される。
【００４９】
仮想時計の場合、接続仮想時間は、セル到着時間と先の仮想スケジューリング時間のみに依存する。我々は、セル到着時間（インターフェースに対して位置的である）と先の仮想スケジューリング時間（ＶＣ情報についての一部として記憶される）を比較し、ＶＣの割当て速度によって決定される定数値を付け加えることによって、接続の仮想時間を計算する。優先権値は、続いて、仮想スケジューリング時間割る２（基数）を取り、関連する出力へのアクセスを先に許諾された最大の優先権を付け加えることによって計算される。
【００５０】
自己刻時式の公正な待ち行列の場合、システム仮想時間は、接続の仮想スケジューリング時間を計算するように要求される。我々は、その出力ポートに関するシステム仮想時間の推定値として、関連する出力へのアクセスを先に許諾された最大の優先権掛ける２（基数）を使用する。ＶＣについて、ＶＣ情報についての一部として記憶される、この接続における先のセルに関する仮想スケジューリング時間が与えられると、アービトレーション・プロセスの残りは、上述したように進行する。
【００５１】
上記の関数は、ＶＣ毎のベースで入力待ち行列へ出入りするようにセルを挿入しかつ取り出すための装備が形成されることを要求する。通常の熟練技術者は、各々のリストが、処理されるべき次のセルであるリストの先頭と、このＶＣに受け取られた次のセルにリンクされることになる末尾とを有する（即ち、ＶＣ上をルーティングされる新しいセルは、リンクされたリストに追加される）ようにした、ＶＣ毎にリンクされたセルのリストをどのように維持するのか理解するであろう。
【００５２】
代替的に、入力／出力待ち行列式交換器の目的のためには、完全にリンクされたリスト構造を維持することは過剰であるかもしれない。これは２つの理由で正しい：  第１に、我々は、ＶＣリストについてその先頭にある１つのセル（最初の仮想スケジューリング時間）のみを必要とし、第２に、入力待ち行列の寸法は、おそらく小さいものであることになるからである。完全にリンクされたリストを維持することに対する代替的なアプローチは、入力待ち行列を２つの区域：  セルがランダムアクセスのためにロードされ記憶され得る待ち行列の前部、及びＦＩＦＯ待ち行列として機能する後部に、分割することによって結果を推定することである。限定された前部区域は、その後、各々のセル時間を走査され、最小の仮想スケジューリング時間によってセルのための線形時間走査を付与する；限定された前部区域の寸法は、区域全体を走査するためにセル時間において十分なクロックサイクルが存在するようにして選択される。各々のセルに対するシーケンス番号の付加及び比較の中への前記シーケンス番号の算入は、仮想回路のセルを順序正しく維持するに足る十分なものである。通常の熟練者は、そのようなアルゴリズムをどのように実現するのか理解するであろう。
【００５３】
予約されたトラフィックに上位の優先権を付与するために、我々は、仮想時間から独立しているログ（優先権等級の数）ビットの優先権フィールドを有している。先に説明した優先権ベースの予約リングをマルチキー・ソーティングに拡大するためには余分のフィールドが使用される。その方法は、当該分野における通常の熟練者には熟知されているであろう。支持される２つの優先権等級が存在する場合、このフィールドは、１ビットであり、ＳＲＢ及びＲＲＢと呼ばれることになる。
【００５４】
出力のためのシステム仮想時間を計算するため、各々の入力は、予約リングを監視して、所定の出力に関するｋ番目の最小の優先権を見つけなければならない（その出力のためにｋと同じほど多くの要求が存在するとしたならば）。我々は、各々のアービトレーション・ステップにおいて更新され得るｋ個の最小値の集合としてこれを実現することが可能である：
最小優先権：ＩＮＴの配列［０．．ポート数−１，０．．ｋ−１］；
更新されたこのサイクル：ＢＯＯＬの配列［０．．ポート数−１，０．．ｋ−１］；−−へクリアされる−−各々のアービトレーション・サイクルの開始において偽（アービトレーションの初期設定）
各々のアービトレーション・ステップにおいて手順を遂行せよ：
ｋ番目の最小優先権（ＳＡ，ＳＰ）を計算せよ；
最小優先権の配列及び更新されたこのサイクルの配列を更新するためである。自己刻時加重式の公正な待ち行列が予約と予約なしの両方のトラフィックのために使用されるならば、ｋ番目の最小優先権が予約と予約なしの両方のトラフィック等級に関して計算されなければならない。しかし、我々は、予約されたトラフィック等級に関する仮想時計を使用し、予約されたｋ番目の最小優先権を計算する必要性を回避することになる。
【００５５】
ｋ＝２の具体例の場合、ｋ番目の最小優先権の計算の手順の具体例実行は：
ｋ番目の最小優先権を計算せよ：手順（ＳＡ：ＩＮＴ［０．．ポート数−１］），ＳＰ：ＩＮＴ［０．．優先権レベル数−１］；
｛
更新されたこのサイクルが［ＳＡ，０］でないならば、
｛最小優先権［ＳＡ，０］←ＳＰ；更新されたこのサイクル［ＳＡ，０］←真；
｝ほかに、更新されたこのサイクルが［ＳＡ，１］でないならば、
｛最小優先権［ＳＡ，１］←ＳＰ；更新されたこのサイクル［ＳＡ，１］←真；
｝ほかに、ＳＰ＜最小優先権［ＳＡ，０］ならば、
最小優先権［ＳＡ，０］←ＳＰ
ほかに、ＳＰ＜最小優先権［ＳＡ，１］ならば、
最小優先権［ＳＡ，１］←ＳＰ；
｝；−−ｋ番目の最小優先権の計算の具体例実行の終了
出力のためのシステム仮想時間ｊは、そのとき、以下によって与えられる：
ｍａｘ（最小優先権［ｊ，０］，最小優先権［ｊ，１］）
各々の評価装置において遂行される予約リング・アルゴリズムは、そのとき：
定数：
Ｔ-1＝１；
予約トラフィック＝１を規定せよ；−−最上位の優先権のトラフィック等級
予約なしトラフィック＝０を規定せよ；
トラフィック等級数＝２を規定せよ；−−この具体例の場合、我々は予約及び予約なしのみを支持する。
ポート評価機構についての位置的な変数：
最小優先権：ＩＮＴの配列［０．．ポート数−１，０．．ｋ−１］；
更新されたこのサイクル：ＢＯＯＬ配列［０．．ポート数−１，０．．ｋ−１］；ＲＡ：ＩＮＴ［０．．ポート数−１］；
ＲＰ：ＩＮＴ［０．．．優先権レベル数−１］；
ＲＣ：ＢＯＯＬ；
ＲＲＢ：ＩＮＴ［０．．．トラフィック等級数−１］；
ＦＣ，Ｆ：ＢＯＯＬ；（Ｆ＝１＝＞アービトレーションは喪失）
インセッション：ＢＯＯＬ；
カウンタ：ＩＮＴ［０．．ｋ−１］；
アクティブ：ＢＯＯＬ
ポート評価機構についてのシフトされた変数：
ＳＡ：ＩＮＴ［０．．ポート数−１］；
ＳＰ：ＩＮＴ［０．．．優先権レベル数−１］；
ＳＣ：ＢＯＯＬ；
ＳＲＢ：ＩＮＴ［０．．．トラフィック等級数−１］；
Ｔ：ＢＯＯＬ；（Ｔ＝０＝＞ポートは上にある）
システムリセット：
ＲＡ←ＳＡ←０；
ＲＣ←ＳＣ←ＦＣ←Ｆ←Ｔ←インセッション←０；
カウンタ←０；
アクティブ←０；
最小優先権［＊，＊］←０；
アービトレーションの開始：
予約された待ち行列にセルが存在するならば、最下位の仮想スケジューリング時間を備えたセルを選択し、予約された待ち行列からそれを取り除き、ほかに、予約なしの待ち行列にセルが存在するならば、最下位の仮想スケジューリング時間を備えたセルを選択し、予約なしの待ち行列からそれを取り除くこと。予約された待ち行列に関する仮想スケジューリング時間は、仮想時計アルゴリズムに従って計算され得る。以下のアルゴリズムにおいて、仮想時計は、各々の出力に関するシステム仮想時間を維持する必要性を回避するために、予約されたトラフィックに関するものと想定されている。予約なしの待ち行列に関する仮想スケジューリング時間は自己刻時加重式の公正な待ち行列に従って計算されるべきであり、出力についての予約なしのトラフィックに関するシステム仮想時間も計算されなければならない。
１）パケットがアービトレーションを求めて新たに提出されたなら、［ＦＣ←０；    アクティブ←１；］
２）ＲＡ←ＳＡ←要求されたポート；
ＳＰ←ＲＰ←要求された優先権；−−仮想時間から導き出される。
ＲＣ←ＳＣ←ＦＣ；
Ｆ←Ｔ←０；
インセッション←１；
カウンタ←０；
更新されたこのサイクル［＊，＊］←偽；
３）このポートがこのサイクルを活動中でないならば、Ｔ←１；
４）ＳＲＢ←ＲＲＢ←セルが予約されたトラフィックならば予約トラフィック、      でなければ予約なしトラフィック；
アービトレーション・ステップ：
ＳＲＢでなければ、ｋ番目の最小優先権（ＳＡ，ＳＰ）を計算せよ；
（ＲＡ＝ＳＡ）ならば、
｛
事例：
−−  上位の優先権トラフィック等級にあるか又はより小さな優先権を備えているいずれかのもう１つのポートが存在する。
（ＳＲＢ＞ＲＲＢ）又は（ＳＰ＜ＲＰ）：｛カウンタ＋＋；カウンタのあふれにおいて，Ｆ←１；｝
−−  我々のアービトレーション・セッションの一部であり、同じ優先権を有し、同じトラフィック等級に所属し、予約リングにおいてこのポートの上にある、もう１つのポートが存在する。
（ＳＣ＝ＲＣ）かつ（ＳＰ＝ＲＰ）かつ（ＲＲＢ＝ＳＲＢ）かつ（Ｔ＝０）：
｛カウンタ＋＋；カウンタのあふれにおいて，Ｆ←１；｝
−−  明白な競合者が、スイッチング構造内の下位レベルにおけるポート、即ち非活動ポートにおいて、我々のアービトレーション・セッションの一部であって、我々と同じトラフィック等級及び同じ優先権にある。
（ＳＣ＝ＲＣ）かつ（Ｔ＝１）かつ（ＳＰ＝ＲＰ）かつ（ＳＲＢ＝ＲＲＢ）：
空白；
−−  明白な競合者が、我々より下位の優先権トラフィック等級にあるか又は上位の優先権を有する。
（ＳＲＢ＜ＲＲＢ）又は（ＳＰ＞ＲＰ）：空白；
−−  明白な競合者がこのアービトレーション・セッションの一部ではない。
（ＲＣ＝１）かつ（ＳＣ＝０）かつ（ＳＰ＝ＲＰ）かつ（ＳＲＢ＝ＲＲＢ）：
空白；
−−  このポートはこのアービトレーション・セッションにおける参加者ではない。このセッション内にｋ以上の有効な参加者が存在するならばチェックせよ。
（ＲＣ＝０）かつ（ＳＣ＝１）かつ（ＳＰ＝ＲＰ）かつ（ＳＲＢ＝ＲＲＢ）：
｛インセッション←０；カウンタ＋＋；カウンタのあふれにおいて，Ｆ←１｝；
事例終了；
ＦＣ←インセッション及びＦ  （（ａ）セッションにおける参加者の＃、プラス（ｂ）セッションの一部ではないがアービトレーションされた出力ポートを要求していて評価機構の上にある入力ポートの＃の和がｋより大きいならば、Ｆは「１」へセットされたことに留意せよ）。
｝；
仕上げ：
Ｆ＝０かつアクティブ＝１ならば、ポートカウンタにおけるパケット（許諾＝１）を送れ；
一旦、許諾が送られてしまうと、アクティブ←０。
【００５６】
図８は、その２つのバニヤン・ネットワーク４３及び４４を図２で示されたように備えた構造４１のように、２つのルーティング・ネットワーク（ｋ＝２）を有する自動ルーティング・非ブロッキング式スイッチング構造に関して、参照番号４６で示されたような形式の予約リングによって実行されるアービトレーションを概略的に示している。この簡略化された具体例では、スイッチング構造は、パケットヘッダに包含される出力ポートアドレス即ち宛先をベースとして、４つの入力ポート、ＩｎＰｏｒｔ０−ＩｎＰｏｒｔ３からのパケットを、４つの出力ポート、ＯｕｔＰｏｒｔ０−ＯｕｔＰｏｒｔ３の中の指定されたものへルーティングする。予約リングは、各々のアービトレーション・サイクルの間に、スイッチング構造の入力ポートのすべてをアービトレーションして、同じ出力ポートにアドレスされたパケットの間において発生するいかなる競合をも解決する。競合を完全に解決するためにマルチサイクル・アービトレーション・セッションが求められるかもしれないが、ｋ個までの競合するパケットのために競合が解決されるときには、アービトレーション・セッションの最後のサイクルを例外として（即ち残留する競合者）、競合は、ｋ個の競合するパケットのために各々のアービトレーション・サイクルにおいて解決される。従って、予約リングは、アービトレーションされたパケットを各々のアービトレーション・サイクルの終結時にスイッチング構造の中へ解放し、各々のアービトレーション・サイクルの直後には交換サイクルが随伴される。
【００５７】
より詳細には、アービトレーション・セッションは、ＯｕｔＰｏｒｔ３にアドレスされるＩｎＰｏｒｔ０、ＩｎＰｏｒｔ１、及びＩｎＰｏｒｔ３のためのＨＯＱパケットによって、更にはＯｕｔＰｏｒｔ０にアドレスされるＩｎＰｏｒｔ０のためのＨＯＱパケットによって開始されるかもしれない。これは新しいアービトレーション・セッションであると想定されることになる（即ち、いずれのパケットも進行中のアービトレーション・セッションを受けていない）。従って、予約リングの評価機構は、すべてが、アービトレーション・セッションのためにそれらの状態制御ロジックによって初期化される。この初期設定プロセスの結果として、スイッチング構造の入力ポートの各々に関する評価機構は、その特定の入力ポートにおけるＨＯＱパケットがその要求されたアドレスレジスタＲＡｘの中へ更にそのシフトされたアドレスレジスタＳＡｘの中へルーティングされコピーされることになる、出力ポートのアドレスを有する。更に、各々の評価機構は、その要求された優先権ＲＰｘ及びシフトされた優先権ＳＰｘのレジスタにパケットの優先権（仮想タイムスタンプに等しい）をロードし、その要求された予約ビットＲＲＢｘ及びシフトされた予約ビットＳＲＢｘにパケットのトラフィック等級をロードする。入力ポートのすべては、このアービトレーション・セッションの間たまたま活動的であるので、各々の評価機構のインセッション・ビットは、真（「１」）状態へセットされる。更になお、これが新しいアービトレーション・セッションであるので、各々の評価機構は、そのカウンタＣＮＴＲをクリアさせ、その競合に関係するすべてのビットＦ，ＦＣ，ＲＣ及びＳＣを、その競合ベクトルビットＴと共に偽（「０」）状態へリセットする。
【００５８】
アービトレーション・プロセスのステップ０において、各々の評価機構は、そのシフトされたアドレスレジスタＳＡｘに記憶されたアドレス、そのシフトされた競合フラッグビットＳＣ、そのシフトされた優先権ＳＰｘ、及びそのシフトされた予約ビットＳＲＢｘを、下方へ閉ループ・ラウンドロビン順序で、予約リングの次の下位の評価機構の中へシフトする。これが閉ループ・シフトであるので、最下位の評価機構（即ちＩｎＰｏｒｔ３のための評価機構）に関するシフトされたアドレス、シフトされた競合フラッグビット、シフトされた優先権及びシフトされた予約ビットは、最上位の評価機構（即ちＩｎＰｏｒｔ０のための評価機構）の中へシフトされる。同時に、真（「１」）の競合ベクトルビットはその最上位の評価機構の中へシフトされ、既存の競合ベクトルビットは次の下位の隣接する評価機構の中へ開ループ様式で下方にシフトされる（即ち、最下位の評価機構からの競合ベクトルビットは落される）。
【００５９】
シフトオペレーションに続いて、各々の評価機構は、その要求されたアドレスレジスタＲＡｘ内のアドレスを、そのシフトされたアドレスレジスタＳＡｘ内のアドレスとの同等性で比較する。それらの２つのアドレスが異なっていると評価機構が決定するならば、それはこれ以上の処置を取らない（ＩｎＰｏｒｔ２及びＩｎＰｏｒｔ３に関する評価機構の状態を参照すること）。他方、その要求されたアドレスとその中へシフトされたアドレスとが同じであると評価機構が決定するならば、それは、その入力ポートにおけるパケットがもう１つの入力ポートにおけるパケットと競合しているかもしれないと結論する。産物の優先権値及びトラフィック形式は、競合するパケットのレベルを増大させる。我々は、ＲＰｘ及びＳＰｘ及びＲＲＢｘ及びＳＲＢｘを比較して、シフトされた要求が下位であるか、上位であるか、それとも同じ優先権であるかを決定する。優先権が同じであれば、それらのパケットの間に実際的な競合が存在することを確認するために、評価機構は、その要求された競合ビットＲＣ及びシフトされた競合ビットＳＣの状態を同等性に関して比較する。それらの２つのビットが同じ状態（両方ともが偽（「０」）又は真（「１」））を有するならば、評価機構は、その競合ベクトルビットＴの状態をチェックして、評価機構がサービスしている入力ポートの上又は下のいずれの入力ポートに競合するパケットが存在しているのかを決定する。競合者が下位の入力ポートにあるならば（真（「１」）状態にある競合ベクトルビット）、評価機構に直接的な処置は何も要求されない。他方、競合者が上位の入力ポートにあると評価機構が結論するならば（まだ偽（「０」）状態にある競合ベクトルビット）、評価機構は、そのカウンタＣＮＴＲを増分し、競合が解決されたという事実を競合者に報告する。
【００６０】
このステップ及び比較プロセスは、各々のアービトレーション・サイクルに関して少なくともＮ−１回（ここで、Ｎは入力ポートの数である）繰り返される。いずれかの評価機構のカウンタＣＮＴＲがそのプロセスのいずれかのステップの間にあふれるならば、その評価機構に関する留保競合フラッグビットＦは、真（「１」）状態へセットされ、それによって、その評価機構の競合フラッグビットＦＣをも真（「１」）状態へセットすることになる。
【００６１】
所望されるならば、アービトレーション・サイクルの終結の信号を送るために補足的なステップ・オペレーションが実行されても構わない。アービトレーション・サイクルの終結において、評価機構は、それらの留保競合ビットＦがまだ偽である場合に限って、真（「１」）許諾信号をそれらのそれぞれの入力ポートに返還する。そのような許諾を受け取ったいずれの入力ポートも、そのＨＯＱパケットをスイッチング構造の中へ解放し、指定された出力ポートへルーティングさせる。理解されるであろうが、各々の評価機構は、その留保競合ビットＦをもその関連する入力ポートに返還する。従って、入力ポートが偽（「０」）の許諾及び真（「１」）の留保状態ビットを同時に受け取るならば、入力ポートは、その現行のＨＯＱパケットを次のアービトレーション・サイクルのために保持する。
【００６２】
アービトレーション・セッションの第２及び後続のアービトレーション・サイクルは、第１のものと同様である。即ち、評価機構内に記憶される要求されたアドレス及び要求された競合フラッグビットは、アドレス及び競合状態データの２次元配列を提供し、これに対して、循環するシフトされたアドレス及びシフトされた競合フラッグビットによって提供されるアドレス及び状態データが入力ポートのあらゆる対に関して同等性を比較されるのである。しかし、アービトレーション・セッションを完了させるために補足的なアービトレーション・サイクルが要求されるときには必ず、そのカウンタＣＮＴＲをあふれさせた（図８を参照）いずれかの評価機構における先行するアービトレーション・サイクルの完了に先立って、競合フラッグビットＦＣが真（「１」）状態へセットされる。このフラッグビットＦＣは、続いて、次のアービトレーション・サイクルのためのその初期設定（図を参照）の間に、その評価機構の要求された競合ビットＲＣ及びシフトされた競合ビットＳＣの中へコピーされ、それによって、未解決の競合がアービトレーション・セッションの後続のサイクルの間に頂部から底部へのラウンドロビン順序で解決され続けることを保証することになる。
【００６３】
要求されたアドレスとその中へシフトされたアドレスの間に同等性が存在することを発見する評価機構は、それが、シフトされたアドレスには真（「１」）のシフトされた競合フラッグビットＳＣが随伴されていることと、それ自体の要求された競合フラッグビットＲＣが偽であることを発見するならば、そのインセッション・ビットを偽（「０」）状態へリセットする。
【００６４】
本発明はバッチャ／バニヤンＡＴＭスイッチング構造のためのアービトレーション・プロセスを特に参照して説明されてきたが、それがクロスバー・アーキテクチャを有するもののようなＡＴＭスイッチング構造のその他の形式のためのアービタにおいて採用され得ることは明白であろう。幾つかのＡＴＭスイッチング用途に関しては、クロスバー・アーキテクチャの交換器構造が好適である。
【００６５】
更に一般的に、熟練技能者は、本発明の多くの機構がＩＰ（インターネット・プロトコル）ネットワーク及びフレームリレー・ネットワークのようなパケット交換式ネットワークのその他の形式に関するアービトレーション分散型多重化に対して適用可能であることを認識するであろう。従って、「アービトレーション分散型多重化ポイント」を、アービタの制御を受けて１つ又はそれ以上の出力に対して複数の入力の多重化されたアクセスを提供し、このアービタが、続いて、入力を横断して分散される入力待ち行列の中に存在するアクセス要求の間をアービトレーションするようにしたシステム又はサブシステム（本文では、集合的に「システム」と呼ばれた）であると定義することが適切である。
【図面の簡単な説明】
【図１】  階層的なＡＴＭネットワークを概略的に示している。
【図２】  ＡＴＭ交換器を概略的に示している。
【図３】  ＡはＡＴＭセルのための通常のフォーマットを示している。ＢはＡＴＭセルの典型的な交換器ヘッダを示している。
【図４】  バッチャ・ソーティング要素を概略的に示している。
【図５】  バッチャ・ソーティング要素のオペレーションを示す有限状態機械である。
【図６】  図４で示された形式のソーティング要素の再帰的な組合せから構成されるバッチャ・ソーティング・ネットワークを概略的に示している。
【図７】  バニヤン・ルーティング・ネットワークを概略的に示している。
【図８】  本発明を実行するものとして適切である予約リングの簡略化された概略図である。
【符号の説明】
２１  ネットワーク、２２  交換器、２３  交換器、２４  交換器、２５  交換器、２７  ＡＴＭセル、３１  供給元、３２  供給元、３３  宛先、４１  バッチャ／バニヤン・ネットワーク、４２  バッチャ・ソーテイング・ネットワーク、４３  バニヤン・ルーテイング交換器、４４  バニヤン・ルーテイング交換器、４５  バッファ、４６  予約リング、４８  コピーネットワーク、５０  記憶装置、５１  バッファ、５２  バッファ、５３  ＶＣＩ交換機構、５４  ＶＣＩテーブル参照用記憶装置、６２  ソーテイング要素、６５  バッチャ・ソーテイング・ネットワーク、７１  バニヤン・ルーテイング・ネットワーク、７２  スイッチング要素、７５  線形収縮配列
【図１】
0003787011.tif 000002
【図２】
0003787011.tif 000003
【図３】
0003787011.tif 000004
【図４】
0003787011.tif 000005
【図５】
0003787011.tif 000006
【図６】
0003787011.tif 000007
【図７】
0003787011.tif 000008
【図８】
0003787011.tif 000009