JP4334760B2 - ネットワーキングシステム - Google Patents

ネットワーキングシステム Download PDF

Info

Publication number
JP4334760B2
JP4334760B2 JP2000504685A JP2000504685A JP4334760B2 JP 4334760 B2 JP4334760 B2 JP 4334760B2 JP 2000504685 A JP2000504685 A JP 2000504685A JP 2000504685 A JP2000504685 A JP 2000504685A JP 4334760 B2 JP4334760 B2 JP 4334760B2
Authority
JP
Japan
Prior art keywords
packet
memory
data
cell
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.)
Expired - Fee Related
Application number
JP2000504685A
Other languages
English (en)
Other versions
JP2001511575A (ja
Inventor
ライト,ティム
マルコニ,ピーター
コンリン,リチャード
オパルカ,ビグニュー
Original Assignee
ネグザビット・ネットワークス,リミテッド・ライアビリティー・カンパニー
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 ネグザビット・ネットワークス,リミテッド・ライアビリティー・カンパニー filed Critical ネグザビット・ネットワークス,リミテッド・ライアビリティー・カンパニー
Publication of JP2001511575A publication Critical patent/JP2001511575A/ja
Application granted granted Critical
Publication of JP4334760B2 publication Critical patent/JP4334760B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/108ATM switching elements using shared central buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワーキングシステム及びその内部における情報の送出及びルーティングに関し、特に共有メモリへのアクセスの競合や送出及び/又はルーティングの決定に要する時間に起因するシステムの待ち時間の問題に関し、とりわけかかる待ち時間の最小化に関する。
【0002】
【従来の技術】
ネットワーキングシステムにおけるシステム性能に要求される主な要因及び関心事のうちの2つとして、帯域幅能力及びシステム動作待ち時間が一般に挙げられる。帯域幅は、システムを介して伝送できるデータの量を反映し、待ち時間は、データがシステム中に「滞在する」時間の量に関係するものとなる。
【0003】
本発明は、待ち時間の最小化に関するものである。本出願人の「High Performance Universal Multi-Port Pnternally Cached Dynamic Random Access Memory System, Architecture and Method」と題する同時係属中の米国特許出願第581,467号(1995年12月29日出願)では、帯域幅を最大化するための前途有望な解決策が提供されている。
【0004】
ネットワークシステムの待ち時間は、幾つかの要因により決定され、その主な1つが、データパケット又はセルの始まりにおいて制御情報を検査する結果として送出又はルーティングの決定を行うために要する時間の量である。該制御情報は、セル又はパケットを伴うか否かによって異なる。セルの場合には、システム内の出口(egress)インターフェイスに対するセルのマッピングに使用することが可能なVCI/VPI情報に基づいてスイッチング決定が行われる。一方、パケットの場合には、出口インターフェイスに対するパケットのマッピングに使用することが可能なデスティネーション(即ち宛先)アドレスに基づいてルーティング決定が行われる。更に、パケットの場合には、ソース(即ち発信元)アドレスを使用して、複数対のソース/デスティネーションアドレス対に基づく1レベルのフィルタリングを提供することが可能であり、この場合には、どのソース/デスティネーションアドレス対の通信が可能であるかを決定するために多数のルールが設定される。かかるルールに適合しないパケットが受信された場合には、該パケットは破棄される。例えば、典型的には、この種のネットワークにおけるデータは、セルの場合には53byte、パケットの場合には64〜64Kbyteとなる。
【0005】
従来のシステムでは、制御情報の処理は、中央処理装置(CPU)により実行され、セル/パケット全体が受信されるまで開始されない。かかるシステムの待ち時間は、I/Oポートからメモリへのデータの伝送、データの最初に配置された制御情報のアクセス、該制御情報の更新、及びメモリからI/Oポートへのデータの伝送によって決まる。これらの共有メモリへのアクセスの全ての結果として、かなりのバス及びメモリ競合が生じることになり、これにより待ち時間が増大することになる。該待ち時間は、この種のアーキテクチャではかなり重大なものとなる。これは、パケット/セル全体が受信されるまで制御情報の処理を開始することができないからである。待ち時間を増大させることになる他の要因としては、QOS(Quality of Service)及びマルチキャストのサポートが挙げられる。QOSは、各I/Oポート毎に複数の待ち行列を維持することを必要とし、これにより、既に過剰負荷となっているメモリへのアクセス数が増大する。また、マルチキャストは、複数のI/Oポートに対する同一パケット/セルの送信を必要とし、これもまた、過剰負荷となっているメモリへのアクセス数を増大させるものとなる。
【0006】
システムの待ち時間を決定する更に別の要因は、共有メモリのスループットである。共有メモリのスループットがあまり高くない場合、それに従って待ち時間も増大する。一般に、フル帯域幅をサポートするには、メモリのスループットは、ポート速度にポート数を乗じた値の2倍に等しい必要がある。しかし、これは、同一の共有メモリに対して行わなければならない他のアクセス全てを考慮したものではなく、このため、待ち時間を最小限にすると共にシステムを介した高い帯域幅を達成するためには、メモリのスループットを一層高くする必要がある。更に、一層多数のポートが追加され、及び各ポートの速度が増大されると、それに比例して待ち時間が増大する。したがって、共有メモリシステムのスループットの増大は極めて困難な問題となる。
【0007】
後に例証するように、殆どの従来のネットワーキングシステムの動作は、ゼロ又はほぼゼロの待ち時間の達成を許さないものである。一方、本発明によれば、新規のパケット/セルデュアルパスデータ処理及び管理アーキテクチャを用いることにより、結果的に最適に最小化された待ち時間を達成することができる。
【0008】
【発明が解決しようとする課題】
したがって、本発明の目的は、待ち時間を劇的に低減させる、データパケット及び/又はセル等のデュアルパスデータ処理及び管理に関する新規のシステムアーキテクチャ及びその方法を提供することにある。
【0009】
本発明の更なる目的は、待ち時間を最小限にするこの新規の結果を、各パケット/セルの制御情報を処理している間に他のリソースと競合することなく達成することにある。
【0010】
本発明の更なる目的については、以下で説明すると共に、特許請求の範囲に一同詳細に表すこととする。
【0011】
【課題を解決するための手段】
要するに、本発明は、その重要な1つの観点からすれば、CPU又はデータ制御システムに包含されるものであり、この場合、データは共通バスに沿ってインターフェイスされ、該共通バスは、共通メモリと、データパケット/セルの受信及び前記メモリへの書き込み及び該メモリからの除去を行う複数のI/Oモジュールとに接続される。本発明はまた、メモリアクセスの競合及びその結果として生じるシステムの待ち時間を低減させるための方法を包含し、該方法は、各I/Oモジュールに、対応する送出エンジン、送信待ち行列手段、及び該I/Oモジュールにより受信されたパケット/セルから制御情報を抽出して該制御情報を前記送出エンジンに提供するための別個のパスを設け、前記抽出されたパケット/セルの制御情報を前記送出エンジンで処理して、そのデータをメモリに書き込んでいる際にスイッチング、ルーティング、及び/又はフィルタリングの決定を行い、送出エンジンによる処理結果を待ち行列マネージャに送って各パケット/セルの受信待ち行列及び送信待ち行列に対する待ち行列の出し入れを行い、対応するI/Oモジュールの送信待ち行列手段を介して、パケット/セルデータを送信すべき適当な出口I/Oモジュールとのインターフェイスを制御し、その全てを、メモリとの間でのパケット/セルデータの伝送と競合することなく及び該データ伝送とは独立して行う、という各ステップを有するものである。
【0012】
好適でベストモードの構成及び技法について以下に詳述する。
【0013】
【発明の実施の形態】
従来技術による現行ネットワークシステムにおける待ち時間の制限
既述のように、ネットワークシステムと共に使用される典型的なパケット/セル構成では、制御情報は、図1に概略的に示すように、パケットの最初に配置される。既述のように、システム内の出口インターフェイスに対してセルをマッピングするために使用されるVCI/VPI情報に基づくスイッチング決定が示されている。パケットのルーティング決定は、出口インターフェイスに対するパケットのマッピングに使用されるデスティネーションアドレスに基づいて行われる。
【0014】
図2の従来のシステムでは、CPUは、共通バスを介して、メモリアクセス、及び複数のデータ受信及び除去I/Oポート#1,#2等とのインターフェイスを行い、周知のように、様々な点線及び破線は、共有メモリとのインターフェイスパスを示している。上記で指摘したように、共有メモリの様々なアクセスの結果として、かなりの競合が生じて、待ち時間が増大する。パケット/セル全体が受信されるまで制御情報の処理を開始することができないため、この種のアーキテクチャでは、該待ち時間の増大はかなり重大なものとなっている。
【0015】
更に、図3から分かるように、共有メモリへのアクセスが増大すると、競合も増大し、競合が増大すると、システムの待ち時間が増大することになる。図3には(1回の読み出し又は書き込みについてのアクセスタイムがMに等しく、1回のメモリアクセスについてのビット数がWであり)以下の機能が示されている。
【0016】
A.受信ポート#1から共有メモリへのデータ書き込み。1パケット又はセルを伝送するための時間は((B×8)/W)×Mに等しい(Bは1パケット又はセルのバイト数)。パケットが大きくなると、該パケットをメモリへ書き込むための時間も長くなる。
【0017】
B.受信ポート#2から共有メモリへのデータ書き込み。1パケット又はセルを伝送するための時間は((B×8)/W)×Mに等しい(Bは1パケット又はセルのバイト数)。パケットが大きくなると、該パケットをメモリへ書き込むための時間も長くなる。
【0018】
C.ポート#1から共有メモリへ書き込まれたパケット/セルからの制御情報の読み出し。これに要する時間は、読み出すべき制御情報の量によって決まる。該制御情報の量は、典型的には、パケットの場合には約24〜28byte、セルの場合には5byteとなる。読み出すべきバイト数はNに等しく、したがって読み出し時間は((N×8)/W)×Mとなる。他のインターフェイスが同一の共有メモリについて競合するため、ポート#2が現在メモリへデータを書き込んでいることに起因して、該アクセスは一層長いものとなる、ということが理解されよう。これは、ポート#1で受信されたパケット/セルの待ち時間を増大させるものとなる。
【0019】
D.ポート#1から受信されたパケット/セルのバッファアドレスの適当な待ち行列への書き込み。これは典型的には8〜12byteとなる。該待ち行列を更新するための時間は((P×8)/W)×Mとなる(Pは適当な待ち行列に書き込まれるべき待ち行列情報の長さ)。他のインターフェイスが同一の共有メモリについて競合するため、この場合も、該アクセスが一層長い時間を要し、ポート#1で受信されたパケット/セルの待ち時間が増大する。
【0020】
E.どの待ち行列が送信に利用可能なデータを有しているかを判定するための異なる待ち行列の読み出し。これは、ポート#1からのパケット/セルのバッファアドレスが送信可能な状態になるまで多数の待ち行列の読み出しを行うことからなる。読み出される各待ち行列エントリは、典型的には8〜12byteとなる。待ち行列を更新するための時間は(Q+1)(((P×8)/W)×M)となる(Qは最後にパケットが待ち行列から出される前に読み出された待ち行列の数)。この場合も、他のインターフェイスが同一の共有メモリについて競合するため、該アクセスが一層長い時間を要し、ポート#1で受信されたパケット/セルの待ち時間が増大する。
【0021】
F.共有メモリから受信ポート#2へのデータの読み出し。1パケット又はセルを伝送するための時間は((B×8)/W)×Mに等しい(Bは1パケット又はセルのバイト数)。パケットが大きくなると、該パケットをメモリから読み出すための時間も長くなる。
【0022】
勿論、本システムの目標は、待ち時間をゼロ(又はほぼゼロ)にすることにある。待ち時間がゼロになると、出口インターフェイスからメモリへのパケット/セルの書き込みと、該出口インターフェイスに関するメモリからの前記パケット/セルの読み出しとの間の時間がなくなることになる。実際に、出口インターフェイスが決定され、及びパケット/セルがメモリに完全に書き込まれる前にバッファアドレスが待ち行列から出された場合には、競合条件が存在し得る。該競合条件の結果として、メモリへのデータの書き込みが完了する前に該データの読み出しが開始されることになり、これにより不正データが伝送されることになる。共有メモリシステムでは、前述のように、パケット/セルがメモリに完全に書き込まれるまで制御情報や待ち行列を処理することができないため、ゼロ待ち時間を達成することは不可能である。
【0023】
今日の典型的なシステムは、システムの一層高いスループットを提供することによりシステムの待ち時間を低減させようとするものであり、これは、待ち時間の低減に漸進的な利益を提供するものである。しかし、システム内の高いスループットの提供は、コスト及び複雑性を犠牲にすることによってしか達成することができない。ボトムライン(最低のライン即ち損益を示す最低の数字)は、I/Oポートのデータ伝送速度及び密度を増大させることであり、かかるシステムの待ち時間は削減されることはなく、実際には増大する。
図4のタイプのネットワーク
スイッチ、ルータ、ブリッジ、ハブ、ルーティングスイッチ、及びスイッチングルータ等の典型的なネットワーク機器は、図4に示すように、ATM、トークンリング、FDDI、Ehternet、及びSonetといった複数のネットワークと相互接続される。これらのネットワークの相互接続は、システムが受信した各パケット又はセルを参照してどのポートからパケット/セルを送信すべきかを決定するためにCPU又は送出エンジン(FE:Forwarding Engine)を必要とする。既述のように、CPU/FEは、各パケット/セルの最初の部分にアクセスして、該パケット/セルが如何なるタイプのデータであるか、及びそのデスティネーションが何処であるかを判定しなければならない。データ伝送速度及びI/Oポートが増大すると、同一メモリリソースに対する競合も増大し、これにより既述のようにシステムの待ち時間が増大する。待ち時間を低減させるための唯一の解決策は、メモリアクセスタイムの短縮であるが、これはコスト及び複雑性を高めるものとなる。共有メモリシステムの場合、該メモリシステムの性能は、最小限でも、全てのポートの帯域幅の2倍よりも大きくなければならない。例えば、システムがN個のポートを有しており、その各ポートがデータ伝送速度Vを有している場合には、該メモリシステムの総帯域幅は、2NVよりも大きくなければならない。メモリシステムは、制御情報のルックアップ及び修正、並びに考え得る待ち行列の管理及びルーティングテーブルのルックアップ等もサポートしなければならないため、該総帯域幅は2NVよりも大きくなければならない。メモリシステムが2NVよりも大きい総帯域幅を有していなければならないため、これにより、性能のスケーラビリティ(即ち拡張性及び縮小性)が抑制され、その結果として待ち時間の低減におけるスケーラビリティが制限されることになる。
【0024】
QOSを提供する場合には、1ポートにつき多数の待ち行列を維持することが必要となり、該アーキテクチャの結果として、待ち行列のアクセスの競合が増大することに起因して待ち時間が増大することになる。勿論、この場合には、一層高いメモリスループットが必要となり、コスト及び複雑性が増すことになる。
【0025】
また、マルチキャストサポートを提供する場合には、やはり、共有メモリへのアクセス数が劇的に増大し、競合及び待ち時間が大幅に増大し、一層高いスループットのメモリシステムを設計する必要が生じる。
【0026】
また、この種のシステムでは、パケット/セルがメモリに完全に書き込まれるまで制御情報及び待ち行列の処理を開始することができないため、ゼロ待ち時間を達成することも不可能である。
図5のタイプのネットワーク
図5は、図4と類似したものであるが、CPU/FEの前部にヘッダキャッシュが追加されている。パケット/セルは、各インターフェイスで送受信される際に、共有メモリ構造中にリード/ライトされるが、この場合には、該パケットの最初の64byteがヘッダキャッシュ内に「ミラー(mirror)」される。最初の64byteがヘッダキャッシュ中にコピーされ、1セルが53byteであるため、このアーキテクチャは、パケットベースのシステムにのみ適用可能なものとなる。CPU/FEは、パケットの制御情報にアクセスする場合に、実際には共有メモリからではなくヘッダキャッシュからデータを取り出す。これにより、制御情報に対するアクセスのみではあるが、共有メモリに対する競合が低減される。このため、このアーキテクチャは、図4に示す従来のアーキテクチャと比較して漸進的な改善を提供するものとなる。
【0027】
しかし、従来のアーキテクチャの場合のように、メモリシステムは、各ポートについてのスループットの2倍よりも大きいことを依然として必要とする。共有メモリへのデータの書き込み、制御情報の処理、各ポート毎の待ち行列の設定及び維持、及び共有メモリからのデータの読み出しが、依然として一組をなす一連のアクセスとなっている。ポート及びデータ伝送速度が増大すると、それに従って同一の待ち時間を提供するためにメモリスループットをスケーリングする(即ち拡張する)必要がある。これは、コスト及び複雑性を増大させることによってのみ達成することができ、該増大は、コストの制限上実施不能となるポイントに達するものとなる。
【0028】
各ポート毎に多数の待ち行列を維持することを必要とするQOSを提供する場合、このアーキテクチャは、待ち行列にアクセスするための競合の増大に起因して待ち時間を増大させるものとなる。この場合もやはりコスト及び複雑性を増大させるものとなる一層高いメモリスループットが必要となる。
【0029】
マルチキャストサポートを提供する場合には、このアーキテクチャは、共有メモリへのアクセスを増大させ、競合及び待ち時間を大幅に増大させ、より高いスループットのメモリシステムを設計することが必要となる。
【0030】
このシステムの場合も、パケットがメモリ中に完全に書き込まれるまで制御情報及び待ち行列の処理を開始することができないため、ゼロ待ち時間を達成することは不可能である。
図6のタイプのネットワーク
このシステムは、図4のシステムと類似したものである。この図6のシステムにおいて、パケット/セルが受信されると、該パケット/セルは、各I/Oモジュール上のメモリ並びにCPU/FEメモリ内に格納される。CPU/FEによりアクセスすることが可能なメモリ内にデータが受信されると、該CPU/FEが制御情報を読み出してデータのデスティネーションとなるポートを決定する。該ポートが決定されると、それが各I/Oモジュール上に書き込まれて、該データを棄却すべきか維持すべきかが示される。したがって、このアーキテクチャは、CPU/FEメモリに関する幾分かの競合を軽減させ、これにより待ち時間が幾分か低減されるが、その代わりにメインシステムバスに多くの競合が生成される。これは、各I/Oモジュールが他のI/Oモジュールに関するデータをその必要性の有無に関わらず送信しなければならないからである。ポート及びデータ伝送速度が増大すると、CPU/FEモジュールのメモリスループットは、システム中の全ポートのデータ伝送速度よりも大きくなければならない。これは、図4及び図5に示す従来の2つの例と比較してメモリシステムのコスト及び複雑性を低減させるものであるが、あらゆるI/Oモジュール上に一層複雑で高コストの「モジュール」相互接続バス及びメモリを必要とし、このため、システム全体のコスト及び複雑性が増大することになる。コスト及び複雑性を増大させる他の要因として、あらゆるI/Oモジュールが、他のあらゆるI/Oモジュールからのデータを受信することができるよう十分なメモリを有していなければならないことが挙げられる。一般に、I/Oモジュール上のメモリスループットは、前述のように、そのポートのデータ伝送速度の2倍をサポートしていればよく、及びその待ち行列の管理をサポートしていればよい。このアーキテクチャでは、そのポートのデータ伝送速度の2倍及びその待ち行列の管理をサポートしていなければならず、更に、システム内の他のポートの全てのデータ伝送速度、及びこのデータに関する付加的な受信待ち行列の管理をサポートしていなければならない。ポート及びデータ伝送速度が増大すると、それに従って、あらゆるI/Oモジュール及びCPU/FEモジュール上のメモリシステムのスループットが増大しなければならず、このため、この種のアーキテクチャのスケーラビリティが制限されることになる。
【0031】
各ポート毎に多数の待ち行列を維持することを必要とするQOSを提供する場合、このアーキテクチャは、待ち行列にアクセスするための競合の増大に起因して待ち時間を増大させるものとなる。
【0032】
マルチキャストサポートを提供する場合には、このアーキテクチャは、同一のパケットを各I/Oモジュールに同時に送信することができるという点では従来の例よりも良好なものであるが、1回のアクセスでパケット全体を送信することができないため、それに従って待ち時間が増大する。したがって、このアーキテクチャは、待ち時間の幾分かの内部的な低減を提供するものとなるが、これは、一層高いメモリスループット、1I/Oモジュールあたりのコスト及び複雑性の増大という犠牲の下で実現されるものである。
【0033】
更に、このシステムの場合も、パケット/セルがメモリ中に完全に書き込まれるまで制御情報及び待ち行列の処理を開始することができないため、ゼロ待ち時間の達成が不可能となる。
図7のタイプのネットワーク
図7に示すようなクロスバーを用いる場合には、セルは、典型的には入力で処理され、及び該セルがクロスバー内で効率的にスイッチングされることを可能にする内部ヘッダが与えられる。クロスバーは、該内部ヘッダを用いてセルをどの出力ポートにスイッチングすべきかを決定することになる。複数のセルが同一の出力を宛先とする場合には、クロスバー内の出力又は入力において更なるバッファリングが必要となる。殆どのクロスバーアーキテクチャは、セルのみと共に用いられる。これは、かかるアーキテクチャが、単一の出力ポートを宛先とする複数の入力ポートやマルチキャストを含む幾つかの要因に起因するブロック化(blocking)という問題を一般に有するという事実に起因する。パケットが使用される場合、該パケットのサイズは64byteから64,000byteまで変化する可能性があり、これらのブロック化の問題は大きな問題となり、一般に該アーキテクチャを使用不能にするものとなる。
【0034】
入力ポートにおける初期のルックアップは、図4に関して説明した競合の問題を依然として有するものであり、セル全体が受信されるのを待った後にルックアップを実行しなければならず、この場合もシステムの待ち時間が増大する。セルがスイッチ内に入ると、待ち時間は、実施されるクロスバーのタイプによって決まるが、一般には、シリコンベースのクロスバーにおける多数のホップのトラバース(traversing)、又はメモリベースのクロスバーにおける共有メモリに関する競合から構成される。クロスバー内で内部的なブロック化が生じた場合には、更なる待ち時間が生じる可能性がある。
【0035】
QOSを提供する場合には、典型的には入力ポート又は出力ポートの何れかに待ち行列が設けられる。該待ち行列は、あらゆるポートに必要なものではなく、競合及び維持すべき待ち行列の数が低減され、待ち時間もまた低減される。
【0036】
マルチキャストサポートを提供する場合には、典型的にはクロスバー内でセルが複製され、その結果として、内部的に又は出力ポートでブロック化状況が発生し(及び待ち時間が増大し)、また入力ポートでバックプレッシャー(backpressure)が生じ、このため、入力ポートが更なるバッファ空間を提供することが必要となる。ポート及びデータ伝送速度が増大した場合、このアーキテクチャは、スケーリングすることができない。これは、マルチキャストにより、ブロック化の問題が悪化し、システムのコスト及び複雑性が一層増大するからである。
【0037】
このシステムの場合も、パケット/セルがメモリ中に完全に書き込まれるまで制御情報及び待ち行列の処理を開始することができないため、ゼロ待ち時間の達成が不可能となる。
本発明の好適実施例
図8に例示する従来のものとは異なる本発明は、待ち時間を最小限にするようネットワーキングシステムを最適化し、実際に、データ伝送速度及びポート密度が増大された場合でさえ、ゼロ待ち時間を達成することが可能なものである。更に、本発明は、53byteのセル又は64〜64Kbyteのパケットについてもこれを達成する。これは、パケット/セルがメモリに書き込まれている際に該パケット/セルから制御情報を抽出し、及びメモリへのデータの書き込み時にスイッチング、ルーティング、及び/又はフィルタリングの決定を行う送出エンジンFEに前記制御情報を提供することにより、達成される。
【0038】
送出エンジンFEがそのタスクを終えた後、次いで、その結果が、待ち行列に対する出し入れを行うために待ち行列マネージャQMに与えられる。本発明によれば、これら全てが発生するのは、パケット/セルがメモリに完全に書き込まれる前であり、これにより、パケット/セルがメモリに完全に書き込まれた直後にデータの読み出しを開始させることが可能となる。実際に、パケットがメモリに完全に書き込まれる前に該パケットの読み出しを開始させることが可能であるが、これは、これまでメモリからの読み出し時に行うことはできなかった。不正なデータがメモリから読み出されることになるからである。パケット/セルの読み出しの開始が早すぎないことを保証するためには、図8に示すように出口ポートと入口ポートとの間の同期Sが必要となる。これは、送出エンジンFEが、最後のデータがメモリ中にあることを検出し、次いで意図される出口ポートについて待ち行列のアドレス情報を待ち行列マネージャQMに送る場合に達成される。これは、本発明と他の全てのネットワーキングアーキテクチャとの間の重要な相違点である。かかる他のアーキテクチャを用いる場合には、この競合条件は存在せず、したがって、既に指摘したように、それらでゼロ待ち時間を達成することは不可能である。
【0039】
該競合条件を防止するために、出口ポートと入口ポートとの間の同期Sが送出エンジンの出力で実施される(送出エンジンは、パケット/セルがメモリに完全に書き込まれるまで、その出力に結果を保持し、次いで、該結果を一点鎖線のフローラインで示すように待ち行列マネージャに送ることができる)。
【0040】
本発明では制御情報のために別個のパス又はデュアルパスが使用され、このため、各I/Oモジュール(#1〜#n)がそのポートのみについてデータを(該データが送信データであろうと受信データであろうと)処理することが可能となり、これにより、本発明のシステムは、今日の既存のシステムと比較して、必要となるロジックの複雑性がより低下し、一層単純で安価に実施することが可能なものとなる。前述のように、殆どのシステムは、システム内のあらゆるポートのデータ伝送速度の2倍よりも遙かに大きいデータ伝送速度をサポートするために、制御情報を格納するために使用されるメモリアーキテクチャを必要とする。一方、本発明は、そのI/Oモジュール上のあらゆるポートのデータ伝送速度に対する要件を低減させるものとなる(これは著しい低減となる)。本発明はまた、高コストで複雑な解決策を必要とすることなく、システムのポート及びデータ伝送速度の増大を可能にするものである。
【0041】
殆どの他のアーキテクチャでは、既述のように、パケット又はセルを格納するために使用される同一のメモリにアクセスするためにFE及び待ち行列マネージャが必要となり、その結果、待ち時間が増大することになる。これは、FE及び待ち行列マネージャがメモリアクセスに関して各ポートと競合しなければならないからである。しかし、本発明を用いた場合には、FE及び待ち行列マネージャは、制御情報を処理するための別個のパスPを有しており、これにより、それら2つのエンティティが最大限の性能で動作することが可能になり、メモリとの間のパケット/セルの伝送による干渉を受けることもなくなる。これは、実際に、ゼロ待ち時間を達成するために生じなければならないことである。
【0042】
図9から分かるように、本発明のシステムの待ち時間は、制御情報及び待ち行列の処理がメモリへのデータ書き込みから独立して行われる場合には、ゼロへと低減することが可能である。図9において(この場合も、メモリに対する1回の読み出し又は書き込みについてのアクセスタイムはMに等しく、1回のメモリアクセスについてのビット数はWである)、図8に示す本発明のデュアルパス処理により以下の事象が生じ、該図9は、特に前述の図3のA-E動作と対照をなすような形式をとったものである。
【0043】
A.受信ポート#1からメモリへのデータの書き込み。1パケット又はセルを伝送するための時間は((B×8)/W)×Mに等しい(Bは1パケット又はセルのバイト数)。パケットが大きくなると、該パケットをメモリへ書き込むための時間も長くなる。
【0044】
B.受信ポート#2からメモリへのデータの書き込み。1パケット又はセルを伝送するための時間は((C×8)/W)×Mに等しい(Cは1パケット又はセルのバイト数)。パケットが大きくなると、該パケットをメモリへ書き込むための時間も長くなる。
【0045】
C.メモリへのパケット又はセルの書き込み中に該パケット又はセルから制御情報が抽出される。該制御情報の処理は直ちに開始される。この処理の結果は、待ち行列マネージャに与えられる。該制御情報は、パケット/セルのヘッダから抽出されるので、必要となる情報のみが抽出される。これは、典型的には、パケット又はセルについて4〜10byteである。該制御情報の抽出に要する時間の量は((Y×8)/W)×Mとなる。ここで、Yは、制御情報がヘッダ内でまたがるバイト数(典型的には4〜24byte)である。送出エンジンは他の如何なるデバイスとも競合する必要がないので、制御情報の処理の開始時における遅延は全く存在しない、ということが理解されよう。この結果は、受信したばかりのパケット/セルの待ち時間に影響を与えるものではない。
【0046】
D.ポート#1から受信されたパケット/セルのバッファアドレスの適当な出口I/Oモジュールへの送出。該I/Oモジュール上で、待ち行列マネージャがバッファアドレスを適当な待ち行列に入れ、該待ち行列の最上部に現れた際に抽出することになる。この送出結果は典型的には4〜10byteとなる。該結果を待ち行列マネージャに送るための時間は((Z×8)/R)×Sとなる。ここで、Zは送出結果の長さ、Rは該結果をFEから待ち行列マネージャに送るために使用されるバスの幅、及びSは同じバスのクロック速度である。メモリとの間でのパケット/セルの伝送は送出結果の送信に干渉しないものであることが理解されよう。この結果は、受信したばかりのパケット/セルの待ち時間に影響を与えるものではない。
【0047】
E.どの待ち行列が送信に利用可能なデータを有しているかを判定するための異なる待ち行列の読み出し。これは、ポート#1からのパケット/セルのバッファアドレスが送信可能な状態になるまで多数の待ち行列の読み出しを行うことからなる。読み出される各待ち行列エントリは典型的には8〜12byteとなる。待ち行列を更新するための時間は(F+1)(((P×8)/R)×S)となる(Fは最後にパケットが待ち行列から出される前に読み出された待ち行列の数)。待ち行列は分散され、読み出すべき待ち行列の数は、特定のI/Oモジュール(システム全体ではない)をサポートするための待ち行列の数まで低減される。これは、異なる待ち行列をスキャンするために要する時間量を低減させ、したがってゼロ待ち時間の達成を支援するものとなる。メモリとの間でのパケット/セルの伝送は、待ち行列からのバッファアドレスの取り出しに干渉しないものであることが理解されよう。この結果は、受信したばかりのパケット/セルの待ち時間に影響を与えるものではない。
【0048】
F.メモリから受信ポート#2へのデータの読み出し。1パケット又はセルを伝送するための時間は((B×8)/W)×Mに等しい(Bは1パケット又はセルのバイト数)。パケットが大きくなると、該パケットをメモリから読み出すための時間も長くなる。
【0049】
前述のように1ポートにつき多数の待ち行列を維持することを必要とするQOSを提供する場合には、本アーキテクチャは、待ち行列マネージャをN個の独立したサブ待ち行列マネージャへと分割することを可能にする。この場合、各サブ待ち行列マネージャは、関連するI/Oモジュールについて待ち行列を処理することを責務とするものとなる。これにより、システムのポート及びデータ伝送速度が増大された場合に拡張することが可能な単純で安価な実施態様が可能となり、これもまた、システムのゼロ待ち時間の達成を可能にするものとなる。
【0050】
また、マルチキャストサポートを提供する場合には、本発明のアーキテクチャは、単純で安価な実施態様を用いることができるように送出及び待ち行列の決定を行うために必要となる最小限の量の情報を送るという点で最適な解決策を提供するものとなる。待ち行列マネージャが「サブ待ち行列マネージャ」から構成されるため、マルチキャスト情報を各サブ待ち行列マネージャへ同時に与えることができ、これにより、競合が排除され、ゼロ待ち時間が達成される。
【0051】
したがって、本発明は、待ち時間を最小限にするための最適な解決策を提供し、該解決策は、ポート及びデータ伝送速度の増大に伴って拡張可能である一方、単純で安価な実施形態しか必要としないものとなる。
【0052】
本発明の最終的な結果は、送出エンジンは、各パケット/セルの制御情報を処理する際に他のリソースと競合する必要がない、ということであり、実際に、送出エンジンは、そのI/Oモジュール内のデータを処理するだけでよく、一層単純で複雑性の低いものとすることができる。待ち行列マネージャもまた、各パケット/セルの待ち行列の送受信を行う処理する際に他のリソースと競合する必要がなく、実際に、待ち行列マネージャは、そのI/Oモジュール内のデータを処理するだけでよく、やはり一層単純で複雑性の低いものとすることが可能となる。
【0053】
更に、本発明の場合には、データと制御情報との間に競合が存在せず、待ち行列が効率的に処理され、並びにマルチキャストサポートが提供される。本最終的な結果は、待ち時間を劇的に低減させるアーキテクチャとなる。本発明を前記の同時係属中の米国特許出願第581,467号の帯域幅最適化構造と組み合わせると、最適帯域幅及び最小待ち時間を有するネットワークが得られることになる。
【0054】
当業者であれば更なる修正例を実施することが可能であり、かかる実施は、特許請求の範囲に係る本発明の思想及び範囲内に含まれるものである。
【図面の簡単な説明】
【図1】 従来の典型的なパケット/セル構造及び現行のネットワーキングシステムを示すブロック図である。
【図2】 例示としての典型的な従来のネットワーク中のシステムを示す同様のブロック図である。
【図3】 競合が如何にして待ち時間を生成するかを示す説明図である。
【図4】 典型的な従来の多数のI/Oポートを有する共有メモリシステムを示すブロック図である。
【図5】 「ヘッダ」キャッシュを有する修正された共有メモリシステムを示すブロック図である。
【図6】 従来の典型的な分散型メモリシステム及び現行のネットワーキングシステムを示す同様のブロック図である。
【図7】 ネットワーキングシステムで使用される典型的なクロスバーシステムを示すブロック図である。
【図8】 本発明の好適なパケット/セルデュアルパスデータ処理及び管理アーキテクチャを示すブロック図である。
【図9】 本発明により如何に待ち時間が低減されるかを示す説明図である。

Claims (20)

  1. 共通メモリと、パケット/セルの受信、前記共通メモリへのパケット/セルの書き込み、及び該共通メモリからのパケット/セルの除去を行う複数のI/Oモジュールとに接続された共通バスを介してデータがインターフェイスされる、データ制御システムにおいて、メモリ及びバスアクセスの競合及びその結果として生じるシステムの待ち時間を低減させるための方法であって、該方法が、各I/Oモジュール(#1-#n)により受信されたパケット/セルからの制御情報の抽出及び該制御情報の送出エンジン(FE)への提供を別個のパスを介して行い、パケット/セルの前記抽出された制御情報を前記送出エンジン(FE)で処理して、そのデータがメモリに書き込まれている間にスイッチング、ルーティング、及び/又はフィルタリングの決定を行い、該送出エンジンによる処理結果を待ち行列マネージャ(QM)に送って各パケット/セルの受信待ち行列及び送信待ち行列に対する待ち行列の出し入れを行い、対応するI/Oモジュールの送信待ち行列手段を介して、共通メモリとパケット/セルデータを送信すべき適当な出口I/Oモジュールとのインターフェイスを制御し、その全てを、メモリとの間でのパケット/セルデータの伝送と競合することなく及び該データ伝送とは独立して行う、という各ステップを有する、システムの待ち時間を低減させるための方法。
  2. 前記制御情報がパケット/セルデータのヘッダから抽出され、そのバッファアドレス情報が待ち行列マネージャ(QM)により処理される、請求項1に記載の方法。
  3. パケット/セルデータがメモリに完全に書き込まれる前に前記送出エンジンの結果が前記待ち行列マネージャ(QM)に送られ、これによりパケット/セルデータがメモリに完全に書き込まれた直後にデータの読み出しを開始させることが可能となる、請求項2に記載の方法。
  4. 前記パケット/セルデータの読み出しが、該データがメモリに完全に書き込まれる前に開始される、請求項2に記載の方法。
  5. データ入口とデータ出口との間で同期を行って、パケット/セルの読み出しの開始が早すぎないことを確実にする、請求項4に記載の方法。
  6. 前記送出エンジン(FE)が、全てのパケット/セルデータがメモリへ書き込まれたことが検出された際に、その処理結果を前記待ち行列マネージャ(QE)に送る、請求項5に記載の方法。
  7. 受信したパケット/セルのバッファアドレスが適当な出口I/Oモジュールに送られる、請求項2に記載の方法。
  8. 待ち行列が分散され、前記待ち行列マネージャ(QM)により読み出される待ち行列の数が、システム全体ではなく特定のI/Oモジュールをサポートするのに必要な待ち行列の数まで低減される、請求項7に記載の方法。
  9. 各I/Oポート毎に多数の待ち行列が維持され、前記待ち行列マネージャ(QM)が複数の独立したサブ待ち行列マネージャへと分割され、その各サブ待ち行列マネージャがそれに関連するI/Oモジュールの待ち行列を処理する、請求項7に記載の方法。
  10. マルチキャスト情報が各サブ待ち行列マネージャへ同時に供給される、請求項9に記載の方法。
  11. CPU又はそれに類似したデータ制御システムにおけるメモリ及びバスアクセスの競合及びその結果として生じるシステムの待ち時間を低減させるための装置であって、共通メモリと、パケット/セルデータの受信、前記共通メモリへのパケット/セルデータの書き込み、及び該共通メモリからのパケット/セルデータの除去を行う複数のI/Oモジュール(#1-#n)とに接続された共通バスを介してデータがインターフェイスされ、該装置が、前記I/Oモジュールにそれぞれ配設された複数の送出エンジン(FE)及び送信待ち行列手段と、前記I/Oモジュールにより受信されたパケット/セルから制御情報を抽出して該制御情報を前記送出エンジン(FE)に提供するための別個のパスとを備えており、前記送出エンジン(FE)の各々が、対応するI/Oモジュールにより受信されたパケット/セルから抽出された制御情報を処理して、そのデータがメモリに書き込まれている間にスイッチング、ルーティング、及び/又はフィルタリングの決定を行い、該装置が更に、前記送出エンジン(FE)による処理結果を待ち行列マネージャ(QM)に送って各パケット/セルの受信待ち行列及び送信待ち行列に対する待ち行列の出し入れを行う手段であって、対応するI/Oモジュールの送信待ち行列手段を介して、共通メモリとパケット/セルデータを送信すべき適当な出口I/Oモジュールとのインターフェイスを制御し、その全てを、メモリとの間でのパケット/セルデータの伝送と競合することなく及び該データ伝送とは独立して行う手段を備えている、システムの待ち時間を低減させるための装置。
  12. 前記制御情報がパケット/セルデータのヘッダから抽出される、請求項11に記載の装置。
  13. 前記送出エンジン(FE)が、前記待ち行列マネージャ(QM)にバッファアドレス情報を提供する、請求項12に記載の装置。
  14. パケット/セルデータがメモリに完全に書き込まれる前に前記送出エンジン(FE)の結果を前記待ち行列マネージャ(QM)に送る手段を備えており、これによりパケット/セルデータがメモリに完全に書き込まれた直後にデータの読み出しを開始させることが可能となる、請求項13に記載の装置。
  15. パケット/セルデータがメモリに完全に書き込まれる前に該データの読み出しを開始させる手段を備えている、請求項13に記載の装置。
  16. データ入口とデータ出口との間で同期を行ってパケット/セルの読み出しの開始が早すぎないことを確実にする手段を備えている、請求項15に記載の装置。
  17. パケット/セルデータの最後のビットがメモリへ書き込まれたことが検出された際に前記送出エンジン(FE)にその処理結果を前記待ち行列マネージャ(QM)へ送らせる手段を備えている、請求項16に記載の装置。
  18. 受信したパケット/セルのバッファアドレスが適当な出口I/Oモジュールに送られる、請求項13に記載の装置。
  19. 待ち行列が分散され、前記待ち行列マネージャ(QM)により読み出される待ち行列の数が、システム全体ではなく特定のI/Oモジュールをサポートするのに必要な待ち行列の数まで低減される、請求項18に記載の装置。
  20. 各I/Oポート毎に多数の待ち行列が維持され、前記待ち行列マネージャ(QM)が複数の独立したサブ待ち行列マネージャへと分割され、その各サブ待ち行列マネージャがそれに関連するI/Oモジュールの待ち行列を処理する、請求項18に記載の装置。
JP2000504685A 1997-07-25 1998-07-21 ネットワーキングシステム Expired - Fee Related JP4334760B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/900,757 1997-07-25
US08/900,757 US5918074A (en) 1997-07-25 1997-07-25 System architecture for and method of dual path data processing and management of packets and/or cells and the like
PCT/IB1998/001117 WO1999005826A1 (en) 1997-07-25 1998-07-21 Networking systems

Publications (2)

Publication Number Publication Date
JP2001511575A JP2001511575A (ja) 2001-08-14
JP4334760B2 true JP4334760B2 (ja) 2009-09-30

Family

ID=25413044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000504685A Expired - Fee Related JP4334760B2 (ja) 1997-07-25 1998-07-21 ネットワーキングシステム

Country Status (10)

Country Link
US (1) US5918074A (ja)
EP (1) EP1016246B1 (ja)
JP (1) JP4334760B2 (ja)
CN (1) CN1151639C (ja)
AU (1) AU738983B2 (ja)
CA (1) CA2297650C (ja)
DE (1) DE69820084T2 (ja)
HK (1) HK1031058A1 (ja)
IL (1) IL134221A (ja)
WO (1) WO1999005826A1 (ja)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6160811A (en) * 1997-09-12 2000-12-12 Gte Internetworking Incorporated Data packet router
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
US6138219A (en) * 1998-03-27 2000-10-24 Nexabit Networks Llc Method of and operating architectural enhancement for multi-port internally cached dynamic random access memory (AMPIC DRAM) systems, eliminating external control paths and random memory addressing, while providing zero bus contention for DRAM access
WO2000003522A1 (en) * 1998-07-08 2000-01-20 Broadcom Corporation A method of sending packets between trunk ports of network switches
US6430188B1 (en) * 1998-07-08 2002-08-06 Broadcom Corporation Unified table for L2, L3, L4, switching and filtering
US6876653B2 (en) * 1998-07-08 2005-04-05 Broadcom Corporation Fast flexible filter processor based architecture for a network device
US6272567B1 (en) * 1998-11-24 2001-08-07 Nexabit Networks, Inc. System for interposing a multi-port internally cached DRAM in a control path for temporarily storing multicast start of packet data until such can be passed
US6765911B1 (en) * 1999-02-03 2004-07-20 International Business Machines Corporation Communications adapter for implementing communications in a network and providing multiple modes of communications
US6498782B1 (en) 1999-02-03 2002-12-24 International Business Machines Corporation Communications methods and gigabit ethernet communications adapter providing quality of service and receiver connection speed differentiation
US7120117B1 (en) 2000-08-29 2006-10-10 Broadcom Corporation Starvation free flow control in a shared memory switching device
US6952401B1 (en) * 1999-03-17 2005-10-04 Broadcom Corporation Method for load balancing in a network switch
US7366171B2 (en) * 1999-03-17 2008-04-29 Broadcom Corporation Network switch
EP1161817B1 (en) 1999-03-17 2006-10-25 Broadcom Corporation Network switch
US7643481B2 (en) 1999-03-17 2010-01-05 Broadcom Corporation Network switch having a programmable counter
AU5586400A (en) * 1999-05-21 2000-12-12 Broadcom Corporation Stacked network switch configuration
US7031302B1 (en) 1999-05-21 2006-04-18 Broadcom Corporation High-speed stats gathering in a network switch
US6813268B1 (en) 1999-05-21 2004-11-02 Broadcom Corporation Stacked network switch configuration
US6879588B1 (en) 1999-05-21 2005-04-12 Broadcom Corporation Address resolution snoop support for CPU
US6842457B1 (en) * 1999-05-21 2005-01-11 Broadcom Corporation Flexible DMA descriptor support
US7295552B1 (en) * 1999-06-30 2007-11-13 Broadcom Corporation Cluster switching architecture
US6859454B1 (en) 1999-06-30 2005-02-22 Broadcom Corporation Network switch with high-speed serializing/deserializing hazard-free double data rate switching
US7315552B2 (en) * 1999-06-30 2008-01-01 Broadcom Corporation Frame forwarding in a switch fabric
WO2001019040A1 (en) * 1999-09-03 2001-03-15 Broadcom Corporation Apparatus and method for enabling voice over ip support for a network switch
US7143294B1 (en) 1999-10-29 2006-11-28 Broadcom Corporation Apparatus and method for secure field upgradability with unpredictable ciphertext
US7131001B1 (en) 1999-10-29 2006-10-31 Broadcom Corporation Apparatus and method for secure filed upgradability with hard wired public key
US7539134B1 (en) 1999-11-16 2009-05-26 Broadcom Corporation High speed flow control methodology
EP1232604B1 (en) * 1999-11-16 2003-10-15 Broadcom Corporation Method and network switch with data serialization using hazard-free multilevel glitchless multiplexing
US7593953B1 (en) 1999-11-18 2009-09-22 Broadcom Corporation Table lookup mechanism for address resolution
AU2066201A (en) 1999-12-07 2001-06-18 Broadcom Corporation Mirroring in a stacked network switch configuration
US6463067B1 (en) * 1999-12-13 2002-10-08 Ascend Communications, Inc. Submission and response architecture for route lookup and packet classification requests
US7009973B2 (en) * 2000-02-28 2006-03-07 Broadcom Corporation Switch using a segmented ring
US6810031B1 (en) 2000-02-29 2004-10-26 Celox Networks, Inc. Method and device for distributing bandwidth
US6678678B2 (en) 2000-03-09 2004-01-13 Braodcom Corporation Method and apparatus for high speed table search
US7103053B2 (en) * 2000-05-03 2006-09-05 Broadcom Corporation Gigabit switch on chip architecture
US7111053B1 (en) 2000-05-20 2006-09-19 Ciena Corporation Template-driven management of telecommunications network via utilization of operations support services clients
US7266595B1 (en) 2000-05-20 2007-09-04 Ciena Corporation Accessing network device data through user profiles
US6880086B2 (en) 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US7225244B2 (en) 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US7143153B1 (en) 2000-11-09 2006-11-28 Ciena Corporation Internal network device dynamic health monitoring
US7240364B1 (en) 2000-05-20 2007-07-03 Ciena Corporation Network device identity authentication
US7222147B1 (en) 2000-05-20 2007-05-22 Ciena Corporation Processing network management data in accordance with metadata files
US6934749B1 (en) 2000-05-20 2005-08-23 Ciena Corporation Tracking distributed data retrieval in a network device
US6639910B1 (en) 2000-05-20 2003-10-28 Equipe Communications Corporation Functional separation of internal and external controls in network devices
US6671699B1 (en) 2000-05-20 2003-12-30 Equipe Communications Corporation Shared database usage in network devices
US7349960B1 (en) 2000-05-20 2008-03-25 Ciena Corporation Throttling distributed statistical data retrieval in a network device
US7054272B1 (en) 2000-07-11 2006-05-30 Ciena Corporation Upper layer network device including a physical layer test port
US7039046B1 (en) 2000-05-20 2006-05-02 Ciena Corporation Network device including central and distributed switch fabric subsystems
US6658579B1 (en) 2000-05-20 2003-12-02 Equipe Communications Corporation Network device with local timing systems for automatic selection between redundant, synchronous central timing systems
US6930890B1 (en) 2000-05-20 2005-08-16 Ciena Corporation Network device including reverse orientated modules
US6654903B1 (en) 2000-05-20 2003-11-25 Equipe Communications Corporation Vertical fault isolation in a computer system
US7225240B1 (en) 2000-05-20 2007-05-29 Ciena Corporation Decoupling processes from hardware with logical identifiers
US6876652B1 (en) 2000-05-20 2005-04-05 Ciena Corporation Network device with a distributed switch fabric timing system
US6332198B1 (en) 2000-05-20 2001-12-18 Equipe Communications Corporation Network device for supporting multiple redundancy schemes
US6708291B1 (en) 2000-05-20 2004-03-16 Equipe Communications Corporation Hierarchical fault descriptors in computer systems
US7130870B1 (en) 2000-05-20 2006-10-31 Ciena Corporation Method for upgrading embedded configuration databases
US6742134B1 (en) 2000-05-20 2004-05-25 Equipe Communications Corporation Maintaining a local backup for data plane processes
US6715097B1 (en) 2000-05-20 2004-03-30 Equipe Communications Corporation Hierarchical fault management in computer systems
US7020696B1 (en) 2000-05-20 2006-03-28 Ciena Corp. Distributed user management information in telecommunications networks
US6601186B1 (en) 2000-05-20 2003-07-29 Equipe Communications Corporation Independent restoration of control plane and data plane functions
US7051097B1 (en) 2000-05-20 2006-05-23 Ciena Corporation Embedded database for computer system management
US6868092B1 (en) 2000-05-20 2005-03-15 Ciena Corporation Network device with embedded timing synchronization
US7062642B1 (en) * 2000-05-20 2006-06-13 Ciena Corporation Policy based provisioning of network device resources
US6826561B2 (en) * 2000-05-22 2004-11-30 Broadcom Corporation Method and apparatus for performing a binary search on an expanded tree
EP1162788B1 (en) * 2000-06-09 2012-11-21 Broadcom Corporation Trunking and mirroring across stacked gigabit switches
US7088713B2 (en) 2000-06-19 2006-08-08 Broadcom Corporation Switch fabric with memory management unit for improved flow control
US7126947B2 (en) * 2000-06-23 2006-10-24 Broadcom Corporation Switch having external address resolution interface
US6999455B2 (en) * 2000-07-25 2006-02-14 Broadcom Corporation Hardware assist for address learning
US7330877B2 (en) * 2000-09-18 2008-02-12 Sharp Laboratories Of America Devices, softwares and methods for rescheduling multi-party sessions upon premature termination of session
US7227862B2 (en) * 2000-09-20 2007-06-05 Broadcom Corporation Network switch having port blocking capability
US7420977B2 (en) * 2000-10-03 2008-09-02 Broadcom Corporation Method and apparatus of inter-chip bus shared by message passing and memory access
US7020166B2 (en) * 2000-10-03 2006-03-28 Broadcom Corporation Switch transferring data using data encapsulation and decapsulation
US7274705B2 (en) 2000-10-03 2007-09-25 Broadcom Corporation Method and apparatus for reducing clock speed and power consumption
US6988177B2 (en) * 2000-10-03 2006-01-17 Broadcom Corporation Switch memory management using a linked list structure
US6851000B2 (en) * 2000-10-03 2005-02-01 Broadcom Corporation Switch having flow control management
US7120155B2 (en) * 2000-10-03 2006-10-10 Broadcom Corporation Switch having virtual shared memory
US7424012B2 (en) * 2000-11-14 2008-09-09 Broadcom Corporation Linked network switch configuration
US6850542B2 (en) * 2000-11-14 2005-02-01 Broadcom Corporation Linked network switch configuration
US7035255B2 (en) * 2000-11-14 2006-04-25 Broadcom Corporation Linked network switch configuration
US7035286B2 (en) * 2000-11-14 2006-04-25 Broadcom Corporation Linked network switch configuration
US6647443B1 (en) * 2000-12-28 2003-11-11 Intel Corporation Multi-queue quality of service communication device
US7042843B2 (en) * 2001-03-02 2006-05-09 Broadcom Corporation Algorithm for time based queuing in network traffic engineering
US6976072B2 (en) * 2001-03-30 2005-12-13 Sharp Laboratories Of America, Inc. Method and apparatus for managing job queues
US7263597B2 (en) 2001-04-19 2007-08-28 Ciena Corporation Network device including dedicated resources control plane
US20020184381A1 (en) * 2001-05-30 2002-12-05 Celox Networks, Inc. Method and apparatus for dynamically controlling data flow on a bi-directional data bus
US7187685B2 (en) * 2001-08-09 2007-03-06 International Business Machines Corporation Multi-module switching system
US7274692B1 (en) * 2001-10-01 2007-09-25 Advanced Micro Devices, Inc. Method and apparatus for routing packets that have multiple destinations
US7221678B1 (en) * 2001-10-01 2007-05-22 Advanced Micro Devices, Inc. Method and apparatus for routing packets
US7295563B2 (en) * 2001-10-01 2007-11-13 Advanced Micro Devices, Inc. Method and apparatus for routing packets that have ordering requirements
US7355970B2 (en) * 2001-10-05 2008-04-08 Broadcom Corporation Method and apparatus for enabling access on a network switch
US7283538B2 (en) * 2001-10-12 2007-10-16 Vormetric, Inc. Load balanced scalable network gateway processor architecture
US20030074473A1 (en) * 2001-10-12 2003-04-17 Duc Pham Scalable network gateway processor architecture
US7424019B1 (en) * 2001-11-27 2008-09-09 Marvell Israel (M.I.S.L) Ltd. Packet header altering device
US20030105830A1 (en) * 2001-12-03 2003-06-05 Duc Pham Scalable network media access controller and methods
KR100428773B1 (ko) * 2002-01-21 2004-04-28 삼성전자주식회사 라우터 시스템과 이를 이용한 포워딩 엔진 이중화 방법
US7197553B2 (en) * 2002-04-19 2007-03-27 Nortel Networks Limited Network system having a virtual-service-module
US7804785B2 (en) * 2002-04-19 2010-09-28 Avaya Inc. Network system having an instructional sequence for performing packet processing and optimizing the packet processing
US7246178B2 (en) * 2002-05-07 2007-07-17 Nortel Networks Limited Methods and systems for changing a topology of a network
US7386628B1 (en) 2002-05-08 2008-06-10 Nortel Networks Limited Methods and systems for processing network data packets
JP2005527030A (ja) * 2002-05-24 2005-09-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ストール機能を有する疑似マルチポートデータメモリ
US6678828B1 (en) * 2002-07-22 2004-01-13 Vormetric, Inc. Secure network file access control system
US7334124B2 (en) * 2002-07-22 2008-02-19 Vormetric, Inc. Logical access block processing protocol for transparent secure file storage
US6931530B2 (en) 2002-07-22 2005-08-16 Vormetric, Inc. Secure network file access controller implementing access control and auditing
US6754744B2 (en) 2002-09-10 2004-06-22 Broadcom Corporation Balanced linked lists for high performance data buffers in a network device
JP4023281B2 (ja) * 2002-10-11 2007-12-19 株式会社日立製作所 パケット通信装置及びパケットスイッチ
US20040114536A1 (en) * 2002-10-16 2004-06-17 O'rourke Aidan Method for communicating information on fast and slow paths
US7143288B2 (en) * 2002-10-16 2006-11-28 Vormetric, Inc. Secure file system server architecture and methods
JP4157403B2 (ja) * 2003-03-19 2008-10-01 株式会社日立製作所 パケット通信装置
US8103800B2 (en) * 2003-06-26 2012-01-24 Broadcom Corporation Method and apparatus for multi-chip address resolution lookup synchronization in a network environment
US7697432B2 (en) * 2003-06-27 2010-04-13 Broadcom Corporation Equal and weighted cost multipath load balancing in a network device
US7904584B2 (en) * 2004-02-12 2011-03-08 Broadcom Corporation Source identifier-based trunking for systems of network devices
JP4008911B2 (ja) * 2004-09-29 2007-11-14 株式会社東芝 制御装置
US20060114907A1 (en) * 2004-11-30 2006-06-01 Broadcom Corporation Cut-through switching in a network device
EP1847071A4 (en) 2005-01-26 2010-10-20 Internet Broadcasting Corp B V MULTI-DIFFUSION IN LAYERS AND EXACT ATTRIBUTION OF BANDWIDTH AND PRIORIZATION OF PACKETS
US8228932B2 (en) * 2005-02-18 2012-07-24 Broadcom Corporation Layout architecture for expandable network device
US20060294317A1 (en) * 2005-06-22 2006-12-28 Berke Stuart A Symmetric multiprocessor architecture with interchangeable processor and IO modules
JP4974078B2 (ja) * 2007-07-26 2012-07-11 Necアクセステクニカ株式会社 データ処理装置
WO2010052892A1 (ja) * 2008-11-04 2010-05-14 株式会社オートネットワーク技術研究所 通信装置、中継装置、通信システム及び通信方法
CN102582269A (zh) * 2012-02-09 2012-07-18 珠海天威技术开发有限公司 存储芯片及其数据通讯方法、耗材容器、成像设备
US11275632B2 (en) 2018-09-14 2022-03-15 Advanced Micro Devices, Inc. Broadcast command and response
CN113010173A (zh) 2019-12-19 2021-06-22 超威半导体(上海)有限公司 并行处理中矩阵数据广播的方法
CN113094099A (zh) 2019-12-23 2021-07-09 超威半导体(上海)有限公司 矩阵数据广播架构
US11403221B2 (en) 2020-09-24 2022-08-02 Advanced Micro Devices, Inc. Memory access response merging in a memory hierarchy

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313582A (en) * 1991-04-30 1994-05-17 Standard Microsystems Corporation Method and apparatus for buffering data within stations of a communication network
US5715407A (en) * 1992-03-06 1998-02-03 Rambus, Inc. Process and apparatus for collision detection on a parallel bus by monitoring a first line of the bus during even bus cycles for indications of overlapping packets
US5309432A (en) * 1992-05-06 1994-05-03 At&T Bell Laboratories High-speed packet switch
JPH07321815A (ja) * 1994-05-24 1995-12-08 Nec Corp 共有バッファ型atmスイッチおよびその同報制御方法
DE59507871D1 (de) * 1994-07-12 2000-04-06 Ascom Ag Vorrichtung zur Vermittlung in digitalen Datennetzen für asynchronen Transfermodus
US5513134A (en) * 1995-02-21 1996-04-30 Gte Laboratories Incorporated ATM shared memory switch with content addressing
US5752078A (en) * 1995-07-10 1998-05-12 International Business Machines Corporation System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US5799209A (en) * 1995-12-29 1998-08-25 Chatter; Mukesh Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration

Also Published As

Publication number Publication date
IL134221A0 (en) 2001-04-30
WO1999005826A1 (en) 1999-02-04
US5918074A (en) 1999-06-29
EP1016246B1 (en) 2003-11-26
EP1016246A1 (en) 2000-07-05
DE69820084D1 (de) 2004-01-08
DE69820084T2 (de) 2004-09-02
CN1151639C (zh) 2004-05-26
CA2297650A1 (en) 1999-02-04
HK1031058A1 (en) 2001-05-25
CN1267418A (zh) 2000-09-20
IL134221A (en) 2004-06-01
CA2297650C (en) 2007-11-27
AU738983B2 (en) 2001-10-04
AU8236698A (en) 1999-02-16
JP2001511575A (ja) 2001-08-14

Similar Documents

Publication Publication Date Title
JP4334760B2 (ja) ネットワーキングシステム
JP2622055B2 (ja) パケット交換装置およびその制御方法
JP3789395B2 (ja) パケット処理装置
EP0680173B1 (en) Multicasting apparatus
US6147999A (en) ATM switch capable of routing IP packet
KR100664778B1 (ko) 원격 통신 스위칭 네트워크 구조 소자
EP0680179B1 (en) Multicasting apparatus
CA2015514C (en) Packet switching system having bus matrix switch
US20040151197A1 (en) Priority queue architecture for supporting per flow queuing and multiple ports
US7859999B1 (en) Memory load balancing for single stream multicast
JP2002501311A (ja) ネットワークキングシステム
US5825774A (en) Packet characterization using code vectors
US6735207B1 (en) Apparatus and method for reducing queuing memory access cycles using a distributed queue structure
US6643294B1 (en) Distributed control merged buffer ATM switch
US5748633A (en) Method and apparatus for the concurrent reception and transmission of packets in a communications internetworking device
US7733888B2 (en) Pointer allocation by prime numbers
JP4209186B2 (ja) パケットの高速ルーティング及びスイッチングに対するメモリ要件を低減するように構成されたプロセッサ
US7505422B1 (en) Preference programmable first-one detector and quadrature based random grant generator
JP2002344514A (ja) マルチキャスト方法及びマルチキャスト装置
JP2000261438A (ja) フレームデータ交換装置及び方法
WO2002003206A2 (en) Multientity queue pointer chain tehnique
KR100429907B1 (ko) 유니캐스트 패킷과 멀티캐스트 패킷 서비스를 위한 라우터및 라우팅 방법
JP2001024702A (ja) パケット多重装置及び多重方法
JP2001086124A (ja) 待ち行列内で待っているatmセルを選択する方法および回路装置
WO1996005558A1 (en) A network switch

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040726

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061003

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061228

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070403

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080702

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081010

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090526

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090624

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130703

Year of fee payment: 4

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

LAPS Cancellation because of no payment of annual fees