JP2004536523A - 分散型共有メモリパケット交換のための帯域内メッセージの同期 - Google Patents
分散型共有メモリパケット交換のための帯域内メッセージの同期 Download PDFInfo
- Publication number
- JP2004536523A JP2004536523A JP2003514759A JP2003514759A JP2004536523A JP 2004536523 A JP2004536523 A JP 2004536523A JP 2003514759 A JP2003514759 A JP 2003514759A JP 2003514759 A JP2003514759 A JP 2003514759A JP 2004536523 A JP2004536523 A JP 2004536523A
- Authority
- JP
- Japan
- Prior art keywords
- notification
- packet
- units
- ingress
- memory
- 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
Links
- 230000015654 memory Effects 0.000 title claims description 60
- 239000004744 fabric Substances 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Description
【0001】
本出願は、参照によって本明細書にその内容が組み込まれる、2001年7月17日出願の米国特許仮出願第60/306,197号明細書の利益を主張する。
【0002】
本発明は、全般的にはパケット交換システムに関し、より詳細には、分散型共有メモリパケットスイッチにおける退出スケジューラに送信される通知メッセージの同期に関する。
【背景技術】
【0003】
データ通信スイッチにおける交換ファブリックにより、進入ポートから受信されたデータパケットを退出ポートに移送して、そのパケットを宛先に転送することが容易に行われる。交換ファブリックは、クロスバースイッチ、セルスイッチ、または共有メモリパケットスイッチとして実装することができる。他のタイプの交換ファブリックと比較すると、共有メモリパケットスイッチの利点の1つは、トラフィックの負荷が高い場合の頑強性である。共有メモリパケットスイッチは一般に、他のタイプの交換ファブリックよりもパケットの紛失を少なくし、待ち時間を短くさせる。
【0004】
ただし、共有メモリパケットスイッチは、すべての退出ポートに向けられたパケットを格納しそれにアクセスするための中心論理回路を提供する。ファブリックが大きくなると、中心論理回路への負担も増す。したがって、共有メモリパケットスイッチはしばしば、100ギガバイト/秒のデータレートを超える拡張性をもたない場合がある。
【0005】
2002年5月15日に出願され本出願の譲受人に譲渡された、参照によって本明細書にその内容が組み込まれる「DISTRIBUTED SHARED MEMORY PACKET SWITCH」という米国特許出願では、分散型共有メモリパケットスイッチによって、共有メモリパケットスイッチにおける拡張性の欠如の問題を克服する解決法を提案している。全般的に、この解決法は、M個の進入制御ユニットとM個の退出制御ユニットとに結合されたN個のパケットバッファユニットからなる共有メモリパケットスイッチを含む。M個の進入制御ユニットはそれぞれ、N個の進入直列リンクによってN個のパケットバッファユニットに結合され、各進入直列リンクは単一のパケットバッファユニット専用である。同様に、M個の退出制御ユニットはそれぞれ、N個の退出直列リンクによってN個のパケットバッファユニットに結合され、各退出直列リンクは単一のパケットバッファユニット専用である。
【0006】
各パケットバッファユニットは、M個の進入制御ユニットのいずれからもその専用進入直列リンクを介して受信したパケットを格納するメモリを含む。パケットバッファユニットによってパケットが受信されると、そのパケットに関心をもち得るM個の退出制御ユニットのいずれにも、その専用退出直列リンクを介して通知が送られる。退出制御ユニットは、適切な退出キューに十分な空間があると判断すると、退出制御ユニットによって要求されるまでパケットをパケットバッファユニットで保持するよう要求する予約メッセージを送信する。
【0007】
上述の解決法では、ある瞬間に退出制御ユニットが、その対応する退出直列リンクを介して、複数のパケットバッファユニットによって送信された複数の通知を受信し、その結果、退出制御ユニットが処理すべき通知のバースト過負荷が生じる状況が起こり得る。
【発明の開示】
【発明が解決しようとする課題】
【0008】
したがって、退出制御ユニットに対して通知の非バースト負荷を与える分散型共有メモリパケットスイッチが望ましい。
【課題を解決するための手段】
【0009】
本発明は、メッセージの均等分散を可能にする、退出ユニットに送信される通知メッセージの同期を対象とする。一実施形態によれば、本発明は、複数の進入ユニットと、複数の退出ユニットと、複数の進入ユニットおよび退出ユニットに結合された交換ファブリックとを含むパケット交換システムを対象とする。交換ファブリックは、複数の進入ユニットからパケットを受信し、それに応答して通知メッセージを生成する。生成された各通知メッセージは、関連パケットを送信する進入ユニットに基づいて順序づけられ、関連進入ユニットに基づいてメッセージに割り当てられた順序に従って、1つまたは複数の退出ユニットに送信される。
【0010】
別の実施形態によれば、本発明は、複数の進入ユニットと、複数の退出ユニットと、複数の進入ユニットおよび退出ユニットに結合された交換ファブリックとを含むパケット交換システムにおいて、パケットを処理する方法を対象とする。この方法は、複数の進入ユニットによって送信されるパケットを交換ファブリックで受信すること、各受信パケットに対する通知メッセージを交換ファブリックで生成すること、生成された通知メッセージを交換ファブリックで1つまたは複数の通知キューに格納し、1つまたは複数の通知キューに格納された通知メッセージが、関連づけられたパケットを送信する進入ユニットに従って順序づけられること、および、1つまたは複数の通知キュー中の通知メッセージの順序に従って通知メッセージを1つまたは複数の退出ユニットに送信することを含む。
【0011】
一実施形態では、交換ファブリックは、複数の進入ユニットによって送信されたパケットを受信して格納する複数のバッファユニットを含み、各バッファユニットは、複数の退出ユニットそれぞれに対する通知キューを含む。
【0012】
別の実施形態では、第1のバッファユニットの通知キューに格納された通知を取り出す1組の第1のポインタが第1の開始エントリに初期化され、第2のバッファユニットの通知キューに格納された通知を取り出す1組の第2のポインタが第2の開始エントリに初期化される。
【0013】
さらに別の実施形態では、こうしたポインタは、同期されてそれぞれの通知キューの次のエントリに進む。
【0014】
さらに別の実施形態では、複数の退出ユニットはそれぞれ、交換ファブリックによって送信された通知メッセージを格納する第1のメモリおよび第2のメモリを含む。第1のメモリは、進入ユニットの第1の組によって送信されたパケットに基づいて生成された通知メッセージを格納し、第2のメモリは、進入ユニットの第2の組によって送信されたパケットに基づいて生成された通知メッセージを格納する。一実施形態によれば、第1のメモリおよび第2のメモリは、その進入ユニットに関連づけられた通知メッセージを格納するために、並行してアクセスされる。
【0015】
したがって、本発明は、異なるパケットバッファユニットによってある特定の退出ユニットに送信される通知メッセージが、進入ユニットに従って順序づけられることを可能にすることを理解されたい。受信側退出ユニットは次いで、受信した通知メッセージの一部分を、関連づけられた進入入力ユニットに基づいて並行して格納する複数のメモリユニットを保持することができる。
【0016】
本発明のこれらのおよび他の特徴、態様ならびに利点は、以下の詳細な説明、添付の特許請求の範囲、および添付の図面を考慮するとよりよく理解されよう。もちろん、本発明の実際の範囲は、添付の特許請求の範囲によって定義される。
【発明を実施するための最良の形態】
【0017】
図1は、本発明の一実施形態によるパケット交換システムの概略的なブロック図である。このシステムは、N個のパケットバッファユニット(PBU)16を含む交換ファブリック14に結合された、M個の進入制御ユニット(ICU)10およびM個の退出制御ユニット(ECU)12を含む。各ICUおよびECUは各PBU16へのリンク18a、18bを含み、そうすることによって各ICUおよびECUは、その専用リンクを介して各PBUと通信することができる。一実施形態によれば、N=Mである。
【0018】
各ICU10は、1つまたは複数の関連づけられた入力ポート20を有することができ、各ECU12は、1つまたは複数の関連づけられた出力ポート22を有することができる。どの所与のときでも、ICU10のすべてまたはサブセットは、出力ポート22のすべてまたはサブセットに対して向けられたデータパケットを受信する。このパケットは、イーサネット(登録商標)フレーム、ATMセル、TCP/IPおよび/またはUDP/IPパケットを含むがそれに限定されるものではなく、他のレイヤ2(データリンク/MAC層)、レイヤ3(ネットワーク層)、またはレイヤ4(移送層)のデータユニットを含むこともできる。
【0019】
ICUは、パケットを受信すると、格納するためにその専用リンクを介してPBUにパケットを転送する。PBUは、そのパケットをメモリに格納し、パケットの受信に関心をもつ可能性のあるすべてのECUに、それぞれの退出リンクを介して通知を送信する。受信側ECUは、その適切なキューに十分な空間をもっている場合、パケットを取り出すのに使うことができ、通知に含まれたメモリ参照をキューに入れ、要求があるまでPBUにそのパケットをメモリに保管させるために、そのアドレスがキューに入れられたという予約メッセージと呼ばれる指示をPBUに送信する。
【0020】
パケットをその宛先に転送する時間になると、パケットを予約していたECUは、パケットを取り出すようにとの要求をPBU16に送信する。PBUは、パケットを取り出し、1つまたは複数の関連づけられた退出ポートを介して転送させるために、要求を行ったECUに送信する。
【0021】
図2は、本発明の一実施形態による、例示的なICU10の概略的なブロック図である。図示した実施形態におけるICUは、進入データストア30に結合された進入プロセッサ32を含み、このデータストアは、同様に進入インターフェース34に結合される。進入パケットプロセッサ32は、到着パケットを受信し、パケットの監視(policing)、課金、転送、および当該分野における従来のやり方での他のどのようなパケット処理作業も実施する。
【0022】
進入データストア30は、到着データパケットを受信し一時的に格納する先入れ先出し(FIFO)バッファでよい。進入データストア30は、1つまたは複数の進入ポート20のデータレートがPBU16への進入リンク18aのデータレートより低いまたは高い場合に望ましい場合がある。ただし、ICU10が進入データストア30を含まない実施形態もあり得る。
【0023】
進入インターフェース34は、到着データパケットを、進入リンク18aを介してPBUに転送する。様々なPBUの間で作業負荷を平均化できるようにする、各PBUに関連づけられた重み情報によって調整される疑似ランダムアルゴリズムに基づいて、ある特定のPBUを選択することができる。
【0024】
図3は、本発明の一実施形態による、例示的なPBU16の概略的なブロック図である。図示した実施形態におけるPBUは、ICU10から受信したパケットを格納するデータメモリ40を含む。パケットの別々の部分は、データメモリにおいて、ポインタのリンクリストを介してアクセスされる別々のメモリ位置に格納される。データメモリ40は、一方のポートが、パケットをメモリに書き込むのに使われ、他方のポートが、格納されたパケットをメモリから読み出すのに使われる、デュアルポートメモリとして実装することができる。代替実施形態では、参照によって本明細書にその内容が組み込まれる、本件の譲受人に譲渡された2002年6月26日出願の「SWITCH FABRIC WITH DUAL PORT MEMORY EMULATION SCHEME」(弁護士側管理番号X2/JEC/48197)でさらに詳しく開示しているように、デュアルポートメモリは、2つのシングルポートメモリを用いてエミュレートすることができる。
【0025】
PBU16は、動的ランダムアクセスメモリ(DRAM)や静的RAM(SRAM)として実装することができるPBNバッファ42をさらに含む。PBNバッファ42中の各エントリは、パケットの少なくとも一部分が格納される、PBNアドレスと呼ばれるメモリ位置のアドレスを含む。
【0026】
PBNバッファ42はメモリマネージャ44に結合され、メモリマネージャは、データメモリ40中の空きメモリ空間を制御し、データメモリに格納する必要がある新規パケットにその空きメモリ空間を割り当て、データメモリからのパケットの取出しを助ける。空きポインタバッファ46は、新規着信パケットに割り振ることができる空きメモリ位置のトラックを保持するのに使うことができる。
【0027】
PBU16はまた、フローグループ(FGRP)申込みテーブル50に結合された中央通知論理回路48を含む。FGRP申込みテーブル50は、各フローグループごとに、そのフローグループに申込みをしたECUを示す。一実施形態によれば、中央通知論理回路48は、着信パケットに関連づけられたフローグループを判定して、そのフローグループに申込みをしており、したがってそのパケットの受信に関心をもつであろうECUに通知を送信する。本発明の一実施形態によれば、PBUによって送信される通知は、以下でさらに詳しく説明するように、通知をトリガするICUによって編成され、やがて受信側ECUに過負荷をかけないように均等に拡散される。
【0028】
PBU16は、各ICU10およびECU12とそれぞれの進入および退出リンク18a、18bを介して通信する入出力コントローラ52をさらに含む。入出力コントローラ52は、ICU10およびECU12からパケットおよび/またはメッセージを受信し、PBU内の適切な構成要素に転送するためにそのパケットおよび/またはメッセージを分離する。
【0029】
たとえば、入力コントローラ50はICU10から到着パケットを受信し、このパケットは、データメモリ40に格納するためにメモリマネージャ44に転送される。入力コントローラ50はさらに、パケット要求メッセージを受信し、このメッセージは、ECU12向けのパケットを取り出すためにPBNバッファ42に転送される。代替実施形態では、入出力コントローラ52は、たとえば、ECUによって要求されるまでパケットがメモリに保持されることを示す、メモリに格納されたパケットに関連する予約メッセージなどの追加メッセージをECUから受信することができる。
【0030】
入出力コントローラ52は、中央通知論理回路48から受信した、ECUが関心をもつ可能性のあるパケットが受信されてデータメモリ40に格納されたことを示す通知メッセージをECUに送信する。入出力コントローラ52はまた、データメモリ40から取り出されたパケットを受信し、要求があればそのパケットをECU12に転送する。
【0031】
もちろん、図3は、PBUを作成するのに必要でありまたは望ましい場合がある追加の要素および/または構成要素を有する本発明の発明性のある側面を不明瞭にすることなく、PBU16のブロック図を示すことが理解されよう。たとえば、PBUは、ECUから受信した予約メッセージを反映する予約バッファを含むことができる。
【0032】
図4は、本発明の一実施形態による、例示的なECU12の概略的なブロック図である。図示した実施形態によれば、ECU12は、PBU16とそれぞれの退出リンク18bを介して通信する退出インターフェース70を含む。退出インターフェース70は、PBUからパケットおよび/またはメッセージを受信し、そのパケットおよび/またはメッセージを処理して適切な退出構成要素に転送する。
【0033】
退出インターフェース70は、ECUがその受信に関心をもつ可能性のあるパケットが送信側PBUのデータメモリ40に格納されたことを示す通知メッセージをPBU16から受信する。通知メッセージパケットは、一時的に格納され処理されるために1つまたは複数の退出通知キュー74に転送される。
【0034】
一実施形態によれば、Nが、すべてのN個のPBUが通知メッセージをECUに送信する際にECUが一度に受信することのできる通知メッセージの最大数であり、Xが、各通知メッセージを処理するのに必要ないくつかの周期である場合、通知メッセージの紛失またはバックアップを防止するために、各周期においてN/X個の退出通知キュー74を使って、最大N/X個の通知を並行して格納しECUによって処理することができる。したがって、32個のPBUすべてが通知をECUに一度に送信する可能性があり、かつ各通知の処理時間が4周期であるシナリオでは、8個の通知を並行して格納し、8個の退出通知キュー74によって処理することができる。
【0035】
N/X個の退出通知キューはそれぞれ、デュアルポートのランダムアクセスメモリ(RAM)として実装される。一実施形態によれば、N/X個のRAMが並行してアクセスされ1個の通知が阻止されずに各RAMに書き込まれることを可能にするために、PUBから受信される最大N/X個の通知が各周期において選択される。
【0036】
通知メッセージを退出通知キュー74に格納すると、各通知メッセージは、通知/予約/要求論理回路80に転送され、この論理回路は、通知が送られる1つまたは複数の退出キュー76のキューレベルが高すぎると識別されるかどうか判定する。キューレベルが高すぎるキューに対しては、通知が破棄される。他の関連づけられたキューに対しては、通知および予約論理回路80は、通知のすべてまたは一部分をそのキューに格納する。一実施形態によれば、通知の中で送信される関連づけられたパケットへの参照が、キューに格納される。
【0037】
一実施形態によれば、通知/予約/要求論理回路80は、パケット参照がキューに入れられたこと、および関連づけられたパケットがPBUのデータメモリ40に保持されることを示す予約メッセージを送信側PBU16に送信することができる。
【0038】
ECU12は、たとえば、重みづけラウンドロビンアルゴリズム、クラスに基づくキュー解除、など特定のスケジューリングアルゴリズムに従ってパケット参照を退出キュー76から外す退出スケジューラ78をさらに含む。スケジューリング機構によって決定されたように、キューに入れられたパケット参照に関連づけられたパケットが転送されるようスケジューリングされると、通知/予約/要求論理回路は、パケット要求メッセージをPBU16に送信する。一実施形態によれば、パケット要求メッセージは、キューに入れられたパケット参照番号を含み、そうすることによって、取り出すべき適切なパケットをPBUが識別することが可能になる。取り出されたパケットがECU12によってその退出インターフェース70を介して受信されると、ECUはそのパケットを退出データストア72に一時的に格納し、それを1つまたは複数の退出ポート22を介して転送する。
【0039】
図5は、本発明の一実施形態による、PBU16へのICU10およびECU12の相互接続を示す、図1のパケット交換システムを変更した図である。各ICU10の進入インターフェース34は、N個のPBU16それぞれと通信するN個のPBU進入インターフェース100を含む。各ECU12の退出インターフェース70もまた、PBU16と通信するN個のPBU退出インターフェース102を含む。
【0040】
PBU16それぞれの入出力コントローラ52は、それぞれM個のICU10およびECU12と通信する、M個のICU進入インターフェース60およびM個のECU退出インターフェース62を含む。好ましくは、ICU進入インターフェース60とICU10の間に1対1の対応が存在し、ECU退出インターフェース62とECU12の間も同様である。このようにして、ある特定のICU進入インターフェース60を介したデータの受信は、特定のICU10をデータの発信元として識別することができる。同様に、あるECU退出インターフェース62を介したデータの送信は、あるECU12をデータの受信側として識別することができる。
【0041】
図5に示した実施形態では、ICU「1」からPBU「1」へのデータパケットなどのパケットは、リンク104で示すように、ICU「1」によってそのPBU「1」の進入インターフェースを介して送信され、PBU「1」によってそのICU「1」の進入インターフェースを介して受信される。ICU「1」からPBU「2」へのデータパケットは、リンク106で示すように、ICU「1」によってそのPBU「2」の進入インターフェースを介して送信され、PBU「2」によってそのICU「1」の進入インターフェースを介して受信される。ICU「2」からPBU「N」へのデータパケットは、リンク108で示すように、ICU「2」によってそのPBU「N」の進入インターフェースを介して送信され、PBU「N」によってそのICU「2」の進入インターフェースを介して受信される。
【0042】
同様にして、PBU「1」からECU「2」への通知パケットなどのパケットは、リンク110で示すように、PBU「1」によってそのECU「2」の退出インターフェースを介して送信され、ECU「2」によってそのPBU「1」の退出インターフェースを介して受信される。PBU「2」からECU「2」へのパケットは、リンク112で示すように、PBU「2」によってそのECU「2」の退出インターフェースを介して送信され、ECU「2」によってそのPBU「2」の退出インターフェースを介して受信される。PBU「N」からECU「M」へのパケットは、リンク114で示すように、PBU「N」によってそのECU「M」の退出インターフェースを介して送信され、ECU「M」によってそのPBU「N」の退出インターフェースを介して受信される。
【0043】
本発明の一実施形態によれば、ECUへの通知パケットの送信は、全域同期信号102に従って同期される。同期が行われると、通知は適切な時間内に拡散され、一定の非バースト負荷を受信側ECUにかけるようにする。したがって、図示した例では、ICU「1」から受信されたパケットに応答してPBU「1」およびPBU「2」によって生成された通知パケットは、別々のときにECU「2」に送信される。
【0044】
図6は、本発明の一実施形態による、ある特定のPBU16の入出力コントローラ52のより詳細な概略ブロック図である。図6に示す実施形態では、M個のECU退出インターフェース62はそれぞれ、ECU退出インターフェースを介して、対応するECU12に送信すべき通知を格納する通知キュー64に関連づけられる。通知キュー64は、データパケットを送信し通知をトリガすることができる各ICU10ごとに、M個のエントリを含む。
【0045】
ある特定のICU10から受信されたパケットに応答して生成された通知は、関係のあるECU12に通知を送信すべき各ECU退出インターフェース62の通知キュー64に格納される。通知が格納される通知キュー64のエントリは、パケットを送信するICU10に関連づけられたエントリである。このようにして、通知は、その発信元ICUに従って格納することができる。
【0046】
たとえば、ICU「2」によって送信されたパケットがECU「1」および「2」に向けられたものであると仮定する。このパケットは、ある特定のPBUでそのICUリンク「2」の進入インターフェースによって受信され、ECU「1」および「2」に送信するために通知が生成される。通知は、送信に先立って、ICU「2」に関連づけられたエントリでECU「1」の退出インターフェースおよびECU「2」の退出インターフェース向けの通知キューに格納される。
【0047】
一実施形態によれば、入出力コントローラ52は、時間駆動型読出しポインタ120を含み、このポインタによって、通知が通知キュー64から取り出されて、均等に拡散されてそれぞれのECUに送信される。初期化の間および定期的な再同期の期間、N個のPBU16の通知キューの読出しポインタは、全域同期信号102を介して通知キューの初期開始位置に同期される。一実施形態によれば、同期信号は、N個のPBUに分散される1本のワイアを介して送信される。定期的な再同期により、読出しポインタに関連づけられた様々な時刻カウンタをできるだけ正確に同期することが可能になる。
【0048】
本発明の一実施形態では、初期化中の読出しポインタの開始位置は、対応するPBUに割り当てられた数に一致する。PBUは、それに割り当てられた数を、たとえばそれが存在しているスロット位置によって知る。(再)同期中、PBUに割り当てられた数に基づいて、位相シフトが読出しポインタに加えられ、そうすることによって正しい開始読出し位置が与えられる。したがって、PBU番号「1」に関連づけられた通知キューの場合は、そのキューの読出しポインタは、ICU番号「1」に対応する通知キューのエントリ番号「1」に初期化され、PBU番号「2」に関連づけられた通知キューの場合は、キューの読出しポインタは、ICU番号「2」に対応する通知キューのエントリ番号「2」に初期化される。このようにして、PBU番号「1」はICU番号「1」によってトリガされた通知メッセージで送信を開始し、PBU「2」はICU番号「2」によってトリガされた通知メッセージで送信を開始する。
【0049】
現在の通知メッセージの送信が完了した後、通知キューの読出しポインタ群は、同期して次の通知メッセージを取り出し送信するために、通知キューの次のエントリに進む。一実施形態によれば、読出しポインタは、X回の周期ごとに進む。ここでXは、ECUが1個の通知を処理するのに使用する周期の回数である。
【0050】
図7は、本発明の一実施形態による、ある特定のECUによって受信される通知のタイミング図である。ICU発信元xを有しPBU yから着信する通知メッセージは、SxPyと示される。図7に示す実施形態では、時刻Tのとき、ECUは、そのPBU「1」の退出インターフェースを介して、ICU発信元「1」を有しPBU「1」から着信する通知メッセージを受信する。やはり時刻Tのとき、ECUは、そのPBU「2」の退出インターフェースを介して、ICU発信元「2」を有しPBU「2」から着信する通知メッセージを受信する。したがって、並行した通知を送信することができるPBUがあるのと同じくらい十分な数の異なる発信元があると仮定すると、どの所与のときにも、同じICU発信元に関連づけられた2個の通知メッセージがECUによって受信されることはない。
【0051】
図8は、本発明の一実施形態による、ある特定のECUによる通知の受信および処理のより詳細なブロック図である。図示した実施形態では、ECU、ICU、およびPBUの総数は32であると仮定する。どの所与のときにも、ECUは、図7のタイミング図に示したように、発信元ICUに従って順序づけられた32個すべてのPBUから通知を受信することができる。通知は、送信側PBU16に関連づけられたECUのPBU退出インターフェース102によって受信される。
【0052】
こうした例を示すために、32個の通知それぞれを処理するための周期回数が4であるとさらに仮定する。したがって、8個の通知が同時に処理されて、将来の通知の紛失またはバックアップを防止するために8個の退出通知キュー74に格納される。
【0053】
一実施形態によれば、各退出通知キューは、特定のICUに関連づけられた通知を各エントリが格納するためのデュアルポートRAM130として実装される。受信した通知の処理において、書込み衝突なく通知を各RAMに同時に書き込むことができるように、受信された通知8個が一度に選択される。このことは、受信された通知に関連づけられたICU発信元を検査し、かつ8個のRAMそれぞれのエントリにそのICU発信元が関連づけられる8個の通知を選択することによって実現することができる。
【0054】
図8に示した実施形態では、時刻Tのとき、並行して選択されRAMに格納される通知メッセージは、ICU発信元「1」、ICU発信元「5」、ICU発信元「9」、ICU発信元「13」、ICU発信元「17」、ICU発信元「21」、ICU発信元「25」、およびICU発信元「29」に関連づけられる。時刻T+1のとき、並行して選択されRAMに格納される通知メッセージは、ICU発信元「2」、ICU発信元「6」、ICU発信元「10」、ICU発信元「14」、ICU発信元「18」、ICU発信元「22」、ICU発信元「26」、およびICU発信元「30」に関連づけられる。時刻T+4以降、受信されたすべての通知が格納されて処理され、ECUは、さらに最大32個の通知を32個のPBUから受信できるようになる。
【0055】
以上、本発明を特定の実施形態において説明したが、本発明の精神および範囲から全く逸脱しない変形形態を当業者は容易に考案できよう。したがって、本発明は具体的に説明した以外の方法でも実施できることが理解されよう。したがって、本発明の本実施形態は、あらゆる点において例示的なものであり限定的なものではなく、本発明の範囲は、上記の説明ではなく添付の特許請求の範囲およびその均等物によって示されると理解されたい。
【図面の簡単な説明】
【0056】
【図1】本発明の一実施形態による、M個の進入制御ユニット、N個のパケットバッファユニット、およびM個の退出制御ユニットを有するパケット交換システムを示す概略的なブロック図である。
【図2】本発明の一実施形態による、例示的な進入制御ユニットを示す概略的なブロック図である。
【図3】本発明の一実施形態による、例示的なパケットバッファユニットを示す概略的なブロック図である。
【図4】本発明の一実施形態による、例示的な退出制御ユニットを示す概略的なブロック図である。
【図5】本発明の一実施形態による、パケットバッファユニットへの進入制御ユニットおよび退出制御ユニットの相互接続を示す、図1のパケット交換システムを変更した図である。
【図6】本発明の一実施形態による、ある特定のパケットバッファユニットの入出力コントローラを示すより詳細な概略ブロック図である。
【図7】本発明の一実施形態による、ある特定の退出制御ユニットによって受信される通知を示すタイミング図である。
【図8】本発明の一実施形態による、ある特定の退出制御ユニットによる通知の受信および処理を示すより詳細なブロック図である。
Claims (17)
- 複数の進入ユニットと、
複数の退出ユニットと、
前記複数の進入ユニットおよび退出ユニットに結合された交換ファブリックとを備えるパケット交換システムであって、前記交換ファブリックが前記複数の進入ユニットからパケットを受信しそれに応答して通知メッセージを生成し、各通知メッセージが前記関連づけられたパケットを送信する前記進入ユニットに基づいて順序づけられることを特徴とし、前記関連づけられた進入ユニットに基づいて前記メッセージに割り当てられた前記順序に従って、前記通知メッセージが1つまたは複数の退出ユニットに送信されることをさらに特徴とするパケット交換システム。 - 前記交換ファブリックが前記通知メッセージを格納する複数のエントリを含む通知キューを含み、各エントリが前記複数の進入ユニットの1つに関連づけられる請求項1に記載のパケット交換システム。
- 前記交換ファブリックが、その退出ユニットに対して生成された通知メッセージを格納する前記複数の退出ユニットそれぞれに関連づけられた通知キューを含む請求項2に記載のパケット交換システム。
- 各通知キューに格納される前記通知が、前記複数の通知キューそれぞれに対して同じ開始エントリに初期化されるポインタによって取り出される請求項3に記載のパケット交換システム。
- 前記交換ファブリックが、前記複数の進入ユニットによって送信されたパケットを受信して格納する複数のバッファユニットを含み、各バッファユニットが、前記複数の退出ユニットそれぞれに対する通知キューを含む請求項1に記載のパケット交換システム。
- 第1のバッファユニットの通知キューに格納された通知を取り出す1組の第1のポインタが第1の開始エントリに初期化され、第2のバッファユニットの通知キューに格納された通知を取り出す1組の第2のポインタが第2の開始エントリに初期化される請求項5に記載のパケット交換システム。
- 前記ポインタが、同期してそれぞれの通知キューの次のエントリに進む請求項6に記載のパケット交換システム。
- 前記複数の退出ユニットがそれぞれ、前記交換ファブリックによって送信された通知メッセージを格納する第1のメモリおよび第2のメモリを含み、前記第1のメモリが、第1の組の進入ユニットによって送信されたパケットに基づいて生成された通知メッセージを格納し、前記第2のメモリが、第2の組の進入ユニットによって送信されたパケットに基づいて生成された通知メッセージを格納する請求項1に記載のパケット交換システム。
- 前記第1のメモリおよび第2のメモリが、それぞれ通知メッセージを格納するために並行してアクセスされる請求項8に記載のパケット交換システム。
- 複数の進入ユニットと、複数の退出ユニットと、前記複数の進入ユニットおよび退出ユニットに結合された交換ファブリックとを含むパケット交換システムにおいてパケットを処理する方法であって、
前記複数の進入ユニットによって送信されたパケットを前記交換ファブリックで受信すること、
各受信パケットに対する通知メッセージを前記交換ファブリックで生成すること、
前記生成された通知メッセージを前記交換ファブリックで1つまたは複数の通知キューに格納し、前記1つまたは複数の通知キューに格納される前記通知メッセージが、前記関連づけられたパケットを送信する前記進入ユニットに従って順序づけられること、および、
前記1つまたは複数の通知キュー中の前記通知メッセージの前記順序に従って、前記通知メッセージを1つまたは複数の退出ユニットに送信することを含む方法。 - 前記複数の退出ユニットがそれぞれ、その退出ユニットに対して生成された通知メッセージを格納する通知キューに関連づけられる請求項10に記載の方法。
- 前記複数の通知キューそれぞれに対して同じ開始エントリに初期化されるポインタを用いて、各通知キューに格納された通知を取り出すことをさらに含む請求項10に記載の方法。
- 前記交換ファブリックが、前記複数の進入ユニットによって送信されたパケットを受信して格納する複数のバッファユニットを含み、各バッファユニットが、前記複数の退出ユニットそれぞれに対する通知キューを含む請求項10に記載の方法。
- 第1のバッファユニットの通知キューに格納された通知を取り出す1組の第1のポインタを第1の開始エントリに初期化すること、および
第2のバッファユニットの通知キューに格納された通知を取り出す1組の第2のポインタを第2の開始エントリに初期化することをさらに含む請求項13に記載の方法。 - 各ポインタを同期させてそれぞれの通知キューの次のエントリに進めることをさらに含む請求項14に記載の方法。
- 前記複数の退出ユニットがそれぞれ、前記交換ファブリックによって送信された通知メッセージを格納する第1のメモリおよび第2のメモリを含み、
第1の組の進入ユニットによって送信されたパケットに基づいて生成された通知メッセージを前記第1のメモリに格納すること、および
第2の組の進入ユニットによって送信されたパケットに基づいて生成された通知メッセージを前記第2のメモリに格納することをさらに含む請求項10に記載の方法。 - 前記第1のメモリに前記格納すること、および前記第2のメモリに前記格納することが並行して実施される請求項16に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30619701P | 2001-07-17 | 2001-07-17 | |
PCT/US2002/021405 WO2003009543A2 (en) | 2001-07-17 | 2002-07-01 | In-band message synchronization for distributed shared memory packet switch |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004536523A true JP2004536523A (ja) | 2004-12-02 |
Family
ID=23184251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003514759A Pending JP2004536523A (ja) | 2001-07-17 | 2002-07-01 | 分散型共有メモリパケット交換のための帯域内メッセージの同期 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7203193B2 (ja) |
EP (1) | EP1407583B1 (ja) |
JP (1) | JP2004536523A (ja) |
CN (1) | CN100370784C (ja) |
AT (1) | ATE433239T1 (ja) |
DE (1) | DE60232519D1 (ja) |
WO (1) | WO2003009543A2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7065050B1 (en) * | 1998-07-08 | 2006-06-20 | Broadcom Corporation | Apparatus and method for controlling data flow in a network switch |
US8937964B2 (en) * | 2002-06-27 | 2015-01-20 | Tellabs Operations, Inc. | Apparatus and method to switch packets using a switch fabric with memory |
US7181637B2 (en) * | 2003-12-02 | 2007-02-20 | International Business Machines Corporation | Packet processing system and method for a data transfer node with time-limited packet buffering in a central queue |
US7756049B2 (en) * | 2004-08-11 | 2010-07-13 | International Business Machines Corporation | Apparatus, system, and method for controlling link status changes |
WO2006076349A2 (en) * | 2005-01-11 | 2006-07-20 | Telcordia Technologies, Inc. | Method to establish and organize an ad-hoc wireless peer to peer network |
US8559443B2 (en) | 2005-07-22 | 2013-10-15 | Marvell International Ltd. | Efficient message switching in a switching apparatus |
US8281369B2 (en) * | 2008-03-12 | 2012-10-02 | Avaya Inc. | Method and apparatus for creating secure write-enabled web pages that are associated with active telephone calls |
US8879464B2 (en) | 2009-01-29 | 2014-11-04 | Avaya Inc. | System and method for providing a replacement packet |
US9525710B2 (en) * | 2009-01-29 | 2016-12-20 | Avaya Gmbh & Co., Kg | Seamless switch over from centralized to decentralized media streaming |
US8238335B2 (en) | 2009-02-13 | 2012-08-07 | Avaya Inc. | Multi-route transmission of packets within a network |
US7936746B2 (en) * | 2009-03-18 | 2011-05-03 | Avaya Inc. | Multimedia communication session coordination across heterogeneous transport networks |
US20100265834A1 (en) * | 2009-04-17 | 2010-10-21 | Avaya Inc. | Variable latency jitter buffer based upon conversational dynamics |
US8094556B2 (en) * | 2009-04-27 | 2012-01-10 | Avaya Inc. | Dynamic buffering and synchronization of related media streams in packet networks |
US8553849B2 (en) | 2009-06-17 | 2013-10-08 | Avaya Inc. | Personal identification and interactive device for internet-based text and video communication services |
US8800049B2 (en) * | 2009-08-26 | 2014-08-05 | Avaya Inc. | Licensing and certificate distribution via secondary or divided signaling communication pathway |
US8819272B2 (en) * | 2010-02-11 | 2014-08-26 | Massachusetts Institute Of Technology | Multiprocessor communication networks |
US8897134B2 (en) * | 2010-06-25 | 2014-11-25 | Telefonaktiebolaget L M Ericsson (Publ) | Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel |
US9083635B1 (en) * | 2010-10-04 | 2015-07-14 | Adtran, Inc. | Enqueue policing systems and methods |
US9871610B2 (en) * | 2015-10-30 | 2018-01-16 | Citrix Systems, Inc. | Method for packet scheduling using multiple packet schedulers |
CN114981269A (zh) * | 2019-11-27 | 2022-08-30 | 立方光伏股份有限公司 | 非富勒烯受主(nfas)作为钙钛矿半导体器件中的界面层 |
CN114237195A (zh) * | 2021-11-09 | 2022-03-25 | 岚图汽车科技有限公司 | 一种obd排放诊断方法及相关设备 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3853363T2 (de) | 1988-12-23 | 1995-09-28 | Ibm | Lastausgleichstechnik in einem gemeinsamen Speicher mit verteilter Struktur. |
US5535197A (en) * | 1991-09-26 | 1996-07-09 | Ipc Information Systems, Inc. | Shared buffer switching module |
CA2094410C (en) * | 1992-06-18 | 1998-05-05 | Joshua Seth Auerbach | Distributed management communications network |
US5291482A (en) * | 1992-07-24 | 1994-03-01 | At&T Bell Laboratories | High bandwidth packet switch |
US5297482A (en) * | 1993-04-29 | 1994-03-29 | Cleveland Robert K | Rail threader |
JP3389315B2 (ja) | 1994-03-18 | 2003-03-24 | 富士通株式会社 | コネクションレス通信におけるメッセージ転送方法及び装置 |
US5475679A (en) * | 1994-12-08 | 1995-12-12 | Northern Telecom Limited | Large capacity ATM switch |
US5548590A (en) * | 1995-01-30 | 1996-08-20 | Hewlett-Packard Company | High performance frame time monitoring system and method for a fiber optic switch for a fiber optic network |
US5822540A (en) * | 1995-07-19 | 1998-10-13 | Fujitsu Network Communications, Inc. | Method and apparatus for discarding frames in a communications device |
US5835941A (en) * | 1995-11-17 | 1998-11-10 | Micron Technology Inc. | Internally cached static random access memory architecture |
US5689506A (en) * | 1996-01-16 | 1997-11-18 | Lucent Technologies Inc. | Multicast routing in multistage networks |
US5813043A (en) * | 1996-07-12 | 1998-09-22 | Motorola, Inc. | Method and system including memory patching utilizing a transmission control signal and circuit |
US5974467A (en) * | 1997-08-29 | 1999-10-26 | Extreme Networks | Protocol for communicating data between packet forwarding devices via an intermediate network interconnect device |
US6023471A (en) * | 1997-10-07 | 2000-02-08 | Extreme Networks | Network interconnect device and protocol for communicating data among packet forwarding devices |
US6216167B1 (en) * | 1997-10-31 | 2001-04-10 | Nortel Networks Limited | Efficient path based forwarding and multicast forwarding |
US6081906A (en) | 1997-11-21 | 2000-06-27 | Fuji Xerox Co., Ltd. | Multi-thread processing with queuing and recovery |
US6141344A (en) * | 1998-03-19 | 2000-10-31 | 3Com Corporation | Coherence mechanism for distributed address cache in a network switch |
US6173425B1 (en) * | 1998-04-15 | 2001-01-09 | Integrated Device Technology, Inc. | Methods of testing integrated circuits to include data traversal path identification information and related status information in test data streams |
US6807172B1 (en) * | 1999-12-21 | 2004-10-19 | Cisco Technology, Inc. | Method and apparatus for learning and switching frames in a distributed network switch |
US7007071B1 (en) * | 2000-07-24 | 2006-02-28 | Mosaid Technologies, Inc. | Method and apparatus for reducing pool starvation in a shared memory switch |
JP4105955B2 (ja) * | 2001-05-17 | 2008-06-25 | アルカテル・インターネツトワーキング・インコーポレイテツド | 分散型共有メモリパケットスイッチ |
US6807594B1 (en) * | 2001-07-16 | 2004-10-19 | Juniper Networks, Inc. | Randomized arbiters for eliminating congestion |
CN1545658A (zh) * | 2001-07-17 | 2004-11-10 | �йȲ��� | 具有双端口存储器仿真配置的交换结构 |
-
2002
- 2002-07-01 WO PCT/US2002/021405 patent/WO2003009543A2/en active Application Filing
- 2002-07-01 US US10/188,255 patent/US7203193B2/en active Active
- 2002-07-01 EP EP02748088A patent/EP1407583B1/en not_active Expired - Lifetime
- 2002-07-01 DE DE60232519T patent/DE60232519D1/de not_active Expired - Lifetime
- 2002-07-01 CN CNB028159845A patent/CN100370784C/zh not_active Expired - Fee Related
- 2002-07-01 AT AT02748088T patent/ATE433239T1/de not_active IP Right Cessation
- 2002-07-01 JP JP2003514759A patent/JP2004536523A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2003009543A3 (en) | 2003-04-03 |
WO2003009543A2 (en) | 2003-01-30 |
EP1407583B1 (en) | 2009-06-03 |
DE60232519D1 (de) | 2009-07-16 |
US20030016688A1 (en) | 2003-01-23 |
EP1407583A2 (en) | 2004-04-14 |
CN100370784C (zh) | 2008-02-20 |
CN1543733A (zh) | 2004-11-03 |
US7203193B2 (en) | 2007-04-10 |
EP1407583A4 (en) | 2006-04-26 |
ATE433239T1 (de) | 2009-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004536523A (ja) | 分散型共有メモリパケット交換のための帯域内メッセージの同期 | |
US7653072B2 (en) | Overcoming access latency inefficiency in memories for packet switched networks | |
JP3415628B2 (ja) | 効率的な出力―要求パケット交換機および方法 | |
USRE44151E1 (en) | Switching ethernet controller | |
US5884040A (en) | Per-packet jamming in a multi-port bridge for a local area network | |
US6795886B1 (en) | Interconnect switch method and apparatus | |
US6363067B1 (en) | Staged partitioned communication bus for a multi-port bridge for a local area network | |
US7397809B2 (en) | Scheduling methods for combined unicast and multicast queuing | |
US6791992B1 (en) | Earliest-deadline-first queuing cell switching architecture and method | |
US6617879B1 (en) | Transparently partitioned communication bus for multi-port bridge for a local area network | |
JP2004536515A (ja) | デュアルポートメモリエミュレーション方式によるスイッチファブリック | |
US7082104B2 (en) | Network device switch | |
US7110405B2 (en) | Multicast cell buffer for network switch | |
JP4105955B2 (ja) | 分散型共有メモリパケットスイッチ | |
CN107770090B (zh) | 用于控制流水线中寄存器的方法和装置 | |
US20070110052A1 (en) | System and method for the static routing of data packet streams in an interconnect network | |
US6601116B1 (en) | Network switch having descriptor cache and method thereof | |
JP4159253B2 (ja) | クレジットベースのバッファ制御を有するディジタルトラフィック交換機 | |
US7675930B2 (en) | Chip circuit for combined and data compressed FIFO arbitration for a non-blocking switch | |
US6895015B1 (en) | Dynamic time slot allocation in internal rules checker scheduler | |
US6850999B1 (en) | Coherency coverage of data across multiple packets varying in sizes | |
US6335938B1 (en) | Multiport communication switch having gigaport and expansion ports sharing the same time slot in internal rules checker | |
US7032082B1 (en) | Centralized memory allocation with write pointer drift correction | |
US20060165055A1 (en) | Method and apparatus for managing the flow of data within a switching device | |
JP2001060967A (ja) | パケットスイッチ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070206 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070425 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070507 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071023 |