【解決手段】情報処理装置は、プロセッサを備える情報処理装置であって、プロセッサは、アクティブ状態からアイドル状態になった場合に第1スリープ状態になり、あらかじめ設定された使用開始予定時刻後であって使用終了予定時刻前に第1スリープ状態になった場合はユーザの操作が第1アイドル時間なければ第1スリープ状態よりアクティブ状態までの復帰時間が長い第2スリープ状態に遷移し、使用終了予定時刻後であって使用開始予定時刻前に第1スリープ状態になった場合、ユーザからの操作が第1アイドル時間より短い第2アイドル時間なければ第2スリープ状態に遷移するように構成される。
前記第1アイドル時間の終了予定時刻が前記使用終了予定時刻から第2所定時間後の場合、前記使用終了予定時刻から前記第2所定時間後に前記プロセッサが前記第2スリープ状態に遷移する請求項1又は請求項2に記載の情報処理装置。
前記第2アイドル時間の終了予定時刻から前記使用開始予定時刻までの時間が第3所定時間より短い場合、前記第2アイドル時間が経過しても、前記プロセッサは前記第1スリープ状態から前記第2スリープ状態に遷移しない、
請求項1から3のうちのいずれか一項に記載の情報処理装置。
前記第1アイドル時間、前記第2アイドル時間、前記第1所定時間、前記第2所定時間又は前記第3所定時間の時間パラメータのうち少なくとも一つを含む複数のプロファイル情報に対する、前記ユーザからの選択入力が可能な操作入力部、をさらに備える、
請求項4に記載の情報処理装置。
前記複数のプロファイル情報は、前記時間パラメータのそれぞれの値が他の前記プロファイル情報より短く設定されている第1プロファイル情報と、前記時間パラメータのそれぞれの値が他の前記プロファイル情報より長く設定されている第2プロファイル情報と、前記時間パラメータのそれぞれの値が前記第1プロファイル情報に設定されている値と前記第2プロファイル情報に設定されている値との間の値が設定されている第3プロファイル情報とを含む、
請求項5に記載の情報処理装置。
前記使用終了予定時刻から前記第1アイドル時間遡った時刻と、前記使用終了予定時刻から前記第2アイドル時間遡った時刻との間において、前記第2アイドル時間遡った時刻に近づくにつれて前記第1アイドル時間が徐々に減少するように可変に設定される、
請求項1から6のいずれか一項に記載の情報処理装置。
所定期間における、一日の中で最も早く前記情報処理装置がアクティブ状態に復帰した時刻と、一日の中で最も遅く前記情報処理装置がアイドル状態となった時刻との履歴を示す使用履歴情報を蓄積する記憶部をさらに備え、
前記使用履歴情報に基づいて、前記情報処理装置の使用状況に適合した使用開始予定時刻及び使用終了予定時刻のうちの少なくとも一つが設定される、
請求項1から7のいずれか一項に記載の情報処理装置。
コンピュータが、アクティブ状態からアイドル状態になった場合に第1スリープ状態になり、あらかじめ設定された使用開始予定時刻後であって使用終了予定時刻前に前記第1スリープ状態になった場合はユーザの操作が第1アイドル時間なければ前記第1スリープ状態より前記アクティブ状態までの復帰時間が長い第2スリープ状態に遷移するステップと、
前記使用終了予定時刻後であって前記使用開始予定時刻前に前記第1スリープ状態になった場合、前記ユーザからの操作が前記第1アイドル時間より短い第2アイドル時間なければ前記第2スリープ状態に遷移するステップと、を含む、
情報処理方法。
【発明を実施するための形態】
【0013】
添付図面を参照して、本発明の好適な実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0014】
[第1実施形態]
(1.概要)
図1を参照して、第1実施形態に係るコンピュータ100のスリープ状態の遷移の概要を説明する。なお、以下、本実施形態に係るコンピュータ100を二つのアイドル時間を用いて複数のスリープ状態間遷移させる機能を「状態遷移機能」という。本実施形態においては、コンピュータ100に二つのスリープ状態を設けて、コンピュータ100を頻繁に使用する時間帯と頻繁には使用しない時間帯のそれぞれに対応させた二つのアイドル時間を用いて、この二つのスリープ状態間を遷移させる例について説明する。また、この二つのスリープ状態のうち、一方のスタンバイ状態等のアクティブ状態への復帰時間が短いスリープ状態を「第1スリープ状態」又は「浅いスリープ状態」といい、他方の第1スリープ状態と比較してハイバネーション等の相対的に復帰時間が長いスリープ状態を「第2スリープ状態」又は「深いスリープ状態」という。
【0015】
図1に示すように、コンピュータ100は、使用開始予定時刻を「9:00」に、使用終了予定時刻を「18:00」に設定する。コンピュータ100は、使用開始予定時刻から使用終了予定時刻までの間(以下、「使用時間帯」という)は、第1アイドル時間iT1(300分)を適用する。なお、ここで示した値は実施形態又はユーザにより適当な値に変更可能である。
【0016】
コンピュータ100は、使用時間帯にアイドル状態になった場合、通常の稼働状態(以下、「アクティブ状態」ともいう)のS0ステートから、第1スリープ状態のS0ixステートに遷移する。S0ステートは、コンピュータ等の電力制御に関する規格の一つであるACPI(
Advanced
Configuration and
Power
Interface)が定めるパワー・ステートである。また、S0ixステートとは、Windows(登録商標)10が採用するModern Standby等のスリーピング・ステートをいう。
【0017】
コンピュータ100は、例えば、ラップトップ端末であれば本体に接続されたカバーがユーザによって閉状態にされたり、電源ボタンをユーザが押下したり、OSの操作(例えば、画面に表示された電源メニューでスリープを選択など)であったり、ユーザから操作されない状態で所定時間が経過したりすることで、アクティブ状態からアイドル状態に遷移する。
【0018】
ここで、ACPIのパワー・ステート及びS0ixステートについて説明する。ACPIでは、S0ステート(パワー・オン状態(通常の稼働状態))、S1ステートからS4ステートまでの4つのスリーピング・ステート(スリープ状態)、S5ステート(ソフト・オフ状態)を定義している。本実施形態では、S0ステート、S0ixステート及びS4ステートを用いて説明するため、これらのパワー・ステートの詳細について、次に説明する。
【0019】
S0ステートは、いわゆるパワー・オン等の通常の稼働状態であり、スリーピング・ステートに対してS0ステートは原則としてコンピュータ100が動作するために必要なすべての装置に電力が供給され、かつ、ソフトウェア的にも完全に動作できる状態である。スリーピング・ステートからS0ステートに遷移することを「復帰」又は「ウェイクアップ」という。
【0020】
本実施形態では、スリーピング・ステートとして、S3ステートより復帰時間が短くS0ステートより消費電力が小さいS0ixステートを採用する。S0ixステートは、ACPIに規定されているS0ステートの拡張状態である。S0ixステートでは、システム・メモリへの給電は維持されるため迅速にアクティブ状態に復帰可能である。また、S0ixステートではコンピュータ100に対するユーザの操作以外でも所定のトリガイベ
ントがあった際に所定時間だけアイドル状態からアクティブ状態に切り替わることができる。所定のトリガイベントとは、例えば、メンテナンスタスクの実行や電子メールの受信等のネットワークデバイスからの割り込みによるウェイクイベントである。
【0021】
S0ixステートの一例としては、Windows8が採用する、Connected Standby及びRuntime D3という技術、Windows10が採用する、Modern Standbyという技術を挙げることができる。コンピュータ100は、ユーザが使用するとき以外はConnected StandbyやModern Standbyで無線LAN等のネットワークデバイスからの割り込みによるウェイクイベントを検知することができる。
【0022】
コンピュータ100は、S0ixステートを実現するため、例えば、ネットワークへ常時接続可能であり、電源のオン・オフを即座に行えるAOAC(
Always
On
Always
Connected)環境を備えてもよい。なお、本実施形態では第1スリープ状態としてS0ixステートを採用しているが、第1スリープ状態としてS3ステートを採用してもよい。
【0023】
S4ステートは、作業内容をHDDやその他の不揮発性メモリなどに書き込んで再起動に必要な装置にだけ電力を供給するスリーピング・ステートである。また、S4ステートは、ACPIでサポートされるスリープ状態の中で最も復帰時間が長いパワー・ステートでハイバネーション状態(休止状態)といわれる。コンピュータ100がS0ステートからS4ステートに遷移する際には、OSがHDD等にシステム・メモリの記憶内容を含む直前のシステム・コンテキストを格納してから電源の起動に必要な最小限の装置以外の装置に対する電源を停止する。
【0024】
コンピュータ100は、上記ACPIが定める少なくともいずれか一つのパワー・ステートを有することができ、パワー・ステートのいずれかの状態に遷移することができる。また、コンピュータ100における第1スリープ状態及び第2スリープ状態の組み合わせは、上記4つのスリーピング・ステートのいずれか二つのスリープ状態の組み合わせを用いてもよいし、4つのスリーピング・ステートではないスリープ状態(例えば、S0ixステート等)を含んだ組み合わせを用いてもよい。すなわち、この組み合わせは、二つのスリープ状態において相対的な復帰時間の差があればどのような組み合わせでもよい。
【0025】
図1に戻って説明を続ける。コンピュータ100は、コンピュータ100がアイドル状態となった時刻から、ユーザ操作のない時間が第1アイドル時間iT1経過すると、S0ixステートから、第2スリープ状態のS4ステートに遷移する。この第2スリープ状態は、言い換えれば、第1スリープ状態よりアクティブ状態までの復帰時間が長いスリープ状態である。この構成によれば、長時間コンピュータ100が使用されないアイドル状態の間に、コンピュータ100を段階的に深いスリープ状態に遷移させ、消費電力の低減を図ることができる。
【0026】
コンピュータ100は、使用終了予定時刻から次の使用開始予定時刻までの間(以下、「不使用時間帯」という)は、第1アイドル時間iT1より短い第2アイドル時間iT2(90分)を適用する。コンピュータ100は、不使用時間帯にアイドル状態になった場合、S0ステートからS0ixステートに遷移する。コンピュータ100は、コンピュータ100がアイドル状態となった時刻からユーザ操作のない時間が第2アイドル時間iT2経過すると、S0ixステートからS4ステートに遷移する。
【0027】
コンピュータ100は、使用終了予定時刻から第1アイドル時間iT1遡った第1時刻(13:00)と、使用終了予定時刻から第2アイドル時間iT2遡った第2時刻(16:30)との間(以下、「調整フェーズP1」ともいう)、第1アイドル時間iT1の設定を可変にしてもよい。この構成によれば、使用終了予定時刻を過ぎても、予め設定した第1アイドル時間iT1が経過しないとS0ixステートからS4ステートに遷移しないという状態を解消できる。
【0028】
コンピュータ100は、例えば、13:00から16:30の間アイドル状態となった場合は、第2時刻に近づくにつれて第1アイドル時間iT1から第2アイドル時間iT2まで徐々に減少するように可変に設定された第1アイドル時間iT1’を適用する。コンピュータ100は、使用時間帯における16:30より後は、16:30にアイドル状態となった場合に設定された第1アイドル時間iT1’である第2アイドル時間iT2をそのまま適用していく。この構成によれば、使用終了予定時刻間際にコンピュータ100がアイドル状態となった場合でも、使用終了予定時刻となってすぐS0ixステートより深いS4ステートに遷移せず、第2アイドル時間iT2分の時間的余裕をもってS4ステートに遷移することができる。
【0029】
(2.構成)
(2−1.コンピュータのハードウェア構成)
図2を参照して、コンピュータ100のハードウェア構成の一例について説明する。コンピュータ100は、複数のスリープ状態の遷移が可能な情報処理装置であり、例えば、スマートフォン、タブレット端末、ラップトップ端末又はデスクトップ端末等の情報端末とすることができる。
図2に示すように、コンピュータ100は、例示的に、プロセッサ110と、記憶装置115と、通信I/F(インタフェース)120と、バス135とを備える。また、コンピュータ100は、操作入力装置125又は表示出力装置130を備えてもよい。
【0030】
プロセッサ110は、データの演算、加工及び転送、並びにプログラムの実行を担う処理装置である。
【0031】
プロセッサ110は、アクティブ状態からアイドル状態になった場合に第1スリープ状態になり、あらかじめ設定された使用開始予定時刻後であって使用終了予定時刻前に第1スリープ状態になった場合はユーザの操作が第1アイドル時間iT1なければ第1スリープ状態よりアクティブ状態までの復帰時間が長い第2スリープ状態に遷移し、使用終了予定時刻後であって使用開始予定時刻前に第1スリープ状態になった場合、ユーザからの操作が第1アイドル時間iT1より短い第2アイドル時間iT2なければ第2スリープ状態に遷移するように構成される。
【0032】
プロセッサ110は、第1アイドル時間の終了予定時刻が使用終了予定時刻から第2アイドル時間iT2後より後の場合、使用終了予定時刻から第2アイドル時間iT2後にプロセッサ100が第2スリープ状態に遷移する。
【0033】
記憶装置115は、主記憶装置(例えば、揮発性メモリ又はランダムアクセスメモリ等)、補助記憶装置(例えば、不揮発性メモリ等)又は外部記憶装置等のプログラムやデータを記憶する装置である。
【0034】
通信I/F120は、外部の装置との間でプログラムやデータの送受信を行う装置である。通信I/F120は、例えば、携帯電話の通信網用のインタフェースや、Wi-Fiネットワーク等の無線LAN用のインタフェースを含む。通信120は、有線のインタフェースを含んでもよい。通信I/F120は、コンピュータ100がS0ixステートの場合には、限定的にアクティブとなってデータ等の送受信を行う。
【0035】
操作入力装置125は、ユーザからの操作入力を受け付けるための装置である。操作入力装置125は、例えば、ソフトキーとして、表示出力装置130と一体的に形成されたタッチパネルであってもよい。また、操作入力装置125は、ハードキーとしてコンピュータ100に備え付けられた操作ボタンであってもよい。また、操作入力装置125は、コンピュータ100の外部に設けられてもよく、例えば、キーボードやマウスパット等でもよい。
【0036】
表示出力装置130は、画像を表示するための出力装置である。表示出力装置130は、例えば、液晶ディスプレイや有機ELディスプレイである。表示出力装置130は、コンピュータ100の外部に設けられていてもよい。
【0037】
バス135は、上記の各装置間を接続し、各装置間でデータや制御情報等のやり取りするための通信路である。
【0038】
(2−2.情報処理装置の機能構成)
図3を参照して、コンピュータ100の機能構成の一例について説明する。コンピュータ100は、例示的に、制御部150と、記憶部160と、通信部165とを備える。またコンピュータ100は、操作入力部170又は表示出力部175を備えてもよい。
図3に示す各機能部は、
図2に示す装置のハードウェア及びソフトウェア等によって実現される。具体的には、
図3に示す各機能部は、例えば、記憶装置115の記憶領域を用いたり、記憶装置115に格納されたプログラムをプロセッサ110が実行したりすることにより実現することができる。
【0039】
制御部150は、例示的に、コンピュータ100の使用時間帯等を設定する設定部151と、コンピュータ100のスリープ状態の遷移を行う遷移部152と、コンピュータ100にアイドル時間を適用する適用部153と、を備える。また、制御部150は、例えば、コンピュータ100におけるユーザの使用パターンを認識する認識部154を備えてもよい。制御部150は、
図2のプロセッサ110に相当する。
【0040】
設定部151は、コンピュータ100の使用開始予定時刻と使用終了予定時刻とを設定する。このような設定の方法としては、例えば、(1)パラメータ画面におけるユーザからの設定入力によって動的に設定する方法、(2)コンピュータ100のレジストリパラメータ等の固定パラメータを用いて設定する方法、といった方法が挙げられる。
【0041】
「パラメータ画面」とは、コンピュータ100のスリープ状態の遷移に用いられるパラメータを設定するための画面である。パラメータ画面は、例えば、状態遷移機能の有効又は無効を設定したり、使用開始予定時刻又は使用終了予定時刻を設定したりするための画面である。パラメータ画面の構成例について、後述の(3.画面例)において、
図4を参照して説明する。
【0042】
設定部151は、上記使用開始予定時刻等の設定の方法(1)又は方法(2)と同様の方法によって、第1アイドル時間iT1又は第2アイドル時間iT2を設定することができる。
【0043】
設定部151は、コンピュータ100の使用状況を示した使用履歴情報に基づいて、コンピュータ100の使用状況に適合した使用開始予定時刻又は使用終了予定時刻の少なくともいずれか一つを設定してもよい。設定部151は、例えば、後述の認識部154により使用履歴情報を用いて認識された使用開始時刻パターン又は使用終了時刻パターンに基づいて、使用開始予定時刻又は使用終了予定時刻を設定してもよい。この構成によれば、コンピュータ100の使用履歴に基づく使用状況に合わせた使用開始予定時刻等を設定することができるため、コンピュータ100の利便性を向上させることができる。
【0044】
遷移部152は、コンピュータ100を、第1アイドル時間iT1、又は第1アイドル時間iT1より短い第2アイドル時間iT2を経て、第1スリープ状態から、第2スリープ状態に遷移させる。
【0045】
遷移部152は、例えば、使用時間帯でコンピュータ100がアイドル状態となった場合は、第1アイドル時間iT1(例えば、300分)を経て、コンピュータ100を第1スリープ状態のS0ixステートから第2スリープ状態のS4ステートに遷移してもよい。また、遷移部152は、例えば、不使用時間帯でコンピュータ100がアイドル状態となった場合は、第2アイドル時間iT2(例えば、90分)を経て、コンピュータ100をS0ixステートからS4ステートに遷移してもよい。
【0046】
遷移部152は、更に、使用開始予定時刻になった際に、コンピュータ100が第2スリープ状態となっている場合は、第1スリープ状態に遷移させてもよい。この構成によれば、コンピュータ100の使用開始の際に、第2スリープ状態より復帰時間の短い第1スリープ状態から復帰することができる。
【0047】
適用部153は、コンピュータ100が使用時間帯にアイドル状態になった場合は、コンピュータ100に第1アイドル時間iT1を適用する。また、適用部153は、コンピュータ100が不使用時間帯にアイドル状態になった場合は、コンピュータ100に第2アイドル時間iT2を適用する。適用部153は、具体的には、アイドル状態になった時刻が使用時間帯か否か等を判定し、判定の結果に基づいて、第1アイドル時間iT1又は第2アイドル時間iT2を適用する。
【0048】
適用部153は、上記適用する第1アイドル時間iT1の終了予定時刻が使用終了予定時刻より後の場合、コンピュータ100を使用終了予定時刻から所定の時間後に第1スリープ状態から第2スリープ状態に遷移させるよう、第1アイドル時間iT1を第1アイドル時間iT1’に変更する。
【0049】
適用部153は、例えば、上記適用する第1アイドル時間iT1の終了予定時刻が使用終了予定時刻より後の場合、使用終了予定時刻後にコンピュータ100が第2スリープ状態に遷移するよう、第1アイドルiT1’を設定してもよい。ただし、第1アイドル時間iT1の終了予定時刻が使用終了予定時刻後の場合、第1アイドル時間iT1’は第2アイドル時間iT2を下回らないように設定する。言い換えれば、適用部153において、第1時刻と第2時刻との間において、第2時刻に近づくにつれて第1アイドル時間iT1が第2アイドル時間iT2まで徐々に減少するように可変に設定されてもよい。
【0050】
認識部154は、記憶部160に所定期間蓄積されたコンピュータ100の使用履歴情報に基づいて、コンピュータ100の使用パターンを認識する。
【0051】
「使用履歴情報」とは、コンピュータ100の使用状況を示した情報である。使用履歴情報は、例えば、所定期間において、(1)ユーザがコンピュータ100を実際に使い始めた時刻として、一日の中で最も早くにコンピュータ100がアクティブ状態に復帰した時刻(以下、「最早復帰時刻」という)の履歴、(2)ユーザがコンピュータ100を実際に使い終わった時刻として、一日の中で最も遅くコンピュータ100がアイドル状態となった時刻(以下、「最遅待機時刻」という)の履歴、といったコンピュータ100の使用に関する時刻の履歴を示す情報である。また、ここで「所定期間」とは、コンピュータ100の使用履歴情報を蓄積するための期間をいい、例えば、特定のユーザによるコンピュータ100の使用パターンが定まってくる一般的な期間(例えば、1か月、半年又は1年等)を設定すればよい。
【0052】
認識部154は、例えば、この蓄積された使用履歴情報に基づいて、コンピュータ100の使用開始時刻パターン又は使用終了時刻パターンの少なくともいずれか一つのパターン認識をしてもよい。認識部154は、具体的には、所定期間におけるコンピュータ100の最早復帰時刻又は最遅待機時刻の履歴を示す使用履歴情報に基づいて、統計解析を行う。認識部154は、統計解析の結果、最早復帰時刻又は最遅待機時刻の中央値、平均値又は最頻値を求める。認識部154は、この求められた最早復帰時刻の中央値等を使用開始時刻パターンとし、また、この求められた最遅待機時刻の中央値等を使用終了時刻パターンとして認識することができる。
【0053】
記憶部160は、所定期間、コンピュータ100の使用履歴情報を蓄積する。また、記憶部160は、第1アイドル時間iT1と、第2アイドル時間iT2とを示すアイドル時間情報を記憶してもよい。記憶部160は、
図2の記憶装置115に相当する。
【0054】
通信部165は、ネットワークを介して、外部からのメッセージ等を送受信する。通信部165は、第1スリープ状態がS0ixステートの場合、コンピュータ100が第1スリープ状態の間は、限定的にアクティブとなって送受信を行う。通信部165は、
図2の通信I/F130に相当する。
【0055】
操作入力部170は、コンピュータ100のユーザからの操作入力を受け付ける。操作入力部170は、例えば、パラメータ画面における使用開始予定時刻又は使用終了予定時刻等の指定入力を受け付ける。また、操作入力部170は、コンピュータ100の状態遷移機能を有効又は無効の指定入力を受け付けてもよい。操作入力部170は、
図2の操作入力装置125に相当する。パラメータ画面の詳細については、後述の(3.画面例)において、
図4を参照して説明する。
【0056】
表示出力部175は、コンピュータ100のユーザからの表示指定等により、パラメータ画面を表示する。
【0057】
(3.画面例)
図4を参照して、コンピュータ100における画面の一例について説明する。
図4は、パラメータ画面A1の例を表す図である。
図4に示すように、パラメータ画面A1は、状態設定ボタンa1と、使用開始予定時刻フォームa2と、使用終了予定時刻フォームa3とを含む。なお、各部品の種類(例えば、チェックボックス等)は一例であり、これに限定されない。また、パラメータ画面A1は、例えば、第1アイドル時間iT1(不図示)又は第2アイドル時間iT2(不図示)といったアイドル時間の設定入力項目を含んでもよい。
【0058】
状態設定ボタンa1は、状態遷移機能(本例では、「スマートスタンバイ」ともいう)を有効(ON)にするか無効(OFF)にするかの設定入力を受け付ける。使用開始時刻フォームa2は、コンピュータ100の使用開始予定時刻の設定入力を受け付ける。使用終了時刻フォームa3は、コンピュータ100の使用終了予定時刻の設定入力を受け付ける。
【0059】
(4.動作)
図5を参照して、コンピュータ100における動作の一例について説明する。
図5は、コンピュータ100のスリープ状態の遷移処理の流れの例を示すフロー図である。本例においては、コンピュータ100の使用時間帯における第1アイドル時間iT1の調整を、調整フェーズP1に限定して行う例について説明する。
【0060】
図5に示すように、コンピュータ100において、設定部151はコンピュータ100の使用開始予定時刻と使用終了予定時刻とを設定する(S10)。遷移部152は、コンピュータ100がアイドル状態になった場合に、アクティブ状態から第1スリープ状態に遷移する(S11)。
【0061】
適用部153は、アイドル状態になった時刻が使用時間帯か否か判定する(S12)。適用部153は、アイドル状態になった時刻が使用時間帯と判定した場合は(S12のYES)、第1アイドル時間iT1の終了予定時刻が使用終了予定時刻より後か否かを判定する(S13)。
【0062】
適用部153は、第1アイドル時間iT1の終了予定時刻が使用終了予定時刻以前と判定した場合は(S13のNO)、第1アイドル時間iT1を適用する(S14)。
【0063】
適用部153は、第1アイドル時間iT1の終了予定時刻が使用終了予定時刻より後であると判定した場合は(S13のYES)、使用終了予定時刻にコンピュータ100が第2スリープ状態に遷移するよう、第1アイドル時間iT1を第2アイドル時間iT2を下回らないよう第1アイドル時間iT1'に変更して適用する(S15)。
【0064】
適用部153は、アイドル状態になった時刻が使用時間帯でないと判定した場合は(S12のNO)は、第2アイドル時間iT2を適用する(S16)。
【0065】
遷移部152は、適用したアイドル時間(第1アイドル時間iT1、第1アイドル時間iT1’又は第2アイドル時間iT2)を経て、コンピュータ100を第1スリープ状態から第2スリープ状態に遷移させる(S17)。
【0066】
なお、前述の各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して若しくは並列に実行することができ、また、各処理ステップ間に他のステップを追加しても良い。更に、便宜上1つのステップとして記載されているステップは複数のステップに分けて実行することもでき、便宜上複数に分けて記載されているステップを1ステップとして実行することもできる。
【0067】
[第2実施形態]
次に、本発明の第2実施形態について説明する。第2実施形態は、第1実施形態と比較して、より多くの時間に関するパラメータを用いてスリープ状態の遷移を細やかに制御する形態である。以下、第1実施形態と異なる点を中心に説明する。
【0068】
(1.概要)
図6を参照して、第2実施形態に係るコンピュータ500のスリープ状態の遷移の概要を説明する。この概要を説明するにあたって、第1実施形態と異なる点について、(1)使用開始予定前にマージンを設け、コンピュータ500を、浅いスリープ状態(S0ixステート)を介して段階的にアクティブ状態(S0ステート)に遷移させる構成、(2)使用終了予定後にマージンを設け、コンピュータ500を、一定の時間的余裕をもって深いスリープ状態(S4ステート)に遷移させる構成、(3)使用開始前の、実質的に消費電力の低減が図れない冗長な深いスリープ状態への遷移を抑止する構成、といった大きく3つの構成に分けて説明する。
【0069】
(1)コンピュータ500は、ユーザの使用開始予定時刻(9:00)とこの使用開始予定時刻前に所定のマージン(以下、「第1所定時間T1」といい、本例では、30分とする)をとったタイミング(以下、「ウェイクアップ時刻」といい、8:30とする)との間、第2スリープ状態のS4ステートとなっている場合、S4ステートから第1スリープ状態のS0ixステートに遷移する。この構成によれば、コンピュータ500の使用開始する際には、コンピュータ500はS0ixステートにいることができるため、復帰時間を短縮させることができる。
【0070】
(2)コンピュータ500は、ユーザの使用終了予定時刻(18:00)後に所定のマージン(以下、「第2所定時間T2」といい、本例では、30分とする)をとったタイミング(以下、「休止時刻」といい、18:30とする)で、S0ixステートからS4ステートに遷移させるよう第1アイドル時間iT1を第1アイドル時間iT1’に変更して設定する。具体的には、コンピュータ500が15:00にアイドル状態となった場合、当該設定において、第1アイドル時間iT1の終了予定時刻(20:00)が使用終了予定時刻(18:00)から第2所定時間T2後(18:30)より後となる。この際に、コンピュータ500が休止時刻にS0ixステートからS4ステートに遷移するよう、第1アイドル時間iT1(300分)を第1アイドル時間iT1’(210分)に変更して設定する。この構成によれば、コンピュータ100は、使用終了予定時刻近くでアイドル状態となった場合でも、使用終了予定時刻から所定のマージンをとった休止時刻に合わせてS4ステートに遷移することができる。
【0071】
(3)コンピュータ500は、コンピュータ500の使用開始予定時刻前の所定の時間(以下、「第3所定時間T3」といい、本例では、120分とする)の間は、第2アイドル時間iT2を経過しても深いS4ステートに遷移させない。コンピュータ500は、具体的には、使用開始予定時刻を第3所定時間T3早めた時刻と使用開始予定時刻との間(7:00から9:00までの間)は、第2アイドル時間iT2が経過してもS0ixステートからS4ステートに遷移させない。
【0072】
仮に、コンピュータ500を第3所定時間T3の間にS4ステートに遷移させたとしても、その後すぐにウェイクアップ時刻や使用開始予定時刻となり、S0ixステート又はS0ステートに遷移してしまう。このため、例えば、S4ステートの状態遷移にあたってHDDへの書き込みや読み込み等に必要な消費電力について、コンピュータ500は、この消費電力を回収することなくS0ixステート又はS0ステートへ復帰等してしまうことがある。この場合、コンピュータ500において、S0ixステート等より深いS4ステートに遷移させる主な目的である消費電力の低減を図ることが困難となってしまう。よって、コンピュータ500に、このような深いスリープ状態の遷移を保留とする第3所定時間T3を設けることで、実質的に消費電力の低減が図れない冗長な状態遷移を抑止することができる。
【0073】
(2−2.情報処理装置の機能構成)
図7を参照して、第2実施形態に係るコンピュータ500の機能構成の一例について説明する。コンピュータ500は、第1実施形態に係るコンピュータ100の機能部に加えて生成部155を備える。また、コンピュータ500は、コンピュータ100の記憶部160に記憶された情報に加えて、第1アイドル時間iT1や第2アイドル時間iT2等の値を含むプロファイル情報が登録されている。プロファイル情報については、後述の設定部151において説明する。
【0074】
プロセッサ100は、使用開始予定時刻の第1所定時間T1遡った時刻に第2スリープ状態となっている場合、第1スリープ状態に遷移する。
【0075】
第1アイドル時間iT1の終了予定時刻が使用終了予定時刻から第2所定時間T2後の場合、使用終了予定時刻から第2所定時間T2後にプロセッサ110が第2スリープ状態に遷移する。
【0076】
第2アイドル時間iT2の終了予定時刻から使用開始予定時刻までの時間が第3所定時間より短い場合、第2アイドル時間iT2が経過しても、プロセッサ100は第1スリープ状態から前記第2スリープ状態に遷移しない。
【0077】
設定部151は、第1所定時間T1と、第2所定時間T2と、第3所定時間T3とを設定する。第1所定時間T1は、コンピュータ500の使用開始予定前に、コンピュータ500を第2スリープ状態から第2スリープ状態より浅い第1スリープ状態に段階的に復帰させるためのマージンである。また、第2所定時間T2は、コンピュータ500の使用終了予定後に、一定の時間的余裕をもってコンピュータ500を第1スリープ状態より深い第2スリープ状態にさせるためのマージンである。また、第3所定時間T3は、コンピュータ500の使用開始予定時刻前の、実質的に消費電力の低減が図れない冗長な深いスリープ状態への遷移を抑止するための時間である。
【0078】
設定部151の上記第1所定時間T1等の設定の方法として、例えば、(1)パラメータ画面におけるユーザからの設定入力によって設定する方法、(2)コンピュータ500のレジストリパラメータ等の固定パラメータを用いて設定する方法、(3)後述の生成部155により生成された複数のプロファイル情報のうち、コンピュータ500のユーザから選択されたいずれか一つのプロファイル情報によって設定する方法、といった方法が挙げられる。
【0079】
ここで、
図8を参照して、プロファイル情報について説明する。「プロファイル情報」とは、第1アイドル時間iT1、第2アイドル時間iT2、第1所定時間T1、第2所定時間T2又は第3所定時間T3(以下、総称して「時間パラメータ」ともいう)の値を、装置別、ユーザ別又は目的別に設定され、また組み合わされた情報である。
図8は、プロファイル情報のデータ構造の一例を示した表である。
図8に示すように、プロファイル情報600は、第1アイドル時間601と、第2アイドル時間602と、第1所定時間603と、第2所定時間604と、第3所定時間605の情報を含む。もちろん、これらの情報がプロファイル情報に全て含まれる必要はなく、また、これら以外の情報が含まれてもよく、プロファイル情報を用いた状態遷移処理等に応じて適宜設定すればよい。なお、
図8に示す各項目の値の単位は、いずれも「分」とする。
【0080】
図8には、更に、上記目的別のプロファイル情報の例として、(1)消費電力の低減を重視する(R1)、(2)消費電力の低減と復帰時間の短縮のバランスの取る(R2)、(3)復帰時間の短縮を重視する(R3)、といった状態遷移機能を使用する目的別のレコードR1〜R3を示している。
【0081】
レコードR1は、上記「(1)消費電力の低減を重視する」目的にそって各時間パラメータの項目の値が設定されている例である。レコードR1は、例えば、第1アイドル時間601及び第2アイドル時間602において、レコードR2及びレコードR3等の他のプロファイル情報比べて値が短く設定されている。レコードR1は、このように各項目の値が設定されていることで、適用するアイドル時間が短い分、他のプロファイル情報よりコンピュータ500を第2スリープ状態に遷移しやすくして消費電力の低減を図りやすくしている。
【0082】
レコードR1は、また、第1所定時間603、第2所定時間604及び第3所定時間605においても、レコードR2及びレコードR3の値と比べて短く値が設定されている。具体的には、第1所定時間603では他のプロファイル情報より長くコンピュータ500が第2スリープ状態で居続けるために値が短く設定されている。また、第2所定時間604では他のプロファイル情報より早くコンピュータ500が第2スリープ状態に遷移するために値が短く設定されている。また、第3所定時間605では、コンピュータ500が第2スリープ状態に遷移しない時間を短くして第2スリープ状態に遷移しやすくするよう、値が短く設定されている。
【0083】
レコードR2は、上記「(2)消費電力の低減と復帰時間の短縮のバランスを取る」目的にそって各時間パラメータの項目の値が設定されている例であり、各項目において、レコードR1の値とレコードR3の値の間の値が設定されている。例えば、レコードR2の各項目は、レコードR1の値の1.5〜2倍、かつ、レコードR3の値の0.5〜0.75倍の値が設定されている。
【0084】
レコードR3は、上記「(3)復帰時間の短縮を重視する」目的にそって各時間パラメータの項目の値が設定されている例であり、レコードR1とは逆に、第1アイドル時間601及び第2アイドル時間602において、レコードR1及びレコードR2等の他のプロファイル情報と比べて値が長く設定されている。レコードR3は、このように各項目の値が設定されていることで、適用するアイドル時間が長い分、他のプロファイル情報より第2スリープ状態に遷移しづらくして(第1スリープ状態のままにして)復帰時間の短縮を図りやすくしている。レコードR3は、特に、第1アイドル時間601の値を、「1200(分)」として、
図1に示したような使用時間帯(9:00-18:00)より長い時間とすることができる。このように使用時間帯より長い値を第1アイドル時間601に設定すれば、この使用時間帯においてはコンピュータ500の第2スリープ状態への遷移が起こらないようにすることができる。
【0085】
レコードR3は、また、第1所定時間603、第2所定時間604及び第3所定時間605においても、レコードR1及びレコードR2の値と比べて値が長く設定されている。具体的には、第1所定時間603は他のプロファイル情報より早くコンピュータ500を第1スリープ状態に遷移させるために値が長く設定され、第2所定時間604は他のプロファイル情報より遅く第2スリープ状態に遷移させるために値が長く設定され、第3所定時間605では、第2スリープ状態に遷移しない時間を長くして、第2スリープ状態に遷移しづらくするよう値が長く設定されている。
【0086】
上記目的別の複数のプロファイル情報は、プロファイル情報に含まれる時間パラメータのそれぞれの値が他のプロファイル情報より短く設定されている第1プロファイル情報と、時間パラメータのそれぞれの値が他のプロファイル情報より長く設定されている第2プロファイル情報と、時間パラメータのそれぞれの値が第1プロファイル情報に設定されている値と第2プロファイル情報に設定されている値との間の値が設定されている第3プロファイル情報とを含んでもよい。このような構成によれば、目的別の複数のプロファイル情報を予め用意しておくことができ、ユーザはこの用意された複数のプロファイルから自身の目的に合わせたプロファイル情報を選択するだけでよいため、利便性の高いコンピュータを提供することができる。
【0087】
図7に戻って説明を続ける。設定部151は、第3所定時間T3の設定において、どの程度の時間コンピュータ500が第2スリープ状態にいたら、コンピュータ500を第1スリープ状態から第2スリープ状態に遷移させるために必要な消費電力を回収できるのかといった観点で、第3所定時間T3の値を推定してもよい。すなわち、設定部151は、コンピュータ100の使用開始予定前に、コンピュータ500を第1スリープ状態から第2スリープ状態に遷移させた方が消費電力を低減できるか、それとも、第1スリープ状態から第2スリープ状態への遷移を抑止して第1スリープ状態のままにした方が消費電力を低減できるか、といった判定の分岐点となる第3所定時間T3の値を推定する。
【0088】
設定部151は、例えば、(1)コンピュータ500が、第3所定時間T3において、第1スリープ状態から第2スリープ状態に遷移して、再び第1スリープ状態に遷移又はアクティブ状態に復帰するまでの消費電力(以下、「第1消費電力」ともいう)を算出する。また、設定部151は、(2)コンピュータ500において、第3所定時間T3の間の第1スリープ状態と第2スリープ状態との消費電力の差(以下、「第2消費電力」ともいう)を算出する。設定部151は、上記(1)で算出した第1消費電力が、上記(2)で算出した第2消費電力よりも小さくなるときの第3所定時間T3の閾値を採用することで推定してもよい。
【0089】
上記手法において、第1消費電力は第3所定時間T3の値に関わらず一定であるのに対し、第2消費電力は第3所定時間T3の値に比例して増加するため、第3所定時間T3の経過において初めの方は第1消費電力の方が大きいが、この閾値の時点で逆転し、以降は、第2消費電力の方が大きくなる。このため、この手法によって、上記閾値を第3所定時間T3の値として採用することで、最低限第2スリープ状態でいるべき時間を第3所定時間T3とすることができる。
【0090】
上記消費電力の算出方法として、例えば、上記の第1消費電力の算出方法(1)においては、第1スリープ状態から第2スリープ状態への状態遷移を経て再び第1スリープ状態へ遷移する場合の1回あたりの第1消費電力を過去の消費電力の実績データに基づいて、当該実績データの平均値を算出することで推定してもよい。また、上記(2)においては、過去の消費電力の実績データに基づいて、第1スリープ状態と第2スリープ状態のそれぞれの単位時間あたりの消費電力の平均値を算数し、算出された単位時間辺りの平均値の差に第3所定時間T3を乗じて第2消費電力を推定してもよい。設定部151は、このように推定された値に基づいて、第1消費電力が第2消費電力より小さくなる第3所定時間T3の閾値を設定する。
【0091】
設定部151は、使用開始予定時刻を第1所定時間T1早めたウェイクアップ時刻を設定することができる。また、設定部151は、使用終了予定時刻に、使用終了予定時刻を第2所定時間T2遅らせた休止時刻を設定することができる。
【0092】
設定部151は、上記第1所定時間T1等の設定方法として説明した方法(1)又は方法(2)によって、コンピュータ500を使用する予定の曜日を設定することができる。
【0093】
遷移部152は、ウェイクアップ時刻と使用開始予定時刻との間、コンピュータ500が第2スリープ状態となっている場合、第1スリープ状態に遷移させることができる。
【0094】
遷移部152は、使用開始予定時刻を第3所定時間早めた時刻と使用開始予定時刻との間、第2アイドル時間iT2を経過しても、コンピュータ500を第1スリープ状態から第2スリープ状態に遷移させなくてもよい。
【0095】
遷移部152は、設定部151により設定されたコンピュータ500を使用する予定の曜日以外の曜日においては、第1所定時間T1の間であっても第2スリープ状態のままとしてもよい。この構成によれば、休日等の一日中コンピュータ500を使用しない日において、第1スリープ状態より深い第2スリープ状態のままとすることで消費電力の低減を図ることができる。
【0096】
適用部153は、第1アイドル時間iT1の終了予定時刻が休止時刻より後の場合、コンピュータ500が休止時刻から所定のアイドル時間後に第1スリープ状態から第2スリープ状態に遷移するよう、第1アイドル時間iT1を第1アイドル時間iT1’に変更して適用する。
【0097】
生成部155は、時間パラメータの少なくとも一つを含む複数のプロファイル情報を生成する。生成部155は、例えば、パラメータ画面における設定入力によって各時間パラメータの値を設定してもよい。生成部155は、この設定入力された時間パラメータの値ごと、又は当該時間パラメータの値の組み合わせごとにプロファイル情報を生成する。
【0098】
生成部155は、上記状態遷移機能を使用する目的(1)〜(3)ごとに時間パラメータの値を設定し、また組み合わせて、上記目的別のプロファイル情報を生成することができる。
【0099】
生成部155は、上記目的(1)における各時間パラメータの値の設定にあたっては、例えば、時間パラメータの実績データ群と消費電力の実績データ群に基づいて、時間パラメータを説明変数(特徴量)とし、消費電力を目的変数(特徴量)として、回帰分析による統計処理を用いて回帰曲線を近似的(曲線と時間パラメータのデータプロット群の距離が最小となるように)に求め、この回帰曲線によって、消費電力が低減できる各時間パラメータの値を推定してもよい。
【0100】
生成部155は、上記目的(3)における各時間パラメータの値の設定にあたっても、例えば、上記目的(1)と同様に、パラメータの実績データ群と復帰時間の実績データ群に基づいて、時間パラメータを説明変数とし、消費電力を目的変数として、回帰分析による統計処理を用いて、回帰曲線を近似的に求めて、この回帰曲線を用いて復帰時間の短縮できる各時間パラメータの値を推定してもよい。
【0101】
生成部155は、更に、上記目的(2)における各時間パラメータの値の設定にあたっては、上記目的(1)と上記目的(3)とで推定された各時間パラメータの値を、時間パラメータごとに統計解析して中央値又は平均値を求め、当該求められた中央値等によって消費電力の低減と復帰時間の短縮のバランスを取るための各時間パラメータの値を推定してもよい。
【0102】
操作入力部170は、例えば、パラメータ画面において各時間パラメータの設定入力を受け付けてもよい。また、操作入力部170は、例えば、パラメータ画面において生成部155により生成された複数のプロファイルのうち、どのプロファイルを適用するかのユーザの選択入力を受け付けてもよい。すなわち、操作入力部170は、複数のプロファイル情報に対する、ユーザからの選択入力が可能である。
【0103】
(3.画面例)
図9を参照して、第2実施形態に係るコンピュータ500における画面の一例について説明する。
図9は、パラメータ画面A12及びサブ画面A2の例を表す図である。
図9に示すように、第2実施形態に係るパラメータ画面A12は、第1実施形態に係るパラメータ画面A1が含む部品に加えて、使用曜日設定リンクa4を含む。また、コンピュータ500は、パラメータ画面A1に加えて、パラメータ画面A1から表示されるサブ画面A2を表示する。
【0104】
使用曜日設定リンクa4は、サブ画面A2の表示指定を受け付ける。使用曜日設定リンクa4は表示指定を受け付けると、サブ画面A2をポップアップ表示させる。
【0105】
サブ画面A2は、使用曜日設定チェックボックスa5を含む。使用曜日設定チェックボックスa5は、コンピュータ500の使用する曜日の設定入力を受け付ける。なお、サブ画面A2は、設定された内容に応じて、使用曜日設定リンクa4のテキスト表示を変更してもよい。具体的には、平日の月曜から金曜まで設定入力されていれば「平日」と、全ての曜日が設定入力されていれば「毎日」といったようにテキスト表示を変更してもよい。
【0106】
パラメータ画面A12は、更に、各時間パラメータを設定入力するためのフォーム等の項目(不図示)を含んでもよい。また、パラメータ画面A12は、コンピュータ500に適用するプロファイルを選択入力するためのプルダウンメニュー等の項目(不図示)を含んでもよい。
【0107】
[変形例]
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記実施の形態に限定されない。以下のような場合も本発明に含まれる。
【0108】
(1)上記実施の形態に係る状態遷移機能は、コンピュータがAC電源で給電されているときは無効にし、バッテリー駆動をしているときのみ有効にしてもよい。AC電源の場合は、消費電力を節約する必要性が少なく、特に不使用時間帯において、OSアップデート等のメンテンナンス処理を走らせるため、第2アイドル時間iT2を経て第2スリープ状態に遷移させない方がいい場合が考えられる。このような場合は、コンピュータがバッテリー駆動のときのみ状態遷移機能を有効にしてもよい。
【0109】
(2)上記実施の形態では示していないが、遷移部152は、コンピュータ500が、第2の所定期間の間アクティブ状態にならなかった場合は、第2の所定期間経過後の次の使用開始予定時刻前の第1所定時間T1になったときに第2スリープ状態から第1スリープ状態に遷移しなくてもよい。ここで、「第2の所定期間」は、コンピュータ500が長期間使用されておらず、また今後も使用される予定がないと判断するための閾値であり、具体的には、1週間や半月等の期間を設ければよい。この構成によれば、数日間使用されていないコンピュータ500を、不必要に浅い第1スリープ状態に遷移させることを抑止できる。
【0110】
[他の実施形態]
上記実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するものではない。本発明はその趣旨を逸脱することなく、変更/改良(たとえば、各実施形態を組み合わせること、各実施形態の一部の構成を省略すること)され得るとともに、本発明にはその等価物も含まれる。