(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025023715
(43)【公開日】2025-02-17
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G05B 19/042 20060101AFI20250207BHJP
【FI】
G05B19/042
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023128093
(22)【出願日】2023-08-04
(71)【出願人】
【識別番号】000006666
【氏名又は名称】アズビル株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】齋藤 寅之輔
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA01
5H220AA04
5H220AA09
5H220BB07
5H220CC06
5H220CC09
5H220CX01
5H220JJ12
5H220JJ26
5H220KK03
(57)【要約】
【課題】分散制御システムにおいて、特定のデータを各装置で容易に共有すること。
【解決手段】本実施形態に係る情報処理装置100は、同一ネットワーク内に配置された複数の情報処理装置により分散制御が行わる分散制御システムを構成する情報処理装置であって、データ処理部121と、更新部122と、データ送信部123と、判定部124とを有する。データ処理部121は、所定の入力に基づいて、データの設定を行う。更新部122は、データ処理部121によりデータの設定が行われるたびに、当該データの設定が行われた時刻に関する情報を更新する。データ送信部123は、データ処理部121により設定が行われたデータを、分散制御システムを構成する他の情報処理装置に送信する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
同一ネットワーク内に配置された複数の情報処理装置により分散制御が行わる分散制御システムを構成する情報処理装置であって、
所定の入力に基づいて、データの設定を行うデータ処理部と、
前記データ処理部により前記データの設定が行われるたびに、当該データの設定が行われた時刻に関する情報を更新する更新部と、
前記データ処理部により設定が行われたデータを、前記分散制御システムを構成する他の情報処理装置に送信するデータ送信部と、
を有することを特徴とする情報処理装置。
【請求項2】
前記分散制御システムを構成する各装置の従属関係に関する情報に基づいて、自装置の従属関係の種類を判定する判定部をさらに有する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記データ送信部は、前記判定部により自装置がマスターノードであると判定された場合に、前記データ処理部によって設定が行われたデータを、前記他の情報処理装置に送信する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記データ処理部は、前記判定部により自装置がマスターノードではないと判定された場合に、マスターノードである装置から送信された前記データの入力に基づいて、前記データの設定を行う
ことを特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記判定部は、前記従属関係に関する情報によりマスターノードと設定された装置と自装置との通信に異常が発生した場合に、前記従属関係に関する情報に基づき、自装置が仮マスターノードであるか否かを判定し、
前記データ送信部は、前記判定部により自装置が仮マスターノードであると判定された場合に、前記データ処理部によって設定が行われたデータを、前記他の情報処理装置に送信する
ことを特徴とする請求項2に記載の情報処理装置。
【請求項6】
同一ネットワーク内に配置された複数の情報処理装置により分散制御が行わる分散制御システムを構成する情報処理装置によって実行される情報処理方法であって、
所定の入力に基づいて、データの設定を行うデータ処理工程と、
前記データ処理工程により前記データの設定が行われるたびに、当該データの設定が行われた時刻に関する情報を更新する更新工程と、
前記データ処理工程により設定が行われたデータを、前記分散制御システムを構成する他の情報処理装置に送信するデータ送信工程と、
を含むことを特徴とする情報処理方法。
【請求項7】
同一ネットワーク内に配置された複数の情報処理装置により分散制御が行わる分散制御システムを構成する情報処理装置としてのコンピュータに、
所定の入力に基づいて、データの設定を行うデータ処理手順と、
前記データ処理手順により前記データの設定が行われるたびに、当該データの設定が行われた時刻に関する情報を更新する更新手順と、
前記データ処理手順により設定が行われたデータを、前記分散制御システムを構成する他の情報処理装置に送信するデータ送信手順と、
を実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
今日、工業プラントやビルなどの大規模施設に設けられた各種設備を複数の操作者により運転・監視する際、分散制御システム(Distributed Control System:DCS)に代表される設備管理システムが用いられる。DCSは、プラント内における作業の内容に合わせて、マスターのPC(Personal Computer)から複数のスレーブのPCに分岐して構成される場合がある。
【0003】
また、DCSでは、単一のシステム内で操作者の資格や権限に応じて運転監視画面を出力するという管理手法がとられる場合がある(例えば、特許文献1参照)。この場合、操作者を判別するユーザ名やパスワードなどの操作者ごとのセキュリティに関する情報はシステム内で共通の情報として管理される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来の技術では、分散制御システムにおいて、特定のデータを各装置で容易に共有することができない場合がある。例えば、従来技術は、操作者を判別するユーザ情報などのシステム内で共有される情報について、エンジニアが各装置に個別に設定したり、当該情報を集中的に管理するドメインコントローラを新たに導入する必要があったりし、容易に当該情報を共有することができない。
【課題を解決するための手段】
【0006】
前述した課題を解決するために、本発明の情報処理装置は、同一ネットワーク内に配置された複数の情報処理装置により分散制御が行わる分散制御システムを構成する情報処理装置であって、所定の入力に基づいて、データの設定を行うデータ処理部と、データ処理部によりデータの設定が行われるたびに、当該データの設定が行われた時刻に関する情報を更新する更新部と、データ処理部により設定が行われたデータを、分散制御システムを構成する他の情報処理装置に送信するデータ送信部とを有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、分散制御システムにおいて、特定のデータを各装置で容易に共有することができるという効果を奏する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る情報処理装置を含むDCSシステムを示す図である。
【
図2】
図2は、従来技術におけるDCSシステムの構成例と、本実施形態に係るDCSシステムの構成例とを示す図である。
【
図3】
図3は、実施形態に係る情報処理装置の構成例を示す図である。
【
図4】
図4は、実施形態に係る情報処理装置に記憶されるデータの具体例を示す図である。
【
図5】
図5は、実施形態に係る情報処理装置に記憶されるデータの具体例を示す図である。
【
図6】
図6は、実施形態に係る情報処理装置に記憶されるデータの具体例を示す図である。
【
図7】
図7は、実施形態に係る目的データの具体例を示す図である。
【
図8】
図8は、実施形態に係る仮マスターノードの処理について説明する図である。
【
図9】
図9は、実施形態に係る情報処理装置の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。
【0010】
〔1.はじめに〕
まず、本実施形態に係る情報処理装置100を含むDCSシステムについて説明する。
図1は、実施形態に係る情報処理装置を含むDCSシステムを示す図である。
図1の例では、情報処理装置100-1~100-3と、セキュリティゲートウェイと、制御コントローラとが有線又は無線で接続され、DCSシステムが構成されている。
【0011】
また、DCSシステム内の制御系ネットワークから、セキュリティゲートウェイを介することにより、DCSシステムに属する制御コントローラと、外部の情報系ネットワーク上の設備管理者等が有する情報処理端末とで、情報の送受信が行われる。
【0012】
ここで、DCSシステムを構成する情報処理装置100(以下、ノードとも呼称)は、システム内の他の情報処理装置と連携して、相互に通信・監視を行う情報処理端末であり、例えば、PC(Personal Computer)により実現される。
【0013】
また、DCSシステムを構成するノードには、それぞれノード番号が付され、各ノードを判別することができる。
図1の例では、情報処理装置100-1にはNode1が付され、情報処理装置100-2にはNode2が付され、情報処理装置100-3にはNode3が付されている。
【0014】
なお、DCSシステムを構成するノードの台数は、
図1の例に限られず、システムの管理者や各設備の操作者の希望により、任意の数に増減させることができるものとする。
【0015】
次に、従来のDCSシステムにおける問題点について説明する。近年では、コンピュータの処理能力の向上により、システム上にサーバ装置を設置することなく、PC台数を少なく抑えたDCSシステムが構成されている。そして、前述したとおり、DCSシステムにおいて、単一のシステム内で操作者の資格や権限に応じて運転監視画面を出力するという管理手法がとられる場合がある。このような場合にあっては、DCSシステム内の全てのPCで、操作者ごとのアカウント情報を共有することを要する。
【0016】
そこで、従来では、LAN(Local Area Network)内におけるユーザアカウントのログオン認証やデータを集中的に管理するソフトウェア、及び、それを稼働させるコンピュータであるドメインコントローラをDCSシステム内に導入することにより、操作者ごとのアカウント情報を一元管理している。
【0017】
ここで、従来技術におけるドメインコントローラを導入した場合のDCSシステムの構成例について説明する。
図2は、従来技術におけるDCSシステムの構成例と、本実施形態に係るDCSシステムの構成例とを示す図である。
図2の(1)には、ドメインコントローラを導入した場合のDCSシステムの構成例が示されており、
図2の(2)には、本実施形態に係るDCSシステムの構成例が示されている。
【0018】
図2の(1)において、「操作・監視HMI」、「監視画面配信サーバ」、「監視画面クライアント」、「データ収集・保存」は、それぞれDCSシステムを構成するPCである。DCSシステム内にドメインコントローラを導入することにより、操作者ごとのアカウント情報を一元管理して各PCと連携することができる。その結果、各PCは、操作者の資格や権限に応じて運転監視画面を出力することができる。
【0019】
しかし、DCSシステム内にドメインコントローラを導入することにおいて、いくつかの問題がある。前述したとおり、DCSシステムにサーバ装置が存在しない場合には、ドメインコントローラ用としてPCを新たに追加することになるため、導入費用がかかる。また、既存の設備に新たにドメインコントローラを追加する際には、各PCをドメインコントローラの管理下とするためのエンジニアリング作業によりシステム停止を要する等導入時の作業コストがかかる。
【0020】
前述した従来技術の問題点に鑑みて、本実施形態に係るDCSシステムは、ドメインコントローラ等の特定のデータを集中管理する装置を導入することなく、特定のデータを各装置で容易に共有することができる。ここで、
図2の(2)を参照し、本実施形態に係るDCSシステムの構成例について説明する。
図2の(2)では、
図2の(1)に示したドメインコントローラを導入することなく、各PCで特定のデータを共有する構成例が示されており、各PCが後述する情報処理装置100の処理を行うことにより実現される。
【0021】
本実施形態に係るDCSシステムを構成する情報処理装置100は、所定の入力に基づいてデータの設定を行い、データの設定が行われるたびに、当該データの設定が行われた時刻に関する情報を更新する。そして、情報処理装置100は、設定が行われたデータを、DCSシステムを構成する他の情報処理装置に送信する。
【0022】
例えば、情報処理装置100は、エンジニアや作業員による設備への設定入力により編集が行われたデータについて、編集が行われた最新のデータファイルを作成し、最新のデータファイルの作成に伴い、有効なデータファイルを判別する情報として記憶されているデータファイルの設定日時を、最新のデータファイルの作成日時に更新する。そして、情報処理装置100は、例えば、最新のデータファイルを、DCSシステムを構成する他のノードに送信する。
【0023】
これにより、情報処理装置100は、DCSシステムを構成する特定のノードにおいて編集された最新のファイルを、他のノードと共有することができるため、ドメインコントローラ等の特定のデータを集中管理する装置を導入することなく、特定のデータを各装置で容易に共有することができる。なお、情報処理装置100は、他のネットワークシステムではなく、一種の独立したシステムであるDCSシステムにおいて、前述の処理を行うことにより、特定のデータをDCSシステム内の各装置で容易に共有することができる。
【0024】
〔2.情報処理装置100の構成〕
続いて、
図1に示した情報処理装置100の構成を説明する。
図3は、実施形態に係る情報処理装置の構成例を示す図である。
図3に示すように、実施形態に係る情報処理装置100は、通信部110と、制御部120と、記憶部130とを有する。
【0025】
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、DSCシステムを構成する他の情報処理装置100-2~100―nのそれぞれと有線又は無線で接続され、情報の送受信を行う。
【0026】
記憶部130は、例えば、RAM(Random Access Memory)やハードディスク等の記憶装置によって実現される。記憶部130は、制御部120による各種処理に必要なデータ及びプログラムを格納するが、特に本発明に密接に関連するものとしては、目的データ記憶部131と、保証データ記憶部132と、従属データ記憶部133とを有する。
【0027】
目的データ記憶部131は、エンジニアや作業員により設定・編集された目的のデータについて記憶する。ここで、目的のデータとは、DCSシステム内のノード全体で共有するように設定された情報で構成されたデータファイルであり、例えば、操作者ごとのアカウント情報や、USB(Universal Serial Bus)デバイスの設定情報等のファイルである。
【0028】
ここで、目的データ記憶部131に記憶されるデータの具体例について説明する。
図4は、実施形態に係る情報処理装置に記憶されるデータの具体例を示す図である。
図4の例では、目的データ記憶部131は、「ファイル内容」と「保存ファイル」との項目により構成される。「ファイル内容」は、設定・編集が行われたファイルの内容について記憶し、「保存ファイル」は、対応するファイル内容について、これまでに保存されたファイルについて記憶する。
【0029】
例えば、目的データ記憶部131は、「ファイル内容:パスワード設定」について、「ファイル1、ファイル2、ファイル3・・・」のように、これまでに設定・編集が行われた過去のファイル履歴を参照することができるように順にファイルを記憶する。なお、情報処理装置100は、目的データ記憶部131に記憶されたファイルが一定数以上蓄積された場合には、古いファイルを削除する処理を行ってもよい。
【0030】
保証データ記憶部132は、前述の目的データ記憶部131に記憶されているデータのうち、有効なデータ(最新のデータ)を示す情報を記憶する。ここで、保証データ記憶部132に記憶されるデータの具体例について説明する。
図5は、実施形態に係る情報処理装置に記憶されるデータの具体例を示す図である。
図5の例では、保証データ記憶部132は、「ファイル内容」と「有効ファイル」と「更新日時」との項目により構成される。
【0031】
「有効ファイル」は、目的データ記憶部131に記憶されているデータのうち、有効なデータ(最新のデータ)のファイル名等を記憶し、「更新日時」は、有効ファイルが更新された日時について記憶する。例えば、保証データ記憶部132は、「ファイル内容:パスワード設定」について、「有効ファイル:ファイル4」と、「更新日時:2023/7/1 12:00」とを紐づけて記憶する。なお、保証データ記憶部132に記憶されるデータは、新たに作成されたファイルが設定されるたびに上書きすることで更新され、有効なデータ(最新のデータ)のみが記憶されるものとする。
【0032】
従属データ記憶部133は、DCSシステムを構成するノードの従属関係についての情報を記憶する。ここで、従属データ記憶部133に記憶されるデータの具体例について説明する。
図6は、実施形態に係る情報処理装置に記憶されるデータの具体例を示す図である。
図6の例では、従属データ記憶部133は、「マスターノード」と「更新日時」と「仮マスターノード判別方法」との項目により構成される。
【0033】
「マスターノード」は、DCSシステムにおいて、予めマスターノードと設定されたノードのノード番号について記憶し、「更新日時」は、マスターノードのノード番号の設定が更新された日時について記憶する。また、「仮マスターノード判別方法」は、DCSシステムにおいて、マスターノードとの通信が異常となった場合に、仮マスターノードとなるノードの判別方法について記憶する。
【0034】
ここで、マスターノードとは、複数のスレーブノードと従属関係を構成するノードであって、例えば、ファイルの編集が許可されるノードである。一方で、スレーブノードは、例えば、ファイルの閲覧のみが可能なノードであり、マスターノードからのファイルの受信によって、マスターノードと特定のデータを共有する。また、仮マスターノードとは、マスターノードとの通信に異常が発生した場合に、マスターノードが復旧するまで、マスターノードと同様の処理を行うことができるように設定されたノードである。
【0035】
例えば、従属データ記憶部133は、「マスターノード:Node1」と、「更新日時:2023/7/3 9:00」と、「仮マスターノード判別方法:通信可能なノードのうち、ノード番号が一番小さいノード」とを、従属関係に関する情報として記憶する。なお、従属データ記憶部133に記憶されるデータは、従属関係に関するデータの変更のたびに上書きすることで更新され、有効なデータ(最新のデータ)のみが記憶されるものとする。
【0036】
図3の説明に戻る。制御部120は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部120は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現される。制御部120は、データ処理部121と、更新部122と、データ送信部123と、判定部124とを有する。
【0037】
データ処理部121は、所定の入力に基づいて、データの設定を行う。例えば、データ処理部121は、エンジニアや作業員による入力により編集が行われた目的データについて、編集内容の設定を行い、編集後の内容の新しいファイルを作成する。その後、データ処理部121は、作成した新しいファイルを、目的データの内容に応じて、目的データ記憶部131に格納する。
【0038】
ここで、データ処理部121により設定が行われる目的データについて説明する。
図7は、実施形態に係る目的データの具体例を示す図である。
図7では、エンジニアのパスワード変更についての目的データの例が示されている。データ処理部121は、
図7に示す画面例への、「ユーザ名:engineer」のパスワード変更の入力により、「ユーザ名:engineer」に新しいパスワードを設定し、新たに設定した情報について作成したファイルを目的データ記憶部131に格納する。
【0039】
なお、目的データの内容は、
図7に示したパスワードの設定に限られるものではなく、例えば、パスワード長さやパスワードの有効期間等のパスワードに関するポリシー情報や、ユーザ名やアクセス制限等のユーザ情報、外付けデバイスの取り外しに関する情報であってもよい。
【0040】
図3の説明に戻る。また、データ処理部121は、判定部124により自装置がマスターノードではないと判定された場合に、マスターノードである装置から送信されたデータの入力に基づいて、データの設定を行う。例えば、データ処理部121は、後述する判定部124により、自装置がマスターノードではないと判定された場合に、マスターノードから送信されたファイルの入力により、当該ファイルを目的データ記憶部131に格納する。
【0041】
これにより、データ処理部121は、目的データの編集が許可されていないスレーブノードにおいて、マスターノードで編集が行われた有効なファイルを保存することができる。なお、データ処理部121は、従属関係を構成していないノーマルノード同士においても、他のノードから送信されたファイルの入力により、当該ファイルを目的データ記憶部131に格納することができる。
【0042】
更新部122は、データ処理部121によりデータの設定が行われるたびに、当該データの設定が行われた時刻に関する情報を更新する。例えば、更新部122は、データ処理部121により、新たなデータファイルが作成されるたびに、最新のデータファイルの情報を、保証データ記憶部132の有効ファイルに上書きして更新し、また、更新した日時についてもタイムスタンプにより更新する。
【0043】
なお、更新部122について、前述の処理では、データ処理部121により新たなデータファイルが作成されるたびに有効なファイルの情報の更新をする処理について説明したが、これに限られず、例えば、外部からの入力により、目的データ記憶部131に記憶された過去のファイルを有効なファイルとして更新することができる。また、これに伴い、後述するデータ送信部123は、有効なファイルとして更新された過去のファイルを、他のノードに送信する。
【0044】
これにより、情報処理装置100は、最新の編集が行われる前の過去のファイルの設定を復元することができ、復元したファイルを有効なファイルとしてノード全体で共有することができる。
【0045】
データ送信部123は、データ処理部121により設定が行われたデータを、分散制御システムを構成する他の情報処理装置に送信する。例えば、データ送信部123は、目的データ記憶部131に記憶された情報と、保証データ記憶部132に記憶された情報とを参照し、目的データ記憶部131に記憶された有効なファイルを、DCSシステムを構成する他のノードに送信する。
【0046】
また、データ送信部123は、判定部124により自装置がマスターノードであると判定された場合に、データ処理部121によって設定が行われたデータを、他の情報処理装置に送信する。さらに、データ送信部123は、判定部124により自装置が仮マスターノードであると判定された場合に、データ処理部121によって設定が行われたデータを、他の情報処理装置に送信する。
【0047】
例えば、データ送信部123は、後述する判定部124により、自装置がマスターノードまたは仮マスターノードであると判別された場合に、目的データ記憶部131に記憶された有効なファイルを、DCSシステムを構成するスレーブノードに送信する。
【0048】
判定部124は、分散制御システムを構成する各装置の従属関係に関する情報に基づいて、自装置の従属関係の種類を判定する。例えば、判定部124は、従属データ記憶部133に記憶された情報を参照し、起動時にマスターノードのノード番号が自装置のノード番号であった場合には、自装置をマスターノードと判定し、起動時にマスターノードのノード番号が他の装置のノード番号であった場合には、自装置をスレーブノードと判定し、起動時にマスターノードのノード番号が「NULL」または「0」、「空白」であった場合には、自装置をノーマルノードと判定する。
【0049】
本実施形態に係るDCSシステムは、従属関係に関する情報の設定により、従属関係を持つノード群と、従属関係を持たないノード群とのいずれかを構成することができる。以下では、マスターノードとスレーブノードとから構成される(従属関係を持つ)ノード群と、ノーマルノードのみで構成される(従属関係を持たない)ノード群とについて、その特徴とデータの共有方法を説明する。
【0050】
まず、マスターノードとスレーブノードとから構成されるノード群について説明する。マスターノードとスレーブノードとから構成されるノード群は、一つのマスターノードと複数のスレーブノードとで構成されるシステムであり、マスターノードのみにデータの編集が許可され、スレーブノードには、データの閲覧のみが許可される。そのため、データの変更が行われる箇所をマスターノードのみに制限することができるため、アクセス管理を容易に行うことができるという特徴がある。なお、当該構成では、データの整合性を保つために、マスターノードが最初に起動される。
【0051】
例えば、マスターノードは、通常時には、最初に起動されるためデータは送受信されないのに対し、異常が発生して仮マスターノードが起動している場合には、その起動時に、自ノードのデータと起動済みの仮マスターノードのデータとを比較し、自ノードのデータが最新または更新日時が同じの場合には、データをスレーブノードに送信する。一方、自ノードのデータの方が古い場合には、仮マスターノードのデータを受信する。スレーブノードは、その起動時に、マスターノードから最新のデータを受信する。これにより、マスターノードとスレーブノードとから構成されるノード群は、システム内のノード全体でデータを共有することができる。
【0052】
次に、ノーマルノードのみから構成されるノード群について説明する。ノーマルノードのみから構成されるノード群は、複数のノーマルノードから構成されるシステムであり、全てのノーマルノードにデータの編集が許可される。そのため、個別のノードのセットアップ作業を容易に行うことができるという特徴がある。
【0053】
例えば、ノーマルノードは、その起動時に、自ノードのデータと他のノードのデータとを比較し、自ノードのデータの方が古い場合には、最新のデータを有するノードから最新のデータを受信する。一方で、自ノードのデータが最新、または、更新日時が同じ場合には、データを他のノードに送信する。これにより、ノーマルノードのみから構成されるノード群は、システム内のノード全体でデータを共有することができる。
【0054】
なお、前述した、マスターノードとスレーブノードとからなるノード群と、ノーマルノードのみからなるノード群とは、従属関係に関するデータを更新することにより、変更される。以下では、従属関係に関するデータの変更の入力がされた操作対象のノードで行われる処理と、他のノードで行われる処理とについて説明する。
【0055】
例えば、操作対象のノードは、データ処理部121が従属関係に関するデータの変更内容を設定した後、データ送信部123が変更後の従属関係に関するデータを他のノードに送信する。その後、操作対象のノードは制御部120を再起動することにより、判定部124が変更後の従属関係に関するデータを参照し、ノードの種類を判定する。これに対し、他のノードは、データ処理部121が操作対象のノードから送信された変更後の従属関係に関するデータを設定した後、制御部120を再起動することにより、判定部124が変更後の従属関係に関するデータを参照し、ノードの種類を判定する。
【0056】
前述の処理により、各ノードは、操作対象のノードへの従属関係に関するデータの変更がされた場合に、変更後の従属関係に関するデータをノード全体で共有し、速やかに変更後の従属関係を反映したシステムを構成する。
【0057】
判定部124は、従属関係に関する情報によりマスターノードと設定された装置と自装置との通信に異常が発生した場合に、従属関係に関する情報に基づき、自装置が仮マスターノードであるか否かを判定する。例えば、判定部124は、自装置をスレーブノードと判定し、かつ、マスターノードとの通信に異常が発生した場合に、従属データ記憶部133に記憶された「仮マスターノード判別方法:通信可能なノードのうち、ノード番号が一番小さいノード」を参照し、自装置が通信可能なノードの中でノード番号が一番小さいノードであるか否かを判定する。
【0058】
ここで、マスターノードに異常が発生し、仮マスターノードにより処理が代行される場合について説明する。
図8は、実施形態に係る仮マスターノードの処理について説明する図である。
図8の例では、マスターノードの通信に異常が発生した場面と、仮マスターノードにより処理が代行されている場面と、マスターノードの通信の異常が解消され、ネットワークに復帰した場面とについて、順に示されている。
【0059】
また、
図8の例では、「操作・監視HMI:Node1」、「監視画面配信サーバ:Node2」、「監視画面クライアント:Node3」、「データ収集・保存:Node4」とで従属関係が構成されており、「Node1」がマスターノードで、「Node2」~「Node4」がスレーブノードとなっている。なお、「制御コントローラ:Node9」は、「Node1」~「Node4」とアクセス管理が不要のため、データの共有が行われない。
【0060】
まず、マスターノードである「Node1」で通信に異常が発生したことにより、マスターノードとスレーブノードとの通信が切断される。すると、それぞれのスレーブノードの判定部124は、マスターノードとの通信に異常が発生したと判断して、「仮マスターノード判別方法:通信可能なノードのうち、ノード番号が一番小さいノード」を参照し、自ノードが仮マスターノードであるか否かを判定する。
【0061】
そして、「Node2」の判定部124は、自ノードと通信可能な「Node3」及び「Node4」のうち、自ノードのノード番号が一番小さいと判断し、自ノードを仮マスターノードと判定する。その結果、「Node2」がマスターノードの処理を代行するため、「Node2」でデータ編集が可能となり、また、「Node2」から「Node3」及び「Node4」にデータが送信され、通信可能なノード全体でデータが共有される。
【0062】
その後、「Node1」の通信異常が解消され、ネットワークに復帰したことにより、「Node1」と「Node2」~「Node4」のそれぞれとの通信が復旧する。復帰した「Node1」は、仮マスターノードであった「Node2」と、所有するデータの比較を行い、「Node2」から最新の(有効な)データを受信する。一方で、仮マスターノードであった「Node2」は、マスターノードとの通信が正常となったため、スレーブノードに戻る。
【0063】
前述した一連の処理により、各ノードは、マスターノードに異常が発生した場合であっても、仮マスターノードによって処理が代行されるため、処理が中断されることなく、ノード全体でデータを共有することができる。なお、仮マスターノードが処理を代行している際に、仮マスターノードよりもノード番号が小さいノードが追加された場合であっても、ノード番号が小さいことによる仮マスターノードの入れ替えは起こらないものとする。
【0064】
〔3.情報処理装置による処理手順〕
次に、
図9を用いて、実施形態に係る情報処理装置100による処理手順の一例について説明する。
図9は、実施形態に係る情報処理装置における処理手順の一例を示すフローチャートである。なお、下記の各ステップは異なる順序で実行することもでき、また、省略される処理があってもよい。また、以下では、一例として、マスタースレーブのノード構成で、データが編集された場合の処理について説明する。
【0065】
情報処理装置100の判定部124は、まず、自装置がマスターノードであるか否かを判定する(S101)。自装置がマスターノードであると判定した場合には(S101;Yes)、データ処理部121は、外部からの目的データに対する編集入力により、編集内容を設定し、編集後の目的データのファイルを作成する(S102)。
【0066】
そして、更新部122は、保証データの内容を更新する(S103)。その後、データ送信部123は、作成された目的データと保証データのファイルとを他のノードに送信する(S104)。そして、情報処理装置100は、工程を終了する。
【0067】
一方で、自装置がマスターノードでないと判定した場合には(S101;No)、データ処理部121は、マスターノードから受信したファイルを設定する(S105)。その後、更新部122は、保証データの内容を更新する(S106)。そして、情報処理装置100は工程を終了する。
【0068】
〔4.実施形態の効果〕
前述してきたように、本実施形態に係る情報処理装置100は、同一ネットワーク内に配置された複数の情報処理装置により分散制御が行わる分散制御システムを構成する情報処理装置であって、データ処理部121と、更新部122と、データ送信部123とを有する。
【0069】
データ処理部121は、所定の入力に基づいて、データの設定を行う。更新部122は、データ処理部121によりデータの設定が行われるたびに、当該データの設定が行われた時刻に関する情報を更新する。データ送信部123は、データ処理部121により設定が行われたデータを、分散制御システムを構成する他の情報処理装置に送信する。
【0070】
これにより、情報処理装置100は、外部からの編集により設定された特定のデータについて、データの設定時刻の更新と、他のノードへのデータ送信とにより、最新の設定時刻と対応する最新のデータを他のノードと共有することができるため、分散制御システムにおいて、特定のデータを各装置で容易に共有することができる。
【0071】
また、情報処理装置100は、分散制御システムを構成する各装置の従属関係に関する情報に基づいて、自装置の従属関係の種類を判定する判定部124をさらに有する。これにより、情報処理装置100は、予め設定された従属関係に関する情報から、自装置がマスターノードと、スレーブノードと、ノーマルノードとのいずれかを判定することができるため、従属関係に関する情報に対応したシステムを構成することができる。
【0072】
さらに、情報処理装置100は、判定部124により自装置がマスターノードであると判定された場合に、データ処理部121によって設定が行われたデータを、他の情報処理装置に送信する。これにより、情報処理装置100は、自装置がマスターノードである場合にのみ、特定のデータをスレーブノードへと送信するため、データの変更・送信が行われる箇所をマスターノードのみに制限することができ、アクセス管理を容易に行わせることができる。
【0073】
また、情報処理装置100は、判定部124により自装置がマスターノードではないと判定された場合に、マスターノードである装置から送信されたデータの入力に基づいて、データの設定を行う。これにより、情報処理装置100は、自装置がスレーブノードである場合に、マスターノードからの最新のデータの受信により、最新のデータの内容を設定することができる。
【0074】
さらに、情報処理装置100は、従属関係に関する情報によりマスターノードと設定された装置と自装置との通信に異常が発生した場合に、従属関係に関する情報に基づき、自装置が仮マスターノードであるか否かを判定する。そして、情報処理装置100は、自装置が仮マスターノードであると判定された場合に、データ処理部121によって設定が行われたデータを、他の情報処理装置に送信する。
【0075】
これにより、情報処理装置100は、ネットワーク内のマスターノードに異常が発生した場合であっても、仮マスターノードによってデータの送信処理が代行されるため、ノード全体でデータを共有することができる。
【0076】
〔5.ハードウェア構成〕
前述した、実施形態に係る情報処理装置100は、例えば、
図10に示すような構成のコンピュータ1000によって実現される。
図10は、ハードウェア構成の一例を示す図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、補助記憶装置1400、通信I/F(インタフェース)1500、入出力I/F(インタフェース)1600が、バス1800により接続された形態を有する。
【0077】
CPU1100は、ROM1300又は補助記憶装置1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0078】
補助記憶装置1400は、CPU1100によって実行されるプログラム、および、係るプログラムによって使用されるデータ等を格納する。通信I/F1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
【0079】
CPU1100は、入出力I/F1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入出力装置1700を制御する。CPU1100は、入出力I/F1600を介して、入出力装置1700からデータを取得する。また、CPU1100は、生成したデータについて入出力I/F1600を介して入出力装置1700へ出力する。
【0080】
例えば、コンピュータ1000が本実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部120の機能を実現する。
【0081】
〔6.その他〕
前述の実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0082】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の通り構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0083】
前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述してきた実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0084】
また、前述してきた「部(section、module、unit)」は、「手段」や「回路」等に読み替えることができる。例えば、制御部は、制御手段や制御回路に読み替えることができる。
【0085】
以上、本発明の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【符号の説明】
【0086】
100、100-1~100-n 情報処理装置
110 通信部
120 制御部
121 データ処理部
122 更新部
123 データ送信部
124 判定部
130 記憶部
131 目的データ記憶部
132 保証データ記憶部
133 従属データ記憶部