(57)【特許請求の範囲】
【請求項１】
プリンタを備える画像形成装置を制御するための情報処理装置であって、
アプリケーションと、前記アプリケーションに関連付けられているファイルとを格納するための記憶部と、
前記ファイルを指定する第１操作および前記アプリケーションを指定する第２操作を受け付けることができる受付部と、
前記受付部が前記第１操作および前記第２操作のいずれかを受け付けたことに基づいて、前記アプリケーションを起動するための起動部と、
前記アプリケーションが起動されたことに基づいて、前記アプリケーションが前記第１操作で起動されたか否かを判断するための第１判断部と、
前記アプリケーションが前記プリンタを利用するための機能を有するか否かを判断するための第２判断部と、
前記第１判断部によって前記アプリケーションが前記第１操作で起動されたと判断され、かつ、前記第２判断部によって前記アプリケーションが前記プリンタを利用するための機能を有すると判断された場合に、前記画像形成装置による印刷の前処理を実行するための実行部とを備える、情報処理装置。
【請求項２】
前記実行部は、前記アプリケーションが前記第２操作で起動された場合には、前記前処理を実行しない、請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、前記ファイルが印刷済みであるか否かを示す印刷履歴をさらに格納し、
前記情報処理装置は、前記ファイルが印刷済であることを前記印刷履歴が示す場合に、前記前処理の実行を禁止するための禁止部をさらに備える、請求項１または２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記ファイルの印刷が完了したことに基づいて、前記ファイルの識別情報を前記印刷履歴に書き込むための書込部をさらに備える、請求項３に記載の情報処理装置。
【請求項５】
前記第１判断部は、
前記アプリケーションが起動されたことに基づいて、前記アプリケーションによって読み込まれたファイル名を取得するための取得関数を呼び出し、
当該ファイル名が得られた場合に、前記アプリケーションが前記第１操作で起動されたと判断する、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第２判断部は、前記画像形成装置の印刷を実行するための予め定められた印刷関数が前記アプリケーションのソースコードに含まれている場合に、前記アプリケーションが前記プリンタを利用するための機能を有すると判断する、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記記憶部は、前記プリンタのドライバをさらに格納し、
前記前処理は、前記ドライバをバージョンアップすることを含む、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記画像形成装置の動作モードは、第１動作モードと、前記画像形成装置の消費電力が前記第１動作モードよりも少ない第２動作モードとを含み、
前記前処理は、前記画像形成装置の動作モードを前記第２動作モードから前記第１動作モードに切り替える命令を前記画像形成装置に送信することを含む、請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
プリンタを備える画像形成装置を制御することが可能な情報処理装置によって実行される制御方法であって、
ファイルを指定する第１操作およびアプリケーションを指定する第２操作のいずれかを受け付けるステップと、
前記第１操作および前記第２操作のいずれかが受け付けられたことに基づいて、前記アプリケーションを起動するステップと、
前記アプリケーションが起動されたことに基づいて、前記アプリケーションが前記第１操作で起動されたか否かを判断するステップと、
前記アプリケーションが前記プリンタを利用するための機能を有するか否かを判断するステップと、
前記アプリケーションが前記第１操作で起動されたと判断され、かつ、前記アプリケーションが前記プリンタを利用するための機能を有すると判断された場合に、前記画像形成装置による印刷の前処理を実行するステップとを備える、制御方法。
【請求項１０】
プリンタを備える画像形成装置を制御することが可能な情報処理装置の制御プログラムであって、
前記制御プログラムは、前記情報処理装置に、
ファイルを指定する第１操作およびアプリケーションを指定する第２操作のいずれかを受け付けるステップと、
前記第１操作および前記第２操作のいずれかが受け付けられたことに基づいて、前記アプリケーションを起動するステップと、
前記アプリケーションが起動されたことに基づいて、前記アプリケーションが前記第１操作で起動されたか否かを判断するステップと、
前記アプリケーションが前記プリンタを利用するための機能を有するか否かを判断するステップと、
前記アプリケーションが前記第１操作で起動されたと判断され、かつ、前記アプリケーションが前記プリンタを利用するための機能を有すると判断された場合に、前記画像形成装置による印刷の前処理を実行するステップとを実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像形成装置の印刷技術に関し、特に、画像形成装置の印刷の待ち時間を短縮するための技術に関する。
【背景技術】
【０００２】
ＭＦＰ（Multi-Functional  Peripheral）などの画像形成装置が普及している。画像形成装置に関し、特開２００２−６３０９８号公報（特許文献１）は、「プリンタドライバソフト及びプリンタファームを通信回線を介して自動更新する」ための印刷システムを開示している。特開２０１０−１１７７９２号公報（特許文献２）は、「印刷データが送信されると直ちに印刷を開始」するための印刷システムを開示している。特開２００１−１００９６８号公報（特許文献３）は、「省電力待機中のプリンタを早期に立ち上げ可能とし、省電力を図りつつ印刷待ち時間を短縮する」ための印刷システムを開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−６３０９８号公報
【特許文献２】特開２０１０−１１７７９２号公報
【特許文献３】特開２００１−１００９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、スマートフォンなどの情報処理装置と通信できる画像形成装置が普及している。ユーザーは、情報処理装置を用いて画像形成装置を遠隔から操作することができる。
【０００５】
一例として、情報処理装置は、画像形成装置の印刷指示を受け付ける。情報処理装置は、印刷指示を受け付けたことに基づいて、印刷の実行命令を画像形成装置に送信する。画像形成装置は、情報処理装置から印刷の実行命令を受信したことに基づいて印刷を実行するための準備処理（以下、「印刷準備処理」ともいう。）を実行し、印刷準備処理が完了した後に印刷処理を実行する。印刷準備処理としては、たとえば、プリンタドライバのアップデートや、画像形成装置の省電力モードの解除などが挙げられる。印刷準備処理が印刷前に完了していれば、印刷時におけるユーザーの待ち時間が短縮される。しかしながら、印刷が実行されない場合に印刷準備処理が実行されると、ＣＰＵやネットワークのリソースが無駄に使用されたり、画像形成装置の電力が無駄に消費されたりする。
【０００６】
特許文献１に開示される印刷システムは、プリンタドライバを定期的にアップデートする。印刷が実行されない場合にプリンタドライバのアップデートが実行されると、ＣＰＵやネットワークのリソースが無駄に使用される。特許文献２，３に開示される印刷システムは、アプリケーションの起動時にプリンタの省電力モードの解除命令を受け付け、当該解除命令を受け付けたことに基づいて省電力モードを解除する。しかしながら、アプリケーションの起動時に印刷が実行されない場合もある。この場合に、省電力モードが解除されると、消費電力が無駄に消費される。
【０００７】
したがって、印刷の待ち時間を短縮しつつ、印刷準備処理が不要に実行されることを抑制できる情報処理装置が望まれている。
【０００８】
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、印刷の待ち時間を短縮しつつ、印刷準備処理が不要に実行されることを抑制できる情報処理装置を提供することである。他の局面における目的は、印刷の待ち時間を短縮しつつ、印刷準備処理が不要に実行されることを抑制できる画像形成装置の制御方法を提供することである。さらに他の局面における目的は、印刷の待ち時間を短縮しつつ、印刷準備処理が不要に実行されることを抑制できる画像形成装置の制御プログラムを提供することである。
【課題を解決するための手段】
【０００９】
ある局面に従うと、プリンタを備える画像形成装置を制御するための情報処理装置は、アプリケーションと、上記アプリケーションに関連付けられているファイルとを格納するための記憶部と、上記ファイルを指定する第１操作および上記アプリケーションを指定する第２操作を受け付けることができる受付部と、上記受付部が上記第１操作および上記第２操作のいずれかを受け付けたことに基づいて、上記アプリケーションを起動するための起動部と、上記アプリケーションが起動されたことに基づいて、上記アプリケーションが上記第１操作で起動されたか否かを判断するための第１判断部と、上記アプリケーションが上記プリンタを利用するための機能を有するか否かを判断するための第２判断部と、上記第１判断部によって上記アプリケーションが上記第１操作で起動されたと判断され、かつ、上記第２判断部によって上記アプリケーションが上記プリンタを利用するための機能を有すると判断された場合に、上記画像形成装置による印刷の前処理を実行するための実行部とを備える。
【００１０】
好ましくは、上記実行部は、上記アプリケーションが上記第２操作で起動された場合には、上記前処理を実行しない。
【００１１】
好ましくは、上記記憶部は、上記ファイルが印刷済みであるか否かを示す印刷履歴をさらに格納する。上記情報処理装置は、上記ファイルが印刷済であることを上記印刷履歴が示す場合に、上記前処理の実行を禁止するための禁止部をさらに備える。
【００１２】
好ましくは、上記情報処理装置は、上記ファイルの印刷が完了したことに基づいて、上記ファイルの識別情報を上記印刷履歴に書き込むための書込部をさらに備える。
【００１３】
好ましくは、上記第１判断部は、上記アプリケーションが起動されたことに基づいて、上記アプリケーションによって読み込まれたファイル名を取得するための取得関数を呼び出し、当該ファイル名が得られた場合に、上記アプリケーションが上記第１操作で起動されたと判断する。
【００１４】
好ましくは、上記第２判断部は、上記画像形成装置の印刷を実行するための予め定められた印刷関数が上記アプリケーションのソースコードに含まれている場合に、上記アプリケーションが上記プリンタを利用するための機能を有すると判断する。
【００１５】
好ましくは、上記記憶部は、上記プリンタのドライバをさらに格納する。上記前処理は、上記ドライバをバージョンアップすることを含む。
【００１６】
好ましくは、上記画像形成装置の動作モードは、第１動作モードと、上記画像形成装置の消費電力が上記第１動作モードよりも少ない第２動作モードとを含む。上記前処理は、上記画像形成装置の動作モードを上記第２動作モードから上記第１動作モードに切り替える命令を上記画像形成装置に送信することを含む。
【００１７】
他の局面に従うと、プリンタを備える画像形成装置を制御することが可能な情報処理装置によって実行される制御方法は、ファイルを指定する第１操作およびアプリケーションを指定する第２操作のいずれかを受け付けるステップと、上記第１操作および上記第２操作のいずれかが受け付けられたことに基づいて、上記アプリケーションを起動するステップと、上記アプリケーションが起動されたことに基づいて、上記アプリケーションが上記第１操作で起動されたか否かを判断するステップと、上記アプリケーションが上記プリンタを利用するための機能を有するか否かを判断するステップと、上記アプリケーションが上記第１操作で起動されたと判断され、かつ、上記アプリケーションが上記プリンタを利用するための機能を有すると判断された場合に、上記画像形成装置による印刷の前処理を実行するステップとを備える。
【００１８】
さらに他の局面に従うと、プリンタを備える画像形成装置を制御することが可能な情報処理装置の制御プログラムは、上記情報処理装置に、ファイルを指定する第１操作およびアプリケーションを指定する第２操作のいずれかを受け付けるステップと、上記第１操作および上記第２操作のいずれかが受け付けられたことに基づいて、上記アプリケーションを起動するステップと、上記アプリケーションが起動されたことに基づいて、上記アプリケーションが上記第１操作で起動されたか否かを判断するステップと、上記アプリケーションが上記プリンタを利用するための機能を有するか否かを判断するステップと、上記アプリケーションが上記第１操作で起動されたと判断され、かつ、上記アプリケーションが上記プリンタを利用するための機能を有すると判断された場合に、上記画像形成装置による印刷の前処理を実行するステップとを実行させる。
【発明の効果】
【００１９】
ある局面において、印刷の待ち時間を短縮しつつ、印刷準備処理が不要に実行されることを抑制できる。
【００２０】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００２１】
【図１】情報処理システムのシステム構成の一例を示す図である。
【図２】ユーザーが情報処理装置の表示部にタッチ操作を行っている様子を示す図である。
【図３】情報処理装置の機能構成の一例を示す図である。
【図４】印刷履歴のデータ構造の一例を示す図である。
【図５】情報処理装置が実行する処理の一部を表わすフローチャートである。
【図６】情報処理システムの主要なハードウェア構成を示すブロック図である。
【図７】監視アプリとＯＳ（Operating System）とドライバと編集アプリとの間のデータの流れを示すシーケンス図である。
【図８】印刷準備処理時における情報処理装置と画像形成装置との間のデータの流れを示すシーケンス図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【００２３】
＜第１の実施の形態＞
［情報処理システム５００のシステム構成］
図１を参照して、本実施の形態に従う情報処理システム５００について説明する。図１は、情報処理システム５００のシステム構成の一例を示す図である。
【００２４】
図１に示されるように、情報処理システム５００は、たとえば、情報処理装置１００Ａ〜１００Ｆと、画像形成装置２００Ａ〜２００Ｄとで構成されている。情報処理装置１００Ａ，１００Ｂおよび画像形成装置２００Ａ，２００Ｂは、内部ネットワーク５０１を介して接続されている。情報処理装置１００Ｃ〜１００Ｆおよび画像形成装置２００Ｃ，２００Ｄは、内部ネットワーク５０２を介して接続されている。内部ネットワーク５０１および内部ネットワーク５０２は、外部ネットワーク５０３に接続されている。
【００２５】
以下では、情報処理装置１００Ａ〜１００Ｆのいずれかを代表して情報処理装置１００ともいう。画像形成装置２００Ａ〜２００Ｄのいずれかを代表して画像形成装置２００ともいう。
【００２６】
図１には、デスクトップ型のパソコンとしての情報処理装置１００Ａ〜１００Ｄと、タブレット端末としての情報処理装置１００Ｅ，１００Ｆが示されているが、情報処理装置１００は、デスクトップ型のパソコンやタブレット端末に限定されない。たとえば、情報処理装置１００は、ノート型のパソコン、スマートフォン、デジタルカメラ、またはウェアラブル端末、および画像形成装置２００と通信可能なその他の通信端末であってもよい。
【００２７】
情報処理装置１００は、自身に保存されているファイル（たとえば、文書ファイルや画像ファイルなど）に対する印刷指示をユーザーから受け付けることができる。ある局面において、印刷指示は、情報処理装置１００に接続されているマウス（図示しない）によって入力される。他の局面において、情報処理装置１００のディスプレイがタッチパネルとして構成されている場合、印刷指示は、ディスプレイに対するタッチ操作により入力される。情報処理装置１００は、ユーザーによって指定されたファイルの印刷命令を、予め設定されている画像形成装置２００に送信する。
【００２８】
画像形成装置２００は、カラープリンタであってもよいし、モノクロプリンタであってもよいし、ファックスであってもよいし、モノクロプリンタ、カラープリンタおよびファックスの複合機（すなわち、ＭＦＰ）であってもよいし、その他の印刷機能を有する装置であってもよい。
【００２９】
なお、図１には、情報処理システム５００が複数の情報処理装置１００Ａ〜１００Ｆで構成されている例が示されているが、情報処理装置の数は任意である。たとえば、情報処理システム５００は１つの情報処理装置で構成されてもよい。また、図１には、情報処理システム５００が画像形成装置２００Ａ〜２００Ｄで構成されている例が示されているが、画像形成装置の数は任意である。たとえば、情報処理システム５００は１つの画像形成装置で構成されてもよい。
【００３０】
［情報処理装置１００の処理］
図２を参照して、情報処理装置１００が実行する処理の概要について説明する。図２は、ユーザーが情報処理装置１００の表示部１０５にタッチ操作を行っている様子を示す図である。
【００３１】
表示部１０５は、たとえば、ディスプレイとタッチパネルとで構成されている。ディスプレイは、タッチパネルに重ねられており、情報処理装置１００に対する操作をタッチ操作で受け付ける。
【００３２】
表示部１０５には、たとえば、ファイルやアイコンなどが表示される。図２の例では、表示部１０５は、文書ファイル３０およびアプリケーションアイコン３１を表示している。表示部１０５は、文書ファイル３０の指定やアプリケーションアイコン３１の指定をタッチ操作で受け付ける。
【００３３】
文書ファイル３０が指定された場合には、情報処理装置１００は、文書ファイル３０に関連付けられているアプリケーションを起動する。以下では、文書ファイル３０を指定する操作を「ファイル指定操作」ともいう。ファイル指定操作は、たとえば、キーボード操作、マウス操作、タッチ操作、またはこれらの操作の組み合わせにより実現される。図２（Ａ）の例では、文書ファイル３０がタッチ操作で指定されている例が示されている。文書ファイル３０には、文書を編集するためのアプリケーション（以下、編集アプリ」ともいう。）が関連付けられている。編集アプリは、たとえば、Ｗｏｒｄ、Ｅｘｃｅｌ、またはメモ帳などである。文書ファイル３０と編集アプリとの関連付けは、たとえば、文書ファイル３０の拡張子を特定の編集アプリに関連付ける設定により行なわれる。
【００３４】
アプリケーションアイコン３１が指定された場合には、情報処理装置１００は、アプリケーションアイコン３１に関連付けられている編集アプリを起動する。以下では、アプリケーションアイコン３１を指定する操作を「アプリ指定操作」ともいう。アプリ指定操作は、たとえば、キーボード操作、マウス操作、タッチ操作、またはこれらの操作の組み合わせにより実現される。図２（Ｂ）の例では、アプリケーションアイコン３１がタッチ操作で指定されている例が示されている。アプリケーションアイコン３１に関連付けられている編集アプリは、文書ファイル３０に関連付けられている編集アプリと同じであるとする。すなわち、アプリケーションアイコン３１が指定された場合に起動される編集アプリは、文書ファイル３０が指定されたときに起動される編集アプリと同じである。
【００３５】
文書ファイル３０が指定されると、情報処理装置１００は、文書ファイル３０に関連付けられている編集アプリを起動し、文書ファイル３０を読み込む。その結果、文書ファイル３０の内容を表わす文書データ３２が表示される。文書ファイル３０は既に編集されているので、文書ファイル３０が印刷される可能性は高い。一方で、アプリケーションアイコン３１が指定されると、情報処理装置１００は、編集アプリを直接的に起動し、新規の文書データ３３を表示する。新規の文書データ３３は、印刷される可能性が低い。
【００３６】
そこで、情報処理装置１００は、編集アプリが起動されたことに基づいて、編集アプリがファイル指定操作（第１操作）で起動されたか否かを判断する。情報処理装置１００は、編集アプリがファイル指定操作で起動されたと判断した場合には、画像形成装置２００による印刷の前処理（以下、「印刷準備処理」ともいう。）を実行する。印刷の可能性が高い場合に、印刷準備処理が予め実行されることで、印刷の待ち時間が短縮される。一方で、編集アプリがアプリ指定操作で起動された場合には、情報処理装置１００は、印刷準備処理を実行しない。印刷の可能性が低い場合には、印刷準備処理が実行されないので、印刷準備処理が無駄に実行されることが抑制される。その結果、画像形成装置２００の消費電力が抑制される。また、情報処理装置１００や画像形成装置２００のＣＰＵの使用率が抑制される。また、情報処理装置１００と画像形成装置２００との間のネットワークの通信量が減る。
【００３７】
ある局面において、情報処理装置１００は、印刷準備処理として、情報処理装置１００にインストールされているプリンタドライバをバージョンアップする。他の局面において、画像形成装置２００の動作モードは、通常モード（第１モード）と、画像形成装置２００の消費電力が通常モードよりも少ない省電力モード（第２モードとを含む。情報処理装置１００は、印刷準備処理として、画像形成装置２００の動作モードを省電力モードから通常モードに切り替える。動作モードが通常モードに切り替えられたことに基づいて、画像形成装置２００は、トナー像を用紙に定着させることが可能な温度まで定着装置を上昇させるウォームアップを実行する。
【００３８】
好ましくは、情報処理装置１００は、起動された編集アプリが画像形成装置２００のプリンタ２０７（図６参照）を利用するための印刷機能を有するか否かを判断し、その上で印刷準備処理を実行する。より具体的には、情報処理装置１００は、編集アプリが印刷機能を有すると判断し、かつ編集アプリがファイル指定操作で起動されたと判断した場合に、印刷準備処理を実行する。異なる言い方をすれば、情報処理装置１００は、編集アプリが印刷機能を有さない場合、または、編集アプリがファイル指定操作以外の操作（たとえば、アプリ指定操作）で起動された場合には、印刷準備処理を実行しない。編集アプリが印刷機能を有するか否かが判断されることで、情報処理装置１００は、印刷が実行されるか否かをさらに正確に判断することができる。
【００３９】
［情報処理装置１００の機能構成］
図３を参照して、情報処理装置１００の機能構成について説明する。図３は、情報処理装置１００の機能構成の一例を示す図である。
【００４０】
図３に示されるように、情報処理装置１００は、受付部１５２と、起動部１５４と、第１判断部１５６と、第２判断部１５８と、実行部１６０と、書込部１６２と、禁止部１６４とを有する。
【００４１】
受付部１５２は、情報処理装置１００に対する操作を受け付ける。受付部１５２は、情報処理装置１００に対する操作の入力を受け付ける入力デバイスである。一例として、当該入力デバイスは、タッチパネルとして構成されている上述の表示部１０５（図２参照）、情報処理装置１００に接続されているマウス、または、情報処理装置１００に接続されているキーボードなどである。受付部１５２は、たとえば、情報処理装置１００に保存されているファイルを指定する操作（すなわち、ファイル指定操作）、および情報処理装置１００にインストールされているアプリケーションを指定する操作（すなわち、アプリ指定操作）を受け付けることができる。
【００４２】
起動部１５４は、受付部１５２がファイル指定操作およびアプリ指定操作のいずれかを受け付けたことに基づいて、指定されたファイルに関連付けられているアプリケーションを起動する。すなわち、アプリケーションは、ファイル指定操作およびアプリ指定操作のいずれでも起動され得る。
【００４３】
第１判断部１５６は、アプリケーションが起動されたことに基づいて、当該アプリケーションがファイル指定操作で起動されたか否かを判断する。第１判断部１５６による判断結果は、実行部１６０に出力される。
【００４４】
第２判断部１５８は、起動されたアプリケーションが画像形成装置２００のプリンタ２０７（図６参照）を利用するための印刷機能を有するか否かを判断する。第２判断部１５８による判断結果は、実行部１６０に出力される。
【００４５】
実行部１６０は、起動されたアプリケーションがファイル指定操作で起動されたと第１判断部１５６によって判断され、かつ、当該アプリケーションが画像形成装置２００のプリンタ２０７を利用するための印刷機能を有すると第２判断部１５８によって判断された場合に、印刷準備処理を実行する。すなわち、実行部１６０は、起動されたアプリケーションがアプリ指定操作で起動された場合には、印刷準備処理を実行しない。あるいは、実行部１６０は、起動されたアプリケーションが画像形成装置２００のプリンタ２０７を利用するための印刷機能を有さない場合には、印刷準備処理を実行しない。
【００４６】
書込部１６２は、ユーザーによって指定されたファイルの印刷が完了したことに基づいて、当該ファイルの識別情報を印刷履歴１２６に書き込む。図４は、印刷履歴１２６のデータ構造の一例を示す図である。印刷履歴１２６に書き込まれるファイルの識別情報として、たとえば、ファイルの格納先を示すファイルパス、ファイル名、ＩＤ（Identification）などが挙げられる。
【００４７】
禁止部１６４は、ユーザーによって指定されたファイルが印刷済であることを印刷履歴１２６が示す場合に、実行部１６０による印刷準備処理の実行を禁止する。すなわち、印刷準備処理は、印刷済みのファイルについては予め実行されない。印刷済みのファイルは、印刷される可能性が低いため、印刷準備処理が無駄に実行されることが抑制される。
【００４８】
［情報処理装置１００の制御構造］
図５を参照して、情報処理装置１００の制御構造について説明する。図５は、情報処理装置１００が実行する処理の一部を表わすフローチャートである。図５の処理は、情報処理装置１００の制御装置１０１（図６参照）がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【００４９】
ステップＳ１０において、制御装置１０１は、アプリケーションが起動されたか否かを判断する。アプリケーションが起動された場合には、そのことを示すメッセージが情報処理装置１００のＯＳから発せられる。制御装置１０１は、当該メッセージをＯＳから受けた場合に、アプリケーションが起動されたと判断する。制御装置１０１は、アプリケーションが起動されたと判断した場合（ステップＳ１０においてＹＥＳ）、制御をステップＳ２０に切り替える。そうでない場合には（ステップＳ１０においてＮＯ）、制御装置１０１は、ステップＳ１０の処理を再び実行する。
【００５０】
ステップＳ２０において、制御装置１０１は、上述の第１判断部１５６（図３参照）として、アプリケーションがファイル指定操作によって起動されたか否かを判断する。アプリケーションがファイル指定操作によって起動されたか否かを判断する方法の一例について説明する。
【００５１】
制御装置１０１は、アプリケーションが起動されたことに基づいて実行されるフックプロシージャを予め登録しておく。当該フックプロシージャは、たとえば、フック関数によって登録される。当該フック関数は、たとえば、関数「SetWindowsHookEx()」などである。登録されるフックプロシージャには、アプリケーションによって読み込まれたファイル名を取得するための取得関数が含まれている。これにより、当該取得関数は、アプリケーションが起動されたことに基づいて呼び出される。当該取得関数は、たとえば、関数「GetCommandLine()」などである。制御装置１０１は、関数「GetCommandLine()」を呼び出すことで、実行ファイル名と、コマンドライン上の引数とを得ることができる。アプリケーションがファイル指定操作によって起動された場合には、当該引数には、アプリケーションに読み込まれたファイル名が含まれる。アプリケーションがファイル指定操作以外の操作（たとえば、アプリケーション指定操作）によって起動された場合には、当該引数には、ＮＵＬＬが含まれる。制御装置１０１は、ファイル名が得られた場合に、アプリケーションがファイル指定操作で起動されたと判断する。
【００５２】
制御装置１０１は、アプリケーションがファイル指定操作で起動されたと判断した場合（ステップＳ２０においてＹＥＳ）、制御をステップＳ３０に切り替える。そうでない場合には（ステップＳ２０においてＮＯ）、図５に示される処理を終了する。
【００５３】
ステップＳ３０において、制御装置１０１は、上述の第２判断部１５８（図３参照）として、起動されたアプリケーションが画像形成装置２００のプリンタ２０７（図６参照）を利用するための印刷機能を有するか否かを判断する。当該アプリケーションが印刷機能を有するか否かを判断するための方法の一例について説明する。
【００５４】
起動されたアプリケーションの実行ファイルがＰＥ（Portable  Executable）フォーマットである場合には、当該ＰＥフォーマットには「.idata」セクションが存在する。ＰＥフォーマットとは、Ｗｉｎｄｏｗｓ（登録商標）が認識可能な実行ファイルのフォーマットである。ＰＥフォーマットの「.idata」セクションには、アプリケーションによって呼び出される関数（ＡＰＩ：Application  Programming  Interface）の一覧が実アドレスで規定されている。画像形成装置２００の印刷を実行するための予め定められた印刷関数が「.idata」セクションに規定されている場合に、制御装置１０１は、起動されたアプリケーションが画像形成装置２００のプリンタ２０７を利用するための印刷機能を有すると判断する。このように、情報処理装置１００は、起動されたアプリケーションのソースコードを解析し、画像形成装置２００の印刷を実行するための予め定められた印刷関数が当該ソースコードに含まれる場合に、起動されたアプリケーションが印刷機能を有すると判断する。当該印刷関数は、予め設定されていてもよいし、ユーザーによって設定されてもよい。
【００５５】
制御装置１０１は、起動されたアプリケーションが印刷機能を有すると判断した場合（ステップＳ３０においてＹＥＳ）、制御をステップＳ４０に切り替える。そうでない場合には（ステップＳ３０においてＮＯ）、図５に示される処理を終了する。
【００５６】
ステップＳ４０において、制御装置１０１は、上述の印刷履歴１２６（図４参照）を参照して、ユーザーによって指定されたファイルが印刷済みであるか否かを判断する。制御装置１０１は、ユーザーによって指定されたファイルが印刷履歴１２６に含まれている場合に、当該ファイルが印刷済みであると判断する。制御装置１０１は、ユーザーによって指定されたファイルが印刷済みであると判断した場合（ステップＳ４０においてＹＥＳ）、図５に示される処理を終了する。そうでない場合には（ステップＳ４０においてＮＯ）、制御装置１０１は、制御をステップＳ４２に切り替える。
【００５７】
ステップＳ４２において、制御装置１０１は、上述の実行部１６０（図３参照）として、印刷準備処理を実行する。印刷準備処理は、たとえば、プリンタドライバのアップデート処理や、画像形成装置２００の省電力モードを解除する処理などを含む。
【００５８】
［情報処理システム５００のハードウェア構成］
図６を参照して、情報処理システム５００のハードウェア構成の一例について説明する。図６は、情報処理システム５００の主要なハードウェア構成を示すブロック図である。
【００５９】
図６に示されるように、情報処理システム５００は、情報処理装置１００と、画像形成装置２００で構成されている。情報処理装置１００および画像形成装置２００は、互いにネットワーク接続されている。
【００６０】
以下では、情報処理装置１００および画像形成装置２００のハードウェア構成について順に説明する。
【００６１】
（情報処理装置１００のハードウェア構成）
情報処理装置１００は、制御装置１０１と、ＲＯＭ（Read  Only  Memory）１０２と、ＲＡＭ（Random  Access  Memory）１０３と、通信インターフェイス１０４と、表示部１０５と、記憶装置１２０（記憶部）とを含む。
【００６２】
制御装置１０１は、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ（Central  Processing  Unit）、少なくとも１つのＡＳＩＣ（Application  Specific  Integrated  Circuit）、少なくとも１つのＦＰＧＡ（Field  Programmable  Gate  Array）、またはそれらの組み合わせなどによって構成される。
【００６３】
制御装置１０１は、情報処理装置１００の制御プログラム（たとえば、ＯＳ１２３など）を実行することで情報処理装置１００の動作を制御する。制御装置１０１は、制御プログラムの実行命令を受け付けたことに基づいて、記憶装置１２０からＲＯＭ１０２に制御プログラムを読み出す。ＲＡＭ１０３は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
【００６４】
通信インターフェイス１０４は、情報処理装置１００と画像形成装置２００との間の通信を実現する。情報処理装置１００と画像形成装置２００との間の通信は、無線通信で実現されてもよいし、有線通信で実現されてもよい。一例として、通信インターフェイス１０４は、ＵＳＢ（Universal  Serial  Bus）端子や、ＬＡＮ（Local  Area  Network）端子、または、アンテナを接続するためのインターフェイスなどである。ＵＳＢ端子には、たとえば、キーボードやマウスなどが接続される。ＬＡＮ端子には、ＬＡＮケーブルが接続される。情報処理装置１００は、通信インターフェイス１０４を介して、他の通信機器との間でデータをやり取りする。他の通信機器は、たとえば、画像形成装置２００、サーバーなどである。
【００６５】
表示部１０５は、ディスプレイ１０６とタッチパネル１０７とで構成されている。ディスプレイ１０６は、たとえば、液晶ディスプレイ、有機ＥＬディスプレイ、またはその他の表示機器である。ディスプレイ１０６は、タッチパネル１０７に重ねられており、情報処理装置１００に対する操作をタッチ操作で受け付ける。ディスプレイ１０６は、たとえば、情報処理装置１００に格納されているファイルや、情報処理装置１００にインストールされているアプリケーションのアイコンなどを表示する。
【００６６】
記憶装置１２０は、たとえば、ハードディスクや外付けの記憶装置などの記憶媒体である。ハードディスクは、たとえば、ＳＡＴＡ（Serial  AT  Attachment）を介して制御装置１０１に接続されている。記憶装置１２０は、たとえば、監視アプリ１２２、ＷｉｎｄｏｗｓなどのＯＳ１２３、ドライバ１２４、編集アプリ１２５、上述の印刷履歴１２６（図４参照）、編集アプリ１２５に関連付けられているファイル１２７などを格納する。
【００６７】
監視アプリ１２２は、上述の図５に示される各処理を実現するためのソフトウェアである。ドライバ１２４は、画像形成装置２００のプリンタ２０７を制御するためのソフトウェアである。編集アプリ１２５は、文書データであるファイル１２７を編集するためのソフトウェアである。編集アプリ１２５は、たとえば、Ｗｏｒｄ、Ｅｘｃｅｌ、またはメモ帳などである。監視アプリ１２２、ＯＳ１２３、ドライバ１２４、編集アプリ１２５、印刷履歴１２６、ファイル１２７の格納場所は、記憶装置１２０に限定されない。たとえば、これらの一部または全部は、制御装置１０１の記憶領域（たとえば、キャッシュなど）、ＲＯＭ１０２、ＲＡＭ１０３、または外部記憶装置などに格納されてもよい。
【００６８】
なお、監視アプリ１２２は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う監視アプリ１２２の趣旨を逸脱するものではない。さらに、監視アプリ１２２によって提供される機能の一部または全部は、画像形成装置２００によって実行されてもよい。さらに、監視アプリ１２２によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも１つのサーバーが監視アプリ１２２の処理の一部を実行する所謂クラウドサービスのような形態で情報処理装置１００が構成されてもよい。
【００６９】
（画像形成装置２００のハードウェア構成）
引き続き図６を参照して、画像形成装置２００は、制御装置２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、通信インターフェイス２０４と、操作パネル２０５と、スキャナ２０６と、プリンタ２０７と、記憶装置２２０とを備える。
【００７０】
制御装置２０１は、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ、少なくとも１つのＡＳＩＣ、少なくとも１つのＦＰＧＡ、またはそれらの組み合わせなどによって構成される。
【００７１】
制御装置２０１は、制御プログラム２２２などの各種プログラムを実行することで画像形成装置２００の動作を制御する。制御装置２０１は、制御プログラム２２２の実行命令を受け付けたことに基づいて、制御プログラム２２２を記憶装置２２０からＲＯＭ２０２に読み出す。ＲＡＭ２０３は、ワーキングメモリとして機能し、制御プログラム２２２の実行に必要な各種データを一時的に格納する。
【００７２】
通信インターフェイス２０４には、アンテナ（図示しない）などが接続される。画像形成装置２００は、当該アンテナを介して、外部の通信機器との間でデータをやり取りする。外部の通信機器は、たとえば、パソコン、スマートフォン、サーバーなどの情報処理装置１００などを含む。画像形成装置２００は、アンテナを介して制御プログラム２２２をサーバーからダウンロードできるように構成されてもよい。
【００７３】
操作パネル２０５は、ディスプレイとタッチパネルとで構成されている。ディスプレイは、たとえば、液晶ディスプレイ、有機ＥＬディスプレイ、またはその他の表示機器である。ディスプレイは、タッチパネルに重ねられており、画像形成装置２００に対する操作をタッチ操作で受け付ける。
【００７４】
スキャナ２０６は、画像形成装置２００にセットされた用紙を光学的に読み取って、用紙を表わす画像を生成する。スキャナ２０６によるスキャンは、たとえばユーザーからのスキャン操作に基づいて実行される。
【００７５】
プリンタ２０７は、たとえば電子写真方式により、スキャナ２０６によって生成された画像や、他の通信機器から送信されたプリントデータを、印刷のためのデータに変換し、変換後のデータに基づいて画像を印刷する装置である。
【００７６】
記憶装置２２０は、たとえば、ハードディスクや外付けの記憶装置などの記憶媒体である。記憶装置２２０は、制御プログラム２２２などを格納する。なお、制御プログラム２２２の格納場所は記憶装置１２０に限定されない。制御プログラム２２２は、たとえば、制御装置２０１の記憶領域（たとえば、キャッシュなど）、ＲＯＭ２０２、ＲＡＭ２０３、外部機器（たとえば、サーバー）などに格納されていてもよい。
【００７７】
［情報処理装置１００のデータフロー］
図７を参照して、情報処理装置１００におけるデータの流れについて説明する。上述したように、情報処理装置１００の記憶装置１２０（図６参照）は、監視アプリ１２２と、ＯＳ１２３と、ドライバ１２４と、編集アプリ１２５とを格納している。図７は、監視アプリ１２２と、ＯＳ１２３と、ドライバ１２４と、編集アプリ１２５との間のデータの流れを示すシーケンス図である。
【００７８】
ステップＳ１１０において、監視アプリ１２２は、起動命令を受け付けたとする。当該起動命令は、たとえば、監視アプリ１２２がユーザーによって指定されたことによりＯＳ１２３から発せられる。
【００７９】
ステップＳ１１２において、監視アプリ１２２は、フックプロシージャを登録する。フックプロシージャは、たとえば、フック関数によって登録される。当該フック関数は、たとえば、関数「SetWindowsHookEx()」などである。登録されるフックプロシージャは、たとえば、後述のステップＳ１３０，Ｓ１３２，Ｓ１３４，Ｓ１３６，Ｓ１４０の処理である。監視アプリ１２２は、アプリケーションが起動されたことに基づいてＯＳ１２３から発せられるメッセージに基づいて、登録されたフックプロシージャを実行する。
【００８０】
ステップＳ１２０において、ユーザーは、情報処理装置１００に格納されている文書ファイルを開いたとする。これにより、当該文書ファイルに関連付けられている編集アプリ１２５が起動される。
【００８１】
ステップＳ１２２において、編集アプリ１２５は、ユーザーによって指定された文書ファイルを読み込む。
【００８２】
ステップＳ１２４において、編集アプリ１２５は、編集アプリ１２５が起動されたことを示すメッセージをＯＳ１２３に送る。
【００８３】
ステップＳ１２６において、ＯＳ１２３は、ステップＳ１１２で登録されたフックプロシージャの実行命令を監視アプリ１２２に送る。その結果、ステップＳ１３０，Ｓ１３２，Ｓ１３４，Ｓ１３６，Ｓ１４０の処理が実行される。
【００８４】
ステップＳ１３０において、監視アプリ１２２は、編集アプリ１２５がファイル指定操作によって起動されたか否かを判断する。当該判断方法は上述の通りであるので、その説明については繰り返さない（図５のステップＳ２０参照）。ステップＳ１３０においては、編集アプリ１２５がファイル指定操作によって起動されたとする。
【００８５】
ステップＳ１３２において、監視アプリ１２２は、編集アプリ１２５が画像形成装置２００のプリンタ２０７（図６参照）を利用するための印刷機能を有するか否かを判断する。当該判断方法は上述の通りであるので、その説明については繰り返さない（図５のステップＳ３０参照）。ステップＳ１３２においては、編集アプリ１２５が印刷機能を有するとする。
【００８６】
ステップＳ１３４において、監視アプリ１２２は、上述の印刷履歴１２６（図４参照）を参照して、文書ファイルが印刷済みであるか否かを判断する。制御装置１０１は、ユーザーによって指定されたファイルが印刷履歴１２６に含まれている場合に、当該ファイルが印刷済みであると判断する。ステップＳ１３４においては、指定された文書ファイルは現在までに印刷されたことがないとする。
【００８７】
ステップＳ１３６において、監視アプリ１２２は、編集アプリ１２５に読み込まれた文書ファイルの名前をドライバ１２４に送る。
【００８８】
ステップＳ１４０において、監視アプリ１２２は、印刷準備処理を実行する。印刷準備処理は、たとえば、プリンタドライバのアップデート処理や、画像形成装置２００の省電力モードを解除する処理などを含む。
【００８９】
ステップＳ１５０において、編集アプリ１２５は、文書ファイルの印刷指示をユーザーから受け付けたとする。
【００９０】
ステップＳ１５２において、編集アプリ１２５は、文書ファイルの印刷命令をドライバ１２４に送る。ドライバ１２４は、印刷対象の文書ファイルを、画像形成装置２００が印刷することが可能なページ記述言語に変換する。あるいは、ドライバ１２４は、印刷対象の文書ファイルを、画像形成装置２００が印刷することが可能な文書データに変換する。当該文書ファイルは、たとえば、ＰＤＦ（Portable  Document  Format）、ＴＩＦＦ（Tagged  Image  File  Format）、ＪＰＥＧ（Joint  Photographic  Experts  Group）、ＸＰＳ（XML  Paper  Specification）などのファイルフォーマットに変換される。ドライバ１２４は、変換後の文書データを画像形成装置２００に送信する。これにより、画像形成装置２００は、ユーザーによって指定された文書ファイルを印刷する。
【００９１】
ステップＳ１５４において、ドライバ１２４は、ステップＳ１３６で受け付けたファイル名を印刷済みのファイルとして印刷履歴（図４参照）に追加する。
【００９２】
［印刷準備処理時のデータフロー］
図８を参照して、図７のステップＳ１４０における印刷準備処理について説明する。図８は、印刷準備処理時における情報処理装置１００と画像形成装置２００との間のデータの流れを示すシーケンス図である。
【００９３】
ステップＳ１４２において、監視アプリ１２２は、画像形成装置２００のプリンタ２０７を制御するためのドライバ１２４に、アップデートを実行するための命令を送る。
【００９４】
ステップＳ１４４において、ドライバ１２４は、自身をアップデートする。より具体的には、ドライバ１２４は、サーバー（図示しない）から最新のバージョンを取得する。ドライバ１２４は、サーバー（図示しない）から取得した最新のバージョンがドライバ１２４のバージョンと異なる場合に、アップデート処理を実行する。
【００９５】
ステップＳ１４６において、監視アプリ１２２は、省電力モードの解除命令を画像形成装置２００に送る。
【００９６】
ステップＳ１４８において、画像形成装置２００は、省電力モードを解除する。より具体的には、画像形成装置２００は、動作モードを省電力モードから通常モードに切り替える。動作モードが通常モードに切り替えられたことに基づいて、画像形成装置２００は、トナー像を用紙に定着させることが可能な温度まで定着装置を上昇させるウォームアップを実行する。ウォームアップ処理が印刷前に予め実行されることにより、印刷時におけるユーザーの待ち時間が短縮される。
【００９７】
［まとめ］
以上のようにして、情報処理装置１００は、編集アプリ１２５が起動されたことに基づいて、編集アプリ１２５がファイル指定操作で起動されたか否かを判断する。情報処理装置１００は、編集アプリ１２５がファイル指定操作で起動されたと判断した場合には、画像形成装置２００による印刷を実行するための印刷準備処理を実行する。印刷の可能性が高い場合に、印刷準備処理が予め実行されることで、印刷の待ち時間が短縮される。一方で、編集アプリ１２５がアプリ指定操作で起動された場合には、情報処理装置１００は、画像形成装置２００に印刷準備処理を実行しない。印刷の可能性が低い場合には、印刷準備処理が実行されないので、印刷準備処理が無駄に実行されることが抑制される。その結果、画像形成装置２００の消費電力が抑制される。また、情報処理装置１００や画像形成装置２００のＣＰＵの使用率が抑制される。また、情報処理装置１００と画像形成装置２００との間の通信量が減る。
【００９８】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００９９】
３０  文書ファイル、３１  アプリケーションアイコン、３２，３３  文書データ、１００，１００Ａ〜１００Ｆ  情報処理装置、１０１，２０１  制御装置、１０２，２０２  ＲＯＭ、１０３，２０３  ＲＡＭ、１０４，２０４  通信インターフェイス、１０５  表示部、１０６  ディスプレイ、１０７  タッチパネル、１２０，２２０  記憶装置、１２２  監視アプリ、１２４  ドライバ、１２５  編集アプリ、１２６  印刷履歴、１２７  ファイル、１５２  受付部、１５４  起動部、１５６  第１判断部、１５８  第２判断部、１６０  実行部、１６２  書込部、１６４  禁止部、２００，２００Ａ〜２００Ｄ  画像形成装置、２０５  操作パネル、２０６  スキャナ、２０７  プリンタ、２２２  制御プログラム、５００  情報処理システム、５０１，５０２  内部ネットワーク、５０３  外部ネットワーク。
【図１】
0006658302.tif 000002
【図２】
0006658302.tif 000003
【図３】
0006658302.tif 000004
【図４】
0006658302.tif 000005
【図５】
0006658302.tif 000006
【図６】
0006658302.tif 000007
【図７】
0006658302.tif 000008
【図８】
0006658302.tif 000009