JP2012034080A - ネットワークシステム - Google Patents

ネットワークシステム Download PDF

Info

Publication number
JP2012034080A
JP2012034080A JP2010170378A JP2010170378A JP2012034080A JP 2012034080 A JP2012034080 A JP 2012034080A JP 2010170378 A JP2010170378 A JP 2010170378A JP 2010170378 A JP2010170378 A JP 2010170378A JP 2012034080 A JP2012034080 A JP 2012034080A
Authority
JP
Japan
Prior art keywords
node
transmission
message
timer
delay time
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.)
Granted
Application number
JP2010170378A
Other languages
English (en)
Other versions
JP5527086B2 (ja
Inventor
Toshihisa Tashigeta
稔久 田重田
Yukiteru Yuo
幸輝 湯尾
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 JP2010170378A priority Critical patent/JP5527086B2/ja
Publication of JP2012034080A publication Critical patent/JP2012034080A/ja
Application granted granted Critical
Publication of JP5527086B2 publication Critical patent/JP5527086B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】論理的なリング型ネットワークを構成するシステムにおいて、ノード間のタイマ値の同期を容易且つ的確に行なう。
【解決手段】各ノードでのタイマラッチ指示メッセージの受信タイミングにおけるタイマ値と各ノードのノード構成情報とを収集しこれを利用してマスタ及びスレーブ間の伝送遅延時間を演算しノード構成情報と共に記憶しておく。スレーブノードは、通知されるマスタタイマ値と伝送遅延時間との和を自ノードのタイマ値として更新設定してマスタノードとの同期化を図る。マスタノードは、ループバック状態のノードが異常状態の復旧を検出したとき、このノードによる切り離しノードを含む各ノードのノード構成情報を収集し、このノード構成情報が記憶領域のノード構成情報と一致するとき記憶領域の伝送遅延時間を利用してノード間におけるタイマ値の同期化を図る(ステップS41〜S48)。
【選択図】 図19

Description

本発明は、複数のノードを2つの伝送路それぞれによりデイジーチェーン接続し、且つ両端のノードで2つの伝送路を接続することによりリング状の伝送経路を形成するようにしたネットワークシステムに関する。
従来、複数のノードを2つの伝送路それぞれによりデイジーチェーン接続し、且つ両端のノードで2つの伝送路どうしを接続することによりリング状の伝送経路を形成するようにしたリング型ネットワークシステムが提案されている(例えば、特許文献1参照)。
このようなリング型ネットワークシステムにおいて、何れかのノードに異常が生じたときには、この異常が生じたノードと隣接するノードが、自ノードにおいて2つの伝送路どうしを接続するループバックを行うことで異常が生じたノードをマスタノードから切り離し、正常動作が可能なノードのみを用いて引き続きネットワークシステムを作動させるようになっている。そして、異常が生じたノードが正常状態に復帰したときには、ループバックを行っているノードがループバックを解除することにより、正常状態に復帰したノードを再度ネットワークシステムに接続するようにしている。
一方、このように複数のノードが接続されてなるネットワークシステムにおいては、何れか一つのノードがマスタノード、他のノードがスレーブノードとして動作し、マスタノードがスレーブノードを制御することにより、システム全体で所定の処理を実行するようになっている。特に複数のノードからネットワークシステムが構成され、ノード間で互いの動作タイミングを図りながら所定の処理を実行するようになっている場合には、ノード間で動作タイミングを合わせる必要があるため、ノード間でのタイマ値の同期化を行うようにしている。
特開平4−57541号公報
ところで、上述のように異常が生じたノードを、ループバックを行うことによりネットワークシステムから切り離し、切り離されている間、切り離したノードに接続されている装置の電源を遮断していた場合、或いは、異常が生じたノードにおいて装置の交換を行った場合等には、切り離されたノードが異常状態から復旧した時点で、このノードはマスタノードとの間でタイマ値の同期がとれていない。このため、ループバックを解除して切り離されていたノードを再度ネットワークシステムに接続する場合には、再度ノード間でタイマ値の同期化を図る必要がある。
ここで、ノード間でタイマ値の同期がとれていない場合、上述のように、各ノードの動作タイミングは重要であり場合によっては処理全体に影響を及ぼすため、ノード間でタイマ値の同期がとれていない間にはシステム全体での処理を停止する等の対応が必要となる。このため、ループバック解除時に、ノード間でのタイマ値の同期化を速やかに図ることのできる方法が望まれていた。
そこで、この発明は、上記従来の未解決の問題点に着目してなされたものであり、ノード間を2本の伝送路によりデイジーチェーン接続することにより、論理的にリング型の伝送路が形成されるネットワークシステムにおいて、ノード間におけるタイマ値を、容易且つ高精度に同期化させることの可能なネットワークシステムを提供することを目的としている。
上記目的を達成するために、本発明の請求項1にかかるネットワークシステムは、マスタノード及び複数のスレーブノードを第1の伝送路及び第2の伝送路それぞれによりデイジーチェーン接続し、該デイジーチェーン接続された両端のノードそれぞれで前記第1の伝送路と前記第2の伝送路とを接続してリング状の通常伝送経路を構成し、隣接するノードとの間での通信が不可となる異常状態を検出した異常検出スレーブノードが、前記第1の伝送路と前記第2の伝送路とを接続してループバックし、リング状のループバック伝送経路を構成し、前記異常状態の復旧が検出されたときに前記異常検出スレーブノードのループバックを解除し、リング状の復旧伝送経路を構成すると共に、前記伝送路に回送される複数種類のメッセージに応じて各ノードが所定の処理を実行するネットワークシステムであって、各ノードは、タイマと、タイマ情報記憶メッセージを前記第1の伝送路及び前記第2の伝送路から受信したときのタイマ値からなるタイマ情報を記憶するタイマ情報記憶部と、自ノードのノード構成情報を記憶するノード構成情報記憶部と、を有し、前記マスタノードは、前記通常伝送経路を構成する各前記スレーブノードのノード構成情報を収集して記憶し、前記通常伝送経路を構成する各ノードの前記タイマ情報を収集し、当該タイマ情報から前記マスタノードと各前記スレーブノード間のメッセージの伝送時間である第1伝送遅延時間を演算して記憶し、当該第1伝送遅延時間を各前記スレーブノードに送信し、前記異常状態の復旧を検出した場合には、前記復旧伝送経路を構成する各前記スレーブノードのノード構成情報を収集し、当該復旧伝送経路における前記各ノード構成情報と記憶された前記通常伝送経路における前記各ノード構成情報とを比較し、当該比較により前記各ノード構成情報が一致した場合には、前記復旧伝送経路を構成する各前記スレーブノードに、前記記憶された前記通常伝送経路における前記第1伝送遅延時間を送信し、前記異常検出スレーブノードのループバックを解除し、前記比較により前記各ノード構成情報が不一致である場合には、前記異常検出スレーブノードのループバックを解除し、前記復旧伝送経路を構成する各前記スレーブノードのノード構成情報を前記通常伝送経路におけるノード構成情報として記憶し、前記復旧伝送経路を構成する各ノードのタイマ情報を収集し、当該タイマ情報から前記マスタノードと各前記スレーブノード間のメッセージの伝送時間である第2伝送遅延時間を演算して前記通常伝送経路の第1伝送遅延時間として記憶し、当該第2伝送遅延時間を各前記スレーブノードに送信し、前記第1または第2伝送遅延時間を送信した後に、自ノードのタイマ値をマスタタイマ値として各前記スレーブノードに送信し、前記スレーブノードは、前記マスタノードから送信された自ノードの前記第1又は第2の伝送遅延時間を記憶し、前記マスタタイマ値を受信した時に、該マスタタイマ値と記憶されている前記第1又は第2の伝送遅延時間との和を自ノードのタイマ値として更新設定することを特徴としている。
また、請求項2に係るネットワークシステムは、前記マスタノードが、タイマ値収集メッセージを回送して前記通常伝送経路を構成する前記スレーブノードのタイマ情報を取得し、該タイマ情報から前記第1伝送遅延時間を演算する第1伝送遅延時間演算手段と、構成情報読み出しメッセージを回送して前記通常伝送経路を構成する前記スレーブノードのノード構成情報を取得する第1ノード構成読み出し手段と、前記通常伝送経路を構成する前記スレーブノードのノード構成情報及び前記第1伝送遅延時間を通常伝送経路情報として記憶する通常伝送経路情報記憶部と、前記第1伝送遅延時間を付加した第1伝送遅延時間設定メッセージを前記通常伝送経路に回送する第1伝送遅延時間送信手段と、前記第1伝送遅延時間設定メッセージの送信後に、自ノードのメッセージ送信時のタイマ値をマスタタイマ値として付加した第1マスタタイマ値送信メッセージを回送する第1マスタタイマ値送信手段と、を備え、前記スレーブノードが、前記タイマ情報を前記タイマ値収集メッセージに付加するタイマ情報付加手段と、前記自ノードのノード構成情報を前記構成情報読み出しメッセージに付加する第1構成情報付加手段と、前記第1伝送遅延時間が付加された前記第1伝送遅延時間設定メッセージから自ノードの前記第1伝送遅延時間を獲得する第1伝送遅延時間獲得手段と、前記第1マスタタイマ値送信メッセージを受信した時に、前記第1伝送遅延時間と前記マスタタイマ値との和を自ノードのタイマ値として更新設定する第1タイマ値同期手段と、を備えたことを特徴としている。
また、請求項3に係るネットワークシステムは、前記マスタノードが、前記異常状態の復旧を検出した場合に、透過・構成情報読み出しメッセージを回送して前記復旧伝送経路を構成する前記スレーブノードのノード構成情報を取得する透過ノード構成読み出し手段を備え、前記スレーブノードが、前記異常検出スレーブノードである場合に前記異常状態の復旧情報を前記マスタノードに送信する復旧情報送信手段と、前記自ノードのノード構成情報を前記透過・構成情報読み出しメッセージに付加する第2構成情報付加手段と、前記異常検出スレーブノードである場合に透過・構成情報読み出しメッセージを、前記復旧伝送経路を構成するスレーブノードへ伝送する第1の透過メッセージ発行手段と、を備えたことを特徴としている。
さらに、請求項4に係るネットワークシステムは、前記マスタノードが、前記透過ノード構成読み出し手段で取得したノード構成情報と前記通常伝送経路情報記憶部に記憶されたノード構成情報とが一致する場合に、前記第1伝送遅延時間を付加した透過・伝送遅延時間設定メッセージを前記復旧伝送経路に回送する透過・伝送遅延時間設定メッセージ送信手段と、前記透過・伝送遅延時間設定メッセージ送信後に、前記異常検出スレーブノードにループバックを解除させる第1ループバック解除メッセージを送信する第1ループバック解除送信手段と、前記第1ループバック解除メッセージの送信後に、自ノードのメッセージ送信時のタイマ値をマスタタイマ値として付加した第2マスタタイマ値送信メッセージを回送する第2マスタタイマ値送信手段と、を備え、前記スレーブノードが、前記異常検出スレーブノードである場合に、前記透過・伝送遅延時間設定メッセージを、前記復旧伝送経路を構成するスレーブノードへ伝送する第2の透過メッセージ発行手段と、前記第1伝送遅延時間が付加された前記透過・伝送遅延時間設定メッセージから自ノードの前記第1伝送遅延時間を獲得する第2伝送遅延時間獲得手段と、前記異常検出スレーブノードである場合に、前記第1ループバック解除メッセージに応じて前記ループバックを解除する第1ループバック解除手段と、前記第2マスタタイマ値送信メッセージを受信した時に、前記第1伝送遅延時間と前記マスタタイマ値との和を自ノードのタイマ値として更新設定する第2タイマ値同期手段と、を備えたことを特徴としている。
さらにまた、請求項5に係るネットワークシステムは、前記マスタノードが、前記透過ノード構成読み出し手段で取得したノード構成情報と前記通常伝送経路情報記憶部に記憶されたノード構成情報とが不一致である場合に、前記異常検出スレーブノードにループバックを解除させる第2ループバック解除メッセージを送信する第2のループバック解除送信手段と、前記第2ループバック解除メッセージ送信後に、タイマ値収集メッセージを回送して前記復旧伝送経路を構成する前記スレーブノードのタイマ情報を取得し、該タイマ情報から前記第2伝送遅延時間を演算する第2伝送遅延時間演算手段と、前記透過ノード構成読み出し手段で取得したノード構成情報及び前記第2伝送遅延時間を前記通常伝送経路情報として更新して前記通常伝送経路情報記憶部に記憶する通常伝送経路情報更新手段と、前記第2伝送遅延時間を付加した第2伝送遅延時間設定メッセージを前記復旧伝送経経路に回送する第2伝送遅延時間送信手段と、前記第2伝送遅延時間設定メッセージの送信後に、自ノードのメッセージ送信時のタイマ値をマスタタイマ値として付加したマスタタイマ値送信メッセージを回送する第3マスタタイマ値送信手段と、を備え、前記スレーブノードが、前記異常検出スレーブノードである場合に、前記第2ループバック解除メッセージに応じて前記ループバックを解除する第2ループバック解除手段と、前記第2伝送遅延時間が付加された前記第2伝送遅延時間設定メッセージから自ノードの前記第2伝送遅延時間を獲得する第3伝送遅延時間獲得手段と、を備えたことを特徴としている。
またさらに、請求項6に係るネットワークシステムは、前記各ノードは、前記タイマ情報記憶メッセージとして前記タイマのタイマ値をラッチさせるためのタイマラッチ指示メッセージを前記第1の伝送路から受信した時の自ノードの前記タイマのタイマ値をラッチする第1のラッチ手段と、前記タイマラッチ指示メッセージを前記第2の伝送路から受信した時の自ノードの前記タイマのタイマ値をラッチする第2のラッチ手段と、前記ラッチされたタイマ値を収集するための前記タイマ値収集メッセージを受信したとき、前記第1のラッチ手段によってラッチされたタイマ値及び前記第2のラッチ手段によってラッチされたタイマ値を前記タイマ値収集メッセージにタイマ情報として付加するタイマ情報付加手段と、を有することを特徴としている。
また、請求項7に係るネットワークシステムは、前記第1の伝送路と第2の伝送路とは同一長さを有し、前記第1または第2伝送遅延時間演算手段は、前記タイマ値収集メッセージに各ノードにより付加された前記タイマ情報に基づき各ノードの配置位置を検出し、検出した配置位置と前記第1および第2のラッチ手段でラッチされた各ノードにおける前記タイマ値と一のメッセージが前記リング状の伝送経路を一周するのに要する一周時間とから前記伝送遅延時間を演算することを特徴としている。
さらに、請求項8に係るネットワークシステムは、前記各ノードは、前記第1の伝送路及び第2の伝送路のうち一方の伝送路から入力した前記タイマラッチ指示メッセージに対して処理を行い、且つ他方の伝送路から入力した前記タイマラッチ指示メッセージを中継し、前記第1および第2伝送遅延時間演算手段は、隣接するノード間における前記タイマラッチ指示メッセージの伝送時間をノード間伝送時間として演算し、前記マスタノードから前記伝送遅延時間の演算対象であるターゲットノードまでの間の、隣接するノード間それぞれの前記ノード間伝送時間の和と前記マスタノードと前記ターゲットノードとの間に介在するノードにおける前記タイマラッチ指示メッセージに対するメッセージ判定処理時間の和との総和を、前記マスタノードと前記ターゲットノードとの間の伝送遅延時間とすることを特徴としている。
さらにまた、請求項9に係るネットワークシステムは、前記第1および第2伝送遅延時間演算手段は、前記各ラッチ手段でラッチされたタイマ値に基づき一のノードが前記タイマラッチ指示メッセージを一方の伝送路から受信した時点から他方の伝送路から受信するまでの所要時間である受信経過時間を演算し、第1のノードにおける前記受信経過時間と第2のノードにおける前記受信経過時間との差分の絶対値から、前記第1のノード及び第2のノードのうちの上流側のノードにおける前記メッセージ判定処理時間を減算し、この減算結果の1/2を前記第1のノード及び第2のノード間における前記ノード間伝送時間とし、前記マスタノードとこの下流に隣接するノードとの間のノード間伝送時間を演算するときには、前記タイマ情報から算出される前記マスタノードにおける前記受信経過時間を前記一周時間から減算し、この減算結果をノード間伝送時間演算時のマスタノードにおける受信経過時間として用いることを特徴としている。
また、請求項10に係るネットワークシステムは、前記両端のノードは、当該ノード内部で前記第1の伝送路と前記第2の伝送路とを接続し、前記ラッチ手段は、前記第1の伝送路及び前記第2の伝送路から前記ノードへの前記タイマラッチ指示メッセージの入力端それぞれに設けられ、前記タイマラッチ指示メッセージが前記ノードの入力端に達した時点で前記タイマ値をラッチし、前記タイマ情報付加手段は、前記タイマラッチ指示メッセージを、前記第1の伝送路及び前記第2の伝送路の何れから受信したかを表す受信情報と前記タイマ値とを、前記タイマ情報として前記タイマ値収集メッセージの予め設定された領域に付加し、前記第1および第2伝送遅延時間演算手段は、前記タイマ値収集メッセージに付加された前記タイマ情報の並び順及び前記受信情報に基づき、各ノードの配置位置を検出することを特徴としている。
本発明によれば、マスタノード及び複数のスレーブノードが第1の伝送路及び第2の伝送路によりデイジーチェーン接続され且つ両端のノードそれぞれで第1の伝送路及び第2の伝送路を接続して構成されるリング状の通常伝送経路において、タイマ情報記憶メッセージを第1の伝送路から受信した時点及び第2の伝送路から受信した時点でのタイマ値と各ノードのノード構成情報とをもとに、マスタノードとスレーブノードとの間の伝送遅延時間を演算し、マスタノードがこの伝送遅延時間とマスタノードのマスタタイマ値とを各スレーブノードに送信し、各スレーブノードが、マスタノードのマスタタイマ値と伝送遅延時間との和を自ノードでのタイマ値として更新設定するため、ノード間におけるタイマ値を的確に同期させることができる。
さらに、マスタノードでは、異常状態が検出されたことに伴い異常検出スレーブノードがループバックを行っている状態で、異常状態からの復旧を検出したときには、異常検出スレーブノードのループバックの解除により構成されるリング状の復旧伝送経路を構成するスレーブノードのノード構成情報を収集し、収集した復旧伝送経路におけるノード構成情報と、予め記憶しておいた通常伝送経路を構成するスレーブノードのノード構成情報とを比較する。そして、これらノード構成情報が一致しないときには、再度伝送遅延時間を演算しこれを利用してノード間でのタイマ値の同期化を図るが、ノード構成情報が一致するときには、記憶しておいた通常伝送経路における伝送遅延時間を利用してノード間でのタイマ値の同期化を図る。このため、伝送遅延時間の演算に要する所要時間相当だけ、ノード間でのタイマ値の同期化が完了するまでの所要時間を短縮することができ、ノード間でタイマ値が不同期となることにより制御に与える影響を低減することができる。
本発明を適用したネットワークシステムの一例を示す構成図である。 本発明の接続状態を表す説明図である。 ノードの概略構成を示すブロック図である。 ノードの動作説明に供する説明図である。 マスタノードで実行されるシステム同期処理の処理手順の一例を示すフローチャートである。 スレーブノードで実行される同期化処理の処理手順の一例を示すフローチャートである。 マスタノードで実行されるシステム再同期処理の処理手順の一例を示すフローチャートである。 スレーブノードで実行されるループバック状態付加処理の処理手順の一例を示すフローチャートである。 ループバック状態読み出しメッセージに付加される情報の一例である。 本発明の動作説明に供する説明図である。 タイマ値収集メッセージで収集されたタイマ情報の一例である。 構成読み出しメッセージで収集されたノード構成情報の一例である。 本発明の動作説明に供する説明図である。 伝送遅延時間の演算方法を説明するための説明図である。 本発明の動作説明に供する説明図である。 本発明の動作説明に供する説明図である。 異常検出時の動作説明に供する説明図である。 異常状態からの復旧検出時の動作説明に供する説明図である。 マスタノードで実行されるループバック解除時のシステム同期処理の処理手順の一例を示すフローチャートである。 スレーブノードで実行されるループバック解除時の同期化処理の処理手順の一例を示すフローチャートである。 本発明の動作説明に供する説明図である。 切り離しノードで実行される復旧時の処理の処理手順の一例を示すフローチャートである。 構成読み出しメッセージで収集されたノード構成情報の一例である。 ループバック解除時の動作を説明する説明図である。 マスタタイマ値通知時の動作を説明する説明図である。 本発明の動作説明に供する説明図である。
以下、本発明の実施の形態を説明する。
図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とを接続する。
これによって、各ノード“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”に設定してこのタイマ値有効フラグとラッチしたタイマ値とを処理部13に通知するだけの回路である。したがって、これらラッチ回路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は、隣接するノードとの通信状態を監視し、断線または隣接するノード自体の異常等の要因のために隣接するノードとの通信が不可となる通信系統の異常状態を検出したときには、ループバックを行ってこのノードをネットワークシステムから切り離す。これによりマスタノードとこのマスタノードと接続状態にあるスレーブノードとの間で通信を継続する。また、隣接するノードが異常状態から復旧したことを検出したときにはマスタノードに復旧通知を行い、マスタノードからループバック解除要求が通知されたときループバックを解除し、このループバックによりネットワークシステムから切り離されたスレーブノードをマスタノードに再接続する。
また、処理部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のそれぞれによりタイマ値がラッチされることになる。
一方、端部に配置されたスレーブノードでは、図4(b)及び(c)に示すように、第1の配線L11及び第2の配線L22を内部で折り返しているため、タイマラッチ指示メッセージは、ラッチ回路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から通知されたラッチタイマ値及びこれに対応する“1”に設定されたタイマ値有効フラグと、をタイマ情報とする。
そして、タイマ値収集メッセージに自ノードにおけるタイマ情報を格納した後、これを次ノードに送出する。
各スレーブノードがこの処理を行なうことにより、各ノードにおけるタイマ情報が、タイマ値収集メッセージの所定の領域に格納され、且つ経由したスレーブノードの並び順に、各ノードにおけるタイマ情報が格納されることになる。
マスタノードは、各スレーブノードを周回したタイマ値収集用メッセージを受信するとこれを回収する。そして、各スレーブノードが格納したタイマ情報の最後に、自ノードにおけるタイマ情報を格納する(図5のステップS3)。
次に、マスタノードは、構成読み出しメッセージを送信し、各ノードに対して各ノードがどのような構成であるかを表す後述のノード構成情報の付加を指示する(図5のステップS4)。
スレーブノードでは、構成読み出しメッセージを受信すると図6のステップS13に移行し、自ノードのノード構成情報を受信した構成読み出しメッセージの所定の領域に格納する。そして、構成読み出しメッセージを次ノードに送出する。
各スレーブノードがこの処理を行うことにより、各ノードにおけるノード構成情報が、構成読み出しメッセージの所定の領域に順次格納されることになる。
マスタノードは、各スレーブノードを周回した構成読み出しメッセージを受信すると、これを回収する。そして、この構成読み出しメッセージにマスタノードのノード構成情報を付加する(図5のステップS5)。これによって、マスタノードは、ネットワークシステムを構成する全てのノードのノード構成情報を獲得したことになり、この各ノードのノード構成情報を予め設定した記憶領域に格納する(図5のステップS6)。
続いて、マスタノードは、タイマ値収集メッセージにより収集した各スレーブノード及び自ノードにおけるタイマ情報に基づき、マスタノードから送信したタイマラッチ指示メッセージが各スレーブノードに到達するまでの所要時間である伝送遅延時間を、到達先のノード毎にそれぞれ算出し、この時点におけるシステム構成と対応付けて、算出したノード毎の伝送遅延時間を予め設定した記憶領域に格納する(図5のステップS7)。この伝送遅延時間の算出方法は後述する。
なお、前記ノード構成情報及び前記伝送遅延時間を記憶する各記憶領域には、システム同期処理により取得されたノード構成情報及び伝送遅延時間の最新値とその前回値とが記憶できるようになっている。
次いで、マスタノードは、算出した伝送遅延時間を各スレーブノードに通知するための伝送遅延時間設定メッセージを各ノード宛に送出する(図5のステップS8)。
スレーブノードは、伝送遅延時間設定メッセージを受信すると、自ノードの伝送遅延時間を獲得する(図6のステップS14)。
マスタノードは、伝送遅延時間設定メッセージが各ノードを周回して戻ってくると、これを伝送路上から削除する。そして、現時点におけるタイマ17のタイマ値を獲得し、これをマスタタイマ値としてこのマスタタイマ値を伝送するためのマスタタイマ値配布メッセージを生成し、これを各ノード宛にブロードキャストにより送信する(図5のステップS9)。そして、システム同期処理を終了する。
スレーブノードは、マスタタイマ値配布メッセージをブロードキャストにより受信すると、受信したマスタタイマ値配布メッセージからマスタタイマ値を獲得し、獲得したマスタタイマ値と先に伝送遅延時間設定メッセージから獲得した自ノードの伝送遅延時間とを加算し、これを現時点におけるタイマ値として、自ノードのタイマ17のタイマ値を更新設定する(図6のステップS15)。そして、スレーブノードは同期化処理を終了する。
次に、マスタノードで実行されるシステム再同期処理及びこのシステム再同期処理に対応してスレーブノードで実行されるループバック状態付加処理を、図7及び図8を伴って説明する。図7はシステム再同期処理の処理手順の一例を示すフローチャート、図8はループバック状態付加処理の処理手順の一例を示すフローチャートである。
マスタノードでは、図5のシステム同期処理を実行した後、予め設定した定周期で図7に示すシステム再同期処理を実行する。
なお、後述のように、マスタノードでは図7のシステム再同期処理によって収集するスレーブノードのループバック状態や復旧情報に基づき、再度ノード間のタイマ値の同期化を図るか否かを判断しているため、ノード間のタイマ値が不同期となった場合、システム再同期処理の実行周期が長いときほど、この不同期となる状態の継続時間が長くなる。したがって、ネットワークシステムの運用状況等から決定される、ノード間のタイマ値が不同期であっても許容される許容時間を考慮して、システム再同期処理の実行周期を決定すればよい。
マスタノードでは、まず、図7のステップS21でループバック状態読み出しメッセージを各スレーブノード宛に送信する。
各スレーブノードは、ループバック状態読み出しメッセージを受信すると(図8のステップS31)、自ノードがループバックしているか否かを表すループバック状態、及びループバックしている場合にはループバックにより切り離したノード(以下、切り離しノードともいう。)の復旧を検知したときにはこれを通知するための復旧情報を、ループバック状態読み出しメッセージの所定の領域に付加して次ノードに送信する(図8のステップS32)。
ここで、各ノードは、図4(b)に示すように、第1の接続端子11側(以後、A系という)でループバックして自ノードが右端のノードとなる場合と、図4(c)に示すように、第2の接続端子12側(以後、B系という)でループバックして自ノードが左端のノードとなる場合とがある。
したがって、スレーブノードは、自ノードの局番と、自ノードのA系のループバック状態及びB系のループバック状態と、を、ループバック状態読み出しメッセージに付加する。この処理を各スレーブノードが実行することにより、例えば図9(a)に示すように、各ノードにおけるA系のループバック状態、B系のループバック状態が、各ノードの局番と対応付けられて、ループバック状態読み出しメッセージの所定の領域に格納されることになる。
マスタノードは、各スレーブノードを周回したループバック状態読み出しメッセージを受信するとこれを回収し、マスタノードは、各ノードのループバック状態及び自ノードの現在のループバック状態と、予め所定の記憶領域に保持している前回の処理周期における各ノードのループバック状態とを比較し、ループバック状態となったノードが存在するかを判断する。具体的には、“ループバック無し”から“ループバック有り”に変化したノードが存在するか否かを判断する(図7のステップS22)。
そして、ループバック状態となったノードが存在する場合にはステップS23に移行し、各ノードのループバック状態を所定の記憶領域に記憶する。そしてステップS24に移行し、前述の図5に示すシステム同期処理を再度実行する。
一方、ループバック状態となったノードが存在しない場合には、ステップS22からステップS25に移行し、次に、切り離しノードの異常状態からの復旧を通知するノードがあるか否かを判断する。具体的には、ループバック状態読み出しメッセージにおいて、“復旧情報”を通知するノードが存在するか否かを判断する。そして、切り離しノードの異常からの復旧を通知するノードが存在しない場合にはそのまま処理を終了するが、異常からの復旧を通知するノードが存在する場合には、ステップS25からステップS26に移行し、後述のループバック解除時のシステム同期処理を実行する。
つまり、前述のようにループバック状態が変化したときには、ネットワークシステムのシステム構成が変化する。また、ループバックを解除するとき、つまり異常が生じたノードが正常状態に復旧する場合、このノードに接続される異常が生じた装置を交換する場合、或いは、異常が生じた装置を復旧させて同一の装置をそのまま用いる場合等がある。
このように、一旦切り離されたノードにおいて、装置の交換は行わずに同一の装置をノードとしてネットワークシステムに再接続する場合、そのシステム構成は、前記ノードを切り離す前におけるシステム構成と同一であり、このシステム構成におけるマスタノードと各スレーブノードとの間の伝送遅延時間も、ノードを切り離す前のシステム構成における伝送遅延時間と同一である。したがって、ノードを切り離す前と後とで装置の交換が行われず、システム構成が同一である場合には、再度伝送遅延時間の演算は行わず、ノードを切り離す前に既に演算した伝送遅延時間を利用することにより、ノード間のタイマ値の同期化に要する所要時間の短縮を図り、ノード間のタイマ値が不同期となる期間の短縮を図っている。
次に、上記実施の形態の動作を説明する。
今、図1に示すノード“A”〜“E”からなる論理的なリング型ネットワークシステムが構成されたネットワークシステムにおいて、各ノード間のタイマ値の同期を行なうものとする。
マスタノード“A”では、まず、タイマラッチ指示メッセージを各ノード宛にブロードキャストで送信し(図5のステップS1)、次に、各ノードでのタイマ情報の付加を指示するタイマ値収集メッセージを各ノード宛に送信する(図5のステップS2)。
このネットワークシステムは、論理的なリング型ネットワークを構成しているため、各スレーブノードでは、タイマラッチ指示メッセージを、第1の配線側L11と第2の配線側L22との両方から入力し、且つ端部のノードでは、タイマラッチ指示メッセージをそのノード内で折り返しているため、第1の配線L11側又は第2の配線L22側の何れか一方から入力することになる。
したがって、マスタノード“A”がタイマラッチ指示メッセージを送出してからの経過時間は、図10のように表されることになる。なお、図10において縦軸は経過時間、横軸はネットワークシステム上におけるタイマラッチ指示メッセージの伝達状況を表す。
また、各スレーブノードではタイマラッチ指示メッセージを受信すると、図11に示すように、ラッチ回路15、16のうち、タイマ値をラッチしたラッチ回路に対応するタイマ値有効フラグを“1”とし、ラッチ回路15、16でタイマラッチ指示メッセージを受信した時点におけるタイマ17のタイマ値と、第1、第2のタイマ値有効フラグとを処理部13に通知し、処理部13では通知されたタイマ値有効フラグとラッチタイマ値とを対応付けて記憶する(図6のステップS11)。
続いて、スレーブノードでは、ラッチ回路15又は16から獲得したラッチタイマ値及びタイマ値有効フラグからなるタイマ情報をタイマ値収集メッセージの所定の領域に順次格納する(図6のステップS12)。
このため、マスタノード“A”に戻ってきたタイマ値収集メッセージには各ノードのタイマ情報が各ノードの配置順に格納されている。
そして、マスタノード“A”は各スレーブノードを経て周回したタイマ値収集メッセージを回収し、これに自ノードのタイマ情報を格納する(図5のステップS3)。
例えば、各ノードがラッチ回路15でラッチしたラッチタイマ値をTA1〜TE1とし、ラッチ回路16でタイマ値をラッチしたタイミングをTA2〜TE2とすると、図11に示すように、タイマラッチ指示メッセージには、ノードの並び順に各ノードを特定する局番とタイマ情報とが対応付けられて格納され、タイマ情報としてタイマ値有効フラグと、ラッチタイマ値とが格納される。
ノード“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”では、図11のタイマ値収集メッセージに格納された各ノードのタイマ情報の格納順及びタイマ値有効フラグが“0”であるか否かに基づき、マスタノード“A”から、ノード“B”、“C”、“D”、“E”、“A”の並びでリング型のネットワークが形成され、且つノード“D”が右端のノード、ノード“E”が左端のノードであることを認識することができ、すなわち図1に示す並び順で各ノードが接続されていることを認識することができる。
次に、マスタノード“A”では、ノード構成情報の付加を指示する構成読み出しメッセージを各スレーブノード宛に送信し(図5のステップS4)、自ノードに戻ってきたとき、これを回収し、自ノードのノード構成情報を付加する(ステップS5)。
スレーブノードでは、構成読み出しメッセージを受信すると、構成読み出しメッセージに自ノードのノード構成情報を付加する(図6のステップS13)。
ノード構成情報は、例えば、図12に示すように、この構成読み出しメッセージを受信した順番と、構成読み出しメッセージを受信したノードの局番と、このノードの種類及び後述のメッセージ判定処理時間とから構成される。ノードの種類とは、マスタノードであるか否か、またスレーブノードである場合には、CPUモジュールであるか、IOモジュールであるか、通信モジュールであるか等である。前記自ノードの局番、自ノードの種類、及びメッセージ判定処理時間は、各ノードにおいて、予め設定されたノード構成情報記憶部に格納され、各ノードでは、このノード構成情報記憶部に記憶された各種情報と構成読み出しメッセージを受信した順番とをノード構成情報として付加する。
例えば図13に示すように、スレーブノード“B”の種類は“Y1”、同様に、スレーブノード“C”、“D”、“E”の種類がそれぞれ“Y2”、“Y3”、“Y4”である場合には、各スレーブノードを周回した構成読み出しメッセージには、図12に示すように、スレーブノード“B”、“C”、“D”、“E”、“A”の順に各ノードのノード構成情報が格納される。そして、スレーブノード“B”の場合には、種類“Y1”、メッセージ判定処理時間“tα1”として格納される。同様に、スレーブノード“C”の場合には、種類“Y2”、メッセージ判定処理時間“tα2”、スレーブノード“D”の場合には、種類“Y3”、メッセージ判定処理時間“tα3”、スレーブノード“E”の場合には、種類“Y4”、メッセージ判定処理時間“tα4”、として格納され、マスタノード“A”の場合には、種類“マスタ”、メッセージ判定処理時間“tαm”として格納される。
マスタノードでは、構成読み出しメッセージにより獲得した、ネットワークシステムを構成する全てのノードのノード構成情報(図12)を、所定の記憶領域に更新記憶する(図5のステップS6)。
ここで、ループバックが生じる前のシステム構成における伝送経路を通常伝送経路、ループバック状態であるときのシステム構成における伝送経路をループバック経路、ループバック状態から復旧したときのシステム構成における伝送経路を復旧伝送経路とすると、マスタノードでは、通常伝送経路におけるノード構成情報を所定の記憶領域に更新記憶することになる。
続いて、マスタノード“A”では、ステップS2、S3で獲得した図11に示す各ノードにおけるタイマ情報に基づき各ノードの配置順を検出し、各ノードの配置順と、ステップS4、S5で獲得した図12に示す各ノードにおけるメッセージ判定処理時間とに基づいて、伝送遅延時間を演算する(図5のステップS7)。
ここで、この時点では各ノード間においてタイマ値の同期はとられていないため、それぞれのノードにおけるタイマ値の間に何ら相関関係はない。
しかしながら、同一ノード内のタイマ値、例えばTB1とTB2とは同一のタイマ17の値をラッチしているため、このタイマ値TB1とTB2との差分は、ノード“B”においてラッチタイマ指示メッセージを上流側から受信した時点から同一のメッセージが下流側から戻ってくるまでの所要時間(以下、受信経過時間いう。)を表している。
ネットワークシステム上の各ノードにおける受信経過時間どうしは比較可能なデータであり、例えばノード“B”における受信経過時間ΔTBとノード“C”における受信経過時間ΔTCとは比較することができる。
ノード“B”における受信経過時間ΔTBとノード“C”における受信経過時間ΔTCとの差分DIFFBC(=ΔTB−ΔTC)は、図10及び図14に示すように、「ノード“B”が上流からメッセージを受信してから、このメッセージがノード“C”に到達するまで(図14中の太線m1部分)の所要時間」と「ノード“C”が下流からメッセージを受信してからこのメッセージがノード“B”に到達するまで(図14中の太線m2部分)の所要時間」との和に相当することになる。
したがって、差分DIFFBCは次式(1)で表すことができる。
DIFFBC=(TB2−TB1)−(TC2−TC1) ……(1)
また、差分DIFFBCは、図10に示すようにノード“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”−“B”間のケーブルL2におけるノード間伝送時間と、ノード“B”におけるメッセージ判定処理時間と、ノード“B”−“C”間のケーブルL3におけるノード間伝送時間と、の和で表されることがわかる。
したがって、マスタノード“A”からターゲットノードまでの間の伝送遅延時間は、マスタノード“A”からターゲットノードまでの間に介在する各ケーブルにおけるノード間伝送時間と、マスタノード“A”からターゲットノードまでの間に介在する各ノードにおけるメッセージ判定処理時間との和から算出することができる。
各ノードにおけるメッセージ判定処理時間は、構成読み出しメッセージにより獲得した図12に示す各ノードのノード構成情報から獲得すればよく、スレーブノード“B”の場合には、メッセージ判定処理時間は“tα1”となる。
また、例えば、ターゲットノードを“D”とした場合には、マスタノード“A”とノード“D”との間の伝送遅延時間は、ノード“A”−“B”間のケーブルL2におけるノード間伝送時間と、ノード“B”のメッセージ判定処理時間と、ノード“B”−“C”間のケーブルL3におけるノード間伝送時間と、ノード“C”のメッセージ判定処理時間と、ノード“C”−“D”間のケーブルL3におけるノード間伝送時間と、の和で表すことができ、ノード“B”及びノード“C”のメッセージ判定処理時間は、図12の構成読み出しメッセージからノード“B”は“tα1”、ノード“C”は“tα2”として獲得することができる。
このようにしてマスタノード“A”から各ターゲットノードまでの伝送遅延時間を算出すると、マスタノード“A”は、算出した伝送遅延時間を、この時点におけるシステム構成と対応付けて所定の記憶領域に更新記憶する。つまり、マスタノードは、通常伝送経路における伝送遅延時間をシステム構成と対応付けて、所定の記憶領域に更新記憶することになる。さらに、算出した伝送遅延時間を各ノードに伝達するための伝送遅延時間設定メッセージを生成しこれを各ノード宛に送信する(図5のステップS7、S8)。
各スレーブノードは、伝送遅延時間設定メッセージを受信すると自ノードの伝送遅延時間を獲得し、これを所定の記憶領域に格納する(図6のステップS14)。
そして、マスタノードは、各ノードを周回した伝送遅延時間設定メッセージを受信することにより各ノードに伝送遅延時間が伝達されたことを認識し、現時点におけるタイマ17のタイマ値を獲得し、これを各ノードに伝達するためのマスタタイマ値配布メッセージを生成し、このマスタタイマ値配布メッセージをブロードキャストで各ノード宛に送信する(図5のステップS9)。
各スレーブノードでは、マスタタイマ値配布メッセージを獲得するとこのマスタタイマ値配布メッセージからマスタタイマ値を獲得し、先に受信した自ノードにおける伝送遅延時間とマスタタイマ値とを加算し、これを現時点におけるタイマ17のタイマ値として更新設定する(図6のステップS15)。
例えば、図15に示すように、各ノードの伝送遅延時間が、ノード“B”は“15”、ノード“C”は“20”、ノード“D”は“30”、ノード“E”は“55”、ノード“A”は“0”として通知されたものとする。
マスタノード“A”からマスタタイマ値として“5000”が通知されたとすると、図16に示すように、ノード“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”への伝送経路とが同一という前提で伝送遅延時間の演算を行ったとしても、的確に伝送遅延時間を演算することができる。
各ノードは、このようにノード間でのタイマ値の同期化が図られた状態で、ノード間での通信処理を行うと共に、隣接ノードとの間の通信状態を監視する。
また、マスタノード“A”は、図7に示すシステム再同期処理を定周期で実行し、ループバック状態読み出しメッセージを各スレーブノード宛に送信し(図7のステップS21)、各スレーブノードが自ノードのループバック状態の有り/無し、また、ループバックによる切り離しノードの復旧を検出したときにはこれを通知するための復旧情報をループバック状態読み出しメッセージに付加することによって(図8のステップS31、S32)、各スレーブノードのうち、ループバック状態となったノードが存在するか、ループバックにより切り離した切り離しノードが異常状態から復旧したかを監視する。
今、図13の構成を有するネットワークシステムにおいて、全てのノードが正常に動作しているときには、図9(a)に示すように、端部のノードであるスレーブノード“D”のB系及びスレーブノード“E”のA系はループバック有りとして通知され、その他のスレーブノードではループバック無しとして通知される。マスタノード“A”では、図7のシステム再同期処理を実行するが、ループバック状態となったノードは存在せず、また異常状態から復旧したノードも存在しないため、図7のステップS21からステップS22、S25を経てそのまま処理を終了する。
この状態から図17に示すようにスレーブノード“D”で異常が発生し、スレーブノード“C”とスレーブノード“D”間に通信異常が発生すると、スレーブノード“C”はこれを検出し、スレーブノード“D”と接続されるB系でループバック状態に切り替え、メッワークシステムからスレーブノード“D”を切り離す。
これによって、スレーブノード“E”、マスタノード“A”、スレーブノード“B”、“C”からなるネットワークシステムが再構成され、これらノードが論理的にリング状に接続されたネットワークシステムが構成される。
そして、次のシステム再同期処理の実行周期のタイミングでマスタノード“A”からループバック状態読み出しメッセージが発行されると(図7のステップS21)、スレーブノード“C”では、図9(b)に示すように“B系でループバック状態有り”として通知する。このため、マスタノードでは、各ノードを周回したループバック状態読み出しメッセージに付加されたループバック状態有無の情報と、予め記憶している前回処理実行時のループバック状態の有無の情報とを比較することで、スレーブノード“C”がループバック状態となったことを認識する。
マスタノード“A”では、まず、通知されたループバック状態有無の情報を所定の記憶領域に更新記憶する(ステップS22、S23)。そして、前記図5のシステム同期処理を実行する(図7のステップS24)。
なお、システム再同期処理において、前回の実行周期時にはループバック状態が通知されたが、今回はループバック状態が通知されないノード、逆に、今回ループバック状態が通知されたが、前回処理実行時にはループバック状態が通知されていないノードについては、ループバック状態の変化により、システムから切り離されたノード或いはシステムに新たに追加されたノードとみなし、これらについてはループバック状態の変化の有無の判断は行わない。
図17のシステム構成の場合、スレーブノード“D”が切り離された状態となるため、スレーブノード“E”、マスタノード“A”、スレーブノード“B、スレーブノード“C”がこの順に接続されたシステム構成を有するネットワークシステムとして、再度ノード間でのタイマ値の同期化を図る。これにより、新たなシステム構成を有するネットワークシステムにおいてノード間でのタイマ値の同期化が図られることになる。
ここで、この時点でのマスタノード“A”のノード構成情報の記憶領域には、スレーブノード“D”が切り離される前にシステム同期処理が既に実行されているので、ループバック前のノード構成情報、すなわち通常伝送経路におけるノード構成情報が格納されている。また、スレーブノード“C”がループバック状態となったときに、再度システム同期処理が実行されているので、ループバック伝送経路におけるノード構成情報も格納されている。
同様に、伝送遅延時間の記憶領域には、スレーブノード“D”が切り離される前の通常伝送経路における伝送遅延時間と、スレーブノード“C”がループバック状態であるときのループバック伝送経路における伝送遅延時間とが格納されている。
そして、このスレーブノード“E”、マスタノード“A”、スレーブノード“B”、“C”からなるネットワークシステムにおいて、ノード間での通信を行っている状態で、スレーブノード“D”が正常状態に復旧すると、ループバックを行っているスレーブノード“C”ではこれを検出する。そして、この時点ではまだループバックを解除せずに、システム再同期処理の次の実行周期でマスタノード“A”からループバック状態読み出しメッセージを受信したとき、図9(c)に示すように、切り離しノード“D”が復旧したことを通知するための復旧情報をループバック状態読み出しメッセージに付加する(図8のステップS32)。
マスタノード“A”は、図18に示すように、各ノードを周回したループバック状態読み出しメッセージを回収しスレーブノード“C”により付加された“復旧情報”を参照することにより、スレーブノード“C”の切り離しノード(スレーブノード“D”)が復旧したことを認識することができる。
このため、マスタノード“A”では、図7のステップS21からステップS22、S25を経てステップS26に移行し、図19に示すループバック解除時のシステム同期処理を実行する。
すなわち、まず、図19のステップS41で、透過・構成読み出しメッセージを、各ノード宛に送信し、各ノードに対してノード構成情報の付加を指示すると共に、切り離しノードの復旧を検出したノードに対して、切り離しノードのノード構成情報の付加を指示する。
スレーブノードは、透過・構成読み出しメッセージを受信すると、図20に示すループバック解除時の同期化処理を開始し、ステップS61からステップS62に移行して、前記図6のステップS13の処理で構成読み出しメッセージを受信したときと同様に、透過・構成読み出しメッセージに、自ノードのノード構成情報を付加する。
そして、自ノードが、ループバック状態読み出しメッセージに復旧情報を付加したノード(以後、復旧通知を行ったノードともいう。)でない場合には(ステップS63)、そのまま次のノードに透過・構成読み出しメッセージを送信するが(ステップS70)、自ノードが復旧通知を行ったノードであるときにはステップS64に移行し、自ノードのノード構成情報を付加した後の透過・構成読み出しメッセージを、切り離しノードに送信するための透過コマンドを作成し、その送信先として切り離しノードを設定してこの透過コマンドを切り離しノードに送信する。
つまり、切り離しノード(スレーブノード“D”)は正常状態に復旧してはいるが、マスタノードとはまだ接続されていない状態であって、スレーブノード“C”はマスタノードからのメッセージをスレーブノード“D”には送信せずにループバックしている。そこで、透過・構成読み出しメッセージを切り離しノードにも送信するために、図21に示すように、復旧通知を行ったスレーブノード“C”が、透過・構成読み出しメッセージからなる透過コマンドを、切り離しノード(スレーブノード“D”)宛に発行している。
切り離しノード(スレーブノード“D”)は、ループバックノード(スレーブノード“C”との通信が正常状態となると、図22に示す復旧時の処理を実行し、ループバックノードでのループバックが解除されず(ステップS91)、透過・構成読み出しメッセージの透過コマンドを受信したときには(ステップS92)、この透過・構成読み出しメッセージに、図6のステップS13の処理で構成読み出しメッセージを受信したときと同様の手順で、自ノードのノード構成情報を付加する。そして、この透過・構成読み出しメッセージを次ノードに送信する(ステップS93)。
例えば図18に示すように、異常が発生したスレーブノード“D”において単に異常が生じた装置が正常状態に復旧したときには、ループバックにより切り離される前と同様に、スレーブノード“D”は、種類は“Y3”、メッセージ判定処理時間は“tα3”と通知されるが、スレーブノード“D”に接続された装置が交換された場合には、スレーブノード“D”は、例えば種類は“Yx”、メッセージ判定処理時間は“tαx”として通知される。
図21では、切り離しノードがスレーブノード“D”のみであるが、スレーブノード“D”にさらに他のノードが接続されている場合には、透過・構成読み出しメッセージの透過コマンドは、切り離しノード側の系を構成する各ノード、すなわち、スレーブノード“C”がループバックを解除することによりマスタノードと接続状態となるノード全てを経由して伝送される。そして、切り離しノード(スレーブノード“D”)を周回した透過・構成読み出しメッセージの透過コマンドは、スレーブノード“C”に伝達される。
スレーブノード“C”は、透過・構成読み出しメッセージの透過コマンドを受信すると切り離しノード(スレーブノード“D”)のノード構成情報が付加されたノード透過・構成読み出しメッセージを生成し(ステップS65)、これを次ノードに送信する(ステップS70)。
これによって、透過・構成読み出しメッセージは、図21に示すように、マスタノード“A”と接続状態にあるスレーブノードだけでなく、切り離しノードにも周回されることになる。
そして、各ノードを周回した透過・構成読み出しメッセージをマスタノード“A”が回収し、これに自ノードのノード構成情報を付加することによって(図19のステップS42)、図23に示すように、スレーブノード“C”がループバックを解除することにより形成されるネットワークシステムを構成するノードのノード構成情報(復旧伝送経路のノード構成情報)を獲得したことになる。
次に、マスタノード“A”は、図5のステップS6の処理で記憶しておいたスレーブノード“C”がループバック状態となる前の通常伝送経路におけるノード構成情報を読み出し、読み出した、スレーブノード“C”がループバック状態となる前の通常伝送経路におけるノード構成情報と、ステップS42で獲得したスレーブノード“C”がループバックを解除することにより形成される復旧伝送経路におけるノード構成情報とを比較する(ステップS43)。
そして、これらループバック状態となる前の通常伝送経路におけるノード構成情報とループバック解除後の復旧伝送経路におけるノード構成情報とが一致するときには、ステップS44からステップS45に移行し、図5のステップS7の処理で記憶していたループバック状態となる前の通常伝送経路における伝送遅延時間を読み出し、図5のステップS8の処理と同様の手順で、透過・伝送遅延時間設定メッセージを生成し、これを各ノード経由で送信する。つまり、図13に示す、スレーブノード“E”、マスタノード“A”、スレーブノード“B”、“C”、“D”がこの順に接続されてなるネットワークシステムにおけるマスタノード“A”と各スレーブノードとの間の伝送遅延時間を送信する。
ここで、上述のように、スレーブノード“C”がループバック状態となる前の通常伝送経路と、ループバック解除後の復旧伝送経路とは同一となり、且つノード構成情報も同一であって装置構成も同一である。したがって、ループバック状態となる前とループバック解除後とで、マスタノード“A”と各スレーブノードとの間の伝送遅延時間は同一であるため、この記憶していた伝送遅延時間を用いたとしても何ら問題はない。
透過・伝送遅延時間設定メッセージを受信したスレーブノードは、図20のステップS71を経てステップS72に移行し、受信した透過・伝送遅延時間設定メッセージに格納されている自ノードの伝送遅延時間を獲得し、これを自ノードの伝送遅延時間として所定の記憶領域に更新設定する。そして、自ノードが切り離しノードの復旧通知を行ったノードでなければ、ステップS80に移行し、透過・伝送遅延時間設定メッセージを次ノードに送信する。
一方、自ノードが切り離しノードの復旧通知を行ったノードである場合には、図20のステップS73からステップS74に移行し、透過・伝送遅延時間設定メッセージを、切り離しノードに送信するための、透過・伝送遅延時間設定メッセージの透過コマンドを作成し、その送信先として切り離しノードを設定して、この透過コマンドを送信する。
これによって、透過・伝送遅延時間設定メッセージの透過コマンドは、スレーブノード“C”を介して、スレーブノード“D”に伝送される。
透過・伝送遅延時間設定メッセージの透過コマンドを受信したスレーブノード“D”は、図22のステップS94を経てステップS95に移行し、透過・伝送遅延時間設定メッセージの透過コマンドから自ノードの伝送遅延時間を獲得し、これを自ノードの伝送遅延時間として所定の記憶領域に更新設定する。そして、透過・伝送遅延時間設定メッセージの透過コマンドを次ノードに送信する。
なお、この場合も切り離しノードであるスレーブノード“D”にさらに他のノードが接続されている場合には、透過・伝送遅延時間設定メッセージの透過コマンドは、スレーブノード“C”がループバックを解除することによりマスタノードと接続状態となるノードも経由して伝送される。そして、切り離しノード(スレーブノード“D”)を周回した透過・伝送遅延時間設定メッセージの透過コマンドは、スレーブノード“C”に伝送される。
スレーブノード“C”は、透過・伝送遅延時間設定メッセージの透過コマンドを受信すると(図20のステップS75)、透過コマンドから透過・伝送遅延時間設定メッセージを生成した後、これを次ノードに送信する(ステップS76)。
これによって、透過・伝送遅延時間設定メッセージも、図21に示すように、マスタノード“A”と接続状態にあるスレーブノードだけでなく、切り離しノードにも周回されることになる。
そして、マスタノード“A”は、各ノードを周回した透過・伝送遅延時間設定メッセージを回収した後、切り離しノード(スレーブノード“D”)の復旧通知を行ったノード(スレーブノード“C”)に対してループバック解除要求を行う(図19のステップS47)。
切り離しノード(スレーブノード“D”)の復旧通知を行ったノード(スレーブノード“C”)は、自ノード宛のループバック解除要求を受信すると、図20のステップS77からステップS78に移行し、ループバックを解除する(図24)。これによって、切り離しノード(スレーブノード“D”)がマスタノードと接続状態となり、スレーブノード“E”、マスタノード“A”、スレーブノード“B”、“C”、“D”がこの順に接続されてなるネットワークシステムが再度構成されることになる。切り離しノード(スレーブノード“D”)は、ループバックが解除されたことから図22のステップS96からステップS97に移行し、以後マスタノードと接続されたノードとしての処理に移行する。
一方、マスタノード“A”は、スレーブノード“D”でのループバック解除が完了した時点で、マスタノード“A”の現時点におけるタイマ17のタイマ値をマスタタイマ値として獲得し、図5のステップS9の処理と同様の手順でマスタタイマ値を伝送するためのマスタタイマ値配布メッセージを生成し、これを各ノード宛にブロードキャストにより送信する(図19のステップS48)。そして、ループバック解除時のシステム同期処理を終了する。
なお、スレーブノード“D”でのループバック解除が完了したかどうかの判断は、例えば、予め検出したループバック解除が完了するのに十分な、ループバック解除要求を送信してからの経過時間が経過したとき、或いは、ループバック解除完了した時点でループバック解除を行ったノードがループバック解除通知のメッセージを送信しこのループバック解除通知のメッセージをマスタノード“A”が受信すること等により判断するようにすればよい。
スレーブノードは、マスタタイマ値配布メッセージを受信すると、図6のステップS15の処理と同様の手順で、マスタタイマ値配布メッセージから獲得したマスタタイマ値と、先に受信した伝送遅延時間との和を自ノードのタイマ値として更新設定する(図20のステップS79)。そして、ループバック解除時の同期化処理を終了する。
このとき、図25に示すように、マスタタイマ値配布メッセージが発行された時点では、切り離しノード(スレーブノード“D”)はマスタノード“A”に接続された状態となっており、スレーブノード“D”は、マスタノード“A”からブロードキャストでマスタタイマ値を獲得することができる。このため、伝送遅延時間とマスタタイマ値との和を自ノードのタイマ値として更新設定することによって、マスタノード“A”のタイマ値と高精度に同期したタイマ値を設定することができる。
一方、スレーブノード“D”が正常状態に復旧したときに、例えばスレーブノード“D”に接続される装置を交換し、異なる種類の装置を接続した場合、或いは、同一種類の装置であっても型番やバージョンが異なり、メッセージ判定処理時間が異なる場合には、マスタノード“A”では、図19のステップS43の処理で、予め記憶していたスレーブノード“C”がループバック状態となる前の各ノードのノード構成情報(通常伝送経路のノード構成情報)と、ループバック解除後に形成されるネットワークシステムのノード構成情報(復旧伝送経路のノード構成情報)とが一致しない。このため、マスタノード“A”は、ステップS44からステップS51に移行し、切り離しノード(スレーブノード“D”)の復旧通知を行ったノード(スレーブノード“C”)に対してこの時点でループバック解除要求を行う。
切り離しノード(スレーブノード“D”)の復旧通知を行ったノード(スレーブノード“C”)は、自ノード宛のループバック解除要求を受信すると、図20のステップS71からステップS85に移行し、ループバックを解除する。そして、ループバック解除時のシステム同期処理を終了する。
これによって、切り離しノード(スレーブノード“D”)がマスタノードと接続状態となり、スレーブノード“E”、マスタノード“A”、スレーブノード“B”、“C”、“D”がこの順に接続されてなるネットワークシステムが構成されることになる。
そして、切り離しノード(スレーブノード“D”)は、ループバックが解除されたことから、図22のステップS94からステップS97に移行し、以後マスタノードと接続されたノードとしての処理に移行する。
一方、マスタノード“A”は、ループバック解除要求を行った後、ステップS51からステップS52に移行し、スレーブノード“D”でのループバック解除が完了した時点で、図5のシステム同期処理を再度実行する。そして、ループバック解除時のシステム同期処理を終了する。
ここで、上述のように、ループバックノード(スレーブノード“C”)がループバック状態となる前のシステム構成における各ノードのノード構成情報(通常伝送経路のノード構成情報)と、ループバック解除後のシステム構成における各ノードのノード構成情報(復旧伝送経路のノード構成情報)とが一致するときには、予め記憶しているループバック状態となる前のシステム構成における伝送遅延時間を読み出し、これを各ノードに通知するようにしている。
このため、図26(a)に示すように、ループバックノード(スレーブノード“C”)がループバックを解除し、切り離しノード(スレーブノード“D”)がネットワークシステムに接続され、システム全体が正常状態となった後、マスタタイマ値配布メッセージが発行され、これを用いて各ノードが自ノードのタイマ値を更新設定した時点でノード間のタイマ値の同期化が完了する。
これに対し、ループバック状態となる前のシステム構成における各ノードのノード構成情報(通常伝送経路のノード構成情報)と、ループバック解除後のシステム構成における各ノードのノード構成情報(復旧伝送経路のノード構成情報)とが一致しないときには、図26(b)に示すようにループバックを解除し、切り離しノード(スレーブノード“D”)がネットワークシステムに接続され、システム全体が正常状態となった後に、各ノードにおけるタイマ情報の獲得やノード構成情報の読み出しを行い、さらにこれらに基づき伝送遅延時間を演算し、この伝送遅延時間を各ノードに通知した後、マスタタイマ値配布メッセージを配布することになり、ループバックノード(スレーブノード“C”)がループバックを解除し、切り離しノード(スレーブノード“D”)がネットワークシステムに接続され、システム全体が正常状態となった後、ノード間のタイマ値の同期化が完了するまでの所要時間Tbは、図26(a)の場合の所要時間Taに比較して長くなる。
このように、システム全体が正常状態に復旧した時点から同期化が完了するまでの所要時間が長いということは、この間は、ノード間のタイマ値の同期がとれていないため、システム全体を正常に動作させることができないことになる。
しかしながら、ループバックノード(スレーブノード“C”)がループバック状態となる前のシステム構成における各ノードのノード構成情報と、ループバック解除後のシステム構成における各ノードのノード構成情報とが一致するときには、予め記憶しているループバック状態となる前のシステム構成における伝送遅延時間を読み出し、これを各ノードに通知するようにしているため、システム全体が正常状態に復旧した後、同期化が完了するまでの所要時間を短縮することができノード間のタイマ値が不同期となる期間をより短縮することができる。
また、伝送遅延時間の演算は、各ノードに接続された装置側から獲得するようにしている。ここで、同じCPUモジュール或いはIOモジュールであっても、型番の違い、或いは個体差によっても、メッセージ判定処理時間は異なる。このため、単に、CPUモジュール或いはIOモジュールといった装置の種類が一致するかどうかを判断するだけでなく、メッセージ判定処理時間についても一致するかどうかを判断し、メッセージ判定処理時間も含めて両者が一致しないときには、再度伝送遅延時間の演算を行うようにしているため、個体差等によるメッセージ判定処理時間の誤差をも考慮して伝送遅延時間を設定することができる。
なお、上記実施の形態においては、ノード構成情報として、マスタノードであるかどうか、またスレーブノードである場合にはCPUモジュールであるか、IOモジュールであるか、通信モジュールであるか等を設定する場合について説明したがこれに限るものではない。上述のように、伝送遅延時間の演算にはメッセージ判定処理時間とノード間伝送時間とが必要であり、ネットワークシステムにおいてノード間伝送時間は切り離しノードに接続される装置が交換されるか否かに関係なく一定である。つまり、伝送遅延時間はメッセージ判定処理時間により変わってくる。このため、メッセージ判定処理時間が一致するときには、切り離しノードに接続される装置が交換されその種類や性能が異なる場合であっても、記憶しているループバック状態となる前の伝送遅延時間を用いて、ノード間のタイマ値の同期化を図るようにしてもよい。
また、上記実施の形態においては、メッセージ判定処理時間を各ノード側で設定する場合について説明したがこれに限るものではない。例えば、ネットワークシステムに接続される可能性のある装置についてそのメッセージ判定処理時間を検出して、その種類と対応付けてマスタノードで記憶しておく。そして、各ノードは、ノード構成情報として種類は通知するがメッセージ判定処理時間は通知しない構成とし、マスタノードは各ノードから通知される種類から、対応するメッセージ判定処理時間を獲得し、これを用いて伝送遅延時間を演算するように構成してもよい。
また、上記実施の形態において、ループバック状態となる前のシステム構成におけるノード構成情報とこれに対応する伝送遅延時間とを記憶しておく場合について説明したが、例えば、複数の異なるシステム構成におけるノード構成情報とこれに対応する伝送時間とを記憶しておくことも可能である。このようにすることによって例えば、システムの動作テストを行う場合など、ループバック状態として切り離しノードを他の装置に切り替え、切り離しノードとして第1の装置と第2の装置とを繰り返し切り換えて動作させる場合等には、第1の装置を用いた場合のシステム構成における伝送遅延時間と第2の装置を用いた場合のシステム構成における伝送遅延時間とを記憶しておくことによって、これらシステム構成を切り換えた場合に、記憶しておいた伝送遅延時間を利用することができるため、その分、ノード間のタイマ値をより速やかに同期化させることができ、動作テスト等の作業効率を向上させることができる。
また、このように複数の異なるシステム構成における伝送遅延時間を記憶しておくことによって、例えば、CPUモジュール及びIOモジュールからなるネットワークシステムにおいて、IOモジュールを使用してシステムを監視していたところ、Ethernet(登録商標)通信対応のモニタ機器で監視する必要がある場合には、交換したいIOモジュールの直前でループバックを行い、IOモジュールを通信モジュールに交換することになる。この場合、ループバックを行うことによりシステム停止することなく交換することができる。また、IOモジュールを含むシステム構成におけるノード構成情報及びこれに対応する伝送遅延時間と、通信モジュールを含むシステム構成におけるノード構成情報及びこれに対応する伝送遅延時間とを記憶しておくことによって、IOモジュールを通信モジュールに交換した後、再度通信モジュールをIOモジュールに交換する場合には、このIOモジュールを含むシステム構成における伝送遅延時間は既に演算されているため、この演算された伝送遅延時間を用いることによって、モジュールの交換に伴い、ノード間でタイマ値が不同期となる期間をより短縮することができ、作業効率を向上させることができる。
また、何れかのノードがループバック状態となることによって、これに接続されるノードが切り離された場合、ループバック状態となって形成されるネットワークシステムにおいては、既に同期化が図られているためノード間でのタイマ値は同期がとれているはずである。
ここで、前述のように、タイマ17は、水晶振動子を含んで構成されている。このため、起動時等に、システム同期処理を実行することによってノード間でタイマ値の同期を図ったとしても、水晶振動子の誤差によりノード間でタイマ値にずれが生じる可能性があり、このずれが大きくなるとシステム停止等、システム全体に影響を与える可能性がある。
そのため、マスタノード“A”において各スレーブノードのループバック状態の変化を監視し、何れかのノードがループバック状態となるタイミングで再度システム同期処理を実行することによって、この時点で、水晶振動子の誤差によるノード間でのタイマ値のずれをも除去することができる。
また、スレーブノード“D”の復旧時に、スレーブノード“D”の他にシステムに新たにスレーブノード“X”が追加された場合などであっても、マスタノード“A”、スレーブノード“B”、“C”、“E”にさらにスレーブノード“D”及びスレーブノード“X”が追加された新たなネットワークシステムが構成されたとして、再度システムの同期化が図られるため、スレーブノードを新たに追加した場合であっても的確に同期化を図ることができる。
このように、ループバック状態となったとき、及び異常状態から復旧したときにノード間のタイマ値の同期化を図っているため、ネットワークシステムに参加しているノード構成が変化したときにタイマ値の同期化を図ることができる。また、ループバック状態が変化したタイミングで再度同期化を図っているため、水晶振動子の誤差によるノード間でのタイマ値のずれを除去することができる。したがって、図5のシステム同期処理を定期的に実行することにより、水晶振動子の誤差によるタイマ値のずれを除去すると共に、ループバック状態が変化したタイミングでも水晶振動子の誤差によるタイマ値のずれを除去することができる。このため、水晶振動子の誤差によるタイマ値のずれを頻繁に除去することができ、結果的に、ノード間でのタイマ値を精度よく同期させることができる。
特に、ノード間のタイマ値の同期精度として、マイクロ秒、ミリ秒の単位での精度を要求するシステムにおいては、頻繁にタイマ値の同期化を図り、水晶振動子の影響を抑制する必要がある。上述のように、何れかのノードのループバック状態が変化したタイミングでシステム同期処理を実行するように構成し、何れかのノードがループバック状態から復旧した場合など、マスタノード“A”と接続状態になくマスタノード“A”とのタイマ値の同期が図られていないスレーブノードが新たに追加される状態となった場合だけでなく、マスタノード“A”と接続状態にあって既にマスタノード“A”とのタイマ値の同期が図られている場合であっても、システム同期処理を実行するようにしているため、単にシステム構成の変化に伴いノード間のタイマ値が不同期となることを解消するだけでなく、水晶振動子の影響によるノード間のタイマ値のずれをも解消することができ、ノード間でのタイマ値の同期精度をより向上させることができる。
なお、上記実施の形態においては、図5のシステム同期処理では、タイマ値収集メッセージと構成読み出しメッセージとを個別に送信して、それぞれのメッセージを利用してタイマ情報及びノード構成情報を個別に収集する場合について説明したが、これに限るものではなく、タイマ情報の付加及びノード構成情報の付加を指示するメッセージを生成し、この1つのメッセージにより、タイマ情報及びノード構成情報を共に収集するようにしてもよい。
また、上記実施の形態においては、端部のノード“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を休止状態に切り替えるように構成してもよい。
また、各ノードが正常に動作している状態から、何れかのノードがループバック状態となったときには、正常動作可能なスレーブノードとマスタノードとの間では、引き続きタイマ値の同期がとれている。このため、水晶振動子の誤差に起因するノード間でのタイマ値のずれを考慮しなくてもよいシステムの場合には、正常状態からループバック状態となったときにはシステム同期処理を行わず、ループバック状態を解除するときにのみ、再度ノード間でのタイマ値の同期化を図るようにしてもよい。
また、水晶振動子の誤差に起因するノード間でのタイマ値のずれを考慮しなくてもよいシステムの場合には、図5のシステム同期処理を定周期で実行しなくてもよく、例えば、起動時にシステム同期処理を実行し、その後は、ループバック状態が変化したときにのみノード間でのタイマ値の同期化を図るようにしてもよい。
また、上記実施の形態においては、図19のステップS44の処理で、ループバック前のノード構成情報(通常伝送経路のノード構成情報)と透過・構成情報読み出しメッセージにより獲得した復旧時のノード構成情報(復旧伝送経路のノード構成情報)とが一致しないときには、ループバックを解除した後、再度図5のシステム同期処理を実行するようにし、再度ノード構成情報を収集してループバック解除後のノード構成情報を獲得するようにしているがこれに限るものではない。
ループバック解除後のノード構成情報は、透過・構成情報読み出しメッセージにより獲得した復旧伝送経路のノード構成情報と同一であるため、前記ノード構成情報が一致しないときには、タイマ値の収集のみを行ってこれに基づき伝送遅延時間を演算し、透過・構成情報読み出しメッセージにより獲得した復旧伝送経路のノード構成情報と、演算した伝送遅延時間とを、ループバック解除後のノード構成情報及び伝送遅延時間、すなわち、通常伝送経路におけるノード構成情報及び伝送遅延時間として用い、これを所定の記憶領域に更新記憶する(通常伝送経路情報更新手段)ようにしてもよい。
ここで、上記実施の形態において、第1の配線L11及び第2の配線L22が第1の伝送路及び第2の伝送路に対応し、タイマラッチ指示メッセージがタイマ情報記憶メッセージに対応している。
また、図5のステップS2、S3、ステップS7の処理が第1伝送遅延時間演算手段に対応し、図5のステップS4、S5の処理が第1ノード構成読み出し手段に対応している。図5のステップS6の処理でノード構成情報を記憶する記憶領域及び図5のステップS7の処理で伝送遅延時間を記憶する領域が通常伝送経路情報記憶部に対応し、図5のステップS8の処理が第1伝送遅延時間送信手段に対応し、ステップS9の処理が第1マスタタイマ値送信手段に対応し、図6のステップS12の処理がタイマ情報付加手段に対応し、ステップS13の処理が第1構成情報付加手段に対応し、ステップS14の処理が第1伝送遅延時間獲得手段に対応し、ステップS15の処理が第1タイマ値同期手段に対応している。
また、図19のステップS41及びS42の処理が透過ノード構成読み出し手段に対応し、図8のステップS32の処理が復旧情報送信手段に対応し、図20のステップS62の処理が第2構成情報付加手段に対応し、図20のステップS63〜ステップS70の処理が第1の透過メッセージ発行手段に対応している。
また、図19のステップS45及びS46の処理が透過・伝送遅延時間設定メッセージ送信手段に対応し、ステップS47の処理が第1ループバック解除送信手段に対応し、ステップS48の処理が第2マスタタイマ値送信手段に対応し、図20のステップS74、ステップS75の処理が第2の透過メッセージ発行手段に対応し、ステップS72の処理が第2伝送遅延時間獲得手段に対応し、ステップS78の処理が第1ループバック解除手段に対応し、ステップS79の処理が第2タイマ値同期手段に対応している。
また、図19のステップS51の処理が第2のループバック解除送信手段に対応し、ステップS52で実行されるシステム同期処理(図5)において、ステップS2、S3、S7の処理が第2伝送遅延時間演算手段に対応している。
また、図19のステップS52で実行されるシステム同期処理(図5)において、ステップS8の処理が第2伝送遅延時間送信手段に対応し、ステップS9の処理が第3マスタタイマ値送信手段に対応している。
さらに、図20のステップS85の処理が第2ループバック解除手段に対応し、図6のステップS14の処理が第3伝送遅延時間獲得手段に対応している。
また、ラッチ回路15、16が第1、第2のラッチ手段に対応し、図5のステップS3の処理、図6のステップS12の処理がタイマ情報付加手段に対応している。
11 第1の接続端子
12 第2の接続端子
13 処理部
15、16 ラッチ回路
17 タイマ
L1〜L4 ケーブル
11 第1の配線
22 第2の配線
T メッセージ一周時間

Claims (10)

  1. マスタノード及び複数のスレーブノードを第1の伝送路及び第2の伝送路それぞれによりデイジーチェーン接続し、該デイジーチェーン接続された両端のノードそれぞれで前記第1の伝送路と前記第2の伝送路とを接続してリング状の通常伝送経路を構成し、
    隣接するノードとの間での通信が不可となる異常状態を検出した異常検出スレーブノードが、前記第1の伝送路と前記第2の伝送路とを接続してループバックし、リング状のループバック伝送経路を構成し、
    前記異常状態の復旧が検出されたときに前記異常検出スレーブノードのループバックを解除し、リング状の復旧伝送経路を構成すると共に、
    前記伝送路に回送される複数種類のメッセージに応じて各ノードが所定の処理を実行するネットワークシステムであって、
    各ノードは、タイマと、タイマ情報記憶メッセージを前記第1の伝送路及び前記第2の伝送路から受信したときのタイマ値からなるタイマ情報を記憶するタイマ情報記憶部と、自ノードのノード構成情報を記憶するノード構成情報記憶部と、を有し、
    前記マスタノードは、
    前記通常伝送経路を構成する各前記スレーブノードのノード構成情報を収集して記憶し、前記通常伝送経路を構成する各ノードの前記タイマ情報を収集し、当該タイマ情報から前記マスタノードと各前記スレーブノード間のメッセージの伝送時間である第1伝送遅延時間を演算して記憶し、当該第1伝送遅延時間を各前記スレーブノードに送信し、
    前記異常状態の復旧を検出した場合には、前記復旧伝送経路を構成する各前記スレーブノードのノード構成情報を収集し、当該復旧伝送経路における前記各ノード構成情報と記憶された前記通常伝送経路における前記各ノード構成情報とを比較し、
    当該比較により前記各ノード構成情報が一致した場合には、前記復旧伝送経路を構成する各前記スレーブノードに、前記記憶された前記通常伝送経路における前記第1伝送遅延時間を送信し、前記異常検出スレーブノードのループバックを解除し、
    前記比較により前記各ノード構成情報が不一致である場合には、前記異常検出スレーブノードのループバックを解除し、前記復旧伝送経路を構成する各前記スレーブノードのノード構成情報を前記通常伝送経路におけるノード構成情報として記憶し、前記復旧伝送経路を構成する各ノードのタイマ情報を収集し、当該タイマ情報から前記マスタノードと各前記スレーブノード間のメッセージの伝送時間である第2伝送遅延時間を演算して前記通常伝送経路の第1伝送遅延時間として記憶し、当該第2伝送遅延時間を各前記スレーブノードに送信し、
    前記第1または第2伝送遅延時間を送信した後に、自ノードのタイマ値をマスタタイマ値として各前記スレーブノードに送信し、
    前記スレーブノードは、
    前記マスタノードから送信された自ノードの前記第1又は第2の伝送遅延時間を記憶し、前記マスタタイマ値を受信した時に、該マスタタイマ値と記憶されている前記第1又は第2の伝送遅延時間との和を自ノードのタイマ値として更新設定することを特徴とするネットワークシステム。
  2. 前記マスタノードが、
    タイマ値収集メッセージを回送して前記通常伝送経路を構成する前記スレーブノードのタイマ情報を取得し、該タイマ情報から前記第1伝送遅延時間を演算する第1伝送遅延時間演算手段と、
    構成情報読み出しメッセージを回送して前記通常伝送経路を構成する前記スレーブノードのノード構成情報を取得する第1ノード構成読み出し手段と、
    前記通常伝送経路を構成する前記スレーブノードのノード構成情報及び前記第1伝送遅延時間を通常伝送経路情報として記憶する通常伝送経路情報記憶部と、
    前記第1伝送遅延時間を付加した第1伝送遅延時間設定メッセージを前記通常伝送経路に回送する第1伝送遅延時間送信手段と、
    前記第1伝送遅延時間設定メッセージの送信後に、自ノードのメッセージ送信時のタイマ値をマスタタイマ値として付加した第1マスタタイマ値送信メッセージを回送する第1マスタタイマ値送信手段と、を備え、
    前記スレーブノードが、
    前記タイマ情報を前記タイマ値収集メッセージに付加するタイマ情報付加手段と、
    前記自ノードのノード構成情報を前記構成情報読み出しメッセージに付加する第1構成情報付加手段と、
    前記第1伝送遅延時間が付加された前記第1伝送遅延時間設定メッセージから自ノードの前記第1伝送遅延時間を獲得する第1伝送遅延時間獲得手段と、
    前記第1マスタタイマ値送信メッセージを受信した時に、前記第1伝送遅延時間と前記マスタタイマ値との和を自ノードのタイマ値として更新設定する第1タイマ値同期手段と、を備えたことを特徴とする請求項1に記載のネットワークシステム。
  3. 前記マスタノードが、
    前記異常状態の復旧を検出した場合に、透過・構成情報読み出しメッセージを回送して前記復旧伝送経路を構成する前記スレーブノードのノード構成情報を取得する透過ノード構成読み出し手段を備え、
    前記スレーブノードが、
    前記異常検出スレーブノードである場合に前記異常状態の復旧情報を前記マスタノードに送信する復旧情報送信手段と、
    前記自ノードのノード構成情報を前記透過・構成情報読み出しメッセージに付加する第2構成情報付加手段と、
    前記異常検出スレーブノードである場合に透過・構成情報読み出しメッセージを、前記復旧伝送経路を構成するスレーブノードへ伝送する第1の透過メッセージ発行手段と、
    を備えたことを特徴とする請求項2に記載のネットワークシステム。
  4. 前記マスタノードが、
    前記透過ノード構成読み出し手段で取得したノード構成情報と前記通常伝送経路情報記憶部に記憶されたノード構成情報とが一致する場合に、前記第1伝送遅延時間を付加した透過・伝送遅延時間設定メッセージを前記復旧伝送経路に回送する透過・伝送遅延時間設定メッセージ送信手段と、
    前記透過・伝送遅延時間設定メッセージ送信後に、前記異常検出スレーブノードにループバックを解除させる第1ループバック解除メッセージを送信する第1ループバック解除送信手段と、
    前記第1ループバック解除メッセージの送信後に、自ノードのメッセージ送信時のタイマ値をマスタタイマ値として付加した第2マスタタイマ値送信メッセージを回送する第2マスタタイマ値送信手段と、を備え、
    前記スレーブノードが、
    前記異常検出スレーブノードである場合に、前記透過・伝送遅延時間設定メッセージを、前記復旧伝送経路を構成するスレーブノードへ伝送する第2の透過メッセージ発行手段と、
    前記第1伝送遅延時間が付加された前記透過・伝送遅延時間設定メッセージから自ノードの前記第1伝送遅延時間を獲得する第2伝送遅延時間獲得手段と、
    前記異常検出スレーブノードである場合に、前記第1ループバック解除メッセージに応じて前記ループバックを解除する第1ループバック解除手段と、
    前記第2マスタタイマ値送信メッセージを受信した時に、前記第1伝送遅延時間と前記マスタタイマ値との和を自ノードのタイマ値として更新設定する第2タイマ値同期手段と、を備えたことを特徴とする請求項3に記載のネットワークシステム。
  5. 前記マスタノードが、
    前記透過ノード構成読み出し手段で取得したノード構成情報と前記通常伝送経路情報記憶部に記憶されたノード構成情報とが不一致である場合に、前記異常検出スレーブノードにループバックを解除させる第2ループバック解除メッセージを送信する第2のループバック解除送信手段と、
    前記第2ループバック解除メッセージ送信後に、タイマ値収集メッセージを回送して前記復旧伝送経路を構成する前記スレーブノードのタイマ情報を取得し、該タイマ情報から前記第2伝送遅延時間を演算する第2伝送遅延時間演算手段と、
    前記透過ノード構成読み出し手段で取得したノード構成情報及び前記第2伝送遅延時間を前記通常伝送経路情報として更新して前記通常伝送経路情報記憶部に記憶する通常伝送経路情報更新手段と、
    前記第2伝送遅延時間を付加した第2伝送遅延時間設定メッセージを前記復旧伝送経経路に回送する第2伝送遅延時間送信手段と、
    前記第2伝送遅延時間設定メッセージの送信後に、自ノードのメッセージ送信時のタイマ値をマスタタイマ値として付加したマスタタイマ値送信メッセージを回送する第3マスタタイマ値送信手段と、を備え、
    前記スレーブノードが、
    前記異常検出スレーブノードである場合に、前記第2ループバック解除メッセージに応じて前記ループバックを解除する第2ループバック解除手段と、
    前記第2伝送遅延時間が付加された前記第2伝送遅延時間設定メッセージから自ノードの前記第2伝送遅延時間を獲得する第3伝送遅延時間獲得手段と、を備えたことを特徴とする請求項3に記載のネットワークシステム。
  6. 前記各ノードは、
    前記タイマ情報記憶メッセージとして前記タイマのタイマ値をラッチさせるためのタイマラッチ指示メッセージを前記第1の伝送路から受信した時の自ノードの前記タイマのタイマ値をラッチする第1のラッチ手段と、
    前記タイマラッチ指示メッセージを前記第2の伝送路から受信した時の自ノードの前記タイマのタイマ値をラッチする第2のラッチ手段と、
    前記ラッチされたタイマ値を収集するための前記タイマ値収集メッセージを受信したとき、前記第1のラッチ手段によってラッチされたタイマ値及び前記第2のラッチ手段によってラッチされたタイマ値を前記タイマ値収集メッセージにタイマ情報として付加するタイマ情報付加手段と、を有することを特徴とする請求項2乃至5の何れか1項に記載のネットワークシステム。
  7. 前記第1の伝送路と第2の伝送路とは同一長さを有し、
    前記第1または第2伝送遅延時間演算手段は、前記タイマ値収集メッセージに各ノードにより付加された前記タイマ情報に基づき各ノードの配置位置を検出し、検出した配置位置と前記第1および第2のラッチ手段でラッチされた各ノードにおける前記タイマ値と一のメッセージが前記リング状の伝送経路を一周するのに要する一周時間とから前記伝送遅延時間を演算することを特徴とする請求項6に記載のネットワークシステム。
  8. 前記各ノードは、前記第1の伝送路及び第2の伝送路のうち一方の伝送路から入力した前記タイマラッチ指示メッセージに対して処理を行い、且つ他方の伝送路から入力した前記タイマラッチ指示メッセージを中継し、
    前記第1および第2伝送遅延時間演算手段は、
    隣接するノード間における前記タイマラッチ指示メッセージの伝送時間をノード間伝送時間として演算し、
    前記マスタノードから前記伝送遅延時間の演算対象であるターゲットノードまでの間の、隣接するノード間それぞれの前記ノード間伝送時間の和と前記マスタノードと前記ターゲットノードとの間に介在するノードにおける前記タイマラッチ指示メッセージに対するメッセージ判定処理時間の和との総和を、前記マスタノードと前記ターゲットノードとの間の伝送遅延時間とすることを特徴とする請求項7記載のネットワークシステム。
  9. 前記第1および第2伝送遅延時間演算手段は、前記各ラッチ手段でラッチされたタイマ値に基づき一のノードが前記タイマラッチ指示メッセージを一方の伝送路から受信した時点から他方の伝送路から受信するまでの所要時間である受信経過時間を演算し、
    第1のノードにおける前記受信経過時間と第2のノードにおける前記受信経過時間との差分の絶対値から、前記第1のノード及び第2のノードのうちの上流側のノードにおける前記メッセージ判定処理時間を減算し、この減算結果の1/2を前記第1のノード及び第2のノード間における前記ノード間伝送時間とし、
    前記マスタノードとこの下流に隣接するノードとの間のノード間伝送時間を演算するときには、前記タイマ情報から算出される前記マスタノードにおける前記受信経過時間を前記一周時間から減算し、この減算結果をノード間伝送時間演算時のマスタノードにおける受信経過時間として用いることを特徴とする請求項8記載のネットワークシステム。
  10. 前記両端のノードは、当該ノード内部で前記第1の伝送路と前記第2の伝送路とを接続し、
    前記ラッチ手段は、前記第1の伝送路及び前記第2の伝送路から前記ノードへの前記タイマラッチ指示メッセージの入力端それぞれに設けられ、前記タイマラッチ指示メッセージが前記ノードの入力端に達した時点で前記タイマ値をラッチし、
    前記タイマ情報付加手段は、前記タイマラッチ指示メッセージを、前記第1の伝送路及び前記第2の伝送路の何れから受信したかを表す受信情報と前記タイマ値とを、前記タイマ情報として前記タイマ値収集メッセージの予め設定された領域に付加し、
    前記第1および第2伝送遅延時間演算手段は、前記タイマ値収集メッセージに付加された前記タイマ情報の並び順及び前記受信情報に基づき、各ノードの配置位置を検出することを特徴とする請求項6または7に記載のネットワークシステム。
JP2010170378A 2010-07-29 2010-07-29 ネットワークシステム Active JP5527086B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010170378A JP5527086B2 (ja) 2010-07-29 2010-07-29 ネットワークシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010170378A JP5527086B2 (ja) 2010-07-29 2010-07-29 ネットワークシステム

Publications (2)

Publication Number Publication Date
JP2012034080A true JP2012034080A (ja) 2012-02-16
JP5527086B2 JP5527086B2 (ja) 2014-06-18

Family

ID=45846981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010170378A Active JP5527086B2 (ja) 2010-07-29 2010-07-29 ネットワークシステム

Country Status (1)

Country Link
JP (1) JP5527086B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102638324A (zh) * 2012-03-27 2012-08-15 杭州华三通信技术有限公司 一种实现精确时间同步的方法和装置
JP2016119616A (ja) * 2014-12-22 2016-06-30 富士電機株式会社 リング型ネットワークシステム、そのマスタノード
JP2017139723A (ja) * 2016-02-02 2017-08-10 富士電機株式会社 通信システム、ノード装置、およびプログラム
CN113728588A (zh) * 2019-05-13 2021-11-30 欧姆龙株式会社 控制装置
CN115378816A (zh) * 2022-08-02 2022-11-22 深信服科技股份有限公司 网络配置检测方法、装置及存储介质
EP4027591A4 (en) * 2019-09-05 2023-08-09 OMRON Corporation MASTER DEVICE, ARITHMETIC PROCESSING DEVICE, PROGRAMMABLE LOGIC CONTROLLER, NETWORK, AND METHOD

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102638324A (zh) * 2012-03-27 2012-08-15 杭州华三通信技术有限公司 一种实现精确时间同步的方法和装置
WO2013143385A1 (en) * 2012-03-27 2013-10-03 Hangzhou H3C Technologies Co., Ltd. Calculating time offset
CN102638324B (zh) * 2012-03-27 2014-12-17 杭州华三通信技术有限公司 一种实现精确时间同步的方法和装置
JP2016119616A (ja) * 2014-12-22 2016-06-30 富士電機株式会社 リング型ネットワークシステム、そのマスタノード
JP2017139723A (ja) * 2016-02-02 2017-08-10 富士電機株式会社 通信システム、ノード装置、およびプログラム
CN113728588A (zh) * 2019-05-13 2021-11-30 欧姆龙株式会社 控制装置
US11740604B2 (en) 2019-05-13 2023-08-29 Omron Corporation Control device
EP4027591A4 (en) * 2019-09-05 2023-08-09 OMRON Corporation MASTER DEVICE, ARITHMETIC PROCESSING DEVICE, PROGRAMMABLE LOGIC CONTROLLER, NETWORK, AND METHOD
CN115378816A (zh) * 2022-08-02 2022-11-22 深信服科技股份有限公司 网络配置检测方法、装置及存储介质
CN115378816B (zh) * 2022-08-02 2024-02-23 深信服科技股份有限公司 网络配置检测方法、装置及存储介质

Also Published As

Publication number Publication date
JP5527086B2 (ja) 2014-06-18

Similar Documents

Publication Publication Date Title
JP5527086B2 (ja) ネットワークシステム
JP4108877B2 (ja) ネットワークシステム,ネットワーク端末,およびネットワークシステムにおける障害箇所の特定方法
JP6666060B2 (ja) 電流差動保護のための方法およびシステム
EP3121996B1 (en) Synchronization failure processing method and system for clock and time synchronization network
CN102263630A (zh) 一种时钟源的选择方法
JP6275323B2 (ja) 中継装置および通信システム
JP5120097B2 (ja) 時間同期システムおよび時間同期装置
JP5482534B2 (ja) ネットワークシステム
JP6729040B2 (ja) 通信システム、ノード装置、およびプログラム
JP5488246B2 (ja) ネットワークシステム及びネットワークシステムの同期方法
JP2016119616A (ja) リング型ネットワークシステム、そのマスタノード
JP5504706B2 (ja) ネットワークシステム及びネットワークシステムの同期方法
US8995471B2 (en) Shelf of a network synchronization device, and network synchronization device
JP5697071B2 (ja) ネットワークシステム及びその障害回復方法
CN113206719B (zh) 一种基于sdn主时钟的时钟同步方法、系统及存储介质
JP2004104186A (ja) 回線切替システム及び方法
JP5655460B2 (ja) プログラマブルコントローラシステム
JP4287734B2 (ja) ネットワーク装置
KR101192896B1 (ko) 결함 허용이 가능한 분산 동기화 방법 및 장치
JP6992346B2 (ja) ネットワークシステム
JP2013207526A (ja) クロック供給方法およびクロック供給装置
CN105577484A (zh) 一种eaps故障检测方法及系统及eaps组网
JP5924069B2 (ja) 監視システム
JP2011151530A (ja) 通信システムの同期方法、通信システム、マスタ局
JP4837439B2 (ja) ノード装置、リングネットワークシステムおよび通信制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140214

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: 20140318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140331

R150 Certificate of patent or registration of utility model

Ref document number: 5527086

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