JP2005033661A - 光パケットのバッファリング装置とそのバッファリング方法 - Google Patents
光パケットのバッファリング装置とそのバッファリング方法 Download PDFInfo
- Publication number
- JP2005033661A JP2005033661A JP2003272621A JP2003272621A JP2005033661A JP 2005033661 A JP2005033661 A JP 2005033661A JP 2003272621 A JP2003272621 A JP 2003272621A JP 2003272621 A JP2003272621 A JP 2003272621A JP 2005033661 A JP2005033661 A JP 2005033661A
- Authority
- JP
- Japan
- Prior art keywords
- optical
- optical packet
- register
- length
- output
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0007—Construction
- H04Q2011/002—Construction using optical delay lines or optical buffers or optical recirculation
Abstract
【解決手段】 複数の光路で伝送された非同期到着する可変長パケットを入力し、少数の光路に出力する装置で、出力用の光路において光パケット信号が重ならないようにするために、遅延素子の遅延値と読み取られた光パケット長と光パケット前置期間とを用いて、演算によって一時的に保管する遅延素子を決める制御装置において、図13のように複数の演算器を多段に配置して、遅延時間の決定に必要な処理を、プリフィクスサムオペレーションを並列パイプライン化した演算結果とバッファリング装置のキュー長と光パケット長と光パケット前置期間とを用いて並列処理で行う構成とする。
【選択図】 図13
Description
葉原 敬士、三条 広明、西沢 秀樹、小川 育夫、須崎 泰正、"波長ルーチング型大容量光パケットスイッチの開発"、 電子情報通信学会技術研究報告(SSE99-148), 2000年2月. David K. Hunter and Meow C. Chia and Ivan Andonovic, "Buffering in OpticalPacket Switches", IEEE/OSA Journal of Lightwave Technology, Vol. 16, No. 12,pp. 2081-2094, December 1998. F. Callegati, "Optical buffers for variable length packets, " IEEECommunications Letters, vol. 4, pp. 292-294, September 2000. N. Wada, H. Harai, W. Chujo, and F. Kubota, "Photonic packet routing based onultiwavelength label switching using fiber Bragg gratings, " ECOC 2000Technical Digest (26th European Conference on Optical Communication), vol. 4(No. 10.4.6), pp. 71-72, September 2000. A. Prakash, S. Sharif, and A. Aziz, "An O_log_ N_ parallel algorithm foroutput queueing, " Proceedings of IEEE INFOCOM 2002. H. Harai, N. Wada, F. Kubota, and W. Chujo, "Contention resolution usingmulti-stage fiber delay line buffer in a photonic packet switch, " Proceedingsof IEEE ICC 2002.
それぞれの光路の可変長光パケットの光パケット長を読みとる読取手段と、予め用意したクロック信号とそれに引き続く最近の前記可変長光パケットの到着時間との時間差(光パケット前置期間)と、を読みとる読取手段と、上記の光パケットを一時的に保管し、B通りの異なった遅延時間のいずれかを上記の光パケットに与える複数の遅延素子からなるキューと、上記の光パケットを上記の複数の遅延素子に振り分ける光スイッチと、上記の遅延された光パケットを合波する合波器と、合波器に接続された出力用の光路とを含み、
出力用の光路において、入力された光パケットが重ならないようにするために、遅延素子の遅延値と読み取られた光パケット長と光パケット前置期間とを用いて、演算によって一時的に保管する遅延素子を決める制御装置を含み、その制御装置においては、
上記の複数の光路には1からNの順序数nが与えられているものとし、以下においては、対応するものが無いときにはその値をゼロとするものとするとき、
それぞれの光路の光パケット長と光パケット前置期間について、
第1段の演算器とレジスタの並びとして、第(n−1)光路上にある光パケットの光パケット長と光パケット前置期間と、第n光路上の光パケットの光パケット長と光パケット前置期間との演算を行う演算器P(1,n)と、その演算結果を保持するレジスタR(1,n)と、が配置され、
第m(2≦m≦log2 N)段の並びとして、レジスタR(m−1,n−2m-1)あるいはその複写とレジスタR(m−1,n)あるいはその複写との演算を行う演算器P(m,n)と、その演算結果を保持するレジスタR(m,n)と、が設けられ、
2M=Nとなる第(M+1)段には、演算器とキュー長の最後尾の情報を保持するレジスタQが設けられ、
さらに、第1の可変長光パケットに与える遅延を、第1光路の光パケット長と光パケット前置期間あるいはその複写とレジスタQの値との演算から決定する演算器P(M+1,1)と、
1より大きいnについて、第nの可変長光パケットに与える遅延を、第nの光路の光パケット長と光パケット前置期間あるいはその複写とレジスタR(M,n−1)とレジスタQの値との演算から決定する演算器P(M+1,n)と、が、設けられ、
演算器P(M+1,1)あるいは、演算器P(M+1,n)の出力によりそれぞれの光路の可変長光パケットに与える遅延時間を調整することにある。
上記の読取手段は、周期Tで読み取りを行い、この読み取り手段を指定された時刻に通過する第n番の光路の光パケットについて、光パケットの長さをln(エルエヌ)とし、光パケット前置期間をtnとし、また、n=0については、ln=tn=0とし、
上記の複数の遅延素子による遅延は、遅延値Dで増加する遅延として並べることができる構成とするとき、
上記の演算器は、入力側のそれぞれの光路の数Nについてそれぞれ備えられており、その1からNのうちの整数nについて、
1)ln-1=0であるとき、tnをtn,1として出力し、あるいは、
ln-1=0でないとき、tn-1を出力tn,1とし、
2)また、gn-1=ln-1+tn-1、とし、
3)ln=0であるとき、gn-1 を出力fn,1 とし、あるいは、
ln=0でないとき、Δnを(gn-1−tn)/Dを下回らない最小の整数として、(tn+ln+ΔnD)を出力fn,1とすることを特徴とし、請求項1に記載の光パケットのバッファリング装置に用いることである。
1段目のそれぞれの演算器P(1,n)には、それぞれの出力(fn,1、tn,1)を一時的に保存するレジスタR(1,n)が設けられており、
3からNのnについて、n番目のレジスタ内容と(n−2)番目のレジスタ内容とを演算し、出力(fn,2、tn,2)を与える2段目のn−2番目の演算器P(2,n)が備えられている装置のバッファリング方法であって、
1)fn-2,1=0であるとき、tn,1をtn,2として出力し、あるいは、
fn-2, 1=0でないとき、tn-2,1をtn,2として出力し、
2)また、fn,1=0であるとき、fn-2,1をfn,2として出力し、あるいは、fn,1=0でないときで、
2−1)Δnを(fn-2,1−tn,1)/Dを下回らない最小の整数として、(fn,1+ΔnD)を出力fn,2とする、
ことである。
m段目の演算器について、β=2m-1として、β+1からNのnについて、前段の演算器P(m−1,n)に接続された上記のn番目のレジスタ内容R(m−1,n)と(n−β)番目のレジスタ内容R(m−1,n−?)とを演算し、出力(fn,m、tn,m)を与えるm段目の(n−β)番目の演算器P(m,n)が備えられている装置のバッファリング方法であって、
1)fn-β,m-1=0であるとき、tn,m-1をtn,mとして出力し、あるいは、
fn-β,m-1=0でないとき、tn-β,m-1を出力tn,mとし、
2)また、fn,m-1=0であるとき、fn-β,m-1をfn,mとして出力し、あるいは、
fn,m-1=0でないとき、
2−1)Δnを(fn-β,m-1−tn,m-1)/Dを下回らない最小の整数として、(fn,m-1+ΔnD)を出力fn,mとする、
ことである。
上記のキューの長さをqとするとき、M=log2N、とするとき、1からNのうちの整数nについて、
1)ln≠0でない場合には、終了し、
ln≠0である場合で、レジスタR(M,n−1)にあるfn-1,Mについて、
2)fn-1,M=0のときには、臨時の値(temp)を設けて、(temp)=qとし、
fn-1,M=0でないときには、(q−tn-1,M)/Dを下回らない最小の整数とfn-1,Mとの和を(temp)とし、
3)((temp)−tn)/Dを下回らない最小の整数をΔnとして、
ΔnがBよりも小さいときは、Δnを遅延素子を指定する情報として出力し、
小さくないときは、それに対応する光パケットを棄却する、
ことである。
1)レジスタR(M,N)に保持されたfN,Mについて、
fN,M=0が成立する場合は、(q−T)と0との大きいほうを新規のキュー長(qnew)としてその値をレジスタQに保持し、
fN,M=0が成立しない場合は、Δを(q−tN,M)/Dを下回らない最小の整数とするとき、
2)このΔが上記のBより小さいときには、fN,M+ΔD−T と、0との大きいほうの値を新規のキュー長としレジスタQに保持し、
このΔがBより小さくないときには、(q−T)を新規のキュー長とし、レジスタQに保持する、
ことである。
MTU(最大転送サイズ)が設定されている場合に、
1)レジスタR(M,N)に保持されたfN,MについてfN,M=0が成立する場合は、(q−T)と0との大きいほうを新規のキュー長(qnew)としてその値をレジスタQに保持し、
fN,M=0が成立しない場合は、Δを(q−tN,M)/Dを下回らない最小の整数とするとき、
2)このΔがBより小さいときには、(fN,M+ΔD)と、(BD+MTU)との小さいほうからTを引いた値と、0との大きいほうの値を新規のキュー長としてその値をレジスタQに保持し、
このΔがBより小さくないときには、(q−T)を新規のキュー長とし、レジスタQに保持する、
ことである。
上記の光路の数をN、その番号をnとし、周期Tを適当に決めた単位時間(τ)の2の累乗倍、すなわち、T=2aτ(aは非負の整数)に設定し、ただし、Tは単位時間(τ)の整数倍の長さで表される最小パケット長を上回らないものとし、上記の読取手段は、周期Tで読み取りを行い、この読み取り手段を指定された時刻に通過する第n番の光路の光パケットについて、光パケットの長さを単位時間の整数倍の長さで表されるln(エルエヌ)とし、光パケット前置期間を単位時間の整数倍の長さで表されるtnとし、前記の光パケットの長さは、その長さを下回らない、単位時間の整数倍で表すものとし、前記の前置期間はその前置期間を上回らない、単位時間の整数倍で表すものとし、また、n=0については、ln=tn=0とし、
上記の複数の遅延素子による遅延は、遅延値Dで増加する遅延として並べることができる構成とし、Dを2k(kは非負の整数)で与えるとき、また、表記法として、整数xの2進数の下位kビットに相当する整数をx(2)とし、前記の下位kビットを除いた残りの上位ビットで構成される2進数をx(1)とするとき、
上記の演算器は、入力側のそれぞれの光路の数Nについてそれぞれ備えられており、その1からNまでの整数nについて、
1)ln-1=0であるとき、tnをtn,1として出力し、あるいは、
ln-1=0でないとき、tn-1を出力tn,1として出力し、
2)また、gn-1=ln-1+tn-1、とし、
3)ln=0であるとき、gn-1をfn,1として出力し、
ln=0でないとき、gn-1がtn以下の場合には、gn-1 (1)をΔnとし、
gn-1がtn以下でない場合には、(gn-1 (1)+1)をΔnとし、
4)(tn (2)+ln+2kΔn)を出力fn,1とする、
ことである。
m段目の演算器について、β=2m-1として、β+1からNのnについて、前段の演算器P(m−1,n)に接続された上記のn番目のレジスタ内容R(m−1,n)と(n−β)番目のレジスタ内容R(m−1,n−?)とを演算し、出力(fn,m、tn,m)を与えるm段目の(n−β)番目の演算器P(m,n)が備えられている装置のバッファリング方法であって、
1)fn-β,m-1=0であるとき、tn,m-1をtn,mとして出力し、あるいは、
fn-β,m-1=0でないとき、tn-β,m-1を出力tn,mとし、
2)また、fn,m-1=0であるとき、fn-β,m-1をfn,mとして出力し、あるいは、
fn,m-1=0でないときで、
2−1) fn-β,m-1 (2)がtn,m-1 (2)以下の時には、fn-β,m-1 (1)をΔnとし、
2−2) fn-β,m-1がtn,m-1以下でない時には、(fn-β,m-1 (1)+1)をΔnとし、
3) (fn,m-1+2kΔn)をfn,mとして出力する、ことである。
1)ln≠0でないときには、終了し、
2)ln≠0のときには、
2−1)fn-1,M=0のときで、
q(2)がtn (2)以下のときには、q(1)をΔnとし、
q(2)がtn (2)以下でないときには、(q(1)+1)をΔnとし、
2−2)fn-1,M=0でないときで、
q(2)がtn-1,M (2)以下のときには、q(1)をΔ1とし、
q(2)がtn-1,M (2)以下でないときには、(q(1)+1)をΔ1とし、さらに、
2−3−1)fn-1,M (2)がtn (2)以下のときには、(Δ1+fn-1,M (1))をΔnとし、
2−3−2)fn-1,M (2)がtn (2)以下でないときには、(Δ1+1+fn-1,M (1))をΔnとし、
3)ΔnがBよりも小さいときは、Δnを遅延素子を指定する情報として出力し、
小さくないときは、それに対応する光パケットを棄却する、ことである。
M=log2Nとするとき、
1)fN,M=0が成立する場合で
1−1) qがTより大きいときは、(q−T)を新規のキュー長(qnew)とし、
1−2) qがTより大きくないときは、qnew=0とし、
2)fN,M=0でない場合で、
2−1)q(2)がtN,M (2)以下のときには、q(1)をΔとし、
q(2)がtN,M (2)以下でないときには、(q(1)+1)をΔとし、
3−1)このΔがBより小さいときで、
3−1−1)fN,M+2kΔがTより大きいときには、(fN,M+2kΔ−T)をqnewとし、
3−1−2)fN,M+2kΔがTより大きくないときには、qnew=0とし、
3−2)このΔがBより小さくないときには、(q−T)をqnewとする、ことである。
M=log2Nとするとき、
1)fN,M=0が成立する場合で
1−1) qがTより大きいときは、(q−T)を新規のキュー長(qnew)とし、
1−2) qがTより大きくないときは、qnew=0とし、
2)fN,M=0でない場合で、
2−1)q(2)がtN,M (2)以下のときには、q(1)をΔとし、
q(2)がtN,M (2)以下でないときには、(q(1)+1)をΔとし、
3−1)このΔがBより小さいときで、
3−1−1)(fN,M+2kΔ)が(2kB+MTU)よりも大きいときは、(2kB+MTU−T)をqnewとし、
3−1−2)(fN,M+2kΔ)が(2kB+MTU)よりも大きくないときで、
3−1−2−1)fN,M+2kΔがTより大きいときには、(fN,M+2kΔ−T)をqnewとし、
3−1−2−2)fN,M+2kΔがTより大きくないときには、qnew=0とし、
3−2)このΔがBより小さくないときには、(q−T)をqnewとする、ことである。
複数の光路から同期固定長光パケットを入力し、それぞれの光パケットにB通りの異なった遅延時間のいずれかを与えてひとつの光路に出力する装置であって、
それぞれの光路の光パケットの有無を読みとる読取手段と、
上記の複数の光パケットを一時的に保管してB通りの異なった遅延時間のいずれかを与える複数の遅延素子からなるキューと、上記の光パケットを上記の複数の遅延素子に振り分ける光スイッチと、上記の複数の遅延素子に光路で接続された合波器と、合波器に接続された出力用の光路とを含み、
出力用の光路において光パケットが重ならないようにするために、遅延素子の遅延値と、読み取られた光パケットの有無情報とを用いて、演算によって一時的に保管する遅延素子を決める制御装置をそなえ、
この制御装置は、
上記の複数の光路には1からNの順序数nが与えられているものとし、以下においては、nについて対応するものが無いときには無視するものとするとき、
それぞれの光路の光パケットの有無情報について、
第1段の演算器とレジスタの並びとして、第(n−1)光路上にある光パケットの光パケットの有無情報と、第n光路上の光パケットの光パケットの有無情報と、の演算を行う演算器P(1,n)と、その演算結果を保持するレジスタR(1,n)と、が配置され、
第m(2≦m≦log2 N)段の並びとして、レジスタR(m−1,n−2m-1)あるいはその複写とレジスタR(m−1,n)あるいはその複写との演算を行う演算器P(m,n)と、その演算結果を保持するレジスタR(m,n)と、が設けられ、
2M=Nとなる整数Mについて、第M+1段には、演算器とキュー長の最後尾の情報を保持するレジスタQが設けられ、
さらに、第1の同期固定長光パケットに与える遅延を、第1光路の光パケットの有無情報あるいはその複写とレジスタQの値との演算から決定し、
1より大きいnについて、第nの同期固定長光パケットに与える遅延を演算器P(M+1,n)を用いて、第nの光路の光パケットの有無情報あるいはその複写とレジスタR(M,n−1)とレジスタQの値との演算から
決定することにより、それぞれの光路の同期固定長光パケットに与える遅延時間を調整することである。
それぞれの光路の光パケットの有無を周期Tごとに読みとる読取手段を備え、第1段のそれぞれの演算器は、ポート(n−1)とポートnへ到着する光パケットの有無にしたがってln-1、lnに、到着時に1、非到着時に0を入力し、
l0:=0とし、
1からNまでの整数nについて、
fn,1:=ln-1+ln
とする演算を行ない、2つのポートに到着した光パケット数fn,1を出力する演算器であることである。
1段目のそれぞれの演算器P(1,n)には、それぞれの出力(fn,1)を一時的に保存するレジスタR(1,n)が設けられており、2からlog2Nまでの整数mについて、(m−1)段目の演算器が定義されているとき、m段目の演算器について、
β=2m-1として、β+1からNまでのnについて、前段の演算器P(m−1,n)に接続されたn番目のレジスタR(m−1,n)の値と前段の演算器P(m−1,n−β)に接続された(n−β)番目のレジスタR(m−1,n−β)の値とについて、
fn,m:=fn,m-1+fn-β,m-1
とする演算を演算器P(m,n)で行ない、fn,mを出力として与えること、である。
レジスタR(M,N)に保持されたfN,Mについて、min(q+fN,M ,B−1)と0との大きいほうの値を新規のキュー長(qnew)としてその値をレジスタQに保持する、ことである。
第(M+1)段目における演算器P(M+1,n)(ただし、1≦n≦N)は、
ポート1からn−1までに到着した光パケット数fn-1,M、と、
ポートnに到着する光パケットの有無ln、と、
キュー長qとを用いて、1からNまでの整数nについて
ln=0の場合は、終了し
そうでない場合は、Δn:=q+fn-1,Mとするが、
もし、Δn<Bの場合は、光パケットに、Δnの遅延を与え、
Δn<Bでない場合は、その光パケットを棄却する、
という処理を順に行って遅延Δnの値を、遅延素子を指定する情報として出力することである。
ここで、N×1バッファ4は、本発明の特徴となるバッファであり、図7に示す構成を持っており、それぞれの光路の可変長光パケットの光パケット長を読みとる読取手段と、予め用意したクロックとそれに引き続く最近の前記可変長光パケットとの時間差(光パケット前置期間)を読みとる読取手段と、上記の光パケットを一時的に保管し、B通りの異なった遅延時間のいずれかを上記の光パケットに与える遅延素子からなるキューと、上記の光パケットを上記の複数の遅延素子に振り分ける光スイッチと、上記の複数の遅延素子に光路で接続された合波器と、合波器に光路で接続された出力用の光路と、を、含んでいる。
1) それぞれの光路の可変長光パケットの光パケット長を読みとる読取手段と、予め用意したクロック信号とそれに引き続く最近の前記可変長光パケットの到着時間との時間差(光パケット前置期間)とを読みとる読取手段と、上記の光パケットを一時的に保管し、B通りの異なった遅延時間のいずれかを上記の光パケットに与える複数の遅延素子からなるキューと、上記の光パケットを上記の複数の遅延素子に振り分ける光スイッチと、上記の遅延された光パケットを合波する合波器と、合波器に接続された出力用の光路とを含み、
2)出力用の光路において、入力された光パケットが重ならないようにするために、遅延素子の遅延値と読み取られた光パケット長と光パケット前置期間とを用いて、演算によって一時的に保管する遅延素子を決める制御装置を含み、
3)その制御装置においては、上記の複数の光路には1からNの順序数nが与えられているものとし、以下においては、対応するものが無いときにはその値をゼロとするものとするとき、
それぞれの光路の光パケット長と光パケット前置期間について、
第1段の演算器とレジスタの並びとして、第(n−1)光路上にある光パケットの光パケット長と光パケット前置期間と、第n光路上の光パケットの光パケット長と光パケット前置期間との演算を行う演算器P(1,n)と、その演算結果を保持するレジスタR(1,n)と、が配置され、
4)第m(2≦m≦log2 N)段の並びとして、レジスタR(m−1,n−2m-1)あるいはその複写とレジスタR(m−1,n)あるいはその複写との演算を行う演算器P(m,n)と、その演算結果を保持するレジスタR(m,n)と、が設けられ、
5)2M=Nとなる第(M+1)段には、演算器とキュー長の最後尾の情報を保持するレジスタQが設けられ、
6)さらに、第1の可変長光パケットに与える遅延を、第1光路の光パケット長と光パケット前置期間あるいはその複写とレジスタQの値との演算から決定する演算器P(M+1,1)と、
7)1より大きいnについて、第nの可変長光パケットに与える遅延を、第nの光路の光パケット長と光パケット前置期間あるいはその複写とレジスタR(M,n−1)とレジスタQの値との演算から決定する演算器P(M+1,n)と、が、設けられ、
8)演算器P(M+1,1)あるいは、演算器P(M+1,n)の出力によりそれぞれの光路の可変長光パケットに与える遅延時間を調整することを特徴とする非同期到着する光パケットのバッファリング装置である。
1)ln-1=0であるとき、tnをtn,1として出力し、あるいは、
ln-1=0でないとき、tn-1を出力tn,1とし、
2)また、gn-1=ln-1+tn-1、とし、
3)ln=0であるとき、gn-1 を出力fn,1 とし、あるいは、
ln=0でないとき、Δnを(gn-1−tn)/Dを下回らない最小の整数として、(tn+ln+ΔnD)を出力fn,1とする。
1)fn-2,1=0であるとき、tn,1をtn,2として出力し、あるいは、
fn-2, 1=0でないとき、tn-2,1をtn,2として出力し、
2)また、fn,1=0であるとき、fn-2,1をfn,2として出力し、あるいは、fn,1=0でないときで、
2−1)Δnを(fn-2,1−tn,1)/Dを下回らない最小の整数として、(fn,1+ΔnD)を出力fn,2とする。
2≦m ≦ log2 N、であるとして、
1)fn-β,m-1=0であるとき、tn,m-1をtn,mとして出力し、あるいは、
fn-β,m-1=0でないとき、tn-β,m-1を出力tn,mとし、
2)また、fn,m-1=0であるとき、fn-β,m-1をfn,mとして出力し、あるいは、
fn,m-1=0でないとき、
2−1)Δnを(fn-β,m-1−tn,m-1)/Dを下回らない最小の整数として、(fn,m-1+ΔnD)を出力fn,mとする。
1)ln≠0でない場合には、終了し、
ln≠0である場合で、レジスタR(M,n−1)にあるfn-1,Mについて、
2)fn-1,M=0のときには、臨時の値(temp)を設けて、(temp)=qとし、
fn-1,M=0でないときには、(q−tn-1,M)/Dを下回らない最小の整数とfn-1,Mとの和を(temp)とし、
3)((temp)−tn)/Dを下回らない最小の整数をΔnとして、
ΔnがBよりも小さいときは、Δnを出力し、
小さくないときは、それに対応する光パケットを棄却する。
1)レジスタR(M,N)に保持されたfN,MについてfN,M=0が成立する場合は、(q−T)と0との大きいほうを新規のキュー長(qnew)としてその値をレジスタQに保持し、
fN,M=0が成立しない場合は、Δを(q−tN,M)/Dを下回らない最小の整数とするとき、
2)このΔがBより小さいときには、(fN,M+ΔD)と、(BD+MTU)との小さいほうからTを引いた値と、0との大きいほうの値を新規のキュー長としてその値をレジスタQに保持し、
このΔがBより小さくないときには、(q−T)を新規のキュー長とし、レジスタQに保持する。
1)レジスタR(M,N)に保持されたfN,MについてfN,M=0が成立する場合は、(q−T)と0との大きいほうを新規のキュー長(qnew)としてその値をレジスタQに保持し、
fN,M=0が成立しない場合は、Δを(q−tN,M)/Dを下回らない最小の整数とするとき、
2)このΔがBより小さいときには、(fN,M+ΔD-T)と、0との大きいほうの値を新規のキュー長としてその値をレジスタQに保持し、
このΔがBより小さくないときには、(q−T)を新規のキュー長とし、レジスタQに保持する。
上記の複数の遅延素子による遅延は、遅延値Dで増加する遅延として並べることができる構成とし、Dを2k(kは非負の整数)で与えるとき、また、表記法として、整数xの2進数の下位kビットに相当する整数をx(2)とし、前記の下位kビットを除いた残りの上位ビットで構成される2進数をx(1)とするとき、
上記の演算器は、入力側のそれぞれの光路の数Nについてそれぞれ備えられており、その1からNまでの整数nについて、
1)ln-1=0であるとき、tnをtn,1として出力し、あるいは、
ln-1=0でないとき、tn-1を出力tn,1として出力し、
2)また、gn-1=ln-1+tn-1、とし、
3)ln=0であるとき、gn-1をfn,1として出力し、
ln=0でないとき、gn-1がtn以下の場合には、gn-1 (1)をΔnとし、
gn-1がtn以下でない場合には、(gn-1 (1)+1)をΔnとし、
4)(tn (2)+ln+2kΔn)を出力fn,1とする。
1)fn-β,m-1=0であるとき、tn,m-1をtn,mとして出力し、あるいは、
fn-β,m-1=0でないとき、tn-β,m-1を出力tn,mとし、
2)また、fn,m-1=0であるとき、fn-β,m-1をfn,mとして出力し、あるいは、
fn,m-1=0でないときで、
2−1) fn-β,m-1 (2)がtn,m-1 (2)以下の時には、fn-β,m-1 (1)をΔnとし、
2−2) fn-β,m-1がtn,m-1以下でない時には、(fn-β,m-1 (1)+1)をΔnとし、
3) (fn,m-1+2kΔn)をfn,mとして出力する。
M=log2 N とするとき、
1)ln≠0でないときには、終了し、
2)ln≠0のときには、
2−1)fn-1,M=0のときで、
q(2)がtn (2)以下のときには、q(1)をΔnとし、
q(2)がtn (2)以下でないときには、(q(1)+1)をΔnとし、
2−2)fn-1,M=0でないときで、
q(2)がtn-1,M (2)以下のときには、q(1)をΔ1とし、
q(2)がtn-1,M (2)以下でないときには、(q(1)+1)をΔ1とし、さらに、
2−3−1)fn-1,Mがtn (2)以下のときには、(Δ1+fn-1,M (1))をΔnとし、
2−3−2)fn-1,Mがtn (2)以下でないときには、(Δ1+1+fn-1,M (1))をΔnとし、
3)ΔnがBよりも小さいときは、Δnを出力し、
小さくないときは、それに対応する光パケットを棄却する。
M=log2Nとするとき、
1)fN,M=0が成立する場合で
1−1) qがTより大きいときは、(q−T)を新規のキュー長(qnew)とし、
1−2) qがTより大きくないときは、qnew=0とし、
2)fN,M=0でない場合で、
2−1)q(2)がtN,M (2)以下のときには、q(1)をΔとし、
q(2)がtN,M (2)以下でないときには、(q(1)+1)をΔとし、
3−1)このΔがBより小さいときで、
3−1−1)(fN,M+2kΔ)が(2kB+MTU)よりも大きいときは、(2kB+MTU−T)をqnewとし、
3−1−2)(fN,M+2kΔ)が(2kB+MTU)よりも大きくないときで、
3−1−2−1)fN,M+2kΔがTより大きいときには、(fN,M+2kΔ−T)をqnewとし、
3−1−2−2)fN,M+2kΔがTより大きくないときには、qnew=0とし、
3−2)このΔがBより小さくないときには、(q−T)をqnewとする。
それぞれの光路の光パケットの有無を読みとる読取手段と、
上記の複数の光パケットを一時的に保管してB通りの異なった遅延時間のいずれかを与える複数の遅延素子からなるキューと、上記の光パケットを上記の複数の遅延素子に振り分ける光スイッチと、上記の複数の遅延素子に光路で接続された合波器と、合波器に接続された出力用の光路とを含み、
出力用の光路において光パケットが重ならないようにするために、遅延素子の遅延値と、読み取られた光パケットの有無情報とを用いて、演算によって一時的に保管する遅延素子を決める制御装置をそなえ、
この制御装置は、
上記の複数の光路には1からNの順序数nが与えられているものとし、以下においては、nについて対応するものが無いときには無視するものとするとき、
それぞれの光路の光パケット数について、
第1段の演算器とレジスタの並びとして、第(n−1)光路上にある光パケットの光パケット数と、第n光路上の光パケットの光パケット数と、の演算を行う演算器P(1,n)と、その演算結果を保持するレジスタR(1,n)と、が配置され、
第m(2≦m≦log2 N)段の並びとして、レジスタR(m−1,n−2m-1)あるいはその複写とレジスタR(m−1,n)あるいはその複写との演算を行う演算器P(m,n)と、その演算結果を保持するレジスタR(m,n)と、が設けられ、
2M=Nとなる整数Mについて、第M+1段には、演算器とキュー長の最後尾の情報を保持するレジスタQが設けられ、
さらに、第1の同期固定長光パケットに与える遅延を、第1光路の光パケットの有無情報あるいはその複写とレジスタQの値との演算から決定し、
1より大きいnについて、第nの同期固定長光パケットに与える遅延を演算器P(M+1,n)を用いて、第nの光路の光パケットの有無情報あるいはその複写とレジスタR(M,n−1)とレジスタQの値との演算から決定することにより、それぞれの光路の同期固定長光パケットに与える遅延時間を調整する。
開始
l0:=0
for each processor n、 in parallel (n:=1 to N)
fn,1:=ln-1+ln;
終了
(N−2)個の演算器P2n(ただし、3≦n≦N)に対して、1段目の演算器から得た光パケットの有無情報について、
・ポート(n−1)からポートnに到着した光パケット数を表す、fn,1と、
・ポートmax((n−3),1)からポート(n−2)に到着した光パケット数を表す、fn-2,1と、
を入力する。
また、下記の処理により、ポートmax(n−3,1)からポートnに到着した光パケット数fn,2を出力する。
開始
for each processor n、 in parallel (n:=3 to N)
fn,2:=fn,1+fn-2,1;
終了
(N−4)個の演算器P3n(ただし、5≦n≦N)に対して、2段目の演算器から得た光パケットの有無情報について、
・ポート(n−3)からポートnに到着した光パケット数を表す、fn,2と、
・ポートmax((n−7),1)からポート(n−4)に到着した光パケット数を表す、fn-4,2と、
を入力する。
また、ポートmax((n−7),1)からポートnに到着した光パケット数fn,3を次のように求め出力する。
開始
for each processor n、 in parallel (n:=5 to N)
fn,3:=fn,2+fn-4,2;
終了
β=2m-1とするとき、(N−2m-1)個の演算器Pmn(ただし、β+1≦n≦N)に対して、(m−1)段目の演算器から得た光パケットの有無情報について、
・ポート(n−2m-1+1)からポートnに到着した光パケット数表す、fn,m-1と、
・ポートmax((n−2m+1),1)からポート(n−2m-1)に到着した光パケット数表す、fn-β,m-1と、を入力する。
また、ポートmax((n−2m+1),1)からnに到着した光パケット数fn,mを次のように求め出力する。
開始
for each processor n、 in parallel (n:=2m-1+1 to N)
fn,m:=fn,m-1+fn-β,m-1;
終了
演算器PM+1,n(ただし、1≦n≦N)については、入力としては、ポート1からn−1までに到着した光パケット数fn-1,M、ポートnに到着する光パケットの有無ln、キュー長qであり、遅延Δnの値を出力する。
開始
for each processor n、 in parallel (n:=1 to N)
begin
if (ln=0) exit;
Δn:=q+fn-1,M;
if (Δn<B) Packet n is given delay Δn;
else Packet n is discarded;
end
終了
・入力は、全ポートに到着した光パケット数fN,Mであり、
・内部変数は、Δ、キュー長qで、
・出力は、キュー長qnewである。
qnew:=max((min(fN,M+q,B)−1,0);
開始
for n:=1 to N do
begin
if (ln=0)
begin
if f <B
begin
Packet n is given delay f×T;
f:= f +1;
end
else Packet n is discarded;
end
end
f := max(f−1,0);
終了
2 遅延線
3 1×N光スイッチ
4 N×1バッファ
5 ルート情報処理器
6 光検出器
7 遅延線
8 光スイッチ
9 遅延線
10 合波器
11 バッファマネージャ
12 管理情報処理器
13 N×1バッファ
Claims (17)
- 複数の光路で伝送された非同期到着する可変長光パケットを入力し、1つの光路に出力する装置であって、
それぞれの光路の可変長光パケットの光パケット長を読みとる読取手段と、予め用意したクロック信号とそれに引き続く最近の前記可変長光パケットの到着時間との時間差(光パケット前置期間)とを読みとる読取手段と、上記の光パケットを一時的に保管し、B通りの異なった遅延時間のいずれかを上記の光パケットに与える複数の遅延素子からなるキューと、上記の光パケットを上記の複数の遅延素子に振り分ける光スイッチと、上記の遅延された光パケットを合波する合波器と、合波器に接続された出力用の光路とを含み、
出力用の光路において、入力された光パケットが重ならないようにするために、遅延素子の遅延値と読み取られた光パケット長と光パケット前置期間とを用いて、演算によって一時的に保管する遅延素子を決める制御装置を含み、
その制御装置においては、上記の複数の光路には1からNの順序数nが与えられているものとし、以下においては、対応するものが無いときにはその値をゼロとするものとするとき、
それぞれの光路の光パケット長と光パケット前置期間について、
第1段の演算器とレジスタの並びとして、第(n−1)光路上にある光パケットの光パケット長と光パケット前置期間と、第n光路上の光パケットの光パケット長と光パケット前置期間との演算を行う演算器P(1,n)と、その演算結果を保持するレジスタR(1,n)と、が配置され、
第m(2≦m≦log2 N)段の並びとして、レジスタR(m−1,n−2m-1)あるいはその複写とレジスタR(m−1,n)あるいはその複写との演算を行う演算器P(m,n)と、その演算結果を保持するレジスタR(m,n)と、が設けられ、
2M=Nとなる第(M+1)段には、演算器とキュー長の最後尾の情報を保持するレジスタQが設けられ、
さらに、第1の可変長光パケットに与える遅延を、第1光路の光パケット長と光パケット前置期間あるいはその複写とレジスタQの値との演算から決定する演算器P(M+1,1)と、
1より大きいnについて、第nの可変長光パケットに与える遅延を、第nの光路の光パケット長と光パケット前置期間あるいはその複写とレジスタR(M,n−1)とレジスタQの値との演算から決定する演算器P(M+1,n)と、が、設けられ、
演算器P(M+1,1)あるいは、演算器P(M+1,n)の出力によりそれぞれの光路の可変長光パケットに与える遅延時間を調整することを特徴とする非同期到着する光パケットのバッファリング装置。 - 上記の光路の数をN、その番号をnとし、
上記の読取手段は、周期Tで読み取りを行い、この読み取り手段を指定された時刻に通過する第n番の光路の光パケットについて、光パケットの長さをln(エルエヌ)とし、光パケット前置期間をtnとし、また、n=0については、ln=tn=0とし、
上記の複数の遅延素子による遅延は、遅延値Dで増加する遅延として並べることができる構成とするとき、
上記の演算器は、入力側のそれぞれの光路の数Nについてそれぞれ備えられており、その1からNのうちの整数nについて、
1)ln-1=0であるとき、tnをtn,1として出力し、あるいは、
ln-1=0でないとき、tn-1を出力tn,1とし、
2)また、gn-1=ln-1+tn-1、とし、
3)ln=0であるとき、gn-1 を出力fn,1 とし、あるいは、
ln=0でないとき、Δnを(gn-1−tn)/Dを下回らない最小の整数として、(tn+ln+ΔnD)を出力fn,1とすることを特徴とし、請求項1に記載の光パケットのバッファリング装置に用いる光パケットのバッファリング方法。 - 請求項2に記載された複数の演算器を1段目の演算器と呼ぶものとして、
1段目のそれぞれの演算器P(1,n)には、それぞれの出力(fn,1、tn,1)を一時的に保存するレジスタR(1,n)が設けられており、
3からNのnについて、n番目のレジスタ内容と(n−2)番目のレジスタ内容とを演算し、出力(fn,2、tn,2)を与える2段目のn−2番目の演算器P(2,n)が備えられている装置のバッファリング方法であって、
1)fn-2,1=0であるとき、tn,1をtn,2として出力し、あるいは、
fn-2, 1=0でないとき、tn-2,1をtn,2として出力し、
2)また、fn,1=0であるとき、fn-2,1をfn,2として出力し、あるいは、fn,1=0でないときで、
2−1)Δnを(fn-2,1−tn,1)/Dを下回らない最小の整数として、(fn,1+ΔnD)を出力fn,2とする、
ことを特徴とする請求項2に記載の光パケットのバッファリング方法。 - 請求項2に記載された複数の演算器を1段目の演算器と呼ぶものとして、
1段目のそれぞれの演算器P(1,n)には、それぞれの出力(fn,1、tn,1)を一時的に保存するレジスタR(1,n)が設けられており、2からlog2Nまでの整数mについて、(m−1)段目の演算器が定義されているとき、
m段目の演算器について、β=2m-1として、β+1からNのnについて、前段の演算器P(m−1,n)に接続された上記のn番目のレジスタ内容R(m−1,n)と(n−β)番目のレジスタ内容R(m−1,n−?)とを演算し、出力(fn,m、tn,m)を与えるm段目の(n−β)番目の演算器P(m,n)が備えられている装置のバッファリング方法であって、
1)fn-β,m-1=0であるとき、tn,m-1をtn,mとして出力し、あるいは、
fn-β,m-1=0でないとき、tn-β,m-1を出力tn,mとし、
2)また、fn,m-1=0であるとき、fn-β,m-1をfn,mとして出力し、あるいは、
fn,m-1=0でないとき、
2−1)Δnを(fn-β,m-1−tn,m-1)/Dを下回らない最小の整数として、(fn,m-1+ΔnD)を出力fn,mとする、
ことを特徴とする請求項2に記載の光パケットのバッファリング方法。 - 上記のキューの長さをqとするとき、M=log2N、とするとき、1からNのうちの整数nについて、
1)ln≠0でない場合には、終了し、
ln≠0である場合で、レジスタR(M,n−1)にあるfn-1,Mについて、
2)fn-1,M=0のときには、臨時の値(temp)を設けて、(temp)=qとし、
fn-1,M=0でないときには、(q−tn-1,M)/Dを下回らない最小の整数とfn-1,Mとの和を(temp)とし、
3)((temp)−tn)/Dを下回らない最小の整数をΔnとして、
ΔnがBよりも小さいときは、Δnを遅延素子を指定する情報として出力し、
小さくないときは、それに対応する光パケットを棄却する、
ことを特徴とする請求項4に記載の光パケットのバッファリング方法。 - 1)レジスタR(N,M)に保持されたfN,Mについて、
fN,M=0が成立する場合は、(q−T)と0との大きいほうを新規のキュー長(qnew)としてその値をレジスタQに保持し、
fN,M=0が成立しない場合は、Δを(q−tN,M)/Dを下回らない最小の整数とするとき、
2)このΔが上記のBより小さいときには、fN,M+ΔD−T と、0との大きいほうの値を新規のキュー長としレジスタQに保持し、
このΔがBより小さくないときには、(q−T)を新規のキュー長とし、レジスタQに保持する、
ことを特徴とする請求項5に記載の光パケットのバッファリング方法。 - MTU(最大転送サイズ)が設定されている場合で、
1)レジスタR(M,N)に保持されたfN,MについてfN,M=0が成立する場合は、(q−T)と0との大きいほうを新規のキュー長(qnew)としてその値をレジスタQに保持し、
fN,M=0が成立しない場合は、Δを(q−tN,M)/Dを下回らない最小の整数とするとき、
2)このΔがBより小さいときには、(fN,M+ΔD)と、(BD+MTU)との小さいほうからTを引いた値と、0との大きいほうの値を新規のキュー長としてその値をレジスタQに保持し、
このΔがBより小さくないときには、(q−T)を新規のキュー長とし、レジスタQに保持する、
ことを特徴とする請求項5に記載の光パケットのバッファリング方法。 - 上記の光路の数をN、その番号をnとし、周期Tを適当に決めた単位時間(τ)の2の累乗倍、すなわち、T=2aτ(aは非負の整数)に設定し、ただし、Tは単位時間(τ)の整数倍の長さで表される最小パケット長を上回らないものとし、上記の読取手段は、周期Tで読み取りを行い、この読み取り手段を指定された時刻に通過する第n番の光路の光パケットについて、光パケットの長さを単位時間の整数倍の長さで表されるln(エルエヌ)とし、光パケット前置期間を単位時間の整数倍の長さで表されるtnとし、前記の光パケットの長さは、その長さを下回らない単位時間の整数倍で表すものとし、前記の前置期間は、その前置期間を上回らない単位時間の整数倍で表すものとし、また、n=0については、ln=tn=0とし、
上記の複数の遅延素子による遅延は、遅延値Dで増加する遅延として並べることができる構成とし、Dを2k(kは非負の整数)で与えるとき、また、表記法として、整数xの2進数の下位kビットに相当する整数をx(2)とし、前記の下位kビットを除いた残りの上位ビットで構成される2進数をx(1)とするとき、
上記の演算器は、入力側のそれぞれの光路の数Nについてそれぞれ備えられており、その1からNまでの整数nについて、
1)ln-1=0であるとき、tnをtn,1として出力し、あるいは、
ln-1=0でないとき、tn-1を出力tn,1として出力し、
2)また、gn-1=ln-1+tn-1、とし、
3)ln=0であるとき、gn-1をfn,1として出力し、
ln=0でないとき、gn-1がtn以下の場合には、gn-1 (1)をΔnとし、
gn-1がtn以下でない場合には、(gn-1 (1)+1)をΔnとし、
4)(tn (2)+ln+2kΔn)を出力fn,1とする、
ことを特徴とする請求項1に記載の非同期到着する光パケットのバッファリング方法。 - 請求項8に記載された複数の演算器を1段目の演算器と呼ぶものとして、
1段目のそれぞれの演算器P(1,n)には、それぞれの出力(fn,1、tn,1)を一時的に保存するレジスタR(1,n)が設けられており、2からlog2Nまでの整数mについて、(m−1)段目の演算器が定義されているとき、
m段目の演算器について、β=2m-1として、β+1からNのnについて、前段の演算器P(m−1,n)に接続された上記のn番目のレジスタ内容R(m−1,n)と(n−β)番目のレジスタ内容R(m−1,n−?)とを演算し、出力(fn,m、tn,m)を与えるm段目の(n−β)番目の演算器P(m,n)が備えられている装置のバッファリング方法であって、
1)fn-β,m-1=0であるとき、tn,m-1をtn,mとして出力し、あるいは、
fn-β,m-1=0でないとき、tn-β,m-1を出力tn,mとし、
2)また、fn,m-1=0であるとき、fn-β,m-1をfn,mとして出力し、あるいは、
fn,m-1=0でないときで、
2−1) fn-β,m-1 (2)がtn,m-1 (2)以下の時には、fn-β,m-1 (1)をΔnとし、
2−2) fn-β,m-1がtn,m-1以下でない時には、(fn-β,m-1 (1)+1)をΔnとし、
3) (fn,m-1+2kΔn)をfn,mとして出力する、
ことを特徴とする請求項8に記載の光パケットのバッファリング方法。 - 上記のキューの長さをqとするとき、1からNのうちの整数nについて、M=log2 N とするとき、
1)ln≠0でないときには、終了し、
2)ln≠0のときには、
2−1)fn-1,M=0のときで、
q(2)がtn (2)以下のときには、q(1)をΔnとし、
q(2)がtn (2)以下でないときには、(q(1)+1)をΔnとし、
2−2)fn-1,M=0でないときで、
q(2)がtn-1,M (2)以下のときには、q(1)をΔ1とし、
q(2)がtn-1,M (2)以下でないときには、(q(1)+1)をΔ1とし、さらに、
2−3−1)fn-1,M (2)がtn (2)以下のときには、(Δ1+fn-1,M (1))をΔnとし、
2−3−2)fn-1,M (2)がtn (2)以下でないときには、(Δ1+1+fn-1,M (1))をΔnとし、
3)ΔnがBよりも小さいときは、Δnを遅延素子を指定する情報として出力し、
小さくないときは、それに対応する光パケットを棄却する、
ことを特徴とする請求項8に記載の光パケットのバッファリング方法。 - M=log2Nとするとき、
1)fN,M=0が成立する場合で
1−1) qがTより大きいときは、(q−T)新規のキュー長を(qnew)とし、
1−2) qがTより大きくないときは、qnew=0とし、
2)fN,M=0でない場合で、
2−1)q(2)がtN,M (2)以下のときには、q(1)をΔとし、
q(2)がtN,M (2)以下でないときには、(q(1)+1)をΔとし、
3−1)このΔがBより小さいときで、
3−1−1)fN,M+2kΔがTより大きいときには、(fN,M+2kΔ−T)をqnewとし、
3−1−2)fN,M+2kΔがTより大きくないときには、qnew=0とし、
3−2)このΔがBより小さくないときには、(q−T)をqnewとする、
ことを特徴とする請求項9に記載の光パケットのバッファリング方法。 - MTU(最大転送サイズ)が設定されている場合で、
M=log2Nとするとき、
1)fN,M=0が成立する場合で
1−1) qがTより大きいときは、(q−T)を新規のキュー長(qnew)とし、
1−2) qがTより大きくないときは、qnew=0とし、
2)fN,M=0でない場合で、
2−1)q(2)がtN,M (2)以下のときには、q(1)をΔとし、
q(2)がtN,M (2)以下でないときには、(q(1)+1)をΔとし、
3−1)このΔがBより小さいときで、
3−1−1)(fN,M+2kΔ)が(2kB+MTU)よりも大きいときは、(2kB+MTU−T)をqnewとし、
3−1−2)(fN,M+2kΔ)が(2kB+MTU)よりも大きくないときで、
3−1−2−1)fN,M+2kΔがTより大きいときには、(fN,M+2kΔ−T)をqnewとし、
3−1−2−2)fN,M+2kΔがTより大きくないときには、qnew=0とし、
3−2)このΔがBより小さくないときには、(q−T)をqnewとする、
ことを特徴とする請求項9に記載の光パケットのバッファリング方法。 - 複数の光路から同期固定長光パケットを入力し、それぞれの光パケットにB通りの異なった遅延時間のいずれかを与えてひとつの光路に出力する装置であって、
それぞれの光路の光パケットの有無を読みとる読取手段と、
上記の複数の光パケットを一時的に保管してB通りの異なった遅延時間のいずれかを与える複数の遅延素子からなるキューと、上記の光パケットを上記の複数の遅延素子に振り分ける光スイッチと、上記の複数の遅延素子に光路で接続された合波器と、合波器に接続された出力用の光路とを含み、
出力用の光路において光パケットが重ならないようにするために、遅延素子の遅延値と、読み取られた光パケットの有無情報とを用いて、演算によって一時的に保管する遅延素子を決める制御装置を備え、
この制御装置は、
上記の複数の光路には1からNの順序数nが与えられているものとし、以下においては、nについて対応するものが無いときには無視するものとするとき、
それぞれの光路の光パケット数について、
第1段の演算器とレジスタの並びとして、第(n−1)光路上にある光パケットの光パケットの有無情報と、第n光路上の光パケットの光パケットの有無情報と、の演算を行う演算器P(1,n)と、その演算結果を保持するレジスタR(1,n)と、が配置され、
第m(2≦m≦log2 N)段の並びとして、レジスタR(m−1,n−2m-1)あるいはその複写とレジスタR(m−1,n)あるいはその複写との演算を行う演算器P(m,n)と、その演算結果を保持するレジスタR(m,n)と、が設けられ、
2M=Nとなる整数Mについて、第M+1段には、演算器とキュー長の最後尾の情報を保持するレジスタQが設けられ、
さらに、第1の同期固定長光パケットに与える遅延を、第1光路の光パケットの有無情報あるいはその複写とレジスタQの値との演算から決定し、
1より大きいnについて、第nの同期固定長光パケットに与える遅延を演算器P(M+1,n)を用いて、第nの光路の光パケットの有無情報あるいはその複写とレジスタR(M,n−1)とレジスタQの値との演算から決定することにより、それぞれの光路の同期固定長光パケットに与える遅延時間を調整することを特徴とする光パケットのバッファリング装置。 - それぞれの光路の光パケットの有無を周期Tごとに読みとる読取手段を備え、第1段のそれぞれの演算器は、ポート(n−1)とポートnへ到着する光パケットの有無にしたがってln-1、lnに、到着時に1、非到着時に0を入力し、
l0:=0とし、
1からNまでの整数nについて、
fn,1:=ln-1+ln
とする演算を行ない、2つのポートに到着した光パケット数fn,1を出力する演算器であることを特徴とする請求項13に記載の光パケットのバッファリング装置。 - 請求項14に記載された複数の演算器を1段目の演算器と呼ぶものとして、1段目のそれぞれの演算器P(1,n)には、それぞれの出力(fn,1)を一時的に保存するレジスタR(1,n)が設けられており、2からlog2Nまでの整数mについて、(m−1)段目の演算器が定義されているとき、m段目の演算器について、
β=2m-1として、β+1からNまでのnについて、前段の演算器P(m−1,n)に接続されたn番目のレジスタR(m−1,n)の値と前段の演算器P(m−1,n−β)に接続された(n−β)番目のレジスタR(m−1,n−β)の値とについて、
fn,m:=fn,m-1+fn-β,m-1
とする演算を演算器P(m,n)で行ない、fn,mを出力として与えることを特徴とする請求項14に記載の光パケットのバッファリング装置。 - 第(M+1)段目における演算器P(M+1,n)(ただし、1≦n≦N)は、
ポート1からn−1までに到着した光パケット数fn-1,M、と、
ポートnに到着する光パケットの有無ln、と、
キュー長qとを用いて、1からNまでの整数nについて
ln=0の場合は、終了し
そうでない場合は、Δn:=q+fn-1,Mとするが、
もし、Δn<Bの場合は、光パケットに、Δnの遅延を与え、
Δn<Bでない場合は、その光パケットを棄却する、
という処理を順に行って遅延Δnの値を、遅延素子を指定する情報として出力することを特徴とする請求項15に記載の光パケットのバッファリング装置。 - レジスタR(M,N)に保持されたfN,Mについて、(min(q+fN,M ,B)−1)と0との大きいほうの値を新規のキュー長(qnew)としてその値をレジスタQに保持する、
ことを特徴とする請求項16に記載の光パケットのバッファリング装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003272621A JP3757286B2 (ja) | 2003-07-09 | 2003-07-09 | 光パケットのバッファリング装置とそのバッファリング方法 |
US10/886,645 US7693421B2 (en) | 2003-07-09 | 2004-07-09 | Optical packet buffering device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003272621A JP3757286B2 (ja) | 2003-07-09 | 2003-07-09 | 光パケットのバッファリング装置とそのバッファリング方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005033661A true JP2005033661A (ja) | 2005-02-03 |
JP3757286B2 JP3757286B2 (ja) | 2006-03-22 |
Family
ID=34190835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003272621A Expired - Lifetime JP3757286B2 (ja) | 2003-07-09 | 2003-07-09 | 光パケットのバッファリング装置とそのバッファリング方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7693421B2 (ja) |
JP (1) | JP3757286B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008211530A (ja) * | 2007-02-26 | 2008-09-11 | National Institute Of Information & Communication Technology | 光パケットバッファ制御装置とその制御方法 |
KR100997024B1 (ko) * | 2007-09-27 | 2010-11-25 | 엔비디아 코포레이션 | 스캔 연산을 수행하기 위한 시스템, 방법 및 컴퓨터 판독가능한 기록 매체 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7742486B2 (en) * | 2004-07-26 | 2010-06-22 | Forestay Research, Llc | Network interconnect crosspoint switching architecture and method |
US7508836B2 (en) * | 2004-12-01 | 2009-03-24 | Arm Limited | Data processing apparatus and method for handling transactions |
KR100675838B1 (ko) * | 2004-12-20 | 2007-01-29 | 한국전자통신연구원 | 다중 채널 링크에서 프레임의 순서유지를 포함하는 프레임 전송량 분배 장치, 방법 및 이를 이용한 다중채널 송신기 |
US20060268692A1 (en) * | 2005-05-31 | 2006-11-30 | Bellsouth Intellectual Property Corp. | Transmission of electronic packets of information of varying priorities over network transports while accounting for transmission delays |
US7965708B2 (en) * | 2005-06-07 | 2011-06-21 | Cisco Technology, Inc. | Method and apparatus for using meta-packets in a packet processing system |
US8559443B2 (en) | 2005-07-22 | 2013-10-15 | Marvell International Ltd. | Efficient message switching in a switching apparatus |
US7881617B2 (en) * | 2006-02-24 | 2011-02-01 | Cisco Technology, Inc. | Buffering schemes for optical packet processing |
US7835649B2 (en) * | 2006-02-24 | 2010-11-16 | Cisco Technology, Inc. | Optical data synchronization scheme |
US20100076941A1 (en) * | 2008-09-09 | 2010-03-25 | Microsoft Corporation | Matrix-based scans on parallel processors |
US8306047B2 (en) * | 2009-07-29 | 2012-11-06 | University Of Southern California | Packet switch with separate look ahead, computation, and shift phases |
JP6249403B2 (ja) * | 2014-02-27 | 2017-12-20 | 国立研究開発法人情報通信研究機構 | 光遅延線及び電子バッファ融合型光パケットバッファ制御装置 |
US10037301B2 (en) * | 2015-03-04 | 2018-07-31 | Xilinx, Inc. | Circuits and methods for inter-processor communication |
US9609402B2 (en) * | 2015-03-26 | 2017-03-28 | Amazon Technologies, Inc. | Optical transmittal storage networks |
US10394743B2 (en) * | 2015-05-28 | 2019-08-27 | Dell Products, L.P. | Interchangeable I/O modules with individual and shared personalities |
EP3420651B1 (en) * | 2016-02-26 | 2023-10-18 | Telefonaktiebolaget LM Ericsson (PUBL) | Chromatic dispersion compensation |
TWI641268B (zh) * | 2017-10-16 | 2018-11-11 | 中華電信股份有限公司 | 運用於資料中心網路之光交換系統 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7106967B2 (en) * | 2001-09-04 | 2006-09-12 | Doron Handelman | Optical packet switching apparatus and methods |
-
2003
- 2003-07-09 JP JP2003272621A patent/JP3757286B2/ja not_active Expired - Lifetime
-
2004
- 2004-07-09 US US10/886,645 patent/US7693421B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008211530A (ja) * | 2007-02-26 | 2008-09-11 | National Institute Of Information & Communication Technology | 光パケットバッファ制御装置とその制御方法 |
KR100997024B1 (ko) * | 2007-09-27 | 2010-11-25 | 엔비디아 코포레이션 | 스캔 연산을 수행하기 위한 시스템, 방법 및 컴퓨터 판독가능한 기록 매체 |
Also Published As
Publication number | Publication date |
---|---|
US20050041970A1 (en) | 2005-02-24 |
US7693421B2 (en) | 2010-04-06 |
JP3757286B2 (ja) | 2006-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3757286B2 (ja) | 光パケットのバッファリング装置とそのバッファリング方法 | |
US7602790B2 (en) | Two-dimensional pipelined scheduling technique | |
JP2962673B2 (ja) | 通信制御装置 | |
USRE43110E1 (en) | Pipelined maximal-sized matching cell dispatch scheduling | |
US7065046B2 (en) | Scalable weight-based terabit switch scheduling method | |
KR20000047434A (ko) | 입력/출력 테라비트 스위치들을 위한 rrgs-라운드-로빈 그리디 스케쥴링 | |
EP1668928A1 (en) | Matching process | |
JP4849627B2 (ja) | 光パケットバッファ制御装置とその制御方法 | |
Chang et al. | Using switched delay lines for exact emulation of FIFO multiplexers with variable length bursts | |
US6714554B1 (en) | Method and system for sorting packets in a network | |
US7542464B2 (en) | Switching network | |
JP2002094527A (ja) | 複数データ同時処理のメモリ書き込み判断回路及び該回路を備えたatmスイッチ | |
Wang et al. | Efficient designs of optical LIFO buffer with switches and fiber delay lines | |
Zhang et al. | An analytical model for shared fiber-delay line buffers in asynchronous optical packet and burst switches | |
Liu et al. | In-order packet scheduling in optical switch with wavelength division multiplexing and electronic buffer | |
JP2002252628A (ja) | パケット出力調停装置 | |
JP2004236236A (ja) | 非同期到着する可変長パケットのバッファリング装置とその方法 | |
Cheng et al. | On the maximum buffer size achieved in a class of constructions of optical priority queues | |
JP2007288280A (ja) | 同期光パケット交換ネットワークにおける波長割当最適化計算法及び波長割当制御による衝突回避方法 | |
Wang et al. | Packets scheduling for optical SDL LIFO buffers | |
Cheng et al. | Constructions of Optical MIMO Priority Queues With Time-Varying Service Capacity | |
Ng et al. | On improving the performance of shared buffered banyan networks | |
JPH11163882A (ja) | Atmスイッチ | |
Liu et al. | Mathematical analysis of the parallel packet switch with a sliding window scheme | |
KR20080034065A (ko) | 다중 채널 입력 큐 스위치 장치와 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051007 |
|
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: 20051122 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3757286 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |