JP4849627B2 - 光パケットバッファ制御装置とその制御方法 - Google Patents

光パケットバッファ制御装置とその制御方法 Download PDF

Info

Publication number
JP4849627B2
JP4849627B2 JP2007046328A JP2007046328A JP4849627B2 JP 4849627 B2 JP4849627 B2 JP 4849627B2 JP 2007046328 A JP2007046328 A JP 2007046328A JP 2007046328 A JP2007046328 A JP 2007046328A JP 4849627 B2 JP4849627 B2 JP 4849627B2
Authority
JP
Japan
Prior art keywords
packet
optical
input
output
delay
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.)
Expired - Fee Related
Application number
JP2007046328A
Other languages
English (en)
Other versions
JP2008211530A (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.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
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 National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2007046328A priority Critical patent/JP4849627B2/ja
Publication of JP2008211530A publication Critical patent/JP2008211530A/ja
Application granted granted Critical
Publication of JP4849627B2 publication Critical patent/JP4849627B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、光通信において、光パケットを電気信号で制御して光のまま中継する際に用いるもので、入力端から入力した光パケットを出力端に出力する際に、光パケットに選択的に遅延時間を与えてパケット間の衝突がないようにした光パケットバッファ制御装置とその制御方法に関している。
光は電気に比べて圧倒的に広い帯域を持っているため、インターネット幹線の速度が指数的に増加している現在、光の広帯域性を利用した光ルータ・光スイッチの実用化が期待されている。
光ルータ・スイッチの問題点は、同じ出力先に出力すべき複数のパケットが同時に到着した場合に、出力できないパケットを待たせるためのバッファである。バッファは電気回路ではメモリにより容易に実現可能だが、バッファのために光パケットを電気パケットに変換したのでは光の広帯域性は失われ単なる電気ルータになってしまうため、パケットを光のまま待たせる光バッファが必要である。
光バッファは光ファイバ遅延線により実現可能であるが(特許文献1)、多量のパケットをバッファするには長大な光ファイバが必要となる。これまで、インターネット幹線では幹線速度に比例して0.1秒〜1秒程度分のバッファが必要といわれてきたが、これには数万〜数十万Kmの光ファイバが必要である。しかし最近、インターネット幹線では負荷率が70〜90%程度でよければ十数〜数十パケットのバッファで十分であることが指摘され(非特許文献1)、またテラビット級でパケットをエンコードすることで1パケットに必要な光ファイバ長が短く済み(特許文献2)実用的な数と長さの光ファイバによる光バッファでパケット落ち確率を十分小さくできることが示され(非特許文献2)、実用的な光ルータが作成できることがわかった。また、光は電気に比べて圧倒的に広帯域であるため、負荷率が70〜90%であっても電気ルータより遥かに高速となる。
ただ、少数の光ファイバ遅延線でパケット落ち確率を低くするためには、長い遅延線にパケットを振り分けたあと、その途中の短い遅延線の遅延量に相当する部分に空があるときは、当該短い遅延線にパケットを振り分け、場合によってはパケットの入力の順序と出力の順序が異なる、パケット順序の入れ替えを許すバッファ制御方式が必要となる。また、テラビット級でパケットをエンコードした場合パケットは数ns〜数十nsとなるため、高速なバッファ制御方式が必要である。
これまでパケット順序入れ替えを許さない場合には高速な制御方式が提案(特許文献3)されており、特許文献1ではシフトレジスタによるFIFOで遅延線の状態を管理することは提案されているが、具体的な制御方式の記述はない。
パケット順序入れ替えを許すバッファ制御方式が困難であることの理由としては、パケットをなるべく密に詰めるため特許文献3のように遅延線の長さの差がパケットより短いことや、特許文献1のようにATM方式では、異なる通信に属するパケット(セル)の順序入れ替えは許されるが同一通信に属するパケット(セル)の順序入れ替えは許されず、制御はより複雑になるといったことが挙げられる。
しかし、負荷率が70〜90%程度でよければ遅延線の長さの差は大きくてよく、インターネットではパケット順序入れ替えは一般に許されている。
そこで、本発明は、パケット順序入れ替えを許すバッファ制御を、遅延線の長さの差が大きい場合ことを利用して並列化する方法について述べる。バッファの形態としては、非特許文献2にあるように、出力ごとに個別にバッファを持つ個別バッファ方式と、全出力で一つのバッファを共有する共通バッファ方式があるが、前者の制御方式の単純な拡張で後者も制御できる。
米国特許第5469284号 特願2006−63313号 特開2004−236236号公報 M. Enachescu, Y. Ganjali, A. Goel, N. McKeown, T. Roughgarden, "Routers with Very Small Buffers", ACM SIGCOMM Computer Communication Review, Vol 35, No. 2, July 2005. 太田 昌孝、「光パケット多重ルータのファイバー遅延線による光バッファ構成」、信学技報 PN、2006年 3月.
複数の光ファイバ遅延線を光スイッチで切替ることで実現された光バッファの制御の際に、パケットの順序の入れ替えを許し、ある遅延線の途中の、より短い遅延線の遅延量に相当する部分に空きがある場合、後から来たパケットを前のパケットより短い遅延線に通し、結果的に前のパケットより先に出力させることで、特にファイバ遅延線長の差が大きいときパケット落ち確率を減らすことができる、という報告をもとに、このための平面実装の容易な制御回路を、しかも実時間制御可能になるように構成する。
この発明では、TL単位の周期で処理することにより、各周期で該周期内に始点があり同時に考慮すべきパケットが各入力や各出力につき1個以下で済む。このため、処理回路が簡素化でき、また、処理速度の向上を図れる。
遅延線の遅延量に出力端での最大パケット長と最小パケット間隔とTLとを加えた以上の間隔があれば、その間隔の前後にある遅延線に同じTLのクロック周期に該周期内に始点があるパケットを振り分けても、当該それらのパケット同士が衝突することはないため、出力可能性の判定を並列に行え、また、遅延量の間隔がさらにTL以上大きければ、周期TLでのパイプライン処理によりTL時間で遅延線相互の影響を考慮すべき遅延線の数を減らせる。
遅延線を遅延量の順に並べた時、上記の間隔以下の遅延量の差が続く区間が短かければ、パイプライン処理の各ステージで考慮すべき遅延線数も少なくなる。特に、全遅延線の遅延量の差が上記の間隔以上であれば、パイプラインの各ステージで考慮すべき遅延線の数は1個となる。
また、通常のパケットをそのまま利用して、あるいは、遅延量計時用パケットを発生させ、遅延線やバッファの出力などをモニタして入力のタイミングと比較することで、経時や温度による遅延線の遅延量の変化を計測し、それにあわせてFIFOの長さを調節することで、経時や温度による遅延線の遅延量の変化を許容できる。この際、FIFOを長くするときには適切なデータをつめ、短くするときには適切にデータを削ることを行う。
本発明の光パケットバッファ装置は、同期あるいは非同期、または、固定長あるいは可変長の光パケットの入力を許すものであって、光パケットを入力する入力端と、光パケットを出力する出力端と、光パケットに付加されたパケット情報を読み取る読取器、あるいは、光パケットを測定してパケット情報を取得する光パケット検出器と、異なる遅延時間の短い順に順序付けされ光遅延素子識別符号の付された複数(B)の光遅延素子と、上記の複数の入力端と上記の光遅延素子との接続を電気的に切り換える入力端側切換器と、上記の出力端と上記の光遅延素子と接続する合流器と、入力端側切換器と出力端側切換器とを電気的に制御する光バッファ制御器と、競合する光パケットから優先的に選択するための制御を行うパケット優先度制御器とを備え、
さらに、入力端から入力した光パケットを出力端から出力する構成を備え、それぞれの光パケットにそれぞれの遅延時間を与えて光パケットの衝突を抑制する合成出力装置である。
以下ではまず、出力ごとにバッファ装置を持つ個別バッファ方式の光パケットバッファ装置の制御について、記述する。
上記の光バッファ制御器は、出力端から出力される光パケットの出力順に、出力する光パケットの有無を示す出力情報が時系列に従って記され予め決められた時間単位THで管理される複数のセルからなる管理テーブルを備えている。
また、その制御においては、
(1)上記のテーブルに記されたそれぞれの出力情報は、時間の経過とともに遅延時間が減少する方向に順送りされ、
(2)各入力端での入力光パケットの最小パケット長と最小パケット間隔との和や出力端での光パケットの最小パケット長と最小パケット間隔との和以下である予め決められた周期TLで、それぞれの入力端からの新たな入力パケットの有無を確認し、
(3)入力された光パケットについて、上記の各光遅延素子の短い順に、
(4)上記の管理テーブルの、当該光遅延素子の遅延時間に当該光遅延素子のオフセット分である所定の時間を加えた時間に該当する位置に該入力パケット分の連続した空セルを見出し、
(5)空セルが見出された光パケットが複数ある場合には、最も優先度の高い光パケットを選択し、上記の空セルの位置から、上記の入力パケットが占有するセル位置に、出力情報を記し、
(6)入力パケットのあった入力端と該光遅延素子とを上記の所定の時間後に、上記の入力端側切換器を用いて接続し、
(7)入力された光パケット用に空セルを見出せずに残っていれば次の光遅延素子について(3)以降を繰り返し、次の光遅延素子がなければ、空セルを見出せずに残った光パケットは出力できないものとして棄却し、入力パケットのあった入力端と該光遅延素子とを上記の所定の時間後に、上記の入力端側切換器を用いて接続するものである。
この光パケットバッファ装置で用いる光パケット情報は、パケット長、パケット到着時刻、あるいは、パケット優先順位である。
また、本発明の光パケットバッファ装置は、周期TLごとに、上記の管理テーブルを一括で更新するものであって、上記の合流器は、上記の出力端と上記の光遅延素子との接続を電気的に切り換える出力端側切換器であって、上記の光バッファ制御器は、出力端から出力される光パケットの出力順に、光遅延素子識別符号が時系列に従って記され予め決められた時間単位THで管理される複数のセルからなる管理テーブルを備えるものである。
また、その制御においては、
(1)上記のテーブルに記されたそれぞれの光遅延素子識別符号は、時間の経過とともに遅延時間が減少する方向に順送りされ、
(2)上記の出力端側切換器を用いて上記の管理テーブルから排出される光遅延素子識別符号の光遅延素子と出力端とを接続し、
(3)各入力端での入力光パケットの最小パケット長と最小パケット間隔との和や出力端での光パケットの最小パケット長と最小パケット間隔との和以下である予め決められた周期TLで、それぞれの入力端からの新たな入力パケットの有無を確認し、
(4)入力された光パケットについて、上記の各光遅延素子の短い順に、
(5)上記の管理テーブルの、当該光遅延素子の遅延時間に当該光遅延素子のオフセット分である所定の時間を加えた時間に該当する位置に該入力パケット分の連続した空セルを見出し、
(6)空セルが見出された光パケットが複数ある場合には、最も優先度の高い光パケットを選択し、上記の空セルの位置から、上記の入力パケットが占有するセル位置に、該光遅延素子識別符号を記し、
(7)入力パケットのあった入力端と該光遅延素子とを上記の所定の時間後に、上記の入力端側切換器を用いて接続し、
(8)入力された光パケット用に空セルを見出せずに残っていれば次の光遅延素子について(4)以降を繰り返し、次の光遅延素子がなければ、空セルを見出せずに残った光パケットは出力できないものとして棄却し、入力パケットのあった入力端と該光遅延素子とを上記の所定の時間後に、上記の入力端側切換器を用いて接続するものである。
また、本発明の光パケットバッファ装置は、周期TLごとに管理テーブルをシフトしながら更新するパイプライン処理を行うものであって、上記の光バッファ制御器は、用いる光遅延素子数(B)と同数の機能ブロックを備えるものである。また、さらに、遅延時間の短い光遅延素子から順に光遅延素子に自然数の序数を与えるとき、隣り合う序数の光遅延素子間の遅延時間差は、最大パケット長と最小パケット間隔と周期TLとの和以上であって、それぞれの機能ブロックは、作業用FIFOと、該作業用FIFOの作業結果を保存するFIFOと、それぞれの光遅延素子にパケットを送出することが可能かどうかを判定し該光遅延素子と同じ序数を有するパケット送出可能判定器と、を備えるものである。FIFOの長さは0でもよい。 特に、FIFOと作業用FIFOの接続をさらに機能ブロック間での接続で上記の管理テーブルを構成し、周期TLで、FIFOは、前段の機能ブロックの作業用FIFOに保持情報を引き渡し、初段の機能ブロックのパケット送出可能判定器には、対応する入力端からのパケット情報が引き渡し、終段以外の機能ブロックのn番目(1≦n≦N)のパケット送出可能判定器は、TLの遅延時間を与えた後に、次段の機能ブロックのn番目のパケット送出可能判定器に判定するパケット情報を引き渡す。
また、パケット送出可能判定器は、上記の管理テーブルに該入力からの入力パケット分の連続した空セルがあるかどうかを判定し、1)無い場合もしくは、他の入力からのパケットが送出可能で当該パケットより優先度の高い場合は入力パケット情報を次段の機能ブロックのパケット送出可能判定器に送り、2)ある場合には、上記の空セルの位置から、入力パケットが占有するセル位置に、当該機能ブロックに対応する光遅延素子識別符号を記し、パケット送出可能判定器が引き渡すパケット情報から当該パケットを出力する旨記載した情報を削除して、当該機能ブロックに対応する光遅延素子識別符号を追加して、次段の機能ブロックのパケット送出可能判定器に送る。
このようにして、各機能ブロックでの処理を同時に、かつ周期TLで行なうパイプライン処理による方法を用いる。
より限定的には、本発明の光パケットバッファ装置では、入力端は、P個の入力端のそれぞれに光パケットが非同期到着する入力端で、上記の光パケット長はそれぞれ可変長で、i番目(1≦i≦P)の入力端の光パケットについて、その最小パケット長をmiとし、最大パケット長をMiとし、また、最小パケット間隔をIiとし、光パケットの入力の無い入力端については、上記のそれぞれの定義は行なわないとするとき、上記の入力端のいずれかに到着した光パケット列を、光パケットのまま、1つの出力に、到着した光パケットの内の最小パケット間隔Ioで出力する装置である。
1≦i≦Pでのmiの最小値をm、Miの最大値をM、IiやIoの最小値をIとし、1≦i≦Pそれぞれのパケットのピッチ(mi+Ii)とピッチ(m+Io)との最小値をminmIとするとき、上記の読取器は、周期TLをminmIより短いクロック信号とするとき、周期TL内の位置をTLの整数分の1の周期THを単位とする精度で読み取るものであって、それぞれの入力端の可変長光パケットの光パケット長を読みとる光パケット長読取手段と、光パケットの始点の位置を読みとる光パケット位置読取手段と、を備える。
また、上記の複数の異なった遅延時間を短い順にDj(1≦j≦B)とするとき、上記の管理テーブルは、周期TLで、上記の遅延手段の使用状況と出力予定を管理するFIFOであって、さらに、上記のFIFOは、最大の遅延量DBに出力端での最大パケット長と最小パケット間隔を加えた時までの周期TH刻みの各時点で各遅延線の出力の有無を管理するものである。
また、その制御においては、
(1)入力された光パケットに付加されたパケット情報を読み取るか、光パケットを計測してパケット情報を取得し、
(2)上記の光バッファ制御器は、各入力から新たに入力されたパケットを、各遅延線について順次、当該遅延線に振り分けた場合、出力の時点で他の遅延線から出力されるパケットとIo以上の間隔を保てるかという出力可能性を、上記のFIFOの途中の当該遅延線の遅延量とオフセットに相当する部分の情報と照らし合わせて判定し、
(3)さらに、上記の光バッファ制御器は、当該遅延線に出力可能な入力されたパケットのうち最も優先度の高いものを当該遅延線に出力するものとし、
(4)また、上記の光バッファ制御器は、上記の判定の結果に応じてFIFOの当該途中の情報を更新し、当該パケットを当該遅延線に振り分ける入力端側切換器の制御信号を発生し、
(5)当該パケットがやがて出力端側切換器に到達する時点で、FIFOの出力に記録された遅延線情報により、出力端側切換器を制御するものである。
また、本発明の光パケットバッファ装置では、
出力可能性の判定を遅延線の短い順に行い、KをM+Ioが占めるTLの周期の最大数としたとき、DiとDi+1の差が(K+1)×TL以上であれば、i番目以前と(i+1)番目以降の出力可能性の確認を別のパイプラインステージで行う、という周期TLのパイプライン処理を用いる。
また、本発明の光パケットバッファ装置では、
DiとDi+1の差が(K+1)×TL未満となる場合はDi+1とDi+2の差が(K+1)×TL以上となる遅延量の遅延線を用いる。
また、上記の光パケットバッファ装置においては、遅延線の遅延量は、DiとDi+1との差が(K+1)×TL以上であるものとする。
また、本発明の光パケットバッファ装置は、遅延素子の遅延特性の変動の影響を補正するものであり、光遅延素子で遅延される光パケット信号の実際の遅延を測定する遅延時間測定検出部と、FIFO長調整部と、遅延時間測定用パケット発生部とをさらに備え、FIFO長調整部は、出力端側切換器を制御する管理テーブルの長さを遅延線の実際の遅延量に応じて調整するものである。
共通バッファ方式の光パケットバッファ装置の制御も、同様に行える。このとき、共通バッファ方式のバッファには 複数の出力端があるため、個別バッファ方式の場合の装置構成と異なり、
それぞれの出力端について上記の光遅延素子との接続を電気的に切り換える出力端側切換器と、それぞれの出力端について出力される光パケットの出力順に、光遅延素子識別符号が時系列に従って記され予め決められた時間単位THで管理される複数のセルからなる管理テーブルを備え、
パケット情報は、当該パケットから読み取った情報、あるいはそれをもとに経路表検索等を行った結果を元に、該パケットがどの出力端に出力されるべきかの情報を備える、必要がある。マルチキャストを行う場合、一つのパケットについて出力端は複数になる。
また、ある入力パケットをある遅延素子に出力可能かどうかの判定では、該入力パケットの出力されるべき出力端に対応する上記の管理テーブルの、当該光遅延素子の遅延時間に当該光遅延素子のオフセット分である所定の時間を加えた時間に該当する位置に該入力パケット分の連続した空セルを見出し、
それ以外の出力端に対応する管理テーブルの該時間に該当する部分に該遅延素子が使用されてないことを確認する必要がある。
以下に、この発明の実施の形態を図面に基づいて詳細に説明する。以下の説明においては、同じ機能あるいは類似の機能をもった装置に、特別な理由がない場合には、同じ符号を用いるものとする。
まず、本発明の光パケットバッファ装置の概略を図1と図2のブロック図に示す。
図1では、光パケットを入力する入力端11と、光パケットを出力する出力端16と、光パケットに付加されたパケット情報を読み取る読取器17、あるいは、光パケットを測定してパケット情報を取得する光パケット検出器18と、異なる遅延時間の短い順に順序付けされ光遅延素子識別符号の付された複数(B)の光遅延素子14と、上記の複数の入力端と上記の光遅延素子との接続を電気的に切り換える入力端側切換器13と、上記の出力端と上記の光遅延素子との接続する合流器15と、入力端側切換器と出力端側切換器とを電気的に制御する光バッファ制御器19aと、を備えるものである。光遅延素子12は、電気的な処理の時間、光パケットを遅延させて整合させるためのものである。
また、図2では、上記の合流器は、上記の出力端と上記の光遅延素子との接続を電気的に切り換える出力端側切換器20であって、これは光バッファ制御器19bで制御される。
ここで、以下では、光ルータの入出力ポート数をP、光スイッチ等を制御する高速回路のクロック周期をTH、mとMは自然数で最小パケット到着間隔(最小パケット長と最小パケット間隔の和)がmTH以上(m+1)TH未満、最大パケット長と最小パケット間隔の和がMTH以下(M−1)THより以上となるものとし、光バッファの光ファイバ遅延線の本数をN、各光ファイバ遅延線の遅延量をDiTH(1≦i≦N)とし、Diはiに対し単調に増加するものとする。
また、具体的な数値例としては、まず、10Gbps×100波長を使用しヘッダに3波長を使用するものとすると、48ビットのヘッダを3波長で16ビットずつエンコードし各波長でスタートビット等に4ビット使用したとして、最小パケット長は2nsになり、インターネットで一般的な最大パケット長1500Bをそのまま使用すると最大パケット長は12nsとなる。最小パケット間隔は、光スイッチの切り替え時間に、制御タイミングの誤差、光ファイバ遅延線の遅延量の誤差、伝送中の分散による波長間の時間のずれ等を加味したもので、小さいほど実効速度が上昇するので、平均パケット長程度以下にすべきである。現在のインターネット幹線の平均パケット長は500B 、4ns程度であり、分散による群遅延差を1nsとしその他の誤差を加味して、最小パケット間隔は例えば3ns程度とする。制御タイミングの誤差は制御クロックTH以上になるため、THは最小パケット間隔より十分小さくする必要があり、例えば0.5nsとする。
上述のように、THは極力小さくする必要があり、例えば0.5nsとなるが、全回路をこのクロックで駆動する必要はない。最小パケット長と最小パケット間隔の和である最小パケット到着間隔以下の時間間隔では、各入力ポートにはたかだか1個のパケットしか到着せず、出力ポートにもたかだか1個のパケットしか出力されない。そこで、バッファ制御回路は、実装を容易にするため、最小パケット間隔かそれを少し下回る程度の周期TL(=lTH、l≦mTH、lは整数とする)のクロックで駆動すればよい。上記の数値例では、TLは5nsとできる。
光ルータ・スイッチの各入力ポートではTLの各クロック周期で、たかだか一個の新規パケットが到着するが、パケットが到着した場合、そのパケットがTLの周期の先頭からTHで数えてどのタイミングで入力され、THで数えてどれだけの長さ続き、どの出力ポートへ出力するか、をヘッダ情報や実測等により調べる。TLの各周期でのパケットの情報は、TH単位のlビットでパケットデータの存否を表すこともできるし、TLの周期のTHで数えてのパケットの始まるタイミング(log2lビットの情報)とTHで数えてのパケットの長さ(log2Mビットの情報)で表現してもよい。ここでは、前者の場合をデコード表現、後者の場合をエンコード表現と呼ぶ。
バッファ制御のためには、新たに入力されたパケットを、遅延線内の既存のパケットが出力される時点で最小パケット間隔を加味して出力の衝突がないよう、適切な遅延線に入力する必要があり、パケットの衝突の検出が重要である。デコード表現の場合、パケットの重なりは各タイミングでの排他的論理和で検出できるが、パケットは一般に複数のTLの周期にまたがるため、パケット最大長を考慮して複数のTLの周期での確認が必要である。エンコード表現の場合、パケットの重なりはパケットの始まるタイミングと終わるタイミング(始まるタイミング+長さ)を比較することで行えるが、やはり複数のTLの周期での確認が必要である。この周期の数をKとする。Kはlと最大パケット長により決まり、K=floor((M−2)/l)+2となる。パケットに優先度が付加されている場合等には、パケットの表現にもその情報を付加する。
図3は、図1の光パケットバッファ装置の光バッファ制御器19aの構成を示すブロック図である。また、図4は、図2の光バッファ制御器19bの構成を示すブロック図である。その相違点は、最短遅延線用の機能ブロックのセル内容を図3では棄却し、図4では、出力する点にある。
上記の光バッファ制御器19aは、複数の機能ブロックが接続されたものであり、それぞれの機能ブロックには、RAMとポインタの組み合わせやシフトレジスタにより構成されたFIFO1と、作業用のFIFO2と、パケット送出可能判定器3(図中3a、3b、3cと示す)とパケット優先度制御器4を備えるものである。それぞれの機能ブロックのFIFO1と作業用のFIFO2の直列接続は、以下で述べる管理テーブル5を形成する。各機能ブロックのFIFO1と作業用のFIFO2が、管理テーブルのそれぞれのセルに対応する。つまり、この管理テーブル5では、出力端から出力される光パケットの出力順に、出力する光パケットの有無を示す出力情報が時系列に従って記され予め決められた時間単位THで管理される複数のセルを構成要素とする。
また、この管理テーブル5は、パケット情報処理器6で管理される。パケット情報処理器6は、各機能ブロックのパケット送出可能判定器3とパケット優先度制御器4を単位として直列に接続したものである。このパケット情報処理器6での管理は、以下のように行う。
まず、図3の場合の制御は、以下のように行う。
(1)上記のテーブルに記されたそれぞれの出力情報は、時間の経過とともに遅延時間が減少する方向に順送りされ、
(2)上記の時間単位THの整数倍であり、かつ入力光パケットの最小パケット長と最小パケット間隔との和以下である予め決められた周期TLで、それぞれの入力端からの新たな入力パケットの有無を確認し、
(3)入力された光パケットについて、上記の各光遅延素子の短い順に、
(4)上記の管理テーブルの、当該光遅延素子の遅延時間に当該光遅延素子のオフセット分である所定の時間を加えた時間に該当する位置に該入力パケット分の連続した空セルを見出し、
(5)空セルが見出された光パケットが複数ある場合には、最も優先度の高い光パケットを選択し、上記の空セルの位置から、上記の入力パケットが占有するセル位置に、出力情報を記し、
(6)入力パケットのあった入力端と該光遅延素子番号とを上記の所定の時間後に、上記の入力端側切換器を用いて接続し入力された光パケット用に空セルを見出せずに残っていれば次の光遅延素子について(3)以降を繰り返し、次の光遅延素子がなければ、空セルを見出せずに残った光パケットは出力できないものとして棄却する。
また、図4の場合の制御は、以下のように行う。
(1)上記のテーブルに記されたそれぞれの光遅延素子識別符号は、時間の経過とともに遅延時間が減少する方向に順送りされ、
(2)上記の出力端側切換器を用いて上記の管理テーブルから排出される光遅延素子識別符号の光遅延素子と出力端とを接続し、
(3)各入力端での入力光パケットの最小パケット長と最小パケット間隔との和や出力端での光パケットの最小パケット長と最小パケット間隔との和以下である予め決められた周期TLで、それぞれの入力端からの新たな入力パケットの有無を確認し、
(4)入力された光パケットについて、上記の各光遅延素子の短い順に、
(5)上記の管理テーブルの、当該光遅延素子の遅延時間に当該光遅延素子のオフセット分である所定の時間を加えた時間に該当する位置に該入力パケット分の連続した空セルを見出し、
(6)空セルが見出された光パケットが複数ある場合には、最も優先度の高い光パケットを選択し、上記の空セルの位置から、上記の入力パケットが占有するセル位置に、該光遅延素子番号を記し、
(7)入力パケットのあった入力端と該光遅延素子番号とを上記の所定の時間後に、上記の入力端側切換器を用いて接続し、
(8)入力された光パケット用に空セルを見出せずに残っていれば次の光遅延素子について(4)以降を繰り返し、次の光遅延素子がなければ、空セルを見出せずに残った光パケットは出力できないものとして棄却する。
より限定的に言えば、次のように成る。
入力端は、P個の入力端のそれぞれに光パケットが非同期到着する入力端で、上記の光パケット長はそれぞれ可変長で、i番目(1≦i≦P)の入力端の光パケットについて、その最小パケット長をmiとし、最大パケット長をMiとし、また、最小パケット間隔をIiとし、光パケットの入力の無い入力端については、上記のそれぞれの定義は行なわないとする。
上記の入力端のいずれかに到着した光パケット列を、光パケットのまま、1つの出力に、到着した光パケットの内の最小パケット間隔Ioで出力する装置であって、
1≦i≦Pでのmiの最小値をm、Miの最大値をM、IiやIoの最小値をIとし、1≦i≦Pそれぞれのパケットのピッチ(mi+Ii)とピッチ(m+Io)との最小値をminmIとする。
このとき、上記の読取器は、周期TLをminmIより短いクロック信号とするとき、周期TL内の位置をTLの整数分の1の周期THを単位とする精度で読み取るものであって、それぞれの入力端の可変長光パケットの光パケット長を読みとる光パケット長読取手段と、光パケットの始点の位置を読みとる光パケット位置読取手段と、を備え、
上記の複数の異なった遅延時間を短い順にDj(1≦j≦B)とするとき、上記の管理テーブルは、周期TLで、上記の遅延手段の使用状況と出力予定を管理するFIFOであって、さらに、上記のFIFOは、最大の遅延量DBに出力端での最大パケット長と最小パケット間隔を加えた時までの周期TH刻みの各時点で各遅延線の出力の有無を管理するものである。また、
(1)入力された光パケットに付加されたパケット情報を読み取って電気信号にするか、光パケットを計測してパケット情報を取得し、
(2)上記の光バッファ制御器は、各入力から新たに入力されたパケットを、各遅延線について順次、当該遅延線に振り分けた場合、出力の時点で他の遅延線から出力されるパケットとIo以上の間隔を保てるかという出力可能性を、上記のFIFOの途中の当該遅延線の遅延量とオフセットに相当する部分の情報と照らし合わせて判定し、
(3)さらに、上記の光バッファ制御器は、当該遅延線に出力可能な入力されたパケットのうち最も優先度の高いものを当該遅延線に出力するものとし、
(4)また、上記の光バッファ制御器は、上記の判定の結果に応じてFIFOの当該途中の情報を更新し、当該パケットを当該遅延線に振り分ける入力端側切換器の制御信号を発生し、
(5)当該パケットがやがて出力端側切換器に到達する時点で、FIFOの出力に記録された遅延線情報により、出力端側切換器を制御する。
上記の管理例を図8、9、10に示す。始めに図8の状態であったとするとき、つぎの周期TLである図9のように新たな光パケットが入力した時には、遅延線1の担当できるセル領域はふさがっているが2の担当できるセル領域が空いているので、管理テーブルには、その位置に2が記入される。さらにつぎの周期TLである図10のように新たな光パケットが2つ入力した時には、どちらのパケットにとっても遅延線3の担当できるセル領域が空いているので、優先度の低い方が棄却され、優先度の高い光パケットが残され、管理テーブルには、その位置に3が記入される。
図5と6に、TLのパイプライン周期を持つ光バッファ制御器を示す。図5は、パイプライン処理を行う場合の図1の光バッファ制御器19aの構成を示すブロック図である。また、図4は、パイプライン処理を行う場合の図2の光バッファ制御器19bの構成を示すブロック図である。その相違点は、最短遅延線用の機能ブロックのセル内容を図5では棄却し、図6では、出力する点にある。入力されたパケットの情報はパイプラインの左から右に流れ、遅延線の使用状況はパイプラインの右から左に流れる。
また、図11から図15に、パイプライン処理を行う場合の管理テーブルの管理例を示す。まず図11の状態であったとして、次の周期TLの後に、光パケット情報は右から左へ流れるが、図12の場合は、空きが見つからず、さらに次の周期TLの後に、図13の様に、優先度の高いB2が遅延素子1に向けに予約され、さらに次の周期TLの後に、図14の様に、A2とA1用に、それぞれ遅延素子2と3が予約される。また、図15に示すように、光パケット情報が順送りで、押し出される際に、記録された遅延素子情報で入力端切換器により入力端側とそれぞれの遅延素子とを接続する。
上記の光バッファ制御器は、用いる光遅延素子数(B)と同数の機能ブロックを備え、遅延時間の短い光遅延素子から順に光遅延素子に自然数の序数を与えるとき、隣り合う序数の光遅延素子間の遅延時間差は、最大パケット長と最小パケット間隔と周期TLとの和以上であって、それぞれの機能ブロックは、作業用FIFOと、該作業用FIFOの作業結果を保存するFIFOと、それぞれの光遅延素子にパケットを送出することが可能かどうかを判定し該光遅延素子と同じ序数を有するパケット送出可能判定器と、を備えるものであり、FIFOと作業用FIFOの接続をさらに機能ブロック間での接続で上記の管理テーブルを構成し、
周期TLで、
FIFOは、前段の機能ブロックの作業用FIFOに保持情報を引き渡し、n番目(1≦n≦N)のパケット送出可能判定器は、TLの遅延時間を与えた後に、次段の機能ブロックのn番目のパケット送出可能判器に判定するパケット情報を引き渡し、
パケット送出可能判定器は、上記の管理テーブルに該入力からの入力パケット分の連続した空セルがあるかどうかを判定し、1)無い場合もしくは、他の入力からのパケットが送出可能で当該パケットより優先度の高い場合は入力パケット情報を次段の機能ブロックのパケット送出可能判定器に送り、2)ある場合には、上記の空セルの位置から、入力パケットが占有するセル位置に、当該機能ブロックに対応する光遅延素子識別符号を記し、パケット送出可能判定器が引き渡すパケット情報から当該パケットを出力する旨記載した情報を削除して、次段の機能ブロックのパケット送出可能判定器に送り、
各機能ブロックでの処理を同時に、かつ周期TLでパイプライン処理を行なう。
入力ポート制御回路はパケットのタイミングと長さの情報を対応する出力ポートのバッファ制御回路に送る。バッファ制御回路は各入力ポートからの情報を元に、現在の各遅延線上の空き情報をFIFOによりTH単位で管理しつつ、各パケットを受け入れ可能な遅延線を探し、対応するP:1のマルチプレクサを制御してその遅延線に導く。また、出力すべきパケットが遅延線の出口に到着する前後にN:1のマルチプレクサを制御して、出力ポートに導く。
遅延線の空き情報の管理はTHでの周期単位でデコード表現と同様にFIFOで行える。FIFOは、THで駆動されるシフトレジスタで管理した場合、遅延量をTHで割っただけの段数が必要なので、ある程度のワード幅のRAMとRAMの入出力ポインタを用いるのが、ワード幅だけ低速で済むこともあり現実的であろう。そのままではFIFOの遅延量はTH×(RAMのワード幅)単位になるが、RAMの入力か出力にRAMのワード幅に応じたバッファとシフト回路を置くことで、FIFOの遅延量をビット単位で制御できる。シフト量をビット単位で可変にすれば、FIFOの遅延量は、RAMの容量内ならビット単位で自由に動的に増減できる。
FIFOの出力は、バッファ制御回路ではTL単位で使用される。各タイミングでの空き情報は各遅延線につきTHごとに1ビットで管理できるが、さらに、出力の時点で塞がっている遅延線はたかだか1本であることを考慮すると、log2(N+1)ビット幅のFIFOを遅延線の数だけ直列接続すれば全遅延線の使用状況は把握できる。
遅延線の空き情報の管理は、TLの各周期で、エンコード表現と同様に、パケットの始まるタイミングと長さを(log2l+log2M)ビットのFIFOを使用して管理することもできる。この場合さらに、パケットごとにどの遅延線を使用しているかのlog2(N+1)ビットの情報が必要となる。
図5と6で、機能ブロックは各遅延線に対応し、入力ポートからのパケットが対応する遅延線に出力可能かどうか判定する。機能ブロックは最短遅延線に対応するブロックを左端に、遅延線の長さの順に並んでいるものとする。
機能ブロックの中で、FIFO部は、遅延線内に含まれるパケットの情報をTH単位で保持し、その情報はTLの単位で右から左へずれてゆく。図6で、最終段のFIFO部の出力は、図1の出力ポート側のN:1マルチプレクサを制御し、出力すべき遅延線を選択させる。
作業用FIFO部は、パケット送出可能判定で見る必要のあるK段のFIFOの機能を持ち、K×TLの間の遅延線の状態を保持する。
パケット送出可能判定部は、左側から入力されるパケットと作業用FIFO部の情報を比較し、まずそのパケットを遅延線に入力可能か判断する。入力可能であった場合は、パケット優先度制御部で他の入力ポートからの入力可能なパケットと優先付けをし、最も優先度の高いパケットだけを機能ブロックに対応する遅延線に出力するようにする。
その後、選択されたパケットが出力されるとして、作業用FIFO部の状態を更新する。作業用FIFO部は、最も古い遅延線の状態をFIFOに渡し、次の状態を前段のFIFOから受け取る。遅延線をエンコード表現に準じた形式で表現している場合、長いパケットの情報を次段に送った後もパケットの後ろの部分が残っていることを状態として残す必要がある。パケット列も前段から受け取り次段に渡すが、次段に渡す場合、パケットが出力できる場合には、パケットは空とし、かわりにそのパケットに使用すべき遅延線の番号を次段に渡す。最終段からのパケット列が空でなければそのパケットはどの遅延線も使用できずバッファあふれにより落とされるパケットである。またパケット列が空で遅延線の番号が入っていた場合、その情報に従い入力ポート側P:1マルチプレクサ制御を制御する。この信号にはパケットが入力されてからN×TLの遅れがあるが、その間パケットは遅延線で遅らせておく。
パケット優先度制御部は、各入力ポートからのパケットのどれを優先して出力するかを決めるもので、例えば公平に行う場合にはラウンドロビン等で、パケットが優先度情報等を持っている場合にはそれも考慮に入れて、決定する。
機能ブロック間のFIFO部の遅延は、対応する遅延線の遅延量の差から、作業用FIFOの遅延にパケット送出可能判定部の遅延の和である(K+1)×TLを減じたものとなる。i番目とi+1番目の遅延素子の遅延時間DiとDi+1の差が(K+1)×TLと等しい遅延の場合はFIFO部の遅延は0となり、i番目とi+1番目の作業用FIFOが直結されることを意味する。i番目とi+1番目の遅延素子の遅延時間DiとDi+1の差が(K+1)×TLより小さい場合は、FIFO部の遅延は負となり実現できないが、この意味するところは、あるTLの期間にi番目の遅延線にどうパケットが送出されたかにより変化した遅延線の状態が、同じ期間にi+1番目の遅延線にどのパケットが出力できるかに影響するので、同一のパイプライン周期にi番目とi+1番目の遅延線の計算を直列に行わなければいけなくなるということであり、パイプラインクロック速度によっては動作が間に合わなくなる。DiとDi+1の差とDi+1とDi+2の差がどちらも(K+1)×TLより小さい場合などはさらに多段の直列計算が必要になる。
そこで、このように遅延が近接した遅延線は極力もたないようにすることで、高速な制御が可能となる。
なお、光ファイバ遅延線の遅延量は温度等によりゆるやかに変化するが、最小パケット間隔のマージンにTH以上の余裕があれば、光ファイバ遅延線や光バッファの出力等をモニタして入力されたパケットや測定用のパケットの実際の遅延を計測し、それにあわせてFIFOの遅延量を増減することで、これに対応することができる。
図5と6の回路は、容易に2次元配置可能だが、作業用FIFO部やパケット優先度制御部とP個のパケット送出可能判定部との間の通信にロジック段数のオーダーにしてlog2P、距離のオーダーにして2次元配置を工夫してもsqrt(P)程度の遅延が発生するので、Pが極めて大きい場合にはパイプラインクロックが遅くなりすぎる可能性がある。
図7にパイプライン処理のフローチャートを示す。ここで、
C1:パイプライン周期(最小パケット間隔以下)ごとに以下を繰り返し
については、繰り返し行うものであり、
C2:各遅延線について並列に
C3:各入力について並列に
C4:各入力について並列に
C5:各入力について並列に
C6:各入力について並列に
については、同時に並列に行うものであり、
S1:パケットがあればパケットと作業用FIFOとの重なりチェック
S2:作業用FIFOと重なりのないパケットで最も優先度の高いものを選択
S3:選択されたパケット情報と遅延線情報を作業用FIFOに出力
S4:選択されたパケット情報を空にし現遅延線情報の入力ポート制御に書き換え
については、入力した光パケットの入力と、優先処理である。
また、
P1:入力されたパケットのパケット情報の取得
P2:中継
P3:パケット情報の更新(左から右に)
P4:中継
P5:パケット情報により選択された遅延線の入力ポートを制御
は、パケット情報の処理であり、
B1:遅延線空情報の送出
B2:中継
B3:作業用FIFOの更新(右から左に)
B4:FIFOの更新(右から左に)
B5:中継
B6:光バッファ出力部で選択された遅延線を出力
は、管理テーブルの処理である。
図6の回路のシミュレータを、VHDL風のC言語で実装し、動作を確認した。1節の数値例をもとに、平均パケット長を最小パケット長と最大パケット長間の一様分布とし、入力パケット間隔を指数分布とし、ラウンドロビンスケジュールされる8入力で負荷率75%の場合の、等差級数的遅延線(交差は最大パケット長+最小パケット間隔とその3倍)と等比級数的遅延線(公差は1.5(ただし、最小遅延差は最大パケット長+最小パケット間隔)と2)とした場合の遅延線数とパケット落ち確率のグラフを図20に示した。
共通バッファ方式の実施例として、図21のブロック図の光パケットバッファ装置を図6のブロック図の光バッファ制御装置で制御した例を示す。また、図22に複数の出力端をもった光パケットバッファ装置を用いた光ルータを示す。図6で、光パケット情報は当該パケットを出力すべき1つもしくは複数の出力端の情報を含み、FIFO1と作業用FIFO2は全出力端に対応する情報を持ち、パケット送出可能判定器3は各パケットを出力すべき出力端の該パケットが占める部分のセルに空きがあることと、その他の遅延線の同じ部分のセルで機能ブロックに対応する遅延素子が使われてないことを確認する。管理テーブルの管理の様子は、周期TLごとの動作を図23から図32までに順次示す。タイミングは基本的には出力端が一個の場合と同じであるが、図26では、出力端A向けのパケットB2Aが出力端Bへの遅延線3のパケットと重なるにもかかわらず遅延線1に振り分けられており、同様に出力端B向けのB1Bが出力端A向けの遅延線3のパケットと重なるにもかかわらず遅延線2に振り分けられている。図27では、A、B両出力へのマルチキャストパケットA3Mが、A、B両出力向けに遅延線2に振り分けられている。図28では遅延線2からのマルチキャストパケットがA、B両出力端に出力されている。図29の、A、B両出力へのマルチキャストパケットB3Mは、図30で出力端B向けに遅延線2に振り分けられるが出力端A向けでは遅延線3と衝突するため、パケット情報は該パケットが出力端B向けに遅延線2に振り分けられるべきとの情報(L2)と、該パケットが出力端A向けに出力されるべきとの情報(B3A)とされ、図31に引き継がれ、図32で、該パケットは出力端Aにも出力されるべく遅延線3に振り分けられ、該パケットを遅延線2と3に振り分けるべきとの指令(L23)となる。
一般に遅延素子の遅延特性は、気温などの使用条件により、変動することが知られている。このような変動があった場合、光パケットの端の部分で他のパケットとの衝突や、入力側あるいは出力側の切換器との不整合が生じる場合がある。
これを防ぐためには、光パケット間隔にマージンを設けて制御することが求められる。このような目的で用いる光パケットバッファ装置として、図16に示す装置を用いることができる。この装置では、入力あるいは遅延時間測定用パケット発生器23で発生されたパケットと、合流器あるいは出力側切換器から出力される光パケットの遅延を遅延時間測定部21で検出し、この遅延時間を図17に示すように、FIFO長調整部22で機能ブロック用に変換した後、FIFO長の調整に用いることで上記のマージンとすることができる。
例えば、図18に示すように、遅延線の実際の遅延と管理テーブルで期待する遅延とのずれが生じる場合には、図19に示すように、遅延線に対応する作業用FIFOの位置を前後のFIFOの長さを調節してずらし、前後のFIFOに空きが生じる場合にはずれが無いように前後のセルの内容をコピーし、余ったセルは捨ててよい。
本発明の光パケットバッファ装置を示すブロック図である。 本発明の光パケットバッファ装置を示すブロック図である。 図1の光パケットバッファ装置の光バッファ制御器の構成を示すブロック図である。 図2の光パケットバッファ装置の光バッファ制御器の構成を示すブロック図である。 TLのパイプライン周期を持つ光バッファ制御器を示すブロック図である。 TLのパイプライン周期を持つ光バッファ制御器を示すブロック図である。 パイプライン処理のフローチャートである。 管理テーブルの管理例を始めの状態を示すタイミング図である。 管理テーブルの管理例でTL後の状態を示すタイミング図である。 管理テーブルの管理例でさらにTL後の状態を示すタイミング図である。 パイプライン処理を行う場合の管理テーブルの管理例で始めの状態を示す模式図である。 パイプライン処理を行う場合の管理テーブルの管理例でTL後の状態を示すタイミング図である。 パイプライン処理を行う場合の管理テーブルの管理例でさらにTL後の状態を示すタイミング図である。 パイプライン処理を行う場合の管理テーブルの管理例でさらにTL後の状態を示すタイミング図である。 パイプライン処理を行う場合の管理テーブルの管理例で、光パケット情報が順送りで、押し出される際に、記録された遅延素子情報で入力端切換器を制御すること示すタイミング図である。 光パケット間隔にマージンを設けて制御するための光パケットバッファ装置を示すブロック図である。 合流器あるいは出力側切換器から出力される光パケットと、周期TLに連動したクロックとのずれをFIFO長の調整に用いる際の信号線を示すブロック図である。 図16に示す光パケットバッファ装置の管理例を示すタイミング図である。 図16に示す光パケットバッファ装置の管理例を示すタイミング図である。 遅延線数とパケット落ち確率のシミュレーション結果を示す図である。 図2で出力端を複数にした本発明の光パケットバッファ装置を示すブロック図である。 複数の出力端をもった光パケットバッファ装置を用いた光ルータを示すブロック図である。 複数の出力端をもった光パケットバッファ装置の最初の状態の例のタイミング図である。 複数の出力端をもった光パケットバッファ装置の図23の次のTLの周期の最初の状態の例のタイミング図である。 複数の出力端をもった光パケットバッファ装置の衝突判定の後パケットを出力し、FIFOを更新する例のタイミング図である。 複数の出力端をもった光パケットバッファ装置の図25の次のTLの周期の最初の状態の例のタイミング図である。 複数の出力端をもった光パケットバッファ装置の衝突判定の後パケットを出力し、FIFOを更新する例のタイミング図である。 複数の出力端をもった光パケットバッファ装置の図26の次のTLの周期の最初の状態の例のタイミング図である。 複数の出力端をもった光パケットバッファ装置の図28の次のTLの周期の最初の状態の例のタイミング図である。 複数の出力端をもった光パケットバッファ装置の衝突判定の後パケットを出力し、FIFOを更新する例のタイミング図である。 複数の出力端をもった光パケットバッファ装置の図29の次のTLの周期の最初の状態の例のタイミング図である。 複数の出力端をもった光パケットバッファ装置の衝突判定の後パケットを出力し、FIFOを更新する例のタイミング図である。
符号の説明
1 FIFO
2 作業用のFIFO
3 パケット送出可能判定器
4 パケット優先度制御器
5 管理テーブル
6 パケット情報処理器
7 パケット情報用パイプラインレジスタ
10 クロック供給部
11 入力端
12 光遅延素子
13 入力端側切換器
14 光遅延素子
15 合流器
16 出力端
17 読取器
18 光パケット検出器
19a、19b 光バッファ制御器
20 出力端側切換器
21 遅延時間測定部
22 FIFO長調整部
23 遅延時間測定用パケット発生部

