JP2011150610A - 特定の機能を維持しながら消費電力を低減するコンピュータ - Google Patents

特定の機能を維持しながら消費電力を低減するコンピュータ Download PDF

Info

Publication number
JP2011150610A
JP2011150610A JP2010012644A JP2010012644A JP2011150610A JP 2011150610 A JP2011150610 A JP 2011150610A JP 2010012644 A JP2010012644 A JP 2010012644A JP 2010012644 A JP2010012644 A JP 2010012644A JP 2011150610 A JP2011150610 A JP 2011150610A
Authority
JP
Japan
Prior art keywords
mode
state
computer
event
suspend
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.)
Granted
Application number
JP2010012644A
Other languages
English (en)
Other versions
JP4970560B2 (ja
Inventor
Susumu Shimotoono
享 下遠野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2010012644A priority Critical patent/JP4970560B2/ja
Priority to US13/012,483 priority patent/US8856572B2/en
Priority to CN201110025647.6A priority patent/CN102156532B/zh
Publication of JP2011150610A publication Critical patent/JP2011150610A/ja
Application granted granted Critical
Publication of JP4970560B2 publication Critical patent/JP4970560B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

【課題】特定の機能を維持しながらノートPCを小さな消費電力で動作させる。
【解決手段】ノートPCはHDDを備えており、通常モードと新たな動作モードであるドーズ・モードで動作することが可能である。ドーズ・モードでは、プロセスを実行して特定の機能を維持しながら通常モードより消費電力の少ない状態で動作することができる。ドーズ・モードでは、LCD筐体を閉じたときに移行イベントを生成し、そのときに存在していたプロセスを強制サスペンドしたり、HDDに対してI/Oリクエストをしたプロセスに対するI/O処理完了通知を保留したりする。その結果、チャット・プログラムのセッションを維持しながらHDDを停止して小さな消費電力でノートPCを動作させることができる。
【選択図】図4

Description

本発明はコンピュータの消費電力を低減する技術に関し、さらに詳細には特定の機能を維持しながらコンピュータの消費電力を低減する技術に関する。
ACPI(Advanced Configuration and Power Interface)の規格にはコンピュータの電力状態に関連して、S0ステートからS5ステートまでの6つの動作状態(パワー・ステート)が定義されている。S0ステートはコンピュータが動作している状態であり、プロセッサ(CPU)およびその他のデバイスは、アクセスの頻度や負荷の状態などに応じてそれぞれに対して設定されたアルゴリズムに基づいて自動的に節電モードに遷移して動作することができる。S1ステートからS4ステートは、スリーピング・ステートといわれCPUは命令の実行を停止する。
S1ステートからS4ステートまで順番に消費電力が低下する割合が大きくなり、また各ステートからS0ステートにレジュームするまでの時間が長くなる。S3ステートはサスペンドまたはスタンバイといわれS0ステートのときのプロセッサのコンテキストはメイン・メモリに記憶されメイン・メモリの電力が確保される。S4ステートはハイバネーションといわれプロセッサのコンテキストとメイン・メモリの記憶内容は不揮発性の記録媒体に記憶される。S5ステートはソフト・オフの状態であり消費電力はS4ステートと同じである。
また、ノートブック型パーソナル・コンピュータ(以下、ノートPCという。)では、液晶ディスプレイ(LCD)を保持するLCD筐体が閉じられたときにLCDの動作だけを停止してシステムはS0ステートを維持するといったリッド・クローズ・ノーアクションという動作モードを採用することがある。リッド・クローズ・ノーアクションはS0ステートに短時間でレジュームできるので、ノートPCを短時間の間使用しないようなときの動作モードに適している。
特許文献1は、ノートPCの移動時の障害を防ぐ技術を開示する。同文献の発明ではノートPCをオフィスと会議室との間といったような短時間で移動させるときの落下に対する安全確保と復帰時間の短縮を図るために新たに移動モードという動作モードを定義している。同文献には蓋が閉じられてノートPCが移動モードに入ったときには、CPUの動作を継続させ、ハードディスク・ドライブ(HDD)への読み出し書き込み要求はキューに保管してHDDのヘッドをディスク上から退避させることが記載されている。
特開2005−352897号公報
ところでノートPCには、無線ネットワークを利用してリアルタイムに会話を行うチャット用のアプリケーション・プログラム(以下、アプリケーションという。)が導入されることがある。チャット・アプリケーションには、会話の相手のログイン状況を画面に表示する機能が備わっており、ノートPCを移動している間に一旦形成したセッションが切断されると相手に自分がログアウトした状態を示すことになる。この場合、移動のために短時間だけ応答できない状態であるにもかかわらず、セッションが切断されたために相手は自分が長時間応答できない状態になっていると判断してしまい、迅速な情報交換が阻害されることになる。移動中にもチャット・アプリケーションのセッションを維持しておくためには、CPU、メイン・メモリ、および無線モジュールなどのデバイスに電力を供給しかつ関連するプログラムを実行できるようにしておく必要がある。
他方では、移動中のノートPCではユーザによる作業が行われないので、その消費電力はできるだけ小さいことが望ましい。ACPIのS1ステートからS4ステートでは、CPUが命令を実行しないので無線ネットワークを維持したりチャット・アプリケーションのセッションを維持したりしておくことはできない。また、S3ステートではレジュームするまでの時間が長くなる場合があるので一時的な節電モードとしては利便性に欠ける面がある。
また、チャット・アプリケーションや無線ネットワークのような特定の機能を維持するためにはオペレーティング・システム(OS)も実行可能な状態にしておく必要がある。しかし、Windows(登録商標)などのOSには、アプリケーションを自動的に実行するためのタスク・スケジューラが組み込まれており、所定の予約された時間に多数のプロセスが実行されることがある。したがって、特定の機能を維持する際には、必然的にそのようなプロセスが動作してプロセッサの使用率を上昇させたり、HDDのような消費電力の大きなデバイスを駆動したりして十分な消費電力の低減が果たせなくなる可能性を巻き込むことになる。さらに、アプリケーションの中には当該プロセスの実行を停止すると警告を出すウイルス対策プログラムのようなものがあるため、そのようなアプリケーションを他のプログラムが強制的に停止することは困難である。しかも、ウイルス対策プログラムはHDDに頻繁にアクセスするため、そのアクセスを停止しないと十分な節電を図ることができない。
特許文献1の発明の移動モードでは、移動のためにノートPCを短時間使用しないときにもネットワークの接続が維持されかつ通常モードへの復帰時間はS3ステートよりも早い。そしてHDDへのアクセス動作が保留されるためHDDの消費電力を低減することもできる。しかし、HDDへアクセスしないプログラムは通常どおり動作を続けるため、CPUの使用率はそれらのプログラムの動作によって上昇する。CPUはコンピュータのデバイスの中で最大の電力を消費する。したがって、特許文献1の移動モードでは、移動中におけるノートPCの消費電力の低減という視点で十分とはいえない。また、リッド・クローズ・ノーアクションの動作モードも同様に移動中の消費電力が大きいため十分とはいえない。よって、短時間だけノートPCを使用しない状態において、チャット・アプリケーションや無線ネットワークのような特定の機能を維持し、かつ維持する必要のない機能に起因して消費電力が上昇することのないような動作モードが求められている。
そこで本発明の目的は、利便性と消費電力の調和を図った新たな動作モードで動作するコンピュータを提供することにある。さらに本発明の目的は、プロセスの実行を伴う特定の機能を維持しながら節電を図る動作モードで動作するコンピュータを提供することにある。さらに本発明の目的は、通常状態へのレジュームを完了するまでの時間が短い動作モードで動作するコンピュータを提供することにある。さらに本発明の目的は、レジュームの信頼性が高い動作モードで動作するコンピュータを提供することにある。
本発明では従来の節電モードとは異なる新たな動作モードであるドーズ・モード(Doze mode)を定義する。従来のコンピュータではプロセッサが命令の実行が可能なアクティブ状態のときに、負荷に応じてプロセッサの消費電力を低下させたり、HDDの回転速度を低下させたり、またはLCDの輝度を低下させたりといったように個々のデバイスに設定したアルゴリズムに基づいて節電動作を行っていた。ドーズ・モードではプロセッサはアクティブ状態にあり、コンピュータは対応するプロセスを実行してユーザが必要とする特定の機能を維持しながら各デバイスが通常モードより消費電力の少ない状態で動作したり停止したりする。ドーズ・モードではプロセッサがアイドル状態のときに命令は実行しないが消費電力が小さなスリーピング状態に遷移し、命令を実行する際には短時間でアクティブ状態に遷移するようにしてもよい。
ドーズ・モードでは、プロセッサおよびその他のデバイスを特定の機能を実現する上で必要な最小限の消費電力で動作させることが望ましい。そのために、本発明では特定の機能の実現に必要がないプロセスは、強制サスペンドしてCPUの使用率を低減することで消費電力を低減する。特定の機能を実現するには、特定の機能に直接関係するアプリケーションのプロセスだけでなくOSの機能を実現するシステム・プロセスも動作させておく必要がある。よって、OSが生成したシステム・プロセスは安易に停止させることはできない。しかし、OSが生成したシステム・プロセスの中には消費電力の大きなディスク・ドライブにアクセスするものがある。また、アプリケーションの中には、強制サスペンドさせようとすると対抗措置をとり、かつ、ディスク・ドライブに頻繁にアクセスするものがある。
ディスク・ドライブは、HDD、SDD(Solid State Drive)、またはハイブリッドHDDのいずれかとすることができる。本発明では特定の機能を維持しながら消費電力を低減するために、特定の機能の実現に必要なOSのシステム・プロセスを停止させないようにしながらディスク・ドライブの動作を制限してさらに消費電力の低減を図ることができる。そのために本発明では、ドーズ・モードに移行するための移行イベントに応答して、強制サスペンドさせないプロセスの中でディスク・ドライブに対してI/Oリクエストを行ったプロセスに対するI/O処理完了通知をドーズ・モードが終了するまで保留する。なお本発明においては、I/O処理完了通知の保留は当該プロセスを実行待ち状態に留めておく点でI/Oリクエストの保留と同義である。
本発明では、マルチ・スレッド方式を採用しており各プロセスは複数のスレッドで実行される。ディスク・ドライブにI/Oリクエストをしたスレッドは、ドーズ・モードの間は実行待ち状態に遷移するが、同一のプロセスから生成されてI/Oリクエストをしない他のスレッドはスケジューリング状態にある。スケジューリング状態にあるスレッドは実行可能状態と実行状態の間を遷移する。したがってシステム・プロセスの1つのスレッドがI/Oリクエストをして実行待ち状態に遷移しても、特定の機能を実現するために必要な他のスレッドは実行することができ、さらに、強制サスペンドしようとすると対抗措置をとるプログラムのプロセスは、強制サスペンドではなくディスク・ドライブに対するI/Oリクエストが保留されるだけなのでそのようなアプリケーションからの対抗措置を封じることができる。
特定の機能を実現するプロセスまたはスレッドを生成するアプリケーションは、少なくともドーズ・モードの間はディスク・ドライブに対してI/Oリクエストをしないものを選択することができる。その結果、ドーズ・モードの間にプロセスまたはスレッドを実行して特定の機能を実現してもディスク・ドライブが動作することはない。OSはディスク・ドライブをスピン・ダウンさせたり、移行イベントに応じて電力を停止させたりして消費電力を低減することができる。
特定の機能を実現するプロセスは、ドーズ・モードの間に無線モジュールとアクセス・ポイントとの接続を維持するプロセスを含むことができる。無線接続を行うには、DHCPサーバからIPアドレスを取得したりアクセス・ポイントとの間でアソシエーションをしたりする必要があるが、ドーズ・モードの間も無線接続が維持されていれば、通常モードにレジュームしたときに瞬時に無線ネットワークへのアクセスが可能になる。特定の機能を実現するプロセスはまた、チャット・プログラムにより形成されたセッションを維持するためのプロセスを含むことができる。ドーズ・モードの間もチャット・プログラムのセッションが維持されていれば、短時間だけドーズ・モードに移行させる場合には会話の相手に自らの不在を示すことがなくなるので、迅速な情報交換を損なうことがなくなる。
ドーズ・モードから通常モードにレジュームさせるためには、サスペンドやハイバネーションからのレジュームのようにプロセッサへの電力供給をトリガにして、所定のアドレスから命令の実行を開始するような方法を採用することはできない。したがってレジュームはスケジューリング状態にあるプロセスで処理する必要がある。本発明ではレジューム処理に必要なプロセスをI/Oリクエストをしないプロセスまたはスレッドで構成することで、ソフトウエアで復帰イベントを検出してレジュームさせることができる。
ドーズ・モードでは、プロセッサがアクティブ状態にあるのでサスペンドよりは消費電力が大きい。したがって、ドーズ・モード中に電池が消耗してきたときには自動的にサスペンドまたはハイバネーションに移行させることが望ましい。本発明では、ドーズ・モードからサスペンドまたはハイバネーションに遷移させるためのプロセスをI/Oリクエストをしないプロセスに含めることで、サスペンドまたはハイバネーションへの移行を可能にしている。
特定の機能を実現するプロセスがドーズ・モードの間にディスク・ドライブにアクセスしないことは保証または検証することができるが、仮想メモリ方式を採用する場合は他のプロセスの実行により物理メモリからページがディスク・ドライブにスワップ・アウトされる場合がある。スワップ・アウトされるときにはディスク・ドライブへのI/Oリクエストが発生するので、本発明では、特定の機能を実現するプログラムが、仮想メモリに対して自らに割り当てられたページを定期的に参照することで、スワップ・アウトされる順序が他のプログラムのページよりも常に遅くなるようにして実質的にスワップ・アウトを防止することが望ましい。
強制サスペンドに移行させるプロセスは通常モードでログインしているユーザのプロセッサ特権レベルと同一の特権レベルを保有しているプロセスを含むようにすることができる。特定の機能を実現するプロセスと同一の特権レベルのプロセスは、システム・プロセスのように特定の機能を実現するために必要になることはないので強制サスペンドしても支障がない。また、強制サスペンドするプロセスは、所定のプログラムの実行時刻を登録したタスク・スケジューラが生成したプロセスを含むようにすることができる。タスク・スケジューラに登録されるプログラムも特定の機能を実現する上で必要がないことは事前にわかっているからである。
ドーズ・モードからサスペンドまたはハイバネーションに移行させる際には、OSが移行できるかどうかを各デバイス・ドライバに問い合わせる必要がある。したがって、ドーズ・モードからサスペンドまたはハイバネーションに移行させるためには、サスペンド・イベントに応じて強制サスペンドに移行させたプロセスを実行できるようにレジュームさせ、かつI/Oリクエストの保留を解除してコンピュータを一旦通常モードにレジュームしてから行う。移行イベントをコンピュータの筐体の蓋を閉じたときに生成するようにすれば、コンピュータを持ち運ぶときにドーズ・モードに移行させる上で都合がよい。
本発明により、利便性と消費電力の調和を図った新たな動作モードで動作するコンピュータを提供することができた。さらに本発明により、プロセスの実行を伴う特定の機能を維持しながら節電を図る動作モードで動作するコンピュータを提供することができた。さらに本発明により、通常状態へのレジュームを完了するまでの時間が短い動作モードで動作するコンピュータを提供することができた。さらに本発明により、レジュームの信頼性が高い動作モードで動作するコンピュータを提供することができた。
本実施の形態にかかるノートPCの主要なハードウエア構成を示す機能ブロック図である。 本実施の形態にかかるノートPCのソフトウエアの構成を説明するブロック図である。 ノートPCの動作モードの遷移を示す図である。 ドーズ・モードにおけるプロセスの制御方法を説明する図である。 ノートPCで生成されたスレッドが消滅するまでの間にプロセス管理部で制御される様子を示す図である。 通常モードからドーズ・モードへ移行する手順を示すフローチャートである。 ドーズ・モードから通常モードに移行する手順を示すフローチャートである。 ドーズ・モードからサスペンドまたはハイバネーションに移行する手順を示すフローチャートである。 ドーズ・モードにおける他のプロセスの制御方法を説明する図である。
[ハードウエア構成]
図1は、本実施の形態にかかるノートPC10の主要なハードウエアの構成を示す機能ブロック図である。本明細書の全体に渡って、同一の要素には同一の参照番号を付与する。ノートPC10は、表面にキーボードを搭載し内部に電子デバイスを収納したシステム筐体とLCD19を収納するLCD筐体とで構成され、システム筐体の内部には複数の電子デバイスが搭載されている。ノートPC10はACPIの規格に準拠している。CPU11は、ノートPC10の中枢機能を担う演算処理装置で、OS、BIOS、デバイス・ドライバ、あるいはアプリケーションなどを実行する。CPU11はノートPC10の電子デバイスの中で最も消費電力が大きい。
CPU11は、アクティブ状態のときにたとえばインテル社のSpeedStep(登録商標)という技術を採用し、使用率に応じて動作周波数および動作電圧の組を所定の値に低下させることができる。CPU11はまたアイドル状態になったり使用率が所定値以下になったりしたときに、順次コアのクロックを停止したりキャッシュをメイン・メモリや専用メモリにフラッシュしたりして消費電力を低下させ、命令を実行する際には短時間でアクティブ状態に遷移することが可能なスリーピング状態で動作することもできる。OSは、CPU11の動作状態(使用率やその変移状況)を監視して、クロックや動作電圧を制御しCPU11の消費電力を低下させる。
CPU11には、カーネル・モードといわれるリング0の状態からユーザ・モードといわれるリング3の状態までの特権レベルが設けられている。CPU11は、リング0の状態ではOSのコードを実行することができ、リング3の状態ではアプリケーションのコードを実行することができる。メモリ・コントローラ・ハブ(MCH)13は、メイン・メモリ15へのアクセス動作を制御するためのメモリ・コントローラ機能、およびCPU11と他のデバイスとの間のデータ転送速度の差を吸収するためのデータ・バッファ機能を含むチップ・セットである。
MCH13にはCPU11、メイン・メモリ15、グラフィック・プロセッシング・ユニット(GPU)17、およびアイオー・コントローラ・ハブ(ICH)23が接続されている。メイン・メモリ15は、CPU11が実行するプログラムの読み込み領域、処理データを書き込む作業領域として利用される揮発性のRAMである。GPU17には、ビデオ・メモリ(VRAM)21およびLCD19が接続されている。GPU17は、CPU11から受け取った描画命令に基づいてVRAM21に画像イメージを書き込み、所定のタイミングでLCD19に画像イメージのデータを送るための専用プロセッサで、グラフィックス・アクセラレータともいう。ICH23は周辺入出力デバイスに関するデータ転送を処理する。
ICH23は、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI (Serial Peripheral Interface)バス、 PCI(Peripheral Component Interconnect)バス、PCI−Expressバス、およびLPC(Low Pin Count)などのポートを備え、HDD25、光学ディスク・ドライブ(ODD)27、無線モジュール29、オーディオ・コントローラ31およびLPCバス33などが接続されている。HDD25には、CPU11が実行するアプリケーション、OS、デバイス・ドライバ、および本発明にかかるドーズ・モード制御プログラム(図2参照)などが格納されている。
ODD27は、DVDおよびCDなどの光ディスクに対する読み取りまたは書き込みを行うデバイスである。無線モジュール29は、ノートPC10を無線LANまたは無線WANに接続して無線通信をするための信号処理をする。オーディオ・コントローラ31は、マイクロフォンおよびスピーカ(いずれも図示せず。)に対する音声信号を処理する。LPCバス33には、エンベデッド・コントローラ(EC)35およびBIOS_ROM45などの高速なデータ転送を要求しないデバイスが接続される。
BIOS_ROM45は不揮発性で記憶内容の電気的な書き替えが可能なメモリであり、入出力デバイスを制御するためのデバイス・ドライバ、ACPI(Advanced Configuration and Power Interface)の規格に適合し電源およびシステム筐体内の温度などを管理するシステムBIOS、ノートPC10の起動時にハードウエアの試験や初期化を行うPOST(Power-On Self Test)コード、およびパスワード認証を行うための認証コードなどを格納する。
EC35は、ノートPC10の電源管理および温度管理などを行うマイクロ・プロセッサであり、さらに、キーボード・コントローラ機能も含んでいる。EC35には、リッド・センサ37、放熱ファン39、DC/DCコンバータ41、および電池パック43が接続されている。リッド・センサ37は、LCD筐体がシステム筐体に対して閉じられたときにドーズ・モード(Doze Mode)に移行する移行イベントを生成し開かれたときにドーズ・モードから通常モードにレジュームする復帰イベントを生成する。放熱ファン39は、システム筐体内部に設けられた複数の温度センサ(図示せず。)により回転速度が制御され、温度センサが検出する温度が所定値に収まるように筐体内部の空気を外部に放出する。
DC/DCコンバータ41は、EC35からの指示に基づいて動作モードに応じた定義された範囲のデバイスに電力を供給する。DC/DCコンバータ41は、OSがCPU11の動作周波数を低下させるときおよびCPU11がスリーピング状態に遷移するときにCPU11に供給する電圧を低下させる。電池パック43は、SBS(Smart Battery Specification)に適合しており、ノートPC10にACアダプタ(図示せず。)が接続されていないときに電力を供給する。EC35は電池パック43と通信して、電池パックから電池の残容量や電圧に関する情報を取得することができる。
[ソフトウエア構成]
図2は、本実施の形態にかかるノートPC10の主要なソフトウエアの構成を説明するブロック図である。チャット・プログラム101は、複数のユーザ同士でリアルタイム・コミュニケーションを行うためのツールで、たとえばLotus社のSametime(登録商標)を採用することができる。チャット・プログラム101が動作するときは、ノートPC10は無線モジュール29を通じてネットワークに接続する必要がある。チャット・プログラム101では、セッションを開始したユーザが自分のログオン状況を他のユーザに表明することができ、他のユーザはログオン状況をみて迅速なコミュニケーションをとることができる。
チャット・プログラム101の実行を停止したり、または無線接続が停止したりすると、チャット・プログラム101がそれまで他のユーザとの間に形成したセッションは切断されてログオフ状態を表明するため、他のユーザは当該ユーザが長時間ノートPC10を使用できない状況になったと判断してその時点での連絡を断念する可能性がある。チャット・プログラム101は、メイン・メモリ15にロードされたあとは、無線ネットワークを通じて少なくとも他のユーザとの間に形成したセッションを維持しているだけの機能を実行している間はHDD25にアクセスしないことが検証されている。
ウイルス対策プログラム103は、ノートPC10に進入した悪意のあるプログラムを検出して除去するためのプログラムである。ウイルス対策プログラム103は、自らのプロセスを他のプロセスが強制サスペンドしようとするとき、他のプロセスが悪意のあるプログラムによる攻撃であると判断して、警告を出したり強制サスペンドへの遷移を妨害したり、またはコンピュータの動作を停止したりといったさまざま対抗措置をとる。本実施の形態では後に説明するように、ウイルス対策プログラム103のプロセスを他のプロセスが強制サスペンドさせることができない場合でもドーズ・モードを実現することができる。
ドーズ・モード制御プログラム105は、本実施の形態にかかるドーズ・モードを実現するためのプログラムである。ドーズ・モード制御プログラム105は、ドーズ・モードへの移行イベントの検知、ドーズ・モードでのプロセスの制御、および通常モードへの復帰イベントの検知と通常モードへの復帰作業を行う。さらに、ドーズ・モード制御プログラム105は、ドーズ・モード中に実行する特定の機能を実現するためのアプリケーションをユーザが選択するための画面をLCD19に表示する。
OS107は、API109、システム・プロセス生成部111、電源管理部112、およびプロセス管理部113を含んでいる。OS107は、メモリ管理として仮想記憶とページング方式を採用する。物理メモリであるメイン・メモリ15の空きが少なくなったときに新たに生成されたプロセスのために新たなページを割り当てるために他のページをHDD25にスワップ・アウトする際の置換アルゴリズムとしてLRU (Least Recently Used)を採用する。LRUではページの置換が必要になったときに、最近使われたページを物理メモリに残し、最近使われていないページをHDD25にスワップ・アウトする。OS107は、負荷状態に応じてCPU11をスリーピング状態に遷移させることで消費電力を低減する。
チャット・プログラム101、ウイルス対策プログラム103、およびドーズ・モード制御プログラム105などのアプリケーションは、実行する際にAPI109の関数を呼び出してOS107の機能を利用する必要がある。システム・プロセス生成部111は、OS107を構成するさまざまなプログラムを実行するためのシステム・プロセスを生成する。システム・プロセスは、セッション・マネージャ、Winlogon、サービス・コントロール・マネージャなどを含み、主として他のプログラムをサポートするためにバックグラウンドで動作する。電源管理部112は、プロセッサの使用率、命令の実行状態および電源関係のイベントなどを監視して、デバイス・ドライバやその他のモジュールにデバイスを制御するための通知をする。
プロセス管理部113は、プロセス・リスト115、スケジューラ117、実行可能キュー119、実行待ちキュー121、および強制サスペンド・キュー123を含み、アプリケーションおよびシステム・プロセス生成部111が生成したプロセスおよびスレッドを管理する。プロセス・リスト115には、ノートPC10に現在生成されているすべてのプロセスが登録されている。スケジューラ117は、生成されているスレッドに対して図5に示すように所定のアルゴリズムでプリエンプティブなタスク・スイッチを行う。
実行可能キュー119、実行待ちキュー121、および強制サスペンド・キュー123については後に図5を参照して説明する。デバイス・ドライバ129は、リッド・センサ37が生成した移行イベントおよび復帰イベントをOS107に伝える。デバイス・ドライバ131は、無線モジュール29の動作の制御とノートPC10が無線ネットワークを通じて外部のコンピュータとの間で行うデータ転送を処理する。デバイス・ドライバ133はHDD25の動作の制御とCPU11またはメイン・メモリ15とHDD29との間で行われるデータ転送を処理する。中間ドライバ125は、デバイス・ドライバ133とOS107の間に配置され、キュー127を含んでいる。
中間ドライバ125は、ドーズ・モード制御プログラム105からOS107を通じてドーズ・モードに移行する移行イベントを検知した旨の通知を受け取ったあとにプロセスがHDD25に対して行ったI/Oリクエスト・パケットを、すべてキュー127に登録してデバイス・ドライバ133に転送しないようにする。中間ドライバ125はまた、ドーズ・モード制御プログラム105からOS107を通じてノートPC10が通常モードにレジュームする復帰イベントを検知した旨の通知を受け取ったときに、それまでキュー127に登録していたI/Oリクエスト・パケットをFIFO方式で順番にデバイス・ドライバ133に転送して解放する。システムBIOS135は、EC35が生成したイベントをOS107に通知する。図2に示したソフトウエアの機能ブロックは、メイン・メモリ15にロードされCPU11で実行されることで、コンピュータを機能させるハードウエア要素としてとらえることができる。
[動作モードの状態遷移]
図3は、ノートPC10の動作モードの遷移を示す図である。ノートPC10は、通常モード151、ドーズ・モード153、サスペンド155、およびハイバネーション157の4つの電源状態のいずれかで動作する。ドーズ・モード153は本実施の形態で定義する新規な動作モードであるが他の3つの動作モードは周知である。通常モード151とドーズ・モード153ではプロセッサはアクティブ状態またはスリーピング状態にあるためプロセスを実行できるが、サスペンド155とハイバネーション157ではCPU11の電力が停止するためプロセスを実行することはできない。スリーピング状態のときには、CPU11はACPIで規定するC1〜C6ステートのいずれかに遷移し、必要に応じて短時間でC0ステートに遷移してプロセスを実行する。
サスペンド155では、CPU11のコンテキストをメイン・メモリに記憶してメイン・メモリ15の記憶内容を維持するために必要なデバイス、電池パック43の充電状態を管理するために必要なデバイス、および通常モード151にレジュームするために必要なデバイスだけに電力を供給する。ハイバネーション157では、CPU11のコンテキストやメイン・メモリ15に展開されたイメージをHDD25に保存し電池パック43の充電状態を管理するために必要なデバイスおよび通常モード151にレジュームさせるために必要なデバイスにだけ電力が供給される。ノートPC10は通常モード151と残り3つの動作モードとの間で相互に遷移することが可能であるが、残り3つの動作モードの間で相互に直接遷移することはできず、必ず通常モード151を経由してから遷移する必要がある。
[ドーズ・モードと通常モード]
つぎにドーズ・モードについて説明する。図4は、ドーズ・モードにおけるプロセスの制御方法を説明する図である。ノートPC10は、移行イベントに応じて通常モードからドーズ・モードに遷移し、復帰イベントに応じてドーズ・モードから通常モードにレジュームする。移行イベントは、LCD筐体を閉じたときに生成し、復帰イベントはLCD筐体を開いたときに生成することができる。あるいは、Fnボタンを押下してそれらのイベントを生成することもできる。
ドーズ・モードは、ノートPC10を短時間だけ使用できない状態のときの利便性と電池の消耗の抑制との調和を図った新たな動作モードで、特に無線LANが設けられた建物の中でオフィスと会議室との間をユーザがノートPC10を抱えて移動するような場合に使用するのに便利な動作モードである。ドーズ・モードはまた、限定された機能だけを維持しその他の機能を停止することで節電をはかりながら、同時に最短時間で通常モードへの移行を実現する動作モードである。ドーズ・モードはまた、特定のプロセスを実行しながらディスク・ドライブへのアクセスを制限する動作モードである。
ドーズ・モードにおいてはドーズ・モード中にユーザが望む「特定の機能」とシステムが要求する「基本機能」だけを維持しその他の機能は可能な限り停止して節電を図る。ここで特定の機能は、ユーザがドーズ・モードの間に維持しておきたい機能で、かつアプリケーションのプロセスおよびその実行に必要なOSの特定のプロセスにより実現される機能である。ドーズ・モード制御プログラム105が生成したプロセスにより実現される機能も特定の機能に含む。特定の機能としてはたとえばチャット・プログラム101が通常モードでネットワークを通じて形成したセッションの維持を図る機能が上げられる。この場合、チャット・プログラム101のセッションを維持するために必要なネットワーク接続を維持する機能も特定の機能に含まれる。
ノートPC10は無線ネットワークへの接続を一旦切断すると、最も普及している典型的なネットワーク環境においては、再度ネットワークにアクセスするにはDHCPサーバにアクセスして新たなIPアドレスを取得する必要がある。そして取得したIPアドレスを使用してアクセス・ポイントとの間でアソシエーションを行ってからネットワーク接続を確立する必要があるため復帰には時間を要するが、ドーズ・モードにおいて無線ネットワークへの接続を維持しておけばドーズ・モードから通常モードに移行するとただちにネットワークにアクセスできる。
また、無線ネットワークを維持しておけばTCP/IPレベルでの通信経路を確認するpingコマンドが送られてきたときに応答することができるので、無線ネットワークを維持する機能だけを特定の機能とすることもできる。基本機能はノートPC10の基本的な動作を担う機能で、電池パック43の電池の充電状態を監視する機能、電池の電圧が低下した場合にサスペンドまたはハイバネーションに移行してメイン・メモリ15に展開されているデータの喪失を防ぐ機能、および筐体内部の温度を管理する機能などを含む。
本実施の形態では、通常モードで生成されていたプロセスをドーズ・モードに適合するように制御するために、ドーズ・モードに移行する前に存在していたすべてのプロセスを、強制サスペンド・グループとI/O監視グループのいずれかに分類する。強制サスペンド・グループのプロセスは、ドーズ・モードで維持したい特定の機能とは無関係または特定の機能の実現に必要がないため消費電力の低減を図る上では停止することが望ましいプロセスである。強制サスペンド・グループのプロセスはドーズ・モードにおいて強制サスペンド状態に遷移させられて強制サスペンド・キュー123に登録される。
強制サスペンド・グループのプロセスは、ドーズ・モードに移行する前にログインしているユーザのCPU権限レベルと同じ特権レベルを保有するユーザ・プロセスを含む。ただし、この場合のユーザは管理者権限ではなくユーザ権限でログインしているものとする。このユーザ・プロセスにはほとんどのアプリケーションに関連するプロセスが含まれる。強制サスペンド・グループのプロセスはまた、ログインしているユーザのCPU権限レベルより高い権限レベルを保有しているが、特定の機能および基本機能を実現するプロセスの実行に必要のないことが明らかなタスク・スケジューラのようなシステム・プロセスを含む。
通常モードではタスク・スケジューラは、登録された時刻で定期的にアプリケーションを実行するが、ドーズ・モードではタスク・スケジューラを強制サスペンド・グループに含めることで登録されているアプリケーションは登録時刻が到来しても実行されないことになる。強制サスペンド・グループに分類するシステム・プロセスは、OSごとにあらかじめ抽出してドーズ・モード制御プログラム105のリストに登録しておく。
I/O監視グループのプロセスは、特定の機能および基本機能に関係するプロセス、特定の機能および基本機能には明らかに無関係であるが停止できないプロセス、および特定の機能および基本機能の実現に対する必要性の判断が困難なプロセスで構成される。I/O監視グループのプロセスは、HDD25に対する読み取りまたは書き込みのためのI/OリクエストをするとI/O処理完了通知が保留されるためドーズ・モードの間は実行待ちキュー121に登録される。I/O監視グループのプロセスは、HDD23にI/Oリクエストをしない限り実行可能キュー119に登録されてスケジューリングされたり、条件が成立するまで実行待ちキュー121に登録されたりする。
I/O監視グループのプロセスの中で、特定の機能を実現するプロセスおよび基本機能を実現するプロセスまたはスレッドは、少なくともドーズ・モードの間はHDD25にI/Oリクエストをしないことが前提になる。いいかえると本実施の形態においては、特定の機能は消費電力が大きなHDD25に対するアクセスを伴わないアプリケーションで実現される。特定の機能および基本機能には明らかに無関係であるが停止できないプロセスにはウイルス対策プログラム103を含む。
特定の機能および基本機能の実現に対する必要性の判断が困難なプロセスは、OS107の機能を実現する大部分のシステム・プロセスである。アプリケーションのプロセスはシステム・プロセスの支援を受けて実行することになるので、多くのシステム・プロセスは停止することができない。しかし、そのすべてのシステム・プロセスが特定の機能および基本機能を実現するために必要になるものではなく必要のないシステム・プロセスにより消費電力が増大することは望ましくない。本発明では、この背反する課題を解決するために、システム・プロセスをI/O監視グループに分類して消費電力の大きなHDD25に対してI/Oリクエストをしたスレッドの実行を停止するように制御する。
ここで、特定の機能および基本機能の実現に関連するシステム・プロセスがHDD25にI/Oリクエストをして実行待ち状態に遷移することがある。本実施の形態ではプロセス管理部113によりマルチ・スレッド処理が行われるため、1つのプロセスは複数のスレッドの単位で実行される。そして、複数のスレッドの中で実行待ち状態に遷移するのはHDD25にI/Oリクエストをしたスレッドだけであり、他のスレッドは実行されるので特定の機能および基本機能の実現に支障がでることはないようになっている。
また、ドーズ・モード中にプロセスがHDD25に対して行うアクセスの中には、通常モードにレジュームするまで遅延できるものがある。たとえば、OS107はシステムの動作にエラーが発生したときのエラー・ログをHDD25に書き込むことがあるが、そのようなエラー・ログのダンプは通常モードにレジュームしてから行っても問題がない。したがって、システム・プロセスの中で、ドーズ・モード中にHDD25に対するアクセスを伴うすべてのスレッドの実行は、通常モードに移行するまで保留する。このようにシステム・プロセスのI/Oリクエストを監視して保留することで、特定の機能および基本機能の実現に必要なシステム・スレッドを誤って強制サスペンドしたり、特定のシステム・スレッドがHDD25にアクセスして消費電力の増大をもたらしたりするような事態を防ぐことできる。
システム・プロセスを強制サスペンドしないでI/Oリクエストを監視するようにすることで、ソフトウエアによるレジューム機能を実現することも可能になる。ドーズ・モードではCPU11はアクティブ状態になっているため、サスペンドまたはハイバネーションからレジュームするときのように、Fnキーの押下などをトリガにして、プロセッサへの電源の投入、クロックの供給により、所定のアドレスからプロセッサが命令を実行するような方法ではレジュームできない。また、レジュームの処理を行う上では、ドーズ・モード制御プログラム105だけでなくOS107の多くのプロセスを利用する必要もある。この点でも、重要なシステム・コードの中で実行が停止しているのはI/Oリクエストをしたスレッドだけであるため、リッド・センサ37の動作の検出およびレジュームの処理を行うことができる。
ウイルス対策プログラム103は、頻繁にHDD25に対するI/Oリクエストを行うため、I/Oリクエストが保留されてスレッドは実行待ちキュー121に登録される。このときウイルス対策プログラム103は、HDD25からの応答が遅いだけで悪意のあるプログラムによる攻撃だとは認識しないので、I/Oリクエストによりスレッドが強制サスペンドされるような事態とは異なり対抗動作をすることはない。
ドーズ・モードではユーザ・プロセスの大部分は強制サスペンド状態に入っているため多くのシステム・プロセスは処理要求がなくなって実行待ち状態に遷移し、さらにHDD25にI/Oリクエストをするウイルス対策プログラム103やシステム・プロセスのスレッドも実行待ち状態に遷移するためCPUの11使用率は低下する。電源管理部112は、使用率を監視してCPU11の動作周波数および動作電圧の組を低下させたりクロックを停止したりして節電モードで動作させて消費電力を低減することができる。また電源管理部112はHDD25に対するすべてのI/Oリクエストがキュー127に登録されるため、移行イベントに応じてHDD25をスピン・ダウンしたり停止したりすることができる。
ドーズ・モードでは、プロセスの制御と同時にデバイスに対する電力供給範囲も併せて制御する。ドーズ・モードでのハードウエアの状態としては、特定の機能および基本機能の維持に関連するデバイスであるCPU11、メイン・メモリ15、リッド・センサ37、DC/DCコンバータ41、EC35および無線モジュール29には電力を供給するが、その他のデバイスの電力は停止する。停止可能なデバイスは、HDD25、ODD27、オーディオ・コントローラ31、およびLCD19などである。
また、ドーズ・モードではシステム筐体の内部の発熱量が非常に少なくなるので放熱ファン39も停止することができる。放熱ファン39はノートPC10がドーズ・モードに移行したときには、システム筐体内部の温度が下がることに応じて段階的に回転速度が低下しやがて停止することになるが、ヒステリシス動作をするため一旦動作した放熱ファン39は温度がより低下するまで停止しない。しかしドーズ・モードでは、消費電力が放熱ファンの動作が必要のない程度まで下がることがわかっているので、本実施の形態ではドーズ・モードに移行するとともに放熱ファン39を停止させる、よって、ユーザはドーズ・モードに移行したノートPC10をサスペンドと同じような感覚で鞄に入れて運搬することができるようになる。
ドーズ・モードではLCD19、HDD25および放熱ファン39といった電力を多く消費するデバイスが停止し、CPU11も低消費電力で動作するのでノートPC10全体としての消費電力はS1ステートまたはS2ステートとほぼ同じになる。ドーズ・モードから通常モードにレジュームするときは、復帰イベントに応じて強制サスペンドさせたプロセスをレジュームし、さらにキュー127に保留していたHDD25に対するI/Oリクエスト・パケットをキュー127から取り出してHDD25のデバイス・ドライバ133に渡すだけでよいのでレジュームが完了するまでの時間が短くなるため利便性が高い。
[プロセスの状態遷移]
図5はノートPC10において生成されたスレッドが消滅するまでの間にプロセス管理部113で制御される様子を示す図である。OS107は、マルチ・スレッド方式を採用しているため、1つのプロセスは実行単位となる複数のスレッドで実行される。チャット・アプリケーション101、ウイルス対策プログラム103、およびドーズ・モード制御プログラム105はAPI関数を呼び出してプロセスおよびスレッドを生成して実行される。
またシステム・プロセス生成部111もOS107の機能を実現するためのプロセスを生成する。これらの生成されたプロセスは、プロセス管理部113で制御される。プロセスはプロセス制御ブロック(PCB)というプロセッサ状態、プロセスの優先度、タイム・スライス情報、プロセスID、およびデバイス情報などを含むデータ構造体のデータで管理される。プロセッサ状態は、CPU11がプロセスを中断したときのレジスタ、スタック、およびプログラム・カウンタなどの状態に関する情報でコンテキストともいう。
プロセスの優先度は、プロセス間におけるコンテキスト・スイッチの優先順位を示す情報である。タイム・スライス情報は、タイム・スライスの初期値や残り時間に関する情報である。タイム・スライスとはプロセスがCPU11に対する一度の実行権を獲得したときに許される最大実行時間をいう。プロセスIDは、各プロセスに割り当てられた一意の番号である。デバイス情報は、当該プロセスに割り当てられたデバイスの識別情報である。なお、PCBには、OSにより異なるその他のさまざまな情報が含まれる。
生成されたスレッドは、最初に実行可能状態(READY)に遷移する。実行可能状態は、スレッドの実行条件が成立しているためタスク・スケジューラ117により実行されるのを待っている状態である。PCBが実行可能キュー119に登録されプロセス・スケジューラ117により優先度の順番でCPU11にディスパッチされると実行状態(RUN)に遷移する。実行状態はタイム・スライスが割り当てられたスレッドがCPU11で実行されている状態である。実行されたスレッドはタイム・スライスを消費すると、プリエンプト(強制実行権剥奪)により実行可能状態(READY)に戻る。また、実行状態のスレッドは、与えられたタイム・スライス期間の実行の途中でも自ら所定の関数(システム・コール)を呼んで、実行可能状態や実行待ち状態(WAIT)に遷移することができる。
実行待ち状態は、スレッドが実行に必要な条件を待っている状態である。その条件には、入出力装置にI/OリクエストをしたときのI/O処理の完了通知待ち、キーボードからの入力待ち、および他のプログラムからのメッセージ待ちなどを含んでいる。スレッドがHDD25にI/Oリクエストをしたときには、タイム・スライスの途中であっても自ら実行を中断する関数を呼んで実行待ち状態に遷移し、I/O処理完了通知を受け取るまで実行待ちキュー121に留まる。強制サスペンド状態(SUSPEND)は、実行状態、実行可能状態、または実行待ち状態にあるスレッドが他のスレッドにより関数が呼び出されて強制的に待ち状態にさせられた状態である。強制サスペンド状態に遷移したスレッドは、他のスレッドから当該スレッドをレジュームさせる関数が呼び出されるまで、強制サスペンド・キュー123に留まる。
実行状態、実行可能状態または実行待ち状態からの強制サスペンド状態への遷移および強制サスペンド状態から実行可能状態への遷移は、Windows(登録商標)ではそれぞれ、SuspendThreadおよびResumeThreadというAPI関数を利用することができる。当該プロセスにより生成されたすべてのスレッドをサスペンドまたはレジュームの対象にしたAPI関数を呼び出すことでプロセスのサスペンド/レジュームを実現することができる。すべての処理を終了したスレッドは実行状態のときに自ら消滅する関数を呼んで消滅(TERMINATE)する。
[通常モード状態からドーズ・モードへの移行手順]
図6は、通常モードからドーズ・モードへ移行する手順を示すフローチャートである。ブロック201では、ユーザが所定のCPU特権レベルでログインしてノートPC10が通常モードで動作している。通常モードでは図2に示したソフトウエアがメイン・メモリ15にロードされ、図1に示したハードウエアに電力が供給されている。ユーザはドーズ・モード制御プログラム105が提供するインターフェース画面を通じて特定の機能を実現するアプリケーションとしてチャット・プログラム101を選択している。また、無線モジュール29を動作させてネットワーク接続を維持する機能はディフォルトで常に特定の機能に指定されている。
ブロック203では、ユーザがオフィスから会議室まで移動するためにLCD筐体を閉じるとリッド・センサ37が動作してOS107を通じて移行イベントがドーズ・モード制御プログラム105に送られる。移行イベントを受け取ったドーズ・モード制御プログラム105は、ブロック205で、API関数を呼び出してプロセス管理部113のプロセス・リスト115から現在生成されているすべてのプロセスの名称、プロセスIDおよびそれらの特権モードに関する情報を取得する。生成されているプロセスを取得するAPI関数は、たとえばWindows(登録商標)ではCreateToolhelp32Snapshotを使用することができる。
現在生成されているプロセスはプロセス管理部113により、実行状態、実行可能状態、実行待ち状態、または強制サスペンド状態のいずれかの状態で管理されている。ブロック207でドーズ・モード制御プログラム105は、すべてのプロセスから強制サスペンドするプロセスを抽出し、それらのプロセスに対するAPI関数を呼び出して強制サスペンド状態に遷移させる。
強制サスペンド状態に遷移したプロセスは実行を停止するのでCPU11の使用率は低下する。チャット・プログラム101が生成したプロセスは、I/O監視グループに分類されるため、強制サスペンドされないでスケジューリング状態を継続する。電源管理部112が検出したCPU11の使用率に応じてOS107はCPU11の動作周波数および動作電圧の組を低下させる。さらに電源管理部112は、CPU11がアイドル状態になったり使用率が所定値以下になったりしたと判断したときは、CPU11をスリーピング状態または処理速度が低い分だけより電力消費の低い動作状態に遷移させて消費電力を低下させる。ドーズ・モードに移行する直前に存在していたすべてのプロセスの中で強制サスペンドされなかったI/O監視グループのプロセスはスケジューラ117によるスケジューリングの対象となり条件が成立すれば実行される。
ブロック209でドーズ・モード制御プログラム105は、I/O監視グループのプロセスがHDD25に対してI/Oリクエストをした場合に、当該I/Oリクエスト・パケットをキュー127に登録してデバイス・ドライバ133に転送しないようにデバイス・ドライバ133に指示する。実行状態でI/Oリクエストをしたプロセスはただちに実行待ち状態に遷移して実行待ちキュー121に登録され、デバイス・ドライバ133からのI/O処理完了通知を待つ。
しかし、I/Oリクエスト・パケットはキュー127に登録されるため、デバイス・ドライバ133はI/O処理完了通知をプロセスに返すことはない。よってドーズ・モードの間はI/Oリクエストをしたプロセスは実行待ち状態に留まることになる。なお、I/Oリクエスト・パケットをキュー127に登録することに代えて、一旦デバイス・ドライバ133にI/Oリクエスト・パケットを転送し、デバイス・ドライバ133から戻されたI/O処理完了通知をキュー127に登録するようにしてもよい。
I/O監視グループのプロセスの中で、HDD25に対するI/Oリクエストをしたプロセスは実行待ち状態に遷移する。また、I/O監視グループのプロセスの中で、強制サスペンド状態に遷移したプロセスからのメッセージを待っているようなプロセスもメッセージを待っている間は実行待ち状態に遷移する。したがって、実行状態と実行待ち状態の間でスケジューリングされて実行される主たるプロセスは、例えば特定の機能を実現するチャット・プログラム101が生成したプロセスとその実行に必要なシステム・プロセスおよび基本機能を維持するプロセスになる。
システム・プロセスの中でI/Oリクエストをしたプロセスのスレッドはドーズ・モードの間実行待ち状態に遷移しているがI/Oリクエストをしないスレッドは実行される。また、他のプロセスからのメッセージがくるまで実行待ちキュー121に登録されているシステム・プロセスはメッセージの到着で実行可能キュー119に登録されるので、チャット・プログラム101の実行に支障がでるようなことはない。また、ドーズ・モードの間にリッド・センサ37により生成された復帰イベントをOS107が検出することができるので、ドーズ・モードから通常モードへのレジュームに支障がでるようなこともない。
ドーズ・モードではI/O監視グループのプロセスの中でHDD25に対するI/Oリクエストをしないほとんどのプロセスは、実質的な作業がないので実行待ち状態に遷移し、CPU11はシステム・アイドル・プロセスを実行する時間が長くなって使用率が低下して、その結果としてスリーピング状態に遷移し消費電力が低下する。ウイルス対策プログラム103のプロセスもI/O監視グループのプロセスに含まれるが、HDD25に対するI/Oリクエストを行うために実行待ちキュー121に登録される。ドーズ・モードで実行されるプロセスが、ブロック205で取得されたプロセス以外の新たなプロセスを生成することもある。しかしそのようなプロセスがHDD25にI/Oリクエストをすれば実行待ちキュー121に登録され、I/Oリクエストをしなければ実行されても消費電力上は極端に大きな差が生まれるわけではないので問題がない。
ブロック209までの手順により、ドーズ・モードでのプロセスの制御が終了する。ブロック211では、ドーズ・モードで特定の機能および基本機能を実現するのに必要な最小限のデバイスだけを動作させるために、ドーズ・モード制御プログラム105がEC35に所定のデバイスを停止するように指示する。このときの指示は、個別のデバイスを特定してもよいし、あらかじめ停止するデバイスを特定してEC35に登録しておいてEC35に対しては停止の指示だけを送るようにしてもよい。
EC35は指示に応じて、LCD19、HDD25、ODD27、および放熱ファン39への電力供給を停止する。そして、CPU11、メイン・メモリ15、MCH13、CPU17、ICH23、EC35、DC/DCコンバータ41およびリッド・センサ37への電力供給を維持する。電力が供給されるデバイスは消費電力が小さいため電池パック43の電池の消耗は少なくなる。なお、ドーズ・モードではHDD25は動作する必要がないが、HDD25の電力を停止しないで、電源管理部112がHDD25にスピン・ダウンさせるコマンドを送るようにしてもよい。
ブロック213ではドーズ・モードへの移行が完了し、無線モジュール29を通じてチャット・プログラム101は、セッションを維持することができる。よって、ノートPC10とチャット・プログラム101のセッションを構築していた他のユーザは、ノートPC10のユーザがただちに応答できる状態であると判断して移動中でも会話データを送ることができる。ドーズ・モードではユーザはノートPC10のキーボードからデータを入力して応答することはできないが、移動中でも他のユーザに対してただちに応答できる状態にいることを表明し続けることができ、移動後にはただちに通常モードに復帰して応答できる。
ドーズ・モードでは多くのプロセスが強制サスペンド・キュー123または実行待ちキュー121に登録されるためスケジューリング状態のプロセスが少なくなるため、チャット・プログラム101がメイン・メモリ15からHDD25にスワップ・アウトされる可能性はほとんどない。ドーズ・モードに遷移する直前まで通常通りの動作を継続し、ドーズ・モード遷移後も新たな動作を開始することも無く、それまでと同様の動作を継続することも、それを裏付けている。
[ドーズ・モードから通常モードへの移行手順]
つぎに、ドーズ・モードから通常モードにレジュームする手順を説明する。図7は、ドーズ・モードから通常モードにレジュームする手順を示すフローチャートである。ブロック301ではノートPC10がドーズ・モードで動作しており、特定の機能であるチャット・プログラム101がセッションを維持する機能および無線ネットワークへの接続を維持する機能と、基本機能だけが維持されている。ブロック303では、ユーザがLCD筐体を開くとリッド・センサ37が復帰イベントを生成する。復帰イベントはデバイス・ドライバ129、OS107を経由してドーズ・モード制御プログラム105に転送される。ブロック305では、ドーズ・モード制御プログラム105は、ドーズ・モードに移行する際に停止したデバイスに電力を供給するようにEC35に指示する。
EC35は指示に応じてDC/DCコンバータ41を制御して、対象となるデバイスに電力を供給しドーズ・モード制御プログラム105に完了通知をする。ブロック307では、ドーズ・モード制御プログラム105が、中間ドライバ125に通常モードにレジュームすることの通知を行う。通知を受け取った中間ドライバ125は、キュー125に登録していたI/Oリクエスト・パケットをFIFOのアルゴリズムに基づいてデバイス・ドライバ133に転送する。デバイス・ドライバ133が受け取ったI/Oリクエスト・パケットをHDD25に送ると、HDD25に対する読み取りまたは書き込みの処理が行われる。
デバイス・ドライバ133はHDD25による処理が完了すると、中間ドライバ125を経由して、実行待ちキュー121に登録されているI/OリクエストをしたプロセスにI/O処理完了通知を転送する。I/O処理完了通知を受け取ったプロセスは、実行待ち状態から実行可能状態に遷移し、実行可能キュー119に登録されてスケジューラ117によるディスパッチを待つ。ブロック309では、ドーズ・モード制御プログラム105は、強制サスペンド・キュー123に登録されているプロセスに対してAPI関数を呼び出してレジュームさせ実行可能状態に遷移させる。以上の手順が終了すると、ノートPC10はブロック311で通常モードにレジュームする。
ドーズ・モードから通常モードへのレジュームは、中間ドライバ125によるキュー127からの解放処理とプロセス管理部113による強制サスペンド・キュー123からのレジューム処理だけであるため、サスペンドからレジュームする場合に比べて短時間で完了することができる。したがって、ユーザにとってはそれまでレジュームの時間のために利用を躊躇していたサスペンドに代えてドーズ・モードは利用し易いものとなる。
[ドーズ・モードからサスペンドまたはハイバネーションへの移行手順]
つぎに、ドーズ・モードからサスペンドまたはハイバネーションへ移行する手順について説明する。図8は、ドーズ・モードからサスペンドまたはハイバネーションに移行する手順を示すフローチャートである。ブロック401においてドーズ・モードで動作しているノートPC10は、特定の機能と基本機能を維持するためにCPU11および所定のデバイスに電力を供給している。ドーズ・モードはサスペンドよりも消費電力が大きく長時間の間留まることを予定している動作状態ではないので、所定の条件に基づいてドーズ・モードからサスペンドまたはハイバネーションに移行させて電池パック43の蓄電量の消費を軽減することが望ましい。
ブロック403では、OS107のタイマが、移行イベントが検出されてからの経過時間が所定時間に到達したか否かを判断する。OS107のタイマは、HDD25に対するI/Oリクエストをしないために、ドーズ・モードの間も実行されている。所定時間に到達した場合はブロック407に移行しタイマはサスペンド移行イベントを生成する。サスペンドに移行する前に、電力管理部112はその時点でロードされているデバイス・ドライバに対してデバイスの電力を停止してもよいかどうかを問い合わせる必要がある。したがって、サスペンドに移行する前に各デバイスを使用しているプログラムを実行するために通常モードにレジュームさせる。
ブロック408では、サスペンド移行イベントに基づいて図7のブロック305からブロック311の手順でノートPC10は通常モードにレジュームする。ブロック411では、電源管理部112がすべてのデバイス・ドライバからデバイスの電源を停止してもよい通知を受け取ったときは、システムBIOS135を通じてEC35に指示し、停止すべきデバイスの電力を順番に停止してサスペンドに移行する(ブロック413)。ドーズ・モードから通常モードへの移行時間は非常に短いため、ユーザは通常モードにレジュームしたことをほとんど認識することなくドーズ・モードからサスペンドへの移行が完了する。
サスペンドではメイン・メモリ15とEC35には電力が供給されており、EC35は定期的に電池パック43の電池の残容量を監視している。ブロック415で電池の残容量が少なくなったときは、EC35はブロック415でハイバネーション移行イベントを生成する。ハイバネーション移行イベントは、システムBIOS135を通じて電源管理部112に送られる。通知を受け取った電源管理部112は、ブロック417でブロック409と同様にノートPC10を通常モードにレジュームさせ、ブロック419でハイバネーション処理をしてハイバネーションに移行する(ブロック421)。
これまで特定の機能を実現するプロセスがドーズ・モード中にHDD25に対するI/Oリクエストをしない場合を例示して説明したが、本発明は、特定の機能を実現するプロセスがHDD25にI/Oリクエストをする場合を排除するものではない。たとえば、特定の機能がドーズ・モードにおいてわずかな時間だけまたは初期の段階だけHDD25にI/Oリクエストをする必要があるプロセスで実現されるような場合を想定することができる。この場合は、強制サスペンドやI/Oリクエストの監視をしないで、通常モードと同じ状態で制御するグループを設けて特定の機能を実現するプロセスをそこに分類する。このときドーズ・モードではHDD25の電力は停止しないでアクセス状態により電源管理部112がスピン・ダウンさせることが望ましい。
図9は、そのときのプロセスの制御方法を説明する図である。すべてのプロセスが強制サスペンド・グループ、I/O監視グループ、および特別なプロセス制御をしない通常グループの3つに分類され、特定の機能を実現するプロセスは通常グループに分類される。強制サスペンド・グループとI/O監視グループのプロセスに対するドーズ・モードでの制御方法は図4の場合と同じである。
ドーズ・モードの利便性について特定の機能としてチャット・プログラムのセッションや無線ネットワークへの接続を維持する例を説明したが、ドーズ・モードはこれまで存在していた節電モードであるサスペンドにはない特徴も備えている。サスペンドからレジュームする場合は、レジュームしたあとにOSはロードされているアプリケーションおよびデバイス・ドライバにレジュームしたことを通知する必要がある。したがって、OSの導入当初はサスペンドからレジュームする時間が早いが、その後導入されるアプリケーションやデバイス・ドライバの数が増えるとレジュームの時間が長くなることがある。これに対してドーズ・モードはプロセスを制御するだけで通常モードに移行できるため、導入されるアプリケーションおよびデバイス・ドライバの数が増えてもレジュームする時間が長くなることはないので、レジュームを短時間で行うことができる。
また、サスペンドからレジュームするときには、もとの使用環境に完全に復帰できないことがある。たとえば、レジュームしたときにマウスが正常に動作しなかったり無線ネットワークに自動的に再接続できなかったりすることがある。そのような原因の1つとしては、プリロードのときにはシステム全体としてレジュームの試験をしていても、その後更新したり新たに導入したりするデバイス・ドライバに対してはシステム全体としてレジュームの試験を行うことができないことがある。これに対してドーズ・モードで行う個々の制御は通常モードでも行うものであり、さらにレジュームするときにはデバイス・ドライバにその旨の通知をする必要もないので確実に直前の移動モードの使用環境に戻すことができるため短時間の移動のときの動作モードとしての利便性は高い。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
10…ノートPC
107…OS

Claims (18)

  1. ディスク・ドライブを備え通常モードで動作しているコンピュータを、プロセスを実行して特定の機能を実現しながら前記通常モードより消費電力の少ない状態で動作するドーズ・モードに移行させるために、前記携帯式コンピュータに、
    前記通常モードから前記ドーズ・モードへ移行するための移行イベントを検出するステップと、
    前記移行イベントに応答して前記移行イベントを検出したときに存在していたプロセスの中から選択した前記特定の機能の実現に必要がないプロセスを強制サスペンドさせるステップと、
    前記移行イベントに応答して前記強制サスペンドをさせないプロセスの中で前記ディスク・ドライブに対してI/Oリクエストを行ったプロセスに対するI/O処理完了通知を前記ドーズ・モードが終了するまで保留するステップと
    を有する処理を実行させるコンピュータ・プログラム。
  2. 前記I/O処理完了通知が保留されたプロセスが、前記強制サスペンドさせようとすると対抗措置をとるプログラムが生成したプロセスを含む請求項1に記載のコンピュータ・プログラム。
  3. 前記特定の機能を実現するプロセスが、少なくとも前記ドーズ・モードの間は前記ディスク・ドライブに対してI/Oリクエストをしない請求項1または請求項2に記載のコンピュータ・プログラム。
  4. 前記コンピュータが無線モジュールを搭載しており、前記特定の機能を実現するプロセスが前記ドーズ・モードの間に前記無線モジュールとアクセス・ポイントとの接続を維持するプロセスを含む請求項3に記載のコンピュータ・プログラム。
  5. 前記特定の機能を実現するプロセスがチャット・プログラムにより形成されたセッションを維持するプロセスを含む請求項3または請求項4に記載のコンピュータ・プログラム。
  6. 前記特定の機能を実現するプロセスが前記コンピュータを前記ドーズ・モードから前記通常モードにレジュームさせる処理を実行するプロセスを含む請求項3から請求項5のいずれかに記載のコンピュータ・プログラム。
  7. 前記特定の機能を実現するプロセスが前記ドーズ・モードからサスペンドまたはハイバネーションに移行させる処理をするプロセスを含む請求項3から請求項6のいずれかに記載のコンピュータ・プログラム。
  8. 前記特定の機能を実現するプロセスが、物理メモリからページが前記ディスク・ドライブにスワップ・アウトされないように仮想メモリに対して自らに割り当てられたページを定期的に参照する請求項1から請求項7のいずれかに記載のコンピュータ・プログラム。
  9. 前記強制サスペンドさせるプロセスが、前記通常モードでログインしているユーザのプロセッサ特権レベルと同一の特権レベルを保有しているプロセスを含む請求項1から請求項8のいずれかに記載のコンピュータ・プログラム。
  10. 前記強制サスペンドさせるプロセスが、所定のプログラムの実行時刻を登録したタスク・スケジューラが生成したプロセスを含む請求項1から請求項9のいずれかに記載のコンピュータ・プログラム。
  11. 前記処理が、
    前記移行イベントが検出されてから所定の時間が経過したときに生成されたサスペンド・イベントを検出するステップと、
    前記サスペンド・イベントに応じて前記強制サスペンドに移行させたプロセスをレジュームさせるステップと、
    前記サスペンド・イベントに応じて前記I/Oリクエストの保留を解除するステップと、
    前記レジュームさせるステップと前記解除するステップが終了してから前記コンピュータをサスペンドするステップと
    を有する請求項1から請求項10のいずれかに記載のコンピュータ・プログラム。
  12. 前記移行イベントに応答して前記ディスク・ドライブに供給する電力を停止するステップを有する請求項1から請求項11のいずれかに記載のコンピュータ・プログラム。
  13. 前記移行イベントに応答して筐体内部の熱を放出する放熱ファンに供給する電力を停止するステップを有する請求項1から請求項12のいずれかに記載のコンピュータ・プログラム。
  14. プロセッサとディスク・ドライブと無線モジュールを備える携帯式コンピュータであって、
    プロセスを実行して特定のプロセスを実行しながら通常状態より消費電力の少ない動作状態に移行させるための移行イベントを検出するイベント検出部と、
    前記移行イベントに応答して前記移行イベントを検出したときに存在していたプロセスの中から選択した所定のプロセスを強制サスペンドする強制サスペンド部
    前記移行イベントに応答して前記移行イベントを検出したときに存在していたプロセスの中から選択した所定のプロセスが前記ディスク・ドライブに対して行ったI/Oリクエストに対するI/O処理完了通知を前記ドーズ・モードが終了するまで保留するリクエスト制御部と
    を有する携帯式コンピュータ。
  15. 前記ディスク・ドライブにI/Oリクエストをしないで無線ネットワークを通じて形成したセッションを維持する機能を前記携帯式コンピュータに実現させるチャット・プログラムを有する請求項14に記載の携帯式コンピュータ。
  16. 前記検出部は前記消費電力の少ない状態から前記通常状態にレジュームさせるための復帰イベントを検出し、前記復帰イベントに応答して前記強制サスペンド部は前記強制サスペンドしたプロセスをレジュームさせ、さらに前記リクエスト制御部は前記保留したI/O処理完了通知を解放する請求項14または請求項15に記載の携帯式コンピュータ。
  17. ディスク・ドライブを備え通常モードで動作しているコンピュータが、プロセスを実行して特定の機能を維持しながら前記通常状態より消費電力の少ない状態で動作する方法であって、
    前記消費電力の少ない状態へ移行するための移行イベントを検出するステップと、
    前記移行イベントに応答して前記コンピュータがいずれかのプロセスの実行を停止するステップと、
    前記移行イベントに応答して実行を停止ないプロセスが前記ディスク・ドライブに対して行ったI/Oリクエストを前記コンピュータが前記消費電力の少ない状態での動作が終了するまで保留するステップと
    を有する方法。
  18. 前記通常状態にレジュームするための復帰イベントを検出するステップと、
    前記復帰イベントに応答して前記実行を停止したプロセスを前記コンピュータが実行可能な状態に遷移させるステップと、
    前記復帰イベントに応答して前記保留したI/Oリクエストを前記コンピュータが解放するステップと
    を有する請求項17に記載の方法。
JP2010012644A 2010-01-23 2010-01-23 特定の機能を維持しながら消費電力を低減するコンピュータ Active JP4970560B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010012644A JP4970560B2 (ja) 2010-01-23 2010-01-23 特定の機能を維持しながら消費電力を低減するコンピュータ
US13/012,483 US8856572B2 (en) 2010-01-23 2011-01-24 Computer that reduces power consumption while maintaining a specific function
CN201110025647.6A CN102156532B (zh) 2010-01-23 2011-01-24 在维持特定的功能的同时降低消耗功率的计算机及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010012644A JP4970560B2 (ja) 2010-01-23 2010-01-23 特定の機能を維持しながら消費電力を低減するコンピュータ

Publications (2)

Publication Number Publication Date
JP2011150610A true JP2011150610A (ja) 2011-08-04
JP4970560B2 JP4970560B2 (ja) 2012-07-11

Family

ID=44309881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010012644A Active JP4970560B2 (ja) 2010-01-23 2010-01-23 特定の機能を維持しながら消費電力を低減するコンピュータ

Country Status (3)

Country Link
US (1) US8856572B2 (ja)
JP (1) JP4970560B2 (ja)
CN (1) CN102156532B (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137680A (ja) * 2013-01-16 2014-07-28 Lenovo Singapore Pte Ltd パワー・オン状態から省電力状態に移行させる方法およびコンピュータ
JP2014522062A (ja) * 2011-08-10 2014-08-28 マイクロソフト コーポレーション 接続型スタンバイのためのプロセスの一時停止及び/又は制限
JP2014522061A (ja) * 2011-08-10 2014-08-28 マイクロソフト コーポレーション 接続型スタンバイのためのプロセスの一時停止及び/又は制限
JP2014523059A (ja) * 2011-08-10 2014-09-08 マイクロソフト コーポレーション 接続型スタンバイのためのプロセスの一時停止及び/又は制限
JP2014526731A (ja) * 2011-09-09 2014-10-06 マイクロソフト コーポレーション 起動パターン管理
JP2016162303A (ja) * 2015-03-03 2016-09-05 株式会社東芝 無線通信装置
JP2016531370A (ja) * 2013-09-09 2016-10-06 シーゲイト テクノロジー エルエルシーSeagate Technology LLC 温度管理を有するモバイルデータ記憶デバイス
US9736050B2 (en) 2011-09-09 2017-08-15 Microsoft Technology Licensing, Llc Keep alive management
US9939876B2 (en) 2011-09-09 2018-04-10 Microsoft Technology Licensing, Llc Operating system management of network interface devices
JP2019194762A (ja) * 2018-05-01 2019-11-07 レノボ・シンガポール・プライベート・リミテッド 情報処理装置及び制御方法
US11379030B2 (en) 2018-05-01 2022-07-05 Lenovo (Singapore) Pte. Ltd. Controlling power efficiency of an information processing device

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904197B2 (en) * 2011-03-07 2014-12-02 Ricoh Co., Ltd. Power management based on combined user interface and sensor inputs
US20130326249A1 (en) * 2011-06-09 2013-12-05 Guillermo Navarro Regulating power consumption of a mass storage system
US9213390B2 (en) * 2012-12-28 2015-12-15 Intel Corporation Periodic activity alignment
US20140240031A1 (en) * 2013-02-27 2014-08-28 Qualcomm Incorporated System and method for tuning a thermal strategy in a portable computing device based on location
DE102013106699B3 (de) * 2013-06-26 2014-02-27 Fujitsu Technology Solutions Intellectual Property Gmbh Computersystem mit einem Abwesenheitsmodus
EP2827597B1 (en) 2013-07-10 2021-04-21 Comcast Cable Communications, LLC Adaptive content delivery
WO2016105399A1 (en) * 2014-12-23 2016-06-30 Hewlett Packard Enterprise Development Lp Prevention of a predetermined action regarding data
JP2016167167A (ja) * 2015-03-09 2016-09-15 株式会社東芝 半導体装置及びメモリシステム
TWI569129B (zh) * 2015-12-01 2017-02-01 財團法人工業技術研究院 系統暫停方法、系統回復方法及應用其之電腦系統
WO2018018495A1 (zh) * 2016-07-28 2018-02-01 张升泽 电子芯片的多区间通风量控制方法及系统
JP6390748B1 (ja) * 2017-04-19 2018-09-19 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
JP2019016252A (ja) * 2017-07-10 2019-01-31 レノボ・シンガポール・プライベート・リミテッド 温度管理システム、情報処理装置および制御方法
CN108874516A (zh) * 2018-01-08 2018-11-23 深圳市铱硙医疗科技有限公司 基于mri图像生成csv文件的方法及装置
JP7370696B2 (ja) * 2018-11-08 2023-10-30 キヤノン株式会社 通信装置、制御方法、およびプログラム
US11112999B2 (en) * 2019-07-29 2021-09-07 EMC IP Holding Company LLC Optimizing I/O latency by software stack latency reduction in a cooperative thread processing model
CN117950737A (zh) * 2024-03-22 2024-04-30 荣耀终端有限公司 唤醒处理方法、装置、电子设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272494A (ja) * 1995-03-30 1996-10-18 Fujitsu Ltd 誤動作防止装置
JPH0926832A (ja) * 1995-07-07 1997-01-28 Seiko Epson Corp 情報処理装置および処理方法
JPH10143297A (ja) * 1996-10-04 1998-05-29 Internatl Business Mach Corp <Ibm> 電子回路内の電力消費を減少させる方法及びシステム
JP2006172198A (ja) * 2004-12-16 2006-06-29 Internatl Business Mach Corp <Ibm> 磁気ディスク装置の電力制御方法、プログラム、電力制御装置、および電子情報機器
JP2009515416A (ja) * 2005-11-04 2009-04-09 サムスン エレクトロニクス カンパニー リミテッド 近距離無線ネットワークにおける移動端末のための節電方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163153A (en) * 1989-06-12 1992-11-10 Grid Systems Corporation Low-power, standby mode computer
US5303171A (en) * 1992-04-03 1994-04-12 Zenith Data Systems Corporation System suspend on lid close and system resume on lid open
KR100252255B1 (ko) * 1997-04-15 2000-04-15 윤종용 휴대용 컴퓨터 시스템을 위한 전원 제어 방법
US5978923A (en) * 1997-08-07 1999-11-02 Toshiba America Information Systems, Inc. Method and apparatus for a computer power management function including selective sleep states
US6617815B1 (en) * 1999-01-15 2003-09-09 Hewlett-Packard Development Company, L.P. Fan control circuit
US6457134B1 (en) * 1999-04-21 2002-09-24 Palm, Inc. Portable computer with differentiated time-out feature
CN101571879B (zh) * 2001-06-28 2012-07-18 甲骨文国际公司 在不同数据库服务器之间划分一个数据库所有权以控制访问数据库
US7702733B2 (en) * 2003-09-18 2010-04-20 Vulcan Portals Inc. Low power email functionality for an electronic device
US7500127B2 (en) * 2003-09-18 2009-03-03 Vulcan Portals Inc. Method and apparatus for operating an electronic device in a low power mode
US7426647B2 (en) * 2003-09-18 2008-09-16 Vulcan Portals Inc. Low power media player for an electronic device
JP4262637B2 (ja) 2004-06-11 2009-05-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 持ち運び可能で蓋体を開いて使用される電子機器、電子機器の制御方法、およびプログラム
WO2008078329A2 (en) * 2006-12-27 2008-07-03 More It Resources Ltd. Method and system for transaction resource control
US7921239B2 (en) * 2008-08-08 2011-04-05 Dell Products, Lp Multi-mode processing module and method of use
US8823518B2 (en) * 2008-12-08 2014-09-02 Motorola Solutions, Inc. Method of sensor cluster processing for a communication device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272494A (ja) * 1995-03-30 1996-10-18 Fujitsu Ltd 誤動作防止装置
JPH0926832A (ja) * 1995-07-07 1997-01-28 Seiko Epson Corp 情報処理装置および処理方法
JPH10143297A (ja) * 1996-10-04 1998-05-29 Internatl Business Mach Corp <Ibm> 電子回路内の電力消費を減少させる方法及びシステム
JP2006172198A (ja) * 2004-12-16 2006-06-29 Internatl Business Mach Corp <Ibm> 磁気ディスク装置の電力制御方法、プログラム、電力制御装置、および電子情報機器
JP2009515416A (ja) * 2005-11-04 2009-04-09 サムスン エレクトロニクス カンパニー リミテッド 近距離無線ネットワークにおける移動端末のための節電方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014523059A (ja) * 2011-08-10 2014-09-08 マイクロソフト コーポレーション 接続型スタンバイのためのプロセスの一時停止及び/又は制限
JP2014522062A (ja) * 2011-08-10 2014-08-28 マイクロソフト コーポレーション 接続型スタンバイのためのプロセスの一時停止及び/又は制限
JP2014522061A (ja) * 2011-08-10 2014-08-28 マイクロソフト コーポレーション 接続型スタンバイのためのプロセスの一時停止及び/又は制限
US9596153B2 (en) 2011-09-09 2017-03-14 Microsoft Technology Licensing, Llc Wake pattern management
JP2014526731A (ja) * 2011-09-09 2014-10-06 マイクロソフト コーポレーション 起動パターン管理
US9294379B2 (en) 2011-09-09 2016-03-22 Microsoft Technology Licensing, Llc Wake pattern management
US9736050B2 (en) 2011-09-09 2017-08-15 Microsoft Technology Licensing, Llc Keep alive management
US9939876B2 (en) 2011-09-09 2018-04-10 Microsoft Technology Licensing, Llc Operating system management of network interface devices
US9430019B2 (en) 2013-01-16 2016-08-30 Lenovo (Singapore) Pte. Ltd. Method of changing over computer from power-on state to power-saving state
JP2014137680A (ja) * 2013-01-16 2014-07-28 Lenovo Singapore Pte Ltd パワー・オン状態から省電力状態に移行させる方法およびコンピュータ
JP2016531370A (ja) * 2013-09-09 2016-10-06 シーゲイト テクノロジー エルエルシーSeagate Technology LLC 温度管理を有するモバイルデータ記憶デバイス
US10942503B2 (en) 2013-09-09 2021-03-09 Seagate Technology Llc Mobile data storage device with predicted temperature management via command time delay
JP2016162303A (ja) * 2015-03-03 2016-09-05 株式会社東芝 無線通信装置
JP2019194762A (ja) * 2018-05-01 2019-11-07 レノボ・シンガポール・プライベート・リミテッド 情報処理装置及び制御方法
US11379030B2 (en) 2018-05-01 2022-07-05 Lenovo (Singapore) Pte. Ltd. Controlling power efficiency of an information processing device

Also Published As

Publication number Publication date
US20110185209A1 (en) 2011-07-28
CN102156532A (zh) 2011-08-17
CN102156532B (zh) 2014-09-03
JP4970560B2 (ja) 2012-07-11
US8856572B2 (en) 2014-10-07

Similar Documents

Publication Publication Date Title
JP4970560B2 (ja) 特定の機能を維持しながら消費電力を低減するコンピュータ
TWI564704B (zh) 省電處理器架構
US6760850B1 (en) Method and apparatus executing power on self test code to enable a wakeup device for a computer system responsive to detecting an AC power source
EP2380081B1 (en) Method and system for hibernation or suspend using a non-volatile-memory device
US6654895B1 (en) Adaptive power management in a computing system
JP4262637B2 (ja) 持ち運び可能で蓋体を開いて使用される電子機器、電子機器の制御方法、およびプログラム
JP5472886B2 (ja) 仮想化されたシステムにおける中央処理装置電力を制御するためのシステムおよび方法
US20060294407A1 (en) Response to wake event while a system is in reduced power consumption state
US20110106935A1 (en) Power management for idle system in clusters
US20090172438A1 (en) Method and apparatus for cost and power efficient, scalable operating system independent services
JP4459946B2 (ja) 携帯式コンピュータおよび動作モードの制御方法
JP5764150B2 (ja) パワー・オン状態から省電力状態に移行させる方法およびコンピュータ
US7636861B2 (en) Bus technique for controlling power states of blades in a blade enclosure
US7383450B2 (en) Low power firmware
US9110723B2 (en) Multi-core binary translation task processing
JP5085611B2 (ja) 実環境と仮想環境を遷移させるコンピュータ・プログラム
JP3961669B2 (ja) コンピュータシステムおよびデータ転送制御方法
JP2003091423A (ja) ユーザの簡易切り替え機能を備えた情報処理装置及びこれに用いるプログラム
JP5913770B2 (ja) 回転式のディスクを備える記憶装置のパワー・ステートを制御する方法および携帯式コンピュータ
US11755450B1 (en) Systems and methods for detecting and suggesting breaks from use of an IHS (information handling system)
JP2003345474A (ja) コンピュータシステムおよびデータ転送制御方法
JP2011013853A (ja) 情報処理装置
TW201428474A (zh) 電源管理方法及相關系統

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111110

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: 20120403

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: 20120404

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4970560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250