従来、E−PONのように、1対n接続のトポロジーを用い、ユーザネットワークで広く用いられているEthernetパケットを収容しコアネットワークに接続する光通信ネットワークシステム(アクセスネットワークシステム)がある。
図6は、従来のE−PONの構成について示したブロック図である。
図6に示すように、E−PONでは、1台のOLT(Optical LINE Terminal)と、複数のONU(Optical Network Unit)とを、光ファイバ及び光カプラで接続するPoint to Multi Point型(1対n型)の光通信ネットワークシステム(アクセスネットワークシステム)である。そして、E−PONでは、OLTとONUとの間で通信をする場合の動作は、IEEE802.3ah、IEEE802.3av等で標準化されている。
図7は、従来のE−PONにおいて、1台のOLTと複数のONUが通信する構成について示した説明図である。
従来のE−PONでは、図7に示すように、OLTとONUはLLID(Logical Link Identification;ロジカルリンク識別子)を用いて、論理的に識別され、OLTからONUへの方向(以下、「下り方向」という)の信号は、光カプラで分岐された全てのONUに到達する為、ONUでは自分宛のLLIDもしくは全員宛のLLID(Broadcast LLID)を受信し、他宛のLLIDは廃棄する。
また、ONUからOLTへの方向(以下、「上り方向」という)の信号は、各ONUから送出されたフレームを光カプラで合波される為、各ONUが送出する光信号の送信タイミングを制御しないと衝突が発生する。
衝突を回避する為の方法として、OLTは送出のタイミングと送出する時間を各ONUに指示し、ONUはその指示に従い送出することで衝突を回避している。
OLTはこの指示をする為に少なくとも、物理的距離の異なる各ONUの伝播往復遅延時間RTT(Round Trip Time)の把握をする必要がある。
図8は、従来のGE−PONを構成するOLTにおいて、各ONUのRTTを測定する処理について示した説明図である。
IEEE802.3ah、IEEE802.3avによると、OLTと各ONUのRTTの測定方法は、図8に示すように、OLTから送出されたフレームに付与されたTime Stamp(t0)を受信したONUは、直ちにONUが持つLocalTimeに(t0を)ロードする。そして、ONUは、受信したフレームに付与されたStart Time(t1)及びLengthにて指示されたタイミング及び長さのフレームをOLTに向けて送出する。
次に、OLTはこのONUが送出したフレームを受信した時刻t2と、受信したフレームに付与されたTime Stamp(t1)とを比較しRTTを把握し管理する。各ONUのRTTが把握できると、OLTは、各ONUの上り送信タイミングを制御することができる為、以後RTTを加味して送信タイミングを指示すればよい。RTTが不明な状態のONUを、OLTに接続させる場合は、IEEE802.3ah、IEEE802.3avによると、MPCP(Multi Point Control Protocol)ディスカバリシーケンス(以下、単に「ディスカバリシーケンス」ともいう)を用いて実施する。
図9は、従来のGE−PONで採用されるMPCPディスカバリシーケンスについて示したシーケンス図である。
MPCPディスカバリシーケンスでは、距離等が不明なONUを接続する為に、DISCOVERY_GATE信号を全員宛に付与し、現在OLTとリンクが確立しているONUを除く、これから接続するONUの全てが、このDISCOVERY_GATE信号を受信しREGISTER_REQ信号を応答する。このやり取りで初めて、OLTはONUのRTT計算をすることが出来、以後に続くシーケンスのやり取りはタイミング管理された状態で実施が可能となる。
ONUからOLTへのREGISTER_REQ信号送信後は、OLTからONUへのREGISTER信号送信、ONUからOLTへのREGISTER_ACK信号送信を経て、OLTと当該ONUとの間のMPCPディスカバリシーケンスが完了する。MPCPディスカバリシーケンスの完了は、OLTにおいて当該ONUに対するLLIDの付与や、RTT計算の実施完了を意味する。
上述の例では、OLTにおけるRTTの計算は、OLTからONUへのDISCOVERY_GATE信号送信、ONUからOLTへのREGISTER_REQ信号の応答というシーケンスを用いているが、OLTとONUの間のその他のシーケンスを用いても良い。例えば、OLTからONUへのGATE信号送信、ONUからOLTへのREGISTER_ACK信号の応答というシーケンスをRTTの計算用いるようにしても良いし、OLTからONUへのGATE信号送信、ONUからOLTへのREPORT信号送信のシーケンスを用いるようにしても良い。
図10は、従来のGE−PONにおいて、OLTが、MPCPディスカバリシーケンスを用いて、複数のONU(ONU1、ONU2、…、ONUn−1、ONUn)を収容する処理の例について示したシーケンス図である。
図10では、OLTから各ONUに対してDISCOVERY_GATE信号を送信し、ONUがREGISTER_REQ信号を応答する例について示している。なお、図10では、ONU1、ONU2、…、ONUn−1、ONUnの順に、OLTからの距離が長くなっている。各ONUが、OLTからDISCOVERY_GATE信号を受信すると、その信号に含まれるTime Stampをロードする。そして、各ONUは、受信したDISCOVERY_GATE信号に示されるStart TimeのタイミングからLengthに示される範囲内で、任意の時間(例えば、乱数等により求められる時間)であるRandom_Delayの時間を待機してから、REGISTER_REQ信号を送出する。
図10では、各ONUがDISCOVERY_GATE信号を受信した場合の動作について示しているが、MPCPディスカバリシーケンスが完了し、OLTとONUのリンクが確立した後で、OLTがノーマルのGATE信号(リンク確立後の通常時に送信するGATE信号)を送信した場合には、各ONUは異なる動作を行う。この場合、各ONUは、Random_Delayを0にセットし、OLTからGATE信号で指示されたStart Timeからフレームを送出する。
従来のE−PONでは、上述のRandom_Delayにより、同じ距離に存在するONUでも、異なる距離に存在するONUでも、ランダムな時間を待ってからフレーム送出を行う為、フレーム同士が衝突する可能性もあるが、衝突しない場合もあり、衝突しない場合はOLTで正常な受信が可能となる。
OLTは、システムが提供する距離(例:20km等)やDISCOVERY_GATEにて各ONUに与えるLength値に基づいて、ディスカバリウィンドウ(DISCOVERY WINDOW)を設定する。ディスカバリウィンドウは、OLTにおいて、距離が不明な為、受信タイミングが不明となっている新規のONUを受け入れる為に設定される時間帯である。OLTは、このディスカバリウィンドウとして設定された時間は、既にリンクが確立している全ONUに対して、上り方向の信号を送信しないように制御する。また、通常、従来のOLTでは、定期的にディスカバリウィンドウを設定し、新規のONUを探索できるようになされている。
従来のPONにおけるデータ伝送速度は、IEEE802.3ahに準拠した場合は1Gbpsであるのに対して、IEEE802.3avに準拠した場合は10Gbpsとなっており、データ転送速度が向上している。そのため、OLT1台に対して接続できるONUの台数も多くなってきている。
また、従来技術では上述のように、OLTで新規のONUを探索するには、ディスカバリウィンドウを定期的に設ける必要があるが、この区間はサービス中のONU(OLTとの間でリンクが確立中ONU)の上り方向の信号を受け付けない区間となるため、使用可能な上り方向の伝送効率の劣化となる。
OLTが収容できるONU台数が多い場合、ONUを1台ずつ接続する初期のサービス開始の場合は問題ないが、OLT故障や回線故障が発生した場合には、未接続のONUを一度に接続することになるので、配下ONUからのREGISTER_REQ信号の送信が、一時期に集中するため、フレームの衝突確立が増大し、OLTで正常フレームを取得できずMPCPディスカバリシーケンス完了に非常に時間がかかることになる。
単純に、DISCOVERY_GATE信号に設定するLength値を大きくすれば衝突確立を低減できることになるが、Length値を大きくすることはディスカバリウィンドウを大きくすることとなり伝送効率が劣化してしまう。
さらに、FTTH(Fiber To The Home)サービスを提供するためのアクセスネットワークシステムでは、音声や映像をはじめとする多種多様なサービスに対応するようになってきている。したがって、PONを適用したアクセスネットワークシステムでは、OLT故障時や回線不良などの切替時間も高速化が望まれている。
そこで、従来の特許文献1の記載技術では、GE−PONにおいて複数のONUでRandom_Delayの時間が重複してしまうことを回避することを目的とした技術について記載されている。特許文献1の記載技術では、各ONUでRandom_Delayを算出する際に、各ONUごとの任意のシード値と、DISCOVERY_GATE信号の受信回数とで定まる内部乱数値を利用することにより、ONU間でRandom_Delayが重なることを防いでいる。
(A)第1の実施形態
以下、本発明による親局通信装置、子局通信装置、光通信ネットワークシステム、及び通信方法の一実施形態を、図面を参照しながら詳述する。なお、この実施形態の親局通信装置及び子局通信装置は、OLT及びONUである。
(A−1)実施形態の構成
図2は、この実施形態の光通信ネットワークシステム1の全体構成を示すブロック図である。
光通信ネットワークシステム1には、OLT10及び、n個のONU20(20−1〜20−n)が配置されている。
OLT10と各ONU20との間は、光カプラ30(複数分岐としても良い)により分岐された光ファイバ40で接続されている。すなわち、OLT10と各ONU20によりPONが形成されている。
図2では、OLT10は、コアネットワークN1(上位側ネットワーク)に配置されたエッジルータRと接続している。すなわち、OLT10は、エッジルータRを入口として、コアネットワークN1(親局側のネットワーク)に接続している。なお、OLT10がコアネットワークN1に接続する構成は限定されないものである。
一方、図2において図示は省略しているが、それぞれのONU20の配下には、ユーザネットワーク(子局側の下位ネットワーク)が接続されている。すなわち、それぞれのONU20は、配下のユーザネットワークのルータやスイッチ装置等のネットワーク装置と接続している。なお、ONU20自体に、ユーザネットワークを収容するためのルータやスイッチの構成を搭載するようにしても良い。
次に、OLT10及びONU20の内部構成について説明する。
図1は、OLT10及びONU20の機能的に構成の例について示したブロック図である。
OLT10とONU20の一般的なハードウェア的な構成については、既存のPONを採用したシステムと同様のものを適用することができるので、図1では、既存のGE−PONに対応したOLT及びONUの一般的なハードウェア構成に基づいて図示している。光通信ネットワークシステム1では、後述の動作説明の項で説明するOLT10がONU20を収容する際の処理(ディスカバリシーケンス等)に特徴があり、それ以外の構成については図1の構成に限定されず、他のパターンの構成であっても良い。また、光通信ネットワークシステム1では、後述するOLT10がONU20を収容する際の処理以外の処理(例えば、LLIDによるONUの識別処理等)については、例えば、既存のGE−PONと同様の処理(例えば、IEEE802.3ah、IEEE802.3av等に準拠した処理)を適用することができる。
まず、OLT10の構成について、図1(a)を用いて説明する。
OLT10は、CPU101、RAM102、ROM103、PON光送受信部104、PON送信部105、PON受信部106、OAM送受信部107、MPCP送受信部108、ブリッジ部109、NI側送受信部110、及びPONインタフェース111を有している。
CPU101は、OLT10の各部を制御する制御部の機能を担っている。CPU101は、ROM103に格納された制御プログラムや、各種設定値(パラメータ)の情報を読み込んで、RAM102上に展開して実行することにより、OLT10の制御を行う。また、CPU101は、後述する各ONU20に対する各種パラメータ(例えば、MPCPに係るパラメータ)の計算処理や決定処理を行う。また、CPU101は、各ONUに対して決定した各種パラメータについて、RAM102に保持させるものとする。また、OLT10は、それぞれのONU20に対して決定された各種パラメータを、それぞれのONU20に通知する処理(詳細については後述する)を行うが、その通知方法は、限定されないものである。OLT10からONU20への各種パラメータの通知は、例えば、PONの機能におけるOAM機能(拡張OAM機能)等を利用して通知するようにしても良い。
NI側送受信部110は、コアネットワークN1(上位側ネットワーク)とのインタフェースの機能を担っている。NI側送受信部110としては、例えば、既存のEthernetに対応したインタフェースを適用することができる。NI側送受信部110は、コアネットワークN1からユーザ側ネットワーク(ONU20)へのフレームを受信すると、ブリッジ部109へ引き渡す。また、NI側送受信部110は、ブリッジ部109からコアネットワークN1へ送出するフレームが与えられると、そのフレーム送出を行う。
PON光送受信部104は、PONインタフェース111(物理インタフェース)を介して光ファイバ40に接続し、光信号を送受信するものである。PON光送受信部104は、ONU20からPONインタフェース111を介して受信した上り方向のフレームの光信号を、電気信号に変換してPON受信部106に与える。また、PON光送受信部104は、PON送信部105から与えられた下り方向のフレームの電気信号を光信号に変換してPONインタフェース111を介してONU20へ送出する。
PON受信部106は、PON光送受信部104がONU20から受信した上り方向のフレームについて、ユーザデータのフレームであるか、制御用のフレームであるのかを識別する。そして、PON受信部106は、ユーザデータのフレームについては、ブリッジ部109に転送し、制御用のフレームの場合にはその内容に応じて、OAM送受信部107又はMPCP送受信部108に転送する。
PON送信部105は、ブリッジ部109、OAM送受信部107、又はMPCP送受信部108から与えられた下り方向のフレームの電気信号をPON光送受信部104に引き渡して光信号に変換してPONへ送出させるものである。
ブリッジ部109は、主にOLT10が転送するフレームのEthernetに係る通信制御を行うものであり、例えば、下り方向へのフレーム転送の為のバッファや、VLAN識別の為のVLAN−Tag付与削除、アドレス(MACアドレス、IPアドレス等)学習、優先処理等を行うものである。
OAM送受信部107は、OLT10におけるOAMに係る制御を行う機能を担っている。OAM送受信部107は、PON受信部106及びPON送信部105を介して、ONU20との間のOAMに係るフレームの送受信を行う。
MPCP送受信部108は、ONU20におけるMPCPに係る制御を行う機能を担っている。MPCP送受信部108は、PON受信部106及びPON送信部105を介して、ONU20との間のMPCPに係るフレームの送受信を行う。MPCP送受信部108によるディスカバリシーケンスに係る制御処理は、後述動作説明において詳述する。
次に、ONU20の構成について、図1(b)を用いて説明する。ここでは、光通信ネットワークシステム1上の全てのONU20について同じ構成であるものとして説明する。
ONU20は、CPU201、RAM202、ROM203、PON光送受信部204、PON送信部205、PON受信部206、OAM送受信部207、MPCP送受信部208、ブリッジ部209、UI側送受信部210、及びPONインタフェース211を有している。
CPU201は、ONU20の各部を制御する制御部の機能を担っている。CPU201は、ROM203に格納された制御プログラムや、各種設定値(パラメータ)の情報を読み込んで、RAM202上に展開して実行することにより、ONU20の制御を行う。また、CPU201は、OLT10から通知された各種パラメータについて、RAM202に保持させ、さらに、通知された各種パラメータに基づいて、ONU20内の各部の動作を制御する処理を行う。
UI側送受信部210は、図示しないユーザ側のネットワークとのインタフェースの機能を担っている。UI側送受信部210は、上述のNI側送受信部110と同様に、例えば、既存のEthernetに対応したインタフェースを適用することができ、図示しないユーザネットワークから受信したフレームをブリッジ部109に与え、ブリッジ部109から与えられたフレームを図示しないユーザネットワークに送出する。
PON光送受信部204は、PONインタフェース211(物理インタフェース)を介して光ファイバ40と接続し、光信号を送受信するものである。PON光送受信部204は、OLT10からPONインタフェース211(物理インタフェース)を介して受信した下り方向のフレームの光信号を電気信号に変換してPON受信部206に与える。そして、PON受信部206は、PON光送受信部204がOLT10から受信した下り方向のフレームについて、上述のPON受信部106と同様に、OAM送受信部207、MPCP送受信部208、又はブリッジ部209のいずれかに振り分ける。またPON光送受信部204は、PON送信部205から与えられた上り方向のフレームの電気信号を光信号に変換してPONインタフェース211を介してOLT10へ送出する。
PON送信部205は、OAM送受信部207、MPCP送受信部208、又はブリッジ部209から与えられた上り方向の信号のフレームの電気信号をPON光送受信部204に与えて光信号へ変換してPONへ送出させるものである。
ブリッジ部209は、ブリッジ部109と同様に、主にONU20が転送するフレームのEthernetに係る通信制御を行うものである。
OAM送受信部207は、ONU20におけるOAMに係る制御を行う機能を担っている。OAM送受信部207は、PON送信部205及びPON受信部206を介して、OLT10とのOAMに係るフレームの送受信を行う。
MPCP送受信部208は、ONU20におけるMPCPに係る制御を行う機能を担っている。MPCP送受信部208は、PON送信部205及びPON受信部206を介して、OLT10との間のMPCPに係るフレームの送受信を行う。MPCP送受信部208による、ディスカバリシーケンスに係る制御処理については、後述する動作説明において詳述する。
(A−2)実施形態の動作
次に、以上のような構成を有するこの実施形態の光通信ネットワークシステム1の動作(実施形態の通信方法)を説明する。
まず、OLT10及びONU20の動作の概要について説明する。
OLT10では、従来のOLTと同様に、各ONU20について、適用するRTTを決定するためのディスカバリウィンドウを設定するが、新規にONU20を接続(新たにRTTの計算を伴う接続)させるためのディスカバリウィンドウ(以下、「新規ONU用ウィンドウ」という)と、既にOLT10でRTT等が保持されているONU20を再接続させるためのディスカバリウィンドウ(以下、「再接続ONU用ウィンドウ」という)の2つのディスカバリウィンドウが設定されている。
既に、OLT10において、一度RTTが計算され、RTTが保持されているONU20に関しては、一旦回線障害や、装置故障等リンクが切れた場合でも、当該ONU20を再度接続させる場合には距離が変わらないので、計算されるRTTも同じ長さとなると推測できる。
すなわち、OLT10は、新規ONU用ウィンドウでは、RTTが未計算又はRTTを再計算する必要のあるONU20からREGISTER_REQ信号を受信してRTT計算を行い、再接続ONU用ウィンドウでは、既にRTTが保持されているONU20から再接続を受付ける場合のREGISTER_REQ信号を受信する処理を行う。
図3は、OLT10と各ONU20との間のディスカバリシーケンスの動作例について示したタイミングチャートである。
図3では、ONU20−1、ONU20−2、ONU20−n−1については既に、OLT10において過去に求めたRTTが保持されており、ONU20−nについてだけRTTが保持されておらず新規に接続する動作について示している。また、図3では、他のONU20(ONU20−3〜ONU20−n−2)の動作について図示を省略している。
そして、図3では、OLT10において、タイミングT10からタイミングT20の間が新規ONU用ウィンドウとして設定されており、タイミングT20からタイミングT30の間が再接続ONU用ウィンドウとして設定されている様子について示している。
OLT10において、新規ONU用ウィンドウ及び再接続ONU用ウィンドウを設定するタイミング及び長さは限定されないものである。
まず、タイミングT10から、新規ONU用ウィンドウが開始したものとする。図3においては図示を省略しているが、新規ONU用ウィンドウが開始する前に、各ONU20へ上りフレームの送信禁止等の制御について、従来技術と同様の手順で行われているものとする。
そして、OLT10は、新規ONU用ウィンドウの時間帯になると、DISCOVERY_GATE信号のフレームを、PON上(光ファイバ40)に送出する。そして、各ONU20では、そのDISCOVERY_GATE信号のフレームが受信される。
上述の通り、OLT10からの距離は、ONU20−1、ONU20−2、ONU20−n−1、ONU20−nの順で遠くなっているので、OLT10から送出されたフレームがそれぞれのONU20に到達するまでの時間も、その距離に応じて長くなっている。
図3に示すように、ONU20−1、ONU20−2、ONU20−n−1、ONU20−nのそれぞれで、DISCOVERY_GATE信号が受信されるタイミングは、タイミングT111、T121、T131、T141となっている。
また、OLT10では、既にRTTが保持されているONU20については、Random_Delayの代わりに適用する固定的な遅延時間(以下、「Fixed_Delay」という)を算出し、それぞれのONU20に通知(例えば、OAMを用いて通知するようにしても良い)してあるものとする。Fixed_Delayは、それぞれのONU20のRTTを利用して算出されるものであり、詳細については後述する。なお、ここでは、ONU20−1、20−2、20−n−1のそれぞれのFixed_Delayを、Fixed_Delay_1、Fixed_Delay_2、Fixed_Delay_n−1とする。
以下、DISCOVERY_GATE信号を受信した、ONU20のそれぞれの動作例について説明する。
まず、ONU20−nの動作について説明する。
上述の通りONU20−nについてだけRTTが保持されておらず新規にOLT10へ接続するが、この場合のディスカバリシーケンスの動作は、新規ONU用ウィンドウの時間帯で行われること以外は、従来のONUとOLTとの間と同様のシーケンスとなる。
すなわち、ONU20−nは、OLT10から送出されたDISCOVERY_GATE信号を受信すると、受信したDISCOVERY_GATE信号で設定されているStart Timeの間(T142が経過するまでの間)待機する。
ONU20−nがDISCOVERY_GATE信号を受信してから、Start Timeの間(T142が経過するまでの間)の時間は、DISCOVERY_GATE信号に設定されているTime StampとStart Timeの差分となる。
Time Stampとは、OLT10とONU20が時刻同期のために用いる時間であり、OLT10がDISCOVERY_GATE信号を送出した時刻が記録されている。そして、DISCOVERY_GATE信号が、距離に応じた時間の遅延を経て、ONU20に到達すると、ONU20は、このTime Stampを自装置の時計にロードする。また、DISCOVERY_GATE信号には、Start Timeの情報も記されており、当該ONU20の次回の上りフレームの送出時刻が記されている。
そして、ONU20−nは、Time Stampの時刻をロードした自装置の時計の時刻がStart Timeになると(タイミングT142になると)、DISCOVERY_GATE信号に設定されたLength値を限度する任意の時間(Random_Delayn)が経過するまで(タイミングT143が経過するまで)待機してから、REGISTER_REQ信号をOLT10に向けて送出する。
図3においては図示を省略しているが、その後、OLT10では、ONU20−nから受信したREGISTER_REQ信号を利用して、RTTを計算する処理や、ONU20−nを収容するための処理が行われるが、これらの処理は、従来のPONと同様の処理を適用することができるため説明を省略する。また、OLT10は、ONU20−nに対してRTTを計算するとさらにそのRTTに基づいたFixed_Delayを計算して、ONU20−nに通知する。そして、ONU20−nがOLT10に収容された後、障害等によりONU20−nが一旦OLT10の収容からはずれて再度OLT10に接続する場合には、ONU20−nのディスカバリシーケンスにおける動作は、後述するONU20−1、20−2等と同様の動作となる。
なお、OLT10では、各ONU20に対して計算したRTT及びFixed_Delayについて、RAM102に保持する。一方、各ONU20では、OLT10から通知されたFixed_Delayの情報を、RAM202に保持する。
次に、ONU20−1の動作について説明する。
ONU20−1は、DISCOVEY_GATE信号を受信すると、その信号に含まれるTime Stampを、自装置の時計にロードする。そして、ONU20−1は、DISCOVERY_GATE信号に示されたStart Timeに示された時間が経過すると(タイミングT112が経過すると)、Random_Delayを無効とし、代わりに前回接続時にOLT10から通知されたFixed_Delay_1が経過するまでの間(T113が経過するまでの間)待機する。
そして、ONU20−1では、受信したDISCOVERY_GATE信号に対するREGISTER_REQ信号を送信するかしないかをランダムに判定する処理(以下、「Random_onoff」という)が行われるものとする。なお、このRandom_onoffの処理は、OLT10から通知される内容に基づいて行われる処理であり、詳細については後述する。
そして、ここでは、ONU20−1において、Random_onoffの判定処理の結果、REGISTER_REQ信号を送信すると判断されたものとする。そして、ONU20−1は、Fixed_Delay_1が経過すると(タイミグT113が経過すると)REGISTER_REQ信号を、OLT10に向けて送出する。
ONU20−1と、OLT10とのその後の動作については、既存のGE−PONにおけるONUとOLTとの間の処理と同様であるため詳しい説明は省略する。なお、ONU20−1がOLT10に再接続した場合に、OLT10で受信したREGISTER_REQ信号に基づいて再度RTTを求めるようにしても良い。そして、OLT10は、再度RTTを求めた場合には、その最新のRTTに基づいて計算しなおしたFixed_Delayを、ONU20−1へ通知して更新させるようにしても良い。
次に、ONU20−2の動作について説明する。
ONU20−2は、DISCOVEY_GATE信号を受信し、同様にDISCOVERY_GATE信号に示されたStart Timeに示された時間が経過すると(タイミングT122が経過すると)、Random_Delayを無効とし、代わりに前回接続時にOLT10から通知されたFixed_Delay_2が経過するまでの間(T122が経過するまでの間)待機する。
また、ONU20−2でも、OLT10からの通知に基づいてRandom_onoffの判定処理が行われ、その判定処理の結果、今回は、REGISTER_REQ信号を送信しないと判断されたものとする。したがって、ONU20−2は、そのまま待機状態を継続する。
次に、ONU20−n−1の動作について説明する。
ONU20−n−1は、DISCOVEY_GATE信号を受信し、同様にDISCOVERY_GATE信号に示されたStart Timeに示された時間が経過すると(タイミングT132が経過すると)、Random_Delayを無効とし、代わりに前回接続時にOLT10から付与されたFixed_Delay_n−1が経過するまでの間(T133が経過するまでの間)待機する。
また、ONU20−n−1では、OLT10からRandom_onoffの判定処理を実行必要である旨が通知されていないため、Random_onoffの判定処理を行うことなく、REGISTER_REQ信号を送信すると判断されるものとする。したがって、ONU20−n−1は、Fixed_Delay_n−1が経過すると(タイミグT143が経過すると)REGISTER_REQ信号を、OLT10に向けて送出する。
次に、以上のような、光通信ネットワークシステム1において、ディスカバリシーケンスに適用される上述のFixed_Delay及びRandom_onoffの詳細について説明する。
上述の通り、OLT10では、一度接続されたONU20へ、すでに求めたRTTを元にして計算された固定的な遅延を、Fixed_Delayとして、各ONU20へ通知する。
このFixed_Delayは、上述の図3に示すように、既にRTTが計算された各ONU20(20−1、20−2、20−n−1)が送出するREGISTER_REQ信号のOLT10への到達タイミングが、再接続ONU用ウィンドウのタイミングとなるように設定されている。また、Fixed_Delayは、上述の図3に示すように、次回のディスカバリシーケンスの際に、個々のONU20のREGISTER_REQ信号が、衝突しないように(または、衝突しにくくなるように)制御された値となっている。
OLT10では、全てのONU20について、REGISTER_REQ信号の到達タイミングが、異なるように(ずれるように)Fixed_Delayを設定するようにしても良いが、それには再接続ONU用ウィンドウの幅を広く取る必要がある。
そこで、上述の図3に示すように、各ONU20において、Random_onoffの判定処理により、REGISTER_REQ信号を送信するか否かを判定させ、REGISTER_REQ信号の到達タイミングが同じであっても衝突頻度が少なくなるようにしている。なお、光通信ネットワークシステム1において、このRandom_onoffに係る処理は省略するようにしても良い。
例えば、上述の図3では、本来、ONU20−1が送出するREGISTER_REQ信号のフレームがOLT10に到達するタイミングと、ONU20−2が送出するREGISTER_REQ信号の到達タイミングは一致するように、Fixed_Delay_1及びFixed_Delay_2が設定されている。しかし、上述のように、Random_onoffの判定処理により、ONU20−2は、REGISTER_REQ信号を送出しないため、実際には衝突を回避する結果となる。そして、ONU20−2については、次回以降の再接続ONU用ウィンドウを経て、OLT10に再接続(収容)されることになる。
なお、Random_onoffの処理が必要なONU20は、OLT10で把握することができるので、OLT10は、各ONU20へ、Fixed_delayを通知する際に、併せてRandom_onoffの処理の要否を示すパラメータも通知するものとする。例えば、上述の図3の例でいえば、ONU20−1とONU20−2は、REGISTER_REQ信号の到達タイミングが一致するようにFixed_Delayを設定したので、Random_onoffの処理が必要である。一方、他のONU20とREGISTER_REQ信号の到達タイミングが一致しないONU20については、Random_onoffの処理が必要ないので、通知しない。
OLT10は、例えば、再接続ONU用ウィンドウの幅が十分にある場合(全てのONU20からREGISTER_REQ信号を衝突なく受信する余裕がある場合)には、Random_onoffの処理を不要と設定するようにしても良い。そして、OLT10に接続するONU20が所定数以上に増えて、再接続ONU用ウィンドウの幅に余裕がなくなった場合には、OLT10により、一部のONU20に対して、REGISTER_REQ信号を一致させてRandom_onoffの処理を必要と通知するようにしても良い。
OLT10において、各ONU20からのREGISTER_REQ信号を到達させるタイミングのスケジューリングや、Random_onoffの判定処理をさせるONU20の組み合わせについては、REGISTER_REQ信号の衝突が発生しない(又は発生しにくい)スケジューリング内容であれば限定されないものである。
図4はOLT10において、Fixed_Delayを算出する処理について示した説明図である。
図4では、OLT10において、DISCOVERY_GATE信号を送出してから、Tmの時間が経過後に、ONU20−mからREGISTER_REQ信号を受信したい場合に、ONU20−mに対して設定するFixed_Delay_mを求める処理について説明している。
図4では、OLT10がDISCOVERY_GATE信号を送出してから、ONU20−mに到達するまでの時間をTAと図示している。また、図4では、ONU20−mにおいて、DISCOVERY_GATE信号を受信してから、Start Timeが経過するまでの時間をTCと図示している。さらに、図4では、OLT10が求めるべきFixed_Delay_mの時間をTDと図示している。
図4の場合、OLT10では、ONU20−mに対して計算するRTTは、RTT=TA+TBとなる。すなわち、図4の場合、OLT10が求めるべきTD(Fixed_Delay_m)は、以下の(1)式で求めることができる。
TD=Tm−RTT−TC …(1)
OLT10では、各ONU20について、RTTを計算し、さらに上記(1)式等を用いてFixed_Delayも計算し、計算したFixed_Delayを各ONU20に通知する。
次に、各ONU20のディスカバリシーケンスにおける動作を説明する。
図5は、各ONU20のディスカバリシーケンスにおける動作について示したフローチャートである。
まず、ONU20が電源オンやリセット等の後に起動し初期状態になったものとする(S101)。
ONU20では、初期状態において、Random_Delayの有効/無効を示すフラグ(以下、「Random_Delayフラグ」という)はEnable(有効)、Fixed_Delayの有効/無効を示すフラグ(以下「Fixed_Delayフラグ」という)はDisable(無効)、Random_onoff処理の有効/無効を示すフラグ(以下、「Random_onoffフラグ」という)は、Disable(無効)に設定されているものとする。
すなわち、初期状態では、ONU20は、新規ONU用ウィンドウの範囲内で、従来と同様のディスカバリシーケンスの処理を行うため、Random_Delayだけが有効となっている。そして、ONU20が、初期状態からディスカバリシーケンスの処理が成功した場合には、後述するステップS102の処理から動作し、失敗した場合には後述するステップS103の処理から動作する。なお、ここでは、各フラグの有効/無効を、Enable又はDisableと表記しているが、表記の仕方は限定されないものであり、例えば、1(有効)又は0(無効)としても良い。
上述のステップS101の初期状態から、ディスカバリシーケンスが成功すると、ONU20は、ディスカバリシーケンスに際してOLT10から通知される各種パラメータ(Fixed_Delayの値や、Random_onoffの要否の通知等)をRAM202に保持(set)する(S102)。
上述のステップS101の初期状態から、ディスカバリシーケンスが失敗すると、ONU20は、何も動作せずに(S103)、上述のステップS101の初期状態に戻って再度動作する。なお、ステップS103において、ONU20で保持しているFixed_Delayの値等があれば、リセットするようにしても良い。
そして、上述のステップS102が完了(ディスカバリシーケンスが正常終了)した後、ONU20とOLT10との間でリンク断が発生した場合には、ONU20は、接続断ステートへ遷移し、Random_DelayフラグをDisable、Fixed_DelayフラグをEnableに設定する。さらに、ONU20では、OLT10からの通知に応じて、Random_onoffフラグを設定するが、ここではEnableに設定されたものとして以降の説明を行う(S104)。
そして、ステップS104の処理が完了した状態から、再度ONU20とOLT10とが接続可能な状態となり(例えば、OLT10の故障からの復旧等)、OLT10がディスカバリシーケンスを開始(DISCOVERY_GATE信号を送出)したものとする。この場合、ONU20では、Random_onoffフラグがEnableとなっているため、Random_onoffの判定処理が行われることになるが、ここでは、判定処理の結果REGISTER_REQ信号を送出すると判定されたものとする。そして、ONU20は、保持しているFixed_Delayの値に応じた時間待機した後に、REGISTER_REQ信号をOLT10に送出し、OLT10との間でディスカバリシーケンスを行ったものとする。この動作は、上述の図3におけるONU20−1と同様の動作になる。
そして、ONU20は、上述のステップS104の後のディスカバリシーケンスの処理が成功した場合には、後述するステップS105の処理から動作し、失敗した場合には、後述するステップS106の処理から動作する。
上述のステップS104の後のディスカバリシーケンスの処理が成功した場合には、ONU20は、再接続成功ステートへ移行し、RAM102に保持されているFixed_Delayの値等を、最新のディスカバリシーケンスに際してOLT10から通知される内容に更新(set)する(S105)。そして、さらにONU20とOLT10との間でリンク断が発生した場合には、ONU20は、上述のステップS104の処理に戻って動作する。
上述のステップS104の後のディスカバリシーケンスの処理が失敗した場合には、ONU20は、再接続失敗ステートへ遷移し、再接続失敗の回数を示すカウンタ(以下、「接続失敗カウンタ」という)を1インクリメントする(S106)。なお、接続失敗カウンタの初期状態における値は0であるものとする。
そして、ONU20では、インクリメントされた接続失敗カウンタの値が確認される(S107)。
上述のステップS107で、接続失敗カウンタの値がN以上(Nは任意の整数)だった場合(すなわち、N回連続でディスカバリシーケンスが失敗した場合)には、ONU20は、上述のステップS101の処理から動作する。なおこの場合、接続失敗カウンタの値は、0に初期化される。また、接続失敗カウンタの上限値(N)は、ONU20ごとに任意に設定される値であっても良いし、OLT10からONU20に通知するようにしても良い。
一方、上述のステップS107で、接続失敗カウンタが、N未満だった場合には、ONU20は、上述のステップS104の処理から動作する。
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
(A−3−1)従来技術では、上述のように、OLTがディスカバリウィンドウで、複数のONUからREGISTER_REQ信号を受信する場合には、ONUの一斉に接続する数量が多いと衝突確率が非常に高くなるため、ディスカバリシーケンスが成功せずに接続断時間が大きくなりサービスに影響する場合があった。また、OLTにおいてディスカバリウィンドウを広く取ると、繰り返し発生するMPCPディスカバリシーケンスによって上り有効帯域を減らしてしまうという問題があった。
しかし、この実施形態では、本発明によると、OLT10から各ONU20にFixed_Delayを通知し、各ONU20が次回OLT10に再接続する場合には、Random_Delayにかえて、Fixed_Delayを用いてREGISTER_REQ信号を送出するタイミングを決定している。そして、このFixed_Delayにより決定されるREGISTER_REQ信号の到達タイミングは、OLT10において、再接続するONU20向けに設定されている再接続ONU用ウィンドウ内で衝突しないようにスケジューリングされている。一方、新規にOLT10に接続するONU20については、再接続ONU用ウィンドウとは別の新規ONU用ウィンドウ内で、REGISTER_REQ信号を受信するようにしている。
これにより、OLT10では、REGISTER_REQ信号の衝突する頻度が低減すると共に、ディスカバリウィンドウの幅(新規ONU用ウィンドウ+再接続ONU用ウィンドウ)を効率的に使用し、PONによる伝送効率を向上させることができる。
例えば、OLT10において、ONU20の接続台数が4倍(例えば、32台接続から128接続に変更等)に拡張された場合でも、ディスカバリウィンドウの幅(新規ONU用ウィンドウ+再接続ONU用ウィンドウ)を大幅に拡張することなく32台接続の際に要していた時間と同等、もしくはそれ以上に高速の全数接続が可能となる。
(A−3−2)この実施形態では、各ONU20において、OLT10からの通知内容に基づいて、Random_onoffの処理を行い、REGISTER_REQ信号を送信するか否かを判定している。これにより、OLT10では、収容するONU20の台数に比例して再接続ONU用ウィンドウの幅を設定しなくても、REGISTER_REQ信号の衝突頻度を低減させつつ、早期にONU20を収容することができる。
(A−3−3)光通信ネットワークシステム1では、図3に示すように、新規ONU用ウィンドウの後の時間帯に、再接続ONU用ウィンドウを設けたことにより、OLT10からの距離が遠い(すなわち、RTTが長い)場合でも、各ONU20からのREGISTER_REQ信号の到達タイミングを制御しやすくすることができる。
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B−1)上記の実施形態では、再接続するONU20の台数の組合せ方法によっては、一度接続されたONU20の全てを再接続用とする必要は必ずしもない。例えば、親局側の障害(例えば、OLT10や基幹の光ファイバの障害の場合)が発生したときに、再接続するONU20が多数となる場合には、再接続ONU用ウィンドウだけが偏って用いられる(REGISTER_REQ信号の到達数が偏って多くなる)一方、新規ONU用ウィンドウはあまり用いられないことになり、2つのウィンドウを効率的に利用することができないことになる。そのため、新規ONU用ウィンドウと再接続ONU用ウィンドウとで、REGISTER_REQ信号の到達する数を分散させる方が、伝送効率の観点からは望ましい。
具体的には、例えば、OLT10がディスカバリシーケンスを経てONU20を収容する際に、一部のONU20に対して、次に再接続する際には、ディスカバリシーケンスにおいて新規ONU用ウィンドウを用いる(新規接続の場合と同じ処理を行う)旨を通知しておくようにしても良い。
OLT10からONU20へ、上述の通知をする具体的な方法としては、例えば、Fixed_Delayの値を0にしたり、接続失敗カウンタの上限値Nとして0を通知するようにしても良い。そして、このような通知を受けたONU20では、上述の図5のフローチャートを実行する際に、ステップS102又はS105の後において、MPCP Link断が発生した場合でも、再接続するための条件を満たすことが出来ないと判断し、無条件にステップS104へ遷移をせずにステップS101に遷移するようにすれば良い。
また、各ONU20において、新規ONU用ウィンドウを用いるか、再接続ONU用ウィンドウを用いるかの判断は、OLT10からの通知に応じて行うのではなく、各ONU20が自律的に判断(例えば、ランダム値を用いて判断)するようにしても良い。
(B−2)上記の実施形態では、各ONU20は一つのLLIDを持つものとして説明したが、1台で複数のLLIDを持つことができるONU20が存在する場合には、OLT10及びONU20において、LLIDごとに、各種パラメータ(たとえば、Fixed_Delayの値等)を管理するテーブル情報をRAM(揮発性メモリ)上に保持するようにしても良い。
(B−3)上記の実施形態では、本発明の光通信ネットワークシステムにGE−PONを適用した例について説明したが、PON形式のネットワーク構成であれば、その仕様はGE−PONやE−PONの方式に限定されないものである。
(B−4)上記の実施形態では、DISCOVERY_GATE信号及びREGISTER_REQ信号を用いて、RTTやFixed_Delayの算出を行っているが、同様の機能を果たす信号であれば、用いる信号の種類は限定されないものである。例えば、他の種類のGATE信号(ノーマルのGATE信号)を用いても良い。