Claims (13)

  1. 光パケットを入力するN個の入力端と、
    光パケットを出力する出力端と、
    光パケットに付加されたパケット情報を読み取る読取器、あるいは、光パケットを測定してパケット情報を取得する光パケット検出器と、
    異なる遅延時間の短い順に順序付けされ光遅延素子識別符号の付された複数(B)の光遅延素子と、
    上記の入力端と上記の複数の光遅延素子との光接続を切り換える入力端側切換器と、
    上記の出力端と上記の複数の光遅延素子とを接続する合流器と、
    入力端側切換器と出力端側切換器とを制御する光バッファ制御器と、
    競合する光パケットから優先して出力する光パケットを選択するための制御を行うパケット優先度制御器とを備え、
    さらに、入力端から入力した光パケット列を出力端から出力する構成を備え、
    それぞれの光パケットにそれぞれの遅延時間を与えて光パケットの出力端での衝突を抑制するバッファ装置であって、
    上記の光バッファ制御器は、
    出力端から出力される光パケットの出力順に、出力する光パケットの有無を示す出力情報が時系列に従って記され予め決められた時間単位THで管理される複数のセルからなる管理テーブルを備え、
    (1)上記のテーブルに記されたそれぞれの出力情報は、時間の経過とともに遅延時間が減少する方向に順送りされ、
    (2)各入力端での入力光パケットの最小パケット長と最小パケット間隔との和や出力端での光パケットの最小パケット長と最小パケット間隔との和以下である予め決められた周期TL、それぞれの入力端からの新たな入力パケットの有無を確認し、
    (3)入力された光パケットについて、上記の各光遅延素子の短い順に、
    (4)上記の管理テーブルの、当該光遅延素子の遅延時間に当該光遅延素子のオフセット分である所定の時間を加えた時間に該当する位置に該入力パケット分の連続した空セルを見出し、
    (5)空セルが見出された光パケットが複数ある場合には、最も優先度の高い光パケットを選択し、上記の空セルの位置から、上記の入力パケットが占有するセル位置に、出力情報を記し、
    (6)入力パケットのあった入力端と該光遅延素子とを上記の所定の時間後に、上記の入力端側切換器を用いて接続
    (7)入力された光パケット用に空セルを見出せずに残っていれば、次の光遅延素子について(3)以降を繰り返し、次の光遅延素子がなければ、空セルを見出せずに残った光パケットは出力できないものとして棄却する、
    ことを特徴とする光パケットバッファ装置。
  2. 上記の合流器は、上記の出力端と上記の光遅延素子との接続を切り換える出力端側切換器であって、
    上記の光バッファ制御器は、
    出力端から出力される光パケットの出力順に、光遅延素子識別符号が時系列に従って記され予め決められた時間単位THで管理される複数のセルからなる管理テーブルを備え、
    (1)上記のテーブルに記されたそれぞれの光遅延素子識別符号は、時間の経過とともに遅延時間が減少する方向に順送りされ、
    (2)上記の出力端側切換器を用いて上記の管理テーブルから排出される光遅延素子識別符号の光遅延素子と出力端とを接続し、
    (3)各入力端での入力光パケットの最小パケット長と最小パケット間隔との和や出力端での光パケットの最小パケット長と最小パケット間隔との和以下である予め決められた周期TLで、それぞれの入力端からの新たな入力パケットの有無を確認し、
    (4)入力された光パケットについて、上記の各光遅延素子の短い順に、
    (5)上記の管理テーブルの、当該光遅延素子の遅延時間に当該光遅延素子のオフセット分である所定の時間を加えた時間に該当する位置に該入力パケット分の連続した空セルを見出し、
    (6)空セルが見出された光パケットが複数ある場合には、最も優先度の高い光パケットを選択し、上記の空セルの位置から、上記の入力パケットが占有するセル位置に、該光遅延素子識別符号を記し、
    (7)入力パケットのあった入力端と該光遅延素子とを上記の所定の時間後に、上記の入力端側切換器を用いて接続し、
    (8)入力された光パケット用に空セルを見出せずに残っていれば次の光遅延素子について(4)以降を繰り返し、次の光遅延素子がなければ、空セルを見出せずに残った光パケットは出力できないものとして棄却する、
    ことを特徴とする請求項1に記載の光パケットバッファ装置。
  3. 上記の光バッファ制御器は、用いる光遅延素子数(B)と同数の機能ブロックを備え、
    遅延時間の短い光遅延素子から順に光遅延素子に自然数の序数を与えるとき、
    隣り合う序数の光遅延素子間の遅延時間差は、出力端での最大パケット長と最小パケット間隔の和を周期THの整数倍に切り上げたものと周期THと周期TLとの和以上であって、
    それぞれの機能ブロックは作業用FIFOと、該作業用FIFOの作業結果を保存するFIFOと、該入力端と同じ序数を有するパケット送出可能判定器と、を備え、
    前記パケット送出可能判定器は、Bから該光遅延素子の序数を引いたものにTLを掛けたオフセット時間後に、それぞれの入力端からそれぞれの光遅延素子にパケットを送出することが可能かどうかを判定するものであり、
    FIFOと作業用FIFOの接続をさらに機能ブロック間での接続で上記の管理テーブルを構成し、
    周期TLで、
    FIFOは、前段の機能ブロックの作業用FIFOに保持情報を引き渡し、
    初段の機能ブロックのパケット送出可能判定器には、対応する入力端からのパケット情報が引き渡され、
    終段以外の機能ブロックのn番目(1≦n≦N)のパケット送出可能判定器は、TLの遅延時間を与えた後に、次段の機能ブロックのn番目のパケット送出可能判定器に判定するパケット情報を引き渡し、
    パケット送出可能判定器は、上記の管理テーブルに該入力からの入力パケット分の連続した空セルがあるかどうかを判定し、1)無い場合もしくは、他の入力からのパケットが送出可能で当該パケットより優先度の高い場合は入力パケット情報を次段の機能ブロックのパケット送出可能判定器に送り、2)ある場合には、上記の空セルの位置から、入力パケットが占有するセル位置に、当該機能ブロックに対応する光遅延素子識別符号を記し、パケット送出可能判定器が引き渡すパケット情報から当該パケットを出力する旨記載した情報を削除して、当該機能ブロックに対応する光遅延素子識別符号を追加して、次段の機能ブロックのパケット送出可能判定器に送り、
    終段の機能ブロックのパケット送出可能判定器の出力に当該パケットを出力する旨が記載されていた場合には、当該パケットは出力できないものとして落し、そうでない場合には当該出力に含まれた光遅延素子識別符号により識別される遅延線に当該パケットを導くよう、入力端側切換器を制御し、各機能ブロックでの処理を同時に、かつ周期TLで行なうパイプライン処理による方法であることを特徴とする請求項1に記載の光パケットバッファ装置。
  4. 入力端は、P個の入力端のそれぞれに光パケットが非同期到着する入力端で、
    上記の光パケット長は、それぞれ可変長で、i番目(1≦i≦P)の入力端の光パケットについて、その最小パケット長をmとし、最大パケット長をMとし、また、最小パケット間隔をIとし、
    上記の入力端のいずれかに到着した光パケットを、光パケットのまま、1つの出力に、到着した光パケットの内の最小パケット間隔Iで出力する装置であって、
    1≦i≦Pでのmの最小値をm、Mの最大値をM、IやIの最小値をIとし、1≦i≦Pそれぞれのパケットのピッチ(m+I)とピッチ(m+I)との最小値をminmIとするとき、
    上記の読取器は、
    周期TLをminmIより短いクロック信号とするとき、周期TL内の位置をTLの整数分の1の周期THを単位とする精度で読み取るものであって、
    それぞれの入力端の可変長光パケットの光パケット長を読みとる光パケット長読取手段と、
    光パケットの始点の位置を読みとる光パケット位置読取手段と、を備え、
    上記の複数の異なった遅延時間を短い順にD(1≦j≦B)とするとき、
    上記の管理テーブルは、周期TLで、上記の遅延手段の使用状況と出力予定を管理するFIFOであって、
    さらに、上記のFIFOは、最大の遅延量Dに出力端での最大パケット長と最小パケット間隔を加えたものでの周期TH刻みの将来の各時点で各遅延線の出力の有無を管理するものであって、
    (1)入力された光パケットに付加されたパケット情報を読み取るか、光パケットを計測してパケット情報を取得し、
    (2)上記の光バッファ制御器は、各入力から新たに入力されたパケットを、各遅延線について順次、当該遅延線に振り分けた場合、出力の時点で他の遅延線から出力されるパケットとI以上の間隔を保てるかという出力可能性を、上記のFIFOの途中の当該遅延線の遅延量とオフセットに相当する部分の情報と照らし合わせて判定し、
    (3)さらに、上記の光バッファ制御器は、当該遅延線に出力可能な入力されたパケットのうち最も優先度の高いものを当該遅延線に出力するものとし、
    (4)また、上記の光バッファ制御器は、上記の判定の結果に応じてFIFOの当該途中の情報を更新し、当該パケットを当該遅延線に振り分ける入力端側切換器の制御信号を発生し、
    (5)当該パケットがやがて出力端側切換器に到達する時点で、FIFOの出力に記録された遅延線情報により、出力端側切換器を制御する、
    ことを特徴とする請求項1あるいは2に記載の光パケットバッファ装置。
  5. 請求項4に記載の光パケットバッファ装置であって、
    出力可能性の判定を遅延線の短い順に行い、
    KをM+Iが占めるTLの周期の最大数としたとき、
    とDi+1の差が(K+1)×TL以上であれば、i番目以前と(i+1)番目以降の出力可能性の確認を別のパイプラインステージで行う、という周期TLのパイプライン処理を用いたことを特徴とする光パケットバッファ装置。
  6. 請求項5に記載の光パケットバッファ装置であって、
    とDi+1の差が(K+1)×TL未満となる場合はDi+1とDi+2の差が(K+1)×TL以上となる遅延量の遅延線を用いたことを特徴とする光パケットバッファ装置。
  7. 請求項5に記載の光パケットバッファ装置において、
    遅延線の遅延量は、
    とDi+1との差が(K+1)×TL以上であることを特徴とする光パケットバッファ装置。
  8. 光遅延素子で遅延される光パケットの実際の遅延を測定する遅延時間測定部と、FIFO長調整部と、遅延時間測定用パケット発生部とをさらに備え、
    FIFO長調整部は、出力端側切換器を制御する管理テーブルの長さを遅延線の実際の遅延に応じて調整することを特徴とする請求項1から7のいずれかに記載された光パケットバッファ装置。
  9. 請求項2に記載の光パケットバッファ装置において、
    複数の出力端と、
    それぞれの出力端について上記の光遅延素子との接続を電気的に切り換える出力端側切換器と、
    それぞれの出力端について出力される光パケットの出力順に、光遅延素子識別符号が時系列に従って記され予め決められた時間単位THで管理され、それぞれの出力端用にそれぞれ複数のセルからなる管理テーブルを備え、
    パケット情報は、当該パケットが出力される出力端を特定する情報を含み、
    各出力端に対してそれぞれに(1)〜(8)の動作を繰り返し、その際、(5)における動作は、
    「(5)該入力パケットの出力される出力端用の上記の管理テーブルの、当該光遅延素子の遅延時間と当該光遅延素子のオフセット分である所定の時間とを加えた時間に該当する位置に、該入力パケット分の連続した空セルを見出し、
    それ以外の管理テーブルの該時間に該当する部分に該入力パケットと同一の入力端からの入力がないことを確認し、」、とするものであり、
    さらに、(6)においては、「空セルが見出された」の代わりに、「空セルが見出され入力端の衝突がないことが確認された」、とするものであり、
    さらに、(8)においては、「入力された光パケット用に空セルを見出せずに」の代わりに、「入力された光パケット用に遅延素子の衝突がない空セルを見出せずに」、とするものである、
    ことを特徴とする、光パケットバッファ装置。
  10. 請求項1に記載の光パケットバッファ装置の制御方法であって、
    (1)上記のテーブルに記されたそれぞれの出力情報を、時間の経過とともに遅延時間が減少する方向に順送りするステップと、
    (2)上記の時間単位THの整数倍であり、かつ各入力端での入力光パケットの最小パケット長と最小パケット間隔との和や出力端での光パケットの最小パケット長と最小パケット間隔との和以下である予め決められた周期TLで、それぞれの入力端からの新たな入力パケットの有無を確認するステップと、
    (3)入力された光パケットについて、上記の各光遅延素子の短い順に、上記の管理テーブルの、当該光遅延素子の遅延時間に当該光遅延素子のオフセット分である所定の時間を加えた時間に該当する位置に該入力パケット分の連続した空セルを見出すステップと、
    (4)空セルが見出された光パケットが複数ある場合には、最も優先度の高い光パケットを選択し、上記の空セルの位置から、上記の光パケットが占有するセル位置に、出力情報を記すステップと、
    (5)入力パケットのあった入力端と該光遅延素子とを上記の所定の時間後に、上記の入力端側切換器を用いて接続するステップと、
    (6)入力された光パケット用に空セルを見出せずに残っていれば次の光遅延素子について(3)以降を繰り返し、次の光遅延素子がなければ、空セルを見出せずに残った光パケットは出力できないものとして棄却するステップと、
    を含むことを特徴とする光パケットバッファ装置の制御方法。
  11. 請求項2に記載の光パケットバッファッ装置の制御方法であって、
    (1)上記のテーブルに記されたそれぞれの光遅延素子識別符号を、時間の経過とともに遅延時間が減少する方向に順送りするステップと、
    (2)上記の出力端側切換器を用いて上記の管理テーブルから排出される光遅延素子識別符号の光遅延素子と出力端とを接続するステップと、
    (3)上記の時間単位THの整数倍であり、かつ各入力端での入力光パケットの最小パケット長と最小パケット間隔との和や出力端での光パケットの最小パケット長と最小パケット間隔との和以下である予め決められた周期TLで、それぞれの入力端からの新たな入力パケットの有無を確認するステップと、
    (4)入力された光パケットについて、上記の各光遅延素子の短い順に、上記の管理テーブルの、当該光遅延素子の遅延時間に当該光遅延素子のオフセット分である所定の時間を加えた時間に該当する位置に該入力パケット分の連続した空セルを見出すステップと、
    (5)空セルが見出された光パケットが複数ある場合には、最も優先度の高い光パケットを選択し、上記の空セルの位置から、上記の入力パケットが占有するセル位置に、該光遅延素子識別符号を記すステップと、
    (6)入力パケットのあった入力端と該光遅延素子とを上記の所定の時間後に、上記の入力端側切換器を用いて接続するステップと、
    (7)入力された光パケットが残っていれば次の光遅延素子について(4)以降を繰り返し、次の光遅延素子がなければ残りの光パケットは出力できないものとして棄却するステップと、
    を含むことを特徴とする光パケットバッファ装置の制御方法。
  12. 請求項3に記載の光パケットバッファ装置の制御方法であって、
    周期TLで、
    (1)FIFOが、前段の機能ブロックの作業用FIFOに保持情報を引き渡し、
    初段の機能ブロックのパケット送出可能判定器には、対応する入力端からのパケット情報が引き渡され、
    終段以外の機能ブロックのn番目(1≦n≦N)のパケット送出可能判定器は、TLの遅延時間を与えた後に、次段の機能ブロックのn番目のパケット送出可能判定器に判定するパケット情報を引き渡すステップと、
    (2)パケット送出可能判定器が、上記の管理テーブルに該入力からの入力パケット分の連続した空セルがあるかどうかを判定し、A)無い場合もしくは、他の入力からのパケットが送出可能で当該パケットより優先度の高い場合は入力パケット情報を次段の機能ブロックのパケット送出可能判定器に送り、B)ある場合には、上記の空セルの位置から、入力パケットが占有するセル位置に、当該機能ブロックに対応する光遅延素子識別符号を記し、パケット送出可能判定器が引き渡すパケット情報から当該パケットを出力する旨記載した情報を削除して、当該機能ブロックに対応する光遅延素子識別符号を追加して、次段の機能ブロックのパケット送出可能判定器に送り、
    終段の機能ブロックのパケット送出可能判定器の出力に当該パケットを出力する旨が記載されていた場合には、当該パケットは出力できないものとして落し、そうでない場合には当該出力に含まれた光遅延素子識別符号により識別される遅延線に当該パケットを導くよう、入力端側切換器を制御するステップと、
    を含むことにより、各機能ブロックでの処理を同時に、かつ周期TLで行なうパイプライン処理による方法であることを特徴とする光パケットバッファ装置の制御方法。
  13. 請求項4に記載の光パケットバッファ装置の制御方法であって、
    (1)入力された光パケットに付加されたパケット情報を読み取るか、光パケットを計測してパケット情報を取得するステップと、
    (2)上記の光バッファ制御器が、各入力から新たに入力されたパケットを、各遅延線について順次、当該遅延線に振り分けた場合、出力の時点で他の遅延線から出力されるパケットとI以上の間隔を保てるかという出力可能性を、上記のFIFOの途中の当該遅延線の遅延量に相当する部分の情報と照らし合わせて判定するステップと、
    (3)さらに、上記の光バッファ制御器は、当該遅延線に出力可能な入力されたパケットのうち最も優先度の高いものを当該遅延線に出力するステップと、
    (4)また、上記の光バッファ制御器は、上記の判定の結果に応じてFIFOの当該途中の情報を更新し、当該パケットを当該遅延線に振り分ける入力端側切換器の制御信号を発生するステップと、
    (5)当該パケットがやがて出力端側切換器に到達する時点で、FIFOの出力に記録された遅延線情報により、出力端側切換器を制御するステップと、
    を含むことを特徴とする光パケットバッファ装置の制御方法。
