JPH07288546A - 回線アダプタおよび経路指定方法 - Google Patents

回線アダプタおよび経路指定方法

Info

Publication number
JPH07288546A
JPH07288546A JP2385995A JP2385995A JPH07288546A JP H07288546 A JPH07288546 A JP H07288546A JP 2385995 A JP2385995 A JP 2385995A JP 2385995 A JP2385995 A JP 2385995A JP H07288546 A JPH07288546 A JP H07288546A
Authority
JP
Japan
Prior art keywords
packet
buffer
list
pointer
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.)
Granted
Application number
JP2385995A
Other languages
English (en)
Other versions
JP3110968B2 (ja
Inventor
Gerard Lebizay
ジェラール・ルビゼー
Jean M Munier
ジャン・マリー・ミュニエ
Andre Pauporte
アンドレ・ポポルト
Victor Spagnol
ヴィクトール・スパーニョール
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07288546A publication Critical patent/JPH07288546A/ja
Application granted granted Critical
Publication of JP3110968B2 publication Critical patent/JP3110968B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • 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/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/564Connection-oriented
    • H04L2012/5642Multicast/broadcast/point-multipoint, e.g. VOD
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【目的】 高速ネットワークのパケット交換ノードにお
けるプログラム可能データ通信アダプタのための効率の
良い2地点間および分岐経路指定システムおよび方法の
提供。 【構成】 第一に、データ・パケットはコピーされず、
各宛先ごとにパケット・ポインタだけがコピーされる。
このため、バッファ・メモリ内のスペースが節約され、
命令数が大幅に削減されて、パケット・スループットが
向上する。第二に、リアルタイム手順の分岐機構によっ
てオーバヘッドが発生することがない。このため、デー
タ・スループットの点でアダプタの効率が大幅に向上す
る。第三に、各出力が割込みによって独立して処理され
る。このため、回線がリアルタイムで管理され、速度や
プロトコルが異なる複数の回線を並行してサポートでき
る。第四に、資源の解放が、非優先順位モードで完全に
実現される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高速ネットワークのパ
ケット交換ノードにおけるプログラム可能データ通信ア
ダプタのための効率の良い2地点間および分岐経路指定
システムおよび方法に関する。
【0002】
【従来の技術】電気通信環境は十分に発展し、ここ数年
で著しく変化した。その主な理由は通信技術において実
現された、次のようなめざましい進歩であった。 ● 光ファイバ伝送の成熟。現在では、ビット誤り率が
非常に低い高速伝送を維持することができる。 ● 民間および公共の電気通信ネットワーク内でのディ
ジタル技術の一般的使用。
【0003】このように新たに出現した技術に関連し
て、民間または公共を問わず、電気通信業者の提供サー
ビスが発展している。 ● 高速伝送の出現によって、高帯域幅での接続性が拡
大する。 ● 通信容量の増加により、料金がより魅力的になって
いる。 ● 広範囲の接続オプション、効率の良い帯域幅管理、
および新メディアのサポートにより、ユーザの発展を管
理するためのより高度のフレキシビリティがユーザに提
供される。 ● サンプリングし、ディジタル方式で符号化すると、
音声、ビデオ、および画像から派生したデータを純粋デ
ータと組み合わせることができ、共通の透過伝送が可能
になる。
【0004】通信が豊富かつ安価になったために、コス
トの点で従来は不可能だった多くの潜在的応用例が、現
在では魅力的なものになっている。このような環境でユ
ーザから表明されている一般的な要件は次の3つであ
る。 ● 古いアプリケーションの実行能力の改善 ● 通信ネットワークの最適化 ● 新しいアプリケーションの実行
【0005】
【発明が解決しようとする課題】
高性能ネットワーク 第一のステップでは、回線集約によりコストの節約を達
成するために、主にT1バックボーン・ネットワークに
TDM(時分割多重化)技術が装備された。このシステ
ムによって、ホスト/端末コンピューティングおよび6
4KbpsのPCM(パルス符号変調)音声トラフィッ
クの固定帯域幅要件が容易にサポートされた。
【0006】現在、データ伝送は、特にアプリケーショ
ンに集中して発展し、顧客のトラフィック・プロファイ
ルの基本的な変化を統合することにより発展している。
ワークステーションの発展、ローカル・エリア・ネット
ワーク(LAN)間の相互接続、ワークステーションと
スーパコンピュータとの間の分散処理、新しいアプリケ
ーション群、および階層方式対対等方式やワイド・エリ
ア・ネットワーク(WAN)対ローカル・エリア・ネッ
トワーク(LAN)、音声対データなどのように各種の
競合しがちな構造の統合などの影響により、データ・プ
ロファイルは、帯域幅が上昇し、バースト化し、決定的
なものではなくなっており、接続性の強化が必要になっ
ている。上記の点から、チャネル接続のホスト、事務用
ワークステーション、エンジニアリング・ワークステー
ション、端末、および小中規模のファイル・サーバ間で
LANトラフィック、音声、ビデオ、トラフィックを伝
達する可能性のある高速バックボーンによる分散計算ア
プリケーションのサポートが強く要求されるのは明らか
である。このようなトラフィックは、次のような異種混
合を反映したものである。 ● イーサネット、トークン・リング、APPN、FD
DI、OSI、ISDN、ATMなどの各種エンド・ユ
ーザ・ネットワーク・プロトコル ● リアルタイム伝送(音声やビデオなどの間断なく流
れるトラフィック)と非リアルタイム伝送(対話式デー
タなどのバースト・トラフィック)
【0007】このような高速プロトコルによる機敏なバ
ックボーン・ネットワークの展望によって、データ、音
声、およびビデオ情報がディジタル方式で符号化され、
小さいパケットに分割され、共通のノードおよびリンク
のセットを介して伝送されるようになっている高速パケ
ット交換網アーキテクチャの出現が促進される。低速リ
ンクが存在する可能性はあるが、光ファイバ・リンクを
使用できることにより、多数の低速リンクではなく少数
の高速リンクを設置する際の費用効果が高まるだろう。
この高速バックボーンに加え、本質的に交換ノードへの
アクセスを可能にする周辺ネットワークが存在する。こ
の周辺ネットワークは、バックボーンで使用するのと同
じプロトコルまたは交換技術を使用しない可能性があ
る、比較的低速のリンクで構成される。また、周辺ネッ
トワークは、比較的低速のエンド・ユーザ・トラフィッ
クを高速バックボーンに多重化する作業を行う。このた
め、バックボーン交換ノードは、主に高速回線を処理し
ている。それぞれの交換ノードに入る高速リンクの数は
比較的少ないが、全体的なスループットはギガビット/
秒規模で非常に高くなる。
【0008】スループット このような新しいアーキテクチャの主な要件は、リアル
タイム伝達の制約を満足するために終端間遅延を削減す
ることと、音声およびビデオの伝送に必要な高いノード
・スループットを達成することである。リンク速度の上
昇は、通信ノードの処理速度の相応の上昇と一致してい
ないため、高速ネットワークの基本的な課題は、各ノー
ド内でのパケット処理時間の最小化にある。たとえば、
2人のエンド・ユーザ間で音声パケットを伝達するため
に一般的な100msの遅延を満足するには、次の条件
が必要になる。 ● エンド・ポイントでのパケット化機能とプレイアウ
ト機能のために、合計36msが必要になると思われ
る。 ● たとえば、米国を横断するのに必要な不変の伝播遅
延は約20msである。 ● 残りの44msはすべて、パケットがネットワーク
内を移動するときのノード間処理時間用である。5個の
ノードを含むネットワークでは、各ノードは、待ち時間
を含むすべての処理時間として約8msを使用すると思
われる。また、10個のノードを含むネットワークで
は、各ノードは約4ms使用すると思われる。
【0009】同じ制約に関してもう1つの見方を図1に
示す。有効処理速度が1MIPS(100万命令/秒)
のノードの場合、処理するパケットごとにネットワーク
・ノードが実行しなければならない命令数が83300
0であっても、9.6kbpsの回線を1000バイト
のパケットで埋めることができる。また、64kbps
回線の場合、そのノードはパケットごとに125000
個の命令を収容できる。しかし、OC24リンクを埋め
るには、上記の1MIPSのノードではパケットごとに
7個の命令しか実行できないだろう。この場合、有効速
度が10〜30MIPSであっても、パケットごとにわ
ずか70〜200個の命令しか使用できないことにな
る。
【0010】処理時間を最小化し、高速/低誤り率技術
を完全に利用するため、新しい高帯域幅ネットワーク・
アーキテクチャによって提供される伝送機能の多くは、
終端間で行われる。これには、データに関するフロー制
御とエラー回復、パケット化、および音声とビデオの再
アセンブリが含まれる。また、プロトコルは次のように
単純化される。 ● 第一に、通過ノードが個々の(エンド・ユーザ間
の)伝送接続を意識する必要はない。 ● 第二に、高性能かつ高品質リンクでは、それ以上の
ノード間エラー回復または再伝送を必要としない。混雑
制御とフロー制御はネットワーク接続のアクセス・ポイ
ントおよびエンド・ポイントで管理され、中間ノードの
認識と機能がともに低減される。
【0011】パケット・サイズ 音声またはビデオ・パケットのようなリアルタイム・デ
ータの伝送は、安定した一定の速度で受信側に伝達され
なければならず(等時モード)、短いパケットの使用が
必要である。見方を変えると、純粋データでは通過遅延
の問題が発生しない。純粋データは、非常にバースト性
が高くしかも決定的でない方法で生成される。しかし、
パケットが長くなればなるほど、所与のデータ・スルー
プットを得るために交換しなければならない毎秒あたり
のパケット数が減少する。様々なデータ・パケット伝送
システムを十分利用するには、人工的な長さに加工せず
に、ユーザ・パケットとほぼ同じサイズのパケットで、
ネットワークでのデータ転送を行う必要がある。単独の
データ・ネットワークまたは単独の音声またはビデオ・
ネットワークとは対照的に、高速ネットワーク・アーキ
テクチャでは、可変長パケットで機能する複数の異種伝
送プロトコルをサポートしなければならない。
【0012】接続性 高速ネットワークのノードは、全体的な接続性を提供し
なければならない。これには、ベンダまたはプロトコル
にかかわらず、顧客の装置の接続と、エンド・ユーザと
他の装置との通信を可能にする能力が含まれる。トラフ
ィック・タイプとしては、データ、音声、ビデオ、ファ
ックス、グラフィック、画像などがある。このノード
は、電信電話会社の全施設を十分に利用でき、複数のプ
ロトコルに適応できなければならない。つまり、必要な
変換がすべて自動化され、エンド・ユーザにとって透過
でなければならない。たとえば、高速ノードは、ユーザ
・ネットワーク上のSNA(システム・ネットワーク体
系)機器の存在に依存してはならない。また、高速ノー
ドは、ルータ、構内交換機(PBX)、ローカル・エリ
ア・ネットワーク(LAN)などで構成された非SNA
環境と同レベルのサービスをSNA環境でも提供できな
ければならない。
【0013】主要要件 非常に高速の回線上で混合トラフィック・ストリームを
効率よく伝送するということは、ネットワークの各通信
ノードにとって、パフォーマンスおよび資源消費の点で
一連の要件を意味する。この要件は次のように要約する
ことができる。 ● 非常に短時間のパケット処理時間 ● 非常に高いスループット ● 効率の良い待ち行列およびバッファ管理 ● パケットごとの命令数の制限 ● ユーザ・トラフィック上の制御フローの影響の最小
化 ● 広範囲の接続オプションをサポートするための非常
に大きいフレキシビリティ
【0014】高帯域幅の場合、非常に高速のパケット処
理および制御プロトコルをサポートし、音声およびビデ
オ・トラフィックのリアルタイム伝送要求に応じるため
には、専用のハードウェアが必要になる。処理時間が高
速ネットワークの主な障害になっているため、現在、多
くの通信ノードが、経路指定パケット処理機能および経
路指定機能をプロセッサからオフロードするために、高
速交換ハードウェア周辺に構築されている。
【0015】しかし、パフォーマンスが等しい場合、ソ
フトウェアによるアプローチは、各ノードが接続性とフ
レキシビリティの要件を満たし、製造コストと適合コス
トを最適化するために最も妥当な解決策を示している。
回線アダプタは、共通のハードウェア設計に基づくもの
で、アクセス・ポイントまたはノード間伝送機能のいず
れかを実行するための具体的なプログラミングによって
構成されている。このアダプタがフレーム・リレー、H
DLC(ハイレベル・データ・リンク制御)、CBO
(連続ビット操作)、ATM(非同期転送モード)など
の様々なアクセス・プロトコルおよびデータ・ストリー
ムをサポートできるようにするための適合性は、アクセ
ス・エージェントという論理構成要素によって提供され
る。このようなアダプタとアクセス・エージェントとの
論理的な関連は、ソフトウェアによって指定され、低い
コストで非常に大きいフレキシビリティを提供する。そ
れぞれの回線アダプタは、以下の要素に応じて、システ
ム開始時に自動的に構成される。 ● アダプタ機能 ● アクセス・プロトコル
【0016】プログラム可能高性能通信ノード 通信アダプタのスループットは、入力から出力までデー
タ・パケットを処理するのに必要な合計時間として定義
されている。しかし、パケット・サイズはアプリケーシ
ョンに依存しているため、現在では、アダプタのパフォ
ーマンスを評価するのに次の2つの尺度が使われてい
る。 ● 1つ目は、アダプタが1秒間に処理できる固定長の
パケットの数(パケット・スループット) ● 2つ目は、パケット長が無限の場合にアダプタが伝
送できる毎秒あたりのビット数(データ・スループッ
ト)
【0017】パフォーマンスは、ハードウェアと、プロ
セッサの機能によって変わるが、スループットを制限す
る主な要素はパケット処理時間であり、この処理時間
は、1つのパケットを処理するのに必要な命令の数と直
接関連している。パケットに関する操作は、2つのカテ
ゴリに分けることができる。 ● パケット経路指定、アセンブルと逆アセンブル、フ
ォーマット、帯域幅管理、優先順位などの各種操作によ
る背景プロセス。このプロセスは、アダプタ機能に応じ
て設計されているが、同じアプリケーションでは、それ
ぞれのパケットのサイズとは無関係に、どのパケットに
ついても背景プロセスは同じになる。 ● 割込みルーチンによるバッファリング・プロセス。
この操作は、どのアダプタ・タイプについても一般的で
ある。この操作に必要な処理時間は、パケット長に正比
例する。
【0018】割込みルーチンは、プロセッサがリアルタ
イム処理をサポートするための方法である。入力装置で
のオーバランと、出力装置でのアンダランを回避するた
め、割込みルーチンはできるだけ短いものでなければな
らない。また、割込みルーチンは、アダプタのパフォー
マンスをデータ・スループット(ビット/秒)で指示す
る。無限長のパケットの場合、背景プロセスは消えてし
まうので、スループットの障害となるのは、待ち行列化
操作と待ち行列解除操作によって変わる割込み応答時間
である。
【0019】別の方法として、パケット・スループット
(アダプタが伝送できる毎秒あたりのパケット数)を最
大にするには、背景プロセスが要求する命令数を最小限
に削減する必要がある。
【0020】"Programmable High Performance Data Co
mmunication Adapter for Packet Transmission Networ
ks”という名称の未公開のヨーロッパ特許出願第934
80087.1号(IBM整理番号FR993027)
(EPC第54(3)条による先行技術)は、プログラ
ム可能データ通信アダプタにおける高性能パケット・バ
ッファリング方法およびシステムを開示するものであ
る。このアダプタは、固定長または可変長のデータ・パ
ケットを送受信するためのプログラム可能プロセッサを
含んでいる。また、このシステムは、待ち行列化操作と
待ち行列解除操作を最適化し、特に、パケットを操作す
るための命令数を最小限にするよう、設計されている。
その特徴は、システムが次の構成要素で構成されている
点にある。 ● バッファにデータ・パケットを格納するための手段 ● バッファ内の前記データ・パケットを識別するため
の手段 ● 単一命令内のパケットIDをローカル・メモリに待
ち行列化するための手段 ● パケットIDをローカル・メモリから待ち行列解除
して別の単一命令に入れるための手段 ● バッファを解放するための手段
【0021】それぞれの命令は、前記プロセッサによっ
て並列実行される最高3つの操作で構成されている。 ● パケットIDに対する演算論理(ALU)操作 ● ローカル・メモリに対するメモリ操作 ● シーケンス操作
【0022】
【課題を解決するための手段】高速ネットワークのパケ
ット交換ノードにおけるデータ通信アダプタのための効
率の良い2地点間および分岐経路指定システムおよび方
法を開示する。本発明の一般原理は、次のように要約す
ることができる。 ● アダプタによる経路指定中にデータ・パケットがコ
ピーされることはなく、宛先ごとにパケット・ポインタ
だけがコピーされる。 ● 各出力は、優先順位モードとは無関係に処理され
る。 ● 割込み手順における分岐経路指定によって、オーバ
ヘッドが発生することはない。 ● 非優先順位モードで資源が解放される(背景手
順)。
【0023】
【実施例】図2に示すように、通信システムの典型的な
モデルは、専用回線を使用する高性能ネットワーク(2
00)、通信事業者提供サービス、または公衆データ網
を介して通信する複数のユーザ・ネットワーク(21
2)で構成される。各ユーザ・ネットワークは、エンタ
プライズ・サーバ(213)として使用される大型コン
ピュータ、LAN(ローカル・エリア・ネットワーク2
14)上に接続されたワークステーションまたはパーソ
ナル・コンピュータを使用するユーザ・グループ、アプ
リケーション・サーバ(215)、PBX(構内交換機
216)、またはビデオ・サーバ(217)を相互接続
する1組の通信プロセッサとリンク(211)として記
述することができる。このようなユーザ・ネットワーク
は、様々な施設に分散しているため、広域伝送設備によ
って相互接続する必要があり、データ転送を組織化する
ために様々な方法を使用することができる。一部のアー
キテクチャでは、各ネットワーク・ノードでデータ保全
性の検査が必要なため、伝送速度が低下する。また、他
のアーキテクチャでは、本質的に高速データ転送を求め
ているが、そのために、ノード内の伝送、経路指定、交
換の各技術を最適化して、最終宛先に向けて流れるパケ
ットを可能な限りの最高速度で処理している。本発明
は、本質的には後者のカテゴリに属し、特に以下に詳述
する高速パケット交換網アーキテクチャに属すものであ
る。
【0024】高速パケット交換網 図2の全体図は、各ノードがトランク(209)という
高速通信回線によって相互接続されている8個のノード
(201〜208)で構成された高速パケット交換伝送
システムを示している。ユーザによる高速ネットワーク
へのアクセス(210)は、周辺部に位置するアクセス
・ノード(202〜205)によって実現されている。
このアクセス・ノードは、1つまたは複数のポートで構
成され、それぞれのポートが、ネットワークへの標準イ
ンタフェースをサポートする外部装置を接続するための
アクセス・ポイントを提供し、ネットワークを介して他
の外部装置との間でやりとりされるユーザ・データ・フ
ローの伝送に必要な変換を行う。一例として、アクセス
・ノード202は、3つのポートを介して、それぞれ、
構内交換機(PBX)、アプリケーション・サーバ、お
よびハブとのインタフェースを取り、隣接する通過ノー
ド201、208、および205によってネットワーク
通信を行う。
【0025】交換ノード 各ネットワーク・ノード(201〜208)は、着信デ
ータ・パケットが隣接する通過ノードに向けて発信トラ
ンク上に選択経路指定される、経路指定ポイントを1つ
ずつ含んでいる。このような経路の決定は、データ・パ
ケットのヘッダに含まれる情報に応じて行われる。基本
パケット経路指定機能に加え、ネットワーク・ノード
は、次のような補助機能も提供する。 ● ノードで発生したパケット用の指定パスの決定 ● ネットワーク・ユーザや資源に関する情報の検索と
更新などのディレクトリ・サービス ● リンク利用情報を含む、物理的なネットワーク・ト
ポロジに関する一貫した視点の維持 ● ネットワークのアクセス・ポイントでの資源の予約
【0026】各ポートは複数のユーザ処理装置に接続さ
れ、各ユーザ装置は、別のユーザ・システムに伝送され
るディジタル・データのソースか、または別のユーザ・
システムから受け取ったディジタル・データを消費する
ためのデータ受信装置のいずれか、あるいはその両方で
構成されるが、両方で構成される場合が一般的である。
ユーザ・プロトコルの解釈、パケット網(200)での
伝送に適したフォーマットになっているパケットへのユ
ーザ・データの変換、およびこのようなパケットを経路
指定するためのヘッダの生成は、ポートで実行されるア
クセス・エージェントによって実行される。図8に示す
このネットワーク層ヘッダ(800)は、次のように制
御フィールド(801)、経路指定フィールド(80
2)、および冗長検査フィールド(803)で構成され
ている。 ● 制御フィールド(801)は、特に、経路指定フィ
ールドを解釈する際に使用するプロトコルを符号化した
IDを含む。 ● 経路指定フィールド(802)には、パケットの宛
先である宛先エンド・ノードに対してネットワーク(2
00)を介してパケットを経路指定するのに必要なすべ
ての情報が入っている。 ● 冗長検査フィールド(803)は、ヘッダそのもの
にエラーがないかどうかを検査するのに使用する。エラ
ーが検出されると、パケットは廃棄される。
【0027】経路指定ポイント 図3は、図2に示すネットワーク・ノード(201〜2
08)に見られるような典型的な経路指定ポイント(3
00)の全体ブロック図を示している。経路指定ポイン
トは、その経路指定ポイントに到着するパケットが入力
される高速パケット・スイッチ(302)で構成されて
いる。このようなパケットは次のように受信される。 ● トランク・アダプタ(304)を介して高速伝送リ
ンク(303)によって他のノードから受信される。 ● ポート(301)というアプリケーション・アダプ
タを介してユーザから受信される。
【0028】アダプタ(304、301)は、パケット
・ヘッダ内の情報を使用して、ローカル・ユーザ・ネッ
トワーク(307)に向けてまたはノードを出て伝送リ
ンク(303)に向けてどのパケットをスイッチ(30
2)によって経路指定するかを決定する。アダプタ(3
01および304)は、スイッチ(302)からの発信
の前または後にパケットを待ち行列化するための待ち行
列化回路を含んでいる。
【0029】経路制御装置(305)は、通信パスを完
成させるのに使用するネットワーク資源の量を最小限に
するためにネットワーク(200)を通る最適経路を計
算し、経路指定ポイントで生成されるパケットのヘッダ
を構築する。最適化基準には、接続要求の特性、パス内
のトランクの能力および利用状況、中間ノードの数など
が含まれる。ノードやノードに接続される伝送リンクに
関する情報など、経路指定に必要なすべての情報は、ネ
ットワーク・トポロジ・データベース(306)に収容
されている。定常状態条件下ではどの経路指定ポイント
も、ネットワークに関して同じ視点を持っている。新し
いリンクが活動化されるか、新しいノードがネットワー
クに追加されると、ネットワーク・トポロジ情報が更新
される。このような情報は、経路計算に必要な最新情報
を提供するために、制御メッセージによって他のすべて
の経路制御装置との間で交換される(このようなデータ
ベース更新は、ネットワークのエンド・ユーザ間のデー
タ・パケットに非常によく似たパケット上で行われ
る)。連続更新によってどのノードでもネットワーク・
トポロジが最新状態に維持されているため、エンド・ユ
ーザの論理セッションを中断せずにネットワークを動的
に再構成することができる。
【0030】パケット経路指定ポイントへの着信伝送リ
ンクは、ローカル・ユーザ・ネットワーク(210)内
の外部装置からのリンクまたは隣接するネットワーク・
ノード(209)からのリンク(トランク)で構成して
もよい。いずれの場合も、経路指定ポイントは、同じ方
式で、各データ・パケットを受信し、それをパケット・
ヘッダ内の情報によって指示される別の経路指定ポイン
トに転送するように動作する。高速パケット交換網は、
単一パケット期間中を除き、いかなる伝送またはノード
機構もその通信パス専用にせずに、2つのエンド・ユー
ザ・アプリケーション間の通信を可能にするように動作
する。このようにして、パケット網の通信設備の利用
は、各通信パス用の専用伝送リンクの場合より伝達する
トラフィックが大幅に増加するように最適化される。
【0031】制御点スパン・ツリー ネットワークには、ネットワーク・スパン・ツリー管
理、トポロジ・データベース、ディレクトリ、パス選
択、帯域幅管理および予約、混雑制御などの複数のネッ
トワーク制御機能が関連付けられている。どのノード
も、ユーザ・アプリケーション間の接続確立を容易にす
るためにそのノードが使用する、制御点(CP)という
1組の前述のネットワーク制御機能を備えていることが
好ましい。
【0032】制御点スパン・ツリーの主な目的は、高速
ネットワークのノード内のすべてのネットワーク制御機
能に対応する通信分配機構を確保することである。制御
点スパン・ツリーは、ノードがネットワークの(物理
的)接続部分に入っている場合に、制御点(305)を
(論理的に)ひとまとめに結合する。図7に示すよう
に、ツリーはループを含まない接続パターンであって、
「スパン」という用語は、そのツリーがすべてのノード
をつなぐ(接続する)ことを意味する。いったん形成し
てしまうと、この制御点スパン・ツリーは、トポロジ・
データベース(306)更新などの制御情報を広めるの
に使用する主要システムになる。この機構は、次のよう
に中間ノード処理による遅延を最小限にするためには必
須のものである。 ● 第一に、中間ノードは、ツリー上で各制御メッセー
ジを正確に1回だけ獲得するようになる。 ● 第二に、中間ノードがパケットの内容を調べる前
に、ツリーの発信リンク上でメッセージを転送すること
ができる。
【0033】ノードおよびリンク障害が存在する場合に
制御点スパン・ツリーを作成し、管理するのは分散アル
ゴリズムであるが、この分散アルゴリズムは、ネットワ
ークが発展した結果発生する制御フローの増加の影響を
最小限に抑えるのに役立つものである。
【0034】経路指定モード ネットワーク内の経路指定は、次の2通りの態様を提示
する。 1.所与の接続用の経路がどのようなものであるべきか
を決定する。 2.交換ノード内で実際にパケットを交換する。
【0035】ネットワークを通る経路を決定する方法は
数多くある。スループットを非常に高くするには、経路
を選択後、スイッチング素子が非常に短時間に着信パケ
ットの経路指定をできるものでなければならないことが
重要項目になる。通過ノード処理を最小限に抑えるため
の要件の影響で、伝送サービスは、終端間で動作するよ
う設計されており、そのため、高速高性能(低誤り率)
リンクに対応するホップごとのエラー回復または再伝送
は考案されていない。また、通過ノードが個々の転送接
続を意識する必要もない。
【0036】データ・パケットは、ヘッダに収容された
経路指定情報に応じて、経路指定され、通過ノードで待
ち行列化される。高速ネットワークではいくつかの経路
指定モードを使用することができる("Introductory Su
rvey" (pp.116-129) - GG24-3816-01 ITSC Raleigh Jun
e 1993を参照)。しかし、ほとんどの場合、各種のモー
ドを使用するパケットは、同じデータ伝送設備を共用す
ることができる。このような各種の伝送タイプを分類す
る場合、一方を2地点間伝送、もう一方を分岐伝送と見
なすことができる。以下の例に示すように、それぞれの
経路指定モードには、特定の使用目的があり、他のモー
ドを補完するような利点と欠点を含んでいる。
【0037】2地点間伝送 ● ソース経路指定 ソース経路指定とは、無接続ネットワーク向けの分散経
路指定を具体的に実現したものである。ネットワークを
通過する際にパケットが取らなければならない経路の計
算は、ソース・ノード(またはアクセス・ノード)が担
当する。
【0038】各パケットは、その経路指定フィールド
に、ネットワーク内を移動する際にパケットが通過する
すべてのリンクのラベルのリストを含んでいる。ソース
経路指定では、中間ノードでの接続セットアップ・アク
ティビティが不要であり、本当のデータグラム・サービ
スをサポートする。
【0039】● ラベル・スワップ この経路指定モードは、接続指向ネットワークで使用さ
れる。リンク上で送信される各パケットには、このパケ
ットがどの論理接続に属しているかを識別する任意の数
値を含むヘッダが付いている。ラベル・スワップの場合
は、各ノードで接続テーブルをセットアップし、動的に
管理する必要がある。パケット・オーバヘッドが低いた
め、この手法は、非常に短いパケットの伝送(リアルタ
イム音声接続など)に特に適している。
【0040】分岐伝送 マルチキャストでは、1つのエンティティが複数のエン
ティティと通信することができる。効率の良いマルチキ
ャスト機構であれば、ネットワーク内のすべてのユーザ
に同報通信したり、1つのグループの各ユーザ宛に複数
パケットの個別コピーを「ユニキャスト」したりせず
に、1組のユーザに対してパケット送達を行うことがで
きる。
【0041】● マルチキャスト・ツリー経路指定 マルチキャスト・ツリー経路指定をサポートしているの
は、特定のラベルが事前定義ツリーを表していることを
認識し、そのツリーに関連するすべてのアウトバウンド
・リンクに沿って受け取ったパケットを転送できる各ノ
ードの能力である。この経路指定は、基本的な制御点ス
パン・ツリーと、1つのネットワーク内で動的に確立
し、切り詰め、除去できるような個々のツリーの両方の
基礎となる、基本経路指定機構である。制御点スパン・
ツリーは、ネットワーク制御フローが高速ネットワーク
で及ぼす可能性がある、パフォーマンスへの負の影響を
大幅に低減する。他のマルチキャスト・ツリー上のツリ
ー経路指定は、複数接続されたLANまたはビデオ会議
のような具体的なアプリケーションなどのサポートにと
って必須である場合もある。
【0042】● マルチキャスト・ツリーへの遠隔アク
セス 同報通信ツリーへの遠隔アクセスは、ソース経路指定と
マルチキャスト・ツリー経路指定という2通りの経路指
定モードを直接組み合わせたものである。経路指定フィ
ールドには、複数のソース経路指定ラベルが含まれ、1
つのツリー・アドレス・ラベルがそれに続いている。こ
のため、ツリーのメンバではないノードでも、ツリー・
メンバであるノードにパケットを経路指定することがで
きる。この手法については、"Method and Apparatus fo
r Routing Packets in Packet Transmission Networks"
という名称で1993年5月19日に出願されたヨーロ
ッパ特許出願第93480059.0号に詳しく記載さ
れている。
【0043】マルチキャスト機構 マルチキャスト・ツリー経路指定は、複数のノードを接
続できる事前選択ツリーでの同報通信機能を提供する。
マルチキャスト・グループのすべてのメンバは、そのグ
ループの他のメンバすべてに転送されるパケットを送信
することができる。マルチキャスト・ツリーは、トポロ
ジ・データベースでの参照によって経路指定ポイント内
で簡単に識別される。同じネットワークに様々なツリー
が共存可能である。マルチキャスト・ツリーの内部使用
の1つは、ネットワーク構成の本当のイメージを各トポ
ロジ・データベースに保管するためにネットワーク(制
御点スパン・ツリー)のすべての制御点を結合すること
である。また、この同報通信機構は、(より近接したユ
ーザ・グループのような)ネットワーク・ユーザのサブ
セットのアドレス指定にも使用することができる。
【0044】図9に示すように、マルチキャスト・ツリ
ーは、そのツリーで送信されるパケットの経路指定フィ
ールド(802)の一部であるツリー・アドレス(80
4)によって識別される。各ノード内の個々のリンクに
対して明確に事前割当てされるソース経路指定ラベルと
は異なり、ツリー・アドレスは、そのツリーをセットア
ップするときにツリーの一部になる予定のすべてのリン
クに割り当てられる。ただし、ツリー・アドレスは、ツ
リーが通過するすべてのノードにおいて、ツリーごとに
固有のものでなければならない。マルチキャスト・ツリ
ーにアドレス指定されたパケットがリンクを介してノー
ドに到着すると、そのツリー・アドレス用に構成された
そのノード内のすべてのリンクがこのパケットを転送す
る。このようにして、パケットのコピーがツリーの枝と
して構成された各リンクに沿ってネットワーク内を流
れ、そのツリーの一部である各ノードに1つずつコピー
が到着する。マルチキャスト・ツリー経路指定フィール
ド(802)には、パケットを再伝送するたびに減らさ
れるホップ・カウントダウン・フィールド(805)が
含まれている。このホップ・カウントダウンがゼロにな
ると、それ以上再伝送できなくなり、エラー条件が想定
される。経路指定フィールドの末尾は、フィールドの終
わり(EOF)フラグ(806)になっている。
【0045】どのノードも、同時に複数の各種ツリーの
メンバになることができるため、重複マルチキャスト・
ツリーに割り当てられるツリー・アドレスは固有のもの
でなければならない。追加または削除の対象となるノー
ドに至るリンクに対してツリー・アドレスの追加または
除去を行えば、マルチキャスト・ツリーに対してノード
を追加または削除することができる。詳細について
は、"Multicast Communication Tree Creation and Con
trol Method and Apparatus"という名称で1993年5
月19日に出願されたヨーロッパ特許出願第93480
060.8号に開示されている。
【0046】ポートおよびトランク・アダプタ アダプタ機能 ポートは、高速ネットワークの境界に位置している。ポ
ートを使用すると、端末装置は、使用されている具体的
な高速プロトコルを把握せずに、その高速ネットワーク
を介して情報を交換できるようになる。ポートの主な機
能は次の通りである。 ● 外部資源から外部プロトコル・データ単位を受け取
り、それを高速パケットとしてネットワークを介してタ
ーゲット・ポートに転送する。 ● 高速パケットを変換して外部プロトコル・データ単
位に戻し、それをターゲット資源に送る。 ● 帯域幅を制御する。 ただし、ソース・ポートとターゲット・ポートが同じノ
ード内に位置してもよいことに留意されたい。
【0047】トランクは、高速ネットワーク・ノード間
のリンクである。トランクは高速パケットを伝達する。
各トランクのリンク帯域幅とリンク状況はそのトランク
によって管理される。トランクの重要な役割は、遅延お
よび混雑を削減するためにトラフィック特性を管理し、
内部バッファを割り振ることである。
【0048】また、次の機能を実行する、経路制御装置
アダプタ(305)という特殊タイプのアダプタが存在
する。 ● スイッチ(302)を介して他のアダプタ(30
1、304)とやりとりする。 ● トポロジ、パス選択など、経路制御装置の集中機能
を実現する。 ● 終端間高速接続の確立、管理、取消しを行う。
【0049】アダプタ・アーキテクチャ 多少のフレキシビリティと効率を備えた伝送システムを
得るために、前記ポート、トランク、および経路制御装
置アダプタを設計する方法は、いくつかある。現在、ほ
とんどのアダプタは、接続されたリンクの機能およびプ
ロトコルに応じて専用ハードウェア周辺に構築されてい
る。
【0050】本発明は、前に列挙した接続性とフレキシ
ビリティの要件を満足するため、共通のハードウェア構
造に基づくソフトウェア上の解決策を提供する。ポート
とトランク・アダプタは同じアーキテクチャを提示する
ため、それらの機能上の区別は具体的なプログラミング
によって実現される。しかし、現在市販されている最も
効率の良い汎用マイクロプロセッサを使用しても、毎秒
あたりの交換パケット数という点で所望のパフォーマン
ス・レベルに達することが非常に難しいということは、
経験によって判明している。この理由のために、各アダ
プタの制御は、パケット交換用に最適化された専用プロ
セッサ(SPP、406、412)と、汎用プロセッサ
(GPP、409)という2つのプロセッサ間で共用さ
れている。2つのプロセッサのうちの前者は、パフォー
マンスの点で重要な処理である、交換パケットの処理を
行い、後者は、アダプタ管理を行う。
【0051】図4に示すように、各アダプタ(400)
は、次のような論理構成要素で構成されている。 1.汎用プロセッサ(GPP、409)。そのプログラ
ミングは、選択されたポートまたはトランク・アダプタ
の機能によって決まる。GPPはアダプタ制御操作を実
現する。 2.受信アダプタ(401)。次の3つの機能を実現す
る。 ● 高速パケット・ヘッダを検査すること ● すべての着信パケットのヘッダに指定された経路指
定モードに応じてトラフィック識別すること ● 適切なヘッダを持つ着信パケットをスイッチ(40
3)によって経路指定すること 受信アダプタは、次のような構成要素を含んでいる。 a.回線受信機(407)。回線インタフェース(41
5)と受信バッファ・メモリ(RBM、405)との間
のデータ移動を処理する。 b.受信バッファ・メモリ(RBM、405)。ユーザ
・データ・パケットを一時的に格納する。 c.受信専用プロセッサ(RSPP、406)。ローカ
ル・メモリ(LM、408)を含む専用マイクロプロセ
ッサに基づくもの。このRSPPは、受け取った定常状
態パケット・フローを処理し、汎用プロセッサ(40
9)に制御パケットを転送する。 d.ローカル・メモリ(LM、408)。RSPP(4
06)が作業スペースとして使用する。 e.スイッチ送信機アダプタ(404)。次の目的に使
用する。 ― 受信専用プロセッサ(406)の制御下でバッファ
・メモリ(RBM、405)から転送されたデータ・フ
ローを処理する。 ― このフローを固定長セルにセグメント化する。 ― 適切なスイッチ経路指定ヘッダを生成する。 3.送信アダプタ(402)。次の機能を実現する。 ● スイッチ(403)からのデータ・フローの受信 ● セル・ヘッダの検査 ● パケット単位の再アセンブリ(ポート) ● トランク機能(トランク・アダプタ) ● 経路指定 送信アダプタは、次のような構成要素を含んでいる。 a.スイッチ受信機(410)。スイッチ(403)か
ら入ってくるフローを処理し、再アセンブリのためにそ
れをバッファ・メモリに転送する。 b.送信専用プロセッサ(XSPP、412)。受信専
用プロセッサ(406)と同様のもの。このXSPP
は、定常状態データを処理し、制御フローを汎用プロセ
ッサ(GPP、409)に転送する。 c.回線送信機アダプタ(413)。バッファ・メモリ
(411)と回線インタフェース(415)との間のデ
ータの移動を処理する。
【0052】上記のアダプタは、一方でパケット・スイ
ッチ上に接続され、もう一方で回線インタフェース上に
接続されている。 ● 回線インタフェース(415)は、ポートとトラン
ク・アダプタの物理インタフェースを適切なメディアに
適合させるために使用する。 ● パケット・スイッチ(302、403)は、経路制
御装置(305)と各種のポート(301)およびトラ
ンク・アダプタ(304)が通信できるようにするもの
である。
【0053】データ・フロー制御 トランク・アダプタの受信側と送信側のデータ・フロー
を図5に示す。可変長パケットを使用する独自の高速ネ
ットワークの受信プロセスは、以下のステップを含んで
いる。 1.回線受信機、バッファ・メモリ、専用プロセッサ
(501)システム a.回線からパケットを受け取る。 b.パケット・ヘッダを検査し、エラーがある場合は、
そのパケットを廃棄する。 c.経路指定モードに応じて、パケット・ヘッダに入っ
ている情報を処理する。 d.制御メッセージを汎用プロセッサ(GPP、50
2)に向けて経路指定する。 e.宛先アダプタに応じて、特定のスイッチ・ヘッダを
含むパケットをカプセル化する。 f.パケットとGPP(502)制御メッセージをスイ
ッチ送信機アダプタ(504)に転送する。 2.スイッチ送信機アダプタ(504) a.スイッチ(503)に適した固定長セルにパケット
をセグメント化する。 b.エラー検査フィールドを生成し、スイッチ(50
3)によりセルを送信する間にスイッチ・ヘッダの整合
性を確保する。
【0054】送信プロセスは、以下のステップを含む。 1.スイッチ受信機アダプタ(505) a.スイッチ(503)からセルを受け取る。 b.スイッチ・ヘッダを検査し、エラーがある場合は、
そのセルを廃棄する。 2.回線受信機、バッファ・メモリ、専用プロセッサ
(506)システム a.データ・パケットを再アセンブルする。 b.制御パケットを汎用プロセッサ(502)に転送す
る。 c.経路指定ヘッダを含むパケットをカプセル化する。 d.GPP(502)から制御パケットを受け取る。 e.データ・パケットと制御パケットを適切な待ち行列
に待ち行列化する。 f.リアルタイム・データ(および、次に非リアルタイ
ム・データ)に与えられた優先順位で発信パケットを処
理する。
【0055】可変長パケットを使用する独自環境、また
は固定長の短いセルを使用するATM(非同期転送モー
ド)などの標準モード、あるいは適切な場合にその両方
で機能するようにアダプタを設計することは可能であ
る。両方で機能する場合には、パフォーマンスのため
に、スイッチ上で経路指定されるセルが、ATMプロト
コルで定義されたセルと同一または同様のものになり、
その結果、次のような状態になる。 ● スイッチ送信機(508)および受信機アダプタ
(509)で行われるパケット・セグメント化ステップ
と再アセンブル・ステップが除去される。 ● 専用プロセッサ(507、510)で行われるスイ
ッチ・ヘッダ処理が単純化される。
【0056】アダプタの機能構造 本発明は、回線受信機/送信機、バッファ・メモリ、専
用プロセッサ、およびスイッチ・アダプタ間の関係を処
理し、特に、アダプタ内部のスループットと処理時間を
最適化するようにデータ・フローを処理するものであ
る。より具体的には、本発明は、外部リンク上のデータ
・パケットを待ち行列化し、待ち行列解除し、分配する
ための非常に高性能のシステムに関する。
【0057】通信アダプタは、次のような原理に基づい
ている。 ● 専用プロセッサは、定常状態データ・フローを管理
するのに必要な操作の数を最小限にするように設計され
ている。 ● データ・パケットと制御データは、バッファ・メモ
リとローカル・メモリという2つの別個のメモリで別々
に管理される。 ● データ・パケットのバッファリング、待ち行列化、
待ち行列解除、経路指定、およびマルチキャストのため
の各種機構は、トランク受信アダプタおよび送信アダプ
タなど、どのポートについても同じである。
【0058】上記の考慮事項により、次の規則を使用し
て本発明を説明する。
【0059】バッファ・メモリを読み取る装置およびバ
ッファ・メモリに書き込む装置は、それぞれIO1およ
びIO2とする。すると、次のようになる。 ● アダプタの受信側では、IO1=スイッチ送信機に
なり、IO2=回線受信機になる。 ● アダプタの送信側では、IO1=回線送信機にな
り、IO2=スイッチ受信機になる。
【0060】同様に、次のような状態になる。 ● 入力データ・ストリームは、スイッチまたは外部回
線(IO2)からバッファ・メモリに移動する。 ● 出力データ・ストリームは、バッファ・メモリから
スイッチまたは外部回線(IO1)に移動する。
【0061】さらに、「パケット」の意味はアプリケー
ションに依存する。たとえば、ポートからのSDLCフ
レーム、トランクからの独自のパケット・フォーマッ
ト、またはATMトランクから受け取ったセルに適用で
きる場合もある。このため、以下の説明で使用する「パ
ケット」という用語は、精密なデータ単位フォーマット
を指すものではない。
【0062】データ構造 バッファ、パケット、待ち行列の構造 データ・パケットはバッファ・メモリ(BM)に格納さ
れるのに対し、制御データはローカル・メモリ(LM)
内の専用プロセッサ(SPP)によって直接管理され
る。入力装置(回線/スイッチ受信機(IO2))また
は出力装置(回線/スイッチ送信機(IO2))に割り
振ることができるメモリの基本単位は、固定長のバッフ
ァである。図6に示すように、それぞれのバッファは、
ローカル・メモリ内ではバッファ・ポインタ(B_PT
R)というポインタによって表される。ポインタとは、
バッファ・メモリに格納された論理データ構造(バッフ
ァ、パケット、待ち行列など)を識別するための一般的
な用語である。パケットの格納には、1つまたはいくつ
かのバッファが必要となる。このようなバッファはポイ
ンタのリスト(B_LIST)を使用してひとまとめに
スタックされるが、ポインタのリストそのものはパケッ
ト・ポインタ(P_PTR)によって表される。パケッ
ト・ポインタのリスト(P_LIST)は、待ち行列ポ
インタ(Q_PTR)によって識別されるもので、複数
のパケットからなる待ち行列を示す。
【0063】リスト接頭部 それぞれのリストは、具体的なパケットまたは待ち行列
構造を表すもので、その構造に入っているデータに関連
する任意のタイプの情報を格納するために使用する接頭
部が前に付いている。バッファ・リストの接頭部には、
次のようなパケット経路指定に関連する情報が入ってい
る。 ● パケット・ヘッダ ● パケットの受信日 ● パケット長
【0064】パケット・ヘッダに対するすべてのプロセ
ッサ操作は、バッファ・メモリ(BM)に格納されたデ
ータにアクセスせずに、ローカル・メモリ(LM)で実
現される。しかも、プロセッサ(SPP)がローカル・
メモリに対して機能している場合、バッファ・メモリに
対するDMA操作は中断されない。その結果、より効率
の良い経路指定プロセスとメモリ管理が行われることに
なる。
【0065】図12に示すように、マルチキャスト機構
のサポートは、各パケットのバッファ・リスト接頭部内
の特定のフィールドによって実現される。 ● マルチキャスト・カウンタ(MCC) このカウンタは、出力数に応じて初期設定される。つま
り、パケットの送信先として単一宛先(MCC=1、2
地点間経路指定モード)または複数宛先(MCC>1、
分岐経路指定モード)のいずれを予定しているかに応じ
て、初期カウンタ値が1または2以上になる。マルチキ
ャストするパケットが1つの出力に送信されるたびに、
カウンタ値が減っていく。カウンタ値がゼロになると、
経路指定プロセスが終了し、そのパケットに接続された
資源を解放することができる。 ● パケット・ポインタ(P_PTR)のコピー 元のパケット・ポインタは、初期HEAD値(リスト内
の最初のバッファ・ポインタのID)と初期TAIL値
(リスト内の次のバッファ・ポインタのID)を含み、
送信終了時にそのパケットに接続されたすべてのバッフ
ァを完全に解放できるように、バッファ・リスト接頭部
に保管される。
【0066】パケットのセグメント化 メモリ管理を容易にするため、パケットと待ち行列に使
用するリストは固定長になっている。バッファ・リスト
に収容できるサイズより大きいパケットはセグメント化
される。この方法により、リスト(B_LIST)のサ
イズは最大パケット長にしなくてもよくなる。
【0067】バッファ・ポインタ バッファは一杯である必要はないので、データはどこで
始まり、どこで終了してもよい。たとえば、後でヘッダ
を含めるためにバッファの最初の複数バイトを予約する
ことも可能である。状況フィールド(SF)は、パケッ
トの終わり(EOP)を示すためにリスト内の最後のバ
ッファ・ポインタで使用する。バッファ・ポインタの一
般的なフォーマットについては、"Programmable High P
erformance Data Communication Adapter for Packet T
ransmission Networks"という名称のヨーロッパ特許出
願第93480087.1号(IBM整理番号FR99
3027)に記載されている。
【0068】リスト・ポインタ 図10を参照して説明すると、リスト・ポインタ・フォ
ーマットは次の3つのフィールドで構成されている。 ● リストID(LID): リストのID ● HEAD: リストの最初のポインタのID ● TAIL: 次にリストに接続するポインタのID
【0069】待ち行列化プロセスは、以下のステップを
含む。 ● リストが一杯(INCREMENTED(TAI
L)=HEAD)かどうかをテストする。 ● LIDフィールドによって識別されたポインタ・リ
スト内のTAILフィールドによって識別されたアドレ
スにポインタを格納する。 ● リスト・ポインタのTAILフィールドを増やす。
【0070】待ち行列解除プロセスは、以下のステップ
を含む。 ● リストが空ではない(HEADがTAILと等しく
ない)かどうかをテストする。 ● LIDフィールドによって識別されたポインタ・リ
スト内のHEADフィールドによって識別されたアドレ
スにポインタを格納する。 ● リストが空ではない場合にリスト・ポインタのHE
ADフィールドを増やす。
【0071】この待ち行列化および待ち行列解除の方法
については、ヨーロッパ特許出願第93480087.
1号(IBM整理番号FR993027)に詳細に記載
されている。
【0072】フリー・バッファ・リスト(FBL) バッファ・メモリの管理は、フリー・バッファ・リスト
(FBL)という特定のリストによって実現される。こ
のFBLはバッファ・ポインタ全体で構成され、その役
割は、フリー・バッファ・リスト・ポインタ(P_FB
L)のHEADフィールドとTAILフィールドを使用
してメモリ占有状況を提供することにある(図13)。 ● T: バッファ・メモリ内のバッファの総数 ● HEAD: リストの最初のフリー・バッファのI
D。新しいバッファが一杯になるたびに、HEADフィ
ールドが増えていく。 ● TAIL: リストの次のフリー・バッファのI
D。新しいバッファが解放されるたびに、TAILフィ
ールドが増えていく。 ● HEAD=TAIL: バッファ・メモリが一杯に
なっている。 ● 増加TAIL=HEAD: バッファ・メモリが空
になっている。
【0073】フリー・バッファ・リスト(FBL)は、
開始時に作成されるもので、動的に作成される他のリス
ト(バッファ・リスト、パケット・リスト、または待ち
行列リスト)とは対照的に永続的なものである。
【0074】ただし、一般に、資源の欠落(フリー・バ
ッファ・リストが空)が検出されると、バッファ・メモ
リに格納できないパケットが廃棄されることに留意され
たい。
【0075】フリー・パケット・リスト(FPL) バッファ・リストは固定長(要素数が一定)である。ロ
ーカル・メモリ(LM)で行うこれらのリスト管理は、
フリー・パケット・リスト(FPL)という特定のリス
トによって実現される。FPLは、開始時に作成される
もので、フリー・バッファ・リストと同様に永続的なも
のである。このリストは、パケット送受信プロセス中に
動的に作成または解放されるすべてのバッファ・リスト
構造で構成されている。
【0076】本発明では、各種ポインタ(バッファ、パ
ケット、または待ち行列の各ポインタ)が事前定義リス
トに単純にスタックされる(図6)ことに留意された
い。これらのポインタは連鎖式ではないので、ポインタ
にリスト内の次のポインタのアドレスが入ることはな
く、次のポインタの位置を意識することもない。このよ
うなリスト構造は、メモリ資源ではなく、非常に高速の
アダプタ内でのバッファ操作をパフォーマンスの点で最
適化するように設計されている。
【0077】専用プロセッサの構造 専用プロセッサの機能構造を図14に示す。
【0078】プロセッサの並列処理 専用プロセッサは、次のような最高3つの操作を並列実
行するように設計されている。 1.レジスタでのALU(演算論理装置)操作 2.メモリ操作 3.シーケンス操作
【0079】並列化を行うには、次のように命令と操作
を区別する必要がある。 ● 命令: これはコード・ワードの内容である。アセ
ンブラ言語では、命令が1行分のコードに相当する。ど
の命令もプロセッサ・サイクル1回分の間に実行され
る。 ● 操作: 1つの命令は、同時に実行される1つまた
は複数の操作で構成することができる。
【0080】メモリ空間 SPPメモリ空間は、次の3つのブロックに分割されて
いる。 ● 命令ストア(130) ● ローカル・メモリ(LM、131)。これはコード
の作業スペースである。 ● バッファ・メモリ(BM、132)。これは、デー
タ・パケットがアダプタを通過する際のデータ・パケッ
ト用リポジトリである。
【0081】上記のブロックはすべて並行して動作する
が、命令ストア(130)はシーケンサ(133)の制
御下で、ローカル・メモリはプロセッサ・コードの制御
下で、バッファ・メモリは直接アクセス・メモリ(DM
A、134)の制御下でそれぞれ動作する。
【0082】レジスタ レジスタは、次の2つのカテゴリに分けられる。 1.汎用レジスタ(GPR) このレジスタは、レジスタ・ファイル(RF、135)
内に位置し、命令オペランドとして使用できる。 2.制御レジスタ(CR) CRは、特定機能に使用されるハードウェア・レジスタ
で、やはり命令オペランドとして使用できる。しかし、
GPRに比べ、その用途の自由度は低くなっている。特
に、これらの制御レジスタ(136)のうち、次の2つ
は直接アクセス・メモリ(DMA、134)内に位置す
る。 ● CR1=D_PTR1(DMAポインタIO1) ● CR2=D_PTR2(DMAポインタIO2) DMAポインタ1および2は、入出力IO1(137)
およびIO2(138)に関連付けられ、どちらも現行
バッファ・ポインタ(B_PTR)を含んでいる。
【0083】メモリ・アドレス・ジェネレータ(MA
G、139) ローカル・メモリまたはバッファ・メモリで行うすべて
のロードまたはストア操作において、オペランドとして
使用されるバッファ・ポインタまたはリスト・ポインタ
の各種フィールドから物理アドレスが再構成される。パ
フォーマンス上の理由から、この操作は、メモリ・アド
レス・ジェネレータ(MAG、139)という専用ハー
ドウェア構成要素によって実現される。
【0084】直接メモリ・アクセス制御装置(DMA、
134) 直接メモリ・アクセス制御装置(DMA、134)をプ
ロセッサとともに使用する方法は、当技術分野では周知
である。その役割は、プロセッサ(SPP)が介入せず
に、IO装置(137、138)とバッファ・メモリ
(132)との間でデータ・パケットを迅速に移動させ
ることにある。DMAモジュールは、2つの独立したプ
ログラム可能チャネルで構成されている。IO装置は、
そのサービス要求(SR1、SR2)を、バッファ・メ
モリ(132)へのアクセスを制御するDMAに提示す
る。プロセッサの介入が必要になるのは、バッファ境界
とパケット境界だけである。2つのIO装置とバッファ
・メモリとの間のデータ・ストリームはコードによって
並列処理される。BMIOバスでは、最高2つのIO操
作を多重化することができるが、一方はIO1により、
もう一方はIO2による。そのため、DMAは、バッフ
ァ・ポインタにすぎない2つのDMAポインタ(D_P
TR1およびD_PRT2)を管理する。
【0085】入出力サブシステム ● 専用プロセッサ(SPP)は、「マスタ」と見なさ
れ、各種の接続を確立する。 ● IO装置およびバッファ・メモリは、プロセッサ・
コードによって直接制御されるか、またはDMAを介し
て制御される。 ● バッファまたはパケット境界の場合、割込み機構を
介してIO装置によってコード介入を強制的に行うこと
ができる。
【0086】データの送受信 バッファ・ポインタとリスト・ポインタに対して、次の
ような様々な処理を行うことができる。 ● バッファ・ポインタの増加 ● バッファのクローズ ● リスト接頭部へのアクセス ● リストへの要素の接続 ● リストからの要素の切離し
【0087】ポインタの操作 ポインタに対する操作の一部はプロセッサ・コードによ
って行われ、他の操作は直接メモリ・アクセス(DM
A)によって行われる。 ● バッファ・ポインタの書込みと読取りは、DMA
(134)が単独で行う。 ・ バッファ・メモリへの書込み IO2からサービス要求(SR2)を受け取ると、DM
Aは、ポインタ2(D_PRT2、136)内に入って
いるアドレスによりバッファ・メモリ(132)にアク
セスする。DMAポインタ2は、プロセッサ(SPP)
によって提供されるが、バッファ・ポインタの1つ(B
_PTR)にすぎない。DMAは、BMIOバス上にデ
ータ要素を提示するようIO2(138)に対して命令
すると同時に、このデータ要素をDMAポインタが示す
バッファに書き込むようバッファ・メモリ(132)に
対して命令する。コードによって選択されたアドレスか
らバッファの最下部までのバッファにデータが満たされ
るが、どこでデータが終了してもよいことになっている
(パケットの)最後のバッファは除く。バッファが一杯
になると、DMAは、割込み機構(IO2_EOBルー
チン)を介してプロセッサから新しいバッファ・ポイン
タを要求する。IO2がパケットの終わり(IO2_E
OPルーチン)を検出したときも、同様の手順が使用さ
れる。 ・ バッファ・メモリの読取り IO1からサービス要求(SR1)を受け取ると、DM
Aは、DMAポインタ1(D_PRT1、136)によ
りバッファ・メモリ(132)をアドレス指定する。D
MAポインタ1は、プロセッサ(SPP)によって提供
される。DMAは、DMAポインタが示すバッファ内の
データ要素をBMIOバス上に提示するようバッファ・
メモリ(132)に対して命令すると同時に、このデー
タ要素を読み取るようIO1装置(138)に対して命
令する。バッファが空の場合、DMAは、割込み機構
(IO1_EOBルーチン)を介してプロセッサから新
しいバッファ・ポインタを要求する。DMAがパケット
の終わり(IO1_EOPルーチン)を検出したとき
も、同様の手順が使用される。データ転送後、バッファ
・ポインタが解放され、それに応じて、フリー・バッフ
ァ・リスト、パケット・リスト、および待ち行列リスト
が更新される。 ● パケット・ポインタと待ち行列ポインタは次のよう
にプロセッサ・コードによって管理される。 ・ バッファまたはパケット境界の場合、割込み機構を
介してIO装置およびDMAによってコード介入が強制
的に行われる。 ・ バッファとパケットの待ち行列化および待ち行列解
除の各機構がローカル・メモリ内でプロセッサの制御下
で実行される。
【0088】割込み 割込み機構は、専用プロセッサ(SPP)がリアルタイ
ム処理をサポートするための方法である。プロセッサ・
コードの通常のシーケンスでは、割込みは特定事象によ
る中断である。このような割込みの原因になりそうな事
象としては、バッファの終わり、パケットの終わりなど
の特定条件に関連するIO装置からのサービス要求があ
る。それぞれの具体的な割込みは、別のルーチンが割り
込むことができない特定のルーチンに対応している。オ
ーバラン/アンダラン問題を防止するため、できるだけ
短い割込みルーチンを用意することが重要である。 1.以下の割込みは、回線およびスイッチ送信機(IO
1)が使用する。 ● IO1_EOB 条件: 出力IO1に対応する際にDMAがバッファ
(パケット/セグメントの最後のバッファではないも
の、そのバッファ・ポインタにはEOSまたはEOPと
いうフラグが付いていない)を空にしてしまい、IO1
_EOBルーチンを起動するIO1_EOB割込みがD
MAポインタ(D_PTR1)によって立ち上げられた
場合。 ルーチン: このルーチン ・ フリー・バッファ・リスト内の、空になったばかり
のバッファのポインタを解放する。出力バッファ・リス
ト(OB_LIST)から新しいポインタが待ち行列解
除され、そのポインタがDMAポインタ(D_PTR
1)に渡される。 ● IO1_EOP 条件: 出力IO1に対応する際にDMAがパケット
(ポインタにONというEOPフラグが入っているパケ
ットの最後のバッファ)を空にしてしまい、IO1_E
OPルーチンを起動するIO1_EOP割込みがDMA
ポインタ(D_PTR1)によって立ち上げられた場
合。 ルーチン: このルーチン ・ フリー・バッファ・リスト(FBL)内の出力バッ
ファ・リスト(OB_LIST)の現行および最後のバ
ッファ・ポインタを解放する。 ・ フリー・パケット・リスト(FPL)内の現行パケ
ット・ポインタを解放する。 ・ 出力パケット・リスト(OP_LIST)から現行
出力パケット・ポインタ(OP_PTR)を切り離す。 ・ 出力パケット・リストから次のパケットとそのポイ
ンタを待ち行列解除する。 2.以下の割込みは、回線およびスイッチ受信機(IO
2)が使用する。 ● IO2_EOB 条件: 入力IO2に対応する際にDMAがバッファ満
杯条件(そのバッファはパケットの最後のバッファでは
ない)を検出し、IO2_EOBルーチンを起動するI
O2_EOB割込みがDMAポインタ(D_PTR2)
によって立ち上げられた場合。 ルーチン: このルーチン ・ 同一パケットのすべてのバッファがスタックされて
いる事前割振り入力バッファ・リスト(IB_LIS
T)に、満杯になったばかりのバッファのポインタを格
納する。 ・ 入力バッファ・リスト接頭部域を更新する。 ・ 同一パケットのデータの受信を続行するためにDM
Aポインタ(D_PTR2)に新しいバッファ・ポイン
タを提供する。フリー・バッファ・ポインタはフリー・
バッファ・リスト(FBL)によって管理される。 ・ 同一パケットについてバッファ・リストが一杯にな
ると、セグメント化が行われる。 ● IO2_EOP 条件: 入力IO2に対応する際にDMAがパケット
(ハードウェアによってポインタにEOPというフラグ
が付けられたパケットの最後のバッファ)の受信を完了
し、IO2_EOPルーチンを起動するIO2_EOP
割込みがDMAポインタによって立ち上げられた場合。
新しいパケットを受信するために新しいバッファ・ポイ
ンタを提供する場合は、コード介入が必要である。 ルーチン: このルーチン ・ 同一パケットのすべてのバッファが自動的にスタッ
クされている事前割振り入力バッファ・リスト(IB_
LIST)に、最後に満杯になったバッファのポインタ
を格納する。パケットの最後のバッファ・ポインタに
は、DMAポインタ(D_PTR2)によってEOPと
いうフラグが付けられる。 ・ 入力バッファ・リスト接頭部域を更新する。 ・ 入力バッファ・リストのパケット・ポインタが入力
パケット・リスト(IP_LIST)に待ち行列化され
る。 ・ 次のパケットを受信するためにDMAポインタ(D
_PTR2)に新しいバッファ・ポインタを提供する。
【0089】2地点間経路指定と分岐経路指定 マルチキャストとは、次のように少なくとも2つの宛先
にパケットを送信しなければならないことを意味する。 ● 受信アダプタ内の各種送信アダプタ(スイッチを介
して)と、必要に応じて、汎用プロセッサ(GPP) ● 送信アダプタ内の出力トランクまたはポートと、必
要に応じて、汎用プロセッサ(GPP)
【0090】本発明による2地点間経路指定と分岐経路
指定の一般原理は、次のように要約することができる。 ● データ・パケットのコピーは行われず、宛先ごとに
パケット・ポインタだけがコピーされる。 ・ バッファ・メモリ内のスペースが節約される。 ・ 背景(遅延)プロセスに必要な命令数が大幅に削減
され、パケット・スループット(アダプタが送信できる
毎秒あたりのパケット数)が向上する。 ・ 経路指定はパケット長とは無関係である。 ● 割込み(リアルタイム)手順中にマルチキャスト機
構がオーバヘッドを発生しない。 ・ 出力装置IO1でのアンダラン/オーバラン問題が
削減される。 ・ データ・スループット(ビット/秒)の点でアダプ
タの効率が大幅に向上する。 ● それぞれの出力が、割込み(リアルタイム)ルーチ
ンによって独立して処理される。 ・ 回線がリアルタイムで管理される。 ・ 速度またはプロトコルが異なる複数の回線を並行し
てサポートできる。 ● 資源の解放が、背景(遅延)プロセス中に非優先順
位モードで完全に実現される。
【0091】出力待ち行列 それぞれの宛先は専用の出力待ち行列を持ち、そこに送
信待ちのパケットがスタックされる。待ち行列の数は宛
先の数に制限される。 ● 受信アダプタ(401)には、スイッチ(403)
上のアダプタ1つあたり1つずつの出力待ち行列と、汎
用プロセッサ(GPP、409)専用の1つの特定の出
力待ち行列がある。 ● 同様に、送信アダプタ(402)には、回線インタ
フェース(416)の出力内のトランクまたは回線1本
あたり1つずつの出力待ち行列と、汎用プロセッサ(G
PP、409)専用の1つの特定の出力待ち行列があ
る。
【0092】出力待ち行列は、ローカル・メモリ(13
1)内に位置する。出力待ち行列の管理は、図16、図
17、および図18の流れ図に詳しく示した背景手順お
よび割込み(EOB、EOP)手順により、専用プロセ
ッサ(SPP)が行う。
【0093】出力待ち行列テーブル 図11に示すように、データ・パケットの送信中は、そ
れぞれの出力待ち行列の状態が、出力待ち行列テーブル
(100)という特定のテーブルに格納される。それぞ
れの出力待ち行列は、次の要素で構成される1つのレコ
ードによって表される。 ● 待ち行列を識別する待ち行列ポインタ(104)
(Q_PTR) ● 出力待ち行列がACTIVEの場合に送信するパケ
ットを識別する現行パケット・ポインタ(105)(c
ur P_PTR) ● 出力待ち行列がACTIVEの場合に送信するバッ
ファを識別する現行バッファ・ポインタ(106)(c
ur B_PTR) ● 出力待ち行列の状態(107)(ST) ・ ACTIVE状態: START TRANSMI
SSIONがIO1に送られた状態。現行パケット・ポ
インタ(cur P_PTR)によって識別されたパケ
ットは、DMAの制御下でバッファ・メモリから選択さ
れた出力に伝送される。 ・ NON ACTIVE状態: 前のパケットの伝送
が終了し、出力待ち行列が空になっている状態。
【0094】パケット処理 図15は、プログラム可能高速アダプタのパケット処理
機構の全体図を示している。受信、経路指定、および送
信プロセスは、以下のステップを含む。 ● (140)入力バッファ・リストで受け取った各パ
ケットを再アセンブルし、経路指定情報でバッファ・リ
スト接頭部を初期設定する。エラーのあるパケットは廃
棄される。 ● (141)パケット・ポインタ(IP1〜IPm)
によって識別された特定のバッファ・リストを各パケッ
トごとに作成する。 ● (142)経路指定テーブル(148)へのローカ
ル・アクセスによって、パケットの経路指定モードに応
じてパケットを処理する。 ● (143)パケットの宛先(145)に対応する出
力待ち行列(OQ1〜OQN)にパケット・ポインタを
待ち行列化する。GPP(146)向けのパケットは特
定の出力待ち行列(144)にスタックされる。 ● (149)新しいバッファが要求されるたびに割込
みルーチンを起動する。バッファの終わり(EOB)、
パケットの終わり(EOP)などの具体的な事象が発生
すると、DMAによって割込みが非同期的に起動され
る。 ● (1410)DMAの制御下でバッファ・メモリ
(BM、147)から出力装置(IO1)にデータを伝
送する。 ● (1411)出力(145)を走査する。
【0095】背景手順 図16は、図15に示されているパケット経路指定およ
びマルチキャスト手順(142)を示す流れ図である。 ● (150)プロセッサは次の再アセンブル済みパケ
ットを待つ。 ● (151)パケットが処理可能な状態になると、直
ちにそのパケット・ポインタ(P_PTR)が取り出さ
れる。前記パケット・ポインタ(P_PTR)によって
識別されたバッファ・リスト接頭部が更新される。経路
指定機構の各種要素の詳細は図11に示されている。 ・ (102)各種の宛先の決定は、パケット・ヘッダ
の経路指定フィールド(802)によってアクセスされ
る経路指定テーブル(156)により示される。分岐経
路指定の場合、接続セットアップ時にマルチキャスト・
ツリーが各ノードで事前定義される。経路指定テーブル
(156)は動的に管理される。つまり、新しい接続が
確立するか、古い接続が終了すると、テーブルが更新さ
れるのである(当然のことながら、ネットワーク・トポ
ロジのデータベースはまったく別々に管理することがで
きる)。バッファ・リスト接頭部内のマルチキャスト・
カウンタ(MCC)は、経路指定テーブル(156)に
示されている宛先の数に応じて初期値に設定される。こ
の値は、2地点間経路指定の場合は1になり、分岐経路
指定モードの場合は2以上になる。 ・ (101)バッファ・メモリ内のバッファをさらに
解放するために、パケット・ポインタ(P_PTR)
(元のHEAD値とTAIL値を含む)がバッファ・リ
スト接頭部に保管される。 ● (152)経路指定またはマルチキャストの対象と
なるパケットに対応するパケット・ポインタ(P_PT
R)が、最初に選択された出力待ち行列(103)に待
ち行列化される(待ち行列ポインタのTAIL値が増え
る)。 ・ (153)出力待ち行列がACTIVE状態の場合
は、次に選択された出力待ち行列(ある場合)を使って
プロセスがもう一度開始される。 ・ (154)出力待ち行列がNON ACTIVE状
態(ST)の場合は、出力待ち行列の最初のパケット・
ポインタが待ち行列解除され(待ち行列ポインタのHE
AD値が増える)、現行パケット・ポインタ(cur
P_PTR)として出力待ち行列テーブルに保管され
る。同様に、対応するバッファ・リストの最初のバッフ
ァ・ポインタ(B_PTR)も待ち行列解除され(パケ
ット・ポインタのHEAD値が増える)、現行バッファ
・ポインタ(cur B_PTR)として同じ出力待ち
行列テーブルに保管される。次に、専用プロセッサ(S
PP)が、現行パケットの送信を開始するよう求める要
求(START TRANSMISSION)をIO1
に送る。出力待ち行列は、出力待ち行列テーブルでAC
TIVE状態(ST)に設定される。次に選択された出
力待ち行列(ある場合)を使ってプロセスが続行され
る。 ● (155)選択されたすべての出力が正常に処理さ
れると、パケット経路指定およびマルチキャスト手順
が、すでに送信されたパケットとバッファに接続された
すべての資源を解放する(157)。この解放は、割込
み手順をオーバロードせずに背景手順で行われることに
留意されたい。 ● (150)解放が終了すると、手順は最初の待機状
態に戻る。
【0096】割込み手順 1.パケット・レベル(IO1_EOP) 図17は、図15に示されているパケット・レベルの割
込み手順(149)を示す流れ図である。パケットの終
わり割込み(EOP)が発生すると、次のように処理が
行われる。 ● (160)最後に処理された出力待ち行列(OQ
n)に対応する現行パケット・ポインタ(cur P_
PTR)が出力待ち行列テーブルから抽出される。 ● (161)フリー・パケット・リスト内のパケット
・ポインタと、フリー・バッファ・リスト内のバッファ
・ポインタをさらに解放するために、現行パケット・ポ
インタが解放待ち行列に待ち行列化される。この解放プ
ロセスは、割込み手順の命令数を最小限に削減するため
に、背景手順(157)で完全に実現される。 ● (162)出力待ち行列(OQn)の内容がテスト
される。 ・ (165)出力待ち行列(OQn)が空の場合は、
その待ち行列が出力待ち行列テーブルでNON ACT
IVE状態(ST)に設定される。 ・ (163)出力待ち行列(OQn)が空ではない場
合は、次のパケット・ポインタが待ち行列解除される
(待ち行列ポインタのHEAD値が増える)(16
6)。バッファ・リストの最初のバッファ・ポインタが
待ち行列解除され(パケット・ポインタのHEAD値が
増える)、パケット・ポインタ(現行パケット・ポイン
タ)とともに出力待ち行列テーブルに保管される(現行
バッファ・ポインタ)。現行バッファ・ポインタ(cu
r B_PTR)と現行パケット・ポインタ(cur
P_PTR)が識別されると、専用プロセッサ(SP
P)が、現行パケットの送信を開始するよう求める要求
(START TRANSMISSION)をIO1に
送る。 2.バッファ・レベル(IO1_EOB) 図18は、図15に示されているバッファ・レベルの割
込み手順(149)を示す流れ図である。バッファの終
わり割込み(EOB)が発生すると、次のように処理が
行われる。 ● (170)最後に処理された出力待ち行列(OQ
n)に対応する現行パケット・ポインタ(cur P_
PTR)が出力待ち行列テーブルから抽出される。 ● (171)バッファ・リスト内の次のバッファ・ポ
インタ(B_PTR)が待ち行列解除される(パケット
・ポインタのHEAD値が増える)。このバッファ・ポ
インタは、まず、IO1装置に接続されたDMAポイン
タ(D_PTR1)に設定され、次に、現行バッファ・
ポインタ(cur B_PTR)として出力待ち行列テ
ーブルに保管される。また、パケット・ポインタも、現
行パケット・ポインタとして出力待ち行列テーブルに保
管される。
【0097】資源の解放 図20は、図16に示されている、パケット送信後のパ
ケットに接続されている資源の解放(157)を示す流
れ図である。このプロセスは、割込み時の命令数を最小
限にするために、完全に背景手順内に置かれている。 ● (190)ローカル・メモリ(131)内に位置す
る解放待ち行列の内容がテストされる。 ・ 解放待ち行列が空の場合は、解放プロセスが終了
し、背景手順は最初の待機状態(150)に戻ることが
できる。 ・ 解放待ち行列が空でない場合は、次のように処理が
行われる。 ▲ (191)パケット・ポインタが解放待ち行列から
待ち行列解除される(解放待ち行列ポインタのHEAD
値が増える)。 ▲ (191)マルチキャスト・カウンタ(MCC)が
バッファ・リスト接頭部から取り出される。 ▲ (191)マルチキャスト・カウンタ(MCC)が
1つ減り、テストされる(192)。 △ (193)マルチキャスト・カウンタ(MCC)値
がゼロの場合は、パケットの送信が終了する。このパケ
ットに接続されているすべての資源を解放しなければな
らない。前に保管された元のパケット・ポインタ(P_
PTR)(初期HEAD値および初期TAIL値を含
む)がバッファ・リスト接頭部から取り出される。パケ
ット・ポインタとバッファ・ポインタが、それぞれ、フ
リー・パケット・リスト(FPL)とフリー・バッファ
・リスト(FBL)から解放される。 △ マルチキャスト・カウンタ(MCC)値がゼロでな
い場合は、マルチキャスト・プロセスが終了する。 ・ (190)解放待ち行列の内容がもう一度テストさ
れる。 ▲ 解放待ち行列が空でない場合は、新しいパケット・
ポインタを使って手順が続行される(191)。 ▲ 解放待ち行列が空の場合は、解放プロセスが終了
し、背景手順は最初の待機状態(150)に戻ることが
できる。
【0098】データ伝送 図19は、専用プロセッサ(SPP)、直接アクセス・
メモリ(DMA)、およびIO1装置間のデータ・フロ
ーを示している。最初は、すでに図16に示した背景手
順が待機状態になっている。パケットが伝送可能な状態
になると、直ちにパケット・ポインタが適切な出力待ち
行列nにコピーされる。この出力待ち行列nはACTI
VE状態に設定され、SPPは、出力n上で伝送を開始
できる状態になっていることをIO1装置に通知する
(START TRANSMISSIONn)。このメ
ッセージを受け取ると、IO1は、最初のバッファ・ポ
インタを要求するサービス要求(SR1n)でDMAに
応答する。DMAは、出力待ち行列nの現行バッファ・
ポインタ(cur B_PTRn)を出力待ち行列テー
ブルから抽出するために、バッファの終わり割込み(図
18に示したIO1_EOBn)を起動する。DMA
は、前記現行バッファ・ポインタによって識別されたバ
ッファをBMIO上に提示するようバッファ・メモリ
(BM)に対して命令すると同時に、このバッファを読
み取るようIO1に対して命令する(DS1nデータ・
サービス・メッセージ)。パケットの終わりに達するま
で、次のバッファを使ってプロセスが続行される。この
時点で、DMAはパケットの終わり割込み(図17に示
したIO1_EOPn)を立ち上げ、IO1装置に通知
する(EOP1n)。
【0099】出力回線で使用される様々なプロトコルと
速度に応じて、IO1装置の制御下ですべての出力待ち
行列が独立してかつ並行して処理されることに留意され
たい。
【0100】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0101】(1)固定長または可変長のデータ・パケ
ットを受信(138)し、1つまたは複数の出力に送信
(137)するためのプログラム可能処理手段(SP
P)を含む、通信ネットワーク(200)内のパケット
交換ノード(300)のための回線アダプタ(401、
402)において、回線アダプタが、第一の格納手段
(132)内の1つまたは複数のバッファに各データ・
パケットをバッファリングするための手段と、前記バッ
ファを識別するための手段と、それぞれのバッファ・リ
ストがデータ・パケットを1つずつ識別するようになっ
ているバッファ・リスト内の前記バッファIDを、第二
の格納手段(131)に待ち行列化するための手段と、
前記バッファ・リストを識別するための手段と、それぞ
れのパケット・リストが待ち行列を1つずつ識別するよ
うになっているパケット・リスト内のバッファ・リスト
IDを、前記第二の格納手段(131)に待ち行列化す
るための手段と、各データ・パケットの経路指定ヘッダ
(802)を処理するための手段(142)と、出力上
で送信するデータ・パケットのパケットIDをスタック
するために各出力に出力待ち行列を1つずつ関連付ける
ための手段と、1つまたは複数の出力にデータ・パケッ
トを経路指定するための手段とを含み、前記経路指定ヘ
ッダ(802)処理手段(142)が、各データ・パケ
ットの宛先(複数も可)に対応する出力待ち行列(複数
も可)を決定して選択するための手段をさらに含み、前
記経路指定手段が、選択された前記出力(複数も可)に
対応する待ち行列(複数も可)に、送信するデータ・パ
ケットのバッファ・リストIDをコピーするための手段
と、出力のデータ要求をリアルタイムで処理するための
手段と、前記第二の格納手段(131)からバッファ、
バッファID、およびバッファ・リストIDを解放する
ための手段とをさらに含み、前記データ要求処理手段
が、出力待ち行列を独立して処理するための手段と、出
力によって要求されたパケットIDを並行して待ち行列
解除するための手段と、前記パケットIDによって識別
されたバッファ・リスト内にスタックされているバッフ
ァIDを待ち行列解除するための手段とをさらに含むこ
とを特徴とする、回線アダプタ。 (2)前記第一の格納手段が、前記プログラム可能処理
手段とは無関係に固定長のバッファに入っている前記デ
ータ・パケットを読み書きするための手段を含み、前記
第二の格納手段が、前記処理手段(SPP)の制御下で
前記識別手段を個別に格納(131)するための手段を
含むことを特徴とする、上記(1)に記載の回線アダプ
タ。 (3)前記プログラム可能処理手段(SPP)が、デー
タ・パケットを処理するための背景手順と、新しいバッ
ファの内容を要求するために各出力の制御下で起動さ
れ、使用する経路指定モード(2地点間または分岐経路
指定モード)とは無関係であるリアルタイム手順とを含
むことを特徴とする、上記(1)または(2)に記載の
回線アダプタ。 (4)前記経路指定手段内の前記解放手段が前記背景手
順で実行されることを特徴とする、上記(3)に記載の
回線アダプタ。 (5)前記識別手段が、前記バッファを識別し、1つま
たは複数のバッファ・リスト(B_LIST)にスタッ
クされたバッファ・ポインタ(B_PTR)と、前記バ
ッファ・リスト(B_LIST)を識別し、1つまたは
複数のパケット・リスト(P_LIST)にスタックさ
れたパケット・ポインタ(P_PTR)と、前記パケッ
ト・リスト(P_LIST)を識別し、1つまたは複数
の待ち行列リスト(Q_LIST)にスタックされた待
ち行列ポインタ(Q_PTR)とを含み、各リストが、
そのリストの内容に関連する情報を格納するための接頭
部を含むことを特徴とする、上記(1)ないし(4)の
いずれかに記載の回線アダプタ。 (6)前記バッファ・リスト接頭部が、データ・パケッ
ト・ヘッダに入っている制御情報および経路指定情報を
含むことを特徴とする、上記(5)に記載の回線アダプ
タ。 (7)前記バッファ・リスト接頭部が、カウンタ(MC
C COUNTER)と、パケット・ポインタ(P_P
TR)とをさらに含むことを特徴とする、上記(6)に
記載の回線アダプタ。 (8)各出力待ち行列の状況が、前記第二の格納手段
(131)内に位置する出力待ち行列テーブルに格納さ
れており、前記状況が、出力待ち行列ポインタ(Q_P
TR)と、出力待ち行列から最後に待ち行列解除される
パケットのパケット・ポインタ(現行パケット・ポイン
タ(cur P_PTR)という)と、現行パケット・
ポインタ(cur P_PTR)から最後に待ち行列解
除されるバッファのバッファ・ポインタ(現行バッファ
・ポインタ(cur B_PTR)という)と、出力待
ち行列が活動状態かどうかによって決まる出力待ち行列
の状態(ST)であって、前記現行パケット・ポインタ
(cur P_PTR)が出力で処理されているときに
出力待ち行列が活動状態になるような出力待ち行列の状
態とを含むことを特徴とする、上記(7)に記載の回線
アダプタ。 (9)前記背景手順が、新しいバッファ・リストを検出
するための手段と、バッファ・リスト接頭部内の経路指
定情報を読み取るための手段と、データ・パケットの送
信先にする必要がある出力の数によってバッファ・リス
ト接頭部カウンタを初期設定するための手段と、専用の
接頭部にバッファ・リストのパケット・ポインタをコピ
ーするための手段と、データ・パケットの宛先に応じて
出力待ち行列を選択し、前記出力待ち行列にパケット・
ポインタを待ち行列化し、前記出力待ち行列の状態をテ
ストするための手段であって、その状態が活動状態の場
合は、データ・パケットの他の宛先に応じて新しい出力
待ち行列が選択され、その状態が活動状態ではない場合
は、パケット・ポインタが前記出力待ち行列から待ち行
列解除され、現行パケット・ポインタとして前記出力待
ち行列テーブルに保管され、バッファ・ポインタが前記
パケット・ポインタによって識別されたバッファ・リス
トから待ち行列解除され、現行バッファ・ポインタとし
て前記出力待ち行列テーブルに保管され、メッセージが
出力に送られ、出力待ち行列が活動状態に設定され、デ
ータ・パケットの他の宛先に応じて新しい出力待ち行列
が選択されるようになっている手段とを含み、前記パケ
ット・ポインタが選択されたすべての出力待ち行列です
でに待ち行列化されていると、背景プロセスが最初の待
機状態に戻ることを特徴とする、上記(8)に記載の回
線アダプタ。 (10)前記リアルタイム手順が、新しいバッファの要
求に応じて出力によって起動される第一のリアルタイム
手順であって、出力待ち行列テーブルで最後に処理され
る出力待ち行列に対応する現行パケット・ポインタを獲
得するための手段と、前記パケット・ポインタによって
識別されたバッファ・リスト内の次のバッファ・ポイン
タを待ち行列解除するための手段と、前記パケット・ポ
インタを現行パケット・ポインタとして出力待ち行列テ
ーブルに保管するための手段と、前記バッファ・ポイン
タを現行バッファ・ポインタとして出力待ち行列テーブ
ルに保管するための手段とを含む、第一のリアルタイム
手順と、新しいパケットの要求に応じて出力によって起
動される第二のリアルタイム手順であって、出力待ち行
列テーブルで最後に処理される出力待ち行列に対応する
現行パケット・ポインタを獲得するための手段と、遅延
解放のために前記パケット・ポインタを解放待ち行列に
待ち行列化するための手段と、出力待ち行列が空かどう
かをテストするための手段であって、出力待ち行列が空
の場合は、前記出力待ち行列が非活動状態に設定され、
出力待ち行列が空ではない場合は、次のパケット・ポイ
ンタが前記出力待ち行列から待ち行列解除され、前記パ
ケット・ポインタが現行パケット・ポインタとして出力
待ち行列テーブルに保管され、前記パケット・ポインタ
によって識別されたバッファ・リストの最初のバッファ
・ポインタが現行バッファ・ポインタとして出力待ち行
列テーブルに保管され、前記出力待ち行列に関連する出
力にメッセージが送られるようになっている手段とを含
む、第二のリアルタイム手順とを含むことを特徴とす
る、上記(9)に記載の回線アダプタ。 (11)前記第一の格納手段(132)内のバッファの
管理が、バッファ・ポインタ全体を含む第一の永続リス
ト(フリー・バッファ・リスト)によって実現されるこ
とを特徴とする、上記(1)ないし(10)のいずれか
に記載の回線アダプタ。 (12)前記第二の格納手段(131)内のバッファ・
リストの管理が、パケット・ポインタ全体を含む第二の
永続リスト(フリー・パケット・リスト)によって実現
されることを特徴とする、上記(1)ないし(11)の
いずれかに記載の回線アダプタ。 (13)前記背景手順内の前記解放手段が、解放待ち行
列の内容をテストするための手段であって、解放待ち行
列が空の場合は、解放を終了し、解放待ち行列が空では
ない場合は、パケット・ポインタを解放待ち行列から待
ち行列解除し、バッファ・リスト接頭部カウンタを1つ
減らし、カウンタ値がゼロかどうかをテストし、カウン
タ値がゼロではない場合は、解放待ち行列の内容をテス
トし、解放待ち行列が空の場合は、解放を終了し、解放
待ち行列が空でない場合は、次のパケット・ポインタを
解放待ち行列から待ち行列解除し、カウンタ値がゼロの
場合は、前記パケット・ポインタによって識別されたバ
ッファ・リスト接頭部から元のパケット・ポインタを取
り出し、前記パケット・ポインタによって識別されたバ
ッファ・リストおよびバッファをフリー・パケット・リ
ストおよびフリー・バッファ・リストから解放し、解放
待ち行列の内容をテストするようになっている手段を含
むことを特徴とする、上記(12)に記載の回線アダプ
タ。 (14)各リスト・ポインタ(パケット・ポインタ(P
_PTR)または待ち行列ポインタ(Q_PTR))
が、リストを識別するための第一のフィールド(LI
D)と、前記リストにスタックする次のポインタを識別
するための第二のフィールド(TAIL)と、前記リス
トにスタックされている最初のポインタを識別するため
の第三のフィールド(HEAD)とを含むことを特徴と
する、上記(5)ないし(13)のいずれかに記載の回
線アダプタ。 (15)前記待ち行列化手段が、リスト・ポインタのT
AILフィールドを増やすための手段と、LIDフィー
ルドによって識別されたリストにTAILフィールドに
よって識別されたポインタを同期的に格納するための手
段と、リスト満杯(F)標識を生成するための手段とを
含むことを特徴とする、上記(14)に記載の回線アダ
プタ。 (16)前記待ち行列解除手段が、リスト・ポインタの
HEADフィールドを増やすための手段と、LIDフィ
ールドによって識別されたリストでHEADフィールド
によって識別されたポインタを同期的に読み取るための
手段と、リスト空(E)標識を生成するための手段とを
含むことを特徴とする、上記(14)ないし(15)の
いずれかに記載の回線アダプタ。 (17)前記待ち行列化および待ち行列解除手段が、前
記リスト空(E)標識またはリスト満杯(F)標識をテ
ストするための手段をさらに含むことを特徴とする、上
記(15)ないし(16)のいずれかに記載の回線アダ
プタ。 (18)前記処理手段が、演算論理装置と、レジスタ・
ファイルと、シーケンサと、命令ファイルと、直接アク
セス・メモリ・モジュールと、物理メモリ・アドレス・
ジェネレータとを含むことを特徴とする、上記(1)な
いし(17)のいずれかに記載の回線アダプタ。 (19)固定長または可変長のデータ・パケットを受信
(138)し、1つまたは複数の出力に送信(137)
するためのプログラム可能処理手段(SPP)を含む、
通信ネットワーク(200)内のパケット交換ノード
(300)のための回線アダプタ(401、402)に
おける経路指定方法において、経路指定方法が、第一の
格納手段(132)内の1つまたは複数のバッファに各
データ・パケットをバッファリングするステップと、前
記バッファを識別するステップと、それぞれのバッファ
・リストがデータ・パケットを1つずつ識別するように
なっているバッファ・リスト内の前記バッファIDを、
第二の格納手段(131)に待ち行列化するステップ
と、前記バッファ・リストを識別するステップと、それ
ぞれのパケット・リストが待ち行列を1つずつ識別する
ようになっているパケット・リスト内のバッファ・リス
トIDを、前記第二の格納手段(131)に待ち行列化
するステップと、各データ・パケットの経路指定ヘッダ
(802)を処理(142)するステップと、出力上で
送信するデータ・パケットのパケットIDをスタックす
るために各出力に出力待ち行列を1つずつ関連付けるス
テップと、1つまたは複数の出力にデータ・パケットを
経路指定するステップとを含み、前記経路指定ヘッダ
(802)処理ステップ(142)が、各データ・パケ
ットの宛先(複数も可)に対応する出力待ち行列(複数
も可)を決定して選択するステップをさらに含み、前記
経路指定ステップが、選択された前記出力(複数も可)
に対応する待ち行列(複数も可)に、送信するデータ・
パケットのバッファ・リストIDをコピーするステップ
と、出力のデータ要求をリアルタイムで処理するステッ
プと、前記第二の格納手段(131)からバッファ、バ
ッファID、およびバッファ・リストIDを解放するス
テップとをさらに含み、前記データ要求処理ステップ
が、出力によって要求されたパケットIDを並行して待
ち行列解除し、前記パケットIDによって識別されたバ
ッファ・リスト内にスタックされているバッファIDを
待ち行列解除することにより、出力待ち行列を独立して
処理するステップを含むことを特徴とする、経路指定方
法。
【図面の簡単な説明】
【図1】本発明によってサポートされる様々な回線スル
ープットに応じて必要な処理時間(すなわち、命令/
秒)を示す図である。
【図2】本発明の特許請求の範囲に記載された、アクセ
ス・ノードと通過ノードを含む高速パケット交換網の典
型的なモデルを示す図である。
【図3】本発明による高速経路指定ポイントを示す図で
ある。
【図4】本発明によるプログラム可能高性能アダプタを
示す図である。
【図5】トランク・アダプタ内を通る送受信データ・フ
ローを示す図である。
【図6】本発明によるバッファ、パケット、および待ち
行列の構造を示す図である。
【図7】制御点スパン・ツリーを示す図である。
【図8】図2に示すようなネットワークで伝送されるパ
ケット用の典型的なヘッダの図解表現である。
【図9】図8に示したヘッダのマルチキャスト・ツリー
経路指定フィールドの図解表現である。
【図10】本発明によるリスト・ポインタ構造を示す図
である。
【図11】本発明の特許請求の範囲に記載されたマルチ
キャスト機構の概要を示す図である。
【図12】本発明によるマルチキャスト経路指定をサポ
ートするパケットのバッファ・リスト構造を示す図であ
る。
【図13】本発明によるフリー・バッファ・リスト構造
を示す図である。
【図14】本発明によるプロセッサ機能構造を示す図で
ある。
【図15】本発明による回線アダプタ内のパケット処理
の全体図である。
【図16】本発明によるパケット経路指定およびマルチ
キャスト処理を示す図である。
【図17】本発明によるパケット・レベルの割込み手順
を示す図である。
【図18】本発明によるバッファ・レベルの割込み手順
を示す図である。
【図19】本発明による専用プロセッサ(SPP)、直
接アクセス・メモリ(DMA)、IO1装置間のデータ
・フローを示す図である。
【図20】本発明の特許請求の範囲に記載した、背景手
順におけるメモリ資源の解放機構を示す流れ図である。
【符号の説明】
141 入力パケット 142 パケット経路指定およびマルチキャスト 143 出力待ち行列 145 出力 147 バッファ・メモリ 148 経路指定テーブル 149 送信―割込み手順
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジャン・マリー・ミュニエ フランス06800 カーニュ・シュル・メー ル シュマン・デ・コル11 (72)発明者 アンドレ・ポポルト フランス06480 ラ・コル・シュル・ルー シュマン・デュ・ピュイ・ド・タシエ 275 ロティスモン・デュ・コロンビエ (72)発明者 ヴィクトール・スパーニョール フランス06800 カーニュ・シュル・メー ル シュマン・デ・コレット12ビス

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】固定長または可変長のデータ・パケットを
    受信(138)し、1つまたは複数の出力に送信(13
    7)するためのプログラム可能処理手段(SPP)を含
    む、通信ネットワーク(200)内のパケット交換ノー
    ド(300)のための回線アダプタ(401、402)
    において、回線アダプタが、 第一の格納手段(132)内の1つまたは複数のバッフ
    ァに各データ・パケットをバッファリングするための手
    段と、 前記バッファを識別するための手段と、 それぞれのバッファ・リストがデータ・パケットを1つ
    ずつ識別するようになっているバッファ・リスト内の前
    記バッファIDを、第二の格納手段(131)に待ち行
    列化するための手段と、 前記バッファ・リストを識別するための手段と、 それぞれのパケット・リストが待ち行列を1つずつ識別
    するようになっているパケット・リスト内のバッファ・
    リストIDを、前記第二の格納手段(131)に待ち行
    列化するための手段と、 各データ・パケットの経路指定ヘッダ(802)を処理
    するための手段(142)と、 出力上で送信するデータ・パケットのパケットIDをス
    タックするために各出力に出力待ち行列を1つずつ関連
    付けるための手段と、 1つまたは複数の出力にデータ・パケットを経路指定す
    るための手段とを含み、 前記経路指定ヘッダ(802)処理手段(142)が、 各データ・パケットの宛先(複数も可)に対応する出力
    待ち行列(複数も可)を決定して選択するための手段を
    さらに含み、 前記経路指定手段が、 選択された前記出力(複数も可)に対応する待ち行列
    (複数も可)に、送信するデータ・パケットのバッファ
    ・リストIDをコピーするための手段と、 出力のデータ要求をリアルタイムで処理するための手段
    と、 前記第二の格納手段(131)からバッファ、バッファ
    ID、およびバッファ・リストIDを解放するための手
    段とをさらに含み、 前記データ要求処理手段が、出力待ち行列を独立して処
    理するための手段と、 出力によって要求されたパケットIDを並行して待ち行
    列解除するための手段と、 前記パケットIDによって識別されたバッファ・リスト
    内にスタックされているバッファIDを待ち行列解除す
    るための手段とをさらに含むことを特徴とする、回線ア
    ダプタ。
  2. 【請求項2】前記第一の格納手段が、前記プログラム可
    能処理手段とは無関係に固定長のバッファに入っている
    前記データ・パケットを読み書きするための手段を含
    み、 前記第二の格納手段が、前記処理手段(SPP)の制御
    下で前記識別手段を個別に格納(131)するための手
    段を含むことを特徴とする、請求項1に記載の回線アダ
    プタ。
  3. 【請求項3】前記プログラム可能処理手段(SPP)
    が、 データ・パケットを処理するための背景手順と、 新しいバッファの内容を要求するために各出力の制御下
    で起動され、使用する経路指定モード(2地点間または
    分岐経路指定モード)とは無関係であるリアルタイム手
    順とを含むことを特徴とする、請求項1または2に記載
    の回線アダプタ。
  4. 【請求項4】前記経路指定手段内の前記解放手段が前記
    背景手順で実行されることを特徴とする、請求項3に記
    載の回線アダプタ。
  5. 【請求項5】前記識別手段が、 前記バッファを識別し、1つまたは複数のバッファ・リ
    スト(B_LIST)にスタックされたバッファ・ポイ
    ンタ(B_PTR)と、 前記バッファ・リスト(B_LIST)を識別し、1つ
    または複数のパケット・リスト(P_LIST)にスタ
    ックされたパケット・ポインタ(P_PTR)と、 前記パケット・リスト(P_LIST)を識別し、1つ
    または複数の待ち行列リスト(Q_LIST)にスタッ
    クされた待ち行列ポインタ(Q_PTR)とを含み、 各リストが、そのリストの内容に関連する情報を格納す
    るための接頭部を含むことを特徴とする、請求項1ない
    し4のいずれかに記載の回線アダプタ。
  6. 【請求項6】前記バッファ・リスト接頭部が、 データ・パケット・ヘッダに入っている制御情報および
    経路指定情報を含むことを特徴とする、請求項5に記載
    の回線アダプタ。
  7. 【請求項7】前記バッファ・リスト接頭部が、 カウンタ(MCC COUNTER)と、 パケット・ポインタ(P_PTR)とをさらに含むこと
    を特徴とする、請求項6に記載の回線アダプタ。
  8. 【請求項8】各出力待ち行列の状況が、前記第二の格納
    手段(131)内に位置する出力待ち行列テーブルに格
    納されており、前記状況が、 出力待ち行列ポインタ(Q_PTR)と、 出力待ち行列から最後に待ち行列解除されるパケットの
    パケット・ポインタ(現行パケット・ポインタ(cur
    P_PTR)という)と、 現行パケット・ポインタ(cur P_PTR)から最
    後に待ち行列解除されるバッファのバッファ・ポインタ
    (現行バッファ・ポインタ(cur B_PTR)とい
    う)と、 出力待ち行列が活動状態かどうかによって決まる出力待
    ち行列の状態(ST)であって、前記現行パケット・ポ
    インタ(cur P_PTR)が出力で処理されている
    ときに出力待ち行列が活動状態になるような出力待ち行
    列の状態とを含むことを特徴とする、請求項7に記載の
    回線アダプタ。
  9. 【請求項9】前記背景手順が、 新しいバッファ・リストを検出するための手段と、 バッファ・リスト接頭部内の経路指定情報を読み取るた
    めの手段と、 データ・パケットの送信先にする必要がある出力の数に
    よってバッファ・リスト接頭部カウンタを初期設定する
    ための手段と、 専用の接頭部にバッファ・リストのパケット・ポインタ
    をコピーするための手段と、 データ・パケットの宛先に応じて出力待ち行列を選択
    し、前記出力待ち行列にパケット・ポインタを待ち行列
    化し、前記出力待ち行列の状態をテストするための手段
    であって、 その状態が活動状態の場合は、データ・パケットの他の
    宛先に応じて新しい出力待ち行列が選択され、 その状態が活動状態ではない場合は、 パケット・ポインタが前記出力待ち行列から待ち行列解
    除され、現行パケット・ポインタとして前記出力待ち行
    列テーブルに保管され、 バッファ・ポインタが前記パケット・ポインタによって
    識別されたバッファ・リストから待ち行列解除され、現
    行バッファ・ポインタとして前記出力待ち行列テーブル
    に保管され、 メッセージが出力に送られ、 出力待ち行列が活動状態に設定され、 データ・パケットの他の宛先に応じて新しい出力待ち行
    列が選択されるようになっている手段とを含み、 前記パケット・ポインタが選択されたすべての出力待ち
    行列ですでに待ち行列化されていると、背景プロセスが
    最初の待機状態に戻ることを特徴とする、請求項8に記
    載の回線アダプタ。
  10. 【請求項10】前記リアルタイム手順が、 新しいバッファの要求に応じて出力によって起動される
    第一のリアルタイム手順であって、 出力待ち行列テーブルで最後に処理される出力待ち行列
    に対応する現行パケット・ポインタを獲得するための手
    段と、 前記パケット・ポインタによって識別されたバッファ・
    リスト内の次のバッファ・ポインタを待ち行列解除する
    ための手段と、 前記パケット・ポインタを現行パケット・ポインタとし
    て出力待ち行列テーブルに保管するための手段と、 前記バッファ・ポインタを現行バッファ・ポインタとし
    て出力待ち行列テーブルに保管するための手段とを含
    む、第一のリアルタイム手順と、 新しいパケットの要求に応じて出力によって起動される
    第二のリアルタイム手順であって、 出力待ち行列テーブルで最後に処理される出力待ち行列
    に対応する現行パケット・ポインタを獲得するための手
    段と、 遅延解放のために前記パケット・ポインタを解放待ち行
    列に待ち行列化するための手段と、 出力待ち行列が空かどうかをテストするための手段であ
    って、 出力待ち行列が空の場合は、前記出力待ち行列が非活動
    状態に設定され、 出力待ち行列が空ではない場合は、 次のパケット・ポインタが前記出力待ち行列から待ち行
    列解除され、 前記パケット・ポインタが現行パケット・ポインタとし
    て出力待ち行列テーブルに保管され、 前記パケット・ポインタによって識別されたバッファ・
    リストの最初のバッファ・ポインタが現行バッファ・ポ
    インタとして出力待ち行列テーブルに保管され、 前記出力待ち行列に関連する出力にメッセージが送られ
    るようになっている手段とを含む、第二のリアルタイム
    手順とを含むことを特徴とする、請求項9に記載の回線
    アダプタ。
  11. 【請求項11】前記第一の格納手段(132)内のバッ
    ファの管理が、バッファ・ポインタ全体を含む第一の永
    続リスト(フリー・バッファ・リスト)によって実現さ
    れることを特徴とする、請求項1ないし10のいずれか
    に記載の回線アダプタ。
  12. 【請求項12】前記第二の格納手段(131)内のバッ
    ファ・リストの管理が、パケット・ポインタ全体を含む
    第二の永続リスト(フリー・パケット・リスト)によっ
    て実現されることを特徴とする、請求項1ないし11の
    いずれかに記載の回線アダプタ。
  13. 【請求項13】前記背景手順内の前記解放手段が、 解放待ち行列の内容をテストするための手段であって、 解放待ち行列が空の場合は、解放を終了し、 解放待ち行列が空ではない場合は、 パケット・ポインタを解放待ち行列から待ち行列解除
    し、 バッファ・リスト接頭部カウンタを1つ減らし、 カウンタ値がゼロかどうかをテストし、 カウンタ値がゼロではない場合は、解放待ち行列の内容
    をテストし、 解放待ち行列が空の場合は、解放を終了し、 解放待ち行列が空でない場合は、次のパケット・ポイン
    タを解放待ち行列から待ち行列解除し、 カウンタ値がゼロの場合は、 前記パケット・ポインタによって識別されたバッファ・
    リスト接頭部から元のパケット・ポインタを取り出し、 前記パケット・ポインタによって識別されたバッファ・
    リストおよびバッファをフリー・パケット・リストおよ
    びフリー・バッファ・リストから解放し、 解放待ち行列の内容をテストするようになっている手段
    を含むことを特徴とする、請求項12に記載の回線アダ
    プタ。
  14. 【請求項14】各リスト・ポインタ(パケット・ポイン
    タ(P_PTR)または待ち行列ポインタ(Q_PT
    R))が、 リストを識別するための第一のフィールド(LID)
    と、 前記リストにスタックする次のポインタを識別するため
    の第二のフィールド(TAIL)と、 前記リストにスタックされている最初のポインタを識別
    するための第三のフィールド(HEAD)とを含むこと
    を特徴とする、請求項5ないし13のいずれかに記載の
    回線アダプタ。
  15. 【請求項15】前記待ち行列化手段が、 リスト・ポインタのTAILフィールドを増やすための
    手段と、 LIDフィールドによって識別されたリストにTAIL
    フィールドによって識別されたポインタを同期的に格納
    するための手段と、 リスト満杯(F)標識を生成するための手段とを含むこ
    とを特徴とする、請求項14に記載の回線アダプタ。
  16. 【請求項16】前記待ち行列解除手段が、 リスト・ポインタのHEADフィールドを増やすための
    手段と、 LIDフィールドによって識別されたリストでHEAD
    フィールドによって識別されたポインタを同期的に読み
    取るための手段と、 リスト空(E)標識を生成するための手段とを含むこと
    を特徴とする、請求項14ないし15のいずれかに記載
    の回線アダプタ。
  17. 【請求項17】前記待ち行列化および待ち行列解除手段
    が、 前記リスト空(E)標識またはリスト満杯(F)標識を
    テストするための手段をさらに含むことを特徴とする、
    請求項15ないし16のいずれかに記載の回線アダプ
    タ。
  18. 【請求項18】前記処理手段が、 演算論理装置と、 レジスタ・ファイルと、 シーケンサと、 命令ファイルと、 直接アクセス・メモリ・モジュールと、 物理メモリ・アドレス・ジェネレータとを含むことを特
    徴とする、請求項1ないし17のいずれかに記載の回線
    アダプタ。
  19. 【請求項19】固定長または可変長のデータ・パケット
    を受信(138)し、1つまたは複数の出力に送信(1
    37)するためのプログラム可能処理手段(SPP)を
    含む、通信ネットワーク(200)内のパケット交換ノ
    ード(300)のための回線アダプタ(401、40
    2)における経路指定方法において、経路指定方法が、 第一の格納手段(132)内の1つまたは複数のバッフ
    ァに各データ・パケットをバッファリングするステップ
    と、 前記バッファを識別するステップと、 それぞれのバッファ・リストがデータ・パケットを1つ
    ずつ識別するようになっているバッファ・リスト内の前
    記バッファIDを、第二の格納手段(131)に待ち行
    列化するステップと、 前記バッファ・リストを識別するステップと、 それぞれのパケット・リストが待ち行列を1つずつ識別
    するようになっているパケット・リスト内のバッファ・
    リストIDを、前記第二の格納手段(131)に待ち行
    列化するステップと、 各データ・パケットの経路指定ヘッダ(802)を処理
    (142)するステップと、 出力上で送信するデータ・パケットのパケットIDをス
    タックするために各出力に出力待ち行列を1つずつ関連
    付けるステップと、 1つまたは複数の出力にデータ・パケットを経路指定す
    るステップとを含み、 前記経路指定ヘッダ(802)処理ステップ(142)
    が、 各データ・パケットの宛先(複数も可)に対応する出力
    待ち行列(複数も可)を決定して選択するステップをさ
    らに含み、 前記経路指定ステップが、 選択された前記出力(複数も可)に対応する待ち行列
    (複数も可)に、送信するデータ・パケットのバッファ
    ・リストIDをコピーするステップと、 出力のデータ要求をリアルタイムで処理するステップ
    と、 前記第二の格納手段(131)からバッファ、バッファ
    ID、およびバッファ・リストIDを解放するステップ
    とをさらに含み、 前記データ要求処理ステップが、 出力によって要求されたパケットIDを並行して待ち行
    列解除し、 前記パケットIDによって識別されたバッファ・リスト
    内にスタックされているバッファIDを待ち行列解除す
    ることにより、出力待ち行列を独立して処理するステッ
    プを含むことを特徴とする、経路指定方法。
JP2385995A 1994-04-07 1995-02-13 回線アダプタ Expired - Fee Related JP3110968B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR94480030.9 1994-04-07
EP94480030A EP0676878A1 (en) 1994-04-07 1994-04-07 Efficient point to point and multi point routing mechanism for programmable packet switching nodes in high speed data transmission networks

Publications (2)

Publication Number Publication Date
JPH07288546A true JPH07288546A (ja) 1995-10-31
JP3110968B2 JP3110968B2 (ja) 2000-11-20

Family

ID=8218114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2385995A Expired - Fee Related JP3110968B2 (ja) 1994-04-07 1995-02-13 回線アダプタ

Country Status (4)

Country Link
US (1) US5602841A (ja)
EP (1) EP0676878A1 (ja)
JP (1) JP3110968B2 (ja)
CA (1) CA2144402A1 (ja)

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920562A (en) * 1996-11-22 1999-07-06 Sprint Communications Co. L.P. Systems and methods for providing enhanced services for telecommunication call
US5555244A (en) 1994-05-19 1996-09-10 Integrated Network Corporation Scalable multimedia network
FI97186C (fi) * 1994-11-11 1996-10-25 Nokia Telecommunications Oy Ylikuormituksen esto tietoliikenneverkon solmussa
US5954794A (en) * 1995-12-20 1999-09-21 Tandem Computers Incorporated Computer system data I/O by reference among I/O devices and multiple memory units
US5941959A (en) * 1995-12-20 1999-08-24 Tandem Computers Incorporated System for transferring a data stream to a requestor without copying data segments to each one of multiple data source/sinks during data stream building
US5931903A (en) * 1995-12-20 1999-08-03 Tandem Computers Incorporated Computer system data I/O by reference among multiple CPUS
US5790807A (en) * 1995-12-20 1998-08-04 Tandem Computers Incorporated Computer sysem data I/O by reference among CPUS and I/O devices
US5852719A (en) * 1995-12-20 1998-12-22 Tandem Computers Incorporated System for transferring data over a network in which a data source sends only a descriptor which a data sink uses to retrieve data
GB2308959A (en) * 1995-12-29 1997-07-09 Ericsson Telefon Ab L M Data switching apparatus with fair queuing
US5689505A (en) * 1996-01-16 1997-11-18 Lucent Technologies Inc. Buffering of multicast cells in switching networks
US5689506A (en) * 1996-01-16 1997-11-18 Lucent Technologies Inc. Multicast routing in multistage networks
EP0786918A1 (de) * 1996-01-25 1997-07-30 Siemens Aktiengesellschaft Schnittstelleneinrichtung eines ATM-Vermittlungssystems
US6542502B1 (en) * 1996-01-26 2003-04-01 International Business Machines Corporation Multicasting using a wormhole routing switching element
US6222822B1 (en) * 1996-04-23 2001-04-24 Cisco Systems, Incorporated Method for optimizing a digital transmission network operation through transient error monitoring and control and system for implementing said method
US5859973A (en) * 1996-08-21 1999-01-12 International Business Machines Corporation Methods, system and computer program products for delayed message generation and encoding in an intermittently connected data communication system
US6049546A (en) * 1996-10-15 2000-04-11 At&T Corporation System and method for performing switching in multipoint-to-multipoint multicasting
DE19745021B4 (de) * 1996-10-29 2008-08-28 Keymile Ag Netzwerk für paketorientierten Datenverkehr
US6044080A (en) * 1996-11-19 2000-03-28 Pluris, Inc. Scalable parallel packet router
US6101187A (en) * 1996-12-20 2000-08-08 International Business Machines Corporation Method and system for multicasting cells in an ATM protocol adapter
JPH10247944A (ja) * 1997-03-05 1998-09-14 Kokusai Denshin Denwa Co Ltd <Kdd> 中継制御装置および方法
US6131119A (en) * 1997-04-01 2000-10-10 Sony Corporation Automatic configuration system for mapping node addresses within a bus structure to their physical location
US5938736A (en) * 1997-06-30 1999-08-17 Sun Microsystems, Inc. Search engine architecture for a high performance multi-layer switch element
US6014380A (en) * 1997-06-30 2000-01-11 Sun Microsystems, Inc. Mechanism for packet field replacement in a multi-layer distributed 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
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
US6088356A (en) * 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
US6016310A (en) * 1997-06-30 2000-01-18 Sun Microsystems, Inc. Trunking support in a high performance network device
US6021132A (en) * 1997-06-30 2000-02-01 Sun Microsystems, Inc. Shared memory management in a switched network element
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
US6816966B1 (en) * 1997-06-30 2004-11-09 Sun Microsystems, Inc. Techniques for securing data flow in internet multicasting
US6081522A (en) * 1997-06-30 2000-06-27 Sun Microsystems, Inc. System and method for a multi-layer network element
US6081512A (en) * 1997-06-30 2000-06-27 Sun Microsystems, Inc. Spanning tree support in a high performance network device
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
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
US6049528A (en) * 1997-06-30 2000-04-11 Sun Microsystems, Inc. Trunking ethernet-compatible networks
US6128295A (en) * 1997-07-11 2000-10-03 Telefonaktiebolaget Lm Ericsson Buffering of point-to-point and/or point-to-multipoint ATM cells
US5963553A (en) * 1997-07-11 1999-10-05 Telefonaktiebolaget Lm Ericsson Handling ATM multicast cells
US6185209B1 (en) * 1997-07-11 2001-02-06 Telefonaktiebolaget Lm Ericsson VC merging for ATM switch
US6032190A (en) * 1997-10-03 2000-02-29 Ascend Communications, Inc. System and method for processing data packets
JPH11145987A (ja) * 1997-11-12 1999-05-28 Nec Corp Atmスイッチにおけるセル選択廃棄システム
US6272134B1 (en) 1997-11-20 2001-08-07 International Business Machines Corporation Multicast frame support in hardware routing assist
US6178180B1 (en) 1997-11-26 2001-01-23 International Business Machines Corp. Communications adapter for processing ATM and ISDN data
US6259699B1 (en) * 1997-12-30 2001-07-10 Nexabit Networks, Llc System architecture for and method of processing packets and/or cells in a common switch
US6148004A (en) * 1998-02-11 2000-11-14 Mcdata Corporation Method and apparatus for establishment of dynamic ESCON connections from fibre channel frames
US6088745A (en) * 1998-03-17 2000-07-11 Xylan Corporation Logical output queues linking buffers allocated using free lists of pointer groups of multiple contiguous address space
CA2329367C (en) * 1998-05-02 2009-11-03 Peter J. Desnoyers Distributed switch and connection control arrangement and method for digital communications network
US6542496B1 (en) * 1998-06-30 2003-04-01 Hitachi, Ltd. Packet switching method and apparatus thereof
US6304579B1 (en) * 1998-07-02 2001-10-16 Ricoh Company, Ltd. Method and apparatus for sending a 1×N communication message
US6272140B1 (en) * 1998-07-02 2001-08-07 Gte Service Corporation Bandwidth allocation in a wireless personal area network
US6600741B1 (en) 1999-03-25 2003-07-29 Lucent Technologies Inc. Large combined broadband and narrowband switch
US6628652B1 (en) 1998-09-18 2003-09-30 Lucent Technologies Inc. Flexible telecommunications switching network
US6304553B1 (en) 1998-09-18 2001-10-16 Lsi Logic Corporation Method and apparatus for processing data packets
US6785274B2 (en) 1998-10-07 2004-08-31 Cisco Technology, Inc. Efficient network multicast switching apparatus and methods
US6614781B1 (en) * 1998-11-20 2003-09-02 Level 3 Communications, Inc. Voice over data telecommunications network architecture
US6636501B1 (en) * 1998-12-11 2003-10-21 International Business Machines Corporation High-speed digital network node communication system and method
US6888833B1 (en) 1998-12-22 2005-05-03 Sprint Communications Company L.P. System and method for processing call signaling
US6785282B1 (en) 1998-12-22 2004-08-31 Sprint Communications Company L.P. System and method for connecting a call with a gateway system
US6724765B1 (en) 1998-12-22 2004-04-20 Sprint Communications Company, L.P. Telecommunication call processing and connection system architecture
US6982950B1 (en) 1998-12-22 2006-01-03 Sprint Communications Company L.P. System and method for connecting a call in a tandem architecture
US7492393B2 (en) * 1999-02-12 2009-02-17 Sony Corporation Method of and apparatus for generating a precise frame rate in digital video transmission from a computer system to a digital video device
JP2000242574A (ja) * 1999-02-22 2000-09-08 Mitsubishi Electric Corp データ転送方法および予定転送先データベース作成方法
JP4182180B2 (ja) * 1999-02-24 2008-11-19 株式会社日立製作所 ネットワーク中継装置及びネットワーク中継方法
JP3645734B2 (ja) 1999-02-24 2005-05-11 株式会社日立製作所 ネットワーク中継装置及びネットワーク中継方法
US6366961B1 (en) * 1999-03-03 2002-04-02 Nokia Telecommunications, Oy Method and apparatus for providing mini packet switching in IP based cellular access networks
US6317434B1 (en) * 1999-04-14 2001-11-13 Verizon Laboratories Inc. Data link layer switch with multicast capability
AU4482000A (en) 1999-04-23 2000-11-10 Sony Electronics Inc. Method of and apparatus for implementing and sending an asynchronous control mechanism packet
JP3792940B2 (ja) * 1999-06-10 2006-07-05 富士通株式会社 パケットのマルチキャスト配送システム
US6606326B1 (en) * 1999-07-02 2003-08-12 International Business Machines Corporation Packet switch employing dynamic transfer of data packet from central shared queue path to cross-point switching matrix path
US6865178B1 (en) * 1999-08-20 2005-03-08 International Business Machines Corporation Method and system for establishing SNA connection through data link switching access services over networking broadband services
AU6930300A (en) * 1999-08-30 2001-03-26 Firedrop, Inc. System and method for group choice making
US6507865B1 (en) 1999-08-30 2003-01-14 Zaplet, Inc. Method and system for group content collaboration
US6496849B1 (en) 1999-08-30 2002-12-17 Zaplet, Inc. Electronic media for communicating information among a group of participants
US6691153B1 (en) 1999-08-30 2004-02-10 Zaplet, Inc. Method and system for process interaction among a group
US6523063B1 (en) * 1999-08-30 2003-02-18 Zaplet, Inc. Method system and program product for accessing a file using values from a redirect message string for each change of the link identifier
US6463461B1 (en) * 1999-08-30 2002-10-08 Zaplet, Inc. System for communicating information among a group of participants
US6457045B1 (en) 1999-08-30 2002-09-24 Zaplet, Inc. System and method for group choice making
US6505233B1 (en) 1999-08-30 2003-01-07 Zaplet, Inc. Method for communicating information among a group of participants
US6683865B1 (en) * 1999-10-15 2004-01-27 Nokia Wireless Routers, Inc. System for routing and switching in computer networks
US6453337B2 (en) 1999-10-25 2002-09-17 Zaplet, Inc. Methods and systems to manage and track the states of electronic media
TW445730B (en) * 1999-11-30 2001-07-11 Via Tech Inc Output queuing scheme for forwarding packets in sequence
JP2001186142A (ja) * 1999-12-27 2001-07-06 Toshiba Corp パケットバッファ装置、及び、パケットスイッチ装置
US6621825B1 (en) * 1999-12-29 2003-09-16 Alcatel Canada Inc. Method and apparatus for per connection queuing of multicast transmissions
US7600039B2 (en) * 2000-02-16 2009-10-06 Motorola, Inc. Label-based multiplexing
US6781960B1 (en) * 2000-02-16 2004-08-24 Telefonaktiebolaget Lm Ericsson (Publ) Wireless multi-point communication system having automatically-updated sector-based routing capabilities
EP1266507B1 (en) 2000-03-17 2004-06-02 America Online, Inc. Home-networking
US6804232B1 (en) * 2000-03-27 2004-10-12 Bbnt Solutions Llc Personal area network with automatic attachment and detachment
US6732182B1 (en) * 2000-05-17 2004-05-04 Worldcom, Inc. Method for generating packet loss report by a data coordinator in a multicast data transmission network utilizing a group shortest path tree
US6993022B1 (en) 2000-07-06 2006-01-31 Sony Corporation Method of and apparatus for directly mapping communications through a router between nodes on different buses within a network of buses
JP2002033749A (ja) * 2000-07-18 2002-01-31 Fujitsu Ltd バッファ装置およびスイッチング装置
US7130885B2 (en) * 2000-09-05 2006-10-31 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
US6822958B1 (en) * 2000-09-25 2004-11-23 Integrated Device Technology, Inc. Implementation of multicast in an ATM switch
TW513635B (en) * 2000-11-24 2002-12-11 Ibm Method and structure for variable-length frame support in a shared memory switch
US7301960B2 (en) * 2000-12-15 2007-11-27 Harris Corporation Apparatus for and method of control and communication of multiple stations in a TDM network
US7239612B1 (en) * 2001-10-18 2007-07-03 Network Equipment Technologies, Inc Method and apparatus for discarding a prioritized fair share of traffic of network connections
US7359325B1 (en) 2001-10-18 2008-04-15 Network Equipment Technologies, Inc. Method and apparatus for inserting empty memory cells into a data flow of network connections of a computer network
US20030084219A1 (en) * 2001-10-26 2003-05-01 Maxxan Systems, Inc. System, apparatus and method for address forwarding for a computer network
US7421257B1 (en) 2001-11-30 2008-09-02 Stragent, Llc Receiver scheduling in ad hoc wireless networks
US7145914B2 (en) 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
US7085846B2 (en) * 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US7307995B1 (en) 2002-04-05 2007-12-11 Ciphermax, Inc. System and method for linking a plurality of network switches
US7295561B1 (en) 2002-04-05 2007-11-13 Ciphermax, Inc. Fibre channel implementation using network processors
US7406038B1 (en) 2002-04-05 2008-07-29 Ciphermax, Incorporated System and method for expansion of computer network switching system without disruption thereof
US7379970B1 (en) 2002-04-05 2008-05-27 Ciphermax, Inc. Method and system for reduced distributed event handling in a network environment
US20030195956A1 (en) * 2002-04-15 2003-10-16 Maxxan Systems, Inc. System and method for allocating unique zone membership
US20030200330A1 (en) * 2002-04-22 2003-10-23 Maxxan Systems, Inc. System and method for load-sharing computer network switch
US20030204620A1 (en) * 2002-04-29 2003-10-30 Intel Corporation Network device with improved routing characteristics
US7302692B2 (en) * 2002-05-31 2007-11-27 International Business Machines Corporation Locally providing globally consistent information to communications layers
US7609693B2 (en) * 2002-06-04 2009-10-27 Alcatel-Lucent Usa Inc. Multicast packet queuing
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
US7234079B2 (en) * 2003-07-11 2007-06-19 Agency For Science, Technology & Research Method and system for enabling recovery of data stored in a computer network; a method and a system for recovering data stored in a computer network
US7437457B1 (en) 2003-09-08 2008-10-14 Aol Llc, A Delaware Limited Liability Company Regulating concurrent logins associated with a single account
EP1538536A1 (en) 2003-12-05 2005-06-08 Sony International (Europe) GmbH Visualization and control techniques for multimedia digital content
US7756033B2 (en) * 2004-05-03 2010-07-13 Verizon Business Global Llc Systems and methods for managing multicast data transmissions
JP2006171626A (ja) * 2004-12-20 2006-06-29 Oki Electric Ind Co Ltd 楽曲再生装置
WO2009074840A2 (en) * 2007-12-10 2009-06-18 George Madathilparambil George Separately transmitting part of protocol information
US8208418B1 (en) * 2009-01-16 2012-06-26 Extreme Networks, Inc. Methods, systems, and computer readable media for conserving multicast port list resources in an internet protocol (IP) packet forwarding device
US9008091B1 (en) 2010-11-19 2015-04-14 Extreme Networks, Inc. Methods, systems, and computer readable media for improved multicast scaling through policy based redirection
US20140019570A1 (en) * 2012-07-12 2014-01-16 Raytheon Company Data buffer exchange
CN104461924A (zh) * 2014-11-04 2015-03-25 福建星网锐捷网络有限公司 一种报文内存回收方法和系统
EP3522477B1 (de) * 2018-01-31 2021-08-11 Siemens Aktiengesellschaft Verfahren zur daten-kommunikation in einem insbesondere industriellen netzwerk, vorrichtung zur durchführung des verfahrens, computerprogramm sowie computerlesbares medium
CN111200472B (zh) * 2018-11-19 2021-11-09 福建天泉教育科技有限公司 新入网设备的数据同步方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365519A (en) * 1991-03-05 1994-11-15 Hitachi, Ltd. ATM switch1ng system connectable to I/O links having different transmission rates
WO1991002420A1 (en) * 1989-08-09 1991-02-21 Alcatel N.V. Communication switching element and method for transmitting variable length cells
CA2094409C (en) * 1992-06-18 1998-07-14 Joshua Seth Auerbach Multicast communication tree creation and control method and apparatus
US5309433A (en) * 1992-06-18 1994-05-03 International Business Machines Corp. Methods and apparatus for routing packets in packet transmission networks
ATE144870T1 (de) * 1993-06-30 1996-11-15 Ibm Programmierbare hochleistungsfähige datenkommunikationsanpassung für hochgeschwindigkeits-paketübertragungsnetzwerke
US5393280A (en) * 1993-07-21 1995-02-28 Haviv; Joseph Swimming exercise and training apparatus

Also Published As

Publication number Publication date
JP3110968B2 (ja) 2000-11-20
EP0676878A1 (en) 1995-10-11
CA2144402A1 (en) 1995-10-15
US5602841A (en) 1997-02-11

Similar Documents

Publication Publication Date Title
JP3110968B2 (ja) 回線アダプタ
JP2682561B2 (ja) プログラマブル回線アダプタ
KR100922654B1 (ko) 패킷 처리용 시스템 및 방법
US5600641A (en) Voice circuit emulation system in a packet switching network
US7170900B2 (en) Method and apparatus for scheduling message processing
US9306757B2 (en) Method and apparatus for distributing routing instructions over multiple interfaces of a data router
US6160811A (en) Data packet router
US6038212A (en) Method and system for optimizing the connection set up time in high speed communication networks for recovering from network failure
CA2249668C (en) Methods and systems for dynamically managing the routing of information over an integrated global communication network
JP2565652B2 (ja) インターネットワーキング・パケット経路指定装置
JP2528626B2 (ja) デ―タ通信方法及び装置
US6219352B1 (en) Queue management with support for multicasts in an asynchronous transfer mode (ATM) switch
US6392996B1 (en) Method and apparatus for frame peeking
JPH08237279A (ja) トラフィック制御装置
EP1225733A2 (en) Bandwidth allocation in ethernet networks
JPH11341069A (ja) 拡張可能な電気通信システムのブリッジ
US6735207B1 (en) Apparatus and method for reducing queuing memory access cycles using a distributed queue structure
US20080107117A1 (en) Efficient Processing of Connection Control Messages in Managing Virtual Circuits Using Signaling Protocols
Cidon et al. The plaNET/ORBIT high speed network
JP2002057719A (ja) 通信スイッチにおけるパケット再組立てのための方法および装置
US20030093555A1 (en) Method, apparatus and system for routing messages within a packet operating system
US20020172221A1 (en) Distributed communication device and architecture for balancing processing of real-time communication applications
Lindgren et al. Fast Connection Establishment in the DTM Gigabit Network.
JP2001007862A (ja) 通信負荷分散方法
Hidell Supporting the Internet Protocols in a High Performance Real-Time Network

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees