説明

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

【課題】宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくする。
【解決手段】宅側装置(ONU)は、スリープモードにおける第1の期間(Tb)に局側装置(OLT)との通信を停止し、スリープモードにおける第2の期間(Ta)に局側装置(OLT)との通信が可能な状態となる。局側装置(OLT)は、局側装置(OLT)のクロックを用いて第1および第2の期間(Tb,Ta)を設定する。宅側装置(ONU)は、局側装置(OLT)のクロックに対する宅側装置(ONU)の内部クロックのクロック誤差を用いて局側装置(OLT)が設定した第1あるいは第2の期間(Tb,Ta)を補正して、当該補正された第1あるいは第2の期間を宅側装置(ONU)の内部クロックを用いて計測する。

【発明の詳細な説明】
【技術分野】
【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あるいは第2の期間を補正して、当該補正された第1あるいは第2の期間を宅側装置の内部クロックを用いて計測する。
【0011】
この構成によれば、宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。宅側装置のスリープモードにおいて、宅側装置は、宅側装置の内部クロックに基づいて第1あるいは第2の期間を計測する。一方、局側装置は、局側装置のクロックに基づいて第1および第2の期間を計測する。局側装置の内部クロックと宅側装置の内部クロックとは独立している。したがって、局側装置のクロックに対する宅側装置の内部クロックのクロック誤差により、局側装置の計測する第1および第2の期間と、宅側装置の計測する第1および第2の期間とがずれる可能性がある。クロック誤差を用いて宅側装置の計測する第1あるいは第2の期間を補正することにより、局側装置と宅側装置との間で第1の期間および第2の期間の両方を同期させることができる。
【0012】
この明細書では、「第1あるいは第2の期間」との用語は、「第1の期間」および「第2の期間」のいずれか一方のみを含むものと限定されず、「第1の期間」および「第2の期間」の両方を含んでもよい。
【0013】
好ましくは、宅側装置は、非スリープモードにおいて、クロック誤差を用いて第1あるいは第2の期間を補正する。
【0014】
この構成によれば、スリープモードではないときに第1の期間あるいは第2の期間が補正されるので、その後に宅側装置がスリープモードに移行したときに、局側装置と宅側装置との間で第1の期間および第2の期間の両方を同期させることができる。「非スリープモード」とは、スリープモード以外の任意のモードを含みうる。すなわち「非スリープモード」は特定のモードに限定されるものではない。
【0015】
好ましくは、宅側装置は、第1の期間あるいは第2の期間の計測前に、クロック誤差を用いて第1あるいは第2の期間を補正する。
【0016】
この構成によれば、宅側装置が第1あるいは第2の期間を計測する前に、予め第1あるいは第2の期間が補正される。したがって宅側装置のスリープモード中において期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【0017】
好ましくは、宅側装置は、第1の期間の計測中にクロック誤差を用いて第1の期間を補正する、あるいは、第2の期間の計測中にクロック誤差を用いて第2の期間を補正する。
【0018】
この構成によれば、宅側装置が第1の期間を計測する間に第1の期間が補正される、あるいは、第2の期間を計測する間に第2の期間が補正されるので、宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。なお、「第1の期間」および「第2の期間」のいずれか一方のみが補正されるよう限定されるものではなく、「第1の期間」および「第2の期間」の両方が補正されてもよい。
【0019】
好ましくは、局側装置は、局側装置のタイムスタンプを含むMPCPフレームを宅側装置に送信する。タイムスタンプは、局側装置のクロックに基づいて生成される。宅側装置は、局側装置から送られたMPCPフレームを用いてクロック誤差を算出して、算出されたクロック誤差を用いて第1あるいは第2の期間を補正する。
【0020】
この構成によれば、たとえば宅側装置が第2の期間の計測中にMPCPフレームを受信すると、宅側装置はMPCPフレーム中のタイムスタンプに基づいてクロック誤差を算出できる。MPCPフレームを受信するたびにクロック誤差を算出するものと限定されず、たとえばMPCPフレームの2以上の所定の受信回数ごとにクロック誤差を算出してもよい。あるいは、前回のMPCPフレームに基づくクロック誤差の算出から一定以上の時間が経過したときに、宅側装置によって受信されたMPCPフレームに基づいてクロック誤差が算出されてもよい。これにより宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【0021】
好ましくは、局側装置は、局側装置のタイムスタンプを含むMPCPフレームを宅側装置に送信する。タイムスタンプは、局側装置のクロックに基づいて生成される。宅側装置は、局側装置から送られたMPCPフレームを用いてクロック誤差を算出して、算出されたクロック誤差を累積して、累積されたクロック誤差を用いて第1あるいは第2の期間を補正する。
【0022】
この構成によれば、たとえば宅側装置が第2の期間の計測中にMPCPフレームを受信すると、宅側装置はMPCPフレーム中のタイムスタンプに基づいてクロック誤差を算出するとともに、そのクロック誤差を累積する。たとえばクロック誤差の累積値が所定値を超えた場合、あるいは、累積回数が所定の回数を超えた場合に、第1の期間あるいは第2の期間が補正される。MPCPフレームを受信するたびにクロック誤差を算出するものと限定されず、たとえばMPCPフレームの2以上の所定の受信回数ごとにクロック誤差を算出してもよい。これにより宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【0023】
本発明の他の局面に係る光通信システムは、局側装置と、受動的光ネットワークを介して局側装置に接続される宅側装置とを備える。宅側装置は、スリープモードにおいて、宅側装置と局側装置との間の通信を停止する第1の期間と、宅側装置と局側装置との間の通信が可能となる第2の期間とを発生させる。局側装置は、第1および第2の期間を前記宅側装置に指定し、局側装置のクロックを用いて第1および第2の期間を計測する。宅側装置は、局側装置が指定した第1あるいは第2の期間を、MPCPタイムスタンプ量に換算して、MPCPタイムスタンプを用いて、第1あるいは第2の期間を計測する。
【0024】
この構成によれば、第2の期間において、局側装置と宅側装置との間でMPCPタイムスタンプが同期する可能性を高めることができる。したがって局側装置と宅側装置との間で、第1および第2の期間が累積的にずれていくことを防止できる。
【0025】
本発明のさらに他の局面に係る光通信システムの制御方法は、局側装置と、受動的光ネットワークを介して局側装置に接続される宅側装置とを備える光通信システムの制御方法であって、局側装置のクロックを用いて、宅側装置のスリープモードにおいて宅側装置が局側装置との通信を停止する第1の期間と、スリープモードにおいて宅側装置と局側装置との間の通信が可能な状態となる第2の期間とを設定するステップと、局側装置のクロックに対する宅側装置の内部クロックのクロック誤差を算出するステップと、クロック誤差を用いて、設定するステップで設定された第1あるいは第2の期間を補正するステップと、設定するステップで設定された第1あるいは第2の期間を局側装置のクロックを用いて計測し、補正された第1および第2の期間を宅側装置の内部クロックを用いて計測するステップとを備える。
【0026】
この構成によれば、宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【0027】
本発明のさらに他の局面に係る宅側装置は、受動的光ネットワークを介して局側装置に接続される宅側装置であって、スリープモードにおける第1の期間に局側装置と宅側装置との間の通信を停止し、スリープモードにおける第2の期間に局側装置と宅側装置との間の通信を可能にする通信部と、第1および第2の期間を計測するための計測部とを備える。計測部は、局側装置のクロックを用いて局側装置が指定する第1あるいは第2の期間を、局側装置のクロックに対する宅側装置の内部クロックのクロック誤差を用いて補正し、当該補正された第1あるいは第2の期間を、宅側装置の内部クロックを用いて計測する。
【0028】
この構成によれば、宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【発明の効果】
【0029】
本発明によれば、宅側装置のスリープモード中において、期間の認識のずれを局側装置と宅側装置との間で小さくすることができる。
【図面の簡単な説明】
【0030】
【図1】本発明の実施の形態に係るEPONシステム100の概略構成を示すブロック図である。
【図2】本発明の実施の形態に係るOLTの概略構成を示すブロック図である。
【図3】本発明の実施の形態に係るONUの概略構成を示すブロック図である。
【図4】制御フレームの構造を示した図である。
【図5】ONUをスリープモードに移行させるためのOLTの処理とONUの処理とを説明するためのシーケンス図である。
【図6】スリープ状態にあるONUを起床させるためのOLTの処理とONUの処理とを説明するためのシーケンス図である。
【図7】OLTが管理する起床期間およびスリープ期間とONUが計測する起床期間およびスリープ期間との間にずれが生じた場合に生じ得る問題点を説明するための図である。
【図8】実施の形態1に係るクロックの誤差の算出処理を説明するための図である。
【図9】実施の形態1に係るONUがスリープモードの期間を補正するための処理を説明する図である。
【図10】実施の形態1に係る処理を説明するためのフローチャートである。
【図11】実施の形態2に係るONUがスリープモードの期間を補正するための処理を説明する図である。
【図12】ONUがスリープモードの期間を補正するための実施の形態2に係る処理を説明するフローチャートである。
【図13】実施の形態3に係るONUがスリープモードの期間を補正するための処理を説明する図である。
【図14】ONUがスリープモードの期間を補正するための実施の形態3に係る処理を説明するフローチャートである。
【図15】実施の形態4に係る期間の指定方法の一つの実現例を説明するための図である。
【図16】実施の形態4に係る期間の指定方法の他の実現例を説明するための図である。
【発明を実施するための形態】
【0031】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【0032】
図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」と表記する。
【0033】
OLT101は、たとえば電話局に設置される。ONU102−1〜102−nの各々は、たとえばネットワークアクセスサービスの加入者の宅内に設置される。
【0034】
ONU102−1〜102−nの各々にはユーザ端末111が接続される。各ONU102に接続されるユーザ端末111の数は特に限定されるものではない。たとえば1つのONUに複数のユーザ端末が接続されていてもよい。ユーザ端末111は、たとえばパーソナルコンピュータであるが、これに限定されるものではない。
【0035】
PON回線104は光ファイバである。OLT101から送信された光信号は、PON回線104を通り、スプリッタ105によってONU102−1〜102−nへと分岐される。一方、ONU102−1〜102−nから送信された光信号は、スプリッタ105によって集束されるとともにPON回線104を通ってOLT101に送られる。スプリッタ105は、外部からの電源供給を特に必要とすることなく、入力された信号から受動的に信号を分岐または多重する。
【0036】
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は、そのフレームを破棄する。
【0037】
一方、各ONUから送信される光信号はスプリッタ105において合流する。このため、各ONUからの信号(上り信号)がスプリッタ105で合流した後に衝突しないための制御が必要となる。
【0038】
OLT101は、ONU102−1〜102−nから送信された制御フレーム(レポート)に基づいて、ONU102−1〜102−n内のバッファに蓄積されているデータの送信開始時刻および送信許可量を演算する。次に、OLT101は、指示信号を挿入した制御フレーム(グラント)を、PON回線104およびスプリッタ105を介してONU102−1〜102−nに送信する。
【0039】
たとえば、ONU102−1は、宅側ネットワーク110を介してユーザ端末111から上り情報フレームを受信する。ONU102−1は、上り情報フレームをバッファに一旦蓄積する。ONU102−1は、グラントによって指定された時刻に、自己のバッファ内のデータの長さをレポートでOLT101に通知する。ONU102−1は、指示信号が挿入されたグラントをOLT101から受信するとともに、その指示信号に基づいて、自己のバッファ内のデータをレポートとともにOLT101に送信する。
【0040】
ONU102−1〜ONU102−nの各々は、スリープ機能を有する。スリープ機能は、ONUとOLTとの間のトラフィックがない場合に、そのONUを構成するモジュールの一部を省電力状態に設定する機能である。スリープ機能によって、ONUの状態(モード)は、通常モードからスリープモードに移行する。設定されたスリープモードの期間(スリープ期間と呼ぶ)が経過した後に、ONUの状態は、スリープモードから通常モードに戻る。本発明の実施の形態では、ONU102はOLTからのスリープ指示によりスリープモードに設定される。
【0041】
図2は、本発明の実施の形態に係るOLTの概略構成を示すブロック図である。図2を参照して、OLT101は、受信部11と、バッファメモリ12と、送信部14とを含む。受信部11と、バッファメモリ12と、送信部14とは下り方向の通信(OLT101からONU102への通信)に用いられる。
【0042】
受信部11は、上位ネットワーク109から受信した下りデータフレームをバッファメモリ12に転送する。バッファメモリ12は、受信部11から送られた下りデータフレームを蓄積する。送信部14は、データフレームをPON回線104へ送信する。
【0043】
OLT101は、さらに、受信部15と、フレーム再生部17と、バッファメモリ18と、送信部19とを含む。受信部15と、フレーム再生部17と、バッファメモリ18と、送信部19とは上り方向の通信(ONU102からOLT101への通信)に用いられる。
【0044】
受信部15は、ONU102から送信されたデータフレームまたは制御フレームを、PON回線104を介して受信する。フレーム再生部17は、フレームのヘッダ部分を読取り、それによって、OLT101により受信されたフレームが、データフレーム、または、レポートフレーム等の制御フレームのいずれであるかを判定する。データフレームはフレーム再生部17からバッファメモリ18へと転送される。一方、制御フレームはフレーム再生部17から通信制御部20へと転送される。
【0045】
OLTとONUとの間では制御プロトコルに基づく制御フレームが伝送される。そのような制御プロトコルの一例として、MPCP(Multi-Point Control Protocol)プロトコルおよびOAM(Operations, Administration and Maintenance)プロトコルを挙げることができる。なお、制御プロトコルはこれらに限定されるものではない。
【0046】
バッファメモリ18は、フレーム再生部17から転送されたデータフレームを蓄積する。送信部19は、バッファメモリ18に蓄積されたデータフレームを上位ネットワーク109に送信する。
【0047】
OLT101は、さらに、通信制御部20と、クロックパルス発生部22と、クロックカウント部24とを備える。
【0048】
通信制御部20は、OLT101とONU102との間の論理リンク(MPCPリンク)を制御する。具体的には、通信制御部20は、ONU102−1〜102−nに対して上り信号を送信するタイミングを教示するためのMPCPフレーム(ゲート)を生成する。通信制御部20で生成されたMPCPフレームは、送信部14に送られる。送信部14は、MPCPフレームをPON回線104に出力する。
【0049】
受信部15は、ONU102−1〜102−nの各々から、各ONUにおける上りデータの蓄積量を通知するためのMPCPフレーム(レポート)を受信する。受信部15で受信されたレポートは、フレーム再生部17によって通信制御部20に送られる。
【0050】
クロックパルス発生部22は、たとえば水晶振動子を含む周知の発振回路によって構成されて、クロックパルスを発生させる。クロックパルスは、通信制御部20の動作の制御に用いられる。クロックカウント部24は、クロックパルスをカウントして、クロックカウント値を通信制御部20に送る。通信制御部20はクロックカウント値に基づいて、MPCPフレームに含まれるタイムスタンプを作成する。以下では、MPCPフレームに含まれるタイムスタンプを「MPCPタイムスタンプ」と呼ぶ。なお、OLT101がクロックパルス発生部を有するものと限定されず、OLT101の外部からOLT101にクロックが供給され、その供給されたクロックをOLT101のクロックとして用いてもよい。以下において、「OLTのクロック」は、OLT101が用いるクロックを意味し、OLT101の内部で生成されるクロックおよびOLT101の外部からOLT101に供給されるクロックの両方を含みうる。
【0051】
OLT101は、さらに、省電力設定部30を備える。省電力設定部30は、ONU102−1〜102−nの各々をスリープモードに設定する。省電力設定部30は、トラフィック監視部31と、省電力判定部32と、スリープ指示生成部33とを含む。
【0052】
トラフィック監視部31は、OLT101とONU102との間のトラフィックを監視することで、OLT101とONU102との間のデータ通信の有無を監視する。トラフィック監視部31は、その監視結果を省電力判定部32へと送る。たとえばデータフレームの宛先アドレスおよび送信元アドレスからOLT101とONU102との間のデータ通信の有無を判断することができる。
【0053】
省電力判定部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の上記の動作と同様であるので以後の詳細な説明は繰り返さない。
【0054】
省電力判定部32の判定方法は上記方法に限定されるものではない。たとえば省電力判定部32は、ONU102−1〜102−nの各々のデータ通信の実績(たとえば1日の間でのデータ通信の実績)を予め記憶するとともに、その実績に基づいて、各ONU102−1の状態をスリープモードに設定するかどうかを判定してもよい。
【0055】
判定部32−1〜32−nの各々の判定結果は、スリープ指示生成部33に送られる。スリープ指示生成部33は、各判定部32−1〜32−nの判定結果に基づいて、対応するONUの状態をスリープモードに設定するためのスリープ指示を生成する。スリープ指示生成部33は、そのスリープ指示を送信部14に送信する。送信部14は、スリープ指示をPON回線104に出力する。スリープ指示を受けたONUは、自身のモードをスリープモードに設定する。
【0056】
また、あるONU102がスリープモードにある途中で、そのONU102を通常モードに復帰させる必要が発生した場合、通信制御部20は、スリープ指示生成部33に、起床指示を生成するよう指示する。スリープ指示生成部33は、通信制御部20からの指示により起床指示を生成する。この起床指示はスリープモードを中止するための指示である。通信制御部20が起床指示を生成してもよい。
【0057】
図3は、本発明の実施の形態に係るONUの概略構成を示すブロック図である。図3を参照して、ONU102は、受信部41と、バッファメモリ42と、送信部44とを含む。受信部41と、バッファメモリ42と、送信部44とは上り方向の通信に用いられる。
【0058】
受信部41は、宅側ネットワーク110から受信した上りデータフレームをバッファメモリ42に転送する。バッファメモリ42は、受信部41から送られた上りデータフレームを蓄積する。送信部44は、データフレームをPON回線104へ送信する。
【0059】
ONU102は、さらに、受信部45と、フレーム再生部47と、バッファメモリ48と、送信部49とを含む。受信部45と、フレーム再生部47と、バッファメモリ48と、送信部49とは下り方向の通信に用いられる。
【0060】
受信部45は、OLT101から送信されたデータフレームまたは制御フレームを、PON回線104を介して受信する。受信部45は、フレームのヘッダ部分を読取る。フレームに含まれるLLIDがONU102のLLIDに一致する場合には、受信部45はそのフレームを受信し、そうでない場合には、受信部45は、そのフレームを破棄する。
【0061】
フレーム再生部47は、フレームのヘッダ部分を読取り、それによって、ONU102により受信されたフレームが、データフレームまたは制御フレームのいずれであるかを判定する。データフレームはフレーム再生部47からバッファメモリ48へと転送される。一方、制御フレームはフレーム再生部47から通信制御部50へと転送される。
【0062】
バッファメモリ48は、フレーム再生部47から転送されたデータフレームを蓄積する。送信部49は、バッファメモリ48に蓄積されたデータフレームを宅側ネットワーク110に送信する。
【0063】
ONU102は、さらに、通信制御部50と、クロックパルス発生部52と、クロックカウント部54とを備える。
【0064】
通信制御部50は、OLT101から送られたMPCPフレーム(たとえばMPCPゲートフレーム)を受けて、そのフレームへの応答のためのMPCPフレーム(たとえばレポートフレーム)を出力する。データフレームと同様に、通信制御部50で作成されたMPCPフレームは送信部44に送られる。送信部44は、MPCPフレームをPON回線104に出力する。
【0065】
クロックパルス発生部52は、たとえば水晶振動子を含む周知の発振回路によって構成されて、クロックパルスを発生させる。クロックパルスは、たとえば通信制御部50の動作の制御に用いられる。クロックカウント部54は、クロックパルスをカウントして、クロックカウント値を通信制御部50に送る。通信制御部50はクロックカウント値に基づいて、MPCPフレームに含まれるタイムスタンプを作成する。
【0066】
OLT101とONU102との間でMPCPプロトコルに準じた制御を実現するために、ONU102で生成されたMPCPタイムスタンプがOLT101で生成されたMPCPタイムスタンプに同期することが要求される。このため、通信制御部50は、OLT101から送られたMPCPフレームに含まれるタイムスタンプを抽出する。通信制御部50は、その抽出されたタイムスタンプを用いてクロックカウント部54のカウント値を補正する。さらに、通信制御部50は、後述するスリープモードの期間Ta,Tbを計測する。
【0067】
ONU102は、さらに、省電力設定部60を備える。省電力設定部60は、OLT101からのスリープ指示によって、ONU102をスリープモードに設定する。省電力設定部60は、スリープモード設定部62と、スリープ指示受信部63とを含む。
【0068】
OLT101からのスリープ指示は、受信部45により受信される。スリープ指示は、フレーム再生部47によって、省電力設定部60に送られる。スリープ指示受信部63は、スリープ指示を受信するとともに、そのスリープ指示をスリープモード設定部62に送信する。スリープモード設定部62は、スリープ指示受信部63からスリープ指示を受けることによって、ONU102をスリープモードに設定する。
【0069】
スリープ期間の長さは、スリープ指示によって設定される。スリープモードにおいて、スリープモード設定部62は、基本的に送信部44および受信部45を停止させる。しかしながら本実施の形態では、送信部44および受信部45がスリープモードにおいて一時的に復帰して、ONU102はOLT101と通信可能な状態になる。
【0070】
なお、スリープ指示受信部63が受信部45およびフレーム再生部47を介してOLT101からの起床指示を受信した場合には、スリープモード設定部62は、ONU102のスリープモードを中止するとともにONU102を通常モードに復帰させる。
【0071】
図2および図3に示された機能ブロックは、たとえばCPU、メモリ等のハードウェアあるいはそのCPUで実行されるソフトウェアによって実現可能である。したがって各機能ブロックの実現方法は特に限定されるものではない。また、複数の機能ブロックを1つのブロックに統合してもよい。たとえばOLT101,ONU102の各々において、クロックカウント部が通信制御部に組み込まれてもよい。
【0072】
図4は、制御フレームの構造を示した図である。図4を参照して、制御フレームは、宛先アドレス、送信元アドレス、レングス/タイプ(Length/Type)、オペコード(Opcode)、タイムスタンプ、データ、パディング、およびFCSから構成される。
【0073】
オペコード(Opcode)のフィールドには、制御フレームの種類を識別するためのコードが挿入される。MPCPでは、ディスカバリゲート(Discovery Gate)、レジスタリクエスト(Register Request)、レジスタ(Register)、ゲート(ノーマルゲートとも呼ばれる;Gate)、レジスタACK(Register Ack)、レポート(Report)などのメッセージを用いて双方向の通信が確立される。これらのメッセージはオペコードによって判別され,それぞれのメッセージではデータフィールドの内容が異なる。
【0074】
また、スリープ指示の場合には、たとえばレングス/タイプのフィールドに、スリープモードを示すコードが挿入される。さらに、データのフィールドに、たとえばスリープモードの期間に関する情報が含まれる。たとえばスリープモードの開始および終了を示すクロックカウント値(あるいはタイムスタンプ)がデータのフィールドに含められる。
【0075】
また、起床指示の場合には、たとえばレングス/タイプのフィールドに、起床指示を示すコードが挿入される。
【0076】
また、ONU102がスリープ指示あるいは起床指示を承諾する場合、ONU102は、その承諾を示す制御フレームをOLT101へと送信する。この制御フレームのレングス/タイプのフィールドには、スリープ指示に対する承諾を示すコード、あるいは起床指示に対する承諾を示すコードが挿入される。
【0077】
各ONUの上り信号を時分割多重するには、OLTと各ONUとの間でタイムスタンプが同期している必要がある。この実施形態では、MPCPフレームに含まれるタイムスタンプを用いてOLTとONUとの間の同期を維持する方式が採用される。すなわちOLTは、自身の現在のクロックカウント値をタイムスタンプとしてMPCPフレームに含め、次に、そのフレームをONUに送信する。ONUはそのタイムスタンプに基づいて、自身が生成するMPCPフレームのタイムスタンプを補正する。
【0078】
図5は、ONUをスリープモードに移行させるためのOLTの処理とONUの処理とを説明するためのシーケンス図である。図5を参照して、ONU102がスリープモードに移行する前には、ONU102の状態は通常モードである。OLT101はONU102のトラフィック状況に基づいて、当該ONU102をスリープモードへと移行させると判断する。たとえばOLT101とONU102との間のトラフィックが発生していない場合には、当該ONU102がスリープモードへと移行される。
【0079】
時刻t1において、OLT101はONU102にスリープ指示を送信して、ONU102はそのスリープ指示を受ける。ONU102がスリープ指示に承諾する場合、ONU102は、その承諾を示す制御フレームをOLT101へ送信する。承諾を示す制御フレームは、たとえば図3に示される通信制御部50によって生成される。
【0080】
次に、ONU102がスリープモードに移行する。スリープモードでは、起床期間Taと、スリープ期間Tbとが発生する。起床期間Taは、ONU102がOLT101と通信可能な状態になる期間である。たとえば、起床期間Taは、ONU102が、スリープモードから通常動作モードに戻る必要があるかどうかを確認するための期間として用いられる。スリープ期間Tbは、ONU102の通信モジュール(送信部44および受信部45)が省電力状態に設定される期間である。スリープ期間Tbには、ONU102とOLT101との間の通信が停止する。本明細書では、起床期間TaにおけるONU102の状態を「起床状態」と呼び、スリープ期間TbにおけるONU102の状態を「スリープ状態」と呼ぶ。
【0081】
この実施の形態では、ONU102がスリープモードである間に、期間Ta,Tbが交互に繰り返される。ただし、期間Ta,Tbが時間軸上で稠密に並べられていなくてもよい。すなわち、期間Tbと期間Taとの間、あるいは期間Taと期間Tbとの間に、追加的な期間が挿入されていてもよい。この追加的な期間におけるONU102の状態あるいは処理は、特に限定されるものではない。
【0082】
この実施の形態では、OLT101が期間Ta,Tbを設定するとともにONU102に、その設定された期間Ta,Tbを指定する。たとえばOLT101は、期間Ta,Tbの長さ、期間Ta,Tbの各々の開始および終了を示すクロックカウント値を設定して、それらをONU102に通知する。このような形態において、ONU102は、OLT101により指定されたクロックカウント値に従って起床期間Taおよびスリープ期間Tbを発生させる。
【0083】
期間Ta,Tbが稠密に並べられる場合には、期間Taの終了と期間Tbの開始とが一致し、期間Taの開始と期間Tbの終了とが一致する。したがって期間Taの開始および終了を示す情報のみ、あるいは、期間Tbの開始および終了を示す情報のみがスリープ指示に含められてもよい。これらの情報は、たとえばスリープ指示に対応する制御フレームのデータフレームに含められる(図4参照)。
【0084】
期間Taの開始および終了を示す情報は、期間Taの開始および終了を示すクロックカウント値あるいはタイムスタンプ値でもよい。あるいは、期間Taの開始を示すクロックカウント値と、期間Taの長さに対応するクロックカウントの増分値でもよい。期間Tbの開始および終了を示す情報も同様である。
【0085】
この実施の形態では、OLT101がONU102の起床を指示するまで、あるいはONU102が自発的に起床するまで、スリープ指示の制御フレームがOLT101とONU102との間で伝送されない。一方、OLT101はONU102のモード(通常モードまたはスリープモード)に関係なく、MPCPフレームを繰り返しONU102に送信する。したがって期間Taの間にONU102がMPCPフレームを受信した場合には、ONU102は当該MPCPフレームに含まれるタイムスタンプに従って、ONU102の内部クロックに基づいて生成されるタイムスタンプを補正できる。
【0086】
スリープ状態にあるONU102を起床するためのイベントが発生した場合、OLT101はONU102を起床させる。このようなイベントは、たとえばOLT101からONU102に送信すべきデータがOLT101に到着した場合に発生する。
【0087】
図6は、スリープ状態にあるONUを起床させるためのOLTの処理とONUの処理とを説明するためのシーケンス図である。図6を参照して、期間Tbの間のある時刻t2において、ONU102を起床させるためのイベントが発生する。イベントが発生したときには、ONU102はスリープ状態にある。したがって、OLT101は、OLT101は期間Taが開始されるまで待機する。OLT101は、OLT101のクロックに従って時間を計測することで期間Taの開始を把握する。
【0088】
上記のように、OLT101は期間Ta,TbをONU102に指定する。理想的には、OLT101のクロックとONU102の内部クロックとが常に同期する。したがってONU102が計測する期間Ta,TbはOLT101が計測(管理)する期間Ta,Tbとそれぞれ同期する。
【0089】
期間Ta中のある時刻t3において、OLT101はONU102に、ONU102の起床を指示するための制御フレーム(起床指示)を送信する。ONU102がこの制御フレームを受信すると、ONU102はスリープモードから通常状態(通常モード)へと移行する。ONU102が通常モードに戻った後には、OLT101とONU102との間でデータの送受信が可能になる。
【0090】
上記のように、本実施の形態に係る省電力方式では、OLT101が管理および計測する期間Ta,Tbと、ONU102が計測する期間Ta,Tbとが互いに同期することが要求される。しかし、スリープモードでは、ONU102の通信機能は間欠的に復帰するのみである。このためONU102は、期間Ta,TbをONU102の内部クロックを用いて計測する。
【0091】
これに対して、一般に、イーサネット(登録商標)では、±100ppm以内のクロックの誤差が許容されている。したがってONU102とOLT101とが非同期で動作する場合には、OLT101が管理する(計測する)期間Ta,Tbと、ONU102が計測する期間Ta,Tbとが互いにずれる可能性が生じる。たとえばスリープモードの長さを10秒と仮定すると、±1(msec)の誤差、すなわち最大2msecの誤差が発生しうる。
【0092】
図7は、OLTが管理する起床期間およびスリープ期間とONUが計測する起床期間およびスリープ期間との間にずれが生じた場合に生じ得る問題点を説明するための図である。図7を参照して、期間Tb中の時刻t4において、ONU102を起床させるためのイベントが発生する。OLT101は、期間Taが開始されるまで、ONU102の起床の指示を待機する。
【0093】
OLT101は、OLT101のクロックに従って、期間Ta,Tbを管理する。一方、ONU102は、ONU102の内部クロックに従って期間Ta,Tbを計測する。OLT101が把握する期間Taにおいて、OLT101はONU102に起床指示を送る。しかし、ONU102にとっては、起床指示はスリープ期間Tb中に送られる。したがってONU102はOLT101から送られた起床指示を受信することができない。ONU102が起床指示を受信しないため、承諾を示す制御フレームもONU102からOLT101に送信されない。
【0094】
承諾を示す制御フレームを受信できないため、OLT101は、次回に生じる期間Taにおいて、起床指示をONU102に再送する(時刻t5)。しかし、ONU102が計測する期間Ta,TbがOLT102が管理(計測する)期間Ta,Tbに対してずれている。このため、ONU102にとっては、時刻t5はスリープ期間Tbの間の時刻となる。したがって、ONU102は、OLT101から再度送られた起床指示も受信できない。したがって、たとえばスリープ指示によって最初に指定された期間が経過するまでスリープモードが継続される。この場合には、ONU102とOLT101との間の通信の再開が遅れることが懸念される。
【0095】
本発明の実施の形態によれば、ONU102は、OLT101のクロックに対するONU102の内部クロックの誤差を用いてOLT101が設定した期間Taあるいは期間Tbを補正する。期間Ta,期間Tbのいずれか一方のみが補正されてもよく、両方が補正されてもよい。そしてONU102は、その補正された期間Taあるいは補正された期間TbをONU102の内部クロックを用いて計測する。これにより、ONU102のスリープモード中の期間Ta,Tbについて、OLT101とONU102との間での認識のずれを小さくすることができる。より好ましくは、OLT101が管理する期間Ta,TbとONU102が計測する期間Ta,Tbとを互いに同期させることができる。
【0096】
以下において、図面を参照しつつ、各実施の形態について詳細に説明する。
[実施の形態1]
図8は、実施の形態1に係るクロックの誤差の算出処理を説明するための図である。図8を参照して、実施の形態1では、OLT101によって生成されるMPCPタイムスタンプの進み具合と、ONU102の内部クロックの進み具合とから、OLT101のクロックに対するONU102の内部クロックの誤差が算出される。
【0097】
実施の形態1では、任意の時点を基準として時間の計測が開始される。具体的には、基準の時点から任意の期間が経過するまでのMPCPタイムスタンプの増分値およびONU102の内部クロックの増分値が求められる。時間計測のための期間の長さは特定の長さである必要はない。この期間の長さが、MPCPタイムスタンプではtと測定され、ONU102の内部クロックでは、Tと測定される。なおMPCPタイムスタンプはOLT101のクロックに同期している。
【0098】
OLTのクロック周波数とONUのクロック周波数との比率を(ONUのクロック周波数)/(OLTのクロック周波数)と定義する。この比率はT/tと表わされる。ONU102は、MPCPタイムスタンプの増分値およびONU102の内部クロックの増分値を用いて比率(T/t)を算出する。
【0099】
ONU102は、OLT101によって指定された期間Taあるいは期間Tbを、クロック誤差、すなわち比率(T/t)を用いて補正する。なお、OLT101が比率(T/t)を算出してもよい。また、期間Ta,期間Tbのいずれか一方のみが補正されてもよく、両方が補正されてもよい。以下の説明では、期間Ta,Tbの両方が補正されるものとする。
【0100】
図9は、実施の形態1に係るONUがスリープモードの期間を補正するための処理を説明する図である。図9を参照して、MPCPタイムスタンプにより計測される期間がTa,Tbである。OLT101から指定された期間Ta,TbをONU102が内部クロックを用いて計測した場合、期間Ta1,Tb1がそれぞれ計測される。図9に示した例ではTa1<Taであり、Tb1<Tbである。ただしTa1>Taであり、Tb1>Tbの場合も以下の説明に従う補正が行なわれる。
【0101】
ONU102は、上記のクロック誤差を用いて期間Ta1を補正する。この結果、ONU102で計測される期間Ta1が(Ta1+T1)に補正される。T1=Ta×(T/t)である。T/tは(ONUのクロック周波数)/(OLTのクロック周波数)である。このような補正によって、期間(Ta1+T1)の長さが期間Taの長さに等しくなる。
【0102】
同様にONU102は、クロック誤差を用いて期間Tb1を補正する。この結果、期間Tb1の長さが(Tb1+T2)に補正される。T2=Tb×T/tである。期間Tb1の補正によって、期間(Tb1+T1)の長さが期間Tbの長さに等しくなる。
【0103】
ONU102は補正された期間(Ta1+T1)を計測する。期間(Ta1+T1)の長さは期間Taと等しい。したがってOLT101が計測する期間TaとONU102が計測する期間(補正されたTa、すなわちTa1+T1)とが同期する。すなわちOLT101とONU102との間で期間Taの認識が一致する。
【0104】
次にONU102は補正された期間(Tb1+T2)を計測する。期間Ta1の補正によって、ONU102が期間(Ta1+T1)の計測を終了するタイミングと、OLT101が期間Taの計測を終了するタイミングとが同期している。
【0105】
期間Taの計測を終了するタイミングは期間Tbの計測を開始するタイミングと等価である。したがって期間Tbの計測を開始するタイミングがOLT101とONU102との間で同期する。
【0106】
期間(Tb1+T2)の長さは期間Tbと等しい。したがって、期間Tbの計測を終了するタイミングがOLT101とONU102との間で同期する。期間Tbの計測を終了するタイミングは、期間Taの計測を開始するタイミングと等価である。したがって期間Taの計測を開始するタイミングがOLT101とONU102との間で同期する。スリープモードにおいて期間Ta,Tbが交互に繰り返し生じる場合に、上記の補正によって、各期間の開始および終了をOLT101とONU102との間で互いに同期させることができる。
【0107】
図9に示した処理について、具体例を示す。なお、この具体例は本発明を理解するためのものであり、本発明を限定することを意図していない。
【0108】
たとえばTa=10ミリ秒、Tb=100ミリ秒とする。さらに、T/tが1.001すなわち100ppmと測定されたものとする。ONU102は、OLTによって指定された期間Taを10×1.001=10.01ミリ秒に補正する。同じくONU102はOLTによって指定された期間Tb=100×1.001=100.1ミリ秒に補正する。ONU102は、ONU102の内部クロックに従って、10.01ミリ秒および100.1ミリ秒を計測する。
【0109】
MPCPタイムスタンプとONU102の内部クロックと間のクロック誤差を求める処理は、任意のタイミングで実行可能である。しかしながらスリープ期間中には、ONU102により作成されたMPCPタイムスタンプの値がOLT101により作成されたMPCPタイムスタンプの値と一致しない可能性がある。このため、クロック誤差を評価するための時間の計測、および、クロック誤差の算出はONU102のスリープ期間以外の期間、すなわち、非スリープモード期間に行なわれることが好ましい。非スリープモード期間とは、たとえば「通常モード」の期間である。上記のように通常モードでは、ONU102はOLT101からのMPCPフレームを受信して、ONU102のMPCPタイムスタンプ値をOLT101のMPCPタイムスタンプ値と同期させる。したがって、通常モードではクロック誤差を正確に算出できる。ただし、通常モードに加えて別の非スリープモードが存在する場合には、当該モードの期間においてクロック誤差が算出されてもよい。
【0110】
図10は、実施の形態1に係る処理を説明するためのフローチャートである。図10を参照して、ステップS11において、ONU102は、MPCPタイムスタンプに対するONU102の内部クロックの誤差を測定する。上述のように、ONU102は、ある期間に対応するMPCPタイムクロックの増分値および、その期間に対応するONU102の内部クロックの増分値に基づいて、クロック誤差(T/t)を測定する。
【0111】
ステップS12において、ONU102は、OLT101によって指定された期間Taを、クロック誤差に基づいて補正する。ステップS13において、ONU102は、OLT101によって指定された期間Tbを、クロック誤差に基づいて補正する。
【0112】
この実施の形態では、ONU102が期間Ta,Tbを測定する前にステップS12,S13の処理が実行される。たとえば通常モードにおいてステップS12,S13の処理が実行される。ステップS12,S13の処理の順序は限定されない。ステップS13の処理がステップS12の処理よりも先に実行されてもよい。
【0113】
ステップS14において、ONU102はスリープモードの期間(期間Ta,Tb)を計測する。ステップS14は、ステップS14A,S14Bを含む。ステップS14AにおいてONU102は、補正された期間Ta(図9に示す(Ta1+T1))を測定する。ステップS14BにおいてONU102は、補正された期間Tb(図9に示す(Tb1+T2))を測定する。
【0114】
この実施の形態では、ステップS14A,S14Bの処理は交互に繰り返し実行される。期間Taの間にONU102がOLT101から起床指示を受けた場合にはステップS14の処理が終了する。あるいはOLT101からのスリープ指示によって指示されたスリープ期間が終了するとステップS14の処理が終了する。
【0115】
以上のように実施の形態1では、ONU102は、期間Ta,Tbの計測を開始する前に、クロック誤差を用いて、OLT101により設定された期間Ta,Tbを補正する。期間Ta,Tbは、MPCPタイムスタンプ、すなわちOLT101のクロックに基づいて設定されている。スリープモードでは、ONU102はONU102の内部クロックに基づいて期間Ta、Tbを計測する。
【0116】
OLT101とONU102との間のクロック誤差により、OLT101によって設定された期間(OLT101が計測する期間)とONU102が計測した期間とがずれる可能性がある。
【0117】
実施の形態1ではONU102がクロック誤差に基づいて、OLT101によって設定された期間を計測する前に、その期間を予め補正する。一形態では、非スリープモードである通常モードにおいて、期間Ta,Tbのいずれか一方、あるいは両方が補正される。ONU102が通常モード以外の非スリープモードを有する場合、そのモードにおいて期間Ta,Tbのいずれか一方、あるいは両方が補正されてもよい。これにより、スリープモードにおいてOLT101とONU102との間で期間Ta,Tbを同期させることができる。
【0118】
さらに、期間Taの補正は期間Taの計測前であればよく、たとえば期間Tbの計測中に補正してもよい。同じく、期間Tbの補正は期間Tbの計測前であればよく、たとえば期間Taの計測中あるいは、さらに、たとえば、期間Taと期間Tbとの間に別の期間が挿入されながら期間Ta,Tbが繰り返される場合、期間Taの補正を、それより前の期間において補正すればよく、当該期間Taの直前の期間、あるいは、前回の期間Taの直後の期間(期間Tbの直前の期間)に補正してもよい。期間Tbの補正についても同様に、当該期間Tbの直前の期間、あるいは、前回の期間Tbの直後の期間(期間Taの直前の期間)に補正してもよい。
【0119】
[実施の形態2]
実施の形態2では、ONUは、起床期間およびスリープ期間の計測中に、クロック誤差を用いて、それらの期間を補正する。
【0120】
図11は、実施の形態2に係るONUがスリープモードの期間を補正するための処理を説明する図である。図11を参照して、ONU102はOLT101からMPCPフレームを受信するごとに、ONU102で生成されるMPCPタイムスタンプを補正する。
【0121】
OLT101はONU102に、タイムスタンプ値Xを含むMPCPフレームを送信する。ONU102がMPCPフレームを受信したときに、ONU102で生成されたMPCPタイムスタンプの値はYである。
【0122】
ONU102は、内部クロックに従って期間Taを計測するとともにMPCPタイムスタンプを生成する。スリープモードではONU102の内部クロックがOLT101のクロックと同期しないことが起こり得る。したがって、OLT101のMPCPタイムスタンプ値XとONU102のMPCPタイムスタンプ値Yとが互いに異なり得る。図11に示されるように、ONU102のMPCPタイムスタンプとOLT101のタイムスタンプとの差は(X−Y)である。MPCPタイムスタンプの差(X−Y)は、OLT101とONU102との間でのクロック誤差を表している。
【0123】
ONU102は、MPCPタイムスタンプの値をOLTのMPCPタイムスタンプの値へと補正する。したがってONUのMPCPタイムスタンプの値がYからXへと補正される。さらにONU102は、タイムスタンプ(X−Y)に対応する期間を用いて、期間Taを補正する。たとえば図11に示されるように、(X−Y)が正であれば、ONU102で計測する期間Taの終了が(X−Y)だけ長くなる。なお(X−Y)が負である場合には、ONU102で計測する期間Taの終了が(X−Y)だけ短くなる。このようにONU102で計測する期間を補正することで、OLT101とONU102との間で期間Taの終了を同期させることができる。
【0124】
実施の形態1と同様に、実施の形態2では、期間Taの終了と期間Tbの開始とが実質的に同じである。したがって、期間Tbの開始をOLT101とONU102との間で同期させることができる。すなわち、期間Tbの開始がクロック誤差(=X−Y)を用いて補正される。さらに、ONU102は、このクロック誤差(=X−Y)を用いて期間Tbの終了のタイミングを補正する。すなわちONU102は、期間Tbの計測中に、クロック誤差を用いて期間Tbを補正する。
【0125】
期間Tbの補正によって、期間Tbの終了をOLT101とONU102との間で同期させることができる。さらに、スリープモードにおいて期間Ta,Tbが交互に繰り返し生じる場合に、上記の補正によって、各期間の開始および終了をOLT101とONU102との間で互いに同期させることができる。
【0126】
図12は、ONUがスリープモードの期間を補正するための実施の形態2に係る処理を説明するフローチャートである。図12を参照して、ステップS21において、OLT101はMPCPフレームをONU102に送信する。ステップS22において、ONU102はOLT101からMPCPフレームを受信する。ステップS23においてONU102は、OLT101から送られたMPCPフレームに含まれるタイムスタンプを用いて、ONU102のMPCPタイムスタンプを補正する。ステップS24において、ONU102は、MPCPタイムスタンプの補正値(上述の(X−Y))を用いて期間Ta,Tbを補正する。
【0127】
以上のように実施の形態2によれば、ONU102は、OLT101の生成したMPCPフレームを受けるごとに、OLT101の生成したMPCPタイムスタンプとONU102の生成したMPCPタイムスタンプとの差を算出する。ONU102は、そのMPCPタイムスタンプの差をクロック誤差として用いることで、OLT101から指定された期間Ta,Tbを補正する。これによって、OLT101とONU102との間で期間の認識を一致させることができる。
【0128】
なお、ONU102がMPCPフレームを受信するごとにクロック誤差が算出されるものと限定されない。たとえばONU102によるMPCPフレームの2以上の所定の受信回数ごとにONU102はクロック誤差を算出してもよい。たとえばMPCPフレームの2回の受信に対して、1回のクロック誤差の算出が行なわれてもよい。このように、クロック誤差の算出頻度を、ONU102のMPCPフレームの受信頻度より小さくすることもできる。
【0129】
あるいは、前回のMPCPフレームに基づくクロック誤差の算出から一定以上の時間が経過したときに、ONU102により受信されたMPCPフレームに基づいてクロック誤差が算出されてもよい。これらの場合にも、ONU102は算出したクロック誤差に基づいて、実施の形態2に係るスリープモードの期間の補正を実現できる。
【0130】
また、実施の形態1と同様に、ONU102は、期間Ta,Tbの両方を補正するものと限定されず、期間Ta,Tbのいずれか一方のみを補正してもよい。すなわち、この形態では、ONU102は、期間Taの計測中に期間Taを補正する、または、期間Tbの計測中に期間Tbを補正する。このような補正によってもスリープモードの期間の補正を実現できる。
【0131】
[実施の形態3]
実施の形態3では、実施の形態2に係る処理と同様にONUはMPCPタイムスタンプの差(クロック誤差)を用いてスリープモードの期間を補正する。実施の形態3では、ONUはクロック誤差を累積し、その累積値に基づいて、OLTによって設定された期間を補正する。
【0132】
図13は、実施の形態3に係るONUがスリープモードの期間を補正するための処理を説明する図である。図13を参照して、ONU102はOLT101からMPCPフレームを受信するごとにMPCPタイムスタンプを補正する。このような補正は実施の形態2に係る補正と実質的に同じであるため、詳細な説明は以後繰り返さない。
【0133】
OLT101は、期間Taの間に、タイムスタンプ値X1を含むMPCPフレームをONU102に送信する。同じ時刻にONU102により生成されたMPCPタイムスタンプ値はY1である。ONU102は、MPCPフレームをOLT101から受信するとともに、MPCPタイムスタンプの差(X1−Y1)を算出する。実施の形態2と同じく、MPCPタイムスタンプの差は、OLT101のクロックに対するONU102の内部クロックのクロック誤差に対応する。
【0134】
次に発生する期間Taにおいて、OLT101は、タイムスタンプ値X2を含むMPCPフレームを生成して、そのMPCPフレームをONU102に送信する。同じ時刻にONU102により生成されたMPCPタイムスタンプ値はY2である。ONU102は、MPCPタイムスタンプの差(X2−Y2)を算出するとともに、タイムスタンプの差の累積値(=(X1−Y1)+(X2−Y2))を算出する。
【0135】
以後も同様に、ONU102は、OLT101からMPCPフレームを受信するごとにMPCPタイムスタンプの差を算出するとともに、その差を累積する。MPCPタイムスタンプの差の累積値Zは以下の式に従って表わされる。
【0136】
Z=(X1−Y1)+(X2−Y2)+・・・+(Xn−Yn)
たとえば累積値Zが予め定められた値を超える場合に、ONU102は、期間Ta,Tbを補正する。この補正によって、OLT101とONU102との間で期間Ta,Tbを同期させることができる。
【0137】
図14は、ONUがスリープモードの期間を補正するための実施の形態3に係る処理を説明するフローチャートである。図14を参照して、ステップS31において、OLT101はMPCPフレームをONU102に送信する。ステップS32において、ONU102はOLT101からMPCPフレームを受信する。ステップS33においてONU102は、OLT101から送られたMPCPフレームに含まれるタイムスタンプを用いて、ONU102のMPCPタイムスタンプを補正する。
【0138】
ステップS34において、ONU102は、MPCPタイムスタンプの差分を累積する。ステップS35において、ONU102は、MPCPタイムスタンプの差分の累積値Zが所定値よりも大きいかどうかを判定する。所定値は、PONシステムの運用の面から適切に設定されうる。一形態では、所定値は、期間Taの長さの50%である。
【0139】
累積値Zが所定値以下の場合(ステップS35においてNO)、処理はステップS31に戻される。したがって累積値Zが所定値を上回るまで、ステップS31〜S34の処理が繰り返される。一方、累積値Zが所定値を上回る場合(ステップS35においてYES)、ONU102は、累積値Zを用いて期間Ta,Tbを補正する。
【0140】
以上のように実施の形態3によれば、ONU102は、OLT101の生成したMPCPタイムスタンプと、ONU102の生成したMPCPタイムスタンプとの差を算出する。ONU102は、その差を累積する。累積値Zが所定値を上回る場合に、ONU102は、期間Ta,Tbを補正する。これによって、OLT101とONU102との間で期間Ta,Tbを同期させることが可能になるので、OLT101とONU102との間で期間の認識を一致させることができる。
【0141】
なお、上記の形態では、期間Ta,Tbを補正するための条件として、累積値Zが所定値を上回るという条件を示した。しかし期間Ta,Tbを補正するための条件はこれに限定されるものではない。たとえばクロック誤差を累積する回数が所定の回数(2以上であれば特に限定されない)に達した場合に、累積値Zを用いて期間Ta,Tbを補正してもよい。
【0142】
また、実施の形態2と同様に、ONU102がMPCPフレームを受信するごとにクロック誤差が算出されるものと限定されない。したがって、たとえばONU102によるMPCPフレームの2以上の所定の受信回数ごとにONU102はクロック誤差を算出してもよい。このように、クロック誤差の算出頻度を、ONU102のMPCPフレームの受信頻度より小さくすることもできる。
【0143】
あるいは、前回のMPCPフレームに基づくクロック誤差の算出から一定以上の時間が経過したときに、ONU102により受信されたMPCPフレームに基づいてクロック誤差が算出されてもよい。これらの場合にも、ONU102は算出したクロック誤差を累積することで累積値Zを求めることができる。したがって実施の形態3に係るスリープモードの期間の補正を実現できる。
【0144】
また、実施の形態2と同様に、ONU102は、期間Ta,Tbの両方を補正するものと限定されず、期間Ta,Tbのいずれか一方のみを補正してもよい。
【0145】
[実施の形態4]
実施の形態4は、OLTが期間Ta,Tbの長さを指定する方法に関する。実施の形態4に係る期間の指定方法は、実施の形態1〜3のいずれにも適用されうる。
【0146】
図15は、実施の形態4に係る期間の指定方法の一つの実現例を説明するための図である。図15を参照して、OLT101は、期間Ta,Tbの各々の開始および終了に対応するMPCPタイムスタンプをONU102に指定する。MPCPタイムスタンプ値Xkが期間Taの開始を示し、MPCPタイムスタンプ値Xlが期間Taの終了および期間Tbの開始を示す。さらにMPCPタイムスタンプ値Xmが期間Tbの終了を示す。
【0147】
OLT101は、期間Taの開始を指定するためにMPCPタイムスタンプ値XkをONU102に指定する。OLT101は、期間Taの終了および期間Tbの開始を指定するためにMPCPタイムスタンプ値XlをONU102に指定する。さらに、OLT101は、期間Tbの終了を指定するためにMPCPタイムスタンプ値XmをONU102に指定する。ONU102は、OLT101により指定された期間Taを、タイムスタンプ量(Xl−Xk)に換算する。同じくONU102は、OLT101により指定された期間Tbを、タイムスタンプ量(Xm−Xl)に換算する。
【0148】
ONU102は、図5に示される手順に従ってスリープモードに移行する。スリープモードにおいて、ONU102は、ONU102の内部クロックに基づいて生成されたMPCPタイムスタンプを用いて、期間Taあるいは期間Tbを計測する。上記のように、期間Taにおいて、ONU102はOLT101からMPCPフレームを受信することができるため、MPCPタイムスタンプをONU102とOLT101との間で同期させることができる。したがって、OLT101とONU102との間で期間Ta,Tbが累積的にずれることを防ぐことができる。
【0149】
図16は、実施の形態4に係る期間の指定方法の他の実現例を説明するための図である。図16を参照して、OLT101のMPCPタイムスタンプに基づいて、OLT101は期間Ta,Tbの長さをONU102に指定する。具体的には、期間Taは、MPCPタイムスタンプ値Xl,Xkの差分(=Xk−Xl)であり、期間Tbは、MPCPタイムスタンプ値Xm,Xlの差分(=Xl−Xm)である。OLT101はONU102に、(Xk−Xl)および(Xl−Xm)を指定する。これにより、ONU102は、期間Ta,Tbの長さを把握することができる。
【0150】
なお、この場合もONU102は、OLT101から指定された期間Ta,Tbをタイムスタンプ量に換算できる。たとえば換算した結果のタイムスタンプ量は、OLT101から指定されたタイムスタンプ量と等しくなる。ONU102は、図5に示される手順に従ってスリープモードに移行し、MPCPタイムスタンプを用いて期間Taあるいは期間Tbを計測する。
【0151】
以上のように実施の形態4によれば、ONU102は、OLT101が指定した第1あるいは第2の期間を、MPCPタイムスタンプ量に換算して、MPCPタイムスタンプを用いて、期間Taあるいは期間Tbを計測する。これにより、OLT101とONU102との間で期間Ta,Tbが累積的にずれることを防ぐことができる。
【0152】
なお、実施の形態1では、ONU102は、OLT101によって設定された期間を計測する前に、クロック誤差に基づいて、その設定された期間を補正する。一方、実施の形態2,3では、ONU102は、OLT101によって設定された期間を計測中に、クロック誤差に基づいて、その期間を補正する。すなわち実施の形態1と、実施の形態2,3とでは、OLT101によって設定された期間をONU102で補正するタイミングが異なる。したがって、実施の形態1と実施の形態2とを組み合わせることができる。あるいは実施の形態1と実施の形態3とを組み合わせることできる。これらの場合には、OLT101によって設定された期間を計測する前および計測している間に、その期間が補正される。したがって、OLT101とONU102との間での期間の認識のずれをより一層少なくすることができる。
【0153】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0154】
11,15,41,45 受信部、12,18,42,48 バッファメモリ、14,19,44,49 送信部、17,47 フレーム再生部、20,50 通信制御部、22,52 クロックパルス発生部、24,54 クロックカウント部、30,60 省電力設定部、31 トラフィック監視部、32 省電力判定部、32−1〜32−n 判定部、33 スリープ指示生成部、62 スリープモード設定部、63 スリープ指示受信部、100 EPONシステム、104 PON回線、105 スプリッタ、109 上位ネットワーク、110 宅側ネットワーク、111 ユーザ端末。

