JP2006048249A - 制御装置及び監視端末 - Google Patents

制御装置及び監視端末 Download PDF

Info

Publication number
JP2006048249A
JP2006048249A JP2004226097A JP2004226097A JP2006048249A JP 2006048249 A JP2006048249 A JP 2006048249A JP 2004226097 A JP2004226097 A JP 2004226097A JP 2004226097 A JP2004226097 A JP 2004226097A JP 2006048249 A JP2006048249 A JP 2006048249A
Authority
JP
Japan
Prior art keywords
monitoring
time
control device
data
shared memory
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.)
Pending
Application number
JP2004226097A
Other languages
English (en)
Inventor
Haruyuki Otani
治之 大谷
Daiki Masuda
大樹 増田
Katsuhide Sekikawa
勝秀 関川
Shoji Oda
昇司 小田
Shin Kanie
慎 蟹江
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004226097A priority Critical patent/JP2006048249A/ja
Publication of JP2006048249A publication Critical patent/JP2006048249A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 一時的な障害においては、データ送信側ノードとデータ受信側ノードとの共有メモリを無効化する順序を規定することにより、速やかに回復する手段を提供することを目的とする。
【解決手段】 制御装置は、監視端末からメッセージを受信する通信制御部と、監視対象のデータを記憶している共有メモリと、新たな監視対象のデータと共有メモリが先に記憶している監視対象のデータとが一致するか否かの比較を行い、一致しない場合、共有メモリに新たな監視対象のデータを書き込み、通信制御部に新たな監視対象のデータを送り、一致する場合、制御装置が正常に動作していることを示すハートビートデータを通信制御部に送る通常の処理を実行する監視タスク部と、通信制御部が監視端末へ監視対象の新たなデータとハートビートデータとのいずれかを送信した時刻を記憶する時刻記録部とを備える。
【選択図】 図1

Description

