JP2002520907A - ネットワークでのパケット交換のためのシステム及び方法 - Google Patents

ネットワークでのパケット交換のためのシステム及び方法

Info

Publication number
JP2002520907A
JP2002520907A JP2000558635A JP2000558635A JP2002520907A JP 2002520907 A JP2002520907 A JP 2002520907A JP 2000558635 A JP2000558635 A JP 2000558635A JP 2000558635 A JP2000558635 A JP 2000558635A JP 2002520907 A JP2002520907 A JP 2002520907A
Authority
JP
Japan
Prior art keywords
packet
module
data
address
metadata
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000558635A
Other languages
English (en)
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 JP2002520907A publication Critical patent/JP2002520907A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/153ATM switching fabrics having parallel switch planes
    • H04L49/1538Cell slicing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/108ATM switching elements using shared central buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/111Switch interfaces, e.g. port details
    • 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/113Arrangements for redundant switching, e.g. using parallel planes
    • H04L49/118Address processing within a device, e.g. using internal ID or tags for routing within a switch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/255Control mechanisms for ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/606Hybrid ATM switches, e.g. ATM&STM, ATM&Frame Relay or ATM&IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1523Parallel switch fabric planes
    • 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/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching

Landscapes

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

Abstract

(57)【要約】 パケットを転送するスイッチングノードであって、各パケットがネットワーク上の宛先アドレスを含み、スイッチングノードが複数の入力ポートモジュールと、複数の出力ポートモジュールと、スイッチング機構とを含み、このスイッチング機構がパケットメタデータプロセッサとパケットスイッチとを含む。各入力ポートモジュールは、パケットを受信するための通信リンクに接続され、各出力ポートモジュールは、パケットを送信するための通信リンクに接続されている。各入力ポートモジュールは、パケットを受信する際に、パケットをバッファしてメタデータパケットを生成し、これによりパケットを送出する出力ポートモジュール及びパケット識別情報を識別して、パケットメタデータプロセッサに出力する。パケットメタデータプロセッサは、すべての入力ポートモジュールで生成されたメタデータパケットを受信し、すべての出力ポートモジュールから処理ステータス情報を受信し、そして、すべての入力ポートモジュールから受信したメタデータパケットを処理ステータス情報との関連において処理し、各出力ポートモジュールに対し、そのパケットがパス又はドロップされるべきか否かを判断する。もし、パケットメタデータプロセッサがそのメタデータパケットに対応するパケットがドロップされるべきと判断すると、そのパケットがバッファされている入力ポートに対してそれが通知され、パケットが破棄される。一方、パケットがパケットメタデータプロセッサがそのメタデータパケットに対応するパケットがドロップされるべきでないと判断すると、対応する出力ポートモジュールのキューにそのメタデータパケットが投入される。各出力ポートモジュールは、メタデータパケットを、パケットメタデータプロセッサにより管理される対応するメタデータパケットキューから取得する。出力ポートモジュールにより取得されたメタデータパケットの各々について、その出力ポートモジュールは、そのメタデータパケットにより識別される入力ポートモジュールが、パケットスイッチを介して入力ポートモジュールで識別されるパケットを転送するように要求する。出力ポートモジュールがパケットを受信すると、そこに接続された通信リンクを介してそれを送信する。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は、一般的なディジタル通信に係り、特にディジタルデータネットワー
クで用いられる交換(スイッチング)ノードでのディジタルデータのパケットを
スイッチングするシステム及び方法に関する。
【0002】 (背景技術) ディジタルネットワークは、データやプログラムを含む情報をディジタルコン
ピュータシステムと他の種々のデバイスとの間の伝送を容易にするために開発が
進められている。多様な情報伝送方法を用いて、種々のネットワークが開発され
、実装されている。近年のネットワークでは、情報はスイッチングノード網を介
して伝送され、このスイッチングノードは種々のパターンの通信リンクにより相
互に接続されている。網の相互接続パターンにより、ソースデバイスとして情報
を送信する各コンピュータシステムやその他のデバイスから、宛先(destinatio
n)デバイスとして情報を受信する他のコンピュータシステムやその他のデバイ
スへネットワークを介しての多くのパスが利用可能になるので、ネットワークの
ある部分で情報の渋滞が発生し、又はネットワークの一部分(component)が動
作不能になったときには、これらのネットワーク上の渋滞又は動作不能な部分を
回避した経路により情報が伝送できる。
【0003】 ソースデバイスから宛先デバイスへ伝送される情報は、一般に固定長又は可変
長のパケットの型式をとっており、これらのパケットはスイッチングノードによ
り、そのスイッチングノードに接続されたある通信リンクを経由して受信され、
もう一つの通信リンクを介して送信されて、宛先デバイスや、宛先デバイスへの
パス上にあるもう一つの通信リンクへのパケットの転送が行われる。各パケット
は通常、アドレス情報を含み、このアドレス情報はパケットを生成した特定のデ
バイスを識別するソースアドレスと、特定のデバイス又はパケットを受信する複
数のデバイスを識別する宛先アドレスとを含む。
【0004】 スイッチングノードは一般的に一つ以上の入力ポートを含み、各入力ポートに
はパケットを受信するために通信リンクに接続されており、また、複数の出力ポ
ートを含み、これらの出力ポートの各々は、パケットを送信するための通信リン
クに接続されていて、さらに、入力ポートからのパケットを送信のための、対応
する出力ポートへ関連づける「スイッチング機構(switching fabric)」を含む
。ある入力ポートがパケットを受信すると、通常はこのパケットをバッファし、
宛先アドレスに基づいて、パケットを送信するための出力ポートを識別し、そし
てパケットをスイッチング機構を介してその出力ポートへ伝送する。出力ポート
がパケットを受け取ると、それ(つまり当該出力ポート)は、通常は、そのパケ
ットをキュー(待ち行列)にバッファし、そこに接続された通信リンクを介して
送信する。出力ポートによるバッファ及びスケジューリングによって出力ポート
による効率的なパケット送信が可能となるが、出力ポートは継続的にビジーなの
で、出力ポートでバッファを行うことについて問題が発生する。一般に、各出力
ポートが入力ポートごとに一つのキューを備えることが効率的であるが、この場
合にはスイッチングノードに備えられるべきキューの総数が、入力ポート数「N
」に対しN2のオーダーになる。もしも各通信リンクがパケットを双方向に伝送
するというような典型的な場合には、このNは、転じて出力ポートの数にも対応
する。従って、この入/出力ポートの数である「N」が増大するにつれて、出力
ポートにより維持されなければならないキューの数が2次、つまり、より早い割
合で増大し、従って、出力のキューは、合理的な大きさ(scale)ではない。
【0005】 伝送すべきパケットの出力キューを使う代わりに、スイッチングノードが、入
力ポートでバッファしてキューを構成する、入力キューを備えることが開発され
ている。各入力ポートには、一つのみのキューが必要とされるだけなので、入力
(そして出力)ポートの数が増大しても、キューの数も1次のレートで増大する
に過ぎず、出力キューによる2次的増大を防止できる。しかしながら、入力ポー
トは、受信したパケットをバッファしてから、スイッチング機構を使って本質的
な処理(contend)及び調停(arbitrate)を行い、パケットを対応する出力ポー
トへ伝送のために送り出すのであるから、入力キューは、スイッチング機構の利
用上、効率が極めて低いという結果となる。
【0006】 (発明の開示) 本発明は、新規かつ改良されたスイッチングノードを提供するものであり、こ
のスイッチングノードは、入力ポート群と出力ポート群を相互接続するスイッチ
ング機構の有効利用(これは、スイッチングノードにより伝送されるパケットの
出力キューイングを可能にするスイッチングノードの特徴である)を可能にする
一方で、入力/出力ポートの数の増加に応じたパケットキューの2次関数的な増
加(これは出力キューイングを可能にするスイッチングノードの特徴である)を
回避できるようにする。同様に、本発明は、新規かつ改良されたスイッチングノ
ードを提供するものであり、このスイッチングノードは、入力/出力ポートの数
の増加に応じて入力キューが線形増加する(これは入力キューイングを可能にす
るスイッチングノードの特徴である)ようにする一方で、入力ポート群と出力ポ
ート群を相互接続するスイッチング機構が相対的に充分に利用されないこと(こ
れはスイッチングノードにより伝送されるパケットの入力キューイングを可能に
するスイッチングノードの特徴である)を回避できるようにする。
【0007】 簡単に説明すると、本発明は、複数の入力ポートモジュール、複数の出力ポー
トモジュール、及び宛先アドレスを含んだパケットをネットワーク内で伝送する
ためのスイッチング機構を備えるスイッチングノードを提供する。各入力ポート
モジュールはパケットを受信するための通信リンクに接続され、各出力ポートモ
ジュールはパケットを送信するための通信リンクに接続される。各入力ポートモ
ジュールは、当該モジュールに接続された通信リンクからパケットを受信すると
、そのパケットをバッファリングすると共に、そのパケットに対応して、そのパ
ケットの送信先の出力ポートモジュールを識別するメタデータパケットを生成し
、そのパケットに対して識別情報、特にそのパケットがバッファリングされた入
力ポートモジュールの識別情報、及びその入力ポートモジュールにおけるそのパ
ケットがバッファリングされた位置へのポインタ、を生成する。メタデータパケ
ットの生成の後、入力ポートモジュールは、そのメタデータパケットをスイッチ
ング機構、特にその機構の中のパケットメタデータプロセッサ部に供給する。
【0008】 スイッチング機構は、パケットメタデータプロセッサ部とパケットスイッチ部
とを備える。パケットメタデータプロセッサ部は、すべての入力ポートモジュー
ルで生成されたメタデータパケットと、すべての出力ポートモジュールからの動
作状態情報とを受信する。各出力ポートモジュールの動作状態情報は、それら各
出力ポートモジュールにより送信されていたかもしれないパケットが廃棄、すな
わちドロップすべきものであるか否かを当該出力ポートモジュールが判定するの
に役立つ情報を含む。各出力ポートモジュールのために、パケットメタデータプ
ロセッサは、すべての入力ポートモジュールから受信したメタデータパケットを
、動作状態情報と関連づけて処理する。もし、メタデータパケットの処理におい
て、パケットメタデータプロセッサは、そのメタデータパケットに対応づけられ
たパケットをドロップすべきであると判定した場合、そのパケットをバッファリ
ングしている入力ポートモジュールに対して通知を行い、これによりその入力ポ
ートモジュールがそのパケットを廃棄する。一方、パケットメタデータプロセッ
サが、そのメタデータパケットに対応づけられたパケットをドロップすべきでな
いと判定した場合、そのプロセッサはそのメタデータパケットを、対応する出力
ポートモジュールにキューイングする。
【0009】 各出力ポートモジュールは、パケットメタデータプロセッサにより維持されて
いる対応のメタデータパケットキューから、メタデータパケットを検索する。出
力ポートモジュールにより検索された各メタデータパケットについて、その出力
ポートモジュールは、そのメタデータパケットにおいて識別される入力ポートモ
ジュールに対してリクエストを発行する。このリクエストは、その入力ポートモ
ジュールで識別されたパケットを自分(すなわちそのリクエストを発行した出力
ポートモジュール)に伝送するように要求するリクエストである。入力ポートモ
ジュールは、その出力ポートモジュールからのリクエストを受信すると、スイッ
チング機構のパケットスイッチ部を介して、要求されたパケットを伝送する。す
るとパケットスイッチ部は、そのパケットを出力ポートモジュールへと伝送し、
この出力ポートモジュールに接続された通信リンクを介して送信するようにする
【0010】 本発明に従って構成されたスイッチングノードは、入力をキューイングするス
イッチングノードのスケーラビリティ(大きさ)を実現しつつも、出力をキュー
イングするスイッチングノードのスイッチング機構の利用効率を実質的に維持す
る。パケットを対応の出力ポートモジュールに送信するべきであるとパケットメ
タデータプロセッサが判定するまで、それらパケットが、送信のために対応の出
力ポートモジュールまで伝送されるようその出力ポートモジュールから要求され
るまで、それらパケットは入力ポートモジュールにバッファリングされるので、
各入力ポートモジュールに対して1つずつで、“N”個のバッファ又はキューが
必要となり、一方、出力をキューイングするスイッチングノードでは、N2個の
バッファが必要となる。しかし、どのパケットを廃棄すべきか(すなわちどのパ
ケットをドロップしたらよいか)、及びどのパケットを廃棄すべきでないか(す
なわちどのパケットをパスさせるか)の判定は、各出力ポートモジュールごとに
個別に、それらについて構成されたキューにおいて効率的になされ、キューイン
グされる出力スイッチングノードに対して、パスさせるかドロップするかの判定
はそれと同様の方法で効率的になされる。したがって、スイッチング機構のパケ
ットスイッチ部は、キューイングされる出力スイッチングノードにおいて達成さ
れているのと同様の効率性を達成する。
【0011】 本発明は、添付の特許請求の範囲により示される。本発明の上記の及び更なる
利点は、以下の記載を添付の図面とともに参照することによりよく理解されるで
あろう。
【0012】 (発明を実施するための最良の形態) 図1は、多数のデバイス間のデータを示す信号を伝達する複数のスイッチング
ノード11(1)〜11(N)(全体として、符号11(n)で示す)を含むコ
ンピュータネットワーク10を概略的に示している。図1において、デバイスは
、パケットソース(発信元)/デスティネーション(宛先)デバイス12(1)
〜12(M)(全体として、ワイドエリアネットワーク(広域ネットワーク:W
AN内において符号12(m)で示す)で示されている。パケットソース(発信
元)/デスティネーション(宛先)デバイス12(m)は、通常と同様に、デジ
タルデータを格納、発生、処理または取り扱うコンピュータシステムまたはその
他のデバイス、及びそれらのデバイスのローカルエリアネットワークまたはその
ようなもの(別に示してはいない)であって、広域ネットワーク10に対するも
のを含む。各パケット発信元/宛先デバイス12(m)は、全体として13(p
)で示す通信リンクを介しそこからのデータの送信及びそこへのデータの受信を
行うスイッチングノード11(n)に接続されている。スイッチングノード11
(n)は、全体として13(p)で示す通信リンクによって相互に接続されてい
る。通信リンク13(p)は、各スイッチングノード(n)間の情報の伝達を行
う。通信リンク13(p)は、どのような情報送信媒体を利用することもできる
。例えば、電気信号を伝送するワイヤ(電線)、光信号を伝送する光ファイバな
ど。各通信リンク13(p)は、好適には、双方向であり、スイッチングノード
11(n)のそれぞれの間及び同一のリンクに接続されているカスタマーの場所
のデバイス12(m)において、送受信を可能としている。各通信リンク13(
p)について選択された媒体のタイプに応じて、マルチメディアが反対方向の信
号伝送を提供し、これによって双方向リンクが提供される。
【0013】 ネット10において、データはパケットの形態で伝送(転送)される。一般的
に、パケットは、ヘッダー部分、及びデータ部分を含む。ヘッダー部分は、ネッ
トワークを介してのパケットのルーティング(転送の手順設定)のための情報と
、ネットワークにおけるパケットのルーティングに利用されているパケットルー
ティングプロトコルに従った特別の情報を含む。ネットワークの接続において、
多数のよく知られてたパケットルーティングプロトコルのいずれもが利用可能で
ある。1つの実施形態としては、よく知られているインターネットプロトコル(
IP)が利用される。いずれの場合においても、ヘッダーは、通常、パケットを
発生した特定のソースデバイス12(ms)を特定するソースアドレス、及びパ
ケットが受信される特定の宛先アドレス12(mD)を特定する宛先アドレスを
含むアドレス情報を含む。IPプロトコルにおいて、パケットは、典型的に可変
長でよく、ヘッダーは、パケットの長さを特定する長さ情報を含むことになる。
ヘッダーはまた、他の情報、例えばパケットの構造を規定する特定のプロトコル
を特定するプロトコル特定情報含む。データ部分は、パケットのデータペイロー
ド(有料部分)を含む。パケットは、またデータ部分またはその他の部分として
転送されるパケットにエラーが発生したかを検出するために用いるエラー検出情
報を含む。
【0014】 ソースデバイス12(ms )は、宛先デバイス12(mD)に転送するパケッ
トを発生した後、そこに接続されているスイッチングノード11(n)にパケッ
トを供給する。スイッチングノード11(n)は、パケットの宛先アドレスを利
用して、そこに接続されている通信リンク13(p)の1つを使って宛先アドレ
スに結びつける「ルート(道筋)」を特定しようとする。そして、通信リンク1
3(p)を介して、パケットが宛先デバイス12(mD)に転送される。スイッ
チングノード11(n)が宛先デバイス12(mD)に接続されている場合には
、そのまま宛先デバイス12(mD)へ、そうでない場合には宛先デバイス12
(mD)への経路に沿った他のスイッチングノード11(n’)(n’≠n)へ
パケットが転送される。スイッチングノードが受信パケットのルートを特定でき
る場合、パケットは、パケットをルートで特定された通信リンクを介し、転送さ
れる。パケットを受信する各スイッチングノード11(n),11(n”),・
・・,は、同様の動作を行う。すべてのスイッチングノードが、宛先アドレスに
ついてそれぞれのルートを有していた場合、パケットは、最終的に宛先デバイス
12(mD)に到着する。
【0015】 本発明は、新しいスイッチングノード11(n)を提供する。機能ブロック図
が図2に示されている。新しいスイッチングノード11(n)は、ネットワーク
におけるパケットの効率的転送を提供する。図2において、スイッチングノード
11(n)は、中間ポート(インターポート:inter-port)パケットスイッチ2
2、パケットメタデータ(meta-data)プロセッサ23、及びスイッチングノー
ド管理(マネジメント)プロセッサ27からなるスイッチング機構によって相互
に接続された多数の入力ポートモジュール20(1)〜20(N)(全体として
、符号20(n)で示す)及び、多数の出力ポートモジュール21(1)〜21
(N)(全体として符号21(n)で示す)を含んでいる。各入力ポートモジュ
ール20(n)は、1以上の入力ポート25(n)(1)〜25(n)(M)(
全体として符号25(n)で示す。)は、それぞれそこにおける受信パケットに
ついての1つの通信リンク13(p)に接続されている。受信パケットは、(n
)(m)信号の中でPKT_INパケットで示されている。 各受信パケットに
ついて、入力ポートモジュール20(n)は、パケットバッファし、パケットヘ
ッダーに含まれる宛先アドレスからそこへの適切なルートを特定する。パケット
が送信される出力ポートモジュール21(n)を特定するプロセスにおいて、パ
ケットが送信される出力ポートモジュール21(n)1以上の出力ポート26(
n)(1)〜26(n)(M)(全体として符号26(n)(m)で示す)の中
の1つが宛先デバイス12(mD)または宛先デバイス12(mD)へのパケット
のルート上の次のスイッチングノード11(n”)へパケットを送る。一般的に
、入力ポート20(n)は、スイッチング機構にパケットを転送する。特に、中
間ポートパケットスイッチ22に転送する。これは、INP(n)_PKT_D
ATAで示される入力(n)パケットデータ信号(インデックス「n」は、1〜
「N」の整数である)で示されている。中間ポートスイッチ22は、送信先とし
て特定された出力ポートモジュールにパケットを結合する。これは、OP(n)
PKT_DATA出力(n)パケットデータ信号(インデックス「n」は、1〜
「N」の整数である。)で示されている。
【0016】 上述のように、各出力ポートモジュール21(n)は、1以上の出力ポート2
6(n)(m)を含んでいる。これらのそれぞれは、1以上の通信リンク13(
p)に接続されている。出力ポートモジュール21(n)は、通信リンク13(
p)を介し、対応する1つのパケットを送信する。これは、PKT_OUTパケ
ット出力信号で示してある。この信号は、スイッチング機構によってそこに供給
される。
【0017】 中間ポートパケットスイッチ22は、入力ポートモジュール20(n)から対
応する出力ポートモジュール21(n)へパケットを接続する(受け渡す)。中
間ポートパケットスイッチ22は、クロスポイントスイッチの形態をとる。さら
に具体的には、中間ポートパケットスイッチ22は、複数のスイッチプレーン2
2(1)〜22(P)(全体として、符号22(p)で表す)の形態であり、各
スイッチプレーン22(p)は、クロスポイントスイッチの形態をとる。一般的
に、各入力オートモジュール20(n)は、パケットを中間ポートパケットスイ
ッチ22に転送するときに、パケットをセグメントのシリーズに分割する。この
セグメントは、連続する中間ポートパケットスイッチ22のスイッチプレーン2
2(m)にラウンドロビンベース(円卓方式:メリーゴーラウンド方式)で、転
送される。同様に、各出力ポートモジュール21(n)は、中間ポートパケット
スイッチ22からパケットを受信したときに、連続するスイッチプレーン22(
m)からの連続するパケットセグメントをラウンドロビンベースで受信する。そ
して、各出力ポートモジュール21(n)は、対応する出力ポート26(n)(
m)に転送するに先立ってセグメントをパケットに再構成する。中間ポートパケ
ットスイッチ22におけるマルチプルスイッチプレーン22(p)は、中間ポー
トパケットスイッチを介するパケットのより高速のスイッチを提供する。これに
よって、入力ポートモジュール20(n)から出力ポートモジュール21(n)
へのパケットのスループットを向上できる。さらに、スイッチプレーン22(p
)が作動しなかったり、不調であった時、そのプレーン22(p)はラウンドロ
ビン(円卓)から取り除かれる。中間ポートパケットスイッチ22は、適切なス
イッチングをほかのスイッチプレーン22(p’)(p’≠p)を使って続けら
れる。一実施形態では、スイッチプレーン22(p)が作動しないまたは不調で
あるためラウンドロビンから取り除かれるべきかどうかは、入力ポートモジュー
ル20(n)から対応する出力ポートモジュール21(n)へのパケットセグメ
ントの転送におけるスイッチプレーン22(p)のビットエラーレートによって
検出する。
【0018】 スイッチングノード管理プロセッサ27は、スイッチングノード11(n)に
ついての多数の管理ファンクションを実行する。これらは、当業者に明らかであ
る。例えば、各パケットについてパケットが経由すべき出力ポートモジュール2
1(n)及び出力ポート26(n)(m)を特定するルート情報を入力ポートモ
ジュール21(n)においてい維持、更新する。さらに、スイッチングノード管
理プロセッサ27は、対応するスイッチングプレーン22(p)についてのビッ
トエラーレート情報を受信し、これに基づいてスイッチングプレーン22(p)
のラウンドロビンに取り込んだりそこから除外したりのスイッチングをコントロ
ールする。
【0019】 本発明によれば、スイッチング機構を介しての各入力ポートモジュール20−
(n)から対応する出力ポートモジュール21(n)へのパケットの転送をコン
トロールする際に、入力ポートモジュール20(n)がパケットを通信リンク1
3(p)から受信したときに、パケットをバッファし、パケットを記述するメタ
データパケットを生成する。これは、入力ポートモジュール20(n)内のパケ
ットのポインタ及びルート情報を含んでいる。また、ルート情報は、パケットを
受信する出力ポートモジュール21(n)及びパケットが転送される出力ポート
26(n)(m)の特定を含んでおり、パケットの長さの情報を含んでいても良
い。入力ポートモジュール20(n)は、パケットについてメタデータパケット
を発生した後、入力ポートモジュール20(n)は、メタデータパケットを処理
のためにスイッチ構造中のパケットメタデータプロセッサ23に供給する。IN
P(n)_META−DATA/RESP入力(n)メタデータ/応答信号と記
載してある。
【0020】 パケットメタデータプロセッサ23は、対応する出力ポートモジュール21(
n)からの動作状況についての情報を受信する。この情報は、OP(N)_CT
RL/STATUS出力ポートモジュール21(n)コントロール/ステータス
信号と表してある。特に、動作状況は、転送のための入力ポートモジュール20
(n)からの追加のパケットを受信するいかなるタイミングにおいてのこれらの
それぞれの容量を含む。出力ポートモジュール21(n)のステータス情報は、
いくつかのファクターの状態を示しているとよい。例えば、送信に先立ち入力ポ
ートモジュール20(n)から受信したパケットにたいし利用可能な出力ポート
モジュール21(n)のバッファの大きさを含む。逆に、転送されるパケットに
より現在占有されているバッファの量でも良い。これは、利用可能のバッファが
減少、増加または一定かどうかを示す。これらは、メタデータパケットに関連す
るパケットを受信する出力ポートモジュールの容量を示す。
【0021】 対応する入力ポートモジュール20(n)からの各パケットについてのメタデ
ータパケットを受信した後、パケットメタデータプロセッサ23は、現在の状況
の情報が、出力ポートモジュール21(n)が入力ポートモジュール20(n)
からのパケットを受信し、そのパケットを対応する通信リンク13(p)に送信
するのに十分な容量を有しているか否かを判定する。現在状況情報は、パケット
が送信される出力ポートモジュール21(n)についてものである。パケットメ
タデータプロセッサ23は、肯定的な判定を下したとき、パケットメタデータプ
ロセッサ23は、メタデータパケットを対応する出力ポートモジュール21(n
)に供給する。これは、OP(n)_CTRL/STATUS信号と示してある
。肯定的な判定とは、パケットが転送される出力ポートモジュール21(n)の
現在状況情報が、パケットを受信し送信するのに十分な容量を持っていることを
示していることである。
【0022】 出力ポートモジュール21(n)は、パケットメタデータプロセッサ23から
メタデータパケット受信した後、パケットリクエストを供給し、バケットをバッ
ファしている入力ポートモジュール20(n)に中間ポートパケットスイッチ2
2を介しパケットを転送することを許可する。メタデータパケットは、出力ポー
トモジュール21(n)に送信されるパケットについてのものである。パケット
リクエストは、OP(n)/INP(n)_PKT_REQ出力(n)/入力(
n)パケットリクエスト信号(ここで、「n」は、整数であり、2つのnは異な
っても良い。)で示してある。出力ポートモジュール21(n)からのパケット
リクエストを受信した後、入力ポートモジュール20(n)は、そのパケットを
中間ポートパケットスイッチ22に送信する。INP(n)_PKT_DATA
入力(n)パケットデータ信号と表す。中間ポートパケットスイッチ22は、パ
ケットを出力パケットポートモジュール21(n)に上述したように送信する。
OP(n)_PKT_DATA出力(n)パケットデータ信号をと表す。
【0023】 反対に、入力ポートモジュール20(n)からパケットについてのメタデータ
パケットを受信した後、メタデータプロセッサ23が、パケットが送信されるパ
ケット出力ポートモジュール21(n)の動作状況が出力ポートモジュール21
(n)の容量が出力ポートモジュール21(n)がパケットを送信できないこと
を示していた場合、パケットメタデータプロセッサ23は、メタデータパケット
が受信された入力ポートモジュール20(n)へ通知を供給する。この通知は、
INP(n)_META−DATA/RESP入力(n)メタデータ/応答信号
で表されている。この状況は、例えば、メタデータプロセッサ23に保持されて
いる出力ポートモジュール21(n)についての状況情報が出力ポートモジュー
ル21(n)が、混雑していることを示していたときである。これは、入力ポー
トモジュール20(n)がパケットメタデータプロセッサ23に出力ポートモジ
ュール21(n)へ送信すべきパケットについてのメタデータパケットを供給し
たときに判定される。この場合、出力ポートモジュール21(n)は、パケット
を送信することができない。入力ポート0モジュール20(n)は、パケットを
捨てる。これによって、追加のパケットのためのフリーなバッファスペースがで
きる。追加のパケットは、ここに接続される通信リンクから提供されるかもしれ
ない。さらに、パケットメタデータプロセッサ23は、捨てたパケットについて
のメタデータパケットを出力ポートモジュール21(n)に転送するのに代え捨
てる。入力ポートモジュール20(n)がパケットメタデータプロセッサ23か
らパケットが捨てられたとの通知を受信しない限りは、通常通り、出力ポートモ
ジュール21(n)によってそこに接続されている通信リンク13(p)を介し
ての送信が要求される。
【0024】 このように、ネットワークから受信したパケットスイッチングノードによって
送信されるか否かについてのスイッチングノード11(n)内での決定がパケッ
トメタデータプロセッサ23によって行われることが好適である。この決定は、
入力ポートモジュール20(n)によってそこに供給されるメタデータパケット
によって行われる。特に、出力ポートモジュール21(n)によってそこに供給
される動作状況情報に基づいて行われる。パケットについてのメタデータパケッ
トを受信した後、パケットメタデータプロセッサ23が、パケットが送信される
出力ポートモジュール21(n)そのパケットを受信し送信する容量を有すると
判定したとき、パケットメタデータプロセッサ23は、メタデータパケットを出
力ポートモジュール21(n)に供給する。これによって、パケットの入力ポー
トモジュール20(n)による出力ポートモジュール21(n)への転送が始め
られる。これによって、出力ポートモジュール21(n)によってパケットが送
信される。反対に、パケットについてのメタデータパケットを受信した後、パケ
ットメタデータプロセッサ23が、パケットが送信される出力ポートモジュール
21(n)そのパケットを受信し送信する容量を有しないと判定したとき、出力
ポートモジュール21(n)は、メタデータパケットを受信しない。代わりに、
パケットメタデータプロセッサ23は、インプットポートモジュール20(n)
にそのパケットを捨てることを許可する。入力ポートモジュール20(n)は、
出力ポートモジュール21(n)からパケットを転送することに通知を受信する
か、またはパケットメタデータプロセッサ23からパケットを捨てる(またはド
ロップする)ことの通知を受けるまで、パケットをバッファする。これによって
、入力ポートモジュール20(n)は、そこに受信されたパケットの入力キュー
(並び:行列)を提供する。
【0025】 一方、パケットメタデータプロセッサ23は、パケットを送るか捨てる(渡す
:パス/捨てる:ドロップ)かの決定において使用される出力キューイング情報
を効果的に提供する。しかし、パケットメタデータプロセッサ23によって行わ
れるパケットパス/ドロップの決定は、通常はパケットよりずっと小さいサイズ
のメタデータパケットにより行われる。メタデータパケットは、単にパケットを
受信する入力ポートモジュール20(n)内のパケットのポインタと、パケット
を受信する出力ポートモジュール21(n)の特定する情報である。また、パケ
ットの長さを含むかもしれない。パケットメタデータプロセッサ23に転送され
るデータ量は、通常の出力キュー構成において転送されるパケット全体のデータ
量に比べ非常に小さい。このようにして、本発明のスイッチングノード11(n
)は、通常の出力キュースイッチングノードのように、最終的に捨てられるパケ
ットによってパケットスイッチング帯域幅を使用することをさけることができる
【0026】 パケットを送信するときに、パケットが送信される出力ポートモジュール21
(n)が、パケットをバッファしている入力ポートモジュール20(n)にパケ
ットを中間ポートパケットスイッチ22を介し出力ポートモジュール21(n)
へ転送することを許可する。このため、中間ポートスイッチ22は、入力キュー
(待ち)スイッチングノードの特性の効率に比べて高度の効率で動作することが
可能になる。
【0027】 図2のスイッチングノード11(n)において使用されている入力ポートモジ
ュール20(n)、スイッチプレーン22(m)、パケットメタデータプロセッ
サ23、及び出力ポートモジュール21(n)の機能ブロック図がそれぞれ図3
、4、5、6に示されている。図3において、スイッチングノード11(n)に
おいて使用される入力ポートモジュール20(n)は、ネットワーク入力インタ
ーフェース30、パケットメモリ31、メタデータパケット発生器32を含み、
すべ他は、入力ポートモジュール25(n)制御回路33によって制御される。
ネットワーク入力インタフェース30は、入力ポート25(n)(m)を含む。
この入力ポート25(n)(m)は、PKT_IN(n)(1)〜PKT_(n
)(M)(全体として、PKT_IN(n)(m)と示す)パケット入力信号を
受信する。これらの信号は、それぞれの通信リンク13(p)上の信号を示して
いる。一実施形態において、各入力ポート25(n)(m)は、追加/捨てる(
add/drop)マルチプレクサの一部を形成する。このマルチプレクサは、
よく知られているSONET使用に従って構成される。他の形式の入力ポートも
使用可能である。ネットワーク入力インタフェース30は、PKT_DATAパ
ケットデータ信号として受信したパケットを入力ポートモジュール20(n)制
御回路33に供給する。入力ポートモジュール20(n)制御回路33は、ネッ
トワークインタフェース30から受信したパケットをパケットメモリ31内にバ
ッファする。
【0028】 さらに、各バッファパケットに対して、前記入力ポートモジュール20(n)
制御回路33は、メタデータパケットジェネネレータ32に提供し、それが(す
なわち、メタデータパケットジェネネレータ(32)メタデータパケットを前記
パケットに対して発生させる。メタデータパケットジェネネレータに提供された
情報は、前記パケットに対する宛先アドレス、前記パケットメモリ31内の前記
パケットに対するポインタ、および、おそらくは前記パケットの長さに関する情
報の様な情報を含む。前記切替ノード管理プロセッサ27によってそこに提供さ
れたルート情報を記憶しているメタデータパケットジェネネレータ32は、前記
パケットに対する前記宛先アドレスを使用して、前記出力ポートモジュール21
(n)および、このパケットが送信されるべき通信リンク13(p)に連結され
ている前記出力ポートモジュール26(n)(m)を確認する。もし、メタデー
タパケットジェネネレータ32が、前記ルート情報から適切な出力ポートモジュ
ール21(n)と出力ポートモジュール26(n)(m)を確認することができ
れば、メタデータパケットジェネネレータ32は、そこから、および前記パケッ
トメモリ31内の前記パケットに対するポインタ、さらに、おそらくは前記パケ
ット長情報から、前記パケットに対するメタデータパケットを生成し、このメタ
データパケットを、INP(n)_M−D_ENQ入力(n)メタデータパケッ
トエンキュー(キューに入れる:enqueue)信号によって表されているよ
うに、前記パケットメタデータプロセッサ23に提供する。以下に説明するよう
に、メタデータパケット発生器32は、入力ポートモジュール20(n)制御モ
ジュール53によって提供された前記宛先アドレスから、そのパケットとそのパ
ケットが通過して送信されるべき出力ポートモジュール26(n)(m)を受信
するべき前記出力ポートモジュール21(n)の確認を明確に決定し、その確認
を、入力ポートモジュール20(n)、パケットメモリ内のパケットに対するポ
インタ、および、おそらくは長さ情報と共に、パケットメタデータプロセッサ2
3に メタデータパケットとして提供する。
【0029】 上述の様に、前記切替ノードはある宛先アドレスに対する適切なルート情報を
持たないことも有り得る。もし、メタデータパケット発生器32が、入力ポート
モジュール20(n)制御回路33によって提供された宛先アドレスに対してル
ート情報を有しないことを確定すると、それ(すなわち前記メタデータパケット
発生器)は、そのように、入力ポートモジュール20(n)制御回路33に通知
することができる。入力ポートモジュール20(n)制御回路33は、今度は、
当業者には明白であるような所定の動作を実行することができ、その中には、例
えば、前記宛先アドレスに関連するパケットをパケットメモリから破棄すること
を含むことができる。さらに、入力ポートモジュール20(n)制御回路33は
、それ自身で、そのパケットに対するソースデバイス12(ms)に送信するた
めのパケットを生成することができ、そのパケットは指定された宛先デバイス1
2(mp)に送られていなかったことを示すことができる。入力ポートモジュー
ル20(n)制御回路33は、この生成されたパケットが、それによって受信さ
れたパケットと同様な方法で伝達されることを可能にする。
【0030】 前記メタデータパケット発生器32は、また、INP(n)_ENQ_DRP
入力(n)エンキュードロップ信号とINP(n)_PKT_DRP入力(n)
パケットドロップ信号を含む2種類の制御信号を、前記パケットメタデータプロ
セッサから、受信する。もし、パケットメタデータプロセッサ23が、図5に関
連して後述するように、混雑している場合に起こり得る様に、メタデータパケッ
ト発生器32がメタデータパケットを提供することを試みた時、もし、パケット
メタデータプロセッサ23が、メタデータをメタデータパケット発生器32から
受信することができなければ、パケットメタデータプロセッサ23は、INP(
n)_ENQ_DRP入力(n)エンキュードロップ信号を主張して、そのメタ
データパケットを受信することができないことを示す。もし、メタデータパケッ
ト発生器32が、それ(すなわちメタデータパケット発生器32)がメタデータ
パケットをそこに提供する時、主張されたINP(n)_ENQ_DRP入力(
n)エンキュードロップ信号をパケットメタデータプロセッサ23から受信する
と、メタデータパケット発生器32は、入力ポートモジュール20(n)制御回
路33に、そのパケットをパケットメモリ31から破棄させることができる。一
方、もし、パケットメタデータプロセッサ23が、メタデータパケットをメタデ
ータパケット発生器32から受信することができれば、パケットメタデータプロ
セッサ23は、INP(n)_ENQ_DRP入力(n)エンキュードロップ信
号を主張せず、代わりに、メタデータパケットを受信して処理する。
【0031】 上述の様に、パケットメタデータプロセッサ23は、それによって受信された
メタデータパケットを処理し、そのパケットを送信するべき出力ポートモジュー
ル21(n)に関連する現在の状態情報が、出力ポートモジュール21(n)は
パケットを入力ポートモジュール20(n)から受信して、それを(すなわち、
そのパケット)各通信リンク13(p)上に送信するのに十分な容量を有するか
どうかを決定する。もし、パケットメタデータプロセッサ23が、処理するべき
メタデータパケットを受信した後で、否定的な決定を下した場合、すなわち、も
し、出力ポートモジュール21(n)がパケットを受信、送信するのに十分な容
量を有しないことを決定した時は、それは(すなわち、パケットメタデータプロ
セッサ23)は、入力ポートモジュール20(n)によってバッファされるべき
、すなわち破棄されるべき特定のパケットを確認する過程において、INP(n
)_PKT_DRP入力(n)パケットドロップ信号を主張する。もし、メタデ
ータパケット発生器32が、主張されたINP(n)_PKT_DRP入力(n
)パケットドロップ信号をパケットメタデータプロセッサ23から受信すると、
それを入力ポートモジュール20(n)制御回路33に通知して、今度は、IN
P(n)_PKT_DRP入力(n)パケットドロップ信号によって確認された
パケットをパケットメモリから破棄する。
【0032】 入力ポートモジュール20(n)制御回路33は、また、パケット伝達要求を
出力ポートモジュール21(n)から受信し、パケットセグメント発生器34を
用いて、パケットメモリ31から、出力ポートモジュール21(n)へ伝達する
ためのインターポートパケットスイッチ22パケットへの検索と伝達を制御する
。パケット伝達要求は、OUT(1)/INP(n)_PKT_REQ出力(1
)/入力(n)パケット要求によって、OUT(N)/INP(n)_PKT_
REQ出力(N)/入力(n)パケット要求信号(一般には、”OUT(n)/
INP(n)_PKT_REQ”、ただしインデックス”n”は、1と”N”の
間の整数であり、必ずしも必要ではないけれども、インデックス”n”の値に等
しくてもよい。)を通して表され、入力ポートモジュール20(n)によって提
供されたパケットデータは、INP(n)_PKT_DATA入力(n)パケッ
トデータ信号によって表される。入力ポートモジュール20(n)制御回路33
が、要求に応じて提供されるべきパケットに対するポインタを含むパケット伝達
要求を出力ポートモジュール21(n)から受信した後、入力ポートモジュール
20(n)制御回路33は、パケットセグメント発生器34に、要求されたパケ
ットをパケットメモリ31から検索させ、そのパケットを各セグメントに分割さ
せるようにして、それらを、INP(n)_PKT_DATA_PLN(1)入
力パケットデータプレーン(1)としてINP(n)_PKT_DATA_PL
N(P)入力パケットデータプレーン(P)信号(これらは、共に前記INP(
n)_PKT_DATA入力(n)パケットデータ信号を形成する。)を通して
、そのパケットを送信するべき前記出力ポートモジュール21(n)の確認と共
に、インターポートパケットスイッチ22に伝達する。図2に関連して前述した
様に、インターポートパケットスイッチ22は、今度は、入力ポートモジュール
20(n)から受信したパケットを出力ポートモジュール21(n)に伝達し、
送信する。
【0033】 インターポートパケットスイッチ22において用いられるスイッチプレーン2
2(p)の機能ブロック線図が図4に描かれている。図4を参照すれば、前記ス
イッチプレーン22(p)には、60(p)から60(p)(一般には、参照番
号60(p)(n)によって確認される)までの複数のスイッチモジュールが含
まれ、それらの各々は、対応して参照されている出力ポートモジュール21(n
)に伝達されるべきパケットからのパケットセグメントに関連し、それを提供す
る。各スイッチモジュール60(p)(n)は、FIFO(先入れ先出し方式)
モジュール61(p)(1)から61(p)(N)(一般には、参照番号61(
p)(n)によって確認される。)までを含み、それらの各々は、複数のFIF
O62(p)(n)(1)からFIFO62(p)(n)(F)(一般には、参
照番号61(p)(n)(f)によって確認される。)までを含む。各スイッチ
モジュール60(p)(n)は、また、複数の入力マルチプレクサ63(p)(
n)(1)から63(p)(n)(F)(一般には、参照番号61(p)(n)
(f)によって確認される。)までを含み、それらの各々は、対応する参照番号
のFIFO621(p)(n)(f)と1個の出力マルチプレクサ64(p)(
n)に対する入力を提供する。各入力マルチプレクサ62(p)(n)(f)は
、前記切替ノード管理プロセッサ27(図2)によって、入力ポートモジュール
20(n)からのINPUT(n)_PKT_DATA_(PLN_p)入力(
n)パケットデータ(プレーン(p))信号を、これらの信号によって表されて
いるパケットセグメントが、ネットワーク上に伝達するため対応する参照番号の
出力ポートモジュール21(n)に伝達されるべき時、そこに接続されたFIF
O62(p)(n)(f)に結合させるように制御される。各スイッチモジュー
ル60(p)(n)内の出力マルチプレクサ64(p)(n)は、各出力ポート
モジュール21(n)によって、それが(すなわち、出力ポートモジュール21
(n))パケットセグメントを様々なFIFO62(p)(n)(f)から、そ
れに関連するスイッチモジュール60(p)(n)内に受信できる様に、制御さ
れる。一般に、各出力ポートモジュール21(n)は、出力マルチプレクサ64
を、それが(すなわち、出力ポートモジュール21(n))パケットセグメント
を、様々なFIFO62(p)(n)(f)の全てから受信できる様に制御する
。これらのFIFO62(p)(n)(f)の中では、入力ポートモジュール2
0(n)は、もし、出力ポートモジュール21(n)が全体のパケットに対する
パケットセグメントを1個のFIFO62(p)(n)(f)から一度に受信す
る時に発生し得る1個以上のFIFOが一杯になる状態を避けるように、ラウン
ドロビン基準上のローディングパケットセグメントとしてある。
【0034】 各スイッチングモジュール60(p)(1)内に「N」個のFIFOが存在す
る場合(すなわち、「F」が「N」に等しい場合)、ポート間パケットスイッチ
22は、効率的に無閉鎖(non-blocking)であり、入力パケットモジュール20
(n)の全てが、いつでも、どの出力ポートモジュールへも、パケットを転送す
ることができる。
【0035】 図2に示すスイッチングノード11(n)で使われるパケットメタデータプロ
セッサ23の機能ブロック図を、図5に示す。図5において、パケットメタデー
タプロセッサ23は、複数のプロセッサモジュール40(1)から40(N)(
一般的には、符号40(n)で識別される)を有し、各プロセッサモジュールは
、対応してインデックスを付けられた出力ポートモジュール21(n)に関連し
、該出力ポートモジュールのパケットパス/ドロップ判断を行う。プロセッサモ
ジュール40(n)は、一般的には全て類似している。各プロセッサモジュール
40(n)は、入力キュー41(n)と、パケットパス/ドロップ回路42(n
)と、出力ポートモジュール(n)ステータス情報記憶部43(n)と、出力F
IFO(先入れ先出しバッファ)44(n)と、を有する。入力キュー41(n
)は、メタデータパケットを全ての入力ポートモジュール20(n)から受信し
、パケットパス/ドロップ回路42(n)による処理のために、単一のキューに
組織化する。入力キュー41(n)は、INP(1)_M−D_ENQ、入力(
1)メタデータパケットエンキュー(enqueue)からINP(N)_M−D_EN
Q、入力(N)メタデータパケットエンキュー信号(一般的には「INP(n)
_M−D_ENQ」)に表される、メタデータパケットエンキュー要求を受信す
る。各メタデータパケットエンキュー要求は、メタデータ発生器32によって生
成されたメタデータパケットを含み、このメタデータパケットは上述のように、
入力ポートモジュール20(n)の識別子、パケットメモリ内のパケットへのポ
インタ、そしておそらくは、メタデータパケットに関連するパケットの長さを識
別する長さ情報、を含む。
【0036】 メタデータパケットエンキュー要求が入力ポートモジュール20(n)から受
信された時に、プロセッサモジュール40(n)がメタデータパケットを受信し
、入力キュー41(n)にエンキューすることができる場合、プロセッサモジュ
ールは、その作業を実行する。しかしながら、メタデータパケットエンキュー要
求が入力ポートモジュール20(n)から受信され、プロセッサモジュール40
(n)が、メタデータパケットを受信し入力キュー41(n)にエンキューでき
ない場合は、プロセッサモジュールは、INP(n)_ENQ_DRP、入力(
n)エンキュードロップ信号を表明(assert)することにより、入力ポートモジ
ュール20(n)に通知する。これは、例えば、入力キュー41(n)がいっぱ
いの場合、又は入力キュー41(n)内のメタデータパケットの母数(populati
on)が、所定の閾値よりも高い場合などに起こりうる。上述のように、プロセッ
サモジュール40(n)が、INP(n)_ENQ_DRP、入力(n)エンキ
ュードロップ信号を表明することにより、入力ポートモジュール20(n)に、
プロセッサモジュールがメタデータパケットを入力ポートモジュールから受信し
エンキューできないことを通知した場合、入力ポートモジュール20(n)は、
そのメタデータパケットに関連するパケットを廃棄する。
【0037】 入力キュー41(n)は、待機するメタデータパケットを、パケットパス/ド
ロップ回路42(n)に接続する。パケットパス/ドロップ回路42(n)は、
入力キュー41(n)によって接続された各メタデータパケットに対し、パス/
ドロップ判定を行う。この判定は、出力ポートモジュール(n)状態情報記憶部
43(n)に記憶された、プロセッサモジュール40(n)に関連する出力ポー
トモジュール21(n)の状態情報に基づいて行われる。記憶部43(n)の状
態情報は、OP_PORT(n)_STATUS、すなわち出力ポート(n)状
態信号で表される信号として、関連する出力ポートモジュール21(n)によっ
て供給される。上記信号は、パケットメタデータプロセッサ23と出力ポートモ
ジュール21(n)との間で転送される図2に示されたOUT(n)_CTRL
/STATUS、すなわち出力(n)制御/状態信号の1つを形成している。記
憶部43(n)に記憶された出力ポート状態情報は、出力ポートモジュールの動
作状態、特に、任意の時点において入力ポートモジュール20(n)から、送信
するためのさらなるパケットを受信する能力を表すものであり、送信のために入
力ポートモジュール20(n)から読み出したバッファパケットに対して出力ポ
ートモジュール21(n)が利用できるバッファリングの量、及びその利用可能
なバッファリングが増減しているかあるいはほぼ一定であるかの関数でもよい。
パケットパス/ドロップ回路42(n)が入力キュー41からメタデータパケッ
トを受信し、これに関してパス/ドロップ判定を行う際に、記憶部43(n)の
状態情報により、出力ポートモジュール21(n)が入力ポートモジュール20
(n)から、送信するためのさらなるパケットを受信する能力を持つと示された
場合には、パケットパス/ドロップ回路42(n)はメタデータパケットを出力
FIFO44(n)にロードする。パケットパス/ドロップ回路42(n)は、
さらに、状態情報記憶部43(n)に記憶されている状態情報を調整し、出力ポ
ートモジュール21(n)によって読み出され、送信されたさらなるパケットの
メタデータパケットがFIFO44(n)にロードされたという事実を反映させ
ることができる。例えば、メタデータパケットが、そのメタデータパケットに関
連するパケット長を識別する長さ情報を提供し、記憶部43(n)の状態情報が
出力ポートモジュール21(n)が利用できるバッファリングの量に関する情報
を提供する場合には、パケットパス/ドロップ回路42(n)は記憶部43(n
)に記憶された状態情報を減分してメタデータパケットに関連するパケットの長
さを反映させることができる。
【0038】 一方、パケットパス/ドロップ回路42(n)が入力キュー41からメタデー
タパケットを受信し、これに関してパス/ドロップ判定を行う際に、記憶部43
(n)の状態情報により、出力ポートモジュール21(n)が送信のために入力
ポートモジュール20(n)からさらなるパケットを受信する能力を持たないと
示された場合には、パケットパス/ドロップ回路42(n)は、メタデータパケ
ットを送信した入力ポートモジュール20(n)に対し、確定信号INP(n)
_PKT_DRP、すなわち入力(n)パケットドロップ信号で表されるドロッ
プ通告を供給し、そのメタデータパケットに関連するパケットを示すポインタを
与える。上述のように、プロセッサモジュール40(n)からの通告を受信する
と、入力ポートモジュール20(n)はそのパケットを破棄することができる。
【0039】 出力FIFO44(n)は、プロセッサモジュール40(n)に関連する出力
ポートモジュール21(n)にメタデータパケットを供給すべく接続されている
。出力ポートモジュール21(n)は、入力ポートモジュール20(n)からパ
ケットを受信する状態にあることを判断すると、出力FIFO読み出し要求を送
る。この要求は、確定信号OUT(n)_FIFO_RETR_EN、すなわち
出力(n)FIFO読み出し許可信号で表される。この信号は、図2に示された
、パケットメタデータプロセッサ23と出力ポートモジュール21(n)との間
を転送されるOUT(n)_CTRL/STATUS、すなわち出力(n)制御
/状態信号の1つを構成している。出力ポートモジュール21(n)からの出力
FIFO読み出し要求に応答し、プロセッサモジュール40(n)は、PKT_
META−DATA、すなわちパケットメタデータ信号で表されるメタデータパ
ケットを出力ポートモジュール21(n)に転送する。この信号は、図2に示さ
れた、パケットメタデータプロセッサ23と、出力FIFO44(n)の先端に
位置する出力ポートモジュール21(n)との間を転送されるOUT(n)_C
TRL/STATUS、すなわち出力(n)制御状態信号を構成する。
【0040】 パケットメタデータプロセッサ23(図2)の関連するプロセッサモジュール
40(n)(図5)からメタデータパケットを受信後、出力ポートモジュール2
1(n)は、パケットがバッファされている入力ポートモジュール20(n)に
対し、インターポートパケットスイッチ22を介してそのパケットを転送するこ
とを許可する。スイッチ11(n)において使用される出力ポートモジュール2
1(n)の機能ブロック図を図6に示す。図6において、出力ポートモジュール
21(n)は、出力ポートモジュール21(n)制御回路50、パケットメモリ
51、及びネットワーク出力インターフェース52を含む。出力ポートモジュー
ル21(n)制御回路50は、スイッチングノード11(n)の他のコンポーネ
ントに接続されて、以下のように作用する。
【0041】 (i)パケットメタデータプロセッサ23の出力ポートモジュール21(n)
に関連するプロセッサモジュール40(n)に対し、そのパス/ドロップ判定に
使用する状態情報を供給し、出力ポートモジュール21(n)が、そこに接続さ
れた通信リンク13(p)を経由して入力ポートモジュール20(n)から、送
信するためのパケットを受信できる現在の能力を反映すべく動作状態情報を更新
する。
【0042】 (ii)パケットパス/ドロップ回路42(n)がパスさせ、出力FIFO4
4(n)にロードされたメタデータパケットをプロセッサモジュール40(n)
から読み出す。
【0043】 (iii)入力ポートモジュール20(n)のそれぞれが、読み出されたメタ
データパケット(上記項目(ii)を参照)に関連するパケットを、インターポ
ートパケットスイッチ22を介して出力ポートモジュール21(n)に転送する
動作を開始させる。一般的に、出力ポートモジュール21(n)制御回路50は
、OUT(N)_FIFO_RETR_EN、すなわち出力(n)FIFO読み
出し許可信号で表されるメタデータパケット読み出し要求を生成し、パケットメ
タデータプロセッサ23、特に出力ポートモジュール21(n)に関連するプロ
セッサモジュール40(n)の出力FIFO44(n)にこの要求を供給し、メ
タデータパケットの読み出しを開始する(上記項目(ii)参照)。各メタデー
タパケット読み出し要求に応答し、出力FIFO44(n)は、出力ポートモジ
ュール21(n)に対してメタデータパケットを持っていれば、PKT_MET
A−DATA信号で表されるメタデータパケットを、出力ポートモジュール21
(n)制御回路50に送る。
【0044】 メタデータパケットの読み出し後、出力ポートモジュール21(n)制御回路
50は、そのメタデータパケットにおいて識別された入力ポートモジュール20
(n)に対し、出力ポートモジュール21(n)へのパケットの転送を許可する
(上記項目(iii)参照)。この動作において、出力ポートモジュール21(
n)制御回路50は、そのパケットをバッファしている入力ポートモジュール2
0(n’)に送るための、OUT(n)/INP(n’)_PKT_REQ、す
なわち出力(n)/入力(n’)パケット要求信号を生成する。各パケット転送
要求は、出力ポートモジュール21(n)制御回路50が読み出されたメタデー
タパケットから取得した、転送すべきパケットへのポインタを含む。図3に関連
して既に説明したように、パケット転送要求を受信すると、入力ポートモジュー
ル20(n’)はその内部バッファからパケットを読み出し、出力ポートモジュ
ール21(n)に転送すべくインターポートパケットスイッチ22に供給する。
【0045】 インターポートパケットスイッチ22は、OUT(n)_PKT_DATA、
すなわち出力(n)パケットデータ信号として表されるように、パケットを出力
ポートモジュール21(n)制御回路50に送る。より詳細には、インターポー
トパケットスイッチ22を構成する種々のスイッチ面22(p)が、それぞれの
パケットセグメントを表す信号、すなわちOP(n)_PKT_DATA_(P
LN_1)である出力(n)パケットデータ(面1)からOP(n)_PKT_
DATA_(PLN_P)である出力(n)パケットデータ(面P)の信号をそ
れぞれセグメント/パケット生成部54に送る。セグメント/パケット生成部5
4は、インターポートパケットスイッチ22から受信される種々のパケットを再
生成すべく機能する。これらのパケットは、転送に先立ちパケットメモリ51に
バッファされる。
【0046】 出力ポートモジュール21(n)制御回路50によってインターポートスイッ
チ22から受信されたパケットは、適当な通信リンク13(p)を経由して、送
信すべくネットワークインターフェース52に供給される。一般に、送信に先立
って、出力ポートモジュール21(n)制御回路50はパケットをパケットメモ
リ51にバッファする。ネットワーク出力インターフェース52は、出力ポート
26(n)(m)を含む。出力ポート26(n)(m)は、通信リンク13(p
)に接続され、PKT_OUT(n)(1)からPKT_OUT(n)(M)(
総括してPKT_OUT(n)(m))のパケット入力信号で表されるパケット
の送信を助ける。1実施形態においては、各出力ポート26(n)(m)は、周
知のSONET仕様に従って構成されたアド(加算)/ドロップマルチプレクサ
を形成するが、もちろんそれ以外のタイプの入力ポートを使用してもよい。
【0047】 上述のように、出力ポートモジュール21(n)制御回路50は、さらに、パ
ス/ドロップ判定に使用すべく、パケットメタデータプロセッサ23の出力ポー
トモジュール21(n)に関連するプロセッサモジュール40(n)に対し状態
情報を供給し、出力ポートモジュール21(n)が、そこに接続された通信リン
ク13(p)を経由して送信するために、入力ポートモジュール20(n)から
パケットを受信する現在の能力を反映する状態情報を更新する(上記項目(i)
参照)。これに関連し、動作状態情報は、好ましくは、パケットメモリ51にお
いて利用可能なバッファリングの量を反映し、あるいはその量が増減しているの
か一定のままであるのかを示してもよい。そのいずれによっても、入力ポートモ
ジュール20(n)からパケットを受信する出力ポートモジュールの現在の能力
についての情報が提供される。なお、出力ポートモジュール21(n)のパケッ
ト送信時に、動作状態情報によりパケットメモリにおいて利用できるバッファリ
ング量が反映されている場合には、状態情報記憶部43(n)内の情報を、各パ
ケットの長さを反映する値だけ増分させることにより、動作状態情報を更新でき
る。
【0048】 既に説明したように、かつ図3に関連し、入力ポートモジュール20(n)制
御回路33は、メタデータ生成部32に対し、ネットワーク入力インターフェー
ス30から受信され、パケットメモリ31にバッファされている各パケットに関
する情報、例えば宛先アドレス及びメモリ30内のパケットへのポインタなどの
情報を供給する。メタデータ生成部32は、パケットメタデータプロセッサ23
に送信するためのメタデータパケットを生成する。メタデータパケットの生成に
おいては、メタデータ生成部32は、宛先アドレスが適当な経路を持っていれば
、このアドレスから適当な経路を識別する。この経路により、パケットを受信す
る特定の出力ポートモジュール21(n)、及び出力ポート26(n)(m)の
1つが識別される。この出力ポートを通って、パケットは目的デバイス12(m D )又は目的デバイス12(mD)への送信路に沿った、ネットワーク内の次のス
イッチングノードに送られる。
【0049】 技術背景として、IPパケットルーティングプロトコルが使用される1実施形
態においては、パケットの適当な経路は、必ずしもパケット内の宛先アドレスと
スイッチングノードの経路情報との完全な一致に基づいて識別されるのではなく
、宛先アドレスにおいて最も長い「プレフィックス」のあいだでの一致に基づき
選択される。なお、プレフィックスは、宛先アドレスの上位ビット(high-order
bits)から構成される。上述のように、各経路は、アドレス情報と、出力ポー
トモジュール21(n)及び出力ポート26(n)(m)の識別情報を含み、プ
レフィックスと経路のアドレス情報部分とが比較され、一致が判断される。現在
、IPアドレス(ソースアドレスまたは上記用いられるような宛先アドレス)は
、A31・・・A0の形式を有する32ビットの整数である。なお、各「Ai」は2
進数(ビット)である。したがって、適当な経路とは、最も長いビット列A31
・・Aj(すなわち、インデックス「j」が最小値)が、スイッチングノードに
より保持される経路におけるアドレス情報に一致している経路である。宛先アド
レスに対して一致する経路がない場合には、スイッチングノードはその特定宛先
アドレスに対する経路を持たない。
【0050】 このような一致を判断するためにいくつかのメカニズムを使用できる。例えば
、ルーティング情報を複数のテーブルの形にまとめることもできる。各テーブル
には、特定のプレフィックス長に対するルーティング情報が記憶されている。そ
の場合、テーブルは、最も長いプレフィックス長に関連する物からより短いプレ
フィックス長のテーブルの順に処理できる。テーブルにおいて、宛先アドレスの
プレフィックスとテーブルに記憶されたアドレス情報とが一致した最初の経路が
適当な経路である。いずれのテーブルにおいても一致が判断されなければ、スイ
ッチングノードが該宛先アドレスに対する経路を持たないことになる。しかしな
がら、このような構成に関連していくつかの問題が生じる。最も深刻な問題は、
多数のテーブルを生成し、スイッチングノードにより維持しなければならないこ
とであり、これによりスイッチングノードがより複雑になり、さらには各テーブ
ルを記憶するために必要なメモリ量が増えてしまう。さらに、一般的には、ある
アドレスのルーティング情報を得る際に、特にそのアドレスに対して適当なルー
ティング情報を有するテーブルを識別するために、多数のテーブルにアクセスす
ることがある。現在提案されているようにインターネットアドレスにおいて使用
されるアドレスビットの数が128ビットまで増加すると、これらの問題はより
深刻になる。
【0051】 これらの問題に対処するため、メタデータ生成部32は、1実施形態において
、圧縮された読み出しツリー(”trie”)構造を、また別の実施形態ではバイナ
リサーチツリー構造を利用し、入力ポートモジュール制御回路33(図2)によ
ってこれに接続されたインターネットアドレスに対するルーティング情報を生成
する。符号70で示された圧縮された読み出しツリー構造の機能ブロック図を図
7に示し、符号90で示されたバイナリサーチツリー構造の機能ブロック図を図
8に示す。いずれの実施形態においても、図7及び図8に関連して以下に説明す
るように、適当なルーティング情報の生成において、メタデータ生成部32は、
各ステージがある動作を実行する複数のパイプラインステージにおけるパイプラ
イン方式でルーティング情報を生成する。情報がパイプライン方式で生成される
ため、メタデータ生成部32は、アクセスする必要のあるテーブルの数を減少さ
せながら、複数のパケットから同時発生したインターネットアドレスに関連して
種々の処理動作を実行することができる。
【0052】 まず、図7を参照すると、圧縮された読み出しツリー構造70は、複数のアド
レスレジスタ71(1)から71(N−1)(総括して符号71(n)により識
別される)を含む。各アドレスレジスタは、複数のステージ72(1)から72
(N−1)の1つに関連する。「N番目の」ステージ72(N)が、以下に示す
ように使用すべくさらに設けられ、ステージ72(1)から72(N)が総括し
て符号72(n)で識別されている。ルーティング情報の生成は、以下に示す一
連のパイプラインステージにおいて進行する。
【0053】 (i)第1のパイプラインステージでは、アドレスレジスタ(71)(1)が
、ルーティング情報を生成すべきパケットのインターネットアドレスをまず受信
する。その後、関連するステージ72(1)により、図7中ADRS_FIEL
D_0及びADRS_FIELD_1として識別される2つのアドレスフィール
ドにおいて、所定数の上位アドレスビットが使用され、ステージ72(2)に接
続された情報を生成する。
【0054】 (ii)第2のパイプラインステージでは、ステージ71(1)におけるイン
ターネットアドレスはアドレスレジスタ71(2)に転送される。ステージ72
(1)によってステージ72(2)に接続された情報は、現在アドレスレジスタ
71(2)にあるインターネットアドレスから得られた、図7においてADRS
_FIELD_2と識別される、上位アドレスビットに続く所定数のアドレスビ
ットとともに、ステージ72(2)によって使用され、ステージ72(3)に接
続された情報が生成される。
【0055】 (N−1)最後の「N−1番目」パイプラインステージでは、ステージ(N−
1)におけるインターネットアドレスはアドレスレジスタ71(N−1)に転送
される。ステージ72(N−2)によってステージ72(N−1)に接続された
情報は、現在アドレスレジスタ71(N−1)にあるインターネットアドレスか
ら得られた、図7においてADRS_FIELD_N−1と識別される、所定数
の下位アドレスビットとともに、ステージ72(N−1)によって使用され、ス
テージ72(N)に結合された情報が生成される。なお、上述したような各パイ
プラインステージに対し、インターネットアドレスがアドレスレジスタ71(1
)からアドレスレジスタ71(2)に転送されると、アドレスレジスタ71(1
)には別のインターネットアドレスをシフトでき、後続のアドレスレジスタ71
(n)に対しても同様にシフトできるので、インターネットアドレスのパイプラ
イン処理が簡単に行える。
【0056】 各ステージ72(n)は、テーブル73(n)と、関連する記録および/また
は処理回路とを含む。ステージ72(1)〜71(N−1)の各々は、テーブル
73(n)を含む。このテーブルの各々は、複数のエントリ73(n)(yn
を含む。各エントリ73(n)(yn)は、データ/ポインタフラッグ75と、
マップフィールド76と、データ/ポインタフィールド77(テーブル73(2
)に明示的に示す)とを含む複数のフィールドを含む。マップフィールド76は
、一連のビットMB1〜M0(総括的にMbとして示す)を含む。この各々は、アド
レスレジスタ72(n)内のADRS_FIELD_n内のアドレスビットによ
って示される、可能なバイナリ符号値(possible binary encoded values)の一つ
と関連する。通常、データ/ポインタフラッグ75が設定されている場合、デー
タ/ポインタフィールド77は、アドレスレジスタ72(n)内のADRS_F
IELD_n内のアドレスビットに関連する全てのアドレスに対するルーティン
グ情報を含む。一方、データ/ポインタフラッグ75がクリアであり、アドレス
レジスタ72(n)内のADRS_FIELD_n内のアドレスビットのバイナ
リコード値と関連するマップフィールド76内のビットMbが設定されている場
合、マップフィールド76の一部と共にデータ/ポインタフィールド77を使用
して、次のステージ72(n+1)において、テーブル73(n+1)内のエン
トリ73(n+1)(yn+1)を示すポインタを生成する。
【0057】 マップフィールド76は更に、デフォルトフラッグMBを含む。データ/ポイ
ンタフラッグ75がクリアである場合、アドレスレジスタ72(n)内のADR
S_FIELD_n内のバイナリコード値と関連するビットMbが設定されてい
れば、デフォルトフラッグMBを用いる。ビットMbがクリアであるが、デフォル
トフラッグMBが設定されている場合、デフォルトフラッグMB自身以外に、マッ
プフィールド76全体と共にデータ/ポインタフィールド77を使用して、次の
ステージ72(n+1)において、テーブル73(n+1)内のエントリ73(
n+1)(y+n+1)を生成する。最後に、データ/ポインタフラッグ75と、
アドレスレジスタ72(n)内のADRS_FIELD_nのバイナリ符号値に
関連するビットMbと、デフォルトフラッグMBとがすべてクリアである場合、ア
ドレスレジスタ71(n)内のインターネットアドレスに対するルーティング情
報は存在しない。
【0058】 ステージ72(N)は、複数のエントリ73(N)(YN)を含むテーブル7
3(N)も含む。しかしテーブル73(N)では、各エントリは1フィールドの
みを有し、このフィールドは、ルート情報を有する。
【0059】 テーブル73(n)(Yn)内の情報を処理して、以下のようにしてルート情
報を生成する。ステージ72(1)では、使用するテーブル73(1)が有する
特定のエントリを、ADRS_FIELD_0のバイナリコード値によってポイ
ントする。ステージ72(1)〜71(N−1)の各々は、さらに、ステージ(
n)プロセッサ80(n)を有する。これは、以下のように動作する。ステージ
(1)プロセッサ80(1)は、アドレスレジスタ72(1)からADRS_F
IELD_1を、また、ADRS_FIELD_0によって示されたテーブル7
3(1)が有するエントリ73(1)(y1)からフィールド75,76,77
の内容を、それぞれ受信して、これらに応じて多数の演算を行う。特に、ステー
ジ(1)プロセッサ80(1)は、 (i)データ/ポインタフラッグ75が設定されているかを検出し、設定され
ている場合は、データ/ポインタフラッグと、データ/ポインタフィールド77
の内容とを次のステージ72(1)に供給する。この時、設定されたデータ/ポ
インタフラッグは、データ/ポインタフィールド77から供給された情報がルー
ト情報(「RT_INFO」)を有することを示す。
【0060】 (ii)データ/ポインタフラッグ75がクリアであって、アドレスレジスタ
72(1)内のADRS_FIELD_1のバイナリコード値に関連する、選択
されたエントリ73(1)(y1)のマップフィールド76におけるのビットMb が設定されている場合、設定されているビットM0、M1、・・・をビットMb未満
までカウントし、データ/ポインタフィールド77に含まれる値に該番号を加算
し、合計とデータ/ポインタフラッグとを次のステージ72(2)に供給する。
この時、クリアデータ/ポインタフラッグは、該合計を使用して、該ステージ7
2(2)のテーブル73(2)におけるエントリ73(2)(y2)を識別する
ことを示す。
【0061】 (iii)データ/ポインタフラッグ75と、アドレスレジスタ72(1)内
のADRS_FIELD_1のバイナリコード値に関連する、選択されたエント
リ73(1)(y1)のマップフィールド76におけるビットMbとが共にクリア
である場合、ビットMBが設定されているかを検出し、検出されていれば、設定
されているビットM0、M1、・・・をビットMB未満までカウントし、データ/ポ
インタフィールド77に含まれる値に該番号を加算し、合計とデータ/ポインタ
フラッグとを次のステージ72(2)に供給する。この時、クリアデータ/ポイ
ンタフラッグは、該合計を使用して、該ステージ72(2)のテーブル73(2
)におけるエントリ73(2)(y2)を識別することを示す。
【0062】 (iv)データ/ポインタフラッグ75と、アドレスレジスタ72(1)内の
ADRS_FIELD_1のバイナリコード値に関連する、選択されたエントリ
73(1)(y1)のマップフィールド76におけるビットMbと、ビットMB
がすべてクリアである場合、これ(つまり、ステージ(1)プロセッサ80(1
))は、アドレスレジスタ72(1)内のアドレスに対するルーティング情報が
無いことを示す通知を、次のステージ72(2)に供給する。つまり、上記(i
i)(iii)に関連して分かることは、テーブル73(2)が有していなけれ
ばならないエントリ73(2)(y2)の数は、せいぜい、データ/ポインタフ
ラッグ75がクリアである(上述したように、データ/ポインタフィールド77
がポインタを有することを示す)エントリ73(1)(y1)に対して(最大「
B」エントリ73(1)(y2)まで)設定される、エントリ73(1)(y1
のマップフィールド76におけるビットM0、M1、MBの数に対応する数である
、ということである。これは、各エントリ73(1)(y1)に対して、また、
アドレスレジスタ72(2)のADRS_FIELD_2におけるアドレスビッ
トの可能なバイナリコード値に対して、一つのエントリ73(2)(y2)を設
けた場合にくらべて非常に少ない数にすることができる。
【0063】 ステージ(1)プロセッサ80(1)が上述のように出力情報を生成した後、
ステージ72(2)による処理のために、アドレスレジスタ72(1)内のイン
ターネットアドレスをアドレスレジスタ72(2)に転送する。ステージ72(
2)は、ステージ72(1)からの出力に関連して、ステージ72(2)内のア
ドレスにおける次のアドレスフィールドADRS_FIELD_2(別途図示せ
ず)のからのアドレスビットを処理する。上述のように、ステージ72(2)は
、テーブル73(2)を有する。このテーブルは、ステージ72(1)中のテー
ブル73(1)と同様に構成される。さらに、ステージ72(2)は、ステージ
(2)プロセッサ80(2)を有する。これは、ステージ(1)プロセッサ80
(1)と関連して説明した方法と同様の方法で動作するが、次の点で異なる。つ
まり、ステージ72(2)が、データ/ポインタフラッグが設定される情報をス
テージ72(1)から受信すると(つまり、ステージ72(1)から受信した情
報は、ルート情報または、現在アドレスレジスタ72(2)中にあるインターネ
ットアドレスに対してメタデータ発生器32はルーティング情報を有さない旨を
ステージ72(2)に知らせる通知であることを示す)、ステージ(2)プロセ
ッサ80(2)は、該情報を次のステージ72(3)につなげ、ステージ72(
2)のテーブル73(2)のエントリ73(2)(y2)に関連した処理演算を
行わない。
【0064】 アドレスが、連続するアドレスレジスタ71(3)〜71(N−1)を通過す
るように転送されるので、連続するステージ72(3)〜72(N−1)におい
てこれらの演算が繰り返される。インターネットアドレスのアドレスフィールド
ADRS_FIELD_N−1をステージ72(N−1)で処理した後、該ステ
ージ72(N−1)はルーティング情報または、ステージ72(N)に向けたポ
インタも提供する。ステージ72(N)は、ステージ(N)プロセッサ80(N
)も含む。ステージ(N)プロセッサ80(N)が、ステージ72(N−1)か
らルーティング情報(デフォルトルーティング情報、または、メタデータ発生器
32が該アドレスに対するルーティング情報を有さない旨の通知を含む)を受信
する場合、これは、メタデータ発生器32に対する出力ルーティング情報として
、該ルーティング情報を提供する。一方、ステージ72(N)が、テーブル73
(N)内のエントリ73(N)(YN)に向けたポインタをステージ72(N−
1)から受信する場合、ステージ(N)プロセッサ80(N)は、エントリの内
容を、該インターネットアドレスに対するルーティング情報として提供する。
【0065】 図8は、 他の実施形態の機能ブロックである。この実施形態は、バイナリサ
ーチツリー構成を有し、これに接続されたインターネットアドレスに対するルー
ティング情報を、入力ポートモジュール制御回路33(図2)によって生成する
。参照番号90で示すバイナリサーチツリー構成の機能ブロック図を図8に示す
。前段階で、バイナリサーチツリー構成は実際に、複数のバイナリサーチツリー
を規定する。各バイナリサーチツリーはノードを有する。これは、最高レベルで
ある1個の「根」ノードから、最低レベルである複数の「葉」まで、複数のレベ
ルで構成される。根ノードから葉ノードまでの間のバイナリサーチツリーでのノ
ードの各々は、より高いレベルに1つの親と、より低いレベルに2つの子とを有
する。根ノードは2つの子(親は無し)も有し、各葉は1つの親(子は無し)も
有する。ここでは、各ノードに対して子の一つを「右手」子、他の子を「左手」
子と称する。各バイナリツリーに対して、レベルの数「NUM_LEVELS」
が、ベース2に対する、葉の数「NUM_LEAVES」の対数の関数であるこ
とが分かる。つまり、NUM_LEVELS=Log2(NUM_LEVELS
)+1。
【0066】 通常、バイナリサーチツリーを用いて、入力値を、葉の一つと関連づける。こ
れは、以下のように、非葉ノードレベルの数に対応する回数の繰返しにおいて行
う。葉レベルより上のバイナリツリーにおけるノードの各々が比較値と関連づけ
られ、葉におけるは葉ノードは、該入力値と関連づけようとされる多様な値に関
連づけられる。一回目の繰返しで、入力値を、根ノードと関連する比較値と比較
する。
【0067】 (i)該入力値が比較値以上であれば、右側子が選択される。
【0068】 (ii)該入力値が比較値未満であれば、左側子が選択される。
【0069】 その後は、第2レベル内でのノードが葉ノードでなければ、2番目の繰返しに
おいて、第2レベルにおいて選択されたノードに関連する比較値に関連して比較
を行い、根ノードに関して行ったと同様の方法で(上記(i)(ii)を参照の
こと)一方の子を選択する。これらの演算を、葉レベルより上の各レベルにおい
てノードに対して繰り返す。葉レベルのすぐ上のレベルで、上述の方法と同様に
(上記(i)(ii)を参照のこと)ノードに関連して演算を行う場合、葉レベ
ルでの子ノードを選択し、これを、入力値と関連づけようとする値に関連づける
【0070】 バイナリサーチツリーに関連して実行される演算に関する上記の記述から、葉
レベルより上の各レベルにおいて、ノードに関連する比較値は、基本的に、可能
な入力値の範囲を複数の間隔(intervals)に分割する作用をする。つまり、可能
な入力値の範囲が(0、最大)の場合、根ノードは全体の範囲を2つの間隔(0
,A)、(A,最大)に分割する。この時、「最大」は可能な最大の入力値を示
し、「x、y」は終点「x」および「y」を含む範囲を示す。また、「A」は根
ノードに関連する比較値を示し、「x、y」は低い方の終点「x」を含み、高い
方の終点「y」を含まない間隔を示す。したがって、入力値が低い方の間隔(0
,A)に該当する場合、左側子ノードが選択される。一方、入力値が高い方の間
隔(A、最大)に該当する場合、右側子ノードが選択される。根ノードの左側子
はさらに、間隔(0、A)を二つの間隔(0、B)と(B、A)とに分割する。
また、根ノードの右側子はさらに、間隔(A、最大)を二つの間隔(A,C)と
(C,最大)とに分割する。通常、葉ノードより上のレベルでは、より低いレベ
ルのノードは、その次に高いレベルで規定される一組の間隔セットを、より小さ
な連続した間隔に更に分割する作用をする。したがって、バイナリサーチツリー
は、基本的に、入力値を、葉ノードと関連する間隔に関連づけるよう作用するこ
とが分かる。
【0071】 本発明の状況では、入力値はインターネットアドレスであり、葉ノードに関連
する値はルーティング情報を有する。
【0072】 かかる背景で、図8を参照しながらバイナリサーチツリー構造90を説明する
。バイナリサーチツリー構造は、入力レジスタ91と、入力テーブル92と、一
連のツリーステージ95(1)〜95(N)(総括的に参照番号95(n)で示
す)と、ルーティング情報テーブル112とを有する。通常、ツリーステージ9
5(1)〜95(n)は、葉レベルより上のレベルでバイナリサーチツリー構造
90を有するバイナリサーチツリーのノードに対するノード情報を記録し、ルー
ティング情報テーブルは、バイナリサーチツリー構造を有するバイナリサーチツ
リーのリーフノードに関するルーティング情報を記録する。上述のように、バイ
ナリサーチツリー構造90は複数のバイナリサーチツリーを規定するが、バイナ
リサーチツリーは、異なる数のレベルを有することができる。したがって、ステ
ージ95(n)の番号「N」は、すべてのバイナリサーチツリーに対する、葉レ
ベルより上のレベルの最大数の関数である。しかし、基本的に、葉ノードはルー
ティング情報テーブル112に関連づけられるので、多様なバイナリサーチツリ
ーの根ノードを、ステージ95(n)の多様なバイナリサーチツリーと関連づけ
ることができる。つまり、レベルの数が比較的少ないバイナリツリーの場合、そ
の根ノードが関連づけられるステ−ジ95(n)の「n」は比較的「1」に近い
。該インデックスは、最後のステージ95(1)に関連する。一方、比較的多く
の数のレベルを有するバイナリサーチツリーの場合、その根ノードが関連づけら
れるステージ95(n)の「n」は比較的「N」に近い。該インデックスは最初
のステージ95(N)に関連する。インターネットアドレスを関連づける特定の
バイナリサーチツリーは、インターネットアドレスの上位部分で決定される。入
力テーブル92は、インターネットアドレスの上位部分のバイナリコード値の各
々に対して、該バイナリコード値に対して使用されるバイナリサーチツリーに対
する根ノードに関連するステージ95(n)を識別するポインタを含む。
【0073】 より具体的には、入力テーブル92は、複数のエントリー92(1)〜92(
N)を含む(総称的に参照番号92(n)で示す)。各エントリは、インターネ
ットアドレスの上位部分のバイナリエンコード値に関連づけられる。各エントリ
92(n)は、2つのフィールド、つまり、テーブル遅延フィールド93と、次
テーブルインデックスフィールド94とを有する。テーブル遅延フィールド93
は、該ツリーに対する根ノードに関連するステージ95(n)を識別する際に使
用される値を含む。次テーブルインデックスフィールド94は、インターネット
アドレスの下位部分との比較に使用される比較値を含むステージ95(n)によ
って維持されるテーブル(後述)内のエントリを示すポインタを含む。
【0074】 ステージ95(N)〜95(1)は全て同様なので、ステージ95(N)のみ
を詳細に図8に示す。ステージ95(N)は、下位アドレス記憶部97と、テー
ブル96(N)と、後述する処理構成要素とを有する。入力テーブル92内のエ
ントリ92(n)がアクセスされた後、記憶部97は、入力レジスタ91からイ
ンターネットアドレスの低位部分を受信し、記録する。同時に、アドレスレジス
タ91内のインターネットアドレスの上位部分に関連する入力テーブル92のエ
ントリ92(n)からのテーブル遅延フィールド93および次のテーブルインデ
ックスフィールド94の内容を、記憶部100に記録する。テーブル96(N)
は複数のエントリ96(N)(0)〜96(N)(YN)(総括的に参照番号9
6(N)(yN)で示す)を含む。この各々は、バイナリ比較ツリー内のノード
に関連し、比較値フィールド101を有する。各エントリ96(N)(yN)の
各々における比較値フィールド101は、最大のバイナリ比較ツリーの根ノード
、つまり、葉レベルより上の「N」個のレベルを有するバイナリ比較ツリーに対
するノード情報に対応する。比較値フィールド101は、記憶部97内のインタ
ーネットアドレスの低位部分と比較される比較値を記録する。
【0075】 ステージ95(N−1)、・・・、95(1)(総括的に参照番号95(n)
で示す)は、テーブル96(N−1)、・・・、96(1)(総括的に参照番号
96(n)で示す)も有する。各テーブルは、YN-1、・・・、Y1(通常YN
個のエントリを有する。その各々も比較値を記録する。テーブル96(N−1)
、・・・、96(1)の各々おけるエントリの中には、それぞれの先行ステージ
でのテーブル96(N)、・・・、96(2)におけるエントリの、それそれの
バイナリ比較ツリーの子ノードに相当するものもある。したがって、テーブル9
6(N−1)、・・・、96(1)の各々は、子ノードに適応するために、先行
するテーブル96(N)、・・・、96(2)のエントリ数の2倍の数のエント
リを有する。さらに、該ステージからバイナリ比較値が開始されるテーブル95
(N−1)、・・・、95(1)に対して、該ステージに関連するテーブル96
(N−1)、・・・、96(1)も追加された数のエントリを有する。これらエ
ントリの各々は、該ステージから開始される各バイナリ比較ツリーの根と関連す
る。また、これらの場合、テーブル96(N−1)、・・・、96(1)は、先
行ステージに関連するテーブル96(N)、・・・、96(2)におけるエント
リの数の2倍以上の数のエントリを有することができる。
【0076】 ステージ95(N)の処理部は、以下の動作を含むいくつかの動作を行なう。
【0077】 (i)記憶部100のテーブルインデックス部分「TBL_IDX」が指す、
テーブル96(N)内のエントリ96(N)(y)を選択する。このテーブルイ
ンデックス部分は、入力テーブルの選択されたエントリ92(n)からの次テー
ブルインデックスフィールド94の内容に対応する。
【0078】 (ii)記憶部97内のインターネットアドレスの下位部分がバイナリ符号化
された値と、選択されたエントリ96(N)(y1)のフィールド101からの
比較値とを比較する。
【0079】 (iii)上記項目(ii)の比較結果に基づき、次のステージ76(N−1
)のテーブル内のエントリへのポインタを生成する。
【0080】 (iv)記憶部100からのテーブル遅延値の値とステージのインデックス「
N」との比較に基づき、上記項目(iii)で生成されたポインタ又は記憶部1
00からのテーブルインデックスのいずれかを選択し、次のステージ95(N−
1)に繋げる。記憶部100内のテーブル遅延値が、ステージ95(N)のイン
デックス「N」に対応する場合、記憶部100内のテーブルインデックスが指す
エントリは、ステージ95(N)内のエントリ96(N)(yN)を指し、この
エントリ96(N)(yN)は、記憶部97内にその下位部分があるインターネ
ットアドレスに使われる、バイナリサーチツリーのルートノードである。同様に
、記憶部100内のテーブル遅延値が、ステージ95(N)のインデックス「N
」よりも小さい場合、記憶部100内のテーブルインデックスが指すエントリは
、ステージ95(N)内のエントリ96(N)(yN)を指し、このエントリは
、その下位部分が記憶部97にあるインターネットアドレスに使われるバイナリ
サーチツリー内に、ルートノードよりも下にある。いずれの場合においても処理
部は、記憶部97内のインターネットアドレスの下位部分がバイナリ符号化され
た値と、選択されたエントリ96(N)(yN)のフィールド101からの比較
値との比較結果に基づき、生成されたポインタの一つを、ステージ95(N)内
の記憶部100からのテーブル遅延値と共に、テーブルインデックスとして使う
ために次のステージ95(N−1)の記憶部100に繋げる。
【0081】 一方、記憶部100内のテーブル遅延値がステージのインデックスよりも大き
い場合、記憶部100内のテーブルインデックスが指すエントリは、その下位部
分が記憶部97にあるインターネットアドレスに使われるための、バイナリサー
チツリー内のノードである、ステージのテーブル内のエントリのいずれも指さな
い。この場合、処理部は、記憶部100からのインデックス値を、記憶部100
内のテーブル遅延値と共に、テーブルインデックスとして使うために次のステー
ジ95(N−1)に繋げる。
【0082】 ステージ95(N)内の処理部は、コンパレータ98及び99、マルチプレク
サ104及び105、乗算器106、及び加算器107などのいくつかの構成要
素を含む。乗算器106及び加算器107は、次のステージ95(N−1)内の
エントリへのポインタを生成する機能を持つ。上述のように、バイナリ比較ツリ
ーでは、各ノードが二つの子を有する。よって、一つの実施形態では、エントリ
96(N)(0)の子が、ステージ95(N−1)のテーブル内のエントリ96
(N−1)(0)及びエントリ96(N−1)(1)となり、エントリ96(N
)(1)の子が、エントリ96(N−1)(2)及びエントリ96(N−1)(
3)、などとなるように、次のステージ内のエントリへのポインタを生成しても
よい。よって、この実施形態では、乗算器106及び加算器107が、記憶部1
00内のテーブルインデックス値に値「2」を掛け(この作業は乗算器106に
よって実行される)、エントリ96(N)(yN)に関連するバイナリツリーの
ノードの片方の子へのポインタを生成し、乗算器106によって生成された値に
値「1」を足すことにより、もう一方の子へのポインタを生成することにより、
複数のポインタを生成できる。この場合、次のステージ95(N−1)のテーブ
ル96(N−1)内のエントリー96(N−1)(0)から96(N−1)(2
N−1)は、バイナリ比較ツリー内の子ノードに関連し、このバイナリ比較ツ
リーのルートノードは、ステージ95(N)に関連するテーブル96(N)内の
エントリ96(N)(yN)に関連する。いずれかのバイナリ比較ツリーが、ス
テージ95(N−1)に関連するルートノードを有する場合、これらのルートノ
ードはそれぞれ、テーブル96(N−1)内の追加エントリ96(N−1)(2
N)などと関連する。テーブル96(N−2)からテーブル96(1)は、同
様に組織化される。
【0083】 コンパレータ98は、記憶部97からのインターネットアドレスの下位部分と
、選択されたエントリ96(N)(Y)のフィールド101からの比較値とを比
較し、これに応答してマルチプレクサ104を制御する機能を有する。コンパレ
ータ98が、記憶部97からのインターネットアドレスの下位部分が、選択され
たエントリ96(N)(Y)のフィールド101からの比較値以上であると判断
した場合、マルチプレクサ104は、加算器107によって生成されたポインタ
を、マルチプレクサ105の一方の入力に繋げる。一方、コンパレータ98が、
記憶部97からのインターネットアドレスの下位部分が、選択されたエントリ9
6(N)(Y)のフィールド101からの比較値よりも小さいと判断した場合、
マルチプレクサ104は、乗算器106によって生成されたポインタを、マルチ
プレクサ105の上と同一の入力に繋げる。記憶部100からのテーブルインデ
ックスは、マルチプレクサ105の第二の入力と繋げられる。
【0084】 マルチプレクサ105は、コンパレータ99からの信号により制御される。コ
ンパレータ99は、記憶部100からテーブル遅延値を受信し、また、ステージ
インデックス「N」に対応する値を受信する。テーブル遅延値がステージインデ
ックス以下の場合、マルチプレクサ105は、マルチプレクサ104が出力した
値、すなわち、乗算器106又は加算器107によって生成されたポインタを次
のステージ95(N−1)に繋げる。一方、記憶部100内のテーブル遅延が、
ステージインデックスよりも大きな値を有する場合、マルチプレクサ105は、
記憶部100からのテーブルインデックスを次のステージ95(N−1)に繋げ
る。
【0085】 乗算器106、加算器107、及びマルチプレクサ104によって提供される
と説明された機能は、そのための明確な部品を設けずに実施してもよいことを理
解すべきである。テーブルインデックスに「2」を掛けることは、記憶部100
内のテーブルインデックスを構成する2進数の桁をそれぞれ「左」に一ビットの
位置分シフトすることに対応し、「1」を足すことは、下位ビット位置の二進数
の桁をセットすることに対応するため、これらの機能は、記憶部100内のテー
ブルインデックスを構成するビットTIHからTI0(別個には図示せず)を、マ
ルチプレクサ105の関連する入力端末の信号路SH+1からS1(これもまた別個
には図示せず)(すなわちマルチプレクサ104から信号を受信するよう図示す
る入力端末)に繋げることによって提供してもよい。下位信号路S0は、コンパ
レータ98からの信号を受信し、よって、テーブル96(N)の選択されたエン
トリ内の比較値と、記憶部97内のアドレスの下位部分との比較結果が、次のス
テージ95(N−1)に関連するテーブル96(N−1)内のどのエントリ96
(N−1)(yN−1)が選択されるのかを制御する。
【0086】 バイナリ比較ツリーのそれぞれのエントリ及びノードの関係が、上述のように
制限されていない場合、ステージ95(N)から95(2)のそれぞれのテーブ
ル96(N)から96(2)内のエントリ96(N)(yN)、...96(2)(
2)が、それぞれの次のステージ95(N−1)から95(1)のエントリ9
6(N−1)(yN-1)から96(1)(y1)への明確なポインタを含んでいて
もよいことを理解すべきである。
【0087】 本発明はいくつかの利点を有する。特に、本発明は、入力キューに入れられた
スイッチングノードのスケールを変更できるスイッチングノードを提供し、同時
に、出力キューに入れられたスイッチングノードのスイッチング機構利用(swit
ching fabric usage)の効率を実質的に保つ。出力キューに入れられたスイッチ
ングノードにおいては、N2個のバッファが必要とされるが、それぞれの出力ポ
ートモジュール21(n)によってパケットが送信されるべきかどうかの判断が
下されるまで、また、それぞれの出力ポートモジュール21(n)によって、送
信のためにそのモジュールへとパケットを転送するように要求されるまで、パケ
ットが入力ポートモジュール20(n)にバッファされるため、各入力ポートモ
ジュール20(n)に一つ、計「N」個のバッファ又はキューのみが必要とされ
る。一方、パケットをパスさせるかドロップするかの判断は、入力ポートモジュ
ール20(n)の全てから出力ポートモジュールへとキューに入れられたメタデ
ータパケットに関連して、各出力ポートモジュール21(n)に対して行われる
ため、パス/ドロップの判断は、全ての入力ポートモジュール20(n)に対し
て、出力キューに入れられたスイッチングノードと実質的に同じ方法で実行され
る。しかしながら、パス/ドロップの判断は、ネットワークを通じて転送される
典型的なパケットの大きさよりも一般的に小さな、メタデータパケットに対して
行われるため、出力キューに入れたスイッチングノードにおいて発生するような
、ドロップされたパケットが、パケットスイッチ22をパスしないようにするこ
とにより、その後のステップで出力ポートモジュール21(n)によってドロッ
プされるパケットを転送することにより使われてしまうスイッチング帯域幅を低
減できる。
【0088】 これに加え、パケットのパス/ドロップの決定は、パケットがそれぞれの入力
ポートモジュール20(n)からそれぞれの出力ポートモジュール21(n)へ
と転送される前に行われるため、入力及び出力ポートモジュール間の、ポート間
パケットスイッチ22を通じた帯域幅が、出力ポートモジュール21(n)が混
んでいる時に出力ポートモジュール21(n)によってドロップされる可能性の
高いパケットによって使われてしまうことが無い。これにより、出力ポートモジ
ュールに到達した時に送信される可能性の高いパケットのみを入力ポートモジュ
ールから出力ポートモジュールへと転送することを保証することにより、入力及
び出力ポートモジュール間のパケットトラヒックを最適化できる。これにより、
それぞれの出力ポートモジュール21(n)が、混んでいない場合には送信する
が混雑により送信できずドロップしてしまうパケットを、スイッチングノード1
1(n)を通じて転送することによるリソースの無駄が無くなるので、スイッチ
ングノード11(n)に、比較的高いトラヒック容量を取り扱う能力を提供する
【0089】 より一般的には、パス/ドロップの判断は、各出力ポートモジュール21(n
)のパケットメタデータプロセッサによって、入力ポートモジュール20(n)
の全てが提供した「グローバル」な情報に基づいて行われるため、スイッチング
ノード11(n)は、小さなデバイスの集合体ではなく、単一のモノリシック(
集積)デバイスとして動作できる。このグローバルな情報は、それぞれの出力ポ
ートモジュール21(n)に、全ての入力ポートモジュール20(n)の状態を
表すグローバルな視点を提供する。この視点を提供しないデバイスにおいては、
入力ポートモジュール20(n)の集合によって提供される情報に基づいて判断
でき、この場合、集合情報は、共通の視点に集められ、この共通の視点がそれぞ
れの出力ポートモジュール21(n)によって使われる。入力ポートモジュール
20(n)がどのように集合化されるかによって、また、各集合によって提供さ
れた情報がどのように集められるかによって、各集合内のそれぞれの入力ポート
モジュール20(n)の状態に関する重要な情報が無視されてしまう場合もあり
、この場合、入力ポートモジュール20(n)とそれぞれの集合との関係に基づ
き、出力ポートモジュール21(n)が、スイッチングノードが、あたかもより
小さなデバイスの集合体であるかのように、動作する場合もある。これにより、
スイッチングノードの全体的なトラヒック取り扱い能力を低減させてしまう場合
もある。
【0090】 図2から図6に関して上で説明したスイッチングノード11(n)に、数々の
変更を加えられることを理解すべきである。例えば上述では、メッセージの転送
のためのIPルーティングプロトコルを使うスイッチングノード11(n)を示
したが、ここに挙げるものに限らないが、IPパケット、ATMセル、フレーム
中継パケットなどを含む、可変長又は固定長のパケットを使う、便利なルーティ
ングプロトコルの数々を使用しても良いことを理解すべきである。
【0091】 これに加え、メタデータプロセッサ40(n)として、それぞれの出力ポート
モジュール21(n)に関連する別個のステータス情報記憶部43(n)を設け
るものを説明したが、この代わりに、メタデータプロセッサ23が、混雑してい
る出力ポートモジュール21(n)の識別子を保存するキャッシュメモリ(図示
せず)を有していてもよく、全てのメタデータプロセッサ40(n)のパケット
パス/ドロップ回路42(n)が、このキャッシュメモリを使うことができる。
どの時点においても、少数の出力ポートモジュール21(n)のみが混雑するこ
とが予測される場合、キャッシュメモリの使用に必要とされるメモリの量は、各
メタデータプロセッサ40(n)に対して記憶部43(n)を設けるために必要
な量よりも少ない場合もある。
【0092】 更に、スイッチングノード11(n)は、ポート間パケットスイッチとして、
交点スイッチを使うものとして説明されたが、他の数々の形式のスイッチのいず
れを使用することもできることを理解すべきである。
【0093】 これに加え、パケットメタデータプロセッサ23は、出力ポートモジュール2
1(n)の各々に関連して一つのプロセッサモジュール40(n)を設けるもの
として説明されたが、この代わりに、各出力ポート26(n)(m)に関連する
プロセッサモジュールを設けてもよいことを理解すべきである。この場合、それ
ぞれの出力ポートモジュール21(n)は、プロセッサモジュールに、それぞれ
の出力ポート26(n)(m)に関連する動作ステータス情報を提供し、この情
報は、プロセッサモジュールによって、パス/ドロップ判断を行うために使われ
る。これに加え、各出力ポートモジュール21(n)は、出力ポート26(n)
(m)に関連するそれぞれのプロセッサモジュールによって通過されたメタデー
タパケットの回収及びそれに関連する後続のパケットの回収の予定を決定し、全
ての出力ポート26(n)(m)を通じたパケット送信を最大化できるようにし
てもよい。
【0094】 これに加え、メタデータ発生器32として、単一の比較ツリーを使い、送信先
アドレスへの適切な経路を識別するものが説明されたが、メタデータ発生器32
は、いくつかのそのような比較ツリーを使うように構成されてもよく、使用する
特定の比較ツリーの選択が、例えば、送信先アドレスの上位ビットの選択された
桁に表されるバイナリ符号化された値によって決定されてもよいことを理解すべ
きである。この場合、比較テーブルは、残りの下位ビットに基づいて構成され、
比較は、送信先アドレスの下位ビットに関連して行われる。
【0095】 これに加え、スイッチングノード11(n)は、SONET追加/ドロップマ
ルチプレクサを入力ポート25(N)(m)及び出力ポート26(n)(m)と
して使うものとして説明されたが、通信リンクにインターフェースを有する他の
種類のデバイスを便利に使用してもよいことを理解すべきである。
【0096】 本発明によるシステムは、全体として又は一部として、特別な目的のハードウ
ェア又は汎用コンピュータシステム又はその組み合わせから構成してもよく、ど
の部分も適切なプログラムによって制御されてもよいことを理解すべきである。
いずれのプログラムも、従来の方法によって、その全体又は一部が、システムの
一部を成す又はシステムに保存されていてもよく、又はいずれのプログラムも、
その全体又は一部が、従来の方法によって、ネットワーク上又は情報を転送する
ための他の機構上のシステム内に設けられてもよい。これに加えシステムは、オ
ペレータ入力構成要素(図示せず)を使うオペレータが提供する情報によって、
動作し及び/又はそうでなければ制御されてもよく、このオペレータ入力構成要
素は、システムに直接接続されていても、ネットワーク上又は従来の方法で情報
を転送するその他の機構上を、システムに情報を転送してもよいことを理解すべ
きである。
【0097】 上述の説明は、本発明の特定の実施形態に限った説明である。しかしながら、
本発明のいくつか又は全ての利点を有する、様々な変更又は変形が可能であるこ
とは明らかである。付随する請求項の目的は、本発明の真の精神及び範囲内にあ
る、これら及びそのような他の変形及び変更にも及ぶものである。
【図面の簡単な説明】
【図1】 本発明に従って構成された少なくとも1つのスイッチングノード
を含んだコンピュータネットワークを示す図である。
【図2】 本発明に従って構成された、図1のネットワークで用いられる、
スイッチングノードの機能ブロック図である。
【図3】 図2に示されたスイッチングノードにおいて用いられる入力ポー
トモジュールの機能ブロック図である。
【図4】 図2に示されたスイッチングノードにおいて用いられる、ポート
間パケットスイッチにおける1つのスイッチプレーンの機能ブロック図である。
【図5】 図2に示されたスイッチングノードにおける、パケットメタデー
タを処理するためのメタデータパケットプロセッサの機能ブロック図である。
【図6】 図1に示されたスイッチングノードにおいて用いられる出力ポー
トモジュールの機能ブロック図である。
【図7】 図3に示された入力ポートモジュールに有効なフレーム転送エン
ジンの一実施例の機能ブロック図である。
【図8】 図3に示された入力ポートモジュールに有効なフレーム転送エン
ジンの別の実施例の機能ブロック図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AL,AM,AT,AU,AZ,BA,BB ,BG,BR,BY,CA,CH,CN,CU,CZ, DE,DK,EE,ES,FI,GB,GD,GE,G H,GM,HR,HU,ID,IL,IN,IS,JP ,KE,KG,KP,KR,KZ,LC,LK,LR, LS,LT,LU,LV,MD,MG,MK,MN,M W,MX,NO,NZ,PL,PT,RO,RU,SD ,SE,SG,SI,SK,SL,TJ,TM,TR, TT,UA,UG,UZ,VN,YU,ZW (72)発明者 ペデュエイ ユヴァル アメリカ合衆国 マサチューセッツ州 ウ ィンチェスター アルバモント ロード 16 (72)発明者 ハサウェイ マイケル アメリカ合衆国 マサチューセッツ州 バ ーリントン パインベイル アベニュー 4 Fターム(参考) 5K030 GA04 HA08 HB28 KA03 KA05 KX12 KX13 LB05 【要約の続き】 のパケットがパス又はドロップされるべきか否かを判断 する。もし、パケットメタデータプロセッサがそのメタ データパケットに対応するパケットがドロップされるべ きと判断すると、そのパケットがバッファされている入 力ポートに対してそれが通知され、パケットが破棄され る。一方、パケットがパケットメタデータプロセッサが そのメタデータパケットに対応するパケットがドロップ されるべきでないと判断すると、対応する出力ポートモ ジュールのキューにそのメタデータパケットが投入され る。各出力ポートモジュールは、メタデータパケット を、パケットメタデータプロセッサにより管理される対 応するメタデータパケットキューから取得する。出力ポ ートモジュールにより取得されたメタデータパケットの 各々について、その出力ポートモジュールは、そのメタ データパケットにより識別される入力ポートモジュール が、パケットスイッチを介して入力ポートモジュールで 識別されるパケットを転送するように要求する。出力ポ ートモジュールがパケットを受信すると、そこに接続さ れた通信リンクを介してそれを送信する。

Claims (54)

    【特許請求の範囲】
  1. 【請求項1】 ネットワーク上でのデータ伝送のためのスイッチングノード
    であって、 前記ネットワークからのデータのパケットを受信してバッファリングする入力
    ポートモジュールであって、前記入力ポートモジュールは、伝送すべき受信パケ
    ットに関するパケットメタデータを生成し、このパケットメタデータは、前記ネ
    ットワークから前記データのパケットを受信した該入力ポートモジュールを識別
    する情報を含む、入力ポートモジュールと、 前記入力ポートから前記パケットメタデータを受信するパケットメタデータ・
    プロセッサと、 前記ネットワーク上へデータのパケットを送信するための出力ポートモジュー
    ルであって、前記出力ポートモジュールは、 (i)前記パケットメタデータ・プロ
    セッサからパケットメタデータを受信し、(ii)そのパケットメタデータをキュー
    に入れ、 (iii)キューに入れられたパケットメタデータを読み取り、(iv)前記入
    力ポートモジュールからの前記パケットメタデータと関連づけた前記データのパ
    ケットの送信を開始するために、前記入力ポートモジュールに対して要求信号を
    送信する、出力ポートモジュールと、 前記入力ポートモジュールと前記出力ポートモジュールとの間に設けられ、前
    記入力ポートモジュールから前記出力ポートモジュールへのデータのパケットを
    伝送するスイッチモジュールと、 を備えるスイッチングノード。
  2. 【請求項2】 前記スイッチモジュールは、前記スイッチモジュールにより
    伝送されるデータのパケットの複数の部分を伝送するために複数のスイッチを備
    える、請求項1記載のスイッチングノード。
  3. 【請求項3】 前記複数のスイッチは、ラウンドロビン方式にて前記データ
    のパケットの複数の部分を伝送する、請求項2記載のスイッチングノード。
  4. 【請求項4】 前記出力ポートモジュールは、前記メタデータ・プロセッサ
    に対して、前記出力ポートモジュールの動作状態に関する情報を提供する、請求
    項1記載のスイッチングノード。
  5. 【請求項5】 前記出力ポートモジュールの動作状態に関する情報は、パケ
    ットメタデータが前記出力ポートモジュールに対して伝送されるかどうかを判定
    するために、前記メタデータ・プロセッサにて用いられる、請求項4記載のスイ
    ッチングノード。
  6. 【請求項6】 前記出力ポートモジュールの動作状態に関する情報は、前記
    出力ポートモジュールが前記入力ポートモジュールからデータのパケットを受信
    することに利用できるかどうかに関する情報を含む、請求項4記載のスイッチン
    グノード。
  7. 【請求項7】 前記出力ポートモジュールが前記入力ポートモジュールから
    データのパケットを受信することに利用できるかどうかに関する情報が、前記出
    力モジュールが利用可能であることを示している場合、前記メタデータ・プロセ
    ッサが前記出力ポートモジュールに対してパケットメタデータを伝送する、請求
    項6記載のスイッチングノード。
  8. 【請求項8】 前記出力ポートモジュールが前記入力ポートモジュールから
    データのパケットを受信することに利用できるかどうかに関する情報が、前記出
    力モジュールが利用できないことを示している場合、データのパケットがドロッ
    プされる、請求項6記載のスイッチングノード。
  9. 【請求項9】 前記出力ポートモジュールの動作状態に関する情報は、前記
    出力ポートモジュールにおけるデータ輻輳に関する情報を含む、請求項4記載の
    スイッチングノード。
  10. 【請求項10】 前記入力ポートモジュールは、前記ネットワークから受信
    したデータのパケットをバッファリングするためのパケットメモリを備える、請
    求項1記載のスイッチングノード。
  11. 【請求項11】 前記入力ポートモジュールは、前記ネットワークからデー
    タのパケットを受信するための複数の入力ポートを備える、請求項1記載のスイ
    ッチングノード。
  12. 【請求項12】 前記出力ポートモジュールは、前記ネットワークへデータ
    のパケットを送信するための複数の出力ポートを備える、請求項1記載のスイッ
    チングノード。
  13. 【請求項13】 前記スイッチモジュールは、複数の入力ポートモジュール
    と複数の出力ポートモジュールとの間でデータパケットを伝送することができる
    、請求項1記載のスイッチングノード。
  14. 【請求項14】 ネットワーク上でデータを伝送するための方法であって、 入力ポートモジュールにて、 (i)前記ネットワークからデータのパケットを受
    信し、(ii)前記ネットワークから受信したデータのパケットをバッファリングし
    、 (iii)伝送すべき受信パケットに関するパケットメタデータであって、前記ネ
    ットワークから前記データのパケットを受信した該入力ポートモジュールを識別
    する情報を含むパケットメタデータを生成し、 前記入力ポートから前記パケットメタデータを受信するパケットメタデータ・
    プロセッサを用意し、 前記ネットワーク上へデータのパケットを送信するための出力ポートモジュー
    ルにて、(i)前記パケットメタデータ・プロセッサからパケットメタデータを受
    信し、(ii)そのパケットメタデータをキューに入れ、 (iii)キューに入れられた
    パケットメタデータを読み取り、(iv)前記入力ポートモジュールからの前記パケ
    ットメタデータと関連づけた前記データのパケットの送信を開始するために、前
    記入力ポートモジュールに対して要求信号を送信し、 前記入力ポートモジュールと前記出力ポートモジュールとの間に、前記入力ポ
    ートモジュールから前記出力ポートモジュールへのデータのパケットを伝送する
    ためのスイッチモジュールを用意する、 方法。
  15. 【請求項15】 前記スイッチモジュールを用意するステップは、前記スイ
    ッチモジュールにより伝送されるデータのパケットの複数の部分を伝送するため
    に複数のスイッチを用意するステップを含む、請求項14記載の方法。
  16. 【請求項16】 前記複数のスイッチは、ラウンドロビン方式にて前記デー
    タのパケットの複数の部分を伝送する、請求項15記載の方法。
  17. 【請求項17】 前記出力ポートモジュールは、前記メタデータ・プロセッ
    サに対して、前記出力ポートモジュールの動作状態に関する情報を提供する、請
    求項14記載の方法。
  18. 【請求項18】 前記出力ポートモジュールの動作状態に関する情報は、パ
    ケットメタデータが前記出力ポートモジュールに対して伝送されるかどうかを判
    定するために、前記メタデータ・プロセッサにて用いられる、請求項17記載の
    方法。
  19. 【請求項19】 前記出力ポートモジュールの動作状態に関する情報は、前
    記出力ポートモジュールが前記入力ポートモジュールからデータのパケットを受
    信することに利用できるかどうかに関する情報を含む、請求項17記載の方法。
  20. 【請求項20】 前記出力ポートモジュールが前記入力ポートモジュールか
    らデータのパケットを受信することに利用できるかどうかに関する情報が、前記
    出力モジュールが利用可能であることを示している場合、前記メタデータ・プロ
    セッサが前記出力ポートモジュールに対してパケットメタデータを伝送する、請
    求項19記載の方法。
  21. 【請求項21】 前記出力ポートモジュールが前記入力ポートモジュールか
    らデータのパケットを受信することに利用できるかどうかに関する情報が、前記
    出力モジュールが利用できないことを示している場合、データのパケットがドロ
    ップされる、請求項19記載の方法。
  22. 【請求項22】 前記出力ポートモジュールの動作状態に関する情報は、前
    記出力ポートモジュールにおけるデータ輻輳に関する情報を含む、請求項17記
    載の方法。
  23. 【請求項23】 前記入力ポートモジュールは、前記ネットワークから受信
    したデータのパケットをバッファリングするためのパケットメモリを備える、請
    求項14記載の方法。
  24. 【請求項24】 前記入力ポートモジュールは、前記ネットワークからデー
    タのパケットを受信するための複数の入力ポートを備える、請求項14記載の方
    法。
  25. 【請求項25】 前記出力ポートモジュールは、前記ネットワークへデータ
    のパケットを送信するための複数の出力ポートを備える、請求項14記載の方法
  26. 【請求項26】 前記スイッチモジュールは、複数の入力ポートモジュール
    と複数の出力ポートモジュールとの間でデータパケットを伝送することができる
    、請求項14記載の方法。
  27. 【請求項27】 ネットワーク上にてスイッチングノードを介してデータの
    パケットを転送する方法であって、前記データのパケットは、前記スイッチング
    ノードから出る出力経路に沿ってそのデータパケットが転送される転送先の前記
    ネットワーク上の宛先ノードを識別する宛先アドレスを含み、前記宛先アドレス
    は複数のサブアドレスを保持する複数のサブアドレス・フィールドに分割されて
    いる、方法であって、 複数の宛先アドレスの各々を、前記宛先アドレスにより識別される前記宛先ノ
    ードに対してパケットが転送される際の前記スイッチングノードの出力経路に対
    応づけるテーブルをメモリに格納するステップであって、前記テーブルの複数の
    部分の各々は、それぞれサブアドレス・フィールドに関連づけられ、該サブアド
    レスフィールドに保持されたサブアドレスを用いてアクセス可能になっていると
    ころのステップと、 一連のサブアドレスプロセッサを用意するステップであって、それら各サブア
    ドレスプロセッサは、それぞれサブアドレス・フィールドに対応づけられており
    、その対応するサブアドレス・フィールドに保持されたサブアドレスを受け取り
    、そのサブアドレスを用いて前記テーブルのうちの前記サブアドレス・フィール
    ドに関連づけられた部分にアクセスし、前記宛先アドレスに関連づけられた前記
    出力経路に関する情報を受信するところのステップと、 前記スイッチングノードを介して転送されるべき一連のデータのパケットから
    、対応する一連の宛先アドレスを受信するステップと、 前記一連のサブアドレスプロセッサを用いてパイプライン方式で前記テーブル
    にアクセスし、前記受信したデータのパケット群の各々に対する出力経路を検索
    することにより、 第1のアドレッシング期間において、第1のサブアドレス・フィールドに対応
    づけられた第1のサブアドレスプロセッサが、受信した第1の宛先アドレスの第
    1のサブアドレス・フィールドに保持されたサブアドレスを用いて、前記テーブ
    ルのうち前記第1のサブアドレス・フィールドに対応づけられた第1の部分にア
    クセスし、 第2のアドレッシング期間において、 (i)第2のサブアドレス・フィールドに
    対応づけられた第2のサブアドレスプロセッサが、受信した第1の宛先アドレス
    の第2のサブアドレス・フィールドに保持されたサブアドレスを用いて、前記テ
    ーブルのうち前記第2のサブアドレス・フィールドに対応づけられた第2の部分
    にアクセスし、(ii)前記第1のサブアドレスプロセッサが、受信した第2の宛先
    アドレスの第1のサブアドレス・フィールドに保持されたサブアドレスを用いて
    、前記テーブルのうち前記第1のサブアドレス・フィールドに対応づけられた第
    1の部分にアクセスする、 方法。
  28. 【請求項28】 前記各アドレッシング期間において、前記第1のサブアド
    レスプロセッサが前記第2のサブアドレスプロセッサに対して情報項目を提供し
    、この情報項目は、前記第2のサブアドレスプロセッサが前記テーブルの前記第
    2の部分にアクセスするのに利用される、請求項27記載の方法。
  29. 【請求項29】 前記情報項目は前記テーブルにおけるスタートアドレスで
    あり、前記第2のサブアドレスプロセッサが前記テーブルの前記第2の部分にア
    クセスするのに利用される、請求項28記載の方法。
  30. 【請求項30】 前記第2のサブアドレス・フィールドに保持されたサブア
    ドレスはアドレスオフセットであり、 前記第2のサブアドレスプロセッサは前記スタートアドレスと前記アドレスオ
    フセットを結合することにより前記テーブルの前記第2の部分にアクセスする、 ことを特徴とする請求項29記載の方法。
  31. 【請求項31】 前記テーブルはパケットルーティングテーブルであること
    を特徴とする請求項27記載の方法。
  32. 【請求項32】 前記テーブルはインターネットプロトコルに準拠したパケ
    ットルーティングテーブルであることを特徴とする請求項27記載の方法。
  33. 【請求項33】 ネットワーク上にてスイッチングノードを介してデータの
    パケットを転送するための装置であって、前記データのパケットは、前記スイッ
    チングノードから出る出力経路に沿ってそのデータパケットが転送される転送先
    の前記ネットワーク上の宛先ノードを識別する宛先アドレスを含み、前記宛先ア
    ドレスは複数のサブアドレスを保持する複数のサブアドレス・フィールドに分割
    されている、装置であって、 複数の宛先アドレスの各々を、前記宛先アドレスにより識別される前記宛先ノ
    ードに対してパケットが転送される際の前記スイッチングノードの出力経路に対
    応づけるテーブルを格納するメモリであって、前記テーブルの複数の部分の各々
    は、それぞれサブアドレス・フィールドに関連づけられ、該サブアドレスフィー
    ルドに保持されたサブアドレスを用いてアクセス可能になっている、ところのメ
    モリと、 それぞれサブアドレス・フィールドに対応づけられており、その対応するサブ
    アドレス・フィールドに保持されたサブアドレスを受け取り、そのサブアドレス
    を用いて前記テーブルのうちの前記サブアドレス・フィールドに関連づけられた
    部分にアクセスし、前記宛先アドレスに関連づけられた前記出力経路に関する情
    報を受信する、一連のサブアドレスプロセッサと、 前記スイッチングノードを介して転送されるべき一連のデータのパケットから
    、対応する一連の宛先アドレスを受信するレシーバと、 を備え、 前記一連のサブアドレスプロセッサは、パイプライン方式で前記テーブルにア
    クセスし、前記受信したデータのパケット群の各々に対する出力経路を検索する
    ことにより、 第1のアドレッシング期間において、第1のサブアドレス・フィールドに対応
    づけられた第1のサブアドレスプロセッサが、受信した第1の宛先アドレスの第
    1のサブアドレス・フィールドに保持されたサブアドレスを用いて、前記テーブ
    ルのうち前記第1のサブアドレス・フィールドに対応づけられた第1の部分にア
    クセスし、 第2のアドレッシング期間において、 (i)第2のサブアドレス・フィールドに
    対応づけられた第2のサブアドレスプロセッサが、受信した第1の宛先アドレス
    の第2のサブアドレス・フィールドに保持されたサブアドレスを用いて、前記テ
    ーブルのうち前記第2のサブアドレス・フィールドに対応づけられた第2の部分
    にアクセスし、(ii)前記第1のサブアドレスプロセッサが、受信した第2の宛先
    アドレスの第1のサブアドレス・フィールドに保持されたサブアドレスを用いて
    、前記テーブルのうち前記第1のサブアドレス・フィールドに対応づけられた第
    1の部分にアクセスする、 装置。
  34. 【請求項34】 前記各アドレッシング期間において、前記第1のサブアド
    レスプロセッサが前記第2のサブアドレスプロセッサに対して情報項目を提供し
    、この情報項目は、前記第2のサブアドレスプロセッサが前記テーブルの前記第
    2の部分にアクセスするのに利用される、請求項33記載の装置。
  35. 【請求項35】 前記情報項目は前記テーブルにおけるスタートアドレスで
    あり、前記第2のサブアドレスプロセッサが前記テーブルの前記第2の部分にア
    クセスするのに利用される、請求項34記載の装置。
  36. 【請求項36】 前記第2のサブアドレス・フィールドに保持されたサブア
    ドレスはアドレスオフセットであり、 前記第2のサブアドレスプロセッサは前記スタートアドレスと前記アドレスオ
    フセットを結合することにより前記テーブルの前記第2の部分にアクセスする、 ことを特徴とする請求項35記載の装置。
  37. 【請求項37】 前記テーブルはパケットルーティングテーブルであること
    を特徴とする請求項33記載の装置。
  38. 【請求項38】 前記テーブルはインターネットプロトコルに準拠したパケ
    ットルーティングテーブルであることを特徴とする請求項33記載の装置。
  39. 【請求項39】 ネットワーク上で入力モジュールから出力モジュールへの
    データの伝送を制御する方法であって、 前記入力モジュールと前記出力モジュールとの間の通信を制御する制御モジュ
    ールを用意するステップと、 前記入力モジュールにてデータのパケットを受信するステップであって、前記
    入力モジュールはそのパケットに応じてメタデータパケットを生成し、そのメタ
    データパケットは前記データのパケットが伝送されるべき出力モジュールを識別
    するための情報を含み、前記入力モジュールは前記メタデータパケットを前記制
    御モジュールに伝送する、ステップと、 前記制御モジュールにて、 (i)前記入力モジュールから前記メタデータパケッ
    トを受信し、(ii)識別された前記出力モジュールから、その出力モジュールの状
    態を示す第1の情報項目を受信し、 (iii)前記第1の情報項目に基づき、前記デ
    ータのパケットが前記識別された出力モジュールに対して伝送されるか否かを判
    定するステップと、 を含む方法。
  40. 【請求項40】 スイッチングモジュールを介して前記入力モジュールと前
    記出力モジュールとを組み合わせることにより、データのパケットが前記スイッ
    チングモジュールを介して前記入力モジュールから前記出力モジュールに伝送さ
    れるようにするステップを更に含む請求項39記載の方法。
  41. 【請求項41】 前記第1の情報項目は、前記識別された出力モジュールに
    おけるデータの輻輳に関する情報を示す、請求項39記載の方法。
  42. 【請求項42】 前記第1の情報項目は、前記識別された出力モジュールが
    データのパケットを受信するのに利用できるかどうかに関する情報を示す、請求
    項39記載の方法。
  43. 【請求項43】 前記制御モジュールから前記入力モジュールに、前記デー
    タのパケットが前記識別された出力モジュールに対して伝送されないことを示す
    第2の情報項目を伝送するステップ、をさらに含む請求項39記載の方法。
  44. 【請求項44】 前記入力モジュールに対応づけられた少なくとも1つのバ
    ッファにて前記データのパケットを格納するステップを更に含む請求項39記載
    の方法。
  45. 【請求項45】 前記第2の情報項目に応じて、前記制御モジュールから前
    記入力モジュールに対し、前記識別された出力モジュールに対して前記データの
    パケットを伝送せずに、そのパケットを格納した前記少なくとも一つのバッファ
    をクリアする旨のコマンドを伝送するステップ、を更に含む請求項44記載の方
    法。
  46. 【請求項46】 前記第2の情報項目に応じて、前記制御モジュールから前
    記入力モジュールに対し、前記識別された出力モジュールに対して前記データの
    パケットを伝送せずに、そのパケットを格納した前記少なくとも一つのバッファ
    を再割当する旨のコマンドを伝送するステップ、を更に含む請求項44記載の方
    法。
  47. 【請求項47】 ネットワーク上でデータを伝送するための装置であって、 前記ネットワークからデータのパケットを受信するための入力モジュールと、 前記入力モジュールからデータのパケットを受信し、前記ネットワークにデー
    タのパケットを送信する出力モジュールと、 前記入力モジュールと前記出力モジュールとの間の通信を制御する制御モジュ
    ールと、 を備え、 前記入力モジュールは、 (i)受信したデータのパケットに応じて、そのパケッ
    トが伝送されるべき出力モジュールを識別する情報を含んだメタデータパケット
    を生成し、(ii)そのメタデータパケットを前記制御モジュールに伝送するように
    構成され、 前記制御モジュールは、 (i)前記入力モジュールから前記メタデータパケット
    を受信し、(ii)前記識別された出力モジュールから、その出力モジュールの状態
    を示す第1の情報項目を受信し、 (iii)前記第1の情報項目に基づき、前記デー
    タのパケットが前記識別された出力モジュールに伝送されるか否かを判定するよ
    うに構成される、 装置。
  48. 【請求項48】 前記入力モジュールから前記出力モジュールへと前記デー
    タのパケットを伝送するためのスイッチングモジュールを更に備える請求項47
    記載の装置。
  49. 【請求項49】 前記第1の情報項目は、前記出力モジュールにおけるデー
    タの輻輳状況を示すことを特徴とする請求項47記載の装置。
  50. 【請求項50】 前記第1の情報項目は、データのパケットを受信するのに
    前記出力モジュールが利用できるかどうかに関する情報を示すことを特徴とする
    請求項47記載の装置。
  51. 【請求項51】 前記制御モジュールは、前記データのパケットが前記識別
    された出力モジュールに伝送されないことを示す第2の情報項目を、前記制御モ
    ジュールから前記入力モジュールに伝送するように構成されることを特徴とする
    請求項47記載の装置。
  52. 【請求項52】 前記入力モジュールが、受信したデータのパケットを格納
    するための少なくとも1つのバッファに対応づけられていることを特徴とする請
    求項47記載の装置。
  53. 【請求項53】 前記制御モジュールは、前記第2の情報項目に応じて、前
    記入力モジュールに対し、前記識別された出力モジュールに対して前記データの
    パケットを伝送せずに、そのパケットを格納した前記少なくとも一つのバッファ
    をクリアする旨のコマンドを伝送することを特徴とする請求項52記載の装置。
  54. 【請求項54】 前記制御モジュールは、前記第2の情報項目に応じて、前
    記入力モジュールに対し、前記識別された出力モジュールに対して前記データの
    パケットを伝送せずに、そのパケットを格納した前記少なくとも一つのバッファ
    を再割当する旨のコマンドを伝送することを特徴とする請求項52記載の装置。
JP2000558635A 1998-07-02 1999-07-01 ネットワークでのパケット交換のためのシステム及び方法 Pending JP2002520907A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/108,771 1998-07-02
US09/108,771 US6434115B1 (en) 1998-07-02 1998-07-02 System and method for switching packets in a network
PCT/US1999/015028 WO2000002347A2 (en) 1998-07-02 1999-07-01 System and method for switching packets in a network

Publications (1)

Publication Number Publication Date
JP2002520907A true JP2002520907A (ja) 2002-07-09

Family

ID=22323950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000558635A Pending JP2002520907A (ja) 1998-07-02 1999-07-01 ネットワークでのパケット交換のためのシステム及び方法

Country Status (10)

Country Link
US (4) US6434115B1 (ja)
EP (1) EP1092298A2 (ja)
JP (1) JP2002520907A (ja)
CN (1) CN1317189A (ja)
AU (1) AU4854799A (ja)
CA (1) CA2336465A1 (ja)
MX (1) MXPA01000218A (ja)
RU (1) RU2001102964A (ja)
TW (1) TW461202B (ja)
WO (1) WO2000002347A2 (ja)

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6791947B2 (en) 1996-12-16 2004-09-14 Juniper Networks In-line packet processing
US7089331B1 (en) 1998-05-29 2006-08-08 Oracle International Corporation Method and mechanism for reducing client-side memory footprint of transmitted data
US6434115B1 (en) 1998-07-02 2002-08-13 Pluris, Inc. System and method for switching packets in a network
US6580721B1 (en) * 1998-08-11 2003-06-17 Nortel Networks Limited Routing and rate control in a universal transfer mode network
IT1305140B1 (it) * 1998-10-27 2001-04-10 Cselt Centro Studi Lab Telecom Memoria per la ricerca di informazioni mediante analisi di prefissi inparticolare per la realizzazione di tabelle di instradamento in nodi
US7480242B2 (en) * 1998-11-24 2009-01-20 Pluris, Inc. Pass/drop apparatus and method for network switching node
US7197044B1 (en) * 1999-03-17 2007-03-27 Broadcom Corporation Method for managing congestion in a network switch
US6889260B1 (en) * 1999-06-10 2005-05-03 Ec Enabler, Ltd Method and system for transferring information
US6891823B1 (en) * 1999-06-15 2005-05-10 Pluris, Inc. Apparatus and method for scaling a switching fabric in a network switching node
US6973079B1 (en) * 1999-06-15 2005-12-06 Pluris, Inc. Apparatus and method for scaling a switching fabric in a network switching node
US6934250B1 (en) 1999-10-14 2005-08-23 Nokia, Inc. Method and apparatus for an output packet organizer
US6882642B1 (en) 1999-10-14 2005-04-19 Nokia, Inc. Method and apparatus for input rate regulation associated with a packet processing pipeline
US6757249B1 (en) * 1999-10-14 2004-06-29 Nokia Inc. Method and apparatus for output rate regulation and control associated with a packet pipeline
US6704782B1 (en) * 1999-12-09 2004-03-09 International Business Machines Corporation System and methods for real time progress monitoring in a computer network
US6735214B1 (en) * 2000-01-12 2004-05-11 New Jersey Institute Of Technology Method and system for a hierarchical traffic shaper
US7389284B1 (en) 2000-02-29 2008-06-17 Oracle International Corporation Method and mechanism for efficient processing of remote-mapped queries
US6704794B1 (en) 2000-03-03 2004-03-09 Nokia Intelligent Edge Routers Inc. Cell reassembly for packet based networks
GB2365661A (en) * 2000-03-10 2002-02-20 British Telecomm Allocating switch requests within a packet switch
US6697363B1 (en) * 2000-06-28 2004-02-24 Alcatel Canada Inc. Method and apparatus for longest matching prefix determination in a communication network
US6956858B2 (en) * 2000-06-30 2005-10-18 Mayan Networks Corporation Network routing table and packet routing method
US7385965B2 (en) * 2000-08-10 2008-06-10 Alcatel-Lucent Canada Inc. Multiprocessor control block for use in a communication switch and method therefore
US20020080780A1 (en) * 2000-08-10 2002-06-27 Mccormick James S. Buffering system for use in a communication switch that includes a multiprocessor control block and method therefore
KR100686732B1 (ko) * 2000-08-26 2007-02-23 삼성전자주식회사 복수의 프리픽스로부터 데이터 패킷을 라우팅하기 위한데이터베이스 생성방법과 라우팅 방법 및 그 방법을이용한 라우터
US7287089B1 (en) * 2000-10-25 2007-10-23 Thomson Financial Inc. Electronic commerce infrastructure system
US7305360B1 (en) 2000-10-25 2007-12-04 Thomson Financial Inc. Electronic sales system
US7058662B2 (en) * 2000-11-30 2006-06-06 Xythos Software, Inc. Maintenance of data integrity during transfer among computer networks
KR20020053664A (ko) * 2000-12-27 2002-07-05 오길록 간결한 중재용 교신 정보를 갖는 분배결합 패킷 스위칭 장치
US7230917B1 (en) * 2001-02-22 2007-06-12 Cisco Technology, Inc. Apparatus and technique for conveying per-channel flow control information to a forwarding engine of an intermediate network node
US6973072B1 (en) * 2001-02-22 2005-12-06 Cisco Technology, Inc. High performance protocol for an interconnect system of an intermediate network node
US6831891B2 (en) * 2001-03-06 2004-12-14 Pluris, Inc. System for fabric packet control
JP2002325087A (ja) * 2001-04-25 2002-11-08 Nec Corp 非閉塞スイッチシステム及びそのスイッチング方法並びにプログラム
US7203170B2 (en) * 2001-05-01 2007-04-10 Integrated Device Technology, Inc. Network switch port with weighted random early discard
US7339944B2 (en) * 2001-05-17 2008-03-04 Alcatel Lucent Distributed shared memory packet switch
US7167480B1 (en) * 2001-06-21 2007-01-23 Lighthouse Capital Partners Iv, Lp Multi-service data transport architecture
US7245614B1 (en) * 2001-06-27 2007-07-17 Cisco Technology, Inc. Managing access to internet protocol (IP) multicast traffic
US7068603B2 (en) * 2001-07-06 2006-06-27 Juniper Networks, Inc. Cross-bar switch
US7103590B1 (en) * 2001-08-24 2006-09-05 Oracle International Corporation Method and system for pipelined database table functions
CN100527697C (zh) * 2001-11-09 2009-08-12 维特赛半导体公司 用于交换数据分组或帧的装置和方法
US7007101B1 (en) * 2001-11-09 2006-02-28 Radisys Microware Communications Software Division, Inc. Routing and forwarding table management for network processor architectures
US7180887B1 (en) 2002-01-04 2007-02-20 Radisys Patent Properties Routing and forwarding table management for network processor architectures
US7158510B1 (en) * 2002-02-14 2007-01-02 Alcatel Look-up table arbitration system and method for a fast switching element
US20030163595A1 (en) * 2002-02-26 2003-08-28 John Ta Task manager - method of forwarding messages among task blocks
US7191259B2 (en) * 2002-04-10 2007-03-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and apparatus for fast integer within-range compare
FR2838590B1 (fr) * 2002-04-16 2005-12-30 St Microelectronics Sa Procede de routage pour un reseau de telecommunication et routeur pour la mise en oeuvre dudit procede
US7610351B1 (en) * 2002-05-10 2009-10-27 Oracle International Corporation Method and mechanism for pipelined prefetching
US6973457B1 (en) 2002-05-10 2005-12-06 Oracle International Corporation Method and system for scrollable cursors
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US8660427B2 (en) 2002-09-13 2014-02-25 Intel Corporation Method and apparatus of the architecture and operation of control processing unit in wavelenght-division-multiplexed photonic burst-switched networks
US6934252B2 (en) * 2002-09-16 2005-08-23 North Carolina State University Methods and systems for fast binary network address lookups using parent node information stored in routing table entries
US20040098509A1 (en) * 2002-11-14 2004-05-20 Vic Alfano System for reordering sequenced based packet segments in a switching network
US7397794B1 (en) 2002-11-21 2008-07-08 Juniper Networks, Inc. Systems and methods for implementing virtual switch planes in a physical switch fabric
KR100489685B1 (ko) * 2003-02-20 2005-05-17 삼성전자주식회사 패킷 제어기와 네트워크 프로세서간의 패킷 전송을 위한패킷 송수신 장치와 그 방법
US7428383B2 (en) * 2003-02-28 2008-09-23 Intel Corporation Architecture, method and system of WDM-based photonic burst switched networks
US7848649B2 (en) 2003-02-28 2010-12-07 Intel Corporation Method and system to frame and format optical control and data bursts in WDM-based photonic burst switched networks
US7298973B2 (en) 2003-04-16 2007-11-20 Intel Corporation Architecture, method and system of multiple high-speed servers to network in WDM based photonic burst-switched networks
US7266295B2 (en) 2003-04-17 2007-09-04 Intel Corporation Modular reconfigurable multi-server system and method for high-speed networking within photonic burst-switched network
US7526202B2 (en) 2003-05-19 2009-04-28 Intel Corporation Architecture and method for framing optical control and data bursts within optical transport unit structures in photonic burst-switched networks
US7266296B2 (en) * 2003-06-11 2007-09-04 Intel Corporation Architecture and method for framing control and data bursts over 10 Gbit Ethernet with and without WAN interface sublayer support
US20040252685A1 (en) * 2003-06-13 2004-12-16 Mellanox Technologies Ltd. Channel adapter with integrated switch
US7310480B2 (en) 2003-06-18 2007-12-18 Intel Corporation Adaptive framework for closed-loop protocols over photonic burst switched networks
US7272310B2 (en) * 2003-06-24 2007-09-18 Intel Corporation Generic multi-protocol label switching (GMPLS)-based label space architecture for optical switched networks
US7107423B2 (en) * 2003-07-10 2006-09-12 Hewlett-Packard Development Company, L.P. Methods and apparatus for data retrieval
US7525910B2 (en) 2003-07-16 2009-04-28 Qlogic, Corporation Method and system for non-disruptive data capture in networks
US7471635B2 (en) 2003-07-16 2008-12-30 Qlogic, Corporation Method and apparatus for test pattern generation
US7430175B2 (en) * 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7420982B2 (en) * 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7406092B2 (en) * 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7512067B2 (en) 2003-07-21 2009-03-31 Qlogic, Corporation Method and system for congestion control based on optimum bandwidth allocation in a fibre channel switch
US7583597B2 (en) * 2003-07-21 2009-09-01 Qlogic Corporation Method and system for improving bandwidth and reducing idles in fibre channel switches
US7466700B2 (en) 2003-07-21 2008-12-16 Qlogic, Corporation LUN based hard zoning in fibre channel switches
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
CN1313903C (zh) * 2003-09-02 2007-05-02 华为技术有限公司 获取物理层芯片状态信息的方法及装置
US7290071B2 (en) * 2003-09-30 2007-10-30 Agere Systems Inc. Processor with input data block discard mechanism for use in an oversubscription condition
US7315693B2 (en) 2003-10-22 2008-01-01 Intel Corporation Dynamic route discovery for optical switched networks
US7340169B2 (en) * 2003-11-13 2008-03-04 Intel Corporation Dynamic route discovery for optical switched networks using peer routing
US20050111465A1 (en) * 2003-11-25 2005-05-26 Stewart Mark Andrew W. Infiniband switch operating in a clos network
US20050111366A1 (en) * 2003-11-25 2005-05-26 Whittaker Stewart Mark A. Strictly non-interfering network
US7734176B2 (en) 2003-12-22 2010-06-08 Intel Corporation Hybrid optical burst switching with fixed time slot architecture
US20050163107A1 (en) * 2004-01-27 2005-07-28 Gunturi Ravi P. Packet processing pipeline
US7359381B2 (en) * 2004-01-30 2008-04-15 Hewlett-Packard Development Company, L.P. Parallel hardware arrangement for correlating an external transport address pair with a local endpoint association
US7480293B2 (en) 2004-02-05 2009-01-20 Qlogic, Corporation Method and system for preventing deadlock in fibre channel fabrics using frame priorities
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7340167B2 (en) * 2004-04-23 2008-03-04 Qlogic, Corporation Fibre channel transparent switch for mixed switch fabrics
JP4150701B2 (ja) * 2004-06-30 2008-09-17 株式会社東芝 情報処理装置、情報処理方法および情報処理プログラム
US8098676B2 (en) * 2004-08-12 2012-01-17 Intel Corporation Techniques to utilize queues for network interface devices
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US9225632B2 (en) * 2005-09-16 2015-12-29 Hewlett Packard Enterprise Development Lp Globally fair polling for packet switched routers using dynamically biased arbitration
US7969966B2 (en) * 2005-12-19 2011-06-28 Alcatel Lucent System and method for port mapping in a communications network switch
US7548560B1 (en) 2006-02-27 2009-06-16 Qlogic, Corporation Method and system for checking frame-length in fibre channel frames
CN101039212B (zh) * 2006-03-15 2010-11-03 中兴通讯股份有限公司 一种数据快速入库方法
EP1860033B1 (en) * 2006-05-26 2011-01-12 MTC - Macchine Trasformazione Carta Srl Banding machine for logs of sheet material
CN101150426B (zh) * 2006-09-21 2010-08-25 大唐移动通信设备有限公司 一种上报缓存区状态的方法及系统
US8050257B2 (en) * 2006-12-12 2011-11-01 Maged E Beshai Network with a fast-switching optical core
CN101373556B (zh) * 2007-08-23 2012-08-01 瑞斯康微电子(深圳)有限公司 低压载波集中式网络的发送方法、收发方法及其装置
US8335780B2 (en) * 2008-03-11 2012-12-18 James Madison Kelley Scalable high speed relational processor for databases and networks
US20100054128A1 (en) * 2008-08-29 2010-03-04 O'hern William Near Real-Time Alerting of IP Traffic Flow to Subscribers
US8018958B1 (en) * 2009-06-23 2011-09-13 Juniper Networks, Inc. System and method for fair shared de-queue and drop arbitration in a buffer
EP2545682A4 (en) * 2010-03-10 2017-01-04 Telefonaktiebolaget LM Ericsson (publ) Sub-path e2e probing
KR20140004743A (ko) * 2011-01-28 2014-01-13 나파테크 에이/에스 데이터 패킷을 수신 및 송신하기 위한 장치 및 방법
US9047417B2 (en) 2012-10-29 2015-06-02 Intel Corporation NUMA aware network interface
US10684973B2 (en) 2013-08-30 2020-06-16 Intel Corporation NUMA node peripheral switch
US9210090B1 (en) * 2014-01-22 2015-12-08 Narus, Inc. Efficient storage and flexible retrieval of full packets captured from network traffic
US9391884B2 (en) * 2014-01-31 2016-07-12 Google Inc. Consistent hashing using exact matching with application to hardware load balancing
US9843530B2 (en) 2015-12-15 2017-12-12 International Business Machines Corporation System, method, and recording medium for queue management in a forwarder
US10055336B1 (en) * 2016-06-23 2018-08-21 VCE IP Holding Company LLC Computer implemented system and method and computer program product for testing a software component by simulating an interface to a computing component using randomized network packet information

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5130984A (en) 1990-12-18 1992-07-14 Bell Communications Research, Inc. Large fault tolerant packet switch particularly suited for asynchronous transfer mode (ATM) communication
JP2751698B2 (ja) 1991-12-13 1998-05-18 日本電気株式会社 自己ルーチングスイッチ回路
EP0552384B1 (fr) 1991-12-23 2001-11-21 Alcatel Procédé pour réduire le nombre de bits d'un mot binaire représentant une suite d'adresses
ES1021789Y (es) * 1992-06-25 1993-06-16 Cierre para collares, pulseras y otros articulos similares de joyeria y bisuteria.
JP2655464B2 (ja) 1992-12-25 1997-09-17 日本電気株式会社 パケット交換方式
US5386413A (en) * 1993-03-19 1995-01-31 Bell Communications Research, Inc. Fast multilevel hierarchical routing table lookup using content addressable memory
US5583861A (en) * 1994-04-28 1996-12-10 Integrated Telecom Technology ATM switching element and method having independently accessible cell memories
KR0132960B1 (ko) * 1994-12-22 1998-04-21 양승택 망 노드 폭주상태 결정장치 및 방법
US5546390A (en) 1994-12-29 1996-08-13 Storage Technology Corporation Method and apparatus for radix decision packet processing
JPH08288965A (ja) * 1995-04-18 1996-11-01 Hitachi Ltd スイッチングシステム
US5790770A (en) * 1995-07-19 1998-08-04 Fujitsu Network Communications, Inc. Method and apparatus for reducing information loss in a communications network
JP3409966B2 (ja) * 1996-06-21 2003-05-26 株式会社日立製作所 パケット交換機およびパケット転送制御方法
US5768257A (en) 1996-07-11 1998-06-16 Xylan Corporation Input buffering/output control for a digital traffic switch
US6442172B1 (en) * 1996-07-11 2002-08-27 Alcatel Internetworking, Inc. Input buffering and queue status-based output control for a digital traffic switch
JPH10126419A (ja) * 1996-10-23 1998-05-15 Nec Corp Atm交換機システム
US5870396A (en) 1996-12-31 1999-02-09 Northern Telecom Limited Output queueing in a broadband multi-media satellite and terrestrial communications network
US5938736A (en) * 1997-06-30 1999-08-17 Sun Microsystems, Inc. Search engine architecture for a high performance multi-layer switch element
US6018524A (en) * 1997-09-09 2000-01-25 Washington University Scalable high speed IP routing lookups
US6434115B1 (en) 1998-07-02 2002-08-13 Pluris, Inc. System and method for switching packets in a network

Also Published As

Publication number Publication date
WO2000002347A3 (en) 2000-05-11
US6421342B1 (en) 2002-07-16
EP1092298A2 (en) 2001-04-18
MXPA01000218A (es) 2003-07-14
WO2000002347A2 (en) 2000-01-13
US6434115B1 (en) 2002-08-13
RU2001102964A (ru) 2003-01-27
US6804241B2 (en) 2004-10-12
AU4854799A (en) 2000-01-24
US20020186695A1 (en) 2002-12-12
TW461202B (en) 2001-10-21
CN1317189A (zh) 2001-10-10
US6529478B1 (en) 2003-03-04
CA2336465A1 (en) 2000-01-13

Similar Documents

Publication Publication Date Title
JP2002520907A (ja) ネットワークでのパケット交換のためのシステム及び方法
US7480242B2 (en) Pass/drop apparatus and method for network switching node
US10341260B2 (en) Early queueing network device
US4991172A (en) Design of a high speed packet switching node
JP4090510B2 (ja) アプリケーションデータのダイレクトマッピングのためのコンピュータインターフェース
JP3734704B2 (ja) パケット分類エンジン
US7764606B1 (en) Maintaining packet order using hash-based linked-list queues
US7899927B1 (en) Multiple concurrent arbiters
US6504846B1 (en) Method and apparatus for reclaiming buffers using a single buffer bit
US6731652B2 (en) Dynamic packet processor architecture
US6487212B1 (en) Queuing structure and method for prioritization of frames in a network switch
US6424659B2 (en) Multi-layer switching apparatus and method
US7400638B2 (en) Apparatus and methods for managing packets in a broadband data stream
US5418781A (en) Architecture for maintaining the sequence of packet cells transmitted over a multicast, cell-switched network
JPH08265270A (ja) 転送路割り当てシステム
JPH07226770A (ja) パケット交換装置およびその制御方法
US6754744B2 (en) Balanced linked lists for high performance data buffers in a network device
JP2002512459A (ja) デジタルデータネットワークにおいてメッセージ伝送をスケジューリングし、処理を行うシステムおよび方法
EP2198570A1 (en) High performance network adapter (hpna)
JP2002541732A (ja) バルクデータトランスファのためのサービスアジャストメントの自動検出方法
US5051985A (en) Contention resolution in a communications ring
EP0870415B1 (en) Switching apparatus
JP2739949B2 (ja) 通信バッファ装置
US6636952B1 (en) Systems and methods for processing packet streams in a network device
Feng Design of per Flow Queuing Buffer Management and Scheduling for IP Routers