JP2007046328A 2007-02-26 2007-02-26 光パケットバッファ制御装置とその制御方法 Expired - Fee Related JP4849627B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007046328A JP4849627B2 (ja) 2007-02-26 2007-02-26 光パケットバッファ制御装置とその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007046328A JP4849627B2 (ja) 2007-02-26 2007-02-26 光パケットバッファ制御装置とその制御方法

Publications (2)

Publication Number Publication Date
JP2008211530A JP2008211530A (ja) 2008-09-11
JP4849627B2 true JP4849627B2 (ja) 2012-01-11

Family

ID=39787461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007046328A Expired - Fee Related JP4849627B2 (ja) 2007-02-26 2007-02-26 光パケットバッファ制御装置とその制御方法

Country Status (1)

Country Link
JP (1) JP4849627B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11943571B2 (en) 2021-03-28 2024-03-26 Newphotonics Ltd. Optical switch with all-optical memory buffer

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5588374B2 (ja) * 2011-02-08 2014-09-10 富士通テレコムネットワークス株式会社 光パケット交換システム、光パケット交換装置、および光パケット送信装置
JP2012165267A (ja) 2011-02-08 2012-08-30 Fujitsu Telecom Networks Ltd 光パケット交換システムおよび光パケット交換装置
JP5597591B2 (ja) * 2011-05-12 2014-10-01 日本電信電話株式会社 光伝送装置及び光伝送方法
JP5475852B1 (ja) * 2012-11-09 2014-04-16 日本電信電話株式会社 光パケットスイッチネットワークにおける光パケットの転送方法及び転送装置
WO2015100629A1 (zh) 2013-12-31 2015-07-09 华为技术有限公司 一种环形光移位器及光信号的移位方法
WO2015100636A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种环形光缓存器及光信号存入和读取方法
JP6249403B2 (ja) 2014-02-27 2017-12-20 国立研究開発法人情報通信研究機構 光遅延線及び電子バッファ融合型光パケットバッファ制御装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0729390A (ja) * 1993-07-07 1995-01-31 Nippon Telegr & Teleph Corp <Ntt> 光バッファメモリ
JP2004236236A (ja) * 2003-01-31 2004-08-19 National Institute Of Information & Communication Technology 非同期到着する可変長パケットのバッファリング装置とその方法
JP3757286B2 (ja) * 2003-07-09 2006-03-22 独立行政法人情報通信研究機構 光パケットのバッファリング装置とそのバッファリング方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11943571B2 (en) 2021-03-28 2024-03-26 Newphotonics Ltd. Optical switch with all-optical memory buffer

