JP2015138512A - 状態監視装置、状態監視方法、及び状態監視プログラム - Google Patents

状態監視装置、状態監視方法、及び状態監視プログラム Download PDF

Info

Publication number
JP2015138512A
JP2015138512A JP2014011471A JP2014011471A JP2015138512A JP 2015138512 A JP2015138512 A JP 2015138512A JP 2014011471 A JP2014011471 A JP 2014011471A JP 2014011471 A JP2014011471 A JP 2014011471A JP 2015138512 A JP2015138512 A JP 2015138512A
Authority
JP
Japan
Prior art keywords
monitoring
unit
application
execution
tool
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
JP2014011471A
Other languages
English (en)
Inventor
元 ▲高▼木
元 ▲高▼木
Hajime Takagi
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
Priority to JP2014011471A priority Critical patent/JP2015138512A/ja
Publication of JP2015138512A publication Critical patent/JP2015138512A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】スケジューリングにより実行されるアプリケーションの実行ミスを回避する。【解決手段】状態監視装置において、予め設定されたスケジュールに基づいて所定のタスクが実行されるアプリケーションを監視する複数の監視部を有し、前記監視部は、動作中の他の監視部を監視し、異常が発生した監視部が存在した場合に、前記異常が発生した監視部を再起動させて、前記複数の監視部が起動している状況を維持する。【選択図】図1

Description

本発明は、状態監視装置、状態監視方法、及び状態監視プログラムに関する。
Personal Computer(PC)等の情報処理装置において、スケジューリングされた常駐アプリケーションの実行時に何らかの原因で停止又はエラーとなった場合、管理者等が目視で確認したり、個別にアプリケーションの再起動等が必要となる。
例えば、予め設定された監視情報から異常の有無を判断し、異常があると判断した場合に、対象のプロセスを再起動する障害監視システムや、2つのコンピュータ間でそれぞれの実行プログラムの停止を監視する監視プログラムが存在する。
特開2001−56772号公報 特開2009−282601号公報
しかしながら、従来手法では、監視対象の状態を取得する間隔により問題が発生する。 例えば、間隔が数秒単位の短い間隔の場合には、システムへの負荷や監視ツール自体による他のアプリケーションへの影響が発生する可能性が大きくなる。逆に、数十分単位の長い間隔の場合には、監視対象アプリケーションでエラーが発生しても、状態の取得時間の谷間である場合には、すぐに異常を検知できない。
また、異常発生時の対応の一つである再起動は、顧客が作業中か又は事前に設定した時間帯でのOperating System(OS)の再起動のみに対応しており、複数の監視対象アプリケーションの動作スケジュールに基づいた適切な再起動ができない。また、2つのコンピュータ間で監視する場合に、一方で問題が発生した時間が、他方の監視対象アプリケーションの起動前である場合には、監視対象アプリケーションのエラー確認が実施できない事態が発生する。
1つの側面では、本発明は、スケジューリングにより実行されるアプリケーションの実行ミスを回避することを目的とする。
一態様における状態監視装置は、予め設定されたスケジュールに基づいて所定のタスクが実行されるアプリケーションを監視する複数の監視部を有し、前記監視部は、動作中の他の監視部を監視し、異常が発生した監視部が存在した場合に、前記異常が発生した監視部を再起動させて、前記複数の監視部が起動している状況を維持する。
スケジューリングにより実行されるアプリケーションの実行ミスを回避することができる。
状態監視装置の機能構成例を示す図である。 状態監視装置のハードウェア構成例を示す図である。 状態監視処理の一例を示すフローチャートである。 監視部における具体的な処理内容を説明するための図である。 監視ツールにおける監視対象アプリの監視内容を説明するための図である。 相互監視部の機能構成例を示す図である。 設定情報の入力画面例を示す図である。 記憶部に記憶される設定情報の一例を示す図である。 実施例に対応する設定情報の一例を示す図である。 監視ツールがダウンした場合の処理例を示す図(その1)である。 監視ツールがダウンした場合の処理例を示す図(その2)である。
以下、添付図面を参照しながら実施例について詳細に説明する。
<本実施形態における状態監視装置の機能構成例>
図1は、状態監視装置の機能構成例を示す図である。図1に示す情報処理装置の一例としての状態監視装置10は、入力部11と、出力部12と、記憶部13と、設定管理部14と、監視部15と、実行処理部16と、監視対象アプリケーション(以下、必要に応じて「アプリケーション」を「アプリ」と略称する)17とを有する。
入力部11は、ユーザ等から本実施形態における状態監視処理に関する各種設定情報等の入力等を受け付ける。なお、入力部11は、キーボードやマウス、タッチパネル等の入力インターフェースから入力された各種情報や指示の入力等を受け付けることができるが、これに限定されるものではない。
出力部12は、設定情報の入力画面や入力部11により入力された各種設定情報、入力された指示に対応する処理を実行した結果等を画面に表示してユーザに提示する。出力部12は、例えばディスプレイやモニタ、タッチパネル等であるが、これに限定されるものではない。
記憶部13は、本実施形態における状態監視装置10の処理で必要な各種情報を記憶する。記憶部13は、例えばユーザから入力された設定情報(例えば、実行するアプリ、アプリの動作スケジュール、動作テスト内容(コマンド等)、優先順位等)を記憶したり、処理実行命令情報、動作テスト結果、問題(異常、エラー)発生時の処理内容等を記憶する。記憶部13は、例えばディスク装置やメモリ等のストレージ手段である。
設定管理部14は、1又は複数の監視対象アプリ17を監視する各監視部15−1〜15−nを同時に動作させ、各監視部15−1〜15−nに対する設定や指示等の管理を行う。例えば、設定管理部14は、各監視部15−1〜15−nが正常に動作しているかの監視を各監視部同士で行わせたり、問題(異常、エラー)発生時の動作等の設定を行うこともできる。
監視部15は、例えば状態監視装置10で実行される1又は複数の監視対象アプリ17のそれぞれを監視する監視ツール(ソフトウェア)である。監視部15は、例えば予め割り当てられた1又は複数の監視対象アプリ17を監視する。また、監視部15は、他の監視部の監視も行う。例えば、本実施形態では、任意の個数の監視ツール(監視部15)を起動させ、それぞれの監視ツールがそれぞれ他の監視ツール及び監視対象アプリの状態監視を実施する。そのため、ある1つの監視ツールが停止した場合でも、他の監視ツールが監視対象アプリの監視を継続することができる。
ここで、監視部15の構成について説明する。監視部15−1〜15−nは、それぞれ、スケジュール管理部21と、動作テスト実施部22と、優先順位管理部23と、問題発生時処理実施部(処理実施部)24と、相互監視部25とを有する。
スケジュール管理部21は、設定管理部14から設定情報を受け取り、受け取った設定情報に含まれるテストスケジュール等を動作テスト実施部22に出力する。テストスケジュールは、例えば監視対象アプリ17が実行する所定のタスクの実行時間に基づいて、その時間よりも所定時間前の時間が設定される。
動作テスト実施部22は、スケジュール管理部21から得られるテストスケジュールの通知内容に基づいて、実行処理部16に対し、監視対象アプリ17への動作テスト実施要求を出力する。動作テスト実施要求とは、例えば監視対象アプリ17に対する動作テストコマンドの実施や動作状況確認等であるが、これに限定されるものではない。動作テストの内容は、例えば監視対象アプリ17が通常行うタスクに対応して設定され、タスクと同様の内容が好ましいが、これに限定されるものではない。また、動作テスト実施部22は、実行処理部16からテスト結果を受け取り、その内容から問題が発生したと判断した場合に、問題発生通知を問題発生時処理実施部24に出力する。
優先順位管理部23は、設定管理部14から設定情報を受け取り、受け取った設定情報に含まれる監視対象アプリ17の優先順位を問題発生時処理実施部24に出力する。問題発生時処理実施部24は、動作テスト実施部22から問題(異常、エラー)発生通知を受け取ると、その内容に対応する対処内容に基づく処理実行指示を実行処理部16に出力する。なお、問題発生時処理実施部24は、優先順位管理部23から得られる優先順位に基づく処理実行指示を実行処理部16に出力してもよい。相互監視部25は、同時に動作している各監視部15の相互の状況を監視し、問題が発生している場合には、その監視部15の再起動等を行う。
実行処理部16は、ユーザが入力部11から入力した設定情報を受け付けると、その設定情報を記憶部13に記憶する。また、実行処理部16は、記憶部13に記憶された設定情報を読み込み、読み込んだ設定情報を設定管理部14に出力する。また、実行処理部16は、設定情報に含まれるスケジュールに基づいて実行対象の監視対象アプリを設定されたタイミングで起動して処理を実行させる。
また、実行処理部16は、監視部15からの動作テスト実施要求等に基づいて、対応する監視対象アプリ17に動作テストの処理の実施を要求し、監視対象アプリ17からテスト結果(実行結果)を取得する。また、実行処理部16は、設定画面や監視対象アプリ17の実行結果等を示すような各種画面を出力部12に出力する。
監視対象アプリ17は、状態監視装置10内で予め設定されたスケジューリングで所定のタスクを実行する1又は複数のアプリである。監視対象アプリ17は、例えばユーザが指定したタイミングで実行するアプリや、OS起動中は常時動き続けると共に定期的に設定された処理を実行する常駐アプリ等がある。監視対象アプリ17としては、例えばTV録画アプリやセキュリティアプリ、情報収集アプリ、バックアップアプリ等がある。また、監視対象アプリ17は、これに限定されるものではなく、例えば音楽配信やグループ電話、Social Networking Service(SNS)等の各種サービス等でもよい。また、タスクとは、例えばTV録画アプリにおける予約された番組の録画や、セキュリティアプリにおけるウィルスチェック、バックアップアプリにおけるバックアップファイルの作成等である。
図1の例では、それぞれ異なる監視対象アプリ17−1〜17−3を有しているが、数についてはこれに限定されるものではない。監視対象アプリ17は、実行処理部16から得られる監視部15からの処理実施要求に基づいて、処理(テスト)を実施し、その結果を実行処理部16に出力する。
状態監視装置10は、PCやサーバ等であるが、これに限定されるものではなく、例えばタブレット端末やスマートフォン等の情報端末でもよい。本実施形態では、上述した状態監視装置10を用いて、監視ツール(監視部15)がユーザに指定されたアプリ(サービス等を含む)を監視し、停止状態や、問題(異常、エラー)が発生した際に、設定情報に基づき、そのアプリの再起動やOS自体の再起動を自動で実行する。これにより、本実施形態では、予めスケジューリングされて実行されるアプリが、確実に実施されるようになり、アプリの実行ミスを回避できる。
なお、本実施形態では、上述した監視ツール(監視部15)自体も常駐アプリに相当する。そのため、監視ツールの動作が停止することを回避する必要がある。そこで、本実施形態では、上述したように、複数の監視ツールを同時に動作させ、相互監視部25において各監視ツール同士を監視させる。これにより、例えばある監視ツールに異常が発生した場合に、その監視ツールを再起動させることで、常に複数の監視ツールが起動している状況を維持することができる。
また、本実施形態では、監視ツールが、監視対象アプリの動作スケジュール(タスクの実行スケジュール)に対応させて、その直前に動作テストを実施して問題が発生しているかを確認することで、装置全体の負荷を最小限に抑止し、状況を取得する谷間も存在しない。また、本実施形態では、複数の監視対象アプリの動作スケジュールに基づいて動的に再起動が可能かの判断が実施されるため、より適切な時間に再起動を実施することができる。
<ハードウェア構成例>
図2は、状態監視装置のハードウェア構成例を示す図である。図2に示す状態監視装置10のコンピュータ本体には、入力装置31と、出力装置32と、ドライブ装置33と、補助記憶装置34と、主記憶装置35と、各種制御を行うCentral Processing Unit(CPU)36と、ネットワーク接続装置37とを有するよう構成されており、これらはシステムバスBで相互に接続されている。
入力装置31は、状態監視装置10のユーザ等が操作するキーボード及びマウス等のポインティングデバイスや、マイクロフォン等の音声入力デバイスを有する。入力装置31は、ユーザ等からのプログラムの実行指示、各種設定情報、アプリ等を起動するための情報等の入力を受け付ける。
出力装置32は、本実施形態における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、CPU36が有する状態監視プログラムによりプログラムの実行経過や結果等を表示する。また、出力装置32は、上述の処理結果等を紙等の印刷媒体に印刷して、ユーザ等に提示する。
ここで、本実施形態においてコンピュータ本体にインストールされる実行プログラムは、可搬型の記録媒体38等により提供される。プログラムを記録した記録媒体38は、ドライブ装置33にセット可能であり、CPU36からの制御信号に基づき、記録媒体38に含まれる実行プログラムが、記録媒体38からドライブ装置33を介して補助記憶装置34にインストールされる。
補助記憶装置34は、例えばHard Disk Drive(HDD)やSolid State Drive(SSD)等のストレージ手段等である。補助記憶装置34は、CPU36からの制御信号に基づき、本実施形態における実行プログラムや、コンピュータに設けられた状態監視プログラム等を記憶し、必要に応じて入出力を行う。補助記憶装置34は、CPU36からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込むことができる。
主記憶装置35は、CPU36により補助記憶装置34から読み出された実行プログラム等を格納する。なお、主記憶装置35は、Read Only Memory(ROM)やRandom Access Memory(RAM)等である。なお、補助記憶装置34及び主記憶装置35は、例えば上述した記憶部13に対応している。
CPU36は、OS等の制御プログラム、及び主記憶装置35に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して各処理を実現することができる。プログラムの実行中に必要な各種情報等は、補助記憶装置34から取得することができ、また実行結果等を格納することもできる。
具体的には、CPU36は、例えば入力装置31から得られるプログラムの実行指示等に基づき、補助記憶装置34にインストールされた状態監視プログラムを実行させることにより、主記憶装置35上でプログラムに対応する処理を行う。
例えば、CPU36は、状態監視プログラムを実行させることで、例えば上述した設定管理部14による管理、監視部15によるアプリやツールの監視、実行処理部16による各種処理の実行制御等を行う。なお、CPU36における処理内容は、これに限定されるものではない。
ネットワーク接続装置37は、CPU36からの制御信号に基づき、通信ネットワーク等と接続することにより、実行プログラムやアプリ、設定情報等を、通信ネットワークに接続されている外部装置等から取得する。また、ネットワーク接続装置37は、プログラムを実行することで得られた実行結果又は本実施形態における実行プログラム自体を外部装置等に提供することができる。
記録媒体38は、例えばCompact Disk(CD)、Digital Versatile Disk(DVD)、SDメモリカード、Universal Serial Bus(USB)メモリ等であるが、これに限定されるものではない。
図2に示すハードウェア構成に実行プログラム(例えば、状態監視プログラム等)をインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態における状態監視処理等を実現することができる。
<状態監視処理の一例>
次に、本実施形態における状態監視処理について具体的に説明する。図3は、状態監視処理の一例を示すフローチャートである。図3の例において、状態監視装置10のOSが起動されると(S01)、監視ツールの条件設定等を行う(S02)。S02の処理では、例えば、入力部11により、監視対象設定や、監視対象の重要度(優先度)の設定、動作状況確認手順又は動作テスト設定、問題発生時の処理設定等を行う。
監視対象設定とは、例えば監視対象アプリに対する動作テストの実行ファイル(*.exe)や実行サービス、監視対象の実行時間(タスクの実行スケジュール)等の設定である。監視対象の重要度設定とは、例えば複数のアプリの実行スケジュールが重なった場合に監視する優先順位等の設定である。動作状況確認手順又は動作テスト設定とは、例えば監視対象アプリの動作確認手順や動作テストの内容等の設定である。問題発生時の処理設定とは、例えばテスト時に問題が発生した際にOS毎の再起動、アプリ毎の再起動、サービス毎の再起動等、関連サービスも含めて1又は複数の再起動等の設定である。なお、設定内容については、上述した例に限定されるものではなく、例えば設定された各処理を実行するタイミングやスケジュール等を設定してもよい。
次に、状態監視装置10は、監視ツール(監視部15)の起動と監視ツール自体の動作確認を行う(S03)。S03の処理では、複数の監視ツールを起動し、各監視ツール同士が正常に動作しているかを相互に監視する。
ここで、各監視ツールが正常に動作しているか否かを判断し(S04)、各監視ツールが正常動作していない場合(S03において、NO)、S03の処理に戻り、監視ツールの再起動を実施する。
また、監視ツールが正常動作している場合(S03において、YES)、監視部15は、監視対象アプリ17の監視を開始する(S05)。S05の処理では、監視ツール自体の動作確認も予め設定されたスケジュール等に基づいて実施する。例えば、監視対象アプリ17への動作テストを実施する場合には、監視ツール内での優先順位に従う。例えば、5つの監視ツール(監視部15−1〜15−5)が起動している場合、優先順位を高く設定した「監視ツール1」のみが動作テストのタスクを実行させる。
ここで、監視ツールの動作確認時刻か否かを判断し(S06)、監視ツールの動作確認時刻である場合(S06において、YES)、S04の処理に戻り、相互監視部25により監視ツールの動作確認を行う。
また、監視ツールの動作確認時刻でない場合(S06において、NO)、予め設定された監視対象アプリ17の起動時刻か否かを判断する(S07)。監視対象アプリ17の起動時刻でない場合(S07において、NO)、S05の処理に戻る。また、監視対象アプリ17の起動時刻である場合(S27において、YES)、動作状況確認又は動作テストを開始する(S08)。
S08の処理では、例えば監視対象アプリ17のタスクの実行スケジュールに基づいて、タスク実行時刻の少し前(例えば、数秒前又は数分前等の所定時間前)に監視ツールによる監視対象アプリの動作状況確認又は動作テスト等を実施する。なお、上記の所定時間は、動作テストの実行時間や、テスト結果で監視対象アプリ17に問題が発生していると判断した場合に、再起動等の対処が行える時間以上の時間が設定されるのが好ましい。
動作状況の確認としては、例えば予めスケジュールされている処理と同様の処理を実施し、その結果から動作確認を行うことができる。例えば、監視対象アプリが情報収集アプリである場合には、収集された情報が送信された履歴があるかを確認する。また、監視対象アプリが録画アプリである場合には、録画されたファイルが存在するかを確認する。また、監視対象アプリが、バックアップアプリであれば、バックアップファイルが存在するかを確認する。
また、監視対象アプリの動作異常の判断基準としては、例えば予め設定したアプリ実行ファイルやサービスが存在しない(問題が発生し終了してしまった場合)や、特定のエラーコード、イベントログを出力している等がある。なお、判断基準は、これに限定されるものではなく、例えばエラーが発生した際のOSのイベントログの状況、エラーが発生した際のアプリのエラーコード情報、正常に動作した際に作成されるファイル等が存在するか否か等を基準に判断することができる。なお、上述した動作状況の確認内容や動作異常の判断基準は、アプリ毎に設定することができるが、上述した例に限定されるものではない。
S08の処理後、動作テストの実施で問題(異常)が発生したか否かを判断し(S09)、問題が発生した場合(S09において、YES)、問題発生時の処理を実施し(S10)、S05の処理に戻る。S10の処理では、監視ツール(監視部15)が予め設定された対処内容に基づく処理を実行する。実行する対処としては、例えば「OSの再起動(監視ツールがOSに再起動要求を実行する)」、「アプリ、サービスの再起動(監視ツールが予め設定された監視対象実行ファイルやサービスを起動させ、再度常駐状態にする)」等がある。
また、S10の処理では、優先順位による処理実行を行うことができる。例えば、OSの再起動に関しては、予め設定した監視優先順位に基づいて判断することができる。例えば、アプリA(監視対象アプリ17−1)が、動作異常でOSの再起動が必要な場合でも、アプリAより優先度の高いアプリB(監視対象アプリ17−2)のタスク実行スケジュール時刻と重なっていた場合には、アプリAのための再起動動作はアプリBの動作が終了してからとなる。
また、S09の処理において、動作テストで問題が発生していない場合(S09において、NO)、次に、処理終了か否かを判断し(S11)、処理終了でない場合(S11において、NO)、S05の処理に戻り、監視を継続する。また、処理終了である場合(S11において、YES)、状態監視処理を終了する。
<監視部15における具体的な処理内容>
次に、上述した監視部15における具体的な処理内容について図を用いて説明する。図4は、監視部における具体的な処理内容を説明するための図である。図4の例において、まず、ユーザ等が必要情報を入力する。必要情報とは、上述したように各監視対象アプリの設定等の入力であり、例えば、監視対象(実行ファイル、サービス等)、実行スケジュール、アプリの優先順位、動作確認手順、問題発生時の対処動作等から1又は複数が選択的に入力される。
設定管理部14は、入力された必要情報に基づいて各監視部15(例えば、図4に示す監視ツール1〜4)に設定内容を通知する。具体的には、設定管理部14は、スケジュール管理部21にスケジュール(例えば監視ツールのテストスケジュール)を通知する。スケジュール管理部21は、実際の処理を動作テスト実施部22に通知する。
動作テスト実施部22は、通知された監視ツールのテストスケジュールに基づいて、監視対象アプリの動作確認を実施し、その動作結果に基づいて動作テスト結果の判定を行う。動作テスト結果の判定では、例えば監視対象アプリの動作確認による監視対象アプリの状態を判定する。
次に、動作テスト実施部22は、動作テストの結果として問題(異常)が発生していた場合に、その旨を問題発生時処理実施部24に出力する。
問題発生時処理実施部24は、監視対象アプリの動作確認結果に問題があった場合に、予め設定された優先順位や問題発生時に対処内容に基づいて、監視対象アプリの再起動処理等を実施する。なお、優先順位は、設定管理部14から優先順位管理部23に通知される。優先順位管理部23は、監視対象アプリの優先順位に基づいて実際の処理を問題発生時処理実施部24に通知する。また、問題発生時の対処内容は、設定管理部14から通知される。
相互監視部25は、監視ツール同士の相互監視を実施し、他の監視ツールに問題が発生した場合にはそのツールの再起動等を実施する。つまり、本実施形態では、同時期に実行しているそれぞれの監視ツールが相互に監視を実施する。また、各監視ツールがそれぞれ監視対象アプリを監視する。
ここで、図5は、監視ツールにおける監視対象アプリの監視内容を説明するための図である。図5の例では、複数の監視対象アプリA〜C(上述した監視対象アプリ17−1〜17−3に相当する)がある場合に、複数の監視ツール1〜3(上述した監視部15−1〜15−3に相当する)で、各監視対象アプリの全て(複数)を監視する。また、図5の例では、各監視ツール1〜3同士も監視する。これにより、スケジューリングされて実行されるアプリの実行ミスを回避することができる。
なお、図5の例では、3つの監視ツールと3つの監視対象アプリを設けた例について説明したが、数については、これに限定されるものではない。例えば、図5に示すように、監視ツールが3つ起動している場合、監視ツール1は、監視ツール2と監視ツール3の動作を監視する。監視ツール2は、監視ツール1と監視ツール3の動作を監視する。監視ツール3は、監視ツール1と監視ツール2の動作を監視する。
ここで、複数の監視ツールが正常に起動している場合、各監視対象アプリの動作テストを実施するのはツール内での優先順位に依存する。これは、複数の監視ツールが同時に動作テストを実施することを回避するためである。
<相互監視部25の機能構成例>
次に、上述した相互監視部25の機能構成例について図を用いて説明する。図6は、相互監視部の機能構成例を示す図である。図6では、一例として、2つの監視ツールによる相互監視動作として、例えば監視ツール1が監視ツール2を監視している状況を示しており、説明の便宜上、ツール内の相互監視部25のみを抜き出して記載している。
図6に示す相互監視部25−1,25−2(以下、必要に応じて「相互監視部25」という)は、それぞれ動作確認用信号発信部41(41−1、41−2)と、動作確認用受信部42(42−1、42−2)と、動作確認部43(43−1、43−2)と、再起動実施部44(44−1、44−2)とを有する。
動作確認用信号発信部41は、定期的に他の監視ツールが動作しているか確認用の信号を送信する。図6の例では、監視ツール1から監視ツール2に対して動作確認信号が送信される。動作確認用受信部42は、他の監視ツールから送信された動作確認信号を受信し、動作していることを示す信号を返信する。図6の例では、監視ツール2が、監視ツール1からの動作確認信号を受信し、返信信号を監視ツール1に送信する。
動作確認部43は、他の監視ツールの動作を確認する。例えば、動作確認部43は、他の監視ツールに動作確認信号を送信してから所定時間内に返信信号を受信したか否かにより動作を確認することができる。この場合、動作確認部43は、所定時間内に返信信号を受信していれば、その監視ツールは、正常に動作している判断し、所定時間内に返信信号を受信していなければ、その監視ツールは、問題(異常)ありと判断することができる。なお、動作確認内容は、これに限定されるものではなく、例えば返信信号の内容を確認し、エラーコード等の異常を示す情報が含まれている場合には、問題ありと判断してもよい。図6の例では、監視ツール2からの返信信号に問題ありを示す情報が含まれていた場合を示している。
再起動実施部44は、問題のあった監視ツールに対し再起動処理を行う。図6の例では、監視ツール1から監視ツール2に再起動処理が送信される。再起動処理を受け取った漢詩ツールは、ツールの再起動を実行する。
なお、図6に示す相互監視部25は、監視ツール内の他の部分から独立して動作する。また、図6の例では、2つの監視ツールによる相互監視動作を示したが、3以上の監視ツール間でも他の監視ツールに対して同様の相互監視動作が行われる。
<設定情報の入力画面例>
次に、上述した入力部11においてユーザ等が入力する各設定情報の入力画面例(ユーザインターフェース)について、図を用いて説明する。図7は、設定情報の入力画面例を示す図である。図7の例では、画面50−1から画面50−10の順に画面が遷移することで、ユーザが各種設定情報を入力する。
まず、図7の例では、OSの起動後に画面50−1が表示される。画面50−1の下部のタスクバーには、画面50−2に示すような監視対象アプリ登録に関する設定情報と、監視ツールに関する設定情報を入力するための画面を表示する2つのボタンが表示されている。
ここで、画面50−2から「監視ツール設定」を選択すると、監視ツールの並列動作数及び監視ツール間の動作確認間隔の設定画面50−3が表示される。ユーザは入力部11により画面50−3に表示された各情報に対する設定を行う。設定が完了すると、入力された情報が記憶部13に記憶される。
また、画面50−2で「監視対象アプリ登録」を選択すると、画面50−4に示す入力フォームが表示される。ユーザは、入力部11により監視対象アプリ名の設定を行う。また、ユーザは、画面50−5で動作スケジュールファイルの設定を行い、画面50−6で監視対象アプリの優先度(重要度)の設定を行う。また、ユーザは、画面50−7で動作テストコマンド及びテスト実行時間の設定を行う。動作テストコマンドの設定とは、例えば監視対象アプリに対する動作テストの実行ファイル(*.exe)や実行サービス等の設定等であるが、これに限定されるものではない。また、テスト実行時間は、実際に実施される各アプリの実行スケジュールを基準として、その実行スケジュールから所定時間前に動作テストを行うかを設定する。例えば、監視対象アプリの動作スケジュールが「毎日14:00」である場合に、テスト実行時間として120秒前(「毎日13:58」)と設定する。本実施形態では、監視対象アプリが実際に動作するタイミングの直前に動作確認を行うことで、スケジューリングにより実行されるアプリの実行ミスを適切に回避することができる。
次に、ユーザは、画面50−8で動作テスト確認後の結果ファイルの保存先(例えばアプリのログ、OSのログ等)の設定を行う。このとき、画面50−9に示すように、結果がOKの場合とNGの場合とで、異なる保存先を設定することができる。次に、ユーザは、画面50−10で結果がNGの動作に対する対処内容(オペレーション)の設定を行う。上述した図7で設定された情報は、記憶部13に設定情報として記憶される。
図8は、記憶部に記憶される設定情報の一例を示す図である。図8(A)は、監視ツール設定情報の一例を示し、図8(B)は、監視対象アプリ登録情報の一例を示す。図8(A)に示す監視ツール設定情報の項目としては、例えば「並列動作数」、「動作確認間隔」等があるが、これに限定されるものではない。また、図8(B)に示す監視対象アプリ登録情報の項目としては、例えば「監視対象アプリ名」、「動作スケジュール」、「優先度」、「動作テストコマンド」、「テスト実行時間」、「結果ファイル」、「オペレーション」等があるが、これに限定されるものではない。
ここで、「優先度」は、数値が小さい方が優先度が高いことを示しており、優先度が「1」の場合には、そのアプリが最優先であることを示すが、これに限定されるものではない。また、「テスト実行時間」は、動作スケジュールに設定されたタスクの実行時間を基準にして、その時間よりも所定時間前の時間が設定される。この「テスト実行時間」は、例えば、数秒前や数分前等のようにタスク実行時間の直前の時間であることが好ましく、例えば動作テストの実行時間や、テスト結果で問題があった場合に再起動時間以上の時間が設定される。また、「結果ファイル」は、OK又はNG時のファイル保存先(アドレス情報)等を示している。また、「オペレーション」における「Reboot OS」は、OSの再起動を示し、「C:¥Program Files¥BBB¥BBB.exe/r」は、指定したアプリの再起動を示している。上述した各項目は、図7に示すユーザインタフェースを用いて入力することができ、ユーザは任意に設定の変更や削除等を行うことができる。
<実施例>
ここで、上述した本実施形態における状態監視処理を適用した実施例について、図を用いて説明する。なお、以下の説明では、監視対象アプリの例として、例えば「TV録画アプリ」と「セキュリティアプリ」の2つのアプリを用いる。
まず、ユーザは、上述した図7に示すユーザインタフェースを用いて、各アプリに対する設定情報を入力する。設定情報としては、例えば各アプリの実施ファイル(例えば、TVREC.exe、ANTIVIRUS(登録商標).exe)や、各アプリの実行スケジュール等であるが、これに限定されるものではない。
図9は、実施例に対応する設定情報の一例を示す図である。図9(A)は、「TV録画アプリ」に対応する設定情報を示し、図9(B)は、「セキュリティアプリ」に対応する設定情報を示している。ユーザにより設定された図9(A),(B)に示す各設定情報は、記憶部13に記憶される。
次に、図9(A),(B)に設定された情報に基づいて、監視ツール(監視部15)は、各監視対象アプリが正常に動作しているかを動作テストにより監視する。例えば、設定したスケジュールに基づくタイミングで、「TV録画アプリ」の動作テストとして実際に1チャンネルを30秒録画し、録画したファイルが存在するかの確認を実施する。また、設定したスケジュールに基づくタイミングで、「セキュリティアプリ」の動作テストとして実際にANTIVIRUS.exeが起動していることの確認を実施する。
ここで、監視ツールは、動作テストの結果を確認し、「TV録画アプリ」に問題が発生していた場合に、図9(A)に示す設定情報に基づき、OSに再起動を行う。また、監視ツールは、動作テストの結果を確認し、「セキュリティアプリ」に問題が発生していた場合に、図9(B)に示す設定情報に基づき、アプリケーションの再起動を行う。なお、実施例では、優先順位が設定されており、「TV録画アプリ」のスケジュールを最優先する設定であるため、OSの再起動が優先的に実施される。また、「セキュリティアプリ」のみに問題が発生した場合には、「TV録画アプリ」が最優先されるため、録画スケジュールが実行終了するまで、アプリの再起動を実施しないようにしてもよい。また、OSやアプリに再起動後は、実際のスケジュールに基づいてタスクが実行される。
なお、本実施例では、実際に実施される各アプリの録画スケジュール、ウイルスチェックスケジュールに基づいて、その数分前又は数秒前にPCを起動し、予め設定された動作テスト等により監視対象アプリが正常に動作するかの確認を行う。これにより、スケジューリングにより実行されるアプリの実行ミスを回避することができる。
<監視ツールがダウンした場合の対応例>
ここで、本実施形態では、監視ツール自体に異常が発生する(監視ツール自体がダウンする)場合もある。そのような場合には、相互監視部25が他の監視ツールの異常を検知して対応を行う。ここで、本実施形態において、監視ツールがダウンした場合の処理例について図を用いて説明する。
図10,図11は、監視ツールがダウンした場合の処理例を示す図(その1,その2)である。図10,図11の例では、監視ツール1〜3を有し、それぞれの監視ツールに優先順位が設定されている。この優先順位にしたがって、対応する監視ツールが監視対象アプリに対して動作テストを実施する。また、図10,図11の例では、上から下に時系列に処理が行われているものとする。
図10の例は、監視ツール1〜3が正常に動作している場合の例を示し、図11の例は、監視ツール1がダウン状態(正常に動作していない状態)となった場合を示している。図10の例において、各監視ツール1〜3は、共に設定管理部14から得られる設定情報から動作テスト開始時間を認識し(S21〜S23)、優先順位を確認する(S24〜S26)。監視ツール2は、上位の監視ツール1からの動作テスト実施の通知を待つ(S27)。また、監視ツール2は、監視ツール1,2からの動作テスト実施の通知を待つ(S28)。
次に、監視ツール1は、動作テストを実施する通知を全ツール(監視ツール2,3)へ送信する(S29)。監視ツール2,3は、上位の監視ツール1からの実施通知を受け取り、返信を送信し(S30,S31)、その先の処理を停止する(S32,S33)。
監視ツール1は、監視対象アプリの動作テストを実施し(S34)、問題があれば問題発生時の処理を実行する(S35)。また、監視ツール1は、全ツール(監視ツール2,3)から実施通知に対する返信を受信したら処理を停止する(S36)。
一方、図11の例に示すように、監視ツール1が正常に動作しておらず(ダウン状態)、上述したS24,S29,S34,S35の処理が実施できない場合、監視ツール2が処理を実施する。この場合、監視ツール2は、上位の監視ツール1からの動作テスト実施の通知を動作テスト開始時間から所定時間待ったが(S27)、上位からの実施通知を受信できないため処理を実施する(S41)。
監視ツール2は、動作テストを実施する通知を全ツール(監視ツール1,3)へ送信し(S42)、監視対象アプリの動作テストを実施する(S43)。また、監視ツール2は、問題があれば問題発生時の処理を実行する(S44)。
このとき、監視ツール1は、他の監視ツール(例えば、監視ツール2の相互監視部等)等からの再起動処理により、ツールの再起動を行い(S45)、監視ツール2からの実施通知を受け取り、返信を送信する(S46)。
なお、監視ツール3は、図10の例と同様の処理を行い、上位(図11の例では、監視ツール2)からの実施通知を受け取り、返信を送信し(S31)、その先の処理を停止する(S33)。
監視ツール2は、全ツール(監視ツール1,3)から実施通知への返信を受信したら処理を停止する(S48)。
このように、本実施形態によれば、複数のツールを同時に動作させ、各監視ツール同士を監視させることで、一つの監視ツールがダウンした場合でも、その監視ツールを再起動させることができる。更に上述した図11に示すように、動作テストが実行できない監視ツールの代わりの他の監視ツールが、設定した時間通りに動作テストを実施することができる。したがって、本実施形態では、常に複数の監視ツールが起動している状況を保つことで、適切な時間にアプリの動作テストを実行できるため、スケジューリングによりタスクを実行するアプリの実行ミスを回避することができる。
上述したように本実施形態によれば、スケジューリングにより実行されるアプリケーションの実行ミスを回避することができる。例えば、本実施形態によれば、スケジューリングされて動作するアプリケーションを監視することで、実行前に動作テストを行いエラー等を検知し対処することで、スケジュール通りにアプリケーションが動作することを可能とする。
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、上述した各実施例の一部又は全部を組み合わせることも可能である。
なお、以上の実施例に関し、更に以下の付記を開示する。
(付記1)
予め設定されたスケジュールに基づいて所定のタスクが実行されるアプリケーションを監視する複数の監視部を有し、
前記監視部は、動作中の他の監視部を監視し、異常が発生した監視部が存在した場合に、前記異常が発生した監視部を再起動させて、前記複数の監視部が起動している状況を維持することを特徴とする状態監視装置。
(付記2)
前記監視部は、
前記スケジュールに基づく動作テストの実行時間を管理するスケジュール管理部と、
前記スケジュール管理部で管理された時間に前記アプリケーションに対して動作テストを実施する動作テスト実施部と、
前記アプリケーションに対する優先順位を管理する優先順位管理部と、
前記動作テスト実施部による動作テストの結果で異常が発生していると判断されたアプリケーションに対して、前記優先順位管理部から得られる優先順位に基づく処理を実施する処理実施部とを有することを特徴とする付記1に記載の状態監視装置。
(付記3)
前記監視部は、
動作中の他の監視部を監視する相互監視部を有し、
前記相互監視部は、前記他の監視部に動作確認信号を送信し、前記動作確認信号に対する前記他の監視部からの返信信号に基づいて、前記他の監視部に再起動処理を行うことを特徴とする付記1又は2に記載の状態監視装置。
(付記4)
前記監視部は、
前記アプリケーションに対して前記動作テストを実行する前記他の監視部に異常が発生していた場合に、前記他の監視部に代わって前記動作テストを実行することを特徴とする付記2に記載の状態監視装置。
(付記5)
前記動作テストは、前記アプリケーションにおいて前記所定のタスクが実行される時間に基づいて、前記時間よりも所定時間前に実行することを特徴とする付記2に記載の状態監視装置。
(付記6)
状態監視装置が、
予め設定されたスケジュールに基づいて所定のタスクが実行されるアプリケーションを監視する複数の監視部同士を監視し、
異常が発生した監視部が存在した場合に、前記異常が発生した監視部を再起動させて、前記複数の監視部が起動している状況を維持することを特徴とする状態監視方法。
(付記7)
予め設定されたスケジュールに基づいて所定のタスクが実行されるアプリケーションを監視する複数の監視部同士を監視し、
異常が発生した監視部が存在した場合に、前記異常が発生した監視部を再起動させて、前記複数の監視部が起動している状況を維持する、処理をコンピュータに実行させる状態監視プログラム。
10 状態監視装置(情報処理装置)
11 入力部
12 出力部
13 記憶部
14 設定管理部
15 監視部
16 実行処理部
17 監視対象アプリ
21 スケジュール管理部
22 動作テスト実施部
23 優先順位管理部
24 問題発生時処理実施部(処理実施部)
25 相互監視部
31 入力装置
32 出力装置
33 ドライブ装置
34 補助記憶装置
35 主記憶装置
36 CPU
37 ネットワーク接続装置
38 記録媒体
41 動作確認用信号発信部
42 動作確認用受信部
43 動作確認部
44 再起動実施部
50 画面

