(57)【要約】【課題】ジョブ履歴の送信が途切れた場合のジョブ履歴の保全性の改善と、再接続後の補完送信を効率化すること。【解決手段】ジョブ履歴情報を受信して管理するサーバーと通信可能な画像形成装置であって、ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約手段と、前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信手段と、前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信手段と、前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理手段とを有し、前記送信手段は、前記管理手段により接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信する。【選択図】  図１
2015064794.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置と、前記画像形成装置からジョブ履歴情報を受信して管理するサーバーとを含むジョブ履歴処理システムであって、
前記画像形成装置は、
ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約手段と、
前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信手段と、  前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信手段と、  前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理手段と、
を有し、
前記サーバーは、
前記画像形成装置からの予約に応じて、接続情報を含む送信許可を送信する許可手段と、
前記画像形成装置からのジョブ履歴情報を受信して管理するジョブ履歴管理手段と、
前記管理しているジョブ履歴情報を、外部システムに対して提供する提供手段と、
を有し、
前記送信手段は、前記管理手段により接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信し、
前記提供手段は、送信が中断された前記ジョブ履歴情報のうちの未送信の情報が前記送信手段により送信されなかった場合、当該送信が中断された前記ジョブ履歴情報を不完全なジョブ履歴情報として前記外部システムに対して提供することを特徴とするジョブ履歴処理システム。
【請求項２】
前記画像形成装置は、サーバーに対しジョブ履歴情報の受信状況を問い合わせる問い合わせ手段を更に有し、
前記送信手段は、前記問い合わせ手段による問い合わせの応答の内容に応じて、当該ジョブ履歴情報を送信することを特徴とする請求項１に記載のジョブ履歴処理システム。
【請求項３】
前記接続情報は、前記サーバーの識別情報を含むことを特徴とする請求項２に記載のジョブ履歴処理システム。
【請求項４】
前記画像形成装置が、複数のサーバーの中から格納先となるサーバーに分散させる負荷分散装置を介して、サーバーにジョブ履歴情報を送信する場合、前記送信手段は、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を送信する際に、前記接続情報に含まれる前記サーバーの識別情報を用いて送信先を制御することを特徴とする請求項３に記載のジョブ履歴処理システム。
【請求項５】
前記画像形成装置が、複数のサーバーの中から格納先となるサーバーに分散させる負荷分散装置を介して、サーバーにジョブ履歴情報を送信したことにより、送信が中断されたジョブ履歴情報が複数のサーバーに分けて送信された場合、当該ジョブ履歴情報に対する接続情報に含まれる前記サーバーの識別情報に従い、当該ジョブ履歴情報の補完を行う補完手段を更に有することを特徴とする請求項３に記載のジョブ履歴処理システム。
【請求項６】
前記問い合わせ手段による問い合わせは、問い合わせ先であるサーバーの識別情報を含み、
前記サーバーは、前記負荷分散装置の負荷分散の結果、自身とは異なるサーバーに対する問い合わせを受信した場合に、前記問い合わせに含まれる識別情報を用いて更に問い合わせを行い、当該問い合わせの結果を前記画像形成装置へ応答する手段を更に有することを特徴とする請求項３に記載のジョブ履歴処理システム。
【請求項７】
前記送信手段は、ジョブ履歴情報の送信が中断された場合、当該ジョブ履歴情報のうちの未送信の情報を、当該ジョブ履歴情報の送信が中断される前に送信されていたサーバーとは異なるサーバーに送信することを特徴とする請求項３に記載のジョブ履歴処理システム。
【請求項８】
前記サーバーは、ジョブ履歴情報の送信が中断された結果、当該ジョブ履歴情報が分割して複数のサーバーに送信された場合に、当該分割されたジョブ履歴情報を集約する集約手段を更に有することを特徴とする請求項３に記載のジョブ履歴処理システム。
【請求項９】
前記集約手段は、前記複数のサーバーそれぞれにおける前記分割されたジョブ履歴情報の受信状況に応じて、前記分割されたジョブ履歴情報を送信して集約するか受信して集約するかを切り替えることを特徴とする請求項８に記載のジョブ履歴処理システム。
【請求項１０】
前記集約手段は、前記分割されたジョブ履歴情報を集約している際の情報の送受信が中断した場合、当該中断の時点において、前記複数のサーバーそれぞれにおける前記分割されたジョブ履歴情報の受信状況に応じて、前記分割されたジョブ履歴情報を送信して集約するか受信して集約するかを切り替えることを特徴とする請求項９に記載のジョブ履歴処理システム。
【請求項１１】
前記提供手段は、ジョブ履歴情報の一部を受信した後、残りの部分を受信せずに所定の時間が経過した場合に当該ジョブ履歴情報を不完全なジョブ履歴情報として判定することを特徴とする請求項１乃至１０のいずれか一項に記載のジョブ履歴処理システム。
【請求項１２】
ジョブ履歴情報を受信して管理するサーバーと通信可能な画像形成装置であって、
ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約手段と、
前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信手段と、  前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信手段と、  前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理手段と、
を有し、
前記送信手段は、前記管理手段により接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信することを特徴とする画像形成装置。
【請求項１３】
画像形成装置と、前記画像形成装置からジョブ履歴情報を受信して管理するサーバーとを含むジョブ履歴処理システムにおけるジョブ履歴処理方法であって、
前記画像形成装置において、
ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約工程と、
前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信工程と、  前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信工程と、  前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理工程と、
を有し、
前記サーバーにおいて、
前記画像形成装置からの予約に応じて、接続情報を含む送信許可を送信する許可工程と、
前記画像形成装置からのジョブ履歴情報を受信して管理するジョブ履歴管理工程と、
前記管理しているジョブ履歴情報を、外部システムに対して提供する提供工程と、
を有し、
前記送信工程において、前記管理工程にて接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信し、
前記提供工程において、送信が中断された前記ジョブ履歴情報のうちの未送信の情報が前記送信工程にて送信されなかった場合、当該送信が中断された前記ジョブ履歴情報を不完全なジョブ履歴情報として前記外部システムに対して提供することを特徴とするジョブ履歴処理方法。
【請求項１４】
ジョブ履歴情報を受信して管理するサーバーと通信可能な画像形成装置の制御方法であって、
ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約工程と、
前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信工程と、  前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信工程と、  前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理工程と、
を有し、
前記送信工程において、前記管理工程にて接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信することを特徴とする制御方法。
【請求項１５】
ジョブ履歴情報を受信して管理するサーバーと通信可能なコンピューターを、
ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約手段、
前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信手段、
前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信手段、
前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理手段、
として機能させ、
前記送信手段は、前記管理手段により接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ履歴処理システム、ジョブ履歴処理方法、画像形成装置およびその制御方法、並びにプログラムに関する。特に、画像形成装置で実行された印刷、コピーなどのジョブに関して、ジョブを実行したユーザーや、印刷された画像などを履歴情報として記録し、監査するためのシステムに関する。
【背景技術】
【０００２】
従来、情報漏洩の抑止や、情報漏洩者を追跡する目的で、プリンターやＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）が行ったジョブに関する履歴情報を監査するためのジョブ履歴監査システムが開発されている。ジョブ履歴監査システムでは、より厳密な監査のために、ジョブの実行ユーザーや実行した日時などの情報の他に、印刷された画像など、ジョブで処理された画像データをログ画像として保存するようにしているものもある。
【０００３】
ログ画像を保存する場合や、複数台のＭＦＰやプリンターのジョブ履歴を管理する場合、ＭＦＰやプリンターから、外部のサーバーにジョブ履歴情報を送信して保存・管理する方法が一般的である。こうした方法では、ジョブ履歴情報の送信がネットワークの不具合などで中断した場合でも、受信側のデータの整合性を保つことが望まれる。このため、データを送信している途中で通信が途切れ、データ送信先が切り替わる場合にも、複数の送信先で受信されたデータが不完全な状態にならないようにする手法が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２３５７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１では、データの送信側が、受信側への再接続後に送信すべきデータを判断しているため、受信側が受信済みでないデータの送信漏れが発生する可能性がある。また、意味を成す一まとまりのデータが複数の送信先に分割されて保存された場合、それらは別々に管理されてしまう。このため、扱うデータがジョブ履歴のようなデータの場合に不都合が生じる。例えば、一つのジョブ履歴中に複数のページ画像がログ画像として存在していて、数ページ分のログ画像を送信した段階で送信先が切り替わると、１ページ目から再度送信する必要が生じてしまい効率が悪い。
【０００６】
さらに、分割されて受信されたデータに対しては、受信側で期限切れを判定し、削除していた。このような分割データを削除してしまうと、送信側に何らかの障害が発生するなどして送信側のオリジナルのデータが失われた場合に、受信していたデータも無駄となってしまう。しかし、ジョブ履歴のページ画像のように、ジョブ履歴としては不完全であっても残しておいた方が有益な場合もある。
【０００７】
本発明は、上記課題を解決するためになされたものであり、ジョブ履歴の送信が途切れた場合のジョブ履歴の保全性の改善と、再接続後のジョブ履歴送信の効率化を可能とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、画像形成装置と、前記画像形成装置からジョブ履歴情報を受信して管理するサーバーとを含むジョブ履歴処理システムであって、前記画像形成装置は、ジョブ履歴情報の送信の予約を前記サーバーに対して行う予約手段と、前記サーバーから、前記予約に応じた接続情報を含む送信許可を受信する受信手段と、前記サーバーに対して、前記送信許可に従ってジョブ履歴情報を送信する送信手段と、前記ジョブ履歴情報の送信の中断に応じて、当該ジョブ履歴情報の送信に対応する送信許可に含まれる接続情報を管理する管理手段と、を有し、前記サーバーは、前記画像形成装置からの予約に応じて、接続情報を含む送信許可を送信する許可手段と、前記画像形成装置からのジョブ履歴情報を受信して管理するジョブ履歴管理手段と、前記管理しているジョブ履歴情報を、外部システムに対して提供する提供手段と、を有し、前記送信手段は、前記管理手段により接続情報が管理されている場合、当該接続情報を用いて、送信が中断された前記ジョブ履歴情報のうちの未送信の情報を、前記サーバーに対して送信し、前記提供手段は、送信が中断された前記ジョブ履歴情報のうちの未送信の情報が前記送信手段により送信されなかった場合、当該送信が中断された前記ジョブ履歴情報を不完全なジョブ履歴情報として前記外部システムに対して提供する。
【発明の効果】
【０００９】
ジョブ履歴の送信が中断した場合に、補完送信の効率化を図ることができる。また、補完送信が不可能な場合でもジョブ履歴の保全性を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】第一の実施形態に係るジョブ履歴処理システムの構成例を示す図。
【図２】ＭＦＰのハードウェア構成例を示すブロック図。
【図３】ジョブ履歴処理サーバーのハードウェア構成例を示すブロック図。
【図４】ＭＦＰのソフトウェア構成例を示すブロック図。
【図５】ジョブ履歴のデータ構成例を示す図。
【図６】ジョブ履歴処理サーバーのソフトウェア構成例を示すブロック図。
【図７】ジョブ履歴送信部がジョブ履歴を送信する際のフローチャート。
【図８】ジョブ履歴受信部が処理要求を受信した際のフローチャート。
【図９】ジョブ履歴管理部が不完全ジョブ履歴の保存期限を判定する際のフローチャート。
【図１０】ジョブ履歴処理部がジョブ履歴を処理する際のフローチャート。
【図１１】第二の実施形態に係るジョブ履歴処理システムの構成例を示す図。
【図１２】第二の実施形態に係るジョブ履歴送信部がジョブ履歴を送信する際のフローチャート。
【図１３】第三の実施形態に係るジョブ履歴処理サーバーのソフトウェア構成例を示すブロック図。
【図１４】第三の実施形態に係るジョブ履歴送信部がジョブ履歴を送信する際のフローチャート。
【図１５】第三の実施形態に係るジョブ履歴受信部が受信状況問合せを受信した際のフローチャート。
【図１６】第三の実施形態に係るジョブ履歴受信部がジョブ履歴送信終了通知を受信した際のフローチャート。
【図１７】第三の実施形態に係るジョブ履歴補完部が補完ジョブ履歴データ受信完了通知を受信した際のフローチャート。
【図１８】第四の実施形態に係るジョブ履歴受信部の例外処理のフローチャート。
【図１９】第四の実施形態に係るジョブ履歴補完部が補完ジョブ履歴データ受信中断通知を受信した際のフローチャート。
【図２０】第四の実施形態に係るジョブ履歴送信部がジョブ履歴を送信する際のフローチャート。
【図２１】第四の実施形態に係るジョブ履歴受信部が受信状況問合せを受信した際のフローチャート。
【図２２】第四の実施形態に係るジョブ履歴処理サーバーが他のジョブ履歴処理サーバーから受信状況問合せを受けたときのケースを説明するための図。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１２】
＜第一の実施形態＞
［システム構成］
本発明の第一の実施形態について説明する。図１は、本実施形態に係るジョブ履歴処理システム１００およびそれと連携するシステム１３１の構成例を示す図である。本実施形態におけるジョブ履歴処理システム１００において、画像形成装置である複数台のＭＦＰ１０１と、ジョブ履歴処理サーバー１１１とが接続されている。各機器の台数はこれに限らず、１台であっても良いし、さらに多くの台数があっても良い。
【００１３】
ジョブ履歴処理サーバー１１１は、ＭＦＰ１０１で実行されたジョブ（コピー処理やプリント処理など）の実行記録であるジョブ履歴（ジョブ履歴情報）を受信し、必要に応じて、データの整形やログ画像の解像度変換などの処理を行う。そして、ジョブ履歴処理サーバー１１１は、行われた処理の結果を、連携するシステム１３１に提供して取り込ませる。ジョブ履歴処理システム１００と連携するシステム１３１は、ジョブ履歴を監査するためのデータ保管や検索の機能を備えるものであることが一般的であるが、それに限定するものではない。つまり、システム１３１は、ジョブ履歴処理システム１００と連携してジョブ履歴に関する処理を行うものであれば、どのようなものであっても構わない。
【００１４】
［ハードウェア構成］
（ＭＦＰ）
図２は、ＭＦＰ１０１のハードウェア構成例を示すブロック図である。コントローラーユニット２００は、スキャナー２２２やプリンター２２３およびネットワークや公衆回線と接続して、画像データやデバイス情報の入出力を行う。
【００１５】
ＣＰＵ２０１は、ＭＦＰ１０１全体の制御を行う。ＲＡＭ２０２は、ＣＰＵ２０１が動作するためのワークメモリーであると共に、入力された画像データを一時記憶するための画像メモリーでもある。ＲＯＭ２０３は、ブートＲＯＭであり、システムのブートプログラムが保存されている。ＨＤＤ２０４は、システムソフトウェア、ジョブ履歴、ユーザーボックス内の画像データなどを保存するハードディスクドライブである。操作部Ｉ／Ｆ２０５は、操作部２２１とのインターフェース部であり、操作部２２１に表示する画面データを操作部２２１に対して出力する。
【００１６】
ネットワークＩ／Ｆ２０６は、ＬＡＮ等のネットワークに接続し、情報の入出力を行う。モデム２０７は、公衆回線に接続し、画像データの入出力を行う。以上のデバイスが、コントローラーユニット２００内において、システムバス２０８上に配置される。
【００１７】
イメージバスＩ／Ｆ２０９は、システムバス２０８と、画像データを高速で転送する画像バス２１０とを接続し、データ構造を変換するバスブリッジである。画像バス２１０上には、以下のデバイスが配置される。
【００１８】
ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）２１０は、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）コードをビットマップイメージに展開する。デバイスＩ／Ｆ２１２は、画像入出力デバイスであるスキャナー２２２及びプリンター２２３と、コントローラーユニット２００とを接続し、画像データの変換を行う。スキャナー画像処理部２１３は、入力画像データに対し補正、加工、編集等を行う。プリンター画像処理部２１４は、出力画像データに対して、プリンターの補正、解像度変換等を行う。画像回転部２１５は、画像データの回転を行う。画像圧縮部２１６は、画像データの圧縮伸長処理を行う。
【００１９】
（ジョブ履歴処理サーバー）
図３は、ジョブ履歴処理サーバー１１１のハードウェア構成例を示すブロック図である。ＣＰＵ３１１を含む制御部３１０は、サーバー全体の動作を制御する。ＣＰＵ３１１は、ＲＯＭ３１２やＨＤＤ３１４に記憶された制御プログラムを読み出して、入力や出力といった各種制御処理や、演算処理を実行する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリー、ワークエリアなどの一時記憶領域として用いられる。ＨＤＤ３１４は、ジョブ履歴や各種プログラムなどを記憶する。
【００２０】
操作入力Ｉ／Ｆ３１５は、接続されたキーボードやマウスなどの操作デバイス（不図示）からの信号入力を受け付ける。表示出力Ｉ／Ｆ３１６は、画面表示用のディスプレイ（不図示）等への信号出力を行う。ネットワークＩ／Ｆ３１７は、制御部３１０をネットワークに接続し、ネットワーク上の別の装置との情報の送受信を行う。なお、バス３２０は、制御部３１０内の各ブロックを通信可能に接続する。
【００２１】
［ソフトウェア構成］
（ＭＦＰ）
図４は、本実施形態におけるＭＦＰ１０１のソフトウェア構成例を示すブロック図である。
【００２２】
ジョブ管理部４０１は、操作制御部４０２が受け付けたジョブやネットワークを介して受け付けたジョブの実行、ジョブ履歴のＨＤＤ２０４への記録、およびジョブのステータス管理などを行う。また、ジョブ管理部４０１は、ジョブの処理内容に応じて、ジョブ制御部４０３に対して指示を行う。操作制御部４０２は、操作部２２１が備える表示パネル（不図示）に操作用の画面を表示させたり、操作部２２１で行われる操作の入力情報を受け付け、必要に応じて他の機能部に情報を伝達したりする。なお、操作制御部４０２は、ネットワークを介した遠隔操作の制御も行う。
【００２３】
ジョブ制御部４０３は、ジョブ管理部４０１からの指示に従い、スキャナー２２２やプリンター２２３を動作させる。また、ジョブ制御部４０３は、スキャナー２２２やプリンター２２３のステータスをジョブ管理部４０１に通知する。ジョブ履歴送信部４０４は、予め設定された時間間隔でＨＤＤ２０４に記録されたジョブ履歴があるか否かを確認する。そして、ジョブ履歴がある場合には、ジョブ履歴送信部４０４は、ジョブ履歴を一つずつジョブ履歴処理サーバー１１１に送信する。
【００２４】
送信されるジョブ履歴のデータ構成例を図５に示す。ジョブ履歴５００は一つのジョブ履歴を示し、ジョブ履歴属性情報５０１とページ属性５１０とページ画像５２０とから構成される。図５に示すジョブ履歴５００は、５ページから構成されたジョブに対応している。各構成要素は別々のファイルで存在し、ページ属性５１０とページ画像５２０は更に、ページ毎に別々のファイルで存在する。ジョブ履歴属性情報５０１は、ジョブを実行したユーザー情報、実行日時、実行したＭＦＰに関する情報（ＩＰアドレス、ＭＦＰの識別番号など）、ジョブの種類（プリント、コピーなど）、ジョブで扱われた文書のページ数などを含む。ページ属性５１０は、各ページに対応した数だけあり、対応するページ画像の画像形式、サイズ、解像度、向きなどの情報が含まれる。ページ画像５２０は、各ページの印刷やスキャン画像を、監査用に記録したログ画像である。
【００２５】
ジョブ履歴送信部４０４は、一つのジョブ履歴を構成するデータの全てをジョブ履歴処理サーバー１１１に送信し終えた後、ジョブ履歴処理サーバー１１１から正常に受信が完了した旨の結果を受け取ると、ＨＤＤ２０４から送信が完了したジョブ履歴を削除する。ジョブ履歴の削除後、まだ、ＨＤＤ２０４にジョブ履歴がある場合には、ジョブ履歴送信部４０４は、引き続きジョブ履歴の送信を行う。ジョブ履歴がない場合には、ジョブ履歴送信部４０４は、予め設定された時間間隔で行われる次回のジョブ履歴の有無確認の機会まで待機する。また、ジョブ履歴の送信が途中でエラーとなった場合、ジョブ履歴送信部４０４は、送信途中のジョブ履歴を削除せず、後述するコネクションＩＤと関連付けて保持する。そして、ジョブ履歴送信部４０４は、予め設定された時間間隔で行われる次回のジョブ履歴の有無確認の機会まで待機する。
【００２６】
（ジョブ履歴処理サーバー）
図６は、ジョブ履歴処理サーバー１１１のソフトウェア構成例を示すブロック図である。
【００２７】
ジョブ履歴受信部６０１は、ＭＦＰ１０１のジョブ履歴送信部４０４から送信されてくるジョブ履歴を構成するデータを順次受信し、ＨＤＤ３１４のジョブ履歴処理用領域に保存する。ジョブ履歴を構成するデータの受信が全て完了すると、ジョブ履歴受信部６０１は、ジョブ履歴処理用領域に保存されたジョブ履歴を処理するように、ジョブ履歴処理部６０２に通知する。
【００２８】
ジョブ履歴処理部６０２は、ジョブ履歴に含まれるページ画像５２０に対し、ＯＣＲ処理によるテキスト抽出や、画像形式変換および解像度変換などを行い、さらに、別々のファイルであったページ画像を、一つのログ画像ファイルに結合するなどの処理を行う。また、ジョブ履歴処理部６０２は、連携するシステム１３１に応じて、ページ画像のサムネイルを作成したり、属性情報を整形したりするなどしても良い。そして、ジョブ履歴処理部６０２は、処理したジョブ履歴をエクスポート領域にエクスポートする。エクスポート領域は、ジョブ履歴処理サーバー１１１内の記憶部であっても良いし、外部の記憶領域であっても良い。例えば、ジョブ履歴処理部６０２は、設定に応じて、処理したジョブ履歴を外部のシステムに送信するようにしても良い。ここでの外部のシステムとは例えばシステム１３１が該当する。
【００２９】
ジョブ履歴管理部６０３は、ジョブ履歴処理用領域にあるジョブ履歴において、ジョブ履歴を構成するデータの受信が全て完了していないもののうち、所定の保存期限を過ぎたものがあるか否か確認する。保存期限を過ぎたジョブ履歴がある場合、ジョブ履歴管理部６０３は、そのジョブ履歴を不完全なジョブ履歴として処理するように、ジョブ履歴処理部６０２に通知する。なお、不完全なジョブ履歴とは、言い換えると、データ送信の中断の結果、送信側において未送信のジョブ履歴が存在するジョブ履歴を指す。つまり、１のジョブ履歴が分割された状態となる。また、所定の保存期限は、予め設定され、管理されているものとする。
【００３０】
設定制御部６０４は、ジョブ履歴処理サーバー１１１に関する設定や各部の動作設定を管理する。また、設定制御部６０４は、表示用のディスプレイ（不図示）等を介して、システム管理者からの設定変更指示を受け付けたり、設定内容を表示したりする。
【００３１】
［処理フロー］
次に、ＭＦＰ１０１からジョブ履歴処理サーバー１１１にジョブ履歴が送信される際の、ＭＦＰ１０１とジョブ履歴処理サーバー１１１の動作について図７と図８を用いて説明する。
【００３２】
図７は、ＭＦＰ１０１のジョブ履歴送信部４０４が、ＨＤＤ２０４に記録されているジョブ履歴を一つ送信する際の処理手順を表すフローチャートである。図７のフローチャートに示す各ステップは、ＭＦＰ１０１のＣＰＵ２０１が、ＲＯＭ２０３またはＨＤＤ２０４に記憶されているジョブ履歴送信部４０４を実現するプログラムを読み出して実行することで実現される。また、ＣＰＵ２０１は、必要に応じて記憶領域としてＲＡＭ２０２やＨＤＤ２０４を利用する。
【００３３】
また、図８は、ジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１が、ＭＦＰ１０１からの処理要求を受信した際の処理手順を表すフローチャートである。図８のフローチャートに示す各ステップは、ジョブ履歴処理サーバー１１１のＣＰＵ３１１がＲＯＭ３１２またはＨＤＤ３１４に記憶されているジョブ履歴受信部６０１を実現するプログラムを読み出して実行することで実現される。また、ＣＰＵ３１１は、必要に応じて記憶領域としてＲＡＭ３１３やＨＤＤ３１４を利用する。
【００３４】
以下、図７と図８の処理では主体が異なるため、各処理のタイミングを対応させながら説明する。
【００３５】
Ｓ７０１において、ジョブ履歴送信部４０４は、ジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１に対し、ジョブ履歴送信予約の要求を行う。
【００３６】
Ｓ８０１において、ジョブ履歴送信予約の要求を受信すると（Ｓ８０１にてＹＥＳ）、ジョブ履歴受信部６０１はＳ８０２に処理を進める。Ｓ８０２において、ジョブ履歴受信部６０１は、ジョブ履歴送信の同時接続数を確認する。この確認は、後述するジョブ履歴送信が許可されたコネクションＩＤがＨＤＤ３１４にある同時接続数管理領域にいくつ保存されているかを数えることによって行われる。また、同時接続数の最大値は予め設定されて設定制御部６０４にて管理されているものとする。現時点での同時接続数が予め設定された最大同時接続数未満である場合には（Ｓ８０２にてＹＥＳ）、ジョブ履歴受信部６０１は処理をＳ８０３に進める。最大同時接続数以上である場合には（Ｓ８０２にてＮＯ）、ジョブ履歴受信部６０１は処理をＳ８０５に進める。
【００３７】
Ｓ８０３において、ジョブ履歴受信部６０１は、ジョブ履歴送信用の接続を一意に識別するためのコネクションＩＤ（接続情報）を発行し、ジョブ履歴送信が許可されたコネクションＩＤとして、同時接続数管理領域に保存する。Ｓ８０４において、ジョブ履歴受信部６０１は、ジョブ履歴の送信許可に相当するジョブ履歴送信予約成功を、発行したコネクションＩＤと共にＭＦＰ１０１のジョブ履歴送信部４０４に応答する。一方、Ｓ８０５において、ジョブ履歴受信部６０１は、ジョブ履歴処理サーバー１１１が最大接続数に達しているためビジー状態である旨を、ジョブ履歴送信部４０４に応答する。
【００３８】
続いて、Ｓ７０２において、ＭＦＰ１０１のジョブ履歴送信部４０４は、ジョブ履歴送信予約に対する応答の内容を判定する。応答の内容が「ジョブ履歴送信予約成功」であった場合には（Ｓ７０２にてＹＥＳ）、ジョブ履歴送信部４０４は処理をＳ７０３に進める。応答の内容がビジー（すなわち、予約失敗）であった場合には（Ｓ７０２にてＮＯ）、ジョブ履歴送信部４０４は、ジョブ履歴送信処理を終了し、次回のジョブ履歴有無確認の機会まで待機する。なお、ジョブ履歴送信部４０４は、次回のジョブ履歴有無確認の機会に重ならない程度に短い時間だけ待って、再度送信予約をするようにしても良く、それを数回繰り返すようにしても良い。この場合には、再処理間隔を予め設定しておいてもよい。また、所定時間内に応答が受信できなかったり、通信エラーが発生したりした場合にも、ジョブ履歴送信部４０４は、応答の内容がビジーであった場合（すなわち、予約失敗）と同様の処理にしても良い。
【００３９】
Ｓ７０３において、ジョブ履歴送信部４０４は、ジョブ履歴送信予約の応答に含まれるコネクションＩＤを、ジョブ履歴送信用のコネクションＩＤとして保持する。Ｓ７０４において、ジョブ履歴送信部４０４は、ジョブ履歴送信用のコネクションＩＤとは別に、送信未完のコネクションＩＤを記憶しているか否かを判定する。送信未完のコネクションＩＤについては後述する。送信未完のコネクションＩＤを記憶している場合には（Ｓ７０４にてＹＥＳ）、ジョブ履歴送信部４０４は、処理をＳ７２１に進める。記憶していない場合には（Ｓ７０４にてＮＯ）、ジョブ履歴送信部４０４は、処理をＳ７０５に進める。
【００４０】
Ｓ７０５において、ジョブ履歴送信部４０４は、送信対象であるジョブ履歴５００のジョブ履歴属性情報５０１を、ジョブ履歴受信部６０１に送信する。Ｓ７０６において、ジョブ履歴送信部４０４は、ジョブ履歴５００に、ページ画像５２０が含まれるか否かを判定する。ページ画像５２０がある場合には（Ｓ７０６にてＹＥＳ）、ジョブ履歴送信部４０４は、処理をＳ７０７に進める。ページ画像５２０がない場合には（Ｓ７０６にてＮＯ）、ジョブ履歴送信部４０４は、処理をＳ７１０に進める。
【００４１】
Ｓ７０７において、ジョブ履歴送信部４０４は、ジョブ履歴５００に含まれる各ページに対する繰り返し処理（Ｓ７０８〜Ｓ７０９）を制御する。具体的には、ジョブ履歴送信部４０４は、繰り返し処理の対象とするページ番号を、１から順にページのデータがなくなるまで１ずつ増やしながら、Ｓ７０８〜Ｓ７０９の処理を繰り返し行う。Ｓ７０８において、ジョブ履歴送信部４０４は、処理対象のページ番号のページ属性をジョブ履歴受信部６０１に送信する。Ｓ７０９において、ジョブ履歴送信部４０４は、処理対象のページ番号のページ画像を、ジョブ履歴受信部６０１に送信する。全ページに対し、Ｓ７０８〜Ｓ７０９の処理が終わると、ジョブ履歴送信部４０４は、処理をＳ７１０に進める。
【００４２】
なお、Ｓ７０５のジョブ履歴属性情報送信、Ｓ７０８のページ属性送信、およびＳ７０９のページ画像送信により、ジョブ履歴データの送信が行われる。ジョブ履歴データの送信では、ジョブ履歴処理サーバー１１１に許可された正当な送信であることを示すために、ジョブ履歴送信用のコネクションＩＤが各データと共にジョブ履歴受信部６０１へ送信される。また、ジョブ履歴送信用のコネクションＩＤは、送信されたジョブ履歴データが同一のジョブ履歴であることを、ジョブ履歴処理サーバー１１１が識別するためにも用いられる。
【００４３】
なお、これらの送信処理において、コネクションＩＤ不正の応答を受信するか、もしくは何らかのエラーが発生して通信の続行ができなくなった場合、ジョブ履歴送信部４０４は、処理をＳ７１３に進めるものとする。この結果、ジョブ履歴処理サーバー１１１に受信されたジョブ履歴においてジョブ履歴を構成するデータのうちの一部のジョブ履歴データしか含まない状態になる場合がある。このとき、ジョブ履歴処理サーバー１１１が保持する一部のジョブ履歴データしか含まないジョブ履歴のことを「不完全ジョブ履歴」と呼ぶ。
【００４４】
続いて、ジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１は、ＭＦＰ１０１からジョブ履歴データを受信すると（Ｓ８０１にてＮＯ、かつＳ８１１にてＹＥＳ）、処理をＳ８１２に進める。Ｓ８１２において、ジョブ履歴受信部６０１は、ジョブ履歴データと共に送信されてきたジョブ履歴送信用のコネクションＩＤが、ジョブ履歴送信が許可されているコネクションＩＤか否かを判定する。ここでの許可されているコネクションＩＤか否かは、同時接続数管理領域に保存されているか否かで判定できる。許可されているコネクションＩＤである場合（Ｓ８１２にてＹＥＳ）、ジョブ履歴受信部６０１は、処理をＳ８１３に進める。許可されていないコネクションＩＤである場合（Ｓ８１２にてＮＯ）、ジョブ履歴受信部６０１は、処理をＳ８１４に進める。
【００４５】
Ｓ８１３において、ジョブ履歴受信部６０１は、ジョブ履歴データを受信して、ジョブ履歴データと共に受信したジョブ履歴送信用のコネクションＩＤに関連付けてジョブ履歴処理用領域に保存する。ここで、受信したジョブ履歴送信用のコネクションＩＤに関連付くステータス情報ファイルがない場合、ジョブ履歴受信部６０１は、受信したジョブ履歴送信用のコネクションＩＤに関連付けて、「ジョブ履歴受信中」を示すステータス情報ファイルを新たに作成する。Ｓ８１４において、ジョブ履歴受信部６０１は、受信したジョブ履歴送信用のコネクションＩＤが不正である旨を、ジョブ履歴送信部４０４に応答する。
【００４６】
続いて、Ｓ７１０において、ＭＦＰ１０１のジョブ履歴送信部４０４は、ジョブ履歴送信終了通知を、ジョブ履歴受信部６０１に送信する。本工程においても、ジョブ履歴送信用のコネクションＩＤが共にジョブ履歴受信部６０１へ送信される。
【００４７】
続いて、ジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１は、ＭＦＰ１０１からジョブ履歴送信終了通知を受信すると（Ｓ８０１およびＳ８１１にてＮＯ、かつＳ８２１にてＹＥＳ）、処理をＳ８２２に進める。Ｓ８２２において、ジョブ履歴受信部６０１は、ジョブ履歴送信終了通知と共に送信されてきたジョブ履歴送信用のコネクションＩＤが、ジョブ履歴送信が許可されているコネクションＩＤか否かを判定する。許可されているコネクションＩＤである場合（Ｓ８２２にてＹＥＳ）、ジョブ履歴受信部６０１は、処理をＳ８２３に進める。許可されていないコネクションＩＤである場合（Ｓ８２２にてＮＯ）、ジョブ履歴受信部６０１は、処理をＳ８１４に進める。
【００４８】
Ｓ８２３において、ジョブ履歴受信部６０１は、同時接続数管理領域から、ジョブ履歴送信終了通知と共に受信したジョブ履歴送信用のコネクションＩＤを削除する。Ｓ８２４において、ジョブ履歴受信部６０１は、受信したジョブ履歴送信用のコネクションＩＤに関連付いたジョブ履歴データに欠落があるか否かを判定する。具体的には、ジョブ履歴処理用領域に保存されている対象のジョブ履歴に関し、ジョブ履歴属性情報５０１があるか否かを判定する。そして、ジョブ履歴属性情報５０１がある場合には、そこに記載されているページ数分のページ属性とページ画像の対を受信しているか否かを判定する。欠落しているデータがない場合には（Ｓ８２４にてＮＯ）、ジョブ履歴受信部６０１は、処理をＳ８２５に進める。欠落しているデータがある場合には（Ｓ８２４にてＹＥＳ）、ジョブ履歴受信部６０１は、処理をＳ８２７に進める。
【００４９】
Ｓ８２５において、ジョブ履歴受信部６０１は、受信したジョブ履歴送信用のコネクションＩＤに関連付いたジョブ履歴の受信が完了し、ジョブ履歴処理が可能となったことを、そのコネクションＩＤと共にジョブ履歴処理部６０２に通知する。この通知を、「通常ジョブ履歴処理依頼」と称する。また、ジョブ履歴受信部６０１は、このジョブ履歴のコネクションＩＤに関連付いたステータス情報ファイルを、ジョブ履歴受信完了を示すように更新する。Ｓ８２６において、ジョブ履歴受信部６０１は、ジョブ履歴受信完了を送信元に応答する。Ｓ８２７において、ジョブ履歴受信部６０１は、ジョブ履歴受信エラーをジョブ履歴送信部４０４に応答する。
【００５０】
続いて、Ｓ７１１において、ＭＦＰ１０１のジョブ履歴送信部４０４は、ジョブ履歴送信終了通知に対する応答を判定する。応答の内容がジョブ履歴受信完了である場合には（Ｓ７１１にてＹＥＳ）、ジョブ履歴送信部４０４は、処理をＳ７１２に進める。ジョブ履歴受信エラーである場合には（Ｓ７１１にてＮＯ）、ジョブ履歴送信部４０４は、処理をＳ７１３に進める。
【００５１】
Ｓ７１２において、ジョブ履歴送信部４０４は、送信が完了したジョブ履歴を削除する。このとき、削除するジョブ履歴に関連付いた送信未完のコネクションＩＤを記憶している場合、ジョブ履歴送信部４０４は、そのコネクションＩＤも削除する。Ｓ７１３において、ジョブ履歴送信部４０４は、送信していたジョブ履歴がジョブ履歴処理サーバー１１１側で受信完了しなかったと判断し、ジョブ履歴送信用のコネクションＩＤを送信未完のコネクションＩＤとして、送信していたジョブ履歴に関連付けて保存する。Ｓ７１４において、ジョブ履歴送信部４０４は、保持しているジョブ履歴送信用のコネクションＩＤを破棄し、ジョブ履歴送信の処理を終了する。
【００５２】
Ｓ７１３にて送信未完のコネクションＩＤを記憶している場合、次回のジョブ履歴送信時には、Ｓ７０４にてＹＥＳとなり、ジョブ履歴送信部４０４は、処理をＳ７２１に進める。Ｓ７２１において、ジョブ履歴送信部４０４は、送信未完のコネクションＩＤで送信していたジョブ履歴のジョブ履歴処理サーバー１１１における受信状況を問合せるための処理要求を、ジョブ履歴受信部６０１に送信する。問合せにおいて、送信未完のコネクションＩＤとジョブ履歴送信用のコネクションＩＤとが一緒に送信される。
【００５３】
続いて、ジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１は、ジョブ履歴の受信状況問合せを受信すると（Ｓ８０１、Ｓ８１１、およびＳ８２１にてＮＯ、かつＳ８３１にてＹＥＳ）、処理をＳ８３２に進める。なお、通常は発生しないが、例えば、何らかの障害が発生した場合などにより、Ｓ８３１の判定もＮＯとなる場合、ジョブ履歴受信部６０１は、Ｓ８４１において、処理要求元に対しリクエストエラーを応答する。
【００５４】
Ｓ８３２において、ジョブ履歴受信部６０１は、受信状況の問合せと共に送信されてきたジョブ履歴送信用のコネクションＩＤが、ジョブ履歴の送信を許可されているコネクションＩＤか否かを判定する。許可されているコネクションＩＤである場合（Ｓ８３２にてＹＥＳ）、ジョブ履歴受信部６０１は、処理をＳ８３３に進める。許可されていないコネクションＩＤである場合（Ｓ８３２にてＮＯ）、ジョブ履歴受信部６０１は、処理をＳ８１４に進める。
【００５５】
Ｓ８３３において、ジョブ履歴受信部６０１は、受信した問い合わせに基づき、同時接続数管理領域に保存されている、受信したジョブ履歴送信用のコネクションＩＤを、受信した送信未完のコネクションＩＤに変更する。これにより、送信未完のコネクションＩＤは、同時接続数管理領域に登録され、ジョブ履歴の送信が許可されたコネクションＩＤとなる。
【００５６】
Ｓ８３４において、ジョブ履歴受信部６０１は、受信した送信未完のコネクションＩＤに関連付いているジョブ履歴について、どのジョブ履歴データがジョブ履歴処理用領域に保存されているかを確認し、その確認結果を応答する。確認結果の内容は、例えば、「ジョブ履歴属性情報５０１、１ページ目のページ属性とページ画像、２ページ目のページ属性」となる。なお、送信未完のコネクションＩＤに関連付いているジョブ履歴のデータがジョブ履歴処理用領域に保存されていない場合には、確認結果の内容は、「受信済みデータなし」となる。
【００５７】
続いて、Ｓ７２２において、ＭＦＰ１０１のジョブ履歴送信部４０４は、記憶していた送信未完のコネクションＩＤを、新たなジョブ履歴送信用のコネクションＩＤとして保持する。これにより、ジョブ履歴送信部４０４がこれ以降に行うジョブ履歴データの送信やジョブ履歴送信終了通知が、ジョブ履歴処理サーバー１１１が保持する不完全ジョブ履歴に関するものであると識別可能となる。
【００５８】
Ｓ７２３において、ジョブ履歴送信部４０４は、受信状況問合せに対する応答の内容を判定する。応答の内容と、送信未完のコネクションＩＤに関連付いたジョブ履歴から、ジョブ履歴処理サーバー１１１が未受信のジョブ履歴データがあると判定される場合には（Ｓ７２３にてＹＥＳ）、ジョブ履歴送信部４０４は、処理をＳ７２４に進める。未受信のジョブ履歴データが無いと判定される場合には（Ｓ７２３にてＮＯ）、ジョブ履歴送信終了通知が受信されていない状況であるため、ジョブ履歴送信部４０４は、処理をＳ７１０に進める。
【００５９】
Ｓ７２４において、ジョブ履歴送信部４０４は、受信状況問合せに対する応答の内容から、ジョブ履歴処理サーバー１１１が未受信のジョブ履歴データを、送信未完のコネクションＩＤに関連付いたジョブ履歴の中から送信する。このときの送信の詳細は、Ｓ７０５〜Ｓ７０９と同様な手順で、ジョブ履歴処理サーバー１１１が未受信のジョブ履歴データだけをジョブ履歴送信用のコネクションＩＤと共に送信する。この、ジョブ履歴処理サーバー１１１にある不完全ジョブ履歴を補完するために送信されるジョブ履歴データを、「補完ジョブ履歴データ」と呼ぶ。つまり、「補完ジョブ履歴データ」は、ジョブ履歴のうちのジョブ履歴処理サーバー１１１が受信していなかった残りの分のジョブ履歴データとなる。
【００６０】
（不完全ジョブ履歴判定処理）
次に、ジョブ履歴処理サーバー１１１のジョブ履歴管理部６０３が、不完全ジョブ履歴の保存期限を判定する際の動作について、図９のフローチャートを用いて説明する。図９のフローチャートに示す各ステップは、ジョブ履歴処理サーバー１１１のＣＰＵ３１１がＲＯＭ３１２またはＨＤＤ３１４に記憶されているジョブ履歴管理部６０３を実現するプログラムを読み出して実行することで実現される。また、ＣＰＵ３１１は、必要に応じて記憶領域としてＲＡＭ３１３やＨＤＤ３１４を利用する。なお、不完全ジョブ履歴の判定処理は、予め設定された時間間隔で行われるものとする。ここでの時間間隔は例えば、設定制御部６０４にて管理されているものとする。
【００６１】
Ｓ９０１において、ジョブ履歴管理部６０３は、ジョブ履歴処理用領域にあるジョブ履歴に関連付けられているコネクションＩＤの一覧を取得する。Ｓ９０２において、ジョブ履歴管理部６０３は、一覧にコネクションＩＤがあるか否かを判定する。コネクションＩＤがある場合には（Ｓ９０２にてＹＥＳ）、ジョブ履歴管理部６０３は、処理をＳ９０３に進める。コネクションＩＤがない場合には（Ｓ９０２にてＮＯ）、ジョブ履歴管理部６０３は、不完全ジョブ履歴の判定処理を終了する。
【００６２】
Ｓ９０３において、ジョブ履歴管理部６０３は、一覧からコネクションＩＤを一つ選択する。Ｓ９０４において、ジョブ履歴管理部６０３は、選択したコネクションＩＤのステータス情報ファイルを確認し、ステータスが「ジョブ履歴受信中」か否かを判定する。ジョブ履歴受信中である場合には（Ｓ９０４にてＹＥＳ）、ジョブ履歴管理部６０３は、処理をＳ９０５に進める。ジョブ履歴受信中でない場合には（Ｓ９０４にてＮＯ）、ジョブ履歴管理部６０３は、処理をＳ９０８に進める。
【００６３】
Ｓ９０５において、ジョブ履歴管理部６０３は、選択したコネクションＩＤに関連付くジョブ履歴データの内、最後に受信されたデータの保存日時を取得する。Ｓ９０６において、ジョブ履歴管理部６０３は、Ｓ９０５で取得した日時に基づき、選択したコネクションＩＤに関連付いたジョブ履歴の保存期限が、予め設定された保存期限を経過したか否かを判定する。ここでの保存期間は例えば、設定制御部６０４にて管理されているものとする。保存期限を過ぎている場合（Ｓ９０６にてＹＥＳ）、ジョブ履歴管理部６０３は、処理をＳ９０７に進める。保存期限を過ぎていない場合（Ｓ９０６にてＮＯ）、ジョブ履歴管理部６０３は、処理をＳ９０８に進める。
【００６４】
Ｓ９０７において、ジョブ履歴管理部６０３は、選択したコネクションＩＤに関連付いたジョブ履歴を、不完全ジョブ履歴として処理するように、コネクションＩＤと共にジョブ履歴処理部６０２に通知する。この通知を「不完全ジョブ履歴処理依頼」とする。Ｓ９０８において、ジョブ履歴管理部６０３は、選択したコネクションＩＤを、Ｓ９０１で取得した一覧から削除し、処理をＳ９０２に進める。
【００６５】
（ジョブ履歴処理）
次に、ジョブ履歴処理サーバー１１１のジョブ履歴処理部６０２が、他の処理部からジョブ履歴に対する処理依頼を受け取ったときの動作について、図１０のフローチャートを用いて説明する。図１０のフローチャートに示す各ステップは、ジョブ履歴処理サーバー１１１のＣＰＵ３１１がＲＯＭ３１２またはＨＤＤ３１４に記憶されているジョブ履歴処理部６０２を実現するプログラムを読み出して実行することで実現される。また、ＣＰＵ３１１は、必要に応じて記憶領域としてＲＡＭ３１３やＨＤＤ３１４を利用する。
【００６６】
Ｓ１００１において、ジョブ履歴処理部６０２は、他の処理部から受け取った依頼が、不完全ジョブ履歴処理依頼か否かを判定する。不完全ジョブ履歴処理依頼でない場合には（Ｓ１００１にてＮＯ）、ジョブ履歴処理部６０２は、処理をＳ１００２に進める。不完全ジョブ履歴処理依頼である場合には（Ｓ１００１にてＹＥＳ）、ジョブ履歴処理部６０２は、処理をＳ１００４に進める。
【００６７】
Ｓ１００２において、ジョブ履歴処理部６０２は、Ｓ１００１で受け取った処理依頼に含まれるコネクションＩＤに関連付いたステータス情報ファイルを、「ジョブ履歴処理中」である旨を示すように更新する。Ｓ１００３において、ジョブ履歴処理部６０２は、通常のジョブ履歴処理を、処理依頼に含まれるコネクションＩＤに関連付いたジョブ履歴に対し実行する。この処理の詳細の説明は省略するが、必要に応じて、ジョブ履歴処理サーバー１１１は、ジョブ履歴属性情報の整形、ページ画像の集約、変換などを行う。
【００６８】
Ｓ１００４において、ジョブ履歴処理部６０２は、Ｓ１００１で受け取った処理依頼に含まれるコネクションＩＤに関連付いたステータス情報ファイルを、「不完全ジョブ履歴処理中」である旨を示すように更新する。Ｓ１００５において、ジョブ履歴処理部６０２は、不完全なジョブ履歴に対する処理を、処理依頼に含まれるコネクションＩＤに関連付いたジョブ履歴に対し実行する。ここでの処理は、基本的にはＳ１００３と同様である。しかし、対象となるジョブ履歴がジョブ履歴属性情報もしくはページ画像に欠落が生じたジョブ履歴であるため、ジョブ履歴処理部６０２は、ジョブ履歴属性情報の中に不完全なジョブ履歴であることを示す情報を追加する。
【００６９】
Ｓ１００６において、ジョブ履歴処理部６０２は、ジョブ履歴処理が完了したジョブ履歴を、外部システムに取り込ませるために、予め設定されたエクスポート領域にエクスポートする。Ｓ１００７において、ジョブ履歴処理部６０２は、エクスポートが完了したジョブ履歴を、ジョブ履歴処理用領域から削除する。
【００７０】
以上、第一の実施形態では、ジョブ履歴処理サーバー１１１におけるジョブ履歴受信が途絶え、再度受信が可能となった際に、不足しているジョブ履歴データのみを受信して、処理することができる。また、不足しているジョブ履歴データが送られて来ない場合には、途中まで受信していたジョブ履歴を、不完全なジョブ履歴として処理することが可能である。これにより、ジョブ履歴の保全性向上と、補完送信の効率改善が可能となる。
【００７１】
なお、ジョブ履歴管理部６０３の不完全ジョブ履歴の保存期限の判断であるが、ジョブ履歴受信状況の問合せを受けた際に、その保存期限を延ばすようにしても良い。例えば、ステータス情報ファイルに、最後に受信したジョブ履歴データの保存日時を持たせておき、ジョブ履歴受信状況の問合せを受けたときに、ステータス情報ファイルが有する日時情報を更新することで実現できる。
【００７２】
＜第二の実施形態＞
次に本発明の第二の実施形態について説明する。本実施形態は、主に、ＭＦＰの台数が多く、複数のジョブ履歴処理サーバーを必要とする環境に対応するものである。なお、第一の実施形態と重複する部分の説明は省略し、差分のみを説明することとする。
【００７３】
［システム構成］
図１１は、本実施形態におけるジョブ履歴処理システム１００およびそれと連携するシステム１３１の構成例を示す図である。本実施形態におけるジョブ履歴処理システム１００は、複数台のＭＦＰ１０１と、複数台のジョブ履歴処理サーバー１１１とが、負荷分散装置１５１を介して接続されている。
【００７４】
負荷分散装置１５１は、ＭＦＰ１０１からジョブ履歴処理サーバー１１１に対する接続を振り分け、複数のジョブ履歴処理サーバー１１１間で負荷が分散されるようにする。つまり、接続を振り分けることで、ジョブ履歴の格納先を振り分けることができる。本実施形態においては、負荷分散装置１５１は、ＯＳＩ参照モデルのアプリケーション層の情報を参照して接続先を判断するパーシステンス機能を備える。そして、システム構築の際、ＭＦＰ１０１からの通信に、ジョブ履歴処理サーバー１１１を識別するためのサーバーＩＤが含まれる場合には、サーバーＩＤによって特定されるジョブ履歴処理サーバー１１１に、通信を振り分ける設定がされているものとする。
【００７５】
次に、本実施形態におけるジョブ履歴処理サーバー１１１について説明する。本実施形態におけるジョブ履歴処理サーバー１１１は、自身の設定値として、複数のサーバーそれぞれを一意に識別するためのサーバーＩＤ（識別情報）を有する。サーバーＩＤは、システム管理者からの入力を受け付け、設定制御部６０４により予め設定される。設定制御部６０４が、ジョブ履歴処理サーバー１１１が動作するハードウェア固有の情報や、ＩＰアドレス、ＭＡＣアドレスなどからサーバーＩＤを自動的に生成するようにしても良い。
【００７６】
次に、ジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１の動作について説明する。図８のＳ８０３において、ジョブ履歴受信部６０１は、サーバーＩＤを含むコネクションＩＤを発行し、ジョブ履歴送信が許可されたコネクションＩＤとして、同時接続数管理領域に保存する。これにより、Ｓ８０４において、ＭＦＰ１０１にサーバーＩＤを含むコネクションＩＤが、ジョブ履歴送信予約成功の応答と共に送信される。
【００７７】
［処理フロー］
次に、本実施形態におけるＭＦＰ１０１のジョブ履歴送信部４０４について、図１２のフローチャートを用いて説明する。図１２のフローチャートに示す各ステップは、ＭＦＰ１０１のＣＰＵ２０１が、ＲＯＭ２０３またはＨＤＤ２０４に記憶されているジョブ履歴送信部４０４を実現するプログラムを読み出して実行することで実現される。また、ＣＰＵ２０１は、必要に応じて記憶領域としてＲＡＭ２０２やＨＤＤ２０４を利用する。なお、図１２において、図７と同様の処理内容のステップについては説明を省略する。
【００７８】
Ｓ１２０１では、ジョブ履歴送信部４０４は、Ｓ７０４と同様の判定を行う。送信未完のコネクションＩＤを記憶している場合には（Ｓ１２０１にてＹＥＳ）、ジョブ履歴送信部４０４は、処理をＳ１２２１に進める。記憶していない場合には（Ｓ１２０１にてＮＯ）、ジョブ履歴送信部４０４は、処理をＳ１２０２に進める。Ｓ１２０２〜Ｓ１２０４の処理はそれぞれ、Ｓ７０１〜Ｓ７０３の処理と同様である。ただし、Ｓ１２０２のジョブ履歴送信予約は、負荷分散装置１５１の働きによって、異なるジョブ履歴処理サーバー１１１に対して行われることがあるため、成功しない場合には所定の回数を上限として複数回リトライするようにしても良い。
【００７９】
Ｓ１２０５〜Ｓ１２０９の処理はそれぞれ、Ｓ７０５〜Ｓ７０９の処理と、基本的には同様である。ただし、Ｓ１２０５、Ｓ１２０８、Ｓ１２０９において、ジョブ履歴送信部４０４は、ジョブ履歴送信用のコネクションＩＤから送付先のサーバーＩＤを取り出し、負荷分散装置１５１が識別できるように送信情報に含める。サーバーＩＤの含め方は、負荷分散装置１５１が識別できる形式であれば良く、ＵＲＬパラメーターに含めても良いし、Ｃｏｏｋｉｅとして持たせても良い。これらのステップは、ジョブ履歴データの送信であるが、負荷分散装置１５１が識別できるようにサーバーＩＤを含めて送信することにより、ジョブ履歴を構成する各ジョブ履歴データが異なるジョブ履歴処理サーバー１１１に分散されないようにする。
【００８０】
Ｓ１２１０の処理は、Ｓ７１０の処理とほぼ同様であるが、ここでも、Ｓ１２０５などと同様に、ジョブ履歴送信部４０４は、サーバーＩＤを含めて送信する。これにより、ジョブ履歴データを送信したジョブ履歴処理サーバー１１１に対して、ジョブ履歴送信終了通知が送信されるようにする。Ｓ１２１１〜Ｓ１２１４の処理はそれぞれ、Ｓ７１１〜Ｓ７１４の処理と同様である。
【００８１】
Ｓ１２２１では、ジョブ履歴送信部４０４は、記憶している送信未完のコネクションＩＤから送付先のサーバーＩＤを取り出し、Ｓ１２０５などと同様に、送信情報に含めてジョブ履歴送信予約の要求を行う。これにより、記憶している送信未完のコネクションＩＤに関連付いた不完全ジョブ履歴を保持するジョブ履歴処理サーバー１１１に対して、ジョブ履歴送信予約を行うことができる。Ｓ１２２２とＳ１２２３の処理はそれぞれ、Ｓ１２０３とＳ１２０４と同様である。
【００８２】
Ｓ１２２４の処理は、Ｓ７２１の処理とほぼ同様であるが、Ｓ１２０５などと同様に、ジョブ履歴送信部４０４は、ジョブ履歴送信用のコネクションＩＤから取り出したサーバーＩＤを含めて送信する。これにより、記憶している送信未完のコネクションＩＤに関連付いた不完全ジョブ履歴を保持し、且つ、ジョブ履歴送信を予約したジョブ履歴処理サーバー１１１に対し、不完全ジョブ履歴の受信状況を問合せることができる。
【００８３】
Ｓ１２２５〜Ｓ１２２７の処理は、Ｓ７２２〜Ｓ７２４の処理と基本的には同様である。ただし、Ｓ１２２７においては、Ｓ１２０５などと同様に、ジョブ履歴送信部４０４は、ジョブ履歴送信用のコネクションＩＤから取り出したサーバーＩＤを含めて送信する。これにより、補完ジョブ履歴データを、それに対応する不完全ジョブ履歴を保持するジョブ履歴処理サーバー１１１に送信することができる。
【００８４】
以上、第二の実施形態では、ジョブ履歴処理サーバー１１１が複数台あって、高機能な負荷分散装置１５１によって負荷分散される構成においても、ジョブ履歴処理サーバー１１１が未受信のジョブ履歴データのみを効率的に受信して補完することができる。
【００８５】
＜第三の実施形態＞
次に本発明の第三の実施形態について説明する。本実施形態では、第二の実施形態の図１２のＳ１２２２にてジョブ履歴送信予約が失敗した場合に、ジョブ履歴処理サーバー１１１を特定せずに、ジョブ履歴処理サーバー１１１に受信されていないジョブ履歴データを送信する。なお、第二の実施形態と重複する部分の説明は省略し、差分のみを説明する。
【００８６】
［ソフトウェア構成］
本実施形態に係るジョブ履歴処理サーバー１１１のソフトウェア構成例を示すブロック図を図１３に示す。図１３は、ジョブ履歴補完部６０５が加わっている点が図６と異なる。ジョブ履歴補完部６０５は、異なるジョブ履歴処理サーバー１１１が保持する不完全ジョブ履歴を取得するか、異なるジョブ履歴処理サーバー１１１に自身が保持する補完ジョブ履歴データを送信する。これにより、ジョブ履歴補完部６０５は、分散して保持されている不完全ジョブ履歴をいずれかのジョブ履歴処理サーバー１１１に、ジョブ履歴データを集約する。
【００８７】
また、本実施形態のジョブ履歴処理サーバー１１１は、自身のサーバーＩＤの他に、別のジョブ履歴処理サーバー１１１のサーバーＩＤと、それらにアクセスするためのアドレス情報とを対応付けて保持する。別のジョブ履歴処理サーバー１１１の情報については、システム管理者からの入力を受け付け、設定制御部６０４が予め設定するものとする。または、アドレス情報のみをシステム管理者に入力させ、サーバーＩＤは、ジョブ履歴処理サーバー１１１それぞれから取得するようにしても良い。
【００８８】
［処理フロー］
本実施形態におけるＭＦＰ１０１のジョブ履歴送信部４０４について、図１４のフローチャートを用いて説明する。図１４のフローチャートに示す各ステップは、ＭＦＰ１０１のＣＰＵ２０１が、ＲＯＭ２０３またはＨＤＤ２０４に記憶されているジョブ履歴送信部４０４を実現するプログラムを読み出して実行することで実現される。また、ＣＰＵ２０１は、必要に応じて記憶領域としてＲＡＭ２０２やＨＤＤ２０４を利用する。なお、図１４は、図１２のフローチャートに対し、Ｓ１２２２の判定がＮＯの場合に、Ｓ１４３１〜Ｓ１４３４の処理が加わっている点が異なる。それ以外のステップについては、図１２と処理内容が同じため、図１２と同一の符号を付し、その説明は省略する。
【００８９】
Ｓ１４３１において、ジョブ履歴送信部４０４は、Ｓ１２０２と同様に、ジョブ履歴送信予約を行う。ただし、Ｓ１４３１のジョブ履歴送信予約は、負荷分散装置１５１の働きによって、異なるジョブ履歴処理サーバー１１１に対して行われることがあるため、成功しない場合には、複数回リトライするようにしても良い。
【００９０】
Ｓ１４３２において、ジョブ履歴送信部４０４は、Ｓ７０２と同様に、ジョブ履歴送信予約に対する応答の内容を判定する。応答の内容が「ジョブ履歴送信予約成功」である場合には（Ｓ１４３２にてＹＥＳ）、ジョブ履歴送信部４０４は、処理をＳ１４３３に進める。応答の内容がビジー（すなわち、予約失敗）である場合には（Ｓ１４３２にてＮＯ）、ジョブ履歴送信部４０４は、ジョブ履歴送信処理を終了し、次回のジョブ履歴有無確認の機会まで待機する。
【００９１】
Ｓ１４３３において、ジョブ履歴送信部４０４は、Ｓ７０３と同様に、ジョブ履歴送信予約の応答に含まれるコネクションＩＤを、ジョブ履歴送信用のコネクションＩＤとして保持する。
【００９２】
Ｓ１４３４において、ジョブ履歴送信部４０４は、送信未完のコネクションＩＤに関連付いた不完全ジョブ履歴の受信状況を問合せる処理要求を送信する。問合せにおいて、送信未完のコネクションＩＤとジョブ履歴送信用のコネクションＩＤとが一緒に送信される。さらに、Ｓ１４３４においては、ジョブ履歴送信部４０４は、Ｓ１２０５などと同様に、ジョブ履歴送信用のコネクションＩＤから取り出したサーバーＩＤをジョブ履歴属性情報に含めて、送信する。これにより、ジョブ履歴送信を予約したジョブ履歴処理サーバー１１１に対し、不完全ジョブ履歴の受信状況を問合せる処理要求を送信することができる。
【００９３】
（受信状況問い合わせの受信時の処理）
次に、ジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１の処理について、図１５のフローチャートを用いて説明する。図１５のフローチャートに示す各ステップは、ジョブ履歴処理サーバー１１１のＣＰＵ３１１がＲＯＭ３１２またはＨＤＤ３１４に記憶されているジョブ履歴受信部６０１を実現するプログラムを読み出して実行することで実現される。また、ＣＰＵ３１１は、必要に応じて記憶領域としてＲＡＭ３１３やＨＤＤ３１４を利用する。
【００９４】
図１５は、ジョブ履歴受信部６０１が、ＭＦＰ１０１のジョブ履歴送信部４０４から受信状況問合せを受信したときの処理のみを表しており、具体的には、図８のＳ８３２〜Ｓ８３４に置き換わる処理である。図１５において、図８と同様の処理内容のステップについては説明を省略する。
【００９５】
Ｓ１５０１において、ジョブ履歴受信部６０１は、Ｓ８３２と同様の判定を行う。受信したジョブ履歴送信用のコネクションＩＤが、ジョブ履歴送信が許可されているコネクションＩＤである場合（Ｓ１５０１にてＹＥＳ）、ジョブ履歴受信部６０１は、処理をＳ１５０２に進める。許可されていないコネクションＩＤである場合（Ｓ１５０１にてＮＯ）、ジョブ履歴受信部６０１は、処理をＳ１５２１に進める。
【００９６】
Ｓ１５０２において、ジョブ履歴受信部６０１は、受信状況問合せにて取得した送信未完のコネクションＩＤに含まれるサーバーＩＤが、自身のサーバーＩＤか否かを判定する。自身のサーバーＩＤである場合には（Ｓ１５０２にてＹＥＳ）、ジョブ履歴受信部６０１は、処理をＳ１５０３に進める。自身のサーバーＩＤでない場合には（Ｓ１５０２にてＮＯ）、ジョブ履歴受信部６０１は、処理をＳ１５１１に進める。
【００９７】
Ｓ１５０３およびＳ１５０４はそれぞれ、Ｓ８３３およびＳ８３４と同様の処理であるため、説明は省略する。
【００９８】
Ｓ１５１１において、ジョブ履歴受信部６０１は、送信未完のコネクションＩＤに含まれるサーバーＩＤに対応するジョブ履歴処理サーバー１１１に、受信状況問合せを行う。このとき、ジョブ履歴受信部６０１は、問合せに、送信未完のコネクションＩＤと、自身のサーバーＩＤとを含める。なお、別のジョブ履歴処理サーバー１１１への受信状況の問合せは、問合せ先のジョブ履歴処理サーバー１１１の同時接続数に影響されずに処理されるものとする。問合せを受けたジョブ履歴処理サーバー１１１は、基本的に、Ｓ８３４と同様の処理を行う。ただし、ジョブ履歴属性情報５０１がある場合、問合せを受けたジョブ履歴処理サーバー１１１は、ジョブ履歴が全体で何ページあるかの情報も併せて、問合せ元のジョブ履歴処理サーバー１１１に応答する。
【００９９】
Ｓ１５１２において、ジョブ履歴受信部６０１は、取得した不完全ジョブ履歴の受信状況と送信未完のコネクションＩＤとを、ジョブ履歴送信用のコネクションＩＤに関連付けてジョブ履歴処理用領域に保存する。Ｓ１５１３において、ジョブ履歴受信部６０１は、取得した不完全ジョブ履歴の受信状況をジョブ履歴送信部４０４に応答する。
【０１００】
Ｓ１５２１は、Ｓ８１４と同様の処理であり、ジョブ履歴受信部６０１は、ジョブ履歴送信用のコネクションＩＤが不正である旨をジョブ履歴送信部４０４に応答する。
【０１０１】
以上、Ｓ１４３４における受信状況問合せを受信したジョブ履歴処理サーバー１１１は、問い合わされた不完全ジョブ履歴を保持するジョブ履歴処理サーバー１１１に対して問合せを行い、その受信状況を取得する。そして、Ｓ１４３４の受信状況問合せを受信したジョブ履歴処理サーバー１１１は、Ｓ１４３４の受信状況問合せに応答することができる。これにより、Ｓ１４３４の受信状況問合せを受信したジョブ履歴処理サーバー１１１が、補完ジョブ履歴データとそれに対応するジョブ履歴送信終了通知とを受信することになる。
【０１０２】
（ジョブ履歴送信終了通知の受信時の処理）
図１６に、ＭＦＰ１０１のジョブ履歴送信部４０４からジョブ履歴送信終了通知を受信した際の、ジョブ履歴受信部６０１の処理フローを示す。図１６のフローチャートに示す各ステップは、ジョブ履歴処理サーバー１１１のＣＰＵ３１１がＲＯＭ３１２またはＨＤＤ３１４に記憶されているジョブ履歴受信部６０１を実現するプログラムを読み出して実行することで実現される。また、ＣＰＵ３１１は、必要に応じて記憶領域としてＲＡＭ３１３やＨＤＤ３１４を利用する。
【０１０３】
図１６は、ジョブ履歴受信部６０１が、ＭＦＰ１０１のジョブ履歴送信部４０４から、ジョブ履歴送信終了通知を受信したときの処理のみを表しており、具体的には、図８のＳ８２２〜Ｓ８２７に置き換わる処理である。図１６において、図８と同様の処理内容のステップについては説明を省略する。
【０１０４】
Ｓ１６０１において、ジョブ履歴受信部６０１は、Ｓ８２２と同様の判定を行う。受信したジョブ履歴送信用のコネクションＩＤが、ジョブ履歴送信が許可されているコネクションＩＤである場合（Ｓ１６０１にてＹＥＳ）、ジョブ履歴受信部６０１は、処理をＳ１６０２に進める。許可されていないコネクションＩＤである場合（Ｓ１６０１にてＮＯ）、ジョブ履歴受信部６０１は、処理をＳ１６２１に進める。Ｓ１６０２は、Ｓ８２３と同様の処理であるため、説明は省略する。
【０１０５】
Ｓ１６０３において、ジョブ履歴受信部６０１は、受信したジョブ履歴送信用のコネクションＩＤに関連付く送信未完のコネクションＩＤがジョブ履歴処理用領域に保存されているか否かを判定する。送信未完のコネクションＩＤが保存されていない場合（Ｓ１６０３にてＮＯ）、ジョブ履歴受信部６０１は、処理をＳ１６０４に進める。保存されている場合（Ｓ１６０３にてＹＥＳ）、ジョブ履歴受信部６０１は、処理をＳ１６１１に進める。なお、送信未完のコネクションＩＤが保存されている場合、受信したジョブ履歴送信終了通知が、別のジョブ履歴処理サーバー１１１が保持する不完全ジョブ履歴の補完ジョブ履歴データに対応するものであることとなる。
【０１０６】
Ｓ１６０４は、Ｓ８２４と同様の判定を行うため、説明は省略する。Ｓ１６０５〜Ｓ１６０７はそれぞれ、Ｓ８２５〜Ｓ８２７と同様の処理であるため、説明は省略する。
【０１０７】
Ｓ１６１１において、ジョブ履歴受信部６０１は、受信したジョブ履歴送信用のコネクションＩＤに関連付く補完ジョブ履歴データに欠落があるか否かを判定する。詳細には、ジョブ履歴処理用領域に保存されている対象のジョブ履歴に関し、ジョブ履歴処理用領域に保存されている受信状況の内容に基づいて、受信すべきデータが全て受信されているか否かを判定する。欠落しているデータがない場合には（Ｓ１６１１にてＮＯ）、ジョブ履歴受信部６０１は、処理をＳ１６１２に進める。欠落しているデータがある場合には（Ｓ１６１１にてＹＥＳ）、ジョブ履歴受信部６０１は、処理をＳ１６０７に進める。
【０１０８】
Ｓ１６１２において、ジョブ履歴受信部６０１は、補完ジョブ履歴データ受信完了を、関連付けられているジョブ履歴送信用のコネクションＩＤと共にジョブ履歴補完部６０５に通知する。また、このとき、ジョブ履歴受信部６０１は、ジョブ履歴送信用のコネクションＩＤに関連付いたステータス情報ファイルを「補完ジョブ履歴データ受信完了」を示すように更新し、処理をＳ１６０６に進める。Ｓ１６２１は、Ｓ８１４と同様の処理であるため、説明は省略する。
【０１０９】
（補完ジョブ履歴データ受信完了通知の受信時の処理）
次に、補完ジョブ履歴データ受信完了通知を受信した際の、ジョブ履歴補完部６０５の処理を、図１７のフローチャートを用いて説明する。図１７のフローチャートに示す各ステップは、ジョブ履歴処理サーバー１１１のＣＰＵ３１１がＲＯＭ３１２またはＨＤＤ３１４に記憶されているジョブ履歴補完部６０５を実現するプログラムを読み出して実行することで実現される。また、ＣＰＵ３１１は、必要に応じて記憶領域としてＲＡＭ３１３やＨＤＤ３１４を利用する。
【０１１０】
Ｓ１７０１において、ジョブ履歴補完部６０５は、補完対象の不完全ジョブ履歴を保持するジョブ履歴処理サーバー１１１が受信しているページ画像数よりも、自身が受信しているページ画像数の方が多いか否かを判定する。ここでの判定は、Ｓ１６１２の通知と共に送られてきたコネクションＩＤに関連付いた、ジョブ履歴処理用領域に保存されている受信状況と補完ジョブ履歴データとに基づいて行われる。自身が受信しているページ画像数の方がより多い場合には（Ｓ１７０１にてＹＥＳ）、ジョブ履歴補完部６０５は、処理をＳ１７０２に進める。自身以外の方がより多くのページ画像を受信している場合には（Ｓ１７０１にてＮＯ）、ジョブ履歴補完部６０５は、処理をＳ１７１１に進める。
【０１１１】
Ｓ１７０２において、ジョブ履歴補完部６０５は、送られてきたコネクションＩＤに関連付けて保存されている送信未完のコネクションＩＤに含まれるサーバーＩＤを取得する。そして、ジョブ履歴補完部６０５は、取得したサーバーＩＤに対応するジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１に対し、送信未完のコネクションＩＤに関連付くジョブ履歴データの取得要求を行う。
【０１１２】
これは、つまり、１のジョブ履歴が複数のジョブ履歴処理サーバー１１１に分割して保持されている場合に、補完ジョブ履歴データに対応する不完全ジョブ履歴を保持する別のジョブ履歴処理サーバー１１１から、その不完全ジョブ履歴を取得して集約している。そして、取得要求先のジョブ履歴受信部６０１は、送信未完のコネクションＩＤに関連付く不完全ジョブ履歴を、要求元のジョブ履歴補完部６０５への応答として返し、応答後、不完全ジョブ履歴をジョブ履歴処理用領域から削除する。Ｓ１７０３は、ジョブ履歴受信部６０１がＳ８２５において行う処理と同様の処理であるため、説明は省略する。
【０１１３】
Ｓ１７１１において、ジョブ履歴補完部６０５は、送られてきたコネクションＩＤに関連付けられて保存されている送信未完のコネクションＩＤに含まれるサーバーＩＤを取得する。そして、ジョブ履歴補完部６０５は、取得したサーバーＩＤに対応するジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１に対し、補完ジョブ履歴データを送信する。これは、つまり、１のジョブ履歴が複数のジョブ履歴処理サーバー１１１に分割して保持されている場合に、補完ジョブ履歴データに対応する不完全ジョブ履歴を保持する別のジョブ履歴処理サーバー１１１に、その補完ジョブ履歴データを送信して集約している。そして、ジョブ履歴補完部６０５は、補完ジョブ履歴データの送信の後、さらにジョブ履歴送信終了通知を送信する。
【０１１４】
これら、補完ジョブ履歴データの送信およびジョブ履歴送信終了通知の送信においては、送信未完のコネクションＩＤも一緒に送信される。送信先のジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１は、このジョブ履歴送信終了通知を受信すると、図８のＳ８２５、Ｓ８２６と同様の処理を行う。Ｓ１７１２において、ジョブ履歴補完部６０５は、送信が終わった補完ジョブ履歴データと関連するデータを、ジョブ履歴処理用領域から削除する。
【０１１５】
以上、補完ジョブ履歴データの一部が、最初にジョブ履歴データを受信していたのと別のジョブ履歴処理サーバーに送信された場合でも、効率的にいずれかのサーバーに集約して一つのジョブ履歴として扱うことができる。
【０１１６】
＜第四の実施形態＞
本発明の第四の実施形態について説明する。本実施形態では、第三の実施形態で不完全ジョブ履歴を保持するジョブ履歴処理サーバー１１１とは異なるジョブ履歴処理サーバー１１１へ補完ジョブ履歴データを送っている際に、その補完ジョブ履歴データの送信も途中でエラーとなった場合に対応する。なお、第三の実施形態と重複する部分の説明は省略し、差分のみを説明する。
【０１１７】
［処理フロー］
（ジョブ履歴データ受信中断の検知時の処理）
ジョブ履歴受信部６０１は、ジョブ履歴データを受信中に、何らかのエラーが起きてデータが受信できなかった場合や、送信されてくるはずのジョブ履歴データが送られて来ないためにタイムアウトが発生した場合などに、例外処理を行う。
【０１１８】
この例外処理について、図１８のフローチャートを用いて説明する。図１８のフローチャートに示す各ステップは、ジョブ履歴処理サーバー１１１のＣＰＵ３１１がＲＯＭ３１２またはＨＤＤ３１４に記憶されているジョブ履歴受信部６０１を実現するプログラムを読み出して実行することで実現される。また、ＣＰＵ３１１は、必要に応じて記憶領域としてＲＡＭ３１３やＨＤＤ３１４を利用する。
【０１１９】
Ｓ１８０１において、ジョブ履歴受信部６０１は、受信していたジョブ履歴データのジョブ履歴送信用のコネクションＩＤに関連付く送信未完のコネクションＩＤが、ジョブ履歴処理用領域に保存されているか否かを判定する。保存されている場合には（Ｓ１８０１にてＹＥＳ）、ジョブ履歴受信部６０１は、処理をＳ１８０２に進める。この場合、補完ジョブ履歴データの受信が途絶えたことになるが、受信済みの補完ジョブ履歴データのことを「部分補完ジョブ履歴データ」と呼ぶ。保存されていない場合には（Ｓ１８０１にてＮＯ）、ジョブ履歴受信部６０１は、処理をＳ１８０４に進める。
【０１２０】
Ｓ１８０２において、ジョブ履歴受信部６０１は、受信していた補完ジョブ履歴データのステータス情報ファイルを、「補完ジョブ履歴データ受信中断」を示すように更新する。Ｓ１８０３において、ジョブ履歴受信部６０１は、受信していたジョブ履歴データのジョブ履歴送信用のコネクションＩＤと共に補完ジョブ履歴データ受信中断通知を、ジョブ履歴補完部６０５に行う。Ｓ１８０４において、ジョブ履歴受信部６０１は、受信していたジョブ履歴送信用のコネクションＩＤを同時接続数管理領域から削除する。
【０１２１】
（補完ジョブ履歴データ受信中断通知の受信時の処理）
次に、補完ジョブ履歴データ受信中断通知を受信した際の、ジョブ履歴補完部６０５の処理を、図１９のフローチャートを用いて説明する。図１９のフローチャートに示す各ステップは、ジョブ履歴処理サーバー１１１のＣＰＵ３１１がＲＯＭ３１２またはＨＤＤ３１４に記憶されているジョブ履歴補完部６０５を実現するプログラムを読み出して実行することで実現される。また、ＣＰＵ３１１は、必要に応じて記憶領域としてＲＡＭ３１３やＨＤＤ３１４を利用する。
【０１２２】
Ｓ１９０１において、ジョブ履歴補完部６０５は、Ｓ１７０１と同様に、補完対象の不完全ジョブ履歴を保持する別のジョブ履歴処理サーバー１１１が受信しているページ画像数よりも、自身が受信しているページ画像数の方が多いか否かを判定する。自身が受信しているページ画像数の方がより多い場合には（Ｓ１９０１にてＹＥＳ）、ジョブ履歴補完部６０５は、処理をＳ１９０２に進める。自身以外の方がより多くのページ画像を受信している場合には（Ｓ１９０１にてＮＯ）、ジョブ履歴補完部６０５は、処理をＳ１９１１に進める。
【０１２３】
Ｓ１９０２において、ジョブ履歴補完部６０５は、補完ジョブ履歴データ受信中断通知と共に受信したコネクションＩＤに関連付いたステータス情報ファイルを「不完全ジョブ履歴受信中」を示すように更新する。Ｓ１９０３において、ジョブ履歴補完部６０５は、受信したコネクションＩＤに関連付けて保存されている送信未完のコネクションＩＤに含まれるサーバーＩＤを取得する。そして、ジョブ履歴補完部６０５は、取得したサーバーＩＤに対応するジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１に対し、送信未完のコネクションＩＤに関連付くジョブ履歴データの取得要求を行う。これは、部分補完ジョブ履歴データに対応する不完全ジョブ履歴を保持する別のジョブ履歴処理サーバー１１１からその不完全ジョブ履歴を取得し、自身側に部分補完ジョブ履歴データと集約することになる。
【０１２４】
このとき、取得要求を受信した別のジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１は、送信未完のコネクションＩＤに関連付く不完全ジョブ履歴のステータス情報ファイルを「不完全ジョブ履歴送信中」を示すように更新する。更新後、取得要求を受信した別のジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１は、要求された不完全ジョブ履歴を要求元であるジョブ履歴処理サーバー１１１のジョブ履歴補完部６０５への応答として返す。応答後、取得要求を受信した別のジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１は、不完全ジョブ履歴をジョブ履歴処理用領域から削除する。Ｓ１９０４において、ジョブ履歴補完部６０５は、受信したコネクションＩＤに関連付いたステータス情報ファイルを「ジョブ履歴受信中」を示すように更新する。これは、ジョブ履歴管理部６０３に、図９に示す不完全ジョブ履歴判定をさせるためである。
【０１２５】
Ｓ１９１１において、ジョブ履歴補完部６０５は、受信したコネクションＩＤに関連付いたステータス情報ファイルを「部分補完ジョブ履歴データ送信中」を示すように更新する。Ｓ１９１２において、ジョブ履歴補完部６０５は、受信したコネクションＩＤに関連付けられて保存されている送信未完のコネクションＩＤに含まれるサーバーＩＤを取得する。そして、ジョブ履歴補完部６０５は、取得したサーバーＩＤに対応するジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１に対し、初めに、部分補完ジョブ履歴データの受信状況を送信する。次いで、ジョブ履歴補完部６０５は、その部分補完ジョブ履歴データを送信する。これは、部分補完ジョブ履歴データに対応する不完全ジョブ履歴を保持する別のジョブ履歴処理サーバー１１１に、その部分補完ジョブ履歴データを送信し、別のジョブ履歴処理サーバー１１１に不完全ジョブ履歴に集約させることになる。
【０１２６】
部分補完ジョブ履歴データの受信状況を受信した別のジョブ履歴処理サーバー１１１は、対応する不完全ジョブ履歴に関連付いたステータス情報ファイルを「部分補完ジョブ履歴データ受信中」を示すように更新する。そして、ジョブ履歴補完部６０５は、部分補完ジョブ履歴データの送信が終わると、さらに、部分補完ジョブ履歴データ送信終了通知を送信する。これら、部分補完ジョブ履歴データの送信および部分補完ジョブ履歴データ送信終了通知の送信においては、送信未完のコネクションＩＤも一緒に送信される。
【０１２７】
送信先である別のジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１は、この部分補完ジョブ履歴データ送信終了通知を受信すると、受信した送信未完のコネクションＩＤに関連付くステータス情報ファイルを「ジョブ履歴受信中」を示すように更新する。そして、送信先である別のジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１は、部分補完ジョブ履歴データ受信完了通知を送信元のジョブ履歴処理サーバー１１１のジョブ履歴補完部６０５に応答する。Ｓ１９１３において、ジョブ履歴補完部６０５は、送信が終わった部分補完ジョブ履歴データと関連するデータを、ジョブ履歴処理用領域から削除する。
【０１２８】
（ジョブ履歴送信処理）
次に、本実施形態におけるＭＦＰ１０１のジョブ履歴送信部４０４の動作について説明する。ジョブ履歴送信部４０４は、補完ジョブ履歴データの送信中に何らかのエラーが発生して通信の続行ができなくなった場合、図１４に示されるＳ１２１３に処理を進める。そして、Ｓ１２１３において、ジョブ履歴送信部４０４は、送信していた補完ジョブ履歴データのジョブ履歴送信用のコネクションＩＤも送信未完のコネクションＩＤとして、送信していたジョブ履歴と関連付けて保存する。このとき、Ｓ１２０１において、送信未完のコネクションＩＤを複数記憶していることになるが、その場合のＳ１２０１より後の処理について、図２０のフローチャートを用いて説明する。図２０は、図１４のフローチャートに対し、Ｓ１２２１〜Ｓ１２２５およびＳ１４３１〜Ｓ１４３４の処理に置き換わるものであり、その部分についてのみ示している。
【０１２９】
Ｓ２０２１において、ジョブ履歴送信部４０４は、複数の送信未完のコネクションＩＤの中から未選択のコネクションＩＤを一つ選択する。そして、ジョブ履歴送信部４０４は、そのコネクションＩＤに含まれるサーバーＩＤに対応するジョブ履歴処理サーバー１１１にジョブ履歴送信予約を行う。
【０１３０】
Ｓ２０２２において、ジョブ履歴送信部４０４は、ジョブ履歴送信予約に対する応答の内容を判定する。応答の内容が「ジョブ履歴送信予約成功」である場合には（Ｓ２０２２にてＹＥＳ）、ジョブ履歴送信部４０４は、処理をＳ２０２４に進める。応答の内容がビジー（すなわち、予約失敗）である場合には（Ｓ２０２２にてＮＯ）、ジョブ履歴送信部４０４は、処理をＳ２０２３に進める。
【０１３１】
Ｓ２０２３において、ジョブ履歴送信部４０４は、Ｓ２０２１の処理で、未選択のコネクションＩＤがあるか否かを判定する。未選択のコネクションＩＤがある場合には（Ｓ２０２３にてＹＥＳ）、ジョブ履歴送信部４０４は、処理をＳ２０２１に進め、別のコネクションＩＤに含まれるサーバーＩＤに対応するジョブ履歴処理サーバー１１１に対してジョブ履歴送信予約を行う。未選択のコネクションＩＤがない場合には（Ｓ２０２３にてＮＯ）、ジョブ履歴送信部４０４は、処理をＳ２０３１に進める。
【０１３２】
Ｓ２０２４において、ジョブ履歴送信部４０４は、ジョブ履歴送信予約の応答に含まれるコネクションＩＤをジョブ履歴送信用のコネクションＩＤとして保持する。
【０１３３】
Ｓ２０２５において、ジョブ履歴送信部４０４は、Ｓ１２２４と同様に、記憶している送信未完のコネクションＩＤに関連付くジョブ履歴の受信状況を問合せるが、このとき、記憶している送信未完のコネクションＩＤを全て問合せに含める。そして、不完全ジョブ履歴の受信状況およびその不完全ジョブ履歴に関連付いたコネクションＩＤが、応答として返される。応答を受け取ると、ジョブ履歴送信部４０４は、記憶している送信未完のコネクションＩＤのうち、受け取ったコネクションＩＤ以外のコネクションＩＤを削除する。
【０１３４】
Ｓ２０２６において、ジョブ履歴送信部４０４は、Ｓ２０２５の問合せで受信した不完全ジョブ履歴に関連付いたコネクションＩＤに含まれるサーバーＩＤが、問合せ先のジョブ履歴処理サーバー１１１に対応するサーバーＩＤと一致するか否かを判定する。サーバーＩＤが一致する場合には（Ｓ２０２６にてＹＥＳ）、ジョブ履歴送信部４０４は、処理をＳ２０２７へ進める。一致しない場合には（Ｓ２０２６にてＮＯ）、ジョブ履歴送信部４０４は、Ｓ２０２７の処理をスキップし、Ｓ１２２６へ処理を進める。
【０１３５】
Ｓ２０２７において、ジョブ履歴送信部４０４は、受信した不完全ジョブ履歴に関連付いたコネクションＩＤを、新たなジョブ履歴送信用のコネクションＩＤとして保持する。これにより、ジョブ履歴送信部４０４が、これ以降に行うジョブ履歴データ送信やジョブ履歴送信終了通知が、問合せ先のジョブ履歴処理サーバー１１１が保持する不完全ジョブ履歴に関するものであることが識別可能となる。
【０１３６】
Ｓ２０３１において、ジョブ履歴送信部４０４は、Ｓ１４３１と同様に、ジョブ履歴送信予約を行う。Ｓ２０３２において、ジョブ履歴送信部４０４は、Ｓ１４３２と同様に、ジョブ履歴送信予約に対する応答の内容を判定する。応答の内容が「ジョブ履歴送信予約成功」である場合には（Ｓ２０３２にてＹＥＳ）、ジョブ履歴送信部４０４は、処理をＳ２０３３に進める。応答の内容がビジー（すなわち、予約失敗）である場合には（Ｓ２０３２にてＮＯ）、ジョブ履歴送信部４０４は、ジョブ履歴送信処理を終了し、次回のジョブ履歴有無確認の機会まで待機する。
【０１３７】
Ｓ２０３３において、ジョブ履歴送信部４０４は、Ｓ１４３３と同様に、Ｓ２０３１のジョブ履歴送信予約の応答に含まれるコネクションＩＤを、ジョブ履歴送信用のコネクションＩＤとして保持する。Ｓ２０３４において、ジョブ履歴送信部４０４は、Ｓ２０２５と同様に、記憶している送信未完のコネクションＩＤに関連付くジョブ履歴の受信状況を問合せる。そして、不完全ジョブ履歴の受信状況およびその不完全ジョブ履歴に関連付いたコネクションＩＤが応答として返される。応答を受け取ると、ジョブ履歴送信部４０４は、記憶している送信未完のコネクションＩＤのうち、受け取ったコネクションＩＤ以外のコネクションＩＤを削除する。
【０１３８】
（受信状況問い合わせ要求の受信時の処理）
次に、ジョブ履歴処理サーバー１１１のジョブ履歴受信部６０１が、ＭＦＰ１０１のジョブ履歴送信部４０４から、複数の送信未完のコネクションＩＤを含むジョブ履歴の受信状況問合せ要求を受信した際の処理を、図２１のフローチャートを用いて説明する。図２１は、図１５のフローチャートのＳ１５０１の判定がＹＥＳである場合の、Ｓ１５０２とＳ１５０２との間に入る処理であり、その部分についてのみ示している。
【０１３９】
Ｓ２１０１において、ジョブ履歴受信部６０１は、受信状況問合せに送信未完のコネクションＩＤが複数含まれているか否かを判定する。複数含まれている場合には（Ｓ２１０１にてＹＥＳ）、ジョブ履歴受信部６０１は、処理をＳ２１０２に進める。一つしか含まれていない場合には（Ｓ２１０１にてＮＯ）、ジョブ履歴受信部６０１は、処理をＳ１５０２に進める。
【０１４０】
Ｓ２１０２において、ジョブ履歴受信部６０１は、受信した複数の送信未完のコネクションＩＤの中から一つを選択する。そして、ジョブ履歴受信部６０１は、選択したコネクションＩＤに含まれるサーバーＩＤに対応するジョブ履歴処理サーバー１１１に、そのコネクションＩＤのジョブ履歴についての受信状況を問合せる。問合せの結果は、問合せを受けたジョブ履歴処理サーバー１１１が保持しているデータおよびステータスに応じて、いくつかのケースがある。各ケースについて、図２２に示す。
【０１４１】
ケース１は、問合せを受けたジョブ履歴処理サーバー１１１が、不完全ジョブ履歴を保持し、かつ、ステータスが「ジョブ履歴受信中」の場合である。ケース１の場合、応答の内容として、不完全ジョブ履歴の受信状況と、不完全ジョブ履歴集約先サーバーＩＤとしてそのジョブ履歴処理サーバー１１１に対応するサーバーＩＤとが返される。
【０１４２】
ケース２は、問合せを受けたジョブ履歴処理サーバー１１１が、不完全ジョブ履歴を保持し、かつ、ステータスが「不完全ジョブ履歴送信中」の場合である。ケース２の場合、応答の内容として、不完全ジョブ履歴の受信状況と、不完全ジョブ履歴送信先のサーバーＩＤとが返される。
【０１４３】
ケース３は、問合せを受けたジョブ履歴処理サーバー１１１が、不完全ジョブ履歴を保持し、かつ、ステータスが「部分補完ジョブ履歴データ受信中」の場合である。ケース３の場合、応答の内容として、不完全ジョブ履歴の受信状況及び記憶している受信中の部分補完ジョブ履歴データの受信状況と、不完全ジョブ履歴集約先サーバーＩＤとしてそのジョブ履歴処理サーバー１１１に対応するサーバーＩＤとが返される。
【０１４４】
ケース４は、問合せを受けたジョブ履歴処理サーバー１１１が、部分補完ジョブ履歴データを保持し、かつ、ステータスが「不完全ジョブ履歴受信中」の場合である。ケース４の場合、応答の内容として、部分補完ジョブ履歴データの受信状況および記憶している受信中の不完全ジョブ履歴の受信状況と、不完全ジョブ履歴集約先サーバーＩＤとしてそのジョブ履歴処理サーバー１１１に対応するサーバーＩＤとが返される。
【０１４５】
ケース５は、問合せを受けたジョブ履歴処理サーバー１１１が、部分補完ジョブ履歴データを保持し、かつ、ステータスが「部分補完ジョブ履歴データ送信中」の場合である。ケース５の場合、応答の内容として、部分補完ジョブ履歴データの受信状況および記憶している受信中の不完全ジョブ履歴の受信状況と、不完全ジョブ履歴集約先サーバーＩＤとして部分補完ジョブ履歴データ送信先のサーバーＩＤとが返される。
【０１４６】
ケース６は、問合せを受けたジョブ履歴処理サーバー１１１が、不完全ジョブ履歴および部分補完ジョブ履歴データのどちらも保持していない場合である。ケース６の場合、応答の内容として、「対象ジョブ履歴データなし」が返される。
【０１４７】
なお、この問合せは、必ずしも受信したコネクションＩＤの全てについて行う必要はなく、ケース１、ケース３〜ケース５の応答を受け取った場合には、ジョブ履歴受信部６０１は、処理をＳ２１０３に進める。ケース２の応答を受け取った場合には、ジョブ履歴受信部６０１は、受け取ったサーバーＩＤを含むコネクションＩＤを選択し直して、そのサーバーＩＤに対応するジョブ履歴処理サーバー１１１に受信状況の問合せを行う。ケース６の応答を受け取った場合には、ジョブ履歴受信部６０１は、別のコネクションＩＤを選択し直して、そのサーバーＩＤに対応するジョブ履歴処理サーバー１１１に受信状況の問合せを行う。
【０１４８】
Ｓ２１０３において、ジョブ履歴受信部６０１は、Ｓ２１０２で取得した不完全ジョブ履歴の受信状況と、部分補完ジョブ履歴データの受信状況とを、一つの不完全ジョブ履歴の受信状況として集約する。そして、ジョブ履歴受信部６０１は、集約した不完全ジョブ履歴の受信状況と、不完全ジョブ履歴集約先サーバーＩＤを含む送信未完のコネクションＩＤとをジョブ履歴送信用のコネクションＩＤに関連付け、ジョブ履歴処理用領域に保存する。
【０１４９】
Ｓ２１０４において、ジョブ履歴受信部６０１は、Ｓ２１０３で保存した不完全ジョブ履歴の受信状況と送信未完のコネクションＩＤとをジョブ履歴送信部４０４に応答する。
【０１５０】
以上、補完ジョブ履歴データが、不完全ジョブ履歴を保持するジョブ履歴処理サーバー１１１とは異なるジョブ履歴処理サーバー１１１に送信され、その送信がエラーとなった場合にも、どちらかのジョブ履歴処理サーバーに不完全ジョブ履歴を効率的に集約できる。これにより、その後の補完送信とジョブ履歴集約を効率的に行うことができる。また、補完送信が不可能となった場合の不完全ジョブ履歴としての扱いも容易に可能となる。
【０１５１】
＜その他の実施形態＞
第二、第三の実施形態の負荷分散装置１５１において、アプリケーション層の情報ではなく、接続元のＩＰアドレスなどネットワーク層の情報に基づいて接続元を識別し、接続先を固定化するパーシステンス機能が用いられていても良い。このとき、ＭＦＰ１０１の接続先のジョブ履歴処理サーバー１１１は、自動的に一つに固定化されるため、ジョブ履歴送信部４０４のＳ１２２１をスキップすることで、第二、第三の実施形態と同じジョブ履歴データの送信が実現可能である。
【０１５２】
また、第三、第四の実施形態において、不完全ジョブ履歴を保持するジョブ履歴処理サーバー１１１が一時的にダウンしているような場合について、さらに考慮しても良い。このような状況では、補完ジョブ履歴データを受信したジョブ履歴処理サーバー１１１のジョブ履歴補完部６０５が不完全ジョブ履歴を保持するジョブ履歴処理サーバー１１１に一時的にアクセスできないことがあり得る。このとき、ジョブ履歴管理部６０３がジョブ履歴処理部６０２に不完全ジョブ履歴の処理を開始させるまでの時間よりも短い間隔で、ジョブ履歴補完部６０５が繰り返し不完全ジョブ履歴を保持するジョブ履歴処理サーバー１１１にアクセスするようにしても良い。これにより、不完全ジョブ履歴を保持するジョブ履歴処理サーバー１１１が一時的にダウンしているような場合にも、ジョブ履歴データを集約できる確率を高めることができる。
【０１５３】
また、第三、第四の実施形態のジョブ履歴補完部６０５は、ジョブ履歴データの集約先のジョブ履歴処理サーバー１１１をどちらにするかの判断を、受信しているページ画像数に基づいて行っていたが、別の判断基準を用いても良い。例えば、ジョブ履歴処理サーバー１１１がジョブ履歴処理用領域に保持する（すなわちエクスポートが完了していない）ジョブ履歴の数を比較するようにしても良い。
【０１５４】
また、第四の実施形態の負荷分散装置１５１において、パーシステンス機能がないか、使用されなくても良い。このとき、ジョブ履歴データは、複数のジョブ履歴処理サーバー１１１に分散されて送信されることになる。このため、ジョブ履歴処理サーバー１１１において、同時接続数管理をなくし、ジョブ履歴送信予約時には、単にコネクションＩＤを発行するものとする。
【０１５５】
ジョブ履歴処理サーバー１１１は、ジョブ履歴データと共に受け取るジョブ履歴送信用のコネクションＩＤに含まれるサーバーＩＤが、自身のサーバーＩＤと異なる場合には、ジョブ履歴補完データの受信が途絶えたときと同様な動作を行う。すなわち、ジョブ履歴データを受信したジョブ履歴処理サーバー１１１は、ジョブ履歴送信用のコネクションＩＤを送信未完のコネクションＩＤとして扱い、受信の度に、ジョブ履歴補完部６０５のＳ１９１１〜Ｓ１９１３の処理を実行させる。これにより、コネクションＩＤを発行したジョブ履歴処理サーバー１１１に、ジョブ履歴データを集約させて処理することができる。  
【０１５６】
また、ジョブ履歴受信が途絶えた場合には、集約先のジョブ履歴処理サーバー１１１は、送信未完のコネクションＩＤに含まれるサーバーＩＤで識別可能である。このため、送信未完のコネクションＩＤを複数記憶することがない点が異なるが、第四の実施形態の受信状況問合せを利用することで、ジョブ履歴受信が途絶えた場合にも、不完全ジョブ履歴の受信状況を把握し、補完ジョブ履歴データを送信することができる。
【０１５７】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピューター（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015064794.tif 000003
【図２】
2015064794.tif 000004
【図３】
2015064794.tif 000005
【図４】
2015064794.tif 000006
【図５】
2015064794.tif 000007
【図６】
2015064794.tif 000008
【図７】
2015064794.tif 000009
【図８】
2015064794.tif 000010
【図９】
2015064794.tif 000011
【図１０】
2015064794.tif 000012
【図１１】
2015064794.tif 000013
【図１２】
2015064794.tif 000014
【図１３】
2015064794.tif 000015
【図１４】
2015064794.tif 000016
【図１５】
2015064794.tif 000017
【図１６】
2015064794.tif 000018
【図１７】
2015064794.tif 000019
【図１８】
2015064794.tif 000020
【図１９】
2015064794.tif 000021
【図２０】
2015064794.tif 000022
【図２１】
2015064794.tif 000023
【図２２】
2015064794.tif 000024