Also Published As

Publication number Publication date
JP2008211530A (ja) 2008-09-11

Similar Documents

Publication Publication Date Title
JP4849627B2 (ja) 光パケットバッファ制御装置とその制御方法
JP2595025B2 (ja) 空間分割形スイッチを用いた高速パケット交換装置
US7756013B2 (en) Packet switching system and method
CA1320257C (en) Method and apparatus for input-buffered asynchronous transfer mode switching
JP3989932B2 (ja) マスタ−スレーブ分散通信システムにおけるローカル同期の方法および機構
US6473428B1 (en) Multi-threaded, multi-cast switch
US9172660B2 (en) Switch fabric with collector-based cell reordering
JP2915260B2 (ja) パケット交換配置
JP3757286B2 (ja) 光パケットのバッファリング装置とそのバッファリング方法
JP2918772B2 (ja) パケット交換配置
Chang et al. Recursive construction of FIFO optical multiplexers with switched delay lines
US20080031262A1 (en) Load-balanced switch architecture for reducing cell delay time
US6804255B1 (en) Hardware implementation of channel scheduling algorithms for optical routers with FDL buffers
WO2008028125A2 (en) System and method for strong optical data
JPH02237248A (ja) 多段相互接続ネツトワークにおける交換方法
Chang et al. Using switched delay lines for exact emulation of FIFO multiplexers with variable length bursts
US7155557B2 (en) Communication mechanism
US8204049B2 (en) Add-drop benes networks
Wang et al. Efficient designs of optical LIFO buffer with switches and fiber delay lines
JP2007116350A (ja) 負荷分散装置
JP5451861B1 (ja) 光パケットスイッチネットワークにおける優先経路の設定方法及び設定装置
JP2002252628A (ja) パケット出力調停装置
US7345995B2 (en) Conflict resolution in data stream distribution
US9148377B2 (en) Method and system for transmitting data packets in a network
JP2754612B2 (ja) パケット交換機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110909

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141028

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

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

LAPS Cancellation because of no payment of annual fees