JP7350551B2 - デバイス管理システム及びその制御方法 - Google Patents

デバイス管理システム及びその制御方法 Download PDF

Info

Publication number
JP7350551B2
JP7350551B2 JP2019134700A JP2019134700A JP7350551B2 JP 7350551 B2 JP7350551 B2 JP 7350551B2 JP 2019134700 A JP2019134700 A JP 2019134700A JP 2019134700 A JP2019134700 A JP 2019134700A JP 7350551 B2 JP7350551 B2 JP 7350551B2
Authority
JP
Japan
Prior art keywords
event
information
client device
management system
server
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
Application number
JP2019134700A
Other languages
English (en)
Other versions
JP2021018663A (ja
Inventor
英隆 中原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019134700A priority Critical patent/JP7350551B2/ja
Priority to US16/934,417 priority patent/US11537333B2/en
Publication of JP2021018663A publication Critical patent/JP2021018663A/ja
Application granted granted Critical
Publication of JP7350551B2 publication Critical patent/JP7350551B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1273Print job history, e.g. logging, accounting, tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1263Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1267Job repository, e.g. non-scheduled jobs, delay printing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、情報処理装置の利用状況の把握と解析を実施するデバイス管理システム及びその制御方法に関する。
情報処理装置の状態監視のため、稼働している装置からインターネットを通じてイベントログ管理サーバに各種イベントログを送信し、サーバ側でイベントログを管理・分析するデバイス管理システムが知られている。またこのロギングの仕組みを使って、種々の機能の実行回数や情報処理装置の動作に伴うカウンタ情報を保存し、定期的にサーバに送付することでメンテナンスや課金管理に利用することもある。
ユーザの利用状況に応じて課金を実施する場合は、正確なカウンタ情報を取得する必要がある。しかしながら情報処理装置は常に稼働しているためカウンタ情報が時々刻々変化し、また収集すべきカウンタ情報はユーザ毎、部門毎、機能毎、機器全体等多種にわたることがある。これら複数のカウンタ情報の取得中に、関連のカウントをアップするイベントが発生すると、取得した複数のカウンタ情報間の整合性が保てず正しいカウンタ情報が取得できないという課題がある。
特許文献1に記載の画像形成装置では、カウンタ情報を取得する際に、情報処理装置のジョブキューにカウンタ取得ジョブを積むことで他のジョブを排他し、カウンタ情報取得中には他のジョブを動かさなくすることでこの課題を解決していた。
特開2013-101596号公報
しかしながらカウンタ情報の取得とサーバへの送付処理はバックエンドで行われ、ユーザの目に見えない状況である。それにもかかわらず、ユーザ操作により実行されるジョブが排他されることは、ユーザが情報処理装置を利用する上で利便性を著しく損なうことになる。
上記課題を解決するために本発明のデバイス管理システムは、以下の特徴を有する。
クライアント装置と、ネットワークで接続された前記クライアント装置から受信した情報を保存、管理するサーバとを含むデバイス管理システムであって、前記クライアント装置は、クライアント装置の状態変化に関するイベント、又はタイマにより定期起動するイベントを検知した場合は、イベント名称、イベントの発生時刻、及び該イベントに紐づけられた情報を、前記サーバに送信するよう制御する制御手段を有し、前記サーバは、受信した前記状態変化に関するイベントのデータに基づき、前記タイマにより定期起動するイベントに関するデータを補正する補正手段を有する、ことを特徴とする。
上記により、ユーザの利便性を損なうことなく、また効率的に複数のカウンタ情報の整合性を保ち、該情報をサーバに送付し利用することが可能になる。
情報処理装置、サーバよりなるシステム全体を示すデバイス管理システム構成図 管理サーバのハードウェア構成を表すブロック図 クライアント機のハードウェア構成を表すブロック図 クライアント機の情報処理コントローラユニットの構成を表すブロック図 クライアント機のソフトウェアブロック図 実施例のイベントの検知から管理サーバ送付までのフローチャート 実施例の情報補正を含むイベント送付のフローチャート 他の実施例のスナップショット情報補正の有無の切替を含むフローチャート
以下、本発明を実施するための形態について図面を用いて説明する。
図1は、本発明におけるシステム全体を示すデバイス管理システム構成図である。ネットワーク100には、本実施例で説明する情報処理装置の管理サーバ110、および情報処理装置のクライアント機120が接続されている。
クライアント機120は機器内での事象を履歴イベントの形で管理サーバ110に対して通知する通信機能を具備している。また、管理サーバ110には複数のクライアント機120から通知されたイベントを管理サーバ110内のストレージに保存する機能を具備している。ストレージに蓄積された情報は稼働監視の情報分析などに利用される。
本実施例では管理サーバ110は、データストレージと情報処理計算とネットワーク通信機能性を具備できるコンピュータなどの一般的な情報処理装置や、同等機能を持つクラウドサービスで実現する。
情報処理装置であるクライアント機120は、複数種類の機能、例えばコピーやFAX等を実現する複合機を例に説明する。それらの機能を実行した履歴に加え、省電力状態への遷移や復帰の履歴、またエラー発生など異常状態への遷移・復帰などの履歴などを管理サーバ110に通知する機能を具備している。
図2は、本発明における管理サーバ110が一般的なコンピュータなどの情報処理装置で実現された場合のハードウェア構成を表すブロック図である。コントローラユニット200、操作部209、表示部210を含んでいる。コントローラユニット200は、CPU(Central Processing Unit)201を有する。CPU201は、ROM(Read Only Memory)202に格納されているブートプログラムによりOS(Operating System)を起動する。
CPU201は、このOS上で、HDD(Hard Disk Drive)204に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このCPU201の作業領域としてはRAM(Random Access Memory)203が用いられる。
HDD204は、上記アプリケーションプログラムと設定や履歴等のデータを格納する。
CPU201には、システムバス208を介して、ROM202、RAM203、HDD204とともに、操作部I/F205、表示部I/F206、Network 207が接続される。
操作部I/F205は、マウス、キーボード等から成る操作部209とのインタフェースであり、操作部209によってユーザにより入力された情報をCPU201に送出する。
表示部I/F206は、ディスプレイ等から成る表示部210に表示すべき画像データを表示部210に対して出力する。
また、Network 207は、ネットワーク100に接続され、ネットワーク100を介してネットワーク100上の各装置との間で情報の入出力を行う。
図3は本発明におけるクライアント機120のハードウェア構成を表すブロック図である。クライアント機120は、情報処理コントローラユニット301、プリンタコントローラユニット302、スキャナコントローラユニット303、プリンタ304、スキャナ305、操作部306を含んでいる複合機である。
情報処理コントローラユニット301は、クライアント機120の動作に係る情報処理制御を統括するコントローラであり、操作部306が接続される。さらに、情報処理コントローラユニット301には、画像出力デバイスであるプリンタ304を制御するプリンタコントローラユニット302や画像入力デバイスであるスキャナ305を制御するスキャナコントローラユニット303が接続される。
図4は本発明におけるクライアント機120の情報処理コントローラユニット301のハードウェア構成を表すブロック図である。情報処理コントローラユニット301は、CPU401を有し、CPU401は、ROM402に格納されているブートプログラムによりOSを起動する。
CPU401は、このOS上で、HDD404に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このCPU401の作業領域としてはRAM403が用いられる。
また、RAM403は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。
HDD404は、上記アプリケーションプログラムや画像データ、各種設定値や履歴を格納する。
CPU401には、システムバス410を介して、ROM402、RAM403及びHDD404とともに、操作部I/F406、デバイスコントローラI/F408、Network 405、画像処理部407、および電源制御部409が接続される。
操作部I/F406は、タッチパネルを有する操作部306とのインタフェースであり、操作部306に表示すべき画像データを操作部306に対して出力する。また、操作部I/F406は、操作部306によってユーザにより入力された情報をCPU401に送出する。
デバイスコントローラI/F408には、スキャナコントローラユニット303およびプリンタコントローラユニット302が接続され、デバイスコントローラI/F408は、画像データの同期系/非同期系の変換を行う。
Network 405は、ネットワーク100に接続され、ネットワーク100を介してネットワーク100上の各装置との間で情報の入出力を行う。
画像処理部407では、プリンタ304への出力画像処理やスキャナ305からの入力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの処理を行う。
電源制御部409は機器全体の電源制御を行う。電源オンオフの制御のほか通常通電状態以外の省電力状態への移行や、通常状態への復帰などを制御する。
図5は本発明におけるクライアント機120のソフトウェアブロック図である。本実施例では、RAM403、HDD404、ROM402のいずれかの記憶手段に記憶されたプログラムを、CPU401が実行することにより実現する。クライアント機120は例えば複合機であり、スキャン、プリント、およびネットワークやメモリストレージを利用した各種機能性を実現するソフトウェアが動作する。
ユーザインターフェース501は操作部306に対してユーザが操作する画面を表示したり、ユーザが操作した際にその動きをソフトウェアに伝えたりする機能を持つ。
機能アプリケーション502はコピー、プリント、メール送信など機器内に複数あり、操作部306を経由したユーザの指示やNetwork 405経由のデータ受信などをトリガにしてクライアント機器102のアプリケーション機能を動作させる。
ジョブ制御部503は機能アプリケーション502からの指示を受けてプリンタコントロールユニット302やスキャナコントロールユニット303を制御してスキャンやプリントを実行する。
電源制御部504は、装置内のソフトウェアの状態と連動して、電源管理部409を制御し通常通電状態と省電力状態の遷移をつかさどる。
エラー制御部505は、主にジョブ制御部503やプリンタコントロールユニット302やスキャナコントローラユニット303などで発生した異常状態の通知を受け、システム全体を停止したり縮退動作を指示したりの制御を実施する。
履歴・設定保持部506は機器内における不揮発情報を管理する。クライアント機器102やジョブの制御に必要な設定を保持したり、ユーザの操作履歴やジョブ実行結果およびエラーの発生などをサマライズして保存したりする。またシステムの不具合発生時に解析デバッグ用途で残すログ情報もここに保存される。不揮発データの実体はHDD404に保持される。
カウンタ保持部507は機器内で発生した各種事象発生情報をカウンタの形にサマライズして保存している。スキャン枚数、印刷枚数や、コピー等機能の利用回数などをカウントする。またユーザごと、ユーザの所属する部門ごと、装置全体等、グルーピングして保持している。不揮発データの実体はHDD404に保持される。
イベント回収部510は機器内の各モジュール(501~507)で発生した状態変化を監視し、それを管理サーバ110に送付するため、イベントの形で正規化しメッセージバッファ520に保存する機能を持つ。メッセージバッファ520はHDD404上にあり正規化されたイベントは不揮発領域に保存される。ここでの正規化はJSONなどの汎用のフォーマットを使う。イベント名称、発生時刻、情報処理装置のシリアル番号などの基本情報に加えてイベントの種別によって、追加でさまざまな情報が付与される。これら付与情報はイベント回収部510が履歴・設定保持部506やカウンタ保持部507などの不揮発情報を参照したり、機器内各モジュール(501~507)の状態などから動的に取得したりする。
また状態変化以外にイベント回収部510はタイマ管理部511を利用して定期起動する情報取得動作を実行する。例えば1時間ごとや1日毎などのタイマを、タイマ管理部511を利用して発火させる。そのタイミングの設定や履歴のスナップショットを履歴・設定保持部506から、カウンタ情報をカウンタ保持部507から取得する動作を行い、スナップショットイベントをメッセージバッファ520に保存する。
イベント送付部530はメッセージバッファ520への書き込みを検知するなどしてイベントが発行されたことを受け、メッセージバッファ520から情報を読み出してネットワーク通信部531を介して管理サーバ110に対してイベントを送付する。ネットワーク通信部531はNetwork 405を利用し通信する。
図6は本発明におけるクライアント機120の機器内で各種事象が起きた際の管理サーバ110へのイベント送付の流れを示したフローチャートである。本実施例では、RAM403、HDD404、ROM402のいずれかの記憶手段に記憶されたプログラムを、CPU401が実行することにより実現する。
(ジョブ終了イベント:イベントドリブン)
装置の状態変化に関するイベントとして、コピー等のジョブ終了イベントを例にフローチャート600に示す。
まず、ステップS601において、イベント回収部510がジョブの終了を検知する。
続くステップS602において現在時刻(発生時刻)を取得する。
そして、ステップS603で、イベント回収部510はイベント発行のサブルーチンに対してイベント名称(ジョブ終了イベント)と、取得した現在時刻(発生時刻)を引数にして処理を実行することで管理サーバ110にイベントを送付する。
(カウンタスナップショットイベント:タイマ発火)
タイマを利用して定期起動するスナップショットイベントの送付を、カウンタスナップショットを例にフローチャート610に示す。
まず、ステップS611において、イベント回収部510がタイマ管理部511からのタイマ発火を受ける。
続くステップS612において現在時刻(発生時刻)を取得する。
ステップS613で、イベント回収部510はイベント発行のサブルーチンに対してイベント名称(カウンタスナップショットイベント)である旨と、取得した現在時刻(発生時刻)を引数にして処理を実行することで管理サーバ110にイベントを送付する。
(イベント発行のサブルーチン)
ステップS603及びS613のイベント発行のサブルーチンについて次のフローチャート620で詳細に説明する。
まず、ステップS621において、イベント回収部510は受信したイベント内容に応じてあらかじめ紐づけられた情報を機器内の各モジュールから情報を収集する。例えばS603からコールされるジョブ終了イベントであれば、実行ユーザ名、カラーモノクロの区別、スキャン枚数、プリント枚数、および対象ユーザのカウンタのスナップショットなどが収集対象情報になる。ステップS613からコールされるカウンタのスナップショットイベントであれば、対象となるカウンタ情報を回収する。スナップショットイベントの場合は全ユーザ毎のカウンタ情報などを回収すると情報量が多くなることがあり、この回収作業に数十秒から数分かかることもある。これら回収した情報に、与えられたイベント発生時刻情報を加え、JSONのような汎用フォーマットに正規化する。
ステップS622で、イベント回収部510は正規化されたイベント情報をメッセージバッファ520に保存する。この時点でサーバへの送付内容が確定される。
ステップS623で、この書き込みを非同期に検知したイベント送付部530がメッセージバッファ520からイベント情報を読み出す。
ステップS624で、イベント送付部530が管理サーバ110への送信動作を行う。ここではサーバへの認証動作や通信エラー時のリトライ処理などを含めて送信完了までを実行する。管理サーバ110は受信したイベント情報をHDD204に保存する。
このようにしてクライアント装置120内で発生した各種事象は管理サーバ110に送信され収集される。
論理的にはイベントドリブンの変化事象をサーバに送付するのみで、分析や管理に必要な情報はサーバ側で入手可能であるので、スナップショットデータの定期的な送付は本来、不要である。しかしながらイベントドリブンのデータ送付は機器の状態やネットワークの状態などによって、サーバに届く前にデータがロストする危険性がある。これを考慮しイベントドリブンのデータ送付に加えて、タイマ発火により定期起動するスナップショットイベントのデータを送付することでデータを補完していく必要がある。
この時、例えば600のフローチャートはユーザ操作によるジョブの発生単位に起動される。一方で610のフローチャートはあらかじめ仕掛けられたタイマの発火動作に伴って定期起動されるため、同じタイミングで起動される場合がある。データの更新と取得処理が同時に発生することで、収集データに不整合が生じることがある。この動きについて表を用いて説明する。
表1(表:ユーザごとのカウンタスナップショット)はカウンタ保持部507から回収されるカウンタスナップショットのサンプルである。ユーザごとに、白黒プリント・カラープリント・白黒スキャン・カラースキャンが累積何度動作したかの回数情報を保存している。カウンタ保持部507はユーザごとに異なるファイル等でデータを管理しているため回収には時間がかかることがある。この例では999ユーザ分のデータの回収を実施しそれぞれユーザのデータを取得したタイムスタンプを保存するようにしている。ここでは約2分かかる想定とする。イベント回収部510はこのように取得された状態をJSONなどで正規化しメッセージバッファ520に保存する。
Figure 0007350551000001
一方この2分の間にユーザ002とユーザ999がそれぞれ2枚のコピージョブと1枚のプリントジョブを実行した場合、例えばジョブ終了イベントとしては表2(表:累積カウント付ジョブ終了イベント)に記載があるような2つのイベントが発生する。イベント回収部510は、ジョブ終了イベントが発生するたびに、ジョブの種類、ユーザID、ジョブ開始時間、ジョブ終了時間等の情報を収集してJSONなどで正規化しメッセージバッファ520に2つのイベントを保存する。
Figure 0007350551000002
表2のユーザ002のコピージョブの終了時刻は、表1のカウンタのスナップショット回収中のユーザ002のデータ取得時刻よりも後であるが、デバイス合計のデータ取得時刻よりも前に発生している。そのためスナップショットのデータ取得時刻にはユーザ002のカウントが上がっていない。しかしデバイス合計のデータ取得時刻には、表2のユーザ002のジョブが合計として反映されているという不整合な状態になっている。またユーザ999のプリントジョブはカウンタスナップショット回収中に実施されているがユーザ999のジョブ終了がユーザ999のスナップショット回収タイミングより前に完了しているため、不整合が起きていないことも分かる。
この例のように取得時間を付与してスナップショットデータを送付する動作と、イベントドリブンで状態変化の情報を付与して送付する動作の2系統のイベント送付が実行される。サーバ側において、表1のスナップショットの情報と表2でイベント発生ごとに送付されるデータを分析しスナップショット内で不整合が起きているデータを見つけ補正することは可能である。
なお表2(表:累積カウント付ジョブ終了イベント)の代わりに表3(表:ジョブ単位カウント付ジョブ終了イベント)のようなイベントの送付も実現例として考えられる。こちらはユーザ毎の累積カウントではなく、該当のジョブがカウントをどのくらい加算したかの差分のカウントを付与する構造である。
Figure 0007350551000003
ジョブ単位の詳細な情報を分析するには表2より表3の構造の方が情報量は多くなり分析できる内容も広がるが、前述のデータ補正を実行するためには、取りこぼしなくすべてのジョブ終了イベントのカウント値を合算する必要があるため非効率である。もちろん累積値とジョブ単位の差分値の両方をイベントに付与することも可能である。
以上の両方のイベントの情報を用いれば、サーバ側で不整合のデータを修正することができる。具体的には、カウンタスナップショットイベントを実行中に、ジョブ終了イベントが生じた場合には、カウンタスナップショットイベントの取得情報に必要な情報をジョブ終了イベントから収集し、サーバに送付する。サーバでは、全てのイベントの情報から、整合したデータを生成し、保存、管理する。
しかし、サーバ側での分析を効率的にするためには、複合機がデータを不整合のまま送付するのではなく、補正した上でサーバに送付することがより望ましい。
このような、その不整合状態を補正してスナップショットデータを管理サーバに送付する方法について、以下、図7を用いて説明する。
(スナップショットデータの補正フロー)
図7は本願発明のカウンタスナップショットの送信の際にジョブが実行された場合のスナップショットデータ補正の為のデータ再回収を含んだフローチャートである。本処理は、RAM403、HDD404、ROM402のいずれかの記憶手段に記憶されたプログラムを、CPU401が実行することにより実現する。
カウンタスナップショット取得タスク700のフローは、データ取得から管理サーバへの送信までの一連の処理であり、またジョブイベント監視タスク720のフローは、カウンタスナップショット取得タスク700の動きを制御する。いずれもイベント回収部510の機能として動作する。
ステップS701で、タイマ管理部511からの通知を受けると、イベント回収部510は、カウンタスナップショットイベント取得タスクを起動する。
続くステップS702で、CPU401は、ジョブイベント監視タスク720を起動する。
<ジョブイベント監視タスク>
一方でジョブイベント監視タスク720では、起動した後にステップS721でジョブ終了イベントが発生しないかを監視を開始する。
具体的には、ステップS721で、ジョブ終了イベントを受信するまで待機し、ジョブ終了イベントを受信した場合はステップS722に進む。
ステップS722で、ジョブ終了イベントが発火したことをジョブの実行履歴として記録し、ステップS721に戻る。
ジョブイベント監視タスク720は、これらの動作を繰り返す。
さて、カウンタスナップショット取得タスクのフローの説明にもどる。
ステップS703でイベント回収部510は回収対象のカウンタを決定する。例えば前述の表1のような登録ユーザすべてのカウンタとデバイス全体のカウンタを全指定する。その後イベント回収部510はステップS704に進み、指定されたカウンタの値の収集動作を実行する。前述した通りこれはユーザ数に応じて数十秒から数分かかるようなこともある。
ステップS704で、イベント回収部510はカウンタの収集動作を終えた後、ステップS705において、ジョブイベント監視タスク720がジョブの実行履歴を検知したかどうかを判定する。ジョブの実行履歴を検知した場合はステップS706に進み、ジョブの実行履歴を検知しなかった場合は、ステップS709に進む。
[ジョブの実行履歴を検知した場合]
ステップS706で、イベント回収部510は回収したカウンタ情報を一次保存する。
その後ステップS707に進み、所定のタイミングになるまで再回収の実行を待つ。
再回収を実行する所定のタイミングとしては具体的には以下のようなタイミングが考えられる
・所定の時間が経過した後
・デバイスが省電力状態(スリープ)に移行したことを検知したタイミング
・デバイスの中のジョブキューが空になったタイミング
・デバイスにログインしているユーザがいなくなったタイミング
など、いずれもジョブの実行が起こりにくにタイミングを1つ以上あらかじめ定義しておく。
再回収指示待ち状態のカウンタスナップショット取得タスク700のイベント回収部510はステップS707で上記のような再回収のタイミング到達を検知したら、ステップS708に進む。
ステップS708で、再取得するカウンタの内容を選択する。再選択の内容の決定については、以下のようなケースが考えられる。
・ジョブ終了イベント検知以降のデータを再取得
・実行されたジョブの実行者を確認して、該当のユーザ分だけ再取得
・ジョブの実行内容を見て、カウントアップがされたプリント系orスキャン系のいずれかだけ再取得
など終了したジョブの内容に応じて、再取得する内容を絞る動作を実施する。この動作はあらかじめ上記のいずれか1つだけ定義しておき、その論理で再回収する。
再取得するカウンタの内容が選択できたらイベント回収部510はステップS704に戻り選択されたカウンタ情報を再取得する。その後またステップS705に進み再回収処理中にジョブ実行されていないかを確認の上、新たなジョブ発生が記録されていなければ、ステップS709に進む。
ステップS709で、イベント回収部510は先に一次保存したカウンタ情報と、再回収したカウンタ情報をマージして正規化された情報を作る。
続くステップS710で、イベント回収部510はメッセージバッファ520にマージされて正規化された情報を保存する。
ステップS711では、この時点でデータが確定しているためジョブイベント監視タスクを停止する。
ステップS712で、ステップS710での書き込みを非同期に検知したイベント送付部530はメッセージバッファ520からイベント情報を読み出す。
続くステップS713で、イベント送付部530は、管理サーバ110への送信動作を行う。ここではサーバへの認証動作や通信エラー時のリトライ処理などを含めて送信完了までを実行する。送付された管理サーバ110は受信したイベント情報をストレージに保存する。
以上の動作によりジョブとカウンタスナップショットの実行を排他することなく、万が一両者の動作が競合した場合でも必要最低限のデータの取り直しで効率的に整合性を保ったデータを作成し管理サーバ110に送付することができる。
実施例1では、カウンタスナップショットイベントを実行中に、ジョブが実行された場合には、実行されたジョブのジョブ完了イベントから、該当するカウンタの値を再回収し、不整合のないデータを管理サーバへ送るものであった。実施例2では、利用ニーズと複合機の処理負荷を加味し、実施例1よりもさらに効率の良い再回収動作を実現する。
以下、本願発明の実施例2について、図8を参照し説明する。
図8はカウンタスナップショット送付を実施するフローチャートである。本明細書では、RAM403、HDD404、ROM402のいずれかの記憶手段に記憶され、CPU401により実行される。
まずステップS801においてカウンタスナップショットの取得のタイマ発火を検知したらステップS802に進み、実行されている現在の日時情報と定期送信のタイマの間隔を確認し特定の時期に合致するかどうかを判断する。特定の時期とは以下のようなケースが考えられる。
・タイマ発火のうち、あらかじめ指定された日時のタイマ発火タイミング
・タイマ発火のうち、あらかじめ指定された回数発火した後の発火タイミング
・次のタイマ発火を鑑み、特定の期間(日/週/月)の最後の送付タイミング
特定の時期だと判断されなかった場合はステップS803に進み再回収無し、すなわち図6のステップS612以降のフローでカウンタスナップショットの送付処理を実行する。
逆に特定の時期だと判断された場合はステップS804に進み再回収有り、すなわち図7のステップS702以降のフローでカウンタスナップショットの送付処理を実行する。
このような制御を入れることで、特定のタイミングのみ再回収付きの整合性チェックを入れたデータ送付を保証でき、それ以外のタイミングでは処理の重い再回収を実行しないデータ送付に切り替えられる。
前述した通りイベントドリブンのジョブ終了イベントも別途サーバに送付されているため、スナップショット内のデータ不整合があってもサーバ側で補正を実施することは可能である。
特に課金目的の利用でこのカウンタスナップショットデータを用いる場合は、顧客への請求を実施するいわゆる締日に正しい値が保証されていればよいことが多く、それ以外のタイミングでは参考程度の利用であることも多い。図8のフローチャートによる動作切り替えはこの要求にあわせてクライアント機(複合機)側の処理負荷とデータの整合性保証を最適にコントロールすることが実現できる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (11)

  1. クライアント装置と、ネットワークで接続された前記クライアント装置から受信した情報を保存、管理するサーバとを含むデバイス管理システムであって、
    前記クライアント装置は、
    クライアント装置の状態変化に関するイベント、又はタイマにより定期起動するイベントを検知した場合は、イベント名称、イベントの発生時刻、及び該イベントに紐づけられた情報を、前記サーバに送信するよう制御する制御手段を有し、
    前記サーバは、受信した前記状態変化に関するイベントのデータに基づき、前記タイマにより定期起動するイベントに関するデータを補正する補正手段を有する、
    ことを特徴とするデバイス管理システム。
  2. クライアント装置の情報を保存、管理するサーバと、前記クライアント装置の状態変化に関するイベント、およびタイマにより定期起動するイベントに関する情報を取得し前記サーバに送信する前記クライアント装置がネットワークで接続されたデバイス管理システムであって、
    前記クライアント装置は、
    前記定期起動するイベントの起動している間、前記状態変化に関するイベントの履歴が有った場合に、前記状態変化に関するイベントの履歴に基づき前記定期起動するイベントの起動している間に再取得する情報を選択する選択手段と、
    選択された複数のデータを再取得する再取得手段を有することを特徴とするデバイス管理システム。
  3. 前記クライアント装置は、
    前記タイマにより定期起動するイベントが起動している間に、前記状態変化に関するイベントを監視し、履歴を記録する監視手段を有する
    ことを特徴とする請求項に記載のデバイス管理システム。
  4. 前記クライアント装置は、
    取得した情報を一次保存し、所定のタイミングで情報の再取得を行い、前記取得した情報と前記再取得した情報とに基づく情報を、前記サーバに送信することを特徴とする請求項2または3の何れか1項に記載のデバイス管理システム
  5. 前記再取得する情報はカウンタの値であることを特徴とする請求項の何れか1項に記載のデバイス管理システム。
  6. 前記選択手段は、状態変化に関するイベントの検知以降であるか、ジョブの実行者、又はジョブの実行内容に基づき再取得する情報を選択することを特徴とする請求項の何れか1項に記載のデバイス管理システム。
  7. 前記所定のタイミングは、情報を一次保存してから所定の時間が経過した後、省電力状態への移行を検知したとき、ジョブキューが空になったとき、又はログインしているユーザがいなくなったとき、のいずれかであることを特徴とする請求項4に記載のデバイス管理システム。
  8. クライアント装置は、
    前記定期起動するイベントが起動した際、現在時刻が所定の時期でない場合は、情報の再取得を実行しないことを特徴とする請求項の何れか1項に記載のデバイス管理システム。
  9. 前記所定の時期は、あらかじめ指定された日時、特定の期間の最後の送付タイミングのいずれかのタイミングである場合であることを特徴とする請求項に記載のデバイス管理システム。
  10. クライアント装置と、ネットワークで接続された前記クライアント装置から受信した情報を保存、管理するサーバとを含むデバイス管理システムの制御方法であって、
    前記クライアント装置が、
    クライアント装置の状態変化に関するイベント、又はタイマにより定期起動するイベントを検知した場合は、イベント名称、イベントの発生時刻、及び該イベントに紐づけられた情報を、前記サーバに送信するよう制御する制御工程を実行し、
    前記サーバが、
    受信した前記状態変化に関するイベントのデータに基づき、前記タイマにより定期起動するイベントに関するデータを補正する補正工程を実行する
    ことを特徴とするデバイス管理システムの制御方法。
  11. クライアント装置の情報を保存、管理するサーバと、前記クライアント装置の状態変化に関するイベント、およびタイマにより定期起動するイベントに関する情報を取得し前記サーバに送信する前記クライアント装置がネットワークで接続されたデバイス管理システムの制御方法であって、
    前記クライアント装置が、
    前記定期起動するイベントの起動している間、前記状態変化に関するイベントの履歴が有った場合に、前記状態変化に関するイベントの履歴に基づき前記定期起動するイベントの起動している間に再取得する情報を選択する選択工程と、
    選択された複数のデータを再取得する再取得工程を実行する
    ことを特徴とするデバイス管理システムの制御方法。
JP2019134700A 2019-07-22 2019-07-22 デバイス管理システム及びその制御方法 Active JP7350551B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019134700A JP7350551B2 (ja) 2019-07-22 2019-07-22 デバイス管理システム及びその制御方法
US16/934,417 US11537333B2 (en) 2019-07-22 2020-07-21 Client device, control method thereof and storage medium for managing client device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019134700A JP7350551B2 (ja) 2019-07-22 2019-07-22 デバイス管理システム及びその制御方法

Publications (2)

Publication Number Publication Date
JP2021018663A JP2021018663A (ja) 2021-02-15
JP7350551B2 true JP7350551B2 (ja) 2023-09-26

Family

ID=74187629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019134700A Active JP7350551B2 (ja) 2019-07-22 2019-07-22 デバイス管理システム及びその制御方法

Country Status (2)

Country Link
US (1) US11537333B2 (ja)
JP (1) JP7350551B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222161A (ja) 2004-02-03 2005-08-18 Ricoh Co Ltd カウンタ値通知方法、カウンタ値通知プログラム及び画像形成装置
JP2013088874A (ja) 2011-10-13 2013-05-13 Canon Inc 管理システム、監視装置及び管理方法
JP2019053347A (ja) 2017-09-12 2019-04-04 セイコーエプソン株式会社 情報処理装置、および、情報処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5847457B2 (ja) 2011-06-27 2016-01-20 キヤノン株式会社 画像形成装置及びその処理方法
JP5811712B2 (ja) * 2011-09-07 2015-11-11 株式会社リコー 機器連携システム、画像形成装置、機能提供方法
JP2013101596A (ja) * 2011-10-13 2013-05-23 Canon Inc 監視装置、及びその方法
JP5888962B2 (ja) 2011-12-16 2016-03-22 キヤノン株式会社 情報処理システム、画像形成装置、管理装置、管理方法およびコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222161A (ja) 2004-02-03 2005-08-18 Ricoh Co Ltd カウンタ値通知方法、カウンタ値通知プログラム及び画像形成装置
JP2013088874A (ja) 2011-10-13 2013-05-13 Canon Inc 管理システム、監視装置及び管理方法
JP2019053347A (ja) 2017-09-12 2019-04-04 セイコーエプソン株式会社 情報処理装置、および、情報処理方法

Also Published As

Publication number Publication date
JP2021018663A (ja) 2021-02-15
US11537333B2 (en) 2022-12-27
US20210026575A1 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
US7908606B2 (en) Usage metering system
US20090063900A1 (en) Log collecting system, computer apparatus and log collecting program
US8953193B2 (en) Management system, monitoring apparatus and management
JP4544643B2 (ja) カウンタ情報を有する使用量レポートを作成するためのシステムおよび方法
JP7350551B2 (ja) デバイス管理システム及びその制御方法
JP7379041B2 (ja) ネットワークデバイス、ネットワークデバイスの制御方法及びプログラム
JP7159016B2 (ja) ネットワーククライアント及びその制御方法
US11652933B2 (en) Network device and network device control method
US10908853B2 (en) Image processing apparatus and method for controlling notifications between power transitioning
US10911628B2 (en) Image processing apparatus, method, and non-transitory computer-readable storage medium
JP2012253578A (ja) 集計システム
JP6562980B2 (ja) システム、システムの制御方法、情報処理装置、情報処理装置の制御方法、及びプログラム
JP2022164222A (ja) ネットワークデバイス、ネットワークデバイスの制御方法およびプログラム
JP7446857B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2020008936A (ja) 情報処理装置、情報処理方法、及びプログラム
US10095455B2 (en) Monitoring apparatus, control method, and storage medium
JP7413072B2 (ja) 情報処理装置、デバイス管理システム、情報処理装置の制御方法、及びプログラム
JP2021144339A (ja) ネットワークデバイス、その制御方法及びプログラム
JP2023040889A (ja) 情報処理装置とその制御方法、プログラム
JP2021043590A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
US12001743B2 (en) Image processing apparatus, control method, and storage medium for setting a storage period for a print job
JP2019186785A (ja) 情報処理装置、情報処理方法及びプログラム
JP2021125710A (ja) 帯域制御システム
JP2021026754A (ja) 情報処理装置、その制御方法、およびプログラム
JP2020071572A (ja) ネットワーククライアント及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230719

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230913

R151 Written notification of patent or utility model registration

Ref document number: 7350551

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151