JP3215635B2 - リアルタイム処理用パケット交換機とパケットのリアルタイム処理方法 - Google Patents
リアルタイム処理用パケット交換機とパケットのリアルタイム処理方法Info
- Publication number
- JP3215635B2 JP3215635B2 JP28481396A JP28481396A JP3215635B2 JP 3215635 B2 JP3215635 B2 JP 3215635B2 JP 28481396 A JP28481396 A JP 28481396A JP 28481396 A JP28481396 A JP 28481396A JP 3215635 B2 JP3215635 B2 JP 3215635B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- cell
- area
- function
- switch
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1877—Measures taken prior to transmission
-
- 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
-
- 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/20—Support for services
- H04L49/205—Quality of Service based
- H04L49/206—Real Time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- 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/5619—Network Node Interface, e.g. tandem connections, transit switching
-
- 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/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5639—Tariffs or charging
-
- 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/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
向した接続、及び高速マルチキャスティングをサポート
する、パケット交換におけるリアルタイム処理に関す
る。
類される。すなわち、基本交換機、スマート交換機、イ
ンテリジェント交換機である。基本交換機は、予備的な
交換機能を実行し、ときに多数のGb/sのポート速度
をもって、数百Gb/sのスループット領域で動作する
ことがある。しかしながら、以下で論じられる理由か
ら、これらはマルチキャスト、つまり、一つのソース
(発信源)ホストから複数の目的地となるホストの選択
されたグループへの伝送や、あるいは、その他の特別な
機能をサポートすることはできない。多くの市販のAT
M交換機は、このカテゴリーに入るものである。一方、
インテリジェント交換機は、ソフトウエアをベースとし
ていることに伴う技術的な制限を欠点としてもってお
り、それ故に、低スループットである交換機を除いて、
リアルタイムで動作することができない。(ほとんどが
100Mb/s以下で動作する、ルーターは、インテリ
ジェント交換機の一例である。)スマート交換機の範疇
に入るATM交換機は、一つのソースホストから、特定
されたネットワーク上のすべてのホストへのマルチキャ
スト及びブロードキャスト伝送をサポートするものであ
る。これらの交換機は、数百Mb/sでのポート速度を
もって、数十Gb/sのスループット領域で動作する。
ルチキャストをサポートする、よりスマートな交換機へ
の推移、及びルーターのようなインテリジェントな交換
機から、サービス品質の要求を有する新しい高バンド幅
アプリケーションをサポートする、より高速なATM交
換機への推移が存しているといえる。さらに、新たなT
V分配サービスが、スマート交換機への推移を加速して
いる。
ス(発信源)の交換機は、マルチキャストの目的地の各
交換機からのアクノリッジメント(肯定応答、ACK)
を受け取り可能でなくてはならない。このように、マル
チキャスティング環境において信頼性のあるデリバリー
(送出)を受け取るように、ソースホストは、潜在的に
多数の目的地に対応するACK(肯定応答)を処理する
ことが可能でなくてはならない。ソースのシステムが、
管理可能である上記のACK(肯定応答)を受け取ると
きには、いわゆるACK(肯定応答)のインプロージョ
ン(内破)として知られている状況が、結果として生
じ、システムの効率が、影響を受ける。
アプリケーションへと伝えられる前に論理的に結合され
る、いわゆる結合機能をサポートする処理を提供するプ
ロトコールは、トランスポート(層)からアプリケーシ
ョン(層)のレベルを通じての層を含む、より高位のレ
イヤー(層)で提示されてきた。例えば、高速マルチキ
ャストプロトコールの方法を記述している、1996年7月3
0日にKristolらに付与された米国特許番号5,541,
927号(U.S.Patent No.5,541,927)を参照のこと。
典型的には、ソースがメッセージであふれてしまうこと
のないように、結合機能は、マルチキャストのツリーに
沿った枝(ブランチ)部分に配置されるであろう。
アでサポートすることは、有用である一方で、相対的に
は速度が遅い。マルチキャスティングを行う交換機に対
するハードウエアの集積回路は、ソフトウエアで実装さ
れた先行技術での結合機能よりも速くセルを複製するこ
とが可能であるので、ソフトウエアによる解決は、マル
チキャスト接続のスループットを減少させるボトルネッ
クとなる。それ故に、交換機のVLSI内で、ATM
(交換機の)ハードウエアレベルで論理的な結合機能を
実行することが、本発明の目的である。
て、交換機が、シグナリング、メンテナンス、無線ネッ
トワーキング、ゲーム、ソフトウエア分配、同期、遠隔
測定、計算(コンピューティング)を含むアプリケーシ
ョンをサポートする一般的な目的のプリミティブ(関数
機能、論理演算機能)を提供するように、リアルタイム
状態及び組み合わせ論理が、ATMプロトコールレイヤ
ー(層)において、パケット交換機のハードウエアへ加
えられている。
(仮想チャネル識別子)ルックアップ表(参照用テーブ
ル)におけるメモリが拡張され、パケット交換機の命令
セットをサポートするため、算術論理ユニット(AL
U)の機能が、ヘッダー処理回路に添加されている。
するため、エンドシステムにおける、より高位のレイヤ
ー(層)のプロトコールは、パケット交換機プロトコー
ルのレイヤー(層)そのものへのアクセスを有している
ものとされている。これ以下の説明では、本発明は、A
TMパケット交換機についての特定の場合について記述
されることになろう。しかしながら、本発明の原理は、
ATMパケット交換機でないものについても等しく適用
される。図1を参照するに、本発明に従った交換機での
プリミティブサービスを利用するセルは、特別なフォー
マットを有している。セル110のデータ部位は、オペ
コード(opコード)領域111、オペランド領域11
2、CRC(巡回冗長検査)領域113、オプショナル
データ(コメント)領域114を含んでいる。オペコー
ド(opコード)領域111にあるオペコード(opコ
ード)は、実行されるべき動作を特定しており、一方、
オペランド領域112は、計算を行う一つ以上のデータ
を含みうる。CRC領域113のCRC(巡回冗長検
査)は、ATM(層)レベルでのエラー保護が存在しな
いことから提供されている。単一のCRCの計算は、当
該計算が完了する以前のオペコード(opコード)及び
オペランドについて実行される。CRCのエラーが検出
されるときには、なんらの修正がなされることなしに、
当該機能は中断される。セル損失は、より高位のレベル
で操作され、以下でさらに論じられる。制御ワード、ル
ックアップ表(参照用テーブル)120内に保存された
オペランド状態121、及び、セル110のオペランド
領域112を元にして、ALU130において計算が実
行され、オペランド状態121あるいは、出力セル14
0におけるオペランド領域142、あるいは、その両方
が、その結果により更新される。とりわけ、ALU13
0は、計算の結果を元に、フラグを設定し、フラグ制御
ユニット150へとフラッグを伝える。フラッグ制御ワ
ードにより、出力セル140は、削除されるか、あるい
は、結果により更新される場合がありうる。また、結果
は、状態表120のオペランド領域121に保存される
ことが可能である。典型的なALUの機能は、計算、加
算、AND(論理積)、OR(論理和)、及び、以下で
さらに詳述される、その他の特殊化された機能を含んで
いる。オペランド領域142に加えて、出力セル140
は、入力セル110と同じ領域、すなわち、オペコード
(opコード)領域141、CRC領域143、コメン
ト領域144、及びVCI領域145を含んでいる。
pコード)は、2つのソースの一つから生じることが可
能である。すなわち、ルックアップ表(参照用テーブ
ル)120のオペコード(opコード)部位123、あ
るいは入力セル110のオペコード(opコード)領域
111である。セル110におけるオペコード(opコ
ード)が、バーチャルチャネルのユーザーにより挿入さ
れる一方で、ルックアップ表(参照用テーブル)120
のオペコード(opコード)を更新するには、シグナリ
ングソフトウエアが用いられる。オペコード(opコー
ド)制御回路160は、ルックアップ表(参照用テーブ
ル)120のオペコード(opコード)ビットあるい
は、付加的なパーミッションビットを利用し、オペコー
ド(opコード)が入力セル110から受け入れられる
か、あるいは、ルックアップ表(参照用テーブル)12
0からのオペコード(opコード)のみが用いられるの
か選択する。一旦、オペコード(opコード)のソース
が選択されると、オペコード(opコード)制御回路1
60はALUの動作を選択するALU制御ワードを生成
し、フラグ制御機能を選択するフラグ制御ワードを生成
する。
オペランドは、連続的に番号を付されたVCIを有する
パケットに属しているものとされている。オペランド
は、それらが交換機において到達したパケットを識別す
るVCIとともに、ルックアップ表(参照用テーブル)
120内に保存されていることから、次のパケットが到
達するときには、保存されたオペランドを識別し、取り
出し、さらに、結合機能を実行するように、そのVCI
は知られていなくてはならない。VCI制御170は、
すべての入力パケットのVCIについての最下位桁が、
0あるいは1という同じ値となるようにさせることで、
このことを容易にしている。2つの連続するVCIは、
最下位桁においてのみ異なっていることから、VCI制
御170の機能により、結果としては常に、ルックアッ
プ表(参照用テーブル)120内に保存されたオペラン
ドのVCIとなり、これは、取り出されて、ALU13
0への入力となるようになっているものである。VCI
制御170により制御される、入力セル110のVCI
領域115からのVCIの情報は、また、オペコード
(opコード)の機能、及び、以下で記述されるよう
に、到達状態領域122にあるビットを修正するのに用
いられうる。
(Quality-of-Service,QoS)領域125は、交換機の特
定の出力ポートにおいて出力セル140をルーチング
し、スケジューリングするため、ATM交換機において
従来の手法で用いられる。VCI領域115の変換は、
交換機のラインカードの出力部分において生じうる。
CIストリームにおけるセルについて、あるいは、多数
のVCIストリームからのセルについて、機能を計算す
るため用いられることが可能である。単一のVCIの機
能を行うときには、一つあるいはそれ以上のセルからの
オペランドが結果を計算するため用いられる。幾つかの
ステップが結合されるか、あるいは除去されることが可
能ではあるが、単一のVCIの機能は、3つの一般的な
ステップを含んでいる。すなわち、初期化、計算、結果
の取り出し、である。初期化は、呼の設定において、シ
グナリングソフトウエアにより、あるいは、セルのオペ
コード(opコード)を通じて実行されることが可能で
ある。初期化とは、大抵は、ルックアップ表(参照用テ
ーブル)におけるオペランド領域に対して、それが既知
の値へと設定されるように、セルのオペランド領域をコ
ピーすることである。
適切なオペコード(opコード)及びオペランドととも
に交換機へと送ることにより実行される。演算の結果
は、ルックアップ表(参照用テーブル)のオペランド領
域において蓄積される。最終的には、状態表のオペラン
ド領域に蓄積された結果は、出力セルへとコピーされ、
その目的地へと送られることが可能である。選択的に
は、中間での各計算及び最終的な計算の結果は、各計算
の間に目的地へと前送りされることが可能であり、それ
により、最後のステップは除かれる。
下で、例として、表(テーブル)の分配あるいはソフト
ウエアの更新といったメンテナンス機能を実行しなくて
はならないノードが1ダース、つまり12カ所あるとし
よう。マネージャーは、各ノードから交換機へとVCI
Aを設定し、当該交換機からマネージャー自体への逆
マルチキャスト接続を続ける。マネージャーは、また、
それ自体から、当該交換機への接続もVCI A上に設
定し、オペランド状態を0に初期化するため用いる。別
のVCI上では、マネージャーは、各ノードに、当該機
能の第一のメンテナンスステップを実行させるコマンド
をマルチキャストする。(これが)完了すると、各ノー
ドは、ORオペコード(opコード)及び、各ノードの
ステーションIDの単一表示(例えば、ステーション0
は、ビット0に設定し、ステーション1は、ビット1に
設定する。)を含むオペランドとともに、VCI A上
でセルを送る。適切な時間間隔の後、マネージャーは、
VCI A上にオペコード(opコード)を送り、結果
を出力セルへコピーする。さらに、それを受け取り、す
べてのステーションがメンテナンス機能を完了したこと
を確認するために用いる。マネージャーは、そこで、応
答を行わない任意のステーションに対してアクションを
とることが可能であり、さらに、次のメンテナンス機能
を続けることが可能となる。
度に複雑さが増えるだけで、多数のVCIストリームに
ついて機能を計算するために用いられることが可能であ
る。一つの結合機能において、任意の数のVCIをサポ
ートするには、2つのストリームについて計算をサポー
トすることで十分である。それは、より多数のストリー
ムについては、階層的な手法で、VCIの対につき計算
を行うことで、結合されることが可能であることによ
る。図2を例示として参照すると、ステーションA及び
Bからのセルは、交換機201において結合され、一
方、ステーションC及びDからのセルは、交換機202
において結合される。最終的には、交換機201及び2
02からの結果は、交換機203において結合される。
2つの到達状態領域で示された交換機201は、到達時
にステーションBからのパケットについては、右側の領
域における値1をもって到達状態ビットを登録し、到達
時にステーションAからのパケットについては、左側の
領域における値1をもって到達状態ビットを登録するよ
うに設定されている。同様の設定は、交換機202及び
交換機203についても示されている。
には、各VCIから丁度一つのセルが必要とされる。A
及びBからのセルは、順番に、”A,B”あるいは”
B,A”と到達することから、到達する最初のセルは、
第二のセルの到達までの間、状態メモリに保存され、出
力から削除されていなくてはならない。第二のセルが到
達すると、状態表からのセル及び第二のセルのオペラン
ド領域から論理機能が計算可能となり、結果は、出力セ
ルへコピーされることができる。
ないように注意しなければならない。従って、受け取っ
たセルの数を単に数える代わりに、各セルが異なるステ
ーションからのものであることを保証するような技術が
用いられる。一つの有効な技術では、VCI A及びV
CI Bが、最下位ビット(LSB)においてのみ異な
っていること、言い換えれば、それらが、隣り合うVC
Iであることを前提としており、呼の設定の間、ALU
は、これら2つのVCIについて使用可能(イネーブ
ル)となっている。上で記述されているように、VCI
制御170は、VCIの最下位ビット(LSB)を無視
することで、A及びBの両方からのオペランドのルック
アップが、同じオペランドの状態表にアクセスさせるよ
うにする。しかしながら、最下位ビット(LSB)は、
セルの到達の際に、別の2ビットの状態領域を更新する
のに用いられる。例えば、0,0とは、セルが到達して
いないことを示しており、1,0とは、Aから一つのセ
ルが到達したことを示し、0,1とは、Bから一つのセ
ルが到達したことを示し、1,1とは両方のセルが到達
したことを示す。両方のセルが到達したときには、シス
テムは、結合された結果を発した後に状態1,1に留ま
って、自ら使用不能(ディセーブル)とするか、あるい
は、結果を発して、次の動作を待つ状態0,0へと自ら
をクリアにする。仮に、システムが、1,1という状態
にあって、使用不能としているとすれば、次の動作のた
めに0,0へと状態をリセットすべく、別の命令が発せ
られ(階層構造であるとすれば、マルチキャストされる
ということになる)なくてはならない。
であるか、あるいは実際的でないとすれば、データ領域
内の、2つの入力セルの間を区別する分離ビットで、入
力セルの独自性を保証する一方で、共通のVCIが用い
られることが可能である。選択的には、VCIと関連し
ているあらゆる特別な要求(おそらくは、速度の低下と
いう点において)を取り除き、間接的レベルがオペラン
ド領域へ加えられることが可能である。間接的なレベル
とは、直接的に表(テーブル)をルックアップするとい
うよりも、むしろ表(テーブル)に対するポインタを用
いるということを意味する。
用テーブル)120のオペランド領域121の、オペラ
ンド領域380を含む別のオペランドルックアップ表
(参照用テーブル)360に対するオペランドポインタ
321への置き換えが示されている。接続設定時には、
シグナリングソフトウエアは、対象となる2つのルック
アップ表(参照用テーブル)VCIにおけるポインタ
が、オペランド領域380内の同一の自由な位置を示す
ように設定する。シグナリングソフトウエアは、当該オ
ペランド領域入力を使用されているものとマークし、そ
れをリソースとして管理する。上で述べたルックアップ
表(参照用テーブル)120内のオペランド領域121
上でのすべての読み書きは、ここでは、オペランド領域
380を用いる。第二のルックアップ表(参照用テーブ
ル)があることから、潜在的にはより低速となるが、こ
れにより、VCIが同一の値とすることを強いる必要な
しに、隣り合わない対も含めて、任意のVCIの対がバ
イナリ形式で結合されることとなる。
利用していないときには、さらに別の間接的レベルによ
り、これらの機能をサポートするのに必要なメモリの全
体量を低下させることが可能である。この間接化は、V
CIオペランドテーブル320をポインタ領域321に
おける幾つかのポインタビットへと低減させる。より特
定すると、Cmaxが、ALUを用いるアクティブなVC
Iの最大数、Vmaxが、アクティブなVCIの最大数、
Mmaxが、結合機能におけるVCIの最大数、O
s izeが、オペランドのサイズであるとすると、VCIの
ルックアップ表(参照用テーブル)320におけるポイ
ンタ領域321のサイズは、Vmax・[log2Cmax+l
og2Mmax]となり、ここで、logについては、次に
高い整数へと切り上げられる。さらに、オペランドルッ
クアップ表(参照用テーブル)360のサイズは、C
max・(Osize+2Mmax)となる。一般的にMmax個の
VCIとされていることを前提とすると、隣接するVC
Iという本来のアプローチでは、Vmax・(Osize+2
Mmax)のサイズが必要とされてきた。VmaxがCmaxよ
りはるかに大きい場合に、とりわけMmaxが大きい場合
には、隣接するVCIによるアプローチを用いるには、
ポインタ領域によるアプローチよりも、より多くのアク
ティブなVCIを必要とする。
にオペコード(opコード)領域を含ませることで、付
加的な空間が省かれることが可能である。しかしなが
ら、オペランド領域がVCIのルックアップ表(参照用
テーブル)320内に残っている場合には、別のVCI
は、さらにプログラミングのフレキシビリティを提供す
る、付随した別の命令を持つことが可能である。また、
別のVCIが、異なるオペランド及びパーミッションを
有することを可能とする、オペコード(opコード)ポ
インタ323及びオペコード(opコード)ルックアッ
プ表330を用いて、オペコード(opコード)領域へ
間接的レベルを加えることが可能となる。これは一方で
また、間接化を行わずに、全体のメモリの要求をVmax
・OsizeからCmax・Osizeへと低減させることとな
る。考えられる命令数が、アクティブなVCIの数より
もより大きい場合、これが有効となろうことは留意すべ
きである。
ため、前にルックアップ表(参照用テーブル)120の
一部として示され、オペコード(opコード)制御回路
160により修正された、到達状態350が、オペラン
ドルックアップ表(参照用テーブル)360に含まれて
いる。バイナリ形式で順番に番号が付された、小さい整
数記述子は、結合機能に付随した各VCIとユニークに
識別される。セル110が到達すると、バイナリ形式の
整数記述子Mは、ルックアップ表(参照用テーブル)3
20の領域322から得られ、バイナリ−単一ユニット
310において単一の数へと変換され、どのセルが到達
したのかを示すことで、オペランドルックアップ表(参
照用テーブル)360内の到達状態領域350を更新す
るため用いられる。到達状態がすべて0を含んでいると
きには、セルは全く到達しておらず、現在到達している
セルは、そのオペランドをオペランド領域380へとコ
ピーしなくてはならない。セルのすべてではないが、一
部が到達しているときには、セル110からのオペラン
ドは、オペランド領域380内のオペランドと結合さ
れ、オペランド領域380へと戻って書き込まれなくて
はならない。最後のセルが到達すると、到達状態領域3
50内にあるすべて、例えば、それぞれ、セルやオペラ
ンド領域112及び380といったものが結合され、結
果は、出力セル140のオペランド領域142へと書き
込まれる。未到達状態及び最終到達状態は、それぞれ、
NORゲート及びANDゲートをもって復号化されるこ
とが可能である。
ポートしているときには、当該ハードウエアは、所与の
アプリケーションが必要とするよりもより多くのVCI
のストリームを一つに結合してサポートしうる。また、
ハードウエアが最終到達状態を計算する方法を識別する
ように、呼の設定に際して、適切なマスキングあるいは
最大VCI数の情報がルックアップ表(参照用テーブ
ル)360のマスクブロック340に保存されなくては
ならない。マスク領域340は、結合されるセルの数を
示している。これは、残っているビット数が、結合され
ることを要するセル数に一致するまで、交換機が結合可
能な最大セル数から到達状態ビットを取り出すことでな
される。未使用のVCIについてのバイナリ−単一変換
は、マスクを生成するのに用いられることが可能で、こ
のマスクは、これらの場合における適切な動作のため、
到達状態とのOR(論理和)を求められることが可能で
ある。
機用の提示された命令セット、命令の動作、及びそれら
のアクションの概要が示されている。記号Sは、所与の
VCIについて保存された状態オペランド領域の内容を
表している。記号Iは、入力セル内の命令オペコード
(opコード)に続く即値オペランド領域の内容であ
る。これらの動作の目的は、手短に論じられることにな
ろう。すべての算術演算は、条件付き演算に関係しうる
フラグビットを設定する。SOPオペコードとは、状態
表のオペコード(opコード)部分に挿入されたオペコ
ード(opコード)が、入力セル内にあるオペコード
(opコード)の代わりに用いられることを特定してい
るものである。オペランドは、整数(int)あるい
は、符号のない整数(uint)のいずれかでありう
る。
のセルの内容を結合させて、結果を形成するのに用いら
れることが可能である。一般的には、N個のセルが結合
可能である場合、その演算は、N−ARYと呼ばれる。
2つのセルが結合可能である場合、交換機はBINAR
Yモードにあると言うことができる。BINARYモー
ドの演算には、各セルからの情報が、共に到達し、結合
されることが必要とされる。パケット交換機において
は、各セルが共に到達するように、2つのソースが同期
していない可能性もあることから、上で説明されたよう
に、最初に到達するセルからの状態は、Sに保存され、
一方、第二の到達により、保存された値S及び、セルの
オペランド領域からの即値Iを用いる計算が開始され
る。図5でリストされたような状態ビットは、図1のバ
イナリでの結合操作あるいは図3のN−RAY結合操作
への接続についての到達状態122を追っているもので
ある。
コード)機能は、制御ビットにより修正可能である。制
御ビットは、入力セルのオペコード(opコード)の一
部となりうるか、あるいは、シグナリングソフトウエア
あるいはCPY命令により状態レジスタの一部として保
存されうる。任意のBセルが受け取られるより前は、第
二のAセルにおけるように、一つのビットが一つの入力
上に到達する第二のセルの処理を決定する。Sは、複製
セルをもって更新可能であるか、あるいは、当該複製セ
ルが放棄されることが可能である。
ぞれにおけるセルの到達に際して、到達状態は、BOT
H_ARRIVED状態から、BINARYの組み合わ
せである次のラウンドが生じるようになるNEITHE
R状態へと自動的にスイッチすることが可能であるか、
あるいは、図4でリストされたRSTAS命令が受け取
られ、当該到達状態がリセットされるまで、BOTH_
ARRIVED状態へ留められることが可能である。幾
つかのアプリケーションでは、状態をクリアにして、新
しい情報を受け取るように準備することが望ましい。こ
れは、エンドポイント同期と呼ばれているものである。
RSTAS機能を用いることは、エンドポイント同期を
考慮に入れるものである。
ないALUの動作の結果が、状態表を更新するため用い
られることを特定するため、オペコード(opコード)
領域内に単一ビットが含まれることが可能である。BI
NARYモードでは、状態表は、第一の到達に際してロ
ードされなくてはならず、後のラウンドにおいて上書き
されることとなろう。
ビットは、当該演算がBINARYモードにあるのかを
特定し、出力セルが生成されているかどうかを判断する
ことが可能である。算術演算からのフラグの結果を元に
して、図8で特定されたように、出力セルは、当該結果
をもって、条件付きで生成されることが可能である。
ード(opコード)の利用を制限し、セルのオペランド
データのみが供給されることを許容することは重要なこ
ととなりうる。このような場合には、シグナリングチャ
ネルは、オペコード(opコード)を状態メモリ内に保
存することが可能であり、セキュリティ状態は、図9に
おけるようにシグナリングチャネルを通じて設定される
ことができる。セルのオペコード(opコード)が許容
されているときには、状態オペコード(opコード)命
令(SOP)が、デフォルトのオペコード(opコー
ド)を選択する。セルのオペコード(opコード)が許
されていないときには、オペコード(opコード)領域
は、無視され、図7の状態表に保存されたオペコード
(opコード)が常に用いられる。INC命令について
は、セルのオペコード(opコード)が使用不能(ディ
セーブル)である場合には、当該セルの領域のいずれも
用いられない。従って、オーバーフローの場合以外に
は、出力セルを検出することで、課金の際に有用となる
うるセルカウンタとして用いられることが可能である。
のためのみであることを意図している。オペコード(o
pコード)または、上で与えられたモード、あるいは、
付加的なオペコード(opコード)または、上で与えら
れていないモードは、特定のアプリケーションに依存す
るものであるということは理解されよう。有用であり得
る付加的な命令としては、以下のようなものを含んでい
る。すなわち、条件付き演算、論理的及び算術的シフト
命令、浮動小数点サポート、課金サポート命令、2つの
セルのオペランド領域のサブフィールドを連結するバイ
ナリモードの命令である。付加的な命令は、例えば、待
ち行列の長さといったような、状態表からのデータより
他の、内部的な交換機状態に対応するデータにアクセス
し、パケットデータと結合させ、直接的あるいは間接的
には、例えば、交換機サービスポリシーのような、内部
状態を修正することも可能であろう。
の一般的な考え方は、トランスポートプロトコールから
引かれた例を用いて、以下で例示されている。セルをベ
ースとしたALUの計算は、特定のトランスポートプロ
トコールを実施する機構あるいは、一般的なプロトコー
ルに対する機構以上のものであるが、計算処理として
の、セルをベースとした計算の利用が、メインフレーム
にとってそうであったように、プロトコールは自然のも
のである。メインフレームが、データベース、ゲーム、
グラフィック、双方向性の計算をサポートしているよう
に、ここで記述された、ネットワークのALUユニット
は、以下でさらに論じられるように、一般的な有用性を
有している。上で論じられた、プリミティブについての
一つの重要な応用例は、以下で論じられるような、信頼
性のあるマルチキャスティングプロトコールのサポート
である。
た、ACK(肯定応答)のインプロージョン(内破)と
いう問題を解決するため、ローカルな処理ノードの階層
構造が、本発明に従って、結合機能を実行する。上で論
じられたプリミティブは、パケット交換機のハードウエ
ア内に含まれており、プロトコールスタックを上下させ
る必要を避け、リアルタイムで、中間の結合交換機セン
ターにおいて、結合機能が実行される。マルチキャステ
ィングを行う交換機内に結合機能を付随させることで、
マルチキャストツリーの枝部(ブランチ)で、もっとも
効率的になると考えられる部分において結合機能が適用
されることが可能である。ハードウエアにおける実施
は、リアルタイムでセルを処理することにより、高いス
ループット及び低遅延を提供するものである。
541,927号(U.S.Patent No.5,541,927)で記述
された高速マルチキャストプロトコールは、リアルタイ
ム交換アプリケーション用に、本発明のハードウエアプ
リミティブをもって実施されることが可能である。マル
チキャストをサポートすることに応用されると、呼設定
時において、階層的な結合ツリーが設定され、すべての
マルチキャスト受信者から交換機のALUユニットへと
ACK(肯定応答)を伝送する。ここで、これらのAC
K(肯定応答)については、結果的には、単一の略式化
されたセルがソースへの伝送のために利用可能となるま
で、上で述べたようなバイナリの結合機能を用いて、対
状に結合されるのである。ACK(肯定応答)の状態情
報が、各マルチキャスト受信者により、独立にかつ周期
的に伝送されている場合、ACK(肯定応答)のストリ
ーム間でなんら特別な同期は必要とされない。従って、
ALUが計算を行い、2つのもっとも新しい対からの現
時点での結果を送ると直ちに、各入力VCIからの次の
セルのため、自らをリセットする場合、自己清浄バイナ
リモードが利用可能である。これにより、パイプライン
がフルに残ることが可能となり、各ACKの後のツリー
の状態をリセットする必要性を避けることとなる。各ソ
ースからの状態情報の伝送は、独立しており、公称上は
同一速度であることから、複製セルが所与の入力ポート
上に到達すると常に、保存された状態はより新しい状態
と更新されることが可能である。従って、ACK(肯定
応答)の状態のもっとも新しい状態が計算を行うため入
力されるのである。
エラーのため、あるいは輻輳のために失われた場合に
は、損失しているセルからの周期的な状態が再伝送さ
れ、結合機能に対する引数が完了される次の周期まで
は、当該結合された結果は、決してソースへと伝送され
ない。このことは、ソースへの結合された状態情報にお
けるタイムスキューを生じさせることになろう。例え
ば、A、B、Cが到達し、Dが失われたとすると、結合
されたセルは何ら生成されない。後に、次の周期的な伝
送からのセルが、A、B、D、Cの順に到達する場合、
以前のCという状態を用い、Dの到達に従って、ABC
Dという結果が生成されるであろう。このことは、次の
結合機能までは、Cからの新しい状態は顧みられること
はないということを意味するのである。さらに、おそら
くもっとも長い経路を有しているといったことから、C
が常に最後となるとすれば、その状態は、常に、一周期
の状態間隔だけ遅れることになるであろう。
に多くの周期的な状態の伝送が存在し、同一ステーショ
ンからの複製された到達が単に状態を更新していること
から、このことは容認できる。このような実施例では、
各受信者は、各自のクロックを元に周期的にその状態を
伝送している。それ故に、周期的伝送は、すべて公称速
度で生じうるが、同期しておらず、各伝送の位相は互い
に動いている(スライドしている)であろう。このよう
に、上で概略説明されたように、損失セルの結果として
起きた任意のスキューは、迅速に消失するであろうし、
状態の更新も、互いの少しの周期的な伝送間隔以内に留
まることであろう。
のとして、本発明の別の実施例では、損失セルが結合機
能から削除されることが可能である。ソースは、各ステ
ーションに、各自の状態を伝送するための同一セルのコ
メント領域を通知する一方で、使用不能(ディセーブ
ル)とされた1,1という状態から使用可能(イネーブ
ル)とされた0,0という状態への遷移を、マルチキャ
ストで開始することが可能である。結合パケットが特定
された時間内に到達しないときには、ソースであるステ
ーションは、迅速にセル損失を検出することができる。
しかしながら、上で概略説明された方法よりも遅く、長
い往復遅延を伴うこのような方法を用いては、限られた
パイプライン処理のみが、実現可能である。
目的地から周期的に送られた状態セル1010のフォー
マットが示されている。ここで、目的地とは、元のデー
タセルの目的地のことを呼称している。マルチキャスト
の目的地とは、実際には、結合されて、元のデータセル
のソースへと送られる状態セル1010のソースであ
る。状態セル1010の領域についての記述は、米国特
許5,541,927号(U.S.Patent No.5,541,927)
にみられる。ATM交換機における計算及び結合機能に
関しては、VCI、TYPE、SEQ、K、Error
Check、EPI領域、それぞれ、1011、10
13、1014、1018、1019がコメントとして
扱われることが可能である。
領域1017は、各目的地により伝送される。バッファ
ーがオーバーランすることを避けるため、ソースは、す
べての目的地について、このような領域を最小限だけ必
要とする。アウトスタンディングブロックリスト(LO
B)領域1016は、目的地で無事に受け取られたデー
タブロックのビットマップであり、一方、LWr領域1
015は、LOB領域1016の最下位ビット(LS
B)のブロック番号を与えている。言い換えれば、LW
rとは、ビットマップのアンカーとなっており(固定し
ており)、まだうまく受け取られていない最初のブロッ
ク番号を与えているのである。ソースは、このような情
報を、どのブロックが選択的に再伝送されるべきか、及
びその伝送速度が調整されるべきかを判断するのに用い
る。同一のブロック番号を有する各LOBの最初のビッ
トをもって、ビットマップが配列されるよう適切にシフ
トされた、LOBのそれぞれについて論理積AND(0
は、受け取っていないことを表し、1は受け取っている
ことを表すものとする。)を有するように、マルチキャ
ストの枝部(ブランチ)はLOBのビットマップを結合
しなくてならない。プロトコールについてのバリエーシ
ョンとしては、ANDをOR機能で置き換えるものがあ
る。
るオペランド領域は、わずか数バイトにすぎないことか
ら、各独立した領域は別のストリーム上で搬送されうる
ことが望ましい。Buff_Avail領域1017
は、論理的にはLOB1016と独立していることか
ら、Buff_AvailセルはLOBの結合機能とは
異なるVCI上を進む。しかしながら、LOB領域10
16は、LWr領域1015とは独立していない。時間
について適切な調整が存しているプロトコールをもって
すれば、この点は緩和されることが可能であり、多数の
結合について同一のVCIが利用されることができる。
目的地のホストからのすべての状態セルについてMIN
機能を計算するのに利用できる。上で論じられた階層構
造のツリーを用いて、各目的地は、そのBuff_Av
ail領域を一つのオペランドとして伝送する。各対の
第一の到達は、交換機の状態表に保存され、一方では、
保存され、かつ受け取られたオペランドの最小値が当該
ツリーの次のレベルへと伝送されることを、第二のセル
が生じさせるのである。ソースは、すべての目的地につ
いて、最小値を受け取ることになろう。
びLOB領域1016は独立しておらす、共に伝送され
なくてはならない。実際、LWrはLOBの開始位置を
示している。例えば、LWr領域1015の値が123
であり、LOB1016が01011100を含んでい
るとすると、ブロック123、125、129、130
は受け取られていないということを示しており、ここ
で、LOBにおけるビットマップは、ブロック番号が、
左から右へと増加することに対応している。このよう
に、異なるLWrとともに2つの状態メッセージが存在
している場合には、多数の位置としてのLOBのうち一
つを左側へ、LOBについて論理和(OR)を求められ
る必要がある場合には右側へ、LWr間の差としてシフ
トされることで、LOBは配列される必要がある。
内で結合されることが可能である。第一に、ALUオペ
ランド及びオペコード(opコード)領域が、大規模な
多重領域オペランドを操作するように拡張される。結合
機能を実行するオペコード(opコード)機能とは、各
セルのLWr領域1015間の差を取り、各LOB領域
が配列されるまで、それぞれのLOB領域1016の一
方あるいは両方をシフトすることを含む。次に、各LO
B領域1016は、AND(論理積)が求められる。論
理積が求められた結果は、2つの各LWr領域1015
の小さい方と共にトランスポートされる。
させるため、正確な動作に影響を及ぼすことなくプロト
コールの結合機能について簡潔な修正を行うことが可能
である。図11を参照すると、LOB1016は、複数
の等しいサイズのウインドへと分割されている。例え
ば、LOBが64ビットであり、ウインドが4ビットで
あるとすると、16個のウインドがあることになる。L
OBにおける最初のウインドは、Win#(ウインド番
号)領域1111で示される。このように、LWr領域
1015は、効率的にWin#(ウインド番号)領域1
111をもって置き換えられる。Win#(ウインド番
号)領域1111を用いることは、結果として、LWr
領域1015よりもより少ないビットしか要しない整数
表示となる。ここで、LWr及びLWrからはじまるLO
Bを伝送する代わりに、Win#(ウインド番号)及び
LOBブロックが、固定された境界(値)とともに伝送
される。2つの状態メッセージは、同一のWin#(ウ
インド番号)を有することが可能であるが、必ずしも同
一のLWrでないことは留意すべきである。実際、ウイ
ンドサイズが、△(デルタ)であるとすると、2つの状
態メッセージにおけるLWrは、△−1程度の割合で変
化しうるが、それでもなお、同一のWin#(ウインド
番号)を有する。このように、同一のWin#(ウイン
ド番号)(但し、異なるLWr)を持つ2つの状態メッ
セージが存在する場合には、なんらのシフトがなされる
ことなしに、LOBは直接にAND(論理積)が求めら
れることが可能となる。なお、このようなシフトは、元
のプロトコールにおけるように、LWrを元に配列がな
されるような場合には、必要なものとなるであろう。
と、各目的地のホストは、Win#(ウインド番号)領
域1111及び各セル内の対応するウインドのビットマ
ップを伝送することが期待されている。LOBのビット
マップ上の一つのウインドが完了する(すべて1であ
る。)と、目的地は、次のウインドへ進み、それを伝送
する。結合オペコード(opコード)は、最初に、Wi
n#(ウインド番号)を比較し、さらに、Win#(ウ
インド番号)とともにより小さいWin#(ウインド番
号)を有するLOBが、結果としてのセルへコピーされ
る。Win#(ウインド番号)が等しい場合には、Wi
n#(ウインド番号)及び2つのLOBのAND(論理
積)が結果としてのセルへコピーされる。
サイズは16であり、ウインドのサイズは4で、2つの
目的地A及びBに対するLWrは、それぞれ、4及び7
で、A及びBに対するLOBは、それぞれ、0100
1101 1001 1100及び、0 1001 0
100 1010 111であるとする。Aは、4と1
9の間のブロックに対するLOBを与えるものであり、
Bは、7と22の間のブロックに対するLOBを与える
ものである。元のプロトコールを用いてこれらを結合さ
せるとすると、BのLOBは、3ビット右へシフトさせ
ることで、AのLOBと配列することになり、そこで、
AND(論理積)が求められて、0100 1001
0000 1000が生成され、結合されたLWrは4
(2つのLWrの最小値)となるであろう。
ク)0から3まで拡がっており、Win#(ウインド番
号)1は、ブロック4−7に対応しており、伝送された
LOBは、0100 1101 1001 1100及
び、1110 1001 0100 1010となるこ
とであろうから、A及びBの両方に対してWin#(ウ
インド番号)を用いると、Win#(ウインド番号)は
1となる。BのLOBの左端の3ビットは、1であり、
Bは、ブロック4、5、6を受け取ったことを示してい
るということは留意すべきである。Win#(ウインド
番号)が同一であることから、結合機能は、単にビット
マップについてのAND(論理積)を求めることにな
り、結果としては、0100 1001 0000 1
000となる。これは、元のプロトコールにおける場合
と、まさに同一である。結合されたWin#(ウインド
番号)は、1となるであろう。しかしながら、A及びB
のLWrが異なるウインドに属している場合には、新し
いスキームでは、やや悪い結果が生じるであろう。例え
ば、A及びBのLWrが、それぞれ7(Win#=1)
及び9(Win#=2)であるとすると、元のプロトコ
ールでは、結合されたLWrが、LWr=7(2つのLW
rの最小値)から開始する、結合されたLOBを生成す
るであろう。一方、新しいスキームでは、Win#=1
(2つのWin#の最小値)から開始する、結合された
LOBを生成するであろう。しかしながら、Win#=
1とは、LWr=4に対応するものであり、従って、新
しいスキームにより得られた、結合されたLOBは一部
の余分な結果を含んでいる。
許5,541,927号(U.S.Patent No.5,541,927)
で記述された、結合されたプロトコールにおけるよう
に、ステーションは、ローカルに状態情報を交換し、無
事にセルを受け取らなかったローカルなステーションに
対して、損失セルを再伝送することが可能である。それ
によって、ソースからの再伝送のオーバーヘッドを低減
する。これは、結合を行う交換機からの結合された結果
のAND(論理積)を目的地へ戻すようにマルチキャス
トし、一方で、当該結果のOR(論理和)を、マルチキ
ャストツリーの上方向へ送ることで実現可能である。デ
ータを無事に受け取ったノードは、マルチキャストされ
るAND(論理積)状態セルが0という値を有している
と確かめると、当該データを他のステーションへと再伝
送するであろう。
マルチキャストツリーのサブツリーの一方の側にある目
的地では、どこもセルを受け取っていないが、一方で、
当該サブツリーの他方の側にある目的地では、セルを受
け取っているということが起こりうるのである。例え
ば、交換機A及びBが問題となっているセルを受け取っ
ていたが、交換機C及びDは受け取っていない場合に
は、Aのような、セルを受け取った目的地の一つは、C
及びDのような、サブツリーの他方の側にある目的地へ
とローカルに当該セルをマルチキャストすることが可能
である。ソースにより近いレベルにある場合には、とり
わけ、マルチキャストツリーが、幅広い地理的範囲(直
径)を有しているときには、(セルを)受け取っている
交換機からよりも、むしろソースから再伝送することの
ほうが望ましいかもしれない。
の依存性を操作する特別なオペコード(opコード)の
サポートとともに、上で示されたような、高性能、高
速、マルチキャストなトランスポートレイヤー(層)プ
ロトコールをサポートすることに加えて、MAX、MI
N、OR、AND、SUM、INC等の一般目的のプリ
ミティブが多くのプロトコールを操作可能である。現在
のパケットが誤っていることを述べるネガティブアクノ
リッジ(NACK)メッセージを受け取ることにより、
現在受け取られたパケットに先だってN個のパケットが
再伝送されるという標準的なN戻り(ゴーバックN)プ
ロトコールは、最後に受け取られたパケット番号につい
てMIN機能を用いることで容易に実施される。上で述
べたような、ローカルな目的地内での再伝送は、また、
誤っているパケットのみが再伝送される選択的繰り返し
にも当てはまる。
ネットワークリソースの量を記録することは、本発明の
ALUをベースとした交換機に対する別の例示的な応用
例である。図13を参照すると、呼の設定において、発
信元ユーザー1310から被呼ユーザー1320へのユ
ーザーのセルストリームは、本発明のプリミティブを実
施するネットワーク課金交換機1330へのマルチキャ
ストとなっている。課金の応用例については、パーミッ
ションNOPACKETOPSを付したDEL_NOV
Fをもって、オーバーフローINCが存しない場合の削
除のための状態表オペコード(opコード)を設定する
ことが有効である。任意でありうる、発信元ユーザーの
データについての各セルは、状態Sを進めさせて、削除
される。オーバーフローに際しては、交換機1330の
ALUからセルがコピーされ、これは、このようなより
低速の信号を容易に記録できる中央に配置されたコンピ
ュータ1350へと送られる。信頼性のため、ストリー
ムは、幾つかの位置へマルチキャストされ、これによ
り、冗長性が増すこととなる。
し、リセットすることであろう。これは、状態オペコー
ド(opコード)を適切に修正することで、シグナリン
グネットワークを通じて実現可能であろう。
ダー及びユーザーの両者にとって、課金情報を計算し、
まとめるのに非常に強力な方法を提供することが可能で
あろう。一つのいわば「保護された」ポートに入力され
るセルが、状態を進めさせ、一方では、第二のいわば
「安全」ポートにおけるセルが、状態の読み出しを生じ
させるというように、同期を必要としない新しいバイナ
リ形式の命令は動作できるであろう。選択的には、別の
オペコード(opコード)が異なるVCIと関連するこ
とが認められるという、ハードウエア拡張セクションに
おける修正が、利用可能とされている場合には、既存の
オペコード(opコード)がこのような機能を提供する
こともできる。
カウント(勘定)に属している、カウンターのグループ
へ読み出しトリガーセルをマルチキャストし、反対に、
まとめられた結果を受け取ることができよう。これらの
結果はまた、ユーザー読み出しポートとして動作するユ
ーザー課金交換機1340を通じて、ユーザーへ利用可
能となされることが可能であろう。ネットワークは、C
PYIを用いて、課金情報を別のノードのオペランド状
態表へと書き込みを行う。一方、ユーザーは、当該オペ
ランド状態表をCPYSコマンドをもって読むことがで
きる。ユーザーは、また、オペランド状態表を廃棄する
こともできようが、そのようなことは、あまり有用では
ないし、ネットワークの課金操作を害するものではない
であろう。
交換機において結合される、2つの異なるステーション
からのセルの間には何らの同期も仮定していなかった。
しかしながら、幾つかのプロトコールでは同期あるいは
タイムアウトを要求している。このような場合には、タ
イムアウトは、ソースステーションにおいて、所定時間
後にセルを伝送し、その時になって結合の状態を生じさ
せることで実施されることが可能である。交換機におい
て各VCIについてタイマーを維持すること、及び、タ
イマーが時間切れとなった際に、セル伝送を含む動作を
行うことは、実用的でない場合がありうることから、タ
イムアウトは、ソースステーションで実施されるのであ
る。代わりに、マルチキャストツリーの根本にあるホス
トは、タイマーを維持することが可能で、さらに、適切
なオペコード(opコード)及びVCIとともにセルを
交換機へと送ることで、交換機におけるイベントを生じ
させ、当該交換機に、保存された状態から計算されたセ
ルを発せさせることによって状態を引き起こさせること
ができる。これは、例えば、ある時間間隔におけるセル
の到達をカウントするには有用である。例えば、時間が
定められたものと表示された位置をテストするか、ある
いは遅らせる状態マシンサイクルを、状態メモリ空間の
すべてを通じて、有することが可能であり得る。さら
に、幾つかのアーキテクチャーにおいては、伝送のため
のセルを並べておくことは非合理的なことではないかも
しれない。しかしながら、ALUあるいはその他のロジ
ックは、現時点でのすべてのトラヒックを操作する一方
で、CRCを生成し、セルをパッドアウトしなくてはな
らないだろう。
であり、ここで提示された方法は、幅広い文脈で有用で
ある。上のプロトコールの例において記述されたバイナ
リ形式のツリーは、単一のセルを同期させる一つの方法
を提供するものである。別の方法は、自己清浄モード
(セルフクリーニングモード)におけるCPYAS(到
達状態を設定し、両方が到達した場合に、到達状態を出
力へコピーする。)をもって、2ストリーム間の差異を
生成する。異なるストリームのセルは、2つのストリー
ムのいずれが、最初に到達したのかを特定し、フェーズ
ドロックドループ(位相ロックループ)におけるよう
に、一方のストリームを他方と配列させるためのソース
フィードバックとして用いられることができる。
Dを表す、一つのゼロビット以外のすべてが1であるオ
ペランド領域をもって、多数のソースは、VCI上でセ
ルを送ることが可能である。すべてのソースがセルを送
ってしまっており、結果が、すべてのソースホストへと
マルチキャストされて戻るときには、交換機の状態はす
べて0となるであろう。損失セルの場合を扱うため、各
ソースはマルチキャスト応答を受け取るまで、周期的に
伝送を繰り返す。そのような点に至って、すべてのソー
スホストは、同期点に至ったことを知らせるのである。
セージの組み合わせを利用することのできる別の応用例
である。ネットワーク管理の一つの重要な機能は、フォ
ールト管理(誤り管理)と呼ばれ、そこでは、ネットワ
ークマネージャー(NM)が、ネットワークにおける誤
りの要素の位置を示そうとする。誤りの位置決定は、幾
つかの方法によりなされることが可能である。例えば、
ネットワークマネージャーは、規定の時間間隔でネット
ワーク要素すべてから状態を集め、それらを解析する
か、あるいは、ネットワークにおいて誤りが存在してい
るときのみ、ネットワーク要素がネットワークマネージ
ャー(NM)に知らせるようにさせうる。ネットワーク
の各要素が、その状態を周期的にネットワークマネージ
ャー(NM)に送るという最初の場合を考えよう。この
ような場合に、交換機で状態メッセージを結合する我々
のスキームが適用される場合、ネットワークマネージャ
ー(NM)は、それが管理している分配されたリソース
から、単一の結合された状態メッセージを受け取るであ
ろう。分配された各リソースは、動作しているときには
1を伝送し、利用不可能であるときには0を伝送するで
あろう。結合された論理積(AND)は、ネットワーク
マネージャー(NM)へと伝送される。ネットワークマ
ネージャー(NM)が0を受け取る場合には、誤り位置
決定アルゴリズムが起動される。
るいはバッテリー電力切れのために、リソースが完全に
損なわれることもありえ、何らの状態情報がそのような
リソースにより伝送されないことになるであろう。結果
としては、ネットワークマネージャー(NM)は、状態
メッセージを受け取らないことになろう。そのような場
合には、ツリーについてのバイナリ形式でのサーチ(二
分法による検索)が実行され、損失状態セルの位置を決
定することが可能である。これは、問題となっているレ
ベルにおいて、ネットワークマネージャー(NM)から
各入力へテスト状態メッセージを送ることにより実現さ
れることができる。ツリーでの、故障と関連のある側に
あるポートへテスト状態セルが入力されている場合に
は、結合された状態は、ネットワークマネージャー(N
M)へとリリースされるであろうが、ツリーの動作して
いる側へ入力されている場合には、リリースされないで
あろう。
場合では、ネットワークマネージャー(NM)は、故障
したネットワーク要素を明示的に調べなくてはならな
い。ネットワークマネージャー(NM)が、誤り位置決
定アルゴリズムが起動させる必要が明らかにないように
するため、ネットワークマネージャー(NM)に、故障
のみならず、故障した要素のIDについても同時に知ら
せられるとすれば、かなり効率的になるであろう。これ
は、我々のアーキテクチャーのフレームワークに簡単な
変更をすることで実現できる。修正されたスキームと
は、以下のように記述できる。2つのネットワーク要素
A及びBの状態を結合する中間ノードを考えてみよう。
要素Bがダウンした場合、その状態は当該中間ノードへ
と送られることはないであろう。しかしながら、Aは、
周期的に自らの状態を送るであろう。交換機(中間ノー
ドに対応する)のルックアップ表(参照用テーブル)に
おける状態は、Aからの連続的な状態メッセージの数
(カウント)を維持し、当該数(カウント)があるしき
い値を超えるときに、セルのコメント領域内にBのID
を含むセルを送り出すことが可能である。このようにし
て、ネットワークマネージャー(NM)は、ネットワー
クの故障について知らせられるのみならず、ネットワー
クにおける故障した要素のIDもまた知ることになるで
あろう。
グがある。例えば、データストリーム内の各音声サンプ
ルは、VCI上で、オペランド領域に含まれたサンプル
データとともに伝送されることができる。そこで、交換
機は、異なるユーザーからのサンプルについて加算を計
算し、その合計値をすべてのユーザーへと出力するとい
うことが可能である。すなわち、ブリッジされた音声出
力を提供するということである。
するのみならず、上の例からも明らかなように、フィー
ドフォワード(前送り)なロジック及び算術を含め、計
算を実行し、一連のクラスの問題を解くように、ATM
交換機をプログラミングすることが可能である。例えば
浮動小数点数で、命令セットを増加させることは、この
ようなクラスの問題を、信号処理類似のアルゴリズム
や、プログラミング、クロッキング、結果の集積を行う
エンドポイントをもって動作するシミュレーションへと
拡張することが可能となろう。これらのツールを分配さ
れた応用例に備えることで、さらなる可能性を開くこと
になるのである。
の応用例について例示するものである。本発明の技術思
想及び保護の範囲から逸脱することなく、当該技術分野
の当業者によって、他の配置や方法が実施可能である。
とりわけ、ATM(交換機)に沿って記述されてきた
が、本発明は、ATM(交換機)でない多くのパケット
交換機についての実施に対しても、等しく適しているの
である。
マルチキャストをサポートする場合に生じる、ACK
(肯定応答)のインプロージョン(内破)等の問題が、
論理的な結合機能により解決され、さらに、ATM交換
機等のハードウエアレベル(交換機のVLSI内)で論
理的な結合機能を実行することを実現することで、ソフ
トウエアによる解決に比べて、マルチキャスト接続のス
ループットを増加させることが可能となった。さらに、
交換機が、様々なアプリケーションをサポートする一般
的な目的のプリミティブを提供することも実現した。
ドウエアプリミティブについての例示的なアーキテクチ
ャーを示している。
チャネル識別子(仮想チャネル識別子)の結合を例示し
ている。
オペランド及びオペコード(opコード)が、それぞ
れ、別のオペランド表に対するオペランドポインタ、及
び別のオペコード(opコード)表に対するオペコード
(opコード)ポインタで置き換えられている、例示的
なハードウエアアーキテクチャを示している。
ており、これらは、本発明の原理を実施すべく、パケッ
ト交換機システムのプロセッサーによって実行される。
ており、これらは、本発明の原理を実施すべく、パケッ
ト交換機システムのプロセッサーによって実行される。
ており、これらは、本発明の原理を実施すべく、パケッ
ト交換機システムのプロセッサーによって実行される。
ており、これらは、本発明の原理を実施すべく、パケッ
ト交換機システムのプロセッサーによって実行される。
ており、これらは、本発明の原理を実施すべく、パケッ
ト交換機システムのプロセッサーによって実行される。
ており、これらは、本発明の原理を実施すべく、パケッ
ト交換機システムのプロセッサーによって実行される。
期的に送られた(ブロードキャストされた)例示的な状
態パケットの各フォーマットを示している。
を単純化するため設計された、修正された状態パケット
を例示している。
交換システムにおける再伝送をサポートするため、状態
パケットについて実行されたバイナリ計算を例示してい
る。
ため、本発明のプリミティブを用いる交換機アーキテク
チャーを例示している。
領域 130 算術論理ユニット(ALU) 140 出力セル 141 オペコード(opコード)領域 142 オペランド領域 143 CRC領域 144 コメント領域 145 VCI(仮想チャネル識別子)領域 150 フラグ制御ユニット 160 オペコード(opコード)制御回路 170 VCI(仮想チャネル識別子)制御 201 交換機 202 交換機 203 交換機 310 バイナリ−単一ユニット 320 VCI(仮想チャネル識別子)ルックアップ表
(参照用テーブル) 321 オペランドポインタ領域 322 領域(バイナリ形式整数記述子M) 323 オペコード(opコード)ポインタ領域 330 オペコード(opコード)ルックアップ表(参
照用テーブル) 340 マスクブロック領域 350 到達状態領域 360 オペランドルックアップ表(参照用テーブル) 370 VCI(仮想チャネル識別子)制御 380 オペランド領域 1010 状態セル 1011 VCI(仮想チャネル識別子)領域 1012 TYPE領域 1013 SEQ領域 1014 K領域 1015 LWr領域 1016 LOB(List of Outstanding Blocks,アウ
トスタンディングブロックリスト)領域 1017 Buff_Avail領域 1018 エラーチェック(Error Check,
ERR_CHK)領域 1019 EPI領域 1110 状態セル 1111 ウインド番号(Win#)領域 1112 LOB(List of Outstanding Blocks,アウ
トスタンディングブロックリスト)領域 1310 発信元ユーザー 1320 被呼ユーザー 1330 ネットワーク課金交換機 1340 ユーザー課金交換機 1350 中央コンピュータ
Claims (10)
- 【請求項1】 入力パケットおよび出力パケットをリア
ルタイム処理するパケット交換機において、 各入力パケットから、前記パケット交換機でリアルタイ
ムで実行される結合機能において使用するためのデータ
を識別する識別手段と、 複数の所定の結合機能のうちから特定の結合機能を選択
するとともに、前記識別手段で識別されたデータに対し
て該特定の結合機能を実行する算術論理ユニットと、 前記特定の結合機能の結果を出力パケットに挿入する手
段とを有することを特徴とするリアルタイム処理用パケ
ット交換機。 - 【請求項2】 前記特定の結合機能の結果が前記出力パ
ケットへ挿入されるまで該結果を蓄積する状態ルックア
ップ表をさらに有することを特徴とする請求項1に記載
のパケット交換機。 - 【請求項3】 前記算術論理ユニットは、 結合機能を選択する算術論理ユニット制御ワードを生成
する手段と、 前記出力パケットが、削除されるべきか、あるいは、前
記特定の結合機能の結果で更新されるべきかを判断する
フラグ制御ワードを生成する手段とを含むことを特徴と
する請求項1に記載のパケット交換機。 - 【請求項4】 入力パケットおよび出力パケットをパケ
ット交換機でリアルタイム処理する方法において、 各入力パケットから、前記パケット交換機でリアルタイ
ムで実行される結合機能において使用するためのデータ
を識別する識別ステップと、 算術論理ユニットを利用して、複数の所定の結合機能の
うちから特定の結合機能を選択するとともに、前記識別
ステップで識別されたデータに対して該特定の結合機能
を実行するステップと、 前記特定の結合機能の結果を出力パケットに挿入するス
テップとを有することを特徴とする、パケットのリアル
タイム処理方法。 - 【請求項5】 各入力パケットは、マルチキャスト受信
機、あるいは複数のマルチキャスト受信機からの複数の
伝送の結合された結果に由来し、 前記入力パケットは、マルチキャスト送信機への肯定応
答の状態を表すデータを含み、 前記出力パケットは、前記マルチキャスト受信機の結合
された肯定応答の状態を表すデータを含み、前記マルチ
キャスト送信機へ伝送されることを特徴とする請求項4
に記載の方法。 - 【請求項6】 パケット交換機において、 各入力パケットを受け取ったことに応答して、該パケッ
トにおいて、前記パケット交換機によって実行される複
数の所定の結合機能のうちの特定の結合機能を指定する
データを識別する手段と、 前記特定の結合機能を実行する算術論理ユニットとを有
することを特徴とするパケット交換機。 - 【請求項7】 前記データはオペコードであり、前記複
数の結合機能は各オペコードにより定義されることを特
徴とする請求項6に記載のパケット交換機。 - 【請求項8】 前記パケットは、ヘッダおよびびペイロ
ードを有し、前記データは、前記ペイロードの各フィー
ルドに含まれることを特徴とする請求項7に記載のパケ
ット交換機。 - 【請求項9】 前記特定の結合機能は、前記入力パケッ
トに含まれる他のデータに適用されることを特徴とする
請求項6に記載のパケット交換機。 - 【請求項10】 前記特定の結合機能は、前記パケット
交換機により供給された他のデータに適用されることを
特徴とする請求項6に記載のパケット交換機。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US590895P | 1995-10-27 | 1995-10-27 | |
US005908 | 1995-10-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09172443A JPH09172443A (ja) | 1997-06-30 |
JP3215635B2 true JP3215635B2 (ja) | 2001-10-09 |
Family
ID=21718304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28481396A Expired - Fee Related JP3215635B2 (ja) | 1995-10-27 | 1996-10-28 | リアルタイム処理用パケット交換機とパケットのリアルタイム処理方法 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0771131A3 (ja) |
JP (1) | JP3215635B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272134B1 (en) | 1997-11-20 | 2001-08-07 | International Business Machines Corporation | Multicast frame support in hardware routing assist |
US6990098B1 (en) | 2000-09-11 | 2006-01-24 | Sun Microsystems, Inc. | Reliable multicast using merged acknowledgements |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1224493B (it) * | 1988-10-17 | 1990-10-04 | Cselt Centro Studi Lab Telecom | Interfaccia di controllo e commutazione di etichetta per commutazione veloce di pacchetto asincrona |
US5249292A (en) * | 1989-03-31 | 1993-09-28 | Chiappa J Noel | Data packet switch using a primary processing unit to designate one of a plurality of data stream control circuits to selectively handle the header processing of incoming packets in one data packet stream |
US5541927A (en) | 1994-08-24 | 1996-07-30 | At&T Corp. | Method of multicasting |
-
1996
- 1996-10-22 EP EP96307640A patent/EP0771131A3/en not_active Ceased
- 1996-10-28 JP JP28481396A patent/JP3215635B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0771131A2 (en) | 1997-05-02 |
EP0771131A3 (en) | 2000-02-09 |
JPH09172443A (ja) | 1997-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cerf et al. | A protocol for packet network intercommunication | |
US6501756B1 (en) | Method of managing hop-count in label switching network and node apparatus | |
KR100308719B1 (ko) | 통신 수신기에서 흐름 제어 및 라우팅을 개선한 다중 에프아이에프오를 사용하기 위한 방법 및 장치 | |
US6480897B1 (en) | Optimistic transmission flow control including receiver data discards upon inadequate buffering condition | |
US5959995A (en) | Asynchronous packet switching | |
US6990098B1 (en) | Reliable multicast using merged acknowledgements | |
JP3152661B2 (ja) | 広帯域ネットワークにおけるデータ伝送の並列アセンブリのためのシステム | |
Fletcher et al. | Mechanisms for a reliable timer-based protocol | |
US6122275A (en) | Real-time processing for virtual circuits in packet switching | |
JPH0662053A (ja) | パケツト伝送システム | |
WO2006006632A1 (ja) | パケット転送方法及びパケット転送装置 | |
JPH05204804A (ja) | 高速伝送ライン・インターフェース | |
US5477530A (en) | Method and apparatus for managing communications between multi-node quota-based communication systems | |
Ofek et al. | Reliable concurrent multicast from bursty sources | |
US8848739B2 (en) | Efficient switch fabric bandwidth distribution | |
Cidon et al. | Connection establishment in high-speed networks | |
CA2493506C (en) | Methods and apparatus for credit-based flow control | |
US6785734B1 (en) | System and method for processing control information from a general through a data processor when a control processor of a network processor being congested | |
Cidon et al. | A distributed control architecture of high-speed networks | |
US20040267960A1 (en) | Force master capability during multicast transfers | |
Sabnani et al. | A high speed transport protocol for datagram/virtual circuit networks | |
JP3215635B2 (ja) | リアルタイム処理用パケット交換機とパケットのリアルタイム処理方法 | |
RU2651186C1 (ru) | Способ обмена данными и устройство управляющего узла сети | |
US7415025B1 (en) | Method and apparatus for clearing a large number of connections in an ATM network | |
CN110730130A (zh) | 报文发送方法、装置、网络设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080727 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080727 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090727 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130727 Year of fee payment: 12 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |