(57)【要約】      （修正有）【課題】ＯＴＵフレームから再生するクロックをクライアントのクロックに追従させる。【解決手段】分離部１１０を介し、ＯＴＵフレームのデータとクロックを分離し、クロックをＤＰＬＬ１１５に出力し、ターミナル１１１はＯＴＵフレームに変換し、ペイロードデータを抽出し、クロックに基づき、ＦＩＦＯ１１２に格納すると共に、ヘッダからＪＣバイトを抽出する。監視部１１３により、ＪＣバイトからＯＴＵフレーム内のデータ量を計算すると共に、ターミナル１１１がＯＴＵフレームのペイロードにデータを出力するタイミングを示すバーストクロックを生成する。監視部１１３は、クロック、イネーブル信号を出力する。制御部１１４は、データ量に基づき、ＤＰＬＬ１１１のクロック周波数を追従させる。セレクタ１１７は、ステータス判定部１５６の制御に基づき、ＤＰＬＬ１１５のクロック、又はオシレータ１１６が発振したクロックを挿入部１１８に出力する。【選択図】図２
2016163275.tif 000002
【特許請求の範囲】
【請求項１】
受信対象となるデータを含む信号を受信する受信部と、
前記信号の信号クロックに基づき、前記データを出力するための出力クロックを生成する生成部と、
前記信号内のデータの量に基づき、前記データの送信元のクロックに追従させるように、前記出力クロックの周波数を制御する制御部と
を有することを特徴とする光伝送装置。
【請求項２】
前記生成部は、
前記信号に対する前記データの割合と前記信号クロックの周波数とを乗算した周波数と、前記出力クロックの周波数との差から位相差を算出する算出部と、
前記位相差に対する所定の特性に基づき、生成する出力クロックの周波数を変更する変更部と
を有し、
前記制御部は、前記信号内のデータの量に基づき、前記変更部の前記所定の特性を制御する
ことを特徴とする請求項１に記載の光伝送装置。
【請求項３】
前記位相差が所定の範囲内に含まれるか否かを判定する判定部と、
前記位相差が所定の範囲内に含まれると前記判定部が判定した場合は、前記出力クロックを選択し、前記位相差が前記所定の範囲内に含まれないと前記判定部が判定した場合は、所定の発振器が発振する発振クロックを選択する選択部と、
前記選択部が前記出力クロックを選択した場合は、当該出力クロックに基づき、前記データを出力し、前記選択部が前記発振クロックを選択した場合は、当該発振クロックに基づき、エラー信号を出力する出力部と、
を有し、
前記制御部は、前記信号内のデータの量に基づき、前記所定の範囲の上限又は下限の少なくとも一方を制御する
ことを特徴とする請求項２に記載の光伝送装置。
【請求項４】
前記制御部は、前記位相差に基づき、前記所定の範囲の上限又は下限の少なくとも一方を制御する
ことを特徴とする請求項３に記載の光伝送装置。
【請求項５】
前記データを一時的に記憶する記憶部を有し、
前記制御部は、前記記憶部が記憶するデータの量に基づき、前記所定の範囲の上限又は下限の少なくとも一方を制御する
ことを特徴とする請求項３または４に記載の光伝送装置。
【請求項６】
前記制御部は、前記信号内のデータの量と、前記位相差と、前記記憶部が記憶するデータの量に対して優先順位を付し、設定された優先順位に基づき、前記所定の範囲の上限又は下限の少なくとも一方を制御する
ことを特徴とする請求項５に記載の光伝送装置。
【請求項７】
光伝送装置が、
受信対象となるデータを含む信号の信号クロックに基づき、前記データを出力するための出力クロックを生成し、
前記信号内のデータの量に基づき、前記データの送信元のクロックに追従させるように、前記出力クロックの周波数を制御する
処理を実行することを特徴とする光伝送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光伝送装置及び光伝送制御方法に関する。
【背景技術】
【０００２】
近年、情報を伝送する伝送装置として、光伝送ネットワーク（OTN：Optical  Transport  Network）に対応する伝送装置が提供されている。かかる伝送装置は、クライアント側のクロックとＯＴＮ側のクロックとが異なる周波数であるため、送信対象となるクライアントデータをクライアント側のクロックからＯＴＮ側のクロックに載せ替えて伝送する。
【０００３】
例えば、伝送装置は、データの送信元となるクライアントからクライアント信号を受信すると、受信したクライアント信号内のクライアントデータをＦＩＦＯ（First  in  First  Out）に格納する。また、伝送装置は、ＯＴＮ側のクロックに基づき、ＦＩＦＯからクライアントデータを読出す。そして、伝送装置は、ＯＴＮ側のクロックとクライアント側のクロックとの位相差を吸収するスタッフデータとともに、ＦＩＦＯから読み出したクライアントデータを、ＯＴＵ（Optical  channel  Transport  Unit）フレームのペイロードにマッピングする。
【０００４】
また、伝送装置は、ペイロードにマッピングされたクライアントデータのデータ量を示すＣｍ値と、一定時間内のデータの増減を加算した値であるＣｎｄ値とを生成し、ＯＴＵフレームのヘッダにＣｍ値とＣｎｄ値とを格納する。そして、伝送装置は、ＯＴＮを介し、ＯＴＵフレームを対向する伝送装置に伝送する。
【０００５】
一方、対向する伝送装置は、受信したＯＴＵフレームからクライアントデータを抽出し、抽出したクライアントデータをＦＩＦＯに格納する。また、対向する伝送装置は、受信したＯＴＵフレームからＣｍ値及びＣｎｄ値を抽出し、抽出したＣｍ値及びＣｎｄ値を用いて、ＯＴＵフレーム内の理論上のデータ量とＣｍ値との差分であるＣｎ値を算出する。そして、対向する伝送装置は、ＯＴＵフレームからＯＴＮ側のクロックを再生し、再生したＯＴＮ側のクロック、抽出したＣｍ値及びＣｎ値を用いて、クライアントデータの送信元となるクライアントが使用したクロックを生成する。
【０００６】
より具体的には、対向する伝送装置は、再生されたＯＴＮ側のクロックの周波数に、ＯＴＵフレームのペイロードに対するクライアントデータの割合を積算した周波数と、クライアント側のクロックとして生成したクロックの周波数とを比較する。そして、対向する伝送装置は、比較結果が小さくなるように、生成するクロックの周波数を制御し、生成したクロックに基づき、ＦＩＦＯからクライアントデータを読み出して、読み出したクライアントデータを送信先となるクライアントに送信する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１５０４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した技術では、対向する伝送装置がデータの送信元となるクライアントのクロックを再生できず、エラーが生じる場合がある。
【０００９】
例えば、ＯＴＵフレームの送信元となる伝送装置でＯＴＮ側のクロックの擾乱が生じた場合は、理論上のデータ量に対してＯＴＮ側のクロックが変動するため、Ｃｍ値とＣｎ値とが短時間に大きく変動する。このため、対向側の伝送装置は、生成するクロックの周波数をデータの送信元となるクライアントのクロックに追従させることができず、ＦＩＦＯのオーバーフローやアンダーフローを生じさせる場合がある。
【００１０】
１つの側面では、生成するクロックの周波数をデータの送信元となるクライアントのクロックに追従させることができる光伝送装置及び光伝送制御方法を提供する。
【課題を解決するための手段】
【００１１】
一つの態様では、光伝送装置は、受信部、生成部、及び制御部を有する。受信部は、受信対象となるデータを含む信号を受信する。生成部は、受信した信号の信号クロックに基づき、データを出力するための出力クロックを生成する。制御部は、受信した信号内のデータの量に基づき、データの送信元のクロックに追従させるように、出力クロックの周波数を制御する。
【発明の効果】
【００１２】
１つの側面では、生成するクロックの周波数をデータの送信元となるクライアントのクロックに追従させることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係る伝送システムの一例を示すブロック図である。
【図２】図２は、伝送ユニット内の構成の一例を示すブロック図である。
【図３】図３は、ＯＴＵフレームの一例を説明する説明図である。
【図４】図４は、演算部内の機能構成の一例を示すブロック図である。
【図５】図５は、ターミナル及び監視部内の機能構成の一例を示すブロック図である。
【図６】図６は、ＤＰＬＬ及び制御部内の機能構成の一例を示すブロック図である。
【図７】図７は、伝送ユニットの動作の一例を示すフローチャートである。
【図８】図８は、伝送ユニットのジッタートレランス測定の一例を示すブロック図である。
【図９】図９は、実施例２に係る伝送ユニット内の機能構成の一例を示すブロック図である。
【図１０】図１０は、伝送ユニット内の制御部及びＤＰＬＬの機能構成の一例を示すブロック図である。
【図１１】図１１は、位相比較部内の機能構成の一例を示すブロック図である。
【図１２】図１２は、位相比較部がΔＦを算出する処理の一例を説明する説明図である。
【図１３】図１３は、ＦＩＦＯ容量監視部内の機能構成の一例を示すブロック図である。
【図１４】図１４は、閾値制御部内の機能構成の一例を説明するブロック図である。
【図１５】図１５は、上限閾値制御部内の機能構成の一例を説明するブロック図である。
【図１６】図１６は、データ量テーブルが出力する値の一例を示す説明図である。
【図１７】図１７は、ΔＦテーブルが出力する値の一例を示す説明図である。
【図１８】図１８は、ＦＩＦＯ容量テーブルが出力する値の一例を示す説明図である。
【図１９】図１９は、優先順位制御部が実行する処理の一例を説明する説明図である。
【図２０】図２０は、上限変更タイミング制御部の機能構成の一例を示すブロック図である。
【図２１】図２１は、ステータス判定部の機能構成の一例を説明する図である。
【図２２】図２２は、比較部の動作の一例を説明する説明図である。
【図２３】図２３は、従来のロック制御の一例を説明する説明図である。
【図２４】図２４は、伝送ユニットが閾値を変更する動作を説明する説明図である。
【図２５】図２５は、位相差が所定の範囲内か確認する動作の一例を説明するフローチャートである。
【図２６】図２６は、変更タイミングを設定する動作の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下に図面を参照して、本発明にかかる光伝送装置及び光伝送制御方法の実施の形態を詳細に説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施例は、一例を示すに過ぎず、本願の開示する光伝送装置及び光伝送制御方法の実施の形態が限定されるものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【実施例１】
【００１５】
図１は、実施例１に係る伝送システムの一例を示すブロック図である。図１に示すように、伝送システム１は、光伝送装置１０、１０ａ、クライアント＃２０〜＃２５、＃２０ａ〜＃２５ａ及びネットワーク３０を有する。ここで、ネットワーク３０は、例えば、ＯＴＮである。また、クライアント＃２０〜＃２５は、光伝送装置１０に接続され、クライアント＃２０ａ〜＃２５ａは、光伝送装置１０ａに接続される。以下の説明では、光伝送装置１０に接続されたクライアント＃２０〜＃２５を総称してクライアント２０と記載し、光伝送装置１０ａに接続されたクライアント＃２０ａ〜＃２５ａを総称してクライアント２０ａと記載する場合がある。
【００１６】
光伝送装置１０、１０ａは、例えば、ＯＴＮを介してデータの送受信を行う伝送装置である。具体的には、光伝送装置１０は、クライアント２０と接続されており、ネットワーク３０を介してクライアント２０がクライアント２０ａに送信するデータを光伝送装置１０ａに送信する。光伝送装置１０ａは、クライアント２０ａと接続されており、ネットワーク３０を介して光伝送装置１０から受信したデータをクライアント２０ａに送信する。
【００１７】
クライアント２０は、クライアント２０ａとの間でデータの送受信を行うクライアントである。例えば、クライアント２０は、送信対象となるデータ（以下、クライアントデータと記載する。）をクライアント側のクロック（以下、クライアントクロックと記載する。）に基づいて、光伝送装置１０に出力する。そして、光伝送装置１０は、ＯＴＮ側のクロック（以下、システムクロックと記載する。）に基づいて、クライアントデータを光伝送装置１０ａに送信する。例えば、クライアント＃２０は、光ファイバを介して伝送ユニット１４に入力される。なお、クライアント＃２０〜＃２５、＃２０ａ〜＃２５ａは、同じ局舎や都市にある場合もあるし、各々別の局舎や都市にある場合もある。
【００１８】
一方、光伝送装置１０ａは、受信したクライアントデータからクライアント２０が使用するクライアントクロックを再生する。そして、光伝送装置１０ａは、再生したクライアントクロックに基づいて、受信したクライアントデータをクライアント２０ａに出力する。ここで、各クライアント２０、２０ａは、クライアント＃２０〜＃２５で同一のクロックソースを利用し、同一のクライアントクロックで動作する場合もあり、別々の周波数で動作する場合もある。
【００１９】
以下、光伝送装置１０、１０ａの構成について説明する。光伝送装置１０は、冷却ファン１１、複数のシステムクロック生成部１２、１３及び複数の伝送ユニット１４〜１９を有する。また、光伝送装置１０ａは、冷却ファン１１ａ、複数のシステムクロック生成部１２ａ、１３ａ及び複数の伝送ユニット１４ａ〜１９ａを有する。
【００２０】
なお、光伝送装置１０ａの冷却ファン１１ａ、複数のシステムクロック生成部１２ａ、１３ａは、光伝送装置１０の冷却ファン１１、複数のシステムクロック生成部１２、１３と同様の機能を発揮するものとして、説明を省略する。また、伝送ユニット１５〜１９、１４ａ〜１９ａは、伝送ユニット１４と同様の機能を発揮するものとする。なお、伝送ユニット１５〜１９、１５ａ〜１９ａについては、以下の説明を省略する。
【００２１】
冷却ファン１１は、例えば、光伝送装置１０内の各種ハードウェアを冷却するためのファンである。システムクロック生成部１２、１３は、例えば、各伝送ユニット１４〜１９に対し、システムクロックを供給するクロック供給装置であり、冗長構成である。
【００２２】
伝送ユニット１４は、例えば、ネットワーク３０を介して、光伝送装置１０ａの伝送ユニット１４ａ〜１９ａとの間でデータの送受信を行う伝送装置である。伝送ユニット１４は、クライアント２０からクライアントデータが格納されたクライアント信号を受信すると、クライアント信号をクライアントクロックとクライアントデータとに分離する。そして、伝送ユニット１４は、クライアントデータをＯＴＵフレームに格納する。例えば、伝送ユニット１４は、ＯＴＵフレームのペイロードよりも少ないデータ量のクライアントデータをＯＴＵフレームに格納し、残りの領域に所定のスタッフデータを格納する。
【００２３】
また、伝送ユニット１４は、ＯＴＵフレームの送信先となる伝送ユニット（例えば、伝送ユニット１４ａ）がクライアント２０が使用するクロックを再生するための情報として、クライアントクロックとシステムクロックとの差分を示す差分情報を生成する。例えば、伝送ユニット１４は、ペイロードにマッピングされたクライアントデータのデータ量を示すＣｍ値と、一定時間内の有効データの増減を加算した値であるＣｎｄ値とを生成し、Ｃｍ値とＣｎｄ値とをＯＴＵフレームのヘッダに格納する。そして、伝送ユニット１４は、システムクロックに基づき、ＯＴＵフレームを含むデータ信号を伝送ユニット１４ａに送信する。
【００２４】
伝送ユニット１４ａは、受信したデータ信号から伝送ユニット１４のシステムクロックを再生するとともに、ＯＴＵフレームを取得する。そして、伝送ユニット１４ａは、ＯＴＵフレームからクライアントデータとＣｍ値とＣｎｄ値とを抽出し、再生したシステムクロックに基づいて、クライアントデータをＦＩＦＯに格納する。また、伝送ユニット１４ａは、再生したシステムクロック、抽出したＣｍ値及びＣｎｄ値を用いて、クライアント２０が使用するクライアントクロックを再生する。そして、伝送ユニット１４ａは、再生したクライアントクロック（以下、出力クロックと記載する。）に基づき、クライアントデータをＦＩＦＯから読み出し、読み出したデータをクライアント２０ａに出力する。
【００２５】
ここで、伝送ユニット１４ａは、ＤＰＬＬ（Digital  Phase  Locked  Loop）を用いて、再生したシステムクロック、抽出したＣｍ値及びＣｎｄ値に基づき、出力クロックを生成する。具体的には、伝送ユニット１４ａは、抽出したＣｍ値及びＣｎｄ値に基づいてＣｎ値を算出し、Ｃｍ値及びＣｎ値からペイロードに格納されたクライアントデータの割合を求める。また、伝送ユニット１４ａは、求めたクライアントデータの割合と再生したシステムクロックの周波数とを積算し、積算した周波数と、フィードバックされた出力クロックの周波数との差を算出する。そして、伝送ユニット１４ａは、算出した差が「０」となるように、出力クロックの周波数を変更するフィードバック制御を行う。
【００２６】
しかしながら、システムクロック生成部１２に障害が発生し、システムクロックの供給元がシステムクロック生成部１２からシステムクロック生成部１３に切り替わった場合は、伝送ユニット１４のシステムクロックに擾乱が生じる。かかる場合、理論上のデータ量に対して伝送ユニット１４のシステムクロックが短時間で大きく変動するため、Ｃｍ値やＣｎ値は、短時間で大きく変動してしまう。その結果、伝送ユニット１４ａは、出力クロックをクライアント２０のクライアントクロックに追従させることができず、ＦＩＦＯのオーバーフローやアンダーフローを生じさせてしまう。
【００２７】
そこで、伝送ユニット１４ａは、以下の処理を実行する。まず、伝送ユニット１４ａは、ＯＴＵフレームから再生したシステムクロック、ＯＴＵフレームから抽出したＣｍ値及びＣｎ値に基づき、出力クロックを生成する。そして、伝送ユニット１４ａは、ＯＴＵフレームに格納されたクライアントデータの量に基づき、出力クロックの周波数を、クライアント２０のクライアントクロックに追従させるように制御する。
【００２８】
例えば、伝送ユニット１４ａは、特定したクライアントデータの量が前回よりも増加した場合は、出力クロックの周波数を高くし、特定したクライアントデータの量が前回よりも減少した場合は、出力クロックの周波数を低くする。そして、伝送ユニット１４ａは、生成した出力クロックに基づき、受信したクライアントデータをクライアント２０ａに送信する。
【００２９】
上述のように、伝送ユニット１４ａは、受信したクライアントデータの量に基づき、出力クロックの周波数を制御する。その結果、伝送ユニット１４ａは、伝送ユニット１４でクロックの擾乱にＤＰＬＬのフィードバック制御が追従できない場合にも、出力クロックを瞬時にクライアント２０のクライアントクロックに追従させることができる。このため、伝送ユニット１４ａは、例えば、ＦＩＦＯのオーバーフローやアンダーフローを防ぐことができる。
【００３０】
また、Ｃｍ値やＣｎ値は、クライアントクロックに左右されない。このため、伝送ユニット１４ａは、例えば、ＦＩＦＯに格納されたデータ量等、他の情報を用いて出力クロックの周波数を制御する場合と比較して、出力クロックの周波数を瞬時に制御することができる。
【００３１】
なお、上述した説明では、伝送ユニット１４〜１９、１５ａ〜１９ａは、伝送ユニット１４ａと同様に、クライアントデータの量に基づき、出力クロックの周波数を制御するものとする。以下の説明では、伝送ユニット１４ａと同様に、ＯＴＵフレームを受信した際に、クライアントデータのデータ量に基づき、出力クロックの周波数を制御する伝送ユニット１４について説明する。
【００３２】
図２は、伝送ユニット内の構成の一例を示すブロック図である。なお、図２に示す例では、クライアントクロックやシステムクロックを細線矢印で記載し、クライアントデータを太線矢印で記載した。
【００３３】
伝送ユニット１４は、例えば、光モジュール１００、１０８、１０９、１１９、分離部１０１、１１０、ターミナル１０２、１１１、ＦＩＦＯ１０３、１１２、セレクタ１０４、クロック供給部１０５、演算部１０６及び挿入部１０７、１１８を有する。また、伝送ユニット１４は、例えば、監視部１１３、制御部１１４、ＤＰＬＬ１１５、オシレータ１１６及びセレクタ１１７を有する。
【００３４】
光モジュール１００、分離部１０１、ターミナル１０２、ＦＩＦＯ１０３、セレクタ１０４、クロック供給部１０５、演算部１０６、挿入部１０７、光モジュール１０８は、ＯＴＵフレームの送出時に用いる機能構成である。また、光モジュール１００、分離部１０１、ターミナル１０２は、クライアント２０が使用するクライアントクロックに基づき動作する。また、演算部１０６、挿入部１０７、光モジュール１０８は、システムクロック生成部１２、１３が生成するシステムクロックに基づき動作する。
【００３５】
光モジュール１０９、分離部１１０、ターミナル１１１、ＦＩＦＯ１１２、監視部１１３、制御部１１４、ＤＰＬＬ１１５、オシレータ１１６、セレクタ１１７、挿入部１１８、光モジュール１１９は、ＯＴＵフレームの受信時に用いる機能構成である。また、光モジュール１０９、分離部１１０、ターミナル１１１、監視部１１３、制御部１１４は、ＯＴＵフレームから再生される伝送ユニット１４ａのシステムクロックに基づき動作する。セレクタ１１７、挿入部１１８、光モジュール１１９は、ＤＰＬＬ１１５が生成する出力クロック、すなわち、再生したクライアント２０ａのクライアントクロックに基づき動作する。
【００３６】
以下、ＯＴＵフレームの送信時に用いる機能構成を先に説明し、その後、ＯＴＵフレームの受信時に用いる機能構成を説明する。光モジュール１００は、クライアント２０からクライアントクロックに基づくクライアント信号を受信する。そして、光モジュール１００は、クライアント信号を分離部１０１に出力する。
【００３７】
分離部１０１は、クライアント信号からクライアントクロックを再生し、クライアント信号をクライアントクロックとクライアントデータとに分離する。そして、分離部１０１は、クライアントクロックとクライアントデータとをターミナル１０２に出力する。
【００３８】
ターミナル１０２は、クライアントデータの終端処理（ターミネーション）を行う。そして、ターミナル１０２は、クライアントクロックに基づき、終端処理を行ったクライアントデータをＦＩＦＯ１０３に格納する。また、ターミナル１０２は、クライアントクロックを演算部１０６に出力する。
【００３９】
ＦＩＦＯ１０３は、クライアントデータを一時的に記憶する記憶部である。例えば、ＦＩＦＯ１０３は、ターミナル１０２から供給されるクライアントクロックに基づき、クライアントデータを記憶する。そして、ＦＩＦＯ１０３は、後述するように、クロック供給部１０５から供給されるシステムクロックに基づき、記憶したクライアントデータを挿入部１０７に出力する。
【００４０】
セレクタ１０４は、システムクロック生成部１２、１３が生成するシステムクロックから、伝送ユニット１４が使用するシステムクロックを選択する。セレクタ１０４は、例えば、システムクロック生成部１２が生成するシステムクロックをクロック供給部１０５に出力する。そして、セレクタ１０４は、システムクロック生成部１２に障害が生じた場合は、クロック供給部１０５に出力するクロックをシステムクロック生成部１３が生成するシステムクロックに切替える。
【００４１】
クロック供給部１０５は、システムクロックを分配供給する。クロック供給部１０５は、例えば、セレクタ１０４から受信したシステムクロックを、ＦＩＦＯ１０３、演算部１０６、挿入部１０７に出力する。なお、クロック供給部１０５は、システムクロック生成部１２、１３が分周されたシステムクロックを供給する場合は、かかるシステムクロックを逓倍して、ＦＩＦＯ１０３、演算部１０６、挿入部１０７に出力する。
【００４２】
演算部１０６は、Ｃｍ値とＣｎ値を算出する。演算部１０６は、例えば、システムクロックと、クライアントクロックと、ＦＩＦＯ１０３に格納されたデータ量とに基づき、Ｃｎ値を生成し、算出したＣｎ値からＣｍ値とＣｎｄ値とを算出する。
【００４３】
挿入部１０７は、入力されたシステムクロックに基づき、ＦＩＦＯ１０３から送信対象となるクライアントデータを読み出し、読み出したクライアントデータとスタッフデータとをＯＴＵフレームのペイロード領域に格納する。そして、挿入部１０７は、演算部１０６が算出したＣｍ値とＣｎｄ値とをＯＴＵフレームのヘッダに挿入し、ＯＴＵフレームを光モジュール１０８に出力する。
【００４４】
光モジュール１０８は、挿入部１０７からＯＴＵフレームのデータ信号を受信すると、ＯＴＵフレームのデータ信号を光信号に変換し、ネットワーク３０を介して、対向する伝送ユニットへ光信号を送信する。
【００４５】
図３は、ＯＴＵフレームの一例を説明する説明図である。なお、図３に示す例では、ＯＴＵフレームのうち、行方向（Ｃｏｌｕｍｎ）の１５バイト目から３８２４バイト目まで、列方向（Ｒｏｗ）の１ビット目から４ビット目までを記載した。ＯＴＵフレームの行方向の１５バイト目と１６バイト目は、ヘッダ領域が設定されており、かかるヘッダ領域には、Ｃｍ値やＣｎｄ値を含むＪＣバイトであるＪＣ１〜６が設定されている。
【００４６】
挿入部１０７は、例えば、ＪＣ４とＪＣ５のうち、４ビット目から８ビット目までに設定されるＤ１〜Ｄ１０の１０ビットの領域にＣｎｄ値を格納する。また、挿入部１０７は、例えば、ＪＣ１の１ビット目から８ビット目、及びＪＣ２の１ビット目から６ビット目までに設定されるＣ１〜Ｃ１４の１４ビットの領域に、Ｃｍ値を格納する。
【００４７】
また、挿入部１０７は、ＯＴＵフレームの１７バイト目から３８２４バイト目までをペイロード領域とする。挿入部１０７は、例えば、クライアントクロックとシステムクロックとの周波数の差を吸収するため、ペイロード領域にクライアントデータとスタッフデータ（例えば、値「０」）とを格納する。そして、挿入部１０７は、ＯＴＵフレームのデータ信号を光モジュール１０８に出力する。
【００４８】
図２に戻り、ＯＴＵフレームの受信時に用いる機能構成について説明する。なお、以下の説明では、クライアント２０ａがクライアント２０へ送信したクライアントデータが格納されたＯＴＵフレームを伝送ユニット１４が受信した場合を想定する。
【００４９】
光モジュール１０９は、ネットワーク３０を介し、ＯＴＵフレームの光信号を受信する。そして、光モジュール１０９は、受信した光信号をＯＴＵフレームのデータ信号に変換し、データ信号を分離部１１０に出力する。
【００５０】
分離部１１０は、ＯＴＵフレームのデータ信号からシステムクロックを分離し、ＯＴＵフレームのデータ信号とシステムクロックとをターミナル１１１に出力する。そして、分離部１１０は、システムクロックをＤＰＬＬ１１５に出力する。
【００５１】
ターミナル１１１は、分離部１１０から入力されたＯＴＵフレームのデータ信号の終端処理を行い、データ信号をＯＴＵフレームに変換する。また、ターミナル１１１は、ＯＴＵフレームのペイロードに格納されたデータを抽出し、後述するバーストクロックに基づき、抽出したデータをＦＩＦＯ１１２に格納する。そして、ターミナル１１１は、ＯＴＵフレームのヘッダから、ＪＣバイトを抽出し、抽出したＪＣバイトを監視部１１３に出力する。
【００５２】
監視部１１３は、入力されたＪＣバイトから、Ｃｍ値とＣｎｄ値とを取得し、Ｃｍ値とＣｎｄ値とからＣｎ値とを算出する。また、監視部１１３は、Ｃｍ値とＣｎ値とからＯＴＵフレーム内に格納されたクライアントデータの量（以下、クライアントデータ量と記載する。）を計算する。そして、監視部１１３は、算出したクライアントデータ量を制御部１１４に出力する。
【００５３】
また、監視部１１３は、ターミナル１１１がＯＴＵフレームのペイロードに格納されたデータを順次出力した場合に、クライアントデータが出力されるタイミングを示すバーストクロックを、Ｃｍ値とＣｎ値とスタッフデータとに基づき生成する。そして、監視部１１３は、生成したバーストクロックをターミナル１１１とＦＩＦＯ１１２とに出力する。なお、監視部１１３は、クライアントデータをターミナル１１１が出力するタイミングを示すデータイネーブル信号をＤＰＬＬ１１５に出力する。
【００５４】
制御部１１４は、クライアントデータ量に基づき、ＤＰＬＬ１１５を制御し、クライアント２０ａのクライアントクロックに追従するように、出力クロックの周波数を制御する。制御部１１４は、例えば、監視部１１３から受付けたクライアントデータ量の変動量が所定の閾値よりも多い場合は、ＤＰＬＬ１１５を制御し、出力クロックの周波数を高くする。一方、制御部１１４は、監視部１１３から受付けたクライアントデータ量の変動量が所定の閾値よりも少ない場合は、ＤＰＬＬ１１５を制御し、出力クロックの周波数を低くする。
【００５５】
ＤＰＬＬ１１５は、再生されたシステムクロック、Ｃｍ値およびＣｎ値に基づいて、出力クロックを生成する。具体的には、ＤＰＬＬ１１５は、分離部１１０が分離したシステムクロック及び監視部１１３から入力されたデータイネーブル信号に基づいて、生成する出力クロックの周波数を変更する。また、ＤＰＬＬ１１５は、制御部１１４の制御に従い、生成する出力クロックの周波数を制御し、クライアント２０ａが使用したクライアントクロックに出力クロックの周波数を追従させる。なお、ＤＰＬＬ１１５が実行する具体的な処理については、後述する。
【００５６】
オシレータ１１６は、所定の周波数を有するクロックを発振する発振器である。セレクタ１１７は、後述するステータス判定部１５６の制御に基づき、ＤＰＬＬ１１５が生成した出力クロック、又は、オシレータ１１６が発振したクロックを挿入部１１８に出力する。
【００５７】
挿入部１１８は、セレクタ１１７がＤＰＬＬ１１５が生成した出力クロックを選択した場合は、選択された出力クロックに基づき、ＦＩＦＯ１１２からクライアントデータを読出す。そして、挿入部１１８は、読み出したクライアントデータと出力クロックとを光モジュール１１９に出力する。そして、光モジュール１１９は、出力クロックに基づき、クライアントデータをクライアント２０に出力する。
【００５８】
一方、挿入部１１８は、セレクタ１１７がオシレータ１１６が発振したクロックを選択した場合は、選択されたクロックに基づき、エラーが生じた旨を示すエラー信号を生成し、生成したエラー信号を光モジュール１１９に出力する。そして、光モジュール１１９は、エラー信号をクライアント２０に出力する。
【００５９】
続いて、演算部１０６の一例を説明する。図４は、演算部内の機能構成の一例を示すブロック図である。図４に示す例では、演算部１０６は、ＣＴＲ（カウンタ）１２０、加算器１２１、レンジチェッカ１２２、Ｃｎ値生成部１２３及び除算器１２４を有する。
【００６０】
ＣＴＲ１２０は、ロード端子（ＬＤ）、イネーブル端子（ＥＮ）、クロック端子（ＣＫ１）を有し、イネーブル端子がＨｉｇｈの状態でＣＫ１に入力されたパルスの数をカウントアップするカウンタである。また、ＣＴＲ１２０は、ロード端子がＬｏｗの状態で、カウントした値をリセットする。
【００６１】
ＣＴＲ１２０のロード端子には、クロック供給部１０５からシステムクロック（ＳＹＳ  ＣＬＫ）を一定周期分周した（例えば8kHz周期）FP（Frame  Pulse）が入力される。ＣＴＲ１２０のイネーブル端子には、ＦＩＦＯ１０３からクライアントデータが出力される際にＨｉｇｈとなるデータイネーブル信号（ＤＡＴＡ  Ｅｎ）が入力される。また、ＣＴＲ１２０のクロック端子には、ターミナル１０２からクライアントクロック（Ｃｌｉｅｎｔ  ＣＬＫ）が入力される。かかるＣＴＲ１２０は、データイネーブル信号がＨｉｇｈとなっている間、クライアントクロックのパルスの数を計数し、加算器１２１に出力する。
【００６２】
加算器１２１は、所定の時間間隔の間、ＣＴＲ１２０が出力したクライアントクロックのパルスの数を随時加算していき、所定の時間間隔が経過すると、加算結果の値をレンジチェッカ１２２に出力する。
【００６３】
レンジチェッカ１２２は、加算器１２１から受付けた値が所定の範囲内に収まるか否かを判定する。そして、レンジチェッカ１２２は、加算器１２１から受付けた値が所定の範囲内に収まる場合は、受付けた値をＣｎ値生成部１２３に出力する。一方、レンジチェッカ１２２は、加算器１２１から受付けた値が所定の範囲内に収まらない場合は、前回出力した値を再度Ｃｎ値生成部１２３に出力する。
【００６４】
Ｃｎ値生成部１２３は、レンジチェッカ１２２から受付けた値から、Ｃｎ値を算出する。そして、Ｃｎ値生成部１２３は、算出したＣｎ値を除算器１２４に出力する。
【００６５】
除算器１２４は、Ｃｎ値生成部１２３が生成したＣｎ値を、ＯＴＵフレームのペイロードデータ領域を区分けした仮想スロット数であるＴｒｉｂｕｔａｒｙ  Ｓｌｏｔ数で除算した商をＣｍ値とし、余剰をＣｎｄ値として算出する。そして、除算器１２４は、算出したＣｍ値とＣｎｄ値とを挿入部１０７に出力する。
【００６６】
続いて、ターミナル１１１と監視部１１３の一例を説明する。図５は、ターミナル及び監視部内の機能構成の一例を示すブロック図である。例えば、ターミナル１１１は、ＯＴＵフレーム変換部１３０及びＪＣバイト抽出部１３１を有する。また、監視部１１３は、再生部１４０、レンジチェック部１４１及びクライアントデータ量計算部１４２を有する。
【００６７】
ＯＴＵフレーム変換部１３０は、分離部１１０からＯＴＵフレームのデータ信号（ＯＴＵ  ＤＡＴＡ）と、システムクロックとを受信する。かかる場合、ＯＴＵフレーム変換部１３０は、システムクロックに基づき、ＯＴＵフレームのデータ信号をＯＴＵフレームに変換し、ＯＴＵフレームをＪＣバイト抽出部１３１に出力する。かかる場合、ＪＣバイト抽出部１３１は、ＯＴＵフレームからＪＣバイトを抽出する。そして、ＪＣバイト抽出部１３１は、抽出したＪＣバイトを監視部１１３に出力する。
【００６８】
一方、再生部１４０は、ＪＣバイトを受信すると、受信したＪＣバイトからＣｍ値とＣｎｄ値とを再生し、再生したＣｍ値とＣｎｄ値とをレンジチェック部１４１に出力する。また、再生部１４０は、再生したＣｍ値とＣｎｄ値とスタッフデータを用いて、バーストクロックを生成し、生成したバーストクロックをターミナル１１１とＦＩＦＯ１１２とに出力する。
【００６９】
レンジチェック部１４１は、受信したＣｍ値とＣｎｄ値とが所定の範囲内に収まるか否かを判定し、Ｃｍ値とＣｎｄ値とが所定の範囲内に収まる場合は、Ｃｍ値とＣｎｄ値とをクライアントデータ量計算部１４２に出力する。一方、レンジチェック部１４１は、受信したＣｍ値とＣｎｄ値とが所定の範囲内に収まらない場合は、前回出力した値をクライアントデータ量計算部１４２に出力する。
【００７０】
クライアントデータ量計算部１４２は、受信したＣｍ値とＣｎｄ値とに基づき、クライアントデータ量を算出し、算出したクライアントデータ量を制御部１１４に出力する。
【００７１】
続いて、ＤＰＬＬ１１５と制御部１１４の一例について説明する。図６は、ＤＰＬＬ及び制御部内の機能構成の一例を示すブロック図である。例えば、図６に示す例では、ＤＰＬＬ１１５は、カウンタ１５０、１５１、位相比較部１５２、フィルタ１５３、三角波生成部１５４、出力クロック生成部１５５及びステータス判定部１５６を有する。
【００７２】
カウンタ１５０は、監視部１１３が出力したデータイネーブル信号（ＤＡＴＡ  Ｅｎ）がＨｉｇｈ状態の際に、分離部１１０が分離したシステムクロック（ＳＹＳ  ＣＬＫ）のパルスの数を計数する。つまり、カウンタ１５０は、システムクロックの周波数にペイロードに格納されたデータのうちクライアントデータの割合を積算した周波数を算出する。
【００７３】
カウンタ１５１は、ＤＰＬＬが生成した出力クロックがフィードバック入力されており、かかる出力クロックのパルスの数を計数する。つまり、カウンタ１５１は、出力クロックの周波数を算出する。
【００７４】
位相比較部１５２は、カウンタ１５０、１５１が計数した値の差を位相差として算出し、算出した位相差を示す信号をフィルタ１５３に出力する。フィルタ１５３は、所定の周波数特性及び応答特性に基づいて、入力された信号を平滑化し、入力された信号に基づいて三角波を生成する三角波生成部１５４に対し、平滑化した信号を出力する。
【００７５】
三角波生成部１５４は、フィルタ１５３によって平滑化された位相差を示す信号に基づき、三角波を生成し、生成した三角波を出力クロック生成部１５５に出力する。出力クロック生成部１５５は、三角波生成部１５４が生成した三角波を用いて、出力クロックを生成し、生成した出力クロックをＦＩＦＯ１１２、セレクタ１１７、挿入部１１８及びカウンタ１５１に出力する。
【００７６】
すなわち、フィルタ１５３は、位相差を示す信号に対する所定の周波数特性及び応答特性に基づいて、位相差を示す信号を平滑化することで、出力クロック生成部１５５が生成する出力クロックの周波数を変更する。なお、フィルタ１５３の周波数特性や応答特性は、例えば、電子式可変抵抗器を制御することにより変更することができる。
【００７７】
ここで、位相比較部１５２、フィルタ１５３、三角波生成部１５４、出力クロック生成部１５５は、位相比較部１５２が算出した位相差を解消するように動作する。例えば、位相比較部１５２は、カウンタ１５０が計数する数が、カウンタ１５１が計数する数よりも多い場合は、正の電圧を有する信号を出力し、カウンタ１５０が計数する数が、カウンタ１５１が計数する数よりも少ない場合は、負の電圧を有する信号を出力する。そして、三角波生成部１５４は、正の電圧が印加されると、生成する三角波の周波数を上昇させ、負の電圧が印加されると、生成する三角波の周波数を低下させる。
【００７８】
ステータス判定部１５６は、フィルタ１５３を介して、算出された位相差を取得する。そして、ステータス判定部１５６は、取得した位相差が所定の範囲内に収まる場合は、セレクタ１１７に対し、ＤＰＬＬ１１５が再生した出力クロックを選択する旨の信号を出力する。一方、ステータス判定部１５６は、取得した位相差が所定の範囲内に収まらない場合は、セレクタ１１７に対し、オシレータ１１６が生成するクロックを選択する旨の信号を出力する。
【００７９】
なお、以下の説明では、位相差が所定の範囲内に収まる状態、すなわち、ＤＰＬＬ１１５が再生したクロックが選択される状態をロック状態と記載する。また、位相差が所定の範囲内に収まらない状態、すなわち、オシレータ１１６が生成するクロックが選択される状態をアンロック状態と記載する。
【００８０】
制御部１１４は、クライアントデータ量監視部１６０及びデジタルポテンショメータ制御部１６１を有する。クライアントデータ量監視部１６０は、監視部１１３が算出したクライアントデータ量を取得する。デジタルポテンショメータ制御部１６１は、クライアントデータ量に基づき、フィルタ１５３の周波数帯域又は応答特性の少なくとも一方を制御する。
【００８１】
例えば、デジタルポテンショメータ制御部１６１は、クライアントデータ量の増分が所定の閾値を超えた場合は、フィルタ１５３が出力する信号が正の電圧となるように、フィルタ１５３の電子式可変抵抗器を制御する。一方、デジタルポテンショメータ制御部１６１は、クライアントデータ量の増分が所定の閾値以下となった場合は、フィルタ１５３が出力する信号が負の電圧となるように、フィルタ１５３の電子式可変抵抗器を制御する。
【００８２】
次に、図７を用いて、伝送ユニット１４が実行する処理の流れについて説明する。図７は、伝送ユニットの動作の一例を示すフローチャートである。例えば、伝送ユニット１４は、伝送ユニット１４ａから受信したＯＴＵフレームからＪＣバイトを抽出する（ステップＳ１０１）。
【００８３】
続いて、伝送ユニット１４は、抽出したＪＣバイトからＣｍ値とＣｎｄ値とを再生する（ステップＳ１０２）。また、伝送ユニット１４は、再生したＣｍ値とＣｎｄ値とに基づき、クライアントデータ量を算出する（ステップＳ１０３）。そして、伝送ユニット１４は、算出したクライアントデータ量に基づき、出力クロックの周波数を制御し（ステップＳ１０４）、処理を終了する。
【００８４】
図７に示す処理を実行する伝送ユニット１４は、クライアントデータ量に基づいて、クライアント２０ａのクライアントクロックに追従するように、ＤＰＬＬ１１５により生成される出力クロックの周波数を制御する。このため、伝送ユニット１４は、例えば、伝送ユニット１４ａでクロックの擾乱が生じた場合にも、出力クロックの周波数を瞬時にクライアント２０ａのクライアントクロックに追従させることができる。
【００８５】
上述したように、伝送ユニット１４は、クライアントデータを含むＯＴＵフレームを受信し、受信したＯＴＵフレームから再生されるシステムクロックに基づき、クライアントデータを出力するための出力クロックを生成する。そして、伝送ユニット１４は、ＯＴＵフレーム内のクライアントデータ量に基づき、クライアント２０ａのクライアントクロックに追従させるように、出力クロックの周波数を制御する。
【００８６】
ここで、伝送ユニット１４が受信するＣｍ値やＣｎ値は、クライアントデータの送信先となるクライアント２０のクロックに左右されず、伝送ユニット１４ａのシステムクロックの変動が直接的かつ瞬時に反映させる。その結果、伝送ユニット１４は、例えば、ＯＴＵフレームの送信元となる伝送ユニット１４ａでシステムクロックに擾乱が生じても、出力クロックを瞬時にクライアント２０ａのクライアントクロックに追従させることができる。
【００８７】
また、伝送ユニット１４は、分離部１０１のジッタ耐力を測定するジッタートレランス測定時に生じるエラーを低減することができる。例えば、図８は、伝送ユニットのジッタートレランス測定の一例を示すブロック図である。ジッタートレランス測定を行う場合、伝送ユニット１４には、クライアント２０に代えて、分離部１０１のジッタ耐力を測定するジッタートレランス測定器２０１が接続される。また、光モジュール１０８は、光モジュール１０９と接続され、ＯＴＵフレームの光信号を光モジュール１０９に送信する。かかる場合、伝送ユニット１４は、ＤＰＬＬ１１５が生成する出力クロックの周波数を、ジッタートレランス測定器２０１のクロックに追従させる。
【００８８】
ここで、ＤＰＬＬ１１５が生成する出力クロックの追従性が低い場合、ジッタ耐力の測定中にＦＩＦＯ１１２でオーバーフローやアンダーフローが生じる場合がある。また、Ｃｍ値やＣｎｄ値が短時間の間に大きく変動した場合は、位相差が短時間の間に増大するため、アンロック状態となり、エラーが生じた旨を示す信号が出力され、ＦＩＦＯ１１２に格納されたデータを出力できない場合がある。
【００８９】
しかしながら、伝送ユニット１４は、ＤＰＬＬ１１５が生成する出力クロックを、データの送信元となるジッタートレランス測定器２０１のクロックに追従させることができる。その結果、伝送ユニット１４は、エラーの発生を軽減し、分離部１０１のジッタ耐力を適切に測定することができる。
【００９０】
また、伝送ユニット１４は、ペイロードに対するクライアントデータ量の割合を積算したシステムクロックの周波数と、生成した出力クロックの周波数との差を位相差として算出する。また、伝送ユニット１４は、算出した位相差に対する所定の特性に基づき、生成する出力クロックの周波数を変更する。また、伝送ユニット１４は、クライアントデータ量に基づいて、位相差に対する所定の特性を制御する。その結果、伝送ユニット１４は、出力クロックを瞬時にクライアント２０ａのクライアントクロックに追従させることができる。
【００９１】
尚、クロックの擾乱によりＣｍ値やＣｎ値が短時間で大きく変動すると、位相比較部１５２における位相差が増大するため、アンロック状態が生じる場合がある。その場合、ＦＩＦＯ１１２に格納されたクライアントデータに代えてＡＩＳＬ等が出力されてしまい、ＦＩＦＯ１１２でオーバーフローが生じてしまう。そこで、伝送ユニット１４は、ロック状態であるかアンロック状態であるかを判定する範囲をクライアントデータ量等に基づき変動させてもよい。かかる実施の形態につき、実施例２として以下に説明する。
【実施例２】
【００９２】
図９は、実施例２に係る伝送ユニット内の機能構成の一例を示すブロック図である。なお、実施例１の伝送ユニット１４と同一の構成には同一符号を付すことで、重複する構成及び動作の説明については省略する。図９に示す伝送ユニット１４ｂは、図１に示す伝送ユニット１４のターミナル１１１、制御部１１４、ＤＰＬＬ１１５、挿入部１１８に代えて、ターミナル１１１ａ、制御部１１４ａ、ＤＰＬＬ１１５ａ及び挿入部１１８ａを有する。なお、以下の説明では、ターミナル１１１ａ、挿入部１１８ａ、制御部１１４ａ、ＤＰＬＬ１１５ａの順に処理を説明する。
【００９３】
ターミナル１１１ａは、ターミナル１１１と同様の機能を有する。また、ターミナル１１１ａは、ＦＩＦＯ１１２にクライアントデータを書き込みしている旨を示す信号をライトデータイネーブル信号（ＷＲＩＴＥ  ＤＡＴＡ  ＥＮ）として、制御部１１４ａに出力する。
【００９４】
挿入部１１８ａは、挿入部１１８と同様の機能を有する。また、挿入部１１８ａは、ＦＩＦＯ１１２からクライアントデータを読み出している旨を示す信号をリードデータイネーブル信号（ＲＥＡＤ  ＤＡＴＡ  ＥＮ）として、制御部１１４ａに出力する。
【００９５】
制御部１１４ａは、制御部１１４と同様に、クライアントデータ量を算出し、算出したクライアントデータ量に基づき、ＤＰＬＬ１１５ａが生成する出力クロックの周波数を制御する。また、制御部１１４ａは、以下の処理を実行する。
【００９６】
まず、制御部１１４ａは、ＤＰＬＬ１１５ａから算出された位相差、すなわち、周波数の偏差を示す周波数偏差情報（ΔＦ）を取得する。また、制御部１１４ａは、分離部１１０が分離したシステムクロック、ＤＰＬＬ１１５ａが生成した出力クロック、挿入部１１８ａが出力したＷＲＩＴＥ  ＤＡＴＡ  ＥＮ及びＲＥＡＤ  ＤＡＴＡ  ＥＮを取得する。そして、制御部１１４ａは、取得した各信号を用いて、ＦＩＦＯ１１２に格納されているクライアントデータの量をＦＩＦＯ容量として取得する。
【００９７】
また、制御部１１４ａは、クライアントデータ量と、ΔＦと、ＦＩＦＯ容量とに基づき、ステータス判定部１５６がロック状態であるかアンロック状態であるかを判定する際に用いる閾値を変動させる。具体的には、制御部１１４ａは、クライアントデータ量と、ΔＦと、ＦＩＦＯ容量とに対し、伝送ユニット１４ｂを制御するＯＳ（Operating  System）やドライバ等から指定された優先順位を付す。そして、制御部１１４ａは、クライアントデータ量と、ΔＦと、ＦＩＦＯ容量とのうち、優先順位が最も高い情報を用いて、ロック状態かアンロック状態かを判定する際に用いる閾値を変更する。
【００９８】
なお、制御部１１４ａは、クライアントデータ量と、ΔＦと、ＦＩＦＯ容量とのいずれか１つを用いて、ロック状態であるかアンロック状態であるかを判定する際に用いる閾値を変更してもよい。また、制御部１１４ａは、優先順位に基づき、クライアントデータ量と、ΔＦと、ＦＩＦＯ容量との重みづけを行い、重みづけを行った各情報に基づき、閾値の変更を行ってもよい。
【００９９】
ＤＰＬＬ１１５ａは、ＤＰＬＬ１１５と同様の機能を発揮する。また、ＤＰＬＬ１１５ａは、制御部１１４ａからの制御に基づき、ロック状態であるかアンロック状態であるかを判定する際に用いる閾値を変動させる。
【０１００】
以下、制御部１１４ａ及びＤＰＬＬ１１５ａの機能構成の一例について説明する。図１０は、伝送ユニット内の制御部及びＤＰＬＬの機能構成の一例を示すブロック図である。なお、制御部１１４ａは、図１０に示す機能構成以外にも、図６に示した機能構成を有するものとする。また、ＤＰＬＬ１１５ａの機能構成のうち、実施例１のＤＰＬＬ１１５と同一の構成には同一符号を付すことで、重複する構成及び動作の説明については省略する。
【０１０１】
図１０に示すＤＰＬＬ１１５ａは、位相比較部１５２、ステータス判定部１５６に代えて、位相比較部１５２ａ及びステータス判定部１５６ａを有する。また、図１０に示す制御部１１４ａは、ΔＦ情報取得部１７０、クライアントデータ量監視部１７１、ＦＩＦＯ容量監視部１７２及び閾値制御部１７３を有する。なお、以下の説明では、位相比較部１５２ａ、ΔＦ情報取得部１７０、クライアントデータ量監視部１７１、ＦＩＦＯ容量監視部１７２、閾値制御部１７３、ステータス判定部１５６ａの順に実行する処理を説明する。
【０１０２】
例えば、位相比較部１５２ａは、位相比較部１５２と同様の処理を実行する。また、位相比較部１５２ａは、ΔＦの値を取得し、取得したΔＦの値をΔＦ情報取得部１７０に出力する。
【０１０３】
ΔＦ情報取得部１７０は、位相比較部１５２ａからΔＦの値を受付け、受付けたΔＦの値を閾値制御部１７３に出力する。クライアントデータ量監視部１７１は、図６に示したクライアントデータ量監視部１６０と同様に、監視部１１３からＣｍ値及びＣｎｄ値を取得し、取得したＣｍ値及びＣｎｄ値からクライアントデータ量を算出する。そして、クライアントデータ量監視部１７１は、クライアントデータ量を閾値制御部１７３に出力する。
【０１０４】
ＦＩＦＯ容量監視部１７２は、ターミナル１１１ａから取得したＷＲＩＴＥ  ＤＡＴＡ  ＥＮ、および挿入部１１８ａから取得したＲＥＡＤ  ＤＡＴＡ  ＥＮを用いて、ＦＩＦＯ容量を算出する。そして、ＦＩＦＯ容量監視部１７２は、算出したＦＩＦＯ容量を閾値制御部１７３に出力する。
【０１０５】
閾値制御部１７３は、クライアントデータ量、ΔＦ、又はＦＩＦＯ容量の少なくともいずれか１つの情報に基づき、ロック状態であるかアンロック状態であるかを判定する際に用いる閾値を算出する。そして、閾値制御部１７３は、算出した閾値をステータス判定部１５６ａに出力する。
【０１０６】
ステータス判定部１５６ａは、図６に示したステータス判定部１５６と同様の機能を有する。また、ステータス判定部１５６ａは、閾値制御部１７３から受信した閾値を用いて、ロック状態であるかアンロック状態であるかを判定する。
【０１０７】
続いて、図１０に示した位相比較部１５２ａ、ＦＩＦＯ容量監視部１７２、閾値制御部１７３の機能構成の一例について説明する。図１１は、位相比較部内の機能構成の一例を示すブロック図である。位相比較部１５２ａは、ＣＴＲ１８０、ＣＴＲ１８１、レンジチェッカ１８２、及び位相比較モニタ部１８３を有する。
【０１０８】
ＣＴＲ１８０は、カウンタ１５０が計数する値を随時計数するカウンタである。そして、ＣＴＲ１８０は、カウントした値が「８１９２（８キロバイト）」となった場合には、立下り信号をＤＰＤ  ＲＳＴとしてＣＴＲ１８１のロード端子（ＬＤ）に入力する。
【０１０９】
ＣＴＲ１８１は、ＤＰＤ  ＲＳＴがロード端子（ＬＤ）に入力され、カウンタ１５１が計数する値を示す信号ＤＰＤ  ＬＡＴがクロック端子（ＣＫ２）に入力されるカウンタである。例えば、図１２は、位相比較部がΔＦを算出する処理の一例を説明する説明図である。図１２中（Ａ）に示すように、ＣＴＲ１８１は、ＤＰＤ  ＲＳＴの立下りを検出すると、ＤＰＤ  ＬＡＴのパルスの数を計数する。そして、ＣＴＲ１８１は、図１２中（Ｂ）に示すように、ＤＰＤ  ＲＳＴ信号の次の立下りを検出すると、直前まで計数していた値をΔＦの値として出力する。
【０１１０】
図１１に戻り、レンジチェッカ１８２は、生成した出力クロックを分周した分周クロックが示すタイミングで、ＣＴＲ１８１が出力したΔＦの値が所定の範囲内に収まるか否かを判定する。そして、レンジチェッカ１８２は、ΔＦの値が所定の範囲内に収まる場合は、ΔＦの値を位相比較モニタ部１８３に出力する。一方、レンジチェッカ１８２は、ΔＦの値が所定の範囲内に収まらない場合は、前回出力したΔＦの値を再度位相比較モニタ部１８３に出力する。
【０１１１】
位相比較モニタ部１８３は、レンジチェッカ１８２が出力したΔＦの値をラッチする。そして、位相比較モニタ部１８３は、ラッチしたΔＦの値をフィルタ１５３及びΔＦ情報取得部１７０に出力する。
【０１１２】
次に、ＦＩＦＯ容量監視部１７２の機能構成の一例を説明する。図１３は、ＦＩＦＯ容量監視部内の機能構成の一例を示すブロック図である。図１３に示すＦＩＦＯ容量監視部１７２は、ライトポインタ１９０、リードポインタ１９１、減算器１９２、ＦＩＦＯ容量算出部１９３及びレンジチェッカ１９４を有する。
【０１１３】
ライトポインタ１９０は、ＦＩＦＯ１１２にデータを書き込む際の先頭アドレスを示すポインタである。例えば、ライトポインタ１９０は、ターミナル１１１ａから受信したＷＲＩＴＥ  ＤＡＴＡ  ＥＮをイネーブル信号とし、分離部１１０から受信したＷＣＫのパルスでカウントアップするカウンタである。
【０１１４】
リードポインタ１９１は、ＦＩＦＯ１１２からデータを読み出す際の先頭アドレスを示すポインタである。リードポインタ１９１は、挿入部１１８ａから受信したＲＥＡＤ  ＤＡＴＡ  ＥＮをイネーブル信号として、ＤＰＬＬ１１５ａが生成した出力クロック（ＲＣＫ）に基づいて、カウントアップするカウンタである。
【０１１５】
減算器１９２は、リードポインタ１９１が示す先頭アドレスからライトポインタ１９０が示す先頭アドレスの値を減算した値を算出し、算出した値をＦＩＦＯ容量算出部１９３に出力する。
【０１１６】
ＦＩＦＯ容量算出部１９３は、減算器１９２が算出した値を用いて、ＦＩＦＯ容量を算出する。例えば、ＦＩＦＯ容量算出部１９３は、ＦＩＦＯ１１２の記憶領域のうち、１つのアドレスが示す記憶領域に格納可能なデータ量と、減算器１９２が算出した値との積をＦＩＦＯ容量として算出する。
【０１１７】
レンジチェッカ１９４は、ＦＩＦＯ容量算出部１９３が算出したＦＩＦＯ容量が所定の範囲内に収まるか否かを判定する。そして、レンジチェッカ１９４は、ＦＩＦＯ容量が所定の範囲内に収まる場合は、算出されたＦＩＦＯ容量を閾値制御部１７３に出力する。一方、レンジチェッカ１９４は、算出されたＦＩＦＯ容量が所定の範囲内に収まらない場合は、前回出力したＦＩＦＯ容量の値を再度閾値制御部１７３に出力する。
【０１１８】
次に、閾値制御部１７３の機能構成の一例について説明する。図１４は、閾値制御部内の機能構成の一例を説明するブロック図である。図１４に示す例では、閾値制御部１７３は、レジスタ２００、上限閾値制御部２０１、上限変更タイミング制御部２０２、下限閾値制御部２０３及び下限変更タイミング制御部２０４を有する。
【０１１９】
レジスタ２００は、ステータス判定部１５６ａがロック状態であると判定する際の位相差の上限及び下限の初期値が格納される。以下の説明では、ロック状態であると判定する際の位相差の上限を上限閾値とし、ロック状態であると判定する際の位相差の下限を下限閾値と記載する。
【０１２０】
上限閾値制御部２０１は、上限閾値の初期値と、クライアントデータ量と、ΔＦの値と、ＦＩＦＯ容量とに基づき、上限閾値を算出する。例えば、上限閾値制御部２０１は、レジスタ２００から初期値を取得し、クライアントデータ量監視部１７１からクライアントデータ量を取得する。また、上限閾値制御部２０１は、ΔＦ情報取得部１７０からΔＦの値を取得し、ＦＩＦＯ容量監視部１７２からＦＩＦＯ容量を取得する。
【０１２１】
そして、上限閾値制御部２０１は、取得したクライアントデータ量、ΔＦの値、ＦＩＦＯ容量がそれぞれ所定の範囲内に収まるか否かを判定し、収まる場合は、上限閾値の初期値を出力する。一方、上限閾値制御部２０１は、取得したクライアントデータ量、ΔＦの値、ＦＩＦＯ容量の少なくともいずれか１つが所定の範囲内に収まらない場合は、上限閾値の初期値を補正した値を出力する。例えば、上限閾値制御部２０１は、ＦＩＦＯ容量が所定の範囲の上限よりも多い場合は、初期値よりも高い値を上限閾値として出力する。
【０１２２】
上限変更タイミング制御部２０２は、上限閾値制御部２０１が算出した上限閾値を所定の時間間隔で更新する。例えば、上限変更タイミング制御部２０２は、上限閾値制御部２０１が出力した上限閾値をラッチし、ラッチした上限閾値をステータス判定部１５６ａに出力する。また、上限変更タイミング制御部２０２は、伝送ユニット１４ｂを制御するＯＳやドライバ等から上限閾値を更新する時間間隔を示すタイミング選択信号が入力される。そして、上限変更タイミング制御部２０２は、タイミング選択信号が示す時間間隔で、上限閾値制御部２０１が出力した上限閾値をラッチし直す。
【０１２３】
下限閾値制御部２０３は、下限閾値の初期値、クライアントデータ量、ΔＦの値及びＦＩＦＯ容量に基づき、下限閾値を算出する。なお、下限閾値制御部２０３が下限閾値を算出する処理や機能構成は、上限閾値制御部２０１が上限閾値を制御する処理や機能構成と同様であるものとし、以下の説明を省略する。
【０１２４】
下限変更タイミング制御部２０４は、下限閾値制御部２０３が算出した下限閾値を所定の時間間隔で更新する。なお、下限変更タイミング制御部２０４が実行する処理や機能構成は、上限変更タイミング制御部２０２が実行する処理や機能構成と同様であるものとし、以下の説明を省略する。
【０１２５】
続いて、上限閾値制御部２０１の機能構成の一例を説明する。図１５は、上限閾値制御部内の機能構成の一例を説明するブロック図である。図１５に示す例では、上限閾値制御部２０１は、データ量テーブル２１０、ΔＦテーブル２１１、ＦＩＦＯ容量テーブル２１２、優先順位制御部２１３及びレジスタ制御部２１４を有する。
【０１２６】
データ量テーブル２１０は、クライアントデータ量監視部１７１から取得したクライアントデータ量に応じた１６進数の値を出力する。また、ΔＦテーブル２１１は、ΔＦ情報取得部１７０から取得したΔＦの値に応じた１６進数の値を出力する。また、ＦＩＦＯ容量テーブル２１２は、ＦＩＦＯ容量監視部１７２から取得したＦＩＦＯ容量の値に応じた１６進数の値を出力する。
【０１２７】
例えば、図１６は、データ量テーブルが出力する値の一例を示す説明図である。図１６に示すように、クライアントデータ量テーブル２１０には、クライアントデータ量と１６進数の出力とが対応付けて格納されており、入力されたクライアントデータ量と対応付けられた１６進数の値を出力する。
【０１２８】
例えば、クライアントデータ量テーブル２１０は、クライアントデータ量が「１５２４０」バイトの±５バイト未満の範囲に収まる場合は、「０ｈ８８」を出力する。また、クライアントデータ量テーブル２１０は、クライアントデータ量が「１５２４０」バイトから「５」バイト増える度に、「０ｈ８８」に１を加算した値を出力する。また、クライアントデータ量テーブル２１０は、クライアントデータ量が「１５２４０」バイトから「５」バイト減る度に、「０ｈ８８」から１を減算した値を出力する。
【０１２９】
また、図１７は、ΔＦテーブルが出力する値の一例を示す説明図である。図１７に示すように、ΔＦテーブル２１１には、ΔＦの変化量と１６進数の出力とが対応付けて格納されており、入力されたΔＦの変化量と対応付けられた１６進数の値を出力する。
【０１３０】
例えば、ΔＦテーブル２１１は、ΔＦの変化量が「０」である場合は、「０ｈ８８」を出力し、ΔＦの変化量が「０」から「１」増える度に、「０ｈ８８」に１を加算した値を出力する。また、ΔＦテーブル２１１は、ΔＦの変化量が「０」から「１」減る度に、「０ｈ８８」から１を減算した値を出力する。
【０１３１】
また、図１８は、ＦＩＦＯ容量テーブルが出力する値の一例を示す説明図である。図１８に示すように、ＦＩＦＯ容量テーブル２１２には、ＦＩＦＯ容量（ビット）と１６進数の出力とが対応付けて格納されており、入力されたＦＩＦＯ容量と対応付けられた１６進数の値を出力する。
【０１３２】
例えば、ＦＩＦＯ容量テーブル２１２は、ＦＩＦＯ容量が「２０４８」ビットの±１００ビット未満の範囲に収まる場合は、「０ｈ８８」を出力する。そして、ＦＩＦＯ容量テーブル２１２は、ＦＩＦＯ容量が「２０４８」ビットから「１００」ビット増える度に、「０ｈ８８」に１を加算した値を出力する。また、ＦＩＦＯ容量テーブル２１２は、ＦＩＦＯ容量が「２０４８」ビットから「１００」ビット減る度に、「０ｈ８８」から１を減算した値を出力する。
【０１３３】
このように、伝送ユニット１４ｂは、クライアントデータ量、位相差、ＦＩＦＯ容量をテーブルに基づいた丸め込みを行う。このため、伝送ユニット１４ｂは、各情報の急激な変動による影響を軽減できる。
【０１３４】
図１５に戻り、説明を続ける。優先順位制御部２１３は、ＯＳ等から、クライアントデータ量とΔＦの値とＦＩＦＯ容量とに対して付与される優先順位を示す情報を取得する。そして、優先順位制御部２１３は、データ量テーブル２１０とΔＦテーブル２１１とＦＩＦＯ容量テーブル２１２とが出力した値に対し、優先順位を付して出力する。
【０１３５】
例えば、図１９は、優先順位制御部が実行する処理の一例を説明する説明図である。例えば、優先順位制御部２１３は、レジスタ制御部２１４のレジスタのうち、ＭＳＢ（Most  Significant  Bit）に初期値を格納する。また、優先順位制御部２１３は、データ量テーブル２１０とΔＦテーブル２１１とＦＩＦＯ容量テーブル２１２とが出力した値を、優先順位の順で、ＭＳＢの下位ビットに格納する。
【０１３６】
例えば、優先順位制御部２１３は、ΔＦの値、クライアントデータ量、ＦＩＦＯ容量の順に優先順位が付されている場合は、初期値に続き、ΔＦテーブル２１１が出力した値を格納する。また、優先順位制御部２１３は、ΔＦの値に続き、データ量テーブル２１０が出力したクライアントデータ量を格納し、続いて、ＦＩＦＯ容量テーブル２１２が出力したＦＩＦＯ容量を格納する。そして、レジスタ制御部２１４は、クライアントデータ量とΔＦの値とＦＩＦＯ容量とを上限閾値として、上限変更タイミング制御部２０２に出力する。
【０１３７】
続いて、上限変更タイミング制御部２０２の機能構成の一例を説明する。図２０は、上限変更タイミング制御部の機能構成の一例を示すブロック図である。図２０に示すように、上限変更タイミング制御部２０２は、セレクタ２２０及びフリップフロップ２２１を有する。
【０１３８】
セレクタ２２０には、一例として１ｋＨｚ（キロヘルツ）、１ＭＨｚ（メガヘルツ）、１０ＭＨｚのクロック信号が入力される。そして、セレクタ２２０は、伝送ユニット１４ｂを制御するＯＳやドライバの指示に基づき、入力されたクロック信号のうち、いずれかのクロック信号をフリップフロップ２２１に出力する。例えば、伝送ユニット１４ｂを制御するＯＳは、伝送路の安定性を監視して、クライアントデータ量、ΔＦ及びＦＩＦＯ容量の変動が安定している場合等、伝送路が安定していれば、周期が長いクロックを選択する。
【０１３９】
フリップフロップ２２１は、セレクタ２２０が出力したクロック信号が示すタイミングで、上限閾値制御部２０１が出力した上限閾値をラッチする。そして、フリップフロップ２２１は、ラッチした上限閾値をステータス判定部１５６ａに出力する。
【０１４０】
次に、図２１を用いて、ステータス判定部１５６ａの機能構成の一例を説明する。図２１は、ステータス判定部の機能構成の一例を説明する図である。図２１に示すように、ステータス判定部１５６ａは、比較部２３０を有する。
【０１４１】
比較部２３０は、上限変更タイミング制御部２０２から上限閾値を取得し、下限変更タイミング制御部２０４から下限閾値を取得する。また、比較部２３０は、フィルタ１５３を介し、位相比較部１５２ａが算出した位相差を取得する。そして、比較部２３０は、取得した位相差の値が上限閾値以下であり、かつ、下限閾値以上であるか否かを判定する。
【０１４２】
また、比較部２３０は、取得した位相差の値が上限閾値以下であり、かつ、下限閾値以上である場合は、セレクタ１１７に対し、ＤＰＬＬ１１５ａが生成した出力クロックを選択する旨の信号を出力する。一方、比較部２３０は、位相差が上限閾値よりも大きい、又は、下限閾値よりも小さい場合は、セレクタ１１７に対し、オシレータ１１６が生成するクロックを選択する旨の信号を出力する。
【０１４３】
ここで、図２２は、比較部の動作の一例を説明する説明図である。例えば、比較部２３０は、上限閾値が格納されるレジスタ、位相差が格納されるレジスタ及び下限閾値が格納されるレジスタを有する。上限閾値が格納されるレジスタ及び下限閾値が格納されるレジスタには、初期値、ΔＦの値、クライアントデータ量、及びＦＩＦＯ容量とが格納される。そして、比較部２３０は、各レジスタに格納される値を比較することで、位相差が上限閾値以下、下限閾値以上となるか否かを判定する。例えば、比較部２３０は、上限閾値及び下限閾値の初期値をΔＦの値、クライアントデータ量及びＦＩＦＯ容量で補正し、補正した上限閾値及び下限閾値の初期値と位相差とをそれぞれ比較する。
【０１４４】
このように、伝送ユニット１４ｂは、クライアントデータ量、ΔＦ、又はＦＩＦＯ容量の少なくともいずれか１つの情報に基づき、ロック状態であるかアンロック状態であるかを判定する際に用いる閾値を変動させる。その結果、伝送ユニット１４ｂは、クライアントデータの送信元となる伝送ユニットでクロックの擾乱が生じ、Ｃｍ値やＣｎ値が短時間で急激に変化した場合にも、アンロック状態となってエラーを示す信号の出力を防ぐことができる。
【０１４５】
例えば、図２３は、従来のロック制御の一例を説明する説明図である。例えば、従来の光伝送装置は、図２３中の（Ａ）に示すように、下限閾値よりも位相差が少ない場合や、図２３中の（Ｂ）に示すように、上限閾値よりも位相差が多い場合は、アンロック状態であると判定し、オシレータが生成するクロックを選択した。また、従来の光伝送装置は、図２３中の（Ｃ）に示すように、位相差が下限閾値以上であり、上限閾値以下となる場合は、ロック状態であると判定し、ＤＰＬＬが生成した出力クロックを選択した。
【０１４６】
しかしながら、位相差は、Ｃｍ値やＣｎ値に基づき算出される。このため、Ｃｍ値やＣｎ値の値が短時間で大きく増減した場合は、位相差が下限閾値や上限閾値を超えてしまい、エラーが生じてしまう。
【０１４７】
一方、図２４は、伝送ユニットが閾値を変更する動作を説明する説明図である。なお、図２４中の「ＯＳＣ」は、オシレーターを示し、「ＲＣＫ」は、出力クロックを示す。例えば、伝送ユニット１４ｂは、図２４に示すように、クライアントデータ量、ΔＦの値、ＦＩＦＯ容量等に基づき、下限閾値や上限閾値の値に幅を持たせる。このため、伝送ユニット１４ｂは、むやみにアンロック状態となるのを防ぎ、エラーの発生を軽減することができる。
【０１４８】
次に、本実施例の伝送ユニット１４ｂの動作について説明する。図２５は、位相差が所定の範囲内か確認する動作の一例を説明するフローチャートである。例えば、伝送ユニット１４ｂは、ＯＳ等から優先順位の設定を受付ける（ステップＳ２０１）。続いて、伝送ユニット１４ｂは、クライアントデータ量を取得する（ステップＳ２０２）。
【０１４９】
また、伝送ユニット１４ｂは、クライアントデータ量の変動量が所定の範囲内であるか否かを判定する（ステップＳ２０３）。そして、伝送ユニット１４ｂは、クライアントデータ量が所定の範囲内である場合は（ステップＳ２０３：肯定）、ΔＦ情報を取得する（ステップＳ２０４）。
【０１５０】
また、伝送ユニット１４ｂは、ΔＦの値の変動量が所定の範囲内であるか否かを判定し（ステップＳ２０５）、所定の範囲内である場合は（ステップＳ２０５：肯定）、上限閾値及び下限閾値を制御する変更タイミングの設定を受付ける（ステップＳ２０６）。
【０１５１】
また、伝送ユニット１４ｂは、ＦＩＦＯ容量を取得し（ステップＳ２０７）、ＦＩＦＯ容量が所定の範囲内であるか否かを判定する（ステップＳ２０８）。そして、伝送ユニット１４ｂは、ＦＩＦＯ容量が所定の範囲内である場合は（ステップＳ２０８：肯定）、位相差を取得する（ステップＳ２０９）。そして、伝送ユニット１４ｂは、クライアントデータ量、ΔＦの値及びＦＩＦＯ容量の少なくともいずれか１つに基づいて、上限閾値及び下限閾値の値を制御する（ステップＳ２１０）。
【０１５２】
また、伝送ユニット１４ｂは、取得した位相差が下限閾値以上、かつ上限閾値以下であるか否かを判定する（ステップＳ２１１）。そして、伝送ユニット１４ｂは、取得した位相差が下限閾値以上、上限閾値以下である場合は（ステップＳ２１１：肯定）、ＤＰＬＬ１１５ａが生成した出力クロック（ＲＣＫ）を採用し（ステップＳ２１２）、処理を終了する。一方、伝送ユニット１４ｂは、取得した位相差が下限閾値よりも小さい、又は、上限閾値よりも大きい場合は（ステップＳ２１１：否定）、オシレータ１１６が生成するクロックを採用し（ステップＳ２１３）、処理を終了する。
【０１５３】
一方、伝送ユニット１４ｂは、クライアントデータ量の変動量が所定の範囲を超えている場合は（ステップＳ２０３：否定）、ステップＳ２０２に戻る。また、伝送ユニット１４ｂは、ΔＦの値の変動量が所定の範囲内ではない場合は（ステップＳ２０５：否定）、ステップＳ２０４に戻る。また、伝送ユニット１４ｂは、ＦＩＦＯ容量が所定の範囲内ではない場合は（ステップＳ２０８：否定）、ステップＳ２０７に戻る。
【０１５４】
図２５に示す処理を実行する伝送ユニット１４ｂは、クライアントデータ量、ΔＦの値及びＦＩＦＯ容量の少なくともいずれか１つに基づいて、上限閾値及び下限閾値の値を変更する。このため、伝送ユニット１４ｂは、例えば、伝送ユニット１４ａでクロックの擾乱が生じ、位相差が上限閾値の初期値又は下限閾値の初期値を超えたが、出力クロックの周波数を制御することで対応可能な場合に、エラーの発生を防ぐことができる。その結果、伝送ユニット１４ｂは、不必要なエラーの発生を防ぐことができる。
【０１５５】
次に、ＯＳ等が変更タイミングを設定する処理の流れについて説明する。図２６は、変更タイミングを設定する動作の一例を説明するフローチャートである。なお、図２６に示す処理は、伝送ユニット１４ｂを制御するＯＳやドライバ等により実現される。
【０１５６】
例えば、ＯＳは、伝送ユニット１４ｂが受信したクライアントデータ量を取得する（ステップＳ３０１）。続いて、ＯＳは、クライアントデータ量が正常範囲内であるか否かを判定する（ステップＳ３０２）。
【０１５７】
そして、ＯＳは、クライアントデータ量が正常範囲内であると判定した場合は（ステップＳ３０２：肯定）、クライアントデータ量の変化量を一定時間積分する（ステップＳ３０３）。続いて、ＯＳは、積分した変化量が±１バイト以内に収まるか否かを判定し（ステップＳ３０４）、収まる場合は（ステップＳ３０４：肯定）、セレクタ２２０に１ｋＨｚのクロックを選択するよう指示し（ステップＳ３０５）、処理を終了する。
【０１５８】
一方、ＯＳは、積分した変化量が±１バイト以内に収まらない場合は（ステップＳ３０４：否定）、積分した変化量が±１０バイト以内に収まるか否かを判定する（ステップＳ３０６）。そして、ＯＳは、積分した変化量が±１０バイト以内に収まる場合は（ステップＳ３０６：肯定）、セレクタ２２０に１ＭＨｚのクロックを選択するよう指示し（ステップＳ３０７）、処理を終了する。
【０１５９】
一方、ＯＳは、積分した変化量が±１０バイト以内に収まらない場合は（ステップＳ３０６：否定）、積分した変化量が±１００バイト以内に収まるか否かを判定する（ステップＳ３０８）。そして、ＯＳは、積分した変化量が±１００バイト以内に収まる場合は（ステップＳ３０８：肯定）、セレクタ２２０に１０ＭＨｚのクロックを選択するよう指示し（ステップＳ３０９）、処理を終了する。
【０１６０】
また、ＯＳは、積分した変化量が±１００バイト以内に収まらない場合は（ステップＳ３０８：否定）、ステップＳ３０３に戻る。また、ＯＳは、クライアントデータ量が正常範囲内ではない場合は（ステップＳ３０２：否定）、ステップＳ３０１に戻る。
【０１６１】
ここで、上限閾値や下限閾値を高速で変更すると、ステータス判定部１５６ａの動作が不安定となり、ロック状態とアンロック状態とが頻繁に切り替わる結果、伝送ユニット１４ｂの動作が不安定になる場合がある。しかしながら、図２６に示す処理により設定されるタイミングを用いた伝送ユニット１４ｂは、例えば、ネットワーク３０の安定性に基づいて、閾値を変更するタイミングの切り替えを行うことができる。その結果、伝送ユニット１４ｂは、例えば、ロック状態とアンロック状態とが頻繁に切り替わるといった不安定な動作を防止することができる。
【０１６２】
上述したように、伝送ユニット１４ｂは、位相差が所定の範囲内に含まれるか否かを判定する。そして、伝送ユニット１４ｂは、位相差が所定の範囲内に含まれる場合は、生成した出力クロックを選択し、選択された出力クロックに基づき、クライアントデータを出力する。一方、伝送ユニット１４ｂは、位相差が所定の範囲に含まれないと判定した場合は、オシレータ１１６が発振するクロックを選択し、選択したクロックに基づき、エラーが生じた旨を示す信号を出力する。
【０１６３】
ここで、伝送ユニット１４ｂは、クライアントデータ量に基づき、所定の範囲の上限閾値又は下限閾値の少なくとも一方を制御する。このため、例えば、伝送ユニット１４ｂは、対向する伝送ユニットでクロックの擾乱が生じても、位相差が生じるよりも早く変化するクライアントデータ量に基づき、上限閾値又は下限閾値を制御できるので、エラーの発生を防ぐことができる。
【０１６４】
また、伝送ユニット１４ｂは、ΔＦ等の位相差に基づき、所定の範囲の上限閾値又は下限閾値の少なくとも一方を制御する。このため、例えば、伝送ユニット１４ｂは、対向する伝送ユニットでクロックの擾乱が生じ、位相差が生じた場合にも、むやみにエラーが発生するのを防ぐことができる。
【０１６５】
また、伝送ユニット１４ｂは、ＦＩＦＯ容量に基づき、所定の範囲の上限閾値又は下限閾値の少なくとも一方を制御する。このため、例えば、伝送ユニット１４ｂは、伝送ユニット１４ａでクロックの擾乱が生じ、位相差が生じた場合にも、ＦＩＦＯ容量に余裕がある場合は、エラーの発生を防ぐので、むやみにエラーが発生するのを防ぐことができる。
【０１６６】
また、伝送ユニット１４ｂは、クライアントデータ量と、位相差と、ＦＩＦＯ容量とに優先順位を付し、優先順位に基づき、所定の範囲の上限閾値又は下限閾値の少なくとも一方を制御する。このため、伝送ユニット１４ｂは、例えば、回線速度や中継数によるクロックの伝播速度に応じて、所定の範囲の上限閾値又は下限閾値を制御する際に用いる情報を選択することができる。
【実施例３】
【０１６７】
これまで本発明の実施例について説明したが、実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例３として他の実施例を説明する。
【０１６８】
［上限閾値と下限閾値との変更について］
上述した説明では、伝送ユニット１４ｂは、クライアントデータ量と、位相差と、ＦＩＦＯ容量とを用いて、上限閾値と下限閾値とを制御した。しかしながら、実施例は、これに限定されるものではない。例えば、伝送ユニット１４ｂは、クライアントデータ量と、位相差と、ＦＩＦＯ容量とのいずれか１つのみを監視し、監視した情報に基づき、上限閾値と下限閾値とを制御してもよい。
【０１６９】
また、伝送ユニット１４ｂは、上限閾値と下限閾値とのいずれか一方のみを制御してもよい。また、伝送ユニット１４ｂは、それぞれ異なる情報を用いて、上限閾値と下限閾値とを制御してもよい。また、伝送ユニット１４ｂは、それぞれ異なる優先順位が付された情報に基づき、上限閾値と下限閾値を制御してもよい。
【０１７０】
［上限閾値と下限閾値について］
上述した伝送ユニット１４ｂは、初期値とクライアントデータ量と位相差とＦＩＦＯ容量とが格納されたレジスタの値を上限閾値及び下限閾値とした。しかしながら、実施形態は、これに限定されるものではない。例えば、伝送ユニット１４ｂは、初期値とクライアントデータ量と位相差とＦＩＦＯ容量とを用いて、上限閾値や下限閾値の値を実際に算出し、位相差が下限閾値以上かつ上限閾値以下となるか否かを判定してもよい。
【０１７１】
［機能構成について］
上述した処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１７２】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【０１７３】
また、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【符号の説明】
【０１７４】
１０、１０ａ  光伝送装置
１２、１２ａ、１３、１３ａ  システムクロック生成部
１４〜１９、１４ａ〜１９ａ、１４ｂ  伝送ユニット
２０、２０ａ  クライアント
１０３、１１２  ＦＩＦＯ
１１３  監視部
１１４、１１４ａ  制御部
１１５、１１５ａ  ＤＰＬＬ
１１６  オシレータ
１４２  クライアントデータ量計算部
１５０、１５１  カウンタ
１５２  位相比較部
１５３  フィルタ
１５６、１５６ａ  ステータス判定部
１６０、１７１  クライアントデータ量監視部
１６１  デジタルポテンショメータ制御部
１７０  ΔＦ情報取得部
１７２  ＦＩＦＯ容量監視部
１７３  閾値制御部
１８３  位相比較モニタ部
【図１】
2016163275.tif 000003
【図２】
2016163275.tif 000004
【図３】
2016163275.tif 000005
【図４】
2016163275.tif 000006
【図５】
2016163275.tif 000007
【図６】
2016163275.tif 000008
【図７】
2016163275.tif 000009
【図８】
2016163275.tif 000010
【図９】
2016163275.tif 000011
【図１０】
2016163275.tif 000012
【図１１】
2016163275.tif 000013
【図１２】
2016163275.tif 000014
【図１３】
2016163275.tif 000015
【図１４】
2016163275.tif 000016
【図１５】
2016163275.tif 000017
【図１６】
2016163275.tif 000018
【図１７】
2016163275.tif 000019
【図１８】
2016163275.tif 000020
【図１９】
2016163275.tif 000021
【図２０】
2016163275.tif 000022
【図２１】
2016163275.tif 000023
【図２２】
2016163275.tif 000024
【図２３】
2016163275.tif 000025
【図２４】
2016163275.tif 000026
【図２５】
2016163275.tif 000027
【図２６】
2016163275.tif 000028