(57)【要約】【課題】  サーバとクライアント間の印刷環境を適応的に同期させる。【解決手段】  印刷装置に対するプリンタドライバとして、当該情報処理装置に対する第１のプリンタドライバと、クライアント装置に対する第２のプリンタドライバを管理する。プリンタドライバに関する更新情報を記録する。記録された更新情報に基づいて、第２のプリンタドライバを更新する。【選択図】  図７
2015184914.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置から印刷データを受信して、印刷装置への出力を制御する情報処理装置であって、
前記印刷装置に対するプリンタドライバとして、当該情報処理装置に対する第１のプリンタドライバと、前記クライアント装置に対する第２のプリンタドライバを管理する管理手段と、
前記プリンタドライバに関する更新情報を記録する記録手段と、
前記記録手段で記録された更新情報に基づいて、前記第２のプリンタドライバを更新する更新手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１のプリンタドライバと前記第２のプリンタドライバは、互いに異なるアーキテクチャで動作させるためのプリンタドライバである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記更新手段で更新した第２のプリンタドライバを、前記クライアント装置へ配信する配信手段を更に備える
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記更新手段は、前記記録手段により記録された更新情報に基づいて、前記第２のプリンタドライバに対するモジュールを新規に作成する、もしくは前記第２のプリンタドライバに既に含まれているモジュールを更新する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記更新手段は、前記記録手段により記録された更新情報に基づいて、前記第１のプリンタドライバに対して更新されたモジュールを、前記第１のプリンタドライバから前記第２のプリンタドライバへとコピーすることで、前記第２のプリンタドライバを更新する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記更新手段は、前記第２のプリンタドライバを当該情報処理装置にインストールした際に、前記第２のプリンタドライバを更新するための更新処理を実行する
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記更新手段は、前記第２のプリンタドライバのインストール後、前記記録手段によって前記更新情報が記録された際に、前記第２のプリンタドライバを更新するための更新処理を実行する
ことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
印刷データを受信して、印刷装置への出力を制御する情報処理方法であって、
前記印刷装置に対するプリンタドライバとして、前記印刷データを前記印刷装置へ出力する情報処理装置の第１のプリンタドライバと、前記印刷データの供給元となる外部装置に対する第２のプリンタドライバを含むプリンタドライバに関する更新情報を記録する記録工程と、
前記記録工程で記録された更新情報に基づいて、前記第２のプリンタドライバを更新する更新工程と、
前記更新工程で更新した第２のプリンタドライバを、前記外部装置へ配信する配信工程と
を備えることを特徴とする情報処理方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるための、または請求項８に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを受信して、印刷装置への出力を制御する情報処理技術に関するものである。
【背景技術】
【０００２】
近年、プリンタに接続されたホストコンピュータをプリントサーバとし、そのホストコンピュータとネットワークを介して接続されているクライアントコンピュータから、プリンタを使用して印刷を行えるプリントサーバシステムが存在する。
【０００３】
このような環境下では、クライアントは、プリントサーバにインストールされているプリンタドライバと同じプリンタドライバをインストールしていなければならない。クライアントにおけるインストールを容易にするプログラムとして、例えば、マイクロソフト社のＰｏｉｎｔ＆Ｐｒｉｎｔ（登録商標）が知られている。このＰｏｉｎｔ＆Ｐｒｉｎｔにより、クライアントサーバ間でプリンタの機能やＯＳ情報が授受され、その情報に基づいて、サーバはプリンタドライバをクライアントへ転送し、クライアントは転送されたプリンタドライバをインストールすることができる。Ｐｏｉｎｔ＆Ｐｒｉｎｔは、主にマイクロソフト社のオペレーティングシステムの機能の一部として実現されている。
【０００４】
Ｐｏｉｎｔ＆Ｐｒｉｎｔの利点としては、ユーザが印刷を行いたいと思った時に直ちにインストール作業を自動的に実行できる点、また、プリンタドライバを記憶しているＣＤ−ＲＯＭ等の記憶メディアを必要とせずにプリンタドライバをインストールできる点等が挙げられる。
【０００５】
しかしながら、Ｐｏｉｎｔ＆Ｐｒｉｎｔでは、プリンタドライバのインストール後に新たにプリンタドライバに追加されたモジュールは、クライアント側に反映されないという問題が存在した。特許文献１では、この問題に対し、追加されたモジュールをプリンタドライバの構成情報に追加し、サーバにそれを認識させることで、Ｐｏｉｎｔ＆Ｐｒｉｎｔを再度動作させ、追加モジュールがクライアントに反映できるようにしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２０８８９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、サーバとクライアントが異なるアーキテクチャの場合、ユーザはサーバ上のプリンタドライバとは別に、クライアントと同じアーキテクチャ上で動作するプリンタドライバを別途、クライアント配布用としてサーバに追加インストールする必要がある。そして、その場合、サーバで動作するプリンタドライバと、クライアントにＰｏｉｎｔ＆Ｐｒｉｎｔでインストールされるプリンタドライバは別のものとなってしまうため、特許文献１の技術でも、追加モジュールの更新をクライアントに反映させることができなかった。
【０００８】
本発明は上記の課題を解決するためになされたものであり、クライアント装置に対するプリンタドライバを更新情報に基づいて適切に更新することができる情報処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
クライアント装置から印刷データを受信して、印刷装置への出力を制御する情報処理装置であって、
前記印刷装置に対するプリンタドライバとして、当該情報処理装置に対する第１のプリンタドライバと、前記クライアント装置に対する第２のプリンタドライバを管理する管理手段と、
前記プリンタドライバに関する更新情報を記録する記録手段と、
前記記録手段で記録された更新情報に基づいて、前記第２のプリンタドライバを更新する更新手段と
を備える。
【発明の効果】
【００１０】
本発明によれば、クライアント装置に対するプリンタドライバを更新情報に基づいて適切に更新することができる情報処理技術を提供できる。
【図面の簡単な説明】
【００１１】
【図１】プリントシステムのハードウェア構成を示すブロック図である。
【図２】プリントサーバシステムの構成を示す図である。
【図３】プリントサーバとクライアントコンピュータの機能構成を示すブロック図である。
【図４】プリントサーバシステムにおけるプリンタドライバのインストール処理を説明する図である。
【図５】プリントサーバシステムにおけるプリントサーバとクライアントコンピュータの機能構成を説明する機能ブロック図である。
【図６】プリントサーバ上のプリンタドライバを更新する更新処理を示すフローチャートである。
【図７】プリントサーバと異なるアーキテクチャで動作するクライアントコンピュータのプリンタドライバを更新する更新処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面を用いて詳細に説明する。
【００１３】
＜プリントシステムの構成（図１）＞
図１はホストコンピュータ（以下、ホスト）１とインクジェットプリンタ（以下、プリンタ）２とから構成される印刷システムの概略を示したブロック図である。
【００１４】
図１に示されるように、ホスト１とプリンタ２とは所定の双方向インタフェース３（例えば、ＵＳＢ、ＩＥＥＥ１３９４、ＴＣＰ／ＩＰ等）を介して互いに接続される。尚、ホスト１は、パーソナルコンピュータ（ＰＣ）等の情報処理装置が代表的な例である。
【００１５】
ホスト１は、ＣＰＵ１０１を含むメインボード１００、キーボード（ＫＢ）１０５、ＬＣＤ等のディスプレイ（ＤＩＳＰＬＡＹ）１０７、ハードディスク（ＨＤＤ）やフレキシブルディスク（ＦＤＤ）等の外部記憶装置１０９とを有する。メインボード１００は、更に、ＲＡＭ１０２、ＲＯＭ１０３、キーボードコントローラ（ＫＢＣ）１０４、ディスプレイコントローラ（ＤＩＳＰＣ）１０６、ディスクコントローラ（ＤＫＣ）１０８、プリンタコントローラ（ＰＲＴＣ）１１０を有する。
【００１６】
ＣＰＵ１０１は、システムバス１１１に接続される各種構成要素を総括的に制御し、各種プログラムを実行する。キーボードコントローラ（ＫＢＣ）１０４は、キーボード１０５やポインティングデバイス（不図示）からの入力を制御する。キーボードコントローラ１０４を操作部または入力部とも呼ぶ。ディスプレイコントローラ（ＤＩＳＰＣ）１０６は、ディスプレイ１０７の表示を制御する。ＲＡＭ１０２は、ＣＰＵ１０１のメインメモリあるいはワークエリアとして機能する。ＲＯＭ１０３は、オペレーティングシステム、本実施形態に従う各機能を実行するプログラム、ブートプログラム、各種のアプリケーション、プリンタ制御コマンド生成プログラム（以下、プリンタドライバ）等のプログラムを記憶する。
【００１７】
ディスクコントローラ（ＤＫＣ）１０８は、外部記憶装置１０９とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）１１０は、双方向インタフェース３を介してプリンタ２に接続され、プリンタ２とのデータ及びコマンドの通信処理を制御する。
【００１８】
プリンタ２は、コントローラ１２１、プリンタエンジン１２２、操作パネル１２、不揮発性記憶装置１３３を有し、双方向インタフェース３を介して、ホスト１と接続されている。不揮発性記憶装置１３３は、ハードディスク（ＨＤＤ）１２８またはＥＥＰＲＯＭ１２９を含む。不揮発性記憶装置１３３を不揮発性メモリということもある。
【００１９】
コントローラ１２１は、ＣＰＵ１２４、ＲＯＭ１２５、ＲＡＭ１２６、インタフェースコントローラ（Ｉ／ＦＣ）１２３、ディスクコントローラ（ＤＫＣ）１２７、パネルインタフェース（Ｉ／ＦＰ）１３０、エンジンインタフェース（Ｉ／ＦＥ）１３２を含む。
【００２０】
ＣＰＵ１２４は、プリンタ２に関する各種処理を実現するための各種プログラムを実行する。ＲＯＭ１２５は、ホスト１から印刷用画像データとコマンドを受信し、プリンタエンジン１２２を制御して最適な印刷を実現させるためのプログラムや各種データを記憶する。ＲＡＭ１２６は、各種データや各種プログラムを一時的に記憶するワークエリアとして用いられる。
【００２１】
インタフェースコントローラ（Ｉ／ＦＣ）１２３は、双方向インタフェース３を介してホスト１に接続され、ホスト１とのデータとコマンドの通信処理を制御する。ハードディスク（ＨＤＤ）１２８は、ホスト１からのデータ及びそのデータに関する付属情報等の大容量のデータを記憶する。ＥＥＰＲＯＭ１２９は、印刷動作時に使用するプリンタ独自の情報等を記憶する。ディスクコントローラ（ＤＫＣ）１２７は、不揮発性記憶装置１３３とのアクセスを制御する。パネルインタフェース（Ｉ／ＦＰ）１３０は、操作パネル１２への表示や操作パネル１２からの入力を制御する。エンジンインタフェース（Ｉ／ＦＥ）１３２は、ハードウェアを直接制御して最適な印刷を実現させるプリンタエンジン１２２を制御する。
【００２２】
尚、本実施形態では、プリンタエンジン１２２は、印刷方式として、インクジェット方式を用いるが、これに限定されず、電子写真方式やオフセット方式等の他の印刷方式を用いることもできる。
【００２３】
＜プリントサーバシステムの構成（図２）＞
図２はプリントサーバシステムの構成を説明する図である。
【００２４】
図２において、サーバ装置であるプリントサーバ２０は、図１のホスト１として機能し、クライアント装置であるクライアントコンピュータ２１に対して各種サービスを提供する。ここで、プリントサーバ２０とプリンタ２とは、ＵＳＢ等のインタフェースまたはイーサネット等のネットワークを介して接続されている。また、プリントサーバ２０とクライアントコンピュータ２１は、例えば、イーサネット等のネットワークを介して接続されている。もちろん、イーサネット等の有線ネットワークの代わりに、無線ネットワークを利用しても良い。尚、クライアントコンピュータ２１のハードウェア構成は、図１のホスト１と同様の構成を有している。
【００２５】
プリントサーバシステムでは、プリントサーバ２０自身がプリンタ２により印刷することもできる。またプリントサーバ２０は、クライアントコンピュータ２１（印刷データの供給元となる外部装置）とプリンタ２の仲介を行うこともできる。具体的には、プリントサーバ２０は、クライアントコンピュータ２１から入力された印刷データをプリンタ２に出力する。プリントサーバ２０には、印刷機能を実現するプログラムが少なくとも一つ組み込まれており、同時に、アプリケーションからプリンタ２への印刷を仲介するプリンタドライバも組み込まれている。
【００２６】
ここで、クライアントコンピュータ２１を利用するユーザが、プリンタ２を使用して印刷させるためには、プリントサーバ２０に組み込まれているプリンタドライバと同一のプリンタドライバをクライアントコンピュータ２１に組み込まなければならない。なぜならば、クライアントコンピュータ２１のアプリケーションによって生成される印刷データは、プリンタ２に入力される前にプリントサーバ２０上のプリンタドライバによって仲介される必要があるからである。更に、プリントサーバ２０のプリンタドライバに印刷データを仲介させるためには、クライアントコンピュータ２１上で同一のプリンタドライバにアプリケーションからの印刷データを仲介させる必要があるからである。従って、図２のプリントサーバシステムでは、クライアントコンピュータ２１に対し、プリントサーバ２０にインストールされているプリンタドライバと同一のプリンタドライバをインストールする必要がある。以下、プリントサーバシステムにおけるプリンタドライバのインストール手順を図３及び図４を参照して説明する。
【００２７】
＜プリンタドライバのインストール手順（図３、図４）＞
図３はプリントサーバ２０とクライアントコンピュータ２１の機能構成を示すブロック図である。
【００２８】
プリントサーバ２０の印刷サービス３００は、プリントサーバ２０のオペレーティングシステム（ＯＳ）上で印刷処理や、プリンタドライバのインストールを制御するサービスプログラムである。例えば、マイクロソフト社のＷｉｎｄｏｗｓにおいてはスプーラサービスがこれに相当する。スプーラサービスは、プリンタドライバからプリンタへの印刷データの送信や、プリンタドライバのインストール、また様々な機能を利用するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を提供している。プログラムやプリンタドライバはこのＡＰＩを通じて処理を実行する。本実施形態における印刷サービス３００もこれと同様な特徴を備えているものとする。
【００２９】
プリンタドライバ３０２は、複数種類の命令アーキテクチャ用のプリンタドライバを含んでいる。ここでは、ｘ６４アーキテクチャ環境（以下、ｘ６４環境）で動作するｘ６４用プリンタドライバ３０２１、及びｘ８６アーキテクチャ環境（以下、８６環境）で動作するｘ８６用プリンタドライバ３０２２を含んでいる。
【００３０】
ドライバ関連情報３０１は、プリントサーバ２０におけるプリンタドライバ３０２に関する情報であり、ＯＳの共有記憶領域に格納されている。ドライバ関連情報３０１は、ｘ６４用プリンタドライバ３０２１に関連するｘ６４用ドライバ関連情報、ｘ８６用プリンタドライバ３０２２に関連するｘ８６用ドライバ関連情報３０１２を含んでいる。
【００３１】
プリンタドライバ３０２は、プリントサーバ２０と同一アーキテクチャで動作するプリンタドライバの他に、プリントサーバ２０と異なるアーキテクチャで動作するプリンタドライバも加えてインストールすることができる。
【００３２】
通常、サーバとクライアントが同一アーキテクチャの場合、サーバ上のプリンタドライバはそのままＰｏｉｎｔ＆Ｐｒｉｎｔでクライアントにインストールされ使用することができる。しかしながら、サーバとクライアントが異なるアーキテクチャの場合は、クライアントのアーキテクチャで動作するプリンタドライバを別途、サーバで保持し、Ｐｏｉｎｔ＆Ｐｒｉｎｔでそのプリントドライバをクライアントにインストールさせる必要がある。例えば、プリントサーバ２０がｘ６４環境であり、クライアント３１がｘ８６環境である場合がある。この場合、ｘ６４用プリンタドライバ３０２１がサーバにインストールされた後、ｘ８６用プリンタドライバ３０２２を追加でインストールする。そして、それをＰｏｉｎｔ＆Ｐｒｉｎｔでクライアントコンピュータ２１にインストールする必要がある。
【００３３】
印刷キュー３０３は、印刷データをプリンタ２へ出力する前に、一旦貯める働きをする仮想的なキューである。
【００３４】
一方、クライアントコンピュータ２１の印刷サービス３１０は、プリントサーバ２０の印刷サービス３００と同様に、クライアントコンピュータ２１のＯＳ上で印刷処理や、プリンタドライバのインストールを制御する。尚、プリンタドライバのインストールの実行前には、プリンタドライバ３１２と、そのドライバ関連情報３１１は、クライアントコンピュータ２１に存在していない。
【００３５】
図４はプリントサーバシステムにおけるプリンタドライバのインストール処理を説明する図である。
【００３６】
まず、クライアントコンピュータ２１が、印刷サービス３１０を通じて、プリントサーバ２０と共有するプリンタとなる共有プリンタ（例えば、プリンタ２）に接続する。そして、そのプリンタ２に対するプリンタドライバのインストール要求をプリントサーバ２０へ発行する（Ｓ４０）。ここで、プリントサーバ２０は、Ｐｏｉｎｔ＆Ｐｒｉｎｔによって、クライアントコンピュータ２１に関するデバイス情報（ＯＳ等の種類）を受信することで、クライアントコンピュータ２１の動作環境（ｘ６４環境あるいはｘ８６環境）を判定することができる。
【００３７】
プリントサーバ２０の印刷サービス３００は、この要求に応じてドライバ関連情報３０１を参照して、クライアントコンピュータ２１へダウンロードするプリンタドライバのインストールセットを決定する（Ｓ４１）。このとき、クライアントコンピュータ２１がｘ６４環境である場合はｘ６４用ドライバ関連情報３０１１が、ｘ８６環境である場合はｘ８６用ドライバ関連情報３０１２が参照される。
【００３８】
次に、プリントサーバ２０の印刷サービス３００は、プリントサーバ２０に記憶されているプリンタドライバ３０２のインストールセットをクライアントコンピュータ２１にコピーする（Ｓ４２）。尚、このコピー処理は、印刷サービス３００がクライアントコンピュータ２１の印刷サービス３１０と連携しながら実行される。Ｓ４２では、例えば、クライアントコンピュータ２１がｘ６４環境である場合はｘ６４用プリンタドライバ３０２１が、ｘ８６環境である場合はｘ８６用プリンタドライバ３０２２がコピーされる。
【００３９】
次に、クライアントコンピュータ２１の印刷サービス３１０は、コピーされたプリンタドライバ３１２をＯＳに登録し、それと同時にドライバ関連情報３１１をＯＳに登録する（Ｓ４３）。この結果、クライアントコンピュータ２１のユーザは、プリントサーバ２０を介してプリンタ２に対して印刷を実行させることができる。
【００４０】
＜本実施形態におけるプリントサーバシステムのブロック図（図５）＞
図５は本実施形態に係るプリントサーバシステムの機能構成を示す機能ブロック図であり、図３と共通する部分は同一の参照番号で示し、その詳細については省略する。
【００４１】
図５では、プリントサーバ２０において、プリンタドライバ３０２の更新情報３０４が図３の構成から新たに追加されている。
【００４２】
更新情報３０４は、プリンタドライバ３０２のモジュール（関連モジュール）を更新する更新プログラムが動作する際に、プリントサーバ２０内の外部記憶装置１０９で記憶管理されるレジストリやファイルに書き込まれるドライバ更新情報である。これにより、本実施形態では、プリントサーバ２０と異なるアーキテクチャで動作するクライアントコンピュータ２１に、プリントサーバ２０で更新されたドライバ更新情報を反映させることができる。
【００４３】
以下では、説明の都合上、プリントサーバ２０はｘ６４環境、クライアントコンピュータ２１はｘ８６環境で動作しているものとする。
【００４４】
＜プリントサーバで動作するプリンタドライバの更新（図６）＞
図６はプリントサーバ２０において、更新プログラムを用いて、サーバ用のｘ６４用プリンタドライバ３０２１内のモジュールを更新する処理を示すフローチャートである。
【００４５】
尚、更新プログラムは、プリントサーバ２０のＲＯＭ１０３に記憶されており、プリントサーバ２０のＣＰＵ１０１がこの更新プログラムをＲＡＭ１０２上に読み出し実行することで、図６に示す処理が実現される。
【００４６】
まず、Ｓ６０１にて、ＣＰＵ１０１は、更新プログラムによりサーバ用のｘ６４用プリンタドライバ３０２１内のモジュールを更新する。この時、ｘ６４用プリンタドライバ３０２１内に新規モジュールが追加される場合は、ｘ６４用ドライバ関連情報３０１１にその新規モジュールの新規モジュール名を追加する。これにより、追加した新規モジュールもＰｏｉｎｔ＆Ｐｒｉｎｔの対象とすることができる。尚、異なるアーキテクチャのプリンタドライバ、例えば、ｘ８６用プリンタドライバ３０２２が既にインストール済であれば、そちらも同時に更新するようにしても良い。
【００４７】
次に、Ｓ６０２で、ＣＰＵ１０１は、Ｓ６０１で更新した内容を更新情報３０４に記録し、処理を終了する。ここで、更新情報３０４は、更新単位（例えば、モジュール単位）毎に記録され、時系列に更新情報が管理されることになる。
【００４８】
＜プリントサーバ２０と異なるアーキテクチャで動作するクライアントコンピュータ２１のプリンタドライバ３１２の更新（図７）＞
図７はプリントサーバ２０において、プリントサーバ２０と異なるアーキテクチャで動作するクライアントコンピュータ２１のプリンタドライバ３１２を更新する処理を示すフローチャートである。
【００４９】
尚、図７の処理を実現するためのプログラムがプリントサーバ２０のＲＯＭ１０３に記憶されており、プリントサーバ２０のＣＰＵ１０１がこのプログラムをＲＡＭ１０２上に読み出し実行することで、図７に示す処理が実現される。
【００５０】
ここでは、プリントサーバ２０のｘ６４用プリンタドライバ３０２１は、図６の更新処理により、更新が行われているものとする。
【００５１】
まず、Ｓ７０１で、ＣＰＵ１０１は、更新情報３０４から更新情報を１つ読み込む。
【００５２】
次に、Ｓ７０２で、ＣＰＵ１０１は、読み込んだ更新情報から、更新するモジュールがアーキテクチャに依存するものか否かを判定する。尚、ここで、更新対象のモジュールは、複数種類のアーキテクチャそれぞれに個別に依存するものと、複数種類のアーキテクチャそれぞれに対して共通なもの（つまり、アーキテクチャに依存しないもの）が存在する。特に、アーキテクチャに依存しないモジュールは、個別に各プリンタドライバを更新するものではない。サーバ用のプリンタドライバからクライアント用のプリンタドライバへ更新済モジュールをコピーすることで、クライアント用のプリンタドライバを更新することができる。また、ここでの判定は、更新情報に含まれるアーキテクチャに関する情報（アーキテクチャ依存／非依存を示す情報）に基づいて判定する。アーキテクチャに関する情報は、プリントサーバ２０のＯＳによって提供することができる。
【００５３】
判定の結果、アーキテクチャに依存しないモジュールである場合（Ｓ７０２でＮＯ）、Ｓ７０３で、ＣＰＵ１０１は、サーバ用プリンタドライバからクライアント用プリンタドライバへと更新済モジュールをコピーする。ここでは、サーバ用のｘ６４用プリンタドライバ３０２１からクライアント用のｘ８６用プリンタドライバ３０２２へと更新済モジュールをコピーする。これにより、自身での複雑な更新作業なしにクライアント用のｘ８６用プリンタドライバ３０２２を簡単に更新することができる。
【００５４】
判定の結果、アーキテクチャに依存するモジュールである場合（Ｓ７０２でＹＥＳ）、Ｓ７０４で、ＣＰＵ１０１は、その更新が既存モジュールに対する更新であるか否かを判定する。
【００５５】
判定の結果、既存モジュールに対する更新である場合（Ｓ７０４でＹＥＳ）、Ｓ７０５で、ＣＰＵ１０１は、更新情報をもとに既存モジュールの更新を行う。
【００５６】
判定の結果、既存モジュールに対する更新でない場合（Ｓ７０４でＮＯ）、つまり、新規モジュールを作成する必要がある場合、Ｓ７０６で、ＣＰＵ１０１は、更新情報をもとに新規モジュールを作成する。このとき、クライアント用のｘ８６用ドライバ関連情報３０１２に作成する新規モジュールの新規モジュール名の追加も行う。
【００５７】
更新の完了後、Ｓ７０７で、ＣＰＵ１０１は、全ての更新情報が反映されたか否かを判定する。まだ、未処理の更新情報が残っている場合（Ｓ７０７でＮＯ）、Ｓ７０１に戻る。一方の、全ての更新情報が反映されている場合（Ｓ７０７でＹＥＳ）、処理を終了する。ここでは、クライアント用のｘ８６用プリンタドライバ３０２２の更新作業を終了する。
【００５８】
ここでの更新作業は、ｘ８６用プリンタドライバ３０２２自身が行う。具体的には、クライアント用のｘ８６用プリンタドライバ３０２２のインストール時もしくはインストール後、サーバ用のｘ６４用プリンタドライバ３０２１が更新され更新情報３０４が書き込まれた時（記録時）に上記更新作業が実行される。但し、これらの更新を行う更新プログラムを別途用意しても良く、特に限定するものではない。これにより、プリントサーバ２０は、更新されたクライアント用のプリンタドライバをクライアントコンピュータ２１へ配信して、更新されたクライアント用のプリンタドライバをクライアントコンピュータ２１にもすることができる。
【００５９】
以上説明したように、本実施形態によれば、サーバ用のプリンタドライバへの更新がクライアント用のプリンタドライバにも反映されるため、サーバとクライアントで異なるアーキテクチャであっても、更新情報を共有することができるようになる。
【００６０】
このように、プリントサーバシステムにおいて、サーバとクライアントで異なるアーキテクチャであっても、ユーザに負担をかけることなく、クライアントにサーバ側のプリンタドライバの更新ファイルを伝えることが可能になる。
【００６１】
尚、以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【００６２】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【図１】
2015184914.tif 000003
【図２】
2015184914.tif 000004
【図３】
2015184914.tif 000005
【図４】
2015184914.tif 000006
【図５】
2015184914.tif 000007
【図６】
2015184914.tif 000008
【図７】
2015184914.tif 000009