情報処理装置、情報処理方法及び情報処理システム
【課題】共有プリンタ、ネットワークプリンタ、ローカルプリンタのプリンタバージョンの同一性を保持する。
【解決手段】ローカルプリンタのプリンタドライバとネットワークプリンタのプリンタドライバとが同一種類のドライバであるか否かを判定するステップ(203)と、ネットワークプリンタのプリンタドライバとローカルプリンタのプリンタのバーションを比較してどちらが最新かを判定するステップ(204)と、ローカルプリンタBのドライバがネットワークプリンタのドライバと同一種類で、ローカルプリンタBのプリンタドライバがネットワークプリンタのプリンタドライバよりも新しいと判定された場合に、ローカルプリンタのプリンタドライバを、プリントサーバとクライアントとにインストールする。
【解決手段】ローカルプリンタのプリンタドライバとネットワークプリンタのプリンタドライバとが同一種類のドライバであるか否かを判定するステップ(203)と、ネットワークプリンタのプリンタドライバとローカルプリンタのプリンタのバーションを比較してどちらが最新かを判定するステップ(204)と、ローカルプリンタBのドライバがネットワークプリンタのドライバと同一種類で、ローカルプリンタBのプリンタドライバがネットワークプリンタのプリンタドライバよりも新しいと判定された場合に、ローカルプリンタのプリンタドライバを、プリントサーバとクライアントとにインストールする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークデバイスのドライバを制御サーバにインストールする情報処理装置及びドライバインストール方法に関するものである。
【背景技術】
【0002】
従来、ネットワークプリンタと、クライアントと、プリントサーバと、これらを管理する管理サーバとを備えた印刷システムがある。この従来の印刷システムでは、プリントサーバに共有プリンタが設定され、クライアントに共有プリンタに対応するネットワークプリンタのプリンタドライバがインストールされている。この従来の印刷システムはプリントサーバ経由で印刷を行う。他の従来の印刷システムは、クライアントにローカルプリンタを接続し、プリントサーバを経由せずに、ローカルプリンタから直接印刷を行う。
【0003】
共有プリンタ及びネットワークプリンタの設定は、プリントサーバに対してのプリンタドライバのインストール及び共有化の設定と、クライアントに対しての共有プリンタに対応するプリンタドライバのインストールにより行う。
【0004】
ローカルプリンタも併用する印刷システムにおいては、ローカルプリンタに対応するプリンタドライバがクライアントにインストールされている。ここで、プリンタドライバとは、製造元、仕向け、PDL(例えば、PCL、PostScriptなどの印刷ジョブを形成するためのページ記述言語)、バージョンといった属性を有する。プリンタドライバは、機能の向上や障害への対応のために、随時バージョンアップがなされる。このバージョンアップに伴って、プリンタドライバの再インストールが必要になる。
【0005】
ところで、プリントサーバ経由で印刷する印刷システムでは、プリントサーバの共有プリンタとクライアントのネットワークプリンタとの間で、プリンタドライバの同一性を保持する必要がある。また、ローカルプリンタを加えた印刷システムでも共有プリンタやネットワークプリンタのプリンタドライバに対するローカルプリンタのプリンタドライバの同一性を保持する必要がある。
【0006】
Microsoft社(商標)のオペレーティングシステムは、ポイントアンドプリント機能を利用して、プリントサーバの共有プリンタのプリンタドライバのバージョンアップを行う。このとき、その共有プリンタに対応するクライアントのネットワークプリンタのプリンタドライバを自動的にバーションアップすることが試みられている(非特許文献1参照)。
【非特許文献1】「Windows Point and Print Technical Overview」、Microsoft社、Published:March 21,2003、Update:Nov.20,2006
【発明の開示】
【発明が解決しようとする課題】
【0007】
非特許文献1の技術によれば、プリントサーバの共有プリンタのプリンタドライバと、共有プリンタに対応するクライアントのネットワークプリンタの同一性が保持される。しかし、クライアントにさらにローカルプリンタを接続した場合は、プリントサーバの共有プリンタとローカルプリンタのプリンタドライバとのバージョンが相互に異なる場合がある。この場合、クライアントからプリントサーバ経由で印刷することができなくなるか、又は不適切な印刷結果となることがある。
【0008】
この結果、プリントサーバの共有プリンタのプリンタドライバとネットワークプリンタのプリンタドライバの同一性が失われ、クライアントからネットワークプリンタを利用してプリントサーバ経由で印刷ができなくなるか、又は不適切な印刷結果となってしまう。
【0009】
本発明は、上記課題に鑑みて案出されたものであり、その目的は、プリンタドライバを更新する際に、共有プリンタ、ネットワークプリンタ、ローカルプリンタのプリンタバージョンの同一性を保持することにある。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明は、 ネットワークデバイスのドライバを制御サーバに転送する情報処理装置において、クライアント装置に対してローカル接続されているローカルデバイスのドライバと、クライアント装置に対してネットワークを介して接続されている前記ネットワークデバイスのドライバとが同一種類のドライバであるか否かを判定し、前記ネットワークデバイスのドライバと前記ローカルデバイスのドライバのバージョンを比較してどちらが新しいかを判定する判定手段と、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと同一種類であり、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバよりも新しいと前記判定手段が判定した場合に、前記ローカルデバイスのドライバを前記制御サーバに対して前記ネットワークデバイスのドライバとして転送する転送手段とを備える。
【0011】
また、本発明は、ネットワークデバイスのドライバを制御サーバに転送する情報処理方法において、クライアント装置に対してローカル接続されているローカルデバイスのドライバと、クライアント装置に対してネットワークを介して接続されている前記ネットワークデバイスのドライバとが同一種類のドライバであるか否かを判定し、前記ネットワークデバイスのドライバと前記ローカルデバイスのドライバのバージョンを比較してどちらが新しいかを判定する判定ステップと、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと同一種類であり、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバよりも新しいと前記判定ステップで判定した場合に、前記ローカルデバイスのドライバを前記制御サーバに対して前記ネットワークデバイスのドライバとして転送する転送ステップと、を備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、ネットワークプリンタのドライバ更新を伴うローカルプリンタの更新が発生した場合に、各プリンタが正常に動作する印刷環境を維持することができ、ユーザの保守・管理面での利便性を向上することができる。
【発明を実施するための最良の形態】
【0013】
(前提技術)
以下は本発明の前提を示す。前提として、ネットワークプリンタとローカルプリンタは同一機種か、同じプリンタドライバで動作する機種とする。
【0014】
図13において、最初に、プリントサーバにはプリンタドライバA(v100)により共有プリンタAを設定する。次に、クライアントに、共有プリンタに対応するネットワークプリンタのプリンタドライバとして、プリンタAに同一種類のプリンタドライバA(v100)をインストールする。
【0015】
したがって、共有プリンタとネットワークプリンタのドライババージョンがともに(v100)となり、相互に同一性が保たれているので、不具合は発生しない。また、ポイントアンドプリント機能によるバージョンアップの際も共有プリンタとネットワークプリンタのバージョンが、同じバージョン、例えば、(v200)に更新され、相互に同一性が保たれるので、不具合が発生することはない。
【0016】
しかし、クライアントにローカルプリンタBを接続し、クライアントにおいて、ローカルプリンタBのプリンタドライバのバージョンを(v100)からバージョン(v200)にバーションアップする。このとき、クライアントのネットワークプリンタAのバージョンは(v100)から(v200)にバージョンアップされる。しかし、プリントサーバの共有プリンタのバーションアップはなされず、(v100)のままとなる。
(全体構成)
以下、本実施形態に係る情報処理装置及び情報処理方法について、図面を参照して説明する。図1は本実施形態にかかる情報処理システムの一例である。本実施形態は、ネットワークプリンタ2000と、クライアント3000と、プリントサーバ(制御サーバ)4000と、これらを管理する管理サーバ(情報処理装置)1000を有する。
【0017】
クライアント3000は、通常のLAN若しくはIEEE1394やUSB等の双方向シリアルインタフェースから構成される通信回線5000により、プリントサーバ4000経由でネットワークプリンタ2000から印刷する。
プリントサーバ4000には、共有プリンタを設定するためのプリンタドライバがインストールされている。クライアント3000には、共有プリンタに対応するネットワークプリンタ2000を設定するため、共有プリンタと同じ種類及び同じバージョンのプリンタドライバがインストールされている。
【0018】
クライアント3000には、シリアルケーブルを介してローカルプリンタBが接続されている。ユーザが使用するプリンタをローカルプリンタBに切り替えると、プリントサーバ4000を経由せずに直接ローカルプリンタBから印刷することができる。
【0019】
プリントサーバ経由で印刷を行う場合、印刷ジョブを形成するためのドキュメント設定は、クライアント3000のネットワークプリンタ2000が行い、デバイス設定及びスプーリングはプリントサーバ4000の共有プリンタが行う。
【0020】
なお、ドキュメント設定とは、印刷ジョブを形成するための用紙サイズ、部数、給紙方法など印刷個別に設定することをいう。また、デバイス設定とは、ネットワークプリンタ2000が一意に決める設定であり、ポート設定、ネットワークプリンタ2000で使用可能な排紙オプションを含む。すなわち、ドキュメント設定は、クライアント個別に設定する項目であり、デバイス設定は、クライアント共通に設定する項目である。また、印刷ジョブを形成するためのレンダリング処理は、プリントサーバ4000が行う場合もある。
【0021】
このように、プリントサーバ4000経由での印刷の場合、クライアント3000とプリントサーバ4000のプリンタドライバが対として印刷を行う。ローカルプリンタB接続した場合、前記したドキュメント設定、デバイス設定、レンダリング処理、スプール処理、ポート処理などの印刷のための処理を全てクライアント3000が行う。
【0022】
管理サーバ1000とクライアント3000、管理サーバ1000とプリントサーバ4000間の通信は、クライアント3000やプリントサーバ4000のオペレーティングシステム上にエージェントサービスをインストールすることにより実現する。
【0023】
(管理サーバ)
以下、図2を参照して本発明の一例である情報処理システムの各部を具体的に説明する。
管理サーバ1000は、各種処理を実行するための管理サーバ側中央演算処理装置1800を有する。管理サーバ1000は、主にIT管理者が管理するネットワークプリンタを探索し、探索したネットワークプリンタが正常動作しているか否かを監視する。管理サーバ1000は、またネットワークプリンタBが保持するMIB(Management Information Base)情報等の設定を一括して行う。管理サーバ1000は、またプリントサーバや複数のクライアント3000に対して、ネットワークプリンタ2000に対応した適切なプリンタドライバのインストール又はアンインストール処理を指示する。
【0024】
管理サーバ側データ制御部1700は、NVRAM等であり、システムプログラム、アプリケーションプログラム及び関連データを管理サーバ側記録媒体読取制御部1600から読み込んでロードする。
管理サーバ側記憶部1500は、管理サーバ側データ制御部1700上のプログラムが利用するデータを保存する。管理サーバ側記憶部1500としては、記録媒体、例えば、メモリ、HDD(ハードディスク)、光、磁気ディスク、又はこれらの組み合わせた装置から成る。システムプログラム及びアプリケーションプログラムは、管理サーバ側表示部1100上のユーザインターフェィス(図示せず)から入力された情報を処理する。また、システムプログラム及びアプリケーションプログラムは、管理サーバ側インターフェース制御部1400を介してデータの入出力を行う。
【0025】
管理サーバ1000には、管理サーバ側表示部1100としてCRTディスプレイ又は液晶ディスプレイが接続され、管理サーバ側入力部1200としては、キーボード、マウス等のポインティングデバイスが接続される。
管理サーバ側デバイス管理アプリケーション部1710は、NVRAM等の管理サーバ側データ制御部1700上で動作する。管理サーバ側デバイス管理アプリケーション部1710は、管理サーバ側ドライバ制御部1711、管理サーバ側情報管理部1712、管理サーバ側ドライバ保管部1713を有する。管理サーバ側情報管理部1712は、HDD等の管理サーバ側記憶部1500上に確保されたデータ記録部、すなわち、データベースを構成する。
【0026】
管理サーバ側ドライバ制御部1711は、プリンタ追加やドライバ更新といったタスク(以下、ドライバタスクという)を生成する。本実施形態では、管理サーバ側デバイス管理アプリケーション部1710上の管理サーバ側ドライバ制御部1711が、管理サーバ側情報管理部1712、管理サーバ側ドライバ保管部1713を制御する。
【0027】
管理サーバ側ドライバ保管部1713は、管理サーバ側記憶部1500上に確保されたFTPやHTTPなどプロトコルにおける仮想ディレクトリ部を形成する。また、管理サーバ側ドライバ保管部1713は、FTPサーバ、HTTPサーバ、もしくはファイルサーバといったサーバとして機能し、プリンタドライバを格納する。
【0028】
管理サーバ側情報管理部1712は、データベースを構成する。管理サーバ側情報管理部1712は、テーブル(図5参照)以外に、管理サーバ側ドライバ制御部1711が提供するUI設定情報(図8参照)や管理サーバ側ドライバ保管部1713に保管しているプリンタドライバの情報を管理する手段として機能する。また、管理サーバ側ドライバ制御部1711は、後述するクライアント側ドライバ管理サービス部3710やプリントサーバ側ドライバ管理サービス部4710に対して、ドライバタスクを実行する。なお、管理サーバ側ドライバ制御部1711や管理サーバ側ドライバ保管部1713を管理サーバ1000とは別のサーバに設けてもよい。
【0029】
(ネットワークプリンタ)
ネットワークプリンタ2000は、ネットワークプリンタ側中央演算処理装置2800により各種処理を実行する。
ネットワークプリンタ側データ制御部2700は、NVRAM等であり、ネットワークプリンタ側記録媒体読取制御部2600を介して読み込んだシステムプログラム、アプリケーションプログラム及び関連データをロードする。
【0030】
ネットワークプリンタ側記憶部2500は、ネットワークプリンタ側データ制御部2700上のプログラムが利用するデータを保存する。システムプログラム及びアプリケーションプログラムは、ネットワークプリンタ側表示部2100上のユーザインターフェイス(図示せず)から入力された情報を処理する。さらに、システムプログラム、アプリケーションプログラムは、ネットワークプリンタインターフェイス制御部2400を介してデータの入出力を行う。
【0031】
ネットワークプリンタ2000は、デバイスインタフェース制御部2850及びプリンタエンジン部2900を介して印刷処理を行う。ネットワークプリンタ2000は、印刷機能のみを有するシングルファンクションペリフェラル(SFP)のプリンタでもよいし、印刷機能以外に、スキャナ、コピー、ファクス機能等を有する複合機(マルチファンクションペリフェラル(MFP))であってもよい。
【0032】
ネットワークプリンタ2000は、MIBと呼ばれるデバイス情報を保持する。印刷情報の取得や印刷の設定は、管理者が管理サーバ1000からネットワークを介して行う。クライアント側ドライバ管理サービス部3710やプリントサーバ側ドライバ管理サービス部4710は、ドライバのインストール機能を有するエージェントサービスのプログラムから構成される。また、エージェントサービスのプログラムは、ドライバ制御部1711との間でSOAP(Simple Object Access Protocol)等のプロトコルを利用するWebサービスにより通信を行う。
【0033】
(クライアント)
クライアント3000は、管理サーバ1000と同様、クライアント側中央演算処理装置3800により各種処理を実行する。
クライアント側データ制御部3700は、NVRAM等であり、クライアント側記録媒体読取制御部3600から読み込んだシステムプログラム、アプリケーションプログラム及び関連データをロードする。
【0034】
クライアント側記憶部3500は、クライアント側データ制御部3700上のプログラムが利用するデータを保存する。クライアント側記憶部3500は、記憶可能な媒体、例えば、メモリ、HDD(ハードディスク)、光、磁気ディスク、又はこれらの組み合わせた装置から構成される。
【0035】
システムプログラム及びアプリケーションプログラムは、クライアント側表示部3100のユーザインターフェィス(図示せず)から入力された情報を処理する。また、システムプログラム及びアプリケーションプログラムは、クライアント側入力部3200から入力された情報を処理する。システムプログラム及びアプリケーションプログラムは、クライアント側インターフェィス制御部3400を介してデータの入出力を行う。
【0036】
クライアント側表示部3100として、CRTディスプレイ又は液晶ディスプレイ等の表示装置が接続され、クライアント側入力部3200としてはキーボードやマウスなどのポインティングデバイスが接続される。クライアント側ドライバ管理サービス部3710は、NVRAM等のクライアント側データ制御部3700上で動作する。
【0037】
ここで、クライアント側ドライバ管理サービス部3710は、ドライバのインストール機能を有するエージェントサービスのプログラムである。また、エージェントサービスのプログラムは、管理サーバ1000のドライバ制御部1711との間で所謂SOAPなどのプロトコルを利用するWebサービスにより通信を行う。エージェントサービスは、管理サーバ側ドライバ制御部1711との通信により、管理サーバ側ドライバ保管部1713に格納されているプリンタドライバを取得し、プリンタドライバのインストールを行う機能を有する。
【0038】
(プリントサーバ)
プリントサーバ4000は、管理サーバ1000と同様に、中央演算処理装置4800により各種処理を実行する。
プリントサーバ側データ制御部4700は、NVRAM等であり、プリントサーバ側読取制御部4600から読み込んだシステムプログラム、アプリケーションプログラム及び関連データをロードする。
【0039】
プリントサーバ側記憶部4500は、プリントサーバ側データ制御部4700上のプログラムが利用するデータを保存する。プリントサーバ側記憶部4500は、記憶可能な媒体、例えば、メモリ、HDD(ハードディスク)、光、磁気ディスクから構成するか又はこれらの組み合わせ装置から構成される。
【0040】
システムプログラム及びアプリケーションプログラムは、プリントサーバ側表示部4100上のユーザインターフェイス(図示せず)から入力された情報を処理する。また、システムプログラム及びアプリケーションプログラムは、プリントサーバ側インターフェィス制御部4400を介してデータの入出力を行う。
【0041】
プリントサーバ側表示部4100としては、CRTディスプレイ、液晶ディスプレイなどの表示装置を接続し、プリントサーバ側入力部4200としては、キーボードやマウスなどのポインティングデバイスを接続する。
また、プリントサーバ側ドライバ管理サービス部4710は、NVRAM等のプリントサーバ側データ制御部4700上で動作する。プリントサーバ側ドライバ管理サービス部4710もプリンタドライバのインストール機能を有するエージェントサービスのプログラムから構成され、ドライバ制御部1711との間で所謂SOAPなどのプロトコルを利用するWebサービスにより通信を行う。
【0042】
図3は、本実施形態にかかる情報処理装置のネットワーク印刷における印刷経路を示し、図4は、ローカルプリンタを接続した場合の情報処理装置の印刷の印刷経路を示す。
図3中、実線で示すように、ネットワーク印刷のみの場合、印刷データをクライアント3000からネットワークを経由してネットワークプリンタ2000に送信する。図4に示すように、クライアント3000からローカルプリンタBで印刷する場合は、図4中、点線で示すように、クライアント3000からプリンタ2001に直接、印刷データを送信する。
【0043】
このように、本実施形態では、ローカルプリンタBを通信回線5000に接続することにより、ネットワーク印刷とローカルプリンタBによる印刷が可能になる。
ネットワークプリンタ2000ではプリントサーバ4000経由で印刷を行うため、印刷モード<EMF>でのレンダリング処理やスプーリングをプリントサーバ4000側で行う。更に、プリンタドライバのプリンタのプロパティは、管理サーバ1000優先となるために、正常に印刷できないか、印刷設定が行えない場合がある。
【0044】
このため、本実施形態では、ローカルプリンタBとネットワークプリンタ2000のプリンタドライバのバージョンを比較する。ローカルプリンタBのバーションが高い場合は、本実施形態は、ローカルプリンタBのプリンタドライバを、プリントサーバ4000にインストールして共有プリンタを設定する。本実施形態は、共有プリンタのプリンタドライバのバージョン、ネットワークプリンタ2000のドライバのバージョン、ローカルプリンタBの同一性を保持する。以下、プリンタドライバの更新処理を詳細に説明する。
【0045】
(プリンタドライバの更新前)
まず、本実施形態におけるプリンタドライバの更新前の状態について説明する。
図5は、管理サーバ側情報管理部1712に格納されているデータベーステーブルを示す。図5に示すように、プリントサーバ4000に対しては、ドライバ名が<ドライバA>であって、バージョンが<100>であるプリンタドライバによってサポートされるプリンタ名<プリンタA>が設定されている。プリンタAは、共有名<共有A>の共有プリンタとされている。
【0046】
管理サーバ側ドライバ制御部1711は、プリントサーバ4000をまだ管理しておらず、図5に示す管理データを保持していない状態である。また、プリントサーバ4000に対して、まだ、管理サーバ側ドライバ制御部1711と通信するアプリケーション(以下、エージェントサービスアプリケーションという)がインストールされていない。また、プリントサーバ側ドライバ管理サービス部4710がまだ生成されていない。
【0047】
クライアント3000側では、共有名<共有A>の共有プリンタに対応したプリンタ名<プリンタA>のネットワークプリンタ2000が、ポイントアンドプリント機能によりクライアント3000にインストールされている。クライアント3000には、管理サーバ側ドライバ制御部1711と通信するためのエージェントサービスであるクライアント側ドライバ管理サービス部3710が生成されていない。
【0048】
プリントサーバ4000の共有プリンタのプリンタドライバと、クライアント3000のネットワークプリンタ2000のプリンタドライバは、互いに同一種類でかつ同一バージョンであり、相互に整合性が取れている。
このような前提条件の下、管理サーバ側ドライバ制御部1711が、クライアント3000に対して、ローカルプリンタBのプリンタドライバをプリンタドライバディスクからインストールするものとする。
【0049】
また、プリンタドライバのバージョンアップの際は、ローカルプリンタBのプリンタドライバのバージョンが、ネットワークプリンタ2000のプリタドライバのバージョンよりも新しいバージョンであるものとする。
例えば、バージョンアップ前のネットワークプリンタ2000のプリンタドライバのドライバ名が<ドライバA>、バージョンが<100>であり、ローカルプリンタBのプリンタ名が<プリンタA>、バージョンが<200>であるものとする。
【0050】
ここで、各プリンタ名は、ネットワークプリンタ2000と同じプリンタ名でもよいし、異なっていてもよい。また、ドライバタスクはプリンタの追加ではなく、プリンタドライバの更新であってもよい。つまり、ドライバタスクには、クライアント3000のネットワークプリンタ2000で使用されているドライバを更新する処理が伴うものとする。
【0051】
(プリンタドライバの更新処理)
プリンタドライバを更新する場合、次の処理を実行する。
(1)管理サーバ1000の処理1
(2)クライアント3000の処理1
(3)管理サーバ1000の処理2
(4)プリントサーバ4000の処理1
(5)管理サーバ1000の処理3
(6)プリントサーバ4000の処理2
(7)管理サーバ1000の処理4
(8)クライアント3000の処理2
(9)管理サーバ1000の処理5
(10)クライアント3000の処理3
(11)管理サーバ1000の処理6
【0052】
(1)管理サーバ1000の処理1
図6は管理サーバ側ドライバ制御部1711の動作とプログラムの内容を示すフローチャートである。
まず、管理サーバ側ドライバ制御部1711が、クライアント3000に対するドライバタスク実行時に、クライアント3000にネットワークプリンタ2000が存在していた場合の動作モードを選択する。管理サーバ側ドライバ制御部1711は、選択した動作モードを管理サーバ側情報管理部1712に保存する(図6、ステップ100)。この場合、図7に示すように、動作モードとして<更新モード1>を選択したものとする。
。
【0053】
まず、管理サーバ側ドライバ制御部1711は、クライアント3000に対するプリンタドライバのドライバタスクを生成する(図6、ステップ101)。
ここで、ドライバタスクを生成するとは、プリンタドライバをインストールするクライアント3000、及びクライアント3000に追加するローカルプリンタBや更新するプリンタドライバの選択をすることを意味する。
【0054】
本実施形態では、ローカルプリンタBにインストールしようとするプリンタドライバのドライバ名が<ドライバA>、バージョンが<200>であり、クライアント3000のネットワークプリンタ2000のプリンタ名が<プリンタA>であるとものとする。
【0055】
次に、管理サーバ側ドライバ制御部1711は、エージェントサービスのプログラムから構成されるクライアント3000のクライアント側ドライバ管理サービス部3710に対して、ドライバタスクを実行する。管理サーバ側ドライバ制御部1711は、また、プリンタドライバをインストールするクライアント3000、及びクライアント3000に追加するローカルプリンタBや更新するプリンタドライバを選択する(図6、ステップ102)。
なお、動作モードには、図8に示すように、更新モード1、更新モード2、更新モード3を有する。
【0056】
(更新モード1)
更新モード1は、プリントサーバ4000が管理サーバ1000の管理下ではない場合に、プリントサーバ4000を管理下に置く。そして、プリントサーバ4000の共有プリンタ、クライアント3000のネットワークプリンタ2000、及びローカルプリンタBが使用するプリンタドライバの整合性を取るモードである。
【0057】
ここで、プリントサーバ4000を管理サーバ1000の管理下に置くとは、具体的には、管理サーバ側ドライバ制御部1711の管理下に置くことをいう。具体的には、管理サーバ側ドライバ制御部1711の管理下に置くとは、プリントサーバ4000にエージェントサービスのプログラムをインストールしてプリントサーバ側ドライバ管理サービス部4710を構成する。続いて、図5に示すように、プリントサーバ4000の共有プリンタ情報を、管理サーバ側情報管理部1712にて管理することをいう。
【0058】
(更新モード2)
更新モード2は、プリントサーバ4000が管理サーバ側ドライバ制御部1711の管理下のクライアントである場合に実行される。更新モード2では、プリントサーバ4000の共有プリンタ、クライアント3000のネットワークプリンタ2000、及びローカルプリンタBのプリンタドライバの整合性を取る。ここで、プリンタドライバの整合性を取るとは、プリンタドライバの種類やバージョンの同一性をとり、各プリンタドライバが正常に動作するようにすることである。
【0059】
(更新モード3)
更新モード3は、プリントサーバ4000が管理サーバ側ドライバ制御部1711の管理下に置かれているか否かにかかわらず、クライアント3000のネットワークプリンタ2000のプリンタドライババージョンを優先するモードである。
【0060】
(2)クライアント3000の処理1
図9はクライアント側ドライバ管理サービス部3710(エージェントサービス)の動作とプログラムの内容を示すクライアント処理フローである。
まず、クライアント3000のエージェントサービスであるクライアント側ドライバ管理サービス部3710は、ドライバタスクを受け取って、そのタスクの内容を解析する(図9、ステップ200)。
【0061】
タスク内容の解析とは、プリンタ追加の場合は、どのプリンタドライバのどのプリンタを追加するのかを判定することをいう。タスク内容の解析とは、プリンタドライバ更新の場合は、どの種類のドライバでどのバージョンのプリンタドライバを更新するかを判定することをいう。
【0062】
プリンタドライバの判定は、プリンタドライバのバージョンや言語や仕向けといったドライバの情報(属性)を含めて行われる。更には、プリンタドライバの判定は、そのドライバセットの取得先情報も含めて行われる。本実施形態では、管理サーバ側ドライバ保管部1713のロケーションがドライバセットの取得先となる。
【0063】
クライアント側ドライバ管理サービス部3710は、ローカルプリンタのプリンタドライバをインストールするときにインストールプログラムからプリンタドライバの種別、バージョンを含めたドライバの情報を取得する。
クライアント側ドライバ管理サービス部3710は、次に、ドライバの情報を取得する手段に切り替わり、クライアント3000に既にインストールされているプリンタドライバからドライバの情報の取得を行う(図9、ステップ201)。ドライバの情報とは、前記したドライバの情報以外に、ネットワークプリンタ2000の情報であるかローカルプリンタBの情報であるかの情報を含む。
【0064】
クライアント側ドライバ管理サービス部3710は、更に、ネットワークプリンタ2000である場合には、そのネットワークプリンタ2100に対応した共有プリンタのプリントサーバ情報を取得する。これらの情報は、クライアント3000のレジストリなどの記憶領域に登録しており、周知のように、レジストリを探索するか、もしくはオペレーティングシステムが提供するAPIを利用して取得する。
【0065】
次に、エージェントサービスのプログラムであるクライアント側ドライバ管理サービス部3710は、クライアント3000にネットワークプリンタ2100が存在するか否かを判定する(図9、ステップ202)。YESの場合は、ステップ204に進む。
【0066】
次に、クライアント側ドライバ管理サービス部3710は、ドライバの種類を判定する判定手段に切り替わる。そして、前記ドライバタスクで選択されたプリンタドライバとネットワークプリンタ2000を設定するために、予めインストールされているプリンタドライバに対して同一種類のプリンタドライバか否かを判定する(図9、ステップ203)。YESの場合は、ステップ204に進む。
【0067】
次に、クライアント側ドライバ管理サービス部3710は、プリンタドライバのバージョン同士を比較して、同一性を判定する判定手段に切り替わる。クライアント側ドライバ管理サービス部3710は、前記ドライバタスクで選択されたプリンタドライバのバージョンと、ネットワークプリンタ2000としてインストールされているプリンタドライバのバージョンとを比較する(図9、ステップ204)。
【0068】
クライアント側ドライバ管理サービス部3710は、前記ステップ204の判定にて、ドライバタスクで指定されたプリンタドライバのバーションの方が高い場合(新しい場合、すなわちYESの場合)は、ステップ205に進む。バージョンが古い場合、すなわちNOの場合は、ステップ206に進む。
次に、クライアント側ドライバ管理サービス部3710は、管理サーバ側ドライバ制御部1711に対して、前記ステップ201で取得したネットワークプリンタ情報を送付する(図9、ステップ205)。
【0069】
なお、本実施形態では、クライアント3000には、予めバージョン<100>、共有名<共有A>の共有プリンタに対応したプリンタドライバAがインストールされ、ネットワークプリンタ2000が設定されている。
【0070】
(3)管理サーバ1000の処理2
図6に示すように、管理サーバ側ドライバ制御部1711が、クライアント側ドライバ管理サービス部3710からのネットワークプリンタ情報を受け取り、管理サーバ側情報管理部1712へ保存する(図6、ステップ103)。本実施形態では、図12に示すように、予めクライアント3000には、プリンタドライバAがインストールされており、そのバージョンはバージョン(v100)である。
【0071】
管理サーバ側ドライバ制御部1711は、管理サーバ側情報管理部1712にアクセスし、ここで管理しているプリントサーバ4000及びその共有プリンタの情報を取得する(図6、ステップ104)。この一例を図5に示す。なお、前記したように、本実施形態では、この時点では管理サーバ側ドライバ制御部1711の管理下のプリントサーバ情報はないものとする。
【0072】
次に、管理サーバ側ドライバ制御部1711は、管理サーバ側情報管理部1712にアクセスし、ステップ100で設定した管理先の動作モード設定情報を取得する(図6、ステップ105)。そして、動作モードの設定は、管理サーバのインストール動作を設定することの一例である。すなわち、動作モード1であるか、動作モード2であるかの設定内容に応じて、以降の管理サーバにおけるドライバの転送処理の制御を行なう。
ここでは、取得した動作モード設定情報は、図7に示すように、動作モードが<更新モード1>であるものとする。
【0073】
次に、管理サーバ側ドライバ制御部1711は、動作モードが更新モード1若しくは更新モード2であるかを判定し(図6、ステップ106)、YESの場合はステップ107に進む。
次に、管理サーバ側ドライバ制御部1711は、ステップ103で取得したネットワークプリンタ情報と、ステップ104で取得したプリントサーバ4000及びその共有プリンタ情報を比較する(図6、ステップ107)。
【0074】
ステップ107での比較は、管理サーバ側ドライバ制御部1711が、クライアント3000のネットワークプリンタ2000に対応した共有プリンタがインストールされているプリントサーバ4000を、管理しているか否かを判定することをいう。ステップ107で、判定の結果がNOの場合は、ステップ108に進む。
【0075】
次に、管理サーバ側ドライバ制御部1711は、プリントサーバ4000を管理サーバ側ドライバ制御部1711の管理下におくため、プリントサーバ4000に対してエージェントサービスを配信するためのタスクを作成する(図6、ステップ108)。
次に、管理サーバ側ドライバ制御部1711は、プリントサーバ4000に対してエージェントタスクを実行する(図6、ステップ109)。プリントサーバ4000に対してのエージェントサービスのインストールには、例えば、Microsoft(商標)社のOSに同梱されているWMI等のリモート配信技術を利用する。
【0076】
(4)プリントサーバ4000の処理1
図10は、プリントサーバ側ドライバ管理サービス部4710の動作とプログラムの内容を示すプリントサーバ処理フローである。
プリントサーバ側データ制御部4700は、管理サーバ側ドライバ制御部1711からのエージェントタスク処理に対応して、エージェントサービスのプログラムのインストール処理を行う。エージェントサービスのプログラムは、プリントサーバ側ドライバ管理サービス部4710を構成する(図10、ステップ300)。
【0077】
次に、プリントサーバ側データ制御部4700は、プリントサーバ側ドライバ管理サービス部4710のインストール処理が成功したか否かを判定する(図10、ステップ301)。YESの場合は、ステップ302に進む。
次に、プリントサーバ側ドライバ管理サービス部4710は、プリントサーバ4000に既に共有プリンタがインストールされているか等を示すプリントサーバ情報を取得する(図10、ステップ302)。
【0078】
続いて、プリントサーバ側ドライバ管理サービス部4710は、管理サーバ側ドライバ制御部1711に対して、ステップ301、及びステップ302で取得した情報を返す(図10、ステップ303)。
【0079】
(5)管理サーバ1000の処理3
図6に示すように、管理サーバ側ドライバ制御部1711は、プリントサーバ4000のプリントサーバ側ドライバ管理サービス部4710からのエージェントタスクの結果からエージェントタスクが成功したか否かを判定する(図6、ステップ110)。YESの場合は、ステップ111に進む。
【0080】
次に、管理サーバ側ドライバ制御部1711は、プリントサーバ側ドライバ管理サービス部4710からのプリントサーバ情報を管理サーバ側情報管理部1712へ登録する(図6、ステップ111)。
本実施形態では、図5のプリントサーバ名<プリントサーバA>の情報が登録されたものとする。
【0081】
次に、管理サーバ側ドライバ制御部1711は、再度ステップ107の判定処理を行う(図6、ステップ107)。YESの場合は、ステップ112に進む。
次に、管理サーバ側ドライバ制御部1711は、プリントサーバ4000の共有プリンタに対するドライバ更新タスクを作成する(図6、ステップ112)。
【0082】
ドライバ更新タスクとは、プリントサーバ4000の共有名が<共有A>のプリンタドライバAをバージョン<100>から<200>に更新するためのタスクを作成することをいう。
次に、管理サーバ側ドライバ制御部1711は、プリントサーバ側ドライバ管理サービス部4710に対して、作成したドライバタスクを実行する(図6、ステップ113)。その結果、管理サーバ側ドライバ制御部1711は、プリントサーバ側ドライバ管理サービス部4710とともに、ドライバのインストール手段として機能する。
【0083】
(6)プリントサーバ4000の処理2
図11は、プリントサーバ側ドライバ管理サービス部4710のエージェントサービスの動作とプログラムの内容を示すプリントサーバ処理フローである。
【0084】
プリントサーバ側ドライバ管理サービス部4710は、ドライバのインストール手段として、共有プリンタである共有プリンタAのプリンタドライバを更新する。すなわち、プリントサーバに予めインストールされていたプリンタドライバのバージョンを<100>から<200>へバージョンアップする(図11、ステップ304)。
プリントサーバ側ドライバ管理サービス部4710は、管理サーバ側ドライバ制御部1711に対して、タスク結果を返す(図11、ステップ305)。
【0085】
(7)管理サーバ1000の処理4
図6に示すように、管理サーバ側ドライバ制御部1711は、ステップ113のドライバタスクが成功したかを判定する(図6、ステップ114)。YESの場合は、ステップ115に進む。
【0086】
次に、管理サーバ側ドライバ制御部1711は、クライアント側ドライバ管理サービス部3710に対して、ネットワークプリンタ2000の更新を伴うドライバタスク処理を指示する(図6、ステップ115)。
【0087】
(8)クライアント3000の処理2
図9に示すように、クライアント側ドライバ管理サービス部3710は、ネットワークプリンタ2000のプリンタドライバ更新を伴うローカルプリンタBのインストール処理を実行する(図9、ステップ206)。
【0088】
これにより、プリントサーバ4000の共有プリンタ、クライアント3000のネットワークプリンタ2000、及びローカルプリンタBのために、同一種類、且つ最新の同一バージョンのプリンタドライバがインストールされる。この結果、ネットワークプリンタ、共有プリンタ及びローカルプリンタの整合性、すなわち同一性が実現される。
【0089】
次に、クライアント側ドライバ管理サービス部3710は、ドライバタスク結果を管理サーバ側ドライバ制御部1711へ返す(図9、ステップ207)。
【0090】
(9)管理サーバ1000の処理5
図6に示すように、管理サーバ側ドライバ制御部1711は、クライアント側ドライバ管理サービス部3710からのタスク結果を受けて、タスク終了処理を行う(図6、ステップ116)。
【0091】
ここでのタスク終了処理とは、タスクが正常に終了したか、失敗して終了したかを、IT管理者に、管理サーバ側表示部1100などを通して、通知することを意味する。
一方、先のステップ110で、プリントサーバ4000に対するエージェントサービスのタスク処理が失敗した場合、もしくは先のステップ114で、プリントサーバ4000のプリンタタスクが失敗した場合には、図9のステップ208に進む。
【0092】
(10)クライアント3000の処理3
図9に示すように、クライアント側ドライバ管理サービス部3710は、ドライバタスク処理を終了し(図9、ステップ208)、ステップ207へ進む。すなわち、クライアント3000へのドライバタスクを取りやめる。
次に、先のステップ100において、動作モードとして<更新モード2>が選択された場合を記す。
【0093】
この場合、管理サーバ側ドライバ制御部1711は、クライアント3000のネットワークプリンタ2000に対応した共有プリンタのプリントサーバ4000を管理下におき、図5の情報をすでにテーブルに登録しているものとする。
【0094】
(11)管理サーバ1000の処理6
図6に示すステップ107において、管理サーバ側ドライバ制御部1711は、クライアント3000のネットワークプリンタ2000に対応した共有プリンタのプリントサーバ4000を管理下に置いているため、YESと判定される。
【0095】
以降の処理は、先に説明した図6のステップ112〜116、図9のステップ206〜208、図11のステップ304〜305と同じ処理フローとなる。
ステップ100において、動作モードとして<更新モード3>が選択された場合について説明する。
【0096】
この場合は、管理サーバ側ドライバ制御部1711は、ステップ106において、NOと判定される。
次に、管理サーバ側ドライバ制御部1711が、クライアント側ドライバ管理サービス部3710に対して、更新モード3であるところの、ネットワークプリンタ2000のバージョンを優先する指示を出す(図6、ステップ117)。すなわち、図9のステップ208〜209、図6のステップ116と同様の処理フローとなる。
【0097】
一方、ステップ202において、クライアント側ドライバ管理サービス部3710が、クライアント3000にネットワークプリンタ2000が存在しないと判定した場合には、NOと判定され、前記ステップ206、207を行う。
また、ステップ203において、クライアント側ドライバ管理サービス部3710は、ドライバタスクで指定されたプリンタドライバとネットワークプリンタ2000のプリンタドライバが同一種類ではないと判定した場合には、前記ステップ206、207を行う。
【0098】
また、ステップ204において、クライアント側ドライバ管理サービス部3710が、ドライバタスクでしてされたドライババージョンの方が低い場合に、前記ステップ206、ステップ207を行う。
【0099】
以上述べたように、本実施形態によれば、ドライバの更新が発生した場合に、各プリンタが正常に動作する印刷環境を維持することができ、ユーザの保守・管理面での利便性を向上することができる。
【0100】
なお、本発明は種々の改変が可能であり、改変された発明に本発明が及ぶことは当然である。例えば、上述した実施形態では、本発明をプリンタドライバを更新する場合について適用したが、ネットワークデバイスとローカルデバイスとの間でドライバの同一性を保つ必要がある他のデバイスに適用することが可能である。また、上述した実施形態では、管理サーバがクライアントに対してインストールするドライバの種類及び同一性を判定するドライバタスクを実行し、プリントサーバに対してドライバ更新タスクを実行した。しかし、本発明はこれに限定されず、単一のサーバまたはクライアントでタスクを実行してもよいし、実施形態とは異なる構成の複数のサーバ及びクライアントによって実行してもよい。
【0101】
本発明を実現するコンピュータプログラムをコンピュータによる読み取り可能な記録媒体に記録し、この記録媒体に記録されたコンピュータプログラムをコンピュータのそれぞれに読み込ませ、実行することによって本発明の情報処理装置を実現することができる。すなわち、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【図面の簡単な説明】
【0102】
【図1】本発明の一実施形態にかかる情報処理装置が適用されるシステム概念図である。
【図2】本発明の一実施形態にかかる情報処理装置が適用されるシステムブロック図である。
【図3】本発明の一実施形態にかかる情報処理装置が適用されるシステム概念図である。
【図4】本発明の一実施形態にかかる情報処理装置が適用されるシステム概念図である。
【図5】本発明の一実施形態にかかるプリントサーバの情報テーブルを示す図である。
【図6】本発明の一実施形態にかかる管理サーバ処理フロー図である。
【図7】本発明の一実施形態にかかる動作モードテーブルである。
【図8】本発明の一実施形態にかかる動作モードの選択図である。
【図9】本発明の一実施形態にかかるクライアントの処理フロー図である。
【図10】本発明の一実施形態にかかるプリントサーバの処理フロー図である。
【図11】本発明の一実施形態にかかるプリントサーバの処理フロー図である。
【図12】本発明の一実施形態にかかるクライアントネットワークプリンタの情報テーブルを示す図である。
【図13】ネットワークプリンタにローカルプリンタを接続した場合の前提を示す概念図である。
【符号の説明】
【0103】
B ローカルプリンタ
1000 管理サーバ、
2000 ネットワークプリンタ
3000 クライアント
4000 プリントサーバ
【技術分野】
【0001】
本発明は、ネットワークデバイスのドライバを制御サーバにインストールする情報処理装置及びドライバインストール方法に関するものである。
【背景技術】
【0002】
従来、ネットワークプリンタと、クライアントと、プリントサーバと、これらを管理する管理サーバとを備えた印刷システムがある。この従来の印刷システムでは、プリントサーバに共有プリンタが設定され、クライアントに共有プリンタに対応するネットワークプリンタのプリンタドライバがインストールされている。この従来の印刷システムはプリントサーバ経由で印刷を行う。他の従来の印刷システムは、クライアントにローカルプリンタを接続し、プリントサーバを経由せずに、ローカルプリンタから直接印刷を行う。
【0003】
共有プリンタ及びネットワークプリンタの設定は、プリントサーバに対してのプリンタドライバのインストール及び共有化の設定と、クライアントに対しての共有プリンタに対応するプリンタドライバのインストールにより行う。
【0004】
ローカルプリンタも併用する印刷システムにおいては、ローカルプリンタに対応するプリンタドライバがクライアントにインストールされている。ここで、プリンタドライバとは、製造元、仕向け、PDL(例えば、PCL、PostScriptなどの印刷ジョブを形成するためのページ記述言語)、バージョンといった属性を有する。プリンタドライバは、機能の向上や障害への対応のために、随時バージョンアップがなされる。このバージョンアップに伴って、プリンタドライバの再インストールが必要になる。
【0005】
ところで、プリントサーバ経由で印刷する印刷システムでは、プリントサーバの共有プリンタとクライアントのネットワークプリンタとの間で、プリンタドライバの同一性を保持する必要がある。また、ローカルプリンタを加えた印刷システムでも共有プリンタやネットワークプリンタのプリンタドライバに対するローカルプリンタのプリンタドライバの同一性を保持する必要がある。
【0006】
Microsoft社(商標)のオペレーティングシステムは、ポイントアンドプリント機能を利用して、プリントサーバの共有プリンタのプリンタドライバのバージョンアップを行う。このとき、その共有プリンタに対応するクライアントのネットワークプリンタのプリンタドライバを自動的にバーションアップすることが試みられている(非特許文献1参照)。
【非特許文献1】「Windows Point and Print Technical Overview」、Microsoft社、Published:March 21,2003、Update:Nov.20,2006
【発明の開示】
【発明が解決しようとする課題】
【0007】
非特許文献1の技術によれば、プリントサーバの共有プリンタのプリンタドライバと、共有プリンタに対応するクライアントのネットワークプリンタの同一性が保持される。しかし、クライアントにさらにローカルプリンタを接続した場合は、プリントサーバの共有プリンタとローカルプリンタのプリンタドライバとのバージョンが相互に異なる場合がある。この場合、クライアントからプリントサーバ経由で印刷することができなくなるか、又は不適切な印刷結果となることがある。
【0008】
この結果、プリントサーバの共有プリンタのプリンタドライバとネットワークプリンタのプリンタドライバの同一性が失われ、クライアントからネットワークプリンタを利用してプリントサーバ経由で印刷ができなくなるか、又は不適切な印刷結果となってしまう。
【0009】
本発明は、上記課題に鑑みて案出されたものであり、その目的は、プリンタドライバを更新する際に、共有プリンタ、ネットワークプリンタ、ローカルプリンタのプリンタバージョンの同一性を保持することにある。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明は、 ネットワークデバイスのドライバを制御サーバに転送する情報処理装置において、クライアント装置に対してローカル接続されているローカルデバイスのドライバと、クライアント装置に対してネットワークを介して接続されている前記ネットワークデバイスのドライバとが同一種類のドライバであるか否かを判定し、前記ネットワークデバイスのドライバと前記ローカルデバイスのドライバのバージョンを比較してどちらが新しいかを判定する判定手段と、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと同一種類であり、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバよりも新しいと前記判定手段が判定した場合に、前記ローカルデバイスのドライバを前記制御サーバに対して前記ネットワークデバイスのドライバとして転送する転送手段とを備える。
【0011】
また、本発明は、ネットワークデバイスのドライバを制御サーバに転送する情報処理方法において、クライアント装置に対してローカル接続されているローカルデバイスのドライバと、クライアント装置に対してネットワークを介して接続されている前記ネットワークデバイスのドライバとが同一種類のドライバであるか否かを判定し、前記ネットワークデバイスのドライバと前記ローカルデバイスのドライバのバージョンを比較してどちらが新しいかを判定する判定ステップと、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと同一種類であり、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバよりも新しいと前記判定ステップで判定した場合に、前記ローカルデバイスのドライバを前記制御サーバに対して前記ネットワークデバイスのドライバとして転送する転送ステップと、を備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、ネットワークプリンタのドライバ更新を伴うローカルプリンタの更新が発生した場合に、各プリンタが正常に動作する印刷環境を維持することができ、ユーザの保守・管理面での利便性を向上することができる。
【発明を実施するための最良の形態】
【0013】
(前提技術)
以下は本発明の前提を示す。前提として、ネットワークプリンタとローカルプリンタは同一機種か、同じプリンタドライバで動作する機種とする。
【0014】
図13において、最初に、プリントサーバにはプリンタドライバA(v100)により共有プリンタAを設定する。次に、クライアントに、共有プリンタに対応するネットワークプリンタのプリンタドライバとして、プリンタAに同一種類のプリンタドライバA(v100)をインストールする。
【0015】
したがって、共有プリンタとネットワークプリンタのドライババージョンがともに(v100)となり、相互に同一性が保たれているので、不具合は発生しない。また、ポイントアンドプリント機能によるバージョンアップの際も共有プリンタとネットワークプリンタのバージョンが、同じバージョン、例えば、(v200)に更新され、相互に同一性が保たれるので、不具合が発生することはない。
【0016】
しかし、クライアントにローカルプリンタBを接続し、クライアントにおいて、ローカルプリンタBのプリンタドライバのバージョンを(v100)からバージョン(v200)にバーションアップする。このとき、クライアントのネットワークプリンタAのバージョンは(v100)から(v200)にバージョンアップされる。しかし、プリントサーバの共有プリンタのバーションアップはなされず、(v100)のままとなる。
(全体構成)
以下、本実施形態に係る情報処理装置及び情報処理方法について、図面を参照して説明する。図1は本実施形態にかかる情報処理システムの一例である。本実施形態は、ネットワークプリンタ2000と、クライアント3000と、プリントサーバ(制御サーバ)4000と、これらを管理する管理サーバ(情報処理装置)1000を有する。
【0017】
クライアント3000は、通常のLAN若しくはIEEE1394やUSB等の双方向シリアルインタフェースから構成される通信回線5000により、プリントサーバ4000経由でネットワークプリンタ2000から印刷する。
プリントサーバ4000には、共有プリンタを設定するためのプリンタドライバがインストールされている。クライアント3000には、共有プリンタに対応するネットワークプリンタ2000を設定するため、共有プリンタと同じ種類及び同じバージョンのプリンタドライバがインストールされている。
【0018】
クライアント3000には、シリアルケーブルを介してローカルプリンタBが接続されている。ユーザが使用するプリンタをローカルプリンタBに切り替えると、プリントサーバ4000を経由せずに直接ローカルプリンタBから印刷することができる。
【0019】
プリントサーバ経由で印刷を行う場合、印刷ジョブを形成するためのドキュメント設定は、クライアント3000のネットワークプリンタ2000が行い、デバイス設定及びスプーリングはプリントサーバ4000の共有プリンタが行う。
【0020】
なお、ドキュメント設定とは、印刷ジョブを形成するための用紙サイズ、部数、給紙方法など印刷個別に設定することをいう。また、デバイス設定とは、ネットワークプリンタ2000が一意に決める設定であり、ポート設定、ネットワークプリンタ2000で使用可能な排紙オプションを含む。すなわち、ドキュメント設定は、クライアント個別に設定する項目であり、デバイス設定は、クライアント共通に設定する項目である。また、印刷ジョブを形成するためのレンダリング処理は、プリントサーバ4000が行う場合もある。
【0021】
このように、プリントサーバ4000経由での印刷の場合、クライアント3000とプリントサーバ4000のプリンタドライバが対として印刷を行う。ローカルプリンタB接続した場合、前記したドキュメント設定、デバイス設定、レンダリング処理、スプール処理、ポート処理などの印刷のための処理を全てクライアント3000が行う。
【0022】
管理サーバ1000とクライアント3000、管理サーバ1000とプリントサーバ4000間の通信は、クライアント3000やプリントサーバ4000のオペレーティングシステム上にエージェントサービスをインストールすることにより実現する。
【0023】
(管理サーバ)
以下、図2を参照して本発明の一例である情報処理システムの各部を具体的に説明する。
管理サーバ1000は、各種処理を実行するための管理サーバ側中央演算処理装置1800を有する。管理サーバ1000は、主にIT管理者が管理するネットワークプリンタを探索し、探索したネットワークプリンタが正常動作しているか否かを監視する。管理サーバ1000は、またネットワークプリンタBが保持するMIB(Management Information Base)情報等の設定を一括して行う。管理サーバ1000は、またプリントサーバや複数のクライアント3000に対して、ネットワークプリンタ2000に対応した適切なプリンタドライバのインストール又はアンインストール処理を指示する。
【0024】
管理サーバ側データ制御部1700は、NVRAM等であり、システムプログラム、アプリケーションプログラム及び関連データを管理サーバ側記録媒体読取制御部1600から読み込んでロードする。
管理サーバ側記憶部1500は、管理サーバ側データ制御部1700上のプログラムが利用するデータを保存する。管理サーバ側記憶部1500としては、記録媒体、例えば、メモリ、HDD(ハードディスク)、光、磁気ディスク、又はこれらの組み合わせた装置から成る。システムプログラム及びアプリケーションプログラムは、管理サーバ側表示部1100上のユーザインターフェィス(図示せず)から入力された情報を処理する。また、システムプログラム及びアプリケーションプログラムは、管理サーバ側インターフェース制御部1400を介してデータの入出力を行う。
【0025】
管理サーバ1000には、管理サーバ側表示部1100としてCRTディスプレイ又は液晶ディスプレイが接続され、管理サーバ側入力部1200としては、キーボード、マウス等のポインティングデバイスが接続される。
管理サーバ側デバイス管理アプリケーション部1710は、NVRAM等の管理サーバ側データ制御部1700上で動作する。管理サーバ側デバイス管理アプリケーション部1710は、管理サーバ側ドライバ制御部1711、管理サーバ側情報管理部1712、管理サーバ側ドライバ保管部1713を有する。管理サーバ側情報管理部1712は、HDD等の管理サーバ側記憶部1500上に確保されたデータ記録部、すなわち、データベースを構成する。
【0026】
管理サーバ側ドライバ制御部1711は、プリンタ追加やドライバ更新といったタスク(以下、ドライバタスクという)を生成する。本実施形態では、管理サーバ側デバイス管理アプリケーション部1710上の管理サーバ側ドライバ制御部1711が、管理サーバ側情報管理部1712、管理サーバ側ドライバ保管部1713を制御する。
【0027】
管理サーバ側ドライバ保管部1713は、管理サーバ側記憶部1500上に確保されたFTPやHTTPなどプロトコルにおける仮想ディレクトリ部を形成する。また、管理サーバ側ドライバ保管部1713は、FTPサーバ、HTTPサーバ、もしくはファイルサーバといったサーバとして機能し、プリンタドライバを格納する。
【0028】
管理サーバ側情報管理部1712は、データベースを構成する。管理サーバ側情報管理部1712は、テーブル(図5参照)以外に、管理サーバ側ドライバ制御部1711が提供するUI設定情報(図8参照)や管理サーバ側ドライバ保管部1713に保管しているプリンタドライバの情報を管理する手段として機能する。また、管理サーバ側ドライバ制御部1711は、後述するクライアント側ドライバ管理サービス部3710やプリントサーバ側ドライバ管理サービス部4710に対して、ドライバタスクを実行する。なお、管理サーバ側ドライバ制御部1711や管理サーバ側ドライバ保管部1713を管理サーバ1000とは別のサーバに設けてもよい。
【0029】
(ネットワークプリンタ)
ネットワークプリンタ2000は、ネットワークプリンタ側中央演算処理装置2800により各種処理を実行する。
ネットワークプリンタ側データ制御部2700は、NVRAM等であり、ネットワークプリンタ側記録媒体読取制御部2600を介して読み込んだシステムプログラム、アプリケーションプログラム及び関連データをロードする。
【0030】
ネットワークプリンタ側記憶部2500は、ネットワークプリンタ側データ制御部2700上のプログラムが利用するデータを保存する。システムプログラム及びアプリケーションプログラムは、ネットワークプリンタ側表示部2100上のユーザインターフェイス(図示せず)から入力された情報を処理する。さらに、システムプログラム、アプリケーションプログラムは、ネットワークプリンタインターフェイス制御部2400を介してデータの入出力を行う。
【0031】
ネットワークプリンタ2000は、デバイスインタフェース制御部2850及びプリンタエンジン部2900を介して印刷処理を行う。ネットワークプリンタ2000は、印刷機能のみを有するシングルファンクションペリフェラル(SFP)のプリンタでもよいし、印刷機能以外に、スキャナ、コピー、ファクス機能等を有する複合機(マルチファンクションペリフェラル(MFP))であってもよい。
【0032】
ネットワークプリンタ2000は、MIBと呼ばれるデバイス情報を保持する。印刷情報の取得や印刷の設定は、管理者が管理サーバ1000からネットワークを介して行う。クライアント側ドライバ管理サービス部3710やプリントサーバ側ドライバ管理サービス部4710は、ドライバのインストール機能を有するエージェントサービスのプログラムから構成される。また、エージェントサービスのプログラムは、ドライバ制御部1711との間でSOAP(Simple Object Access Protocol)等のプロトコルを利用するWebサービスにより通信を行う。
【0033】
(クライアント)
クライアント3000は、管理サーバ1000と同様、クライアント側中央演算処理装置3800により各種処理を実行する。
クライアント側データ制御部3700は、NVRAM等であり、クライアント側記録媒体読取制御部3600から読み込んだシステムプログラム、アプリケーションプログラム及び関連データをロードする。
【0034】
クライアント側記憶部3500は、クライアント側データ制御部3700上のプログラムが利用するデータを保存する。クライアント側記憶部3500は、記憶可能な媒体、例えば、メモリ、HDD(ハードディスク)、光、磁気ディスク、又はこれらの組み合わせた装置から構成される。
【0035】
システムプログラム及びアプリケーションプログラムは、クライアント側表示部3100のユーザインターフェィス(図示せず)から入力された情報を処理する。また、システムプログラム及びアプリケーションプログラムは、クライアント側入力部3200から入力された情報を処理する。システムプログラム及びアプリケーションプログラムは、クライアント側インターフェィス制御部3400を介してデータの入出力を行う。
【0036】
クライアント側表示部3100として、CRTディスプレイ又は液晶ディスプレイ等の表示装置が接続され、クライアント側入力部3200としてはキーボードやマウスなどのポインティングデバイスが接続される。クライアント側ドライバ管理サービス部3710は、NVRAM等のクライアント側データ制御部3700上で動作する。
【0037】
ここで、クライアント側ドライバ管理サービス部3710は、ドライバのインストール機能を有するエージェントサービスのプログラムである。また、エージェントサービスのプログラムは、管理サーバ1000のドライバ制御部1711との間で所謂SOAPなどのプロトコルを利用するWebサービスにより通信を行う。エージェントサービスは、管理サーバ側ドライバ制御部1711との通信により、管理サーバ側ドライバ保管部1713に格納されているプリンタドライバを取得し、プリンタドライバのインストールを行う機能を有する。
【0038】
(プリントサーバ)
プリントサーバ4000は、管理サーバ1000と同様に、中央演算処理装置4800により各種処理を実行する。
プリントサーバ側データ制御部4700は、NVRAM等であり、プリントサーバ側読取制御部4600から読み込んだシステムプログラム、アプリケーションプログラム及び関連データをロードする。
【0039】
プリントサーバ側記憶部4500は、プリントサーバ側データ制御部4700上のプログラムが利用するデータを保存する。プリントサーバ側記憶部4500は、記憶可能な媒体、例えば、メモリ、HDD(ハードディスク)、光、磁気ディスクから構成するか又はこれらの組み合わせ装置から構成される。
【0040】
システムプログラム及びアプリケーションプログラムは、プリントサーバ側表示部4100上のユーザインターフェイス(図示せず)から入力された情報を処理する。また、システムプログラム及びアプリケーションプログラムは、プリントサーバ側インターフェィス制御部4400を介してデータの入出力を行う。
【0041】
プリントサーバ側表示部4100としては、CRTディスプレイ、液晶ディスプレイなどの表示装置を接続し、プリントサーバ側入力部4200としては、キーボードやマウスなどのポインティングデバイスを接続する。
また、プリントサーバ側ドライバ管理サービス部4710は、NVRAM等のプリントサーバ側データ制御部4700上で動作する。プリントサーバ側ドライバ管理サービス部4710もプリンタドライバのインストール機能を有するエージェントサービスのプログラムから構成され、ドライバ制御部1711との間で所謂SOAPなどのプロトコルを利用するWebサービスにより通信を行う。
【0042】
図3は、本実施形態にかかる情報処理装置のネットワーク印刷における印刷経路を示し、図4は、ローカルプリンタを接続した場合の情報処理装置の印刷の印刷経路を示す。
図3中、実線で示すように、ネットワーク印刷のみの場合、印刷データをクライアント3000からネットワークを経由してネットワークプリンタ2000に送信する。図4に示すように、クライアント3000からローカルプリンタBで印刷する場合は、図4中、点線で示すように、クライアント3000からプリンタ2001に直接、印刷データを送信する。
【0043】
このように、本実施形態では、ローカルプリンタBを通信回線5000に接続することにより、ネットワーク印刷とローカルプリンタBによる印刷が可能になる。
ネットワークプリンタ2000ではプリントサーバ4000経由で印刷を行うため、印刷モード<EMF>でのレンダリング処理やスプーリングをプリントサーバ4000側で行う。更に、プリンタドライバのプリンタのプロパティは、管理サーバ1000優先となるために、正常に印刷できないか、印刷設定が行えない場合がある。
【0044】
このため、本実施形態では、ローカルプリンタBとネットワークプリンタ2000のプリンタドライバのバージョンを比較する。ローカルプリンタBのバーションが高い場合は、本実施形態は、ローカルプリンタBのプリンタドライバを、プリントサーバ4000にインストールして共有プリンタを設定する。本実施形態は、共有プリンタのプリンタドライバのバージョン、ネットワークプリンタ2000のドライバのバージョン、ローカルプリンタBの同一性を保持する。以下、プリンタドライバの更新処理を詳細に説明する。
【0045】
(プリンタドライバの更新前)
まず、本実施形態におけるプリンタドライバの更新前の状態について説明する。
図5は、管理サーバ側情報管理部1712に格納されているデータベーステーブルを示す。図5に示すように、プリントサーバ4000に対しては、ドライバ名が<ドライバA>であって、バージョンが<100>であるプリンタドライバによってサポートされるプリンタ名<プリンタA>が設定されている。プリンタAは、共有名<共有A>の共有プリンタとされている。
【0046】
管理サーバ側ドライバ制御部1711は、プリントサーバ4000をまだ管理しておらず、図5に示す管理データを保持していない状態である。また、プリントサーバ4000に対して、まだ、管理サーバ側ドライバ制御部1711と通信するアプリケーション(以下、エージェントサービスアプリケーションという)がインストールされていない。また、プリントサーバ側ドライバ管理サービス部4710がまだ生成されていない。
【0047】
クライアント3000側では、共有名<共有A>の共有プリンタに対応したプリンタ名<プリンタA>のネットワークプリンタ2000が、ポイントアンドプリント機能によりクライアント3000にインストールされている。クライアント3000には、管理サーバ側ドライバ制御部1711と通信するためのエージェントサービスであるクライアント側ドライバ管理サービス部3710が生成されていない。
【0048】
プリントサーバ4000の共有プリンタのプリンタドライバと、クライアント3000のネットワークプリンタ2000のプリンタドライバは、互いに同一種類でかつ同一バージョンであり、相互に整合性が取れている。
このような前提条件の下、管理サーバ側ドライバ制御部1711が、クライアント3000に対して、ローカルプリンタBのプリンタドライバをプリンタドライバディスクからインストールするものとする。
【0049】
また、プリンタドライバのバージョンアップの際は、ローカルプリンタBのプリンタドライバのバージョンが、ネットワークプリンタ2000のプリタドライバのバージョンよりも新しいバージョンであるものとする。
例えば、バージョンアップ前のネットワークプリンタ2000のプリンタドライバのドライバ名が<ドライバA>、バージョンが<100>であり、ローカルプリンタBのプリンタ名が<プリンタA>、バージョンが<200>であるものとする。
【0050】
ここで、各プリンタ名は、ネットワークプリンタ2000と同じプリンタ名でもよいし、異なっていてもよい。また、ドライバタスクはプリンタの追加ではなく、プリンタドライバの更新であってもよい。つまり、ドライバタスクには、クライアント3000のネットワークプリンタ2000で使用されているドライバを更新する処理が伴うものとする。
【0051】
(プリンタドライバの更新処理)
プリンタドライバを更新する場合、次の処理を実行する。
(1)管理サーバ1000の処理1
(2)クライアント3000の処理1
(3)管理サーバ1000の処理2
(4)プリントサーバ4000の処理1
(5)管理サーバ1000の処理3
(6)プリントサーバ4000の処理2
(7)管理サーバ1000の処理4
(8)クライアント3000の処理2
(9)管理サーバ1000の処理5
(10)クライアント3000の処理3
(11)管理サーバ1000の処理6
【0052】
(1)管理サーバ1000の処理1
図6は管理サーバ側ドライバ制御部1711の動作とプログラムの内容を示すフローチャートである。
まず、管理サーバ側ドライバ制御部1711が、クライアント3000に対するドライバタスク実行時に、クライアント3000にネットワークプリンタ2000が存在していた場合の動作モードを選択する。管理サーバ側ドライバ制御部1711は、選択した動作モードを管理サーバ側情報管理部1712に保存する(図6、ステップ100)。この場合、図7に示すように、動作モードとして<更新モード1>を選択したものとする。
。
【0053】
まず、管理サーバ側ドライバ制御部1711は、クライアント3000に対するプリンタドライバのドライバタスクを生成する(図6、ステップ101)。
ここで、ドライバタスクを生成するとは、プリンタドライバをインストールするクライアント3000、及びクライアント3000に追加するローカルプリンタBや更新するプリンタドライバの選択をすることを意味する。
【0054】
本実施形態では、ローカルプリンタBにインストールしようとするプリンタドライバのドライバ名が<ドライバA>、バージョンが<200>であり、クライアント3000のネットワークプリンタ2000のプリンタ名が<プリンタA>であるとものとする。
【0055】
次に、管理サーバ側ドライバ制御部1711は、エージェントサービスのプログラムから構成されるクライアント3000のクライアント側ドライバ管理サービス部3710に対して、ドライバタスクを実行する。管理サーバ側ドライバ制御部1711は、また、プリンタドライバをインストールするクライアント3000、及びクライアント3000に追加するローカルプリンタBや更新するプリンタドライバを選択する(図6、ステップ102)。
なお、動作モードには、図8に示すように、更新モード1、更新モード2、更新モード3を有する。
【0056】
(更新モード1)
更新モード1は、プリントサーバ4000が管理サーバ1000の管理下ではない場合に、プリントサーバ4000を管理下に置く。そして、プリントサーバ4000の共有プリンタ、クライアント3000のネットワークプリンタ2000、及びローカルプリンタBが使用するプリンタドライバの整合性を取るモードである。
【0057】
ここで、プリントサーバ4000を管理サーバ1000の管理下に置くとは、具体的には、管理サーバ側ドライバ制御部1711の管理下に置くことをいう。具体的には、管理サーバ側ドライバ制御部1711の管理下に置くとは、プリントサーバ4000にエージェントサービスのプログラムをインストールしてプリントサーバ側ドライバ管理サービス部4710を構成する。続いて、図5に示すように、プリントサーバ4000の共有プリンタ情報を、管理サーバ側情報管理部1712にて管理することをいう。
【0058】
(更新モード2)
更新モード2は、プリントサーバ4000が管理サーバ側ドライバ制御部1711の管理下のクライアントである場合に実行される。更新モード2では、プリントサーバ4000の共有プリンタ、クライアント3000のネットワークプリンタ2000、及びローカルプリンタBのプリンタドライバの整合性を取る。ここで、プリンタドライバの整合性を取るとは、プリンタドライバの種類やバージョンの同一性をとり、各プリンタドライバが正常に動作するようにすることである。
【0059】
(更新モード3)
更新モード3は、プリントサーバ4000が管理サーバ側ドライバ制御部1711の管理下に置かれているか否かにかかわらず、クライアント3000のネットワークプリンタ2000のプリンタドライババージョンを優先するモードである。
【0060】
(2)クライアント3000の処理1
図9はクライアント側ドライバ管理サービス部3710(エージェントサービス)の動作とプログラムの内容を示すクライアント処理フローである。
まず、クライアント3000のエージェントサービスであるクライアント側ドライバ管理サービス部3710は、ドライバタスクを受け取って、そのタスクの内容を解析する(図9、ステップ200)。
【0061】
タスク内容の解析とは、プリンタ追加の場合は、どのプリンタドライバのどのプリンタを追加するのかを判定することをいう。タスク内容の解析とは、プリンタドライバ更新の場合は、どの種類のドライバでどのバージョンのプリンタドライバを更新するかを判定することをいう。
【0062】
プリンタドライバの判定は、プリンタドライバのバージョンや言語や仕向けといったドライバの情報(属性)を含めて行われる。更には、プリンタドライバの判定は、そのドライバセットの取得先情報も含めて行われる。本実施形態では、管理サーバ側ドライバ保管部1713のロケーションがドライバセットの取得先となる。
【0063】
クライアント側ドライバ管理サービス部3710は、ローカルプリンタのプリンタドライバをインストールするときにインストールプログラムからプリンタドライバの種別、バージョンを含めたドライバの情報を取得する。
クライアント側ドライバ管理サービス部3710は、次に、ドライバの情報を取得する手段に切り替わり、クライアント3000に既にインストールされているプリンタドライバからドライバの情報の取得を行う(図9、ステップ201)。ドライバの情報とは、前記したドライバの情報以外に、ネットワークプリンタ2000の情報であるかローカルプリンタBの情報であるかの情報を含む。
【0064】
クライアント側ドライバ管理サービス部3710は、更に、ネットワークプリンタ2000である場合には、そのネットワークプリンタ2100に対応した共有プリンタのプリントサーバ情報を取得する。これらの情報は、クライアント3000のレジストリなどの記憶領域に登録しており、周知のように、レジストリを探索するか、もしくはオペレーティングシステムが提供するAPIを利用して取得する。
【0065】
次に、エージェントサービスのプログラムであるクライアント側ドライバ管理サービス部3710は、クライアント3000にネットワークプリンタ2100が存在するか否かを判定する(図9、ステップ202)。YESの場合は、ステップ204に進む。
【0066】
次に、クライアント側ドライバ管理サービス部3710は、ドライバの種類を判定する判定手段に切り替わる。そして、前記ドライバタスクで選択されたプリンタドライバとネットワークプリンタ2000を設定するために、予めインストールされているプリンタドライバに対して同一種類のプリンタドライバか否かを判定する(図9、ステップ203)。YESの場合は、ステップ204に進む。
【0067】
次に、クライアント側ドライバ管理サービス部3710は、プリンタドライバのバージョン同士を比較して、同一性を判定する判定手段に切り替わる。クライアント側ドライバ管理サービス部3710は、前記ドライバタスクで選択されたプリンタドライバのバージョンと、ネットワークプリンタ2000としてインストールされているプリンタドライバのバージョンとを比較する(図9、ステップ204)。
【0068】
クライアント側ドライバ管理サービス部3710は、前記ステップ204の判定にて、ドライバタスクで指定されたプリンタドライバのバーションの方が高い場合(新しい場合、すなわちYESの場合)は、ステップ205に進む。バージョンが古い場合、すなわちNOの場合は、ステップ206に進む。
次に、クライアント側ドライバ管理サービス部3710は、管理サーバ側ドライバ制御部1711に対して、前記ステップ201で取得したネットワークプリンタ情報を送付する(図9、ステップ205)。
【0069】
なお、本実施形態では、クライアント3000には、予めバージョン<100>、共有名<共有A>の共有プリンタに対応したプリンタドライバAがインストールされ、ネットワークプリンタ2000が設定されている。
【0070】
(3)管理サーバ1000の処理2
図6に示すように、管理サーバ側ドライバ制御部1711が、クライアント側ドライバ管理サービス部3710からのネットワークプリンタ情報を受け取り、管理サーバ側情報管理部1712へ保存する(図6、ステップ103)。本実施形態では、図12に示すように、予めクライアント3000には、プリンタドライバAがインストールされており、そのバージョンはバージョン(v100)である。
【0071】
管理サーバ側ドライバ制御部1711は、管理サーバ側情報管理部1712にアクセスし、ここで管理しているプリントサーバ4000及びその共有プリンタの情報を取得する(図6、ステップ104)。この一例を図5に示す。なお、前記したように、本実施形態では、この時点では管理サーバ側ドライバ制御部1711の管理下のプリントサーバ情報はないものとする。
【0072】
次に、管理サーバ側ドライバ制御部1711は、管理サーバ側情報管理部1712にアクセスし、ステップ100で設定した管理先の動作モード設定情報を取得する(図6、ステップ105)。そして、動作モードの設定は、管理サーバのインストール動作を設定することの一例である。すなわち、動作モード1であるか、動作モード2であるかの設定内容に応じて、以降の管理サーバにおけるドライバの転送処理の制御を行なう。
ここでは、取得した動作モード設定情報は、図7に示すように、動作モードが<更新モード1>であるものとする。
【0073】
次に、管理サーバ側ドライバ制御部1711は、動作モードが更新モード1若しくは更新モード2であるかを判定し(図6、ステップ106)、YESの場合はステップ107に進む。
次に、管理サーバ側ドライバ制御部1711は、ステップ103で取得したネットワークプリンタ情報と、ステップ104で取得したプリントサーバ4000及びその共有プリンタ情報を比較する(図6、ステップ107)。
【0074】
ステップ107での比較は、管理サーバ側ドライバ制御部1711が、クライアント3000のネットワークプリンタ2000に対応した共有プリンタがインストールされているプリントサーバ4000を、管理しているか否かを判定することをいう。ステップ107で、判定の結果がNOの場合は、ステップ108に進む。
【0075】
次に、管理サーバ側ドライバ制御部1711は、プリントサーバ4000を管理サーバ側ドライバ制御部1711の管理下におくため、プリントサーバ4000に対してエージェントサービスを配信するためのタスクを作成する(図6、ステップ108)。
次に、管理サーバ側ドライバ制御部1711は、プリントサーバ4000に対してエージェントタスクを実行する(図6、ステップ109)。プリントサーバ4000に対してのエージェントサービスのインストールには、例えば、Microsoft(商標)社のOSに同梱されているWMI等のリモート配信技術を利用する。
【0076】
(4)プリントサーバ4000の処理1
図10は、プリントサーバ側ドライバ管理サービス部4710の動作とプログラムの内容を示すプリントサーバ処理フローである。
プリントサーバ側データ制御部4700は、管理サーバ側ドライバ制御部1711からのエージェントタスク処理に対応して、エージェントサービスのプログラムのインストール処理を行う。エージェントサービスのプログラムは、プリントサーバ側ドライバ管理サービス部4710を構成する(図10、ステップ300)。
【0077】
次に、プリントサーバ側データ制御部4700は、プリントサーバ側ドライバ管理サービス部4710のインストール処理が成功したか否かを判定する(図10、ステップ301)。YESの場合は、ステップ302に進む。
次に、プリントサーバ側ドライバ管理サービス部4710は、プリントサーバ4000に既に共有プリンタがインストールされているか等を示すプリントサーバ情報を取得する(図10、ステップ302)。
【0078】
続いて、プリントサーバ側ドライバ管理サービス部4710は、管理サーバ側ドライバ制御部1711に対して、ステップ301、及びステップ302で取得した情報を返す(図10、ステップ303)。
【0079】
(5)管理サーバ1000の処理3
図6に示すように、管理サーバ側ドライバ制御部1711は、プリントサーバ4000のプリントサーバ側ドライバ管理サービス部4710からのエージェントタスクの結果からエージェントタスクが成功したか否かを判定する(図6、ステップ110)。YESの場合は、ステップ111に進む。
【0080】
次に、管理サーバ側ドライバ制御部1711は、プリントサーバ側ドライバ管理サービス部4710からのプリントサーバ情報を管理サーバ側情報管理部1712へ登録する(図6、ステップ111)。
本実施形態では、図5のプリントサーバ名<プリントサーバA>の情報が登録されたものとする。
【0081】
次に、管理サーバ側ドライバ制御部1711は、再度ステップ107の判定処理を行う(図6、ステップ107)。YESの場合は、ステップ112に進む。
次に、管理サーバ側ドライバ制御部1711は、プリントサーバ4000の共有プリンタに対するドライバ更新タスクを作成する(図6、ステップ112)。
【0082】
ドライバ更新タスクとは、プリントサーバ4000の共有名が<共有A>のプリンタドライバAをバージョン<100>から<200>に更新するためのタスクを作成することをいう。
次に、管理サーバ側ドライバ制御部1711は、プリントサーバ側ドライバ管理サービス部4710に対して、作成したドライバタスクを実行する(図6、ステップ113)。その結果、管理サーバ側ドライバ制御部1711は、プリントサーバ側ドライバ管理サービス部4710とともに、ドライバのインストール手段として機能する。
【0083】
(6)プリントサーバ4000の処理2
図11は、プリントサーバ側ドライバ管理サービス部4710のエージェントサービスの動作とプログラムの内容を示すプリントサーバ処理フローである。
【0084】
プリントサーバ側ドライバ管理サービス部4710は、ドライバのインストール手段として、共有プリンタである共有プリンタAのプリンタドライバを更新する。すなわち、プリントサーバに予めインストールされていたプリンタドライバのバージョンを<100>から<200>へバージョンアップする(図11、ステップ304)。
プリントサーバ側ドライバ管理サービス部4710は、管理サーバ側ドライバ制御部1711に対して、タスク結果を返す(図11、ステップ305)。
【0085】
(7)管理サーバ1000の処理4
図6に示すように、管理サーバ側ドライバ制御部1711は、ステップ113のドライバタスクが成功したかを判定する(図6、ステップ114)。YESの場合は、ステップ115に進む。
【0086】
次に、管理サーバ側ドライバ制御部1711は、クライアント側ドライバ管理サービス部3710に対して、ネットワークプリンタ2000の更新を伴うドライバタスク処理を指示する(図6、ステップ115)。
【0087】
(8)クライアント3000の処理2
図9に示すように、クライアント側ドライバ管理サービス部3710は、ネットワークプリンタ2000のプリンタドライバ更新を伴うローカルプリンタBのインストール処理を実行する(図9、ステップ206)。
【0088】
これにより、プリントサーバ4000の共有プリンタ、クライアント3000のネットワークプリンタ2000、及びローカルプリンタBのために、同一種類、且つ最新の同一バージョンのプリンタドライバがインストールされる。この結果、ネットワークプリンタ、共有プリンタ及びローカルプリンタの整合性、すなわち同一性が実現される。
【0089】
次に、クライアント側ドライバ管理サービス部3710は、ドライバタスク結果を管理サーバ側ドライバ制御部1711へ返す(図9、ステップ207)。
【0090】
(9)管理サーバ1000の処理5
図6に示すように、管理サーバ側ドライバ制御部1711は、クライアント側ドライバ管理サービス部3710からのタスク結果を受けて、タスク終了処理を行う(図6、ステップ116)。
【0091】
ここでのタスク終了処理とは、タスクが正常に終了したか、失敗して終了したかを、IT管理者に、管理サーバ側表示部1100などを通して、通知することを意味する。
一方、先のステップ110で、プリントサーバ4000に対するエージェントサービスのタスク処理が失敗した場合、もしくは先のステップ114で、プリントサーバ4000のプリンタタスクが失敗した場合には、図9のステップ208に進む。
【0092】
(10)クライアント3000の処理3
図9に示すように、クライアント側ドライバ管理サービス部3710は、ドライバタスク処理を終了し(図9、ステップ208)、ステップ207へ進む。すなわち、クライアント3000へのドライバタスクを取りやめる。
次に、先のステップ100において、動作モードとして<更新モード2>が選択された場合を記す。
【0093】
この場合、管理サーバ側ドライバ制御部1711は、クライアント3000のネットワークプリンタ2000に対応した共有プリンタのプリントサーバ4000を管理下におき、図5の情報をすでにテーブルに登録しているものとする。
【0094】
(11)管理サーバ1000の処理6
図6に示すステップ107において、管理サーバ側ドライバ制御部1711は、クライアント3000のネットワークプリンタ2000に対応した共有プリンタのプリントサーバ4000を管理下に置いているため、YESと判定される。
【0095】
以降の処理は、先に説明した図6のステップ112〜116、図9のステップ206〜208、図11のステップ304〜305と同じ処理フローとなる。
ステップ100において、動作モードとして<更新モード3>が選択された場合について説明する。
【0096】
この場合は、管理サーバ側ドライバ制御部1711は、ステップ106において、NOと判定される。
次に、管理サーバ側ドライバ制御部1711が、クライアント側ドライバ管理サービス部3710に対して、更新モード3であるところの、ネットワークプリンタ2000のバージョンを優先する指示を出す(図6、ステップ117)。すなわち、図9のステップ208〜209、図6のステップ116と同様の処理フローとなる。
【0097】
一方、ステップ202において、クライアント側ドライバ管理サービス部3710が、クライアント3000にネットワークプリンタ2000が存在しないと判定した場合には、NOと判定され、前記ステップ206、207を行う。
また、ステップ203において、クライアント側ドライバ管理サービス部3710は、ドライバタスクで指定されたプリンタドライバとネットワークプリンタ2000のプリンタドライバが同一種類ではないと判定した場合には、前記ステップ206、207を行う。
【0098】
また、ステップ204において、クライアント側ドライバ管理サービス部3710が、ドライバタスクでしてされたドライババージョンの方が低い場合に、前記ステップ206、ステップ207を行う。
【0099】
以上述べたように、本実施形態によれば、ドライバの更新が発生した場合に、各プリンタが正常に動作する印刷環境を維持することができ、ユーザの保守・管理面での利便性を向上することができる。
【0100】
なお、本発明は種々の改変が可能であり、改変された発明に本発明が及ぶことは当然である。例えば、上述した実施形態では、本発明をプリンタドライバを更新する場合について適用したが、ネットワークデバイスとローカルデバイスとの間でドライバの同一性を保つ必要がある他のデバイスに適用することが可能である。また、上述した実施形態では、管理サーバがクライアントに対してインストールするドライバの種類及び同一性を判定するドライバタスクを実行し、プリントサーバに対してドライバ更新タスクを実行した。しかし、本発明はこれに限定されず、単一のサーバまたはクライアントでタスクを実行してもよいし、実施形態とは異なる構成の複数のサーバ及びクライアントによって実行してもよい。
【0101】
本発明を実現するコンピュータプログラムをコンピュータによる読み取り可能な記録媒体に記録し、この記録媒体に記録されたコンピュータプログラムをコンピュータのそれぞれに読み込ませ、実行することによって本発明の情報処理装置を実現することができる。すなわち、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【図面の簡単な説明】
【0102】
【図1】本発明の一実施形態にかかる情報処理装置が適用されるシステム概念図である。
【図2】本発明の一実施形態にかかる情報処理装置が適用されるシステムブロック図である。
【図3】本発明の一実施形態にかかる情報処理装置が適用されるシステム概念図である。
【図4】本発明の一実施形態にかかる情報処理装置が適用されるシステム概念図である。
【図5】本発明の一実施形態にかかるプリントサーバの情報テーブルを示す図である。
【図6】本発明の一実施形態にかかる管理サーバ処理フロー図である。
【図7】本発明の一実施形態にかかる動作モードテーブルである。
【図8】本発明の一実施形態にかかる動作モードの選択図である。
【図9】本発明の一実施形態にかかるクライアントの処理フロー図である。
【図10】本発明の一実施形態にかかるプリントサーバの処理フロー図である。
【図11】本発明の一実施形態にかかるプリントサーバの処理フロー図である。
【図12】本発明の一実施形態にかかるクライアントネットワークプリンタの情報テーブルを示す図である。
【図13】ネットワークプリンタにローカルプリンタを接続した場合の前提を示す概念図である。
【符号の説明】
【0103】
B ローカルプリンタ
1000 管理サーバ、
2000 ネットワークプリンタ
3000 クライアント
4000 プリントサーバ
【特許請求の範囲】
【請求項1】
ネットワークデバイスのドライバを制御サーバに転送する情報処理装置において、
クライアント装置に対してローカル接続されているローカルデバイスのドライバと、クライアント装置に対してネットワークを介して接続されている前記ネットワークデバイスのドライバとが同一種類のドライバであるか否かを判定し、前記ネットワークデバイスのドライバと前記ローカルデバイスのドライバのバージョンを比較してどちらが新しいかを判定する判定手段と、
前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと同一種類であり、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバよりも新しいと前記判定手段が判定した場合に、前記ローカルデバイスのドライバを前記制御サーバに対して前記ネットワークデバイスのドライバとして転送する転送手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと異なる種類である、又は前記ローカルデバイスのドライバのバージョンが前記ネットワークデバイスのドライバよりも古い、と前記判定手段が判定した場合、前記制御サーバに対する前記ローカルデバイスのドライバのインストールをしないことを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記判定手段が、前記制御サーバを管理しているか否かを判定し、
前記制御サーバを管理していない場合、前記判定手段は前記制御サーバを管理下におき、その後、前記転送手段が前記ローカルデバイスのドライバを前記制御サーバに転送することを特徴とする請求項1記載の情報処理装置。
【請求項4】
前記判定手段が、前記制御サーバを管理しているか否かを判定し、
前記制御サーバを管理している場合に、前記転送手段が前記ローカルデバイスのドライバを前記制御サーバに対して転送することを特徴とする請求項1記載の情報処理装置。
【請求項5】
前記制御サーバのドライバを更新するタスクを生成し、前記制御サーバに対して前記タスクを実行して、前記ドライバをインストールすることを特徴とする請求項1記載の情報処理装置。
【請求項6】
インストールしようとする前記ドライバの種類及びバージョンを含むタスクを生成し、前記クライアントに対して前記タスクを実行して、前記ドライバの種類及びバージョンの判定を行うことを特徴とする請求項5記載の情報処理装置。
【請求項7】
情報処理装置のインストール動作を設定する設定手段をさらに含み、前記設定手段における設定内容に応じて、前記判定手段における判定処理及び転送手段における転送処理を行なう請求項1に記載の情報処理装置。
【請求項8】
コンピュータを、請求項1から7のいずれかに記載の情報処理装置として機能させるためのコンピュータプログラム。
【請求項9】
請求項8に記載のコンピュータプログラムを格納したコンピュータで読み取り可能な記録媒体。
【請求項10】
ネットワークデバイスのドライバを制御サーバに転送する情報処理方法において、
クライアント装置に対してローカル接続されているローカルデバイスのドライバと、クライアント装置に対してネットワークを介して接続されている前記ネットワークデバイスのドライバとが同一種類のドライバであるか否かを判定し、前記ネットワークデバイスのドライバと前記ローカルデバイスのドライバのバージョンを比較してどちらが新しいかを判定する判定ステップと、
前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと同一種類であり、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバよりも新しいと前記判定ステップで判定した場合に、前記ローカルデバイスのドライバを前記制御サーバに対して前記ネットワークデバイスのドライバとして転送する転送ステップと、
を備えることを特徴とする情報処理方法。
【請求項11】
前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと異なる種類である、又は前記ローカルデバイスのドライバのバージョンが前記ネットワークデバイスのドライバよりも古い、と前記判定ステップで判定した場合、前記制御サーバに対する前記ローカルデバイスのドライバのインストールをしないことを特徴とする請求項10記載の情報処理方法。
【請求項12】
前記判定ステップで、前記制御サーバを管理しているか否かを判定し、
前記制御サーバを管理していない場合、前記判定ステップにおいて、前記制御サーバを管理下におき、その後、前記転送ステップで前記ローカルデバイスのドライバを前記制御サーバに転送することを特徴とする請求項10記載の情報処理方法。
【請求項13】
前記判定ステップにおいて、前記制御サーバを管理しているか否かを判定し、
前記制御サーバを管理している場合に、前記転送ステップで前記ローカルデバイスのドライバを前記制御サーバに対して転送することを特徴とする請求項10記載の情報処理方法。
【請求項14】
前記制御サーバのドライバを更新するタスクを生成し、前記制御サーバに対して前記タスクを実行して、前記ドライバをインストールすることを特徴とする請求項10記載の情報処理方法。
【請求項15】
インストールしようとする前記ドライバの種類及びバージョンを含むタスクを生成し、前記クライアントに対して前記タスクを実行して、前記ドライバの種類及びバージョンの判定を行うことを特徴とする請求項14記載の情報処理方法。
【請求項16】
情報処理装置のインストール動作を設定する設定ステップをさらに含み、前記設定ステップにおける設定内容に応じて、前記判定ステップにおける判定処理及び転送ステップにおける転送処理を行なう請求項10に記載の情報処理方法。
【請求項17】
管理サーバと、ドライバを用いてデータを形成するクライアント装置と、前記クライアント装置において形成されたデータを受け取りネットワークデバイスへ転送する制御サーバとを含む情報処理システムにおいて、
クライアント装置に対してローカル接続されているローカルデバイスのドライバと、クライアント装置に対してネットワークを介して接続されている前記ネットワークデバイスのドライバとが同一種類のドライバであるか否かを判定し、前記ネットワークデバイスのドライバと前記ローカルデバイスのドライバのバージョンを比較してどちらが新しいかを判定する判定手段と、
前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと同一種類であり、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバよりも新しいと前記判定手段が判定した場合に、前記ローカルデバイスのドライバを前記制御サーバに対して前記ネットワークデバイスのドライバとしてインストールするインストール手段と、
を備えることを特徴とする情報処理システム。
【請求項1】
ネットワークデバイスのドライバを制御サーバに転送する情報処理装置において、
クライアント装置に対してローカル接続されているローカルデバイスのドライバと、クライアント装置に対してネットワークを介して接続されている前記ネットワークデバイスのドライバとが同一種類のドライバであるか否かを判定し、前記ネットワークデバイスのドライバと前記ローカルデバイスのドライバのバージョンを比較してどちらが新しいかを判定する判定手段と、
前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと同一種類であり、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバよりも新しいと前記判定手段が判定した場合に、前記ローカルデバイスのドライバを前記制御サーバに対して前記ネットワークデバイスのドライバとして転送する転送手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと異なる種類である、又は前記ローカルデバイスのドライバのバージョンが前記ネットワークデバイスのドライバよりも古い、と前記判定手段が判定した場合、前記制御サーバに対する前記ローカルデバイスのドライバのインストールをしないことを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記判定手段が、前記制御サーバを管理しているか否かを判定し、
前記制御サーバを管理していない場合、前記判定手段は前記制御サーバを管理下におき、その後、前記転送手段が前記ローカルデバイスのドライバを前記制御サーバに転送することを特徴とする請求項1記載の情報処理装置。
【請求項4】
前記判定手段が、前記制御サーバを管理しているか否かを判定し、
前記制御サーバを管理している場合に、前記転送手段が前記ローカルデバイスのドライバを前記制御サーバに対して転送することを特徴とする請求項1記載の情報処理装置。
【請求項5】
前記制御サーバのドライバを更新するタスクを生成し、前記制御サーバに対して前記タスクを実行して、前記ドライバをインストールすることを特徴とする請求項1記載の情報処理装置。
【請求項6】
インストールしようとする前記ドライバの種類及びバージョンを含むタスクを生成し、前記クライアントに対して前記タスクを実行して、前記ドライバの種類及びバージョンの判定を行うことを特徴とする請求項5記載の情報処理装置。
【請求項7】
情報処理装置のインストール動作を設定する設定手段をさらに含み、前記設定手段における設定内容に応じて、前記判定手段における判定処理及び転送手段における転送処理を行なう請求項1に記載の情報処理装置。
【請求項8】
コンピュータを、請求項1から7のいずれかに記載の情報処理装置として機能させるためのコンピュータプログラム。
【請求項9】
請求項8に記載のコンピュータプログラムを格納したコンピュータで読み取り可能な記録媒体。
【請求項10】
ネットワークデバイスのドライバを制御サーバに転送する情報処理方法において、
クライアント装置に対してローカル接続されているローカルデバイスのドライバと、クライアント装置に対してネットワークを介して接続されている前記ネットワークデバイスのドライバとが同一種類のドライバであるか否かを判定し、前記ネットワークデバイスのドライバと前記ローカルデバイスのドライバのバージョンを比較してどちらが新しいかを判定する判定ステップと、
前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと同一種類であり、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバよりも新しいと前記判定ステップで判定した場合に、前記ローカルデバイスのドライバを前記制御サーバに対して前記ネットワークデバイスのドライバとして転送する転送ステップと、
を備えることを特徴とする情報処理方法。
【請求項11】
前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと異なる種類である、又は前記ローカルデバイスのドライバのバージョンが前記ネットワークデバイスのドライバよりも古い、と前記判定ステップで判定した場合、前記制御サーバに対する前記ローカルデバイスのドライバのインストールをしないことを特徴とする請求項10記載の情報処理方法。
【請求項12】
前記判定ステップで、前記制御サーバを管理しているか否かを判定し、
前記制御サーバを管理していない場合、前記判定ステップにおいて、前記制御サーバを管理下におき、その後、前記転送ステップで前記ローカルデバイスのドライバを前記制御サーバに転送することを特徴とする請求項10記載の情報処理方法。
【請求項13】
前記判定ステップにおいて、前記制御サーバを管理しているか否かを判定し、
前記制御サーバを管理している場合に、前記転送ステップで前記ローカルデバイスのドライバを前記制御サーバに対して転送することを特徴とする請求項10記載の情報処理方法。
【請求項14】
前記制御サーバのドライバを更新するタスクを生成し、前記制御サーバに対して前記タスクを実行して、前記ドライバをインストールすることを特徴とする請求項10記載の情報処理方法。
【請求項15】
インストールしようとする前記ドライバの種類及びバージョンを含むタスクを生成し、前記クライアントに対して前記タスクを実行して、前記ドライバの種類及びバージョンの判定を行うことを特徴とする請求項14記載の情報処理方法。
【請求項16】
情報処理装置のインストール動作を設定する設定ステップをさらに含み、前記設定ステップにおける設定内容に応じて、前記判定ステップにおける判定処理及び転送ステップにおける転送処理を行なう請求項10に記載の情報処理方法。
【請求項17】
管理サーバと、ドライバを用いてデータを形成するクライアント装置と、前記クライアント装置において形成されたデータを受け取りネットワークデバイスへ転送する制御サーバとを含む情報処理システムにおいて、
クライアント装置に対してローカル接続されているローカルデバイスのドライバと、クライアント装置に対してネットワークを介して接続されている前記ネットワークデバイスのドライバとが同一種類のドライバであるか否かを判定し、前記ネットワークデバイスのドライバと前記ローカルデバイスのドライバのバージョンを比較してどちらが新しいかを判定する判定手段と、
前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバと同一種類であり、前記ローカルデバイスのドライバが前記ネットワークデバイスのドライバよりも新しいと前記判定手段が判定した場合に、前記ローカルデバイスのドライバを前記制御サーバに対して前記ネットワークデバイスのドライバとしてインストールするインストール手段と、
を備えることを特徴とする情報処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−157134(P2010−157134A)
【公開日】平成22年7月15日(2010.7.15)
【国際特許分類】
【出願番号】特願2008−335544(P2008−335544)
【出願日】平成20年12月27日(2008.12.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年7月15日(2010.7.15)
【国際特許分類】
【出願日】平成20年12月27日(2008.12.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]