以下に、本発明の実施の形態にかかる親局装置および波長割り当て方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
図1は、本発明の実施の形態にかかる光通信システムの構成例を示す図である。実施の形態1にかかる光通信システムはTWDM−PONシステムであり、親局装置であるOLT1と、複数の子局装置であるONU2とを備える。複数のONU2のそれぞれは、光ファイバおよび光スプリッタで構成された光伝送路を介してOLT1に接続される。なお、各ONU2は同一構成である。図1では、複数のONU2の中の1台の構成のみを記載している。以下の説明では、OLT1から各ONU2に向かう方向を下り方向とし、OLT1が各ONU2へ送信するデータフレームを下りデータフレームと称する場合がある。また、各ONU2からOLT1に向かう方向を上り方向とし、各ONU2がOLT1へ送信するデータフレームを上りデータフレームと称する場合がある。
各ONU2は、下りデータフレームの受信および上りデータフレームの送信の双方が発生しない状態が継続している場合にOLT1からスリープ状態への移行が許可されると、スリープ状態に移行する。スリープ状態は、OLT1との間で光信号を送受信する動作を一定時間停止することにより消費電力を抑える状態である。スリープ状態のONU2は、光信号の送受信を停止する第1の状態と、光信号の送受信が可能な第2の状態とを繰り返す。スリープ状態のONU2は、第2の状態となったときに、スリープ状態を終了する条件が満たされたか否かを確認し、条件が満たされない場合は第1の状態となり、条件が満たされた場合は第1の状態とはならずに、スリープ状態を終了して通常状態に復帰する。通常状態は、OLT1との間でデータフレームを含む光信号の送受信が可能な状態、すなわち稼働状態である。ONU2がスリープ状態を終了する条件としては、例えば、スリープ状態のONU2へ送信する下りデータがOLT1で発生した場合、スリープ状態のONU2で上りデータが発生した場合、などが該当する。
OLT1の構成について説明する。OLT1は、SNI(Service Node Interface)11と、OSU121〜124と、PON制御部13と、ONUスリープ制御部14と、波長情報格納部15と、OSUスリープ制御部16と、帯域情報格納部17と、光合分波器18とを備える。
SNI11は、図示を省略したサービスネットワークに接続され、サービスネットワークとの間で通信を行う。SNI11は、受信器111、受信帯域測定部112、受信バッファ113、送信器114、送信帯域測定部115および送信バッファ116を備える。
受信器111は、サービスネットワークに接続されている他の通信装置から信号を受信する。受信帯域測定部112は、サービスネットワークとの間の受信帯域、すなわち、予め定められた一定時間あたりのサービスネットワークからのデータ受信量を測定する。受信バッファ113は、受信器111がサービスネットワークから受信したデータフレームを一時的に保持する。送信器114は、サービスネットワークに接続されている他の通信装置へ信号を送信する。送信帯域測定部115は、サービスネットワークとの間の送信帯域、すなわち、予め定められた一定時間あたりのサービスネットワークへのデータ送信量を測定する。送信バッファ116は、送信器114がサービスネットワークへ送信するデータフレームを一時的に保持する。なお、受信帯域測定部112は受信帯域の測定結果をPON制御部13およびONUスリープ制御部14に出力し、送信帯域測定部115は送信帯域の測定結果をPON制御部13およびONUスリープ制御部14に出力する。
OSU121〜124は、それぞれが異なる波長の光信号をONU2との間で送受信する光送受信部である。OSU121〜124は、取り扱う波長がそれぞれ異なるが、内部構成は同一である。図1では、OSU121の内部構成について記載し、OSU122〜124の内部構成の記載は省略している。ここでは、OSU121について説明を行う。なお、以下の説明では、OSU121〜124をまとめて、複数のOSU12、各OSU12などと記載する場合がある。
OSU121は、送信バッファ121、送信帯域測定部122、光送信器123、受信バッファ124、受信帯域測定部125および光受信器126を備える。
送信バッファ121は、光送信器123がONU2へ送信するデータフレームを一時的に保持する。
送信帯域測定部122は、各ONU2との間の送信帯域、すなわち、予め定められた一定時間あたりの各ONU2へのデータ送信量を測定する。送信帯域測定部122は、ONU2ごとに、送信帯域を測定する。例えば、OSU121に割り当てられているONU2が3台存在する場合、送信帯域測定部122は、3台のONU2のそれぞれについて、送信帯域を測定する。送信帯域測定部122は、例えば、割り当てられている各ONU2へPON制御部13が送信するデータフレームの数を測定し、予め定められた一定時間あたりに送信したデータフレームの数に基づいてONU2ごとの送信帯域を計算する。送信帯域測定部122は、送信帯域の測定結果をPON制御部13、ONUスリープ制御部14および帯域情報格納部17に出力する。
光送信器123は、送信バッファ121から出力されるデータフレームを予め定められた波長の光信号を変換してONU2へ送信する。
受信バッファ124は、光受信器126がONU2から受信したデータフレームを一時的に保持する。
受信帯域測定部125は、各ONU2との間の受信帯域、すなわち、予め定められた一定時間あたりの各ONU2からのデータ受信量を測定する。受信帯域測定部125は、ONU2ごとに、受信帯域を測定する。受信帯域測定部125は、例えば、割り当てられている各ONU2から受信するデータフレームの数を測定し、予め定められた一定時間あたりに受信したデータフレームの数に基づいてONU2ごとの受信帯域を計算する。受信帯域測定部125は、受信帯域の測定結果をPON制御部13、ONUスリープ制御部14および帯域情報格納部17に出力する。
光受信器126は、予め定められた波長の光信号をONU2から受信し、データフレームに変換する。
なお、送信帯域測定部122および受信帯域測定部125は、複数のOSU12の各々に割り当てられているONU2が利用した帯域の情報を子局装置ごとに取得する帯域情報取得部を構成する。ここでの「ONU2が利用した帯域の情報」とは、OLT1とONU2との間の送信帯域および受信帯域を示す情報である。
PON制御部13は、OLT1と各ONU2との間の通信を制御する。PON制御部13が行う動作には、各ONU2に帯域を割り当てる動作、SNI11経由で他の通信装置から受信したフレームをOSU12経由でONU2へ送信する動作、OSU12経由でONU2から受信したフレームをSNI11経由で他の通信装置へ送信する動作が含まれる。PON制御部13は、各ONU2に帯域を割り当てる動作では、OLT1が保持している各ONU2宛の下りデータのデータ量と、各ONU2が保持している上りデータのデータ量とに基づいて、各ONU2に対して動的に帯域を割り当てる。また、PON制御部13が行う動作には、複数のOSU12の各々に割り当てられている各ONU2に対して割り当て先のOSU12の変更を指示する動作なども含まれる。PON制御部13がONU2に対して割り当て先のOSU12の変更を指示する動作は、波長切り替えを指示する動作である。
ONUスリープ制御部14は、予め定められた条件を満たした状態のONU2からスリープ状態への移行の要求を受けた場合、要求元のONU2に対してスリープ状態への移行を許可する応答を行い、要求元のONU2をスリープ状態に移行させる。ここでの「予め定められた条件」としては、例えば、過去の一定の時間にわたってOLT1と要求元のONU2との間でデータフレームの送受信が発生していない場合が該当する。ONUスリープ制御部14は、各OSU12の送信帯域測定部122から出力される送信帯域および各OSU12の受信帯域測定部125から出力される受信帯域に基づいて、要求元のONU2との間でデータフレームの送受信が発生していないか否かを判定する。ONUスリープ制御部14は、ONU2をスリープ状態に移行させた場合、スリープ状態に移行させたONU2を帯域情報格納部17およびOSUスリープ制御部16に通知する。なお、ONUスリープ制御部14は、ONU2からの要求の受信および応答の送信をPON制御部13経由で行う。
波長情報格納部15は、各ONU2に対する波長の割り当て状態の情報、すなわち、複数のONU2のそれぞれがどのOSU12に割り当てられているかを示す情報を保持する。波長情報格納部15が保持する情報はPON制御部13により更新される。波長情報格納部15は、例えば、各ONU2と波長との対応関係が登録される波長割当てテーブルを保持する。
OSUスリープ制御部16は、スリープさせることが可能なOSU12が存在する場合、OSU12をスリープ状態に移行させる。例えば、OSUスリープ制御部16は、ONU2が割り当てられていないOSU12が存在する場合、このOSU12をスリープ状態に移行させる。スリープ状態のOSU12は、OSUスリープ制御部16から通常状態への復帰指示を受けるまで、光信号の送受信動作を停止する。スリープ状態のOSU12は、スリープ状態のONU2とは異なり、スリープ状態のときに光信号の送受信が可能な状態に一時的に移行することはしない。
帯域情報格納部17は、各OSU12の送信帯域測定部122における送信帯域の測定結果および受信帯域測定部125における受信帯域の測定結果のうち、通常状態のONU2との間の送信帯域の測定結果および受信帯域の測定結果を保持する。帯域情報格納部17は、スリープ状態のONU2との間の送信帯域の測定結果および受信帯域の測定結果については破棄する。帯域情報格納部17は、例えば、各ONU2と送信帯域および受信帯域の測定結果との対応関係が登録される利用帯域テーブルを保持し、通常状態のONU2との間の送信帯域および受信帯域の測定結果を受け取ると利用帯域テーブルに登録する。利用帯域テーブルには、帯域情報格納部17が受け取った測定結果が追加登録される。すなわち、利用帯域テーブルには、帯域情報格納部17が受け取った最新の測定結果だけではなく、過去に受け取った測定結果も登録された状態となる。各ONU2がスリープ状態か否かはONUスリープ制御部14から帯域情報格納部17に通知される。例えば、OLT1に接続済みの複数のONU2にONU2A、ONU2BおよびONU2Cが含まれ、帯域情報格納部17は、ONUスリープ制御部14からONU2Bがスリープ状態である旨の通知を受けた状態であるものとする。この状態において、帯域情報格納部17は、OSU12の送信帯域測定部122からONU2A、ONU2BおよびONU2Cの各々についての送信帯域(送信帯域の測定結果)の通知を受け、OSU12の受信帯域測定部125からONU2A、ONU2BおよびONU2Cの各々についての受信帯域(受信帯域の測定結果)を受け取ると、ONU2Aについての送信帯域および受信帯域と、ONU2Cについての送信帯域および受信帯域とを保持し、ONU2Bについての送信帯域および受信帯域については破棄する。帯域情報格納部17は、送信帯域測定部122および受信帯域測定部125による測定結果を示す情報である利用帯域情報のうち、通常状態のONU2についての利用帯域情報を保持する。
光合分波器18は、各OSU12から波長がそれぞれ異なる光信号が入力されると、入力された各光信号を多重化して各ONU2に向けて出力する。また、光合分波器18は、各ONU2から出力された光信号が光スプリッタを介して入力されると、多重化された状態の光信号を分離し、分離後の各光信号を対応するOSU12へ出力する。
ONU2の構成について説明する。ONU2は、UNI(User Network Interface)21と、PON制御部22と、スリープ制御部23と、送信バッファ24と、送信帯域測定部25と、光送信器26と、受信バッファ27と、受信帯域測定部28と、光受信器29と、光合分波器30とを備える。
UNI21は、図示を省略した加入者端末と接続され、加入者端末との間で通信を行う。UNI21に接続される加入者端末は複数の場合もある。UNI21は、受信器211、受信帯域測定部212、受信バッファ213、送信器214、送信帯域測定部215および送信バッファ216を備える。
受信器211は、UNI21に接続している各加入者端末から信号を受信する。受信帯域測定部212は、各加入者端末との間の受信帯域、すなわち、予め定められた一定時間あたりの各加入者端末からのデータ受信量を測定する。受信バッファ213は、受信器211が各加入者端末から受信したデータフレームを一時的に保持する。送信器214は、UNI21に接続している各加入者端末へ信号を送信する。送信帯域測定部215は、各加入者端末との間の送信帯域、すなわち、予め定められた一定時間あたりの各加入者端末へのデータ送信量を測定する。送信バッファ216は、送信器214が各加入者端末へ送信するデータフレームを一時的に保持する。なお、受信帯域測定部212は受信帯域の測定結果をPON制御部22およびスリープ制御部23に出力し、送信帯域測定部215は送信帯域の測定結果をPON制御部22およびスリープ制御部23に出力する。
PON制御部22は、ONU2とOLT1との間の通信を制御する。PON制御部22が行う動作には、UNI21経由で加入者端末から受信したフレームをOLT1へ送信する動作、OLT1から受信したフレームをUNI21経由で加入者端末へ送信する動作が含まれる。また、PON制御部22が行う動作には、OLT1からの指示に従い割り当て先のOSU12を変更する動作、すなわち、OLT1のPON制御部13が指示するOSU12に対応する波長の光信号の送受信が可能となるように光送信器26および光受信器29の設定を変更する動作が含まれる。
スリープ制御部23は、予め定められた条件を満たした場合、スリープ状態への移行の要求をOLT1に対して行い、スリープ状態への移行が許可されると、スリープ状態に対応する動作を光送信器26および光受信器29が行うよう制御する。光送信器26および光受信器29は、スリープ状態に対応する動作では、光信号の送受信停止動作と送受信停止を一時的に解除する動作とを繰り返す。送受信停止を一時的に解除するタイミングはOLT1により指定される。ここで、上記の「予め定められた条件」としては、例えば、過去の一定の時間にわたってOLT1との間でデータフレームの送受信が発生していない場合が該当する。この場合、スリープ制御部23は、OLT1との間でデータフレームの送受信が発生していない状態が一定時間継続すると、スリープ要求メッセージをOLT1へ送信してスリープ状態への移行を要求する。なお、スリープ制御部23は、スリープ要求メッセージの送信およびスリープ要求メッセージに対する応答メッセージの受信をPON制御部22経由で行う。
送信バッファ24は、光送信器26がOLT1へ送信するデータフレームを一時的に保持する。送信帯域測定部25は、OLT1との間の送信帯域、すなわち、予め定められた一定時間あたりのOLT1へのデータ送信量を測定する。光送信器26は、PON制御部22により設定された波長の光信号を生成してOLT1へ送信する。受信バッファ27は、光受信器29がOLT1から受信したデータフレームを一時的に保持する。受信帯域測定部28は、OLT1との間の受信帯域、すなわち、予め定められた一定時間あたりのOLT1からのデータ受信量を測定する。光受信器29は、PON制御部22により設定された波長の光信号を受信する。なお、送信帯域測定部25は送信帯域の測定結果をPON制御部22およびスリープ制御部23に出力し、受信帯域測定部28は受信帯域の測定結果をPON制御部22およびスリープ制御部23に出力する。
光合分波器30は、光送信器26から入力される光信号をOLT1に向けて出力するとともに、OLT1から入力される光信号を光受信器29へ出力する。
つづいて、図1に示した光通信システムの動作、具体的には、OLT1とONU2との間の通信動作について説明を行う。
図2は、実施の形態にかかる光通信システムの動作の一例を示す図である。説明を簡単化するため、図2に示す例ではOLT1からONU2へのデータフレームの送信は発生しないものとする。図2に示したOSU#1〜OSU#4は、図1に示したOSU121〜OSU124に対応する。
まず、OLT1は、リンクが確立していない状態のONU2である未接続のONU2を発見し、発見したONU2との間でリンクを確立するための手続きであるディスカバリの手続きを実行してONU2の登録を行う(ステップS1)。
ここで、OLT1は、リンクが確立していない状態のONU2である未接続のONU2を発見する動作を定期的に実行し、未接続のONU2を検出すると登録処理を行う。登録処理には、OLT1が発見した未接続のONU2との間で時刻同期を行う処理、OLT1と発見した未接続のONU2との間で送受信される信号の伝送遅延時間を測定する処理、発見した未接続のONU2に対して割り当てる波長すなわちONU2の割り当て先のOSUを決定する処理、などが含まれる。
ディスカバリの手続きが終了すると、ONU2は、OLT1と通信可能な状態となり、加入者端末から上りデータを受信すると、OLT1へデータフレームを送信する(ステップS2)。ONU2は、OLT1へのデータフレームの送信が終了した後、データフレームの送受信が予め定められた時間tmの間発生しない場合、スリープ状態に移行するために、スリープ要求メッセージを送信する(ステップS3)。ステップS3では、ONU2のスリープ制御部23が、送信帯域測定部25から出力される送信帯域および受信帯域測定部28から出力される受信帯域の双方が予め定められた時間tmの間0の場合、スリープ要求メッセージを発行し、PON制御部22経由でOLT1へ送信する。
OLT1は、ONU2からデータフレームを受信すると、ONU2との間の受信帯域を帯域情報格納部17に格納されている利用帯域テーブルに記録する。また、OLT1は、スリープ要求メッセージを受信すると、帯域情報格納部17に格納されている利用帯域テーブルに登録されている情報に基づいて、波長切り替えが必要か否かを判定する。図2の例では、OLT1は、波長切り替えが必要と判断し、さらに、ONU2の割り当て先をOSU#2に変更すると判断して波長切り替えを実施する(ステップS4)。
ここで、OLT1の帯域情報格納部17が、ONU2との間の受信帯域および送信帯域の測定結果を利用帯域テーブルに登録する動作について説明する。
図3は、実施の形態にかかる帯域情報格納部17の動作の一例を示すフローチャートである。帯域情報格納部17は、各OSU12の送信帯域測定部122および受信帯域測定部125から測定結果を受け取るタイミングになると図3に示したフローチャートに従った動作を実行する。
帯域情報格納部17は、まず、パラメータiを0に設定し(ステップS11)、ONU[i]が起床中か否かすなわち通常状態か否かを確認する(ステップS12)。ONU[i]が起床中ではなくスリープ状態の場合(ステップS12:No)、帯域情報格納部17は、パラメータiをインクリメントし(ステップS14)、i=ONU数であるか否か、すなわち、OLT1に接続している全てのONU2について処理を実行したか否かを確認する(ステップS15)。帯域情報格納部17は、i=ONU数の場合(ステップS15:Yes)、動作を終了し、i=ONU数ではない場合(ステップS15:No)、ステップS12に戻る。
帯域情報格納部17は、ONU[i]が起床中の場合(ステップS12:Yes)、ONU[i]の利用帯域、すなわち、OLT1とONU[i]との間の送信帯域および受信帯域の測定結果を利用帯域テーブルに格納する(ステップS13)。ステップS13において、帯域情報格納部17は、利用帯域およびONU[i]の識別情報を利用帯域テーブルに格納する。このとき、帯域情報格納部17は、時刻情報も一緒に利用帯域テーブルに格納してもよい。
図2の説明に戻り、OLT1は、ステップS4を実行して波長を切り替えた後、ONU2の新たな割り当て先のOSU#2を介してスリープ許可メッセージを送信する(ステップS5)。ONU2は、スリープ許可メッセージを受信すると、スリープ応答メッセージを送信してスリープ状態となる(ステップS6)。その後、ONU2は、加入者端末から上りデータを受信すると、OLT1へ起床要求メッセージを送信し(ステップS7)、起床要求メッセージを受信したOLT1は起床許可メッセージをONU2へ送信する(ステップS8)。ONU2は、起床許可メッセージを受信すると、スリープ状態から起床してデータフレームを送信する(ステップS9)。
つづいて、OLT1が図2に示したステップS3でONU2からスリープ要求メッセージを受信した場合の動作の詳細について説明する。
ONU2のスリープ制御部23から送信されたスリープ要求メッセージは、OLT1で受信されると、PON制御部13を経由してONUスリープ制御部14に受け渡される。
ONUスリープ制御部14は、スリープ要求メッセージの送信元のONU2が割り当てられているOSU12の送信帯域測定部122から出力された送信帯域および受信帯域測定部125から出力された受信帯域に基づいて、スリープ要求を受け入れるか否かを判断する。ONUスリープ制御部14は、スリープ要求メッセージの送信元のONU2との間の送信帯域および受信帯域の双方が時間tmの間0である場合、スリープ要求を受け入れ、スリープ許可メッセージを発行してPON制御部13へ出力する。
PON制御部13は、ONUスリープ制御部14からスリープ許可メッセージを受け取ると、スリープ許可メッセージをONU2へ送信する前に、スリープ許可メッセージの送信先のONU2について波長切り替えが必要か否かを判定する。PON制御部13は、波長切り替えが必要ないと判断すると、スリープ許可メッセージをONU2へ送信する。一方、波長切り替えが必要と判断した場合、PON制御部13は、スリープ許可メッセージの送信先のONU2に対して波長切り替えを指示し、波長切り替えが完了した後にスリープ許可メッセージを送信する。PON制御部13は、スリープ許可メッセージの送信先のONU2が割り当てられているOSU12の送信帯域測定部122から出力された送信帯域および受信帯域測定部125から出力された受信帯域に基づいて、波長切り替えが必要か否かを判断する。具体的には、PON制御部13は、以下の式(1)が成り立つ場合、波長切り替えが必要ないと判断する。
“(OSU[j]に現在割り当てられている通常状態のONUの送信帯域+スリープ状態のONUの起床時の送信帯域)≦閾値A”
かつ、
“(OSU[j]に現在割り当てられている通常状態のONUの受信帯域+スリープ状態のONUの起床時の受信帯域)≦閾値A”
…(1)
式(1)におけるOSU[j]はスリープ許可メッセージの送信先のONU2が割り当てられているOSU12を示す。図1に示した構成の場合、j=0,1,2,3である。式(1)における「スリープ状態のONU」には、実際にスリープ状態となっているONU2に加えて、スリープ許可メッセージの送信先のONU2(これからスリープ状態となるONU2)が含まれる。式(1)における「閾値A」は、例えば、OSUが送受信できる帯域の最大値の8割に設定してもよい。
PON制御部13は、式(1)における「通常状態のONUの送信帯域」および「通常状態のONUの受信帯域」として、現在の値、すなわち、受信帯域測定部125および送信帯域測定部122から最後に出力された値を使用してもよいし、帯域情報格納部17が保持している値を使用してもよい。帯域情報格納部17が保持している値を使用する場合、PON制御部13は、現在から一定時間前までの間における測定結果の平均値を使用してもよいし、現在から過去の一定数の測定結果の平均値を使用してもよい。この場合、PON制御部13は、平均値を算出する際、過去より現在に近い値を重く見る加重平均を行ってもよい。
また、PON制御部13は、「スリープ状態のONUの起床時の送信帯域」および「スリープ状態のONUの起床時の受信帯域」として、帯域情報格納部17が保持している値を使用する。PON制御部13は、帯域情報格納部17が保持している値の中の最新の値を使用してもよいし、現在から一定時間前までの間における測定結果の平均値などを使用してもよい。PON制御部13は、平均値を算出する際、過去より現在に近い値を重く見る加重平均を行ってもよい。ここで、帯域情報格納部17が保持している値は、各ONU2が実際に使用した送信帯域および受信帯域の測定結果であり、各ONU2がスリープ状態から通常状態に復帰した時に使用する送信帯域および受信帯域と関連性があると考えられる。そのため、本実施の形態では、帯域情報格納部17が保持している値、または、その平均値を、各ONU2が通常状態に復帰した時に使用する帯域の推定値としてPON制御部13が使用する。上記の式(1)では、スリープ状態のONU2およびこれからスリープ状態となるONU2が通常状態に復帰した時に使用する帯域の推定値と、通常状態のONU2が使用する帯域との合計値を算出し、合計値を閾値Aと比較している。式(1)が成り立つか否かを確認することにより、OSU[j]に割り当てられているスリープ状態のONU2およびこれからスリープ状態となるONU2が通常状態に復帰した時にOSU[j]で波長切り替えが必要となるか否かを予測できる。
PON制御部13は、波長切り替えが必要と判断した場合、スリープ許可メッセージの送信先のONU2の波長を切り替えることが可能か否かを確認し、切り替えることが可能な場合、スリープ許可メッセージの送信先のONU2に対して波長切り替えを指示する。PON制御部13は、スリープ許可メッセージの送信先のONU2が割り当てられているOSU12以外のOSU12の中に使用可能な帯域に余裕があるものが存在する場合、波長切り替えが可能と判断する。使用可能な帯域に余裕があるOSU12とは、スリープ許可メッセージの送信先のONU2の新たな割り当て先とすることが可能なOSU12である。別の表現を用いれば、使用可能な帯域に余裕があるOSU12とは、スリープ許可メッセージの送信先のONU2を新たに割り当て、このONU2が起床した場合でも、割り当てられている全てのONU2が使用する送信帯域および受信帯域のそれぞれの合計値が上記の閾値A以下の状態を維持できるOSU12である。PON制御部13は、使用可能な帯域に余裕があるOSU12が複数存在する場合、例えば、割り当てられている各ONU2の送信帯域の合計値および受信帯域の合計値が最も小さいOSU12を新たな割り当て先とする。使用可能な帯域に余裕がある複数のOSU12の中にスリープ状態のOSU12が存在する場合、PON制御部13は、スリープ状態のOSU12を新たな割り当て先の候補から除外してスリープ状態を維持させるようにしてもよい。
ONU2は、スリープ要求メッセージをOLT1へ送信後、波長切り替え指示を受けた場合、波長切り替えを行う。具体的には、ONU2は、波長切り替え指示が示す波長の光の送信および受信を行うよう、光送信器26および光受信器29の設定を変更する。ONU2は、スリープ許可メッセージを受信した場合、スリープ状態に移行する。ONU2が波長切り替えを行う場合のOLT1およびONU2の動作は、従来のTWDM−PONシステムにおける波長切り替え動作と同様であるため、詳しい説明については省略する。
図4は、実施の形態にかかるOLT1の動作の一例を示すフローチャートである。図4に示したフローチャートは、OLT1による波長切り替え制御の手順を示しており、ONU2がスリープ状態に移行する際の波長切り替え制御の手順も含んでいる。
OLT1は、後述するステップS41〜S44の処理を前回実行してから一定時間が経過した場合(ステップS21:Yes)、各OSU12の利用帯域の総量を算出する(ステップS41)。具体的には、OLT1のPON制御部13が、OSU121〜124のそれぞれについて、割り当てられている各ONU2の送信帯域の合計値および受信帯域の合計値を算出する。次に、PON制御部13が、波長切り替えが必要なONU2が存在するか否か、すなわち、ONU2の割り当て変更が必要なOSU12があるか否かを確認する(ステップS42)。PON制御部13は、ステップS41で算出した送信帯域の合計値および受信帯域の合計値を、上述した式(1)における閾値Aと同一の閾値Aと比較し、「送信帯域の合計値≦閾値Aかつ受信帯域の合計値≦閾値A」という条件を満たさないOSU12が存在する場合、ONU2の割り当て変更が必要なOSU12があると判断する。ONU2の割り当て変更が必要なOSU12がある場合(ステップS42:Yes)、PON制御部13は、ONU2の割り当てを変更する(ステップS43)。ステップS43において、PON制御部13は、上記条件を満たさないOSU12に割り当てられているONU2の1台以上の割り当て先を、上記条件を満たしているOSU12に変更する。割り当て先を変更するONU2の選択および選択したONU2の新たな割り当て先のOSU12の決定はどのような方法で行ってもよいが、スリープ中のONU2がある場合、スリープ中のONU2を優先的に選択して割り当て先を変更するのが望ましい。また、新たにONU2が割り当てられることにより上記条件を満たせなくなるOSU12が存在する場合、そのOSU12を新たな割り当て先の候補から除外する。なお、ステップS42の判定が「Yes」のとき、ONU2の割り当てを変更しても上記条件を満たさないOSU12が無くならない場合、PON制御部13は、ONU2の割り当てを変更しなくてもよい。PON制御部13は、ONU2の割り当てを変更すると、変更結果に対応するよう、波長割り当てテーブルを更新する(ステップS44)。なお、PON制御部13は、スリープ中のONU2の割り当て先を変更した場合、新たな割り当て先の通知を、スリープ中のONU2が通常状態に復帰した後に行う。PON制御部13は、ONU2の割り当て変更が必要なOSU12がない場合(ステップS42:No)、ステップS21に戻る。
OLT1は、上記の一定時間が経過しない場合(ステップS21:No)、ONU2からスリープ要求メッセージを受信したか否かを確認する(ステップS22)。スリープ要求メッセージを受信しない場合(ステップS22:No)、OLT1はステップS21に戻る。スリープ要求メッセージを受信した場合(ステップS22:Yes)、OLT1は、要求元ONU2の利用帯域すなわちスリープ要求メッセージの送信元ONU2の利用帯域が時間tmの間ゼロか否かを確認する(ステップS23)。このステップS23では、OLT1のONUスリープ制御部14が、スリープ要求メッセージの送信元のONU2との間の送信帯域および受信帯域の双方が時間tmの間ゼロか否かを確認する。要求元ONU2の利用帯域が時間tmの間ゼロではない場合、すなわち、要求元ONU2との間の送信帯域および受信帯域のうち、少なくとも一方が時間tmの間ゼロではなかった場合(ステップS23:No)、OLT1はステップS21に戻る。スリープ要求メッセージの要求元ONU2の利用帯域が時間tmの間ゼロの場合(ステップS23:Yes)、OLT1は、各OSU12の利用帯域の総量を算出する(ステップS24)。具体的には、OLT1のPON制御部13が、OSU121〜124のそれぞれについて、割り当てられている各ONU2の送信帯域の合計値および受信帯域の合計値を算出する。このとき、PON制御部13は、スリープ状態のONU2が存在する場合、スリープ状態のONU2の送信帯域および受信帯域については帯域情報格納部17が保持している値を使用する。PON制御部13は、帯域情報格納部17が保持している値の中の最新の値を使用してもよいし、現在から一定時間前までの間における測定結果の平均値などを使用してもよい。PON制御部13は、平均値を算出する際、過去より現在に近い値を重く見る加重平均を行ってもよい。なお、OLT1が各OSU12の利用帯域の総量を算出するタイミングは、ステップS23における判定結果が「Yes」となった時ではなく、後述するステップS25における判定結果が「Yes」となった時としてもよい。
次に、OLT1は、要求元ONU2の割り当て先のOSU12の変更が必要か否かを確認する(ステップS25)。OLT1のPON制御部13は、要求元ONU2が割り当てられているOSU12について上記の式(1)が成り立たない場合、要求元ONU2の割り当て先のOSU12の変更が必要と判断し、式(1)が成り立つ場合、要求元ONU2の割り当て先のOSU12の変更が必要ではないと判断する。
PON制御部13は、要求元ONU2の割り当て先のOSU12の変更が必要ではない場合(ステップS25:No)、要求元ONU2へスリープ許可メッセージを送信してスリープ状態に移行させる(ステップS30)。
PON制御部13は、要求元ONU2の割り当て先のOSU12の変更が必要な場合(ステップS25:Yes)、パラメータjを0に設定し(ステップS26)、OSU[j]に要求元ONU2を割り当て可能か否かを確認する(ステップS27)。OSU[j]は、要求元ONU2が割り当てられているOSU12以外のOSU12、すなわち、要求元ONU2の新たな割り当て先の候補のOSU12を示す。PON制御部13は、以下の式(2)が成り立つ場合、OSU[j]に要求元ONU2を割り当て可能と判断する。式(2)における閾値Aは上述した式(1)における閾値Aと同じものである。
“(OSU[j]に現在割り当てられている通常状態のONUの送信帯域+スリープ状態のONUの起床時の送信帯域+要求元ONUの起床時の送信帯域)≦閾値A”
かつ、
“(OSU[j]に現在割り当てられている通常状態のONUの受信帯域+スリープ状態のONUの起床時の受信帯域+要求元ONUの起床時の受信帯域)≦閾値A”
…(2)
PON制御部13は、式(2)における「通常状態のONUの送信帯域」および「通常状態のONUの受信帯域」として、現在の値、すなわち、受信帯域測定部125および送信帯域測定部122から最後に出力された値を使用してもよいし、帯域情報格納部17が保持している値を使用してもよい。帯域情報格納部17が保持している値を使用する場合、PON制御部13は、現在から一定時間前までの間における測定結果の平均値を使用してもよいし、現在から過去の一定数の測定結果の平均値を使用してもよい。この場合、PON制御部13は、平均値を算出する際、過去より現在に近い値を重く見る加重平均を行ってもよい。また、PON制御部13は、「スリープ状態のONUの起床時の送信帯域」および「スリープ状態のONUの起床時の受信帯域」として、帯域情報格納部17が保持している値を使用する。PON制御部13は、帯域情報格納部17が保持している値の中の最新の値を使用してもよいし、現在から一定時間前までの間における測定結果の平均値などを使用してもよい。PON制御部13は、平均値を算出する際、過去より現在に近い値を重く見る加重平均を行ってもよい。
PON制御部13は、OSU[j]に要求元ONU2を割り当て可能な場合(ステップS27:Yes)、OSU[j]に要求元ONU2を割り当てる(ステップS31)。すなわち、PON制御部13は、要求元ONU2に対して、使用する波長をOSU[j]に対応する波長に切り替えるよう指示し、割り当て先をOSU[j]に変更させる。PON制御部13は、要求元ONU2の割り当て先をOSU[j]に変更させた後、波長割り当てテーブルを更新する(ステップS32)。ステップS32において、PON制御部13は、波長割当てテーブルに登録されている、要求元ONU2の割り当て先の情報をOSU[j]を示す内容に変更する。PON制御部13は、波長割当てテーブルを更新後、要求元ONU2へスリープ許可メッセージを送信し(ステップS30)、ステップS21に戻る。
PON制御部13は、上記のステップS27において、OSU[j]に要求元ONU2を割り当てることができないと判断した場合(ステップS27:No)、パラメータjをインクリメントし(ステップS28)、j=ONU数−1であるか否か、すなわち、要求元ONU2が割り当てられているOSU12以外のOSU12の全てについて処理を実行したか否かを確認する(ステップS29)。PON制御部13は、j=ONU数−1の場合(ステップS29:Yes)、ステップS30を実行し、j=ONU数−1ではない場合(ステップS29:No)、ステップS27に戻る。
このように、PON制御部13は、ステップS26〜S32の処理を実行することにより、各OSU12の送信帯域測定部122が通常状態のONU2について測定した送信帯域の情報および受信帯域測定部125が通常状態のONU2について測定した受信帯域を示す情報である、利用帯域情報と、帯域情報格納部17が保持している利用帯域情報のうち、スリープ状態のONU2に対応する利用帯域情報とに基づいて、割り当て先のOSU12を変更するONU2の新たな割り当て先を決定する制御部として動作する。
つづいて、ONU2がスリープ状態から起床して通常状態に移行する場合の動作について説明する。この動作は図2のステップS7〜S8に示した動作に相当する。
スリープ状態のONU2において、UNI21の受信器211が上りデータフレームを加入者端末から受信すると、受信帯域測定部212による測定結果がゼロ以外となる。受信帯域測定部212による測定結果がスリープ制御部23に出力されると、スリープ制御部23は、OLT1へ送信するデータが発生したと判断し、起床要求メッセージを発行してPON制御部22経由でOLT1へ送信する。
ONU2のスリープ制御部23から送信された起床要求メッセージは、OLT1で受信されると、PON制御部13を経由してONUスリープ制御部14に受け渡される。ONUスリープ制御部14は、起床要求メッセージを受信すると、起床許可メッセージを発行してPON制御部13経由でONU2へ送信する。この動作に対応するフローチャートを図5に示す。図5に示したように、OLT1のONUスリープ制御部14は、起床要求メッセージを受信すると(ステップS51)、起床許可メッセージをONU2へ送信する(ステップS52)。
上述したように、OLT1は、ONU2からスリープ要求メッセージを受信した場合、要求元のONU2がスリープ状態に移行した後、通常状態に復帰した時に波長切り替えが発生しないか否かを予測する。そして、OLT1は、波長切り替えの発生が予測される場合、要求元ONU2の割り当て先を、通常状態に復帰した時に波長切り替えが発生しないと予測されるOSU12に変更した後に、スリープ許可メッセージを送信する。これにより、通常状態のONU2で波長切り替えが発生する回数の増加を抑えることができる。
つづいて、本実施の形態にかかる光通信システムにおける波長切り替え動作の具体例について、図6〜図8を参照しながら説明する。以下の説明では、複数のOSU12をそれぞれOSU#1,OSU#2,…と記載して区別し、複数のONU2をそれぞれONU#1,ONU#2,ONU#3,…と記載して区別する。
図6に示したように、OSU#1にONU#1〜ONU#4が割り当てられ、ONU#1〜ONU#3が稼働中、ONU#4がスリープ中とする。また、OSU#2には稼働中のONU#5〜ONU#7が割り当てられ、OSU#3には稼働中のONU#8とスリープ中のONU#9およびONU#10が割り当てられているとする。また、各ONUを表す長方形の高さがそれぞれのONUが使用する帯域を示すとする。なお、スリープ中のONUには、スリープ要求メッセージをOLT1へ送信し、スリープ許可メッセージを受信する前の状態のONUも含まれる。
OLT1のPON制御部13は、図6に示した状態を検出した場合、OSU#1に割り当てられているONUの利用帯域の総量が閾値Aを超えているため、OSU#1に割り当てているONUの一部の波長を切り替えて他のOSUに移動させる。上述したように、稼働中のONUの波長を切り替える場合は伝送遅延が発生するため、PON制御部13は、スリープ中のONU#4を他のOSUに移動させる。このとき、スリープ中のONUの利用帯域として上述した帯域情報格納部17が保持している値を使用せずに、実際の利用帯域を使用してONU#4の移動先を決定する場合、図7に示したように、ONU#4をOSU#3に移動させることが考えられる。この場合、スリープ中の各ONU(ONU#4,#9,#10)がスリープから復帰して稼働状態になったときに、図8の「実施の形態の適用なしの場合」に示すように、OSU#3に割り当てられている各ONUの利用帯域の総量が閾値Aを超えてしまい、波長切り替えが発生する。これに対して、スリープ中のONUの利用帯域として上述した帯域情報格納部17が保持している値を使用してONU#4の移動先を決定する場合、図8の「実施の形態の適用ありの場合」に示すように、PON制御部13は、ONU#4をOSU#2に移動させることになる。この場合は、スリープ中の各ONUが稼働状態になったときにOSU#2に割り当てられている各ONUの利用帯域の総量が閾値Aを超えないため、波長切り替えが発生しない。
このように、本実施の形態にかかる光通信システムのOLT1は、接続されている各ONU2が通常状態のときに使用した帯域の情報を保持しておき、ONU2からスリープ要求メッセージを受信した場合、保持しておいた情報を使用して、要求元ONU2を割り当てるOSU12を変更する必要があるか否かを判断する。また、OLT1は、要求元ONU2を割り当てるOSU12を変更する必要がある場合、要求元ONU2の新たな割り当て先を決定する処理において、保持しておいた情報が示す帯域を、スリープ状態の各ONU2がスリープを終了して通常状態に復帰した時に使用する帯域の推定値として使用する。これにより、要求元ONU2がスリープ状態から通常状態に復帰した時に波長切り替えが発生しないように要求元ONU2の新たな割り当て先を決定することができ、通常状態のONU2で波長切り替えが発生する回数の増加を抑えることができる。
また、本実施の形態にかかる光通信システムのOLT1は、ONU2からスリープ要求メッセージを受信していないときに各OSU12に割り当てるONU2の構成を変更する場合も、スリープ中の各ONU2が通常状態の時に使用していた帯域の情報を通常状態に復帰した時に使用する帯域の推定値として使用し、各OSU12に割り当てるONU2を決定する。これにより、各OSU12に割り当てるONU2の構成を変更した後にスリープ中のONU2が通常状態に復帰した時に波長切り替えが発生する回数の増加を抑えることができる。
本実施の形態にかかるOLT1のハードウェア構成について説明する。OLT1のPON制御部13、ONUスリープ制御部14、波長情報格納部15、OSUスリープ制御部16、帯域情報格納部17、受信バッファ113,124、送信バッファ116,121、受信帯域測定部112,125および送信帯域測定部115,122は、図9に示したプロセッサ91およびメモリ92により実現できる。
プロセッサ91は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)ともいう)、システムLSI(Large Scale Integration)などである。また、メモリ92は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically Erasable Programmable ROM)などである。
OLT1のPON制御部13、ONUスリープ制御部14、OSUスリープ制御部16、受信帯域測定部112,125および送信帯域測定部115,122は、これらの各部として動作するためのプログラムをプロセッサ91が実行することにより実現される。PON制御部13、ONUスリープ制御部14、OSUスリープ制御部16、受信帯域測定部112,125および送信帯域測定部115,122として動作するためのプログラムはメモリ92に予め格納されている。プロセッサ91は、上記プログラムをメモリ92から読み出して実行することにより、PON制御部13、ONUスリープ制御部14、波長情報格納部15、OSUスリープ制御部16、受信帯域測定部112,125および送信帯域測定部115,122として動作する。
OLT1の波長情報格納部15、帯域情報格納部17、受信バッファ113,124および送信バッファ116,121は、メモリ92により実現される。
なお、図9に示したプロセッサ91およびメモリ92は汎用のプロセッサおよびメモリを想定したものであるが、これらの代わりに専用の処理回路によりPON制御部13、ONUスリープ制御部14、波長情報格納部15、OSUスリープ制御部16、帯域情報格納部17、受信バッファ113,124、送信バッファ116,121、受信帯域測定部112,125および送信帯域測定部115,122を実現してもよい。この場合の専用の処理回路には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせた回路が該当する。PON制御部13、ONUスリープ制御部14、波長情報格納部15、OSUスリープ制御部16、帯域情報格納部17、受信バッファ113,124、送信バッファ116,121、受信帯域測定部112,125および送信帯域測定部115,122の一部を汎用のプロセッサおよびメモリで実現し、残りを専用の処理回路で実現するなどしてもよい。
OLT1の構成について説明したが、ONU2のPON制御部22、スリープ制御部23、送信バッファ24,216、送信帯域測定部25,215、受信バッファ27,213および受信帯域測定部28,212についても、図9に示したプロセッサ91およびメモリ92、または、上述した専用の処理回路により実現できる。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。