以下、図面を参照して本発明に係る実施形態の一例を詳細に説明する。なお、以下では、説明の便宜上、ロータリスイッチ(Rotary Switch)を「RSW」と称する。また、以下において、一次記憶部とは、揮発性のメモリを意味し、二次記憶部とは、不揮発性のメモリを意味する。
一例として図1に示すように、通信システム10は、OLT12、PON14、並びに、ONU161、・・・・及びONU16nを含む。なお、以下では、説明の便宜上、ONU161、・・・・及びONU16nを区別して説明する必要がない場合、「ONU16」と称する。また、OLT12は、本発明に係る局側終端装置の一例であり、ONU16は、本発明に係る加入者側終端装置及び通信先の一例であり、PON14は、本発明に係る光回線の一例である。
OLT12は、インターネット等のコアネットワーク24に接続されている。PON14は、OLT12とONU16とを接続し、OLT12とONU16との間での光信号の授受を媒介する双方向通信用の光回線である。
PON14は、基幹伝送路18、スターカプラ20、及び分岐光伝送路22を含む。基幹伝送路18及び分岐光伝送路22は何れも、光ファイバによる伝送路である。基幹伝送路18の一端はOLT12に接続され、基幹伝送路18の他端はスターカプラ20に接続されている。分岐光伝送路22は、ONU16毎に設けられており、各分岐光伝送路22の一端はスターカプラ20に接続されており、ONU16の各々に対して、対応する分岐光伝送路22の他端が接続されている。
一例として図2に示すように、OLT12は、CPU(Central Processing Unit)30、一次記憶部32、及び二次記憶部34を含み、CPU30、一次記憶部32、及び二次記憶部34は、バス36に接続されている。なお、一次記憶部32とは、例えば、RAM(Random) Access Memory)を指す。また、二次記憶部34とは、例えば、フラッシュメモリ、HHD(Hard Disk Drive)、又はSSD(Solid State Drive)を指す。
また、OLT12は、受付デバイス38、表示デバイス40、外部I/F(Interface:インタフェース)42、光通信I/F44、及び通信I/F46を含む。受付デバイス38、表示デバイス40、外部I/F42、光通信I/F44、及び通信I/F46は、バス36に接続されている。
受付デバイス38は、OLT12のユーザの指示を受け付けるデバイスであり、受付デバイス38の一例としては、キーボード、マウス、及びタッチパネル等のうちの少なくとも1つが挙げられる。
表示デバイス40は、例えば、液晶ディスプレイであり、CPU30の制御下で各種情報を表示する。
外部I/F42は、USB(Universal Serial Bus)メモリ及びUSBコネクタ等の外部機器(図示省略)に接続され、CPU30と外部機器との間の各種信号の送受信を司る。
光通信I/F44は、基幹伝送路18に接続されており、CPU30とONU16との間の各種信号の送受信を司る。
通信I/F44は、コアネットワーク24に接続されており、CPU30とコアネットワーク24上の通信装置(図示省略)との間の各種信号の送受信を司る。外部装置の一例としては、パーソナル・コンピュータ及びサーバ装置が挙げられる。
一例として図3に示すように、ONU16は、CPU50、一次記憶部52、及び二次記憶部54を含む。ONU16においても、OLT12と同様に、一次記憶部52とは、例えば、RAMを指し、二次記憶部34とは、例えば、フラッシュメモリ、HHD、又はSSDを指す。
また、ONU16は、本発明に係る受付部の一例である受付デバイス58、表示デバイス60、外部I/F62、及び光通信I/F64を含む。受付デバイス58、表示デバイス60、外部I/F62、及び光通信I/F64は、バス56に接続されている。
受付デバイス58は、ONU16のユーザの指示を受け付けるデバイスであり、キーボード、マウス、及びタッチパネルの他に、RSW58A,58Bを有する。なお、以下では、説明の便宜上、RSW58A,58Bを区別して説明する必要がない場合、「RSW58」と称する。また、本実施形態では、RSW58を例示しているが、本発明はこれに限定されるものではなく、RSW58に代えてディップスイッチ等の他の形態のスイッチを適用することも可能である。
RSW58A,58Bの各々は、ユーザの操作により0〜9の整数の何れか1つを設定し、設定した整数をCPU50に出力する。CPU50は、RSW58Aにより設定された整数とRSW58Bにより設定された整数とを組み合わせた番号であるRSW番号を保持する。RSW番号は、本発明に係る識別番号の一例である。なお、本実施形態では、RSW58が設定し得る数値として0〜9の整数を例示しているが、本発明はこれに限定されるものではなく、他の数値範囲であってもよい。
ここで、RSW番号とは、既定台数のONU16の各々を識別可能な複数の数値のうちの1つの数値を指す。既定台数とは、例えば、32台を指す。「複数の数値」とは、RSW58Aにより設定された整数とRSW58Bにより設定された整数との組み合わせて得られる複数の数値を指す。
表示デバイス60は、例えば、液晶ディスプレイであり、CPU50の制御下で各種情報を表示する。
外部I/F62は、USBメモリ及びUSBコネクタ等の外部機器(図示省略)に接続され、CPU50と外部機器との間の各種信号の送受信を司る。
光通信I/F64は、分岐光伝送路22に接続されており、CPU50とOLT12との間の各種信号の送受信を司る。
ところで、図4には、従来の通信システム500が例示されている。一例として図4に示すように、通信システム500は、OLT502、PON14、並びに、ONU5061、・・・・及びONU506nを含む。なお、以下では、説明の便宜上、ONU5061、・・・・及びONU506nを区別して説明する必要がない場合、「ONU506」と称する。
通信システム500では、OLT502がPON14を介して各ONU506に接続されている。OLT500は、管理テーブル508を保持しており、管理テーブル508を用いて、OLT502の配下の各ONU506を識別可能に管理する。
管理テーブル508には、1〜64の整数の管理番号毎に、互いに対応関係にあるRSW番号及びMACアドレス、すなわち、個々のONU506に関するRSW番号及びMACアドレスが対応付けられて格納されている。
しかし、管理テーブル508は、同一のRSW番号を存在させないことを前提として構築されたテーブルである。そのため、例えば、図5A及び図5Bに示すように、一方の通信システム500のOLT502の配下に、他方の通信システム500のPON14に属するONU506を収容する場合、1つのOLT502の配下に同一のRSW番号のONU506が複数存在することになる。この場合、同一のOLT502の配下においてRSW番号が重複しないように、保守者がONU506の設置場所に行ってRSW番号を変更する必要が生じる。また、ONU506の収容先を他のOLT502の配下に変更することに伴って同一のOLT502の配下に収容されるONU506の台数によっては、RSW番号が不足する事態も想定される。
なお、図5Bは、一方の通信システム500のOLT502の配下に、他方の通信システム500に属するONU506を収容する態様の一例を模式的に示す模式図である。実際に工事等で収容先を変更する場合には、一例として図5Bに示すように、収容先の通信システム500における基幹伝送路18の途中に新たなスターカプラ21が設けられ、新たなスターカプラ21と破線で示される収容変更する基幹伝送路18とが接続される。換言すると、2本の基幹伝送路18に接続された全てのONU506はスターカプラ20,21によって、1本の伝送路に集線される。
本実施形態に係る通信システム10では、RSW番号が不足する事態を想定して、一例として図2に示すように、OLT12の二次記憶部34が、管理テーブル構築プログラム70及び管理テーブル72を記憶している。また、一例として図3に示すように、ONU16の二次記憶部54が、ONU側制御プログラム74を記憶している。なお、管理テーブル構築プログラム70及びONU側制御プログラム74は、本発明に係るプログラムの一例である。
OLT12のCPU30は、二次記憶部34から管理テーブル構築プログラム70を読み出して一次記憶部32に展開し、管理テーブル構築プログラム70を実行することで、本発明に係る受信部及び制御部として動作する。また、CPU30が本発明に係る受信部及び制御部として動作することで、管理テーブル72は本発明に係る記憶部として用いられる。
また、ONU16のCPU50は、二次記憶部54からONU側制御プログラム74を読み出して一次記憶部52に展開し、ONU側制御プログラム74を実行することで、本発明に係る送信部として動作する。また、ONU16の受付デバイス58が本発明に係る受付部として動作し、かつ、CPU50が本発明に係る送信部として動作することで、二次記憶部54は本発明に係る保持部として用いられる。
管理テーブル72は、同一のOLT12の配下のONU16を個別に管理するためのテーブルである。管理テーブル72には、同一のONU16に対して複数のMACアドレスが対応付けられないように、RSW番号、本発明に係る補足番号の一例であるRSW拡張バイト値、及びMACアドレスが対応付けられている。
通信システム10では、一例として64台のONU16がOLT12による管理対象とされるため、OLT12は、管理テーブル72を用いて、64台分のONU16を管理する。そのため、一例として図6に示すように、管理テーブル72には、1〜64の整数の管理番号毎に、RSW番号、RSW拡張バイト値、及びMACアドレスが対応付けられて格納されている。
ここで、RSW拡張バイト値とは、例えば、既定台数を超える台数のONU16の各々をRSW番号との組み合わせで識別可能な数値としてRSW番号を補足する番号を指す。RSW拡張バイト値は、一例として図3に示すように、CPU50によって二次記憶部54の特定の記憶領域であるバイト値記憶領域54Aに記憶されることで保持される。ONU16において、バイト値記憶領域54Aが二次記憶部54で確保されていない場合、後述の管理テーブル構築処理及びONU側制御処理が実行されることによってバイト値記憶領域54Aが二次記憶部54で確保される。なお、本実施形態において、バイト値記憶領域54Aとは、1バイト分の記憶領域を指す。また、ここで言う「バイト値記憶領域54A」は、本発明に係る保持領域の一例である。
なお、管理テーブル72において互いに対応付けられているRSW番号、RSW拡張バイト値、及びMACアドレスは、本発明に係る対応情報の一例である。また、以下では、説明の便宜上、互いに対応付けられているRSW番号、RSW拡張バイト値、及びMACアドレスを「対応情報」と称する。
通信システム10において、ONU16は、対応情報を保持するONUである新ONU16Aと、RSW番号及びMACアドレスを保持し、かつ、RSW拡張バイト値を未保持の旧ONU16Bと、に類別される。
なお、新ONU16Aは、本発明に係る新通信先の一例であり、旧ONU16Bは、本発明に係る旧通信先の一例である。また、旧ONU16Bが保持するRSW番号及びMACアドレスは、本発明に係る旧対応情報の一例である。また、新ONU16Aが保持するRSW番号、RSW拡張バイト値、及びMACアドレスは、本発明に係る新対応情報の一例である。そこで、以下では、説明の便宜上、旧ONU16Bが保持するRSW番号及びMACアドレスを「旧対応情報」とも称し、これに対し、新ONU16Aが保持する対応情報を「新対応情報」とも称する。
新ONU16Aは、新対応情報を二次記憶部54に記憶することで保持する。旧ONU16Bは、旧対応情報を二次記憶部54に記憶することで保持する。
通信システム10では、OLT12のCPU30が、一例として図7に示すように、本発明に係る第1及び第2拡張OAMの一例である拡張OAM80に各種信号を定義し、定義済みの拡張OAM80を用いることで、ONU16の制御を行う。ここで、拡張OAM80に信号を定義するとは、例えば、拡張OAM80のフィールドに信号を格納することを意味する。ONU16の制御とは、例えば、旧ONU16Bに対してバイト値記憶領域54Aを確保させる制御、旧ONU16Bに対してバイト値記憶領域54AにRSW拡張バイト値を記憶させる制御、及び新ONU16AにRSW拡張バイト値を更新させる制御等を指す。
拡張OAM80は、OLT12の配下のONU16毎に規定されており、一例として図7に示すように、IEEE802.3ah Clause57に基づく8個のフィールドを有する。図7に示す例では、“Destination Address”、“Source Address”、“Length/Type”、“Subtype”、“Flags”、“code”、“Data/pad”、及び“FCS”の各フィールドが示されている。
“Destination Address”は、マルチキャストのMACアドレスを与えるフィールドであり、“Destination Address”には6バイトが割り当てられている。また、“Source Address”は、ONU16のMACアドレスを与えるフィールドであり、“Source Address”には6バイトが割り当てられている。
また、“Length/Type”は、OAMプロトコルを与えるフィールドであり、“Length/Type”には2バイトが割り当てられている。また、“Subtype”は、OAMの識別用のフィールドであり、“Subtype”には1バイトが割り当てられている。また、“Flags”は、拡張OAMフレームのセットが完了したか否かを識別するためのフィールドであり、“Flags”には2バイトが割り当てられている。なお、拡張OAMフレームとは、ONU16に対する送信用のフレームであって、拡張OAM80に基づくフレームを指す。
また、“code”は、ONU16からの状態通知用のフィールドであり、“code”には1バイトが割り当てられている。また、“Data/pad”は、拡張OAM80の主たるデータの格納領域であり、“Data/pad”には42バイトが割り当てられている。更に、“FCS”は、誤り検知用のフィールドであり、“FCS”には4バイトが割り当てられている。
拡張OAM80の“Data/pad”は、10個のフィールドに分割されている。図7に示す“Data/pad”における10個のフィールドのうちの“leaf”は、新ONU16Aに対してRSW拡張バイト値の更新、または初期設定を指示する情報が格納されるフィールドである。図7に示す“Data/pad”における10個のフィールドのうちの“value”は、ONU16に保持させるRSW拡張バイト値が格納されるフィールドである。“leaf”及び“value”の各フィールドには1バイトが割り当てられている。
次に、通信システム10の作用について説明する。
先ず、管理テーブル構築処理について、図8及び図9を参照して説明する。管理テーブル構築処理は、OLT12がONU16とリンクアップしていない状態でリンクアップを開始する指示が受付デバイス38によって受け付けられた場合にCPU30が管理テーブル構築プログラム70を実行することで実現される。
なお、以下では、説明の便宜上、OLT12で基幹伝送路18の一端が接続されるポートの番号であるポート番号として互いに異なるポート番号が付与された複数のOLT12の各々の配下のONU16が、同一のOLT12の配下に収容される場合を例に挙げて説明する。また、以下では、説明の便宜上、同一のOLT12の配下に収容される前のOLT12の配下で新ONU16Aが保持する新対応情報に含まれるRSW拡張バイト値が“00”であることを前提として説明する。また、以下では、説明の便宜上、新ONU16A及び旧ONU16BがPON14を介してOLT12に接続される場合について説明する。また、以下では、説明の便宜上、管理テーブル72で、RSW番号及びRSW拡張バイト値が“NULL”とされ、MACアドレスが“ff−ff−ff−ff−ff−ff”とされている状態で管理テーブル構築処理の実行が開始されることを前提として説明する。
また、図6に示す例において、“−”とは、“NULL”を意味する。また、図6に示す例において、“ff−ff−ff−ff−ff−ff”とは、管理テーブル72においてMACアドレスが未確定、すなわち、管理テーブル72にMACアドレスが未だに格納されていないことを意味する。
図8に示す管理テーブル構築処理では、先ず、ステップ100で、CPU30は、OLT12の配下のONU16とのリンクアップが完了したか否かを判定する。本ステップ100において、OLT12の配下のONU16とのリンクアップが完了していない場合は、判定が否定されて、ステップ100の判定が再び行われる。本ステップ100において、OLT12の配下のONU16とのリンクアップが完了した場合は、判定が肯定されて、ステップ102へ移行する。
ステップ102で、CPU30は、OLT12の配下のONU16のうち、処理対象とされるONU16である処理対象ONUを決定し、その後、ステップ104へ移行する。
ステップ104で、CPU30は、対応情報の送信を処理対象ONUに対して要求する信号である対応情報要求信号を光通信I/F44を介して処理対象ONUに送信し、その後、ステップ106へ移行する。
本ステップ104の処理が実行されることで処理対象ONUに対応情報要求信号が送信され、送信先である処理対象ONUが新ONU16Aの場合、後述のONU側制御処理のステップ204の処理が実行されることで新対応情報がOLT12に送信される。また、本ステップ104の処理が実行されることで処理対象ONUに対応情報要求信号が送信され、送信先である処理対象ONUが旧ONU16Bの場合、後述のONU側制御処理のステップ204の処理が実行されることで旧対応情報がOLT12に送信される。
そこで、ステップ106で、CPU30は、新対応情報を受信したか否かを判定する。本ステップ106において、新対応情報を受信していない場合は、判定が否定されて、ステップ122へ移行する。本ステップ106において、新対応情報を受信した場合は、判定が肯定されて、ステップ136へ移行する。
ステップ122で、CPU30は、旧対応情報を受信したか否かを判定する。本ステップ122において、旧対応情報を受信していない場合は、判定が否定されて、ステップ106へ移行する。本ステップ122において、旧対応情報を受信した場合は、判定が肯定されて、ステップ124へ移行する。
ステップ136で、CPU30は、処理対象ONUにてRSW拡張バイト値が未定義か否かを判定する。ここで、「RSW拡張バイト値が未定義」とは、例えば、バイト値記憶領域54AでのRSW拡張バイト値が不確定を示す“ff”であることを意味する。
ステップ136において、処理対象ONUにてRSW拡張バイト値が未定義でない場合は、判定が否定されて、図8に示すステップ108へ移行する。ステップ136において、処理対象ONUにてRSW拡張バイト値が未定義の場合は、判定が肯定されて、ステップ138へ移行する。
ステップ138で、CPU30は、拡張OAM80の“value”に、“00”をRSW拡張バイト値として格納し、その後、ステップ140へ移行する。“00”は、新対応情報に含まれるRSW番号のうち、旧対応情報に含まれるRSW番号と同一の番号であるRSW番号に対応付けられるRSW拡張バイト値とは異なるRSW拡張バイト値として予め定められた番号である。なお、本ステップ138の処理が実行されることで“value”に格納される“00”は、本発明に係る旧型用補足番号の一例である。
また、ここでの“00”は、あくまでも一例であり、新対応情報に含まれるRSW番号のうち、旧対応情報に含まれるRSW番号と同一の番号であるRSW番号に対応付けられるRSW拡張バイト値とは異なる固有のRSW拡張バイト値であればよい。
ステップ140で、CPU30は、ステップ138の処理が実行されることで“value”に“00”が格納された拡張OAM80に基づく拡張OAMフレームを光通信I/F44を介して処理対象ONUに送信する。
本ステップ140の処理が実行されることで処理対象ONUに拡張OAMフレームが送信されると、後述のONU側制御処理のステップ220の処理が実行されることでバイト値記憶領域54AにRSW拡張バイト値が記憶される。そして、後述のONU側制御処理のステップ222の処理が実行されることで第2完了信号が送信される。
そこで、次のステップ142で、CPU30は、第2完了信号を受信したか否かを判定する。本ステップ142において、第2完了信号を受信していない場合は、判定が否定されて、本ステップ142の判定が再び行われる。本ステップ142において、第2完了信号を受信した場合は、判定が肯定されて、ステップ108へ移行する。
ステップ108で、CPU30は、受信した新対応情報に含まれるMACアドレスが管理テーブル72に格納されているか否かを判定する。本ステップ108において、上記ステップ106の処理が実行されることで受信された新対応情報に含まれるMACアドレスが管理テーブル72に格納されている場合は、判定が肯定されて、ステップ110へ移行する。本ステップ108において、上記ステップ106の処理が実行されることで受信された新対応情報に含まれるMACアドレスが管理テーブル72に格納されていない場合は、判定が否定されて、ステップ112へ移行する。
ステップ110で、CPU30は、OLT12の配下の全てのONU16の対応情報が管理テーブル72に格納されたか否かを判定する。本ステップ110において、OLT12の配下の全てのONU16の対応情報が管理テーブル72に格納されていない場合は、判定が否定されて、ステップ102へ移行する。本ステップ110において、OLT12の配下の全てのONU16の対応情報が管理テーブル72に格納された場合は、判定が肯定されて、本管理テーブル構築処理を終了する。
ステップ112で、CPU30は、受信した新対応情報に含まれるRSW番号及びRSW拡張バイト値と同一関係にある一対の番号がRSW番号及びRSW拡張バイト値として管理テーブル72に未格納か否かを判定する。
本ステップ112において、受信した新対応情報に含まれるRSW番号及びRSW拡張バイト値と同一関係にある一対の番号がRSW番号及びRSW拡張バイト値として管理テーブル72に未格納の場合は、判定が肯定されて、ステップ114へ移行する。本ステップ112において、受信した新対応情報に含まれるRSW番号及びRSW拡張バイト値と同一関係にある一対の番号がRSW番号及びRSW拡張バイト値として管理テーブル72に格納されている場合は、判定が否定されて、ステップ116へ移行する。
ステップ114で、CPU30は、受信した新対応情報を管理テーブル72に格納し、その後、ステップ110へ移行する。
ステップ116で、CPU30は、拡張OAM80の“value”のRSW拡張バイト値を、他のONU16のうちの同一のRSW番号を有するONU16が保持するRSW拡張バイト値とは異なり、かつ、“00”以外のRSW拡張バイト値に更新する。すなわち、“value”のRSW拡張バイト値は、ステップ106の処理で受信した新対応情報に関する処理対象ONUのRSW番号とRSW拡張バイト値との組み合わせがOLT12の配下において固有の組み合わせになるRSW拡張バイト値に更新される。
なお、本ステップ116では、「“00”以外のRSW拡張バイト値」として、同一のOLT12の配下に収容される前に属していたOLT12に対するPON14のポート番号と同一の数値を採用している。また、本ステップ116の処理が実行されることで更新されて得られたRSW拡張バイト値は、本発明に係る新補足番号の一例である。
次のステップ118で、CPU30は、ステップ114の処理が実行されることでRSW拡張バイト値が更新された拡張OAM80に基づく拡張OAMフレームを光通信I/F44を介して処理対象ONUに送信する。
本ステップ118の処理が実行されることで処理対象ONUに拡張OAMフレームが送信されると、後述のONU側制御処理のステップ216の処理が実行されることでRSW拡張バイト値が更新される。そして、後述のONU側制御処理のステップ218の処理が実行されることで第1完了信号が送信される。
そこで、次のステップ120で、CPU30は、第1完了信号を受信したか否かを判定する。本ステップ120において、第1完了信号を受信していない場合は、判定が否定されて、本ステップ120の判定が再び行われる。本ステップ120において、第1完了信号を受信した場合は、判定が肯定されて、ステップ121へ移行する。
ステップ121で、CPU30は、受信した新対応情報に含まれるRSW番号及びMACアドレス、並びに、上記ステップ116の処理で更新されたRSW拡張バイト値を対応付けて対応情報として管理テーブル72に格納し、その後、ステップ110へ移行する。
一方、図8に示すステップ124で、CPU30は、処理対象ONUに対して新たにインストールされるファームウェアとして予め定められたファームウェアである新ファームウェアを処理対象ONUに転送し、その後、ステップ130へ移行する。なお、新ファームウェアは、新ONU16Aで新対応情報を管理可能なファームウェアであり、本発明に係る「新型のファームウェア」の一例である。
本ステップ124の処理が実行されることで処理対象ONUに新ファームウェアが転送されると、ONU側制御処理のステップ208の処理が実行されることで、処理対象ONUの旧型のファームウェアである旧ファームウェアが新ファームウェアに更新される。これにより、処理対象ONUの二次記憶部54にバイト値記憶領域54Aが確保される。なお、旧ファームウェアとは、例えば、旧ONU16Bで旧対応情報を管理可能なファームウェアを指す。
ステップ130で、CPU30は、処理対象ONUにて旧ファームウェアから新ファームウェアへの更新が完了したか否かを判定する。ステップ130において、処理対象ONUにて旧ファームウェアから新ファームウェアへの更新が完了していない場合は、判定が否定されて、本ステップ130の判定が再び行われる。ステップ130において、処理対象ONUにて旧ファームウェアから新ファームウェアへの更新が完了した場合は、判定が肯定されて、ステップ132へ移行する。
なお、処理対象ONUにて旧ファームウェアから新ファームウェアへの更新が完了すると、処理対象ONUはリブートする。
そこで、ステップ132で、CPU30は、処理対象ONUがリブートされたか否かを判定する。ステップ132において、処理対象ONUがリブートされていない場合は、判定が否定されて、本ステップ132の判定が再び行われる。ステップ132において、処理対象ONUがリブートされた場合は、判定が肯定されて、ステップ100へ移行する。
なお、処理対象ONUはリブートすると、一旦リンクダウンした後、再びリンクアップ動作を開始する。
次に、ONU側制御処理について、図10及び図11を参照して説明する。ONU側制御処理は、処理対象ONUの電源が投入された場合に処理対象ONUのCPU50がONU側制御プログラム74を実行することで実現される。
図10に示すONU側制御処理では、ステップ200で、CPU50は、OLT12とのリンクアップが完了したか否かを判定する。本ステップ200において、OLT12とのリンクアップが完了していない場合は、判定が否定されて、ステップ200の判定が再び行われる。本ステップ200において、OLT12とのリンクアップが完了した場合は、判定が肯定されて、ステップ202へ移行する。
ステップ202で、CPU50は、管理テーブル構築処理に含まれるステップ104の処理が実行されることで送信される対応情報要求信号を受信したか否かを判定する。本ステップ202において、管理テーブル構築処理に含まれるステップ104の処理が実行されることで送信される対応情報要求信号を受信した場合は、判定が肯定されて、ステップ204へ移行する。本ステップ202において、管理テーブル構築処理に含まれるステップ104の処理が実行されることで送信される対応情報要求信号を受信していない場合は、判定が否定されて、ステップ206へ移行する。
ステップ204で、CPU50は、処理対象ONUが新ONU16Aの場合、すなわち、処理対象ONUが新対応情報を保持している場合、新対応情報を光通信I/F64を介してOLT12に送信し、その後、ステップ224へ移行する。また、ステップ204で、CPU50は、処理対象ONUが旧ONU16Bの場合、すなわち、処理対象ONUが旧対応情報を保持している場合、旧対応情報を光通信I/F64を介してOLT12に送信し、その後、ステップ224へ移行する。
ステップ206で、CPU50は、管理テーブル構築処理に含まれるステップ124の処理が実行されることで送信される新ファームウェアを受信したか否かを判定する。ステップ206において、管理テーブル構築処理に含まれるステップ124の処理が実行されることで送信される新ファームウェアを受信した場合は、判定が肯定されて、ステップ208へ移行する。ステップ206において、管理テーブル構築処理に含まれるステップ124の処理が実行されることで送信される新ファームウェアを受信していない場合は、判定が否定されて、ステップ210へ移行する。
ステップ208で、CPU50は、ステップ206の処理において受信した新ファームウェアをインストールすることで、処理対象ONUの旧ファームウェアを新ファームウェアに更新し、その後、ステップ224へ移行する。なお、本ステップ208の処理が実行されることで処理対象ONUの旧ファームウェアが新ファームウェアに更新されると、処理対象ONUがリブートされる。処理対象ONUがリブートされると、処理対象ONUとOLT12との間が一旦リンクダウンされ、その後、処理対象ONUとOLT12とのリンクアップが再開される。
本ステップ208の処理が実行されることで旧ファームウェアが新ファームウェアに更新されると、二次記憶部54に、1バイト分のバイト値記憶領域が確保される。このように、処理対象ONUである旧ONU16Bの二次記憶部54に1バイト分のバイト値記憶領域54Aが確保されることによって、旧ONU16Bは、新ONU16Aへのバージョンアップが可能となる。
ステップ210で、CPU50は、管理テーブル構築処理に含まれるステップ118又はステップ140の処理が実行されることで送信される拡張OAMフレームを受信したか否かを判定する。
ステップ210において、管理テーブル構築処理に含まれるステップ118又はステップ140の処理が実行されることで送信される拡張OAMフレームを受信していない場合は、判定が否定されて、ステップ202へ移行する。ステップ210において、管理テーブル構築処理に含まれるステップ118又はステップ140の処理が実行されることで送信される拡張OAMフレームを受信した場合は、判定が肯定されて、図11に示すステップ212へ移行する。
ステップ212で、CPU50は、受信した拡張OAMフレームにより特定される拡張OAM80の“value”にRSW拡張バイト値が格納されているか否かを判定する。
ステップ212において、受信した拡張OAMフレームにより特定される拡張OAM80の“value”にRSW拡張バイト値が格納されていない場合は、判定が否定されて、図10に示すステップ224へ移行する。ステップ212において、受信した拡張OAMフレームにより特定される拡張OAM80の“value”にRSW拡張バイト値が格納されている場合は、判定が肯定されて、ステップ214へ移行する。
ステップ214で、CPU50は、バイト値記憶領域54AにRSW拡張バイト値が記憶されているか否かを判定する。ステップ214において、バイト値記憶領域54AにRSW拡張バイト値が記憶されている場合は、判定が肯定されて、ステップ216へ移行する。ステップ214において、バイト値記憶領域54AにRSW拡張バイト値が記憶されていない場合は、判定が否定されて、ステップ220へ移行する。
ここで、バイト値記憶領域54AにRSW拡張バイト値が記憶されているということは、処理対象ONUが新ONU16Aであることを意味する。また、バイト値記憶領域54AにRSW拡張バイト値が記憶されていないということは、処理対象ONUが旧ONU16Bであることを意味する。
ステップ216で、CPU50は、バイト値記憶領域54Aに現時点で記憶されているRSW拡張バイト値を、受信した拡張OAMフレームにより特定される拡張OAM80の“value”に格納されているRSW拡張バイト値に置き換えることで更新する。
次のステップ218で、CPU50は、RSW拡張バイト値の更新が完了したことを示す第1完了信号を光通信I/F64を介してOLT12に送信し、その後、図10に示すステップ224へ移行する。
ステップ220で、CPU50は、受信した拡張OAMフレームにより特定される拡張OAM80の“value”に格納されているRSW拡張バイト値をバイト値記憶領域54Aに記憶させ、その後、ステップ222へ移行する。
ステップ222で、CPU50は、RSW拡張バイト値のバイト値記憶領域54Aへの記憶が完了したことを示す第2完了信号を光通信I/F64を介してOLT12に送信し、その後、図10に示すステップ224へ移行する。
ステップ224で、CPU50は、ONU側制御処理を終了する条件(以下、「終了条件」と称する)を満足したか否かを判定する。終了条件としては、例えば、ONU側制御処理を終了する指示が受付デバイス58によって受け付けられたとの条件、又は、ONU側制御処理の実行が開始されてから既定時間(例えば、30分)が経過したとの条件等が挙げられる。
ステップ224において、終了条件を満足していない場合は、判定が否定されて、ステップ202へ移行する。ステップ224において、終了条件を満足した場合は、判定が肯定されて、本ONU側制御処理を終了する。
管理テーブル構築処理及びONU制御処理が実行されることで、例えば、図6の管理番号“1”〜“3”に示すデータ構造で管理テーブル72が構築される。
図6に示す例では、管理テーブル72において、管理番号“1”に対応するONU16、及び管理番号“3”に対応するONU16の各々に対して、RSW番号として“01”が2つ格納されている。そのため、仮に、RSW番号のみに依拠してONU16が識別されると、同一のONU16に対して異なるMACアドレスが対応づけられてしまう虞がある。
しかし、管理テーブル構築処理及びONU制御処理が実行されることで、管理番号“1”に対応するONU16に対しては、RSW拡張バイト値として“03”が対応付けられる。また、管理番号“3”に対応するONU16に対しては、RSW拡張バイト値として“04”が対応付けられる。
従って、管理番号“1”に対応するONU16及び管理番号“3”に対応するONU16は互いに異なるONU16としてOLT12によって認識され、同一のONU16に対して異なるMACアドレスが対応付けられるという事態の発生を回避することができる。
以上説明したように、ONU16では、受付デバイス38によって受け付けられたRSW番号、RSW拡張バイト値、及びMACアドレスが対応付けられて対応情報として二次記憶部54に記憶されることで保持される(ステップ216,220)。そして、ONU16がPON14を介してOLT12に接続された場合に、二次記憶部54に保持されている対応情報がOLT12に送信される(ステップ204)。
従って、ONU16は、複数のONU16に対して付与されたRSW番号がONU16間で重複している場合であっても、OLT12に対して複数のONU16を識別可能に管理させることができる。
また、OLT12では、新ONU16Aである処理対象ONUがPON14を介してOLT12に接続された場合に、処理対象ONUから新対応情報が送信される。そして、OLT12では、受信された新対応情報に含まれるMACアドレスと同一の番号がMACアドレスとして管理テーブル72に未格納であるか否かが判定される(ステップ108)。MACアドレスが未格納であると判定された場合、新対応情報に含まれるRSW番号及びRSW拡張バイト値と同一関係にある一対の番号がRSW番号及びRSW拡張バイト値として管理テーブル72に未格納であるか否かが判定される(ステップ112)。RSW番号及びRSW拡張バイト値が未格納であると判定された場合、新対応情報が管理テーブル72に格納される(ステップ114)。
従って、OLT12は、複数のONU16に対して付与されたRSW番号がONU16間で重複している場合であっても、複数のONU16を識別可能に管理することができる。
また、OLT12では、旧ONU16Bである処理対象ONUがPON14を介してOLT12に接続された場合に、処理対象ONUから旧対応情報が送信される(ステップ204)。また、OLT12では、処理対象ONUから送信された旧対応情報が受信される(ステップ122)。そして、OLT12では、RSW拡張バイト値として、新対応情報に含まれるRSW拡張バイト値とは異なる数値である“00”と、受信された旧対応情報とが対応付けられて管理テーブル72に格納される。
従って、OLT12は、旧ONU16Bである処理対象ONUがPON14を介してOLT12に接続された場合であっても、複数のONU16を識別可能に管理することができる。
また、OLT12では、旧ONU16Bである処理対象ONUがPON14を介してOLT12に接続された場合に、処理対象ONUの旧ファームウェアが新ファームウェアに更新されるように処理対象ONUが制御される(ステップ124,206,208)。
従って、OLT12は、通信システム10の保守者が介在して処理対象ONUのファームウェアの更新が行われる場合に比べ、処理対象ONUのファームウェアの更新に要する手間を軽減することができる。
また、OLT12では、処理対象ONUのファームウェアが更新されることで、処理対象ONUに対してバイト値記憶領域54Aが確保される(ステップ122,124,130,206,208)。
従って、OLT12は、旧ONU16がPON14を介してOLT12に接続された場合であっても、RSW拡張バイト値を保持可能な状態に旧ONU16Bを新ONU16Aにバージョンアップさせることができる。
また、OLT12では、旧ONU16Bである処理対象ONUに対してバイト値記憶領域54Aを新ファームウェアに更新することにより確保させた場合に、RSW拡張バイト値として“00”がバイト値記憶領域54Aに記憶されるように処理対象ONUが制御される(ステップ138,140)。なお、“00”は、旧ONU16Bである処理対象ONUと新ONU16Aとの区別を可能とする固有のRSW拡張バイト値である。
従って、OLT12は、旧ONU16Bを新ONU16Aと区別可能に管理することができる。
また、OLT12では、RSW拡張バイト値が拡張OAM80に定義される(ステップ138)。そして、OLT12では、定義済みの拡張OAM80が用いられることで、旧ONU16Bである処理対象ONUに対してバイト値記憶領域54AにRSW拡張バイト値を記憶させている(ステップ220)。
従って、OLT12は、RSW拡張バイト値を拡張OAM80に定義せずに処理対象ONUに対してRSW拡張バイト値を記憶させる場合に比べ、簡易な構成で、処理対象ONUに対してバイト値記憶領域54AにRSW拡張バイト値を記憶させることができる。
また、OLT12では、受信された新対応情報に含まれるMACアドレスと同一の番号がMACアドレスとして管理テーブル72に未格納であるか否かが判定される(ステップ108)。MACアドレスが未格納であると判定された場合、新対応情報に含まれるRSW番号及びRSW拡張バイト値と同一関係にある一対の番号がRSW番号及びRSW拡張バイト値として管理テーブル72に未格納であるか否かが判定される(ステップ112)。ここで、未格納でないと判定された場合、処理対象ONUのRSW番号とRSW拡張バイト値との組み合わせがOLT12の配下において固有の組み合わせになるRSW拡張バイト値に更新される(ステップ116,118,216)。
従って、OLT12は、RSW番号及びRSW拡張バイト値の組み合わせが同一のONU16がOLT12の配下に複数存在する場合であっても、複数のONU16を識別可能に管理することができる。
また、OLT12では、RSW番号との組み合わせがOLT12の配下で固有の組み合わせになるRSW拡張バイト値が拡張OAM80に定義される(ステップ116)。そして、OLT12では、定義済みの拡張OAM80が用いられることで、処理対象ONUのバイト値記憶領域54AのRSW拡張バイト値が更新される(ステップ216)。
従って、OLT12は、RSW拡張バイト値を拡張OAM80に定義せずに処理対象ONUに対してRSW拡張バイト値を更新させる場合に比べ、簡易な構成で、処理対象ONUに対してRSW拡張バイト値を更新させることができる。
なお、上記実施形態では、OLT12が主導してONU16に対してバイト値記憶領域54AにRSW拡張バイト値を記憶させ、管理テーブル72にONU16が登録されるようにしたが、本発明はこれに限定されるものではない。例えば、新規のONU16をOLT12の配下に収容する場合、及び運用中のONU16を転用する場合、ONU16のRSW58が操作されることで、RSW拡張バイト値がONU16に付与されて、管理テーブル72にONU16が登録されるようにしてもよい。
この場合、例えば、ONU16にて、RSW番号として“00”及び65〜96の整数が用いられ、“0”及び1〜32の何れかの整数がRSW拡張バイト値としてバイト値記憶領域54Aに記憶されるようにすればよい。
具体的には、先ず、ONU16の電源がオフされている状態で、RSW58が操作されることでRSW番号として“00”又は1〜32の何れかの整数が設定され、その後、ONU16の電源がオンされる。次に、電源がオフの際に設定されたRSW番号が“00”の場合、“00”がRSW拡張バイト値としてバイト値記憶領域54Aに記憶される。また、電源がオフの際に設定されたRSW番号が65〜96の何れかの整数であれば、RSW番号から64を減算して得た数値がRSW拡張バイト値としてバイト値記憶領域54Aに記憶される。そして、ONU16にて、再び電源がオフされ、任意のRSW番号が設定された後、ONU16の電源がオンされてONU16がOLT12と通信可能に接続される。これにより、OLT12によってONU16から新対応情報が取得され、取得された新対応情報が管理テーブル72に格納される。
また、上記実施形態では、管理テーブル構築処理に含まれるステップ116の処理にて、ポート番号と同一の数値がRSW拡張バイト値として強制的に用いられる場合について説明したが、本発明はこれに限定されるものではない。例えば、ポート番号が手動で設定されるようにし、手動で設定されたポート番号と同一の数値がRSW拡張バイト値として用いられるようにしてもよい。ポート番号が手動で設定されるとは、例えば、OLT12の受付デバイス38によって受け付けられた指示に従ってポート番号が設定される、ということを意味する。
例えば、一方のOLT12の配下のONU16を他方のOLT12の配下に新たに収容する場合、先ず、一方のPON14のOLT12に対するポート番号として“01”が手動で設定され、他方のPON14のOLT12に対するポート番号として“02”が手動で設定される。そして、一方のOLT12の配下のONU16に対しては、RSW拡張バイト値として、ポート番号と同一の数値である“01”が採用され、他方のOLT12の配下のONU16に対しては、RSW拡張バイト値として、ポート番号と同一の数値である“02”が採用される。従って、ポート番号が手動で設定され、手動で設定されたポート番号と同一の数値がRSW拡張バイト値として採用される場合であっても、上記実施形態と同様に、OLT12は、同一のOLT12の配下のONU16の各々を識別することができる。よって、上記実施形態と同様に、OLT12は、同一のONU16に対して複数のMACアドレスが対応付けられるという事態の発生を抑制することができる。
また、上記実施形態では、OLT12が拡張OAMフレームを用いて処理対象ONUを制御する場合について例示したが、本発明はこれに限定されるものではない。例えば、OLT12は、拡張OAMフレームとは異なるフレームを用いて、処理対象ONUに対してRSW拡張バイト値を送信するようにしてもよい。
また、上記実施形態では、通信システム10の保守者が介在することなく、OLT12の制御下で旧ONU16Bの旧ファームウェアが新ファームウェアに更新される場合を例示したが、本発明はこれに限定されるものではない。例えば、通信システム10の保守者を介在させて旧ONU16Bの旧ファームウェアが新ファームウェアに更新されるようにしてもよい。なお、以下では、説明の便宜上、通信システム10の保守者を単に「保守者」と称する。
この場合、上記実施形態で説明した図8及び図9に示す管理テーブル構築処理に代えて、一例として図12に示す管理テーブル構築処理がCPU30によって実行される。
図12に示す管理テーブル構築処理は、上記実施形態で説明した図8及び図9に示す管理テーブル構築処理に比べ、ステップ124、ステップ130、及びステップ132の処理に代えてステップ300及びステップ302の処理を有する点が異なる。また、図12に示す管理テーブル構築処理は、上記実施形態で説明した図8及び図9に示す管理テーブル構築処理に比べ、ステップ136〜142の処理を有しない点が異なる。
図12に示すステップ300で、CPU30は、処理対象ONUが現時点で保持している旧ファームウェアを新ファームウェアに更新することを保守者側装置(図示省略)に要求し、その後、ステップ302へ移行する。ここで、保守者側装置とは、例えば、OLT12に接続された管理装置であって、通信システム50の保守者(以下、単に「保守者」と称する)が使用する管理装置を指す。
ステップ300の処理が実行されることで、保守者は、処理対象ONUが現時点で保持している旧ファームウェアから新ファームウェアへの更新が要求されていることを、保守者側装置を介して認識することができる。
図12に示すステップ302で、CPU30は、処理対象ONUである旧ONU16Bについて、RSW拡張バイトを“00”と見做し、ステップ122で受信した旧対応情報に“00”のRSW拡張バイト値を対応付けて埋め込む(付加する)。これによりステップ122で受信した旧対応情報を新対応情報として扱うことができる。その後、処理はステップ108へ移行する。なお、CPU30がステップ302の上述する処理を行う時点で、処理対象ONUである旧ONU16Bが、保守者を介して新ファームウェアに更新されている必要はない。CPU30がステップ302にて行う上述の処理は、処理対象ONUである旧ONU16Bの状態に関わらず、OLT12が旧ONU16Bを、RSW拡張バイト値として“00”を有する新ONU16Aと見做して登録することに等しい。
このように、図12に示す管理テーブル構築処理が実行されると、処理対象ONUが旧ONU16Bであっても、旧ONU16Bが有する旧対応情報、及び見做し値である“00”のRSW拡張バイト値が対応情報として管理テーブル72に格納される(ステップ114)。従って、通信システム10は、OLT12に接続されるONU16が旧ONU16BであってもOLT12が旧ONU16Bを新ONU16Aと見做して登録するため、通信を継続することができる。
また、図12に示す管理テーブル構築処理とすることで、図12に示すステップ300にて旧ONU16Bのファームウェア更新が要求されていることを認識した保守者は、任意の時期に旧ONU16Bに対する新ファームウェア更新作業を実施することができる。なぜならば、上述の通り、通信システム10は、OLT12に接続されるONU16が旧ONU16Bであっても、旧ONU16Bのファームウェアが更新されるまでの間は、OLT12が旧ONU16Bを新ONU16Aと見做して登録するため、通信の継続が可能であるからである。
保守者によって処理対象ONUである旧ONU16Bの旧ファームウェアが新ファームウェアに更新され、OLT12と新ONU16Aがリンクアップしたならば、OLT12からの制御により、新ONU16Aに格納されるRSW拡張バイトを“00”と設定すればよい。この処理は、図11に示されるステップと同様である。これにより、OLT12にて見做し登録したRSW拡張バイトの値“00”と、新ONU16Aに格納されるRSW拡張バイトとが、整合される。
なお、処理対象ONUである旧ONU16Bと、OLT12の配下に存在しうるその他新ONU16Aとを識別できる値であれば、見做し値として登録するRSW拡張バイトの値は“00”に限定されるものではない。
以上、上記実施形態にて、通信システム10の保守者が介在することなくOLT12の制御下で旧ONU16Bの旧ファームウェアが新ファームウェアに更新される場合と、通信システム10の保守者を介在させて旧ONU16Bの旧ファームウェアが新ファームウェアに更新される場合とについて説明した。これら上記実施形態では、管理テーブル構築プログラム70を二次記憶部34から読み出す場合を例示したが、必ずしも最初から二次記憶部34に記憶させておく必要はない。例えば、図13に示すように、SSD又はUSBメモリなどの任意の可搬型の記憶媒体600に先ずは管理テーブル構築プログラム70を記憶させておいてもよい。この場合、記憶媒体600の管理テーブル構築プログラム70がOLT12にインストールされ、インストールされた管理テーブル構築プログラム70がCPU30によって実行される。
また、コアネットワーク24を介してOLT12に接続される他のコンピュータ又はサーバ装置等の記憶部に管理テーブル構築プログラム70を記憶させておき、管理テーブル構築プログラム70がOLT12の要求に応じてダウンロードされるようにしてもよい。この場合、ダウンロードされた管理テーブル構築プログラム70がCPU30によって実行される。
また、上記各実施形態では、ONU側制御プログラム74を二次記憶部54から読み出す場合を例示したが、必ずしも最初から二次記憶部54に記憶させておく必要はない。例えば、図14に示すように、記憶媒体602に先ずはONU側制御プログラム74を記憶させておいてもよい。この場合、記憶媒体602のONU側制御プログラム74がONU16にインストールされ、インストールされたONU側制御プログラム74がCPU50によって実行される。
また、通信網(図示省略)を介してONU16に接続される他のコンピュータ又はサーバ装置等の記憶部にONU側制御プログラム74を記憶させておき、ONU側制御プログラム74がONU16の要求に応じてダウンロードされるようにしてもよい。この場合、ダウンロードされたONU側制御プログラム74がCPU50によって実行される。
また、上記実施形態で説明した管理テーブル構築処理(図8、図9、及び図12参照)は、あくまでも一例である。従って、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよいことは言うまでもない。なお、ONU側制御処理(図10及び図11参照)についても同様である。
また、上記実施形態では、管理テーブル構築処理がCPU30を利用したソフトウェア構成により実現される場合を例示したが、あくまでも一例である。管理テーブル構築処理は、ハードウェア構成で実現されてもよい。この場合、複数の機能の回路を1つにまとめた集積回路であるASIC(Application Specific Integrated Circuit)やプログラマブルロジックデバイスを利用する例が挙げられる。また、管理テーブル構築処理は、ハードウェア構成とソフトウェア構成の組み合わせによって実現してもよい。なお、ONU側制御処理についても同様である。