IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社日立ハイテクノロジーズの特許一覧

特開2023-146599分散システムおよび分散システムにおける通信経路作成方法
<>
  • 特開-分散システムおよび分散システムにおける通信経路作成方法 図1
  • 特開-分散システムおよび分散システムにおける通信経路作成方法 図2
  • 特開-分散システムおよび分散システムにおける通信経路作成方法 図3
  • 特開-分散システムおよび分散システムにおける通信経路作成方法 図4
  • 特開-分散システムおよび分散システムにおける通信経路作成方法 図5
  • 特開-分散システムおよび分散システムにおける通信経路作成方法 図6
  • 特開-分散システムおよび分散システムにおける通信経路作成方法 図7
  • 特開-分散システムおよび分散システムにおける通信経路作成方法 図8
  • 特開-分散システムおよび分散システムにおける通信経路作成方法 図9
  • 特開-分散システムおよび分散システムにおける通信経路作成方法 図10
  • 特開-分散システムおよび分散システムにおける通信経路作成方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023146599
(43)【公開日】2023-10-12
(54)【発明の名称】分散システムおよび分散システムにおける通信経路作成方法
(51)【国際特許分類】
   H04L 45/44 20220101AFI20231004BHJP
   H04L 45/125 20220101ALI20231004BHJP
   H04L 45/28 20220101ALI20231004BHJP
