(57)【要約】【課題】新たに追加されたプログラムを、監視対象として容易に組み入れる。【解決手段】プログラムをアドイン可能な情報処理装置であって、所定のプロトコルを用いて通信可能な第一のプログラムと、所定のプロトコルを用いて通信可能な第二のプログラムと、第一のプログラム及び前記第二のプログラムと、所定のプロトコルを用いて通信し、各々のプログラムの処理動作状態を示す状態情報を取得するエージェントプログラムとを有する。【選択図】図１
2015197842.tif 000002
【特許請求の範囲】
【請求項１】
プログラムをアドイン可能な情報処理装置であって、
所定のプロトコルを用いて通信可能な第一のプログラムと、
前記所定のプロトコルを用いて通信可能な第二のプログラムと、
前記第一のプログラム及び前記第二のプログラムと、前記所定のプロトコルを用いて通信し、各々のプログラムの処理動作状態を示す状態情報を取得するエージェントプログラムと、
を有することを特徴とする情報処理装置。
【請求項２】
前記第一のプログラム及び前記第二のプログラムは、同一の格納領域に格納され、
前記エージェントプログラムは、
前記格納領域に格納されたプログラムの状態情報を取得すること、
を特徴とする請求項１記載の情報処理装置。
【請求項３】
前記格納領域に格納されたプログラムの状態情報を監視するために、前記エージェントプログラムに前記プログラムの状態情報を要求する監視プログラムを有し、
前記エージェントプログラムは、
前記要求に応じて、前記格納領域に格納されたプログラムの状態情報を取得し、前記監視プログラムに、該状態情報を送信すること、
を特徴とする請求項２記載の情報処理装置。
【請求項４】
プログラムをアドイン可能なコンピュータに、
所定のプロトコルを用いて通信可能な第一のプログラム及び前記所定のプロトコルを用いて通信可能な第二のプログラムと、前記所定のプロトコルを用いて通信し、各々のプログラムの処理動作状態を示す状態情報を取得する処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
アプリケーションプログラムを監視する際、プロセスの状態を監視するための項目として、例えば、ＣＰＵ使用率、メモリの使用量、入出力の状態などが知られている。
【０００３】
これに対し、サービスプログラムの監視についても、アプリケーションプログラムのように、プロセスの状態（例えば、ＣＰＵ使用率、メモリの使用量、入出力の状態）により、これを監視することも可能である。しかしながら、サービスプログラムが応答を返すことができない状態となっても、プロセスとしての異常がなければ、不具合を検出することができない。このため、実際にサービスの利用側（サービスクライアント）からサービス提供要求が発生した段階ではじめてサービスプログラムの不具合発生が表面化するという可能性があり、この場合、不具合の検出が遅くなってしまうという問題がある。
【０００４】
このため、サービスプログラムの監視について、サービスがメールサービスであればメールの送受信、ＷｅｂサービスであればＷｅｂページの送信、データベースサービスであればデータの検索といったように、監視プログラム側でサービス毎に対応した接続手段（例えば、状態監視用接続モジュール）を予め用意しておくようにする。これにより、監視プログラムは、各サービスに対応する接続手段を介して、各サービスプログラムに逐次接続し、各サービスの内部状態をリアルタイムに監視することが可能である（例えば、特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２１５４２９号公報
【特許文献２】特開２０１２−２３４３３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、監視プログラム側でサービス毎に対応した接続手段を用意する際、メールサービス、Ｗｅｂサービス、データベースサービスなど、一般に汎用性の高いサービスのプログラムであれば、開発者は比較的容易に監視プログラム側に実装させることが可能である。
【０００７】
しかしながら、各プログラムの共通機能やコンピューターシステム間の同期機能など、独自性のあるサービスのプログラムを監視する場合、開発者が監視プログラム側で独自性のあるそのプログラムに対応した接続手段を用意するのは、必ずしも容易でない。このため、労力やコストを要するという問題があった。また、監視対象となる新たなサービスのプログラムがアドイン（追加）される都度、開発者は監視プログラム側でアドインされるプログラムに対応した接続手段を用意しなくてはならなかった。
【０００８】
本発明は、このような問題に鑑みてなされたものであり、新たに追加されたプログラムを、監視対象として容易に組み入れ可能な情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し目的を達成するため、本発明の一実施形態における情報処理装置は、プログラムをアドイン可能な情報処理装置であって、所定のプロトコルを用いて通信可能な第一のプログラムと、前記所定のプロトコルを用いて通信可能な第二のプログラムと、前記第一のプログラム及び前記第二のプログラムと、前記所定のプロトコルを用いて通信し、各々のプログラムの処理動作状態を示す状態情報を取得するエージェントプログラムとを有する。
【発明の効果】
【００１０】
本発明の一態様によれば、新たに追加されたプログラムを、監視対象として容易に組み入れることができる。
【図面の簡単な説明】
【００１１】
【図１】制御装置１００のソフトウェア構成を示す図である。
【図２】監視エージェントリストの一例を示す図である。
【図３】アドインリストの一例を示す図である。
【図４】被監視プログラムフォルダを示す図である。
【図５】制御装置のハードウェア構成の一例を示す図である。
【図６】内部状態情報の取得処理を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に基づいて説明する。
【００１３】
＜システム構成＞
（ソフトウェア構成）
図１は、本実施形態に係る制御装置１００のソフトウェア構成を示す図である。図１に示されるように、制御装置１００は、監視プログラム１１０、監視エージェントプログラムＡ１２０、各アドイン（アドインａ１、アドインａ２、アドインａ３）を有する。
【００１４】
まず、制御装置１００は、機器３００と接続されており、機器３００を制御するための装置である。また、制御装置１００は、機器３００に対する制御内容の一例として、例えば、各アドインにより、各々の機器３００からデータを収集したり、一括表示させたり、機器３００間でデータを送受信したりする。
【００１５】
制御装置２００は、制御装置１００と同様、機器３００を制御するための装置である。但し、制御装置２００は、制御装置１００と比べ、監視プログラムを有していない。このため、制御装置２００は、制御装置１００の監視プログラム１１０により監視される。
【００１６】
監視プログラム１１０は、一以上の監視エージェントプログラムを使って、被監視プログラムである各アドインを監視するためのプログラムである。図１の場合、監視プログラム１１０は、監視エージェントプログラムＡ１２０を介して、被監視プログラムであるアドインａ１、アドインａ２、アドインａ３から内部状態を示す情報（内部状態情報と呼ぶ）を収集する。また、監視プログラム１１０は、制御装置１００の管理者に対して、アドインａ１、アドインａ２、アドインａ３の内部状態を監視するための内部状態情報を提供する。さらに、監視プログラム１１０は、制御装置２００の監視エージェントプログラムＢ２２０を介して、被監視プログラムであるアドインｂ１などから内部状態情報を収集する。また、監視プログラム１１０は、制御装置１００の管理者に対して、アドインｂ１等の内部状態を監視するための内部状態情報を表示するなどして提供する。
【００１７】
ここで、監視プログラム１１０は、監視機能を担う監視部１１１、監視エージェントプログラムＡ１２０及び監視エージェントプログラムＢ２２０との通信を担う通信ホスト部１１２、監視エージェントプログラムの一覧を示す監視エージェントリスト１１３を含む。
【００１８】
図２は、本実施形態に係る監視エージェントリストの一例を示す図である。監視エージェントリスト１１３は、監視エージェント識別子を示す「監視エージェントＩＤ」、監視エージェント名称を示す「監視エージェント名」を有する。図２の場合、監視エージェントリスト１１３に記載される監視エージェントは、監視エージェントプログラムＡ１２０及び監視エージェントプログラムＢ２２０である。
【００１９】
監視エージェントプログラムＡ１２０及び監視エージェントプログラムＢ２２０は、監視を行う監視プログラム１１０と、被監視プログラムである各アドインとの仲介を担うプログラムである。監視エージェントプログラムＡ１２０は、監視対象のアドインａ１、アドインａ２、アドインａ３からの内部状態情報を収集し、収集した内部状態情報を監視プログラム１１０に提供する。監視エージェントプログラムＢ２２０は、監視対象のアドインｂ１等からの内部状態情報を収集し、収集した内部状態情報を監視プログラム１１０に提供する。なお、監視エージェントプログラムＡ１２０及び監視エージェントプログラムＢ２２０は、各アドインから内部状態情報を収集するに際し、各アドインとは、統一されたプロトコルを用いて通信（内部状態情報のやり取り）を行う。
【００２０】
監視エージェントプログラムＡ１２０は、監視プログラム１１０との通信を担う通信ホスト部１２１、統一されたプロトコルを用いてアドインとの通信（内部状態情報のやり取り）を行うアドイン連携部１２２、監視対象とするアドインの一覧を示すアドインリストＡ１２３を含む。また、監視エージェントプログラムＢ２２０についても同様に、通信ホスト部２２１、アドイン連携部２２２、アドインリストＢ２２３を含む。
【００２１】
図３は、本実施形態に係るアドインリストの一例を示す図である。アドインリストは、アドイン識別子を示す「アドインＩＤ」、アドイン名称を示す「アドイン名」を有する。図３の場合、アドインリストＡ１２３に記載されるアドインは、アドインａ１、アドインａ２、アドインａ３である。また、アドインリストＢ２２３に記載されるアドインは、アドインｂ１等である。
【００２２】
アドインは、制御装置１００の提供する機能（サービス）を実現し又は拡張するためのプログラムであって、制御装置１００に対して追加が可能なアドイン・プログラムである。アドインは、例えば、各々の機器３００からデータを収集したり、一括表示させたり、機器３００間でデータを送受信したりするサービスプログラム（又はアプリケーションプログラム）である。また、アドインは、例えば、プラットフォームと呼ばれる実行可能形式のプログラムが、新たに開発されたアドインのＤＬＬ（Dynamic Link Library）形式の実行ファイル（ライブラリ）を読み込むことで追加される。
【００２３】
また、アドインは、監視プログラム１１０からの監視対象となる被監視プログラムである。監視プログラム１１０は、各アドインの内部状態情報を監視することで、各アドイン自体が正常に本来の処理（例えば、データ収集処理、一括表示処理、データ送受信処理等）を実行しているかどうかを監視する。また、各アドインの内部状態情報を監視することを通じて、機器３００が正常に稼働しているかどうかも監視しうる。
【００２４】
また、アドインは、統一されたプロトコルを用いて監視エージェントプログラムとの通信（内部状態情報のやり取り）を行うエージェント連携部１３１を含む。つまり、各アドインは、監視エージェントプログラムと内部状態情報のやり取りを行う目的で、予め統一されたプロトコルを用いて通信を行うエージェント連携部１３１が組み込まれている。これにより、各アドインは、各々のアドインが提供する機能（サービス）は異なるものの、エージェント連携部１３１により、監視エージェントプログラムと統一されたプロトコルを用いての通信が可能となっている。
【００２５】
（被監視プログラムフォルダ）
図４は、本実施形態に係る被監視プログラムフォルダを示す図である。被監視プログラムフォルダには、監視エージェント実行ファイルと、監視プログラム１１０の監視対象となる全てのアドイン実行ファイルとが格納される。
【００２６】
図４（ａ）は、制御装置１００の被監視プログラムフォルダを示す。一の被監視プログラムフォルダには、監視エージェント実行ファイル１２０（監視エージェントプログラムＡ１２０に対応）、アドインａ１実行ファイル（アドインａ１に対応）、アドインａ２実行ファイル（アドインａ２に対応）、アドインａ３実行ファイル（アドインａ３に対応）が格納される。
【００２７】
図４（ｂ）は、制御装置２００の被監視プログラムフォルダを示す。一の被監視プログラムフォルダには、監視エージェント実行ファイル２２０（監視エージェントプログラムＢ２２０に対応）、アドインｂ１実行ファイル（アドインｂ１に対応）等が格納される。
【００２８】
また、制御装置の提供する機能（サービス）を拡張すべく、新たなアドインが追加される場合であって、且つその新たなアドインを監視対象としたい場合、被監視プログラムフォルダに、新たなアドインが格納される。つまり、新たなアドインを追加する場合、管理者は、被監視プログラムフォルダ内に、アドイン実行ファイルを格納しさえすれば、その新たなアドインを監視対象とすることができる。
【００２９】
例えば、制御装置１００において、制御装置１００の提供する新機能（サービス）を実現するためのアドインａ４を追加する場合、管理者は、アドインａ４の実行ファイルを、被監視プログラムフォルダに格納する。この作業のみで、新たなアドインａ４は、監視プログラム１１０の監視対象として追加される。
【００３０】
（ハードウェア構成）
図５は、本実施形態にかかる制御装置のハードウェア構成の一例を示す図である。制御装置１００（及び制御装置２００）は、主要な構成として、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ（Hard Disk Drive）１０４、インターフェース１０５、入力装置１０６、表示装置１０７、及び通信装置１０８を有する。
【００３１】
ＣＰＵ１０１は、マイクロプロセッサ及びその周辺回路から構成され、装置全体を制御する回路である。また、ＲＯＭ１０２は、ＣＰＵ１０１で実行される所定の制御プログラムを格納するメモリである。また、ＲＡＭ１０３は、ＣＰＵ１０１がＲＯＭ１０２に格納された所定の制御プログラムを実行して各種の制御を行うときの作業領域として使用するメモリである。
【００３２】
ＨＤＤ１０４は、ＯＳや各種プログラムを含む各種情報を格納する装置であり、不揮発性の記憶装置である。
【００３３】
インターフェース１０５は、外部機器と接続するためのインターフェースである。
【００３４】
入力装置１０６は、ユーザが各種入力操作を行うための装置である。
【００３５】
表示装置１０７は、各種データを表示画面に表示する装置である。例えば、監視画面等を表示する。
【００３６】
通信装置１０８は、ネットワークを介して他の機器との通信を行う装置である。有線ネットワークや無線ネットワークなど含む各種ネットワーク形態に応じた通信をサポートする。
【００３７】
なお、上記ハードウェア構成はあくまで一例である。よって、制御装置は製品に応じて特有のハードウェアを有してもよい。
【００３８】
＜動作例＞
図６は、本実施形態に係る内部状態情報の取得処理を示すシーケンス図である。当該取得処理を通じて、監視プログラム１１０は、監視エージェントプログラムＡ１２０を介して、被監視プログラムである各アドインａ１、アドインａ２、アドインａ３から内部状態情報を収集し、収集した各アドインの内部状態情報を表示装置１０７の監視画面などに表示する。管理者は、監視画面に表示された各アドインの内部状態情報を参照することで、制御装置１００の各アドイン自体が正常に本来の処理を実行しているかどうかを監視する。
【００３９】
Ｓ１：監視プログラム１１０（監視部１１１）は、まず、監視エージェントリスト１１３を生成し、対象とする監視エージェントプログラムを監視エージェントリスト１１３に登録する（例えば、図２参照）。例えば、管理者が制御装置１００の監視プログラム１１０が対象とする監視エージェントプログラムＡ１２０を指定するなどにより、監視エージェントリスト１１３に監視エージェントプログラムＡ１２０が登録される。
【００４０】
Ｓ２：次に、監視エージェントプログラムＡ１２０（アドイン連携部１２２）は、例えば、予め定められた被監視プログラムフォルダを参照し、同フォルダ内に格納されているアドイン実行ファイルを確認する。被監視プログラムフォルダは、例えば、監視エージェントプログラムＡ１２０自身が格納されている同一のフォルダなどとしてもよいし、管理者指定の任意フォルダでもよい。
【００４１】
Ｓ３：次に、監視エージェントプログラムＡ１２０（アドイン連携部１２２）は、アドインリストＡ１２３を生成し、被監視プログラムフォルダ内に格納されているアドイン実行ファイルを、監視対象のアドインとして、アドインリストＡ１２３に登録する（例えば、図３参照）。
【００４２】
Ｓ４：次に、各アドイン（エージェント連携部１３１）は、それぞれ起動の準備が整い起動を行うと、起動通知を、監視エージェントプログラムＡ１２０（アドイン連携部１２２）に送信する。
【００４３】
ここで、各アドイン（例えば、アドインａ１、アドインａ２、アドインａ３）は、統一されたプロトコルを用いて監視エージェントプログラムとの通信（内部状態情報のやり取り）を行うエージェント連携部１３１を含む。つまり、各アドインは、監視エージェントプログラムと内部状態情報のやり取りを行う目的で、予め統一されたプロトコルを用いて通信を行うエージェント連携部１３１が組み込まれている。従って、各々のアドインａ１、アドインａ２、アドインａ３は、エージェント連携部１３１により、監視エージェントプログラムＡ１２０（アドイン連携部１２２）と統一されたプロトコルを用いての通信が可能である。
【００４４】
Ｓ５：次に、各アドインは、起動した後、初期処理（初期化）を行う。
【００４５】
Ｓ６：次に、各アドインは、初期処理の後、実行処理を開始する。制御装置１００の提供する機能（サービス）を実現するため、プログラムで、例えば、各々の機器３００からデータを収集する処理、一括表示する処理、機器３００間でデータを送受信する処理などである。
【００４６】
Ｓ７：次に、監視エージェントプログラムＡ１２０（アドイン連携部１２２）は、各アドインから起動通知を受信すると、Ｓ３で生成したアドインリストＡ１２３と照合し、アドインリストＡ１２３内に登録されているアドインの起動状態を確認する。なお、起動通知（Ｓ４）を受信したアドインについては起動状態を確認とし、起動状態を受信しないアドインについては、起動状態を未確認とする。
【００４７】
Ｓ８：監視プログラム１１０（監視部１１１）は、通信ホスト部１１２を介し、Ｓ１で生成した監視エージェントリスト１１３内に登録されている監視エージェントプログラムに対し、エージェント状態確認要求を送信する。
【００４８】
例えば、監視エージェントプログラムＡ１２０（アドイン連携部１２２）は、Ｓ７でアドインリストＡ１２３内の全アドインの起動状態を確認できている場合、監視プログラム１１０に対して通信ホスト部２２１を介し、ＯＫを応答する。一方、監視エージェントプログラムＡ１２０（アドイン連携部１２２）は、一部のアドインから起動通知を受信していない場合など、Ｓ７でアドインリストＡ１２３内の全アドインの起動状態を確認できていない場合、監視プログラム１１０に対して通信ホスト部２２１を介し、ＮＧを応答する。
【００４９】
Ｓ９：次に、監視プログラム１１０（監視部１１１）は、監視エージェントプログラムＡ１２０から応答（ＯＫ／ＮＧ）を受信すると、Ｓ１で生成した監視エージェントリスト１１３と照合し、監視エージェントリスト１１３内に登録されている監視エージェントプログラムがＯＫを応答したかどうかを確認する。これにより、監視プログラム１１０（監視部１１１）は、ＯＫを応答した監視エージェントプログラムについては、その監視下のアドインが起動完了し監視可能な状態となったことを把握できる。
【００５０】
Ｓ１０：次に、監視プログラム１１０（監視部１１１）は、通信ホスト部１１２を介し、監視エージェントプログラムＡ１２０に対し、アドイン内部状態確認要求を送信する。
【００５１】
Ｓ１１：監視エージェントプログラムＡ１２０（アドイン連携部１２２）は、アドインリストＡ１２３内の全アドインに対し、アドイン内部状態確認要求を送信する。
【００５２】
Ｓ１２：各アドイン（エージェント連携部１３１）は、それぞれアドイン内部状態確認要求受信すると、自身の内部状態を示す内部状態情報を、監視エージェントプログラムＡ１２０（アドイン連携部１２２）に応答する。
【００５３】
上述したように、各アドインは、統一されたプロトコルを用いて監視エージェントプログラムとの通信（内部状態情報のやり取り）を行うエージェント連携部１３１を含む。従って、各アドインは、エージェント連携部１３１により、監視エージェントプログラム（アドイン連携部１２２）と統一されたプロトコルを用いての通信が可能である。
【００５４】
Ｓ１３：監視エージェントプログラムＡ１２０（通信ホスト部１２１）は、アドイン連携部１２２を介して各アドインから受信した内部状態情報を、監視プログラム１１０に応答する。
【００５５】
Ｓ１４：監視プログラム１１０（監視部１１１）は、表示装置１０７の監視画面などにおいて、各アドインから受信した内部状態情報を表示する。また、監視プログラム１１０（監視部１１１）は、所謂一般的な監視機能を有するため、例えば、内部状態情報の値に基づいて、管理者に対しエラーを表示したり、警報を通知するなどしてもよい。
【００５６】
なお、言うまでもなく、監視エージェントリス１１３において、監視エージェントプログラムＢ２２０が登録されている場合、監視プログラム１１０は、監視エージェントプログラムＢ２２０を介して、制御装置２００の各アドインｂ１から内部状態情報を収集することが可能である。
【００５７】
＜総括＞
本実施形態に係る制御装置１００は、各アドイン（サービスプログラム等）を監視するに際し、監視エージェントプログラムＡ１２０を介して、各アドイン（サービスプログラム等）の内部状態情報を収集する。
【００５８】
各アドインは、エージェント連携部１３１を有しており、このため、監視エージェントプログラムＡ１２０とは、予め統一されたプロトコルを用いて内部状態情報のやり取りを行うことが可能である。
【００５９】
また、監視エージェントプログラムＡ１２０は、例えば、予め定められた被監視プログラムフォルダを参照し、同フォルダ内に格納されているアドイン実行ファイルを、内部状態情報を収集すべき対象の被監視プログラムと認識する。このため、制御装置１００に、新機能（サービス）を実現するための新たなアドインを追加する場合、管理者は、新たなアドインの実行ファイルを、被監視プログラムフォルダに格納しさえすればよく、この作業のみで、新たなアドインは、監視プログラム１１０の監視対象として追加される。
【００６０】
このように、本実施形態によれば、新たに追加されたプログラムを、監視対象として容易に組み入れ可能な情報処理装置等を提供することが可能である。
【００６１】
なお、実施形態について詳述したが、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。例えば、本実施形態に係る制御装置１００、２００に限られず、プログラムを追加（アドイン）が可能な各種の情報処理装置に適用可能である。
【符号の説明】
【００６２】
１００、２００                  制御装置
１０１                                ＣＰＵ
１０２                                ＲＯＭ
１０３                                ＲＡＭ
１０４                                ＨＤＤ
１０５                                インターフェース
１０６                                入力装置
１０７                                表示装置
１０８                                通信装置
１１０                                監視プログラム
１２０、２２０                  監視エージェントプログラム
３００                                機器
ａ１−ａ３、ｂ１              アドイン
【図１】
2015197842.tif 000003
【図２】
2015197842.tif 000004
【図３】
2015197842.tif 000005
【図４】
2015197842.tif 000006
【図５】
2015197842.tif 000007
【図６】
2015197842.tif 000008