JP5504706B2 - ネットワークシステム及びネットワークシステムの同期方法 - Google Patents

ネットワークシステム及びネットワークシステムの同期方法 Download PDF

Info

Publication number
JP5504706B2
JP5504706B2 JP2009148593A JP2009148593A JP5504706B2 JP 5504706 B2 JP5504706 B2 JP 5504706B2 JP 2009148593 A JP2009148593 A JP 2009148593A JP 2009148593 A JP2009148593 A JP 2009148593A JP 5504706 B2 JP5504706 B2 JP 5504706B2
Authority
JP
Japan
Prior art keywords
node
timer
message
timer value
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009148593A
Other languages
English (en)
Other versions
JP2011009829A (ja
Inventor
幸輝 湯尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2009148593A priority Critical patent/JP5504706B2/ja
Publication of JP2011009829A publication Critical patent/JP2011009829A/ja
Application granted granted Critical
Publication of JP5504706B2 publication Critical patent/JP5504706B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、複数のノードをバス型に接続し、且つ両端のノードで回線を折り返すことによりリング状の伝送経路を形成するようにしたネットワークシステム及びネットワークシステムの同期方法に関する。
従来、ネットワークにおけるタイマ同期方式として、NTP(Network Time Protocol)、或いはIEEE1588規格等が知られている。
図12は、NTPの概要を示したものである。
このNTPは、インターネット等で使用されるプロトコルであって、標準時刻を有するサーバ81に対し、クライアント82から時刻通知のメッセージを送信し、サーバ81側がこれに対して自身の時刻を添付して応答することにより、クライアント82が自身の時刻を補正するものである。
つまり、クライアント82は、時刻通知のメッセージを送信した時点から、サーバ81側の時刻が付加された応答メッセージを受信するまでの応答時間を記録しておき、メッセージが、往路及び復路とも同一経路を通ることを前提として、応答メッセージに付加されたサーバ81側の時刻を応答時間で補正し、これを応答メッセージ受信時のクライアント82の現在時刻として自身の時計を修正するようにしている。
例えば、クライアント82が時刻通知のメッセージを送信した時刻を“TA”、クライアント82がサーバ81側から応答メッセージを受信するまでの応答時間を“2Δ”、サーバ81側からの応答メッセージに付加されているサーバ81側の時刻をTBとすると、サーバ81側から応答メッセージを受信した時刻は“TA+2Δ”で表すことができ、これはすなわち、“TB+Δ”となる。したがって、クライアント82は現在時刻を、“TB+Δ”として設定する。
また、IEEE1588規格においても、マスタとスレーブとの間の伝送遅延距離が往路及び復路とも同一であることを前提として、ハードウェアベースでの時間取得、設定機能を用いてNTPより精度の高い同期を実現している。
また、このように、メッセージの往路及び復路の伝送経路が同一であることを利用して同期を行なう方法として、マスタ装置が時刻送信要求元の端末装置に現在時刻を通知し、現在時刻の通知を行なった時点から、その応答を受信するまでの所要時間をマスタ装置で検出し、その往復時間の1/2相当を片道の伝送遅延時間とし、これを現在時刻に加算して他の端末装置に通知し、これを端末装置が現在時刻として設定するようにしたもの(例えば、特許文献1参照)が提案されている。また、マスタ装置のGPSが正常である間は、メッセージの往路及び復路の伝送経路が同一であることを利用して同期を行い、マスタ装置のGPSも異常となったときには、マスタ装置の現在時刻を一斉同報により他の端末装置に送信し、且つ端末装置がこれを現在時刻として設定することにより、同期を図るようにしたもの(例えば、特許文献2参照)等も提案されている。
さらに、リング型ネットワークシステムにおいて、各局をメインルート及びサブルートからなる二重ループ伝送路により結合し、メインルートとサブルートとで互いに逆方向にメッセージを流すことにより、ターゲットとする局までのメインルート及びサブルートによるメッセージの到達時間差を検出し、この到達時間差をもとに、時刻同期を行なう方法等も提案されている(例えば、特許文献3参照)。
特開平10−28119号公報 特開2006−71441号公報 特開平6−214060号公報
ところで、図13(a)に示すように、複数のノードA〜Eが一本の回線Lにリング状に形成されたリング型ネットワークシステムにおいては、ノード“A”から送出されたメッセージは、例えば時計周りに伝送路上を巡回する。例えば図13(b)に示すように、ノード“A”をマスタとしたとき、時刻“TimeA”でマスタノード“A”がブロードキャスト通信によりマスタノード“A”におけるタイマ値を各ノードに通知し、これによりネットワークシステム内でのタイマの同期を図ったとしても、ノード“A”から送出されたメッセージは、ノード“B”、ノード“C”、ノード“D”、ノード“E”を経てノード“A”に伝達されることになる。このため、例えばノード“B”とノード“E”とでは、マスタノード“A”との間のメッセージの伝送距離が異なるため、ノード“B”がメッセージを受信するタイミングに比較してノード“E”がメッセージを受信するタイミングは遅れることになる。
つまり、時刻“TimeA”でノード“A”が送信したメッセージを各ノードが受信するまでの所要時間を伝送遅延時間としたとき、ノード“B”における伝送遅延時間“TAB”は、ノード“A”とノード“B”との間の伝送に要する所要時間相当であるのに対し、ノード“E”での伝送遅延時間“TAE”は、メッセージが回線Lを介してノード“E”まで伝送されるのに要する伝送に伴う所要時間とノード“A”及びノードE”間に介在するノードがメッセージを受信してからこれを送信するまでの中継に要する所要時間を、介在するノード毎に加算した値との和となる。
このため、リング型ネットワークシステムにおいて同期を行なう場合、例えば、ブロードキャスト通信を用いてノード“A”の時刻を各ノードに伝達したとしても、上述のように、メッセージの送信元であるノード“A”に近い上流側のノードと、ノード“A”から比較的遠い下流側のノードとでは、メッセージを受信する時刻が異なってしまう。
各ノードでは、メッセージを受信した時点で、通知されたノード“A”の時刻を現在時刻としてタイマ値を更新設定しているため、メッセージの受信タイミングが異なると、結果的に各ノードにおけるタイマ値も異なることになり、その分だけ同期精度が低下することになる。
各ノードにおいてタイマ値に同期して実行される処理が、ネットワークにおけるメッセージの一巡時間よりも十分に大きなオーダでの時間差で行なわれたとしても許容されるのであれば問題ないが、例えば、メッセージを受信する毎にノード間で同期して処理を行なうようなシステムにおいては、上流側ノードと、下流側のノードとの間でメッセージ受信時の時刻に差がありこれに基づきタイマ値を更新設定した場合には、問題となる。
例えば、図13(a)に示すようなネットワークシステムに対して、NTP、IEEE1588規格、特許文献1或いは特許文献2等といった、メッセージが、往路及び復路とも同一経路を通ることを前提とした、時刻同期方式を適用する場合を考える。この場合、リング型ネットワークシステムは、図13(b)に示すように、メッセージはリング状の回線を一方向に周回して伝送されるため、例えばノード“A”からノード“D”までの伝送経路と、ノード“D”からノード“A”までの伝送経路とは異なり、すなわち伝送距離が異なる。このため、メッセージが、往路及び復路とも同一経路を通ることを前提とした、時刻同期方式を適用したとしても十分な精度を得ることはできない。
図13(a)のような複数のノードが物理的にリング型に接続されたネットワークシステムの場合には、各ノードを二重ループ回線で接続しメインルート及びサブルートにおける逆方向に送信されるメッセージの到達時間差を用いることにより時刻同期を行なうことができる。
一方、リング型ネットワークとして、環状のケーブルに複数のノードを接続したネットワークシステムの他に、複数のノードを一列にバス接続し、両端のノードで回線を折り返し、メッセージを往きと戻りとの2回中継することにより、論理的にリング型の伝送路を形成するようにしたネットワークシステムがある。このようなネットワークシステムは、物理的な接続は、ピアツーピアでノード間を1本のケーブルで接続するだけでよく、リング型ネットワークシステムのように、各ノードをリング状に配置しなくてよいため、ノードの配置位置等に制約を受けることが比較的少ない。また、一列にバス接続されている場合であっても、論理的にリング状の伝送路を形成することによって、一括データ収集及び一括データ配信のプロトコルが容易に実現することができる等といった特徴がある。
このような論理的にリング型の伝送路を形成するネットワークシステムにおいて、メインルート及びサブルートにおけるメッセージの到達時間差を用いることにより時刻同期を行なう場合には、回線を二重にする必要があり、すなわち、往路の伝送線及び復路の伝送線を2組用意せねばならず、ケーブルコスト、対ノイズ性等の問題もある。
また、そもそも、メインルート及びサブルートを設ける時刻同期方法においては、時刻同期のためにメインルート及びサブルートで等しくメッセージを処理できねばならず、ネットワーク処理回路が冗長な回路となってしまう。
そこで、この発明は、上記従来の未解決の問題点に着目してなされたものであり、バス接続され論理的にリング型の伝送路が形成されるネットワークシステムにおいて、各ノード間における同期を容易且つ高精度に行なうことの可能なネットワークシステム及びネットワークシステムの同期方法を提供することを目的としている。
上記目的を達成するために、本発明の請求項1にかかるネットワークシステムは、複数のノードを接続し、且つ隣接する前記ノード間を2本の配線で接続すると共に両端のノードで前記2本の配線同士を接続して、各ノードをそれぞれ通る第1の伝送路と第2の伝送路とが両端のノードで接続されたリング状の伝送路を形成するネットワークシステムであって、前記ノードはそれぞれタイマを有し、タイマラッチ指示メッセージを前記2本の配線のうちの一方の配線から受信した時の自ノードの前記タイマのタイマ値と、前記タイマラッチ指示メッセージを他方の配線から受信した時の前記タイマのタイマ値とをラッチするラッチ手段と、タイマ値収集メッセージを受信したとき、自ノードを特定する情報と前記ラッチ手段でラッチした、前記タイマラッチ指示メッセージを前記2本の配線から受信したときの各タイマ値とをタイマ情報として前記タイマ値収集メッセージの予め設定された領域に付加するタイマ情報付加手段と、を有し、前記複数のノードのうちの一のノードであるマスタノードは、前記タイマ値収集メッセージを、各ノードを経由して周回させるタイマ値収集手段と、前記複数のノードのうちの他のノードであるスレーブノードのそれぞれと自ノードとの間の前記タイマラッチ指示メッセージの伝送遅延時間を、各ノードを周回した後の前記タイマ値収集メッセージに基づき演算する伝送遅延時間演算手段と、当該伝送遅延時間演算手段で演算した前記伝送遅延時間を各スレーブノードに伝達するための伝送遅延時間設定メッセージを送信する伝送遅延時間設定メッセージ送信手段と、前記伝送遅延時間設定メッセージを送信した後、自ノードの前記タイマの現時点でのタイマ値を各スレーブノードにブロードキャスト通信により送信するマスタタイマ値送信手段と、を有し、前記スレーブノードは、前記伝送遅延時間設定メッセージを受信したとき、前記伝送遅延時間設定メッセージから自ノードの伝送遅延時間を獲得する伝送遅延時間獲得手段と、前記マスタノードのタイマ値を受信し、前記マスタノードのタイマ値と前記伝送遅延時間獲得手段で獲得した前記伝送遅延時間との和を、自ノードの前記タイマの現在のタイマ値として更新設定するタイマ値同期手段と、を備え、前記マスタノードの前記伝送遅延時間演算手段は、前記タイマ値収集メッセージに各ノードにより付加された前記タイマ情報に基づき、各ノードの配置位置を検出し、検出した配置位置と前記ラッチ手段でラッチされた各ノードにおける前記タイマ値と一の伝送メッセージが前記リング状の伝送路を一周するのに要する一周時間とから前記伝送遅延時間を演算することを特徴としている。
さらに、前記各ノードは、前記第1の伝送路から入力した前記タイマラッチ指示メッセージに対して処理を行い、且つ前記第2の伝送路から入力した前記タイマラッチ指示メッセージを中継し、前記伝送遅延時間演算手段は、前記各ノードの配置位置及び前記ラッチ手段でラッチされた前記タイマ値に基づき、前記複数のノードのうちの第1のノードと当該第1のノードに隣接する第2のノードとの間のノード間伝送時間を、前記ノード毎に演算し、前記マスタノードから前記伝送遅延時間の演算対象であるターゲットノードまでの間の、隣接するノード間それぞれの前記ノード間伝送時間の和と、前記マスタノードと前記ターゲットノードとの間に介在するノードにおける前記タイマラッチ指示メッセージに対するメッセージ判定処理時間の和との総和を、前記マスタノードと前記ターゲットノードとの間の伝送遅延時間とする。
また、請求項2にかかるネットワークシステムは、前記マスタノードは、前記タイマラッチ指示メッセージをブロードキャスト通信により各ノードに送信するタイマラッチ指示手段を有し、前記タイマ値収集手段は、前記タイマラッチ指示メッセージを送信した後、前記タイマ値収集メッセージを送信し、前記伝送遅延時間演算手段は、前記タイマラッチ指示メッセージの前記一周時間に基づき前記伝送遅延時間を演算することを特徴としている。
さらに、請求項にかかるネットワークシステムは、前記ノード間伝送時間演算手段は、前記ラッチ手段でラッチされたタイマ値に基づき一のノードが前記タイマラッチ指示メッセージを前記第1の伝送路から受信した時点から前記第2の伝送路から受信するまでの所要時間である受信経過時間を演算し、前記第1のノードにおける前記受信経過時間と前記第2のノードにおける前記受信経過時間との差分の絶対値から、前記第1のノード及び第2のノードのうちの上流側のノードにおける前記タイマラッチ指示メッセージに対するメッセージ判定処理時間を減算し、この減算結果の1/2を前記第1のノード及び第2のノード間における前記ノード間伝送時間とし、前記マスタノードとこの下流に隣接するノードとの間のノード間伝送時間を演算するときには、前記タイマ情報から算出される前記マスタノードにおける前記受信経過時間を前記一周時間から減算し、この減算結果をノード間伝送時間演算時のマスタノードにおける受信経過時間として用いることを特徴としている。
さらにまた、請求項にかかるネットワークシステムは、前記マスタタイマ値送信手段は、前記マスタノードの前記タイマのタイマ値を、定期的に送信し、前記タイマ値同期手段は、前記マスタノードの前記タイマ値を受信する毎に、自ノードの前記タイマのタイマ値を更新設定することを特徴としている。
さらに、請求項にかかるネットワークシステムは、前記両端のノードは、当該ノード内部で前記配線同士を接続し、前記ラッチ手段は、前記配線から前記ノードへの前記タイマラッチ指示メッセージの入力端に設けられ、前記タイマラッチ指示メッセージが前記ノードへの入力端に達した時点で前記タイマ値をラッチし、前記タイマ情報付加手段は、前記タイマラッチ指示メッセージを、第1の伝送路及び第2の伝送路の何れから受信したかを表す受信情報と、前記タイマ値とを、前記タイマ情報として前記タイマ値収集メッセージの予め設定された領域に付加し、前記伝送遅延時間演算手段は、前記タイマ値収集メッセージに付加された前記タイマ情報の並び順及び前記受信情報に基づき、各ノードの配置位置を検出することを特徴としている。
本発明によれば、各ノードにおける、タイマラッチ指示メッセージを第1の伝送路から受信した時点でのタイマ値と第2の伝送路から受信した時点でのタイマ値をタイマ情報としてマスタノードで収集する。そして、収集したタイマ情報をもとに、各ノードの配置位置を検出すると共にマスタノードとスレーブノードとの間の伝送遅延時間を演算してこれを各スレーブノードに通知し、スレーブノードが、ブロードキャストで送信されたマスタノードのマスタタイマ値に、伝送遅延時間相当だけ加算した値を各スレーブノードでのタイマ値として更新設定するため、ノード間におけるタイマ値を的確に同期させることができる。
特に、請求項4にかかる発明では、ラッチ手段でラッチされたタイマ値に基づき、一のノードが前記タイマラッチ指示メッセージを前記第1の伝送路から受信した時点から前記第2の伝送路から受信するまでの所要時間である受信経過時間を演算し、第1のノードにおける前記受信経過時間と、前記第2のノードにおける前記受信経過時間との差分が、第1のノードから第2のノードへ及び第2のノードから第1のノードへのタイマラッチ指示メッセージの伝送時間の和と、タイマラッチ指示メッセージに対する第1のノードでの処理時間との和であることを利用して第1のノード及び第2のノード間の伝送時間を演算するため、前記第1及び第2のノード間の伝送時間を的確に演算することができる。
本発明を適用したネットワークシステムの一例を示す構成図である。 本発明の論理的な接続状態を表す説明図である。 ノードの概略構成を示すブロック図である。 ノードの動作説明に供する説明図である。 マスタノードで実行されるシステム同期処理の処理手順の一例を示すフローチャートである。 スレーブノードで実行される同期化処理の処理手順の一例を示すフローチャートである。 本発明の動作説明に供する説明図である。 タイマ値収集メッセージで収集されたタイマ情報の一例である。 伝送遅延時間の演算方法を説明するための説明図である。 本発明の動作説明に供する説明図である。 本発明の動作説明に供する説明図である。 NTPによる同期方式を説明するための説明図である。 リング型ネットワークのブロードキャスト通信を用いた同期方法を説明するための説明図である。
以下、本発明の実施の形態を説明する。
図1は、本発明を適用したネットワークシステムの一例を示す構成図である。
このネットワークシステムは、例えば、ノード“A”〜ノード“E”の5つのノードを備えて構成され、ノード“A”がマスタとして動作する。
各ノードは、ノード“E”、ノード“A”、ノード“B”、ノード“C”、ノード“D”の順に数珠つなぎに接続され、隣接するノード間は、それぞれ1対1にピアツーピアで接続される。すなわち、ノード“E”及びノード“A”間は、ケーブルL1で接続され、ノード“A”及びノード“B”間はケーブルL2で接続され、ノード“B”及びノード“C”間はケーブルL3で接続され、ノード“C”及びノード“D”間はケーブルL4で接続される。
各ノードは、第1の接続端子11と第2の接続端子12との2つのケーブル接続口を備え、一方のノードの第1の接続端子11と他方のノードの第2の接続端子12とを対応させて接続される。すなわち、ノード“E”の第2の接続端子12とケーブルL1の一方とを接続し、ノード“A”の第1の接続端子11とケーブルL1の他方とを接続することによりノード“E”とノード“A”とをピアツーピア接続する。同様にノード“A”の第2の接続端子12及びノード“B”の第1の接続端子11間、ノード“B”の第2の接続端子12及びノード“C”の第1の接続端子11間、ノード“C”の第2の接続端子12及びノード“D”の第1の接続端子11間を接続することにより、隣接するノード間がピアツーピアで接続されたネットワークシステムが形成される。
各ケーブルLn(n=1〜4)は、図2に示すように、第1の配線L11と当該第1の配線L11と同一長さの第2の配線L22とを有する。
各ノードは、図2に示すように、ケーブルLn及びケーブルLn+1の第1の配線L11同士、及び第2の配線L22同士を、ノードを介して接続する。また、一方の接続端子11又は12のみにケーブルLnが接続されている端部のノード“D”又は“E”は、接続されたケーブルLnの第1の配線L11と第2の配線L22とを内部で接続する。すなわち、ノード“D”は、ケーブルL4の第1の配線L11と第2の配線L22とを接続する。また、ノード“E”は、ケーブルL1の第1の配線L11と第2の配線L22とを接続する。
これによって、図2に示すように、各ノード“A”〜“C”を介して接続された一連の第1の配線L11と、一連の第2の配線L22とが、端部のノード“D”及び“E”で接続されて、各ケーブルLnの第1の配線L11と第2の配線L22とからなるリング状の伝送路を形成している。
なお、図2において、13は処理部である。この処理部13は、ケーブルLnを介して伝送されるメッセージの送受信処理及び受信した自ノード宛のメッセージにしたがって所定の演算を行なう等のメッセージ処理を行なう。
図3は、各ノードの構成の一例を示したものである。
図3に示すように、各ノードは、ケーブルLnが接続される第1の接続端子11及び第2の接続端子12と、処理部13と、ラッチ回路15及び16と、タイマ17と、切り替え回路18と、を備える。
ラッチ回路15は、第1の接続端子11に接続される第1の配線L11から伝送メッセージを入力すると共に、伝送メッセージを切り替え回路18に出力する。
そして、ラッチ回路15は、伝送メッセージの予め設定された特定領域を参照し、この特定領域のデータが予め設定した特定情報であるとき、タイマ17のタイマ値をラッチすると共に、第1タイマ値有効フラグF1を“1”とし、第1のタイマ値有効フラグF1とラッチタイマ値とを処理部13に出力する。伝送メッセージの特定領域のデータが前記特定情報でないときにはタイマ値のラッチは行なわない。
一方、ラッチ回路16は、第2の接続端子12に接続される第2の配線L22からの伝送メッセージを入力すると共に、伝送メッセージを切り替え回路18に出力する。
そして、ラッチ回路16は、伝送メッセージの予め設定された前記特定領域を参照し、この特定領域のデータが前記特定情報であるとき、タイマ17のタイマ値をラッチし、第2タイマ値有効フラグF2を“1”とし、第2のタイマ値有効フラグF2とラッチタイマ値とを処理部13に出力する。伝送メッセージの前記特定領域のデータが特定情報でないときにはタイマ値のラッチは行なわない。
これらラッチ回路15及び16は、上述のように特定のメッセージを受信したかを監視し、受信したときにタイマ17のタイマ値を獲得し、タイマ値及びタイマ値有効フラグを“1”として通知するだけの回路である。したがって、これらラッチ回路15及び16を追加したとしても、メッセージの伝送に影響を与えるものではない。処理部13と無関係にタイマ値のラッチのみを行なうため回路全体に対する影響も小さい。
タイマ17は、水晶振動子を含んで構成され、タイマ値をラッチ回路15及び16に出力する。
切り替え回路18は、自ノードが、端部のノードであるか否かに応じて、処理部13、ラッチ回路15及び16、第1の接続端子11、第2の接続端子12との間で接続先を切り替える。なお、自ノードが端部のノードであるか否かは、例えば、各ノードにおいて、第1の接続端子11と第2の接続端子12との何れか一方のみにケーブルが接続されている状態であるか否かを、例えば電気的に未接続状態であるか否かを検出すること等により検出すればよい。また、切り替え回路18における切り替えは、ソフトウェア的に切り替えるようにしてもよく、また物理的に接続先を切り替えるように構成してもよい。
そして、切り替え回路18は、自ノードが端部に位置していないとき、すなわちノード間に接続された中間ノードである場合には、図4(a)に示すように、ラッチ回路15からの伝送メッセージをそのまま処理部13に伝達し、処理部13からの伝送メッセージを第2の接続端子12の第1の配線L11に送出する。
また、切り替え回路18は、ラッチ回路16からの伝送メッセージをそのまま第1の接続端子11の第2の配線L22に送出する。
一方、自ノードが右端のノードである場合、すなわち、図1において、ノード“D”である場合には、第2の接続端子12には、ケーブルLnが接続されないため、切り替え回路18は、図4(b)に示すように、ラッチ回路15からの伝送メッセージを処理部13に伝達し、処理部13からの伝送メッセージを第1の接続端子11の第2の配線L22に送出する。
同様に、自ノードが左端のノードである場合、すなわち、図1において、ノード“E”である場合には、第1の接続端子11には、ケーブルLnが接続されていないため、切り替え回路18は、図4(c)に示すように、ラッチ回路16からの伝送メッセージをそのまま処理部13に伝達し、処理部13からの伝送メッセージを第2の接続端子12の第1の配線L11に送出する。
そして、処理部13は、切り替え回路18を介して受信した伝送メッセージに基づき前記送受信処理及びメッセージ処理等を行ない、必要に応じて伝送メッセージを生成しこれを切り替え回路18に出力する。
また、処理部13は、ラッチ回路15及び16からの第1タイマ値有効フラグF1及びラッチタイマ値、第2タイマ値有効フラグF2及びラッチタイマ値を入力し、自ノードがマスタノードであるときには、システム同期処理を実行し各ノードからラッチタイマ値を収集し、これに基づきノード間でのタイマ値の同期を図る。
一方、自ノードがマスタノードでないときには、マスタノードからタイマラッチ指示メッセージを受信したとき同期化処理を実行し、マスタノードからの指示にしたがって、タイマ値の同期を図る。
次に、マスタノードで実行されるシステム同期処理及びマスタノードを除くノード(以後、スレーブノードともいう。)で実行される同期化処理の処理手順を、図5及び図6を伴って説明する。なお、図5は、システム同期処理、図6は、同期化処理の処理手順の一例を示すフローチャートである。
マスタノードでは、このシステム同期処理を予め設定したタイミングで実行する。例えば、起動時、或いは、予め設定した定周期で実行する。
マスタノードでは、図5に示すように、まず、ステップS1で、各ノードに対してタイマ17のラッチを指示するタイマラッチ指示メッセージを送信する。このとき、マスタノードは、タイマラッチ指示メッセージを、各ノード宛にブロードキャスト通信により送信する。また、マスタノードでは、タイマラッチ指示メッセージの予め設定した領域に、このメッセージがタイマラッチ指示メッセージであることを特定する特定情報を設定して送信する。
スレーブノードでは、タイマラッチ指示メッセージを受信すると、ラッチ回路15又は16で、予め設定された特定領域のデータが所定の特定情報であるか否かを判断する。このとき、ラッチ回路15及び16には、参照すべき特定領域及び特定情報として、マスタノードから送信される前記タイマラッチ指示メッセージの、当該メッセージがタイマラッチ指示メッセージであることを特定する特定情報が格納されている領域と、前記タイマラッチ指示メッセージであることを特定する特定情報とを設定しておく。
ラッチ回路15又は16は、受信したメッセージの特定領域を参照し、そのデータがタイマラッチ指示メッセージであることを特定する特定情報と一致することから、この時点におけるタイマ17のタイマ値をラッチする。そして、ラッチ回路15でタイマ値をラッチしたときには第1タイマ値有効フラグF1を“1”、ラッチ回路16でタイマ値をラッチしたときには第2タイマ値有効フラグF2を“1”、として、タイマ値有効フラグとラッチタイマ値とを対応付けて処理部13に出力する。
このとき、図2に示すように、第1の配線L11を介して伝送されるタイマラッチ指示メッセージは、端部のノードで折り返されて第2の配線L22を介して伝送されるため、ノード間に配置されたスレーブノードでは、第1の配線L11からタイマラッチ指示メッセージを受信した後、再度第2の配線L22から同一のタイマラッチ指示メッセージを受信することになる。
このため、ノード間に配置されたスレーブノードでは、ラッチ回路15及び16のそれぞれによりタイマ値がラッチされることになる。
一方、端部に配置されたスレーブノードでは、内部で折り返しているため、タイマラッチ指示メッセージは、ラッチ回路15及び16の何れか一方のみにより検出され、タイマ値がラッチされることになる。
スレーブノードの処理部13では、タイマラッチ指示メッセージを受信し、これに伴いラッチ回路15、16から、ラッチタイマ値及びタイマ値有効フラグを入力すると、これら情報を所定の記憶領域に保持する(図6ステップS11)。
マスタノードでは、タイマラッチ指示メッセージが各ノードに伝達されるとこれを伝送路から削除し、次に、タイマ値収集メッセージを送信し、各ノードに対して、各ノードでラッチしたタイマ情報の付加を指示する(図5ステップS2)。
スレーブノードでは、タイマ値収集メッセージを受信すると、図6のステップS12に移行し、受信したタイマ値収集メッセージに、ラッチ回路15及び16の両方又は何れかから通知されたタイマ値有効フラグ及びラッチタイマ値をタイマ情報とし、これをタイマ値収集メッセージの予め設定された領域に、その領域の先頭から順に格納する。
前述のように、ノード間に位置するノードでは、往路と復路との2回、同一のタイマラッチ指示メッセージを受信するため、タイマ情報は、往き時におけるタイマ値有効フラグ及びラッチタイマ値と、戻り時におけるタイマ値有効フラグ及びラッチタイマ値とで構成される。
一方、右端又は左端に位置するノードでは、往路又は復路の何れか一回のみタイマラッチ指示メッセージを受信する。このため、右端又は左端のノードでは、ラッチ回路15又は16の何れか一方でのみタイマ値をラッチする。処理部13では、ラッチ回路15からラッチタイマ値を受信しなかったときには第1タイマ値有効フラグF1を“0”とし、ラッチ回路16からラッチタイマ値を受信しなかったときには第2タイマ値有効フラグF2を“0”とする。そして、“0”に設定されたタイマ値有効フラグと、ラッチ回路15又は16から通知されたラッチタイマ値及びタイマ値有効フラグと、をタイマ情報として格納する。
そして、自ノードにおけるタイマ情報を格納した後、これを次ノードに送出する。
各スレーブノードがこの処理を行なうことにより、各ノードにおけるタイマ情報が、タイマ値収集メッセージの所定の領域に格納され、且つ経由したスレーブノードの並び順に、各ノードにおけるタイマ情報が格納されることになる。
マスタノードは、各スレーブノードを周回したタイマ値収集用メッセージを受信するとこれを回収する。そして、各スレーブノードが格納したタイマ情報の最後に、自ノードにおけるタイマ情報を格納する(図5ステップS3)。
マスタノードは、続いて、各ノード及び自ノードにおけるタイマ情報に基づき、マスタノードから送信したタイマラッチ指示メッセージが各スレーブノードに到達するまでの所要時間である伝送遅延時間を、到達先のノード毎にそれぞれ算出する(図5ステップS4)。この算出方法は後述する。
マスタノードは、ノードごとに伝送遅延時間を算出すると、算出した伝送遅延時間を各ノードに通知するための伝送遅延時間設定メッセージを各ノード宛に送出する(図5ステップS5)。
スレーブノードは、伝送遅延時間設定メッセージを受信すると、自ノードの伝送遅延時間を獲得する(図6ステップS13)。
マスタノードは、各ノードを周回して戻ってきた伝送遅延時間設定メッセージを伝送路上から削除する。そして、現時点におけるタイマ17のタイマ値を獲得し、これをマスタタイマ値とし、このマスタタイマ値を伝送するためのマスタタイマ値配布メッセージを生成し、これを各局宛にブロードキャストにより送信する(図5ステップS6)。そして、システム同期処理を終了する。
スレーブノードは、マスタタイマ値配布メッセージをブロードキャストにより受信すると、受信したマスタタイマ値配布メッセージからマスタタイマ値を獲得し、獲得したマスタタイマ値と、先に伝送遅延時間設定メッセージから獲得した自ノードの伝送遅延時間とを加算し、これを現時点におけるタイマ値とし、自ノードのタイマ17のタイマ値を更新設定する(図6ステップS14)。
そして、処理部13では、同期化処理を終了する。
次に、上記実施の形態の動作を説明する。
今、図1に示すノード“A”〜“E”からなる論理的なリング型ネットワークシステムが構成されたネットワークシステムにおいて、各ノードのタイマ値の同期を行なうものとする。
マスタノード“A”では、まず、タイマラッチ指示メッセージを各ノード宛にブロードキャストで送信し(図5ステップS1)、次に、各ノードでのタイマ情報の付加を指示するタイマ値収集メッセージを各局宛に送信する(図5ステップS2)。
このネットワークシステムは、論理的なリング型ネットワークを構成しているため、各スレーブノードでは、タイマラッチ指示メッセージを、第1の配線側L11と第2の配線側L22との両方から入力し、且つ端部のノードでは、タイマラッチ指示メッセージをそのノード内で折り返しているため、第1の配線L11側又は第2の配線L22側との何れか一方から入力することになる。
したがって、マスタノード“A”がタイマラッチ指示メッセージを送出してからの経過時間は、図7のように表されることになる。なお、図7において縦軸は経過時間、横軸はネットワークシステム上におけるタイマラッチ指示メッセージの伝達状況を表す。
また、各スレーブノードでは、タイマラッチ指示メッセージを受信すると、図4に示すようにラッチ回路15又は16で受信した時点におけるタイマ17のタイマ値と第1又は第2のタイマ値有効フラグを“1”として処理部13に通知し、処理部13では、通知されたタイマ値有効フラグとラッチタイマ値とを対応付けて記憶する(図6ステップS11)。
続いて、スレーブノードでは、ラッチ回路15又は16から獲得したラッチタイマ値及びタイマ値有効フラグからなるタイマ情報を、タイマ値収集メッセージの所定の領域に順次格納する(図6ステップS12)。
このため、マスタノード“A”に戻ってきたタイマ値収集メッセージには、各ノードのタイマ情報が各ノードの配置順に格納されている。
例えば、各ノードがラッチ回路15でラッチしたラッチタイマ値をTA1〜TE1とし、ラッチ回路16でタイマ値をラッチしたタイミングをTA2〜TE2とすると、図8に示すように、タイマラッチ指示メッセージには、ノードの並び順に、各ノードを特定する局番とタイマ情報とが対応付けられて格納され、タイマ情報として、タイマ値有効フラグと、ラッチタイマ値とが格納される。
ノード“B”は、ノード間に配置されたノードであって、ラッチ回路15及び16の両方によりタイマラッチ指示メッセージが検出されるため、ラッチ回路15でラッチしたラッチタイマ値TB1及び第1タイマ値有効フラグF1=“1”と、ラッチ回路16でラッチしたラッチタイマ値TB2及び第2タイマ値有効フラグ値F2=“1”とが格納され、同様に、ノード“C”、また、ノード“A”においても、それぞれラッチ回路15及び16によるラッチタイマ値と、第1タイマ値有効フラグF1=“1”及び第2タイマ値有効フラグF2=“1”と、が格納される。
一方、ノード“D”は右端のノードであり、ラッチ回路15でのみタイマ値がラッチされるため、ラッチタイマ値TD1と第1タイマ値有効フラグF1=“1”とが格納され、ラッチ回路16による第2タイマ値有効フラグF2は“0”として格納される。
同様に、ノード“E”は左端のノードであり、ラッチ回路16でのみタイマ値がラッチされるため、ラッチタイマ値TE2と第2タイマ値有効フラグF2=“1”とが格納され、ラッチ回路15による第1タイマ値有効フラグF1は“0”として設定される。
したがって、各ノードを周回したタイマ値収集メッセージを参照することにより、タイマ値有効フラグの一方が“0”であるノードは端部のノードであると判断することができる。そして、第1タイマ値有効フラグF1が“0”の場合には、第1の接続端子11にケーブルLnが接続されていないことを意味するため、左端のノードであると判断することができる。同様に、第2タイマ値有効フラグF2が“0”の場合には、第2の接続端子12にケーブルLnが接続されていないことを意味するため、右端のノードであると判断することができる。
このため、マスタノード“A”では、図8のタイマ値収集メッセージに格納された各ノードのタイマ情報の格納順及びタイマ値有効フラグが“0”であるか否かに基づき、マスタノード“A”から、ノード“B”、“C”、“D”、“E”、“A”の並びでリング型のネットワークが形成され、且つノード“D”が右端のノード、ノード“E”が左端のノードであることを認識することができ、すなわち、図1に示す並び順で各ノードが接続されていることを認識することができる。
そして、マスタノード“A”では、図8に示す、各ノードにおけるタイマ情報を獲得すると、これに基づき各ノードの配置順を検出し、これに基づき伝送遅延時間を演算する(図5ステップS4)。
ここで、この時点では、各ノード間においてタイマ値の同期はとられていないため、それぞれのノードにおけるタイマ値の間に何ら相関関係はない。
しかしながら、同一ノード内のタイマ値、例えば、TB1とTB2とは、同一のタイマ17の値をラッチしているため、このタイマ値TB1とTB2との差分は、ノード“B”において、ラッチタイマ指示メッセージを上流側から受信した時点から同一のメッセージが下流側から戻ってくるまでの所要時間(以下、受信経過時間いう。)を表している。
ネットワークシステム上の、各ノードにおける受信経過時間同士は比較可能なデータであり、例えばノード“B”における受信経過時間ΔTBと、ノード“C”における受信経過時間ΔTCとは比較することができる。
ノード“B”における受信経過時間ΔTBとノード“C”における受信経過時間ΔTCとの差分DIFFBC(=ΔTB−ΔTC)は、図7及び図9に示すように、「ノード“B”が上流からメッセージを受信してから、このメッセージがノード“C”に到達するまで(図9中の太線m1部分)の所要時間」と「ノード“C”が下流からメッセージを受信してからこのメッセージがノード“B”に到達するまで(図9中の太線m2部分)の所要時間」との和に相当することになる。
したがって、差分DIFFBCは次式(1)で表すことができる。
DIFFBC=(TB2−TB1)−(TC2−TC1) ……(1)
また、差分DIFFBCは、図7に示すように、ノード“B”−“C”間のケーブルL3における伝送時間と、ノード“B”にメッセージが到達してからメッセージが送出されるまでの所要時間、すなわち、メッセージの中継及びメッセージを受信するか否かの判定に要する時間(以下、メッセージ判定処理時間という。)と、ノード“C”に下流側からメッセージが到達してからノード“C”がこれを中継してメッセージが送出されるまでの所要時間(以下、中継処理時間という。)との和で表すことができる。
ここで、ノード“B”のメッセージ判定処理時間をTαとし、ノード“B”−“C”間におけるケーブルL3における伝送時間をLBCとし、ノード“C”での中継処理時間は差分DIFFBCに比較して十分小さいものとすると、差分DIFFBCは略次式(2)で表すことができる。つまり、ケーブルL3は、第1の配線L11と第2の配線L22とは同一長さであるため、第1の配線L11と第2の配線L22とで伝送時間は同一とみなすことができる。したがって、次式(2)が成り立つ。
DIFFBC=2×LBC+Tα ……(2)
したがって(1)及び(2)式から、隣接するノード“B”−“C”間のケーブルL3における伝送時間LBCは、次式(3)で表すことができる。
BC={(TB2−TB1)−(TC2−TC1)−Tα}/2 ……(3)
隣接するノード“C”−“D”間のケーブルL4における伝送時間LCDも、前記式(3)と同様の手順で算出することができる。
また、以上の例では、マスタノード“A”よりも右側に配置されたノードにおいて、隣接するノード間の伝送時間を算出しているが、左側に配置されたノードの場合も同様の手順で算出することができる。
ただし、マスタノード“A”とこれに隣接するノードとの間の伝送時間は、マスタノード“A”がラッチタイマ指示メッセージを上流側から受信した時点から同一のメッセージが下流側から戻ってくるまでの所要時間である左側受信経過時間と、マスタノード“A”がラッチタイマ指示メッセージを下流側に送出した時点から同一のメッセージが下流側から戻ってくるまでの所要時間である右側受信経過時間と、を用いて算出する。
前記左側受信経過時間は、マスタノード“A”におけるタイマ値TA1及びTA2の差分「TA2−TA1」で算出することができる。また、右側受信経過間は、マスタノード“A”がラッチタイマ指示メッセージを下流側に送出した時点から、論理的なリング型の伝送経路を一周してマスタノード“A”に戻りこれに対するマスタノード“A”での処理が終了するまでの所要時間(以後、メッセージ一周時間という)をTとしたとき、「T−(TA2−TA1)」で表すことができる。
なお、メッセージ一周時間は、マスタノード“A”の処理部13において計測すればよく、処理部13からラッチタイマ指示メッセージを下流側に送出した時点を開始時点、ラッチタイマ指示メッセージが論理的なリング型の伝送経路を一周してマスタノードに戻り、これに対するマスタノード“A”での処理が終了した時点を終了時点として開始時点から終了時点までの所要時間を演算すればよい。
そして、マスタノード“A”と隣接するスレーブノード“B”との間の伝送時間を演算するときには、右側受信経過時間「T−(TA2−TA1)」と、ノード“B”における受信経過時間とに基づき上記(3)式と同様の手順で算出する。また、マスタノード“A”とノード“E”との間の伝送時間を演算するときには、左側受信経過時間「TA2−TA1」とノード“E”における受信経過時間とに基づき上記(3)式と同様の手順で算出する。
このようにして、ノード“A”−“B”間、ノード“B”−“C”間、ノード“C”−“D”間、ノード“E”−“A”間についてそれぞれ伝送時間を算出したならば、これらに基づき、マスタノード“A”と各ノードとの間の伝送遅延時間を算出する。
具体的には、マスタノード“A”とターゲットノードとの間に介在する各ケーブルの伝送時間及び介在するノードにおける処理時間との和を算出しこれをターゲットノードまでの伝送遅延時間とする。
例えば、ターゲットノードを“C”とする。ネットワークシステムにおける各ノードの配置位置は、タイマ値収集メッセージに付加された各ノードにおけるラッチ情報の並び順から把握することができる。
図1に示すように、マスタノード“A”とターゲットノード“C”との間にはノード“B”が介在する。このため、伝送遅延時間は、ノード“A”−“C”間のケーブルL2における伝送時間と、ノード“B”におけるメッセージ判定処理時間と、ノード“B”−“C”間のケーブルL3における伝送時間と、の和で表されることがわかる。
ここで、各ノードにおける処理部13の演算処理性能が同一であるものとすると、各ノードにおけるメッセージ判定処理時間は同等とみなすことができるため、“Tα”として表すことができる。
したがって、マスタノード“A”からターゲットノードまでの間の伝送遅延時間は、マスタノード“A”からターゲットノードまでの間に介在する各ケーブルにおける伝送時間と、マスタノード“A”からターゲットノードまでの間に介在するノードの数×メッセージ判定処理時間“Tα”との和から算出することができる。つまり、マスタノード“A”とノード“C”との間の伝送遅延時間は、ノード“A”−C”間のケーブルL2における伝送時間と、ノード“B”−“C”間のケーブルL3における伝送時間と、ノードの数(この場合“1”)×Tαとの和で表すことができる。
なお、ノードにおけるメッセージ判定処理時間Tαは、予め実測しておくこと、或いは、設計時に、メッセージの中継及び受信するか否かの判定に要する所要時間を論理的に算出しておくこと等により予め設定しておけばよい。
マスタノード“A”では、このようにしてマスタノード“A”から各ターゲットノードまでの伝送遅延時間を算出すると、各ターゲットノードと算出した伝送遅延時間とを対応付け、この伝送遅延時間を各ノードに伝達するための伝送遅延時間設定メッセージを生成し、これを各ノード宛に送信する(図5ステップS5)。
各スレーブノードでは、伝送遅延時間設定メッセージを受信すると、自ノードの伝送遅延時間を獲得し、これを所定の記憶領域に保存する(図6ステップS13)。
マスタノードでは、各ノードを周回した伝送遅延時間設定メッセージを受信すると、これを伝送路上から削除する。そして、現時点におけるタイマ17のタイマ値を獲得し、これを各ノードに伝達するためのマスタタイマ値配布メッセージを生成し、このマスタタイマ値配布メッセージをブロードキャストで各ノード宛に送信する(図5ステップS6)。
各スレーブノードでは、マスタタイマ値配布メッセージを獲得すると、マスタタイマ値を獲得し、先に受信した自ノードにおける伝送遅延時間とマスタタイマ値とを加算し、これを現時点におけるタイマ17のタイマ値として更新設定する(図5ステップS6)。
例えば、図10に示すように、各ノードの伝送遅延時間が、ノード“B”は“15”、ノード“C”は“20”、ノード“D”は“30”、ノード“E”は“55”、ノード“A”は“0”として通知されたものとする。
マスタノード“A”からマスタタイマ値として“5000”が通知されたとすると、図11に示すように、ノード“B”は、タイマ17のタイマ値を“5015”に更新設定する。同様に、ノード“C”は“5020”、ノード“D”は“5030”、ノード“E”は“5055”として設定する。
ここで、マスタノード“A”のタイマ値が“5000”であったとしても、マスタタイマ値通知メッセージがノード“B”に伝達されるまでには伝送遅延時間“15”を要し、マスタタイマ値通知メッセージが実際にノード“B”に伝達された時点では、マスタノードのタイマ値は“5015”となっている。したがって、マスタタイマ値“5000”と伝送遅延時間“15”とを加算した“5015”をノード“B”におけるタイマ値と設定することにより、マスタノード“A”のタイマ値と、ノード“B”のタイマ値とを“5015”で同期させることができる。
つまり、伝送遅延時間は、マスタノード“A”から送信されたタイマラッチ指示メッセージが各ノードに伝達されるまでの所要時間である。したがって、通知されたマスタタイマ値と、伝送遅延時間との和を各ノードにおけるタイマ値として設定することにより、各ノードでは、マスタノードから各ノードにメッセージが伝送されるまでの所要時間を考慮して自ノードにおけるタイマ値を更新設定しているため、各ノードを高精度に同期させることができる。
また、先に通知された伝送遅延時間は、ブロードキャスト通信によりタイマラッチ指示メッセージを送信したときの各ノードにおけるタイマラッチ指示メッセージの送受信タイミングに基づき算出された値である。そして、マスタタイマ値配布メッセージもブロードキャストにより送信されているため、このマスタタイマ値配布メッセージがマスタノードから送信されてから各ノードに伝達されるまでの所要時間は、タイマラッチ指示メッセージがマスタノードから送信されてから各ノードに伝達されるまでの所要時間と同等である。したがって、タイマラッチ指示メッセージの各ノードにおける送受信タイミングに基づき各ノードにおけるタイマ値を更新設定することによって、同等の条件で算出された伝送遅延時間に基づきタイマ値を更新設定することになり、より高精度に同期させることができる。
また、上記実施の形態においては、伝送遅延時間を前記(2)式に基づいて算出しており、前記(2)式では、ノード“B”からノード“C”への伝送経路とノード“C”からノード“B”への伝送経路とが同一という前提で演算を行なっている。前述のように、ノード“B”からノード“C”へのメッセージの伝送は、第1の配線L11により行い、ノード“C”からノード“B”へのメッセージの伝送は第2の配線L22により行い、第1の配線L11と第2の配線L22とは同一の長さを有するため、その伝送時間は同等とみなすことができる。
したがって、伝送メッセージの論理的な伝送経路は、ノード“C”からノード“B”へ伝送する場合には、ノード“C”、ノード“D”、ノード“E”、ノード“A”、ノード“B“となり、ノード“B”からノード“C”への伝送メッセージの伝送経路とは異なるが、この実施の形態においては、ノード“B”からノード“C”へ及びノード“C”からノード“B”への物理的な伝送路における伝送時間を演算しており、ノード“B”からノード“C”への伝送路である第1の配線L11とノード“C”からノード“B”への伝送路である第2の配線L22との長さは同一であってその伝送時間は同等であるため、ノード“B”からノード“C”への伝送経路とノード“C”からノード“B”への伝送経路とが同一いう前提で伝送遅延時間の演算を行なったとしても、的確に伝送遅延時間を演算することができる。
また、上述のように、既存のノードにラッチ回路15及び16を追加し、各ノードにおける演算処理を追加するだけでよいため、既存のノードを大幅に変更することなく実現することができる。
なお、上記実施の形態においては、端部のノード“D”、ノード“E”では、ノード内部で回線を折り返してリング型の伝送路を構成する場合について説明したが、これに限るものではない。例えば、折り返し用に、ケーブルLnが接続されない側の接続端子11又は12に、第1の配線L11側と第2の配線L22側とを単に接続するための折り返し用ケーブルを挿しておくことにより、リング型の伝送路を構成するようにしてもよい。この場合、端部のノードから送信された伝送メッセージは、折り返し用ケーブルを経由して再度端部のノードで受信されるため、ラッチ回路15又は16で検出され、タイマ値がラッチされることになる。このため、マスタノードでは、タイマ値有効フラグからは、端部のノードがどれであるかを認識することができない。
そのため、折り返し用ケーブルを用いて折り返しを行なった場合には、端部のノードにおいてスイッチ操作を行なうことにより端部のノードに対して端部のノードであることを認識させ、端部のノードにおいて、自ノードのタイマ情報として、端部のノードであることを付加して送信するようにすれば、マスタノードでは、タイマ情報から端部のノードが何れのノードであるかを容易に認識することができる。
或いは、折り返し用ケーブルを用いて折り返しを行なった場合には、ラッチ回路15でラッチしたタイマ値と、ラッチ回路16でラッチしたタイマ値との差、すなわち、受信経過時間は折り返し用ケーブルにおける伝送時間相当の長さとなり、ノード間のノードにおける受信経過時間に比較して短い。したがって、受信経過時間が、折り返し用ケーブルによる折り返しが行なわれているとみなされるしきい値よりも短いかどうかに基づき、端部のノードであるか否かを判断するようにしてもよい。
また、上記実施の形態においては、ノード“A”からノード“E”の5つのノードを有するネットワークシステムを構成した場合について説明したが、これに限らず、複数のノードからネットワークシステムであれば適用することができる。
また、上記実施の形態においては、ケーブルが接続されているか否かを検出することにより、端部のノードであるか否かを検出する場合について説明したが、これに限るものではない。例えば、端部のノードにおいてオペレータがスイッチ操作等を行なうことにより、端部のノードとして設定するように構成することもできる。また、このオペレータのスイッチ操作により、切り替え回路18の接続先が物理的に切り替わるように構成してもよい。
また、上記実施の形態においては、マスタノードでシステム同期処理が実行されたときに、マスタノードのタイマのタイマ値をスレーブノードに通知してタイマ値を同期させる場合について説明したがこれに限るものではない。
例えば、スレーブノードでは、システム同期処理が行なわれたときに通知された各ノードにおける伝送遅延時間を記憶しておく。そして、マスタノードでは、一旦システム同期処理を行なった後は、マスタタイマ値配布メッセージのみを定期的に送信し、このマスタタイマ値配布メッセージを受信したスレーブノードが、記憶している伝送遅延時間と通知されたマスタタイマ値とから自ノードのタイマのタイマ値を更新設定することにより、定期的に、タイマ値の同期を図るようにしてもよい。
このように、システム同期処理全体を定期的に行なうのではなく、マスタタイマ値の送信及びスレーブノードでのタイマ値の更新設定のみを定期的に実行する場合であっても、ネットワークシステムにおけるタイマ値の同期を的確に行なうことができる。また、このように定期的に行なうことによって、タイマ17の構成要素に水晶振動子が含まれる場合であっても、各ノード間における水晶振動子の誤差等の影響を、的確に抑制することができる。
また、上記実施の形態においては、マスタノードがタイマラッチ指示メッセージを送信する場合について説明したが、これに限るものではない。つまり、ある伝送メッセージを、ラッチ回路15で受信するタイミングと、同一の伝送メッセージをラッチ回路16で受信するタイミングとがわかればよい。このため、各ノードが、マスタノードに限らず他のノードが送信する任意の伝送メッセージをタイマラッチ指示メッセージとみなし、任意の伝送メッセージをラッチ回路15及び16で受信した時点におけるタイマ値をラッチするように構成してもよい。
そして、マスタノードがタイマ値収集メッセージを定期的に、或いはイベント的に送信して、各ノードが保持する最新のタイマ情報を収集しこれと、任意の伝送メッセージの一周時間とを用いて伝送遅延時間を演算し、最新の伝送遅延時間に基づき各ノードがタイマの同期を行なうようにしてもよい。
また、上記実施の形態において、ラッチ回路15及びラッチ回路16は、タイマラッチ指示メッセージを受信するときにのみ、動作可能な状態となっていればよい。したがって、例えば、マスタノードがタイマラッチ指示メッセージを送信するタイミングが、システム起動時及びその後定期的に等、予め決まっている場合には、スレーブノード側でこれに合わせてラッチ回路15及び16を動作可能な状態にし、一旦同期を行なった後、ラッチ回路15及び16を休止状態に切り替え、その後、定期的に行なわれる同期のタイミングに合わせて、ラッチ回路15及び16を動作可能な状態に切り替えることにより消費電力の削減を図るようにしてもよい。
また、タイマラッチ指示メッセージは、一方のラッチ回路で受信された後、他方のラッチ回路で受信されるため、タイマラッチ指示メッセージを先に受信するラッチ回路は常時動作可能状態とし、後に受信するラッチ回路は、先に受信するラッチ回路でタイマラッチ指示メッセージを受信したときに動作可能な状態に切り替え、タイマ値をラッチして処理部13に通知した後、再度休止状態に切り替えるように構成してもよい。この場合には、後に受信するラッチ回路の消費電力の削減を図ることができる。
また、各ノードが、任意のメッセージをタイマラッチ指示メッセージとみなしてタイマ値をラッチするように構成した場合には、各ノードがタイマ値をラッチするタイミングに合わせてラッチ回路15及び16を動作可能状態に切り替え、それ以外のときにはラッチ回路15及び16を休止状態に切り替えるように構成してもよい。
ここで、上記実施の形態において、ラッチ回路15及び16がラッチ手段に対応し、図5のステップS1の処理がタイマラッチ指示手段に対応し、ステップS2及びステップS3の処理がタイマ値収集手段に対応し、ステップS4の処理が伝送遅延時間演算手段に対応し、ステップS5の処理が伝送遅延時間設定メッセージ送信手段に対応し、ステップS6の処理がマスタタイマ値送信手段に対応し、
図6のステップS12の処理がタイマ情報付加手段に対応し、ステップS13の処理が伝送遅延時間獲得手段に対応し、ステップS14の処理がタイマ値同期手段に対応している。
また、図5のステップS4の処理で、隣接するノード間の伝送時間を算出する処理がノード間伝送時間演算手段に対応している。
11 第1の接続端子
12 第2の接続端子
13 処理部
15、16 ラッチ回路
17 タイマ
L1〜L4 ケーブル
11 第1の配線
22 第2の配線
T メッセージ一周時間

Claims (5)

  1. 複数のノードを接続し、且つ隣接する前記ノード間を2本の配線で接続すると共に両端のノードで前記2本の配線同士を接続して、各ノードをそれぞれ通る第1の伝送路と第2の伝送路とが両端のノードで接続されたリング状の伝送路を形成するネットワークシステムであって、
    前記ノードはそれぞれタイマを有し、
    タイマラッチ指示メッセージを前記2本の配線のうちの一方の配線から受信した時の自ノードの前記タイマのタイマ値と、前記タイマラッチ指示メッセージを他方の配線から受信した時の前記タイマのタイマ値とをラッチするラッチ手段と、
    タイマ値収集メッセージを受信したとき、自ノードを特定する情報と前記ラッチ手段でラッチした、前記タイマラッチ指示メッセージを前記2本の配線から受信したときの各タイマ値とをタイマ情報として前記タイマ値収集メッセージの予め設定された領域に付加するタイマ情報付加手段と、を有し、
    前記複数のノードのうちの一のノードであるマスタノードは、
    前記タイマ値収集メッセージを、各ノードを経由して周回させるタイマ値収集手段と、
    前記複数のノードのうちの他のノードであるスレーブノードのそれぞれと自ノードとの間の前記タイマラッチ指示メッセージの伝送遅延時間を、各ノードを周回した後の前記タイマ値収集メッセージに基づき演算する伝送遅延時間演算手段と、
    当該伝送遅延時間演算手段で演算した前記伝送遅延時間を各スレーブノードに伝達するための伝送遅延時間設定メッセージを送信する伝送遅延時間設定メッセージ送信手段と、
    前記伝送遅延時間設定メッセージを送信した後、自ノードの前記タイマの現時点でのタイマ値を各スレーブノードにブロードキャスト通信により送信するマスタタイマ値送信手段と、を有し、
    前記スレーブノードは、
    前記伝送遅延時間設定メッセージを受信したとき、前記伝送遅延時間設定メッセージから自ノードの伝送遅延時間を獲得する伝送遅延時間獲得手段と、
    前記マスタノードのタイマ値を受信し、前記マスタノードのタイマ値と前記伝送遅延時間獲得手段で獲得した前記伝送遅延時間との和を、自ノードの前記タイマの現在のタイマ値として更新設定するタイマ値同期手段と、を備え、
    前記マスタノードの前記伝送遅延時間演算手段は、前記タイマ値収集メッセージに各ノードにより付加された前記タイマ情報に基づき、各ノードの配置位置を検出し、検出した配置位置と前記ラッチ手段でラッチされた各ノードにおける前記タイマ値と一の伝送メッセージが前記リング状の伝送路を一周するのに要する一周時間とから前記伝送遅延時間を演算し、
    前記各ノードは、前記第1の伝送路から入力した前記タイマラッチ指示メッセージに対して処理を行い、且つ前記第2の伝送路から入力した前記タイマラッチ指示メッセージを中継し、
    前記伝送遅延時間演算手段は、
    前記各ノードの配置位置及び前記ラッチ手段でラッチされた前記タイマ値に基づき、前記複数のノードのうちの第1のノードと当該第1のノードに隣接する第2のノードとの間のノード間伝送時間を、前記ノード毎に演算するノード間伝送時間演算手段を有し、
    前記マスタノードから前記伝送遅延時間の演算対象であるターゲットノードまでの間の、隣接するノード間それぞれの前記ノード間伝送時間の和と、前記マスタノードと前記ターゲットノードとの間に介在するノードにおける前記タイマラッチ指示メッセージに対するメッセージ判定処理時間の和との総和を、前記マスタノードと前記ターゲットノードとの間の伝送遅延時間とすることを特徴とするネットワークシステム。
  2. 前記マスタノードは、前記タイマラッチ指示メッセージをブロードキャスト通信により各ノードに送信するタイマラッチ指示手段を有し、
    前記タイマ値収集手段は、前記タイマラッチ指示メッセージを送信した後、前記タイマ値収集メッセージを送信し、
    前記伝送遅延時間演算手段は、前記タイマラッチ指示メッセージの前記一周時間に基づき前記伝送遅延時間を演算することを特徴とする請求項1記載のネットワークシステム。
  3. 前記ノード間伝送時間演算手段は、前記ラッチ手段でラッチされたタイマ値に基づき一のノードが前記タイマラッチ指示メッセージを前記第1の伝送路から受信した時点から前記第2の伝送路から受信するまでの所要時間である受信経過時間を演算し、
    前記第1のノードにおける前記受信経過時間と前記第2のノードにおける前記受信経過時間との差分の絶対値から、前記第1のノード及び第2のノードのうちの上流側のノードにおける前記タイマラッチ指示メッセージに対するメッセージ判定処理時間を減算し、この減算結果の1/2を前記第1のノード及び第2のノード間における前記ノード間伝送時間とし、
    前記マスタノードとこの下流に隣接するノードとの間のノード間伝送時間を演算するときには、前記タイマ情報から算出される前記マスタノードにおける前記受信経過時間を前記一周時間から減算し、この減算結果をノード間伝送時間演算時のマスタノードにおける受信経過時間として用いることを特徴とする請求項記載のネットワークシステム。
  4. 前記マスタタイマ値送信手段は、前記マスタノードの前記タイマのタイマ値を、定期的に送信し、
    前記タイマ値同期手段は、前記マスタノードの前記タイマ値を受信する毎に、自ノードの前記タイマのタイマ値を更新設定することを特徴とする請求項1から請求項の何れか1項に記載のネットワークシステム。
  5. 前記両端のノードは、当該ノード内部で前記配線同士を接続し、
    前記ラッチ手段は、前記配線から前記ノードへの前記タイマラッチ指示メッセージの入力端に設けられ、前記タイマラッチ指示メッセージが前記ノードへの入力端に達した時点で前記タイマ値をラッチし、
    前記タイマ情報付加手段は、前記タイマラッチ指示メッセージを、第1の伝送路及び第2の伝送路の何れから受信したかを表す受信情報と、前記タイマ値とを、前記タイマ情報として前記タイマ値収集メッセージの予め設定された領域に付加し、
    前記伝送遅延時間演算手段は、前記タイマ値収集メッセージに付加された前記タイマ情報の並び順及び前記受信情報に基づき、各ノードの配置位置を検出することを特徴とする請求項1から請求項の何れか1項に記載のネットワークシステム。
JP2009148593A 2009-06-23 2009-06-23 ネットワークシステム及びネットワークシステムの同期方法 Active JP5504706B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009148593A JP5504706B2 (ja) 2009-06-23 2009-06-23 ネットワークシステム及びネットワークシステムの同期方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009148593A JP5504706B2 (ja) 2009-06-23 2009-06-23 ネットワークシステム及びネットワークシステムの同期方法

Publications (2)

Publication Number Publication Date
JP2011009829A JP2011009829A (ja) 2011-01-13
JP5504706B2 true JP5504706B2 (ja) 2014-05-28

Family

ID=43566019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009148593A Active JP5504706B2 (ja) 2009-06-23 2009-06-23 ネットワークシステム及びネットワークシステムの同期方法

Country Status (1)

Country Link
JP (1) JP5504706B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018089987A1 (en) * 2016-11-14 2018-05-17 Temple University-Of The Commonwealth System Of Higher Education System and method for network-scale reliable parallel computing

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012191361A (ja) * 2011-03-09 2012-10-04 Mitsubishi Electric Corp 同期制御システム
JP2017108280A (ja) * 2015-12-09 2017-06-15 オークマ株式会社 環状通信路におけるタイマー同期化システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2692907B2 (ja) * 1988-12-07 1997-12-17 株式会社東芝 サンプリング時刻同期方式
JP2947181B2 (ja) * 1996-09-10 1999-09-13 日本電気株式会社 ループバックセル制御システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018089987A1 (en) * 2016-11-14 2018-05-17 Temple University-Of The Commonwealth System Of Higher Education System and method for network-scale reliable parallel computing
US11588926B2 (en) 2016-11-14 2023-02-21 Temple University—Of the Commonwealth System of Higher Education Statistic multiplexed computing system for network-scale reliable high-performance services

Also Published As

Publication number Publication date
JP2011009829A (ja) 2011-01-13

Similar Documents

Publication Publication Date Title
US20170150464A1 (en) Communication apparatus, time synchronizing method, and non-transitory computer-readable storage medium
KR100962227B1 (ko) 무선 통신 시스템 및 방법
US8902733B2 (en) Communication network management system, method and program, and management computer
JP2009065579A (ja) 時刻同期システム、時刻同期方法、ノード及びプログラム
JP5836477B2 (ja) データ通信装置、データ通信システム及びデータ通信方法
JP2013104772A (ja) フレーム伝送装置及び同期方法
US9420415B2 (en) Wireless communication method, node, and monitoring node
JP5527086B2 (ja) ネットワークシステム
JP5504706B2 (ja) ネットワークシステム及びネットワークシステムの同期方法
JP5836183B2 (ja) 無線通信システム、無線通信装置および基準装置
US20120026891A1 (en) Communication network management system and method and management computer
JP2017098588A (ja) 通信システム、無線通信装置及び無線通信方法
JP6729040B2 (ja) 通信システム、ノード装置、およびプログラム
JP5488246B2 (ja) ネットワークシステム及びネットワークシステムの同期方法
JP5482534B2 (ja) ネットワークシステム
JP5643240B2 (ja) 時刻設定方法、通信装置、および時刻設定プログラム
CN110601786B (zh) 一种时间同步方法、中继设备及装置
JP2012004925A (ja) 通信装置およびクロック同期方法
US20210397568A1 (en) Data transfer apparatus and data transfer method
JP5601254B2 (ja) センサデータ送信方法およびセンサノード
KR20120051632A (ko) 링형 토폴로지를 갖는 분산 시스템에서의 클럭 동기화 방법 및 장치
JP4837439B2 (ja) ノード装置、リングネットワークシステムおよび通信制御方法
JP6992346B2 (ja) ネットワークシステム
EP3070886A1 (en) Path delay determination in ring networks
JP2012068856A (ja) プログラマブルコントローラシステム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110422

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131011

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140123

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140303

R150 Certificate of patent or registration of utility model

Ref document number: 5504706

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250