この発明は、制御装置から監視端末へデータを送信しているときに障害が発生した場合に、制御装置と監視端末とのそれぞれの共有メモリの内容の一貫性が保たれるようにメモリの管理を行う制御装置と監視端末に関する。
従来のノードで構成される分散共有メモリシステムにおける障害検出方法では、データ受信側ノードが、データ送信側ノードからデータが制限時間内に転送されてこないことを検出した場合、データ受信側ノードは、共有メモリのデータを不正データと差し替えることで、データリードの要求元に共有メモリが無効化されたことを示していた(例えば、特許文献1を参照)。
特開2004−13723号公報(第18頁、第1図)
しかしながら、従来の分散共有メモリシステムの障害検出方法では、単純にデータが制限時間内に到着しないことにより障害検出を行っていたため、データの差分を検出し、検出した差分のみをデータ送信側ノードからデータ受信側ノードに送る方法を用いた場合には、障害の発生によりデータが到達しないことと、送信すべき差分がないため送信しないこととを見分けることができない。その結果、差分だけを送ることにより、通信データ量の削減を行う方法を分散共有メモリシステムに適用することはできない。
また、データ受信側ノードは、障害を検出すると直ちに共有メモリのデータを無効化するため、通信ケーブルの活線挿抜などを原因とする一時的な障害においても、速やかに復旧することが困難であった。さらに、データ受信側ノードが、障害を検出して共有メモリを無効化したことを、データ送信側ノードに速やかに伝えることができなかった。
この発明はこのような問題点を解決するためになされたものであり、データの差分を検出し、検出した差分のみを送る分散共有メモリシステムにおいて、障害が発生したことを正確に検出することができるようにするとともに、一時的な障害においては、データ送信側ノードとデータ受信側ノードとの共有メモリを無効化する順序を規定することにより、速やかに回復する手段を提供することを目的とする。
通信ネットワークを介して監視端末と接続する制御装置は、監視対象のデータを記憶する制御装置側共有メモリと、新たな監視対象のデータと制御装置側共有メモリが記憶する監視対象のデータとが一致するか否かの比較を行い、一致しない場合、制御装置側共有メモリに新たな監視対象のデータを書き込み、新たな監視対象のデータを出力し、一致する場合、正常動作していることを示すハートビートデータを出力する監視タスク部と、監視タスク部が出力した新たな監視対象のデータとハートビートデータとを入力して前記監視端末へ送信する送信部とを備えることとした。
この発明によれば通信ネットワークを介して監視端末と接続する制御装置は、制御装置側共有メモリが監視対象のデータを記憶し、監視タスク部が新たな監視対象のデータと制御装置側共有メモリが記憶する監視対象のデータとが一致するか否かの比較を行い、一致しない場合、制御装置側共有メモリに新たな監視対象のデータを書き込み、新たな監視対象のデータを出力し、一致する場合、正常動作していることを示すハートビートデータを出力し、送信部が監視タスク部が出力した新たな監視対象のデータとハートビートデータとを入力して前記監視端末へ送信することができる。
実施の形態1.
以下に述べる実施の形態1では、制御装置が監視対象のデータを周期的に検査し、必要がある場合には、監視対象のデータを書き換えて監視端末へ送信するという制御装置と監視端末が正常動作している場合の実施の形態にについて説明する。なお、以下の説明においては、「監視対象のデータ」を「監視対象の識別子と値」と記載することもある。
通信ネットワークを介して監視端末と接続する制御装置101は、監視対象のデータを記憶する制御装置側共有メモリ110と、新たな監視対象のデータと制御装置側共有メモリ110が記憶する監視対象のデータとが一致するか否かの比較を行い、一致しない場合、制御装置側共有メモリ110に新たな監視対象のデータを書き込み、新たな監視対象のデータを出力し、一致する場合、正常動作していることを示すハートビートデータを出力する監視タスク部107と、監視タスク部107が出力した新たな監視対象のデータとハートビートデータとを入力して監視端末へ送信する送信部1051とを備える。
制御装置101の構成をさらに詳しく説明する。図1は実施の形態1における監視システムの構成を示す図である。
監視システムは、監視対象のデータを送信する制御装置101と監視対象のデータを制御装置101から受信する監視端末102とをネットワーク103により接続することで構成される。
制御装置101は、共有メモリ管理部104と通信制御部105とデータ送受信部106と監視タスク部107および時刻記録部108とから構成される。
共有メモリ管理部104は、共有メモリ管理テーブル109と共有メモリ110とを有する。共有メモリ管理テーブル109は、監視対象を識別する対象識別子と共有メモリ110上のアドレスとを組にしたテーブルである。共有メモリ管理部104は、このテーブルにアクセスしてアドレスを取得することで、共有メモリ110上での値の読み書きを行う。
監視タスク部107は、共有メモリ110に監視対象のその時点での値を書き込む。
また、監視タスク部107は、データ送受信部106と通信制御部105とを用いて、監視対象のデータ(対象識別子と値)を監視端末102に送信する。データ送受信部106は、送信するデータを一時的に保持するためのバッファ111を有する。
通信制御部105は、データを送信する送信部1051とデータを受信する受信部1052とから構成され、ネットワーク103を利用した通信の制御を行う部位であり、一般的には、TCP/IPのようなプロトコルスタックとLANカードのようなハードウェアから構成される。
監視端末102は、制御装置101から通信ネットワーク103を介して監視対象のデータとハートビートデータとを受信する受信部1122と、制御装置101から受信した監視対象のデータを記憶する監視端末側共有メモリ117と、受信部1122が制御装置101から監視対象のデータを受信した時刻とハートビートデータを受信した時刻とのうち、直前の時刻を記録する時刻記録部118と、所定の間隔で時刻を計測するタイマー管理部119と、タイマー管理部119が計測する所定の間隔毎に、時刻記録部118が記録している時刻と現在時刻とを比較し、時刻記録部118が記録している時刻が現在時刻より所定の間隔以前の時刻であった場合、通信に障害が発生したと判断する障害検出部115とを備える。
監視端末102は、さらに、障害検出部115が通信に障害が発生したと判断した場合、監視端末側共有メモリ117が記憶する監視対象のデータを消去する共有メモリ管理部114と、共有メモリ管理部114が監視端末側共有メモリ117が記憶する監視対象のデータを消去したことを示すメッセージを制御装置101へ送信する送信部1121とを備える。
監視端末102の構成をさらに詳しく説明する。
図1に示す監視端末102は、通信制御部112と、データ送受信部113と、共有メモリ管理テーブル116と共有メモリ117とを有する共有メモリ管理部114と、時刻記録部118とタイマー管理部119とを有する障害検出部115とから構成される。通信制御部112は、データを送信する送信部1121とデータを受信する受信部1122とから構成される。
次に、実施の形態1における制御装置101と監視端末102との動作について説明する。最初に、正常時の制御装置101と監視端末102の動作について説明した後、異常時の監視端末102の動作について説明する。
制御装置101の動作は次のようになる。
制御装置101は、監視タスク部107が、新たな監視対象のデータと制御装置側共有メモリ110が記憶する監視対象のデータとが一致するか否かの比較を行い、一致しない場合、制御装置側共有メモリ110に新たな監視対象のデータを書き込み、送信部1051に新たな監視対象のデータを送り、一致する場合、正常動作していることを示すハートビートデータを送信部1051に送るデータ判定工程と、送信部1051が、監視端末102へ新たな監視対象のデータとハートビートデータとのいずれかを送信する送信工程とからなる制御方法とを実行する。
まず、正常時の制御装置101の詳しい動作を図2に示すフローチャートを用いて説明する。
制御装置101上の監視タスク部107は、周期的に、監視対象の現在のデータを共有メモリ管理部104を通じて共有メモリ110に書き込む。例えば、制御装置101が数値制御装置の場合、X軸、Y軸などの軸が監視対象であり、共有メモリ110上に書き込まれるデータは軸の値である。図1では、X軸、Y軸の代わりに、A、Bという対象識別子を用いている。また、以下の説明では、上記の周期を1秒とする。
また、制御装置101から監視端末102に通信する際に、どれぐらいの時間通信が途絶えたら監視端末102に障害が発生と判断すべきかについて、予め、制御装置101から通知しておく。この時間は、上記で説明した通信の周期(1秒)よりも十分に大きな値である。ここでは、仮に、これを4秒とする。つまり、制御装置101から監視端末102への通信が、4秒以上途絶えたら、障害が発生したと判断する。
監視タスク部107は、監視対象の現在のデータを共有メモリ110に書き込む際、まず、監視対象が存在するか否かを確認し、(ステップS100)、存在する場合、(ステップS100でYesの場合)、共有メモリ110に書き込まれている監視対象の値を取り出し、これから書き込もうとする値と異なるか否かを判断する(ステップS101)。その結果、値が異なる場合(ステップS101でYesの場合)、監視タスク部107は、共有メモリ110に新たな値を書き込み(ステップS102)、データ送受信部106のバッファ111に監視対象の識別子とその新たな値を書き込み(ステップS103)、ステップS100へ戻る。ステップS101で値が異ならない、つまり値は同じであると判断した場合(ステップS101でNoの場合)、ステップS100へ戻る。ステップS100からステップS103までがデータ判定工程である。
このように値が異なるか否かの確認を行った上でデータ送受信部106のバッファ111に書き込むことにより、監視対象の数が増えた場合においても送信データ量を削減することができ、通信の効率化を図ることが可能となる。
ステップS100で確認した結果、存在しない場合(ステップS100でNoの場合)、データ送受信部106のバッファ111に監視対象の識別子と新たな値が書き込まれたか否かを判断する(ステップS104)。書き込まれたと判断した場合、(ステップS104でYesの場合)、監視タスク部107は、データ送受信部106に送信命令を出し(ステップS105)、送信命令を受けたデータ送受信部106は、通信制御部105の送信部1051を用いて、バッファ111に格納された1つまたは複数の監視対象の識別子と値とを監視端末102へと送る(ステップS106)。
ステップS104で書き込まれていないと判断した場合(ステップS104でNoの場合)、監視タスク部107は、通信制御部105の送信部1051を介して、監視端末102に対してハートビートデータを送信する(ステップS107)。ステップS104からステップS107までが送信工程である。
ハートビートデータは、システムが正常に動作していることを示すごく小さいサイズのデータである。このように、監視対象の値の変化の有無に関わらず、制御装置101は、監視端末102との間で一定の周期で必ず通信を行う。
通信を行った結果、通信制御部105が、通信が成功したか否かを判断し(ステップS108)、成功したと判断した場合、監視タスク部107は現在時刻を時刻記録部108に書き込む(ステップS109)。
監視端末102の動作は次のようになる。
監視端末102は、受信部1122が、制御装置101から通信ネットワーク103を介して監視対象のデータとハートビートデータとを受信する受信工程と、制御装置101から受信した監視対象のデータを監視端末側共有メモリ117に記憶する記憶工程と、時刻記録部118が、受信部1122が制御装置101から監視対象のデータを受信した時刻とハートビートデータと受信した時刻とのうち、直前の時刻を記録する時刻記録工程と、タイマー管理部119が、所定の間隔で時刻を計測するタイマー工程と、障害検出部115がタイマー管理部119が計測する所定の間隔毎に、時刻記録部118が記録している時刻と現在時刻とを比較し、時刻記録部118が記録している時刻が現在時刻より所定の間隔以前の時刻であった場合、通信に障害が発生したと判断する障害検出工程とからなる監視方法とを実行する。
次に、正常時の監視端末102の詳しい動作を図3に示すフローチャートを用いて説明する。
監視端末102の通信制御部112は、ネットワーク103を通じて送られてきた1つまたは複数の監視の対象識別子と値、またはハートビートデータを受信する(ステップS110)。データ送受信部113は、通信制御部112からの受信完了通知を受けて、通信制御部112から監視対象の識別子と値、またはハートビートデータを受け取る(ステップS111)。これが受信工程である。
そして、受信したものが監視対象の識別子と値であるか否かを判断し(ステップS112)、監視対象の識別子と値である場合(ステップS112でYesの場合)、共有メモリ管理部114を用いて、共有メモリ117に監視対象の識別子と値を書き込む(ステップS113)。これが記憶工程である。
監視対象の識別子と値ではなくハートビートデータであった場合(ステップS112でNoの場合)、共有メモリ117には何も書き込まない(ステップS114)。監視対象の識別子と値、またはハートビートデータのいずれかを受信した場合にも、データ送受信部113は、障害検出部115を用いて時刻記録部118に受信した時刻を記録する(ステップS115)。これが時刻記録工程である。
次に、異常発生時の監視端末102の動作を図4に示すフローチャートを用いて説明する。
障害検出部115は、タイマー管理部119を用いて、4秒ごとに時刻記録部118に記録されている時刻を取り出して現在時刻と比べ、時刻記録部118に記録されている時刻が、現在時刻より4秒以上前の時刻であるか否かを判断する(ステップS120)。これがタイマー工程である。
比較の結果、時刻記録部118に記録されている時刻が現在時刻より4秒以上前の時刻である場合(ステップS120でYesの場合)、障害検出部115は障害が発生したと判断し、共有メモリ管理部114を通じて共有メモリ117を再初期化することにより無効化する(ステップS121)。これが障害検出工程である。
図5は、実施の形態1における制御装置101から監視端末102へ通信を行った場合の処理の例を示したものである。
最初に、制御装置101から監視端末102に対して、4秒間通信が途絶えたら異常が起きたと見なすよう通知する(201)。制御装置101は、1秒間隔で監視端末102へ送信を行う。例では、最初の202の送信で、制御装置101が、対象識別子Aとその値0、対象識別子Bとその値1を送信している。1秒後の203では、対象識別子Bの値に変化がなかったので、対象識別子Aとその値1のみを送信している。204では、対象識別子Aおよび対象識別子Bの両方の値に変化がなかったので、代わりにハートビートデータを送信している。205では、対象識別子Aおよび対象識別子Bの両方の値に変化があったため、両方の対象識別子とそれぞれの値を送信している。206では、通信障害が発生している。監視端末102は、4秒の間、制御装置101からの通信がなかったので、207で共有メモリ117を無効化している。
以上のように、分散共有メモリを有する監視システムにおいては、通信を開始する以前に、制御装置101から監視端末102に対して、障害発生と判断するまでの時間T1をあらかじめ通知しておく。制御装置101では、T1より十分に短い時間間隔T2で監視対象の値の変化を調べる。そして、値の変化が検出された場合、監視対象の識別子と値を送り、変化が検出されない場合には、その監視対象の識別子と値を送らない。但し、値の変化がまったく検出できなかった場合においては、データサイズの小さいハートビートデータを制御装置101から監視端末102へ送る。これにより、制御装置101から監視端末102への通信を時間T2の周期で発生させる。更に、監視端末102が、時間T1の間、制御装置101からの通信がないことを検出した場合、共有メモリを無効化させる。
この実施の形態によれば、通信ネットワーク103を介して監視端末102と接続する制御装置101は、制御装置側共有メモリ110が監視対象のデータを記憶し、監視タスク部107が新たな監視対象のデータと制御装置側共有メモリ110が記憶する監視対象のデータとが一致するか否かの比較を行い、一致しない場合、制御装置側共有メモリ110に新たな監視対象のデータを書き込み、新たな監視対象のデータを出力し、一致する場合、正常動作していることを示すハートビートデータを出力し、送信部1051が監視タスク部107が出力した新たな監視対象のデータとハートビートデータとを入力して監視端末102へ送信することができる。
この実施の形態によれば、監視端末102は、受信部1122が制御装置101から通信ネットワーク103を介して監視対象のデータとハートビートデータとを受信し、監視端末側共有メモリ117が制御装置101から受信した監視対象のデータを記憶し、タイマー管理部119が、受信部1122が制御装置101から監視対象のデータを受信した時刻とハートビートデータを受信した時刻とのうち、直前の時刻を記録する時刻記録部118と、所定の間隔で時刻を計測し、障害検出部115が、タイマー管理部119が計測する所定の間隔毎に、時刻記録部118が記録している時刻と現在時刻とを比較し、時刻記録部118が記録している時刻が現在時刻より所定の間隔以前の時刻であった場合、通信に障害が発生したと判断することができる。
監視端末102は、さらに、障害検出部115が通信に障害が発生したと判断した場合、共有メモリ管理部114が監視端末側共有メモリ117が記憶する監視対象のデータを消去し、送信部1121が、共有メモリ管理部114が監視端末側共有メモリ117が記憶する監視対象のデータを消去したことを示すメッセージを制御装置101へ送信することができる。
この実施の形態によれば、正常時の通信データ量削減による通信の効率化と、制限時間を設定することによる障害の発生時の共有メモリの内容の不一致を検出することができる両方の効果がある。すなわち、単純に差分データの送信により通信を効率化を実現すると、値に変化がない場合に通信が発生しないので、制限時間を設定することによる障害発生の検出が難しい。しかし、上記した方法により、通信を効率化と制限時間を設定することによる障害発生の検出とを両立することが可能となる。
実施の形態2.
実施の形態1では、正常時の通信データ削減による通信の効率化と障害発生時に制限時間を設定することによる共有メモリの内容の不一致の検出とを両立させようというものであった。以下に示す実施の形態2では、制御装置が監視端末との通信において、定められた期間受信せずに、障害を検出した場合、直ちに致命的なエラーとはせずに、監視端末102との通信が速やかに回復した場合には、共有メモリの内容の一貫性を回復する方法を説明する。
実施の形態2における監視システムと制御装置101と監視端末102との構成は、実施の形態1と同じである。
制御装置101は、実施に形態1の構成に加えて、さらに、送信部1051が監視端末102へデータを送信した時刻を記録する時刻記録部108を備えている。
制御装置101では、送信部1051は、監視端末へデータを送信することができない場合、時刻記録部108に記録されている前回の監視端末102へ送信した時刻から所定の時間が経過する以前は、制御装置側共有メモリ110に記録されていたが監視端末102へ送信することができなかった監視対象のデータの監視端末102への送信を試み、所定の時間が経過する以前に、送信部1051が監視端末102へ監視対象のデータを送信することができるようになった場合、制御装置側共有メモリ110に記憶されていたが監視端末102へ送信することができなかった監視対象のデータを監視端末102へ送信し、時刻記録部108に記録されている前回の監視端末102へ送信した時刻から所定の時間が経過した後は、監視タスク部107が、制御装置側共有メモリ110が記憶する監視対象のデータを消去する。
実施の形態2における制御装置101の詳しい動作を図6に示すフローチャートを用いて説明する。制御装置101は、通信障害が発生しても、通常の処理を継続する時間を、予め定めておく。ここでは、その時間を8秒とする。
制御装置101の監視タスク部107は、通信の障害が発生したか否かを判断し(ステップS130)、発生していない場合、つまり、監視端末102への通信が正常に行われる場合(ステップS103でNoの場合)、時刻記録部108に現在時刻を記録する(ステップS131)。発生している場合、つまり、監視タスク部107が送信を実行した時、通信制御部105がエラーを返し、この結果を受けてデータ送受信部106もエラーを返す場合(ステップS103でYesの場合)、監視タスク部107は時刻記録部108に時刻を記録しない(ステップS132)。監視タスク部107は、通信制御部105がエラーを返した場合、その後、あらかじめ定められた一定時間(8秒)が経過するまでは、実施の形態1で示したように、1秒間隔で監視対象の現在の値と共有メモリ110の値と比較し、値が異なれば共有メモリ110に監視対象の現在の値を書き込む(ステップS133)。
しかし、この場合、送信部1051は、監視端末102へは比較した差分を送るのではなく、共有メモリ管理テーブル109に登録されていたが監視端末102へ送ることができなかった監視対象の識別子と値とを送ろうと試行する。
定められた8秒を過ぎても通信制御部105がエラーを返す場合は、監視タスク部107は、共有メモリ管理部104を通じて、共有メモリ管理テーブル109を再初期化することにより、共有メモリ110を無効化する(ステップS134)。
これに対して、監視端末102が障害が発生したと判断するのは、実施の形態1で示したように、通信が途絶えてから4秒以降である。これにより、通信に障害が発生した場合には、監視端末102が初めに共有メモリ110を無効化し、次に、制御装置101が共有メモリ110を無効化するという順番が保証されることになる。
その後、制御装置101へ監視端末側共有メモリ117が記憶する監視対象のデータを消去したことを示すメッセージを送信する(ステップS135)。
上記のような方法により、通信制御部105が、最初にエラーを返して以降8秒以内に成功を返し、かつ、この成功が監視端末102へに通信が途絶えてから4秒以内に返された場合、制御装置101と監視端末102の共有メモリは、共に無効化されることなく、一貫性を保ったままにすることができる。
図7は、実施の形態2における制御装置101から監視端末102へ通信を行った場合の処理の例を示したものである。
401〜405は、実施の形態1における201〜205と同様であり説明を省略する。406では、監視対象の識別子Bの値に変化があったため、対象識別子Bとその値を送信しようとしたが、通信制御部105はエラーを返した。以降、最大8秒間、通信制御部105が成功を返すまで、監視対象の識別子Aとその値、監視対象の識別子Bとその値の両方を送信しようと試行する。407では、通信制御部105はエラーを返した。408では、通信制御部105は成功を返した。成功を返した後、409では、再び変化のあった監視対象の識別子とその値のみを送信する。図7では、監視端末102において4秒以内に通信が再開しているため、共有メモリ117の無効化は行わず、制御装置101においても、8秒以内に通信に成功しているため、共有メモリ110の無効化は行われない。
図8に、制御装置101の正常時および障害検出時の送信アルゴリズムをまとめる。但し、障害検出後、8秒以降の手順については示していない。
監視タスク部107は通信障害等の障害を検出したか否かを判断する(ステップS301)。検出した場合、すべての対象識別子と値を監視端末102に送信しようと試みる(ステップS307)。検出していない場合、送信すべき監視対象があるかどうかを判断する(ステップS302)。監視対象がある場合、共有メモリ110から同じ監視対象の以前の値を読み出し(ステップS303)、読み出した値と送信しようとする値が同じであるか否かを判断する(ステップS304)。値が同じ場合、送信しようとする値を共有メモリ110に書き込む必要はないので、ステップS302に戻って、他に送信すべき監視対象があるか否かを判断する。値が異なる場合、送信しようとする値を共有メモリ110に書き込む(ステップS305)。バッファ111に監視対象の識別子と値を書き込む(ステップS306)。ステップS302において、送信すべき監視対象がこれ以上ない場合、バッファ111が空か否かを判断する(ステップS308)。バッファ111が空の場合、ハートビートデータを送信する(ステップS310)。バッファ111が空でない場合、バッファ111の内容を送信する(ステップS309)。
この実施の形態によれば、制御装置101は、さらに、送信部1051が監視端末102へデータを送信した時刻を記録する時刻記録部108を備えることにより、送信部1051は、監視端末102へデータを送信することができない場合、時刻記録部108に記録されている前回の監視端末102へ送信した時刻から所定の時間が経過する以前は、制御装置側共有メモリ110に記録されていたが監視端末102へ送信することができなかった監視対象のデータの監視端末102への送信を試み、所定の時間が経過する以前に、送信部1051が監視端末102へ監視対象のデータを送信することができるようになった場合、制御装置側共有メモリ110に記憶されていたが監視端末102へ送信することができなかった監視対象のデータを監視端末102へ送信し、時刻記録部108に記録されている前回の監視端末102へ送信した時刻から所定の時間が経過した後は、監視タスク部107が、制御装置側共有メモリ110が記憶する監視対象のデータを消去することができる。
この実施の形態によれば、障害発生時に、制御装置101が共有メモリ110を無効化するまでの時間T3を、監視端末102が共有メモリ117を無効化するまでの時間T1より十分大きくし、制御装置101が送信の際エラーを検出した場合、すぐに共有メモリ110を無効化せず、通信が回復するまで全対象識別子とデータの送信を試行することで、通信ケーブルの活線挿抜などによる一時的な障害が発生した場合にも、共有メモリの一貫性速やかに回復することができる。
実施の形態3.
実施の形態2では、制御装置101と監視端末102と間の障害が速やかに回復した場合、共有メモリの内容の一貫性を回復する方法を示した。以下に述べる実施の形態3では、監視端末102が共有メモリ117を無効化して以降、制御装置101との通信障害が回復した場合、制御装置101が即座に全対象識別子とその値を停止し、同様に共有メモリ110を無効化する方法について示す。
実施の形態3における監視システムと制御装置101と監視端末102との構成は、実施の形態1と同じである。
制御装置101は、実施の形態1での構成に加えて、さらに、監視端末102から監視端末側共有メモリ117が記憶する監視対象のデータを消去したことを示すメッセージを受信する受信部1052と、送信部1051が監視端末102へデータを送信した時刻を記録する時刻記録部108とを備えている。
制御装置101は、時刻記録部108に記録されている前回の監視端末102へ送信した時刻から所定の時間が経過する以前に、受信部1052が監視端末102から監視端末側共有メモリ117が記憶する監視対象のデータを消去したことを示すメッセージを受信した場合、監視タスク部107が、制御装置側共有メモリ110が記憶する全て監視対象のデータを消去する。
図9は、実施の形態3における制御装置101から監視端末102へ通信を行った場合の処理の例を示したものである。
501〜505については、201〜205と同様であり説明を省略する。506では監視対象の識別子Bの変化があったため、監視対象の識別子Bとその値を送信したが、通信制御部105はエラーを返した。以降、最大8秒間は、全監視対象の識別子とその値を送信する。図9では、507において監視対象の識別子Aとその値、監視対象の識別子Bとその値を送信している。監視端末102では、4秒間、制御装置101からの通信がなかったため、508において共有メモリ117を無効化する。この時点で、制御装置101は8秒経過していないため送信の試行を続けている。そして、507の最後に通信制御部105が通信の成功を返した。監視端末102は、共有メモリ117を既に無効化しているので、509において、共有メモリ117を無効化したことを示すメッセージを制御装置101に送信する。これを受けた制御装置101は、510において共有メモリ110を無効化する。
この実施の形態によれば、制御装置101は、さらに、監視端末102から監視端末側共有メモリ117が記憶する監視対象のデータを消去したことを示すメッセージを受信する受信部1052と、送信部1051が監視端末102へデータを送信した時刻を記録する時刻記録部108とを備えることにより、時刻記録部108に記録されている前回の監視端末102へ送信した時刻から所定の時間が経過する以前に、受信部1052が監視端末102から監視端末側共有メモリ117が記憶する監視対象のデータを消去したことを示すメッセージを受信した場合、監視タスク部107が、制御装置側共有メモリ110が記憶する全て監視対象のデータを消去することができる。
この実施の形態によれば、障害発生時に、制御装置101が共有メモリ110を無効化するまでの時間T3を、監視端末102が共有メモリ117を無効化するまでの時間T1より十分大きくし、制御装置101が送信の際エラーを検出した場合、すぐに共有メモリ110を無効化せず、通信が回復するまで全対象識別子とデータの送信を試行するようにし、更に、監視端末102が共有メモリ117を無効化した後に通信が回復した場合、監視端末102から制御装置101に対して、共有メモリ117を無効化したことを示すメッセージを明示的に送り、これを受けた制御装置101が共有メモリ110を無効化することにより、制御装置101は、共有メモリ110を無効化するまでの時間T3を待つことなく共有メモリ110を無効化すること可能となる。
監視システムは、共有メモリのデータ送信側である制御装置と共有メモリのデータ受信側である監視端末をネットワークにより接続し、制御装置において周期的に監視対象の値を取得し現在書かれている共有メモリの値と比較し、値が同じ場合には何もせず、値が異なる場合には、共有メモリの値を上書きし、そして、その値を監視端末へ送信し、値を比較した結果、変化した値が1つもない場合は、監視対象の値の代わりにハートビートデータと呼ばれる小さいデータを送信する手段を提供する制御装置と、監視対象の値とハートビートデータの両方を受信し、いずれかのデータがあらかじめ決められた時間内に到着しにない場合に障害発生と判断し、共有メモリを無効化する手段を提供する監視端末とから構成される。
監視システムは、監視端末側で障害発生と判断し共有メモリを無効化するまでの時間を、制御装置側で監視端末との通信エラーにより障害発生と判断し共有メモリを無効化するまでの時間より短く設定する手段を提供し、制御装置では通信エラーを検出後、共有メモリを無効化するまでは、すべての監視対象のデータを監視端末に送る手段を提供し、監視端末において、共有メモリ無効化される以前に通信が回復した場合、監視対象のデータを共有メモリに書き込む手段を提供する。これにより共有メモリの一貫性を回復する機能を提供する分散共有メモリにより構成される。
監視システムは、監視端末側で障害発生と判断し共有メモリを無効化した直後、制御装置との通信が回復し、制御装置から監視対象の値が送られてきた場合、監視端末から共有メモリを無効化したことを示すメッセージを送り、制御装置ではこのメッセージに基づき同様に共有メモリを無効化する手段を提供する。
図10は、前記した各実施の形態における制御装置101と監視端末102とのハードウェア構成を示す図である。
制御装置101と監視端末102とは、プログラムを実行するCPU(Central Processing Unit)911を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、CRT表示装置901、キーボード(K/B)902、マウス903、FDD(Flexible Disk Drive)904、磁気ディスク装置920、CDD(Compact Disk Drive)905、プリンタ装置906、スキャナ装置907と接続されている。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915は、FAX機、電話器、LAN等に接続されている。例えば、通信ボード915、K/B902、FDD904などは、情報入力部の一例である。また、例えば、通信ボード915、スキャナ装置907、CRT表示装置901などは、出力部の一例である。
ここで、通信ボード915は、LANに限らず、直接、インターネット、或いはISDN等のWAN(ワイドエリアネットワーク)に接続されていても構わない。直接、インターネット、或いはISDN等のWANに接続されている場合、制御装置101と監視端末102は、インターネット、或いはISDN等のWANに接続され、ウェブサーバは不用となる。
磁気ディスク装置920には、オペレーティングシステム(OS)921、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923は、CPU911、OS921、ウィンドウシステム922により実行される。
上記プログラム群923には、各機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、各ファイルが記憶されている。
また、前記した実施の形態で説明したフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
また、制御装置101と監視端末102とは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
また、プログラムは、また、磁気ディスク装置920、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体による記録装置を用いて記憶されても構わない。
実施の形態1における監視システムの構成を示す図である。 実施の形態1における制御装置の正常時の動作を示すフローチャートである。 実施の形態1における監視端末の正常時の動作を示すフローチャートである。 実施の形態1における監視端末の異常時の動作を示すフローチャートである。 実施の形態1における制御装置から監視端末へ通信を行った場合の処理の例を示す図である。 実施の形態2における制御装置の動作を示すフローチャートである。 実施の形態2における制御装置から監視端末へ通信を行った場合の処理の例を示すずである。 制御端末の監視タスク部の各周期における正常時および障害検出時の送信アルゴリズムを示すフローチャートである。 実施の形態3における制御装置から監視端末へ通信を行った場合の処理の例を示す図である。 各実施の形態における制御装置101と監視端末102とのハードウェア構成を示す図である。
符号の説明
101 制御装置、102 監視端末、103 ネットワーク、104 共有メモリ管理部、105 通信制御部、1051 送信部、1052 受信部、106 データ送受信部、107 監視タスク部、108 時刻記録部、109 共有メモリ管理テーブル、110 共有メモリ、111 バッファ、112 通信制御部、1121 送信部、1122 受信部、113 データ送受信部、114 共有メモリ管理部、115 障害検出部、116 共有メモリ管理テーブル、117 共有メモリ、118 時刻記録部、119 タイマー管理部、901 CRT表示装置、902 キーボード(K/B)、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群。

