(57)【特許請求の範囲】
【請求項１】
ホスト装置とデバイスとが、前記ホスト装置をマスタ及び前記デバイスをスレーブとして通信可能に接続された情報処理システムであって、
前記デバイスは、前記ホスト装置から所定時間以上リクエストを受信しないと省電力モードへ移行するものであり、
前記ホスト装置は、
所定のアプリケーションから、前記デバイスを動作させるためのコマンドを一定時間以上受信しない場合、サスペンド状態となるデバイスドライバを備え、
前記サスペンド状態の場合、前記アプリケーションから特定の照会コマンドを受信すると、前記デバイスドライバが前記照会コマンドを前記デバイスへ通知せずに前記アプリケーションへ前記照会コマンドに対するダミーレスポンスを返却することにより、一定時間以上前記デバイスを動作させるためのコマンドを受信しない場合に、前記デバイスが省電力モードへ移行することを可能にせしめることを特徴とする情報処理システム。
【請求項２】
デバイスに接続されるホスト装置であって、
前記デバイスは、前記ホスト装置から所定時間以上リクエストを受信しないと省電力モードへ移行するものであり、
前記ホスト装置は、
前記デバイスと接続されると、前記ホスト装置をマスタ及び前記デバイスをスレーブとして通信が行われる情報処理システムを構成するものであり、
所定のアプリケーションから、前記デバイスを動作させるためのコマンドを一定時間以上受信しない場合、サスペンド状態となるデバイスドライバを備え、
前記サスペンド状態の場合、前記アプリケーションから特定の照会コマンドを受信すると、前記デバイスドライバが前記照会コマンドを前記デバイスへ通知せずに前記アプリケーションへ前記照会コマンドに対するダミーレスポンスを返却することにより、一定時間以上前記デバイスを動作させるためのコマンドを受信しない場合に、前記デバイスが省電力モードへ移行することを可能にせしめることを特徴とするホスト装置。
【請求項３】
ＵＳＢ（Universal Serial Bus）ホストコントローラをさらに備え、
ＵＳＢデバイスコントローラを備えた前記デバイスと、ＵＳＢにより通信を行うことを特徴とする請求項２記載のホスト装置。
【請求項４】
前記デバイスドライバがサスペンド状態のときに、前記ＵＳＢホストコントローラが前記デバイスのＵＳＢデバイスコントローラからレジューム信号を受信すると、前記デバイスドライバがサスペンド状態から通常状態に復帰することを特徴とする請求項３記載のホスト装置。
【請求項５】
前記デバイスはプリンタであり、
前記照会コマンドは、前記プリンタのステータスを問い合わせるコマンド及び前記プリンタから前記ホスト装置へのリクエストの有無を問い合わせるコマンドであることを特徴とする請求項２または３記載のホスト装置。
【請求項６】
前記デバイスはプリンタであり、
前記デバイスを動作させるためのコマンドは、前記プリンタに対する印刷要求であることを特徴とする請求項２または３記載のホスト装置。
【請求項７】
所定時間以上リクエストを受信しないと省電力モードへ移行するデバイスと接続されると、自身をマスタとし、前記デバイスをスレーブとして通信を行うホスト装置のための方法であって、
所定のアプリケーションから、前記デバイスを動作させるためのコマンドを一定時間以上受信しない場合、サスペンド状態へ移行するステップと、
前記サスペンド状態へ移行した後、前記アプリケーションから特定の照会コマンドを受信すると、前記照会コマンドを前記デバイスへ通知せずに前記アプリケーションへ前記照会コマンドに対するダミーレスポンスを返却するステップと、を有し、
これにより、一定時間以上前記デバイスを動作させるためのコマンドを受信しない場合に、前記デバイスが省電力モードへ移行することを可能にせしめることを特徴とするデバイスの省電力化を可能とする方法。
【請求項８】
所定時間以上リクエストを受信しないと省電力モードへ移行するデバイスと接続されると、自身をマスタとし、前記デバイスをスレーブとして通信を行うホスト装置のためのコンピュータプログラムであって、
前記ホスト装置に実行されると、
所定のアプリケーションから、前記デバイスを動作させるためのコマンドを一定時間以上受信しない場合、サスペンド状態へ移行するステップと、
前記サスペンド状態へ移行した後、前記アプリケーションから特定の照会コマンドを受信すると、前記照会コマンドを前記デバイスへ通知せずに前記アプリケーションへ前記照会コマンドに対するダミーレスポンスを返却するステップと、を有し、
これにより、一定時間以上前記デバイスを動作させるためのコマンドを受信しない場合に、前記デバイスが省電力モードへ移行することを可能にせしめることを特徴とするデバイスの省電力化を可能とするためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置とデバイスとが、ホスト装置をマスタ、デバイスをスレーブとする通信方式で接続されたときに、デバイスを省電力モードで動作させるための技術に関する。
【背景技術】
【０００２】
従来、ホスト装置と接続されるプリンタなどのデバイスにおいて、一定時間以上ホスト装置からのアクセスがないと、省電力モードへ移行するものがある（例えば特許文献１）。
【特許文献１】国際公開第ＷＯ00/28402号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ホスト装置とデバイスとがＵＳＢ（Universal Serial
Bus）で接続されているときは、以下のような問題がある。すなわち、ＵＳＢでは、ホスト装置がマスタ、デバイスがスレーブとなって通信を行う。従って、原則としてホスト装置がデバイスに対して、短い周期でステータスの照会及びホスト装置に対するリクエストの有無の照会を行っている。
【０００４】
このため、ＵＳＢでホスト装置と接続されたデバイスは、頻繁にホスト装置からの問い合わせを受けることになり、省電力モードへ移行することができず、消費電力を抑制できない。
【０００５】
そこで、本発明の目的は、ホスト装置とデバイスとが、ホスト装置をマスタ、デバイスをスレーブとする通信方式で接続された場合に、デバイスの消費電力を抑制することである。
【課題を解決するための手段】
【０００６】
本発明の一実施態様に従う、ホスト装置とデバイスとが、前記ホスト装置をマスタ及び前記デバイスをスレーブとして通信可能に接続された情報処理システムは、前記デバイスは、前記ホスト装置から所定時間以上リクエストを受信しないと省電力モードへ移行するものである。そして、前記ホスト装置は、所定のアプリケーションから、前記デバイスを動作させるためのコマンドを一定時間以上受信しない場合、サスペンド状態となるデバイスドライバを備える。前記サスペンド状態の場合、前記アプリケーションから特定の照会コマンドを受信すると、前記デバイスドライバが前記照会コマンドを前記デバイスへ通知せずに前記アプリケーションへ前記照会コマンドに対するダミーレスポンスを返却することにより、一定時間以上前記デバイスを動作させるためのコマンドを受信しない場合に、前記デバイスが省電力モードへ移行することを可能にせしめる。
【０００７】
これにより、ホスト装置をマスタ、デバイスをスレーブとする通信方式の場合でも、一定時間以上デバイスを動作させるような実質的なコマンドが発行されないときは、デバイスは省電力モードへ移行することが可能になる。
【０００８】
本発明の一実施態様に従う、デバイスに接続されるホスト装置は、前記デバイスは、前記ホスト装置から所定時間以上リクエストを受信しないと省電力モードへ移行するものである。そして、前記ホスト装置は、前記デバイスと接続されると、前記ホスト装置をマスタ及び前記デバイスをスレーブとして通信が行われる情報処理システムを構成するものであり、所定のアプリケーションから、前記デバイスを動作させるためのコマンドを一定時間以上受信しない場合、サスペンド状態となるデバイスドライバを備える。前記サスペンド状態の場合、前記アプリケーションから特定の照会コマンドを受信すると、前記デバイスドライバが前記照会コマンドを前記デバイスへ通知せずに前記アプリケーションへ前記照会コマンドに対するダミーレスポンスを返却することにより、一定時間以上前記デバイスを動作させるためのコマンドを受信しない場合に、前記デバイスが省電力モードへ移行することを可能にせしめる。
【０００９】
好適な実施形態では、ＵＳＢ（Universal Serial Bus）ホストコントローラをさらに備え、ＵＳＢデバイスコントローラを備えた前記デバイスと、ＵＳＢにより通信を行うようにしてもよい。
【００１０】
好適な実施形態では、前記デバイスドライバがサスペンド状態のときに、前記ＵＳＢホストコントローラが前記デバイスのＵＳＢデバイスコントローラからレジューム信号を受信すると、前記デバイスドライバがサスペンド状態から通常状態に復帰するようにしてもよい。
【００１１】
これにより、ＵＳＢデバイスであるデバイスが省電力モードのときに所定のイベントが起きた場合でも、ホスト装置をサスペンド状態から復帰させることができる。
【００１２】
好適な実施形態では、前記デバイスはプリンタであり、前記照会コマンドは、前記プリンタのステータスを問い合わせるコマンド及び前記プリンタから前記ホスト装置へのリクエストの有無を問い合わせるコマンドであってもよい。
【００１３】
好適な実施形態では、前記デバイスはプリンタであり、前記デバイスを動作させるためのコマンドは、前記プリンタに対する印刷要求であってもよい。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態に係るホストとデバイスとからなる情報処理システムについて、図面を参照して説明する。
【００１５】
図１は、デバイスとしてプリンタを用いたときの、本発明の一実施形態に係る印刷システム１の構成を示す図である。
【００１６】
印刷システム１は、ホスト装置１０とプリンタ２０とを備え、ホスト装置１０及びプリンタ２０間は、ＵＳＢ（Universal Serial Bus）により通信が行われる。
【００１７】
ホスト装置１０は、例えば汎用的なコンピュータシステムにより構成され、以下に説明するホスト装置１０内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【００１８】
ホスト装置１０は、プリンタドライバなどのＡＰ１１と、デバイスドライバ１２と、ＵＳＢホストコントローラ１４とを備える。
【００１９】
デバイスドライバ１２は、デバイスであるプリンタ２０の制御を行う。また、デバイスドライバ１２は、タイマ１２１を有し、ＡＰ１１からのリクエストを待っているときに、ＡＰ１１から受け付けた前回のリクエストからの経過時間を計測する。
【００２０】
また、デバイスドライバ１２は、後述するように、所定時間以上、印刷要求などのリクエストがないときは、サスペンド状態へ移行する。そこで、デバイスドライバ１２は、サスペンド状態であるか否かを示すサスペンドフラグ１２２を有している。
【００２１】
ＵＳＢホストコントローラ１４はＵＳＢホストとして、ＵＳＢデバイスたるプリンタ２０と通信を行う。すなわち、ＵＳＢホストコントローラ１４が主体となって、ＵＳＢデバイスに搭載されているＵＳＢデバイスコントローラ２１と通信を行う。
【００２２】
例えば、印刷要求、プリンタのステータス照会コマンド、データ要求コマンドなどがＡＰ１１から出力されると、デバイスドライバ１２はこれを受け付けて、ＵＳＢホストコントローラ１４を介して、受け付けたリクエストをプリンタ２０へ通知する。
【００２３】
ここで、ＡＰ１１は、一定の周期でステータス照会コマンド、データ要求コマンドなどの照会コマンドを発行する。これは、ホスト装置とプリンタとがマスタ−スレーブの関係にあることに起因する。つまり、ＵＳＢのようにマスタ−スレーブ関係を持って通信を行う場合、原則としてスレーブが自発的に情報を送ることはできず、ホストからの要求に対して応答することしかできない。従って、定期的にマスタであるホスト装置１０がスレーブであるプリンタ２０へ照会コマンドを送り、プリンタ２０からデータあるいはリクエストを取得する必要がある。
【００２４】
プリンタ２０は、ＵＳＢデバイスコントローラ２１と、プリンタ２０全体を制御するＣＰＵ２２と、印刷ヘッド及び紙送り機構などを備えた印刷機構２９とを備える。
【００２５】
ＵＳＢデバイスコントローラ２１は、ＵＳＢホストコントローラ１４に対して従属的に動作し、ＵＳＢに従った通信を行う。
【００２６】
例えば、ＵＳＢデバイスコントローラ２１が、ＵＳＢホストコントローラ１４から印刷要求を受け付けると、ＣＰＵ２２が所定の処理を行った後、印刷機構２９が印刷を実行する。また、ＵＳＢデバイスコントローラ２１を介してホスト装置１０からステータス照会コマンドを受信すると、ＣＰＵ２２がそのときのプリンタ２０のステータスを返信する。あるいは、ホスト装置１０からデータ要求コマンドを受信すると、その時点で、データ転送などのホスト装置１０に対する何らかの要求があれば、ＵＳＢデバイスコントローラ２１がＵＳＢホストコントローラ１４へその要求を通知する。
【００２７】
本実施形態では、プリンタ２０は、ホスト装置１０から所定時間の以上リクエストを受信しないと、省電力モードへ遷移する。省電力モードでは、例えば、ＣＰＵ２２及び印刷機構２９の電力消費が抑制される。
【００２８】
ここで、ホスト装置―プリンタ間でＵＳＢ通信を用いると、ホスト装置１０から定期的に照会コマンドが送られるので、プリンタ２０は省電力モードとなることができない。そこで、本実施形態では、デバイスドライバ１２は、以下のようにしてプリンタ２０の電力消費を抑制する。
【００２９】
図２は、デバイスドライバ１２の処理手順を示すフローチャートである。
【００３０】
まず、デバイスドライバ１２は、タイマ１２１をスタートさせるとともに、サスペンドフラグに０を設定する初期化を行う（Ｓ１１）。次に、サスペンドフラグが１であるか否かの判定を行う（Ｓ１２）。
【００３１】
ここで、サスペンドフラグが１である場合（Ｓ１２：Ｙｅｓ）、デバイスドライバ１２は、サスペンド中処理を行い、その後ステップＳ１２へ戻る（Ｓ２０）。サスペンド中処理については後述する。
【００３２】
一方、サスペンドフラグが１でない場合（Ｓ１２：Ｎｏ）、デバイスドライバ１２は、ＡＰ１１から何らかのリクエストを受信したか否かを判定する（Ｓ１３）。
【００３３】
ここで、リクエストを受信したときは（Ｓ１３：Ｙｅｓ）、受信したリクエストに従った処理を実行する（Ｓ１６）。さらに、ここで実行したリクエストがプリンタ２０のステータス照会コマンド、またはプリンタ２０に対するデータ要求コマンドなどの照会コマンドであるときは（Ｓ１７：Ｙｅｓ）、そのままステップＳ１２へ戻る。照会コマンドでないときは（Ｓ１７：Ｎｏ）、タイマ１２１をクリアした後、ステップＳ１２へ戻る。つまり、例えば印刷要求などのコマンドを受けると、タイマ１２１がクリアされる。
【００３４】
また、ステップＳ１３でリクエストを受信していないとき（Ｓ１３：Ｎｏ）、デバイスドライバ１２は、タイマ１２１の計測時間が所定時間を経過し、タイムアウトになったかどうかを判定する（Ｓ１４）。そして、タイムアウトになっていないときは（Ｓ１４：Ｎｏ）、ステップＳ１２へ戻る。
【００３５】
一方、ステップＳ１４でタイムアウトになると（Ｓ１４：Ｙｅｓ）、デバイスドライバ１２は、サスペンドフラグ１２２を“１”にし、サスペンド状態へ移行する（Ｓ１５）。
【００３６】
次に、図３は、ステップＳ２０のデバイスドライバ１２のサスペンド中処理を示すフローチャートである。
【００３７】
デバイスドライバ１２は、ＡＰ１１から何らかのリクエストを受信したか否かを判定する（Ｓ２１）。そして、リクエストを受信していないときは（Ｓ２１：Ｎｏ）、サスペンド中処理を終了する。
【００３８】
リクエストを受信したときは（Ｓ２１：Ｙｅｓ）、受信したコマンドが照会コマンドであるか否かを判定する（Ｓ２２）。
【００３９】
そして、受信したコマンドが照会コマンドであるときは（Ｓ２２：Ｙｅｓ）、各照会コマンドに対応したダミーレスポンスをＡＰ１１へ返し、サスペンド中処理を終了する（Ｓ２７）。例えば、ステータス照会コマンドに対するダミーレスポンスは、正常ステータスを示すレスポンスでよいし、データ要求コマンドに対するダミーレスポンスは、データなしを示すレスポンスでよい。
【００４０】
これにより、サスペンド状態では、ＡＰ１１から定期的に出力される照会コマンドに対して、デバイスドライバ１２はダミーレスポンスを返し、プリンタ２０への通知を行わない。従って、照会コマンド以外のコマンドがＡＰ１１から発行されない限り、プリンタ２０へはコマンドが通知されない。この状態がしばらく継続すると、ＵＳＢホストコントローラ１４及びＵＳＢデバイスコントローラ２１がサスペンド状態へ移行するとともに、プリンタ２０も省電力モードへ移行する。
【００４１】
一方、ステップＳ２２において、受信したコマンドが照会コマンドでないときは（Ｓ２２：Ｎｏ）、デバイスドライバ１２は、ＵＳＢホストコントローラ１４及びＵＳＢデバイスコントローラ２１をサスペンド状態から復帰させるための復帰コマンドをＵＳＢホストコントローラ１４に対して出力する（Ｓ２３）。
【００４２】
ＵＳＢホストコントローラ１４は、この復帰コマンドを受け付けると、ＵＳＢデバイスコントローラ２１を通常状態へ復帰させるとともに、自らも通常状態へ復帰する。なお、ＵＳＢデバイスコントローラ２１が通常状態に復帰すると、プリンタ２０全体も省電力モードから通常モードへ復帰する。
【００４３】
デバイスドライバ１２は、ＵＳＢホストコントローラ１４から復帰完了のレスポンスを待って、受信したリクエストを実行ための処理を行う（Ｓ２４，２５）。これとともに、デバイスドライバ１２は、サスペンドフラグ１２２に０を設定するとともに、タイマ１２１をクリアして、サスペンド中処理を終了する（Ｓ２６）。
【００４４】
これにより、ＡＰ１１から定期的に発行される照会コマンドを受け付けても、ＵＳＢホストコントローラ１４及びＵＳＢデバイスコントローラ２１のサスペンド状態は維持され、その結果、プリンタ２０も省電力モードの状態を継続させることができる。その一方で、印刷要求などのプリンタを動作させるためのコマンドがＡＰ１１から発行されたときは、速やかに通常の状態に復帰し、そのコマンドを実行することができるようになる。
【００４５】
さらに、本実施形態では、プリンタ２０が省電力モードであるときに、ステータスの変更などのようにホスト装置１０へ通知する必要があるイベントが発生したときには、以下の手順で通常状態へ復帰する。
【００４６】
図４は、プリンタ２０でのイベント発生に伴う通常状態への復帰手順を示すフローチャートである。
【００４７】
まず、プリンタ２０で所定のイベントが発生すると、プリンタ２０のＣＰＵ２２が省電力モードから復帰する（Ｓ３１、３２）。さらに、ＣＰＵ２２に続き、ＵＳＢデバイスコントローラ２１がサスペンド状態から復帰するとともに、ＵＳＢホストコントローラ１４に対してレジューム信号を出力する（Ｓ３３）。
【００４８】
ＵＳＢデバイスコントローラ２１からレジューム信号を受信したＵＳＢホストコントローラ１４は、サスペンド状態から復帰し、デバイスドライバ１２へサスペンド状態から復帰した旨をコールバックする（Ｓ３４，３５）。
【００４９】
デバイスドライバ１２は、このコールバックを受けて、サスペンドフラグ１２２を０にし、サスペンド状態から復帰する（Ｓ３６）。
【００５０】
この結果、これ以降ＡＰ１１から発行される照会コマンドは、タイムアウトされるまでの間はプリンタ２０へ通知されることになる。従って、ＡＰ１１は、プリンタ２０で起こったステータス変化などを把握することが可能となる。
【００５１】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【００５２】
例えば、上述の実施形態では、ホスト装置とプリンタとの組み合わせについて説明したが、プリンタ以外のデバイスであっても本発明を適用することができる。さらに、ホストとのデバイス間の通信は、ＵＳＢに限らず、ホストがマスタ、デバイスがスレーブとして通信を行うタイプの通信方式であれば、本発明を適用することができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施形態に係る印刷システム１の構成を示す図である。
【図２】デバイスドライバ１２の処理手順を示すフローチャートである。
【図３】デバイスドライバ１２のサスペンド中処理を示すフローチャートである。
【図４】プリンタでのイベント発生に伴う通常状態への復帰手順を示すフローチャートである。
【符号の説明】
【００５４】
１…印刷システム、１０…ホスト装置、１２…デバイスドライバ、１４…ホストコントローラ、２０…プリンタ、２１…デバイスコントローラ、２９…印刷機構。
【図１】
0004725725.tif 000002
【図２】
0004725725.tif 000003
【図３】
0004725725.tif 000004
【図４】
0004725725.tif 000005