JP2014523224A - 移動体デバイス動作のバッテリー最適化 - Google Patents

移動体デバイス動作のバッテリー最適化 Download PDF

Info

Publication number
JP2014523224A
JP2014523224A JP2014515875A JP2014515875A JP2014523224A JP 2014523224 A JP2014523224 A JP 2014523224A JP 2014515875 A JP2014515875 A JP 2014515875A JP 2014515875 A JP2014515875 A JP 2014515875A JP 2014523224 A JP2014523224 A JP 2014523224A
Authority
JP
Japan
Prior art keywords
task
charging
mobile device
battery
charging event
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
JP2014515875A
Other languages
English (en)
Other versions
JP2014523224A5 (ja
JP6126085B2 (ja
Inventor
サインフェルド,マーク
クオ,チェンギ・ジミー
パットナム,アーロン
ウィリアムズ,ジェフ
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014523224A publication Critical patent/JP2014523224A/ja
Publication of JP2014523224A5 publication Critical patent/JP2014523224A5/ja
Application granted granted Critical
Publication of JP6126085B2 publication Critical patent/JP6126085B2/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
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0264Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by selectively disabling software applications
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

デバイスにおけるバッテリー電力を保存する技法を提供する。1つ以上の延期可能なタスクを、後の実行のために待ち行列に入れる。デバイスのバッテリーに対する後続の充電イベントの開始を検出する。待ち行列に入れられた延期可能なタスク(1つまたは複数)は、充電イベントの間にイネーブルされ実行される。例えば、移動体デバイスの充電プロファイルを参照することによってというようにして、充電イベントが長期充電イベントであると予測された場合、待ち行列に入れられた延期可能なタスクを実行されるようイネーブルすることができる。このようにして、デバイスが使用されておりバッテリー充電器に接続されていない間、バッテリー電力を保存する。
【選択図】図1

Description

従来技術
[0001] 移動体デバイスは、ハンドヘルド・デバイスと呼ばれることもあり、携行するため、および/または人がポケットに入れるための大きさに作られた電子デバイスである。移動体デバイスは、通例、高速で有能な(capable)プロセッサー、豊富であるが小さいディスプレイ、ワイヤレス通信機能、タッチ・スクリーン、縮小サイズのキーボード、および/またはデバイスを移動可能にするその他の特徴の内1つ以上を含む。このようなデバイスは、電力を供給するために、再充電可能なバッテリーを内蔵することが多い。
[0002] 再充電可能なバッテリーを有する移動体デバイスは、バッテリー寿命を十分な長寿を与えつつ豊富な体験を配信するときに一定の電圧(tension)を有して、移動中(例えば、バッテリー充電器に繋がれていない間)その価値を届けることを可能にする。移動体デバイスのユーザーは、通例、その移動体デバイスを彼らと共に持ち歩くことを望み、移動体デバイスを充電のために置いておかなければならないことを望まない。しかしながら、セキュリティ機能(例えば、ウィルス・スキャニング、バックアップ機能等)というような、一部の移動体デバイスの機能は、移動体デバイスの処理リソースを大いに使う可能性があり、したがって、バッテリー使用に関してはコストがかかる可能性がある。その結果、このようなデバイスの機能が移動体デバイスの可搬性を阻害する可能性がある。
[0003] この摘要は、詳細な説明の章において以下で更に説明する概念から選択したものを簡略化された形式で紹介するために、設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために使用されることを意図するのでもない。
[0004] 据置型(immobile)デバイスおよび移動体デバイスを含むバッテリー給電型デバイスにおいて、バッテリー電力を保存する方法、システム、およびコンピューター・プログラム製品を提供する。このようなデバイスにおいて、延期可能であると判断されたタスクを選択的に遅らせることによって、バッテリー電力を保存する。これらのタスクは、延期したタスクをサポートする充電イベントが生ずるまで、延期させられる。このような充電イベントが生じたときに、延期させたタスクを実行することを可能にする。このように、デバイスがバッテリー充電器に接続されていない間、バッテリー使用を減らして、デバイスの移動性を高めることを可能にする。
[0005] 方法の実現例の一例では、延期可能な1つ以上のタスクを、後の実行のために待ち行列に入れる。移動体デバイスのバッテリーの充電イベントの開始を、待ち行列処理の後に検出する。待ち行列に入れた延期可能なタスク(1つまたは複数)は、充電イベントの間にイネーブルされ、実行させられる。例えば、待ち行列に入れた延期可能なタスク(1つまたは複数)は、充電イベントが長時間の充電イベントであることが予測されたときに、実行されるようイネーブルすることができる。これは、移動体デバイスの充電プロファイルを参照することによって、または他の技法によって判断することができる。
[0006] システムの実現例の一例では、移動体デバイスにタスク・スケジューラーを設ける。このタスク・スケジューラーは、タスク待ち行列処理モジュール、充電モニター、および待ち行列イネーブラー・モジュールを含む。タスク待ち行列処理モジュールは、少なくとも1つの延期可能なタスクを後の実行のために待ち行列に入れるように構成されている。充電モニターは、延期可能なタスク(1つまたは複数)の待ち行列処理の後に、移動体デバイスのバッテリーに対する充電イベントの開始を検出するように構成されている。待ち行列イネーブラー・モジュールは、延期可能タスク(1つまたは複数)をこの充電イベントの間に実行されるようイネーブルするように構成されている。
[0007] また、本明細書では、バッテリー充電時間までタスクの実行を延期することによって、移動体デバイスのバッテリー電力を保存するためのコンピューター・プログラム製品についても記載し、本明細書において説明する更に他の実施形態についても説明する。
[0008] 本発明の更に他の特徴および利点、ならびに本発明の種々の実施形態の構造および動作について、添付図面を参照しながら以下で詳しく説明する。尚、本発明は、本明細書において説明する具体的な実施形態に限定されるのではないことを注記しておく。このような実施形態は、例示の目的に限って、本明細書において紹介されるに過ぎない。関連技術の当業者には、本明細書に含まれる教示に基づけば、追加の実施形態は明白であろう。
[0009] 添付図面は、本明細書に組み込まれその一部をなすものであり、本発明を図示し、明細書の記載と共に、本発明の原理を説明し、当業者が本発明を行うことおよび使用することを可能にする役割を果たす。
図1は、一実施形態例による移動体デバイス環境のブロック図を示す。 図2は、一実施形態例にしたがって、一層効率的なバッテリー使用のためにデバイス・タスクをスケジューリングするための移動体デバイスにおけるプロセスを表すフローチャートを示す。 図3は、一実施形態例によるタスク・スケジューラーのブロック図を示す。 図4は、一実施形態例によるデバイス動作ロジックのブロック図を示す。 図5は、一実施形態例にしたがって、充電イベントが、延期したタスクを実行するのに適しているか否か予測するプロセスを示す。 図6は、一実施形態例による、充電イベント・アナライザーを含む待ち行列イネーブラー・モジュールのブロック図を示す。 図7は、一実施形態例による、充電プロファイルを生成するように構成された待ち行列イネーブラー・モジュールのブロック図を示す。 図8は、一実施形態による、バッテリー充電プロファイルの一例を表すプロットを示す。 図9は、一実施形態例にしたがって、延期不可能なタスクを処理するプロセスを表すフローチャートを示す。 図10は、一実施形態例にしたがって、延期ステータスからタスクを取り除くプロセスを表すフローチャートを示す。 図11は、本発明の実施形態を実現するために使用することができるコンピューター例のブロック図を示す。
[0021] 以下に明らかにする詳細な説明を図面と合わせて検討することによって、本発明の特徴および利点が一層明白になるであろう。図面においては、同様の参照符合は、全体を通して対応する要素を特定する。図面において、同様の参照番号は全体的に同じ要素、機能的に同様の要素、および/または構造的に同様の要素を示す。要素が最初に出てくる図面は、対応する参照番号における一番左側の桁(1つまたは複数)によって示される。
1.導入部
[0022] 本明細書は、本発明の特徴を組み込んだ1つ以上の実施形態を開示する。開示される実施形態(1つまたは複数)は、単に本発明を例示するに過ぎない。本発明の範囲は、開示される実施形態(1つまたは複数)には限定されない。本発明は、本明細書に添付される特許請求の範囲によって定められるものとする。
[0023] 本明細書において、「一実施形態」、「実施形態」、「実施形態例」等に言及するときは、記載される実施形態が特定の特徴、構造、または特性を含むであろうが、あらゆる実施形態がその特定の特徴、構造、または特性を必ずしも含む訳ではないことを示す。更に、このような句は、必ずしも同じ実施形態に言及している訳ではない。更に、特定の特徴、構造、または特性が実施形態に関連付けて説明される場合、このような特徴、構造、または特性を他の実施形態と関連付けて実施することは、明示的に記載されているかいないかには係わらず、当業者の知識の範囲内のことであると思量する。
[0024] バッテリーを内蔵する移動体デバイス、およびバッテリーの電力を使用する据置型デバイスを含む、多くのタイプのバッテリー給電型デバイスが存在する。例えば、ハンドヘルド電子デバイスは、バッテリーを含むことができ、移動体の動作中にバッテリー電力を消費する(放電する)ことができ、静止時(移動していない)にバッテリーを再充電するために充電デバイスに結合することができる。これらおよび他のタイプのバッテリー給電型デバイスにおいて、バッテリー電力を消費している(放電している)間に行われる動作は、これらが消費するバッテリー電力に気付くことなく、ましてやその活動(activity)をどのように軽減するか知ることなく、実行されることが多い。例えば、ウィルス・スキャンおよび/またはソフトウェア更新は、これらが前景の活動に影響を及ぼすことがないときに実行されることが多いが、バッテリー寿命に対する影響を最小限に抑えるように構成されていない。その結果、デバイスのバッテリーは、使用中に消耗していく可能性があり、したがって、ユーザーがデバイスの充電器に結合したままにしておかなければならなくなる可能性がある。例の中には、ウィルス・スキャニングは、ウィルスの発生に対する応答に基づいて、要求に応じて、予定された時点等で実行されることもある。これらの活動は、通例、「探偵」(detective)であり、継続して実行する必要はない。このような動作は、貴重なバッテリー電力に影響を及ぼすことなく実行することもできる。
[0025] 実施形態では、移動体デバイスのようなバッテリー給電型デバイス、および他のタイプのバッテリー給電型デバイスにおいて、バッテリー電力を保存する技法を提供する。尚、本明細書では多くの場合移動体デバイスを参照して実施形態について説明するが、このような実施形態をこのように説明するのは、例示を目的にするためであり、移動体デバイスに限定することを意図するのではないことを注記しておく。また、実施形態は、他のタイプのバッテリー給電型デバイス(例えば、セキュリティ・システム、制御システム等)にも適用可能である。
[0026] 実施形態では、デバイスのバッテリーがバッテリー充電器に結合されるまで、デバイスの動作を延期することができ、デバイスが移動している間またはそれ以外で電源に結合されていない間、バッテリー電力を保存する。実施形態では、バッテリー給電型デバイスのバッテリー電力を保存するために、デバイスのAC/DCプロファイリング/使用を含む異なる要因を考慮することができ、デバイスの機能を犠牲にすることなく、デバイスが充電器の電力およびバッテリーの電力をしかるべく利用しているときができるだけ多く生ずるように、デバイスの機能(例えば、セキュリティ機能等)を最適化することができる。
[0027] 例えば、リアル・タイムでない、前向きでない(non-proactive)セキュリティ動作および/または他の動作は、専用/拡張充電イベント/サイクルの間に行うようにずらすことができ、更に、予想よりも早く充電器からデバイスが取り外された場合に、デバイスが充電されたことおよび「安全確保されている」ことの双方の確信を得ることができるように、更に後のこのような充電イベントの終了までずらすことができる。他の例では、ファイル、アプリケーション(例えば、「アプリ」)、および/またはインストーラーを移動体デバイスにダウンロードすることがあるが、アプリケーション/インストーラーの場合、直ちに実行しなくてもよい。ダウンロードの指示をキャッシュすることができ、ダウンロードされるファイル/アプリケーション/インストーラーを、充電時間中にスキャンすることができる。このように、移動体デバイスがバッテリー電力で動作している間にファイル/アプリケーション/インストーラーがインストールされても、任意に起こるスキャン・オン・インストール(scan-on-install)を回避することができる。
[0028] 実施形態では、バッテリー充電時間がいつ生ずるか、そしてバッテリー充電にどれ位の時間かかりそうか予測するために、種々の要因を使用することができ、他の場合ではバッテリー電力を垂れ流しにするセキュリティ動作および/または他の機能が行われるのにどれ位かかるかを考慮に入れる。したがって、セキュリティ動作および/または他の動作を開始させる時点を予測し、このような実行を開始するために利用することができる。
[0029] 実施形態では、デバイスの充電履歴を監視して、後続の充電イベントを予測することができる。履歴および/または他の要因は、延期した動作をイネーブルできる程に十分に長い充電イベントが行われているか否か予測するときに補助となるように、デバイスについて充電プロファイルを構成するために使用することができる。この充電プロファイルは、1つ以上の要因に基づいて決定することができ、その要因には、ユーザーによって手作業で入力されたプロファイル情報、行われつつある充電の履歴の静的および/または動的プロファイリング、カレンダー/スケジューリングへのアクセスおよび参照(移動体デバイスに、および/または離れて格納されている)、移動体デバイス充電中(mobile device on-charger)API/通知、バッテリー充電容量の知識、充電率、および/または移動体デバイスの他の「感応/感覚的」形態の使用が含まれる。
[0030] 例えば、1日の使用の後、次の日利用できるように、移動体デバイスが、ユーザーの寝台脇にある充電器、台所のカウンタ上にある充電器、または車庫のドアの鍵箱(key drop)の書き物机の充電器(bureau charger)に置かれることがある。電力を垂れ流すデバイス動作は、移動体デバイスが移動体デバイスを再充電している(そして、ユーザーが眠っている)ときに、実行されるようイネーブルすればよい。実施形態は、早番(夜間に充電することになるであろう)で働くユーザー、遅番(日中に充電することになるであろう)で働くユーザー、および/または任意の他の可能なユーザー・スケジュールを含む、任意のユーザー・スケジュールに適応可能であるとよい。
[0031] 尚、充電時間は、延期したタスクをイネーブルすることを可能にするには、十分でないこともあることを注記しておく。例えば、仕事場へ/から運転している間に自動車の充電器で移動体デバイスを充電している時間は、徹底的なデバイス・セキュリティ/保守動作を実行するには適した時間ではない場合がある。実施形態では、このような時間が、保守/セキュリティ活動のようなデバイス動作を実行するためには使用されないように、区別することができる。
[0032] 本発明の複数の実施形態例について、以下のように説明する。尚、本明細書において示される任意のセクション/サブセクションの表題は、限定であることを意図していないことを注記しておく。実施形態は本文書全体にわたって説明され、いずれのタイプの実施形態でも、いずれのセクション/サブセクションにも含まれ得る。
II.実施形態例
[0033] 実施形態は、移動体デバイスのような、バッテリー給電型デバイスのバッテリー電力を保存する技法を提供する。具体的には、実施形態は、延期可能なタスクを通常の使用中(例えば、移動体デバイスがバッテリー充電器に結合されておらず、したがって移動可能なとき)に実行するのではなく、デバイスが充電されるまで(例えば、バッテリー充電器に結合される)これらのタスクを延期することを可能にし、したがって電力リソースの利用を拡大することができる。このような実施形態は、バッテリー充電サイクルの間、デバイスをより長い時間使用することを可能にする。移動体デバイスにおいて実行される種々のタスクが延期可能であると見なすことができ、そのタスクには、セキュリティ動作、保守動作、ファイル・ダウンロード/インストール、そして他のタイプのタスクが含まれる。
[0034] このような実施形態は種々の環境において実現することができる。例えば、図1は、一実施形態例による移動体デバイス環境100のブロック図を示す。図1に示すように、環境100は、移動体デバイス102、サーバー104、および充電器106を含む。以下に、環境100について説明する。
[0035] 移動体デバイス102は、任意のタイプの移動体デバイスでよく、移動体コンピューターまたは計算デバイス(例えば、Palm(登録商標)デバイス、RIM Blackberry(登録商標)デバイス、パーソナル・ディジタル・アシスタント(PDA)、ラップトップ・コンピューター、ノートブック・コンピューター、タブレット・コンピューター(例えば、Apple社のiPad(商標)等)、ネットブック等)、移動体電話機(例えば、セル・フォン、Apple社のiPhoneのようなスマート・フォン、Google社のAndroid(商標)プラットフォームを組み込んだ電話機、Microsoft Windows Phone 7(登録商標)のようなMicrosoft社のオペレーティング・システムを組み込んだ電話機等)、または他のタイプの移動体デバイスを含む。移動体デバイス102は、1つ以上のプロセッサーおよび/または他の処理ロジック、タッチ・スクリーンを含むことができるディスプレイ、ワイヤレス通信機能、縮小サイズのキーボード、および/または移動体デバイス102を移動可能にする(例えば、人間のユーザーによって手に持っておよび/またはポケットに入れて携行する)ことを可能にする他の機構を含むことができる。サーバー104は、1つ以上のサーバーを含むこともでき、本明細書において記載する計算デバイスの内任意のタイプのもの、またそれ以外ではファイル122のようなファイルをサーブする既知のタイプのものでもよい。ファイル122は、データー・ファイル、ウェブ・ページ、アプリケーション等を含む、種々のタイプのファイルを含むことができる。
[0036] 移動体デバイス102およびサーバー104は、ネットワーク108によって通信可能に結合されている。ネットワーク108は、PAN(パーソナル・エリア・ネットワーク)、LAN(ローカル・エリア・ネットワーク)、WAN(ワイド・エリア・ネットワーク)、またはインターネットのようなネットワークの組み合わせというような、1つ以上の通信リンクおよび/または通信ネットワークを含むことができる。移動体デバイス102およびサーバー104は、種々のリンクを使用して、ネットワーク108に通信可能に結合することができ、種々のリンクには、IEEE802.11ワイヤレスLAN(WLAN)ワイヤレス・リンク、マイクロ波アクセス(Wi-MAX)用世界規模相互動作リンク、セルラ・ネットワーク・リンク、ワイヤレス・パーソナル・エリア・ネットワーク(PAN)リンク(例えば、Bluetooth(登録商標)リンク)、イーサネット(登録商標)・リンク、USBリンクというような、有線リンクおよび/またはワイヤレス・リンクが含まれる。
[0037] 充電器106は、移動体デバイス102のような移動体デバイスのバッテリーを充電するように構成されているバッテリー充電器である。充電器106は、図1に示すように、移動体デバイス102に対して外部であってよく、あるいは部分的または全体的に移動体デバイス102に対して内部であってもよい。充電器106は、電源(例えば、60Hz、120V交流(AC)電力等)に結合して電流を受けることができ、そして受けた電流を一定DC(直流)電圧の充電電流に変換することができる。図1に示すように、充電器106は、充電電流を移動体デバイス102に、充電ケーブル130を介して出力することができるが、実現例の中には、移動体デバイス102がコネクターを含み、仲介する充電ケーブルを使用せずに、直接充電器106に接続できるものもある。
[0038] 図1に示すように、移動体デバイス102は、デバイス動作ロジック114、タスク・スケジューラー116、少なくとも1つのバッテリー118、および任意の充電モジュール120を含む。デバイス動作ロジック114は、移動体デバイス102における1つ以上の動作を実行するロジックを含み、セキュリティ動作、保守動作、ファイル・ダウンロード/インストール、および更に他のタイプのタスク/動作が含まれる。デバイス動作ロジック114は、動作を実行するために種々の方法で実現することができ、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組み合わせを含む。例えば、デバイス動作ロジック114は、1つ以上のプロセッサーにおいて実行されるように構成されたコンピューター・プログラム・ロジックとして実現することができる。あるいは、デバイス動作ロジック114は、ハードウェア・ロジック/電子回路として実現することもできる。一実施形態では、デバイス動作ロジック114は、チップ上システム(SoC)として実現することもできる。SoCは、集積回路チップを含むことができ、この集積回路チップは、プロセッサー(例えば、マイクロコントローラー、マイクロプロセッサー、ディジタル信号プロセッサー(DSP)等)、メモリー、1つ以上の通信インターフェース、および/または更に他の回路および/またはその機能を実行するための埋め込みファームウェアの内1つ以上を含む。
[0039] バッテリー118は、再充電を可能にする材料で形成された1つ以上の再充電可能なバッテリーを含む。例えば、バッテリー118はニッケル・カドミウム(NiCd)またはニッケル金属混成(NiMH)バッテリーのようなニッケル系再充電可能バッテリー、リチウム・イオン(Li−イオン)またはリチウム・イオン・ポリマー(Li−イオン・ポリマー)バッテリーのようなリチウム系再充電可能バッテリー、あるいは他のタイプの再充電可能バッテリーを含むことができる。バッテリー118における電荷(charge)は、電気エネルギーの印加によって復元することができる。移動体デバイス102の移動動作の間、バッテリー118は電力を移動体デバイス102のコンポーネントに直流(DC)電圧を介して供給することができる。
[0040] 充電モジュール120は、任意に移動体デバイス102内に存在し、存在する場合には、充電器106とバッテリー118との間にインターフェースを設ける。あるいは、充電モジュール120は、充電器106の一部または全部を含むこともできる。図1に示すように、充電モジュール120は、充電ケーブル130(または他の接続)を介して充電器106に結合され、充電器106から充電電圧/電流を受けることができる。充電モジュール120は、規制および/または保護回路(例えば、過剰電流および/または過剰電圧保護、逆バイアス保護等)を含み、バッテリー118を保護することができ、および/または移動体デバイス102がバッテリー118と互換性がない電圧/電流を供給する電源に接続されることから保護することもできる。充電モジュール120が存在する場合、充電モジュール120は、充電ケーブル130(または他の接続)を介して充電器106から受けた充電電流に基づいて、充電電流128をバッテリー118に供給する。充電モジュール120が存在しない場合、充電器106は充電電流128を直接バッテリー118に供給することができる。
[0041] 図1に示すように、タスク・スケジューラー116は、充電モジュール120から充電指示126を受けることができる。充電モジュール120が存在しない場合、タスク・スケジューラー116は、充電指示を充電器106から受けることができる。充電指示126は、充電電流128がバッテリー118に供給されているか否かを示す信号であり、充電モジュール120または充電器106によって生成される。これによって、バッテリー118が充電されているか否か指示することができる。したがって、一実施形態では、充電指示126は、充電指示を与えるディジタル信号またはアナログ信号とすることができる。一実施形態では、充電モジュール120は、充電電流128に対して直列に抵抗器を含むことができる。充電電流128がバッテリー118に流れておりバッテリー118が充電されていることを示すときに、特定の電圧値が抵抗器の両端に存在することができ、この特定の電圧値を充電指示126によって示すことができる。他の実施形態では、充電指示126は、バッテリー118が充電電流128によって充電されているか否か、関連技術(1つまたは複数)における当業者には周知である他の方法で指示することができる。
[0042] タスク・スケジューラー116は、バッテリー118が充電されている時間期間中における動作のために、デバイス動作ロジック114の1つ以上のタスク/動作をスケジューリングするように構成されている。例えば、タスク・スケジューラー116は、移動体デバイス102のバッテリー118が充電器106によって充電されるまで延期可能なタスクを延期させることを可能にするように構成することができ、したがって、移動体デバイス102は、通常使用(例えば、移動体デバイス102が充電器106に結合されていないとき)の間にこれらのタスクを実行するのではなく、単なるバッテリー118よりも大きい電力リソースを利用することができる。
[0043] タスク・スケジューラー116は、タスク・イネーブル信号124を生成することができ、タスク・イネーブル信号124はデバイス動作ロジック114によって受け取られる。タスク・イネーブル信号124は、デバイス動作ロジック114の延期したタスクを実行するためにイネーブルすることができる。例えば、タスク・スケジューラー116は、充電指示126から、バッテリー118が充電されつつあり、その結果、タスク・イネーブル信号124を生成して、デバイス動作ロジック114によって延期された1つ以上のタスクを実行されるようイネーブルすることができる。このように、延期可能なタスクは、バッテリー118が充電されているときに実行され、これによって、バッテリー118が充電されていない時間中は、バッテリー・リソースを保存する。タスク・スケジューラー116は、適した充電イベントが検出されたときには直ちに、延期されているタスクをイネーブルするために、タスク・イネーブル信号124を生成することができ、あるいは充電イベントの遅い部分(例えば、充電指示126において指示できるような、バッテリー118が所望のレベルまで充電され終えるまで、または他のやり方で判定できるような)まで、延期されている動作をイネーブルするタスク・イネーブル信号124を生成するのを遅らせることもできる。
[0044] 実施形態では、タスク・スケジューラー116は、その機能を種々の方法で実行することができる。例えば、図2は、一実施形態例にしたがって、移動体デバイスにおいてバッテリー効率を高めるためのタスク・スケジューリング・プロセスを表すフローチャート200を示す。一実施形態では、フローチャート200は、図1のタスク・スケジューラー116によって実行することができる。以下に、図1の環境100を参照し、図3〜図8も参照しながら、フローチャート200について説明する。図3は、一実施形態例によるタスク・スケジューラー300のブロック図を示す。図3のタスク・スケジューラー300は、図1のタスク・スケジューラー116の一例である。図3に示すように、タスク・スケジューラー300は、タスク待ち行列処理モジュール302、充電モニター304、および待ち行列イネーブラー・モジュール306を含む。フローチャート200に関する以下の説明に基づくことにより、他の構造および動作に関する実施形態も、関連技術(1つまたは複数)の当業者には明白であろう。
[0045] フローチャート200は、ステップ202から開始する。ステップ202において、少なくとも1つの延期可能なタスクを、後の実行のために待ち行列に入れる。例えば、図1を参照すると、デバイス動作ロジック114に、移動体デバイス102のユーザーによって、タスクを実行することを要求されるのでもよく(例えば、移動体デバイス102のユーザー・インターフェースと対話処理しているユーザー)、または他の理由のためにタスクを実行するように構成されていてもよい(例えば、ファイルのダウンロードに応答して、所定の事項において等)。
[0046] 先に説明したように、デバイス動作ロジック114は、延期可能な種々のタスクを実行するように構成することができる。例えば、図4は、一実施形態例による、デバイス動作ロジック114のブロック図を示す。図4に示すように、デバイス動作ロジック114は、セキュリティ動作ロジック402、インストーラー404、および保守動作ロジック406を含む。セキュリティ動作ロジック402、インストーラー404、および保守動作ロジック406は、各々、以下で説明するように、移動体デバイス102のタスクを実行するように構成されている。セキュリティ動作ロジック402、インストーラー404、および保守動作ロジック406の各々は、延期可能なタスクを含むことができる。延期可能なタスクとは、これらを後に実行することによって移動体デバイス102の動作が阻害されることがないため、そして直ちに実行するように移動体デバイス102のユーザーによって要求されていないために、直ちに実行する必要がないタスクのことである。したがって、延期可能なタスクは、後の時点(タスク・スケジューラー300によって決定される)で実行してもよい。実施形態では、デバイス動作ロジック114は、延期可能なタスクを含むことができる、図4に示すこれらの特徴の1つ以上を含むことができ、および/または延期可能なタスクを含む更に他のまたは代わりの特徴を含むこともできる。
[0047] セキュリティ動作ロジック402は、移動体デバイス102のために1つ以上のセキュリティ関連動作を実行するロジックを含む。例えば、図4に示すように、セキュリティ動作ロジック402は、スキャニング・モジュール408、バックアップ・モジュール410、および/または構成管理モジュール412を含むことができる。スキャニング・モジュール408は、ウィルス・スキャニング・モジュールであり、移動体デバイス102にダウンロードされたファイル(例えば、図1におけるサーバー104からダウンロードされたファイル122)に対してウィルス・スキャニング・タスクを実行するように構成されている。市販されているスキャニング・モジュール408の例は、関連技術(1つまたは複数)の当業者には周知である。バックアップ・モジュール410は、移動体デバイス102のストレージ内にあるファイルに対して、リモートのストレージ(図1には示されていない)へのバックアップ・タスクを実行するように構成されている。市販されているバックアップ・モジュール410の例は、関連技術(1つまたは複数)の当業者には周知である。構成管理モジュール412は、移動体デバイス102に対して構成管理タスクを実行するように構成されている。市販されている構成管理モジュール412の例は、関連技術(1つまたは複数)の当業者には周知である。セキュリティ動作ロジック402の更に他のタスク例は、関連技術(1つまたは複数)の当業者には周知であろう。
[0048] 尚、実施形態において、スキャニング・モジュール408は、ファイルの全体スキャンを実行するように構成されてもよく、および/または「軽量」スキャンを実行するように構成されてもよいことを注記しておく。「軽量」スキャンでは、ファイルに対してウィルスのスキャンを完全には行わない。例えば、スキャニング・モジュール408は、ファイルに対して軽量スキャンを行って、スキャン結果を生成することができる。このスキャン結果は、ファイルのハッシュであってもよく、またはファイルがウィルスを含むか否かについて十分な確率(likelihood)で判定を行うために分析することができる他の結果でもよい。このスキャン結果は、分析のために、図1に示すサーバー104のようなリモートのサーバーに送信することができる。サーバーは、スキャン結果(例えば、ハッシュ結果等)を分析し、ファイルがウィルスを有する可能性があるか否か判定することができる。この分析は、関連技術(1つまたは複数)の当業者には周知のように、種々の方法で行うことができる。リモート・サーバーから、分析に基づいて、ファイルが悪質か否か示す指示を受け取ることができる。ファイルが悪質であることをリモート・サーバーが示す場合、スキャニング・モジュール408によって、このファイルを隔離する、削除する、またそれ以外で移動体デバイス102に危害を加えることを不可能にすることができる。ファイルが悪質でないことをリモート・サーバーが示す場合、ファイルに対して完全スキャン・タスクを実行することができる。完全スキャン・タスクは、本明細書において記載するような延期可能タスクとして、後に実行するために延期させることができる。
[0049] インストーラー404は、アプリケーション(例えば、コンピューター・プログラム)のインストール(および/または設定)を行うように構成されており、アプリケーションを実行することができるように、移動体デバイス102に対するドライバー、プラグイン等のインストールおよび/または設定を含むことができる。インストーラー404は、アプリケーションをダウンロードし(例えば、図1におけるサーバー104のようなサーバーから)、および/またはダウンロードしたアプリケーションを移動体デバイス102にインストールすることができる。また、インストーラー404は、既に移動体デバイス102にロードされているアプリケーションを更新するアプリケーション・アップデーターとして構成することもできる。例えば、インストーラー404は、アップデートをダウンロードし(例えば、サーバー104のようなサーバーから)、移動体デバイス102におけるアプリケーションに対するアップデートをインストールすることができる。市販されているインストーラー404の例は、関連技術(1つまたは複数)の当業者には周知である。
[0050] 保守動作ロジック406は、移動体デバイス102に対して1つ以上の保守関連動作を実行するロジックを含む。例えば、図4に示すように、保守動作ロジック406は、ディフラッガー(defragger)414を含むことができる。ディフラッガー414は、断片化修正モジュールであり、断片化を減らすために移動体デバイス102のファイル・システムに対して断片化修正(defragging)タスクを実行するように構成されている。市販されているディフラッガー414の例は、関連技術(1つまたは複数)の当業者には周知である。保守動作ロジック406の更に他のタスク例は、関連技術(1つまたは複数)の当業者には周知であろう。
[0051] 一実施形態では、ステップ202にしたがって、後の実行のために、1つ以上の延期可能なタスクを待ち行列に入れる。例えば、動作中に、デバイス動作ロジック114は、あるタスク(例えば、セキュリティ・タスク、インストール・タスク、保守タスク等)を実行することを決定することがある。例えば、1以上のファイルを移動体デバイス102にダウンロードするために、ファイル・ダウンロード・タスクを実行する(例えば、インストーラー404によって)ことが望まれるのでもよい。あるいは、ファイルが既に移動体デバイス102にダウンロードされている(例えば、図1のサーバー104から)のでもよく、セキュリティ動作ロジック402が、そのファイルに対してセキュリティ動作を実行するように構成することもでき、インストーラー404がそのファイルに関連するアプリケーションをインストールするように構成されている等でもよい。あるいは、バックアップ・モジュール410が、移動体デバイス102に対してバックアップ・タスクを実行するように構成されていてもよく、保守動作ロジック406が、構成管理タスクを実行するように構成されている等でもよい。したがって、図3に示すように、タスク待ち行列処理モジュール302は、デバイス動作ロジック114から、これらのタスクの内デバイス動作ロジック114が実行することを望まれる任意の1つ以上または他のタスクを示すタスク要求308を受けることができる。
[0052] タスク待ち行列処理モジュール302は、タスク実行要求308を評価して、示されたタスクを延期できるか否か判断するように構成されている。例えば、一実施形態では、タスク待ち行列処理モジュール302は、タスク実行要求308によって示されるタスクを、延期可能なタスクの所定のリスト(移動体デバイス102のストレージに格納されている)と比較することができ、示されたタスクが、延期可能なタスクの所定のリスト内におけるタスクと一致した場合、タスク待ち行列処理モジュール302は、示されたタスクを延期してもよいと判断することができる。例えば、タスク実行要求308は、示されたタスクに対するタスク識別子(タスクID)を含むことができ、延期可能なタスクの所定のリストは、羅列されている延期可能なタスクの各々に、タスク識別子を含むことができる。示されたタスクのタスク識別子が、延期可能なタスクのリストにおけるタスクの識別子と一致した場合、タスク待ち行列処理モジュール302は、示されたタスクを延期してもよいと判断することができる。一致が生じない場合、タスク待ち行列処理モジュール302は、示されたタスクは延期できないと判断する。
[0053] 更に、タスク待ち行列処理モジュール302は、移動体デバイス102のユーザーが、示されたタスクを直ちに実行することを要求しているか否か判断することもできる。このような場合、示されたタスクは延期可能ではない。例えば、ユーザーが移動体デバイス102のユーザー・インターフェース(例えば、キーボード、タッチ・スクリーン、音声始動制御等)と対話処理して、タスクを実行することを要求することがあり得る。ユーザーは、セキュリティ動作ツール・インターフェース、ブラウザーまたは他のファイル・ダウンロード/インストーラー・インターフェース、保守ツール・インターフェース、および/または移動体デバイス102によって提供される他のインターフェースと対話処理して、タスクを実行することを要求することができる。タスク要求308がタスク待ち行列処理モジュール302によって受け取られ、タスクを直ちに実行することをユーザーが指示したことが示されると、タスク待ち行列処理モジュール302は、示されたタスクは延期できないと判断することができる。タスク要求308が移動体デバイス102のユーザー・インターフェースから受け取られたが、タスクを直ちに実行することをユーザーが指示したことを示していない場合、タスク待ち行列処理モジュール302は、示されたタスクを延期してもよいと判断することができる。
[0054] 他の実施形態では、タスク待ち行列処理モジュール302は、他の方法で、タスクが延期可能か否か判断することもできる。例えば、タスク待ち行列処理モジュール302が、示されたタスクがセキュリティ動作ロジック402(例えば、スキャニング・モジュール408、バックアップ・モジュール410、構成管理モジュール412等)、インストーラー404、または保守動作ロジック406(例えば、ディフラッガー414)、あるいは他の指定動作またはタスクを呼び出すと判断した場合、タスク待ち行列処理モジュール302は、そのタスクが延期可能であると判断することができる。
[0055] タスクが延期可能であると判断された場合、タスク待ち行列処理モジュール302はそのタスクを延期タスク待ち行列(例えば、移動体デバイス102のストレージに格納されている)に追加する。この延期タスク待ち行列は、任意の数の待ち行列に入れた延期可能なタスクを含むことができる。図3に示すように、タスク待ち行列処理モジュール302は、タスク・イネーブル信号124を生成する。この信号は、図1のデバイス動作ロジック114によって受け取ることができる。タスクが延期可能ではないと判断された場合、タスク待ち行列処理モジュール302は、タスク・イネーブル信号124を生成して、デバイス動作ロジック114に、タスクがイネーブルされ、実行できることを示す。タスクが延期可能であると判断された場合、タスク待ち行列処理モジュール302は、タスク・イネーブル信号124を生成し、タスクはイネーブルされず、後にタスク待ち行列処理モジュール302によってイネーブルされるまで延期されることを、デバイス動作ロジック114に示す。
[0056] 再度図2を参照すると、フローチャート200のステップ204において、延期可能なタスク(1つまたは複数)を待ち行列に入れたのに続いて、移動体デバイスのバッテリーに対して、充電イベントの開始が検出される。例えば、図3に示すように、充電モニター304が充電指示126を受け取ることができる。充電指示126は、電荷がバッテリー118(図1)に印加されていることを示す。応答して、充電モニター304は充電イベント指示312を生成することができ、この充電イベント指示312は、待ち行列イネーブラー・モジュール306によって受け取られる。尚、一実施形態では、充電指示126によって充電電流の受電が示されたら直ちに、充電モニター304が充電イベント指示312を出力してもよいことを注記しておく。他の実施形態では、充電指示126が充電電流が受電されたことを所定の時間量だけ(例えば、数秒、数分の間等)示すまで、充電モニター304が充電イベント指示312を生成するのを遅らせることもできる。このように、比較的短い期間の充電イベントまたは間欠的な充電イベントは、充電モニター304によって排除される。更に他の実施形態では、充電モニター304が存在しなくてもよく、代わりに、待ち行列イネーブラー・モジュール306がステップ204を実行するのでもよい。このような実施形態では、待ち行列イネーブラー・モジュール306は、直接充電指示126を受け取ることもできる。
[0057] ステップ206において、待ち行列に入れた延期可能なタスク(1つまたは複数)がイネーブルされ、充電イベントの間に実行される。例えば、図3に示すように、待ち行列イネーブラー・モジュール306は、充電イベント指示312(または充電指示126)を受け取る。待ち行列イネーブラー・モジュール306は、タスク待ち行列処理モジュール302によって待ち行列に入れた延期可能なタスクをイネーブルし、充電イベント指示312によって示される充電イベントの間に実行するように構成されている。図3に示すように、待ち行列イネーブラー・モジュール306が延期タスク・イネーブル信号314を生成する。この延期タスク・イネーブル信号314は、タスク待ち行列処理モジュール302によって待ち行列に入れた延期可能なタスクをイネーブルしてもよいことを示す。タスク待ち行列処理モジュール302は、延期タスク・イネーブル信号314を受け取る。その結果、タスク待ち行列処理モジュール302は、タスク・イネーブル信号124を生成し、1つ以上の待ち行列に入れた遅延可能なタスクがイネーブルされることを、デバイス動作ロジック114に示す。複数の延期タスクが待ち行列に入れられている場合、タスク待ち行列処理モジュール302は、これらの待ち行列に入れられた延期可能なタスクを同時に、あるいは、タスクが待ち行列に追加された順序(例えば、先入れ先出し(FIFO))、後入れ先出し(LIFO)順序、最もリソースを使うタスクを最後に実行するかまたは最初に実行する順序、タスク自体によって指示される順序(例えば、インストール・タスクの前にクリーンアップ・タスクを実行する、スキャン・タスクの前に署名ダウンロード・タスクを実行する等)、または任意の他の順序というように、任意の順序で順次イネーブルすることができる。待ち行列に入れられた延期可能なタスクを実行されるようイネーブルした後、タスク待ち行列処理モジュール302は、イネーブルしたタスクを、延期タスク待ち行列から消去することができる。
[0058] 待ち行列イネーブラー・モジュール306は、充電イベント指示312(または充電指示126)に基づいて、待ち行列に入れられた延期可能タスクを実行されるようイネーブルするか否か、任意のやり方で判定することができる。例えば、待ち行列イネーブラー・モジュール306が、充電イベント指示312によって示される充電イベントが十分に長い期間の充電イベントであるので、延期されているタスクを実行する十分な時間があると判断した場合、待ち行列に入れられた延期タスクをイネーブルすることができる。長間充電イベントは、バッテリー118を充電器106に間欠的または短時間接続する間に行われる充電イベントよりも長い。例えば、長期充電イベントは、その充電イベントの間バッテリー118および充電器106を切断することなく、待ち行列に入れられた延期可能なタスクの内少なくとも1つを、その充電イベントの間に実行(perform/execute)することができる程度に十分に長い充電イベントとすることができる。
[0059] 一実施形態では、待ち行列イネーブラー・モジュール306は、図2のステップ206の間に、図5に示すステップ502を実行することができる。ステップ502では、移動体デバイスの充電プロファイルに基づいて、充電イベントが長期充電イベントであると予測される。例えば、図6は、一実施形態例による、充電イベント・アナライザー602を含む待ち行列イネーブラー・モジュール306のブロック図を示す。充電イベント・アナライザー602は、図5のステップ502を実行するように構成することができ、充電イベント指示312によって示される充電イベントが、長期充電イベントであり、待ち行列に入れられた延期タスクを実行できるか否か予測する。
[0060] 充電イベント・アナライザー602は、種々の方法で、ステップ502の予測を行うように構成することができる。例えば、図6に示すように、充電イベント・アナライザー602は、充電プロファイル・データー604を受け取ることができる。充電プロファイル・データー604は、移動体デバイス102(図1)のバッテリー118についての充電プロファイルを示すデーターを含む。例えば、充電プロファイル・データー604は、バッテリー118の充電履歴、ユーザーによる充電優先度(preference)の手作業による入力、および/または他の要因というような要因に基づいて生成することができる。充電イベント・アナライザー602は、充電プロファイル・データー604を分析して、特定の充電イベントが、十分に長期の充電イベントであり、待ち行列に入れられた延期タスクをその充電イベントの間に実行されるようイネーブルできるか否か予測することができる。
[0061] 充電プロファイル・データー604は、任意の形態のデーターを含むことができ、1分毎、1時間毎、1週間の各曜日、および/または任意の他の時間期間を含む種々の時間におけるバッテリー118の充電の確率を示すデーター構造(例えば、リスト、参照テーブル、データーのアレイ、データーベース等)の形態とすることを含む。
[0062] 充電プロファイル・データー604は、種々の方法で生成することができる。例えば、図7は、一実施形態例にしたがって、充電プロファイルを生成するように構成されている待ち行列イネーブラー・モジュール306のブロック図を示す。図7に示すように、待ち行列イネーブラー・モジュール306は、ストレージ702、任意のユーザー・インターフェース・モジュール704、および充電プロファイル・ジェネレーター706を含む。図7の待ち行列イネーブラー・モジュール306は、ストレージ702に格納されていることが示されている充電プロファイル・データー604を、種々のタイプの情報の内1つ以上に基づいて、生成することができる。種々のタイプの情報には、ユーザーによって入力された情報、移動体デバイスのパラメータ、移動体デバイスの1人以上のユーザーに関する情報、移動体デバイスのバッテリーの充電履歴、および/または他の情報が含まれる。尚、ストレージ702は、1つ以上のメモリー・デバイス、ハード・ディスク・ドライブ、および/または本明細書の他のところで説明したまたはそれ以外で周知の他のコンピューター記憶媒体を含んでもよいことを注記しておく。
[0063] ユーザー・インターフェース・モジュール704は、ユーザー・インターフェースを設けることができ、移動体デバイスのユーザーは、このユーザー・インターフェースにおいて、手作業で充電プロファイル情報を入力することができる。例えば、ユーザーは、充電が好ましい時間および/または日付け、ならびに充電が好ましくないまたは禁止される時間および/または日付けを入力することができる。ユーザー・インターフェース・モジュール704は、移動体デバイス102によって設けられた任意のタイプのユーザー・インターフェース・エレメントの内1つ以上から充電プロファイル情報を受け取ることができる。ユーザー・インターフェース・エレメントには、キーボード、サム・ホイール、ポインティング・デバイス、ローラー・ボール、スティック・ポインター、タッチ感応ディスプレイ、任意の数の仮想インターフェース・エレメント、音声認識システム等が含まれる。図7に示すように、ユーザー・インターフェース・モジュール704は、手作業で入力された充電プロファイル情報712を出力する。
[0064] また、待ち行列イネーブラー・モジュール306は、デバイス・データー708も受け取ることができる。デバイス・データー708は、移動体デバイス102のストレージ(例えば、ストレージ702)に格納することができる。デバイス・データー708は、移動体デバイス102および/またはバッテリー118についての情報を含むことができ、バッテリー118の充電容量、バッテリー118の充電率、バッテリー118の現在の充電レベル等のような、充電プロファイル・データー604を生成するために使用することができる。更に、デバイス・データー708は、GPS(汎地球測位システム)機能、マイクロフォン、光感応、動き、音声コールが行われているか否か、カレンダー・コンテンツ、および/または処理集約機能(例えば、データー同期)の使用というような、移動体デバイス102の他の感応/感覚形態も含むことができ、これらは、充電プロファイル・データー604を生成するために使用することができる。
[0065] また、待ち行列イネーブラー・モジュール306は、ユーザー・データー710も受け取ることができる。ユーザー・データー710は、移動体デバイス102のストレージ(例えば、ストレージ702)に格納することができ、または移動体デバイス102からリモートのデバイス(例えば、「クラウド」ベース・サーバー、ウェブサイト、ユーザー・アカウント等)から受信することもできる。ユーザー・データー710は、移動体デバイス102のユーザーについての情報を含むことができ、ユーザーのスケジュールを示すユーザーのカレンダー(例えば、ワシントン州、RedmondのMicrosoft社が提供するMicrosoft Office Outlook(登録商標)のようなカレンダー・ツール)のような、充電プロファイル・データー604を生成するために使用することができる。
[0066] また、待ち行列イネーブラー・モジュール306は、充電イベント指示312も受け取ることができる。充電イベント指示312は、前述のように、充電イベントが開始されたこと(例えば、バッテリー118が充電器106に結合された)および進行中であることを示す。図7に示すように、充電プロファイル・ジェネレーター706は、充電イベント指示312、デバイス・データー708、ユーザー・データー710、および手作業で入力された充電プロファイル情報712を受け取ることができる。好ましい実施形態に依存して、充電イベント指示312、デバイス・データー708、ユーザー・データー710、および手作業で入力された充電プロファイル情報712の内任意の1つ以上が受け取られればよい。充電プロファイル・ジェネレーター706は、充電イベント指示312、デバイス・データー708、ユーザー・データー710、および/または手作業で入力された充電プロファイル情報712を使用して、充電プロファイル・データー604を生成することができる。
[0067] 例えば、充電プロファイル・ジェネレーター706は、時間的に充電イベント指示312を監視して、バッテリー118が一貫して充電されている時間期間/日付けを判定することができる。同様に、充電プロファイル・ジェネレーター706は、時間的に充電イベント指示312を監視して、バッテリー118が充電されている可能性が低い時間期間/日付けを判定することもできる。充電プロファイル・ジェネレーター706は、種々の時間におけるバッテリー充電の頻度に基づく確率を含む充電プロファイル・データー604を生成することができる。充電プロファイル・ジェネレーター706は、バッテリー118の充電が高い確率で行われそうな時間/日付け(例えば、75%より高いまたは他の確率)を示すため、そしてバッテリー118の充電が低い確率で行われそうな時間/日付け(例えば、25%よりも低いまたは他の確率)を示すために、充電プロファイル・データー604を生成することができる。充電プロファイル・ジェネレーター706は、デバイス・データー708、ユーザー・データー710、および手作業で入力された充電プロファイル情報712の内1つ以上に基づいて、充電プロファイル・データー604を変更することができる。例えば、移動体デバイス102のユーザーが、生成された充電プロファイル・データーよりも手作業で入力された充電プロファイル・データーを優先することを望む場合、充電プロファイル・ジェネレーター706は、充電プロファイル・データー604を、手作業で入力された充電プロファイル情報712で変更することができ、充電プロファイル・データー604を完全に置き換えることも含む。充電プロファイル・ジェネレーター706は、バッテリー118の能力、および/または前述のデバイス・データー708またそうでなければ既知の他のデバイス・データー708に基づいて、充電プロファイル・データー604を変更することができる。更に、充電プロファイル・ジェネレーター706は、前述のユーザー・データー710またそうでなければ既知のユーザー・データー710に基づいて、充電プロファイル・データー604を変更することもできる。
[0068] その結果、1日の異なる時間における充電確率を、移動体デバイスについて判定することができる。例えば、図8は、一実施形態による、充電確率(Y軸)対時間(X軸)の関係のプロット802を示すグラフ800を示す。グラフ800は、例示の目的で図8に示されるに過ぎず、限定を意図するのではない。プロット802は、ユーザーの移動体デバイスの充電習慣に基づいて充電プロファイル・ジェネレーター706によって生成された充電プロファイル・データー604を視覚的に表すことができる。図8に示すように、プロット802は、特定の1日の間における異なる時点での充電確率を示す。尚、1週間の各曜日、1月の各日、1年の各日等について、所望に応じて、同様の充電プロファイル・データーを生成できることを注記しておく。
[0069] 図8の例では、プロット802は、ユーザーが午後10時頃から午前7時頃までの典型的な睡眠/夜間の時間帯に高い充電確率を有することを示す。これは、ユーザーが夜間のこの時間中に睡眠を取るときに、彼/彼女の移動体デバイスを充電器に結合するからであろう。遅番で働く他の人、または他の睡眠予定を有する他の人は、夜間の時間帯には低い充電確率を有するであろう。
[0070] 更に、プロット802は、ユーザーが午前7時頃から午後1時頃までは比較的低い充電確率を有することを示す。この時間期間における充電確率は、午前9時頃から午前9時半頃までに充電確率が比較的高くなることを除いて(0.8の確率)、ほぼ零である。午前9時頃から午前9時半頃までは、ユーザーが会社まで運転するときに、彼/彼女の移動体デバイスを車載充電器に結合することがある。プロット802は、ユーザーが、午後1時頃から午後3時頃までの午後の間、比較的低い充電確率(例えば、0.15)を有することを示す。例えば、ユーザーは、場合によっては、午後に彼/彼女の移動体デバイスを彼/彼女のコンピューター(例えば、USBベースの充電器)に結合することがある。更に、プロット802は、午後3時頃から午後10時頃までは、比較的低い充電確率を有することも示す。この時間期間における充電確率は、午後4時頃から午後4時半頃までを除いて(0.15の確率)、ほぼ零である。午後4時頃から午後4時半頃までは、ユーザーが会社から自宅まで運転するときに、場合によっては彼/彼女の移動体デバイスを車載充電器に結合することがある。
[0071] 一実施形態によれば、待ち行列イネーブラー・モジュール306は、充電イベント・アナライザー602(図6)によって、充電が長期充電イベントになると予測された場合、充電イベントの間に、待ち行列に入れられた延期可能なタスク(1つまたは複数)を実行されるようイネーブルする(図2のステップ206)。例えば、図8のプロット802によって表される充電プロファイルの例を参照すると、午後10時から午前7時または午後1時から午後3時の間に、充電イベントが発生し、充電イベント指示312によって示されると、充電イベント・アナライザー602は、この充電イベントが長期充電イベントになると予測することができる。何故なら、これらの時間期間における充電プロファイル確率が比較的高く、充電が行われる典型的な時間期間が、所定のしきい値(例えば、1時間よりも長い、または他の所定の時間しきい値)よりも長いと予測されるからである。このような場合、待ち行列イネーブラー・モジュール306は、延期タスク・イネーブル信号314を生成して、タスク待ち行列処理モジュール302によって待ち行列に入れられた延期可能なタスクをイネーブルできることを示すことができる。午後10時から午前7時および午後1時から午後3時の時間期間以外で、充電イベントが発生し、充電イベント指示312によって示された場合、充電イベント・アナライザー602は、この充電イベントが長期充電イベントではない(即ち、比較的短期間の充電イベントである)と予測することができる。何故なら、これらの時間期間における充電プロファイル確率は比較的低いからであり、および/または予測される充電時間期間が比較的短いからである。例えば、午前9時から午前9時半までは、バッテリー充電の確率が高いが、予測される時間期間(30分)は、待ち行列に入れられたタスクの実行を完了するには短すぎるであろう。このような場合、待ち行列イネーブラー・モジュール306は、延期タスク・イネーブル信号314を生成し、タスク待ち行列処理モジュール302によって待ち行列に入れられた延期可能なタスクをイネーブルできないことを示すことができる。
[0072] したがって、実施形態によれば、図1のタスク・スケジューラー116は、長期充電イベントが発生すると予測されるまで、延期可能タスクを延期させることができる。更に、先に説明したように、延期可能でないタスクは、タスク・スケジューラー116によって検出することができ、したがって、充電イベントを待つことなく、リアル・タイムで実行されるようイネーブルすればよい。
[0073] 例えば、図9は、一実施形態例にしたがって、延期不可能なタスクを処理するプロセスを表すフローチャート900を示す。一実施形態では、フローチャート900は、図1のタスク・スケジューラー116、図3のタスク・スケジューラー300、および/または他の実施形態によって実行することができる。更に他の構造および動作に関する実施形態も、フローチャート900に関する以下の論述に基づくことにより、関連技術(1つまたは複数)の当業者には明白であろう。
[0074] フローチャート900は、ステップ902から開始する。ステップ902において、特定のタスクを実行する要求を受けることができる。例えば、図3を参照すると、タスク待ち行列処理モジュール302は、デバイス動作ロジック114によってタスクを実行することが望まれることを示すタスク実行要求308を、デバイス動作ロジック114から受けることができる。
[0075] ステップ904において、そのタスクが延期可能でないと判定することができる。例えば、先に説明したように、タスク待ち行列処理モジュール302は、指示されたタスクを分析して、それが延期可能か否か判断することができる。一実施形態では、タスク待ち行列処理モジュール302は、示されたタスクを、延期可能なタスクの所定のリストと比較すること、および/または本明細書において説明した他の技法を実行して、示されたタスクを延期してもよいか否か判断することができる。示されたタスクが所定のリストにない場合、または他の延期可能タスク検査で不合格であった場合、タスク待ち行列処理モジュール302は、示されたタスクが延期可能でないと判断することができる。
[0076] ステップ906において、充電イベントの前に、特定のタスクを実行されるようイネーブルする。例えば、図3に示すように、タスク待ち行列処理モジュール302は、タスク・イネーブル信号124を生成することができる。このタスク・イネーブル信号124は、図1のデバイス動作ロジック114が受け取ることができる。タスクは延期可能でないと判断されたので、タスク待ち行列処理モジュール302は、タスク・イネーブル信号124を生成して、タスクをイネーブルし、リアル・タイムで実行すればよい(充電イベントを待つことなく)ことを、デバイス動作ロジック114に示す。
[0077] 尚、延期されたタスクは、早く(充電イベントの前に)実行する必要があると後に判断されることもあることを注記しておく。例えば、図10は、一実施形態例にしたがって、延期ステータスからタスクを取り除くプロセスを表すフローチャート1000を示す。一実施形態では、フローチャート1000は、図1のタスク・スケジューラー116、図3のタスク・スケジューラー300、および/または他の実施形態によって実行することができる。更に他の構造および動作に関する実施形態も、フローチャート1000に関する以下の論述に基づくことによって、関連技術(1つまたは複数)の当業者には明白であろう。
[0078] フローチャート1000は、ステップ1002から開始する。ステップ1002において、ファイルに関連する延期可能なタスクを、後の実行のために、待ち行列に入れる。例えば、フローチャート200のステップ202に関して先に説明したように、延期可能なタスクは、タスク待ち行列処理モジュール302によって、後の実行のために待ち行列に入れることができる。
[0079] ステップ1004において、このファイルに関する要求をユーザーから受ける。一実施形態では、ユーザーは、ステップ1002にしたがって後の実行のために待ち行列に入れたファイルに関する要求を行うこともできる。この要求は、図1のデバイス動作ロジック114から、タスク待ち行列処理モジュール302によって受けることができる。例えば、このファイルは、ユーザーが以前にダウンロードしたがまだインストールされていないアプリケーション(例えば、「アプリ」)の一部であってもよく、ユーザーはこのアプリケーションの起動または実行を要求しているのでもよい。このアプリケーションは、充電イベントの間にインストールされるために、延期タスクとして待ち行列に入れられているのでもよい。しかしながら、ユーザーは今アプリケーションを実行したいので、アプリケーションのインストールはもはや延期することができない。他の例では、そのファイルは以前にダウンロードされたのであるが、このファイルのスキャニングによって、延期可能なタスクとして待ち行列に入れたという場合もあり得る。ユーザーは今ファイルにアクセスしたいので、ファイルのスキャニングをもはや延期することはできない。更に他の例では、ファイルのダウンロードが、延期可能なタスクとして待ち行列に入れたという場合もある。ユーザーは、今ファイルにアクセスしたいので、ファイルのダウンロード(および任意のスキャニング)をもはや延期することはできない。
[0080] ステップ1006において、この要求を受けたことにより、この延期可能なタスクを待ち行列から取り除く。一実施形態では、タスク待ち行列処理モジュール302は、ステップ1004における要求に関係するファイルに関連するタスクを、延期タスク待ち行列から消去することができる。
[0081] ステップ1008において、このファイルに関する動作を、要求を受けた結果として実行する。一実施形態では、タスク待ち行列処理モジュール302は、タスク・イネーブル信号124を生成することができ、この信号124を図1のデバイス動作ロジック114が受け取ることができ、そのタスクをイネーブルし、リアル・タイムで(充電イベントを待つことなく)実行できることを、デバイス動作ロジック114に示すことができる。したがって、このファイルに関するユーザーの要求は、直ちに遂行することができる。一実施形態では、タスク・イネーブル信号124を自動的に生成することもできる。他の実施形態では、タスクを実行すべきか否か要求するユーザー・インターフェースを生成することもできる。ユーザーが、タスクを実行すべきことを示した場合、タスクをイネーブルすることをデバイス動作ロジック114に示すタスク・イネーブル信号124を生成することができる。ユーザーが、タスクを実行すべきでないことを示した場合、タスクをイネーブルすることをデバイス動作ロジック114に示すタスク・イネーブル信号124を生成しなければよく、任意に、ステップ1004のユーザーの要求を拒否することができる。このような場合、ステップ1006を実行しないのでもよい(例えば、延期可能タスクは待ち行列内に留まってもよい)。
[0082] 更に、場合によっては、延期されたタスクを充電中に実行することなく、デバイスの充電を進めることをユーザーが望むこともあり得ることを注記しておく。例えば、ユーザーは、延期されたタスクを実行するには、充電の時間長が短すぎるかもしれないということを知っている場合もあり、あるいはデバイスのバッテリーをできるだけ速く再充電することを望んでおり、したがってタスクが充電電流を垂れ流しにするのを望んでいないという場合もある。したがって、移動体デバイス102のユーザー・インターフェースは、充電イベントの間に、延期されたタスクをいつ実行するか、ユーザーに示すことができる。更に、ユーザー・インターフェースは、無視スイッチ(実在のまたは仮想の)または他のユーザー・インターフェース・エレメント(例えば、「延期タスク禁止?」クエリーまたは他のグラフィカル・ユーザー・インターフェースの表示されるエレメント)を設けることができ、ユーザーがこれと対話処理して、延期可能なタスクの内1つ以上が、移動体デバイス102のバッテリー118の充電中に行われることを禁止することができる。
III.計算デバイスの実施形態例
[0083] タスク・スケジューラー116、充電モジュール120、タスク・スケジューラー300、タスク待ち行列処理モジュール302、充電モニター304、待ち行列イネーブラー・モジュール306、充電イベント・アナライザー602、ユーザー・インターフェース・モジュール704、充電プロファイル・ジェネレーター706、ステップ502、ならびにフローチャート200、900、および1000は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組み合わせで実現することができる。例えば、タスク・スケジューラー116、充電モジュール120、タスク・スケジューラー300、タスク待ち行列処理モジュール302、充電モニター304、待ち行列イネーブラー・モジュール306、充電イベント・アナライザー602、ユーザー・インターフェース・モジュール704、充電プロファイル・ジェネレーター706、フローチャート200、ステップ502、フローチャート900、および/またはフローチャート1000は、1つ以上のプロセッサーにおいて実行されるように構成されたコンピューター・プログラム・コードとして実現することができる。あるいは、タスク・スケジューラー116、充電モジュール120、タスク・スケジューラー300、タスク待ち行列処理モジュール302、充電モニター304、待ち行列イネーブラー・モジュール306、充電イベント・アナライザー602、ユーザー・インターフェース・モジュール704、充電プロファイル・ジェネレーター706、フローチャート200、ステップ502、フローチャート900、および/またはフローチャート1000は、ハードウェア・ロジック/電子回路として実現することもできる。例えば、一実施形態では、タスク・スケジューラー116、充電モジュール120、タスク・スケジューラー300、タスク待ち行列処理モジュール302、充電モニター304、待ち行列イネーブラー・モジュール306、充電イベント・アナライザー602、ユーザー・インターフェース・モジュール704、充電プロファイル・ジェネレーター706、フローチャート200、ステップ502、フローチャート900、および/またはフローチャート1000は、チップ上システム(SoC)において実現することもできる。SoCは、プロセッサー(例えば、マイクロコントローラー、マイクロプロセッサー、ディジタル信号プロセッサー(DSP)等)、メモリー、1つ以上の通信インターフェース、および/またはそれ以外の回路および/またはその機能を実行するための埋め込みファームウェアの内1つ以上を含む集積回路チップを含むことができる。
[0084] 図11は、本発明の実施形態を実現することができるコンピューター1100の実現例を示す。例えば、移動体デバイス102は、コンピューター1100の1つ以上の特徴および/または代わりの特徴を含む、コンピューター1100と同様の移動体コンピューター・システム内に実現することができる。更に、サーバー104は、コンピューター1100と同様の1つ以上のコンピューター・システムにおいて実現することができる。コンピューター1100は、例えば、従来のパーソナル・コンピューター、移動体コンピューター、ワークステーションの形態とした汎用計算デバイスでもよく、あるいはコンピューター110は特殊目的計算デバイスでもよい。本明細書において示すコンピューター1100の説明は、例示の目的に限って提示されるのであって、限定であることは意図していない。本発明の実施形態は、関連技術(1つまたは複数)における当業者には周知のような、他のタイプのコンピューター・システムにおいても実現することができる。
[0085] 図11に示すように、コンピューターは、処理ユニット1102、システム・メモリー1104、およびシステム・メモリー1104を含む種々のシステム・コンポーネントを処理ユニット1102に結合するバス1106を含む。バス1106は、メモリー・バスまたはメモリー・コントローラー、周辺バス、加速グラフィクス・ポート、および種々のバス・アーキテクチャーの内任意のものを使用するプロセッサー・バスまたはローカル・バスを含む、種々のタイプのバス構造の内任意のものの1つ以上を表す。システム・メモリー1104は、リード・オンリー・メモリー(ROM)1108およびランダム・アクセス・メモリー(RAM)1110を含む。基本入力/出力システム1112(BIOS)がROM1108に格納されている。
[0086] また、コンピューター1100は、以下のドライブの内1つ以上も有する。ハード・ディスクから読み取るおよびハード・ディスクに書き込むためのハード・ディスク・ドライブ1114、リムーバブル磁気ディスク1118から読み取るまたはリムーバブル磁気ディスク1118に書き込むための磁気ディスク・ドライブ1116、ならびにCD ROM、DVD ROM、または他の光媒体のようなリムーバブル光ディスク1122から読み取るおよびリムーバブル光ディスク1122に書き込むための光ディスク・ドライブ1120。ハード・ディスク・ドライブ1114、磁気ディスク・ドライブ1116、および光ディスク・ドライブ1120は、それぞれ、ハード・ディスク・ドライブ・インターフェース1124、磁気ディスク・ドライブ・インターフェース1126、および光ドライブ・インターフェース1128によって、バス1106に接続されている。これらのドライブおよびこれらに関連するコンピューター読み取り可能媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、およびコンピューターのためのその他のデーターの不揮発性ストレージを設ける。ハード・ディスク、リムーバブル磁気ディスク、およびリムーバブル光ディスクについて説明したが、フラッシュ・メモリー・カード、ディジタル・ビデオ・ディスク、ランダム・アクセス・メモリー(RAM)、リード・オンリー・メモリー(ROM)等のような、他のタイプのコンピューター読み取り可能記憶媒体も、データーを格納するために使用することができる。
[0087] ハード・ディスク、磁気ディスク、光ディスク、ROM、またはRAM上には多数のプログラム・モジュールを格納することができる。これらのプログラムは、オペレーティング・システム1130、1つ以上のアプリケーション・プログラム1132、その他のプログラム・モジュール1134、およびプログラム・データー1136を含む。アプリケーション・プログラム1132またはプログラム・モジュール1134は、例えば、タスク・スケジューラー116、充電モジュール120、タスク・スケジューラー300、タスク待ち行列処理モジュール302、充電モニター304、待ち行列イネーブラー・モジュール306、充電イベント・アナライザー602、ユーザー・インターフェース・モジュール704、充電プロファイル・ジェネレーター706、フローチャート200、ステップ502、フローチャート900、および/またはフローチャート1000(フローチャート200、900、および100の任意のステップを含む)、および/または本明細書において説明した更に他の実施形態を実現するためのコンピューター・プログラム・ロジックを含むことができる。
[0088] ユーザーは、キーボード1138およびポインティング・デバイス1140のような入力デバイスを通じて、コマンドおよび情報をコンピューター1100に入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー等が含まれる。これらおよびその他の入力デバイスは、多くの場合、バス1106に結合されているシリアル・ポート・インターフェース1142を介して処理ユニット1102に接続されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス(USB)のような他のインターフェースによって接続してもよい。
[0089] ディスプレイ・デバイス1144も、ビデオ・アダプター1146のようなインターフェースを介してバス1106に接続されている。モニターに加えて、コンピューター1100は、スピーカーおよびプリンターのような、他の周辺出力デバイス(図示せず)も含むことができる。
[0090] コンピューター1100は、アダプターまたはネットワーク・インターフェース1150、モデム1152、あるいはネットワークを通じて通信を作るその他の手段を介して、ネットワーク1148(例えば、インターネット)に接続されている。モデム1152は、内蔵型でも外付け型でもよく、シリアル・ポート・インターフェース1142を介してバス1106に接続されている。
[0091] 本明細書において使用する場合、「コンピューター・プログラム媒体」、「コンピューター読み取り可能媒体」、および「コンピューター読み取り可能記憶媒体」という用語は、一般に、ハード・ディスク・ドライブ1114に関連するハード・ディスク、リムーバブル磁気ディスク1118、リムーバブル光ディスク1122、更には、フラッシュ・メモリー・カード、ディジタル・ビデオ・ディスク、ランダム・アクセス・メモリー(RAM)、リード・オンリー・メモリー(ROM)等のような媒体を指す。このようなコンピューター読み取り可能記憶媒体は、通信媒体と区別され、通信媒体とは重複しない。通信媒体は、通例、搬送波のような変調データー信号内に、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、またはその他のデーターを具体化する。「変調データー信号」という用語は、信号内に情報をエンコードするように、その特性の1つ以上が設定または変更された信号を意味する。一例として、そして限定ではなく、通信媒体は、音響、RF、赤外線、およびその他のワイヤレス媒体というような、ワイヤレス媒体を含む。また、実施形態はこのような通信媒体も対象とする。
[0092] 先に注記したように、コンピューター・プログラムおよびモジュール(アプリケーション・プログラム1132および他のプログラム・モジュール1134を含む)は、ハード・ディスク、磁気ディスク、光ディスク、ROM、またはRAMに格納することができる。このようなコンピューター・プログラムは、ネットワーク・インターフェース1150またはシリアル・ポート・インターフェース1142を介して受信することもできる。このようなコンピューター・プログラムは、アプリケーションによって実行またはロードされると、コンピューター1100が、本明細書において論じた本発明の実施形態の特徴を実現することを可能にする。したがって、このようなコンピューター・プログラムは、コンピューター1100のコントローラーを表す。
[0093] また、本発明は、いずれかのコンピューター使用可能媒体上に格納されているソフトウェアを備えているコンピューター・プログラム製品も対象とする。このようなソフトウェアは、1つ以上のデーター処理デバイスにおいて実行すると、データー処理デバイス(1つまたは複数)に本明細書で記載したように動作させる。本発明の実施形態は、現在知られているまたは今後知られることになる、いずれのコンピューター使用可能媒体またはコンピューター読み取り可能記憶でも採用する。コンピューター読み取り可能媒体の例には、RAM、ハード・ドライブ、フロッピ・ディスク、CD ROM、DVD ROM、Zipディスク、テープ、磁気記憶デバイス、光記憶デバイス、MEM、ナノテクノロジーに基づく記憶デバイス等のような記憶デバイスを含むが、これらに限定されるのではない。
VI.結論
[0094] 以上、本発明の種々の実施形態について説明したが、これらは一例として紹介したに過ぎず、限定ではないことは言うまでもない。関連技術(1つまたは複数)の当業者には、添付する特許請求の範囲に定められる本発明の主旨および範囲から逸脱することなく、形態および詳細において種々の変更も可能であることは理解されよう。したがって、本発明の広さ(breadth)および範囲は、以上で説明した実施形態例のいずれによっても限定されはせず、以下の特許請求の範囲およびその均等物のみにしたがって定められることとする。

Claims (16)

  1. デバイスにおける方法であって、
    少なくとも1つの延期可能なタスクを、後の実行のために待ち行列に入れるステップと、
    前記待ち行列に入れた後において、前記デバイスのバッテリーに対する充電イベントの開始を検出するステップと、
    前記充電イベントの間に、前記待ち行列に入れた少なくとも1つの延期可能なタスクを実行されるようイネーブルするステップと、
    を含む、方法。
  2. 請求項1記載の方法において、前記デバイスについての充電プロファイルに基づいて、前記充電イベントが長期充電イベントであることを予測するステップと、
    前記予測の結果として、前記実行をイネーブルするステップと、
    を含む、方法。
  3. 請求項2記載の方法において、前記予測するステップが、
    前記充電イベントが、所定のしきい値よりも長い期間を有することを予測するステップを含む、方法。
  4. 請求項2記載の方法であって、更に、
    前記デバイスのバッテリーの充電を時間的に監視するステップと、
    前記監視に基づいて、前記充電プロファイルを生成するステップと、
    を含む、方法。
  5. 請求項2記載の方法であって、更に、
    前記デバイスのユーザーが、前記充電プロファイルを手作業で構成することを可能にするステップを含む、方法。
  6. 請求項1記載の方法であって、更に、
    特定のタスクを実行する要求を受けるステップと、
    前記特定のタスクが延期可能でないことを判断するステップと、
    前記充電イベントの前に、前記特定のタスクを実行されるようイネーブルするステップと、
    を含む、方法。
  7. 請求項1記載の方法であって、更に、
    ファイルに関連する延期可能なタスクを、後の実行のために待ち行列に入れるステップと、
    前記ファイルに関係するユーザーから要求を受けるステップと、
    前記要求を受けたことにより、前記延期可能なタスクを前記待ち行列から取り除くステップと、
    前記要求を受けた結果、前記ファイルに関する動作を実行するステップと、
    を含む、方法。
  8. 請求項1記載の方法であって、更に、
    スキャン結果を生成するために、ファイルに対し軽量スキャンを実行するステップと、
    前記スキャン結果をリモートのサーバーに送信するステップと、
    前記リモート・サーバーから、前記ファイルが悪質であるか否かの指示を受け取るステップと、
    前記ファイルが悪質でないことが示された場合、前記ファイルに関連する完全スキャン・タスクを待ち行列に入れるステップと、
    を含む、方法。
  9. 請求項1記載の方法において、前記少なくとも1つの延期可能なタスクが、ファイル・ダウンロード・タスク、ウィルス・スキャン・タスク、バックアップ・タスクまたは構成管理タスクの内少なくとも1つを含む、方法。
  10. コンピューター・プログラム・ロジックが記録されているコンピューター読み取り可能媒体を含むコンピューター・プログラム製品であって、
    プロセッサーが、請求項1から9までのいずれか1項の方法を実行することを可能にするコンピューター・プログラム・ロジック手段を含む、コンピューター・プログラム製品。
  11. 移動体デバイスにおけるタスク・スケジューラーであって、このタスク・スケジューラーが、移動動作の間前記移動体デバイスのバッテリー電力の保存を可能とし、
    少なくとも1つのタスクが延期可能であると判断し、後の実行のために、前記少なくとも1つの延期可能なタスクを待ち行列に入れるように構成されたタスク待ち行列処理モジュールと、
    前記少なくとも1つの延期可能なタスクを待ち行列に入れた後に、前記移動体デバイスのバッテリーに対する充電イベントの開始を検出するように構成された充電モニターと、
    前記充電イベントが長期充電イベントであることが予測された場合、前記充電イベントの間に前記少なくとも1つの延期可能なタスクを実行されるようイネーブルするように構成された待ち行列イネーブラー・モジュールと、
    を含む、タスク・スケジューラー。
  12. 請求項10記載のタスク・スケジューラーにおいて、前記待ち行列イネーブラー・モジュールが、
    前記移動体デバイスについての充電プロファイルに基づいて、前記充電イベントが長期充電イベントであると予測するように構成された充電イベント・アナライザーを含み、
    前記待ち行列イネーブラー・モジュールが、前記予測の結果、前記充電イベントの間に、前記待ち行列に入れた少なくとも1つの延期可能なタスクを実行されるようイネーブルするように構成された、タスク・スケジューラー。
  13. 請求項11記載のタスク・スケジューラーにおいて、前記充電イベント・アナライザーが、前記充電イベントが長期充電イベントであるか否か予測するために、前記充電イベントが所定のしきい値よりも長い期間を有するか否か判断するように構成された、タスク・スケジューラー。
  14. 請求項11記載のタスク・スケジューラーにおいて、前記待ち行列イネーブラー・モジュールが、充電履歴データーを生成するため、および前記充電履歴データーに基づいて前記充電プロファイルを生成するために、前記バッテリーの充電を時間的に監視するように構成された、タスク・スケジューラー。
  15. 請求項11記載のタスク・スケジューラーであって、更に、
    前記移動体デバイスのユーザーが、前記充電プロファイルを手作業で構成することを可能にするように構成されたユーザー・インターフェース・モジュールを含む、タスク・スケジューラー。
  16. 請求項10記載のタスク・スケジューラーにおいて、前記タスク待ち行列処理モジュールが、特定のタスクを実行する要求を受け、前記特定のタスクが延期可能ではないか否か判断し、前記特定のタスクが延期可能ではないと判断された場合、充電電流を受ける前に、前記待ち行列イネーブラー・モジュールが、前記特定のタスクを実行されるようイネーブルする、タスク・スケジューラー。
JP2014515875A 2011-06-16 2012-06-06 移動体デバイス動作のバッテリー最適化 Active JP6126085B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/162,133 2011-06-16
US13/162,133 US9152202B2 (en) 2011-06-16 2011-06-16 Mobile device operations with battery optimization
PCT/US2012/041035 WO2012173843A2 (en) 2011-06-16 2012-06-06 Mobile device operations with battery optimization

Publications (3)

Publication Number Publication Date
JP2014523224A true JP2014523224A (ja) 2014-09-08
JP2014523224A5 JP2014523224A5 (ja) 2015-07-23
JP6126085B2 JP6126085B2 (ja) 2017-05-10

Family

ID=47354883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014515875A Active JP6126085B2 (ja) 2011-06-16 2012-06-06 移動体デバイス動作のバッテリー最適化

Country Status (12)

Country Link
US (1) US9152202B2 (ja)
EP (1) EP2721460B1 (ja)
JP (1) JP6126085B2 (ja)
KR (1) KR101933735B1 (ja)
CN (1) CN103597423B (ja)
AU (1) AU2012271103B2 (ja)
BR (1) BR112013031986B1 (ja)
CA (1) CA2838397C (ja)
MX (1) MX2013014794A (ja)
RU (1) RU2609136C2 (ja)
TW (1) TWI553559B (ja)
WO (1) WO2012173843A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019207593A (ja) * 2018-05-30 2019-12-05 住友電気工業株式会社 スキャン処理装置、スキャン処理方法、コンピュータプログラムおよびスキャン処理システム

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US20130103960A1 (en) * 2011-10-24 2013-04-25 Motorola Mobility, Inc. Method and device with intelligent power management
EP2798428B1 (en) * 2011-12-30 2018-09-12 Intel Corporation Apparatus and method for managing operation of a mobile device
CN104487912B (zh) * 2012-03-08 2017-10-31 惠普发展公司,有限责任合伙企业 在一组个人移动设备间虚拟化电池
US20140082384A1 (en) * 2012-09-20 2014-03-20 Apple Inc. Inferring user intent from battery usage level and charging trends
US9781223B2 (en) * 2012-12-28 2017-10-03 Facebook, Inc. Conserving battery and data usage
US9396088B2 (en) * 2013-03-08 2016-07-19 Sap Se Computer execution progress indicator
US9460405B2 (en) * 2013-10-03 2016-10-04 Paypal, Inc. Systems and methods for cloud data loss prevention integration
TW201516635A (zh) * 2013-10-18 2015-05-01 Qisda Corp 充電方法及行動電子裝置
US20150123595A1 (en) * 2013-11-04 2015-05-07 Xiam Technologies Limited Intelligent context based battery charging
US20150192440A1 (en) * 2014-01-07 2015-07-09 InvenSense, Incorporated Systems and Methods for Initiating Calibration of a Sensor
US20150268991A1 (en) * 2014-03-19 2015-09-24 Motorola Mobility Llc Method and apparatus for managing the scheduling of unscheduled events
CN103885364B (zh) * 2014-03-24 2016-09-28 三和智控(北京)系统集成有限公司 一种通过计划队列实现控制逻辑的动态延时调用的方法
KR101720841B1 (ko) 2014-10-24 2017-03-28 주식회사 엘지화학 배터리 관리 시스템의 태스크 스케쥴러 오작동 검출 장치 및 방법
US9696782B2 (en) 2015-02-09 2017-07-04 Microsoft Technology Licensing, Llc Battery parameter-based power management for suppressing power spikes
US10158148B2 (en) 2015-02-18 2018-12-18 Microsoft Technology Licensing, Llc Dynamically changing internal state of a battery
US9748765B2 (en) 2015-02-26 2017-08-29 Microsoft Technology Licensing, Llc Load allocation for multi-battery devices
CN106302965B (zh) * 2015-05-29 2020-03-17 北京智谷睿拓技术服务有限公司 充电机会信息确定方法和设备
US9942854B2 (en) 2015-06-05 2018-04-10 Apple Inc. Adaptive sleep delay
US9939862B2 (en) 2015-11-13 2018-04-10 Microsoft Technology Licensing, Llc Latency-based energy storage device selection
US10061366B2 (en) 2015-11-17 2018-08-28 Microsoft Technology Licensing, Llc Schedule-based energy storage device selection
US9793570B2 (en) 2015-12-04 2017-10-17 Microsoft Technology Licensing, Llc Shared electrode battery
US10705583B2 (en) 2016-02-05 2020-07-07 International Business Machines Corporation Management of finite electrical cells
US10283985B2 (en) * 2016-05-25 2019-05-07 Lenovo (Singapore) Pte. Ltd. Systems and methods to determine time at which battery is to be charged
WO2017206107A1 (zh) 2016-06-01 2017-12-07 华为技术有限公司 一种充电的方法及终端
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10903665B2 (en) 2016-11-01 2021-01-26 Microsoft Technology Licensing, Llc Usage data based battery charge or discharge time determination
US11656666B2 (en) 2016-11-16 2023-05-23 Microsoft Technology Licensing, Llc Dynamic power source selection, charging, and discharging
US10488905B2 (en) 2016-11-16 2019-11-26 Microsoft Technology Licensing, Llc Dynamic energy storage device discharging
US10725529B2 (en) 2017-06-26 2020-07-28 Microsoft Technology Licensing, Llc Target based power management
US10882411B2 (en) * 2018-01-18 2021-01-05 Ford Global Technologies, Llc Smart charging schedules for battery systems and associated methods for electrified vehicles
US11152810B2 (en) * 2018-05-21 2021-10-19 Sling Media Pvt. Ltd. Rule based smart charging
EP3618403A1 (en) 2018-08-31 2020-03-04 Siemens Aktiengesellschaft Method and system for managing operation associated with an object on iot enabled devices
CN110941320A (zh) * 2018-09-25 2020-03-31 华为技术有限公司 一种基于用户习惯的电量控制方法及终端
WO2021050079A1 (en) * 2019-09-13 2021-03-18 Hewlett-Packard Development Company, L.P. Power supply cut-off in standby mode
US20210336464A1 (en) * 2020-04-28 2021-10-28 Intel Corporation Inference based fast charging
US11865944B2 (en) * 2020-05-29 2024-01-09 Deltran Operations Usa, Inc. Battery management system for batteries in engine start and deep cycle applications
KR20220132190A (ko) * 2021-03-23 2022-09-30 삼성전자주식회사 배터리의 열화를 방지하는 충전 방법 및 그 방법을 적용한 전자 장치
EP4338076A1 (en) * 2021-05-11 2024-03-20 B.G. Negev Technologies and Applications Ltd., at Ben-Gurion University A computerized charging/interface device with malware detection and backup capabilities
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization
CN114030370A (zh) * 2021-11-30 2022-02-11 联想(北京)信息技术有限公司 一种充电设备、充电控制方法及装置
CN115902490B (zh) * 2022-12-13 2023-09-29 珠海智融科技股份有限公司 充电设备的检测方法、装置、电子设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005521336A (ja) * 2002-03-25 2005-07-14 ノキア コーポレイション 移動端末においてタスクを経時的に分配する方法、デバイスおよびプロセス
JP2007124867A (ja) * 2005-10-31 2007-05-17 Mitsumi Electric Co Ltd 電池保護装置及び電池保護回路
JP2008257578A (ja) * 2007-04-06 2008-10-23 Toshiba Corp 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
WO2010006109A2 (en) * 2008-07-10 2010-01-14 Apple Inc. Intelligent power monitoring
JP2010104114A (ja) * 2008-10-22 2010-05-06 Toyota Motor Corp 車両の制御装置および車両
WO2011018959A1 (ja) * 2009-08-11 2011-02-17 ソニー株式会社 電子機器、電子機器の充電方法、プログラム、充電制御装置、及び充電制御方法
US20110099402A1 (en) * 2009-10-28 2011-04-28 Shayan Zhang Method and apparatus for activiating system components

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363419B1 (en) 1999-04-05 2002-03-26 Openwave Systems Inc. Method and apparatus for generating idle loop screen displays on mobile wireless computing devices
US7522964B2 (en) 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7890741B2 (en) 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7564810B2 (en) * 2002-05-08 2009-07-21 Microsoft Corporation Method and system for managing power consumption of a network interface module in a wireless computing device
US7359713B1 (en) 2003-02-28 2008-04-15 Trimble Navigation Limited Battery consumption optimization for mobile users
US8544096B2 (en) 2003-12-30 2013-09-24 Emc Corporation On-access and on-demand distributed virus scanning
US7541776B2 (en) * 2004-12-10 2009-06-02 Apple Inc. Method and system for operating a portable electronic device in a power-limited manner
US7583984B2 (en) * 2005-08-12 2009-09-01 Lg Electronics Inc. Method of providing notification for battery power conservation in a wireless system
US7769416B2 (en) 2006-09-28 2010-08-03 At&T Intellectual Property Ii, L.P. Energy-efficient design of a multimedia messaging system for mobile devices
US7590472B2 (en) 2006-11-09 2009-09-15 Gridpoint, Inc. Energy arbitrage by load shifting
WO2008093278A1 (en) 2007-02-01 2008-08-07 Nxp B.V. Control of awake time in mobile device
US7430675B2 (en) * 2007-02-16 2008-09-30 Apple Inc. Anticipatory power management for battery-powered electronic device
EP2147359A2 (en) 2007-05-09 2010-01-27 Gridpoint, Inc. Method and system for scheduling the discharge of distributed power storage devices and for levelizing dispatch participation
US20090164810A1 (en) * 2007-12-21 2009-06-25 Nokia Corporation Methods, apparatuses, and computer program products for managing power usage in mobile devices
US20090300616A1 (en) 2008-05-30 2009-12-03 Abbott Diabetes Care, Inc. Automated task execution for an analyte monitoring system
US8224596B2 (en) 2008-09-09 2012-07-17 International Business Machines Corporation Portable device battery optimization routing system
US20100257529A1 (en) 2009-04-06 2010-10-07 Christopher Wilkerson Efficient systems and methods for consuming and providing power
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US8316046B2 (en) * 2010-04-07 2012-11-20 Apple Inc. Journaling on mobile devices
US9014749B2 (en) * 2010-08-12 2015-04-21 Qualcomm Incorporated System and method to initiate a housekeeping operation at a mobile device
US20120210150A1 (en) * 2011-02-10 2012-08-16 Alcatel-Lucent Usa Inc. Method And Apparatus Of Smart Power Management For Mobile Communication Terminals

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005521336A (ja) * 2002-03-25 2005-07-14 ノキア コーポレイション 移動端末においてタスクを経時的に分配する方法、デバイスおよびプロセス
JP2007124867A (ja) * 2005-10-31 2007-05-17 Mitsumi Electric Co Ltd 電池保護装置及び電池保護回路
JP2008257578A (ja) * 2007-04-06 2008-10-23 Toshiba Corp 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
WO2010006109A2 (en) * 2008-07-10 2010-01-14 Apple Inc. Intelligent power monitoring
JP2010104114A (ja) * 2008-10-22 2010-05-06 Toyota Motor Corp 車両の制御装置および車両
WO2011018959A1 (ja) * 2009-08-11 2011-02-17 ソニー株式会社 電子機器、電子機器の充電方法、プログラム、充電制御装置、及び充電制御方法
US20110099402A1 (en) * 2009-10-28 2011-04-28 Shayan Zhang Method and apparatus for activiating system components

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019207593A (ja) * 2018-05-30 2019-12-05 住友電気工業株式会社 スキャン処理装置、スキャン処理方法、コンピュータプログラムおよびスキャン処理システム
JP7110733B2 (ja) 2018-05-30 2022-08-02 住友電気工業株式会社 スキャン処理装置

Also Published As

Publication number Publication date
EP2721460B1 (en) 2019-03-20
BR112013031986B1 (pt) 2021-03-30
CN103597423A (zh) 2014-02-19
WO2012173843A2 (en) 2012-12-20
US20120324578A1 (en) 2012-12-20
RU2609136C2 (ru) 2017-01-30
BR112013031986A2 (pt) 2016-12-20
CA2838397A1 (en) 2012-12-20
MX2013014794A (es) 2014-01-24
BR112013031986A8 (pt) 2018-02-06
RU2013155599A (ru) 2015-06-20
CN103597423B (zh) 2016-09-14
CA2838397C (en) 2022-02-15
TWI553559B (zh) 2016-10-11
EP2721460A2 (en) 2014-04-23
JP6126085B2 (ja) 2017-05-10
TW201303737A (zh) 2013-01-16
KR20140045405A (ko) 2014-04-16
WO2012173843A3 (en) 2013-04-11
AU2012271103B2 (en) 2017-01-19
US9152202B2 (en) 2015-10-06
KR101933735B1 (ko) 2018-12-28
EP2721460A4 (en) 2015-08-12

Similar Documents

Publication Publication Date Title
JP6126085B2 (ja) 移動体デバイス動作のバッテリー最適化
AU2012271103A1 (en) Mobile device operations with battery optimization
CN104662487B (zh) 根据应用程序活动来预测用户意图和未来交互
US10228747B2 (en) Battery parameter-based power management for suppressing power spikes
KR101940389B1 (ko) 적응적 배터리 수명 연장
CN102736720B (zh) 用于预测电池用电量的方法和系统
TWI570544B (zh) 自電池使用量程度與充電趨勢推測使用者意圖
US20160048682A1 (en) Method and Apparatus for Clearing Malicious Power-Consuming Application, and User Terminal
US20180267839A1 (en) Controlled Energy Utilization In A Computing Device
US20110029979A1 (en) Systems and Methods for Task Execution on a Managed Node
US10191782B2 (en) System to schedule and perform automated software tasks during unattended system time using predicted knowledge of individual user behavior
US8281159B1 (en) Systems and methods for managing power usage based on power-management information from a power grid
CN107040659A (zh) 一种智能关机界面显示方法及终端
US20230051221A1 (en) Automatically updating a full charge capacity of a battery of an information handling system

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150605

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170406

R150 Certificate of patent or registration of utility model

Ref document number: 6126085

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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