(58)【調査した分野】(Int.Cl.,DB名)
前記第1のタイムスタンプと前記第2のタイムスタンプとが同一である場合、前記画像形成装置から前記画像形成装置の情報を取得しない、請求項1に記載のプリンタードライバープログラム。
前記情報取得ステップにおいて、さらに前記端末が前記第2のタイムスタンプを保持していない場合に、前記画像形成装置から前記画像形成装置の情報を取得する、請求項1または2に記載のプリンタードライバープログラム。
サーバーと、画像形成装置と、前記サーバーおよび前記画像形成装置の各々との通信を行う端末とを備えた画像形成システムにおいて、前記サーバーおよび前記端末の各々を制御するためのプリンタードライバープログラムであって、
前記サーバーにインストールされたプリンタードライバープログラムが保持する設定値を変更する指示を、前記サーバーが受け付ける受付ステップと、
前記受付ステップにて指示を受け付けた場合に、前記プリンタードライバープログラムが保持する設定値を、前記受付ステップにて受け付けた指示に従って前記サーバーが変更する第1の変更ステップと、
前記受付ステップにて指示を受け付けた場合に、前記サーバー内にインストールされている他のプリンタードライバープログラムであって、設定値の変更対象となる他のプリンタードライバープログラムを前記サーバーが検索する検索ステップと、
前記他のプリンタードライバープログラムが保持する設定値を、前記受付ステップにて受け付けた指示に従って前記サーバーが変更する第2の変更ステップと、
前記プリンタードライバープログラムが保持する設定値が、所定の値である場合に、前記サーバーから前記端末が第1のタイムスタンプを取得する取得ステップと、
前記第1のタイムスタンプと、前記端末が保持する第2のタイムスタンプとが同じか否かを前記端末が判定する判定ステップと、
前記第1のタイムスタンプと第2のタイムスタンプとが異なる場合に、前記端末が前記画像形成装置の情報を取得する情報取得ステップと、
前記第1のタイムスタンプと第2のタイムスタンプとが異なる場合に、前記端末が、前記第1のタイムスタンプの内容に前記第2のタイムスタンプの内容を更新する更新ステップとをコンピューターに実行させる、プリンタードライバープログラム。
【発明の概要】
【発明が解決しようとする課題】
【0008】
ユニバーサルプリンタードライバーは、単一のプリンタードライバーで複数の機種の画像形成装置を利用可能とするものである。サーバーと、複数のクライアントPCと、複数の画像形成装置とがネットワークに接続された画像形成システムにおいて、ユニバーサルプリンタードライバーを使用する場合を想定する。この画像形成システムでは、プリントサーバーとクライアントPCとの間でポイントアンドプリントを使用可能であるものとする。
【0009】
この画像形成システムでは、ユニバーサルプリンタードライバーを使用することにより、サーバーおよびクライアントPCの各々にインストールするプリンタードライバーの数を抑えることができる。一方で、画像形成システムが多数のMFPを含む場合、画像形成システムのサービスマンや管理者(以下、管理者と記すことがある)は、依然として多くのプリンタードライバーをサーバーにインストールする必要がある。このため管理者は、サーバーにインストールしたプリンタードライバーのメンテナンスや管理の工数などを極力低減することを望んでいる。
【0010】
図12は、従来において、画像形成システムの管理者が行う、MFPのセットアップ作業を示すフローチャートである。なお、
図12のフローチャートは、設置されるMFPのプリンタードライバーをサーバーにインストールした後に、納品先にMFPを設置する場合のフローチャートである。
【0011】
図12を参照して、管理者は、設置されるMFP(画像形成装置)のプリンタードライバーをサーバーにインストールし(S1101)、クライアントPCのユーザーに対して、サーバーからクライアントPCへプリンタードライバーをダウンロードし、クライアントPCにインストールすることを促す(プリンタードライバーを配布する)(S1102)。次に管理者は、クライアントPCへダウンロードすべきプリンタードライバーが残っているか否かを判定する(S1103)。
【0012】
ステップS1103において、ダウンロードすべきプリンタードライバーが残っていると判定した場合(S1103でYES)、管理者は、ステップS1102の作業へ進む。
【0013】
ステップS1103において、ダウンロードすべきプリンタードライバーが残っていないと判定した場合(S1103でNO)、管理者は、納品先にMFPを設置し(S1105)、MFPの運用(使用)を開始する(S1107)。次に管理者は、サーバーが保持するプリンタードライバーのうち、設置されるMFPのプリンタードライバーのUI(User Interface)を開き(起動し)(S1109)、設置されるMFPの装置オプション情報をプリンタードライバーに設定し(S1111)、プリンタードライバーのUIを閉じる(起動を終了する)(S1113)。その後管理者は、設定すべきプリンタードライバー(装置オプション情報の設定が完了していないプリンタードライバー)が残っているか否かを判定する(S1115)。
【0014】
ステップS1115において、設定すべきプリンタードライバーが残っていると判定した場合(S1115でYES)、管理者はステップS1109の作業へ進む。一方、ステップS1115において、設定すべきプリンタードライバーが残っていないと判定した場合(S1115でNO)、管理者はMFPのセットアップ作業を終了する。
【0015】
図12に示すフローチャートで説明したように、管理者は、MFPを設置した後で、サーバーが保持するプリンタードライバーに対して、装置オプション情報を設定する必要がある。これは、MFPを使用するクライアントが、MFPを設置した後でMFPの装置オプションを選択(購入)する場合が多いためである。
【0016】
設置するMFPが多数に及ぶ場合、管理者は、設置するMFPの各々に対応するプリンタードライバーの各々に対して、設置するMFPの装置オプション情報の設定を行う必要がある。その結果、管理者の作業が煩雑であるという問題があった。
【0017】
この問題を解決する一つの方法として、サーバーが保持するプリンタードライバーの装置オプション情報の設定を管理者が行う代わりに、クライアントPCが、プリンタードライバーの印刷設定UIを起動する場合などに、MFPから自動的に装置オプション情報を取得する方法が考えられる。
【0018】
図13は、従来において、クライアントPCがMFPから自動的に装置オプション情報を取得する方法における、クライアントPCの動作を示すフローチャートである。
【0019】
図13を参照して、クライアントPCは、プリンタードライバーの印刷設定UIがユーザーによって起動された場合に、装置オプション情報の自動取得機能がONに設定されているか否かを判定する(S1201)。
【0020】
ステップS1201において、装置オプション情報の自動取得機能がONに設定されていると判定した場合(S1201でYES)、クライアントPCは、MFPと通信を行い、装置オプション情報を取得する(S1203)。次にクライアントPCは、プリンタードライバーの印刷設定UIを起動(表示)し(S1205)、処理を終了する。
【0021】
ステップS1201において、装置オプション情報の自動取得機能がONに設定されていないと判定した場合(S1201でNO)、クライアントPCは、装置オプション情報を取得せずにステップS1205の処理へ進む。
【0022】
上述の方法では、ユーザーがプリンタードライバーの印刷設定UIを起動する度に、MFPとの通信を毎回行うことになる。その結果、ネットワークのトラフィックが増加するという問題があった。加えて、印刷設定UIを表示するのに時間を要し、操作性の低下を招くという問題があった。
【0023】
図14は、クライアントPCがMFPから自動的に装置オプション情報を取得する方法の変形例における、クライアントPCおよび管理者の動作を示すフローチャートである。
【0024】
図14を参照して、上述の方法における問題を回避し、ユーザーのユーザビリティを優先するためには、管理者は、クライアントPCにプリンタードライバーをインストールし、クライアントPCが装置オプション情報を取得した後で、装置オプション情報の自動取得機能をOFFにする必要があった(
図14のステップS1301)。その結果、管理者の作業が煩雑であるという問題を解決することはできなかった。
【0025】
本発明は、上記課題を解決するためのものであり、その目的は、利便性を向上することのできるプリンタードライバープログラムを提供することである。
【課題を解決するための手段】
【0026】
本発明の一の局面に従うプリンタードライバープログラムは、サーバーおよび画像形成装置の各々との通信を行う端末を制御するためのプリンタードライバープログラムであって、サーバーから第1のタイムスタンプを取得する取得ステップと、第1のタイムスタンプと、端末が保持する第2のタイムスタンプとが同じか否かを判定する判定ステップと、第1のタイムスタンプと第2のタイムスタンプとが異なる場合に、
サーバーを経由してサーバーとは別体の画像形成装置から画像形成装置の情報を取得する情報取得ステップと、第1のタイムスタンプと第2のタイムスタンプとが異なる場合に、第1のタイムスタンプの内容に第2のタイムスタンプの内容を更新する更新ステップとをコンピューターに実行させる。
【0027】
上記プリンタードライバープログラムにおいて好ましくは、第1のタイムスタンプと第2のタイムスタンプとが同一である場合、画像形成装置から画像形成装置の情報を取得しない。
【0028】
上記プリンタードライバープログラムにおいて好ましくは、情報取得ステップにおいて、さらに端末が第2のタイムスタンプを保持していない場合に、画像形成装置から画像形成装置の情報を取得する。
【0029】
上記プリンタードライバープログラムにおいて好ましくは、情報取得ステップにて取得した画像形成装置の情報を記憶する記憶ステップと、記憶ステップにて記憶した画像形成装置の情報を反映した設定画面であって、画像形成装置で実行する印刷の設定画面を端末に表示する表示ステップとをさらにコンピューターに実行させる。
【0030】
本発明の他の局面に従うプリンタードライバープログラムは、端末との通信を行うサーバーを制御するためのプリンタードライバープログラムであって、サーバーにインストールされたプリンタードライバープログラムが保持する設定値を変更する指示を受け付ける受付ステップと、受付ステップにて指示を受け付けた場合に、プリンタードライバープログラムが保持する設定値を、受付ステップにて受け付けた指示に従って変更する第1の変更ステップと、受付ステップにて指示を受け付けた場合に、サーバー内にインストールされている他のプリンタードライバープログラムであって、設定値の変更対象となる他のプリンタードライバープログラムを検索する検索ステップと、他のプリンタードライバープログラムが保持する設定値を、受付ステップにて受け付けた指示に従って変更する第2の変更ステップとをコンピューターに実行させる。
【0031】
本発明のさらに他の局面に従うプリンタードライバープログラムは、サーバーと、画像形成装置と、サーバーおよび画像形成装置の各々との通信を行う端末とを備えた画像形成システムにおいて、サーバーおよび端末の各々を制御するためのプリンタードライバープログラムであって、サーバーにインストールされたプリンタードライバープログラムが保持する設定値を変更する指示を、サーバーが受け付ける受付ステップと、受付ステップにて指示を受け付けた場合に、プリンタードライバープログラムが保持する設定値を、受付ステップにて受け付けた指示に従ってサーバーが変更する第1の変更ステップと、受付ステップにて指示を受け付けた場合に、サーバー内にインストールされている他のプリンタードライバープログラムであって、設定値の変更対象となる他のプリンタードライバープログラムをサーバーが検索する検索ステップと、他のプリンタードライバープログラムが保持する設定値を、受付ステップにて受け付けた指示に従ってサーバーが変更する第2の変更ステップと、プリンタードライバープログラムが保持する設定値が、所定の値である場合に、サーバーから端末が第1のタイムスタンプを取得する取得ステップと、第1のタイムスタンプと、端末が保持する第2のタイムスタンプとが同じか否かを端末が判定する判定ステップと、第1のタイムスタンプと第2のタイムスタンプとが異なる場合に、端末が画像形成装置の情報を取得する情報取得ステップと、第1のタイムスタンプと第2のタイムスタンプとが異なる場合に、端末が、第1のタイムスタンプの内容に第2のタイムスタンプの内容を更新する更新ステップとをコンピューターに実行させる。
【発明の効果】
【0032】
本発明によれば、利便性を向上することのできるプリンタードライバープログラムを提供することができる。
【発明を実施するための形態】
【0034】
以下、本発明の一実施の形態について、図面に基づいて説明する。
【0035】
以下の実施の形態では、画像形成装置がMFPであり、端末およびサーバーの各々がPCである場合について説明する。画像形成装置は、MFPの他、プリンター、複写機、またはファクシミリなどであってもよい。端末およびサーバーの各々は、PCの他、スマートフォンまたはタブレットなどであってもよい。
【0036】
始めに、本実施の形態における画像形成システムの構成について説明する。
【0037】
図1は、本発明の一実施の形態における画像形成システムの構成を模式的に示す図である。
【0038】
図1を参照して、画像形成システムは、たとえば会社内部の機器によって構成されたシステムであり、複数のクライアントPC100(端末の一例)と、サーバー200と、複数のMFP300(画像形成装置の一例)とを備えている。複数のクライアントPC100と、サーバー200と、複数のMFP300との各々は、ネットワーク400を通じて接続されており、互いに通信可能である。
【0039】
ネットワーク400は、たとえば無線や有線のLAN(Local Area Network)などを用いる通信回線である。ネットワーク400は、TCP/IP(Transmission Control Protocol/Internet Protocol)のプロトコルを用いて各種機器を接続する。ネットワーク400に接続された機器は、お互いに各種データのやり取りが可能となっている。
【0040】
サーバー200には、複数のMFP300の各々に対応する複数のプリンタードライバー(プリンタードライバープログラム)PD2の各々がインストールされている。具体的には、プリンタードライバーPD2aは、MFP300aでプリントジョブを実行する際に使用するプリンタードライバーである。プリンタードライバーPD2bは、MFP300bでプリントジョブを実行する際に使用するプリンタードライバーである。プリンタードライバーPD2cは、MFP300cでプリントジョブを実行する際に使用するプリンタードライバーである。
【0041】
複数のクライアントPC100の各々は、異なる複数のユーザーの各々によって所持されている。ユーザーは、印刷を実行する可能性のあるMFP300に対応するプリンタードライバーPD2を、サーバー200から自分のクライアントPC100にダウンロードし、インストールする。クライアントPC100は、サーバー200からダウンロードしたプリンタードライバーを、プリンタードライバーPD1として記憶する。たとえば、クライアントPC100aは、MFP100aに対応するプリンタードライバーPD1aと、MFP100bに対応するプリンタードライバーPD1bとを記憶する。プリンタードライバーPD1の各々とプリンタードライバーPD2の各々とは、同一のモジュールであり、所要のタイミングで同期される。
【0042】
プリンタードライバーPD1およびPD2の各々は、装置オプション情報を含んでいる。装置オプション情報とは、対応するMFPで使用可能なハードウェア(たとえばカラープリントなど)やソフトウェアの状態を示す情報である。クライアントPC100にプリンタードライバーPD1の印刷設定UIが表示された場合、その印刷設定UIは、プリンタードライバーPD1に対応するMFP300の装置オプション情報を反映したものとなる。
【0043】
クライアントPC100は、プリンタードライバーPD1に対応するMFP300の装置オプション情報に変更があった場合(たとえば、MFP300に新たなハードウェアが追加された場合など)に、プリンタードライバーPD1に含まれる装置オプション情報を更新する必要がある。また、クライアントPC100は、プリンタードライバーPD1が新たにインストールされた場合には、そのプリンタードライバーPD1に対応するMFP300の装置オプション情報を取得し、保持する必要がある。
【0044】
図2は、本発明の一実施の形態におけるクライアントPC100の構成を示すブロック図である。
【0045】
図2を参照して、クライアントPC100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、操作部104と、表示部105と、ネットワークI/F106と、補助記憶装置107などを含んでいる。CPU101と、ROM102、RAM103、操作部104、表示部105、ネットワークI/F106、および補助記憶装置107の各々とは、バスなどで相互に接続されている。
【0046】
CPU101は、クライアントPC100全体の動作を制御する。CPU101は、制御プログラムに基づいて処理を行う。
【0047】
ROM102は、CPU101が実行する制御プログラムなどを記憶する。
【0048】
RAM103は、CPU101の作業用のメモリである。
【0049】
操作部104は、各種操作を検知する。
【0050】
表示部105は、各種情報を表示する。
【0051】
ネットワークI/F106は、ネットワーク400を通じて、サーバー200やMFP300などの外部機器との間で各種の情報を送受信する。
【0052】
補助記憶装置107は、プリンタードライバーPD1などの各種情報を記憶する。補助記憶装置107は、MFP300の種類に応じて複数のプリンタードライバーPD1を記憶していてもよい。プリンタードライバーPD1は、装置オプション情報やタイムスタンプT1などを含んでいる。タイムスタンプT1は、クライアントPC100が装置オプション情報を取得した日時を示している。
【0053】
図3は、本発明の一実施の形態におけるサーバー200の構成を示すブロック図である。
【0054】
図3を参照して、サーバー200は、CPU201と、ROM202と、RAM203と、操作部204と、表示部205と、ネットワークI/F206と、補助記憶装置207などを含んでいる。CPU201と、ROM202、RAM203、操作部204、表示部205、ネットワークI/F206、および補助記憶装置207の各々とは、バスなどで相互に接続されている。
【0055】
CPU201は、サーバー200全体の動作を制御する。CPU201は、制御プログラムに基づいて処理を行う。
【0056】
ROM202は、CPU201が実行する制御プログラムなどを記憶する。
【0057】
RAM203は、CPU201の作業用のメモリである。
【0058】
操作部204は、各種操作を検知する。
【0059】
表示部205は、各種情報を表示する。
【0060】
ネットワークI/F206は、ネットワーク400を通じて、クライアントPC100やMFP300などの外部機器との間で各種の情報を送受信する。
【0061】
補助記憶装置207は、プリンタードライバーPD2や、指示アプリなどの各種情報を記憶する。プリンタードライバーPD2は、装置オプション情報、ワンタイムキャッシュモードのON/OFFの設定に関する情報(設定値の一例)(以降、ワンタイムキャッシュモードの情報と記すことがある)、およびタイムスタンプT2などを含んでいる。補助記憶装置207は、MFP300の種類に応じて複数のプリンタードライバーPD1を記憶していてもよい。
【0062】
ワンタイムキャッシュモードは、クライアントPC100に対して装置オプション情報を取得することの要否を記憶する機能である。タイムスタンプT2は、ワンタイムキャッシュモードがONに設定された日時(または装置オプション情報が更新された日時)を示している。
【0063】
指定アプリは、所定の条件を満たす任意のプリンタードライバーPD2(以降、メインのプリンタードライバーと記すことがある)に対して、ワンタイムキャッシュの情報をONすることを要求するためのアプリケーションである。
【0064】
図4は、本発明の一実施の形態におけるMFP300の構成を示すブロック図である。
【0065】
図4を参照して、MFP300は、スキャナー機能、複写機能、プリンターとしての機能、ファクシミリ機能、データ通信機能、およびサーバー機能を備えている。MFP300は、CPU301と、ROM302と、RAM303と、スキャナー304と、ネットワークI/F305と、操作パネル306と、画像形成部307と、補助記憶装置308などを含んでいる。CPU301と、ROM302、RAM303、スキャナー304、ネットワークI/F305、操作パネル306、画像形成部307、および補助記憶装置308の各々とは、バスなどで相互に接続されている。
【0066】
CPU301は、MFP300全体の動作を制御する。CPU301は、制御プログラムに基づいて処理を行う。
【0067】
ROM302は、CPU301が実行する制御プログラムなどを記憶する。
【0068】
RAM303は、CPU301の作業用のメモリである。
【0069】
スキャナー304は、原稿の画像を読み取り、画像データを生成する。
【0070】
ネットワークI/F305は、ネットワーク400を通じて、クライアントPC100やサーバー200などの外部機器との間で各種の情報を送受信する。
【0071】
操作パネル306は、各種情報を表示し、各種操作を検知する。
【0072】
画像形成部307は、印刷データを用紙に印刷する。画像形成部307は、おおまかに、トナー像形成部、定着装置、および用紙搬送部などで構成される。画像形成部307は、たとえば電子写真方式で用紙に画像を形成する。トナー像形成部は、いわゆるタンデム方式で4色の画像を合成し、用紙(記録媒体)にカラー画像を形成する。トナー像形成部は、C(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)の各色について設けられた感光体と、感光体からトナー像が転写(1次転写)される中間転写ベルトと、中間転写ベルトから用紙に画像を転写(2次転写)する転写部などで構成される。定着装置は、加熱ローラーおよび加圧ローラーを有する。定着装置は、加熱ローラーと加圧ローラーとでトナー像が形成された用紙を挟みながら搬送し、その用紙に加熱および加圧を行う。これにより、定着装置は、用紙に付着したトナーを溶融させて用紙に定着させ、用紙に画像を形成する。用紙搬送部は、給紙ローラー、搬送ローラー、およびそれらを駆動するモーターなどで構成されている。用紙搬送部は、用紙を給紙カセットから給紙して、MFP300の筐体の内部で搬送する。また、用紙搬送部は、画像が形成された用紙をMFP300の筐体から排紙トレイなどに排出する。
【0073】
補助記憶装置308は、装置オプション情報や画像データなどの各種情報を記憶する。
【0074】
図5は、本発明の一実施の形態におけるプリンタードライバーPDの機能的な構成を示すブロック図である。
【0075】
図5を参照して、プリンタードライバーPD1およびPD2は、ポイントアンドプリントの形態の構成を有しており、同一である。ここでは、プリンタードライバーPD1およびPD2を、纏めてプリンタードライバーPDとして説明する。
【0076】
プリンタードライバーPDは、ドキュメントプロパティ部DCと、デバイスプロパティ部DVとを含んでいる。ドキュメントプロパティ部DCは、ワンタイムキャッシュ設定取得部P1と、ワンタイムキャッシュ設定判定部P2と、タイムスタンプ記憶部P3と、タイムスタンプ取得部P4と、タイムスタンプ判定部P5と、装置情報キャッシュ処理部P6と、装置情報キャッシュ記憶部P7と、UI表示部P8とを含んでいる。
【0077】
ワンタイムキャッシュ設定取得部P1は、所要の場合にワンタイムキャッシュの情報をサーバー200から取得する。
【0078】
ワンタイムキャッシュ設定判定部P2は、取得したワンタイムキャッシュの情報がONであるか否かを判定する。
【0079】
タイムスタンプ記憶部P3は、タイムスタンプT1を記憶する。
【0080】
タイムスタンプ取得部P4は、所定の場合にサーバー200からタイムスタンプT2を取得する。
【0081】
タイムスタンプ判定部P5は、タイムスタンプ取得部P4が取得したタイムスタンプT2と、タイムスタンプ記憶部P3が記憶するタイムスタンプT1とが同じか否かを判定する。
【0082】
装置情報キャッシュ処理部P6は、所要の場合にMFP300から装置オプション情報を取得し、取得した装置オプション情報を装置情報キャッシュ記憶部P7に記憶する処理を行う。
【0083】
装置情報キャッシュ記憶部P7は、装置オプション情報を記憶する。
【0084】
UI表示部P8は、印刷設定UIをクライアントPC100の表示部105に表示し、印刷設定UIを通じて各種設定を受け付ける。
【0085】
デバイスプロパティ部DVは、設定受信部P11と、サーチ部P12と、サーチ結果判定部P13と、呼出部P14と、API(Application Program Interface)設定部P15と、API受信部P16と、モード設定部P17と、装置情報設定部P18と、タイムスタンプ記憶部P19と、モード記憶部P20とを含んでいる。
【0086】
設定受信部P11は、指示アプリからワンタイムキャッシュモードをONすることの要求を受信する。
【0087】
サーチ部P12は、指示アプリから、ワンタイムキャッシュモードをONすることの要求を受信した場合に、サーバー200に記憶された他のプリンタードライバーPD2をサーチする。
【0088】
サーチ結果判定部P13は、ドライバーサーチ部P12によってサーチされたプリンタードライバーPD2が、所定の検索条件を満たすか否かを判定する。
【0089】
呼出部P14は、所定の検索条件を満たすと判定したプリンタードライバーPD2を呼び出す。
【0090】
API設定部P15は、呼び出したプリンタードライバーPD2に対して、ワンタイムキャッシュモードをONすることを要求(設定)する。
【0091】
API受信部P16は、メインのプリンタードライバーから、ワンタイムキャッシュの情報をONすることの要求を受信する。
【0092】
モード設定部P17は、指示アプリまたはメインのプリンタードライバーからの要求に従って、自らのワンタイムキャッシュモードをONに設定する。
【0093】
装置情報設定部P18は、対応するMFP300の装置オプション情報を、プリンタードライバーPD1に対して設定する。
【0094】
タイムスタンプ記憶部P19は、タイムスタンプT2を記憶する。
【0095】
モード記憶部P20は、ワンタイムキャッシュモードの設定内容(ONまたはOFF)を記憶する。
【0096】
プリンタードライバーPDは、指示アプリとの通信を行うためのAPIであるドライバーAPIを搭載している。
【0097】
図6は、本発明の一実施の形態において、クライアントPC100およびサーバー200の各々が保持するプリンタードライバーPD1およびPD2の各々の機能的な構成を示す図である。
【0098】
図6を参照して、クライアントPC100およびサーバー200の各々は、プリンタードライバーPD1およびPD2の各々を保持している。ドキュメントプロパティ部DCは、クライアントPC100で動作する部分(クライアントPC100で使用される部分)である。クライアントPC100にインストールされているプリンタードライバーPD1には、デバイスプロパティ部DVが含まれているが、クライアントPC100ではデバイスプロパティ部DVは使用されない。
【0099】
デバイスプロパティ部DVは、サーバー200で動作する部分(サーバー200で使用される部分)である。サーバー200にインストールされているプリンタードライバーPD2には、ドキュメントプロパティ部DCが含まれているが、サーバー200ではドキュメントプロパティ部DCは使用されない。
【0100】
次に、本実施の形態における画像形成システムの動作について説明する。
【0101】
図7および
図8は、本発明の一実施の形態における画像形成システムの動作を示す図である。
【0102】
図7を参照して、管理者は、画像形成システムに新たなMFP300を追加する場合やMFP300の装置オプションに変更がある場合に、MFP300の新たな装置オプションを、MFP300の補助記憶装置308に記憶させる(処理PR1)。
【0103】
次に管理者は、サーバー200内の指示アプリを起動し、プリンタードライバーPD2のワンタイムキャッシュモードをONする処理(ドライバーAPIプログラム)を指示アプリに実行させる操作を行う(処理PR2)。
【0104】
指示アプリは、管理者による操作を受け付けると、所定の検索条件を満たす任意のプリンタードライバーPD2(メインのプリンタードライバー)に対して、ワンタイムキャッシュモードをON(変更)することを要求する(処理PR3)。
【0105】
メインのプリンタードライバーは、指定アプリから要求を受け付けると、自らのワンタイムキャッシュモードをONし、サーバー200内にインストールされている他のプリンタードライバーPD2のうち、所定の検索条件を満たす(設定値の変更対象となる)他のプリンタードライバーPD2に対して、ワンタイムキャッシュモードをONにすることを要求する(処理PR4)。他のプリンタードライバーPD2は、自らが保持するワンタイムキャッシュモードの情報を、要求に従ってONに変更する。
【0106】
上記の所定の検索条件とは、たとえば、ドライバーAPIを搭載していることと、ワンタイムキャッシュモードのON/OFFの設定が可能であることである。
【0107】
プリンタードライバーPD2の各々は、ワンタイムキャッシュモードがONに設定された場合に、その日時をタイムスタンプT2として記憶する(処理PR5)。
【0108】
図8を参照して、クライアントPC100のプリンタードライバーPD1は、たとえばプリンタードライバーPD1の印刷設定UIが起動されたタイミングなどで、対応するプリンタードライバーPD2のワンタイムキャッシュモードの情報を取得する(処理PR11)。
【0109】
取得したワンタイムキャッシュモードの情報がONである場合、画像形成システムを構成するMFP300の装置オプション情報が変更された状態か、または新たなMFP300が追加された状態にある。この場合、プリンタードライバーPD1は、プリンタードライバーPD2からタイムスタンプT2をから取得し(処理PR12)、自らが記憶するタイムスタンプT1と、取得したタイムスタンプT2とが同じであるか否かを判定する(処理PR13)。
【0110】
取得したワンタイムキャッシュモードの情報がOFFである場合、画像形成システムを構成するMFP300の装置オプション情報に変更が無く、新たなMFP300が追加されてもいない状態にある。この場合、プリンタードライバーPD1は、自らが記憶している装置オプション情報を更新せず、自らが記憶している装置オプション情報を反映した印刷設定UIを表示する。
【0111】
タイムスタンプT1とタイムスタンプT2とが異なる場合、MFP300の装置オプション情報が更新されているにもかかわらず、プリンタードライバーPD1が更新前の装置オプション情報を記憶している状態にある。この場合、プリンタードライバーPD1は、MFP300から新たな装置オプション情報を取得し、自らが記憶する装置オプション情報を更新する(処理PR14)。
【0112】
プリンタードライバーPD1は、新たな装置オプションを、サーバー200を経由してMFP300から取得することが好ましい。これにより、サーバー200が保持するプリンタードライバーPD2の装置オプション情報をも同じタイミングで更新することができる。またプリンタードライバーPD1は、新たな装置オプション情報をMFP300から直接取得してもよい。
【0113】
プリンタードライバーPD1がタイムスタンプT1を記憶(保持)していない場合、対応するMFP300が新たに設置された状態にある。この場合にもプリンタードライバーPD1は、MFP300から新たな装置オプション情報を取得し、自らの装置オプション情報として記憶する(処理PR14)。
【0114】
プリンタードライバーPD1は、MFP300から新たな装置オプション情報を取得した場合、タイムスタンプT1の内容を、取得したプリンタードライバーPD2の内容に更新する(処理PR15)。
【0115】
タイムスタンプT1とタイムスタンプT2とが同一である場合、プリンタードライバーPD1が最新の装置オプション情報を記憶している状態にある。この場合、プリンタードライバーPD1は、自らが記憶している装置オプション情報を更新せず、自らが記憶している装置オプション情報を反映した印刷設定UI(設定画面)を表示する。印刷設定UIは、MFP300で実行する印刷の設定画面である。
【0116】
図9は、本発明の一実施の形態において、指示アプリからワンタイムキャッシュモードをONすることの要求を受け付けた場合に、サーバー200が実行する処理を示すフローチャートである。
【0117】
図9を参照して、CPU201は、指示アプリからワンタイムキャッシュモードをONすることの要求を受け付けると、メインのプリンタードライバーのワンタイムキャッシュモードをONに設定し(S201)、メインのプリンタードライバーが記憶しているタイムスタンプT2を更新する(S202)。次にCPU201は、サーバー200内のプリンタードライバーPD2をサーチし(S203)、見つけたプリンタードライバーPD2が、所定の検索条件を満たすか否か(変更対象のプリンタードライバーであるか否か)を判定する(S204)。
【0118】
ステップS204において、見つけたプリンタードライバーPD2が、所定の検索条件を満たさないと判定した場合(S204でNO)、CPU201は、ステップS203の処理へ進む。
【0119】
ステップS204において、見つけたプリンタードライバーPD2が、所定の検索条件を満たすと判定した場合(S204でYES)、CPU201は、見つけたプリンタードライバーPD2のワンタイムキャッシュモードをONに設定し(S205)、見つけたプリンタードライバーPD2が記憶しているタイムスタンプT2を更新する(S207)。次にCPU201は、サーバー200内の全てのプリンタードライバーPD2を見つけたか否かを判定する(S209)。
【0120】
ステップS209において、サーバー200内の全てのプリンタードライバーPD2を見つけていないと判定した場合(S209でNO)、CPU201は、ステップS203の処理へ進む。
【0121】
ステップS209において、サーバー200内の全てのプリンタードライバーPD2を見つけたと判定した場合(S209でYES)、CPU201は、処理を終了する。
【0122】
図10は、本発明の一実施の形態において、クライアントPC100でプリンタードライバーPD1の印刷設定UIが起動された場合に、クライアントPC100が実行する処理を示すフローチャートである。
【0123】
図10を参照して、CPU101は、ワンタイムキャッシュモードの情報と、タイムスタンプT2とをサーバー200の対応するプリンタードライバーPD2から取得し(S101)、取得したワンタイムキャッシュモードがONであるか否かを判定する(S103)。
【0124】
ステップS103において、取得したワンタイムキャッシュモードの情報がONでないと判定した場合(S103でNO)、CPU101はステップS115の処理へ進む。
【0125】
ステップS103において、取得したワンタイムキャッシュモードの情報がONであると判定した場合(S103でYES)、CPU101は、プリンタードライバーPD1のタイムスタンプT1を参照し(S105)、タイムスタンプT1を記憶しているか否かを判定する(S107)。
【0126】
ステップS107において、タイムスタンプT1を記憶していると判定した場合(S107でYES)、CPU101は、プリンタードライバーPD1が記憶するタイムスタンプT1と、取得したタイムスタンプT2とが同じであるか否かを判定する(S117)。
【0127】
ステップS117において、タイムスタンプT1とタイムスタンプT2とが同じであると判定した場合(S117でYES)、CPU101は、プリンタードライバーPD1に保存されている装置オプション情報を利用し(S119)、ステップS115の処理へ進む。
【0128】
ステップS107において、タイムスタンプT1を記憶していないと判定した場合(S107でNO)、またはステップS117において、タイムスタンプT1とタイムスタンプT2とが同じでないと判定した場合(S117でNO)、CPU101は、サーバー200経由でMFP300より装置オプション情報を取得し(S109)、プリンタードライバーPD1に装置オプション情報を記憶する(S111)。続いてCPU101は、プリンタードライバーPD1にタイムスタンプT2の内容を記憶し(S113)、ステップS115の処理へ進む。
【0129】
ステップS115において、CPU101は、装置オプション情報を反映した印刷設定UIを表示し(S115)、処理を終了する。
【0131】
図11は、本発明の一実施の形態にいて、画像形成システムの管理者が行う、MFP300のセットアップ作業を示すフローチャートである。
【0132】
図11を参照して、管理者は、設置されるMFP300のプリンタードライバーPD2をサーバー200にインストールし(S301)、サーバー200にインストールすべきプリンタードライバーPD1が残っているか否かを判定する(S303)。
【0133】
ステップS303において、サーバー200にインストールすべきプリンタードライバーPD1が残っていると判定した場合(S1103でYES)、管理者は、ステップS301の作業へ進む。
【0134】
ステップS303において、ダウンロードすべきプリンタードライバーが残っていないと判定した場合(S303でNO)、管理者は、納品先にMFPを設置し(S305)、MFPの運用(使用)を開始する(S307)。次に管理者は、指示アプリを起動し、プリンタードライバーPD2のワンタイムキャッシュモードをONする処理(ドライバーAPIプログラム)を指示アプリに実行させ(S309)、処理を終了する。
【0135】
本実施の形態によれば、管理者は、サーバーにインストールされた指示アプリに対する操作を行うことにより、サーバー内の必要な全てのプリンタードライバーのワンタイムキャッシュモードをONにすることができ、クライアントPCに対して装置オプションの更新を自動的に促すことができる。これにより、画像形成システム内のMFPの装置オプション情報の変更や新たなMFPの追加があった場合に必要な、プリンタードライバーの装置オプション情報を設定する管理者の作業を大幅に簡略化することができる。加えて、クライアントPCは、装置オプション情報の更新の有無を確認するために、MFPと間で通信を行う必要が無いので、クライアントPC側のプリンタドライバの操作性を向上することができる。その結果、プリンタードライバープログラムの利便性を向上することができる。
【0137】
MFP300自身が、サーバー200として機能していてもよい。
【0138】
タイムスタンプT1とタイムスタンプT2とが異なる場合に、プリンタードライバーPD1が取得する情報は、装置オプション情報に限られるものではなく、プリンタードライバーPD1に対応するMFP300の情報であればよい。
【0139】
プリンタードライバーPD2が記憶するワンタイムキャッシュモードは、常にONに設定されてもよいし、プリンタードライバーPD2は、ワンタイムキャッシュモードのON/OFFの設体を記憶していなくてもよい。この場合、クライアントPC100側のプリンタードライバーPD1は、所要のタイミングでタイムスタンプT2を取得してもよい。
【0140】
上述の実施の形態における処理は、ソフトウェアにより行っても、ハードウェア回路を用いて行ってもよい。また、上述の実施の形態における処理を実行するプログラムを提供することもできるし、そのプログラムをCD−ROM、フレキシブルディスク、ハードディスク、ROM、RAM、メモリカードなどの記録媒体に記録してユーザーに提供することにしてもよい。プログラムは、CPUなどのコンピューターにより実行される。また、プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。
【0141】
上述の実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。