Claims (6)

  1. 予め設定されたスケジュールに基づいて所定のタスクが実行されるアプリケーションを監視する複数の監視部を有し、
    前記監視部は、動作中の他の監視部を監視し、異常が発生した監視部が存在した場合に、前記異常が発生した監視部を再起動させて、前記複数の監視部が起動している状況を維持することを特徴とする状態監視装置。
  2. 前記監視部は、
    前記スケジュールに基づく動作テストの実行時間を管理するスケジュール管理部と、
    前記スケジュール管理部で管理された時間に前記アプリケーションに対して動作テストを実施する動作テスト実施部と、
    前記アプリケーションに対する優先順位を管理する優先順位管理部と、
    前記動作テスト実施部による動作テストの結果で異常が発生していると判断されたアプリケーションに対して、前記優先順位管理部から得られる優先順位に基づく処理を実施する処理実施部とを有することを特徴とする請求項1に記載の状態監視装置。
  3. 前記監視部は、
    動作中の他の監視部を監視する相互監視部を有し、
    前記相互監視部は、前記他の監視部に動作確認信号を送信し、前記動作確認信号に対する前記他の監視部からの返信信号に基づいて、前記他の監視部に再起動処理を行うことを特徴とする請求項1又は2に記載の状態監視装置。
  4. 前記動作テストは、前記アプリケーションにおいて前記所定のタスクが実行される時間に基づいて、前記時間よりも所定時間前に実行することを特徴とする請求項2に記載の状態監視装置。
  5. 状態監視装置が、
    予め設定されたスケジュールに基づいて所定のタスクが実行されるアプリケーションを監視する複数の監視部同士を監視し、
    異常が発生した監視部が存在した場合に、前記異常が発生した監視部を再起動させて、前記複数の監視部が起動している状況を維持することを特徴とする状態監視方法。
  6. 予め設定されたスケジュールに基づいて所定のタスクが実行されるアプリケーションを監視する複数の監視部同士を監視し、
    異常が発生した監視部が存在した場合に、前記異常が発生した監視部を再起動させて、前記複数の監視部が起動している状況を維持する、処理をコンピュータに実行させる状態監視プログラム。
