特許第6240048号(P6240048)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

<>
  • 特許6240048-通信装置及び通信システム 図000006
  • 特許6240048-通信装置及び通信システム 図000007
  • 特許6240048-通信装置及び通信システム 図000008
  • 特許6240048-通信装置及び通信システム 図000009
  • 特許6240048-通信装置及び通信システム 図000010
  • 特許6240048-通信装置及び通信システム 図000011
  • 特許6240048-通信装置及び通信システム 図000012
  • 特許6240048-通信装置及び通信システム 図000013
  • 特許6240048-通信装置及び通信システム 図000014
  • 特許6240048-通信装置及び通信システム 図000015
  • 特許6240048-通信装置及び通信システム 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6240048
(24)【登録日】2017年11月10日
(45)【発行日】2017年11月29日
(54)【発明の名称】通信装置及び通信システム
(51)【国際特許分類】
   H04L 7/00 20060101AFI20171120BHJP
   G06F 1/04 20060101ALI20171120BHJP
   G04G 5/00 20130101ALI20171120BHJP
【FI】
   H04L7/00 990
   G06F1/04 512
   G04G5/00 J
【請求項の数】13
【全頁数】26
(21)【出願番号】特願2014-171716(P2014-171716)
(22)【出願日】2014年8月26日
(65)【公開番号】特開2016-46767(P2016-46767A)
(43)【公開日】2016年4月4日
【審査請求日】2016年9月14日
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100117787
【弁理士】
【氏名又は名称】勝沼 宏仁
(74)【代理人】
【識別番号】100118876
【弁理士】
【氏名又は名称】鈴木 順生
(72)【発明者】
【氏名】伊藤 将志
(72)【発明者】
【氏名】前川 智則
(72)【発明者】
【氏名】米良 恵介
(72)【発明者】
【氏名】金子 雄
【審査官】 阿部 弘
(56)【参考文献】
【文献】 特開2014−202734(JP,A)
【文献】 特開2001−202156(JP,A)
【文献】 特開2009−077207(JP,A)
【文献】 米国特許出願公開第2012/0117180(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
G04G 5/00
G06F 1/04
(57)【特許請求の範囲】
【請求項1】
時刻を計時するクロックと、
一定の周期で要求信号を他の通信装置へ送信し、前記要求信号に応じて送信された応答信号を前記他の通信装置から受信する通信部と、
前記要求信号の送信タイミングを変更する変更部と、
前記変更部による前記送信タイミング変更前の要求信号である第1の要求信号の送信から前記第1の要求信号に応じて送信された応答信号である第1の応答信号の受信までの時間から、前記第1の要求信号の受信から前記第1の応答信号の送信までの前記他の通信装置における信号処理時間を差し引いた時間に関する第1の往復遅延時間と、前記変更部による前記送信タイミング変更後の要求信号である第2の要求信号の送信から前記第2の要求信号に応じて送信された応答信号である第2の応答信号であって、前記他の通信装置による前記第2の要求信号の受信時刻を表す情報と前記他の通信装置による当該第2の応答信号の送信時刻を表す情報とを含む第2の応答信号の受信までの時間に関する第2の往復遅延時間と、を比較する比較部と、
前記比較部による比較の結果、前記第2の往復遅延時間が前記第1の往復遅延時間よりも短い場合、前記第2の要求信号の送信時刻及び前記他の通信装置での前記第2の要求信号の受信時刻と、前記他の通信装置での前記第2の応答信号の送信時刻及び前記第2の応答信号の受信時刻とを用いて、前記クロックが計時する時刻を調節する時刻同期部と、を備え、
前記通信部は、前記第1の要求信号の送信と前記第1の応答信号の受信を複数回繰り返し、前記第2の要求信号の送信と前記第2の応答信号の受信を複数回繰り返し、
前記第1の応答信号は、前記他の通信装置による前記第1の要求信号の受信時刻を表す情報と、前記他の通信装置による前記第1の応答信号の送信時刻を表す情報とを含み、
前記比較部は、前記第1の要求信号の送信時刻と前記他の通信装置での前記第1の要求信号の受信時刻の差の最小値と前記他の通信装置での前記第1の応答信号の送信時刻と前記第1の応答信号の受信時刻の差の最小値の和を前記第1の往復遅延時間として決定し、前記第2の要求信号の送信時刻と前記他の通信装置での前記第2の要求信号の受信時刻の差の最小値と前記他の通信装置での前記第2の応答信号の送信時刻と前記第2の応答信号の受信時刻の差の最小値の和を前記第2の往復遅延時間として決定する
通信装置。
【請求項2】
前記比較部による比較の結果、前記第2の往復遅延時間が前記第1の往復遅延時間よりも短くない場合、前記変更部は、前記要求信号の送信タイミングを再度変更する
請求項1に記載の通信装置。
【請求項3】
前記変更部が前記要求信号の周期を拡大した場合、前記比較部は、前記第1の往復遅延時間から前記第2の往復遅延時間への減少量、周期の拡大量、当該通信装置が備える水晶発信器の精度に基づいて、同期精度が改善したか否か判定し、
前記変更部は、前記同期精度が改善していないと判定された場合、前記要求信号の周期を再度変更する
請求項1または2に記載の通信装置。
【請求項4】
前記同期精度が改善したと判定された場合、前記時刻同期部は、前記クロックを調節する
請求項に記載の通信装置。
【請求項5】
前記時刻同期部は前記第2の往復遅延時間が前記第1の往復遅延時間よりも短い場合、前記第2の要求信号の送信時刻及び前記他の通信装置での前記第2の要求信号の受信時刻と、前記他の通信装置での前記第2の応答信号の送信時刻及び前記第2の応答信号の受信時刻とを用いて、前記他の通信装置との時刻差を決定し、決定した時刻差を用いて、前記クロックを調節する
請求項1から4のいずれか一項に記載の通信装置。
【請求項6】
前記変更部は、前記要求信号の送信時の位相または前記周期のうち少なくとも一方を変更することにより、前記要求信号の送信タイミングを変更する
請求項1からのいずれか一項に記載の通信装置。
【請求項7】
第1の通信装置と、前記第1の通信装置と通信する複数の第2の通信装置と、を備える通信システムであって、
前記第1の通信装置は、
前記要求信号を前記複数の第2の通信装置から受信する第1の通信部と、
前記第1の通信部が複数の第2の通信装置から要求信号を受信した時刻をそれぞれ記録する記録部と、
前記複数の第2の通信装置から受信する複数の要求信号の受信時刻が互いに異なるように、前記複数の第2の通信装置それぞれの要求信号の送信タイミングを特定するための送信タイミング情報を決定する決定部と、
前記送信タイミング情報それぞれを互いに異なる応答信号に含ませ、応答信号それぞれを対応する前記第2の通信装置へ前記第1の通信部から送信させる通知部と、
を有し、
前記第2の通信装置は、
時刻を計時するクロックと、
前記第1の通信装置に対して応答を要求する要求信号を前記第1の通信装置へ送信し、前記要求信号に応じて送信された応答信号を前記第1の通信装置から受信する第2の通信部と、
前記応答信号に含まれる送信タイミング情報に基づいて、前記要求信号の送信タイミングを変更する変更部と、
前記変更部による前記送信タイミング変更後の要求信号である変更後要求信号の送信時刻及び前記他の通信装置での前記変更後要求信号の受信時刻と、前記変更後要求信号に応じて送信された応答信号である前記変更後応答信号の前記他の通信装置での送信時刻及び前記変更後応答信号の受信時刻とを用いて、前記クロックが計時する時刻を調節する時刻同期部と、
を備える通信システム。
【請求項8】
前記決定部は、前記要求信号それぞれの受信時刻が等間隔となる複数の希望受信時刻を決定し、前記第2の通信装置毎に、前記複数の希望受信時刻の中から前記第2の通信装置毎に異なるように選択された一つの時刻と前記第2の通信装置が送信した要求信号の受信時刻との差分を前記送信タイミング情報に決定する
請求項に記載の通信システム。
【請求項9】
前記要求信号の周期が、前記複数の第2の通信装置の間で同じ場合、前記決定部は、前記第1の通信装置における、前記複数の第2の通信装置からの要求信号の受信タイミングと、前記要求信号の周期を前記第2の通信装置の数で割った値と、を用いて、前記第2の通信装置毎に前記送信タイミングのずらし量を前記送信タイミング情報として決定する
請求項に記載の通信システム。
【請求項10】
前記要求信号の周期が、前記複数の第2の通信装置の間で異なる場合、前記決定部は、前記第1の通信装置における、前記複数の第2の通信装置からの要求信号の受信タイミングと、前記複数の第2の通信装置の間における前記要求信号の周期の最大公約数を前記第2の通信装置の数で割った値と、を用いて、前記送信タイミングのずらし量を前記送信タイミング情報として決定する
請求項に記載の通信システム。
【請求項11】
前記応答信号は、前記第1の通信装置による前記要求信号の受信時刻と前記第1の通信装置による前記応答信号の送信時刻とを表す情報を含み、
前記第2の通信装置は、
前記要求信号の送信時刻と前記要求信号の受信時刻と前記応答信号の送信時刻と前記応答信号の受信時刻とを用いて往復遅延時間を算出し、算出した往復遅延時間を前記要求信号に含ませ、前記第2の通信部から前記第1の通信装置へ送信させる第2の通知部を更に備え、
前記決定部は、過去の往復遅延時間と、前記第2の通信部が送信した要求信号に含まれる往復遅延時間とを比較し、比較結果に応じて前記要求信号の送信タイミングを特定するための送信タイミング情報を決定する
請求項7から10のいずれか一項に記載の通信システム。
【請求項12】
複数の第1の通信装置と、前記複数の第1の通信装置のうち一つの第1の通信装置と通信する複数の第2の通信装置と、前記複数の第1の通信装置と通信する第3の通信装置と、を備える通信システムであって、
前記第3の通信装置は、
前記第1の通信装置それぞれが前記第1の通信装置に対して応答を要求する要求信号を前記複数の第2の通信装置から受信した受信タイミングを、前記第1の通信装置それぞれから通信により取得する第3の通信部と、
複数の前記受信タイミングに基づいて、前記複数の第1の通信装置が前記複数の第2の通信装置から受信する複数の要求信号の受信時刻が互いに異なるように、前記第2の通信装置それぞれが送信する要求信号の送信タイミングを特定するための複数の送信タイミング情報を決定する決定部と、
を有し、
前記第3の通信部は、前記決定部により決定された複数の送信タイミング情報それぞれを、対応する前記第2の通信装置と通信可能な第1の通信装置へ送信し、
前記第1の通信装置は、
前記複数の第2の通信装置それぞれから前記要求信号を受信し、前記要求信号の受信タイミングそれぞれを前記第3の通信装置へ送信し、前記複数の送信タイミング情報を前記第3の通信装置から受信し、互いに異なる前記送信タイミング情報を含む応答信号それぞれを、対応する前記第2の通信装置それぞれへ送信する第1の通信部を有し、
前記第2の通信装置は、
前記要求信号を前記第1の通信装置へ送信し、前記第1の通信装置から前記応答信号を受信する第2の通信部と、
前記送信タイミング情報に基づいて、前記要求信号の送信タイミングを変更する変更部と、
を有する通信システム。
【請求項13】
前記第2の通信装置の前記第2の通信部は、前記要求信号を送信してから前記応答信号を受信するまでの往復遅延時間を前記第3の通信装置へ送信し、
前記決定部は、前記第2の通信部が送信した往復遅延時間と過去の往復遅延時間とを比較し、比較結果に応じて前記要求信号の送信タイミングを特定するための送信タイミング情報を決定する
請求項12に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、通信装置及び通信システムに関する。
【背景技術】
【0002】
時刻同期では基準時刻を配信する第1の端末から受信して時刻を合わせる第2の端末までの通信遅延を正確に推定することが重要である。従来の時刻同期装置には、通信相手とフレームのやり取りを複数回行い、複数の往復遅延時間から最少の値を選ぶことで、通信遅延を推定するものがあった。しかし、往復の片道に定常的な遅延が発生すると、通信遅延の推定精度は低下せざるを得ず、時刻を高い精度で同期させることが難しい。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2011−525308号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
そこで本発明の実施形態が解決しようとする課題は、定常的な遅延を低減して時刻同期の精度を向上させることが可能な通信装置及び通信システムを提供することである。
【課題を解決するための手段】
【0005】
一の実施形態によれば、通信装置は、時刻を計時するクロックを備える。通信装置は、一定の周期で要求信号を他の通信装置へ送信し、前記要求信号に応じて送信された応答信号を前記他の通信装置から受信する通信部を備える。通信装置は、前記要求信号の送信タイミングを変更する変更部を備える。通信装置は、前記変更部による前記送信タイミング変更前の要求信号である第1の要求信号の送信から前記第1の要求信号に応じて送信された応答信号である第1の応答信号の受信までの時間から、前記第1の要求信号の受信から前記第1の応答信号の送信までの前記他の通信装置における信号処理時間を差し引いた時間に関する第1の往復遅延時間と、前記変更部による前記送信タイミング変更後の要求信号である第2の要求信号の送信から前記第2の要求信号に応じて送信された応答信号である第2の応答信号であって、前記他の通信装置による前記第2の要求信号の受信時刻を表す情報と前記他の通信装置による当該第2の応答信号の送信時刻を表す情報とを含む第2の応答信号の受信までの時間に関する第2の往復遅延時間と、を比較する比較部を備える。通信装置は、前記比較部による比較の結果、前記第2の往復遅延時間が前記第1の往復遅延時間よりも短い場合、前記第2の要求信号の送信時刻及び前記他の通信装置での前記第2の要求信号の受信時刻と、前記他の通信装置での前記第2の応答信号の送信時刻及び前記第2の応答信号の受信時刻とを用いて、前記クロックが計時する時刻を調節する時刻同期部を備える。
【図面の簡単な説明】
【0006】
図1】第1の実施形態における通信システム10の構成を示す図。
図2】第1の実施形態におけるスレーブ装置2の構成を示す図。
図3】第1の実施形態におけるスレーブ装置2の動作の一例を示すフローチャート。
図4】第2の実施形態における通信システム10bの構成を示す図。
図5】第2の実施形態におけるマスタ装置1bの構成を示す図。
図6】第2の実施形態におけるスレーブ装置2bの構成を示す図。
図7】第2の実施形態における通信システム10bの動作の一例を示すフローチャート。
図8】第3の実施形態における通信システム10cの構成を示す図。
図9】第3の実施形態におけるマスタ装置1cの構成を示す図。
図10】第3の実施形態における中央指令装置3の構成を示す図。
図11】第3の実施形態における通信システム10cの動作の一例を示すフローチャート。
【発明を実施するための形態】
【0007】
以下、図面を参照しながら、本発明の実施形態について説明する。
【0008】
(第1の実施形態)
まず、第1の実施形態について説明する。図1は、第1の実施形態における通信システム10の構成を示す図である。図1に示すように、通信システム10は、マスタ装置(第1の通信装置)1と、マスタ装置1と通信ネットワーク4を介して接続されたスレーブ装置(第2の通信装置)2とを備える。
【0009】
マスタ装置1は、通信ネットワーク4を介してスレーブ装置2と通信する。マスタ装置1は、スレーブ装置2から通信ネットワーク4を介して要求信号を受信した場合、応答信号を通信ネットワーク4を介してスレーブ装置2へ送信する。
【0010】
スレーブ装置2は、通信ネットワーク4を介してマスタ装置1と通信する。スレーブ装置2は、要求信号を通信ネットワーク4を介してマスタ装置1へ送信し、この要求信号に応じて送信された応答信号を通信ネットワーク4を介してマスタ装置1から受信する。そして、スレーブ装置2は、マスタ装置1の時刻と、内部の時刻とを同期させる。
【0011】
続いて、図2を用いて、スレーブ装置2の構成について説明する。図2は、第1の実施形態におけるスレーブ装置2の構成を示す図である。図2に示すように、スレーブ装置2は、記憶部21、RAM(Random Access Memory)22、通信部23、CPU(Central Processing Unit)24、表示部25、水晶発振器26及びクロック27を備える。
【0012】
記憶部21には、CPU24が実行するための各種のプログラムが保存されている。
【0013】
RAM22は、情報を一次記憶する。
【0014】
通信部23は、一定の周期で要求信号をマスタ装置1へ通信ネットワーク4を介して送信し、要求信号に応じて送信された応答信号を通信ネットワーク4を介してマスタ装置1から受信する。ここで応答信号は、例えば、時刻同期情報を含み、この時刻同期情報は、要求信号をマスタ装置1が受信した時刻と応答信号をマスタ装置1が送信した時刻とを含む。本実施形態では、一例として、要求信号は同期フレームであり、応答信号は同期フレームであるものとして以下、説明する。
【0015】
表示部25は、CPU24の制御に従って、情報を表示する。
【0016】
水晶発振器26は、所定の周波数のクロック信号を生成し、このクロック信号をクロック27へ出力する。
【0017】
クロック27は、時刻を計時する。例えば、クロック27は、水晶発信器26から入力されたクロック信号を用いて時刻を計時する。
【0018】
CPU24は、記憶部21からRAM22にプログラムを読み出して実行することにより、変更部241、比較部242、及び時刻同期部243として機能する。
【0019】
変更部241は、要求信号の送信タイミングを変更する。具体的には例えば、変更部241は、例えば、要求信号の送信時の位相(以下、送信位相という)または周期の少なくとも一方を変更することにより、要求信号の送信タイミングを変更する。
【0020】
また、比較部242による比較の結果、第2の往復遅延時間が第1の往復遅延時間よりも短くない場合、変更部241は、要求信号の送信タイミングを再度変更する。
【0021】
比較部242は、変更部241による送信タイミング変更前の要求信号である第1の要求信号の送信から第1の要求信号に応じて送信された応答信号である第1の応答信号の受信までの時間から、第1の要求信号の受信から第1の応答信号の送信までのマスタ装置1における信号処理時間を差し引いた時間に関する第1の往復遅延時間と、変更部241による送信タイミング変更後の要求信号である第2の要求信号の送信から第2の要求信号に応じて送信された応答信号である第2の応答信号であって、マスタ装置1による第2の要求信号の受信時刻を表す情報とマスタ装置1による当該第2の応答信号の送信時刻を表す情報とを含む第2の応答信号の受信までの時間に関する第2の往復遅延時間と、を比較する。ここで、第1の往復遅延時間と同様に、第2の往復遅延時間は、例えば、第2の要求信号の送信から第2の応答信号の受信までの時間から、第2の要求信号の受信から第2の応答信号の送信までのマスタ装置1における信号処理時間を差し引いた時間である。
【0022】
時刻同期部243は、マスタ装置1と時刻を同期させるために、クロック27を調節する。具体的には、時刻同期部243は、比較部242による比較の結果、第2の往復遅延時間が第1の往復遅延時間よりも短い場合、第2の要求信号の送信時刻及びマスタ装置1による第2の要求信号の受信時刻と、マスタ装置1による第2の応答信号の送信時刻及び第2の応答信号の受信時刻とを用いて、クロック27が計時する時刻を調節する。
【0023】
続いて、図3を用いて、スレーブ装置2の動作を説明する。図3は、第1の実施形態におけるスレーブ装置2の動作の一例を示すフローチャートである。
【0024】
(ステップS101)まず通信部23は、予め定められた送信位相及び周期に従い同期フレームを生成し、同期シーケンスを実行する。ここで同期シーケンスとは、通信部23が、同期フレームをマスタ装置1へ送信し、この同期フレームを受信したマスタ装置1から送信された同期フレームを受信する一連の処理である。
【0025】
(ステップS102)次に通信部23は、マスタ装置1から受信した同期フレームに含まれる時刻同期情報を取得し、時刻同期部243に時刻同期情報を渡す。ここで時刻同期情報には、マスタ装置1が同期フレームを受信した時刻tと、マスタ装置1が同期フレームを送信した時刻tとが含まれる。
【0026】
なお、時刻同期部243は、スレーブ装置2が同期フレームを送信する毎に、スレーブ装置2が同期フレームを送信した時刻tを記憶部21に記憶させ、スレーブ装置2が同期フレームを受信する毎に、スレーブ装置2が同期フレームを受信した時刻tを記憶部21に記憶させる。
【0027】
次に、時刻同期部243は、式(1)に従って、マスタ装置1からスレーブ装置2までの通信遅延Dを算出する。
【数1】
【0028】
ここで、インデックスi、jは、直近のN回(Nは正の整数)の同期フレームについて算出される。但し、最初の1〜N−1回までの同期フレームの送受信では、同期フレームがN回も送受信されていないので、それまでの同期フレームの分から、インデックスi、jが求められる。
【0029】
そして、時刻同期部243は、式(2)に従って、マスタ装置1との時刻差Δtを算出し、時刻差Δtだけクロック27が計時する時刻を早める。
【数2】
【0030】
ここで、時刻を早める際には、時刻差Δtだけ一気に時刻を早めてもよいし、所定の時間をかけて徐々に時刻を早めて所定の時間後に時刻差Δtだけ時刻が早まるようにしてもよい。このように、時刻同期部243は、要求信号の送受信時刻と応答信号の送受信時刻を用いてマスタ装置1との時刻差Δtを決定し、決定した時刻差Δtに基づいて、クロック27が計時する時刻を調節する。
【0031】
なお、同期フレームの送受信がN回終わってから、ステップS102の処理を実行してもよい。また、本実施形態では、マスタ装置1が同期フレームを送信した時刻tとスレーブ装置2が同期フレームを受信した時刻tとを用いて時刻差Δtを決定したが、これに限らず、スレーブ装置2が同期フレームを送信した時刻tとマスタ装置1が同期フレームを受信した時刻tとを用いて時刻差Δtを決定してもよい。
【0032】
(ステップS103)次に、比較部242は、その時点での直近N回の同期フレームの往復遅延時間(Round Trip Time:以下、RTTという) の最小値である現在往復遅延と、過去の直近N回の同期フレームのRTTの最小値である過去往復遅延とを比較し、現在往復遅延が過去往復遅延より増大したか否かを判定する。ここで、その時点での直近N回の同期フレームと、過去の直近N回の同期フレームとでは、一例としてN−1個の同期フレームが重複している。
【0033】
現在往復遅延が過去往復遅延より増大していないと判定された場合(NO)、処理がステップS101に戻り、通信部23は再度、同期シーケンスを実行する。ここで、RTTの最小値MinRは、式(3)に従って計算される。ここで、RTTの最小値MinRは、通信遅延Dの2倍である。
【数3】
【0034】
なお、本実施形態では、一例として、その時点での直近N回の同期フレームと、過去の直近N回の同期フレームとでは、N−1個の同期フレームが重複しているものとしたが、重複する同期フレームの数は、N−2個以下でもよいし、重複する同期フレームの数は0でもよい。
【0035】
(ステップS104)ステップS103で、現在往復遅延が過去往復遅延より増大したと判定された場合(ステップS103 YES)、定常遅延が発生しているので、変更部241は、同期フレームの送信位相を新たに決定し、決定した送信位相を通信部23に通知することで同期フレームの送信位相を変更する。ここで、送信位相は、例えば、同期フレームの送信開始時を0とする位相である。
【0036】
このとき、変更部241は、現在の送信位相から新しく決定した送信位相までずらす位相量は、予め定めた値でもよいし、無作為に決められた値でもよい。また、変更部241は、同期フレームの周期を最大値としてRTTの最小値が最小になるまで二分探索を実施して送信位相の補正値を決定してもよい。具体的には例えば、変更部241は、現行の送信位相を、RTTの最小値が最小になるまで、半周期、1/4周期、1/8周期、…の順にずらしていってもよい。
【0037】
(ステップS105)次に、通信部23は、周期と新しく決定した送信位相とに従った送信タイミングで同期シーケンスを実行する。
【0038】
(ステップS106)次に、比較部242は、今回のRTTの最小値と過去のRTTの最小値とを比較し、今回のRTTの最小値が過去のRTTの最小値より小さくなっているか否か判定する。今回のRTTの最小値が過去のRTTの最小値より小さくなっている場合(YES)、処理がステップS101に戻り、ステップS101で通信部23が同期シーケンスを実行し、ステップS102で時刻同期部243は、クロック27が計時する時刻を調節する。これにより、時刻同期部243は、変更後の送信タイミングで送信された要求信号の送信時刻及びマスタ装置1でのこの要求信号の受信時刻と、この要求信号に応じて送信された応答信号のマスタ装置1での送信時刻及びこの応答信号の受信時刻とを用いて、クロック27が計時する時刻を調節することができる。
【0039】
ここで、過去のRTTの最小値は、第1の往復遅延時間の一例であり、第1の要求信号の送信時刻とマスタ装置1での第1の要求信号の受信時刻の差の最小値と、第1の要求信号に応じて送信された第1の応答信号のマスタ装置1での送信時刻と第1の応答信号の受信時刻の差の最小値との和である。ここで、第1の応答信号は、マスタ装置1での第1の要求信号の受信時刻を表す情報と、マスタ装置1での第1の応答信号の送信時刻を表す情報とを含む。
【0040】
また、今回のRTTの最小値は、第2の往復遅延時間の一例であり、第2の要求信号の送信時刻とマスタ装置1での第2の要求信号の受信時刻の差の最小値と、第2の要求信号に応じて送信された第2の応答信号のマスタ装置1での送信時刻と第2の応答信号の受信時刻の差の最小値との和である。
【0041】
このように、比較部242による評価の結果、通信遅延が短くなる場合、スレーブ装置2は、以下の処理を行う。通信部23は、変更後の送信タイミングで要求信号を送信し、この要求信号に対する応答信号を受信する。そして、時刻同期部243は、送信タイミング変更後の要求信号の送受信時刻または送信タイミング変更後の応答信号の送受信時刻を用いて、クロック27が計時する時刻を調節する。
【0042】
(ステップS107)ステップS106で今回のRTTの最小値が過去のRTTの最小値より小さくなっていない場合(ステップS106 NO)、これまでの送信位相の変更回数を計数し、これまでの送信位相の変更回数が許容値以内であるか否か判定する。
【0043】
(ステップS108)ステップS107でこれまでの送信位相の変更回数が予め設定された許容値以内であると判定された場合(ステップS107 YES)、CPU24は無作為に決定された時間(以下、Backoff時間という)だけ待機し、処理がステップS104に戻る。
【0044】
(ステップS109)ステップS107でこれまでの送信位相の変更回数が許容値以内でないと判定された場合(ステップS107 NO)、変更部241は、同期フレームの周期を新たに決定し、決定した周期を通信部23に通知することで周期を変更する。このとき、変更部241は、現行の周期に予め定められた値を加算した値を新たな周期に決定してもよいし、無作為に決めた値を新たな周期に決定してもよい。また、変更部241は、現行の周期を最大値として、RTTの最小値が最小になるまで二分探索を実施して周期の補正値を決定してもよい。具体的には例えば、変更部241は、現行の周期を、RTTの最小値が最小になるまで、半周期、1/4周期、1/8周期、…の順に減らしていってもよい。
【0045】
(ステップS110)次に、通信部23は、新しい周期と送信位相に従った送信タイミングで同期シーケンスを実行する。
【0046】
(ステップS111)次に、比較部242は、同期精度が改善したか否か判定する。例えば、比較部242は、式(4)に従って推定同期精度改善値を算出し、算出した推定同期精度改善値に基づいて、同期精度が改善したか否か判定する。
【数4】
【0047】
このとき、比較部242は、例えば、推定同期精度改善値が正であれば、同期精度が改善したと判定し、推定同期精度改善値が0以下であれば、同期精度が改善していないと判定する。同期精度が改善していると判定された場合(ステップS111 YES)、処理がステップS101に戻り、通信部23が同期シーケンスを実行し、時刻同期部24が時刻同期を行う。
【0048】
ここで、RTTの最小値の減少値は、周期変更前のRTTの最小値から周期変更後のRTTの最小値への減少量である。式(4)の右辺の第1項は、通信遅延の推定がRTTの最小値を2で割った値であることから、RTTの最小値が減少して、通信遅延精度が向上する推定値を示す。
【0049】
また、水晶発振器精度(ppm:parts per million)は、スレーブ装置2が備える水晶発振器26の精度であり、周期拡大量は、ステップS109で周期を拡大した量である。
【0050】
本実施形態では、水晶発振器精度がスレーブ装置2とマスタ装置1との間で異なることを前提として、スレーブ装置2が同期フレームの周期を拡大することにより、水晶発振器26の値に頼った自走状態の時間が拡大する。このため、その拡大した周期の時間だけスレーブ装置2とマスタ装置1との間に時間差が余計に生じ、その分だけ同期精度が悪くなる。このため、式(4)では、周期拡大量と水晶発振器精度との積を、推定同期精度改善値に対するマイナス要因としている。この周期拡大量と水晶発振器精度との積は、周期拡大量に伴って生じるマスタ装置1とスレーブ装置2との時刻のずれの近似値である。例えば、周期拡大量が10μsで水晶発振器精度が10ppmの場合、式(4)の右辺の第2項は、マスタ装置1とスレーブ装置2との時刻が100μsずれると近似することを意味する。
【0051】
ここで、水晶発振器26の精度は水晶発振器26の仕様としてベンダーから提供される値でも、予め実験により測定された値でもよい。なお、水晶発振器26の周波数や周期カウントを補正する時刻同期を行う場合、式(4)の水晶発振器精度の値には0を代入してもよい。
【0052】
(ステップS112)ステップS111で同期精度が改善していないと判定された場合(ステップS111 NO)、これまでの周期の変更回数を計数し、計数した周期の変更回数が予め設定された許容値以内であるか否か判定する。
【0053】
(ステップS113)ステップS112で周期の変更回数が予め設定された許容値以内であると判定された場合(ステップS112 YES)、CPU24は、無作為に決定された時間(Backoff時間)だけ待機し、処理がステップS109に戻る。
【0054】
(ステップS114)ステップS112で周期の変更回数が予め設定された許容値以内でないと判定された場合(ステップS112 NO)、CPU24は、警告を表す情報を表示部25に表示させる。なお、CPU24は、警告を表す情報を、通信ネットワーク4を介して別の装置へ通知してもよい。
【0055】
以上、本フローチャートによれば、比較部242は、送信タイミング変更前の往復遅延時間の最小値である第1の最小値より、送信タイミング変更後の往復遅延時間の最小値である第2の最小値が減少したか否かを判定する。そして、第1の最小値より第2の最小値が減少していないと判定された場合、変更部241は、要求信号の送信タイミングの変更を再度実行する。一方、第1の最小値より第2の最小値が減少したと判定された場合、時刻同期部243は、クロック27が計時する時刻を調節する。その際、時刻同期部243は、送信タイミング変更後の要求信号の送受信時刻または送信タイミング変更後の応答信号の送受信時刻を用いて、マスタ装置1との時刻差を決定し、決定した時刻差に基づいて、クロック27が計時する時刻を調節する。
【0056】
また、変更部241が要求信号の周期を拡大した場合、比較部242は、第1の往復遅延時間から第2の往復遅延時間への減少量、周期の拡大量、当該スレーブ装置2が備える水晶発信器の精度に基づいて、同期精度が改善したか否か判定する。変更部241は、同期精度が改善していないと判定された場合、要求信号の周期の変更を再度実行する。一方、時刻同期部243は、同期精度が改善したと判定された場合、送信タイミング変更後の要求信号の送受信時刻または送信タイミング変更後の応答信号の送受信時刻を用いて、マスタ装置1との時刻差を決定し、決定した時刻差に基づいて、クロック27が計時する時刻を調節する。
【0057】
以上、第1の実施形態に係るスレーブ装置2において、クロック27は、時刻を計時する。通信部23は、一定の周期で要求信号をマスタ装置1へ送信し、この要求信号に応じて送信された応答信号をマスタ装置1から受信する。変更部241は、要求信号の送信タイミングを変更する。比較部242は、変更部241による送信タイミング変更前の要求信号である第1の要求信号の送信から第1の要求信号に応じて送信された応答信号である第1の応答信号の受信までの時間から、第1の要求信号の受信から第1の応答信号の送信までのマスタ装置1における信号処理時間を差し引いた時間に関する第1の往復遅延時間を決定する。比較部242は、変更部242による前記送信タイミング変更後の要求信号である第2の要求信号の送信から前記第2の要求信号に応じて送信された応答信号である第2の応答信号であって、マスタ装置1による第2の要求信号の受信時刻を表す情報とマスタ装置1による当該第2の応答信号の送信時刻を表す情報とを含む第2の応答信号の受信までの時間に関する第2の往復遅延時間を決定する。そして、比較部242は、第1の往復遅延時間と第2の往復遅延時間とを比較する。
【0058】
そして、比較部242による評価の結果、第2の往復遅延時間が第1の往復遅延時間よりも短い場合、第2の要求信号の送信時刻及びマスタ装置1での第2の要求信号の受信時刻と、マスタ装置1での第2の応答信号の送信時刻及び第2の応答信号の受信時刻とを用いて、クロックが計時する時刻を調節する。
【0059】
これにより、要求信号の送信タイミングを変更して通信遅延が短くなる場合、要求信号の送信経路または応答信号の受信経路で定常的な遅延を低減または回避したことになる。このため、時刻同期部243は、送信タイミング変更後の要求信号の送受信時刻と送信タイミング変更後の応答信号の送受信時刻とを用いることにより、通信遅延の推定精度を向上させることができるので、時刻同期の精度を向上させることができる。
【0060】
(第2の実施形態)
続いて、第2の実施形態について説明する。第1の実施形態では、スレーブ装置2が要求信号の送信タイミングを変更し、比較部242による評価の結果、通信遅延が短くなる場合、送信タイミング変更後の要求信号の送受信時刻または送信タイミング変更後の応答信号の送受信時刻を用いてクロック27が計時する時刻を調節した。それに対し、第2の実施形態では、マスタ装置が、複数のスレーブ装置から受信した要求信号の受信タイミングを収集し、収集した受信タイミングを用いて、各スレーブの同期信号の送信タイミングが互いに異なるように、各スレーブの要求信号の送信タイミングを決定する。
【0061】
まず、第2の実施形態の通信システム10bの構成について図4を用いて説明する。図4は、第2の実施形態における通信システム10bの構成を示す図である。図4に示すように、マスタ装置1bと、通信ネットワーク4を介してマスタ装置(第1の通信装置)1bと接続されたスレーブ装置(第2の通信装置)2b−1、…、2b−M(Mは正の整数)とを備える。
【0062】
マスタ装置1bは、通信ネットワーク4を介してスレーブ装置2b−1、…、2b−Mと通信する。例えば、マスタ装置1bは、スレーブ装置2b−1、…、2b−Mから通信ネットワーク4を介して要求信号を受信した場合、応答信号を通信ネットワーク4を介してスレーブ装置2へ送信する。
【0063】
スレーブ装置2b−1、…、2b−Mは、通信ネットワーク4を介してマスタ装置1bと通信する。例えば、スレーブ装置2b−1、…、2b−Mは、要求信号を通信ネットワーク4を介してマスタ装置1bへ送信し、この要求信号に応じて送信された応答信号を通信ネットワーク4を介してマスタ装置1bから受信する。そして、スレーブ装置2b−1、…、2b−Mは、マスタ装置1bの時刻と、内部の時刻とを同期させる。以下、スレーブ装置2b−1、…、2b−Mを総称して、スレーブ装置2bという。
【0064】
続いて、図5を用いて、マスタ装置1bの構成について説明する。図5は、第2の実施形態におけるマスタ装置1bの構成を示す図である。図5に示すように、マスタ装置1bは、記憶部11、RAM12、第1の通信部13、及びCPU14を備える。
【0065】
記憶部11には、CPU14が実行するための各種のプログラムが保存されている。
【0066】
RAM12は、情報を一次記憶する。
【0067】
第1の通信部13は、時刻情報を載せたフレームを生成し、通信ネットワーク4を介してスレーブ装置2b−1、…、2b−Mへ送信する。また、第1の通信部13は、要求信号を複数の第2の通信装置2b−1、…、2b−Mから受信する。
【0068】
CPU14は、記憶部11からRAM12にプログラムを読み出して実行することにより、記録部141、決定部142及び第1の通知部143として機能する。
【0069】
記録部141は、複数のスレーブ装置2b−1、…、2b−Mから要求信号を第1の通信部13が受信した時刻を記録する。
【0070】
決定部142は、複数のスレーブ装置2b−1、…、2b−Mから受信する複数の要求信号の受信時刻が互いに異なるように、複数のスレーブ装置2b−1、…、2b−Mそれぞれの要求信号の送信タイミングを特定するための送信タイミング情報を決定する。ここで、送信タイミング情報は、要求信号の周期、送信位相、周期の補正値、送信位相の補正値、送信タイミングをずらす時間、またはそれらの組み合わせなどである。
【0071】
第1の通知部143は、送信タイミング情報それぞれを互いに異なる応答信号に含ませ、応答信号それぞれを対応するスレーブ装置2(iは1からMまでの整数)へ第1の通信部13から送信させる。
【0072】
続いて、図6を用いて、スレーブ装置2bの構成について説明する。図6は、第2の実施形態におけるスレーブ装置2bの構成を示す図である。図6に示すように、スレーブ装置2bは、記憶部21、RAM22、第2の通信部23b、及びCPU24bを備える。
【0073】
記憶部21には、CPU24bが実行するための各種のプログラムが保存されている。
【0074】
RAM22は、情報を一次記憶する。
【0075】
第2の通信部23bは、マスタ装置1bに対して応答を要求する要求信号をマスタ装置1bへ送信し、要求信号に対する応答である応答信号をマスタ装置1bから受信する。例えば、第2の通信部23bは、最新のRTTを含む同期フレームを生成し、生成した同期フレームを通信ネットワーク4を介してマスタ装置1bへ送信する。また、第2の通信部2bは、この送信に応じてマスト装置1bから送信された同期フレームを通信ネットワーク4を介して受信する。
【0076】
CPU24bは、記憶部21からRAM22にプログラムを読み出して実行することにより、変更部241b、時刻同期部243、及び第2の通知部244として機能する。
【0077】
変更部241bは、応答信号に含まれる送信タイミング情報に基づいて、要求信号の送信タイミングを変更する。
【0078】
時刻同期部243は、マスタ装置1bと時刻を同期させるために、クロック27が計時する時刻を調節する。
【0079】
第2の通知部244は、要求信号の送受信時刻と応答信号の送受信時刻から往復遅延時間を算出し、算出した往復遅延時間を要求信号に含ませ、第2の通信部23bからマスタ装置1bへ送信させる。
【0080】
続いて、図7を用いて、第2の実施形態における通信システム10bの動作について説明する。図7は、第2の実施形態における通信システム10bの動作の一例を示すフローチャートである。
【0081】
(ステップS201)まず、スレーブ装置2bの第2の通知部244は、最新のRTTをマスタ装置1bに通知するため、同期フレームに最新のRTTを書き込む。また、スレーブ装置2bの第2の通知部244は、初めての同期シーケンスの場合は、その旨を示す値を同期フレームに書き込む。
【0082】
(ステップS202)次に、スレーブ装置2bの第2の通信部23bは、予め定められた送信位相及び周期に従った送信タイミングで、ステップS201で生成された同期フレームをマスタ装置1bへ送信する。
【0083】
(ステップS301)次に、マスタ装置1bの第1の通信部13は、スレーブ装置2bから同期フレームを受信する。
【0084】
(ステップS302)次に、マスタ装置1bの記録部141は、複数のスレーブ装置2b−1、…、2b−Mから同期フレームを受信する毎に、この同期フレームを受信した時刻(以下、受信時刻という)を記憶部11に記録する。これにより、スレーブ装置2b−1、…、2b−Mそれぞれから同期フレームを受信した時刻(以下、受信時刻という)が記録される。
【0085】
(ステップS303)次に、マスタ装置1bの決定部142は、スレーブ装置2bに指示する、同期フレームの送信タイミングを特定するための送信タイミング情報を決定する。ここで、送信タイミング情報は、例えば、周期、送信位相、周期の補正値、送信位相の補正値または現行の送信タイミングをずらす時間量、またはそれらの組み合わせなどである。
【0086】
なお、送信タイミング情報を決定する際、決定部142は、全てのスレーブ装置2b−1、…、2b−Mからの要求信号の受信時刻が等間隔となる希望受信時刻を決定してもよい。ここで、希望受信時刻とは、その時刻に要求信号を受信することが目標であるが、あるスレーブ装置2b−i(iは1からMまでの整数)に送信時刻を希望受信時刻にずらすように指示しても、通信ネットワーク4の状況により、必ずしも要求信号の受信時刻が希望受信時刻とはならない。
【0087】
そして、決定部142は、あるスレーブ装置2b−iから受信する要求信号の希望受信時刻と、当該スレーブ装置2b−iから既に受信した要求信号の受信時刻との差分を、当該スレーブ装置2b−iの送信タイミング情報として決定する処理を行ってもよい。そして、決定部142は、この処理を全てのスレーブ装置2b−1、…、2b−Mについて行ってもよい。
【0088】
ここで、マスタ装置1bは、例えば、各スレーブ装置2b−iから同期フレームを受信した時刻を記録しているので、スレーブ装置2bの同期フレームの周期の範囲で、各スレーブ装置2b−iの希望受信時刻が等間隔になるように、各スレーブ装置2b−iからの同期フレームの希望受信時刻を決定してもよい。
【0089】
このように決定部142は、要求信号それぞれの受信時刻が等間隔となる複数の希望受信時刻を決定し、スレーブ装置2b−i毎に、複数の希望受信時刻の中からスレーブ装置2b−i毎に異なるように選択された一つの時刻と当該スレーブ装置2b−iから既に受信した要求信号の受信時刻(以下、現実の受信時刻ともいう)との差分を送信タイミング情報に決定してもよい。
【0090】
要求信号それぞれの受信時刻が等間隔となるようにする場合、要求信号の周期が、複数のスレーブ装置2b−1、…、2b−Mの間で同じ場合、決定部142は、マスタ装置1bにおける、複数のスレーブ装置2b−1、…、2b−Mからの要求信号の受信タイミングと、この要求信号の周期を複数のスレーブ装置2b−1、…、2b−Mの数で割った値と、を用いて、スレーブ装置毎に要求信号の送信タイミングのずらし量を決定してもよい。
【0091】
具体的には、決定部142は、以下のようにして、スレーブ装置毎に要求信号の送信タイミングをずらす時間を決定してもよい。決定部142は、送信位相0に相当する時刻から、要求信号の周期λを複数のスレーブ装置2b−1、…、2b−Mの数Mで割った値λ/M間隔で、M個の希望受信時刻を決定する。そして、決定部142は、決定したM個の希望受信時刻から一つ選び、M個の現実の受信時刻から一つ選び、選んだ時刻同士の差分を算出するという一連の処理を行う。決定部142は、この一連の処理をM回繰り返すことにより、M個の差分が得られる。但し、繰り返しの際、一度選ばれた希望受信時刻と一度選ばれた現実の受信時刻は、次からは選べないものとする。決定部142は、得られたM個の差分それぞれを、要求信号の送信タイミングのずらし量に決定する。
【0092】
また、要求信号それぞれの受信時刻が等間隔となるようにする場合、要求信号の周期が、複数のスレーブ装置2b−1、…、2b−Mの間で異なる場合、決定部142は、マスタ装置1bにおける、複数のスレーブ装置2b−1、…、2b−Mからの要求信号の受信タイミングと、複数のスレーブ装置2b−1、…、2b−Mの間における要求信号の周期の最大公約数をスレーブ装置2b−1、…、2b−Mの数で割った値と、を用いて、送信タイミングのずらし量を決定してもよい。
【0093】
具体的には、以下のようにして、決定部142は、スレーブ装置毎に要求信号の送信タイミングのずらし量を決定してもよい。決定部142は、送信位相0に相当する時刻から、要求信号の周期λの最大公約数gを複数のスレーブ装置2b−1、…、2b−Mの数Mで割った値g/M間隔で、M個の希望受信時刻を決定する。そして、決定部142は、決定したM個の希望受信時刻から一つ選び、M個の現実の受信時刻から一つ選び、選んだ時刻同士の差分を算出するという一連の処理を行う。決定部142は、この一連の処理をM回繰り返すことにより、M個の差分が得られる。但し、繰り返しの際、一度選ばれた希望受信時刻と一度選ばれた現実の受信時刻は、次からは選べないものとする。決定部142は、得られたM個の差分それぞれを、要求信号の送信タイミングのずらし量に決定する。
【0094】
また、決定部142は、全てのスレーブ装置2b−1、…、2b−Mからの同期フレームの現実の受信時刻と重複せず、且つ各希望受信時刻が互いに重複しないように、各スレーブ装置2b−iの希望受信時刻を決定してもよい。そして、あるスレーブ装置2b−iについて決定した希望受信時刻と、当該スレーブ装置2b−iから既に受信した要求信号の受信時刻との差分を、当該スレーブ装置2b−iの送信タイミング情報として決定する処理を行ってもよい。そして、決定部142は、この処理を全てのスレーブ装置2b−1、…、2b−Mについて行ってもよい。
【0095】
また、各受信時刻が、他のスレーブ装置2b−iの受信時刻と重複していない場合に、決定部142は、スレーブ装置2b−iが同期フレームに記載したRTTの値と記憶部11に記憶されている過去のRTTとを比較してもよい。この場合、スレーブ装置2b−iから同期フレームを受信する毎に、この同期フレームに記載されたRTTの値を記憶部11に記憶させることを前提としている。
【0096】
具体的には例えば、スレーブ装置2b−iが同期フレームに記載したRTTの値が過去のRTTより大きくなっている場合、決定部142は、予め決められた値、または無作為に決められた値だけ周期または送信位相を変化させてもよい。また、決定部142は、同期フレームの周期を最大値としてRTTの最小値が最小になるまで二分探索を実施して送信位相の補正値を決定してもよい。また決定部142は、現行の周期を最大値として、RTTの最小値が最小化するまで二分探索を実施して周期の補正値を決定してもよい。
【0097】
このように、決定部142は、過去の往復遅延時間と、第2の通信部23bが送信した要求信号に含まれる往復遅延時間とを比較し、比較結果に応じて要求信号の送信タイミングを特定するための送信タイミング情報を決定してもよい。
【0098】
ここで、周期を拡張した際は、決定部142は、周期を拡張する毎に式(4)に従って推定同期精度改善値を計算してもよい。決定部142は、計算された推定同期精度改善値が正の場合、拡張後の周期を採用してもよい。改善値が0以下の場合、同期精度が改善していないので、決定部142は、拡張後の周期を採用せず、元の周期を利用するか、または予め決められた値、無作為に決められた値もしくは上述のように二分探索で決定された周期の補正値を元の周期に加算して、もう一度、式(4)より推定同期精度改善値を計算してもよい。計算された推定同期精度改善値が正の場合、決定部142は、拡張後の周期を採用してもよい。
【0099】
(ステップS304)次に、マスタ装置1bの第1の通知部143は、同期フレームに送信タイミング情報(例えば、周期、送信位相、周期の補正値、送信位相の補正値、及び送信タイミングをずらす時間量のうち少なくとも一つ)を書き込む。
【0100】
(ステップS305)次に、マスタ装置1bの第1の通信部13が同期フレームを応答信号として返信する。
【0101】
(ステップS203)次に、スレーブ装置2bの第2の通信部23bがマスタ装置1bから時刻同期情報を含む応答信号を受信し、この時刻同期情報を時刻同期部243に渡す。ここで、時刻同期情報には、マスタ装置1bが同期フレームを受信した時刻t、及びマスタ装置1bが同期フレームを発信した時刻tが含まれる。
【0102】
なお、スレーブ装置2bの時刻同期部243は、スレーブ装置2bが同期フレームを送信する毎に送信した時刻tを記憶部21に記憶させ、スレーブ装置2bが同期フレームを受信する毎に受信した時刻tを記憶部21に記憶させる。
【0103】
(ステップS204)次に、時刻同期部243は、式(1)に従ってマスタ装置1bからスレーブ装置2bまでの通信遅延を算出し、式(2)に従ってマスタ装置1bとの時刻差Δtを算出し、この時刻差Δtだけクロック27が計時する時刻を早める。ここで、クロック27が計時する時刻を早める際には、時刻差Δtだけ一気に時刻を早めてもよいし、所定の時間をかけて徐々に時刻を早めて所定の時間後に時刻差Δtだけ時刻が早まるようにしてもよい。
【0104】
(ステップS205)次に、変更部241bは、受信された同期フレーム内に送信タイミング情報が含まれているか否か判定する。
【0105】
(ステップS206)ステップS205で同期フレーム内に送信タイミング情報が含まれている場合(ステップS205 YES)、変更部241bは、送信タイミング情報に基づいて、同期フレームの送信タイミングを変更する。例えば、送信タイミング情報が送信位相及び周期の場合、この送信位相及び周期で決まる送信タイミングに変更する。
【0106】
(ステップS207)ステップS205で同期フレーム内に送信タイミング情報が含まれていない場合(ステップS205 NO)、変更部241bは、これまでの送信位相と周期で決まる次の送信時刻まで待機し、処理がステップS201に戻りステップS201以降の処理が繰り返される。これにより、時刻同期部243は、送信タイミング変更後の要求信号の送信時刻及びマスタ装置1bでのこの要求信号の受信時刻と、送信タイミング変更後のマスタ装置1bでの応答信号の送信時刻及びこの応答信号の受信時刻と、を用いて、クロック27が計時する時刻を調節することができる。
【0107】
以上、第2の実施形態に係るマスタ装置1bにおいて、第1の通信部13は、要求信号を複数のスレーブ装置2b−1、…、2b−Mから受信する。記録部141は、複数のスレーブ装置2b−1、…、2b−Mから要求信号を第1の通信部13が受信した時刻を記録する。決定部142は、複数のスレーブ装置2b−1、…、2b−Mから受信する複数の要求信号の受信時刻が互いに異なるように、複数のスレーブ装置2b−1、…、2b−Mそれぞれの要求信号の送信タイミングを特定するための送信タイミング情報を決定する。第1の通知部143は、送信タイミング情報それぞれを互いに異なる応答信号に含ませ、応答信号それぞれを対応するスレーブ装置2b−iへ第1の通信部13から送信させる。
【0108】
第2の実施形態に係るスレーブ装置2bにおいて、第2の通信部23bは、マスタ装置1bに対して応答を要求する要求信号をマスタ装置1bへ送信し、要求信号に対する応答である応答信号をマスタ装置1bから受信する。変更部241bは、応答信号に含まれる送信タイミング情報に基づいて、要求信号の送信タイミングを変更する。時刻同期部243は、変更部241bによる送信タイミング変更後の要求信号である変更後要求信号の送信時刻及びマスタ装置1bでの変更後要求信号の受信時刻と、変更後要求信号に応じて送信された応答信号である変更後応答信号のマスタ装置1bでの送信時刻及び変更後応答信号の受信時刻とを用いて、クロック27が計時する時刻を調節する。
【0109】
これにより、複数のスレーブ装置2b−1、…、2b−Mからの要求信号の受信タイミングが互いに異なるようにすることができる。このため、複数のスレーブ装置2b−1、…、2b−Mが送信するフレーム同士が競合することを回避することができるので、定常的な遅延を回避することができる。その結果、複数のスレーブ装置2b−1、…、2b−Mは、通信遅延の推定精度を向上させることができるので、時刻同期の精度を向上させることができる。
【0110】
(第3の実施形態)
続いて、第3の実施形態について説明する。第2の実施形態では、マスタ装置が、自身が受信した同期信号の受信タイミングを収集し、収集した受信タイミングを用いて、各スレーブ装置からの同期信号の受信タイミングが互いに異なるように、各スレーブの同期信号の送信タイミングを決定した。それに対して、第3の実施形態では、マスタ装置ではなく、中央指令装置が各スレーブの同期信号の送信タイミングを決定する。
【0111】
続いて、図8を用いて第3の実施形態に係る通信システム10cの構成について説明する。図8は、第3の実施形態における通信システム10cの構成を示す図である。図8に示すように、通信システム10cは、マスタ装置(第1の通信装置)1c−1、…、1c−3、スレーブ装置(第2の通信装置)2b−1、…、2b−9、及び中央指令装置(第3の通信装置)3を備える。スレーブ装置2b−1、…、2b−3は、通信ネットワーク4−1を介してマスタ装置1c−1と接続されており、マスタ装置1c−1と通信する。同様に、スレーブ装置2b−4、…、2b−6は、通信ネットワーク4−2を介してマスタ装置1c−2と接続されており、マスタ装置1c−2と通信する。同様に、スレーブ装置2b−7、…、2b−9は、通信ネットワーク4−3を介してマスタ装置1c−3と接続されており、マスタ装置1c−3と通信する。マスタ装置1c−1、1c−2、1c−3は、中央指令装置3と接続されており、中央指令装置3と通信する。
【0112】
マスタ装置1c−1は、スレーブ装置2b−1、…、2b−3から同期フレームを受信し、この受信タイミングと受信した同期フレームに含まれるRTTとを収集する。そして、マスタ装置1c−1は、収集した受信タイミングおよびRTTを中央指令装置3へ通知する。
【0113】
同様に、マスタ装置1c−2は、スレーブ装置2b−4、…、2b−6から同期フレームを受信し、この受信タイミングと受信した同期フレームに含まれるRTTとを収集する。そして、マスタ装置1c−2は、収集した受信タイミングおよびRTTを中央指令装置3へ通知する。
【0114】
同様に、マスタ装置1c−3は、スレーブ装置2b−7、…、2b−9から同期フレームを受信し、この受信タイミングと受信した同期フレームに含まれるRTTとを収集する。そして、マスタ装置1c−3は、収集した受信タイミングおよびRTTを中央指令装置3へ通知する。以下、マスタ装置1c−1、1c−2、1c−3を総称してマスタ装置1cという。
【0115】
続いて、図9を用いて第3の実施形態におけるマスタ装置1cの構成について説明する。図9は、第3の実施形態におけるマスタ装置1cの構成を示す図である。図9に示すように、マスタ装置1cは、記憶部11、RAM12、第1の通信部13c、及びCPU14cを備える。
【0116】
記憶部11には、CPU14cが実行するための各種のプログラムが保存されている。
【0117】
RAM12は、情報を一次記憶する。
【0118】
第1の通信部13cは、通信ネットワーク4c−j(jは1から3までの整数)を介して、対応するスレーブ装置2b−k(kは1から9までの整数)と通信する。また、第1の通信部13cは、中央指令装置3と通信する。例えば、第1の通信部13cは、複数のスレーブ装置2b−kそれぞれから要求信号(例えば、同期フレーム)を受信し、この要求信号の受信タイミングそれぞれを中央指令装置3へ送信する。
【0119】
また、第1の通信部13cは、複数の送信タイミング情報を中央指令装置3から受信し、互いに異なる送信タイミング情報を含む応答信号それぞれを、対応するスレーブ装置2b−kそれぞれへ送信する。
【0120】
CPU14cは、記憶部11からRAM12にプログラムを読み出して実行することにより、制御部144として機能する。
【0121】
制御部144は、第1の通信部13cを制御する。例えば、制御部144は、通信ネットワークを介して接続された各スレーブ装置2b−kからの同期フレームの受信タイミングと、受信した同期フレームに含まれるRTTとを収集する。そして、制御部144は、収集した受信タイミングおよびRTTを含むメッセージを第1の通信部13cから中央指令装置3へ送信させる。
【0122】
なお、スレーブ装置2b−1、…、2b−9の構成は、図6に示す第2の実施形態におけるスレーブ装置2bの構成と同様であるので、その説明を省略する。
【0123】
続いて、図10を用いて中央指令装置3の構成について説明する。図10は、第3の実施形態における中央指令装置3の構成を示す図である。図10に示すように、中央指令装置3は、記憶部31、RAM32、第3の通信部33、及びCPU34を備える。
【0124】
記憶部31には、CPU34が実行するための各種のプログラムが保存されている。
【0125】
RAM32は、情報を一次記憶する。
【0126】
第3の通信部33は、マスタ装置1c−1、1c−2、1c−3と通信する。例えば、第3の通信部33は、マスタ装置1c−jそれぞれが複数のスレーブ装置2b−3(j−1)+1〜2b−(3j)から要求信号を受信した受信タイミングそれぞれを、マスタ装置1c−1、1c−2、1c−3それぞれから通信により取得する。ここで、要求信号は、マスタ装置1c−jに対して応答を要求する信号である。また、第3の通信部は、後述する決定部342により決定された複数の送信タイミング情報それぞれを、対応するスレーブ装置2b−kと通信可能なマスタ装置1c−jへ送信する。
【0127】
CPU34は、記憶部31からRAM32にプログラムを読み出して実行することにより、記録部341、決定部342、及び通知部343として機能する。
【0128】
記録部341は、第3の通信部33がマスタ装置1c−1、1c−2、1c−3から受信したメッセージに含まれる受信タイミングを記憶部31に記録する。
【0129】
決定部342は、記録された受信タイミングに基づいて、複数のマスタ装置1c−1、1c−2、1c−3が複数のスレーブ装置2b−kから受信する複数の要求信号の受信時刻が互いに異なるように、スレーブ装置2b−kそれぞれが送信する要求信号の送信タイミングを特定するための送信タイミング情報を決定する。
【0130】
通知部343は、決定部342により決定された送信タイミング情報それぞれを、対応するスレーブ装置2b−kと通信可能なマスタ装置1c−jへ第3の通信部33から送信させる。
【0131】
続いて、図11を用いて第3の実施形態における通信システム10cの動作について説明する。図11は、第3の実施形態における通信システム10cの動作の一例を示すフローチャートである。スレーブ装置2bの全てのステップS401〜S407は、図7のすステップS201〜S207と同様であるので、その説明を省略する。
【0132】
(ステップS501)次に、各マスタ装置1c−jの第1の通信部13cは、スレーブ装置2bから要求信号としての同期フレームを受信する。
【0133】
(ステップS502)次に、各マスタ装置1c−jの第1の通信部13cは、収集された受信時刻及びRTTを含むメッセージを中央指令装置3へ送信する。
【0134】
(ステップS601)次に、中央指令装置3の第3の通信部33は、マスタ装置1c−1、…、1c−3からメッセージを受信する。
【0135】
(ステップS602)次に、中央指令装置3の記録部341は、マスタ装置1c−1がスレーブ装置2b−1、…、2b−3から受信した要求信号の受信時刻t1、t2、t3を記憶部31に記録する。同様に、中央指令装置3の記録部341は、マスタ装置1c−2がスレーブ装置2b−4、…、2b−6から受信した要求信号の受信時刻t4、t5、t6を記憶部31に記録する。同様に、中央指令装置3の記録部341は、マスタ装置1c−3がスレーブ装置2b−7、…、2b−9から受信した要求信号の受信時刻t7、t8、t9を記憶部31に記録する。
【0136】
(ステップS603)次に、中央指令装置3の決定部342は、各スレーブ装置2b−kの要求信号の送信タイミングを特定するための送信タイミング情報を決定する。その際、決定部342は、複数の受信タイミング(例えば、受信時刻t1、…、t9)に基づいて、複数のマスタ装置1c−1、…、1c−3が複数の第2の通信装置から受信する複数の要求信号の受信時刻(ここでは、九つの受信時刻)が互いに異なるように、スレーブ装置2b−kそれぞれが要求信号を送信する送信タイミングを特定するための送信タイミング情報を決定する。
【0137】
例えば、決定部342は、等時間間隔の九つの希望受信時刻と、各マスタ1c−jが既に受信した要求信号の受信時刻t1、…、t9とのそれぞれの差分を送信タイミング情報に決定してもよい。あるいは、決定部342は、記録した他の受信時刻と重複しない九つの希望受信時刻と、マスタ1c−jが既に受信した要求信号の受信時刻t1、…、t9とのそれぞれの差分を送信タイミング情報に決定してもよい。ここで、希望受信時刻とは、その時刻に受信することが目標であるが、スレーブ装置に送信時刻をずらすように指示しても、通信ネットワーク4−1、…、4−3の状況により必ずしも目標の時刻の受信とならないことを意味する。
【0138】
また、互いに受信時刻が異なる場合でも、決定部342は、送信タイミング情報を変更してもよい。例えば、決定部342は、スレーブ装置2b−kが同期フレームに書き込んだRTTを、記録した過去のRTTと比較してもよい。そして、決定部342は、スレーブ装置2b−kが同期フレームに書き込んだRTTが記録した過去のRTTより大きくなっている場合、決定部342は、予め決められた値、または無作為に決められた値だけ周期または送信位相を変化させてもよい。あるいは、決定部342は、同期フレームの周期を最大値としてRTTの最小値が最小になるまで二分探索を実施して送信位相の補正値を決定してもよい。あるいは、決定部342は、同期フレームの周期を最大値として、RTTの最小値が最小化するまで二分探索を実施して周期の補正値を決定してもよい。
【0139】
このように、スレーブ装置2b−kの第2の通信部23bは、要求信号を送信してから応答信号を受信するまでの往復遅延時間を中央指令装置3へ送信してもよい。そして、中央指令装置3の決定部342は、第2の通信部23bが送信した往復遅延時間と過去の往復遅延時間とを比較し、比較結果に応じて要求信号の送信タイミングを特定するための送信タイミング情報を決定してもよい。
【0140】
ここで、周期を拡張した際は、決定部342は、周期を拡張する毎に、式(4)に従って推定同期精度改善値を計算してもよい。決定部342は、計算された推定同期精度改善値が正の場合、拡張後の周期を採用してもよい。改善値が0以下の場合、同期精度が改善していないので、決定部342は、拡張後の周期を採用せず、元の周期を利用するか、または予め決められた値、無作為に決められた値もしくは上述のように二分探索で決定された周期の補正値を元の周期に加算して、もう一度、式(4)より推定同期精度改善値を計算してもよい。計算された推定同期精度改善値が正の場合、決定部342は、拡張後の周期を採用してもよい。
【0141】
(ステップS604)次に、中央指令装置3の通知部343は、スレーブ装置2b−1、…、2b−9の送信タイミングを特定するための送信タイミング情報を含むメッセージを生成する。
【0142】
(ステップS605)次に、中央指令装置3の第3の通信部33は、生成されたメッセージを、マスタ装置1c−jそれぞれへ送信する。
【0143】
(ステップS503)次に、各マスタ装置1c−jの第1の通信部13cは、メッセージを受信する。
【0144】
(ステップS504)次に、各マスタ装置1c−jの制御部144は、メッセージから送信タイミング情報を読み出し、スレーブ装置2b−k毎に、当該スレーブ装置2b−kの送信タイミングを特定するための送信タイミング情報を含む同期フレームを生成する。
【0145】
(ステップS505)次に、各マスタ装置1c−jの第1の通信部13cは、スレーブ装置2b−k毎に生成された同期フレームを、対応するスレーブ装置2b−kへ送信する。これにより、各スレーブ装置2b−kへ、当該スレーブ装置の送信タイミングを特定するための送信タイミング情報を含む同期フレームが送信される。
【0146】
以上、第3の実施形態における中央指令装置3において、第3の通信部33は、マスタ装置1c−jそれぞれが要求信号を複数のスレーブ装置2b−kから受信した受信タイミングを、マスタ装置1c−jそれぞれから通信により取得する。決定部342は、複数の受信タイミングに基づいて、複数のマスタ装置1c−jが複数のスレーブ装置2b−kから受信する複数の要求信号の受信時刻が互いに異なるように、スレーブ装置2b−kそれぞれが送信する要求信号の送信タイミングを特定するための送信タイミング情報を決定する。通知部343は、送信タイミング情報を、マスタ装置1c−jそれぞれへ第3の通信部33から送信させる。
【0147】
また、第3の実施形態におけるマスタ装置1c−jにおいて、第1の通信部13cは、複数のスレーブ装置2b−kそれぞれから要求信号を受信し、この要求信号の受信タイミングそれぞれを中央指令装置3へ送信する。また、第1の通信部13cは、複数の送信タイミング情報を中央指令装置3から受信し、互いに異なる当該送信タイミング情報を含む応答信号それぞれを、対応するスレーブ装置2b−kそれぞれへ送信する。
【0148】
また、第3の実施形態におけるスレーブ装置2b−kにおいて、第2の通信部23bは、要求信号マスタ装置1c−jへ送信し、マスタ装置1c−jから応答信号を受信する。変更部241bは、送信タイミング情報に基づいて、要求信号の送信タイミングを変更する。
【0149】
これにより、中央指令装置3が各スレーブ装置2b−kの送信タイミングを決定することにより、複数のスレーブ装置2b−1、…、2b−9からの要求信号の受信タイミングが互いに異なるようにすることができる。このため、複数のマスタ装置に分散して同期する複数のスレーブ装置2b−1、…、2b−9が送信するフレーム同士が重なることを回避することができるので、定常的な遅延を回避することができる。その結果、複数のスレーブ装置2b−1、…、2b−9は、通信遅延の推定精度を向上させることができるので、時刻同期の精度を向上させることができる。
【0150】
なお、第1の実施形態におけるスレーブ装置2は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、変更部241、比較部242及び時刻同期部243は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、スレーブ装置2は、上記のプログラムをコンピュータ装置に予めインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、、変更部241、比較部242及び時刻同期部243は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
【0151】
また、第2の実施形態におけるマスタ装置1bまたはスレーブ装置2bは、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、マスタ装置1bの場合、記録部141,決定部142、及び第1の通知部143は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。一方、スレーブ装置2bの場合、、変更部241b、時刻同期部243、及び第2の通知部244は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、マスタ装置1bまたはスレーブ装置2bは、上記のプログラムをコンピュータ装置に予めインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、記録部141,決定部142及び第1の通知部143または変更部241b、時刻同期部243、及び第2の通知部244は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
【0152】
また、第3の実施形態におけるマスタ装置1c、スレーブ装置2bまたは中央指令装置3は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、マスタ装置1cの場合、制御部144は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。一方、スレーブ装置2bの場合、時刻同期部243、変更部241b、及び第2の通知部244は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。一方、中央指令装置3の場合、記録部341、決定部342及び通知部343は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。
【0153】
このとき、マスタ装置1c、スレーブ装置2bまたは中央指令装置3は、上記のプログラムをコンピュータ装置に予めインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、制御部144または時刻同期部243、変更部241b、及び第2の通知部244または記録部341、決定部342及び通知部343は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
【0154】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0155】
10、10b、10c 通信システム
1、1b、1c−1、…、1c−3 マスタ装置(第1の通信装置)
11、21 記憶部
12、22 RAM(Random Access Memory)
13、13c 第1の通信部
14、24、24b、14c CPU(Central Processing Unit)
141、341 記録部
142、342 決定部
143 第1の通知部
144 制御部
2、2b、2b−1、…、2b−M、2b−1、…、2b−9 スレーブ装置(第2の通信装置)
23 通信部
23b 第2の通信部
241 時刻同期部
242 比較部
243 変更部
244 第2の通知部
25 表示部
26 水晶発振器
27 クロック3 中央指令装置
343 通知部
4 通信ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11