(57)【要約】【課題】  本発明は共有プリンター環境でもクライアントに自動的にプリンタードライバーをインストールさせることで、クライアントの作業負荷を軽減することを目的とする。【解決手段】  本発明のシステムは、サーバーの第１のプリンタードライバーのデータベースに、第２のプリンタードライバーに対応する論理プリンターのパスを追加して、サーバーのデータベースに論理プリンターのパスが追加されることにより、クライアントの第１のプリンタードライバーのデータベースにも論理プリンターのパスが追加され、クライアントは、第１のプリンタードライバーが動作することにより、クライアントのデータベースに追加された論理プリンターのパスに従って第２のプリンタードライバーをインストールする。【選択図】  図７
2018147124.tif 000002
【特許請求の範囲】
【請求項１】
クライアントとサーバーを含むシステムであって、
前記サーバーは、前記サーバーの第１のプリンタードライバーのデータベースに、第２のプリンタードライバーに対応する論理プリンターのパスを追加する追加手段を有し、
前記サーバーのデータベースに前記論理プリンターのパスが追加されることにより、前記クライアントの前記第１のプリンタードライバーのデータベースにも前記論理プリンターのパスが追加され、
前記クライアントは、前記第１のプリンタードライバーが動作することにより、前記クライアントのデータベースに追加された前記論理プリンターのパスに従って前記第２のプリンタードライバーをインストールするインストール手段を有することを特徴とするシステム。
【請求項２】
前記サーバーは、前記第２のプリンタードライバーをインストールするインストール手段を有し、
前記追加手段は、前記サーバーのデータベースに、インストールされた前記第２のプリンタードライバーに対応する前記論理プリンターのパスを追加することを特徴とする請求項１に記載のシステム。
【請求項３】
前記サーバーは、前記サーバーの第１のプリンタードライバーが前記第２のプリンタードライバーをインストールできるバージョンであるか判定する判定手段と、
前記サーバーのインストール手段は、前記判定手段により前記第１のプリンタードライバーが前記第２のプリンタードライバーをインストールできるバージョンではないと判定された場合に、前記第１のプリンタードライバーも更新インストールすることを特徴とする請求項２に記載のシステム。
【請求項４】
前記クライアントは、前記第２のプリンタードライバーをインストールするかどうかをユーザーに確認する確認画面を表示する表示手段を有し、
前記インストール手段は、前記確認画面を介して前記ユーザーから前記第２のプリンタードライバーをインストールする指示を受け付けた場合に、前記クライアントのデータベースに追加された前記論理プリンターのパスに従って前記第２のプリンタードライバーをインストールすることを特徴とする請求項１乃至３のいずれか１項に記載のシステム。
【請求項５】
前記表示手段は、前記第２のプリンタードライバーがインストールされたことをユーザーに通知する通知画面を表示することを特徴とする請求項４に記載のシステム。
【請求項６】
前記クライアントは、前記クライアントのインストール手段による前記第２のプリンタードライバーのインストールが完了後に、前記第１のプリンタードライバーをアンインストールするアンインストール手段を有することを特徴とする請求項１乃至５のいずれか１項に記載のシステム。
【請求項７】
クライアントとサーバーを含むシステムの制御方法であって、
前記サーバーは、前記サーバーの第１のプリンタードライバーのデータベースに、第２のプリンタードライバーに対応する論理プリンターのパスを追加する追加工程を有し、
前記サーバーのデータベースに前記論理プリンターのパスが追加されることにより、前記クライアントの前記第１のプリンタードライバーのデータベースにも前記論理プリンターのパスが追加され、
前記クライアントは、前記第１のプリンタードライバーが動作することにより、前記クライアントのデータベースに追加された前記論理プリンターのパスに従って前記第２のプリンタードライバーをインストールするインストール工程を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプリンタードライバーをインストールする技術に関する。
【背景技術】
【０００２】
従来、クライアントに対して手動操作によりプリンタードライバーをインストールする技術がある。特許文献１はインストーラを用いてプリンタードライバーをインストールする方法を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２５２０９５
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クライアントとサーバー間で実現される共有プリンター間でプリンタードライバーの更新を行う場合、例えばアーキテクチャの異なるプリンタードライバーは手動で更新する必要がある。クライアントでインストーラを一台一台手動で実行する方法では、クライアントの台数が多くなると、それだけ作業負荷が大きくなる課題があった。
【０００５】
これに対して本発明は、共有プリンター環境でもクライアントに自動的にプリンタードライバーをインストールさせることで、クライアントの作業負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するための本発明に係るシステムは、クライアントとサーバーを含むシステムであって、
前記サーバーは、前記サーバーの第１のプリンタードライバーのデータベースに、第２のプリンタードライバーに対応する論理プリンターのパスを追加する追加手段を有し、
前記サーバーのデータベースに前記論理プリンターのパスが追加されることにより、前記クライアントの前記第１のプリンタードライバーのデータベースにも前記論理プリンターのパスが追加され、
前記クライアントは、前記第１のプリンタードライバーが動作することにより、前記クライアントのデータベースに追加された前記論理プリンターのパスに従って前記第２のプリンタードライバーをインストールするインストール手段を有することを特徴とするシステム。
【発明の効果】
【０００７】
本発明により、共有プリンター環境でもクライアントに自動的にプリンタードライバーをインストールさせることで、クライアントの作業負荷を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】コンピューターのハードウェアとソフトウェアのブロック構成図の一例。
【図２】Ｖ３プリンタードライバーの印刷処理システムのブロック構成図の一例。
【図３】Ｖ４プリンタードライバーの印刷処理システムのブロック構成図の一例。
【図４】クライアントとサーバーによる共有プリンター環境の構成図。
【図５】オペレーティングシステムがプリンタードライバーを更新する処理。
【図６】Ｖ４インストーラが、サーバーにインストールする処理。
【図７】クライアントのＶ３プリンタードライバーによるインストール処理。
【図８】Ｖ３プリンタードライバーがインストールを始める前に通知するトースト表示。
【図９】Ｖ３プリンタードライバーによるインストール完了を通知するトースト表示。
【図１０】ユーザーに通知を行うＶ３プリンタードライバーの印刷設定画面。
【発明を実施するための形態】
【０００９】
大規模な企業などのコンピューター環境では、プリンター本体やプリンタードライバーを管理するために、１台のサーバーが数百台のクライアントを管理する共有プリンター環境が使用されている。共有プリンター環境では、オペレーティングシステムがサーバーとクライアントの連携を管理して、プリンタードライバーの更新を行う。サーバーのプリンタードライバーが更新されると、更新されたプリンタードライバーのファイルと関連するデータベースがオペレーティングシステムによってクライアントにも配信され、すべてのクライアントの環境が更新されるようになっている。
【００１０】
また、従来のプリンタードライバー（以下、Ｖ３プリンタードライバーと呼ぶ）とは互換性のない新しいアーキテクチャのＶ４プリンタードライバーが、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ８（登録商標）から導入された。現在ではＶ３プリンタードライバーも、Ｖ４プリンタードライバーも共存して使用することが可能だが、今後オペレーティングシステムが更新されると、Ｖ４プリンタードライバーだけがインストールできる状態になることが想定されている。そこで、前述の共有プリンター環境においても、自動的にＶ４プリンタードライバーに置き換えることが望ましい。
【００１１】
しかし、サーバーではＶ４プリンタードライバーを通常は新しいドライバーと認識するので、前述のオペレーティングシステムによるプリンタードライバーを更新する仕組みが使用できない。もし強引にＶ３プリンタードライバーをＶ４プリンタードライバーで上書き更新した場合は、データベースが不整合を起こし正しく動作しないばかりか、元に戻すこともできなくなる。
【００１２】
そこで、本明細書では前述のオペレーティングシステムによるプリンタードライバーを更新する仕組みを活用して、既存のＶ３プリンタードライバーを上書きすることなく、Ｖ４プリンタードライバーを自動的に導入する方法を述べる。
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１４】
図１は後述するサーバー４０１とクライアント４０２という２つの情報処理装置（コンピューター）のハードウェアと一部ソフトウェアの構成図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても、ネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。また、サーバー４０１とクライアント４０２のハードウェア構成は異なっていてもかまわない。
【００１５】
ＣＰＵ１０１は主記憶装置１０２のＲＯＭ１０２１あるいはＲＡＭ１０２２あるいは補助記憶装置１０５に格納されたプログラムに従って情報処理装置全体を制御する。ＲＡＭ１０２２はＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５はアプリケーション１０５１、プリンタードライバー１０５２、オペレーティングシステム（ＯＳ）１０５３等を記録する。キーボード１０３１やマウス・タッチパネルなどに代表されるポインティングデバイス１０３２などの入力機器は、入力Ｉ／Ｆ１０３を通じて、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０４は、データを外部に出力するためのインターフェースであり、モニタ１０４１やプリンター１０４２などの出力機器に対してデータを出力する。プリンター１０４２とは直接接続されるローカルＩ／Ｏのみならず、通信Ｉ／Ｆ１０６を通じて接続されるネットワーク１０６１を通して接続されていてもよい。また、１０７は共通データシステムバスで、Ｉ／Ｆやモジュール間でデータのやりとりを行う。
【００１６】
加えて、ＣＰＵ１０１が補助記憶装置１０５に記憶されているプログラムに基づき処理を実行することによって、図２及び図３に示されるような情報処理装置のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
【００１７】
また、プリンター１０４２は、印刷機能のみを持った印刷装置でも良いし、ＦＡＸ機能のみを持ったＦＡＸ装置でも良いし、スキャン機能および印刷機能など複数の機能を持った複合機でも良い。なお、プリンター１０４２を画像処理装置や画像形成装置と呼ぶこともある。
【００１８】
図２において、コンピューターを用いた印刷処理システムを示す。アプリケーション１０５１と、プリンタードライバー１０５２、オペレーティングシステム１０５３は、図１の補助記憶装置１０５に格納されている。グラフィックスエンジン２０２、プリントマネージャ２０８はオペレーティングシステム１０５３に含まれるモジュールである。
【００１９】
ユーザーはキーボード１０３１やポインティングデバイス１０３２などといった入力装置を使用して、出力装置のモニタ１０４１に映し出されたアプリケーション１０５１を使用して作成した文書２０１の印刷処理を実行する。
【００２０】
プリンタードライバー１０５２のユーザーインターフェースは、コンフィギュレーションモジュール２０６が提供する。プリンター１０４２のオプション機器構成や、ユーザーごとの環境設定など設定を保持しておきたいものは、プリンタードライバー１０５２がオペレーティングシステム１０５３のレジストリデータベース２０４に保存する。印刷設定２０１２のユーザーごとのデフォルト値はオペレーティングシステム１０５３のプリントマネージャ２０８が、レジストリデータベース２０４に保存する。
【００２１】
アプリケーション１０５１は、印刷設定２０１２が作成し終わったら、ユーザーによって印刷処理が実行され、オペレーティングシステム１０５３に印刷処理を通知する。オペレーティングシステム１０５３はグラフィックスエンジン２０２を通じて、指定されたプリンタードライバー１０５２への描画を行う。印刷設定２０１２でレイアウト処理が指定されている場合は、プリンタードライバー１０５２のレンダリングモジュール２０５に行く前に一時的なスプールファイル２０９を作成し、レイアウトモジュール２１０で処理を行う。描画データが送られてきたプリンタードライバー１０５２はレンダリングモジュール２０５によって、プリンターが理解できるデータ言語すなわちプリンター制御言語に変換する。
【００２２】
変換されたデータはスプールファイル２０９として逐次保存していく。プリントマネージャ２０８はスプールファイル２０９を取得し、印刷ジョブとして印刷処理のスケジュール管理を行う。プリンターが印刷できる状態になったら、プリントマネージャ２０８はＩ／Ｏモジュール２１１を介してプリンター１０４２に順次印刷ジョブデータを送信する。このようにして、アプリケーションからの印刷データがプリンター制御言語に変換されて印刷処理が行われる。ここで説明したプリンタードライバーは、Ｖ３プリンタードライバーと呼ばれる。
【００２３】
図３はＶ４プリンタードライバー印刷システムのブロック構成図である。Ｖ４プリンタードライバー印刷システムはＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以下、ＸＰＳと略す）と呼ばれるファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。図３におけるソフトウェアコンポーネントの１０５１、１０５２は、補助記憶装置１０５に記憶されており、実行時にＲＡＭ１０２２にロードされ、ＣＰＵ１０１によって実行される。Ｖ４プリンタードライバー印刷システムは、オペレーティングシステム１０５３上で動作している。プリントマネージャ２０８、ＧＤＩｔｏＸＰＳ変換モジュール３０５、フィルターパイプラインマネージャ３０９はオペレーティングシステム１０５３に含まれるモジュールである。ＧＤＩｔｏＸＰＳ変換モジュール３０５、フィルターパイプラインマネージャ３０９は、プリンタードライバー１０５２に含まれているが、オペレーティングシステム１０５３から提供されているプリンタードライバー１０５２専用のモジュールである。プリンタードライバー１０５２とフィルターパイプラインマネージャ３０９の各フィルターである３１０から３１２と、デバイスアプリ３０７は、図１の補助記憶装置１０５にプリンタードライバー１０５２として格納されている。ＧＤＩ印刷アプリケーション３０１（以下、ＧＤＩアプリと略す）とＸＰＳ印刷アプリケーション３０２（以下、ＸＰＳアプリと略す）は、図１の補助記憶装置１０５にアプリケーション１０５１として格納されている。
【００２４】
デバイスアプリ３０７は、プリンタードライバー１０５２の一種ではあるが、プリンタードライバーとは別のプログラムとしてインストールされる。デスクトップ向けデバイスアプリ３０７であれば、プリンタードライバー１０５２に組み込むこともできる。デバイスアプリ３０７は、プリンタードライバー１０５２がインストールされると、ネットワークを通してクラウドのストアサーバーから自動インストールされる。プリンター１０４２のオプション機器や、ユーザーごとの環境設定などは、プリンタードライバーがオペレーティングシステムのレジストリデータベース２０４、もしくはプロパティバッグ３１４に保存される。印刷設定データのデフォルト値はオペレーティングシステムのプリントマネージャ２０８が、レジストリデータベース２０４に保存する。レジストリデータベース２０４や、プロパティバッグ３１４は、補助記憶装置１０５に保存される。
【００２５】
Ｖ４プリンタードライバー印刷システムは、印刷時に必ず描画データに基づくＸＰＳスプールファイル３０４を生成する点が特徴である。ＸＰＳスプールファイル３０４が生成されたら、プリントフィルタパイプライン３０８に処理が渡される。プリントフィルタパイプライン３０８は複数のフィルターを通すことで印刷が行われる仕組みで、フィルタコンフィギュレーションファイル３１３がフィルターの数や順番を制御する。フィルターはプリンタードライバー１０５２の構成によって、数や種類が異なる。例えば、図３の３つのフィルターに加えて、更に、印刷ジョブを暗号化するための暗号化フィルターが含まれていても良い。
【００２６】
印刷ジョブは、印刷処理のスケジュール管理を行うプリントマネージャ２０８に送られ、キュー（待ち行列）に印刷ジョブが次々と登録される。プリントマネージャ２０８は、プリンター１０４２と通信してプリンター１０４２が印刷できる状態になり次第、キューに登録した順にポートモニター３１５を通して印刷ジョブを送信する。
【００２７】
このようにして、描画データをおよび印刷設定データを印刷ジョブに変換することがプリンタードライバーの主な役目であり、情報処理装置での印刷処理が実施される。
【００２８】
なお、本実施例では、印刷処理を用いて説明しているためプリンタードライバーと記載しているが、ＦＡＸ送信処理の際にも本発明を適用できる。この場合は、レンダラーフィルター３１２の代わりにＦＡＸデータを作成するＦＡＸフィルターを搭載して、ＦＡＸ機器に送信するＦＡＸドライバーとなる。
【００２９】
図４はサーバーとクライアントのネットワーク環境において、プリンターを共用で使用する場合の共有プリンター環境を表した図である。サーバー４０１は、プリンター１０４２とネットワークもしくはＵＳＢのシリアルケーブルなどで接続されており、サーバー４０１にプリンタードライバー１０５２をインストールすると、通常どおり印刷することが可能である。
【００３０】
また、サーバー４０１は、オペレーティングシステム１０５３の機能として、プリンタードライバー１０５２を共有することが可能である。共有を行うと、サーバー４０１に接続しているクライアント４０２からは、サーバー４０１のプリンターキュー（論理プリンター）に接続することができるようになる。クライアント４０２は、ユーザーの操作によってサーバー４０１の共有プリンターキューに接続すると、サーバー４０１からプリンタードライバー１０５２と関連するレジストリデータベース２０４のデータがダウンロードされる。サーバー４０１は、プリンタードライバー１０５２を共有するときに、専用の共有キュー名（論理プリンター名）をつけることができる。共有キュー名は、“￥￥ＳＥＲＶＥＲ００１￥ＳＨＡＲＥＰＲＩＮＴＥＲ０１”のように、サーバー名と共有専用のキュー名がつながった形（論理プリンターのパス）で表される。
【００３１】
サーバー４０１に接続したクライアント４０２は、印刷する際にはＣＳＲ（クライアントサイドレンダリング）か、ＳＳＲ（サーバーサイドレンダリング）のどちらかで印刷を行う。ＣＳＲの場合は、クライアントにダウンロードされたプリンタードライバー１０５２を使用して印刷ジョブを作成し、プリントマネージャ（スプーラ）２０８が印刷ジョブをサーバー４０１に送信する。サーバー４０１は、クライアント４０２から送られてきた印刷ジョブを、そのままプリンター１０４２に送信する。ＳＳＲの場合は、クライアント４０２はスプールファイル２０９やＸＰＳスプールファイル３０４をサーバー４０１に送信し、サーバー４０１がプリンタードライバー１０５２を使用して印刷ジョブを作成する。ＳＳＲはサーバー４０１が印刷処理を行うので、クライアント４０２の処理能力が低くても快適に印刷できる。しかしながら、サーバー４０１への負荷が大きくなるのと、すべてのクライアントの情報がサーバー４０１に送信できるわけではないので、印刷ジョブのデータが不完全になることがある。ＣＳＲとＳＳＲのどちらを選択するかは、サーバー４０１のレジストリデータベース２０４のスイッチで切り替えることができる。
【００３２】
クライアントに直接Ｖ４プリンタードライバーがインストールされていない状態では必ずＳＳＲとして動作する。その理由を説明する。Ｖ４プリンタードライバーの場合は、クライアントからサーバー４０１に接続すると、クライアント４０２にすべてのプリンタードライバー１０５２がダウンロードされるわけではない。機種依存ファイル２０７とプロパティバッグ３１４がダウンロードされるだけで、デバイスアプリ３０７や各フィルターはダウンロードされない。デバイスアプリ３０７や各フィルターは、クライアント４０２に直接Ｖ４プリンタードライバーをインストールすることで、共有プリンター環境でも使用できるようになる。デバイスアプリ３０７は、別途外部からインストールすることも可能である。このように、Ｖ４プリンタードライバーでは、共有プリンター環境において、クライアントに直接Ｖ４プリンタードライバーがインストールされていない状態では、フィルターが存在しないことになるので、必ずＳＳＲとして動作する。
【００３３】
一方、クライアントに直接Ｖ４プリンタードライバーがインストールされている状態であれば、動作させるために不足しているファイルやモジュールは、インストールされたＶ４プリンタードライバーをそのまま使用することができるので、ＣＳＲとしても動作させることができる。クライアント４０２に直接Ｖ４プリンタードライバーをインストールする手段としては、通常のプリンタードライバーのインストールと同じように入れる方法と、クラウドにあるＷｉｎｄｏｗｓ（登録商標）Ｕｐｄａｔｅサーバーからダウンロードしてインストールする方法がある。クライアント４０２は、サーバー４０１の共有プリンターに接続するときに、サーバー４０１からプリンタードライバー１０５２をダウンロードする前にクラウドのサーバーを確認し、クラウドのサーバーにＶ４プリンタードライバーがあれば、優先してダウンロードする。
【００３４】
次に、本実施例の中心となるＶ４プリンタードライバーの共有プリンター環境の展開と更新について、図６と図５、図７のフローチャートを用いて説明する。
【００３５】
図６のフローチャートでは、Ｖ４プリンタードライバーのインストーラの動作について説明する。本明細書で述べるインストーラは、Ｖ４プリンタードライバーをインストールするための、アプリケーション１０５１である。また、インストーラは、インストールされるＶ４プリンタードライバーと、更新用のＶ３プリンタードライバーを内部に保持している。
【００３６】
サーバー４０１上において、Ｖ４プリンタードライバーのインストーラは、オペレーティングシステム１０５３に対して、Ｖ４プリンタードライバーのインストールを行う（Ｓ６０１）。Ｖ４プリンタードライバーは、Ｖ３プリンタードライバーとは機種名が異なるため、基本的にはＶ３プリンタードライバーとは別のプリンターとしてインストールされる。Ｖ４プリンタードライバーの機種名が、Ｖ３プリンタードライバーと完全に同じだった場合は、強引にＶ３プリンタードライバーを上書きすることも可能だが、レジストリデータベース２０４が不整合を起こすなど、正しく動作しないケースも多く、元に戻すことも困難である。そのため、Ｖ４プリンタードライバーの機種名は、Ｖ３プリンタードライバーと一致しないようにするのが一般的である。
【００３７】
Ｖ４プリンタードライバーのインストーラは、Ｖ４プリンタードライバーを共有するかどうかをユーザーからの指示によって決定する（Ｓ６０２）。Ｖ４プリンタードライバーを共有するときは、Ｖ４プリンタードライバーのインストーラは、すでにサーバー４０１上において、インストールされているＶ３プリンタードライバーを検索する。Ｖ４プリンタードライバーのインストーラは、検索されたＶ３プリンタードライバーのうち、インストールしたＶ４プリンタードライバーと同じ機種があるかどうかを判定する（Ｓ６０３）。Ｖ４プリンタードライバーのインストーラは、同じ機種かどうかを判定するために、Ｖ４プリンタードライバーの機種名と、Ｖ３プリンタードライバーの機種名の関連づけテーブルを持っており、このテーブルで判定する。次に、Ｖ４プリンタードライバーのインストーラは、該当したＶ３プリンタードライバーが共有されているかどうかを判定する（Ｓ６０４）。Ｖ３プリンタードライバーが共有されていれば、Ｖ４プリンタードライバーのインストーラは、すでにサーバー４０１にインストールされているＶ３プリンタードライバーが、後述する図７の処理に従ってＶ４プリンタードライバーをインストールすることができるバージョンかどうかをチェックする（Ｓ６０５）。クライアントでＶ４プリンタードライバーのインストールが可能なバージョン以降のドライバーがインストールされていなければ、Ｖ４プリンタードライバーのインストーラは、サーバー４０１のＶ３プリンタードライバーを、自分が持っているＶ３プリンタードライバーの最新版を更新インストールする（Ｓ６０６）。サーバー４０１のＶ３プリンタードライバーを更新すると、後述する図５のフローチャートに従って、クライアント４０２のＶ３プリンタードライバーも順次更新される。最後にＶ４プリンタードライバーのインストーラは、Ｖ３プリンタードライバーのレジストリデータベース２０４に、Ｓ６０１でインストールしたＶ４プリンタードライバーに対応する共有キュー名を記載する（Ｓ６０７）。これによって、サーバーのＶ３プリンタードライバーのデータベースに、Ｖ４プリンタードライバーに対応する論理プリンターのパスが追加される。
【００３８】
図６の処理によって、サーバー４０１に、Ｖ４プリンタードライバーがインストールされ、必要があればＶ３プリンタードライバーも更新されて、準備が完了する。
【００３９】
次に図５のフローチャートを用いて、サーバー４０１のオペレーティングシステム１０５３が、どのように共有プリンターのプリンタードライバー１０５２を更新するのかを説明する。
【００４０】
サーバー４０１でプリンタードライバー１０５２が更新インストールされるもしくはプリンタードライバー１０５２のレジストリデータベースが更新される（Ｓ５０１）と、サーバー４０１は共有プリンターの更新処理に入る。次に、サーバー４０１はプリンタードライバー１０５２が共有プリンターとして共有されているかどうかを判定する（Ｓ５０２）。共有プリンターであれば、サーバー４０１は共有プリンターのレジストリデータベース２０４に、更新インストールがされたことを示す更新フラグを立てる（Ｓ５０３）。クライアント４０２のオペレーティングシステム１０５３は、定期的にサーバー４０１の更新フラグを監視しており、更新フラグが変わっていることを検知したら、サーバー４０１に更新要求を行う。
【００４１】
サーバー４０１は、接続されているクライアント４０２から更新要求が来ると（Ｓ５０４でＹｅｓ）、まずは、プリンタードライバー１０５２が更新インストールされたかどうかを確認する（Ｓ５０５）。更新インストールかどうかについては、すでにサーバー４０１にインストールされているプリンタードライバー１０５２の中に、同じアーキテクチャで同じ機種名のドライバーがあるかどうかを判定している。更新インストールであれば、更新要求に応答して更新されたプリンタードライバー１０５２のファイルやモジュールをクライアント４０２に送信する（Ｓ５０６）。このＳ５０６の処理によって図６のＳ６０６で更新されたＶ３プリンタードライバーが、クライアント４０２にも送信され、クライアント４０２のＶ３プリンタードライバーも更新される。
【００４２】
また、サーバー４０１は、更新されたレジストリデータベース２０４の情報も、クライアント４０２に送信する（Ｓ５０７）。このＳ５０７の処理によって図６のＳ６０７でサーバー４０１のレジストリデータベースに追加された共有キュー名が、クライアント４０２のレジストリデータベースにも追加される。このように、サーバーのＶ３プリンタードライバーのデータベースに論理プリンターのパスが追加されることにより、クライアントのＶ３プリンタードライバーのデータベースにも論理プリンターのパスが追加される。
【００４３】
サーバー４０１はクライアント４０２から更新要求を常に待っていて、クライアント４０２の更新要求に応答して更新ファイルやデータを返すようにすることで、接続されている多数のクライアント４０２をすべて把握しておかなくてもいいようになっている。このようにして、共有プリンター環境では、オペレーティングシステム１０５３が、サーバー４０１のプリンタードライバー１０５２が更新されると、自動的にクライアント４０２のプリンタードライバー１０５２の更新を行う。
【００４４】
次にクライアント４０２にインストールされたＶ３プリンタードライバーが、サーバー４０１で共有されているＶ４プリンタードライバーをインストールする方法を、図７のフローチャートに従って説明する。クライアント４０２のＶ３プリンタードライバーは、ユーザーの操作によって印刷処理を開始する（Ｓ７０１）。印刷処理が完了すると、クライアント４０２のＶ３プリンタードライバーは、レジストリデータベース２０４に、後述するＳ７０９の処理によるインストール完了フラグがたっているかどうかを確認する（Ｓ７０２）。立っていなければ、Ｖ３プリンタードライバーは、レジストリデータベース２０４に、Ｖ４プリンタードライバーの共有キュー名が記載されているかどうかを確認する（Ｓ７０３）。
【００４５】
この共有キュー名は、図５のＳ５０７の処理によりサーバー４０１のレジストリデータベース２０４から共有されている。共有キュー名が記載されていれば、Ｖ３プリンタードライバーは、現在のクライアント４０２の環境がＶ４プリンタードライバーをインストールできる環境かどうかをチェックする（Ｓ７０４）。Ｖ４プリンタードライバーは、比較的新しいオペレーティングシステム１０５３にしかインストールできないので、Ｖ３プリンタードライバーが動作しているすべての環境でインストールできるとは限らない。そこで、Ｖ３プリンタードライバーは、Ｖ４プリンタードライバーがインストールできるオペレーティングシステム１０５３のバージョンかどうかをチェックする。
【００４６】
インストールできる環境ならば、Ｖ３プリンタードライバーはトーストを表示して、ユーザーに対して新しいドライバーが見つかったことについて通知を行う（Ｓ７０５）。トーストは図８に示すもので、クライアント４０２のディスプレイ画面に一定時間表示される。トーストはＶ４プリンタードライバーをインストールするかどうかをユーザーに確認する確認画面として機能し、タップされることでユーザーからＶ４プリンタードライバーをインストールする指示を受け付ける。
【００４７】
Ｖ３プリンタードライバーは、ユーザーによってトーストがマウスやタッチパネルなどでタップされたかどうかを判定する（Ｓ７０６）。タップされた場合、レジストリデータベース２０４に記載された共有キュー名に記載されているサーバー４０１からＶ４プリンタードライバーをインストールするようにオペレーティングシステム１０５３に指示する（Ｓ７０７）。ここで共有キュー名に記載されたＶ４プリンタードライバーは図６のＳ６０１でサーバー４０１にインストールされたプリンタードライバーである。このようにクライアントは、Ｖ３プリンタードライバーが動作することにより、クライアントのＶ３プリンタードライバーのデータベースに追加された論理プリンターのパスに従ってＶ４プリンタードライバーをインストールする。なお、前述したように、クラウドに同一機種のＶ４プリンタードライバーがあれば、クラウドのサーバーからインストールすることも可能である。
【００４８】
インストールが完了すると、Ｖ３プリンタードライバーはトーストを表示して、インストールが完了したことをユーザーに通知する（Ｓ７０８）。トーストはＶ４プリンタードライバーがインストールされたことをユーザーに通知する通知画面として機能し、図９に示すもので、ＸＸＸＸにはレジストリデータベース２０４に記載された共有キュー名が表示される。
【００４９】
Ｖ４プリンタードライバーのインストールが完了すると、Ｖ３プリンタードライバーは、レジストリデータベース２０４に、インストール完了のフラグを立てる（Ｓ７０９）。このフラグを記載するレジストリデータベース２０４は、サーバー４０１と共有しているデータではなく、クライアント４０２専用の領域に対して保存する。フラグを保存することで、次の印刷時には再度Ｖ４プリンタードライバーをインストールしないようにする。
【００５０】
このようにして、共有プリンター環境のクライアント４０２のＶ３プリンタードライバーは、印刷時に同一機種のＶ４プリンタードライバーを自動的にインストールする。
【００５１】
なお、クライアント４０２のＶ３プリンタードライバーは、レジストリデータベース２０４に完了フラグが立っていると、Ｖ３プリンタードライバーのユーザーインターフェースが表示されたときに、ユーザーに注意を喚起するようにメッセージボックスを表示しても良い（図１０）。
【００５２】
また、クライアント４０２のＶ３プリンタードライバーは、Ｓ７０１で印刷処理が完了したときからＶ４プリンタードライバーのインストールを開始していたが、Ｓ７０１の代わりに、デバイスアプリ３０７のユーザーインターフェースを表示したときをトリガーとして、インストールを開始してもよい。
【００５３】
また、クライアント４０２のＶ３プリンタードライバーは、Ｓ７０５でトーストを表示して、ユーザーにインストールするかどうかの選択を委ねていたが、Ｓ７０５とＳ７０６をスキップして、ユーザーに確認することなくＶ４プリンタードライバーをインストールしてもよい。
【００５４】
また、クライアント４０２のＶ３プリンタードライバーは、Ｖ４プリンタードライバーのインストールがすべて完了後に、自分自身をアンインストールするようにオペレーティングシステムに指示をして、インストールしたＶ４プリンタードライバーだけの環境にするようにしてもよい。
【００５５】
このように、クライアント４０２のＶ３プリンタードライバーが、自動的にサーバー４０１のＶ４プリンタードライバーの共有プリンターキューに接続してインストールすることで、クライアント４０２でユーザーが操作することなく、Ｖ４プリンタードライバーのインストールが完了する。また、ユーザーは、自動的にインストールされたことを知ることができるので、速やかに新しいプリンタードライバーに移行することが可能である。そして、クライアント４０２の環境においては、オペレーティングシステム１０５３を変更することなく、サービスや常駐するアプリケーションなどもないので、セキュリティ意識の高い大規模な企業環境でも、導入が容易である。サーバー４０１は、クライアント４０２に関連したデータベースを持つ必要もないので、管理コストを抑えることもできる。
【００５６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５７】
１０５２  プリンタードライバー
２０４  レジストリデータベース
４０１  サーバー
４０２  クライアント
【図１】
2018147124.tif 000003
【図２】
2018147124.tif 000004
【図３】
2018147124.tif 000005
【図４】
2018147124.tif 000006
【図５】
2018147124.tif 000007
【図６】
2018147124.tif 000008
【図７】
2018147124.tif 000009
【図８】
2018147124.tif 000010
【図９】
2018147124.tif 000011
【図１０】
2018147124.tif 000012