Claims (7)

  1. 通信ネットワークを介して監視端末と接続する制御装置において、
    監視対象のデータを記憶する制御装置側共有メモリと、
    新たな監視対象のデータと前記制御装置側共有メモリが記憶する監視対象のデータとが一致するか否かの比較を行い、一致しない場合、前記制御装置側共有メモリに新たな監視対象のデータを書き込み、新たな監視対象のデータを出力し、一致する場合、正常動作していることを示すハートビートデータを出力する監視タスク部と、
    前記監視タスク部が出力した新たな監視対象のデータとハートビートデータとを入力して前記監視端末へ送信する送信部と
    を備えることを特徴とする制御装置。
  2. 前記制御装置は、さらに
    前記送信部が前記監視端末へデータを送信した時刻を記録する時刻記録部を備え、
    前記送信部は、前記監視端末へデータを送信することができない場合、
    前記時刻記録部に記録されている前回の監視端末へ送信した時刻から所定の時間が経過する以前は、前記制御装置側共有メモリに記録されていたが監視端末へ送信することができなかった監視対象のデータの前記監視端末への送信を試み、所定の時間が経過する以前に、前記送信部が前記監視端末へ監視対象のデータを送信することができるようになった場合、前記制御装置側共有メモリに記憶されていたが監視端末へ送信することができなかった監視対象のデータを前記監視端末へ送信し、
    前記時刻記録部に記録されている前回の監視端末へ送信した時刻から所定の時間が経過した後は、
    前記監視タスク部が、前記制御装置側共有メモリが記憶する監視対象のデータを消去すること
    を特徴とする請求項1に記載の制御装置。
  3. 前記制御装置は、さらに
    前記監視端末から監視端末側共有メモリが記憶する監視対象のデータを消去したことを示すメッセージを受信する受信部と、
    前記送信部が前記監視端末へデータを送信した時刻を記録する時刻記録部とを備え、
    前記時刻記録部に記録されている前回の監視端末へ送信した時刻から所定の時間が経過する以前に、
    前記受信部が前記監視端末から監視端末側共有メモリが記憶する監視対象のデータを消去したことを示すメッセージを受信した場合、
    前記監視タスク部が、前記制御装置側共有メモリが記憶する全て監視対象のデータを消去すること
    を特徴とする請求項1に記載の制御装置。
  4. 制御装置から通信ネットワークを介して監視対象のデータとハートビートデータとを受信する受信部と、
    前記制御装置から受信した監視対象のデータを記憶する監視端末側共有メモリと、
    前記受信部が前記制御装置から監視対象のデータを受信した時刻とハートビートデータを受信した時刻とのうち、直前の時刻を記録する時刻記録部と、
    所定の間隔で時刻を計測するタイマー管理部と、
    前記タイマー管理部が計測する所定の間隔毎に、前記時刻記録部が記録している時刻と現在時刻とを比較し、前記時刻記録部が記録している時刻が現在時刻より前記所定の間隔以前の時刻であった場合、通信に障害が発生したと判断する障害検出部と
    を備えることを特徴とする監視端末。
  5. 前記監視端末は、さらに
    前記障害検出部が通信に障害が発生したと判断した場合、前記監視端末側共有メモリが記憶する監視対象のデータを消去する共有メモリ管理部と、
    前記監視タスク部が前記監視端末側共有メモリが記憶する監視対象のデータを消去したことを示すメッセージを前記制御装置へ送信する送信部と、
    を備えることを特徴とする請求項4に記載の監視端末。
  6. 監視タスク部が、新たな監視対象のデータと制御装置側共有メモリが記憶する監視対象のデータとが一致するか否かの比較を行い、一致しない場合、前記制御装置側共有メモリに新たな監視対象のデータを書き込み、送信部に新たな監視対象のデータを送り、一致する場合、正常動作していることを示すハートビートデータを送信部に送るデータ判定工程と、
    送信部が、監視端末へ前記新たな監視対象のデータと前記ハートビートデータとのいずれかを送信する送信工程と
    を実行することを特徴とする制御装置の制御方法。
  7. 受信部が、制御装置から通信ネットワークを介して監視対象のデータとハートビートデータとを受信する受信工程と、
    前記制御装置から受信した監視対象のデータを監視端末側共有メモリに記憶する記憶工程と、
    時刻記録部が、前記受信部が前記制御装置から監視対象のデータを受信した時刻とハートビートデータと受信した時刻とのうち、直前の時刻を記録する時刻記録工程と、
    タイマー管理部が、所定の間隔で時刻を計測するタイマー工程と、
    障害検出部が、前記タイマー管理部が計測する所定の間隔毎に、前記時刻記録部が記録している時刻と現在時刻とを比較し、前記時刻記録部が記録している時刻が現在時刻より前記所定の間隔以前の時刻であった場合、通信に障害が発生したと判断する障害検出工程と
    を実行することを特徴とする監視端末の監視方法。