JP2014011471A 2014-01-24 2014-01-24 状態監視装置、状態監視方法、及び状態監視プログラム Pending JP2015138512A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014011471A JP2015138512A (ja) 2014-01-24 2014-01-24 状態監視装置、状態監視方法、及び状態監視プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014011471A JP2015138512A (ja) 2014-01-24 2014-01-24 状態監視装置、状態監視方法、及び状態監視プログラム

Publications (1)

Publication Number Publication Date
JP2015138512A true JP2015138512A (ja) 2015-07-30

Family

ID=53769431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014011471A Pending JP2015138512A (ja) 2014-01-24 2014-01-24 状態監視装置、状態監視方法、及び状態監視プログラム

Country Status (1)

Country Link
JP (1) JP2015138512A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446822A (zh) * 2015-11-13 2016-03-30 上海斐讯数据通信技术有限公司 基于Linux的软件异常处理系统及方法
JP2020115330A (ja) * 2018-12-20 2020-07-30 ザ・ボーイング・カンパニーThe Boeing Company ソフトウエアアプリケーションプロセスを監視するシステムと方法
WO2022211483A1 (en) * 2021-04-02 2022-10-06 Samsung Electronics Co., Ltd. Method and apparatus for avoiding exception

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446822A (zh) * 2015-11-13 2016-03-30 上海斐讯数据通信技术有限公司 基于Linux的软件异常处理系统及方法
CN105446822B (zh) * 2015-11-13 2019-06-18 上海斐讯数据通信技术有限公司 基于Linux的软件异常处理系统及方法
JP2020115330A (ja) * 2018-12-20 2020-07-30 ザ・ボーイング・カンパニーThe Boeing Company ソフトウエアアプリケーションプロセスを監視するシステムと方法
WO2022211483A1 (en) * 2021-04-02 2022-10-06 Samsung Electronics Co., Ltd. Method and apparatus for avoiding exception

