以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
●第1の実施形態●
●システム構成
図1は、第1の実施形態に係る遠隔管理システムのシステム構成の一例を示す図である。図1に示す遠隔管理システム1は、機器管理システム10が仲介装置50から取得したリソース情報に基づいて、障害(異常)の兆候を検知して予防措置を行うことにより、システムを継続して正常に稼働させることができるシステムである。遠隔管理システム1は、機器管理システム10、ローカルネットワーク11およびファイアウォール13を含む。ローカルネットワーク11は、インターネットを介して機器管理システム10と接続されている。ローカルネットワーク11と機器管理システム10は、ファイアウォール13をインターフェースとして接続されている。
ローカルネットワーク11は、オフィス、会議室、倉庫、工場または特定の生産ライン等のネットワーク環境において形成される通信ネットワークである。ローカルネットワーク11は、例えば、インターネットを経由しない社内LAN(Local Area Network)である。ローカルネットワーク11は、仲介装置50、MFP(Multi-Function Peripheral:複合機)61、PJ(Projector:プロジェクタ)62、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)63、PC(Personal Computer:パソコン)64、センサデバイス65(例:外部と通信可能な、電子天秤・気圧計・加速度計・電流計・温度計・光度計・人感センサ・カメラ・照度計)を含む。MFP61、PJ62、IWB63、PC64、センサデバイス65は、機器管理システム10における遠隔管理の対象となる被管理装置である。なお、以下の説明で使用する機器60は、これらの被管理装置の総称である。
ファイアウォール13は、機器管理システム10(インターネット)からの特定のパケットのみをローカルネットワーク11内に通過させる機能を有する。これにより、ファイアウォール13は、ローカルネットワーク11への意図しないまたは不正なアクセスをブロックすることが可能となる。また、ファイアウォール13は、仲介装置50からのパケットを機器管理システム10に転送する機能を有する。
機器管理システム10は、ローカルネットワーク11内に位置する仲介装置50および機器60を管理するためのシステムである。機器管理システム10は、クラウドサーバ20およびアプリサーバ30を含む。クラウドサーバ20は、複数のサーバコンピュータを含み、ファイアウォ-ルを介して仲介装置50と接続される。クラウドサーバ20は、ローカルネットワーク11内の機器60を、仲介装置50を介して遠隔管理する。管理の一例として、クラウドサーバ20は、MFP61から、トナー残量・印刷枚数等の状態に関する情報を取得することが可能である。また、クラウドサーバ20は、MFP61に蓄積されたドキュメントデータの印刷を実行させるための指示が可能である。また、クラウドサーバ20は、PJ62、IWB63、およびPC64に対して、電源のONまたはOFFを制御することが可能である。さらに、クラウドサーバ20は、センサデバイス65に対して、当該センサデバイス65によって取得された情報を取得することが可能である。クラウドサーバ20は、第1の管理装置の一例である。
アプリサーバ30は、クラウドサーバ20のアクセス手段を用いて、所望のソリューションを実現するためのアプリケーションソフトウエア(以下、アプリ)を提供するサーバ装置である。ソリューションは、例えば、機器60に係るログ収集サービス、機器60に係るカウンタ収集サービス、機器60のメンテナンスサービス等を含む。アプリサーバ30は、PC40a、PC40bおよびPC40c(以下、それぞれを区別しない場合「PC40」という。)に対して、それぞれアプリ35を提供する。アプリサーバ30は、第2の管理装置の一例である。
PC40は、機器管理システム10に接続されるPCである。PC40aではアプリ35a、PC40bではアプリ35b、PC40cではアプリ35c(以下、アプリ35a~cのそれぞれを区別しない場合、アプリ35という。)が動作している。図1に示すアカウントは、アプリ35を使用する複数のユーザ(管理者)をグルーピングするものである。アプリ35は、アプリごとに異なるソリューションを提供することができる。アプリ35は、例えば、ローカルネットワーク11の使用環境や機器60の種別に応じて、提供するソリューションを設定することができる。アプリサーバ30は、PC40ごとに提供する複数のアプリ35を管理している。
仲介装置50は、クラウドサーバ20と、ローカルネットワーク11における機器60との間の通信を仲介する装置である。また、仲介装置50は、機器60およびファイアウォール13と、有線または無線LAN等を介して通信可能である。仲介装置50は、クラウドサーバ20からの指示を受けて機器60にアクセスしたり、機器60からのアラート通知をクラウドサーバ20に送信したり、予め設定されたスケジュールに基づき機器60の情報取得通知や死活監視(例えば、機器60が通信可能であるかどうか等)を行う。仲介装置50は、単体として機能するボックス型(箱型)の通信装置であってもよく、MFP61等の情報機器に内蔵されていてもよい。
また、仲介装置50は、インターネット上にあるクラウドサーバ20と、ファイアウォール13を経由して通信可能である。すなわち、仲介装置50は、ファイアウォール(をインターフェースとするローカルネットワーク11)内に位置し、機器管理システム10を構成するクラウドサーバ20は、ファイアウォール(をインターフェースとするローカルネットワーク11)外に位置するといえる。
機器60(MFP61、PJ62、IWB63、PC64およびセンサデバイス65)は、ローカルネットワーク11内に位置し、かつファイアウォール(をインターフェースとするローカルネットワーク11)内に位置する。機器60は、機器管理システム10によるメンテナンスやカウンタ検針等が行われる管理対象の機器である。また、機器60は、人感センサ等のネットワーク機能を備えていない端末に、ネットワーク機能を備えた機器を取り付けてもよい。
なお、図1は、機器管理システム10が、一つのローカルネットワーク11内に位置する複数の機器60を遠隔管理する例を示すが、機器管理システム10が、複数のローカルネットワーク11内のそれぞれに位置する機器60を遠隔管理する構成にしてもよい。また、図1は、一台の仲介装置が一つのローカルネットワーク11内に位置する例を示すが、一つのローカルネットワーク内に二台以上の仲介装置50が位置する構成にしてもよい。この場合、仲介装置50ごとに担う機能を分担してもよい。
●概略
図2は、第1の実施形態に係る遠隔管理システムの概略の一例を示す図である。図2に示す遠隔管理システム1は、機器管理システム10によって、ローカルネットワーク11内に位置する仲介装置50の障害(異常)の兆候を検知して、仲介装置50の障害を改善するための予防措置を行うことを示している。なお、図2は、第1の実施形態に係る遠隔管理システムの概略を簡略的に説明したものであり、遠隔管理システム1が実現する機能等の詳細は、後述する図面等を用いて説明する。
仲介装置50は、予め設定されたスケジュールに基づいて、クラウドサーバ20に対して、仲介装置50の状態を示すステータス情報580を送信する。ステータス情報580は、例えば、仲介装置50のコンピュータリソースや稼働状態に関するログ情報を含む。また、仲介装置50は、例えば、仲介装置50または機器60の障害の発生を検知した場合、検知した障害の状態を示す情報(WARN、ERROR、INFO、DEBUG等)を含むステータス情報580を送信してもよい。仲介装置50がステータス情報580を送信するタイミング(スケジュール)および送信するステータス情報580の内容は、アプリサーバ30によって設定される。
機器管理システム10を構成するクラウドサーバ20は、仲介装置50からステータス情報580を受信した場合、予め設定されたアラートポリシー251に基づいて、アプリサーバ30に対するアラート通知の要否を判定する。アラート通知は、クラウドサーバ20によって仲介装置50の状態(例えば、仲介装置50の障害(異常)の兆候)を検知した場合に、アプリサーバ30に対して行われる通知である。
アラートポリシー251は、アラート通知の要否を判定するための所定の条件を含む。アラートポリシー251に含まれる条件は、仲介装置50のコンピュータリソースの使用量(稼働量)の閾値を超えていることという条件を含む。また、アラートポリシー251に含まれる条件は、ステータス情報580に、仲介装置50のリソース状態を示す所定の文字列が含まれていることという条件を含む。なお、ステータス情報580およびアラートポリシー251の詳細な内容は、後述する。クラウドサーバ20は、受信したステータス情報580が、アラートポリシー251に含まれる所定の条件を満たす場合、アプリサーバ30に対して、アラート通知を送信する。
機器管理システム10を構成するアプリサーバ30は、クラウドサーバ20からアラート通知を受信した場合、措置情報管理テーブル351に基づいて、仲介装置50に対する措置情報を決定する。措置情報は、アラート通知の要否を判定するための所定の条件に紐づく(対応づけられた、関連づけられた)所定の処理の実行を指示する情報である。措置情報は、仲介装置50に対して所定の処理の実行を指示する指示情報の一例である。措置情報は、例えば、仲介装置50の障害(異常)の兆候を改善するために、仲介装置50に実行させる所定の処理内容を指示する情報を含む。
措置情報は、例えば、仲介装置50の障害の兆候がメモリ不足である場合は、仲介装置50のリブート処理が設定されている。その他、措置情報は、仲介装置50がディスクフルの状態である場合、ファイルの削除、I/Oエラーである場合、周辺機器のリセット、ソフトウエアにバグがある場合、ファームウエアの更新等の処理が設定されている。なお、措置情報管理テーブル351および措置情報の詳細な内容は、後述する。アプリサーバ30は、決定した措置情報に基づく予防措置要求を、クラウドサーバ20を経由して仲介装置50に対して送信する。
仲介装置50は、クラウドサーバ20を介して、アプリサーバ30によって送信された予防措置要求を受信した場合、要求された予防措置を実行する。これによって、仲介装置50は、アプリサーバ30からの要求に基づいて、リソース状態等に障害(異常)が発生する前に対策を講じることができる。
したがって、第1の実施形態に係る遠隔管理システムは、機器管理システム10が定期的に仲介装置50のログ情報を収集して、仲介装置50の障害(異常)の兆候を事前に検知する。そして、機器管理システム10は、検知した障害(異常)の兆候を改善するための予防措置を、仲介装置50に対して要求する。遠隔管理システム1において、機器管理システム10は、仲介装置50を介して機器60のログ情報を取得するため、仲介装置50に障害が発生した場合、機器60の管理を行えないおそれがある。そのため、遠隔管理システム1は、仲介装置50に障害(異常)が発生する前に予防措置を実行することができるので、システムを継続して正常に稼働させることができる。
●ハードウエア構成
続いて、第1の実施形態に係る各装置のハードウエア構成について説明する。遠隔管理システム1を構成する各装置は、一般的なコンピュータの構成を有する。ここでは、一般的なコンピュータのハードウエア構成例について説明する。
図3は、第1の実施形態に係るコンピュータのハードウエア構成の一例を示す図である。なお、図3に示すコンピュータ1000のハードウエア構成は、各実施形態において同様の構成を有していてもよく、必要に応じて構成要素が追加または削除されてもよい。コンピュータ1000は、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003、ストレージ1004、入力部1005、表示部1006、入出力インターフェース(I/F)1007、通信部1008およびバス1009等を有する。
CPU1001は、ROM1002やストレージ1004等に格納されたプログラムやデータをRAM1003上に読み出し、処理を実行することで、コンピュータ1000の各機能を実現する演算装置である。クラウドサーバ20およびアプリサーバ30(機器管理システム10)は、例えば、本発明に係るプログラムをCPU1001が実行することによって、本発明に係る機器管理方法を実現する。
ROM1002は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。ROM1002は、例えば、フラッシュROM等により構成される。ROM1002は、多種の用途に対応したSDK(Software Development Kit)がインストールされており、SDKのアプリケーションを用いて、コンピュータ1000の機能やネットワーク接続等を実現することが可能である。
RAM1003は、CPU1001のワークエリア等として用いられる揮発性のメモリである。ストレージ1004は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等のストレージデバイスである。ストレージ1004は、例えば、OS(Operation System)、アプリケーションプログラムおよび各種データ等を記憶する。
入力部1005は、コンピュータ1000の操作を行うための入力を受け付ける。入力部1005は、例えば、キーボード、マウス、タッチパネル等の入力装置である。表示部1006は、コンピュータ1000の処理結果等を表示する。表示部1006は、例えば、LCD(Liquid Crystal Display)等の表示装置である。なお、入力部1005または表示部1006は、コンピュータ1000の外部に設けられていても良い。また、入力部1005および表示部1006は、例えば、タッチパネルディスプレイ等の一体型の表示入力部等であってもよい。
入出力インターフェース(I/F)1007は、コンピュータ1000に周辺装置を接続するためのインターフェースである。周辺装置は、例えば、USB(Universal Serial Bus)メモリ、メモリカード、光学ディスク等の記録媒体1007aや、各種の電子機器等が含まれる。
通信部1008は、コンピュータ1000をネットワークに接続し、他のコンピュータや、電子機器等とデータの送受信を行う。通信部1008は、例えば、有線または無線LAN等の通信インターフェースである。また、通信部1008は、3G(3rd Generation)、LTE(Long Term Evolution)、4G(4rd Generation)、5G(5rd Generation)、Zigbee(登録商標)、EnOcean、BLE(Bluetooth(登録商標)Low Energy)、NFC(Near Field Communication)、ミリ波無線通信、赤外線通信、QRコード(登録商標)、可視光、環境音または超音波等の通信インターフェースを備えてもよい。
バス1009は、上記の各構成要素に共通に接続され、アドレス信号、データ信号、および各種制御信号等を伝送する。CPU1001、ROM1002、RAM1003、ストレージ1004、入力部1005、表示部1006、入出力インターフェース(I/F)1007および通信部1008は、バス1009を介して相互に接続されている。
なお、第1の実施形態に係る各装置のハードウエア構成は、必要に応じて構成要素が追加または削除されてもよい。また、図3に示す各装置のハードウエア構成は、各実施形態において同様の構成を有していてもよい。
●機能構成
続いて、第1の実施形態に係る遠隔管理システムの機能構成について説明する。図4は、第1の実施形態に係るクラウドサーバおよびアプリサーバの機能構成の一例を示す図である。図4に示すクラウドサーバ20により実現される機能は、仲介装置通信部201、アプリ通信部202、通信経路管理部203、アラートポリシー管理部204、グループ設定部205、記憶・読出部206および記憶部207を含む。
仲介装置通信部201は、仲介装置50との間でデータをやり取りする機能である。仲介装置通信部201は、ローカルネットワーク11の内部に位置する仲介装置50との間のファイアウォ-ルを経由した通信を制御する。仲介装置通信部201は、例えば、仲介装置50の状態を示すステータス情報580を、仲介装置50から受信する。
また、仲介装置通信部201は、例えば、アプリサーバ30から送信されたコマンド(予防措置要求)を仲介装置50に対して転送する。具体的には、仲介装置通信部201は、アプリサーバ30から送信された仲介装置50または機器60に対する予防措置要求を、仲介装置50に対して送信する。予防措置要求は、後述するステータス情報解析部302によって決定される措置情報を含む。措置情報は、後述するアラートポリシー管理部204によってアラート通知の要否を判定するための所定の条件に対応づけられた所定の処理の実行を指示する情報である。措置情報は、仲介装置50に対して所定の処理の実行を指示する指示情報の一例である。
さらに、仲介装置通信部201は、例えば、アプリサーバ30から送信されたコマンド(予防措置要求)の実行結果を、仲介装置50から受信する。仲介装置通信部201は、例えば、図3に示した通信部1008およびCPU1001で実行されるプログラム等により実現される。仲介装置通信部201は、受信手段および送信手段の一例である。
ここで、通常、ローカルネットワーク11とインターネット環境との間にはファイアウォール13が設置されているため、アプリサーバ30(または、アプリサーバ30から提供されるアプリ35を実行するPC40)から仲介装置50に対して直接接続することはできない。そこで、アプリサーバ30と仲介装置50の間の通信は、クラウドサーバ20を経由して行われる。
具体的には、仲介装置50は、仲介装置50からクラウドサーバ20へポーリングを行い、当該ポーリングに対する応答としてクラウドサーバ20を介して、アプリサーバ30からの命令を取得する。または、仲介装置50からクラウドサーバに対して常時通信可能なように通信セッション(WebSocket等)を維持しておき、アプリサーバ30(または、アプリ35)は、クラウドサーバ20を介して、仲介装置50に対してデータを送信する。本実施形態では、どちらの方法をとってもよい。
アプリ通信部202は、アプリサーバ30との間でデータをやり取りする機能である。アプリ通信部202は、HTTPS(HyperText Transfer Protocol Secure)のプロトコルを用いて、アプリサーバ30と通信を行う。なお、通信方式は、これに限られず、FTP(File Transfer Protocol)、HTTP(HyperText Transfer Protocol)またはSMTP(Simple Mail Transfer Protocol)等のプロトコルを用いてもよい。
アプリ通信部202は、例えば、アプリサーバ30に対して、アラート通知を送信する。また、アプリ通信部202は、例えば、アプリサーバ30から送信されたコマンド(予防措置要求)を受信する。具体的には、アプリ通信部202は、仲介装置50に対する予防措置要求を、アプリサーバ30から受信する。アプリ通信部202は、例えば、図3に示した通信部1008およびCPU1001で実行されるプログラム等により実現される。
通信経路管理部203は、アプリサーバ30が提供するアプリ35と仲介装置50または機器60との間の通信経路を管理する機能である。通信経路管理部203は、例えば、アプリサーバ30が提供するアプリ35と仲介装置50または機器60との間の通信経路を、通信経路管理DB252を用いて管理する。そして、通信経路管理部203は、アプリ35(またはアプリサーバ30)から命令が発行された場合、いずれの仲介装置50にルーティングすべきかを通信経路管理DB252により管理された情報を用いて判断する。
また、通信経路管理部203は、仲介装置50から通知された情報を、いずれのアプリ35に転送すべきかを通信経路管理DB252により管理された情報を用いて判断する。通信経路管理部203は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。
アラートポリシー管理部204は、仲介装置50の状態を検知するためのアラートポリシー251を管理する機能である。アラートポリシー管理部204は、記憶部207に記憶されたアラートポリシー251に基づいて、アプリサーバ30に対するアラート通知の要否を判定する。アラートポリシー251は、例えば、仲介装置50の障害(異常)の兆候を検知するためのものである。アラートポリシー251の詳細は、後述する。アラートポリシー管理部204は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。アラートポリシー管理部204は、通知手段の一例である。
グループ設定部205は、アプリサーバ30が提供する複数のアプリ35に対して、アラート通知を一括で送信するためのグルーピング設定を行う機能である。グループ設定部205は、アラート通知が必要なアプリ35をグループピングする。一方で、グループ設定部205は、アラート通知が不要なアプリ35をグループから外すことで、クラウドサーバ20からアラート通知を送信しないようにする。グループ設定部205は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。
記憶・読出部206は、記憶部207に各種データを記憶し、記憶部207から各種データを読み出す機能である。記憶・読出部206および記憶部207は、例えば、図3に示したROM1002、ストレージ1004およびCPU1001で実行されるプログラム等により実現される。記憶部207は、記憶手段の一例である。記憶部207は、通信経路管理部203により管理される通信経路管理DB252を構築している。また、記憶部207は、アラートポリシー251を記憶している。
ここで、記憶部207に記憶されるアラートポリシー251について説明する。図6は、第1の実施形態に係るアラートポリシーの一例を示す図である。図6に示すアラートポリシー251は、仲介装置50の障害(異常)の兆候を検知するためのものである。アラートポリシー251は、コンピュータのリソースに関する「項目」、アラート通知の要否を判定するための「条件」および条件を識別するための「条件ID」に対応する情報を含む。アラートポリシー251は、「項目」ごとに「条件」が設定され、「条件」ごとに「条件ID」が紐づけられている。アラートポリシー251は、CPU、メモリ、ストレージ等の「項目」に対して、それぞれの稼働状態や使用量(使用率)を「条件」として設定して、仲介装置50の障害(異常)の兆候を検知させる。
「項目」は、汎用的なコンピュータリソースを示す情報が示されている。図6に示す「項目」は、例えば、CPU、メモリ、ストレージ、電源等を含む。その他、「項目」は、スレッド数、ファイルディスクリプタ、Socket通信の接続クライアントの数等を含んでもよい。
「条件」は、アラート通知の要否を判定するための条件であり、例えば、仲介装置50の障害(異常)の兆候を検知するための条件である。「条件」は、仲介装置50のコンピュータリソースの使用量(稼働量)の閾値を超えていることという条件を含む。図6に示す「条件」は、例えば、「項目」CPUに対して、使用率が80%を超えていることという条件を含む。また、「条件」は、ステータス情報580に、仲介装置50のリソース状態を示す所定の文字列が含まれていることという条件を含む。図6に示す「条件」は、例えば、「項目」メモリに対して、“Out of Memory”が含まれていることという条件を含む。
アラートポリシー管理部204は、仲介装置50から受信したステータス情報580の中から、アラートポリシー251に含まれる「項目」に該当する情報(例えば、キーワードや文字列等)を抽出し、抽出した内容が「条件」を満たす場合、アラート通知をアプリサーバ30に対して送信するように判定する。なお、図6に示すアラートポリシー251に含まれる「項目」および「条件」の内容は、一例であり、機器管理システム10の管理者等によって適宜設定・変更可能である。
続いて、アプリサーバ30の機能構成について説明する。図4に示すアプリサーバ30により実現される機能は、送受信部301、ステータス情報解析部302、監視レベル設定部303、受付部304、レポート集計・出力部305、記憶・読出部306および記憶部307を含む。
送受信部301は、クラウドサーバ20との間でデータをやり取りする機能である。送受信部301は、HTTPSのプロトコルを用いて、クラウドサーバ20と通信を行う。なお、通信方式は、これに限られず、FTP、HTTPまたはSMTP等のプロトコルを用いてもよい。送受信部301は、例えば、クラウドサーバ20から送信されたアラート通知を受信する。また、送受信部301は、クラウドサーバ20に対して、仲介装置50に対する予防措置要求を送信する。予防措置要求は、後述するステータス情報解析部302によって決定された措置情報を含む。送受信部301は、例えば、図3に示した通信部1008およびCPU1001で実行されるプログラム等により実現される。
ステータス情報解析部302は、仲介装置50のステータス情報580に基づいて、仲介装置50に対する予防措置の内容を決定する機能である。ステータス情報解析部302は、例えば、クラウドサーバ20からアラート通知を受信した場合、記憶部307に記憶された措置情報管理テーブル351を用いて、仲介装置50に対する措置情報を決定する。
措置情報は、アラート通知の要否を判定するための所定の条件に紐づく(対応づけられた、関連づけられた)所定の処理の実行を指示する情報である。措置情報は、例えば、仲介装置50の障害(異常)の兆候を改善するために、仲介装置50に実行させる所定の処理内容を指示する情報を含む。措置情報は、仲介装置50に対して所定の処理の実行を指示する指示情報の一例である。措置情報に含まれる処理内容は、例えば、リブート処理やファイル削除処理等が含まれる。ステータス情報解析部302は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。ステータス情報解析部302は、決定手段および特定手段の一例である。
ここで、措置情報管理テーブル351について説明する。図7は、第1の実施形態に係る措置情報管理テーブルの一例を示す図である。図7に示す措置情報管理テーブル351は、仲介装置50に対する障害(異常)の兆候を改善するための措置情報を管理するものである。措置情報管理テーブル351は、「条件ID」に、障害(異常)の兆候の改善を仲介装置50に対して指示する「措置情報」を紐づけて管理している。
「条件ID」は、図6に示したアラートポリシー251に含まれる「条件ID」に対応している。「措置情報」は、仲介装置50の障害(異常)の兆候を改善するために、仲介装置50に実行させる処理内容を指示する指示情報である。「措置情報」は、例えば、仲介装置50の障害の兆候がメモリ不足である場合は仲介装置50のリブート処理、仲介装置50がディスクフルの状態である場合はファイルの削除、I/Oエラーである場合は周辺機器のリセット、ソフトウエアにバグがある場合はファームウエアの更新等の処理内容が設定されている。
ステータス情報解析部302は、クラウドサーバ20から受信したアラート通知に含まれる「条件ID」と同一の「条件ID」に対応づけられた「措置情報」を、仲介装置50に対して指示する処理内容として決定する。図7に示す措置情報管理テーブル351は、アラート通知に含まれる「条件ID」が“A0003”の場合、“リブート処理”を「措置情報」として決定する。なお、措置情報管理テーブル351は、アプリサーバ30が提供するアプリ35ごとに設けられていてもよい。措置情報管理テーブル351に含まれる「措置情報」の内容は、アプリサーバ30が提供するアプリ35のユーザによって適宜設定・変更されてもよい。
監視レベル設定部303は、仲介装置50または機器60に対する監視レベルを設定する機能である。監視レベル設定部303は、例えば、仲介装置50のステータス情報580や機器60の機器情報を取得するタイミング(例えば、スケジュールやインターバル間隔等)を、監視下にある仲介装置50ごとに設定する。
また、監視レベル設定部303は、仲介装置50から取得するログ情報(ステータス情報580または機器情報)の内容を設定する。監視レベル設定部303は、例えば、図6に示したアラートポリシー251に含まれる特定の「項目」(リソース項目)に対応する情報をステータス情報580として、仲介装置50に送信させるように設定する。監視レベル設定部303は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。ステータス情報解析部302は、監視レベル設定部303によって設定された監視レベルに基づいて、仲介装置50からログ情報(ステータス情報580または機器情報)を取得し、障害(異常)の兆候の検知および予防措置を行う。監視レベル設定部303は、設定手段の一例である。
なお、監視レベル設定部303は、アプリサーバ30が提供するアプリ35ごとに、管理下にある仲介装置50または機器60に対する監視レベルを設定してもよい。また、監視レベル設定部303は、仲介装置50や機器60において障害(異常)が発生した場合に、動作ログ(ERROR、WARN、INFO、DEBUG等)を、仲介装置50や機器60から送信させるように設定してもよい。
受付部304は、管理下にある仲介装置50や機器60に対する命令を受け付ける機能である。受付部304は、例えば、アプリサーバ30が提供するアプリ35を実行するPC40に対して、管理対象の仲介装置50や機器60の状態や情報を表示させる。また、受付部304は、例えば、アプリサーバ30が提供するアプリ35を実行するPC40に対して、管理対象の仲介装置50や機器60に対する情報取得や制御等の命令を受け付けるユーザI/Fを備えた画面を表示させる。受付部304は、例えば、図3に示した表示部1006およびCPU1001で実行されるプログラム等により実現される。
レポート集計・出力部305は、ユーザ所望のフォーマットにデータを集計し出力する機能である。レポート集計・出力部305は、例えば、管理対象の機器60のカウンタ情報を集計し、CSV(Comma Separated Value)形式にまとめて月次でレポートを生成して出力する。レポート集計・出力部305は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。
記憶・読出部306は、記憶部307に各種データを記憶し、記憶部307から各種データを読み出す機能である。記憶・読出部306および記憶部307は、例えば、図3に示すROM1002、ストレージ1004およびCPU1001で実行されるプログラム等により実現される。記憶部307は、記憶手段の一例である。記憶部307は、図7に示した措置情報管理テーブル351を記憶している。さらに、記憶部307は、ステータス情報管理DB352を構築している。ステータス情報管理DB352は、仲介装置50から送信された、仲介装置50のリソース状態を示すステータス情報580を管理する。
ここで、ステータス情報管理DB352に管理されるステータス情報580について説明する。図8は、第1の実施形態に係るステータス情報の一例を示す図である。図8(a)は、仲介装置50から送信されるステータス情報580の内容の概略を示す。ステータス情報580は、「タイムスタンプ」、「メッセージ」、「スレッドID」および「ソースコード」等の情報を含む。
「タイムスタンプ」は、仲介装置50がステータス情報580を送信した時間を示す情報を含む。「メッセージ」は、仲介装置50のリソースに関する情報を含む。図8(b)に、「メッセージ」に含まれる内容を示す。「メッセージ」は、例えば、仲介装置50のCPUの使用率、メモリの使用量、ストレージの使用量、電源(バッテリー)の残量、スレッドIDの数、ファイルディスクリプタの数、Socket通信の接続クライアントの数等を含む。なお、メッセージに含まれる項目は、これに限られない。「スレッドID」は、仲介装置が実行する1つのプロセスの中で、複数のスレッドが実行される場合に、所定のスレッドを識別するためのものである。「メッセージ」は、確認すべき文字列やコードが含まれる「ソースコード」の行数の情報等が含まれてもよい。
図5は、第1の実施形態に係る仲介装置および機器の機能構成の一例を示す図である。図5に示す仲介装置50により実現される機能は、クラウド通信部501、機器通信部502、スケジューラ機能部503、異常検知ポリシー管理部504、装置状態監視部505、表示制御部506、記憶・読出部507および記憶部508を含む。
クラウド通信部501は、クラウドサーバ20との間でデータをやり取りする機能である。クラウド通信部501は、例えば、仲介装置50または機器60のログ情報(例えば、図8に示した仲介装置50のステータス情報580、機器60の機器情報等)を、クラウドサーバ20に対して送信する。また、クラウド通信部501は、例えば、アプリサーバ30(またはアプリサーバ30が提供するアプリ35)が発行したコマンド(予防措置要求)を、クラウドサーバ20から受信する。さらに、クラウド通信部501は、アプリサーバ30(またはアプリサーバ30が提供するアプリ35)が発行したコマンド(予防措置要求)に対する処理の実行結果を、クラウドサーバ20に対して送信する。クラウド通信部501は、例えば、図3に示す通信部1008およびCPU1001で実行されるプログラム等により実現される。
機器通信部502は、機器60との間でデータをやり取りする機能である。機器通信部502は、HTTPまたはSNMP(Simple Network Management Protocol)のプロトコルを用いて、機器60と通信を行う。なお、通信方式は、これに限られず、HTTPSまたはLPD(Line Printer Daemon)等のプロトコルを用いてもよい。機器通信部502は、例えば、機器60からの機器アラートであるテキストメッセージまたはバイナリデータを受信する。また、機器通信部502は、アプリサーバ30(またはアプリサーバ30が提供するアプリ35)が発行したコマンドの内容を解釈して機器60にリクエストを送信する。機器通信部502は、例えば、図3に示す通信部1008およびCPU1001で実行されるプログラム等により実現される。
スケジューラ機能部503は、仲介装置50の内部タイマおよび予め設定されたスケジュール(タスクスケジュール552)に基づいて、管理対象の機器60から情報を取得し、取得した情報をクラウドサーバ20に対して通知する機能である。また、スケジューラ機能部503は、機器60がネットワーク通信可能であるか確認する(死活監視)等の定期動作を行う。スケジューラ機能部503は、例えば、図3に示すCPU1001で実行されるプログラム等により実現される。
異常検知ポリシー管理部504は、機器60の障害(異常)の兆候を検知するための異常検知ポリシー551を管理する機能である。異常検知ポリシー管理部504は、記憶部508に記憶された異常検知ポリシー551に基づいて、機器60の障害(異常)の兆候を検知する。異常検知ポリシー管理部504は、例えば、図3に示すCPU1001で実行されるプログラム等により実現される。
装置状態監視部505は、仲介装置50のリソース状態を監視する機能である。装置状態監視部505は、メモリ不足、ストレージ不足、書き込みエラー等の障害(異常)の兆候を検知する。装置状態監視部505は、記憶部508に記憶されたタスクスケジュール552に基づいて、リソース状態の監視結果を含むステータス情報580を生成する。装置状態監視部505は、例えば、図3に示したCPU1001により実行されるプログラム等によって実現される。
表示制御部506は、クラウドサーバ20や機器60と通信を行うためのネットワーク設定や、クラウドサーバ20と通信を開始するためのアクティベーション手続きまたは接続確認等を行うための表示を行う機能である。表示制御部506は、例えば、図3に示した表示部1006およびCPU1001で実行されるプログラム等により実現される。
記憶・読出部507は、記憶部508に各種データを記憶し、記憶部508から各種データを読み出す機能である。記憶・読出部507および記憶部508は、例えば、図3に示すROM1002、ストレージ1004およびCPU1001で実行されるプログラム等により実現される。記憶部508は、異常検知ポリシー551およびタスクスケジュール552を記憶している。
異常検知ポリシー551は、例えば、機器60の障害(異常)の兆候を検知するための条件を示すポリシーである。異常検知ポリシー551の内容は、図6に示したアラートポリシー251の内容と同様の内容でもよく、機器60の種別に応じて、機器60特有の情報を追加してもよい。タスクスケジュール552は、機器60に対してログ取得要求を送信するスケジュールや、クラウドサーバ20に対してログ(ステータス情報580または機器情報)を送信するスケジュールを保持している。タスクスケジュール552は、仲介装置50を管理するアプリサーバ30(またはアプリサーバ30が提供するアプリ35)によって設定される。
また、記憶部508は、機器情報管理DB553および機器接続定義管理DB554を構築している。機器情報管理DB553は、機器60から受信した機器情報を管理する。機器情報は、機器60のリソース状態を示す情報や稼働状態に関する情報等を含む。機器接続定義管理DB554は、機器60の追加・削除・検索、機器情報取得・疎通確認を実行するための通信パラメータを管理する。HTTPの通信パラメータは、例えば、リソースURI(Uniform Resource Identifier)、メソッド、ヘッダ、クエリ、ボディを含む。また、SNMPの通信パラメータは、例えば、コマンド種別(Get/GetBulk)、バージョン、コミュニティ名、OID(オブジェクト識別子)を含む。
ここで、図9を用いて、機器接続定義について説明する。図9は、第1の実施形態に係る機器接続定義の一例を示す図である。図9は、機器接続定義の通信プロトコルは変更せずに通信パラメータを変えて値を取得する場合の例を示す。図9に示す追加前の機器接続定義において、機器60との通信に使用できる通信プロトコルは、HTTP(ボディ部はJSON(Java(登録商標)Script Object Notation))とSNMPの2つであることを示している。また、HTTP通信する際には、メソッド、リソースURI、ヘッダ、ボディというパラメータを指定する必要がある。
図9に示す追加前の機器接続定義は、プロジェクタからの状態取得(GET /state)の例である。パラメータ「デバイス」に対応するデバイス通信定義情報は、「プロジェクタ」である。同様に、「アクション」は「状態取得」、「メソッド」は「GET」、「リソースURI」は「/state」、「ヘッダ」は「無し」、「ボディ」は「無し」が対応する。なお、通信プロトコル管理部は、機器接続定義管理DB554に含まれる機能であり、通信ライブラリは、使用可能な複数の通信プロトコルの群をいう。
図9に示す追加後の機器接続定義は、通信ライブラリ中のHTTP+JSONに、通信パラメータを追加している。追加された通信パラメータにおいて、パラメータ「アクション」に対応するデバイス通信定義情報は、「機器情報取得」である。また、パラメータ「リソースURI」に対応するデバイス通信定義情報は、「/property」である。通信パラメータの追加によって、仲介装置50は、デバイス「プロジェクタ」に対して、「機密情報取得」を「/property」に対して行うことができる。図9に示すパラメータの追加は、アプリサーバ30の命令によるものであってもよい。上述のようにパラメータを追加または変更することで、仲介装置50のファームウエアを更新せずに、機器接続定義を容易に拡張することができる。
続いて、機器60の機能構成について説明する。図5に示す機器60により実現される機能は、送受信部601および機器情報生成部602を含む。なお、図5は、ローカルネットワーク11内に一台の機器60が位置する場合を説明するが、機器60は、ローカルネットワーク11内に複数設けられていてもよい。
送受信部601は、仲介装置50との間でデータをやり取りする機能である。送受信部601は、HTTPまたはSNMPのプロトコルを用いて、仲介装置50と通信を行う。なお、通信方式は、これに限られず、HTTPSまたはLPD等のプロトコルを用いてもよい。
送受信部601は、例えば、機器アラートであるテキストメッセージまたはバイナリデータ等の機器情報を、仲介装置50に対して送信する。また、送受信部601は、例えば、アプリサーバ30(またはアプリサーバ30が提供するアプリ35)が発行したコマンド(予防措置要求)を、仲介装置50から受信する。さらに、送受信部601は、例えば、アプリサーバ30(またはアプリサーバ30が提供するアプリ35)が発行したコマンド(予防措置要求)に対する処理の実行結果を、仲介装置50に対して送信する。送受信部601は、例えば、図3に示す通信部1008およびCPU1001で実行されるプログラム等により実現される。
機器情報生成部602は、機器60の機器情報を生成する機能である。機器情報は、機器60のリソース状態を示す情報や稼働状態に関する情報を含むログ情報である。機器情報生成部602は、仲介装置50からの要求に応じて、仲介装置50へ送信するための機器情報を生成する。機器情報生成部602は、例えば、図3に示すCPU1001で実行されるプログラム等により実現される。
●機器管理方法
続いて、遠隔管理システム1における機器管理方法について説明する。図10は、第1の実施形態に係る遠隔管理システムにおける機器管理方法の一例を示すシーケンス図である。図10は、機器管理システム10が仲介装置50の障害(異常)の予兆を検知する処理について説明する。なお、仲介装置50は、アプリサーバ30によって設定された、ログ情報(ステータス情報580)を送信するタイミングを示すタスクスケジュール552を、予め記憶部508に記憶しているものとする。
ステップS101において、仲介装置50は、仲介装置50のリソース状態を示すステータス情報580を生成する。ステップS102において、仲介装置50は、生成したステータス情報580をクラウドサーバ20に対して送信する。具体的には、仲介装置50は、記憶部508に記憶されたタスクスケジュール552に基づいて、ステップS101におけるステータス情報580の生成処理とステップS102におけるステータス情報580の送信処理を繰り返す。ステータス情報580は、図8に示したように、CPU、メモリ、ストレージ、ファイルディスクリプタ、ネットワークI/Fの状態等の仲介装置50のリソース状態を示す情報が含まれる。
ここで、仲介装置50が送信するステータス情報580の内容は、アプリサーバ30の監視レベル設定部303によって設定・変更可能である。ステータス情報580のサイズが大きい場合、送信完了までに時間を要し、クラウドサーバ20は、短い間隔での仲介装置50の状態を把握できない。また、クラウドサーバ20は、ステータス情報580のサイズが大きい場合、例えば、モバイル回線等では、通信サイズの制限を超えてしまう可能性がある。そのため、ステータス情報580に含める内容は、必要なログに絞る方が好ましい。
ステップS103において、クラウドサーバ20は、仲介装置50からステータス情報580を受信した場合、アラートポリシー251に基づいて、アプリサーバ30に対するアラート通知の要否を判定する。ここで、クラウドサーバ20におけるアラート通知の要否判定について説明する。図11は、第1の実施形態に係るクラウドサーバにおけるアラート通知処理の一例を示すフローチャートである。図11は、図6に示したアラートポリシー251が、予め記憶部207に記憶されている例を説明する。また、仲介装置50から送信されるステータス情報580は、図8で示したものと同様の内容とする。
ステップS201において、クラウドサーバ20の仲介装置通信部201は、仲介装置50からステータス情報580を受信した場合、処理をステップS201へ移行させる(受信ステップの一例)。一方で、クラウドサーバ20の仲介装置通信部201は、仲介装置50からステータス情報580を受信していない場合、ステップS201の処理を繰り返す。
ステップS202において、クラウドサーバ20のアラートポリシー管理部204は、記憶部207に記憶されたアラートポリシー251の読み出しを行う。具体的には、アラートポリシー管理部204は、記憶・読出部206に対して、アラートポリシー251の読出要求を出力する。記憶・読出部206は、出力された読出要求を検知すると、記憶部207に記憶されたアラートポリシー251を読み出す。そして、記憶・読出部206は、読み出したアラートポリシー251を、アラートポリシー管理部204に対して出力する。
ステップS203において、クラウドサーバ20のアラートポリシー管理部204は、受信したステータス情報580に含まれる情報に、アラートポリシー251の条件を満たすものがある場合、処理をステップS204へ移行させる。アラートポリシー管理部204は、例えば、仲介装置50から送信されたステータス情報580の中から、アラートポリシー251に含まれる「項目」に該当する情報(例えば、キーワードや文字列等)を抽出する。そして、アラートポリシー管理部204は、抽出した内容がアラートポリシー251に含まれる「条件」を満たす場合、アラート通知をアプリサーバ30に対して送信するように判定する。
ステップS204において、クラウドサーバ20のアプリ通信部202は、アプリサーバ30に対して、アラート通知を送信する。アラート通知は、例えば、HTTPSのプロトコルを用いて送信されることを想定するが、通信プロトコルはこれに限られない。
ここで、クラウドサーバ20から送信されるアラート通知の内容について説明する。図12は、第1の実施形態に係るクラウドサーバが送信するアラートの内容の一例を示す図である。図12に示すアラート通知110は、「アラート対象となる仲介装置」、「条件ID」、「項目名」、「Value」等の情報が含まれる。「条件ID」は、アラートポリシー251に含まれる、条件を満たすと判定された「条件」に紐づく「条件ID」が記述される。「項目名」および「Value」は、アラートポリシー管理部204によって条件を満たすと判定された項目と、ステータス情報580に含まれる当該項目に対応する値が記述される。
クラウドサーバ20は、例えば、図8に示すステータス情報580の場合、図6に示したアラートポリシー251に含まれる「条件」のうち、メモリの容量が条件を満たしているため、項目に「メモリ」、Valueに「950MB」の情報が含まれるアラート通知110を送信する。なお、図12に示すアラート通知の内容は、一例であり、複数の「項目」を含んでもよい。
一方で、ステップS203において、クラウドサーバ20のアラートポリシー管理部204は、受信したステータス情報580に含まれる情報に、アラートポリシー251の条件を満たすものがない場合、処理を終了する。この場合、仲介装置50から送信されたログ(ステータス情報580)には、仲介装置50の障害(異常)の兆候を示す情報を含まれていないため、クラウドサーバ20は、仲介装置50が正常に動作しているものとして、アプリサーバ30に対するアラート通知を行わない。
図10に戻り、第1の実施形態に係る遠隔管理システムにおける機器管理方法の説明を続ける。ステップS104において、クラウドサーバ20は、図11に示したように、アプリサーバ30に対して、アラート通知を送信する。ステップS105において、アプリサーバ30は、クラウドサーバ20からアラート通知を受信した場合、仲介装置50に対する措置情報を決定する。
ここで、アプリサーバ30における措置情報の決定処理について説明する。図13は、第1の実施形態に係るアプリサーバにおける措置情報の決定処理の一例を示すフローチャートである。図13は、図7に示した措置情報管理テーブル351が、予め記憶部307に記憶されている例を説明する。
ステップS301において、アプリサーバ30の送受信部301は、クラウドサーバ20からアラート通知110を受信した場合、処理をステップS302へ移行させる。一方で、アプリサーバ30の送受信部301は、クラウドサーバ20からアラート通知110を受信していない場合、ステップS301の処理を繰り返す。
ステップS302において、アプリサーバ30のステータス情報解析部302は、記憶部307に記憶された措置情報管理テーブル351の読み出しを行う。具体的には、ステータス情報解析部302は、記憶・読出部306に対して、措置情報管理テーブル351の読出要求を出力する。記憶・読出部306は、出力された読出要求を検知すると、記憶部307に記憶された措置情報管理テーブル351を読み出す。そして、記憶・読出部306は、読み出した措置情報管理テーブル351を、ステータス情報解析部302に対して出力する。
ステップS303において、アプリサーバ30のステータス情報解析部302は、受信したアラート通知110に含まれる情報に対応する措置情報を決定する(決定ステップの一例)。具体的には、ステータス情報解析部302は、措置情報管理テーブル351の中で、アラート通知110に含まれる条件IDと同一の条件IDに関連づけられた措置情報を決定する。ステータス情報解析部302は、例えば、図12に示したアラート通知に含まれる条件IDが「A0003」であるため、図7に示した措置情報管理テーブル351の中で、条件IDが「A0003」に紐づく「リブート処理」を措置情報として決定する。
ステップS304において、アプリサーバ30の送受信部301は、クラウドサーバ20に対して、決定した措置情報に基づく予防措置要求を送信する。図14は、第1の実施形態に係る予防措置要求の内容の一例を示す図である。図14に示す予防措置要求120は、ステータス情報580の内容に基づいて障害(異常)の兆候があると判定された仲介装置50に対して、障害(異常)の改善を指示するための要求である。予防措置要求120は、メッセージとして、「コマンドID」、「要求先の仲介装置」、ステータス情報解析部302によって決定された「措置情報」等の情報を含む。図14に示す予防措置要求120は、例えば、コマンドID“B0001”、要求先“仲介装置A”、措置情報“reboot”を含む。予防措置要求120は、例えば、HTTPSのプロトコルを用いて送信されることを想定するが、通信プロトコルはこれに限られない。
図10に戻り、第1の実施形態に係る遠隔管理システムにおける機器管理方法の説明を続ける。ステップS106において、アプリサーバ30は、図13に示したように、クラウドサーバ20に対して、予防措置要求を送信する。ステップS107において、クラウドサーバ20は、仲介装置50に対して、アプリサーバ30から送信された予防措置要求を転送する(送信ステップの一例)。
ステップS108において、仲介装置50は、クラウドサーバ20から予防措置要求を受信した場合、要求された予防措置を実行する。仲介装置50は、例えば、クラウドサーバ20から図14に示した予防措置要求120を受信した場合、措置情報として指示された“リブート処理”を実行する。ステップS109において、仲介装置50は、予防措置が終了した場合、予防措置要求に対するフィードバックとして、措置結果通知をクラウドサーバ20に対して送信する。ステップS110において、クラウドサーバ20は、アプリサーバ30に対して、仲介装置50から送信された措置結果通知を転送する。
ここで、仲介装置50が送信する措置結果通知の内容について説明する。図15は、第1の実施形態に係る仲介装置における予防措置のフィードバックの内容の一例を示す図である。図15に示す措置結果通知130は、「コマンドID」、「措置の成否」、「仲介装置のステータス」および「障害の原因」の情報等が含まれる。図15に示す措置結果通知130は、例えば、図14に示した予防措置要求120に含まれるコマンドID「B0001」に対応するものである。また、図15に示す措置結果通知130は、要求された予防措置が成功し、仲介装置50のステータスが復旧したことを示している。さらに、図15に示す措置結果通知130は、障害(異常)の原因がメモリ残量不足であったことを併せて通知する。アプリサーバ30は、仲介装置50から措置結果通知130を取得することによって、自らが発行したコマンド(予防措置要求)に対する措置結果を知ることができる。
アプリサーバ30は、措置結果通知130の内容によって、障害(異常)の兆候が改善していない場合、異なる予防措置要求を仲介装置50に対して送信してもよい。また、アプリサーバ30は、予防措置要求を送信後、一定期間、措置結果通知130を受信できない場合、同様の予防措置要求を仲介装置50に対して再度送信してもよい。さらに、アプリサーバ30は、取得した措置結果通知130の内容に基づいて、措置情報管理テーブル351の内容を更新してもよい。
●第1の実施形態の効果
以上説明したように、第1の実施形態に係る遠隔管理システムは、機器管理システム10を構成するクラウドサーバ20が、仲介装置50の状態を示すステータス情報580を仲介装置50から取得する。機器管理システム10を構成するアプリサーバ30は、クラウドサーバ20が取得したステータス情報580に基づいて、仲介装置50に所定の処理の実行を指示する指示情報を決定する。そして、クラウドサーバ20は、アプリサーバ30によって決定された指示情報に基づいて、予防措置要求を仲介装置50に対して送信する。そのため、第1の実施形態に係る遠隔管理システムは、仲介装置50による障害(異常)が発生する前に、障害(異常)の兆候を検知して予防措置を行うので、システムを継続して正常に稼働させることができる。
●第1の実施形態の変形例1●
次に、第1の実施形態の変形例1について説明する。第1の実施形態の変形例1に係る遠隔管理システムは、図13に示した仲介装置50の障害(異常)の兆候を改善するための措置情報の決定処理を、アプリサーバ30ではなく、クラウドサーバ20において行う。
●機能構成
図16は、第1の実施形態の変形例1に係るクラウドサーバおよびアプリサーバの機能構成の一例を示す図である。図16に示すクラウドサーバ20により実現される機能は、第1の実施形態のアラートポリシー管理部204に変えて、ステータス情報解析部208を含む。さらに、図16に示すクラウドサーバ20は、記憶部207に措置情報管理テーブル351aを記憶している。
ステータス情報解析部208は、仲介装置50から取得したステータス情報580の内容に基づいて、仲介装置50に対する予防措置となる措置情報を決定する機能である。具体的には、ステータス情報解析部208は、記憶部207に記憶された措置情報管理テーブル351aを用いて、仲介装置50に対する措置情報を決定する。ステータス情報解析部208は、例えば、図3に示したCPU1001で実行されるプログラム等により実現される。
図17は、第1の実施形態の変形例1に係る措置情報管理テーブルの一例を示す図である。図17に示す措置情報管理テーブル351aは、図6に示したアラートポリシー251と図7に示した措置情報管理テーブル351に含まれる情報を、一つのテーブルにまとめたものである。すなわち、措置情報管理テーブル351aは、アラートポリシー251および措置情報管理テーブル351に含まれる「条件ID」を含まない。これによって、第1の実施形態の変形例1に係るクラウドサーバ20は、仲介装置50から受信したステータス情報580に含まれる情報が、措置情報管理テーブル351aに含まれる「条件」を満たす場合、当該条件に関連づけられた措置情報を決定することができる。
●機器管理方法
図18は、第1の実施形態の変形例1に係る遠隔管理システムにおける機器管理方法の一例を示すシーケンス図である。ステップS401およびステップS402の処理は、図10に示したステップS101とステップS102の処理と同様であるため、説明を省略する。
ステップS403において、クラウドサーバ20は、受信したステータス情報580の解析を行う。ここで、クラウドサーバ20における措置情報の決定処理について説明する。図19は、第1の実施形態の変形例1に係るクラウドサーバにおける措置情報の決定処理の一例を示すフローチャートである。ステップS451において、クラウドサーバ20の仲介装置通信部201は、仲介装置50からステータス情報580を受信した場合、処理をステップS452へ移行させる。一方で、クラウドサーバ20の仲介装置通信部201は、仲介装置50からステータス情報580を受信していない場合、ステップS451の処理を繰り返す。
ステップS452において、クラウドサーバ20のステータス情報解析部208は、記憶部207に記憶された措置情報管理テーブル351aの読み出しを行う。具体的には、ステータス情報解析部208は、記憶・読出部206に対して、措置情報管理テーブル351aの読出要求を出力する。記憶・読出部206は、出力された読出要求を検知すると、記憶部207に記憶された措置情報管理テーブル351aを読み出す。そして、記憶・読出部206は、読み出した措置情報管理テーブル351aを、ステータス情報解析部208に対して出力する。
ステップS453において、クラウドサーバ20のステータス情報解析部208は、受信したステータス情報580に含まれる情報に、措置情報管理テーブル351aの条件を満たすものがある場合、処理をステップS454へ移行させる。一方で、クラウドサーバ20のステータス情報解析部208は、受信したステータス情報580に含まれる情報に、措置情報管理テーブル351aの条件を満たすものがない場合、処理を終了する。なお、「条件を満たすものがあるか否か」の判定方法は、図11のステップS203に示した内容と同様である。
ステップS454において、クラウドサーバ20のステータス情報解析部208は、条件を満たす情報に対応する措置情報を決定する。ステータス情報解析部208は、例えば、図17に示した措置情報管理テーブル351aの中の項目「メモリ」の条件「900MB以上」を満たす場合、措置情報として「リブート処理」を決定する。ステップS455において、クラウドサーバ20の仲介装置通信部201は、決定した措置情報に基づく予防措置要求を、仲介装置50に対して送信する。なお、予防措置要求の内容および形式は、図14に示した予防措置要求120と同様のものである。
図18に戻り、第1の実施形態の変形例1に係る遠隔管理システムにおける機器管理方法の説明を続ける。ステップS404において、クラウドサーバ20は、アプリサーバ30に対して、ステータス情報580を送信する。アプリサーバ30は、ステータス情報580を受信した場合、受信したステータス情報580をステータス情報管理DB352に記憶させる。ステップS405において、クラウドサーバ20は、図19に示したように、仲介装置50に対して、決定した措置情報に基づく予防措置要求を、仲介装置50に対して送信する。なお、ステップS404とステップS405の処理の順序は、前後してもよく、または並行して行われてもよい。ステップS406乃至ステップS408の処理は、図10に示したステップS108乃至ステップS110の処理と同様であるため、説明を省略する。
したがって、第1の実施形態の変形例1に係る遠隔管理システムは、仲介装置50の障害(異常)の兆候を検知して予防措置を特定するまでの処理を、クラウドサーバ20が担う。そのため、第1の実施形態の変形例1に係る遠隔管理システムは、アプリサーバ30の処理負担を軽減することができ、またはアプリサーバ30が設けられない使用環境においても適用することができる。
●第1の実施形態の変形例2●
次に、第1の実施形態の変形例2について説明する。第1の実施形態の変形例2に係る遠隔管理システムは、クラウドサーバ20においてアラートの要否の判定処理を行わずに、アプリサーバ30において仲介装置50に対する予防措置の特定処理を行う。
●機能構成
図20は、第1の実施形態の変形例2に係るクラウドサーバおよびアプリサーバの機能構成の一例を示す図である。図20に示すアプリサーバ30は、第1の実施形態の機能に加え、記憶部307に措置情報管理テーブル351bを記憶している。措置情報管理テーブル351bは、図17に示した措置情報管理テーブル351aと同様の構成である。ステータス情報解析部302は、クラウドサーバ20から仲介装置50のステータス情報580を受信した場合、記憶部307に記憶された措置情報管理テーブル351bを用いて、仲介装置50の障害(異常)の兆候を改善するための措置情報を決定する。
なお、遠隔管理システム1bは、クラウドサーバ20においてアラート要否の判定を行わないため、図20に示すクラウドサーバ20にアラートポリシー管理部204の構成を設けなくてもよい。また、遠隔管理システム1bは、図20に示すクラウドサーバ20の記憶部207にアラートポリシー251を記憶していなくてもよい。
●機器管理方法
図21は、第1の実施形態の変形例2に係る遠隔管理システムにおける機器管理方法の一例を示すシーケンス図である。ステップS501およびステップS502の処理は、図10に示したステップS101とステップS102の処理と同様であるため、説明を省略する。
ステップS503において、クラウドサーバ20は、仲介装置50のステータス情報580を、アプリサーバ30に対して送信する。なお、クラウドサーバ20は、グループ設定部205において設定されたグループに基づいて、ステータス情報580の送信要否を判断してもよい。
ステップS504において、アプリサーバ30は、クラウドサーバ20から仲介装置50のステータス情報580を受信した場合、ステータス情報580の解析を行う。ここで、アプリサーバ30における措置情報の決定処理について説明する。図22は、第1の実施形態の変形例2に係るアプリサーバにおける措置情報の決定処理の一例を示すフローチャートである。
ステップS551において、アプリサーバ30の送受信部301は、クラウドサーバ20から仲介装置50のステータス情報580を受信した場合、処理をステップS552へ移行させる。一方で、アプリサーバ30の送受信部301は、クラウドサーバ20から仲介装置50のステータス情報580を受信していない場合、ステップS551の処理を繰り返す。
ステップS552において、アプリサーバ30のステータス情報解析部302は、記憶部307に記憶された措置情報管理テーブル351bの読み出しを行う。具体的には、ステータス情報解析部302は、記憶・読出部306に対して、措置情報管理テーブル351bの読出要求を出力する。記憶・読出部306は、出力された読出要求を検知すると、記憶部307に記憶された措置情報管理テーブル351bを読み出す。そして、記憶・読出部306は、読み出した措置情報管理テーブル351bを、ステータス情報解析部302に対して出力する。
ステップS553において、アプリサーバ30のステータス情報解析部302は、受信したステータス情報580に含まれる情報に、措置情報管理テーブル351bの条件を満たすものがある場合、処理をステップS554へ移行させる。一方で、アプリサーバ30のステータス情報解析部302は、受信したステータス情報580に含まれる情報に、措置情報管理テーブル351bの条件を満たすものがない場合、処理を終了する。なお、「条件を満たすものがあるか否か」の判定方法は、図11のステップS203に示した内容と同様である。
ステップS554において、アプリサーバ30のステータス情報解析部302は、条件を満たす情報に対応する措置情報を決定する。なお、ステータス情報解析部302による措置情報の決定方法は、図19のステップS454で示したクラウドサーバ20のステータス情報解析部208の処理と同様である。ステップS555において、アプリサーバ30の送受信部301は、決定した措置情報に基づく予防措置要求を、クラウドサーバ20に対して送信する。なお、予防措置要求の内容および形式は、図14に示した予防措置要求120と同様のものである。
図21に戻り、第1の実施形態の変形例2に係る遠隔管理システムにおける機器管理方法の説明を続ける。ステップS505において、アプリサーバ30は、クラウドサーバ20に対して、決定した措置情報に基づく予防措置要求を送信する。ステップS506乃至ステップS509の処理は、図10に示したステップS107乃至ステップS110の処理と同様であるため、説明を省略する。
したがって、第1の実施形態の変形例2に係る遠隔管理システムは、仲介装置50の障害(異常)の兆候を検知して予防措置を特定するまでの処理を、アプリサーバ30が担う。そのため、遠隔管理システム1bは、クラウドサーバ20の処理負担を軽減することができ、またはクラウドサーバ20が設けられない使用環境においても適用することができる。
●第2の実施形態●
続いて、第2の実施形態に係る遠隔管理システムについて説明する。第1の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第2の実施形態に係る遠隔管理システムは、仲介装置50において異常リブートが発生した場合の処理である。遠隔管理システム1dは、仲介装置50から異常リブートの発生を示す情報を機器管理システム10に送信する。そして、遠隔管理システム1dは、機器管理システム10において異常リブートの原因を解析し、仲介装置に対して対策要求を送信する。
●機能構成
図23は、第2の実施形態に係るクラウドサーバおよびアプリサーバの機能構成の一例を示す図である。第2の実施形態に係るアプリサーバ30は、第1の実施形態の機能に加え、記憶部307にファームウエア353を記憶している。ファームウエア353は、仲介装置50の制御を行うために、仲介装置50に対して配布するソフトウエアである。アプリサーバ30は、クラウドサーバ20を介して、更新用のファームウエア353を仲介装置50に対して送信する。仲介装置50は、アプリサーバ30からファームウエア353を受信した場合、ファームウエアの更新を実行する。
●機器管理方法
図24は、第2の実施形態に係る遠隔管理システムにおける機器管理方法の一例を示すシーケンス図である。図24は、仲介装置50において、更新前のファームウエアがインストールされている例を説明する。また、クラウドサーバ20の記憶部207に記憶されたアラートポリシー251は、項目「ファームウエア」の条件として、「ファームウエアのバージョンが最新でない」ことを示す内容が設定されているものとする。さらに、アプリサーバ30の記憶部307に記憶された措置情報管理テーブル351は、上記条件に対応する措置情報として、「ファームウエアを更新する」ことを示す内容が設定されているものとする。
ステップS601において、仲介装置50は、異常リブートの発生を検知する。異常リブートとは、予期しないタイミングで自動的に発生したリブートのことである、仲介装置50は、異常リブートの発生を検知すると、異常リブートが発生したことを示す情報を含むステータス情報580を生成する。ステータス情報580は、図8に示した情報のほか、実行中(更新前)のファームウエアのバージョン情報を含む。
ステップS602において、仲介装置50は、生成したステータス情報580をクラウドサーバ20に対して送信する。ステップS603において、クラウドサーバ20は、仲介装置50からステータス情報580を受信した場合、受信したステータス情報580の解析を行う。ここでは、仲介装置50から送信されたステータス情報580は、更新前のファームウエアのバージョン情報を含む。そのため、クラウドサーバ20のアラートポリシー管理部204は、記憶部207に記憶されたアラートポリシー251に含まれる条件を満たすため、アラート通知を送信するように判定する。
ステップS604において、クラウドサーバ20は、アプリサーバ30に対して、アラート通知を送信する。アラート通知は、仲介装置50において実行されているファームウエアのバージョン情報を含む。なお、アラート通知の構成は、図12に示したアラート通知110と同様の構成であってもよい。ステップS605において、アプリサーバ30は、クラウドサーバ20からアラート通知を受信した場合、仲介装置50に対する予防措置を特定する。具体的には、アプリサーバ30のステータス情報解析部302は、記憶部307に記憶された措置情報管理テーブル351の中で、受信したアラート通知に含まれる条件IDと同一の条件IDに紐づく措置情報を決定する。ここでは、決定される措置情報の内容は、「ファームウエアの更新」である。
ステップS606において、アプリサーバ30は、決定した措置情報を含む対策要求を、クラウドサーバ20に対して送信する。ここでは、決定した措置情報がファームウエアの更新であるため、アプリサーバ30は、対策要求とともにファームウエア353を送信する。なお、対策要求の構成は、図14に示した予防措置要求120と同様の構成であってもよい。ステップS607において、クラウドサーバ20は、アプリサーバ30から送信された対策要求を、仲介装置50に対して転送する。ステップS608において、仲介装置50は、クラウドサーバ20から対策要求を受信した場合、要求された対策を実行する。具体的には、仲介装置50は、対策要求とともに送信されたファームウエア353を用いて、実行中のファームウエアの更新を行う。
ステップS609において、仲介装置50は、要求された対策が完了すると、クラウドサーバ20に対して、対策結果通知を送信する。対策結果通知は、更新されたファームウエアのバージョン情報を含む。対策結果通知の構成は、図15に示した措置結果通知130と同様の構成であってもよい。ステップS610において、クラウドサーバ20は、仲介装置50から送信された対策結果通知を、アプリサーバ30に対して転送する。
以上の説明において、仲介装置50において異常リブートが発生した場合の対策として、仲介装置50のファームウエアを更新させる例を示したが、機器管理システム10において決定される対策は、これに限られない。機器管理システム10は、例えば、第1の実施形態で示した予防措置の特定処理と同様の方法で、仲介装置50に対して要求する対策を決定してもよい。また、機器管理システム10は、仲介装置50から取得したログ情報を蓄積し、人工知能(Artificial Intelligence; AI)にログのパターンを学習させて原因の解析を行ってもよい。
さらに、仲介装置50は、異常リブートが発生した場合、ログ情報(ステータス情報580)の送信を行わない構成にしてもよい。仲介装置50は、例えば、機器管理システム10との間における通信量の制限が厳しい場合、機器管理システム10に対するログ情報の送信を中断し、通信量の制限が緩い場合、機器管理システム10に対してログ情報を送信する構成にしてもよい。これによって、機器管理システム10と仲介装置50の間の通信量に応じて、適切なシステム運用が可能となる。
●第2の実施形態の効果
以上説明したように、第2の実施形態に係る遠隔管理システムは、仲介装置50において異常リブートが発生した場合に、予め設定されたタスクスケジュール552に依らずに、機器管理システム10において仲介装置50の障害(異常)の検知および対策要求を行う。そのため、遠隔管理システム1cは、仲介装置50で障害(異常)が発生した場合においても、早期に対策を講じることが可能であるので、システムを継続して正常に稼働させることができる。
●第3の実施形態●
次に、第3の実施形態に係る遠隔管理システムについて説明する。第1の実施形態または第2の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。遠隔管理システム1dは、機器管理システム10において、仲介装置50だけでなく、仲介装置50に接続される機器60の障害(異常)の兆候を検知するためのシステムである。
●機能構成
図25は、第3の実施形態に係るクラウドサーバおよびアプリサーバの機能構成の一例を示す図である。図25に示すクラウドサーバ20は、第1の実施形態または第2の実施形態の機能に加え、記憶部207に第1のアラートポリシー253および第2のアラートポリシー254を記憶している。
第1のアラートポリシー253は、アラートポリシー251と同様の構成を有する。第1のアラートポリシー253(アラートポリシー251)は、監視対象が一般的なコンピュータである仲介装置50であるため、汎用的なコンピュータリソースの状態を示す情報が含まれていればよい。一方で、第2のアラートポリシー254は、監視対象が種別の異なる機器60であるため、汎用的なコンピュータリソースの状態を示す情報に加えて、機器60特有の稼働状態を示す情報を含む。
図26は、第3の実施形態に係る第2のアラートポリシーの一例を示す図である。図26に示す第2のアラートポリシー254は、機器60がプロジェクタ(PJ)である場合の一例である。図26に示す第2のアラートポリシー254は、例えば、CPU、メモリ、ストレージ、電源等の汎用的なコンピュータリソースの状態を示す情報に加え、PJの投影用ランプの稼働状態を示す情報を含む。第2のアラートポリシー254に含まれるアラート通知の要否を判定するための「条件」は、例えば、機器60の障害(異常)の兆候を検知するための条件であり、第2の条件の一例である。
なお、第2のアラートポリシー254は、テキスト情報だけでなく、例えば、音の情報を含んでもよい。具体的には、第2のアラートポリシー254は、機器60に障害が発生した場合に発せられる音の情報を条件として設定する。クラウドサーバ20は、機器60から送信される機器情報に当該条件を満たす音の情報を含まれる場合に、機器60の障害(異常)の兆候を検知したとして、アラート通知を送信する構成にしてもよい。また、第2のアラートポリシー254は、機器60ごとに設けてもよく、機器60の種別に応じて、項目や条件を変更してもよい。
図25に示すアプリサーバ30は、第1の実施形態または第2の実施形態の機能に加え、記憶部307に第1の措置情報管理テーブル354および第2の措置情報管理テーブル355を記憶している。第1の措置情報管理テーブル354は、図7に示した措置情報管理テーブル351と同様のものであり、仲介装置50の障害(異常)の兆候を改善するための措置情報を管理する。第2の措置情報管理テーブル355は、機器60の障害(異常)の兆候を改善するための管理するためのものである。
図27は、第3の実施形態に係る第2の措置情報管理テーブルの一例を示す図である。図27に示す第2の措置情報管理テーブル355は、第1の措置情報管理テーブル354と同様に、「条件ID」に障害の兆候の改善を指示する「措置情報」を紐づけて管理している。「条件ID」は、図26に示した第2のアラートポリシー254に含まれる「条件ID」に対応している。
ステータス情報解析部302は、クラウドサーバ20から受信したアラート通知に含まれる「条件ID」と同一の「条件ID」に対応づけられた「措置情報」を、機器60に対する措置情報として決定する。なお、第2のアラートポリシー254が複数存在する場合、第2の措置情報管理テーブル355は、第2のアラートポリシー254に対応づけて複数存在する。また、第2の措置情報管理テーブル355は、機器60ごとに設けてもよく、機器60の種別に応じて措置情報を変更してもよい。第2の措置情報管理テーブル355に含まれる措置情報は、機器60に対して所定の処理の実行を指示する第2の指示情報の一例である。
さらに、図25に示すアプリサーバ30は、記憶部307に機器情報管理DB356を構築している。機器情報管理DB356は、機器60から取得した機器60のリソース状態や稼働状態を示す機器情報を管理している。機器情報は、例えば、図26に示した第2のアラートポリシー254に含まれる「項目」の情報を含む。
●機器管理方法
図28は、第3の実施形態に係る遠隔管理システムにおける機器管理方法の一例を示すシーケンス図である。図28は、機器管理システム10が、仲介装置50を介して、一台の機器60から機器情報を取得する例を説明するが、一台の仲介装置50を介して、複数の機器60の機器情報を取得してもよい。
ステップS701において、仲介装置50は、機器60に対して、機器情報の取得要求を送信する。仲介装置50の機器通信部502は、スケジューラ機能部503の制御により、予め定められたスケジュール(タスクスケジュール552)に基づいて、機器情報の取得要求を、機器60に対して送信する。ステップS702において、機器60の機器情報生成部602は、仲介装置50から機器情報の取得要求を受信した場合、機器60のリソース状態や稼働状態を示す機器情報を生成する。ステップS703において、機器60の送受信部601は、生成した機器情報を仲介装置50に対して送信する。
ステップS704において、仲介装置50は、機器60から送信された機器情報を、クラウドサーバ20に対して送信する。ここで、ステップS704の処理は、仲介装置50の記憶部508に記憶されたタスクスケジュール552に示されるスケジュールに基づいて行われる。
ステップS705において、クラウドサーバ20は、仲介装置50から機器情報を受信した場合、第2のアラートポリシー253を用いて、アプリサーバ30に対するアラート通知の要否を判定する。なお、第2のアラートポリシー253を用いたアラート通知の要否の判定処理は、図11に示したアラートポリシー251を用いたアラート通知の要否の判定処理と同様である。また、ステップS705の処理において、クラウドサーバ20のアラートポリシー管理部204は、アラート通知を送信すると判定したものとする。ステップS706において、クラウドサーバ20は、アプリサーバ30に対して、アラート通知を送信する。
ステップS707において、アプリサーバ30は、クラウドサーバ20からアラート通知を受信した場合、第2の措置情報管理テーブル355を用いて、機器60の障害(異常)の兆候を改善するための措置情報を決定する。なお、第2の措置情報管理テーブル355を用いた予防措置の特定処理は、図13に示した措置情報管理テーブル351を用いた予防措置の特定処理と同様である。ステップS708において、アプリサーバ30は、決定した措置情報に基づく予防措置要求を、クラウドサーバ20に対して送信する。ステップS709において、クラウドサーバ20は、アプリサーバ30から送信された予防措置要求を、仲介装置50に対して転送する。
ステップS710において、仲介装置50は、クラウドサーバ20から予防措置要求を受信した場合、予防措置要求に含まれる措置情報に対応する措置を、機器60に対して実行する。なお、仲介装置50は、機器60に対して予防措置要求を転送して、措置情報に対応する措置を機器60自身に行わせてもよい。
ステップS711において、仲介装置50は、機器60の予防措置が終了した場合、予防措置要求に対するフィードバックとして、措置結果通知をクラウドサーバ20に対して送信する。ステップS712において、クラウドサーバ20は、アプリサーバ30に対して、仲介装置50から受信した措置結果通知を転送する。なお、措置結果通知の構成は、図15に示した措置結果通知130と同様の構成であってもよい。
アプリサーバ30は、機器60から措置結果通知を取得することによって、自らが発行したコマンドに対する措置結果を知ることができる。アプリサーバ30は、取得した措置結果通知の内容に基づいて、第2の措置情報管理テーブル355の内容を更新してもよい。
●第3の実施形態の効果
以上説明したように、第3の実施形態に係る遠隔管理システムは、機器管理システム10が仲介装置50だけでなく、機器60のログを収集する。そのため、遠隔管理システム1dは、管理対象である機器60の障害(異常)の兆候を事前に検知して、機器60に予防措置を実行させることができるので、ローカルネットワーク11の内部環境を含めたシステムを、継続して正常に稼働させることができる。
●第4の実施形態●
次に、第4の実施形態に係る遠隔管理システムについて説明する。第1の実施形態乃至第3の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。遠隔管理システム1eは、予め設定されたスケジュール制御による仲介装置50からのログアップだけでなく、アプリサーバ30がログを取得したいタイミングでログを取得して障害の兆候を検知して予防措置を行わせることができる。
●機能構成
図29は、第4の実施形態に係るクラウドサーバおよびアプリサーバの機能構成の一例を示す図である。図29に示すクラウドサーバ20は、記憶部207にステータス情報管理DB255を構築している。図29に示すステータス情報管理DB255は、仲介装置50から取得したステータス情報を記憶している。図30は、第4の実施形態に係るステータス情報管理DBにより管理される情報の一例を示す図である。図30に示す管理情報590は、仲介装置50から受信したステータス情報580ごとにログIDを紐づけて管理している。管理情報590は、図8(a)に示したステータス情報580のメッセージ欄に含まれる情報、すなわち図8(b)に示した情報が含まれる。
●機器管理方法
図31は、第4の実施形態に係る遠隔管理システムにおける機器管理方法の一例を示すシーケンス図である。ステップS801において、アプリサーバ30は、クラウドサーバ20に対して、仲介装置50のステータス情報のアップロード要求を送信する。ステップS802において、クラウドサーバ20は、アプリサーバ30から送信されたステータス情報のアップロード要求を、仲介装置50に対して転送する。
ステップS803において、仲介装置50は、ステータス情報のアップロード要求を受信した場合、仲介装置50のコンピュータリソースに関する情報を含むステータス情報580を生成する。ステップS804において、仲介装置50は、生成したステータス情報580を、クラウドサーバ20に対して送信する。
ステップS805において、クラウドサーバ20は、仲介装置50からステータス情報580を受信した場合、受信したステータス情報580にログIDを付与し、ログIDをアプリサーバ30に対して送信する。また、クラウドサーバ20は、ログIDを付与したステータス情報580を、ステータス情報管理DB255に記憶させる。
ステップS806において、アプリサーバ30は、クラウドサーバ20に対して、ステータス情報のダウンロード要求を送信する。ダウンロード要求は、クラウドサーバ20から送信されたログIDの情報を含む。ステップS807において、クラウドサーバ20は、ステ―タス情報のダウンロード要求を受信した場合、ステータス情報管理DB255に記憶されたステータス情報の中からログIDに対応するステータス情報580を送信する。
ステップS808において、アプリサーバ30は、クラウドサーバ20からステータス情報580を受信した場合、ステータス情報580の解析を行う。ステップS808におけるステータス情報580の解析処理は、第1の実施形態の変形例2で示したように、アプリサーバ30のステータス情報解析部302が、措置情報管理テーブル351bを用いて、仲介装置50に対する予防措置の特定処理をおこなってもよい。一方で、ステータス情報580の解析処理は、第1の実施形態で示したように、措置情報管理テーブル351を用いて、仲介装置50に対する予防措置の特定処理をおこなってもよい。この場合、ステップS807の処理において、クラウドサーバ20のアラートポリシー管理部204が、ダウンロード要求を受信したステータス情報580に対してアラート通知の要否判定を行い、必要と判定されたステータス情報580のアラート通知を、アプリサーバ30に対して送信する。
ステップS809において、アプリサーバ30は、決定した措置情報に基づく予防措置要求を、クラウドサーバ20に対して送信する。ステップS810において、クラウドサーバ20は、アプリサーバ30から送信された予防措置要求を、仲介装置50に対して転送する。ステップS811において、仲介装置50は、クラウドサーバ20から予防措置要求を受信した場合、要求された予防措置を実行する。
ステップS812において、仲介装置50は、予防措置が終了した場合、予防措置要求に対するフィードバックとして、措置結果通知をクラウドサーバ20に対して送信する。ステップS813において、クラウドサーバ20は、アプリサーバ30に対して、仲介装置50から受信した措置結果通知を転送する。なお、ステップS809~ステップS813の処理は、図10に示したステップS106~ステップS110の処理と同様である。
本実施形態に係る遠隔管理システムは、仲介装置50のステータス情報の取得要求を送信する場合を説明したが、機器60の機器情報の取得要求をアプリサーバ30から送信する構成にしてもよい。この場合、機器情報の取得処理や機器60の障害(異常)の兆候の検知処理等は、第3の実施形態で説明した構成を用いて行われる。
●第4の実施形態の効果
以上説明したように、第4の実施形態に係る遠隔管理システムは、予め設定されたスケジュール制御による仲介装置50からのログアップだけでなく、アプリサーバ30がログを取得したいタイミングでログを取得して障害の兆候を検知して予防措置を行わせることができる。そのため、遠隔管理システム1eは、仲介装置50が属するネットワーク環境や、アプリ35ごとの運用の仕方に応じて、システムを継続して正常に稼働させるための機器管理を柔軟に行うことができる。また、アプリサーバ30からの要求時にのみログ取得を行うことで、機器管理に伴う通信量を低減させることができる。
●その他の実施形態●
図32は、その他の実施形態に係る遠隔管理システムのシステム構成の一例を示す図である。図32に示す遠隔管理システム2は、ローカルネットワークA11aおよびローカルネットワークB11bを含む。ローカルネットワークA11aとローカルネットワークB11bは、異なる環境で使用されるネットワークであり、それぞれのネットワーク内に位置する管理対象の機器60の種類が異なる。ローカルネットワークA11aおよびローカルネットワークB11bは、例えば、各顧客先で形成されるネットワークである。
ローカルネットワークA11aは、仲介装置50a、産業機械71、撮像装置72および集音装置73を含む。仲介装置50aは、有線または無線LAN等を介して産業機械71、撮像装置72、集音装置73と通信可能である。また、仲介装置50aは、ファイアウォール13aを経由してクラウドサーバ20と通信可能である。
産業機械71は、加工装置、検査装置、搬送装置、ピッキング装置等である。産業機械71は、機器の識別情報や、稼働状況、異常動作の有無、消耗品の交換時期に関する情報、機器による検査結果等の機器情報を、機器管理システム(クラウドサーバ20またはアプリサーバ30)に対して送信する。産業機械71は、データ形式または画像形式等の種々の情報伝達手段を用いて、機器情報を機器管理システム(クラウドサーバ20またはアプリサーバ30)に対して送信する。撮像装置72と集音装置73は、例えば、産業機械71自体または産業機械71の周囲に取り付けられた、産業機械71の状態を把握するための装置である。
ローカルネットワークB11bは、仲介装置50b、医療機器74、ネットワーク家電75および3Dプリンタ76を含む。仲介装置50bは、有線または無線LAN等を介して医療機器74、ネットワーク家電75および3Dプリンタ76と通信可能である。また、仲介装置50bは、ファイアウォール13bを経由してクラウドサーバ20と通信可能である。
医療機器74は、眼底検査装置、X線検査装置、血圧計、体脂肪計、視力計、ペースメーカ等である。医療機器74は、機器の識別情報や、機器の稼働状況、異常動作の有無、機器による測定結果等の機器情報を、機器管理システム(クラウドサーバ20またはアプリサーバ30)に対して送信する。医療機器74は、データ形式または画像形式等の種々の情報伝達手段を用いて、機器情報を機器管理システム(クラウドサーバ20またはアプリサーバ30)に対して送信する。ネットワーク家電75は、家庭用電化製品(家電)のうち、ネットワークに接続できる機能を有する装置である。
3Dプリンタ75は、造形方式として、材料押出堆積法(FDM(Fused Deposition Modeling))、マテリアルジェッティング、バインダジェッティング、粉末焼結積層造形(SLS(Selective Laser Sintering))、光造形法(SLA(Stereolithography))等を採用する。3Dプリンタ75は、当該機器の識別情報、当該機器の稼働状況、異常動作の有無または当該機器に装着された消耗品の状態等を、数値データ、テキストデータまたは画像データ等の種々のデータ形式を用いて仲介装置50を経由して機器管理システム(クラウドサーバ20またはアプリサーバ30)に送信する。
なお、遠隔管理システム2における管理対象の機器60は、これに限られない。機器60は、例えば、自動販売機、電源装置、空調システム、ガス・水道・電気等の計量システム等に通信機能を持たせた機器であってもよい。
図32に示す遠隔管理システム2において、仲介装置50は、機器管理システム10とファイアウォール13aまたはファイアウォール13bを介して接続されている。仲介装置50は、機器60内に設けてあるファームウエアを、インターネット接続を利用して更新するファームウエア更新機能を備えていてもよい。図32の例において、一つのローカルネットワーク内に複数の機器60と一台の仲介装置50を含む構成を示しているが、複数の仲介装置50を含んで構成してもよい。例えば、一台の仲介装置50では処理負荷が大きくなる場合、機器60のファームウエア更新のための機能と機器60の遠隔管理を集中的に行う機能を複数の仲介装置に分けて割り当てる構成にしてもよい。
●まとめ●
以上説明したように、本発明の一実施形態に係る機器管理システムは、ローカルネットワーク11内の機器60と接続される仲介装置50と、ファイアウォール13を介して通信を行う機器管理システム10であって、仲介装置50の状態を示すステータス情報580を、仲介装置50から受信する。そして、機器管理システム10は、受信されたステータス情報580が所定条件を満たす場合、条件に紐づく所定の処理の実行を指示する指示情報を決定し、決定した指示情報を、仲介装置50に対して送信する。そのため、機器管理システム10は、仲介装置50による障害(異常)が発生する前に、障害(異常)の兆候を検知して予防措置を行うので、システムを継続して正常に稼働させることができる。
また、本発明の一実施形態に係る機器管理システムは、受信されたステータス情報580が、仲介装置50のリソース状態が所定の閾値を超えていることという条件を満たす場合、条件に紐づく所定の処理の実行を指示する指示情報を決定する。そのため、機器管理システム10は、仲介装置50のリソース状態に応じて、仲介装置50に実行させる処理(予防措置)を指示するので、仲介装置50による障害(異常)を発生させることなく、システムを継続して正常に稼働させることができる。
さらに、本発明の一実施形態に係る機器管理システムは、受信されたステータス情報580が、仲介装置50のリソース状態を示す所定の文字列が含まれていることという条件を満たす場合、条件に紐づく所定の処理の実行を指示する指示情報を決定する。そのため、機器管理システム10は、仲介装置50のリソース状態に応じて、仲介装置50に実行させる処理(予防措置)を指示するので、仲介装置50による障害(異常)を発生させることなく、システムを継続して正常に稼働させることができる。
また、本発明の一実施形態に係る機器管理システムは、仲介装置50からステータス情報580を取得するタイミングを、仲介装置50ごとに設定し、設定されたタイミングで、仲介装置50からステータス情報580を受信する。そのため、機器管理システム10は、システムの適用環境や管理対象の装置の種別に応じて、適切なシステム運用が可能となる。
さらに、本発明の一実施形態に係る機器管理システムは、特定のリソース項目に対応する情報をステータス情報580として、仲介装置50に送信させるように設定し、設定されたリソース項目に対応する仲介装置50の状態を示す情報を受信する。そのため、機器管理システム10は、システムの適用環境や管理対象の装置の種別に応じて、適切なシステム運用が可能となる。
また、本発明の一実施形態に係る機器管理システムは、機器60の状態を示す機器情報を、仲介装置50から受信し、受信された機器情報が機器60の異常の兆候を検知するための条件(第2の条件の一例)を満たす場合、条件に紐づく所定の処理の実行を指示する指示情報(第2の指示情報の一例)を決定する。そのため、機器管理システム10は、管理対象である機器60の障害(異常)の兆候を事前に検知して、機器60に予防措置を実行させることができるので、ローカルネットワーク11の内部環境を含めたシステムを、継続して正常に稼働させることができる。
さらに、本発明の一実施形態に係る機器管理方法は、ローカルネットワーク11内の機器60と接続される仲介装置50と、ファイアウォール13を介して通信を行う機器管理システム10が実行する機器管理方法であって、仲介装置50から、仲介装置50の状態を示すステータス情報580を受信する受信ステップと、受信されたステータス情報580が所定条件を満たす場合、条件に紐づく所定の処理の実行を指示する指示情報を決定する決定ステップと、決定された指示情報を、仲介装置50に対して送信する送信ステップと、を実行する。そのため、本発明の一実施形態に係る機器管理方法を実行する機器管理システム10は、仲介装置50による障害(異常)が発生する前に、障害(異常)の兆候を検知して予防措置を行うので、システムを継続して正常に稼働させることができる。
なお、各実施形態の機能は、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM(Electrically Erasable Programmable Read-Only Memory)、EPROM(Erasable Programmable Read-Only Memory)、フラッシュメモリ、フレキシブルディスク、CD(Compact Disc)-ROM、CD-RW(Re-Writable)、DVD-ROM、DVD-RAM、DVD-RW、ブルーレイディスク、SDカード、MO(Magneto-Optical disc)等の装置可読な記録媒体に格納して、または電気通信回線を通じて頒布することができる。
また、各実施形態の機能の一部または全部は、例えばFPGA(Field Programmable Gate Array)等のプログラマブル・デバイス(PD)上に実装することができ、またはASIC(Application Specific Integrated Circuit)として実装することができ、各実施形態の機能をPD上に実現するためにPDにダウンロードする回路構成データ(ビットストリームデータ)、回路構成データを生成するためのHDL(Hardware Description Language)、VHDL(Very High Speed Integrated Circuits Hardware Description Language)、Verilog-HDL等により記述されたデータとして記録媒体により配布することができる。
これまで本発明の一実施形態に係る機器管理システム、機器管理方法およびプログラムについて説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。