(57)【要約】【課題】デバイス情報とクライアント装置にインストールされているドライバ情報とを管理し、複数のクライアント装置の中でドライバ更新対象のクライアント装置を適切に選択することができるようにする仕組みを提供すること。【解決手段】各クライアント装置３０００にインストールされているドライバの種類およびバージョンと、出力先とを含む管理情報を管理し、周辺機器２０００の変更に従い、クライアント装置３０００で利用されるべきドライバが変更される場合に、管理情報を参照して、周辺機器２０００に対応する種類のドライバがインストールされているクライアント装置３０００を特定し、クライアント装置３０００の中で、管理情報を参照して、周辺機器２０００を出力先とするクライアント装置を抽出し、クライアント装置３０００に対して、変更すべきドライバのインストール指示を送信する。【選択図】  図４
2014038368.tif 000002
【特許請求の範囲】
【請求項１】
周辺機器のためのドライバのインストール指示を、ネットワークを介して複数のクライアント装置に対して行う管理装置であって、
各クライアント装置にインストールされているドライバの種類およびバージョンと、出力先とを含む管理情報を管理する管理手段と、
前記周辺機器の情報の変更に従い、クライアント装置で利用されるべきドライバが変更される場合に、前記管理情報を参照して、前記周辺機器に対応する種類のドライバがインストールされているクライアント装置を特定する特定手段と、
前記特定されたクライアント装置の中で、前記管理情報を参照して、前記周辺機器を出力先とするクライアント装置を抽出する抽出手段と、
前記抽出されたクライアント装置に対して、変更すべきドライバのインストール指示を送信する送信手段と、を備えることを特徴とする管理装置。
【請求項２】
前記管理手段は、前記管理情報として、さらに、前記ドライバのバージョンに対応する前記周辺機器のファームウェアのバージョンの情報を管理し、
前記特定手段は、前記周辺機器の情報の変更としての前記周辺機器のファームウェアのバージョンの変更に従い、クライアント装置で利用されるべきドライバが変更される場合に、当該周辺機器に対応する種類のドライバがインストールされているクライアント装置を特定することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記抽出されたクライアント装置に、前記周辺機器のためのドライバを用いた出力先が異なる複数のプリンタオブジェクトが存在する場合であっても、前記送信手段によるインストール指示の送信を強制的に行うよう設定する設定手段をさらに備えることを特徴とする請求項１または２に記載の管理装置。
【請求項４】
前記特定手段は、前記周辺機器の情報の変更としての当該周辺機器のリプレースに従い、クライアント装置で利用されるべきドライバが変更される場合に、当該リプレース前の周辺機器に対応する種類のドライバがインストールされているクライアント装置を特定し、
前記抽出手段は、前記特定されたクライアント装置の中で、前記管理情報を参照して、前記リプレース前の周辺機器を出力先とするクライアント装置を抽出し、
前記送信手段は、前記抽出されたクライアント装置に対して、前記リプレース後の周辺機器のためのドライバのインストール指示を送信することを特徴とする請求項１乃至３のいずれか１項に記載の管理装置
【請求項５】
前記周辺機器は画像形成装置であることを特徴とする請求項１乃至４のいずれか一項に記載の管理装置。
【請求項６】
周辺機器の使用に用いられるドライバのインストール指示をネットワークを介して複数のクライアント装置に対して行う管理装置の制御方法であって、
各クライアント装置にインストールされているドライバの種類およびバージョンと、出力先とを含む管理情報を管理する管理工程と、
前記周辺機器の情報の変更に従い、クライアント装置で利用されるべきドライバが変更される場合に、前記管理情報を参照して、前記周辺機器に対応する種類のドライバがインストールされているクライアント装置を特定する特定工程と、
前記特定されたクライアント装置の中で、前記管理情報を参照して、前記周辺機器を出力先とするクライアント装置を抽出する抽出工程と、
前記抽出されたクライアント装置に対して、変更すべきドライバのインストール指示を送信する送信工程と、を含むことを特徴とする制御方法。
【請求項７】
請求項１乃至５のいずれか１項に記載の手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置に対してドライバのインストール指示を送信する技術に関する。
【背景技術】
【０００２】
デバイスに対応したドライバを有するクライアント装置に対し、ネットワークを介してドライバ更新を管理する管理サーバが提供されている。管理サーバは、クライアント一覧を表示し、管理サーバを使用する管理者がクライアントにインストールされているドライバや印刷ポート情報から、更新すべきクライアントを手動で選択すると、ドライバを更新する。
【０００３】
特許文献１は、デバイス情報と、クライアント情報と、ドライバ情報を登録し、プリンタドライバやファームウェアを管理する管理装置を開示している。詳細には、特許文献１が開示する管理装置は、デバイス情報と、クライアント情報と、クライアントに対して、インストールすべきドライバのバージョン情報を含むドライバ情報として登録しておく。そして、管理装置は、実際にクライアントにインストールされているドライバのバージョンを含むドライバ情報を定期的に取得し、適切なドライバがクライアントにインストールされているかを判定する。そして、管理サーバは、クライアントに適正バージョンのドライバがインストールされていないと判定した場合には、クライアントに対して、適正バージョンのドライバに更新する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−９７３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ドライバ更新対象のクライアント装置を手動で選択する管理装置を使用する場合、更新先クライアント数が数千台に及ぶ場合には管理者は操作に手間がかかる。また、予め管理サーバに登録しているクライアント装置に対してドライバ更新を行う場合、クライアントのドライバに関連付いているポート情報を考慮していないため、次のような課題が生じる。
【０００６】
第一に、同一ドライバから出力先デバイスが異なるプリンタオブジェクトがクライアント装置に複数インストールされている場合、ドライバ更新を行うと、すべてのプリンタオブジェクトが更新されることになる。そのため、デバイスに搭載されているファームと対応するドライバの組み合わせが存在する場合には、出力先のデバイス毎に搭載されているファームが異なる場合、管理者が意図しないデバイスとドライバの組み合わせになる。第二に、デバイスのリプレースにより、出力先デバイスのアドレスは同一であるが、対応するドライバがリプレース前のデバイス用のドライバである場合、デバイスとドライバが不正な組み合わせになってしまう。従って、従来の管理装置は、出力先デバイス毎に搭載されているファームと対応するドライバの組み合わせを考慮していない。
【０００７】
本発明は、上述した課題の少なくとも一つを解決するためになされたものである。本発明は、デバイス情報とクライアント装置にインストールされているドライバ情報とを管理し、複数のクライアント装置の中からドライバ更新対象のクライアント装置を適切に選択することができるようにする仕組みの提供を目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態の管理装置は、周辺機器の使用に用いられるドライバのインストール指示をネットワークを介して複数のクライアント装置に対して行う管理装置である。前記管理装置は、各クライアント装置にインストールされているドライバの種類およびバージョンと、出力先とを含む管理情報を管理する管理手段と、前記周辺機器の情報の変更に従い、クライアント装置で利用されるべきドライバが変更される場合に、前記管理情報を参照して、前記周辺機器に対応する種類のドライバがインストールされているクライアント装置を特定する特定手段と、前記特定されたクライアント装置の中で、前記管理情報を参照して、前記周辺機器を出力先とするクライアント装置を抽出する抽出手段と、前記抽出されたクライアント装置に対して、変更すべきドライバのインストール指示を送信する送信手段と、を備える。
【発明の効果】
【０００９】
本発明の管理装置によれば、デバイス情報とクライアント装置にインストールされているドライバ情報とを管理し、複数のクライアント装置の中からドライバ更新対象のクライアント装置を適切に選択することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の管理システムの構成の一例を示す図である。
【図２】管理システムを構成する装置および印刷サーバのハードウェア構成を示す。
【図３】本発明の情報処理装置のソフトウェア構成を示す図である。
【図４】管理システムの各装置が備える情報例を示す。
【図５】デバイスリストの一例を示す図である。
【図６】ドライバリストの一例を示す図である。
【図７】クライアントリストの一例を示す図である。
【図８】リモートドライバ更新タスクを作成するフローチャートである。
【図９】リモートドライバ更新タスクを実行するフローチャートである。
【図１０】更新対象のクライアントを確定するフローチャートである。
【図１１】更新対象のクライアントを確定するフローチャートである。
【図１２】ドライバ更新モード選択図の一例を示す。
【図１３】ドライバ更新タスクの作成画面の一例を示す。
【図１４】ドライバ更新タスクの登録画面の一例を示す。
【図１５】管理システムの各装置が備える別の情報例を示す。
【図１６】更新対象のクライアントを確定するフローチャートである。
【図１７】更新対象のクライアントを確定するフローチャートである。
【図１８】リモートドライバ更新タスクを作成するフローチャートである。
【図１９】更新対象のクライアントを確定するフローチャートである。
【発明を実施するための形態】
【００１１】
（第１実施形態）
図１は、第１実施形態の管理システムのネットワーク構成例を示す。管理システムは、管理装置として機能する管理サーバ１０００、周辺機器であるデバイス２０００（ＤｅｖＡ−１〜ＤｅｖＡ−ｘ）、クライアント３０００（ＰＣＡ−１〜ＰＣＡ−ｘ、ＰＣＢ−１〜ＰＣＢ−ｘ、ＰＣＣ−１〜ＰＣＣ−ｘ）を備える。管理サーバ１０００、デバイス２０００、及びクライアント３０００は、互いに通信回線４０００により接続されている。通信回線４０００は有線回線または無線回線である。
【００１２】
図２は、管理サーバ１０００及びクライアント３０００のハードウェア構成を示す。以下では管理サーバ１０００を例にハードウェア構成を説明する。ＣＰＵ１０は、ＲＡＭ１２をワークエリアとして、ＲＯＭ１１、及びＨＤＤ１９に格納されたプログラムを実行し、システムバス１３を介し、図３を用いて後述するデバイス管理部３０の機能など本実施形態の各機能を実行する。ＣＰＵ１０は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。ＲＡＭ１２およびＲＯＭ１１はそれぞれ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称である。
【００１３】
管理サーバ１０００のデバイス管理部３０は、例えば、ＤｉｓｋＤｒｉｖｅ２０にマウント可能なＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ、磁気テープ、ＩＣメモリカード等の記憶媒体により供給される。ＣＰＵ１０は、ビデオカード（ＶＣ）１４を介して、表示装置（ＣＲＴ）１５にユーザインタフェース表示を行う。更に、ＣＰＵ１０は、キーボードコントローラ（ＫＢＣ）１６を介し、キーボード（ＫＢ）１７やマウスなどのポインティングデバイスからユーザインタフェースに対する入力指示に応じた制御を行う。また、ＣＰＵ１０は、ネットワークインタフェースボード（ＮＩＣ）２１を介し、通信回線４０００上のデバイス２０００、及びクライアント３０００間でのデータ通信を行う。クライアント３０００のドライバ制御部４０も、上記管理サーバ１０００のデバイス管理部３０と同様の構成を有する。
【００１４】
図３は、管理サーバ１０００上で動作するデバイス管理部３０とクライアント３０００上で動作するドライバ制御部４０のソフトウェア構成例を示す。デバイス管理部３０は、デバイス探索部３１、タスク管理部３２、ドライバ管理部３３、データ保管部３４、及びドライバ保管部３５を備える。デバイス管理部３０は、Ｗｅｂベースのアプリケーションとしての実施も可能であり、その場合、クライアント３０００はＷｅｂブラウザを介して管理サーバを利用も可能である。
【００１５】
タスク管理部３２は、デバイス探索部３１やドライバ管理部３３が生成し、データ保管部３４に保管したタスクのスケジュールを管理する機能を有する。タスク管理部３２は、タスクに設定されたスケジュールに応じて、タスクを保管したデバイス探索部３１、もしくはドライバ管理部３３に、タスクの実行を指示する。デバイス探索部３１は、同業者には公知のＳＮＭＰ、ＩＰ  Ｂｒｏａｄｃａｓｔ、ＳＬＰ／Ｍｕｌｔｉｃａｓｔ等によるデバイス２０００を探索する機能を有する。デバイス２０００を探索する際、デバイス探索部３１は、デバイス２０００に対して、ＬＡＮなどの通信回線４０００を介して、ＭＩＢ（Ｍａｎａｇｅｎｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）といったデバイス情報を取得、設定することが可能である。本実施形態では、デバイス探索部３１は、デバイス探索の結果として、デバイス名、製品名、ＰＤＬ、ファーム、アドレス等のデバイス情報を取得し、データ保管部３４へ保存する。当然のことながらデバイス探索部３１が取得するデバイス情報はこれらに限定されるものではなく、デバイス２０００を管理するために必要な任意のデバイス情報が取得されてよい。また、デバイス探索部３１は、定期的にデバイス検索してファームが更新されている場合は更新されたファーム情報を取得し、デバイスリストを更新する。
【００１６】
デバイス探索結果の一例を、図５（Ａ）に示す。図５（Ａ）に示すデバイスリストは、デバイス名、製品名、ＰＤＬ、ファーム、及びアドレスのデバイス情報を備える。例えば、デバイスＤｅｖＡ−１は、製品名がＤｅｖＡ、ＰＤＬがＰＣＬ、ファームがＦｉｒｍ１、アドレスがＡｄｄｒ１のデバイスであることを示す。デバイスＤｅｖＡ−２〜ＤｅｖＡ−ｘも同様である。なお、デバイス情報の取得は、デバイス探索部３１が行ったデバイス探索以外に、ＣＳＶファイルなどのファイルをインポートすることでも構わない。
【００１７】
ドライバ管理部３３は、ドライバ管理機能、ドライバ配信機能、及びクライアント管理機能を有する。ドライバ管理部３３のドライバ管理機能は、ドライバの実体をドライバ保管部３５に、そのドライバのドライバ情報をデータ保管部３４に保管して管理する。
【００１８】
ドライバ管理部３３が管理しているドライバ情報の一例を、図６に示す。図６に示すドライバリストは、ドライバ名、バージョン、ＰＤＬ、対応製品名、及び対応ファームの情報を備える。例えば、ドライバ名がＤｒｖＡで、バージョンがｖ１．０、ＰＤＬがＰＣＬであるドライバは、ファームがＦｉｒｍ１を有する製品名ＤｅｖＡのデバイス３０００に対応していることを示す。
【００１９】
次に、ドライバ管理部３３のドライバ配信機能は、クライアント３０００に対して、ドライバやポートのインストール／アンインストールをリモートタスクにより実現する機能である。リモートタスクには、クライアント３０００が指定され、デバイス３０００のデバイス情報の中のアドレスと、ドライバ及びポートの情報などの情報が設定される。この場合、リモートタスクを実行する対象となるクライアント３０００上には、図３に示すドライバのインストールやポートの作成機能を有するサービスプログラムであるドライバ制御部４０が常駐することになる。このドライバ制御部４０と、ドライバ管理部３３との間で行う通信は、所謂ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）などのプロトコルを利用したＷｅｂサービスにより実現する。
【００２０】
ここで、ドライバ制御部４０は、ドライバ管理部３３から指示されたドライバ及びポートの情報に従い、インストール済みのドライバの更新、及びドライバの置き換え機能を有する。ここで、インストール済みのドライバの更新とは、例えば、インストール済みのドライバを、同一の種類のバージョンの異なるドライバに更新することを意味する。また、ドライバの置き換えとは、インストール済みのドライバをアンインストールし、ドライバ管理部３３から指示された新たなドライバをインストールすることを意味する。更に、ドライバ制御部４０は、ドライバの置き換えの場合には、アンインストールしたドライバに関連付いていたポート情報を、新たにインストールしたドライバに関連付ける機能も備える。
【００２１】
また、ドライバ管理部３３のクライアント管理機能は、クライアント３０００のドライバ制御部４０から、クライアント３０００にインストールされたドライバやポートに関する情報を取得し、管理する。
【００２２】
図７は、ドライバ管理部３３が管理しているクライアント情報（管理情報）の一例を示す。図７に示す管理部３３が管理情報として管理するクライアント情報には、クライアント名、ドライバ名、バージョン情報、ＰＤＬ種別、プリンタ名、及びポート情報などが含まれる。ここで、その中のドライバ名、バージョン情報、ＰＤＬ種別、及びプリンタ名をドライバ情報とも呼ぶ。
例えば、クライアントＰＣＡ−１には、ドライバ名がＤｒｖＡ、バージョンがｖ１．０、ＰＤＬがＰＣＬであるドライバが、プリンタ名ＰｒｎＡ−１としてインストールされていることを示す。更に、このドライバは、デバイスＤｅｖＡ−１のアドレスであるＡｄｄｒ１から形成されたポート情報ＩＰ＿Ａｄｄｒ１を有しており、出力先がデバイスＤｅｖＡ−１であることがわかる。クライアントＰＣＡ−２〜ＰＣＡ−ｘは、クライアントＰＣＡ−１と同様のドライバがインストールされていることを示す。また、クライアントＰＣＢ−１〜ＰＣＢ−ｘは、クライアントＰＣＡ−１とは、同一ドライバではあるが、ポート情報がＩＰ＿Ａｄｄｒ２であり、出力先がデバイスＤｅｖＡ−２であることを示す。
【００２３】
ここで、ドライバ制御部４０からドライバ管理部３３へのクライアント情報の通知は、ドライバやポート情報の追加・更新・削除等のイベント発生時以外に、クライアント３０００起動時、ドライバ管理部３３からの任意の情報要求時やその組み合わせでもよい。
【００２４】
データ保管部３４は、ＨＤＤ１９上で稼働するデータベース等のデータ記録媒体であり、上記したようにデバイス情報やドライバ情報が保存される。また、ドライバ保管部３５は、上記したように、ＨＤＤ１９上で稼動するＦＴＰサーバ、ＨＴＴＰサーバ、もしくはファイルサーバといったドライバの実体を保存するための保存領域である。なお、データ保管部３４やドライバ保管部３５は、本実施形態のように、管理サーバ１０００と同一サーバであってもよいし、別サーバにあってもよい。
【００２５】
図４は、本実施形態の管理システムのデバイス２０００とクライアント装置３０００のネットワーク構成例と、各装置が有する情報例を示す。デバイス２０００は、デバイス名がＤｅｖＡ−１、ＤｅｖＡ−２のデバイス２０００を備える。クライアント３０００は、ＰＣＡ−１〜ＰＣＡ−ｘ、ＰＣＢ−１〜ＰＣＢ−ｘ、ＰＣＣ−１〜ＰＣＣ−ｘを備える。デバイス２０００、及びクライアント装置３０００は、互いに通信回線４０００により接続されている。
【００２６】
ここで周辺機器であるデバイス２０００の一例としては、本願発明では画像形成装置が挙げられる。画像形成装置には、印刷機能やファクス機能のみを有するＳＦＰや、印刷機能以外にスキャナ、コピー、ファクス機能等をさらに有するＭＦＰなどがある。
【００２７】
クライアント装置３０００は、アプリケーションからドライバを介して、ローカルプリンタやネットワーク接続プリンタから印刷することが可能である。以降、例えば、デバイス名がＤｅｖＡ−１のデバイス２０００は、デバイスＤｅｖ−１と称し、クライアント装置３０００（ＰＣＡ−１）は、クライアントＰＣＡ−１と称す。
【００２８】
ここで、ドライバとは、所謂プリンタドライバやＦＡＸドライバ、スキャンドライバを示す。プリンタドライバは、クライアントからの印刷指示に従い、出力するデバイス３０００に応じた印刷データを形成するためのソフトウェアである。また、ドライバが形成した印刷データは、ポートを介してデバイス２０００に送付される。なお、ローカルプリンタからの印刷とは、印刷データがクライアント３０００からデバイス２０００へ直接送付される印刷系を意味する。一方、ネットワーク接続プリンタから印刷とは、印刷データがクライアント３０００から、ネットワーク接続プリンタに対応したプリントサーバ上の共有プリンタを介して送付される印刷系を意味する。
【００２９】
また、デバイスＤｅｖＡ−１、ＤｅｖＡ−２は、其々デバイス情報２０１０と２０２０を有している。デバイスＤｅｖＡ−１、ＤｅｖＡ−２は、製品名、ＰＤＬ、ファームは同じであり、デバイス名、アドレスが異なるデバイスである。すなわち、デバイス情報２０１０と２０２０とから、デバイスＤｅｖＡ−１とＤｅｖＡ−２への印刷は、同一ドライバを利用することが可能であることがわかる。
【００３０】
ここで、ＰＤＬとは、ドライバが生成するデータを形成するページ記述言語であり、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）やＰＳ（Ｐｏｓｔ  Ｓｃｒｉｐｔ）などがある。ファームとは、デバイス２０００に組み込まれた所謂ファームウェアを意味する。アドレスとは、デバイス２０００がクライアント３０００からの印刷データを受信することができるアドレスであり、このアドレスに対応したポートが、クライアント３０００上に形成される。
【００３１】
一方、クライアントＰＣＡ−１〜ＰＣＡ−ｘ、ＰＣＢ−１〜ＰＣＢ−ｘ、ＰＣＣ−１〜ＰＣＣ−ｘは、其々ドライバ情報とポート情報から構成される印刷情報３０１０、３０２０、３０３０を有している。ここで、プリンタ名は、ドライバをインストールしたときに生成されるプリンタオブジェクトの名称である。対応ファームとは、ドライバが、デバイス３０００のどのファームに対応しているかを示すものである。また、ポートとは、デバイス情報２０１０と２０２０のアドレスに対応した印刷ポートであり、このポートにより印刷データの出力先デバイスが特定される。
【００３２】
図４に示すように、例えば、クライアントＰＣＡ−１〜ＰＣＡ−ｘは、デバイスＤｅｖＡ（ファームＦｉｒｍ１）に対応したドライバＤｒｖＡ（バージョンｖ１．０）のドライバ情報を有する。また、クライアントＰＣＡ−１〜ＰＣＡ−ｘは、デバイスＤｅｖＡ−１に出力するポートＩＰ＿Ａｄｄｒ１が形成されたポート情報を有する。クライアントＰＣＢ−１〜ＰＣＢ−ｘは、デバイスＤｅｖＡ（ファームＦｉｒｍ１）に対応したドライバＤｒｖＡ（バージョンｖ１．０）のドライバ情報を有する。また、クライアントＰＣＢ−１〜ＰＣＢ−ｘは、デバイスＤｅｖＡ−２に出力するポートＩＰ＿Ａｄｄｒ２が形成されたポート情報を有する。また、クライアントＰＣＣ−１〜ＰＣＣ−ｘには、デバイスＤｅｖＡ（ファームＦｉｒｍ１）に対応したドライバＤｒｖＡ（バージョンｖ１．０）から出力先が異なる２つのプリンタオブジェクトが形成されている。
【００３３】
従って、クライアントＰＣＡ−１〜ＰＣＡ−ｘからの印刷データは、デバイスＤｅｖＡ−１に出力され、クライアントＰＣＢ−１〜ＰＣＢ−ｘからの印刷データは、デバイスＤｅｖＡ−２に送付される。また、クライアントＰＣＣ−１〜ＰＣＣ−ｘからの印刷データは、プリンタオブジェクトを切り替えることで、デバイスＤｅｖＡ−１もしくはＤｅｖＡ−２に送付される。
【００３４】
ここで、図４に示すように、デバイスＤｅｖＡ−１のデバイス情報２０１０のファームが、Ｆｉｒｍ１からＦｉｒｍ２に更新されたとする。一方、デバイスＤｅｖＡ−２のデバイス情報２０２０には、変更がないとする。また、ファームＦｉｒｍ２に更新されたデバイスＤｅｖＡ−１に対応するドライバは、ドライバＤｒｖＡのバージョンｖ２．０であるとする。このときのドライバ更新における更新対象とすべきクライアント３０００は、次の通りである。
【００３５】
デバイスＤｅｖＡ−１のみを出力先としているクライアントＰＣＡ−１〜ＰＣＡ−ｘは、更新対象のクライアントになることが望ましい。また、デバイスＤｅｖＡ−２のみを出力先としているクライアントＰＣＢ−１〜ＰＣＢ−ｘは、更新対象のクライアントとならないことが望ましい。一方、同一ドライバから形成された２つのプリンタオブジェクトを使用し、デバイスＤｅｖＡ−１、ＤｅｖＡ−２を出力先としているクライアントＰＣＣ−１〜ＰＣＣ−ｘは、更新対象のクライアントにする／しないを自動的に決めないことが望ましい。これは、一方のプリンタオブジェクトのドライバを更新すると、同一ドライバを使用している他方のプリンタオブジェクトのドライバも自動的に更新されるためである。
【００３６】
次に、本実施形態の管理装置の制御について、図５（Ｂ）、図６、図７、図８〜図１１のフローチャート、及び図１２〜１３（Ａ）のＵＩ図を用いて詳細に説明する。図８のフローチャートは、ドライバ更新のタスクをリモートで作成するための処理を示す。まず、ドライバ管理部３３は、ドライバ更新のタスク作成機能を選択する（Ｓ１００）。次に、ドライバ管理部３３は、ドライバ更新のタスク作成のＳＴＥＰ１を示すドライバ更新モードの選択画面をＣＲＴ１５に表示する（Ｓ１０１）。
【００３７】
図１２は、ドライバ更新モードの選択画面の一例を示す。図１２に示すドライバ更新モードの選択画面は、通常更新モードと簡易更新モードを備える。更に、図１２に示すドライバ更新モードの選択画面は、画面遷移するための［Ｎｅｘｔ］ボタン、及び処理を中止するための［Ｃａｎｃｅｌ］ボタンを備える。ここで、通常更新モードは、ドライバ更新の対象クライアントを、図７のクライアントリストから選択可能にしたクライアント選択画面をＣＲＴ１０５に表示し、管理装置を使用する管理者が画面上で選択する従来のドライバ更新モードである。
【００３８】
一方、簡易更新モードは、ドライバ更新を行うためのクライアント装置を画面上で管理者が明示的に選択することなく、ドライバ更新タスク実行時に、対象となるクライアントを自動的に抽出するドライバ更新モードであり、変更モードと呼ぶ場合もある。管理者は、ＫＢ１０７を介してドライバ更新モードを選択する（Ｓ１０２）。本実施例では、管理者は、Ｓ１０２にて、ドライバ更新モードとして、簡易更新モードを選択したとする。
【００３９】
次に、ドライバ管理部３３は、ＫＢ１０７からのボタンアクションを判定し（Ｓ１０３）、［Ｎｅｘｔ］ボタン押下と判定した場合には処理をＳ１０４に遷移する。次に、ドライバ管理部３３は、ドライバ更新モードが簡易更新モードであるか、通常更新モードであるかを判定し（Ｓ１０４）、簡易更新モードであると判定した場合にはＳ１０５に遷移する。次に、ドライバ管理部３３は、ドライバ更新モードフラグを簡易更新モードに設定する（Ｓ１０５）。次に、ドライバ管理部３３は、ドライバ更新のタスク作成のＳＴＥＰ２を示すドライバの選択画面をＣＲＴ１５に表示する（Ｓ１０６）。
【００４０】
ドライバの選択画面の一例を、図１３（Ａ）に示す。図１３（Ａ）のドライバの選択画面は、図６に示したドライバリストを、選択可能にしたものである。更に、図１３（Ａ）に示すドライバの選択画面は、画面遷移するための［Ｎｅｘｔ］ボタン、及び処理を中止するための［Ｃａｎｃｅｌ］ボタンを備える。次に、管理者は、ＫＢ１０７を介して、更新ドライバを選択する（Ｓ１０７）。本実施例では、管理者は、Ｓ１０７にて、図１３（Ａ）に示すドライバ名ＤｒｖＡのバージョンｖ２．０のドライバを選択したとする。次に、ドライバ管理部３３は、ＫＢ１０７からのボタンアクションを判定し（Ｓ１１０）、［Ｎｅｘｔ］ボタン押下と判定した場合にはＳ１１１に遷移する。次に、ドライバ管理部３３は、ドライバ更新のタスク作成のＳＴＥＰ３を示すタスクの登録画面をＣＲＴ１５に表示する（Ｓ１１１）。
【００４１】
図１４は、タスクの登録画面の一例を示す。
図１４（Ａ）に示すタスクの登録画面は、タスク種別、選択ドライバ、ドライバ更新特性の設定、タスクスケジュールの設定といった項目を備える。タスク種別は、ドライバ更新、プリンタ追加、プリンタ削除など、どのような種類のタスクであるかを示す情報であり、Ｓ１００にて選択した機能に依存する。本実施例でのタスク種別は、ドライバ更新タスクとなる。選択ドライバはドライバの選択項目であり、Ｓ１０７で選択したドライバのドライバ情報である。また、タスクスケジュールの設定は、タスクの実行時間を設定するための編集コントロールである。
ドライバ更新特性の設定では、変更すべきドライバのインストール指示を強制的に送信するか否かを示す設定情報が表示される。管理者は、ドライバ更新特性の設定において、「ドライバを強制更新する」のチェックボックスを有効化する。これにより、ドライバ管理部３３は、図４に示したクライアントＰＣＣ−１〜ＰＣＣ−ｘのように、同一ドライバから複数のプリンタオブジェクトを生成しているクライアントのドライバを強制的に更新することができる。
【００４２】
図１４（Ａ）に示すタスクスケジュールの設定には、ｙｙｙｙ年ｍｍ月ｄｄ日−ｈｈ時ｍｍ分形式の設定となっているが、異なる年月日時分形式でもよく、更に即時実行や定期的な実行の指定であってもよい。更に、図１４（Ａ）に示すタスクの登録画面は、データ保管部３３にタスク内容を登録するための［Ｒｅｇｉｓｔｅｒ］ボタン、及び処理を中止するための［Ｃａｎｃｅｌ］ボタンから構成される。次に、管理者は、ＫＢ１０７を介して、ドライバ更新特性の設定を行う（Ｓ１１２）。次に、管理者は、ＫＢ１０７を介して、タスクスケジュールの設定を行う（Ｓ１１３）。次に、ドライバ管理部３３は、ＫＢ１０７からのボタンアクションを判定し（Ｓ１１４）、［Ｒｅｇｉｓｔｅｒ］ボタン押下と判定した場合にはＳ１１５に遷移する。次に、ドライバ管理部３３は、Ｓ１０５と、図１４（Ａ）で表示・設定したドライバ更新タスクを、タスク情報として、データ保管部３３に保管する（Ｓ１１５）。
【００４３】
一方、ドライバ管理部３３は、Ｓ１０４にて、ドライバ更新モードが通常更新モードであると判定した場合にはＳ１０８に遷移する。次に、ドライバ管理部３３は、ドライバ更新モードフラグを通常更新モードに設定する（Ｓ１０８）。次に、ドライバ管理部３３は、更新対象となるクライアントとドライバを管理者が明示的に選択する通常のドライバ更新準備処理を行う（Ｓ１０９）。以降、ドライバ管理部３３は、Ｓ１１０からＳ１１５の処理を行う。Ｓ１１５でデータ保管部３３に保管するドライバ更新タスク情報は、Ｓ１０８と、Ｓ１０９で管理者が選択した更新対象クライアントを伴った図１４（Ａ）で表示・設定した情報となる。
【００４４】
次に、図８のフローチャートにて、データ保管部３３に保管したドライバ更新タスクの実行処理を、図９〜１０のフローチャートで示す。タスク管理部３２は、データ保管部３４に保管されたタスクで、タスクスケジュールからタスクの実行時間に到達したタスクが存在する否かを判定する（Ｓ２００）。タスク管理部３２は、Ｓ２００で、実行時間に到達したタスクが存在すると判定した場合には、該当タスクの保管元に通知しＳ２０１に遷移する。本実施形態では、タスク管理部３２は、ドライバ管理部３３に、実行時間に到達したタスクの存在を通知することを意味する。
【００４５】
次に、タスク管理部３２からタスク実行を指示されたドライバ管理部３３は、データ保管部３４に保管したタスクのタスク情報（図１４（Ａ））を取得する（Ｓ２０１）。ドライバ管理部３３は、取得したタスクのタスク情報のタスク種別からドライバ更新タスクであるか否かを判定する（Ｓ２０２）。ドライバ管理部３３は、Ｓ２０２で、タスク種別がドライバ更新であると判定した場合にはＳ２０３に遷移する。次に、ドライバ管理部３３は、タスク情報のドライバ更新モードフラグから簡易更新モードのタスクであるか否かを判定する（Ｓ２０３）。ドライバ管理部３３は、タスクが簡易更新モードであると判定した場合にはＳ２０４に遷移する。次に、ドライバ管理部３３は、更新対象となるクライアントを自動で抽出する（Ｓ２０４）。Ｓ２０４の詳細に関しては、図１０および図１１を用いて詳細に後述する。
【００４６】
次に、ドライバ管理部３３は、更新対象のクライアントのドライバ制御部４０に対して、ドライバ更新処理を実行する（Ｓ２０５）。一方、ドライバ管理部３３は、Ｓ２０２でタスク種別がドライバ更新タスクではないと判定した場合には、ドライバ更新以外のタスクを実行する。更に、ドライバ管理部３３は、Ｓ２０３で簡易更新モードのタスクではないと判定した場合には、通常のドライバ更新タスクを実行する。
【００４７】
図１０および図１１は、図９で説明したＳ２０４で更新対象となるクライアントを自動抽出する詳細フローを示す。ドライバ管理部３３は、データ保管部３４から保管したタスクのタスク情報（図１３（Ａ））から、選択ドライバ（すなわち、ドライバン名ＤｒｖＡ、バージョンｖ２．０、対応ファームＦｉｒｍ２など）を取得する（Ｓ３００）。次に、ドライバ管理部３３は、図７に示すクライアントリストを取得し、クライアントにインストールされているドライバ情報を取得する（Ｓ３０１）。次に、ドライバ管理部３３は、Ｓ３００で取得した選択ドライバのドライバ情報と、Ｓ３０１で取得したクライアントリストのドライバ情報との比較判定する（Ｓ３０２）。
【００４８】
Ｓ３０２で、ドライバ管理部３３は、図７に示すクライアントリストに、Ｓ３００で取得したドライバ情報のドライバ名が同一で、かつバージョンが古いドライバを有するクライアント３０００が存在するか否かの比較判定を意味する。本実施例では、ドライバ管理部３３は、ドライバ名ＤｒｖＡで、バージョンがｖ２．０よりも古いバージョンのドライバを有するクライアント３０００が存在するか否かを判定し、該当するクライアント３０００が存在する場合にはＳ３０３に遷移する。
【００４９】
次に、ドライバ管理部３３は、該当したクライアント３０００を、更新対象のクライアント候補として抽出する（Ｓ３０３）。本実施例では、ドライバ管理部３３は、図７に示すクライアントリストから、クライアントＰＣＡ−１〜ＰＣＡ−ｘ、ＰＣＢ−１〜ＰＣＢ−ｘ、及びＰＣＣ−１〜ＰＣＣ−ｘを更新対象クライアント候補として抽出する。つまり、ドライバ管理部３３は、ドライバが変更される場合に、クライアント情報を参照して、対応する種類のドライバを利用しているクライアント装置を特定する。
【００５０】
次に、ドライバ管理部３３は、データ保管部３４からデバイス情報を取得する（Ｓ３０４）。本実施例では、ドライバ管理部３３は、データ保管部３４から図５（Ｂ）に示すデバイスリストを取得することを意味する。図５（Ｂ）のデバイスＤｅｖＡ−１については、図５（Ａ）に示すファームがＦｉｒｍ１からＦｉｒｍ２に更新されたことを示す。
【００５１】
次に、ドライバ管理部３３は、Ｓ３０３で抽出したクライアント３０００のポート情報を取得する。ドライバ管理部３３は、取得したポート情報とＳ３０４で取得したデバイスリストのアドレスを突き合わせ、ポート情報と対応するアドレスを有するデバイス２０００が存在するか否かを判定する（Ｓ３０５）。例えば、図５（Ｂ）に示すデバイスＤｅｖＡ−１のアドレスＡｄｄｒ１に対応したポート情報は、ＩＰ＿Ａｄｄｒ１といったポート情報である。ドライバ管理部３３は、ポート情報の一部に、デバイス２０００のアドレスが設定されることからアドレスに対応したポート情報であると判定する。本実施例では、ドライバ管理部３３は、ポート情報ＩＰ＿Ａｄｄｒ１、ＩＰ＿Ａｄｄｒ２の生成が可能なアドレスを有するデバイス２０００が図５（Ｂ）に示すデバイスリストに存在するか否かの判定を行うことを意味する。従って、ドライバ管理部３３は、図５（Ｂ）に示すデバイスリストのデバイスＤｅｖＡ−１、ＤｅｖＡ−２が、該当するデバイス２０００であると判定する。上述したように、デバイス情報とクライアント情報とを突き合わせ、デバイス情報から特定された画像形成装置を出力先とするクライアント装置を、インストール指示の送信先として適切に抽出することが可能となる。
【００５２】
図１１に示すように、ドライバ管理部３３は、Ｓ３０５で特定したデバイス２０００のデバイス情報からファーム情報を取得する（Ｓ３０６）。本実施例では、ドライバ管理部３３は、デバイスＤｅｖＡ−１、ＤｅｖＡ−２のファームＦｉｒｍ２、Ｆｉｒｍ１を取得する。次に、ドライバ管理部３３は、Ｓ３０６で取得したデバイス２０００のファーム情報が、Ｓ３００で取得した更新ドライバの対応ファーム（すなわち、Ｆｉｒｍ２）と適合していないデバイス２０００が存在するかを判定する（Ｓ３０７）。本実施例では、ドライバ管理部３３は、更新ドライバの対応ファームＦｉｒｍ２に適合しないデバイスＤｅｖＡ−２が存在すると判定する。
【００５３】
次に、ドライバ管理部３３は、Ｓ３０３で抽出したクライアント３０００の中で、Ｓ３０６で特定したデバイスＤｅｖＡ−１、ＤｅｖＡ−２を出力先とするクライアント装置を抽出する。そして、ドライバ管理部３３は、Ｓ３０７で特定したデバイスＤｅｖＡ−２を出力先とするポート情報のみを有するクライアント３０００が存在するかを判定する（Ｓ３０８）。本実施例では、ドライバ管理部３３は、抽出したクライアントＰＣＡ−１〜ＰＣＡ−ｘ、ＰＣＢ−１〜ＰＣＢ−ｘ、及びＰＣＣ−１〜ＰＣＣ−ｘの中から、デバイスＤｅｖＡ−２のみを出力先とするクライアントＰＣＢ−１〜ＰＣＢ−ｘが存在すると判定する。
【００５４】
次に、ドライバ管理部３３は、Ｓ３０８で特性したクライアントＰＣＢ−１〜ＰＣＢ−ｘを、Ｓ３０３で抽出した更新対象クライアント候補から外す（Ｓ３０９）。すなわち、ドライバ管理部３３は、ファームに適合するデバイスを出力先とするクライアント装置を抽出する。そして、ドライバ管理部３３は、変更すべきドライバに対応するファームウェア情報と整合しない画像形成装置を出力先とするクライアント装置を、インストール指示の送信先から除外する。従って、Ｓ３０９により、更新対象クライアント候補は、クライアントＰＣＡ−１〜ＰＣＡ−ｘ、及びＰＣＣ−１〜ＰＣＣ−ｘに絞り込まれ、管理者が意図しないデバイスとドライバの組み合わせを防止することが可能となる。
【００５５】
次に、ドライバ管理部３３は、Ｓ３００で取得したドライバの対応ファームに適合したデバイス２０００と適合しなったデバイス２０００を出力先とするドライバを有するクライアント３０００が存在するか否かを判定する（Ｓ３１０）。Ｓ３１０にて、Ｓ３００で取得したドライバの対応ファームに適合したデバイス２０００と適合しなかったデバイス２０００を出力先とするドライバを有するクライアント３０００が存在すると判定した場合にはＳ３１１に遷移する。本実施例では、ドライバ管理部３３は、Ｓ３０９で絞り込まれたクライアントＰＣＡ−１〜ＰＣＡ−ｘ、及びＰＣＣ−１〜ＰＣＣ−ｘのうち、クライアントＰＣＣ−１〜ＰＣＣ−ｘが該当すると判定する。
【００５６】
次に、ドライバ管理部３３は、データ保管部３４からドライバ更新特性の設定情報を取得する（Ｓ３１１）。次に、ドライバ管理部３３は、Ｓ３１１で取得したドライバ更新特性の設定が、ドライバを強制更新するか否かを判定し（Ｓ３１２）、ドライバを強制更新する場合にはＳ３１３に遷移する。
【００５７】
次に、ドライバ管理部３３は、Ｓ３０９で絞り込んだクライアント３０００を更新対象クライアントとして確定する（Ｓ３１３）。本実施例では、ドライバ管理部３３は、クライアントＰＣＡ−１〜ＰＣＡ−ｘ、及びＰＣＣ−１〜ＰＣＣ−ｘを、更新対象クライアントとして確定することを意味する。そして、ドライバ管理部３３は、クライアントＰＣＡ−１〜ＰＣＡ−ｘのドライバ制御部４０に対しては、ドライバＤｒｖＡ（バージョンｖ１．０）からＤｒｖＡ（バージョンｖ２．０）への更新指示を送信する。また、ドライバ管理部３３は、クライアントＰＣＣ−１〜ＰＣＣ−ｘのドライバ制御部４０に対しては、ポート情報ＩＰ＿Ａｄｄｒ１、ＩＰ＿Ａｄｄｒ２のドライバＤｒｖＡ（バージョンｖ１．０）からＤｒｖＡ（バージョンｖ２．０）への更新を指示する。また、Ｓ３１２で、ドライバを強制更新しないと判定した場合にはＳ３１４に遷移する。
【００５８】
次に、ドライバ管理部３３は、適合したデバイス２０００と適合しなったデバイス２０００を出力先とするドライバを有するクライアント３０００以外のクライアント３０００を更新対象クライアントとして確定する（Ｓ３１４）。本実施例では、ドライバ管理部３３は、クライアントＰＣＣ−１〜ＰＣＣ−ｘを除外し、クライアントＰＣＡ−１〜ＰＣＡ−ｘを、更新対象クライアントとして確定することを意味する。この結果、ドライバ管理部３３は、クライアントＰＣＡ−１〜ＰＣＡ−ｘのドライバ制御部４０に対しては、ドライバＤｒｖＡ（バージョンｖ１．０）からＤｒｖＡ（バージョンｖ２．０）への更新を指示する。
【００５９】
一方、Ｓ３１０で、Ｓ３００で取得したドライバの対応ファームに適合したデバイス２０００と適合しなったデバイス２０００を出力先とするドライバを有するクライアント３０００が存在しないと判定した場合にはＳ３１５に遷移する。次に、ドライバ管理部３３は、適合したデバイス２０００のみを出力先とするドライバを有するクライアント３０００を、更新対象クライアントとして確定する（Ｓ３１５）。本実施例では、図７に示すクライアントリストに、クライアントＰＣＣ−１〜ＰＣＣ−ｘが存在していなかった場合に、ドライバ管理部３３は、クライアントＰＣＡ−１〜ＰＣＡ−ｘを更新対象クライアントとして確定することを意味する。この結果、ドライバ管理部３３は、クライアントＰＣＡ−１〜ＰＣＡ−ｘのドライバ制御部４０に対しては、ドライバＤｒｖＡ（バージョンｖ１．０）からＤｒｖＡ（バージョンｖ２．０）への更新を指示する。
【００６０】
また、Ｓ３０７で、Ｓ３０６で取得したデバイス２０００のファーム情報が、更新ドライバの対応ファームと適合しているデバイス２０００であると判定した場合には、Ｓ３１５に遷移する。また、Ｓ３０８で、Ｓ３０３で抽出したクライアント３０００の中に、Ｓ３０７で特定したデバイス２０００が出力先となるポート情報のみを有するクライアント３０００が存在しないと判定した場合には、Ｓ３１０へ遷移する。
【００６１】
一方、Ｓ３０２で、Ｓ３００で取得したドライバ情報のドライバ名が同一で、かつバージョンが古いドライバを有するクライアント３０００が存在しないと判定した場合には更新対象クライアントが存在しないことを意味し処理を終了する。同様に、Ｓ３０５で、Ｓ３０３で抽出したクライアント３０００のドライバ情報に対応するポート情報が、Ｓ３０４で取得したデバイスリストのアドレスから生成可能なポート情報であるデバイス２０００が存在しないと判定した場合も処理を終了する。
【００６２】
本実施形態によれば、ドライバ更新の際に、更新対象とするクライアント３０００の手動選択が不要になる。また、ドライバがデバイスの特定ファームに対応している場合でも、適切なドライバとデバイス２０００の組み合わせ、または管理者が意図した組み合わせとなるように更新対象のクライアント３０００の自動抽出を実現することが出来る。これによって、ドライバ更新における選択処理の簡易化と適切なインストール結果が実現され、結果としてＩＴ管理者の操作性の向上し、コンピュータシステムに係る管理コストを削減することができる効果を有する。  
【００６３】
（第２実施形態）
次に、本発明の第２実施形態を説明する。図１５は、第２実施形態の管理システムの構成例を示す。図１５に示す管理システムは、デバイス名がＤｅｖＡ−１、ＤｅｖＡ−２のデバイス２０００と、クライアント３０００（ＰＣＡ−１〜ＰＣＡ−ｘ、ＰＣＢ−１〜ＰＣＢ−ｘ）を備える。図１５を構成するデバイス２０００、クライアント３０００、通信回線４０００、更に、デバイス２０００のデバイス情報２０１０、２０２０、クライアント３０００の印刷情報３０１０、３０２０は図４を用いて説明した印刷情報と同等である。
【００６４】
図１５は、図４と同様にデバイスＤｅｒｖＡ−１のデバイス情報２０１０のファームが、Ｆｉｒｍ１からＦｉｒｍ２に更新された以外に、デバイスＤｅｖＡ−２がデバイスＤｅｖＢ−１にリプレースされたとする。ここで、デバイスＤｅｖＡ−２からデバイスＤｅｖＢ−１へリプレースされた場合、リプレース前のデバイスＤｅｖＡ−２のアドレスが、リプレース後のデバイスＤｅｖＢ−１に引き継がれる。また、ベンダーが異なるなど、デバイスＤｅｖＡ−２とデバイスＤｅｖＢ−１に対応するドライバは異なる。本実施形態では、デバイスＤｅｖＢ−１に対応するドライバは、図６に示すドライバＤｒｖＢ−１とＤｒｖＢ−２であるものとする。
【００６５】
このときのドライバ更新における更新対象とすべきクライアント３０００は、クライアントＰＣＡ−１〜ＰＣＡ−ｘ、ＰＣＢ−１〜ＰＣＢ−ｘであることが望ましい。更に、クライアントＰＣＡ−１〜ＰＣＡ−ｘは、ドライバＤｒｖＡ（バージョンｖ１．０）から、デバイスＤｅｖＡ−１（ファームＦｉｒｍ２）に対応したドライバＤｒｖＡ（バージョンｖ２．０）に更新されることが望ましい。一方、クライアントＰＣＢ−１〜ＰＣＢ−ｘは、ドライバＤｒｖＡから、リプレースされたデバイスＤｅｖＢ−１（ファームＦｉｒｍ１）に対応したドライバＤｒｖＢ１−１、ＤｒｖＢ−２に更新されることが望ましい。以下に、上記のことを実現する本発明の好適かつ詳細な説明（実施例）を説明する。
【００６６】
図１６および図１７は、図１０のフローチャートのＳ３００〜Ｓ３０５、Ｓ３０６〜Ｓ３０９、及びＳ３１５に、Ｓ４００〜Ｓ４０３を追加したものである。ドライバ管理部３３は、Ｓ３０３で図７に示すクライアントリストから抽出したクライアント３０００のポート情報を取得する。図１６に示すＳ３０４で、ドライバ管理部３３は、図５（Ｃ）に示すデバイス情報を取得する。ドライバ管理部３３は、Ｓ３０３で取得したポート情報とＳ３０４で取得したデバイスリストのアドレスを突き合わせ、ポート情報と対応するアドレスを有するデバイス２０００が存在するか否かを判定する。ポート情報と対応するアドレスを有するデバイス２０００が存在する場合、ドライバ管理部３３は、Ｓ４００に遷移する。本実施例では、ドライバ管理部３３は、ポート情報ＩＰ＿Ａｄｄｒ１、ＩＰ＿Ａｄｄｒ２の生成が可能なアドレスを有するデバイス２０００が存在するか否かの判定を行うことを意味する。従って、ドライバ管理部３３は、図５（Ｃ）に示すデバイスリストのデバイスＤｅｖＡ−１、ＤｅｖＢ−１が、該当するデバイス２０００であると判定する。
【００６７】
図１７に示すように、ドライバ管理部３３は、Ｓ３０５で特定したデバイス２０００と、選択したドライバがサポートするデバイス２０００と異なるデバイス２０００が存在するか否かの判定を行い（Ｓ４００）、存在する場合にはＳ４０１に遷移する。本実施例では、ドライバ管理部３３は、デバイスＤｅｖＡ−１、ＤｅｖＢ−１と、選択したドライバＤｒｖＡ（バージョンｖ２．０）がサポートするデバイスＤｅｖＡとの判定を意味する。その結果、ドライバ管理部３３は、デバイスＤｅｖＡ−１は同じであるが、デバイスＤｅｖＢ−１は異なると判定する。
【００６８】
次に、ドライバ管理部３３は、図６に示すドライバリストを取得する（Ｓ４０１）。次に、ドライバ管理部３３は、Ｓ４００で異なると判定したデバイス２０００（デバイスＤｅｖＢ−１）に対応したドライバが、４０１で取得した図６のドライバリストに存在するか否かを判定し（Ｓ４０２）、存在する場合にはＳ４０３へ遷移する。本実施例では、ドライバ管理部３３は、Ｓ４００で異なると判定したデバイスＤｅｖＢ−１に対応したドライバとして、図６のドライバリストのドライバＤｒｖＢ−１、ＤｒｖＢ−２が存在すると判定する。
【００６９】
次に、ドライバ管理部３３は、ドライバ更新タスクの選択ドライバに、Ｓ４０２で存在すると判定したドライバを追加し（Ｓ４０３）、Ｓ３０６に遷移する。本実施例では、ドライバ管理部３３は、ドライバ更新タスクの選択ドライバに、ドライバＤｒｖＢ−１、ＤｒｖＢ−２を追加することを意味する。以降、ドライバ管理部３３は、Ｓ３０６〜Ｓ３０９、Ｓ３１５にて、更新対象のクライアントは、クライアントＰＣＡ−１〜ＰＣＡ−ｘ、ＰＣＢ−１〜ＰＣＢ−ｘであると確定する。この結果、ドライバ管理部３３は、クライアントＰＣＡ−１〜ＰＣＡ−ｘのドライバ制御部４０に対しては、ドライバＤｒｖＡ（バージョンｖ１．０）からＤｒｖＡ（バージョンｖ２．０）への更新を指示することが可能となる。一方、ドライバ管理部３３は、クライアントＰＣＢ−１〜ＰＣＢ−ｘのドライバ制御部４０に対しては、ドライバＤｒｖＡ（バージョンｖ１．０）からドライバＤｒｖＢ−１、ＤｒｖＢ−２へのドライバ更新を指示することになる。
【００７０】
本実施形態によれば、デバイス２０００がリプレースされた場合でも、適切なドライバとデバイス２０００の組み合わせとなるように更新対象のクライアント３０００の自動抽出を実現することが出来る。これによって、ドライバ更新における選択処理の簡易化と適切なインストール結果が実現され、結果としてＩＴ管理者の操作性の向上し、コンピュータシステムに係る管理コストを削減することができる効果を有する。
【００７１】
（第３実施形態）
次に、本発明の第３実施形態を説明する。図１５において、デバイスＤｅｒｖＡ−１のデバイス情報２０１０のファーム更新は行われず、デバイスＤｅｖＡ−２がデバイスＤｅｖＢ−１にリプレースされたとする。このときのドライバ更新における更新対象とすべきクライアント３０００は、クライアントＰＣＢ−１〜ＰＣＢ−ｘであることが望ましい。更に、クライアントＰＣＢ−１〜ＰＣＢ−ｘは、ドライバＤｒｖＡから、リプレースされたデバイスＤｅｖＢ−１（ファームＦｉｒｍ１）に対応したドライバＤｒｖＢ１−１、ＤｒｖＢ−２に更新されることが望ましい。以下に、上記のことを実現する処理の流れを説明する。
【００７２】
図１８のフローチャートでは、図８のフローチャートにおける、Ｓ１０６のドライバ選択画面の表示およびＳ１０７のドラバセットの選択がＳ５００のデバイス選択画面の表示およびＳ５０１のデバイスの選択に変更されている。また、Ｓ１１２の更新特性の設定が無くなり、Ｓ５０２の対応ドライバの抽出、Ｓ５０３抽出したドライバの編集が追加されたものである。図１９は、図１０のフローチャートにかわるフローチャートである。図１３（Ａ）は図１３（Ｂ）に、図１４（Ａ）は図１４（Ｂ）に置き換える。最初に、図１３（Ｂ）、図１４（Ｂ）、及び図１８を用いて、ドライバ更新タスクの登録を示す。
【００７３】
ドライバ管理部３３は、Ｓ１０５でドライバ更新モードフラグに簡易更新モードを設定した後、ドライバ更新のタスク作成のＳＴＥＰ２を示すデバイスの選択画面をＣＲＴ１５に表示する（Ｓ５００）。デバイスの選択画面の一例を、図１３（Ｂ）に示す。図１３（Ｂ）のデバイスの選択画面は、図５（Ｃ）に示したデバイスリストを、選択可能にしたものである。また、図１３（Ｂ）のデバイスの選択画面には、通信回線４０００にまだ接続されておらず、ドライバ探索部３１のデバイス探索では探索不能な状態のデバイス２０００を設定して選択することを可能とする手動設定機能を有する。なお、手動設定の代わりにＣＳＶファイルなどのファイルをインポートして選択しても構わない。更に、図１３（Ｂ）のドライバの選択画面は、画面遷移するための［Ｎｅｘｔ］ボタン、及び処理を中止するための［Ｃａｎｃｅｌ］ボタンを備える。
【００７４】
管理者は、ＫＢ１０７を介して、リプレース後のデバイス２０００を選択する（Ｓ５０１）。本実施例では、管理者は、Ｓ５０１にて、図１３（Ｂ）に示すデバイスＤｅｖＢ−１を選択したとする。次に、ドライバ管理部３３は、ＫＢ１０７からのボタンアクションを判定し（Ｓ１１０）、［Ｎｅｘｔ］ボタン押下と判定した場合にはＳ１１１に遷移する。
【００７５】
次に、ドライバ管理部３３は、Ｓ５０１で選択したデバイスに対応したドライバを図６のドライバリストから抽出する（Ｓ５０２）。本実施例では、ドライバ管理部３３は、図６のドライバリストから、ドライバＤｒｖＢ−１、ＤｒｖＢ−２を抽出する。
【００７６】
次に、ドライバ管理部３３は、ドライバ更新のタスク作成のＳＴＥＰ３を示すタスクの登録画面をＣＲＴ１５に表示する（Ｓ１１１）。タスクの登録画面の一例を、図１４（Ｂ）に示す。図１４（Ｂ）のタスクの登録画面は、タスク種別、選択デバイス、更新ドライバの設定、タスクスケジュールの設定を備える。選択デバイスは、５０１で選択したリプレース後のデバイス２０００のデバイス情報を表示したものである。更新ドライバの設定は、Ｓ５０２で抽出したドライバのドライバ情報を表示したものである。更に、更新ドライバの設定では、抽出したドライバが複数の場合には、意図的に更新ドライバから外すことも可能なチェックボックスを設けている。なお、タスク種別、タスクスケジュールの設定は、図４（Ａ）と同じである。また、図１４（Ｂ）のタスクの登録画面は、データ保管部３３にタスク内容を登録するための［Ｒｅｇｉｓｔｅｒ］ボタン、及び処理を中止するための［Ｃａｎｃｅｌ］ボタンを備える。次に、管理者は、ＫＢ１０７を介して、更新ドライバの設定を行う以降、Ｓ１１３〜Ｓ１１５のドライバ更新のタスク登録を行う。
【００７７】
図１９は、図９のＳ２０４の更新対象となるクライアント３０００の自動抽出の詳細フローを示す。ドライバ管理部３３は、データ保管部３４が保管したタスク情報（図１４（Ｂ）から選択デバイスのアドレスを取得する（Ｓ６００）。本実施例では、ドライバ管理部３３は、選択したデバイスＤｅｖＢ−１のアドレスＡｄｄｒ２を取得する。次に、ドライバ管理部３３は、データ保管部３４から図７に示すクライアントリストを取得する（Ｓ６０１）。本実施例では、図７のクライアントリストは、クライアントＰＣＡ−１〜ＰＣＡ−ｘ、ＰＣＢ−１〜ＰＣＢ−ｘから構成されており、ＰＣＣ−１〜ＰＣＣ−ｘは含まれていない。
【００７８】
次に、ドライバ管理部３３は、Ｓ６００で取得したデバイス２０００のアドレスに該当するポート情報を有するクライアント３０００が存在するか否かを判定し（Ｓ６０２）、存在する場合にはＳ６０３に遷移する。本実施例では、ドライバ管理部３３は、デバイス２０００のアドレスＡｄｄｒ−２に該当するポート情報ＩＰ＿Ａｄｄｒ２を有するクライアントＰＣＢ−１〜ＰＣＢ−ｘが該当するクライアント３０００であると判定する。
【００７９】
次に、ドライバ管理部３３は、Ｓ６０２で該当したクライアント３０００を更新対象のクライアントとして確定する（Ｓ６０３）。本実施例では、ドライバ管理部３３は、クライアントＰＣＢ−１〜ＰＣＢ−ｘを更新対象のクライアントとして確定する。一方、ドライバ管理部３３は、Ｓ６０２で該当するクライアント３０００が存在しないと判定したときには処理を終了する。この結果、ドライバ管理部３３は、クライアントＰＣＢ−１〜ＰＣＢ−ｘのドライバ制御部４０に対して、ドライバＤｒｖＡ（バージョンｖ１．０）からドライバＤｒｖＢ−１、ＤｒｖＢ−２（ともにバージョンｖ１．０）への更新を指示することになる。
【００８０】
本実施形態によれば、ドライバ更新の際に、更新対象とするクライアント３０００の手動選択が不要になる。また、ドライバがデバイスの特定ファームに対応している場合でも、適切なドライバとデバイス２０００の組み合わせ、もしくは管理者が意図した組み合わせとなるように更新対象のクライアント３０００の自動抽出を実現することが出来る。
これによって、ドライバ更新における選択処理の簡易化と適切なインストール結果が実現され、結果としてＩＴ管理者の操作性の向上し、コンピュータシステムに係る管理コストを削減することができる効果を有する。
【００８１】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2014038368.tif 000003
【図２】
2014038368.tif 000004
【図３】
2014038368.tif 000005
【図４】
2014038368.tif 000006
【図５】
2014038368.tif 000007
【図６】
2014038368.tif 000008
【図７】
2014038368.tif 000009
【図８】
2014038368.tif 000010
【図９】
2014038368.tif 000011
【図１０】
2014038368.tif 000012
【図１１】
2014038368.tif 000013
【図１２】
2014038368.tif 000014
【図１３】
2014038368.tif 000015
【図１４】
2014038368.tif 000016
【図１５】
2014038368.tif 000017
【図１６】
2014038368.tif 000018
【図１７】
2014038368.tif 000019
【図１８】
2014038368.tif 000020
【図１９】
2014038368.tif 000021