ところで、上記のようなネットワークシステムに新たな被管理PCを追加したい場合、ネットワーク上のコンピュータに専用のソフトウェアを導入(インストール)することにより、そのコンピュータを被管理PCとして機能させることになる。
しかし、単に被管理PCにソフトウェアを導入するだけでは、通常、被管理PCは、管理PCとの間で通信を伴う処理を実行することができず、さらに、被管理PC側の利用者が管理PCとの通信を行うために必要な情報を手作業で入力して通信設定を行わなければならない。そのため、通信を行うために必要な情報の入力操作に手間がかかるという問題があり、また、管理PCに関する情報を把握している利用者しか通信設定を行うことができない、といった問題があった。
本発明は、上記問題を解決するためになされたものであり、その目的は、サーバからソフトウェアをダウンロードすると、同時に管理コンピュータとの通信を行うために必要な情報もダウンロードでき、同種の情報を手作業で入力しなくても適切な管理コンピュータとの通信が可能となるネットワークシステムを提供することにある。また、そのようなネットワークシステムを構築するために利用されるサーバと、そのようなサーバとしてコンピュータを機能させるためのサーバ用プログラムを提供することにある。
以下、本発明において採用した特徴的構成について説明する。
本発明のネットワークシステムは、ネットワークを介して接続された複数のコンピュータのうち、少なくとも1台はクライアントとして機能するとともに、前記クライアント以外の少なくとも1台はサーバとして機能し、前記クライアント以外の少なくとも1台は管理コンピュータとして機能し、前記クライアントからの要求に応じて前記サーバが前記クライアントへソフトウェアを送信するように構成されており、しかも、前記クライアントが前記ソフトウェアによる処理を実行した際に、該クライアントは前記管理コンピュータが管理する被管理コンピュータとして機能するネットワークシステムであって、前記サーバは、前記クライアントに関するクライアント情報が前記クライアントから送信されてきた際に、前記クライアント情報を取得するクライアント情報取得手段と、前記クライアント情報取得手段によって取得された前記クライアント情報に基づいて、前記クライアントを前記被管理コンピュータとする前記管理コンピュータを特定する管理コンピュータ特定手段と、前記管理コンピュータ特定手段によって特定された前記管理コンピュータに関する管理コンピュータ情報を、前記ソフトウェアとともに前記クライアントへと送信するソフトウェア送信手段とを備え、前記クライアントは、前記サーバから受信した前記ソフトウェアによる処理を実行する際に、前記サーバから受信した前記管理コンピュータ情報に基づいて前記管理コンピュータを認識し、前記被管理コンピュータとして機能することを特徴とする。
このように構成されたネットワークシステムにおいて、サーバでは、クライアント情報取得手段が、クライアントから送信されてくるクライアント情報を取得し、管理コンピュータ特定手段が、クライアント情報に基づいて「クライアントを被管理コンピュータとする管理コンピュータ」を特定する。
クライアント情報は、「クライアントを被管理コンピュータとする管理コンピュータ」を特定するために利用可能な情報であれば、その具体的な内容については任意であり、個々のクライアント毎に異なる情報(例えば、ネットワークアドレス、コンピュータ名など)であってもよいし、いくつかのクライアントでは同一となる情報(例えば、クライアントが設置されている部署名、部屋名、フロア名など)であってもよい。より具体的には、例えば、クライアント情報がネットワークアドレスである場合は、そのネットワークアドレスからサブネットを特定し、そのサブネットに属する特定のネットワークアドレスが付与されたコンピュータを、「クライアントを被管理コンピュータとする管理コンピュータ」であると特定する、といった方法をとることができる。また、クライアント情報がコンピュータ名、部署名、部屋名、フロア名などの名称である場合は、その名称とその名称に対応する管理コンピュータとの対応表が事前に作成されていれば、その対応表を参照して、「クライアントを被管理コンピュータとする管理コンピュータ」を特定する、といった方法をとることができる。さらに、コンピュータ名、部署名、部屋名、フロア名などの名称が、規則性のある名称とされていれば(例えば、コンピュータ名の下3桁が連番となっている名称で、下3桁を“001”に置換すると管理コンピュータの名称になるなどといった規則があれば)、上述の如き対応表が事前に作成されていなくても、「クライアントを被管理コンピュータとする管理コンピュータ」を特定することが可能である。
こうして管理コンピュータを特定したら、ソフトウェア送信手段は、管理コンピュータ特定手段によって特定された管理コンピュータに関する管理コンピュータ情報を、ソフトウェアとともにクライアントへと送信する。
管理コンピュータ情報は、クライアントがネットワークを介して管理コンピュータにアクセスする上で必要となる情報(例えば、管理コンピュータのネットワークアドレス)、またはそのような情報を取得するために必要となる情報(例えば、管理コンピュータのネットワークアドレスをネームサーバから取得するために必要となる管理コンピュータのコンピュータ名)である。
クライアントでは、ソフトウェアとともに管理コンピュータ情報を受信して、サーバから受信したソフトウェアによる処理を実行する際に、サーバから受信した管理コンピュータ情報に基づいて管理コンピュータを認識し、被管理コンピュータとして機能する。
以上のようなネットワークシステムによれば、クライアントがサーバから受信したソフトウェアによる処理を実行する際には、クライアントはサーバから受信した管理コンピュータ情報に基づいて管理コンピュータを適切に認識するので、クライアント側の利用者が手作業で管理コンピュータに関する情報を設定しなくても済む。したがって、クライアントがサーバから受信したソフトウェアによる処理を実行するに当たって、クライアント側における面倒な設定作業を省くことができ、また、利用者が誤った設定を行ったことで管理コンピュータを認識できなかったり、不適切なコンピュータを管理コンピュータとして認識してしまったりするといったトラブルを、未然に防止することができる。
なお、本発明のネットワークシステムは、さらに次のような構成を備えていてもよい。
まず、前記サーバは、前記クライアントからの要求に応じて、入力フォームが設けられたウェブページを、前記クライアントに対して送信するウェブページ送信手段を備えており、前記クライアント情報取得手段は、前記クライアント側において前記入力フォームに入力された前記クライアント情報が前記サーバへと送信された際に、前記クライアント側から送信されてくる前記クライアント情報を取得するように構成されているとよい。
このようなネットワークシステムであれば、クライアントが備えるブラウザ(ウェブページ閲覧用のアプリケーションソフトウェア)を利用して、入力フォームが設けられたウェブページを表示することができ、クライアント側の利用者は、入力フォームに従ってクライアント情報を入力するだけで、サーバ側で必要なクライアント情報をサーバへと送信することができるので、クライアント側では、クライアント情報をサーバへ送信するための専用ソフトウェアを用意しなくても、汎用のブラウザを使ってクライアント情報をサーバへと送信することができる。
また、前記クライアント情報取得手段は、前記クライアントが前記サーバにアクセスする際に、前記クライアント側から送信されてくる前記クライアント情報を取得するように構成されていてもよい。
すなわち、クライアントがサーバにアクセスする際には、一般に、サーバからの応答をクライアントが受け取るため、クライアントのネットワークアドレス(または、クライアントのネットワークアドレスに変換可能な情報)がサーバに伝達されるので、このネットワークアドレス(または、ネットワークアドレスに変換可能な情報)を、クライアント情報取得手段がクライアント情報として取得する。
このようなネットワークシステムであれば、クライアントがサーバにアクセスするだけで、サーバ側で必要なクライアント情報がサーバ側において取得されるので、クライアント情報をサーバへ送信するための専用ソフトウェア用意しなくても済み、さらに、クライアント側の利用者がクライアント情報を手作業で入力するような手間も省くことができる。
また、前記管理コンピュータ情報には、前記ネットワーク上において前記管理コンピュータを識別するために利用される識別情報が含まれるとよい。
このようなネットワークシステムであれば、クライアントがサーバから受信したソフトウェアによる処理を実行する際、クライアントは、管理コンピュータ情報中に含まれる識別情報を利用して、管理コンピュータを識別して被管理コンピュータとして機能することができる。したがって、管理コンピュータ情報とは別に識別情報を取得する手間をかけなくてもよい。
このような識別情報の代表的な例としては、管理コンピュータに割り当てられたネットワークアドレスを挙げることができる。すなわち、前記管理コンピュータ情報には、前記識別情報として、前記ネットワーク上において前記管理コンピュータに割り当てられたネットワークアドレスが含まれるとよい。
このようなネットワークシステムであれば、クライアントがサーバから受信したソフトウェアによる処理を実行する際、クライアントは、管理コンピュータ情報中に含まれるネットワークアドレスを利用して、管理コンピュータを識別して被管理コンピュータとして機能することができる。したがって、管理コンピュータ情報とは別にネットワークアドレスを取得する手間をかけなくてもよい。
なお、ネットワーク上に存在するDHCP(Dynamic Host Configuration Protocol)サーバからネットワークアドレスが動的に付与される場合は、同じコンピュータであってもネットワークアドレスが変化することがある。そのような場合は、管理コンピュータに割り当てられたネットワークアドレスも変化することがあるので、識別情報としてホスト名などが含まれているとよい。クライアントがサーバから受信したソフトウェアによる処理を実行する際には、ネームサーバに問い合わせを行う等の方法で、ホスト名をネットワークアドレスに変換する手間が必要となるが、管理コンピュータに割り当てられたネットワークアドレスが変化しても、適切に管理コンピュータを識別することができる。
また、前記クライアントおよび前記管理コンピュータには、それぞれが属するグループを設定してあり、前記管理コンピュータ特定手段は、前記クライアント情報取得手段によって取得された前記クライアント情報に基づいて、前記管理コンピュータになり得る複数のコンピュータの中から、前記クライアントと同じグループに属するコンピュータを、前記クライアントを前記被管理コンピュータとする前記管理コンピュータであると特定するように構成されていてもよい。
このようなネットワークシステムによれば、管理コンピュータ特定手段は、クライアントと同じグループに属するコンピュータを、「クライアントを被管理コンピュータとする管理コンピュータ」であると特定する。したがって、クライアントがサーバから受信したソフトウェアによる処理を実行する際、管理コンピュータになり得る複数のコンピュータがシステム内に存在していても、グループ毎に最適な管理コンピュータを選定することができる。
また、前記サーバが、前記管理コンピュータとしても機能するように構成されていてもよい。
このようなネットワークシステムであれば、1台のコンピュータがサーバとしても管理コンピュータとしても機能するので、ネットワーク上のコンピュータを有効に運用することができる。
また、前記クライアントは、前記サーバから受信した前記ソフトウェアによる処理を実行する中で、前記クライアントに関するクライアント情報を、前記管理コンピュータへと送信する処理を実行し、前記管理コンピュータは、前記クライアントから送信されてくる前記クライアント情報を受信し、前記クライアントから受信した前記クライアント情報に基づいて前記クライアントを認識し、該クライアントとの通信を伴う処理を実行するように構成されているとよい。
このようなネットワークシステムであれば、クライアントがサーバから受信したソフトウェアによる処理を実行する際、クライアントが管理コンピュータを認識した後に、クライアントがクライアント情報を管理コンピュータへと送信し、管理コンピュータは、クライアントから受信したクライアント情報に基づいてクライアントを認識するので、クライアントと管理コンピュータが互いを認識し合って、両者間での通信を伴う処理を実行することができる。
また、前記クライアントは、前記クライアントが管理対象としている管理対象情報を記憶する記憶手段と、前記管理対象情報に変化があったときに、前記記憶手段に記憶されている前記管理対象情報を更新する更新手段とを備え、前記管理コンピュータは、前記被管理コンピュータとして機能する前記クライアントから前記管理対象情報を取得する処理を実行するように構成されていてもよい。
このようなネットワークシステムにおいて、クライアント側では、クライアントが管理対象としている管理対象情報が記憶手段に記憶され、管理対象情報に変化があったときには、更新手段が記憶手段に記憶されている管理対象情報を更新する。これら一連の処理は、クライアントがサーバから受信したソフトウェアによる処理として、クライアントにおいて実行される。一方、管理コンピュータ側では、クライアントとの通信を伴う処理として、クライアントから管理対象情報を取得する処理を実行する。
このように構成されたネットワークシステムによれば、クライアントがサーバから受信したソフトウェアによる処理を実行することにより、クライアントが管理対象としている管理対象情報が、管理コンピュータにも取得されるので、管理コンピュータ側において、クライアントが管理対象としている管理対象情報の更新状況を見たり、その管理対象情報を履歴として保存したりすることができる。
すなわち、被管理コンピュータとして機能するクライアントが自機内で管理対象としている管理対象情報は、さらに管理コンピュータによっても管理される。このようなネットワークシステムは、1台の管理コンピュータに対応して複数の被管理コンピュータ(クライアント)が存在する場合に特に有益であり、複数の被管理コンピュータそれぞれが個々に管理している管理対象情報を、管理コンピュータにおいて統括的に管理し、各被管理コンピュータの管理対象情報の更新状況を見たり、その管理対象情報を履歴として保存したりする作業を、管理コンピュータにおいて実施することができる。
ところで、前記クライアントが管理対象としている管理対象情報としては、例えば、前記クライアントに接続されたデバイスから取得したデバイス状態情報を挙げることができ、この場合、前記記憶手段は、前記デバイス状態情報を記憶する手段であり、前記更新手段は、前記デバイスから取得した前記デバイス状態情報に変化があったときに、前記記憶手段に記憶されている前記デバイス状態情報を更新する手段であり、前記管理コンピュータは、前記被管理コンピュータとして機能する前記クライアントから前記デバイス状態情報を取得する処理を実行するように構成される。
このように構成されたネットワークシステムによれば、クライアント側では、クライアントに接続されたデバイスから取得したデバイス状態情報が記憶手段に記憶され、デバイス状態情報に変化があったときには、更新手段が記憶手段に記憶されているデバイス状態情報を更新する。そして、管理コンピュータ側では、クライアントとの通信を伴う処理として、クライアントからデバイス状態情報を取得する処理を実行する。したがって、デバイス状態情報が、管理コンピュータにも取得されるので、管理コンピュータ側において、クライアントに接続されたデバイスから取得したデバイス状態情報の更新状況を見たり、そのデバイス状態情報を履歴として保存したりすることができる。
なお、前記クライアントが管理対象としている管理対象情報としては、前記デバイス状態情報の他にも、例えば、クライアント自体に関する各種情報(メンテナンス情報や故障検出情報)などを挙げることができる。
また、前記クライアントに接続されたデバイスとしては、画像形成装置(例えば、プリンタ、またはプリンタ機能を備えた複合機など)、画像読取装置(例えば、イメージスキャナ、またはイメージスキャナ機能を備えた複合機など)、各種ストレージデバイス(例えば、磁気ディスク装置、または光ディスク装置)などを挙げることができる。中でも、画像形成装置は、着色材(インクやトナー)、記録紙、感光ドラム等、消耗品や交換を要する部品が多く、また、紙詰まりなどのエラーも発生しやすいため、これら画像形成装置の状態に関する情報をデバイス状態情報として画像形成装置から取得できるようになっていると有益である。
すなわち、前記クライアントに接続されたデバイスが画像形成装置であるようなネットワークシステムによれば、クライアント側では、クライアントに接続された画像形成装置から取得したデバイス状態情報(例えば、用紙サイズごとの印刷枚数あるいは総印刷枚数などの使用頻度に関する情報、ドラム交換時期など、交換部品の使用度合に関する情報、トナーないしインク残量、記録用紙残量など、消耗品の消耗度合に関する情報、紙詰まり回数など、異常の発生回数に関する情報、その他)が記憶手段に記憶され、デバイス状態情報に変化があったときには、更新手段が記憶手段に記憶されているデバイス状態情報を更新する。これら一連の処理は、クライアントがサーバから受信したソフトウェアによる処理として、クライアントにおいて実行される。一方、管理コンピュータ側では、クライアントとの通信を伴う処理として、クライアントからデバイス状態情報を取得する処理を実行する。
したがって、クライアントにおいて画像形成装置から取得されるデバイス状態情報が、管理コンピュータにも取得されるので、管理コンピュータ側において、クライアントに接続された画像形成装置から取得したデバイス状態情報の更新状況を見たり、そのデバイス状態情報を履歴として保存したりすることができる。
すなわち、被管理コンピュータとして機能するクライアントが自機内で管理対象としているデバイス状態情報は、さらに管理コンピュータによっても管理される。このようなネットワークシステムは、1台の管理コンピュータに対応して複数の被管理コンピュータ(クライアント)が存在する場合に特に有益であり、複数の被管理コンピュータそれぞれが個々に管理しているデバイス状態情報を、管理コンピュータにおいて統括的に管理し、各被管理コンピュータのデバイス状態情報の更新状況を見たり、そのデバイス状態情報を履歴として保存したりする作業を、管理コンピュータにおいて実施することができる。したがって、管理者は、管理コンピュータを使った作業を行うだけで、ネットワーク上に存在するすべての被管理コンピュータ(クライアント)について、各被管理コンピュータに接続された画像形成装置の状態(例えば、用紙サイズごとの印刷枚数あるいは総印刷枚数などの使用頻度に関する情報、ドラム交換時期など、交換部品の使用度合に関する情報、トナーないしインク残量、記録用紙残量など、消耗品の消耗度合に関する情報、紙詰まり回数など、異常の発生回数に関する情報、その他)を把握することができる。
ところで、このような画像形成装置に関するデバイス状態情報を、クライアントから管理コンピュータへと送信するネットワークシステムの場合、さらに次のような構成を備えていても有益である。
すなわち、前記クライアントは、前記クライアントに接続された前記画像形成装置に関する画像形成装置情報を前記サーバへと送信する画像形成装置情報送信手段を備えており、前記サーバは、前記画像形成装置情報が前記クライアントから送信されてきた際に、前記画像形成装置情報を取得する画像形成装置情報取得手段と、前記画像形成装置情報取得手段によって取得された前記画像形成装置情報に基づいて、前記画像形成装置に対して与えることができるコマンドを特定するコマンド特定手段とを備えていて、前記ソフトウェア送信手段により、前記コマンド特定手段によって特定された前記コマンドを、前記ソフトウェアとともに前記クライアントへと送信するように構成され、前記クライアントは、前記サーバから受信した前記ソフトウェアによる処理を実行する際に、前記サーバから受信した前記コマンドを前記画像形成装置に与えることにより、前記画像形成装置から前記デバイス状態情報を取得するように構成されているとよい。
画像形成装置情報は、画像形成装置に対して与えることができるコマンドを特定するために利用可能な情報であれば、その具体的な内容については任意であるが、例えば、画像形成装置のメーカー名、機種名、型番などを挙げることができる。
このようなネットワークシステムであれば、サーバにおいては、コマンド特定手段が、クライアントから受信した画像形成装置情報に基づいて、画像形成装置に対して与えることができるコマンドを特定し、そのコマンドがソフトウェアとともにクライアントへと送信される。クライアントにおいては、サーバから受信したソフトウェアによる処理を実行する際に、サーバから受信したコマンドを画像形成装置に与えることにより、画像形成装置からデバイス状態情報を取得する。したがって、クライアント側では、クライアントに接続された画像形成装置に対して与えることができるコマンドを意識しなくても、適切なコマンドをサーバから受信して、そのコマンドを画像形成装置に与えることができる。
加えて、本発明のサーバは、「ネットワークを介して接続された複数のコンピュータのうち、少なくとも1台はクライアントとして機能するとともに、前記クライアント以外の少なくとも1台はサーバとして機能し、前記クライアント以外の少なくとも1台は管理コンピュータとして機能し、前記クライアントからの要求に応じて前記サーバが前記クライアントへソフトウェアを送信するように構成されており、しかも、前記クライアントが前記ソフトウェアによる処理を実行した際に、該クライアントは前記管理コンピュータが管理する被管理コンピュータとして機能するネットワークシステム」において利用されるサーバであって、前記クライアントからの要求に応じて、入力フォームが設けられたウェブページを、前記クライアントに対して送信するウェブページ送信手段と、前記クライアント側において前記入力フォームに入力された前記クライアント情報が前記サーバへと送信された際に、前記クライアント側から送信されてくる前記クライアント情報を取得するクライアント情報取得手段と、前記クライアント情報取得手段によって取得された前記クライアント情報に基づいて、前記クライアントを前記被管理コンピュータとする前記管理コンピュータを特定する管理コンピュータ特定手段と、前記管理コンピュータ特定手段によって特定された前記管理コンピュータに関する管理コンピュータ情報を、前記ソフトウェアとともに前記クライアントへと送信するソフトウェア送信手段とを備えたことを特徴とする。
このようなサーバを利用すれば、先に説明した通りの本発明のネットワークシステムを構築することができる。
また、本発明のサーバ用プログラムは、「ネットワークを介して接続された複数のコンピュータのうち、少なくとも1台はクライアントとして機能するとともに、前記クライアント以外の少なくとも1台はサーバとして機能し、前記クライアント以外の少なくとも1台は管理コンピュータとして機能し、前記クライアントからの要求に応じて前記サーバが前記クライアントへソフトウェアを送信するように構成されており、しかも、前記クライアントが前記ソフトウェアによる処理を実行した際に、該クライアントは前記管理コンピュータが管理する被管理コンピュータとして機能するネットワークシステム」を構成する際に、前記複数のコンピュータのうち、少なくとも1台を前記サーバとして機能させるためのプログラムであって、前記クライアントからの要求に応じて、入力フォームが設けられたウェブページを、前記クライアントに対して送信するウェブページ送信手順と、前記クライアント側において前記入力フォームに入力された前記クライアント情報が前記サーバへと送信された際に、前記クライアント側から送信されてくる前記クライアント情報を取得するクライアント情報取得手順と、前記クライアント情報取得手順において取得された前記クライアント情報に基づいて、前記クライアントを前記被管理コンピュータとする前記管理コンピュータを特定する管理コンピュータ特定手順と、前記管理コンピュータ特定手段において特定された前記管理コンピュータに関する管理コンピュータ情報を、前記ソフトウェアとともに前記クライアントへと送信するソフトウェア送信手順とを備えたことを特徴とする。
このようなサーバ用プログラムを利用すれば、コンピュータを先に説明した通りの本発明のサーバとして機能させることができるので、そのサーバを利用して、先に説明した通りの本発明のネットワークシステムを構築することができる。
次に、本発明の実施形態について一例を挙げて説明する。
図1は、ネットワークシステムの概略構成図である。
このネットワークシステムは、複数のパーソナルコンピュータ(以下、PCと略称する)1〜6と、これらPC1〜6を接続するLAN(Local Area Network)8とを備えている。また、PC3には、プリンタ11がローカル接続され、PC4には、プリンタ12〜14がローカル接続され、PC6には、プリンタ15がローカル接続されている。ここでいう「ローカル接続」とは、非ネットワークI/Fを介して単一のPCをホストとする接続のことである。
PC1〜6は、周知の通り、CPU、ROM、RAM等を中心に構成された制御部、キーボードやポインティングデバイスなどで構成される入力部、ディスプレイなどの出力部、ハードディスクなどのストレージデバイス等を備えている。また、これらのハードウェアを制御するため、PC1〜6には、OS(Operating System)が搭載されている。PC1〜6に搭載されたOSは、マルチタスク機能を有するもので、このマルチタスク機能により、各PC1〜6が備えるCPUは、複数のソフトウェアに基づく処理を時分割で実行し、各PCにおいて複数の処理を並列に実行できるようになっている。このようなOSの具体例としては、例えば、Windows(登録商標)、Linux(登録商標)、MacOS(登録商標)などを挙げることができる。これら各OSによって提供される各種機能は公知なので、ここでの詳細な説明は省略するが、以下の説明においては、PC1〜6が、Windows(登録商標)によって提供される各種機能を有するとの前提で説明を続ける。
プリンタ11〜15は、いずれもプリンタジョブ言語(PJL;Printer Job Language)に対応したものである。PJLは、プリンタを接続したPC側からプリンタが備える各種機能を制御するために用いられるコマンド言語で、Hewlett-Packard社において開発され、その後他社でも採用された周知のものである。
また、このネットワークシステム中において、PC2、PC3、およびプリンタ11は、1組のプリンタ管理システム17を構成している。プリンタ管理システム17は、PC2がPC3を管理する管理PCとして機能し、PC3がPC2によって管理される被管理PCとして機能することによって構成されるシステムで、被管理PCであるPC3が、プリンタ11からデバイス状態情報(例えば、用紙サイズごとの印刷枚数あるいは総印刷枚数などの使用頻度に関する情報、ドラム交換時期など、交換部品の使用度合に関する情報、トナーないしインク残量、記録用紙残量など、消耗品の消耗度合に関する情報、紙詰まり回数など、異常の発生回数に関する情報、その他)を取得して、そのデバイス状態情報を管理PCであるPC2へと送信することにより、管理PCであるPC2において、被管理PCであるPC3に接続されたプリンタ11のデバイス状態情報を管理できるようにしたシステムである(以下、PC2のことを管理PC2、PC3のことを被管理PC3とも称す)。なお、PC4は、最初はプリンタ管理システム17に組み込まれていない状態にあるため、図1においては、プリンタ管理システム17の系外にPC4を描いてあるが、以降に説明する処理の実行に伴い、被管理PCとして機能する状態に移行し、プリンタ管理システム17に組み込まれることになるPCである。
また、PC5、PC6、およびプリンタ15は、プリンタ管理システム17とは別に、もう1組のプリンタ管理システム18を構成している。プリンタ管理システム18も、PC5がPC6を管理する管理PCとして機能し、PC6がPC5によって管理される被管理PCとして機能することによって構成されるシステムで、機能的にはプリンタ管理システム17と同様のシステムとなっている(以下、PC5のことを管理PC5、PC6のことを被管理PC6とも称す)。
以上説明したようなネットワークシステム中において、PC1は、本発明でいうサーバとして機能するコンピュータ、PC4は、本発明でいうクライアントとして機能するコンピュータ、管理PC2は、本発明でいう管理コンピュータとして機能するコンピュータに該当する(以下、PC1のことをサーバPC1、PC4のことをクライアントPC4とも称す)。
サーバPC1においては、サーバPC1の備えるCPUが複数の処理を並列に実行することにより、図2に示すように、ウェブサーバ31、CGIプログラム処理部33、被管理PC情報送信部35などが機能するようになっている。また、サーバPC1が備えるハードディスク装置内の記憶領域には、ウェブページファイル41、PJLコマンドファイル43、被管理PC用インストーラ45などが記憶されており、ウェブページファイル41、第1設定ファイル47、第2設定ファイル49など一部のファイルは、CGIプログラム処理部33の機能によって動的に生成ないし書き換えが行われるようになっている。
また、本発明でいう管理コンピュータとして機能する管理PC2においては、管理PC2の備えるCPUが複数の処理を並列に実行することにより、被管理PC管理部51、被管理PC情報受信部53などが機能するようになっている。また、管理PC2が備えるハードディスク装置内の記憶領域には、管理用データベース55(以下、管理用DB55と称す)が記憶されている。
また、クライアントPC4においては、クライアントPC4の備えるCPUが複数の処理を並列に実行することにより、ウェブブラウザ61、インストーラ63、プリンタ管理部65、スプーラ67などが機能するようになっている。また、クライアントPC4が備えるハードディスク装置内の記憶領域には、インストーラ63が機能した際に設定ファイル71が作成され、プリンタ管理部65が機能した際にデバイス状態情報保存ファイル73などが作成されるようになっている。
さらに、プリンタ12〜14においては、PJL処理部77が機能し、プリンタ12〜14が備える記憶領域には、デバイス状態情報記憶部79が確保されている。
なお、サーバPC1、管理PC2、クライアントPC4、プリンタ11〜14それぞれが備える上記各手段の詳細については、サーバPC1、管理PC2、クライアントPC4それぞれにおいて実行される処理についての説明を行う中で併せて説明する。
次に、サーバPC1、管理PC2、クライアントPC4それぞれにおいて実行される処理について、図3〜図8のフローチャートに基づいて説明し、さらに、サーバPC1、管理PC2、クライアントPC4を含むシステム全体の挙動について、図9のタイミングチャートに基づいて説明する。
まず、サーバPC1で実行されるサーバ処理について、図3のフローチャートに基づいて説明する。このサーバ処理は、サーバPC1において並列に実行される複数の処理の一つとして、サーバPC1側において常時実行されている処理である。
より詳しくは、クライアントPC4の利用者が、クライアントPC4においてウェブブラウザ61を起動し、所定の入力操作(例えば、ウェブブラウザ61の入力欄に、サーバPC1が備える情報入力画面に割り当てられたURL(Uniform Resource Locators)を入力する操作、あるいはこの操作と等価な指令をウェブブラウザ61に与える操作)を行うと、この入力操作を受けて、クライアントPC4のウェブブラウザ61は、サーバPC1に対してウェブページ送信要求を送信する。サーバPC1では、ウェブサーバ31がクライアントPC4から送信されてくるウェブページ送信要求を受信して、このウェブページ送信要求に基づいてクライアントPC4に送信すべきウェブページを特定し、特定したウェブページをクライアントPC4へと送信する。そして、クライアントPC4のウェブブラウザ61は、サーバPC1から送信されてくるウェブページを受信し、クライアントPC4が備える表示部の画面上に、図4に示すようなウェブページ81を表示する。これにより、クライアントPC4側は、ウェブページ81内の入力欄に入力した内容をサーバPC1側へと伝送可能な状態となり、クライアントPC4側で入力した内容をサーバPC1側へと伝送すると、サーバPC1側では、クライアントPC4側から伝送されてきた情報を、以下に説明するサーバ処理によって処理することになる。
サーバ処理を開始すると、図3に示すように、まず、サーバPC1は、クライアントPC4側から情報が伝送されてくるまで入力待ちとなる(S101)。
クライアントPC4が備える表示部の画面上に表示されるウェブページ81(図4参照)には、利用者が情報を入力するために用いる入力欄として、PC名入力欄83、USER名入力欄85、プリンタ名入力欄87、OS名入力欄89、および部署名入力欄91が設けられ、また、ソフトウェアのダウンロード指示をサーバPC1に通知するためのダウンロードボタン93が設けられている。
ここで、クライアントPC4を操作する利用者は、画面上に表示されたウェブページ81中の各入力欄83〜91に、クライアントPC4に関する情報であるクライアント情報(PC名(=任意の文字列を入力)、USER名(=任意の文字列を入力)、OS名(=一覧表示される中から1つを選択)、および部署名(=一覧表示される中から1つを選択))と、プリンタ12〜14に関する情報であるプリンタ情報(プリンタ名(=任意の文字列を入力))を入力する操作を行うことができ、また、ダウンロードボタン93をクリックする操作を行うことができる。各入力欄83〜91に情報が入力されるか、ダウンロードボタン93がクリックされると、それらの情報がクライアントPC4からサーバPC1と伝送されて、これらの情報がサーバPC1に入力され、S101の処理を終えることになる。
S101の処理を終えたら、サーバPC1は、クライアントPC4側での入力操作により、PC名の設定がなされた(PC名入力欄83にPC名が入力された)か否かを判断する(S103)。ここで、PC名の設定がなされていた場合は(S103:YES)、PC名を第1,第2設定ファイルに書き込む(S105)。なお、第1設定ファイル47は、後からクライアントPC4へ送信されることになるファイルであり、第2設定ファイル49は、後から管理PC2へ送信されることになるファイルである。そして、S105の処理を終えたら、S101の処理へと戻る。
一方、S103の処理においてPC名の設定がなされていないと判断された場合(S103:NO)、サーバPC1は、クライアントPC4側での入力操作により、部署名の設定がなされた(部署名入力欄91に部署名が入力された)か否かを判断する(S107)。ここで、部署名の設定がなされていた場合は(S107:YES)、上述のPC名の場合と同様に、部署名を第1,第2設定ファイルに書き込んで(S109)、S101の処理へと戻る。
また、S107の処理において部署名の設定がなされていないと判断された場合(S107:NO)、サーバPC1は、クライアントPC4側での入力操作により、使用者の設定がなされた(USER名入力欄85に使用者名が入力された)か否かを判断する(S111)。ここで、使用者の設定がなされていた場合は(S111:YES)、上述のPC名、部署名の場合と同様に、使用者を第1,第2設定ファイルに書き込んで(S113)、S101の処理へと戻る。
また、S111の処理において、使用者の設定がなされていないと判断された場合(S111:NO)、サーバPC1は、クライアントPC4側での入力操作により、プリンタ名の設定がなされた(プリンタ名入力欄87にプリンタ名が入力された)か否かを判断する(S115)。ここで、プリンタ名の設定がなされていた場合は(S115:YES)、有効なプリンタか否かを判断する(S117)。有効なプリンタと判定されるのは、プリンタ名から判断されるプリンタの機種が、本システムで取り扱い可能な特定機種であった場合であり、それ以外の機種であった場合は有効なプリンタではないと判定される。そして、有効なプリンタでないと判定された場合は(S117:NO)、S101の処理へと戻る。
一方、S117の処理において、有効なプリンタであると判定された場合は(S117:YES)、上述のPC名、部署名、使用者の場合と同様に、プリンタ名を第1,第2設定ファイルに書き込んで(S119)、そのプリンタのサポートするPJLコマンドをデータベース(DB)から読み込む(S121)。PJLコマンドを格納したDBであるPJLコマンドファイル43には、本システムで取り扱い可能なプリンタの機種毎に、各機種に対応するPJLコマンド群が格納されており、S121の処理では、上記S117の処理において有効と判定されたプリンタ名に基づいて、そのプリンタに対応するPJLコマンドが読み込まれることになる。そして、サーバPC1は、読み込んだPJLコマンドを第1設定ファイル47に書き込んで(S123)、S101の処理へと戻る。なお、このPJLコマンドは、後から詳述する別処理の中で、被管理PCであるクライアントPC4がプリンタ12〜14からデバイス状態情報を取得する際に利用することになる。
また、S115の処理において、プリンタ名の設定がなされていないと判断された場合(S115:NO)、サーバPC1は、クライアントPC4側での入力操作により、ダウンロードボタンがクリックされたか否かを判断し(S125)、さらに、必要な項目について設定が完了しているか否かを判断する(S127)。ここで、ダウンロードボタン93がクリックされていない場合(S125:NO)、あるいは、設定が完了していない場合は(S127:NO)、S101の処理へと戻る。
一方、S125の処理において、ダウンロードボタンがクリックされたと判定され(S125:YES)、且つ、S127の処理において、設定が完了していると判定された場合(S127:YES)、部署名に対応する管理PCを選択して(S129)、選択した管理PCの情報を第1,第2設定ファイルに書き込む(S131)。本実施形態において、ネットワーク上には複数の管理PC(図1では、2台の管理PC2,5)が存在するが、これら複数の管理PCは、それぞれ別の部署に属するものであり、管理PCは部署毎に1台ずつ設けられている。そのため、利用者が入力した部署名に基づいて、ネットワーク上にある1台の管理PCを特定することができる。以下の説明は、入力された部署名に基づいて、管理PC2が選択されたものとして説明を続ける。なお、管理PCの情報としては、管理PC2に割り当てられたIPアドレス、管理PC2へデバイス状態情報を送信すべき時刻(詳しくは後述)、管理PC2とパイプによる通信を行う際に必要となる識別名(パイプ名)などが記録される。
S131の処理を終えたら、サーバPC1は、被管理PC用インストーラ45と上記第1設定ファイル47とをパックしてクライアントであるクライアントPC4へ送信する(S133)。被管理PC用インストーラ45は、プリンタ管理システムの被管理PC用プログラムと、この被管理PC用プログラム本体を被管理PCとなるPCにインストールするためのインストールプログラムとを含むファイル群によって構成される。サーバPC1が備えるハードディスク装置内の記憶領域には、被管理PCとなるPCのOSの種別に応じて数種類の被管理PC用インストーラ45があらかじめ用意されている。S133の処理では、クライアントPC4側での入力操作によりOS名入力欄89に入力されたOS名に基づいて、そのOS用の被管理PC用インストーラ45が選択される。そして、選択された被管理PC用インストーラ45に上記第1設定ファイル47も加え、これらのファイル群を自己解凍式の圧縮ファイルとしてパックしてから、パックされたファイルがクライアントPC4へと送信されることになる。なお、第1設定ファイル47には、クライアントPC4において利用者が入力した情報の他、この情報に基づいてサーバPC1側で選択した管理PC2に関する情報が記録されているので、この第1設定ファイル47を受け取ることになるクライアントPC4側では、管理PC2がクライアントPC4に対応する管理PCであることを認識できることになる。
そして、S133の処理を終えたら、S129の処理で選択した管理PC(ここでは、管理PC2)に第2設定ファイル49を送信して(S135)、S101の処理へと戻る。なお、第2設定ファイル49は、サーバPC1が備える被管理PC情報送信部35からサーバPC1が備える被管理PC情報受信部53へと伝送される。管理PC2では、被管理PC情報受信部53において受信した第2設定ファイル49に基づいて、被管理PC管理部51が、管理用DB55に被管理PCに関する情報を仮登録する。すなわち、管理PC2には、サーバPC1からソフトウェアをダウンロードしたクライアントであるクライアントPC4の情報が仮登録され、これにより、管理PC2がクライアントPC4からのアクセスを受けた際に、仮登録された情報を参照できるようになるのである。
以上説明したサーバ処理により、クライアントPC4からファイルのダウンロード要求があると、クライアントPC4側で入力されたクライアントPC4に関する情報およびプリンタ12〜14に関する情報に基づいて、第1設定ファイル47には、管理PC2、クライアントPC4、およびプリンタ12〜14に関する情報が書き込まれ、さらに最適な被管理PC用インストーラ45の選択が行われ、これらがパックされてクライアントPC4へと送信されることになる。
次に、クライアントPC4で実行されるインストール処理について、図5のフローチャートに基づいて説明する。このインストール処理は、クライアントPC4においてインストーラ63が実行する処理である。より詳しくは、先に説明したサーバ処理中のS133の処理により、サーバPC1からクライアントPC4へ自己解凍式の圧縮ファイルが送信され、そのファイルをクライアントPC4が受信(ダウンロード)した際に、ダウンロードに引き続いてインストーラ63が起動されることにより、クライアントPC4において実行されることになる処理である。
インストール処理を開始すると、図5に示すように、クライアントPC4は、パックされたインストーラ、設定ファイルを展開する(S201)。インストーラ(インストーラ63を作動させるためのプログラムファイル)および設定ファイルは、OS側で規定している適当な記憶領域(フォルダ)か利用者が指定した記憶領域(フォルダ)に展開され、これにより、クライアントPC4では、インストーラ63を起動可能な状態となり、また、設定ファイル71に対するアクセスが可能な状態となる。
続いて、クライアントPC4は、インストーラ63を起動することにより、被管理PC側プリンタ管理プログラム(プリンタ管理部65を作動させるためのプログラムファイル)のインストールを実行する(S203)。起動されたインストーラ63は、被管理PC側プリンタ管理プログラムと先に展開した設定ファイル71とを、OS側で規定している適当な記憶領域(フォルダ)か利用者が指定した記憶領域(フォルダ)にコピーし、これにより、クライアントPC4では、プリンタ管理部65を起動可能な状態となる。
そして、インストーラ63は、パイプクライアントを立ち上げて(S205)、管理PC2との間でパイプによる通信を実行する(S207)。
ここで、管理PCである管理PC2では、管理PC2において並列に実行される複数の処理の一つとして、図6のフローチャートに示すような新規管理PC登録処理が常時実行されている。すなわち、管理PC2では、管理PC2の稼働開始に伴ってパイプサーバーを立ち上げ(S301)、その後は、パイプによる通信が行われるまで待機し(S303)、通信が行われた場合は、その通信内容に基づいて管理用DB55に設定を記録し(S305)、再びS303の処理へと戻ることにより、S303〜S305の処理を繰り返している。
このような新規管理PC登録処理が管理PC2において常時実行されているため、クライアントPC4側において、上述のS205〜S207の処理を実行すると、クライアントPC4と管理PC2との間でパイプによる通信が実行されることになるのである。このパイプによる通信により、クライアントPC4に割り当てられたIPアドレスや、システムが内部的に利用するために管理PC2がクライアントPC4に割り当てた管理番号など、クライアントPC4の利用者が知らなくても構わないような情報が、クライアントPC4と管理PC2との間でやりとりされる(双方向通信が行われる)。
また、セキュリティ確保のため、管理PC2が適正なクライアントからのみアクセスを受け付けるようにしたい場合は、このパイプ通信により、管理PC2およびクライアントPC4のうち、いずれか一方から他方へパスワードなどの認証情報を伝送しておき、以降の処理で、管理PC2とクライアントPC4とが通信を行う際には、パイプ通信で伝送した認証情報を用いて認証を行い、認証により正当性が確認された場合にのみ、管理PC2とクライアントPC4との通信が成立するように構成してあってもよい。あるいは、パイプ通信により、管理PC2およびクライアントPC4のうち、いずれか一方から他方へ暗号化に用いる鍵情報を伝送しておき、以降の処理で、管理PC2とクライアントPC4とが通信を行う際には、パイプ通信で伝送した鍵情報を用いて伝送対象となる情報を暗号化し、対になる鍵情報で適正に復号できた場合にのみ、管理PC2とクライアントPC4との通信により伝送される情報が適正に処理されるように構成してあってもよい。
なお、このパイプによる通信は、第1設定ファイル47に記録された識別名(パイプ名)を使って通信が行われるため、クライアントPC4が誤って他の管理PC(例えばPC5)との通信を行ってしまうような事態になることはない。また、正常な処理が行われている場合、管理PC2側には、先に説明したサーバ処理中のS135の処理により、第2設定ファイル49が送信されて、クライアントPC4に関する情報が仮登録されているので、必要があれば、管理PC2側でクライアントPC4に関する情報が仮登録済みであるか否かを調査し、仮登録済みであった場合のみ、管理PC2がパイプによる通信を許可するといった認証手順を加えてもよい。
このようなパイプ通信により、クライアントPC4と管理PC2との間で情報交換が行われると、クライアントPC4側には、被管理PCとして機能するために必要な情報が揃い、管理PC2側では、仮登録されていたクライアントPC4が被管理PCとして本登録されることになるので、続いて、クライアントPC4は、被管理PC側プリンタ管理プログラムを起動して(S209)、インストール処理を終える。その結果、クライアントPC4では、プリンタ管理部65が作動を開始し、クライアントPC4は、被管理PCとして機能する状態に移行することになる(以下、被管理PCとして機能する状態に移行したクライアントPC4のことを被管理PC4とも称す)。
次に、被管理PC4で実行される被管理PC側プリンタ管理処理と管理PC2で実行される管理PC側プリンタ管理処理について、図7,8のフローチャートに基づいて説明する。
図7に示した被管理PC側プリンタ管理処理は、先に説明したインストール処理中のS209の処理により、クライアントPC4においてプリンタ管理部65が作動を開始した際に実行される処理であり、これにより、クライアントPC4は被管理PCとして機能する状態に移行することになり、以降、この被管理PC側プリンタ管理処理は、被管理PC4において並列に実行される複数の処理の一つとして、常時実行されることになる。
一方、図8に示した管理PC側プリンタ管理処理は、管理PC2において並列に実行される複数の処理の一つとして、常時実行されている処理である。
これら被管理PC側プリンタ管理処理および管理PC側プリンタ管理処理は、一部の処理が並行に進められることになるので、以下の説明では、時系列に従った順序で両処理の手順を説明する。
まず、被管理PC4において、被管理PC側プリンタ管理処理を開始すると、図7に示すように、被管理PC4は、設定ファイル71から取得した設定時刻まで待機する(S401)。設定ファイル71は、サーバPC1から伝送されてきた第1設定ファイル47と同内容の情報を含むもので、S401の処理で待機することになる設定時刻は、管理PCに関する情報の一つとして、サーバPC1において第1設定ファイル47に書き込まれた時刻である。この時刻が、プリンタ12〜14からデバイス状態情報を取得すべき時刻(以下、デバイス状態情報取得時刻と称す)となる。
そして、デバイス状態情報取得時刻が到来すると、被管理PC4は、被管理PC4にローカル接続されたプリンタ12〜14を対象にして、設定ファイルから取得したPJLコマンドを送信し(S403)、各プリンタ12〜14からデバイス状態情報を受信する(S405)。
より具体的には、被管理PC4のプリンタ管理部65は、S403の処理により、スプーラ67経由でPJLコマンドをプリンタ12〜14へと出力し、その後、S405の処理では、各プリンタ12〜14から返されるデバイス状態情報を受信するまで被管理PC4側で各プリンタ12〜14に対するリードバックを繰り返す処理が行われる。プリンタ12〜14は、被管理PC4から伝送されてくるPJLコマンドを受け取ると、PJL処理部77においてPJLコマンドを解析して、被管理PC4から要求されたデバイス状態情報を特定し、そのデバイス状態情報をデバイス状態情報記憶部79から読み出して被管理PC4側へ出力する。その結果、被管理PCは、各プリンタ12〜14から返されるデバイス状態情報を受信することになる。
S403の処理で各プリンタ12〜14に与えられるPJLコマンドは、先に説明したサーバ処理中のS121〜S123の処理により、第1設定ファイル47に書き込まれたものであり、サーバPC1が備えるPJLコマンドファイル43から、プリンタ名に基づいてプリンタ12〜14それぞれの機種に対応したPJLコマンドが選ばれている。そのため、S403の処理では、プリンタ12〜14それぞれのために用意されたPJLコマンドを単に設定ファイル71から読み込んで各プリンタ12〜14に与えるだけで、最適なPJLコマンドをプリンタ12〜14それぞれに与えることができる。
こうしてプリンタ12〜14からデバイス状態情報を受信したら、被管理PC4は、受信したデバイス状態情報をデバイス状態情報保存ファイル73に保存する(S407)。
次に、被管理PC4は、設定ファイル71から取得した設定時刻まで待機する(S409)。S409の処理で待機することになる設定時刻も、管理PCに関する情報の一つとして、サーバPC1において第1設定ファイル47に書き込まれた時刻であり、この時刻が、管理PC2へデバイス状態情報を送信すべき時刻(以下、デバイス状態情報送信時刻と称す)となる。なお、このデバイス状態情報送信時刻としては、上述のデバイス状態情報取得時刻よりも僅かに後の時刻(例えば5分後)が、サーバPC1によって設定される。これは、なるべく最新のデバイス状態情報を管理PC2へ伝達するための措置である。すなわち、被管理PC4がプリンタ12〜14からデバイス状態情報を取得した直後に、そのデバイス状態情報を管理PC2へと伝送すれば、管理PC2に最新のデバイス状態情報を伝達することができるが、プリンタ12〜14からデバイス状態情報を取得するには相応の時間がかかるので、この時間を考慮してデバイス状態情報取得時刻とデバイス状態情報送信時刻との間に時差が設定されているのである。
そして、デバイス状態情報送信時刻が到来すると、被管理PC4は、管理PC2への接続を要求し(S411)、認証されるまで待機する(S413)。
一方、管理PC2においては、図8に示した管理PC側プリンタ管理処理が常時実行されており、図8に示すように、管理PC2は、被管理PCからの接続まで待機している(S501)。そのため、被管理PC4側において上記S411の処理が実行された際には、被管理PC4から送信されてくる接続要求を管理PC2が受信することになる。
被管理PCからの接続要求があった場合、管理PC2は、送信されてきた接続要求中に含まれる被管理PCのネットワーク上のアドレス/PC名などを取得する(S503)。被管理PCのアドレス/PC名は、いずれか一方だけが伝送されても両方が伝送されてもよい。アドレスのみが伝送される場合、ネットワーク上のネームサーバ(図示略)に問い合わせることにより、アドレスに対応するホスト名(PC名)を取得することができる。また、PC名のみが伝送される場合でも、ネームサーバに問い合わせることにより、ホスト名(PC名)に対応するアドレスを取得することができる。アドレス/PC名の両方が伝送される場合は、両方を管理PC2が直接取得できる他、ネームサーバに問い合わせることにより、アドレスに対応するホスト名(PC名)を取得するか、ホスト名(PC名)に対応するアドレスを取得し、直接取得した情報とネームサーバから取得した情報との整合性を検証することもできる。
こうして被管理PCのアドレス/PC名などを取得したら、管理PC2は認証を行う(S507)。より具体的には、S503の処理で取得した各種情報(被管理PCのアドレス/PC名など)と、管理PC2の管理用DBに登録されている各種情報とを比較して、両者の関係から被管理PCとしての正当性が確認できれば認証OK、正当性が確認できなければ認証NGと判断し、その判断結果を被管理PC側に通知する。正当性を確認する方法は任意であるが、例えば、いくつかの情報について一致するか否かを検証して、全部が一致すれば認証OKとする方法などを採用することができる。あるいは、先に説明したパイプ通信においてパスワードなどの認証情報を伝送してある場合、その認証情報と同じ認証情報を被管理PC4が送信してくれば認証OKとする方法を採用してもよい。あるいは、先に説明したパイプ通信において暗号化用または復号用の鍵情報を伝送してある場合、接続要求中に特定の鍵情報を使って暗号化された認証情報を含ませておき、その認証情報を特定の鍵情報を使って正常に復号できた場合は認証OKとする方法でもよい。このような処理をすることで、管理PC2が不正なデバイス情報を記憶、管理する状態になってしまうことを未然に防ぐことができる。
さて、管理PC2側において上記S507の処理が実行された際、管理PC2から送信されてくる認証結果を管理PC2が受信し、管理PC2から認証されたら、被管理PC4はS413の処理を終えることになり、続いて、被管理PC4は、デバイス状態情報保存ファイル73から読み出したデバイス状態情報を管理PC2へ送信し(S415)、一方、管理PC2は、被管理PC4から送信されてくるデバイス状態情報を受信する(S509)。なお、先に説明したパイプ通信において暗号化用または復号用の鍵情報を伝送してある場合、特定の鍵情報を使ってデバイス状態情報を暗号化し、暗号化されたデバイス状態情報を被管理PC4から管理PC2へ伝送するようにしてもよい。このようにすれば、管理PC2が不正なデバイス状態情報を受信した場合に、適正に復号できないことをもって不正なデバイス状態情報であると判断することができ、不正なデバイス状態情報については破棄する等の対処が可能となる。このような処理をすることで、管理PC2が不正なデバイス情報を記憶、管理する状態になってしまうことを未然に防ぐことができる。
そして、被管理PC4は、管理PC2との接続をクローズして(S417)、S401の処理へと戻る。以降は、S401〜S417の処理が繰り返され、デバイス状態情報取得時刻が到来したらプリンタ12〜14からデバイス状態情報を取得し、デバイス状態情報送信時刻が到来したらデバイス状態情報を管理PC2へ送信することが繰り返されることになる。
一方、管理PC2は、被管理PC4との接続をクローズして(S511)、設定ファイルのPC名などを付与して一覧表形式にし(S513)、表示/LOGにとるなどの処理を行う(S515)。S513の処理における一覧表の具体的形式は任意であるが、例えば、図2中の管理用DB55内に併記したように、管理PC2が管理対象とするk台分(kはk≧1なる整数)の被管理PCの被管理PC情報#1〜#kが含まれていて、各被管理PC情報内には、その被管理PCに接続された1以上のプリンタのプリンタ情報が含まれ(例えば、被管理PC情報#1内にその被管理PCに接続されたm台分のプリンタのプリンタ情報#1〜#mが含まれ)、さらに、各プリンタ情報内には、そのプリンタから取得した1以上のデバイス状態情報が含まれる(例えば、プリンタ情報#1内にそのプリンタから取得したn個のデバイス状態情報#1〜#nが含まれる)といった形式の一覧表を考えることができる。このような一覧表形式のデータが、S515の処理により、管理PC2の備える表示装置に表示出力されたり、管理PC2の備える管理用DB55にLOGとして記録されたりすることになる。なお、管理PC2にプリンタが接続されていれば、そのプリンタに対して一覧表を印刷出力しても構わない。
そして、管理PC2は、管理者処理による終了か否か(例えば、管理者によって管理PC側プリンタ管理処理の終了を指示する操作がなされたか否か)を判断し(S517)、終了であれば(S517:YES)、本処理を終了し、終了でなければ(S517:NO)、S501の処理へと戻る。以降は、管理者処理による終了と判断されない限り、S501〜S517の処理が繰り返され、被管理PCからの要求を受けるたびに、被管理PCの認証、デバイス状態情報の受信、各種情報(=被管理PC情報、プリンタ情報、およびデバイス状態情報)の表示/保存が繰り返されることになる。
以上説明した通り、上記ネットワークシステムによれば、クライアントPC4がサーバPC1から受信した被管理PC用ソフトウェアによる処理(インストール処理;図5参照、もしくは、被管理PC側プリンタ管理処理;図7参照)を実行する際には、クライアントPC4はサーバPC1から受信した設定ファイル71中に含まれる管理PC情報(=本発明でいう管理コンピュータ情報に相当)に基づいて管理PC2(=本発明でいう管理コンピュータに相当)を適切に認識するので、クライアントPC4側の利用者が手作業で管理PC2に関する情報を設定しなくても済む。したがって、クライアントPC4がサーバPC1から受信した被管理PC用ソフトウェアによる処理を実行するに当たって、クライアントPC4側における面倒な設定作業を省くことができ、また、利用者が誤った設定を行ったことで管理PC2を認識できなかったり、不適切なPCを管理PCとして認識してしまったりするといったトラブルを、未然に防止することができる。
特に、サーバPC1は、クライアントPC4と同じ部署(=本発明でいうグループに相当)に属する管理PC2を、クライアントPC4に対応する管理PCであると特定するので、ネットワーク上には管理PC2と等価な機能を持つ管理PC5が存在するにもかかわらず、部署毎に最適な管理PCを選定することができる。
また、クライアントPC4がサーバPC1から受信した被管理PC用ソフトウェアによる処理(インストール処理;図5参照、もしくは、被管理PC側プリンタ管理処理;図7参照)を実行する際、クライアントPC4が管理PC2を認識した後に、クライアントPC4が、例えば、S207の処理により、クライアント情報を管理PC2へと送信し、管理PC2は、クライアントPC4から受信したクライアント情報に基づいてクライアントPC4を認識するので、クライアントPC4と管理PC2が互いを認識し合って、両者間での通信を伴う処理を実行することができる。
さらに、クライアントPC4側では、クライアントPC4に接続されたプリンタ12〜14から取得したデバイス状態情報がデバイス状態情報保存ファイル73(=本発明でいう記憶手段)に記憶され、デバイス状態情報に変化があったときには、プリンタ管理部65(=本発明でいう更新手段)がデバイス状態情報保存ファイル73に記憶されているデバイス状態情報を更新する。そして、管理PC2側では、クライアントPC4との通信を伴う処理として、クライアントPC4からデバイス状態情報を取得する処理を実行する。したがって、クライアントPC4側で取得されたデバイス状態情報が、管理PC2にも取得されるので、管理PC2側において、クライアントPC4に接続されたプリンタ12〜14から取得したデバイス状態情報の更新状況を見たり、そのデバイス状態情報を履歴として保存したりすることができる。
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態において、サーバPC1は、利用者がウェブページ81内の入力欄に入力した内容をクライアント情報として取得していたが、クライアントPC4がサーバPC1にアクセスする際には、通常、クライアントPC4のアドレス(IPアドレス)がサーバPC1側へ伝達されるので、このアドレスをクライアント情報としてサーバPC1が取得するように構成されていてもよい。このような構成にすれば、クライアントPC4がサーバPC1にアクセスするだけで、サーバPC1側で必要なクライアント情報がサーバPC1側において取得されるので、クライアントPC4側の利用者がクライアント情報を手作業で入力するような手間も省くことができる。
また、上記実施形態では、クライアント情報の一つとして部署名を入力し、この部署名によって管理PCと被管理PCとのグループ化を行っていたが、他のパラメータに基づいてグループ化を行ってもよい。具体例を挙げれば、被管理PCに割り当てられたアドレスの上位何ビットかに基づいてサブネットを特定し、サブネット毎に管理PCと被管理PCとのグループ化を行ってもよい。この場合、部署毎にサブネットが分けてあれば、上記実施形態と全く同様のグループ化を被管理PCのアドレスのみに基づいて実施することができ、この場合、部署名を入力することなく、部署毎に被管理PCをグループ化することができる。なお、部署毎にグループ化する他にも、建物のフロアー毎にグループ化したり、あるいは複数の建物があれば建物毎にグループ化するなど、グループ化する単位は任意である。
また、上記実施形態では、サーバPC1と管理PC2とが、別のコンピュータによって構成されていたが、サーバPCが管理PC(=管理コンピュータ)としても機能するように構成されていてもよい。より具体的には、上記実施形態におけるサーバPC1および管理PC2に代えて、図9に示すような、PC99をネットワーク上に導入すれば、このPC99をサーバ兼管理PCとして利用することができる。PC99の内部構成は、上記実施形態におけるサーバPC1および管理PC2と同等な構成が多いので、同等な構成に対しては同じ符号を付すことにし、その説明を省略するが、要するに、PC1において作成される第2設定ファイル49を管理PC2へ伝送するための構成(被管理PC情報送信部35、被管理PC情報受信部53)が、PC99では不要となるため、その不要な構成が設けられていないものの、その他の構成はほぼサーバPC1と管理PC2と同等な構成を備えている。このようなPC99を設ければ、1台のPCがサーバとしても管理PCとしても機能するので、ネットワーク上のコンピュータを有効に運用することができる。
また、上記実施形態では、クライアントPC4に接続されたプリンタ12〜14からデバイス状態情報を取得する例を示したが、プリンタ以外のデバイスを対象にして同様なシステムを構成してもよい。プリンタ以外のデバイスの具体例としては、画像読取装置(例えば、イメージスキャナ、またはイメージスキャナ機能を備えた複合機など)や、各種ストレージデバイス(例えば、磁気ディスク装置、または光ディスク装置)などを挙げることができる。さらに言えば、クライアントPC4が管理対象としている管理対象情報としては、上記のようなデバイス状態情報の他にも、例えば、クライアントPC4自体に関する各種情報(メンテナンス情報や故障検出情報)などを挙げることができ、このような情報が管理PC2において統括管理されるようになっていてもよい。
加えて、上記実施形態では、利用者がウェブページ81内の入力欄にプリンタ名を入力するとともに、そのプリンタ名からサーバPC1がプリンタの機種を特定し、その機種に応じたPJLコマンドを用意して第1設定ファイル47に書き込み、クライアントPC4へと伝送するように構成してあったが、クライアントPC4側においてPJLコマンドを用意することもできるので、その場合は、ウェブページ81内にはプリンタ名入力欄87が設けられていなくてもよく、また、サーバPC1がPJLコマンドを用意して第1設定ファイル47に書き込み、クライアントPC4へと伝送するといった処理も不要である。