JP2015064794A - ジョブ履歴処理システム、ジョブ履歴処理方法、画像形成装置およびその制御方法、並びにプログラム - Google Patents

ジョブ履歴処理システム、ジョブ履歴処理方法、画像形成装置およびその制御方法、並びにプログラム Download PDF

Info

Publication number
JP2015064794A
JP2015064794A JP2013198898A JP2013198898A JP2015064794A JP 2015064794 A JP2015064794 A JP 2015064794A JP 2013198898 A JP2013198898 A JP 2013198898A JP 2013198898 A JP2013198898 A JP 2013198898A JP 2015064794 A JP2015064794 A JP 2015064794A
Authority
JP
Japan
Prior art keywords
job history
transmission
server
history information
information
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.)
Granted
Application number
JP2013198898A
Other languages
English (en)
Other versions
JP2015064794A5 (ja
JP6180255B2 (ja
Inventor
佳延 浜田
Yoshinobu Hamada
佳延 浜田
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 JP2013198898A priority Critical patent/JP6180255B2/ja
Publication of JP2015064794A publication Critical patent/JP2015064794A/ja
Publication of JP2015064794A5 publication Critical patent/JP2015064794A5/ja
Application granted granted Critical
Publication of JP6180255B2 publication Critical patent/JP6180255B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】ジョブ履歴の送信が途切れた場合のジョブ履歴の保全性の改善と、再接続後の補完送信を効率化すること。
【解決手段】ジョブ履歴情報を受信して管理するサーバーと通信可能な画像形成装置であって、ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約手段と、前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信手段と、前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信手段と、前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理手段とを有し、前記送信手段は、前記管理手段により接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信する。
【選択図】 図1

Description

本発明は、ジョブ履歴処理システム、ジョブ履歴処理方法、画像形成装置およびその制御方法、並びにプログラムに関する。特に、画像形成装置で実行された印刷、コピーなどのジョブに関して、ジョブを実行したユーザーや、印刷された画像などを履歴情報として記録し、監査するためのシステムに関する。
従来、情報漏洩の抑止や、情報漏洩者を追跡する目的で、プリンターやMFP(Multi Function Peripheral)が行ったジョブに関する履歴情報を監査するためのジョブ履歴監査システムが開発されている。ジョブ履歴監査システムでは、より厳密な監査のために、ジョブの実行ユーザーや実行した日時などの情報の他に、印刷された画像など、ジョブで処理された画像データをログ画像として保存するようにしているものもある。
ログ画像を保存する場合や、複数台のMFPやプリンターのジョブ履歴を管理する場合、MFPやプリンターから、外部のサーバーにジョブ履歴情報を送信して保存・管理する方法が一般的である。こうした方法では、ジョブ履歴情報の送信がネットワークの不具合などで中断した場合でも、受信側のデータの整合性を保つことが望まれる。このため、データを送信している途中で通信が途切れ、データ送信先が切り替わる場合にも、複数の送信先で受信されたデータが不完全な状態にならないようにする手法が提案されている(例えば、特許文献1参照)。
特開2006−235763号公報
しかし、特許文献1では、データの送信側が、受信側への再接続後に送信すべきデータを判断しているため、受信側が受信済みでないデータの送信漏れが発生する可能性がある。また、意味を成す一まとまりのデータが複数の送信先に分割されて保存された場合、それらは別々に管理されてしまう。このため、扱うデータがジョブ履歴のようなデータの場合に不都合が生じる。例えば、一つのジョブ履歴中に複数のページ画像がログ画像として存在していて、数ページ分のログ画像を送信した段階で送信先が切り替わると、1ページ目から再度送信する必要が生じてしまい効率が悪い。
さらに、分割されて受信されたデータに対しては、受信側で期限切れを判定し、削除していた。このような分割データを削除してしまうと、送信側に何らかの障害が発生するなどして送信側のオリジナルのデータが失われた場合に、受信していたデータも無駄となってしまう。しかし、ジョブ履歴のページ画像のように、ジョブ履歴としては不完全であっても残しておいた方が有益な場合もある。
本発明は、上記課題を解決するためになされたものであり、ジョブ履歴の送信が途切れた場合のジョブ履歴の保全性の改善と、再接続後のジョブ履歴送信の効率化を可能とする。
上記課題を解決するために本願発明は以下の構成を有する。すなわち、画像形成装置と、前記画像形成装置からジョブ履歴情報を受信して管理するサーバーとを含むジョブ履歴処理システムであって、前記画像形成装置は、ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約手段と、前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信手段と、前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信手段と、前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理手段と、を有し、前記サーバーは、前記画像形成装置からの予約に応じて、接続情報を含む送信許可を送信する許可手段と、前記画像形成装置からのジョブ履歴情報を受信して管理するジョブ履歴管理手段と、前記管理しているジョブ履歴情報を、外部システムに対して提供する提供手段と、を有し、前記送信手段は、前記管理手段により接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信し、前記提供手段は、送信が中断された前記ジョブ履歴情報のうちの未送信の情報が前記送信手段により送信されなかった場合、当該送信が中断された前記ジョブ履歴情報を不完全なジョブ履歴情報として前記外部システムに対して提供する。
ジョブ履歴の送信が中断した場合に、補完送信の効率化を図ることができる。また、補完送信が不可能な場合でもジョブ履歴の保全性を高めることができる。
第一の実施形態に係るジョブ履歴処理システムの構成例を示す図。 MFPのハードウェア構成例を示すブロック図。 ジョブ履歴処理サーバーのハードウェア構成例を示すブロック図。 MFPのソフトウェア構成例を示すブロック図。 ジョブ履歴のデータ構成例を示す図。 ジョブ履歴処理サーバーのソフトウェア構成例を示すブロック図。 ジョブ履歴送信部がジョブ履歴を送信する際のフローチャート。 ジョブ履歴受信部が処理要求を受信した際のフローチャート。 ジョブ履歴管理部が不完全ジョブ履歴の保存期限を判定する際のフローチャート。 ジョブ履歴処理部がジョブ履歴を処理する際のフローチャート。 第二の実施形態に係るジョブ履歴処理システムの構成例を示す図。 第二の実施形態に係るジョブ履歴送信部がジョブ履歴を送信する際のフローチャート。 第三の実施形態に係るジョブ履歴処理サーバーのソフトウェア構成例を示すブロック図。 第三の実施形態に係るジョブ履歴送信部がジョブ履歴を送信する際のフローチャート。 第三の実施形態に係るジョブ履歴受信部が受信状況問合せを受信した際のフローチャート。 第三の実施形態に係るジョブ履歴受信部がジョブ履歴送信終了通知を受信した際のフローチャート。 第三の実施形態に係るジョブ履歴補完部が補完ジョブ履歴データ受信完了通知を受信した際のフローチャート。 第四の実施形態に係るジョブ履歴受信部の例外処理のフローチャート。 第四の実施形態に係るジョブ履歴補完部が補完ジョブ履歴データ受信中断通知を受信した際のフローチャート。 第四の実施形態に係るジョブ履歴送信部がジョブ履歴を送信する際のフローチャート。 第四の実施形態に係るジョブ履歴受信部が受信状況問合せを受信した際のフローチャート。 第四の実施形態に係るジョブ履歴処理サーバーが他のジョブ履歴処理サーバーから受信状況問合せを受けたときのケースを説明するための図。
以下、本発明を実施するための形態について図面を用いて説明する。
<第一の実施形態>
[システム構成]
本発明の第一の実施形態について説明する。図1は、本実施形態に係るジョブ履歴処理システム100およびそれと連携するシステム131の構成例を示す図である。本実施形態におけるジョブ履歴処理システム100において、画像形成装置である複数台のMFP101と、ジョブ履歴処理サーバー111とが接続されている。各機器の台数はこれに限らず、1台であっても良いし、さらに多くの台数があっても良い。
ジョブ履歴処理サーバー111は、MFP101で実行されたジョブ(コピー処理やプリント処理など)の実行記録であるジョブ履歴(ジョブ履歴情報)を受信し、必要に応じて、データの整形やログ画像の解像度変換などの処理を行う。そして、ジョブ履歴処理サーバー111は、行われた処理の結果を、連携するシステム131に提供して取り込ませる。ジョブ履歴処理システム100と連携するシステム131は、ジョブ履歴を監査するためのデータ保管や検索の機能を備えるものであることが一般的であるが、それに限定するものではない。つまり、システム131は、ジョブ履歴処理システム100と連携してジョブ履歴に関する処理を行うものであれば、どのようなものであっても構わない。
[ハードウェア構成]
(MFP)
図2は、MFP101のハードウェア構成例を示すブロック図である。コントローラーユニット200は、スキャナー222やプリンター223およびネットワークや公衆回線と接続して、画像データやデバイス情報の入出力を行う。
CPU201は、MFP101全体の制御を行う。RAM202は、CPU201が動作するためのワークメモリーであると共に、入力された画像データを一時記憶するための画像メモリーでもある。ROM203は、ブートROMであり、システムのブートプログラムが保存されている。HDD204は、システムソフトウェア、ジョブ履歴、ユーザーボックス内の画像データなどを保存するハードディスクドライブである。操作部I/F205は、操作部221とのインターフェース部であり、操作部221に表示する画面データを操作部221に対して出力する。
ネットワークI/F206は、LAN等のネットワークに接続し、情報の入出力を行う。モデム207は、公衆回線に接続し、画像データの入出力を行う。以上のデバイスが、コントローラーユニット200内において、システムバス208上に配置される。
イメージバスI/F209は、システムバス208と、画像データを高速で転送する画像バス210とを接続し、データ構造を変換するバスブリッジである。画像バス210上には、以下のデバイスが配置される。
RIP(Raster Image Processor)210は、PDL(Page Description Language)コードをビットマップイメージに展開する。デバイスI/F212は、画像入出力デバイスであるスキャナー222及びプリンター223と、コントローラーユニット200とを接続し、画像データの変換を行う。スキャナー画像処理部213は、入力画像データに対し補正、加工、編集等を行う。プリンター画像処理部214は、出力画像データに対して、プリンターの補正、解像度変換等を行う。画像回転部215は、画像データの回転を行う。画像圧縮部216は、画像データの圧縮伸長処理を行う。
(ジョブ履歴処理サーバー)
図3は、ジョブ履歴処理サーバー111のハードウェア構成例を示すブロック図である。CPU311を含む制御部310は、サーバー全体の動作を制御する。CPU311は、ROM312やHDD314に記憶された制御プログラムを読み出して、入力や出力といった各種制御処理や、演算処理を実行する。RAM313は、CPU311の主メモリー、ワークエリアなどの一時記憶領域として用いられる。HDD314は、ジョブ履歴や各種プログラムなどを記憶する。
操作入力I/F315は、接続されたキーボードやマウスなどの操作デバイス(不図示)からの信号入力を受け付ける。表示出力I/F316は、画面表示用のディスプレイ(不図示)等への信号出力を行う。ネットワークI/F317は、制御部310をネットワークに接続し、ネットワーク上の別の装置との情報の送受信を行う。なお、バス320は、制御部310内の各ブロックを通信可能に接続する。
[ソフトウェア構成]
(MFP)
図4は、本実施形態におけるMFP101のソフトウェア構成例を示すブロック図である。
ジョブ管理部401は、操作制御部402が受け付けたジョブやネットワークを介して受け付けたジョブの実行、ジョブ履歴のHDD204への記録、およびジョブのステータス管理などを行う。また、ジョブ管理部401は、ジョブの処理内容に応じて、ジョブ制御部403に対して指示を行う。操作制御部402は、操作部221が備える表示パネル(不図示)に操作用の画面を表示させたり、操作部221で行われる操作の入力情報を受け付け、必要に応じて他の機能部に情報を伝達したりする。なお、操作制御部402は、ネットワークを介した遠隔操作の制御も行う。
ジョブ制御部403は、ジョブ管理部401からの指示に従い、スキャナー222やプリンター223を動作させる。また、ジョブ制御部403は、スキャナー222やプリンター223のステータスをジョブ管理部401に通知する。ジョブ履歴送信部404は、予め設定された時間間隔でHDD204に記録されたジョブ履歴があるか否かを確認する。そして、ジョブ履歴がある場合には、ジョブ履歴送信部404は、ジョブ履歴を一つずつジョブ履歴処理サーバー111に送信する。
送信されるジョブ履歴のデータ構成例を図5に示す。ジョブ履歴500は一つのジョブ履歴を示し、ジョブ履歴属性情報501とページ属性510とページ画像520とから構成される。図5に示すジョブ履歴500は、5ページから構成されたジョブに対応している。各構成要素は別々のファイルで存在し、ページ属性510とページ画像520は更に、ページ毎に別々のファイルで存在する。ジョブ履歴属性情報501は、ジョブを実行したユーザー情報、実行日時、実行したMFPに関する情報(IPアドレス、MFPの識別番号など)、ジョブの種類(プリント、コピーなど)、ジョブで扱われた文書のページ数などを含む。ページ属性510は、各ページに対応した数だけあり、対応するページ画像の画像形式、サイズ、解像度、向きなどの情報が含まれる。ページ画像520は、各ページの印刷やスキャン画像を、監査用に記録したログ画像である。
ジョブ履歴送信部404は、一つのジョブ履歴を構成するデータの全てをジョブ履歴処理サーバー111に送信し終えた後、ジョブ履歴処理サーバー111から正常に受信が完了した旨の結果を受け取ると、HDD204から送信が完了したジョブ履歴を削除する。ジョブ履歴の削除後、まだ、HDD204にジョブ履歴がある場合には、ジョブ履歴送信部404は、引き続きジョブ履歴の送信を行う。ジョブ履歴がない場合には、ジョブ履歴送信部404は、予め設定された時間間隔で行われる次回のジョブ履歴の有無確認の機会まで待機する。また、ジョブ履歴の送信が途中でエラーとなった場合、ジョブ履歴送信部404は、送信途中のジョブ履歴を削除せず、後述するコネクションIDと関連付けて保持する。そして、ジョブ履歴送信部404は、予め設定された時間間隔で行われる次回のジョブ履歴の有無確認の機会まで待機する。
(ジョブ履歴処理サーバー)
図6は、ジョブ履歴処理サーバー111のソフトウェア構成例を示すブロック図である。
ジョブ履歴受信部601は、MFP101のジョブ履歴送信部404から送信されてくるジョブ履歴を構成するデータを順次受信し、HDD314のジョブ履歴処理用領域に保存する。ジョブ履歴を構成するデータの受信が全て完了すると、ジョブ履歴受信部601は、ジョブ履歴処理用領域に保存されたジョブ履歴を処理するように、ジョブ履歴処理部602に通知する。
ジョブ履歴処理部602は、ジョブ履歴に含まれるページ画像520に対し、OCR処理によるテキスト抽出や、画像形式変換および解像度変換などを行い、さらに、別々のファイルであったページ画像を、一つのログ画像ファイルに結合するなどの処理を行う。また、ジョブ履歴処理部602は、連携するシステム131に応じて、ページ画像のサムネイルを作成したり、属性情報を整形したりするなどしても良い。そして、ジョブ履歴処理部602は、処理したジョブ履歴をエクスポート領域にエクスポートする。エクスポート領域は、ジョブ履歴処理サーバー111内の記憶部であっても良いし、外部の記憶領域であっても良い。例えば、ジョブ履歴処理部602は、設定に応じて、処理したジョブ履歴を外部のシステムに送信するようにしても良い。ここでの外部のシステムとは例えばシステム131が該当する。
ジョブ履歴管理部603は、ジョブ履歴処理用領域にあるジョブ履歴において、ジョブ履歴を構成するデータの受信が全て完了していないもののうち、所定の保存期限を過ぎたものがあるか否か確認する。保存期限を過ぎたジョブ履歴がある場合、ジョブ履歴管理部603は、そのジョブ履歴を不完全なジョブ履歴として処理するように、ジョブ履歴処理部602に通知する。なお、不完全なジョブ履歴とは、言い換えると、データ送信の中断の結果、送信側において未送信のジョブ履歴が存在するジョブ履歴を指す。つまり、1のジョブ履歴が分割された状態となる。また、所定の保存期限は、予め設定され、管理されているものとする。
設定制御部604は、ジョブ履歴処理サーバー111に関する設定や各部の動作設定を管理する。また、設定制御部604は、表示用のディスプレイ(不図示)等を介して、システム管理者からの設定変更指示を受け付けたり、設定内容を表示したりする。
[処理フロー]
次に、MFP101からジョブ履歴処理サーバー111にジョブ履歴が送信される際の、MFP101とジョブ履歴処理サーバー111の動作について図7と図8を用いて説明する。
図7は、MFP101のジョブ履歴送信部404が、HDD204に記録されているジョブ履歴を一つ送信する際の処理手順を表すフローチャートである。図7のフローチャートに示す各ステップは、MFP101のCPU201が、ROM203またはHDD204に記憶されているジョブ履歴送信部404を実現するプログラムを読み出して実行することで実現される。また、CPU201は、必要に応じて記憶領域としてRAM202やHDD204を利用する。
また、図8は、ジョブ履歴処理サーバー111のジョブ履歴受信部601が、MFP101からの処理要求を受信した際の処理手順を表すフローチャートである。図8のフローチャートに示す各ステップは、ジョブ履歴処理サーバー111のCPU311がROM312またはHDD314に記憶されているジョブ履歴受信部601を実現するプログラムを読み出して実行することで実現される。また、CPU311は、必要に応じて記憶領域としてRAM313やHDD314を利用する。
以下、図7と図8の処理では主体が異なるため、各処理のタイミングを対応させながら説明する。
S701において、ジョブ履歴送信部404は、ジョブ履歴処理サーバー111のジョブ履歴受信部601に対し、ジョブ履歴送信予約の要求を行う。
S801において、ジョブ履歴送信予約の要求を受信すると(S801にてYES)、ジョブ履歴受信部601はS802に処理を進める。S802において、ジョブ履歴受信部601は、ジョブ履歴送信の同時接続数を確認する。この確認は、後述するジョブ履歴送信が許可されたコネクションIDがHDD314にある同時接続数管理領域にいくつ保存されているかを数えることによって行われる。また、同時接続数の最大値は予め設定されて設定制御部604にて管理されているものとする。現時点での同時接続数が予め設定された最大同時接続数未満である場合には(S802にてYES)、ジョブ履歴受信部601は処理をS803に進める。最大同時接続数以上である場合には(S802にてNO)、ジョブ履歴受信部601は処理をS805に進める。
S803において、ジョブ履歴受信部601は、ジョブ履歴送信用の接続を一意に識別するためのコネクションID(接続情報)を発行し、ジョブ履歴送信が許可されたコネクションIDとして、同時接続数管理領域に保存する。S804において、ジョブ履歴受信部601は、ジョブ履歴の送信許可に相当するジョブ履歴送信予約成功を、発行したコネクションIDと共にMFP101のジョブ履歴送信部404に応答する。一方、S805において、ジョブ履歴受信部601は、ジョブ履歴処理サーバー111が最大接続数に達しているためビジー状態である旨を、ジョブ履歴送信部404に応答する。
続いて、S702において、MFP101のジョブ履歴送信部404は、ジョブ履歴送信予約に対する応答の内容を判定する。応答の内容が「ジョブ履歴送信予約成功」であった場合には(S702にてYES)、ジョブ履歴送信部404は処理をS703に進める。応答の内容がビジー(すなわち、予約失敗)であった場合には(S702にてNO)、ジョブ履歴送信部404は、ジョブ履歴送信処理を終了し、次回のジョブ履歴有無確認の機会まで待機する。なお、ジョブ履歴送信部404は、次回のジョブ履歴有無確認の機会に重ならない程度に短い時間だけ待って、再度送信予約をするようにしても良く、それを数回繰り返すようにしても良い。この場合には、再処理間隔を予め設定しておいてもよい。また、所定時間内に応答が受信できなかったり、通信エラーが発生したりした場合にも、ジョブ履歴送信部404は、応答の内容がビジーであった場合(すなわち、予約失敗)と同様の処理にしても良い。
S703において、ジョブ履歴送信部404は、ジョブ履歴送信予約の応答に含まれるコネクションIDを、ジョブ履歴送信用のコネクションIDとして保持する。S704において、ジョブ履歴送信部404は、ジョブ履歴送信用のコネクションIDとは別に、送信未完のコネクションIDを記憶しているか否かを判定する。送信未完のコネクションIDについては後述する。送信未完のコネクションIDを記憶している場合には(S704にてYES)、ジョブ履歴送信部404は、処理をS721に進める。記憶していない場合には(S704にてNO)、ジョブ履歴送信部404は、処理をS705に進める。
S705において、ジョブ履歴送信部404は、送信対象であるジョブ履歴500のジョブ履歴属性情報501を、ジョブ履歴受信部601に送信する。S706において、ジョブ履歴送信部404は、ジョブ履歴500に、ページ画像520が含まれるか否かを判定する。ページ画像520がある場合には(S706にてYES)、ジョブ履歴送信部404は、処理をS707に進める。ページ画像520がない場合には(S706にてNO)、ジョブ履歴送信部404は、処理をS710に進める。
S707において、ジョブ履歴送信部404は、ジョブ履歴500に含まれる各ページに対する繰り返し処理(S708〜S709)を制御する。具体的には、ジョブ履歴送信部404は、繰り返し処理の対象とするページ番号を、1から順にページのデータがなくなるまで1ずつ増やしながら、S708〜S709の処理を繰り返し行う。S708において、ジョブ履歴送信部404は、処理対象のページ番号のページ属性をジョブ履歴受信部601に送信する。S709において、ジョブ履歴送信部404は、処理対象のページ番号のページ画像を、ジョブ履歴受信部601に送信する。全ページに対し、S708〜S709の処理が終わると、ジョブ履歴送信部404は、処理をS710に進める。
なお、S705のジョブ履歴属性情報送信、S708のページ属性送信、およびS709のページ画像送信により、ジョブ履歴データの送信が行われる。ジョブ履歴データの送信では、ジョブ履歴処理サーバー111に許可された正当な送信であることを示すために、ジョブ履歴送信用のコネクションIDが各データと共にジョブ履歴受信部601へ送信される。また、ジョブ履歴送信用のコネクションIDは、送信されたジョブ履歴データが同一のジョブ履歴であることを、ジョブ履歴処理サーバー111が識別するためにも用いられる。
なお、これらの送信処理において、コネクションID不正の応答を受信するか、もしくは何らかのエラーが発生して通信の続行ができなくなった場合、ジョブ履歴送信部404は、処理をS713に進めるものとする。この結果、ジョブ履歴処理サーバー111に受信されたジョブ履歴においてジョブ履歴を構成するデータのうちの一部のジョブ履歴データしか含まない状態になる場合がある。このとき、ジョブ履歴処理サーバー111が保持する一部のジョブ履歴データしか含まないジョブ履歴のことを「不完全ジョブ履歴」と呼ぶ。
続いて、ジョブ履歴処理サーバー111のジョブ履歴受信部601は、MFP101からジョブ履歴データを受信すると(S801にてNO、かつS811にてYES)、処理をS812に進める。S812において、ジョブ履歴受信部601は、ジョブ履歴データと共に送信されてきたジョブ履歴送信用のコネクションIDが、ジョブ履歴送信が許可されているコネクションIDか否かを判定する。ここでの許可されているコネクションIDか否かは、同時接続数管理領域に保存されているか否かで判定できる。許可されているコネクションIDである場合(S812にてYES)、ジョブ履歴受信部601は、処理をS813に進める。許可されていないコネクションIDである場合(S812にてNO)、ジョブ履歴受信部601は、処理をS814に進める。
S813において、ジョブ履歴受信部601は、ジョブ履歴データを受信して、ジョブ履歴データと共に受信したジョブ履歴送信用のコネクションIDに関連付けてジョブ履歴処理用領域に保存する。ここで、受信したジョブ履歴送信用のコネクションIDに関連付くステータス情報ファイルがない場合、ジョブ履歴受信部601は、受信したジョブ履歴送信用のコネクションIDに関連付けて、「ジョブ履歴受信中」を示すステータス情報ファイルを新たに作成する。S814において、ジョブ履歴受信部601は、受信したジョブ履歴送信用のコネクションIDが不正である旨を、ジョブ履歴送信部404に応答する。
続いて、S710において、MFP101のジョブ履歴送信部404は、ジョブ履歴送信終了通知を、ジョブ履歴受信部601に送信する。本工程においても、ジョブ履歴送信用のコネクションIDが共にジョブ履歴受信部601へ送信される。
続いて、ジョブ履歴処理サーバー111のジョブ履歴受信部601は、MFP101からジョブ履歴送信終了通知を受信すると(S801およびS811にてNO、かつS821にてYES)、処理をS822に進める。S822において、ジョブ履歴受信部601は、ジョブ履歴送信終了通知と共に送信されてきたジョブ履歴送信用のコネクションIDが、ジョブ履歴送信が許可されているコネクションIDか否かを判定する。許可されているコネクションIDである場合(S822にてYES)、ジョブ履歴受信部601は、処理をS823に進める。許可されていないコネクションIDである場合(S822にてNO)、ジョブ履歴受信部601は、処理をS814に進める。
S823において、ジョブ履歴受信部601は、同時接続数管理領域から、ジョブ履歴送信終了通知と共に受信したジョブ履歴送信用のコネクションIDを削除する。S824において、ジョブ履歴受信部601は、受信したジョブ履歴送信用のコネクションIDに関連付いたジョブ履歴データに欠落があるか否かを判定する。具体的には、ジョブ履歴処理用領域に保存されている対象のジョブ履歴に関し、ジョブ履歴属性情報501があるか否かを判定する。そして、ジョブ履歴属性情報501がある場合には、そこに記載されているページ数分のページ属性とページ画像の対を受信しているか否かを判定する。欠落しているデータがない場合には(S824にてNO)、ジョブ履歴受信部601は、処理をS825に進める。欠落しているデータがある場合には(S824にてYES)、ジョブ履歴受信部601は、処理をS827に進める。
S825において、ジョブ履歴受信部601は、受信したジョブ履歴送信用のコネクションIDに関連付いたジョブ履歴の受信が完了し、ジョブ履歴処理が可能となったことを、そのコネクションIDと共にジョブ履歴処理部602に通知する。この通知を、「通常ジョブ履歴処理依頼」と称する。また、ジョブ履歴受信部601は、このジョブ履歴のコネクションIDに関連付いたステータス情報ファイルを、ジョブ履歴受信完了を示すように更新する。S826において、ジョブ履歴受信部601は、ジョブ履歴受信完了を送信元に応答する。S827において、ジョブ履歴受信部601は、ジョブ履歴受信エラーをジョブ履歴送信部404に応答する。
続いて、S711において、MFP101のジョブ履歴送信部404は、ジョブ履歴送信終了通知に対する応答を判定する。応答の内容がジョブ履歴受信完了である場合には(S711にてYES)、ジョブ履歴送信部404は、処理をS712に進める。ジョブ履歴受信エラーである場合には(S711にてNO)、ジョブ履歴送信部404は、処理をS713に進める。
S712において、ジョブ履歴送信部404は、送信が完了したジョブ履歴を削除する。このとき、削除するジョブ履歴に関連付いた送信未完のコネクションIDを記憶している場合、ジョブ履歴送信部404は、そのコネクションIDも削除する。S713において、ジョブ履歴送信部404は、送信していたジョブ履歴がジョブ履歴処理サーバー111側で受信完了しなかったと判断し、ジョブ履歴送信用のコネクションIDを送信未完のコネクションIDとして、送信していたジョブ履歴に関連付けて保存する。S714において、ジョブ履歴送信部404は、保持しているジョブ履歴送信用のコネクションIDを破棄し、ジョブ履歴送信の処理を終了する。
S713にて送信未完のコネクションIDを記憶している場合、次回のジョブ履歴送信時には、S704にてYESとなり、ジョブ履歴送信部404は、処理をS721に進める。S721において、ジョブ履歴送信部404は、送信未完のコネクションIDで送信していたジョブ履歴のジョブ履歴処理サーバー111における受信状況を問合せるための処理要求を、ジョブ履歴受信部601に送信する。問合せにおいて、送信未完のコネクションIDとジョブ履歴送信用のコネクションIDとが一緒に送信される。
続いて、ジョブ履歴処理サーバー111のジョブ履歴受信部601は、ジョブ履歴の受信状況問合せを受信すると(S801、S811、およびS821にてNO、かつS831にてYES)、処理をS832に進める。なお、通常は発生しないが、例えば、何らかの障害が発生した場合などにより、S831の判定もNOとなる場合、ジョブ履歴受信部601は、S841において、処理要求元に対しリクエストエラーを応答する。
S832において、ジョブ履歴受信部601は、受信状況の問合せと共に送信されてきたジョブ履歴送信用のコネクションIDが、ジョブ履歴の送信を許可されているコネクションIDか否かを判定する。許可されているコネクションIDである場合(S832にてYES)、ジョブ履歴受信部601は、処理をS833に進める。許可されていないコネクションIDである場合(S832にてNO)、ジョブ履歴受信部601は、処理をS814に進める。
S833において、ジョブ履歴受信部601は、受信した問い合わせに基づき、同時接続数管理領域に保存されている、受信したジョブ履歴送信用のコネクションIDを、受信した送信未完のコネクションIDに変更する。これにより、送信未完のコネクションIDは、同時接続数管理領域に登録され、ジョブ履歴の送信が許可されたコネクションIDとなる。
S834において、ジョブ履歴受信部601は、受信した送信未完のコネクションIDに関連付いているジョブ履歴について、どのジョブ履歴データがジョブ履歴処理用領域に保存されているかを確認し、その確認結果を応答する。確認結果の内容は、例えば、「ジョブ履歴属性情報501、1ページ目のページ属性とページ画像、2ページ目のページ属性」となる。なお、送信未完のコネクションIDに関連付いているジョブ履歴のデータがジョブ履歴処理用領域に保存されていない場合には、確認結果の内容は、「受信済みデータなし」となる。
続いて、S722において、MFP101のジョブ履歴送信部404は、記憶していた送信未完のコネクションIDを、新たなジョブ履歴送信用のコネクションIDとして保持する。これにより、ジョブ履歴送信部404がこれ以降に行うジョブ履歴データの送信やジョブ履歴送信終了通知が、ジョブ履歴処理サーバー111が保持する不完全ジョブ履歴に関するものであると識別可能となる。
S723において、ジョブ履歴送信部404は、受信状況問合せに対する応答の内容を判定する。応答の内容と、送信未完のコネクションIDに関連付いたジョブ履歴から、ジョブ履歴処理サーバー111が未受信のジョブ履歴データがあると判定される場合には(S723にてYES)、ジョブ履歴送信部404は、処理をS724に進める。未受信のジョブ履歴データが無いと判定される場合には(S723にてNO)、ジョブ履歴送信終了通知が受信されていない状況であるため、ジョブ履歴送信部404は、処理をS710に進める。
S724において、ジョブ履歴送信部404は、受信状況問合せに対する応答の内容から、ジョブ履歴処理サーバー111が未受信のジョブ履歴データを、送信未完のコネクションIDに関連付いたジョブ履歴の中から送信する。このときの送信の詳細は、S705〜S709と同様な手順で、ジョブ履歴処理サーバー111が未受信のジョブ履歴データだけをジョブ履歴送信用のコネクションIDと共に送信する。この、ジョブ履歴処理サーバー111にある不完全ジョブ履歴を補完するために送信されるジョブ履歴データを、「補完ジョブ履歴データ」と呼ぶ。つまり、「補完ジョブ履歴データ」は、ジョブ履歴のうちのジョブ履歴処理サーバー111が受信していなかった残りの分のジョブ履歴データとなる。
(不完全ジョブ履歴判定処理)
次に、ジョブ履歴処理サーバー111のジョブ履歴管理部603が、不完全ジョブ履歴の保存期限を判定する際の動作について、図9のフローチャートを用いて説明する。図9のフローチャートに示す各ステップは、ジョブ履歴処理サーバー111のCPU311がROM312またはHDD314に記憶されているジョブ履歴管理部603を実現するプログラムを読み出して実行することで実現される。また、CPU311は、必要に応じて記憶領域としてRAM313やHDD314を利用する。なお、不完全ジョブ履歴の判定処理は、予め設定された時間間隔で行われるものとする。ここでの時間間隔は例えば、設定制御部604にて管理されているものとする。
S901において、ジョブ履歴管理部603は、ジョブ履歴処理用領域にあるジョブ履歴に関連付けられているコネクションIDの一覧を取得する。S902において、ジョブ履歴管理部603は、一覧にコネクションIDがあるか否かを判定する。コネクションIDがある場合には(S902にてYES)、ジョブ履歴管理部603は、処理をS903に進める。コネクションIDがない場合には(S902にてNO)、ジョブ履歴管理部603は、不完全ジョブ履歴の判定処理を終了する。
S903において、ジョブ履歴管理部603は、一覧からコネクションIDを一つ選択する。S904において、ジョブ履歴管理部603は、選択したコネクションIDのステータス情報ファイルを確認し、ステータスが「ジョブ履歴受信中」か否かを判定する。ジョブ履歴受信中である場合には(S904にてYES)、ジョブ履歴管理部603は、処理をS905に進める。ジョブ履歴受信中でない場合には(S904にてNO)、ジョブ履歴管理部603は、処理をS908に進める。
S905において、ジョブ履歴管理部603は、選択したコネクションIDに関連付くジョブ履歴データの内、最後に受信されたデータの保存日時を取得する。S906において、ジョブ履歴管理部603は、S905で取得した日時に基づき、選択したコネクションIDに関連付いたジョブ履歴の保存期限が、予め設定された保存期限を経過したか否かを判定する。ここでの保存期間は例えば、設定制御部604にて管理されているものとする。保存期限を過ぎている場合(S906にてYES)、ジョブ履歴管理部603は、処理をS907に進める。保存期限を過ぎていない場合(S906にてNO)、ジョブ履歴管理部603は、処理をS908に進める。
S907において、ジョブ履歴管理部603は、選択したコネクションIDに関連付いたジョブ履歴を、不完全ジョブ履歴として処理するように、コネクションIDと共にジョブ履歴処理部602に通知する。この通知を「不完全ジョブ履歴処理依頼」とする。S908において、ジョブ履歴管理部603は、選択したコネクションIDを、S901で取得した一覧から削除し、処理をS902に進める。
(ジョブ履歴処理)
次に、ジョブ履歴処理サーバー111のジョブ履歴処理部602が、他の処理部からジョブ履歴に対する処理依頼を受け取ったときの動作について、図10のフローチャートを用いて説明する。図10のフローチャートに示す各ステップは、ジョブ履歴処理サーバー111のCPU311がROM312またはHDD314に記憶されているジョブ履歴処理部602を実現するプログラムを読み出して実行することで実現される。また、CPU311は、必要に応じて記憶領域としてRAM313やHDD314を利用する。
S1001において、ジョブ履歴処理部602は、他の処理部から受け取った依頼が、不完全ジョブ履歴処理依頼か否かを判定する。不完全ジョブ履歴処理依頼でない場合には(S1001にてNO)、ジョブ履歴処理部602は、処理をS1002に進める。不完全ジョブ履歴処理依頼である場合には(S1001にてYES)、ジョブ履歴処理部602は、処理をS1004に進める。
S1002において、ジョブ履歴処理部602は、S1001で受け取った処理依頼に含まれるコネクションIDに関連付いたステータス情報ファイルを、「ジョブ履歴処理中」である旨を示すように更新する。S1003において、ジョブ履歴処理部602は、通常のジョブ履歴処理を、処理依頼に含まれるコネクションIDに関連付いたジョブ履歴に対し実行する。この処理の詳細の説明は省略するが、必要に応じて、ジョブ履歴処理サーバー111は、ジョブ履歴属性情報の整形、ページ画像の集約、変換などを行う。
S1004において、ジョブ履歴処理部602は、S1001で受け取った処理依頼に含まれるコネクションIDに関連付いたステータス情報ファイルを、「不完全ジョブ履歴処理中」である旨を示すように更新する。S1005において、ジョブ履歴処理部602は、不完全なジョブ履歴に対する処理を、処理依頼に含まれるコネクションIDに関連付いたジョブ履歴に対し実行する。ここでの処理は、基本的にはS1003と同様である。しかし、対象となるジョブ履歴がジョブ履歴属性情報もしくはページ画像に欠落が生じたジョブ履歴であるため、ジョブ履歴処理部602は、ジョブ履歴属性情報の中に不完全なジョブ履歴であることを示す情報を追加する。
S1006において、ジョブ履歴処理部602は、ジョブ履歴処理が完了したジョブ履歴を、外部システムに取り込ませるために、予め設定されたエクスポート領域にエクスポートする。S1007において、ジョブ履歴処理部602は、エクスポートが完了したジョブ履歴を、ジョブ履歴処理用領域から削除する。
以上、第一の実施形態では、ジョブ履歴処理サーバー111におけるジョブ履歴受信が途絶え、再度受信が可能となった際に、不足しているジョブ履歴データのみを受信して、処理することができる。また、不足しているジョブ履歴データが送られて来ない場合には、途中まで受信していたジョブ履歴を、不完全なジョブ履歴として処理することが可能である。これにより、ジョブ履歴の保全性向上と、補完送信の効率改善が可能となる。
なお、ジョブ履歴管理部603の不完全ジョブ履歴の保存期限の判断であるが、ジョブ履歴受信状況の問合せを受けた際に、その保存期限を延ばすようにしても良い。例えば、ステータス情報ファイルに、最後に受信したジョブ履歴データの保存日時を持たせておき、ジョブ履歴受信状況の問合せを受けたときに、ステータス情報ファイルが有する日時情報を更新することで実現できる。
<第二の実施形態>
次に本発明の第二の実施形態について説明する。本実施形態は、主に、MFPの台数が多く、複数のジョブ履歴処理サーバーを必要とする環境に対応するものである。なお、第一の実施形態と重複する部分の説明は省略し、差分のみを説明することとする。
[システム構成]
図11は、本実施形態におけるジョブ履歴処理システム100およびそれと連携するシステム131の構成例を示す図である。本実施形態におけるジョブ履歴処理システム100は、複数台のMFP101と、複数台のジョブ履歴処理サーバー111とが、負荷分散装置151を介して接続されている。
負荷分散装置151は、MFP101からジョブ履歴処理サーバー111に対する接続を振り分け、複数のジョブ履歴処理サーバー111間で負荷が分散されるようにする。つまり、接続を振り分けることで、ジョブ履歴の格納先を振り分けることができる。本実施形態においては、負荷分散装置151は、OSI参照モデルのアプリケーション層の情報を参照して接続先を判断するパーシステンス機能を備える。そして、システム構築の際、MFP101からの通信に、ジョブ履歴処理サーバー111を識別するためのサーバーIDが含まれる場合には、サーバーIDによって特定されるジョブ履歴処理サーバー111に、通信を振り分ける設定がされているものとする。
次に、本実施形態におけるジョブ履歴処理サーバー111について説明する。本実施形態におけるジョブ履歴処理サーバー111は、自身の設定値として、複数のサーバーそれぞれを一意に識別するためのサーバーID(識別情報)を有する。サーバーIDは、システム管理者からの入力を受け付け、設定制御部604により予め設定される。設定制御部604が、ジョブ履歴処理サーバー111が動作するハードウェア固有の情報や、IPアドレス、MACアドレスなどからサーバーIDを自動的に生成するようにしても良い。
次に、ジョブ履歴処理サーバー111のジョブ履歴受信部601の動作について説明する。図8のS803において、ジョブ履歴受信部601は、サーバーIDを含むコネクションIDを発行し、ジョブ履歴送信が許可されたコネクションIDとして、同時接続数管理領域に保存する。これにより、S804において、MFP101にサーバーIDを含むコネクションIDが、ジョブ履歴送信予約成功の応答と共に送信される。
[処理フロー]
次に、本実施形態におけるMFP101のジョブ履歴送信部404について、図12のフローチャートを用いて説明する。図12のフローチャートに示す各ステップは、MFP101のCPU201が、ROM203またはHDD204に記憶されているジョブ履歴送信部404を実現するプログラムを読み出して実行することで実現される。また、CPU201は、必要に応じて記憶領域としてRAM202やHDD204を利用する。なお、図12において、図7と同様の処理内容のステップについては説明を省略する。
S1201では、ジョブ履歴送信部404は、S704と同様の判定を行う。送信未完のコネクションIDを記憶している場合には(S1201にてYES)、ジョブ履歴送信部404は、処理をS1221に進める。記憶していない場合には(S1201にてNO)、ジョブ履歴送信部404は、処理をS1202に進める。S1202〜S1204の処理はそれぞれ、S701〜S703の処理と同様である。ただし、S1202のジョブ履歴送信予約は、負荷分散装置151の働きによって、異なるジョブ履歴処理サーバー111に対して行われることがあるため、成功しない場合には所定の回数を上限として複数回リトライするようにしても良い。
S1205〜S1209の処理はそれぞれ、S705〜S709の処理と、基本的には同様である。ただし、S1205、S1208、S1209において、ジョブ履歴送信部404は、ジョブ履歴送信用のコネクションIDから送付先のサーバーIDを取り出し、負荷分散装置151が識別できるように送信情報に含める。サーバーIDの含め方は、負荷分散装置151が識別できる形式であれば良く、URLパラメーターに含めても良いし、Cookieとして持たせても良い。これらのステップは、ジョブ履歴データの送信であるが、負荷分散装置151が識別できるようにサーバーIDを含めて送信することにより、ジョブ履歴を構成する各ジョブ履歴データが異なるジョブ履歴処理サーバー111に分散されないようにする。
S1210の処理は、S710の処理とほぼ同様であるが、ここでも、S1205などと同様に、ジョブ履歴送信部404は、サーバーIDを含めて送信する。これにより、ジョブ履歴データを送信したジョブ履歴処理サーバー111に対して、ジョブ履歴送信終了通知が送信されるようにする。S1211〜S1214の処理はそれぞれ、S711〜S714の処理と同様である。
S1221では、ジョブ履歴送信部404は、記憶している送信未完のコネクションIDから送付先のサーバーIDを取り出し、S1205などと同様に、送信情報に含めてジョブ履歴送信予約の要求を行う。これにより、記憶している送信未完のコネクションIDに関連付いた不完全ジョブ履歴を保持するジョブ履歴処理サーバー111に対して、ジョブ履歴送信予約を行うことができる。S1222とS1223の処理はそれぞれ、S1203とS1204と同様である。
S1224の処理は、S721の処理とほぼ同様であるが、S1205などと同様に、ジョブ履歴送信部404は、ジョブ履歴送信用のコネクションIDから取り出したサーバーIDを含めて送信する。これにより、記憶している送信未完のコネクションIDに関連付いた不完全ジョブ履歴を保持し、且つ、ジョブ履歴送信を予約したジョブ履歴処理サーバー111に対し、不完全ジョブ履歴の受信状況を問合せることができる。
S1225〜S1227の処理は、S722〜S724の処理と基本的には同様である。ただし、S1227においては、S1205などと同様に、ジョブ履歴送信部404は、ジョブ履歴送信用のコネクションIDから取り出したサーバーIDを含めて送信する。これにより、補完ジョブ履歴データを、それに対応する不完全ジョブ履歴を保持するジョブ履歴処理サーバー111に送信することができる。
以上、第二の実施形態では、ジョブ履歴処理サーバー111が複数台あって、高機能な負荷分散装置151によって負荷分散される構成においても、ジョブ履歴処理サーバー111が未受信のジョブ履歴データのみを効率的に受信して補完することができる。
<第三の実施形態>
次に本発明の第三の実施形態について説明する。本実施形態では、第二の実施形態の図12のS1222にてジョブ履歴送信予約が失敗した場合に、ジョブ履歴処理サーバー111を特定せずに、ジョブ履歴処理サーバー111に受信されていないジョブ履歴データを送信する。なお、第二の実施形態と重複する部分の説明は省略し、差分のみを説明する。
[ソフトウェア構成]
本実施形態に係るジョブ履歴処理サーバー111のソフトウェア構成例を示すブロック図を図13に示す。図13は、ジョブ履歴補完部605が加わっている点が図6と異なる。ジョブ履歴補完部605は、異なるジョブ履歴処理サーバー111が保持する不完全ジョブ履歴を取得するか、異なるジョブ履歴処理サーバー111に自身が保持する補完ジョブ履歴データを送信する。これにより、ジョブ履歴補完部605は、分散して保持されている不完全ジョブ履歴をいずれかのジョブ履歴処理サーバー111に、ジョブ履歴データを集約する。
また、本実施形態のジョブ履歴処理サーバー111は、自身のサーバーIDの他に、別のジョブ履歴処理サーバー111のサーバーIDと、それらにアクセスするためのアドレス情報とを対応付けて保持する。別のジョブ履歴処理サーバー111の情報については、システム管理者からの入力を受け付け、設定制御部604が予め設定するものとする。または、アドレス情報のみをシステム管理者に入力させ、サーバーIDは、ジョブ履歴処理サーバー111それぞれから取得するようにしても良い。
[処理フロー]
本実施形態におけるMFP101のジョブ履歴送信部404について、図14のフローチャートを用いて説明する。図14のフローチャートに示す各ステップは、MFP101のCPU201が、ROM203またはHDD204に記憶されているジョブ履歴送信部404を実現するプログラムを読み出して実行することで実現される。また、CPU201は、必要に応じて記憶領域としてRAM202やHDD204を利用する。なお、図14は、図12のフローチャートに対し、S1222の判定がNOの場合に、S1431〜S1434の処理が加わっている点が異なる。それ以外のステップについては、図12と処理内容が同じため、図12と同一の符号を付し、その説明は省略する。
S1431において、ジョブ履歴送信部404は、S1202と同様に、ジョブ履歴送信予約を行う。ただし、S1431のジョブ履歴送信予約は、負荷分散装置151の働きによって、異なるジョブ履歴処理サーバー111に対して行われることがあるため、成功しない場合には、複数回リトライするようにしても良い。
S1432において、ジョブ履歴送信部404は、S702と同様に、ジョブ履歴送信予約に対する応答の内容を判定する。応答の内容が「ジョブ履歴送信予約成功」である場合には(S1432にてYES)、ジョブ履歴送信部404は、処理をS1433に進める。応答の内容がビジー(すなわち、予約失敗)である場合には(S1432にてNO)、ジョブ履歴送信部404は、ジョブ履歴送信処理を終了し、次回のジョブ履歴有無確認の機会まで待機する。
S1433において、ジョブ履歴送信部404は、S703と同様に、ジョブ履歴送信予約の応答に含まれるコネクションIDを、ジョブ履歴送信用のコネクションIDとして保持する。
S1434において、ジョブ履歴送信部404は、送信未完のコネクションIDに関連付いた不完全ジョブ履歴の受信状況を問合せる処理要求を送信する。問合せにおいて、送信未完のコネクションIDとジョブ履歴送信用のコネクションIDとが一緒に送信される。さらに、S1434においては、ジョブ履歴送信部404は、S1205などと同様に、ジョブ履歴送信用のコネクションIDから取り出したサーバーIDをジョブ履歴属性情報に含めて、送信する。これにより、ジョブ履歴送信を予約したジョブ履歴処理サーバー111に対し、不完全ジョブ履歴の受信状況を問合せる処理要求を送信することができる。
(受信状況問い合わせの受信時の処理)
次に、ジョブ履歴処理サーバー111のジョブ履歴受信部601の処理について、図15のフローチャートを用いて説明する。図15のフローチャートに示す各ステップは、ジョブ履歴処理サーバー111のCPU311がROM312またはHDD314に記憶されているジョブ履歴受信部601を実現するプログラムを読み出して実行することで実現される。また、CPU311は、必要に応じて記憶領域としてRAM313やHDD314を利用する。
図15は、ジョブ履歴受信部601が、MFP101のジョブ履歴送信部404から受信状況問合せを受信したときの処理のみを表しており、具体的には、図8のS832〜S834に置き換わる処理である。図15において、図8と同様の処理内容のステップについては説明を省略する。
S1501において、ジョブ履歴受信部601は、S832と同様の判定を行う。受信したジョブ履歴送信用のコネクションIDが、ジョブ履歴送信が許可されているコネクションIDである場合(S1501にてYES)、ジョブ履歴受信部601は、処理をS1502に進める。許可されていないコネクションIDである場合(S1501にてNO)、ジョブ履歴受信部601は、処理をS1521に進める。
S1502において、ジョブ履歴受信部601は、受信状況問合せにて取得した送信未完のコネクションIDに含まれるサーバーIDが、自身のサーバーIDか否かを判定する。自身のサーバーIDである場合には(S1502にてYES)、ジョブ履歴受信部601は、処理をS1503に進める。自身のサーバーIDでない場合には(S1502にてNO)、ジョブ履歴受信部601は、処理をS1511に進める。
S1503およびS1504はそれぞれ、S833およびS834と同様の処理であるため、説明は省略する。
S1511において、ジョブ履歴受信部601は、送信未完のコネクションIDに含まれるサーバーIDに対応するジョブ履歴処理サーバー111に、受信状況問合せを行う。このとき、ジョブ履歴受信部601は、問合せに、送信未完のコネクションIDと、自身のサーバーIDとを含める。なお、別のジョブ履歴処理サーバー111への受信状況の問合せは、問合せ先のジョブ履歴処理サーバー111の同時接続数に影響されずに処理されるものとする。問合せを受けたジョブ履歴処理サーバー111は、基本的に、S834と同様の処理を行う。ただし、ジョブ履歴属性情報501がある場合、問合せを受けたジョブ履歴処理サーバー111は、ジョブ履歴が全体で何ページあるかの情報も併せて、問合せ元のジョブ履歴処理サーバー111に応答する。
S1512において、ジョブ履歴受信部601は、取得した不完全ジョブ履歴の受信状況と送信未完のコネクションIDとを、ジョブ履歴送信用のコネクションIDに関連付けてジョブ履歴処理用領域に保存する。S1513において、ジョブ履歴受信部601は、取得した不完全ジョブ履歴の受信状況をジョブ履歴送信部404に応答する。
S1521は、S814と同様の処理であり、ジョブ履歴受信部601は、ジョブ履歴送信用のコネクションIDが不正である旨をジョブ履歴送信部404に応答する。
以上、S1434における受信状況問合せを受信したジョブ履歴処理サーバー111は、問い合わされた不完全ジョブ履歴を保持するジョブ履歴処理サーバー111に対して問合せを行い、その受信状況を取得する。そして、S1434の受信状況問合せを受信したジョブ履歴処理サーバー111は、S1434の受信状況問合せに応答することができる。これにより、S1434の受信状況問合せを受信したジョブ履歴処理サーバー111が、補完ジョブ履歴データとそれに対応するジョブ履歴送信終了通知とを受信することになる。
(ジョブ履歴送信終了通知の受信時の処理)
図16に、MFP101のジョブ履歴送信部404からジョブ履歴送信終了通知を受信した際の、ジョブ履歴受信部601の処理フローを示す。図16のフローチャートに示す各ステップは、ジョブ履歴処理サーバー111のCPU311がROM312またはHDD314に記憶されているジョブ履歴受信部601を実現するプログラムを読み出して実行することで実現される。また、CPU311は、必要に応じて記憶領域としてRAM313やHDD314を利用する。
図16は、ジョブ履歴受信部601が、MFP101のジョブ履歴送信部404から、ジョブ履歴送信終了通知を受信したときの処理のみを表しており、具体的には、図8のS822〜S827に置き換わる処理である。図16において、図8と同様の処理内容のステップについては説明を省略する。
S1601において、ジョブ履歴受信部601は、S822と同様の判定を行う。受信したジョブ履歴送信用のコネクションIDが、ジョブ履歴送信が許可されているコネクションIDである場合(S1601にてYES)、ジョブ履歴受信部601は、処理をS1602に進める。許可されていないコネクションIDである場合(S1601にてNO)、ジョブ履歴受信部601は、処理をS1621に進める。S1602は、S823と同様の処理であるため、説明は省略する。
S1603において、ジョブ履歴受信部601は、受信したジョブ履歴送信用のコネクションIDに関連付く送信未完のコネクションIDがジョブ履歴処理用領域に保存されているか否かを判定する。送信未完のコネクションIDが保存されていない場合(S1603にてNO)、ジョブ履歴受信部601は、処理をS1604に進める。保存されている場合(S1603にてYES)、ジョブ履歴受信部601は、処理をS1611に進める。なお、送信未完のコネクションIDが保存されている場合、受信したジョブ履歴送信終了通知が、別のジョブ履歴処理サーバー111が保持する不完全ジョブ履歴の補完ジョブ履歴データに対応するものであることとなる。
S1604は、S824と同様の判定を行うため、説明は省略する。S1605〜S1607はそれぞれ、S825〜S827と同様の処理であるため、説明は省略する。
S1611において、ジョブ履歴受信部601は、受信したジョブ履歴送信用のコネクションIDに関連付く補完ジョブ履歴データに欠落があるか否かを判定する。詳細には、ジョブ履歴処理用領域に保存されている対象のジョブ履歴に関し、ジョブ履歴処理用領域に保存されている受信状況の内容に基づいて、受信すべきデータが全て受信されているか否かを判定する。欠落しているデータがない場合には(S1611にてNO)、ジョブ履歴受信部601は、処理をS1612に進める。欠落しているデータがある場合には(S1611にてYES)、ジョブ履歴受信部601は、処理をS1607に進める。
S1612において、ジョブ履歴受信部601は、補完ジョブ履歴データ受信完了を、関連付けられているジョブ履歴送信用のコネクションIDと共にジョブ履歴補完部605に通知する。また、このとき、ジョブ履歴受信部601は、ジョブ履歴送信用のコネクションIDに関連付いたステータス情報ファイルを「補完ジョブ履歴データ受信完了」を示すように更新し、処理をS1606に進める。S1621は、S814と同様の処理であるため、説明は省略する。
(補完ジョブ履歴データ受信完了通知の受信時の処理)
次に、補完ジョブ履歴データ受信完了通知を受信した際の、ジョブ履歴補完部605の処理を、図17のフローチャートを用いて説明する。図17のフローチャートに示す各ステップは、ジョブ履歴処理サーバー111のCPU311がROM312またはHDD314に記憶されているジョブ履歴補完部605を実現するプログラムを読み出して実行することで実現される。また、CPU311は、必要に応じて記憶領域としてRAM313やHDD314を利用する。
S1701において、ジョブ履歴補完部605は、補完対象の不完全ジョブ履歴を保持するジョブ履歴処理サーバー111が受信しているページ画像数よりも、自身が受信しているページ画像数の方が多いか否かを判定する。ここでの判定は、S1612の通知と共に送られてきたコネクションIDに関連付いた、ジョブ履歴処理用領域に保存されている受信状況と補完ジョブ履歴データとに基づいて行われる。自身が受信しているページ画像数の方がより多い場合には(S1701にてYES)、ジョブ履歴補完部605は、処理をS1702に進める。自身以外の方がより多くのページ画像を受信している場合には(S1701にてNO)、ジョブ履歴補完部605は、処理をS1711に進める。
S1702において、ジョブ履歴補完部605は、送られてきたコネクションIDに関連付けて保存されている送信未完のコネクションIDに含まれるサーバーIDを取得する。そして、ジョブ履歴補完部605は、取得したサーバーIDに対応するジョブ履歴処理サーバー111のジョブ履歴受信部601に対し、送信未完のコネクションIDに関連付くジョブ履歴データの取得要求を行う。
これは、つまり、1のジョブ履歴が複数のジョブ履歴処理サーバー111に分割して保持されている場合に、補完ジョブ履歴データに対応する不完全ジョブ履歴を保持する別のジョブ履歴処理サーバー111から、その不完全ジョブ履歴を取得して集約している。そして、取得要求先のジョブ履歴受信部601は、送信未完のコネクションIDに関連付く不完全ジョブ履歴を、要求元のジョブ履歴補完部605への応答として返し、応答後、不完全ジョブ履歴をジョブ履歴処理用領域から削除する。S1703は、ジョブ履歴受信部601がS825において行う処理と同様の処理であるため、説明は省略する。
S1711において、ジョブ履歴補完部605は、送られてきたコネクションIDに関連付けられて保存されている送信未完のコネクションIDに含まれるサーバーIDを取得する。そして、ジョブ履歴補完部605は、取得したサーバーIDに対応するジョブ履歴処理サーバー111のジョブ履歴受信部601に対し、補完ジョブ履歴データを送信する。これは、つまり、1のジョブ履歴が複数のジョブ履歴処理サーバー111に分割して保持されている場合に、補完ジョブ履歴データに対応する不完全ジョブ履歴を保持する別のジョブ履歴処理サーバー111に、その補完ジョブ履歴データを送信して集約している。そして、ジョブ履歴補完部605は、補完ジョブ履歴データの送信の後、さらにジョブ履歴送信終了通知を送信する。
これら、補完ジョブ履歴データの送信およびジョブ履歴送信終了通知の送信においては、送信未完のコネクションIDも一緒に送信される。送信先のジョブ履歴処理サーバー111のジョブ履歴受信部601は、このジョブ履歴送信終了通知を受信すると、図8のS825、S826と同様の処理を行う。S1712において、ジョブ履歴補完部605は、送信が終わった補完ジョブ履歴データと関連するデータを、ジョブ履歴処理用領域から削除する。
以上、補完ジョブ履歴データの一部が、最初にジョブ履歴データを受信していたのと別のジョブ履歴処理サーバーに送信された場合でも、効率的にいずれかのサーバーに集約して一つのジョブ履歴として扱うことができる。
<第四の実施形態>
本発明の第四の実施形態について説明する。本実施形態では、第三の実施形態で不完全ジョブ履歴を保持するジョブ履歴処理サーバー111とは異なるジョブ履歴処理サーバー111へ補完ジョブ履歴データを送っている際に、その補完ジョブ履歴データの送信も途中でエラーとなった場合に対応する。なお、第三の実施形態と重複する部分の説明は省略し、差分のみを説明する。
[処理フロー]
(ジョブ履歴データ受信中断の検知時の処理)
ジョブ履歴受信部601は、ジョブ履歴データを受信中に、何らかのエラーが起きてデータが受信できなかった場合や、送信されてくるはずのジョブ履歴データが送られて来ないためにタイムアウトが発生した場合などに、例外処理を行う。
この例外処理について、図18のフローチャートを用いて説明する。図18のフローチャートに示す各ステップは、ジョブ履歴処理サーバー111のCPU311がROM312またはHDD314に記憶されているジョブ履歴受信部601を実現するプログラムを読み出して実行することで実現される。また、CPU311は、必要に応じて記憶領域としてRAM313やHDD314を利用する。
S1801において、ジョブ履歴受信部601は、受信していたジョブ履歴データのジョブ履歴送信用のコネクションIDに関連付く送信未完のコネクションIDが、ジョブ履歴処理用領域に保存されているか否かを判定する。保存されている場合には(S1801にてYES)、ジョブ履歴受信部601は、処理をS1802に進める。この場合、補完ジョブ履歴データの受信が途絶えたことになるが、受信済みの補完ジョブ履歴データのことを「部分補完ジョブ履歴データ」と呼ぶ。保存されていない場合には(S1801にてNO)、ジョブ履歴受信部601は、処理をS1804に進める。
S1802において、ジョブ履歴受信部601は、受信していた補完ジョブ履歴データのステータス情報ファイルを、「補完ジョブ履歴データ受信中断」を示すように更新する。S1803において、ジョブ履歴受信部601は、受信していたジョブ履歴データのジョブ履歴送信用のコネクションIDと共に補完ジョブ履歴データ受信中断通知を、ジョブ履歴補完部605に行う。S1804において、ジョブ履歴受信部601は、受信していたジョブ履歴送信用のコネクションIDを同時接続数管理領域から削除する。
(補完ジョブ履歴データ受信中断通知の受信時の処理)
次に、補完ジョブ履歴データ受信中断通知を受信した際の、ジョブ履歴補完部605の処理を、図19のフローチャートを用いて説明する。図19のフローチャートに示す各ステップは、ジョブ履歴処理サーバー111のCPU311がROM312またはHDD314に記憶されているジョブ履歴補完部605を実現するプログラムを読み出して実行することで実現される。また、CPU311は、必要に応じて記憶領域としてRAM313やHDD314を利用する。
S1901において、ジョブ履歴補完部605は、S1701と同様に、補完対象の不完全ジョブ履歴を保持する別のジョブ履歴処理サーバー111が受信しているページ画像数よりも、自身が受信しているページ画像数の方が多いか否かを判定する。自身が受信しているページ画像数の方がより多い場合には(S1901にてYES)、ジョブ履歴補完部605は、処理をS1902に進める。自身以外の方がより多くのページ画像を受信している場合には(S1901にてNO)、ジョブ履歴補完部605は、処理をS1911に進める。
S1902において、ジョブ履歴補完部605は、補完ジョブ履歴データ受信中断通知と共に受信したコネクションIDに関連付いたステータス情報ファイルを「不完全ジョブ履歴受信中」を示すように更新する。S1903において、ジョブ履歴補完部605は、受信したコネクションIDに関連付けて保存されている送信未完のコネクションIDに含まれるサーバーIDを取得する。そして、ジョブ履歴補完部605は、取得したサーバーIDに対応するジョブ履歴処理サーバー111のジョブ履歴受信部601に対し、送信未完のコネクションIDに関連付くジョブ履歴データの取得要求を行う。これは、部分補完ジョブ履歴データに対応する不完全ジョブ履歴を保持する別のジョブ履歴処理サーバー111からその不完全ジョブ履歴を取得し、自身側に部分補完ジョブ履歴データと集約することになる。
このとき、取得要求を受信した別のジョブ履歴処理サーバー111のジョブ履歴受信部601は、送信未完のコネクションIDに関連付く不完全ジョブ履歴のステータス情報ファイルを「不完全ジョブ履歴送信中」を示すように更新する。更新後、取得要求を受信した別のジョブ履歴処理サーバー111のジョブ履歴受信部601は、要求された不完全ジョブ履歴を要求元であるジョブ履歴処理サーバー111のジョブ履歴補完部605への応答として返す。応答後、取得要求を受信した別のジョブ履歴処理サーバー111のジョブ履歴受信部601は、不完全ジョブ履歴をジョブ履歴処理用領域から削除する。S1904において、ジョブ履歴補完部605は、受信したコネクションIDに関連付いたステータス情報ファイルを「ジョブ履歴受信中」を示すように更新する。これは、ジョブ履歴管理部603に、図9に示す不完全ジョブ履歴判定をさせるためである。
S1911において、ジョブ履歴補完部605は、受信したコネクションIDに関連付いたステータス情報ファイルを「部分補完ジョブ履歴データ送信中」を示すように更新する。S1912において、ジョブ履歴補完部605は、受信したコネクションIDに関連付けられて保存されている送信未完のコネクションIDに含まれるサーバーIDを取得する。そして、ジョブ履歴補完部605は、取得したサーバーIDに対応するジョブ履歴処理サーバー111のジョブ履歴受信部601に対し、初めに、部分補完ジョブ履歴データの受信状況を送信する。次いで、ジョブ履歴補完部605は、その部分補完ジョブ履歴データを送信する。これは、部分補完ジョブ履歴データに対応する不完全ジョブ履歴を保持する別のジョブ履歴処理サーバー111に、その部分補完ジョブ履歴データを送信し、別のジョブ履歴処理サーバー111に不完全ジョブ履歴に集約させることになる。
部分補完ジョブ履歴データの受信状況を受信した別のジョブ履歴処理サーバー111は、対応する不完全ジョブ履歴に関連付いたステータス情報ファイルを「部分補完ジョブ履歴データ受信中」を示すように更新する。そして、ジョブ履歴補完部605は、部分補完ジョブ履歴データの送信が終わると、さらに、部分補完ジョブ履歴データ送信終了通知を送信する。これら、部分補完ジョブ履歴データの送信および部分補完ジョブ履歴データ送信終了通知の送信においては、送信未完のコネクションIDも一緒に送信される。
送信先である別のジョブ履歴処理サーバー111のジョブ履歴受信部601は、この部分補完ジョブ履歴データ送信終了通知を受信すると、受信した送信未完のコネクションIDに関連付くステータス情報ファイルを「ジョブ履歴受信中」を示すように更新する。そして、送信先である別のジョブ履歴処理サーバー111のジョブ履歴受信部601は、部分補完ジョブ履歴データ受信完了通知を送信元のジョブ履歴処理サーバー111のジョブ履歴補完部605に応答する。S1913において、ジョブ履歴補完部605は、送信が終わった部分補完ジョブ履歴データと関連するデータを、ジョブ履歴処理用領域から削除する。
(ジョブ履歴送信処理)
次に、本実施形態におけるMFP101のジョブ履歴送信部404の動作について説明する。ジョブ履歴送信部404は、補完ジョブ履歴データの送信中に何らかのエラーが発生して通信の続行ができなくなった場合、図14に示されるS1213に処理を進める。そして、S1213において、ジョブ履歴送信部404は、送信していた補完ジョブ履歴データのジョブ履歴送信用のコネクションIDも送信未完のコネクションIDとして、送信していたジョブ履歴と関連付けて保存する。このとき、S1201において、送信未完のコネクションIDを複数記憶していることになるが、その場合のS1201より後の処理について、図20のフローチャートを用いて説明する。図20は、図14のフローチャートに対し、S1221〜S1225およびS1431〜S1434の処理に置き換わるものであり、その部分についてのみ示している。
S2021において、ジョブ履歴送信部404は、複数の送信未完のコネクションIDの中から未選択のコネクションIDを一つ選択する。そして、ジョブ履歴送信部404は、そのコネクションIDに含まれるサーバーIDに対応するジョブ履歴処理サーバー111にジョブ履歴送信予約を行う。
S2022において、ジョブ履歴送信部404は、ジョブ履歴送信予約に対する応答の内容を判定する。応答の内容が「ジョブ履歴送信予約成功」である場合には(S2022にてYES)、ジョブ履歴送信部404は、処理をS2024に進める。応答の内容がビジー(すなわち、予約失敗)である場合には(S2022にてNO)、ジョブ履歴送信部404は、処理をS2023に進める。
S2023において、ジョブ履歴送信部404は、S2021の処理で、未選択のコネクションIDがあるか否かを判定する。未選択のコネクションIDがある場合には(S2023にてYES)、ジョブ履歴送信部404は、処理をS2021に進め、別のコネクションIDに含まれるサーバーIDに対応するジョブ履歴処理サーバー111に対してジョブ履歴送信予約を行う。未選択のコネクションIDがない場合には(S2023にてNO)、ジョブ履歴送信部404は、処理をS2031に進める。
S2024において、ジョブ履歴送信部404は、ジョブ履歴送信予約の応答に含まれるコネクションIDをジョブ履歴送信用のコネクションIDとして保持する。
S2025において、ジョブ履歴送信部404は、S1224と同様に、記憶している送信未完のコネクションIDに関連付くジョブ履歴の受信状況を問合せるが、このとき、記憶している送信未完のコネクションIDを全て問合せに含める。そして、不完全ジョブ履歴の受信状況およびその不完全ジョブ履歴に関連付いたコネクションIDが、応答として返される。応答を受け取ると、ジョブ履歴送信部404は、記憶している送信未完のコネクションIDのうち、受け取ったコネクションID以外のコネクションIDを削除する。
S2026において、ジョブ履歴送信部404は、S2025の問合せで受信した不完全ジョブ履歴に関連付いたコネクションIDに含まれるサーバーIDが、問合せ先のジョブ履歴処理サーバー111に対応するサーバーIDと一致するか否かを判定する。サーバーIDが一致する場合には(S2026にてYES)、ジョブ履歴送信部404は、処理をS2027へ進める。一致しない場合には(S2026にてNO)、ジョブ履歴送信部404は、S2027の処理をスキップし、S1226へ処理を進める。
S2027において、ジョブ履歴送信部404は、受信した不完全ジョブ履歴に関連付いたコネクションIDを、新たなジョブ履歴送信用のコネクションIDとして保持する。これにより、ジョブ履歴送信部404が、これ以降に行うジョブ履歴データ送信やジョブ履歴送信終了通知が、問合せ先のジョブ履歴処理サーバー111が保持する不完全ジョブ履歴に関するものであることが識別可能となる。
S2031において、ジョブ履歴送信部404は、S1431と同様に、ジョブ履歴送信予約を行う。S2032において、ジョブ履歴送信部404は、S1432と同様に、ジョブ履歴送信予約に対する応答の内容を判定する。応答の内容が「ジョブ履歴送信予約成功」である場合には(S2032にてYES)、ジョブ履歴送信部404は、処理をS2033に進める。応答の内容がビジー(すなわち、予約失敗)である場合には(S2032にてNO)、ジョブ履歴送信部404は、ジョブ履歴送信処理を終了し、次回のジョブ履歴有無確認の機会まで待機する。
S2033において、ジョブ履歴送信部404は、S1433と同様に、S2031のジョブ履歴送信予約の応答に含まれるコネクションIDを、ジョブ履歴送信用のコネクションIDとして保持する。S2034において、ジョブ履歴送信部404は、S2025と同様に、記憶している送信未完のコネクションIDに関連付くジョブ履歴の受信状況を問合せる。そして、不完全ジョブ履歴の受信状況およびその不完全ジョブ履歴に関連付いたコネクションIDが応答として返される。応答を受け取ると、ジョブ履歴送信部404は、記憶している送信未完のコネクションIDのうち、受け取ったコネクションID以外のコネクションIDを削除する。
(受信状況問い合わせ要求の受信時の処理)
次に、ジョブ履歴処理サーバー111のジョブ履歴受信部601が、MFP101のジョブ履歴送信部404から、複数の送信未完のコネクションIDを含むジョブ履歴の受信状況問合せ要求を受信した際の処理を、図21のフローチャートを用いて説明する。図21は、図15のフローチャートのS1501の判定がYESである場合の、S1502とS1502との間に入る処理であり、その部分についてのみ示している。
S2101において、ジョブ履歴受信部601は、受信状況問合せに送信未完のコネクションIDが複数含まれているか否かを判定する。複数含まれている場合には(S2101にてYES)、ジョブ履歴受信部601は、処理をS2102に進める。一つしか含まれていない場合には(S2101にてNO)、ジョブ履歴受信部601は、処理をS1502に進める。
S2102において、ジョブ履歴受信部601は、受信した複数の送信未完のコネクションIDの中から一つを選択する。そして、ジョブ履歴受信部601は、選択したコネクションIDに含まれるサーバーIDに対応するジョブ履歴処理サーバー111に、そのコネクションIDのジョブ履歴についての受信状況を問合せる。問合せの結果は、問合せを受けたジョブ履歴処理サーバー111が保持しているデータおよびステータスに応じて、いくつかのケースがある。各ケースについて、図22に示す。
ケース1は、問合せを受けたジョブ履歴処理サーバー111が、不完全ジョブ履歴を保持し、かつ、ステータスが「ジョブ履歴受信中」の場合である。ケース1の場合、応答の内容として、不完全ジョブ履歴の受信状況と、不完全ジョブ履歴集約先サーバーIDとしてそのジョブ履歴処理サーバー111に対応するサーバーIDとが返される。
ケース2は、問合せを受けたジョブ履歴処理サーバー111が、不完全ジョブ履歴を保持し、かつ、ステータスが「不完全ジョブ履歴送信中」の場合である。ケース2の場合、応答の内容として、不完全ジョブ履歴の受信状況と、不完全ジョブ履歴送信先のサーバーIDとが返される。
ケース3は、問合せを受けたジョブ履歴処理サーバー111が、不完全ジョブ履歴を保持し、かつ、ステータスが「部分補完ジョブ履歴データ受信中」の場合である。ケース3の場合、応答の内容として、不完全ジョブ履歴の受信状況及び記憶している受信中の部分補完ジョブ履歴データの受信状況と、不完全ジョブ履歴集約先サーバーIDとしてそのジョブ履歴処理サーバー111に対応するサーバーIDとが返される。
ケース4は、問合せを受けたジョブ履歴処理サーバー111が、部分補完ジョブ履歴データを保持し、かつ、ステータスが「不完全ジョブ履歴受信中」の場合である。ケース4の場合、応答の内容として、部分補完ジョブ履歴データの受信状況および記憶している受信中の不完全ジョブ履歴の受信状況と、不完全ジョブ履歴集約先サーバーIDとしてそのジョブ履歴処理サーバー111に対応するサーバーIDとが返される。
ケース5は、問合せを受けたジョブ履歴処理サーバー111が、部分補完ジョブ履歴データを保持し、かつ、ステータスが「部分補完ジョブ履歴データ送信中」の場合である。ケース5の場合、応答の内容として、部分補完ジョブ履歴データの受信状況および記憶している受信中の不完全ジョブ履歴の受信状況と、不完全ジョブ履歴集約先サーバーIDとして部分補完ジョブ履歴データ送信先のサーバーIDとが返される。
ケース6は、問合せを受けたジョブ履歴処理サーバー111が、不完全ジョブ履歴および部分補完ジョブ履歴データのどちらも保持していない場合である。ケース6の場合、応答の内容として、「対象ジョブ履歴データなし」が返される。
なお、この問合せは、必ずしも受信したコネクションIDの全てについて行う必要はなく、ケース1、ケース3〜ケース5の応答を受け取った場合には、ジョブ履歴受信部601は、処理をS2103に進める。ケース2の応答を受け取った場合には、ジョブ履歴受信部601は、受け取ったサーバーIDを含むコネクションIDを選択し直して、そのサーバーIDに対応するジョブ履歴処理サーバー111に受信状況の問合せを行う。ケース6の応答を受け取った場合には、ジョブ履歴受信部601は、別のコネクションIDを選択し直して、そのサーバーIDに対応するジョブ履歴処理サーバー111に受信状況の問合せを行う。
S2103において、ジョブ履歴受信部601は、S2102で取得した不完全ジョブ履歴の受信状況と、部分補完ジョブ履歴データの受信状況とを、一つの不完全ジョブ履歴の受信状況として集約する。そして、ジョブ履歴受信部601は、集約した不完全ジョブ履歴の受信状況と、不完全ジョブ履歴集約先サーバーIDを含む送信未完のコネクションIDとをジョブ履歴送信用のコネクションIDに関連付け、ジョブ履歴処理用領域に保存する。
S2104において、ジョブ履歴受信部601は、S2103で保存した不完全ジョブ履歴の受信状況と送信未完のコネクションIDとをジョブ履歴送信部404に応答する。
以上、補完ジョブ履歴データが、不完全ジョブ履歴を保持するジョブ履歴処理サーバー111とは異なるジョブ履歴処理サーバー111に送信され、その送信がエラーとなった場合にも、どちらかのジョブ履歴処理サーバーに不完全ジョブ履歴を効率的に集約できる。これにより、その後の補完送信とジョブ履歴集約を効率的に行うことができる。また、補完送信が不可能となった場合の不完全ジョブ履歴としての扱いも容易に可能となる。
<その他の実施形態>
第二、第三の実施形態の負荷分散装置151において、アプリケーション層の情報ではなく、接続元のIPアドレスなどネットワーク層の情報に基づいて接続元を識別し、接続先を固定化するパーシステンス機能が用いられていても良い。このとき、MFP101の接続先のジョブ履歴処理サーバー111は、自動的に一つに固定化されるため、ジョブ履歴送信部404のS1221をスキップすることで、第二、第三の実施形態と同じジョブ履歴データの送信が実現可能である。
また、第三、第四の実施形態において、不完全ジョブ履歴を保持するジョブ履歴処理サーバー111が一時的にダウンしているような場合について、さらに考慮しても良い。このような状況では、補完ジョブ履歴データを受信したジョブ履歴処理サーバー111のジョブ履歴補完部605が不完全ジョブ履歴を保持するジョブ履歴処理サーバー111に一時的にアクセスできないことがあり得る。このとき、ジョブ履歴管理部603がジョブ履歴処理部602に不完全ジョブ履歴の処理を開始させるまでの時間よりも短い間隔で、ジョブ履歴補完部605が繰り返し不完全ジョブ履歴を保持するジョブ履歴処理サーバー111にアクセスするようにしても良い。これにより、不完全ジョブ履歴を保持するジョブ履歴処理サーバー111が一時的にダウンしているような場合にも、ジョブ履歴データを集約できる確率を高めることができる。
また、第三、第四の実施形態のジョブ履歴補完部605は、ジョブ履歴データの集約先のジョブ履歴処理サーバー111をどちらにするかの判断を、受信しているページ画像数に基づいて行っていたが、別の判断基準を用いても良い。例えば、ジョブ履歴処理サーバー111がジョブ履歴処理用領域に保持する(すなわちエクスポートが完了していない)ジョブ履歴の数を比較するようにしても良い。
また、第四の実施形態の負荷分散装置151において、パーシステンス機能がないか、使用されなくても良い。このとき、ジョブ履歴データは、複数のジョブ履歴処理サーバー111に分散されて送信されることになる。このため、ジョブ履歴処理サーバー111において、同時接続数管理をなくし、ジョブ履歴送信予約時には、単にコネクションIDを発行するものとする。
ジョブ履歴処理サーバー111は、ジョブ履歴データと共に受け取るジョブ履歴送信用のコネクションIDに含まれるサーバーIDが、自身のサーバーIDと異なる場合には、ジョブ履歴補完データの受信が途絶えたときと同様な動作を行う。すなわち、ジョブ履歴データを受信したジョブ履歴処理サーバー111は、ジョブ履歴送信用のコネクションIDを送信未完のコネクションIDとして扱い、受信の度に、ジョブ履歴補完部605のS1911〜S1913の処理を実行させる。これにより、コネクションIDを発行したジョブ履歴処理サーバー111に、ジョブ履歴データを集約させて処理することができる。
また、ジョブ履歴受信が途絶えた場合には、集約先のジョブ履歴処理サーバー111は、送信未完のコネクションIDに含まれるサーバーIDで識別可能である。このため、送信未完のコネクションIDを複数記憶することがない点が異なるが、第四の実施形態の受信状況問合せを利用することで、ジョブ履歴受信が途絶えた場合にも、不完全ジョブ履歴の受信状況を把握し、補完ジョブ履歴データを送信することができる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピューター(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (15)

  1. 画像形成装置と、前記画像形成装置からジョブ履歴情報を受信して管理するサーバーとを含むジョブ履歴処理システムであって、
    前記画像形成装置は、
    ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約手段と、
    前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信手段と、 前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信手段と、 前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理手段と、
    を有し、
    前記サーバーは、
    前記画像形成装置からの予約に応じて、接続情報を含む送信許可を送信する許可手段と、
    前記画像形成装置からのジョブ履歴情報を受信して管理するジョブ履歴管理手段と、
    前記管理しているジョブ履歴情報を、外部システムに対して提供する提供手段と、
    を有し、
    前記送信手段は、前記管理手段により接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信し、
    前記提供手段は、送信が中断された前記ジョブ履歴情報のうちの未送信の情報が前記送信手段により送信されなかった場合、当該送信が中断された前記ジョブ履歴情報を不完全なジョブ履歴情報として前記外部システムに対して提供することを特徴とするジョブ履歴処理システム。
  2. 前記画像形成装置は、サーバーに対しジョブ履歴情報の受信状況を問い合わせる問い合わせ手段を更に有し、
    前記送信手段は、前記問い合わせ手段による問い合わせの応答の内容に応じて、当該ジョブ履歴情報を送信することを特徴とする請求項1に記載のジョブ履歴処理システム。
  3. 前記接続情報は、前記サーバーの識別情報を含むことを特徴とする請求項2に記載のジョブ履歴処理システム。
  4. 前記画像形成装置が、複数のサーバーの中から格納先となるサーバーに分散させる負荷分散装置を介して、サーバーにジョブ履歴情報を送信する場合、前記送信手段は、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を送信する際に、前記接続情報に含まれる前記サーバーの識別情報を用いて送信先を制御することを特徴とする請求項3に記載のジョブ履歴処理システム。
  5. 前記画像形成装置が、複数のサーバーの中から格納先となるサーバーに分散させる負荷分散装置を介して、サーバーにジョブ履歴情報を送信したことにより、送信が中断されたジョブ履歴情報が複数のサーバーに分けて送信された場合、当該ジョブ履歴情報に対する接続情報に含まれる前記サーバーの識別情報に従い、当該ジョブ履歴情報の補完を行う補完手段を更に有することを特徴とする請求項3に記載のジョブ履歴処理システム。
  6. 前記問い合わせ手段による問い合わせは、問い合わせ先であるサーバーの識別情報を含み、
    前記サーバーは、前記負荷分散装置の負荷分散の結果、自身とは異なるサーバーに対する問い合わせを受信した場合に、前記問い合わせに含まれる識別情報を用いて更に問い合わせを行い、当該問い合わせの結果を前記画像形成装置へ応答する手段を更に有することを特徴とする請求項3に記載のジョブ履歴処理システム。
  7. 前記送信手段は、ジョブ履歴情報の送信が中断された場合、当該ジョブ履歴情報のうちの未送信の情報を、当該ジョブ履歴情報の送信が中断される前に送信されていたサーバーとは異なるサーバーに送信することを特徴とする請求項3に記載のジョブ履歴処理システム。
  8. 前記サーバーは、ジョブ履歴情報の送信が中断された結果、当該ジョブ履歴情報が分割して複数のサーバーに送信された場合に、当該分割されたジョブ履歴情報を集約する集約手段を更に有することを特徴とする請求項3に記載のジョブ履歴処理システム。
  9. 前記集約手段は、前記複数のサーバーそれぞれにおける前記分割されたジョブ履歴情報の受信状況に応じて、前記分割されたジョブ履歴情報を送信して集約するか受信して集約するかを切り替えることを特徴とする請求項8に記載のジョブ履歴処理システム。
  10. 前記集約手段は、前記分割されたジョブ履歴情報を集約している際の情報の送受信が中断した場合、当該中断の時点において、前記複数のサーバーそれぞれにおける前記分割されたジョブ履歴情報の受信状況に応じて、前記分割されたジョブ履歴情報を送信して集約するか受信して集約するかを切り替えることを特徴とする請求項9に記載のジョブ履歴処理システム。
  11. 前記提供手段は、ジョブ履歴情報の一部を受信した後、残りの部分を受信せずに所定の時間が経過した場合に当該ジョブ履歴情報を不完全なジョブ履歴情報として判定することを特徴とする請求項1乃至10のいずれか一項に記載のジョブ履歴処理システム。
  12. ジョブ履歴情報を受信して管理するサーバーと通信可能な画像形成装置であって、
    ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約手段と、
    前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信手段と、 前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信手段と、 前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理手段と、
    を有し、
    前記送信手段は、前記管理手段により接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信することを特徴とする画像形成装置。
  13. 画像形成装置と、前記画像形成装置からジョブ履歴情報を受信して管理するサーバーとを含むジョブ履歴処理システムにおけるジョブ履歴処理方法であって、
    前記画像形成装置において、
    ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約工程と、
    前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信工程と、 前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信工程と、 前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理工程と、
    を有し、
    前記サーバーにおいて、
    前記画像形成装置からの予約に応じて、接続情報を含む送信許可を送信する許可工程と、
    前記画像形成装置からのジョブ履歴情報を受信して管理するジョブ履歴管理工程と、
    前記管理しているジョブ履歴情報を、外部システムに対して提供する提供工程と、
    を有し、
    前記送信工程において、前記管理工程にて接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信し、
    前記提供工程において、送信が中断された前記ジョブ履歴情報のうちの未送信の情報が前記送信工程にて送信されなかった場合、当該送信が中断された前記ジョブ履歴情報を不完全なジョブ履歴情報として前記外部システムに対して提供することを特徴とするジョブ履歴処理方法。
  14. ジョブ履歴情報を受信して管理するサーバーと通信可能な画像形成装置の制御方法であって、
    ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約工程と、
    前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信工程と、 前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信工程と、 前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理工程と、
    を有し、
    前記送信工程において、前記管理工程にて接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信することを特徴とする制御方法。
  15. ジョブ履歴情報を受信して管理するサーバーと通信可能なコンピューターを、
    ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約手段、
    前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信手段、
    前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信手段、
    前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理手段、
    として機能させ、
    前記送信手段は、前記管理手段により接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信することを特徴とするプログラム。
JP2013198898A 2013-09-25 2013-09-25 ジョブ履歴処理システム、及びジョブ履歴処理方法 Active JP6180255B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013198898A JP6180255B2 (ja) 2013-09-25 2013-09-25 ジョブ履歴処理システム、及びジョブ履歴処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013198898A JP6180255B2 (ja) 2013-09-25 2013-09-25 ジョブ履歴処理システム、及びジョブ履歴処理方法

Publications (3)

Publication Number Publication Date
JP2015064794A true JP2015064794A (ja) 2015-04-09
JP2015064794A5 JP2015064794A5 (ja) 2016-09-23
JP6180255B2 JP6180255B2 (ja) 2017-08-16

Family

ID=52832604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013198898A Active JP6180255B2 (ja) 2013-09-25 2013-09-25 ジョブ履歴処理システム、及びジョブ履歴処理方法

Country Status (1)

Country Link
JP (1) JP6180255B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11954388B2 (en) 2021-11-05 2024-04-09 Canon Kabushiki Kaisha Printing apparatus, control method, and storage medium for transmitting execution history information to a cloud print service

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072162A (ja) * 2002-08-01 2004-03-04 Canon Inc 画像通信装置およびジョブ管理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP2009159519A (ja) * 2007-12-27 2009-07-16 Ricoh Co Ltd 画像形成装置、プログラム及び記録媒体
JP2010044581A (ja) * 2008-08-12 2010-02-25 Fuji Xerox Co Ltd 画像処理履歴管理システム、画像処理履歴管理装置、画像処理装置及びプログラム
JP2010061562A (ja) * 2008-09-05 2010-03-18 Ricoh Co Ltd 機器動作履歴記録システム
JP2011227868A (ja) * 2010-03-31 2011-11-10 Ricoh Co Ltd ログ管理システム、伝送システム、ログ管理方法、ログ管理プログラム
JP2012244428A (ja) * 2011-05-19 2012-12-10 Murata Mach Ltd 中継サーバ及び中継通信システム
JP2013161215A (ja) * 2012-02-03 2013-08-19 Nippon Telegr & Teleph Corp <Ntt> 情報処理システム、情報処理方法およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072162A (ja) * 2002-08-01 2004-03-04 Canon Inc 画像通信装置およびジョブ管理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP2009159519A (ja) * 2007-12-27 2009-07-16 Ricoh Co Ltd 画像形成装置、プログラム及び記録媒体
JP2010044581A (ja) * 2008-08-12 2010-02-25 Fuji Xerox Co Ltd 画像処理履歴管理システム、画像処理履歴管理装置、画像処理装置及びプログラム
JP2010061562A (ja) * 2008-09-05 2010-03-18 Ricoh Co Ltd 機器動作履歴記録システム
JP2011227868A (ja) * 2010-03-31 2011-11-10 Ricoh Co Ltd ログ管理システム、伝送システム、ログ管理方法、ログ管理プログラム
JP2012244428A (ja) * 2011-05-19 2012-12-10 Murata Mach Ltd 中継サーバ及び中継通信システム
JP2013161215A (ja) * 2012-02-03 2013-08-19 Nippon Telegr & Teleph Corp <Ntt> 情報処理システム、情報処理方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11954388B2 (en) 2021-11-05 2024-04-09 Canon Kabushiki Kaisha Printing apparatus, control method, and storage medium for transmitting execution history information to a cloud print service

Also Published As

Publication number Publication date
JP6180255B2 (ja) 2017-08-16

Similar Documents

Publication Publication Date Title
JP5538879B2 (ja) 端末装置及び印刷システムとデータ変換方法
JP5178112B2 (ja) 画像処理装置及び仮予約に係る制御方法
JP4980255B2 (ja) 印刷処理システム
US8305608B2 (en) Information processing apparatus, information processing method, and computer program for inputting insertion data to a data area of document data and sending output data processible by each of printing apparatuses
JP5473267B2 (ja) ワークフロー実行システム及びワークフロー実行方法
JP4857102B2 (ja) 情報処理装置、ジョブ処理方法、プログラム及び記憶媒体
JP5078423B2 (ja) ワークフロー管理サーバ及び方法
US20070097416A1 (en) Printing apparatus, print instruction apparatus, and printing system
JP2010204746A (ja) 印刷制御装置及び制御方法及びプログラム
JP2009187309A (ja) 認証サーバ及び認証システム及びアカウント保守方法
JP2007274588A (ja) 電子機器及び当該機器における制御方法
JP2014182653A (ja) ログ管理システム、ログ管理方法、画像形成装置およびその制御方法、並びにプログラム
JP2016045930A (ja) 管理システム、及び、管理システムの制御方法
JP2004005545A (ja) ジョブ管理装置、ジョブ管理方法、制御プログラム、及びジョブ管理システム
JP6834714B2 (ja) 印刷管理プログラム、印刷管理方法、及び印刷管理装置
EP2838010B1 (en) Information processing apparatus, information processing method, and processing apparatus
JP5241520B2 (ja) ワークフロー管理装置、タスク連携処理システム、ワークフロー管理方法、及びプログラム
JP6180255B2 (ja) ジョブ履歴処理システム、及びジョブ履歴処理方法
US20160054964A1 (en) Management system and control method
JP2011095894A (ja) 画像処理装置及び認証プルプリントシステムにおける代行印刷処理に係る制御方法
JP2015108857A (ja) システム、その制御方法、情報処理装置、その制御方法及びプログラム
JP6155802B2 (ja) 画像形成装置、画像形成システム、その制御方法及びプログラム
US8934121B2 (en) Coordinated, distributed, reusable document component respository
JP3102836B2 (ja) プリンタシステムおよびプリンタシステムの印字ジョブ処理方法
JP2017005510A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160808

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170605

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170718

R151 Written notification of patent or utility model registration

Ref document number: 6180255

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151