Similar Documents

Publication Publication Date Title
US7574627B2 (en) Memory dump method, memory dump program and computer system
US8910172B2 (en) Application resource switchover systems and methods
JP5579650B2 (ja) 監視対象プロセスを実行する装置及び方法
US20200133698A1 (en) Alerting, diagnosing, and transmitting computer issues to a technical resource in response to a dedicated physical button or trigger
JP2016004349A (ja) ソフトウェア情報管理プログラム、ソフトウェア情報管理装置およびソフトウェア情報管理方法
JP5983102B2 (ja) 監視プログラム、方法及び装置
JP2016200981A (ja) 運用管理プログラム、運用管理方法、および運用管理装置
JP2015138512A (ja) 状態監視装置、状態監視方法、及び状態監視プログラム
JP5366184B2 (ja) データ記憶システム、データ記憶方法
JP2008123195A (ja) 不具合防止装置及びプログラム
US9317355B2 (en) Dynamically determining an external systems management application to report system errors
JP5558279B2 (ja) 監視制御システム、およびこれに利用する監視制御装置、監視制御方法
JP2015106345A (ja) 情報処理システム、情報処理装置及びプログラム
JP2014228932A (ja) 障害通知装置、障害通知プログラムならびに障害通知方法
JP6349733B2 (ja) 情報処理装置、復旧支援方法、復旧支援プログラム、復旧支援システムおよび復旧支援サーバー
JP5999254B2 (ja) 管理装置、方法及びプログラム
JP2014021586A (ja) プログラムのアップグレードを実施するサーバ、サーバと複数の機器からなるプログラムのアップグレードシステム及びプログラムのアップグレード方法
US9128738B2 (en) Information processing program and information processing method
JP4825120B2 (ja) サービス管理システム、サービス管理装置およびサービス管理方法
JP2017120536A (ja) 情報処理装置、情報処理方法、情報処理プログラム
JP2010003132A (ja) 情報処理装置、その入出力装置の故障検出方法及びプログラム
JP2020177489A (ja) 制御方法、制御プログラム、および情報処理装置
JP5997005B2 (ja) 情報処理装置、プロセスの正常終了判定方法およびプログラム
JP6008400B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラム及び保守管理システム
JP6835763B2 (ja) メッセージ監視サーバ、方法、プログラム