説明

デバイス監視装置、デバイス監視方法、及びコンピュータプログラム

【課題】予期せぬアプリケーションからのポーリングがあっても、デバイスが省電力状態から通常電力状態に復帰してしまうことを防止する。
【解決手段】クライアントPC101は、デバイス102毎にデバイス102の電力状態を、リスト501を用いて管理する。デバイス102に情報を送信する際に、省電力状態制御モジュール602は、その送信する情報をフックし、フックした情報からその情報の送信先となるデバイス102を特定し、特定したデバイス102の電力状態を、リスト501を参照することにより把握する。そして、特定したデバイス102の電力状態が省電力状態であった場合、省電力状態制御モジュール602は、フックした情報を送信してよいかどうかをユーザに確認した上で、フックした情報を特定したデバイス102に送信させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デバイス監視装置、デバイス監視方法、及びコンピュータプログラムに関し、特に、デバイスを監視するために用いて好適なものである。
【背景技術】
【0002】
ネットワーク上のコンピュータからのパケットを受信することにより省電力状態から電力が通常状態に復帰する印刷装置が存在する。このように省電力状態が定義されている印刷装置から定期的に印刷可能か否かの状態等を、印刷装置を管理するコンピュータが取得する場合、印刷装置は定期的に省電力状態から通常の電力状態に復帰してしまう。このため、印刷装置において、電力が通常の電力状態にある時間が長くなってしまう。以下の説明では、印刷可能か否かの状態等を印刷装置等のデバイスから定期的に取得することを、必要に応じてポーリングと称する。ポーリングを行う目的が、印刷の動作で用紙切れ等のエラー発生を検知して印刷可能かどうかをチェックするためであれば、印刷の動作がない省電力状態中はエラーが発生しないので、省電力状態中はポーリングを行う必要がない。そのため省電力状態中の不用意なポーリングを防ぐことができれば効率化を図ることが出来る。
【0003】
その対策として、以下のような方法がある。まず、印刷装置を管理するコンピュータに省電力状態監視モジュールを組み込み、印刷装置が省電力状態監視モジュールに対して省電力状態にある旨を通知するようにする。そして、コンピュータのアプリケーションが印刷装置にポーリングを行う際には、省電力状態監視モジュールに印刷装置の状態を問い合わせ、問い合わせた結果、印刷装置が省電力状態にないときにだけポーリングを行うようにする。省電力状態にあることを通知する技術としては、特許文献1、特許文献2に記載の技術が提案されている。
ところが、マイクロソフトのStandard TCP/IP Portのように省電力状態監視モジュールを経由せずにポーリングを行うアプリケーションが存在するため、前述した方法と異なる方法での対策が必要になった。そこで、省電力状態でも通電している印刷装置のネットワークモジュール(サブモジュール)がコンピュータ上のアプリケーションに応答を返す方法が考えられている。
【0004】
【特許文献1】特開2005−94681号公報
【特許文献2】特開2000−261515号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、印刷装置のネットワークモジュール(サブモジュール)に登録できるパケットの種類には上限がある。したがって、予め決められた種類のパケットのみしか対応することができないというハードウェア的な制限がある。このため、予期せぬアプリケーションからのポーリングには対応することができないという問題点があった。
【0006】
本発明は、このような問題点に鑑みてなされたものであり、デバイスが省電力状態から通常の電力状態に復帰してしまうことを従来よりも確実に防止することを目的とする。
【課題を解決するための手段】
【0007】
本発明のデバイス監視装置は、ネットワークを介して相互に接続されたデバイスを監視するデバイス監視装置であって、前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶手段と、前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止手段と、前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶手段により記憶されている電力状態に基づいて判定する判定手段と、前記判定手段による判定の結果に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定手段と、前記決定手段により決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付け手段とを有し、前記決定手段は、前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態である場合とそうでない場合とで、前記デバイスの情報の取得の要求に対する応答の方法を異ならせることを特徴とする。
本発明のモジュール提供装置は、請求項5に記載のデバイス監視装置を特定する情報を、前記デバイス監視装置によって監視されるデバイスから取得する取得手段と、前記取得手段により取得された情報に基づいて、請求項1〜4の何れか1項に記載の各手段を実行するためのモジュールを有するか否かの問い合わせを、前記デバイス監視装置に行う問い合わせ手段と、前記問い合わせ手段による問い合わせの結果、前記モジュールを有さない場合には、前記モジュールを前記デバイス監視装置に送信する送信手段とを有することを特徴とする。
【0008】
本発明のデバイス監視方法は、ネットワークを介して相互に接続されたデバイスを監視するデバイス監視方法であって、前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶ステップと、前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止ステップと、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶ステップにより記憶されている電力状態に基づいて判定する判定ステップと、前記判定ステップによる判定の結果に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定ステップと、前記決定ステップにより決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付けステップとを有し、前記決定ステップは、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態である場合とそうでない場合とで、前記デバイスの情報の取得の要求に対する応答の方法を異ならせることを特徴とする。
【0009】
本発明のコンピュータプログラムは、ネットワークを介して相互に接続されたデバイスを監視することをコンピュータに実行させるためのコンピュータプログラムであって、前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶ステップと、前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止ステップと、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶ステップにより記憶されている電力状態に基づいて判定する判定ステップと、前記判定ステップによる判定の結果に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定ステップと、前記決定ステップにより決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付けステップとをコンピュータに実行させ、前記決定ステップは、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態である場合とそうでない場合とで、前記デバイスの情報の取得の要求に対する応答の方法を異ならせることを特徴とする。
【発明の効果】
【0010】
本発明によれば、デバイスの電力状態を記憶媒体に記憶して管理しておく。そして、デバイスの情報の取得を要求するための情報が前記デバイスに送信されるのを阻止されると、その情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、記憶しておいた電力状態に基づいて判定する。この判定の結果に応じて、デバイスの情報の取得の要求に対する応答の方法を異ならせる。したがって、デバイスの情報の取得を要求するための情報を確実に管理することができると共に、デバイスのサブモジュールを使用しなくても、デバイスの情報の取得の要求に対応することができる。よって、デバイスが省電力状態から通常の電力状態に復帰してしまうことを従来よりも確実に防止することができる。
【発明を実施するための最良の形態】
【0011】
(第1の実施形態)
以下に、図面を参照しながら、本発明の第1の実施形態について説明する。
図1は、印刷システムの構成の一例を示す図である。
図1において、印刷システムは、デバイス監視装置の一例であるクライアントPC(Personal Computer)101とデバイス102とを備えている。クライアントPC101とデバイス102とがネットワーク103を介して相互に接続されている。
デバイス102は、省電力機能を有している。クライアントPC101は、省電力状態制御モジュールと、省電力機能を有する装置から定期的に情報を取得するための(ポーリングするための)アプリケーションプログラムとがインストールされている。尚、以下の説明では、このアプリケーションプログラムをアプリケーションと称する。
【0012】
このように本実施形態では、省電力状態制御モジュールと、省電力機能を有する装置から定期的に情報を取得するための(ポーリングするための)アプリケーションは同一の機器内に構成されている。しかしながら、ポーリングするためのアプリケーションが定期的な情報の取得を行うに際し送信される情報を省電力状態制御モジュールが取得することが可能であれば、それらは、必ずしも同一の機器内に構成されている必要はない。またその場合、これらの装置は、有線無線を問わずネットワークを介して接続されている。
【0013】
また、省電力状態制御モジュールと、ポーリングするためのアプリケーションと、省電力機能を有する装置とが同一の機器内に構成されてもよい。このようにした場合には、ネットワークではなく内部的な接続手段を用いて通信を行うようにする。
【0014】
省電力機能を有するデバイス102は、例えば印刷装置であり、デバイス102のインターフェースからのユーザによる操作があった場合や、印刷等の動作が終了してから予め設定された時間が経過した場合に、通常の電力状態から省電力状態に移行する。
デバイス102は、通常の電力状態から省電力状態になる前に特定の又は不特定の相手に省電力状態になる旨を通知する。不特定の相手に通知する手段としては省電力通知用に定義されたプロトコルであるTCP/IPに従ってデータをマルチキャストで送信する方法がある。一方、特定の相手に通知する手段としては省電力通知用に定義されたプロトコルであるTCP/IPに従ってデータをユニキャストで送信する方法がある。
【0015】
また、デバイス102は、省電力状態から通常の電力状態に復帰する場合にもその旨を通知する。この他に、図2に示すように、電源オン時(電源断の状態から通常の電力状態になるとき)、シャットダウン時(通常の電力状態又は省電力状態から電源断の状態になるとき)にも、デバイス102の状態を通知する。更に、デバイス102は、起動中の場合(通常の電力状態の場合)にも予め設定された時間間隔で定期的に起動している旨を通知する。
尚、省電力機能を有する装置(デバイス102)は、省電力機能を有し、外部装置とパケット通信等の通信を行える装置であれば、印刷装置に限らずどのような装置であってもよい。また、図1では、デバイス102を1台だけ示しているが、同じ種類のデバイスや複数の種類のデバイスが印刷システムに複数台あってもよい。
【0016】
次に、クライアントPC101における動作の詳細の一例を説明する。
図3は、クライアントPC101におけるソフトウェアの構成の一例を示す図である。図4は、デバイス102から、デバイス102の電力状態を取得する際の省電力状態制御モジュール602の動作の一例を説明するフローチャートである。
図4のステップS111において、省電力状態制御モジュール602は起動し、デバイス102からの電力状態の通知を取得するために待機する。尚、既に起動している場合には、このステップS111の処理は省略される。
次に、ステップS112において、省電力状態制御モジュール602は、プログラムを終了するか否かを判定する。この判定の結果、プログラムを終了する場合には、図4のフローチャートによる処理を終了する。
【0017】
一方、プログラムを終了しない場合には、ステップS113に進む。ステップS113に進むと、省電力状態制御モジュール602は、省電力機能を有するデバイス102からの電力状態の通知があったか否かを判定する。この判定の結果、省電力機能を有するデバイス102からの通知があった場合には、ステップS114に進み、省電力状態制御モジュール602は、その通知の内容を解析する。ステップS114で解析する通信の内容には、送信元のIPアドレスと、MACアドレスと、図2に示したようにして定義された電力状態を表す数値とが含まれているので、ステップS114において、省電力状態制御モジュール602は、それらの情報を取得する。尚、本実施形態では、図2において、電源ON、起動中、スリープIN、スリープOUT、電源OFFを表す数値が、夫々「1」、「2」、「3」、「4」、「5」であるとする。
【0018】
ここで、電源ONとは、省電力状態から通常の電力状態に復帰した状態を表す。起動中とは、予め設定された時間間隔で定期的に起動している旨を通知する場合に、デバイス102の電力状態が通常の電力状態であることを表す。スリープINとは、通常の電力状態から省電力状態に移行した状態を表す。スリープOUTとは、省電力状態から通常の電力状態に復帰した状態を表す。電源OFFとは、通常の電力状態又は省電力状態から電源断の状態になる状態を表す。
【0019】
次に、ステップS115において、省電力状態制御モジュール602は、ステップS114で取得した情報に含まれる"デバイス102を識別するための識別情報"が、リストに既に存在しているか否かを判定する。すなわち、省電力状態制御モジュール602は、ステップS114で取得した情報を自身が管理するリストに追加するに際し、取得したものと同じMACアドレス又は同じIPアドレスの機器がそのリストに既に存在するか否かを判定する。
図5は、省電力状態制御モジュール602が管理するリスト(テーブル)の一例を示す図である。図5において、リスト501は、電力状態を通知したデバイス102を一意に識別するための識別番号であるデバイスIDと、そのデバイス102のIPアドレス及びMACアドレスと、図2で定義された電力状態を表す数値とを互いに対応付けて記憶するものである。ただし、リスト501の内容はこのようなものに限定されず、デバイス102の名称等の情報が含まれていてもよい。また、このリスト501は、図3に示す状態保持データベース604内に記憶される。尚、状態保持データベース604内の情報は、データベースアクセスモジュール603によって制御される。また、リスト501は、データベースの形式を取らなくても、記憶媒体上にファイル形式で保存されていてもよい。
【0020】
ステップS115の判定の結果、ステップS114で取得したのと同じMACアドレス又は同じIPアドレスの機器が既にリスト501に存在する場合には、ステップS117に進む。そして、省電力状態制御モジュール602は、ステップS114で取得した情報に基づいて、リスト501の内容を更新する。そして、前述したステップS112に戻る。
一方、ステップS114で取得したのと同じMACアドレス又は同じIPアドレスの機器がリスト501に存在しない場合には、ステップS116に進む。そして、省電力状態制御モジュール602は、ステップS114で取得した情報に基づいて、新規に取得したデバイス102の情報をリスト501に新規に追加する。そして、前述したステップS112に戻る。
以上のように本実施形態では、少なくともステップS116、S117の処理を実行することによって記憶手段が実現される。
【0021】
省電力機能を有するデバイス102から定期的に情報を取得するためのアプリケーション601は、デバイス102が有する情報を表示したり設定したりする機能を有している。アプリケーション601は、SNMPやSLP等のプロトコルを用いて、デバイス102から定期的に情報を取得する(すなわち、ポーリングを行う)。このようにアプリケーション601は、定期的にポーリングを行っているので、省電力状態にあるデバイス102を通常の電力状態にしてしまうことになる。
省電力状態制御モジュール602は、アプリケーション601が省電力機能を有するデバイス102に対してポーリングを行うために送信しようとする情報を、その情報が送信される前にフック(横取り)する。
【0022】
情報をフック(横取り)する方法は、例えば、省電力状態制御モジュール602がレイヤ7のファイアーウォールとして機能することで実現される。レイヤ7とは、図10に示すOSI参照モデル(OSI Reference Model)のアプリケーション層のことである。省電力状態制御モジュール602は、アプリケーション601がSNMPやSLP等の"デバイス102から情報を取得するための所定のプロトコルに従った情報"を送信しようとしているか否かを見分ける機能を有する。
この機能により、送信しようとしている情報のプロトコルが、デバイス102を省電力状態のままで通常の電力状態にする必要のないものに対応するプロトコルであれば、省電力状態制御モジュール602は、ポーリングを制限する。一方、デバイス102に印刷を行わせる際には、省電力状態にあるデバイス102を無条件で省電力状態から通常の電力状態に復帰させてよいものとする。すなわち、印刷等で使用されるプロトコルの情報を送信しようとしている場合、省電力状態制御モジュール602は、ポーリングを許可する。
また、省電力状態制御モジュール602は、送信しようとしている情報のネットワーク層、データリンク層のレベルを判断することにより、どのデバイス102に対して情報を送信しようとしているかを見分けることが出来る。具体的にこの判断は、送信しようとしている相手の識別情報(例えばIPアドレス又はMACアドレス)を解析し、その識別情報と、図5に示したリスト501の識別情報(IPアドレス又はMACアドレス)とを比較することで実現される。
【0023】
図6は、アプリケーション601からの要求があった場合の省電力状態制御モジュール602の動作の一例を説明するフローチャートである。
図6のステップS101において、省電力状態制御モジュール602は起動し、アプリケーション601からの要求を受けるために待機する。尚、既に起動している場合には、このステップS101の処理は省略される。
次に、ステップS102において、省電力状態制御モジュール602は、プログラムを終了するか否かを判定する。この判定の結果、プログラムを終了する場合には、図6のフローチャートによる処理を終了する。
【0024】
一方、プログラムを終了しない場合には、ステップS103に進む。ステップS103に進むと、省電力状態制御モジュール602は、アプリケーション601が送信しようとする情報をアプリケーション601から受け取ったか否かを判定する。この判定の結果、アプリケーション601が送信しようとする情報を受け取っていない場合には、ステップS102に戻る。
【0025】
一方、アプリケーション601が送信しようとする情報を受け取った場合には、ステップS104に進み、省電力状態制御モジュール602は、アプリケーション601が送信しようとする情報をフック(横取り)する。
このように本実施形態では、ステップS104の処理を実行することにより阻止手段が実現される。
次に、ステップS105において、省電力状態制御モジュール602は、フックした情報と、図5に示したリスト501とに基づいて、フックした情報の送信先が対象装置であるか否かを判定する。
このステップS105の処理を具体的に説明すると、省電力状態制御モジュール602は、フックした情報に基づいて、その情報の送信先のデバイス102の識別情報(IPアドレス又はMACアドレス)を解析する。そして、省電力状態制御モジュール602は、解析した識別情報(IPアドレス又はMACアドレス)が、図5に示したリスト501に登録されているか否かを判定する。この判定の結果、解析した識別情報(IPアドレス又はMACアドレス)が、図5に示したリスト501に登録されていない場合には、フックした情報の送信先が対象装置でないと判定する。
【0026】
一方、解析した識別情報(IPアドレス又はMACアドレス)が、図5に示したリスト501に登録されていない場合には、省電力状態制御モジュール602は、次の判定を緒行う。すなわち、省電力状態制御モジュール602は、解析した識別情報(IPアドレス又はMACアドレス)が登録されているレコードの電力状態が、省電力状態であることを示しているか否かを判定する。前述した例では、スリープINを表す数値が「3」であるので、省電力状態制御モジュール602は、解析した識別情報(IPアドレス又はMACアドレス)が登録されているレコードの電力状態が「3」であるか否かを判定する。この判定の結果、解析した識別情報(IPアドレス又はMACアドレス)が登録されているレコードの電力状態が省電力状態(「3」)でない場合には、フックした情報の送信先が対象装置でないと判定する。一方、解析した識別情報(IPアドレス又はMACアドレス)が登録されているレコードの電力状態が省電力状態(「3」)である場合には、フックした情報の送信先が対象装置であると判定する。
このように本実施形態では、ステップS105の処理を実行することにより判定手段が実現される。
【0027】
省電力状態であるデバイス102にアクセスしてしまうと、そのデバイス102が省電力状態から通常の電力状態に復帰してしまう。しかしながら、ここでは、状態保持データベース604内のリスト501にアクセスしているのみで、実際のデバイス102にはアクセスしていない。よって、デバイス102が省電力状態から通常の電力状態に復帰してしまうことはない。
【0028】
以上のようなステップS105の判定の結果、フックした情報の送信先が対象装置でない場合には、後述するステップS109に進む。一方、フックした情報の送信先が対象装置である場合には、ステップS106に進む。
ステップS106に進むと、省電力状態制御モジュール602は、フックした情報のプロトコルが、SNMPやSLP等の"デバイス102から情報を取得するための所定のプロトコル"であるか否かを判定する。この判定は、前述したように、省電力状態制御モジュール602における"レイヤ7のファイアーウォール"の機能を用いて行うことができる。この判定の結果、フックした情報のプロトコルが所定のプロトコルでない場合には、後述するステップS109に進む。
【0029】
一方、フックした情報のプロトコルが所定のプロトコルである場合には、ステップS107に進む。ステップS107に進むと、省電力状態制御モジュール602は、クライアントPC101が備える表示装置にGUI(メッセージ画面)を表示させ、省電力状態のデバイス102に情報を送信しようとしている旨をユーザに示させる。図7は、省電力状態のデバイス102に情報を送信しようとしているときに表示されるGUIの一例を示す図である。
そして、ステップS108において、省電力状態制御モジュール602は、ステップS107で表示させたGUIに対するユーザの操作に基づいて、フックした情報をデバイス102に送信するか否かを判定する。すなわち、省電力状態のデバイス102に情報を送信することをユーザが了解したか否かを判定する。この判定の結果、省電力状態のデバイス102に情報を送信することをユーザが了解しなかった場合には、ステップS102に戻る。この場合、フックした情報(パケット)はデバイス102に送信されない。
【0030】
一方、省電力状態のデバイス102に情報を送信することをユーザが了解した場合には、ステップS109に進む。
ステップS109に進むと、省電力状態制御モジュール602は、フックした情報に基づくパケットを、通信インターフェースを用いて該当するデバイス102に送信する。このステップS109で送信される情報によりポーリングが行われ、クライアントPC101は、デバイス102の情報が受け付けられたか否かを、例えば図4のステップS113で判定することになる。
以上のように本実施形態では、ステップS107〜S109の処理を実行することにより決定手段が実現される。図6のフローチャートが実行された後に図4のステップS113の処理を実行することにより受け付け手段が実現される。
【0031】
尚、ステップS105、ステップS106の順番は、図6に示したものに限定されず、解析効率がよい順に変更することができる。例えば、プロトコルの要素数とデバイス102の数とに応じて、ステップS105、ステップS106の順番を決定することができる。
【0032】
図8は、クライアントPC101のハードウェア構成の一例を示す図である。
図8において、CPU1010と、ROM1020と、RAM1030と、キーボード(KB)1040のキーボードコントローラ(KBC)1050とが、システムバス1130に接続されている。また、表示部としてのCRTディスプレイ(CRT)1060のCRTコントローラ(CRTC)1070が、システムバス1130に接続されている。そして、ハードディスク(HD)1080及びフレキシブルディスク(FD)1090のディスクコントローラ(DKC)1100も、システムバス1130に接続されている。さらに、ネットワーク103との接続のためのネットワークインターフェースコントローラ(NIC)1120も、システムバス1130に接続されている。
【0033】
CPU1010は、ROM1020或いはHD1080に記憶されたソフトウェア、或いはFD1090より供給されるソフトウェアを実行することで、システムバス1130に接続された各構成部を総括的に制御する。
すなわち、CPU1010は、所定の処理シーケンスに従った処理プログラムを、ROM1020、或いはHD1080、或いはFD1090から読み出して実行することで、前述した動作を実現するための制御を行う。
【0034】
RAM1030は、CPU1010の主メモリ或いはワークエリア等として機能する。
KBC1050は、KB1040や図示していないポインティングデバイス等からの指示入力を制御する。
【0035】
CRTC1070は、CRT1060の表示を制御する。
DKC1100は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、及び本実施形態における所定の処理プログラム等を記憶するHD1080及びFD1090とのアクセスを制御する。
NIC1120は、ネットワーク103上の装置或いはシステムと双方向にデータをやりとりする。
【0036】
前述した機能を実現するプログラムは、外部からインストールされるプログラムによって、図8に示すようなハードウェア構成を有するクライアントPC101によって遂行することができる。その場合、そのプログラムは、CD−ROMやDVD−ROMやフラッシュメモリ(登録商標)やフレキシブルディスク等の記憶媒体により、クライアントPC101に供給することができる。この他、電子メールやパソコン通信等を利用して、ネットワーク103を介して、外部の記憶媒体からプログラムを含む情報群をクライアントPC101にロードすることにより、プログラムをクライアントPC101に供給することもできる。
【0037】
図9は、記憶媒体の一例であるCD−ROMのメモリマップの一例を示す図である。
図9において、領域9999にはディレクトリ情報が記憶されている。ディレクトリ情報は、インストールプログラムを記憶してある領域9998の位置と、プログラムを記憶してある領域9997の位置とを示している。前述した機能を実現するプログラムがクライアントPC101にインストールされる際には、まずインストールプログラムを記憶してある領域9998に記憶されているインストールプログラムがシステムにロードされ、CPU1010によって実行される。次に、CPU1010によって実行されるインストールプログラムが、プログラムを記憶してある領域9997からプログラムを読み出して、ハードディスクハードディスク(HD)1080に格納する。
【0038】
以上のように本実施形態では、クライアントPC101は、デバイス102毎にデバイス102の電力状態を、デバイス102から送信される情報に基づいてリスト501を用いて管理する。デバイス102に情報を送信する際に、省電力状態制御モジュール602は、その送信する情報をフックし、フックした情報からその情報の送信先となるデバイス102を特定する。そして、省電力状態制御モジュール602は、特定したデバイス102の電力状態を、リスト501を参照することにより把握する。そして、特定したデバイス102の電力状態が省電力状態であった場合、省電力状態制御モジュール602は、フックした情報を送信してよいかどうかをユーザに確認する。そして、省電力状態制御モジュール602は、ユーザによって送信が許可された場合に、フックした情報を、特定したデバイス102に送信させる。したがって、予期せぬアプリケーション601ンからのポーリングがあってもデバイス102を省電力状態に保つことができる。また、デバイス102が省電力状態のときにだけ監視によるメッセージを表示するので、クライアントPC101とユーザへの負荷を軽減しつつ所望の処理を行うことが可能である。更に、アプリケーション601がどのコンピュータで動作しているかを検出することにより、不用意にデバイス102にポーリングされることを防ぐことが可能となる。
【0039】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。本実施形態では、第1の実施形態で説明したステップS107、S108の処理の代わりに、以下に説明する処理を行う。このように、本実施形態と前述した第1の実施形態とは、省電力状態制御モジュール602の処理の一部が異なるだけである。したがって、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図10に付した符号と同一の符号を付すこと等により詳細な説明を省略する。
【0040】
図11は、アプリケーション601からの要求があった場合の省電力状態制御モジュール602の動作の一例を説明するフローチャートである。
第1の実施形態で説明したように、ステップS106において、フックした情報のプロトコルが、SNMPやSLP等の"デバイス102から情報を取得するための所定のプロトコル"であるか否かが判定される。この判定の結果、フックした情報のプロトコルが所定のプロトコルである場合には、ステップS207に進む。ステップS207に進むと、省電力状態制御モジュール602は、ポーリングの頻度(情報の送信間隔)を変更するGUI(メッセージ画面)をクライアントPC101が備える表示装置に表示させ、ユーザに提示する。
【0041】
図12は、省電力状態のデバイス102に情報を送信しようとしているときに、ユーザにポーリングの頻度を変更することを促すために表示されるGUIの一例を示す図である。
図12の例では、10分の1にポーリングする間隔を間引くか、次のポーリングまで1時間以上時間をおくか、HD1080の保護時間(一度動かしたら止めずに動かすべき時間)を過ぎてから次回のポーリングを行うかの何れかにポーリング間隔を設定できる。ただし、このポーリング間隔の時間間隔の選択範囲は、このようなものに限定されず、離散的な値をとっても連続的な値をとってもよい。
そして、ステップS208において、省電力状態制御モジュール602は、ステップS207で表示させたGUIに対するユーザの操作に基づいて、ポーリングの頻度を変更する。ステップS109に進み、ステップS208で変更された頻度でフックした情報に基づくパケットがデバイス102に送信される。
以上のように本実施形態では、ステップS207、S208、S109の処理を実行することにより、決定手段が実現される。
【0042】
以上のように本実施形態では、特定したデバイス102の電力状態が省電力状態であった場合、省電力状態制御モジュール602は、フックした情報に基づくポーリングの頻度をユーザに決定させ、決定させた頻度でフックした情報に基づくポーリングを実行する。このようにしても、前述した第1の実施形態と同様の効果を奏することができる。
尚、第1の実施形態と第2の実施形態とを組み合わせるようにしてもよい。例えば、第1の実施形態のように、フックした情報をデバイス102に送信するか否かをユーザに決定させ、フックした情報をデバイス102に送信することが決定された場合に、第2の実施形態のように、ポーリングの頻度をユーザに決定させるようにしてもよい。
【0043】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。本実施形態では、第1の実施形態で説明したステップS107、S108の処理の代わりに以下に説明する処理を行うと共に、図4に示したフローチャートに以下に説明する処理を追加で行う。このように、本実施形態と前述した第1の実施形態とは、省電力状態制御モジュール602の処理の一部が異なるだけである。したがって、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図10に付した符号と同一の符号を付すこと等により詳細な説明を省略する。
【0044】
図13は、アプリケーション601からの要求があった場合の省電力状態制御モジュール602の動作の一例を説明するフローチャートである。
第1の実施形態で説明したように、ステップS106において、フックした情報のプロトコルが、SNMPやSLP等の"デバイス102から情報を取得するための所定のプロトコル"であるか否かが判定される。この判定の結果、フックした情報のプロトコルが所定のプロトコルである場合には、ステップS307に進む。ステップS307に進むと、省電力状態制御モジュール602は、過去のポーリングの際にキャッシュメモリに記憶したキャッシュ情報(例えば前回のポーリングで取得したデバイス102の電力状態を示す情報)があるか否かを判定する。この判定の結果、キャッシュ情報がない場合には、ステップS109に進み、省電力状態制御モジュール602は、フックした情報に基づくパケットを、該当するデバイス102に送信する。
一方、キャッシュ情報がある場合には、ステップS308に進む。ステップS308に進むと、省電力状態制御モジュール602は、キャッシュ情報(例えば前回取得した電力状態)をアプリケーション601に返す。そして、省電力状態制御モジュール602は、キャッシュ情報を削除する。
以上のように本実施形態では、ステップS307、S308、S109の処理を実行することにより決定手段が実現される。
【0045】
図14は、デバイス102から、デバイス102の電力状態を取得する際の省電力状態制御モジュール602の動作の一例を説明するフローチャートである。この図14の処理は、ステップS109の後に行われる。
前述したように、ステップS116において、省電力状態制御モジュール602は、新規に取得したデバイス102の情報をリスト501に新規に追加する。また、ステップS117において、省電力状態制御モジュール602は、リスト501の内容を更新する。
そして、ステップS116、S117の後に、ステップS318において、省電力状態制御モジュール602は、デバイス102からの通知の内容(電力状態)をキャッシュ情報としてキャッシュメモリに記憶する。このように本実施形態では、ステップS318の処理を実行することにより第2の記憶手段が実現される。
【0046】
以上のように本実施形態では、デバイス102から過去に取得した電力状態を記憶しておく。そして、省電力状態制御モジュール602は、アプリケーション601からのポーリングの要求があった場合に、記憶しておいた電力状態をアプリケーション601に返すようにした。したがって、第1の実施形態で説明した効果に加え、クライアントPC101及びデバイス102の処理負荷を軽減することができる。
【0047】
尚、本実施形態に前述した第2の実施形態を組み合わせることもできる。
また、ステップS106とステップS307の間で、以下の処理を行うようにしてもよい。まず、デバイス102の電力状態を取得する方法についてのデフォルトの設定がなされているか否かを判定する。この判定の結果、デフォルトの設定がなされている場合には、設定の内容に応じてステップS307又はステップS109の処理を行う。一方、デフォルトの設定がなされていない場合には、デバイス102の電力状態を取得する方法をユーザに選択させ、選択された結果に応じてステップS307又はステップS109の処理を行う。例えば、キャッシュ情報に基づいてデバイス102の電力状態を伝えるか、ポーリングを行ってデバイス102の電力状態を伝えるかをユーザに選択させることができる。
【0048】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。本実施形態では、クライアントPC101に省電力状態制御モジュール602がインストールされていない場合に、省電力状態制御モジュール602をインストールするようにしている。このように本実施形態は、前述した第1〜第3の実施形態に、省電力状態制御モジュール602をインストールするための構成を付加したものとなる。したがって、本実施形態の説明において、前述した第1〜第3の実施形態と同一の部分については、図1〜図14に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
【0049】
図15は、印刷システムの構成の一例を示す図である。
図15において、デバイス402は、サーバ403のアドレスを予め又は任意のタイミングで登録し、ポーリングした相手のクライアントPC401のアドレスをサーバ403に渡すようにする。デバイス402のこの他の構成は、前述した第1〜第3の実施形態のデバイス102と同じである。
【0050】
モジュール提供装置の一例であるサーバ403は、デバイス402から渡されたアドレスに基づいてクライアントPC401に問い合わせを行う。デバイス監視装置の一例であるクライアントPC401は、省電力状態制御モジュール602がインストールされている旨の応答をサーバ403に返す。このとき、クライアントPC401に省電力状態制御モジュール602がインストールされていない場合には、クライアントPC401は応答を返さない。
【0051】
サーバ403は、クライアントPC401に問い合わせを行ってから一定時間応答がない場合には、クライアントPC401に省電力状態制御モジュール602がインストールされていないと判定する。そして、サーバ403は、クライアントPC401に省電力状態制御モジュール602をインストールさせる。クライアントPC401のこの他の構成は、前述した第1〜第3の実施形態のクライアントPC101と同じである。尚、クライアントPC401に省電力状態制御モジュール602がインストールされた後は、第1〜第3の実施形態と同様の動作を行う。
以上のように本実施形態では、省電力状態制御モジュール602を外部から自動的にインストールするようにしたので、より柔軟に印刷システムを構築することができる。
【0052】
(本発明の他の実施形態)
前述した本発明の実施形態におけるデバイス監視装置、モジュール提供装置を構成する各手段、並びにデバイス監視方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【0053】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【0054】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図4、図6、図11、図13、図14に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も含む。
【0055】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0056】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0057】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0058】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0059】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0060】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0061】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0062】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0063】
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【0064】
【図1】本発明の第1の実施形態を示し、印刷システムの構成の一例を示す図である。
【図2】本発明の第1の実施形態を示し、デバイスからクライアントPCに通知する電力状態と、通知するタイミングの一例を示す図である。
【図3】本発明の第1の実施形態を示し、クライアントPCにおけるソフトウェアの構成の一例を示す図である。
【図4】本発明の第1の実施形態を示し、デバイスから、デバイスの電力状態を取得する際の省電力状態制御モジュールの動作の一例を説明するフローチャートである。
【図5】本発明の第1の実施形態を示し、省電力状態制御モジュールが管理するリスト(テーブル)の一例を示す図である。
【図6】本発明の第1の実施形態を示し、アプリケーションからの要求があった場合の省電力状態制御モジュールの動作の一例を説明するフローチャートである。
【図7】本発明の第1の実施形態を示し、省電力状態のデバイスに情報を送信しようとしているときに表示されるGUIの一例を示す図である。
【図8】本発明の第1の実施形態を示し、クライアントPCのハードウェア構成の一例を示す図である。
【図9】本発明の第1の実施形態を示し、CD−ROMのメモリマップの一例を示す図である。
【図10】本発明の第1の実施形態を示し、OSI参照モデルの一例を示す図である。
【図11】本発明の第2の実施形態を示し、アプリケーションからの要求があった場合の省電力状態制御モジュールの動作の一例を説明するフローチャートである。
【図12】本発明の第2の実施形態を示し、省電力状態のデバイスに情報を送信しようとしているときに、ユーザにポーリングの頻度を変更することを促すために表示されるGUIの一例を示す図である。
【図13】本発明の第3の実施形態を示し、アプリケーションからの要求があった場合の省電力状態制御モジュールの動作の一例を説明するフローチャートである。
【図14】本発明の第3の実施形態を示し、デバイスから、デバイスの電力状態を取得する際の省電力状態制御モジュールの動作の一例を説明するフローチャートである。
【図15】本発明の第4の実施形態を示し、印刷システムの構成の一例を示す図である。
【符号の説明】
【0065】
101、401 クライアントPC
102、402 デバイス
103 ネットワーク
403 サーバ
601 アプリケーション
602 省電力状態制御モジュール
603 データベースアクセスモジュール
604 状態保持データベース

