JPH07321823A - マルチキャスティング機能を備えた装置 - Google Patents
マルチキャスティング機能を備えた装置Info
- Publication number
- JPH07321823A JPH07321823A JP10282695A JP10282695A JPH07321823A JP H07321823 A JPH07321823 A JP H07321823A JP 10282695 A JP10282695 A JP 10282695A JP 10282695 A JP10282695 A JP 10282695A JP H07321823 A JPH07321823 A JP H07321823A
- Authority
- JP
- Japan
- Prior art keywords
- output
- cell
- vcn
- block
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/104—Asynchronous transfer mode [ATM] switching fabrics
- H04L49/105—ATM switching elements
- H04L49/108—ATM switching elements using shared central buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
- H04L49/203—ATM switching fabrics with multicast or broadcast capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/255—Control mechanisms for ATM switching fabrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
Abstract
複して記憶することなくマルチキャスティングを行な
う。 【構成】受け取ったセルのセル本体をメモリに記憶する
とともに、そのアドレスを含むセル詳細(65)を待ち
行列ブロック(63)に記憶する。ブロックの出力制御
装置(69)が出力ストリームごとにセル詳細を参照す
る複数のポインタ(68)を備え、複数の出力ストリー
ムが処理の進行に応じて1つのセル詳細の別の箇所を参
照し、これに基づいてセル本体を取り出し送信する。
Description
ットまたは"セル"を含む)パケットをマルチキャスティ
ングするためのマルチキャスティング装置に関するもの
で、特に、セル・マルチキャスティング機能を有するA
TMスイッチに関するものである。
同期伝送モードの略称で、以下ATMと呼称する)は、
厳密に一定間隔で物理媒体上に出現するという意味にお
いて同期的である固定サイズ・セルを使用して、ある1
つのネットワークにわたってデータを転送するためのマ
ルチプレクシング(多重化)およびスイッチングの技術
である。各セルは、ペイロード部分とヘッダからなり、
後者のヘッダには、ネットワーク終端の送信システムと
受信システムとの間における通信インスタンスにセルを
関連づけるラベルが含まれる。この通信インスタンスに
は、1つの送信終端システムからおそらく複数の受信終
端システムへ多数のセルを転送することが含まれる場合
がある。同一の通信インスタンスに属する複数セルが必
ずしも一定間隔で出現しないという意味において、AT
Mは非同期的である。
ルは、固定サイズの文脈依存ラベルである。すなわち、
それらラベルは、解読ネットワーク・ノードにおいて予
め定められた文脈情報に照らしてのみ解釈可能であり、
ラベルは、一般的に、あるノードにおいて次のノードに
必要とされるラベルによって置き換えられる。言い換え
ると、ATMは、通信の各インスタンスが各ノードにお
ける適切なラベル情報を確立するための設定段階を必要
とする仮想回線技術である。
が、その理由は、ATM技術によって、(回線交換技術
に通常関連する)適時特性と(パケット交換技術に関連
する)統計的利点を結合する上で許容可能な妥協を図れ
る点にある。ATMは、音声、エンターテイメント(娯
楽)サービスまたはコンピュータ・トラフィックを含む
すべてのタイプのトラフィックを搬送するための単一の
伝送モードを提供する。
施上の詳細事項にとらわれることなく一般的にATMシ
ステム(および他のシステム)に適用できるものであ
る。しかし、以下の説明において、CCITTおよびA
TMフォーラム(前者は主としてパブリック・ネットワ
ークに関するもので、後者はコンピュータ関連ユーザ・
ネットワークに関するものである)によって推進されて
いる現在進展中のB−ISDN ATM規格を特に参照
する。
囲においてさえ、各セルのヘッダ部分に含まれる情報の
意味論は、ネットワーク上でセルが(その末端か内部か
に)出現する場所とネットワーク終端システムにおいて
ATMセルを処理するために配置されるATM適合層の
特性に依存して変わる。特記しない限り本発明の以下の
説明において記述するセルの形式は、AAL5サービス
のためのB−ISDNUNI(ユーザ・ネットワーク・
サービスUser Network Interface)である(ここで"A
AL"は、ATM適合層(ATM Adaption Layer)を指
し、"AAL5"は、コンピュータ通信に適した接続指向
の可変ビット伝送速度非同期通信サービスを意味す
る)。
幅形式で示している。図に見られる通り、セルは、5バ
イト長のヘッダとユーザ・データの48バイト長ペイロ
ードで構成されている。ヘッダ・フィールドは、次の通
りである。 −GFC 4ビット 一般フロー制御(General Flow C
ontrol)フィールド −VPI 8ビット 仮想経路識別子(Virtual Path I
ndicator)フィールド −VCI 16ビット 仮想チャネル識別子(Virtual Ch
annel Indicator)フィールド −PT 3ビット ペイロード・タイプ(Payload Ty
pe)フィールド −EOP 8ビット パケット終了(End of Packet)フ
ィールド −HEC 8ビット ヘッダ・エラー・チェック(Head
er Error Check)フィールド VPIとVCIはともに、特定リンク上のセルのための
仮想回線ラベルを形成し、このラベルは、セルが遭遇す
る次のネットワーク・ノードでセルの行先経路が定めら
れる基礎情報となる。一般的に、ATM用語において、
仮想回線は、"仮想チャネル"と呼ばれ、VPIは、ある
リンク上の1つの仮想チャネル・グループを識別するも
のとみなされ、一方、VCIは該グループ内の特定の仮
想チャネルを識別するものである。
の適用業務データ・ユニット(パケット)を構成する一
連のセルの最後のセルであることを識別するために使わ
れる。このようにパケットの最後を明示する情報をセル
・ヘッダに保有することの利点は、1つの構成セルが消
失した場合、パケットを構成しているすべてのセルを破
棄することを可能にすることである。
ノードに到着するATMセルは、セル・ヘッダに記憶さ
れるVPIとVCI情報および設定時に設定される文脈
情報に従って、経路を再指定(すなわちスイッチ)され
る。VPIとVCI情報は、変更され、セルは出力され
る。そのようなノードは、一般に、ATMスイッチと呼
ばれ、概念的にNポートのスイッチ・コアを含む。この
Nポートのスイッチ・コアは、取り扱うセルに関し以下
の動作を実行する役目を有する。 −どのセルがどのチャネルに属するかを決定すること、 −セルの行先チャネルを決定しそこへ配送すること、お
よび、 −適切な出力ポートに対する複数のアクセス要求を仲裁
すること。 スイッチは、また、チャネル設定と管理機能を分担する
ある種のプロセッサ装置と、該スイッチのそれぞれの外
部ポートに接続されるリンクにスイッチ・コアをインタ
ーフェースさせるためのインターフェース回路とを含む
こともあろう。
に設計され、そのため、該スイッチは、本来的かまたは
統計的かいずれにしても低域幅である複数のリンクをサ
ービスすることが可能である。この場合、複数のリンク
は、スイッチ・コアに供給される前にマルチプレクスさ
れ、反対に、スイッチ・コアの出力は、適切なリンクに
渡すためデマルチプレクスされる。
り、該スイッチを通過するすべてのセルを一時的に記憶
するために共有メモリが使われている。更に詳細に言え
ば、多数の入力リンク4が、スイッチ・コア2にセルを
供給するマルチプレクサ(MUX)1に接続され、該ス
イッチは、デマルチプレクサ(DEMUX)3に出力セ
ルを出力し、それらセルはデマルチプレクサによって適
切な出力リンク5に分配される。一般に入力リンク4と
出力リンク5は対にされる。
セルをスイッチ・コア2に周期的に渡す。各セルは、分
割機構6によって、ライン7を通ってヘッダ変換機構1
0へ渡される該セルのヘッダと、ライン9上に出力され
るセル本体とに分割される。
るVPI+VCI情報をマルチプレクサ1からライン8
を通って渡されるリンク識別情報とともに検査する。こ
の情報を基に、ヘッダ変換機構10は適切なVPI+V
CIを持つ新しいヘッダを生成し、セル本体を搬送する
ライン9が接続している結合機構12へライン11を通
してこのヘッダを渡す。結合機構12は、渡されたセル
・ヘッダと本体を再び結合してセルを作成し、該セルを
ライン14に出力されるアドレスを用いて共有メモリに
記憶する。各出力リンク毎に、対応する出力待ち行列1
6がスイッチ・コア内に維持される。各セルが共有メモ
リに記憶されると、対応するアドレスが、そのセルにつ
いて該当する出力待ち行列16に渡されるが、この出力
待ち行列の識別情報が、ヘッダ変換機構からライン15
上に供給されることによって、該アドレスが正しい待ち
行列に記憶される。
力待ち行列16への問い合わせ(インクワイアリ)を周
期的に行い、各出力待ち行列が対応する出力リンクに向
けられる次のセルのアドレスを出力することを可能にす
る。各待ち行列からのアドレス出力は、ライン18によ
って共有メモリ13に与えられ、このため、対応するセ
ルがライン19上でデマルチプレクサ3に出力されるよ
うになる。次に、デマルチプレクサは、セルを適切な出
力リンク5へ向かわせる。
クチャがもつ1つの問題は、これが、マルチキャスティ
ングに(すなわち、1つのセルが数多くの異なる出力リ
ンクに出力されるべき形態に)うまく適応しないことで
ある。例えば、該当する出力待ち行列のすべてにセルの
アドレスを記憶させることによって、マルチキャスティ
ングが達成されるとすれば、そのために、セル・アドレ
ス記憶が幾度も行われなければならないだけでなく、特
定のセルが予定のリンクすべてに出力されたことを確認
するメカニズムを実行しなければならず、これは容易で
はない。図2の配置の別の欠点は、セル出力リンクに向
けられるセル(複数)は、関連出力待ち行列について先
入先出法を用いて取り扱われるという点である。
つは、International Switching Symposium, 1992にお
けるC. R. Kalmanek, S. P. Morganおよび R. C. Restn
ick IIIの3氏による"A High-Performance Queuing Eng
ine for ATM Networks(ATMネットワークのための高
能力待ち行列エンジン)"に記載されているXunet
スイッチである。このスイッチにおいては、各出力ポー
トは、それぞれ個別のメモリを持ち、該ポートに関連す
る出力ストリーム上に出力されるべきセル(複数)は上
記メモリに記憶される。しかし、出力ポートに供給され
るセル(複数)は、先入先出法で処理されず、ある種の
優先度に従ってスケジュールされる。さらに詳細に言え
ば、各出力ポートは、同じ出力ストリームすなわち同じ
VPI/VCI組合せと関連づけられるセル(複数)を
必要に応じて記憶するために使われる(永久割り当て
の)32Kビット出力待ち行列を持つ。各待ち行列は所
定の待ち行列番号QNを持ち、これらの待ち行列番号は
16個の異なる優先度リストに形成される。各待ち行列
番号は、すべての優先度リストで一度だけ現れる。スケ
ジュール機構は、次に送り出すセルを決定する際に、優
先度リストを参照し、リストの先頭の最も高い優先度を
持つ待ち行列番号を取り出す。次に、この待ち行列番号
は、対応するセル待ち行列にアクセスするため使用さ
れ、その待ち行列の先頭にあるセルが出力される。次い
で、待ち行列番号は、それが取り出されたものと同じリ
ストに戻されるとは限らないが、優先度リスト(複数)
に再回付される。
機能を提供する。しかしながら、Xunetでは、マル
チキャスティングに関して、マルチキャストされるべき
セルの各々を、関連する制御データとともに、対応する
回数複製しなければならない。
パケット本体を有する複数のパケットからなる入力スト
リームを少なくとも1つ受け取り、該入力ストリームの
複数パケットのパケット本体を複数の出力ストリームの
パケットへ複製することによって、複数のパケット出力
ストリームとして前記入力ストリームをマルチキャステ
ィングするための装置が提供される。該装置は、パケッ
トを受け取り、各パケットがどの入力ストリームに属す
るかを判断するための入力手段と、前記入力手段によっ
て受け取られたパケットのパケット本体、および受け取
られたパケット本体を受け取った順序で順序付けするた
めに使用される各入力ストリーム毎の順序データ・セッ
トを記憶するための記憶手段であって、新たなパケット
本体が記憶されると、該パケットが属する入力ストリー
ムの前記順序データ・セットを前記入力手段の判断に従
って更新する入力制御手段と、出力ストリーム上に送出
されるべき次のパケット本体を識別するため、各出力ス
トリーム毎に対応する入力ストリームの順序データ・セ
ットを参照する順序位置識別子を維持する出力制御手段
とを有する、記憶手段と、前記出力ストリーム上への出
力をスケジュールするため前記記憶手段の出力制御手段
と連係して現在スケジュールされている出力ストリーム
上へ次に出力すべきパケット本体を識別し、該識別した
パケット本体を取り出し前記現在スケジュールされてい
る出力ストリーム上へ出力するための出力手段と、を備
える。上記構成によって、出力ストリームの待ち行列
は、受け取られた入力ストリーム・パケットのリスト上
へマップされ、これにより、効率的かつ柔軟な制御構造
が提供される。
データ・セットは、前記記憶手段に別々に記憶され、前
記順序データ・セットは、それぞれ対応するパケット本
体をポイントするパケット本体ポインタと次のエントリ
をポイントする次エントリ・ポインタとを各々が持つパ
ケット詳細エントリのリストを含む。この場合、新たな
パケット本体が記憶されると、前記入力制御手段は、当
該パケットに対応する前記リストのパケット詳細エント
リのパケット本体ポインタを新たに記憶されたパケット
本体をポイントするようにセットすることによって、前
記リスト中の対応するパケット詳細エントリをセットア
ップする。各出力ストリーム毎に前記出力制御手段によ
って維持される順序位置識別子の各々は、当該出力スト
リームに関し次に送出されるべきパケット本体のための
パケット詳細エントリをポイントする。
る際に、該パケット詳細エントリが保有されている前記
パケット詳細リストに関連する入力ストリームからマル
チキャストされるべき出力ストリームの数を示す値に前
記入力制御手段によってセットされるマルチキャスト・
カウント項目をパケット詳細エントリの各々が持つよう
に構成することには利点がある。前記出力制御手段は、
前記出力手段が対応するパケット本体を出力する度毎に
該パケット本体がすべての該当出力ストリーム上へ出力
されるまで、前記パケット詳細エントリのカウント項目
を減分し、最後に、前記リストから当該エントリを削除
する。
入力識別子によって識別される。前記入力手段は、新た
に受け取るパケットが属する入力ストリームを識別する
入力識別子を該パケットに付与する。さらに、前記記憶
手段の入力制御手段は、前記リストの各々の最後部をポ
イントするリスト・ポインタを保持し、各入力識別子
と、入力識別子によって識別される入力ストリームに関
連する前記リストをポイントする前記リスト・ポインタ
との間の関連性を保持する。
ト関連情報を持たない最後部エントリを含み、前記入力
制御手段によって保持されるリスト・ポインタは、前記
最後部エントリをポイントするように構成される。この
場合、新たなパケット本体が記憶される際に、前記入力
制御手段は、該当するリストへ新たな最後部エントリを
追加し、それまで最後部であったエントリを新たなパケ
ット本体のためのパケット詳細エントリとして使用し、
制御手段は、該リストのリスト・ポインタをそれに応じ
て更新する。
よって識別される。前記出力手段は、前記出力識別子を
基に出力ストリームの出力スケジュールを行い、対応す
る出力識別子を出力することによって、次にスケジュー
ルされる出力ストリームを識別する送出制御手段を含む
ようにすることには利点がある。この場合、前記記憶手
段の出力制御手段は、各出力識別子と、該出力識別子に
よって識別される出力ストリームに関する順序位置識別
子との間の関連性を維持し、出力手段によって出力識別
子を付与されると、出力制御手段は、該関連性を活用し
て当該出力ストリームに関し次に出力されるべきパケッ
ト本体のためのパケット本体ポインタを取り出す。
ュール手段と該スケジュール手段に出力識別子を導出す
るための導出手段とを含む。該スケジュール手段は、前
記出力識別子を基に出力ストリームの出力スケジュール
を行い、次に出力すべき出力ストリームに対応する出力
識別子を出力し、その後そのストリームを該スケジュー
ル手段から取り除く。前記導出手段は、入力手段による
少なくともいくつかの新たなパケットの受領に応答し
て、それらパケットが属する入力ストリームに関連する
少なくともいくつかの出力ストリームの出力識別子を前
記スケジュール手段に導出する。前記スケジュール手段
において出力識別子が任意のある時点でただ1度だけ出
現するように送出制御手段は構成され、該送出制御手段
は、前記スケジュール手段によって最後に出力される出
力識別子に関連する順序データ・セットの状態に応答し
て、該順序データ・セットが当該出力ストリーム上に送
出されるべきパケット本体がなお存在することを標示す
る場合、前記スケジュール手段に当該出力識別子を戻
す。
いて、前記パケット本体は各々、前記記憶手段において
ただ一度だけ記憶され、前記順序データ・セットは、対
応するパケット本体をポイントするポインタを含むエン
トリを持ち、該エントリのそれぞれは、同時に使用され
る順序データ・セット(複数)においてただ一度だけ存
在し、各出力ストリームは、それぞれの出力識別子によ
って識別され、前記出力手段は、出力識別子を基に出力
のスケジュールを行う送出制御手段を含み、前記出力識
別子の各々は、前記送出制御手段の中で任意の一時点で
一度以上は存在しない。本発明は、(各パケットが固定
長セルである)マルチキャスティングATMスイッチの
実施に特に適している。
スイッチ・コアを備え、このNポートのスイッチ・コア
は、スイッチ・コアのポートそれぞれに関連付けられる
マルチプレクサ/デマルチプレクサ機構を介して低速リ
ンクとインターフェースされる。スイッチ・コアは、1
度に1つのポートを処理するため周期的にポートをサー
ビスして新しいセルを持ち込む。従って当アーキテクチ
ャで実施されるマルチプレクサ/デマルチプレクサに2
つのレベル(当然N=1の場合を除いて)が存在する。
発明を実現するスイッチは、大きく見て3タイプの主要
ブロックから構成されている。中央には、Nポートのス
イッチ・コア20があり、スイッチ・コアの各ポート2
1は、例えば622Mビット/秒という予め定められた
速度で動作する。アダプタ・カード22が、各ポート2
1に接続している。アダプタ・カード22の各々は、多
数の比較的低速の外部スイッチ・ポート23をスイッチ
・コアのポートへインターフェースする(図でI/Fと
表示)。最後に、プロセッサ装置24があって、これ
は、信号生成と仮想チャネル設定機能を実行する。
イッチ・コアのポートは、622Mビット/秒で動作す
るものとするが、上記特定のポート速度は本発明にとっ
て必須のものではなく、それより低いまたは高い速度も
可能である点は認識されるべきであろう。
共有」のアーキテクチャである。これは、いかなる資源
も特定ポートやバッファに占有されず、論理部分は中心
に集められていることを意味する。従って、アダプタ・
カードは、殆どバッファ機能と知能を備えていない。
つの主要ブロック(スイッチ・コア20、アダプタ・カ
ード22、プロセッサ24)へクロック信号を送り、局
所スレーブ・クロック26が適切な局所クロック信号を
生成する。この配置は、クロック速度が予め定められた
一定の関係を有することを保証する。ライン27は、プ
ロセッサからのグロ―バル同期化信号をプロセッサ・ブ
ロック24からスイッチ・コア20とアダプタ・カード
22へ送り、動作開始時点における各ブロックの動作を
同期化させる。
ックについて詳細な説明を行う。Nポート・スイッチ・コア20 図4には、Nポートのスイッチ・コア20のブロック図
が示されていて、図に見られるように、スイッチ・コア
は、一般に対となってスイッチ・コアのポートを構成す
る入力/出力ポート37、38、セル本体共有メモリ3
1、空きアドレス・リスト・メモリ32、コントローラ
33、および、コントローラとの間で送受信されるセル
のATM適合層およびその他高位通信層処理を実行する
ための通信ブロック34(これにより当該スイッチが一
部をなすネットワーク上でコントローラがセルを通信す
ることが可能となる)を含む。
る。N入力ポート37は厳密な順序で一度に1つのセル
をサービスされる。1つのセルが入力ポートの1つに到
着すると、ファブリック(送受信機構、以下ファブリッ
クという)30が、空きアドレス・リスト・メモリ32
から取り出したアドレスを用いて、セル本体をセル本体
共有メモリ31に書き込む。このアドレスは、また、当
該セルのヘッダとともに、コントローラ33に渡され
る。入力ポート37が固定的順序でサービスされるた
め、コントローラ33は、ヘッダの到着時間からセルの
発信ソース(入力ポート)を特定することができる。
セル本体アドレスとを記憶し処理する。コントローラは
また、(後述する)待ち行列モデルとスケジュール規則
を基に各出力ポート38上にどのセルを次に送信すべき
かを決定する。セルを送信するため、コントローラは、
当該セルの本体が記憶されているアドレスと当該セルの
ヘッダとを出力する。ファブリック30は、セル本体共
有メモリ31からセル本体を読み取り、それをヘッダと
組み合わせてセルを作成し、このセルを出力ポートに送
出する。出力ポートもまた固定順序でサービスされるの
で、コントローラがヘッダとアドレスを送出する時間に
よって、セルの宛先は決定される。アダプタ・カード2
2が接続するスイッチ・コアの主ポート(入力/出力ポ
ート対37,38)の他に、ファブリック30は、2つ
の低速ポートをサポートする。その1つは、セルを送受
信するためプロセッサ24によって使用されるプロセッ
サ・ポートであり、もう1つは、通信ブロック34を通
してフロー制御セルを送受信するためにコントローラに
よって使用されるコントローラ・ポートである。
3の帯域幅は、ポートの最大速度ですべての入力ポート
37からセルを受け取り、すべての出力ポート38にセ
ルを送り出すことを実施するのに十分なものである。ス
イッチ・コア20の構成エレメントのクロック動作は、
局所クロック機構26によって制御される。
細に考察すると、所与のスイッチ・コアの主ポート速度
(622Mビット/秒)での連続的セル到着の間隔をT
とすれば、Nポートのスイッチ・コアに関して、ファブ
リック30は、期間T毎に、N個のセルを、すなわち、
スイッチ・コア入力ポート37の各々から1つのセルを
受け取る能力を持たなければならない。同様に、該ファ
ブリックは、期間T内にN個のセルを、すなわち、出力
ポート38の各々毎に1つのセルを送信する能力を持た
なければならない。ファブリック30はまた、プロセッ
サ・ポートとコントローラ・ポートを経由するセルの伝
送を処理する能力を有していなければならない。
を基本的に含み、このシフト・レジスタでのシフトによ
って、セルの転送が、主スイッチ・ポートを経由して、
すべてのポートに対して同時に実行される。ファブリッ
ク30のシフト・レジスタと共有メモリ31との間のセ
ル本体データの転送とコントローラ33とのセル・ヘッ
ダの転送は、各ポートを順番に取り扱う所定周期の転送
に従ってシフト・レジスタとの並列転送によって実行さ
れる。
転送するために必要となる一般的プロセスは、先ず、セ
ル・ヘッダがファブリックにシフトされ、セル本体が続
くというものである。セル本体がシフトされている間、
セル・ヘッダは、コントローラへ送出され、引き続くセ
ル本体のメモリ31への転送の間に、当該ポートに関す
る次のセルのヘッダが、ファブリックにシフトされる。
セルの出力に関して、同様であるが反対のプロセスが行
われる。
りは、転送サイクルは、単純に各主スイッチ・ポートを
順番に進む(例えば入力ポート37が4個、出力ポート
39が4個ある場合、転送サイクルは、先ず各入力ポー
トをサービスしてセル本体データをメモリ31へ転送
し、次に各出力ポートをサービスしてデータをメモリ3
1からファブリックへ転送する)。メモリ31とコント
ローラ/プロセッサ・ポートに関連付けられたシフト・
レジスタとの間のセル本体データの転送は、スイッチ・
コアの主ポートに関するセル転送サイクルのうちの予め
定められた冗長部分においてファブリックによって取り
扱われる。
間のセル・ヘッダの転送は、コントローラ33が逐次ヘ
ッダを受け取り出力することができる(コントローラが
その処理を逐次遂行する)ことを前提に、セル本体の転
送と同様の転送サイクルをとることができる。したがっ
て、コントローラ/プロセッサ・ポートは、コントロー
ラによって実行される全般ポート・サービス・サイクル
において、それ自身のスロット(時間間隔)を割り当て
られなければならない。もちろん、コントローラ/プロ
セッサ・ポートは、スイッチ・コアの主ポートのように
頻繁にサービスされることはなく、一般に、プロセッサ
/コントローラ・ポートが主ポートの1/nの速度で動
作するとすれば、プロセッサ/コントローラ・ポート
は、主ポートのn回のサービス毎に一度だけサービスさ
れる。結果として、全般ポート・サービス・サイクル
は、P1からP4の4つの主ポートを持つスイッチ・コ
アに関して図5で示されるようになり、コントローラ3
3へのヘッダの入力とコントローラからのヘッダの出力
との両方に適合する(実際には、サイクルは、入出力に
関して同じである必要はないが、一般的にはそのように
なる)。
は、セル本体をメモリ31に記憶するために使われるア
ドレスによって、その対応するセル本体と関連づけら
れ、これらのアドレスは、ヘッダ・データとともにコン
トローラ33に記憶される。セル本体が記憶されるアド
レスは、正しいヘッダとともに記憶されることを保証す
るため適切なタイミングでコントローラ33に供給され
なければならない点は認識される必要がある。
の主ポートを通して供給される特定のセルが空のセル
(さらに正確にいえば無視されるべきセル)である可能
性があり、この条件は、セル・ヘッダのVPIとVCI
の値がゼロにセットされることによって示される。この
ようなセルの存在は、セル本体のメモリ31への転送ま
たはセル・ヘッダのコントローラ33への転送の処理を
変えることはなく、コントローラ33は、セル・ヘッダ
のVPIとVCIがゼロであることを発見次第、セル本
体が記憶される関連アドレスを空きアドレス・リスト・
メモリ32へ単に戻すだけであり、メモリ31それ自体
においてなにかの措置を講ずる必要はない。
/出力ポートをスイッチ・コアの1つのポートに結合す
る。1つのアダプタ・カード上の外部入力/出力ポート
(複数)は、複数リンクの帯域幅の総和がスイッチ・コ
アのポート速度より小さいことを前提に、それらリンク
の任意の組合せで構成することができる。例えば、スイ
ッチ・コアのポート速度が622Mビット/秒であれ
ば、アダプタ・カードは、12個の51Mビット/秒ポ
ート、または4個の155Mビット/秒ポート、また
は、3個の155Mビット/秒ポートと1個の100M
ビット/秒ポートと1個の5lMビット/秒ポートの混
合のいずれかを含むことができる。
ある。ほとんどの場合、アダプタ・カードはそれが扱う
セルの内容を見ることはない。その1つの例外は、各セ
ルのヘッダ・エラー・チェック(HEC)フィールドで
あり、それは、送信されるセルに関してはアダプタ・カ
ードによって生成され、受信されるセルに関してはアダ
プタ・カードによってチェックされる。もしもHECが
到来するセルに関しエラーを示していれば、アダプタ・
カードは該セルのVPIとVCIフィールドをゼロにセ
ットすることによって該セルを空セルに変える。
の例では、5つの外部低速ポートAからEがスイッチ・
コアの1つのポートにインターフェースするように設計
されている。明示の目的のため、ポートAのコンポネン
トのみが図示されている。アダプタ・カード22は以下
のエレメントを含む。 −ポートAからEの各々に対するそれぞれの物理層/フ
レーム機構(PHYS)40。機構40は、上述のヘッ
ダ・エラー・チェック機能を実行する。 −ポートAからEの各々の入力側に対する小規模の(セ
ル2つ分の)入力先入先出機構(FIFO)41。この
FIFOは、入力ポートの転送速度をスイッチ・コアの
ポートに合致させる。 −対応する入力FIFO41の内容が1個のセルに等し
い分量以下であることを検出するための入力検出機構4
2。 −ポートAからEの各々の出力側に対する小規模の出力
先入先出機構(FIFO)43。このFIFOは、スイ
ッチ・コアのポートの転送速度を出力ポートのそれに合
致させる。 −対応する出力FIFO43の内容が1つのセルに相当
する分量を越えることを検出するための出力検出機構4
4。 −入力ポートの各々からのセルをスイッチ・コア入力ポ
ート37へマルチプレクスする時分割マルチプレクサ4
5。セルは、入力ポート・ロータ機構46に保持される
所定のポート順で周期的に送られる。ポート・ロータ周
期の開始は、グロ―バル同期化信号によって指示され
る。 −対応するスイッチ・コア出力ポート38からセルを取
り出し、それらを適切な出力ポートAからEへ送るデマ
ルチプレクサ47。セルは、グロ―バル同期化信号に同
期化されるプログラム可能出力ポート・ロータ機構48
に保持される所定の順序で到着する。 −局所クロック26。
レクサ47との間の、他方ではそれらとスイッチ・コア
のポートとの密接な機能的関連性のために、マルチプレ
クサ45とデマルチプレクサ47は、スイッチ・コアの
ファブリック30との間のセルの転送を同期化させるた
め、スイッチ・コアのポートから供給されるクロック信
号を使用する。
けられる外部ポートの累積速度より若干速い速度で転送
動作を行う(上記外部ポートの外側はそのようにセット
されたクロック信号を局所クロック26から受け取
る)。このようにすることの1つの理由は、外部ポート
に接続するリンクの実際の速度をその公称値から変動す
ることができるようにするためである。スイッチ・コア
のポートのこのような速度超過は、入力FIFOが、満
たされるより速く空にされることを意味する。具体的に
は、あるFIFO41の内容量が、1つのセルに相当す
る量以下の場合、入力検出機構42はマルチプレクサ4
5に信号を送り、空セル挿入機構49をして空セルを生
成し適当な時間にコントローラへ送るようにさせ、入力
FIFOは再び収納を始める。
り速く満たされる。これは、関連出力検出機構44が関
連するFIFO43の内容量が1つのセルより多くなる
ことを検出し、コントローラ33へ相応の標識を送信す
ることによって取り扱われる。この標識を、対応する外
部ポートへセルを送信する準備をしているコントローラ
33が検知すると、該コントローラは、外部ポートへ空
セルを送る。デマルチプレクサ47の機構50はこの空
セルを検出し削除するため配置され、FIFO43は空
にされる。
タによって確立される外部ポートのサービス順序を次に
考察すると、明らかに、より高速のポートは、より低速
のポートよりも一層頻繁にサービスを必要とする。一般
的意味において、最低速度のセル間隔が、ポート・ロー
タの全般的サイクル・タイムをセットするため用いら
れ、この最低速度ポートは、上記サイクル中一度だけサ
ービスされることを必要とし、一方、より高速のポート
は、2回以上のサービスを必要とする。図7は、図6の
アダプタ・カードに関する可能なポート・ロータを図示
している。関連するスイッチ・コアのポートの各セル期
間(ピリオド)T毎に、ポート・ロータに従って、1つ
のセルが、外部ポート(AからD)からスイッチ・コア
のポートへ、また、スイッチ・コアのポートから外部ポ
ート(AからD)へ、転送される。
ーラ33中のデータ構造を処理することによって、仮想
チャネル接続設定と管理を実行する。プロセッサはま
た、電源投入時にコントローラ・データ構造を初期化す
る。
置24はスイッチ・コアに対するインターフェースを2
つ有する。第1は、スイッチ・ファブリックのプロセッ
サ入力/出力ポートを通してのセル・インターフェース
であり、これにより、プロセッサがあたかもアダプタ・
カード上の入力/出力ポートの1つに接続しているかの
ように、セルを送受信することが可能となる。
自体に直接かかわるもので(図4参照)、プロセッサが
コントローラの内部データ構造にアクセスすることを可
能とし、そのため、仮想チャネル・データを設定し修正
することができる。空のセルを受け取ったためコントロ
ーラがアイドル状態の間、プロセッサはコントローラに
アクセスする。十分な空セル(複数)が受け取られるこ
とを保証するため、スイッチ・コアは、入力/出力ポー
トに対処するため必要となる速度より若干(約10%)
速く動作し、この結果、アダプタ・カードFIFO41
は周期的にそのしきい値(1つのセル相当量)以下に内
容を減らし、空セル挿入機構49を動作させる。
タ構造に対し全面的なアクセスを行うが、セル本体共有
メモリへのアクセスは行わない。
置24の一般的動作は従来技術の既知の方法に従うもの
であるから、これ以上の説明は行わない。プロセッサ装
置24によって設定され修正される実際のコントローラ
・データ構造の識別と特性は、以下のコントローラにつ
いての説明から明白になる。
構造とプロセスを詳細に記述する前に、その動作に関わ
る主な概念を、図8を参照しながら考察する。以下の説
明で明白になる通り、マルチキャストがコントローラで
取り扱われる方法は、アーキテクチャ全体にとって核心
をなすものである。
が受け取られたかを知ることは、各ヘッダ中の(VPI
+VCI)情報がリンク単位でのみユニークであるた
め、コントローラ33にとって不可欠である。従って、
外部ポート識別は、当該スイッチを経由の特定の通信に
適切なものとしてセルをユニークに識別するために必要
である。コントローラに適切な外部ポート識別を通知す
る1つの方法は、アダプタ・カードが各セル・ヘッダに
タグを付けることである。しかし、各アダプタ・カード
がその関連外部ポートをサービスする順番とこれらのア
ダプタ・カードが対応するスイッチ・コアのポートを通
してサービスされる順番の両方が、あらかじめ定められ
ているので、本発明のコントローラでは別の方法を使う
ことが可能である。従って、本コントローラにおいて
は、セル・ヘッダに関連付けられる外部ポート識別は、
ヘッダが受け取られる時間を基にコントローラによって
決定される。更に云えば、セル・ヘッダがスイッチ・コ
アに接続するすべてのアダプタ・カードの外部ポートか
ら受け取られる順番を標示する外部ポート・ロータが取
り出され、その後、コントローラ33とマルチプレクサ
45は、前述のグロ―バル初期化信号によって初期的に
同期化されているので、コントローラ33が、アダプタ
・カードのマルチプレクサ45の動作との調整を図りな
がらこのロータにアクセスする。外部ポート・ロータそ
れ自体は、図5で示される(セル・ヘッダがスイッチ・
コアのポートからコントローラに渡される順番を示す)
スイッチ・コアのポートのサイクルと各アダプタ・カー
ドに関する外部ポート・サービス(図7参照)との組合
せである。この組合せは、対応するスイッチ・コアのポ
ートがスイッチ・コアのポートのサイクルに出現する度
毎に、アダプタ・カードに関し次のエントリを外部ポー
トのサービス・サイクル上にとることによって実効を生
じる。かくして、アダプタ・カードに接続するスイッチ
・コアのポートP1を持つ図5のポート・サイクルを有
するスイッチ・コアに関して、図5のサイクルでのポー
トP1の連続的サービスは、図7のサイクルに従った外
部ポートAからEの連続的サービスと関連づけられる。
コアに接続しているアダプタ・カードのポート構成に依
存する。このため、外部ポート・ロータは、スイッチの
動作開始時にプロセッサが各アダプタ・カードを調べて
その外部ポート・サービス・サイクルを見出すことによ
って決定される。次いでプロセッサ装置24は、コント
ローラ33の適切なデータ構造60Aに上記ロータを記
憶し、コントローラが必要に応じてロータにアクセスす
ることができるようにする。
しいセル・ヘッダ各々のソースをコントローラが判定す
るために必要とされるのみならず、外部ポートがスイッ
チ・コア出力を行うことができる所定の順序でヘッダの
出力を調整する(これは、アダプタ・カード上のファブ
リック30とデマルチプレクサ47の結合動作によって
決定される)ためにも必要とされる。既に注記のとお
り、ポートが入力と出力に関しサービスされる順番は必
ずしも同じである必要はないが一般的には同じである。
本発明の場合においては、外部ポート・ロータの同じ一
般的形式が、入力と入力とに使用される。図8において
外部ポート・ロータは60Aと60Bとして示されてい
る。
に識別するため、仮想チャネル番号(VCN)がコント
ローラによって使われる。どの入力仮想チャネルも"マ
スタVCN"と呼ばれるそれ自身のVCNを持ち、どの
出力仮想チャネルも、それ自身の"出力VCN"を持つ。
従って、本スイッチによる各ユニキャスト(単一キャス
ト)接続に関しては、1つのマスタVCNと1つの出力
VCNが存在し、一方、各マルチキャスト接続グループ
毎に、1つのマスタVCNと複数の出力VCNが存在す
る。ユニキャストについては、マスタVCNを出力VC
Nとしても使用する便法があり、マルチキャストの場合
でも、便法として、マスタVCNを出力VCNの最初の
1つとして使用することができる。
トの識別と組み合わせてセル・ヘッダの(VPI+VC
I)から取り出される。最初に、コントローラ33に渡
される各セル・ヘッダがそのマスタVCNを決定し(図
8のブロック61参照)、次に、このマスタVCNが、
コントローラにおけるヘッダの待ち行列を制御するため
に使われる。出力VCNは、接続を設定する際にプロセ
ッサ装置によって割り当てられ、出力の待ち行列化とス
ケジュールを実行するために使用される。出力VCN
は、コントローラの適切なデータ構造においてその対応
するマスタVCNと関連づけられ、そのため、両方向、
すなわち、マスタVCNから対応する出力VCNへと出
力VCNを対応するマスタVCNへと、変換することが
可能となる。
る。1つは、セルの詳細(すなわち、各セルに関し、一
定のセル・ヘッダ・データおよび対応するセル本体アド
レス)を待ち行列に入れるための経路であり、他方は、
コントローラからのセル・ヘッダの出力を制御するため
出力VCNを待ち行列に入れ、スケジュールするための
経路である。
のマスタVCNの検索の後、当該セルのセル詳細を記憶
できるかあるいは破棄すべきかをチェックするための監
視ブロック62と、セル詳細待ち行列ブロック63と、
出力されるべき次のヘッダに関するセル詳細をブロック
63から受け取り、(新しいVPI+VCIを検索する
ことを含み)新しいヘッダを生成し、その新しいヘッダ
と対応するセル本体のアドレスとを出力する出力ヘッダ
生成ブロック64とを含む。同じマスタVCNを持つセ
ル(すなわち同じVCソースからのセル)のセル詳細
は、ブロック63において記憶される同じリスト65の
待ち行列にすべて入れられる(各セルのセル詳細はそれ
ぞれのリスト・エントリとしてリスト65に記憶され
る)。リスト65は接続の設定の際プロセッサ装置によ
って空のリストとして作成される。各リスト毎に、セル
詳細入力制御66は、リストの最後部(エントリが追加
される場所)をポイントする作成者ポインタ67と、リ
スト65が空であるか否かを示す空きフラグとを維持す
る。(上記リスト65は、順序データ・セットとも呼ば
れる)。
Nに関する到来セル・ストリームに関してなお送出され
るべき最も古いセル詳細についてのセル詳細エントリが
ある。ユニキャストVCの場合は、先頭リスト・エント
リは、唯一の出力VCのため出力されるべき次のセルを
識別する。この先頭エントリは、セル詳細出力制御69
によって当該出力VCNのため記憶される順序位置識別
子すなわち使用者ポインタ68によってポイントされ
る。マルチキャストの場合は、当然各入力ストリーム毎
に複数の出力VCがあり、セルを出力する際に対応する
リスト65に応じて、各出力VC毎にその進行を追跡す
ることが必要である。これは、各出力VCNに関連付け
られるそれぞれの使用者ポインタ68を供給することに
よって達成される。実際に、それぞれのセル詳細待ち行
列70が、各出力VCNに対して保持され、この待ち行
列70は、対応する使用者ポインタ68によってポイン
トされている待ち行列の先頭と、当該マスタVCNに関
する作成者ポインタによってポイントされている待ち行
列の最後部を持つリスト65へマップされる。各マスタ
VCNに関連付けられるそれぞれのセル詳細リスト65
と、出力VCNに関しリスト65上へマップされるそれ
ぞれの待ち行列70を持つというこの概念は、セル詳細
待ち行列ブロック63の動作において重要なものであ
る。
9によって出力され、その結果対応する出力VCNのセ
ルが出力されると、待ち行列70に関する使用者ポイン
タ68は、待ち行列からそのエントリを除外するように
更新される。リスト65の先頭エントリが、リストにマ
ップされるすべての待ち行列70から除外されると、こ
のエントリは解放され、対応するセル本体アドレスが出
力制御69によって空きアドレス・リスト32上に戻さ
れる。
ッチ・ポートを通して本発明のスイッチからセルを出力
する順序は、出力仮想チャネルに関して設定された出力
VCNを基に動作する送出制御経路によって決定され
る。以下にさらに詳細に説明するが、リスト65が空き
から空きでない状態へ変化するときにかならず待ち行列
ブロック63の入力制御66によってそれ自身始動され
る出力VCN送出始動ブロック82によって、出力VC
Nはこの経路へ導入される。ブロック82を始動するこ
とには、当該リストのマスタVCNを当ブロックに渡す
ことが含まれる。始動ブロック82は、このマスタVC
Nを該マスタVCNに関連する出力VCNに変換する。
これらの出力VCNは、直前に空でなくなったリスト6
5にマップされる待ち行列70を有するVCNである。
従って、これら出力VCNは、セルが送出可能な状態と
なった仮想チャネルを表す。始動ブロック82は、送出
制御経路へ(特に資格制御ブロック77へ)これら出力
VCNを導入する。一旦出力VCNがこの経路に導入さ
れたならば、その出力VCNは、対応するセル詳細待ち
行列70が当該出力VCNに関して送出すべきセルがな
くなったことを標示するまで、周期的にセルの送信を促
進しながら経路の中を循環する。
格制御ブロック77とスケジュール・ブロック75であ
る。セル出力の実際のスケジュール決めは、各外部ポー
トに関するそれぞれの待ち行列構造(ブロック76参
照)を維持するケジュール・ブロック75によって実行
される。これら待ち行列構造の各々は、対応する外部ポ
ートに関連づけられ、少くとも1つのセルが送出できる
状態にあるすべての出力仮想チャネルの出力VCNを待
ち行列に入れるために使用される。仮想チャネルは、
(後述の"停止ビット"により一時的に送出が禁止されて
いない限り)対応する出力VCN待ち行列70中に少な
くとも1つのエントリがあり、また、該仮想チャネルが
(下記に説明されるように)送出のためのクレジットを
(そのようなクレジットが必要な場合)有しているなら
ば、送出資格のある1つ以上のセルを持つ。
格セルを持つ時点を判定し、そのように判定したとき、
該当する待ち行列構造に入れるためスケジュール・ブロ
ック75へ対応する出力VCNを渡すのは、資格制御ブ
ロック77の仕事である。従って、これら待ち行列構造
は、"有資格の"出力VCNを待ち行列に入れる構造とみ
なすことができる。有資格出力VCNを適切な待ち行列
構造上に入れることは、各出力VCNに関し適切な待ち
行列構造の識別情報をブロック77のテーブル81に記
憶することによって行われ、この情報は、各出力VCN
とともにブロック75へ渡される。
80、82の動作は、更に後述されるが、ここで、スケ
ジュール・ブロック75の待ち行列構造に有資格出力V
CNが格納されたと仮定する。
ート・ロータへの同期アクセスによってファブリック3
0およびアダプタ・カードのデマルチプレクサの動作で
その動作が調整されるスケジュール機構78が含まれ
る。スケジュール機能78は、ロータ60の適切なスロ
ットにおける各外部ポートに関する出力VCN構造を検
査し、該構造に関しもっとも高い優先度を持つ(もしあ
れば)VCNを、セル詳細待ち行列ブロックの出力制御
69へ出力する。次いで出力制御69は、当該VCNに
関する使用者ポインタ68を使用して、対応するセル詳
細待ち行列70の先頭にあるセル詳細エントリにアクセ
スし、それら詳細を新しいヘッダが生成される出力ヘッ
ダ生成ブロック64へ渡す。同時に、出力制御69は、
当該VCNに関する使用者ポインタ68を対応するリス
ト65における次のエントリをポイントするように更新
する。
関し有資格セルがいくつあるかにかかわらず、当該外部
ポートにとって適切な待ち行列構造76においてただ一
度だけ出現する。スケジュール機構78がVCNを出力
する度毎に、それは、対応する待ち行列構造から取り除
かれる。出力制御69は、セル詳細を出力VCNに出力
すると、この出力VCNを資格制御ブロック77に渡
す。これにより、この資格制御ブロック77は、その出
力VCNに関するクレジットを減分することができ、同
時に、出力制御69は、対応するセル詳細待ち行列に送
出する準備のできているセルが更に1つ以上あると判断
すれば、"送信セルあり"標識の送信によって資格制御ブ
ロック77にそれを通知する。資格制御ブロック77
が、更新(減分)後なおこの出力VCNに関し記録され
た送出クレジットを有する場合(またはクレジットが不
要の場合)、出力VCNは、スケジュール・ブロック7
5へ戻され、そこで、対応する待ち行列に再度入れられ
る。しかし、もし送信クレジットが(必要ではあるが)
直ちに使用可能でない場合、資格制御77ブロックは、
スケジュール・ブロック75へ出力VCNを渡す前に、
クレジット付与ブロック80からそのようなクレジット
が渡されるのを待つ。各出力VCNのクレジット状態
は、資格制御ブロック77によって維持されるテーブル
81に保持される。
に関するセル詳細を出力した後に、対応する待ち行列7
0が空であると判断すれば、資格制御ブロック77へ"
送信セルあり"標識を渡さない。しかし、もしも、同時
に、対応するリスト65に残存エントリがない(該リス
トに関係するすべの待ち行列70が空にされた)と出力
制御69が判断するならば、該リストに関し空きフラッ
グがセットされるように、信号を入力制御66に送る。
70に到着したことを始動ブロック82によって資格制
御ブロック77が通知されると、これらの出力VCNの
各々は、出力制御69が該出力VCNに関しいかなる有
資格セルも存在しないと判断するまで、ブロック77と
スケジュール・ブロック75と出力制御69を巡回する
という点がこれまでの説明から明らかである(出力VC
N(複数)が各エントリに関するスケジュール決めを待
っている間に新しいエントリ(複数)が関連待ち行列7
0に追加される点が認められるであろう)。使用可能な
送出クレジットが存在しないことによってこのプロセス
は一時的に停止されるかもしれないが、新しいクレジッ
トが使用可能になり次第、プロセスは再開される。
ち行列70にないため)巡回を停止すると、送出のため
の再スケジュールが行われるまで、該出力VCNは、始
動ブロック82による送出制御経路への再導入を待たな
ければならない。
との関係を提供する。 −低い最大待ち時間をもつ保証された帯域幅(GB0)
サービス、 −より高い最大待ち時間をもつ保証された帯域幅(GB
1)サービス、 −最善の努力(BE)によるサービス。 スケジュール・ブロック75における各外部ポート待ち
行列構造(76ブロック)は、実際に(各サービス品質
について1つの)3つの待ち行列を含み、各有資格出力
VCNが、該当する待ち行列に加えられる(この待ち行
列の識別情報は資格制御ブロックのテーブル81に保持
され、出力VCNとともにブロック75に渡される)。
この結果、各サービス・クラスの範囲内で公平な待ち行
列方法が使用されることとなる。図9は、スケジュール
・ブロックによって維持される外部ポート出力VCN待
ち行列を図示し、ポート0と記号が付けられた外部ポー
トの場合外部ポート毎に3つの待ち行列が付与されてい
ることを示している。ロータ60の対応するスロットに
おける外部ポート待ち行列を検査する度毎に、スケジュ
ール機能78は、もっとも高い優先度の空でない待ち行
列の先頭の出力VCNを取り出す。ここで、待ち行列の
優先順序は、GBO、GB1、BEである。
切な量の共有メモリ31が、そのサービスに応じて各入
力VCのために予約され、さらに、クレジット制御方式
がトークン・バケット(複数)に基づいて操作される。
保証された帯域幅ソースがその保証を越えると(すなわ
ち、スイッチが処理を保証した以上に単位期間あたりの
セルを帯域幅ソースが作成すると)、資格制御ブロック
は、一時的にそのVCNに関するセルの送出(定形出
力)を停止させるか、または、最善努力接続(非定形出
力)として一時的に接続を処理する。
行われることも行われないこともある。フローが制御さ
れるトラフィックの場合、メモリの固定量が各入力VC
に割り当てられ、このメモリの空き量に基づいて、クレ
ジットが上流ノードに発行される。各出力VCNに関し
て、下流ノードが発行したクレジットのカウントが維持
される。この上流/下流クレジット制御は、フロー制御
ブロック85によって管理され、フローが制御された出
力VCNに関するクレジット・カウントが、資格制御ブ
ロック77によって現行ノードに保持される。このクレ
ジット・カウントがゼロになると、資格制御ブロックは
VCNが対応するスケジューラ待ち行列に渡されるのを
止め、それによって伝送を停止させる。
それら接続に任意の量のメモリを割り当てるとができ
る。もしも出力に関し競合があってこのメモリが費消し
てしまう場合、セルは破棄される。
ット 上述の通り、マルチキャスト(1つの入力VCに対する
複数の出力VC)の場合、対応するセル詳細リスト65
は、そこへマップされるいくつかの(各々が特定の出力
VCNに対応する)待ち行列70を有する。やはり上述
の通り、待ち行列ブロック63に対する出力制御69
は、リスト65に関連するすべての待ち行列70が空に
なるまで、リスト65の空きフラグをセットさせない。
この理由は、そのセル詳細がリスト65上で待ち行列に
入れられるべき新しいヘッダの到着に応じて空きフラッ
グをセットから非セット状態へ変化させることにより、
入力制御66が送出始動ブロック82を始動させ、その
結果、リストに関連したすべての出力VCNが送出制御
経路に導入されることとなるためである。もしもあるリ
ストの空きフラグがただ1つ空きとなる関連待ち行列に
セットされたとすれば、いくつかの出力VCNがまだ経
路にある時点で、送出始動ブロック82が始動され、出
力VCNを送出制御経路に導入することとなり、この結
果、不公平な出力スケジュールが行われる。
トリが以下の時間の間に追加されることが起こり得る。 (i)リスト65の先頭エントリが関連する出力VCに関
するセル・ヘッダを出力するため使用された後、この先
頭エントリを待ち行列70から取り除くための使用者ポ
インタ更新に続いて待ち行列の1つが空となる時、およ
び、(ii)エントリがその待ち行列に関連した出力VCに
関するヘッダを出力するために使われた後、使用者ポイ
ンタ更新によって取り除かれたものと同じリスト・エン
トリを別の待ち行列が持つ時。 このような状況において、上記の待ち行列の2番目は、
第1の待ち行列を空にさせたエントリを取り除くとき空
ではなく、すべての他の待ち行列が空であっても、空き
フラグは、出力制御69によってセットされない。この
ような状況では、空になった待ち行列がスケジュール決
めプロセスに再び入る機会を持つことができないことは
明白である。なぜなら、上記の空でないリストを常に空
でないままにしながら、新しいセル詳細エントリを該リ
ストに追加し続けることができるからである。ある特定
の入力VCへ割り当てられるメモリの量には限りがある
ので、当然セルは失われるであろう。
セル詳細エントリは関連"停止ビット"を持つ。マルチキ
ャストの場合において、もし、待ち行列70が空になる
と、出力制御69は、先頭エントリ(すなわち空き待ち
行列から直前に取り除かれたエントリ)の停止ビットを
セットする。このエントリを取り除く同じリスト上の他
の待ち行列に関して(そのエントリに基づくセル・ヘッ
ダが関連出力VCNに関し送出されたため)、対応する
出力VCNは、資格制御ブロック77へ戻されない。す
なわち、待ち行列は、効果的に"停止"される。しかし、
すべての待ち行列が、停止ビットのセットされているエ
ントリを使用したとき、そのエントリは取り除かれ、V
CN送出始動ブロックが、出力制御69によって始動さ
れ(図8の「ストップ解除」始動参照)、対応するマス
タVCNがすべての関連VCNを送出制御経路に再導入
する。
の時点でいくつかの点を追加することは意味があろう。
ブロック82は、マルチキャスト拡張機構83と出力回
路84を含む。マルチキャスト拡張機構83は、特定の
マスタVCNについて始動される時該特定マスタVCN
に対応するすべての出力VCNを使用可能にするように
設計される。マルチキャスト拡張機構83は、ある接続
が設定または終了される度毎にプロセッサ装置からの適
切なデータを用いてプログラムし直され、そのため、そ
れは継続的に最新に更新され、すべての現時点のマスタ
VCNを対応する出力VCNに関連付けることができ
る。拡張機構83によって使用可能とされる出力VCN
は、出力回路84によって資格制御ブロック77へ1つ
ずつ渡される。
前に処理を完了する必要はないが、受け取るすべての始
動要求を受容できるような方法で実施される。これは、
例えば、始動信号のための入力FIFOを含めることに
よって、または、おそらく出力VCN FIFOを備え
持つことによって実施できる。一般的には、必要とされ
ることは、資格制御ブロックへの転送のような出力VC
N動作にブロック82が影響を与える必要がある場所の
上流地点にFIFOバッファ機能を具備することであ
る。
および環境の重要性は、マルチキャスティング固有の拡
張機能が、コントローラにかかわる処理ひずみの発生を
最小にとどめるような方法で取り扱われることである。
かくして、各マスタVCNと出力VCNはブロック83
においてただ一度だけ出現し、これにより、とくに効率
的なメモリの活用が可能となる。さらに、いかなる特定
の始動に関連した出力VCN毎の処理も、次の始動を受
け取る前に完了する必要はない。
詳細な説明を行う。 マスタVCN検索ブロック 既に説明のとおり、セルがスイッチ・コアに到着すると
き、そのヘッダは、コントローラ33に渡され、そこ
で、先ずマスタVCN検索ブロック61によって取り扱
われる。ブロック61における受領時点で、ヘッダは、
以下のフィールドから構成される。 −一般フロー制御(GFC)、4ビット −仮想経路識別子(VPI)、8ビット −仮想チャネル識別子(VCI)、16ビット −ペイロード・タイプ(PT)、3ビット −AAL5接続がパケットの終了(EOP)を形成する
ためのビット、1ビット。 注:ヘッダの5番目のバイトのヘッダ・エラー・チェッ
ク(HEC)が該当するアダプタ・カードにおいて既に
検査されたので除去されている。HECがエラーのと
き、当該セルは空(VPI=VCI=0)としてマーク
付けされることとなる。
・ヘッダとともに、VCN検索ブロック61に渡され
る。以下の動作が、ヘッダに関してブロック61によっ
て実行される: −セルのVPIとVCIがゼロにセットされているなら
ば、そのセルは破棄される。この破棄は、セル本体アド
レスを空きアドレス・リスト32に戻すことによって実
行される。 −GFCが破棄される。 −PTとEOPが、セル本体アドレスとともに記憶され
るために取り出され、出力ヘッダが正しく生成される。
これらの項目を以下"セル詳細"と呼ぶ。 −VPIとVCIをセルが受け取られた外部ポートを識
別する番号(ポート番号)と連結し、セルが関連する接
続のためのユニークな識別子(本明細書では長いチャネ
ル識別子と呼ぶ)を作成する。次に、この長いチャネル
識別子を用いて、セルに関連するマスタVCNを探索す
る。
機能であり、以下で更に詳細に説明する。あるセルに関
し長いチャネル識別子を取り出すために使われるVPI
とVCI情報は、セル・ヘッダから直接用いられる。セ
ルが受け取られた外部入力ポートを識別するポート番号
は、本実施例においては外部入力ポート・ロータ60A
から取り出される(各外部ポートは、関連ユニーク番号
を持って上記ロータに記録されている)。
の入力ポート番号は、VPIとVCIに連結され、約3
0ビットの長さの長いチャネル識別子となる(その正確
な長さは、スイッチが持つことができるポートの数に依
存する)。次いで、この番号は、セルが関連する接続の
マスタVCNを見出すために使われる。
うことは非実用的であるので、多段式探索プロセスが使
われる。探索プロセスは、以下のステップを含む: 1.長いチャネル識別子(VPI+VCI+ポート番
号)は、スクランブラ90においてスクランブルされる
(図10参照)。スクランブラは、線形フィードバック
・シフト・レジスタに基づくもののような標準形式のも
のでよく、そこでは、スクランブル結果の出力ワードを
与えるためワード長だけシフトされる線形フィードバッ
ク・シフト・レジスタに関するシード(種)ワードとし
てチャネル識別子が使われる。 2.スクランブルされた長いチャネル識別子が、スプリ
ッタ91によって2つの部分に分割される。一つの部分
(上方部分)は、"高位テーブル"92において"行イン
デックス"を探索するために使われ、他方の部分(下方
部分)は、"低位テーブル"93において"列インデック
ス"を探索するために使われる。 3.次に、"行インデックス"と"列インデックス"は、マ
スタVCN(複数)を含む2次元テーブル94にアクセ
スするために使われる。 4.最後に、チェック・テーブルを持つ比較器95にお
いて長いチャネル識別子を探索するためにマスタVCN
が使われ、この識別子は、すべてが順当に動作するなら
ば、ステップ1で使われたであろうものに相当する。探
索された識別子は、比較器95において実際のオリジナ
ルの長いチャネル識別子と比較され、ステップ1から3
のプロセスが間違った結果を与えなかったかがチェック
される(もしも誤りがあれば、セル本体アドレスを空き
アドレス・リストに加えることによってセルは破棄され
る)。
する理由は、次に述べる通りである。 ステップ1. 同一のリンクからのセルに関する最も長い
チャネル識別子(複数)が同等の上位部分(たぶんゼ
ロ)を有することがあり得るため、長いチャネル識別子
をスクランブルする必要が起きる。従って、長いチャネ
ル識別子がスクランブルされなければ、それらはすべ
て、高位テーブル92における同一のインデックスにイ
ンデックス付けし、これにより、マスタVCNテーブル
94のただ1行だけが使われることとなる。スクランブ
ルによってすべての識別子間で差がつけられ、そのた
め、行および列のテーブルの利用度が向上し、マスタV
CNテーブルがいっそう効率的に使用されることとな
る。 ステップ2. 30ビット長の番号を調べることは非実用
的であるが、15ビット長番号を調べることは実用的で
あるので(32Kビット長のエントリ・テーブルが必要
とされる)、スクランブルされた長いチャネル識別子
は、半分に分割される。番号をさらに小さく分割する
と、3つの1Kビット長テーブルになり、これは一見魅
力的ではあるが、作成されるテーブルが多数のVCをサ
ポートするには小さすぎるので、この選択は、特殊な状
況の場合にのみ適切である。 ステップ3. 高位と低位テーブルの2つの探索結果は、
接続をユニークに識別するけれども、テーブル上に散在
しているので、それらテーブルはマスタVCNテーブル
にインデックスを付けるために使われる。これは、マス
タVCNテーブルが約4分の1以上使われると、プロセ
スが充分に動作しないことによる。従って、高位と低位
テーブルの結果を使用することは、VCN空間をそうあ
るべきよりも4倍広くするものであり、コントローラの
残りのVCN当たりデータ構造のすべてのメモリ要求を
増加させることを可能ならしめる。 ステップ4. 設定されなかったVC(複数)にもセルが
到着することがあり得るので、長いチャネル識別子チェ
ックが実行される。チェックが実行されず、そのような
VCが偶然有効なマスタVCNにインデックス付けした
場合、それらセルは、あたかもそれらがそのマスタVC
Nに対応するVC上に到着したかのように取り扱われる
であろう。
速な探索を低コストのハードウェアで実行することを可
能にする。例えば、最高64個の外部ポートに関連付け
られる8000個のマスタVCNは、32Kx8の高位
テーブル、32Kx8の低位テーブル、64Kxl3の
マスタVCNテーブルおよび8Kx30のチェック・テ
ーブルを必要とする。
サ装置24は、マスタVCN探索ブロック61の各種テ
ーブルに収納するエントリの数を計算する。この計算を
行う時点で、プロセッサが、特定のVCが以前に設定さ
れたVCと衝突することなく既存のテーブルに適合でき
ないことを認識する可能性がある(特に、既存および新
の両方のVCのスクランブルされた長いチャネル識別子
は同一のマスタVCNテーブル・エントリへマップされ
る)。この場合、プロセッサ装置24はスクランブラ9
0によって使用されるスクランブル機能を変更し、衝突
がないようにテーブルを整理し直すように調整される。
この動作をサポートするため、高位、低位およびマスタ
VCNのテーブルは、2重にバッファされ、これによ
り、プロセッサ装置が非活動的テーブルを書き直してい
る間に、探索は活動的なテーブルを用いて継続すること
ができる。
らないときを決定することである。それは、セルが送出
されるより速くVCに到着する場合にセルを破棄するた
めに必要となる。これは、次の2つの状況で発生する。 −最善努力型接続が、出力に対し競合している場合、 −保証された帯域幅接続がその保証を越えた場合。 セルを破棄するか否かを決めるために使われるメカニズ
ムは以下に記述される通りである。
Cが設定されるとき、提供されるべきサービス特性に応
じてVCの入力側に、共用メモリ31からメモリの固定
量が割り当てられる。割り当てられたメモリの量は、入
力VCに対する"割当メモリ利用度"と言われる。監視ブ
ロック62は、対応するマスタVCNへの参照によって
各入力VCの割り当てメモリ利用度のレコードを保持す
る。
れるものとみなされる:すなわち、そのサイズがすべて
の割り当て量の総和に等しい予約領域と残りを構成する
未予約領域。入力VCは、割当メモリ利用度を超過しあ
る種の条件の下でセルを未予約領域に記憶することを許
されることがある。メモリは実際には別々の領域に分割
されず、ただそうであるかのように見えるだけである点
に留意する必要がある。
用メモリ31からのメモリ量のレコードを監視ブロック
62は維持する。このメモリ量は、各マスタVCNに関
する現在メモリ利用度と呼ばれる。あるマスタVCNの
現在メモリ利用度は、当該マスタVCNに関するセル・
ヘッダを受け取るときブロック67によって増分され、
セルが適切な出力VCNの全てに送られたことを待ち行
列ブロック63の出力制御69が標示するとき減分さ
れ、セル本体メモリの対応する領域は、(セル本体アド
レスが空きアドレス・リスト32に記録されることによ
って)解放される。
ク62に到着し、新しいセル本体が対応するVCに関す
るメモリ31に書き入れられたことが標示されるとき、
監視ブロック62は、セルを破棄すべきか否かを決定し
なければならない。それは、以下の基準を使用して行わ
れる。 −マスタVCNの現在メモリ利用度が割り当て量より以
下であれば、セルは破棄されず、現在メモリ利用度が増
分される。マスタVCNの現在メモリ利用度が割り当て
量に等しいかそれ以上であれば、未予約メモリ領域の使
用メモリ空間量が予め定められた一定のしきい値以下で
ない限り、セルは破棄される。セルが破棄されない場
合、未予約メモリ領域における使用空間のレコードは増
分され、従って、現在時メモリ使用度が増分される。
のレコードを維持するためには、セルがすべての関連出
力VCN上に送り出され、対応する共有メモリ・アドレ
スが解放されたとき、監視ブロック62は、マスタVC
Nの割当メモリ使用度を検査しなければならない。マス
タVCNの現在時のメモリ使用度が、減分する前に、対
応する割当メモリ使用度より大きい場合は、未予約領域
の現在時の使用空間に関するレコードは、解放されたメ
モリ空間を考慮に入れて減分されなければならない。
ッチにおいて、セルを破棄することができる唯一のメカ
ニズムである点に留意する必要がある。このことは、セ
ルがこのチェックを通過したならば、けっして破棄され
ることはないということを意味する。保証された帯域幅
サービスに関連して、本スイッチは、VCがその保証を
越えているか否かを判定し、それにより、セルを破棄し
なければならないかどうかを決定するために、トラフィ
ックをその入力時点で直接監視することはしないという
点に留意する必要がある。代わりに、現在メモリ使用度
を監視するという間接的メカニズムに依存して、VCが
その帯域幅保証を越える時点を判定する。
ル・ヘッダ中のパケット終了(EOP)ビットを検査す
ることができる。従って、特定の接続がAAL5接続で
あるか否かをコントローラが設定時に通知されると仮定
すれば、コントローラは、AAL5接続に関して1つの
セルを破棄した後は、同じパケットのすべての後続のセ
ルを破棄することを決定することができる。セルがここ
で破棄されなければ、送り先において完全なパケットだ
けが通信されることを確認する責任を持つプロトコル層
によってそれらセルはいずれにしても破棄されることに
なるのであるから、それらセルは不必要なトラフィック
と不要な関連処理を派生することとなるが、上記のよう
な後続セルの破棄によってこの点を回避できる。
てあるパケットの1つのセルを破棄すると続いて該パケ
ットの残りのセルを破棄するように設計することができ
る。この場合、次のAAL5パケットが送られる前に、
EOPビットがセットされたセルを送出しなければなら
ず、さもなければ次のパケットも破壊される点に留意す
る必要がある。これを行う2つの可能な方法がある(図
11参照)。 方法1.EOPビットをもつセル102を除き、パケッ
トの残りのセルすべてを破棄する(すなわち、図11で
点線ボックス101で示されているセルを破棄する)、 方法2.(セット状態のEOPビットをもつセル102
を含め)パケットの残りのセルを破棄するが、最後のセ
ル104については破棄する動作を開始する前にEOP
ビット103をセットする。この結果、点線ボックス1
05で示されるセルが破棄される。
受けるべきものでないならば、最後のセルのためのメモ
リ空間が保証されるようにAAL5 VCN毎に追加の
バッファを必要とする。方法2は、この追加バッファを
必要としないが、すでに記憶されたセルのEOPビット
を変更するためのメカニズムをセル待ち行列ブロック6
3に含める必要があり、実施をさらに複雑にする。従っ
て、方法1がむしろ好ましい。
しなければならないという方法1の必要条件は、セット
状態のEOPビットを持つセルが到着するとき、当該接
続のために領域が予約されている場合、このセルを記憶
するためメモリ31の未予約領域を使用することによっ
て取り扱われることができる。このアプローチは、未予
約領域と接続に関し予約された領域の両方がいっぱいに
使用される場合にだけ問題を起こす。このような場合、
本スイッチは、当該接続に関しセルの破棄を継続し、次
のパケットを破棄しなければならない。
CN接続毎に、当該接続のマスタVCNと関連づけて記
憶される2つの追加フラグが維持されることを必要とす
る。第1のフラグは、AAL5フラグであり、AAL5
接続が確立されるときセットされる。第2のフラグは、
セル破棄フラグであり、このマスタVCNに関するセル
(複数)はセット状態のEOPビットでマークをつけら
れたセルまで破棄されなければならないことを示す。セ
ルを破棄するこの基準は、セル破棄フラグの状態に依存
する。セル破棄フラグがセットされていなければ、セル
が破棄され、AAL5フラグがセットされている場合、
セル破棄フラグがセットされるという点を除いて、基準
と措置は、前と同様である。セル破棄フラグがセットさ
れていれば、基準は次に述べる通りである。 ・セルがセット状態にあるEOPビットを持っていなけ
れば、そのセルは破棄される。 ・セルがセット状態にあるEOPビットをもっている場
合、 −マスタVCNの現在時のメモリ使用度がその割り当て
られたメモリ使用度より小さければ、セルは破棄され
ず、現在時メモリ使用度は増分され、セル破棄フラグは
リセットされ、 −マスタVCNの現在時メモリ使用度が、割り当てメモ
リ使用度より大きいか等しければ、未予約領域の使用さ
れた空間量が一定のしきい値より小さくない限りセルは
破棄される。セルが破棄されなければ、現在時メモリ使
用度は、未予約領域の使用済み空間のカウントを増分す
ることによって増分される。セルが破棄されなければ、
セル破棄フラグはリセットされる。
ェックを通過すると、(メモリ31のセル本体アドレス
を含む)セル詳細が、該当するマスタVCNリスト65
上のエントリとして待ち行列に入れられる。リスト65
の各々は、単一にリストされたリストであり、各エント
リは、セル本体アドレスと対応するセルに関するヘッダ
情報の他、リストを維持するために使われるいくつかの
フィールドを含む。各リスト・エントリ110は、以下
のフィールドを含む(図12参照)。 −セル本体ポインタすなわちセル本体アドレスに関する
フィールド112、 −セル本体アドレスを再構築するために必要とされるセ
ル・タイプとEOPビットのためのフィールド113、 −セルが破棄される前に(すなわち、セル本体を記憶す
るために使われたメモリと現在時セル詳細エントリが解
放される前に)なお送信されるべき回数を標示するため
マルチキャストの場合に使用される参照カウントを記憶
するためのフィールド114、 −エントリに関する停止ビットを記憶するためのフィー
ルド115(このビットは上述のとおりマルチキャスト
に関し使われる)、 −リンクされたリストの次のエントリをポイントする次
エントリ・ポインタ117を保持するためのフィールド
116。
先頭を離れ(先頭エントリがリスト中最古である)新し
いセル詳細が追加されるリストの最後部の方向にある次
のエントリをポイントする。最後部エントリは、常にヌ
ル(null)・エントリ111である。すなわち、そのフィ
ールドのすべてはヌル(null)にセットされる。新しいセ
ル詳細の追加には、現在の最後部エントリのヌル・フィ
ールドを新しいセル詳細で埋め、新たなヌル・エントリ
を追加することが必要である。
スタVCN毎に(従って各リスト毎に)以下のフィール
ドを維持する。 −対応するリスト65の最後部エントリをポイントする
作成者ポインタ67のためのフィールド121、 −リスト上のすべての待ち行列70が空であるときセッ
トされる、各リストのための空きフラグを保持するため
のフィールド122、 −マスタVCNに関連する出力VCNの数を標示する初
期参照カウントを保持するためのフィールド123。 データ構造120は、マスタVCNを使用してアクセス
される。
力VCN毎に以下のフィールドを維持する。 −当該出力VCNに関連した待ち行列70の使用者ポイ
ンタのためのフィールド126、 −出力VCNに関連したマスタVCNの識別を含むフィ
ールド127(このフィールドは、データ構造120に
保持されるマスタVCNに関する情報を、初期的に出力
VCNの存在位置だけが知られているその場所でアクセ
スすることを可能にする)。 データ構造125は、出力VCNを使用してアクセスさ
れる。
着するとき何が起こるかを考察し、次に、セルが送り出
されるとき何が起こるかを考察することによって、もっ
ともよく理解される。
すると、そのセルに関するマスタVCN、セル・タイ
プ、EOPビット、およびセル本体アドレスが待ち行列
ブロック63の入力制御66へ渡され、以下の動作が実
行される。 1. 最初に、データ構造120における対応する作成者
ポインタ、空きフラグおよび初期参照カウントを探索す
るためにマスタVCNが使われる。 2.次に、作成者ポインタが、該当するリスト65のヌ
ル最後部エントリをアクセスするために使われ、セル本
体アドレス、セル・タイプ、EOPビットおよび初期参
照カウントがそのエントリの対応するフィールドに書き
込まれ、停止ビットがゼロにセットされる。 3. 一旦上記1と2が実行されると、新しいリスト・エ
ントリのアドレスが、空きリスト・エントリFIFO
(図示されていない)から入手され、次のエントリ・フ
ィールドに書かれる。 4.最後に、関連したポインタを、空きエントリ・リス
トから入手された値にセットする。
待ち行列の例が、図13に示されており、そこでは、当
該マスタVCNに関連した出力VCNが3つある(すな
わち、初期参照カウントは3に等しい)。図13のA)
は、新しいエントリの追加が始まる前の関連リスト65
を示し、図13のB)は、新しいセル詳細が以前のヌル
最後部エントリに挿入された後のリストを示し、図13
のC)は、新たなヌル最後部エントリが追加され、エン
トリ追加プロセスを完了した後のリストを示している。
キャストの場合のセル詳細の待ち行列化が、ユニキャス
トに関する場合と同数の動作で実行されたことである。
ヌル・エントリが各リストの最後部に常に保持されるの
で、これは可能である。従って、空きリストは対応する
作成者ポインタと使用者ポインタを持った単一のヌル・
エントリからなる。
グを持つリスト65の待ち行列に入れた後、入力制御6
6は、マルチキャス拡張機構83を始動し、セルが当該
マスタVCNに到着したことを通知しなければならな
い。上記始動には、現在時マスタVCNを渡すこととと
もに、該マスタVCNがマルチキャストであるか否かを
識別するフラグをマルチキャスト拡張機構83に通知す
るフラグが含まれる。このフラグは、初期参照カウント
が1に等しくない場合セットされる。このフラグを備え
持つことによって、探索結果がマルチキャスト拡張機構
に保存される(これは、本発明の実施において、最初の
出力VCNはそれが関連するマスタVCNと常に同じで
あるからである)。
リス66は、当該リストに関する空きフラグをクリアす
る。これが空きフラグがクリアされる唯一の時である点
に注意が必要である。
75が、特定の出力VCNに関してあるセルが送出され
なければならないと決定すると、スケジュール・ブロッ
ク75は待ち行列ブロック63の出力制御69に通知す
る。出力VCNを受領後、出力制御69は、出力VCN
に関する待ち行列70の先頭エントリに関するセル詳細
情報を探索する。出力制御69が単に出力VCNを使用
するだけで、該当する待ち行列に関する使用者ポインタ
68を獲得できるようになっているので、直ちに必要な
セル詳細(セル本体アドレス、セル・タイプおよびEO
Pビット)にアクセスすることができる。次に、この情
報は、送出のため出力ヘッダ生成ブロック64に渡され
る。
ち行列70とリンクされたリスト65を維持し、他のブ
ロックに待ち行列とリストへの変更を通知するために実
行されなければならない数多くのクリーンアップ動作が
ある。図14は、セル詳細を出力するプロセスと結果と
して生じる必要なクリーンアップ動作のフローチャート
を表示しているが、既に説明したセル詳細を出力する動
作はブロック130として示されている。フローチャー
トの使用によって、当該動作がソフトウェアで実行され
ることが示唆されていると解釈されるべきではない。事
実、実行速度の理由から、ハードウェア実施が一般的に
必要とされるであろう。
アップ動作は、以下の通りである。 (i)関連待ち行列70が空きであるか検査する(ブロッ
ク131)、(ii)セル詳細エントリ出力が解放されるべ
きか検査する(ブロック132)、(iii)エントリが保
持されるべきものであれば、エントリに関連したクリー
ンアップを行う(エントリ・クリーンアップ・ブロック
133)、(iv)エントリが解放されるべきものであれ
ば、エントリを解放し、リスト関連のクリーンアップを
行う(リスト・クリーンアップ・ブロック134)、
(v)使用者ポインタを更新し(待ち行列クリーンアップ
・ブロック135)、スケジュール決めを引き続き行う
べきVCNがあるか検査する(ブロック136)。これ
らの動作の説明は以下の通りである。 (i)待ち行列は空きか?(ブロック131)−関連待ち
行列70が空きであるかを検査するため、直前に出力さ
れた待ち行列エントリの次ポインタが、待ち行列がマッ
プされるリスト65に関する作成者ポインタと比較され
る。次ポインタと作成者ポインタとが一致すれば、出力
を待つエントリは該待ち行列にない。すなわち、待ち行
列は空である。適切な作成者ポインタを探索するため、
出力制御69は、先ず、現在出力VCNに対応するマス
タVCNを識別しなければならず、これはデータ構造1
25(図12参照)のフィールド127を参照すること
によって実行される。次に、出力制御は、マスタVCN
を用いて、データ構造120にアクセスし、必要な作成
者ポインタを取り出す。ユニキャストの場合について
は、唯一の出力VCNがマスタVCNと同様とされたな
らば、当然、出力VCNを使用してデータ構造120に
直接アクセスすることによって、作成者ポインタは取り
出される。もしも次ポインタと作成者ポインタとの比較
の後に、待ち行列70が空であることがわかれば、(現
在の待ち行列が空であることを示す)一時的なCQEフ
ラグが、出力制御69によってセットされる。このフラ
グは出力制御機構内でのみ使用される。 (ii)エントリは解放可能か?(ブロック132)−リス
ト65へマップされる待ち行列70を持つすべての出力
VCNに関しエントリが出力されたときにのみ、エント
リは、それが待ち行列として記憶されたリストから解放
されることができる。参照カウントフィールド114
は、エントリがさらに何回出力されなければならないか
を絶えず把握するために使用される(上述のとおり、参
照カウントは、入力制御66によって、リストにマップ
される待ち行列の総数に対応する値に初期的にセットさ
れる)。エントリを解放できることを決定するため、出
力制御69は、参照カウント・フィールド114をチェ
ックするだけでよい。もしもそれが1の値を持っていれ
ば、エントリを解放できる(1という値はブロック13
0に今発生したエントリを出力するためのものであ
る)。 (iii)エントリ・クリーンアップ(ブロック133)−
エントリがまだ解放されるべきものでない場合、フィー
ルド114に保持される参照カウントは減分されエント
リがなお出力されねばならない出力VCの数を追跡す
る。更に、(ブロック131で潜在的にセットされるC
QEフラグによって標示されるが)現在の待ち行列が空
ならば、エントリのストップ・フラグがセットされ、マ
ルチキャストの場合すべての待ち行列70が上述のとお
り元へ戻されることを保証する。停止ビットの使用の1
例が以下に示される。 (iv)リスト・クリーンアップ(ブロック134)−リス
ト・エントリが解放されるべき場合、この解放は、リス
ト・エントリに関して維持される空きアドレス・リスト
にエントリ・アドレスを書き込むことによって行われ
る。更に、セル本体アドレスが空きアドレス・リスト3
2に書き込まれる(図4)。次に、出力制御69はCQ
Eフラグをテストして、このフラグが(現在の待ち行列
が空であることを標示するように)オンにセットされて
いれば、出力制御は対応するリストが同様に空であるこ
とを知る。この場合、出力制御は、データ構造120に
おける対応する空きフラグ122をオンにセットする。
CQEフラグがオンにセットされてなく(すなわち、送
出すべきエントリがなおあることが標示され)、しか
し、直前に出力されたエントリの停止ビットがオンにセ
ットされている場合、出力制御69は、マルチキャスト
のすべての待ち行列が今戻され、対応する出力VCNを
送出制御経路に再導入することができるようになったこ
とを知る。これを実行するため、出力制御69は、VC
N送出始動ブロック82へ"ストップ解除"始動信号を送
る。最後に出力制御は、監視ブロック62へメッセジを
送り、直前に出力されたエントリの除去の後の新しいリ
ストの長さを通知する。 (v)待ち行列クリーンアップ(ブロック135)−現
在の待ち行列(すなわち、ブロック130においてセル
詳細がそこから出力された待ち行列)に関して必要とな
る唯一のクリーンアップ動作は、待ち行列において次の
エントリをポイントする使用者ポインタ68の更新のみ
である。これを実行するため、出力制御69は、直前に
出力されたエントリに保持される次ポインタ値に使用者
ポインタを単にセットするだけである。 (vi)出力VCNをリサイクルできるか?(ブロック13
6)−出力制御69は、現在の出力VCNを資格制御ブ
ロック77に渡し、現在の出力VCNが対応するクレジ
ット・カウントを減分することを可能にさせる。同時
に、出力制御69は、出力制御が直前に関わった出力V
CNを送出制御経路へリサイクルすることができるかを
検討する。対応する待ち行列70になお多くのエントリ
がある(すなわち、CQEフラグがオンにセットされて
いない)場合で、かつ、マルチキャストに関しては、直
前に送出されたエントリの停止ビットがオンにセットさ
れてなく、マルチキャスト待ち行列が該エントリに配置
されつつあることを標示している場合に限って、出力V
CNはリサイクルされる。出力制御69は、このような
状況の組み合わせに関し検査を行い、もしこのような状
況であれば、出力VCNとともに資格制御ブロックへ"
送出セルあり"識別信号を送る。
これまで説明し、またこの機能を実施するために入力/
出力制御66、69によって取られる詳細なステップを
記述したが、以下において、同一リスト65にマップさ
れるマルチキャスト待ち行列からのエントリの出力を統
御する際の停止ビットの機能性に関して完全な理解を得
られるように1例を用いて説明する。
ell(セル)2、Cell(セル)3、Cell(セ
ル)4という複数セルに関するエントリとリストの最後
部にあるNull(ヌル)エントリとから構成される5
個のエントリを有するリスト65を図示している。図で
は、明示のため、各エントリについて停止ビット・フィ
ールドと次エントリ・ポインタ・フィールドのみが個別
に図示され、他のフィールドは、Celll、Cell
2、Cell3、Cell4とNullというラベルに
よって適宜表されている。3つの待ち行列70は、各待
ち行列の先頭をポイントするそれぞれの使用者ポインタ
C1、C2およびC3によってリストにマップされる。
各待ち行列の最後部は、ヌル・エントリである。かくし
て、エントリCell1をポイントするポインタC1に
関連づけられる待ち行列(最初の待ち行列)は、送出さ
れるために待機する4つのエントリ(Cell1からC
ell4)を持ち、NULLエントリをポイントするポ
インタC2と関連づけられる待ち行列(2番目の待ち行
列)は、送り出されるために待機するエントリを持た
ず、エントリCell2をポイントするポインタC3に
関連づけられる待ち行列(3番目の待ち行列)は、送り
出されるために待機する3つのエントリ(Cell2、
Cell3、Cell4)を持つ。
制御69は、図14のブロック133のエントリ・クリ
ーンアップを実行する際に、直前に出力されたエントリ
(エントリCell4)の停止ビットをオンにセットす
る(この点は、図15のA)で"ストップ=l"によって
示されている)。2番目の待ち行列に関連付けられた出
力VCNは、出力制御によってリサイクルされなかっ
た。
5が図15のA)のリストに追加されるプロセスを示
す。エントリ詳細が、リストの最後部にあるヌル・エン
トリに書き込まれ、新しいヌル・エントリがリストに付
加される。使用者ポインタC1、C2、C3は、以前と
同じエントリをポイントする。
存在するけれども、対応する出力VCNが送出制御経路
に存在せず、従って、スケジュー決めをできる状態にな
いため、該新しいエントリは送出されない。しかし、第
1と第2の待ち行列にある出力VCNはまだ送出制御経
路にとどまり、スケジュール決めが行われていて、従っ
て、これらの待ち行列の各々の長さは次第に短縮され
る。リスト・エントリが3度目に出力されると(これは
第1または第3の待ち行列に関して行われるかもしれな
いが)、該エントリは解放される。当然の帰結として、
エントリCell4は、第1と第3の待ち行列の1つか
ら出力され、同時に、待ち行列に関連付けられた出力V
CNは、Cell4エントリの停止ビットがセットされ
ているので、リサイクルされず、従って、対応する使用
者ポインタは、ポインタC2とともにエントリCell
5に向けられることとなる。最終的には、Cell4エ
ントリは、3つの待ち行列の最後のものによって出力さ
れ、対応する使用者ポインタは、エントリCell5を
ポイントするようにセットされる。エントリCell4
は解放され、3つの待ち行列すべての出力VCNを送出
制御経路に再導入して、これらの待ち行列からのエント
リの出力を再スタートさせるため始動ブロック82を始
動させる必要があることを出力制御69は認識する。
Nに関し"始動"を実行し、それをすべての関連する出力
VCNに拡大する。本実施例においては、最初の出力V
CNは、ユニキャストの場合にマスタVCNが直接出力
VCNと見なされるようにするため、マスタVCNと同
じ値にされる。拡張動作によって提供される出力VCN
は、資格制御ブロック77の要求に応じてブロック82
から資格制御ブロックに渡される。
対し出される始動信号は、空きから非空き状態へ変える
もの("非空き"始動)であり、出力制御からすべての待
ち行列70に関し出される始動信号は、停止ビットがセ
ットされているエントリに続くエントリの位置にリスト
を配置するもの("ストップ解除"始動)である場合があ
る。出力制御からの始動は、常にマルチキャストの場合
に関するものであるが、一方、入力制御66からの始動
は、ユニキャストまたはマルチキャストいずれにも関連
させることができる。入力制御66はマスタVCNがユ
ニキャストまたはマルチキャストに関連するかどうかを
データ構造120のフィールド123に記憶されるデー
タ(図12参照)から判断し、"非空き"始動を送出始動
ブロック82上で実行する際に、マスタVCNととも
に、この情報を渡す。かくして、ブロック82は、始動
信号を受け取ることによって、当該マスタVCNとそれ
がユニキャストまたはマルチキャストのいずれに関する
ものであるかを知ることになる。
VCN動作の上流に置かれるバッファ機構を含む。これ
を実施する1つの方法は、受け取られる始動信号を記憶
するための始動FIFO140(図16参照)と各マル
チキャスト接続毎に関連出力VCNのグループを記憶す
るためのマルチキャスト・グループ記憶機構として、マ
ルチキャスト拡張機構83を実施することである。ブロ
ック82の概略動作は、次の通りである。始動信号が当
該マスタVCNを記録するため始動FIFO140に入
れられるとき、関連マルチキャスト・フラグが、始動が
マルチキャスト接続に関するものであるか否かを標示す
るように適切にセットされる。記憶された始動動作が、
FIFO順にブロック82によって処理され、出力回路
84は、資格制御ブロックによって要求される時、始動
のマスタVCNに関連する各出力VCNを出力する。特
に、始動がユニキャスト・マスタVCNに関する場合、
出力回路84は、単に対応する出力VCNとしてマスタ
VCNを出力する。しかし、始動のマルチキャスト・フ
ラグがセットされ、それがマルチキャスト・マスタVC
Nに関することを示している場合、出力回路84は、マ
スタVCNを使用して、マルチキャスト・グループ記憶
FIFO41へインデックスし各出力VCNを順番に出
力する。
する始動信号を保持するに十分な大きさにすることによ
って、マルチキャスト拡張を処理するために望まれる処
理の柔軟性を備えながら、いかなる始動信号も失うこと
はないようにするこができる。
ある。エントリ(始動)をFIFO140に追加するた
めの手順は、FIFOが現在空きであるか否かに依存す
る。これは、関連空きフラグ142によって標示され
る。空きフラグがオンにセットされていれば、FIFO
は空きであり、新しいエントリを追加するステップとし
て、始動された新しいマスタVCNを読み書きポインタ
143、144に書き込み、書き込みポインタによって
ポイントされるエントリのマルチキャスト・フラグ14
5を適切にセットし(本実施例においては、値1がマル
チキャスト接続を標示する)、空きフラグ142をリセ
ットする。
IFO140は空きでなく、新しいエントリを加えるた
め次の2つのステップがとられる。第1に、新しいマス
タVCNが、書込みポインタが現在ポイントする位置に
書き込まれる。第2に、新しいマスタVCNが書込みポ
インタに書き込まれ、書込みポインタによってポイント
される新しい位置にあるマルチキャスト・フラグが適切
にセットされる。図16に示される例において、マスタ
VCNをFIFO140に追加するため、位置14への
書き込みと書込みポインタへの書込み、および、位置1
1におけるマルチキャスト・フラグの適切なセットが行
われる。
読取りポインタによってポイントされる位置に保持され
るマルチキャスト・フラグの状態とともに読み取りポイ
ンタ143の値が戻される。次に、読み取りポインタが
ポイントする位置を読み取り、読取りポインタの新しい
値として読み取った値を記憶することにより、読取りポ
インタは進められる。しかし、この新しい値が読取りポ
インタに書かれる前に、古いエントリは、ヌルに変えら
れなければならない。一旦これが行われれば、新しい値
を読取りポインタに書き込むことができる。
るとき、FIFO140は空きであり、この場合空きフ
ラグがセットされる。
み込みは、それがユニキャスト接続に関するものである
ことを標示する値1をマスタVCNへ戻すであろう。読
取りポインタを進めるステップには、(値2を与えて)
ロケーション1を読み取ること、ロケーション1に0を
書き込むこと、そして最後に2を読取りポインタに書き
込むというステップが含まれる。
ニキャスト接続に関する場合、単に該マスタVCNが出
力VCNとして出力される。しかしながら、マスタVC
Nがマルチキャスト接続に関する場合、マルチキャスト
・グループ記憶141が出力されるべき出力VCNに関
し参照されなければならない。
41において単一にリンクされたリストとして保持され
る。これらのリストは、マルチキャスト接続が設定され
るとき作成される。特定のマルチキャスト・マスタVC
N上に始動を拡大するステップには、初期的にマスタV
CNを使用して記憶機構141の正しいリストにアクセ
スし、次に、該リストに従ってマルチキャスト・ポイン
タ146を使用し、遭遇する出力VCNの各々をコピー
するステップが含まれる。図16のエントリの例は以下
のことを示している: −マルチキャスト・グループ: 3、4、13 の設定: 5、6、10、12 ‐マスタVCNの入力順序: 1、2、5、8、14 ‐出力VCNの出力順序: 1、2、5、6、10、12、8、14 図17は、図16の構成の改良を示す。マスタVCNに
関連づけられる最初の出力VCNは、マスタVCNと同
じ値を持つので、マルチキャスト・グループにおける最
初の出力VCN以外の出力VCNは,どのマスタVCN
と異なる値をもって選択される。この結果、始動FIF
O140とマルチキャスト・グループ記憶機構141を
同一のメモリ・ブロックを使用するように設計し、各マ
ルチキャスト・グループ・リストの最初のエントリが対
応するマスタVCNエントリに対し冗長であるとして破
棄されるようにすることが可能である。図17はFIF
O140と記憶機構141のこのような効率的合併を視
覚的に示している。今やマルチキャスト・マスタVCN
が始動FIFOから読み取られるとき、その値は、対応
するマルチキャスト・グループの最初の出力VCNとし
て出力され、その他の出力VCNは、適切なリンクされ
たリストを使用して出力される。実際に、このリストの
位置決めを行うため、一定の適切な接続が提供されなけ
ればならない。本実施例においては、あらゆるマルチキ
ャスト・グループの2番目の出力VCNが、1番目の出
力VCN(すなわちマスタVCN)より1だけ大きい値
を常に持つように単純に設計することによって、上記接
続は暗黙裡になされる。各マスタVCNに関連する追加
ポインタを含むことによって明示的に(かつ可変的に)
上記接続を行うよう設計することもできるが、これは好
ましくはない。
プ記憶に属するエントリでさえマルチキャスト・フラグ
・フィールドを有するものとして示された点に留意する
必要がある。これは、FIFOデータに属していようが
記憶データ構造141に属していようが、すべてのエン
トリを同一サイズにすることが単に便利であることによ
る。
は、各始動信号が活動化され次第、接続を効果的に設定
して、適当な出力VCNを待機する出力シーケンスに追
加するので、単なる1つの出力VCN FIFO記憶機
構として見なすことができる点に留意する必要がある。
エントリを図17の構成のようにするために出力毎VC
N動作が必要とされないから(唯一の出力毎VCN動作
動作は、出力VCNを図17の構成から取り出す際に必
要とされるものであるから)、始動信号でなく出力VC
Nをバッファに格納することは可能である。
特性のいずれかである出力VCに関して資格制御ブロッ
ク77へ送出クレジットを付与する。すなわち、 (a)最善の努力(フローは制御される)、または、 (b)保証された帯域幅。 (a)の場合に関しては、送出クレジットは、下流ノード
によって定められる使用可能バッファ空間量を反映す
る。下流ノードから受け取るクレジット・メッセージを
解釈し、当該出力VCNのために設定されたクレジット
量をクレジット付与ブロック80に通知するのは、フロ
ー制御ブロック85の責任である。(b)の場合(保証さ
れた帯域幅VC)に関しては、クレジット付与ブロック
80は、トークン(クレジット)を定期的間隔で生成す
るためにトークン・バケット・ロータを動作させる。特
定の保証された帯域幅VCに関してトークンが生成され
る平均速度は、VCが送出されることを可能にする速度
を反映するようにセットされる。生成されたクレジット
は、資格制御77ブロックに渡され、そこで、それらは
適切な出力VCNに関連づけられるトークン・バケット
に記憶される。ある出力VCNに関してセルが送り出さ
れるとき、クレジットが、対応するトークン・バケット
から取り出される。クレジット付与ブロックによって操
作されるトークン・バケット・ロータは、図18に示さ
れるテーブル150とカウンタ151を使用する。
ントリ)であり、保証された帯域幅VCに関連する出力
VCNを保有する。クレジット増分値は、各出力VCN
に関連づけられる。カウンタ151は、定期的間隔で増
分されるモジュロMカウンタである。カウンタが増分さ
れたあと、出力VCNとクレジット増分がテーブルから
読み取られ、資格制御ブロックに送られる。テーブル・
エントリがブランクの場合、この間隔の間クレジットは
送り出されない。
ット増分フィールドを持つ理由は、資格制御ブロックが
セル期間毎にトークン・バケット・ロータにサービスす
る必要性を避けるためである。例えば、トークン・バケ
ット・ロータがセル期間毎にだけサービスされるなら
ば、ただ1つのクレジットが各サービス毎に送り出され
る場合、本発明のスイッチは、保証された帯域幅VCN
に対しその出力帯域幅の半分以上を割り当てることがで
きないであろう。逆にこの問題が常に2つのクレジット
を送り出すことによって回避されるならば、トークン・
バケットの正確度はあがるであろう。
つまたは2つのクレジットが送り出されるべきか否か標
示できるように1ビット幅である。このフィールドの幅
は、一層の柔軟性を持たせるためさらに大きくすること
は可能である。
ブルの長さは、帯域幅を割り当てる際に必要な分解能に
よって決定される。典型的には、各テーブル・エントリ
は、64Kビット/秒スライスの帯域幅に対応するよう
に構成できる。
時に設定される。特定の出力VCNに関し1つの64K
ビット/秒スライスが必要であれば、プロセッサ装置
は、空きテーブル・エントリを見出し、VCNをそれに
書きこまなければならない。さらに多くのスライスが必
要であれば、プロセッサ装置は、可能な限り均一な間隔
で数回にわたって出力VCNをロータへ書き込まなけれ
ばならない。
必要とする出力VCNの送出クレジットを追跡し、送出
クレジットを必要としそれを持つか、または、そのよう
なクレジットを必要としない送出セルとともに、それら
出力VCNをスケジュール・ブロック75へ渡すことで
ある。
関し一定量のデータを維持する。このデータは(図19
の)テーブル81に保持され、以下の項目を含む。 −クレジット(出力VCNが現在送出すべきクレジット
を持つセルの数)、 −最大クレジット(クレジット・フィールドが取り得る
最大値)、 −"セル・フラグ"(出力VCNがその待ち行列中にセル
を持つがクレジット不足のためにスケジュールされなか
ったことを標示するフラグ)、 −QOS(出力VCNに関連するサービス特性で、GB
0、GB1、BEのいずれか)、 −"出力制御フラグ"(保証された帯域幅出力VCNが定
形出力を持つか、最善努力出力VCNがフロー制御され
ていることを標示するフラグ)、 −外部ポート番号。 クレジットと"セル・フラグ"を除き上記データのすべて
は、接続確立時に設定され以後変更されない。
は、4つの異なるソースから入力メッセージを受け取る
ように構成される。各入力メッセージは、出力VCNと
そのVCNに関連する情報を含む。これらの入力と出力
VCNの送出クレジットに及ぼすそれら入力の効果は以
下の通り。 1. 送出始動ブロック82からの出力VCN。この場
合、ブロック82は少くとも1つの新しいセルがその出
力VCNに関し使用可能であるという信号を送る。この
入力は、対応するクレジット・カウントに影響を及ぼさ
ない。 2.出力VCNとクレジット付与ブロック80のトーク
ン・バケット・ロータからのクレジット増分。ブロック
80は、出力VCNのトークン・バケットがその中にな
お多くのクレジットを持つことを示す信号を送る。これ
に応じて、クレジット・カウントが最大クレジット限界
の範囲で増分される。 3.出力VCNと(クレジット付与80ブロックを経由
しての)フロー制御ブロックからのクレジット量。フロ
ー制御ブロックは下流ノードがこの量のクレジットを発
行したことを示している。これに応じて、対応するクレ
ジット・カウントがセットされる。 4.おそらく"送出セルあり"標識とともに送られる待ち
行列ブロック63からの出力VCN。出力VCNの受領
は、セルがその出力VCN上に送り出されたことを示す
ため、出力VCNクレジットは(ゼロである場合を除
き)減分されなければならない。「送出セルあり」識別
信号は、VCNの待ち行列がなお多くのセルを持つこと
を示すので、まだクレジットがある限り、スケジュール
決めを継続しなければならない。
た出力VCNのクレジット・カウントに必要な調整を行
った後、引き続きその入力を検討して、出力VCNを適
切な待ち行列に入れるスケジュール・ブロックへメッセ
ジを送るべきか否かを判断する。メッセージは、以下の
状況の場合スケジュール・ブロックに送り出される。 1. 送出始動ブロックからの出力VCNは、次の場合に
メッセージが送り出されるようにする: *クレジットが0以上である場合、または、 *VCNが非定形出力をもつ保証された帯域幅である場
合、または、 *VCNがフロー制御なしBEの場合。 2.出力VCNとトークン・バケット・ロータからのク
レジット増分は、VCNがセルを持つがクレジットがな
かったため以前にスケジュールされなかったことを示す
オンに"セル・フラグ"がセットされていれば、メッセー
ジが送出されることを可能にする。 3.出力VCNと出力フロー制御ブロックからのクレジ
ットは、クレジットがゼロでなく「セル・フラグ」がオ
ンにセットされていれば、メッセージが送出されること
を可能にする。 4.出力VCNと待ち行列ブロックからの「送出セルあ
り」標識信号は、以下の場合メッセージが送出されるこ
とを可能にする: *減分後のクレジットが0以上の場合、または、 *出力VCNが非定形出力を持つ保証された帯域幅であ
る場合、または、 *出力VCNがフロー制御なしBEの場合。
ッセージは、出力VCNのみならず、関連外部ポート番
号と待ち行列番号とを含む。外部ポート番号の入手は、
テーブル81を探索すればできる。待ち行列番号は、通
常VCNのQOSに対応している。従って、GB0出力
VCNは、待ち行列0に、GB1出力VCNは待ち行列
1に、そしてBE出力VCNは待ち行列2にそれぞれ向
けられる。この規則には例外が1つある。すなわち、非
定形出力を持ちクレジットを持たないGB出力VCN
は,待ち行列2(BE待ち行列)に入れられる。
い最後の作業は、"セル・フラグ"の更新である。"セル
・フラグ"は、出力VCNが待ち行列に入れられたセル
を持つが、クレジットがなかったためスケジュール・ブ
ロックに渡されなかったことを標示する。これが発生す
る2つの状態がある: −出力VCNが送出始動ブロックから到着し、出力VC
Nがクレジットがないためスケジュール・ブロックに渡
されない場合、および、 −出力VCNが"送出セルあり"標識を持って待ち行列か
ら到着し、クレジットがないためスケジュール・ブロッ
クに渡されない場合。
ットされる。その他のすべての場合、出力VCNがフロ
ー制御ブロックから到着し、出力VCNがクレジットが
ないためスケジュール・ブロックに渡されない場合(こ
の場合"セル・フラグ"は変えられない)を除いて、"セ
ル・フラグ"はクリアされる.資格制御ブロックについて
留意すべきもう1つの点は、それが各入力からメッセー
ジを受け取る頻度である。該ブロックが1セル期間に4
つの入力すべてを取り扱うことができれば問題はない。
しかし、典型的にはそのようにはならず、セル期間につ
き2つの入力しか扱うことができない。従って、どの入
力が各セル期間にサービスされる必要があるかを決定す
る上で、以下の考察がなされる。 −各セル期間毎にセル詳細を送ることができるので、待
ち行列ブロック63からの入力は、各セル期間毎に処理
されなければならない。 −トークン・バケット・ロータは、増分の大きさを指定
できるので、あらゆるサイクルより短い間隔で出力を提
供するように設計できる。 −フロー制御入力は、セル期間に比較して頻繁ではな
く、資格制御ブロックからフロー制御ブロックへ送られ
る"準備完了"信号によって制御ができる。 −送出始動ブロックは1セル期間より遅い速度で始動信
号を出し、始動信号が1セル期間で到着していても、情
報が消失しないということを保証する始動FIFOがあ
る。かくして、この入力もまた"準備完了"信号によって
制御されることができ、セル期間毎に読み取られる必要
はない。
ることができるという観点から、図20のロータ155
が使用され、そこで、待ち行列ブロック入力がセル期間
毎にサービスされ、セル期間1つおきにトークン・バケ
ット・ロータが入力し、4セル期間に一度残りの入力が
行われる。
割は、送出し続けるべき次の出力VCNを選択し、待ち
行列ブロック63の出力制御69へこの出力VCNを渡
すことである。
構造76がスケジュール・ブロックで維持される。各構
成は、図9に図示されるように、(GB0、GB1、B
Eの)各優先度に対し1つ当て合計3つのFIFO待ち
行列を含む。スケジュール・ブロックは、メッセージを
資格制御ブロックから受け取り次第、メッセージに含ま
れる出力VCNを、メッセジの他の情報によって示され
る適切な待ち行列に書き込む。スケジュール機構78
は、外部ポート・ロータ60Bに従って、待ち行列構造
76を調べる。
と、スケジュール機構78は、そのポートに関する待ち
行列構造における最も高い優先度の非空き待ち行列を探
し、そこから最初の出力VCNを読み出す。
ート・ロータ60Bは、(外部入力と出力ポートが対に
されていると仮定すると)マスタVCN探索ブロック6
1に関連するロータ60Aと本質的に同じものである。
しかしながら、出力FIFO42ががそのしきい値(1
セル相当量)を越えるときを考慮に入れるため、アダプ
タ・カードのモニタ44からの入力を出力ポート・ロー
タ60Bは使用する。特に、ロータ60Bは、FIFO
がしきい値まで空になるまでヌル・ポート番号を対応す
るスケジュール機構のタイム・スロットに出力すること
によって、そのFIFOがそのしきい値を越えた外部出
力ポートに関してスケジュールが行われることを防止す
る。
待ち行列を実施するデータ構造は、マルチキャスト拡張
機構83において使用されるものと同じである。出力V
CNがスケジュール・ブロック待ち行列において任意の
1時点でただ一度だけ出現することが保証されるので、
これらの効果的構造を使うことができる。実際に、出力
VCNが多くとも1つの待ち行列にあるだけである。結
果として、FIFO待ち行列のどれもいっぱいにならな
いことを保証しながら、FIFO待ち行列のすべてを1
つの小さいブロックのメモリに上重ねすることが可能で
ある。
ために使われるデータ構造が、外部ポート0に関連する
待ち行列に関するサンプル・データと共に、図21に示
されている。この図で点線の引かれたボックスで示され
ているものは、サンプル・データの一層便利なFIFO
を表している。
ート0、GB0)は、先頭ポインタ161、最後部ポイ
ンタ162および空きフラグ163を持つ単一リンク・
リストとして記憶される。これらのポインタは、すべて
の可能な出力VCNを保持するに十分な大きさのメモリ
・ブロックを参照する。データは、上述の始動FIFO
の場合と同様の方法で各FIFO待ち行列から読み出さ
れそこへ書き込まれる。
後、最後部ポインタ162は、FIFO待ち行列が空に
なったかどうか見るためにテストされる。最後部ポイン
タがヌルであれば、FIFOは空であり、空きフラグ1
63がセットされる。書込みがそのFIFO待ち行列に
行われるまでフラグはセットされたままである。
頭および最後部ポインタとグループにまとめられて図示
されている。しかし、実際問題として、同じ外部ポート
に関連付けられたすべての待ち行列の空きフラグ163
は、それらが一度の動作で読み込まれるようにするため
1つのグループに集められる。これによって、スケジュ
ール機構が、ロータ60Bのどの待ち行列を現在時外部
ポートに関し読み込むべきかを容易に決定できる。
を取り出した後、セル詳細待ち行列ブロック63の出力
制御69へこの出力VCNを渡し、そこで、その出力V
CNに関し次に出力されるべきセルのセル詳細が取り出
される。これらのセル詳細と出力VCNは、出力ヘッダ
生成64ブロックに渡され、送出されるべきセルに関す
るヘッダが生成される。ヘッダを生成する第1のステッ
プは、出力VCNを使用して、この情報を記憶する出力
VPIとVCIをテーブル165で探しあてることであ
る。このテーブル165は、接続確立時点に設定され
る。
セル詳細情報からのセル・タイプとAAL5EOPビッ
トと組み合わせられ、セル・ヘッダの最初の4バイトを
形成する。次に、これらは、セル本体のアドレスととも
に、ファブリック30に渡される。ヘッダ・エラー・チ
ェックはここでは計算されない点に留意する必要があ
る。この計算は関連アダプタ・カードでされる。
しろ好まれるとはいえ、上述された機能ブロックは様々
な方法で実行されることができることは認められること
であろう。
数ブロック間に分割することができ、一般的にはこれら
のブロックの境界は任意であるということも認められる
であろう。例えば、図22を参照すると、マルチキャス
ト拡張機能83に供給された"始動"信号を生成するため
に使用される機能性は、待ち行列ブロックでなくむしろ
送出制御経路に存在するとみなすこともできる。特に、
この始動信号生成機能性は、送出始動ブロック82(図
22の始動生成ブロック170参照)の一部とみなすこ
とができる。この始動信号生成ブロックは、到来するセ
ルのすべてのマスタVCNを効果的に受け取るが、適切
な条件が存在していることを標示するため待ち行列ブロ
ックに保持されている待ち行列データ171(すなわ
ち、作成者と使用者ポインタ、空きフラグおよび停止ビ
ット)に関する始動信号を生成するだけである。同様
に、出力VCNをリサイクルするためのメカニズムは、
待ち行列ブロック63に埋め込まれる方法ではなく、む
しろ送出制御経路に含まれる待ち行列データ応答型機能
性とみなすことができる(図22のリサイクル・ブロッ
ク172参照)。また、スケジュール機構78によって
出力される出力VCNは新たなセル出力メカニズムに対
し行われるように考えることもできる。このメカニズム
は、ブロック75を含み、セル本体アドレスを与えるた
め待ち行列ブロック63を使用する。記述されたスイッ
チの動作原理を根本的に変えることなく機能ブロック境
界における多数のバリエーションを想定することができ
る。
ある。特に、送出始動82から資格制御ブロックへの出
力VCNの導入を行うためのメカニズムは、図23に示
されようなバリエーションを取ることができる。図23
の境界は、図22と同じ機能ブロック境界をもって図示
されている。図23の出力VCN導入メカニズムの背後
にある一般的原理は、ブロック61によって生成される
新しいマスタVCN各々によって標示される新しいセル
の到着の各々にマルチキャスト拡張機構82が応答する
ように構成されることである。この結果、特定のマスタ
VCNに関する始動信号を受け取ると、マルチキャスト
拡張機構は、スケジュール決めループに入っていない
(すなわち、資格制御ブロックに保持され、ケジュール
・ブロック75で待ち行列に入れられ、または、リサイ
クル手段172によってリサイクルされるプロセス中
の)それら関連出力VCNを導入のため待ち行列に入れ
るだけである。
止ビットを活用し、始動信号がマルチキャスト拡張機能
に送られる条件を設定し判定するこをもはや必要としな
いことである。結果として、待ち行列ブロック63の入
力・出力制御66、69の動作が単純化され、図22の
始動信号生成ブロック170は完全に取り除かれてい
る。しかしながら、この利点を得るためには、どの出力
VCNがスケジュール・ループに入っていないかをマル
チキャスト拡張機構が知ることができるように設計しな
ければならない。もちろん、新たに設定された接続に関
する最初のマスタVCNの受領に先立って、スケジュー
ル・ループに入っている出力VCNはないから、マスタ
VCNに関するすべての出力VCNがスケジュール・ル
ープに導入される準備ができているようにマルチキャス
ト拡張機構を初期的に設定することはできる。更に、一
旦特定のマスタVCNに関連づけられた出力VCNがス
ケジュール・ループに導入されたならば、出力VCNが
ループから出そうになる時点をリサイクル手段172が
マルチキャスト拡張機構に通知することは容易となる。
その出力VCNに関する出力待ち行列70が空きである
とリサイクル手段が判断する場合、リサイクル手段は、
資格制御ブロックではなくマルチキャスト拡張機構へ出
力VCNを戻す(実際には、出力VCNはなお、クレジ
ット・セットの目的のため資格制御ブロックに渡される
が、"送出セルあり"フラグはセットされない)。
連出力VCNがスケジュール・ループにないマスタVC
Nの各々に関するリストを保持するだけでよい。すなわ
ち、マスタVCNをブロック61から受け取ると、マル
チキャスト拡張機構は、単に、資格制御ブロック77へ
の出力回路84による導入のため出力VCNの適切なリ
ストを出力FIFOに書き込む。
りである。 −スケジュール手段において複数の出力VCNの発生を
可能とすること(マルチキャスト拡張機構は、対応する
セルを受け取ると常に、マスタVCNと関連する出力識
別子の全セットを導入する。この場合リサイクル手段は
必要ない)。 −セル本体順序付けデータを待ち行列ブロックに別々に
記憶せずに、リンクされたリストに直接セル本体を記憶
すること。 実用上、これらの可能なバリエーションのどれも好まし
くはない。
(固定長パケットである)セルを持つシステムに対する
と同様に可変長パケットを持つパケット型システムにも
適用できることは認められるであろう。
が含まれる。 (1)各々がパケット本体を有する複数のパケットから
なる入力ストリームを市区なくとも1つ受け取り、該入
力ストリームの複数パケットのパケット本体を複数の出
力ストリームのパケットへ複製することによって、複数
のパケット出力ストリームとして前記入力ストリームを
マルチキャスティングするための装置であって、パケッ
トを受け取り、各パケットがどの入力ストリームに属す
るかを判断するための入力手段と、前記入力手段によっ
て受け取られたパケットのパケット本体、および受け取
られたパケット本体を受け取った順序で順序付けするた
めに使用される各入力ストリーム毎の順序データ・セッ
トを記憶するための記憶手段であって、新たなパケット
本体が記憶されると、該パケットが属する入力ストリー
ムの前記順序データ・セットを前記入力手段の判断に従
って更新する入力制御手段と、出力ストリーム上に送出
されるべき次のパケット本体を識別するため、各出力ス
トリーム毎に対応する入力ストリームの順序データ・セ
ットを参照する順序位置識別子を維持する出力制御手段
とを有する、記憶手段と、前記出力ストリーム上への出
力をスケジュールするため前記記憶手段の出力制御手段
と連係して現在スケジュールされている出力ストリーム
上へ次に出力すべきパケット本体を識別し、識別したパ
ケット本体を取り出し、前記現在スケジュールされてい
る出力ストリーム上へ取り出したパケット本体を出力す
るための出力手段と、を備えるマルチキャスティング装
置。
・セットは、前記記憶手段に別々に記憶され、前記順序
データ・セットの各々は、それぞれ対応するパケット本
体をポイントするパケット本体ポインタと次のエントリ
をポイントする次エントリ・ポインタとを各々が持つパ
ケット詳細エントリのリストを含み、新たなパケット本
体が記憶されると、前記入力制御手段は、当該パケット
に対応する前記リストのパケット詳細エントリのパケッ
ト本体ポインタを新たに記憶されたパケット本体をポイ
ントするようにセットすることを含めて前記リスト中の
対応するパケット詳細エントリをセットアップし、各出
力ストリーム毎に前記出力制御手段によって維持される
順序位置識別子の各々は、当該出力ストリームに関し次
に送出されるべきパケット本体のためのパケット詳細エ
ントリをポイントする、上記(1)に記載のマルチキャ
スティング装置。 (3)パケット詳細エントリがセットアップされる際
に、該パケット詳細エントリが保有されている前記パケ
ット詳細リストに関連する入力ストリームからマルチキ
ャストされるべき出力ストリームの数を示す値に前記入
力制御手段によってセットされるマルチキャスト・カウ
ント項目をパケット詳細エントリの各々が持つように構
成され、前記出力制御手段が、前記出力手段が対応する
パケット本体を出力する度毎に該パケット本体がすべて
の該当出力ストリーム上へ出力されるまで、前記パケッ
ト詳細エントリのカウント項目を減分し、最後に、前記
リストから当該エントリを削除する、上記(2)に記載
のマルチキャスティング装置。
識別子によって識別され、前記入力手段は、新たに受け
取るパケットが属する入力ストリームを識別する入力識
別子を該パケットに付与し、前記記憶手段の入力制御手
段は、前記リストの各々の最後部をポイントするリスト
・ポインタを保持し、各入力識別子と、入力識別子によ
って識別される入力ストリームに関連する前記リストを
ポイントする前記リスト・ポインタとの間の関連性を保
持する、上記(2)に記載のマルチキャスティング装
置。 (5)前記リスの各々は、パケット関連情報を持たない
最後部エントリを含み、前記入力制御手段によって保持
されるリスト・ポインタは、前記最後部エントリをポイ
ントするように構成され、新たなパケット本体が記憶さ
れる際に、前記入力制御手段は、該当するリストへ新た
な最後部エントリを追加し、それまで最後部であったエ
ントリを新たなパケット本体のためのパケット詳細エン
トリとして使用し、制御手段は、該リストのリスト・ポ
インタをそれに応じて更新する、上記(4)に記載のマ
ルチキャスティング装置。 (6)各出力ストリームは対応する出力識別子によって
識別され、前記出力手段は、前記出力識別子を基に出力
ストリームの出力スケジュールを行い、対応する出力識
別子を出力することによって、次にスケジュールされる
出力ストリームを識別する送出制御手段を含み、前記記
憶手段の出力制御手段は、各出力識別子と、該出力識別
子によって識別される出力ストリームに関する順序位置
識別子との間の関連性を維持し、出力手段によって出力
識別子を付与されると、前記出力制御手段が、該関連性
を活用して当該出力ストリームに関し次に出力されるべ
きパケット本体のためのパケット本体ポインタを取り出
す、上記(1)に記載のマルチキャスティング装置。
手段と該スケジュール手段に出力識別子を導出するため
の導出手段とを含み、該スケジュール手段は、前記出力
識別子を基に出力ストリームの出力スケジュールを行
い、次に出力すべき出力ストリームに対応する出力識別
子を出力し、その後そのストリームを該スケジュール手
段から取り除き、前記導出手段は、入力手段による少な
くともいくつかの新たなパケットの受領に応答して、そ
れらパケットが属する入力ストリームに関連する少なく
ともいくつかの出力ストリームの出力識別子を前記スケ
ジュール手段に導出し、前記スケジュール手段において
出力識別子が任意のある時点でただ1度だけ出現するよ
うに送出制御手段が構成され、該送出制御手段は、前記
スケジュール手段によって最後に出力される出力識別子
に関連する順序データ・セットの状態に応答して、該順
序データ・セットが当該出力ストリーム上に送出される
べきパケット本体がなお存在することを標示する場合、
前記スケジュール手段に当該出力識別子を戻す、上記
(6)に記載のマルチキャスティング装置。 (8)前記パケットがATMセルせある、上記(1)に
記載のマルチキャスティング装置。 (9)前記パケット本体は各々、前記記憶手段において
ただ一度だけ記憶され、前記順序データ・セットは、対
応するパケット本体をポイントするポインタを含むエン
トリを持ち、該エントリのそれぞれは、同時に使用され
る順序データ・セット(複数)においてただ一度だけ存
在し、各出力ストリームは、それぞれの出力識別子によ
って識別され、出力手段は、出力識別子を基に出力のス
ケジュールを行う送出制御手段を含み、前記出力識別子
の各々は、前記送出制御手段の中で任意の一時点で一度
以上は存在しない、上記(1)に記載のマルチキャステ
ィング装置。
本体を出力ストリームの待ち行列ごとに複製して記憶さ
せたり、共有メモリ内のパケット本体のアドレスを出力
ストリームごとの待ち行列に重複して入れておく必要が
なく、効率的に出力ストリームを形成することができ
る。
の形式を示すブロック図である。
供給される前に先ずマルチプレクスされる形態の一般的
ATMスイッチ・アーキテクチャを示すブロック図であ
る。
ブロック図である。
示すブロック図である。
ータのテーブルを示すブロック図である。
図である。
トに関するサービス・ロータのテーブルを示すブロック
図である。
ラの機能ブロック図である。
て保持されるポート待ち行列を示すブロック図である。
ックのブロック図である。
トを破棄するための2つの方法を示すブロック図であ
る。
ける各種リストと待ち行列を実施するために使われるデ
ータ構造を表すブロック図である。
ーム・リストへの追加を示すブロック図である。
力制御の動作を示す流れ図である。
行列のセル詳細エントリの各々に含められる停止ビット
の目的と効果を示すブロック図である。
段を実行するためのデータ構造を示すブロック図であ
る。
すブロック図である。
るクレジット・バケット・ロータ・テーブルを示すブロ
ック図である。
作を示すブロック図である。
ス・ロータを示すブロック図である。
クで使われるデータ構造を表すブロック図である。
ラの機能ブロック図である。
2と同じ機能ブロック図である。
X) 4 入力リンク 5 出力リンク 6 分割機構 7、8、9、11、14、15、17、18、19、2
7 ライン 10 ヘッダ変換機構 12 結合機構 13 共有メモリ 16 出力待ち行列 20 Nポートのスイッチ・コア 21 スイッチ・コアのポート 22 アダプタ・カード 23 外部スイッチ・ポート 24 プロセッサ装置 25 マスタ・クロック 26 局所スレーブ・クロック 30 ファブリック 31 セル本体共有メモリ 32 空きアドレス・リスト・メモリ 33 コントローラ 34 通信ブロック 37 入力ポート 38 出力ポート 40 物理層/フレーム機構(PHY
S) 41 入力先入先出機構(FIFO) 42 入力検出機構 43 出力先入先出機構(FIFO) 44 出力検出機構 45 時分割マルチプレクサ 46 入力ポート・ロータ機構 48 出力ポート・ロータ機構 49 空セル挿入機構 50 空セル検出・破棄機構 60 ロータ 60A 外部入力ポート・ロータ 60B 外部出力ポート・ロータ 61 VCN探索ブロック 62 監視ブロック 63 セル詳細待ち行列ブロック 64 出力ヘッダ生成ブロック 65 セル詳細リスト 66 セル詳細入力制御 67 作成者ポインタ 68 使用者ポインタ 69 セル詳細出力制御 70 セル詳細待ち行列 75 スケジュール・ブロック 76 待ち行列構造 77 資格制御ブロック 78 スケジュール78 80 クレジット付与ブロック 81 出力VCNテーブル 82 出力VCN送出始動ブロック 83 マルチキャスト拡張機構 84 出力回路 85 フロー制御ブロック 90 スクランブラ 91 スプリッタ 92 高位テーブル 93 低位テーブル 94 2次元テーブル 95 比較器 102 EOPビットを持つセル 103 EOPビット 104 最後のセル 112 セル本体アドレス・フィールド 113 セル・タイプ/EOPビット・
フィールド 114 参照カウント・フィールド 115 停止ビット・フィールド 116 次エントリ・ポインタ・フィー
ルド 117 次エントリ・ポインタ 120 入力制御データ構造 121 作成者ポインタ・フィールド 122 空きフラグ・フィールド 123 初期参照カウント・フィールド 125 出力制御データ構造 126 使用者ポインタ・フィールド 127 マスタVCN識別フィールド 140 始動FIFO 141 マルチキャスト・グループ記憶
データ構造 142、163 空きフラグ 143 読み取りポインタ 144 書き込みポインタ 145 マルチキャスト・フラグ 146 マルチキャスト・ポインタ 150、165 テーブル 151 カウンタ 155 ロータ 161 先頭ポインタ 162 最後部ポインタ 170 始動生成ブロック 171 待ち行列データ 172 リサイクル手段
Claims (1)
- 【請求項1】各々がパケット本体を有する複数のパケッ
トからなる入力ストリームを少なくとも1つ受け取り、
該入力ストリームの複数パケットのパケット本体を複数
の出力ストリームのパケットへ複製することによって、
複数のパケット出力ストリームとして前記入力ストリー
ムをマルチキャスティングするための装置であって、 パケットを受け取り、各パケットがどの入力ストリーム
に属するかを判断するための入力手段と、 前記入力手段によって受け取られたパケットのパケット
本体、および受け取られたパケット本体を受け取った順
序で順序付けするために使用される各入力ストリーム毎
の順序データ・セットを記憶するための記憶手段であっ
て、新たなパケット本体が記憶されると、該パケットが
属する入力ストリームの前記順序データ・セットを前記
入力手段の判断に従って更新する入力制御手段と、出力
ストリーム上に送出されるべき次のパケット本体を識別
するため、各出力ストリーム毎に対応する入力ストリー
ムの順序データ・セットを参照する順序位置識別子を維
持する出力制御手段とを有する、記憶手段と、 前記出力ストリーム上への出力をスケジュールするため
前記記憶手段の出力制御手段と連係して現在スケジュー
ルされている出力ストリーム上へ次に出力すべきパケッ
ト本体を識別し、識別したパケット本体を取り出し、前
記現在スケジュールされている出力ストリーム上へ取り
出したパケット本体を出力するための出力手段と、 を備えるマルチキャスティング装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP94303120A EP0680179B1 (en) | 1994-04-28 | 1994-04-28 | Multicasting apparatus |
GB94303120.3 | 1994-04-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07321823A true JPH07321823A (ja) | 1995-12-08 |
Family
ID=8217678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10282695A Pending JPH07321823A (ja) | 1994-04-28 | 1995-04-27 | マルチキャスティング機能を備えた装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5572522A (ja) |
EP (1) | EP0680179B1 (ja) |
JP (1) | JPH07321823A (ja) |
DE (1) | DE69428186T2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003516029A (ja) * | 1999-12-01 | 2003-05-07 | モサイド・テクノロジーズ・インコーポレイテッド | ワイヤ速度のipマルチキャスト転送のための方法および装置 |
JP2003530745A (ja) * | 2000-04-08 | 2003-10-14 | サン・マイクロシステムズ・インコーポレイテッド | 複数クライアントへの単一メディア・トラックのストリーミング |
JP2009021872A (ja) * | 2007-07-12 | 2009-01-29 | Fujitsu Ltd | パケット伝送方法及び装置 |
JP2017501631A (ja) * | 2013-12-19 | 2017-01-12 | トムソン ライセンシングThomson Licensing | IP QoSメカニズムの自動選択のための方法、夫々のCPEデバイス及びコンピュータ可読記憶媒体 |
JP2021165691A (ja) * | 2020-04-08 | 2021-10-14 | 日東工業株式会社 | 直流漏電検出装置 |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330240B1 (en) * | 1987-04-24 | 2001-12-11 | Hitachi, Ltd. | ATM cell switching system |
US5365519A (en) | 1991-03-05 | 1994-11-15 | Hitachi, Ltd. | ATM switch1ng system connectable to I/O links having different transmission rates |
US5548587A (en) * | 1994-09-12 | 1996-08-20 | Efficient Networks, Inc. | Asynchronous transfer mode adapter for desktop applications |
US5684961A (en) * | 1995-04-28 | 1997-11-04 | Sun Microsystems, Inc. | System for defining multicast message distribution paths having overlapping virtual connections in ATM networks and assigning identical labels to overlapping portions of the virtual channels |
US5675829A (en) * | 1995-07-07 | 1997-10-07 | Sun Microsystems, Inc. | Method and apparatus for coordinating data transfer between hardware and software by comparing entry number of data to be transferred data to entry number of transferred data |
US5872769A (en) | 1995-07-19 | 1999-02-16 | Fujitsu Network Communications, Inc. | Linked list structures for multiple levels of control in an ATM switch |
US5898671A (en) | 1995-09-14 | 1999-04-27 | Fujitsu Network Communications, Inc. | Transmitter controlled flow control for buffer allocation in wide area ATM networks |
AU1697697A (en) | 1996-01-16 | 1997-08-11 | Fujitsu Limited | A reliable and flexible multicast mechanism for atm networks |
US5689500A (en) * | 1996-01-16 | 1997-11-18 | Lucent Technologies, Inc. | Multistage network having multicast routing congestion feedback |
US9530150B2 (en) | 1996-01-19 | 2016-12-27 | Adcension, Llc | Compensation model for network services |
US6264560B1 (en) | 1996-01-19 | 2001-07-24 | Sheldon F. Goldberg | Method and system for playing games on a network |
US5823879A (en) | 1996-01-19 | 1998-10-20 | Sheldon F. Goldberg | Network gaming system |
US6430186B1 (en) * | 1996-03-15 | 2002-08-06 | Pmc-Sierra, Inc. | Asynchronous bit-table calendar for ATM switch |
US5844901A (en) * | 1996-03-15 | 1998-12-01 | Integrated Telecom Technology | Asynchronous bit-table calendar for ATM switch |
US5781529A (en) * | 1996-03-27 | 1998-07-14 | General Datacomm, Inc. | Systems and methods for routing ATM switched virtual circuit calls |
US6141323A (en) * | 1996-06-03 | 2000-10-31 | Whittaker Corporation | Closed loop congestion control using a queue measurement system |
US6212182B1 (en) * | 1996-06-27 | 2001-04-03 | Cisco Technology, Inc. | Combined unicast and multicast scheduling |
US5898687A (en) * | 1996-07-24 | 1999-04-27 | Cisco Systems, Inc. | Arbitration mechanism for a multicast logic engine of a switching fabric circuit |
US5748905A (en) | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
US6226687B1 (en) * | 1996-09-05 | 2001-05-01 | Nortel Networks Limited | Method and apparatus for maintaining an order of data packets |
US5991867A (en) * | 1996-09-12 | 1999-11-23 | Efficient Networks, Inc. | Transmit scheduler for an asynchronous transfer mode network and method of operation |
US6046980A (en) * | 1996-12-09 | 2000-04-04 | Packeteer, Inc. | System for managing flow bandwidth utilization at network, transport and application layers in store and forward network |
US6085250A (en) * | 1997-03-20 | 2000-07-04 | Efficient Networks, Inc. | Method and system for using layered networking application program interfaces (APIs) using a native asynchronous transfer mode (ATM) API |
US6084881A (en) * | 1997-05-22 | 2000-07-04 | Efficient Networks, Inc. | Multiple mode xDSL interface |
US6078565A (en) * | 1997-06-20 | 2000-06-20 | Digital Equipment Corporation | Method and apparatus to expand an on chip FIFO into local memory |
US6049528A (en) * | 1997-06-30 | 2000-04-11 | Sun Microsystems, Inc. | Trunking ethernet-compatible networks |
US6081512A (en) * | 1997-06-30 | 2000-06-27 | Sun Microsystems, Inc. | Spanning tree support in a high performance network device |
US6094435A (en) * | 1997-06-30 | 2000-07-25 | Sun Microsystems, Inc. | System and method for a quality of service in a multi-layer network element |
US6014380A (en) * | 1997-06-30 | 2000-01-11 | Sun Microsystems, Inc. | Mechanism for packet field replacement in a multi-layer distributed network element |
US6088356A (en) * | 1997-06-30 | 2000-07-11 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
US5920566A (en) * | 1997-06-30 | 1999-07-06 | Sun Microsystems, Inc. | Routing in a multi-layer distributed network element |
US6044087A (en) * | 1997-06-30 | 2000-03-28 | Sun Microsystems, Inc. | Interface for a highly integrated ethernet network element |
US6081522A (en) * | 1997-06-30 | 2000-06-27 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
US6044418A (en) * | 1997-06-30 | 2000-03-28 | Sun Microsystems, Inc. | Method and apparatus for dynamically resizing queues utilizing programmable partition pointers |
US6246680B1 (en) | 1997-06-30 | 2001-06-12 | Sun Microsystems, Inc. | Highly integrated multi-layer switch element architecture |
US5938736A (en) * | 1997-06-30 | 1999-08-17 | Sun Microsystems, Inc. | Search engine architecture for a high performance multi-layer switch element |
US6119196A (en) * | 1997-06-30 | 2000-09-12 | Sun Microsystems, Inc. | System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates |
US6128666A (en) * | 1997-06-30 | 2000-10-03 | Sun Microsystems, Inc. | Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine |
US6052738A (en) * | 1997-06-30 | 2000-04-18 | Sun Microsystems, Inc. | Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory |
US6118760A (en) * | 1997-06-30 | 2000-09-12 | Sun Microsystems, Inc. | Management of entries in a network element forwarding memory |
US6016310A (en) * | 1997-06-30 | 2000-01-18 | Sun Microsystems, Inc. | Trunking support in a high performance network device |
US6128295A (en) * | 1997-07-11 | 2000-10-03 | Telefonaktiebolaget Lm Ericsson | Buffering of point-to-point and/or point-to-multipoint ATM cells |
US6185209B1 (en) * | 1997-07-11 | 2001-02-06 | Telefonaktiebolaget Lm Ericsson | VC merging for ATM switch |
US6088359A (en) * | 1997-07-11 | 2000-07-11 | Telefonaktiebolaget Lm Ericsson | ABR server |
US5963553A (en) * | 1997-07-11 | 1999-10-05 | Telefonaktiebolaget Lm Ericsson | Handling ATM multicast cells |
US6154459A (en) * | 1997-07-11 | 2000-11-28 | Telefonaktiebolaget Lm Ericsson | Data shaper for ATM traffic |
US5928331A (en) * | 1997-10-30 | 1999-07-27 | Matsushita Electric Industrial Co., Ltd. | Distributed internet protocol-based real-time multimedia streaming architecture |
US6504845B1 (en) * | 1997-12-19 | 2003-01-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Centralized queuing for ATM node |
US7872969B2 (en) * | 1997-12-23 | 2011-01-18 | Ciena Corporation | Method and apparatus for auto detection of AAL5 type frames for VCC and VPC switches |
US6625120B1 (en) | 1997-12-23 | 2003-09-23 | Nortel Networks Limited | Method and apparatus for auto detection of AAL5 type frames for VCC and VPC switches |
US20010055307A1 (en) * | 1997-12-23 | 2001-12-27 | Bernard St-Denis | Method and apparatus for auto detection of aal5 type frames |
US6512747B1 (en) * | 1998-03-05 | 2003-01-28 | Nippon Telegraph And Telephone Corporation | ATM transmission system |
US6446206B1 (en) | 1998-04-01 | 2002-09-03 | Microsoft Corporation | Method and system for access control of a message queue |
US6205498B1 (en) | 1998-04-01 | 2001-03-20 | Microsoft Corporation | Method and system for message transfer session management |
US6529932B1 (en) | 1998-04-01 | 2003-03-04 | Microsoft Corporation | Method and system for distributed transaction processing with asynchronous message delivery |
JP3604282B2 (ja) * | 1998-06-15 | 2004-12-22 | 富士通株式会社 | アドレス開放方法及び、これを用いるatm交換システムの共通バッファ装置 |
US6320864B1 (en) * | 1998-06-19 | 2001-11-20 | Ascend Communications, Inc. | Logical multicasting method and apparatus |
US6848108B1 (en) * | 1998-06-30 | 2005-01-25 | Microsoft Corporation | Method and apparatus for creating, sending, and using self-descriptive objects as messages over a message queuing network |
US6256634B1 (en) | 1998-06-30 | 2001-07-03 | Microsoft Corporation | Method and system for purging tombstones for deleted data items in a replicated database |
US6275912B1 (en) * | 1998-06-30 | 2001-08-14 | Microsoft Corporation | Method and system for storing data items to a storage device |
US6633543B1 (en) * | 1998-08-27 | 2003-10-14 | Intel Corporation | Multicast flow control |
US6473428B1 (en) * | 1998-12-31 | 2002-10-29 | Nortel Networks Limited | Multi-threaded, multi-cast switch |
US6661774B1 (en) | 1999-02-16 | 2003-12-09 | Efficient Networks, Inc. | System and method for traffic shaping packet-based signals |
US6590897B1 (en) | 1999-03-08 | 2003-07-08 | Efficient Networks, Inc. | System and method for bridging universal serial bus and asynchronous transfer mode communication links |
US6731638B1 (en) * | 1999-10-14 | 2004-05-04 | Synchrodyne Networks, Inc. | Switch scheduling with common time reference |
WO2002005499A1 (en) * | 2000-01-30 | 2002-01-17 | Celox Networks, Inc. | Device and method for packet formatting |
US6810031B1 (en) | 2000-02-29 | 2004-10-26 | Celox Networks, Inc. | Method and device for distributing bandwidth |
US6731645B1 (en) | 2000-02-29 | 2004-05-04 | International Business Machines Corporation | Methods, switches, systems, and computer program products for fair transmission of data received at multiple inputs in the order received in a queued memory switch |
JP2001308921A (ja) * | 2000-04-25 | 2001-11-02 | Sony Corp | デマルチプレクサ |
KR100454336B1 (ko) * | 2000-07-07 | 2004-10-26 | 엘지전자 주식회사 | 비동기 전송 모드 스위치에서의 셀 처리 장치 및 방법 |
US6724759B1 (en) * | 2000-08-11 | 2004-04-20 | Paion Company, Limited | System, method and article of manufacture for transferring a packet from a port controller to a switch fabric in a switch fabric chipset system |
KR100446234B1 (ko) * | 2000-12-21 | 2004-08-30 | 엘지전자 주식회사 | 차세대 통신 시스템에서 멀티 캐스트용 aal2 스위치 |
US7290162B2 (en) * | 2001-02-14 | 2007-10-30 | Clearspeed Solutions Limited | Clock distribution system |
US7082104B2 (en) * | 2001-05-18 | 2006-07-25 | Intel Corporation | Network device switch |
US7424013B1 (en) | 2001-12-20 | 2008-09-09 | Applied Micro Circuits Corporation | System and method for granting arbitrated bids in the switching of information |
US8418129B1 (en) | 2001-12-14 | 2013-04-09 | Qualcomm Incorporated | Method for automatically generating code to define a system of hardware elements |
US7352694B1 (en) * | 2001-12-14 | 2008-04-01 | Applied Micro Circuits Corporation | System and method for tolerating data link faults in a packet communications switch fabric |
US7159219B2 (en) * | 2001-12-21 | 2007-01-02 | Agere Systems Inc. | Method and apparatus for providing multiple data class differentiation with priorities using a single scheduling structure |
US7190699B2 (en) * | 2002-05-31 | 2007-03-13 | International Business Machines Corporation | Method and apparatus for implementing multiple credit levels over multiple queues |
US7286497B2 (en) * | 2002-06-28 | 2007-10-23 | Harris Corporation | Look up table for QRT |
US6850999B1 (en) * | 2002-11-27 | 2005-02-01 | Cisco Technology, Inc. | Coherency coverage of data across multiple packets varying in sizes |
US20080172532A1 (en) * | 2005-02-04 | 2008-07-17 | Aarohi Communications , Inc., A Corporation | Apparatus for Performing and Coordinating Data Storage Functions |
US8447909B2 (en) | 2010-07-19 | 2013-05-21 | International Business Machines Corporation | Register access in distributed virtual bridge environment |
US8891535B2 (en) * | 2012-01-18 | 2014-11-18 | International Business Machines Corporation | Managing a global forwarding table in a distributed switch |
US8861400B2 (en) | 2012-01-18 | 2014-10-14 | International Business Machines Corporation | Requesting multicast membership information in a distributed switch in response to a miss event |
US9634953B2 (en) * | 2013-04-26 | 2017-04-25 | Mediatek Inc. | Scheduler for deciding final output queue by selecting one of multiple candidate output queues and related method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2213782A (en) * | 1987-12-17 | 1989-08-23 | Automotive Products Plc | A controlled vehicle suspension system |
FR2625392B1 (fr) * | 1987-12-24 | 1993-11-26 | Quinquis Jean Paul | Circuit de gestion de pointeurs d'ecriture de files tampons notamment pour commutateur temporel de paquets auto-acheminables |
JP2555906B2 (ja) * | 1990-05-18 | 1996-11-20 | 日本電気株式会社 | Atmセルのvci変換方式 |
GB9019340D0 (en) * | 1990-09-05 | 1990-10-17 | Plessey Telecomm | An asynchronous transfer mode switching arrangement providing broadcast transmission |
US5229991A (en) * | 1991-01-30 | 1993-07-20 | Washington University | Packet switch with broadcasting capability for atm networks |
JP3064650B2 (ja) * | 1992-03-27 | 2000-07-12 | 株式会社日立製作所 | 同報通信装置 |
US5291482A (en) * | 1992-07-24 | 1994-03-01 | At&T Bell Laboratories | High bandwidth packet switch |
GB2273224B (en) * | 1992-12-05 | 1997-01-22 | Netcomm Ltd | An ATM Cell switch suitable for multicast switching |
-
1994
- 1994-04-28 DE DE69428186T patent/DE69428186T2/de not_active Expired - Lifetime
- 1994-04-28 EP EP94303120A patent/EP0680179B1/en not_active Expired - Lifetime
-
1995
- 1995-04-13 US US08/422,122 patent/US5572522A/en not_active Expired - Lifetime
- 1995-04-27 JP JP10282695A patent/JPH07321823A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003516029A (ja) * | 1999-12-01 | 2003-05-07 | モサイド・テクノロジーズ・インコーポレイテッド | ワイヤ速度のipマルチキャスト転送のための方法および装置 |
JP2003530745A (ja) * | 2000-04-08 | 2003-10-14 | サン・マイクロシステムズ・インコーポレイテッド | 複数クライアントへの単一メディア・トラックのストリーミング |
JP4640723B2 (ja) * | 2000-04-08 | 2011-03-02 | オラクル・アメリカ・インコーポレイテッド | 複数クライアントへの単一メディア・トラックのストリーミング |
JP2009021872A (ja) * | 2007-07-12 | 2009-01-29 | Fujitsu Ltd | パケット伝送方法及び装置 |
JP2017501631A (ja) * | 2013-12-19 | 2017-01-12 | トムソン ライセンシングThomson Licensing | IP QoSメカニズムの自動選択のための方法、夫々のCPEデバイス及びコンピュータ可読記憶媒体 |
JP2021165691A (ja) * | 2020-04-08 | 2021-10-14 | 日東工業株式会社 | 直流漏電検出装置 |
Also Published As
Publication number | Publication date |
---|---|
DE69428186D1 (de) | 2001-10-11 |
EP0680179A1 (en) | 1995-11-02 |
EP0680179B1 (en) | 2001-09-05 |
DE69428186T2 (de) | 2002-03-28 |
US5572522A (en) | 1996-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07321823A (ja) | マルチキャスティング機能を備えた装置 | |
JPH07321822A (ja) | マルチキャスティング機能を備えた装置 | |
US5555256A (en) | Channel identifier generation | |
US5446726A (en) | Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device | |
US5173897A (en) | Method of restoring the correct cell sequence, particularly in an atm exchange, and output unit therefor | |
US5640399A (en) | Single chip network router | |
US6122279A (en) | Asynchronous transfer mode switch | |
US5812550A (en) | Asynchronous transfer mode (ATM) layer function processing apparatus with an enlarged structure | |
US5625825A (en) | Random number generating apparatus for an interface unit of a carrier sense with multiple access and collision detect (CSMA/CD) ethernet data network | |
US5668809A (en) | Single chip network hub with dynamic window filter | |
EP0939573B1 (en) | ATM cell transmission scheduling | |
JP3984680B2 (ja) | 仮想メッセージ転送経路上への転送スケジューリングの効率を高めるために、転送サービスレートが近い仮想メッセージ転送経路同士をまとめるメカニズムを有するデジタルネットワーク | |
US5390184A (en) | Flexible scheduling mechanism for ATM switches | |
US5790545A (en) | Efficient output-request packet switch and method | |
EP1041780B1 (en) | A large combined broadband and narrowband switch | |
EP1064761B1 (en) | Communication system and method for scheduling multiple and simultaneous connections in a communication system | |
US6768717B1 (en) | Apparatus and method for traffic shaping in a network switch | |
JP2000501260A (ja) | 情報パケット交換機のためのスケジューラ | |
US6463485B1 (en) | System for providing cell bus management in a switch platform including a write port cell count in each of a plurality of unidirectional FIFO for indicating which FIFO be able to accept more cell | |
US20020150047A1 (en) | System and method for scheduling transmission of asynchronous transfer mode cells | |
JP3919341B2 (ja) | 非同期転送モード交換装置 | |
US20020027909A1 (en) | Multientity queue pointer chain technique | |
JP4504606B2 (ja) | ネットワークスイッチにおいてトラフィックを成形する装置及び方法 | |
US6967961B1 (en) | Method and apparatus for providing programmable memory functions for bi-directional traffic in a switch platform | |
KR950000671B1 (ko) | Atm 방식에서의 셀 다중화 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041102 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050127 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050628 |