(57)【要約】【課題】画像形成装置のファームウェアが更新される場合に、更新版のファームウェアに対応する連携アプリケーションを配信する。【解決手段】システム１は、連携アプリケーションを有する情報処理装置２００と、情報処理装置と連携して動作する１つ以上の画像形成装置１００と、連携アプリケーションを、画像形成装置を介して配信するサーバー３００と、を備える。画像形成装置は、情報処理装置から連携アプリケーションを識別するアプリ情報２０５を受信し、ファームウェア１１８が更新される場合、アプリ情報により識別される連携アプリケーションであって更新版のファームウェアに対応した連携アプリケーションを、サーバーから受信する。【選択図】図１
2019106100.tif 000002
【特許請求の範囲】
【請求項１】
連携アプリケーションを有する情報処理装置と、
前記情報処理装置と連携して動作する１つ以上の画像形成装置と、
前記連携アプリケーションを、前記画像形成装置を介して配信するサーバーと、を備え、
各前記１つ以上の画像形成装置は、
当該画像形成装置を制御する制御部と、
前記情報処理装置と通信するための通信回路と、
前記サーバーと通信するための通信インターフェースと、
ファームウェアを格納するための格納部と、を含み、
前記制御部は、
前記情報処理装置から前記連携アプリケーションを識別するアプリ情報を受信し、
前記ファームウェアが更新される場合、前記アプリ情報により識別される前記連携アプリケーションであって更新版の前記ファームウェアに対応した前記連携アプリケーションを、前記情報処理装置に配信するために前記サーバーから受信する、システム。
【請求項２】
連携アプリケーションを有する情報処理装置と連携して動作する画像形成装置であって、
前記画像形成装置を制御する制御部と、
前記情報処理装置と通信するための通信回路と、
前記画像形成装置を介して前記連携アプリケーションを配信するサーバーと通信するための通信インターフェースと、
ファームウェアを格納するための格納部と、を備え、
前記制御部は、
前記情報処理装置から前記連携アプリケーションを識別するアプリ情報を受信し、
前記ファームウェアが更新される場合、前記アプリ情報により識別される前記連携アプリケーションであって更新版の前記ファームウェアに対応した前記連携アプリケーションを前記サーバーから受信する、画像形成装置。
【請求項３】
前記制御部は、さらに、
前記情報処理装置から前記連携アプリケーションにより生成された生成データを受信し、
受信された前記生成データを、前記ファームウェアを用いて処理する、請求項２に記載の画像形成装置。
【請求項４】
前記生成データは、前記アプリ情報を含み、
前記制御部は、受信された前記生成データから前記アプリ情報を取得する、請求項３に記載の画像形成装置。
【請求項５】
前記制御部は、
前記ファームウェアが更新される場合、前記サーバーによる前記更新版のファームウェアに対応の前記連携アプリケーションの配信が可能になった時、前記サーバーから前記更新版のファームウェアと前記対応した連携アプリケーションを受信する、請求項２から４のいずれか１項に記載の画像形成装置。
【請求項６】
前記連携アプリケーションは複数種類の連携アプリケーションを含み、
前記制御部は、
前記ファームウェアが更新される場合、前記サーバーによる前記更新版のファームウェアに対応した全ての種類の前記連携アプリケーションを配信可能になった時、前記サーバーから前記更新版のファームウェアと前記対応した全ての種類の連携アプリケーションとを受信する、請求項２から５のいずれか１項に記載の画像形成装置。
【請求項７】
前記連携アプリケーションは、ユーザーによりカスタマイズされた種類の連携アプリケーションを含む、請求項６に記載の画像形成装置。
【請求項８】
前記制御部は、
各前記複数種類の連携アプリケーションの利用頻度を管理し、
前記ファームウェアが更新される場合、前記サーバーから受信する前記更新版ファームウェアに対応した前記複数種類の連携アプリケーションのうち、前記利用頻度が高い１つ以上の連携アプリケーションを前記情報処理装置に送信する、請求項６に記載の画像形成装置。
【請求項９】
前記サーバーは、前記連携アプリケーションの利用履歴を含むログ情報を管理し、
前記制御部は、さらに、
前記情報処理装置から前記ログ情報と前記アプリ情報を受信し、
受信された前記ログ情報と前記アプリ情報を前記サーバーに送信する、請求項２から８のいずれか１項に記載の画像形成装置。
【請求項１０】
前記制御部は、さらに、
前記サーバーから前記更新版のファームウェアに対応した前記連携アプリケーションを受信した場合、前記情報処理装置の前記連携アプリケーションからの問合せを受信したとき、受信されている前記対応した連携アプリケーションを問合せ元の前記情報処理装置に送信する、請求項２から９のいずれか１項に記載の画像形成装置。
【請求項１１】
連携アプリケーションを有する情報処理装置と連携して動作する画像形成装置を制御する方法であって、
前記画像形成装置は、
前記情報処理装置と通信するための通信回路と、
前記画像形成装置を介して前記連携アプリケーションを配信するサーバーと通信するための通信インターフェースと、
ファームウェアを格納するための格納部と、を備え、
前記方法は、
前記情報処理装置から前記連携アプリケーションを識別するアプリ情報を受信するステップと、
前記ファームウェアが更新される場合、前記アプリ情報により識別される前記連携アプリケーションであって更新版の前記ファームウェアに対応した前記連携アプリケーションを前記サーバーから受信するステップと、を備える、方法。
【請求項１２】
請求項１１に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は画像形成装置、システム、方法およびプログラムに関し、特に、情報処理装置と連携して動作する画像形成装置、システム、方法およびプログラムに関する。
【背景技術】
【０００２】
プリンターまたはコピー機またはそれらの複合機であるＭＦＰ（Multi-Function Peripherals）などの画像形成装置を、当該画像形成装置と通信する情報処理装置により使用するケースがある。
【０００３】
この場合、情報処理装置にインストールされているプリンタードライバーなどの、情報処理装置を画像形成装置と連係して動作させる連携アプリケーションが起動される。情報処理装置の連携アプリケーションからのデータは、画像形成装置のファームウェアにより処理される。
【０００４】
このような使用状況においては、情報処理装置にインストールされている連携アプリケーションのバージョンが、ＭＦＰなどの画像形成装置のファームウェアのバージョンと整合している必要がある。整合していない場合は、情報処理装置から、画像形成装置の一部の機能を使用することができない、または画像形成装置の新たな機能を使用できないなどの問題が生じ得る。
【０００５】
また、ＭＦＰなどの画像形成装置に最新版のファームウェアを自動的に提供する技術が提案されているが、最新版のファームウェアに対応する連携アプリケーションが当該最新版のファームウェアとともに提供されないために上記のような不整合が生じるケースが起こり易くなっている。
【０００６】
印刷用のドライバーなどのソフトウェアを、ファームウェアに関連付けて装置にインストールする技術が、例えば特開２０１７−３７６２０号公報（特許文献１）および特開２０１４−３８３６８号公報（特許文献２）に開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１７−３７６２０号公報
【特許文献２】特開２０１４−３８３６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上記に述べた特許文献１では、印刷装置のドライバーはユーザー操作により選択される。そのため、印刷装置のファームウェアが更新されるときは、ユーザーは、更新後のファームウェアに対応するドライバーを再度選択する必要がある。また、特許文献２では、管理サーバーのドライバー管理部が、クライアントの周辺機器のドライバーと、当該周辺機器の対応ファームと管理する。そのため、周辺機器のドライバーに関する情報を管理するサーバーを特別に設ける必要がある。
【０００９】
したがって、画像形成装置のファームウェアが更新される場合に、更新版のファームウェアに対応する連携アプリケーションを配信するための簡単な構成が望まれている。
【課題を解決するための手段】
【００１０】
本開示の一例にかかるシステムは、連携アプリケーションを有する情報処理装置と、情報処理装置と連携して動作する１つ以上の画像形成装置と、連携アプリケーションを、画像形成装置を介して配信するサーバーと、を備え、各１つ以上の画像形成装置は、当該画像形成装置を制御する制御部と、情報処理装置と通信するための通信回路と、サーバーと通信するための通信インターフェースと、ファームウェアを格納するための格納部と、を含み、制御部は、情報処理装置から連携アプリケーションを識別するアプリ情報を受信し、ファームウェアが更新される場合、アプリ情報により識別される連携アプリケーションであって更新版のファームウェアに対応した連携アプリケーションを、サーバーから受信する。
【００１１】
本開示の一例にかかる画像形成装置は、連携アプリケーションを有する情報処理装置と連携して動作する画像形成装置であって、画像形成装置を制御する制御部と、情報処理装置と通信するための通信回路と、画像形成装置を介して連携アプリケーションを配信するサーバーと通信するための通信インターフェースと、ファームウェアを格納するための格納部と、を備え、制御部は、情報処理装置から連携アプリケーションを識別するアプリ情報を受信し、ファームウェアが更新される場合、アプリ情報により識別される連携アプリケーションであって更新版のファームウェアに対応した連携アプリケーションをサーバーから受信する。
【００１２】
上述の開示における画像形成装置の制御部は、さらに、情報処理装置から連携アプリケーションにより生成された生成データを受信し、受信された生成データを、ファームウェアを用いて処理する。
【００１３】
上述の開示における生成データは、アプリ情報を含み、制御部は、受信された生成データからアプリ情報を取得する。
【００１４】
上述の開示における制御部は、ファームウェアが更新される場合、サーバーによる更新版のファームウェアに対応の連携アプリケーションの配信が可能になった時、サーバーから更新版のファームウェアと対応した連携アプリケーションを受信する。
【００１５】
上述の開示における連携アプリケーションは複数種類の連携アプリケーションを含み、制御部は、ファームウェアが更新される場合、サーバーによる更新版のファームウェアに対応した全ての種類の連携アプリケーションを配信可能になった時、サーバーから更新版のファームウェアと対応した全ての種類の連携アプリケーションとを受信する。
【００１６】
上述の開示における連携アプリケーションは、ユーザーによりカスタマイズされた種類の連携アプリケーションを含む。
【００１７】
上述の開示における制御部は、各複数種類の連携アプリケーションの利用頻度を管理し、ファームウェアが更新される場合、サーバーから受信する更新版ファームウェアに対応した複数種類の連携アプリケーションのうち、利用頻度が高い１つ以上の連携アプリケーションを情報処理装置に送信する。
【００１８】
上述の開示におけるサーバーは、連携アプリケーションの利用履歴を含むログ情報を管理し、制御部は、さらに、情報処理装置からログ情報とアプリ情報を受信し、受信されたログ情報とアプリ情報をサーバーに送信する。
【００１９】
上述の開示における制御部は、さらに、サーバーから更新版のファームウェアに対応した連携アプリケーションを受信した場合、情報処理装置の連携アプリケーションからの問合せを受信したとき、受信されている対応した連携アプリケーションを問合せ元の情報処理装置に送信する。
【００２０】
本開示の一例にかかる方法は、連携アプリケーションを有する情報処理装置と連携して動作する画像形成装置を制御する方法である。画像形成装置は、情報処理装置と通信するための通信回路と、画像形成装置を介して連携アプリケーションを配信するサーバーと通信するための通信インターフェースと、ファームウェアを格納するための格納部と、を備える。方法は、情報処理装置から連携アプリケーションを識別するアプリ情報を受信するステップと、ファームウェアが更新される場合、アプリ情報により識別される連携アプリケーションであって更新版のファームウェアに対応した連携アプリケーションをサーバーから受信するステップと、を備える。
【００２１】
本開示の一例にかかるプログラムは、上述に開示す方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００２２】
本開示の一例によれば、画像形成装置のファームウェアが更新される場合に、更新版のファームウェアに対応する連携アプリケーションを配信するための簡単な構成が提供される。
【図面の簡単な説明】
【００２３】
【図１】本実施の形態にかかるシステムの概略的な構成を示す図である。
【図２】本実施の形態にかかる画像形成装置１００のハードウェアの構成の一例を概略的に示す図である。
【図３】本実施の形態にかかるサーバー３００のハードウェア構成の一例を概略的に示す図である。
【図４】本実施の形態にかかる情報処理装置２００のハードウェア構成の一例を概略的に示す図である。
【図５】本実施の形態にかかる印刷データ５０の構成を概略的に示す図である。
【図６】本実施の形態にかかる画像形成装置１００、情報処理装置２００およびサーバー３００の機能の構成の一例を概略的に示す図である。
【図７】本実施の形態にかかるドライバーリスト３３３の構成の一例を概略的に示す図である。
【図８】本実施の形態にかかる情報処理装置２００における処理の一例を示すフローチャートである。
【図９】本実施の形態にかかる画像形成装置１００における処理の一例を示すフローチャートである。
【図１０】本実施の形態にかかるサーバー３００における処理の一例を示すフローチャートである。
【図１１】本実施の形態にかかる画像形成装置１００によるインストール処理の一例を示すフローチャートである。
【図１２】本実施の形態にかかるテストページ印刷データの一例を示す図である。
【発明を実施するための形態】
【００２４】
以下に、図面を参照しつつ、画像形成システムの実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【００２５】
＜Ａ．開示の概要＞
この開示の概要を、図１を参照して説明する。図１は、本実施の形態にかかるシステムの概略的な構成を示す図である。
【００２６】
図１を参照して、システム１は、複数の画像形成装置１００、複数の情報処理装置２００、有線または無線のネットワーク４００，４０１，４０２および４０３、サーバー３００、ファイアウォールＦＷ、中継器２６０および２７０を備える。なお、システム１は、複数の画像形成装置１００と複数の情報処理装置２００を備えるが、画像形成装置１００および情報処理装置２００はそれぞれ１台であってもよい。ネットワーク４０１および４０２はＬＡＮ（ローカルエリアネットワーク）またはグローバルネットワークを含む。ネットワーク４００は、インターネットなどの各種のネットワークを含む。
【００２７】
画像形成装置１００はネットワーク４０１を介して相互に通信可能に接続されている。情報処理装置２００は、画像形成装置１００とネットワーク４０１，４０２を介して有線または無線で通信する。また、画像形成装置１００または情報処理装置２００は、中継器２６０，２７０およびファイアウォールＦＷを介して、ネットワーク４００を経由してサーバー３００と通信する。画像形成装置は、少なくとも１以上の画像処理機能を有する装置であればよく、例えばＭＦＰ、プリンター、ファクシミリ送受信機、コピー機などを含み得る。情報処理装置２００は、コンピュータに相当する構成を有し、少なくともプログラムを格納するメモリ、プログラムを実行するプロセッサ、通信回路および指示入力デバイスなどを備える装置を含む。情報処理装置２００は、据え置き型または携帯型を含み得る。サーバー３００は、例えばクラウドサーバを含み得る。
【００２８】
システム１では、情報処理装置２００は、画像形成装置１００と連携して動作するために、連携アプリケーションの一実施例であるプリンタードライバー２０４がインストールされる。同様に、画像形成装置１００は、情報処理装置２００と連携して動作するためのアプリケーションとして例えば、ファームウェア１１８がインストールされる。画像形成装置１００は、ファームウェア１１８を用いて、画像形成装置１００のプリンタードライバー２０４からの受信データを処理する。画像形成装置１００は、各情報処理装置２００から、当該情報処理装置２００の各プリンタードライバー２０４の種類およびバージョン（または版）ならびに対応のファームウェア１１８の種類を含むアプリ情報２０５を、情報処理装置２００から受信する。これにより、画像形成装置１００は、各情報処理装置２００からプリンタードライバー２０４のアプリ情報２０５を収集する。また、アプリ情報２０５は、プリンタードライバー２０４が利用されている環境（例えば、情報処理装置２００のＯＳ（オペレーティングシステム）の識別情報など）を含んでも良い。
【００２９】
画像形成装置１００は、各情報処理装置２００から受信（収集）したアプリ情報２０５をサーバー３００に送信する。画像形成装置１００のファームウェア１１８が更新される場合、サーバー３００は、画像形成装置１００から受信しているアプリ情報２０５に基づき、更新版のファームウェア１１８に対応したバージョンのプリンタードライバーを配信する。この対応したバージョンのプリンタードライバーは、画像形成装置１００を経由して各情報処理装置２００に配信される。
【００３０】
このような配信により、特許文献１のようにユーザー操作を必要とせず、また特許文献２のようなサーバー装置によるドライバー管理部も必要としない、更新版のファームウェアに対応したバージョンのプリンタードライバーの情報処理装置２００への配信を可能にする簡単な構成が提供される。つまり、画像形成装置１００が各情報処理装置２００からアプリ情報２０５を収集し、サーバー３００は画像形成装置１００により収集されたアプリ情報２０５で識別される、更新版のファームウェア１１８に対応したバージョンのプリンタードライバーを、画像形成装置１００を介して情報処理装置２００に配信する。これにより、ユーザー操作およびサーバー３００によるドライバー管理を必要としない構成で、ファームウェア１１８の更新時には、更新版のファームウェアに対応した版のプリンタードライバーを、情報処理装置２００に提供することが可能となる。
【００３１】
本実施の形態では、ファームウェアの内容は、例えばファームウェアの提供者により更新され得る。同様に、プリンタードライバーの内容も、例えばプリンタードライバーの提供者により更新され得る。プリンタードライバーの更新は、ファームウェアが更新されるときに更新されたファームウェアの内容に整合（マッチ）させるための更新を含み得る。また、このような更新が何回実施されたかは「版」または「バージョン」で識別される。
【００３２】
また、本実施の形態にかかる情報処理装置２００には、異なる種類のプリンタードライバー２０４がインストールされ得る。プリンタードライバー２０４の種類は、当該プリンタードライバー２０４に対する設定内容（対応のファームウェアの識別子、印刷用紙サイズ、モノクロ/カラーなど）に従い異なる。本実施の形態にかかるプリンタードライバー２０４の種類は、設定内容が予め定められた標準を示す「標準」と、「カスタマイズ」とを含む。カスタマイズとは、ユーザーの好みと使い方に合わせて、プリンタードライバー２０４の標準の設定内容を設定し直す（変更する）ことをいう。本実施の形態では、例えばユーザーが情報処理装置２００を操作して標準のプリンタードライバー２０４の設定内容をカスタマイズすることにより、「カスタマイズ」タイプのプリンタードライバー２０４が生成され得る。
【００３３】
本実施の形態では、上記に述べたようにファームウェア１１８と連携アプリケーションであるプリンタードライバー２０４とのバージョンを整合（マッチ）させるために、ファームウェア１１８が更新される場合、更新版ファームウェアに対応したバージョンのプリンタードライバー（以下、対応プリンタードライバーともいう）が配信されて、情報処理装置２００にプリンタードライバー２０４としてインストールされる。
【００３４】
本実施の形態にかかる連携アプリケーションは、プリンタードライバー２０４に限定されず、ファームウェア１１８と連携して起動される各種のアプリケーションを含み得る。また、本実施の形態では、画像形成装置１００が連携アプリケーションから受信するデータであって、ファームウェア１１８により処理されるデータを、例えばプリンタードライバー２０４が生成する印刷データとしているが、これに限定されない。
【００３５】
本実施の形態では、インストールとはアプリケーション（連携アプリケーションおよびファームウェアを含む）を記憶部に格納する処理を示す。より特定的には、インストールは、これらアプリケーションを記憶部に格納し、ＣＰＵにより実行可能（読出可能）な状態に設定することを示す。例えば、アプリケーションは、解凍などされることにより実行可能（読出可能）状態に設定される。
【００３６】
プリンタードライバー２０４は、情報処理装置２００においてユーザーの印刷指示（または外部からの印刷指示）に従い、画像形成装置１００がファームウェア１１８などを用いて処理可能な印刷データを形成するためのソフトウェアを含む。
【００３７】
ファームウェア１１８は、情報処理装置２００のハードウェア資源にアクセスして各機能を実現するためのソフトウェアである。ファームウェア１１８は、例えば情報処理装置２００からの印刷データを、その設定内容に従いハードウェア資源にアクセスしつつ、処理する。
【００３８】
本実施の形態にかかるシステム１では、画像形成装置１００に格納されたファームウェア１１８は、サーバー３００を含む外部装置から供給される更新版ファームウェアがインストールされることにより更新され得る。また、情報処理装置２００に格納されたプリンタードライバー２０４は、サーバー３００または画像形成装置１００を含む外部装置から供給される対応プリンタードライバーがプリンタードライバー２０４としてインストールされることにより更新され得る。
【００３９】
＜Ｂ．画像形成装置１００のハードウェア構成＞
図２は、本実施の形態にかかる画像形成装置１００のハードウェアの構成の一例を概略的に示す図である。図２を参照して、画像形成装置１００は、画像形成装置１００を制御するための制御部に相当するＣＰＵ（Central Processing Unit）１０、プログラムおよびデータを格納するための記憶部１６０、情報の入出力部１７０、ネットワーク４００，４０１および４０２を介してサーバー３００と通信するための通信Ｉ／Ｆ（InterFaceの略）１５６、情報処理装置２００と通信するための通信回路１７５、および各種処理部を含む。
【００４０】
記憶部１６０は、ＣＰＵ１０により実行されるプログラムおよびデータを記憶するためのＲＯＭ（Read Only Memory）、ＣＰＵ１０によりプログラムを実行する際の作業領域として供されるＲＡＭ（Random Access Memory）および不揮発メモリなどを含む。
【００４１】
入出力部１７０は、ディスプレイを含む表示部１７１およびユーザーが画像形成装置１００に情報を入力するために操作する操作部１７２を含む。ここでは、表示部１７１と操作部１７２は、一体的に構成されたタッチパネルとして提供されてもよい。
【００４２】
通信Ｉ／Ｆ１５６は、ＮＩＣ（Network Interface Card）などの回路を含んで構成される。通信Ｉ／Ｆ１５６は、サーバー３００を含む外部装置とネットワークを介して通信するためのデータ通信部１５７を含む。データ通信部１５７は、データを、ネットワークを介してサーバー３００を含む外部装置に送信するための送信部１５８、およびネットワークを介してサーバー３００を含む外部装置からデータを受信する受信部１５９を含む。
【００４３】
通信回路１７５は、情報処理装置２００と通信するための例えばＬＡＮ（Local Area Network）またはＮＦＣ（Near Field Communication)などの通信回路を含む。
【００４４】
上記の各種処理部は、画像処理部１５１、画像形成部１５２、画像データを含む各種データを記憶するハードディスクなどの記憶部１５３、図示しないプリンターを制御する画像出力部１５４、図示しないファクシミリ回路を制御するためのファクシミリ制御部１５５、原稿を光学的に読み取って画像データを得るための画像読取部１７３、外部記憶媒体１７６が脱着自在に装着されるデータリーダー/ライター１７４を備える。
【００４５】
画像出力部１５４は、情報処理装置２００から受信する後述する印刷データ５０を用いてプリンターを駆動する。データリーダー/ライター１７４は、装着された外部記憶媒体１７６からプログラムまたはデータを読出す回路と、外部記憶媒体１７６にデータを書込む回路を有する。
【００４６】
＜Ｃ．サーバー３００のハードウェア構成＞
図３は、本実施の形態にかかるサーバー３００のハードウェア構成の一例を概略的に示す図である。図３を参照して、サーバー３００は、サーバー３００を制御するためのＣＰＵ３０、記憶部３４、およびネットワークコントローラー３５を含む。記憶部３４は、ＣＰＵ３０により実行されるプログラムおよびデータを記憶するためのＲＯＭ３１、ＲＡＭ３２、各種の情報を格納するためのＨＤＤ（Hard Disk Drive）３３、および画像形成装置１００または情報処理装置２００と通信するネットワークコントローラー３５を含む。ＲＡＭ３２は、各種情報を記憶する領域と、ＣＰＵ３０でプログラムを実行する際の作業領域とを含む。ネットワークコントローラー３５は、ＮＩＣなどの回路を含む。
【００４７】
＜Ｄ．情報処理装置２００のハードウェア構成＞
図４は、本実施の形態にかかる情報処理装置２００のハードウェア構成の一例を概略的に示す図である。図４を参照して、情報処理装置２００は、情報処理装置２００を制御するための制御部に相当するＣＰＵ２０、ディスプレイ２３、ユーザーが情報処理装置２００に情報を入力するために操作する操作パネル２５、記憶部２６および通信コントローラ２７を備える。記憶部２６は、ＣＰＵ２０により実行されるプログラムおよびデータを記憶するためのＲＯＭ２１、ＲＡＭ２２、およびハードディスク装置を含むメモリ２８を備える。ディスプレイ２３と操作パネル２５は、一体的に構成されたタッチパネルとして提供されてもよい。通信コントローラ２７は、他の情報処理装置２００または画像形成装置１００またはサーバー３００と通信するためのＮＩＣまたはＬＡＮ回路などの通信回路を含む。
【００４８】
＜Ｅ．印刷データの構成＞
図５は、本実施の形態にかかる印刷データ５０の構成を概略的に示す図である。本実施の形態にかかるプリンタードライバー２０４は、プリンターに画像を印刷させるための印刷データ５０を生成する。図５を参照して印刷データ５０は、ＰＪＬデータ５１、ＰＤＬ（ページ記述言語）データ５２および印刷データ５０のユーザーを識別するユーザーＩＤ５３を含む。本実施の形態では、プリンタードライバー２０４は、印刷対象となるデータをＰＤＬデータ５１に変換し、ＰＤＬデータ５１はＰＪＬデータ５２およびユーザーＩＤ５３が付加された印刷データ５０として画像形成装置１００に送信される。ＰＪＬデータ５２は、ＰＪＬ形式で記述されたコマンドデータである。この印刷対象となるデータは、情報処理装置２００においてアプリケーション（たとえば、文書編集アプリケーションであるワープロソフト、表計算ソフトなど）を用いて作成されたデータを含み得る。ユーザーＩＤ５３は、印刷データ５０のユーザーの識別子であり、例えば情報処理装置２００へのユーザーのログイン名が含まれる。
【００４９】
図５を参照して、ＰＪＬデータ５１は、ＰＤＬデータ５２に直接影響を与えない命令が各種規定されている。たとえば、ステープル、パンチなどの機能を用いる場合に当該機能に関するコマンドデータが記述される。また、本実施の形態では、ＰＪＬデータ５２は、ＰＤＬの種類、プリンタードライバー２０４のアプリ情報２０５が有する当該プリンタードライバー２０４のバージョンを示すバージョンデータ５４、プリンタードライバー２０４の種類５５およびプリンタードライバー２０４に対応のファームウェア１１８の種類５６を含む。なお、印刷データ５０は、画像形成装置１００で処理されるジョブ（印刷ジョブ）として送信されてもよい。
【００５０】
印刷データ５０は画像形成装置１００により処理される。具体的には、画像形成装置１００の画像出力部１５４は、印刷データ５０のＰＤＬデータ５２を、ファームウェア１１８を用いて記憶部１６０のＲＡＭ上でビットマップデータとして展開する。画像出力部１５４の図示しないプリンターは、ビットマップデータ（ＰＤＬデータ５２）に従って印刷用紙に対する印字処理を実行し、ＰＪＬデータ５１に従って印刷用紙などに対する所定の処理（ステープル処理など）を実行する。
【００５１】
また、印刷データ５０に含まれるアプリ情報２０５、即ちプリンタードライバー２０４のバージョンデータ５４および種類５５ならびにファームウェアに種類５６は、画像形成装置１００によりサーバー３００に送信される。
【００５２】
＜Ｆ．情報処理装置２００の機能構成＞
図６は、本実施の形態にかかる画像形成装置１００、情報処理装置２００およびサーバー３００の機能の構成の一例を概略的に示す図である。図６を参照して、情報処理装置２００は、それぞれが、ＣＰＵ２０が実行するプログラムを含んで構成される送信部２０１、ドライバーインストール部２０２、および操作受付部２０３を含む。また、記憶部２６には、複数種類のプリンタードライバー２０４、複数のアプリ情報２０５およびプリンタードライバー２０４により生成される印刷データ５０、および各種プリンタードライバー２０４の利用履歴を含むログ情報５７が格納される。ログ情報５７の詳細は後述する。
【００５３】
本実施の形態では、複数種類のプリンタードライバー２０４と複数のアプリ情報２０５は、１対１で対応する。プリンタードライバー２０４の種類毎に、設定内容（用紙サイズ、カラー/モノクロなど）が異なる。ユーザーは、操作パネル２５を操作してプリンタードライバー２０４の種類を選択的に指定することができる。情報処理装置２００のプリンタードライバー２０４の種類は、設定内容が「標準」であるプリンタードライバー２０４と、設定内容がユーザーにより「カスタマイズ」されたプリンタードライバー２０４を含み得る。
【００５４】
送信部２０１は、記憶部２６の印刷データ５０を画像形成装置１００に送信する。ドライバーインストール部２０２は、配信されたプリンタードライバー２０４を記憶部２６にインストールする。これにより、記憶部２６の元のプリンタードライバーは、配信されたプリンタードライバー２０４により上書きされて更新される。操作受付部２０３は、操作パネル２５を介した情報処理装置２００に対するユーザー操作を受付ける。操作受付部２０３は受付けるユーザー操作内容は、ユーザーが情報処理装置２００にログインするためのＩＤ、プリンタードライバー２０４の種類の指定、印刷データ５０の画像形成装置１００への送信指令などを含む。
【００５５】
＜Ｇ．画像形成装置１００の機能構成＞
図６を参照して、画像形成装置１００は、それぞれが、ＣＰＵ１０により実行されるプログラムを含んで構成される印刷データ取得部１１０、後述するドライバー情報１６４を取得するドライバー情報取得部１１１、ファームウェアインストール部１１２、プリンタードライバー送信部１１３およびドライバー情報送信部１１４を備える。また、記憶部１６０には、ファームウェア１１８が格納される。また、記憶部１６０は、ファームウェア１１８の更新版である更新版ファームウェア１６２、更新版ファームウェア１６２の対応プリンタードライバー１６３、ドライバー情報１６４および利用頻度１６５を格納するための領域を有する。利用頻度１６５の詳細は後述する。
【００５６】
印刷データ取得部１１０は、情報処理装置２００から受信するデータのうちから印刷データ５０を取得（抽出）し、画像出力部１５４に出力する。ドライバー情報取得部１１１は、受信された印刷データ５０から、アプリ情報２０５（バージョンデータ５４および種類５５およびファームウェアの種類５６）およびユーザーＩＤ５３を取得（抽出）する。ドライバー情報１６４は、アプリ情報２０５およびユーザーＩＤ５３を含む。
【００５７】
ファームウェアインストール部１１２は、ファームウェア１１８を記憶部１６０に格納する、または更新版ファームウェア１６２が配信された場合に記憶部１６０に格納する。ファームウェアインストール部１１２は、ファームウェアを格納したときに、ＣＰＵ１０が実行可能なようにデータの解凍などを実施してもよい。また、ファームウェアインストール部１１２は、更新版ファームウェア１６２が配信されたとき、更新版ファームウェア１６２を元のファームウェア１１８に上書きすることにより、ファームウェア１１８を更新してもよい。
【００５８】
プリンタードライバー送信部１１３は、対応プリンタードライバー１６３を情報処理装置２００にインストールするために送信する。プリンタードライバー送信部１１３は、各種のプリンタードライバー２０４の対応プリンタードライバー１６３のうちから、１つ以上を情報処理装置２００に選択して送信する選択的プリンタードライバー送信部１１５を含む。また、ドライバー情報送信部１１４は、ドライバー情報取得部１１１により取得されたドライバー情報１６４をサーバー３００に送信する。
【００５９】
プリンタードライバー送信部１１３は、上記の更新版ファームウェア１６２が記憶部１６０に格納されるとき（または、上記の上書きが実施されるとき）、対応プリンタードライバー１６３を記憶部１６０から読出し、情報処理装置２００に送信する。このように、画像形成装置１００で更新版ファームウェア１６２がインストールされるとき、すなわち元のファームウェア１１８が更新されるとき、情報処理装置２００に更新版ファームウェア１６２の対応プリンタードライバーを格納（例えば、プリンタードライバー２０４としてインストール（実行可能状態にする））することができる。これにより、情報処理装置２００にインストールされているプリンタードライバー２０４のバージョンを、画像形成装置１００にインストールされているファームウェア１１８（すなわち更新版ファームウェア）のバージョンと整合（マッチ）させることができる。
【００６０】
＜Ｈ．サーバー３００の機能構成＞
図６を参照してサーバー３００は、それぞれが、ＣＰＵ３０が実行するプログラムで構成されるドライバー情報受信部３０１、読出部３０２、配信部３０３およびログ情報５７を管理するログ管理部３０４を含む。
【００６１】
サーバー３００は、記憶部３４に複数種類のファームウェアからなる群３３１、複数種類のプリンタードライバーからなる群３３２、各画像形成装置１００に対応したドライバーリスト３３３および候補リスト３３４を格納する。群３３１の複数種類のファームウェアは、それぞれが異なるバージョンを示す。また、群３３２の複数種類のプリンタードライバーも、それぞれが異なるバージョンを示す。候補リスト３３４は、サーバー３００により配信されるべきファームウェアとプリンタードライバーの候補が登録される。
【００６２】
群３３１の各の各種のファームウェアは、メーカーにより適宜の時期に更新されて提供される。提供により、群３３１の各ファームウェアが更新版に書換えられる。また、群３３２の各のプリンタードライバーは、メーカーにより適宜の時期に更新されて提供される。提供により、群３３２の各プリンタードライバーが更新版に書換えられる。更新時期は、より典型的には、画像形成装置１００のファームウェア１１８が更新されるときを含む。このように、本実施の形態では、群３３１の各種のファームウェアおよび群３３２の各種のプリンタードライバー２０４は、最新版を示し得る。
【００６３】
なお、図６の画像形成装置１００、情報処理装置２００およびサーバー３００の各部は、ＣＰＵにより実行されるプログラムと、例えばＡＳＩＣ（Application Specific Integrated Circuit)またはＦＰＧＡ（Field-Programmable Gate Array)などの回路の組合せにより構成されてもよい。
【００６４】
＜Ｉ．ドライバーリストの構成＞
図７は、本実施の形態にかかるドライバーリスト３３３の構成の一例を概略的に示す図である。図７を参照して各ドライバーリスト３３３は、対応の画像形成装置１００において使用されているプリンタードライバー２０４の種類毎に関連付けて、レコードＲを格納する。レコードＲは、当該プリンタードライバー２０４のユーザーを識別するユーザーＩＤ７００、当該プリンタードライバー２０４の種類７０１、当該プリンタードライバー２０４のバージョンを示すバージョンデータ７０２、当該プリンタードライバー２０４に対応のファームウェアの種類７０３および更新済データ７０４を含む。
【００６５】
具体的には、ＣＰＵ３０は、ドライバー情報受信部３０１が受信したドライバー情報１６４のユーザーＩＤ５３、バージョンデータ５４、種類５５およびファームウェアの種類５６を、ユーザーＩＤ７００、種類７０１、バージョンデータ７０２および種類７０３としてドライバーリスト３３３に格納する。
【００６６】
更新済データ７０４は、対応のプリンタードライバーの更新版が、群３３２に格納されているか否かを示す。ＣＰＵ３０は、ドライバーリスト３３３に更新済データ７０４を書込む。具体的には、ＣＰＵ３０は、対応の種類７０１で特定されたプリンタードライバーの更新版がメーカーにより提供されて群３３２に格納するとき、ＣＰＵ３０は、ドライバーリスト３３３の当該更新版のプリンタードライバーの種類７０１に対応した更新済データ７０４として「ＯＫ」を書込む。未だ提供されていない場合は更新済データ７０４は「ＮＧ」のまま（または「ＮＧ」が書込まれる）。
【００６７】
読出部３０２は、画像形成装置１００のファームウェア１１８が更新されるとき、更新版ファームウェアに対応のプリンタードライバーを配信するために、当該画像形成装置１００のドライバーリスト３３３から配信するべきプリンタードライバーの種類７０１を特定し、特定された種類のプリンタードライバーの更新版とユーザーＩＤ７００を、群３３２から読出す。配信部３０３は、読出されたプリンタードライバーの更新版とユーザーＩＤ７００を配信する。
【００６８】
＜Ｊ．処理フローチャート＞
図８、図９、図１０および図１１を参照して、ファームウェア更新時の対応プリンタードライバーのインストールについて説明する。ここでは、説明を簡単にするために、サーバー３００は１台の画像形成装置１００と通信する場合を説明する。
【００６９】
（Ｊ−１．情報処理装置２００における処理）
図８は、本実施の形態にかかる情報処理装置２００における処理の一例を示すフローチャートである。情報処理装置２００のＣＰＵ２０は、図８の処理を周期的に繰返す。図８を参照して、まず、ユーザーは情報処理装置２００にログインし、印刷対象データおよびプリンタードライバー２０４の種類を選択する（ステップＳ１）。
【００７０】
ＣＰＵ２０は、選択されたプリンタードライバー２０４のアプリ情報２０５からプリンタードライバーの種類およびバージョン、ならびに対応するファームウェア１１８の種類を取得し（ステップＳ２ａ）、取得された情報を含むＰＪＬデータ５１を生成する（ステップＳ３ａ）。また、ＣＰＵ２０は、ユーザーが指定した印刷対象データを取得し（ステップＳ２ｂ）、取得された印刷対象データからＰＤＬデータ５２を生成する（ステップＳ３ｂ）。ＣＰＵ２０は、生成されたＰＪＬデータ５１、ＰＤＬデータ５２およびログイン時に取得されたユーザーＩＤから印刷データ５０（図５参照）を生成する（ステップＳ４）。ＣＰＵ２０の送信部２０１は、通信コントローラ２７に印刷データ５０を画像形成装置１００宛に送信させる。
【００７１】
（Ｊ−２．画像形成装置１００における処理）
図９は、本実施の形態にかかる画像形成装置１００における処理の一例を示すフローチャートである。画像形成装置１００のＣＰＵ１０は、図９の処理を周期的に繰返す。図９を参照して、画像形成装置１００の印刷データ取得部１１０は、通信回路１７５に情報処理装置２００から送信された印刷データ５０を受信させる（ステップＴ１）。
【００７２】
ドライバー情報取得部１１１は、受信された印刷データ５０を解析し、解析の結果からドライバー情報１６４が含まれるか否かを判断する（ステップＴ３）。ドライバー情報取得部１１１は、印刷データ５０にドライバー情報１６４が含まれていないと判断すると（ステップＴ３でＮＯ）、ＣＰＵ１０は画像出力部１５４に、印刷データ５０を用いた印字処理を実行させる（ステップＴ９）。
【００７３】
ドライバー情報取得部１１１は、印刷データ５０にドライバー情報１６４が含まれていると判断すると（ステップＴ３でＹＥＳ）、ドライバー情報取得部１１１は印刷データ５０からドライバー情報１６４を取得（抽出）し（ステップＴ５）、ＣＰＵ１０は画像出力部１５４に、印刷データ５０を用いた印字処理を実行させる（ステップＴ９）。
【００７４】
また、ドライバー情報取得部１１１は、取得されたドライバー情報１６４を記憶部１６０に保存（格納）する（ステップＴ１１）。ドライバー情報送信部１１４は、記憶部１６０からドライバー情報１６４を読出し、通信Ｉ／Ｆ１５６に読出されたドライバー情報１６４をサーバー３００に送信させる（ステップＴ１３）。
【００７５】
なお、印刷データ５０の印字処理は、ステップＴ９に代えて、例えばステップＴ３の直前で実行されてもよい。また、ファームウェア１１８の種類５６は、情報処理装置２００に代えて、画像形成装置１００が取得するとしてもよい。
【００７６】
（Ｊ−３．サーバー３００における処理）
図１０は、本実施の形態にかかるサーバー３００における処理の一例を示すフローチャートである。サーバー３００のＣＰＵ３０は、図１０の処理を周期的に繰返す。図１０を参照して、サーバー３００のドライバー情報受信部３０１は、ネットワークコントローラー３５に画像形成装置１００から送信されたドライバー情報１６４を受信させる（ステップＲ１）。ドライバー情報受信部３０１は、画像形成装置１００から受信されたドライバー情報１６４を、当該画像形成装置１００に対応のドライバーリスト３３３にレコードＲとして格納する。
【００７７】
ＣＰＵ３０は、ドライバー情報１６４に含まれるファームウェアの種類５６に基づき、当該ファームウェアが更新されるか否かを判断する（ステップＲ３）。例えば、ファームウェアの提供者から、種類５６が示すファームウェアの更新版を提供する旨の通知を受信するか否かに基づき判断する。
【００７８】
ＣＰＵ３０は、ファームウェアの更新がなされると判断すると（ステップＲ３でＹＥＳ）ステップＲ５に移行するが、ファームウェアの更新はなされないと判断すると（ステップＲ３でＮＯ）、処理を終了する。
【００７９】
ファームウェアの更新がなされる場合、ＣＰＵ３０は変数Ｎに初期値（０）を設定し（ステップＲ５）、変数Ｎを１インクリメントする（ステップＲ７）。変数Ｎは、ドライバーリスト３３３のレコードＲをカウントするために用いられる。
【００８０】
ＣＰＵ３０は、ドライバーリスト３３３の先頭からＮ個目のレコードＲにより特定される更新版のプリンタードライバー２０４が提供されているか否かを、当該レコードＲの更新済データ７０４から判断する（ステップＲ９）。ＣＰＵ３０は、更新済データ７０４は「ＮＧ」を示すとき、更新版のプリンタードライバー２０４が未だ提供されていないと判断し（ステップＲ９で‘未更新’）、後述するステップＲ１３に移行する。
【００８１】
一方、更新済データ７０４は「ＯＫ」を示すとき、ＣＰＵ３０は、更新版のプリンタードライバーが提供されていると判断し（ステップＲ９で‘更新済’）、ＣＰＵ３０は、更新版のプリンタードライバーのレコードＲをドライバーリスト３３３から読出し、候補リスト３３４に登録（格納）する（ステップＲ１１）。ＣＰＵ３０は、ドライバーリスト３３３の全てのレコードＲを検索したかを、変数Ｎの値から判断する（ステップＲ１３）。ＣＰＵ３０は、全てのレコードＲを検索していないと判断すると（ステップＲ１３でＹＥＳ）、処理はステップＲ７に戻る。
【００８２】
一方、ＣＰＵ３０は、全てのレコードＲを検索したと判断すると（ステップＲ１３でＮＯ）、読出部３０２は、更新版のファームウェアを群３３１から読出し、また候補リスト３３４に含まれる各レコードＲの種類７０１が示す対応プリンタードライバーを群３３２から読出す。これにより、群３３２から、更新版ファームウェアの１または複数の対応プリンタードライバーが読出される。配信部３０３は、ネットワークコントローラー３５に、読出された更新版のファームウェアと対応プリンタードライバーを、画像形成装置１００宛に送信させる（ステップＲ１５）。このとき、対応プリンタードライバーには、対応のレコードＲのユーザーＩＤ７００が付加される。これにより、サーバー３００は、画像形成装置１００のファームウェアが更新されるとき、更新版のファームウェアと対応プリンタードライバーとを配信することが可能となる。
【００８３】
（Ｊ−４．画像形成装置１００における配信処理）
図１１は、本実施の形態にかかる画像形成装置１００によるインストール処理のフローチャートである。画像形成装置１００のＣＰＵ１０は、図１１の処理を周期的に繰返し実施する。サーバー３００が、画像形成装置１００を経由して情報処理装置２００に配信するために、画像形成装置１００が更新版ファームウェア１６２と対応プリンタードライバー１６３を受信した場合を説明する。ＣＰＵ１０は、サーバー３００から受信する更新版ファームウェア１６２と対応プリンタードライバー１６３を、記憶部１６０に格納する。
【００８４】
図１１を参照して、画像形成装置１００のＣＰＵ１０は、通信回路１７５に、情報処理装置２００のドライバーインストール部２０２から問合せ５８を受信するかを判断する（ステップＳ１５）。問合せ５８は、印刷データ５０を送信する毎、または毎日の定時（その日の最初に印刷データ５０を送信する時など）に、ドライバーインストール部２０２が、対応プリンタードライバー１６３の有無を画像形成装置１００に問い合わせるためのものである。
【００８５】
問合せ５８を受信しないときは（ステップＳ１５でＮＯ）、処理を終了するが、問合せ５８を受信したとき（ステップＳ１５でＹＥＳ）、ファームウェアインストール部１１２は、更新版ファームウェア１６２を記憶部１６０にインストールする（ステップＳ１７）。これにより、画像形成装置１００のファームウェア１１８は、更新される。この更新が可能な時期は、例えば画像形成装置１００が使用されていない期間などを含む。
【００８６】
また、プリンタードライバー送信部１１３は、受信された対応プリンタードライバー１６３を情報処理装置２００にインストールするために、通信回路１７５に当該対応プリンタードライバー１６３と対応のユーザーＩＤ７００を問合せ元の情報処理装置２００宛に送信させる（ステップＳ１９）。
【００８７】
情報処理装置２００のドライバーインストール部２０２は、受信した対応プリンタードライバー１６３をユーザーＩＤ７００と関連づけてインストールする。これにより、画像形成装置１００のファームウェア１１８が更新される場合に、情報処理装置２００の各ユーザーのプリンタードライバー２０４は、対応プリンタードライバー１６３に更新される。
【００８８】
図１１の処理の変形例として、情報処理装置２００のプリンタードライバー２０４の全種類について、更新版ファームウェア１６２に対応したプリンタードライバー１６３が記憶部１６０に格納されていると判定されたとき、ステップＴ１７およびステップＴ１９の処理を実施するとしてもよい。これにより、全ての種類の対応プリンタードライバー１６３が配信可能になった場合、画像形成装置１００のファームウェア１１８が更新されるときに、情報処理装置２００の全種類のプリンタードライバー２０４が対応プリンタードライバー１６３を用いて更新される。
【００８９】
図８と図１１の処理フローチャートは、プログラムとして画像形成装置１００の記憶部１６０に格納されて、プログラムはＣＰＵ１０により読出されて実行される。また、図９の処理フローチャートは、プログラムとして情報処理装置２００の記憶部２６に格納されて、プログラムはＣＰＵ２０により読出されて実行される。また、図１０の処理フローチャートは、プログラムとしてサーバー３００の記憶部３４に格納されて、プログラムはＣＰＵ３０により読出されて実行される。
【００９０】
なお、情報処理装置２００には、ファームウェアの更新時に、対応プリンタードライバー１６３が配信可能である旨が、画像形成装置１００から通知されてもよい。
【００９１】
上記の図８〜図１１の処理は、画像形成装置１００が１台の情報処理装置２００と通信する場合を説明したが、複数の情報処理装置２００と通信する場合であっても、画像形成装置１００は各情報処理装置２００から各種のプリンタードライバー２０４に対応のアプリ情報２０５（またはアプリ情報２０５を含むドライバー情報１６４を収集し、サーバー３００に送信することができる。そして、画像形成装置１００は、ファームウェアの更新時は、サーバー３００からドライバー情報１６４に従った対応プリンタードライバー１６３を受信し、各情報処理装置２００にインストールのために送信することができる。
【００９２】
＜Ｋ．印刷データの他の例＞
図１２は、本実施の形態にかかるテストページ印刷データの他の例を示す図である。本実施の形態では、サーバー３００は、プリンタードライバー２０４の利用履歴を示すログ情報を管理する。画像形成装置１００のＣＰＵ１０は、予め設定された時に、情報処理装置２００から各プリンタードライバー２０４のログ情報５７とドライバー情報１６４（アプリ情報２０５とユーザーＩＤ５３）を受信し、受信されたログ情報５７とドライバー情報１６４をサーバー３００に送信する。
【００９３】
これにより、サーバー３００によりログ情報５７が収集されるときに、画像形成装置１００は、各プリンタードライバー２０４のドライバー情報１６４を収集することができる。
【００９４】
本実施の形態では、各種のプリンタードライバー２０４は、利用される毎に、利用履歴（印刷対象データの識別子、日時、印刷枚数、実行結果（成功/失敗）など）を蓄積してログ情報５７として記憶部１６０に格納する。各種のプリンタードライバー２０４は、予め設定されたときに（例えば定期的に）、対応のログ情報５７からテストページ印刷データ６０を生成し、生成されたテストページ印刷データ６０を画像形成装置１００に送信する。これにより、画像形成装置１００はテストページを印字出力し、また受信したログ情報５７を収集する。画像形成装置１００は、収集されたログ情報５７をサーバー３００に送信する。
【００９５】
図１２を参照して、テストページ印刷データ６０は、印刷対象となるデータとして予め定められたテストページの印刷データ５０とログ情報５７を含む。テストページ印刷データ６０は、画像形成装置１００に送信される場合、プリンタードライバー２０４のユーザーＩＤ５３が付加される。テストページ印刷データ６０によれば、画像形成装置１００が各プリンタードライバー２０４のログ情報５７を収集する場合に、同時に上記に述べたアプリ情報２０５およびユーザーＩＤ５３を含むドライバー情報１６４も収集することができる。
【００９６】
＜Ｌ．対応プリンタードライバー１６３の配信方法の変形例＞
本実施の形態では、選択的プリンタードライバー送信部１１５は、サーバー３００から受信する対応プリンタードライバー１６３のうち、利用頻度１６５が閾値よりも高い、すなわち高い利用頻度であるプリンタードライバー２０４に該当する１つ以上の対応プリンタードライバー１６３を選択し、選択された対応プリンタードライバー１６３を情報処理装置２００に送信する。
【００９７】
１つ以上の対応プリンタードライバー１６３の選択基準は、上記の利用頻度に限定されない。例えば、各種のプリンタードライバー２０４について最も最近の利用日時からの経過時間を管理する。選択的プリンタードライバー送信部１１５は、サーバー３００から受信する対応プリンタードライバー１６３のうち、当該経過時間が閾値よりも長い、すなわち利用されていない時間が比較的長いプリンタードライバー２０４に該当する１つ以上の対応プリンタードライバー１６３を選択する。
【００９８】
なお、上記に述べた利用頻度１６５または経過時間の管理と対応プリンタードライバー１６３の選択は、サーバー３００により実施されてもよい。
【００９９】
＜Ｍ．プログラム＞
上記に述べた処理を画像形成装置１００、情報処理装置２００およびサーバー３００に実行させるためのプログラムが提供される。このようなプログラムは、少なくとも上記の図８〜図１１に示すフローチャートに従うプログラムを含む。画像形成装置１００、情報処理装置２００およびサーバー３００のコンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読み取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。プログラムは、ＣＰＵなどの１つ以上のプロセッサにより、またはプロセッサとＡＳＩＣ，ＦＰＧＡなどの回路との組合せにより実行され得る。
【０１００】
なお、プログラムは、コンピュータのＯＳ（Operating System）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して、プロセッサに処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本実施の形態のプログラムに含まれ得る。
【０１０１】
また、本実施の形態にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して、プロセッサに処理を実行させる。このような他のプログラムに組込まれたプログラムも、本実施の形態にかかるプログラムに含まれ得る。
【０１０２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０３】
１  システム、２３  ディスプレイ、２５  操作パネル、５０  印刷データ、５４，７０２  バージョンデータ、５５，５６，７０１，７０３  種類、５７  ログ情報、５８  問合せ、６０  テストページ印刷データ、１００  画像形成装置、１１０  印刷データ取得部、１１１  ドライバー情報取得部、１１２  ファームウェアインストール部、１１３  プリンタードライバー送信部、１１４  ドライバー情報送信部、１１５  選択的プリンタードライバー送信部、１１８  ファームウェア、１５１  画像処理部、１５２  画像形成部、１５４  画像出力部、１５５  ファクシミリ制御部、１５７  データ通信部、１６２  更新版ファームウェア、１６３  対応プリンタードライバー、１６４  ドライバー情報、１６５  利用頻度、２００  情報処理装置、２０２  ドライバーインストール部、２０４  プリンタードライバー、２０５  アプリ情報、３００  サーバー。
【図１】
2019106100.tif 000003
【図２】
2019106100.tif 000004
【図３】
2019106100.tif 000005
【図４】
2019106100.tif 000006
【図５】
2019106100.tif 000007
【図６】
2019106100.tif 000008
【図７】
2019106100.tif 000009
【図８】
2019106100.tif 000010
【図９】
2019106100.tif 000011
【図１０】
2019106100.tif 000012
【図１１】
2019106100.tif 000013
【図１２】
2019106100.tif 000014