【FI】
H04L45/44
H04L45/125
H04L45/28
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022053854
(22)【出願日】2022-03-29
(71)【出願人】
【識別番号】501387839
【氏名又は名称】株式会社日立ハイテク
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】大村 柚介
(72)【発明者】
【氏名】山科 和史
(72)【発明者】
【氏名】船津 輝宣
(72)【発明者】
【氏名】志賀 雄一朗
(72)【発明者】
【氏名】宍戸 大悟
(72)【発明者】
【氏名】本間 章太郎
(72)【発明者】
【氏名】矢野 茂
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA01
5K030GA06
5K030HA08
5K030HD03
5K030JA11
5K030LB05
5K030LB08
5K030MB09
(57)【要約】
【課題】
より簡便な構成で、分散システムにおける通信経路の作成を実現することを課題とする。
【解決手段】
上記の課題を解決するために、本発明は、通信親局および複数の通信子局といった複数の分散装置で構成される分散システムにおいて、ルーティングパケットが通信される通信経路の通過量に応じて、動的に上流側との通信ポートを更新し、これに基づき通信経路を作成し、当該分散システムにおいて通信障害が発生している場合には、当該通信障害を迂回する迂回経路を、通信経路として作成する分散システムである。
【選択図】 図2
【特許請求の範囲】
【請求項1】
通信親局と、前記通信親局に対して通信の下流方向に接続される複数の通信子局で構成される分散システムにおいて、
前記通信親局および前記複数の通信子局のそれぞれが互いに通信路を介して接続し、
前記複数の通信子局のそれぞれは、通信を行うための複数の通信ポートを有し、
前記複数の通信ポートのいずれかを上流方向へ通信する上流ポートとして記憶しておき、
前記通信親局から、前記複数の通信子局のそれぞれに対して、ルーティングパケットを送信し、
前記複数の通信子局のそれぞれにおいて、前記ルーティングパケットの前記通信親局からの通過量を示す第1の通過量を特定し、
前記第1の通過量と当該特定以前に特定した第2の通過量を比較して、所定条件を満たすかを判定し、
前記複数の通信子局のそれぞれにおいて、前記ルーティングパケットを受信した第1の通信ポートを特定し、
前記複数の通信子局のそれぞれにおいて、前記所定条件を満たす場合、当該第1の通信ポートを前記上流ポートとして更新し、
前記通信親局は、前記複数の通信子局における各上流ポートおよび当該上流ポートと接続する通信路を組み合わせて、当該分散システムにおける前記通信親局からの通信経路を作成する分散システム。
【請求項2】
請求項1に記載の分散システムにおいて、
前記所定条件は、前記第1の通過量が小さい場合もしくは前記第2の通過量が特定されていない場合である分散システム。
【請求項3】
請求項1に記載の分散システムにおいて、
前記通過量として、前記ルーティングパケットが通過する通信路の通過回数、前記ルーティングパケットが前記通信親局から通過した前記通信子局の通過回数、前記ルーティングパケットが前記通信親局から通過に掛かる時間、前記ルーティングパケットが前記通信親局から通過した物理的な長さのいずれかが用いられる分散システム。
【請求項4】
請求項1に記載の分散システムにおいて、
前記複数の通信子局のそれぞれにおいて、前記上流ポートが前記第1の通信ポートに更新された場合、更新された前記第1の通信ポートが前記上流ポートとして選択されたことを示す上流ポート通知を、前記通信親局に向けて送信し、
前記通信親局が、前記上流ポート通知を用いて、前記通信経路を生成する分散システム。
【請求項5】
請求項4に記載の分散システムにおいて、
前記分散システムにおいて通信障害が発生した場合に、前記通信親局が、前記ルーティングパケットを送信する分散システム。
【請求項6】
請求項5に記載の分散システムにおいて、
前記分散システムにおいて通信障害が発生した場合、
前記通信親局は、前記上流ポート通知が所定期間ない場合、前記通信障害の要因が該当の通信子局で発生していると判定する分散システム。
【請求項7】
請求項6に記載の分散システムにおいて、
前記通信親局は、前記複数の通信子局それぞれから前記上流ポート通知を受信して、前記通信経路が変更された場合、前記通信障害の要因が変更前の通信経路のうち最上流の通信路で発生していると判定する分散システム。
【請求項8】
請求項6または7に記載の分散システムにおいて、
前記通信親局は、前記通信経路として、前記通信障害の要因を避ける迂回経路を作成する分散システム。
【請求項9】
請求項4に記載の分散システムにおいて、
前記複数の通信子局のそれぞれにおいて、自身の下流方向から送信される上流ポート通知を、上流方向で転送する分散システム。
【請求項10】
請求項1に記載の分散システムにおいて、
前記通信親局が、前記ルーティングパケットを周期的に送信する分散システム。
【請求項11】
通信親局と、前記通信親局に対して通信の下流方向に接続される複数の通信子局で構成される分散システムにおける通信経路作成方法において、
前記通信親局および前記複数の通信子局のそれぞれが互いに通信路を介して接続し、
前記複数の通信子局のそれぞれは、通信を行うための複数の通信ポートを有し、
前記複数の通信ポートのいずれかを上流方向へ通信する上流ポートとして記憶しておき、
前記通信親局から、前記複数の通信子局のそれぞれに対して、ルーティングパケットを送信し、
前記複数の通信子局のそれぞれにおいて、前記ルーティングパケットの前記通信親局からの通過量を示す第1の通過量を特定し、
前記第1の通過量と当該特定以前に特定した第2の通過量を比較して、所定条件を満たすかを判定し、
前記複数の通信子局のそれぞれにおいて、前記ルーティングパケットを受信した第1の通信ポートを特定し、
前記複数の通信子局のそれぞれにおいて、前記所定条件を満たす場合、当該第1の通信ポートを前記上流ポートとして更新し、
前記通信親局は、前記複数の通信子局における各上流ポートおよび当該上流ポートと接続する通信路を組み合わせて、当該分散システムにおける前記通信親局からの通信経路を作成する分散システムにおける通信経路作成方法。
【請求項12】
請求項11に記載の分散システムにおける通信経路作成方法において、
前記所定条件は、前記第1の通過量が小さい場合もしくは前記第2の通過量が特定されていない場合である分散システムにおける通信経路作成方法。
【請求項13】
請求項11に記載の分散システムにおける通信経路作成方法において、
前記通過量として、前記ルーティングパケットが通過する通信路の通過回数、前記ルーティングパケットが前記通信親局から通過した前記通信子局の通過回数、前記ルーティングパケットが前記通信親局から通過に掛かる時間、前記ルーティングパケットが前記通信親局から通過した物理的な長さのいずれかが用いられる分散システム。における通信経路作成方法。
【請求項14】
請求項11に記載の分散システムにおける通信経路作成方法において、
前記複数の通信子局のそれぞれにおいて、前記上流ポートが前記第1の通信ポートに更新された場合、更新された前記第1の通信ポートが前記上流ポートとして選択されたことを示す上流ポート通知を、前記通信親局に向けて送信し、
前記通信親局が、前記上流ポート通知を用いて、前記通信経路を生成する分散システムにおける通信経路作成方法。
【請求項15】
請求項14に記載の分散システムにおける通信経路作成方法において、
前記分散システムにおいて通信障害が発生した場合に、前記通信親局が、前記ルーティングパケットを送信する分散システムにおける通信経路作成方法。
【請求項16】
請求項15に記載の分散システムにおける通信経路作成方法において、
前記分散システムにおいて通信障害が発生した場合、
前記通信親局は、前記上流ポート通知が所定期間ない場合、前記通信障害の要因が該当の通信子局で発生していると判定する分散システムにおける通信経路作成方法。
【請求項17】
請求項16に記載の分散システムにおける通信経路作成方法において、
前記通信親局は、前記複数の通信子局それぞれから前記上流ポート通知を受信して、前記通信経路が変更された場合、前記通信障害の要因が変更前の通信経路のうち最上流の通信路で発生していると判定する分散システムにおける通信経路作成方法。
【請求項18】
請求項16または17に記載の分散システムにおける通信経路作成方法において、
前記通信親局は、前記通信経路として、前記通信障害の要因を避ける迂回経路を作成する分散システムにおける通信経路作成方法。
【請求項19】
請求項14に記載の分散システムにおける通信経路作成方法において、
前記複数の通信子局のそれぞれにおいて、自身の下流方向から送信される上流ポート通知を、上流方向で転送する分散システムにおける通信経路作成方法。
【請求項20】
請求項11に記載の分散システムにおける通信経路作成方法において、
前記通信親局が、前記ルーティングパケットを周期的に送信する分散システムにおける通信経路作成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク内に発生した故障等の障害を迂回する通信経路の生成するための技術に関する。なお、本発明の障害には、故障等の通信における各種異常が含まれる。
【背景技術】
【0002】
現在、ネットワークを利用した各種通信技術が利用されている。この通信技術の一適用例として、産業用装置が挙げられる。生化学・免疫分析装置等の産業用装置では、中央集中管理された複数の制御基板から、装置に搭載するセンサやモータ等の制御デバイスへのアナログ伝送路を備える電子システムを使用するのが一般的である。
【0003】
近年では装置の設計・製造・保守の効率化のために、制御基板をモジュール化し分散配置することで、アナログ伝送路量の削減や装置の制御性能向上を図る分散制御システムの適用が行われている。こうした分散制御システムを含む分散システムでは、これを構成する装置(分散制御装置、分散装置)のダウンタイム削減のため、この装置の一部故障時も制御通信を継続できるように複数の通信経路を備える冗長化したネットワークを用いることがある。このような冗長なネットワークでは、ネットワークに接続される基板間で複数の通信経路をとることが可能である。このため、適切な通信経路を生成しなければ、誤動作の原因となる。また、故障等の不具合が発生したときに、残存している冗長経路を使用することで、故障箇所を迂回し通信を継続できる迂回経路の生成および迅速に修繕を行うための故障箇所の特定が必要である。
【0004】
これらを解決する手段として、冗長なネットワークに故障が発生したとき、通信親局がネットワーク構成の情報から迂回経路を生成し、各通信子局と迂回経路を介して通信可能であるか否かを走査して、故障箇所を特定する技術が一般的に知られており、例えば特許文献1が提案されている。特許文献1では、通信障害が発生した場合に集約装置から通信不可能になった端末装置までの通信経路のうち、通信可能で最も端末装置側の中継装置を目標装置として特定し、集約装置がネットワーク構成情報から目標装置までの迂回経路を生成して、迂回経路で通信できる中継装置で最も目標装置側のものとの間を故障箇所として特定する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2021-52311号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載の技術では、中継装置はいわゆるルータなどのルーティング機能を持つ装置であり、一般的なルーティング機能のプロトコルでは、中継装置が他の中継装置への経路情報を記憶する必要がある。そのため、通信帯域の圧迫により、制御通信の実時間性の担保が難しく、また中継装置には分散制御システムといった分散システムの規模に応じた記憶容量を用意しなくてはならない。そこで、本発明では、より簡便な構成で、分散システムにおける通信経路の作成を実現することを課題とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明では、通信親局および複数の通信子局といった複数の分散装置で構成される分散システムにおいて、ルーティングパケットが通信される通信経路の通過量に応じて、動的に上流側との通信ポートを更新し、これに基づき通信経路を作成する。
【0008】
より具体的な構成の一例は、通信親局と、前記通信親局に対して通信の下流方向に接続される複数の通信子局で構成される分散システムにおいて、前記通信親局および前記複数の通信子局のそれぞれが互いに通信路を介して接続し、前記複数の通信子局のそれぞれは、通信を行うための複数の通信ポートを有し、前記複数の通信ポートのいずれかを上流方向へ通信する上流ポートとして記憶しておき、前記通信親局から、前記複数の通信子局のそれぞれに対して、ルーティングパケットを送信し、前記複数の通信子局のそれぞれにおいて、前記ルーティングパケットの前記通信親局からの通過量を示す第1の通過量を特定し、前記第1の通過量と当該特定以前に特定した第2の通過量を比較して、所定条件を満たすかを判定し、前記複数の通信子局のそれぞれにおいて、前記ルーティングパケットを受信した第1の通信ポートを特定し、前記複数の通信子局のそれぞれにおいて、前記所定条件を満たす場合、当該第1の通信ポートを前記上流ポートとして更新し、前記通信親局は、前記複数の通信子局における各上流ポートおよび当該上流ポートと接続する通信路を組み合わせて、当該分散システムにおける前記通信親局からの通信経路を作成する分散システムである。また、本発明には、この分散システムにおける通信経路作成方法も含まれる。
【発明の効果】
【0009】
本発明によれば、本発明では、より簡便な構成で、分散システムにおける通信経路の作成を実現することが可能となる。なお、上記以外の、課題、構成及び効果は、以下の実施を実施するための形態や各実施例の説明により明らかにされる。
【図面の簡単な説明】
【0010】
図1】本発明の一実施形態における分散制御システムの構成例を示す図。
図2】実施例1における分散制御システムのルーティングパケットが転送される様子を示す図。
図3】実施例1における通信子局のルーティングパケットの比較処理を示すフローチャート。
図4】実施例1における通信子局の上流ポート選択処理を示すフローチャート。
図5】実施例1における分散制御システムの上流ポート通知の転送を示す図。
図6】実施例2において通信子局が故障した場合のルーティングパケットの転送を示す図。
図7】実施例2における通信子局が故障した場合の上流ポート通知の転送を示す図。
図8】実施例2における通信親局の故障箇所の特定処理を示すフローチャート。
図9】実施例3における分散制御システムの構成例を示す図。
図10】実施例3における表示装置での表示例を示す図。
図11】各実施例の応用例を示す図。
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態について説明する。本実施形態では、分散システムの一例として、自身を含む制御対象への制御を行うため分散制御システムを例とする。図1は、本実施形態における分散制御システム01の構成例を示す図である。図1において、分散制御システム01は、通信親局011、複数の通信子局012を備える。ここで、通信親局011および通信子局012が、本発明の分散装置に該当する。また、図面上上部に向き、つまり、通信親局011に向かう通信の方向を上流方向とする。また、その逆方向を下流方向とする。
【0012】
そして、本実施形態では、通信親局011および複数の通信子局012で構成される分散制御システム01において、ルーティングパケットが通信される通信経路の通過量に応じて、動的に上流側との通信ポートである上流ポートを更新する。そして、これに基づき通信経路を作成する。より具体的な構成の一例は、通信親局011と、通信親局011に対して通信の下流方向に接続される複数の通信子局012で構成される分散制御システム01において、通信親局011および複数の通信子局012のそれぞれが互いに通信路(通常通信路0130と縮退通信路0131等)を介して接続し、複数の通信子局012のそれぞれは、通信を行うための複数の通信ポート0120を有し、複数の通信ポート0120のいずれかを上流ポートとして記憶しておき、通信親局011から、複数の通信子局012のそれぞれに対して、ルーティングパケットを送信し、複数の通信子局012のそれぞれにおいて、ルーティングパケットの通信親局011からの通過量を示す第1の通過量を特定し、第1の通過量と当該特定以前に特定した第2の通過量を比較して、所定条件を満たすかを判定し、複数の通信子局012のそれぞれにおいて、ルーティングパケットを受信した第1の通信ポートを特定し、複数の通信子局012のそれぞれにおいて、所定条件を満たす場合、当該第1の通信ポートを上流ポートとして更新し、通信親局011は、複数の通信子局012における各上流ポートおよび当該上流ポートと接続する通信路を組み合わせて、分散制御システム01における通信親局011からの通信経路を作成する分散制御システム01である。
【0013】
以上で、本実施形態の説明を終わり、以下、より具体的な構成や処理内容を示す各実施例について説明する。
【実施例0014】
図1に示すように、本実施例における分散制御システム01は、通信親局011、複数の通信子局012を備える。通信親局011は複数の通信子局012と通信路(通常通信路0130と縮退通信路0131等)を介して接続するネットワークを形成し、分散制御システム01の制御指令を通信子局に送信する。通信子局012は、通信親局011、他の通信子局012と前記ネットワークで接続され、通信親局011に制御デバイスからの入力情報を送信する。
【0015】
次に、各装置の構成を説明する。通信子局012は、複数の通信ポート0120を備える。これらのうち、自身の入力情報の送信および他の通信子局012の制御デバイスからの入力情報の転送に使用する通信ポート0120を上流ポートとする。また、通信親局011から他の通信子局012への制御指令の転送に使用する通信ポート0120を下流ポートと定義する。
【0016】
また、通信親局011は、通信ポート0110と、上流ポート記憶部0111と、通信経路記憶部0112と、故障箇所特定部0113および通信経路作成部0114を備える。上流ポート記憶部0111は、通信子局012自身の上流ポートを記憶する。通信経路記憶部0112は、作成された通信経路を記憶する。故障箇所特定部0113は、故障箇所を特定する。通信経路作成部0114は、ルーティングパケットの通過量に応じて通信経路を作成する。
【0017】
さらに、分散制御システム01は、通常通信路0130と縮退通信路0131を有する。通常通信路0130は、各通信子局012と通信親局011が通常時に使用する通信経路が、最小の通信子局012の経由回数となるように、通信ポート0110と通信ポート0120の間、あるいは通信ポート0120同士の間を接続する。縮退通信路0131は、通信ポート0120同士の間を接続する。この接続では、各通信子局012に対して、他の通信子局012あるいは通常通信路0130のいずれか1つが故障したときの通信親局011との通信に使用する通信経路が、所定の通信遅延時間内で通信可能な通信子局012経由回数以下の通信路の組合せで構成されるようにする。
【0018】
次に、分散制御システム01における通信経路の生成方法を説明する。まず、通信親局011の通信経路作成部0114は、ルーティングパケット02を通信親局011自身に接続された通信路を介して、通信子局012へ送信する。ここで、ルーティングパケット02の送信タイミングには、分散制御システム01や通信親局011の起動の際、分散制御システム01での障害の発生の際、所定周期ないし定期的なタイミングが含まれる。図2は、本実施例における分散制御システム01でルーティングパケット02が転送される様子を示す図である。図2において、ルーティングパケット02は、通信路の通過回数を蓄積する。このために、ルーティングパケット02は、通信子局012を経由して転送されていき、各通信子局012がルーティングパケット02を受信する。ルーティングパケットを受信した通信子局012は、当該ルーティングパケット02が備える通信路の通過回数に1を加えて更新する。このように、通信子局012のそれぞれが、ルーティングパケット02の通過回数をカウントアップし、ルーティングパケット02に記録していく。なお、本実施例では、通信路の通過回数を用いたが、通過経路における通過量であればよい。通過量には、ルーティングパケット02の通信親局011から通過した通信子局012の通過回数、ルーティングパケット02が通信親局011から通過に掛かる時間、ルーティングパケット02が通信親局011から通過した物理的な長さのいずれかが用いられる。また、より好適には、上述の通信路の通過回数および/または通信子局012の通過回数を用いることが望ましい。例えば、通信路の通過回数と通信子局012の通過回数を足し合わせた数を用いてもよい。
【0019】
ここで、本実施例においては、通信路の通過回数が所定条件を満たす場合、通過経路を動的に作成、更新する。より具体的には、各通信子局012が記憶している通過回数が、特定された通過回数より小さい場合、通過経路が作成される。以下、通過回数の比較について説明する。図3は、本実施例における通信子局012がルーティングパケット02の比較処理を示すフローチャートである。本フローチャートは、通信子局012が、ルーティングパケット02を更新、例えば、受信したときに実行される。なお、本フローチャートの処理主体が通信子局012と記載した場合、特に断らない限り分散制御システム01を構成する各通信子局012がその処理主体となる。これは、他のフローチャートでも同様である。
【0020】
まず、ステップS30において、通信子局012は、自身が以前のルーティングパケット02を記憶しているか判定する。この結果、正(YES)だった場合、ステップS31に遷移する。また、負(NO)だった場合、ステップS32に遷移する。
【0021】
また、ステップS31において、通信子局012は、更新したルーティングパケット02の通信路の通過回数が、自身が記憶しているルーティングパケット02の通信路の通過回数より小さいか判定する。この結果、正(YES)だった場合、ステップS32に遷移する。また、判定が負(NO)だった場合、処理を終了し、開始状態に戻る。本ステップでは、第1の通過量の一例である更新したルーティングパケット02の通過路の通過回数と当該特定以前に特定した第2の通過量の一例である記憶しているルーティングパケット02の通過路の通過回数を比較する。
【0022】
また、ステップS32において、通信子局012は、更新したルーティングパケット02と当該ルーティングパケット02を受信した通信ポート0120を特定する。また、通信子局012は、特定された内容記憶し、当該ルーティングパケット02を受信した通信ポート0120以外の自身が備える残りの通信ポート0120から転送することが望ましい。以上で、処理を終了し、開始状態に戻る。
【0023】
なお、通信子局012における以前のルーティングパケット02の通過回数で、最も通信路の通過回数が小さくなるのは、通信子局012が最後に受信ないし記憶(更新)したルーティングパケット02である。このため、ステップS31で比較するルーティングパケット02の通過回数は、最後に通信子局012が記憶したルーティングパケット02のみでよい。なお、本実施例では、通信子局012が、以前のルーティングパケット02を記憶しているとして説明するが、その通過回数を記憶しておき、これを用いてもよい。なお、このことは、以降の説明でも同様である。
【0024】
また、通信子局012は、ステップS33でルーティングパケット02と受信した通信ポート0120を記憶するときに、以前のルーティングパケット02と通信ポート0120の記憶を削除してもよい。さらに、通信子局012は、ルーティングパケット02と通信ポート0120を1組記憶できる記憶容量を有していればよい。また、通信子局012が、ルーティングパケット02の通信路通過回数を増加させて転送することで、やがて分散制御システム01内で転送されなくなる。
【0025】
本実施例では、図3の比較の結果に応じて、通信ポート0120から上流ポートを選択、更新する。この上流ポートは、本実施例の作成対象である通信経路を構成することになる。図4は、本実施例における通信子局012の上流ポートの選択処理を示すフローチャートである。この処理は図3に示したフローチャートの処理と並列に実行されることが望ましいが、別に行ってもよい。
【0026】
図4のステップS40において、通信子局012は、新たにルーティングパケット02を記憶もしくは受信するまでこの処理を待機させ続ける。つまり、通信子局012は、図3のステップS32に遷移し、新たにルーティングパケット02を記憶もしくは受信した場合(YES)、ステップS41に遷移する。また、記憶ないし受信しない場合(NO)、ステップS40を継続する。
【0027】
また、ステップS41において、通信子局012は、分散制御システム01内のルーティングパケット02の転送が終了するまでの、予め定められた通信完了待ち時間を待機する。そして、待機後、ステップS42において、通信子局012は、自身が最後に記憶ないし受信した通信ポート0120(第1の通信ポート)を、上流ポートとして選択する。この際、通信子局012は、過去に別の通信ポート0120(第2の通信ポート)が上流ポートとして記憶されている場合、これを本ステップで選択された通信ポートとして更新することになる。
【0028】
また、ステップS43において、通信子局012は、ステップS42で選択更新された上流ポートの上流ポート情報を含む上流ポート通知050を、選択された上流ポートから、上流側へ送信する。また、ステップS44において、通信子局012は、自身が記憶しているルーティングパケット02と当該ルーティングパケット02を受信した通信ポート0120の記憶を削除する。以上で本フローチャートの処理を終了して、開始状態に戻る。
【0029】
ここで、分散制御システム01における、ステップS43で送信される上流ポート通知050の送受信(通信)の様子を説明する。図5は、本実施例における分散制御システム01の上流ポート通知050の転送を示す図である。図5において、上流ポート通知050は、送信元の通信子局012から通信親局011に向けて、他の通信子局012で転送される。つまり、上流ポート通知050は、上流方向で向けて転送されることになる。図5において、通信子局012は、自身の上流ポート051から上流ポート通知050を送信する。また、通信子局012は、他の通信子局012からの上流ポート通知050を受信したとき、図4に示した処理が終了する。また、通信子局012は、ステップS40で新たなルーティングパケット02の記憶を待機している状態に戻っている場合、受信した上流ポート通知050を転送する。そうでない場合、通信子局012は、上流ポート通知050を保持し、図4の処理が終了した後に、信した上流ポート通知050を転送する。
【0030】
また、通信子局012は、この転送を行うときに上流ポート通知050を受信した自身の通信ポート0120を、下流ポート052として選択する。また、通信親局011の通信経路作成部0114は、自身が受信した各通信子局012の上流ポート通知050を上流ポート記憶部0111に記憶する。さらに、通信親局011の通信経路作成部0114は、記憶した上流ポート通知050が示す上流ポート情報に基づき、上流ポートが接続している通信路を組合せて通信子局012との通信経路を作成する。そして、通信経路作成部0114は、これを通信経路記憶部0112に記憶する。
【0031】
本実施例によれば、分散制御システム01における、通信親局011と各通信子局012との通信経路の作成のために通信親局011と各通信子局012間で通信を繰り返すことを抑止できる。また、分散制御システム01における、通信親局011と各通信子局012との通信経路は、実際にルーティングパケット02が転送された通信路によって構成される。このため、例えば分散制御システム01に初期不良などによる通信異常が発生している場合も、障害をさけた通信路で通信経路が構成される。
【実施例0032】
次に、実施例2は、障害として、分散制御システム01で障害が発生した場合の処理を示す。図6は、実施例2において通信子局012が故障した場合のルーティングパケット02の転送を示す図である。図6において、分散制御システム01の通信子局012のK1が故障している。故障している通信子局012のK1は、ルーティングパケット02の転送処理ができない。このため、図2に示したルーティングパケット02のいくつかは転送されなくなる。そのため、図6において、通信子局012のK6を通過したルーティングパケット02がK2~K5に転送される。
【0033】
また、図7は、本実施例における通信子局012が故障した場合の上流ポート通知050の転送を示す図である。この上流ポート通知050を用いることで、通信経路作成部0114が、通信子局012のK2~K5までの通信経路は縮退通信路0131を含む迂回経路を通信経路として作成することになる。例えば、通信子局012のK3の通信経路は、通信親局011から、K6、K7、K8、K5を経由する迂回経路となる。ここで、このように障害をさけた迂回経路が作成されるとは、障害箇所を特定されることに繋がる。そこで、本実施例における障害箇所の特定について説明する。
【0034】
図8は、本実施例における通信親局011の故障箇所の特定処理示すフローチャートである。まず、通信親局011は、通信子局012からの新たな上流ポート通知050の受信するまで待機する。そして、ステップS80において、通信親局011は、通信子局012から上流ポート通知050を受信したか、つまり、これが届いたかを判定する。この結果、届いた場合(YES)、ステップS81に遷移する。また、届いていない場合(NO)、ステップS80を継続する。
【0035】
また、ステップS81において、通信親局011は、通信子局012からの上流ポート通知050を受信し終わるまでの、予め定められた時間が経過するまで待機する。そして、ステップS82において、故障箇所特定部0113は、上流ポート通知050が各通信子局012から通信親局011に届いたか判定する。この結果、正であった場合(YES)、ステップS83に遷移する。また、判定が負であった場合(NO)、ステップS84に遷移する。
【0036】
また、ステップS84において、故障箇所特定部0113は、故障箇所を、上流ポート通知050が届かなかった通信子局012と特定する。そして、処理を終了し、開始状態に戻る。また、ステップS83において、故障箇所特定部0113は、通知された上流ポート通知に基づき、上流ポートに変更があるか判定する。この結果、判定が正であった場合(YES)、ステップS85に遷移する。また、判定が負であった場合(NO)、ステップS86に遷移する。
【0037】
また、ステップS85において、故障箇所特定部0113は、故障箇所を、通信経路に使用されなくなった通信路のうち、以前の通信経路で最も通信親局011に近い通信路と特定する。そして、処理を終了し、開始状態に戻る。また、ステップS86において、故障箇所特定部0113は、故障箇所なしと判定し、処理を終了し、開始状態に戻る。このように、分散制御システム01に通信障害が発生したときに、故障箇所特定部0113が故障箇所なしと判定する場合は、通信の一時的な異常と推定できる。また、本実施例では、通信親局011が、通信子局012のK1からの通知を受信しないため、ステップS82の判定が負(NO)となり、通知のない通信子局012のK1の故障と特定できる。つまり、ステップS84~S85で、分散制御システム01で発生した通信障害の要因を特定することになる。
【0038】
以上、本実施例によれば、実施例1で説明した処理を同様に実施することで、各通信子局012における、通信親局011との通信可能であるか、通信可能である場合はどの通信路を使用するか、という情報が通信親局011に集約される。このため、故障箇所の特定が可能であり、また故障が発生した分散制御システム01における、通信子局012への迂回経路の生成が可能である。その他、分散制御システム01を適用した場合の効果は実施例1と同様である。
【実施例0039】
次に、実施例3は、実施例1や実施例2に対して表示機能を追加している。図9は、本実施例における分散制御システム01の構成例を示す図である。図9は、通信子局012のK1とK2の間の通常通信路0130が故障している場合の上流ポート051の変更処理後を示した例である。ここで、通信子局012のK2は上流ポート051に縮退通信路0131を介してK4と接続する通信ポートが選択されている。表示装置900は、通信親局011と接続され、通信親局011から分散制御システム01の通信経路情報を取得する。ここで、表示装置900は、PC、タブレット等のコンピュータで実現できる。また、表示装置900には、分散制御システム01を制御する制御機能が設けられてもよい。次に、この表示装置900での表示内容について説明する。
【0040】
図10は、本実施例における表示装置900での表示例を示す図である。図10において、表示装置900の表示画面1000は、システム状態表示ウィンドウ1001と、通信経路ウィンドウ1002と、ログ監視ウィンドウ1003を備える。なお、これらウィンドウは表示領域の一例であり、他の態様で表示してもよい。これら各ウィンドウのうち、システム状態表示ウィンドウ1001は、分散制御システム01のネットワーク構成および通信子局012、通信路の故障状態を表示する。また、システム状態表示ウィンドウ1001は、ユーザが直感的に分散制御システム01の故障箇所、通信経路を認識するために使用される。
【0041】
また、通信経路ウィンドウ1002は、各通信子局012の接続状態、上流ポートの変更有無、通信経路情報などを表示する機能を有する。さらに、通信経路ウィンドウ1002は、各通信子局012の通信経路を表示することで、ユーザが、分散制御システム01に発生した故障によって影響を受けた通信子局012を分析するために使用される。ログ監視ウィンドウ1003は、通信経路生成を実行した際の、実行時刻と、実行理由である分散制御システム01で検知された通信異常と、特定された故障箇所を表示する機能を有する。
【0042】
以上の本実施例によれば、分散制御システム01は、障害箇所をユーザに伝えることができ、分散制御システム01のダウンタイム削減、メンテナンスの効率化が可能である。
【0043】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例や応用例が含まれる。ここで、本発明の一応用例について説明する。図11は、各実施例の応用例を示す図である。本応用例は、サーバ装置9000により、複数の分散制御システム01を管理可能としている。そして、サーバ装置9000は、ネットワーク9001および表示装置900と接続する。表示装置900は、サーバ装置9000に対して各種指示を入力したり、サーバ装置9000の処理結果を出力したりする。この出力には、実施例3の表示例が含まれる。また、サーバ装置9000は、いわゆるコンピュータで実現でき、クラウドシステム、と称することができる。また、サーバ装置9000と表示装置900は、1つの装置で実現してもよい。
【0044】
また、サーバ装置9000は、インターネットのようなネットワーク9001を介して、複数の分散制御システム01と接続する。この結果、サーバ装置9000は、各分散制御システム01で作成された通信経路を受信することができる。なお、各実施例1における通信親局011の少なくとも一部を、サーバ装置9000で実行してもよい。特に、通信経路の作成を、サーバ装置9000で実行できる。以上で、応用例の説明を終わる。
【0045】
上記の各実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0046】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。また、通信路は説明上必要と考えられるものを示しており、分散制御システム01を適用する製品上必ずしも全ての通信路を示しているとは限らない。
【0047】
以上の各実施例においては、分散制御システム01の通信経路及び故障発生の際の迂回経路を同様の手順で生成可能であり、また故障箇所を特定することができる。また、通信経路作成のための定期的な通信を抑止できる。このため、通信帯域を圧迫しないため、制御通信の実時間性を担保可能であり、通信子局012は自身以外の通信子局の通信経路情報を記憶する必要がないため、分散制御システム01の規模に応じた記憶容量を抑制できる。ざらに、各実施例では、通信経路の作成のために、必ずしも定期的な通信を行う必要はない。
【符号の説明】
【0048】
01 分散制御システム
011 通信親局
0110 通信親局の通信ポート
0111 上流ポート記憶部
0112 通信経路記憶部
0113 故障箇所特定部
012 通信子局
0120 通信子局の通信ポート
0130 通常通信路
0131 縮退通信路
02 ルーティングパケット
050 上流ポート通知
051 上流ポート
052 下流ポート
060 通信子局の故障
900 表示装置
901 通信路の故障
1000 表示画面
1001 システム状態表示ウィンドウ
1002 通信経路ウィンドウ
1003 ログ監視ウィンドウ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11