(57)【特許請求の範囲】
【請求項１】
ネットワーク上に接続されたデバイスに関する情報をクライアント装置とサーバ装置とを用いて管理するネットワークデバイス管理システムであって、
前記サーバ装置は、
前記クライアント装置から要求された前記デバイスのデバイス構成情報を前記デバイスから取得し、取得した当該デバイス構成情報を前記クライアント装置に対して送信する送信手段と、
前記デバイスが、要求に応じてログ情報を送信するログ機能をサポートするか否か、及び、ジョブの処理に関する変化が発生した際に、当該発生したイベントを能動的に前記サーバ装置に通知するイベント通知機能をサポートするか否かを判定する判定手段と、
該判定手段が、前記デバイスが前記イベント通知機能をサポートすると判定した場合、前記デバイスからイベント通知を受信する度に、当該受信したイベント通知で示されるイベント情報を、前記クライアント装置に送信する第１の送信手段と、
前記判定手段が、前記ログ機能をサポートしていると判定した場合、前記デバイスが持つログ情報を、予め設定された期間毎に、取得する取得手段と、
取得したログ情報と従前のログ情報を比較し、変化部分からイベント情報を生成する生成手段と、
生成されたイベント情報を前記クライアント装置へ送信する第２の送信手段と、とを備え、
該クライアント装置は、
前記サーバ装置から送信された前記デバイス構成情報を受信する第１の受信手段と、
前記サーバ装置から送信された前記イベント情報を受信する第２の受信手段と、
前記第１の受信手段が受信した前記デバイス構成情報を初期値とし、前記第２の受信手段が受信したイベント情報を用いて更新された結果を、前記デバイス内のジョブに関する情報として表示する表示手段と
を備えることを特徴とするネットワークデバイス管理システム。
【請求項２】
ネットワーク上に接続されたデバイス内のジョブに関する情報をクライアント装置に通知する情報処理装置であって、
前記クライアント装置から要求された前記デバイスのデバイス構成情報を前記デバイスから取得し、取得した当該デバイス構成情報を前記クライアント装置に対して送信する送信手段と、
前記デバイスが、要求に応じてログ情報を送信するログ機能をサポートするか否か、及び、ジョブの処理に関する変化が発生した際に、当該発生したイベントを能動的に前記サーバ装置に通知するイベント通知機能をサポートするか否かを判定する判定手段と、
該判定手段が、前記デバイスが前記イベント通知機能をサポートすると判定した場合、前記デバイスからイベント通知を受信する度に、当該受信したイベント通知で示されるイベント情報を、前記クライアント装置に送信する第１の送信手段と、
前記判定手段が、前記ログ機能をサポートしていると判定した場合、前記デバイスが持つログ情報を、予め設定された期間毎に、取得する取得手段と、
取得したログ情報と従前のログ情報を比較し、変化部分からイベント情報を生成する生成手段と、
生成されたイベント情報を前記クライアント装置へ送信する第２の送信手段と
を備えることを特徴とする情報処理装置。
【請求項３】
更に、前記ネットワーク上のクライアント装置から、対象となるデバイス内のジョブに関するイベント情報の取得要求を受信する受信手段と、
受信したイベント情報の取得要求の要求元のクライアント端末を、イベント通知リストに登録する登録手段とを備え、
前記第１、第２の送信手段は、前記イベント通知リストに登録されたクライアント端末を送信先とし、前記デバイスからのイベント通知又はログ情報に基づくイベント情報を送信することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
更に、前記判定手段で前記デバイスがログ機能をサポートしていると判定した場合、前記登録手段による登録に先立ち、前記デバイスより比較対象となるログ情報を取得する手段と
を備えることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
ネットワーク上に接続されたデバイス内のジョブに関する情報をクライアント装置に通知する情報処理装置の制御方法であって、
前記クライアント装置から要求された前記デバイスのデバイス構成情報を前記デバイスから取得し、取得した当該デバイス構成情報を前記クライアント装置に対して送信する送信工程と、
前記デバイスが、要求に応じてログ情報を送信するログ機能をサポートするか否か、及び、ジョブの処理に関する変化が発生した際に、当該発生したイベントを能動的に前記サーバ装置に通知するイベント通知機能をサポートするか否かを判定する判定工程と、
該判定工程で、前記デバイスが前記イベント通知機能をサポートすると判定された場合、前記デバイスからイベント通知を受信する度に、当該受信したイベント通知で示されるイベント情報を、前記クライアント装置に送信する第１の送信工程と、
前記判定工程で、前記ログ機能をサポートしていると判定された場合、前記デバイスが持つログ情報を、予め設定された期間毎に、取得する取得工程と、
取得したログ情報と従前のログ情報を比較し、変化部分からイベント情報を生成する生成工程と、
生成されたイベント情報を前記クライアント装置へ送信する第２の送信工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項６】
更に、前記ネットワーク上のクライアント装置から、対象となるデバイス内のジョブに関するイベント情報の取得要求を受信する受信工程と、
受信したイベント情報の取得要求の要求元のクライアント端末を、イベント通知リストに登録する登録工程とを備え、
前記第１、第２の送信工程は、前記イベント通知リストに登録されたクライアント端末を送信先とし、前記デバイスからのイベント通知又はログ情報に基づくイベント情報を送信することを特徴とする請求項５に記載の情報処理装置の制御方法。
【請求項７】
更に、前記判定工程で前記デバイスがログ機能をサポートしていると判定した場合、前記登録工程による登録に先立ち、前記デバイスより比較対象となるログ情報を取得する工程と
を備えることを特徴とする請求項５又は６に記載の情報処理装置の制御方法。
【請求項８】
コンピュータが読込み実行することで、請求項５乃至７のいずれか１項の方法の各工程を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータネットワークに関し、特に、ネットワーク上に接続された各種デバイスを管理するネットワーク管理ソフトウェアを具備するネットワークデバイス管理システム及びその制御方法に関する。
【０００２】
【従来の技術】
ネットワーク上に接続された各種デバイス（以下、「ネットワークデバイス」と称す。）を管理する方法として、ＳＮＭＰ（Simple Network Management Protocol）／ＭＩＢ（Management Information Base）を使用する方法が知られている（ＳＮＭＰ／ＭＩＢの詳細に関しては、「ＴＣＰ／ＩＰネットワーク管理入門実用的な管理をめざして」、Ｍ．Ｔ．ローズ  著／西田竹志  訳、（株）トッパン発行、１９９２年８月２０日初版を参照）。
【０００３】
ＳＮＭＰネットワーク管理技術によれば、ネットワーク管理システムには、少なくとも１つのネットワーク管理ステーション（ＮＭＳ）と、各々がエージェントを含むいくつかの管理対象ノードと、ネットワーク管理ステーションやエージェントが管理情報を交換するために使用するネットワーク管理プロトコルとが含まれる。そして、ユーザは、ネットワーク管理ステーション上でネットワーク管理ソフトウェアを用いて、管理対象ノード上のエージェントソフトウェアと通信することにより、ネットワークを介して管理対象に関するデータを取得し、また、そのデータを変更することができる。
【０００４】
一般に、プリンタ等の管理対象から能動的に状態変化情報を通知する場合、ＳＮＭＰプロトコルではＴＲＡＰ−ＰＤＵが使用される（ＴＲＡＰ−ＰＤＵの詳細な構造に関しては、Ｍａｒｓｈａｌｌ  Ｔ．Ｒｏｓｅ、「Ｔｈｅ  ＳｉｍｐｌｅＢｏｏｋ」、Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ、１９９１を参照）。
【０００５】
これによれば、例えば、プリンタから紙詰まり等のエラーに関する状態変化情報（エラー情報）が通知される場合、ＴＲＡＰ−ＰＤＵが使用される。すなわち、プリンタ内部でエラーが発生した場合、まず、プリンタはネットワーク管理ステーションに対してＴＲＡＰ−ＰＤＵによりエラー情報を送信する。エラー情報を受信したネットワーク管理ステーションでは、例えばエラーの発生のようなイベントを文字或いは図等を用いてディスプレイ上に表示することによって、受信したエラー情報をユーザに通知することができる。
【０００６】
このようなイベントの通知によってプリンタ等の状態を監視する際に使用されるプロトコルは、上述したＳＮＭＰプロトコルに限られるわけではない。例えば、ＳＮＭＰプロトコルでは、ＴＲＡＰ−ＰＤＵを受信するために、ネットワーク管理ソフトウェアで特定のポートを介してパケットを受信できるようにしている。また、プリンタにイベント受信用のポートを登録することによって、イベント受信の際に任意のポートを使用することができるようなプロトコルもある。
【０００７】
一方、ネットワーク上の端末間で、大容量のデータをアップロード又はダウンロードする方法として、ＦＴＰ（File Transfer Protocol）プロトコルを使用する方法が知られている。ＦＴＰは、ファイルの転送を行う標準としてＲＦＣ９５９で定義されている。すなわち、ＲＦＣ９５９では、ＦＴＰの通信モデル、データのタイプ、ファイル構造、転送モード及びＦＴＰコマンド等が定義されている。ＦＴＰは、ＦＴＰクライアントとＦＴＰサーバとから構成され、制御コマンドを転送するコントロールセッションと、データを転送するデータセッションとの２つのセッションをクライアント／サーバ間で張ることによりファイルの転送を行うものである。
【０００８】
例えば、ＦＴＰは、ＦＴＰクライアントであるネットワークデバイス管理システムと、ＦＴＰサーバであるネットワークデバイスとの間で大容量データを送受信する場合にも使用される。この場合、ネットワークデバイス管理システムは、管理対象のネットワークデバイスに対してＦＴＰプロトコルを使用し、大容量データをアップデート又はダウンロードして、ネットワークデバイス内のリソースを取得し、又は変更することができる。尚、リソースの種類としては、フォントデータ、キャリブレーションデータ及びログ情報等がある。
【０００９】
上述したようなネットワークデバイス管理を行うためのソフトウェア（ネットワーク管理ソフトウェア）を分散環境で使用する場合、ネットワークデバイス管理機能を持つサーバアプリケーションと、各端末で起動されるクライアントアプリケーションとを用いたクライアント／サーバシステムに基づくシステム構成にすることが一般的である。
【００１０】
例えば、異なる端末間で、クライアントアプリケーションとサーバアプリケーションを用いてプロセス間通信を行う標準として、ＲＦＣ１０５７  ＲＰＣ（Remote Procedure Call）が定義されている。このＲＰＣは、ネットワークサービスを提供する関数群をサーバ側で用意し、サーバが提供する関数をローカルマシン内の関数と同様にネットワーク上の別端末のクライアントプロセスによって呼び出せるようにしたものである。
【００１１】
ＲＰＣにおけるプロセス間通信の流れは次のようになる。まず、クライアントは、サーバに対するサービス要求として、サーバに用意されているＲＰＣ関数を呼び出す。この時点で、関数の呼び出し情報を格納したデータパケットがクライアントからサーバに送られ、クライアントのプログラムの実行が中断される。そして、サーバがデータパケットを受け取ると、呼び出された関数をディスパッチし、関数の引数を取り出した後、その引数に基づいてサービスを実行し、その結果をクライアントに返す。クライアントは、関数の結果を受け取った後、プログラムの実行を再開する。
【００１２】
尚、クライアント／サーバ間でのデータの送受信には、ネットワーク上を流れる標準的なデータ表現方法であるＸＤＲ（external Data Representation）と呼ばれる外部データ表現が用いられる。ここで、内部データ表現からＸＤＲフォーマットへの変換は「シリアライズ」と呼ばれ、ＸＤＲフォーマットから内部データ表現への変換は「デシリアライズ」と呼ばれる。尚、作成される送受信データは、関数の引数のデータサイズによって増減する。
【００１３】
また、クライアント・サーバ型のネットワークデバイス管理システムにおいて、ネットワークを介して接続されたプリンタの印刷ジョブの終了を検知する場合、前述したように、プリンタから能動的に印刷ジョブの変化情報（イベント情報）を通知する方法と、ＦＴＰのようなファイル転送プロトコルを用いて印刷終了ジョブに関するログ情報を定期的に取得する方法とがある。これらのイベント情報やログ情報は、クライアント／サーバ間でプロセス間通信を用いて送受信される。
【００１４】
【発明が解決しようとする課題】
しかしながら、上述したような従来のネットワークデバイス管理システムでは、ネットワーク管理ソフトウェアによるクライアントアプリケーションが、管理するプリンタにおける印刷ジョブの終了等のネットワークデバイスのジョブの変化を検知する場合、管理するネットワークデバイスの種類に応じてイベント情報取得による検知やログ情報取得による検知等のジョブ変化検知方法を使い分けていたので、クライアントアプリケーションの動作が複雑になるという問題があった。
【００１５】
また、従来のネットワークデバイス管理システムでは、クライアントアプリケーションとサーバアプリケーション間のデータ通信において、大容量のログ情報が送受信されていたので、プロセス間通信のトラフィックが大きくなるという問題が発生していた。
【００１６】
本発明は、このような事情を考慮してなされたものであり、クライアントアプリケーションの動作を簡単にするとともに、プロセス間通信のトラフィックを小さくすることができるネットワークデバイス管理システム及びその制御方法を提供することを目的とする。
【００１７】
上記課題を解決するため、例えば本発明のネットワークデバイス管理システムは以下の構成を備える。
即ち、ネットワーク上に接続されたデバイスに関する情報をクライアント装置とサーバ装置とを用いて管理するネットワークデバイス管理システムであって、
前記サーバ装置は、
前記クライアント装置から要求された前記デバイスのデバイス構成情報を前記デバイスから取得し、取得した当該デバイス構成情報を前記クライアント装置に対して送信する送信手段と、
前記デバイスが、要求に応じてログ情報を送信するログ機能をサポートするか否か、及び、ジョブの処理に関する変化が発生した際に、当該発生したイベントを能動的に前記サーバ装置に通知するイベント通知機能をサポートするか否かを判定する判定手段と、
該判定手段が、前記デバイスが前記イベント通知機能をサポートすると判定した場合、前記デバイスからイベント通知を受信する度に、当該受信したイベント通知で示されるイベント情報を、前記クライアント装置に送信する第１の送信手段と、
前記判定手段が、前記ログ機能をサポートしていると判定した場合、前記デバイスが持つログ情報を、予め設定された期間毎に、取得する取得手段と、
取得したログ情報と従前のログ情報を比較し、変化部分からイベント情報を生成する生成手段と、
生成されたイベント情報を前記クライアント装置へ送信する第２の送信手段と、とを備え、
該クライアント装置は、
前記サーバ装置から送信された前記デバイス構成情報を受信する第１の受信手段と、
前記サーバ装置から送信された前記イベント情報を受信する第２の受信手段と、
前記第１の受信手段が受信した前記デバイス構成情報を初期値とし、前記第２の受信手段が受信したイベント情報を用いて更新された結果を、前記デバイス内のジョブに関する情報として表示する表示手段と
を備えることを特徴とする。
【００１８】
また、本発明の情報処理装置は、以下の構成を備える。
即ち、ネットワーク上に接続されたデバイス内のジョブに関する情報をクライアント装置に通知する情報処理装置であって、
前記クライアント装置から要求された前記デバイスのデバイス構成情報を前記デバイスから取得し、取得した当該デバイス構成情報を前記クライアント装置に対して送信する送信手段と、
前記デバイスが、要求に応じてログ情報を送信するログ機能をサポートするか否か、及び、ジョブの処理に関する変化が発生した際に、当該発生したイベントを能動的に前記サーバ装置に通知するイベント通知機能をサポートするか否かを判定する判定手段と、
該判定手段が、前記デバイスが前記イベント通知機能をサポートすると判定した場合、前記デバイスからイベント通知を受信する度に、当該受信したイベント通知で示されるイベント情報を、前記クライアント装置に送信する第１の送信手段と、
前記判定手段が、前記ログ機能をサポートしていると判定した場合、前記デバイスが持つログ情報を、予め設定された期間毎に、取得する取得手段と、
取得したログ情報と従前のログ情報を比較し、変化部分からイベント情報を生成する生成手段と、
生成されたイベント情報を前記クライアント装置へ送信する第２の送信手段と
を備えることを特徴とする。
【００２１】
さらにまた、本発明に係るネットワークデバイス管理システムは、前記取得手段が、前記デバイスがイベント情報をサポートする場合、前記デバイスからイベント情報を取得することを特徴とする。
【００２２】
さらにまた、本発明に係るネットワークデバイス管理システムは、前記サーバ装置が、前記デバイスに対して、ＳＮＭＰプロトコルを使用してデータ送受信することを特徴とする。
【００２３】
【発明の実施の形態】
以下、図面を参照して、本発明の一実施形態によるネットワークデバイス管理システム及びネットワークを介して接続される周辺装置等について説明する。
【００２４】
図１は、本発明の一実施形態によるネットワークデバイス管理システム及び管理対象のデバイスを含むネットワークを介したデバイス管理システムの概要を示す図である。
【００２５】
図１において、ローカルエリアネットワーク（以下、「ＬＡＮ」と称す。）１００には、ネットワークボード１０１を備え、開放型アーキテクチャを持つプリンタ（デバイス）１０２と、本発明に係るネットワークデバイス管理システムのクライアント側として機能するパーソナルコンピュータ（以下、「ＰＣ」と称す。）１０３と、プリンタ１０５に接続するＰＣ１０４と、ネットワークディスク１０７に接続するファイルサーバ１０６と、プリンタ１０９ａ、１０９ｂに接続するプリンタサーバ１０８と、本発明に係るネットワークデバイス管理システムのサーバ側として機能するＰＣ１２１と、モデム／トランスポンダ１３０とが接続している。
【００２６】
また、ＬＡＮ１２０には、ＰＣ１２２と、モデム／トランスポンダ１３１に接続するバックボーン１４０とが接続している。そして、モデム／トランスボンダ１３０とモデム／トランスボンダ１３１とは、互いに広域ネットワーク（ＷＡＮ）を介して接続されている。
【００２７】
さらに、ＬＡＮ１１０には、ＬＡＮ１２０にも接続するモデム／トランスボンダ１３１と、ＰＣ１１０と、ＰＣ１１２と、ネットワークディスク１１４に接続するファイルサーバ１１３と、プリンタ１１６、１１７に接続するＰＣ１１５が接続している。
【００２８】
図２は、本発明に係るネットワークデバイス管理システムを実現するＰＣ１０３又はＰＣ１２１等のＰＣの構成を示す図である。図２に示すように、ＰＣ２００は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、キーボード（ＫＢ）２０９に接続するキーボードコントローラ（ＫＢＣ）２０５と、ＣＲＴ２１０に接続するＣＲＴコントローラ（ＣＲＴＣ）２０６と、ハードディスク（ＨＤ）２１１及びフレキシブルディスクドライブ（ＦＤ）に接続するディスクコントローラ（ＤＫＣ）２０７と、ＬＡＮ１００に接続するネットワークインタフェースカード（ＮＩＣ）がシステムバス２０４を介して接続されている。
【００２９】
尚、図２に示すＰＣ２００は、図１におけるＰＣ１０３、ＰＣ１２１だけに限らず、ＰＣ１０４、１０８、１２２、１１１、１１２、１１５も同様の構成であってもよい。図２に示すＰＣ２００におけるＨＤ２１１には、後述するすべての説明での動作主体となる本発明に係るネットワーク管理ソフトウェアに関するプログラムが格納されている。
【００３０】
また、ＣＰＵ２０１は、後述するすべての説明において特に断りのない限り、ハードウェア上の制御の主体である。一方、ソフトウェア上の制御の主体は、ＨＤ２１１に格納されたプログラムで実行されるネットワーク管理ソフトウェアである。尚、本実施形態においては、オペレーティングシステム（以下、「ＯＳ」と称す。）として、マイクロソフト社製のウィンドウズ２０００を想定しているが、これに限られるものではなく、その他のＯＳであってもよい。
【００３１】
尚、本実施形態におけるネットワーク管理プログラムは、フレキシブルディスクやＣＤ−ＲＯＭなどの記憶媒体に格納された形式で供給されてもよい。尚、そのような場合には、図２に示すＦＤ２１２又は不図示のＣＤ−ＲＯＭドライブ等によって記憶媒体に格納されたプログラムが読み取られ、ＨＤ２１１にインストールされる。
【００３２】
尚、以下の説明においては、ネットワーク管理ソフトウェアのＧＵＩ（Graphical User Interface）部分のプロセス（クライアントアプリケーション）を「ＮｅｔＳｐｏｔ  ＧＵＩ」と称し、デバイスと通信する部分のプロセス（サーバアプリケーション）を「ＶＤＣ」と称す。
【００３３】
図３は、ＬＡＮ１００に接続されたＰＣ１０３、ＰＣ１２１及びプリンタ１０２を用いたデータ通信を説明するための図である。本実施形態では、図３に示すように、ＰＣ１０３上でＮｅｔＳｐｏｔ  ＧＵＩのプロセス、ＰＣ１２１上でＶＤＣのプロセスをそれぞれ起動してプリンタ（デバイス）１０２を管理する。すなわち、ＮｅｔＳｐｏｔ  ＧＵＩは、プロセス間通信の機能を使用してＶＤＣとデータ通信を行い、ＶＤＣは、ＳＮＭＰプロトコルを使用して所定の管理対象デバイスと通信を行う。尚、同一ＰＣ上において、ＮｅｔＳｐｏｔ  ＧＵＩ及びＶＤＣのプロセスを起動してプリンタ１０２を管理するようなシステムであってもよい。この場合も、プロセス間通信等の処理は同様である。
【００３４】
ここで、ネットワークデバイス管理システムが、管理対象デバイスからデバイス構成情報を取得する場合の処理について説明する。まず、ＮｅｔＳｐｏｔ  ＧＵＩによってプロキシを用いたプロセス間通信が行われ、ＶＤＣに対して取得したいデバイス構成情報を送信する。次いで、ＶＤＣは、スタブでＮｅｔＳｐｏｔＧＵＩから受信した情報を受け取り、ＳＮＭＰプロトコルを用いてデバイスからデバイスＭＩＢ情報を取得する。このようにして取得したデバイスＭＩＢ情報は、ＶＤＣのスタブからプロセス間通信を使用してプロキシに送信され、プロキシからＮｅｔＳｐｏｔ  ＧＵＩにコールバック通知される。そして、ＮｅｔＳｐｏｔ  ＧＵＩは、プロキシからコールバック通知された情報に基づいてビットマップ表示等によってデバイス構成情報を表示する。
【００３５】
次に、ネットワークデバイス管理システムが、管理対象デバイスに対してデバイス構成情報を設定する場合について説明する。まず、ＮｅｔＳｐｏｔ  ＧＵＩは、プロキシを用いてプロセス間通信を行い、ＶＤＣに対して設定したいデバイス構成情報を送信する。次いで、ＶＤＣは、スタブでＮｅｔＳｐｏｔ  ＧＵＩからの情報を受信し、ＳＮＭＰプロトコルを用いてデバイスに対してデバイスＭＩＢ情報を設定する。尚、デバイスでの設定が成功したか失敗したかを示す設定情報が、ＶＤＣのスタブからプロセス間通信を使用してプロキシに送信され、プロキシからＮｅｔＳｐｏｔ  ＧＵＩにコールバック通知される。そして、ＮｅｔＳｐｏｔ  ＧＵＩは、プロキシからコールバック通知された設定情報に基づいてビットマップ表示等を行うことによってデバイス構成情報の設定結果を表示する。
【００３６】
図４は、ＮｅｔＳｐｏｔ  ＧＵＩが所定の管理対象デバイスに関するジョブ情報（以下、「デバイスジョブ情報」と称す。）を表示する画面の一例を示す図である。ＮｅｔＳｐｏｔ  ＧＵＩは、デバイスからデバイスジョブ情報を取得するためにプロキシを用いてプロセス間通信をし、ＶＤＣに対してデバイスジョブ情報の取得命令を送信する。ＶＤＣは、スタブでデバイスジョブ情報の取得命令を受信し、例えば、ＳＮＭＰプロトコルを用いたＪｏｂ  ＭＩＢ、ＩＰＰ（Internet Printing Protocol）等のデバイスジョブ情報取得用プロトコルを用いてデバイスからデバイスジョブ情報を取得する。
【００３７】
すなわち、本発明に係るネットワークデバイス管理システムにおけるサーバ装置が、デバイスに対して、ＳＮＭＰプロトコルを使用してデータ送受信することを特徴とする。
【００３８】
取得されたデバイスジョブ情報は、ＶＤＣのスタブからプロセス間通信を使用してプロキシに送信され、プロキシからＮｅｔＳｐｏｔ  ＧＵＩにコールバック通知される。そして、ＮｅｔＳｐｏｔ  ＧＵＩは、プロキシからコールバック通知されたデバイスジョブ情報に基づいて、図４に示されるような画面を用いて当該デバイスジョブ情報をリスト表示する。
【００３９】
また、ＮｅｔＳｐｏｔ  ＧＵＩは、デバイスジョブ情報の状態の変化をリアルタイムで表示するために、プロキシを用いてプロセス間通信を行ってＶＤＣに対しイベント情報の通知依頼命令を送信する。ＶＤＣは、イベント情報の通知依頼命令をスタブで受信し、イベント情報を通知する通知先としてＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）の情報を登録する。
【００４０】
そして、ＶＤＣは、管理対象デバイスからイベント情報を取得した場合、又は管理対象デバイスから印刷等のジョブが終了したことを示すログ情報を取得した場合に、通知先として登録されているクライアントに対して通知するために、まず、スタブからプロセス間通信を使用してプロキシに対してイベント情報をジョブ状態変化情報として送信する。プロキシは受信したジョブ状態変化情報をＮｅｔＳｐｏｔ  ＧＵＩにコールバック通知する。そして、ＮｅｔＳｐｏｔ  ＧＵＩは、コールバック通知されたジョブ状態変化情報に基づいてリスト内のデバイスジョブ情報を更新する。
【００４１】
以下、上述したＮｅｔＳｐｏｔ  ＧＵＩとＶＤＣによる管理対象デバイスに関するイベント情報及びログ情報の取得動作の詳細について説明する。
【００４２】
図５は、ＶＤＣにおけるイベント情報の登録動作を説明するためのフローチャートである。まず、ＶＤＣは、ＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）からイベント情報の登録依頼を受信する（ステップＳ５１）。次に、イベント情報の登録先であるデバイスがログ機能をサポートしているか否かをチェックする（ステップＳ５２）。
【００４３】
その結果、当該デバイスがログ機能をサポートしている場合（ＹＥＳ）、デバイスからログ情報の取得を開始する（ステップＳ５３）。そして、ＶＤＣは、デバイス内部で保持可能なログ数に応じて、定期的にデバイスが保持しているログ情報を取得する。一方、当該デバイスがログ機能をサポートしていない場合（ＮＯ）、或いはステップＳ５３でログ情報の取得を開始した後、デバイスがイベント機能をサポートしているか否かをチェックする（ステップＳ５４）。
【００４４】
その結果、当該デバイスがイベント機能をサポートしていない場合（ＮＯ）、イベント情報の登録依頼のあったＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）をイベント情報通知リストに登録する（ステップＳ５９）。一方、イベント機能をサポートしているデバイスの場合（ＹＥＳ）、既にイベント情報の登録を行ったデバイスか否かを判断する（ステップＳ５５）。
【００４５】
その結果、当該デバイスにイベント情報が未登録の場合、デバイスにイベント情報の登録が行われる（ステップＳ５６）。一方、既に当該デバイスにイベント情報の登録が行われている場合、異なるイベント情報（例えば、イベント種別やイベントプロパティ等）があるか否かを判断する（ステップＳ５７）。その結果、異なるイベント情報がある場合（ＹＥＳ）、当該デバイスにそのイベント情報を追加登録する（ステップＳ５８）。そして、イベント情報の登録依頼のあったＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）をイベント情報通知リストに登録する（ステップＳ５９）。一方、異なるイベント情報がない場合（ＮＯ）、イベント情報の登録依頼のあったＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）をイベント情報の通知リストに登録する（ステップＳ５９）。
【００４６】
また、図６は、ＶＤＣにおける登録されたイベント情報の削除動作を説明するためのフローチャートである。まず、ＶＤＣは、ＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）から登録されたイベント情報の削除依頼を受信する（ステップＳ６１）。次いで、ＶＤＣは、当該ＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）をイベント情報の通知リストから削除する（ステップＳ６２）。
【００４７】
さらに、削除依頼を行ったクライアントが管理しているデバイスのイベント情報を通知する他のＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）が存在するか否かが判断される（ステップＳ６３）。その結果、他のＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）が存在する場合（ＹＥＳ）、当該削除処理を終了する。一方、他のＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）が存在しない場合（ＮＯ）、ＶＤＣがデバイスから定期的にログ情報を取得しているか否かが判断される（ステップＳ６４）。
【００４８】
その結果、ＶＤＣが定期的にログ情報を取得している場合（ＹＥＳ）、ログ情報の取得動作を終了する（ステップＳ６５）。一方、ＶＤＣが定期的にログ情報を取得していない場合（ＮＯ）、又はステップＳ６５においてログ情報の取得動作の終了処理を行った場合、デバイスに対してイベント情報の登録を行っているか否かをチェックする（ステップＳ６６）。その結果、イベント情報の登録を行っている場合（ＹＥＳ）、デバイスに対してイベント情報の登録削除依頼を行う（ステップＳ６７）。一方、イベント情報の登録を行っていない場合（ＮＯ）、処理を終了する。
【００４９】
図７は、ＶＤＣが管理対象デバイスからイベント情報を取得し、ＮｅｔＳｐｏｔ  ＧＵＩに対してイベント情報の通知を行う場合の動作手順を説明するためのフローチャートである。まず、ＶＤＣは、管理対象デバイスからイベント情報を取得する（ステップＳ７１）。次に、ＶＤＣは、イベント情報を通知をすべきＮｅｔＳｐｏｔ  ＧＵＩ数（クライアント数）を内部カウンタに設定する（ステップＳ７２）。そして、そのカウンタ値が０であるか否かを判断する（ステップＳ７３）。その結果、カウンタ値が０の場合（ＹＥＳ）、処理を終了する。一方、カウンタ値が０でない場合（ＮＯ）、イベント情報をＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）に通知する（ステップＳ７４）。その後、当該カウンタ値をデクリメントし（ステップＳ７５）、ステップＳ７３の処理に戻る。
【００５０】
図８は、ＶＤＣが管理対象デバイスから取得したログ情報からイベント情報を作成してクライアントに対して配信する場合の処理手順を説明するためのフローチャートである。まず、ＶＤＣは、管理対象デバイスからログ情報を取得する（ステップＳ８１）。次に、ＶＤＣは、取得したログ情報とキャッシュ（Cache）しているログ情報とを比較し、管理対象デバイス内に新たに追加されたログ情報のみを抽出し、そのログ情報をイベント情報に変換する（ステップＳ８２）。
【００５１】
さらに、ＶＤＣは、イベント情報を通知すべきＮｅｔＳｐｏｔ  ＧＵＩ数（クライアント数）を内部カウンタに設定する（ステップＳ８３）。そして、ＶＤＣは、当該カウンタ値が０であるか否かを判断する（ステップＳ８４）。その結果、カウンタ値が０の場合（ＹＥＳ）、処理を終了する。一方、カウンタ値が０でない場合（ＮＯ）、作成したイベント情報をＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）に通知する（ステップＳ８５）。
【００５２】
尚、本実施形態では、ＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）に対するイベント情報の送信は、直ちに行われるのではなく所定時間（例えば、１０秒間）経過後に行われるようにする（ステップＳ８６）。このイベント情報の送信待ち処理は、ログ情報に基づいてＶＤＣの内部動作でイベント情報が作成され、短時間に連続してクライアントに対してイベント情報の送信が行われることになるため、プロセス間通信の負荷を軽減する目的で行われる。そして、当該カウンタ値をデクリメントし（ステップＳ８７）、ステップＳ８４の処理に戻る。
【００５３】
一般に、ＵＤＰパケットを使用して行われるデバイスからのイベント情報の通知は、ネットワーク障害等によって当該パケットが紛失する可能性がある。しかし、デバイスとの通信にＴＣＰを使用するログ情報を併用してジョブ終了を示すイベント情報を送信することにより、ＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）に対してジョブの終了を通知する精度が向上する。
【００５４】
さらに、ＶＤＣが、イベント情報の取得による検知、ログ情報の取得による検知、イベント情報とログ情報の併用による検知の３種類のジョブ終了に係る検知方法を統一してイベント情報通知を扱う仮想デバイスとして振舞うことにより、ＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）がデバイスの種類に関わらずに、イベント情報の通知のみを処理をすることができる。また、ＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）は、定期的にデータ量の大きいログ情報を取得するのではなく、データ量の少ないイベント情報の通知を受けるため、プロセス間通信のトラフィックを軽減することができる。
【００５５】
次に、ＮｅｔＳｐｏｔ  ＧＵＩ（クライアント）の内部動作について詳細に説明する。
【００５６】
図９は、クライアントがＶＤＣに対してイベント情報の登録及び削除を行う場合の動作手順を説明するためのフローチャートである。まず、クライアントは、ＶＤＣに対してこれから処理を行うイベント情報の登録を行う（ステップＳ９１）。ここで、登録するイベント情報として、クライアントのアドレス、クライアントを一意に識別するための識別子（ＧＵＩＤ）、イベント情報の種類を示すイベント種別、各イベント種別の属性情報を示すイベントプロパティ等がある。
【００５７】
また、イベント種別の一例として、デバイスイベント、ジョブイベント等がある。さらに、イベントプロパティの一例として、ジョブイベントの属性であるジョブオーナー、ジョブ名、ジョブ状態等がある。次に、ＮｅｔＳｐｏｔ  ＧＵＩは、イベントコールバック受信処理を行う（ステップＳ９２）。そして、クライアントは、登録したイベント情報の削除を行う（ステップＳ９３）。
【００５８】
ここで、ステップＳ９２で行われるＮｅｔＳｐｏｔ  ＧＵＩでのイベントコールバック受信処理についてさらに説明する。図１０は、クライアントがＶＤＣからイベントコールバックを受信した場合の処理を説明するためのフローチャートである。クライアントは、ＶＤＣからイベントコールバック通知を受信する（ステップＳ９２１）。次いで、クライアントは、受信した通知に基づいてディスプレイ等の表示を更新する（ステップＳ９２２）。前述した図４は、クライアントにおけるディスプレイ表示例として、ジョブイベントを受信したときのアプリケーションを示す図である。クライアントでは、ジョブの終了イベントを受信した場合、図４におけるジョブ状態を示している文字列が「印刷中」から「印刷済」に変更される。
【００５９】
上述したように、本発明は、異なる印刷ジョブ終了検知方法を提供しているデバイス群に対してイベントによる単一の印刷ジョブ終了検知方法を提供するものである。本発明によって、クライアントアプリケーションがデバイスの種類を意識せずに単純な動作を行うことができるという効果がある。また、イベント情報とログ情報の両方をサポートしているデバイスにおいて、イベント情報とログ情報を併用して印刷ジョブ終了検知を行っているので、印刷ジョブ終了検知の精度が向上するという効果が得られる。
【００６０】
さらに、本発明は、クライアントアプリケーションが定期的にデータ量の大きいログ情報を取得する代わりに、サーバアプリケーションにおいてログ情報をログに比べてデータ量の少ないイベント情報に変換した。このように、クライアントアプリケーションに対してイベント情報のみを通知することにより、プロセス間通信のトラフィックを軽減するという効果が得られる。
【００６１】
尚、本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【００６２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６４】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００６５】
【発明の効果】
以上説明したように、本発明によれば、クライアントアプリケーションの動作を簡単にするとともに、プロセス間通信のトラフィックを小さくすることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態によるネットワークデバイス管理システム及び管理対象のデバイスを含むネットワークを介したデバイス管理システムの概要を示す図である。
【図２】本発明に係るネットワークデバイス管理システムを実現するＰＣ１０３又はＰＣ１２１等のＰＣの構成を示す図である。
【図３】ＬＡＮ１００に接続されたＰＣ１０３、ＰＣ１２１及びプリンタ１０２を用いたデータ通信を説明するための図である。
【図４】ＮｅｔＳｐｏｔ  ＧＵＩが所定の管理対象デバイスに関するジョブ情報を表示する画面の一例を示す図である。
【図５】ＶＤＣにおけるイベント情報の登録動作を説明するためのフローチャートである。
【図６】ＶＤＣにおける登録されたイベント情報の削除動作を説明するためのフローチャートである。
【図７】ＶＤＣが管理対象デバイスからイベント情報を取得し、ＮｅｔＳｐｏｔ  ＧＵＩに対してイベント情報の通知を行う場合の動作手順を説明するためのフローチャートである。
【図８】ＶＤＣが管理対象デバイスから取得したログ情報からイベント情報を作成してクライアントに対して配信する場合の処理手順を説明するためのフローチャートである。
【図９】クライアントがＶＤＣに対してイベント情報の登録及び削除を行う場合の動作手順を説明するためのフローチャートである。
【図１０】クライアントがＶＤＣからイベントコールバックを受信した場合の処理を説明するためのフローチャートである。
【符号の説明】
１００  ＬＡＮ
１０２  プリンタ
１０３、１２１、２００  パーソナルコンピュータ
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  システムバス
２０５  キーボードコントローラ
２０６  ＣＲＴコントローラ
２０７  ディスクコントローラ
２０８  ネットワークインタフェースカード
２０９  キーボード
２１０  ＣＲＴ
２１１  ハードディスク
２１２  フレキシブルディスクドライブ
【図１】
0003950736.tif 000002
【図２】
0003950736.tif 000003
【図３】
0003950736.tif 000004
【図４】
0003950736.tif 000005
【図５】
0003950736.tif 000006
【図６】
0003950736.tif 000007
【図７】
0003950736.tif 000008
【図８】
0003950736.tif 000009
【図９】
0003950736.tif 000010
【図１０】
0003950736.tif 000011