(57)【要約】【課題】  従来の画像形成装置では、一部の印刷設定がジョブログとして記録されないという課題があった。【解決手段】  そこで、本発明の画像形成装置は、基本プログラムに基づき印刷ジョブを受信した際に発行されるジョブ登録イベントに応じて、拡張プログラムに従い監視対象の印刷設定を含む印刷ジョブの識別情報を所定の記憶領域に保存しておく。その後、基本プログラムに基づき発行されるジョブ登録イベントに応じて、拡張プログラムに従い保存済みの識別情報を含むジョブログについては通常のファイルとは異なる専用ファイルに対して、該ジョブログを記録することを特徴とする。【選択図】  図３
2017061079.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブの実行を制御する基本プログラムが動作する画像形成装置であって、
前記基本プログラムに基づき印刷ジョブを受信した際に発行されるジョブ登録イベントに応じて、該印刷ジョブに監視対象の印刷設定の指定が含まれるかを判断する第１の判断手段と、
前記印刷ジョブに監視対象の印刷設定の指定が含まれない場合には該印刷ジョブの識別情報を保存することなく、前記第１の判断手段が前記印刷ジョブに監視対象の印刷設定の指定を含むと判断したことに応じて該印刷ジョブの識別情報を所定の記憶領域に保存する保存手段と、
前記基本プログラムに基づき前記印刷ジョブに対応するジョブログが記録された際に発行されるジョブ登録イベントに応じて、該ジョブログに含まれる識別情報が前記所定の記憶領域に保存されているか否かを判断する第２の判断手段と、
前記第２の判断手段が前記ジョブログに含まれる識別情報が前記所定の記憶領域に保存されていると判断した場合に、該ジョブログを第１のファイルに記録するジョブログ管理手段と、を有し、
前記ジョブログ管理手段は、前記第２の判断手段が前記ジョブログに含まれる識別情報が前記所定の記憶領域に保存されていないと判断した場合に、該ジョブログを前記第１のファイルとは異なる第２のファイルに記録することを特徴とする画像形成装置。
【請求項２】
前記監視対象の印刷設定は、前記基本プログラムでジョブログとして記録されない情報であることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記監視対象の印刷設定は、設定画面を介して選択できることを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記監視対象の印刷設定は、印刷時の色の濃さを決める印刷設定、トナーの消費を抑える印刷設定、印刷したメディアを排紙するとき印刷面を上にして出力するか下にして印刷するかを指定する印刷設定、及び、排紙するトレイを指定する印刷設定の少なくともいずれかであることを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記監視対象の印刷設定は、画像形成装置が印刷ジョブを受信した後のユーザーによる画像形成装置の操作部を介した印刷指示に応じて印刷を実行するための印刷設定であることを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
印刷ジョブの実行を制御する基本プログラムが動作する画像形成装置における制御方法であって、
前記基本プログラムに基づき印刷ジョブを受信した際に発行されるジョブ登録イベントに応じて、該印刷ジョブに監視対象の印刷設定の指定が含まれるかを判断する第１の判断工程と、
前記印刷ジョブに監視対象の印刷設定の指定が含まれない場合には該印刷ジョブの識別情報を保存することなく、前記印刷ジョブに監視対象の印刷設定の指定が含まれない場合には該印刷ジョブの識別情報を所定の記憶領域に保存する保存工程と、
前記基本プログラムに基づき前記印刷ジョブに対応するジョブログが記録された際に発行されるジョブ登録イベントに応じて、該ジョブログに含まれる識別情報が前記所定の記憶領域に保存されているか否かを判断する第２の判断工程と、
前記第２の判断工程で前記ジョブログに含まれる識別情報が前記所定の記憶領域に保存されていると判断された場合に、該ジョブログを第１のファイルに記録するジョブログ管理工程と、を有し、
前記ジョブログ管理工程では、前記第２の判断工程で前記ジョブログに含まれる識別情報が前記所定の記憶領域に保存されていないと判断された場合には、該ジョブログが前記第１のファイルとは異なる第２のファイルに記録されることを特徴とする制御方法。
【請求項７】
請求項１乃至５のいずれか１項に記載の手段としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置における印刷ジョブのログ情報を記録する技術に関する。
【背景技術】
【０００２】
従来から、利用状況の把握等の目的のため、印刷ジョブの履歴（ログ）を記録する画像形成装置が知られている。例えば、特許文献１では、プリンタに印刷ジョブを送信するクライアントと、プリンタのそれぞれから印刷ジョブに係るログ情報をアカウントサーバーが収集して管理する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３０８１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、プリンタの設置されている環境要因によって、あるいは、クライアントで利用しているプリンタドライバなどの機能や種類によっては、印刷ジョブの生成側であるクライアントから印刷ジョブに係るログ情報が収集できない場合がある。また、プリンタ側も、印刷ジョブに係る全ての印刷設定をふくむ出力属性を記録しているわけではない。上記した特許文献１に開示された技術を考慮した場合には、クライアントから収集できたログ情報の一部の設定項目については、プリンタ側で記録しないといった設計仕様も考えられ得る。また、プリンタ内部のジョブログを記録するプログラムが、一部の設定項目については構造上、ログとして記録できないといった可能性もある。
【０００５】
そこで、本発明は、従来ではプリンタでログ情報として記録できていなかった設定などが把握できるようなジョブログの記録、管理の新たな仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明における画像形成装置は、印刷ジョブの実行を制御する基本プログラムが動作する画像形成装置であって、前記基本プログラムに基づき印刷ジョブを受信した際に発行されるジョブ登録イベントに応じて、該印刷ジョブに監視対象の印刷設定の指定が含まれるかを判断する第１の判断手段と、前記印刷ジョブに監視対象の印刷設定の指定が含まれない場合には該印刷ジョブの識別情報を保存することなく、前記第１の判断手段が前記印刷ジョブに監視対象の印刷設定の指定を含むと判断したことに応じて該印刷ジョブの識別情報を所定の記憶領域に保存する保存手段と、前記基本プログラムに基づき前記印刷ジョブに対応するジョブログが記録された際に発行されるジョブ登録イベントに応じて、該ジョブログに含まれる識別情報が前記所定の記憶領域に保存されているか否かを判断する第２の判断手段と、前記第２の判断手段が前記ジョブログに含まれる識別情報が前記所定の記憶領域に保存されていると判断した場合に、該ジョブログを第１のファイルに記録するジョブログ管理手段と、を有し、前記ジョブログ管理手段は、前記第２の判断手段が前記ジョブログに含まれる識別情報が前記所定の記憶領域に保存されていないと判断した場合に、該ジョブログを前記第１のファイルとは異なる第２のファイルに記録することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、従来ではプリンタでログ情報として記録できていなかった特定の印刷設定を把握できるようなジョブログの管理の仕組みを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明に係るシステムの構成の例を示す図である。
【図２】本発明に係る画像形成装置のハードウェア構成の例を示すブロック図である。
【図３】画像形成装置のソフトウェア構成の例を示すブロック図である。
【図４】ネイティブプログラムの構成の例を示すブロック図である。
【図５】ログ記録プログラムの構成の例を示すブロック図である。
【図６】本発明に係るクライアントコンピューターの構成の例を示すブロック図である。
【図７】本発明に係るクライアントコンピューターのソフトウェア構成の例を示すブロック図である。
【図８】画像形成装置１００における印刷ジョブの実行処理を示すフローチャートである。
【図９】ログ記録プログラムがジョブログの記録処理を説明するためのフローチャートである。
【図１０】印刷ジョブの内容の具体例を示す図である。
【図１１】実施例２におけるログ記録プログラムの終了処理を説明するためのフローチャートである。
【図１２】実施例２におけるネイティブプログラムのジョブのキャンセル処理を示すフローチャートである。
【図１３】実施例２におけるログ記録プログラムの開始処理を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
＜実施例１＞
以下、本発明を実施形態について図面を用いて説明する。
【００１０】
＜システム構成＞
図１は、本発明が想定する画像形成装置を含むシステムの構成例を示す図である。本システムでは、画像形成装置１００とクライアントコンピューター２００とが、イーサネット（登録商標）などの既知の技術によるネットワーク３００により相互に通信可能に接続されている。
【００１１】
クライアントコンピューター２００は、プリンタドライバ等を含むソフトウェア資源を備え、ユーザーが使用して印刷データを生成し画像形成装置に対して印刷を指示すること可能である。クライアントコンピューター２００としては、汎用のデスクトップコンピューター以外にも、タブレットや携帯電話などの携帯端末などであってもよい。
【００１２】
画像形成装置１００は、プリンタや複写機に加え、それらにファクシミリ、ファイル送信機能等を統合した複合機であってもよい。
【００１３】
＜クライアントコンピューター２００の構成＞
図６は、クライアントコンピューター２００の構成の例を示すブロック図である。クライアントコンピューター２００は、コントローラユニット２０００、操作部２０２０、表示部２０３０を含む。
【００１４】
コントローラユニット２０００は、ＣＰＵ２００３を含む。ＣＰＵ２００３は、ＲＯＭ２００６に記憶されているブートプログラムによりＯＳを起動する。また、ＣＰＵ２００３は、ＯＳ上で、ハードディスクドライブ（ＨＤＤ）２００５に記憶されている各種プログラムを実行する。ＲＡＭ２００４は、ＣＰＵ２００３のワーキングメモリとして用いられる。ＨＤＤ２００５は、ＯＳやプリンタドライバ、文書を扱うアプリケーションといった各種プログラムに関連したデータ等を記憶する。システムバス２０１０には、ＲＯＭ２００６およびＲＡＭ２００４の他に、操作部Ｉ／Ｆ２００１、表示部Ｉ／Ｆ２００２、ネットワークＩ／Ｆ２００７が接続されている。操作部Ｉ／Ｆ２００１は、ポインティングデバイスやキーボード等を含む操作部２０２０とのインターフェースであり、操作部２０２０を介してユーザーから入力された情報をＣＰＵ２００３に送信する。表示部Ｉ／Ｆ２００２は、ディスプレイ等を含む表示部２０３０に表示すべき画面データを表示部２０３０に対して出力する。ネットワークＩ／Ｆ２００７は、ネットワーク３００を通じて接続している各装置との間でデータの送受信を行う。
【００１５】
＜クライアントコンピューター２００のソフトウェア構成＞
図７は、クライアントコンピューター２００のソフトウェア構成の例を示すブロック図である。クライアントコンピューター２００は、アプリケーション７０１、プリンタドライバ７０２、印刷ジョブ送信部７０３を備える。
【００１６】
アプリケーション７０１は、プリンタドライバ７０２に対して描画命令などを送信することにより印刷指示を行う。プリンタドライバ７０２は、印刷アプリケーション７０１から受けた描画命令などを複合機が解釈可能な印刷データ、すなわちＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換し、印刷ジョブとして印刷ジョブ送信部７０３に送信する。また、プリンタドライバ７０２は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を等でユーザーが印刷に関する各種設定を行えるようにする機能も備えている。印刷ジョブ送信部７０３は、プリンタドライバ７０２から受け取った印刷ジョブを画像形成装置に送信する。
【００１７】
ここで、プリンタドライバを用いて、ユーザーが行える印刷に関する設定の例としては、カラー印刷設定、両面印刷設定など様々なものがある。ほかにも、印刷ジョブを送信した画像形成装置の前に行き、ユーザーが認証情報などを入力して印刷指示を行うことで初めて画像形成装置での印刷を実行する「留め置き印刷設定」がある。また、印刷時の色の濃さを決める「プリント濃度設定」、トナーの消費を抑える「省トナー設定」、印刷したメディアを排紙するとき印刷面を上にして出力するか下にして印刷するかを指定する「出力フェイス設定」、排紙するトレイを指定する「排紙トレイ設定」等もある。
【００１８】
なお、「留め置き印刷」とほぼ同様の印刷機能を、認証プリントやセキュアプリント、プルプリントなどとも呼ぶこともある。そこで、本発明では、印刷ジョブをユーザーコンピューターから送信後、ユーザーが画像形成装置で認証情報などを入力して印刷指示を行うことで初めて画像形成装置での印刷を実行する機能の総称として「留め置き印刷」と呼ぶ。なお、「留め置き印刷」でユーザーコンピューターから送信され、印刷待機中の印刷データを一時的に格納する場所は、画像形成装置の内部の記憶装置であっても、ネットワーク上のストレージサービスであってもよい。
【００１９】
＜画像形成装置１００の構成＞
図２は、画像形成装置１００のハードウェア構成の例を示すブロック図である。ここでは、具体例として、複写機の構成を説明している。画像形成装置１００はコントローラユニット１０００を含み、コントローラユニット１０００には、画像入力デバイスであるスキャナ１０７０や画像出力デバイスであるプリンタ１０９５が接続されるとともに、操作部１０１２が接続される。
【００２０】
コントローラユニット１０００は、スキャナ１０７０で読み取られた画像データをプリンタ１０９５により印刷出力するコピー機能を実現するための制御を行う。コントローラユニット１０００は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）１００１を有し、ＣＰＵ１００１は、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）１００３に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げる。ＣＰＵ１００１は、このＯＳ上で、ハードディスクドライブ（ＨＤＤ）１００４に格納されているプログラムを実行し、これによって各種処理を実行する。このＣＰＵ１００１の作業領域としてはＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）１００２が用いられる。ＲＡＭ１００２は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリー領域を提供する。ＨＤＤ１００４は、上記プログラムや画像データを格納する。ＣＰＵ１００１には、システムバス１００７を介して、ＲＯＭ１００３およびＲＡＭ１００２、操作部インターフェース（操作部Ｉ／Ｆ）１００６、ネットワークインターフェース（ネットワークＩ／Ｆ）１０１０、ＵＳＢホストインターフェース（ＵＳＢホストＩ／Ｆ）１０１３、画像バスインターフェース（画像バスＩ／Ｆ）１００５が接続される。
【００２１】
操作部Ｉ／Ｆ１００６は、タッチパネルを有する操作部１０１２とのインターフェースであり、操作部１０１２に表示すべき画像データを操作部１０１２に対して出力する。操作部Ｉ／Ｆ１００６は、操作部１０１２においてユーザーにより入力された情報をＣＰＵ１００１に送出する。ここで入力される情報としては、前述した「留め置き印刷」のための認証情報や、印刷指示などが含まれる。操作部１０１２として、ＩＣカードや生体情報を読み取れる読取り手段が含まれていてもよい。ネットワークＩ／Ｆ１０１０は、画像形成装置１００をネットワーク３００に接続するためのインターフェースである。
【００２２】
ＵＳＢホストＩ／Ｆ１０１３は、ＵＳＢストレージ１０１４と通信するインターフェース部である。ＵＳＢホストＩ／Ｆ１０１３は、ＨＤＤ１００４に格納されているデータをＵＳＢストレージ１０１４に出力する。また、ＵＳＢホストＩ／Ｆ１０１３は、ＵＳＢストレージ１０１４に格納されているデータを入力し、ＣＰＵ１００１にそれを伝える。ＵＳＢホストＩ／Ｆ１０１３には、ＵＳＢストレージ１０１４を含む複数のＵＳＢデバイスが接続可能である。ＵＳＢストレージ１０１４は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ１０１３に対して着脱可能である。画像バスＩ／Ｆ１００５は、システムバス１００７と、画像データを高速で転送する画像バス１００８とを接続し、データ形式を変換するためのバスブリッジである。画像バス１００８は、ＰＣＩバスまたはＩＥＥＥ１３９４等によって構成される。画像バス１００８上には、デバイスＩ／Ｆ１０２０、スキャナ画像処理部１０８０、プリンタ画像処理部１０９０が設けられる。デバイスＩ／Ｆ１０２０には、スキャナ１０７０およびプリンタ１０９５が接続され、デバイスＩ／Ｆ１０２０は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部１０８０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部１０９０は、プリント出力画像データに対してプリンタ１０９５に応じた補正、解像度変換などを行う。
【００２３】
＜画像形成装置のソフトウェア構成＞
図３は、画像形成装置のソフトウェア構成を示すブロック図である。
【００２４】
図３（ａ）は、従来からの画像形成装置のソフトウェア構成の例を示している。ＯＳ３０１上には、ネイティブプログラム３０２、拡張プログラムを実行するためのプラットフォームである拡張プログラム実行プラットフォーム３０３が動作している。
【００２５】
ネイティブプログラム３０２は、ＯＳ３０１上で動作する画像形成装置の基本プログラムである。具体的には、画像形成装置を構成するプリンタ１０９５やスキャナ１０７０、操作部１０１２などの機器を制御し、それら機能の制御を実現する。
【００２６】
拡張プログラム実行プラットフォーム３０３は、例えば、ＯＳＧｉ（Ｏｐｅｎ  Ｓｅｒｖｉｃｅ  Ｇａｔｅｗａｙ  ｉｎｉｔｉａｔｉｖｅ）フレームワークを実装した、プログラムの動的追加及び削除を実現するプログラムである。拡張プログラムシステムサービス３０４は、拡張プログラム３０５に共通して有用な機能を提供することを目的としたプログラム群である。また、拡張プログラムシステムサービス３０４は、ネイティブプログラム３０２が提供する機能をラッピングし、その機能を拡張プログラム３０５に提供する。拡張プログラム３０５は、拡張プログラム実行プラットフォーム３０３上で動作する画像形成装置の機能を拡張するためのプログラムである。
【００２７】
ここで、ネイティブプログラム３０２には、印刷ジョブが完了した際に、当該印刷完了時に収集できる印刷ジョブに関する情報を記録、蓄積する機能をもっている。印刷ジョブの処理に係るネイティブプログラム３０２の詳細については、図４を用いて後述する。
【００２８】
図３（ｂ）は、本発明が適用された画像形成装置１００のソフトウェア構成の例を示している。図３（ａ）で示す構成と比較して、拡張プログラム３０５としてログ記録プログラム３０６をさらに有している点が異なる。
【００２９】
ログ記録プログラム３０６は、ネイティブプログラム３０２でジョブログとして記録できない特定の印刷設定を含む印刷ジョブについて、他の印刷ジョブとは区別してジョブログを管理することができる拡張プログラムである。ログ記録プログラム３０６の詳細については、図５を用いて後述する。
【００３０】
＜ネイティブプログラム３０２の構成＞
図４は、ネイティブプログラム３０２の機能構成の一部の例を示すブロック図である。ネイティブプログラム３０２は、インターフェース部４０１、印刷データ格納部４０２、印刷ジョブ管理部４０３、印刷データ展開部４０４、イメージデータ格納部４０５、印刷制御部４０６、ログ記録部４０７といったモジュールによって構成される。
【００３１】
インターフェース部４０１は、ネットワークＩ／Ｆ１０１０を通じて、ネットワーク上の機器からのデータを受け取る。たとえば、クライアントコンピューター２００から印刷ジョブを受信する。印刷データ格納部４０２は、受信した印刷ジョブを一時的に格納する。
【００３２】
印刷ジョブ管理部４０３は、印刷データ格納部４０２が格納した印刷ジョブの処理が開始された際に、その印刷ジョブを解析し、ユーザー名や印刷部数やカラー印刷設定の有無などの出力属性情報を取得し、印刷ジョブの開始日時と共に、印刷ジョブ情報として管理する。その後、印刷ジョブ管理部４０３はジョブ登録イベントを発行する。
【００３３】
図１０（ａ）は、印刷ジョブ情報のデータ構成の一例である。この例では、ジョブ識別情報であるジョブＩＤ、印刷ジョブを作成したアプリケーション名及びドキュメント名、印刷を指示したユーザーを特定するオーナ名、印刷ジョブの投入時刻が印刷ジョブ情報に含まれる。ジョブ識別情報は、画像形成装置でジョブを一意に識別するための識別情報である。また、クライアントコンピューター２００のプリンタドライバ上で設定された設定情報が含まれる。設定情報には、印刷時の用紙サイズの指定、片面／両面印刷の指定、印刷用紙に何面の論理ページを割り付けるかの設定であるＮｕｐ設定、プリント濃度設定、省トナー設定、留め置き印刷などが含まれる。さらに、印刷ジョブ情報には、出力フェイス設定、排紙トレイ等の情報が含まれる。
【００３４】
印刷データ展開部４０４は、印刷ジョブ管理部４０３に格納された印刷ジョブ情報に従い、印刷データ格納部４０２から印刷データを取得して画像生成処理を行い、イメージデータをＲＡＭ３０３上に生成する。イメージデータ格納部４０５は、印刷データ展開部４０４が生成したイメージデータを一時的に格納する。印刷制御部４０６は、デバイスＩ／Ｆ１０２０を通じてプリンタ１０９５を制御し、イメージデータ格納部４０５に格納されたイメージデータを、電子写真技術やインクジェット技術などの既知の印刷技術を用いて用紙などのメディアに実際に印刷する。印刷ジョブ管理部４０３は、イメージデータ生成から印刷出力までにおける、印刷の成功／失敗などの情報も、印刷ジョブ情報として取得し、管理できる。
【００３５】
ログ記録部４０７は、印刷ジョブ管理部４０３で管理された印刷ジョブ情報を、印刷の完了、またはキャンセルのタイミングで受け取って、ジョブログとして記録する。ここで記録されたジョブログは、ログ記録プログラム３０６から参照し、取得可能な記憶領域に登録される。ログ記録部４０７は、ジョブログの記録に際して、ログ記録イベントを発行する。なお、ログ記録部４０７でジョブログが記録された際には、印刷ジョブ情報が消去されることになる。
【００３６】
図１０（ｂ）は、ログ記録部４０７で記録されるジョブログのデータ構成の一例である。ログ記録部４０７で記録されるジョブログには、ジョブＩＤ、印刷ジョブを作成したアプリケーション名及びドキュメント名、印刷を指示したユーザーを特定するオーナ名、印刷ジョブの投入時刻、印刷の開始時刻、並びに印刷の終了時刻の情報が含まれる。また、印刷ジョブのログ情報には、クライアントコンピューター２００のプリンタドライバ上で行われた一部の設定情報が含まれる。具体的には、用紙サイズの指定、片面／両面印刷の指定、Ｎｕｐ指定などである。さらに、ジョブログには、実際に印刷出力された排紙枚数の情報も含まれる。
【００３７】
ここで、ログ記録部４０７で記録されるジョブログには、全ての印刷ジョブについて共通の出力属性情報が印刷ジョブ情報から取得され、記録される。この共通の出力属性情報については、ネイティブプログラム３０２の設計仕様で決定された固定的な項目に対応する。よって、ログ記録部４０７は、クライアントコンピューター２００で印刷ジョブに対して設定された印刷設定の中で、「留め置き印刷設定」、「プリント濃度設定」、「省トナー設定」などの一部の設定項目の有効／無効については取得、記録しない仕様となっている。また、ネイティブプログラム３０２の設計後に拡張された画像形成装置１００のオプションを用いた印刷設定や印刷後処理設定なども、ログ記録部４０７では記録できない場合がある。
【００３８】
＜ログ記録プログラム３０６の構成＞
図５は、ログ記録プログラム３０６の構成の例を示すブロック図である。ログ記録プログラム３０６は、イベント受信部５０１とジョブ選別部５０２、ジョブログ管理部５０４、出力部５０５といったモジュールで構成される。
【００３９】
イベント受信部５０１は、拡張プログラムシステムサービス３０４を通じてネイティブプログラム３０２で発行されるイベントを受信する。イベントには、ログ記録部４０７が発行するジョブ登録イベントやログ記録イベントが含まれる。イベント受信部５０１は、ジョブ登録イベントを受信した場合には、該イベントに係る情報をジョブ選別部５０２に渡す。また、イベント受信部５０１は、ログ記録イベントを受信した場合、該イベントに係る情報をジョブ選別部５０２に渡す。
【００４０】
ジョブ選別部５０２は、イベント受信部５０１からイベント情報を渡された場合に、該イベントに対応する印刷ジョブ情報の内容を分析する。ここで、ジョブ登録イベントの場合には、印刷ジョブ情報に特定の印刷設定が含まれるか否かを判断する。特定の印刷設定が含まれる場合は、ジョブ選別部５０２は、その印刷ジョブ情報内のジョブ識別情報をログ記録プログラム３０６用の記憶領域で保存し、管理する。なお、特定の印刷設定が含まれる場合は、ジョブ選別部５０２は、その印刷ジョブ情報自体をログ記録プログラム３０６用の記憶領域で保存し、管理してもよい。一方で、特定の印刷設定が含まれない場合には、ジョブ選別部５０２は、ジョブ識別情報をログ記録プログラム３０６用の記憶領域で保存しない。
【００４１】
また、ジョブ選別部５０２は、ログ記録イベントに係る情報が渡された場合には、その旨をジョブログ管理部５０４に渡す。その際、ジョブ選別部５０２は、ログ記録イベントに対応する印刷ジョブの識別情報が、既にログ記録プログラム３０６用の記憶領域で管理されているか否かを判断する。ジョブ識別情報が管理されていた場合は、その旨を示す情報をさらにジョブログ管理部５０４に渡す。
【００４２】
ジョブログ管理部５０４は、ジョブ選別部５０２から受け取ったイベント情報に従い、該イベントに対応するログ記録部４０７で記録されたジョブログを、ＨＤＤ１００４内のログ記録プログラム３０６の管理するログ情報ファイルに記録し、管理する。ここで、特定の印刷設定が含まれる印刷ジョブのジョブログを記録するための専用ファイルと、それ以外の印刷ジョブのジョブログを記録するためのファイルとが別に管理されている。ジョブログ管理部５０４は、ジョブ選別部５０２で管理されていたジョブ識別情報を含む印刷ジョブについては、ログ記録部４０７で記録されたジョブログをその専用ファイルに追記していく。ここで、ジョブ選別部５０２が複数の印刷設定項目を管理対象としている場合には、各設定項目に対応する専用ファイルを用意して、ログ記録部４０７でそれぞれの専用ファイルにジョブログを記録していくことになる。
【００４３】
なお、ジョブログ管理部５０４は、ジョブ選別部５０２で管理されていたジョブ識別情報を含む印刷ジョブについてはそのジョブログに特定の印刷設定が有効であったことを示す情報を追記することで、ファイルを区別せずにジョブログの記録を行ってもよい。
【００４４】
出力部５０５は、ジョブログ管理部５０４が記録した印刷ジョブのログ情報ファイルを画像形成装置１００の外部に出力するための制御を行う。出力の方法としては、例えば、定期的にＷｅｂＤＡＶやＳＭＢといった通信プロトコルを使用して外部のコンピューター（不図示）に送信する。また、Ｗｅｂサーバー機能を実装し、外部のコンピューターが備えるブラウザで前記Ｗｅｂサーバー機能にアクセスさせ、ダウンロードさせることも可能である。また、画像形成装置に装着されたＵＳＢフラッシュストレージ（不図示）に出力するなどといったことも可能である。
【００４５】
＜印刷ジョブのログ情報記録処理の流れ＞
図８〜図１０を用いて画像形成装置１００における印刷ジョブのログ情報の記録処理を説明する。尚、図８、９に記載されている処理を実行するためのプログラムは、ＲＯＭ１００３、もしくは、ＨＤＤ１００４に保存され、ＣＰＵ１００１にて実行される。
【００４６】
図８は、画像形成装置１００における印刷ジョブの実行処理を示すフローチャートである。
【００４７】
Ｓ８０１において、インターフェース部４０１は、ネットワークＩ／Ｆ１０１０を通じて、クライアントコンピューター２００から印刷ジョブを受信すると、印刷ジョブデータを印刷データ格納部４０２に保存し、印刷ジョブ管理部４０３に印刷ジョブを受信した旨を通知する。
【００４８】
Ｓ８０２において、印刷ジョブ管理部４０３は、印刷ジョブを解析し、ユーザー名や印刷部数やカラー印刷などの出力属性情報を取得し、印刷ジョブの開始日時と共に印刷ジョブ情報として、自身の管理できる所定の記録領域に登録し、管理する。印刷ジョブ情報のデータ構成の具体例については、図１０（ａ）で示す通りである。
【００４９】
Ｓ８０３において、印刷ジョブ管理部４０３は、ジョブ登録イベントを発行する。このイベントは、拡張プログラムシステムサービス３０４を通じてログ記録プログラム３０６にも通知される。イベントに応じたログ記録プログラム３０６による処理については、図９を用いて後述する。
【００５０】
Ｓ８０４において、印刷ジョブ管理部４０３は、印刷ジョブ情報を解析し、留め置き印刷設定が有効なジョブであるか否かを判断する。留め置き印刷設定が有効なジョブであった場合にはＳ８０５に遷移し、そうで無い場合にはＳ８０６に遷移する。Ｓ８０５において、印刷ジョブ管理部４０３は、ユーザーからの印刷指示を待ち、ユーザーからの印刷指示を検知するとＳ８０６に遷移する。なお、印刷指示の際には、ユーザーからのカード認証や生体情報（指紋など）認証といった認証情報の入力による認証を行ってもよい。
【００５１】
Ｓ８０６において、印刷ジョブ管理部４０３は、印刷ジョブに係る印刷処理を開始する。印刷データ展開部４０４に、印刷データの展開を指示する。印刷データ展開部４０３は、印刷ジョブ管理部４０３に格納された印刷ジョブ情報に従い、印刷データ格納部４０２から印刷データを取得して画像生成処理を行い、イメージデータをＲＡＭ３０３上に生成する。そして、印刷データ展開部４０３は、生成したイメージデータをイメージデータ格納部４０５に格納する。Ｓ８０７において、印刷ジョブ管理部４０３は、印刷制御部４０６にイメージデータの印刷を指示する。印刷制御部４０６は、デバイスＩ／Ｆ１０２０を通じてプリンタ１０９５を制御し、イメージデータ格納部４０５に格納されたイメージデータを、電子写真技術やインクジェット技術などの既知の印刷技術を用いて印刷用紙などのメディアに実際に印刷する。
【００５２】
Ｓ８０８において、ログ記録部４０７は、印刷ジョブの実行結果を含むジョブログを生成し、ログ記録プログラム３０６からも参照、取得可能な記憶領域に登録する。ここで生成されたジョブログのデータ構成の具体例については、図１０（ｂ）で示す通りである。前述の通り、クライアントコンピューター２００でプリンタドライバを用いて設定した一部の印刷設定項目（「留め置き印刷設定」、「プリント濃度設定」、「省トナー設定」など）の有効／無効については記録されていない。
【００５３】
Ｓ８０９において、印刷ジョブ管理部４０３は、ログ記録イベントを発行し、その後、本処理は終了する。このイベントは、拡張プログラムシステムサービス３０４を通じてログ記録プログラム３０６にも通知される。イベントに応じたログ記録プログラム３０６による処理については、図９を用いて後述する。
【００５４】
図９は、ログ記録プログラム３０６がジョブログの記録処理を説明するためのフローチャートである。
【００５５】
Ｓ９０１おいて、イベント受信部５０１は、拡張プログラムシステムサービス３０４を通じて印刷ジョブ管理部４０３が発行したイベントを受信する。
【００５６】
Ｓ９０２において、ジョブ選別部５０２は、イベント受信部５０１で受信したイベントがジョブ登録イベントか否かを判断する。ジョブ登録イベントであった場合にはＳ９０３に遷移し、そうで無い場合にはＳ９０５に遷移する。
【００５７】
Ｓ９０３で、ジョブ選別部５０２は、ジョブ登録イベントに対応する印刷ジョブの印刷ジョブ情報に管理対象となる特定の印刷設定についての指定が行われているか否かを判断する。ここでは、例えば、「溜め置き印刷設定」で有効を示す値が、あるいは「排紙トレイ」で任意の値が指定されているか、といった特定の設定の監視が行われている。特定の印刷設定の指定が行われていた場合にはＳ９０４に遷移し、含まれていなかった場合には本処理を終了する。
【００５８】
なお、この監視対象とする特定の印刷設定については、ログ記録プログラム３０６が提供する設定画面（不図示）を介して、操作部１０１２またはネットワーク上のコンピューターから任意に選択的に設定出来るようにしても良い。
【００５９】
Ｓ９０４において、ジョブ選別部５０２は、印刷ジョブ情報に含まれるジョブ識別情報をログ記録プログラム３０６用の記憶領域で保存する。ここでは、特定の印刷設定項目ごとに別々にジョブ識別情報を保存して管理してもよい。
【００６０】
Ｓ９０５おいて、イベント受信部５０１は、イベント受信部５０１で受信したイベントがログ記録イベントか否かを判断する。ログ記録イベントであった場合にはＳ９０６に遷移し、そうで無い場合には本処理を終了する。
【００６１】
Ｓ９０６において、ジョブ選別部５０２は、ログ記録イベントに対応するジョブログに含まれるジョブ識別情報が、Ｓ９０４で保存されたジョブ識別情報に存在するか否かを判断する。これにより、ジョブ選別部５０２は、Ｓ９０４で保存されたジョブ識別情報に対応するジョブログの記録を把握することが可能となる。Ｓ９０４で保存されたジョブ識別情報に対応するジョブログであった場合にはＳ９０７に遷移し、そうでなかった場合にはＳ９０９に遷移する。
【００６２】
Ｓ９０７で、ジョブログ管理部５０４は、ログ記録イベントに対応するジョブログを専用ファイルに記録する。ここでは、「溜め置き印刷設定」が有効となっている印刷ジョブに係るジョブログは、「溜め置き印刷設定」の専用ファイルに対して記録される。「排紙トレイ」で任意の指定が行われている印刷ジョブに係るジョブログは、「排紙トレイ」の専用ファイルに対して記録される。
【００６３】
Ｓ９０８で、ジョブ選別部５０２は、専用ファイルに記録したジョブログに対応するジョブ識別情報を削除し、本処理を終了する。
【００６４】
Ｓ９０９で、ジョブログ管理部５０４は、ログ記録イベントに対応するジョブログを通常のログ記録用のファイルに記録し、本処理を終了する。このファイルに含まれるジョブログは、ログ記録プログラム３０６で監視対象となっている印刷設定を含まない印刷ジョブに係るジョブログとなる。
【００６５】
本実施例によれば、従来、ネイティブプログラム３０２がジョブログとして記録できなかった特定の印刷設定を含む印刷ジョブに対応するジョブログを、ログ記録プログラム３０６が管理している専用ファイルによって特定することが可能となった。
【００６６】
＜実施例２＞
なお、実施例１で例示しているように、「溜め置き印刷設定」の有効／無効の設定は、ネイティブプログラム３０２によってジョブログとして記録されない。実施例２では、画像形成装置１００において、留め置き印刷設定が有効となっている印刷ジョブのジョブログを記録する際に発生し得るさらなる課題と、その解決手段を説明する。
【００６７】
前述したように、留め置き印刷は、その設定が有効な印刷ジョブを受信した画像形成装置１００に対してユーザーが印刷実行を指示するまで印刷が開始（実行）されない。ユーザーからの指示があるまでは、画像形成装置１００内にジョブデータが保存され、溜め置かれることになる。そのような溜め置き状態で、画像形成装置１００がシャットダウンすると、データ持ち出しなどの情報漏洩リスクの低減のため、その留め置き印刷はキャンセルされ、画像形成装置１００内からジョブデータが削除されるという処理が実行される。
【００６８】
ここで、画像形成装置１００のシャットダウン処理においては、ネイティブプログラム３０２と拡張プログラム３０５とで並列に処理が進む。そのため、ネイティブプログラム３０２でシャットダウン処理に従う留め置き印刷のキャンセルが行われた旨の印刷ジョブ情報の登録イベントが発行されるよりも前に、ログ記録プログラム３０６が終了してしまう場合がある。この場合、ログ記録プログラム３０６は、留め置き印刷設定を含む印刷ジョブがキャンセルされたことを示すジョブログを、専用ファイルに記録できない。
【００６９】
そこで、実施例２で、このような課題を解決する解決手段について説明する。なお、実施例１と同様である構成についてはその説明を省略する。本実施例に特有な部分について、以下、詳しく説明していく。
【００７０】
＜ログ記録プログラム３０６の終了処理の流れ＞
図１１は、画像形成装置１００のシャットダウン時に、ログ記録プログラム３０６が実行する終了処理を示すフローチャートである。本処理は、画像形成装置１００のシャットダウンによる終了イベントが発生した場合に、ログ記録プログラム３０６が実行処理で、本処理が開始された時点でジョブ選別部５０２は秒数のカウントを開始する。
【００７１】
Ｓ１１０１において、ジョブ選別部５０２は、Ｓ９０４で保存されたジョブ識別情報が削除されずに残っているか否かを判断する。ジョブ識別情報が残っている場合にはＳ１１０２に遷移し、残っていない場合には本処理を終了する。
【００７２】
Ｓ１１０２において、ジョブ選別部５０２は、本処理開始時点からカウントした秒数が、タイムアウト値を越えているか否かを判断する。タイムアウト値を越えている場合は本処理を終了し、超えていない場合にはＳ１１０３に遷移する。Ｓ１１０３において、ジョブ選別部５０２は、一定時間（数秒間）、スリープし、Ｓ１１０１に戻る。
【００７３】
本処理に依れば、Ｓ１１０２及びＳ１１０３で示すタイムアウト値（例えば、１０秒）に基づく処理により、ログ記録プログラム３０６の終了がタイムアウト値に従い時間だけ延期されることになる。本処理は、図１２で後述するジョブキャンセルを示すジョブログのログ登録イベントが発行されるまで、ログ記録プログラム３０６の終了を延期することを目的としている。
【００７４】
図１１で示す本処理が終了すると、ログ記録プログラム３０６が終了する。
【００７５】
＜留め置き印刷ジョブキャンセル処理の流れ＞
図１２は、画像形成装置１００のシャットダウン時に、ネイティブプログラム３０２が実行する留め置き印刷ジョブキャンセル処理の流れを示すフローチャートである。
【００７６】
Ｓ１２０１において、印刷ジョブ管理部４０３は、留め置き印刷設定が有効な印刷ジョブのジョブデータが印刷データ格納部４０２に残っているか否かを判断する。ジョブデータが残っている場合にはＳ１２０２に遷移し、無い場合には本処理を終了する。Ｓ１２０２において、印刷ジョブ管理部４０３は、印刷データ格納部４０２に保管されているジョブデータを削除する。
【００７７】
Ｓ１２０３において、ログ記録部４０７は、本処理の対象となるキャンセルされた印刷ジョブのジョブログとして、印刷ジョブがキャンセルされたことを示す情報を記録し、ログ記録プログラム３０６からも参照、取得可能な記憶領域に登録する。
【００７８】
Ｓ１２０４において、印刷ジョブ管理部４０３は、ログ記録イベントを発行し、その後、本処理は終了する。このイベントは、拡張プログラムシステムサービス３０４を通じてログ記録プログラム３０６にも通知される。イベントに応じたログ記録プログラム３０６による処理については、図９で説明した通りである。
【００７９】
図１２で示す本処理が終了すると、ネイティブプログラム３０２が終了する。
【００８０】
＜ログ記録プログラム３０６の開始処理の流れ＞
図１３は、画像形成装置１００の起動時に、ログ記録プログラム３０６が実行する開始処理を示すフローチャートである。
【００８１】
Ｓ１３０１において、ジョブ選別部５０２は、Ｓ９０４で保存されたジョブ識別情報が削除されずに残っているか否かを判断する。ジョブ識別情報が残っている場合にはＳ１３０２に遷移し、残っていない場合には本処理が終了する。
【００８２】
Ｓ１３０２において、ジョブ選別部５０２は、拡張プログラムシステムサービス３０４を通じてログ記録部４０７が記録したジョブログの記憶領域にアクセスし、保存されたジョブ識別情報に対応するジョブログを取得する。Ｓ１３０３おいて、ジョブログ管理部５０４は、Ｓ１３０２で取得したジョブログを、専用ファイルに記録する。Ｓ１３０４において、ジョブ選別部５０２は、専用ファイルに記録したジョブログに対応するジョブ識別情報を削除し、本処理を終了する。
【００８３】
以上、実施例２によれば、画像形成装置１００のシャットダウンに伴う留め置き印刷のキャンセルに関するジョブログも漏らさず記録する事が出来るようになる。
【００８４】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【００８５】
ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピューターにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【００８６】
３０２  ネイティブプログラム
３０３  拡張プログラム実行プラットフォーム
３０４  拡張プログラムシステムサービス
３０６  ログ記録プログラム
【図１】
2017061079.tif 000003
【図２】
2017061079.tif 000004
【図３】
2017061079.tif 000005
【図４】
2017061079.tif 000006
【図５】
2017061079.tif 000007
【図６】
2017061079.tif 000008
【図７】
2017061079.tif 000009
【図８】
2017061079.tif 000010
【図９】
2017061079.tif 000011
【図１０】
2017061079.tif 000012
【図１１】
2017061079.tif 000013
【図１２】
2017061079.tif 000014
【図１３】
2017061079.tif 000015