(57)【要約】  通信システム（５００）は、複数の通信装置（１００）を備える。管理判定部（１１０）は、通信装置（１００）がネットワーク管理マスタであるか否かを判定する。グランドマスタ判定部（１２０）は、通信装置（１００）がグランドマスタであるか否かを判定する。設定部（１３０）は、通信装置（１００）がネットワーク管理マスタであり、かつ、グランドマスタである場合、装置優先度（２１）に、現在のグランドマスタの優先度より優先度が高いことを示す閾値（２３）を設定する。設定部（１３０）は、通信装置（１００）がネットワーク管理マスタであり、かつ、グランドマスタでない場合、グランドマスタである他の通信装置の優先度に設定する閾値（２３）を含むネットワーク設定メッセージを送信する。
2020059138.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置を備えた通信システムであって、前記複数の通信装置のうちのいずれかの通信装置が、前記複数の通信装置の時刻の基準となるグランドマスタに設定され、前記複数の通信装置のうちのいずれかの通信装置が、前記グランドマスタの優先度を設定するネットワーク管理マスタに設定される通信システムに含まれる通信装置において、
前記通信装置が前記ネットワーク管理マスタであるか否かを判定する管理判定部と、
前記通信装置が前記グランドマスタであるか否かを判定するグランドマスタ判定部と、
前記通信装置が前記ネットワーク管理マスタであり、かつ、前記グランドマスタである場合、前記通信装置の優先度に、現在のグランドマスタの優先度より優先度が高いことを示す閾値を設定し、前記通信装置が前記ネットワーク管理マスタであり、かつ、前記グランドマスタでない場合、前記グランドマスタである他の通信装置の優先度に設定する前記閾値を含むネットワーク設定メッセージを送信する設定部と
を備えた通信装置。
【請求項２】
前記グランドマスタ判定部は、
前記通信システムの他の通信装置からネットワーク設定メッセージを受信すると、前記通信装置が前記グランドマスタであるか否かを判定し、
前記設定部は、
前記通信装置が前記グランドマスタの場合、前記通信装置の優先度に前記ネットワーク設定メッセージに含まれる前記閾値を設定する請求項１に記載の通信装置。
【請求項３】
前記通信装置は、
前記通信装置の優先度を装置優先度としてメモリに記憶するとともに、前記グランドマスタの優先度をグランドマスタ優先度としてメモリに記憶し、
前記設定部は、
前記通信装置が前記グランドマスタの場合、前記装置優先度に前記ネットワーク設定メッセージに含まれる前記閾値を設定するとともに、前記グランドマスタ優先度に前記ネットワーク設定メッセージに含まれる前記閾値を設定する請求項２に記載の通信装置。
【請求項４】
前記設定部は、
前記通信装置が前記グランドマスタでない場合、前記グランドマスタ優先度に前記ネットワーク設定メッセージに含まれる前記閾値を設定するか否かを判定し、前記閾値を設定すると判定した場合に、前記グランドマスタ優先度に前記ネットワーク設定メッセージに含まれる前記閾値を設定する請求項３に記載の通信装置。
【請求項５】
前記通信装置は、
前記グランドマスタを選出するためのグランドマスタ調停メッセージであって前記グランドマスタの候補となる通信装置の優先度を含むグランドマスタ調停メッセージを送受信することによりグランドマスタ調停を実行する調停部を備え、
前記調停部は、
前記グランドマスタ調停メッセージを受信すると、前記グランドマスタ調停メッセージに含まれる優先度と前記グランドマスタ優先度と比較するグランドマスタ優先度比較処理を実行することにより、前記グランドマスタ調停を行う請求項３または４に記載の通信装置。
【請求項６】
複数の通信装置を備えた通信システムであって、前記複数の通信装置のうちのいずれかの通信装置が、前記複数の通信装置の時刻の基準となるグランドマスタに設定され、前記複数の通信装置のうちのいずれかの通信装置が、前記グランドマスタの優先度を設定するネットワーク管理マスタに設定される通信システムにおいて、
前記複数の通信装置に含まれる通信装置は、
前記通信装置が前記ネットワーク管理マスタであるか否かを判定する管理判定部と、
前記通信装置が前記グランドマスタであるか否かを判定するグランドマスタ判定部と、
前記通信装置が前記ネットワーク管理マスタであり、かつ、前記グランドマスタである場合、前記通信装置の優先度に、現在のグランドマスタの優先度より優先度が高いことを示す閾値を設定し、前記通信装置が前記ネットワーク管理マスタであり、かつ、前記グランドマスタでない場合、前記グランドマスタである他の通信装置の優先度に設定する前記閾値を含むネットワーク設定メッセージを送信する設定部と
を備えた通信システム。
【請求項７】
複数の通信装置を備えた通信システムであって、前記複数の通信装置のうちのいずれかの通信装置が、前記複数の通信装置の時刻の基準となるグランドマスタに設定され、前記複数の通信装置のうちのいずれかの通信装置が、前記グランドマスタの優先度を設定するネットワーク管理マスタに設定される通信システムに含まれる通信装置の通信方法において、
管理判定部が、前記通信装置が前記ネットワーク管理マスタであるか否かを判定し、
グランドマスタ判定部が、前記通信装置が前記グランドマスタであるか否かを判定し、
設定部が、前記通信装置が前記ネットワーク管理マスタであり、かつ、前記グランドマスタである場合、前記通信装置の優先度に、現在のグランドマスタの優先度より優先度が高いことを示す閾値を設定し、前記通信装置が前記ネットワーク管理マスタであり、かつ、前記グランドマスタでない場合、前記グランドマスタである他の通信装置の優先度に設定する前記閾値を含むネットワーク設定メッセージを送信する通信方法。
【請求項８】
複数の通信装置を備えた通信システムであって、前記複数の通信装置のうちのいずれかの通信装置が、前記複数の通信装置の時刻の基準となるグランドマスタに設定され、前記複数の通信装置のうちのいずれかの通信装置が、前記グランドマスタの優先度を設定するネットワーク管理マスタに設定される通信システムに含まれる通信装置の通信プログラムにおいて、
前記通信装置が前記ネットワーク管理マスタであるか否かを判定する管理判定処理と、
前記通信装置が前記グランドマスタであるか否かを判定するグランドマスタ判定処理と、
前記通信装置が前記ネットワーク管理マスタであり、かつ、前記グランドマスタである場合、前記通信装置の優先度に、現在のグランドマスタの優先度より優先度が高いことを示す閾値を設定し、前記通信装置が前記ネットワーク管理マスタであり、かつ、前記グランドマスタでない場合、前記グランドマスタである他の通信装置の優先度に設定する前記閾値を含むネットワーク設定メッセージを送信する設定処理と
をコンピュータである前記通信装置に実行させる通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信システム、通信方法および通信プログラムに関する。特に、マスタスレーブシステムにおいて時刻同期を行う通信装置、通信システム、通信方法および通信プログラムに関する。
【背景技術】
【０００２】
ＩＥＥＥ１５８８、あるいは、ＩＥＥＥ８０２．１ＡＳのように、複数のノードから成るマスタスレーブシステムにおいて、ネットワーク上の分散クロックを同期させる時刻同期技術の規格がある。これらの規格では、ベストマスタクロックアルゴリズム（ＢＭＣＡ）により、時刻の基準となるグランドマスタを選出し、グランドマスタに同期するスレーブはグランドマスタから配信される時刻に同期する。稼働中のシステムにグランドマスタより高優先度のノードが新たに参入した場合、各ノードはグランドマスタを選出する調停を行い、新たに参入した高優先度のノードをグランドマスタと認識する。そして、各ノードは、新たに参入した高優先度のノードに同期する。このとき、意図していないグランドマスタの切り替えが発生する場合がある。なお、調停によるグランドマスタの選出処理を「グランドマスタ調停」と呼ぶ。【０００３】
特許文献１の技術では、グランドマスタとスレーブノードの間にネットワーク接続装置が設けられる。そして、特許文献１の技術では、新たなノードがネットワーク接続装置に接続され、新たなノードからベストタイミング同期リクエストが送出されると、ネットワーク接続装置はベストタイミング同期リクエストをブロックする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０８５２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、意図しないグランドマスタの切り替えを防止できる。しかし、通信システムに優先度が高い高精度な通信装置が参入してきた場合でも、その高精度な通信装置に時刻同期できない虞があるという課題がある。【０００６】
本発明は、意図しないグランドマスタの切り替えを防止しつつ、優先度が高い通信装置が参入してきた場合には、その通信装置に同期できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る通信装置は、複数の通信装置を備えた通信システムであって、前記複数の通信装置のうちのいずれかの通信装置が前記複数の通信装置の時刻の基準となるグランドマスタに設定され、前記複数の通信装置のうちのいずれかの通信装置が前記グランドマスタの優先度を設定するネットワーク管理マスタに設定される通信システムに含まれる通信装置において、
前記通信装置が前記ネットワーク管理マスタであるか否かを判定する管理判定部と、
前記通信装置が前記グランドマスタであるか否かを判定するグランドマスタ判定部と、
前記通信装置が前記ネットワーク管理マスタであり、かつ、前記グランドマスタである場合、前記通信装置の優先度に、現在のグランドマスタの優先度より優先度が高いことを示す閾値を設定し、前記通信装置が前記ネットワーク管理マスタであり、かつ、前記グランドマスタでない場合、前記グランドマスタである他の通信装置の優先度に設定する前記閾値を含むネットワーク設定メッセージを送信する設定部とを備えた。
【発明の効果】
【０００８】
本発明に係る通信装置によれば、意図しないグランドマスタの切り替えを防止しつつ、優先度が高い通信装置が参入してきた場合には、その通信装置に同期できるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る通信システムと比較するための通信システムのシーケンス図。
【図２】実施の形態１に係る通信装置の構成図。
【図３】実施の形態１に係る通信装置のハードウェアの詳細構成図。
【図４】実施の形態１に係る通信システムのシーケンス図。
【図５】実施の形態１に係るネットワーク管理マスタである通信装置の動作フロー図。
【図６】実施の形態１に係るグランドマスタ調停メッセージを受信した際の通信装置の動作フロー図。
【図７】実施の形態１に係るネットワーク管理マスタ以外の通信装置がネットワーク設定メッセージを受信した際の動作フロー図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
【００１１】
実施の形態１．
図１は、本実施の形態に係る通信システムと比較するための通信システム５０１の動作シーケンスを示す図である。
図１の通信システム５０１と本実施の形態に係る通信システムは、ＩＥＥＥ１５８８、あるいはＩＥＥＥ８０２．１ＡＳといった時刻同期技術の規格を採用している。これらの規格では、ＢＭＣＡを用いたグランドマスタ調停によりグランドマスタを選出し、グランドマスタ以外のスレーブはグランドマスタから配信される時刻に同期する。
図１の上段の動作シーケンスでは、通信システム５０１は優先度３の通信装置１と優先度４の通信装置２を備える。通信装置１は、通信システム５０１の時刻の基準となるグランドマスタＧＭである。通信装置１からグランドマスタ調停メッセージＡｎｎｏｕｎｃｅが通信装置２に送信され、続けて同期メッセージＳｙｎｃが送信されている。これにより、通信装置１と通信装置２の時刻同期が完了する。以下において、グランドマスタ調停メッセージＡｎｎｏｕｎｃｅを単にＡｎｎｏｕｎｃｅとして説明する場合がある。また、同期メッセージＳｙｎｃを単にＳｙｎｃとして説明する場合がある。
【００１２】
Ａｎｎｏｕｎｃｅはグランドマスタ調停を行うためのフレームである。Ｓｙｎｃはグランドマスタから発信され、通信システムの時刻同期を行うためのフレームである。図１の上段では、グランドマスタ調停が完了し、通信装置１と通信装置２の間で時刻同期が行われたことを示している。「Ｍ」はＭａｓｔｅｒＰｏｒｔを表す。ＭａｓｔｅｒＰｏｒｔは、ＡｎｎｏｕｎｃｅおよびＳｙｎｃを送信するポートである。また、「Ｓ」はＳｌａｖｅＰｏｒｔを表す。ＳｌａｖｅＰｏｒｔは、Ｓｙｎｃを受信するポートである。なお、ここでは、優先度の値は小さいほどグランドマスタになる優先度が高いことを示す。
【００１３】
図１の下段の動作シーケンスでは、通信装置１と通信装置２のグランドマスタ調停が完了した状態で、新たに通信装置３が通信システム５０１に参入する状態を示している。新規参入の通信装置３は、通信装置３の優先度２が、グランドマスタである通信装置２の優先度３より高いことを示すＡｎｎｏｕｎｃｅを送信し、グランドマスタ調停を開始する。グランドマスタ調停が完了すると、通信装置３は、自装置の時刻に同期させるためのＳｙｎｃを送信する。このとき、このグランドマスタの切り替えが意図しない切り替えである場合、通信装置２は、通信装置３のＡｎｎｏｕｎｃｅをブロックする、あるいは、無視するといった手法で切り替えを防止できる。しかし、このような手法では、通信装置３が通信装置２より、はるかに優先度が高く、かつ、高精度である場合でも、通信装置３をグランドマスタにすることはできない。
本実施の形態では、通信装置３が通信装置２より、はるかに優先度が高く、かつ、高精度である場合には、通信装置３をグランドマスタにすることができる通信システムの態様について説明する。
【００１４】
通信装置がグランドマスタと同期済みであると判断する方法は次の通りである。通信装置がスレーブの場合、ＳｌａｖｅＰｏｒｔを持っている。通信装置は、一定時間以上ＳｌａｖｅＰｏｒｔが変更されなければ、一度はグランドマスタと同期したと判断する。
また、通信装置がグランドマスタの場合、通信装置がスレーブである通信装置と同期済みであると判断する方法は次の通りである。通信装置はＭａｓｔｅｒＰｏｒｔからＡｎｎｏｕｎｃｅが一定期間以上受信されなければ、ＢＭＣＡが収束してスレーブが同期していると判断する。
【００１５】
＊＊＊構成の説明＊＊＊
図２を用いて、本実施の形態に係る通信装置１００の構成を説明する。
まず、本実施の形態に係る通信システム５００は、複数の通信装置１００を備える。通信システム５００では、複数の通信装置のうちのいずれかの通信装置が、複数の通信装置の時刻の基準となるグランドマスタと設定される。また、複数の通信装置のうちのいずれかの通信装置が、グランドマスタの優先度を設定するネットワーク管理マスタと設定される。
【００１６】
通信装置１００は、コンピュータである。通信装置１００は、プロセッサ９１０を備えるとともに、メモリ９２１、補助記憶装置９２２、入力インタフェース９３０、出力インタフェース９４０、通信制御部９５０といった他のハードウェアを備える。さらに、通信装置１００は、ネットワークポート９６１，９６２、およびシステムクロック９７０といったハードウェアを備える。プロセッサ９１０は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。ネットワークポート９６１，９６２、およびシステムクロック９７０については図示はないが、ネットワークポート９６１，９６２、およびシステムクロック９７０については後述する図３を用いて説明する。
【００１７】
通信装置１００は、機能要素として、管理判定部１１０とグランドマスタ判定部１２０と設定部１３０と調停部１４０を備える。メモリ９２１には、装置優先度２１とグランドマスタ優先度２２と閾値２３が記憶されている。
管理判定部１１０とグランドマスタ判定部１２０と設定部１３０と調停部１４０の機能は、ソフトウェアにより実現される。
【００１８】
プロセッサ９１０は、通信プログラムを実行する装置である。通信プログラムは、管理判定部１１０とグランドマスタ判定部１２０と設定部１３０と調停部１４０の機能を実現するプログラムである。
プロセッサ９１０は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ９１０の具体例は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１９】
メモリ９２１は、データを一時的に記憶する記憶装置である。メモリ９２１の具体例は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、あるいはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
補助記憶装置９２２は、データを保管する記憶装置である。補助記憶装置９２２の具体例は、ＨＤＤである。また、補助記憶装置９２２は、ＳＤ（登録商標）メモリカード、ＣＦ、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤといった可搬記憶媒体であってもよい。なお、ＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。ＳＤ（登録商標）は、Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌの略語である。ＣＦは、ＣｏｍｐａｃｔＦｌａｓｈ（登録商標）の略語である。ＤＶＤは、Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋの略語である。
【００２０】
入力インタフェース９３０は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース９３０は、具体的には、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子である。なお、入力インタフェース９３０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と接続されるポートであってもよい。
出力インタフェース９４０は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース９４０は、具体的には、ＵＳＢ端子またはＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子である。ディスプレイは、具体的には、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。
【００２１】
通信プログラムは、プロセッサ９１０に読み込まれ、プロセッサ９１０によって実行される。メモリ９２１には、通信プログラムだけでなく、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。プロセッサ９１０は、ＯＳを実行しながら、通信プログラムを実行する。通信プログラムおよびＯＳは、補助記憶装置９２２に記憶されていてもよい。補助記憶装置９２２に記憶されている通信プログラムおよびＯＳは、メモリ９２１にロードされ、プロセッサ９１０によって実行される。なお、通信プログラムの一部または全部がＯＳに組み込まれていてもよい。
【００２２】
通信装置１００は、プロセッサ９１０を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、通信プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ９１０と同じように、通信プログラムを実行する装置である。
【００２３】
通信プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ９２１、補助記憶装置９２２、または、プロセッサ９１０内のレジスタあるいはキャッシュメモリに記憶される。
【００２４】
管理判定部１１０とグランドマスタ判定部１２０と設定部１３０と調停部１４０の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。また管理判定処理とグランドマスタ判定処理と設定処理と調停処理の「処理」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な記憶媒体」に読み替えてもよい。
通信プログラムは、上記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、通信方法は、通信装置１００が通信プログラムを実行することにより行われる方法である。
通信プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、通信プログラムは、プログラムプロダクトとして提供されてもよい。
【００２５】
図３は、本実施の形態に係る通信装置１００のハードウェアの詳細構成を示す図である。図３を用いて、図２で説明したハードウェアについて、さらに詳しく説明する。
プロセッサ９１０、メモリ９２１、補助記憶装置９２２、入力インタフェース９３０、および出力インタフェース９４０は、マイクロコンピュータ９００に備えられる。
通信制御部９５０は、割り込み制御部１１、送信部１２、時分割制御部１３、受信部１４、同期制御部１５、データ調停部１６、およびネットワークインタフェース１７，１８を備える。ネットワークインタフェース１７は、ネットワークポート９６１に接続される。ネットワークインタフェース１８は、ネットワークポート９６２に接続される。
【００２６】
割り込み制御部１１は、プロセッサ９１０への割り込みの出力、および割り込みのマスク制御を行う。
送信部１２は、通信フレームの生成を行う。また、送信部１２は、時分割制御部１３よりタイミングが入力され、送信起動の制御を行う。
時分割制御部１３は、同期制御部１５より入力された時刻に基づき、通信周期とタイムスロットの制御を行う。
受信部１４は、フレームの受信処理を行う。受信部１４は、同期フレーム、すなわち同期メッセージから時刻情報を抽出する。
【００２７】
同期制御部１５は、時分割制御部１３に時刻カウンタ値を出力する。また、同期制御部１５は、同期フレームの送信時刻と受信時刻の保持を行う。
データ調停部１６は、通信フレームの送信調停を行う。また、データ調停部１６は、時分割制御部１３より入力されたタイムスロット情報に基づき、中継制御を行う。また、データ調停部１６は、受信したフレームの種別の判定を行う。また、データ調停部１６は、同期フレームの受信および送信を同期制御部１５に通知する。
【００２８】
ネットワークインタフェース１７，１８は、同期フレームの送信および受信を同期制御部１５に通知する。また、ネットワークインタフェース１７，１８は、送信するフレームをネットワークポート９６１，９６２に転送する。ネットワークインタフェース１７，１８は、ネットワークポート９６１，９６２から受信したフレームをデータ調停部１６に転送する。
ネットワークポート９６１，９６２は、ネットワークに接続される物理ポートである。
システムクロック９７０は、発振器により通信制御部９５０および内部バスにクロック信号を入力する。
【００２９】
＊＊＊機能の説明＊＊＊
管理判定部１１０は、通信装置１００がネットワーク管理マスタであるか否かを判定する。ネットワーク管理マスタは、通信システム５００におけるグランドマスタの優先度を設定するマスタ装置である。
グランドマスタ判定部１２０は、通信装置１００がグランドマスタであるか否かを判定する。グランドマスタは、通信システム５００における複数の通信装置の時刻の基準となるマスタ装置である。
設定部１３０は、通信装置１００がネットワーク管理マスタであり、かつ、グランドマスタである場合、装置優先度２１に現在のグランドマスタの優先度より優先度が高いことを示す閾値２３を設定する。また、設定部１３０は、通信装置１００がネットワーク管理マスタであり、かつ、グランドマスタでない場合、グランドマスタである他の通信装置の優先度に設定する閾値２３を含むネットワーク設定メッセージを送信する。
装置優先度２１には、自装置である通信装置１００の優先度が設定される。
グランドマスタ優先度２２には、通信システム５００におけるグランドマスタの優先度が設定される。ＩＥＥＥ１５８８、あるいはＩＥＥＥ８０２．１ＡＳでは、グランドマスタ優先度２２をＰｒｉｏｒｉｔｙ１のパラメータで表す。
調停部１４０は、グランドマスタを選出するためのグランドマスタ調停メッセージを送受信することによりグランドマスタ調停を行う。グランドマスタ調停メッセージは、通信システム５００においてグランドマスタの候補となる通信装置の優先度を含むメッセージである。調停部１４０は、グランドマスタ調停メッセージを送受信しながら、複数の通信装置の優先度を比較するグランドマスタ優先度比較処理を実行し、グランドマスタ調停を行う。
【００３０】
＊＊＊動作の説明＊＊＊
図４は、本実施の形態に係る通信システム５００の動作シーケンスを示す図である。図４を用いて、本実施の形態に係る通信システム５００の動作について説明する。
図４において、通信システム５００は、複数の通信装置１００を備える。複数の通信装置１００は、通信装置１、通信装置２、通信装置３、および通信装置４である。通信装置３および通信装置４は、新規に通信システム５００に参入する。
図４では、初めに、通信装置２がネットワーク管理マスタＮＷＭに設定されている。また、通信装置１の優先度は１７、ネットワーク管理マスタである通信装置２の優先度は２２であるものとする。また、ネットワーク管理マスタである通信装置２には、閾値２３として優先度１５が設定されているものとする。なお、閾値２３は、ネットワーク管理マスタのみが保持している。閾値２３に設定される値の決め方は、システム依存であり、例えば、システム設計者により適切な値が決定される。閾値２３は、エンジニアリングツールといった方式を用いて、ネットワーク管理マスタに設定される。このように、ネットワーク管理マスタのメモリ９２１には、予め閾値２３が記憶されている。
【００３１】
ステップＳ１１において、通信装置１からＡｎｎｏｕｎｃｅがグランドマスタ調停メッセージとして送信される。グランドマスタ調停メッセージは、グランドマスタを選出するために用いられるメッセージである。グランドマスタ調停メッセージには、グランドマスタの候補となる通信装置の優先度がパラメータとして含まれる。ここでは、Ａｎｎｏｕｎｃｅには、通信装置１の優先度１７が設定されている。次に、ステップＳ１２において、通信装置２からＡｎｎｏｕｎｃｅがグランドマスタ調停メッセージとして送信される。ここでは、Ａｎｎｏｕｎｃｅには、通信装置２の優先度２２が設定されている。このように、通信装置１と通信装置２の間でグランドマスタ調停メッセージを送受信することによりグランドマスタ調停が実行される。ステップＳ１３において、グランドマスタ調停が完了し、通信装置１がグランドマスタＧＭに設定される。
【００３２】
ステップＳ１４において、通信装置２がネットワーク管理マスタであるため、通信装置２は、ネットワーク設定メッセージＮＷＣｏｎｆｉｇを送信する。以下において、ネットワーク設定メッセージＮＷＣｏｎｆｉｇを単にＮＷＣｏｎｆｉｇとして説明する場合がある。ネットワーク設定メッセージは、グランドマスタである他の通信装置の優先度に設定する閾値を含む。ここでは、ＮＷＣｏｎｆｉｇには、グランドマスタである通信装置１の優先度に閾値の値１５を設定するという情報が含まれる。閾値は、現在のグランドマスタの優先度より優先度が高いことを示す値である。具体的には、現在のグランドマスタの優先度１７より優先度が高い１５が、ＮＷＣｏｎｆｉｇに含まれる。
ステップＳ１５において、通信装置１の優先度が１７から１５に引き上げられる。
【００３３】
ステップＳ１６において、通信装置３が新規参入する。通信装置３の優先度は１６である。ステップＳ１７およびステップＳ１８において、ステップＳ１１およびステップＳ１２と同様に、グランドマスタ調停メッセージが送受信される。通信装置３の優先度が１６であり、グランドマスタである通信装置１の優先度が１５であるため、ステップＳ１９において、グランドマスタは通信装置１のままである。
【００３４】
ステップＳ２０において、通信装置４が新規参入する。通信装置４の優先度は１４である。ステップＳ２１およびステップＳ２２において、ステップＳ１７およびステップＳ１８と同様に、グランドマスタ調停メッセージが送受信される。通信装置４の優先度が１４あり、グランドマスタである通信装置１の優先度が１５である。よって、ステップＳ２３において、通信装置３からＡｎｎｏｕｎｃｅがグランドマスタ調停メッセージとして送信される。さらに、ステップＳ２４において、通信装置２からＡｎｎｏｕｎｃｅがグランドマスタ調停メッセージとして送信される。ここでは、Ａｎｎｏｕｎｃｅには、通信装置４の優先度１４が設定されている。このようなグランドマスタ調停により、ステップＳ２５において、通信装置４がグランドマスタに設定される。
【００３５】
以上のように、本実施の形態に係る通信システム５００では、ネットワーク管理マスタが、ネットワーク設定メッセージを用いて、グランドマスタになった通信装置のグランドマスタの優先度を閾値まで引き上げる。これにより、閾値より低い優先度の通信装置が通信システムに参入してもその通信装置にグランドマスタが切り替わることを防げる。一方、閾値以上の優先度の通信装置が通信システムに参入した場合は、その通信装置にグランドマスタが切り替わる。
【００３６】
次に、本実施の形態に係る通信装置１００の動作について説明する。
図５は、本実施の形態に係るネットワーク管理マスタである通信装置１００の動作フロー図である。図５を用いて、通信装置１００がネットワーク管理マスタである場合のネットワーク管理処理Ｓ１００について説明する。
ステップＳ１０１およびステップＳ１０２において、通信装置１００は、ネットワーク管理マスタ調停が完了するまで待ち状態となる。ネットワーク管理マスタ調停は、通信システム５００において、ネットワーク管理マスタを決定する処理である。
【００３７】
ここで、ネットワーク管理マスタの決定方法は任意である。具体的には、以下のような決定方法がある。
（１）ネットワーク管理マスタ候補の通信装置間において、ネットワーク管理マスタ調停が実施される。
（２）通信装置間で管理マスタ調停メッセージがやり取りされ、管理マスタ調停メッセージに格納されている優先度が最も高い通信装置がネットワーク管理マスタになる。
【００３８】
ステップＳ１０３において、通信装置１００の管理判定部１１０は、通信装置１００がネットワーク管理マスタであるか否かを判定する。具体的には、管理判定部１１０は、ネットワーク管理マスタ調停の結果に基づいて、通信装置１００がネットワーク管理マスタであるか否かを判定する。通信装置１００がネットワーク管理マスタであれば、ステップＳ１０４に進む。通信装置１００がネットワーク管理マスタでなければ、ネットワークスレーブ処理Ｓ２００に進む。
【００３９】
ステップＳ１０４およびステップＳ１０５において、通信装置１００は、グランドマスタ調停が完了するまで待ち状態となる。グランドマスタ調停は、通信システム５００において、グランドマスタを決定する処理である。
【００４０】
図６は、本実施の形態に係るグランドマスタ調停メッセージを受信した際の通信装置１００の動作フロー図である。図６を用いて、グランドマスタ調停処理Ｓ３００について説明する。
通信装置１００は、自装置の優先度を装置優先度２１としてメモリ９２１に記憶するとともに、グランドマスタの優先度をグランドマスタ優先度２２としてメモリ９２１に記憶している。
調停部１４０は、グランドマスタ調停メッセージを受信すると、グランドマスタ調停メッセージに含まれる優先度とグランドマスタ優先度２２と比較するグランドマスタ優先度比較処理を実行することにより、グランドマスタ調停を行う。
【００４１】
ステップＳ３０１およびステップＳ３０２において、調停部１４０は、グランドマスタ調停メッセージを受信するまで待ち状態となる。
ステップＳ３０３において、調停部１４０は、グランドマスタ調停メッセージを受信すると、グランドマスタ優先度比較処理を行う。具体的には、調停部１４０は、グランドマスタ調停メッセージに含まれる優先度と、メモリ９２１のグランドマスタ優先度２２とを比較し、グランドマスタ調停を行う。グランドマスタ優先度比較処理はＩＥＥＥ８０２．１ＡＳ、あるいは、ＩＥＥＥ１５８８で規定している方法で実行される。グランドマスタ優先度比較処理が終わると、ステップＳ３０１に戻る。
【００４２】
次に図５に戻り説明を続ける。
ステップＳ１０６において、グランドマスタ判定部１２０は、通信装置１００がグランドマスタであるか否かを判定する。具体的には、グランドマスタ判定部１２０は、グランドマスタ調停の結果に基づいて、通信装置１００がグランドマスタであるか否かを判定する。通信装置１００がグランドマスタであれば、ステップＳ１０７に進む。通信装置１００がグランドマスタでなければ、ネットワークスレーブ処理Ｓ１０８に進む。
【００４３】
ステップＳ１０７は、通信装置１００が、ネットワーク管理マスタであり、かつ、グランドマスタである場合の処理である。このとき、設定部１３０は、自装置の優先度である装置優先度２１に、現在のグランドマスタの優先度より優先度が高いことを示す閾値２３を設定する。具体的には、設定部１３０は、自装置の優先度を設定する装置優先度２１に閾値２３を設定する。
また、ステップＳ１０８は、通信装置１００が、ネットワーク管理マスタであり、かつ、グランドマスタでない場合の処理である。このとき、設定部１３０は、グランドマスタである他の通信装置の優先度に設定する閾値２３を含むネットワーク設定メッセージを送信する。具体的には、設定部１３０は、メモリ９２１から閾値２３を読み出す。設定部１３０は、ネットワーク設定メッセージにメモリ９２１から読み出した閾値２３を設定し、グランドマスタに送信する。図４の例では、通信装置２が、ネットワーク管理マスタであり、かつ、グランドマスタでない通信装置である。よって、図４のステップＳ１４において、通信装置２の設定部１３０は、ネットワーク設定メッセージＮＷＣｏｎｆｉｇに、グランドマスタの優先度として１５を設定し、グランドマスタである通信装置１に送信している。
以上で、ネットワーク管理処理Ｓ１００を終了する。
【００４４】
図７は、本実施の形態に係るネットワーク管理マスタ以外の通信装置１００がネットワーク設定メッセージを受信した際の動作フロー図である。図７を用いて、通信装置１００がネットワーク管理マスタ以外である場合のネットワークスレーブ処理Ｓ２００について説明する。
ステップＳ２０１およびステップＳ２０２において、通信装置１００は、ネットワーク設定メッセージを受信するまで待ち状態となる。通信装置１００は、通信システム５００の他の通信装置からネットワーク設定メッセージを受信すると、ステップＳ２０３に進む。
ステップＳ２０３において、グランドマスタ判定部１２０は、通信装置１００がグランドマスタであるか否かを判定する。通信装置１００がグランドマスタであれば、ステップＳ２０４に進む。通信装置１００がグランドマスタでなければ、ステップＳ２０５に進む。通信装置１００がグランドマスタであるか否かを判定する処理は、図５のステップＳ１０６と同様である。
【００４５】
ステップＳ２０４において、設定部１３０は、装置優先度２１にネットワーク設定メッセージに含まれる閾値を設定するとともに、グランドマスタ優先度２２にネットワーク設定メッセージに含まれる閾値を設定する。具体的には、設定部１３０は、ネットワーク設定メッセージに格納されたグランドマスタ優先度情報の閾値の値まで、通信装置１００のグランドマスタ優先度の値を引き上げる。設定完了後、設定部１３０は、ステップＳ２０１のネットワーク設定メッセージ受信待ちに戻る。
図４の例では、通信装置１が、ネットワーク管理マスタ以外であり、かつ、グランドマスタである。そして、ネットワーク管理マスタである通信装置２は、ネットワーク設定メッセージＮＷＣｏｎｆｉｇに、グランドマスタの優先度の閾値として１５を設定し、グランドマスタである通信装置１に送信している。通信装置１は、ネットワーク設定メッセージＮＷＣｏｎｆｉｇを受け取ると、優先度を１５に引き上げる。
【００４６】
設定部１３０は、通信装置１００がネットワーク管理マスタでなく、かつ、グランドマスタでない場合に、ネットワーク設定メッセージを受信すると、グランドマスタ優先度２２にネットワーク設定メッセージに含まれる閾値を設定してもよい。これは、グランドマスタ優先度２２は、上述したように、通信システム５００のグランドマスタの優先度を示しているからである。
具体的には、ステップＳ２０５において、設定部１３０は、グランドマスタ優先度２２にネットワーク設定メッセージに含まれる閾値を設定するか否かを判定する。つまり、設定部１３０は、グランドマスタ優先度２２を更新するか否かを判定する。更新する場合はステップＳ２０６に進む。更新しない場合は、ステップＳ２０１に戻る。ここで、スレーブの通信装置がグランドマスタ優先度を更新するか否かは、通信装置に依存する。スレーブの通信装置がグランドマスタ優先度を更新しなくても、プロトコルとしての問題は生じない。しかし、グランドマスタでない通信装置が認識しているグランドマスタ優先度をネットワーク設定メッセージで引き上げたほうが、優先度を引き上げたグランドマスタから再度ＢＭＣＡを実施するより、早く優先度を更新できる。
【００４７】
ステップＳ２０６において、設定部１３０は、グランドマスタ優先度２２にネットワーク設定メッセージに含まれる閾値を設定する。その後、処理はステップＳ２０１に戻る。
【００４８】
＊＊＊他の構成＊＊＊
本実施の形態では、管理判定部１１０とグランドマスタ判定部１２０と設定部１３０と調停部１４０の機能がソフトウェアで実現される。変形例として、管理判定部１１０とグランドマスタ判定部１２０と設定部１３０と調停部１４０の機能がハードウェアで実現されてもよい。
通信装置１００は、図２および図３のプロセッサ９１０に替えて電子回路を備えていてもよい。電子回路は、管理判定部１１０とグランドマスタ判定部１２０と設定部１３０と調停部１４０の機能を実現する専用の電子回路である。
電子回路は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、または、ＦＰＧＡである。ＧＡは、Ｇａｔｅ  Ａｒｒａｙの略語である。ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。ＦＰＧＡは、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。
管理判定部１１０とグランドマスタ判定部１２０と設定部１３０と調停部１４０の機能は、１つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、管理判定部１１０とグランドマスタ判定部１２０と設定部１３０と調停部１４０の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
【００４９】
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、通信装置１００において、管理判定部１１０とグランドマスタ判定部１２０と設定部１３０と調停部１４０の機能は、プロセッシングサーキットリにより実現される。
【００５０】
＊＊＊本実施の形態の効果の説明＊＊＊
本実施の形態に係る通信システム５００は、ネットワーク管理マスタがグランドマスタにグランドマスタの優先度を閾値の値まで引き上げる設定機能を有する。よって、本実施の形態に係る通信システム５００によれば、閾値より低い優先度の通信装置が新規参入した場合、この通信装置がグランドマスタに切り替わることを防止する。また、本実施の形態に係る通信システム５００によれば、閾値以上の優先度を持つ通信装置が新規参入した場合は、この通信装置がグランドマスタに切り替わることを許容する。
【００５１】
このように、本実施の形態に係る通信システム５００では、優先度が閾値よりも低い通信装置が参入してきた場合は、グランドマスタと認識されず、優先度が閾値以上の通信装置が参入してきた場合は、新規参入の通信装置がグランドマスタと認識される。よって、本実施の形態に係る通信システム５００によれば、ある程度の優先度まではグランドマスタの切り替えを行わず、優先度が高い通信装置が参入してきた場合には、その通信装置に時刻同期できる。よって、本実施の形態に係る通信システム５００によれば、意図しないグランドマスタの切り替えを防止しつつ、優先度が高い通信装置が参入してきた場合には、その通信装置に時刻同期できるという効果を奏する。
【００５２】
以上の実施の形態１では、通信装置の各部を独立した機能ブロックとして説明した。しかし、通信装置の構成は、上述した実施の形態のような構成でなくてもよい。通信装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。また、通信装置は、１つの装置でなく、複数の装置から構成されたシステムでもよい。
また、実施の形態１のうち、複数の部分を組み合わせて実施しても構わない。あるいは、この実施の形態のうち、１つの部分を実施しても構わない。その他、この実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態１では、実施の形態の自由な組み合わせ、あるいは実施の形態の任意の構成要素の変形、もしくは実施の形態において任意の構成要素の省略が可能である。
【００５３】
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明の範囲、本発明の適用物の範囲、および本発明の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
【符号の説明】
【００５４】
１１  割り込み制御部、１２  送信部、１３  時分割制御部、１４  受信部、１５  同期制御部、１６  データ調停部、１７，１８  ネットワークインタフェース、２１  装置優先度、２２  グランドマスタ優先度、２３  閾値、１００  通信装置、１１０  管理判定部、１２０  グランドマスタ判定部、１３０  設定部、１４０  調停部、５００，５０１  通信システム、９００  マイクロコンピュータ、９１０  プロセッサ、９２１  メモリ、９２２  補助記憶装置、９３０  入力インタフェース、９４０  出力インタフェース、９５０  通信制御部、９６１，９６２  ネットワークポート、９７０  システムクロック、Ａｎｎｏｕｎｃｅ  グランドマスタ調停メッセージ、ＮＷＣｏｎｆｉｇ  ネットワーク設定メッセージ、Ｓｙｎｃ  同期メッセージ、ＧＭ  グランドマスタ、ＮＷＭ  ネットワーク管理マスタ。
【図１】
2020059138.tif 000003
【図２】
2020059138.tif 000004
【図３】
2020059138.tif 000005
【図４】
2020059138.tif 000006
【図５】
2020059138.tif 000007
【図６】
2020059138.tif 000008
【図７】
2020059138.tif 000009
【国際調査報告】
2020059138.tif 000010
2020059138.tif 000011