以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、各図において共通する部分には、同一の符号が付加される。また、特に断らない限り、PON区間の制御フレームは、10G−EPONの規格で規定されているMPCP制御フレームである。
図1は、実施例1のWDM/TDM−PONによる光アクセス網を示すブロック図である。
実施例1の光アクセス網は、OLT10、光スプリッタ30、複数のONU20(20A1〜20Dn4)、及び複数の端末50(50A1〜50Dn4)を備える。OLT10は、光回線装置であり、ONU20は、光ネットワーク装置である。
OLT10は、幹線の光ファイバ400を介して光スプリッタ30と接続される。光スプリッタ30は、支線の光ファイバ40A1〜40Dn4を介してONU20A1〜20Dn4に接続される。端末50A1〜50Dn4は、それぞれONU20A1〜20Dn4に接続される。
次に、下り通信及び上り通信の方法に関して説明する。ここで、ONU20A1〜20An1(n1は、任意の正数)は、下り波長λD1及び上り波長λU1を用いて、OLT10と通信する。ONU20B1〜20Bn2(n2は、任意の正数)は、下り波長λD2及び上り波長λU2を用いて、OLT10と通信する。
ONU20C1〜20Cn3(n3は、任意の正数)は、下り波長λD3及び上り波長λU3を用いて、OLT10と通信する。ONU20D1〜20Dn4(n4は、任意の正数)は、下り波長λD4及び上り波長λU4を用いて、OLT10と通信する。なお、この波長可変WDM/TDM−PONシステムにおいて、各ONU20は、常に同じ波長を上り通信及び下り通信に用いる必要はなく、動的に選択可能である。
WDM/TDM−PONにおけるOLT10からONU20への下り通信に関して説明する。OLT10は、ONU20A1〜20An1宛ての信号を、下り波長λD1の下り光信号によって送信する。また、OLT10は、ONU20B1〜20Bn2宛ての信号を、下り波長λD2の下り光信号によって送信する。また、OLT10は、ONU20C1〜20Cn3宛ての信号を、下り波長λD3の下り光信号によって送信する。また、OLT10は、ONU20D1〜20Dn4宛ての信号を、下り波長λD4の下り光信号によって送信する。
従って、OLT10から送信される光信号は、下り波長λD1、λD2、λD3、λD4で波長多重された光信号である。波長多重された光信号は、光スプリッタ30、及び、光ファイバ40A1〜40Dn4を介してONU20A1〜20Dn4に入力される。ONU20は、送受信する波長を変更することが可能な波長可変光送受信器を備えており、特定の波長の光信号のみ送受信が可能である。
ONU20は、波長多重された下り光信号を受信した場合、特定の波長の光信号のみを受信する。例えば、ONU20A1〜20An1は、下り波長λD1の光信号のみを選択し、選択された光信号を受信する。また、ONU20B1〜20Bn2は、下り波長λD2の光信号のみを選択し、選択された光信号を受信する。また、ONU20C1〜20Cn3は、下り波長λD3の光信号のみを選択し、選択された光信号を受信する。また、ONU20D1〜20Dn4は、下り波長λD4の光信号のみを選択し、選択された光信号を受信する。
各波長の下り光信号では各ONU20宛の信号が時分割で多重されている。例えば、下り波長λD1の下り光信号には、ONU20A1〜20An1宛の信号が時分割多重されているため、ONU20の各々は、OLT10から受信したフレームを解析して自宛か否かを判定し、自宛のフレームのみを選択することが可能である。
次に、WDM/TDM−PONにおけるONU20からOLT10への上り通信に関して説明する。各ONU20は、上り波長λU1〜λU4のいずれかを選択し、選択されたた波長によって、OLT10から指示された期間に上り光信号を送信する。なお、ONU20は、指示された期間のみ上り光信号を送信するため、送信される上り光信号はバースト光信号である。
例えば、ONU20A1〜20An1は、上り波長λU1の上りバースト光信号を送信し、ONU20B1〜20Bn2は、上り波長λU2の上りバースト光信号を送信し、ONU20C1〜20Cn3は、上り波長λU3の上りバースト光信号を送信し、ONU20D1〜20Dn4は、上り波長λU4の上りバースト光信号を送信する。
各ONU20から送信された上り光信号(上りバースト光信号)は、光スプリッタ30によって多重された後、OLT10に入力される。従って、OLT10には、時分割多重され、さらに、波長多重された上り波長λU1〜λU4の上り光信号が入力される。
このようにWDM/TDM−PONは、従来のTDM−PONを複数の波長を用いることによって束ねた構成である。このため、1台のOLT10が、より多くのONU20を収容可能であり、さらに、WDM/TDM−PONは、OLT10とONU20との間において、より大きな通信容量を実現できる。
図2は、実施例1のOLT10の構成を示すブロック図である。
OLT10は、合波分波器(WDMカプラ)100、OSU110(110A〜110D)、レイヤー2スイッチ(L2SW)170、ネットワークノードインタフェース(NNI)部180、及び、OLT制御部190から構成される。また、OSU110は、光送受信器120、PON PHY/MAC処理部130、下りユーザトラフィック処理部140、上りユーザトラフィック処理部150、及び、波長切替処理部160から構成される。
OSU110Aは、光送受信器120A、PON PHY/MAC処理部130A、下りユーザトラフィック処理部140A、上りユーザトラフィック処理部150A、及び、波長切替処理部160Aを有する。以下において、OSU110の機能としてOSU110Aの機能を例に説明するが、OSU110Aの機能は他のOSU110と同じである。
合波分波器100は、波長λU1〜λU4の上り光信号と波長λD1〜λD4の下り光信号とを合波及び分波する。合波分波器100は、OSU110Aから入力された下り波長λD1の光信号、OSU110Bから入力された下り波長λD2の光信号、OSU110Cから入力された下り波長λD3の光信号、及び、OSU110Dから入力された下り波長λD4の光信号を合波した光信号を光スプリッタ30に出力する。
また、合波分波器100は、光スプリッタ30から入力された波長λU1〜λU4が合波された光信号を分波する。そして、合波分波器100は、上り波長λU1の光信号をOSU110Aに入力し、上り波長λU2の光信号をOSU110Bに入力し、上り波長λU3の光信号をOSU110Cに入力し、上り波長λU4の光信号はOSU110Dに入力する。
光送受信器120Aは、合波分波器100から入力された上り波長λU1の上り光信号を受信し、受信した上り光信号を電流信号に変換する。さらに、光送受信器120Aは、変換後の電流信号を電圧信号に変換及び増幅し、変換及び増幅後の電気信号を、それぞれPON PHY/MAC処理部130Aに入力する。
また、光送受信器120Aは、PON PHY/MAC処理部130Aから入力された電気信号を下り波長λD1の光信号に変換し、変換後の光信号を、合波分波器100に向けて出力する。
PON PHY/MAC処理部130Aは、光アクセス網内の通信のPHY層及びMAC層の処理を行なう。まず、PON PHY/MAC処理部130Aによる、上り信号の処理内容を説明する。
PON PHY/MAC処理部130Aは、光送受信器120Aから入力された電気信号からクロックを抽出し、抽出されたクロックで電気信号をリタイミングし、電気信号をデジタル信号に変換する。さらに、PON PHY/MAC処理部130Aは、デジタル信号に復号化処理を行い、FECデコード処理を行う。そして、PON PHY/MAC処理部130Aは、デジタル信号からフレームを抽出し、フレームのヘッダを解析し、解析結果に従ってフレームをフレームの種別毎に各部に振り分ける。
PON PHY/MAC処理部130Aは、ヘッダ解析により、フレームがユーザデータであると判定した場合、上りユーザトラフィック処理部150に向けて当該フレームを出力し、フレームが波長切替制御用のフレームであると判定した場合、波長切替処理部160に向けて当該フレームを出力する。
次に、下り信号の処理内容を説明する。PON PHY/MAC処理部130Aは、下りユーザトラフィック処理部140から入力されたフレームに、光アクセス区間用のヘッダを付加し、FECエンコード処理及び符号化処理を行なう。更に、PON PHY/MAC処理部130Aは、符号化されたデジタル信号を電気信号に変換して、光送受信器120に向けて出力する。
下りユーザトラフィック処理部140Aは、L2SW170から入力されたMACフレームをキューに溜め、予め設定されたルールに基づいて帯域制御、優先制御及びVLAN操作を行った後、MACフレームをPON PHY/MAC処理部130Aに向けて出力する。
上りユーザトラフィック処理部150は、PON PHY/MAC処理部130Aから入力されたMACフレームをキューに溜め、予め設定されたルールに基づいて帯域制御、優先制御及びVLAN操作を実行し、L2SW170に向けてMACフレームを出力する。
波長切替処理部160Aは、ONU20に送信する波長切替指示用の制御フレームを生成したり、ONU20から受信した波長切替終了通知用の制御フレームを終端したりする。
L2SW170は、複数のOSU110から入力されたMACフレームを多重してNNI部180に向けて出力する。また、L2SW170は、NNI部180から入力されたMACフレームに、MACフレームの宛先に基づいて出力先ポートを割り当て、割り当てたポートから当該MACフレームを出力する。
NNI部180は、L2SW170から受信した多重されたユーザデータ用フレームをNNI(Network Node Interface)に準拠した信号に変換して、変換後のユーザデータ用フレームをネットワーク60に向けて出力する。また、NNI部180は、ネットワーク60から入力されたユーザデータ用フレームをL2SW170に転送する。
NNI部180は、OLT制御部190からの指示に基づいて、波長切替処理中に受信したユーザデータ用フレーム(下りデータ)であり、かつ、波長を切り替える対象のONU20宛ての下りデータを蓄積する。そして、NNI部180は、波長切替処理終了後に、蓄積した下りデータをL2SW170に転送する。
OLT制御部190は、OSU110A(OSU(#1))〜OSU110D(OSU(#4))、L2SW170、及び、NNI部180に複数の種類の指示を出したり、各部の状態をモニタしたりする。例えば、OLT制御部190は、波長切替処理部160Aに対して波長切替指示を出したり、波長切替処理部160Aから波長切替通知を受信することにより、ONU20が波長を切り替え終わったことを検知したりする。
また、OLT制御部190は、下りユーザトラフィック処理部140が保持する管理テーブルの値を書き換えることによって、下りユーザトラフィック処理部140の動作を切替えたり、管理テーブルの値を読み出したりする。また、OLT制御部190は、波長切替対象宛のフレームを一時的に蓄積する指示、及び、蓄積を解除する指示を、NNI部180に出す。
さらに、OLT制御部190は、波長切替時間テーブル1901を有する。波長切替時間テーブル1901は、ONU20が上り波長の切替えを開始してから終了するまでの時間及びONU20が下り波長の切替えを開始してから終了するまでの時間を示す。OLT制御部190は、必要に応じて波長切替時間テーブル1901の一部または全部をOSU110に送信してもよい。
実施例1によるOLT10において、OLT制御部190は、複数のOSU110(一般的に、カードに実装される)の波長切替処理部160、下りユーザトラフィック処理部140、及び、NNI部180を連携して制御することが可能である。
図3は、実施例1のONU20の構成を示すブロック図である。
ONU20は、波長可変光送受信器210、PON PHY/MAC処理部230、UNI処理部240、及び、波長切替処理部250を有する。
波長切替処理部250は、OLT10から送信されるMPCP制御フレームを受け付け、受け付けたMPCP制御フレームに従って波長可変光送受信器210及びPON PHY/MAC処理部230に指示を送る。また、波長切替処理部250は、切替時間情報2501を保持する。
切替時間情報2501は、波長可変光送受信器210の上り送信部2101が波長の切替えを開始してから終了するまでの時間(上り波長切替時間:時間Ttuning_tx)及び下り受信部2102が波長の切替えを開始してから終了するまでの時間(下り波長切替時間:時間Ttuning_rx)を含む。
波長可変光送受信器210は、上り波長及び下り波長をそれぞれ個別に切替え可能な光送受信器である。波長可変光送受信器210は、上り送信部2101、下り受信部2102及び合波分波部2103を含む。上り送信部2101及び下り受信部2102は、波長切替処理部250から上り波長及び下り波長を設定する指示を各々受け付ける。
合波分波部2103は、下り光信号を波長ごとに分割し、下り受信部2102に送る。また、合波分波部2103は、上り送信部2101から受信した光信号を、OLT10に向けて出力する。
上り送信部2101は、PON PHY/MAC処理部230から受信した上り信号(電流信号)を、上り波長λU1〜λU4のいずれかの上り波長の光信号に、波長切替処理部250からの指示に従って変換する。そして、上り送信部2101は、上り光信号をOLT10に向けて送信する。また、下り受信部2102は、下り波長に下り波長λD1〜λD4のいずれかが設定された下り光信号を、波長切替処理部250からの指示に従って受信する。
ここで、上り波長が上り波長λU1に設定され、下り波長が下り波長λD1に設定された場合の、波長可変光送受信器210の処理を説明する。受信した下り光信号が、OLT10から送信された信号であり、かつ、下り波長λD1〜λD4が波長多重された光信号である場合、下り受信部2102は、下り波長λD1以外の波長をカットする。
これによって、下り受信部2102は、下り波長λD1の下り光信号のみを選択し、選択された下り光信号を受信する。下り受信部2102は、このような処理を、例えば、透過波長が可変な光フィルタを備えることによって実現する。
下り受信部2102は、受信した下り波長λD1の下り光信号を電流信号に変換し、変換後の電流信号を電圧信号に変換し、さらに電圧信号を増幅することによって、電気信号を生成する。そして、下り受信部2102は、生成された電気信号を、PON PHY/MAC処理部230に入力する。
また、上り送信部2101は、PON PHY/MAC処理部230から入力された電気信号を、上り波長λU1の上り光信号に変換し、変換後の上り光信号をOLT10に向けて出力する。
PON PHY/MAC処理部230は、波長可変光送受信器210から入力された電気信号からクロックを抽出し、抽出されたクロックによって、電気信号をリタイミングし、電気信号をデジタル信号に変換する。さらに、PON PHY/MAC処理部230は、デジタル信号に対して復号化処理を行い、必要に応じてFECデコード処理を行い、デジタル信号からフレームを抽出する。
そして、PON PHY/MAC処理部230は、フレームのヘッダを解析し、受信したフレームがユーザデータ用フレーム(下りデータ)かMPCP制御フレームかを特定する。PON PHY/MAC処理部230は、ユーザデータ用フレームをUNI処理部240に出力し、波長切替制御フレームを波長切替処理部250に出力する。
また、PON PHY/MAC処理部230は、UNI処理部240から入力されたユーザデータ用フレーム(上りデータ)と波長切替処理部250から入力された波長切替制御フレームとを多重した後、光アクセス区間のヘッダを付加したフレームに変換する。さらに、PON PHY/MAC処理部230は、符号化及びFECエンコード処理を多重後のフレームに行い、デジタル信号であるフレームを電気信号に変換して、波長可変光送受信器210に向けて出力する。
UNI処理部240は、PON PHY/MAC処理部230から入力されたユーザデータ用フレームをUNI(User Network Interface)に準拠した信号に変換し、変換後のフレームを端末50に送信する。また、UNI処理部240は、端末50から送信されたユーザデータ用フレームを、PON PHY/MAC処理部230に転送する。
実施例1によるONU20の構成によれば、波長可変光送受信器210は、送信部の波長と受信部の波長との各々を、OLT10から受信した波長切替制御フレームに基づいて異なる波長に切り替えることができる。
図4は、実施例1のOSU110の状態遷移を示す説明図である。
OLT10のOSU110の各々は、図4に示す状態をとりうる。OLT制御部190は、OSU110の状態を情報として保持してもよい。
OSU110の状態は、大きく分けて、未登録状態S501、λtuningREPORT受信待ち状態S502、登録状態S503、及び、波長切替指示送信待ち状態S504の四つを示す。
λtuningREPORT受信待ち状態S502は、ONU20において波長が切り替えられた場合に、切り替えた後の波長を扱うOSU110がとりうる状態であり、新たなONU20が登録される予定のOSU110の状態である。
波長切替指示送信待ち状態S504は、ONU20において波長が切り替えられた場合に、切り替える前の波長を扱うOSU110がとりうる状態であり、登録されていたONU20と通信しなくなる予定のOSU110の状態である。
未登録状態S501は、OSU110に、まだONU20が登録されていない状態である。OSU110が未登録状態S501であり、かつ、ONU20の初期登録のための一連の処理(ディスカバリプロセス)が終了した場合、OSU110は、登録状態S503に遷移する。
OLT制御部190からOSU110が波長切替(入)指示を受信した場合、OSU110の状態は、λtuningREPORT受信待ち状態S502に遷移する。
OSU110が、λtuningREPORT受信待ち状態S502である間に、波長切替(入)指示を受信した場合、波長切替対象のONU20から送信されるλtuningREPORTフレームの受信を待つ。
OSU110が、λtuningREPORT受信待ち状態S502に遷移してから、所定の時間以内にλtuningREPORTフレームを受信した場合、OSU110の状態は、登録状態S503に遷移する。所定の時間以内にλtuningREPORTフレームを受信できない場合、OSU110の状態は、未登録状態に遷移する。
OSU110が登録状態S503に遷移してから所定の時間以内に、OSU110がONU20からいかなるMPCP制御フレームも受信しない場合、OSU110は、MPCPタイムアウトを検出し、未登録状態S501に遷移する。
本実施例におけるMPCP制御フレームとは、GATEフレーム及びREPORTフレーム等のOSU110とONU20とが通信するため制御フレームである。登録状態S503においてOSU110が受信するMPCP制御フレームは、例えば、Reportフレームである。
また、OSU110が登録状態S503である場合において、OLT制御部190から波長切替(出)指示を受信した場合、OSU110は、波長切替指示送信待ち状態S504に遷移する。
OSU110が波長切替指示送信待ち状態S504である場合、OSU110は、切替対象のONU20の波長切替時間を、波長切替時間テーブル1901(後述)から取得する(S504A)。そして、OSU110は、取得した波長切替時間に基づいてONU20の上り波長切替開始時刻ts_tx(以下、開始時刻ts_tx)と下り波長切替開始時刻ts_rx(以下、開始時刻ts_rx)とを決定する(S504B)。
さらに、OSU110は、決定した開始時刻ts_tx及び開始時刻ts_rxの情報を含むλtuningGATEフレームを、ONU20に送信する。その後、OSU110は、ONU20の未登録状態S501に遷移する。
図5は、実施例1のONU20の状態遷移を示す説明図である。
ONU20は、未登録状態S401、通常状態S402、Tx波長(上り波長)切替待ち状態S403、Tx波長切替状態S404、Rx波長(下り波長)切替待ち状態S405、Rx波長切替状態S406、TxRx波長切替状態S407、及び、上り送信グラント待ち状態S408の八つの状態をとりうる。
なお、図5が示す状態遷移は、下り受信部2102が波長の切替えを終了する時刻と上り送信部2101が波長の切替えを終了する時刻とが同じ時刻である場合のONU20の状態遷移である。
ONU20が未登録状態S401である間に、OLT10と初期登録のための一連の処理(ディスカバリプロセス)を終了した場合、ONU20は、通常状態S402に遷移する。
ONU20が通常状態S402である間に、OLT10からλtuningGATEフレームを受信した場合、波長切替処理部250は、λtuningGATEフレーム内の開始時刻ts_txと開始時刻ts_rxとを比較する。そして、開始時刻ts_txよりも開始時刻ts_rxが後である場合(ts_tx<ts_rx)、ONU20は、Tx波長切替待ち状態S403に遷移する。開始時刻ts_txが、開始時刻ts_rx以降である場合(ts_tx≧ts_rx)、ONU20は、Rx波長切替待ち状態S405に遷移する。
ONU20がTx波長切替待ち状態S403である場合、ONU20は、自らが保持するMPCP時刻(ONU20における現在時刻)が開始時刻ts_txを経過するまで待つ。なお、Tx波長切替待ち状態S403である間、ONU20は、上り光信号を送信することも下り光信号を受信することも可能である。
MPCP時刻が開始時刻ts_txを経過した場合、ONU20の上り送信部2101は、上り波長の切替えを開始する。これによって、ONU20は、Tx波長切替状態S404に遷移する。
ONU20がTx波長切替状態S404である間、ONU20における上り送信部2101は、波長を切り替えているため、上り光信号を送信できない状態である。一方で、下り受信部2102は、波長を切り替える前の状態であるため、切替え前の波長によって下り光信号を受信できる状態である。
ONU20がTx波長切替状態S404である場合、ONU20は、自らが保持するMPCP時刻が開始時刻ts_rxを経過するまで待つ。MPCP時刻が開始時刻ts_rxを経過した場合、ONU20の下り受信部2102は、下り波長の切替えを開始する。これによって、ONU20は、TxRx波長切替状態S407に遷移する。
一方で、ONU20がRx波長切替待ち状態S405である場合、ONU20は、MPCP時刻が開始時刻ts_rxを経過するまで待つ。なお、Rx波長切替待ち状態S405である間、ONU20は、上り光信号を送信することも下り光信号を受信することも可能である。
MPCP時刻が開始時刻ts_rxを経過した場合、ONU20の下り受信部2102は、下り波長の切り替えを開始する。これによって、ONU20は、Rx波長切替状態S406に遷移する。
ONU20がRx波長切替状態S406である間、ONU20における下り受信部2102は、波長を切り替えているため、下り光信号を受信できない状態である。一方で、上り送信部2101は、波長を切り替える前の状態であるため、切替え前の波長によって上り光信号を送信できる状態である。
ONU20がRx波長切替状態S406である場合、ONU20は、自らが保持するMPCP時刻が開始時刻ts_txを経過するまで待つ。MPCP時刻が開始時刻ts_txを経過した場合、ONU20の上り送信部2101は、上り波長の切替えを開始する。これによって、ONU20は、TxRx波長切替状態S407に遷移する。
ONU20がTxRx波長切替状態S407である間、ONU20の上り送信部2101及び下り受信部2102のどちらも波長を切り替えているため、ONU20は、上り光信号を送信することも下り光信号を受信することもできない状態である。
MPCP時刻が時刻t_endを経過した場合、ONU20は、上り送信グラント待ち状態S408に遷移する。ここで、時刻t_endは、下り受信部2102及び上り送信部2101の両方が、波長の切替えを終了する時刻である。
ONU20が上り送信グラント待ち状態S408である場合、ONU20の波長可変光送受信器210は、波長が切り替えられた後の状態であり、上り光信号も送信でき、下り光信号も受信できる。上り送信グラント待ち状態S408において、ONU20は、切替え後の波長を扱うOSU110から送信される通常のGATEフレームによって、上り送信グラントが通知されることを待つ。
上り送信グラント待ち状態S408において、切替え後の波長を扱うOSU110からGATEフレームを受信した場合、ONU20は、GATEフレームを送信したOSU110に、λtuningREPORTフレームを送信する。その後、ONU20は、通常の通信が可能な通常状態S402に遷移する。
また、未登録状態S401以外の状態において、最後にMPCP制御フレーム(この場合、λtuningGATEフレーム又はGATEフレーム)を受信してから所定の時間以上、OLT10からMPCP制御フレームを受信しない場合、MPCPタイムアウトを検出する。そして、ONU20は、未登録状態S401に遷移する。
図6は、実施例1の波長切替処理を示すシーケンス図である。
以下において、ONU(#1)20が、上り波長及び下り波長を波長λ1から波長λ2に切り替える例について説明する。また、以下における例は、ONU(#1)20の下り受信部2102が下り波長の切替えを開始してから終了するまでの時間Ttuning_rxが、ONU(#1)20Aの上り送信部2101が上り波長の切替えを開始してから終了するまでの時間Ttuning_txよりも短い場合の例である。
以下では、波長を切り替える対象のONU20の識別子を、ONU−IDをONU#1とする。また、波長λ1は、上り波長λU1及び下り波長λD1の組み合わせを示し、波長λ2は、上り波長λU2及び下り波長λD2の組み合わせを示す。上り波長と下り波長との値は同じ値である必要はない。
まず、OLT制御部190は、波長を切り替えるONU20のONU−ID(ONU#1)と、切り替え後の波長(波長λ2)とを決定した場合、NNI部180、OSU110A及びOSU110Bに各々切替指示を出す(301、302及び303)。
ここで、シーケンス302は、OSU110Aへの波長切替(出)指示であり、シーケンス303は、OSU110Bへの波長切替(入)指示である。このため、シーケンス302における切替指示を受信後、OSU110Aは、図4に示す登録状態S503から波長切替指示送信待ち状態S504に遷移し、OSU110Bは、未登録状態S501からλtuningREPORT受信待ち状態S502に遷移する。
OSU110Aの波長切替処理部160Aは、シーケンス302を受信した場合、ONU(#1)20の時間Ttuning_tx及び時間Ttuning_rxを波長切替時間テーブル1901から取得し、取得した情報に基づいて開始時刻ts_tx及び開始時刻ts_rxを算出及び決定する。
図6の処理における波長切替処理部160Aは、上り送信部2101が波長の切替えを終了する時刻と、下り受信部2102が波長の切替えを終了する時刻とが一致するように、開始時刻ts_tx及び開始時刻ts_rxを算出する。時間Ttuning_rxが時間Ttuning_txよりも短いため、開始時刻ts_rxは、開始時刻ts_txより後の時刻である。
なお、ここで、波長切替処理部160Aは、開始時刻ts_txを決定する際に、波長切替指示受信時にOSU110Aにおいて処理中の下りデータを、ONU(#1)20に送信するための時間を考慮する必要はない。これは、開始時刻ts_rxは開始時刻ts_txより遅いためである。
そして、波長切替処理部160Aは、開始時刻ts_tx及び開始時刻ts_rxを含むλtuningGATEフレームを生成し、PON PHY/MAC処理部130A等を介してONU(#1)20に送信する(305)。
また、波長切替(入)指示をOLT制御部190から受信した後、OSU110Bの波長切替処理部160は、ONU(#1)20に複数のGATEフレームを所定のタイミング又は所定の周期で送信し続ける(306A〜306C)。
また、NNI部180は、シーケンス301の後にONU(#1)20宛ての下りデータをネットワーク60から受信した場合(304)、ONU(#1)20宛てのすべての下りデータをバッファ等に蓄積する。
ただし、シーケンス302においてOSU110Aが、ONU(#1)20宛ての下りデータを既に処理している場合、シーケンス301〜303及びシーケンス305の後も、OSU110Aは、下り光信号をONU(#1)20に送信できる(307)。
これは、図6に示すONU(#1)20の下り受信部2102は、上り送信部2101よりも遅く波長の切替えを開始するため、シーケンス305後、開始時刻ts_rxまでは、OSU110Aから送られた下り光信号を受信できるためである。
ONU20による波長の切替えの開始時刻がOSU110が処理中の下りデータを受信した後の時刻に設定されておらず、かつ、波長の切替えをONU20に指示した場合、OSU110は、切替指示時にOSU110において処理中の下りデータを廃棄する必要がある。一方で、図6に示すONU20は、λtuningGATEフレームによって波長の切替えを受信した後も、下り光信号を受信できる。このため、実施例1のOSU110は、波長を切り替える間に蓄積又は破棄される下りデータの量を低減することができる。
ONU(#1)20は、OSU110AからλtuningGATEフレームを受信した場合、通常状態S402からTx波長切替待ち状態S403に遷移する。更に、上り送信部2101は、MPCP時刻が開始時刻ts_txを経過した場合上り波長の切替えを開始し、ONU(#1)20は、Tx波長切替状態S404に遷移する。
そして、MPCP時刻が開始時刻ts_rxを経過した場合、下り受信部2102は、下り波長の切替えを開始し、ONU(#1)20は、TxRx波長切替状態S407に遷移する。
開始時刻ts_txから時間Ttuning_txが経過した場合、上り送信部2101及び下り受信部2102が、波長の切替えを終了するため、ONU(#1)20は、上り送信グラント待ち状態S408に遷移する。上り送信グラント待ち状態S408においてONU(#1)20がOSU110BからGATEフレームを受信した場合(306C)、上り送信部2101は、GATEフレームが示す上り送信グラントに従って、λtuningREPORTフレームをOSU110Bに送信する(308)。
これによって、ONU(#1)20は、通常の通信が可能な通常状態S402に遷移する。また、シーケンス308の後、OSU110Bは、登録状態S503に遷移する。
OSU110Bは、ONU(#1)20が波長を切り替えている間もGATEフレームをONU(#1)20に向けて送り続けるが(306A、306B)、Tx波長切替待ち状態S403、Tx波長切替状態S404及びTxRx波長切替状態S407において、ONU(#1)20の上り送信部2101は、Reportフレームを送信できない。
OSU110Bは、ONU(#1)20からλtuningREPORTフレームを受信した場合、OLT制御部190に波長切替終了通知を送る(309)。OLT制御部190は、シーケンス309の後、NNI部180に波長を切り替えたONU20宛ての下りデータの転送を再開する指示を出す(310)。
シーケンス310において下りデータの転送を再開する指示を受けた場合、NNI部180は、ONU(#1)20に下りデータを送信可能なタイミングであると判定し、蓄積されていたONU(#1)20宛ての下りデータをOSU110Bに送る(311)。OSU110Bは、受信した下りデータを含む下り光信号をONU(#1)20に送信する(312)。
NNI部180が下りデータを送信可能なタイミングであると判定するまで下りデータを蓄積することにより、OLT10は、受信した下りデータを廃棄する必要がない。
図6に示すシーケンスによれば、上り波長の切替開始が下り波長の切替開始よりも早いため、ONU20は、上り波長を切り替えている間も下り光信号を受信できる時間を持つ。このため、このような時間にOSU110が下り光信号をONU20に送ることによって、OSU110は、波長切替を指示した時に処理中の下りデータを廃棄又は蓄積する必要がなくなり、この結果、図6に示すOLT10は、波長を切り替えるONU20宛ての下りデータのレイテンシを低減できる。
また、図6に示すONU20は、切替指示時にOSU110において処理中の下りデータの受信を待つことなく、波長の切替えを開始できるため、実施例1の光アクセス網は、ONU20がすべての波長を切り替え終わるまでの時間を早めることができる。
図7は、実施例1のλtuningGATEフレームのフォーマットを示す説明図である。
本実施例のOLT10は、MPCP制御フレームであるGATEフレームに基づいた制御フレームを、λtuningGATEフレームとして用いる。本実施例のλtuningGATEフレームのフィールドの構成は、IEEE802.3av Clause77.3.6に記載される構成が適用される。
λtuningGATEフレームは、波長切替を指示するためのフレームである。図7に示すフィールド名721は、λtuningGATEフレームに含まれる複数のフィールドの名称を示す。オクテット722は、λtuningGATEフレームに含まれるフィールドの各々の大きさを示す。内容723は、λtuningGATEフレームのフィールドに含まれる値の内容を示す。
λtuningGATEフレームは、Destination AddressF701、Source AddressF702、Length/TypeF703、OpcodeF704、TimestampF705、Number of grants/FlagsF706、Grant#i Start timeF707−i、Grant#i LengthF708−i、US/DS wavelength tuning flagsF709、US wavelength tuningStartTimeF710、US wavelength ID F711、DS wavelength tuningStartTime F712、DS wavelength ID F713、Pad/Reserved F714、及び、FCS F715のフィールドから構成される。
Destination AddressF701は、送信先アドレスを示す。Source AddressF702は、送信元アドレスを示す。
Length/TypeF703は、フレーム長及びフレーム種別を示す。OpcodeF704は、MPCP制御フレームの種別を示す。Length/TypeF703、OpcodeF704は、MPCP制御フレームであるか、ユーザデータ用フレームであるかを識別し、種別毎にフレームを振り分けるための値を格納する。
本実施例のLength/TypeF703及びOpcodeF704は、λtuningGATEフレームを示す値として、従来のGATEフレームで用いられていた値を格納する。具体的には、Length/TypeF703は「0x8808」を格納し、OpcodeF704は、「0x0002」を格納する。
TimestampF705は、このMPCP制御フレームが送信元から出力された時刻を示す。Number of grants/FlagsF706は、上り送信グラントの数などを示す。
特に、図7に示すNumber of grants/FlagsF706は、λtuningGATEフレームによって指定される上り送信グラントの数などを示す。例えば、Number of grants/FlagsF706の上り送信グラント数が4である場合、図7に示すGrant#i Start timeF707−i及びGrant#i LengthF708−i(i:1から4の整数)のように、MPCP制御フレームは、グラント開始時刻と長さとに組み合わせを四つ含む。
また、例えば、Number of grants/FlagsF706が2を示す場合、グラント開始時刻と長さとの組み合わせを二つ含む。
Grant#i Start timeF707−iは、上り送信許可期間の開始時刻を示す。Grant#i LengthF708−iは、上り送信許可期間の長さを示す。OSU110は、一つのGATEフレームによって、上り送信許可を最大4回ONU20に与えることができる。
US/DS wavelength tuning flagsF709は、上り/下り波長切替有無を表す波長切替フラグを示す。例えば、US/DS wavelength tuning flagsF709は、OSU110が上り光信号のみの波長を切り替えるように指示する場合、「0x01」を格納し、OSU110が下り光信号のみの波長を切り替えるように指示する場合、「0x10」を格納し、OSU110が上り光信号及び下り光信号両方の波長を切り替えるように指示する場合、「0x11」を格納する。
US wavelength tuningStartTimeF710は、上り波長切替の開始時刻ts_txを示し、ONU20の波長切替処理部250は、この開始時刻ts_txに波長を切り替えるよう上り送信部2101に指示する。
US wavelength ID F711は、波長切替後の上り波長を示す。US wavelength ID F711は、上り波長を示す数字等の識別子を格納してもよく、例えば、波長λU1に切り替える指示である場合、「0x00」を格納し、波長λU4に切り替える指示である場合、「0x03」を格納する。
DS wavelength tuningStartTime F712は、下り波長切替の開始時刻ts_rxを示し、ONU20の波長切替処理部250は、この開始時刻ts_rxに波長を切り替えるよう下り受信部2102に指示する。
DS wavelength ID F713は、波長切替後の下り波長を示す。DS wavelength ID F713は、下り波長を示す数字等の識別子を格納してもよく、例えば、波長λD1に切り替える指示である場合、「0x00」を格納し、波長λD4に切り替える指示である場合、「0x03」を格納する。
Pad/Reserved F714は、パディング又は予備用に利用される領域である。FCS F715は、受信したフレームに誤りがないかをチェックするためのビット列である。
図7に示すフォーマットによれば、OSU110は、個別に異なる開始時刻から上り波長と下り波長とをONU20が切り替えるように、ONU20に指示することが可能である。また、OSU110は、図7に示すフォーマットによって、上り波長のみの切替指示と下り波長のみの切替指示とを個別に送信することも可能である。さらに、OSU110は、波長切替指示と同時に上り送信許可をONU20に与えることも可能である。
図8は、実施例1の波長切替時間テーブル1901を示す説明図である。
波長切替時間テーブル1901は、ONU−ID1902、上り波長切替時間1903及び下り波長切替時間1904を含む。ONU−ID1902は、ONU20の識別番号を示す。
上り波長切替時間1903は、ONU−ID1902が示すONU20の上り送信部2101が、波長の切替えを開始してから終了するまでの時間Ttuning_txを示す。下り波長切替時間1904は、ONU−ID1902が示すONU20の下り受信部2102が、波長の切替えを開始してから終了するまでの時間Ttuning_rxを示す。
ONU20の波長切替処理部250は、切替時間情報2501が示す時間Ttuning_tx及び時間Ttuning_rxを、ONU20の初期登録時にOLT10に通知する。なお、本実施例の光アクセス網の管理者又は運用者が、時間Ttuning_tx及び時間Ttuning_rxを示す情報を、他の計算機及びネットワークを介してOLT10に通知してもよい。
OLT10は、に基づいて、ONU20等から通知された情報を、波長切替時間テーブル1901に登録する。なお、図8に示す上り波長切替時間1903及び下り波長切替時間1904が示す時間の単位は、10G−EPONのMPCP制御フレームのTimestampF705の単位で用いられるTime Quanta(TQ)を用いて表現されてもよいし、他の単位によって表現されてもよい。
ここで、本実施例の波長切替時間テーブル1901に登録される情報を取得するためのONU20の初期登録方法について述べる。
本実施例の光アクセス網は、10G−EPON標準規格と同様なシーケンス及びMPCP制御フレームを用いる。まず初めに、OLT10がDiscoveryGATEフレームをONU20に送信する。DiscoveryGATEフレームを受信し、かつ、まだOLT10に登録されていない場合、ONU20は、指定された時刻からランダム時間待ってOLT10に応答する。
ONU20は、DiscoveryGATEフレームへの応答として、OLT10への登録を要求するREGISTER_REQフレームをOLT10に送信する。OLT10は、REGISTER_REQフレームを受信した場合、応答があったONU20を登録するためにREGISTERフレームとGATEフレームとをONU20に送信する。ONU20は、REGISTERフレームへの応答として、REGISTER_ACKフレームを送信する。
このようにONU20の初期登録時には、複数のMPCP制御フレームがOLT10とONU20との間で送受信される。ONU20は、前述のREGISTER_REQフレームに、ONU20の波長可変光送受信器210の性能情報であるLaser ON時間及びLaser OFF時間を含める。
そして、本実施例のONU20の波長切替処理部250は、波長可変光送受信器210の性能情報として、時間Ttuning_tx及び時間Ttuning_rxを示す情報を、さらにREGISTER_REQフレームに含める。これにより、OLT10は、各ONU20を特定するための情報と、時間Ttuning_tx及び時間Ttuning_rxを示す情報とを取得することができる。
図9は、実施例1の初期登録時にONU20が送信するREGISTER_REQフレームを示す説明図である。
図9に示すREGISTER_REQフレームは、波長切替時間をOLT10に通知するための制御フレームである。なお、図9に示すフレームは、MPCP制御フレームであるREGISTER_REQフレームを拡張したフィールドを有するが、初期登録時にOLT10に時間Ttuning_tx及び時間Ttuning_rxを示す情報を通知できる制御フレームであれば、いかなるフィールドを有した制御フレームのフィールドを有してもよい。
図9に示すREGISTER_REQフレームは、Destination AddressF901、Source AddressF902、Length/TypeF903、OpcodeF904、TimestampF905、FlagsF906、Pending GrantF907、Discovery InformationF908、Laser On timeF909、Laser Off timeF910、Available US wavelengthF911、US wavelength tuning timeF912、Available DS wavelengthF913、DS wavelength tuning timeF914、Pad/ReservedF915、及び、FCS F916を含む。
Destination AddressF901は、送信先アドレスを示す。Source AddressF902は、送信元アドレスを示す。Length/TypeF903は、フレーム長及びフレーム種別を示す。
OpcodeF904は、制御フレームの種別を示す。TimestampF905は、このREGISTER_REQフレームが送信元から出力された時刻を示す。FlagsF906は、フラグを示す。Pending GrantF907は、ONU20への上り送信グラントの最大数を示す。
Discovery InformationF908は、ディスカバリ情報を示す。Laser On timeF909は、LaserON時間を示す。Laser Off timeF910は、LaserOFF時間を示す。
Available US wavelengthF911は、利用可能な上り波長を示す。US wavelength tuning timeF912は、上り波長切替時間(時間Ttuning_tx)を示す。Available DS wavelengthF913は、利用可能な下り波長を示す。DS wavelength tuning timeF914は、下り波長切替時間(時間Ttuining_rx)を示す。
Pad/ReservedF915は、パディング又は予備用に利用されるフィールドである。FCS F916は、受信したMPCP制御フレームに誤りがないかチェックするためのビット列を示す。
図9に示すフォーマットによれば、ONU20は、ONU20を初期登録する際に、ONU20の時間Ttuning_tx及び時間Ttuning_rxを示す情報を、OLT10に通知することができる。そして、初期登録を行うディスカバリフェーズにおいて、波長切替時間を取得することにより、OLT10は、ONU20において波長を切替える必要がある場合、本実施例を速やかに適用できる。
実施例1のOLT10は、上り波長の切替え開始を下り波長の切替え開始よりも早めることによって、下り波長の切替えが開始される前であり、かつ、上り波長の切替えを実行している期間にも下り光信号を受信できる。すなわち、波長切替指示をOLT制御部190から受信時にOSU110において処理されていた下りデータを、ONU20は、Tx波長切替状態S404においても受信できる。
このため、OSU110の波長切替処理部160は、すべての下りデータの受信を待つことなく上り波長の切り替えを開始できるため、上り波長及び下り波長両方の切替え終了までの時間を低減できる。
さらにこれにより、波長を切り替える対象であるONU20宛ての下りデータを、NNI部180においてバッファリングする時間が短縮され、波長切替えによる下りレイテンシ増加を抑えることができる。また、ONU20のバッファリング時間が短縮されるため、OLT10が備える波長切替用の一時蓄積バッファ容量を低減することができ、必要となるメモリ容量を低減でき、OLT10を設置するためのコスト削減が可能となる。
また、OSU110が開始時刻ts_tx及び開始時刻ts_rxを決定することにより、OSU110が下り波長の切替えと上り波長の切替えとを個別に制御できる。