説明

光通信システム、光通信システムの制御方法および宅側装置

【課題】宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくする。
【解決手段】スリープ期間Tbを開始する前(起床期間Taの間)に、宅側装置(ONU)のタイマによって計測された目標時刻と、その計測された目標時刻におけるタイムスタンプ(局側装置(OLT)とONUとの間で同期した後のMPCPタイムスタンプ)との間の差分が算出される。差分が判定値以上である場合に、ONUは、その開始する期間Tbを、差分を用いて補正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、光通信システム、光通信システムの制御方法および宅側装置に関する。
【背景技術】
【0002】
各家庭までのネットワークアクセスサービスを光ファイバによって提供するFTTH(Fiber To The Home)を実現する形態のひとつにPON(Passive Optical Network)がある。今日では、イーサネット(登録商標)技術を適用したPONであるEPONが、FTTHサービスに広く利用される。
【0003】
PONの特長は、家庭等に設置される宅側装置(ONU(Optical Network Unit))と、電話局等に設置される局側装置(OLT(Optical Line Terminal))とが、それらの間を結ぶ光ファイバの一部を共有して通信を行なうことにより、光アクセスサービスを低コストで提供できることである。具体的には、PONでは、光スプリッタを介して、1つのOLTと複数のONUとが光ファイバで接続される。光スプリッタは、外部からの電源供給を特に必要とすることなく、入力された信号から受動的に信号を分岐または多重する。
【0004】
一方、近年では、ネットワーク機器の省電力化が注目されている。このためPONに用いられる通信機器の省電力化も要求されている。提案された一つの方式によれば、ONUがOLTと通信していない状態であるときに、ONUの機能の一部が通常モードから省電力モードへと移行される。本明細書では「省電力モード」を「スリープモード」とも呼ぶ。
【0005】
たとえば特開2010−114830号公報(特許文献1)は、ONUの消費電力を低減するための技術を開示する。具体的には、OLTの送信部は、下りバッファ部と、省電力モード制御部とを有する。下りバッファ部は、各ONUに順次送信するユーザフレームを蓄積する。省電力モード制御部は、あるONUに送信すべきユーザフレームが下りバッファ部に蓄積されていない場合には、当該ONUに対して、省電力モード時間を記述した省電力モード設定フレームを送信する。その省電力モード時間は、一巡時間、すなわちOLTがそのONUに、上り帯域割当用制御フレームを送信してから、当該ONUに上り帯域割当用制御フレームを再度送信するまでの時間よりも短い。一方、ONUの受信部が省電力モード設定フレームを受信した場合には、受信部は、その省電力モード設定フレーム内に記述された省電力モード時間にわたって、当該受信部を省電力モードに設定する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−114830号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
一般にPONでは、「網同期(Network Synchronization)」と呼ばれる仕組みを用いてOLTとONUとの間で時刻を同期させる。具体的には、ONUは、OLTから送られるデータ信号からクロックを再生し、OLTと同期したクロックで動作する。
【0008】
ONUがスリープモードに移行した場合には、ONUの一部の機能が停止する。このため、OLTとONUとの間で時刻が同期できなくなる可能性が生じる。したがって、スリープモード中の任意の期間をOLTとONUとの両方で計測する場合において、OLTとONUとの間で期間の認識がずれる可能性がある。
【0009】
本発明の目的は、宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることである。
【課題を解決するための手段】
【0010】
本発明のある局面に係る光通信システムは、局側装置と、受動的光ネットワークを介して局側装置に接続される宅側装置とを備える。宅側装置は、スリープモードにおいて、宅側装置と局側装置との間の通信を停止する第1の期間と、宅側装置と局側装置との間の通信が可能となる第2の期間とを交互に発生させる。局側装置は、局側装置のクロックを用いて、タイムスタンプの生成と、局側装置が管理する第1および第2の期間の計測とを実行する。宅側装置は、受動的光ネットワークを介して局側装置と通信するための通信部と、通信部を介して局側装置のタイムスタンプを受信して、宅側装置のクロックを用いて生成されたタイムスタンプを、局側装置のタイムスタンプに同期させる時刻同期部と、宅側装置のクロックを用いて時刻を計測する計測部と、計測部によって計測された時刻に従って、第1の期間には通信部の機能を停止し、第2の期間には通信部の機能を有効にする管理部とを含む。管理部は、第1の期間を開始する前に計測部によって計測された時刻と計測された時刻における宅側装置のタイムスタンプとの間の差分が判定値以上である場合に、当該開始する第1の期間を差分を用いて補正する。
【0011】
この構成によれば、宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。宅側装置のスリープモードにおいて、宅側装置は、タイマにより時刻を計測する。したがってタイマが第1あるいは第2の期間を計測する。一方、局側装置は、局側装置のクロックに基づいて、局側装置で管理する第1および第2の期間を計測する。第1の期間には、宅側装置の通信部の機能が無効である。したがってスリープモードでは、少なくとも第1の期間、宅側装置のタイマと局側装置のクロックとは独立して動作する。このため局側装置の計測する第1および第2の期間と、宅側装置の計測する(管理する)第1および第2の期間とがずれる可能性がある。タイムスタンプは、たとえば第2の期間、局側装置と宅側装置との間で同期する。タイマが計測した時刻とタイムスタンプとの間の差分とを小さくするように第1の期間を補正することで、宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【0012】
局側装置および宅側装置は、互いに独立に第1の期間および第2の期間の長さの情報を保有してもよい。この場合、たとえば、第1の期間および第2の期間の長さが予め定められる。代わりに、局側装置が宅側装置に第1の期間および第2の期間の長さを指定してもよい。
【0013】
好ましくは、計測部による計測の分解能は、装置のタイムスタンプの粒度よりも大きい。管理部は、計測部の分解能を単位として、宅側装置のタイムスタンプの値に対する丸め処理を実行し、丸め処理によって得られたタイムスタンプの値と計測部によって計測された時刻とを比較する。
【0014】
この構成によれば、差分を演算する処理を簡単にすることができる。差分の精度は計測部の分解能程度でもよい。精度の高い演算が不要となるので、計測部には、たとえばファームウェアの制御に一般的に用いられるタイマを用いることができる。したがって宅側装置の構成を複雑にすることなく、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【0015】
好ましくは、判定値は、計測部による計測の分解能に等しい値である。
この構成によれば、期間の認識のずれの程度を計測部の分解能以下に抑えることができる。
【0016】
好ましくは、管理部は、第2の期間の開始よりも前に通信部を起動し、通信部の起動時刻を、第1の期間の補正に応じて決定する。
【0017】
この構成によれば、第2の期間の開始時点から局側装置と宅側装置との間で通信が可能となる。通信部の起動にはある程度の時間を要する。したがって、第1の期間が補正される(たとえば第1の期間が短くなる)にもかかわらず通信部の起動時刻が補正されない場合、第2の期間の開始時点には、通信部が起動中であることが起こりうる。この場合には、たとえば第2の期間の開始直後に宅側装置から送られたデータを宅側装置で受信できないといった問題が発生する可能性がある。通信部の起動時刻を、第1の期間の補正に応じて決定することで、第2の期間の開始時点から局側装置と宅側装置との間で通信が可能となる。
【0018】
好ましくは、時刻同期部は、第2の期間の間に、宅側装置と局側装置との間でタイムスタンプを同期させる。
【0019】
この構成によれば、次に開始される第1の期間を、同期後のタイムスタンプと計測部が計測した時刻との差分に基づいて補正することができる。タイムスタンプが同期するタイミングは、第2の期間中であれば特に限定されない。
【0020】
好ましくは、目標時刻として設定された時刻を計測部が計測したときに、管理部は、差分を算出する。
【0021】
この構成によれば、目標時刻に対応するタイムスタンプの値と実際のタイムスタンプとの差分を算出することができる。タイムスタンプは局側装置と宅側装置との間で同期するので、差分に基づいて第1の期間を補正することにより、目標時刻と実際のタイムスタンプとの差分を小さくすることができる。これにより、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【0022】
好ましくは、タイムスタンプは、MPCPフレームに含まれるタイムスタンプである。第1の期間の長さは、通信部の起動期間として定義された期間の長さ以上であり、かつMPCPタイムアウト期間として予め定義された期間の長さ以下である。
【0023】
この構成によれば、第1の期間は、通信部の起動期間として定義された期間以上の長さを有するので、第2の期間の開始時点から局側装置と宅側装置との間で通信を可能とすることができる。第1の期間が長いほど、宅側装置での省電力の効果を高めることができる。しかし局側装置は、宅側装置がスリープモード中であるかどうかに関係なくMPCPフレームを宅側装置に送信する可能性がある。局側装置がMPCPフレームを送信してから所定の期間内に宅側装置からMPCPフレームが送信されない場合、局側装置はMPCPタイムアウトを検出する。第1の期間の長さをMPCPタイムアウト期間として予め定義された期間以下に設定することで、MPCPタイムアウトが検出されることを防ぎつつ、宅側装置の消費電力を低減することができる。
【0024】
好ましくは、タイムスタンプは、MPCPフレームに含まれるタイムスタンプである。第2の期間の長さは、局側装置がMPCPフレームを送信する周期の長さ以上であり、かつ、第1の期間の長さ以下である。
【0025】
この構成によれば、第2の期間がMPCPフレームの送信の周期以上であるので、第2の期間中に少なくとも1回は宅側装置がMPCPフレームを受信することが期待できる。したがって第2の期間中に局側装置と宅側装置との間でMPCPタイムスタンプを同期させることができる。一方、第2の期間を長くすると、通信部が省電力状態である期間よりも通信部が動作可能な状態である期間が長くなるので、宅側装置の消費電力を低減する効果が弱くなる。第2の期間の長さを第1の期間Tbの長さ以下にすることで、宅側装置の消費電力を低減する効果を高めることができる。
【0026】
本発明の他の局面に係る光通信システムの制御方法は、局側装置と、受動的光ネットワークを介して局側装置に接続される宅側装置とを備える光通信システムの制御方法である。制御方法は、宅側装置のスリープモードにおいて、宅側装置が局側装置との通信を停止する第1の期間と、宅側装置と前記局側装置との間の通信が可能な状態となる第2の期間とを交互に発生させるステップと、局側装置のクロックを用いてタイムスタンプを生成するステップと、宅側装置のクロックを用いて生成されたタイムスタンプを、局側装置のクロックを用いて生成されたタイムスタンプに同期させるステップと、宅側装置のクロックを用いて時刻を計測するステップと、第1の期間が開始される前に計測された時刻と計測された時刻における宅側装置のタイムスタンプとの間の差分が判定値以上である場合に、当該開始される第1の期間を差分を用いて補正するステップとを備える。
【0027】
この構成によれば、宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【0028】
本発明のさらに他の局面に係る宅側装置は、受動的光ネットワークを介して局側装置と接続される宅側装置である。宅側装置は、受動的光ネットワークを介して局側装置と通信するための通信部と、通信部を介して局側装置からタイムスタンプを受信して、宅側装置のクロックを用いて生成されたタイムスタンプを、局側装置のタイムスタンプに同期させる時刻同期部と、宅側装置のクロックを用いて時刻を計測する計測部と、計測部によって計測された時刻に従って、宅側装置のスリープモードにおいて、通信部の機能を停止する第1の期間と、通信部の機能を有効にする第2の期間とを交互に発生させる管理部とを含む。管理部は、第1の期間を開始する前に計測部によって計測された時刻と計測された時刻における宅側装置のタイムスタンプとの間の差分が判定値以上である場合に、当該開始する第1の期間を差分を用いて補正する。
【0029】
この構成によれば、宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【発明の効果】
【0030】
本発明によれば、宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【図面の簡単な説明】
【0031】
【図1】本発明の実施の形態に係るEPONシステム100の概略構成を示すブロック図である。
【図2】本発明の実施の形態に係るOLTの概略構成を示すブロック図である。
【図3】本発明の実施の形態に係るONUの概略構成を示すブロック図である。
【図4】制御フレームの構造を示した図である。
【図5】ONUをスリープモードに移行させるためのOLTの処理とONUの処理とを説明するためのシーケンス図である。
【図6】スリープ状態にあるONUを起床させるためのOLTの処理とONUの処理とを説明するためのシーケンス図である。
【図7】OLTが管理する起床期間およびスリープ期間とONUが計測する起床期間およびスリープ期間との間にずれが生じた場合に生じ得る問題点を説明するための図である。
【図8】実施の形態1に係るONUによる時刻の同期方法を説明するための図である。
【図9】図8に示した処理を、より詳細に説明するための図である。
【図10】実施の形態1に係るONUの処理を説明するためのフローチャートである。
【図11】MPCPタイムスタンプとタイマのカウント値の比較の別の例を示した図である。
【図12】実施の形態2に係るONUの通信部の起動時刻の補正を説明するための模式図である。
【図13】実施の形態2に係るONUの処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0032】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【0033】
図1は、本発明の実施の形態に係るEPONシステム100の概略構成を示すブロック図である。図1を参照して、EPONシステム100は、OLT101と、ONU102−1,102−2,・・・,102−nと、PON回線104と、スプリッタ105とを備える。以下において、ONU102−1〜102−nを総括的に説明する場合、あるいはONU102−1〜102−nのうちの1つを代表的に説明する場合には、ONU102−1〜102−nを「ONU102」と表記する。
【0034】
OLT101は、たとえば電話局に設置される。ONU102−1〜102−nの各々は、たとえばネットワークアクセスサービスの加入者の宅内に設置される。
【0035】
ONU102−1〜102−nの各々にはユーザ端末111が接続される。各ONU102に接続されるユーザ端末111の数は特に限定されるものではない。たとえば1つのONUに複数のユーザ端末が接続されていてもよい。ユーザ端末111は、たとえばパーソナルコンピュータであるが、これに限定されるものではない。
【0036】
PON回線104は光ファイバである。OLT101から送信された光信号は、PON回線104を通り、スプリッタ105によってONU102−1〜102−nへと分岐される。一方、ONU102−1〜102−nから送信された光信号は、スプリッタ105によって集束されるとともにPON回線104を通ってOLT101に送られる。スプリッタ105は、外部からの電源供給を特に必要とすることなく、入力された信号から受動的に信号を分岐または多重する。
【0037】
OLT101は、上位ネットワーク109を介してデータを受信するとともに、そのデータをPON回線104に出力する。PONの物理的構成によれば、ONU102−1〜102−nのすべてが、OLT101から送信されたデータを受信可能である。このためOLT101は、送信フレームのプリアンブル部分に、その送信フレームを受信すべきONUの番号を示した識別子LLID(Logical Link ID)を挿入する。各ONUは、OLTから受信したフレームに含まれるLLIDを、予めOLTから通知された自己のLLIDと照合する。フレームに含まれるLLIDが自己のLLIDに一致する場合には、ONUはそのフレームを受信し、そうでない場合には、ONUは、そのフレームを破棄する。
【0038】
一方、各ONUから送信される光信号はスプリッタ105において合流する。このため、各ONUからの信号(上り信号)がスプリッタ105で合流した後に衝突しないための制御が必要となる。
【0039】
OLT101は、ONU102−1〜102−nから送信された制御フレーム(レポート)に基づいて、ONU102−1〜102−n内のバッファに蓄積されているデータの送信開始時刻および送信許可量を演算する。次に、OLT101は、指示信号を挿入した制御フレーム(グラント)を、PON回線104およびスプリッタ105を介してONU102−1〜102−nに送信する。
【0040】
たとえば、ONU102−1は、宅側ネットワーク110を介してユーザ端末111から上り情報フレームを受信する。ONU102−1は、上り情報フレームをバッファに一旦蓄積する。ONU102−1は、グラントによって指定された時刻に、自己のバッファ内のデータの長さをレポートでOLT101に通知する。ONU102−1は、指示信号が挿入されたグラントをOLT101から受信するとともに、その指示信号に基づいて、自己のバッファ内のデータをレポートとともにOLT101に送信する。
【0041】
ONU102−1〜ONU102−nの各々は、スリープ機能を有する。スリープ機能は、ONUとOLTとの間のトラフィックがない場合に、そのONUを構成するモジュールの一部を省電力状態に設定する機能である。スリープ機能によって、ONUの状態(モード)は、通常モードからスリープモードに移行する。たとえば、ONUに送信すべきトラフィックが到達すると、ONUの状態は、スリープモードから通常モードに戻る。本発明の実施の形態では、ONU102はOLTからのスリープ指示によりスリープモードに設定される。
【0042】
図2は、本発明の実施の形態に係るOLTの概略構成を示すブロック図である。図2を参照して、OLT101は、受信部11と、バッファメモリ12と、フレーム取出部13と、送信部14とを含む。受信部11と、バッファメモリ12と、フレーム取出部13と、送信部14とは下り方向の通信(OLT101からONU102への通信)に用いられる。
【0043】
受信部11は、上位ネットワーク109から受信した下りデータフレームをバッファメモリ12に転送する。バッファメモリ12は、受信部11から送られた下りデータフレームを蓄積する。フレーム取出部13は、ユーザフレーム、省電力フレーム、MPCPフレーム等のフレームを一定の規則に従って取り出して、その取り出したフレームを送信部14に送る。送信部14は、フレーム取出部13からのフレームをPON回線104へ送信する。
【0044】
OLT101は、さらに、受信部15と、フレーム振分部17と、バッファメモリ18と、送信部19とを含む。受信部15と、フレーム振分部17と、バッファメモリ18と、送信部19とは上り方向の通信(ONU102からOLT101への通信)に用いられる。
【0045】
受信部15は、ONU102から送信されたデータフレームまたは制御フレームを、PON回線104を介して受信する。フレーム振分部17は、フレームのヘッダ部分を読取り、それによって、OLT101により受信されたフレームが、データフレーム、または、レポートフレーム等の制御フレームのいずれであるかを判定する。データフレームはフレーム振分部17からバッファメモリ18へと転送される。一方、制御フレームはフレーム振分部17から通信制御部20へと転送される。
【0046】
OLTとONUとの間では制御プロトコルに基づく制御フレームが伝送される。そのような制御プロトコルの一例として、MPCP(Multi-Point Control Protocol)プロトコルおよびOAM(Operations, Administration and Maintenance)プロトコルを挙げることができる。なお、制御プロトコルはこれらに限定されるものではない。
【0047】
バッファメモリ18は、フレーム振分部17から転送されたデータフレームを蓄積する。送信部19は、バッファメモリ18に蓄積されたデータフレームを上位ネットワーク109に送信する。
【0048】
OLT101は、さらに、通信制御部20と、クロックパルス発生部22と、クロックカウント部24とを備える。
【0049】
通信制御部20は、OLT101とONU102との間の論理リンク(MPCPリンク)を制御する。具体的には、通信制御部20は、ONU102−1〜102−nに対して上り信号を送信するタイミングを教示するためのMPCPフレーム(ゲート)を生成する。通信制御部20で生成されたMPCPフレームは、送信部14に送られる。送信部14は、MPCPフレームをPON回線104に出力する。
【0050】
受信部15は、ONU102−1〜102−nの各々から、各ONUにおける上りデータの蓄積量を通知するためのMPCPフレーム(レポート)を受信する。受信部15で受信されたレポートは、フレーム振分部17によって通信制御部20に送られる。
【0051】
クロックパルス発生部22は、たとえば水晶振動子を含む周知の発振回路によって構成されて、クロックパルスを発生させる。クロックパルスは、通信制御部20の動作の制御に用いられる。クロックカウント部24は、クロックパルスをカウントして、クロックカウント値を通信制御部20に送る。通信制御部20はクロックカウント値に基づいて、MPCPフレームに含まれるタイムスタンプを作成する。以下では、MPCPフレームに含まれるタイムスタンプを「MPCPタイムスタンプ」と呼ぶ。
【0052】
なお、OLT101がクロックパルス発生部を有するものと限定されず、OLT101の外部からOLT101にクロックが供給され、その供給されたクロックをOLT101のクロックとして用いてもよい。以下において、「OLTのクロック」は、OLT101が用いるクロックを意味し、OLT101の内部で生成されるクロックおよびOLT101の外部からOLT101に供給されるクロックの両方を含みうる。
【0053】
OLT101は、さらに、省電力設定部30を備える。省電力設定部30は、ONU102−1〜102−nの各々をスリープモードに設定する。省電力設定部30は、トラフィック監視部31と、省電力判定部32と、スリープ指示生成部33とを含む。
【0054】
トラフィック監視部31は、OLT101とONU102との間のトラフィックを監視することで、OLT101とONU102との間のデータ通信の有無を監視する。トラフィック監視部31は、その監視結果を省電力判定部32へと送る。たとえばデータフレームの宛先アドレスおよび送信元アドレスからOLT101とONU102との間のデータ通信の有無を判断することができる。
【0055】
省電力判定部32は、トラフィック監視部31の監視結果に基づいて、各ONUをスリープモードに設定すべきかどうかを判定する。具体的には、省電力判定部32は、ONU102−1〜102−nのそれぞれに対応する判定部32−1〜32−nを有する。判定部32−1は、トラフィック監視部31から、OLT101とONU102−1との間のデータ通信の有無に関する監視結果を受ける。判定部32−1は、OLT101とONU102−1との間でデータ通信が行なわれていない場合に、ONU102−1の状態をスリープモードに設定すべきであると判定する。判定部32−2〜32−nの各々の動作は、判定部32−1の上記の動作と同様であるので以後の詳細な説明は繰り返さない。
【0056】
省電力判定部32の判定方法は上記方法に限定されるものではない。たとえば省電力判定部32は、ONU102−1〜102−nの各々のデータ通信の実績(たとえば1日の間でのデータ通信の実績)を予め記憶するとともに、その実績に基づいて、各ONU102−1の状態をスリープモードに設定するかどうかを判定してもよい。
【0057】
判定部32−1〜32−nの各々の判定結果は、スリープ指示生成部33に送られる。スリープ指示生成部33は、各判定部32−1〜32−nの判定結果に基づいて、対応するONUの状態をスリープモードに設定するためのスリープ指示を生成する。スリープ指示生成部33は、そのスリープ指示を送信部14に送信する。送信部14は、スリープ指示をPON回線104に出力する。スリープ指示を受けたONUは、自身のモードをスリープモードに設定する。
【0058】
また、あるONU102がスリープモードにある途中で、そのONU102を通常モードに復帰させる必要が発生した場合、通信制御部20は、スリープ指示生成部33に、起床指示を生成するよう指示する。スリープ指示生成部33は、通信制御部20からの指示により起床指示を生成する。この起床指示はスリープモードを中止するための指示である。通信制御部20が起床指示を生成してもよい。
【0059】
図3は、本発明の実施の形態に係るONUの概略構成を示すブロック図である。図3を参照して、ONU102は、受信部41と、バッファメモリ42と、フレーム取出部43と、送信部44とを含む。受信部41と、バッファメモリ42と、フレーム取出部43と、送信部44とは上り方向の通信に用いられる。
【0060】
受信部41は、宅側ネットワーク110から受信した上りデータフレームをバッファメモリ42に転送する。バッファメモリ42は、受信部41から送られた上りデータフレームを蓄積する。フレーム取出部43は、ユーザフレーム、省電力フレーム、MPCPフレーム等のフレームを一定の規則に従って取り出して、その取り出したフレームを送信部44に送る。送信部44は、フレーム取出部43からのフレームをPON回線104へ送信する。
【0061】
ONU102は、さらに、受信部45と、フレーム振分部47と、バッファメモリ48と、送信部49とを含む。受信部45と、フレーム振分部47と、バッファメモリ48と、送信部49とは下り方向の通信に用いられる。
【0062】
受信部45は、OLT101から送信されたデータフレームまたは制御フレームを、PON回線104を介して受信する。受信部45は、フレームのヘッダ部分を読取る。フレームに含まれるLLIDがONU102のLLIDに一致する場合には、受信部45はそのフレームを受信し、そうでない場合には、受信部45は、そのフレームを破棄する。
【0063】
フレーム振分部47は、フレームのヘッダ部分を読取り、それによって、ONU102により受信されたフレームが、データフレーム、制御フレームおよび省電力フレームのいずれであるかを判定する。データフレームはフレーム振分部47からバッファメモリ48へと転送される。制御フレームはフレーム振分部47から通信制御部50へと転送される。省電力フレームはフレーム振分部47からスリープ指示受信部63へと送られる。
【0064】
バッファメモリ48は、フレーム振分部47から転送されたデータフレームを蓄積する。送信部49は、バッファメモリ48に蓄積されたデータフレームを宅側ネットワーク110に送信する。バッファメモリ42,48は、QoS(通信品質)制御あるいはDBA制御などのためにフレームを一時的に蓄積する。
【0065】
ONU102は、さらに、通信制御部50と、クロックパルス発生部52とを備える。
通信制御部50は、一般的なPONシステムにおける通信制御(たとえば動的帯域割当(DBA)など)を実行する。通信制御部50は、OLT101から送られたMPCPフレーム(たとえばMPCPゲートフレーム)を受けて、そのフレームへの応答のためのMPCPフレーム(たとえばレポートフレーム)を出力する。データフレームと同様に、通信制御部50で作成されたMPCPフレームは送信部44に送られる。送信部44は、MPCPフレームをPON回線104に出力する。
【0066】
クロックパルス発生部52は、たとえば水晶振動子を含む周知の発振回路によって構成されて、クロックパルスを発生させる。クロックパルスは、たとえば通信制御部50の動作の制御およびONU102による時刻の計測に用いられる。通信制御部50は、クロックパルスをカウントして、そのクロックカウント値に基づいて、MPCPフレームに含まれるタイムスタンプを作成する。DBAの制御にはMPCP時刻が必要である。したがって通信制御部50は、ONU102側のMPCP時刻を管理する。
【0067】
OLT101とONU102との間でMPCPプロトコルに準じた制御を実現するために、ONU102で生成されたMPCPタイムスタンプがOLT101で生成されたMPCPタイムスタンプに同期することが要求される。このため、通信制御部50は、OLT101から送られたMPCPフレームに含まれるタイムスタンプを抽出する。通信制御部50は、その抽出されたタイムスタンプを用いて、通信制御部50で生成されたMPCPタイムスタンプを補正する。
【0068】
ONU102は、さらに、省電力設定部60を備える。省電力設定部60は、OLT101からの省電力フレームによって、ONU102をスリープモードに設定する。省電力設定部60は、ファームウェア制御タイマ61と、スリープモード設定部62と、スリープ指示受信部63と、省電力フレーム生成部64とを含む。たとえば省電力設定部60は、ファームウェアによって実現される。
【0069】
ファームウェア制御タイマ61(以下、「タイマ61」と呼ぶ)は、ファームウェアで使用される一般的なタイマにより実現可能である。タイマ61は、クロックパルス発生部52で生成されたクロックパルスに基づいて時刻を計測する。タイマ61は、クロックパルスをカウントする。そのカウント値が所定値に達したときに、タイマ61によって単位時間が計測される。この単位時間は、タイマ61の計測の分解能である。
【0070】
この実施の形態ではタイマ61の計測の分解能は、たとえば1msである。しかしタイマ61の計測の分解能はこの値に限定されるものではない。さらにこの実施の形態では、MPCPタイムスタンプの粒度は、タイマ61の計測の分解能よりも小さい。MPCPタイムスタンプの粒度は、たとえば16nsであるが、この値に限定されるものではない。
【0071】
OLT101からのスリープ指示は、受信部45により受信される。スリープ指示は、フレーム振分部47によって、省電力設定部60に送られる。スリープ指示受信部63は、スリープ指示を受信するとともに、そのスリープ指示をスリープモード設定部62に送信する。スリープモード設定部62は、スリープ指示受信部63からスリープ指示を受けることによって、ONU102をスリープモードに設定する。
【0072】
スリープモードの長さは、スリープ指示によって設定される。スリープモードにおいて、スリープモード設定部62は、基本的に送信部44および受信部45を停止させる。しかしながら本実施の形態では、送信部44および受信部45がスリープモードにおいて一時的に復帰して、ONU102はOLT101と通信可能な状態になる。
【0073】
なお、スリープ指示受信部63が受信部45およびフレーム振分部47を介してOLT101からの起床指示を受信した場合には、スリープモード設定部62は、ONU102のスリープモードを中止するとともにONU102を通常モードに復帰させる。
【0074】
スリープモード設定部62は、タイマ61によって計測された時刻に基づいてスリープモードの期間を管理する。スリープモードの開始時にスリープモード設定部62は、通信制御部50からMPCPタイムスタンプを受ける。スリープモード設定部62は、さらに、タイマ61によって計測された目標時刻とMPCPタイムスタンプとを比較するときにMPCPタイムスタンプを取得する。
【0075】
省電力フレーム生成部64は、OLT101からのスリープ指示および起床指示に対するONU102からの返答フレーム(ACK)を生成する。この返答フレームは、省電力フレーム生成部64からフレーム取出部43および送信部44に送られる。送信部44は、PON回線104を通じて返答フレームをOLT101に送信する。
【0076】
図2および図3に示された機能ブロックは、たとえばCPU、メモリ等のハードウェアあるいはそのCPUで実行されるソフトウェアによって実現可能である。したがって各機能ブロックの実現方法は特に限定されるものではない。また、複数の機能ブロックを1つのブロックに統合してもよい。
【0077】
図4は、制御フレームの構造を示した図である。図4を参照して、制御フレームは、宛先アドレス、送信元アドレス、レングス/タイプ(Length/Type)、オペコード(Opcode)、タイムスタンプ、データ、パディング、およびFCSから構成される。
【0078】
オペコード(Opcode)のフィールドには、制御フレームの種類を識別するためのコードが挿入される。MPCPでは、ディスカバリゲート(Discovery Gate)、レジスタリクエスト(Register Request)、レジスタ(Register)、ゲート(ノーマルゲートとも呼ばれる;Gate)、レジスタACK(Register Ack)、レポート(Report)などのメッセージを用いて双方向の通信が確立される。これらのメッセージはオペコードによって判別され,それぞれのメッセージではデータフィールドの内容が異なる。
【0079】
また、スリープ指示の場合には、たとえば拡張MPCPフレームを用いる。データのフィールドに、スリープモードを示すコードが挿入される。スリープモードの期間に関する情報が含まれてもよい。たとえばスリープモードの開始および終了を示すタイムスタンプの値をデータのフィールドに含めることができる。
【0080】
また、起床指示の場合には、たとえば拡張MPCPフレームを用いて、データのフィールドに起床指示を示すコードが挿入される。
【0081】
また、ONU102がスリープ指示あるいは起床指示を承諾する場合、ONU102は、その承諾を示す制御フレームをOLT101へと送信する。この制御フレームはたとえば拡張MPCPフレームを用いる。データのフィールドには、スリープ指示に対する承諾を示すコード、あるいは起床指示に対する承諾を示すコードが挿入される。
【0082】
各ONUの上り信号を時分割多重するには、OLTと各ONUとの間でタイムスタンプが同期している必要がある。この実施形態では、MPCPフレームに含まれるタイムスタンプを用いてOLTとONUとの間の同期を維持する方式が採用される。すなわちOLTは、自身の現在のクロックカウント値をタイムスタンプとしてMPCPフレームに含め、次に、そのフレームをONUに送信する。ONUはそのタイムスタンプに基づいて、自身が生成するMPCPフレームのタイムスタンプを補正する。
【0083】
図5は、ONUをスリープモードに移行させるためのOLTの処理とONUの処理とを説明するためのシーケンス図である。図5を参照して、ONU102がスリープモードに移行する前には、ONU102の状態は通常モードである。OLT101はONU102のトラフィック状況に基づいて、当該ONU102をスリープモードへと移行させると判断する。たとえばOLT101とONU102との間のトラフィックが発生していない場合には、当該ONU102がスリープモードへと移行される。
【0084】
時刻t1において、OLT101はONU102にスリープ指示を送信する。ONU102はそのスリープ指示を受ける。ONU102がスリープ指示に承諾する場合、ONU102は、その承諾を示す返答フレームをOLT101へ送信する。上述のように、返答フレームは省電力フレーム生成部64(図3参照)によって生成される。
【0085】
ONU102は、返答フレームを送信するとともにスリープモードへと移行する。スリープモードでは、起床期間Taと、スリープ期間Tbとが発生する。起床期間Taは、ONU102がOLT101と通信可能な状態になる期間である。たとえば、起床期間Taは、ONU102が、スリープモードから通常動作モードに戻る必要があるかどうかを確認するための期間として用いられる。スリープ期間Tbは、ONU102の通信モジュール(送信部44および受信部45)が省電力状態に設定される期間である。スリープ期間Tbには、ONU102とOLT101との間の通信が停止する。本明細書では、起床期間TaにおけるONU102の状態を「起床状態」と呼び、スリープ期間TbにおけるONU102の状態を「スリープ状態」と呼ぶ。
【0086】
具体的には、スリープ期間Tbの間、スリープモード設定部62は、送信部44および受信部45の状態を省電力状態に設定する。これにより、送信部44および受信部45の機能が無効となる。一方、起床期間Taの間、スリープモード設定部62は、送信部44および受信部45を復帰させる。これにより送信部44および受信部45の機能が有効になる。
【0087】
この実施の形態では、ONU102がスリープモードである間に、期間Ta,Tbが交互に繰り返される。ただし、期間Ta,Tbが時間軸上で稠密に並べられていなくてもよい。すなわち、期間Tbと期間Taとの間、あるいは期間Taと期間Tbとの間に、追加的な期間が挿入されていてもよい。この追加的な期間におけるONU102の状態あるいは処理は、特に限定されるものではない。
【0088】
さらに、図5ではONU102のスリープモードが期間Ta,Tbの順で繰り返されるように示されている。しかし、返答フレームがONU102から送信された後、まず期間Tbが発生し、次に期間Taが発生してもよい。すなわち、スリープモードが期間Tb,Taの順で繰り返されてもよい。
【0089】
この実施の形態では、OLT101およびONU102は、期間Ta,Tbの長さを予め把握している。たとえば期間Ta,Tbの長さが予め定められて、OLT101およびONU102は互いに独立に期間Ta,Tbの長さの情報を保有している。代わりに、OLT101がONU102に期間Ta,Tbの長さを指定してもよい。
【0090】
この実施の形態では、OLT101がONU102の起床を指示するまで、あるいはONU102が自発的に起床するまで、スリープ指示の制御フレームがOLT101とONU102との間で伝送されない。一方、OLT101はONU102のモード(通常モードまたはスリープモード)に関係なく、MPCPフレームを繰り返しONU102に送信する。したがって期間Taの間にONU102がMPCPフレームを受信した場合には、ONU102は当該MPCPフレームに含まれるタイムスタンプに従って、ONU102の内部クロックに基づいて生成されるMPCPタイムスタンプを補正できる。たとえばMPCPフレームの送信の周期は500μ秒であるが、これに限定されるものではない。
【0091】
スリープ状態にあるONU102を起床するためのイベントが発生した場合、OLT101はONU102を起床させる。このようなイベントは、たとえばOLT101からONU102に送信すべきデータがOLT101に到着した場合に発生する。
【0092】
図6は、スリープ状態にあるONUを起床させるためのOLTの処理とONUの処理とを説明するためのシーケンス図である。図6を参照して、期間Tbの間のある時刻t2において、ONU102を起床させるためのイベントが発生する。イベントが発生したときには、ONU102はスリープ状態にある。したがってOLT101は期間Taが開始されるまで待機する。OLT101は、OLT101のクロックに従って期間Ta,Tbを計測することで期間Taの開始を把握する。一方、ONU102は、タイマ61による時刻の計測に基づいて期間Ta,Tbを交互に発生させる。
【0093】
期間Ta中のある時刻t3において、OLT101はONU102に、ONU102の起床を指示するための制御フレーム(起床指示)を送信する。ONU102がこの制御フレームを受信すると、ONU102はスリープモードから通常状態(通常モード)へと移行する。ONU102が通常モードに戻った後には、OLT101とONU102との間でデータの送受信が可能になる。
【0094】
スリープモードでは、ONU102は、期間Ta,TbをONU102のタイマ61を用いて計測する。期間Tbの間には、ONU102の通信機能が無効である。したがって期間Tbの間には、ONU102は、OLT101からのMPCPフレームを受信することができない。すなわち期間Tbの間には、ONU102とOLT101との間でMPCPタイムスタンプを同期させることができない。
【0095】
さらに、スリープモードの期間のうち少なくともスリープ期間Tbでは、ONU102のクロックがOLT101のクロックとが同期していない。なお、スリープモードの設定によっては、起床期間Taとスリープ期間Tbとの間でクロックが同期しないことも考えられる。ONU102のクロックがOLT101のクロックと同期しないために、OLT101が管理(把握)する期間Ta,Tbに対して、ONU102で発生する期間Ta,Tbがずれることが起こりうる。このずれが蓄積することによって、以下に説明する問題が起こりうる。
【0096】
図7は、OLTが管理する起床期間およびスリープ期間とONUが計測する起床期間およびスリープ期間との間にずれが生じた場合に生じ得る問題点を説明するための図である。図7を参照して、期間Tb中の時刻t4において、ONU102を起床させるためのイベントが発生する。OLT101は、期間Taが開始されるまで、ONU102の起床の指示を待機する。
【0097】
OLT101は、OLT101のクロックに従って、期間Ta,Tbを管理する。一方、ONU102は、タイマ61により期間Ta,Tbを計測する。OLT101が把握する期間Taにおいて、OLT101はONU102に起床指示を送る。しかしOLT101が管理(把握)する期間Ta,Tbに対して、ONU102で発生する期間Ta,Tbがずれた場合、ONU102にとっては、起床指示はスリープ期間Tb中に送られる。したがってONU102はOLT101から送られた起床指示を受信することができない。ONU102が起床指示を受信しないため、承諾を示す制御フレームもONU102からOLT101に送信されない。
【0098】
承諾を示す制御フレームを受信できないため、OLT101は、次回に生じる期間Taにおいて、起床指示をONU102に再送する(時刻t5)。しかし、ONU102が計測する期間Ta,TbがOLT101が管理(計測する)期間Ta,Tbに対してずれている。このため、ONU102にとっては、時刻t5はスリープ期間Tbの間の時刻となる。したがって、ONU102は、OLT101から再度送られた起床指示も受信できない。この場合には、ONU102とOLT101との間の通信の再開が遅れることが懸念される。
【0099】
本発明の実施の形態によれば、スリープモード設定部62は、スリープ期間Tbを開始する前にタイマ61によって計測された時刻と、その計測された時刻における宅側装置のMPCPタイムスタンプとの間の差分を求める。その差分が判定値以上である場合に、スリープモード設定部62は、次に開始される期間Tbを、その差分を用いて補正する。そしてONU102は、タイマ61で計測された時刻に基づいて、その補正された期間Tbの間、送信部44および受信部45を省電力状態にする。これにより、ONU102のスリープモード中の期間Ta,Tbについて、OLT101とONU102との間での認識のずれを小さくすることができる。
【0100】
以下において、図面を参照しつつ、各実施の形態について詳細に説明する。
[実施の形態1]
図8は、実施の形態1に係るONUによる時刻の同期方法を説明するための図である。なお、以下に示される数値は実施の形態1の理解を容易にするために用いた例であり、本発明を限定するものではない。
【0101】
図3および図8を参照して、スリープモード設定部62は、スリープモード開始時に、開始時刻T1を示すMPCPタイムスタンプを通信制御部50から取得する。開始時刻T1に対応するMPCPタイムスタンプの値は10000であるとする。また、開始時刻T1には、MPCPタイムスタンプとタイマ61のカウント値が一致しているものとする。
【0102】
次に、スリープモード設定部62は、目標時刻T2を設定する。目標時刻T2は、次回の時刻計測時におけるMPCPタイムスタンプの期待値である。たとえば、起床期間Taおよびスリープ期間Tbを合計した期間T(=Ta+Tb)の長さに対応するタイマ61のカウント値が1000であるとする。目標時刻T2は、スリープ開始時刻におけるMPCPタイムスタンプ値に期間Tの長さに対応するカウント値を加えた値に設定される。すなわち、目標時刻T2は11000に設定される。
【0103】
開始時刻T1から期間Tが経過したことがタイマ61によって計測される。すなわちタイマ61によって目標時刻T2が計測される。スリープモード設定部62は、タイマ61が目標時刻T2を計測したときのMPCPタイムスタンプの値を時刻T3として取得する。T=1000に対応するMPCPタイムスタンプの周期T′は1000.5である。したがってT3=11000.5となる。差分T4は、時刻T3と目標時刻T2との差分である。この場合には、T4=11000.5−11000=0.5である。
【0104】
この例では、差分T4の判定値を1とする。判定値は、次に開始されるスリープ期間Tbを補正するかどうかの判定に用いられる。上記の場合には、差分T4=0.5<1である。したがって次に開始されるスリープ期間Tbの補正は行なわれない。
【0105】
続いて、次の目標時刻T2が設定される。次回の目標時刻T2は11000+1000=12000である。上述の処理と同様に、期間T(=1000)がタイマ61によって計測される。スリープモード設定部62は、タイマ61が目標時刻T2(=12000)を計測したときのMPCPタイムスタンプの値を時刻T3として取得する。このときの時刻T3はT3=11000.5+1000.5=12001であったとする。
【0106】
差分T4は、12001−12000=1.0であるので判定値以上となる。したがって、スリープモード設定部62は次に開始されるスリープ期間Tbを補正する。具体的には、期間Tに対応するタイマ61のカウント値から差分T4が減算される。これにより、次にタイマ61で計測される期間Tの長さが1000−1=999に補正される。
【0107】
スリープモード設定部62は、タイマ61が補正された期間Tを計測したときのMPCPタイムスタンプの値を時刻T3として取得する。このときのT3=12001+(999×1000/1000.5)=13000.5と見積もられる。目標時刻は13000である。実際のMPCPタイムスタンプの計測結果が期待通り13000.5となれば、差分T4=13000.5−13000=0.5となり、判定値未満となる。
【0108】
上記の例では差分T4が正の値である場合が示される。差分T4が負になる場合にも同様に、その絶対値が判定値より大きい場合に、次に開始されるスリープ期間Tbが補正される。この場合には、期間(Ta+Tb)の長さを{1000−(差分値)}へ補正すればよい。
【0109】
図9は、図8に示した処理を、より詳細に説明するための図である。なお、以下に示される数値は実施の形態1の理解を容易にするために用いた例であり、本発明を限定するものではない。
【0110】
図3および図9を参照して、スリープモードが開始されると期間Ta,TbがTa,Tbの順に交互に発生する。この実施の形態では、目標時刻T2は期間Taの開始時刻に等しい。しかし、期間Taの間であれば、OLT101とONU102との間でMPCPタイムスタンプを同期させることができる。したがって目標時刻T2は期間Taの間の任意の時刻でよい。期間Taの間の任意の時刻において、目標時刻T2とMPCPタイムスタンプとの差分を算出することができるので、次に開始される期間Tbを補正することができる。
【0111】
開始時刻T1のMPCPタイムスタンプ値は10000である。目標時刻T2が11000に設定される。開始時刻T1から目標時刻T2までのタイマ61のカウント値が1000に設定される。期間T(=Ta+Tb)に対応するタイマ61のカウント値は1000である。
【0112】
タイマ61が目標時刻T2を計測したとき、すなわち、タイマ61のカウント値が1000に達したときには、ONU102のMPCPタイムスタンプの値は11000.1(=10000+1000.1)であり、OLT101のMPCPタイムスタンプの値は11000.5(=10000+1000.5)である。タイマ61により計測された時刻はONU102のMPCPタイムスタンプおよびOLT101のMPCPタイムスタンプのいずれとも同期していない。期間TaにおいてONU102のタイムスタンプはOLT101のタイムスタンプと同期する。
【0113】
タイマ61が目標時刻T2(=11000)を計測したときのONU102のMPCPタイムスタンプ(=11000.5)と、目標時刻T2との差分は0.5であり、判定値(=1.0)未満である。したがって次に開始されるスリープ期間は補正されない。すなわち、期間T(=Ta+Tb)に対応するタイマのカウント値は1000のままである。
【0114】
スリープモード設定部62は、次の目標時刻T2として12000を設定する。タイマ61が目標時刻T2を計測したとき、すなわちタイマ61のカウント値が1000に達したときには、ONU102のMPCPタイムスタンプは、12000.6(=11000.5+1000.1)であり、OLT101のMPCPタイムスタンプは、12001(=11000.5+1000.5)である。ONU102のMPCPタイムスタンプは、OLT101のMPCPタイムスタンプと同期することによって12000.6から12001へと変更される。
【0115】
目標時刻T2(=12000)と、ONU102のMPCPタイムスタンプ(=11000.5)との差分は1であり、判定値(=1.0)以上である。したがって次に開始されるスリープ期間Tbが補正される。この場合、期間Tbに対応するカウント値が差分値(=1)減算される。この結果、期間T(=Ta+Tb)に対応するカウント値が999に補正される。
【0116】
続いてタイマ61は、補正された期間Tを計測する。すなわち、タイマ61が次の目標時刻を計測したときに、目標時刻13000とMPCPタイムスタンプとの差分が算出される。この場合のONU102のMPCPタイムスタンプは13000.1(=12001+999.1)であり、OLT101のMPCPタイムスタンプは、13000.5(=12001+999.5)である。ONU102のMPCPタイムスタンプは、OLT101のMPCPタイムスタンプと同期することによって13000.1から13000.5へと変更される。
【0117】
目標時刻(=13000)と、ONU102のMPCPタイムスタンプ(=13000.5)との差分は再び0.5となり判定値未満である。したがって次に開始されるスリープ期間Tbは補正されない。この場合、期間T(=Ta+Tb)に対応するタイマのカウント値は補正前の設定値である1000である。
【0118】
上記の例では、スリープ期間Tbを1度補正することにより、目標時刻とMPCPタイムスタンプとの差分が判定値以下となる。しかし、MPCPタイムスタンプとタイマのカウント値との差分が過去の測定値から大きく変動した場合には、1度のみの補正では、その差分を判定値以下に小さくすることができないことも起こりうる。その場合には、スリープ期間の補正が繰り返される。これにより、差分を判定値より小さくすることが期待できる。
【0119】
さらに、差分が一旦判定値より小さくなったものの、次に目標時刻とタイムスタンプとの間の差分を算出したときには、その差分が再び判定値以上となる可能性がある。この場合にも、差分を用いてスリープ期間Tbを補正することで差分を再び判定値より小さくすることができる。つまり、この実施の形態では、スリープモードの間に、差分が判定値以上となる状態と差分が判定値未満となる状態とが交互に生じてもよい。
【0120】
図10は、実施の形態1に係るONUの処理を説明するためのフローチャートである。図3および図10を参照して、ステップS1において、ONU102は、ONU102のスリープモードを開始するかどうかを判定する。具体的には、スリープ指示受信部63がOLT101からのスリープ指示を受信した場合に、スリープモード設定部62は、ONU102のスリープモードを開始させると判定する。この場合(ステップS1においてYES)、処理はステップS2に進む。一方、スリープ指示受信部63がOLT101からのスリープ指示を受信していない場合(ステップS2においてNO)、全体の処理は終了する。
【0121】
ステップS2において、スリープモード設定部62は、通信制御部50からMPCPタイムスタンプを受信することにより、開始時刻T1を取得する。ステップS3において、スリープモード設定部62は、目標時刻T2を設定する。期間Tに対応するタイマ61のカウント値は予め求められている。スリープモード設定部62は、T2=T1+Tの関係に従って目標時刻T2を設定する。
【0122】
ステップS4において、タイマ61によって時刻が計測される。すなわち期間Tがタイマ61によって計測される。ステップS4の処理は、タイマ61による期間Tの計測が終了するまで実行される。タイマ61は期間Tを計測することで目標時刻T2を計測する。
【0123】
ステップS5において、スリープモード設定部62は、現在時刻T3を取得する。この実施の形態では、ステップS5の処理は、期間Taにおいて実行される(図10を参照)。したがって、OLT101のMPCPタイムスタンプとONU102のMPCPタイムスタンプとが同期する。スリープモード設定部62は、OLT101とONU102との間で同期した後のMPCPタイムスタンプを通信制御部50から受信する。このMPCPタイムスタンプが現在時刻T3としてスリープモード設定部62に取得される。
【0124】
ステップS6において、スリープモード設定部62は、目標時刻T2と現在時刻T3との差分T4を算出する(T4=T3−T2)。ステップS7において、スリープモード設定部62は、差分T4が判定値以上であるかどうかを判定する。差分T4が判定値以上である場合(ステップS7においてYES)、処理はステップS8に進む。ステップS8において、スリープモード設定部62は、次に開始されるスリープ期間Tbを、差分T4を用いて補正する。ステップS8の処理が終了すると、ステップS9の処理が実行される。差分T4が判定値未満である場合(ステップS7においてNO)、処理はステップS7からステップS9へと進む。
【0125】
ステップS9において、スリープモード設定部62はスリープモードが終了したかどうかを判定する。たとえばスリープモードの期間がOLT101によって予め指定された期間に達した場合に、スリープモード設定部62は、スリープモードが終了したと判定する。また、ONU102に接続される端末が上りデータを発生させた場合、あるいは、OLT101からONU102に起床指示が送られた場合に、スリープモード設定部62は、スリープモードが終了したと判定する。これらの場合(ステップS9においてYES)、全体の処理は終了する。
【0126】
一方、スリープモードがまだ終了していない場合(ステップS9においてNO)、処理はステップS3に戻り、ステップS3〜S9の処理が繰り返される。スリープ期間Tbが補正されている場合には、ステップS4において、タイマ61は補正された期間Tを計測する。
【0127】
また、この実施の形態では、MPCPタイムスタンプの粒度は16nsである。これに対して、タイマ61の計測の分解能は1msである。したがって、差分T4をMPCPタイムスタンプの粒度のレベルで評価しなくてもよい。
【0128】
図11は、MPCPタイムスタンプとタイマのカウント値の比較の別の例を示した図である。図11を参照して、MPCPタイムスタンプの値は、nビット(たとえば32ビット)のフィールドのうち、下位のmビットに対して丸め処理が実行される。たとえば、タイマ61の計測の分解能を単位とした丸め処理がMPCPタイムスタンプに施されることにより、目標時刻と対比されるタイムスタンプを生成することができる。丸め処理は、図10に示されたステップS2,S5,S6において実行可能である。
【0129】
以上のように実施の形態1によれば、スリープ期間Tbを開始する前(起床期間Taの間)にタイマ61によって計測された目標時刻とその計測された目標時刻におけるONU102のタイムスタンプ(OLT101とONU102との間で同期した後のMPCPタイムスタンプ)との間の差分が判定値以上である場合に、スリープモード設定部62は、その開始する期間Tbを差分を用いて補正する。これによってONU102のスリープモード中において、期間Ta,Tbの認識のずれ(特に期間Taの認識のずれ)をOLT101とONU102との間で小さくすることができる。
【0130】
さらに実施の形態1によれば、判定値は、タイマの計測の分解能に等しい値である。これによって、期間Ta,Tbの認識のずれの程度をタイマの計測の分解能以下に抑えることができる。
【0131】
さらに実施の形態1によれば、丸め処理を行なった後のMPCPタイムスタンプとタイマ61のカウント値とが比較される。これにより、目標時刻に対するMPCPタイムスタンプの差分を演算する処理を簡単にすることができる。したがって、タイマ61にはファームウェアの制御に一般的に使用されるタイマを用いることができる。これにより、ONUの構成を複雑化しなくてもよい。
【0132】
[実施の形態2]
実施の形態2に係る時刻の同期方法は、実施の形態1に係る同期方法と同様である。実施の形態2では、スリープ期間Tbの補正に伴って、通信部(送信部44および受信部45)の起動時刻が補正される。
【0133】
起床期間Taの開始時点からONU102の通信部(送信部44および受信部45)がOLT101と通信可能であるためには、期間Taより前にONU102の通信部を起動する必要がある。なぜなら、ONU102の通信部を起動させるためには、ある程度の期間を要するためである。この期間は、送信部44および受信部45を構成するハードウェアに依存する。たとえば実験によって、ONU102の通信部を起動するための期間を予め見積もることができる。
【0134】
図12は、実施の形態2に係るONUの通信部の起動時刻の補正を説明するための模式図である。図12を参照して、期間Tbが補正される前の期間Ta,Tbと、期間Tbが補正された後の期間Ta,Tbとが対比して示される。期間Tcは、通信部を起動するための期間として,期間Taの開始直前に割り当てられる。Td=Tb(補正前)−Tcである。したがって期間Tbの開始時刻から期間Tdが経過したときの時刻が通信部の起動時刻(補正前)となる。
【0135】
実施の形態1と同様に、スリープ期間Tbが補正されたとする。この例では、補正によってスリープ期間Tbが元の期間よりも短くなる。スリープ期間Tbが短くなることにより、期間Taの開始時刻が補正前の開始時刻よりも早くなる。起動期間Tcの長さは変化しない。
【0136】
ここでスリープ期間Tbは補正されるものの、起動時刻が補正されなかった場合を想定する。起動期間Tcの長さは変化しないので、起動期間Tcが終了するよりも先に起床期間Taが開始される。この場合、起床期間Taの開始から起動期間Tcの終了までの間の期間には、通信部が起動途中であるためにOLT101とONU102との間の通信ができない可能性がある。このため、たとえば起床期間Taが実質的に短くなるといった問題、あるいは、OLT101からONU102に送られた情報をONU102が受信できないといった問題が起こりうる。
【0137】
実施の形態2では、スリープ期間Tbの補正に応じて通信部の起動時刻が補正される。T´d=Tb(補正後)−Tcである。期間T´dは期間Tdよりも短い。通信部の起動は、元の起動時刻に対してスリープ期間Tbの補正量に等しい時間だけ早い時刻に開始される。したがって、スリープ期間Tbの補正前と同様に、起床期間Taの開始時点からOLT101とONU102との間の通信が可能となる。
【0138】
図13は、実施の形態2に係るONUの処理を説明するためのフローチャートである。図10および図13を参照して、実施の形態2に係るONUの処理は、ステップS10の処理がステップS8の後に追加される点において実施の形態1に係るONUの処理と異なる。ステップS10において、スリープモード設定部62は、通信部(送信部44および受信部45)の起動時刻を補正する。ステップS10の後、処理はステップS9に進む。ステップS10以外の各ステップの処理については図10に示された対応するステップの処理と同様であるので以後の説明は繰り返さない。
【0139】
以上のように実施の形態2によれば、ONUの通信部は期間Taの開始よりも前に起動される。ONUの通信部の起動時刻は、期間Tbの補正に応じて決定される。これにより、期間Taの開始時点からOLT101とONU102との間での通信を実現できる。
【0140】
なお、期間Ta,Tbの長さは特に限定されるものではない。期間Taが短いほど、OLT101が管理する起床期間TaとONU102により発生される起床期間Taとがずれやすくなるため、図7により説明される問題が生じやすくなる。一方、期間Taが長くなるほどONU102の省電力の効果が弱くなる。
【0141】
これらの観点から期間Taの長さを適切に定めることができる。たとえば期間Taの最小値は、MPCPフレームの転送の周期(上述の例では500μ秒)に設定される。これにより、期間Taの間に少なくとも1度はOLT101とONU102との間でMPCPタイムスタンプを同期させることができる。たとえば期間Taは、数百m秒(一例では500m秒)に設定される。たとえば期間Taの最大値は、スリープ期間Tbの長さ以下に設定される。期間Taが期間Tbより長いと、通信部が省電力状態である期間よりも通信部が動作可能な状態である期間が長くなるので、省電力の効果が弱くなる。したがって、期間Taの長さは期間Tbの長さ以下であることが好ましい。
【0142】
期間Tbが短い場合にも、ONU102の省電力の効果が弱くなる。図12に示したように、期間Tbは、ONU102の通信部の起動期間Tcを含む。したがって期間Tbの最小値は、起動期間Tcとして予め定義された期間に設定される。
【0143】
OLT101は、期間Tbの間にもONU102にMPCPフレームを送信する。OLT101がMPCPフレームをONU102に送信してから所定の期間が経過するまでにONU102からOLT101にMPCPフレームが送信されない場合には、OLT101はMPCPタイムアウトを検出する。したがって、好ましくは、期間Tbの最大値は、MPCPタイムアウト期間以下である。一例では、MPCPタイムアウト期間は1秒に設定される。この場合には、期間Tbの最大値は、1秒より小さい値である。上記の観点から期間Tbは、たとえば数百m秒(一例では500m秒)に設定される。
【0144】
さらに、上記の各実施の形態では、起床期間Taおよびスリープ期間Tbの長さが予め設定されており、その設定された期間の長さに従って目標時刻が設定されるものとした。ただし、目標時刻の設定方法は、これに限定されるものではない。
【0145】
起床期間Taとスリープ期間Tbとが稠密に並べられている場合、OLT101が、起床期間Taの開始時刻および終了時刻をONU102に指定してもよい。起床期間Taとスリープ期間Tbとが稠密に並べられていない場合には、OLT101がさらに、スリープ期間Tbの開始時刻および終了時刻をONU102に指定する。この場合、ONU102は、目標時刻とスリープモードの開始時刻との差からタイマ61のカウント値を設定することができる。目標時刻は、起床期間Taの間の任意の時刻でよい。このような方法を用いることで、起床期間Taの長さ、および/またはスリープ期間Tbの長さを変化させることができる。その場合にも、ONU102により起床期間Taの間に目標時刻とMPCPタイムスタンプとの間の差分を求めることで、次に開始されるスリープ期間Tbの長さを補正することが可能となる。
【0146】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0147】
11,15,41,45 受信部、12,18,42,48 バッファメモリ、13,43 フレーム取出部、14,19,44,49 送信部、17,47 フレーム振分部、20,50 通信制御部、22,52 クロックパルス発生部、24 クロックカウント部、30,60 省電力設定部、31 トラフィック監視部、32 省電力判定部、32−1〜32−n 判定部、61 ファームウェア制御タイマ(タイマ)、62 スリープモード設定部、63 スリープ指示受信部、64 省電力フレーム生成部、100 PONシステム、101 OLT、102,102−1〜102−n ONU、104 PON回線、105 スプリッタ、109 上位ネットワーク、110 宅側ネットワーク、111 ユーザ端末。

