(57)【特許請求の範囲】
【請求項１】
コンピュータと、
前記コンピュータと接続可能であり、自らの消費電力を節減するための節電状態に移行する手段を備えた周辺機器と
からなるコンピュータ・システムであって、
前記周辺機器は、
前記節電状態への移行に先立ち、前記周辺機器が前記節電状態に移行することを示すメッセージを前記コンピュータに送信する送信手段を有し、
前記コンピュータは、
前記周辺機器と通信するためのドライバと、前記ドライバを用いて受信されたデータに基づいて処理を実行するアプリケーション・ソフトウェアとを用いて前記コンピュータを制御する制御手段と、
前記周辺機器から前記メッセージを受信する受信手段と
を有し、
前記受信手段によりメッセージを受信し、かつ前記メッセージを取り扱い可能なアプリケーション・ソフトウェアが起動している場合、前記制御手段は前記アプリケーション・ソフトウェアを用いて前記メッセージの内容を通知するよう制御し、
前記受信手段によりメッセージを受信し、かつ前記メッセージを取り扱い可能なアプリケーション・ソフトウェアが起動していない場合、前記制御手段は前記ドライバを用いて前記メッセージの内容を通知するよう制御する
ことを特徴とするコンピュータ・システム。
【請求項２】
消費電力を節減するための節電状態に移行する手段を備えた周辺機器と接続可能なコンピュータであって、
前記周辺機器が前記節電状態に移行することを示すメッセージを、前記周辺機器から受信する受信手段と、
前記周辺機器と通信するためのドライバと、前記ドライバを用いて受信されたデータに基づいて処理を実行するアプリケーション・ソフトウェアとを用いて前記コンピュータを制御する制御手段
とを有し、
前記受信手段によりメッセージを受信し、かつ前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動している場合、前記制御手段は前記所定のアプリケーション・ソフトウェアを用いて前記メッセージの内容を通知するよう制御し、
前記受信手段によりメッセージを受信し、かつ前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動していない場合、前記制御手段は前記ドライバを用いて前記メッセージの内容を通知するよう制御する
ことを特徴とするコンピュータ。
【請求項３】
前記所定のアプリケーション・ソフトウェアが起動しているか否かを判定する判定手段をさらに有する請求項２に記載のコンピュータ。
【請求項４】
前記周辺機器が前記節電モードに移行した場合、前記コンピュータは前記周辺機器と通信することが不可能となることを特徴とする請求項２に記載のコンピュータ。
【請求項５】
消費電力を節減するための節電状態に移行する手段を備えた周辺機器に接続するコンピュータにおいて、前記周辺機器からのメッセージを処理する方法であって、
前記周辺機器と通信するためのドライバにより、前記周辺機器が前記節電状態に移行することを示すメッセージを、前記周辺機器から受信する受信ステップと、
前記受信ステップで受信した前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動している場合、前記所定のアプリケーション・ソフトウェアを用いて前記メッセージの内容を通知するステップと、
前記受信ステップで受信した前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動していない場合、前記ドライバを用いて前記メッセージの内容を通知するステップ
とを具備することを特徴とするメッセージ処理方法。
【請求項６】
消費電力を節減するための節電状態に移行する手段を備えた周辺機器に接続するコンピュータに、前記周辺機器からのメッセージを処理させるコンピュータプログラムを記憶するコンピュータ可読記憶媒体であって、
前記コンピュータプログラムは、前記コンピュータに、
前記コンピュータの前記周辺機器と通信するためのドライバにより、前記周辺機器が前記節電状態に移行することを示すメッセージを、前記周辺機器から受信させる受信機能と、
前記受信機能で受信した前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動している場合、前記所定のアプリケーション・ソフトウェアを用いて前記メッセージの内容を通知させる機能と、
前記受信機能で受信した前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動していない場合、前記ドライバを用いて前記メッセージの内容を通知させる機能
とを実行させることを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・システム、コンピュータ、メッセージ処理方法及びコンピュータ可読記憶媒体に関し、より具体的には、低消費電力状態を有する周辺機器とコンピュータからなるコンピュータ・システム、コンピュータ、メッセージ処理方法及びコンピュータ可読記憶媒体に関する。
【０００２】
【従来の技術】
パーソナルコンピュータ（ＰＣ）にその周辺装置を接続する方法として、近年、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）が実用化された。ＵＳＢは、パーソナルコンピュータと複数の周辺機器の間をシリアル通信で接続するものであり、プラグアンドプレイ（周辺装置を新たに接続したり取り外す場合に、自動的に接続関係を認識する機能）、ホットインサーション（電源を入れたまま、接続及び取り外しができる機能）又は活線挿抜機能、及び電源供給機能を有しており、ユーザが接続の際にアドレス及びＩＤ番号などの設定について煩わされることが無いよう考慮されている。ＵＳＢでは、ＶＢＵＳと称する５Ｖ電源線、ＧＮＤ線、並びに、Ｄ＋及びＤ−という２本の信号線の合計４本の配線を専用コネクタで着脱する。電源線で供給できる電流値には限界があり、ＵＳＢの規格上は１００ｍＡ〜５００ｍＡに制限されている。
【０００３】
また、ＵＳＢでは、ホストの命令により周辺機器がサスペンド状態にならなければいけないと定義されており、このサスペンド状態では、ＶＢＵＳからの電流消費は５００μＡと小さくしなくてはならない。サスペンド状態からの復帰にはレジューム命令がある。
【０００４】
ＵＳＢでは、ホストＰＣは、Ｄ＋線の電圧レベルの低下によりＵＳＢデバイスが外されたことを認識できる。もしＵＳＢデバイスがＵＳＢバスから外されたと判断した場合には、そのデバイスに対応するデバイスドライバソフトウエアをメモリ上からアンロードする。これにより、ＵＳＢデバイスがＵＳＢバスに接続されているときにのみ、対応するドライバソフトウエアがホストＰＣ１１０上で使用可能になっている。
【０００５】
一方、ＵＳＢに限らず、従来からＰＣと接続して使用するデバイスには、それらデバイスの電源節約のために一定時間、そのデバイスにアクセスが存在しなかった場合に、自身を節電モード又は電源オフに切り替えるものがある。例えば、何のコマンドも受信しない状態が一定時間、継続すると、電源をオフにするディジタルカメラが製品化されている。
【０００６】
また、デバイスが節電モードに入ることをアプリケーション・ソフトウエアに通知し、アプリケーション・ソフトウエアがその旨をユーザに知らせるような構成も周知である。
【０００７】
【発明が解決しようとする課題】
従来のＵＳＢでは、節電のためにＵＳＢデバイスの電源をオフにしてしまうと、ＵＳＢケーブルのＤ＋線のプルアップ抵抗への給電も停止するので、Ｄ＋線の電圧レベルが低下する。その結果、そのＵＳＢデバイスはＵＳＢケーブルを介してホストＰＣと接続しているにも関わらず、ホストＰＣは、ＵＳＢデバイスが外された判断し、上述のように、そのデバイスに対応するドライバをアンロードし、使用不能とする。ユーザにとっては、何の警告もなしに、突然、そのＵＳＢデバイスが使用できなくなるという大変分りにくい状況が発生することになる。
【０００８】
また、他の接続手段のようにデバイスが節電モードに入る前にホストＰＣ上でユーザに何らかの警告を出そうとしても、次のような問題がある。すなわち、ＵＳＢデバイスは、従来のＲＳ２３２Ｃ接続デバイスとは異なり、ホストに接続された時点から通信可能な状態になくてはならない。ＲＳ２３２Ｃデバイスの場合は、デバイスを使用するときにデバイスと通信できればよかったが、ＵＳＢデバイスでは、接続された時点でそのデバイスの認識及び構成に必要なＵＳＢリクエスト信号を送受信できる必要があるからである。そして、この状態、すなわち、デバイスからのメッセージを理解できるアプリケーションが起動していない状態で、一定時間デバイスへの操作が存在しない場合、ＲＳ２３２Ｃデバイスと同様にアプリケーションソフトウエアにメッセージを送り、アプリケーション・ソフトウエアにユーザへの警告を表示させようとしても、この時点では、ＵＳＢデバイスを操作するアプリケーションソフトウエアが起動していないので、ユーザに警告を表示することができない。
【０００９】
本発明は、このような不都合を解消するコンピュータ・システム、コンピュータ、メッセージ処理方法及びコンピュータ可読記憶媒体を提示することを目的とする。
【００１０】
【課題を解決するための手段】
本発明に係るコンピュータ・システムは．コンピュータと、前記コンピュータと接続可能であり、自らの消費電力を節減するための節電状態に移行する手段を備えた周辺機器とからなるコンピュータ・システムであって、前記周辺機器は、前記節電状態への移行に先立ち、前記周辺機器が前記節電状態に移行することを示すメッセージを前記コンピュータに送信する送信手段を有し、前記コンピュータは、前記周辺機器と通信するためのドライバと、前記ドライバを用いて受信されたデータに基づいて処理を実行するアプリケーション・ソフトウェアとを用いて前記コンピュータを制御する制御手段と、前記周辺機器から前記メッセージを受信する受信手段とを有し、前記受信手段によりメッセージを受信し、かつ前記メッセージを取り扱い可能なアプリケーション・ソフトウェアが起動している場合、前記制御手段は前記アプリケーション・ソフトウェアを用いて前記メッセージの内容を通知するよう制御し、前記受信手段によりメッセージを受信し、かつ前記メッセージを取り扱い可能なアプリケーション・ソフトウェアが起動していない場合、前記制御手段は前記ドライバを用いて前記メッセージの内容を通知するよう制御することを特徴とする。
本発明に係るコンピュータは、消費電力を節減するための節電状態に移行する手段を備えた周辺機器と接続可能なコンピュータであって、前記周辺機器が前記節電状態に移行することを示すメッセージを、前記周辺機器から受信する受信手段と、前記周辺機器と通信するためのドライバと、前記ドライバを用いて受信されたデータに基づいて処理を実行するアプリケーション・ソフトウェアとを用いて前記コンピュータを制御する制御手段とを有し、前記受信手段によりメッセージを受信し、かつ前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動している場合、前記制御手段は前記所定のアプリケーション・ソフトウェアを用いて前記メッセージの内容を通知するよう制御し、前記受信手段によりメッセージを受信し、かつ前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動していない場合、前記制御手段は前記ドライバを用いて前記メッセージの内容を通知するよう制御することを特徴とする。
本発明に係るメッセージ処理方法は、消費電力を節減するための節電状態に移行する手段を備えた周辺機器に接続するコンピュータにおいて、前記周辺機器からのメッセージを処理する方法であって、前記周辺機器と通信するためのドライバにより、前記周辺機器が前記節電状態に移行することを示すメッセージを、前記周辺機器から受信する受信ステップと、前記受信ステップで受信した前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動している場合、前記所定のアプリケーション・ソフトウェアを用いて前記メッセージの内容を通知するステップと、前記受信ステップで受信した前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動していない場合、前記ドライバを用いて前記メッセージの内容を通知するステップとを具備することを特徴とする。
本発明に係るコンピュータ可読記憶媒体は、消費電力を節減するための節電状態に移行する手段を備えた周辺機器に接続するコンピュータに、前記周辺機器からのメッセージを処理させるコンピュータプログラムを記憶するコンピュータ可読記憶媒体であって、前記コンピュータプログラムは、前記コンピュータに、前記コンピュータの前記周辺機器と通信するためのドライバにより、前記周辺機器が前記節電状態に移行することを示すメッセージを、前記周辺機器から受信させる受信機能と、前記受信機能で受信した前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動している場合、前記所定のアプリケーション・ソフトウェアを用いて前記メッセージの内容を通知させる機能と、前記受信機能で受信した前記メッセージを取り扱い可能な所定のアプリケーション・ソフトウェアが起動していない場合、前記ドライバを用いて前記メッセージの内容を通知させる機能を実行させることを特徴とする。
【００１６】
【実施例】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【００１７】
図１は、本発明の一実施例の概略構成ブロック図を示す。ＵＳＢホストＰＣ１０は、ＵＳＢケーブル３０を介して周辺機器４０と接続する。本実施例では、周辺機器４０は、電子スチルカメラである。
【００１８】
ホストＰＣ１０は、ＶＢＵＳ線上に電源を供給する電源回路１２、ＵＳＢによる通信を実行するＵＳＢホスト制御回路１４、ＵＳＢデータバッファ１６，１８、Ｄ＋線のプルダウン抵抗２０及びＤ−線のプルダウン抵抗２２を具備する。ＵＳＢケーブル３０は、ＶＢＵＳ線、ＧＮＤ線Ｄ＋線及びＤ−線を具備する信号ケーブル３２と、その両側のコネクタ３４，３６とからなる。コネクタ３４はホストＰＣ１０に接続し、コネクタ３６は周辺機器４０に接続する。ＵＳＢホストＰＣ１０及びＵＳＢケーブル３０の構成及び作用は、従来例のＵＳＢホストＰＣ１１０及びＵＳＢケーブル１３０とそれぞれ同じである。
【００１９】
周辺機器４０は、以下の要素を具備する。即ち、４２，４４はＵＳＢデータバッファ、４６は、ＵＳＢシリアル信号をパラレル信号に変換し、その逆に変換するＳＩＥ回路、４８はＵＳＢプロトコルに応じてデータ送受信を制御するＥＰＣ回路、５０は周辺機器４０を制御するＣＰＵ、５２はＣＰＵ５０のワークメモリとなるＲＡＭである。５４は光学像を電気信号に変換する撮像素子、５６は、撮像素子５４の出力画像信号にカメラ信号処理を施す画像処理回路、５８は画像処理回路５６の出力を一時保持するＦＩＦＯメモリ、６０は、撮影画像を最終的に記憶する着脱式のメモリカードである。６２はポート制御回路、６４はプログラマブル割込み制御回路、６６はクロック発振・制御回路である。
【００２０】
ＥＰＣ回路４８、ＣＰＵ５０、ＲＡＭ５２、ＦＩＦＯ５８、メモリカード６０、ポート制御回路６２、プログラマブル割込み制御回路６４及びクロック発振・制御回路６６は、システムバス６８に接続する。
【００２１】
７０は、信号ケーブル３２のＶＢＵＳ線に接続するラッチアップ防止のバッファであり、その出力は、ポート制御回路６２に印加される。７２は周辺機器４０の操作キー、７４は周辺機器４０の電源となる電池、７６は電源７４の出力電圧から所定の電源電圧を生成し、破線で囲んだ部分（ブロック４２〜６６）に供給する電圧レギュレータ、７８はポート制御回路６２とＵＳＢケーブル３２のＤ＋線との間に接続するプルアップ抵抗である。抵抗７８の抵抗値は１．５ｋΩである。
【００２２】
周辺機器４０の動作を説明する。周辺機器４０は電池７４及び電圧レギュレータ７６により生成される電圧により動作する。ＵＳＢバッファ４２，４４及びＥＰＣ回路４８の動作は従来例と同様である。ＳＩＥ回路４６は、従来例のＳＩＥ回路２４６の機能に加えて、ＵＳＢ信号の状態を示す信号（具体的には、Ｄ＋線及びＤ−線がサスペンド状態になったことを示す信号及びそのサスペンドから復帰するレジューム状態になったことを示す信号）をプログラマブル割込み制御回路６４に供給する機能を具備する。
【００２３】
クロック発振・制御回路６６は、ＣＰＵ５０により指示された周波数のクロックを出力できる。例えば、ＵＳＢによる高速信号転送並びに撮影前後の、撮影レンズ系制御及び画像処理制御には、ＣＰＵ５０に高い処理能力が必要になるので、ＣＰＵ５０は、クロック発振・制御回路６６に高い周波数の動作クロックを出力させる。逆に、ＵＳＢに接続されていない場合、及び撮影していない場合には、クロック発振・制御回路６６から出力されるクロックの周波数を低く抑えることで、装置全体の消費電力を小さくする。また、ＵＳＢ通信だけで撮影をしていない場合には、撮像素子５４、画像処理回路５６及びＦＩＦＯ５８へのクロック供給自体を停止してもよい。このように、クロックの周波数を制御し、場合によっては供給を停止することで、消費電力を逐次、低減し、電池７４の消耗を防いでいる。
【００２４】
バッファ７２は、ＶＢＵＳ信号線に所定以上の電圧が印加されているかどうかに応じて、Ｈ又はＬを出力する。プログラマブル割込み制御回路６４は、バッファ７２の出力がＬからＨ又はＨからＬに変化したときに、これを割込み信号として検出する。即ち、電池７４により動作電力を供給されている状態では、バッファ７２の出力レベルにより、本装置４０がホストＰＣ１０に物理的に接続されているかどうかを知ることが出来る。バッファ７０の出力がＬからＨに変化したということは、外れていたコネクタ３４又は同３６がユーザによって接続されたことを示す。従って、例えば、それまでＣＰＵ５０が省電力モードであった場合には、バッファ７０の出力レベルの遷移に応じてＣＰＵ５０を高速モードに移行させることができる。また、バッファ７０の出力がＬであるということは、周辺機器４０がホストＰＣ１０９に接続されていないことを示している。この場合には、例え撮影のためにＣＰＵ５０が、高速モードで動作していても、ＳＩＥ回路４６及びＥＰＣ回路４８へのクロック供給を止めても良く、これにより無駄な電力消費を節減できる。
【００２５】
ポート制御回路６２は、バッファ７２の出力及び操作キー７２のキー操作を読み取り、その読取り結果又はＣＰＵ５０からの指示に従い、プルアップ抵抗７８への電圧印加を制御する。プルアップ抵抗７８への印加電圧を３．３Ｖにすることで、Ｄ＋線に対してプルアップし、印加電圧を０ＶまたはＨｉＺにすることで、Ｄ＋線に対してプルダウンまたは開放にすることができる。これにより、周辺機器４０が通信の準備が整っている状態にあるときにプルアップ抵抗７８をプルアップしておくことで、ホストＰＣ１０にＵ周辺機器４０がＵＳＢケーブル３０で接続されていると認識させることができる。逆に、通信の準備が整っていない場合には、プルアップ抵抗７８をプルダウンまたは開放にすることで、ホストＰＣ１０に周辺機器４０が接続されていないと認識させることができ、ホストＰＣ１０は、周辺機器４０に対するアドレス設定などの通信を開始しない。周辺機器４０で通信の準備が出来た時点で、プルアップ抵抗７８をプルアップすれば、ホストＰＣ１０は、周辺機器４０が接続されたと認識する。
【００２６】
本実施例の節電モードへの移行シーケンスを説明する。前述したように、ＳＩＥ回路４６及びＥＰＣ回路４８への必要最低限のクロック供給によりＵＳＢで通信可能な状態を保ちながら、消費電力を抑制できる。しかし、現状では、長時間、周辺機器４０を使用しない場合、ＳＩＥ回路４６及びＥＰＣ回路へのクロック供給を停止し、ＵＳＢ通信をしないモードにすることで、電力消費を節減する必要がある。以下の説明では、節電モードは、このようにＵＳＢ通信が不可能な状態に周辺機器４０が設定された状態を指すことにする。
【００２７】
図２は、節電モードへの移行シーケンスのフローチャートを示す。周辺機器４０が節電モードに入ろうした場合に、先ず、ホストＰＣ１０と接続されているかどうかを調べる（Ｓ１）。これは、前述したように、ＶＢＵＳ線のレベルを検出することで分かる。ホストＰＣ１０と接続されていなければ（Ｓ１）、そのまま、周辺機器４０の電源をシャットダウンし（Ｓ２）、節電モードに入る。
【００２８】
周辺機器４０がホストＰＣ１０に接続されている場合（Ｓ１）、節電モードに入ることを通知するメッセージをホストＰＣ１０に向け発行し（Ｓ３）、そのメッセージがＵＳＢバス上に送信されるのを待って（Ｓ４）、Ｄ＋線のプルダウンを行い（Ｓ５）、周辺機器４０の電源をシャットダウンする（Ｓ２）。
【００２９】
これに対するホストＰＣ１０の動作を説明する。図３は、ホストＰＣ１０の動作モデルを示す模式図である。説明上、３つのプロセスが起動しているとする。１つ目のプロセスＡは、ＯＳ（オペレーティング・システム）等のシステムが提供するプロセスであり、周辺機器４０をＵＳＢバスに接続した時にその周辺機器４０に関連付けられているドライバ・オブジェクトをメモリ上に展開する。このドライバ・オブジェクトを介してデバイスとの間のデータ交換が行われる。これにより、周辺機器４０をＵＳＢバスに接続しただけで、必要なドライバ・オブジェクトが生成され、周辺機器４０との通信が可能になる。但し、この状態では、未だ周辺機器４０を使用するユーザ・アプリケーション・ソフトウエアは起動していない。
【００３０】
プロセスＢは、デバイスを使用するユーザ・アプリケーション・ソフトウエアである。アプリケーション・ソフトウエアのプロセスも、周辺機器４０にアクセスするために、ドライバ・オブジェクトを各アプリケーションのプロセス空間にマッピングする。
【００３１】
本実施例では、各プロセスにマッピングされるドライバ・オブジェクトは、それ自身が生成されるときに、各プロセスがアクセス可能な共有空間に予め用意しておいたカウンタ（０で初期化。）をインクリメントし、それらドライバオブジェクトが削除するときに、そのカウンタをデクリメントとする。
【００３２】
アプリケーションプロセスが１つの場合、このカウンタは２になっている。最初にシステムがマップしたドライバ・オブジェクトがこのカウンタをインクリメントして１になり、次にアプリケーション・プロセスがマップしたドライバ・オブジェクトがカウンタをインクリメントして２になるからである。
【００３３】
図４を参照して、周辺機器４０からのメッセージをドライバ・オブジェクトが受けたときの動作を説明する。
【００３４】
先ず、周辺機器４０からのメッセージを受け取ったら、前述のカウンタの値を調べる（Ｓ１１）。カウント値が１より大きければ（Ｓ１１）、このデバイスのメッセージを扱うアプリケーション・ソフトウエアが存在すると判断し、受信したメッセージをそのまま該当するアプリケーション・ソフトウエアに渡す（Ｓ１２）。
【００３５】
カウント値が１以下の場合（Ｓ１１）、周辺機器４０からのメッセージを扱うアプリケーション・ソフトウエアが存在しないと判断して、ドライバ・オブジェクト自身が警告メッセージを表示し、ユーザに知らせる（Ｓ１３）。
【００３６】
仮に、プロセスＣが同時に存在し、周辺機器４０からのメッセージを扱うアプリケーション・プロセスが２つ以上ある場合、上述のカウンタの代わりにテーブルを使用してイベントを管理してもよい。この場合、図５に示すような、イベント・オブジェクトを格納するテーブルを上述の共有可能なメモリ空間に配置し、各プロセスにマッピングされたドライバ・オブジェクトが生成される時に、そのテーブルにイベント・オブジェクトを登録すればよい。
【００３７】
イベント・オブジェクトとは、このオブジェクトをアクティブにシグナルすることで、各プロセスにデバイスからのメッセージが到達したことを知らせることのできるものである。
【００３８】
図６は、周辺機器４０、その他の周辺機器からのメッセージを受信時の動作フローチャートを示す。
【００３９】
周辺機器からのメッセージを受け取ったら、上述したイベント・オブジェクトのテーブルを調べる（Ｓ２１）。一つでもイベントオブジェクトが登録されていれば（Ｓ２１）、この周辺機器からのメッセージを扱うアプリケーション・ソフトウエアに受信メッセージを通知するために、そのイベントオブジェクトをアクティブにする（Ｓ２２）。更に、テーブルに別のイベント・オブジェクトが登録されているかどうかを調べ（Ｓ２３）、存在すれば（Ｓ２３）、Ｓ２２に戻り、そのイベント・オブジェクトをアクティブにする（Ｓ２２）。テーブルに登録されているイベント・オブジェクトが無くなるまで（ＳＡ２３）、Ｓ２２を繰り返し実行する。
【００４０】
テーブルに１つのイベント・オブジェクトも登録されていない場合（Ｓ２１）、この周辺機器からのメッセージを扱うアプリケーション・ソフトウエアは存在しないと判断して、ドライバ・オブジェクト自身が警告メッセージを表示しユーザに知らせる（Ｓ２４）。
【００４１】
このように構成することで、周辺機器からのイベントを扱うアプリケーション・ソフトウエアが存在しなくても、イベントを扱うアプリケーション・ソフトウエアが複数存在していても、その状況に応じて、ユーザに分かりやすく警告を表示できる。
【００４２】
ホストＰＣ１０上でのプロセス成を次のように変更しても良い。図７は、ホストＰＣ上の別のプロセス構成の模式図を示す。
【００４３】
図３では、各プロセスがそれぞれ、ドライバ・オブジェクトをマッピングしていたが、図７では、ただ１つのプロセスが、ドライバ・オブジェクトをマッピングする。そのプロセスをここではサーバプロセスと呼ぶ。サーバ・プロセスは、周辺機器をＵＳＢバスに接続した時点で起動してもよいし、ホストＰＣ１０自体が起動した時点で起動されていてもよい。サーバ・プロセスは、ＵＳＢ周辺機器のためのドライバ・オブジェクトを所有しており、周辺機器との通信を実際に行う唯一のプロセスとして機能する。
【００４４】
周辺機器を使用するアプリケーションソフトウエアは、図７に示すプロセスＡ、プロセスＢ又はプロセスＣとして表現される。図７では、プロセスＡをシステム・ソフトウエアが提供するプロセスとして示しているが、システム・ソフトウエアがＵＳＢ周辺機器を操作するプロセスを提供しない場合には、全てのプロセスがユーザ・アプリケーションとなる。これらを、クライアント・プロセスと呼ぶことにする。クライアント・プロセスは、サーバプロセスとの間でメッセージを交換し、周辺機器と通信する。
【００４５】
このモデルでは、周辺機器からのメッセージを処理する場合、図３に示す構成で説明したのと同様のイベントテーブルをサーバ・プロセス内に保持する。各クライアント・プロセスは、それぞれが起動した時点でサーバ・プロセスにイベントハンドルを登録し、そのイベントハンドルがアクティブにされるのを待つ。
【００４６】
サーバープロセスは、図６に示すのと同じフローで周辺機器からのメッセージを処理する。イベントテーブルにイベントオブジェクトが１つも登録されていないとき、即ち、クライアントプロセスが１つも存在しないときには、ドライバ・オブジェクト自身が警告を表示するか、又は、サーバ・プロセスが警告を表示する。
【００４７】
このように構成することで、プロセス間の結合を低減でき、ひいては、クライアント・プロセスとサーバ・プロセスを別のＰＣに存在させる構成も可能になる。システム構成に自由度を持たせつつ、周辺機器からのメッセージをその状況に応じてユーザに対して分かりやすく表示することができる。
【００４８】
本発明は、複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。
【００４９】
また、上述した実施例の機能を実現するように各種のデバイスを動作させるべく当該各種デバイスと接続された装置又はシステム内のコンピュータに、上記実施例の機能を実現するためのソフトウェアのプログラムコードを供給し、その装置又はシステムのコンピュータ（ＣＰＵ又はＭＰＵ）を、格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本願発明の範囲に含まれる。
【００５０】
この場合、前記ソフトウエアのプログラムコード自体が、前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記憶媒体は、本発明を構成する。かかるプログラムコードを格納する記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード及びＲＯＭ等を用いることが出来る。
【００５１】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施例の機能が実現されるだけではなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）又は他のアプリケーションソフトウエア等と共同して上述の実施例の機能が実現される場合にも、かかるプログラムコードが本出願に係る発明の実施例に含まれることは言うまでもない。
【００５２】
更には、供給されたプログラムコードが、コンピュータの機能拡張ボード又はコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて、その機能拡張ボード又は機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施例の機能が実現される場合も、本出願に係る発明に含まれることは言うまでもない。
【００５３】
【発明の効果】
以上の説明から容易に理解できるように、本発明によれば、ＵＳＢバスのようにダイナミックにバス構成されるバスに接続される周辺機器においても、節電モード等に入るためにバス構成から外れることをユーザに示してから、バス構成から外れることができるようになり、ユーザに分かり易いシステムを構成できる。
【００５４】
周辺機器を使用するアプリケーションソフトウエアが起動していなくても、ユーザに対して警告メッセージを表示することが可能になり、しかも、アプリケーション・ソフトウエアが起動しているときにははドライバは警告を表示せずにアプリケーション・ソフトウエアにそのメッセージを渡すので、ドライバとアプリケーション・ソフトウエアで同種の警告メッセージを重ねて表示することが無くなり、ユーザにとって分かり易い環境を提供できる。
【００５５】
クライアント／サーバ型のネットワークシステムにまで拡張できる自由度を持たせ、且つ、システムの状況に応じた警告表示が可能となる。
【図面の簡単な説明】
【図１】  本発明の一実施例の概略構成ブロック図である。
【図２】  本実施例における節電モードへの移行シーケンスのフローチャートである。
【図３】  ホストＰＣ１０上での動作モデルを示す模式図である。
【図４】  周辺機器からのメッセージの処理を示すフローチャートである。
【図５】  イベントオブジェクトを格納するテーブルの構造例である。
【図６】  複数のアプリケーション・ソフトウエアが起動している状態で周辺機器からのメッセージを処理する動作のフローチャートである。
【図７】  ホストＰＣ１０上での別の動作モデルを示す模式図である。
【符号の説明】
１０：ＵＳＢホストＰＣ
１２：電源回路
１４：ＵＳＢホスト制御回路
１６，１８：ＵＳＢデータバッファ１６，１８
２０，２２：プルダウン抵抗
３０：ＵＳＢケーブル
３２：信号ケーブル
３４，３６：コネクタ
４０：周辺機器
４２，４４：ＵＳＢデータバッファ
４６：ＳＩＥ回路
４８：ＥＰＣ回路
５０：ＣＰＵ
５２：ＲＡＭ
５４：撮像素子
５６：画像処理回路
５８：ＦＩＦＯメモリ
６０：メモリカード
６２：ポート制御回路
６４：プログラマブル割込み制御回路
６６：クロック発振・制御回路
６８：システムバス
７０：ラッチアップ防止バッファ
７２：操作キー
７４：電池
７６：電圧レギュレータ
７８：プルアップ抵抗
１１０：ＵＳＢホスト
１１２：電源回路
１１４：ＵＳＢホスト制御回路
１１６，１１８：ＵＳＢデータバッファ
１２０，１２２：プルダウン抵抗
１３０：ＵＳＢケーブル
１３２：信号ケーブル
１３４，１３６：コネクタ
１４０：周辺機器
１４２，１４４：ＵＳＢデータバッファ
１４６：ＳＩＥ（シリアルインターフェースエンジン）回路
１４８：ＥＰＣ（エンドポイントコントローラ）回路
１５０：ＣＰＵ
１５２：ＲＡＭ
１５４：撮像素子
１５６：画像処理回路
１５８：ＦＩＦＯメモリ
１６０：メモリカード
１６２：システムバス
１６４：電流リミッタ
１６６：電圧レギュレータ
１６８：プルアップ抵抗
【図１】
0004497587.tif 000002
【図２】
0004497587.tif 000003
【図３】
0004497587.tif 000004
【図４】
0004497587.tif 000005
【図５】
0004497587.tif 000006
【図６】
0004497587.tif 000007
【図７】
0004497587.tif 000008