【特許請求の範囲】
【請求項1】
局側装置と、
受動的光ネットワークを介して前記局側装置に接続される宅側装置とを備え、
前記宅側装置は、スリープモードにおいて、前記宅側装置と前記局側装置との間の通信を停止する第1の期間と、前記宅側装置と前記局側装置との間の通信が可能となる第2の期間とを発生させ、
前記局側装置は、前記第1および第2の期間を前記宅側装置に指定し、前記局側装置のクロックを用いて前記第1および第2の期間を計測し、
前記宅側装置は、前記局側装置のクロックに対する前記宅側装置の内部クロックのクロック誤差を用いて、前記局側装置が指定した前記第1あるいは第2の期間を補正して、当該補正された第1あるいは第2の期間を前記宅側装置の内部クロックを用いて計測する、光通信システム。
【請求項2】
前記宅側装置は、非スリープモードにおいて、前記クロック誤差を用いて前記第1あるいは前記第2の期間を補正する、請求項1に記載の光通信システム。
【請求項3】
前記宅側装置は、前記第1あるいは第2の期間の計測前に前記クロック誤差を用いて前記第1あるいは第2の期間を補正する、請求項1に記載の光通信システム。
【請求項4】
前記宅側装置は、前記第1の期間の計測中に前記クロック誤差を用いて前記第1の期間を補正する、あるいは、前記第2の期間の計測中に前記クロック誤差を用いて前記第2の期間を補正する、請求項1または2に記載の光通信システム。
【請求項5】
前記局側装置は、前記局側装置のタイムスタンプを含むMPCPフレームを前記宅側装置に送信し、
前記タイムスタンプは、前記局側装置のクロックに基づいて生成され、
前記宅側装置は、前記局側装置から送られた前記MPCPフレームを用いて前記クロック誤差を算出して、算出されたクロック誤差を用いて前記第1あるいは前記第2の期間を補正する、請求項4に記載の光通信システム。
【請求項6】
前記局側装置は、前記局側装置のタイムスタンプを含むMPCPフレームを前記宅側装置に送信し、
前記タイムスタンプは、前記局側装置のクロックに基づいて生成され、
前記宅側装置は、前記局側装置から送られた前記MPCPフレームを用いて前記クロック誤差を算出して、算出されたクロック誤差を累積して、累積されたクロック誤差を用いて前記第1あるいは第2の期間を補正する、請求項4に記載の光通信システム。
【請求項7】
局側装置と、
受動的光ネットワークを介して前記局側装置に接続される宅側装置とを備え、
前記宅側装置は、スリープモードにおいて、前記宅側装置と前記局側装置との間の通信を停止する第1の期間と、前記宅側装置と前記局側装置との間の通信が可能となる第2の期間とを発生させ、
前記局側装置は、前記第1および第2の期間を前記宅側装置に指定し、前記局側装置のクロックを用いて前記第1および第2の期間を計測し、
前記宅側装置は、前記局側装置が指定した前記第1あるいは第2の期間を、MPCPタイムスタンプ量に換算して、MPCPタイムスタンプを用いて、前記第1あるいは第2の期間を計測する、光通信システム。
【請求項8】
局側装置と、受動的光ネットワークを介して前記局側装置に接続される宅側装置とを備える光通信システムの制御方法であって、
前記局側装置のクロックを用いて、前記宅側装置のスリープモードにおいて前記宅側装置が前記局側装置との通信を停止する第1の期間と、前記スリープモードにおいて前記宅側装置と前記局側装置との間の通信が可能な状態となる第2の期間とを設定するステップと、
前記局側装置のクロックに対する前記宅側装置の内部クロックのクロック誤差を算出するステップと、
前記クロック誤差を用いて、前記設定するステップで設定された前記第1あるいは第2の期間を補正するステップと、
前記設定するステップで設定された前記第1あるいは第2の期間を前記局側装置のクロックを用いて計測し、補正された第1あるいは第2の期間を前記宅側装置の内部クロックを用いて計測するステップとを備える、光通信システムの制御方法。
【請求項9】
受動的光ネットワークを介して局側装置に接続される宅側装置であって、
スリープモードにおける第1の期間に前記局側装置と前記宅側装置との間の通信を停止し、前記スリープモードにおける第2の期間に前記局側装置と前記宅側装置との間の通信を可能にする通信部と、
前記第1および第2の期間を計測するための計測部とを備え、
前記計測部は、前記局側装置のクロックを用いて前記局側装置が指定する前記第1あるいは第2の期間を、前記局側装置のクロックに対する前記宅側装置の内部クロックのクロック誤差を用いて補正し、当該補正された第1あるいは第2の期間を、前記宅側装置の内部クロックを用いて計測する、宅側装置。

【図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

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2013−38495(P2013−38495A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−170913(P2011−170913)
【出願日】平成23年8月4日(2011.8.4)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【Fターム(参考)】