JP6562980B2 - System, system control method, information processing apparatus, information processing apparatus control method, and program - Google Patents
System, system control method, information processing apparatus, information processing apparatus control method, and program Download PDFInfo
- Publication number
- JP6562980B2 JP6562980B2 JP2017145331A JP2017145331A JP6562980B2 JP 6562980 B2 JP6562980 B2 JP 6562980B2 JP 2017145331 A JP2017145331 A JP 2017145331A JP 2017145331 A JP2017145331 A JP 2017145331A JP 6562980 B2 JP6562980 B2 JP 6562980B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- agent
- server
- abnormality
- processing apparatus
- 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.)
- Active
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Debugging And Monitoring (AREA)
- Facsimiles In General (AREA)
Description
本発明は、稼働情報を外部送信するエージェントが動作する情報処理装置と、情報処理装置を管理するサーバとを有するシステム、情報処理装置、これらの制御方法、及びプログラムに関する。 The present invention relates to a system, an information processing apparatus, a control method thereof, and a program including an information processing apparatus in which an agent that externally transmits operation information operates and a server that manages the information processing apparatus.
従来、情報漏洩の抑止や、情報漏洩者を追跡する目的で、プリンターやMFP(Multi Function Peripheral)等の画像形成装置が行った、印刷等のジョブに関する履歴情報を収集するジョブ履歴処理システムが開発されている。 Conventionally, a job history processing system that collects history information related to jobs such as printing performed by image forming devices such as printers and MFPs (Multi Function Peripherals) has been developed for the purpose of suppressing information leakage and tracking information leakers. Has been.
ジョブ履歴処理システムは、ジョブ履歴収集エージェント(以下「エージェント」)と、ジョブ履歴処理サーバを有する。エージェントは、画像形成装置や、画像形成装置に印刷ジョブを送信するPC(Personal Computer)等の情報処理装置上でジョブ履歴を収集する。ジョブ履歴処理サーバは、エージェントからジョブ履歴を受信して監査用にデータ変換や蓄積の処理を行う。 The job history processing system includes a job history collection agent (hereinafter referred to as “agent”) and a job history processing server. The agent collects job histories on an image forming apparatus or an information processing apparatus such as a PC (Personal Computer) that transmits a print job to the image forming apparatus. The job history processing server receives the job history from the agent and performs data conversion and accumulation processing for auditing.
ジョブ履歴処理システムでは、エージェントで異常が発生すると、ジョブ履歴をジョブ履歴処理サーバに送信できず、エージェントが稼働している情報処理装置の記憶領域が一杯になってしまうことがある。 In the job history processing system, when an abnormality occurs in the agent, the job history cannot be transmitted to the job history processing server, and the storage area of the information processing apparatus in which the agent is operating may become full.
このような場合、その情報処理装置では、ジョブ履歴が記録できなくなる、ジョブ自体が実行できなくなるといった重大な問題に発展する可能性がある。このため、ジョブ履歴処理システムにおいては、エージェントの異常をいち早く検知することが望まれる。 In such a case, the information processing apparatus may lead to a serious problem that the job history cannot be recorded or the job itself cannot be executed. For this reason, in the job history processing system, it is desired to detect an abnormality of the agent promptly.
特許文献1では、ネットワークに接続された情報通信端末の異常を検知する技術が提案されている。特許文献1の技術では、センター装置が、情報通信端末の内部状態を定期的に受信して監視することで情報通信端末の異常を検知している。また、情報通信端末からの内部状態の受信が滞った場合に、センター装置が、情報通信端末の異常を検知している。
しかし、特許文献1の技術では、クライアントからの状態の通知が不定期に行われ、且つ、通知とは別に生存確認のためのクライアントからサーバへの定期的なアクセスが行われるようなシステムの場合に以下のような課題がある。
However, in the technique of
このようなシステムでは、クライアントは、異常が発生した際にそれをサーバに通知しようとするが、通知に不具合等があって、サーバに通知が届かないことがある。この場合、サーバは、クライアントから通知が来ないためにクライアントの異常を知ることができない。また、サーバは、この通知が来ないことでは異常とは検知しない。サーバは、クライアントからの生存確認のための定期的なアクセスが滞ればクライアントの異常検知が可能であるが、生存確認のための定期的なアクセスが正常に動作していれば異常検知もできない。 In such a system, the client tries to notify the server when an abnormality has occurred, but there may be a problem with the notification and the notification may not reach the server. In this case, the server cannot know the abnormality of the client because no notification is received from the client. Further, the server does not detect an abnormality when this notification is not received. The server can detect client anomalies if the periodic access for confirmation of survival from the client is delayed, but it cannot detect anomalies if the periodic access for survival confirmation is operating normally. .
一方で、情報通信端末が異常を検知した時点で、情報通信端末自身を再起動するようなことが考えられる。再起動により、上述のような通知の不具合等は解消される可能性が高いからである。 On the other hand, it is conceivable that the information communication terminal itself is restarted when the information communication terminal detects an abnormality. This is because there is a high possibility that the malfunction of the notification as described above is solved by the restart.
しかし、仮に情報通信端末がMFPであった場合、プリントやFAX受信等のジョブが実行中に、異常が検知されることによって予期せぬ再起動が発生すると、ジョブが中断してしまう等の弊害が出る可能性がある。このため、むやみに再起動することができない。 However, if the information communication terminal is an MFP, the job will be interrupted if an unexpected restart occurs due to an abnormality detected while a job such as printing or FAX reception is being executed. May come out. For this reason, it cannot be restarted unnecessarily.
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、MFP等の情報処理装置の異常を確実にシステム管理者に知らせ、情報処理装置の再起動をシステム管理者に促すことができる仕組みを提供することである。 The present invention has been made to solve the above problems. An object of the present invention is to provide a mechanism capable of reliably notifying a system administrator of an abnormality in an information processing apparatus such as an MFP and prompting the system administrator to restart the information processing apparatus.
本発明は、稼働情報をサーバに送信する第1スレッド及び所定の周期で前記サーバに要求を送信する第2スレッドを含む複数の送信スレッドを利用するエージェントが動作する情報処理装置と、前記情報処理装置を管理するサーバとを有するシステムであって、前記情報処理装置は、前記第1スレッドを監視する監視スレッドが、前記第1スレッドの異常を検出した場合、前記サーバに異常を示すデータを送信する送信手段と、前記監視スレッドが前記第1スレッドの異常を検出した場合、前記第2スレッドを含む前記サーバと通信する全ての送信スレッドを停止する停止手段と、を有し、前記サーバは、前記異常を示すデータを受信した場合には、前記エージェントの状態が稼働中であり、かつ、前記エージェントに異常が発生していることを示す第1の通知を行う通知手段と、を有し、前記通知手段は、前記第2スレッドを利用した前記エージェントからの要求を含む前記エージェントからの通信が無く所定の条件を満たした場合には、前記エージェントの状態が不明であることを示す第2の通知をさらに行うことを特徴とする。 The present invention relates to an information processing apparatus in which an agent using a plurality of transmission threads including a first thread that transmits operation information to a server and a second thread that transmits a request to the server at a predetermined period, and the information processing a system and a server for managing processing apparatus, monitoring thread to monitor the pre-Symbol first thread, when detecting an abnormality of the first thread, the data indicating an abnormality in said server Transmission means for transmitting, and stop means for stopping all transmission threads communicating with the server including the second thread when the monitoring thread detects an abnormality of the first thread. When the data indicating the abnormality is received, the state of the agent is in operation and an abnormality has occurred in the agent. A notification unit for performing a first notification indicating, have, the notification unit, when the communication from the agent that includes a request from the agent using the second thread satisfies the no predetermined conditions Further performs a second notification indicating that the state of the agent is unknown.
本発明によれば、情報処理装置の異常を確実にシステム管理者に知らせ、情報処理装置の再起動をシステム管理者に促すことができる。 According to the present invention, it is possible to reliably notify the system administrator of an abnormality in the information processing apparatus and prompt the system administrator to restart the information processing apparatus.
以下、本発明を実施するための形態について図面を用いて説明する。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
図1は、本発明の一実施例を示すジョブ履歴処理システム100の構成例を示す図である。
本実施例のジョブ履歴処理システム100は、MFP101、ジョブ履歴処理サーバ102及びそれらに対する設定等を行うシステム管理者用PC103等を含むシステムである。
FIG. 1 is a diagram illustrating a configuration example of a job
A job
なお、ジョブ履歴処理システム100を構成するこれらの機器は、それぞれが複数台あってもよい。また、ジョブ履歴処理サーバ102は、1台の装置で構成されていてもよいし、複数の装置で構成されてもよい。ジョブ履歴処理サーバ102は、クラウドサーバ等で構成されていてもよい。例えば、ジョブ履歴処理サーバ102は、パブリッククラウドサービス等を利用して構築することも可能である。
Note that there may be a plurality of these devices constituting the job
MFP101は、コピーやプリント等のジョブを実行すると共に、実行されたジョブのジョブ履歴を記録する画像形成装置である。ジョブ履歴は、ジョブの種別に応じて入力または出力される画像(以下「ジョブ履歴画像」)と、ジョブの実行日時や実行ユーザー等の情報からなるジョブ履歴属性情報等で構成される。そして、MFP101上で動作するエージェント(後述する図4で詳述する)が、記録されたジョブ履歴をジョブ履歴処理サーバ102に送信する。
The MFP 101 is an image forming apparatus that executes jobs such as copying and printing, and records a job history of the executed jobs. The job history includes image input or output according to the type of job (hereinafter “job history image”), job history attribute information including information such as job execution date and time, execution user, and the like. Then, an agent (described in detail in FIG. 4 described later) operating on the MFP 101 transmits the recorded job history to the job
ジョブ履歴処理サーバ102は、エージェント400によって送信されるMFP101のジョブ履歴を受信する管理システムである。さらに、ジョブ履歴処理サーバ102は、必要に応じて、ジョブ履歴属性情報の整形や、ジョブ履歴画像の解像度変換等の処理を行い、蓄積する。また、ジョブ履歴処理サーバ102は、エージェントの設定値やステータス等を管理し、必要に応じてそれらをUI画面に表示する。
The job
システム管理者用PC103は、ウェブブラウザ(Web Browser)を介してMFP101で稼働しているエージェントやジョブ履歴処理サーバ102のUI画面にアクセスし、システム管理者が各種設定等を行うためのPCである。
The PC 103 for system administrator is a PC for accessing the agent operating on the MFP 101 and the UI screen of the job
図2は、MFP101のハードウェア構成の一例を示すブロック図である。
コントローラーユニット200は、スキャナー222やプリンター223およびネットワークや公衆回線と接続して、画像データやデバイス情報の入出力を行う。
FIG. 2 is a block diagram illustrating an example of a hardware configuration of the
The
CPU201は、ROM203又はHDD204に記憶されるプログラムを実行することにより、MFP101全体の制御を行う。RAM202は、CPU201が動作するためのワークメモリであると共に、入力された画像データを一時記憶するための画像メモリでもある。ROM203は、ブートROMであり、システムのブートプログラムが保存されている。HDD204は、システムソフトウェア、ジョブ履歴、ユーザーボックス内の画像データ等を保存するハードディスクドライブである。なお、HDDの代わりに又は併用してSSD(ソリッドステートドライブ)等の他の記憶装置を備えていてもよい。
The
操作部I/F205は、操作部221とのインターフェース部であり、操作部221に表示する画面データを操作部221に対して出力する。
ネットワークI/F206は、LAN等のネットワークに接続し、情報の入出力を行う。モデム207は、公衆回線に接続し、画像データの入出力を行う。
以上のデバイスが、システムバス208上に配置される。
The operation unit I /
A network I /
The above devices are arranged on the
イメージバスI/F209は、システムバス208と、画像データを高速で転送する画像バス210とを接続し、データ構造を変換するバスブリッジである。画像バス210上には、以下のデバイスが配置される。
The image bus I / F 209 is a bus bridge that connects the
RIP(ラスターイメージプロセッサー)211は、PDLコードをビットマップイメージに展開する。デバイスI/F212は、画像入出力デバイスであるスキャナー222及びプリンター223と、コントローラーユニット200とを接続し、画像データの変換を行う。
A RIP (raster image processor) 211 expands the PDL code into a bitmap image. The device I / F 212 connects the
スキャナー画像処理部213は、入力画像データに対し補正、加工、編集等を行う。プリンター画像処理部214は、出力画像データに対して、プリンターの補正、解像度変換等を行う。画像回転部215は、画像データの回転を行う。画像圧縮部216は、画像データの圧縮伸長処理を行う。
A scanner
図3は、ジョブ履歴処理サーバ102を構成する装置のハードウェア構成の一例を示すブロック図である。
CPU301を含む制御部300は、サーバ機の動作を制御する。CPU301は、ROM302やHDD304に記憶された制御プログラムを読み込んで、入力や出力といった各種制御処理や、演算処理を実行する。RAM303は、CPU301の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD304は、ジョブ履歴や各種プログラム等を記憶する。
FIG. 3 is a block diagram illustrating an example of a hardware configuration of apparatuses that configure the job
A
操作入力I/F305は、接続されたキーボードやマウス等の操作デバイスからの信号入力を受け付ける。表示出力I/F306は、画面表示用のディスプレイ等への信号出力を行う。ネットワークI/F307は、制御部300をネットワークに接続し、ネットワーク上の別の装置との情報の送受信を行う。バス310は、制御部300内の各ブロックを接続するバスである。
The operation input I /
図4は、実施例1のジョブ履歴処理システム100のソフトウェア構成の一例を示すブロック図である。なお、図4に示すソフトウェア構成は、MFP101およびジョブ履歴処理サーバ102の双方のソフトウェアブロックを含んでいる。
FIG. 4 is a block diagram illustrating an example of a software configuration of the job
まず、MFP101上のソフトウェアブロックから説明する。
エージェント400は、MFP101上で動作し、ジョブ履歴処理サーバ102と通信するクライアントであり、エージェント制御部401、エージェントUI部402、エージェント情報管理部403を含む。なお、エージェント400は、MFP101のCPU201が、ROM203又はHDD204に記憶されるプログラムを実行することにより実現される。
First, the software block on the
The
エージェント制御部401は、複数のスレッドを生成し、ジョブ履歴処理サーバ102に対してジョブ履歴送信、設定情報取得、ステータス通知等の要求を行う。スレッドの詳細については後述する。
The
エージェントUI部402は、エージェントの設定やステータス等を確認、設定するためのユーザーインターフェースとなる画面群(以下「エージェントUI画面」)を提供する。エージェントUI画面で扱われる設定やステータスの情報は、後述するエージェント情報管理部403で管理される。
The
本実施例では、エージェントUI部402は、ウェブアプリケーションとして実装され、システム管理者用PC103のウェブブラウザからのアクセスに対してエージェントUI画面を応答するものとする。ただし、エージェントUI部402は、MFP101上の操作部221にエージェントUI画面を表示するようにしてもよい。なお、以下では、ウェブブラウザにエージェントUI画面を応答することも、単に「エージェントUI画面を表示する」と表現する。
In this embodiment, it is assumed that the
エージェント情報管理部403は、エージェント400の設定やステータス等を保管する。本実施例では、これらの情報を、HDD204上にXML形式のファイルで管理するものとするが、データベース等で管理するようにしてもよい。
The agent
ジョブ履歴記憶部408は、MFP101で実行されるジョブのジョブ履歴を記憶するHDD204上の領域である。
A job
次に、ジョブ履歴処理サーバ102上のソフトウェアブロックについて説明する。
要求処理部411は、MFP101上で動作するエージェント400のエージェント制御部401からのジョブ履歴送信や設定情報取得、ステータス通知等の処理要求を受信し、必要に応じた処理を実行する。
Next, software blocks on the job
The
例えば、ジョブ履歴を受信した場合、要求処理部411は、後述するデータ処理部414に受信したジョブ履歴に対する処理を依頼する。また、設定情報取得の要求を受信した場合、要求処理部411は、後述するシステム情報管理部417からエージェント400が使用する設定項目とその設定値を取得し、エージェント制御部401に応答する。また、ステータス通知を受信した場合、要求処理部411は、受信したステータスをシステム情報管理部417に保存し、必要に応じて後述するメール通知部413にメール通知依頼等を行う。
For example, when a job history is received, the
サーバUI部412は、ジョブ履歴処理サーバ102及びエージェント400の設定やステータス等を確認、設定するためのユーザーインターフェースとなる画面群(以下「サーバUI画面」)を提供する。サーバUI画面で扱われる設定やステータスの情報は、システム情報管理部417で管理される。
The
本実施例では、サーバUI部412は、ウェブアプリケーションとして実装され、システム管理者用PC103のウェブブラウザからのアクセスに応じてサーバUI画面を表示するものとする。ただし、単体で画面を表示するネイティブアプリケーション等であってもよい。なお、以下では、ウェブブラウザにサーバUI画面を応答することも、単に「サーバUI画面を表示する」と表現する。
In this embodiment, the
メール通知部413は、他のソフトウェアブロックからの依頼を受けて、システム管理者等にメール通知を行う。システム管理者等の通知先やメールサーバのアドレス等、メール通知に関する設定は、サーバUI画面で設定され、システム情報管理部417で管理されているものとする。
In response to a request from another software block, the
データ処理部414は、要求処理部411が受信したジョブ履歴に含まれる画像に対し、OCRによるテキスト抽出や、画像形式変換および解像度変換等の処理を行う。また、データ処理部414は、画像のサムネイルを作成したり、ジョブ履歴属性情報を整形したりする等してもよい。そして、データ処理部414は、処理したジョブ履歴等を後述するデータ管理部416に保存する。
The
エージェント不明検知部415は、エージェント400からのアクセスが一定時間以上途絶えた場合等の所定の条件を満たした場合に、エージェント400のステータスを「不明」とする。エージェント不明検知部415がステータスを「不明」とする仕組みについては後述する。
The agent
データ管理部416は、データ処理部414が処理したジョブ履歴を保管する。本実施例では、データ管理部416は、ジョブ履歴に含まれるジョブ履歴画像やジョブ履歴属性情報、OCRで抽出されたテキスト等の情報を、それぞれファイルとしてHDD304上のファイルシステムに保管するものとする。ただし、データ処理部414は、情報をファイルシステムではなくデータベース等に保管するようにしてもよい。また、データ処理部414が、保管したジョブ履歴を監査するための検索の機能を備えていてもよい。
The
システム情報管理部417は、ジョブ履歴処理サーバ102およびエージェント400の設定やステータス等を保管する。本実施例では、これらの情報を、ジョブ履歴処理サーバ102やエージェント400毎にXML形式のファイルで管理するものとするが、データベース等で管理するようにしてもよい。
The system
なお、本実施例では、エージェント400がMFP101上で動作する構成を例に説明するが、プリンター等の他の画像形成装置上で動作する構成でもよい。また、エージェント400が、画像形成装置に印刷ジョブを投入できるプリンタードライバ(機能追加等によりジョブ履歴情報が取得可能)がインストールされたPC等の上で動作する構成でもよい。また、エージェント400は、ジョブ履歴を送信するものに限定されず、該エージェント400が動作する情報処理装置の稼働情報を外部送信するものであればよい。ジョブ履歴処理サーバ102もMFP101のジョブ履歴を処理するものに限定されず、エージェント400が動作する情報処理装置の稼働情報を処理し、情報処理装置を管理するものであればよい。
In this embodiment, a configuration in which the
図5は、実施例1におけるエージェント制御部401が実行するスレッドの一例を示す図である。
メインスレッド501は、エージェント400が起動すると開始されるメインのスレッドである。メインスレッド501は、ステータス確認スレッド502、設定情報取得スレッド503、ジョブ履歴送信スレッド504及び監視スレッド505等の1以上のスレッドを順次生成し、開始させる。
FIG. 5 is a diagram illustrating an example of threads executed by the
The
各スレッドの処理の詳細については、図6〜図9のフローチャートを用いて説明する。各フローチャートに示す各ステップは、MFP101のCPU201が、ROM203またはHDD204に記憶されているエージェント400を実現するプログラムを実行することで実現される。また、CPU201は、各スレッドの処理において、必要に応じて記憶領域としてRAM202やHDD204を利用する。
Details of the processing of each thread will be described with reference to the flowcharts of FIGS. Each step shown in each flowchart is realized by the
図6は、ステータス確認スレッド502の動作の一例を示すフローチャートである。
S601において、ステータス確認スレッド502は、自身が持つ停止要求フラグがtrueか否かを判定する。停止要求フラグの初期値はfalseであり、自分自身もしくは他のスレッドから停止要求を受けた場合にtrueとなる。
FIG. 6 is a flowchart showing an example of the operation of the
In S601, the
上記S601において、停止要求フラグがtrueであると判定した場合(S601でYESの場合)、ステータス確認スレッド502は、自身の動作を終了する。
If it is determined in S601 that the stop request flag is true (YES in S601), the
一方、上記S601において、停止要求フラグがtrueでないと判定した場合(S601でNOの場合)、ステータス確認スレッド502は、処理をS602に進める。
On the other hand, when it is determined in S601 that the stop request flag is not true (NO in S601), the
S602において、ステータス確認スレッド502は、ジョブ履歴記憶部408の空き容量等を確認し、エージェント情報管理部403で管理しているステータスに反映すべき新たなステータスの変化があればそれを反映する。
次にS603において、ステータス確認スレッド502は、エージェント情報管理部403で管理しているステータスと、自身が保持しているステータスとの差異があるかどうかを判定する。
In step S602, the
In step S603, the
上記S603において、、エージェント情報管理部403で管理しているステータスと、自身が保持しているステータスとに差異があると判定した場合(S603でYESの場合)、ステータス確認スレッド502は、処理をS606に進める。なお、スレッド開始時は保持しているステータスがないため、ステータス確認スレッド502は、処理をS606に進めるものとする。
In S603, when it is determined that there is a difference between the status managed by the agent
S606において、ステータス確認スレッド502は、自身が保持しているステータスと現在のステータスとの差分を、ジョブ履歴処理サーバ102の要求処理部411に通知する。
次にS607において、ステータス確認スレッド502は、自身が保持しているステータスを現在のステータスで更新し、処理をS604に進める。
In step S606, the
Next, in S607, the
また、上記S603において、、エージェント情報管理部403で管理しているステータスと、自身が保持しているステータスとに差異がないと判定した場合(S603でNOの場合)、ステータス確認スレッド502は、処理をS604に進める。
In S603, when it is determined that there is no difference between the status managed by the agent
S604において、ステータス確認スレッド502は、上記S601と同様に、自身が持つ停止要求フラグがtrueか否かを判定する。本ステップは、S601の後で、停止要求を受けた場合に備えるものである。
上記S604において、停止要求フラグがtrueであると判定した場合(S604でYESの場合)、ステータス確認スレッド502は、自身の動作を終了する。
In S604, the
In S604, when it is determined that the stop request flag is true (YES in S604), the
一方、上記S604において、停止要求フラグがtrueでないと判定した場合(S604でNOの場合)、ステータス確認スレッド502は、処理をS605に進める。
S605において、ステータス確認スレッド502は、予め設定されたステータス確認間隔時間(例えば5分)スリープし、処理をS601に戻す。なお、上記S605のスリープ中に他のスレッドから割り込みがあった場合、ステータス確認スレッド502は、スリープを解除して直ちに処理をS601に戻す。
On the other hand, if it is determined in S604 that the stop request flag is not true (NO in S604), the
In S605, the
以上のように、ステータス確認スレッド502は、予め設定された間隔で、エージェント400のステータスを確認し、前回のステータス通知からステータスに変化があった場合にはジョブ履歴処理サーバ102の要求処理部411にステータスを通知する。なお、ステータスには、「ジョブ履歴送信エラー」、「内部エラー」、「ディスクニアフル」、「デバイス再起動待ち」等があるものとする。
As described above, the
図7は、設定情報取得スレッド503の動作の一例を示すフローチャートである。
S701において、設定情報取得スレッド503は、自身が持つ停止要求フラグがtrueか否かを判定する。停止要求フラグの初期値はfalseであり、自分自身もしくは他のスレッドから停止要求を受けた場合にtrueとなる。
上記S701において、停止要求フラグがtrueであると判定した場合(S701でYESの場合)、設定情報取得スレッド503は、自身の動作を終了する。
FIG. 7 is a flowchart showing an example of the operation of the setting
In S701, the setting
If it is determined in S701 that the stop request flag is true (YES in S701), the setting
一方、上記S701において、停止要求フラグがtrueでないと判定した場合(S701でNOの場合)、設定情報取得スレッド503は、処理をS702に進める。
S702において、設定情報取得スレッド503は、ジョブ履歴処理サーバ102の要求処理部411に設定情報取得要求を行い、エージェント400に関する設定情報を取得する。
On the other hand, when it is determined in S701 that the stop request flag is not true (NO in S701), the setting
In step S702, the setting
次にS703において、設定情報取得スレッド503は、上記S702で取得した設定情報と、エージェント情報管理部403で管理している設定情報とを比較し、変更があるかどうかを確認する。変更があると判定した場合(S703でYESの場合)、設定情報取得スレッド503は、処理をS706に進める。
S706において、設定情報取得スレッド503は、エージェント情報管理部403の設定情報を、上記S702で取得した設定情報で更新し、処理をS704に進める。
In step S703, the setting
In S706, the setting
またS703において、上記S702で取得した設定情報に変更がないと判定した場合(S703でNOの場合)、設定情報取得スレッド503は、処理をS704に進める。
If it is determined in S703 that the setting information acquired in S702 is not changed (NO in S703), the setting
S704において、設定情報取得スレッド503は、上記S701と同様に、自身が持つ停止要求フラグがtrueか否かを判定する。本ステップは、S701の後で、停止要求を受けた場合に備えるものである。停止要求フラグがtrueであると判定した場合(S704でYESの場合)、設定情報取得スレッド503は、自身の動作を終了する。
In S704, the setting
一方、上記S704において、停止要求フラグがtrueでないと判定した場合(S704でNOの場合)、設定情報取得スレッド503は、処理をS705に進める。
S705において、設定情報取得スレッド503は、予め設定された設定情報取得間隔時間(例えば5分)スリープし、処理をS701に戻す。なお、上記S705のスリープ中に他のスレッドから割り込みがあった場合、設定情報取得スレッド503は、スリープを解除して直ちに処理をS701に戻す。
On the other hand, when it is determined in S704 that the stop request flag is not true (NO in S704), the setting
In S705, the setting
以上のように、設定情報取得スレッド503は、予め設定された間隔で、ジョブ履歴処理サーバ102の要求処理部411に設定情報取得要求を行う。そして、設定情報に変更があった場合には、取得した設定情報をエージェント情報管理部403で管理しているエージェント情報に反映する。
As described above, the setting
図8は、ジョブ履歴送信スレッド504の動作の一例を示すフローチャートである。
S801において、ジョブ履歴送信スレッド504は、自身が持つ停止要求フラグがtrueか否かを判定する。停止要求フラグの初期値はfalseであり、自分自身もしくは他のスレッドから停止要求を受けた場合にtrueとなる。
上記S801において、停止要求フラグがtrueであると判定した場合(S801でYESの場合)、ジョブ履歴送信スレッド504は、自身の動作を終了する。
FIG. 8 is a flowchart illustrating an example of the operation of the job
In step S801, the job
If it is determined in S801 that the stop request flag is true (YES in S801), the job
一方、上記S801において、停止要求フラグがtrueでないと判定した場合(S801でNOの場合)、ジョブ履歴送信スレッド504は、処理をS802に進める。
S802において、ジョブ履歴送信スレッド504は、現在の日時を最新稼働日時として記憶する。最新稼働日時は、ジョブ履歴送信スレッド504が保持する変数であり、監視スレッド505によって参照される。
On the other hand, if it is determined in S801 that the stop request flag is not true (NO in S801), the job
In step S802, the job
次にS803において、ジョブ履歴送信スレッド504は、ジョブ履歴記憶部408にジョブ履歴がある、且つ、現在の時刻がエージェント情報管理部403に保持されている送信時間帯であるか否かを判定する。送信時間帯は、ジョブ履歴をジョブ履歴処理サーバ102に送信する時間帯であり、ネットワークやジョブ履歴処理サーバ102の負荷が集中しないようにするための設定である。送信時間帯は、エージェントUI画面もしくはサーバUI画面で設定できるものとする。
In step S803, the job
上記S803において、ジョブ履歴記憶部408にジョブ履歴がない、又は、現在の時刻が送信時間帯ではないと判定した場合(S803でNOの場合)、ジョブ履歴送信スレッド504は、処理をS804に進める。
If it is determined in S803 that there is no job history in the job
S804において、ジョブ履歴送信スレッド504は、上記S801と同様に、自身が持つ停止要求フラグがtrueか否かを判定する。本ステップは、S801の後で、停止要求を受けた場合に備えるものである。停止要求フラグがtrueであると判定した場合(S804でYESの場合)、ジョブ履歴送信スレッド504は、自身の動作を終了する。
In step S804, the job
一方、上記S804において、停止要求フラグがtrueでないと判定した場合(S804でNOの場合)、ジョブ履歴送信スレッド504は、処理をS805に進める。
S805において、ジョブ履歴送信スレッド504は、予め設定された送信開始確認間隔時間(例えば1分)スリープし、処理をS801に戻す。なお、上記S805のスリープ中に他のスレッドから割り込みがあった場合、ジョブ履歴送信スレッド504は、スリープを解除して直ちに処理をS801に戻す。
On the other hand, if it is determined in S804 that the stop request flag is not true (NO in S804), the job
In S805, the job
また、上記S803において、ジョブ履歴記憶部408にジョブ履歴があり、且つ、現在の時刻が送信時間帯であると判定した場合(S803でYESの場合)、ジョブ履歴送信スレッド504は、処理をS806に進める。
S806において、ジョブ履歴送信スレッド504は、ジョブ履歴記憶部408にあるジョブ履歴を一つ選択し、S807に処理を進める。
If it is determined in S803 that the job history is stored in the job
In step S806, the job
S807において、ジョブ履歴送信スレッド504は、上記S806で選択したジョブ履歴全体の送信が完了したかどうか判定する。これは、ジョブ履歴を予め定められたサイズで分割して送信を行うためである。選択したジョブ履歴全体の送信が完了していないと判定した場合(S808でNOの場合)、ジョブ履歴送信スレッド504は、処理をS808に進める。
S808において、ジョブ履歴送信スレッド504は、上記S802と同様に、最新稼働日時を現在の日時で更新する。
In step S807, the job
In S808, the job
次にS809において、ジョブ履歴送信スレッド504は、予め設定された分割サイズ分だけジョブ履歴を送信する。このとき、既に送信済みの部分があれば読み飛ばし、未送信部分の先頭から分割サイズ分が送信対象となるようにする。また、分割サイズは、送信に時間が掛かり過ぎないサイズ(例えば2メガバイト)に設定されているものとする。送信後、ジョブ履歴送信スレッド504は、上記S807での判定もしくは次の分割サイズ分の送信のために、送信済みのデータサイズを記憶しておくものとする。そして、ジョブ履歴送信スレッド504は、処理をS807に戻す。
In step S809, the job
また、上記S807において、選択したジョブ履歴全体の送信が完了したと判定した場合(S807でYESの場合)、ジョブ履歴送信スレッド504は、処理をS810に進める。
S810において、ジョブ履歴送信スレッド504は、送信が完了したジョブ履歴をジョブ履歴記憶部408から削除し、処理をS801に戻す。
If it is determined in S807 that the transmission of the entire selected job history has been completed (YES in S807), the job
In step S810, the job
以上のようにして、ジョブ履歴送信スレッド504は、送信時間帯且つジョブ履歴が存在する場合には、ジョブ履歴を一つずつ分割しながら送信する。また、ジョブ履歴送信スレッド504は、スレッドが正常に動作している場合には、送信開始確認間隔時間毎もしくはジョブ履歴の分割送信毎に、最新稼働日時を更新する。
As described above, when there is a transmission time zone and a job history, the job
図9は、実施例1における監視スレッド505の動作の一例を示すフローチャートである。
S901において、監視スレッド505は、自身が持つ停止要求フラグがtrueか否かを判定する。停止要求フラグの初期値はfalseであり、自分自身もしくは他のスレッドから停止要求を受けた場合にtrueとなる。
上記S901において、停止要求フラグがtrueであると判定した場合(S901でYESの場合)、監視スレッド505は、自身の動作を終了する。
FIG. 9 is a flowchart illustrating an example of the operation of the
In S901, the
When it is determined in S901 that the stop request flag is true (YES in S901), the
一方、上記S901において、停止要求フラグがtrueでないと判定した場合(S901でNOの場合)、監視スレッド505は、処理をS902に進める。
On the other hand, if it is determined in S901 that the stop request flag is not true (NO in S901), the
S902において、監視スレッド505は、ジョブ履歴送信スレッド504の最新稼働日時を参照し、タイムアウトしているかどうかを判定する。タイムアウトかどうかの閾値(タイムアウト閾値)は予め設定されているものとし、ジョブ履歴送信スレッド504が最新稼働日時を更新する頻度を考慮して誤検知となりにくい値(例えば60分)を設定する。タイムアウトの判定は、現在日時と最新稼働日時との差がタイムアウト閾値以上かどうかで行う。例えば、ジョブ履歴送信スレッド504がジョブ履歴処理サーバ102へのデータ送信中にハングアップ等の異常が発生してデータ送信の停止又は遅延が発生した場合、最新稼働日時が更新されないため、タイムアウトとなる。即ち、タイムアウトの発生を検出することにより、ジョブ履歴送信スレッド504の異常を検出することができる。ジョブ履歴送信スレッド504で異常が発生した場合、ジョブ履歴がMFP101上に溜まり、ジョブ履歴記憶部408で保持可能な上限を超えてしまい(ディスクフル)、未送信のジョブ履歴が削除されてしまう可能性がある。なお、ハングアップ等のジョブ履歴送信スレッド504の異常は、MFP101を再起動させることにより解消する可能性が高い。
In S902, the
上記S902において、タイムアウトしていないと判定した場合(S902でNOの場合)、監視スレッド505は、処理をS903に進める。
S903において、監視スレッド505は、上記S901と同様に、自身が持つ停止要求フラグがtrueか否かを判定する。本ステップは、S901の後で、停止要求を受けた場合に備えるものである。
上記S903において、停止要求フラグがtrueであると判定した場合(S903でYESの場合)、監視スレッド505は、自身の動作を終了する。
If it is determined in S902 that the timeout has not occurred (NO in S902), the
In S903, the
When it is determined in S903 that the stop request flag is true (YES in S903), the
一方、上記S903において、停止要求フラグがtrueでないと判定した場合(S903でNOの場合)、監視スレッド505は、処理をS904に進める。
S904において、監視スレッド505は、予め設定された監視間隔時間(例えば30分)スリープし、処理をS901に戻す。なお、上記S904のスリープ中に他のスレッドから割り込みがあった場合、監視スレッド505は、スリープを解除して直ちに処理をS901に戻す。
On the other hand, if it is determined in S903 that the stop request flag is not true (NO in S903), the
In S904, the
また、上記S902において、タイムアウトしていると判定した場合(S902でYESの場合)、監視スレッド505は、ジョブ履歴送信スレッド504の異常を検知したと判断し、処理をS905に進める。
If it is determined in S902 that a timeout has occurred (YES in S902), the
S905において、監視スレッド505は、エージェント情報管理部403で管理しているステータスに「内部エラー」及び「デバイス再起動待ち」を設定する。ここで、「内部エラー」とは、通常、エージェント400がジョブ履歴記憶部408からジョブ履歴を取得できないといったようなエージェント400内でのエラーを表すステータスである。また、「デバイス再起動待ち」は、通常、MFP101の再起動が必要となるような設定変更をエージェント400で行ったことを表すステータスである。本実施例において、監視スレッド505は、ジョブ履歴送信スレッド504の最新稼働日時がタイムアウトした場合に、これらのステータスを設定することで、ジョブ履歴送信スレッド504の異常を表すものとする。なお、ジョブ履歴送信スレッド504の異常を表す専用のステータスを設けてもよい。
In step S905, the
次にS906において、監視スレッド505は、ステータス確認スレッド502にジョブ履歴処理サーバ102へのステータス通知をさせるため、ステータス確認スレッド502に割り込みを行う。これにより、ステータス確認スレッド502は、図6のS603でのスリープを解除し、ステータス確認間隔が経過するのを待つことなく、図6のS606でステータス通知を行うことになる。
In step S <b> 906, the
次にS907において、監視スレッド505は、ステータス確認スレッド502が持つ停止要求フラグをtrueに設定し、ステータス確認スレッド502に割り込みを行う。これにより、ステータス確認スレッド502は、図6のS603でのスリープを解除し、ステータス確認間隔が経過するのを待つことなく、図6のS601もしくはS604の判定がYESとなり、終了することになる。
In step S907, the
次にS908において、監視スレッド505は、設定情報取得スレッド503が持つ停止要求フラグをtrueに設定し、設定情報取得スレッド503に割り込みを行う。これにより、設定情報取得スレッド503は、図7のS705でのスリープを解除し、設定情報取得間隔が経過するのを待つことなく、図7のS701もしくはS704の判定がYESとなり、終了することになる。
In step S908, the
次にS909において、監視スレッド505は、自身が持つ停止要求フラグをtrueにし、処理をS901に戻す。これにより、監視スレッド505は、上記S901の判定がYESとなり、終了することになる。
Next, in S909, the
以上のようにして、監視スレッド505は、ジョブ履歴送信スレッド504による最新稼働日時の更新が滞った場合に、それを異常としてジョブ履歴処理サーバ102に知らせるステータス通知を行うと共に、他のスレッドを停止させる。
As described above, when the update of the latest operation date / time by the job
次に、監視スレッド505が異常を検知したことに伴うジョブ履歴処理サーバ102の動作について説明する。
図10A〜図10Dは、いずれもジョブ履歴処理サーバ102のサーバUI部412が表示する画面の一例を示す図である。
Next, the operation of the job
FIGS. 10A to 10D are diagrams illustrating examples of screens displayed by the
図10Aは、エージェントの一覧を示すエージェント一覧画面である。
図10Aの例では、1001に示すエージェント(以下「エージェント1」)と、1002に示すエージェント(以下「エージェント2」)を一覧で表示している。
FIG. 10A is an agent list screen showing a list of agents.
In the example of FIG. 10A, an agent 1001 (hereinafter “
本実施例のエージェント一覧画面では、図10Aに示すように、エージェントID、エージェント名、ステータスを一覧で表示する。なお、エージェント一覧画面で表示されるステータスは、ステータスの概要であり、例えば「稼働中」、「停止中」、「不明」の3通りがあるものとする。ただし、エージェント一覧画面における表示内容はこれに限るものではなく、ステータスに関しても詳細な表示をするようにしてもよい。 In the agent list screen of the present embodiment, as shown in FIG. 10A, the agent ID, agent name, and status are displayed in a list. Note that the status displayed on the agent list screen is an overview of the status. For example, it is assumed that there are three statuses of “active”, “stopped”, and “unknown”. However, the display content on the agent list screen is not limited to this, and the status may be displayed in detail.
エージェント400の設定情報取得スレッド503による設定情報取得要求を、ジョブ履歴処理サーバ102の要求処理部411が定期的に受信しているとき、ジョブ履歴処理サーバ102は、そのエージェントのステータスを「稼働中」とする。
When the
一方、エージェントからの設定情報取得要求の受信が途絶えた場合、ジョブ履歴処理サーバ102は、そのエージェントのステータスを「不明」に変える。なお、ジョブ履歴処理サーバ102が「不明」のステータスに変える判断の詳細については後述する。また、MFP101がシャットダウンされ、エージェント400が停止する際に、エージェント400のステータス確認スレッド502から「停止」のステータス通知を受信すると、ジョブ履歴処理サーバ102は、そのエージェントのステータスを「停止中」に変える。
On the other hand, when the reception of the setting information acquisition request from the agent is interrupted, the job
また、図10Aのエージェント一覧画面において、1011は、後述するエージェントプロパティー画面を開くためのプロパティーアイコンである。また、1012は、エージェントでの異常の有無を示すステータスアイコンである。
In the agent list screen of FIG. 10A,
本実施例において、ステータスアイコン1012は、当該エージェントの異常の有無を色によって表示する。例えば、ステータスアイコン1012は、異常を示すステータスが通知されていない場合は緑色、異常を示すステータスが通知されているかステータスが「不明」の場合は赤色で表示されるものとする。なお、ステータスアイコン1012の表示には、他の色を使用してもよいし、アイコンの形状自体を変えるなどしてもよい。即ち、ステータスに応じて、ステータスアイコン1012の表示形態を変更するものとする。
In the present embodiment, the
例えば、エージェント1は異常がなく正常に稼働しているものとする。このとき、エージェント1のステータスアイコン1012は緑色となる。
一方、エージェント2は、監視スレッド505が異常を検知して、「内部エラー」及び「デバイス再起動待ち」のステータスが、ジョブ履歴処理サーバ102に通知されたものとする。このとき、要求処理部411の制御により、エージェント2のステータスアイコン1012は赤色となる。これにより、システム管理者はエージェント2の異常に気付くことができる。ここで、システム管理者は、エージェント2のプロパティーアイコン1011を押下することにより、図10Bのエージェントプロパティー画面を表示させ、ステータスの詳細を確認することができる。
For example, it is assumed that the
On the other hand, in the
図10Bのエージェントプロパティー画面は、ステータスの詳細を確認するほかに、エージェントの詳細な設定値を確認・設定することができる画面である。
図10Bにおいて、1021は、エージェント2の詳細なステータスであり、異常を示すステータスである「内部エラー」及び「デバイス再起動待ち」のステータスが通知されていることを示している。
The agent property screen in FIG. 10B is a screen on which detailed setting values of the agent can be confirmed and set in addition to checking the details of the status.
In FIG. 10B,
図10Cは、図10Aと同じエージェント一覧画面において、エージェント2のステータスが「不明」であることを示している画面である。ステータスが「不明」とは、エージェント400からの定期的なアクセス(本実施例では、設定情報取得要求)が一定時間以上途絶えた状態のことである。ジョブ履歴処理サーバ102が、エージェント400のステータスを「不明」とする動作について以下で説明する。
FIG. 10C is a screen showing that the status of
要求処理部411は、エージェント400から設定情報取得要求を受信すると、システム情報管理部417でエージェント毎に管理している最終アクセス日時を受信時の日時で更新する。
When receiving the setting information acquisition request from the
一方、エージェント不明検知部415が、予め設定された間隔(例えば、設定情報取得間隔と同じ5分)で各エージェントの最終アクセス日時をチェックする。そして、現在日時と最終アクセス日時との差が、予め設定された不明検知閾値(例えば15分)以上になっている場合、エージェント不明検知部415は、システム情報管理部417で管理している当該エージェントのステータスを「不明」に設定する。
On the other hand, the agent
一旦「不明」となったエージェントのステータスは、次に、設定情報取得要求を受信した際に、要求処理部411によってクリアされ、「稼働中」に変わるものとする。なお、ステータス通知など、設定情報取得要求以外の通信を受信した際に「不明」ステータスをクリアするようにしてもよい。
The status of the agent once “unknown” is cleared by the
図10Dは、図10Cにおいてエージェント2のプロパティーアイコン1011が押下されることで表示されるエージェント2のエージェントプロパティー画面である。ステータスが「不明」の場合、1041に示すように、ステータスの詳細には「不明」のみを表示する。なお、ステータスが「不明」になる前に受信していた「内部エラー」や「デバイス再起動待ち」のステータスも一緒に表示するようにしてもよい。
FIG. 10D is an agent property screen of the
以上の動作により、エージェント2において、監視スレッド505が異常を検知しステータス通知が行われると、ジョブ履歴処理サーバ102のサーバUI部412は、まず図10Aおよび図10Bの画面を表示する。これにより、エージェントのステータスが「不明」と検知されるよりも前に、システム管理者は、エージェント2に再起動すべき問題が発生していることを知ることができる。
With the above operation, when the
一方、もしステータス通知に異常があり、ジョブ履歴処理サーバ102がステータス通知を受信できなかったとしても、エージェント400の各スレッドが終了されたことによって設定情報取得要求等が受信できなくなる。このため、エージェント不明検知部415の動作により、エージェント2のステータスはやがて「不明」となる。このとき、サーバUI部412は、図10C及び図10Dの画面を表示するため、ステータス通知に異常があったとしても、システム管理者は、エージェント400に何か問題が発生していることを知ることができる。
On the other hand, even if the status notification is abnormal and the job
以上のように、実施例1では、クライアント装置(例えばMFP101)において検知された異常をサーバ装置(ジョブ履歴処理サーバ102)へ通知しつつ、その通知がサーバ装置で受信されなかったとしても、サーバ装置側で異常を検知させる構成を有する。この構成により、より確実にシステム管理者に異常を知らせることができる。また、これによって、システム管理者にクライアント装置の再起動等の対応を促すことができる。 As described above, in the first embodiment, even if an abnormality detected in the client device (for example, MFP 101) is notified to the server device (job history processing server 102), the server device does not receive the notification. The apparatus has a configuration for detecting an abnormality on the apparatus side. With this configuration, the system administrator can be notified of the abnormality more reliably. This can also prompt the system administrator to reactivate the client device.
なお、エージェントの状態が不明であることが検知された際に、メール通知部413からそのエージェントの状態が不明である旨の内容を含むメールの送信を行うことで、システム管理者に、より早く異常を知らせるようにしてもよい。ここで、エージェントの送信スレッドによるデータ送信の停止又は遅延による異常検出に応じた異常判定時については、エージェントは未だ稼働中であるため、メール通知部413からのシステム管理者へのメール送信を抑制することも考えられる。
また、エージェント400から「内部エラー」および「デバイス再起動待ち」のステータス通知を受信している場合、当該エージェントに対するエージェント不明の検知を止めるなどして、ステータスを「不明」にしないようにしてもよい。
When it is detected that the agent state is unknown, the
In addition, when the status notification of “internal error” and “device restart waiting” is received from the
実施例2では、エージェント400の監視スレッド505が異常を検知した際に、エージェントUI部402でもその異常を表示する構成を有する。なお、実施例2において、実施例1と重複する部分の説明は省略し、差分のみを説明する。
In the second embodiment, when the
図11は、実施例2における監視スレッド505の動作の一例を示すフローチャートであり、図9と同一のステップには同一のステップ番号を付してある。図11に示す各ステップは、MFP101のCPU201が、ROM203またはHDD204に記憶されているエージェント400を実現するプログラムを実行することで実現される。また、CPU201は、必要に応じて記憶領域としてRAM202やHDD204を利用する。
FIG. 11 is a flowchart illustrating an example of the operation of the
なお、図11は、実施例1の図9のフローチャートとは、S908の後にS1101が追加されているところだけが異なるため、S1101についてのみ説明する。 Note that FIG. 11 is different from the flowchart of FIG. 9 of the first embodiment only in that S1101 is added after S908, and only S1101 will be described.
実施例2の監視スレッド505は、S908の処理の後、S1101に処理を進める。
S1101において、監視スレッド505は、エージェントUI部402が参照可能な、メインスレッドが持つタイムアウト表示フラグ(初期値はfalse)をtrueにする。タイムアウト表示フラグがtrueの場合、エージェントUI部402は図12の画面を表示し、異常を知らせるようにする。
また、実施例2の監視スレッド505は、S1011の処理の後、S909に処理を進める。
The
In S1101, the
Further, the
図12は、エージェント400のエージェントUI部402が表示するエラー表示画面である。
エラー表示画面において表示するメッセージ1201は、エラーの内容により様々であるが、タイムアウト表示フラグがtrueになっている場合には、図12に示すメッセージ「内部エラーが発生しました。デバイスを再起動してください。」を表示する。この表示により、エージェントUI部402の画面を表示させたシステム管理者に対して、エージェントの異常を知らせ、デバイスの再起動を促すことができる。
FIG. 12 is an error display screen displayed by the
The
OKボタン1202は、タイムアウト表示フラグがtrueでない場合のエラー表示の場合に、エラー表示画面から他の画面に表示を切り替えさせるためのボタンである。ただし、タイムアウト表示フラグがtrueの場合、つまり図12の画面が表示されている場合に、OKボタン1202が押下されると、エージェントUI部402は、再度、図12の画面を表示するものとする。これは、再起動が必要なことを強調するためである。
The
以上のように、実施例2では、エージェントUI部402での画面表示によって、より確実にシステム管理者に再起動を促すことができる。
As described above, in the second embodiment, the screen display on the
実施例3は、エージェント400の監視スレッド505が複数のスレッドを監視対象にしてタイムアウトを検知し、異常を知らせる構成を有する。なお、本実施例において、実施例1および実施例2と重複する部分の説明は省略し、差分のみを説明する。
また、実施例3のジョブ履歴処理システム100は、ジョブ履歴に加えてMFP101の設定変更等の操作履歴も記録して、ジョブ履歴処理サーバ102に保管するものとする。
In the third embodiment, the
In addition to the job history, the job
図13は、実施例3のジョブ履歴処理システム100のソフトウェア構成の一例を示すブロック図である。ただし、ジョブ履歴処理サーバ102上のソフトウェアブロックは、実施例1の図4と同一であるため省略している。また、MFP101上のソフトウェアブロックに関して、図4と同一のものには同一の符号を付してあり、操作履歴記憶部1301が追加されている点のみが図4と異なる。
FIG. 13 is a block diagram illustrating an example of a software configuration of the job
操作履歴記憶部1301は、MFP101で実行されるジョブ以外の、MFP101の設定変更等の操作の操作履歴を記憶するHDD204上の領域である。
The operation
図14は、実施例3におけるエージェント制御部401が実行するスレッドの一例を示す図である。図14では、実施例1の図5と同一のものには同一の符号を付してあり、操作履歴送信スレッド1401が追加されている点だけが図5と異なる。
FIG. 14 is a diagram illustrating an example of a thread executed by the
操作履歴送信スレッド1401は、ジョブ履歴送信スレッド504と同様に、予め設定された間隔で、操作履歴記憶部1301に操作履歴が未送信の操作履歴があるかどうかを確認する。未送信の操作履歴がある場合には、操作履歴送信スレッド1401は、未送信の操作履歴をジョブ履歴処理サーバ102の要求処理部411に送信し、送信した操作履歴は、操作履歴記憶部1301から削除する。なお、本実施例の操作履歴送信スレッド1401の動作は、実施例1の図8に示すジョブ履歴送信スレッド504のフローチャートにおいて、ジョブ履歴が操作履歴に変わるだけであるため、その図示及び詳細な説明は省略する。
Similar to the job
図15は、実施例3における監視スレッド505の動作の一例を示すフローチャートであり、図11と同一のステップには同一のステップ番号を付してある。図15に示す各ステップは、MFP101のCPU201が、ROM203またはHDD204に記憶されているエージェント400を実現するプログラムを実行することで実現される。また、CPU201は、必要に応じて記憶領域としてRAM202やHDD204を利用する。
FIG. 15 is a flowchart illustrating an example of the operation of the
なお、図15のフローチャートは、図11において、S902の後にS1501〜S1504が追加されている点と、S908の後にS1505〜S1508が追加されている点が図11と異なる。以下ではこれらのステップについて説明する。 The flowchart of FIG. 15 differs from FIG. 11 in that S1501 to S1504 are added after S902 in FIG. 11 and S1505 to S1508 are added after S908. These steps will be described below.
実施例3の監視スレッド505は、S902でタイムアウトしていると判定した場合(S902でYESの場合)、ジョブ履歴送信スレッド504の異常を検知したと判断し、処理をS1501に進める。
If the
S1501において、監視スレッド505は、自身が持つジョブ履歴送信スレッドタイムアウトフラグをtrueにし、処理をS1502に進める。ここで、ジョブ履歴送信スレッドタイムアウトフラグは、初期値がfalseであり、trueの場合、ジョブ履歴送信スレッド504がタイムアウトしたことを表す。
In S1501, the
また、実施例3の監視スレッド505は、S902でタイムアウトしていないと判定した場合(S902でNOの場合)、処理をS1502に進める。
If the
S1502において、監視スレッド505は、上記S902と同様に、操作履歴送信スレッド1401の最新稼働日時を参照し、タイムアウトしているかどうかを判定する。タイムアウトしていると判定した場合(S1502でYESの場合)、監視スレッド505は、操作履歴送信スレッド1401の異常を検知したと判断し、処理をS1503に進める。
In S1502, the
S1503において、監視スレッド505は、自身が持つ操作履歴送信スレッドタイムアウトフラグをtrueにし、処理をS1504に進める。ここで、操作履歴送信スレッドタイムアウトフラグは、初期値がfalseであり、trueの場合、操作履歴送信スレッド1401がタイムアウトしたことを表す。
また、S1502でタイムアウトしていないと判定した場合(S1502でNOの場合)、処理をS1504に進める。
In S1503, the
If it is determined in S1502 that the timeout has not occurred (NO in S1502), the process proceeds to S1504.
S1504において、監視スレッド505は、自身が持つジョブ履歴送信スレッドタイムアウトフラグと操作履歴送信スレッドタイムアウトフラグとのどちらかがtrueになっているかどうかを判定する。少なくともどちらかがtrueであると判定した場合(S1504でYESの場合)、監視スレッド505は、処理をS905に進める。一方、どちらもtrueでないと判定した場合(S1504でNOの場合)、監視スレッド505は、処理をS903に進める。
In S1504, the
また、実施例3の監視スレッド505は、S908の処理の後、処理をS1505に進める。
S1505において、監視スレッド505は、自身が持つジョブ履歴送信スレッドタイムアウトフラグがtrueであるか否か判定する。trueでないと判定した場合(S1505でNOの場合)、監視スレッド505は、処理をS1506に進める。
Further, the
In S1505, the
S1506において、監視スレッド505は、ジョブ履歴送信スレッド504が正常に稼働中とみなし、ジョブ履歴送信スレッド504が持つ停止要求フラグをtrueに設定し、ジョブ履歴送信スレッド504に割り込みを行う。これにより、ジョブ履歴送信スレッド504は、図8のS805でのスリープを解除し、送信開始確認間隔時間が経過するのを待つことなく、図8のS801もしくはS804の判定がYESとなり、終了することになる。
S1506の処理の後、監視スレッド505は、処理をS1507に進める。
In S1506, the
After the process of S1506, the
上記S1505において、監視スレッド505は、自身が持つジョブ履歴送信スレッドタイムアウトフラグがtrueであると判定した場合(S1505でYESの場合)、監視スレッド505は、処理をS1507に進める。
In S1505, if the
S1507において、監視スレッド505は、自身が持つ操作履歴送信スレッドタイムアウトフラグがtrueであるか否か判定する。trueでないと判定した場合(S1507でNOの場合)、監視スレッド505は、処理をS1508に進める。
In S1507, the
S1508において、監視スレッド505は、操作履歴送信スレッド1401が正常に稼働中とみなし、操作履歴送信スレッド1401が持つ停止要求フラグをtrueに設定し、操作履歴送信スレッド1401に割り込みを行う。これにより、操作履歴送信スレッド1401は、ジョブ履歴送信スレッド504と同様に、送信開始確認間隔時間が経過するのを待つことなく、終了することになる。
S1508の処理の後、監視スレッド505は、処理をS1101に進める。
In S1508, the
After the process of S1508, the
上記S1507において、監視スレッド505は、自身が持つ操作履歴送信スレッドタイムアウトフラグがtrueであると判定した場合(S1507でYESの場合)、監視スレッド505は、処理をS1101に進める。
In S1507, when the
以上のように、実施例3では、ジョブ履歴送信スレッド504に加え、操作履歴送信スレッド1401のタイムアウトも監視して、どちらかのタイムアウトを検知した場合にデバイスの再起動を促すことができる。なお、同様な方法で、ステータス確認スレッド502や設定情報取得スレッド503のタイムアウトをも監視するようにしてもよい。
As described above, in the third embodiment, the timeout of the operation
なお、上記各実施例では、エージェント不明を検知するための仕組みで、デバイスの異常が管理者に伝わるので、新しいエラーを、エージェントとジョブ履歴処理サーバとの間で新たに定義する必要がない。このため、エージェントのみの仕様変更で対応することも可能である。 In each of the above-described embodiments, a device abnormality is transmitted to the administrator by a mechanism for detecting an agent unknown, so that it is not necessary to newly define a new error between the agent and the job history processing server. For this reason, it is possible to cope with the specification change of only the agent.
以上のように、本発明の各実施例は、MFP等のクライアント装置において検知された異常をサーバ装置へ通知しつつ、その通知がサーバ装置で受信されなかったとしても、サーバ装置側で異常を検知させる構成を有する。これにより、より確実にシステム管理者にデバイス側の異常を知らせることができる。また、これによって、システム管理者にクライアント装置の再起動等の対応を促すことができる。 As described above, each embodiment of the present invention notifies an abnormality detected in a client device such as an MFP to the server device, and even if the notification is not received by the server device, the abnormality is detected on the server device side. It has a configuration for detection. Thereby, it is possible to notify the system administrator of the abnormality on the device side more reliably. This can also prompt the system administrator to reactivate the client device.
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用してもよい。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
In addition, the structure of the various data mentioned above and its content are not limited to this, You may be comprised with various structures and content according to a use and the objective.
Although one embodiment has been described above, the present invention can take an embodiment as, for example, a system, apparatus, method, program, or storage medium. Specifically, the present invention may be applied to a system composed of a plurality of devices, or may be applied to an apparatus composed of a single device.
Moreover, all the structures which combined said each Example are also contained in this invention.
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
(Other examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in the computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
Further, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of one device.
The present invention is not limited to the above embodiments, and various modifications (including organic combinations of the embodiments) are possible based on the spirit of the present invention, and these are excluded from the scope of the present invention. is not. That is, the present invention includes all the combinations of the above-described embodiments and modifications thereof.
Claims (11)
前記情報処理装置は、
前記第1スレッドを監視する監視スレッドが、前記第1スレッドの異常を検出した場合、前記サーバに異常を示すデータを送信する送信手段と、
前記監視スレッドが前記第1スレッドの異常を検出した場合、前記第2スレッドを含む前記サーバと通信する全ての送信スレッドを停止する停止手段と、を有し、
前記サーバは、
前記異常を示すデータを受信した場合には、前記エージェントの状態が稼働中であり、かつ、前記エージェントに異常が発生していることを示す第1の通知を行う通知手段と、を有し、
前記通知手段は、前記第2スレッドを利用した前記エージェントからの要求を含む前記エージェントからの通信が無く所定の条件を満たした場合には、前記エージェントの状態が不明であることを示す第2の通知をさらに行うことを特徴とするシステム。 An information processing apparatus in which an agent using a plurality of transmission threads including a first thread for transmitting operation information to a server and a second thread for transmitting a request to the server at a predetermined period operates, and manages the information processing apparatus A system having a server,
The information processing apparatus includes:
If monitoring thread to monitor the pre-Symbol first thread, which detects an abnormality of the first thread, and a transmitting means for transmitting data indicating an abnormality in said server,
Stopping means for stopping all transmission threads communicating with the server including the second thread when the monitoring thread detects an abnormality of the first thread;
The server
A notification means for performing a first notification indicating that the state of the agent is in operation and an abnormality has occurred in the agent when the data indicating the abnormality is received;
The notification means indicates that the state of the agent is unknown when there is no communication from the agent including a request from the agent using the second thread and a predetermined condition is satisfied. A system characterized by further notification.
前記第1の通知に際しては、前記管理者に対するメール送信が行われないことを特徴とする請求項2に記載のシステム。 In the second notification, an email is sent to the administrator indicating that the state of the agent is unknown,
3. The system according to claim 2, wherein no mail is transmitted to the administrator at the time of the first notification.
前記情報処理装置により実行される、
前記第1スレッドを監視する監視スレッドが、前記第1スレッドの異常を検出した場合、前記サーバに異常を示すデータを送信する送信ステップと、
前記監視スレッドが前記第1スレッドの異常を検出した場合、前記第2スレッドを含む前記サーバと通信する全ての送信スレッドを停止する停止ステップと、を有し、
前記サーバにより実行される、
前記異常を示すデータを受信した場合には、前記エージェントの状態が稼働中であり、かつ、前記エージェントに異常が発生していることを示す第1の通知を行う第1の通知ステップと、
前記第2スレッドを利用した前記エージェントからの要求を含む前記エージェントからの通信が無く所定の条件を満たした場合には、前記エージェントの状態が不明であることを示す第2の通知をさらに行う第2の通知ステップと、を有することを特徴とするシステムの制御方法。 An information processing apparatus in which an agent using a plurality of transmission threads including a first thread for transmitting operation information to a server and a second thread for transmitting a request to the server at a predetermined period operates, and manages the information processing apparatus A method for controlling a system having a server,
Executed by the information processing apparatus;
If monitoring thread to monitor the pre-Symbol first thread, which detects an abnormality of the first thread, and a transmitting step of transmitting data indicating an abnormality in said server,
A step of stopping all transmission threads communicating with the server including the second thread when the monitoring thread detects an abnormality of the first thread;
Executed by the server,
A first notification step of performing a first notification indicating that the state of the agent is in operation and that an abnormality has occurred in the agent when data indicating the abnormality is received;
When there is no communication from the agent including a request from the agent using the second thread and a predetermined condition is satisfied, a second notification indicating that the state of the agent is unknown is further performed. And a notification step. 2. A system control method comprising:
前記第1スレッドを監視する監視スレッドが、前記第1スレッドの異常を検出した場合、前記サーバに異常を示すデータを送信する送信手段と、
前記監視スレッドが前記第1スレッドの異常を検出した場合、前記第2スレッドを利用した要求を含む前記エージェントから前記サーバへの通信が無くなるように、前記第2スレッドを含む前記サーバと通信する全ての送信スレッドを停止する停止手段と、
を有することを特徴とする情報処理装置。 An information processing apparatus in which an agent that uses a plurality of transmission threads including a first thread that transmits operation information to a server and a second thread that transmits a request to the server at a predetermined cycle operates.
When the monitoring thread that monitors the first thread detects an abnormality of the first thread, a transmission unit that transmits data indicating the abnormality to the server;
When the monitoring thread detects an abnormality in the first thread, all communication with the server including the second thread is performed so that communication from the agent including the request using the second thread to the server is lost. Means for stopping the sending thread of
An information processing apparatus comprising:
前記第1スレッドを監視する監視スレッドが、前記第1スレッドの異常を検出した場合、前記サーバに異常を示すデータを送信する送信ステップと、
前記監視スレッドが前記第1スレッドの異常を検出した場合、前記第2スレッドを利用した要求を含む前記エージェントから前記サーバへの通信が無くなるように、前記第2スレッドを含む前記サーバと通信する全ての送信スレッドを停止する停止ステップと、
を有することを特徴とする情報処理装置の制御方法。 A control method for an information processing apparatus in which an agent that uses a plurality of transmission threads including a first thread that transmits operation information to a server and a second thread that transmits a request to the server at a predetermined cycle ,
When the monitoring thread that monitors the first thread detects an abnormality of the first thread, a transmission step of transmitting data indicating the abnormality to the server;
When the monitoring thread detects an abnormality in the first thread, all communication with the server including the second thread is performed so that communication from the agent including the request using the second thread to the server is lost. A stop step to stop the sending thread of
A method for controlling an information processing apparatus, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017145331A JP6562980B2 (en) | 2017-07-27 | 2017-07-27 | System, system control method, information processing apparatus, information processing apparatus control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017145331A JP6562980B2 (en) | 2017-07-27 | 2017-07-27 | System, system control method, information processing apparatus, information processing apparatus control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019028593A JP2019028593A (en) | 2019-02-21 |
JP6562980B2 true JP6562980B2 (en) | 2019-08-21 |
Family
ID=65476300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017145331A Active JP6562980B2 (en) | 2017-07-27 | 2017-07-27 | System, system control method, information processing apparatus, information processing apparatus control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6562980B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112469065A (en) * | 2020-12-23 | 2021-03-09 | 北京春笛网络信息技术服务有限公司 | Keep-alive detection method for 5G short message all-in-one machine |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11232143A (en) * | 1998-02-18 | 1999-08-27 | Oki Electric Ind Co Ltd | Multithread monitor method |
JP4389893B2 (en) * | 2006-03-27 | 2009-12-24 | ブラザー工業株式会社 | Image forming apparatus |
JP4848979B2 (en) * | 2007-03-07 | 2011-12-28 | 日本電気株式会社 | Monitoring system, monitoring method and program |
JP5746585B2 (en) * | 2011-08-03 | 2015-07-08 | キヤノン株式会社 | Log management system, log management method, application server, and log server |
JP6055810B2 (en) * | 2014-11-14 | 2016-12-27 | 京セラドキュメントソリューションズ株式会社 | Fault management system, fault management server, and fault management program |
JP2017005510A (en) * | 2015-06-10 | 2017-01-05 | キヤノン株式会社 | Image processing device, control method for image processing device and program |
JP6486227B2 (en) * | 2015-07-17 | 2019-03-20 | キヤノン株式会社 | System and method |
JP2017091037A (en) * | 2015-11-05 | 2017-05-25 | キヤノン株式会社 | System, management device, control method of system, control method of management device, and program |
-
2017
- 2017-07-27 JP JP2017145331A patent/JP6562980B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019028593A (en) | 2019-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6155865B2 (en) | Information processing system, information processing method, and program | |
US20120086978A1 (en) | Cloud computing system, information processing method, and storage medium | |
US9122437B2 (en) | Information processing apparatus, method, and medium for managing status information about an image forming apparatus | |
JP5794690B2 (en) | Information processing apparatus, information processing method, and program | |
JP2011128995A (en) | Log information management system, control method therefor, and storage medium | |
US10908851B2 (en) | Communication system and information processing apparatus that manage log information about an external apparatus, and control method therefor | |
US8976381B2 (en) | Printing apparatus, method for controlling printing apparatus, and storage medium | |
JP4114315B2 (en) | Image processing device | |
JP2007306143A (en) | Image processing apparatus | |
JP5675372B2 (en) | Virus monitoring system and virus monitoring method | |
US20130138729A1 (en) | Server selecting apparatus, information processing apparatus, and non-transitory computer-readable medium storing computer-executable program for server selecting apparatus | |
JP6562980B2 (en) | System, system control method, information processing apparatus, information processing apparatus control method, and program | |
JP5657062B2 (en) | Image forming apparatus, image forming apparatus control method, and program | |
JP2019134253A (en) | Image formation device, control method of image formation device, and program | |
US9626219B2 (en) | Information processing apparatus, method of controlling the same and non-transitory computer readable medium | |
JP5838872B2 (en) | Image forming apparatus, energy saving control method, and program | |
JP6711618B2 (en) | Information processing apparatus, information processing system, information processing server, information processing method, and program | |
US20170078497A1 (en) | Information processing system, information processing apparatus and information processing method | |
US9491322B2 (en) | Image forming apparatus, method for controlling image forming apparatus, and system | |
JP7379041B2 (en) | Network devices, network device control methods and programs | |
US9723167B2 (en) | Managing the activation of an application in an information processing apparatus on which a plurality of applications operate | |
JP2014042149A (en) | Image forming apparatus and control method of the same, and program | |
US9552178B2 (en) | Printing system and image forming apparatus | |
JP2013161460A (en) | Management system, monitoring device, and information processing method | |
JP6544385B2 (en) | Image forming device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181227 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190222 |
|
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: 20190625 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190723 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6562980 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |