(57)【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続されたデバイスを、省電力状態監視モジュールと、デバイスの状態の取得を要求するための情報を、前記省電力状態監視モジュールを経由せずに前記デバイスに送信する処理を行うアプリケーションとを用いて監視するデバイス監視装置であって、
前記省電力状態監視モジュールは、
前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶手段と、
前記アプリケーションから出力された、前記デバイスの情報の取得を要求するための情報をフックすることにより、前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止手段と、
前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶手段により記憶されている電力状態に基づいて判定する第１の判定手段と、
前記第１の判定手段により、前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であると判定されると、前記阻止手段により送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであるか否かを判定する第２の判定手段と、
前記第１の判定手段による判定の結果と、前記第２の判定手段による判定の結果と、に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定手段と、
前記決定手段により決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付け手段とを有し、
前記決定手段は、
前記第１の判定手段により、前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態でないと判定された場合と、前記第２の判定手段により、前記阻止手段により送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルでないと判定された場合には、前記阻止手段により送信が阻止された情報を、前記デバイスに送信すると決定し、
前記第２の判定手段により、前記阻止手段により送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであると判定された場合には、前記阻止手段により送信が阻止された情報を送信するための条件を満たすと、前記阻止手段により送信が阻止された情報を、前記デバイスに送信すると決定することを特徴とするデバイス監視装置。
【請求項２】
前記決定手段は、前記第２の判定手段により、前記阻止手段により送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであると判定された場合には、ユーザからの指示に基づいて、前記阻止手段により送信が阻止された情報を、前記デバイスに送信するか否かを決定することを特徴とする請求項１に記載のデバイス監視装置。
【請求項３】
前記決定手段は、前記第２の判定手段により、前記阻止手段により送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであると判定された場合には、ユーザからの指示に基づいて、前記阻止手段により送信が阻止された情報の送信間隔を決定することを特徴とする請求項１又は２に記載のデバイス監視装置。
【請求項４】
前記省電力状態監視モジュールは、前記受け付け手段により受け付けられたデバイスの情報の取得の要求に対する応答に関する情報を記憶媒体に記憶する第２の記憶手段を有し、
前記決定手段は、前記第２の判定手段により、前記阻止手段により送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであると判定された場合であって、前記第２の記憶手段により情報が記憶されている場合には、前記第２の記憶手段により記憶された情報を前記デバイスの情報の取得の要求に対する応答とし、
前記第２の判定手段により、前記阻止手段により送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであると判定された場合であって、前記第２の記憶手段により情報が記憶されていない場合には、前記阻止手段により送信が阻止された情報を、前記デバイスに送信すると決定することを特徴とする請求項１〜３の何れか１項に記載のデバイス監視装置。
【請求項５】
前記省電力状態監視モジュールを有していない場合に、前記ネットワークを介して相互に接続されたモジュール提供装置から前記モジュールを取り込む取り込み手段を有することを特徴とする請求項１〜４の何れか１項に記載のデバイス監視装置。
【請求項６】
請求項５に記載のデバイス監視装置を特定する情報を、前記デバイス監視装置によって監視されるデバイスから取得する取得手段と、
前記取得手段により取得された情報に基づいて、前記省電力状態監視モジュールを有するか否かの問い合わせを、前記デバイス監視装置に行う問い合わせ手段と、
前記問い合わせ手段による問い合わせの結果、前記省電力状態監視モジュールを有さない場合には、前記省電力状態監視モジュールを前記デバイス監視装置に送信する送信手段とを有することを特徴とするモジュール提供装置。
【請求項７】
ネットワークを介して相互に接続されたデバイスを、省電力状態監視モジュールと、デバイスの状態の取得を要求するための情報を、前記省電力状態監視モジュールを経由せずに前記デバイスに送信する処理を行うアプリケーションとを用いて監視するデバイス監視方法であって、
前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶ステップと、
前記アプリケーションから出力された、前記デバイスの情報の取得を要求するための情報をフックすることにより、前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止ステップと、
前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶ステップにより記憶されている電力状態に基づいて判定する第１の判定ステップと、
前記第１の判定ステップにより、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であると判定されると、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであるか否かを判定する第２の判定ステップと、
前記第１の判定ステップによる判定の結果と、前記第２の判定ステップによる判定の結果と、に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定ステップと、
前記決定ステップにより決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付けステップとを有し、
前記決定ステップは、
前記第１の判定ステップにより、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態でないと判定された場合と、前記第２の判定ステップにより、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルでないと判定された場合には、前記阻止ステップにより送信が阻止された情報を、前記デバイスに送信すると決定し、
前記第２の判定ステップにより、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであると判定された場合には、前記阻止ステップにより送信が阻止された情報を送信するための条件を満たすと、前記阻止ステップにより送信が阻止された情報を、前記デバイスに送信すると決定することを特徴とするデバイス監視方法。
【請求項８】
ネットワークを介して相互に接続されたデバイスを、省電力状態監視モジュールと、デバイスの状態の取得を要求するための情報を、前記省電力状態監視モジュールを経由せずに前記デバイスに送信する処理を行うアプリケーションとを用いて監視することをコンピュータに実行させるためのコンピュータプログラムであって、
前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶ステップと、
前記アプリケーションから出力された、前記デバイスの情報の取得を要求するための情報をフックすることにより、前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止ステップと、
前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶ステップにより記憶されている電力状態に基づいて判定する第１の判定ステップと、
前記第１の判定ステップにより、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であると判定されると、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであるか否かを判定する第２の判定ステップと、
前記第１の判定ステップによる判定の結果と、前記第２の判定ステップによる判定の結果と、に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定ステップと、
前記決定ステップにより決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付けステップとを、前記省電力状態監視モジュールの機能としてコンピュータに実行させ、
前記決定ステップは、
前記第１の判定ステップにより、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態でないと判定された場合と、前記第２の判定ステップにより、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルでないと判定された場合には、前記阻止ステップにより送信が阻止された情報を、前記デバイスに送信すると決定し、
前記第２の判定ステップにより、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであると判定された場合には、前記阻止ステップにより送信が阻止された情報を送信するための条件を満たすと、前記阻止ステップにより送信が阻止された情報を、前記デバイスに送信すると決定することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス監視装置、デバイス監視方法、及びコンピュータプログラムに関し、特に、デバイスを監視するために用いて好適なものである。
【背景技術】
【０００２】
ネットワーク上のコンピュータからのパケットを受信することにより省電力状態から電力が通常状態に復帰する印刷装置が存在する。このように省電力状態が定義されている印刷装置から定期的に印刷可能か否かの状態等を、印刷装置を管理するコンピュータが取得する場合、印刷装置は定期的に省電力状態から通常の電力状態に復帰してしまう。このため、印刷装置において、電力が通常の電力状態にある時間が長くなってしまう。以下の説明では、印刷可能か否かの状態等を印刷装置等のデバイスから定期的に取得することを、必要に応じてポーリングと称する。ポーリングを行う目的が、印刷の動作で用紙切れ等のエラー発生を検知して印刷可能かどうかをチェックするためであれば、印刷の動作がない省電力状態中はエラーが発生しないので、省電力状態中はポーリングを行う必要がない。そのため省電力状態中の不用意なポーリングを防ぐことができれば効率化を図ることが出来る。
【０００３】
その対策として、以下のような方法がある。まず、印刷装置を管理するコンピュータに省電力状態監視モジュールを組み込み、印刷装置が省電力状態監視モジュールに対して省電力状態にある旨を通知するようにする。そして、コンピュータのアプリケーションが印刷装置にポーリングを行う際には、省電力状態監視モジュールに印刷装置の状態を問い合わせ、問い合わせた結果、印刷装置が省電力状態にないときにだけポーリングを行うようにする。省電力状態にあることを通知する技術としては、特許文献１、特許文献２に記載の技術が提案されている。
ところが、マイクロソフトのStandard TCP/IP Portのように省電力状態監視モジュールを経由せずにポーリングを行うアプリケーションが存在するため、前述した方法と異なる方法での対策が必要になった。そこで、省電力状態でも通電している印刷装置のネットワークモジュール（サブモジュール）がコンピュータ上のアプリケーションに応答を返す方法が考えられている。
【０００４】
【特許文献１】特開２００５−９４６８１号公報
【特許文献２】特開２０００−２６１５１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、印刷装置のネットワークモジュール（サブモジュール）に登録できるパケットの種類には上限がある。したがって、予め決められた種類のパケットのみしか対応することができないというハードウェア的な制限がある。このため、予期せぬアプリケーションからのポーリングには対応することができないという問題点があった。
【０００６】
本発明は、このような問題点に鑑みてなされたものであり、デバイスが省電力状態から通常の電力状態に復帰してしまうことを従来よりも確実に防止することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のデバイス監視装置は、ネットワークを介して相互に接続されたデバイスを、省電力状態監視モジュールと、デバイスの状態の取得を要求するための情報を、前記省電力状態監視モジュールを経由せずに前記デバイスに送信する処理を行うアプリケーションとを用いて監視するデバイス監視装置であって、前記省電力状態監視モジュールは、前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶手段と、前記アプリケーションから出力された、前記デバイスの情報の取得を要求するための情報をフックすることにより、前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止手段と、前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶手段により記憶されている電力状態に基づいて判定する第１の判定手段と、前記第１の判定手段により、前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であると判定されると、前記阻止手段により送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであるか否かを判定する第２の判定手段と、前記第１の判定手段による判定の結果と、前記第２の判定手段による判定の結果と、に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定手段と、前記決定手段により決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付け手段とを有し、前記決定手段は、前記第１の判定手段により、前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態でないと判定された場合と、前記第２の判定手段により、前記阻止手段により送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルでないと判定された場合には、前記阻止手段により送信が阻止された情報を、前記デバイスに送信すると決定し、前記第２の判定手段により、前記阻止手段により送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであると判定された場合には、前記阻止手段により送信が阻止された情報を送信するための条件を満たすと、前記阻止手段により送信が阻止された情報を、前記デバイスに送信すると決定することを特徴とする。
【０００８】
本発明のデバイス監視方法は、ネットワークを介して相互に接続されたデバイスを、省電力状態監視モジュールと、デバイスの状態の取得を要求するための情報を、前記省電力状態監視モジュールを経由せずに前記デバイスに送信する処理を行うアプリケーションとを用いて監視するデバイス監視方法であって、前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶ステップと、前記アプリケーションから出力された、前記デバイスの情報の取得を要求するための情報をフックすることにより、前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止ステップと、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶ステップにより記憶されている電力状態に基づいて判定する第１の判定ステップと、前記第１の判定ステップにより、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であると判定されると、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであるか否かを判定する第２の判定ステップと、前記第１の判定ステップによる判定の結果と、前記第２の判定ステップによる判定の結果と、に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定ステップと、前記決定ステップにより決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付けステップとを有し、前記決定ステップは、前記第１の判定ステップにより、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態でないと判定された場合と、前記第２の判定ステップにより、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルでないと判定された場合には、前記阻止ステップにより送信が阻止された情報を、前記デバイスに送信すると決定し、前記第２の判定ステップにより、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであると判定された場合には、前記阻止ステップにより送信が阻止された情報を送信するための条件を満たすと、前記阻止ステップにより送信が阻止された情報を、前記デバイスに送信すると決定することを特徴とする。
【０００９】
本発明のコンピュータプログラムは、ネットワークを介して相互に接続されたデバイスを、省電力状態監視モジュールと、デバイスの状態の取得を要求するための情報を、前記省電力状態監視モジュールを経由せずに前記デバイスに送信する処理を行うアプリケーションとを用いて監視することをコンピュータに実行させるためのコンピュータプログラムであって、前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶ステップと、前記アプリケーションから出力された、前記デバイスの情報の取得を要求するための情報をフックすることにより、前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止ステップと、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶ステップにより記憶されている電力状態に基づいて判定する第１の判定ステップと、前記第１の判定ステップにより、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であると判定されると、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであるか否かを判定する第２の判定ステップと、前記第１の判定ステップによる判定の結果と、前記第２の判定ステップによる判定の結果と、に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定ステップと、前記決定ステップにより決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付けステップとを、前記省電力状態監視モジュールの機能としてコンピュータに実行させ、前記決定ステップは、前記第１の判定ステップにより、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態でないと判定された場合と、前記第２の判定ステップにより、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルでないと判定された場合には、前記阻止ステップにより送信が阻止された情報を、前記デバイスに送信すると決定し、前記第２の判定ステップにより、前記阻止ステップにより送信が阻止された情報のプロトコルが、前記デバイスから情報を取得するための所定のプロトコルであると判定された場合には、前記阻止ステップにより送信が阻止された情報を送信するための条件を満たすと、前記阻止ステップにより送信が阻止された情報を、前記デバイスに送信すると決定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、デバイスの情報の取得を要求するための情報を確実に管理することができると共に、デバイスのサブモジュールを使用しなくても、デバイスの情報の取得の要求に対応することができる。よって、デバイスが省電力状態から通常の電力状態に復帰してしまうことを従来よりも確実に防止することができる。
【発明を実施するための最良の形態】
【００１１】
（第１の実施形態）
以下に、図面を参照しながら、本発明の第１の実施形態について説明する。
図１は、印刷システムの構成の一例を示す図である。
図１において、印刷システムは、デバイス監視装置の一例であるクライアントＰＣ（Personal Computer）１０１とデバイス１０２とを備えている。クライアントＰＣ１０１とデバイス１０２とがネットワーク１０３を介して相互に接続されている。
デバイス１０２は、省電力機能を有している。クライアントＰＣ１０１は、省電力状態制御モジュールと、省電力機能を有する装置から定期的に情報を取得するための（ポーリングするための）アプリケーションプログラムとがインストールされている。尚、以下の説明では、このアプリケーションプログラムをアプリケーションと称する。
【００１２】
このように本実施形態では、省電力状態制御モジュールと、省電力機能を有する装置から定期的に情報を取得するための（ポーリングするための）アプリケーションは同一の機器内に構成されている。しかしながら、ポーリングするためのアプリケーションが定期的な情報の取得を行うに際し送信される情報を省電力状態制御モジュールが取得することが可能であれば、それらは、必ずしも同一の機器内に構成されている必要はない。またその場合、これらの装置は、有線無線を問わずネットワークを介して接続されている。
【００１３】
また、省電力状態制御モジュールと、ポーリングするためのアプリケーションと、省電力機能を有する装置とが同一の機器内に構成されてもよい。このようにした場合には、ネットワークではなく内部的な接続手段を用いて通信を行うようにする。
【００１４】
省電力機能を有するデバイス１０２は、例えば印刷装置であり、デバイス１０２のインターフェースからのユーザによる操作があった場合や、印刷等の動作が終了してから予め設定された時間が経過した場合に、通常の電力状態から省電力状態に移行する。
デバイス１０２は、通常の電力状態から省電力状態になる前に特定の又は不特定の相手に省電力状態になる旨を通知する。不特定の相手に通知する手段としては省電力通知用に定義されたプロトコルであるＴＣＰ／ＩＰに従ってデータをマルチキャストで送信する方法がある。一方、特定の相手に通知する手段としては省電力通知用に定義されたプロトコルであるＴＣＰ／ＩＰに従ってデータをユニキャストで送信する方法がある。
【００１５】
また、デバイス１０２は、省電力状態から通常の電力状態に復帰する場合にもその旨を通知する。この他に、図２に示すように、電源オン時（電源断の状態から通常の電力状態になるとき）、シャットダウン時（通常の電力状態又は省電力状態から電源断の状態になるとき）にも、デバイス１０２の状態を通知する。更に、デバイス１０２は、起動中の場合（通常の電力状態の場合）にも予め設定された時間間隔で定期的に起動している旨を通知する。
尚、省電力機能を有する装置（デバイス１０２）は、省電力機能を有し、外部装置とパケット通信等の通信を行える装置であれば、印刷装置に限らずどのような装置であってもよい。また、図１では、デバイス１０２を１台だけ示しているが、同じ種類のデバイスや複数の種類のデバイスが印刷システムに複数台あってもよい。
【００１６】
次に、クライアントＰＣ１０１における動作の詳細の一例を説明する。
図３は、クライアントＰＣ１０１におけるソフトウェアの構成の一例を示す図である。図４は、デバイス１０２から、デバイス１０２の電力状態を取得する際の省電力状態制御モジュール６０２の動作の一例を説明するフローチャートである。
図４のステップＳ１１１において、省電力状態制御モジュール６０２は起動し、デバイス１０２からの電力状態の通知を取得するために待機する。尚、既に起動している場合には、このステップＳ１１１の処理は省略される。
次に、ステップＳ１１２において、省電力状態制御モジュール６０２は、プログラムを終了するか否かを判定する。この判定の結果、プログラムを終了する場合には、図４のフローチャートによる処理を終了する。
【００１７】
一方、プログラムを終了しない場合には、ステップＳ１１３に進む。ステップＳ１１３に進むと、省電力状態制御モジュール６０２は、省電力機能を有するデバイス１０２からの電力状態の通知があったか否かを判定する。この判定の結果、省電力機能を有するデバイス１０２からの通知があった場合には、ステップＳ１１４に進み、省電力状態制御モジュール６０２は、その通知の内容を解析する。ステップＳ１１４で解析する通信の内容には、送信元のＩＰアドレスと、ＭＡＣアドレスと、図２に示したようにして定義された電力状態を表す数値とが含まれているので、ステップＳ１１４において、省電力状態制御モジュール６０２は、それらの情報を取得する。尚、本実施形態では、図２において、電源ＯＮ、起動中、スリープＩＮ、スリープＯＵＴ、電源ＯＦＦを表す数値が、夫々「１」、「２」、「３」、「４」、「５」であるとする。
【００１８】
ここで、電源ＯＮとは、省電力状態から通常の電力状態に復帰した状態を表す。起動中とは、予め設定された時間間隔で定期的に起動している旨を通知する場合に、デバイス１０２の電力状態が通常の電力状態であることを表す。スリープＩＮとは、通常の電力状態から省電力状態に移行した状態を表す。スリープＯＵＴとは、省電力状態から通常の電力状態に復帰した状態を表す。電源ＯＦＦとは、通常の電力状態又は省電力状態から電源断の状態になる状態を表す。
【００１９】
次に、ステップＳ１１５において、省電力状態制御モジュール６０２は、ステップＳ１１４で取得した情報に含まれる"デバイス１０２を識別するための識別情報"が、リストに既に存在しているか否かを判定する。すなわち、省電力状態制御モジュール６０２は、ステップＳ１１４で取得した情報を自身が管理するリストに追加するに際し、取得したものと同じＭＡＣアドレス又は同じＩＰアドレスの機器がそのリストに既に存在するか否かを判定する。
図５は、省電力状態制御モジュール６０２が管理するリスト（テーブル）の一例を示す図である。図５において、リスト５０１は、電力状態を通知したデバイス１０２を一意に識別するための識別番号であるデバイスＩＤと、そのデバイス１０２のＩＰアドレス及びＭＡＣアドレスと、図２で定義された電力状態を表す数値とを互いに対応付けて記憶するものである。ただし、リスト５０１の内容はこのようなものに限定されず、デバイス１０２の名称等の情報が含まれていてもよい。また、このリスト５０１は、図３に示す状態保持データベース６０４内に記憶される。尚、状態保持データベース６０４内の情報は、データベースアクセスモジュール６０３によって制御される。また、リスト５０１は、データベースの形式を取らなくても、記憶媒体上にファイル形式で保存されていてもよい。
【００２０】
ステップＳ１１５の判定の結果、ステップＳ１１４で取得したのと同じＭＡＣアドレス又は同じＩＰアドレスの機器が既にリスト５０１に存在する場合には、ステップＳ１１７に進む。そして、省電力状態制御モジュール６０２は、ステップＳ１１４で取得した情報に基づいて、リスト５０１の内容を更新する。そして、前述したステップＳ１１２に戻る。
一方、ステップＳ１１４で取得したのと同じＭＡＣアドレス又は同じＩＰアドレスの機器がリスト５０１に存在しない場合には、ステップＳ１１６に進む。そして、省電力状態制御モジュール６０２は、ステップＳ１１４で取得した情報に基づいて、新規に取得したデバイス１０２の情報をリスト５０１に新規に追加する。そして、前述したステップＳ１１２に戻る。
以上のように本実施形態では、少なくともステップＳ１１６、Ｓ１１７の処理を実行することによって記憶手段が実現される。
【００２１】
省電力機能を有するデバイス１０２から定期的に情報を取得するためのアプリケーション６０１は、デバイス１０２が有する情報を表示したり設定したりする機能を有している。アプリケーション６０１は、ＳＮＭＰやＳＬＰ等のプロトコルを用いて、デバイス１０２から定期的に情報を取得する（すなわち、ポーリングを行う）。このようにアプリケーション６０１は、定期的にポーリングを行っているので、省電力状態にあるデバイス１０２を通常の電力状態にしてしまうことになる。
省電力状態制御モジュール６０２は、アプリケーション６０１が省電力機能を有するデバイス１０２に対してポーリングを行うために送信しようとする情報を、その情報が送信される前にフック（横取り）する。
【００２２】
情報をフック（横取り）する方法は、例えば、省電力状態制御モジュール６０２がレイヤ７のファイアーウォールとして機能することで実現される。レイヤ７とは、図１０に示すＯＳＩ参照モデル（OSI Reference Model）のアプリケーション層のことである。省電力状態制御モジュール６０２は、アプリケーション６０１がＳＮＭＰやＳＬＰ等の"デバイス１０２から情報を取得するための所定のプロトコルに従った情報"を送信しようとしているか否かを見分ける機能を有する。
この機能により、送信しようとしている情報のプロトコルが、デバイス１０２を省電力状態のままで通常の電力状態にする必要のないものに対応するプロトコルであれば、省電力状態制御モジュール６０２は、ポーリングを制限する。一方、デバイス１０２に印刷を行わせる際には、省電力状態にあるデバイス１０２を無条件で省電力状態から通常の電力状態に復帰させてよいものとする。すなわち、印刷等で使用されるプロトコルの情報を送信しようとしている場合、省電力状態制御モジュール６０２は、ポーリングを許可する。
また、省電力状態制御モジュール６０２は、送信しようとしている情報のネットワーク層、データリンク層のレベルを判断することにより、どのデバイス１０２に対して情報を送信しようとしているかを見分けることが出来る。具体的にこの判断は、送信しようとしている相手の識別情報（例えばＩＰアドレス又はＭＡＣアドレス）を解析し、その識別情報と、図５に示したリスト５０１の識別情報（ＩＰアドレス又はＭＡＣアドレス）とを比較することで実現される。
【００２３】
図６は、アプリケーション６０１からの要求があった場合の省電力状態制御モジュール６０２の動作の一例を説明するフローチャートである。
図６のステップＳ１０１において、省電力状態制御モジュール６０２は起動し、アプリケーション６０１からの要求を受けるために待機する。尚、既に起動している場合には、このステップＳ１０１の処理は省略される。
次に、ステップＳ１０２において、省電力状態制御モジュール６０２は、プログラムを終了するか否かを判定する。この判定の結果、プログラムを終了する場合には、図６のフローチャートによる処理を終了する。
【００２４】
一方、プログラムを終了しない場合には、ステップＳ１０３に進む。ステップＳ１０３に進むと、省電力状態制御モジュール６０２は、アプリケーション６０１が送信しようとする情報をアプリケーション６０１から受け取ったか否かを判定する。この判定の結果、アプリケーション６０１が送信しようとする情報を受け取っていない場合には、ステップＳ１０２に戻る。
【００２５】
一方、アプリケーション６０１が送信しようとする情報を受け取った場合には、ステップＳ１０４に進み、省電力状態制御モジュール６０２は、アプリケーション６０１が送信しようとする情報をフック（横取り）する。
このように本実施形態では、ステップＳ１０４の処理を実行することにより阻止手段が実現される。
次に、ステップＳ１０５において、省電力状態制御モジュール６０２は、フックした情報と、図５に示したリスト５０１とに基づいて、フックした情報の送信先が対象装置であるか否かを判定する。
このステップＳ１０５の処理を具体的に説明すると、省電力状態制御モジュール６０２は、フックした情報に基づいて、その情報の送信先のデバイス１０２の識別情報（ＩＰアドレス又はＭＡＣアドレス）を解析する。そして、省電力状態制御モジュール６０２は、解析した識別情報（ＩＰアドレス又はＭＡＣアドレス）が、図５に示したリスト５０１に登録されているか否かを判定する。この判定の結果、解析した識別情報（ＩＰアドレス又はＭＡＣアドレス）が、図５に示したリスト５０１に登録されていない場合には、フックした情報の送信先が対象装置でないと判定する。
【００２６】
一方、解析した識別情報（ＩＰアドレス又はＭＡＣアドレス）が、図５に示したリスト５０１に登録されていない場合には、省電力状態制御モジュール６０２は、次の判定を緒行う。すなわち、省電力状態制御モジュール６０２は、解析した識別情報（ＩＰアドレス又はＭＡＣアドレス）が登録されているレコードの電力状態が、省電力状態であることを示しているか否かを判定する。前述した例では、スリープＩＮを表す数値が「３」であるので、省電力状態制御モジュール６０２は、解析した識別情報（ＩＰアドレス又はＭＡＣアドレス）が登録されているレコードの電力状態が「３」であるか否かを判定する。この判定の結果、解析した識別情報（ＩＰアドレス又はＭＡＣアドレス）が登録されているレコードの電力状態が省電力状態（「３」）でない場合には、フックした情報の送信先が対象装置でないと判定する。一方、解析した識別情報（ＩＰアドレス又はＭＡＣアドレス）が登録されているレコードの電力状態が省電力状態（「３」）である場合には、フックした情報の送信先が対象装置であると判定する。
このように本実施形態では、ステップＳ１０５の処理を実行することにより判定手段が実現される。
【００２７】
省電力状態であるデバイス１０２にアクセスしてしまうと、そのデバイス１０２が省電力状態から通常の電力状態に復帰してしまう。しかしながら、ここでは、状態保持データベース６０４内のリスト５０１にアクセスしているのみで、実際のデバイス１０２にはアクセスしていない。よって、デバイス１０２が省電力状態から通常の電力状態に復帰してしまうことはない。
【００２８】
以上のようなステップＳ１０５の判定の結果、フックした情報の送信先が対象装置でない場合には、後述するステップＳ１０９に進む。一方、フックした情報の送信先が対象装置である場合には、ステップＳ１０６に進む。
ステップＳ１０６に進むと、省電力状態制御モジュール６０２は、フックした情報のプロトコルが、ＳＮＭＰやＳＬＰ等の"デバイス１０２から情報を取得するための所定のプロトコル"であるか否かを判定する。この判定は、前述したように、省電力状態制御モジュール６０２における"レイヤ７のファイアーウォール"の機能を用いて行うことができる。この判定の結果、フックした情報のプロトコルが所定のプロトコルでない場合には、後述するステップＳ１０９に進む。
【００２９】
一方、フックした情報のプロトコルが所定のプロトコルである場合には、ステップＳ１０７に進む。ステップＳ１０７に進むと、省電力状態制御モジュール６０２は、クライアントＰＣ１０１が備える表示装置にＧＵＩ（メッセージ画面）を表示させ、省電力状態のデバイス１０２に情報を送信しようとしている旨をユーザに示させる。図７は、省電力状態のデバイス１０２に情報を送信しようとしているときに表示されるＧＵＩの一例を示す図である。
そして、ステップＳ１０８において、省電力状態制御モジュール６０２は、ステップＳ１０７で表示させたＧＵＩに対するユーザの操作に基づいて、フックした情報をデバイス１０２に送信するか否かを判定する。すなわち、省電力状態のデバイス１０２に情報を送信することをユーザが了解したか否かを判定する。この判定の結果、省電力状態のデバイス１０２に情報を送信することをユーザが了解しなかった場合には、ステップＳ１０２に戻る。この場合、フックした情報（パケット）はデバイス１０２に送信されない。
【００３０】
一方、省電力状態のデバイス１０２に情報を送信することをユーザが了解した場合には、ステップＳ１０９に進む。
ステップＳ１０９に進むと、省電力状態制御モジュール６０２は、フックした情報に基づくパケットを、通信インターフェースを用いて該当するデバイス１０２に送信する。このステップＳ１０９で送信される情報によりポーリングが行われ、クライアントＰＣ１０１は、デバイス１０２の情報が受け付けられたか否かを、例えば図４のステップＳ１１３で判定することになる。
以上のように本実施形態では、ステップＳ１０７〜Ｓ１０９の処理を実行することにより決定手段が実現される。図６のフローチャートが実行された後に図４のステップＳ１１３の処理を実行することにより受け付け手段が実現される。
【００３１】
尚、ステップＳ１０５、ステップＳ１０６の順番は、図６に示したものに限定されず、解析効率がよい順に変更することができる。例えば、プロトコルの要素数とデバイス１０２の数とに応じて、ステップＳ１０５、ステップＳ１０６の順番を決定することができる。
【００３２】
図８は、クライアントＰＣ１０１のハードウェア構成の一例を示す図である。
図８において、ＣＰＵ１０１０と、ＲＯＭ１０２０と、ＲＡＭ１０３０と、キーボード（ＫＢ）１０４０のキーボードコントローラ（ＫＢＣ）１０５０とが、システムバス１１３０に接続されている。また、表示部としてのＣＲＴディスプレイ（ＣＲＴ）１０６０のＣＲＴコントローラ（ＣＲＴＣ）１０７０が、システムバス１１３０に接続されている。そして、ハードディスク（ＨＤ）１０８０及びフレキシブルディスク（ＦＤ）１０９０のディスクコントローラ（ＤＫＣ）１１００も、システムバス１１３０に接続されている。さらに、ネットワーク１０３との接続のためのネットワークインターフェースコントローラ（ＮＩＣ）１１２０も、システムバス１１３０に接続されている。
【００３３】
ＣＰＵ１０１０は、ＲＯＭ１０２０或いはＨＤ１０８０に記憶されたソフトウェア、或いはＦＤ１０９０より供給されるソフトウェアを実行することで、システムバス１１３０に接続された各構成部を総括的に制御する。
すなわち、ＣＰＵ１０１０は、所定の処理シーケンスに従った処理プログラムを、ＲＯＭ１０２０、或いはＨＤ１０８０、或いはＦＤ１０９０から読み出して実行することで、前述した動作を実現するための制御を行う。
【００３４】
ＲＡＭ１０３０は、ＣＰＵ１０１０の主メモリ或いはワークエリア等として機能する。
ＫＢＣ１０５０は、ＫＢ１０４０や図示していないポインティングデバイス等からの指示入力を制御する。
【００３５】
ＣＲＴＣ１０７０は、ＣＲＴ１０６０の表示を制御する。
ＤＫＣ１１００は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、及び本実施形態における所定の処理プログラム等を記憶するＨＤ１０８０及びＦＤ１０９０とのアクセスを制御する。
ＮＩＣ１１２０は、ネットワーク１０３上の装置或いはシステムと双方向にデータをやりとりする。
【００３６】
前述した機能を実現するプログラムは、外部からインストールされるプログラムによって、図８に示すようなハードウェア構成を有するクライアントＰＣ１０１によって遂行することができる。その場合、そのプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭやフラッシュメモリ（登録商標）やフレキシブルディスク等の記憶媒体により、クライアントＰＣ１０１に供給することができる。この他、電子メールやパソコン通信等を利用して、ネットワーク１０３を介して、外部の記憶媒体からプログラムを含む情報群をクライアントＰＣ１０１にロードすることにより、プログラムをクライアントＰＣ１０１に供給することもできる。
【００３７】
図９は、記憶媒体の一例であるＣＤ−ＲＯＭのメモリマップの一例を示す図である。
図９において、領域９９９９にはディレクトリ情報が記憶されている。ディレクトリ情報は、インストールプログラムを記憶してある領域９９９８の位置と、プログラムを記憶してある領域９９９７の位置とを示している。前述した機能を実現するプログラムがクライアントＰＣ１０１にインストールされる際には、まずインストールプログラムを記憶してある領域９９９８に記憶されているインストールプログラムがシステムにロードされ、ＣＰＵ１０１０によって実行される。次に、ＣＰＵ１０１０によって実行されるインストールプログラムが、プログラムを記憶してある領域９９９７からプログラムを読み出して、ハードディスクハードディスク（ＨＤ）１０８０に格納する。
【００３８】
以上のように本実施形態では、クライアントＰＣ１０１は、デバイス１０２毎にデバイス１０２の電力状態を、デバイス１０２から送信される情報に基づいてリスト５０１を用いて管理する。デバイス１０２に情報を送信する際に、省電力状態制御モジュール６０２は、その送信する情報をフックし、フックした情報からその情報の送信先となるデバイス１０２を特定する。そして、省電力状態制御モジュール６０２は、特定したデバイス１０２の電力状態を、リスト５０１を参照することにより把握する。そして、特定したデバイス１０２の電力状態が省電力状態であった場合、省電力状態制御モジュール６０２は、フックした情報を送信してよいかどうかをユーザに確認する。そして、省電力状態制御モジュール６０２は、ユーザによって送信が許可された場合に、フックした情報を、特定したデバイス１０２に送信させる。したがって、予期せぬアプリケーション６０１ンからのポーリングがあってもデバイス１０２を省電力状態に保つことができる。また、デバイス１０２が省電力状態のときにだけ監視によるメッセージを表示するので、クライアントＰＣ１０１とユーザへの負荷を軽減しつつ所望の処理を行うことが可能である。更に、アプリケーション６０１がどのコンピュータで動作しているかを検出することにより、不用意にデバイス１０２にポーリングされることを防ぐことが可能となる。
【００３９】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。本実施形態では、第１の実施形態で説明したステップＳ１０７、Ｓ１０８の処理の代わりに、以下に説明する処理を行う。このように、本実施形態と前述した第１の実施形態とは、省電力状態制御モジュール６０２の処理の一部が異なるだけである。したがって、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図１０に付した符号と同一の符号を付すこと等により詳細な説明を省略する。
【００４０】
図１１は、アプリケーション６０１からの要求があった場合の省電力状態制御モジュール６０２の動作の一例を説明するフローチャートである。
第１の実施形態で説明したように、ステップＳ１０６において、フックした情報のプロトコルが、ＳＮＭＰやＳＬＰ等の"デバイス１０２から情報を取得するための所定のプロトコル"であるか否かが判定される。この判定の結果、フックした情報のプロトコルが所定のプロトコルである場合には、ステップＳ２０７に進む。ステップＳ２０７に進むと、省電力状態制御モジュール６０２は、ポーリングの頻度（情報の送信間隔）を変更するＧＵＩ（メッセージ画面）をクライアントＰＣ１０１が備える表示装置に表示させ、ユーザに提示する。
【００４１】
図１２は、省電力状態のデバイス１０２に情報を送信しようとしているときに、ユーザにポーリングの頻度を変更することを促すために表示されるＧＵＩの一例を示す図である。
図１２の例では、１０分の１にポーリングする間隔を間引くか、次のポーリングまで１時間以上時間をおくか、ＨＤ１０８０の保護時間（一度動かしたら止めずに動かすべき時間）を過ぎてから次回のポーリングを行うかの何れかにポーリング間隔を設定できる。ただし、このポーリング間隔の時間間隔の選択範囲は、このようなものに限定されず、離散的な値をとっても連続的な値をとってもよい。
そして、ステップＳ２０８において、省電力状態制御モジュール６０２は、ステップＳ２０７で表示させたＧＵＩに対するユーザの操作に基づいて、ポーリングの頻度を変更する。ステップＳ１０９に進み、ステップＳ２０８で変更された頻度でフックした情報に基づくパケットがデバイス１０２に送信される。
以上のように本実施形態では、ステップＳ２０７、Ｓ２０８、Ｓ１０９の処理を実行することにより、決定手段が実現される。
【００４２】
以上のように本実施形態では、特定したデバイス１０２の電力状態が省電力状態であった場合、省電力状態制御モジュール６０２は、フックした情報に基づくポーリングの頻度をユーザに決定させ、決定させた頻度でフックした情報に基づくポーリングを実行する。このようにしても、前述した第１の実施形態と同様の効果を奏することができる。
尚、第１の実施形態と第２の実施形態とを組み合わせるようにしてもよい。例えば、第１の実施形態のように、フックした情報をデバイス１０２に送信するか否かをユーザに決定させ、フックした情報をデバイス１０２に送信することが決定された場合に、第２の実施形態のように、ポーリングの頻度をユーザに決定させるようにしてもよい。
【００４３】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。本実施形態では、第１の実施形態で説明したステップＳ１０７、Ｓ１０８の処理の代わりに以下に説明する処理を行うと共に、図４に示したフローチャートに以下に説明する処理を追加で行う。このように、本実施形態と前述した第１の実施形態とは、省電力状態制御モジュール６０２の処理の一部が異なるだけである。したがって、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図１０に付した符号と同一の符号を付すこと等により詳細な説明を省略する。
【００４４】
図１３は、アプリケーション６０１からの要求があった場合の省電力状態制御モジュール６０２の動作の一例を説明するフローチャートである。
第１の実施形態で説明したように、ステップＳ１０６において、フックした情報のプロトコルが、ＳＮＭＰやＳＬＰ等の"デバイス１０２から情報を取得するための所定のプロトコル"であるか否かが判定される。この判定の結果、フックした情報のプロトコルが所定のプロトコルである場合には、ステップＳ３０７に進む。ステップＳ３０７に進むと、省電力状態制御モジュール６０２は、過去のポーリングの際にキャッシュメモリに記憶したキャッシュ情報（例えば前回のポーリングで取得したデバイス１０２の電力状態を示す情報）があるか否かを判定する。この判定の結果、キャッシュ情報がない場合には、ステップＳ１０９に進み、省電力状態制御モジュール６０２は、フックした情報に基づくパケットを、該当するデバイス１０２に送信する。
一方、キャッシュ情報がある場合には、ステップＳ３０８に進む。ステップＳ３０８に進むと、省電力状態制御モジュール６０２は、キャッシュ情報（例えば前回取得した電力状態）をアプリケーション６０１に返す。そして、省電力状態制御モジュール６０２は、キャッシュ情報を削除する。
以上のように本実施形態では、ステップＳ３０７、Ｓ３０８、Ｓ１０９の処理を実行することにより決定手段が実現される。
【００４５】
図１４は、デバイス１０２から、デバイス１０２の電力状態を取得する際の省電力状態制御モジュール６０２の動作の一例を説明するフローチャートである。この図１４の処理は、ステップＳ１０９の後に行われる。
前述したように、ステップＳ１１６において、省電力状態制御モジュール６０２は、新規に取得したデバイス１０２の情報をリスト５０１に新規に追加する。また、ステップＳ１１７において、省電力状態制御モジュール６０２は、リスト５０１の内容を更新する。
そして、ステップＳ１１６、Ｓ１１７の後に、ステップＳ３１８において、省電力状態制御モジュール６０２は、デバイス１０２からの通知の内容（電力状態）をキャッシュ情報としてキャッシュメモリに記憶する。このように本実施形態では、ステップＳ３１８の処理を実行することにより第２の記憶手段が実現される。
【００４６】
以上のように本実施形態では、デバイス１０２から過去に取得した電力状態を記憶しておく。そして、省電力状態制御モジュール６０２は、アプリケーション６０１からのポーリングの要求があった場合に、記憶しておいた電力状態をアプリケーション６０１に返すようにした。したがって、第１の実施形態で説明した効果に加え、クライアントＰＣ１０１及びデバイス１０２の処理負荷を軽減することができる。
【００４７】
尚、本実施形態に前述した第２の実施形態を組み合わせることもできる。
また、ステップＳ１０６とステップＳ３０７の間で、以下の処理を行うようにしてもよい。まず、デバイス１０２の電力状態を取得する方法についてのデフォルトの設定がなされているか否かを判定する。この判定の結果、デフォルトの設定がなされている場合には、設定の内容に応じてステップＳ３０７又はステップＳ１０９の処理を行う。一方、デフォルトの設定がなされていない場合には、デバイス１０２の電力状態を取得する方法をユーザに選択させ、選択された結果に応じてステップＳ３０７又はステップＳ１０９の処理を行う。例えば、キャッシュ情報に基づいてデバイス１０２の電力状態を伝えるか、ポーリングを行ってデバイス１０２の電力状態を伝えるかをユーザに選択させることができる。
【００４８】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。本実施形態では、クライアントＰＣ１０１に省電力状態制御モジュール６０２がインストールされていない場合に、省電力状態制御モジュール６０２をインストールするようにしている。このように本実施形態は、前述した第１〜第３の実施形態に、省電力状態制御モジュール６０２をインストールするための構成を付加したものとなる。したがって、本実施形態の説明において、前述した第１〜第３の実施形態と同一の部分については、図１〜図１４に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
【００４９】
図１５は、印刷システムの構成の一例を示す図である。
図１５において、デバイス４０２は、サーバ４０３のアドレスを予め又は任意のタイミングで登録し、ポーリングした相手のクライアントＰＣ４０１のアドレスをサーバ４０３に渡すようにする。デバイス４０２のこの他の構成は、前述した第１〜第３の実施形態のデバイス１０２と同じである。
【００５０】
モジュール提供装置の一例であるサーバ４０３は、デバイス４０２から渡されたアドレスに基づいてクライアントＰＣ４０１に問い合わせを行う。デバイス監視装置の一例であるクライアントＰＣ４０１は、省電力状態制御モジュール６０２がインストールされている旨の応答をサーバ４０３に返す。このとき、クライアントＰＣ４０１に省電力状態制御モジュール６０２がインストールされていない場合には、クライアントＰＣ４０１は応答を返さない。
【００５１】
サーバ４０３は、クライアントＰＣ４０１に問い合わせを行ってから一定時間応答がない場合には、クライアントＰＣ４０１に省電力状態制御モジュール６０２がインストールされていないと判定する。そして、サーバ４０３は、クライアントＰＣ４０１に省電力状態制御モジュール６０２をインストールさせる。クライアントＰＣ４０１のこの他の構成は、前述した第１〜第３の実施形態のクライアントＰＣ１０１と同じである。尚、クライアントＰＣ４０１に省電力状態制御モジュール６０２がインストールされた後は、第１〜第３の実施形態と同様の動作を行う。
以上のように本実施形態では、省電力状態制御モジュール６０２を外部から自動的にインストールするようにしたので、より柔軟に印刷システムを構築することができる。
【００５２】
（本発明の他の実施形態）
前述した本発明の実施形態におけるデバイス監視装置、モジュール提供装置を構成する各手段、並びにデバイス監視方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００５３】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００５４】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図４、図６、図１１、図１３、図１４に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も含む。
【００５５】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００５７】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００５８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００５９】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００６３】
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１の実施形態を示し、印刷システムの構成の一例を示す図である。
【図２】本発明の第１の実施形態を示し、デバイスからクライアントＰＣに通知する電力状態と、通知するタイミングの一例を示す図である。
【図３】本発明の第１の実施形態を示し、クライアントＰＣにおけるソフトウェアの構成の一例を示す図である。
【図４】本発明の第１の実施形態を示し、デバイスから、デバイスの電力状態を取得する際の省電力状態制御モジュールの動作の一例を説明するフローチャートである。
【図５】本発明の第１の実施形態を示し、省電力状態制御モジュールが管理するリスト（テーブル）の一例を示す図である。
【図６】本発明の第１の実施形態を示し、アプリケーションからの要求があった場合の省電力状態制御モジュールの動作の一例を説明するフローチャートである。
【図７】本発明の第１の実施形態を示し、省電力状態のデバイスに情報を送信しようとしているときに表示されるＧＵＩの一例を示す図である。
【図８】本発明の第１の実施形態を示し、クライアントＰＣのハードウェア構成の一例を示す図である。
【図９】本発明の第１の実施形態を示し、ＣＤ−ＲＯＭのメモリマップの一例を示す図である。
【図１０】本発明の第１の実施形態を示し、ＯＳＩ参照モデルの一例を示す図である。
【図１１】本発明の第２の実施形態を示し、アプリケーションからの要求があった場合の省電力状態制御モジュールの動作の一例を説明するフローチャートである。
【図１２】本発明の第２の実施形態を示し、省電力状態のデバイスに情報を送信しようとしているときに、ユーザにポーリングの頻度を変更することを促すために表示されるＧＵＩの一例を示す図である。
【図１３】本発明の第３の実施形態を示し、アプリケーションからの要求があった場合の省電力状態制御モジュールの動作の一例を説明するフローチャートである。
【図１４】本発明の第３の実施形態を示し、デバイスから、デバイスの電力状態を取得する際の省電力状態制御モジュールの動作の一例を説明するフローチャートである。
【図１５】本発明の第４の実施形態を示し、印刷システムの構成の一例を示す図である。
【符号の説明】
【００６５】
１０１、４０１  クライアントＰＣ
１０２、４０２  デバイス
１０３  ネットワーク
４０３  サーバ
６０１  アプリケーション
６０２  省電力状態制御モジュール
６０３  データベースアクセスモジュール
６０４  状態保持データベース
【図１】
0005132258.tif 000002
【図２】
0005132258.tif 000003
【図３】
0005132258.tif 000004
【図４】
0005132258.tif 000005
【図５】
0005132258.tif 000006
【図６】
0005132258.tif 000007
【図７】
0005132258.tif 000008
【図８】
0005132258.tif 000009
【図９】
0005132258.tif 000010
【図１０】
0005132258.tif 000011
【図１１】
0005132258.tif 000012
【図１２】
0005132258.tif 000013
【図１３】
0005132258.tif 000014
【図１４】
0005132258.tif 000015
【図１５】
0005132258.tif 000016