JP2008092485A - 分散型スイッチシステムのパケット再整列器およびパケット再整列方法 - Google Patents
分散型スイッチシステムのパケット再整列器およびパケット再整列方法 Download PDFInfo
- Publication number
- JP2008092485A JP2008092485A JP2006273572A JP2006273572A JP2008092485A JP 2008092485 A JP2008092485 A JP 2008092485A JP 2006273572 A JP2006273572 A JP 2006273572A JP 2006273572 A JP2006273572 A JP 2006273572A JP 2008092485 A JP2008092485 A JP 2008092485A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- cells
- cell
- memory
- group
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】 送信元でパケットを固定長のセルに分割、送信し、送信先で元通りのパケットを再構成、再整列する仕組みを提供し、小規模のハードウェア資源で転送レートが向上した場合でも対応可能とする。
【解決手段】 セルを特定の識別子によりパケット単位で区別する機構と、パケットをパケット毎に一次保存するメモリのアドレスを獲得する機構と、セルを前記アドレスにセル番号を加えたアドレスのメモリへ書き込む機構と、パケット毎に到着セル数をカウントする機構と、到着セル数がパケット構成セル数と一致した場合にパケットが揃ったとみなす機構と、パケット毎に到着セル数と前記メモリアドレスを記録する機構とを含み、順不同に到着する前記セルからパケットを再生する第1手段と、再生されたパケット群からパケットの特定の識別子によりパケットを並び替えるべきグループに分類し、グループ毎に元通りの順番に前記パケットを再整列する第2手段を有する。
【選択図】 図10
【解決手段】 セルを特定の識別子によりパケット単位で区別する機構と、パケットをパケット毎に一次保存するメモリのアドレスを獲得する機構と、セルを前記アドレスにセル番号を加えたアドレスのメモリへ書き込む機構と、パケット毎に到着セル数をカウントする機構と、到着セル数がパケット構成セル数と一致した場合にパケットが揃ったとみなす機構と、パケット毎に到着セル数と前記メモリアドレスを記録する機構とを含み、順不同に到着する前記セルからパケットを再生する第1手段と、再生されたパケット群からパケットの特定の識別子によりパケットを並び替えるべきグループに分類し、グループ毎に元通りの順番に前記パケットを再整列する第2手段を有する。
【選択図】 図10
Description
本発明は、ルータ、サーバ、ストレージ装置などにおいて、装置内部に有する複数の機能ブロックを動的に相互に接続するスイッチ技術に関する。特に、独立動作する複数のスイッチを利用し、宛先でデータの到着順序が入れ替わる場合に、順番通りに並べ替えるための技術に関する。
ルータなどのネットワーク転送装置やサーバ装置、複数のディスクアレイを接続するストレージ装置などでは、装置内部の機能ブロック間でデータ交換を行うためにスイッチファブリックが利用される。スイッチファブリックの交換容量は、ポート数とポート容量(回線速度)の積で表現され、大交換容量を実現するためには、ポート数とポート容量のいずれか片方、もしくは両方を増加させる必要がある。
ポート数を増加させるには、要素スイッチを多段結合し、オメガ網やクロス網、ファットツリー網等を形成することにより実現が可能である。また、スイッチLSI(Large Scale Integration)のポート容量を増加させることでポート容量を増加させることも可能であるが、LSIに実装可能なピン数は、その時代のCMOS(Complementary MOS)の実装限界によって制限されるため、大容量ポートを実現すると、LSIあたりのポート数は減少する。
ここで、大容量ポートを少数持つLSIを多段結合することでスイッチファブリック全体の交換容量を向上することは可能であるが、総ポート数を大きくするに従い接続段数が大きくなり、結果としてスイッチファブリック通過のレイテンシが大きくなる問題、宛先が異なってもスイッチファブリック内で衝突が発生してスループットが低下する問題が発生する。
前記の問題を克服するために、目的とする交換容量の1/Kの交換容量のスイッチをK面分用意し、入力データ(以後、パケットと呼ぶ)を各スイッチ面へ分散させ、並列動作させることで目的の交換容量を実現する分散型スイッチ方式(パラレルパケットスイッチ)がある。図2に、N入力、N出力で、K面分のスイッチを利用する分散型スイッチ方式の構成例を示す。
一般に、分散型スイッチでは、スイッチファブリックに入力されたパケットを、分散器100により可変長のパケット単位、または、可変長のパケットを固定長で分割して生成したセル単位で各スイッチ面200へ分散する。そして、並列化されたスイッチ200を利用し、各スイッチ200がそれぞれ独立にパケットまたはセルの宛先調停を行う。最もシンプルなスイッチ200の構成は、単段のクロスバスイッチである。大量のポート数が必要な場合には、スイッチ200は複数個のスイッチで構成した多段結合網となる。最後に、前記パケットまたはセルは、目的の宛先に接続されている整列器300へ届く。
以上のように、分散型スイッチ方式は、個々のスイッチ200が小容量ポートで交換容量が小さくても、スイッチ面数を増加させることにより、大容量ポートをサポートし、大容量交換が可能な方式である。また、分散型スイッチ方式は、スイッチの冗長化が容易というメリットもある。例えば、必要面数以上のスイッチ面を用意しておき、必要数以上の分は待機状態にしておく。そして、動作しているスイッチ面のうちひとつが動作不能な状態に陥った場合、待機しているスイッチに切り替えることでスイッチ全体の交換容量を低下させずに動作を続けることができる。
このように、分散型スイッチ方式は、大容量交換を実現でき、スイッチの冗長化が容易である利点を持つが、パケット単位で分散させた場合には、各スイッチ200において各パケットが独立に宛先調停されるので、宛先の整列器300へは、分散器100で送信したパケット順番とは異なる順番で届きうる。また、セル単位で分散させた場合には、各スイッチ200において各セルが独立に宛先調停されるので、宛先の整列器300へは、分散器100で送信したパケット順番及びパケット内のセル順番とは異なる順番で届きうる。
よって、宛先の整列器300は、各セルを元通りのパケットへ組立てる操作と、各パケットを元通りの順番に並べ替える操作が必要となる。
特許文献1、特許文献2では、入力側のインタフェースでパケットをパケット単位で全スイッチ面へ分散送信し、各スイッチを独立動作させてパケット交換する分散型スイッチ方式について述べられている。この方式では、パケット内のセルは順番通り宛先の整列器300に到着するため、宛先の整列器300は、パケットの順番だけを元通りにすればよく、最善の状況では、スイッチ面数に応じた交換容量を実現できる。しかしながら、パケット単位で各スイッチ面200へ送出するため、例えば、最善の状況となるのは、宛先の整列器300へ向かう一連のパケット群が同一サイズであり、前記パケット群を構成するパケットの数が面数の整数倍である場合が挙げられる。
よって、スイッチ面数に応じた交換容量を実現するためには、分散器100での分散単位は、可変長パケットを固定長セルにしたあとのセル単位であることが望ましい。この場合、先に述べたように、整列器300では、各セルを元通りのパケットへ組立てる操作と、各パケットを元通りの順番に並べ替える操作の両方が必要となる。
特許文献3、特許文献4では、スイッチ200にセル単位で分散し、整列器300で、複数の並べ替えコンポーネントを利用し、他の並べ替えコンポーネントに記録されているパケットストリームのパケットの識別子を管理する1以上のデータ構造を使って、複数の並べ替えコンポーネント間での通信し、各セルを元通りのパケットへ組立てる操作と、各パケットを元通りの順番に並べ替える操作を実現する方法について述べている。
前記のような、複数の並べ替えコンポーネントを利用した整列器300は、例えば、並べ替え用のメモリのバンド幅を超える回線においても、並べ替えができる可能性がある一方で、並べ替えるべきデータ構造の情報通信がボトルネックになる可能性や、十分な数のパケットフロー(送信元、優先度、宛先が同一のパケット群)がない場合に並べ替えが滞る可能性がある。また、複数の並べ替えコンポーネントを利用する結果、多くのハードウェア資源を必要とする可能性がある。
送信元でパケットを一つ以上のセルに分割、送信し、複数のスイッチ経路を経た宛先において、順不同に到着するセルから、元通りのパケットを再生する仕組みと、それらのパケットを元通りの順番に並べ替える仕組みを提供することが課題である。また、転送レートが向上した場合でも対応可能な、前記のセルの再構成とパケット再整列の仕組みを提供することが課題である。また、可能な限り小規模のハードウェア資源で、前記のデータの再構成と再整列の仕組みを提供することが課題である。
本発明の代表的実施形態では、送信元のノードで可変長または固定長のパケットを固定長のセルに分割した後に、複数のスイッチ経路を経て宛先のノードへ渡すシステムの前記宛先ノードにおいて、セルを特定の識別子によりパケット単位で区別する機構と、パケットをパケット毎に一次保存するメモリのアドレスを獲得する機構と、セルを前記アドレスにセル番号を加えたアドレスのメモリへ書き込む機構と、パケット毎に到着セル数をカウントする機構と、到着セル数がパケット構成セル数と一致した場合にパケットが揃ったとみなす機構と、パケット毎に到着セル数と前記メモリアドレスを記録する機構とにより、第一の機能として順不同に到着する前記セルから前記パケットを再生する機能を提供する。
更に、前記の再生されたパケット群から、パケットの特定の識別子によりパケットを並び替えるべきグループに分類する機構と、前記グループ毎に未到着の先頭パケット番号と既到着の最後尾パケットの番号を管理する機構と、前記グループ毎に未到着の先頭以外のパケットの少なくとも前記メモリアドレスを管理する機構と、前記グループの先頭パケットから、管理中の連続する保持パケットまでを出力する機構とにより、第二の機能として区別すべきグループ毎に元通りの順番に前記パケットを再整列する方法及びシステムを提供する。
また、処理すべき回線の速度が向上したときに上記代表的実施形態に特徴的なシステムでボトルネックとなりうるパケット再生機能を並列化し、独立動作させて必要なスループットを満たす方法を提供する。すなわち、複数個のパケット再生機能を具備し、セルを特定の識別子によりパケット単位で区別し、複数個のパケット再生機能の中の一つへ送信する機能と、パケット再生機能毎に前記セルを受信し、前記パケット単位で収集する機能とを持つ方法及びシステムを提供する。
また、宛先ノードで最小限のハードウェア資源によってパケット再生機能及びパケット再整列機能を実現するために、パケット送信の停止要求を出す機能、未到着セルの出力を要求する機能、パケット毎の到着セル数と一次保存するメモリのアドレスを記録する機構のエントリを解放する機能、等を提供する。
本発明を利用することにより、送信元で分割され、複数のスイッチ経路へ分散されたデータの宛先において、順不同に到着するデータから、元通りのデータを構成する仕組みと、それらのデータを元通りの順番に並べ替える仕組みを提供できる。また、転送レートが向上した場合でも対応可能な、前記のデータの再構成と再整列の仕組みを提供できる。また、可能な限り小規模のハードウェア資源で、前記のデータの再構成と再整列の仕組みを提供することができる。
以下、より詳細な内容を添付図面に基づいて実施例で説明する。
本発明の実施例1の分散型スイッチシステムの構成を図2に示す。分散型スイッチシステムでは、スイッチファブリックに入力されたパケットを、分散器100により、可変長のパケットを固定長で分割して生成したセル単位で各スイッチ面200−1〜200−Kへ分散する。そして、各スイッチ面にて宛先へのスイッチングがなされ、分散されたセルは整列器300−1〜300−Nのうちの目的とする宛先に連結する一つの整列器に送信される。以上は一つの送信元のパケットを分割したセルについての動作であるが、複数の送信元からのパケットは送信元の分割器100−1〜100−Nでそれぞれ固定長のセルに分割されてセル単位で各スイッチに分散される。各スイッチ200−1〜200−Kはそれぞれ独立にセルの宛先調停を行う。最もシンプルなスイッチ200の構成は、単段のクロスバスイッチである。
実施例1における整列器300のブロック図を図1に示し、まず、整列器300における処理の概略について説明する。最初に、データセル受信器310により、各スイッチ200から順不同に到着する複数のセルを受信し、単一のセルフローとしてパケット再生器320へ送信する。パケット再生器320は、受信したセルを一時的にパケットバッファ340へ保持し、パケット単位で同一のパケットから生成されたセルの待ち合わせを行う。当該パケットのセルが全て集まると当該パケットに関する情報をパケット再整列器330へ送信する。パケット再整列器330は、パケットをフロー(送信元、優先度、宛先が同一のパケット群)単位で管理し、送信元での順番通りにパケットを並べ替え、当該パケット情報をスケジューラ350へ送信する。スケジューラ350は、順番通りになったパケット情報を優先度毎に管理し、所定のアルゴリズムに従い出力するパケット情報を選び、パケットバッファ340からパケット本体を読出し、出力する。また、データセル受信器310、パケット再生器320、パケット再整列器330のハードウェア資源量を最小限で済ませるための情報を収集し、制御情報として生成、出力するための制御セル生成器360を利用する。
整列器300の各要素の詳細を説明する前に、実施例1におけるセルの構成を図3に示す。分散器100は、可変長のパケットと、スイッチファブリック内での宛先や優先度等の情報を含む装置内情報を受信し、パケットを分割して固定長のセルのペイロード620とし、それぞれにヘッダ情報610を付与する。こうしてセルのフォーマット600が形成される。
前記ヘッダ情報610は、様々な情報を含み、本実施例では、セル種611(TYPE)、送信元番号612(SRC)、宛先番号613(DST)、宛先番号をビットマップ化した上で縮約した宛先パターン614(DID)、優先度614(QoS)、パケット整理番号616(PSN)、パケット内のセル番号617(CSN)、パケットから生成されたセル数618(CNM)、ペイロードの有効長619(LENG)を含む。
本発明の分散器100におけるセルのヘッダ情報付与方法の一実施例を図4を用いて説明する。セル分散器100は、自身の識別番号をSRC612に書き込む。また、パケットに付与されている装置内情報を利用し、DST613、QoS615を書き込む。ここで、SRC612、DST613、QoS615が同一のパケットを同一フローのパケットと呼び、フロー毎、各パケットにPSN616をシーケンシャルに付与する。
ここで、ネットワークでは宛先が唯一つであるユニキャストだけではなく、複数の宛先を含むマルチキャストが存在する。例えば、16個の入出力を持ち、4レベルの優先度を扱うスイッチファブリックでは、各入力はユニキャストの場合は16x4=64フローを扱えばよい。ところが、マルチキャストを考慮すると、各入力は216x4のオーダーのフローを扱う必要が生じ、ハードウェアでの高速な管理が事実上不可能になる。しかしながら、現実的には、全てのマルチキャストパターンが利用されることは稀であるため、宛先をビットマップで表現し、それを縮約した宛先パターン614を利用することで扱うフロー数を劇的に削減することができる。先の例で、ユニキャストは全パターンを、マルチキャストはユニキャストの7倍程度のパターンを扱うとすれば、27x4のオーダーのフローを扱うだけでよい。
図4のセルヘッダ付与部700は、フロー毎にPSN616を管理するPSNメモリ730とPSN管理部740、PSNメモリ730のエントリをポイントするポインタメモリ720とポインタメモリ管理部710により構成する。
ポインタメモリ720は、CAM(Content Addressable Memory)による構成が理想である。エントリを宛先パターン614でインデックスし、各エントリにDST613を格納する。入力パケットのDST613でポインタメモリ720を参照し、一致するDSTパターンが存在すれば、対応するエントリ番号をDID614とする。一致するDSTパターンが存在しなければ、空きエントリに当該DSTパターンを書き込み、そのエントリ番号をDID614とする。
PSNメモリ730は、DID614とQoS615を結合した値によりインデックスする。各エントリで0始まりのPSN番号を管理し、参照されると現在のPSNを読出し、PSN616としたあと、PSNに1加えた値を同じエントリに書き戻す。PSNは有限のビット数で表現するため、表現できる最大値となった後は、ラップアラウンドして、再び0に戻る。
各パケットは、セル600のペイロードサイズによって分割し、各ペイロードには、セルヘッダ610を付与する。同一パケットから生成されるセルは、SRC612、DST613、DID614、QoS615、PSN616が同一である。また、同一パケットから生成されたセルの先頭から順に0始まりのCSN617を1ずつ増加させながら付与する。
各パケットは、セル600のペイロードサイズによって分割し、各ペイロードには、セルヘッダ610を付与する。同一パケットから生成されるセルは、SRC612、DST613、DID614、QoS615、PSN616が同一である。また、同一パケットから生成されたセルの先頭から順に0始まりのCSN617を1ずつ増加させながら付与する。
こうして、必要なセルヘッダ610を付与したセル600を、分散器100は、各スイッチ面200へ分散し、各スイッチ面200を通過してセルは宛先の整列器300へ届く。
ここで、整列器300の各要素の詳細について説明する。データセル受信器310は、全スイッチ面200からの入力毎に、内部にFIFOキューで構成される緩衝バッファを備え、一旦、データセルを前記緩衝バッファに蓄え、入力のあった前記緩衝バッファから順番にセルを取り出して、セル分散器315へ送信する。前記緩衝バッファのバックプレッシャ情報、または、クレジット回復情報を制御セル生成器360へ送信し、前記制御セル生成器360は、同情報を各スイッチ面200へ伝達し、各スイッチ面200からのセル受信により、緩衝バッファが溢れないように制御を行う。
本発明の整列器300におけるパケット再生器320のブロック図を一実施例として図5に示す。パケット再生器320は、パケットを構成する全てのセルが揃うまでパケット毎にセルの待ち合わせを行うセル収集メモリ323、セル収集メモリ323のエントリを示すためのポインタメモリ321、及び、両メモリを管理するメモリ管理部322、セルをパケットバッファ340へ一旦書き込み、セルの待ち合わせを完了したパケットに関する情報をパケット再整列器330へ送信するパケット再生制御部324により構成する。ポインタメモリ321は、CAMによる構成が理想である。
図6に示すフローチャートを利用し、前記パケット再生器320によるパケット再生処理の説明を行う。前記パケット再生器320は、リンク401経由でセルを受信し(ステップ800)、セルヘッダ610のCNM618により、パケットが複数のセルで構成されているか調べる(ステップ801)。CNM618が2以上であればパケットは複数のセルで、そうでなければパケットは単一のセルで構成されている。
もし、パケットが単一のセルにより構成されているのであれば、パケット再生制御部324は、セルのペイロード620を一次保存するパケットバッファ340のアドレスPBUF_BAをリンク402経由で獲得し(ステップ802)、リンク403経由で当該PBUF_BAアドレスへセルのペイロード620を書き込み(ステップ803)む。そして、有効なパケット長を計算し、リンク404経由でPBUF_BA、SRC612、DID614、QoS615、PSN616、パケット長の情報をパケット再整列器330へ送信し(ステップ835)、当該セルの処理を終了する(ステップ850)。ここまでの処理は、パケットが単一のセルで構成されているケースであり、本操作により、パケットバッファ340上でパケットは再生されている。ここで、PBUF_BAは、パケット一つ分を格納できる粒度で設定する。また、パケット長は、CNM618にセルの最大ペイロード長を乗じ、末尾セルの有効ペイロード長LENG619を加えることで計算できる。
もし、パケットが複数のセルにより構成されているのであれば、SRC612、DID614、QoS615、PSN616が同一のセルがセル収集メモリ323で待ち合わせを行っているか、ポインタメモリ321を参照して調べる(ステップ810)。前記同一セルが、まだ、待ち合わせを行っていなければ、新たにポインタメモリ321のエントリ、セル収集メモリ323のエントリ、前記PBUF_BAを獲得する(ステップ820)。そして、前記PBUF_BAにCSN617を加えた値で表現されるアドレスへ当該セルのペイロード620を書き込む(ステップ821)。また、セル収集メモリ323の獲得エントリへ、前記PBUF_BAと到着セル数1を書き込み(ステップ822)、尚且つ、当該セルが当該パケットの末尾セルであればLENG619も書き込み(ステップ823)、当該セルの処理を終了する(ステップ850)。
また、ステップ802で、ポインタメモリ321を参照した結果、前記同一のセルがセル収集メモリ323で待ち合わせを行っていれば、ポインタメモリ321が示すセル収集メモリ323のエントリからPBUF_BAと到着セル数を読み出す(ステップ830)。そして、前記PBUF_BAにCSN617を加えた値で表現されるアドレスへ当該セルのペイロード620を書き込む(ステップ831)。また、到着セル数に1を加える(ステップ832)。
ここで、到着セル数がパケット構成セル数CNM618と一致しているか調べる(ステップ833)。不一致であれば、まだ、パケットを構成するセルが全て集まっていないため、セル収集メモリ323の獲得エントリへ到着セル数を上書きし(ステップ840)、尚且つ、当該セルが当該パケットの末尾セルであればLENG619も書き込み(ステップ841)、当該セルの処理を終了する(ステップ850)。
ステップ833において、到着セル数がパケット構成セル数CNM618と一致していれば、パケットを構成する全てのセルが揃ったため、ポインタメモリ321の当該エントリを解放する(ステップ834)。そして、有効なパケット長を計算し、当該パケットのPBUF_BA、SRC612、DID614、QoS615、PSN616、パケット長の情報をパケット再整列器330へ送信し(ステップ835)、当該セルの処理を終了する(ステップ850)。ここまでの処理は、パケットが複数のセルで構成されているケースであり、本操作により、パケットバッファ340上でパケットは再生されている。
次に、本発明の整列器300において、受信パケット情報を再整列するためのパケット再整列器330のブロック図を一実施例として図7に示す。図8に示すフローチャートを利用し、前記パケット再整列器330によるパケット順序再整列処理の説明を行う。前記パケット再整列器330は、リンク501経由で、パケット再生器320から、再生済みのパケットのパケット情報として、当該パケットのPBUF_BA、SRC612、DID614、QoS615、PSN616、パケット長を受信する(ステップ900)。この時点では、パケットの順番は保証されていず、順不同の状態である。
パケット再整列器330は、前記パケット情報受信後、当該パケットが所属するフロー、すなわち、SRC612、DID614、QoS615が同一のパケットがフロー管理メモリ333で管理されているか、ポインタメモリ331を参照して調べる(ステップ901)。尚、ポインタメモリは理想的にはCAMで構成し、SRC612、DID614、QoS615をデータとして記録し、そのエントリ番号がフロー管理メモリ333を示すポインタとなる。ポインタメモリ331の管理、ポインタメモリ331とフロー管理メモリ333との対応付けの処理はメモリ管理部332を通じて行う。
前記同一フローのパケットが管理中でなければ、ポインタメモリ331のエントリ、フロー管理メモリ333のエントリを獲得する(ステップ902)。
受信パケット情報のPSN616を確認し(ステップ903)、ゼロであれば未管理フローの先頭パケットであるため、当該パケットのPBUF_BA、QoS615、パケット長をリンク502経由でスケジューラ350へ送信し(ステップ904)、フロー管理メモリ333の該当エントリにHead Pointer=1、Tail Pointer=1を書き込み(ステップ905)、当該パケットの処理を終了する(ステップ950)。
尚、フロー管理メモリ333が各エントリで管理するHead Pointerは、該当するフローの未到着の先頭パケット番号を示す。また、Tail Pointerは、該当するフローの既到着の最後尾パケット番号を示す。
また、ステップ903において、受信パケット情報のPSN616がゼロでなければ、未管理フローの先頭以外のパケットであるため、当該パケットのPBUF_BAとパケット長をパケット再整列メモリ334の該当エントリ、すなわち、フロー管理メモリ333のエントリ番号を上位インデックス、PSN616を下位インデックスとしたメモリ番地へ書き込み、当該エントリを有効(Valid=1)にする(ステップ910)。そして、フロー管理メモリ333の該当エントリにHead Pointer=0,Tail Pointer=PSNを書き込み(ステップ911)、当該パケットの処理を終了する(ステップ950)。
尚、パケット再整列メモリ334は、フロー管理メモリ333のエントリ数に相当する数の循環バッファ構造を持ち、各循環バッファで、各フローのPBUF_BA、パケット長を管理する。
また、ステップ901において、当該パケットが所属するフローがフロー管理メモリ333で管理されていれば、ポインタメモリ331の示すフロー管理メモリ333のエントリのHead Pointer、Tail Pointerを読出す(ステップ920)。
ステップ921において、Head Pointerが受信パケット情報のPSN616と一致していれば、当該フローの未到着先頭パケットであるため、当該パケットのPBUF_BA、QoS615、パケット長をリンク502経由でスケジューラ350へ送信する(ステップ922)。ここで、Head PointerがTail Pointerが一致していれば、フロー管理メモリ333の該当エントリのHead PointerとTail Pointer両方を1増やし(表現できる最大値を越えたら、ラップアラウンドして、オールゼロ)(ステップ923、924)、当該パケットの処理を終了する(ステップ950)。
ステップ923において、Head PointerがTail Pointerが不一致であれば、当該フローのパケット情報がいくつか、既にパケット再整列メモリ334に記録されているため、まず、フロー管理メモリ333の同Head Pointerを1増やし(表現できる最大値を越えたら、ラップアラウンドして、オールゼロ)(ステップ930)、フロー管理メモリ333のエントリ番号を上位インデックス、PSN616を下位インデックスとしたメモリ番地のPBUF_BAを読み出す(ステップ931)。
ステップ932で、当該エントリが有効であれば(Valid=1)、当該フローの次のパケットが記録されていたことになるため、同エントリを無効化(Valid=0)し、当該PBUF_BAと当該フローのQoS615とパケット長をリンク502経由でスケジューラ350へ送信し(ステップ933)、再度、ステップ923に戻る。
ステップ932で、当該エントリが無効であれば(Valid=0)、当該フローの次のパケットは未到着であるため、当該パケットの処理を終了する(ステップ950)。
また、ステップ921において、Head Pointerが受信パケット情報のPSN616と不一致であれば、当該フローの先頭以外のパケットであるため、当該パケットのPBUF_BAとパケット長をパケット再整列メモリ334の該当エントリ、すなわち、フロー管理メモリ333のエントリ番号を上位インデックス、PSN616を下位インデックスとしたメモリ番地へ書き込み、当該エントリを有効(Valid=1)にする(ステップ940)。
次に、ステップ941において、当該パケット情報のPSN616が、Tail Pointerより小さければ、ここで、当該パケットの処理を終了する(ステップ950)。
また、ステップ941において、当該パケット情報のPSN616が、Tail Pointerより大きければ、当該フローの現在管理している最後尾のパケットより後のパケットであるため、Tail Pointerを当該PSN616で更新し(ステップ942)、当該パケットの処理を終了する(ステップ950)。
以上の操作により、パケット再整列器330は、パケットを順番通りに並べ直す。また、図8のフローチャートに示す各パケット情報の処理は、複数のパケット情報間でオーバーラップして処理しても良い。
最後に、本発明の整列器300において、スケジューラ350のブロック図を一実施例として図9に示し、説明する。スケジューラ350は、FIFO(First In First Out)で構成される複数の優先度バッファ351を備え、リンク502経由でパケット再整列器330から、当該パケットのPBUF_BA、パケット長、QoS615を受信すると、対応する優先度バッファ351に前記PBUF_BAとパケット長を登録する。
いずれかの優先度バッファ351に登録データがあれば、選択器352は、所定のアルゴリズムに従い、優先度バッファ351の一つを選ぶ。例えば、優先度が高いものを常に優先的に選ぶ等の手法があるが、本特許では特に規定しない。更に、選択器352は、選んだ優先度バッファ351の先頭のPBUF_BAで示されるパケットバッファ340のアドレスから、対応するパケット長分だけ、リンク510経由で当該パケットを読み出し、リンク511経由で出力する。また、選択器352は、読出しに利用したPBUF_BAをパケットバッファアドレスプール353へ返却する。パケットバッファアドレスプール353は、パケットバッファ340で利用可能なPBUF_BAをFIFOキューに蓄えておき、パケット再生器320の要求に応じてリンク402を経由して前記FIFOキューの先頭のPBUF_BAを割り当てる。
以上、本発明によるセル分散型スイッチにおける再整列方法について詳細な説明を行った。本説明は、実施の一形態に過ぎず、本発明の技術的思想および技術的範囲から離れることなく、様々な変形が可能である。
実施例1で説明した整列器300は、処理する回線速度の向上に伴い、パケット再生器320が処理のボトルネックになりうる。具体的には、同一パケットの検索やエントリ登録、削除に用いるポインタメモリ321がボトルネックとなりうる。そこで、実施例2では、前記ボトルネックを解消するために、パケット再生器320を並列化して十分なスループットを確保する。
図10に実施例2における整列器300′のブロック図を示す。この整列器300は、パケット再生器320を複数個備え、その手前にセル分散器315を備える。
セル分散器315は、セルを特定の識別子によりパケット単位で区別し、対応するパケット再生器320へ送信する。例えば、パケット再生器320を4個備える場合、セルのパケット番号PSN616の4の剰余(4で割った余り)で示される番号を持つパケット再生器320へ当該セルを送信する。この操作により、同一パケットから構成されるセルは必ず同一のパケット再生器320で収集可能である。
また、短時間に特定のパケット再生器320にセルが集中する可能性があるため、図11に示すようにセル分散器315は、セル振り分けを行う分散器316と各パケット再生器320との間にFIFOキューで構成される緩衝バッファ317を備える構成を採っても良い。
それぞれのパケット再生器320は、実施例1で示したパケット再生器320と同一の構成と機能を持つ。
また、実施例2では、パケット再整列器330は、複数のパケット再生器320からパケット情報を受信する。このため、パケット再整列器330は図7で示すリンク501の手前にパケット再生器320の個数分のFIFOキューで構成される緩衝バッファを備え、所定のアルゴリズムに従って、選択した一つのFIFOキューからパケット情報を取り出す。所定のアルゴリズムは、例えばラウンドロビン制御でも良いし、当該パケット情報のQoS615が高位のものを優先的に選んでも良い。
以上、本発明によるセル分散型スイッチにおける再整列方法について詳細な説明を行った。本説明は、実施の一形態に過ぎず、本発明の技術的思想および技術的範囲から離れることなく、様々な変形が可能である。
実施例1や実施例2において利用する様々なハードウェア資源は有限であるため、不足しないように有効利用する必要がある。例えば、実施例1で示した宛先番号をビットマップ化した上で縮約した宛先パターンDID614の利用は、ユニキャストとマルチキャストを同様に扱いつつ、パケット再生器320のポインタメモリ321のエントリ数とセル収集メモリ323のエントリ数、また、パケット再整列器330のポインタメモリ331のエントリ数とフロー管理メモリ333のエントリ数、パケット再整列メモリ334のエントリ数等のハードウェア量を削減する工夫のひとつである。
この他にも、ハードウェア量を必要最小限に抑えることで、より低コストで大容量交換可能なスイッチファブリックを実現できる。そこで、実施例3では、可能な限り少量のハードウェア資源で特に整列器300を実現する手法について説明する。
例えば、図7で示すパケット再整列器330のパケット再整列メモリ334のエントリ数を更に削減するためには、各フローの先頭近くのパケットが順調に届くようにすればよい。
分散型スイッチで各フローの先頭パケットが順調に届かない主たる理由として、高優先度のパケットが優先的にスイッチ面200で出力される結果、低優先度のパケットがいずれかのスイッチ面200に滞留することが挙げられる。
そこで、図12のフローチャートで示すように、フロー管理メモリ333で管理する各フローの未到着の先頭パケット番号PSNと既到着の末尾パケット番号PSNの差、すなわち、当該フローのHead PointerとTail Pointerの差が所定の閾値以上となったら、当該整列器300に接続される全てのスイッチ面200に対し、当該フローの未到着の先頭パケットを構成するセルを出力するための要求(PULL要求)を送信する(ステップ960、961)。PULL要求は当該パケットのSRC612、DID614、QoS615を含む。また、当該パケットを構成するセル群を特定するためにPSN616を含んでもよい。また、PULL要求送信とともにタイマをスタートさせる(ステップ962)。尚、正確には、前記PULL要求は、図7の再整列制御部335からリンク503経由で、図1または図10の制御セル生成器360に送信され、そこから全スイッチ面200へ送信される。
PULL要求を受信した各スイッチ面200は、例えば、SRC612、DID614、QoS615が一致するセルのうち先頭のものだけを最優先で出力する。または、各スイッチ面200は、PULL要求を受信した時に保持しているSRC612、DID614、QoS615が一致するセル全てを最優先で出力する。または、各スイッチ面200は、SRC612、DID614、QoS615、PSN616が一致するセルだけを最優先で出力する。または、各スイッチ面200は、PULL要求を受信した時に保持しているSRC612、DID614、QoS615が一致するセルを先頭から順にPSN616が一致するまで全てを最優先で出力する。PSN616が一致しない場合は、PULL要求を受信した時に保持していた対応するセル全てが出力される。または、各スイッチ面200は、セルを出力するのではなく、セルを廃棄しても良い。
当該セルが優先的に出力された場合、当該セルは、一定時間の間に、パケット再生器320及びパケット再整列器330に到着することが期待される。図12のフローチャートのステップ963において、ステップ962でカウントをスタートさせたタイマが、前記の一定時間を超えた場合、当該セルは、何らかの理由で消滅したものとみなし、当該セルを収集するパケット再生器320の該当するポインタメモリ321のエントリとセル収集メモリ323のエントリをクリアする(ステップ964)。また、パケット再整列既330のフロー管理メモリ333の当該フローのHead Pointerを1進め(ステップ965)、処理を終了する(ステップ966)。
また、パケット再生器320において、ポインタメモリ321またはセル収集メモリ323の不足する状況を避けるために、ポインタメモリ321またはセル収集メモリ323の各エントリにタイマを設ける方法がある。この場合、パケットを構成するセルの一つがパケット再生器320に届くと、当該エントリのタイマをスタートさせる。
前記タイマは、当該パケットを構成する全てのセルが到着すると、ポインタメモリ321のエントリを解放するのと同時にクリアする。
しかしながら、一定時間の間に当該パケットを構成する全てのセルが到着しない場合、当該パケットのSRC612、DID614、QoS615を含む前記のPULL要求をリンク405経由で、図1または図10の制御セル生成器360に送信し、そこから全スイッチ面200へ送信する。尚、当該パケットを構成するセル群を特定するためにPSN616を含んでもよい。各スイッチ面200での扱いは、パケット再整列器330が送信するPULL要求と同じである。
PULL要求送信後、前記タイマを再度スタートさせ、一定時間の間に当該パケットを構成する全てのセルがパケット再生器320に届かなければ、当該セルは何らかの理由で消滅したものとみなす。そして、ポインタメモリ321またはセル収集メモリ323の関係する全てのエントリとタイマをクリアし、当該パケットのパケット情報として、リンク404経由でPBUF_BA、SRC612、DID614、QoS615、PSN616情報に加え、パケットが無効である情報をパケット再整列器330へ送信する。尚、パケット長は、計算できない可能性があるため送信しない。
前記パケット情報を受信したパケット再整列器330は、同パケット情報が関係するフローの先頭であれば、対応するフロー管理メモリ333のHead Pointerを1進め(表現できる最大値を越えたら、ラップアラウンドして、オールゼロ)ることで、当該パケット情報を破棄する。また、当該PBUF_BAはスケジューラ350へ送信し、パケットバッファアドレスプール353へ返却する。
また、前記パケット情報を受信したパケット再整列器330は、同パケット情報が関係するフローの末尾であれば、対応するフロー管理メモリ333のTail PointerをPSN616で更新する。先頭でも末尾でもなければ、フロー管理メモリ333のエントリの内容は変更しない。いずれにしても、パケット再整列メモリ334には、当該パケット情報のPBUF_BAとValid=1を記録(パケット長は無効)し、更に廃棄ビットのフィールドを用意しておき、当該エントリの廃棄ビットを有効にする。そして、図8のフローチャートでは、フロー管理メモリ333のエントリを読み出してValid=1であっても、廃棄ビットが1であれば、当該パケット情報は破棄し、スケジューラ350へは、当該PBUF_BAをパケットバッファアドレスプール353へ返却するために送信する。
尚、パケット再生器320において、ポインタメモリ321またはセル収集メモリ323の不足する状況を避けるための他の方法として、ポインタメモリ321の利用エントリが設定した閾値を超えた場合に、図1または図10の送信元である全ての分散器100に新規のパケット送信停止要求を出す方法がある。この場合、新規パケット送信停止要求が、各分散器100に届くと、新規パケット及びそこから生成されるセルの送信が停止するため、各スイッチ面200に溜まっているセルが順次出力され、やがて、各整列器300で不足していたポインタメモリ321、セル収集メモリ323のエントリ不足は解消される。各分散器100は、新規パケット送信を停止してから、設定時間が経過したら、再度新規パケット及びセルの送信を開始すればよい。または、各整列器300が、ポインタメモリ321またはセル収集メモリ323のエントリ不足が解消された旨を各分散器100へ伝え、その信号をトリガとして各分散器100は、新規パケット及びセルの送信を開始すればよい。
また、本発明のシステムでは、SRC612、DID614、QoS615で表現されるフロー毎に、図2の各分散器100が各パケットにPSN616を割り振る。PSN616は、各整列器300において、各セルをパケット毎に組み立てるため、及び、各パケットをフロー順に整列させるために利用する。よって、整列器300でパケットの再整列が完了するまで、分散器100では同一フローのPSN616を新たに他のパケットに割り当てるべきではなく、仮に割り当てた場合、整列器300で異なるパケットのセルが交じり合い不整合を起こしうる。
そこで、現在利用中のPSN616を新たに別のパケットに割り当てないことを保証するための仕組みの実施例を示す。
まず、図4において、PSNメモリ730の各エントリには、管理中のPSN616の他に、PSNのクレジットを管理する。PSNのクレジットの粒度は、最小粒度では、1パケット分である。最大粒度では、当該PSNで表現可能な全パケット分である。前記PSNのクレジットがある限りにおいて、分散器100は、当該フローのパケットを各スイッチ面200へ送信できる。送信するたびに、対応するPSNのクレジットを減らす。前記最小粒度の場合、1パケット送信する毎にPSNのクレジットを減らす。前記最大粒度の場合、全パケット送信したらPSNのクレジットを減らす。
図1または図10のパケット再整列器330では、スケジューラ350に送ったパケットのPSN616を参照し、前記のPSNのクレジット粒度に応じて、PSNのクレジットを図7の再整列制御器335がリンク503経由で、いずれかひとつのスイッチ面200を経由させ、対応する分散器100のPSNメモリ730へ返却する。ここで、PSNのクレジット粒度が最小粒度の場合、1パケット毎にクレジットを返却し、最大粒度の場合、当該フローの最大PSNが通過後に1クレジット返却する。
ここで、前記最小粒度とすると、クレジット情報が頻繁に更新されすぎ、効率が悪い可能性がある。また、前記最大粒度とすると、分散器100がフローの最大PSNを持つパケットを送信後、当該パケットまで全てが整列器300で整列されてから出ないと、当該フローの新規のパケットを送信できなくなる。
そこで、一般には、PSNのクレジットは2個分とし、PSNの最大値の半分単位で管理する方法が効率がよい。例えば、フローあたり、1024種類(10ビット)のPSNを持つ場合、前半、後半の512種類ずつにPSNのクレジットを管理する。整列器300は、当該フローの前半の512個のパケットまでの整列を終えた時点で、前半分の1クレジットを分散器100へ返却する。この間に、分散器100では、当該不ローンも後半の512種類に属するパケットの送信を続けることができる。
このときの、PSNクレジット返却のフローチャートを図13に示す。図7の再整列器330のフロー管理メモリ333のHead Pointer、Tail Pointerのビット幅はPSNのビット幅に一致させる。すると、前記の前半、後半は、Head Pointerの最上位ビットが0から1、もしくは1から0へ反転したときと判定することができる(ステップ970)。前記のHead Pointerの最上位ビットの反転が発生したら、当該フローのSRC612で示されるセル送信元の図1もしくは図10の分散器100に向かって、図4で示すPSNメモリ730の対応するDID614、QoS615エントリ宛てにPSNクレジットを返却し、処理を終了する(ステップ971、972)。
以上、本発明によるセル分散型スイッチにおける再整列方法について詳細な説明を行った。本説明は、実施の一形態に過ぎず、本発明の技術的思想および技術的範囲から離れることなく、様々な変形が可能である。
本発明によるセル分散型スイッチにおける再整列方法は、大容量回線を利用したデータ交換が必要なシステムで利用することができる。例えば、ルータやスイッチに代表されるネットワーク装置内のスイッチファブリックや、サーバやストレージ機器の装置内のスイッチファブリック等での利用が考えられる。
100:分散器
200:スイッチ
300、300′:整列器
310:データセル受信器
320:パケット再生器
330:パケット再整列器
340:パケットバッファ
350:スケジューラ
360:制御セル生成器
600:セルフォーマット
610:セルヘッダフォーマット
620:セルペイロード。
200:スイッチ
300、300′:整列器
310:データセル受信器
320:パケット再生器
330:パケット再整列器
340:パケットバッファ
350:スケジューラ
360:制御セル生成器
600:セルフォーマット
610:セルヘッダフォーマット
620:セルペイロード。
Claims (15)
- 送信元のノードで可変長または固定長のパケットを固定長のセルに分割した後に、複数のスイッチ経路を経て宛先のノードへ渡す分散型スイッチシステムの前記宛先ノードに適用するパケット再整列器であって、
前記セルを特定の識別子によりパケット単位で区別する機構と、
前記パケットをパケット毎に一次保存するメモリのアドレスを獲得する機構と、
前記セルを前記アドレスにセル番号を加えたアドレスのメモリへ書き込む機構と、
前記パケット毎に到着セル数をカウントする機構と、
前記到着セル数がパケット構成セル数と一致した場合にパケットが揃ったとみなす機構と
前記パケット毎に前記到着セル数と前記メモリアドアレスを記録する機構とを含み、順不動に到着する前記セルから前記パケットを再生するための第1手段と、
前記第1手段で再生されたパケット群から、前記パケットの特定の識別子によりパケットを並び替えるべきグループに分類する機能と、
前記グループ毎に未到着の先頭パケット番号と既到着の最後尾パケットの番号を管理する機能と、
前記グループ毎に未到着の先頭以外のパケットの少なくとも前記メモリアドレスを管理する機能と、
前記グループの先頭パケットから、管理中の連続する保持パケットまでを出力する機構とを含み、区別すべきグループ毎に元通りの順番に前記パケットを再整列する第2の手段とを有する分散型スイッチシステムのパケット再整列器。 - 前記第1手段を複数個有し、セルを前記識別子によりパケット単位に区別して複数個の前記第1手段の中の一つへ送信し、前記第一手段毎に受信して前記パケット単位で収集することを特徴とする請求項1記載の分散型スイッチシステムのパケット再整列器。
- 請求項1記載のパケット再整列器において、 セルをパケット単位で区別するための前記識別子として、少なくとも送信元番号と、優先度と、宛先番号と、パケット整理番号を全てのセルに含むことを特徴とする分散型スイッチシステムのパケット再整列器。
- 請求項3記載のパケット再整列器において、 宛先番号をビットマップ化した上で縮約した宛先パターンを全てのセルに含むことを特徴とする分散型スイッチシステムのパケット再整列器。
- 請求項1記載のパケット再整列器または請求項2において、セルの到着個数を判定するための識別子としてパケットから生成されたセルの個数を全てのセルに含むことを特徴とする分散型スイッチシステムのパケット再整列器。
- 送信元のノードで可変長または固定長のパケットを固定長のセルに分割した後に、複数面のスイッチ経路をそれぞれ経て宛先のノードへ渡す分散型スイッチシステムのパケット再整列方法であって、
前記セルを特定の識別子によりパケット単位で区別し、
前記パケットをパケット毎に一次保存するメモリのアドレスを獲得し、
前記セルを前記アドレスにセル番号を加えたアドレスのメモリへ書き込み、
前記パケット毎に到着セル数をカウントし、
パケット毎に前記到着セル数と前記メモリアドレスを記録し、
前記到着セル数がパケット構成セル数と一致した場合にパケットが揃ったと判定して順不同に到着する前記セルから前記パケットを再生し、
前記の再生されたパケット群から、
前記パケットの特定の識別子によりパケットを並び替えるべきグループに分類し、
前記グループ毎に未到着の先頭パケット番号と既到着の最後尾パケットの番号を管理し、
前記グループ毎に未到着の先頭以外のパケットの少なくとも前記メモリアドレスを管理し、
前記グループの先頭パケットから、管理中の連続する保持パケットまでを出力することにより、
区別すべきグループ毎に元通りの順番に前記パケットを再整列する分散型スイッチシステムのパケット再整列方法。 - 請求項6記載のパケット再整列方法において、パケット毎に並び替えるべきグループ毎、未到着の先頭パケット番号と既到着の最後尾パケット番号の差が設定値を超えたら、対応するグループのパケットに属するセルを最優先で出力するように、全スイッチ面へ要求するステップを更に有する分散型スイッチシステムのパケット再整列方法。
- 請求項6記載のパケット再整列方法において、パケット毎に並び替えるべきグループ毎、未到着の先頭パケット番号と既到着の最後尾パケット番号の差が設定値を超えたら、対応するグループの対応するパケット整理番号のパケットに属するセルを最優先で出力するように全スイッチ面へ要求するステップを更に有する分散型スイッチシステムのパケット再整列方法。
- 請求項6記載のパケット再整列方法において、パケット毎に並び替えるべきグループ毎、未到着の先頭パケット番号と既到着の最後尾パケット番号の差が設定値を超えたら、対応するグループのパケットに属するセルのうち、現在保持しているセル全てを最優先で出力するように全スイッチ面へ要求するステップを更に有する分散型スイッチシステムのパケット再整列方法。
- 請求項7乃至請求項10のいずれか一つに記載のパケット再整列方法において、前記の全スイッチ面への要求後、指定した時間が経過してもセルが到着しない場合に、前記未到着セルは廃棄されたものと見做し、未到着の先頭パケット番号を一つ進めることを特徴とする分散型スイッチシステムのパケット再整列方法。
- 請求項6記載のパケット再整列方法において、 前記パケット毎に前記到着セル数と前記メモリアドレスを記録する機構のエントリ数が不足する状況を見越して、送信元のノードに対しパケット送信の停止要求を出し、送信元ノードでは、前記停止要求を受けて新規パケット及びセル送信を一定時間、または宛先ノードから送信再開要求を受けるまで停止することを特徴とする分散型スイッチシステムのパケット再整列方法。
- 請求項6記載のパケット再整列方法において、前記パケット毎に前記到着セル数と前記メモリアドレスを記録する機構のエントリ数が不足する状況において、全スイッチ面に対し、未到着セルの出力要求を出すことを特徴とする分散型スイッチシステムのパケット再整列方法。
- 前記未到着セルの出力を要求後、指定した時間が経過してもセルが到着しない場合に、前記未到着セルは廃棄されたものと見做し、前記パケット毎に前記到着セル数と前記メモリアドレスを記録する機構のエントリを解放するステップを更に有する請求項12記載の分散型スイッチシステムのパケット再整列方法。
- 請求項6記載のパケット再整列方法において、 セルをパケット単位で区別するための前記識別子として、少なくとも送信元番号と、優先度と、宛先番号と、パケット整理番号を全てのセルに含むことを特徴とする分散型スイッチシステムのパケット再整列方法。
- 請求項14記載のパケット再整列方法において、 宛先のノードで再整列済みのパケットのパケット整理番号の一部または全てを送信元のノードに返却することにより、処理中のセルで、送信元番号と、優先度と、宛先番号、パケット整理番号が同一のセルは、必ず同一のパケットから生成されていることを保証することを特徴とする分散型スイッチシステムのパケット再整列方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006273572A JP2008092485A (ja) | 2006-10-05 | 2006-10-05 | 分散型スイッチシステムのパケット再整列器およびパケット再整列方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006273572A JP2008092485A (ja) | 2006-10-05 | 2006-10-05 | 分散型スイッチシステムのパケット再整列器およびパケット再整列方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008092485A true JP2008092485A (ja) | 2008-04-17 |
Family
ID=39376107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006273572A Pending JP2008092485A (ja) | 2006-10-05 | 2006-10-05 | 分散型スイッチシステムのパケット再整列器およびパケット再整列方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008092485A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008160570A (ja) * | 2006-12-25 | 2008-07-10 | Fujitsu Ltd | パケット中継方法及び装置 |
JP2011015135A (ja) * | 2009-07-01 | 2011-01-20 | Nec Corp | パケット転送システム、パケット転送装置、専用処理装置、コンピュータプログラム、データ処理方法 |
US7907606B2 (en) | 2007-11-21 | 2011-03-15 | Alaxala Networks Corporation | Multi-plane cell switch fabric system |
US8095721B2 (en) | 2008-02-05 | 2012-01-10 | Alaxala Networks Corporation | Network switch and method of switching in network |
US8116305B2 (en) | 2008-04-02 | 2012-02-14 | Alaxala Networks Corporation | Multi-plane cell switch fabric system |
JP2013519336A (ja) * | 2010-02-08 | 2013-05-23 | クゥアルコム・インコーポレイテッド | 無線通信システム上で受信されたデータの高度なリシーケンシング |
CN113242188A (zh) * | 2021-04-22 | 2021-08-10 | 中国电子科技集团公司第二十九研究所 | 微波信道全交换网络构建方法、控制方法、编译码方法 |
-
2006
- 2006-10-05 JP JP2006273572A patent/JP2008092485A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008160570A (ja) * | 2006-12-25 | 2008-07-10 | Fujitsu Ltd | パケット中継方法及び装置 |
US7907606B2 (en) | 2007-11-21 | 2011-03-15 | Alaxala Networks Corporation | Multi-plane cell switch fabric system |
US8095721B2 (en) | 2008-02-05 | 2012-01-10 | Alaxala Networks Corporation | Network switch and method of switching in network |
US8116305B2 (en) | 2008-04-02 | 2012-02-14 | Alaxala Networks Corporation | Multi-plane cell switch fabric system |
JP2011015135A (ja) * | 2009-07-01 | 2011-01-20 | Nec Corp | パケット転送システム、パケット転送装置、専用処理装置、コンピュータプログラム、データ処理方法 |
JP2013519336A (ja) * | 2010-02-08 | 2013-05-23 | クゥアルコム・インコーポレイテッド | 無線通信システム上で受信されたデータの高度なリシーケンシング |
US8774190B2 (en) | 2010-02-08 | 2014-07-08 | Qualcomm Incorporated | Enhanced resequencing of data received over a wireless communication system |
CN113242188A (zh) * | 2021-04-22 | 2021-08-10 | 中国电子科技集团公司第二十九研究所 | 微波信道全交换网络构建方法、控制方法、编译码方法 |
CN113242188B (zh) * | 2021-04-22 | 2022-06-21 | 中国电子科技集团公司第二十九研究所 | 微波信道全交换网络构建方法、控制方法、编译码方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5863076B2 (ja) | パケットを再構築し再順序付けするための方法、装置、およびシステム | |
US7150021B1 (en) | Method and system to allocate resources within an interconnect device according to a resource allocation table | |
US7042842B2 (en) | Fiber channel switch | |
US7023841B2 (en) | Three-stage switch fabric with buffered crossbar devices | |
EP2613479B1 (en) | Relay device | |
US7161906B2 (en) | Three-stage switch fabric with input device features | |
TW515179B (en) | Segmentation and reassembly of data frames | |
US7558270B1 (en) | Architecture for high speed class of service enabled linecard | |
US7733889B2 (en) | Network switching device and method dividing packets and storing divided packets in shared buffer | |
US8379658B2 (en) | Deferred queuing in a buffered switch | |
US20180227247A1 (en) | Early queueing network device | |
US9094237B2 (en) | Packet routing and switching device | |
US9467307B2 (en) | Method of tracking arrival order of packets into plural queues | |
EP1779607B1 (en) | Network interconnect crosspoint switching architecture and method | |
JP2008092485A (ja) | 分散型スイッチシステムのパケット再整列器およびパケット再整列方法 | |
US10523576B1 (en) | High-performance garbage collection in a network device | |
CN107948094A (zh) | 一种高速数据帧无冲突入队处理的装置及方法 | |
WO2007056908A1 (fr) | Procede de remise en ordre de cellule, procede et dispositif pour le traitement de cellule reposant sur le procede de remise en ordre de cellule | |
CN113037640A (zh) | 数据转发方法、数据缓存方法、装置和相关设备 | |
US11677676B1 (en) | Shared traffic manager | |
US7124231B1 (en) | Split transaction reordering circuit | |
JP5028316B2 (ja) | セル分散型スイッチファブリック | |
US20080273546A1 (en) | Data switch and a method of switching | |
US11171884B2 (en) | Efficient memory utilization and egress queue fairness | |
US10846225B1 (en) | Buffer read optimizations in a network device |