JP2004226097A 2004-08-02 2004-08-02 制御装置及び監視端末 Pending JP2006048249A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004226097A JP2006048249A (ja) 2004-08-02 2004-08-02 制御装置及び監視端末

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004226097A JP2006048249A (ja) 2004-08-02 2004-08-02 制御装置及び監視端末

Publications (1)

Publication Number Publication Date
JP2006048249A true JP2006048249A (ja) 2006-02-16

Family

ID=36026743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004226097A Pending JP2006048249A (ja) 2004-08-02 2004-08-02 制御装置及び監視端末

Country Status (1)

Country Link
JP (1) JP2006048249A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949815B2 (en) * 2006-09-27 2011-05-24 Intel Corporation Virtual heterogeneous channel for message passing
CN112567691A (zh) * 2018-08-27 2021-03-26 三菱电机株式会社 通信装置、接收装置以及监视系统
CN114844554A (zh) * 2022-04-13 2022-08-02 中国科学院紫金山天文台 适于南极天文保障平台的两地通讯方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949815B2 (en) * 2006-09-27 2011-05-24 Intel Corporation Virtual heterogeneous channel for message passing
US8281060B2 (en) 2006-09-27 2012-10-02 Intel Corporation Virtual heterogeneous channel for message passing
CN112567691A (zh) * 2018-08-27 2021-03-26 三菱电机株式会社 通信装置、接收装置以及监视系统
CN114844554A (zh) * 2022-04-13 2022-08-02 中国科学院紫金山天文台 适于南极天文保障平台的两地通讯方法
CN114844554B (zh) * 2022-04-13 2023-04-25 中国科学院紫金山天文台 适于南极天文保障平台的两地通讯方法

