JP3606565B2 - スイッチング装置とその方法 - Google Patents

スイッチング装置とその方法 Download PDF

Info

Publication number
JP3606565B2
JP3606565B2 JP2001052146A JP2001052146A JP3606565B2 JP 3606565 B2 JP3606565 B2 JP 3606565B2 JP 2001052146 A JP2001052146 A JP 2001052146A JP 2001052146 A JP2001052146 A JP 2001052146A JP 3606565 B2 JP3606565 B2 JP 3606565B2
Authority
JP
Japan
Prior art keywords
data packet
output
input
buffer
switching device
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
JP2001052146A
Other languages
English (en)
Other versions
JP2001285364A (ja
Inventor
ロナルド・ピィ・ルーテン
マイケル・コーマント
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2001285364A publication Critical patent/JP2001285364A/ja
Application granted granted Critical
Publication of JP3606565B2 publication Critical patent/JP3606565B2/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
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • 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/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • H04L49/508Head of Line Blocking Avoidance
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5635Backpressure, e.g. for ABR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • 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
    • H04L2012/5683Buffer or queue management for avoiding head of line blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Vehicle Body Suspensions (AREA)
  • Air Bags (AREA)
  • Supplying Of Containers To The Packaging Station (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、数個の入力ポートと数個の出力ポートを持ち、出力ポートのうちの指定ポートへの着信データ・パケットの転送、及びそこから後続のデバイスへの転送がそのヘッダに従って決定される、データ・パケット用スイッチング装置に関する。スイッチング装置の入力ポートはスイッチ・アダプタに接続することができる。本発明は特に、交換網を介してデータ・パケットをルーティングするスイッチング装置に関する。装置はスイッチ・アダプタに輻輳が通知された場合にデータ・パケットが処理されるのを防ぐ機構を備える。データ・パケットとしては、特にATMセル、またはイーサネット・フレームが使用できる。
【0002】
【従来の技術】
アナログ信号、英数字データ等の情報の高速交換は、通信ネットワークで重要なタスクである。情報交換のため様々な方向から回線や転送リンクが相互接続されるネットワーク・ノードは、転送遅延の原因になることが少なくない。ノードにトラフィックが集中しすぎ、また特にトラフィックの大半がリンクのうち僅かな経路しか通過しない場合、遅延時間が長くなり、或いは情報が失われることさえある。従って、高速ルーティングを可能にするスイッチング・ノードが求められる。
【0003】
欧州特許第312628号は、通信ネットワークの複数の着信転送リンクと送信転送リンクを相互接続する、または着信と送信のコンピュータ、ワークステーション接続リンク間でデータを交換するスイッチング装置について説明している。更にこれまでのパケット形式についても説明している。
【0004】
www.zurich.ibm.com/Technology/ATM/SWOCPWPには従来のスイッチング技術の概要が記載されており、PRIZMAチップへの組み込みが説明されている。このテーマに関しては、W. E. Denzel、A. P. J. Engbersen、I. Iliadisによる”A flexible shared−buffer switch for ATM at Gbit/s rates”(Computer Networks and ISDN Systems、[0169−7552/94]、Elsevier Science B. V. 、Vol. 27、No. 4、pp. 611−624)からも情報が得られる。
【0005】
PRIZMAチップは、共有される共通出力バッファを含み、ポート速度300Mビット毎秒乃至400Mビット毎秒の16の入力ポートと16の出力ポートを持つ。スイッチの原理は、まず着信パケットを完全パラレルI/Oルーティング・ツリーを通してルーティングし、ルーティングされたパケットを出力バッファのキューに入れる。チップはこれに加えて、データ(ペイロード)と制御(ヘッダ)の流れの分離を利用する。動的に共有される出力バッファ・ストレージにはペイロードのみ格納される。PRIZMAチップのアーキテクチャはスケーラブルであり、よって、ポート速度、ポート数、及びデータ・スループットを向上させることのできる複数の拡張機能を提供する。これらの拡張機能は、PRIZMAをモジュール形式で利用することにより実現することができる。シングルステージまたはマルチステージの交換網もモジュール形式で構成することができる。
【0006】
PRIZMAチップは、特にATM、つまり非同期転送モードにもとづくブロードバンドの電気通信に適している。ただしその概念はATM志向アーキテクチャの環境に限定されない。ATMは、セルとも呼ばれる固定長の短いパケットをもとにし、将来普及が予想されるBISDN(ブロードバンド・サービス統合デジタル網)の統合交換転送規格として適用されるとみられている。輻輳を解消するためのPRIZMAのトポロジとキュー構成は、高度な並列性を採用している。ルーティング機能は、ハードウェア・レベルにおいて分散方式で実行され、セルフ・ルーティングと呼ばれる。ATMパケットはいくつかのパケット・タイプに分けられ、特にペイロード・サイズの異なるパケット・タイプに分けられる。PRIZMAチップは、ペイロードが最大64バイトまでのパケットを処理するものであるが、12バイト、16バイト、32バイト、48バイト等、他のパケット・ペイロードも転送できる。
【0007】
1つのスイッチング装置に複数のデータ・ソースが接続される場合、各ソースに特定の帯域幅が割当てられる。これは超えられないか僅かに超えられるのみであり、そうでなければスイッチング装置の性能は低下し、遅延時間が長くなるかデータが失われることもある。データ・ソースは、データを提供する企業であり、帯域幅利用ポリシの適用を受ける。通常はこのポリシにより企業が割当てられた帯域幅レベルを超えた場合にはペナルティ料金が課される。割当てられた帯域幅未満にとどまるデータ・ソースからのデータ・パケットを処理し、割当てられた帯域幅を超えて届いたデータ・パケットについては、必要なら処理品質のみ落とすという面で、データ・ソースを公平に扱うことはスイッチング装置の役割である。このいわゆるサービス品質は、データ・パケットに関して公平な取り扱いを受ける権利を得ている顧客の利益を守る上では重要である。不公平な取り扱いは顧客の不満と利益の損失につながる。データ・パケットのスイッチング装置への着信の流れを制御することについては、米国特許第5493566号に、入力バッファと出力バッファをフィードバック・ループで組み合わせたパケット・スイッチを通してデータ・セルの流れを制御する装置が説明されている。出力バッファの充塞(fullness)レベルが継続的に監視され、スイッチの入力側のアクセス装置に報告される。アクセス装置は入力バッファと、出力バッファの充塞レベルが既定レベルを超えたときは、データ・セルの流れを止めてデータ・セルを入力バッファに維持するスロットル装置を含む。出力バッファの充塞を示す状態メッセージが、入力バッファのセルによりアドレス指定されている出力バッファを示すアクセス・メッセージと比較され、アドレス指定されていて出力バッファから溢れるセルのみ、スロットル装置により停止される。
【0008】
【発明が解決しようとする課題】
後に述べた従来技術に従ったスロットル装置は、スイッチング装置自体に送られたデータ・パケットの速度を制御するスイッチ・アダプタの一部である。スイッチング装置側には、何らかの理由により報告された出力バッファ状態に従ってデータ・パケット・ストリームを制限しないアダプタに対処する機構がない。
【0009】
請求項1及び請求項9に従った本発明の目的は、接続された全てのデータ・ソースに公平な取り扱いとサービス品質を保証するため、欠陥のあるスイッチ・アダプタまたは他の理由からバックプレッシャがあるにもかかわらずデータ・パケットを送信し続けるスイッチ・アダプタに対応するスイッチング装置及びその方法を提供することである。
【0010】
【課題を解決するための手段】
本発明は、数個の入力ポートと数個の出力ポートを含むスイッチング装置を対象とする。入力ポートはそれぞれ対応するスイッチ・アダプタに接続できる。少なくとも1つのスイッチ・コントローラにより、着信データ・パケットの入力ポートから出力ポートへのルーティングが制御される。出力ポート毎に輻輳コントローラが構成される。輻輳コントローラは、動作時、出力ポートへのデータ・パケットの送信をスイッチ・アダプタに許可するかどうかを示す許可情報を生成する。入力ポート毎に、データ・パケット・アクセス・コントローラが動作時、データ・パケットの送信を許可されていないにもかかわらず入力ポートでデータ・パケットが受信された場合、データ・パケットを非承認とマークする。このマークは、データ・パケットのルーティングを防ぐため使用できる。承認はスイッチング装置に属するデータ・パケット・アクセス・コントローラにより行われる。ここで有益な事として、フロー制御遅延、つまりデータ・パケット・アクセス・コントローラ側で非承認パケットが受信された時間と、スイッチ・アダプタが非承認の通知を受けた後に最初のデータ・パケットが送信され得る時間の差が、データ・パケット・アクセス・コントローラ側で考慮される。
【0011】
入力バッファを使用する共通出力バッファ方式では、本発明を次のように実装することができる。出力キューや共通出力バッファについては、共通出力バッファの占有されたアドレスそれぞれの出力キューで占有場所のしきい値を超えたことを入力バッファに通知するため、輻輳コントローラの形で許可手段が与えられる。入力バッファがこのバックプレッシャに対応することは、データ・パケット・アクセス・コントローラにより保証される。アクセス・コントローラは、バックプレッシャが否定的許可情報の形で発行されたにもかかわらず着信したデータ・パケットを非承認とマークする。マルチキャスト・データ・パケットでは、その順序情報をマルチキャスト・データ・パケットが着信する出力ポートの出力キューそれぞれに入力でき、マルチキャスト・データ・パケットのアドレスは、マルチキャスト・データ・パケットの全ての順序情報が出力ルータにより正常に処理されたとき、別のデータ・パケットのアドレス・マネージャによってのみ解除できる。
【0012】
データ・パケットの内容からデータ・パケット宛先情報が抽出される。データ・パケットによって処理の優先順位が異なる場合、優先順位のクラス毎、及び出力ポート毎に、別々の入力キューを与えることができる。
【0013】
データ・パケットの宛先である出力ポートに従って、各入力ポートで、スイッチング装置の出力ポートと少なくとも同じくらい、多くの入力キューを含む入力バッファの入力キューにデータ・パケットをソートし、対応する入力バッファの入力キューからのデータ・パケットをルータに多重化することは有益である。出力バッファを使用するルータ構成の場合、多重化されたデータ・パケットの順序を制御するため、入力ポート毎に独立したコントローラを使用することが可能である。またデータ・パケット宛先情報に従って、ルータを介して出力ポートの少なくとも1つの専用出力ポート及び少なくとも1つの出力バッファにデータ・パケットをルーティングできる。
【0014】
【発明の実施の形態】
以下、本発明の様々な実施例について説明する。
【0015】
図1は、入力バッファを使用しデータ・パケットを処理するスイッチング装置10を示す。スイッチング装置10に着信するデータ・パケットは、転送するデータ(ペイロードとも呼ばれる)及びデータ・パケット・ヘッダを含む。ヘッダは、パケット・タイプ、完全性チェックサム、及びデータ・パケットの宛先アドレス(データ・パケット宛先情報ともいう)等、データ・パケットに関する様々な情報を含む。
【0016】
図1の構成に含まれるスイッチング装置10は、クロスバー・スイッチング装置等であり、N個の入力ポート20、N個の出力ポート30を備える。各入力ポート20側に、”IB”と記したFIFOキューの形で実装される入力バッファ11を含むスイッチ・アダプタ19が構成される。スイッチ・アダプタ19はそれぞれ、対応するアダプタ入力ライン50に接続される。入力バッファ11はそれぞれ複数の入力キュー12に分けられる。つまり各入力バッファ11は、出力ポート30毎に必ず前記のような1つの入力キュー12を持つ。従って各入力バッファ11は、ここではN個の入力キュー12を含む。1つの入力バッファ11のこれら入力キュー12はそれぞれ、同じ1つの出力ポート30に向かう着信したデータ・パケットを格納するものである。従って着信したデータ・パケットは、その宛先出力ポート30に従って各入力バッファ11でソートされる。そのためスイッチ・アダプタ19は、アダプタ入力ライン50に届いたデータ・パケットを、その宛先に従って入力キュー12に配布するための配布者27を含む。入力キュー12の出力側では、特定の時点でスイッチング装置10にデータ・パケットを転送することのできる入力キュー12をその時点で接続するため、セレクタ26が用いられる。
【0017】
スイッチ・アダプタ19は全て、”C”と示した共通制御ユニット(コントローラ)25に接続され、コントローラ25はスイッチング装置10に接続される。コントローラ25の目的は、アダプタ入力ライン50を介して届き、出力ポート30に届く予定のデータ・パケットをこれら出力ポート30まで導くことである。データ・パケットは、出力ポート30から他のスイッチング装置や受信デバイス等、後続のデバイスに配信することができる。
【0018】
この構成では、”最初にバッファ、次にスイッチ”の機能が得られる。これは、出力ポート30が他のデータ・パケットを受信中であるため、着信したデータ・パケットをその宛先である出力ポート30に直ちに送信できない場合である。着信したデータ・パケットは、スイッチング装置10に達するため通過する必要のあるパスが空くまで、対応する入力バッファ11に保持される。コントローラ25は、タスクを引き継いで各データ・パケット・ヘッダに含まれるデータ・パケット宛先情報に従って入力ポート20と出力ポート30間に必要な接続に備え、対応する入力バッファ11の次のデータ・パケット用のパスがいつ空くかを入力バッファ11に通知する。これによりこのデータ・パケットを入力バッファ11から取得してその宛先、つまりターゲット出力ポート30に送ることができる。
【0019】
特定の出力ポート30に向かっているデータ・パケットが、その出力ポート30がその時間に他のデータ・パケットを処理しているためにブロックされた場合、この構成では、同じ出力ポート30に向かっているデータ・パケットは、ラインの先頭でブロックしているデータ・パケットによりブロックされるデータ・パケットだけであり、他の出力ポート30に向かっているデータ・パケットは、宛先出力ポート30へのパスが空いたときに個別に処理でき、スイッチング装置10に転送することができる。理論上、これは理想的な性能曲線になり、理論上の最大スループットは100%である。前記構成を使用する現実的アプローチでは、このスイッチング装置10に可能な最大データ・パケット・トラフィックの40%乃至50%の負荷を課すことを推奨することになる。この範囲を超えると遅延対負荷曲線が急峻になるからである。つまり、入力バッファ・スペースによるが負荷が少し増えると、遅延及び使用される入力バッファ・スペースは大幅に増加する。遅延が負荷に大きく依存する状態は実用上望ましくない。これは遅延対負荷曲線の平坦な部分でスイッチング装置10を使用することが望ましいことを意味する。つまり、この制限があるとき、入力/出力ポート数16、ポート速度1ギガビット毎秒(Gbps)のクロスバ・スイッチング装置10は、合計16×1Gbpsのトラフィックを処理することはできず、その40%乃至50%である6.5ギガビット毎秒乃至8ギガビット毎秒しか処理できない。
【0020】
更に、有限な入力バッファ11スペースでは、データが失われる可能性が大きくなる。ブロッキングのために入力バッファ・スペースが埋まり、一旦入力バッファが一杯になると着信するデータ・パケットが失われるからである。この可能性はマルチキャスト・パケットでも大きくなる。
【0021】
データ・パケットのブロッキングによる輻輳の場合にデータの喪失を避けるため許可機構と呼ばれ、輻輳コントローラ(後述)により実行されるデータ・パケット・フロー制御機構が追加される。任意の出力ポート30からコントローラ25に送信される許可情報GRが生成され、コントローラ25がこの許可情報GRを全ての入力バッファに配布する。許可情報GRには2つの状態がある。許可、つまり入力バッファ11がデータ・パケットを送信できる状態と、不許可、つまり入力バッファ11がデータ・パケットを送信できなくなる状態である。許可状態は肯定的許可情報GRと呼ばれ、不許可状態は否定的許可情報GRと呼ばれる。否定的許可情報GRは、否定的許可情報GRを発行した出力ポート30が着信データ・パケットを受信できなくなり、従って、新しく発行される肯定的許可情報GRによりデータ・パケットの送信を再開できることの通知を入力バッファ11が受け取るまで、入力バッファ11が対応する出力ポート30へのデータ・パケットの送信を停止しなければならないことを入力バッファ11に通知する。許可情報GRは、ここでは各出力ポート30に付属する輻輳コントローラ60により発行される。輻輳コントローラ60によりオーバーフローまたは輻輳と解釈された状態になるとすぐ、輻輳コントローラ60が肯定的許可情報GRを否定的許可情報GRに切り替える。輻輳コントローラ60は、輻輳またはオーバーフローが解消したことを検出すると直ちに、否定的許可情報GRを肯定的許可情報GRに切り替える。実装形態や安全マージンによるが、切り替えのしきい値は通常、最大占有度より低い。切り替えに関しては、異なる2つのしきい値を使用して切り替えのヒステリシスを取ることができる。
【0022】
スイッチング装置10は、入力ポート20毎にデータ・パケット・アクセス・コントローラ40を含む。アクセス・コントローラ40は、入力ポート20毎に許可情報GRも受信する。データ・パケット・アクセス・コントローラ40のタスクは、否定的許可情報GRが入力バッファ11に送信されたにもかかわらず入力バッファ11から着信するデータ・パケットが認識されるようにすることである。その後スイッチング装置10による処理を拒否することができる。それらのデータ・パケットは従って、非承認として分類されマークされる。
【0023】
このケースは、例えばスイッチ・アダプタ19に欠陥があり、否定的許可情報GRに反応しないときに発生する。マークされたデータ・パケットが破棄されると、データ・パケット・アクセス・コントローラ40による制御機構が働き、そのような不適合にもかかわらずデータ・パケット・トラフィック・ポリシが適用され、ポリシに従ったデータ・パケットのみ処理される。つまり宛先出力ポート30に転送される。他の場合、スイッチング装置10は、データ・パケット・トラフィック・ポリシに従っていないデータ・パケットを処理するが、データ・パケット・トラフィック・ポリシに従って動作するスイッチ・アダプタ19に使用できる帯域幅が影響を受ける。全てのスイッチ・アダプタ19、及びスイッチ・アダプタ19を介してデータ・パケットを送信するユーザに対してサービス品質を保証するには、データ・パケット・トラフィック・ポリシに準拠する必要がある。
【0024】
このステージのデータ・パケット・アクセス・コントローラ40は、非承認データ・パケットを認識するという点で、データ・パケット分類器として機能する。この認識は次に別の目的に使用することができる。非承認データ・パケットが着信したという事実を対応するスイッチ・アダプタ19または他のデバイスに通信することができ、それらのデバイスは、何かが正常に動作していないことを認識する。データ・パケット・アクセス・コントローラ40は、従って診断システムとして機能し、スイッチ・アダプタ19の不具合が検出される結果、そのスイッチ・アダプタ19を交換または修復することができる。帯域幅が課金される業務環境の場合、欠陥のあるスイッチ・アダプタの所有者は、限度を超える帯域幅の利用に対して料金を課されることがある。マークされたデータ・パケットの最も有効な利用法は、スループットの遅延やポリシ準拠型データ・パケットの処理の拒否を避けるため、そのデータ・パケットを破棄することである。マークを使用するかどうかは、プログラミング及びスイッチング装置10の設計により決定される。スイッチング装置は、従って、非承認データ・パケットが自動的に破棄されるように設計することができる。また欠陥のあるスイッチ・アダプタ19またはスイッチ・アダプタ19の更に上流に配置されたデバイスとの通信を行える。スイッチング装置は、データ・パケットを処理するか破棄するかを決定するため、フロー制御ユニット(後述)を含む。
【0025】
データ・パケットのヘッダの、データ・パケットの宛先を決定する部分は、パケットが出力ポート30に届いた後は不要になるので、この部分のスペースを許可情報GRを入れるために使用できる。このスペースは大きく、1つの出力ポート30の許可情報GRだけではなく、全ての出力ポート30の許可情報GRも、1つのデータ・パケットのヘッダに収まる。各入力ポート20について、対応する許可情報GRの状態を1ビットで表すことができる。従ってデータ・パケット・ヘッダは、全ての入力ポート20の許可状態を示すビットマップを含む。許可情報GRの許可/不許可状態に加えて、許可情報GRの環境に関する情報を生成して転送することも考えられる。例えば、許可情報GRは、適用可能なしきい値に応じて変更することができる。生成されヘッダに置かれる情報は、キューに入ったデータ・パケットの数だけ上回ったしきい値をバイナリ・コードの形で含むことができる(後述)。
【0026】
変更されたデータ・パケットは、出力ポート30から後のデバイスに送信される。出力ポート30と入力ポート20を統一することは一般的であり効果的なので、ここではヘッダーに許可情報GRを含む変更されたデータ・パケットは、入力ポート20に自動的に届き、入力ポート20はヘッダーから許可情報GRを読取り、新しい許可情報GRを得ることができる。この更新はデータ・パケット毎に行えるので、スイッチ・アダプタ19には、許可情報GRの変更が連続的に通知される。
【0027】
図2は、データ・パケット・アクセス・コントローラ40の実施例を示す。データ・パケット・アクセス・コントローラ40はアクセス・ゲート41とカウンタ42の形の有限状態機械を含む。カウンタ42の出力はアクセス・ゲート41に接続され、ゲート41の他の入力はスイッチ・アダプタ19から着信するデータ・パケット(DP)を受け取る。カウンタ42は、否定的許可情報GRが生成され送信された後に、それにもかかわらずデータ・パケットが準拠型として受け入れられる時間枠を用意する。時間枠が用意されるのは、許可情報GRが送信された時間と入力バッファ11に届いた時間プラス、その時間より前に送信されたデータ・パケットがスイッチング装置10に届くため必要な時間に差があるためである。この差によりフロー制御遅延が決定される。その時点は可変であり、可能な範囲内の最も新しい時間を選択すること、つまりデータ・パケットが入力バッファ11からデータ・パケット・アクセス・コントローラ40に届くまでの最大時間を用いることは、最適なソリューションとみなされる。ただしその場合、非承認データ・パケットは、非承認にもかかわらず受け入れられ処理される。しかし、準拠型データ・パケットが非承認として処理され、破棄や偽シグナリングの形の”報復的”処置に用いられることはない。カウンタ42は従って、フロー制御遅延のこの上限に設定することができ、データ・パケット・アクセス・コントローラ40で許可情報GRが受信される毎に開始され、許可情報GRが否定から肯定に切り替えられるとすぐリセットされる。
【0028】
許可情報GRが送信された時間と、許可情報GRが入力バッファ11に達する前にその入力バッファ11から送信された最後のデータ・パケットが、許可情報GRを送信した出力ポート30に届いた時間の差は、往復遅延と呼ばれる。
【0029】
許可情報GRは、ここでは、1つの出力ポート30及び対応する入力ポート20に対する許可情報GRを表す1ビットの形で与えられる。否定的許可情報GRは、1つの出力ポート30のバッファまたは1つの出力ポート30の後のバッファに格納されたデータ・パケットの量が既定第1しきい値を超えたときに生成される。この第1しきい値は、入力バッファ11で否定的許可情報GRにより不許可を指定するとき、入力アダプタつまりスイッチ・アダプタ19から送信されるデータ・パケットをバッファに格納できるよう、出力ポート30のバッファの実際の大きさより低く設定される。許可情報GRの否定から肯定への切り替えは、第2しきい値のアンダーフローによりトリガすることができる。第2しきい値は第1しきい値と同じでもよく、同じでなくてもよい。前記のように、このようなしきい値は、オーバーフロー或いはアンダーフローを予測して複数実装することができ、許可情報GRを切り替える原因はどのしきい値かという情報をスイッチ・アダプタ19に伝えることができる。
【0030】
宛先毎のソートはまた、VOQ(仮想出力キューイング)と呼ばれる。コントローラ25は、最大N個のリクエストを処理する必要があるが、それでは入力/出力ポート30が増えて装置が複雑になる。これ自体は大きな問題にはならないが、一般には、どの時点でもどのような環境下でも入力キュー12毎に公平な取り扱いを実現し、スイッチング装置の能力を最大限に活用することが望ましい。その場合、どの時点でも各出力ポート30に、配信するデータ・パケットが存在することになる。この野心的な目標は、コントローラ25にとっては容易なタスクではなく、コントローラ25がかなり複雑になる。
【0031】
この構成の複雑さは、優先順位の異なるデータ・パケットに対応するよう設計されると、つまり優先順位毎に入力キュー12が与えられると、更に大きくなる。入力バッファ11当たりの入力キュー12の数は、優先順位の数を出力ポート30の数に掛けた値になる。
【0032】
次の例のスイッチング装置10は、非承認データ・パケットを自動的に破棄するように設計されているとする。
【0033】
他の方法は、第1にキュー配置、次にバッファ格納である。理論上、このモデルは純粋な出力バッファ装置に辿り着く。ただし実際には、バッファ・サイズが制限される。有限な出力バッファでは、データ・パケットが出力バッファに届いても、出力バッファがすでに埋まっていてパケットが失われる可能性がある。有限な出力バッファは無限な入力バッファと組み合わせられるが、もちろん実際には有限な入力バッファでも実現される。この構成を図3に示す。これは図1とは異なり、スイッチング装置10はクロスバ・スイッチング装置ではなく、ルーティング・スイッチング装置10(ルータ10ともいう)である。ルータ10と出力ポート30それぞれの間に”OB”と示した出力バッファ35が置かれる。ルータ10に届いたデータ・パケットは、宛先の出力ポート30にルーティングされ、そこで対応する出力バッファ35に格納される。
【0034】
またここでは、考えられる出力バッファ・オーバーフローを処理する許可機構が採用される。各出力バッファ35に定義済み第1しきい値があり、これを超えると許可情報GRが肯定から否定に切り替えられ、第2しきい値ではこれが逆になる。許可情報GRはコントローラ25を介して全ての入力バッファ11に送られる。否定的許可情報GRでは、出力バッファ35により否定的許可情報GRがトリガまたは発行された出力ポート30へのデータ・パケットの送信の停止が、全ての入力バッファ11に要求される。
【0035】
データ・パケット・アクセス・コントローラ40のタスクは、ここでも、入力バッファ11に否定的許可情報GRが送られたにもかかわらず入力バッファ11から届くデータ・パケットを拒否することである。これらのデータ・パケットは非承認として分類され、任意破棄される。前記のように、データ・パケット・アクセス・コントローラ40は、許可情報GRへの準拠を保証するよう機能する。
【0036】
入力バッファ11は、入力バッファ11とスイッチング装置10間の接続ラインが比較的少ないため、スイッチング装置10から比較的簡単に物理的に分離できるので、比較的安価なメモリ・チップで実現することができ、従ってバッファ・サイズは、実際には、出力バッファ35の場合より同じ価格でかなり大きくすることができる。従ってこの機構では、有限な入力バッファ11は、理論上無限な入力バッファ11の近似として好ましい。前記の構成にはしかし2つ欠点がある。第1に、ルータ10は、複雑さがNに比例して大きくなる機能を実現する必要がある。第2に、スイッチング装置10を最適な形では使用できない。マルチキャスト・トラフィックがないと仮定すると、各入力ポート20について、1つの出力ポート30に送るデータ・パケットはどの時点でも1つのみである。従って入力ポート20毎に、どの時点でもルータ10のN−1個の出力ラインが使用されない。つまりN個の出力ラインのうちN個のラインしか使用されない。更に出力バッファ35自体も最適な形で使用されない。入力ポート20が2つ以上、同じ出力ポート30にデータ・パケットを送信する場合、その時点で他に少なくとも1つの出力ポート30はデータ・パケットを受信せず、その結果、出力バッファ・スペースの必要は少なくなる。各出力ポート30に別に出力バッファ35がある場合、使用頻度の高い出力ポート30に利用できるバッファ・スペースが、使用頻度の低い出力ポート30を犠牲にして一時的に増える可能性はない。
【0037】
図4の構成では、全ての出力ポート30間で出力バッファ・スペースを動的に共有することができ、同時に前記のNの割合で増加する複雑さの問題も解決される。図4の構成は、N個の入力バッファ11を含み、ルータは入力ルータ13と出力ルータ14に分けられる。入力ルータ13の出力側には”COB”と示した共通出力バッファ35が1つのみ置かれる。これは”IR”と示した入力ルータ13から着信した全てのデータ・パケットを扱う。共通出力バッファ35の出力側には、”OR”と示した出力ルータ14が1つのみ置かれる。入力ルータ13と出力バッファ35に並列に”AM”と示したアドレス・マネージャ16が配置され、入力ルータ13と出力ルータ14に接続される。アドレス・マネージャ16は”OQM”と示した出力キュー・マネージャ17に接続され、マネージャ17は全ての入力バッファ及びアドレス・マネージャ16から入力を受け取る。出力ポート30毎に”OQ”と示した出力キュー18が含まれる。キュー18は出力ルータ14に入力を与える。
【0038】
この構成は、入力ポート20毎に、仮想出力キューを持つ入力バッファ11を含む。つまり各出力キュー18に対する各入力バッファ11に入力キュー12を持つ。入力バッファ11は入力ルータ13に接続され、入力ルータ13に共通出力バッファ35と出力ルータ14が続く。各入力バッファ11には専用の入力コントローラ25があり、入力バッファ11の異なる入力キュー12から送信されるデータ・パケットの順序が制御される。
【0039】
着信するデータ・パケットは全て入力ルータ13を介して共通出力バッファ35にルーティングされる。アドレス・マネージャ16は入力ルータ13に、共通出力バッファ35のどの場所に、つまりどのアドレスに、着信データ・パケットが格納されるかの情報を与える。またこのアプローチは、入力バッファ11がその情報を得、入力ルータ13に与えるように設計することもできる。
【0040】
特定の出力ポート30に向かう各データ・パケットが出力バッファ35のどのアドレスに格納されているかの情報が出力キュー・マネージャ17に、具体的にはその出力キュー18に書込まれる。この情報は順序情報と呼ばれる。順序情報は、共通出力バッファ35に格納されるデータ・パケットそれぞれについて、そのデータ・パケットが送信される出力キュー18の1箇所に置かれる。アドレスは従って対応する出力ポート30、つまり対応アドレスに格納されたパケットが向かう出力ポート30に従ってソートされる。これは、各出力ポート30が、その出力ポート30に届くデータ・パケットのアドレスを、対応出力キュー18から取得することを意味する。アドレス・マネージャ16はここで、出力キュー18毎に一度に1アドレスを同時に処理する。これはまた、各入力ポート20毎に1アドレスが常に使用できる状態に保たれ、これは対応データ・パケットが届く前に行えることを意味する。入力ポート20のライン先頭に届く各データ・パケットには、従って、入力ルータ13により導かれる宛先アドレスが用意される。これらN個のアドレスは、アドレス・マネージャ16により出力キュー・マネージャ17にも与えられ、マネージャ17は入力として更にN個のデータ・パケット宛先情報を受け取る。これは、届いた全てのデータ・パケットの順序情報をどの出力キュー18に入力するかを判定するためのマスクになる。全ての入力ポート20に対するアドレスの並列処理により、データ・パケット処理が速くなり、また公平になる。アドレスが使用できない場合については後述する。
【0041】
従って、アドレス・マネージャ16により、全ての着信データ・パケットにアドレスが与えられる。このアドレスでデータ・パケットが共通出力バッファ35に格納されるので、アドレスはパケットが向かう出力ポート30に対応する出力キュー18内の場所に格納される。従って情報、つまりデータ・パケット宛先情報はパケット・ヘッダから抽出される。出力ルータ14は最終宛先のために機能する。つまり各出力ポート30について対応する出力キュー18から次のアドレスを取得し、そのアドレスのデータ・パケットをフェッチし、そのデータ・パケットの宛先である出力ポート30に送る。フェッチ・スループットはここでは、非破壊的読取りプロセスであり、共通出力バッファ35に一度だけ格納されるが、そのデータ・パケットを受信する必要のある全ての出力ポート30が受け取るまで数回読出される点で、処理対象のマルチキャスト・データ・パケットに対応する。出力バッファ35からデータ・パケットが読出された後、対応するアドレスが解除される。つまりこのアドレスはアドレス・マネージャ16に戻され、アドレス・マネージャ16は再びこのアドレスを入力ポート20の1つに割当てることができ、次に届くデータ・パケットが処理される。マルチキャスト・データ・パケットの場合はカウンタ(図示せず)が用いられる。カウンタは、データ・パケットが格納されてからそのデータ・パケットが転送される出力ポート30の数に設定され、そのデータ・パケットが出力ルータ14によりフェッチされる毎に減分される。カウンタの値がそのデータ・パケットについて0に達すると、対応するアドレスを解除することができる。共通出力バッファ35は従って、出力バッファ35と入力ルータ13間にN個の接続ではなく、N個の接続しか必要としないという点で有益である。つまり入力ルータ13と出力バッファ35のインタフェースに必要なリソースが、NからNに少なくなる。
【0042】
出力バッファ35の共有原理について説明する。出力キュー18は、合計で出力バッファ35のアドレスよりも多いキューイング場所を持つ。その場合、入力ポート20から見ると、各出力ポート30について出力バッファ35のスペースは、出力バッファ35を出力ポート30数で等しく割っただけの場合よりも大きい。この構成には、極端なトラフィック・パターンの変化を考慮した場合、かなり柔軟性があるので、データ・パケットの総トラフィックが出力バッファ35の現実の最大容量を超えない限り性能は向上する。特にトラフィック・バーストの処理効率が向上する。出力ポート30でその公平な分量よりも多くの出力バッファ・スペースを使用できるようにすることによって、データ・パケットが失われる可能性が小さくなるからである。
【0043】
しかし、この共有原理にはホギングの可能性もある。つまり、それを防ぐ他の機構がない場合、使用頻度の高い出力ポート30では、出力バッファ35の共有メモリ全体が占有され、他の出力ポート30を使用できなくなることがある。更に、共有により作られるのは、現実の出力バッファ・スペースよりも大きい仮想出力バッファ・スペースのみであることを考慮する必要がある。これは、入力ポート20が仮想出力バッファ・スペースを実出力バッファ・スペースを超える程度まで占有しようとする可能性があることを意味する。
【0044】
またここでは、出力バッファのオーバーフロー、つまり出力キュー・オーバーフローの可能性を処理する許可機構が採用される。各出力キュー18には、それを超えると否定的許可情報GRが生成される定義済み第1しきい値、及びそれを下回ると肯定的許可情報GRが生成される第2しきい値があり、許可情報GRは全ての入力バッファ11に送られる。否定的許可情報GRでは、全ての入力バッファ11が出力キュー18により否定的許可情報GRが発行された出力ポート30へのデータ・パケットの送信を中止する。更に共有の場合、出力バッファ35に予想されるオーバーフローも監視する必要がある。共有の場合には、全ての出力キュー18の場所の数の合計は、出力バッファ35のアドレス数より多いので、出力バッファ35は完全に埋められ得るが、出力キュー18はそこに格納されたデータ・パケットのしきい値に達しないことがある。従って出力バッファ35は、占有されたアドレスに対して第3しきい値を持つ。このしきい値に達すると、メモリ・フルのバックプレッシャが否定的許可情報GRの形で、全ての入力バッファ11に対して生成され、その場合は全て入力ルータ13を介した出力バッファ35へのデータ・パケットの送信を停止する必要がある。つまりどの入力バッファ11からでも1つのパケットも送信できない。占有されたアドレス数が第3しきい値またはこれとは異なる第4しきい値を下回るとすぐ、通常の動作を再開することができる。
【0045】
従って、特定の出力キュー18が一杯のとき、つまりその出力キュー18の特定のしきい値を超えた場合、従ってまた別のデータ・パケットをその出力キュー18に送信できる場合、入力バッファ11へのシグナリングに対応するフィードバック機構が構成される。特定の出力キュー18で非許可条件が成立すると、つまり対応するしきい値を超えると、否定的許可情報GRが発行され、各入力コントローラ25が反応する。つまりその出力キュー18に属する出力ポート30に向かうデータ・パケットは入力バッファ11から送信されなくなる。つまり占有された出力キュー18に対する入力キュー12からのデータ・パケットは保留され、他の入力キュー12はデータ・パケットの送信を継続することができる。
【0046】
この実施例のマルチキャスト・データ・パケットの場合、許可情報の生成を変更することができる。つまりそのために出力キュー18側で許可情報が生成されることはないか、その許可情報は無視される。マルチキャスト・データ・パケットの場合、マルチキャスト・データ・パケットが向かう各出力キュー18にエントリが作成されるので、出力キュー18のうち1つのみオーバーフローがあって否定的許可情報がトリガされるとき、マルチキャスト・データ・パケットが非承認とマークされる可能性が出力キュー18の数とともに大きくなる。これはマルチキャスト・データ・パケットに対する極端且つ不公平なバックプレッシャにつながり得る。この問題は、共通出力バッファ35からの許可情報のみを使用することで解決される。マルチキャスト・データ・パケットのこの優先的処理の対策として、マルチキャスト・データ・パケット用のカウンタまたはバッファを別に構成することができる。これは、既定の数またはしきい値に達したときに、否定的許可情報を生成するので、処理されるマルチキャスト・データ・パケットの数が制限される。
【0047】
図1及び図3に示した仮想出力キュー・モデルとは対照的に、ここでは中央コントローラが用いられない。その代わり各入力バッファ11に専用の入力コントローラ25が用いられる。これは他の入力コントローラ25とは独立に動作する。これはこの構成が、そのデータ・パケットの出力キュー18と共通出力バッファ35がまだ十分なスペースを維持しているとき、つまり否定的許可情報GRが生成されていないとき、全ての入力バッファ11で入力ルータ13を介してデータ・パケットを独立に送信できるようにする入力ルータ13を含むという事実による。入力コントローラ25の独立性により制御リソース全体の複雑さが大幅に減少する。ここでは、各入力コントローラ25は、着信するデータ・パケットを、公平さの有無にかかわらず、ラウンド・ロビン、優先順位等の既定の判定ポリシに従って処理するだけでよい。入力コントローラ25はそれぞれ、それによって格納されたパケットのどれを次に入力ルータ13に送信するかを個別に判定する。
【0048】
入力コントローラ25に、出力キュー18の占有状態についてより詳しい情報を入力コントローラ25に与える信号をフィードバックすることによって、装置に更に改良を加えることができる。目的は、どの時点でもどの出力ポート30でも、データ・パケットを次のステージに配信することなので、出力キュー18が空またはほとんど空であるという情報も入力コントローラ25に送信でき、好適には、対応する出力ポート30に向かうデータ・パケットを入力ルータ13に送信するため用いられる。出力キュー18の状態情報は、例えば占有度0または0に近いしきい値等のしきい値を追加することによって抽出することができる。空またはほとんど空の出力キュー18は従って、入力コントローラ25に報告され、コントローラ25は、出力キュー18がデータ・パケットを可能な限り早く受け取るようそのポリシを採用する。このようなしきい値を使用することで、入力コントローラ25に対して詳細な状態報告が可能になる。コントローラ25はこの状態報告を各出力キュー18に使用でき、データ・パケットの多重化ポリシに影響を与えることができる。この状態報告は、従って許可情報GRの一種の対極として働き、低負荷アラームまたは負荷を最大にするスケジューリング・フィードバック信号として使用できる。
【0049】
マルチキャスト・データ・パケットを処理する機構は、ここでは、図1及び図3による構成と同じである。各入力バッファ11が出力ポート30当たり及び優先順位当たり1つの入力キュー12を含み、複数の優先順位を処理することができる。つまり出力ポート30が8つで優先順位が4つのとき、各入力バッファ11は32の入力キュー12を含む。否定的許可情報GRはここでは、入力バッファにより選択的に配布することができる。つまり特定の出力キュー18から発生した否定的許可情報GRは、入力バッファ11の対応する入力キュー12にのみ、また複数の優先順位がある場合は対応する複数の入力キュー12まで案内される。従って、他の入力キュー12はどれもこの否定的許可情報によってブロックされず、共通出力バッファ35へのデータ・パケットの送信を続けることができる。スループットは、ここに適用される共通出力バッファの原理と組み合わせることで、図1及び図3の構成よりも向上する。
【0050】
ただし、ここで一見驚くような結果が現れる。予想に反して共有密度が高くなると性能が低下するのである。これは次のように説明することができる。スイッチング装置10はここでは、その最大負荷容量近くまで駆使される。つまり出力キュー18はそのしきい値近くまで埋められる。これは選択的許可情報GRによりライン先頭のブロッキングが回避されるためである。共有の結果、1つの出力ポート30及びその出力キュー18の過負荷がバッファに格納され、他の出力キュー18で使用できる容量が無駄になる。共有はそのメリットを時間を無作為に選んで活用する限りは十分有効である。仮想出力バッファ・スペースは実バッファ・スペースより大きいので、出力キュー18には、出力バッファ35の場所より多いアドレスが供給されるというリスクが存在する。これはもちろん出力バッファ許可機構により防ぐことができる。仮想出力キューには、この構成と組み合わせたとき、入力キュー12が対応する出力キュー18で使用できる容量に応じて正確に制御されるという効果がある。共有原理により増加するこの容量については、出力バッファ35が一杯になるため否定的許可情報GRが流れる可能性がある。また、共有ファクタ、つまり仮想出力バッファ・スペースに占める実バッファ・スペースの割合が高ければ高いほど、この可能性は大きくなり、よって一般的トラフィックでは全体の性能が低下することもまた明らかである。
【0051】
仮想出力キューを持つ入力バッファ11は、共有の有無にかかわらず、出力バッファ35と同じ原理を適用して、共通入力バッファ11の形でも実現することができる。つまり着信するデータ・パケットは共通入力バッファ11に格納でき、そのアドレスはそこで別の入力キュー12に格納され、それらデータ・パケットが向かう出力ポートに従って順序付けられる。
【0052】
図4の構成は、仮想出力キューなしに実現することもでき、その場合、各入力ポート20にキューが1つの入力バッファ11が得られる。
【0053】
ここに提示した発明では、交換網とも呼ばれる構成の、例えば16×16つまり16個の入力ポート20と16個の出力ポート30から、32×32へスケーリングするには、全てのスイッチ・アダプタ19でそのキュー構造のみ変更すればよく、アダプタ上の入力バッファ11を変更する必要はない。注意して見れば、これは、この入力バッファ11を入力キュー12の集合として管理するリンク・リストの実際の数をプログラムできるようにする必要があることを意味する。いずれにしろ、スイッチ・アダプタ19では、複雑さがN次でスケーリングされる。すなわち宛先の数を倍にすることは、入力キュー12と出力キュー18の数を倍にすることである。従来のVOQ構成では、スイッチの入力ポート20と出力ポート30の数を倍にするには、リクエスト数を2乗する必要がある。つまり16×16のコントローラは256のリクエストを受け取り、32×32のコントローラは1024のリクエストを受け取る。
【0054】
マルチキャスト・データ・パケットを考慮すると、従来のVOQ構成では、マルチキャスト・データ・パケットに特別な処理が必要になる。スイッチング装置10はその場合、内部バッファを持たない。これは、マルチキャスト・データ・パケットを送信するために、このデータ・パケットが向かう全ての出力ポート30を空けておく必要があることを意味する。その場合スイッチ・コントローラ25が複雑になる。つまりマルチキャスト・データ・パケットを転送することを認識する必要があり、他のスイッチ・アダプタ19はデータ・パケットをマルチキャスト・データ・パケットの宛先である出力ポート30の1つに送信しないようにする必要があり、マルチキャスト・パケットを送信するスイッチ・アダプタ19に送信許可を与える必要があり、更にスイッチング装置10に複数のクロスポイントを設定する必要がある。これは、このスイッチ・コントローラ25が単純なロジックで構成される限り可能であるが、パイプライン処理が行われ、最適な公平性と優先順位処理を図る洗練されたアルゴリズムで実行されると、実に複雑な作業になる。現在の慣行では、独立したマルチキャスト・キューが形成され、全てのアダプタがこれにマルチキャスト・データ・パケットを入れる。これでは非マルチキャスト・トラフィックとマルチキャスト・トラフィックの関係が完全に壊れる。従ってこれは最適なソリューションとみなすことはできない。具体的には、2つのマルチキャスト・データ・パケットの宛先が重複する少なくとも1つの出力ポート30があるとき、その2つのマルチキャスト・データ・パケットを、1つは第1スイッチ・アダプタ19から、もう1つは別のスイッチ・アダプタ19から送信することはできない。その場合スループットは重大な影響を受ける。
【0055】
図3に従った構成の場合、スイッチ・アダプタ19に送信するマルチキャスト・データ・パケットがあり、このデータ・パケットのコピーを受け取る出力キュー18により、そのしきい値を超えたことが通知されないとき、データ・パケットは送信することができる。複数のスイッチ・アダプタは複数のマルチキャスト・データ・パケットを同時に送信でき、実際にどこに送るかを互いに知っている必要はない。潜在的衝突は出力バッファ35により解決される。仮想出力キューと共有出力バッファつまり共通出力バッファ35を持つスイッチング装置10は、マルチキャスト・データ・パケットを処理する上で良好な環境を備える。他のスイッチング装置10とは異なり、データ・パケットを数回複製する必要がないからであり、従ってバッファ・スペースが節約されるからである。それでもマルチキャスト・データ・パケットはユニキャスト・パケットと同じように処理することができる。これによりトラフィックの制御とポリシの設定が容易になる。これによりリアルタイム動作が改良され、マルチキャスト・データ・パケットが、別処理プロセスのため人工的に加わった遅延の影響を受けなくなる。
【0056】
各優先順位に入力キュー12を使用することで、優先順位の低いデータ・パケットによる優先順位の高いデータ・パケットのブロッキングが避けられ、これもスイッチング装置10のサービス品質向上に寄与する。
【0057】
本発明に従ったスイッチング装置10の性能は様々な方法により向上させることができる。入力ポート20と出力ポート30の数を増やす場合、スイッチング装置10はマルチステージまたはシングルステージの構成にすることができる。マルチステージ構成では、必要になるスイッチング装置10の数は、これに匹敵するシングルステージ構成の場合に比べて急増することはない。つまりマルチステージ構成では、ポート数が増えても必要になるスイッチング装置10数はシングルステージ構成よりも少ない。
【0058】
ただし、マルチステージ構成の性能は低い。遅延が大きくなるからであり、1つの接続によって出力キュー18がフルに使用されることから他の宛先のデータ・パケットの処理が妨げられるか、または出力バッファ35がフルに使用されることからスイッチング装置の全ての入力がブロックされ、前のステージにその影響が及び、否定的許可情報GRが発行される可能性があるためである。この性能低下は、スピードアップ・ファクタによりある程度まで補うことができる。これはスイッチング装置10がその環境よりも高速に動作することを意味する。その場合、最後のステージから送り出され、より低い速度で次のハードウェア環境に渡される、より高速に着信するデータ・パケットをキューに入れるためスイッチング装置10の後に出力バッファ35が必要である。また、スイッチ内部のメモリが増える可能性もある。その場合出力バッファ35がフルに使用される可能性は少なくなる。しかしメモリをこのように大きくするにはかなりコストがかかり、そのメモリはいくらか物理的に制限される。スイッチング装置のメモリをメモリ拡張モードにより増やすと物理的制限はなくなるがコストは変わらない。マルチステージ構成で、後のスイッチング装置10が使用中の場合、つまりその出力バッファ35が一杯でアドレスを使用できないか、または出力キュー18が一杯のとき、全ての入力に対して否定的許可情報GRを生成できる。この許可情報GRはまた前の全てのスイッチング装置10に転送される。出力キュー18が一杯のとき、許可情報GRは、一杯の出力キュー18に向かうデータ・パケットのみ選択的にブロックすることができる。出力バッファ35が完全に占有されている場合、全ての入力バッファ11がブロックされる。否定的許可情報GRにより、前段のスイッチング装置10がブロックされ、このスイッチング装置10はセルを送信できなくなる。
【0059】
ここに示したスイッチング装置10は、従来の技術の項で述べたPRIZMAアーキテクチャによる方法等、これまでの拡張方法でスケーリングが可能である。従って高速化、ポートの拡張、性能向上、メモリの拡張(ここでは比較的大きい出力バッファ・スペース)、リンク並列化、マスタ/スレーブ・モード、或いはそれらの組み合わせ等を適用することができる。
【0060】
前記の複数の実施例は、部分的または全体的に組み合わせることができる。
【0061】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0062】
(1)スイッチング装置であって、
それぞれ対応するスイッチ・アダプタに接続可能な数個の入力ポート及び数個の出力ポートと、
前記入力ポートから前記出力ポートへ着信したデータ・パケットのルーティングを制御する少なくとも1つのスイッチ・コントローラと、
各出力ポートに対して用いられ、動作時に前記スイッチ・アダプタが前記データ・パケットを前記出力ポートに送信することを許可されているかどうかを通知する許可情報GRを生成する輻輳コントローラと、
前記入力ポートのそれぞれに対して用いられ、前記データ・パケットの送信が許可されていないにもかかわらず、前記入力ポートでデータ・パケットが受信された場合、動作時に、該データ・パケットを非承認とマークするデータ・パケット・アクセス・コントローラと、
を含む、スイッチング装置。
(2)前記データ・パケット・アクセス・コントローラは、タイマを含み、該タイマは、前記データ・パケットの送信が許可されないにもかかわらず、既定の時間間隔が過ぎる前、不許可を通知する許可情報GRが生成された後に前記入力ポートに届いた前記データ・パケットがマークされないようにし、該時間間隔は、好適には、該許可情報GRが生成された時点と、該許可情報GRが入力バッファの1つに届く直前に該入力バッファの1つから前記スイッチング装置に送信されているデータ・パケットが、前記データ・パケット・アクセス・コントローラに届く最も新しい時点との差である、前記(1)記載のスイッチング装置。
(3)前記輻輳コントローラは前記出力ポートの出力バッファに割当てられ、好適には第1しきい値に対するバッファ占有度のオーバーフロー或いは第2しきい値に対するバッファ占有度のアンダーフローによりトリガされる、前記(1)または(2)に記載のスイッチング装置。
(4)前記許可情報GRは前記出力ポート当たり1ビットまたは複数ビットを含む、前記(1)乃至(3)のいずれかに記載のスイッチング装置。
(5)前記スイッチング装置の全ての出力ポートの前記許可情報GRは、好適にはビットマップの形で各スイッチ・アダプタに通信可能である、前記(1)乃至(4)のいずれかに記載のスイッチング装置。
(6)前記スイッチ・アダプタを介して前記出力ポートから送信される前記データ・パケットは、前記許可情報GRを含む、前記(1)乃至(5)のいずれかに記載のスイッチング装置。
(7)前記出力バッファは前記データ・パケットのアドレスを持つ共通出力バッファであり、前記スイッチング装置は、入力ルータ、出力ルータ、該共通出力バッファの前記アドレスの使用を管理するアドレス・マネージャ、及び該共通出力バッファで前記データ・パケットをどのアドレスに格納するかについての順序情報を、該出力ルータに接続された出力キューに入力する出力キュー・マネージャを含む、前記(1)乃至(6)のいずれかに記載のスイッチング装置。
(8)前記出力キューは、前記順序情報に対して、合計で前記共通出力バッファのアドレスより多いキューイング場所を与える、前記(7)記載のスイッチング装置。
(9)数個の入力ポートと数個の出力ポートを持つスイッチング装置を通してデータ・パケットのルーティングを制御する方法であって、該入力ポートはそれぞれ対応するスイッチ・アダプタに接続でき、少なくとも1つのスイッチ・コントローラで該入力ポートから該出力ポートへ着信するデータ・パケットのルーティングを制御し、
各出力ポートに対して、前記スイッチ・アダプタが前記データ・パケットを前記出力ポートへ送信することを許可されているかどうかを通知する許可情報GRを生成するステップと、
前記データ・パケットの送信が許可されていないにもかかわらず前記入力ポートで受信されたデータ・パケットを非承認とマークするステップと、
を含む、方法。
(10)前記データ・パケットの送信が許可されていないにもかかわらず前記入力ポートに届いたデータ・パケットは、不許可を通知する許可情報が生成された時間の後、既定の時間間隔が過ぎるまでマークされない、前記(9)記載の方法。
(11)前記許可情報GRは、前記出力ポートでの出力バッファのバッファ占有度の、第1しきい値或いは第2しきい値に対する関係によって決定される、前記(9)または(10)に記載の方法。
(12)前記許可情報GRは前記出力ポート当たりの許可ビットの形で生成される、前記(9)乃至(11)のいずれかに記載の方法。
(13)前記スイッチング装置の全ての出力ポートの許可情報GRは、好適にはビットマップの形で各スイッチ・アダプタに通知される、前記(9)乃至(12)のいずれかに記載の方法。
(14)前記許可情報GRは、前記データ・パケットに、好適には前記スイッチ・アダプタを介して前記出力ポートから送信されるヘッダに挿入することによって、前記スイッチ・アダプタに通知される、前記(9)乃至(13)のいずれかに記載の方法。
【図面の簡単な説明】
【図1】仮想出力キューを持つクロスバ・スイッチの構成を示す図である。
【図2】データ・パケット・アクセス・コントローラの実施例を示す図である。
【図3】単一出力バッファを持つルータ・ベースのスイッチ構成を示す図である。
【図4】共有出力バッファを持つルータ・ベースのスイッチ構成を示す図である。
【符号の説明】
10 スイッチング装置
11 入力バッファ
12 入力キュー
13 入力ルータ
14 出力ルータ
16 アドレス・マネージャ
17 出力キュー・マネージャ
18 出力キュー
19 スイッチ・アダプタ
20 入力ポート
25 共通制御ユニット(コントローラ)
26 セレクタ
27 配布者
30 出力ポート
35 出力バッファ
40 データ・パケット・アクセス・コントローラ
41 アクセス・ゲート
42 カウンタ
50 アダプタ入力ライン
60 輻輳コントローラ

Claims (14)

  1. スイッチング装置であって、
    それぞれ対応するスイッチ・アダプタに接続され、着信したデータ・パケットを該スイッチ・アダプタに含まれる入力バッファを介して受け取る数個の入力ポート、及び、数個の出力ポートと、
    前記入力ポートから前記出力ポートへと、前記データ・パケットのルーティングを制御する少なくとも1つのスイッチ・コントローラと、
    前記入力ポートのそれぞれに対して用いられるデータ・パケット・アクセス・コントローラと、
    前記各出力ポートに対して用いられ、動作時に前記スイッチ・アダプタが前記データ・パケットを前記出力ポートに送信することを許可されているかどうかを通知する許可情報GRを生成し、前記入力バッファと前記データ・パケット・アクセス・コントローラとに送信する輻輳コントローラと、
    を含み、
    前記データ・パケット・アクセス・コントローラは、前記輻輳コントローラから受け取った前記許可情報GRが送信を許可しない旨を通知するものであるにもかかわらず、前記入力ポートでデータ・パケットが受信された場合、動作時に、該データ・パケットを非承認とマークする、スイッチング装置。
  2. 前記データ・パケット・アクセス・コントローラは、タイマを含み、該タイマは、前記データ・パケットの送信が許可されない旨を通知する許可情報GRが前記入力バッファへと送信された後既定の時間間隔が過ぎる前に、前記入力ポートに届いた前記データ・パケットがマークされないようにし、該時間間隔は、該許可情報GRが生成された時点と、該許可情報GRが入力バッファの1つに届く直前に該入力バッファの1つから前記スイッチング装置に送信されているデータ・パケットが、前記データ・パケット・アクセス・コントローラに届く最も後の時点との差である、請求項1記載のスイッチング装置。
  3. 前記輻輳コントローラは前記出力ポートの出力バッファに割当てられ、第1しきい値に対するバッファ占有度のオーバーフロー或いは第2しきい値に対するバッファ占有度のアンダーフローによりトリガされる、請求項1または請求項2に記載のスイッチング装置。
  4. 前記許可情報GRは前記出力ポート当たり1ビットまたは複数ビットを含む、請求項1乃至請求項3のいずれかに記載のスイッチング装置。
  5. 前記スイッチング装置の全ての出力ポートの前記許可情報GRは、ビットマップの形で各スイッチ・アダプタに通信可能である、請求項1乃至請求項4のいずれかに記載のスイッチング装置。
  6. 前記出力ポートから送信される前記データ・パケットは、前記許可情報GRを含む、請求項1乃至請求項5のいずれかに記載のスイッチング装置。
  7. 前記出力バッファは前記データ・パケットのアドレスを持つ共通出力バッファであり、前記スイッチング装置は、入力ルータ、出力ルータ、該共通出力バッファの前記アドレスの使用を管理するアドレス・マネージャ、及び該共通出力バッファで前記データ・パケットをどのアドレスに格納するかについての順序情報を、該出力ルータに接続された出力キューに入力する出力キュー・マネージャを含む、請求項1乃至請求項6のいずれかに記載のスイッチング装置。
  8. 前記出力キューは、前記順序情報に対して、合計で前記共通出力バッファのアドレスより多いキューイング場所を与える、請求項7記載のスイッチング装置。
  9. 数個の入力ポートと数個の出力ポートを持つスイッチング装置を通してデータ・パケットのルーティングを制御する方法であって、該入力ポートの各々は、それぞれ対応するスイッチ・アダプタに接続され、着信したデータ・パケットを該スイッチ・アダプタに含まれる入力バッファを介して受け取り、少なくとも1つのスイッチ・コントローラで該入力ポートから該出力ポートへ着信するデータ・パケットのルーティングを制御し、
    各出力ポートに対して、前記スイッチ・アダプタが前記データ・パケットを前記出力ポートへ送信することを許可されているかどうかを通知する許可情報GRを生成するステップと、
    許可情報GRを前記入力バッファと、前記入力ポートのそれぞれに対して用いられるデータ・パケット・アクセス・コントローラに送信するステップと、
    前記データ・パケット・アクセス・コントローラが、前記許可情報GRが送信を許可しない旨を通知するものであるにもかかわらず前記入力ポートでデータ・パケットが受信された場合、該データ・パケットを非承認とマークするステップと、
    を含む、方法。
  10. 送信を許可しない旨を通知する許可情報GRが前記入力バッファへと送信された時間の後、既定の時間間隔が過ぎる迄に前記入力ポートに届いたデータ・パケットは、非承認とマークされない、請求項9記載の方法。
  11. 前記許可情報GRは、前記出力ポートでの出力バッファのバッファ占有度の、第1しきい値或いは第2しきい値に対する関係によって決定される、請求項9または請求項10に記載の方法。
  12. 前記許可情報GRは前記出力ポート当たり1ビットまたは複数ビットを含む、請求項9乃至請求項11のいずれかに記載の方法。
  13. 前記スイッチング装置の全ての出力ポートの許可情報GRは、ビットマップの形で各スイッチ・アダプタに通知される、請求項9乃至請求項12のいずれかに記載の方法。
  14. 前記許可情報GRは、前記データ・パケットに、前記スイッチ・アダプタを介して前記出力ポートから送信されるヘッダに挿入することによって、前記スイッチ・アダプタに通知される、請求項9乃至請求項13のいずれかに記載の方法。
JP2001052146A 2000-03-06 2001-02-27 スイッチング装置とその方法 Expired - Fee Related JP3606565B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00810186 2000-03-06
EP00810186.7 2000-03-06

Publications (2)

Publication Number Publication Date
JP2001285364A JP2001285364A (ja) 2001-10-12
JP3606565B2 true JP3606565B2 (ja) 2005-01-05

Family

ID=8174584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001052146A Expired - Fee Related JP3606565B2 (ja) 2000-03-06 2001-02-27 スイッチング装置とその方法

Country Status (4)

Country Link
US (1) US6999415B2 (ja)
JP (1) JP3606565B2 (ja)
AT (1) ATE331369T1 (ja)
DE (1) DE60120807T2 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60107828T2 (de) * 2001-06-18 2005-06-16 Alcatel Strömungs- und Verstopfungsregelung in einem geschalteten Netzwerk
US7120113B1 (en) * 2001-07-16 2006-10-10 Juniper Networks, Inc. Systems and methods for limiting low priority traffic from blocking high priority traffic
US20030016625A1 (en) * 2001-07-23 2003-01-23 Anees Narsinh Preclassifying traffic during periods of oversubscription
US7274692B1 (en) * 2001-10-01 2007-09-25 Advanced Micro Devices, Inc. Method and apparatus for routing packets that have multiple destinations
JP3914771B2 (ja) * 2002-01-09 2007-05-16 株式会社日立製作所 パケット通信装置及びパケットデータ転送制御方法
US8046404B1 (en) * 2002-03-29 2011-10-25 Graphics Properties Holdings, Inc. System and method for discarding frames of an image during transport across a network link
US7151777B2 (en) * 2002-04-04 2006-12-19 Fujitsu Limited Crosspoint switch having multicast functionality
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
US7349416B2 (en) * 2002-11-26 2008-03-25 Cisco Technology, Inc. Apparatus and method for distributing buffer status information in a switching fabric
US7496032B2 (en) * 2003-06-12 2009-02-24 International Business Machines Corporation Method and apparatus for managing flow control in a data processing system
US20050036502A1 (en) * 2003-07-23 2005-02-17 International Business Machines Corporation System and method for handling multicast traffic in a shared buffer switch core collapsing ingress VOQ's
US7735114B2 (en) * 2003-09-04 2010-06-08 Foundry Networks, Inc. Multiple tiered network security system, method and apparatus using dynamic user policy assignment
US7623524B2 (en) * 2003-12-22 2009-11-24 Intel Corporation Scheduling system utilizing pointer perturbation mechanism to improve efficiency
US7570654B2 (en) * 2003-12-22 2009-08-04 Intel Corporation Switching device utilizing requests indicating cumulative amount of data
US20050232259A1 (en) * 2004-04-19 2005-10-20 Inching Chen Method and apparatus for data routing
US7355975B2 (en) * 2004-04-30 2008-04-08 International Business Machines Corporation Method and apparatus for group communication with end-to-end reliability
US8018851B1 (en) * 2004-06-30 2011-09-13 Marvell Israel (Misl) Ltd. Flow control for multiport PHY
US7742486B2 (en) * 2004-07-26 2010-06-22 Forestay Research, Llc Network interconnect crosspoint switching architecture and method
US7680053B1 (en) * 2004-10-29 2010-03-16 Marvell International Ltd. Inter-device flow control
US7813348B1 (en) 2004-11-03 2010-10-12 Extreme Networks, Inc. Methods, systems, and computer program products for killing prioritized packets using time-to-live values to prevent head-of-line blocking
US8072887B1 (en) * 2005-02-07 2011-12-06 Extreme Networks, Inc. Methods, systems, and computer program products for controlling enqueuing of packets in an aggregated queue including a plurality of virtual queues using backpressure messages from downstream queues
US8559443B2 (en) 2005-07-22 2013-10-15 Marvell International Ltd. Efficient message switching in a switching apparatus
CA2562634A1 (en) * 2005-11-28 2007-05-28 Tundra Semiconductor Corporation Method and switch for broadcasting packets
US7738473B2 (en) * 2006-04-20 2010-06-15 Forestay Research, Llc Multicast switching in a credit based unicast and multicast switching architecture
US20070248111A1 (en) * 2006-04-24 2007-10-25 Shaw Mark E System and method for clearing information in a stalled output queue of a crossbar
US8736627B2 (en) * 2006-12-19 2014-05-27 Via Technologies, Inc. Systems and methods for providing a shared buffer in a multiple FIFO environment
GB2459074B (en) * 2007-01-24 2011-10-19 Vaughan William Wittorff Control of data in communication networks
US8971346B2 (en) * 2007-04-30 2015-03-03 Hand Held Products, Inc. System and method for reliable store-and-forward data handling by encoded information reading terminals
US7830875B2 (en) * 2007-06-13 2010-11-09 Juniper Networks, Inc. Autonegotiation over an interface for which no autonegotiation standard exists
JP4703751B2 (ja) * 2009-09-09 2011-06-15 株式会社東芝 電子機器
US8819161B1 (en) 2010-01-18 2014-08-26 Marvell International Ltd. Auto-syntonization and time-of-day synchronization for master-slave physical layer devices
CN102164067B (zh) * 2010-02-20 2013-11-06 华为技术有限公司 交换网流控实现方法、交换设备及系统
US9660940B2 (en) 2010-12-01 2017-05-23 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
JP5569984B2 (ja) * 2012-02-08 2014-08-13 Necエンジニアリング株式会社 ネットワーク障害対処方法、ネットワーク及びホスト
DE102012207380A1 (de) * 2012-05-03 2013-11-07 Siemens Aktiengesellschaft Verfahren zum Verteilen von Datenströmen in einem Netzwerkelement
US9426081B2 (en) * 2013-06-01 2016-08-23 Microsoft Technology Licensing, Llc Management of multilevel queues for shared network adapters
US10270713B2 (en) * 2014-12-16 2019-04-23 Oracle International Corporation Scheduling packets with multiple destinations in a virtual output queue network switch
US11275632B2 (en) 2018-09-14 2022-03-15 Advanced Micro Devices, Inc. Broadcast command and response
JP7180485B2 (ja) * 2019-03-22 2022-11-30 株式会社デンソー 中継装置およびキュー容量制御方法
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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108303A (en) * 1995-12-06 2000-08-22 Pmc-Sierra Ltd. Method and apparatus for traffic control in a cell-based network
US5668797A (en) * 1995-12-06 1997-09-16 Pmc-Sierra, Inc. Traffic controller for cell-based transmission
US5831971A (en) * 1996-08-22 1998-11-03 Lucent Technologies, Inc. Method for leaky bucket traffic shaping using fair queueing collision arbitration
US6608813B1 (en) * 1998-11-04 2003-08-19 Agere Systems Inc Method and apparatus for achieving fault tolerance in packet switching systems with inverse multiplexing
JP3246457B2 (ja) * 1998-11-13 2002-01-15 日本電気株式会社 優先予約スケジューリング方式およびその方法
US6781986B1 (en) * 1999-06-25 2004-08-24 Nortel Networks Limited Scalable high capacity switch architecture method, apparatus and system
CA2292828A1 (en) * 1999-12-22 2001-06-22 Nortel Networks Corporation Method and apparatus for traffic flow control in data switches

Also Published As

Publication number Publication date
JP2001285364A (ja) 2001-10-12
ATE331369T1 (de) 2006-07-15
DE60120807T2 (de) 2006-12-28
US20010021174A1 (en) 2001-09-13
US6999415B2 (en) 2006-02-14
DE60120807D1 (de) 2006-08-03

Similar Documents

Publication Publication Date Title
JP3606565B2 (ja) スイッチング装置とその方法
JP4006205B2 (ja) 別々の出力バッファを備えたスイッチング構成および方法
US7848341B2 (en) Switching arrangement and method with separated output buffers
AU750787B2 (en) Arbitration method and apparatus for a non-blocking switch
US7324460B2 (en) Event-driven flow control for a very high-speed switching node
US5583861A (en) ATM switching element and method having independently accessible cell memories
US7023841B2 (en) Three-stage switch fabric with buffered crossbar devices
US6944170B2 (en) Switching arrangement and method
US7161906B2 (en) Three-stage switch fabric with input device features
CA2271883C (en) Many dimensional congestion detection system and method
US6151301A (en) ATM architecture and switching element
US7042883B2 (en) Pipeline scheduler with fairness and minimum bandwidth guarantee
US20040151197A1 (en) Priority queue architecture for supporting per flow queuing and multiple ports
JP2001217836A (ja) Atmセルの配布をスケジューリングする際に使用する重み付きラウンドロビンエンジン
JP3908483B2 (ja) 通信装置
JP2001292164A (ja) パケット・スイッチおよびその切替方法
US6574232B1 (en) Crossbar switch utilizing broadcast buffer and associated broadcast buffer management unit
EP1133110B1 (en) Switching device and method
US6046982A (en) Method and apparatus for reducing data loss in data transfer devices
US8213421B2 (en) Methods and systems for efficient multicast across a mesh backplane
US7623456B1 (en) Apparatus and method for implementing comprehensive QoS independent of the fabric system
EP1198098B1 (en) Switching arrangement and method with separated output buffers

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040419

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040419

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20040419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040902

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040902

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: 20040916

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040916

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20040916

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041004

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: 20071015

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081015

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081015

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091015

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091015

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101015

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101015

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111015

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121015

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121015

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees