(57)【要約】  【課題】  デバイスドライバのインストールに連動して、デバイスの情報をサーバに登録できるデバイス情報管理システムの提供。  【解決手段】  ＰＣ１は、プリンタの使用を開始するに当たって、プリンタドライバのインストールを実行し（Ｓ１０５）、引き続いて、プリンタから情報を取得し（Ｓ１１０）、ＰＣ情報とともにプリンタ情報をプリンタ登録サーバに送信する（Ｓ１１５〜Ｓ１２５）。この情報がプリンタ登録サーバのデータベースに登録される。さらに、プリンタ登録サーバ７から初期設定用ＰＪＬコマンドファイルを受信した場合は（Ｓ１３５：ＹＥＳ）、そのＰＪＬコマンドをデバイスに送信し（Ｓ１５０）、これにより、デバイスの初期設定も行うことができる。【選択図】  図４
2006236062.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、クライアントと、デバイスとを備えてなり、前記サーバと前記クライアントは第１の通信路を介して通信可能に構成され、前記クライアントと前記デバイスは前記第１の通信路とは異なる第２の通信路を介して通信可能に構成され、前記デバイスに関する情報であるデバイス情報が、前記デバイスから前記第２の通信路を介して前記クライアントへ伝送されるとともに、前記クライアントから前記第１の通信路を介して前記前記サーバへと伝送されて、当該デバイス情報が前記サーバの備えるデータベースに登録されるように構成されており、
前記デバイスは、
前記第２の通信路を介して前記クライアントに前記デバイス情報を提供するデバイス側情報提供手段を備え、
前記クライアントは、
前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをインストールするためのインストール処理を実行した際に、引き続いて、前記デバイスから前記第２の通信路を介して前記デバイス情報を取得するクライアント側情報取得手段と、
前記クライアント側情報取得手段によって取得した前記デバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手段とを備え、
前記サーバは、
前記クライアントから前記第１の通信路を介して前記デバイス情報を取得するサーバ側情報取得手段と、
前記サーバ側情報取得手段によって取得した前記デバイス情報を、前記データベースに登録する情報登録手段とを備える
ことを特徴とするデバイス情報管理システム。
【請求項２】
前記クライアントは、前記デバイスに対し、前記第２の通信路を介して前記デバイス情報の提供を要求する情報要求手段を備えており、
前記デバイスは、前記クライアントから前記デバイス情報の提供を要求されたときに、前記デバイス側情報提供手段によって、前記第２の通信路を介して前記クライアントに前記デバイス情報を提供する
ことを特徴とする請求項１に記載のデバイス情報管理システム。
【請求項３】
前記デバイス側情報提供手段は、前記デバイスを一意に識別可能な情報を含む前記デバイス情報を、前記第２の通信路を介して前記クライアントへ提供する手段である
ことを特徴とする請求項１または請求項２に記載のデバイス情報管理システム。
【請求項４】
前記デバイス側情報提供手段は、前記デバイスのバージョン情報を含む前記デバイス情報を、前記第２の通信路を介して前記クライアントへ提供する手段である
ことを特徴とする請求項１〜請求項３のいずれかに記載のデバイス情報管理システム。
【請求項５】
前記サーバは、
前記サーバ側情報取得手段によって取得された前記デバイス情報が、前記データベースに既に登録された既登録デバイスに対応する情報か否かを判断する判断手段と、
前記判断手段によって、前記既登録デバイスに対応する情報ではないと判断された場合に、前記デバイスの設定を行うために用いられる設定情報を、前記第１の通信路を介して前記クライアントへ提供する設定情報提供手段とを備え、
前記クライアントは、
前記サーバから提供される前記設定情報を取得する設定情報取得手段と、
前記設定情報取得手段によって取得された前記設定情報に基づいて、前記デバイスの設定を行うための指令を、前記第２の通信路を介して前記デバイスへと送信する設定指令送信手段とを備える
ことを特徴とする請求項１〜請求項４のいずれかに記載のデバイス情報管理システム。
【請求項６】
前記クライアントが備える前記クライアント側情報提供手段は、前記デバイス情報に加えて、前記クライアントに関する情報であるクライアント情報を、前記サーバへ提供する手段であり、
前記サーバが備える前記サーバ側情報取得手段は、前記デバイス情報に加えて、前記クライアント情報を、前記クライアントから取得する手段であり、
前記サーバが備える前記情報登録手段は、前記サーバ側情報取得手段によって取得した前記デバイス情報と前記クライアント情報とを対応づけて前記データベースに登録する手段である
ことを特徴とする請求項１〜請求項５のいずれかに記載のデバイス情報管理システム。
【請求項７】
前記クライアント情報は、前記クライアントに付与されたコンピュータ名を含む情報である
ことを特徴とする請求項６に記載のデバイス情報管理システム。
【請求項８】
前記デバイスドライバは、前記デバイスと通信し、前記デバイスを制御するソフトウェアである
ことを特徴とする請求項１〜請求項７のいずれかに記載のデバイス情報管理システム。
【請求項９】
前記デバイスは、プリンタ機能を有する印刷系デバイスであり、
前記デバイスドライバは、プリンタドライバである
ことを特徴とする請求項８に記載のデバイス情報管理システム。
【請求項１０】
サーバと、クライアントと、デバイスとを備えてなり、前記サーバと前記クライアントは第１の通信路を介して通信可能に構成され、前記クライアントと前記デバイスは前記第１の通信路とは異なる第２の通信路を介して通信可能に構成され、前記デバイスに関する情報であるデバイス情報が、前記デバイスから前記第２の通信路を介して前記クライアントへ伝送されるとともに、前記クライアントから前記第１の通信路を介して前記前記サーバへと伝送されて、当該デバイス情報が前記サーバの備えるデータベースに登録されるように構成されており、
前記クライアントは、
前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをアンインストールするためのアンインストール処理を実行した際に、アンインストール処理に先立って、
前記サーバに登録済みである既登録デバイスのデバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手段を備え、
前記サーバは、
前記クライアントから前記第１の通信路を介して前記デバイス情報を取得するサーバ側情報取得手段と、
前記サーバ側情報取得手段によって取得された前記デバイス情報から特定される前記既登録デバイスを対象にして、前記データベースから登録を解除する情報登録解除手段とを備える
ことを特徴とするデバイス情報管理システム。
【請求項１１】
前記デバイスは、
前記第２の通信路を介して前記クライアントに前記デバイス情報を提供するデバイス側情報提供手段を備え、
前記クライアントは、
前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをアンインストールするためのアンインストール処理を実行した際に、アンインストール処理に先立って、前記デバイスから前記第２の通信路を介して前記デバイス情報を取得するクライアント側情報取得手段を備え、
前記クライアント側情報提供手段は、前記クライアント側情報取得手段によって取得した前記デバイス情報を前記サーバへ提供する
ことを特徴とする請求項１０に記載のデバイス情報管理システム。
【請求項１２】
請求項１に記載のデバイス情報管理システムを構成する際に、前記クライアントとして用いられるコンピュータであって、
前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをインストールするためのインストール処理を実行した際に、引き続いて、前記デバイスから前記第２の通信路を介して前記デバイス情報を取得するクライアント側情報取得手段と、
前記クライアント側情報取得手段によって取得した前記デバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手段と
を備えたことを特徴とするコンピュータ。
【請求項１３】
請求項１０に記載のデバイス情報管理システムを構成する際に、前記クライアントとして用いられるコンピュータであって、
前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをアンインストールするためのアンインストール処理を実行した際に、アンインストール処理に先立って、
前記サーバに登録済みである既登録デバイスのデバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手段
を備えたことを特徴とするコンピュータ。
【請求項１４】
請求項１に記載のデバイス情報管理システムを構成する際に、コンピュータを前記クライアントとして機能させるためのプログラムであって、
前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをインストールするためのインストール処理を実行した際に、引き続いて、前記デバイスから前記第２の通信路を介して前記デバイス情報を取得するクライアント側情報取得手順と、
前記クライアント側情報取得手順において取得した前記デバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手順と
を前記コンピュータに実行させるためのプログラム。
【請求項１５】
請求項１０に記載のデバイス情報管理システムを構成する際に、コンピュータを前記クライアントとして機能させるためのプログラムであって、
前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをアンインストールするためのアンインストール処理を実行した際に、アンインストール処理に先立って、
前記サーバに登録済みである既登録デバイスのデバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手順
を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバおよびクライアントそれぞれがネットワークに接続されるとともに、クライアントにデバイスが接続された環境において、クライアントが、デバイスに関する情報をデバイスから取得して、取得した情報をサーバへと伝送することにより、サーバがデバイスの情報を管理できるようにしたデバイス情報管理システム、そのデバイス情報管理システムを構成する際にクライアントとして用いられるコンピュータ、およびコンピュータをデバイス情報管理システムのクライアントとして機能させるためのプログラムに関する。
【背景技術】
【０００２】
従来、上位装置と中位装置とが接続されるとともに、中位装置と下位装置とが接続されてなる階層構造を持ったシステムにおいて、中位装置が下位装置の情報を取得して、取得した情報を上位装置へと転送することにより、上位装置が下位装置の情報を取得して、その情報を上位装置において管理できるように構成したシステムが知られている（例えば、下記特許文献１参照）。
【特許文献１】特開平５−１９９２４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１に記載のシステムでは、上位装置が下位装置の存在を認識するために、常に中位装置においてポーリング処理を実行していたため、上位装置が下位装置の情報を一度取得できれば十分な場合には、中位装置や下位装置に過剰な負荷がかかりすぎるという問題があった。
【０００４】
より詳しくは、中位装置にとっては、新たな下位装置が増えていない状況でも定期的にポーリング処理を行う必要があり、下位装置が増えていないにもかかわらず結果的に必要がなかった無駄な動作を常に実行していることになるため、中位装置にかかる負荷が大きくなる、という欠点があった。また、下位装置にとっても、既に中位装置に認識されているにもかかわらず、常にポーリングへの返答を行わざるを得ないため、下位装置にかかる負荷が大きくなる、という欠点があった。
【０００５】
本発明は、上記問題を解決するためになされたものであり、その目的は、サーバおよびクライアントそれぞれがネットワークに接続されるとともに、クライアントにデバイスが接続された環境において、クライアントが、デバイスに関する情報をデバイスから取得して、取得した情報をサーバへと伝送する情報伝送処理を、デバイスが増加した時点で確実に実施でき、以降は、クライアントやデバイスに過剰な負荷をかけなくても、サーバがデバイスの情報を管理できるデバイス情報管理システム、そのデバイス情報管理システムを構成する際にクライアントとして用いられるコンピュータ、およびコンピュータをデバイス情報管理システムのクライアントとして機能させるためのプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
以下、本発明の特徴的構成について説明する。
まず、請求項１に記載のデバイス情報管理システムは、サーバと、クライアントと、デバイスとを備えてなり、前記サーバと前記クライアントは第１の通信路を介して通信可能に構成され、前記クライアントと前記デバイスは前記第１の通信路とは異なる第２の通信路を介して通信可能に構成され、前記デバイスに関する情報であるデバイス情報が、前記デバイスから前記第２の通信路を介して前記クライアントへ伝送されるとともに、前記クライアントから前記第１の通信路を介して前記前記サーバへと伝送されて、当該デバイス情報が前記サーバの備えるデータベースに登録されるように構成されており、前記デバイスは、前記第２の通信路を介して前記クライアントに前記デバイス情報を提供するデバイス側情報提供手段を備え、前記クライアントは、前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをインストールするためのインストール処理を実行した際に、引き続いて、前記デバイスから前記第２の通信路を介して前記デバイス情報を取得するクライアント側情報取得手段と、前記クライアント側情報取得手段によって取得した前記デバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手段とを備え、前記サーバは、前記クライアントから前記第１の通信路を介して前記デバイス情報を取得するサーバ側情報取得手段と、前記サーバ側情報取得手段によって取得した前記デバイス情報を、前記データベースに登録する情報登録手段とを備えることを特徴とする。
【０００７】
以上のように構成されたデバイス情報管理システムにおいて、デバイス側情報提供手段は、第２の通信路を介してクライアントにデバイス情報を提供し、クライアント側情報取得手段は、デバイスから第２の通信路を介してデバイス情報を取得するが、特に、クライアント側情報取得手段は、デバイスとの通信に必要なソフトウェアであるデバイスドライバをインストールするためのインストール処理を実行した際に、引き続いて、デバイスからデバイス情報を取得する。デバイス情報を取得した後、クライアント側情報提供手段は、クライアント側情報取得手段によって取得したデバイス情報を、第１の通信路を介してサーバへ提供し、サーバ側情報取得手段は、クライアントから第１の通信路を介してデバイス情報を取得する。そして、サーバにおいて、情報登録手段は、サーバ側情報取得手段によって取得したデバイス情報を、データベースに登録する。
【０００８】
したがって、このデバイス情報管理システムによれば、クライアントに新たなデバイスを接続した際、クライアントにおいて、デバイスドライバをインストールするためのインストール処理を実行するだけで、デバイスからクライアント経由でサーバへとデバイス情報が伝送される。よって、デバイスドライバのインストールに伴い、クライアントにおいてデバイスが利用可能となった時点とほぼ同時期に、サーバがクライアントに新たなデバイスが接続されたことを認識し、データベースへデバイス情報を登録することができる。
【０００９】
しかも、クライアントにおいてインストール処理を実行した直後は、通常、クライアントとデバイスは通信可能な状態にあり、インストール処理から引き続く一連の処理が完了するまでは、デバイスの電源が断たれるといったこともないので、他のタイミングで同種の処理を実施した場合に比べ、デバイス情報を取得できる可能性は高く、デバイス情報をデータベースへ確実に登録することができる。
【００１０】
次に、請求項１に記載のデバイス情報管理システムにおいて採用すると望ましい構成について説明する。
まず、請求項２に記載の通り、請求項１に記載のデバイス情報管理システムにおいて、前記クライアントは、前記デバイスに対し、前記第２の通信路を介して前記デバイス情報の提供を要求する情報要求手段を備えており、前記デバイスは、前記クライアントから前記デバイス情報の提供を要求されたときに、前記デバイス側情報提供手段によって、前記第２の通信路を介して前記クライアントに前記デバイス情報を提供すると望ましい。
【００１１】
このように構成されたデバイス情報管理システムによれば、クライアントが備える情報要求手段は、デバイスに対し、第２の通信路を介してデバイス情報の提供を要求するので、デバイスは、クライアントへデバイス情報を提供すべきタイミングを認識できる。
【００１２】
また、請求項３に記載の通り、請求項１または請求項２に記載のデバイス情報管理システムにおいて、前記デバイス側情報提供手段は、前記デバイスを一意に識別可能な情報を含む前記デバイス情報を、前記第２の通信路を介して前記クライアントへ提供する手段であると望ましい。
【００１３】
ここで、デバイスを一意に識別可能な情報とは、個々のデバイスに対して付与されるシリアル番号、通信系デバイスであればＭＡＣアドレス、その他、同機種であっても異なる情報が割り当てられているような情報を意味する。
【００１４】
このように構成されたデバイス情報管理システムによれば、サーバは、デバイスを一意に識別可能な情報を含むデバイス情報を得て、デバイスの管理に利用することができる。
また、請求項４に記載の通り、請求項１〜請求項３のいずれかに記載のデバイス情報管理システムにおいて、前記デバイス側情報提供手段は、前記デバイスのバージョン情報を含む前記デバイス情報を、前記第２の通信路を介して前記クライアントへ提供する手段であると望ましい。
【００１５】
ここで、デバイスのバージョン情報とは、デバイスが搭載する書き換え不能なメモリに記録されたＲＯＭバージョンなどの情報、あるいは、デバイスが搭載する書き換え可能な不揮発性メモリに記録されたファームウェアのバージョン情報などを意味する。
【００１６】
このように構成されたデバイス情報管理システムによれば、サーバは、デバイスのバージョン情報を含むデバイス情報を得て、デバイスの管理に利用することができる。
また、請求項５に記載の通り、請求項１〜請求項４のいずれかに記載のデバイス情報管理システムにおいて、前記サーバは、前記サーバ側情報取得手段によって取得された前記デバイス情報が、前記データベースに既に登録された既登録デバイスに対応する情報か否かを判断する判断手段と、前記判断手段によって、前記既登録デバイスに対応する情報ではないと判断された場合に、前記デバイスの設定を行うために用いられる設定情報を、前記第１の通信路を介して前記クライアントへ提供する設定情報提供手段とを備え、前記クライアントは、前記サーバから提供される前記設定情報を取得する設定情報取得手段と、前記設定情報取得手段によって取得された前記設定情報に基づいて、前記デバイスの設定を行うための指令を、前記第２の通信路を介して前記デバイスへと送信する設定指令送信手段とを備えていてもよい。
【００１７】
このように構成されたデバイス情報管理システムの場合、サーバには、デバイスの設定を行うために用いられる設定情報があらかじめ用意されている。そして、判断手段は、サーバ側情報取得手段によって取得されたデバイス情報が、データベースに既に登録された既登録デバイスに対応する情報か否かを判断し、判断手段によって、既登録デバイスに対応する情報ではないと判断された場合、サーバが備える設定情報提供手段は、デバイスの設定を行うために用いられる設定情報を、第１の通信路を介してクライアントへ提供する。クライアントにおいては、設定情報取得手段が、サーバから提供される設定情報を取得し、設定指令送信手段が、取得された設定情報に基づいて、デバイスの設定を行うための指令を、第２の通信路を介してデバイスへと送信する。なお、サーバからクライアントへ伝送される設定情報が、そのままデバイスに指令として転送すればよい形式の設定情報であれば、設定指令送信手段は、取得した設定情報をそのままデバイスへ転送する手段として構成されていればよいが、サーバからクライアントへ伝送される設定情報が、そのままデバイスに指令として転送すればよい形式の設定情報でなければ、設定指令送信手段は、取得した設定情報の内容を解析して、デバイスに指令として与えることができる形式に変換した上で、変換後の指令をデバイスへ送信する手段として構成する。
【００１８】
このようなデバイス情報管理システムによれば、サーバは、単にデバイスの情報を管理するだけではなく、デバイスの存在を認識したときに、サーバ側で用意した設定内容をデバイスに設定することができる。
【００１９】
また、請求項６に記載の通り、請求項１〜請求項５のいずれかに記載のデバイス情報管理システムにおいて、前記クライアントが備える前記クライアント側情報提供手段は、前記デバイス情報に加えて、前記クライアントに関する情報であるクライアント情報を、前記サーバへ提供する手段であり、前記サーバが備える前記サーバ側情報取得手段は、前記デバイス情報に加えて、前記クライアント情報を、前記クライアントから取得する手段であり、前記サーバが備える前記情報登録手段は、前記サーバ側情報取得手段によって取得した前記デバイス情報と前記クライアント情報とを対応づけて前記データベースに登録する手段であると望ましい。
【００２０】
このようなデバイス情報管理システムによれば、サーバは、デバイス情報とクライアント情報とを対応づけてデータベースに登録するので、どのデバイスがどのクライアントに接続されているのかなど、デバイスとクライアントとを対応づけて管理することができる。
【００２１】
なお、請求項７に記載の通り、請求項６に記載の構成を採用した場合、前記クライアント情報は、前記クライアントに付与されたコンピュータ名を含む情報であると好ましい。
このような構成を採用すれば、サーバは、クライアントに付与されたコンピュータ名にて、クライアントの管理を行うことができる。
【００２２】
加えて、請求項８に記載の通り、前記デバイスドライバは、前記デバイスと通信し、前記デバイスを制御するソフトウェアであると好ましい。この場合、デバイスドライバは、デバイスと通信するだけではなく、デバイスを制御することもできる。
【００２３】
特に、請求項９に記載の通り、前記デバイスは、プリンタ機能を有する印刷系デバイスであり、前記デバイスドライバは、プリンタドライバであると好ましい。この場合、プリンタドライバがプリンタと通信して印刷データを送信することができ、印刷系デバイスは、プリンタドライバから送信されてくる印刷データを受け、印刷系デバイスの備える印刷部で、シート状の記録媒体に対する印刷を行うことができる。
【００２４】
次に、請求項１０に記載のデバイス情報管理システムは、サーバと、クライアントと、デバイスとを備えてなり、前記サーバと前記クライアントは第１の通信路を介して通信可能に構成され、前記クライアントと前記デバイスは前記第１の通信路とは異なる第２の通信路を介して通信可能に構成され、前記デバイスに関する情報であるデバイス情報が、前記デバイスから前記第２の通信路を介して前記クライアントへ伝送されるとともに、前記クライアントから前記第１の通信路を介して前記前記サーバへと伝送されて、当該デバイス情報が前記サーバの備えるデータベースに登録されるように構成されており、前記クライアントは、前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをアンインストールするためのアンインストール処理を実行した際に、アンインストール処理に先立って、前記サーバに登録済みである既登録デバイスのデバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手段を備え、前記サーバは、前記クライアントから前記第１の通信路を介して前記デバイス情報を取得するサーバ側情報取得手段と、前記サーバ側情報取得手段によって取得された前記デバイス情報から特定される前記既登録デバイスを対象にして、前記データベースから登録を解除する情報登録解除手段とを備えることを特徴とする。
【００２５】
以上のように構成されたデバイス情報管理システムにおいては、デバイスとの通信に必要なソフトウェアであるデバイスドライバをアンインストールするためのアンインストール処理を実行した際に、アンインストール処理に先立って、クライアント側情報提供手段は、サーバに登録済みである既登録デバイスのデバイス情報を、第１の通信路を介してサーバへ提供し、サーバ側情報取得手段は、クライアントから第１の通信路を介してデバイス情報を取得する。そして、サーバにおいて、情報登録解除手段は、サーバ側情報取得手段によって取得されたデバイス情報から特定される既登録デバイスを対象にして、データベースから登録を解除する。
【００２６】
したがって、このデバイス情報管理システムによれば、デバイスと通信するために必要なデバイスドライバをアンインストールするだけで、デバイスの登録を解除することができるので、使用者にとってアンインストールと登録の解除を別々に行う手間がなく、また、不必要な登録情報がサーバに残ることも防ぐことができる。
【００２７】
なお、請求項１０に記載のデバイス情報管理システムは、さらに請求項１１に記載の構成を備えていると望ましい。
すなわち、請求項１１に記載の通り、請求項１０に記載のデバイス情報管理システムにおいて、前記デバイスは、前記第２の通信路を介して前記クライアントに前記デバイス情報を提供するデバイス側情報提供手段を備え、前記クライアントは、前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをアンインストールするためのアンインストール処理を実行した際に、アンインストール処理に先立って、前記デバイスから前記第２の通信路を介して前記デバイス情報を取得するクライアント側情報取得手段を備え、前記クライアント側情報提供手段は、前記クライアント側情報取得手段によって取得した前記デバイス情報を前記サーバへ提供すると望ましい。
【００２８】
このように構成すれば、デバイス側情報提供手段は、第２の通信路を介してクライアントにデバイス情報を提供し、クライアント側情報取得手段は、デバイスから第２の通信路を介してデバイス情報を取得し、クライアント側情報提供手段は、クライアント側情報取得手段によって取得したデバイス情報をサーバへ提供する。
【００２９】
したがって、クライアント側情報提供手段がサーバへ提供することになるデバイス情報を、クライアント側に記憶させておいたり、使用者がいちいち入力する手間をかけたりしなくても、デバイス情報をサーバへ提供でき、データベースから登録を解除することができる。
【００３０】
次に、以上説明したデバイス情報管理システムを構成する際に、クライアントとして用いられるコンピュータについて説明する。
まず、請求項１２に記載のコンピュータは、請求項１に記載のデバイス情報管理システムを構成する際に、前記クライアントとして用いられるコンピュータであって、前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをインストールするためのインストール処理を実行した際に、引き続いて、前記デバイスから前記第２の通信路を介して前記デバイス情報を取得するクライアント側情報取得手段と、前記クライアント側情報取得手段によって取得した前記デバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手段とを備えたことを特徴とする。
【００３１】
このように構成されたコンピュータは、先に説明した請求項１に記載のデバイス情報管理システムを構成するクライアントが備えていた各手段を備えている。したがって、このコンピュータを利用して、請求項１に記載のデバイス情報管理システムを構成することができる。
【００３２】
なお、このコンピュータは、上述の通り、先に説明した請求項１に記載のデバイス情報管理システムにおけるクライアントと同等な装置となるので、このクライアントにおいても、請求項１記載のネットワークシステムを構成するクライアントが備え得る望ましい構成（請求項２〜請求項９に記載の各手段）を備えることができるのはもちろんである。
【００３３】
次に、請求項１３に記載のコンピュータは、請求項１０に記載のデバイス情報管理システムを構成する際に、前記クライアントとして用いられるコンピュータであって、前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをアンインストールするためのアンインストール処理を実行した際に、アンインストール処理に先立って、前記サーバに登録済みである既登録デバイスのデバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手段を備えたことを特徴とする。
【００３４】
このように構成されたコンピュータは、先に説明した請求項１０に記載のデバイス情報管理システムを構成するクライアントが備えていた各手段を備えている。したがって、このコンピュータを利用して、請求項１０に記載のデバイス情報管理システムを構成することができる。
【００３５】
なお、このコンピュータは、上述の通り、先に説明した請求項１０に記載のデバイス情報管理システムにおけるクライアントと同等な装置となるので、このクライアントにおいても、請求項１０記載のネットワークシステムを構成するクライアントが備え得る望ましい構成（請求項１１に記載の各手段）を備えることができるのはもちろんである。
【００３６】
次に、以上説明した請求項１に記載の情報管理システムを構成する際に、コンピュータをクライアントとして機能させるためのプログラムについて説明する。
まず、請求項１４に記載のプログラムは、請求項１に記載のデバイス情報管理システムを構成する際に、コンピュータを前記クライアントとして機能させるためのプログラムであって、前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをインストールするためのインストール処理を実行した際に、引き続いて、前記デバイスから前記第２の通信路を介して前記デバイス情報を取得するクライアント側情報取得手順と、前記クライアント側情報取得手順において取得した前記デバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手順とを前記コンピュータに実行させるためのプログラムである。
【００３７】
このように構成されたプログラムに従った処理をコンピュータに実行させれば、コンピュータは、先に説明した請求項１に記載のデバイス情報管理システムを構成するクライアントが備えていた各手段を備えたコンピュータとして機能する。したがって、このコンピュータを利用すれば、請求項１に記載のネットワークシステムを構成することができる。
【００３８】
なお、このプログラムに従った処理をコンピュータに実行させれば、コンピュータは、上述の通り、先に説明した請求項１に記載のデバイス情報管理システムにおけるクライアントと同等な装置となるので、さらに、請求項１記載のデバイス情報管理システムを構成するクライアントが備え得る望ましい構成（請求項２〜請求項９に記載の各手段）を実現する手順を、デバイスに実行させるプログラムとして構成してもよいのはもちろんである。
【００３９】
次に、請求項１５に記載のプログラムは、請求項１０に記載のデバイス情報管理システムを構成する際に、コンピュータを前記クライアントとして機能させるためのプログラムであって、前記デバイスとの通信に必要なソフトウェアであるデバイスドライバをアンインストールするためのアンインストール処理を実行した際に、アンインストール処理に先立って、前記サーバに登録済みである既登録デバイスのデバイス情報を、前記第１の通信路を介して前記サーバへ提供するクライアント側情報提供手順を前記コンピュータに実行させるためのプログラムである。
【００４０】
このように構成されたプログラムに従った処理をコンピュータに実行させれば、コンピュータは、先に説明した請求項１０に記載のデバイス情報管理システムを構成するクライアントが備えていた各手段を備えたコンピュータとして機能する。したがって、このコンピュータを利用すれば、請求項１０に記載のネットワークシステムを構成することができる。
【００４１】
なお、このプログラムに従った処理をコンピュータに実行させれば、コンピュータは、上述の通り、先に説明した請求項１０に記載のデバイス情報管理システムにおけるクライアントと同等な装置となるので、さらに、請求項１０記載のデバイス情報管理システムを構成するクライアントが備え得る望ましい構成（請求項１１に記載の各手段）を実現する手順を、デバイスに実行させるプログラムとして構成してもよいのはもちろんである。
【発明を実施するための最良の形態】
【００４２】
次に、本発明の実施形態について一例を挙げて説明する。
［システム全体の構成］
図１は、本発明の一実施形態として例示するシステムの全体を示す概略構成図である。
【００４３】
このシステムは、本発明でいうクライアントとして機能するパーソナルコンピュータ（以下、ＰＣと略称する）１，２，３と、各ＰＣ１，２，３に接続されたプリンタ４，５，６（本発明でいうデバイスに相当）と、プリンタ登録サーバ７（本発明でいうサーバに相当）とを備えてなり、これらのうち、ＰＣ１，２，３およびプリンタ登録サーバ７が、本発明でいう第１の通信路に当たるＬＡＮ（Local Area Network）９に接続されて、相互に通信可能となっている。また、ＰＣ１とプリンタ４は、本発明でいう第２の通信路に当たるＵＳＢ（Universal Serial Bus）インターフェースを介して接続され、ＰＣ２とプリンタ５は、パラレルインターフェースを介して接続され、ＰＣ３とプリンタ６は、ＵＳＢインターフェースを介して接続されている。
【００４４】
［ＰＣの内部構成］
図２は、システム全体の中から、ＰＣ１、プリンタ４、およびプリンタ登録サーバ７のみを抜粋して、それらの内部構成を示したブロック図である。
【００４５】
ＰＣ１は、図２に示す通り、制御部１１と、表示部１２と、入力部１３と、ハードディスク装置１４（ＨＤＤ１４）と、ＬＡＮインターフェース１５（ＬＡＮ  Ｉ／Ｆ１５）と、プリンタインターフェース１６（プリンタＩ／Ｆ１６；ＰＣ１の場合は、ＵＳＢインターフェース）などを備えている。
【００４６】
制御部１１は、周知のＣＰＵ、ＲＯＭ、およびＲＡＭなどを中心に構成されている。この制御部１１において、ＲＯＭにはＢＩＯＳ（Basic Input Output System）や基本的ないくつかのデータが記憶され、ＲＡＭにはＯＳや各種アプリケーションなどのプログラムがＨＤＤ１４から読み込まれるようになっている。制御部１１が備えるＣＰＵは、ＲＯＭおよびＲＡＭに記憶されたプログラムに従って各種処理を時分割で並列に実行する。その結果、制御部１１では、ＯＳの提供する機能として、プリンタインターフェース１６を制御するプリンタインターフェース制御部１１１、ＬＡＮインターフェース１５を制御するＬＡＮインターフェース制御部１１２、プリンタ４へ出力する印刷データを印刷ジョブとして管理する印刷スプーラ１１３などが機能する。また、ＰＣ１の制御部１１では、ＯＳとは別に用意される各種ソフトウェアに基づく処理も並列に実行され、プリンタ４に対する各種制御を行うプリンタドライバ１１４、後から詳述するクライアント処理を実行することによってＰＣ１を本発明でいうクライアントとして機能させるクライアント処理部１１５、その他のアプリケーション１１６などが並列に機能する。
【００４７】
表示部１２は、例えば、液晶ディスプレイによって構成され、入力部１３は、例えば、キーボードや各種ポインティングデバイス（例えば、マウス）等によって構成される。
ＨＤＤ１４は、ＯＳ、各種アプリケーションプログラム、および各種データファイルが記憶される装置で、印刷スプーラ１１３によって作成される印刷ジョブが格納されるキュー１４１などもＨＤＤ１４内に確保されている。また、ＨＤＤ１４には、本発明に関連するデータとして、プリンタ情報取得用ＰＪＬコマンド１４２、プリンタ初期設定用ＰＪＬコマンド１４３、ＰＣ情報１４４などが記憶される。これらのうち、プリンタ情報取得用ＰＪＬコマンド１４２、およびプリンタ初期設定用ＰＪＬコマンド１４３は、後述する処理の中で、プリンタ４に対して与えられるコマンドで、プリンタジョブ言語（ＰＪＬ；Printer Job Language）によって記述されている。なお、ＰＪＬは、プリンタを接続したＰＣ側からプリンタが備える各種機能を制御するために用いられるコマンド言語で、Hewlett-Packard社において開発され、その後他社でも採用された周知のものである。ＰＣ情報１４４は、本実施形態においてはＰＣ名を示す情報であり、図３（ａ）に示すように、ＰＣ１のＰＣ名が“ｏｆｆｉｃｅＡ１”、ＰＣ２のＰＣ名は“ｏｆｆｉｃｅＡ２”、ＰＣ３のＰＣ名は“ｏｆｆｉｃｅＢ１”とされている。システム内において、各ＰＣには異なるＰＣ名が付与されることが一般的なので、このＰＣ名を指定すれば、指定されたＰＣ名が付与されたＰＣを一意に特定することができる。なお、ＰＣ情報１４４が、本発明でいうクライアント情報に当たる。ＰＣ情報１４４は、ＰＣ名以外の情報、あるいはＰＣ名およびＰＣ名以外の情報の中から選ばれる複数の情報であってもよい。ＰＣ名以外の情報としては、ＯＳの名前、ＯＳのバージョン、ＰＣのネットワークインターフェースあるいはＰＣに装着されたネットワークインターフェースのＭＡＣアドレス、プリンタドライバ１１４のバージョン、ユーザー名、ＰＣの設置場所に関する情報などを挙げることができ、これらの情報がＰＣ情報１４４に含まれていれば、ＰＣの性能、設置場所、使用状況等を知る上で都合がよい。
【００４８】
ＬＡＮ  Ｉ／Ｆ１５は、ＬＡＮ９に接続された機器との間で通信を行うための装置で、ネットワークインターフェースカード（Network Interface Card；以下、ＮＩＣと略称する。）等を中心に構成されている。
【００４９】
プリンタインターフェース１６は、プリンタ４との間で通信を行うための装置で、ＰＣ１の場合は、ＵＳＢインターフェースとなっている。
以上のように構成されたＰＣ１において、プリンタドライバ１１４は、印刷スプーラ１１３と協働して、クライアント処理部１１５やアプリケーション１１６がプリンタ４に対して出力するデータを処理する。例えば、アプリケーション１１６が印刷データを出力すると、その印刷データはプリンタドライバ１１４に引き渡され、必要があれば、プリンタドライバ１１４が所定の加工を施した上で、その印刷データが印刷スプーラ１１３に引き渡される。印刷スプーラ１１３は、受け取った印刷データをＨＤＤ内のキュー１４１に印刷ジョブとして格納する処理と、キュー１４１に格納された印刷ジョブを格納順または印刷ジョブに付与された優先度に基づいて順次プリンタ４へと出力する処理とを実行する。これら一連の処理により、印刷データはプリンタ４へと出力されることになる。
【００５０】
また、詳しくは後述するが、クライアント処理部１１５は、ＰＪＬコマンド（プリンタ情報取得用ＰＪＬコマンド１４２、およびプリンタ初期設定用ＰＪＬコマンド１４３）をプリンタ４に出力する。ＰＣ１では、ＰＪＬコマンドをプリンタ４に出力する際にも印刷データをプリンタ４に出力する場合と同等の処理が行われ、具体的には、クライアント処理部１１５がＰＪＬコマンドを出力すると、そのＰＪＬコマンドはプリンタドライバ１１４経由で印刷スプーラ１１３に引き渡される。印刷スプーラ１１３は、受け取ったＰＪＬコマンドをＨＤＤ内のキュー１４１に印刷ジョブとして格納し、キュー１４１に格納された印刷ジョブを格納順または印刷ジョブに付与された優先度に基づいて順次プリンタ４へと出力する。その結果、ＰＪＬコマンドは、印刷データの場合と同様に扱われて、プリンタ４へと出力されることになる。
【００５１】
以上、ＰＣ１の内部構成について説明したが、ＰＣ２，３もＰＣ１とほぼ同様の構成になっている。細かな相違点としては、既に述べた通り、ＰＣ１，３は、プリンタＩ／ＦがＵＳＢインターフェースとなっており、ＰＣ２のみ、プリンタＩ／Ｆがパラレルインターフェースとなっているが、この相違点は本発明の特徴を説明する上で重要な事項ではないので、ＰＣ２，３の内部構成については、その詳細な説明を省略する。
【００５２】
［プリンタの内部構成］
プリンタ４は、図２に示す通り、上述のＰＪＬに対応した機種であり、制御部４１と、表示部４２と、入力部４３と、不揮発性メモリ４４と、ＰＣインターフェース４６（ＰＣ  Ｉ／Ｆ４６）と、印刷部４７などを備えている。
【００５３】
制御部４１は、周知のＣＰＵ、ＲＯＭ、およびＲＡＭなどを中心に構成されている。この制御部４１において、ＲＯＭにはプリンタ４各部の動作を制御するためのプログラムが記憶され、ＣＰＵはＲＯＭに記憶されたプログラムに従って各種制御を実行する。その結果、制御部４１では、ＰＪＬコマンド処理部４１１が機能する。ＰＪＬコマンド処理部４１１は、ＰＣ１側から受け取ったＰＪＬコマンドを解析し、そのＰＪＬコマンドによって要求された処理を実行する。例えば、ＰＣ１がプリンタ情報の提供を要求するＰＪＬコマンド（プリンタ情報取得用ＰＪＬコマンド１４２）をプリンタ４に送信した場合、ＰＪＬコマンド処理部４１１では、受け取ったＰＪＬコマンドを解析して、ＰＣ１がプリンタ情報の提供を要求していることを認識し、不揮発性メモリ４４からプリンタ情報４４１を読み出して、そのプリンタ情報４４１をＰＣ１側へ出力する。また、ＰＣ１がプリンタ４に対して所定の初期設定値を設定するように指令するＰＪＬコマンド（プリンタ初期設定用ＰＪＬコマンド１４３）をプリンタ４に送信した場合、ＰＪＬコマンド処理部４１１では、受け取ったＰＪＬコマンドを解析して、ＰＣ１が所定の初期設定値を設定するように指令していることを認識し、プリンタ４の設定変更を実施する。
【００５４】
表示部４２は、数行の文字列および簡易な記号等を表示可能な液晶ディスプレイによって構成され、入力部４３は、利用者による入力操作を受け付けるためのキー群を有する操作パネルによって構成される。
【００５５】
不揮発性メモリ４４は、プリンタ４の電源を断った場合にも各種データの記憶を保持可能な装置で、プリンタ４が作動する上で必要となる各種情報は、不揮発性メモリ４４に記憶されいる。この不揮発性メモリ４４は、ハードディスク装置等で代替して構成することもできる。この不揮発性メモリ４４は、本発明に関連するデータとして、プリンタ情報４４１を記憶している。本実施形態において、プリンタ情報４４１は、（１）各プリンタの機種名、（２）プリンタに付与されたシリアル番号、（３）プリンタのバージョン（ＲＯＭバージョン、あるいはファームウェアバージョン）、以上３種の情報から構成されている。このプリンタ情報４４１中、機種名は、図３（ｂ）に示すように、プリンタ４が“ＬＰ１００１”、プリンタ５が“ＬＰ１００２”、プリンタ６が“ＪＰ２００１”となっている。また、シリアル番号は、プリンタ４が“ＰＬＵ２３４５６”、プリンタ５が“ＰＬＰ３４５６７”、プリンタ６が“ＰＬＵ２３４６１”となっている。また、バージョンは、プリンタ４が“１．０１”、プリンタ５が“２．１１”、プリンタ６が“１．０３”となっている。各プリンタには同じシリアル番号が付与されることはないので、このシリアル番号を指定すれば、指定されたシリアル番号が付与されたプリンタを一意に特定することができる。なお、プリンタ情報４４１が、本発明でいうデバイス情報に当たる。プリンタ情報４４１は、シリアル番号およびバージョン情報以外の情報であってもよく、あるいはシリアル番号、バージョン情報、およびそれら以外の情報の中から選ばれる複数の情報であってもよい。シリアル番号およびバージョン情報以外の情報としては、エンジンの種類、インク・トナー色数、ユーザー名、プリンタの設置場所に関する情報などを挙げることができ、これらの情報がプリンタ情報４４１に含まれていれば、プリンタの性能、設置場所、使用状況等を知る上で都合がよい。
【００５６】
ＰＣインターフェース４６は、ＰＣ１との間で通信を行うための装置で、プリンタ４の場合は、ＵＳＢインターフェースとなっている。
印刷部４７は、シート状の媒体（例えば記録用紙）に対して画像データの表す画像を記録（印刷）する装置である。
【００５７】
以上、プリンタ４の内部構成について説明したが、プリンタ５，６も、ＰＣ側とのＩ／Ｆの規格を除き、プリンタ４とほぼ同様の構成になっているので、プリンタ５，６の内部構成については、その詳細な説明を省略する。
【００５８】
［プリンタ登録サーバの内部構成］
プリンタ登録サーバ７は、図２に示す通り、ＬＡＮ９経由でアクセスしてくるクライアント（本実施形態では、ＰＣ１）からの要求を受けたときに、その要求に応じた処理を実行可能なコンピュータであり、制御部７１と、表示部７２と、入力部７３と、ハードディスク装置７４（ＨＤＤ７４）と、ＬＡＮインターフェース７５（ＬＡＮ  Ｉ／Ｆ１５）などを備えている。
【００５９】
制御部７１は、周知のＣＰＵ、ＲＯＭ、およびＲＡＭなどを中心に構成されている。この制御部７１において、ＲＡＭにはＯＳやサーバソフトウェアがＨＤＤ７４から読み込まれるようになっており、ＣＰＵがサーバソフトウェアに従って各種処理を実行することにより、クライアントからの要求に応じた処理などを実行するサーバ処理部７１１が機能するようになっている。
【００６０】
表示部７２は、例えば、液晶ディスプレイによって構成され、入力部７３は、例えば、キーボードや各種ポインティングデバイス（例えば、マウス）等によって構成される。
ＨＤＤ７４は、ＯＳ、およびプリンタ登録サーバとしての機能を実現するためのサーバソフトウェアなどが記憶されている。また、ＨＤＤ７４には、本発明に関連するデータとして、プリンタ初期設定用ＰＪＬコマンド７４１が記憶されており、さらに、プリンタ情報データベース７４２が構築されている。これらの詳細については後述するが、プリンタ初期設定用ＰＪＬコマンド７４１は、後述する処理の中で、プリンタ登録サーバ７からＰＣ１へと伝送され、ＰＣ１側において、プリンタ初期設定用ＰＪＬコマンド１４３として、ＰＣ１のＨＤＤ１４に格納されるものである。
【００６１】
ＬＡＮ  Ｉ／Ｆ７５は、ＬＡＮ９に接続された機器との間で通信を行うための装置で、ＮＩＣ等を中心に構成されている。
［ＰＣ、プリンタ登録サーバ、およびプリンタが実行する処理］
次に、ＰＣ１（制御部１１のクライアント処理部１１５）が実行するクライアント処理、プリンタ登録サーバ７（制御部７１のサーバ処理部７１１）が実行するサーバ処理、およびプリンタ４がデータ受信時に実行するデータ受信時処理について説明する。これらの処理は、協働して本発明のデバイス情報管理システムとしての機能を実現する処理である。
【００６２】
まず、ＰＣ１が実行するクライアント処理のうち、ドライバインストールに関連する処理について、図４に基づいて説明する。
このクライアント処理は、新たにプリンタ４をＰＣ１に接続する際にＰＣ１において実行される処理である。ＰＣ１においてクライアント処理を開始するための具体的方法については、ＣＤ−ＲＯＭ等のメディアからプログラムを読み込んで処理を起動する方法、ネットワーク経由でプログラムを読み込んで処理を起動する方法、既にＰＣ１に記憶されたプログラムから、プリンタ４をＰＣ１へ登録するための登録指令を実行するなど、種々考え得るが、本実施形態においては、クライアント処理を実行するためのプログラムが記録されたＣＤ−ＲＯＭ等のメディアをＰＣ１にセットし、利用者が所定の操作を行うという手順を想定している。この種のメディアは、通常、プリンタ４の付属品として利用者に提供され、このメディアには、プリンタドライバ１１４のプログラムやプリンタ情報取得用ＰＪＬコマンドなども記録されている。なお、接続機器の自動認識機能を備えるＯＳ（例えば、Ｗｉｎｄｏｗｓ（登録商標）など）であれば、プリンタをＰＣに繋ぐとＯＳがドライバのインストールを促すので、利用者は付属のメディアをセットして、クライアント処理を起動すればよい。
【００６３】
ＰＣ１において、メディアからクライアント処理を実行するためのプログラムが読み込まれ、そのプログラムに従ってＰＣ１がクライアント処理を開始すると、ＰＣ１は、まず、ドライバインストール処理を実行する（Ｓ１０５）。この処理により、上述のメディアからプリンタドライバ１１４のプログラムがＰＣ１に読み込まれ、そのプログラムがＨＤＤ１４に保存されるとともに、そのプログラムが制御部１１のＲＡＭにも読み込まれ、ＰＣ１においてプリンタドライバ１１４が機能する状態となり、ＰＣ１とプリンタ４は通信可能な状態になる。なお、このＳ１０５の処理は、従来、プリンタドライバをインストールするためのインストーラが実行していた処理に相当する。
【００６４】
また、このドライバインストール処理は、既にＨＤＤ１４に記憶されたプリンタドライバ１１４のプログラムから、プリンタ４をＰＣ１へ登録する指令を実行してもよい。すなわち、ＰＣ１上のＯＳによる管理下でプリンタ４への印刷指令がプリンタドライバ１１４経由で行われるようにするための各種情報を、ＯＳのレジストリなどに登録する指令を実行してもよい。
【００６５】
続いて、ＰＣ１は、ＰＪＬコマンドを送信し、プリンタ４からプリンタ情報（＝機種名、シリアル番号、およびバージョン）を取得する（Ｓ１１０）。このＳ１１０の処理において、ＰＪＬコマンドを送信する処理が、本発明でいう情報要求手段によって実行される処理に該当し、プリンタ情報を取得する処理が、本発明でいうクライアント側情報取得手段によって実行される処理に該当する。ここで送信するＰＪＬコマンドは、上述のメディアからＰＣ１に読み込まれたもので、ＰＣ１に読み込まれたＰＪＬコマンドは、プリンタ情報取得用ＰＪＬコマンド１４２としてＨＤＤ１４に保存され、そのプリンタ情報取得用ＰＪＬコマンド１４２がプリンタ４に送信される。このプリンタ情報取得用ＰＪＬコマンド１４２は、既に説明した通り、プリンタドライバ１１４経由で印刷スプーラ１１３に引き渡され、印刷スプーラ１１３では、通常の印刷データ同様に、印刷ジョブとして処理を行い、プリンタ４へと出力する。プリンタ４では、通常の印刷データと同様にＰＪＬコマンドを受信し、ＰＪＬコマンド処理部においてＰＪＬコマンドであることを認識し、その内容を解析する。その解析の結果、プリンタ情報取得用ＰＪＬコマンドであった場合は、不揮発性メモリ４４からプリンタ情報４４１を読み出して、そのプリンタ情報４４１をＰＣ１へと送信する。なお、このプリンタ側の処理については、後から詳述する。ＰＣ１では、プリンタ４から返されるプリンタ情報をリードバックする。より具体的なリードバックの処理方法は、プリンタとのインターフェースによっても異なるが、プリンタ４の場合、ＵＳＢポートを介して接続されているので、クライアント処理部１１５がＯＳのプリンタＩ／Ｆ制御部１１１を通じて、まず情報の受信を行い、情報量が０であった場合には再び情報の受信を繰り返し、その繰り返し処理によって情報を取得する。ＰＣ２とプリンタ５の場合は、パラレルポートを介して接続されているので、この場合、クライアント処理部がＯＳのプリンタＩ／Ｆ制御部を通じて、まずＰＣ２側へ返される情報の有無をチェックした後、情報が存在する場合にその情報の受信を行う、といった手順になる。いずれの場合とも、最終的には何らかのデータを受信するので、そのデータがプリンタ情報を示す所期のデータであるかどうかをチェックし、所期のデータでない場合は、さらに受信処理をやり直し、最終的に所期のプリンタ情報を取得することになる。なお、ここで各プリンタ４〜６から、図３（ｂ）に示した機種名、シリアル番号、およびバージョンがプリンタ情報として取得されることになる。
【００６６】
続いて、ＰＣ１は、ＰＣ側でＯＳが管理するＰＣ情報１４４を取得する（Ｓ１１５）。この処理で、図３（ａ）に示したＰＣ名がＰＣ情報として取得されることになる。
次に、ＰＣ１は、プリンタ登録サーバ７を検索し、接続する（Ｓ１２０）。このＳ１２０の処理は、サーバのデータ管理プロトコルによって具体的処理手順が変わり得るが、本実施形態では、広く利用されているＬＤＡＰサーバを使うことを想定している。ＬＤＡＰ（Lightweight Directory Access Protocol）は、図３（ｃ）のように階層化したツリー構造を持たせてデータベースを構築できるプロトコルである。図３（ｃ）の例では、大元の「ＪＰ」の下に「devicemanager」のツリーがあり、これがデバイス情報管理システムのデータ格納先となっている。登録先となるデータベースの特定は、利用者がＧＵＩを使って設定する方法、管理者が予め設定しておく方法、ネットワーク上を検索する方法があり、どれで行っても良い。利用者による設定であれば、プリンタ登録サーバ７をＩＰアドレスで指定するか、プリンタ登録サーバ７のＰＣ名で指定する方法で行う。管理者が予め設定するのであれば、クライアント処理部１１５が処理時に参照する初期設定ファイルにプリンタ登録サーバ７のアドレスあるいはＰＣ名を記述しておく方法が考えられ、この場合はＰＣ１の利用者は何もしなくても登録作業が完了する。ネットワーク上を検索する方法では、プリンタ登録サーバ７の存在を問い合わせるデータパケットをネットワーク上にブロードキャストして返事を待つ方法、またプリンタ登録サーバ７に使われるポートを探し、既定のツリー（この例の場合「devicemanager」）を持ったサーバを探すといった方法が考えられる。そして、データベースが特定されたら、次は管理データを格納するツリーを探す。これは、ＬＤＡＰサーバにアクセスし、既定のツリー（この例の場合「devicemanager」）が無いか調べる。なお、もし見つからなければ登録先無しとして、処理を終了するなどの対処をすればよい。
【００６７】
続いて、プリンタ登録サーバ７にＰＣ情報とプリンタ情報を送信する（Ｓ１２５）。このＳ１２５の処理が、本発明でいうクライアント側情報提供手段によって実行される処理に該当する。このＳ１２５の処理により、ＰＣ名、プリンタ機種名、プリンタシリアル番号、およびプリンタバージョンを１組とする情報が、プリンタ登録サーバ７へと送信される。
【００６８】
次に、ＰＣ１は、プリンタ登録サーバ７からの通信待機状態となり（Ｓ１３０）、初期設定用ＰＪＬコマンドファイルを受信したか否か（Ｓ１３５）、登録完了通知を受信したか否か（Ｓ１４０）を順に判断し、どちらも否定判断された場合はＳ１３０の処理へと戻ることにより、Ｓ１３０〜Ｓ１４０の処理を繰り返す。この繰り返し処理の中で、初期設定用ＰＪＬコマンドファイルを受信した場合は（Ｓ１３５：ＹＥＳ）、受信した初期設定用ＰＪＬコマンドファイルをＨＤＤ１４に格納し、その初期設定用ＰＪＬコマンドファイル１４３をデバイス（プリンタ４）に送信する（Ｓ１５０）。なお、Ｓ１３０〜Ｓ１４０の繰り返し処理の中で、初期設定用ＰＪＬコマンドファイルを受信する手段が、本発明でいう設定情報取得手段に該当する。また、Ｓ１５０の処理が、本発明でいう設定指令送信手段によって実行される処理に該当する。プリンタ４では、通常の印刷データと同様にＰＪＬコマンドを受信し、ＰＪＬコマンド処理部においてＰＪＬコマンドであることを認識し、その内容を解析する。その解析の結果、初期設定用ＰＪＬコマンドであった場合は、コマンドに従って初期設定を行う。初期設定用ＰＪＬコマンドには、利用者の利用環境に合わせるための設定として、言語設定、トレイの設定、用紙設定、印刷品質の設定等が記述されている。初期設定を行った旨の報告をＰＣ１へと送信する。
【００６９】
この返信を受けて、ＰＣ１は、受信した初期設定用ＰＪＬコマンドファイル１４３を、ＨＤＤ１４から消去し、このクライアント処理を終了する。また、上記Ｓ１３０〜Ｓ１４０の繰り返し処理の中で、登録完了通知を受信した場合も（Ｓ１４０：ＹＥＳ）、このクライアント処理を終了する。
【００７０】
さて次に、プリンタ登録サーバ７が実行するサーバ処理について、図５に基づいて説明する。
このサーバ処理は、プリンタ登録サーバ７において常時実行されている処理である。
【００７１】
サーバ処理を開始すると、プリンタ登録サーバ７は、ＰＣ１との通信待機状態となり（Ｓ２０５）、ＰＣ情報とプリンタ情報を受信したか否かを判断し（Ｓ２１０）、否定判断された場合はＳ２０５の処理へと戻ることにより、Ｓ２０５〜Ｓ２１０の処理を繰り返す。ＰＣ１において、上記Ｓ１２５の処理が行われた場合、もしくは、後述するＳ４２５の処理が行われた場合、Ｓ２０５〜Ｓ２１０の繰り返し処理の中で、ＰＣ情報とプリンタ情報を受信することになり、その場合は（Ｓ２１０：ＹＥＳ）、登録解除フラグも受信したか否かを判断する（Ｓ２１３）。登録解除フラグは、情報をデータベースへ登録するのかデータベースから登録を解除するのかを示すフラグであり、上記Ｓ１２５の処理で送信された情報を受信した場合は、登録解除フラグは受信していないと判断されることになり（Ｓ２１３：ＮＯ）、後述するＳ４２５の処理で送信された情報を受信した場合は、登録解除フラグも受信したと判断されることになる（Ｓ２１３：ＹＥＳ）。
【００７２】
Ｓ２１３の処理で、登録解除フラグは受信していないと判断された場合（Ｓ２１３：ＮＯ）、プリンタ登録サーバ７は、ＰＣ情報とプリンタ情報をエントリとしてサーバに登録する（Ｓ２１５）。これにより、プリンタ登録サーバ７のプリンタ情報データベース７４２には、図３（ｃ）に示すような階層構造に従って、受信したＰＣ情報とプリンタ情報が登録されることになる。なお、Ｓ２０５〜Ｓ２１０の繰り返し処理の中で、ＰＣ情報とプリンタ情報を受信する手段が、本発明でいうサーバ側情報取得手段に該当する。また、Ｓ２１５の処理が、本発明でいう情報登録手段によって実行される処理に該当する。
【００７３】
続いて、プリンタ登録サーバ７は、シリアル番号が初期設定済リストにあるか否かを判断する（Ｓ２２０）。初期設定済リストは、過去にプリンタ登録サーバ７に登録したことのあるプリンタのシリアル番号が記録されており、受信したシリアル番号が、この初期設定済みリストに登録されている場合、そのシリアル番号を持つプリンタは過去に初期設定済みであると判断することができ、逆に、受信したシリアル番号が、この初期設定済みリストに登録されていない場合、そのシリアル番号を持つプリンタはまだ初期設定済みでないと判断することができる。なお、Ｓ２２０の処理が、本発明でいう判断手段によって実行される処理に該当する。
【００７４】
そこで、シリアル番号が初期設定済リストにない場合（Ｓ２２０：ＮＯ）、引き続いて、初期設定用ＰＪＬコマンドファイルが、プリンタ登録サーバ７側に用意されているか否かを判断し（Ｓ２２５）、用意されていれば（Ｓ２２５：ＹＥＳ）、ＰＣ１へ初期設定用ＰＪＬコマンドファイル７４１を送信する（Ｓ２３０）。このＳ２３０の処理で送信した初期設定用ＰＪＬコマンドファイル７４１が、ＰＣ１において上記Ｓ１３０〜Ｓ１４０の処理の中で受信され、Ｓ１３５の処理で肯定判断がなされることになる。このＳ２３０の処理が、本発明でいう設定情報提供手段によって実行される処理に該当する。そして、初期設定済みリストにシリアル番号を追加して（Ｓ２３５）、以上で一連の処理を終了したことになるので、Ｓ２０５へと戻り、以降同様の処理を繰り返すことになる。
【００７５】
なお、Ｓ２２０の処理において、シリアル番号が初期設定済リストにあった場合（Ｓ２２０：ＹＥＳ）、Ｓ２２５の処理において、初期設定用ＰＪＬコマンドファイルがプリンタ登録サーバ７側に用意されていない場合（Ｓ２２５：ＮＯ）、以上いずれかの場合は、ＰＣ１へ登録完了を通知して（Ｓ２４０）、Ｓ２０５へと戻り、以降同様の処理を繰り返すことになる。Ｓ２４０の処理による通知は、ＰＣ１において上記Ｓ１３０〜Ｓ１４０の処理の中で受信され、Ｓ１４０の処理で肯定判断がなされるとになる。
【００７６】
さて一方、上記Ｓ２１３の処理で、登録解除フラグも受信したと判断された場合（Ｓ２１３：ＹＥＳ）、プリンタ登録サーバ７は、ＰＣ情報とプリンタ情報のエントリを登録解除する（Ｓ２５０）。より詳しくは、プリンタ情報中のシリアル番号をキーにしてデータベースを検索することにより、そのキーを持つエントリを探し、そのようなエントリが見つかった場合は、そのエントリを削除ないし無効化する。これにより、プリンタ登録サーバ７のプリンタ情報データベース７４２に登録されていたＰＣ情報とプリンタ情報が、登録を解除されることになる。このＳ２５０の処理が、本発明でいう情報登録解除手段によって実行される処理に該当する。なお、シリアル番号をキーにしてデータベースを検索した結果、所期のエントリが見つからない場合は、何もせず処理を中断するかＰＣ１へエラーを返すなどのエラー処理を行えばよいが、これら例外的な処理については、図示および説明を省略する。
【００７７】
こうして登録解除を行ったら、プリンタ登録サーバ７は、ＰＣ１へ登録解除を通知して（Ｓ２５５）、Ｓ２０５へと戻り、以降同様の処理を繰り返すことになる。Ｓ２５５の処理による通知は、ＰＣ１において後述するＳ４３０〜Ｓ４４０の処理の中で受信され、Ｓ４４０の処理で肯定判断がなされることになる。
【００７８】
次に、プリンタ４がデータ受信時に実行するデータ受信時処理について、図６に基づいて説明する。
このデータ受信時処理は、プリンタ４がＰＣ  Ｉ／Ｆ４６を介してデータを受信したとき（一例としては、上記Ｓ１１０またはＳ１５０の処理によりＰＣ１から送信されたＰＪＬコマンドを受信したとき、あるいは、アプリケーション１１６が生成した印刷データを受信したときなど)に、そのデータ受信が契機となり実行される処理である。
【００７９】
この処理を開始すると、プリンタ４は、まず、受信したデータがＰＪＬデータか否かを判断する（Ｓ３０５）。
ここで、ＰＪＬデータであった場合（Ｓ３０５：ＹＥＳ）、通常の印刷データもＰＪＬコマンドもＰＪＬデータの一種としてＰＣ１から送信されてくるため、引き続いて印刷データか否かを判断する（Ｓ３１０）。そして、印刷データであった場合は（Ｓ３１０：ＹＥＳ）、印刷処理を実行し（Ｓ３１５）、印刷データでなかった場合は（Ｓ３１０：ＮＯ）、Ｓ３１５の処理をスキップする。Ｓ３１５の印刷処理は、さらに記録部の動作制御、記録媒体の搬送制御、その他各種情報の表示制御など、いくつかの処理から構成されるが、こうした印刷処理そのものは、この種のプリンタにおける一般的な処理に過ぎず、本発明の要部とは関連しないので、詳細な説明については省略する。
【００８０】
続いて、プリンタ４は、プリンタ情報の要求か否かを判断する（Ｓ３２０）。ＰＣ１においてＳ１１０の処理が実行された場合、ＰＣ１からプリンタ情報を要求するＰＪＬコマンドが送信されてくるので、その場合（Ｓ３２０：ＹＥＳ）、プリンタ４は、不揮発性メモリ４４からプリンタ情報４４１を読み出して、そのプリンタ情報４４１をＰＣ１へと返信する（Ｓ３２５）。このＳ３２５の処理が、本発明でいうデバイス側情報提供手段によって実行される処理に該当する。なお、Ｓ３２０の処理において、プリンタ情報の要求ではなかった場合は（Ｓ３２０：ＮＯ）、Ｓ３２５の処理をスキップする。
【００８１】
続いて、プリンタ４は、初期設定用ＰＪＬコマンドファイルか否かを判断する（Ｓ３３０）。ＰＣ１においてＳ１５０の処理が実行された場合、ＰＣ１から初期設定用ＰＪＬコマンドファイルが送信されてくるので、その場合（Ｓ３３０：ＹＥＳ）、プリンタ４は、プリンタ設定を実行する（Ｓ３３５）。なお、初期設定用ＰＪＬコマンドファイルではなかった場合は（Ｓ３２０：ＮＯ）、データ受信時処理を終了する。
【００８２】
なお、上記Ｓ３０５の処理において、ＰＪＬデータでなかった場合（Ｓ３０５：ＮＯ）、その他の処理を実行する（Ｓ３４０）。このＳ３４０の処理には、様々な処理が含まれるが、本発明の要部とは関連しない処理なので、詳細な説明については省略する。Ｓ３４０の処理を終えたら、データ受信時処理を終了する。
【００８３】
次に、ＰＣ１が実行するクライアント処理のうち、ドライバアンインストールに関連する処理について、図７に基づいて説明する。
このクライアント処理は、利用者がプリンタドライバの削除を指令する操作を行ったとき、あるいは、利用者がＰＣ１におけるプリンタ４の登録解除を指令する操作を行ったときに実行される。プリンタ４の登録解除を指令する操作の時は、後述するＳ４０５の処理でプリンタドライバはＨＤＤ１４から削除されず、ＯＳのレジストリなどへのプリンタの登録が解除されるだけである。
【００８４】
ＰＣ１が、クライアント処理を開始すると、ＰＣ１は、まず、ＰＪＬコマンドを送信し、プリンタ４からプリンタ情報を取得する（Ｓ４１０）。このＳ４１０の処理は、既に説明したＳ１１０の処理と同等な処理なので、より詳細な説明については省略するが、このＳ４１０の処理においてプリンタ情報を取得する処理が、本発明でいうクライアント側情報取得手段によって実行される処理に該当する。なお、本実施形態では、Ｓ１１０の処理と共通のＰＪＬコマンドを使用するので、プリンタ４からは、機種名、シリアル番号、およびバージョンがプリンタ情報として取得されることになるが、Ｓ４１０の処理では、少なくともシリアル番号を取得できればよい。また、変形例として、Ｓ１１０の処理で取得したシリアル番号をＰＣ１がＨＤＤ１４に保存する構成になっている場合は、Ｓ４１０の処理に代えて、ＰＣ１がＨＤＤ１４に保存するシリアル番号を読み出す処理を行ってもよい。
【００８５】
続いて、ＰＣ１は、ＰＣ側でＯＳが管理するＰＣ情報１４４を取得し（Ｓ４１５）、プリンタ登録サーバ７を検索し、接続する（Ｓ４２０）。これらＳ４１５〜Ｓ４２０の処理は、既に説明したＳ１１５〜Ｓ１２０の処理と同等な処理なので、ここでは詳細な説明を省略する。
【００８６】
次に、ＰＣ１は、プリンタ登録サーバ７に、登録解除フラグとＰＣ情報とプリンタ情報を送信する（Ｓ４２５）。このＳ４２５の処理は、本発明でいうクライアント側情報提供手段によって実行される処理に該当する。このＳ４２５の処理により、登録解除フラグ、ＰＣ名、プリンタ機種名、プリンタシリアル番号、およびプリンタバージョンを１組とする情報が、プリンタ登録サーバ７へと送信される。
【００８７】
続いて、ＰＣ１は、プリンタ登録サーバ７からの通信待機状態となり（Ｓ４３０）、登録解除通知を受信したか否かを判断し（Ｓ４４０）、登録解除通知を受信していない場合は（Ｓ４４０：ＮＯ）、Ｓ４３０の処理へと戻ることにより、Ｓ４３０〜Ｓ４４０の処理を繰り返す。この繰り返し処理の中で、登録解除通知を受信した場合は（Ｓ４４０：ＹＥＳ）、ドライバアンインストール処理を実行する（Ｓ４５０）。この処理により、ＰＣ１においてＨＤＤ１４からプリンタドライバ１１４のプログラムが削除され、ＯＳのレジストリなどに登録された情報なども削除される。そして、Ｓ４５０の処理を終えたら、クライアント処理を終了する。
【００８８】
以上説明した通り、ＰＣ１が上記クライアント処理、プリンタ登録サーバ７が上記サーバ処理、プリンタ４が上記データ受信時処理をそれぞれ実行することにより、三者が協働して本発明のデバイス情報管理システムとしての機能が実現される。このようなシステムであれば、ＰＣ１〜３のＵＳＢやパラレルポートに接続されたプリンタ４〜６（いわゆるローカルプリンタ）の情報を、簡単にプリンタ登録サーバ７に集めることができ、特に、プリンタドライバのインストールに伴い、ＰＣ１〜３においてプリンタ４〜６が利用可能となった時点とほぼ同時期に、プリンタ登録サーバ７がＰＣ１〜３に新たなプリンタが接続されたことを認識し、プリンタ情報データベース７４２へ情報を登録することができる。
【００８９】
しかも、ＰＣ１〜３においてインストール処理を実行した直後は、通常、ＰＣ１〜３とプリンタ４〜６は通信可能な状態になっており、インストール処理から引き続く一連の処理が完了するまでは、プリンタ４〜６の電源が断たれるといったこともないので、他のタイミングで同種の処理を実施した場合に比べ、プリンタ情報を取得できる可能性は高く、プリンタ情報をプリンタ情報データベース７４２へ確実に登録することができる。
【００９０】
その結果、プリンタ情報データベース７４２を参照すれば、把握の難しかったローカルプリンタの管理用リストを簡単に作ることができ、ローカルプリンタがオフィスに大量導入された場合でも、どのプリンタがどのＰＣに繋いで使われているのかをきわめて容易に調べることができるようになる。
【００９１】
また、プリンタ情報データベース７４２には、ＰＣ名、プリンタの機種名、シリアル番号が登録されているので、今後ドライバやファームウェア更新が必要になり、同一のプリンタに対して一斉にアクションを起こす必要が発生したり、特定範囲のシリアル番号が付いたプリンタをチェックする必要が出た際にも、プリンタ情報データベース７４２を参照すれば、対処が必要なプリンタが、どのＰＣに接続されたものであるのかを、簡単に探すことができる。
【００９２】
さらに、プリンタドライバのインストール時に、登録情報がプリンタ登録サーバ７に送信されるので、プリンタの利用者が変わって別のＰＣでプリンタを使うためにドライバがインストールされたことも、簡単に把握することができ、そのような管理が必要な場合には、管理の手間を省くことができる。
【００９３】
また、プリンタ情報取得に際し、ＰＪＬコマンドを利用することから、既にプリンタが印刷に利用されているような環境下でＰＪＬコマンドを利用すると、印刷に利用している利用者を待たせるなどの影響が出ることがあるが、本発明の場合、ドライバのインストールが終わった直後の、印刷に運用される前の段階で、プリンタ情報を取得できるため、利用者の印刷利用に悪影響を与えることが無い。
【００９４】
加えて、初めてプリンタの使用を開始するに当たっては、ドライバのインストールを行うことは必須なので、ドライバのインストールに連動してプリンタ情報の登録がなされるようになっていれば、プリンタ情報を登録し忘れるようなことも避けることができる。
【００９５】
さらに、本実施形態においては、初期設定用のＰＪＬコマンドファイルをプリンタ登録サーバ７に用意し、ドライバのインストール対象となったプリンタには、ドライバのインストールに連動して初期設定がなされるので、管理者は、購入したプリンタの設定を一台一台変えたり、個々のＰＣの利用者に設定変更方法を通知して変更を促したりする必要が無くなり、適切な運用が可能となる。
【００９６】
以上のようなドライバのインストール時の効果の他、ドライバのアンインストール時には、ドライバをアンインストールするだけで、プリンタ登録サーバ７におけるプリンタの登録を解除することができるので、使用者にとってドライバのアンインストールを行う作業と、プリンタ登録サーバ７からの登録の解除を行う作業を、それぞれ別々に行う手間がなく、不必要な登録情報がサーバに残ることを防ぐことができる。
【００９７】
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態では、プリンタ登録サーバ７が、ＬＤＡＰサーバとしての機能を有する旨、説明したが、データベースの構造は任意であり、ＬＤＡＰ以外の方式でデータベースを構築できるサーバであっても構わない。具体例としては、例えば、ＳＱＬなどを利用したデータベースサーバであってもよいし、既存のプロトコルやデータ構造を持たないオリジナルのデータベースサーバであってもよい。
【００９８】
また、上記実施形態では、デバイスの具体例として、プリンタを例示したが、ＰＣにローカルに接続され、ネットワーク越しの認識が困難なデバイスは、すべて本発明のデバイス情報管理システムの管理対象となり得る。具体例を挙げれば、スキャナ、カメラなどの画像入力系デバイス、ハードディスク装置や各種リムーバブルディスク装置などのストレージデバイスなど、様々なデバイスを考えることができる。
【００９９】
また、上記実施形態では、デバイスドライバの具体例として、プリンタドライバを例示したが、プリンタドライバに代えて、プリンタＩ／Ｆ１６を制御するＩ／Ｆドライバを対象として本発明を適用してもよい。
【図面の簡単な説明】
【０１００】
【図１】本発明の実施形態として説明したデバイス情報管理システムの全体を示す概略構成図である。
【図２】ＰＣ１、プリンタ４、およびプリンタ登録サーバ７の内部構成を示したブロック図である。
【図３】ＰＣ情報、プリンタ情報、データベース構造を例示する説明図である。
【図４】クライアントのインストール処理を示すフローチャートである。
【図５】サーバ処理を示すフローチャートである。
【図６】プリンタ処理を示すフローチャートである。
【図７】クライアントのアンインストール処理を示すフローチャートである。
【符号の説明】
【０１０１】
１〜３・・・パーソナルコンピュータ（ＰＣ）、４〜６・・・プリンタ、７・・・プリンタ登録サーバ、１１，４１，７１・・・制御部、１２，４２，７２・・・表示部、１３，４３，７３・・・入力部、１４，７４・・・ハードディスク装置、４４・・・不揮発性メモリ、１５，７５・・・ＬＡＮインターフェース、１６・・・プリンタインターフェース、４６・・・ＰＣインターフェース、４７・・・印刷部、１１１・・・プリンタインターフェース制御部、１１２・・・ＬＡＮインターフェース制御部、１１３・・・印刷スプーラ、１１４・・・プリンタドライバ、１１５・・・クライアント処理部、１１６・・・アプリケーション、１４１・・・キュー、１４２・・・プリンタ情報取得用ＰＪＬコマンド、１４３，７４１・・・プリンタ初期設定用ＰＪＬコマンド、１４４・・・ＰＣ情報、４１１・・・ＰＪＬコマンド処理部、４４１・・・プリンタ情報、７１１・・・サーバ処理部、７４２・・・プリンタ情報データベース。
【図２】
2006236062.tif 000003
【図３】
2006236062.tif 000004
【図４】
2006236062.tif 000005
【図５】
2006236062.tif 000006
【図６】
2006236062.tif 000007
【図７】
2006236062.tif 000008
【図１】
2006236062.tif 000009