【特許請求の範囲】
【請求項1】
ネットワークを介して相互に接続されたデバイスを監視するデバイス監視装置であって、
前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶手段と、
前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止手段と、
前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶手段により記憶されている電力状態に基づいて判定する判定手段と、
前記判定手段による判定の結果に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定手段と、
前記決定手段により決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付け手段とを有し、
前記決定手段は、前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態である場合とそうでない場合とで、前記デバイスの情報の取得の要求に対する応答の方法を異ならせることを特徴とするデバイス監視装置。
【請求項2】
前記決定手段は、前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態である場合には、ユーザからの指示に基づいて、前記阻止手段により送信が阻止された情報を、前記デバイスに送信するか否かを決定し、
前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態でない場合には、阻止手段により送信が阻止された情報を、前記デバイスに送信すると決定することを特徴とする請求項1に記載のデバイス監視装置。
【請求項3】
前記決定手段は、前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態である場合には、ユーザからの指示に基づいて、前記阻止手段により送信が阻止された情報の送信間隔を決定し、
前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態でない場合には、前記阻止手段により送信が阻止された情報を、前記デバイスに送信すると決定することを特徴とする請求項1又は2に記載のデバイス監視装置。
【請求項4】
前記受け付け手段により受け付けられたデバイスの情報の取得の要求に対する応答に関する情報を記憶媒体に記憶する第2の記憶手段を有し、
前記決定手段は、前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態である場合であって、前記第2の記憶手段により情報が記憶されている場合には、前記第2の記憶手段により記憶された情報を前記デバイスの情報の取得の要求に対する応答とし、
前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態である場合であって、前記第2の記憶手段により情報が記憶されていない場合には、前記阻止手段により送信が阻止された情報を、前記デバイスに送信すると決定し、
前記阻止手段により送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態でない場合には、前記阻止手段により送信が阻止された情報を、前記デバイスに送信すると決定することを特徴とする請求項1〜3の何れか1項に記載のデバイス監視装置。
【請求項5】
請求項1〜4の何れか1項に記載の手段を実行するためのモジュールを有していない場合に、前記ネットワークを介して相互に接続されたモジュール提供装置から前記モジュールを取り込む取り込み手段を有することを特徴とする請求項1〜4の何れか1項に記載のデバイス監視装置。
【請求項6】
請求項5に記載のデバイス監視装置を特定する情報を、前記デバイス監視装置によって監視されるデバイスから取得する取得手段と、
前記取得手段により取得された情報に基づいて、請求項1〜4の何れか1項に記載の各手段を実行するためのモジュールを有するか否かの問い合わせを、前記デバイス監視装置に行う問い合わせ手段と、
前記問い合わせ手段による問い合わせの結果、前記モジュールを有さない場合には、前記モジュールを前記デバイス監視装置に送信する送信手段とを有することを特徴とするモジュール提供装置。
【請求項7】
ネットワークを介して相互に接続されたデバイスを監視するデバイス監視方法であって、
前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶ステップと、
前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止ステップと、
前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶ステップにより記憶されている電力状態に基づいて判定する判定ステップと、
前記判定ステップによる判定の結果に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定ステップと、
前記決定ステップにより決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付けステップとを有し、
前記決定ステップは、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態である場合とそうでない場合とで、前記デバイスの情報の取得の要求に対する応答の方法を異ならせることを特徴とするデバイス監視方法。
【請求項8】
ネットワークを介して相互に接続されたデバイスを監視することをコンピュータに実行させるためのコンピュータプログラムであって、
前記デバイスから取得された、前記デバイスの電力状態に関する情報に基づいて、前記デバイスの電力状態を記憶媒体に記憶する記憶ステップと、
前記デバイスの情報の取得を要求するための情報が、前記デバイスに送信されるのを阻止する阻止ステップと、
前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態であるか否かを、前記記憶ステップにより記憶されている電力状態に基づいて判定する判定ステップと、
前記判定ステップによる判定の結果に基づいて、前記デバイスの情報の取得の要求に対する応答の方法を決定する決定ステップと、
前記決定ステップにより決定された方法に従って、前記デバイスの情報の取得の要求に対する応答を受け付ける受け付けステップとをコンピュータに実行させ、
前記決定ステップは、前記阻止ステップにより送信が阻止された情報の送信先であるデバイスの電力状態が省電力状態である場合とそうでない場合とで、前記デバイスの情報の取得の要求に対する応答の方法を異ならせることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2009−110272(P2009−110272A)
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願番号】特願2007−281931(P2007−281931)
【出願日】平成19年10月30日(2007.10.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】