JP4958745B2 - 分散型スイッチファブリック - Google Patents

分散型スイッチファブリック Download PDF

Info

Publication number
JP4958745B2
JP4958745B2 JP2007301134A JP2007301134A JP4958745B2 JP 4958745 B2 JP4958745 B2 JP 4958745B2 JP 2007301134 A JP2007301134 A JP 2007301134A JP 2007301134 A JP2007301134 A JP 2007301134A JP 4958745 B2 JP4958745 B2 JP 4958745B2
Authority
JP
Japan
Prior art keywords
cell
destination
unit
cells
packet
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.)
Active
Application number
JP2007301134A
Other languages
English (en)
Other versions
JP2009130481A (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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2007301134A priority Critical patent/JP4958745B2/ja
Priority to US12/273,579 priority patent/US7907606B2/en
Publication of JP2009130481A publication Critical patent/JP2009130481A/ja
Application granted granted Critical
Publication of JP4958745B2 publication Critical patent/JP4958745B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1523Parallel switch fabric planes
    • 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/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3072Packet splitting
    • 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/501Overload detection
    • H04L49/503Policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Description

本発明は、分散型スイッチファブリックに係り、ルータ、サーバ、ストレージ装置などにおいて、装置内部に有する複数の機能ブロックを動的に相互に接続するスイッチ技術に関し、特に、独立動作する複数のスイッチを利用し、宛先でデータの到着順序が入れ替わる場合に、順番通りに並べ替えるための分散型スイッチファブリックに関する。
ルータなどのネットワーク転送装置やサーバ装置、複数のディスクアレイを接続するストレージ装置などでは、装置内部の機能ブロック間でデータ交換を行うためにスイッチファブリックが利用される。スイッチファブリックの交換容量は、ポート数とポート容量(回線速度)の積で表現され、大容量交換を実現するためには、ポート数とポート容量のいずれか片方、もしくは両方を増加させる必要がある。
ポート数を増加させるには、要素スイッチを多段結合し、オメガ網やクロス網、ファットツリー網等を形成することにより実現が可能である。また、スイッチLSI(Large Scale Integration)のポート容量を増加させることでスイッチファブリックのポート容量を増加させることも可能であるが、LSIに実装可能なピン数は、その時代のCMOS(Complementary MOS)の実装限界によって制限されるため、大容量ポートを実現すると、スイッチLSIあたりのポート数は減少する。
大容量ポートを少数持つスイッチLSIを多段結合することでスイッチファブリック全体の交換容量を向上することは可能であるが、次のような課題が発生する。すなわち、総ポート数を増やすと接続段数が増加し、スイッチファブリック通過のレイテンシが大きくなる課題、また、異なる宛先でもスイッチファブリック内で衝突が発生してスループットが低下する課題が発生する。これらの課題を回避して、目的の交換容量を実現する方法として、分散型スイッチファブリック(パラレルパケットスイッチ)が知られている。
分散型スイッチファブリックでは、要求容量の1/Mの容量のポートを備える比較的低速なスイッチLSIをM個用意し、スイッチファブリックの入力にあたる分散部において、入力データを分割して各スイッチへ分散して通過させることで所望の大容量交換を実現する。一般に、ネットワーク装置で利用されるスイッチの場合、入力データは可変長のパケットであり、パケットは固定長のセルと呼ばれる単位に分割される。
分散型スイッチファブリックを最も容易に構成する場合、交換部用に用いる複数のスイッチLSIを完全に同期させ、更に完全に同一の宛先調停動作を実施する。よって、宛先(スイッチの出力)には、完全に予測可能なタイミングで順番通りにセルが到着するため、容易にパケットを元通りに復元可能であり、更にフロー内のパケット順番も容易に復元可能である。
ところが、近年、スイッチに要求されるポート容量、交換容量は非常に大きくなっており、分散型スイッチファブリックを構成する各スイッチLSI自体も高速してきている。例えば、LSI間の通信には、SerDes(SERialization/DE−Serialization)と呼ばれる高速シリアル伝送が利用されたり、セルの交換処理ピッチも短縮化されたりしているため、各スイッチLSIを完全同期させることが事実上困難である。よって、各スイッチが非同期動作する、すなわち、各スイッチが独立してデータ交換を行なう分散型スイッチファブリックが必要である。
US2004/0143593(A1) WO02/43329(A1) USP6832261(B1) US2004/0141510(A1)
各交換部が非同期動作する分散型スイッチファブリックでは、スイッチファブリックの入力にあたる分散部でのセルの送信順番と、スイッチファブリックの出力にあたる整列部での各交換部間のセルの到着順番が一致することが保証されない。例えば、輻輳状態にあるスイッチを経由するパケットを、非輻輳状態のスイッチを経由する後続のパケットが追い越すことがある。よって、同一送信元から同一宛先を目指すパケット群(フロー)内のセルの順番を元通りに復元し(フロー復元)、更にパケットを元通りに復元(パケット復元)しなくてはならない。
US2004/0143593(A1)(特許文献1)では、パケットのシーケンス番号(整理番号)、送信元番号、ルーティングインデックス(単一の宛先、もしくは複数の宛先の組合せを参照するための値)、優先度を利用して、宛先において各フローのパケットを十分な量溜め込んだのち、パケット順番を元通りに復元する方法が開示されている。しかしながら、US2004/0143593(A1)のパケット順番復元方法は、送信元番号、ルーティングインデックス、優先度の積で表現される数のフローについて、十分な量のパケット保持機構が必要と考えられ、ハードウェア量が多くなりうる課題を持つ。
WO02/43329(A1)(特許文献2)では、同一のパケットから生成したセルには、宛先番号、送信元番号、セル分割番号の他、同一のタイムスタンプを付加し、スイッチファブリックの各部で共通の時計を利用して、スイッチ内ではタイムスタンプの古いものを優先して選択し、スイッチの宛先では、同一のフローに属するセル、パケットをタイムスタンプの値が古いものから順に順序復元を行う方法が開示されている。しかしながら、WO02/43329(A1)のセル、パケット順番復元方法は、送信元番号、ルーティングインデックスの積で表現される数のフローについて、十分な量のパケット保持機構が必要と考えられ、ハードウェア量が多くなりうる課題を持つ。また、スイッチファブリック各部で共通の時計を利用し、その時刻を元に並べ替えを行う点も、パケットやセルの転送速度が向上するにつれて困難になりうる課題を持つ。
USP6832261(B1)(特許文献3)では、セル、パケット順序復元用のデバイスを複数個用いて、互いに交信しつつセル、パケットの順序復元を行う方法が開示されている。USP6832261(B1)の実施例から、送信元スロット(送信元番号)、シーケンス番号(整理番号)、宛先スロット(宛先番号)の積で表現される数のフローについて、十分な量のパケット保持機構が必要と考えられ、ハードウェア量が多くなりうる課題を持つ。
また、US2004/0143593(A1)とWO02/43329(A1)では、各スイッチの負荷に応じて、スイッチファブリックの入力にあたる分散部においてロードバランスを取りながら分散動作を行うことが開示されている。しかしながら、一般に、単純なロードバランス動作を行うと、輻輳状態にあるスイッチに溜まっているセルやパケットが目的の宛先、すなわち、スイッチファブリックの出力にあたる整列部に到着する前に、後続のセルやパケットが非輻輳状態のスイッチを経由して到着しうる。よって、整列部においてセルやパケットの順番を復元するために、整列部は大量のセルやパケットの保持が必要であり、ハードウェア量が多くなりうる課題を持つ。
以上のように、従来の、各交換部が非同期動作する分散型スイッチファブリックでは、整列部におけるフロー復元、パケット復元の一手法に関して開示されているが、いずれの手法もハードウェア量が多くなりうる課題を持っている。分散型スイッチファブリックは、スイッチ全体の交換容量を向上させることが本来の目的であるため、分散動作、復元動作によって交換容量が低下しないように潤沢なハードウェアを搭載することもできるが、装置を低コスト化するためには、より小規模のハードウェアで実現可能な整列部を持つ分散型スイッチファブリックが望まれる。
本発明は、以上の点に鑑み、各交換部が非同期動作する分散型スイッチファブリックの整列部において、複数の交換部から順不同に到着するセルを、元通りのパケットに復元する方法を小容量のハードウェアで実現する分散型スイッチファブリックを提供することを目的とする。
本発明は、各スイッチが非同期動作する分散型スイッチファブリックにおいて、各宛先の整列部は送信元毎に1パケットフローもしくは2パケットフローだけを扱うだけにすることを目的のひとつとする。本発明は、フロー内のセルおよびパケットの整列時に必要とする保持メモリ量を送信元数の1倍もしくは2倍に比例する量だけに削減し、従来方法より少ないコストで、高い交換容量の分散型スイッチファブリックを構成可能とすることを目的のひとつとする。
本発明における分散型スイッチファブリックは、それぞれが非同期にデータ交換を行う複数の交換部を有する分散型スイッチファブリックにおいて、スイッチファブリックの入力にあたる分散部は、可変長のパケットを1個以上の固定長のセルに分割する機構と、個々の宛先毎に連続する整理番号を管理する機構と、パケット先頭セルには先頭記号、パケット末尾セルには末尾記号を付与し、全セルに分散部の番号と宛先を示す宛先ビットマップを付与し、更に前記宛先に対応する前記整理番号を指定の範囲内で複数個付与する機構と、前記の1個以上の交換部へセルを出力する機構を備え、スイッチファブリックでセルを目的の宛先へ配信する複数の交換部は、同一送信元のセル群の間の送信順番を維持したまま、セル単位で宛先毎出力調停する機構を備え、スイッチファブリックの出力にあたる整列部において、受信セルを分散部の番号で分類してから整理番号の期待値とセルの持つ当該宛先の整理番号との比較を行う機構と、前記比較で一致したものを格納する送信元毎の整列済みFIFOキューと、前記整列済みFIFOキューのうち、パケット末尾セルまで到着している整列済みFIFOキューを選び、パケット先頭セルからパケット末尾セルまでを取り出す機構とを備えることを特徴のひとつとする。
本発明の他の分散型スイッチファブリックは、例えば、それぞれが非同期にデータ交換を行う複数の交換部を有する分散型スイッチファブリックにおいて、
スイッチファブリックの入力にあたる分散部は、可変長のパケットを1個以上の固定長のセルに分割する機構と、任意の二つの宛先を2ビット表現(ビットが1の場合にセルを送信)し、前記2ビットの組合せとして01、10、11の3種類を該当する2宛先へのフローとして定義し、フロー毎に連続する整理番号を管理する機構と、パケット先頭セルには先頭記号、パケット末尾セルには末尾記号を付与し、全セルに分散部の番号と宛先を示す宛先ビットマップを付与し、更に前記宛先に対応する前記整理番号を指定の範囲内で複数個付与する機構と、前記の1個以上の交換部へセルを出力する機構を備え、
スイッチファブリックでセルを目的の宛先へ配信する各交換部は、同一送信元のセル群の間の送信順番を維持したまま、セル単位で宛先毎出力調停する機構を備え、
スイッチファブリックの出力にあたる整列部は、
受信セルを分散部の番号と宛先ビットマップの中から同宛先を含む指定の2ビットで示されるフロー番号で分類してから整理番号の期待値とセルの持つ当該宛先の整理番号との比較を行う機構と、前記比較で一致したものを格納する送信元毎及びフロー番号毎の整列済みFIFOキューと、前記整列済みFIFOキューのうち、パケット末尾セルまで到着している整列済みFIFOキューを選び、パケット先頭セルからパケット末尾セルまでを取り出す機構とを備えることを特徴のひとつとする。
上述の分散型スイッチファブリックは、例えば、マルチキャストパケットで宛先の数が1個のセルに付与可能な整理番号の個数を超える場合、前記分散部は1個のセルに付与可能な数以下の整理番号となるように宛先ビットマップを分割し、セルを前記分割数分個コピーし、コピー後の各セルには、対応する分割後の宛先ビットマップと対応する全宛先の整理番号を付与することを特徴のひとつとする。
上述の分散型スイッチファブリックは、例えば、マルチキャストパケットで宛先のパターンが予め指定したパターンである場合は、前記パターンを特別なフローとして専用の整理番号を前記分散部で付与し、前記整列部で前記パターン専用の整理番号の期待値を通常の整理番号の期待値と別に管理し一致比較を行うことを特徴のひとつとする。
上述の分散型スイッチファブリックは、例えば、分散部からセル化したパケットを送信途中で当該宛先が輻輳して送信できなくなった場合、同宛先を含まない他の宛先へのパケットをセル化して送信を開始することを特徴のひとつとする。
上述の分散型スイッチファブリックは、例えば、整列部において任意の送信元から期待する整理番号を持つパケット末尾以外のセルが到着後、同一送信元から、指定の期間が経過しても後続の期待する整理番号を持つセルが到着しない場合、もしくは、同一送信元かつ全ての交換部から期待する整理番号以外のセルが到着した場合、期待する整理番号を持つセルが分散部に到着するまでに障害で廃棄されたものとして、期待する整理番号を1増やして処理し、廃棄されたセルを含むパケットはエラーパケットとして処理することを特徴のひとつとする。
上述の分散型スイッチファブリックは、例えば、各分散部は複数の入力を持ち、各整列部は複数の出力を持つ場合、セルに付与する宛先ビットマップ以外に全出力を示す宛先ビットマップをパケットに付属のデータとして、当該パケットを構成するセルのいずれかに保持し、整列部の出力部分で前記全出力を示す宛先ビットマップの当該整列部の部分を参照してパケットの最終出力先を決定することを特徴のひとつとする。
本発明の他の分散型スイッチファブリックは、例えば、それぞれが非同期にデータ交換を行う複数の交換部を有する分散型スイッチファブリックにおいて、
スイッチファブリックの入力にあたる分散部は、可変長のパケットを1個以上の固定長のセルに分割する機構と、個々の宛先毎に連続する整理番号を管理する機構と、パケット先頭セルには先頭記号、パケット末尾セルには末尾記号を付与し、全セルに分散部の番号と宛先を示す宛先ビットマップを付与し、更に前記宛先に対応する前記整理番号を指定の範囲内で複数個付与する機構と、前記の1個以上の交換部へセルを出力する機構を備え、
スイッチファブリックの各交換部を経由して目的の出力にあたる整列部において、期待する整理番号のセルから順番に取り出すことを特徴のひとつとする。
本発明の他の分散型スイッチファブリックは、例えば、
それぞれが非同期にデータ交換を行う複数の交換部を有する分散型スイッチファブリックにおいて、
スイッチファブリックの入力にあたる分散部は、可変長のパケットを1個以上の固定長のセルに分割する機構と、任意の二つの宛先を2ビット表現(ビットが1の場合にセルを送信)し、前記2ビットの組合せとして01、10、11の3種類を該当する2宛先へのフローとして定義し、フロー毎に連続する整理番号を管理する機構と、パケット先頭セルには先頭記号、パケット末尾セルには末尾記号を付与し、全セルに分散部の番号と宛先を示す宛先ビットマップを付与し、更に前記宛先に対応する前記整理番号を指定の範囲内で複数個付与する機構と、前記の1個以上の交換部へセルを出力する機構を備え、
スイッチファブリックの各交換部は、同一送信元のセル群の間の送信順番を維持したまま、セル単位で宛先毎出力調停する機構を備え、スイッチファブリックの各交換部を経由して目的の出力にあたる整列部において、期待する整理番号のセルから順番に取り出すことを特徴のひとつとする。
本発明の第1の解決手段によると、
スイッチファブリックの入力にあたる複数の分散部と、
スイッチファブリックの出力にあたる複数の整列部と、
それぞれが非同期に、前記分散部から前記整列部へのデータ交換を行う複数の交換部と
を備え、
前記分散部は、
入力される可変長のパケットを固定長のセルに分割し、パケット先頭セルには先頭記号を付与し、パケット末尾セルには末尾記号を付与し、全セルに対して自分散部を示す送信元識別子と宛先となるひとつ又は複数の整列部を示す宛先情報とを付与する機構と、
セルからパケットを復元するためのセルの順番を示す整理番号を、宛先となる整列部毎に管理する機構と、
宛先情報に基づき前記管理する機構を参照して、宛先に対応するひとつ又は複数の前記整理番号をセルに付与する機構と、
複数の前記交換部へセルを振り分けて出力する機構と
を有し、
前記整列部は、
複数の前記交換部を介して受信したセルの送信元識別子に従い、送信元の分散部毎に受信セルを分類する機構と、
分散部毎に分類されたセルに対して、該セルに付与された自宛先に対応する整理番号に従い、前記セルを整列する機構と、
整列されたセルを順に格納する分散部毎の整列済みキューと、
前記整列済みキューのうち、末尾記号が付与されたパケット末尾セルまで格納している前記整列済みキューを選び、先頭記号が付与されたパケット先頭セルから前記パケット末尾セルまでを取り出してパケットを復元し、出力する機構と
を有する分散型スイッチファブリックが提供される。
本発明の第2の解決手段によると、
スイッチファブリックの入力にあたる複数の分散部と、
スイッチファブリックの出力にあたる複数の整列部と、
それぞれが非同期に、前記分散部から前記整列部へのデータ交換を行う複数の交換部と、
を備え、
前記分散部は、
入力される可変長のパケットを固定長のセルに分割し、パケット先頭セルには先頭記号を付与し、パケット末尾セルには末尾記号を付与し、全セルに対して自分散部を示す送信元識別子と宛先となるひとつ又は複数の整列部を示す宛先情報とを付与する機構と、
各ビットが前記整列部に対応し、ビットの値が1の前記整列部へセルを送信し及びビットの値が0の前記整列部へはセルを送信しないための宛先ビットマップに対し、予め定められたふたつの宛先に対応する2ビットずつを組み合わせ、該2ビットの組合せパターンのうち01、10、11の3種類の組合せパターンが該ふたつの宛先へのフローとして予め定義され、該ふたつの宛先の組み合わせ毎に、該3種類のフローに対応したセルの順番を示す整理番号を管理する機構と、
宛先ビットマップの予め定められたふたつの宛先に対応する2ビットずつを組み合わせ、前記整理番号を管理する機構を参照して、該ふたつの宛先の組み合わせと、該2ビットの組合せパターンで定義されるフローに対応するひとつ又は複数の前記整理番号をセルに付与する機構と、
複数の前記交換部へセルを振り分けて出力する機構と
を有し、
前記整列部は、
複数の前記交換部を介して受信したセルの送信元識別子に従い、送信元の分散部毎に受信セルを分類する機構と、
宛先ビットマップを参照して、自整列部に対応するビットを含む予め定められた2ビットの組み合わせに基づき、組合せパターンが01又は10である第1のフローか、組合せパターンが11である第2のフローかを判別し、第1及び第2のフロー毎に、セルに付与された整理番号に従いセルを整列する機構と、
整列されたセルを順に格納する分散部毎及びフロー毎の整列済みキューと、
前記整列済みキューのうち、パケット末尾セルまで格納している前記整列済みキューを選び、パケット先頭セルからパケット末尾セルまでを取り出してパケットを復元し、出力する機構と
を有する分散型スイッチファブリックが提供される。
また、本発明の他の解決手段によると上述の分散型スイッチファブリックにおいて、
前記分散部の前記管理する機構は、
複数の宛先を含む宛先情報が予め指定したパターンのパケットについて、該パケットを復元するためのセルの順序を示す指定パターン用の整理番号をさらに管理し、
前記分散部の前記整理番号をセルに付与する機構は、
入力したパケットの宛先情報が予め指定したパターンである場合は、前記管理する機構を参照し、前記指定パターン用の整理番号をセルに付与し、
前記整列部では、宛先が指定パターンの場合の整理番号の期待値と宛先が指定パターンでない場合の整理番号の期待値とを別々に管理し、宛先が指定パターンか否かにより別々に、セルに付与された整理番号に従いセルを整列することを特徴とする分散型スイッチファブリックが提供される。
また、本発明の他の解決手段によると、上述の分散型スイッチファブリックにおいて、
M個(Mは2以上の整数)の前記分散部はそれぞれ、j個(jは2以上の整数)の入力ポートを有し、
N個(Nは2以上の整数)の前記整列部はそれぞれ、i個(iは2以上の整数)の出力ポートを有し、
前記分散部は、宛先となる前記整列部及び前記出力ポートを示す、N×iビットの第1の宛先ビットマップを含むパケットを入力し、該第1の宛先ビットマップに対し、前記整列部に対応するiビット毎の論理和をとって、Nビットの第2の宛先ビットマップを作成し、分割されたセルに第2の宛先ビットマップを付与して前記交換部へ出力し、
前記交換部は、第2の宛先ビットマップに従いセルを前記整列部に送信し、
前記整列部は、受信したセルを整列してパケットを復元し、復元されたパケットに含まれるN×iビットの第1の宛先ビットマップを参照して、自整列部のi個の前記出力ポートのうち出力先をひとつ又は複数決定して、復元されたパケットを出力することを特徴とする分散型スイッチファブリックが提供される。
本発明の第3の解決手段によると、
それぞれが非同期にデータ交換を行う複数の交換部を有する分散型スイッチファブリックにおいて、
スイッチファブリックの入力にあたる分散部は、
可変長のパケットを固定長のセルに分割し、セルに分散部の識別子と宛先の整列部を示す宛先ビットマップを付与する機構と、
個々の宛先毎にセルの順番を示す整理番号を管理する機構と、
前記管理する機構を参照して、前記宛先に対応する前記整理番号を指定の範囲内で複数個、セルに付与する機構と、
前記交換部へセルを出力する機構と
を備え、
スイッチファブリックの各交換部を経由したセルを受信した整列部において、セルに付与された複数の整理番号のうち、自整列部に対応する整理番号を判別し、該整理番号に従いセルを整列する分散型スイッチファブリックが提供される。
本発明の第4の解決手段によると、
それぞれが非同期にデータ交換を行う複数の交換部を有する分散型スイッチファブリックにおいて、
スイッチファブリックの入力にあたる分散部は、
可変長のパケットを固定長のセルに分割し、セルに分散部の識別子と宛先の整列部を示す宛先ビットマップを付与する機構と、
各ビットが整列部に対応し、ビットが1の整列部にセルを送信するための宛先ビットマップに対して、任意のふたつの宛先を2ビット表現し、前記2ビットの組合せとして01、10、11の3種類を該当する2宛先へのフローとして定義し、フロー毎にセルの順番を示す整理番号を管理する機構と、
前記宛先に対応する前記整理番号を指定の範囲内で複数個付与する機構と、
前記交換部へセルを出力する機構と
を備え、
スイッチファブリックの各交換部は、同一送信元のセル群の間の送信順番を維持したまま、セル単位で宛先毎出力調停する機構を備え、
スイッチファブリックの各交換部を経由したセルを受信した整列部において、整理番号に従いセルを整列することを特徴とする分散型スイッチファブリックが提供される。
本発明によると、各交換部が非同期動作する分散型スイッチファブリックの整列部において、複数の交換部から順不同に到着するセルを、元通りのパケットに復元する方法を小容量のハードウェアで実現することができる。
本発明により、各スイッチが非同期動作する分散型スイッチファブリックにおいて、各宛先の整列部は送信元毎に1パケットフローもしくは2パケットフローだけを扱うだけになる。このため、フロー内のセルおよびパケットの整列時に必要とする保持メモリ量を送信元数の1倍もしくは2倍に比例する量だけに削減することができ、従来方法より少ないコストで、高い交換容量の分散型スイッチファブリックを構成可能となる。
以下、より詳細な内容を図面に基づいて説明する。
1.第1の実施の形態
図1に、本実施の形態による分散型スイッチファブリックの一構成例を示す。
分散型スイッチファブリックは、例えば、スイッチファブリックの入力にあたるN個の分散部100(100−1、100−2、、、100−N)、データ交換を行うM個の交換部200(200−1、200−2、、、200−M)、スイッチファブリックの出力にあたるN個の整列部300(300−1、300−2、、、300−N)を備える(N、Mは整数)。分散部100は、受信した可変長のパケットを固定長のセルに分割し、複数の交換部200へ送信する。宛先の整列部300では、受信したセルを元通りの順番に直してパケットとして出力する。交換部200は互いに独立に動作する、すなわち、入力セルに対して互いに独立に宛先調停を自立的に行うため、スイッチファブリック中では非同期型の分散スイッチとして振る舞うことになる。
図2に、可変長パケットを固定長のセルに分割する様子を示す。
パケットからセルへの分割は、従来方法でも本実施の形態の方法でも同じ手法を用いることができる。一般に、スイッチファブリックを内蔵するルータなどのパケット転送装置は、受信したパケット10の内容を解析して宛先やパケット長、優先度などを含む解析情報11を生成する。この解析情報11の生成は、分散部100で行っても良いし、分散部100へ入力する前に設置するネットワークプロセッサやパケット処理エンジンなどを利用して生成してもよい。いずれにしても、分散部100の中では、解析情報11を含むパケット20を、指定された固定長に分割しセルのペイロード32とする。固定長に満たない場合は、例えば最後のセルのペイロードに値ゼロを必要量パディングして固定長にする。そして、各セルペイロード32にセルヘッダ31を付与して固定長のセル30とする。
セルヘッダ31は、セル30を分散部100から、いずれかの交換部200を経由して宛先の整列部300まで通過させた後、元通りの順番で解析情報11を含むパケット20、またはパケット10を復元するために必要な情報を含んでいる。
図5に、従来のセルヘッダ31の構成例を示す。
一般にセルヘッダ31は、パケットの先頭セルであることを示す先頭記号41、パケットの末尾セルであることを示す末尾記号42、パケットの送信元分散部100を示す送信元番号43、スイッチファブリックにおけるパケットの宛先(整列部)を示す宛先ビットマップ44、複数の宛先のパターン(組み合わせ)を示すフロー番号46、同一のフロー内でのセルの順番を示す整理番号45を有する。場合によっては、セルの有効なペイロード長なども必要であり、先に示した情報以外は、ここではその他の情報49としてまとめて示す。尚、宛先ビットマップ44とは、例えば宛先が8個の場合、8ビットの情報で示し、各ビットを宛先に対応させ、値が1となっているビット(有効ビット)が配信対象の宛先であり、値が0のビット(無効ビット)は配信対象ではないことを示す。宛先ビットマップ44により、単一宛先へ送信するユニキャストだけでなく、複数宛先へ送信するマルチキャストも表現することが出来る。
フロー番号46は、総宛先数が8個程度までの場合、省略することも可能である。フロー番号46を省略する場合、宛先の整列部300では、宛先ビットマップ44そのものをフロー番号として利用することができる。しかしながら、総宛先数が8個を超える場合、宛先の整列部300では、宛先ビットマップ44そのものをフロー番号として利用することは非現実的である。なぜなら、宛先の整列部300では、2の総宛先数乗のフローを識別しなければならず、必要メモリ量が非現実的に大きくなるからである。
図6は、従来例における宛先ビットマップから整理番号を得る方法を示す模式図である。
例えば、US2004/0141510(A1)(特許文献4)ではCAM(Content Addressable Memory)を利用して宛先ビットマップから十分ビット数の小さいフロー番号を生成する方法が開示されている。これは、図6に示すように、宛先ビットマップ44をCAM60にサーチキーとして入力し、一致する宛先ビットマップパターンに対応するCAMエントリのアドレスを、フロー番号46として出力する方法である。この方法で得られたフロー番号46をアドレスとして、整理番号を収めたRAM70をアクセスし、当該フロー番号46に対応する整理番号45を得ることができる。ここで、整理番号はフロー番号ごとに管理されており、CAMのエントリ数に応じた領域が使用される。CAM60やRAM70のエントリ数は、フロー番号46のビット数をPとすると、2のP乗個である。宛先ビットマップのビット数をQビットすると、2のP乗は、2のQ乗より小さい値になる。このように宛先ビットマップを縮約する形でフロー番号を得る方法の場合、フロー番号で表現可能なフロー数は宛先ビットマップで表現可能な全組合せの量より少なくなる。よって、フロー番号を使い尽くした場合に、利用していないフロー番号を見つけて新しいフローに割り当てるといった操作が必要になる。また、この手法では、宛先の整列部300でも、フロー番号に対応する数の期待整理番号を管理する必要があり、その分のメモリが必要となる。期待整理番号の管理自体は大きなオーバーヘッドを伴わないが、同時に複数のフローのセルを管理しながらセル順番とパケットを復元する必要があるため、セル保持用のメモリが大量に必要となる。
図3は、本実施の形態のセルヘッダの構成例である。
次に、本実施の形態におけるセルヘッダ31の内容のうち、従来のセルヘッダ31との差分を、図3を用いて説明する。本実施の形態では、セルヘッダ31に複数個の整理番号を付与する。図3の例では、セルヘッダ31内に最大4個までの整理番号45を付与することを示している。この場合、分散部100の整理番号管理部は、図4に示すように宛先毎(整列部毎)に整理番号を管理する。これは、宛先パターンの組み合わせによらず、宛先ごとのパケットフローを管理することを意味する。なお、図4については後に詳述する。これにより、宛先となる整列部300では送信元あたり1フローだけを扱えばよく、フロー内のセルおよびパケットの整列時に必要とする保持メモリ量を送信元数の1倍に比例する量(送信元数に応じた量)だけに削減することができる。従来のようにフロー数に応じたメモリ量より削減できる。よって、従来方法より少ないコストで、高い交換容量の分散型スイッチファブリックを構成可能となる。
ここで、図19に、分散部100のブロック図を示す。
分散部100は、例えば、パケット受信部110、宛先毎及びマルチキャスト(MC)用の複数のVOQ(Virtual Output Queue)群120、セル生成部130、整理番号付与部140、整理番号管理部141及びセル振分部150を有する。なお、図19は、図1の分散部100のひとつに対応する。したがって、分散型スイッチファブリックでは、図19の構成をN個有している。
分散部100は、パケット受信部110でパケット20を受信後、宛先毎に独立したFIFOキューであるVOQ120のうち対応するVOQへパケットを積む。尚、マルチキャストの場合は、あらゆるパターンのマルチキャストで共用のVOQへパケットを積む。次に、セル生成部130は、分散部100に接続されている全ての交換部200の各宛先の空き状況を確認し、空きのある宛先に対応するVOQ120のうち一つを選択してパケット20を取り出し、セルペイロード32に分割し、セルヘッダ31を付与して固定長のセル30とする。この時点のセルヘッダ31では、セルヘッダ31のうち、先頭記号41、末尾記号42、送信元番号43、宛先ビットマップ44のみが確定している。また、セルヘッダ31の中に明示的には現れないが、送信する交換部200の番号もこの時点で確定している。尚、パケット20の取出し途中で当該宛先の空きが無くなった場合は、当該パケット20のセル化を一旦中断し、次のセル化の機会を得たときに、続きの部分からセル化を再開してもよい。なお、送信元番号43、整理番号45は、番号以外にも適宜の識別子を用いてもよい。また、宛先ビットマップはビットマップ以外にも、例えば宛先の識別子をひとつ又は複数含むなど、適宜の宛先情報でもよい。
次に、整理番号付与部140がセル30を受け取り、セルヘッダ31の宛先ビットマップ44を整理番号管理部141に送り、対応する整理番号45を決定しセルヘッダ31に書き込む。最後にセル振分部150にて、指定の交換部200へセル30を送信する。
図4は、整理番号管理部141の構成図である。
整理番号管理部141は、宛先毎に整理番号を管理する。整理番号管理部141には、整理番号付与部から宛先ビットマップ44が入力される。宛先ビットマップの第1ビットは、宛先1用整理番号に対応しており、以下、宛先ビットマップの第2〜第Nビットは、宛先2〜N用整理番号に対応している。入力された宛先ビットマップ44の有効ビット(例えば値が1になっているビット)に対応するひとつ又は複数の整理番号が出力される。
図7に、本実施の形態における宛先ビットマップ44と整理番号45の関係を示す。
図7の上図の33はユニキャストの場合を示しており、対応する宛先の整理番号を整理番号領域1の位置45−1へ記録する。整理番号2、3、4のフィールドは利用しない。また、例えば0を入れてもよい。図7の下図の34は4つの宛先へのマルチキャストの場合を示しており、宛先ビットマップ44で1が記録されている宛先に対し、最も左側の(先頭側)宛先の整理番号をセルの整理番号領域1の位置45−1へ記録する。同様に、左側から2、3、4番目の宛先の整理番号を、セルの整理番号領域2、整理番号領域3、整理番号領域4の位置45−2、45−3、45−4へそれぞれ記録する。
セルに整理番号を付与したら、図4の対応する宛先用整理番号を1増加させることで、次回のセルの整理番号を準備する。尚、整理番号として管理する番号数は、分散部100から目的の整列部300でセルの順番が整列されるまでの途中の継路上の全てのバッファ量を超える量とすれば、整列部300では、同時に同じ整理番号が出現して整列不能に陥ることはない。
本実施の形態において、宛先の数がセルに付与可能な整理番号の数(指定の個数)を超えない場合、すなわち、図3のセルヘッダの例では宛先の数が4個を超えない場合、分散部100から送信されたセルは、交換部200が宛先ビットマップ44で示される有効な宛先すべてに対してコピーし、対応する整列部300へ送信する。
図8は、宛先の数が整理番号領域の数を超えた場合の説明図である。
宛先の数がセルに付与可能な整理番号の数を超えた場合は、分散部100でパケットおよびそこから生成されるセルをコピーしてから送信する。例えば、図3のセルヘッダの例では宛先の数が4個を超える場合、分散部100でコピーする。図8では宛先の数が6個の場合の例を示す。この場合、6ビットが有効な宛先ビットマップ44を、有効なビットがセルに付与可能な整理番号の数4を超えないように2分割する。図8の例では、有効な宛先の数が4ビットの一つ目のセルの一部35−1と、2ビットの二つ目のセルの一部35−2に2分割している。なお、分割の仕方は3ビットずつなど適宜の割合でわけてよい。分割後の宛先ビットマップ44の有効ビットと整理番号45−1、45−2、45−3、45−4の関係は図8に示す通りであり、一つ目のセル35−1では、分割された宛先ビットマップの有効ビットの示す宛先の整理番号を、それぞれ整理番号45−1、45−2、45−3、45−4の位置に記録する。二つ目のセル35−2では、分割された宛先ビットマップの有効ビットの示す宛先の整理番号を、それぞれ整理番号45−1、45−2の位置に記録する。図示はしないが、上述の説明と同様の考え方に基づき、宛先ビットマップ44の有効なビット数が8個を超えれば3分割、12個を超えれば4分割等すればよい。
図9に、パケットとセル、および、セルヘッダに付与する整理番号の関係の例を示す。
この例では、パケット1は3セルで構成され、宛先1行きなので、それぞれのセルヘッダには宛先1用整理番号として0、1、2を整理番号領域1の位置へ記録する。パケット2は6セルで構成され、宛先1と宛先3へのマルチキャストなので、それぞれのセルヘッダには宛先1用整理番号として先ほどの続きの番号3〜8を整理番号領域1の位置へ、また、宛先3用整理番号として0〜5を整理番号領域2の位置へ記録する。
パケット3は3セルで構成され、宛先2行きなので、それぞれのセルヘッダには宛先2用整理番号として0、1、2を整理番号領域1の位置へ記録する。パケット4は5セルで構成され、宛先2と宛先3へのマルチキャストなので、それぞれのセルヘッダには宛先2用整理番号として先ほどの続きの番号3〜7を整理番号領域1の位置へ、また、宛先3用整理番号として6〜10を整理番号領域2の位置へ記録する。パケット5は3セルで構成され、宛先1〜宛先6へのマルチキャストなので、パケットをコピーし、宛先ビットマップを2分割する。例えば、宛先1〜宛先4が有効(宛先5、6は無効)な宛先ビットマップと宛先5、宛先6が有効(宛先1〜4は無効)なビットマップへ2分割する。そして、前者の宛先ビットマップを持つセルに対しては、それぞれのセルヘッダには宛先1用整理番号として9〜11をセルヘッダの整理番号領域1の位置へ、宛先2用整理番号として8〜10を整理番号領域2の位置へ、宛先3用整理番号として11〜13を整理番号領域3の位置へ、宛先4用整理番号として0〜2を整理番号領域4の位置へ記録する。また、後者の宛先ビットマップを持つセルに対しては、それぞれのセルヘッダには宛先5用整理番号として0〜2を整理番号領域1の位置へ、宛先6用整理番号として0〜2を整理番号領域2の位置へ記録する。
分散部100は、複数存在する交換部200のうち送信可能なところへ、必要なセルヘッダを付与したセルを送信する。送信する交換部200の選択については、従来と同様にできる。交換部200は、セルの宛先ビットマップに従い、セルを目的宛先の整列部300へ送信する。
宛先の整列部300には、複数の交換部200からセルが到着する。同一の交換部200から到着するセルは、任意の一つの送信元だけに着目すると順番が揃ったままである。しかし、異なる交換部200の間での任意の一つの送信元に関する順番は保証されないため、整列部300はセル順序を適切に並べ直してからパケットを復元する必要がある。
図10に、本実施の形態における整列部300の構成例を示す。図11、図12は、セルの整列、パケットの復元のフローチャートである。図11および図12のフローチャートと合わせて、セル順序を適切に並べ直してパケットを復元する方法について説明する。
整列部300は、例えば、各交換部200に対応する振分部305と、各送信元の分散部100に対応する複数の整列ブロック310と、出力パケット選択部320を有する。交換部がM個ある場合、振分部はM個存在し、分散部100がN個ある場合、整列ブロック310はN個存在する。整列ブロック310は、その入力に交換部200に対応するFIFO(First In First Out)キュー311と、期待整理番号管理部312と、整理番号比較部313と、整列済みFIFOキュー314とを備える。交換部200がM個である場合、各整列ブロック310にはM個の交換部対応FIFOキュー311が存在する。なお、図10の整列部は、図1の整列部のひとつに対応する。従って、分散型スイッチファブリックは、図10の構成をN個有している。
整列部300はセルを受信(図11のS500)すると、振分部305が、セルをセルヘッダの送信元番号43に基づき分散部100に対応する整列ブロック310へ振り分け、経由してきた交換部200に対応するFIFOキュー311へ記録する(図11のS501)。そして、整理番号比較部313は、宛先ビットマップ44との相関関係から、整列ブロック310毎、M個ある交換部対応FIFOキュー311のうち一つを選び、先頭のセルの整理番号フィールド45−1、2、3、4の整理番号のうち、当該整列部300に対応する整理番号フィールドの整理番号を選んで、期待整理番号312と比較を行う(図11のS502)。
より具体的には、整理番号比較部313は、宛先ビットマップの有効ビット(ビットが1)を参照して、複数の整理番号領域1〜4のうち自整列部に対応するフィールドを求める。例えば、図7の下図に示すように、宛先ビットマップの有効ビットと整理番号領域は対応しており、宛先ビットマップの有効ビットのうち、自整列部に対応するビットが先頭から何番目か(相対的位置関係)が分かれば、整理番号領域(格納位置)を特定できる。整理番号比較部313は、各FIFOキューの先頭セルについて、特定した整理番号領域を参照し、期待整理番号管理部312で管理されている期待整理番号と比較する。なお、期待整理番号312は、例えば、初期値として0が記憶され、一致する整理番号のセルをFIFOキュー311から抽出するたびに、1増加される。また、管理している期待整理番号が最大値(又は予め定めた整理番号の数の値)であった場合は前記の増加によって期待整理番号をゼロ又は初期値とする。
比較結果が不一致であれば、整理番号比較部313は、他の交換部対応FIFOキュー311の先頭セルの検査を行う(図11のS504)。
比較結果が一致であれば、整理番号比較部313は、一致した交換部対応FIFOキュー311の先頭セルを整列済みFIFOキュー314へ移動し、次回の比較のために期待値整理番号312を1増加する(図11のS503)。この操作により、任意の送信元からのセル順番を適切に並べ直すことができる。以上の処理は、各整列ブロック310で実行される。
その後、出力パケット選択部320は、パケットの末尾セルであることを示す末尾記号42を持つセルが存在する整列済みFIFOキュー314のいずれか一つを選び(図12のS510)、先頭記号41を持つセルから末尾記号42を持つセルまでを、選ばれたFIFOキュー314から取り出す(図12のS511)。出力パケット選択部320は、セルヘッダを削除してセルペイロードのみを集めることでパケット(解析情報を含むパケット)を復元し、出力する。復元すべきパケットの正確な末尾位置は、パケット(解析情報を含むパケット20)の中の解析情報11を参照することで特定できる。
尚、セルが整列部300に到着するまでに、何らかの障害が発生して任意のセルが消滅してしまう可能性がある。このような障害が発生した場合でも、セルおよびパケットの整列処理を続行する方法を、図10を参照しながら説明する。
まず、本実施の形態では整列部300の整列ブロック310の整理番号比較部313では、各交換部対応のFIFOキュー311の先頭のセルが期待する整理番号のセルかどうか検査する。もし、障害で期待する整理番号を持つセルが消滅している場合、前述の期待整理番号の検査(S502、S504)が成功しなくなる。そこで、整列ブロック310では、障害検出のために任意の時間を設定しておく。そして、末尾記号42を持たない任意のセルが検査に成功してから次のセル(後続の整理番号を含むセル)が前記の任意の設定時間を経過しても到着しない場合、期待すべき整理番号を持つセルは障害で廃棄されたものとみなす。そして、現在の期待整理番号312のセルはエラーセルであるという情報を整列済みFIFOキュー314へ積む。また、期待整理番号312を1増加させて後続のセルの検査を続ける。
また、ある整列ブロック310の全ての交換部対応FIFOキュー311にセルがあり、尚且つ、それらの先頭のセルが期待整理番号312と異なる値を持っている場合、やはり、現在の期待整理番号312を持つセルが障害で消滅していることがわかる。よって、この場合も、現在の期待整理番号312のセルはエラーセルであるという情報を整列済みFIFOキュー314へ積む。また、期待整理番号312を1増加させて後続のセルの検査を続ける。
エラーセルを受信した整列済みFIFOキュー314は、エラーを含むパケットを出力できる状態にある。そこで、先頭セルからエラーセルまでを、エラーパケットであるという情報と共に出力する。尚、エラーセルを受信した整列済みFIFOキュー314は、その後、先頭記号41を含むセルでない限り、受信するセルを全て廃棄することで、整列部300の出力に誤った状態のパケットを出力することがなくなる。
以上、本実施の形態によるセル分散型スイッチファブリックについて詳細な説明を行った。上述の説明は、実施の一形態に過ぎず、本発明の技術的思想および技術的範囲から離れることなく、様々な変形が可能である。
2.第2の実施の形態
第2の実施の形態では、図1における分散型スイッチファブリックの分散部100が特定の一宛先以外に、指定の宛先パターンに対しても整理番号を管理する。
図13に、第2の実施の形態における、整理番号管理部141の構成図を示す。
第2の実施の形態では、図13に示すように、N個の分散部100の整理番号管理部141は、いずれも特定の一宛先用の整理番号70−1〜70−N以外に、指定の宛先パターン用整理番号71を管理する。例えば、全ての宛先に対して送信を行うブロードキャストを指定宛先パターンとして設定すれば、ブロードキャスト用パケットを送信するセルに対しては、指定宛先パターン用整理番号71を図3のセルヘッダ31の中の整理番号1の位置45−1に付与する。
図14に、第2の実施の形態におけるパケットとセル、および、セルヘッダに付与する整理番号の関係の例を示す。
パケット1からパケット4までは第1の実施の形態と同じルールでセルヘッダに整理番号を付与する。3セルで構成されるパケット5が前述のブロードキャストであるとすれば、指定宛先パターン用整理番号として0、1、2を3個のセルヘッダの整理番号1の位置45−1へそれぞれ付与する。
図20は、第2の実施の形態における整列ブロック310の構成図である。
図20に示すように宛先の整列部300では、整列ブロック310の中で2種類の期待整理番号を管理する期待整理番号管理部312Bと、2種類の整列済みFIFOキュー314Bと、整列ブロック内パケット選択部315とを有する。すなわち、特定の送信元に対して、2フローを管理することになる。この例では、1フローはブロードキャストフロー(フロー0とする。第1のフロー)であり、もう1フローはブロードキャスト以外の当該宛先を含むフロー(フロー1とする。第2のフロー)である。整列部300は、第1の実施の形態と同様にセルを適切な整列ブロック310に振り分けた後、セルヘッダの中の宛先ビットマップ44を参照して、2フローのうちいずれであるかを判別する。整列部300は、判別したフロー用の期待整理番号312Bと、受信セルの整理番号の一致検査を行い、一致したセルを対応するフローの整列済みFIFOキュー314Bへ格納する。そして、パケット末尾までのセルが揃ったいずれか一方の整列済みFIFOキュー314Bを整列ブロック内パケット選択部315で選択し、図10に示すパケット選択部320の選択候補とする。その後のパケット復元処理や障害発生時の処理に関しては第1の実施の形態と同様に行えばよい。なお、分散部100の他の構成、交換部200の構成、整列部300の他の構成は、第1の実施の形態と同様である。
本実施の形態では、宛先となる整列部300では送信元あたり2フローだけを扱えばよい。すなわち、フロー内のセルおよびパケットの整列時に必要とする保持メモリ量を送信元数の2倍に比例する量(送信元数の2倍に応じた量)だけに削減することができ、従来方法より少ないコストで、高い交換容量の分散型スイッチファブリックを構成可能となる。
尚、指定の宛先パターンは、セルヘッダに付与可能な整理番号数を超える数の宛先へのマルチキャストとすることができる。前記指定の宛先パターン場合、第1の実施の形態では、セルを分散部100で2個以上にコピーする必要があったが、第2の実施の形態では、コピーを不要にできる利点を持っている。
以上、本実施の形態によるセル分散型スイッチファブリックについて詳細な説明を行った。本説明は、実施の一形態に過ぎず、本発明の技術的思想および技術的範囲から離れることなく、様々な変形が可能である。
3.第3の実施の形態
本発明による第3の実施の形態では、図1における分散型スイッチファブリックの分散部100が任意の二つの宛先を2ビット表現(ビットが1の場合にセルを送信)し、前記2ビットの組合せとして01、10、11の3種類を該当する2宛先へのフローとして定義し、フロー毎に連続する整理番号を管理する。
図15に、第3の実施の形態の場合のセルヘッダの宛先ビットマップ44と整理番号45の関係の例を示す。
宛先が最大N個であればNを2で割った数の整理番号用フィールド45を用意する。この例では、宛先が最大8個であるため、8を2で割った4個の整理番号用のフィールド45−1、45−2、45−3、45−4を用意している。宛先ビットマップ44はどの2宛先をペアにしても良いが、図15の例では理解を容易にするために、隣り合う2宛先同士をペアにしている。なお、宛先最大個数Nを2で割った値が大きすぎる場合、第1の実施の形態のように、宛先ビットマップ44を適宜分割して整理番号用フィールド45の個数を抑え、分散部100でセルのコピーをするようにしてもよい。
ある宛先に対し、セルを送信する場合、当該宛先を示す宛先ビットマップ44の位置(ビット)が1(有効)になる。すなわち、有効な宛先を示す2ビットの組合せは01、10、11の3種類(3フロー)に限られる。ビットの組み合わせ00はセルを送信しないので、整理番号を管理しなくてもよい。そこで、分散部100は、有効な組合せのみに対して整理番号を管理することができる。総宛先数が8個の例で示すと、宛先1と宛先2を示す宛先ビットマップ部分の組合せ、宛先3と宛先4を示す宛先ビットマップ部分の組合せ、宛先5と宛先6を示す宛先ビットマップ部分の組合せ、宛先7と宛先8を示す宛先ビットマップ部分の組合せ、それぞれによって同時に整理番号管理部141にアクセスする。
図16は、第3の実施の形態における整理番号管理部141の構成例である。
2つの宛先の有効な組合せは上述のように3種類ずつなので、整理番号管理部141は宛先1と2に対して、図16に示すように、ビットの組み合わせ10に対応する宛先1用整理番号71−1、ビットの組み合わせ01に対応する宛先2用整理番号71−2、ビットの組み合わせ11に対応する宛先1かつ宛先2用整理番号71−3のように管理する。指定された宛先の有効な組合せに対応する整理番号をセルの指定の整理番号位置へ付与する。なお、他の宛先の組み合わせについても同様である。
例えば、整理番号管理部141は、入力された宛先ビットマップを2ビットずつに分割し、宛先1及び2(先頭の2ビット)に対して、ビットの組み合わせが10であれば、対応する宛先1用整理番号71−1を読み出し、ビットの組み合わせが01であれば、対応する宛先2用整理番号71−2を読み出し、ビットの組み合わせが11であれば、対応する宛先1及び2用整理番号71−3を読み出す。また、他の2つの宛先に対しても同様に整理番号を読み出す。整理番号管理部141は、読み出した複数の整理番号を整理番号付与部140に出力する。ここで出力される整理番号は、宛先ビットマップの宛先数をNとするとN/2である。
図17に、第3の実施の形態におけるパケットとセル、および、セルヘッダに付与する整理番号の関係の例を示す。
宛先1へのパケット1から生成されるセルに対しては、宛先1用整理番号をセルヘッダの整理番号1の位置45−1に付与する。宛先1と宛先3へのパケット2から生成されるセルに対しては、宛先1用整理番号をセルヘッダの整理番号1の位置45−1に、また、宛先3用整理番号をセルヘッダの整理番号2の位置45−2に付与する。宛先2へのパケット3から生成されるセルに対しては、宛先2用整理番号をセルヘッダの整理番号1の位置45−1に付与する。
宛先2と宛先3へのパケット4から生成されるセルに対しては、宛先2用整理番号をセルヘッダの整理番号1の位置45−1に、また、宛先3用整理番号をセルヘッダの整理番号2の位置45−2に付与する。宛先1から宛先6へのパケット5から生成されるセルに対しては、宛先1かつ宛先2用整理番号をセルヘッダの整理番号1の位置45−1に、また、宛先3かつ宛先4用整理番号をセルヘッダの整理番号2の位置45−2に、また、宛先5かつ宛先6用整理番号をセルヘッダの整理番号3の位置45−3に、それぞれ付与する。
宛先の整列部300では、整列ブロック310の中で2種類の期待整理番号312と2種類の整列済みFIFOキュー314を管理する。すなわち、特定の送信元に対して、2フローを管理することになる。この例では、1フローは自宛先とペアになる1宛先が有効であるフローであり、もう1フローは自宛先とペアになる1宛先が無効であるフローである。言い換えると、例えば、2ビット表現で左(又は右)のビットを自宛先とした場合、前者は11となるフロー、後者は10(又は01)となるフローである。整列部300は、第1の実施の形態と同様にセルを適切な整列ブロック310に振り分けた後、セルヘッダの中の宛先ビットマップ44を参照して、上記2フローのうちいずれであるかを判別する。例えば、自宛先に対応するビットが予め定められており、2ビット表現の組み合わせとなるビットが自ビットの前か後かが予め定められている。例えば、先頭から2ビットずつ区切っていくことにより、自ビットを含む2ビットを判別できる。該当するフロー用の期待整理番号312と一致検査を行い、一致したセルを対応する整列済みFIFOキュー314へ格納する。その後のパケット復元処理や障害発生時の処理に関しては第1の実施の形態と同様に行えばよい。分散部100の他の構成、交換部200の構成、整列部300の他の構成は上述の第2の実施の形態と同様である。
この実施の形態では、第2の実施の形態と同様、宛先となる整列部300では送信元あたり2フローだけを扱えばよい。すなわち、フロー内のセルおよびパケットの整列時に必要とする保持メモリ量を送信元数の2倍に比例する量(送信元数の2倍に応じた量)だけに削減することができ、従来方法より少ないコストで、高い交換容量の分散型スイッチファブリックを構成可能となる。
また、第3の実施の形態は、第1の実施の形態や第2の実施の形態とは異なり、マルチキャストの宛先数が図3のセルヘッダが持つ整理番号フィールド45の個数を超えた場合でも、分散部100でのセルコピーを無くすことができる場合がある。例えば、総宛先数が16である場合、図3の整理番号フィールド45を8個(総宛先数を2で割った値)備えれば、あらゆるマルチキャストでも分散部100でセルのコピーが一切発生しない。同じ条件でも、第1の実施の形態では、総宛先数が8を越えると分散部100でセルを2個にコピーする必要がある。また、第2の実施の形態では指定の宛先パターンの場合はコピー不要であるが、それ以外で総宛先数が8を越えると分散部100でセルを2個にコピーする必要がある。
以上、本実施の形態によるセル分散型スイッチファブリックについて詳細な説明を行った。本説明は、実施の一形態に過ぎず、本発明の技術的思想および技術的範囲から離れることなく、様々な変形が可能である。
4.第4の実施の形態
第4の実施の形態では、図1における分散型スイッチファブリックの分散部100と整列部300が複数の回線を収容する。
図18は、本実施の形態のスイッチファブリックの構成図である。
例えば、各分散部100および各整列部300がともに16個(N個)あり、いずれも4回線(i回線)を収容する場合、図18に示すようなスイッチファブリックとなる。ここで、N、iはそれぞれ、2以上の整数である。なお、分散部と整列部は同数でなくてもよく、例えば、分散部100はM個あり、j回線(j個の入力ポート)を収容するものでもよい。ここで、M、jはそれぞれ、2以上の整数である。
この場合、図19に示す分散部100において、パケット受信部110が1回線入力ではなく、4回線入力となる。また、図10に示す整列部300において、出力パケット選択部320が1回線出力ではなく、4回線出力となる。
任意の分散部100から見ると、スイッチファブリックとして総出力ポート数は16x4=64となる。この場合、図2のパケット20が持つ解析情報11において64ビット(N×iビット)の宛先ビットマップ54を保持する。この64ビットの宛先ビットマップ54では、連続する4ビットによって特定の宛先となる整列部300を選択できる。例えば、宛先ビットマップを先頭から整列部1のポート1〜4、整列部2のポート1〜4、、、に対応するよう定めれば、先頭の4ビットは整列部1宛、次の4ビットは整列部2宛に対応する。
そこで、分散部100は、64ビットの宛先ビットマップ(第1の宛先ビットマップ)54において連続する4ビットに対し論理和をとった値を1ビットに変換し、16ビットのセルヘッダ用の宛先ビットマップ44を生成し、16ビットの宛先ビットマップ(第2の宛先ビットマップ)44をセルヘッダとして付加して交換部200でのスイッチングに利用する。
例えば、パケット受信部110が、入力されたパケットの64ビットの宛先ビットマップを4ビットずつに区切り、区切られた4ビットに対し論理和をとって1ビットに変換し、変換された1ビットを並べた16ビットの宛先ビットマップを作成する。パケット受信部110は、作成した16ビットの宛先ビットマップに従い、上述の第1の実施の形態と同様に、宛先(ここでは整列部及びマルチキャストに対応)に対応するVOQ120にパケットを格納する。このとき、作成された16ビットの宛先ビットマップをパケットに付与してもよい。
なお、パケット受信部110は、VOQを宛先(ここでは整列部の各ポート及びマルチキャストに対応)毎に備え、64ビットの宛先ビットマップに従い、パケットをVOQ120に格納してもよい。この場合、16ビットの宛先ビットマップの作成は、セル生成部130で行ってもよい。
セル生成部130は、作成された16ビットの宛先ビットマップを含むセルヘッダを用いて、パケットからセルを作成する。整理番号付与部140は、16ビットの宛先ビットマップに従い、上述の第1の実施の形態と同様に整理番号を付与し、セル振分部150はセルを交換部200に振り分ける。
目的の宛先の整列部300では、到着したセル群を上述の第1の実施の形態と同様に整列してパケット20を復元する。復元後、例えば出力パケット選択部320が、復元されたパケット20内の解析情報11として含まれる64ビットの宛先ビットマップ54の中の当該整列部300を示す4ビットの情報を参照し、4つある出力ポートのうち、目的となるひとつ又は複数の宛先ポートへパケットを送信する。
以上、本実施の形態によるセル分散型スイッチファブリックについて詳細な説明を行った。本説明は、実施の一形態に過ぎず、本発明の技術的思想および技術的範囲から離れることなく、様々な変形が可能である。なお、本実施の形態は、上述の第1の実施の形態と組み合わせる以外にも、第2、第3の実施の形態と組み合わせることもできる。
本発明によるセル分散型スイッチファブリックは、例えば、大容量回線を利用したデータ交換が必要なシステムで利用することができる。例えば、ルータやスイッチに代表されるネットワーク装置内のスイッチファブリックや、サーバやストレージ機器の装置内のスイッチファブリック等での利用が考えられる。
本実施の形態の分散型スイッチファブリックの一実施形態を示すブロック図。 可変長パケットから固定長セルを生成する様子を示す模式図。 本実施の形態におけるセルヘッダの構成例。 本実施の形態における整理番号を得る方法を示す模式図。 従来例におけるセルヘッダの構成例。 従来例における宛先ビットマップから整理番号を得る方法を示す模式図。 本実施の形態における宛先ビットマップと整理番号の関係を示す模式図。 本実施の形態における宛先ビットマップと整理番号の関係を示す模式図。 本実施の形態におけるパケットとセルと整理番号の関係を示す模式図。 本実施の形態における整列部のブロック図。 本実施の形態におけるセル整列方法を示すフローチャート。 本実施の形態におけるパケット復元方法を示すフローチャート。 本実施の形態における整理番号を得る方法を示す模式図。 本実施の形態における図12に対応するパケットとセルと整理番号の関係を示す模式図。 本実施の形態における宛先ビットマップと整理番号の関係を示す模式図。 本実施の形態における図14に対応する整理番号を得る方法を示す模式図。 本実施の形態における図14に対応するパケットとセルと整理番号の関係を示す模式図。 本実施の形態における入出力ポート数を増やした場合の分散型スイッチファブリックの一実施形態を示すブロック図。 本実施の形態における分散部のブロック図。 本実施の形態における分散部あたり2フロー用の整列部のブロック図。
符号の説明
100:分散部
200:交換部
300:整列部
10:パケット
11:解析情報
20:解析情報を含むパケット
30:セル
31:セルヘッダ
32:セルペイロード
44:宛先ビットマップ
45:整理番号110 パケット受信部
120 VOQ
130 セル生成部
140 整理番号付与部
141 整理番号管理部
150 セル振分部
305 振分部
310 整列ブロック
320 出力パケット選択部
311 FIFOキュー
312 期待整理番号管理部
313 整理番号比較部
314 整列済みFIFOキュー
315 整列ブロック内パケット選択部

Claims (11)

  1. スイッチファブリックの入力にあたる複数の分散部と、
    スイッチファブリックの出力にあたる複数の整列部と、
    それぞれが非同期に、前記分散部から前記整列部へのデータ交換を行う複数の交換部と
    を備え、
    前記分散部は、
    入力される可変長のパケットを固定長のセルに分割し、パケット先頭セルには先頭記号を付与し、パケット末尾セルには末尾記号を付与し、全セルに対して自分散部を示す送信元識別子と宛先となるひとつ又は複数の整列部を示す宛先情報とを付与する機構と、
    セルからパケットを復元するためのセルの順番を示す整理番号を、宛先となる整列部毎に管理する機構と、
    宛先情報に基づき前記管理する機構を参照して、宛先に対応するひとつ又は複数の前記整理番号をセルに付与する機構と、
    複数の前記交換部へセルを振り分けて出力する機構と
    を有し、
    前記整列部は、
    複数の前記交換部を介して受信したセルの送信元識別子に従い、送信元の分散部毎に受信セルを分類する機構と、
    分散部毎に分類されたセルに対して、該セルに付与された自宛先に対応する整理番号に従い、前記セルを整列する機構と、
    整列されたセルを順に格納する分散部毎の整列済みキューと、
    前記整列済みキューのうち、末尾記号が付与されたパケット末尾セルまで格納している前記整列済みキューを選び、先頭記号が付与されたパケット先頭セルから前記パケット末尾セルまでを取り出してパケットを復元し、出力する機構と
    を有し、
    前記分散部の前記管理する機構は、
    複数の宛先を含む宛先情報が予め指定したパターンのパケットについて、該パケットを復元するためのセルの順序を示す指定パターン用の整理番号をさらに管理し、
    前記分散部の前記整理番号をセルに付与する機構は、
    入力したパケットの宛先情報が予め指定したパターンである場合は、前記管理する機構を参照し、前記指定パターン用の整理番号をセルに付与し、
    前記整列部では、宛先が指定パターンの場合の整理番号の期待値と宛先が指定パターンでない場合の整理番号の期待値とを別々に管理し、宛先が指定パターンか否かにより別々に、セルに付与された整理番号に従いセルを整列する分散型スイッチファブリック。
  2. スイッチファブリックの入力にあたる複数の分散部と、
    スイッチファブリックの出力にあたる複数の整列部と、
    それぞれが非同期に、前記分散部から前記整列部へのデータ交換を行う複数の交換部と、
    を備え、
    前記分散部は、
    入力される可変長のパケットを固定長のセルに分割し、パケット先頭セルには先頭記号を付与し、パケット末尾セルには末尾記号を付与し、全セルに対して自分散部を示す送信元識別子と宛先となるひとつ又は複数の整列部を示す宛先情報とを付与する機構と、
    各ビットが前記整列部に対応し、ビットの値が1の前記整列部へセルを送信し及びビットの値が0の前記整列部へはセルを送信しないための宛先ビットマップに対し、予め定められたふたつの宛先に対応する2ビットずつを組み合わせ、該2ビットの組合せパターンのうち01、10、11の3種類の組合せパターンが該ふたつの宛先へのフローとして予め定義され、該ふたつの宛先の組み合わせ毎に、該3種類のフローに対応したセルの順番を示す整理番号を管理する機構と、
    宛先ビットマップの予め定められたふたつの宛先に対応する2ビットずつを組み合わせ、前記整理番号を管理する機構を参照して、該ふたつの宛先の組み合わせと、該2ビットの組合せパターンで定義されるフローに対応するひとつ又は複数の前記整理番号をセルに付与する機構と、
    複数の前記交換部へセルを振り分けて出力する機構と
    を有し、
    前記整列部は、
    複数の前記交換部を介して受信したセルの送信元識別子に従い、送信元の分散部毎に受信セルを分類する機構と、
    宛先ビットマップを参照して、自整列部に対応するビットを含む予め定められた2ビットの組み合わせに基づき、組合せパターンが01又は10である第1のフローか、組合せパターンが11である第2のフローかを判別し、第1及び第2のフロー毎に、セルに付与された整理番号に従いセルを整列する機構と、
    整列されたセルを順に格納する分散部毎及びフロー毎の整列済みキューと、
    前記整列済みキューのうち、パケット末尾セルまで格納している前記整列済みキューを選び、パケット先頭セルからパケット末尾セルまでを取り出してパケットを復元し、出力する機構と
    を有する分散型スイッチファブリック。
  3. 請求項1または請求項2の分散型スイッチファブリックにおいて、
    分割されたセルに、前記整理番号が複数付与されることを特徴とする分散型スイッチファブリック。
  4. 請求項1または請求項2の分散型スイッチファブリックにおいて、
    ひとつのセルに付与可能な整理番号の個数が予め定められており、
    マルチキャストパケットで宛先の数が前記付与可能な整理番号の個数を超える場合、前記分散部は、ひとつのセルの宛先の数が、前記付与可能な整理番号の個数以下となるように宛先情報を分割し、セルを宛先情報の分割数分コピーし、コピー後の各セルには、分割された宛先情報と、分割後の各宛先に対応する整理番号とを付与することを特徴とする分散型スイッチファブリック。
  5. 請求項1または請求項2の分散型スイッチファブリックにおいて、
    前記分散部で分割されたセルを宛先の前記整列部へ送信する途中で、該宛先が輻輳して送信できなくなった場合、前記分散部は、同宛先を含まない他の宛先へのパケットをセルに分割して送信を開始することを特徴とする分散型スイッチファブリック。
  6. 請求項の分散型スイッチファブリックにおいて、
    前記整列部において任意の前記分散部から期待整理番号を含むパケット末尾以外のセルが到着後、同一の前記分散部から、予め定められた期間が経過しても期待する後続の整理番号を含むセルが到着しない場合、又は、同一の前記分散部について全ての前記交換部から期待する後続の整理番号以外のセルが到着した場合、前記の期待する後続の整理番号を無視して期待整理番号を増加させ、最大値に達したらゼロ又は初期値に戻し、無視された整理番号のセルの抜けたパケットはエラーパケットとして処理することを特徴とする分散型スイッチファブリック。
  7. 請求項の分散型スイッチファブリックにおいて、前記整列する機構は、
    セルを格納する分散部毎かつ交換部毎に対応して備えるキューと、
    予め初期値が設定され、セルを整理番号に従い整列するための、第1のフロー用の期待整理番号と、第2のフロー用の期待整理番号とを管理する期待整理番号管理部と、
    各キューに格納されたセルの宛先情報が予め指定したパターンか判別し、(a)該パターンの場合、セルに含まれる整理番号と前記期待整理番号管理部の第1のフロー用の期待整理番号とを比較し、一致するセルを前記キューから取り出して第1のフロー用の前記整列済みキューに格納し、前記期待整理番号管理部の第1のフロー用の期待整理番号を増加させ、最大値に達したらゼロ又は初期値に戻し、(b)該パターンでない場合、セルに含まれる整理番号と、前記期待整理番号管理部の第2のフロー用の期待整理番号とを比較し、一致するセルを前記キューから取り出して第2のフロー用の前記整列済みキューに格納し、前記期待整理番号管理部の第2のフロー用の期待整理番号を増加させ、最大値に達したらゼロ又は初期値に戻す比較部と
    を有する分散型スイッチファブリック。
  8. 請求項2の分散型スイッチファブリックにおいて、前記整列する機構は、
    セルを格納する分散部毎かつ交換部毎に対応して備えるキューと、
    予め初期値が設定され、セルを整理番号に従い整列するための、第1のフロー用の期待整理番号と、第2のフロー用の期待整理番号とを管理する期待整理番号管理部と、
    各キューに格納されたセルの宛先ビットマップを参照して、自整列部に対応するビットを含む予め定められた2ビットの組み合わせに基づき、前記第1のフローか又は前記第2のフローかを判別し、(a)第1のフローの場合、セルに含まれる整理番号と前記期待整理番号管理部の第1のフロー用の期待整理番号とを比較し、一致するセルを前記キューから取り出して第1のフロー用の前記整列済みキューに格納し、前記期待整理番号管理部の第1のフロー用の期待整理番号を増加させ、最大値に達したらゼロ又は初期値に戻し、(b)第2のフローの場合、セルに含まれる整理番号と前記期待整理番号管理部の第2のフロー用の期待整理番号とを比較し、一致するセルを前記キューから取り出して第2のフロー用の前記整列済みキューに格納し、前記期待整理番号管理部の第2のフロー用の期待整理番号を増加させ、最大値に達したらゼロ又は初期値に戻す比較部と
    を有する分散型スイッチファブリック。
  9. 請求項または請求項の分散型スイッチファブリックにおいて、
    各交換部は、同一の前記分散部からのセルの順番を維持したまま、セル単位で宛先毎出力調停する機構を有し、
    前記整列部の前記比較部は、前記交換部毎のキューの先頭セルについて、該先頭セルの整理番号と、前記期待整理番号管理部の第1又は第2のフロー用の期待整理番号とを比較することを特徴とする分散型スイッチファブリック。
  10. 請求項の分散型スイッチファブリックにおいて、
    M個(Mは2以上の整数)の前記分散部はそれぞれ、j個(jは2以上の整数)の入力ポートを有し、
    N個(Nは2以上の整数)の前記整列部はそれぞれ、i個(iは2以上の整数)の出力ポートを有し、
    前記分散部は、宛先となる前記整列部及び前記出力ポートを示す、N×iビットの第1の宛先ビットマップを含むパケットを入力し、該第1の宛先ビットマップに対し、前記整列部に対応するiビット毎の論理和をとって、Nビットの第2の宛先ビットマップを作成し、分割されたセルに第2の宛先ビットマップを付与して前記交換部へ出力し、
    前記交換部は、第2の宛先ビットマップに従いセルを前記整列部に送信し、
    前記整列部は、受信したセルを整列してパケットを復元し、復元されたパケットに含まれるN×iビットの第1の宛先ビットマップを参照して、自整列部のi個の前記出力ポートのうち出力先をひとつ又は複数決定して、復元されたパケットを出力することを特徴とする分散型スイッチファブリック。
  11. それぞれが非同期にデータ交換を行う複数の交換部を有する分散型スイッチファブリックにおいて、
    スイッチファブリックの入力にあたる分散部は、
    可変長のパケットを固定長のセルに分割し、セルに分散部の識別子と宛先の整列部を示す宛先ビットマップを付与する機構と、
    各ビットが整列部に対応し、ビットが1の整列部にセルを送信するための宛先ビットマップに対して、任意のふたつの宛先を2ビット表現し、前記2ビットの組合せとして01、10、11の3種類を該当する2宛先へのフローとして定義し、フロー毎にセルの順番を示す整理番号を管理する機構と、
    前記宛先に対応する前記整理番号を指定の範囲内で複数個付与する機構と、
    前記交換部へセルを出力する機構と
    を備え、
    スイッチファブリックの各交換部は、同一送信元のセル群の間の送信順番を維持したまま、セル単位で宛先毎出力調停する機構を備え、
    スイッチファブリックの各交換部を経由したセルを受信した整列部において、整理番号に従いセルを整列することを特徴とする分散型スイッチファブリック。
JP2007301134A 2007-11-21 2007-11-21 分散型スイッチファブリック Active JP4958745B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007301134A JP4958745B2 (ja) 2007-11-21 2007-11-21 分散型スイッチファブリック
US12/273,579 US7907606B2 (en) 2007-11-21 2008-11-19 Multi-plane cell switch fabric system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007301134A JP4958745B2 (ja) 2007-11-21 2007-11-21 分散型スイッチファブリック

Publications (2)

Publication Number Publication Date
JP2009130481A JP2009130481A (ja) 2009-06-11
JP4958745B2 true JP4958745B2 (ja) 2012-06-20

Family

ID=40641901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007301134A Active JP4958745B2 (ja) 2007-11-21 2007-11-21 分散型スイッチファブリック

Country Status (2)

Country Link
US (1) US7907606B2 (ja)
JP (1) JP4958745B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2955992B1 (fr) * 2010-01-29 2012-04-20 Inst Nat Rech Inf Automat Dispositif de commutation ou de routage modulable
KR20120140076A (ko) * 2011-06-20 2012-12-28 한국전자통신연구원 대용량 스위치를 위한 고확장성의 멀티캐스팅 패킷 포워딩 장치 및 방법
CN102281192B (zh) * 2011-07-19 2017-09-29 中兴通讯股份有限公司 交换网络芯片的信元处理方法及装置
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9773352B2 (en) * 2013-11-19 2017-09-26 Komatsu Ltd. Work machine and work machine management system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3866425B2 (ja) * 1998-11-12 2007-01-10 株式会社日立コミュニケーションテクノロジー パケットスイッチ
JP2000295279A (ja) * 1999-04-02 2000-10-20 Nec Corp パケットスイッチ
JP3250546B2 (ja) * 1999-06-07 2002-01-28 日本電気株式会社 パケット交換装置及びそれに用いるマルチキャスト制御方法並びにその制御プログラムを記録した記録媒体
US7095744B2 (en) 2000-11-22 2006-08-22 Dune Networks Method and system for switching variable sized packets
US6832261B1 (en) * 2001-02-04 2004-12-14 Cisco Technology, Inc. Method and apparatus for distributed resequencing and reassembly of subdivided packets
US7400629B2 (en) * 2002-12-19 2008-07-15 International Business Machines Corporation CAM based system and method for re-sequencing data packets
US8995445B2 (en) * 2002-12-19 2015-03-31 International Business Machines Corporation System and method for re-sequencing data packets on a per-flow basis
US7688816B2 (en) * 2004-03-15 2010-03-30 Jinsoo Park Maintaining packet sequence using cell flow control
JP4967286B2 (ja) * 2005-09-15 2012-07-04 富士通株式会社 伝送装置およびフレーム転送方法
US8553684B2 (en) * 2006-04-24 2013-10-08 Broadcom Corporation Network switching system having variable headers and addresses
JP2008092485A (ja) 2006-10-05 2008-04-17 Hitachi Ltd 分散型スイッチシステムのパケット再整列器およびパケット再整列方法
JP5034491B2 (ja) * 2006-12-27 2012-09-26 株式会社日立製作所 スイッチにおける優先度帯域制御方法

Also Published As

Publication number Publication date
JP2009130481A (ja) 2009-06-11
US7907606B2 (en) 2011-03-15
US20090129393A1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
JP4867778B2 (ja) 分散型スイッチファブリックシステム
JP5863076B2 (ja) パケットを再構築し再順序付けするための方法、装置、およびシステム
TWI527409B (zh) 網路處理器單元及其相關方法
JP4679522B2 (ja) エラー訂正を利用した高度並列スイッチング・システム
US7145873B2 (en) Switching arrangement and method with separated output buffers
US9300597B2 (en) Statistics module for network processors in virtual local area networks
US20070153796A1 (en) Packet processing utilizing cached metadata to support forwarding and non-forwarding operations on parallel paths
US6944170B2 (en) Switching arrangement and method
US20070115958A1 (en) Two-dimensional pipelined scheduling technique
US7039770B1 (en) Low latency request dispatcher
US8949578B2 (en) Sharing of internal pipeline resources of a network processor with external devices
US20040141504A1 (en) Method and system for resequencing data packets switched through a parallel packet switch
US9172660B2 (en) Switch fabric with collector-based cell reordering
JP4958745B2 (ja) 分散型スイッチファブリック
US8116305B2 (en) Multi-plane cell switch fabric system
US20060256793A1 (en) Efficient multi-bank buffer management scheme for non-aligned data
García et al. Dynamic evolution of congestion trees: Analysis and impact on switch architecture
US10491543B1 (en) Shared memory switch fabric system and method
US7675930B2 (en) Chip circuit for combined and data compressed FIFO arbitration for a non-blocking switch
Mora et al. Towards an efficient switch architecture for high-radix switches
US7609693B2 (en) Multicast packet queuing
US7394822B2 (en) Using reassembly queue sets for packet reassembly
Mora et al. RECN-IQ: A cost-effective input-queued switch architecture with congestion management
US7242691B2 (en) Optimal load balancing across multiple switching fabrics
Kannan et al. MSXmin: a modular multicast ATM packet switch with low delay and hardware complexity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111227

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120319

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

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4958745

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250