Similar Documents

Publication Publication Date Title
US7694177B2 (en) Method and system for resynchronizing data between a primary and mirror data storage system
JP5094460B2 (ja) 計算機システム、データ一致化方法およびデータ一致化処理プログラム
JP5100463B2 (ja) データ処理装置、その制御方法、プログラム
JP4288418B2 (ja) 計算機システムおよび状態取得方法ならびに状態取得プログラム
US20040205388A1 (en) Method for managing computer, apparatus for managing computer, and computer readable medium storing program for managing computer
JP4490745B2 (ja) ホットスタンバイシステム
JP5288185B2 (ja) ネットワークインタフェース、計算機システム、それらの動作方法、及びプログラム
US10721135B1 (en) Edge computing system for monitoring and maintaining data center operations
US11930292B2 (en) Device state monitoring method and apparatus
CN111342986B (zh) 分布式节点管理方法及装置、分布式系统、存储介质
JP2010218510A (ja) 状態監視システムおよび状態監視方法
JP5625605B2 (ja) Os動作状態確認システム、確認対象装置、os動作状態確認装置、os動作状態確認方法およびプログラム
JP5351448B2 (ja) サーバクライアントシステムとそのサーバ切替方法
JP2006048249A (ja) 制御装置及び監視端末
JP6222759B2 (ja) 障害通知装置、障害通知方法及びプログラム
JP2008225567A (ja) 情報処理システム
JP7298412B2 (ja) 異常判定装置、異常判定方法およびプログラム
JP3190880B2 (ja) スタンバイシステム、スタンバイ方法、および記録媒体
EP3696675B1 (en) Information processing device, image forming apparatus, image forming system, and information processing method
CN114442786B (zh) 一种电源故障告警及恢复方法、装置及存储介质
TWI512453B (zh) 主備伺服器切換系統及方法
JP3226867B2 (ja) ホットスタンバイシステムにおける受信メッセージリカバリ方式及びホットスタンバイシステムにおける受信メッセージリカバリ方法及び受信メッセージ処理プログラムを格納した記録媒体
JP2522610B2 (ja) 生産監視システムの復帰方式
JPH11272508A (ja) 監視対象装置の異常検出方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体
JP2002063051A (ja) ソフトウェア動作監視システムおよびその記録媒体およびソフトウェア動作監視方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091124