セル処理装置、セルのスイッチ処理方法
【課題】マルチキャストセルの処理の際にスループットの低下を抑えるセル処理技術を提供すること。
【解決手段】宛先に対応する複数のキューと、受信したセルを宛先数コピーして、対応する宛先のキューに格納する格納手段と、前記宛先に対応する複数のキューに格納されたセルを、予め定められたキューの読み出し順序に従って、前記キューからセルを読み出す読出制御手段とを有する複数の中間段バッファと、予め定められた中間段バッファへの出力の切替順序に従って、受信したセルを前記中間段バッファに出力する切替処理を行う第1のスイッチ処理手段と、前記中間段バッファと宛先に対応づけられた出力インタフェースとの入出力の切替順序が予め定められ、この切替順序に従って、前記読出制御手段によって読み出されたセルを入力して前記出力インタフェースに出力する第2のスイッチ処理手段とを有することを特徴とする。
【解決手段】宛先に対応する複数のキューと、受信したセルを宛先数コピーして、対応する宛先のキューに格納する格納手段と、前記宛先に対応する複数のキューに格納されたセルを、予め定められたキューの読み出し順序に従って、前記キューからセルを読み出す読出制御手段とを有する複数の中間段バッファと、予め定められた中間段バッファへの出力の切替順序に従って、受信したセルを前記中間段バッファに出力する切替処理を行う第1のスイッチ処理手段と、前記中間段バッファと宛先に対応づけられた出力インタフェースとの入出力の切替順序が予め定められ、この切替順序に従って、前記読出制御手段によって読み出されたセルを入力して前記出力インタフェースに出力する第2のスイッチ処理手段とを有することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はセル処理技術に関し、特に、マルチキャストセルの処理の際にスループットの低下を抑えるセル処理技術に関する。
【背景技術】
【0002】
ネットワークを行き交うデータの通信量が年々増大するなか、ネットワークスイッチに対しては、より高速で大容量の処理が求められている。
【0003】
ルータ等に代表される従来の固定長セル(可変長パケットを固定長セル化したものを含む)スイッチとして、クロスバスイッチの各入力ポートにバッファを設け、各入力ポートからのデータの出力調整を行うスケジューラを配備した入力バッファ型スイッチがある。
【0004】
この入力バッファ型スイッチとしては、例えば、図8、図9の構成例で示されるものがある。図8は、ユニキャストセルを処理する場合における従来のスイッチの構成例であり、入力ポート1からセルA、入力ポート2からセルB、入力ポートNからセルCが入力され、それぞれ出力ポート1,2,3に出力される場合の例が示されている。また、図9は、マルチキャストセルを処理する場合における従来のスイッチの構成例である。図9には、入力ポート1から入力されたセルAが全出力ポートからマルチキャスト出力される場合の例が示される。
【0005】
まず、このような従来の入力バッファ型スイッチにおけるユニキャスト処理について図8を用いて説明する。
【0006】
各入力インタフェースに入力されたセルはVOQ[Virtual Output Queue](仮想出力キュー)の該当宛先キューに格納される。各入力ポートは、スケジューラ1に対し、セル送出のrequest信号としてセルの宛先を通知する。スケジューラ1では、request信号に基づいて、複数の入力ポートから同一宛先のセルが送出されないように調停処理を行い、各入力ポートに対してどこの宛先に対するセル送出を許可するかを示すgrant信号を送出する。grant信号を受けた各入力ポートでは、該当する宛先のセルを出力する。スケジューラ1では各入力grantを出力すると同時にクロスバスイッチに対して設定を行い、これにより各入力ポートから送出されたセルは所定の出力ポートに到着することになる。
【0007】
続いて、入力バッファ型スイッチにおけるマルチキャスト処理の例について図9を用いて説明する。
【0008】
入力ポート1に入力されたセルAは、入力ポート1側にて宛先数分(本例の場合はN個)コピーされてVOQの各キューに格納される。このとき、VOQの各キューに格納されたセルの送出要求をするためのrequest信号がスケジューラ2に送出される。すなわち、1つの宛先につき1つのrequest信号が送出されるので、複数のrequest信号がスケジューラ2に対し送出されることになる。
【0009】
スケジューラ2では、各入力ポートから同一宛先のセルが送出されないように調整処理を行い、各入力に対してどこの宛先に対するセル送出を許可するかを示すgrant信号を送出する。grant信号を受けた各入力ポートでは該当する宛先のセルを出力する。
【0010】
このような従来のマルチキャスト処理の場合、宛先数が増えると、入力ポートに負荷が集中し、装置全体のスループットが低下するという問題点があった。このスループットの低下を抑える為には、ポート側で広帯域を確保しなければならなかった。例えば、マルチキャストの宛先数をM個とした場合、入力ポート側にてセルコピーをM回行うため、入力ポート側のVOQに入力レートのM倍のセルが蓄積されることになる。しかしながら、転送路幅(ポートの帯域幅)は変わらないので、このままでは転送路がボトルネックとなりスループットの低下を招いてしまう。このときスループットの低下を抑えるためには、クロスバスイッチの各ポートの帯域を入力レートのM倍確保する必要があるが、大容量ポートの収容はコスト的にも設置スペースの面からも実現は困難であった。
【0011】
上述した問題点を解消すべく、図10の入力型バッファスイッチに示されるように、マルチキャストセル用のキューを別途設けてマルチキャスト処理をおこなう手法がみられた。図10には、入力ポート1から入力されたセルAが、全出力ポートに対してマルチキャストされる場合が示されている。
【0012】
図10の構成例に示す入力型バッファスイッチでは、各入力ポートに、VOQとは別にマルチキャストセル用のマルチキャストキューが設けられ、このマルチキャストキューにマルチキャストセルが格納される。ここでは、マルチキャストセルのスケジューラ3へのrequest信号は、1つのrequest信号にマルチキャスト先の全宛先情報(本例の場合は全出力ポートが宛先)が搭載される形態となる。そして、スケジューラ3では、マルチキャスト先となる複数の宛先に同時にセルAを出力できるようにスケジューリングを行う。
【0013】
このように、図10の構成例に示す入力型バッファスイッチの場合、スケジューラによる調整処理により、セルAが出力されるタイミングでは他のポートからはセル出力は行われないよう制御される(すなわち、grant信号は他の入力ポートへは行かない)。そして、クロスバスイッチでは、入力ポート1が全出力ポート側で選択され、全出力ポートからセルAが送出されることになる。この場合は、前述したようなポートの帯域がボトルネックになるという問題は改善される。
【0014】
しかしながら、図10に示すようなマルチキャストキューを設けたマルチキャスト処理方式においても依然として問題点があった。その問題点とは、多ポート化するとスケジューラの処理負荷が高まるという問題である。すなわち、ポート数を増やし宛先数が増えると、同時に複数の出力ポートを予約する処理が必要になりスケジューラの処理負荷が高まるため、スループットの低下につながってしまう。
【0015】
上述の如く、従来の入力バッファ型スイッチにおけるマルチキャスト処理では、セル入力側にてセルコピーするために生じるスループットの低下やスケジューラ処理の複雑化などの問題があり、多ポート収容化、大容量ポート収容化が困難であった。
【0016】
こうした中、最近では、多ポート化した際のスループットの低下を抑える他の手法も提案されてきている。
【0017】
例えば、特許文献1では、マルチキャストパケットを複数のクロスバスイッチへ振り分けることで、クロスバスイッチ数の増加とともにパケットの転送帯域を増加させるクロスポイント型スイッチが提案されている。
【特許文献1】特開2005−45626
【発明の開示】
【発明が解決しようとする課題】
【0018】
特許文献1の発明では、複数のクロスバスイッチが設けられ、セル入力側から独立したクロスバスイッチ部でセルをコピーすることで、セル入力側でのコピー処理の負荷を軽減させている。
【0019】
しかしながら、特許文献1の発明では、収容するポート数が多くなるにつれ、処理内容や回路構成が複雑化するという別の問題点があった。特許文献1の発明では、クロスバスイッチ部内、または、入出力制御部とクロスバスイッチ部との間に亘ってセルを入出力制御する際、複雑なスケジュール処理・振分け処理が必要であった。具体的には、特許文献1の発明では、クロスバスイッチ内、及び、入出力制御部間に亘ってセルを振り分ける際、キューを入出力制御するためのスケジューラ(ラウンドロビン回路)を設ける手法がとられ、このスケジューラは、入力制御部、クロスバスイッチ部、出力制御部のそれぞれに設けなければならなかった。このため、多ポート化するにつれて回路が複雑化し、製造コストも嵩むといった問題点があった。
【0020】
従って、本発明が解決しようとする課題は、マルチキャストセルの処理の際にスループットの低下を抑えるセル処理技術を提供することである。
【0021】
さらに、本発明が解決しようとする課題は、装置構成を簡素化してセル処理をおこなうセル処理技術を提供することでもある。
【課題を解決するための手段】
【0022】
上記課題を解決する本発明は、セル処理装置であって、宛先に対応する複数のキューと、受信したセルを宛先数コピーして、対応する宛先のキューに格納する格納手段と、前記宛先に対応する複数のキューに格納されたセルを、予め定められたキューの読み出し順序に従って、前記キューからセルを読み出す読出制御手段とを有する複数の中間段バッファと、予め定められた中間段バッファへの出力の切替順序に従って、受信したセルを前記中間段バッファに出力する切替処理を行う第1のスイッチ処理手段と、前記中間段バッファと宛先に対応づけられた出力インタフェースとの入出力の切替順序が予め定められ、この切替順序に従って、前記読出制御手段によって読み出されたセルを入力して前記出力インタフェースに出力する第2のスイッチ処理手段とを有することを特徴とする。
【0023】
また、上記課題を解決する本発明は、セルのスイッチ処理方法であって、宛先に対応する複数のキューを設けた複数の中間段バッファと、前記複数の中間段バッファにセルを出力する第1のスイッチ処理手段と、前記複数の中間段バッファから読み出されたセルを、宛先に対応づけられた出力インタフェースに出力する第2のスイッチ処理手段とを備えたスイッチ処理装置におけるセルのスイッチ処理方法であって、前記第1のスイッチ処理手段は、予め定められた中間段バッファへの出力の切替順序に従って、受信したセルを前記中間段バッファに出力し、前記中間段バッファは、受信したセルを宛先数コピーして対応する宛先のキューに格納し、前記宛先に対応する複数のキューに格納されたセルを、予め定められたキューの読み出し順序に従ってセルを読み出し、前記第2のスイッチ処理手段は、予め定められた前記中間段バッファと前記出力インタフェースとの入出力の切替順序に従って、前記中間段バッファから読み出されたセルを入力して前記出力インタフェースに出力することを特徴とする。
【発明の効果】
【0024】
本発明によれば、スループットの低下を抑えるセル処理技術を提供することができる。
【0025】
その理由は、本発明のセル処理装置は、入出力インタフェース部の間にスイッチを介して複数の中間段バッファを設け、マルチキャスト処理の際には、セルのコピー処理をこの中間段バッファで行う。すなわち、コピー処理は、中間段バッファの閉じた構成部内で行われ、異なるインタフェース間に亘ってセルのコピー処理が行われないので、セルの転送路の帯域がコピー処理による増分のセルによって圧迫されず転送遅延の発生を抑えることができるからである。
【0026】
さらに、本発明によれば、簡便な装置構成でスループットの低下を抑えるセル処理技術を提供することができる。
【0027】
その理由は、本発明のセル処理装置は、予め定められた切替順序に従って中間段バッファの入出力切替処理を行うスイッチを介してセルの処理をおこなうので、スケジューラを設けて複雑な振分け処理をする必要がなく、その装置構成を簡素化できるからである。
【発明を実施するための最良の形態】
【0028】
<構成の説明>
【0029】
本発明の第1の実施の形態について図を用いて説明する。
【0030】
図1は全体のブロック図である。図1に示されるように、本発明のセル処理装置は、N個の入力インタフェースからなる入力インタフェース部Aと、N個の中間段バッファからなる中間段バッファ部Bと、N個の出力インタフェースからなる出力インタフェース部Cとから構成される。
【0031】
ここで、入力インタフェース部Aを構成する各入力インタフェースの内部構成は図2に、また、中間段バッファ部Bを構成する中間段バッファの内部構成は図3に、出力インタフェース部Cを構成する出力インタフェースの内部構成は図4に示される。これら内部構成について詳述する前に、まずは全体の構成について図1を用いて説明する。
【0032】
尚、ここでは、各ブロックに入力されてくるセルのセル種別(ユニキャストセル又はマルチキャストセル)、セルの送出元、送出先の宛先情報(入出力インタフェース番号)は、あらかじめセルに付加されているものとする。
【0033】
図1を見ると、Aは入力インタフェース部であり、複数の入力インタフェースa1−1〜a1−Nからなる。各入力インタフェースa1−1〜a1−N(入力インタフェースa1とも記載)は、受信した可変長パケットを固定長セルに分割し、分割されたセルのそれぞれにシーケンス番号を付加する。
【0034】
ここで、シーケンス番号とは、セルの順序を示す番号である。ユニキャストセルの場合、宛先毎(入力インタフェースから出力インタフェースの全経路毎)にこのシーケンス番号を付与する。マルチキャストセルの場合、マルチキャスト番号毎にシーケンス番号を付与する。また、マルチキャスト番号とは、マルチキャストパタン毎に割り振られる固有の番号である。ここで、マルチキャストパタンとは、ある入力インタフェースから複数の出力インタフェースに出力するマルチキャスト形態のことを意味する。例えば、入力インタフェースXから出力インタフェースY,Zへのマルチキャストがある場合、このマルチキャストに対しマルチキャスト番号が一つ付加される。このマルチキャスト番号毎に予め複数の宛先を関連付けておく。
【0035】
また、入力インタフェースa1は、ユニキャストセル蓄積用のVOQ[Virtual Output Queue]a13−1〜a13−Nとマルチキャストセル蓄積用のマルチキャスト入力キュー(a14−1〜a14−N)とを有し、分割したセルを、セル種別に応じてこれらのキューに蓄積する。
【0036】
Dは、前段クロスバスイッチである。前段クロスバスイッチDは、周期的な固定設定で動作するクロスバスイッチである。入力インタフェース(a1−1〜a1−N)から受信したセルを予め設定された設定情報に基づいてスイッチ処理し、中間段バッファ部Bにセルを送出する。前段クロスバスイッチDは、複数の入力ポート1〜N、複数の出力ポート1〜Nを有する。入力ポート1〜Nは、それぞれ入力インタフェース1〜Nに接続され、出力ポート1〜Nは、それぞれ中間段バッファb1−1〜b1−Nに接続される。
【0037】
Bは中間段バッファ部であり、複数の中間段バッファ(b1−1〜b1−N)からなる。中間段バッファb1−1〜b1−Nは、セルを蓄積するためのVOQ(b13−1〜b13−N)を有する。VOQ(b13)のそれぞれは、内部に複数のキューを有する。これら複数のキューのそれぞれは、宛先となる出力インタフェースに対応している。前段クロスバスイッチDより受信したセルは、各中間段バッファ(b1−1〜b1−N)でコピーされ、VOQ(b13−1〜b13−N)の内部の各キューに宛先毎に格納される。
【0038】
Eは、後段クロスバスイッチである。後段クロスバスイッチEは周期的な固定設定で動作するクロスバスイッチであり、中間段バッファのVOQ(b13−1〜b13−N)から受信したセルをスイッチ処理し、出力インタフェース部Cにセルを送出する。後段クロスバスイッチEは、複数の入力ポート1〜N、複数の出力ポート1〜Nを有する。入力ポート1〜Nは、それぞれ中間段バッファb1−1〜b1−Nに接続され、出力ポート1〜Nは、それぞれ出力インタフェース1〜Nに接続される。
【0039】
Cは出力インタフェース部であり、宛先に対応づけられた複数の出力インタフェース(c1−1〜c1−N)からなる。出力インタフェース(c1−1〜c1−N)は、ユニキャストセル蓄積用のユニキャスト用VIQ[Virtual Input Queue](c13−1〜c13−N)とマルチキャストセル蓄積用のマルチキャスト出力キュー(c14−1〜c14−N)とを有する。後段クロスバスイッチEから受信したセルを、セル種別に応じて、VIQ(c13)又はマルチキャスト出力キューc14に蓄積する。
【0040】
また、出力インタフェース(c1−1〜c1−N)は、後段クロスバスイッチEから受信したセル順序に順序の逆転があった場合には、正しいセル順に並び替える。
【0041】
次に、入力インタフェース部A、中間段バッファ部B、出力インタフェース部Cの各内部構成について詳しく説明する。
【0042】
まずは、入力インタフェース部Aの内部構成について図2に示すブロック図を用いて説明する。
【0043】
入力インタフェース部Aは、入力インタフェースa1−1〜a1−Nからなり、各入力インタフェースa1は、セル情報検出部a11と、書込制御部a12と、ユニキャスト用VOQ(a13)と、マルチキャスト入力キューa14と、選択部a15と、読出セル選択部a16とを有する。
【0044】
セル情報検出部a11は、入力されてくるセル情報を検出し、検出したセル情報を他の構成部に通知する。
【0045】
ここで、セル情報とは、セルに関する情報であって、例えば、セル種別、セル送出元の入力インタフェース、セルの宛先となる出力インタフェース、マルチキャスト番号等の情報である。このセル情報は、セルのヘッダやセルの併走信号として入力される。
【0046】
書込制御部a12は、セル情報検出部a11からセル及びセル情報を受信する。そして、受信したセル情報に基づいて、セルをユニキャスト用VOQ(a13)の該当宛先キュー又はマルチキャスト入力キューの該当領域にセルを書き込む。
【0047】
ユニキャスト用VOQ(a13)は、ユニキャストセルを一時格納するメモリである。ユニキャスト用VOQ[Virtual Output Queue](a13)は、内部に複数のキューを有し、これら複数のキューのそれぞれは宛先(出力インタフェース)に対応している。
【0048】
マルチキャスト入力キューa14は、マルチキャストセルを一時格納するメモリである。マルチキャスト入力キューa14も、内部に複数のキューを有し、これら複数のキューのそれぞれは、マルチキャスト番号に対応している。
【0049】
読出セル選択部a16は、ユニキャスト用VOQ(a13)、マルチキャスト入力キューa14の蓄積状態を管理し、キューから出力するセルを決定する。具体的には、セル情報検出部a11からセル情報を受信し、このセル情報に基づいて出力セルを決定し、ユニキャスト用VOQ(a13)またはマルチキャスト入力キューa14に対してセルの読み出し制御を行う。この読出セル選択部a16からの読出制御によって、ユニキャスト用VOQ(a13)、マルチキャスト入力キューa14のいずれかよりセルが読み出される。さらに、この読み出したセルを、前段クロスバスイッチDで予め設定された設定情報に基づいて、前段クロスバスイッチDに送出する。
【0050】
選択部a15は、ユニキャスト用VOQ(a13)、又はマルチキャスト入力キューa14のいずれかよりセルを受信した場合に有効なセルを選択して出力する。
【0051】
次に、中間段バッファ部Bの内部構成について、図3に示すブロック図を用いて説明する。
【0052】
中間段バッファ部Bは、宛先検出/セルコピー部b11と、書込制御部b12と、VOQ(b13)と、読出制御部b14と、マルチキャスト宛先管理部b15とを有する。
【0053】
マルチキャスト宛先管理部b15は、マルチキャストセルのマルチキャスト番号と、該マルチキャスト番号に対応する宛先情報(出力先となるインタフェースの情報)とを少なくとも対応づけて宛先管理情報として記憶する。
【0054】
宛先検出/セルコピー部b11は、受信したセルがマルチキャストセルの場合、マルチキャスト宛先管理部b15を参照してマルチキャスト番号に対応する宛先数を取得し、セルを宛先数分コピーする。さらに、宛先検出/セルコピー部b11は、マルチキャスト宛先管理部b15を参照し、マルチキャスト番号に対応する宛先情報も取得する。コピー処理後のセルは、宛先となる出力インタフェース毎に書込制御部b12に送出される。
【0055】
書込制御部b12は、宛先検出/セルコピー部b11でコピー処理されたセルと宛先情報とを受信すると、このコピー処理されたセルを、宛先となる出力インタフェースに対応するキューに格納する。また、読出制御部b14に対し、VOQ(b13)に書き込みを行ったセルの宛先情報を通知する。
【0056】
VOQ(b13)は、宛先となる出力インタフェース毎にセルを格納するメモリである。具体的には、VOQ[Virtual Output Queue]は、セルの宛先(出力インタフェース)に対応する複数のキューを内部に有し、これら複数のキューのそれぞれにセルが格納される。
【0057】
読出制御部b14は、書込制御部b12から受信した宛先情報に基づいて、キューのセル蓄積状態を把握する。また、後段クロスバスイッチEの設定情報を参照し、設定情報で定義されたタイミングでキューからセルを読み出して後段クロスバスイッチEに送出する。
【0058】
次に、出力インタフェース部Cの内部構成について、図4に示すブロック図を用いて説明する。
【0059】
出力インタフェース部Cは、ユニキャスト/マルチキャスト検出部c11と、書込制御部c12と、ユニキャスト用VIQ(c13)と、マルチキャスト出力キューc14と、選択部c15と、再配列処理部c16とを有する。
【0060】
ユニキャスト/マルチキャスト検出部c11は、受信したセルに関するセル情報(セル種別、セル送出元の入力インタフェース、マルチキャスト番号など)を検出する。また、検出したセル情報とセルとを書込制御部c12に出力する。
【0061】
ユニキャスト用VIQ(c13)は、ユニキャストセルを格納するためのバッファであり、内部にはセル送出元の入力インタフェース毎にセルを格納する複数のキューを有する。
【0062】
マルチキャスト出力キューc14は、マルチキャストセルを格納するためのバッファであり、内部にはマルチキャスト番号毎に複数のキューを有する。
【0063】
書込制御部c12では、セル情報に基づいて、ユニキャスト/マルチキャスト検出部c11から受信したセルを、ユニキャスト用VIQ(c13)又はマルチキャスト出力キューc14に書き込む。更に、書込制御部c12は、書き込みを行ったセル情報を再配列処理部c16に出力する。
【0064】
再配列処理部c16では、書込制御部c12から受信したセル情報に基づいて、正しいセル順序でセルが出力されるようにユニキャスト用VIQ(c13)、マルチキャスト出力キューc14に対してセルの読み出し制御を行う。具体的には、ユニキャスト用VIQ(c13)内に設けられたキュー、又は、マルチキャスト出力キューc14内に設けられたキューに格納された複数のセルがシーケンス番号順に並んでいるか否かをチェックし、シーケンス番号順に並んでいない場合に、これをシーケンス番号順に並びかえる。
【0065】
選択部c15は、ユニキャスト用VIQ(c13)、又はマルチキャスト出力キューc14のいずれかよりセルを受信した場合に有効なセルを選択して出力する。
【0066】
次に、上記のように構成させたセル処理装置の動作について、図5〜図7を適宜用いて説明する。
【0067】
ここでは、入力された可変長パケットが4つの固定長セルに分割される場合を例にとって説明するが、分割される固定長セル数は4つに限られない。
【0068】
また、以下では、マルチキャスト番号が“M1”で、宛先を“d1〜d4”とするパケットが入力インタフェースa1−1から入力された場合を例にとって説明する。尚、以下では説明の便宜のため、マルチキャスト番号は<M1>で、シーケンス番号は(1)などと表す。
【0069】
また、以下では、入力インタフェースの数、中間段バッファの数、出力インタフェースの数がいずれも4つである場合を例にとって説明するが、これに限る必要はない。
【0070】
図5を見ると、入力インタフェースa1−1に到着した可変長パケットは、4つの固定長のセルに分割され、シーケンス番号が付与される。ここでは、セル1,2,3,4に分割される(ステップS1)。
【0071】
このとき、図2で示されるセル情報検出部a11によってセル情報が検出される。ここでは、セル種別の検出の結果は、マルチキャストセルである。続いて、セル種別(ここでは、マルチキャストセル)とマルチキャスト番号の情報とを含むセル情報が、図2の読出セル選択部a16に出力される。さらに、書込制御部a12に、セル情報とともにセルが送出される。
【0072】
次に、固定長セル1,2,3,4は、書込制御部a12によって、マルチキャスト入力キューa14−1のマルチキャスト番号<M1>に対応する領域に格納される(ステップS2)。
【0073】
このマルチキャスト入力キューa14−1に格納されている固定長セル1,2,3,4は、読出セル選択部a16によってマルチキャスト入力キューa14−1から出力制御される。このとき、前段クロスバスイッチDには、図11の「前段クロスバスイッチの選択」欄に示される設定がされている。すなわち、N=4のセル時間周期で各出力ポートが1セル時間ずつ各入力ポートを選択していく設定がされている。このため、マルチキャスト入力キューa14−1からのセルは、該設定情報を参照した読出セル選択部a16によって1セル時間づつずらして4セル連続で読み出されることになる(ステップS3)。
【0074】
尚、本実施の形態では、読出セル選択部a16を入力インタフェース側に設け、格納されたセルを入力インタフェース側から読み出す構成をとったが、読出セル選択部a16を前段クロスバスイッチDに設け、マルチキャスト入力キューa14−1に格納されたセルを前段クロスバスイッチD側から読み出すようにしてもよい。
【0075】
読出セル選択部a16によって読み出されたセルは、選択部a15による選択処理を経て前段クロスバスイッチDに出力される。尚、ここでは、ユニキャスト用VOQ(a13)とマルチキャストインプットキューa14とからは同時にセルを受信することはないので、選択処理は特に行われない。
【0076】
次に、前段クロスバスイッチDでは、図11の「前段クロスバスイッチの選択」欄に示される設定内容に従い切替処理を行い、受信したセルを中間段バッファに出力する。ここで、この図11に示される設定内容であるが、例えばセル時間が3である場合、出力ポート1では入力ポート3を選択し、出力ポート2では入力ポート2を選択し、出力ポート3では入力ポート1を選択し、出力ポート4では入力ポート4を選択する設定がなされている。すなわち、前述の如く、マルチキャスト入力キューa14−1から1セル時間づつずらして4セル連続で入力されたセルは、出力ポート1を起点に前段クロスバスイッチDの各出力ポートに1セルずつ均等に出力され、中間段バッファb1−1〜b1−4で受信される(ステップS4)。
【0077】
続いて、図6を見ると、中間段バッファb1−1で受信したマルチキャスト番号<M1>のセルは、シーケンス番号及びマルチキャスト番号とともに宛先検出/コピー部b11で4つにコピーされる(ステップS5)。そして、書込制御部b12によりVOQ(b13−1)のキューに宛先毎に書き込まれる(ステップS6)。他の中間段バッファのVOQ(b13−2〜b13−4)のそれぞれにおいても、これと同様のコピー処理が行われる。
【0078】
こうして、各中間段バッファb1−1〜b1−4のVOQ(b13−1〜b13−4)には、マルチキャスト番号<M1>に関連付けられたセルが、宛先となる出力インタフェースに対応付けられた複数のキューに格納されていく。具体的には、図6に示されるように、中間段バッファb1−1でコピーされたd1を宛先とするセルは、中間段バッファb1−1の宛先d1に対応するキューに格納される。同様に、中間段バッファb1−1でコピーされたd2を宛先とするセルは、中間段バッファb1−1の宛先d2に対応するキューに格納される。d3、d4を宛先とするセルも同様にして宛先d3、d4に対応するキューに格納される。この中間段バッファb1−1における格納処理と同様の処理は、中間段バッファb1−2、中間段バッファb1−3、中間段バッファb1−4でも行われる(ステップ6)。
【0079】
ここで、前述したコピー処理であるが、具体的には以下のように行われる。中間段バッファのマルチキャスト宛先管理部b15には、図7に示されるように、マルチキャスト番号に対応する宛先管理情報がテーブルに定義されている。ここでは、マルチキャスト番号<M1>に対応する宛先はd1,d2,d3,d4に設定されている。宛先検出セルコピー部b11によってこのテーブルが参照され、マルチキャスト番号<M1>に対応する宛先数4が取得される。そして、マルチキャスト番号が<M1>でシーケンス番号が(1)であるセルは、この宛先数4に相当する分だけコピーされ、VOQ(b13−1)の宛先d1〜d4に対応するキューに格納される。マルチキャスト番号が<M1>でシーケンス番号(2),(3),(4)の残りのセルも、それぞれ同様に4つ分コピーされ、VOQ(b13−2〜b13−4)の宛先d1〜d4に対応するキューに格納される。
【0080】
次に、各中間段バッファのVOQ(b13−2〜b13−4)に格納されているセルは、読出制御部b14によってVOQ(b13−2〜b13−4)から出力制御される。ここで、後段クロスバスイッチEには、図12の「後段クロスバスイッチの選択」欄に示される設定がされている。すなわち、N=4のセル時間周期で各出力ポートが1セル時間ずつ各入力ポートを選択していく設定がされている。このため、各中間段バッファのそれぞれの読出選択部b14によって該設定情報が参照され、VOQ(b13−1〜b13−4)のセルは、1セル時間づつずらして4セル連続で各キューから順次読み出される(ステップS7)。
【0081】
次に、後段クロスバスイッチEでは、図12の「後段クロスバスイッチの選択」欄に示される設定内容に従い切替処理を行い、ステップS7で読み出され受信したセルを、宛先d1〜d4に対応づけられた出力インタフェースに出力する(ステップS8)。
【0082】
ここで、図12の「後段クロスバスイッチの選択」を見ると、N(この場合、N=4)セル時間周期で各出力ポートが1セル時間ずつ各入力ポートを選択していく設定がされている。また、出力ポート間で選択する入力ポートは1セル時間ずつシフトさせる設定が施される。すなわち、図12に示されるように、「1−*」のセルは出力ポート1に、「2−*」のセルは出力ポート2に、「3−*」のセルは出力ポート3に、「4−*」のセルは出力ポート4がそれぞれ宛先ポートになるような設定が施されている。
【0083】
このように設定された後段クロスバスイッチEで切替処理された結果、各中間バッファのVOQ(b13−1〜b13−4)に分散されていたセルは、図6に示されるように、宛先d1〜d4に対応する出力インタフェースc1−1〜c1−4にマルチキャスト番号毎に格納される。すなわち、中間段バッファのセルは、出力インタフェースc1−1〜c1−4のマルチキャスト出力キュー内に複数設けられたマルチキャスト番号に対応するキューに、それぞれシーケンス番号順に格納されることになる(ステップS8)。
【0084】
そして、マルチキャスト番号に対応する各キューでは、再配列処理部c16によってシーケンス番号に基づいてセル順序が確認される。ここで、セルの順序逆転があった場合には、正しいセル順に再配列される。このようにセルが再配列処理された後、宛先d1〜d4に対応する各出力インタフェース(c1−1〜c1−N)においてパケットが再構築され、出力される(ステップS9)。
【0085】
上記実施の形態では、入力インタフェース1から入力された場合を例にとって説明したが、セルの入力されるインタフェースは、入力インタフェース1〜Nのいずれであっても構わない。
【0086】
上記第1の実施の形態では、本発明のセル処理装置が、入出力インタフェース部の間にスイッチを介した中間段バッファ部を有し、マルチキャスト処理の際には、この中間段バッファ部の複数の中間段バッファでセルのコピー処理を行う。すなわち、セルのコピー処理は、中間段バッファ部の複数の中間段バッファの構成部内で行われ、異なるインタフェース間に亘ってセルのコピー処理がされることがないので、セルの転送路の帯域がコピー処理後の増分のセルによって圧迫されることがなく、セルの転送遅延の発生を抑えることができる。
【0087】
また、上記第1の実施の形態では、中間段バッファ部に加えて前段及び後段クロスバスイッチを設け、これらのクロスバスイッチに予め設定された設定情報に従って中間段バッファの入出力切替え処理を行わせることで、中間段バッファに格納されているセルを、セルの宛先に対応づけられた出力インタフェースに出力するよう構成させた。すなわち、上記第1の実施の形態では、各種バッファに加え、単純な切替処理を行うスイッチを設けて入出力の切替処理を行わせるだけマルチキャスト処理ができるので、スケジューラや優先制御用の振分回路といったものを設けて複雑な処理をさせる必要がなく、装置構成を簡素化できる。
【0088】
上記の実施の形態では、分割されたセル数が4であり、中間段バッファの個数Nも4である場合(N=4)を例にとって説明したが、中間段バッファの数Nをセルの数に合わせる必要は特にない。N個(N:自然数)の中間段バッファで構成させ、各中間段バッファの内部に、宛先に対応したキューを宛先数分(出力インタフェース数分)設けておけば、分割されたセル数が何セルであってもセル処理は可能である。例えば、3つの中間段バッファを設けておき、100個に分割されたセルを処理させても構わない。この場合の処理フローの例は、図15〜図17で示される。処理フローは前述した動作と同様になるため、詳細な説明については省略する。
【0089】
さて、上記実施の形態では、受信したセルがマルチキャストセルである場合を例にとって説明したが、セル種別がユニキャストセルであった場合でもセル処理はむろん可能である。
【0090】
次に、入力されたセルがユニキャストセルであった場合の処理の動作について図14を用いて説明する。尚、以下では、ユニキャストセルの送出元がs1であり、宛先がd1であるものとして説明する。また、ここでも、可変長パケットが4つのセルに分割される場合を例にとって説明する。
【0091】
図1の構成(インタフェース数N=4の場合を想定)において、入力インタフェースa1−1に可変長パケットが到着すると、入力インタフェースa1−1によって、このパケットは4つの固定長セル1,2,3,4に分割され、シーケンス番号が付与される(ステップT1)。この分割されたセルの各々は、図2のセル情報検出部a11によってセル種別・宛先情報等がチェックされる。ここでは、セル種別の検出結果はユニキャストセルとなる。
【0092】
さらに、この4つの固定長セル1,2,3,4は、書込制御部a12によってユニキャストVOQ(a13−1)の宛先d1に対応するキューに格納され(ステップT2)、前段クロスバスイッチDの設定に合わせて均等に各中間段バッファb1−1〜b1−4に出力される。すなわち、シーケンス番号(1)のセル1は中間段バッファb1−1に、シーケンス番号(2)のセル2は中間段バッファb1−2に、シーケンス番号(3)のセル3は中間段バッファb1−3に、シーケンス番号(4)のセル4は中間段バッファb1−4に出力される(ステップT3)。
【0093】
セル1を受信した中間段バッファb1−1では、このセルをコピーせずにVOQ(b13−1)の宛先d1に対応するキューに格納する。具体的には、まず、中間段バッファb1−1の宛先検出/セルコピー部b11によって宛先情報が検出されると、検出された宛先情報及びセルが書込制御部b12に出力される。このとき、受信したセルはユニキャストセルであるので、宛先検出/セルコピー部b11ではコピー処理がされない。ここで、コピー処理をさせない構成をとったのは、ユニキャストセルの場合、セルと宛先となる出力インタフェースとが1:1で対応するのでコピーの必要がないからある。
【0094】
次に、書込制御部b12によって、このセル1は、VOQ(b13−1)の宛先d1に対応するキューにそのまま格納される。
【0095】
同様にして、中間段バッファb1−2〜b1−4でも、セル2〜4がVOQ(b13−2〜b13−4)の宛先d1に該当するキューに格納される(ステップT4)。
【0096】
こうして格納された各セルは、後段クロスバスイッチEの設定に合わせて宛先d1〜d4に対応する出力インタフェース(c1−1〜c1−4)に出力される。そして、各ユニキャスト用VIQに複数設けられたキューのうち、送信元の入力インタフェースs1に対応するキューに格納され(ステップT5)、パケットが再構築されて出力される(ステップT6)。
【0097】
次に、本発明の第2の実施の形態について、図13のブロック図を用いて説明する。
【0098】
尚、第2の実施の形態を構成する各部は、中間段バッファ部b2(b2−1〜b2−N)が、コピー部b21(b21−1〜b21−N)、分離部b26(b26−1〜b26−N)を有する他、VOQ(b13)に替えてユニキャスト用VOQ(b28)及びマルチキャスト用VOQを有する点を除いては第1の実施の形態の構成と同じである。このため、同一の構成部分には同一の符号番号を施し、詳細な説明は省略する。
【0099】
各中間段バッファb2−1〜b2−Nの分離部b26−1〜b26−Nでは、受信セルをユニキャストセルとマルチキャストセルに分離する。
【0100】
分離されたユニキャストセルはユニキャストVOQに格納される。具体的には、ユニキャストVOQ(b28−1〜b28−N)のそれぞれは、宛先に対応するキューを複数有し、ユニキャストセルは、このキューに宛先別に格納される。
【0101】
一方、分離されたマルチキャストセルは、コピー処理部b21−1〜b21−Nにて宛先数分コピーされ、中間段バッファのマルチキャストVOQに格納される。具体的には、マルチキャストVOQ(b29−1〜b29−N)のそれぞれも宛先に対応するキューを複数有し、マルチキャストセルは、このキューに宛先毎に格納される。
【0102】
ユニキャストVOQ(b28−1〜b28−N)に蓄積されたユニキャストセル、又はマルチキャストVOQ(b29−1〜b29−N)に蓄積されたマルチキャストセルは、後段クロスバスイッチEの設定に合わせて切替え処理され、出力インタフェースに出力される。ここで、ユニキャストVOQ(b28−1〜b28−N)またはマルチキャストVOQ(b29−1〜b29−N)のいずれかから出力するセルを決定する方法であるが、VOQを優先的に読み出す方法や順番に1セルずつ読み出す方法などが考えられる。
【0103】
続いて、出力されたセルは、再配列処理部c16により、シーケンス番号順に並んでいるか否かがチェックされる。ここで、シーケンス番号順に並んでいないと判断された場合には、再配列処理部c16によってシーケンス番号順に並び替えられる。
【0104】
上記第2の実施の形態では、コピー処理を行う前に、受信したセルをセル種別に基づいてマルチキャストセルとユニキャストセルとに分別する分離手段を有する。このため、セル種別に応じた出力制御が容易になる。すなわち、受信したセルは、該分離手段によってセルの種別毎に分離して格納されるので、例えば、「ユニキャストセルに優先してマルチキャストセルだけを最初に出力する」といったような出力制御が容易になる。
【図面の簡単な説明】
【0105】
【図1】本発明におけるセル処理装置の第1の実施形態の全体ブロック図。
【図2】入力インタフェース部の内部構成を示すブロック図。
【図3】中間段バッファ部の内部構成を示すブロック図。
【図4】出力インタフェース部の内部構成を示すブロック図。
【図5】本発明における第1の実施形態のマルチキャスト処理の例を示す図。
【図6】本発明における第1の実施形態のマルチキャスト処理の例を示す図。
【図7】宛先管理情報の例を示す図。
【図8】従来における入力バッファ型スイッチの構成例を示す図。
【図9】従来における入力バッファ型スイッチにおいて、マルチキャストセルの処理を行う場合の構成例を示す図。
【図10】従来における入力バッファ型スイッチにおいて、マルチキャストセルの処理を行う場合の構成例を示す図。
【図11】前段クロスバスイッチにおけるスイッチ処理の例を示す図。
【図12】後段クロスバスイッチにおけるスイッチ処理の例を示す図。
【図13】本発明におけるセル処理装置の第2実施形態の全体ブロック図。
【図14】本発明における第1の実施形態のユニキャスト処理の例を示すブロック図。
【図15】本発明の第1の実施の形態の変形例を示す図。
【図16】本発明の第1の実施の形態の変形例を示す図。
【図17】本発明の第1の実施の形態の変形例を示す図。
【符号の説明】
【0106】
A 入力インタフェース部
B 中間段バッファ部
C 出力インタフェース部
D 前段クロスバスイッチ
E 後段クロスバスイッチ
a1−1 入力インタフェース1
a1−2 入力インタフェース2
a1−3 入力インタフェース3
a1−N 入力インタフェースN
a11 セル情報検出部
a12 書込制御部
a13 ユニキャスト用VOQ
a14 マルチキャスト入力キュー
a15 選択部
a16 セル選択部
b1−1 中間段バッファ
b1−2 中間段バッファ
b1−3 中間段バッファ
b1−N 中間段バッファ
b11 宛先検出/セルコピー部
b12 書込制御部
b13 VOQ
b13−1〜b13−N VOQ
b14 読出制御部
b15 マルチキャスト宛先管理部
b21 コピー処理部
b26 分離部
b28−1〜b28−N ユニキャストVOQ
b29−1〜b29−N マルチキャストVOQ
c1−1 出力インタフェース1
c1−2 出力インタフェース2
c1−3 出力インタフェース3
c1−N 出力インタフェースN
c11 ユニキャスト/マルチキャスト検出部
c12 書込制御部
c13 ユニキャストVIQ
c13−1〜c13−N ユニキャストVIQ
c14 マルチキャスト出力キュー
c14−1〜c14−N マルチキャスト出力キュー
c15 選択部
c16 再配列処理部
【技術分野】
【0001】
本発明はセル処理技術に関し、特に、マルチキャストセルの処理の際にスループットの低下を抑えるセル処理技術に関する。
【背景技術】
【0002】
ネットワークを行き交うデータの通信量が年々増大するなか、ネットワークスイッチに対しては、より高速で大容量の処理が求められている。
【0003】
ルータ等に代表される従来の固定長セル(可変長パケットを固定長セル化したものを含む)スイッチとして、クロスバスイッチの各入力ポートにバッファを設け、各入力ポートからのデータの出力調整を行うスケジューラを配備した入力バッファ型スイッチがある。
【0004】
この入力バッファ型スイッチとしては、例えば、図8、図9の構成例で示されるものがある。図8は、ユニキャストセルを処理する場合における従来のスイッチの構成例であり、入力ポート1からセルA、入力ポート2からセルB、入力ポートNからセルCが入力され、それぞれ出力ポート1,2,3に出力される場合の例が示されている。また、図9は、マルチキャストセルを処理する場合における従来のスイッチの構成例である。図9には、入力ポート1から入力されたセルAが全出力ポートからマルチキャスト出力される場合の例が示される。
【0005】
まず、このような従来の入力バッファ型スイッチにおけるユニキャスト処理について図8を用いて説明する。
【0006】
各入力インタフェースに入力されたセルはVOQ[Virtual Output Queue](仮想出力キュー)の該当宛先キューに格納される。各入力ポートは、スケジューラ1に対し、セル送出のrequest信号としてセルの宛先を通知する。スケジューラ1では、request信号に基づいて、複数の入力ポートから同一宛先のセルが送出されないように調停処理を行い、各入力ポートに対してどこの宛先に対するセル送出を許可するかを示すgrant信号を送出する。grant信号を受けた各入力ポートでは、該当する宛先のセルを出力する。スケジューラ1では各入力grantを出力すると同時にクロスバスイッチに対して設定を行い、これにより各入力ポートから送出されたセルは所定の出力ポートに到着することになる。
【0007】
続いて、入力バッファ型スイッチにおけるマルチキャスト処理の例について図9を用いて説明する。
【0008】
入力ポート1に入力されたセルAは、入力ポート1側にて宛先数分(本例の場合はN個)コピーされてVOQの各キューに格納される。このとき、VOQの各キューに格納されたセルの送出要求をするためのrequest信号がスケジューラ2に送出される。すなわち、1つの宛先につき1つのrequest信号が送出されるので、複数のrequest信号がスケジューラ2に対し送出されることになる。
【0009】
スケジューラ2では、各入力ポートから同一宛先のセルが送出されないように調整処理を行い、各入力に対してどこの宛先に対するセル送出を許可するかを示すgrant信号を送出する。grant信号を受けた各入力ポートでは該当する宛先のセルを出力する。
【0010】
このような従来のマルチキャスト処理の場合、宛先数が増えると、入力ポートに負荷が集中し、装置全体のスループットが低下するという問題点があった。このスループットの低下を抑える為には、ポート側で広帯域を確保しなければならなかった。例えば、マルチキャストの宛先数をM個とした場合、入力ポート側にてセルコピーをM回行うため、入力ポート側のVOQに入力レートのM倍のセルが蓄積されることになる。しかしながら、転送路幅(ポートの帯域幅)は変わらないので、このままでは転送路がボトルネックとなりスループットの低下を招いてしまう。このときスループットの低下を抑えるためには、クロスバスイッチの各ポートの帯域を入力レートのM倍確保する必要があるが、大容量ポートの収容はコスト的にも設置スペースの面からも実現は困難であった。
【0011】
上述した問題点を解消すべく、図10の入力型バッファスイッチに示されるように、マルチキャストセル用のキューを別途設けてマルチキャスト処理をおこなう手法がみられた。図10には、入力ポート1から入力されたセルAが、全出力ポートに対してマルチキャストされる場合が示されている。
【0012】
図10の構成例に示す入力型バッファスイッチでは、各入力ポートに、VOQとは別にマルチキャストセル用のマルチキャストキューが設けられ、このマルチキャストキューにマルチキャストセルが格納される。ここでは、マルチキャストセルのスケジューラ3へのrequest信号は、1つのrequest信号にマルチキャスト先の全宛先情報(本例の場合は全出力ポートが宛先)が搭載される形態となる。そして、スケジューラ3では、マルチキャスト先となる複数の宛先に同時にセルAを出力できるようにスケジューリングを行う。
【0013】
このように、図10の構成例に示す入力型バッファスイッチの場合、スケジューラによる調整処理により、セルAが出力されるタイミングでは他のポートからはセル出力は行われないよう制御される(すなわち、grant信号は他の入力ポートへは行かない)。そして、クロスバスイッチでは、入力ポート1が全出力ポート側で選択され、全出力ポートからセルAが送出されることになる。この場合は、前述したようなポートの帯域がボトルネックになるという問題は改善される。
【0014】
しかしながら、図10に示すようなマルチキャストキューを設けたマルチキャスト処理方式においても依然として問題点があった。その問題点とは、多ポート化するとスケジューラの処理負荷が高まるという問題である。すなわち、ポート数を増やし宛先数が増えると、同時に複数の出力ポートを予約する処理が必要になりスケジューラの処理負荷が高まるため、スループットの低下につながってしまう。
【0015】
上述の如く、従来の入力バッファ型スイッチにおけるマルチキャスト処理では、セル入力側にてセルコピーするために生じるスループットの低下やスケジューラ処理の複雑化などの問題があり、多ポート収容化、大容量ポート収容化が困難であった。
【0016】
こうした中、最近では、多ポート化した際のスループットの低下を抑える他の手法も提案されてきている。
【0017】
例えば、特許文献1では、マルチキャストパケットを複数のクロスバスイッチへ振り分けることで、クロスバスイッチ数の増加とともにパケットの転送帯域を増加させるクロスポイント型スイッチが提案されている。
【特許文献1】特開2005−45626
【発明の開示】
【発明が解決しようとする課題】
【0018】
特許文献1の発明では、複数のクロスバスイッチが設けられ、セル入力側から独立したクロスバスイッチ部でセルをコピーすることで、セル入力側でのコピー処理の負荷を軽減させている。
【0019】
しかしながら、特許文献1の発明では、収容するポート数が多くなるにつれ、処理内容や回路構成が複雑化するという別の問題点があった。特許文献1の発明では、クロスバスイッチ部内、または、入出力制御部とクロスバスイッチ部との間に亘ってセルを入出力制御する際、複雑なスケジュール処理・振分け処理が必要であった。具体的には、特許文献1の発明では、クロスバスイッチ内、及び、入出力制御部間に亘ってセルを振り分ける際、キューを入出力制御するためのスケジューラ(ラウンドロビン回路)を設ける手法がとられ、このスケジューラは、入力制御部、クロスバスイッチ部、出力制御部のそれぞれに設けなければならなかった。このため、多ポート化するにつれて回路が複雑化し、製造コストも嵩むといった問題点があった。
【0020】
従って、本発明が解決しようとする課題は、マルチキャストセルの処理の際にスループットの低下を抑えるセル処理技術を提供することである。
【0021】
さらに、本発明が解決しようとする課題は、装置構成を簡素化してセル処理をおこなうセル処理技術を提供することでもある。
【課題を解決するための手段】
【0022】
上記課題を解決する本発明は、セル処理装置であって、宛先に対応する複数のキューと、受信したセルを宛先数コピーして、対応する宛先のキューに格納する格納手段と、前記宛先に対応する複数のキューに格納されたセルを、予め定められたキューの読み出し順序に従って、前記キューからセルを読み出す読出制御手段とを有する複数の中間段バッファと、予め定められた中間段バッファへの出力の切替順序に従って、受信したセルを前記中間段バッファに出力する切替処理を行う第1のスイッチ処理手段と、前記中間段バッファと宛先に対応づけられた出力インタフェースとの入出力の切替順序が予め定められ、この切替順序に従って、前記読出制御手段によって読み出されたセルを入力して前記出力インタフェースに出力する第2のスイッチ処理手段とを有することを特徴とする。
【0023】
また、上記課題を解決する本発明は、セルのスイッチ処理方法であって、宛先に対応する複数のキューを設けた複数の中間段バッファと、前記複数の中間段バッファにセルを出力する第1のスイッチ処理手段と、前記複数の中間段バッファから読み出されたセルを、宛先に対応づけられた出力インタフェースに出力する第2のスイッチ処理手段とを備えたスイッチ処理装置におけるセルのスイッチ処理方法であって、前記第1のスイッチ処理手段は、予め定められた中間段バッファへの出力の切替順序に従って、受信したセルを前記中間段バッファに出力し、前記中間段バッファは、受信したセルを宛先数コピーして対応する宛先のキューに格納し、前記宛先に対応する複数のキューに格納されたセルを、予め定められたキューの読み出し順序に従ってセルを読み出し、前記第2のスイッチ処理手段は、予め定められた前記中間段バッファと前記出力インタフェースとの入出力の切替順序に従って、前記中間段バッファから読み出されたセルを入力して前記出力インタフェースに出力することを特徴とする。
【発明の効果】
【0024】
本発明によれば、スループットの低下を抑えるセル処理技術を提供することができる。
【0025】
その理由は、本発明のセル処理装置は、入出力インタフェース部の間にスイッチを介して複数の中間段バッファを設け、マルチキャスト処理の際には、セルのコピー処理をこの中間段バッファで行う。すなわち、コピー処理は、中間段バッファの閉じた構成部内で行われ、異なるインタフェース間に亘ってセルのコピー処理が行われないので、セルの転送路の帯域がコピー処理による増分のセルによって圧迫されず転送遅延の発生を抑えることができるからである。
【0026】
さらに、本発明によれば、簡便な装置構成でスループットの低下を抑えるセル処理技術を提供することができる。
【0027】
その理由は、本発明のセル処理装置は、予め定められた切替順序に従って中間段バッファの入出力切替処理を行うスイッチを介してセルの処理をおこなうので、スケジューラを設けて複雑な振分け処理をする必要がなく、その装置構成を簡素化できるからである。
【発明を実施するための最良の形態】
【0028】
<構成の説明>
【0029】
本発明の第1の実施の形態について図を用いて説明する。
【0030】
図1は全体のブロック図である。図1に示されるように、本発明のセル処理装置は、N個の入力インタフェースからなる入力インタフェース部Aと、N個の中間段バッファからなる中間段バッファ部Bと、N個の出力インタフェースからなる出力インタフェース部Cとから構成される。
【0031】
ここで、入力インタフェース部Aを構成する各入力インタフェースの内部構成は図2に、また、中間段バッファ部Bを構成する中間段バッファの内部構成は図3に、出力インタフェース部Cを構成する出力インタフェースの内部構成は図4に示される。これら内部構成について詳述する前に、まずは全体の構成について図1を用いて説明する。
【0032】
尚、ここでは、各ブロックに入力されてくるセルのセル種別(ユニキャストセル又はマルチキャストセル)、セルの送出元、送出先の宛先情報(入出力インタフェース番号)は、あらかじめセルに付加されているものとする。
【0033】
図1を見ると、Aは入力インタフェース部であり、複数の入力インタフェースa1−1〜a1−Nからなる。各入力インタフェースa1−1〜a1−N(入力インタフェースa1とも記載)は、受信した可変長パケットを固定長セルに分割し、分割されたセルのそれぞれにシーケンス番号を付加する。
【0034】
ここで、シーケンス番号とは、セルの順序を示す番号である。ユニキャストセルの場合、宛先毎(入力インタフェースから出力インタフェースの全経路毎)にこのシーケンス番号を付与する。マルチキャストセルの場合、マルチキャスト番号毎にシーケンス番号を付与する。また、マルチキャスト番号とは、マルチキャストパタン毎に割り振られる固有の番号である。ここで、マルチキャストパタンとは、ある入力インタフェースから複数の出力インタフェースに出力するマルチキャスト形態のことを意味する。例えば、入力インタフェースXから出力インタフェースY,Zへのマルチキャストがある場合、このマルチキャストに対しマルチキャスト番号が一つ付加される。このマルチキャスト番号毎に予め複数の宛先を関連付けておく。
【0035】
また、入力インタフェースa1は、ユニキャストセル蓄積用のVOQ[Virtual Output Queue]a13−1〜a13−Nとマルチキャストセル蓄積用のマルチキャスト入力キュー(a14−1〜a14−N)とを有し、分割したセルを、セル種別に応じてこれらのキューに蓄積する。
【0036】
Dは、前段クロスバスイッチである。前段クロスバスイッチDは、周期的な固定設定で動作するクロスバスイッチである。入力インタフェース(a1−1〜a1−N)から受信したセルを予め設定された設定情報に基づいてスイッチ処理し、中間段バッファ部Bにセルを送出する。前段クロスバスイッチDは、複数の入力ポート1〜N、複数の出力ポート1〜Nを有する。入力ポート1〜Nは、それぞれ入力インタフェース1〜Nに接続され、出力ポート1〜Nは、それぞれ中間段バッファb1−1〜b1−Nに接続される。
【0037】
Bは中間段バッファ部であり、複数の中間段バッファ(b1−1〜b1−N)からなる。中間段バッファb1−1〜b1−Nは、セルを蓄積するためのVOQ(b13−1〜b13−N)を有する。VOQ(b13)のそれぞれは、内部に複数のキューを有する。これら複数のキューのそれぞれは、宛先となる出力インタフェースに対応している。前段クロスバスイッチDより受信したセルは、各中間段バッファ(b1−1〜b1−N)でコピーされ、VOQ(b13−1〜b13−N)の内部の各キューに宛先毎に格納される。
【0038】
Eは、後段クロスバスイッチである。後段クロスバスイッチEは周期的な固定設定で動作するクロスバスイッチであり、中間段バッファのVOQ(b13−1〜b13−N)から受信したセルをスイッチ処理し、出力インタフェース部Cにセルを送出する。後段クロスバスイッチEは、複数の入力ポート1〜N、複数の出力ポート1〜Nを有する。入力ポート1〜Nは、それぞれ中間段バッファb1−1〜b1−Nに接続され、出力ポート1〜Nは、それぞれ出力インタフェース1〜Nに接続される。
【0039】
Cは出力インタフェース部であり、宛先に対応づけられた複数の出力インタフェース(c1−1〜c1−N)からなる。出力インタフェース(c1−1〜c1−N)は、ユニキャストセル蓄積用のユニキャスト用VIQ[Virtual Input Queue](c13−1〜c13−N)とマルチキャストセル蓄積用のマルチキャスト出力キュー(c14−1〜c14−N)とを有する。後段クロスバスイッチEから受信したセルを、セル種別に応じて、VIQ(c13)又はマルチキャスト出力キューc14に蓄積する。
【0040】
また、出力インタフェース(c1−1〜c1−N)は、後段クロスバスイッチEから受信したセル順序に順序の逆転があった場合には、正しいセル順に並び替える。
【0041】
次に、入力インタフェース部A、中間段バッファ部B、出力インタフェース部Cの各内部構成について詳しく説明する。
【0042】
まずは、入力インタフェース部Aの内部構成について図2に示すブロック図を用いて説明する。
【0043】
入力インタフェース部Aは、入力インタフェースa1−1〜a1−Nからなり、各入力インタフェースa1は、セル情報検出部a11と、書込制御部a12と、ユニキャスト用VOQ(a13)と、マルチキャスト入力キューa14と、選択部a15と、読出セル選択部a16とを有する。
【0044】
セル情報検出部a11は、入力されてくるセル情報を検出し、検出したセル情報を他の構成部に通知する。
【0045】
ここで、セル情報とは、セルに関する情報であって、例えば、セル種別、セル送出元の入力インタフェース、セルの宛先となる出力インタフェース、マルチキャスト番号等の情報である。このセル情報は、セルのヘッダやセルの併走信号として入力される。
【0046】
書込制御部a12は、セル情報検出部a11からセル及びセル情報を受信する。そして、受信したセル情報に基づいて、セルをユニキャスト用VOQ(a13)の該当宛先キュー又はマルチキャスト入力キューの該当領域にセルを書き込む。
【0047】
ユニキャスト用VOQ(a13)は、ユニキャストセルを一時格納するメモリである。ユニキャスト用VOQ[Virtual Output Queue](a13)は、内部に複数のキューを有し、これら複数のキューのそれぞれは宛先(出力インタフェース)に対応している。
【0048】
マルチキャスト入力キューa14は、マルチキャストセルを一時格納するメモリである。マルチキャスト入力キューa14も、内部に複数のキューを有し、これら複数のキューのそれぞれは、マルチキャスト番号に対応している。
【0049】
読出セル選択部a16は、ユニキャスト用VOQ(a13)、マルチキャスト入力キューa14の蓄積状態を管理し、キューから出力するセルを決定する。具体的には、セル情報検出部a11からセル情報を受信し、このセル情報に基づいて出力セルを決定し、ユニキャスト用VOQ(a13)またはマルチキャスト入力キューa14に対してセルの読み出し制御を行う。この読出セル選択部a16からの読出制御によって、ユニキャスト用VOQ(a13)、マルチキャスト入力キューa14のいずれかよりセルが読み出される。さらに、この読み出したセルを、前段クロスバスイッチDで予め設定された設定情報に基づいて、前段クロスバスイッチDに送出する。
【0050】
選択部a15は、ユニキャスト用VOQ(a13)、又はマルチキャスト入力キューa14のいずれかよりセルを受信した場合に有効なセルを選択して出力する。
【0051】
次に、中間段バッファ部Bの内部構成について、図3に示すブロック図を用いて説明する。
【0052】
中間段バッファ部Bは、宛先検出/セルコピー部b11と、書込制御部b12と、VOQ(b13)と、読出制御部b14と、マルチキャスト宛先管理部b15とを有する。
【0053】
マルチキャスト宛先管理部b15は、マルチキャストセルのマルチキャスト番号と、該マルチキャスト番号に対応する宛先情報(出力先となるインタフェースの情報)とを少なくとも対応づけて宛先管理情報として記憶する。
【0054】
宛先検出/セルコピー部b11は、受信したセルがマルチキャストセルの場合、マルチキャスト宛先管理部b15を参照してマルチキャスト番号に対応する宛先数を取得し、セルを宛先数分コピーする。さらに、宛先検出/セルコピー部b11は、マルチキャスト宛先管理部b15を参照し、マルチキャスト番号に対応する宛先情報も取得する。コピー処理後のセルは、宛先となる出力インタフェース毎に書込制御部b12に送出される。
【0055】
書込制御部b12は、宛先検出/セルコピー部b11でコピー処理されたセルと宛先情報とを受信すると、このコピー処理されたセルを、宛先となる出力インタフェースに対応するキューに格納する。また、読出制御部b14に対し、VOQ(b13)に書き込みを行ったセルの宛先情報を通知する。
【0056】
VOQ(b13)は、宛先となる出力インタフェース毎にセルを格納するメモリである。具体的には、VOQ[Virtual Output Queue]は、セルの宛先(出力インタフェース)に対応する複数のキューを内部に有し、これら複数のキューのそれぞれにセルが格納される。
【0057】
読出制御部b14は、書込制御部b12から受信した宛先情報に基づいて、キューのセル蓄積状態を把握する。また、後段クロスバスイッチEの設定情報を参照し、設定情報で定義されたタイミングでキューからセルを読み出して後段クロスバスイッチEに送出する。
【0058】
次に、出力インタフェース部Cの内部構成について、図4に示すブロック図を用いて説明する。
【0059】
出力インタフェース部Cは、ユニキャスト/マルチキャスト検出部c11と、書込制御部c12と、ユニキャスト用VIQ(c13)と、マルチキャスト出力キューc14と、選択部c15と、再配列処理部c16とを有する。
【0060】
ユニキャスト/マルチキャスト検出部c11は、受信したセルに関するセル情報(セル種別、セル送出元の入力インタフェース、マルチキャスト番号など)を検出する。また、検出したセル情報とセルとを書込制御部c12に出力する。
【0061】
ユニキャスト用VIQ(c13)は、ユニキャストセルを格納するためのバッファであり、内部にはセル送出元の入力インタフェース毎にセルを格納する複数のキューを有する。
【0062】
マルチキャスト出力キューc14は、マルチキャストセルを格納するためのバッファであり、内部にはマルチキャスト番号毎に複数のキューを有する。
【0063】
書込制御部c12では、セル情報に基づいて、ユニキャスト/マルチキャスト検出部c11から受信したセルを、ユニキャスト用VIQ(c13)又はマルチキャスト出力キューc14に書き込む。更に、書込制御部c12は、書き込みを行ったセル情報を再配列処理部c16に出力する。
【0064】
再配列処理部c16では、書込制御部c12から受信したセル情報に基づいて、正しいセル順序でセルが出力されるようにユニキャスト用VIQ(c13)、マルチキャスト出力キューc14に対してセルの読み出し制御を行う。具体的には、ユニキャスト用VIQ(c13)内に設けられたキュー、又は、マルチキャスト出力キューc14内に設けられたキューに格納された複数のセルがシーケンス番号順に並んでいるか否かをチェックし、シーケンス番号順に並んでいない場合に、これをシーケンス番号順に並びかえる。
【0065】
選択部c15は、ユニキャスト用VIQ(c13)、又はマルチキャスト出力キューc14のいずれかよりセルを受信した場合に有効なセルを選択して出力する。
【0066】
次に、上記のように構成させたセル処理装置の動作について、図5〜図7を適宜用いて説明する。
【0067】
ここでは、入力された可変長パケットが4つの固定長セルに分割される場合を例にとって説明するが、分割される固定長セル数は4つに限られない。
【0068】
また、以下では、マルチキャスト番号が“M1”で、宛先を“d1〜d4”とするパケットが入力インタフェースa1−1から入力された場合を例にとって説明する。尚、以下では説明の便宜のため、マルチキャスト番号は<M1>で、シーケンス番号は(1)などと表す。
【0069】
また、以下では、入力インタフェースの数、中間段バッファの数、出力インタフェースの数がいずれも4つである場合を例にとって説明するが、これに限る必要はない。
【0070】
図5を見ると、入力インタフェースa1−1に到着した可変長パケットは、4つの固定長のセルに分割され、シーケンス番号が付与される。ここでは、セル1,2,3,4に分割される(ステップS1)。
【0071】
このとき、図2で示されるセル情報検出部a11によってセル情報が検出される。ここでは、セル種別の検出の結果は、マルチキャストセルである。続いて、セル種別(ここでは、マルチキャストセル)とマルチキャスト番号の情報とを含むセル情報が、図2の読出セル選択部a16に出力される。さらに、書込制御部a12に、セル情報とともにセルが送出される。
【0072】
次に、固定長セル1,2,3,4は、書込制御部a12によって、マルチキャスト入力キューa14−1のマルチキャスト番号<M1>に対応する領域に格納される(ステップS2)。
【0073】
このマルチキャスト入力キューa14−1に格納されている固定長セル1,2,3,4は、読出セル選択部a16によってマルチキャスト入力キューa14−1から出力制御される。このとき、前段クロスバスイッチDには、図11の「前段クロスバスイッチの選択」欄に示される設定がされている。すなわち、N=4のセル時間周期で各出力ポートが1セル時間ずつ各入力ポートを選択していく設定がされている。このため、マルチキャスト入力キューa14−1からのセルは、該設定情報を参照した読出セル選択部a16によって1セル時間づつずらして4セル連続で読み出されることになる(ステップS3)。
【0074】
尚、本実施の形態では、読出セル選択部a16を入力インタフェース側に設け、格納されたセルを入力インタフェース側から読み出す構成をとったが、読出セル選択部a16を前段クロスバスイッチDに設け、マルチキャスト入力キューa14−1に格納されたセルを前段クロスバスイッチD側から読み出すようにしてもよい。
【0075】
読出セル選択部a16によって読み出されたセルは、選択部a15による選択処理を経て前段クロスバスイッチDに出力される。尚、ここでは、ユニキャスト用VOQ(a13)とマルチキャストインプットキューa14とからは同時にセルを受信することはないので、選択処理は特に行われない。
【0076】
次に、前段クロスバスイッチDでは、図11の「前段クロスバスイッチの選択」欄に示される設定内容に従い切替処理を行い、受信したセルを中間段バッファに出力する。ここで、この図11に示される設定内容であるが、例えばセル時間が3である場合、出力ポート1では入力ポート3を選択し、出力ポート2では入力ポート2を選択し、出力ポート3では入力ポート1を選択し、出力ポート4では入力ポート4を選択する設定がなされている。すなわち、前述の如く、マルチキャスト入力キューa14−1から1セル時間づつずらして4セル連続で入力されたセルは、出力ポート1を起点に前段クロスバスイッチDの各出力ポートに1セルずつ均等に出力され、中間段バッファb1−1〜b1−4で受信される(ステップS4)。
【0077】
続いて、図6を見ると、中間段バッファb1−1で受信したマルチキャスト番号<M1>のセルは、シーケンス番号及びマルチキャスト番号とともに宛先検出/コピー部b11で4つにコピーされる(ステップS5)。そして、書込制御部b12によりVOQ(b13−1)のキューに宛先毎に書き込まれる(ステップS6)。他の中間段バッファのVOQ(b13−2〜b13−4)のそれぞれにおいても、これと同様のコピー処理が行われる。
【0078】
こうして、各中間段バッファb1−1〜b1−4のVOQ(b13−1〜b13−4)には、マルチキャスト番号<M1>に関連付けられたセルが、宛先となる出力インタフェースに対応付けられた複数のキューに格納されていく。具体的には、図6に示されるように、中間段バッファb1−1でコピーされたd1を宛先とするセルは、中間段バッファb1−1の宛先d1に対応するキューに格納される。同様に、中間段バッファb1−1でコピーされたd2を宛先とするセルは、中間段バッファb1−1の宛先d2に対応するキューに格納される。d3、d4を宛先とするセルも同様にして宛先d3、d4に対応するキューに格納される。この中間段バッファb1−1における格納処理と同様の処理は、中間段バッファb1−2、中間段バッファb1−3、中間段バッファb1−4でも行われる(ステップ6)。
【0079】
ここで、前述したコピー処理であるが、具体的には以下のように行われる。中間段バッファのマルチキャスト宛先管理部b15には、図7に示されるように、マルチキャスト番号に対応する宛先管理情報がテーブルに定義されている。ここでは、マルチキャスト番号<M1>に対応する宛先はd1,d2,d3,d4に設定されている。宛先検出セルコピー部b11によってこのテーブルが参照され、マルチキャスト番号<M1>に対応する宛先数4が取得される。そして、マルチキャスト番号が<M1>でシーケンス番号が(1)であるセルは、この宛先数4に相当する分だけコピーされ、VOQ(b13−1)の宛先d1〜d4に対応するキューに格納される。マルチキャスト番号が<M1>でシーケンス番号(2),(3),(4)の残りのセルも、それぞれ同様に4つ分コピーされ、VOQ(b13−2〜b13−4)の宛先d1〜d4に対応するキューに格納される。
【0080】
次に、各中間段バッファのVOQ(b13−2〜b13−4)に格納されているセルは、読出制御部b14によってVOQ(b13−2〜b13−4)から出力制御される。ここで、後段クロスバスイッチEには、図12の「後段クロスバスイッチの選択」欄に示される設定がされている。すなわち、N=4のセル時間周期で各出力ポートが1セル時間ずつ各入力ポートを選択していく設定がされている。このため、各中間段バッファのそれぞれの読出選択部b14によって該設定情報が参照され、VOQ(b13−1〜b13−4)のセルは、1セル時間づつずらして4セル連続で各キューから順次読み出される(ステップS7)。
【0081】
次に、後段クロスバスイッチEでは、図12の「後段クロスバスイッチの選択」欄に示される設定内容に従い切替処理を行い、ステップS7で読み出され受信したセルを、宛先d1〜d4に対応づけられた出力インタフェースに出力する(ステップS8)。
【0082】
ここで、図12の「後段クロスバスイッチの選択」を見ると、N(この場合、N=4)セル時間周期で各出力ポートが1セル時間ずつ各入力ポートを選択していく設定がされている。また、出力ポート間で選択する入力ポートは1セル時間ずつシフトさせる設定が施される。すなわち、図12に示されるように、「1−*」のセルは出力ポート1に、「2−*」のセルは出力ポート2に、「3−*」のセルは出力ポート3に、「4−*」のセルは出力ポート4がそれぞれ宛先ポートになるような設定が施されている。
【0083】
このように設定された後段クロスバスイッチEで切替処理された結果、各中間バッファのVOQ(b13−1〜b13−4)に分散されていたセルは、図6に示されるように、宛先d1〜d4に対応する出力インタフェースc1−1〜c1−4にマルチキャスト番号毎に格納される。すなわち、中間段バッファのセルは、出力インタフェースc1−1〜c1−4のマルチキャスト出力キュー内に複数設けられたマルチキャスト番号に対応するキューに、それぞれシーケンス番号順に格納されることになる(ステップS8)。
【0084】
そして、マルチキャスト番号に対応する各キューでは、再配列処理部c16によってシーケンス番号に基づいてセル順序が確認される。ここで、セルの順序逆転があった場合には、正しいセル順に再配列される。このようにセルが再配列処理された後、宛先d1〜d4に対応する各出力インタフェース(c1−1〜c1−N)においてパケットが再構築され、出力される(ステップS9)。
【0085】
上記実施の形態では、入力インタフェース1から入力された場合を例にとって説明したが、セルの入力されるインタフェースは、入力インタフェース1〜Nのいずれであっても構わない。
【0086】
上記第1の実施の形態では、本発明のセル処理装置が、入出力インタフェース部の間にスイッチを介した中間段バッファ部を有し、マルチキャスト処理の際には、この中間段バッファ部の複数の中間段バッファでセルのコピー処理を行う。すなわち、セルのコピー処理は、中間段バッファ部の複数の中間段バッファの構成部内で行われ、異なるインタフェース間に亘ってセルのコピー処理がされることがないので、セルの転送路の帯域がコピー処理後の増分のセルによって圧迫されることがなく、セルの転送遅延の発生を抑えることができる。
【0087】
また、上記第1の実施の形態では、中間段バッファ部に加えて前段及び後段クロスバスイッチを設け、これらのクロスバスイッチに予め設定された設定情報に従って中間段バッファの入出力切替え処理を行わせることで、中間段バッファに格納されているセルを、セルの宛先に対応づけられた出力インタフェースに出力するよう構成させた。すなわち、上記第1の実施の形態では、各種バッファに加え、単純な切替処理を行うスイッチを設けて入出力の切替処理を行わせるだけマルチキャスト処理ができるので、スケジューラや優先制御用の振分回路といったものを設けて複雑な処理をさせる必要がなく、装置構成を簡素化できる。
【0088】
上記の実施の形態では、分割されたセル数が4であり、中間段バッファの個数Nも4である場合(N=4)を例にとって説明したが、中間段バッファの数Nをセルの数に合わせる必要は特にない。N個(N:自然数)の中間段バッファで構成させ、各中間段バッファの内部に、宛先に対応したキューを宛先数分(出力インタフェース数分)設けておけば、分割されたセル数が何セルであってもセル処理は可能である。例えば、3つの中間段バッファを設けておき、100個に分割されたセルを処理させても構わない。この場合の処理フローの例は、図15〜図17で示される。処理フローは前述した動作と同様になるため、詳細な説明については省略する。
【0089】
さて、上記実施の形態では、受信したセルがマルチキャストセルである場合を例にとって説明したが、セル種別がユニキャストセルであった場合でもセル処理はむろん可能である。
【0090】
次に、入力されたセルがユニキャストセルであった場合の処理の動作について図14を用いて説明する。尚、以下では、ユニキャストセルの送出元がs1であり、宛先がd1であるものとして説明する。また、ここでも、可変長パケットが4つのセルに分割される場合を例にとって説明する。
【0091】
図1の構成(インタフェース数N=4の場合を想定)において、入力インタフェースa1−1に可変長パケットが到着すると、入力インタフェースa1−1によって、このパケットは4つの固定長セル1,2,3,4に分割され、シーケンス番号が付与される(ステップT1)。この分割されたセルの各々は、図2のセル情報検出部a11によってセル種別・宛先情報等がチェックされる。ここでは、セル種別の検出結果はユニキャストセルとなる。
【0092】
さらに、この4つの固定長セル1,2,3,4は、書込制御部a12によってユニキャストVOQ(a13−1)の宛先d1に対応するキューに格納され(ステップT2)、前段クロスバスイッチDの設定に合わせて均等に各中間段バッファb1−1〜b1−4に出力される。すなわち、シーケンス番号(1)のセル1は中間段バッファb1−1に、シーケンス番号(2)のセル2は中間段バッファb1−2に、シーケンス番号(3)のセル3は中間段バッファb1−3に、シーケンス番号(4)のセル4は中間段バッファb1−4に出力される(ステップT3)。
【0093】
セル1を受信した中間段バッファb1−1では、このセルをコピーせずにVOQ(b13−1)の宛先d1に対応するキューに格納する。具体的には、まず、中間段バッファb1−1の宛先検出/セルコピー部b11によって宛先情報が検出されると、検出された宛先情報及びセルが書込制御部b12に出力される。このとき、受信したセルはユニキャストセルであるので、宛先検出/セルコピー部b11ではコピー処理がされない。ここで、コピー処理をさせない構成をとったのは、ユニキャストセルの場合、セルと宛先となる出力インタフェースとが1:1で対応するのでコピーの必要がないからある。
【0094】
次に、書込制御部b12によって、このセル1は、VOQ(b13−1)の宛先d1に対応するキューにそのまま格納される。
【0095】
同様にして、中間段バッファb1−2〜b1−4でも、セル2〜4がVOQ(b13−2〜b13−4)の宛先d1に該当するキューに格納される(ステップT4)。
【0096】
こうして格納された各セルは、後段クロスバスイッチEの設定に合わせて宛先d1〜d4に対応する出力インタフェース(c1−1〜c1−4)に出力される。そして、各ユニキャスト用VIQに複数設けられたキューのうち、送信元の入力インタフェースs1に対応するキューに格納され(ステップT5)、パケットが再構築されて出力される(ステップT6)。
【0097】
次に、本発明の第2の実施の形態について、図13のブロック図を用いて説明する。
【0098】
尚、第2の実施の形態を構成する各部は、中間段バッファ部b2(b2−1〜b2−N)が、コピー部b21(b21−1〜b21−N)、分離部b26(b26−1〜b26−N)を有する他、VOQ(b13)に替えてユニキャスト用VOQ(b28)及びマルチキャスト用VOQを有する点を除いては第1の実施の形態の構成と同じである。このため、同一の構成部分には同一の符号番号を施し、詳細な説明は省略する。
【0099】
各中間段バッファb2−1〜b2−Nの分離部b26−1〜b26−Nでは、受信セルをユニキャストセルとマルチキャストセルに分離する。
【0100】
分離されたユニキャストセルはユニキャストVOQに格納される。具体的には、ユニキャストVOQ(b28−1〜b28−N)のそれぞれは、宛先に対応するキューを複数有し、ユニキャストセルは、このキューに宛先別に格納される。
【0101】
一方、分離されたマルチキャストセルは、コピー処理部b21−1〜b21−Nにて宛先数分コピーされ、中間段バッファのマルチキャストVOQに格納される。具体的には、マルチキャストVOQ(b29−1〜b29−N)のそれぞれも宛先に対応するキューを複数有し、マルチキャストセルは、このキューに宛先毎に格納される。
【0102】
ユニキャストVOQ(b28−1〜b28−N)に蓄積されたユニキャストセル、又はマルチキャストVOQ(b29−1〜b29−N)に蓄積されたマルチキャストセルは、後段クロスバスイッチEの設定に合わせて切替え処理され、出力インタフェースに出力される。ここで、ユニキャストVOQ(b28−1〜b28−N)またはマルチキャストVOQ(b29−1〜b29−N)のいずれかから出力するセルを決定する方法であるが、VOQを優先的に読み出す方法や順番に1セルずつ読み出す方法などが考えられる。
【0103】
続いて、出力されたセルは、再配列処理部c16により、シーケンス番号順に並んでいるか否かがチェックされる。ここで、シーケンス番号順に並んでいないと判断された場合には、再配列処理部c16によってシーケンス番号順に並び替えられる。
【0104】
上記第2の実施の形態では、コピー処理を行う前に、受信したセルをセル種別に基づいてマルチキャストセルとユニキャストセルとに分別する分離手段を有する。このため、セル種別に応じた出力制御が容易になる。すなわち、受信したセルは、該分離手段によってセルの種別毎に分離して格納されるので、例えば、「ユニキャストセルに優先してマルチキャストセルだけを最初に出力する」といったような出力制御が容易になる。
【図面の簡単な説明】
【0105】
【図1】本発明におけるセル処理装置の第1の実施形態の全体ブロック図。
【図2】入力インタフェース部の内部構成を示すブロック図。
【図3】中間段バッファ部の内部構成を示すブロック図。
【図4】出力インタフェース部の内部構成を示すブロック図。
【図5】本発明における第1の実施形態のマルチキャスト処理の例を示す図。
【図6】本発明における第1の実施形態のマルチキャスト処理の例を示す図。
【図7】宛先管理情報の例を示す図。
【図8】従来における入力バッファ型スイッチの構成例を示す図。
【図9】従来における入力バッファ型スイッチにおいて、マルチキャストセルの処理を行う場合の構成例を示す図。
【図10】従来における入力バッファ型スイッチにおいて、マルチキャストセルの処理を行う場合の構成例を示す図。
【図11】前段クロスバスイッチにおけるスイッチ処理の例を示す図。
【図12】後段クロスバスイッチにおけるスイッチ処理の例を示す図。
【図13】本発明におけるセル処理装置の第2実施形態の全体ブロック図。
【図14】本発明における第1の実施形態のユニキャスト処理の例を示すブロック図。
【図15】本発明の第1の実施の形態の変形例を示す図。
【図16】本発明の第1の実施の形態の変形例を示す図。
【図17】本発明の第1の実施の形態の変形例を示す図。
【符号の説明】
【0106】
A 入力インタフェース部
B 中間段バッファ部
C 出力インタフェース部
D 前段クロスバスイッチ
E 後段クロスバスイッチ
a1−1 入力インタフェース1
a1−2 入力インタフェース2
a1−3 入力インタフェース3
a1−N 入力インタフェースN
a11 セル情報検出部
a12 書込制御部
a13 ユニキャスト用VOQ
a14 マルチキャスト入力キュー
a15 選択部
a16 セル選択部
b1−1 中間段バッファ
b1−2 中間段バッファ
b1−3 中間段バッファ
b1−N 中間段バッファ
b11 宛先検出/セルコピー部
b12 書込制御部
b13 VOQ
b13−1〜b13−N VOQ
b14 読出制御部
b15 マルチキャスト宛先管理部
b21 コピー処理部
b26 分離部
b28−1〜b28−N ユニキャストVOQ
b29−1〜b29−N マルチキャストVOQ
c1−1 出力インタフェース1
c1−2 出力インタフェース2
c1−3 出力インタフェース3
c1−N 出力インタフェースN
c11 ユニキャスト/マルチキャスト検出部
c12 書込制御部
c13 ユニキャストVIQ
c13−1〜c13−N ユニキャストVIQ
c14 マルチキャスト出力キュー
c14−1〜c14−N マルチキャスト出力キュー
c15 選択部
c16 再配列処理部
【特許請求の範囲】
【請求項1】
宛先に対応する複数のキューと、受信したセルを宛先数コピーして、対応する宛先のキューに格納する格納手段と、前記宛先に対応する複数のキューに格納されたセルを、予め定められたキューの読み出し順序に従って、前記キューからセルを読み出す読出制御手段とを有する複数の中間段バッファと、
予め定められた中間段バッファへの出力の切替順序に従って、受信したセルを前記中間段バッファに出力する切替処理を行う第1のスイッチ処理手段と、
前記中間段バッファと宛先に対応づけられた出力インタフェースとの入出力の切替順序が予め定められ、この切替順序に従って、前記読出制御手段によって読み出されたセルを入力して前記出力インタフェースに出力する第2のスイッチ処理手段と
を有することを特徴とするセル処理装置。
【請求項2】
前記中間段バッファは、宛先とセルのマルチキャスト番号とを関連づけて宛先管理情報として記憶し、マルチキャストセルを受信した場合に、そのセルのマルチキャスト番号に対応する宛先の数セルをコピーするように構成されていることを特徴とする請求項1に記載のセル処理装置。
【請求項3】
前記宛先に対応づけられた出力インタフェースの各々は、格納されているセルの順番を示すシーケンス番号をチェックし、シーケンス番号順に並んでいない場合にはシーケンス番号順にセルを並びかえる再配列処理手段を有することを特徴とする請求項1または請求項2に記載のセル処理装置。
【請求項4】
前記中間段バッファにユニキャスト用の宛先毎のキューを設け、
受信したセルを、セル種別に基づいて、前記ユニキャスト用のキュー又は、前記格納手段のいずれかに出力する判別手段を有することを特徴とする請求項1から請求項3のいずれかに記載のセル処理装置。
【請求項5】
前記第1のスイッチ処理手段に接続される入力インタフェース、及び、前記出力インタフェースにおいて、ユニキャストセルとマルチキャストセルを別々に管理することを特徴とする請求項1から請求項4のいずれかに記載のセル処理装置。
【請求項6】
宛先に対応する複数のキューを設けた複数の中間段バッファと、前記複数の中間段バッファにセルを出力する第1のスイッチ処理手段と、前記複数の中間段バッファから読み出されたセルを、宛先に対応づけられた出力インタフェースに出力する第2のスイッチ処理手段とを備えたスイッチ処理装置におけるセルのスイッチ処理方法であって、
前記第1のスイッチ処理手段は、予め定められた中間段バッファへの出力の切替順序に従って、受信したセルを前記中間段バッファに出力し、
前記中間段バッファは、受信したセルを宛先数コピーして対応する宛先のキューに格納し、前記宛先に対応する複数のキューに格納されたセルを、予め定められたキューの読み出し順序に従ってセルを読み出し、
前記第2のスイッチ処理手段は、予め定められた前記中間段バッファと前記出力インタフェースとの入出力の切替順序に従って、前記中間段バッファから読み出されたセルを入力して前記出力インタフェースに出力する
ことを特徴とするセルのスイッチ処理方法。
【請求項7】
前記中間段バッファは、宛先とセルのマルチキャスト番号とを関連づけて宛先管理情報として記憶し、マルチキャストセルを受信した場合に、そのセルのマルチキャスト番号に対応する宛先の数セルをコピーすることを特徴とする請求項6に記載のセルのスイッチ処理方法。
【請求項8】
前記出力インタフェースにおいて、格納されているセルの順番を示すシーケンス番号をチェックし、シーケンス番号順に並んでいない場合にはシーケンス番号順にセルを並びかえることを特徴とする請求項6または請求項7に記載のセルのスイッチ処理方法。
【請求項9】
前記中間段バッファにユニキャスト用の宛先毎のキューを設け、
セル種別に基づいて、受信したセルの種別を判別し、前記セルがユニキャスト用セルである場合にはコピーせずに前記ユニキャスト用の対応する宛先のキューに出力することを特徴とする請求項6から請求項8のいずれかに記載のセルのスイッチ処理方法。
【請求項10】
前記第1のスイッチ処理手段に接続される入力インタフェース、及び、前記出力インタフェースにおいて、ユニキャストセルとマルチキャストセルを別々に管理することを特徴とする請求項6から請求項9のいずれかに記載のセルのスイッチ処理方法。
【請求項1】
宛先に対応する複数のキューと、受信したセルを宛先数コピーして、対応する宛先のキューに格納する格納手段と、前記宛先に対応する複数のキューに格納されたセルを、予め定められたキューの読み出し順序に従って、前記キューからセルを読み出す読出制御手段とを有する複数の中間段バッファと、
予め定められた中間段バッファへの出力の切替順序に従って、受信したセルを前記中間段バッファに出力する切替処理を行う第1のスイッチ処理手段と、
前記中間段バッファと宛先に対応づけられた出力インタフェースとの入出力の切替順序が予め定められ、この切替順序に従って、前記読出制御手段によって読み出されたセルを入力して前記出力インタフェースに出力する第2のスイッチ処理手段と
を有することを特徴とするセル処理装置。
【請求項2】
前記中間段バッファは、宛先とセルのマルチキャスト番号とを関連づけて宛先管理情報として記憶し、マルチキャストセルを受信した場合に、そのセルのマルチキャスト番号に対応する宛先の数セルをコピーするように構成されていることを特徴とする請求項1に記載のセル処理装置。
【請求項3】
前記宛先に対応づけられた出力インタフェースの各々は、格納されているセルの順番を示すシーケンス番号をチェックし、シーケンス番号順に並んでいない場合にはシーケンス番号順にセルを並びかえる再配列処理手段を有することを特徴とする請求項1または請求項2に記載のセル処理装置。
【請求項4】
前記中間段バッファにユニキャスト用の宛先毎のキューを設け、
受信したセルを、セル種別に基づいて、前記ユニキャスト用のキュー又は、前記格納手段のいずれかに出力する判別手段を有することを特徴とする請求項1から請求項3のいずれかに記載のセル処理装置。
【請求項5】
前記第1のスイッチ処理手段に接続される入力インタフェース、及び、前記出力インタフェースにおいて、ユニキャストセルとマルチキャストセルを別々に管理することを特徴とする請求項1から請求項4のいずれかに記載のセル処理装置。
【請求項6】
宛先に対応する複数のキューを設けた複数の中間段バッファと、前記複数の中間段バッファにセルを出力する第1のスイッチ処理手段と、前記複数の中間段バッファから読み出されたセルを、宛先に対応づけられた出力インタフェースに出力する第2のスイッチ処理手段とを備えたスイッチ処理装置におけるセルのスイッチ処理方法であって、
前記第1のスイッチ処理手段は、予め定められた中間段バッファへの出力の切替順序に従って、受信したセルを前記中間段バッファに出力し、
前記中間段バッファは、受信したセルを宛先数コピーして対応する宛先のキューに格納し、前記宛先に対応する複数のキューに格納されたセルを、予め定められたキューの読み出し順序に従ってセルを読み出し、
前記第2のスイッチ処理手段は、予め定められた前記中間段バッファと前記出力インタフェースとの入出力の切替順序に従って、前記中間段バッファから読み出されたセルを入力して前記出力インタフェースに出力する
ことを特徴とするセルのスイッチ処理方法。
【請求項7】
前記中間段バッファは、宛先とセルのマルチキャスト番号とを関連づけて宛先管理情報として記憶し、マルチキャストセルを受信した場合に、そのセルのマルチキャスト番号に対応する宛先の数セルをコピーすることを特徴とする請求項6に記載のセルのスイッチ処理方法。
【請求項8】
前記出力インタフェースにおいて、格納されているセルの順番を示すシーケンス番号をチェックし、シーケンス番号順に並んでいない場合にはシーケンス番号順にセルを並びかえることを特徴とする請求項6または請求項7に記載のセルのスイッチ処理方法。
【請求項9】
前記中間段バッファにユニキャスト用の宛先毎のキューを設け、
セル種別に基づいて、受信したセルの種別を判別し、前記セルがユニキャスト用セルである場合にはコピーせずに前記ユニキャスト用の対応する宛先のキューに出力することを特徴とする請求項6から請求項8のいずれかに記載のセルのスイッチ処理方法。
【請求項10】
前記第1のスイッチ処理手段に接続される入力インタフェース、及び、前記出力インタフェースにおいて、ユニキャストセルとマルチキャストセルを別々に管理することを特徴とする請求項6から請求項9のいずれかに記載のセルのスイッチ処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2008−252753(P2008−252753A)
【公開日】平成20年10月16日(2008.10.16)
【国際特許分類】
【出願番号】特願2007−94296(P2007−94296)
【出願日】平成19年3月30日(2007.3.30)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成18年度、総務省、「次世代バックボーンに関する研究開発」委託研究、産業再生法第30条の適用を受ける特許出願)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成20年10月16日(2008.10.16)
【国際特許分類】
【出願日】平成19年3月30日(2007.3.30)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成18年度、総務省、「次世代バックボーンに関する研究開発」委託研究、産業再生法第30条の適用を受ける特許出願)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]