【特許請求の範囲】
【請求項1】
局側装置と、
受動的光ネットワークを介して前記局側装置に接続される宅側装置とを備え、
前記宅側装置は、スリープモードにおいて、前記宅側装置と前記局側装置との間の通信を停止する第1の期間と、前記宅側装置と前記局側装置との間の通信が可能となる第2の期間とを交互に発生させ、
前記局側装置は、前記局側装置のクロックを用いて、タイムスタンプの生成と、前記局側装置で管理される前記第1および第2の期間の計測とを実行し、
前記宅側装置は、
前記受動的光ネットワークを介して前記局側装置と通信するための通信部と、
前記通信部を介して前記局側装置のタイムスタンプを受信して、前記宅側装置のクロックを用いて生成されたタイムスタンプを、前記局側装置のタイムスタンプに同期させる時刻同期部と、
前記宅側装置のクロックを用いて時刻を計測する計測部と、
前記計測部によって計測された時刻に従って、前記第1の期間には前記通信部の機能を停止し、前記第2の期間には前記通信部の機能を有効にする管理部とを含み、
前記管理部は、前記第1の期間を開始する前に前記計測部によって計測された時刻と前記計測された時刻における前記宅側装置のタイムスタンプとの間の差分が判定値以上である場合に、当該開始する第1の期間を前記差分を用いて補正する、光通信システム。
【請求項2】
前記計測部による計測の分解能は、前記局側装置のタイムスタンプの粒度よりも大きく、
前記管理部は、前記計測部の前記分解能を単位として、前記宅側装置のタイムスタンプの値に対する丸め処理を実行し、前記丸め処理によって得られたタイムスタンプの値と前記計測部によって計測された時刻とを比較する、請求項1に記載の光通信システム。
【請求項3】
前記判定値は、前記計測部による計測の分解能に等しい値である、請求項2に記載の光通信システム。
【請求項4】
前記管理部は、前記第2の期間の開始よりも前に前記通信部を起動し、前記通信部の起動時刻を、前記第1の期間の補正に応じて決定する、請求項1から3のいずれか1項に記載の光通信システム。
【請求項5】
前記時刻同期部は、前記第2の期間の間に、前記宅側装置と前記局側装置との間で前記タイムスタンプを同期させる、請求項1から4のいずれか1項に記載の光通信システム。
【請求項6】
目標時刻として設定された時刻を前記計測部が計測したときに、前記管理部は、前記差分を算出する、請求項1から5のいずれか1項に記載の光通信システム。
【請求項7】
前記タイムスタンプは、MPCPフレームに含まれるタイムスタンプであり、
前記第1の期間の長さは、前記通信部の起動期間として定義された期間の長さ以上であり、かつMPCPタイムアウト期間として予め定義された期間の長さ以下である、請求項1から6のいずれか1項に記載の光通信システム。
【請求項8】
前記タイムスタンプは、MPCPフレームに含まれるタイムスタンプであり、
前記第2の期間の長さは、前記局側装置が前記MPCPフレームを送信する周期の長さ以上であり、かつ、前記第1の期間の長さ以下である、請求項1から7のいずれか1項に記載の光通信システム。
【請求項9】
局側装置と、受動的光ネットワークを介して前記局側装置に接続される宅側装置とを備える光通信システムの制御方法であって、
前記宅側装置のスリープモードにおいて、前記宅側装置が前記局側装置との通信を停止する第1の期間と、前記宅側装置と前記局側装置との間の通信が可能な状態となる第2の期間とを交互に発生させるステップと、
前記局側装置のクロックを用いてタイムスタンプを生成するステップと、
前記宅側装置のクロックを用いて生成されたタイムスタンプを、前記局側装置のクロックを用いて生成されたタイムスタンプに同期させるステップと、
前記宅側装置のクロックを用いて時刻を計測するステップと、
前記第1の期間が開始される前に計測された時刻と、前記計測された時刻における前記宅側装置のタイムスタンプとの間の差分が判定値以上である場合に、当該開始される第1の期間を前記差分を用いて補正するステップとを備える、光通信システムの制御方法。
【請求項10】
受動的光ネットワークを介して局側装置と接続される宅側装置であって、
前記受動的光ネットワークを介して前記局側装置と通信するための通信部と、
前記通信部を介して前記局側装置からタイムスタンプを受信して、前記宅側装置のクロックを用いて生成されたタイムスタンプを、前記局側装置のタイムスタンプに同期させる時刻同期部と、
前記宅側装置のクロックを用いて時刻を計測する計測部と、
前記計測部によって計測された時刻に従って、前記宅側装置のスリープモードにおいて、前記通信部の機能を停止する第1の期間と、前記通信部の機能を有効にする第2の期間とを交互に発生させる管理部とを含み、
前記管理部は、前記第1の期間を開始する前に前記計測部によって計測された時刻と前記計測された時刻における前記宅側装置のタイムスタンプとの間の差分が判定値以上である場合に、当該開始する第1の期間を前記差分を用いて補正する、宅側装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate