(57)【特許請求の範囲】
【請求項１】
サーバー装置とクライアント装置がネットワークを介して接続されたネットワークシステムであって、
前記サーバー装置が、前記クライアント装置からの要求に応じて、共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報を送信する送信手段を有し、
前記クライアント装置が、
ポイントアンドプリントを用いてインストールされた、前記サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、前記サーバー装置に対して前記識別情報の要求を行う要求手段と、
前記要求に応じて送信された識別情報を用いて、前記機種固有のプリンタードライバーのインストールの制御を行う制御手段と、を有することを特徴とするネットワークシステム。
【請求項２】
前記要求手段は、前記サーバー装置において共有設定されたプリンターに対応する機種固有のプリンタードライバーが前記クライアント装置にインストールされていない際に、当該機種固有のプリンタードライバーに更新するために、前記サーバー装置に対して前記識別情報の要求を行うことを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記要求手段による要求が行われるタイミングは、プリンタードライバーのインストール時、初めて使用する時、及び使用する都度のいずれかのタイミングであることを特徴とする請求項１または２に記載のネットワークシステム。
【請求項４】
前記クライアント装置が、さらに、前記要求手段による要求を行わないように設定する設定手段を有することを特徴とする請求項１乃至３のいずれか１項に記載のネットワークシステム。
【請求項５】
前記サーバー装置が、オペレーティングシステムの機能として前記送信手段を提供することを特徴とする請求項１乃至４のいずれか１項に記載のネットワークシステム。
【請求項６】
前記機種固有のプリンタードライバーは、前記ネットワークにおける配信システムから配信されることを特徴とする請求項１乃至５のいずれか１項に記載のネットワークシステム。 
【請求項７】
前記クライアント装置において前記ポイントアンドプリントを用いてインストールされる基本ドライバーは、当該クライアント装置のオペレーティングシステムによりインボックスドライバーとして管理されるプリンタードライバーであることを特徴とする請求項１乃至６のいずれか１項に記載のネットワークシステム。
【請求項８】
サーバー装置とクライアント装置がネットワークを介して接続されたネットワークシステムにおける方法であって、
前記サーバー装置が、前記クライアント装置からの要求に応じて、共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報を送信する送信工程を有し、
前記クライアント装置が、
ポイントアンドプリントを用いてインストールされた、前記サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、前記サーバー装置に対して前記識別情報の要求を行う要求工程と、
前記要求に応じて送信された識別情報を用いて、前記機種固有のプリンタードライバーのインストールの制御を行う制御工程と、を有することを特徴とする方法。
【請求項９】
サーバー装置とネットワークを介して接続されたクライアント装置であって、
ポイントアンドプリントを用いてインストールされた前記サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、前記共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報の要求を行う要求手段と、
前記要求に応じて送信された識別情報を用いて、前記機種固有のプリンタードライバーのインストールの制御を行う制御手段と、を有することを特徴とするクライアント装置。 
【請求項１０】
前記要求手段は、前記共有設定されたプリンターに対応する機種固有のプリンタードライバーが前記クライアント装置にインストールされていない場合に、当該機種固有のプリンタードライバーに更新するために、前記サーバー装置に対して前記識別情報の要求を行うことを特徴とする請求項９に記載のクライアント装置。
【請求項１１】
前記要求手段による要求が行われるタイミングは、プリンタードライバーのインストール時、初めて使用する時、及び使用する都度のいずれかのタイミングであることを特徴とする請求項９または１０に記載のクライアント装置。
【請求項１２】
前記要求手段による要求を行わないように設定する設定手段をさらに有することを特徴とする請求項９乃至１１のいずれか１項に記載のクライアント装置。
【請求項１３】
前記機種固有のプリンタードライバーは、前記ネットワークにおける配信システムから配信されることを特徴とする請求項９乃至１２のいずれか１項に記載のクライアント装置。
【請求項１４】
前記ポイントアンドプリントを用いてインストールされる基本ドライバーは、当該クライアント装置のオペレーティングシステムによりインボックスドライバーとして管理されるプリンタードライバーであることを特徴とする請求項９乃至１３のいずれか１項に記載のクライアント装置。
【請求項１５】
サーバー装置とネットワークを介して接続されたクライアント装置における方法であって、
ポイントアンドプリントを用いてインストールされた前記サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、前記共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報の要求を行う要求工程と、
前記要求に応じて送信された識別情報を用いて、前記機種固有のプリンタードライバーのインストールの制御を行う制御工程と、を有することを特徴とする方法。
【請求項１６】
請求項９乃至１４のいずれか１項に記載の手段としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタードライバーのインストールの技術に関するものである。
【背景技術】
【０００２】
近年、オフィスにおけるコンピューターや各種デバイスのネットワーク化に伴い、１台のプリンターを複数のクライアントコンピュータで共有して使用している。マイクロソフト社のWindows（登録商標）によって構築されたネットワークシステムにおいては、Point&Print（ポイントアンドプリント）と呼ばれるプリンタードライバーのインストール方法が一般的に用いられている。このポイントアンドプリントの仕組みにより、一般のユーザはプリンタードライバーのインストールメディアを用意したり、プリンターのＩＰアドレスを予め調べたりする手間が必要なく、容易に共有プリンターを使用することができる。
【０００３】
また、企業内のシステムでは、システムの管理コストを削減するために、クライアントコンピュータにインストールして良いプリンタードライバーを厳密に管理している場合が多い。そのため、ポイントアンドプリントの仕組みを使えば、システム管理者はクライアントコンピュータにおけるプリンタードライバーの管理が容易になる。
【０００４】
しかし、ポイントアンドプリントの仕組みには依然面倒な点がある。例えば、プリンタードライバーの機能を拡張するＡｄｄ−ｉｎモジュールなどプリンタードライバーのインストールセットに入っていないモジュールは、ポイントアンドプリントの仕組みではクライアントコンピュータに配信することが困難である。
【０００５】
そこで、上述の問題を解決する方法として、次のような技術が開示されている（例えば、特許文献１）。即ち、プリントサーバーに登録するドライバーのインストールセットに、予め指定されたステータスモニタやアンインストーラとそのインストール方法を指示するデータとを同梱しておく。すると、ポイントアンドプリントでクライアントコンピュータにプリンタードライバーをインストールした後に、そのプリンタードライバーにより、ステータスモニタやアンインストーラがインストールされる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３３８９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、プリントサーバーにインストールセットを登録した後から、システムの管理者が別のアプリケーションもプリンタードライバーとともにインストールしたくなる場合がある。しかしながら、上述した従来の方法では、こういった場合、プリンタードライバーのインストールセットを作り直してプリントサーバーに再登録する必要がある。
【０００８】
また、例えば、共有するプリンターを異なる機種のプリンターに替えたい場合には、該当するプリンタードライバーをプリントサーバーに再インストールする必要がある。
【０００９】
また、プリントサーバーにおいて上述したインストールセットの再登録などが行われた場合には、クライアントコンピュータにおけるユーザは、再度ポイントアンドプリントでプリンタードライバーをインストールし直す必要があり、大変面倒である。
【００１０】
このように、上述した従来のポイントアンドプリントの仕組みでは、ポイントアンドプリントでインストールしたい内容に変更がある場合には、煩雑な作業を伴うという課題がある。
【００１１】
そこで、本発明は、従来のポイントアンドプリントの仕組みを利用しつつ、従来よりも管理者にとっては容易な作業となるような、クライアントコンピュータにインストールされたプリンタードライバーをその時点での共有プリンターに対応した適切なプリンタードライバーに更新できる手法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、サーバー装置とクライアント装置がネットワークを介して接続されたネットワークシステムであって、
前記サーバー装置が、前記クライアント装置からの要求に応じて、共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報を送信する送信手段を有し、
前記クライアント装置が、
ポイントアンドプリントを用いてインストールされた、前記サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、前記サーバー装置に対して前記識別情報の要求を行う要求手段と、
前記要求に応じて送信された識別情報を用いて、前記機種固有のプリンタードライバーのインストールの制御を行う制御手段と、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、従来のポイントアンドプリントの仕組みを利用しつつ、従来よりも管理者にとっては容易な作業となるような、クライアントコンピュータにインストールされたプリンタードライバーをその時点での共有プリンターに対応した適切なプリンタードライバーに更新できる手法を提供できる。
【図面の簡単な説明】
【００１４】
【図１】ネットワークシステムの構成を示すブロック図。
【図２】クライアント装置やサーバー装置として機能するコンピューターの構成例を示すブロック図。
【図３】ネットワークシステムのモジュール構成を示すブロック図。
【図４】プリンタードライバーをインストールするインストール方法を示すシーケンス図。
【図５】プリンターオブジェクト属性５００のデータ構造の一例を示す図。
【図６】第２段階（Ｓ４０３〜Ｓ４０９）の詳細な処理を示すフローチャート。
【図７】第３段階（Ｓ４１０〜Ｓ４１９）の詳細な処理を示すフローチャート。
【図８】ドライバー更新処理の詳細を示すフローチャート。
【図９】共有プリンター情報９００のデータ構造の一例を示す図。
【図１０】機種固有プリンタードライバーの更新確認画面の一例を示す図。
【図１１】ネットワークシステムの他のモジュール構成例を示すブロック図。
【図１２】プリンタードライバー更新設定画面の一例を示す図。
【図１３】プリンタードライバー更新設定１３００のデータ構造の一例を示す図。
【図１４】基本プリンタードライバー３１３の初期化処理の詳細を示すフローチャート。
【図１５】起動回数により更新タイミングを判定する例を示す図。
【図１６】機種ドライバー更新印刷中確認画面の一例を示す図。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。本実施形態では、クライアント装置、プリントサーバー、及びプリンターがネットワークを介して接続されたネットワークシステムにおいて、プリンタードライバーをクライアント装置にインストールする処理を説明する。
【００１６】
［第１の実施形態］
本発明を適用可能な第１の実施形態におけるネットワークシステムの構成を図１に示すブロック図を用いて説明する。この例では、オペレーティングシステムとしてマイクロソフト社のWindows（登録商標）のプリンティングシステムを例とする。尚、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。また、単体の機器であっても、複数の機器からなるシステムであってもよいし、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークを介して接続され処理が行われるシステムであってもよい。
【００１７】
本実施形態に係るネットワークシステムは、プリンター１０１、プリントサーバー１０２、クライアント装置（クライアントＰＣ）１０３及び配信サーバー１０４を有する。「ＰＣ」はパーソナルコンピュータの略である。プリンター１０１、プリントサーバー１０２、クライアントＰＣ１０３、及び配信サーバー１０４は、ＬＡＮ、ＷＡＮなどのネットワーク１０５を介してお互いに通信可能に接続されている。
【００１８】
プリンター１０１は、印刷ジョブを印刷する機能を有する。また、単機能のプリンターでもよいし、複合機能の周辺機器の印刷部であってもよい。
【００１９】
プリントサーバー１０２は、クライアントＰＣ１０３が発行した印刷ジョブを管理し、ネットワーク１０５や不図示のＵＳＢなどのローカルポートを介して接続されているプリンター１０１を管理する機能を有する。また、ポイントアンドプリントでクライアントＰＣ１０３に配信されるプリンタードライバーを管理する。
【００２０】
クライアントＰＣ１０３は、プリンター１０１に対して印刷指示を行う機能を有する。アプリケーションが印刷指示を行うと、プリントサーバー１０２を介してプリンター１０１に印刷ジョブを送出する。
【００２１】
配信サーバー１０４は、プリンタードライバーを配信する機能を有する。プリントサーバー１０２又はクライアントＰＣ１０３からプリンタードライバーセットの配信を要求されると、ネットワーク１０５を介して配信する。マイクロソフト社が運営するWindowsUpdateなどは配信サーバー１０４の例である。
【００２２】
次に、クライアント装置（クライアントＰＣ１０３）やサーバー装置（プリントサーバー１０２及び配信サーバー１０４）として機能するコンピューターの構成を図２に示すブロック図を用いて説明する。ＣＰＵ２０１は、主記憶装置２０２のＲＯＭ２０２１やＲＡＭ２０２２又は補助記憶装置２０５に格納されたプログラムに従って装置全体を制御する。ＲＡＭ２０２２は、ＣＰＵ２０１が各種処理を行う際にワークエリアとしても使用される。補助記憶装置２０５は、オペレーティングシステム（ＯＳ）２０５３やプリンタードライバー２０５２又はアプリケーションソフト２０５１などを記憶する。
【００２３】
キーボード２０３１やマウス、タッチパネルなどに代表されるポインティングデバイス２０３２などの入力機器は、入力Ｉ／Ｆ２０３を通じて、ユーザがコンピューターに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ２０４は、データを外部に出力するためのインタフェースであり、モニタ２０４１やプリンター２０４２などの出力機器に対してデータを出力する。プリンター２０４２とは、直接接続されるローカルＩ／Ｏのみならず、通信Ｉ／Ｆ２０６を通じて接続されるネットワーク１０５を通して接続されていてもよい。また、共通データシステムバス２０７を介してモジュール間でそれぞれデータの授受が行われる。
【００２４】
ここで、図１に示すネットワークシステムのモジュール構成を図３に示すブロック図を用いて説明する。プリントサーバー１０２は、スプーラなどの含むプリントシステム３０１と、基本プリンタードライバー３０２と、ドライバー情報サービス３０３とを有する。 
【００２５】
プリントシステム３０１はＯＳの一部で、接続しているプリンター１０１を共有プリンターとして提供し、クライアントＰＣ１０３から印刷ジョブを受け取り、プリンター１０１に出力する。また、クライアントＰＣ１０３からの要求により、共有プリンターに関連付けられた基本プリンタードライバー３０２を配信する。
【００２６】
プリンタードライバーには、基本プリンタードライバーと機種固有(model-specific)プリンタードライバーとがある。
【００２７】
基本プリンタードライバー（クラスドライバーとも呼ばれる）は、機種を特定しない汎用的なプリンタードライバーであり、一般的には特定のＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）をサポートする多くのプリンターに印刷できる。例えば、一般的にジェネリックプリンタードライバーと呼ばれるプリンタードライバーは、基本プリンタードライバーの一種である。基本プリンタードライバーがインストールされていれば、機種毎にプリンタードライバーをインストールする必要はない。しかし、基本プリンタードライバーでは、のちに開発されたオプション機器などの制御方法は組み込まれていない。そのため、機種固有の機能を使うことはできず、機種毎に制御方法に違いがないような基本的な機能を中心に機能が組み込まれている。
【００２８】
また、基本プリンタードライバーは、コンピューターで動作するＯＳにより、インボックスドライバーとして管理される場合もある。通常のデスクトップＰＣやノートＰＣとは異なるタブレットＰＣなどの携帯端末においては、インボックスドライバーとしての基本ドライバーのみを利用することが前提となっている場合もある。
【００２９】
一方、機種固有プリンタードライバーは、特定の機種に対応し、その機種固有の機能が使えるプリンタードライバーである。ドライバー情報サービス３０３は、プリンター１０１の機種固有プリンタードライバー情報を提供する。
【００３０】
クライアントＰＣ１０３は、アプリケーション３１１、プリントシステム３１２、基本プリンタードライバー３１３、及び機種固有プリンタードライバー３１４を有する。アプリケーション３１１は、ユーザの印刷指示により印刷データをプリントシステム３１２に出力する。Windows（登録商標）のプリンティングシステムでは、ＧＤＩコマンド又はＸＰＳデータが印刷データとして用いられている。プリントシステム３１２はＯＳの一部で、アプリケーション３１１から受け取った印刷データを基本プリンタードライバー３１３及び機種固有プリンタードライバー３１４へ出力する。
【００３１】
基本プリンタードライバー３１３及び機種固有プリンタードライバー３１４は、プリントシステム３１２から印刷データを受け取り、プリンター１０１が認識可能な制御コマンド、例えばページ記述言語（ＰＤＬ）に変換する。変換されたプリンター制御コマンドは、プリントシステム３１２からプリントサーバー１０２のプリントシステム３０１を経てプリンター１０１へ印刷データとして出力される。
【００３２】
次に、図４のシーケンス図を用いて、プリンタードライバーをインストールする方法について説明する。
【００３３】
図４に示すシーケンスにおいて大きく分けると、次の３段階の工程からなる。第１段階では、プリントサーバー１０２において、基本プリンタードライバー３０２のインストールと共有設定が行われる（Ｓ４０１〜Ｓ４０２）。第２段階では、ポイントアンドプリントの仕組みでプリントサーバー１０２から基本プリンタードライバー３０２をクライアントＰＣ１０３に配信して、インストールが行われる（Ｓ４０３〜Ｓ４０９）。第３段階では、クライアントＰＣ１０３において、インストールされた基本プリンタードライバー３１３が、初期化処理の際に機種固有プリンタードライバー３１４に更新されるよう、プリントシステム３１２への指示が行われる（Ｓ４１０〜Ｓ４１９）。
【００３４】
まず、第１段階（Ｓ４０１〜Ｓ４０２）の処理を説明する。システム管理者がプリンター１０１をサポートする基本プリンタードライバー３０２をプリントサーバー１０２にインストールする（Ｓ４０１）。インストール時には、プリンター１０１を接続したポートを指定する。例えば、ＵＳＢ接続の場合は「ＵＳＢ００１」などのポートを設定し、ＴＣＰ／ＩＰ接続の場合はプリンター１０１のＩＰアドレスのＴＣＰ／ＩＰポートを設定する。すると、プリントシステム３０１は、プリンター１０１に対応したプリンターオブジェクトを作成してコントロールパネルに表示し、プリンターオブジェクト毎にプリンターオブジェクト属性５００を設定する。
【００３５】
図５は、プリンターオブジェクト属性５００のデータ構造の一例を示す。プリンターオブジェクト属性５００には、プリンターオブジェクト名５０１、プリントキュー５０２、ドライバー識別子５０３、ドライバーバージョン５０４、ポート情報５０５が含まれる。更に、プリンターオブジェクト属性５００には、共有設定５０６、プリンター属性５０７、デフォルト印刷属性５０８などが含まれる。
【００３６】
プリンターオブジェクト名５０１は、プリンターオブジェクトをユーザが識別するための名称である。インストール直後には、プリンタードライバーのモデル名が設定されるが、ユーザが任意に変更できる。プリントキュー５０２は、スプールした印刷ジョブを格納するプリントキューのファイル名である。プリンターオブジェクトを作成する時にプリントシステム３０１が補助記憶装置２０５に一意のプリントキューファイルを作成し、変更不可である。ドライバー識別子５０３とドライバーバージョン５０４は、プリンターオブジェクトに関連付けられたプリンタードライバーを一意に特定可能な識別情報とバージョン番号である。プリンタードライバーの新規インストール時や更新時に、プリントシステム３０１がインストールされたプリンタードライバーの識別情報とバージョン番号を設定する。
【００３７】
ポート情報５０５は、プリンター１０１を接続したポートの種別やポート名などの情報である。インストール時に指定したポートに関する情報をプリントシステム３０１が設定するが、プリンターの接続ポートに合わせてユーザが変更することも可能である。共有設定５０６は、共有するかどうか、共有名、共有を許可するユーザグループに対するアクセス権の設定を含む。プリンター属性５０７とデフォルト印刷属性５０８は、プリンターオブジェクトに関連付けられたプリンタードライバーによって設定される属性である。プリンター属性５０７は、プリンター１０１のオプション構成などプリンター１０１に応じて設定される。デフォルト印刷属性５０８は、アプリケーションが印刷する場合に使われる印刷属性の初期値である。
【００３８】
プリンターオブジェクトが作成されると、システム管理者は更に、プリンターオブジェクトの共有設定５０６の設定を行う（Ｓ４０２）。プリントサーバー１０２で共有設定されたプリンターオブジェクトは、クライアントＰＣ１０３上で表示することができる。
【００３９】
次に、図４の第２段階（Ｓ４０３〜Ｓ４０９）の処理を説明する。一般ユーザは、クライアントＰＣ１０３において、プリントサーバー１０２の共有プリンターを表示し、Ｓ４０２で設定した共有名のプリンターオブジェクトを選択して接続コマンドを実行する。すると、クライアントＰＣ１０３のプリントシステム３１２が、選択された共有プリンターに関する情報をプリントサーバー１０２に対して要求する（Ｓ４０３）。
【００４０】
ここで、図９は、共有プリンターに関する情報（共有プリンター情報９００）のデータ構造の一例を示す。共有プリンター情報９００は、サーバー名９０１、プリンター名９０２、ドライバー識別子９０３、ポート情報９０４を含む。サーバー名９０１は、ネットワーク１０５上でプリントサーバー１０２を一意に表す名称である。プリンター名９０２は、Ｓ４０２で設定した共有プリンターの共有名である。ドライバー識別子９０３は、共有プリンターに関連付けられたプリンタードライバーを一意に特定可能な識別情報である。ポート情報９０４は、プリントサーバー１０２上のプリンターオブジェクトのポート設定である。
【００４１】
プリントサーバー１０２のプリントシステム３０１が要求を受け取ると、指定された共有プリンターの情報をクライアントＰＣ１０３に通知する（Ｓ４０４）。これにより、クライアントＰＣ１０３のプリントシステム３１２が、共有プリンター情報９００を取得でき、ドライバー識別子９０３が示すプリンタードライバー（つまり、基本プリンタードライバー３０２）に関する検索処理を実行する（Ｓ４０５）。必要に応じて、クライアントＰＣ１０３のプリントシステム３１２は、ドライバー識別子９０３が示すプリンタードライバーのドライバーセットをプリントサーバー１０２に要求する（Ｓ４０６）。プリントサーバー１０２のプリントシステム３０１は、要求を受けると、指定されたプリンタードライバーのドライバーセットをクライアントＰＣ１０３に配信する（Ｓ４０７）。
【００４２】
なお、Ｓ４０５において、クライアントＰＣ１０３は、Ｓ４０４で受信した共有プリンター情報９００に対応する基本プリンタードライバーを、クライアントＰＣ１０３のＯＳにより管理されるインボックスドライバーから検索し選択してもよい。この場合には、Ｓ４０６、Ｓ４０７におけるクライアントＰＣ１０３とプリントサーバーとのプリンタードライバーの要求処理と配信処理が省略される。
【００４３】
クライアントＰＣ１０３のプリントシステム３１２は、プリントサーバー１０２から受け取ったドライバーセット、またはインボックスドライバーとしてＯＳに管理されていたプリンタードライバーをインストールする（Ｓ４０８）。更に、プリントシステム３１２は、プリントサーバー１０２の選択した共有プリンター（つまり、プリンター１０１）に対応したプリンターオブジェクトを作成してコントロールパネルに表示し、属性を設定する（Ｓ４０９）。
【００４４】
最後に、図４の第３段階（Ｓ４１０〜Ｓ４１９）の処理を説明する。基本プリンタードライバー３１３のインストール後、クライアントＰＣ１０３のプリントシステム３１２は基本プリンタードライバー３１３の初期化処理を呼び出す（Ｓ４１０）。
【００４５】
基本プリンタードライバー３１３の初期化処理では、従来の初期化処理を行った後、ポート情報５０５が示すポートに接続されているプリンター１０１の機種固有プリンタードライバーの識別子をプリントサーバー１０２に対して要求する（Ｓ４１１）。プリントサーバー１０２のドライバー情報サービス３０３が要求を受け取ると、指定されたポートに接続されているプリンター１０１に機種固有プリンタードライバーの識別子を要求する（Ｓ４１２）。プリンター１０１が要求を受け取ると、プリントサーバー１０２にプリンター１０１の機種固有プリンタードライバーの識別子を送信する（Ｓ４１３）。
【００４６】
プリントサーバー１０２のドライバー情報サービス３０３がプリンター１０１から機種固有プリンタードライバーの識別子を取得すると、クライアントＰＣ１０３に通知する（Ｓ４１４）。これにより、クライアントＰＣ１０３の基本プリンタードライバー３１３が、機種固有プリンタードライバーの識別子を取得する。取得した識別子は、機種固有プリンタードライバー３１４を示す。クライアントＰＣ１０３の基本プリンタードライバー３１３は、プリンターオブジェクトに関連付けられたプリンタードライバーを、機種固有プリンタードライバー３１４で更新するように、プリントシステム３１２に指示する。
【００４７】
クライアントＰＣ１０３のプリントシステム３１２は、指示されたドライバー識別子が示すプリンタードライバー（即ち、機種固有プリンタードライバー３１４）に関する検索処理を実行する（Ｓ４１５）。必要に応じて、クライアントＰＣ１０３のプリントシステム３１２が機種固有プリンタードライバー３１４のドライバーセットを配信システム（配信サーバー１０４）に要求する（Ｓ４１６）。配信システムは、ベンダーごと、または複数ベンダーのプリンタードライバーや関連ソフトウェアを一括して管理して、クライアントＰＣ１０３にネットワークを介して配信可能なシステムである。この配信サーバー１０４が要求を受けると、機種固有プリンタードライバー３１４のドライバーセットをクライアントＰＣ１０３に配信する（Ｓ４１７）。クライアントＰＣ１０３のプリントシステム３１２は、受け取ったドライバーセットをインストールする（Ｓ４１８）。更に、クライアントＰＣ１０３のプリントシステム３１２は、更新対象のプリンターオブジェクトの属性を更新する（Ｓ４１９）。
【００４８】
なお、本処理においては、クライアントＰＣ１０３がＳ４１１〜Ｓ４１４の処理でプリントサーバー１０２から機種固有プリンタードライバーの識別子を取得している。しかしながら、Ｓ４０３、Ｓ４０４のタイミングで、共有プリンター情報９００の一部、またはその追加情報として、機種固有プリンタードライバーの識別子に相当する情報をクライアントＰＣ１０３がプリントサーバー１０２から取得するようにしてもよい。この場合は、Ｓ４１８、Ｓ４１９における更新処理のためのＳ４１１〜Ｓ４１４の処理が省略可能になる。
【００４９】
次に、図６で示すフローチャートを用いて、図４に示すシーケンス図の第２段階（Ｓ４０３〜Ｓ４０９）の詳細な処理を説明する。この処理は、クライアントＰＣ１０３においてプリントシステム３１２が基本プリンタードライバー３１３をインストールする処理の詳細である。
【００５０】
Ｓ６０１では、クライアントＰＣ１０３からのユーザ操作に応じて、プリントシステム３１２が、選択された共有プリンターに関する情報をプリントサーバー１０２に対して要求する。Ｓ６０２では、プリントシステム３１２がプリントサーバー１０２のプリントシステム３０１からの要求に応答して、指定された共有プリンターの共有プリンター情報９００を取得する。
【００５１】
Ｓ６０３では、プリントシステム３１２は、取得した共有プリンター情報９００に基づき、共有プリンター（この例では、プリンター１０１）に対応するプリンターオブジェクトが既に存在するかを検索する。Ｓ６０４で、プリントシステム３１２が、プリンターオブジェクトが既に作成済みであると判定した場合、この処理を終了する。
【００５２】
一方、Ｓ６０４で作成されていないと判定した場合はＳ６０５へ処理を進め、プリントシステム３１２は、取得した共有プリンター情報９００のドライバー識別子９０３が示す基本プリンタードライバー３０２がインストール済みであるかを検索する。そして、Ｓ６０６で、プリントシステム３１２が、基本プリンタードライバー３０２がインストール済みであると判定した場合はＳ６１０へ処理を進める。一方、インストールされていないと判定した場合はＳ６０７へ処理を進め、プリントシステム３１２はプリントサーバー１０２にドライバー識別子９０３が示すプリンタードライバーのドライバーセットを要求する。次に、Ｓ６０８で、プリントシステム３１２がプリントサーバー１０２のプリントシステム３０１からの応答として指定されたプリンタードライバーのドライバーセットを取得する。Ｓ６０９で、プリントシステム３１２は、受け取ったドライバーセットをインストールする。
【００５３】
なお、Ｓ６０７及びＳ６０８では、プリントサーバー１０２からプリンタードライバーを取得しているが、クライアントＰＣ１０３のＯＳがインボックスドライバーとして管理している基本プリンタードライバーを取得することで本処理を実現してもよい。その場合には、Ｓ６０７で、プリントシステム３１２が共有プリンター情報９００を用いて、インボックスドライバーの中から対応するプリンタードライバーを検索し、見つかったプリンタードライバーをＳ６０８で取得することになる。Ｓ６０９では、プリントシステム３１２が、インボックスドライバーとして管理されていた基本プリンタードライバーをインストールする。
【００５４】
次に、Ｓ６１０では、プリントシステム３１２がインストール済みのプリンタードライバーに対応するプリンターオブジェクトを作成する。具体的には、プリントサーバー１０２の選択した共有プリンター（この例では、プリンター１０１）に対応したプリンターオブジェクトがコントロールパネル上に作成される。そして、インストール済みの基本プリンタードライバー３１３をそのプリンターオブジェクトに関連付ける。プリントシステム３１２は、登録したプリンターオブジェクトの名称に共有プリンター情報９００のプリンター名９０２を設定する。また、登録したプリンターオブジェクトのポート設定に共有プリンター情報９００のポート情報９０４の示すポートを設定し、ユーザには変更できないようにする。以上の処理により、インストール処理を終了する。
【００５５】
次に、図７で示すフローチャートを用いて、図４に示すシーケンス図の第３段階（Ｓ４１０〜Ｓ４１９）の詳細な処理を説明する。この処理は、クライアントＰＣ１０３において基本プリンタードライバー３１３の初期化処理の詳細な処理である。
【００５６】
Ｓ７０１では、基本プリンタードライバー３１３が従来の初期化処理を行う。Ｓ７０２では、基本プリンタードライバー３１３が機種固有プリンタードライバー３１４に更新するか確認する画面を表示し、ユーザからの入力を受け付ける。基本プリンタードライバー３０２の機能で十分なシステムでは、機種固有プリンタードライバー３１４をあえて更新しないことは、次のような点で効果的である。つまり、プリンター１０１の機種によらず、操作感を統一可能である点、また同じプリンタードライバーをそのまま使用可能である点である。また、企業内システムにおいては、プリンタードライバーを更新するとアプリケーションの再評価が必要になることが多いが、これが不要になる。
【００５７】
ここで、機種固有プリンタードライバーを更新するか否かを確認するユーザインタフェース画面の一例を、図１０を用いて説明する。ユーザは、基本プリンタードライバー３１３を機種固有プリンタードライバー３１４に更新したい場合には「はい」ボタン１００１を押し、基本プリンタードライバー３１３のままにしておきたい場合には「いいえ」ボタン１００２を押す。
【００５８】
Ｓ７０３で、基本プリンタードライバー３１３が、機種固有プリンタードライバー更新確認画面１０００で「いいえ」ボタン１００２が押されたと判定した場合には、機種固有プリンタードライバー更新確認画面１０００を閉じて、この処理を終了する。
【００５９】
一方、「はい」ボタン１００１が押されたと判定した場合にはＳ７０４へ処理を進める。Ｓ７０４では、基本プリンタードライバー３１３は、ポート情報５０５が示すポートに接続されているプリンター１０１の機種固有プリンタードライバーの識別子をプリントサーバー１０２に対して要求する。Ｓ７０５で、基本プリンタードライバー３１３がプリントサーバー１０２のドライバー情報サービス３０３からの応答として機種固有プリンタードライバーの識別子を取得する。取得されたプリンタードライバー識別子は、機種固有プリンタードライバー３１４を示す。そして、Ｓ７０６で、基本プリンタードライバー３１３はプリンターオブジェクトに関連付けられたプリンタードライバーを機種固有プリンタードライバー３１４に更新するように、プリントシステム３１２に指示する。
【００６０】
次に、図８に示すフローチャートを用いて、クライアントＰＣ１０３におけるプリントシステム３１２のドライバー更新処理の詳細を説明する。
【００６１】
Ｓ８０１では、プリントシステム３１２は、指示されたドライバー識別子が示すプリンタードライバー（即ち、機種固有プリンタードライバー３１４）を検索し、登録済み（インストール済み）か否かを確認する。
【００６２】
Ｓ８０２で、プリントシステム３１２が、機種固有プリンタードライバー３１４が登録されていると判定した場合にはＳ８０６へ処理を進める。一方、機種固有プリンタードライバー３１４が登録されていないと判定した場合にはＳ８０３へ処理を進め、プリントシステム３１２は、機種固有プリンタードライバー３１４のドライバーセットを配信サーバー１０４に要求する。次に、Ｓ８０４で、プリントシステム３１２は、配信サーバー１０４からの応答として、機種固有プリンタードライバー３１４のドライバーセットを取得する。Ｓ８０５で、プリントシステム３１２は、受け取ったドライバーセットをインストールする。
【００６３】
次に、Ｓ８０６では、プリントシステム３１２は、インストールされた機種固有プリンタードライバー３１４の識別子とドライバーバージョンを、更新対象のプリンターオブジェクトのドライバー識別子５０３とドライバーバージョン５０４に設定する。
【００６４】
上述のように、プリントサーバー１０２に基本プリンタードライバー３０２をインストールしておき、ポイントアンドプリントでクライアントＰＣ１０３にプリンタードライバーをインストールする。すると、ドライバー情報サービス３０３を利用して機種固有プリンタードライバー３１４に自動的に更新される。従って、共有であるプリンター１０１の機種を変更しても、変更後の機種に対応した機種固有プリンタードライバー３１４をクライアントＰＣ１０３にインストールすることが実現可能となる。その場合に、プリントサーバー１０２は共有設定した基本プリンタードライバー３０２をインストールし直すなどの変更を行う必要がない。
【００６５】
［第２の実施形態］
第１の実施形態では、クライアントＰＣ１０３に基本プリンタードライバー３１３をインストールした直後に、適切な機種固有プリンタードライバー３１４に更新する場合を例に説明した。しかし、共有であるプリンター１０１の機種が変更されると、クライアントＰＣ１０３に以前インストールされた機種固有プリンタードライバー３１４は機種変更後のプリンター１０１に対応していないので、正しく印刷されない場合がある。プリンター１０１によってはハングアップする可能性もあり、問題である。
【００６６】
そこで、第２の実施形態では、機種固有プリンタードライバー３１４の起動時の初期化処理で図７に示すドライバー初期化処理を実行するように構成する。この構成により、共有であるプリンター１０１の機種が変更された場合、以前インストールされた機種固有プリンタードライバー３１４が、現在接続されているプリンター１０１に対応した機種固有プリンタードライバー３１４に自動的に更新されるようになる。
【００６７】
［第３の実施形態］
第１及び第２の実施形態では、プリントサーバー１０２にドライバー情報サービス３０３を設けることにより、機種固有プリンタードライバー３１４への更新を実現した。しかし、ドライバー情報サービス３０３はプリンタードライバーと独自プロトコルで通信するので、プリンタードライバーもしくはそのメーカー毎にドライバー情報サービス３０３が作成される。その結果、同じプリントサーバー１０２上で複数のドライバー情報サービス３０３が同時に動作することになり、プリントサーバー１０２で多くのメモリを消費し、ＣＰＵの処理負担が増加してしまう。
【００６８】
そこで、第３の実施形態では、ドライバー情報サービス３０３の持つ、プリンター１０１の機種固有プリンタードライバーの問い合わせＩ／Ｆを例えばＯＳが提供するプリントシステム３０１に組み込み、標準的に提供する。
【００６９】
第３の実施形態におけるネットワークシステムの他のモジュール構成例を図１１に示すブロック図を用いて説明する。より少ないメモリのプリントサーバー１０２でも複数の基本プリンタードライバー３０２に対応することが実現可能となる。
【００７０】
また、プリントサーバー１０２にドライバー情報サービス３０３をインストールし、ドライバー情報サービス３０３との通信に関するファイアーウォールの設定を変更する必要がなくなるので、システム管理者の管理コストを下げることが実現可能となる。
【００７１】
［第４の実施形態］
第１の実施形態では、ポイントアンドプリントでのインストール時に機種固有プリンタードライバー３１４への更新をユーザが制御可能であった。また、第２の実施形態では、機種固有プリンタードライバー３１４の起動時に新しい機種固有プリンタードライバーへの更新をユーザが制御可能であった。
【００７２】
第４の実施形態では、更新タイミングを一般ユーザやシステム管理者が制御できるようにする。まず基本プリンタードライバー３０２のプリンタードライバー更新を設定するユーザインタフェース画面の一例を、図１２を用いて説明する。このプリンタードライバー更新設定画面１２００は、プリンターオブジェクト属性５００のプリンター属性５０７の設定画面から呼び出される。
【００７３】
図１２に示す更新タイミングは、機種固有プリンタードライバーに更新するタイミングを指定し、複数のラジオボタンから１つ選択する。「更新しない」１２０１ａを選択すると、機種固有プリンタードライバーには更新しない。基本プリンタードライバー３０２自体が持つ初期値は「更新しない」１２０１ａである。そうでなければ、プリントサーバー１０２に基本プリンタードライバー３０２をインストールできないからである。
【００７４】
また、「インストールした時」１２０１ｂを選択すると、プリントサーバー１０２からポイントアンドプリントで基本プリンタードライバー３１３をクライアントＰＣ１０３にインストールした時にのみ機種固有プリンタードライバーに更新する。「初めて使用する時」１２０１ｃを選択すると、プリントサーバー１０２からポイントアンドプリントで基本プリンタードライバー３１３をクライアントＰＣ１０３にインストールした後に初めて使用する時にのみ機種固有プリンタードライバーに更新する。「使用する都度」１２０１ｄを選択すると、ポイントアンドプリントでインストールされた基本プリンタードライバー３１３を使用する度に、機種固有プリンタードライバーに更新する。その他の更新タイミングの選択肢を設けてもよい。
【００７５】
「更新する前に確認する」１２０２は、機種固有プリンタードライバーに更新するかしないかを確認する画面を表示するかしないかを指定するためのチェックボックスである。「更新する前に確認する」１２０２をチェックするとユーザが機種固有プリンタードライバーへの更新を制御可能になり、チェックしない場合は１２０１ｂ〜ｃのいずれかで自動的に更新される。
【００７６】
また、更新タイミングで「更新しない」１２０１ａを選択した場合、「更新する前に確認する」１２０２は無視される。「ＯＫ」ボタン１２０３を押すと、プリンタードライバー更新設定画面１２００を閉じる。そして、プリンタードライバー更新設定画面１２００の設定値を、設定対象のプリンターオブジェクトのプリンターオブジェクト属性５００のプリンター属性５０７の一部として保存する。
【００７７】
次に、プリンター属性５０７に含まれるプリンタードライバー更新設定１３００のデータ構造の一例を、図１３を用いて説明する。プリンタードライバー更新設定１３００は、更新タイミング１３０１、確認画面表示フラグ１３０２、起動回数１３０３を含む。更新タイミング１３０１は、更新タイミングの設定値を保存する。確認画面表示フラグ１３０２は、「更新する前に確認する」１２０２がチェックされていれば「１」、チェックされていなければ「０」を保存する。起動回数１３０３は、基本プリンタードライバー３１３の起動回数を示す値であるが、プリンタードライバー更新設定画面１２００では設定しない。詳細は後述する。
【００７８】
図１２に戻り、「キャンセル」ボタン１２０４を押すと、何もせずにプリンタードライバー更新設定画面１２００を閉じる。第１の実施形態は、更新タイミングとして、「基本ドライバーをインストールした時」１２０１ｂを選択し、「更新する前に確認する」１２０２をチェックした場合の動作である。ポイントアンドプリントでプリンタードライバーをインストールすると、プリントサーバー１０２のプリンターオブジェクト属性５００が配信されてクライアントＰＣ１０３のプリンターオブジェクト属性５００に設定される。 
次に、図１４に示すフローチャートを用いて、第４の実施形態のクライアントＰＣ１０３における基本プリンタードライバー３１３の初期化処理の詳細を説明する。図７と同じ番号のものは第１の実施形態と同じ処理を表し、説明は省略する。
【００７９】
基本プリンタードライバー３１３は、Ｓ７０１で従来の初期化処理を行った後、Ｓ１４０１で、プリンターオブジェクトのプリンタードライバー更新設定１３００を取得する。Ｓ１４０２では、基本プリンタードライバー３１３は、プリンタードライバー更新設定１３００の起動回数１３０３を更新する。尚、起動回数１３０３は、初期値は「０」であるが、「０」であれば「１」に、「１」であれば「２」に変更し、「２」であればそのままにする。
【００８０】
つまり、Ｓ１４０１で取得した起動回数１３０３が「０」であれば現在がインストール時、「１」であればインストール後、初めて使用した時、「２」であれば２回目以上使用したことを表す。
【００８１】
Ｓ１４０３では、基本プリンタードライバー３１３は、Ｓ１４０１で取得したプリンタードライバー更新設定１３００の更新タイミング１３０１と起動回数１３０３から、現在が更新タイミングであるかを判定する。更新タイミングであると判定するのは、図１５の「○」の場合である。
【００８２】
つまり、更新タイミング１３０１が「インストールした時」、かつ起動回数１３０３が「０」の場合である。又は、更新タイミング１３０１が「初めて使用する時」、かつ起動回数１３０３が「１」の場合である。又は、更新タイミング１３０１が「使用する都度」、かつ起動回数１３０３が「１」以上の場合である。
【００８３】
Ｓ１４０３で、基本プリンタードライバー３１３が、更新タイミングではないと判定した場合は、この処理を終了する。一方、更新タイミングであると判定した場合は、Ｓ１４０４へ処理を進め、機種固有プリンタードライバー更新確認画面を表示するかを判定する。判定方法は、確認画面表示フラグ１３０２が「１」かどうかで行う。
【００８４】
Ｓ１４０４で、基本プリンタードライバー３１３が、機種固有プリンタードライバー更新確認画面を表示しないと判定した場合は、ユーザの確認なしでＳ７０４へ処理を進める。一方、機種固有プリンタードライバー更新確認画面を表示すると判定した場合はＳ１４０５へ処理を進め、現在ユーザがアプリケーション３１１を使って印刷中なのかを判定する。この判定方法は、例えば、基本プリンタードライバー３０２を呼び出しているプロセスの権限がシステム権限であれば、アプリケーション３１１からの印刷中と判定する。
【００８５】
Ｓ１４０５で、基本プリンタードライバー３１３がアプリケーション３１１からの印刷中ではないと判断した場合はＳ７０２へ処理を進め、図１０のような画面を表示して、ユーザに機種固有プリンタードライバー３１４への更新の選択をさせる。
【００８６】
Ｓ１４０５で、基本プリンタードライバー３１３がアプリケーション３１１からの印刷中であると判断した場合はＳ１４０６へ処理を進め、図１６に示す機種固有プリンタードライバー更新印刷中確認画面１６００を表示する。アプリケーション３１１からの印刷中に、機種固有プリンタードライバーへ更新する場合、現在の印刷をキャンセルしなければならないので、ユーザにドライバー更新後に再印刷を促す。
【００８７】
ここで、ユーザが基本プリンタードライバー３１３を機種固有プリンタードライバー３１４に更新するならば「はい」ボタン１６０１を押し、基本プリンタードライバー３１３のままにしておくならば「いいえ」ボタン１６０２を押す。「はい」ボタン１６０１又は「いいえ」ボタン１６０２が押されると、機種固有プリンタードライバー更新印刷中確認画面１６００を閉じる。
【００８８】
Ｓ１４０７で、基本プリンタードライバー３１３が、「いいえ」ボタン１６０２が押されたと判定した場合は、この処理を終了する。一方、「はい」ボタン１６０１が押されたと判定した場合はＳ１４０８へ処理を進め、現在の印刷をキャンセルし、Ｓ７０４へ処理を進める。
【００８９】
以上の処理により、ポイントアンドプリントでクライアントＰＣ１０３にインストールされた基本プリンタードライバー３１３を機種固有プリンタードライバー３１４に更新するタイミングを一般ユーザやシステム管理者が制御することが実現可能となる。また、システム管理者は、更新タイミングをいつにするかと、一般ユーザに選択させるかどうかを制御できる。一般ユーザは、更新するかどうかを確認画面で選択することができる。
【００９０】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【要約】
【課題】従来のポイントアンドプリントの仕組みを利用しつつ、従来よりも管理者にとっては容易な作業となるような、クライアントコンピュータにインストールされたプリンタードライバーをその時点での共有プリンターに対応した適切なプリンタードライバーに更新できる手法を提供する。
【解決手段】サーバー装置とクライアント装置がネットワークを介して接続されたネットワークシステムであって、サーバー装置が、クライアント装置からの要求に応じて、共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報を送信する。クライアント装置が、ポイントアンドプリントを用いてインストールされた、サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、サーバー装置に対して識別情報の要求を行う。そして、要求に応じて送信された識別情報を用いて、機種固有のプリンタードライバーのインストールの制御を行う。
【選択図】      図３【図１】
0005174268.tif 000002
【図２】
0005174268.tif 000003
【図３】
0005174268.tif 000004
【図４】
0005174268.tif 000005
【図５】
0005174268.tif 000006
【図６】
0005174268.tif 000007
【図７】
0005174268.tif 000008
【図８】
0005174268.tif 000009
【図９】
0005174268.tif 000010
【図１０】
0005174268.tif 000011
【図１１】
0005174268.tif 000012
【図１２】
0005174268.tif 000013
【図１３】
0005174268.tif 000014
【図１４】
0005174268.tif 000015
【図１５】
0005174268.tif 000016
【図１６】
0005174268.tif 000017