JPWO2013103001A1 - 検出装置、検出方法、および検出プログラム - Google Patents

検出装置、検出方法、および検出プログラム Download PDF

Info

Publication number
JPWO2013103001A1
JPWO2013103001A1 JP2013552363A JP2013552363A JPWO2013103001A1 JP WO2013103001 A1 JPWO2013103001 A1 JP WO2013103001A1 JP 2013552363 A JP2013552363 A JP 2013552363A JP 2013552363 A JP2013552363 A JP 2013552363A JP WO2013103001 A1 JPWO2013103001 A1 JP WO2013103001A1
Authority
JP
Japan
Prior art keywords
sensor
executed
data
unit
execution
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
JP2013552363A
Other languages
English (en)
Other versions
JP5900514B2 (ja
Inventor
鈴木 貴久
貴久 鈴木
浩一郎 山下
浩一郎 山下
宏真 山内
宏真 山内
佑太 寺西
佑太 寺西
俊也 大友
俊也 大友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2013103001A1 publication Critical patent/JPWO2013103001A1/ja
Application granted granted Critical
Publication of JP5900514B2 publication Critical patent/JP5900514B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D11/00Component parts of measuring arrangements not specially adapted for a specific variable
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space

Abstract

センサ(103−1)の1処理単位分のデータがバッファに溜まったか否かを示すデータ処理フラグが「EMPTY」から「READY」へ変化する間に、各CPU(101)はセンサ(103−1)に応じた処理を終了させる。処理状態フラグはセンサに応じた処理が実行中状態であるか、実行済状態であるかを示す。CPU(101−1)は、データ処理フラグが「READY」であるにも関わらず、処理状態フラグが「EXECUTING」である場合、センサ(103−1)に応じた処理を実行中のCPU(101−2)に障害が発生したと判断する。CPU(101−1)は、CPU(101−2)のローカルメモリ(102−2)のセンサデータ領域に記憶されたデータを複製する。CPU(101−1)は、複製されたデータに基づいて、センサ(103−1)に応じた処理を実行する。

Description

本発明は、検出装置、検出方法、および検出プログラムに関する。
従来、たとえば、複数のプロセッサが複数のセンサからのデータを演算するシステムにおいて、共有メモリ内に設けられたチェック専用の領域に2つのプロセッサが異なる値を交互に書き込むことにより、プロセッサが停止しているか否かが確認される技術が知られている(たとえば、下記特許文献1を参照。)。具体的には、2つのプロセッサのうちの一方のプロセッサは、一方のプロセッサが書き込んだ値が更新されていなければ他方のプロセッサが停止していると判断する。
また、たとえば、複数のプロセッサの各プロセッサは動作情報を共有メモリに出力し、複数のプロセッサのうちのメインのプロセッサは、共有メモリに出力された動作情報を監視することにより、異常動作のプロセッサを検出する技術が知られている(たとえば、下記特許文献2を参照。)。
特開平2−206806号公報 特開平6−44102号公報
しかしながら、検出された異常動作のプロセッサが、いずれのセンサについてのデータを演算していたのか不明である。そのため、異常動作のプロセッサがあると、センサについての演算が中断してしまう問題点がある。
本発明は、上述した従来技術による問題点を解消するため、CPUに障害が発生しても、センサに応じた処理を継続させることができる検出装置、検出方法、および検出プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、複数のセンサにアクセス可能な複数のプロセッサの各々が、前記複数のセンサのうちどのプロセッサにも選択されていないセンサを選択し、選択中に当該センサからデータを取得し、データ取得が完了すると選択を解除し、選択中に取得されたデータに基づいて、前記センサに応じた処理を実行し、前記センサに応じた処理の実行中に前記センサを実行中状態に設定し、前記センサに応じた処理の実行が終了すると実行済状態に設定し、選択部による選択中に前記センサが実行中状態であるか否かを判断し、実行中状態であると判断された場合、前記データの取得を実行せずに、前記センサを実行中状態に設定したプロセッサから、当該プロセッサが前記センサから取得したデータを複製し、複製されたデータに基づいて、前記センサに応じた処理を実行する検出装置、検出方法、および検出プログラムが提案される。
本発明の一側面によれば、CPUに障害が発生しても、センサに応じた処理を継続させることができるという効果を奏する。
図1は、本発明における検出装置の一動作例を示す説明図である。 図2は、検出装置100のハードウェア構成例を示すブロック図である。 図3は、ローカルメモリ102とセンサ103の各々のデータフィールドの一例を示す説明図である。 図4は、各センサ103の処理状態フラグが示すセンサ103の状態の遷移例を示す説明図である。 図5は、各センサ103の機能例を示すブロック図である。 図6は、検出装置100の機能的構成を示すブロック図である。 図7は、障害が発生したCPU101がない場合の検出装置100の動作例を示す説明図である。 図8は、障害が発生したCPU101がある場合の検出装置100の動作例1を示す説明図である。 図9は、障害が発生したCPU101がある場合の検出装置100の動作例2を示す説明図である。 図10は、障害が発生したCPU101がある場合の検出装置100の動作例3を示す説明図である。 図11は、障害が発生したCPU101がある場合の検出装置100の動作例4を示す説明図である。 図12は、検出装置100の各CPU101が行う処理手順を示すフローチャート(その1)である。 図13は、検出装置100の各CPU101が行う処理手順を示すフローチャート(その2)である。 図14は、検出装置100の各CPU101が行う処理手順を示すフローチャート(その3)である。 図15は、検出装置100の各CPU101が行う処理手順を示すフローチャート(その4)である。 図16は、検出装置100の各CPU101が行う処理手順を示すフローチャート(その5)である。 図17は、各センサ103の制御部504が行う処理手順を示すフローチャートである。
以下に添付図面を参照して、本発明にかかる検出装置、検出方法、および検出プログラムの実施の形態を詳細に説明する。
図1は、本発明における検出装置の一動作例を示す説明図である。検出装置100では、複数のセンサ103と、複数のCPU(Central Processing Unit)101を有している。詳細なシステムのハードウェア構成については、後述する。複数のCPU101は、複数のCPU101にアクセス可能である。図1では、CPU101が2台の場合を例に挙げている。
長時間安定して動作するための要素として高信頼性がある。センサ103が検知するデータには様々なパターンがあるため、CPU101が行うセンサ103に応じた処理では意図していないデータをセンサ103が生成してしまう場合がある。また、外部からのノイズなどの影響によりCPU101が解析処理中のデータにデータ化けが発生することがある。CPU101では解析処理が無限ループに陥って処理が終了しなかったり、最悪の場合にはCUPがハングアップしてしまう恐れがある。高信頼化のためには、このような予期せぬデータが発生しても可能な限り各センサ103に応じた処理を継続し、継続が困難な場合はその旨を利用者に通知しなければならない。
そこで、データ処理用のCPU101を複数搭載した場合は、一つのCPU101が停止しても、他のCPU101が停止を検出して処理を引き継ぐことで処理を継続することができる。図1の例では、CPU101−2がセンサ103に応じた処理を実行中に障害が発生してしまい、CPU101−1はその障害を検出し、CPU101−1は、CPU101−2が実行していた処理を再実行する例を示す。
各センサ103の処理状態フラグは各センサ103の状態を示す。センサ103の処理状態フラグに「EXECUTING」が設定されていれば、センサが実行中状態であることを示す。実行中状態とは、センサ103に応じた処理がいずれかのCPU101で実行中であることを示す。センサ103の処理状態フラグに「FINISHED」が設定されていれば、センサが実行済状態であることを示す。実行済状態とは、センサ103に応じた処理がいずれのCPU101でも実行されていないことを示す。
センサ103のデータ状態フラグは、センサ103によって検知された1処理単位分のデータがバッファ内に溜まったか否かを示す。センサ103によって検知された1処理単位分のデータがバッファ内に溜まったか否かを示すデータ状態フラグがある。データ状態フラグが「READY」であれば、1処理単位分のデータがバッファ内に溜まっていることを示す。データ状態フラグが「EMPTY」であれば、1処理単位分のデータがバッファ内に溜まっていないまたは溜まったデータをいずれかのCPU101が取得したことを示す。
各CPU101でのデータ処理の時間はセンサ103が検知するデータによっても異なる。そのため、データ処理の順序が前後しないように検出装置100の設計者が検出装置100を設計しなければならない。ここでは、たとえば、データ状態フラグが「EMPTY」から「READY」になるまでの間に、以前のデータ処理が終了するように、各CPU101の処理能力やCPU101の数、センサ103でのデータ出力の間隔が調整されている。すなわち、あるセンサ103においてデータ状態フラグが「EMPTY」から「READY」に変化するまでの間に、いずれかのCPU101が該センサ103に応じた処理を終了していることになる。
図1では、たとえば、CPU101−2は、センサ103のデータ状態フラグを巡回しながら監視し、いずれのCPU101にも選択されていないセンサ103−1を選択する。具体的には、CPU101−2は、データ状態フラグが「READY」になったセンサ103−1を発見すると、センサ103−1のデータ状態フラグを「TRANSFERRING」に設定することにより、センサ103−1を選択する。
CPU101−2は、センサ103−1からセンサ103−1が検知したデータを取得して、データ取得が終了すると、選択を解除する。具体的には、そして、CPU101−2は、センサ103−1のバッファからデータを取得する。CPU101−2は、データの取得が終了すると、データ状態フラグを「TRANSFERRING」から「EMPTY」に設定することにより、選択を解除する。
つぎに、CPU101−2は、選択中に取得されたデータに基づいて、センサ103−1に応じた処理を実行する。さらに、CPU101−2は、実行中にセンサ103−1を実行中状態に設定し、実行が終了すると実行済状態に設定する。具体的には、CPU101−2は、センサ103−1の処理状態フラグを「EXECUTING」に設定し、取得したデータに基づいてセンサ103−1に応じた処理を実行する。CPU101−2は、取得したデータに基づいてセンサ103−1に応じた処理が終了した場合、センサ103−1の処理状態フラグを「FINISHED」に設定する。
CPU101−1は、いずれのCPU101−1にも選択されていないセンサ103−1を選択し、選択中にセンサ103−1が実行中状態であるか否かを判断する。具体的には、図1の例では、CPU101−1はセンサ103−1のデータ状態フラグを巡回しながら監視し、データ状態フラグが「READY」になったセンサ103−1を発見すると、処理状態フラグにいずれの情報が設定されているか判断する。図1の例では、処理状態フラグに「EXECUTING」が設定されている。よって、CPU101−1は、センサ103−1が実行中状態であると判断する。
上述したように、あるセンサ103においてデータ状態フラグが「EMPTY」から「READY」に変化するまでの間に、いずれかのCPU101が該センサ103に応じた処理を終了していなければならないにも関わらず、ここでは、終了していない。よって、CPU101は、以前のデータを実行中のCPU101に障害が発生していると判断することができる。図1の例では、CPU101が2台であるため、CPU101−1は、いずれのCPU101で障害が発生したかを判別可能である。CPU101が複数ある場合、たとえば、各CPU101は、各センサ103に応じた処理を実行する場合にCPU101の識別情報を各センサ103に記憶させてもよい。
CPU101−1は、センサ103−1が実行中状態であると判断された場合、データの取得を実行せずに、センサ103−1を実行中状態に設定したプロセッサから、CPU101−1がセンサ103−1から取得したデータを複製する。具体的には、処理状態フラグが「EXECUTING」である場合、CPU101−1は、センサ103−1のバッファからデータを取得せずに、ローカルメモリ102−2のデータ記憶領域に記憶されたデータを複製する。複製されたデータは、ローカルメモリ102−1に記憶される。
そして、CPU101−1は、複製されたデータに基づいてセンサ103−1に応じた処理を実行する。さらに、CPU101−1は、CPU101−2に再起動要求を通知することにより、CPU101−2を再起動させてもよい。
検出装置100は、画像センサ、音声センサ、温度センサなどの複数種類のセンサ103を搭載したセンサボックスである。たとえば、センサボックスでは、医療分野で患者の体調を監視して異常があるときに医師や家族に通知することが可能となる。たとえば、センサボックスは、室内の状態を監視して侵入者や火災を検出して警備会社または住人に通知したり、屋内の空調や照明の自動調整を行うことが可能となる。
このようなセンサボックスは据え置きを前提とした大型のもので、持ち歩きができず、設置のためには工事が必要である。近年、センサ103や無線通信機器の小型化、省電力化によりセンサボックスの小型化が可能となっている。そのため、バッテリーや太陽電池などで稼働させることにより、たとえば、医療分野であれば、患者が外出時にセンサボックスを携帯したり、室内にセンサボックスが設置される場合でも配線が不要になり設置の自由性が増してきている。
このようなセンサボックスには長時間安定して動作することが求められる。そのために、センサボックスは、消費電力を低減させてバッテリーでの稼働時間を延ばしたり、太陽電池の少ない発電量でも稼働できるようにしなければならない。センサボックスでは、各種のセンサ103が随時検知するデータをCPU101が取得して解析し、たとえば、温度に異常があるか否かを検出したり、カメラに不審なものが映っているといったことを検出して無線通信で外部の端末に異常を通知する。
センサボックスの低消費電力化のためには、CPU101が取得したデータを解析する処理に低消費電力化が必須となる。一方で、たとえば、画像データの解析では高い処理性能が必要となり、高精度なセンサ103を複数搭載しようとすると解析処理に要求される処理能力は高くなる。そこで、高性能と低消費電力を両立させる一つの方法として、センサボックスでは、データ処理に特化したCPUを複数搭載してセンサ103からのデータ処理はこのデータ処理用のCPU群で処理を行う。そして、データ処理用のCPUによって異常が検出された場合に汎用のCPUを起こして無線通信により通知を行うといった汎用性が求められる処理を行う。
本実施の形態では、検出装置100は、各センサ103に応じた処理を実行するCPU101と、他の装置との通信を行うMPU(Micro Processing Unit)と、で処理を分けている。つぎに、図2を用いて、センサボックスを示す検出装置100のハードウェア構成を詳細に説明する。
(検出装置100のハードウェア構成例)
図2は、検出装置100のハードウェア構成例を示すブロック図である。検出装置100は、CPU101−1〜CPU101−nと、ローカルメモリ102−1〜ローカルメモリ102−nと、センサ103−1〜センサ103−mと、を有している。さらに、検出システムは、RAM(Random Access Memory)105と、ROM(Read‐Only Memory)106と、MPU104と、I/F107と、を有している。
CPU101−1〜CPU101−nと、RAM105と、ROM106と、MPU104と、I/F107はメインバス110によってそれぞれ接続されている。CPU101−1〜CPU101−nと、ローカルメモリ102−1〜ローカルメモリ102−nとは、メモリバス111によってそれぞれ接続されている。CPU101−1〜CPU101−nと、センサ103−1〜センサ103−mとは、センサバス112によってそれぞれ接続されている。CPU101−1〜CPU101−nは、割り込み信号線に割り込み信号を出力することにより、MPU104に割り込みを発生させる。
ここで、MPU104は、検出装置100の全体の制御を司る。ROM106は、ブートプログラムやセンサ103のドライバなどのプログラムを記憶している。RAM105は、MPU104のワークエリアとして使用される。
CPU101−1〜CPU101−nは、それぞれローカルメモリ102−1〜ローカルメモリ102−nを有している。ローカルメモリ102−1〜ローカルメモリ102−nは、それぞれCPU101−1〜CPU101−nのワークエリアとして使用する。各CPU101は、他のCPU101が有しているローカルメモリ102にアクセスできるが、各々が有しているローカルメモリ102へのアクセス速度の方が他のCPU101が有しているローカルメモリ102へのアクセス速度よりも高速である。
I/F107は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークNWに接続され、このネットワークNWを介して他の装置に接続される。そして、I/F107は、ネットワークNWと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F107には、たとえば、モデムやLANアダプタなどを採用することができる。
(データフィールド)
つぎに、各CPU101が有するローカルメモリ102と、各センサ103についてのデータフィールドについて図3を用いて説明する。
図3は、ローカルメモリ102とセンサ103の各々のデータフィールドの一例を示す説明図である。ローカルメモリ102は、センサデータ領域と、作業領域と、を有している。センサデータ領域には、センサ103によって検知されたデータが保持される。作業領域には、センサデータ領域に記憶されたデータについて、CPU101がセンサ103に関する処理を実行する場合の領域である。
センサ103内の記憶領域には、LastCPU#1、LastCPU#2、データ状態フラグ、処理状態フラグ、データバッファのフィールドを有している。LastCPU#1のフィールドには、最新のデータについての処理を実行するCPU101の識別情報が登録される。LastCPU#2のフィールドには、一つ前のデータについての処理を実行するCPU101の識別情報が登録される。本実施の形態では、各CPU101の識別情報は、図2において各CPU101に付された番号と同一とする。たとえば、CPU101−1は、CPU101−1の識別情報として、「CPU101−1」をLastCPU#1やLastCPU#2に登録する。
データ状態フラグのフィールドには、検知されたデータがCPU101によって処理可能な状態にあるか否かを示すフラグが設定される。データ状態フラグのフィールドには、「EMPTY」、「READY」、「TRANSFERRING」のいずれかが設定される。「EMPTY」は、検知されたデータがCPU101によって処理可能な状態にないことを示す。「READY」は、検知されたデータがCPU101によって処理可能な状態にあることを示す。「TRANSFERRING」は、処理可能な状態にあるデータについていずれかのCPU101がアクセスしていることを示す。
処理状態フラグのフィールドは、あらたに検知されたデータについての処理に対するCPU101の実行状態を示す。データバッファのフィールドには、検知されたデータが順次登録される。センサ103は、データバッファのフィールドに所定量以上のデータが溜まったら、データ状態フラグが「EMPTY」から「READY」に変更される。
処理状態フラグには、「FINISHED」、「EXECUTING」、「RETRYING」、「RETRYING&EXECUTING」、「RETRYING&FINISHED」のいずれかが設定される。
「FINISHED」は、センサが実行済状態であること示す。実行済状態とは、あらたに検知されたデータについての処理が終了したことを示す。「EXECUTING」は、センサが実行中状態であることを示す。実行中状態とは、あらたに検知されたデータについての処理がいずれかのCPU101で実行中であることを示す。「RETRYING」は、センサが再実行中状態であることを示す。再実行中状態とは、検知されたデータについての処理がいずれかのCPU101で再実行中であることを示す。「RETRYING&EXCUTING」は、センサが再実行中かつ実行中状態であることを示す。再実行中かつ実行中状態とは、あらたに検知されたデータについての処理がいずれかのCPU101で実行中であり、該データよりも前に検知されたデータについての処理がいずれかのCPU101で再実行中であることを示す。「RETRYING&FINISHED」は、センサが再実行中かつ実行済状態であることを示す。再実行中かつ実行済状態とは、あらたに検知されたデータについての処理が終了したことを示し、該データよりも前に検知されたデータについての処理がいずれかのCPU101で再実行中であることを示す。
図4は、各センサ103の処理状態フラグが示すセンサ103の状態の遷移例を示す説明図である。図4に示す各状態は、処理状態フラグに設定される情報に対応している。処理状態フラグは「FINISHED」において、いずれかのCPU101でデータについての処理が開始されると、処理状態フラグは「EXECUTING」に設定される。
処理状態フラグは「EXECUTING」において、いずれかのCPU101でデータについての処理が終了すると、処理状態フラグが「FINISHED」に設定される。処理状態フラグは「EXECUTING」において、障害発生の検出によって再実行が開始されると、処理状態フラグは「RETRYING」に設定される。
処理状態フラグは「RETRYING」において、再実行が終了すると、処理状態フラグは「FINISHED」に設定される。処理状態フラグは「RETRYING」において、再実行中につぎのデータの群についての処理が開始されると、処理状態フラグは「RETRYING&EXECUTING」に設定される。
処理状態フラグは「RETRYING&EXECUTING」において、再実行処理が終了または強制終了すると、処理状態フラグは「EXECUTING」に設定される。処理状態フラグは「RETRYING&EXECUTING」において、あらたなデータの処理が終了すると、処理状態フラグは「RETRYING&FINISHED」に設定される。
処理状態フラグは「RETRYING&FINISHED」において、再実行が終了または強制終了すると、処理状態フラグは「EXECUTING」に設定される。本実施の形態では、処理状態フラグは「RETRYING&FINISHED」から「FINISHED」へ変化しない。処理状態フラグは「RETRYING&FINISHED」から「EXECUTING」に設定されてから、「FINISHED」に設定される。後述で詳細に説明するが、これにより、検出装置100は、データの実行順序を遵守することができる。
(各センサ103の機能例)
図5は、各センサ103の機能例を示すブロック図である。つぎに、各センサ103の機能例について詳細に説明する。各センサ103は、バスインターフェース部501と、LastCPU,処理状態フラグ記録部502と、データ状態フラグ記録部503と、制御部504と、バッファ切替部505と、バッファ#1と、バッファ#2と、データ出力先管理部506と、デジタル変換部507と、アナログ入力部508と、を有している。
LastCPU,処理状態フラグ記録部502は、上述したLastCPU#1と、LastCPU#2と、処理状態フラグを記憶する記憶装置である。記憶装置としては、たとえば、RAM105が挙げられる。データ状態フラグ記録部503は、データ状態フラグを記憶する記憶装置である。記憶装置としては、たとえば、RAM105が挙げられる。バッファ#1およびバッファ#2には、1処理単位分のデータが記憶される。
バスインターフェース部501は、センサバス112を介して接続されたCPU101からのデータ入力やCPU101へのデータ出力を制御する。バスインターフェース部501は、CPU101からの書き込み命令に応じてLastCPU,処理状態フラグ記録部502のLastCPU#1、LastCPU#2、処理状態フラグへデータを設定する。バスインターフェース部501は、CPU101からの書き込み命令に応じてデータ状態フラグ記録部503のデータ状態フラグを設定する。
アナログ入力部508は、センサ103本体によって検知されたアナログデータを受け付ける。そして、アナログ入力部508は、受け付けたアナログデータをデジタル変換部507に受け渡す。
デジタル変換部507は、アナログデータをデジタルデータに変換する。デジタル変換部507は、デジタルに変換されたデータをデータ出力先管理部506に出力する。データ出力先管理部506は、データをバッファ#1またはバッファ#2に記憶させ、かつ1処理単位分のデータをバッファ#1またはバッファ#2に記憶させたか否かの管理を行う。
制御部504は、センサ103の起動時にデータ処理状態を「EMPTY」に設定し、処理状態フラグを「FINISHED」に設定する。そして、制御部504は、1処理単位分のデータがバッファ#1またはバッファ#2に溜まったとデータ出力先管理部506によって通知された場合、データ状態フラグ記録部503のデータ状態フラグを「EMPTY」から「READY」に変更する。さらに、制御部504は、データ処理状態が「TRANSFERRING」から「EMPTY」への変化を検出すると、バッファ切替部505にバスインターフェース部501へ出力するバッファのデータを切り替えさせる指示を通知する。
バッファ切替部505は、制御部504からのバッファ切り替え指示に応じてバスインターフェース部501へ出力するバッファのデータを切り替える。たとえば、あらたに検知された1処理単位分のデータがバッファ#1に記憶された場合、バッファ切替部505は、バッファ#2のデータ出力からバッファ#1のデータ出力へ切り替える。一方、たとえば、あらたに検知された1処理単位分のデータがバッファ#2に記憶された場合、バッファ切替部505は、バッファ#1のデータ出力からバッファ#2のデータ出力へ切り替える。
(検出装置100の機能的構成例)
図6は、検出装置100の機能的構成を示すブロック図である。検出装置100の各CPU101は、選択部601と、第1の実行部602と、設定部603と、判断部604と、複製部605と、第2の実行部606と、通知部607と、選択制御部608と、実行制御部609と、登録部610と、を有する。選択部601から通知部607の処理は、たとえば、ROM106、RAM105などの記憶装置に記憶された検出プログラムにコーディングされている。各CPU101が該検出プログラムを記憶装置からロードし、検出プログラムにコーディングされた処理を実行することにより、選択部601から通知部607の機能が実現される。
各機能部の処理結果は、たとえば、それぞれのローカルメモリ102の作業領域に記憶される。つぎに、各機能部について、図7〜図11を用いて詳細に説明する。以降の説明において、各機能部に付された“−番号”はCPU101に付された番号に対応しており、各CPU101の機能部であることを示している。
図7は、障害が発生したCPU101がない場合の検出装置100の動作例を示す説明図である。図7では、CPU101−1を例に挙げる。まず、選択部601−1は、複数のセンサ103のうちいずれのCPU101にも選択されていないセンサ103−1を選択する。つぎに、選択部601−1は、選択中にセンサ103−1からデータを取得する。そして、選択部601−1は、データ取得が完了すると選択を解除する。判断部604−1は、選択部601−1による選択中にセンサ103−1が実行中状態であるか否かを判断する。
具体的には、たとえば、選択部601−1は、センサ103−1のデータ状態フラグを巡回する。たとえば、選択部601−1は、時刻t0において、データ状態フラグが「READY」になったセンサ103−1を検出する。これにより、選択部601−1は、複数のセンサ103のうち、いずれのCPU101にも選択されていないセンサ103−1を検出することができる。また、選択部601−1は、データ状態フラグが「EMPTY」のセンサ103−1を選択できないこととする。
そして、たとえば、判断部604−1は、選択部601−1によって検出されたセンサ103−1の処理状態フラグに「EXECUTING」が設定されているか判断する。上述したように、「EXECUTING」はセンサ103−1が実行中状態であることを示す。ここでは、「FINISHED」が設定されているため、判断部604−1は、センサ103−1が実行中状態でないと判断する。これにより、判断部604−1は、センサ103−1に応じた処理を実行中に障害が発生したCPU101がないと判断する。
つぎに、たとえば、選択部601−1は、データ状態フラグを「TRANSFERRING」に設定する。選択部601−1は、CAS(COMPARE−AND−SWAP)の機能を用いて排他的にデータ状態フラグを「TRANSFERRING」に設定してもよい。これにより、選択部601−1は、センサ103−1を選択する。そして、たとえば、選択部601−1は、センサ103−1のバッファ#0またはバッファ#1から1処理単位分のデータを取得する。たとえば、選択部601−1は、取得したデータをローカルメモリ102−1のセンサデータ領域に格納する。
つぎに、たとえば、選択部601−1は、データの取得が終了すると、データ状態フラグを「EMPTY」に設定する。これにより、選択部601−1は、センサ103−1の選択を解除することができる。
第1の実行部602−1は、選択部601−1による選択中に取得されたデータに基づいて、センサ103−1に応じた処理を実行する。そして、設定部603−1は、第1の実行部602−1によるセンサ103−1に応じた処理の実行中にセンサ103−1を実行中状態に設定し、第1の実行部602−1によるセンサ103−1に応じた処理の実行が終了すると実行済状態に設定する。
具体的には、たとえば、設定部603−1は、第1の実行部602−1によるセンサ103−1に応じた処理の実行開始前に、センサ103−1の処理状態フラグを「EXECUTING」に設定する。これにより、設定部603−1は、センサ103−1を実行中状態に設定することができる。さらに、たとえば、登録部610−1は、LastCPU#1にCPU101−1の識別情報を設定する。
つぎに、たとえば、第1の実行部602−1は、センサ103−1のドライバをROM106からロードする。たとえば、第1の実行部602−1は、ローカルメモリ102のセンサデータ領域に記憶されたデータに基づいてセンサ103−1のドライバを実行する。センサ103−1に応じた処理とは、温度センサを例に挙げると、温度が閾値を超えていないか否かの判断や平均値の計算が挙げられる。たとえば、第1の実行部602−1は、データに基づいてセンサ103−1のドライバを実行中に異常を検出したら、割り込み信号線に割り込み信号を出力することにより、異常をMPU104に通知する。温度センサを例に挙げると、温度が閾値を超えていたら、第1の実行部602−1は、異常が発生したと判断してもよい。
つぎに、たとえば、設定部603−1は、第1の実行部602−1によるセンサ103−1に応じた処理の実行が終了した場合、センサ103−1の処理状態フラグを「FINISHED」に設定する。これにより、設定部603−1は、センサ103−1を実行済状態に設定することができる。
つぎに、センサ103−1に応じた処理を実行中に障害が発生したCPU101がある場合についての検出装置100の動作例を説明する。
図8は、障害が発生したCPU101がある場合の検出装置100の動作例1を示す説明図である。上述したように、判断部604−1は、選択部601−1によって検出されたセンサ103−1の処理状態フラグが「EXECUTING」であるか否かを判断する。図8の例では、センサ103−1の処理状態フラグが「EXECUTING」である。これにより、判断部604−1は、センサ103−1に応じた処理を実行中に障害が発生したCPU101があると判断する。
ここでは、センサ103−1によって1処理単位分のあるデータがセンサ103−1内のバッファに溜まる間には、あるデータに基づくセンサ103−1に応じた処理は終了しているように、検出装置100は設計者によって設計されている。データ状態フラグが「READY」から「EMPTY」に変化した場合、すなわち、つぎのデータがセンサ103−1内のデータに溜まったにも関わらず、センサ103−1の処理状態フラグが「EXECUTING」であることは通常発生しない。そのため、ここでは、判断部604−1は、あるデータに基づくセンサ103−1に応じた処理を実行していたCPU101に障害が発生したと判断している。
そして、選択制御部608−1は、判断部604−1によって実行中状態であると判断された場合、選択部601−1にデータの取得を実行させずに、選択を解除させる。具体的には、たとえば、選択制御部608−1は、判断部604−1によってセンサ103−1の処理状態フラグが「EXECUTING」であると判断された場合、選択部601−1によってデータ状態フラグを「TRANSFERRING」に設定させない。これにより、選択部601−1は、センサ103−1の選択を行わない。
つぎに、複製部605−1は、判断部604−1によって実行中状態であると判断された場合、選択部601−1によるデータの取得を実行せず。そして、複製部605−1は、センサ103−1を実行中状態に設定したCPU101−2から該CPU101−2がセンサ103−1から取得したデータを複製する。設定部603−1は、第2の実行部606−1によるセンサ103−1に応じた処理を実行中にセンサ103−1を再実行中状態に設定し、第2の実行部606−1によるセンサ103−1に応じた処理の実行が終了するとセンサ103−1を実行済状態に設定する。
具体的には、たとえば、第2の実行部606−1は、LastCPU#1に登録された識別情報を取得する。そして、たとえば、設定部603−1は、センサ103−1の処理状態フラグを「RETRYING」に設定する。設定部603−1は、CASの機能を用いてセンサ103−1の処理状態フラグを「RETRYING」に排他的に設定してもよい。つぎに、たとえば、複製部605−1は、設定部603−1によって取得された識別情報が示すCPU101−2が有するローカルメモリ102−2のセンサデータ領域に記憶されているデータを、ローカルメモリ102−1のセンサデータ領域に複製する。
通知部607−1は、センサ103−1を実行中状態に設定したCPU101−2に再起動要求を通知する。第2の実行部606−1は、複製部605−1によって複製されたデータに基づいて、センサ103−1に応じた処理を実行する。具体的には、たとえば、通知部607−1は、取得された識別情報が示すCPU101−2へ再起動要求を通知する。これにより、CPU101−2は、再起動を行う。たとえば、第2の実行部606−1は、設定部603−1によるセンサ103−1の処理状態フラグが「RETRYING」に設定された後、複製部605−1によって複製されたデータに基づいて、センサ103−1に応じた処理を実行する。
つぎに、たとえば、選択部601−3は、時刻t3において、データ状態フラグが「READY」であるセンサ103−1を検出する。たとえば、判断部604−3は、選択部601−3によって検出されたセンサ103−1の処理状態フラグに「EXECUTING」が設定されているか判断する。ここでは、「RETRYING」が設定されているため、判断部604−3は、センサ103−1が実行中状態でないと判断する。
また、判断部604−3は、センサ103−1が再実行中状態であるか否かを判断する。具体的には、たとえば、判断部604−3は、選択部601−3によって検出されたセンサ103−1の処理状態フラグに「RETRYING」が設定されているか判断する。ここでは、「RETRYING」が設定されているため、判断部604−3は、センサ103−1が再実行中状態であると判断する。これにより、判断部604−3は、センサ103−1に応じた処理を実行中に障害が発生したCPU101−2に対していずれかのCPU101で復帰処理が行われていると判断する。
つぎに、たとえば、選択部601−3は、処理状態フラグが「RETRYING」であるため、データ状態フラグを「TRANSFERRING」に設定する。選択部601−3は、CASの機能を用いてセンサ103−1のデータ状態フラグを「TRANSFERRING」に排他的に設定してもよい。そして、たとえば、選択部601−3は、センサ103−1のバッファ#0またはバッファ#1から1処理単位分のデータを取得する。たとえば、選択部601−3は、取得したデータをローカルメモリ102のセンサデータ領域に格納する。さらに、たとえば、選択部601−3は、データの取得が終了すると、データ状態フラグを「EMPTY」に設定する。これにより、選択部601−3は、センサ103−1の選択を解除することができる。
つぎに、設定部603−3は、判断部604−3によってセンサ103−1が再実行中状態であると判断された場合、センサ103−1を再実行中かつ実行中状態に設定する。具体的には、たとえば、設定部603−3は、処理状態フラグが「RETRYING」であるため、第1の実行部602−3によるセンサ103−1に応じた処理の実行開始前に、センサ103−1の処理状態フラグを「RETRYING&EXECUTING」に設定する。さらに、たとえば、登録部610−3は、センサ103−1のLastCPU#1にCPU101−3の識別情報を登録する。
そして、たとえば、第1の実行部602−3は、センサ103−1のドライバをROM106からロードする。たとえば、第1の実行部602−3は、ローカルメモリ102のセンサデータ領域に記憶されたデータに基づいてセンサ103−1のドライバを実行する。
つぎに、判断部604−1は、第2の実行部606−1によるセンサ103−1に応じた処理の実行が終了すると、センサ103−1が再実行中かつ実行中状態であるか否かを判断する。そして、設定部603−1は、判断部604−1によってセンサ103−1が再実行中かつ実行中状態であると判断された場合、センサ103−1を実行中状態にする。
具体的には、たとえば、判断部604−1は、第2の実行部606−1によるセンサ103−1に応じた処理の実行が時刻t4において終了すると、センサ103−1の処理状態フラグが「RETRYING&EXECUTING」であるか否かを判断する。ここでは、センサ103−1の処理状態フラグに「RETRYING&EXECUTING」が設定されている。そのため、たとえば、設定部603−1は、センサ103−1の処理状態フラグが「RETRYING&EXECUTING」であると判断された場合、センサ103−1の処理状態フラグを「EXECUTING」にする。
つぎに、判断部604−3は、第1の実行部602−3によるセンサ103−1に応じた処理の実行が終了すると、センサ103−1がいずれの状態であるか判断する。具体的には、たとえば、判断部604−3は、第1の実行部602−3によるセンサ103−1に応じた処理の実行が時刻t5において終了すると、センサ103−1の処理状態フラグを取得する。たとえば、判断部604−3は、センサ103−1の処理状態フラグに設定された情報がいずれの情報であるかを判断する。ここでは、センサ103−1の処理状態フラグには「EXECUTING」が設定されている。
設定部603−3は、判断部604−3によってセンサ103−1が実行中状態であると判断された場合、センサ103−1を実行済状態にする。具体的には、たとえば、設定部603−3は、判断部604−3によってセンサ103−1の処理状態フラグに「EXECUTING」が設定されていると判断された場合、センサ103−1の処理状態フラグに「FINISHED」を設定する。
これにより、検出装置100は、障害が発生したCPUが実行していた処理を他のCPUで再実行させることができる。
図9は、障害が発生したCPU101がある場合の検出装置100の動作例2を示す説明図である。CPU101−1が再実行中にCPU101−3がセンサ103−1からのデータ取得を開始し、CPU101−1が再実行を終了した後に、CPU101−3はセンサ103−1からデータ取得を終了する場合がある。そのため、CPU101−3はセンサ103−1からデータを取得する処理が終了したら、センサ103−1がいずれの状態であるかを判断する。そして、CPU101−3は、判断結果に応じてセンサ103−1をいずれの状態にするか決定する。
たとえば、時刻t3’において、選択部601−3は、データ状態フラグを「TRANSFERRING」に設定することにより、排他制御処理を実行する。たとえば、選択部601−3は、センサ103−1からデータを取得する。たとえば、選択部601−3がデータを取得している間に、設定部603−1は、第2の実行部606−1による実行が終了すると、センサ103−1の処理状態フラグを「RETRYING」から「FINISHED」に設定する。
つぎに、たとえば、判断部604−3は、選択部601−3によるデータの取得が終了すると、センサ103−1の処理状態フラグを取得する。判断部604−3は、処理状態フラグに設定された情報がいずれの情報であるかを判断する。ここでは、「FINISHED」が設定されている。そのため、設定部603−3は、センサ103−1の処理状態フラグを「EXECUTING」に設定し、第1の実行部602−3は、選択部601−3によって取得されたデータに基づいてセンサ103−1に応じた処理を実行する。
図10は、障害が発生したCPU101がある場合の検出装置100の動作例3を示す説明図である。障害が発生したCPU101−2で実行していた処理を再実行するCPU101−1よりも、あらたなデータに基づくセンサ103−1に応じた処理を実行するCPU101−3が先に処理を終了すると、実行順序が代わってしまう。そこで、図10では、CPU101−3は、CPU101−1の処理終了を待って、処理を終了する。図10は、時刻t5までは図8の例と同一であるため、時刻t5までの詳細な説明を省略する。
判断部604−3は、第1の実行部602−3によってセンサ103−1に応じた処理の実行結果が得られた場合に、センサ103−1が再実行中かつ実行中状態であるか否かを判断する。実行制御部609−3は、判断部604−3によってセンサ103−1が再実行中かつ実行中状態であると判断された場合、第2の実行部606−3の実行を終了させない。設定部603−3は、判断部604−3によってセンサ103−1が再実行中かつ実行中状態であると判断された場合、センサ103−1を再実行中かつ実行済状態にする。
具体的には、たとえば、判断部604−3は、第1の実行部602−3によってセンサ103−1に応じた処理の実行結果が得られた場合に、センサ103−1の処理状態フラグを取得する。たとえば、判断部604−3は、センサ103−1の処理状態フラグが「RETRYING&EXECUTING」であるか否かを判断する。ここでは、センサ103−1の処理状態フラグは、「RETRYING&EXECUTING」である。これにより、判断部604−3は、障害が発生したCPU101−2が実行していた処理を再実行するCPU101に対して再実行の処理が終了したか否かを問い合わせなくとも、未だ実行が終了していないと判断することができる。
設定部603−3は、判断部604−3によってセンサ103−1の処理状態フラグ「RETRYING&FINISHED」に設定する。図10では、「RETRYING&FINISHED」が、「RET&FIN」に省略されている。そして、実行制御部609−3は、判断部604−3によってセンサ103−1の処理状態フラグが「RETRYING&EXECUTING」であると判断された場合、センサ103−1のドライバを実行状態のまま待機させる。
判断部604−1は、第2の実行部606−1によるセンサ103−1に応じた処理の実行が終了すると、センサ103−1が再実行中かつ実行済状態であるか否かを判断する。そして、設定部603−1は、判断部604−1によってセンサ103−1が再実行中かつ実行済状態であると判断された場合、センサ103−1を実行中状態に設定する。
具体的には、たとえば、判断部604−1は、第2の実行部606−1によるセンサ103−1に応じた処理の実行が終了すると、センサ103−1の処理状態フラグを取得する。さらに、たとえば、判断部604−1は、センサ103−1の処理状態フラグが「RETRYING&FINISHED」であるか否かを判断する。ここでは、時刻t4’では、「RETRYING&FINISHED」である。たとえば、設定部603−1は、センサ103−1の処理状態フラグが「RETRYING&FINISHED」であると判断された場合、センサ103−1の処理状態フラグを「EXECUTING」にする。
判断部604−3は、設定部603−3によりセンサ103−1を再実行中かつ実行済状態に設定後、センサ103−1が再実行中かつ実行済状態から実行中状態になるか否かを判断する。実行制御部609−3は、判断部604−3によってセンサ103−1が再実行中かつ実行済み状態から実行中状態になったと判断された場合、第1の実行部602によるセンサ103−1に応じた処理の実行を終了させる。そして、設定部603−3は、第1の実行部602−3によるセンサ103−1に応じた処理の実行が終了すると、判断部604−3によってセンサ103−1が実行中状態であると判断された場合、センサ103−1を実行済状態にする。
図10の時刻t4’では、設定部603−1によって、センサ103−1の処理状態フラグが「RETRYING&FINISHED」から「EXECUTING」に変更された。そのため、判断部604−3は、センサ103−1の処理状態フラグが「RETRYING&FINISHED」から「EXECUTING」になったと判断する。そして、たとえば、実行制御部609−3は、判断部604−3によってセンサ103−1の処理状態フラグが「RETRYING&FINISHED」から「EXECUTING」になったと判断された場合、センサ103−1のドライバを終了させる。設定部603−3は、第1の実行部602−3によるセンサ103−1に応じた処理の実行が終了すると、センサ103−1の処理状態フラグを「FINISHED」に設定する。
これにより、検出装置100は、データの検知された順序を遵守してセンサ103−1に応じた処理を実行することができる。したがって、各センサ103−1によって検知されたデータに基づくセンサ103−1に応じた処理を継続的に実行させることができる。
図11は、障害が発生したCPU101がある場合の検出装置100の動作例4を示す説明図である。図11では、検出装置100は、再実行中のCPU101−1に障害が発生した場合、データに不具合があると判断し、該データに基づくセンサ103−1に応じた処理を止める。図11では、選択部601−2は、時刻t6において、データ状態フラグが「READY」であることを検出する。
そして、判断部604−2は、選択部601−2による選択中にセンサ103−1が再実行中かつ実行中状態であるか否かを判断する。具体的には、たとえば、判断部604−2は、センサ103−1のデータ状態フラグが「READY」の場合に、センサ103−1の処理状態フラグを取得する。たとえば、判断部604−2は、センサ103−1の処理状態フラグが「RETRYING&EXECUTING」であるか否かを判断する。ここでは、センサ103−1の処理状態フラグが「RETRYING&EXECUTING」である。
上述したように、データ状態フラグが「EMPTY」から「READY」へ変化する間に、各CPU101はセンサ103−1から取得したデータに基づいてセンサ103−1に応じた処理の実行を終了する。データ状態フラグが「READY」であるにも関わらず、センサ103−1の処理状態フラグが「RETRYING&EXECUTING」である場合、再実行中のCPU101−1と実行中のCPU101−3の両方に障害が発生している可能性がある。
そのため、通知部607−2は、センサ103−1に状態を設定する前に、センサ103−1の状態を「RETRYING&EXECUTING」に設定したCPU101に再起動要求を通知する。具体的には、たとえば、通知部607−2は、LastCPU#2に登録された識別情報を取得する。通知部607−2は、取得した識別情報が示すCPU101−1に再起動要求を通知する。これにより、CPU101−1は、再起動を行う。
設定部603−2は、センサ103−1が再実行中かつ実行中状態である場合、センサ103−1を実行中状態に設定する。登録部610−2は、設定部603−2によってセンサ103−1の状態が設定された場合、センサ103−1の第2の記憶領域にCPU101−2の識別情報を登録する。そして、CPU101−2は、図8に示したCPU101−3の処理と同様の処理を行い、CPU101−4は、センサ103−1があらたに検知したデータに基づくセンサ103−1に応じた処理を実行する。
これにより、検出装置100は、データに基づくセンサに応じた処理によって連続してCPUが障害を発生する場合、データに不具合があると判断し、そのデータに基づいてセンサに応じた処理を実行するのを止める。したがって、検出装置100は、不具合があるデータを破棄することによって、各センサによって検知されたデータに基づくセンサに応じた処理を継続的に実行させることができる。
(検出装置100の各CPU101が行う処理手順)
図12〜図16は、検出装置100の各CPU101が行う処理手順を示すフローチャートである。ここでは、たとえば、各CPU101は、複数のセンサ103からセンサ103の識別情報順に監視対象センサにしている。まず、CPU101は、監視対象センサのデータ状態フラグを取得する(ステップS1201)。そして、CPU101は、取得したデータ状態フラグが「READY」であるか否かを判断する(ステップS1202)。「READY」でない場合(ステップS1202:No)、CPU101は、監視対象センサをつぎのセンサ103に変更し(ステップS1215)、ステップS1201へ戻る。
一方、「READY」である場合(ステップS1202:Yes)、CPU101は、監視対象センサの処理状態フラグを取得する(ステップS1203)。そして、CPU101は、処理状態フラグが「FINISHED」であるか否かを判断する(ステップS1204)。「FINISHED」である場合(ステップS1204:Yes)、CPU101は、データ状態フラグを「READY」から「TRANSFERRING」に変更する(ステップS1205)。このように、CPU101は、データ状態フラグを「TRANSFERRING」に設定することにより、排他制御処理を行う。
つぎに、CPU101は、変更が成功したか否かを判断する(ステップS1206)。変更が失敗した場合(ステップS1206:No)、CPU101は、ステップS1215へ移行する。
一方、変更が成功した場合(ステップS1206:Yes)、CPU101は、LastCPU#1に識別情報を登録する(ステップS1207)。そして、CPU101は、監視対象センサからデータを取得し、ローカルメモリ102のセンサデータ領域に格納する(ステップS1208)。つぎに、CPU101は、データ状態フラグを「EMPTY」に設定する(ステップS1209)。
そして、CPU101は、処理状態フラグを「EXECUTING」に設定し、取得したデータに基づいてセンサ103に応じた処理を実行する(ステップS1210)。CPU101は、実行中に異常検出したか否かを判断する(ステップS1211)。異常が検出されない場合(ステップS1211:No)、ステップS1214へ移行する。異常が検出された場合(ステップS1211:Yes)、CPU101は、メインメモリに異常情報を記録する(ステップS1212)。そして、CPU101は、MPU104へ割り込みを行う(ステップS1213)。MPU104は、CPU101からの割り込み信号を受け付けると、I/F107を介して他の端末へ通知してもよい。または、検出装置100がディスプレイなどの出力装置を有していれば、MPU104は、出力装置に異常を出力してもよい。そして、ステップS1213のつぎに、CPU101は、処理状態フラグを「FINISHED」に変更し(ステップS1214)、ステップS1215へ移行する。
一方、ステップS1204において、「FINISHED」でない場合(ステップS1204:No)、ステップS1301へ移行する。以上説明したステップS1201〜ステップS1215の動作例は、図7に示している。
ステップS1204のNoの場合または後述するステップS1606のつぎに、CPU101は、監視対象センサの処理状態フラグが「EXECUTING」であるか否かを判断する(ステップS1301)。監視対象センサの処理状態フラグが「EXECUTING」である場合(ステップS1301:Yes)、CPU101は、LastCPU#1に記録されたCPU101の識別情報を取得する(ステップS1302)。そして、CPU101は、監視対象センサの処理状態フラグを「EXECUTING」から「RETRYING」に変更する(ステップS1303)。
つぎに、CPU101は、変更が成功したか否かを判断する(ステップS1304)。変更が失敗した場合(ステップS1304:No)、ステップS1314へ移行する。変更が成功した場合(ステップS1304:Yes)、CPU101は、監視対象センサのLastCPU#2に識別情報を登録する(ステップS1305)。そして、CPU101は、取得したLastCPU#1の識別情報が示すCPU101のローカルメモリ102のセンサデータ領域のデータを、ローカルメモリ102のセンサデータ領域に複製する(ステップS1306)。そして、CPU101は、取得したLastCPU#1の識別情報が示すCPU101に再起動要求を通知する(ステップS1307)。これにより、LastCPU#1の識別情報が示すCPU101は再起動する。
つぎに、CPU101は、複製したデータに基づいて監視対象センサに応じた処理を実行する(ステップS1308)。ここでは、実行中に異常が検出された場合について省略するが、CPU101は、ステップS1211〜ステップS1213で説明した処理と同様の処理を行う。そして、CPU101は、監視対象センサの処理状態フラグを取得する(ステップS1309)。CPU101は、監視対象センサの処理状態フラグが「RETRYING&EXECUTING」であるか否かを判断する(ステップS1310)。
監視対象センサの処理状態フラグが「RETRYING&EXECUTING」である場合(ステップS1310:Yes)、CPU101は、監視対象センサの処理状態フラグを「EXECUTING」に変更する(ステップS1311)。そして、CPU101は、変更が成功したか否かを判断する(ステップS1312)。
つぎに、変更が成功した場合(ステップS1312:Yes)、ステップS1314へ移行する。一方、変更が失敗した場合(ステップS1312:No)、ステップS1309へ戻る。
ステップS1310において、監視対象センサの処理状態フラグが「RETRYING&EXECUTING」でない場合(ステップS1310:No)、CPU101は、監視対象センサの処理状態フラグを「FINISHED」に変更する(ステップS1313)。
ステップS1312のYesの場合、ステップS1304のNoの場合、またはステップS1313のつぎに、CPU101は、監視対象センサをつぎのセンサ103に変更し(ステップS1314)、ステップS1201へ戻る。
監視対象センサの処理状態フラグが「EXECUTING」でない場合(ステップS1301:No)、ステップS1401へ移行する。以上説明したステップS1301〜ステップS1314の動作例は、図8に示している。
そして、ステップS1301のNoの場合のつぎに、CPU101は、監視対象センサの処理状態フラグが「RETRYING」であるか否かを判断する(ステップS1401)。監視対象センサの処理状態フラグが「RETRYING」の場合(ステップS1401:Yes)、CPU101は、監視対象センサのデータ状態フラグを「READY」から「TRANSFERRING」に変更する(ステップS1402)。そして、CPU101は、変更が成功したか否かを判断する(ステップS1403)。
変更が成功した場合(ステップS1403:Yes)、CPU101は、LastCPU#1に識別情報を登録し(ステップS1404)、監視対象センサの処理状態フラグを取得する(ステップS1405)。CPU101は、取得した処理状態フラグが「RETRYING」であるか否かを判断する(ステップS1406)。処理状態フラグが「RETRYING」の場合(ステップS1406:Yes)、CPU101は、監視対象センサの処理状態フラグを「RETRYING&EXECUTING」に変更し(ステップS1407)、ステップS1409へ移行する。
一方、処理状態フラグが「RETRYING」でない場合(ステップS1406:No)、CPU101は、監視対象センサの処理状態フラグを「EXECUTING」に変更し(ステップS1408)、ステップS1409へ移行する。
ステップS1407またはステップS1408のつぎに、CPU101は、変更が成功したか否かを判断する(ステップS1409)。変更が失敗した場合(ステップS1409:No)、ステップS1406へ戻る。変更が成功した場合(ステップS1409:Yes)、CPU101は、監視対象センサからデータを取得する(ステップS1410)。つぎに、CPU101は、監視対象センサのデータ状態フラグを「EMPTY」に設定し(ステップS1411)、センサ103に応じた処理を実行し(ステップS1412)、ステップS1501へ移行する。
一方、ステップS1403において、変更が失敗した場合(ステップS1403:No)、CPU101は、監視対象センサをつぎのセンサ103に変更し(ステップS1413)、ステップS1201へ戻る。
ステップS1412または後述するステップS1507のNoの場合のつぎに、CPU101は、監視対象センサの処理状態フラグを取得する(ステップS1501)。CPU101は、監視対象センサの処理状態フラグが「EXECUTING」であるか否かを判断する(ステップS1502)。監視対象センサの処理状態フラグが「EXECUTING」でない場合(ステップS1502:No)、CPU101は、「RETRYING&EXECUTING」であるか否かを判断する(ステップS1503)。
「RETRYING&EXECUTING」である場合(ステップS1503:Yes)、ステップS1506へ移行する。一方、「RETRYING&EXECUTING」でない場合(ステップS1503:No)、CPU101は、監視対象センサの処理状態フラグを「RETRYING&FINISHED」に変更する(ステップS1504)。そして、CPU101は、変更が成功したか否かを判断する(ステップS1505)。変更が失敗した場合(ステップS1505:No)、ステップS1501へ戻る。変更が成功した場合(ステップS1505:Yes)、ステップS1506へ移行する。
ステップS1503のYesの場合、またはステップS1505のYesの場合のつぎに、CPU101は、監視対象センサのデータ状態フラグを取得する(ステップS1506)。CPU101は、監視対象センサのデータ状態フラグが「READY」であるか否かを判断する(ステップS1507)。監視対象センサのデータ状態フラグが「READY」でない場合(ステップS1507:No)、ステップS1501へ戻る。CPU101は、監視対象センサのデータ状態フラグが「READY」である場合(ステップS1507:Yes)、CPU101は、LastCPU#2に登録されたCPU101の識別情報を取得する(ステップS1508)。
そして、CPU101は、LastCPU#2の識別情報が示すCPU101に再起動要求を通知する(ステップS1509)。CPU101は、メインメモリへ異常情報を記録し(ステップS1510)、MPU104へ割り込みを行う(ステップS1511)。そして、CPU101は、監視対象センサの処理状態フラグを「FINISHED」に変更し(ステップS1512)、ステップS1517へ移行する。
一方、ステップS1502において、監視対象センサの処理状態フラグが「EXECUTING」の場合(ステップS1502:Yes)、CPU101は、異常を検出したか否かを判断する(ステップS1513)。異常が検出されなかった場合(ステップS1513:No)、ステップS1516へ移行する。一方、異常が検出された場合(ステップS1513:Yes)、CPU101は、メインメモリへ異常情報を記録し(ステップS1514)、MPU104へ割り込みを行う(ステップS1515)。そして、CPU101は、監視対象センサの処理状態フラグを「FINISHED」に変更し(ステップS1516)、ステップS1517へ移行する。
ステップS1512またはステップS1516のつぎに、CPU101は、監視対象センサをつぎのセンサ103に変更し(ステップS1517)、ステップS1201へ戻る。
ステップS1401において、監視対象センサの処理状態フラグが「RETRYING」でない場合(ステップS1401:No)、ステップS1601へ移行する。CPU101は、監視対象センサの処理状態フラグが「RETRYING&EXECUTING」または「RETRYING&FINISHED」のいずれであるかを判断する(ステップS1601)。監視対象センサの処理状態フラグが「RETRYING&EXECUTING」である場合(ステップS1601:RET&EXE)、CPU101は、LastCPU#2に登録された識別情報を取得する(ステップS1602)。
つぎに、CPU101は、監視対象センサの処理状態フラグを「RETRYING&EXECUTING」から「EXECUTING」に変更する(ステップS1603)。そして、CPU101は、変更が成功したか否かを判断する(ステップS1604)。変更が成功した場合(ステップS1604:Yes)、CPU101は、LastCPU#2の識別情報が示すCPU101に再起動要求を通知する(ステップS1605)。CPU101は、監視対象センサの処理状態フラグを取得し(ステップS1606)、ステップS1301へ移行する。
変更が失敗した場合(ステップS1604:No)、または監視対象センサの処理状態フラグが「RETRYING&FINISHED」である場合(ステップS1601:RET&FIN)、ステップS1607へ移行する。CPU101は、監視対象センサをつぎのセンサ103に変更し(ステップS1607)、ステップS1201へ戻る。
(各センサ103の制御部504による処理手順)
図17は、各センサ103の制御部504が行う処理手順を示すフローチャートである。まず、各センサ103の制御部504は、センサ103の起動時に、データ状態フラグを「EMPTY」、処理状態フラグを「FINISHED」に設定する(ステップS1701)。つぎに、制御部504は、1処理単位分のデータがバッファに溜まったか否かを判断する(ステップS1702)。1処理単位分のデータがバッファに溜まっていない場合(ステップS1702:No)、制御部504は、ステップS1702へ戻る。
一方、1処理単位分のデータがバッファに溜まった場合(ステップS1702:Yes)、制御部504は、データ状態フラグを「READY」に設定し(ステップS1703)、データ状態フラグが「EMPTY」になったか否かを判断する(ステップS1704)。すなわち、いずれかのCPU101がバッファに溜まったデータを取得したか否かを判断する。
データ状態フラグが「EMPTY」になっていない場合(ステップS1704:No)、ステップS1704に戻る。一方、データ状態フラグが「EMPTY」になった場合(ステップS1704:Yes)、制御部504は、センサバス112からアクセスされるバッファ領域を入れ替え(ステップS1705)、一連の処理を終了する。
以上説明したように、複数のCPUの各CPUは、センサが生成したデータを取得しようとしたら、センサが実行中状態であるため、該センサを実行中状態に設定したCPUからデータを取得してセンサに応じた処理を実行する。これにより、検出装置は、障害が発生したCPUが実行していた処理を他のCPUに再実行させることができる。したがって、検出装置は、各センサによって検知されたデータに基づくセンサに応じた処理を継続的に実行させることができる。
また、障害が発生したCPUがあることを検出したCPUは、センサの選択を解除し、センサを再実行中状態に設定することにより、他のCPUは、あらたにセンサを選択することができる。これにより、検出装置は、一のCPUには故障中のCPUが行っていた処理を再実行させつつ、他のCPUにはあらたなデータに基づいて、センサに応じた処理を実行させることができる。したがって、検出装置は、各センサによって検知されたデータに基づくセンサに応じた処理を継続的に実行させることができ、リアルタイム制約を遵守させることができる。
また、一のCPUが故障中のCPUが行っていた処理を再実行し、他のCPUがあらたなデータに基づくセンサに応じた処理を実行している場合には、他のCPUはセンサを再実行中かつ実行中状態に設定する。これにより、検出装置は、故障中のCPUが行っていた処理と、あらたなデータに基づくセンサに応じた処理と、のいずれもが実行されていることを巡回中のCPUに判別させることができる。したがって、検出装置は、各センサによって検知されたデータに基づくセンサに応じた処理を継続的に実行させることができ、リアルタイム制約を遵守させることができる。
また、他のCPUによるあらたなデータに基づくセンサに応じた処理の実行が、一のCPUによる故障中のCPUが行っていた処理よりも先に終了する場合、他のCPUは、他のCPUによるあらたなデータに基づくセンサに応じた処理の終了を待機させる。これにより、検出装置は、データの検知順序に応じた実行順所を遵守させることができる。
また、障害が発生したCPUが行っていた処理の再実行が終了する場合に、センサが再実行中かつ実行済状態の場合、一のCPUが、センサを実行中状態に設定する。他のCPUは、センサを再実行中かつ実行済状態に設定後、センサが再実行中かつ実行済状態から実行中状態になることを検出すると、他のCPUの処理を終了する。これにより、センサの検知順序に応じた実行順序を遵守させることができる。
また、たとえば、検出装置の設計者は、CPUの処理能力とCPUの数をセンサの数とセンサの処理能力に応じて決定している。そのため、障害が発生したままのCPUを放置しておくと、複数のセンサに応じた処理に対して複数のCPUの処理能力が足りなくなる可能性がある。そこで、一のCPUが、障害が発生したと判断したCPUからデータを取得後に、該障害が発生したと判断したCPUに対して再起動要求を通知する。これにより、障害が発生したCPUは再起動を行う。したがって、検出装置は、各センサによって検知されたデータに基づくセンサに応じた処理を継続的に実行させることができ、リアルタイム制約を遵守させることができる。
また、検出装置は、データに基づくセンサに応じた処理によって連続してCPUが障害を発生する場合、データに不具合があると判断し、そのデータに基づいてセンサに応じた処理を実行するのを止める。したがって、検出装置は、不具合があるデータを破棄することによって、各センサによって検知されたデータに基づくセンサに応じた処理を継続的に実行させることができる。
なお、本実施の形態で説明した検出方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本検出プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本検出プログラムは、インターネット等のネットワークを介して配布してもよい。
100 検出装置
101−1〜101−n CPU
102−1〜102−n ローカルメモリ
103−1〜103−m センサ
601 選択部
602 第1の実行部
603 設定部
604 判断部
605 複製部
606 第2の実行部

Claims (10)

  1. 複数のセンサにアクセス可能な複数のプロセッサの各々が、
    前記複数のセンサのうちどのプロセッサにも選択されていないセンサを選択し、選択中に当該センサからデータを取得し、データ取得が完了すると選択を解除する選択部と、
    前記選択部による選択中に取得されたデータに基づいて、前記センサに応じた処理を実行する第1の実行部と、
    前記第1の実行部による前記センサに応じた処理の実行中に前記センサを実行中状態に設定し、前記第1の実行部による前記センサに応じた処理の実行が終了すると実行済状態に設定する設定部と、
    前記選択部による選択中に前記センサが実行中状態であるか否かを判断する判断部と、
    前記判断部によって実行中状態であると判断された場合、前記データの取得を実行せずに、前記センサを実行中状態に設定したプロセッサから、当該プロセッサが前記センサから取得したデータを複製する複製部と、
    前記複製部によって複製されたデータに基づいて、前記センサに応じた処理を実行する第2の実行部と、
    を有することを特徴とする検出装置。
  2. 前記各々のプロセッサは、
    前記判断部によって実行中状態であると判断された場合、前記選択部に前記データの取得を実行させずに、選択を解除させる選択制御部を有し、
    前記設定部は、
    前記第2の実行部による前記センサに応じた処理の実行中に前記センサを再実行中状態に設定し、前記第2の実行部による前記センサに応じた処理の実行が終了すると前記センサを実行済状態に設定することを特徴とする請求項1に記載の検出装置。
  3. 前記判断部は、
    さらに、前記選択部による選択中に前記センサが再実行中状態であるか否かを判断し、
    前記設定部は、
    前記センサが再実行中状態であると判断された場合、前記第1の実行部による前記センサに応じた処理の実行中に前記センサを再実行中かつ実行中状態に設定することを特徴とする請求項2に記載の検出装置。
  4. 前記各々のプロセッサが、
    前記第1の実行部による前記センサに応じた処理の実行終了を制御する実行制御部を有し、
    前記判断部は、
    前記第1の実行部によって前記センサに応じた処理の実行結果が得られた場合に、前記センサが再実行中かつ実行中状態であるか否かを判断し、
    前記実行制御部は、
    前記判断部によって前記センサが再実行中かつ実行中状態であると判断された場合、前記第2の実行部による前記センサに応じた処理の実行を終了させず、
    前記設定部は、
    前記判断部によって前記センサが再実行中かつ実行中状態であると判断された場合、前記センサを再実行中かつ実行済状態に設定する請求項3に記載の検出装置。
  5. 前記判断部は、
    前記第2の実行部による前記センサに応じた処理の実行が終了する場合に、前記センサが再実行中かつ実行済状態であるか否かを判断し、
    前記設定部は、
    前記判断部によって前記センサが再実行中かつ実行済状態であると判断された場合、前記センサを実行中状態に設定することを特徴とする請求項4に記載の検出装置。
  6. 前記判断部は、
    前記設定部により前記センサを再実行中かつ実行済状態に設定後、前記センサが再実行中かつ実行済状態から実行中状態になるか否かを判断し、
    前記実行制御部は、
    前記判断部によって前記センサが再実行中かつ実行済状態から実行中状態になったと判断された場合、前記第1の実行部による前記センサに応じた処理の実行を終了させることを特徴とする請求項5に記載の検出装置。
  7. 前記複数のプロセッサの各々が、
    前記複製部による複製後、前記プロセッサに再起動要求を通知する通知部を有することを特徴とする請求項1〜6のいずれか一つに記載の検出装置。
  8. 前記判断部は、
    前記選択部による選択中に前記センサが再実行中かつ実行中状態であるか否かを判断し、
    前記設定部は、
    前記センサが再実行中かつ実行中状態である場合、前記センサを実行中状態に設定することを特徴とする請求項3〜7のいずれか一つに記載の検出装置。
  9. 複数のセンサにアクセス可能な複数のプロセッサの各々が、
    前記複数のセンサのうちどのプロセッサにも選択されていないセンサを選択し、選択中に当該センサからデータを取得し、データ取得が完了すると選択を解除し、
    選択中に取得されたデータに基づいて、前記センサに応じた処理を実行し、
    選択中に取得されたデータに基づいて、前記センサに応じた処理を実行中に前記センサを実行中状態に設定し、選択中に取得されたデータに基づいて、前記センサに応じた処理の実行が終了すると実行済状態に設定し、
    選択中に前記センサが実行中状態であるか否かを判断し、
    実行中状態であると判断された場合、前記データの取得を実行せずに、前記センサを実行中状態に設定したプロセッサから、当該プロセッサが前記センサから取得したデータを複製し、
    複製されたデータに基づいて、前記センサに応じた処理を実行する、
    ことを特徴とする検出方法。
  10. 複数のセンサにアクセス可能な複数のプロセッサの各々に、
    前記複数のセンサのうちどのプロセッサにも選択されていないセンサを選択し、選択中に当該センサからデータを取得し、データ取得が完了すると選択を解除し、
    選択中に取得されたデータに基づいて、前記センサに応じた処理を実行し、
    選択中に取得されたデータに基づいて、前記センサに応じた処理を実行中に前記センサを実行中状態に設定し、選択中に取得されたデータに基づいて、前記センサに応じた処理の実行が終了すると実行済状態に設定し、
    選択中に前記センサが実行中状態であるか否かを判断し、
    実行中状態であると判断された場合、前記データの取得を実行せずに、前記センサを実行中状態に設定したプロセッサから、当該プロセッサが前記センサから取得したデータを複製し、
    複製されたデータに基づいて、前記センサに応じた処理を実行する、
    処理を実行させることを特徴とする検出プログラム。
JP2013552363A 2012-01-04 2012-01-04 検出装置、検出方法、および検出プログラム Expired - Fee Related JP5900514B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/050042 WO2013103001A1 (ja) 2012-01-04 2012-01-04 検出装置、検出方法、および検出プログラム

Publications (2)

Publication Number Publication Date
JPWO2013103001A1 true JPWO2013103001A1 (ja) 2015-05-11
JP5900514B2 JP5900514B2 (ja) 2016-04-06

Family

ID=48745075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013552363A Expired - Fee Related JP5900514B2 (ja) 2012-01-04 2012-01-04 検出装置、検出方法、および検出プログラム

Country Status (3)

Country Link
US (1) US20140316745A1 (ja)
JP (1) JP5900514B2 (ja)
WO (1) WO2013103001A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06230994A (ja) * 1993-02-04 1994-08-19 Nippondenso Co Ltd Cpuシステムの異常検出装置
JP2000181501A (ja) * 1998-12-14 2000-06-30 Hitachi Ltd 二重化制御装置
JP2009199246A (ja) * 2008-02-20 2009-09-03 Toshiba Corp ノード稼働監視システムおよびノード稼働監視方法
JP2010122752A (ja) * 2008-11-17 2010-06-03 Fujitsu Ten Ltd 制御装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6494616B1 (en) * 2000-08-04 2002-12-17 Regents Of The University Of Minnesota Multiplexed sensor array
US7006942B2 (en) * 2001-09-27 2006-02-28 Keyence Corporation Sensor management system and computer-readable medium for sensor management program
EP1618480A2 (en) * 2003-04-29 2006-01-25 University Of Strathclyde Monitoring software
US20060085668A1 (en) * 2004-10-15 2006-04-20 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups
US7378962B2 (en) * 2004-12-30 2008-05-27 Sap Aktiengesellschaft Sensor node management and method for monitoring a seal condition of an enclosure
US20110248846A1 (en) * 2010-04-13 2011-10-13 Green SHM Systems, Inc, Incorporated Wireless Sensing Module and Method of Operation
JP2012010026A (ja) * 2010-06-23 2012-01-12 Seiko Epson Corp 撮像装置及び撮像制御回路
US9535817B2 (en) * 2011-06-10 2017-01-03 Microsoft Technology Licensing, Llc Application development environment for portable electronic devices
US20130086589A1 (en) * 2011-09-30 2013-04-04 Elwha Llc Acquiring and transmitting tasks and subtasks to interface
US9106879B2 (en) * 2011-10-04 2015-08-11 Samsung Electronics Co., Ltd. Apparatus and method for automatic white balance with supplementary sensors
US9348656B2 (en) * 2011-12-19 2016-05-24 Advanced Micro Devices, Inc. Apparatus and method for managing power among a plurality of processors sharing a thermal platform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06230994A (ja) * 1993-02-04 1994-08-19 Nippondenso Co Ltd Cpuシステムの異常検出装置
JP2000181501A (ja) * 1998-12-14 2000-06-30 Hitachi Ltd 二重化制御装置
JP2009199246A (ja) * 2008-02-20 2009-09-03 Toshiba Corp ノード稼働監視システムおよびノード稼働監視方法
JP2010122752A (ja) * 2008-11-17 2010-06-03 Fujitsu Ten Ltd 制御装置

Also Published As

Publication number Publication date
US20140316745A1 (en) 2014-10-23
JP5900514B2 (ja) 2016-04-06
WO2013103001A1 (ja) 2013-07-11

Similar Documents

Publication Publication Date Title
TWI484343B (zh) 資訊處理裝置以及控制方法
US11016956B2 (en) Database management system with database hibernation and bursting
JP5562444B2 (ja) クラスタシステムにおいてクラスタ非対応アプリケーションをフェールオーバーするためのシステムおよび方法
US9647910B2 (en) Management server and control method of the management server for managing a service system virtually built using connected components
JP3253883B2 (ja) プロセスリスタート方法及びプロセス監視装置
US20090199041A1 (en) Storage configuration recovery method and storage management system
US7870226B2 (en) Method and system for an update synchronization of a domain information file
US10635473B2 (en) Setting support program, setting support method, and setting support device
JP2785998B2 (ja) 計算機システム
US20120089861A1 (en) Inter-processor failure detection and recovery
US20130042150A1 (en) Checkpoint Debugging Using Mirrored Virtual Machines
CN110413693B (zh) 一种数据库实时同步系统数据一致性的检验方法及装置
CN105915405A (zh) 一种大型集群节点性能监控系统
US9442784B2 (en) Management device, management method, and medium storing management program
US20150006978A1 (en) Processor system
US7401256B2 (en) System and method for highly available data processing in cluster system
CN107957918B (zh) 数据恢复方法和装置
JP7192388B2 (ja) 並列処理装置、並列演算実行プログラムおよびバックアップ方法
JP5900514B2 (ja) 検出装置、検出方法、および検出プログラム
CN109491856B (zh) 总线监控系统、方法及装置
US20150227599A1 (en) Management device, management method, and recording medium for storing program
JP2017227998A (ja) ミラーパケット制御プログラム、ミラーパケット制御方法およびミラーパケット制御装置
US20130174170A1 (en) Parallel computer, and job information acquisition method for parallel computer
CN112631872B (zh) 一种多核系统的异常处理方法及装置
US20210240351A1 (en) Remote copy system and remote copy management method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160222

R150 Certificate of patent or registration of utility model

Ref document number: 5900514

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees