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
Application number
JP10282695A
Other languages
English (en)
Inventor
Costas Calamvokis
コスタス・カラムボキス
David Banks
デイビッド・バンクス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH07321823A publication Critical patent/JPH07321823A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/108ATM switching elements using shared central buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • H04L49/203ATM switching fabrics with multicast or broadcast capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/255Control mechanisms for ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer 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

(57)【要約】 【目的】セル(パケット)本体またはそのアドレスを重
複して記憶することなくマルチキャスティングを行な
う。 【構成】受け取ったセルのセル本体をメモリに記憶する
とともに、そのアドレスを含むセル詳細(65)を待ち
行列ブロック(63)に記憶する。ブロックの出力制御
装置(69)が出力ストリームごとにセル詳細を参照す
る複数のポインタ(68)を備え、複数の出力ストリー
ムが処理の進行に応じて1つのセル詳細の別の箇所を参
照し、これに基づいてセル本体を取り出し送信する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的に(固定長パケ
ットまたは"セル"を含む)パケットをマルチキャスティ
ングするためのマルチキャスティング装置に関するもの
で、特に、セル・マルチキャスティング機能を有するA
TMスイッチに関するものである。
【0002】
【従来の技術】ATM(Asynchronous Transfer Mode非
同期伝送モードの略称で、以下ATMと呼称する)は、
厳密に一定間隔で物理媒体上に出現するという意味にお
いて同期的である固定サイズ・セルを使用して、ある1
つのネットワークにわたってデータを転送するためのマ
ルチプレクシング(多重化)およびスイッチングの技術
である。各セルは、ペイロード部分とヘッダからなり、
後者のヘッダには、ネットワーク終端の送信システムと
受信システムとの間における通信インスタンスにセルを
関連づけるラベルが含まれる。この通信インスタンスに
は、1つの送信終端システムからおそらく複数の受信終
端システムへ多数のセルを転送することが含まれる場合
がある。同一の通信インスタンスに属する複数セルが必
ずしも一定間隔で出現しないという意味において、AT
Mは非同期的である。
【0003】ATMにおいては、セルに付けられるラベ
ルは、固定サイズの文脈依存ラベルである。すなわち、
それらラベルは、解読ネットワーク・ノードにおいて予
め定められた文脈情報に照らしてのみ解釈可能であり、
ラベルは、一般的に、あるノードにおいて次のノードに
必要とされるラベルによって置き換えられる。言い換え
ると、ATMは、通信の各インスタンスが各ノードにお
ける適切なラベル情報を確立するための設定段階を必要
とする仮想回線技術である。
【0004】ATM技術は、普及の増加を見せている
が、その理由は、ATM技術によって、(回線交換技術
に通常関連する)適時特性と(パケット交換技術に関連
する)統計的利点を結合する上で許容可能な妥協を図れ
る点にある。ATMは、音声、エンターテイメント(娯
楽)サービスまたはコンピュータ・トラフィックを含む
すべてのタイプのトラフィックを搬送するための単一の
伝送モードを提供する。
【0005】本発明は、セル・サイズのような特定の実
施上の詳細事項にとらわれることなく一般的にATMシ
ステム(および他のシステム)に適用できるものであ
る。しかし、以下の説明において、CCITTおよびA
TMフォーラム(前者は主としてパブリック・ネットワ
ークに関するもので、後者はコンピュータ関連ユーザ・
ネットワークに関するものである)によって推進されて
いる現在進展中のB−ISDN ATM規格を特に参照
する。
【0006】事実、これら現在進展しつつある規格の範
囲においてさえ、各セルのヘッダ部分に含まれる情報の
意味論は、ネットワーク上でセルが(その末端か内部か
に)出現する場所とネットワーク終端システムにおいて
ATMセルを処理するために配置されるATM適合層の
特性に依存して変わる。特記しない限り本発明の以下の
説明において記述するセルの形式は、AAL5サービス
のためのB−ISDNUNI(ユーザ・ネットワーク・
サービスUser Network Interface)である(ここで"A
AL"は、ATM適合層(ATM Adaption Layer)を指
し、"AAL5"は、コンピュータ通信に適した接続指向
の可変ビット伝送速度非同期通信サービスを意味す
る)。
【0007】図1は、上記のようなセルの形式をバイト
幅形式で示している。図に見られる通り、セルは、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は該グループ内の特定の仮
想チャネルを識別するものである。
【0008】EOPビットは、当該セルが、上位レベル
の適用業務データ・ユニット(パケット)を構成する一
連のセルの最後のセルであることを識別するために使わ
れる。このようにパケットの最後を明示する情報をセル
・ヘッダに保有することの利点は、1つの構成セルが消
失した場合、パケットを構成しているすべてのセルを破
棄することを可能にすることである。
【0009】あるポートを経由してあるネットワーク・
ノードに到着するATMセルは、セル・ヘッダに記憶さ
れるVPIとVCI情報および設定時に設定される文脈
情報に従って、経路を再指定(すなわちスイッチ)され
る。VPIとVCI情報は、変更され、セルは出力され
る。そのようなノードは、一般に、ATMスイッチと呼
ばれ、概念的にNポートのスイッチ・コアを含む。この
Nポートのスイッチ・コアは、取り扱うセルに関し以下
の動作を実行する役目を有する。 −どのセルがどのチャネルに属するかを決定すること、 −セルの行先チャネルを決定しそこへ配送すること、お
よび、 −適切な出力ポートに対する複数のアクセス要求を仲裁
すること。 スイッチは、また、チャネル設定と管理機能を分担する
ある種のプロセッサ装置と、該スイッチのそれぞれの外
部ポートに接続されるリンクにスイッチ・コアをインタ
ーフェースさせるためのインターフェース回路とを含む
こともあろう。
【0010】スイッチ・コアは一般に高帯域を持つよう
に設計され、そのため、該スイッチは、本来的かまたは
統計的かいずれにしても低域幅である複数のリンクをサ
ービスすることが可能である。この場合、複数のリンク
は、スイッチ・コアに供給される前にマルチプレクスさ
れ、反対に、スイッチ・コアの出力は、適切なリンクに
渡すためデマルチプレクスされる。
【0011】図2は、ATMスイッチの既知の形式であ
り、該スイッチを通過するすべてのセルを一時的に記憶
するために共有メモリが使われている。更に詳細に言え
ば、多数の入力リンク4が、スイッチ・コア2にセルを
供給するマルチプレクサ(MUX)1に接続され、該ス
イッチは、デマルチプレクサ(DEMUX)3に出力セ
ルを出力し、それらセルはデマルチプレクサによって適
切な出力リンク5に分配される。一般に入力リンク4と
出力リンク5は対にされる。
【0012】マルチプレクサは、各入力リンク4からの
セルをスイッチ・コア2に周期的に渡す。各セルは、分
割機構6によって、ライン7を通ってヘッダ変換機構1
0へ渡される該セルのヘッダと、ライン9上に出力され
るセル本体とに分割される。
【0013】ヘッダ変換機構10は、各ヘッダに含まれ
るVPI+VCI情報をマルチプレクサ1からライン8
を通って渡されるリンク識別情報とともに検査する。こ
の情報を基に、ヘッダ変換機構10は適切なVPI+V
CIを持つ新しいヘッダを生成し、セル本体を搬送する
ライン9が接続している結合機構12へライン11を通
してこのヘッダを渡す。結合機構12は、渡されたセル
・ヘッダと本体を再び結合してセルを作成し、該セルを
ライン14に出力されるアドレスを用いて共有メモリに
記憶する。各出力リンク毎に、対応する出力待ち行列1
6がスイッチ・コア内に維持される。各セルが共有メモ
リに記憶されると、対応するアドレスが、そのセルにつ
いて該当する出力待ち行列16に渡されるが、この出力
待ち行列の識別情報が、ヘッダ変換機構からライン15
上に供給されることによって、該アドレスが正しい待ち
行列に記憶される。
【0014】デマルチプレクサ3が、ライン17上で出
力待ち行列16への問い合わせ(インクワイアリ)を周
期的に行い、各出力待ち行列が対応する出力リンクに向
けられる次のセルのアドレスを出力することを可能にす
る。各待ち行列からのアドレス出力は、ライン18によ
って共有メモリ13に与えられ、このため、対応するセ
ルがライン19上でデマルチプレクサ3に出力されるよ
うになる。次に、デマルチプレクサは、セルを適切な出
力リンク5へ向かわせる。
【0015】
【発明が解決しようとする課題】上記の単純なアーキテ
クチャがもつ1つの問題は、これが、マルチキャスティ
ングに(すなわち、1つのセルが数多くの異なる出力リ
ンクに出力されるべき形態に)うまく適応しないことで
ある。例えば、該当する出力待ち行列のすべてにセルの
アドレスを記憶させることによって、マルチキャスティ
ングが達成されるとすれば、そのために、セル・アドレ
ス記憶が幾度も行われなければならないだけでなく、特
定のセルが予定のリンクすべてに出力されたことを確認
するメカニズムを実行しなければならず、これは容易で
はない。図2の配置の別の欠点は、セル出力リンクに向
けられるセル(複数)は、関連出力待ち行列について先
入先出法を用いて取り扱われるという点である。
【0016】ATMスイッチの改良された実施方法の1
つは、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個の異なる優先度リストに形成される。各待ち行列
番号は、すべての優先度リストで一度だけ現れる。スケ
ジュール機構は、次に送り出すセルを決定する際に、優
先度リストを参照し、リストの先頭の最も高い優先度を
持つ待ち行列番号を取り出す。次に、この待ち行列番号
は、対応するセル待ち行列にアクセスするため使用さ
れ、その待ち行列の先頭にあるセルが出力される。次い
で、待ち行列番号は、それが取り出されたものと同じリ
ストに戻されるとは限らないが、優先度リスト(複数)
に再回付される。
【0017】Xunetスイッチは柔軟なスケジュール
機能を提供する。しかしながら、Xunetでは、マル
チキャスティングに関して、マルチキャストされるべき
セルの各々を、関連する制御データとともに、対応する
回数複製しなければならない。
【0018】
【課題を解決するための手段】本発明に従えば、各々が
パケット本体を有する複数のパケットからなる入力スト
リームを少なくとも1つ受け取り、該入力ストリームの
複数パケットのパケット本体を複数の出力ストリームの
パケットへ複製することによって、複数のパケット出力
ストリームとして前記入力ストリームをマルチキャステ
ィングするための装置が提供される。該装置は、パケッ
トを受け取り、各パケットがどの入力ストリームに属す
るかを判断するための入力手段と、前記入力手段によっ
て受け取られたパケットのパケット本体、および受け取
られたパケット本体を受け取った順序で順序付けするた
めに使用される各入力ストリーム毎の順序データ・セッ
トを記憶するための記憶手段であって、新たなパケット
本体が記憶されると、該パケットが属する入力ストリー
ムの前記順序データ・セットを前記入力手段の判断に従
って更新する入力制御手段と、出力ストリーム上に送出
されるべき次のパケット本体を識別するため、各出力ス
トリーム毎に対応する入力ストリームの順序データ・セ
ットを参照する順序位置識別子を維持する出力制御手段
とを有する、記憶手段と、前記出力ストリーム上への出
力をスケジュールするため前記記憶手段の出力制御手段
と連係して現在スケジュールされている出力ストリーム
上へ次に出力すべきパケット本体を識別し、該識別した
パケット本体を取り出し前記現在スケジュールされてい
る出力ストリーム上へ出力するための出力手段と、を備
える。上記構成によって、出力ストリームの待ち行列
は、受け取られた入力ストリーム・パケットのリスト上
へマップされ、これにより、効率的かつ柔軟な制御構造
が提供される。
【0019】好ましくは、前記パケット本体と前記順序
データ・セットは、前記記憶手段に別々に記憶され、前
記順序データ・セットは、それぞれ対応するパケット本
体をポイントするパケット本体ポインタと次のエントリ
をポイントする次エントリ・ポインタとを各々が持つパ
ケット詳細エントリのリストを含む。この場合、新たな
パケット本体が記憶されると、前記入力制御手段は、当
該パケットに対応する前記リストのパケット詳細エント
リのパケット本体ポインタを新たに記憶されたパケット
本体をポイントするようにセットすることによって、前
記リスト中の対応するパケット詳細エントリをセットア
ップする。各出力ストリーム毎に前記出力制御手段によ
って維持される順序位置識別子の各々は、当該出力スト
リームに関し次に送出されるべきパケット本体のための
パケット詳細エントリをポイントする。
【0020】パケット詳細エントリがセットアップされ
る際に、該パケット詳細エントリが保有されている前記
パケット詳細リストに関連する入力ストリームからマル
チキャストされるべき出力ストリームの数を示す値に前
記入力制御手段によってセットされるマルチキャスト・
カウント項目をパケット詳細エントリの各々が持つよう
に構成することには利点がある。前記出力制御手段は、
前記出力手段が対応するパケット本体を出力する度毎に
該パケット本体がすべての該当出力ストリーム上へ出力
されるまで、前記パケット詳細エントリのカウント項目
を減分し、最後に、前記リストから当該エントリを削除
する。
【0021】一般的に、各入力ストリームは、対応する
入力識別子によって識別される。前記入力手段は、新た
に受け取るパケットが属する入力ストリームを識別する
入力識別子を該パケットに付与する。さらに、前記記憶
手段の入力制御手段は、前記リストの各々の最後部をポ
イントするリスト・ポインタを保持し、各入力識別子
と、入力識別子によって識別される入力ストリームに関
連する前記リストをポイントする前記リスト・ポインタ
との間の関連性を保持する。
【0022】好ましくは、前記リストの各々は、パケッ
ト関連情報を持たない最後部エントリを含み、前記入力
制御手段によって保持されるリスト・ポインタは、前記
最後部エントリをポイントするように構成される。この
場合、新たなパケット本体が記憶される際に、前記入力
制御手段は、該当するリストへ新たな最後部エントリを
追加し、それまで最後部であったエントリを新たなパケ
ット本体のためのパケット詳細エントリとして使用し、
制御手段は、該リストのリスト・ポインタをそれに応じ
て更新する。
【0023】各出力ストリームは対応する出力識別子に
よって識別される。前記出力手段は、前記出力識別子を
基に出力ストリームの出力スケジュールを行い、対応す
る出力識別子を出力することによって、次にスケジュー
ルされる出力ストリームを識別する送出制御手段を含む
ようにすることには利点がある。この場合、前記記憶手
段の出力制御手段は、各出力識別子と、該出力識別子に
よって識別される出力ストリームに関する順序位置識別
子との間の関連性を維持し、出力手段によって出力識別
子を付与されると、出力制御手段は、該関連性を活用し
て当該出力ストリームに関し次に出力されるべきパケッ
ト本体のためのパケット本体ポインタを取り出す。
【0024】好ましくは、前記送出制御手段は、スケジ
ュール手段と該スケジュール手段に出力識別子を導出す
るための導出手段とを含む。該スケジュール手段は、前
記出力識別子を基に出力ストリームの出力スケジュール
を行い、次に出力すべき出力ストリームに対応する出力
識別子を出力し、その後そのストリームを該スケジュー
ル手段から取り除く。前記導出手段は、入力手段による
少なくともいくつかの新たなパケットの受領に応答し
て、それらパケットが属する入力ストリームに関連する
少なくともいくつかの出力ストリームの出力識別子を前
記スケジュール手段に導出する。前記スケジュール手段
において出力識別子が任意のある時点でただ1度だけ出
現するように送出制御手段は構成され、該送出制御手段
は、前記スケジュール手段によって最後に出力される出
力識別子に関連する順序データ・セットの状態に応答し
て、該順序データ・セットが当該出力ストリーム上に送
出されるべきパケット本体がなお存在することを標示す
る場合、前記スケジュール手段に当該出力識別子を戻
す。
【0025】本発明の装置の1つの好ましい実施例にお
いて、前記パケット本体は各々、前記記憶手段において
ただ一度だけ記憶され、前記順序データ・セットは、対
応するパケット本体をポイントするポインタを含むエン
トリを持ち、該エントリのそれぞれは、同時に使用され
る順序データ・セット(複数)においてただ一度だけ存
在し、各出力ストリームは、それぞれの出力識別子によ
って識別され、前記出力手段は、出力識別子を基に出力
のスケジュールを行う送出制御手段を含み、前記出力識
別子の各々は、前記送出制御手段の中で任意の一時点で
一度以上は存在しない。本発明は、(各パケットが固定
長セルである)マルチキャスティングATMスイッチの
実施に特に適している。
【0026】
【実施例】
アーキテクチャの概要 以下に記述するATMスイッチは、高帯域、Nポートの
スイッチ・コアを備え、このNポートのスイッチ・コア
は、スイッチ・コアのポートそれぞれに関連付けられる
マルチプレクサ/デマルチプレクサ機構を介して低速リ
ンクとインターフェースされる。スイッチ・コアは、1
度に1つのポートを処理するため周期的にポートをサー
ビスして新しいセルを持ち込む。従って当アーキテクチ
ャで実施されるマルチプレクサ/デマルチプレクサに2
つのレベル(当然N=1の場合を除いて)が存在する。
【0027】更に具体的に図3を参照して述べれば、本
発明を実現するスイッチは、大きく見て3タイプの主要
ブロックから構成されている。中央には、Nポートのス
イッチ・コア20があり、スイッチ・コアの各ポート2
1は、例えば622Mビット/秒という予め定められた
速度で動作する。アダプタ・カード22が、各ポート2
1に接続している。アダプタ・カード22の各々は、多
数の比較的低速の外部スイッチ・ポート23をスイッチ
・コアのポートへインターフェースする(図でI/Fと
表示)。最後に、プロセッサ装置24があって、これ
は、信号生成と仮想チャネル設定機能を実行する。
【0028】本発明のスイッチの説明の目的のため、ス
イッチ・コアのポートは、622Mビット/秒で動作す
るものとするが、上記特定のポート速度は本発明にとっ
て必須のものではなく、それより低いまたは高い速度も
可能である点は認識されるべきであろう。
【0029】本スイッチのアーキテクチャは、「すべて
共有」のアーキテクチャである。これは、いかなる資源
も特定ポートやバッファに占有されず、論理部分は中心
に集められていることを意味する。従って、アダプタ・
カードは、殆どバッファ機能と知能を備えていない。
【0030】共通のマスタ・クロック25がすべての3
つの主要ブロック(スイッチ・コア20、アダプタ・カ
ード22、プロセッサ24)へクロック信号を送り、局
所スレーブ・クロック26が適切な局所クロック信号を
生成する。この配置は、クロック速度が予め定められた
一定の関係を有することを保証する。ライン27は、プ
ロセッサからのグロ―バル同期化信号をプロセッサ・ブ
ロック24からスイッチ・コア20とアダプタ・カード
22へ送り、動作開始時点における各ブロックの動作を
同期化させる。
【0031】以下の3つの節において、3つの主要ブロ
ックについて詳細な説明を行う。Nポート・スイッチ・コア20 図4には、Nポートのスイッチ・コア20のブロック図
が示されていて、図に見られるように、スイッチ・コア
は、一般に対となってスイッチ・コアのポートを構成す
る入力/出力ポート37、38、セル本体共有メモリ3
1、空きアドレス・リスト・メモリ32、コントローラ
33、および、コントローラとの間で送受信されるセル
のATM適合層およびその他高位通信層処理を実行する
ための通信ブロック34(これにより当該スイッチが一
部をなすネットワーク上でコントローラがセルを通信す
ることが可能となる)を含む。
【0032】スイッチ・コアの動作は、非常に単純であ
る。N入力ポート37は厳密な順序で一度に1つのセル
をサービスされる。1つのセルが入力ポートの1つに到
着すると、ファブリック(送受信機構、以下ファブリッ
クという)30が、空きアドレス・リスト・メモリ32
から取り出したアドレスを用いて、セル本体をセル本体
共有メモリ31に書き込む。このアドレスは、また、当
該セルのヘッダとともに、コントローラ33に渡され
る。入力ポート37が固定的順序でサービスされるた
め、コントローラ33は、ヘッダの到着時間からセルの
発信ソース(入力ポート)を特定することができる。
【0033】コントローラ33は、到着セルのヘッダと
セル本体アドレスとを記憶し処理する。コントローラは
また、(後述する)待ち行列モデルとスケジュール規則
を基に各出力ポート38上にどのセルを次に送信すべき
かを決定する。セルを送信するため、コントローラは、
当該セルの本体が記憶されているアドレスと当該セルの
ヘッダとを出力する。ファブリック30は、セル本体共
有メモリ31からセル本体を読み取り、それをヘッダと
組み合わせてセルを作成し、このセルを出力ポートに送
出する。出力ポートもまた固定順序でサービスされるの
で、コントローラがヘッダとアドレスを送出する時間に
よって、セルの宛先は決定される。アダプタ・カード2
2が接続するスイッチ・コアの主ポート(入力/出力ポ
ート対37,38)の他に、ファブリック30は、2つ
の低速ポートをサポートする。その1つは、セルを送受
信するためプロセッサ24によって使用されるプロセッ
サ・ポートであり、もう1つは、通信ブロック34を通
してフロー制御セルを送受信するためにコントローラに
よって使用されるコントローラ・ポートである。
【0034】セル本体共有メモリ31とコントローラ3
3の帯域幅は、ポートの最大速度ですべての入力ポート
37からセルを受け取り、すべての出力ポート38にセ
ルを送り出すことを実施するのに十分なものである。ス
イッチ・コア20の構成エレメントのクロック動作は、
局所クロック機構26によって制御される。
【0035】スイッチ・コア動作のタイミングをより詳
細に考察すると、所与のスイッチ・コアの主ポート速度
(622Mビット/秒)での連続的セル到着の間隔をT
とすれば、Nポートのスイッチ・コアに関して、ファブ
リック30は、期間T毎に、N個のセルを、すなわち、
スイッチ・コア入力ポート37の各々から1つのセルを
受け取る能力を持たなければならない。同様に、該ファ
ブリックは、期間T内にN個のセルを、すなわち、出力
ポート38の各々毎に1つのセルを送信する能力を持た
なければならない。ファブリック30はまた、プロセッ
サ・ポートとコントローラ・ポートを経由するセルの伝
送を処理する能力を有していなければならない。
【0036】ファブリックは、複数のシフト・レジスタ
を基本的に含み、このシフト・レジスタでのシフトによ
って、セルの転送が、主スイッチ・ポートを経由して、
すべてのポートに対して同時に実行される。ファブリッ
ク30のシフト・レジスタと共有メモリ31との間のセ
ル本体データの転送とコントローラ33とのセル・ヘッ
ダの転送は、各ポートを順番に取り扱う所定周期の転送
に従ってシフト・レジスタとの並列転送によって実行さ
れる。
【0037】スイッチ・コアのポートを通して各セルを
転送するために必要となる一般的プロセスは、先ず、セ
ル・ヘッダがファブリックにシフトされ、セル本体が続
くというものである。セル本体がシフトされている間、
セル・ヘッダは、コントローラへ送出され、引き続くセ
ル本体のメモリ31への転送の間に、当該ポートに関す
る次のセルのヘッダが、ファブリックにシフトされる。
セルの出力に関して、同様であるが反対のプロセスが行
われる。
【0038】セル本体のメモリ31への転送に関する限
りは、転送サイクルは、単純に各主スイッチ・ポートを
順番に進む(例えば入力ポート37が4個、出力ポート
39が4個ある場合、転送サイクルは、先ず各入力ポー
トをサービスしてセル本体データをメモリ31へ転送
し、次に各出力ポートをサービスしてデータをメモリ3
1からファブリックへ転送する)。メモリ31とコント
ローラ/プロセッサ・ポートに関連付けられたシフト・
レジスタとの間のセル本体データの転送は、スイッチ・
コアの主ポートに関するセル転送サイクルのうちの予め
定められた冗長部分においてファブリックによって取り
扱われる。
【0039】ファブリック30とコントローラ33との
間のセル・ヘッダの転送は、コントローラ33が逐次ヘ
ッダを受け取り出力することができる(コントローラが
その処理を逐次遂行する)ことを前提に、セル本体の転
送と同様の転送サイクルをとることができる。したがっ
て、コントローラ/プロセッサ・ポートは、コントロー
ラによって実行される全般ポート・サービス・サイクル
において、それ自身のスロット(時間間隔)を割り当て
られなければならない。もちろん、コントローラ/プロ
セッサ・ポートは、スイッチ・コアの主ポートのように
頻繁にサービスされることはなく、一般に、プロセッサ
/コントローラ・ポートが主ポートの1/nの速度で動
作するとすれば、プロセッサ/コントローラ・ポート
は、主ポートのn回のサービス毎に一度だけサービスさ
れる。結果として、全般ポート・サービス・サイクル
は、P1からP4の4つの主ポートを持つスイッチ・コ
アに関して図5で示されるようになり、コントローラ3
3へのヘッダの入力とコントローラからのヘッダの出力
との両方に適合する(実際には、サイクルは、入出力に
関して同じである必要はないが、一般的にはそのように
なる)。
【0040】コントローラ33に渡されるセル・ヘッダ
は、セル本体をメモリ31に記憶するために使われるア
ドレスによって、その対応するセル本体と関連づけら
れ、これらのアドレスは、ヘッダ・データとともにコン
トローラ33に記憶される。セル本体が記憶されるアド
レスは、正しいヘッダとともに記憶されることを保証す
るため適切なタイミングでコントローラ33に供給され
なければならない点は認識される必要がある。
【0041】以下に説明されるように、スイッチ・コア
の主ポートを通して供給される特定のセルが空のセル
(さらに正確にいえば無視されるべきセル)である可能
性があり、この条件は、セル・ヘッダのVPIとVCI
の値がゼロにセットされることによって示される。この
ようなセルの存在は、セル本体のメモリ31への転送ま
たはセル・ヘッダのコントローラ33への転送の処理を
変えることはなく、コントローラ33は、セル・ヘッダ
のVPIとVCIがゼロであることを発見次第、セル本
体が記憶される関連アドレスを空きアドレス・リスト・
メモリ32へ単に戻すだけであり、メモリ31それ自体
においてなにかの措置を講ずる必要はない。
【0042】アダプタ・カード22 各アダプタ・カードは、対となっている多数の外部入力
/出力ポートをスイッチ・コアの1つのポートに結合す
る。1つのアダプタ・カード上の外部入力/出力ポート
(複数)は、複数リンクの帯域幅の総和がスイッチ・コ
アのポート速度より小さいことを前提に、それらリンク
の任意の組合せで構成することができる。例えば、スイ
ッチ・コアのポート速度が622Mビット/秒であれ
ば、アダプタ・カードは、12個の51Mビット/秒ポ
ート、または4個の155Mビット/秒ポート、また
は、3個の155Mビット/秒ポートと1個の100M
ビット/秒ポートと1個の5lMビット/秒ポートの混
合のいずれかを含むことができる。
【0043】アダプタ・カードの動作は、非常に単純で
ある。ほとんどの場合、アダプタ・カードはそれが扱う
セルの内容を見ることはない。その1つの例外は、各セ
ルのヘッダ・エラー・チェック(HEC)フィールドで
あり、それは、送信されるセルに関してはアダプタ・カ
ードによって生成され、受信されるセルに関してはアダ
プタ・カードによってチェックされる。もしもHECが
到来するセルに関しエラーを示していれば、アダプタ・
カードは該セルのVPIとVCIフィールドをゼロにセ
ットすることによって該セルを空セルに変える。
【0044】図6に示されているアダプタ・カード32
の例では、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。
【0045】一方でのマルチプレクサ45とデマルチプ
レクサ47との間の、他方ではそれらとスイッチ・コア
のポートとの密接な機能的関連性のために、マルチプレ
クサ45とデマルチプレクサ47は、スイッチ・コアの
ファブリック30との間のセルの転送を同期化させるた
め、スイッチ・コアのポートから供給されるクロック信
号を使用する。
【0046】スイッチ・コアのポートは、それに関連付
けられる外部ポートの累積速度より若干速い速度で転送
動作を行う(上記外部ポートの外側はそのようにセット
されたクロック信号を局所クロック26から受け取
る)。このようにすることの1つの理由は、外部ポート
に接続するリンクの実際の速度をその公称値から変動す
ることができるようにするためである。スイッチ・コア
のポートのこのような速度超過は、入力FIFOが、満
たされるより速く空にされることを意味する。具体的に
は、あるFIFO41の内容量が、1つのセルに相当す
る量以下の場合、入力検出機構42はマルチプレクサ4
5に信号を送り、空セル挿入機構49をして空セルを生
成し適当な時間にコントローラへ送るようにさせ、入力
FIFOは再び収納を始める。
【0047】反対に、出力FIFO43は空にされるよ
り速く満たされる。これは、関連出力検出機構44が関
連するFIFO43の内容量が1つのセルより多くなる
ことを検出し、コントローラ33へ相応の標識を送信す
ることによって取り扱われる。この標識を、対応する外
部ポートへセルを送信する準備をしているコントローラ
33が検知すると、該コントローラは、外部ポートへ空
セルを送る。デマルチプレクサ47の機構50はこの空
セルを検出し削除するため配置され、FIFO43は空
にされる。
【0048】機構46と48に記憶されるポート・ロー
タによって確立される外部ポートのサービス順序を次に
考察すると、明らかに、より高速のポートは、より低速
のポートよりも一層頻繁にサービスを必要とする。一般
的意味において、最低速度のセル間隔が、ポート・ロー
タの全般的サイクル・タイムをセットするため用いら
れ、この最低速度ポートは、上記サイクル中一度だけサ
ービスされることを必要とし、一方、より高速のポート
は、2回以上のサービスを必要とする。図7は、図6の
アダプタ・カードに関する可能なポート・ロータを図示
している。関連するスイッチ・コアのポートの各セル期
間(ピリオド)T毎に、ポート・ロータに従って、1つ
のセルが、外部ポート(AからD)からスイッチ・コア
のポートへ、また、スイッチ・コアのポートから外部ポ
ート(AからD)へ、転送される。
【0049】プロセッサ プロセッサ装置24は、接続要求を受け取り、コントロ
ーラ33中のデータ構造を処理することによって、仮想
チャネル接続設定と管理を実行する。プロセッサはま
た、電源投入時にコントローラ・データ構造を初期化す
る。
【0050】これらの機能を達成するためプロセッサ装
置24はスイッチ・コアに対するインターフェースを2
つ有する。第1は、スイッチ・ファブリックのプロセッ
サ入力/出力ポートを通してのセル・インターフェース
であり、これにより、プロセッサがあたかもアダプタ・
カード上の入力/出力ポートの1つに接続しているかの
ように、セルを送受信することが可能となる。
【0051】第2のインターフェースは、コントローラ
自体に直接かかわるもので(図4参照)、プロセッサが
コントローラの内部データ構造にアクセスすることを可
能とし、そのため、仮想チャネル・データを設定し修正
することができる。空のセルを受け取ったためコントロ
ーラがアイドル状態の間、プロセッサはコントローラに
アクセスする。十分な空セル(複数)が受け取られるこ
とを保証するため、スイッチ・コアは、入力/出力ポー
トに対処するため必要となる速度より若干(約10%)
速く動作し、この結果、アダプタ・カードFIFO41
は周期的にそのしきい値(1つのセル相当量)以下に内
容を減らし、空セル挿入機構49を動作させる。
【0052】プロセッサはコントローラのすべてのデー
タ構造に対し全面的なアクセスを行うが、セル本体共有
メモリへのアクセスは行わない。
【0053】初期化と接続を実行する際のプロセッサ装
置24の一般的動作は従来技術の既知の方法に従うもの
であるから、これ以上の説明は行わない。プロセッサ装
置24によって設定され修正される実際のコントローラ
・データ構造の識別と特性は、以下のコントローラにつ
いての説明から明白になる。
【0054】コントローラの概念と概要 コントローラ33を具体化するために使用されるデータ
構造とプロセスを詳細に記述する前に、その動作に関わ
る主な概念を、図8を参照しながら考察する。以下の説
明で明白になる通り、マルチキャストがコントローラで
取り扱われる方法は、アーキテクチャ全体にとって核心
をなすものである。
【0055】外部ポート・ロータ どの外部(アダプタ・カード)ポートからセル・ヘッダ
が受け取られたかを知ることは、各ヘッダ中の(VPI
+VCI)情報がリンク単位でのみユニークであるた
め、コントローラ33にとって不可欠である。従って、
外部ポート識別は、当該スイッチを経由の特定の通信に
適切なものとしてセルをユニークに識別するために必要
である。コントローラに適切な外部ポート識別を通知す
る1つの方法は、アダプタ・カードが各セル・ヘッダに
タグを付けることである。しかし、各アダプタ・カード
がその関連外部ポートをサービスする順番とこれらのア
ダプタ・カードが対応するスイッチ・コアのポートを通
してサービスされる順番の両方が、あらかじめ定められ
ているので、本発明のコントローラでは別の方法を使う
ことが可能である。従って、本コントローラにおいて
は、セル・ヘッダに関連付けられる外部ポート識別は、
ヘッダが受け取られる時間を基にコントローラによって
決定される。更に云えば、セル・ヘッダがスイッチ・コ
アに接続するすべてのアダプタ・カードの外部ポートか
ら受け取られる順番を標示する外部ポート・ロータが取
り出され、その後、コントローラ33とマルチプレクサ
45は、前述のグロ―バル初期化信号によって初期的に
同期化されているので、コントローラ33が、アダプタ
・カードのマルチプレクサ45の動作との調整を図りな
がらこのロータにアクセスする。外部ポート・ロータそ
れ自体は、図5で示される(セル・ヘッダがスイッチ・
コアのポートからコントローラに渡される順番を示す)
スイッチ・コアのポートのサイクルと各アダプタ・カー
ドに関する外部ポート・サービス(図7参照)との組合
せである。この組合せは、対応するスイッチ・コアのポ
ートがスイッチ・コアのポートのサイクルに出現する度
毎に、アダプタ・カードに関し次のエントリを外部ポー
トのサービス・サイクル上にとることによって実効を生
じる。かくして、アダプタ・カードに接続するスイッチ
・コアのポートP1を持つ図5のポート・サイクルを有
するスイッチ・コアに関して、図5のサイクルでのポー
トP1の連続的サービスは、図7のサイクルに従った外
部ポートAからEの連続的サービスと関連づけられる。
【0056】外部ポート・ロータは、当然、スイッチ・
コアに接続しているアダプタ・カードのポート構成に依
存する。このため、外部ポート・ロータは、スイッチの
動作開始時にプロセッサが各アダプタ・カードを調べて
その外部ポート・サービス・サイクルを見出すことによ
って決定される。次いでプロセッサ装置24は、コント
ローラ33の適切なデータ構造60Aに上記ロータを記
憶し、コントローラが必要に応じてロータにアクセスす
ることができるようにする。
【0057】外部ポート・ロータは、それが受け取る新
しいセル・ヘッダ各々のソースをコントローラが判定す
るために必要とされるのみならず、外部ポートがスイッ
チ・コア出力を行うことができる所定の順序でヘッダの
出力を調整する(これは、アダプタ・カード上のファブ
リック30とデマルチプレクサ47の結合動作によって
決定される)ためにも必要とされる。既に注記のとお
り、ポートが入力と出力に関しサービスされる順番は必
ずしも同じである必要はないが一般的には同じである。
本発明の場合においては、外部ポート・ロータの同じ一
般的形式が、入力と入力とに使用される。図8において
外部ポート・ロータは60Aと60Bとして示されてい
る。
【0058】マスタVCNと出力VCN 本発明のスイッチにおける関連セルのフローをユニーク
に識別するため、仮想チャネル番号(VCN)がコント
ローラによって使われる。どの入力仮想チャネルも"マ
スタVCN"と呼ばれるそれ自身のVCNを持ち、どの
出力仮想チャネルも、それ自身の"出力VCN"を持つ。
従って、本スイッチによる各ユニキャスト(単一キャス
ト)接続に関しては、1つのマスタVCNと1つの出力
VCNが存在し、一方、各マルチキャスト接続グループ
毎に、1つのマスタVCNと複数の出力VCNが存在す
る。ユニキャストについては、マスタVCNを出力VC
Nとしても使用する便法があり、マルチキャストの場合
でも、便法として、マスタVCNを出力VCNの最初の
1つとして使用することができる。
【0059】マスタVCNは、セルを送り込む外部ポー
トの識別と組み合わせてセル・ヘッダの(VPI+VC
I)から取り出される。最初に、コントローラ33に渡
される各セル・ヘッダがそのマスタVCNを決定し(図
8のブロック61参照)、次に、このマスタVCNが、
コントローラにおけるヘッダの待ち行列を制御するため
に使われる。出力VCNは、接続を設定する際にプロセ
ッサ装置によって割り当てられ、出力の待ち行列化とス
ケジュールを実行するために使用される。出力VCN
は、コントローラの適切なデータ構造においてその対応
するマスタVCNと関連づけられ、そのため、両方向、
すなわち、マスタVCNから対応する出力VCNへと出
力VCNを対応するマスタVCNへと、変換することが
可能となる。
【0060】2つのコントローラ経路 図8に示されようにコントローラ33に2つの経路があ
る。1つは、セルの詳細(すなわち、各セルに関し、一
定のセル・ヘッダ・データおよび対応するセル本体アド
レス)を待ち行列に入れるための経路であり、他方は、
コントローラからのセル・ヘッダの出力を制御するため
出力VCNを待ち行列に入れ、スケジュールするための
経路である。
【0061】セル詳細経路−この経路は、セル・ヘッダ
のマスタVCNの検索の後、当該セルのセル詳細を記憶
できるかあるいは破棄すべきかをチェックするための監
視ブロック62と、セル詳細待ち行列ブロック63と、
出力されるべき次のヘッダに関するセル詳細をブロック
63から受け取り、(新しいVPI+VCIを検索する
ことを含み)新しいヘッダを生成し、その新しいヘッダ
と対応するセル本体のアドレスとを出力する出力ヘッダ
生成ブロック64とを含む。同じマスタVCNを持つセ
ル(すなわち同じVCソースからのセル)のセル詳細
は、ブロック63において記憶される同じリスト65の
待ち行列にすべて入れられる(各セルのセル詳細はそれ
ぞれのリスト・エントリとしてリスト65に記憶され
る)。リスト65は接続の設定の際プロセッサ装置によ
って空のリストとして作成される。各リスト毎に、セル
詳細入力制御66は、リストの最後部(エントリが追加
される場所)をポイントする作成者ポインタ67と、リ
スト65が空であるか否かを示す空きフラグとを維持す
る。(上記リスト65は、順序データ・セットとも呼ば
れる)。
【0062】各リスト65の先頭には、当該マスタVC
Nに関する到来セル・ストリームに関してなお送出され
るべき最も古いセル詳細についてのセル詳細エントリが
ある。ユニキャストVCの場合は、先頭リスト・エント
リは、唯一の出力VCのため出力されるべき次のセルを
識別する。この先頭エントリは、セル詳細出力制御69
によって当該出力VCNのため記憶される順序位置識別
子すなわち使用者ポインタ68によってポイントされ
る。マルチキャストの場合は、当然各入力ストリーム毎
に複数の出力VCがあり、セルを出力する際に対応する
リスト65に応じて、各出力VC毎にその進行を追跡す
ることが必要である。これは、各出力VCNに関連付け
られるそれぞれの使用者ポインタ68を供給することに
よって達成される。実際に、それぞれのセル詳細待ち行
列70が、各出力VCNに対して保持され、この待ち行
列70は、対応する使用者ポインタ68によってポイン
トされている待ち行列の先頭と、当該マスタVCNに関
する作成者ポインタによってポイントされている待ち行
列の最後部を持つリスト65へマップされる。各マスタ
VCNに関連付けられるそれぞれのセル詳細リスト65
と、出力VCNに関しリスト65上へマップされるそれ
ぞれの待ち行列70を持つというこの概念は、セル詳細
待ち行列ブロック63の動作において重要なものであ
る。
【0063】待ち行列70の先頭エントリが出力制御6
9によって出力され、その結果対応する出力VCNのセ
ルが出力されると、待ち行列70に関する使用者ポイン
タ68は、待ち行列からそのエントリを除外するように
更新される。リスト65の先頭エントリが、リストにマ
ップされるすべての待ち行列70から除外されると、こ
のエントリは解放され、対応するセル本体アドレスが出
力制御69によって空きアドレス・リスト32上に戻さ
れる。
【0064】出力VCN送出制御経路−適切な外部スイ
ッチ・ポートを通して本発明のスイッチからセルを出力
する順序は、出力仮想チャネルに関して設定された出力
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に関して送出すべきセルがな
くなったことを標示するまで、周期的にセルの送信を促
進しながら経路の中を循環する。
【0065】送出制御経路の主要コンポーネントは、資
格制御ブロック77とスケジュール・ブロック75であ
る。セル出力の実際のスケジュール決めは、各外部ポー
トに関するそれぞれの待ち行列構造(ブロック76参
照)を維持するケジュール・ブロック75によって実行
される。これら待ち行列構造の各々は、対応する外部ポ
ートに関連づけられ、少くとも1つのセルが送出できる
状態にあるすべての出力仮想チャネルの出力VCNを待
ち行列に入れるために使用される。仮想チャネルは、
(後述の"停止ビット"により一時的に送出が禁止されて
いない限り)対応する出力VCN待ち行列70中に少な
くとも1つのエントリがあり、また、該仮想チャネルが
(下記に説明されるように)送出のためのクレジットを
(そのようなクレジットが必要な場合)有しているなら
ば、送出資格のある1つ以上のセルを持つ。
【0066】出力仮想回路が1つまたは複数の送出有資
格セルを持つ時点を判定し、そのように判定したとき、
該当する待ち行列構造に入れるためスケジュール・ブロ
ック75へ対応する出力VCNを渡すのは、資格制御ブ
ロック77の仕事である。従って、これら待ち行列構造
は、"有資格の"出力VCNを待ち行列に入れる構造とみ
なすことができる。有資格出力VCNを適切な待ち行列
構造上に入れることは、各出力VCNに関し適切な待ち
行列構造の識別情報をブロック77のテーブル81に記
憶することによって行われ、この情報は、各出力VCN
とともにブロック75へ渡される。
【0067】資格制御ブロック77と関連するブロック
80、82の動作は、更に後述されるが、ここで、スケ
ジュール・ブロック75の待ち行列構造に有資格出力V
CNが格納されたと仮定する。
【0068】スケジュール・ブロック75には、外部ポ
ート・ロータへの同期アクセスによってファブリック3
0およびアダプタ・カードのデマルチプレクサの動作で
その動作が調整されるスケジュール機構78が含まれ
る。スケジュール機能78は、ロータ60の適切なスロ
ットにおける各外部ポートに関する出力VCN構造を検
査し、該構造に関しもっとも高い優先度を持つ(もしあ
れば)VCNを、セル詳細待ち行列ブロックの出力制御
69へ出力する。次いで出力制御69は、当該VCNに
関する使用者ポインタ68を使用して、対応するセル詳
細待ち行列70の先頭にあるセル詳細エントリにアクセ
スし、それら詳細を新しいヘッダが生成される出力ヘッ
ダ生成ブロック64へ渡す。同時に、出力制御69は、
当該VCNに関する使用者ポインタ68を対応するリス
ト65における次のエントリをポイントするように更新
する。
【0069】ある1つの出力VCNは、対応するVCに
関し有資格セルがいくつあるかにかかわらず、当該外部
ポートにとって適切な待ち行列構造76においてただ一
度だけ出現する。スケジュール機構78がVCNを出力
する度毎に、それは、対応する待ち行列構造から取り除
かれる。出力制御69は、セル詳細を出力VCNに出力
すると、この出力VCNを資格制御ブロック77に渡
す。これにより、この資格制御ブロック77は、その出
力VCNに関するクレジットを減分することができ、同
時に、出力制御69は、対応するセル詳細待ち行列に送
出する準備のできているセルが更に1つ以上あると判断
すれば、"送信セルあり"標識の送信によって資格制御ブ
ロック77にそれを通知する。資格制御ブロック77
が、更新(減分)後なおこの出力VCNに関し記録され
た送出クレジットを有する場合(またはクレジットが不
要の場合)、出力VCNは、スケジュール・ブロック7
5へ戻され、そこで、対応する待ち行列に再度入れられ
る。しかし、もし送信クレジットが(必要ではあるが)
直ちに使用可能でない場合、資格制御77ブロックは、
スケジュール・ブロック75へ出力VCNを渡す前に、
クレジット付与ブロック80からそのようなクレジット
が渡されるのを待つ。各出力VCNのクレジット状態
は、資格制御ブロック77によって維持されるテーブル
81に保持される。
【0070】もしも出力制御69が、特定の出力VCN
に関するセル詳細を出力した後に、対応する待ち行列7
0が空であると判断すれば、資格制御ブロック77へ"
送信セルあり"標識を渡さない。しかし、もしも、同時
に、対応するリスト65に残存エントリがない(該リス
トに関係するすべの待ち行列70が空にされた)と出力
制御69が判断するならば、該リストに関し空きフラッ
グがセットされるように、信号を入力制御66に送る。
【0071】新しいセルが特定の出力VCNの待ち行列
70に到着したことを始動ブロック82によって資格制
御ブロック77が通知されると、これらの出力VCNの
各々は、出力制御69が該出力VCNに関しいかなる有
資格セルも存在しないと判断するまで、ブロック77と
スケジュール・ブロック75と出力制御69を巡回する
という点がこれまでの説明から明らかである(出力VC
N(複数)が各エントリに関するスケジュール決めを待
っている間に新しいエントリ(複数)が関連待ち行列7
0に追加される点が認められるであろう)。使用可能な
送出クレジットが存在しないことによってこのプロセス
は一時的に停止されるかもしれないが、新しいクレジッ
トが使用可能になり次第、プロセスは再開される。
【0072】出力VCNが(使用可能エントリがその待
ち行列70にないため)巡回を停止すると、送出のため
の再スケジュールが行われるまで、該出力VCNは、始
動ブロック82による送出制御経路への再導入を待たな
ければならない。
【0073】サービス特性 本発明のスイッチは、以下の3つの異なるサービス特性
との関係を提供する。 −低い最大待ち時間をもつ保証された帯域幅(GB0)
サービス、 −より高い最大待ち時間をもつ保証された帯域幅(GB
1)サービス、 −最善の努力(BE)によるサービス。 スケジュール・ブロック75における各外部ポート待ち
行列構造(76ブロック)は、実際に(各サービス品質
について1つの)3つの待ち行列を含み、各有資格出力
VCNが、該当する待ち行列に加えられる(この待ち行
列の識別情報は資格制御ブロックのテーブル81に保持
され、出力VCNとともにブロック75に渡される)。
この結果、各サービス・クラスの範囲内で公平な待ち行
列方法が使用されることとなる。図9は、スケジュール
・ブロックによって維持される外部ポート出力VCN待
ち行列を図示し、ポート0と記号が付けられた外部ポー
トの場合外部ポート毎に3つの待ち行列が付与されてい
ることを示している。ロータ60の対応するスロットに
おける外部ポート待ち行列を検査する度毎に、スケジュ
ール機能78は、もっとも高い優先度の空でない待ち行
列の先頭の出力VCNを取り出す。ここで、待ち行列の
優先順序は、GBO、GB1、BEである。
【0074】保証された帯域幅サービスに関しては、適
切な量の共有メモリ31が、そのサービスに応じて各入
力VCのために予約され、さらに、クレジット制御方式
がトークン・バケット(複数)に基づいて操作される。
保証された帯域幅ソースがその保証を越えると(すなわ
ち、スイッチが処理を保証した以上に単位期間あたりの
セルを帯域幅ソースが作成すると)、資格制御ブロック
は、一時的にそのVCNに関するセルの送出(定形出
力)を停止させるか、または、最善努力接続(非定形出
力)として一時的に接続を処理する。
【0075】最善努力型トラフィックは、フロー制御が
行われることも行われないこともある。フローが制御さ
れるトラフィックの場合、メモリの固定量が各入力VC
に割り当てられ、このメモリの空き量に基づいて、クレ
ジットが上流ノードに発行される。各出力VCNに関し
て、下流ノードが発行したクレジットのカウントが維持
される。この上流/下流クレジット制御は、フロー制御
ブロック85によって管理され、フローが制御された出
力VCNに関するクレジット・カウントが、資格制御ブ
ロック77によって現行ノードに保持される。このクレ
ジット・カウントがゼロになると、資格制御ブロックは
VCNが対応するスケジューラ待ち行列に渡されるのを
止め、それによって伝送を停止させる。
【0076】フローが制御されない最善努力型接続は、
それら接続に任意の量のメモリを割り当てるとができ
る。もしも出力に関し競合があってこのメモリが費消し
てしまう場合、セルは破棄される。
【0077】マルチキャスト、空きフラグおよび停止ビ
ット 上述の通り、マルチキャスト(1つの入力VCに対する
複数の出力VC)の場合、対応するセル詳細リスト65
は、そこへマップされるいくつかの(各々が特定の出力
VCNに対応する)待ち行列70を有する。やはり上述
の通り、待ち行列ブロック63に対する出力制御69
は、リスト65に関連するすべての待ち行列70が空に
なるまで、リスト65の空きフラグをセットさせない。
この理由は、そのセル詳細がリスト65上で待ち行列に
入れられるべき新しいヘッダの到着に応じて空きフラッ
グをセットから非セット状態へ変化させることにより、
入力制御66が送出始動ブロック82を始動させ、その
結果、リストに関連したすべての出力VCNが送出制御
経路に導入されることとなるためである。もしもあるリ
ストの空きフラグがただ1つ空きとなる関連待ち行列に
セットされたとすれば、いくつかの出力VCNがまだ経
路にある時点で、送出始動ブロック82が始動され、出
力VCNを送出制御経路に導入することとなり、この結
果、不公平な出力スケジュールが行われる。
【0078】スイッチ動作の間に、新しいリスト・エン
トリが以下の時間の間に追加されることが起こり得る。 (i)リスト65の先頭エントリが関連する出力VCに関
するセル・ヘッダを出力するため使用された後、この先
頭エントリを待ち行列70から取り除くための使用者ポ
インタ更新に続いて待ち行列の1つが空となる時、およ
び、(ii)エントリがその待ち行列に関連した出力VCに
関するヘッダを出力するために使われた後、使用者ポイ
ンタ更新によって取り除かれたものと同じリスト・エン
トリを別の待ち行列が持つ時。 このような状況において、上記の待ち行列の2番目は、
第1の待ち行列を空にさせたエントリを取り除くとき空
ではなく、すべての他の待ち行列が空であっても、空き
フラグは、出力制御69によってセットされない。この
ような状況では、空になった待ち行列がスケジュール決
めプロセスに再び入る機会を持つことができないことは
明白である。なぜなら、上記の空でないリストを常に空
でないままにしながら、新しいセル詳細エントリを該リ
ストに追加し続けることができるからである。ある特定
の入力VCへ割り当てられるメモリの量には限りがある
ので、当然セルは失われるであろう。
【0079】この問題を回避するため、リスト65の各
セル詳細エントリは関連"停止ビット"を持つ。マルチキ
ャストの場合において、もし、待ち行列70が空になる
と、出力制御69は、先頭エントリ(すなわち空き待ち
行列から直前に取り除かれたエントリ)の停止ビットを
セットする。このエントリを取り除く同じリスト上の他
の待ち行列に関して(そのエントリに基づくセル・ヘッ
ダが関連出力VCNに関し送出されたため)、対応する
出力VCNは、資格制御ブロック77へ戻されない。す
なわち、待ち行列は、効果的に"停止"される。しかし、
すべての待ち行列が、停止ビットのセットされているエ
ントリを使用したとき、そのエントリは取り除かれ、V
CN送出始動ブロックが、出力制御69によって始動さ
れ(図8の「ストップ解除」始動参照)、対応するマス
タVCNがすべての関連VCNを送出制御経路に再導入
する。
【0080】出力VCN送出始動ブロック 始動ブロック82の一般的機能性は既に記述したが、こ
の時点でいくつかの点を追加することは意味があろう。
ブロック82は、マルチキャスト拡張機構83と出力回
路84を含む。マルチキャスト拡張機構83は、特定の
マスタVCNについて始動される時該特定マスタVCN
に対応するすべての出力VCNを使用可能にするように
設計される。マルチキャスト拡張機構83は、ある接続
が設定または終了される度毎にプロセッサ装置からの適
切なデータを用いてプログラムし直され、そのため、そ
れは継続的に最新に更新され、すべての現時点のマスタ
VCNを対応する出力VCNに関連付けることができ
る。拡張機構83によって使用可能とされる出力VCN
は、出力回路84によって資格制御ブロック77へ1つ
ずつ渡される。
【0081】始動ブロック82は、他のものを受け取る
前に処理を完了する必要はないが、受け取るすべての始
動要求を受容できるような方法で実施される。これは、
例えば、始動信号のための入力FIFOを含めることに
よって、または、おそらく出力VCN FIFOを備え
持つことによって実施できる。一般的には、必要とされ
ることは、資格制御ブロックへの転送のような出力VC
N動作にブロック82が影響を与える必要がある場所の
上流地点にFIFOバッファ機能を具備することであ
る。
【0082】ブロック83が始動されるこのような構成
および環境の重要性は、マルチキャスティング固有の拡
張機能が、コントローラにかかわる処理ひずみの発生を
最小にとどめるような方法で取り扱われることである。
かくして、各マスタVCNと出力VCNはブロック83
においてただ一度だけ出現し、これにより、とくに効率
的なメモリの活用が可能となる。さらに、いかなる特定
の始動に関連した出力VCN毎の処理も、次の始動を受
け取る前に完了する必要はない。
【0083】コントローラ実施詳細 主要コンポーネントであるコントローラについてさらに
詳細な説明を行う。 マスタVCN検索ブロック 既に説明のとおり、セルがスイッチ・コアに到着すると
き、そのヘッダは、コントローラ33に渡され、そこ
で、先ずマスタVCN検索ブロック61によって取り扱
われる。ブロック61における受領時点で、ヘッダは、
以下のフィールドから構成される。 −一般フロー制御(GFC)、4ビット −仮想経路識別子(VPI)、8ビット −仮想チャネル識別子(VCI)、16ビット −ペイロード・タイプ(PT)、3ビット −AAL5接続がパケットの終了(EOP)を形成する
ためのビット、1ビット。 注:ヘッダの5番目のバイトのヘッダ・エラー・チェッ
ク(HEC)が該当するアダプタ・カードにおいて既に
検査されたので除去されている。HECがエラーのと
き、当該セルは空(VPI=VCI=0)としてマーク
付けされることとなる。
【0084】セル本体アドレスは、また、対応するセル
・ヘッダとともに、VCN検索ブロック61に渡され
る。以下の動作が、ヘッダに関してブロック61によっ
て実行される: −セルのVPIとVCIがゼロにセットされているなら
ば、そのセルは破棄される。この破棄は、セル本体アド
レスを空きアドレス・リスト32に戻すことによって実
行される。 −GFCが破棄される。 −PTとEOPが、セル本体アドレスとともに記憶され
るために取り出され、出力ヘッダが正しく生成される。
これらの項目を以下"セル詳細"と呼ぶ。 −VPIとVCIをセルが受け取られた外部ポートを識
別する番号(ポート番号)と連結し、セルが関連する接
続のためのユニークな識別子(本明細書では長いチャネ
ル識別子と呼ぶ)を作成する。次に、この長いチャネル
識別子を用いて、セルに関連するマスタVCNを探索す
る。
【0085】上記4番目の機能はブロック61の主要な
機能であり、以下で更に詳細に説明する。あるセルに関
し長いチャネル識別子を取り出すために使われるVPI
とVCI情報は、セル・ヘッダから直接用いられる。セ
ルが受け取られた外部入力ポートを識別するポート番号
は、本実施例においては外部入力ポート・ロータ60A
から取り出される(各外部ポートは、関連ユニーク番号
を持って上記ロータに記録されている)。
【0086】一旦入力ポート番号が得られたならば、そ
の入力ポート番号は、VPIとVCIに連結され、約3
0ビットの長さの長いチャネル識別子となる(その正確
な長さは、スイッチが持つことができるポートの数に依
存する)。次いで、この番号は、セルが関連する接続の
マスタVCNを見出すために使われる。
【0087】この長さの識別子を用いて単純な探索を行
うことは非実用的であるので、多段式探索プロセスが使
われる。探索プロセスは、以下のステップを含む: 1.長いチャネル識別子(VPI+VCI+ポート番
号)は、スクランブラ90においてスクランブルされる
(図10参照)。スクランブラは、線形フィードバック
・シフト・レジスタに基づくもののような標準形式のも
のでよく、そこでは、スクランブル結果の出力ワードを
与えるためワード長だけシフトされる線形フィードバッ
ク・シフト・レジスタに関するシード(種)ワードとし
てチャネル識別子が使われる。 2.スクランブルされた長いチャネル識別子が、スプリ
ッタ91によって2つの部分に分割される。一つの部分
(上方部分)は、"高位テーブル"92において"行イン
デックス"を探索するために使われ、他方の部分(下方
部分)は、"低位テーブル"93において"列インデック
ス"を探索するために使われる。 3.次に、"行インデックス"と"列インデックス"は、マ
スタVCN(複数)を含む2次元テーブル94にアクセ
スするために使われる。 4.最後に、チェック・テーブルを持つ比較器95にお
いて長いチャネル識別子を探索するためにマスタVCN
が使われ、この識別子は、すべてが順当に動作するなら
ば、ステップ1で使われたであろうものに相当する。探
索された識別子は、比較器95において実際のオリジナ
ルの長いチャネル識別子と比較され、ステップ1から3
のプロセスが間違った結果を与えなかったかがチェック
される(もしも誤りがあれば、セル本体アドレスを空き
アドレス・リストに加えることによってセルは破棄され
る)。
【0088】上記探索プロセスのステップの各々を実行
する理由は、次に述べる通りである。 ステップ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上に到着したかのように取り扱われる
であろう。
【0089】前述の探索プロセスは、大量のVCNの迅
速な探索を低コストのハードウェアで実行することを可
能にする。例えば、最高64個の外部ポートに関連付け
られる8000個のマスタVCNは、32Kx8の高位
テーブル、32Kx8の低位テーブル、64Kxl3の
マスタVCNテーブルおよび8Kx30のチェック・テ
ーブルを必要とする。
【0090】あるVC接続が設定されるとき、プロセッ
サ装置24は、マスタVCN探索ブロック61の各種テ
ーブルに収納するエントリの数を計算する。この計算を
行う時点で、プロセッサが、特定のVCが以前に設定さ
れたVCと衝突することなく既存のテーブルに適合でき
ないことを認識する可能性がある(特に、既存および新
の両方のVCのスクランブルされた長いチャネル識別子
は同一のマスタVCNテーブル・エントリへマップされ
る)。この場合、プロセッサ装置24はスクランブラ9
0によって使用されるスクランブル機能を変更し、衝突
がないようにテーブルを整理し直すように調整される。
この動作をサポートするため、高位、低位およびマスタ
VCNのテーブルは、2重にバッファされ、これによ
り、プロセッサ装置が非活動的テーブルを書き直してい
る間に、探索は活動的なテーブルを用いて継続すること
ができる。
【0091】監視ブロック 監視ブロック62の役割は、セルが破棄されなければな
らないときを決定することである。それは、セルが送出
されるより速くVCに到着する場合にセルを破棄するた
めに必要となる。これは、次の2つの状況で発生する。 −最善努力型接続が、出力に対し競合している場合、 −保証された帯域幅接続がその保証を越えた場合。 セルを破棄するか否かを決めるために使われるメカニズ
ムは以下に記述される通りである。
【0092】サービス特性の項で記述の通り、新しいV
Cが設定されるとき、提供されるべきサービス特性に応
じてVCの入力側に、共用メモリ31からメモリの固定
量が割り当てられる。割り当てられたメモリの量は、入
力VCに対する"割当メモリ利用度"と言われる。監視ブ
ロック62は、対応するマスタVCNへの参照によって
各入力VCの割り当てメモリ利用度のレコードを保持す
る。
【0093】共有メモリ31は、次の2つ領域に分割さ
れるものとみなされる:すなわち、そのサイズがすべて
の割り当て量の総和に等しい予約領域と残りを構成する
未予約領域。入力VCは、割当メモリ利用度を超過しあ
る種の条件の下でセルを未予約領域に記憶することを許
されることがある。メモリは実際には別々の領域に分割
されず、ただそうであるかのように見えるだけである点
に留意する必要がある。
【0094】各マスタVCNに関連して現在使用中の共
用メモリ31からのメモリ量のレコードを監視ブロック
62は維持する。このメモリ量は、各マスタVCNに関
する現在メモリ利用度と呼ばれる。あるマスタVCNの
現在メモリ利用度は、当該マスタVCNに関するセル・
ヘッダを受け取るときブロック67によって増分され、
セルが適切な出力VCNの全てに送られたことを待ち行
列ブロック63の出力制御69が標示するとき減分さ
れ、セル本体メモリの対応する領域は、(セル本体アド
レスが空きアドレス・リスト32に記録されることによ
って)解放される。
【0095】特定のマスタVCNをもつヘッダがブロッ
ク62に到着し、新しいセル本体が対応するVCに関す
るメモリ31に書き入れられたことが標示されるとき、
監視ブロック62は、セルを破棄すべきか否かを決定し
なければならない。それは、以下の基準を使用して行わ
れる。 −マスタVCNの現在メモリ利用度が割り当て量より以
下であれば、セルは破棄されず、現在メモリ利用度が増
分される。マスタVCNの現在メモリ利用度が割り当て
量に等しいかそれ以上であれば、未予約メモリ領域の使
用メモリ空間量が予め定められた一定のしきい値以下で
ない限り、セルは破棄される。セルが破棄されない場
合、未予約メモリ領域における使用空間のレコードは増
分され、従って、現在時メモリ使用度が増分される。
【0096】未予約メモリ領域における現在時使用空間
のレコードを維持するためには、セルがすべての関連出
力VCN上に送り出され、対応する共有メモリ・アドレ
スが解放されたとき、監視ブロック62は、マスタVC
Nの割当メモリ使用度を検査しなければならない。マス
タVCNの現在時のメモリ使用度が、減分する前に、対
応する割当メモリ使用度より大きい場合は、未予約領域
の現在時の使用空間に関するレコードは、解放されたメ
モリ空間を考慮に入れて減分されなければならない。
【0097】現在メモリ使用度の監視は、本発明のスイ
ッチにおいて、セルを破棄することができる唯一のメカ
ニズムである点に留意する必要がある。このことは、セ
ルがこのチェックを通過したならば、けっして破棄され
ることはないということを意味する。保証された帯域幅
サービスに関連して、本スイッチは、VCがその保証を
越えているか否かを判定し、それにより、セルを破棄し
なければならないかどうかを決定するために、トラフィ
ックをその入力時点で直接監視することはしないという
点に留意する必要がある。代わりに、現在メモリ使用度
を監視するという間接的メカニズムに依存して、VCが
その帯域幅保証を越える時点を判定する。
【0098】AAL5接続に関し、コントローラは、セ
ル・ヘッダ中のパケット終了(EOP)ビットを検査す
ることができる。従って、特定の接続がAAL5接続で
あるか否かをコントローラが設定時に通知されると仮定
すれば、コントローラは、AAL5接続に関して1つの
セルを破棄した後は、同じパケットのすべての後続のセ
ルを破棄することを決定することができる。セルがここ
で破棄されなければ、送り先において完全なパケットだ
けが通信されることを確認する責任を持つプロトコル層
によってそれらセルはいずれにしても破棄されることに
なるのであるから、それらセルは不必要なトラフィック
と不要な関連処理を派生することとなるが、上記のよう
な後続セルの破棄によってこの点を回避できる。
【0099】監視ブロック62は、AAL5接続におい
てあるパケットの1つのセルを破棄すると続いて該パケ
ットの残りのセルを破棄するように設計することができ
る。この場合、次のAAL5パケットが送られる前に、
EOPビットがセットされたセルを送出しなければなら
ず、さもなければ次のパケットも破壊される点に留意す
る必要がある。これを行う2つの可能な方法がある(図
11参照)。 方法1.EOPビットをもつセル102を除き、パケッ
トの残りのセルすべてを破棄する(すなわち、図11で
点線ボックス101で示されているセルを破棄する)、 方法2.(セット状態のEOPビットをもつセル102
を含め)パケットの残りのセルを破棄するが、最後のセ
ル104については破棄する動作を開始する前にEOP
ビット103をセットする。この結果、点線ボックス1
05で示されるセルが破棄される。
【0100】方法1は、次のパケットがけっして影響を
受けるべきものでないならば、最後のセルのためのメモ
リ空間が保証されるようにAAL5 VCN毎に追加の
バッファを必要とする。方法2は、この追加バッファを
必要としないが、すでに記憶されたセルのEOPビット
を変更するためのメカニズムをセル待ち行列ブロック6
3に含める必要があり、実施をさらに複雑にする。従っ
て、方法1がむしろ好ましい。
【0101】各AAL5接続毎に追加のバッファを予約
しなければならないという方法1の必要条件は、セット
状態のEOPビットを持つセルが到着するとき、当該接
続のために領域が予約されている場合、このセルを記憶
するためメモリ31の未予約領域を使用することによっ
て取り扱われることができる。このアプローチは、未予
約領域と接続に関し予約された領域の両方がいっぱいに
使用される場合にだけ問題を起こす。このような場合、
本スイッチは、当該接続に関しセルの破棄を継続し、次
のパケットを破棄しなければならない。
【0102】方法1に従ってセルを破棄するには、各V
CN接続毎に、当該接続のマスタVCNと関連づけて記
憶される2つの追加フラグが維持されることを必要とす
る。第1のフラグは、AAL5フラグであり、AAL5
接続が確立されるときセットされる。第2のフラグは、
セル破棄フラグであり、このマスタVCNに関するセル
(複数)はセット状態のEOPビットでマークをつけら
れたセルまで破棄されなければならないことを示す。セ
ルを破棄するこの基準は、セル破棄フラグの状態に依存
する。セル破棄フラグがセットされていなければ、セル
が破棄され、AAL5フラグがセットされている場合、
セル破棄フラグがセットされるという点を除いて、基準
と措置は、前と同様である。セル破棄フラグがセットさ
れていれば、基準は次に述べる通りである。 ・セルがセット状態にあるEOPビットを持っていなけ
れば、そのセルは破棄される。 ・セルがセット状態にあるEOPビットをもっている場
合、 −マスタVCNの現在時のメモリ使用度がその割り当て
られたメモリ使用度より小さければ、セルは破棄され
ず、現在時メモリ使用度は増分され、セル破棄フラグは
リセットされ、 −マスタVCNの現在時メモリ使用度が、割り当てメモ
リ使用度より大きいか等しければ、未予約領域の使用さ
れた空間量が一定のしきい値より小さくない限りセルは
破棄される。セルが破棄されなければ、現在時メモリ使
用度は、未予約領域の使用済み空間のカウントを増分す
ることによって増分される。セルが破棄されなければ、
セル破棄フラグはリセットされる。
【0103】セル詳細待ち行列ブロック 一旦あるセルが監視ブロック62によって課せられたチ
ェックを通過すると、(メモリ31のセル本体アドレス
を含む)セル詳細が、該当するマスタVCNリスト65
上のエントリとして待ち行列に入れられる。リスト65
の各々は、単一にリストされたリストであり、各エント
リは、セル本体アドレスと対応するセルに関するヘッダ
情報の他、リストを維持するために使われるいくつかの
フィールドを含む。各リスト・エントリ110は、以下
のフィールドを含む(図12参照)。 −セル本体ポインタすなわちセル本体アドレスに関する
フィールド112、 −セル本体アドレスを再構築するために必要とされるセ
ル・タイプとEOPビットのためのフィールド113、 −セルが破棄される前に(すなわち、セル本体を記憶す
るために使われたメモリと現在時セル詳細エントリが解
放される前に)なお送信されるべき回数を標示するため
マルチキャストの場合に使用される参照カウントを記憶
するためのフィールド114、 −エントリに関する停止ビットを記憶するためのフィー
ルド115(このビットは上述のとおりマルチキャスト
に関し使われる)、 −リンクされたリストの次のエントリをポイントする次
エントリ・ポインタ117を保持するためのフィールド
116。
【0104】次エントリ・ポインタ117は、リストの
先頭を離れ(先頭エントリがリスト中最古である)新し
いセル詳細が追加されるリストの最後部の方向にある次
のエントリをポイントする。最後部エントリは、常にヌ
ル(null)・エントリ111である。すなわち、そのフィ
ールドのすべてはヌル(null)にセットされる。新しいセ
ル詳細の追加には、現在の最後部エントリのヌル・フィ
ールドを新しいセル詳細で埋め、新たなヌル・エントリ
を追加することが必要である。
【0105】入力制御66のデータ構造120は、各マ
スタVCN毎に(従って各リスト毎に)以下のフィール
ドを維持する。 −対応するリスト65の最後部エントリをポイントする
作成者ポインタ67のためのフィールド121、 −リスト上のすべての待ち行列70が空であるときセッ
トされる、各リストのための空きフラグを保持するため
のフィールド122、 −マスタVCNに関連する出力VCNの数を標示する初
期参照カウントを保持するためのフィールド123。 データ構造120は、マスタVCNを使用してアクセス
される。
【0106】出力制御69のデータ構造125は、各出
力VCN毎に以下のフィールドを維持する。 −当該出力VCNに関連した待ち行列70の使用者ポイ
ンタのためのフィールド126、 −出力VCNに関連したマスタVCNの識別を含むフィ
ールド127(このフィールドは、データ構造120に
保持されるマスタVCNに関する情報を、初期的に出力
VCNの存在位置だけが知られているその場所でアクセ
スすることを可能にする)。 データ構造125は、出力VCNを使用してアクセスさ
れる。
【0107】上記のデータ構造の使用は、あるセルが到
着するとき何が起こるかを考察し、次に、セルが送り出
されるとき何が起こるかを考察することによって、もっ
ともよく理解される。
【0108】セルの待ち行列への格納−あるセルが到着
すると、そのセルに関するマスタVCN、セル・タイ
プ、EOPビット、およびセル本体アドレスが待ち行列
ブロック63の入力制御66へ渡され、以下の動作が実
行される。 1. 最初に、データ構造120における対応する作成者
ポインタ、空きフラグおよび初期参照カウントを探索す
るためにマスタVCNが使われる。 2.次に、作成者ポインタが、該当するリスト65のヌ
ル最後部エントリをアクセスするために使われ、セル本
体アドレス、セル・タイプ、EOPビットおよび初期参
照カウントがそのエントリの対応するフィールドに書き
込まれ、停止ビットがゼロにセットされる。 3. 一旦上記1と2が実行されると、新しいリスト・エ
ントリのアドレスが、空きリスト・エントリFIFO
(図示されていない)から入手され、次のエントリ・フ
ィールドに書かれる。 4.最後に、関連したポインタを、空きエントリ・リス
トから入手された値にセットする。
【0109】マルチキャストに関してセル詳細エントリ
待ち行列の例が、図13に示されており、そこでは、当
該マスタVCNに関連した出力VCNが3つある(すな
わち、初期参照カウントは3に等しい)。図13のA)
は、新しいエントリの追加が始まる前の関連リスト65
を示し、図13のB)は、新しいセル詳細が以前のヌル
最後部エントリに挿入された後のリストを示し、図13
のC)は、新たなヌル最後部エントリが追加され、エン
トリ追加プロセスを完了した後のリストを示している。
【0110】前記の例で留意すべき重要な点は、マルチ
キャストの場合のセル詳細の待ち行列化が、ユニキャス
トに関する場合と同数の動作で実行されたことである。
ヌル・エントリが各リストの最後部に常に保持されるの
で、これは可能である。従って、空きリストは対応する
作成者ポインタと使用者ポインタを持った単一のヌル・
エントリからなる。
【0111】セル詳細エントリをセット状態の空きフラ
グを持つリスト65の待ち行列に入れた後、入力制御6
6は、マルチキャス拡張機構83を始動し、セルが当該
マスタVCNに到着したことを通知しなければならな
い。上記始動には、現在時マスタVCNを渡すこととと
もに、該マスタVCNがマルチキャストであるか否かを
識別するフラグをマルチキャスト拡張機構83に通知す
るフラグが含まれる。このフラグは、初期参照カウント
が1に等しくない場合セットされる。このフラグを備え
持つことによって、探索結果がマルチキャスト拡張機構
に保存される(これは、本発明の実施において、最初の
出力VCNはそれが関連するマスタVCNと常に同じで
あるからである)。
【0112】始動信号が送り出されたならば、入力制御
リス66は、当該リストに関する空きフラグをクリアす
る。これが空きフラグがクリアされる唯一の時である点
に注意が必要である。
【0113】セルの送信−一旦スケジュール・ブロック
75が、特定の出力VCNに関してあるセルが送出され
なければならないと決定すると、スケジュール・ブロッ
ク75は待ち行列ブロック63の出力制御69に通知す
る。出力VCNを受領後、出力制御69は、出力VCN
に関する待ち行列70の先頭エントリに関するセル詳細
情報を探索する。出力制御69が単に出力VCNを使用
するだけで、該当する待ち行列に関する使用者ポインタ
68を獲得できるようになっているので、直ちに必要な
セル詳細(セル本体アドレス、セル・タイプおよびEO
Pビット)にアクセスすることができる。次に、この情
報は、送出のため出力ヘッダ生成ブロック64に渡され
る。
【0114】セル詳細が送り出されたならば、適切な待
ち行列70とリンクされたリスト65を維持し、他のブ
ロックに待ち行列とリストへの変更を通知するために実
行されなければならない数多くのクリーンアップ動作が
ある。図14は、セル詳細を出力するプロセスと結果と
して生じる必要なクリーンアップ動作のフローチャート
を表示しているが、既に説明したセル詳細を出力する動
作はブロック130として示されている。フローチャー
トの使用によって、当該動作がソフトウェアで実行され
ることが示唆されていると解釈されるべきではない。事
実、実行速度の理由から、ハードウェア実施が一般的に
必要とされるであろう。
【0115】セル詳細出力に続いて必要となるクリーン
アップ動作は、以下の通りである。 (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とともに資格制御ブロックへ"
送出セルあり"識別信号を送る。
【0116】リスト65と待ち行列70個の概略機能を
これまで説明し、またこの機能を実施するために入力/
出力制御66、69によって取られる詳細なステップを
記述したが、以下において、同一リスト65にマップさ
れるマルチキャスト待ち行列からのエントリの出力を統
御する際の停止ビットの機能性に関して完全な理解を得
られるように1例を用いて説明する。
【0117】図15のA)は、Cell(セル)1、C
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)を持つ。
【0118】2番目の待ち行列が空になる時点で、出力
制御69は、図14のブロック133のエントリ・クリ
ーンアップを実行する際に、直前に出力されたエントリ
(エントリCell4)の停止ビットをオンにセットす
る(この点は、図15のA)で"ストップ=l"によって
示されている)。2番目の待ち行列に関連付けられた出
力VCNは、出力制御によってリサイクルされなかっ
た。
【0119】図15のB)は、新しいエントリCell
5が図15のA)のリストに追加されるプロセスを示
す。エントリ詳細が、リストの最後部にあるヌル・エン
トリに書き込まれ、新しいヌル・エントリがリストに付
加される。使用者ポインタC1、C2、C3は、以前と
同じエントリをポイントする。
【0120】今や2番目の待ち行列に新しいエントリが
存在するけれども、対応する出力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は認識する。
【0121】送出始動ブロック 出力VCN送出始動ブロック82は、特定のマスタVC
Nに関し"始動"を実行し、それをすべての関連する出力
VCNに拡大する。本実施例においては、最初の出力V
CNは、ユニキャストの場合にマスタVCNが直接出力
VCNと見なされるようにするため、マスタVCNと同
じ値にされる。拡張動作によって提供される出力VCN
は、資格制御ブロック77の要求に応じてブロック82
から資格制御ブロックに渡される。
【0122】上記のように、入力制御からリスト65に
対し出される始動信号は、空きから非空き状態へ変える
もの("非空き"始動)であり、出力制御からすべての待
ち行列70に関し出される始動信号は、停止ビットがセ
ットされているエントリに続くエントリの位置にリスト
を配置するもの("ストップ解除"始動)である場合があ
る。出力制御からの始動は、常にマルチキャストの場合
に関するものであるが、一方、入力制御66からの始動
は、ユニキャストまたはマルチキャストいずれにも関連
させることができる。入力制御66はマスタVCNがユ
ニキャストまたはマルチキャストに関連するかどうかを
データ構造120のフィールド123に記憶されるデー
タ(図12参照)から判断し、"非空き"始動を送出始動
ブロック82上で実行する際に、マスタVCNととも
に、この情報を渡す。かくして、ブロック82は、始動
信号を受け取ることによって、当該マスタVCNとそれ
がユニキャストまたはマルチキャストのいずれに関する
ものであるかを知ることになる。
【0123】上記の通り、送出始動ブロックは、出力別
VCN動作の上流に置かれるバッファ機構を含む。これ
を実施する1つの方法は、受け取られる始動信号を記憶
するための始動FIFO140(図16参照)と各マル
チキャスト接続毎に関連出力VCNのグループを記憶す
るためのマルチキャスト・グループ記憶機構として、マ
ルチキャスト拡張機構83を実施することである。ブロ
ック82の概略動作は、次の通りである。始動信号が当
該マスタVCNを記録するため始動FIFO140に入
れられるとき、関連マルチキャスト・フラグが、始動が
マルチキャスト接続に関するものであるか否かを標示す
るように適切にセットされる。記憶された始動動作が、
FIFO順にブロック82によって処理され、出力回路
84は、資格制御ブロックによって要求される時、始動
のマスタVCNに関連する各出力VCNを出力する。特
に、始動がユニキャスト・マスタVCNに関する場合、
出力回路84は、単に対応する出力VCNとしてマスタ
VCNを出力する。しかし、始動のマルチキャスト・フ
ラグがセットされ、それがマルチキャスト・マスタVC
Nに関することを示している場合、出力回路84は、マ
スタVCNを使用して、マルチキャスト・グループ記憶
FIFO41へインデックスし各出力VCNを順番に出
力する。
【0124】始動FIFOをあらゆるマスタVCNに関
する始動信号を保持するに十分な大きさにすることによ
って、マルチキャスト拡張を処理するために望まれる処
理の柔軟性を備えながら、いかなる始動信号も失うこと
はないようにするこができる。
【0125】図16の構成の詳細な動作は以下の通りで
ある。エントリ(始動)をFIFO140に追加するた
めの手順は、FIFOが現在空きであるか否かに依存す
る。これは、関連空きフラグ142によって標示され
る。空きフラグがオンにセットされていれば、FIFO
は空きであり、新しいエントリを追加するステップとし
て、始動された新しいマスタVCNを読み書きポインタ
143、144に書き込み、書き込みポインタによって
ポイントされるエントリのマルチキャスト・フラグ14
5を適切にセットし(本実施例においては、値1がマル
チキャスト接続を標示する)、空きフラグ142をリセ
ットする。
【0126】空きフラグがセットされていなければ、F
IFO140は空きでなく、新しいエントリを加えるた
め次の2つのステップがとられる。第1に、新しいマス
タVCNが、書込みポインタが現在ポイントする位置に
書き込まれる。第2に、新しいマスタVCNが書込みポ
インタに書き込まれ、書込みポインタによってポイント
される新しい位置にあるマルチキャスト・フラグが適切
にセットされる。図16に示される例において、マスタ
VCNをFIFO140に追加するため、位置14への
書き込みと書込みポインタへの書込み、および、位置1
1におけるマルチキャスト・フラグの適切なセットが行
われる。
【0127】FIFO140を読み取ることによって、
読取りポインタによってポイントされる位置に保持され
るマルチキャスト・フラグの状態とともに読み取りポイ
ンタ143の値が戻される。次に、読み取りポインタが
ポイントする位置を読み取り、読取りポインタの新しい
値として読み取った値を記憶することにより、読取りポ
インタは進められる。しかし、この新しい値が読取りポ
インタに書かれる前に、古いエントリは、ヌルに変えら
れなければならない。一旦これが行われれば、新しい値
を読取りポインタに書き込むことができる。
【0128】読み込みポインタに書かれた値がヌルであ
るとき、FIFO140は空きであり、この場合空きフ
ラグがセットされる。
【0129】図16に示されるFIFO140からの読
み込みは、それがユニキャスト接続に関するものである
ことを標示する値1をマスタVCNへ戻すであろう。読
取りポインタを進めるステップには、(値2を与えて)
ロケーション1を読み取ること、ロケーション1に0を
書き込むこと、そして最後に2を読取りポインタに書き
込むというステップが含まれる。
【0130】FIFOからのマスタVCN読み込みがユ
ニキャスト接続に関する場合、単に該マスタVCNが出
力VCNとして出力される。しかしながら、マスタVC
Nがマルチキャスト接続に関する場合、マルチキャスト
・グループ記憶141が出力されるべき出力VCNに関
し参照されなければならない。
【0131】マルチキャスト・グループは、記憶機構1
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に関連する追加
ポインタを含むことによって明示的に(かつ可変的に)
上記接続を行うよう設計することもできるが、これは好
ましくはない。
【0132】図17において、マルチキャスト・グルー
プ記憶に属するエントリでさえマルチキャスト・フラグ
・フィールドを有するものとして示された点に留意する
必要がある。これは、FIFOデータに属していようが
記憶データ構造141に属していようが、すべてのエン
トリを同一サイズにすることが単に便利であることによ
る。
【0133】図17の140と141の組み合わせ構造
は、各始動信号が活動化され次第、接続を効果的に設定
して、適当な出力VCNを待機する出力シーケンスに追
加するので、単なる1つの出力VCN FIFO記憶機
構として見なすことができる点に留意する必要がある。
エントリを図17の構成のようにするために出力毎VC
N動作が必要とされないから(唯一の出力毎VCN動作
動作は、出力VCNを図17の構成から取り出す際に必
要とされるものであるから)、始動信号でなく出力VC
Nをバッファに格納することは可能である。
【0134】クレジット付与 クレジット付与ブロック80(図8)は、下記サービス
特性のいずれかである出力VCに関して資格制御ブロッ
ク77へ送出クレジットを付与する。すなわち、 (a)最善の努力(フローは制御される)、または、 (b)保証された帯域幅。 (a)の場合に関しては、送出クレジットは、下流ノード
によって定められる使用可能バッファ空間量を反映す
る。下流ノードから受け取るクレジット・メッセージを
解釈し、当該出力VCNのために設定されたクレジット
量をクレジット付与ブロック80に通知するのは、フロ
ー制御ブロック85の責任である。(b)の場合(保証さ
れた帯域幅VC)に関しては、クレジット付与ブロック
80は、トークン(クレジット)を定期的間隔で生成す
るためにトークン・バケット・ロータを動作させる。特
定の保証された帯域幅VCに関してトークンが生成され
る平均速度は、VCが送出されることを可能にする速度
を反映するようにセットされる。生成されたクレジット
は、資格制御77ブロックに渡され、そこで、それらは
適切な出力VCNに関連づけられるトークン・バケット
に記憶される。ある出力VCNに関してセルが送り出さ
れるとき、クレジットが、対応するトークン・バケット
から取り出される。クレジット付与ブロックによって操
作されるトークン・バケット・ロータは、図18に示さ
れるテーブル150とカウンタ151を使用する。
【0135】テーブル150は、固定サイズ(M個のエ
ントリ)であり、保証された帯域幅VCに関連する出力
VCNを保有する。クレジット増分値は、各出力VCN
に関連づけられる。カウンタ151は、定期的間隔で増
分されるモジュロMカウンタである。カウンタが増分さ
れたあと、出力VCNとクレジット増分がテーブルから
読み取られ、資格制御ブロックに送られる。テーブル・
エントリがブランクの場合、この間隔の間クレジットは
送り出されない。
【0136】常に単一のクレジットを送出せずにクレジ
ット増分フィールドを持つ理由は、資格制御ブロックが
セル期間毎にトークン・バケット・ロータにサービスす
る必要性を避けるためである。例えば、トークン・バケ
ット・ロータがセル期間毎にだけサービスされるなら
ば、ただ1つのクレジットが各サービス毎に送り出され
る場合、本発明のスイッチは、保証された帯域幅VCN
に対しその出力帯域幅の半分以上を割り当てることがで
きないであろう。逆にこの問題が常に2つのクレジット
を送り出すことによって回避されるならば、トークン・
バケットの正確度はあがるであろう。
【0137】一般的にクレジット増分フィールドは、1
つまたは2つのクレジットが送り出されるべきか否か標
示できるように1ビット幅である。このフィールドの幅
は、一層の柔軟性を持たせるためさらに大きくすること
は可能である。
【0138】トークン・バケット・ロータにおけるテー
ブルの長さは、帯域幅を割り当てる際に必要な分解能に
よって決定される。典型的には、各テーブル・エントリ
は、64Kビット/秒スライスの帯域幅に対応するよう
に構成できる。
【0139】トークン・バケット・ロータは、接続確立
時に設定される。特定の出力VCNに関し1つの64K
ビット/秒スライスが必要であれば、プロセッサ装置
は、空きテーブル・エントリを見出し、VCNをそれに
書きこまなければならない。さらに多くのスライスが必
要であれば、プロセッサ装置は、可能な限り均一な間隔
で数回にわたって出力VCNをロータへ書き込まなけれ
ばならない。
【0140】資格制御ブロック 資格制御ブロック77の機能は、送出するクレジットを
必要とする出力VCNの送出クレジットを追跡し、送出
クレジットを必要としそれを持つか、または、そのよう
なクレジットを必要としない送出セルとともに、それら
出力VCNをスケジュール・ブロック75へ渡すことで
ある。
【0141】資格制御ブロック77は、各出力VCNに
関し一定量のデータを維持する。このデータは(図19
の)テーブル81に保持され、以下の項目を含む。 −クレジット(出力VCNが現在送出すべきクレジット
を持つセルの数)、 −最大クレジット(クレジット・フィールドが取り得る
最大値)、 −"セル・フラグ"(出力VCNがその待ち行列中にセル
を持つがクレジット不足のためにスケジュールされなか
ったことを標示するフラグ)、 −QOS(出力VCNに関連するサービス特性で、GB
0、GB1、BEのいずれか)、 −"出力制御フラグ"(保証された帯域幅出力VCNが定
形出力を持つか、最善努力出力VCNがフロー制御され
ていることを標示するフラグ)、 −外部ポート番号。 クレジットと"セル・フラグ"を除き上記データのすべて
は、接続確立時に設定され以後変更されない。
【0142】図19に示される通り、資格制御ブロック
は、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の待ち行列がなお多くのセルを持つこと
を示すので、まだクレジットがある限り、スケジュール
決めを継続しなければならない。
【0143】資格制御ブロック77が、入力を受け取っ
た出力VCNのクレジット・カウントに必要な調整を行
った後、引き続きその入力を検討して、出力VCNを適
切な待ち行列に入れるスケジュール・ブロックへメッセ
ジを送るべきか否かを判断する。メッセージは、以下の
状況の場合スケジュール・ブロックに送り出される。 1. 送出始動ブロックからの出力VCNは、次の場合に
メッセージが送り出されるようにする: *クレジットが0以上である場合、または、 *VCNが非定形出力をもつ保証された帯域幅である場
合、または、 *VCNがフロー制御なしBEの場合。 2.出力VCNとトークン・バケット・ロータからのク
レジット増分は、VCNがセルを持つがクレジットがな
かったため以前にスケジュールされなかったことを示す
オンに"セル・フラグ"がセットされていれば、メッセー
ジが送出されることを可能にする。 3.出力VCNと出力フロー制御ブロックからのクレジ
ットは、クレジットがゼロでなく「セル・フラグ」がオ
ンにセットされていれば、メッセージが送出されること
を可能にする。 4.出力VCNと待ち行列ブロックからの「送出セルあ
り」標識信号は、以下の場合メッセージが送出されるこ
とを可能にする: *減分後のクレジットが0以上の場合、または、 *出力VCNが非定形出力を持つ保証された帯域幅であ
る場合、または、 *出力VCNがフロー制御なしBEの場合。
【0144】スケジュール・ブロックに送り出されるメ
ッセージは、出力VCNのみならず、関連外部ポート番
号と待ち行列番号とを含む。外部ポート番号の入手は、
テーブル81を探索すればできる。待ち行列番号は、通
常VCNのQOSに対応している。従って、GB0出力
VCNは、待ち行列0に、GB1出力VCNは待ち行列
1に、そしてBE出力VCNは待ち行列2にそれぞれ向
けられる。この規則には例外が1つある。すなわち、非
定形出力を持ちクレジットを持たないGB出力VCN
は,待ち行列2(BE待ち行列)に入れられる。
【0145】資格制御ブロックが実行しなければならな
い最後の作業は、"セル・フラグ"の更新である。"セル
・フラグ"は、出力VCNが待ち行列に入れられたセル
を持つが、クレジットがなかったためスケジュール・ブ
ロックに渡されなかったことを標示する。これが発生す
る2つの状態がある: −出力VCNが送出始動ブロックから到着し、出力VC
Nがクレジットがないためスケジュール・ブロックに渡
されない場合、および、 −出力VCNが"送出セルあり"標識を持って待ち行列か
ら到着し、クレジットがないためスケジュール・ブロッ
クに渡されない場合。
【0146】"セル・フラグ"は、これら2つの場合にセ
ットされる。その他のすべての場合、出力VCNがフロ
ー制御ブロックから到着し、出力VCNがクレジットが
ないためスケジュール・ブロックに渡されない場合(こ
の場合"セル・フラグ"は変えられない)を除いて、"セ
ル・フラグ"はクリアされる.資格制御ブロックについて
留意すべきもう1つの点は、それが各入力からメッセー
ジを受け取る頻度である。該ブロックが1セル期間に4
つの入力すべてを取り扱うことができれば問題はない。
しかし、典型的にはそのようにはならず、セル期間につ
き2つの入力しか扱うことができない。従って、どの入
力が各セル期間にサービスされる必要があるかを決定す
る上で、以下の考察がなされる。 −各セル期間毎にセル詳細を送ることができるので、待
ち行列ブロック63からの入力は、各セル期間毎に処理
されなければならない。 −トークン・バケット・ロータは、増分の大きさを指定
できるので、あらゆるサイクルより短い間隔で出力を提
供するように設計できる。 −フロー制御入力は、セル期間に比較して頻繁ではな
く、資格制御ブロックからフロー制御ブロックへ送られ
る"準備完了"信号によって制御ができる。 −送出始動ブロックは1セル期間より遅い速度で始動信
号を出し、始動信号が1セル期間で到着していても、情
報が消失しないということを保証する始動FIFOがあ
る。かくして、この入力もまた"準備完了"信号によって
制御されることができ、セル期間毎に読み取られる必要
はない。
【0147】各セル期間に2つの入力だけが取り扱われ
ることができるという観点から、図20のロータ155
が使用され、そこで、待ち行列ブロック入力がセル期間
毎にサービスされ、セル期間1つおきにトークン・バケ
ット・ロータが入力し、4セル期間に一度残りの入力が
行われる。
【0148】スケジュール・ブロック すでに述べたとおり、スケジュール・ブロック75の役
割は、送出し続けるべき次の出力VCNを選択し、待ち
行列ブロック63の出力制御69へこの出力VCNを渡
すことである。
【0149】各外部ポートのため、それぞれの待ち行列
構造76がスケジュール・ブロックで維持される。各構
成は、図9に図示されるように、(GB0、GB1、B
Eの)各優先度に対し1つ当て合計3つのFIFO待ち
行列を含む。スケジュール・ブロックは、メッセージを
資格制御ブロックから受け取り次第、メッセージに含ま
れる出力VCNを、メッセジの他の情報によって示され
る適切な待ち行列に書き込む。スケジュール機構78
は、外部ポート・ロータ60Bに従って、待ち行列構造
76を調べる。
【0150】次の外部ポート番号をロータから入手する
と、スケジュール機構78は、そのポートに関する待ち
行列構造における最も高い優先度の非空き待ち行列を探
し、そこから最初の出力VCNを読み出す。
【0151】スケジュール・ブロック75の外部出力ポ
ート・ロータ60Bは、(外部入力と出力ポートが対に
されていると仮定すると)マスタVCN探索ブロック6
1に関連するロータ60Aと本質的に同じものである。
しかしながら、出力FIFO42ががそのしきい値(1
セル相当量)を越えるときを考慮に入れるため、アダプ
タ・カードのモニタ44からの入力を出力ポート・ロー
タ60Bは使用する。特に、ロータ60Bは、FIFO
がしきい値まで空になるまでヌル・ポート番号を対応す
るスケジュール機構のタイム・スロットに出力すること
によって、そのFIFOがそのしきい値を越えた外部出
力ポートに関してスケジュールが行われることを防止す
る。
【0152】スケジュール・ブロックにおいてFIFO
待ち行列を実施するデータ構造は、マルチキャスト拡張
機構83において使用されるものと同じである。出力V
CNがスケジュール・ブロック待ち行列において任意の
1時点でただ一度だけ出現することが保証されるので、
これらの効果的構造を使うことができる。実際に、出力
VCNが多くとも1つの待ち行列にあるだけである。結
果として、FIFO待ち行列のどれもいっぱいにならな
いことを保証しながら、FIFO待ち行列のすべてを1
つの小さいブロックのメモリに上重ねすることが可能で
ある。
【0153】スケジュールFIFO待ち行列を実施する
ために使われるデータ構造が、外部ポート0に関連する
待ち行列に関するサンプル・データと共に、図21に示
されている。この図で点線の引かれたボックスで示され
ているものは、サンプル・データの一層便利なFIFO
を表している。
【0154】各FIFO待ち行列(例えば、待ち行列ポ
ート0、GB0)は、先頭ポインタ161、最後部ポイ
ンタ162および空きフラグ163を持つ単一リンク・
リストとして記憶される。これらのポインタは、すべて
の可能な出力VCNを保持するに十分な大きさのメモリ
・ブロックを参照する。データは、上述の始動FIFO
の場合と同様の方法で各FIFO待ち行列から読み出さ
れそこへ書き込まれる。
【0155】各々がFIFO待ち行列から読み取られた
後、最後部ポインタ162は、FIFO待ち行列が空に
なったかどうか見るためにテストされる。最後部ポイン
タがヌルであれば、FIFOは空であり、空きフラグ1
63がセットされる。書込みがそのFIFO待ち行列に
行われるまでフラグはセットされたままである。
【0156】図21では、各空きフラグは、対応する先
頭および最後部ポインタとグループにまとめられて図示
されている。しかし、実際問題として、同じ外部ポート
に関連付けられたすべての待ち行列の空きフラグ163
は、それらが一度の動作で読み込まれるようにするため
1つのグループに集められる。これによって、スケジュ
ール機構が、ロータ60Bのどの待ち行列を現在時外部
ポートに関し読み込むべきかを容易に決定できる。
【0157】出力ヘッダ生成ブロック スケジュール機構78がポート待ち行列から出力VCN
を取り出した後、セル詳細待ち行列ブロック63の出力
制御69へこの出力VCNを渡し、そこで、その出力V
CNに関し次に出力されるべきセルのセル詳細が取り出
される。これらのセル詳細と出力VCNは、出力ヘッダ
生成64ブロックに渡され、送出されるべきセルに関す
るヘッダが生成される。ヘッダを生成する第1のステッ
プは、出力VCNを使用して、この情報を記憶する出力
VPIとVCIをテーブル165で探しあてることであ
る。このテーブル165は、接続確立時点に設定され
る。
【0158】VPIとVCIはブロック64に渡される
セル詳細情報からのセル・タイプとAAL5EOPビッ
トと組み合わせられ、セル・ヘッダの最初の4バイトを
形成する。次に、これらは、セル本体のアドレスととも
に、ファブリック30に渡される。ヘッダ・エラー・チ
ェックはここでは計算されない点に留意する必要があ
る。この計算は関連アダプタ・カードでされる。
【0159】バリエーション 一般的にハードウェアでの実施が処理速度の観点からむ
しろ好まれるとはいえ、上述された機能ブロックは様々
な方法で実行されることができることは認められること
であろう。
【0160】更に、上述された機能性は種々の方法で複
数ブロック間に分割することができ、一般的にはこれら
のブロックの境界は任意であるということも認められる
であろう。例えば、図22を参照すると、マルチキャス
ト拡張機能83に供給された"始動"信号を生成するため
に使用される機能性は、待ち行列ブロックでなくむしろ
送出制御経路に存在するとみなすこともできる。特に、
この始動信号生成機能性は、送出始動ブロック82(図
22の始動生成ブロック170参照)の一部とみなすこ
とができる。この始動信号生成ブロックは、到来するセ
ルのすべてのマスタVCNを効果的に受け取るが、適切
な条件が存在していることを標示するため待ち行列ブロ
ックに保持されている待ち行列データ171(すなわ
ち、作成者と使用者ポインタ、空きフラグおよび停止ビ
ット)に関する始動信号を生成するだけである。同様
に、出力VCNをリサイクルするためのメカニズムは、
待ち行列ブロック63に埋め込まれる方法ではなく、む
しろ送出制御経路に含まれる待ち行列データ応答型機能
性とみなすことができる(図22のリサイクル・ブロッ
ク172参照)。また、スケジュール機構78によって
出力される出力VCNは新たなセル出力メカニズムに対
し行われるように考えることもできる。このメカニズム
は、ブロック75を含み、セル本体アドレスを与えるた
め待ち行列ブロック63を使用する。記述されたスイッ
チの動作原理を根本的に変えることなく機能ブロック境
界における多数のバリエーションを想定することができ
る。
【0161】更に一層実質的なバリエーションが可能で
ある。特に、送出始動82から資格制御ブロックへの出
力VCNの導入を行うためのメカニズムは、図23に示
されようなバリエーションを取ることができる。図23
の境界は、図22と同じ機能ブロック境界をもって図示
されている。図23の出力VCN導入メカニズムの背後
にある一般的原理は、ブロック61によって生成される
新しいマスタVCN各々によって標示される新しいセル
の到着の各々にマルチキャスト拡張機構82が応答する
ように構成されることである。この結果、特定のマスタ
VCNに関する始動信号を受け取ると、マルチキャスト
拡張機構は、スケジュール決めループに入っていない
(すなわち、資格制御ブロックに保持され、ケジュール
・ブロック75で待ち行列に入れられ、または、リサイ
クル手段172によってリサイクルされるプロセス中
の)それら関連出力VCNを導入のため待ち行列に入れ
るだけである。
【0162】この構成の明白な利点は、空きフラグと停
止ビットを活用し、始動信号がマルチキャスト拡張機能
に送られる条件を設定し判定するこをもはや必要としな
いことである。結果として、待ち行列ブロック63の入
力・出力制御66、69の動作が単純化され、図22の
始動信号生成ブロック170は完全に取り除かれてい
る。しかしながら、この利点を得るためには、どの出力
VCNがスケジュール・ループに入っていないかをマル
チキャスト拡張機構が知ることができるように設計しな
ければならない。もちろん、新たに設定された接続に関
する最初のマスタVCNの受領に先立って、スケジュー
ル・ループに入っている出力VCNはないから、マスタ
VCNに関するすべての出力VCNがスケジュール・ル
ープに導入される準備ができているようにマルチキャス
ト拡張機構を初期的に設定することはできる。更に、一
旦特定のマスタVCNに関連づけられた出力VCNがス
ケジュール・ループに導入されたならば、出力VCNが
ループから出そうになる時点をリサイクル手段172が
マルチキャスト拡張機構に通知することは容易となる。
その出力VCNに関する出力待ち行列70が空きである
とリサイクル手段が判断する場合、リサイクル手段は、
資格制御ブロックではなくマルチキャスト拡張機構へ出
力VCNを戻す(実際には、出力VCNはなお、クレジ
ット・セットの目的のため資格制御ブロックに渡される
が、"送出セルあり"フラグはセットされない)。
【0163】次に、マルチキャスト拡張機構83は、関
連出力VCNがスケジュール・ループにないマスタVC
Nの各々に関するリストを保持するだけでよい。すなわ
ち、マスタVCNをブロック61から受け取ると、マル
チキャスト拡張機構は、単に、資格制御ブロック77へ
の出力回路84による導入のため出力VCNの適切なリ
ストを出力FIFOに書き込む。
【0164】その他の可能なバリエーションは以下の通
りである。 −スケジュール手段において複数の出力VCNの発生を
可能とすること(マルチキャスト拡張機構は、対応する
セルを受け取ると常に、マスタVCNと関連する出力識
別子の全セットを導入する。この場合リサイクル手段は
必要ない)。 −セル本体順序付けデータを待ち行列ブロックに別々に
記憶せずに、リンクされたリストに直接セル本体を記憶
すること。 実用上、これらの可能なバリエーションのどれも好まし
くはない。
【0165】上述されたコントローラの概念の多くを、
(固定長パケットである)セルを持つシステムに対する
と同様に可変長パケットを持つパケット型システムにも
適用できることは認められるであろう。
【0166】本発明には、例として次のような実施様態
が含まれる。 (1)各々がパケット本体を有する複数のパケットから
なる入力ストリームを市区なくとも1つ受け取り、該入
力ストリームの複数パケットのパケット本体を複数の出
力ストリームのパケットへ複製することによって、複数
のパケット出力ストリームとして前記入力ストリームを
マルチキャスティングするための装置であって、パケッ
トを受け取り、各パケットがどの入力ストリームに属す
るかを判断するための入力手段と、前記入力手段によっ
て受け取られたパケットのパケット本体、および受け取
られたパケット本体を受け取った順序で順序付けするた
めに使用される各入力ストリーム毎の順序データ・セッ
トを記憶するための記憶手段であって、新たなパケット
本体が記憶されると、該パケットが属する入力ストリー
ムの前記順序データ・セットを前記入力手段の判断に従
って更新する入力制御手段と、出力ストリーム上に送出
されるべき次のパケット本体を識別するため、各出力ス
トリーム毎に対応する入力ストリームの順序データ・セ
ットを参照する順序位置識別子を維持する出力制御手段
とを有する、記憶手段と、前記出力ストリーム上への出
力をスケジュールするため前記記憶手段の出力制御手段
と連係して現在スケジュールされている出力ストリーム
上へ次に出力すべきパケット本体を識別し、識別したパ
ケット本体を取り出し、前記現在スケジュールされてい
る出力ストリーム上へ取り出したパケット本体を出力す
るための出力手段と、を備えるマルチキャスティング装
置。
【0167】(2)前記パケット本体と前記順序データ
・セットは、前記記憶手段に別々に記憶され、前記順序
データ・セットの各々は、それぞれ対応するパケット本
体をポイントするパケット本体ポインタと次のエントリ
をポイントする次エントリ・ポインタとを各々が持つパ
ケット詳細エントリのリストを含み、新たなパケット本
体が記憶されると、前記入力制御手段は、当該パケット
に対応する前記リストのパケット詳細エントリのパケッ
ト本体ポインタを新たに記憶されたパケット本体をポイ
ントするようにセットすることを含めて前記リスト中の
対応するパケット詳細エントリをセットアップし、各出
力ストリーム毎に前記出力制御手段によって維持される
順序位置識別子の各々は、当該出力ストリームに関し次
に送出されるべきパケット本体のためのパケット詳細エ
ントリをポイントする、上記(1)に記載のマルチキャ
スティング装置。 (3)パケット詳細エントリがセットアップされる際
に、該パケット詳細エントリが保有されている前記パケ
ット詳細リストに関連する入力ストリームからマルチキ
ャストされるべき出力ストリームの数を示す値に前記入
力制御手段によってセットされるマルチキャスト・カウ
ント項目をパケット詳細エントリの各々が持つように構
成され、前記出力制御手段が、前記出力手段が対応する
パケット本体を出力する度毎に該パケット本体がすべて
の該当出力ストリーム上へ出力されるまで、前記パケッ
ト詳細エントリのカウント項目を減分し、最後に、前記
リストから当該エントリを削除する、上記(2)に記載
のマルチキャスティング装置。
【0168】(4)各入力ストリームは、対応する入力
識別子によって識別され、前記入力手段は、新たに受け
取るパケットが属する入力ストリームを識別する入力識
別子を該パケットに付与し、前記記憶手段の入力制御手
段は、前記リストの各々の最後部をポイントするリスト
・ポインタを保持し、各入力識別子と、入力識別子によ
って識別される入力ストリームに関連する前記リストを
ポイントする前記リスト・ポインタとの間の関連性を保
持する、上記(2)に記載のマルチキャスティング装
置。 (5)前記リスの各々は、パケット関連情報を持たない
最後部エントリを含み、前記入力制御手段によって保持
されるリスト・ポインタは、前記最後部エントリをポイ
ントするように構成され、新たなパケット本体が記憶さ
れる際に、前記入力制御手段は、該当するリストへ新た
な最後部エントリを追加し、それまで最後部であったエ
ントリを新たなパケット本体のためのパケット詳細エン
トリとして使用し、制御手段は、該リストのリスト・ポ
インタをそれに応じて更新する、上記(4)に記載のマ
ルチキャスティング装置。 (6)各出力ストリームは対応する出力識別子によって
識別され、前記出力手段は、前記出力識別子を基に出力
ストリームの出力スケジュールを行い、対応する出力識
別子を出力することによって、次にスケジュールされる
出力ストリームを識別する送出制御手段を含み、前記記
憶手段の出力制御手段は、各出力識別子と、該出力識別
子によって識別される出力ストリームに関する順序位置
識別子との間の関連性を維持し、出力手段によって出力
識別子を付与されると、前記出力制御手段が、該関連性
を活用して当該出力ストリームに関し次に出力されるべ
きパケット本体のためのパケット本体ポインタを取り出
す、上記(1)に記載のマルチキャスティング装置。
【0169】(7)前記送出制御手段は、スケジュール
手段と該スケジュール手段に出力識別子を導出するため
の導出手段とを含み、該スケジュール手段は、前記出力
識別子を基に出力ストリームの出力スケジュールを行
い、次に出力すべき出力ストリームに対応する出力識別
子を出力し、その後そのストリームを該スケジュール手
段から取り除き、前記導出手段は、入力手段による少な
くともいくつかの新たなパケットの受領に応答して、そ
れらパケットが属する入力ストリームに関連する少なく
ともいくつかの出力ストリームの出力識別子を前記スケ
ジュール手段に導出し、前記スケジュール手段において
出力識別子が任意のある時点でただ1度だけ出現するよ
うに送出制御手段が構成され、該送出制御手段は、前記
スケジュール手段によって最後に出力される出力識別子
に関連する順序データ・セットの状態に応答して、該順
序データ・セットが当該出力ストリーム上に送出される
べきパケット本体がなお存在することを標示する場合、
前記スケジュール手段に当該出力識別子を戻す、上記
(6)に記載のマルチキャスティング装置。 (8)前記パケットがATMセルせある、上記(1)に
記載のマルチキャスティング装置。 (9)前記パケット本体は各々、前記記憶手段において
ただ一度だけ記憶され、前記順序データ・セットは、対
応するパケット本体をポイントするポインタを含むエン
トリを持ち、該エントリのそれぞれは、同時に使用され
る順序データ・セット(複数)においてただ一度だけ存
在し、各出力ストリームは、それぞれの出力識別子によ
って識別され、出力手段は、出力識別子を基に出力のス
ケジュールを行う送出制御手段を含み、前記出力識別子
の各々は、前記送出制御手段の中で任意の一時点で一度
以上は存在しない、上記(1)に記載のマルチキャステ
ィング装置。
【0170】
【発明の効果】マルチキャスティングに際し、パケット
本体を出力ストリームの待ち行列ごとに複製して記憶さ
せたり、共有メモリ内のパケット本体のアドレスを出力
ストリームごとの待ち行列に重複して入れておく必要が
なく、効率的に出力ストリームを形成することができ
る。
【図面の簡単な説明】
【図1】AAL5結合のための標準ATM UNIセル
の形式を示すブロック図である。
【図2】低速リンクがATMスイッチ・コアのポートに
供給される前に先ずマルチプレクスされる形態の一般的
ATMスイッチ・アーキテクチャを示すブロック図であ
る。
【図3】本発明を実施するATMスイッチの概略を示す
ブロック図である。
【図4】図3のスイッチのスイッチ・コア・ブロックを
示すブロック図である。
【図5】スイッチ・コアのポートに関するサービス・ロ
ータのテーブルを示すブロック図である。
【図6】図3のスイッチのアダプタ・カードのブロック
図である。
【図7】図6のアダプタ・カードの外部スイッチ・ポー
トに関するサービス・ロータのテーブルを示すブロック
図である。
【図8】図4のスイッチ・コア・ブロックのコントロー
ラの機能ブロック図である。
【図9】図8のコントローラのスケジュール機構によっ
て保持されるポート待ち行列を示すブロック図である。
【図10】図8のコントローラのマスタVCN探索ブロ
ックのブロック図である。
【図11】破棄されたセルに応じてAAL5結合パケッ
トを破棄するための2つの方法を示すブロック図であ
る。
【図12】図8のコントローラのセル詳細待ち行列にお
ける各種リストと待ち行列を実施するために使われるデ
ータ構造を表すブロック図である。
【図13】新たに到着したセル詳細の入力セル・ストリ
ーム・リストへの追加を示すブロック図である。
【図14】図8のコントローラの待ち行列ブロックの出
力制御の動作を示す流れ図である。
【図15】待ち行列ブロックに保持されるリストと待ち
行列のセル詳細エントリの各々に含められる停止ビット
の目的と効果を示すブロック図である。
【図16】図8のコントローラのマルチキャスト拡張手
段を実行するためのデータ構造を示すブロック図であ
る。
【図17】図16のデータ構造の改良された実施例を示
すブロック図である。
【図18】保証された帯域幅サービスのために維持され
るクレジット・バケット・ロータ・テーブルを示すブロ
ック図である。
【図19】図8のコントローラの資格制御ブロックの動
作を示すブロック図である。
【図20】資格制御ブロックによって動作されるサービ
ス・ロータを示すブロック図である。
【図21】図8のコントローラのスケジュール・ブロッ
クで使われるデータ構造を表すブロック図である。
【図22】機能ブロック境界が図8と異なるコントロー
ラの機能ブロック図である。
【図23】コントローラが変っていることを除いて図2
2と同じ機能ブロック図である。
【符号の説明】
1、45 マルチプレクサ(MUX) 2 スイッチ・コア 3、47 デマルチプレクサ(DEMU
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 リサイクル手段
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04Q 3/00 3/52 101 Z 9076−5K 9466−5K H04L 11/20 102 A

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】各々がパケット本体を有する複数のパケッ
    トからなる入力ストリームを少なくとも1つ受け取り、
    該入力ストリームの複数パケットのパケット本体を複数
    の出力ストリームのパケットへ複製することによって、
    複数のパケット出力ストリームとして前記入力ストリー
    ムをマルチキャスティングするための装置であって、 パケットを受け取り、各パケットがどの入力ストリーム
    に属するかを判断するための入力手段と、 前記入力手段によって受け取られたパケットのパケット
    本体、および受け取られたパケット本体を受け取った順
    序で順序付けするために使用される各入力ストリーム毎
    の順序データ・セットを記憶するための記憶手段であっ
    て、新たなパケット本体が記憶されると、該パケットが
    属する入力ストリームの前記順序データ・セットを前記
    入力手段の判断に従って更新する入力制御手段と、出力
    ストリーム上に送出されるべき次のパケット本体を識別
    するため、各出力ストリーム毎に対応する入力ストリー
    ムの順序データ・セットを参照する順序位置識別子を維
    持する出力制御手段とを有する、記憶手段と、 前記出力ストリーム上への出力をスケジュールするため
    前記記憶手段の出力制御手段と連係して現在スケジュー
    ルされている出力ストリーム上へ次に出力すべきパケッ
    ト本体を識別し、識別したパケット本体を取り出し、前
    記現在スケジュールされている出力ストリーム上へ取り
    出したパケット本体を出力するための出力手段と、 を備えるマルチキャスティング装置。
JP10282695A 1994-04-28 1995-04-27 マルチキャスティング機能を備えた装置 Pending JPH07321823A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (6)

* Cited by examiner, † Cited by third party
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