JP4316838B2 - デバイスドライバおよびデバイス - Google Patents
デバイスドライバおよびデバイス Download PDFInfo
- Publication number
- JP4316838B2 JP4316838B2 JP2002141779A JP2002141779A JP4316838B2 JP 4316838 B2 JP4316838 B2 JP 4316838B2 JP 2002141779 A JP2002141779 A JP 2002141779A JP 2002141779 A JP2002141779 A JP 2002141779A JP 4316838 B2 JP4316838 B2 JP 4316838B2
- Authority
- JP
- Japan
- Prior art keywords
- power
- bus
- power consumption
- usb
- receiving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Description
【発明の属する技術分野】
本発明は、バスに接続されるデバイスを制御するデバイスドライバ、およびバスから電力の供給を受けるデバイスに関する。
【0002】
【従来の技術】
従来より、パーソナルコンピュータなどの本体には、周辺機器(デバイス)を接続するためのバスが設けられており、本体内には、そのバスに接続される周辺機器を制御するデバイスドライバが組み込まれている。また、近年では、パーソナルコンピュータのインターフェースとして、Universal Serial Bus(以下USBと称す)が標準的なものとなってきている。
【0003】
このUSBには、複数のデバイス(以下USBデバイスと称す)を接続することができ、そのようなUSBデバイスのうち低電力のUSBデバイスには、USBから電力の供給を受ける方式が採用されたもの(バスパワー・デバイス)も存在する。
【0004】
しかし、USBが普及するに連れて、パーソナルコンピュータに接続されるデバイスのうちUSBデバイスが占める割合が増加してきており、1台のパーソナルコンピュータに接続されるUSBデバイスの数も増加してきている。このため、USBデバイスの合計消費電力が、パーソナルコンピュータに設けられたUSBの許容供給電力を越えてしまう場合がある。USBでは、このような場合にパーソナルコンピュータに異常な負荷が掛かることなどを回避するために、予めUSBデバイスからバス側に消費電力を通知させ、その消費電力がUSBの許容供給電力で賄いきれない場合にはそのUSBデバイスを強制使用中止(disable)の状態にさせるという方式を採用している。
【0005】
【発明が解決しようとする課題】
しかし、最近では、携帯電話等といったような、バッテリを有したデバイスにもUSBデバイスが採用されてきており、そのようなバッテリを有したUSBデバイスは、電子回路などの動作用の電力のみならずバッテリ充電用の電力もUSBから供給を受ける。このような、動作時の消費電力が大きく異なる複数の機能を持ったUSBデバイスは、通常は、最も多く電力を消費する機能における消費電力をバス側に知らせるので、電子回路などの動作だけが必要な場合であっても必要以上の電力をホストに要求してしまい、強制使用中止(disable)の状態に陥ってしまうことがある。
【0006】
また、機能毎に消費電力を切り替えてバス側に知らせるタイプのUSBデバイスも存在するが、消費電力が大きい機能に切り換えた際に強制使用中止(disable)の状態に陥ってしまう場合がある。
【0007】
このような強制使用中止(disable)の状態に一旦陥ってしまうと、USBデバイスの再接続などを行わない限り、その後はそのUSBデバイスを全く利用することができなくなるので、ユーザはUSBデバイスの運用に当たって、強制使用中止(disable)の状態に陥ることがないように慎重に運用することが必要となり、煩雑である。
【0008】
上記の問題は、USBのみならず、複数のデバイスの接続と電力供給とが可能な任意のバスについて生じる問題である。
【0009】
本発明は、上記事情に鑑み、デバイスが強制使用中止(disable)の状態に陥ることを容易に回避することができるデバイスドライバおよびデバイスを提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成する本発明のデバイスドライバは、複数デバイスの接続と、接続されたデバイスに対する電力供給とが可能なバスに接続され、そのバスに消費電力を通知して電力供給を受ける受給型デバイスを制御するデバイスドライバであって、
上記バスに接続された受給型デバイスによる消費電力の通知に先立って、そのバスが供給することができる残電力を知得する残電力知得部と、
残電力知得部によって知得された残電力が、受給型デバイスによって通知される予定の消費電力を賄うのに十分であるか否かに応じて、受給型デバイスによる消費電力の通知を許可してバスによる電力供給を開始させ、あるいは電力不足を回避するための回避処理を実行する給電制御部とを備えたことを特徴とする。
【0011】
ここで、「通知される予定の消費電力」は、受給型デバイス内に記憶されているものであってもよく、あるいはデバイスドライバ自体に予め組み込まれているものであってもよい。
【0012】
本発明のデバイスドライバにおいて、上記給電制御部は、
「上記回避処理として、受給型デバイスによる消費電力の通知に先立って所定の表示装置に警告文を表示させ、所定の開始操作を待って、消費電力の通知を許可してバスによる電力供給を開始させるもの」
であってもよく、あるいは
「上記回避処理として、受給型デバイスからバスに上記残電力で賄える消費電力を通知させるとともに、その受給型デバイスをその通知させた消費電力内で動作させるもの」であってもよい。
【0013】
警告文を表示して開始操作を待つ回避処理の場合には、受給型デバイスのユーザは、残電力が不足することを警告文によって認識することができ、不要な他のデバイスをバスから外すことなどにより電力を確保してから開始操作を行うことにより強制使用中止(disable)の状態を回避することができる。
【0014】
また、残電力で賄える消費電力を通知させる回避処理の場合には、強制使用中止(disable)の状態が自動的に回避されることとなる。
【0015】
また、本発明のデバイスドライバは、
「上記残電力知得部は、受給型デバイスがバスに接続された際に残電力を知得するものである」
という形態であってもよく、あるいは
「上記受給型デバイスが、互いに消費電力が異なる複数の動作モードを有し、動作モードの変更に伴って新たに消費電力をバスに通知するものであり、
上記残電力知得部は、受給型デバイスの動作モードが変更される際に残電力を知得するものである」
という形態であってもよい。
【0016】
さらに、本発明のデバイスドライバにおいて、
「上記受給型デバイスが、互いに消費電力が異なる複数の動作モードを有するものであり、
上記給電制御部は、残電力知得部によって知得された残電力が、上記複数の動作モードそれぞれの消費電力のうち最大の消費電力を賄うのに十分である場合に、受給型デバイスからバスにその最大の消費電力を通知させるものである」
ということが好適である。このような形態のデバイスドライバによれば、残電力が十分に大きい時点で受給型デバイス用の電力が予め確保されるので、以後、どのような動作モードが選択されても強制使用中止(disable)の状態は回避される。
【0017】
なお、本発明のデバイスドライバは、
「上記受給型デバイスが、バスに通知する予定の消費電力を複数個記憶するものであり、
上記給電制御部は、受給型デバイスに記憶されている複数個の消費電力のうちの1つの消費電力を選択することにより、その選択された消費電力を受給型デバイスからバスへと通知させるものである」
という形態であってもよいが、
「上記受給型デバイスが、バスに通知する予定の消費電力を書き換え自在に記憶するものであり、
上記給電制御部は、受給型デバイスに記憶されている消費電力を書き換えることにより、その書き換えられた消費電力を受給型デバイスからバスへと通知させるものである」
という形態が好適である。このような形態のデバイスドライバによれば、受給型デバイスに用意するべきメモリ素子を少なく抑えることができ、受給型デバイスのコストを抑えることができる。
上記目的を達成する本発明のデバイスは、バスに接続され、そのバスに消費電力を通知してそのバスから電力供給を受けるデバイスであって、
上記消費電力がバスの供給能力に対して過大である場合に、このデバイスを、その消費電力よりも少ない消費電力で動作する動作状態に移行させる電力制御部と、
上記動作状態に移行した場合に、その動作状態における消費電力をバスに通知する電力通知部とを備えたことを特徴とする。
【0018】
本発明のデバイスによれば、消費電力がバスの供給能力を超えた場合に動作状態が移行して消費電力が抑えられるので、強制使用中止(disable)の状態は回避される。
【0019】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【0020】
図1は、本発明のデバイスドライバの一実施形態が適用されるコンピュータシステムを示す図である。
【0021】
この図には、コンピュータ本体10とUSBデバイス20とを有するコンピュータシステム1が示されており、このコンピュータシステム1は、図示が省略されたディスプレイなども有している。
【0022】
コンピュータ本体10には、ホストコントローラ11と、そのホストコントローラ11に制御される3組のバスライン12とを備えたUSB13が設けられており、バスライン12は、コネクタとケーブルで構成されている。USBデバイス20は、このUSB13のバスライン12の1つにUSB_I/F21を介して接続されている。このUSBデバイス20は、本発明にいう受給型デバイスの一例であって、USB13から電力の供給を受ける。3組のバスライン12を枝分かれさせることにより、USB13には最大で127個のデバイスを接続することができ、USB13は、所定の上限電力内であれば、複数の受給型デバイスに電力を供給することもできる。
【0023】
コンピュータ本体10には、コンピュータシステム1全体の基本的な管理を行うOS(Operating System)14と、コンピュータシステム1を所定の役目の装置として動作させるアプリケーション15と、USBデバイス20を制御する、そのUSBデバイス20用のデバイスドライバ100がインストールされている。ここで、このデバイスドライバ100は、CD−ROM200に記憶されていたものであり、そのCD−ROM200が、コンピュータシステム1に備えられた、図示が省略されたCDドライブに装填されてコンピュータ本体10に読み込まれることによってインストールされたものである。このデバイスドライバ100は、本発明のデバイスドライバの一実施形態である。
【0024】
図2は、デバイスドライバの構成を示す図である。
【0025】
この図2には、CD−ROM200に記憶された状態でのデバイスドライバ100の構成が示されているが、コンピュータ本体10にインストールされた状態でのデバイスドライバ100も同様な構成を有しており、デバイスドライバ100には、残電力知得部110と給電制御部120が備えられている。
【0026】
残電力知得部110は、図1に示すUSB13が供給することができる電力の残りを知得するものであり、給電制御部120は、USBデバイス20に対する電力供給を制御するものである。
【0027】
図1に戻って説明を続ける。
【0028】
USBデバイス20にはN種類の動作モードが存在し、コンフィグレーション・デスクリプタ22と称されるメモリ素子がN個備えられており、これらのコンフィグレーション・デスクリプタ22それぞれには、N種類の動作モードそれぞれにおける動作環境(コンフィグレーション)が記憶されている。コンフィグレーション・デスクリプタ22の記憶内容の詳細については後述する。
また、USBデバイス20には、上述したN種類の動作モードの切替えや、動作モードに応じたコンフィグレーション・デスクリプタ22の選択等を担う動作制御ブロック23と、選択されたコンフィグレーション・デスクリプタ22に記憶されている動作環境に従う電力制御を担う電力制御ブロック24も備えられている。動作制御ブロック23は、本発明のにいう電力通知部の一例に相当し、電力制御ブロック24は、本発明にいう電力制御部の一例に相当する。
【0029】
図3は、コンフィグレーション・デスクリプタ22の記憶内容を示す図である。
【0030】
この図3には、コンフィグレーション・デスクリプタの記憶内容がコンフィグテーブル300にまとめられて示されており、コンフィグレーション・デスクリプタには、0番から8番までの9つのフィールドが記憶されている。また、このコンフィグテーブル300には、それら9つのフィールドそれぞれについて、フィールド名301、サイズ302、フィールドの値303、およびフィールドの記憶内容304が示されている。これら9つのフィールドのうち8番のフィールド310にはMaxPowerというフィールド名が与えられており、該当する動作モードにおける最大の消費電力が記憶されている。
【0031】
図1に示すUSB13には、命令(リクエスト)体系が備えられており、デバイスドライバ100は、この命令体系を用いてUSBデバイス20を制御する。
【0032】
この命令体系では、USBデバイスの種類にかかわらず共通に規定された13個のスタンダード・リクエストと、USBデバイスをいくつかのクラスに分類した各クラス内で共通に規定された1個のクラス・リクエストと、USBデバイスのメーカが自由に定義することができる1個のベンダー・リクエストが用いられる。
【0033】
図4は、USBに備えられたスタンダード・リクエストを表す図である。
【0034】
この図4には、USBに備えられた13個のスタンダード・リクエストがリクエストテーブル320にまとめられて示されており、このリクエストテーブル320には、13個のスタンダード・リクエストそれぞれについて、リクエストナンバー321と、リクエスト名322と、リクエストの内容323が示されている。
【0035】
以下の説明では、ここに示す13個のスタンダード・リクエストのうち、6番のリクエスト330と、9番のリクエスト340が用いられる。6番のリクエスト330は、GET_DESCRIPTORというリクエスト名を有しており、コンフィグレーション・デスクリプタに記憶されている内容を取得する命令である。また、9番のリクエスト340は、SET_CONFIGURATIONというリクエスト名を有しており、コンフィグレーション・デスクリプタを指定することによりUSBデバイスの動作環境(コンフィグレーション)を設定する命令である。
【0036】
以下、本発明のデバイスドライバの第1実施形態における制御動作手順について説明する。なお、以下の説明では、図1に示す構成要素を適宜に参照する。
【0037】
図5は、第1実施形態における制御動作手順の前段を示す図であり、図6は、第1実施形態における制御動作手順の後段を示す図である。
【0038】
デバイスドライバ100によるUSBデバイス20の制御は、コンピュータ本体10の電源がオン状態になったとき、あるいはUSBデバイス20がUSB13に接続(Plug IN)されたときに開始され、先ず、USBデバイス20からホストコントローラ11に、バスライン12を介して所定の信号が通知され(ステップS101)、その信号を端緒としてOS14などによって、USBデバイス20を認識するための前処理(ステップS102)が実行される。
【0039】
この前処理が終了すると、デバイスドライバ100が、図4に示すGET_DESCROPTORというリクエスト330をUSBデバイス20に投げて(ステップS103)、このUSBデバイス20から、USBデバイス20内に備えられたコンフィグレーション・デスクリプタ22の数と、各コンフィグレーション・デスクリプタ22に記憶されているMaxPower値とを取得する(ステップS104)。このように取得されたMaxPower値は、デバイスドライバ100によってコンピュータ本体10内に保管される。
【0040】
このような前段の手順が終了した後、図6に示す後段の手順は、USBデバイス20の認識後に初めて、USBデバイス20が有する複数の動作モードから1つの動作モードが指定されて開始された場合や、1つの動作モードから別の動作モードに切り替えられた場合に開始される。なお、これらの場合を包括して、以下では単に「動作モードの切替え」と称する。
【0041】
動作モードの切替えは、以下の2つ要求のうちのいずれかの要求によって発生する。1つは、USBデバイス20からの切替え要求(ステップS201)であり、もう一つはアプリケーション15からの切替え要求(ステップS202)である。
【0042】
USBデバイス20からの切替え要求は、USBデバイス20内の動作制御ブロック23から、USB_I/F21、バスライン12、USBホストコントローラを順に経由して、デバイスドライバ100に通知される。
【0043】
また、アプリケーション15からの切替え要求は、コンピュータ本体10内のアプリケーション15から、OS14を通じてデバイスドライバ100に通知される。
【0044】
これらの要求を受けて、デバイスドライバ100の残電力知得部110(図2参照)は、ホストコントローラ11からOS14を介して、供給可能な残りの電力値(許容供給電力値)を知得する(ステップS203)。その後、デバイスドライバ100の給電制御部120(図2参照)は、図5に示す手順で事前に取得されて保管されたMaxPower値のうち、切替え後の動作モードに対応するMaxPower値と、残電力知得部110によって知得された許容供給電力値とに基づいて、切替え後の動作モードで必要な消費電力が許容供給電力値で賄えるか否かを判定する。即ち、動作モードの切替に伴うMaxPower値の増加分が許容供給電力値を越えているか否かを判定する。
【0045】
ここで、MaxPower値の増加分が許容供給電力値を越えていないと判定された場合(動作モードの切替に伴ってMaxPower値が減少する場合を含む)には、デバイスドライバ100は、図4に示すSET_CONFIGURATIONというリクエスト340をUSBデバイス20に投げて(ステップS204)、新たな動作モードの動作環境(コンフィグレーション)にUSBデバイス20を移行させる。動作環境が移行したUSBデバイス20は、新たな動作環境での消費電力をホストコントローラ11を介してOS14に通知し、USB13から動作電力の供給を受ける。また、デバイスドライバ100は、OS14を介してアプリケーション15に、動作モードの移行(切替え)が完了したことを通知する(ステップS205)。
【0046】
一方、給電制御部120によって、MaxPower値の増加分が許容供給電力値を越えていると判定された場合には、動作モードの移行をする/しないを、デバイスドライバ100がOS14およびアプリケーション15を介してユーザに問い合せ(ステップS206)、Yes(移行する)/No(移行しない)を表す返答通知を受ける(ステップS207)。このとき、問い合せを受けたユーザは、USB13に接続されている余分なUSBデバイスを外すことなどによって電力を確保した上でYes(移行する)を表す返答通知を返すか、あるいは、新たな動作モードへの切替えをあきらめてNo(移行しない)を表す返答通知を返す。
【0047】
給電制御部120は、No(移行しない)を表す返答通知を受けた場合には、新たな動作モードへの切替えを禁止し、Yes(移行する)を表す返答通知を受けた場合には、SET_CONFIGURATIONというリクエスト340をUSBデバイス20に投げて(ステップS208)、新たな動作モードの動作環境(コンフィグレーション)にUSBデバイス20を移行させる。そして、上記同様に、USBデバイス20は消費電力の通知を行って電力の供給を受け、デバイスドライバ100は、OS14を介してアプリケーション15に、動作モードの移行(切替え)が完了したことを通知する(ステップS209)。
【0048】
このような第1実施形態によれば、デバイスが強制使用中止(disable)の状態に陥る前に、動作モードの移行をする/しないの問い合せがユーザに提示されるので、ユーザが適宜に対処することにより強制使用中止(disable)の状態を容易に回避することができる。
【0049】
次に、本発明のデバイスドライバの第2実施形態について説明する。
【0050】
この第2実施形態は、図1に示すN個のコンフィグレーション・デスクリプタ22のうち、例えば第N番目のコンフィグレーション・デスクリプタが、MaxPower値が書き換え可能なものであるという点を除いて、図1に示すコンピュータシステム1と同等なコンピュータシステムを前提とする。また、この第2実施形態は、図2に示す構成と同様の構成を有している。
【0051】
以下では、図1〜図4を、第2実施形態に関する図として流用して説明する。
【0052】
図7は、第2実施形態における制御動作手順を示す図である。
【0053】
第2実施形態でも、デバイスドライバ100によるUSBデバイス20の制御は、コンピュータ本体10の電源がオン状態になったとき、あるいはUSBデバイス20がUSB13に接続(Plug IN)されたときに開始され、先ず、USBデバイス20からホストコントローラ11に、バスライン12を介して所定の信号が通知され(ステップS301)、その信号を端緒としてOS14などによって、USBデバイス20を認識するための前処理(ステップS302)が実行される。
【0054】
この前処理が終了すると、第2実施形態では、デバイスドライバ100の残電力知得部110(図2参照)によって、OS14から許容供給電力値が取得され、その許容供給電力値が、デバイスドライバ100の給電制御部120(図2参照)によって、OS14、ホストコントローラ11、バスライン12、USB_I/F21を順次に経由して、第N番目のコンフィグレーション・デスクリプタ22へと伝達されて、その第N番目のコンフィグレーション・デスクリプタにMaxPower値として設定される(ステップS304)。このようなMaxPower値の設定は、例えば、上述したベンダー・リクエストを定義することによって実現することができる。
【0055】
その後、デバイスドライバ100の給電制御部120は、SET_CONFIGURATIONリクエストを用いて、USBデバイス20の動作環境を、第N番目のコンフィグレーション・デスクリプタ22に記憶されている動作環境に切り替える(ステップS305)。
【0056】
USBデバイス20の電力制御ブロック24は、切り替えられた動作環境に設定されているMaxPower値を越えることの無い様に電力制御を行う。例えば、USBデバイス20が、USB13から充電電力を供給される充電池を備えたものであり、許容供給電力値が通常の充電電力を下回っているといった場合には、電力制御ブロック24は、設定されているMaxPower値(即ち許容供給電力値)内でゆっくりと充電を行うといった電力制御を行うこととなる。
【0057】
このような第2実施形態によれば、強制使用中止(disable)の状態が自動的に回避される。
【0058】
なお、この第2実施形態では、ステップS304で許容供給電力値に余裕があって、USBデバイス20が消費する最大の消費電力値を上回っている場合には、その最大の消費電力値がMaxPower値として設定される。この最大の消費電力値は、デバイスドライバ100内に予め用意されている値である。
【0059】
このように最大の消費電力値がMaxPower値として設定されることにより、過大な電力の割り当てが回避されるとともに、以後、どの様な動作モードに切り替わっても強制使用中止(disable)の状態が回避されることとなる。
【0060】
次に、本発明のデバイスドライバの第3実施形態について説明する。
【0061】
図8は、第3実施形態が適用されるコンピュータシステムを示す図である。
【0062】
この図8に示すコンピュータシステム2は、図1に示すN個のコンフィグレーション・デスクリプタ22を有するUSBデバイス20に替えて、MaxPower値が書き換え可能な1つのコンフィグレーション・デスクリプタ26を有するUSBデバイス25を備えている点と、コンピュータ本体10に第3実施形態のデバイスドライバ150が組み込まれている点を除いて、図1に示すコンピュータシステム1と同様である。また、第3実施形態のデバイスドライバ150の構成は、図2に示すデバイスドライバ100構成と同様である。
【0063】
以下では、図2〜図4を、第3実施形態に関する図として流用して説明する。
【0064】
図9は、第3実施形態における制御動作手順を示す図である。
【0065】
第3実施形態でも、デバイスドライバ150によるUSBデバイス20の制御は、コンピュータ本体10の電源がオン状態になったとき、あるいはUSBデバイス20がUSB13に接続(Plug IN)されたときに開始され、先ず、USBデバイス20からホストコントローラ11に、バスライン12を介して所定の信号が通知され(ステップS401)、その信号を端緒としてOS14などによって、USBデバイス20を認識するための前処理(ステップS402)が実行される。
【0066】
この前処理が終了すると、第3実施形態でも第2実施形態と同様に、デバイスドライバ150の残電力知得部110(図2参照)によって、OS14から許容供給電力値が取得され、デバイスドライバ150の給電制御部120(図2参照)によって、OS14、ホストコントローラ11、バスライン12、USB_I/F21を介して、コンフィグレーション・デスクリプタ26のMaxPower値が、第2実施形態のステップS304における設定値と同様の値に設定される(ステップS403)。
【0067】
その後、第3実施形態では、デバイスドライバ150から、OS14およびホストコントローラ11を経由してUSBのバス・リセットが発せられて(ステップS404)、上記同様の前処理(ステップS405)が実行され、USBデバイス25が再度認識される。その後、デバイスドライバ150の給電制御部120が、SET_CONFIGURATIONリクエストを用いて、USBデバイス25の動作環境を、コンフィグレーション・デスクリプタ26に記憶されている動作環境に設定する(ステップS406)。
【0068】
このような第3実施形態によれば、第2実施形態における給電制御と同等な給電制御を、1つのコンフィグレーション・デスクリプタ26だけで実現することができ、USBデバイス25のコストを抑えることができる。
【0069】
なお、第3実施形態におけるステップS403〜ステップS406の手順で、上記第1実施形態におけるステップS204やステップS208を置き換えるといった応用によって、第1実施形態における給電制御と同等な給電制御を1つのコンフィグレーション・デスクリプタ26だけで実現することもできる。
【0070】
以下、本発明の種々の形態を付記する。
【0071】
(付記1) 複数デバイスの接続と、接続されたデバイスに対する電力供給とが可能なバスに接続され、該バスに消費電力を通知して電力供給を受ける受給型デバイスを制御するデバイスドライバであって、
前記バスに接続された受給型デバイスによる消費電力の通知に先立って、該バスが供給することができる残電力を知得する残電力知得部と、
前記残電力知得部によって知得された残電力が、前記受給型デバイスによって通知される予定の消費電力を賄うのに十分であるか否かに応じて、該受給型デバイスによる該消費電力の通知を許可して前記バスによる電力供給を開始させ、あるいは電力不足を回避するための回避処理を実行する給電制御部とを備えたことを特徴とするデバイスドライバ。
【0072】
(付記2) 前記給電制御部が、前記回避処理として、前記受給型デバイスによる消費電力の通知に先立って所定の表示装置に警告文を表示させ、所定の開始操作を待って、該消費電力の通知を許可して前記バスによる電力供給を開始させるものであることを特徴とする付記1記載のデバイスドライバ。
【0073】
(付記3) 前記給電制御部が、前記回避処理として、前記受給型デバイスから前記バスに前記残電力で賄える消費電力を通知させるとともに、該受給型デバイスをその通知させた消費電力内で動作させるものであることを特徴とする付記1記載のデバイスドライバ。
【0074】
(付記4) 前記残電力知得部は、前記受給型デバイスが前記バスに接続された際に残電力を知得するものであることを特徴とする付記1記載のデバイスドライバ。
【0075】
(付記5) 前記受給型デバイスが、互いに消費電力が異なる複数の動作モードを有し、動作モードの変更に伴って新たに消費電力を前記バスに通知するものであり、
前記残電力知得部は、前記受給型デバイスの動作モードが変更される際に残電力を知得するものであることを特徴とする付記1記載のデバイスドライバ。
【0076】
(付記6) 前記受給型デバイスが、互いに消費電力が異なる複数の動作モードを有するものであり、
前記給電制御部は、前記残電力知得部によって知得された残電力が、前記複数の動作モードそれぞれの消費電力のうち最大の消費電力を賄うのに十分である場合に、前記受給型デバイスから前記バスにその最大の消費電力を通知させるものであることを特徴とする付記1記載のデバイスドライバ。
【0077】
(付記7) 前記受給型デバイスが、前記バスに通知する予定の消費電力を複数個記憶するものであり、
前記給電制御部は、前記受給型デバイスに記憶されている複数個の消費電力のうちの1つの消費電力を選択することにより、その選択された消費電力を該受給型デバイスから前記バスへと通知させるものであることを特徴とする付記3または6記載のデバイスドライバ。
【0078】
(付記8) 前記受給型デバイスが、前記バスに通知する予定の消費電力を書き換え自在に記憶するものであり、
前記給電制御部は、前記受給型デバイスに記憶されている消費電力を書き換えることにより、その書き換えられた消費電力を該受給型デバイスから前記バスへと通知させるものであることを特徴とする付記3または6記載のデバイスドライバ。
【0079】
(付記9) バスに接続され、該バスに消費電力を通知して該バスから電力供給を受けるデバイスであって、
前記消費電力が前記バスの供給能力に対して過大である場合に、このデバイスを、該消費電力よりも少ない消費電力で動作する動作状態に移行させる電力制御部と、
前記動作状態に移行した場合に、該動作状態における消費電力を前記バスに通知する電力通知部とを備えたことを特徴とするデバイス。
【0080】
【発明の効果】
以上説明したように、本発明のデバイスドライバやデバイスによれば、強制使用中止(disable)の状態が容易に回避され、デバイスが常に動作し続けることが可能となる。
【図面の簡単な説明】
【図1】本発明のデバイスドライバの一実施形態が適用されるコンピュータシステムを示す図である。
【図2】デバイスドライバの構成を示す図である。
【図3】コンフィグレーション・デスクリプタ22の記憶内容を示す図である。
【図4】USBに備えられたスタンダード・リクエストを表す図である。
【図5】第1実施形態における制御動作手順の前段を示す図である。
【図6】第1実施形態における制御動作手順の後段を示す図である。
【図7】第2実施形態における制御動作手順を示す図である。
【図8】第3実施形態が適用されるコンピュータシステムを示す図である。
【図9】第3実施形態における制御動作手順を示す図である。
【符号の説明】
1,2 コンピュータシステム
10 コンピュータ本体
11 ホストコントローラ
12 バスライン
13 USB
14 OS
15 アプリケーション
20,25 USBデバイス
21 USB_I/F
22,26 コンフィグレーション・デスクリプタ(メモリ)
23 動作制御ブロック
24 電力制御ブロック
100,150 デバイスドライバ
110 残電力知得部
120 給電制御部
200 CD−ROM
300 コンフィグテーブル
320 リクエストテーブル
Claims (5)
- 複数デバイスの接続と、接続されたデバイスに対する電力供給とが可能なバスに接続され、該バスに消費電力を通知して電力供給を受ける受給型デバイスをコンピュータに制御させるデバイスドライバであって、
前記バスに接続された受給型デバイスによる消費電力の通知に先立って、該バスが供給することができる残電力を知得する残電力知得部と、
前記バスに接続された受給型デバイスによる消費電力の通知に先立って、該通知とは別に該消費電力を知得する消費電力知得部と、
前記残電力知得部によって知得された残電力が、前記消費電力知得部によって知得された消費電力を賄うのに十分であるか否かに応じて、該受給型デバイスによる該消費電力の通知を許可して前記バスによる電力供給を開始させ、あるいは電力不足を回避するための回避処理を実行する給電制御部として前記コンピュータを動作させるものであることを特徴とするデバイスドライバ。 - 前記給電制御部が、前記回避処理として、前記受給型デバイスによる消費電力の通知に先立って所定の表示装置に残電力が不足していることを表した警告文を表示させ、所定の開始操作を待って、該消費電力の通知を許可して前記バスによる電力供給を開始させるものであることを特徴とする請求項1記載のデバイスドライバ。
- 前記給電制御部が、前記回避処理として、前記受給型デバイスから前記バスに前記残電力で賄える消費電力を通知させるとともに、該受給型デバイスをその通知させた消費電力内で動作させるものであることを特徴とする請求項1記載のデバイスドライバ。
- 前記受給型デバイスが、前記バスに通知する予定の消費電力を書き換え自在に記憶するものであり、
前記給電制御部は、前記受給型デバイスに記憶されている消費電力を書き換えることにより、その書き換えられた消費電力を該受給型デバイスから前記バスへと通知させるものであることを特徴とする請求項3記載のデバイスドライバ。 - バスに接続され、該バスに消費電力を通知して該バスから電力供給を受けるデバイスであって、
前記消費電力が前記バスの供給能力に対して過大である場合に、このデバイスを、該消費電力よりも少ない消費電力で動作する動作状態に移行させる電力制御部と、
前記動作状態に移行した場合に、該動作状態における消費電力を前記バスに通知する電力通知部とを備えたことを特徴とするデバイス。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002141779A JP4316838B2 (ja) | 2002-05-16 | 2002-05-16 | デバイスドライバおよびデバイス |
US10/291,540 US7290171B2 (en) | 2002-05-16 | 2002-11-12 | Device driver and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002141779A JP4316838B2 (ja) | 2002-05-16 | 2002-05-16 | デバイスドライバおよびデバイス |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003330578A JP2003330578A (ja) | 2003-11-21 |
JP4316838B2 true JP4316838B2 (ja) | 2009-08-19 |
Family
ID=29702269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002141779A Expired - Fee Related JP4316838B2 (ja) | 2002-05-16 | 2002-05-16 | デバイスドライバおよびデバイス |
Country Status (2)
Country | Link |
---|---|
US (1) | US7290171B2 (ja) |
JP (1) | JP4316838B2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI115562B (fi) * | 2002-03-27 | 2005-05-31 | Nokia Corp | Menetelmä ja järjestelmä tehonkulutuksen määrittämiseksi elektroniikkalaitteen yhteydessä ja elektroniikkalaite |
KR100481506B1 (ko) * | 2002-12-31 | 2005-04-07 | 삼성전자주식회사 | 외부 시스템과 정보를 교환할 수 있는 개인 휴대형정보단말기 및 그 정보 교환방법 |
TWI347523B (en) * | 2003-02-05 | 2011-08-21 | Panasonic Corp | Peripheral device and control method thereof, and main device and control method thereof, and program thereof |
TWI234067B (en) * | 2003-10-28 | 2005-06-11 | Prolific Technology Inc | Universal serial bus controller with power-saving mode and operating method thereof |
JP2006011865A (ja) * | 2004-06-25 | 2006-01-12 | Japan Radio Co Ltd | 携帯電話端末電源供給システム |
KR100768913B1 (ko) * | 2004-08-04 | 2007-10-19 | 삼성전자주식회사 | 통신케이블로 연결된 외부장치의 이상여부를 감지하는호스트장치 및 그 방법 |
US20060047880A1 (en) * | 2004-08-27 | 2006-03-02 | Imation Corp. | Memory device with HUB capability |
US20060129856A1 (en) * | 2004-12-10 | 2006-06-15 | Main Kevin K | System and method for expansion card power limiting |
US7512720B2 (en) * | 2005-04-29 | 2009-03-31 | Sigmatel, Inc. | System and method for accessing universal serial bus networks |
SG127770A1 (en) * | 2005-05-31 | 2006-12-29 | Creactive Technology Ltd | Methods of invoking various functions of a digitalmedia player using a single switch of the digital media player |
JP4488987B2 (ja) * | 2005-09-08 | 2010-06-23 | シャープ株式会社 | 制御システム、電子機器、及び画像形成装置 |
US7650517B2 (en) * | 2005-12-19 | 2010-01-19 | International Business Machines Corporation | Throttle management for blade system |
JP5152785B2 (ja) * | 2008-01-28 | 2013-02-27 | ソニーオプティアーク株式会社 | 周辺機器、周辺機器の動作方法、電子機器システム |
US8856501B2 (en) * | 2009-12-14 | 2014-10-07 | Sandisk Technologies Inc. | Method and system for controlling operation of interconnected devices by circulating host capability without a centralized manager |
US7871278B1 (en) | 2009-12-15 | 2011-01-18 | International Business Machines Corporation | Connector blocking with automatic power management and balancing |
JP2011040092A (ja) * | 2010-10-01 | 2011-02-24 | Toshiba Corp | 情報処理装置およびその電源制御方法 |
JP6024288B2 (ja) * | 2012-08-27 | 2016-11-16 | 株式会社バッファロー | 情報処理システム及び外部機器 |
WO2014103091A1 (ja) * | 2012-12-26 | 2014-07-03 | Necカシオモバイルコミュニケーションズ株式会社 | 携帯端末、モジュール装置、及びプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745670A (en) * | 1996-06-11 | 1998-04-28 | Lanart Corporation | Fault tolerant power supply system |
US6067628A (en) * | 1998-04-09 | 2000-05-23 | Intel Corporation | Method to monitor universal serial bus hub overcurrent |
JPH11316625A (ja) | 1998-04-30 | 1999-11-16 | Toshiba Corp | パーソナルコンピュータ及び外部ユニットへの電力供給制御方法 |
JP2001034370A (ja) | 1999-07-23 | 2001-02-09 | Toshiba Corp | 省電力制御装置、省電力制御方法及びコンピュータシステム |
JP2001075682A (ja) * | 1999-09-01 | 2001-03-23 | Canon Inc | 電子機器及びその制御方法及び記憶媒体 |
US6665801B1 (en) * | 2000-01-27 | 2003-12-16 | Symbol Technologies, Inc. | Method and apparatus for charging a self powered USB device at different charge rates according to the charge level of a rechargeable element on the device |
JP2002149284A (ja) * | 2000-11-14 | 2002-05-24 | Konica Corp | ストレージ機器 |
US6541879B1 (en) * | 2001-03-23 | 2003-04-01 | Cypress Semiconductor Corp. | USB hub power management |
KR100711914B1 (ko) * | 2001-09-15 | 2007-04-27 | 엘지전자 주식회사 | 유에스비 전원 제어장치 |
US7069347B1 (en) * | 2002-09-27 | 2006-06-27 | Cypress Semiconductor Corporation | Device and method for adapting speed of a USB device based on available power |
US7017055B1 (en) * | 2004-12-08 | 2006-03-21 | Cyber Power System Inc. | Hub that can supply power actively |
-
2002
- 2002-05-16 JP JP2002141779A patent/JP4316838B2/ja not_active Expired - Fee Related
- 2002-11-12 US US10/291,540 patent/US7290171B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7290171B2 (en) | 2007-10-30 |
US20040078498A1 (en) | 2004-04-22 |
JP2003330578A (ja) | 2003-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4316838B2 (ja) | デバイスドライバおよびデバイス | |
US6591368B1 (en) | Method and apparatus for controlling power of computer system using wake up LAN (local area network) signal | |
US7489974B2 (en) | Information processing apparatus and method for controlling power supply of the apparatus | |
US8612779B2 (en) | Power management apparatus and methods | |
JP3674855B2 (ja) | 電源制御装置および電源制御方法 | |
US5903764A (en) | Smart battery selector offering power conversion internally within a portable device | |
JP2998737B2 (ja) | 周辺機器用電源制御装置 | |
CN101566870B (zh) | 计算机系统及其控制方法 | |
CA2070955C (en) | Apparatus and method for suspending and resuming software applications on a computer | |
JP2003263245A (ja) | Usb装置 | |
US9071080B2 (en) | Power supply unit, processing system, and control method | |
CN101430592A (zh) | 信息处理设备 | |
JP2001306495A (ja) | 携帯通信端末 | |
JP2001197682A (ja) | 電源切換装置及びコンピュータ | |
JP2010108414A (ja) | 情報処理装置 | |
CN102750248A (zh) | 一种usb设备工作模式切换方法及usb设备 | |
JP2006099354A (ja) | データ転送制御装置およびデータ転送制御方法 | |
CN101853966A (zh) | 手持式终端的usb充电方法和装置 | |
JP4277638B2 (ja) | 無停電電源装置 | |
WO2024041395A1 (zh) | Dcdc转化器的控制方法、控制装置及车辆 | |
JPH10198468A (ja) | バッテリ制御装置、情報処理システム及びバッテリ制御方法 | |
CN112162514B (zh) | 一种同步模块、辅助同步模块以及域控制器 | |
JP2997584B2 (ja) | 電源制御装置 | |
JP2002223527A (ja) | 電子機器とその電源制御方法 | |
JP4503003B2 (ja) | 電源バックアップシステム及びこれを具えた電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041026 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071022 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080214 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080924 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081118 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20081201 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090519 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090521 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120529 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120529 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130529 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140529 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |