説明

ネットワークシステム及びクライアント装置とその方法

【課題】従来のポイントアンドプリントの仕組みを利用しつつ、従来よりも管理者にとっては容易な作業となるような、クライアントコンピュータにインストールされたプリンタードライバーをその時点での共有プリンターに対応した適切なプリンタードライバーに更新できる手法を提供する。
【解決手段】サーバー装置とクライアント装置がネットワークを介して接続されたネットワークシステムであって、サーバー装置が、クライアント装置からの要求に応じて、共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報を送信する。クライアント装置が、ポイントアンドプリントを用いてインストールされた、サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、サーバー装置に対して識別情報の要求を行う。そして、要求に応じて送信された識別情報を用いて、機種固有のプリンタードライバーのインストールの制御を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタードライバーのインストールの技術に関するものである。
【背景技術】
【0002】
近年、オフィスにおけるコンピューターや各種デバイスのネットワーク化に伴い、1台のプリンターを複数のクライアントコンピュータで共有して使用している。マイクロソフト社のWindows(登録商標)によって構築されたネットワークシステムにおいては、Point&Print(ポイントアンドプリント)と呼ばれるプリンタードライバーのインストール方法が一般的に用いられている。このポイントアンドプリントの仕組みにより、一般のユーザはプリンタードライバーのインストールメディアを用意したり、プリンターのIPアドレスを予め調べたりする手間が必要なく、容易に共有プリンターを使用することができる。
【0003】
また、企業内のシステムでは、システムの管理コストを削減するために、クライアントコンピュータにインストールして良いプリンタードライバーを厳密に管理している場合が多い。そのため、ポイントアンドプリントの仕組みを使えば、システム管理者はクライアントコンピュータにおけるプリンタードライバーの管理が容易になる。
【0004】
しかし、ポイントアンドプリントの仕組みには依然面倒な点がある。例えば、プリンタードライバーの機能を拡張するAdd−inモジュールなどプリンタードライバーのインストールセットに入っていないモジュールは、ポイントアンドプリントの仕組みではクライアントコンピュータに配信することが困難である。
【0005】
そこで、上述の問題を解決する方法として、次のような技術が開示されている(例えば、特許文献1)。即ち、プリントサーバーに登録するドライバーのインストールセットに、予め指定されたステータスモニタやアンインストーラとそのインストール方法を指示するデータとを同梱しておく。すると、ポイントアンドプリントでクライアントコンピュータにプリンタードライバーをインストールした後に、そのプリンタードライバーにより、ステータスモニタやアンインストーラがインストールされる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−338940号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ここで、プリントサーバーにインストールセットを登録した後から、システムの管理者が別のアプリケーションもプリンタードライバーとともにインストールしたくなる場合がある。しかしながら、上述した従来の方法では、こういった場合、プリンタードライバーのインストールセットを作り直してプリントサーバーに再登録する必要がある。
【0008】
また、例えば、共有するプリンターを異なる機種のプリンターに替えたい場合には、該当するプリンタードライバーをプリントサーバーに再インストールする必要がある。
【0009】
また、プリントサーバーにおいて上述したインストールセットの再登録などが行われた場合には、クライアントコンピュータにおけるユーザは、再度ポイントアンドプリントでプリンタードライバーをインストールし直す必要があり、大変面倒である。
【0010】
このように、上述した従来のポイントアンドプリントの仕組みでは、ポイントアンドプリントでインストールしたい内容に変更がある場合には、煩雑な作業を伴うという課題がある。
【0011】
そこで、本発明は、従来のポイントアンドプリントの仕組みを利用しつつ、従来よりも管理者にとっては容易な作業となるような、クライアントコンピュータにインストールされたプリンタードライバーをその時点での共有プリンターに対応した適切なプリンタードライバーに更新できる手法を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、サーバー装置とクライアント装置がネットワークを介して接続されたネットワークシステムであって、
前記サーバー装置が、前記クライアント装置からの要求に応じて、共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報を送信する送信手段を有し、
前記クライアント装置が、
ポイントアンドプリントを用いてインストールされた、前記サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、前記サーバー装置に対して前記識別情報の要求を行う要求手段と、
前記要求に応じて送信された識別情報を用いて、前記機種固有のプリンタードライバーのインストールの制御を行う制御手段と、を有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、従来のポイントアンドプリントの仕組みを利用しつつ、従来よりも管理者にとっては容易な作業となるような、クライアントコンピュータにインストールされたプリンタードライバーをその時点での共有プリンターに対応した適切なプリンタードライバーに更新できる手法を提供できる。
【図面の簡単な説明】
【0014】
【図1】ネットワークシステムの構成を示すブロック図。
【図2】クライアント装置やサーバー装置として機能するコンピューターの構成例を示すブロック図。
【図3】ネットワークシステムのモジュール構成を示すブロック図。
【図4】プリンタードライバーをインストールするインストール方法を示すシーケンス図。
【図5】プリンターオブジェクト属性500のデータ構造の一例を示す図。
【図6】第2段階(S403〜S409)の詳細な処理を示すフローチャート。
【図7】第3段階(S410〜S419)の詳細な処理を示すフローチャート。
【図8】ドライバー更新処理の詳細を示すフローチャート。
【図9】共有プリンター情報900のデータ構造の一例を示す図。
【図10】機種固有プリンタードライバーの更新確認画面の一例を示す図。
【図11】ネットワークシステムの他のモジュール構成例を示すブロック図。
【図12】プリンタードライバー更新設定画面の一例を示す図。
【図13】プリンタードライバー更新設定1300のデータ構造の一例を示す図。
【図14】基本プリンタードライバー313の初期化処理の詳細を示すフローチャート。
【図15】起動回数により更新タイミングを判定する例を示す図。
【図16】機種ドライバー更新印刷中確認画面の一例を示す図。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。本実施形態では、クライアント装置、プリントサーバー、及びプリンターがネットワークを介して接続されたネットワークシステムにおいて、プリンタードライバーをクライアント装置にインストールする処理を説明する。
【0016】
[第1の実施形態]
本発明を適用可能な第1の実施形態におけるネットワークシステムの構成を図1に示すブロック図を用いて説明する。この例では、オペレーティングシステムとしてマイクロソフト社のWindows(登録商標)のプリンティングシステムを例とする。尚、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。また、単体の機器であっても、複数の機器からなるシステムであってもよいし、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続され処理が行われるシステムであってもよい。
【0017】
本実施形態に係るネットワークシステムは、プリンター101、プリントサーバー102、クライアント装置(クライアントPC)103及び配信サーバー104を有する。「PC」はパーソナルコンピュータの略である。プリンター101、プリントサーバー102、クライアントPC103、及び配信サーバー104は、LAN、WANなどのネットワーク105を介してお互いに通信可能に接続されている。
【0018】
プリンター101は、印刷ジョブを印刷する機能を有する。また、単機能のプリンターでもよいし、複合機能の周辺機器の印刷部であってもよい。
【0019】
プリントサーバー102は、クライアントPC103が発行した印刷ジョブを管理し、ネットワーク105や不図示のUSBなどのローカルポートを介して接続されているプリンター101を管理する機能を有する。また、ポイントアンドプリントでクライアントPC103に配信されるプリンタードライバーを管理する。
【0020】
クライアントPC103は、プリンター101に対して印刷指示を行う機能を有する。アプリケーションが印刷指示を行うと、プリントサーバー102を介してプリンター101に印刷ジョブを送出する。
【0021】
配信サーバー104は、プリンタードライバーを配信する機能を有する。プリントサーバー102又はクライアントPC103からプリンタードライバーセットの配信を要求されると、ネットワーク105を介して配信する。マイクロソフト社が運営するWindowsUpdateなどは配信サーバー104の例である。
【0022】
次に、クライアント装置(クライアントPC103)やサーバー装置(プリントサーバー102及び配信サーバー104)として機能するコンピューターの構成を図2に示すブロック図を用いて説明する。CPU201は、主記憶装置202のROM2021やRAM2022又は補助記憶装置205に格納されたプログラムに従って装置全体を制御する。RAM2022は、CPU201が各種処理を行う際にワークエリアとしても使用される。補助記憶装置205は、オペレーティングシステム(OS)2053やプリンタードライバー2052又はアプリケーションソフト2051などを記憶する。
【0023】
キーボード2031やマウス、タッチパネルなどに代表されるポインティングデバイス2032などの入力機器は、入力I/F203を通じて、ユーザがコンピューターに対して各種指示を与えるためのデバイスである。出力I/F204は、データを外部に出力するためのインタフェースであり、モニタ2041やプリンター2042などの出力機器に対してデータを出力する。プリンター2042とは、直接接続されるローカルI/Oのみならず、通信I/F206を通じて接続されるネットワーク105を通して接続されていてもよい。また、共通データシステムバス207を介してモジュール間でそれぞれデータの授受が行われる。
【0024】
ここで、図1に示すネットワークシステムのモジュール構成を図3に示すブロック図を用いて説明する。プリントサーバー102は、スプーラなどの含むプリントシステム301と、基本プリンタードライバー302と、ドライバー情報サービス303とを有する。
【0025】
プリントシステム301はOSの一部で、接続しているプリンター101を共有プリンターとして提供し、クライアントPC103から印刷ジョブを受け取り、プリンター101に出力する。また、クライアントPC103からの要求により、共有プリンターに関連付けられた基本プリンタードライバー302を配信する。
【0026】
プリンタードライバーには、基本プリンタードライバーと機種固有(model-specific)プリンタードライバーとがある。
【0027】
基本プリンタードライバー(クラスドライバーとも呼ばれる)は、機種を特定しない汎用的なプリンタードライバーであり、一般的には特定のPDL(Page Description Language)をサポートする多くのプリンターに印刷できる。例えば、一般的にジェネリックプリンタードライバーと呼ばれるプリンタードライバーは、基本プリンタードライバーの一種である。基本プリンタードライバーがインストールされていれば、機種毎にプリンタードライバーをインストールする必要はない。しかし、基本プリンタードライバーでは、のちに開発されたオプション機器などの制御方法は組み込まれていない。そのため、機種固有の機能を使うことはできず、機種毎に制御方法に違いがないような基本的な機能を中心に機能が組み込まれている。
【0028】
また、基本プリンタードライバーは、コンピューターで動作するOSにより、インボックスドライバーとして管理される場合もある。通常のデスクトップPCやノートPCとは異なるタブレットPCなどの携帯端末においては、インボックスドライバーとしての基本ドライバーのみを利用することが前提となっている場合もある。
【0029】
一方、機種固有プリンタードライバーは、特定の機種に対応し、その機種固有の機能が使えるプリンタードライバーである。ドライバー情報サービス303は、プリンター101の機種固有プリンタードライバー情報を提供する。
【0030】
クライアントPC103は、アプリケーション311、プリントシステム312、基本プリンタードライバー313、及び機種固有プリンタードライバー314を有する。アプリケーション311は、ユーザの印刷指示により印刷データをプリントシステム312に出力する。Windows(登録商標)のプリンティングシステムでは、GDIコマンド又はXPSデータが印刷データとして用いられている。プリントシステム312はOSの一部で、アプリケーション311から受け取った印刷データを基本プリンタードライバー313及び機種固有プリンタードライバー314へ出力する。
【0031】
基本プリンタードライバー313及び機種固有プリンタードライバー314は、プリントシステム312から印刷データを受け取り、プリンター101が認識可能な制御コマンド、例えばページ記述言語(PDL)に変換する。変換されたプリンター制御コマンドは、プリントシステム312からプリントサーバー102のプリントシステム301を経てプリンター101へ印刷データとして出力される。
【0032】
次に、図4のシーケンス図を用いて、プリンタードライバーをインストールする方法について説明する。
【0033】
図4に示すシーケンスにおいて大きく分けると、次の3段階の工程からなる。第1段階では、プリントサーバー102において、基本プリンタードライバー302のインストールと共有設定が行われる(S401〜S402)。第2段階では、ポイントアンドプリントの仕組みでプリントサーバー102から基本プリンタードライバー302をクライアントPC103に配信して、インストールが行われる(S403〜S409)。第3段階では、クライアントPC103において、インストールされた基本プリンタードライバー313が、初期化処理の際に機種固有プリンタードライバー314に更新されるよう、プリントシステム312への指示が行われる(S410〜S419)。
【0034】
まず、第1段階(S401〜S402)の処理を説明する。システム管理者がプリンター101をサポートする基本プリンタードライバー302をプリントサーバー102にインストールする(S401)。インストール時には、プリンター101を接続したポートを指定する。例えば、USB接続の場合は「USB001」などのポートを設定し、TCP/IP接続の場合はプリンター101のIPアドレスのTCP/IPポートを設定する。すると、プリントシステム301は、プリンター101に対応したプリンターオブジェクトを作成してコントロールパネルに表示し、プリンターオブジェクト毎にプリンターオブジェクト属性500を設定する。
【0035】
図5は、プリンターオブジェクト属性500のデータ構造の一例を示す。プリンターオブジェクト属性500には、プリンターオブジェクト名501、プリントキュー502、ドライバー識別子503、ドライバーバージョン504、ポート情報505が含まれる。更に、プリンターオブジェクト属性500には、共有設定506、プリンター属性507、デフォルト印刷属性508などが含まれる。
【0036】
プリンターオブジェクト名501は、プリンターオブジェクトをユーザが識別するための名称である。インストール直後には、プリンタードライバーのモデル名が設定されるが、ユーザが任意に変更できる。プリントキュー502は、スプールした印刷ジョブを格納するプリントキューのファイル名である。プリンターオブジェクトを作成する時にプリントシステム301が補助記憶装置205に一意のプリントキューファイルを作成し、変更不可である。ドライバー識別子503とドライバーバージョン504は、プリンターオブジェクトに関連付けられたプリンタードライバーを一意に特定可能な識別情報とバージョン番号である。プリンタードライバーの新規インストール時や更新時に、プリントシステム301がインストールされたプリンタードライバーの識別情報とバージョン番号を設定する。
【0037】
ポート情報505は、プリンター101を接続したポートの種別やポート名などの情報である。インストール時に指定したポートに関する情報をプリントシステム301が設定するが、プリンターの接続ポートに合わせてユーザが変更することも可能である。共有設定506は、共有するかどうか、共有名、共有を許可するユーザグループに対するアクセス権の設定を含む。プリンター属性507とデフォルト印刷属性508は、プリンターオブジェクトに関連付けられたプリンタードライバーによって設定される属性である。プリンター属性507は、プリンター101のオプション構成などプリンター101に応じて設定される。デフォルト印刷属性508は、アプリケーションが印刷する場合に使われる印刷属性の初期値である。
【0038】
プリンターオブジェクトが作成されると、システム管理者は更に、プリンターオブジェクトの共有設定506の設定を行う(S402)。プリントサーバー102で共有設定されたプリンターオブジェクトは、クライアントPC103上で表示することができる。
【0039】
次に、図4の第2段階(S403〜S409)の処理を説明する。一般ユーザは、クライアントPC103において、プリントサーバー102の共有プリンターを表示し、S402で設定した共有名のプリンターオブジェクトを選択して接続コマンドを実行する。すると、クライアントPC103のプリントシステム312が、選択された共有プリンターに関する情報をプリントサーバー102に対して要求する(S403)。
【0040】
ここで、図9は、共有プリンターに関する情報(共有プリンター情報900)のデータ構造の一例を示す。共有プリンター情報900は、サーバー名901、プリンター名902、ドライバー識別子903、ポート情報904を含む。サーバー名901は、ネットワーク105上でプリントサーバー102を一意に表す名称である。プリンター名902は、S402で設定した共有プリンターの共有名である。ドライバー識別子903は、共有プリンターに関連付けられたプリンタードライバーを一意に特定可能な識別情報である。ポート情報904は、プリントサーバー102上のプリンターオブジェクトのポート設定である。
【0041】
プリントサーバー102のプリントシステム301が要求を受け取ると、指定された共有プリンターの情報をクライアントPC103に通知する(S404)。これにより、クライアントPC103のプリントシステム312が、共有プリンター情報900を取得でき、ドライバー識別子903が示すプリンタードライバー(つまり、基本プリンタードライバー302)に関する検索処理を実行する(S405)。必要に応じて、クライアントPC103のプリントシステム312は、ドライバー識別子903が示すプリンタードライバーのドライバーセットをプリントサーバー102に要求する(S406)。プリントサーバー102のプリントシステム301は、要求を受けると、指定されたプリンタードライバーのドライバーセットをクライアントPC103に配信する(S407)。
【0042】
なお、S405において、クライアントPC103は、S404で受信した共有プリンター情報900に対応する基本プリンタードライバーを、クライアントPC103のOSにより管理されるインボックスドライバーから検索し選択してもよい。この場合には、S406、S407におけるクライアントPC103とプリントサーバーとのプリンタードライバーの要求処理と配信処理が省略される。
【0043】
クライアントPC103のプリントシステム312は、プリントサーバー102から受け取ったドライバーセット、またはインボックスドライバーとしてOSに管理されていたプリンタードライバーをインストールする(S408)。更に、プリントシステム312は、プリントサーバー102の選択した共有プリンター(つまり、プリンター101)に対応したプリンターオブジェクトを作成してコントロールパネルに表示し、属性を設定する(S409)。
【0044】
最後に、図4の第3段階(S410〜S419)の処理を説明する。基本プリンタードライバー313のインストール後、クライアントPC103のプリントシステム312は基本プリンタードライバー313の初期化処理を呼び出す(S410)。
【0045】
基本プリンタードライバー313の初期化処理では、従来の初期化処理を行った後、ポート情報505が示すポートに接続されているプリンター101の機種固有プリンタードライバーの識別子をプリントサーバー102に対して要求する(S411)。プリントサーバー102のドライバー情報サービス303が要求を受け取ると、指定されたポートに接続されているプリンター101に機種固有プリンタードライバーの識別子を要求する(S412)。プリンター101が要求を受け取ると、プリントサーバー102にプリンター101の機種固有プリンタードライバーの識別子を送信する(S413)。
【0046】
プリントサーバー102のドライバー情報サービス303がプリンター101から機種固有プリンタードライバーの識別子を取得すると、クライアントPC103に通知する(S414)。これにより、クライアントPC103の基本プリンタードライバー313が、機種固有プリンタードライバーの識別子を取得する。取得した識別子は、機種固有プリンタードライバー314を示す。クライアントPC103の基本プリンタードライバー313は、プリンターオブジェクトに関連付けられたプリンタードライバーを、機種固有プリンタードライバー314で更新するように、プリントシステム312に指示する。
【0047】
クライアントPC103のプリントシステム312は、指示されたドライバー識別子が示すプリンタードライバー(即ち、機種固有プリンタードライバー314)に関する検索処理を実行する(S415)。必要に応じて、クライアントPC103のプリントシステム312が機種固有プリンタードライバー314のドライバーセットを配信システム(配信サーバー104)に要求する(S416)。配信システムは、ベンダーごと、または複数ベンダーのプリンタードライバーや関連ソフトウェアを一括して管理して、クライアントPC103にネットワークを介して配信可能なシステムである。この配信サーバー104が要求を受けると、機種固有プリンタードライバー314のドライバーセットをクライアントPC103に配信する(S417)。クライアントPC103のプリントシステム312は、受け取ったドライバーセットをインストールする(S418)。更に、クライアントPC103のプリントシステム312は、更新対象のプリンターオブジェクトの属性を更新する(S419)。
【0048】
なお、本処理においては、クライアントPC103がS411〜S414の処理でプリントサーバー102から機種固有プリンタードライバーの識別子を取得している。しかしながら、S403、S404のタイミングで、共有プリンター情報900の一部、またはその追加情報として、機種固有プリンタードライバーの識別子に相当する情報をクライアントPC103がプリントサーバー102から取得するようにしてもよい。この場合は、S418、S419における更新処理のためのS411〜S414の処理が省略可能になる。
【0049】
次に、図6で示すフローチャートを用いて、図4に示すシーケンス図の第2段階(S403〜S409)の詳細な処理を説明する。この処理は、クライアントPC103においてプリントシステム312が基本プリンタードライバー313をインストールする処理の詳細である。
【0050】
S601では、クライアントPC103からのユーザ操作に応じて、プリントシステム312が、選択された共有プリンターに関する情報をプリントサーバー102に対して要求する。S602では、プリントシステム312がプリントサーバー102のプリントシステム301からの要求に応答して、指定された共有プリンターの共有プリンター情報900を取得する。
【0051】
S603では、プリントシステム312は、取得した共有プリンター情報900に基づき、共有プリンター(この例では、プリンター101)に対応するプリンターオブジェクトが既に存在するかを検索する。S604で、プリントシステム312が、プリンターオブジェクトが既に作成済みであると判定した場合、この処理を終了する。
【0052】
一方、S604で作成されていないと判定した場合はS605へ処理を進め、プリントシステム312は、取得した共有プリンター情報900のドライバー識別子903が示す基本プリンタードライバー302がインストール済みであるかを検索する。そして、S606で、プリントシステム312が、基本プリンタードライバー302がインストール済みであると判定した場合はS610へ処理を進める。一方、インストールされていないと判定した場合はS607へ処理を進め、プリントシステム312はプリントサーバー102にドライバー識別子903が示すプリンタードライバーのドライバーセットを要求する。次に、S608で、プリントシステム312がプリントサーバー102のプリントシステム301からの応答として指定されたプリンタードライバーのドライバーセットを取得する。S609で、プリントシステム312は、受け取ったドライバーセットをインストールする。
【0053】
なお、S607及びS608では、プリントサーバー102からプリンタードライバーを取得しているが、クライアントPC103のOSがインボックスドライバーとして管理している基本プリンタードライバーを取得することで本処理を実現してもよい。その場合には、S607で、プリントシステム312が共有プリンター情報900を用いて、インボックスドライバーの中から対応するプリンタードライバーを検索し、見つかったプリンタードライバーをS608で取得することになる。S609では、プリントシステム312が、インボックスドライバーとして管理されていた基本プリンタードライバーをインストールする。
【0054】
次に、S610では、プリントシステム312がインストール済みのプリンタードライバーに対応するプリンターオブジェクトを作成する。具体的には、プリントサーバー102の選択した共有プリンター(この例では、プリンター101)に対応したプリンターオブジェクトがコントロールパネル上に作成される。そして、インストール済みの基本プリンタードライバー313をそのプリンターオブジェクトに関連付ける。プリントシステム312は、登録したプリンターオブジェクトの名称に共有プリンター情報900のプリンター名902を設定する。また、登録したプリンターオブジェクトのポート設定に共有プリンター情報900のポート情報904の示すポートを設定し、ユーザには変更できないようにする。以上の処理により、インストール処理を終了する。
【0055】
次に、図7で示すフローチャートを用いて、図4に示すシーケンス図の第3段階(S410〜S419)の詳細な処理を説明する。この処理は、クライアントPC103において基本プリンタードライバー313の初期化処理の詳細な処理である。
【0056】
S701では、基本プリンタードライバー313が従来の初期化処理を行う。S702では、基本プリンタードライバー313が機種固有プリンタードライバー314に更新するか確認する画面を表示し、ユーザからの入力を受け付ける。基本プリンタードライバー302の機能で十分なシステムでは、機種固有プリンタードライバー314をあえて更新しないことは、次のような点で効果的である。つまり、プリンター101の機種によらず、操作感を統一可能である点、また同じプリンタードライバーをそのまま使用可能である点である。また、企業内システムにおいては、プリンタードライバーを更新するとアプリケーションの再評価が必要になることが多いが、これが不要になる。
【0057】
ここで、機種固有プリンタードライバーを更新するか否かを確認するユーザインタフェース画面の一例を、図10を用いて説明する。ユーザは、基本プリンタードライバー313を機種固有プリンタードライバー314に更新したい場合には「はい」ボタン1001を押し、基本プリンタードライバー313のままにしておきたい場合には「いいえ」ボタン1002を押す。
【0058】
S703で、基本プリンタードライバー313が、機種固有プリンタードライバー更新確認画面1000で「いいえ」ボタン1002が押されたと判定した場合には、機種固有プリンタードライバー更新確認画面1000を閉じて、この処理を終了する。
【0059】
一方、「はい」ボタン1001が押されたと判定した場合にはS704へ処理を進める。S704では、基本プリンタードライバー313は、ポート情報505が示すポートに接続されているプリンター101の機種固有プリンタードライバーの識別子をプリントサーバー102に対して要求する。S705で、基本プリンタードライバー313がプリントサーバー102のドライバー情報サービス303からの応答として機種固有プリンタードライバーの識別子を取得する。取得されたプリンタードライバー識別子は、機種固有プリンタードライバー314を示す。そして、S706で、基本プリンタードライバー313はプリンターオブジェクトに関連付けられたプリンタードライバーを機種固有プリンタードライバー314に更新するように、プリントシステム312に指示する。
【0060】
次に、図8に示すフローチャートを用いて、クライアントPC103におけるプリントシステム312のドライバー更新処理の詳細を説明する。
【0061】
S801では、プリントシステム312は、指示されたドライバー識別子が示すプリンタードライバー(即ち、機種固有プリンタードライバー314)を検索し、登録済み(インストール済み)か否かを確認する。
【0062】
S802で、プリントシステム312が、機種固有プリンタードライバー314が登録されていると判定した場合にはS806へ処理を進める。一方、機種固有プリンタードライバー314が登録されていないと判定した場合にはS803へ処理を進め、プリントシステム312は、機種固有プリンタードライバー314のドライバーセットを配信サーバー104に要求する。次に、S804で、プリントシステム312は、配信サーバー104からの応答として、機種固有プリンタードライバー314のドライバーセットを取得する。S805で、プリントシステム312は、受け取ったドライバーセットをインストールする。
【0063】
次に、S806では、プリントシステム312は、インストールされた機種固有プリンタードライバー314の識別子とドライバーバージョンを、更新対象のプリンターオブジェクトのドライバー識別子503とドライバーバージョン504に設定する。
【0064】
上述のように、プリントサーバー102に基本プリンタードライバー302をインストールしておき、ポイントアンドプリントでクライアントPC103にプリンタードライバーをインストールする。すると、ドライバー情報サービス303を利用して機種固有プリンタードライバー314に自動的に更新される。従って、共有であるプリンター101の機種を変更しても、変更後の機種に対応した機種固有プリンタードライバー314をクライアントPC103にインストールすることが実現可能となる。その場合に、プリントサーバー102は共有設定した基本プリンタードライバー302をインストールし直すなどの変更を行う必要がない。
【0065】
[第2の実施形態]
第1の実施形態では、クライアントPC103に基本プリンタードライバー313をインストールした直後に、適切な機種固有プリンタードライバー314に更新する場合を例に説明した。しかし、共有であるプリンター101の機種が変更されると、クライアントPC103に以前インストールされた機種固有プリンタードライバー314は機種変更後のプリンター101に対応していないので、正しく印刷されない場合がある。プリンター101によってはハングアップする可能性もあり、問題である。
【0066】
そこで、第2の実施形態では、機種固有プリンタードライバー314の起動時の初期化処理で図7に示すドライバー初期化処理を実行するように構成する。この構成により、共有であるプリンター101の機種が変更された場合、以前インストールされた機種固有プリンタードライバー314が、現在接続されているプリンター101に対応した機種固有プリンタードライバー314に自動的に更新されるようになる。
【0067】
[第3の実施形態]
第1及び第2の実施形態では、プリントサーバー102にドライバー情報サービス303を設けることにより、機種固有プリンタードライバー314への更新を実現した。しかし、ドライバー情報サービス303はプリンタードライバーと独自プロトコルで通信するので、プリンタードライバーもしくはそのメーカー毎にドライバー情報サービス303が作成される。その結果、同じプリントサーバー102上で複数のドライバー情報サービス303が同時に動作することになり、プリントサーバー102で多くのメモリを消費し、CPUの処理負担が増加してしまう。
【0068】
そこで、第3の実施形態では、ドライバー情報サービス303の持つ、プリンター101の機種固有プリンタードライバーの問い合わせI/Fを例えばOSが提供するプリントシステム301に組み込み、標準的に提供する。
【0069】
第3の実施形態におけるネットワークシステムの他のモジュール構成例を図11に示すブロック図を用いて説明する。より少ないメモリのプリントサーバー102でも複数の基本プリンタードライバー302に対応することが実現可能となる。
【0070】
また、プリントサーバー102にドライバー情報サービス303をインストールし、ドライバー情報サービス303との通信に関するファイアーウォールの設定を変更する必要がなくなるので、システム管理者の管理コストを下げることが実現可能となる。
【0071】
[第4の実施形態]
第1の実施形態では、ポイントアンドプリントでのインストール時に機種固有プリンタードライバー314への更新をユーザが制御可能であった。また、第2の実施形態では、機種固有プリンタードライバー314の起動時に新しい機種固有プリンタードライバーへの更新をユーザが制御可能であった。
【0072】
第4の実施形態では、更新タイミングを一般ユーザやシステム管理者が制御できるようにする。まず基本プリンタードライバー302のプリンタードライバー更新を設定するユーザインタフェース画面の一例を、図12を用いて説明する。このプリンタードライバー更新設定画面1200は、プリンターオブジェクト属性500のプリンター属性507の設定画面から呼び出される。
【0073】
図12に示す更新タイミングは、機種固有プリンタードライバーに更新するタイミングを指定し、複数のラジオボタンから1つ選択する。「更新しない」1201aを選択すると、機種固有プリンタードライバーには更新しない。基本プリンタードライバー302自体が持つ初期値は「更新しない」1201aである。そうでなければ、プリントサーバー102に基本プリンタードライバー302をインストールできないからである。
【0074】
また、「インストールした時」1201bを選択すると、プリントサーバー102からポイントアンドプリントで基本プリンタードライバー313をクライアントPC103にインストールした時にのみ機種固有プリンタードライバーに更新する。「初めて使用する時」1201cを選択すると、プリントサーバー102からポイントアンドプリントで基本プリンタードライバー313をクライアントPC103にインストールした後に初めて使用する時にのみ機種固有プリンタードライバーに更新する。「使用する都度」1201dを選択すると、ポイントアンドプリントでインストールされた基本プリンタードライバー313を使用する度に、機種固有プリンタードライバーに更新する。その他の更新タイミングの選択肢を設けてもよい。
【0075】
「更新する前に確認する」1202は、機種固有プリンタードライバーに更新するかしないかを確認する画面を表示するかしないかを指定するためのチェックボックスである。「更新する前に確認する」1202をチェックするとユーザが機種固有プリンタードライバーへの更新を制御可能になり、チェックしない場合は1201b〜cのいずれかで自動的に更新される。
【0076】
また、更新タイミングで「更新しない」1201aを選択した場合、「更新する前に確認する」1202は無視される。「OK」ボタン1203を押すと、プリンタードライバー更新設定画面1200を閉じる。そして、プリンタードライバー更新設定画面1200の設定値を、設定対象のプリンターオブジェクトのプリンターオブジェクト属性500のプリンター属性507の一部として保存する。
【0077】
次に、プリンター属性507に含まれるプリンタードライバー更新設定1300のデータ構造の一例を、図13を用いて説明する。プリンタードライバー更新設定1300は、更新タイミング1301、確認画面表示フラグ1302、起動回数1303を含む。更新タイミング1301は、更新タイミングの設定値を保存する。確認画面表示フラグ1302は、「更新する前に確認する」1202がチェックされていれば「1」、チェックされていなければ「0」を保存する。起動回数1303は、基本プリンタードライバー313の起動回数を示す値であるが、プリンタードライバー更新設定画面1200では設定しない。詳細は後述する。
【0078】
図12に戻り、「キャンセル」ボタン1204を押すと、何もせずにプリンタードライバー更新設定画面1200を閉じる。第1の実施形態は、更新タイミングとして、「基本ドライバーをインストールした時」1201bを選択し、「更新する前に確認する」1202をチェックした場合の動作である。ポイントアンドプリントでプリンタードライバーをインストールすると、プリントサーバー102のプリンターオブジェクト属性500が配信されてクライアントPC103のプリンターオブジェクト属性500に設定される。
次に、図14に示すフローチャートを用いて、第4の実施形態のクライアントPC103における基本プリンタードライバー313の初期化処理の詳細を説明する。図7と同じ番号のものは第1の実施形態と同じ処理を表し、説明は省略する。
【0079】
基本プリンタードライバー313は、S701で従来の初期化処理を行った後、S1401で、プリンターオブジェクトのプリンタードライバー更新設定1300を取得する。S1402では、基本プリンタードライバー313は、プリンタードライバー更新設定1300の起動回数1303を更新する。尚、起動回数1303は、初期値は「0」であるが、「0」であれば「1」に、「1」であれば「2」に変更し、「2」であればそのままにする。
【0080】
つまり、S1401で取得した起動回数1303が「0」であれば現在がインストール時、「1」であればインストール後、初めて使用した時、「2」であれば2回目以上使用したことを表す。
【0081】
S1403では、基本プリンタードライバー313は、S1401で取得したプリンタードライバー更新設定1300の更新タイミング1301と起動回数1303から、現在が更新タイミングであるかを判定する。更新タイミングであると判定するのは、図15の「○」の場合である。
【0082】
つまり、更新タイミング1301が「インストールした時」、かつ起動回数1303が「0」の場合である。又は、更新タイミング1301が「初めて使用する時」、かつ起動回数1303が「1」の場合である。又は、更新タイミング1301が「使用する都度」、かつ起動回数1303が「1」以上の場合である。
【0083】
S1403で、基本プリンタードライバー313が、更新タイミングではないと判定した場合は、この処理を終了する。一方、更新タイミングであると判定した場合は、S1404へ処理を進め、機種固有プリンタードライバー更新確認画面を表示するかを判定する。判定方法は、確認画面表示フラグ1302が「1」かどうかで行う。
【0084】
S1404で、基本プリンタードライバー313が、機種固有プリンタードライバー更新確認画面を表示しないと判定した場合は、ユーザの確認なしでS704へ処理を進める。一方、機種固有プリンタードライバー更新確認画面を表示すると判定した場合はS1405へ処理を進め、現在ユーザがアプリケーション311を使って印刷中なのかを判定する。この判定方法は、例えば、基本プリンタードライバー302を呼び出しているプロセスの権限がシステム権限であれば、アプリケーション311からの印刷中と判定する。
【0085】
S1405で、基本プリンタードライバー313がアプリケーション311からの印刷中ではないと判断した場合はS702へ処理を進め、図10のような画面を表示して、ユーザに機種固有プリンタードライバー314への更新の選択をさせる。
【0086】
S1405で、基本プリンタードライバー313がアプリケーション311からの印刷中であると判断した場合はS1406へ処理を進め、図16に示す機種固有プリンタードライバー更新印刷中確認画面1600を表示する。アプリケーション311からの印刷中に、機種固有プリンタードライバーへ更新する場合、現在の印刷をキャンセルしなければならないので、ユーザにドライバー更新後に再印刷を促す。
【0087】
ここで、ユーザが基本プリンタードライバー313を機種固有プリンタードライバー314に更新するならば「はい」ボタン1601を押し、基本プリンタードライバー313のままにしておくならば「いいえ」ボタン1602を押す。「はい」ボタン1601又は「いいえ」ボタン1602が押されると、機種固有プリンタードライバー更新印刷中確認画面1600を閉じる。
【0088】
S1407で、基本プリンタードライバー313が、「いいえ」ボタン1602が押されたと判定した場合は、この処理を終了する。一方、「はい」ボタン1601が押されたと判定した場合はS1408へ処理を進め、現在の印刷をキャンセルし、S704へ処理を進める。
【0089】
以上の処理により、ポイントアンドプリントでクライアントPC103にインストールされた基本プリンタードライバー313を機種固有プリンタードライバー314に更新するタイミングを一般ユーザやシステム管理者が制御することが実現可能となる。また、システム管理者は、更新タイミングをいつにするかと、一般ユーザに選択させるかどうかを制御できる。一般ユーザは、更新するかどうかを確認画面で選択することができる。
【0090】
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
サーバー装置とクライアント装置がネットワークを介して接続されたネットワークシステムであって、
前記サーバー装置が、前記クライアント装置からの要求に応じて、共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報を送信する送信手段を有し、
前記クライアント装置が、
ポイントアンドプリントを用いてインストールされた、前記サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、前記サーバー装置に対して前記識別情報の要求を行う要求手段と、
前記要求に応じて送信された識別情報を用いて、前記機種固有のプリンタードライバーのインストールの制御を行う制御手段と、を有することを特徴とするネットワークシステム。
【請求項2】
前記要求手段は、前記サーバー装置において共有設定されたプリンターに対応する機種固有のプリンタードライバーが前記クライアント装置にインストールされていない際に、当該機種固有のプリンタードライバーに更新するために、前記サーバー装置に対して前記識別情報の要求を行うことを特徴とする請求項1に記載のネットワークシステム。
【請求項3】
前記要求手段による要求が行われるタイミングは、プリンタードライバーのインストール時、初めて使用する時、及び使用する都度のいずれかのタイミングであることを特徴とする請求項1または2に記載のネットワークシステム。
【請求項4】
前記クライアント装置が、さらに、前記要求手段による要求を行わないように設定する設定手段を有することを特徴とする請求項1乃至3のいずれか1項に記載のネットワークシステム。
【請求項5】
前記サーバー装置が、オペレーティングシステムの機能として前記送信手段を提供することを特徴とする請求項1乃至4のいずれか1項に記載のネットワークシステム。
【請求項6】
前記機種固有のプリンタードライバーは、前記ネットワークにおける配信システムから配信されることを特徴とする請求項1乃至5のいずれか1項に記載のネットワークシステム。
【請求項7】
前記クライアント装置において前記ポイントアンドプリントを用いてインストールされる基本ドライバーは、当該クライアント装置のオペレーティングシステムによりインボックスドライバーとして管理されるプリンタードライバーであることを特徴とする請求項1乃至6のいずれか1項に記載のネットワークシステム。
【請求項8】
サーバー装置とクライアント装置がネットワークを介して接続されたネットワークシステムにおける方法であって、
前記サーバー装置が、前記クライアント装置からの要求に応じて、共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報を送信する送信工程を有し、
前記クライアント装置が、
ポイントアンドプリントを用いてインストールされた、前記サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、前記サーバー装置に対して前記識別情報の要求を行う要求工程と、
前記要求に応じて送信された識別情報を用いて、前記機種固有のプリンタードライバーのインストールの制御を行う制御工程と、を有することを特徴とする方法。
【請求項9】
サーバー装置とネットワークを介して接続されたクライアント装置であって、
ポイントアンドプリントを用いてインストールされた前記サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、前記共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報の要求を行う要求手段と、
前記要求に応じて送信された識別情報を用いて、前記機種固有のプリンタードライバーのインストールの制御を行う制御手段と、を有することを特徴とするクライアント装置。
【請求項10】
前記要求手段は、前記共有設定されたプリンターに対応する機種固有のプリンタードライバーが前記クライアント装置にインストールされていない場合に、当該機種固有のプリンタードライバーに更新するために、前記サーバー装置に対して前記識別情報の要求を行うことを特徴とする請求項9に記載のクライアント装置。
【請求項11】
前記要求手段による要求が行われるタイミングは、プリンタードライバーのインストール時、初めて使用する時、及び使用する都度のいずれかのタイミングであることを特徴とする請求項9または10に記載のクライアント装置。
【請求項12】
前記要求手段による要求を行わないように設定する設定手段をさらに有することを特徴とする請求項9乃至11のいずれか1項に記載のクライアント装置。
【請求項13】
前記機種固有のプリンタードライバーは、前記ネットワークにおける配信システムから配信されることを特徴とする請求項9乃至12のいずれか1項に記載のクライアント装置。
【請求項14】
前記ポイントアンドプリントを用いてインストールされる基本ドライバーは、当該クライアント装置のオペレーティングシステムによりインボックスドライバーとして管理されるプリンタードライバーであることを特徴とする請求項9乃至13のいずれか1項に記載のクライアント装置。
【請求項15】
サーバー装置とネットワークを介して接続されたクライアント装置における方法であって、
ポイントアンドプリントを用いてインストールされた前記サーバー装置において共有設定されたプリンターに対応する基本ドライバーを更新するために、前記共有設定されたプリンターに対応する機種固有のプリンタードライバーをインストールするために用いられる識別情報の要求を行う要求工程と、
前記要求に応じて送信された識別情報を用いて、前記機種固有のプリンタードライバーのインストールの制御を行う制御工程と、を有することを特徴とする方法。
【請求項16】
請求項9乃至14のいずれか1項に記載の手段としてコンピューターを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2013−101595(P2013−101595A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2012−156926(P2012−156926)
【出願日】平成24年7月12日(2012.7.12)
【特許番号】特許第5174268号(P5174268)
【特許公報発行日】平成25年4月3日(2013.4.3)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】