(57)【要約】デバイスにおけるバッテリー電力を保存する技法を提供する。１つ以上の延期可能なタスクを、後の実行のために待ち行列に入れる。デバイスのバッテリーに対する後続の充電イベントの開始を検出する。待ち行列に入れられた延期可能なタスク（１つまたは複数）は、充電イベントの間にイネーブルされ実行される。例えば、移動体デバイスの充電プロファイルを参照することによってというようにして、充電イベントが長期充電イベントであると予測された場合、待ち行列に入れられた延期可能なタスクを実行されるようイネーブルすることができる。このようにして、デバイスが使用されておりバッテリー充電器に接続されていない間、バッテリー電力を保存する。【選択図】図１
2014523224.tif 000002
【特許請求の範囲】
【請求項１】
デバイスにおける方法であって、
少なくとも１つの延期可能なタスクを、後の実行のために待ち行列に入れるステップと、
前記待ち行列に入れた後において、前記デバイスのバッテリーに対する充電イベントの開始を検出するステップと、
前記充電イベントの間に、前記待ち行列に入れた少なくとも１つの延期可能なタスクを実行されるようイネーブルするステップと、
を含む、方法。
【請求項２】
請求項１記載の方法において、前記デバイスについての充電プロファイルに基づいて、前記充電イベントが長期充電イベントであることを予測するステップと、
前記予測の結果として、前記実行をイネーブルするステップと、
を含む、方法。
【請求項３】
請求項２記載の方法において、前記予測するステップが、
前記充電イベントが、所定のしきい値よりも長い期間を有することを予測するステップを含む、方法。
【請求項４】
請求項２記載の方法であって、更に、
前記デバイスのバッテリーの充電を時間的に監視するステップと、
前記監視に基づいて、前記充電プロファイルを生成するステップと、
を含む、方法。
【請求項５】
請求項２記載の方法であって、更に、
前記デバイスのユーザーが、前記充電プロファイルを手作業で構成することを可能にするステップを含む、方法。
【請求項６】
請求項１記載の方法であって、更に、
特定のタスクを実行する要求を受けるステップと、
前記特定のタスクが延期可能でないことを判断するステップと、
前記充電イベントの前に、前記特定のタスクを実行されるようイネーブルするステップと、
を含む、方法。
【請求項７】
請求項１記載の方法であって、更に、
ファイルに関連する延期可能なタスクを、後の実行のために待ち行列に入れるステップと、
前記ファイルに関係するユーザーから要求を受けるステップと、
前記要求を受けたことにより、前記延期可能なタスクを前記待ち行列から取り除くステップと、
前記要求を受けた結果、前記ファイルに関する動作を実行するステップと、
を含む、方法。
【請求項８】
請求項１記載の方法であって、更に、
スキャン結果を生成するために、ファイルに対し軽量スキャンを実行するステップと、
前記スキャン結果をリモートのサーバーに送信するステップと、
前記リモート・サーバーから、前記ファイルが悪質であるか否かの指示を受け取るステップと、
前記ファイルが悪質でないことが示された場合、前記ファイルに関連する完全スキャン・タスクを待ち行列に入れるステップと、
を含む、方法。
【請求項９】
請求項１記載の方法において、前記少なくとも１つの延期可能なタスクが、ファイル・ダウンロード・タスク、ウィルス・スキャン・タスク、バックアップ・タスクまたは構成管理タスクの内少なくとも１つを含む、方法。
【請求項１０】
コンピューター・プログラム・ロジックが記録されているコンピューター読み取り可能媒体を含むコンピューター・プログラム製品であって、
プロセッサーが、請求項１から９までのいずれか１項の方法を実行することを可能にするコンピューター・プログラム・ロジック手段を含む、コンピューター・プログラム製品。
【請求項１１】
移動体デバイスにおけるタスク・スケジューラーであって、このタスク・スケジューラーが、移動動作の間前記移動体デバイスのバッテリー電力の保存を可能とし、
少なくとも１つのタスクが延期可能であると判断し、後の実行のために、前記少なくとも１つの延期可能なタスクを待ち行列に入れるように構成されたタスク待ち行列処理モジュールと、
前記少なくとも１つの延期可能なタスクを待ち行列に入れた後に、前記移動体デバイスのバッテリーに対する充電イベントの開始を検出するように構成された充電モニターと、
前記充電イベントが長期充電イベントであることが予測された場合、前記充電イベントの間に前記少なくとも１つの延期可能なタスクを実行されるようイネーブルするように構成された待ち行列イネーブラー・モジュールと、
を含む、タスク・スケジューラー。
【請求項１２】
請求項１０記載のタスク・スケジューラーにおいて、前記待ち行列イネーブラー・モジュールが、
前記移動体デバイスについての充電プロファイルに基づいて、前記充電イベントが長期充電イベントであると予測するように構成された充電イベント・アナライザーを含み、
前記待ち行列イネーブラー・モジュールが、前記予測の結果、前記充電イベントの間に、前記待ち行列に入れた少なくとも１つの延期可能なタスクを実行されるようイネーブルするように構成された、タスク・スケジューラー。
【請求項１３】
請求項１１記載のタスク・スケジューラーにおいて、前記充電イベント・アナライザーが、前記充電イベントが長期充電イベントであるか否か予測するために、前記充電イベントが所定のしきい値よりも長い期間を有するか否か判断するように構成された、タスク・スケジューラー。
【請求項１４】
請求項１１記載のタスク・スケジューラーにおいて、前記待ち行列イネーブラー・モジュールが、充電履歴データーを生成するため、および前記充電履歴データーに基づいて前記充電プロファイルを生成するために、前記バッテリーの充電を時間的に監視するように構成された、タスク・スケジューラー。
【請求項１５】
請求項１１記載のタスク・スケジューラーであって、更に、
前記移動体デバイスのユーザーが、前記充電プロファイルを手作業で構成することを可能にするように構成されたユーザー・インターフェース・モジュールを含む、タスク・スケジューラー。
【請求項１６】
請求項１０記載のタスク・スケジューラーにおいて、前記タスク待ち行列処理モジュールが、特定のタスクを実行する要求を受け、前記特定のタスクが延期可能ではないか否か判断し、前記特定のタスクが延期可能ではないと判断された場合、充電電流を受ける前に、前記待ち行列イネーブラー・モジュールが、前記特定のタスクを実行されるようイネーブルする、タスク・スケジューラー。
【発明の詳細な説明】
【従来技術】
【０００１】
[0001]  移動体デバイスは、ハンドヘルド・デバイスと呼ばれることもあり、携行するため、および／または人がポケットに入れるための大きさに作られた電子デバイスである。移動体デバイスは、通例、高速で有能な（capable)プロセッサー、豊富であるが小さいディスプレイ、ワイヤレス通信機能、タッチ・スクリーン、縮小サイズのキーボード、および／またはデバイスを移動可能にするその他の特徴の内１つ以上を含む。このようなデバイスは、電力を供給するために、再充電可能なバッテリーを内蔵することが多い。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
[0002]  再充電可能なバッテリーを有する移動体デバイスは、バッテリー寿命を十分な長寿を与えつつ豊富な体験を配信するときに一定の電圧(tension)を有して、移動中（例えば、バッテリー充電器に繋がれていない間）その価値を届けることを可能にする。移動体デバイスのユーザーは、通例、その移動体デバイスを彼らと共に持ち歩くことを望み、移動体デバイスを充電のために置いておかなければならないことを望まない。しかしながら、セキュリティ機能（例えば、ウィルス・スキャニング、バックアップ機能等）というような、一部の移動体デバイスの機能は、移動体デバイスの処理リソースを大いに使う可能性があり、したがって、バッテリー使用に関してはコストがかかる可能性がある。その結果、このようなデバイスの機能が移動体デバイスの可搬性を阻害する可能性がある。
【課題を解決するための手段】
【０００３】
[0003]  この摘要は、詳細な説明の章において以下で更に説明する概念から選択したものを簡略化された形式で紹介するために、設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために使用されることを意図するのでもない。
【０００４】
[0004]  据置型(immobile)デバイスおよび移動体デバイスを含むバッテリー給電型デバイスにおいて、バッテリー電力を保存する方法、システム、およびコンピューター・プログラム製品を提供する。このようなデバイスにおいて、延期可能であると判断されたタスクを選択的に遅らせることによって、バッテリー電力を保存する。これらのタスクは、延期したタスクをサポートする充電イベントが生ずるまで、延期させられる。このような充電イベントが生じたときに、延期させたタスクを実行することを可能にする。このように、デバイスがバッテリー充電器に接続されていない間、バッテリー使用を減らして、デバイスの移動性を高めることを可能にする。
【０００５】
[0005]  方法の実現例の一例では、延期可能な１つ以上のタスクを、後の実行のために待ち行列に入れる。移動体デバイスのバッテリーの充電イベントの開始を、待ち行列処理の後に検出する。待ち行列に入れた延期可能なタスク（１つまたは複数）は、充電イベントの間にイネーブルされ、実行させられる。例えば、待ち行列に入れた延期可能なタスク（１つまたは複数）は、充電イベントが長時間の充電イベントであることが予測されたときに、実行されるようイネーブルすることができる。これは、移動体デバイスの充電プロファイルを参照することによって、または他の技法によって判断することができる。
【０００６】
[0006]  システムの実現例の一例では、移動体デバイスにタスク・スケジューラーを設ける。このタスク・スケジューラーは、タスク待ち行列処理モジュール、充電モニター、および待ち行列イネーブラー・モジュールを含む。タスク待ち行列処理モジュールは、少なくとも１つの延期可能なタスクを後の実行のために待ち行列に入れるように構成されている。充電モニターは、延期可能なタスク（１つまたは複数）の待ち行列処理の後に、移動体デバイスのバッテリーに対する充電イベントの開始を検出するように構成されている。待ち行列イネーブラー・モジュールは、延期可能タスク（１つまたは複数）をこの充電イベントの間に実行されるようイネーブルするように構成されている。
【０００７】
[0007]  また、本明細書では、バッテリー充電時間までタスクの実行を延期することによって、移動体デバイスのバッテリー電力を保存するためのコンピューター・プログラム製品についても記載し、本明細書において説明する更に他の実施形態についても説明する。
【０００８】
[0008]  本発明の更に他の特徴および利点、ならびに本発明の種々の実施形態の構造および動作について、添付図面を参照しながら以下で詳しく説明する。尚、本発明は、本明細書において説明する具体的な実施形態に限定されるのではないことを注記しておく。このような実施形態は、例示の目的に限って、本明細書において紹介されるに過ぎない。関連技術の当業者には、本明細書に含まれる教示に基づけば、追加の実施形態は明白であろう。
【図面の簡単な説明】
【０００９】
[0009]  添付図面は、本明細書に組み込まれその一部をなすものであり、本発明を図示し、明細書の記載と共に、本発明の原理を説明し、当業者が本発明を行うことおよび使用することを可能にする役割を果たす。
【図１】図１は、一実施形態例による移動体デバイス環境のブロック図を示す。
【図２】図２は、一実施形態例にしたがって、一層効率的なバッテリー使用のためにデバイス・タスクをスケジューリングするための移動体デバイスにおけるプロセスを表すフローチャートを示す。
【図３】図３は、一実施形態例によるタスク・スケジューラーのブロック図を示す。
【図４】図４は、一実施形態例によるデバイス動作ロジックのブロック図を示す。
【図５】図５は、一実施形態例にしたがって、充電イベントが、延期したタスクを実行するのに適しているか否か予測するプロセスを示す。
【図６】図６は、一実施形態例による、充電イベント・アナライザーを含む待ち行列イネーブラー・モジュールのブロック図を示す。
【図７】図７は、一実施形態例による、充電プロファイルを生成するように構成された待ち行列イネーブラー・モジュールのブロック図を示す。
【図８】図８は、一実施形態による、バッテリー充電プロファイルの一例を表すプロットを示す。
【図９】図９は、一実施形態例にしたがって、延期不可能なタスクを処理するプロセスを表すフローチャートを示す。
【図１０】図１０は、一実施形態例にしたがって、延期ステータスからタスクを取り除くプロセスを表すフローチャートを示す。
【図１１】図１１は、本発明の実施形態を実現するために使用することができるコンピューター例のブロック図を示す。
【００１０】
[0021]  以下に明らかにする詳細な説明を図面と合わせて検討することによって、本発明の特徴および利点が一層明白になるであろう。図面においては、同様の参照符合は、全体を通して対応する要素を特定する。図面において、同様の参照番号は全体的に同じ要素、機能的に同様の要素、および／または構造的に同様の要素を示す。要素が最初に出てくる図面は、対応する参照番号における一番左側の桁（１つまたは複数）によって示される。
【発明を実施するための形態】
【００１１】
１．導入部
[0022]  本明細書は、本発明の特徴を組み込んだ１つ以上の実施形態を開示する。開示される実施形態（１つまたは複数）は、単に本発明を例示するに過ぎない。本発明の範囲は、開示される実施形態（１つまたは複数）には限定されない。本発明は、本明細書に添付される特許請求の範囲によって定められるものとする。
【００１２】
[0023]  本明細書において、「一実施形態」、「実施形態」、「実施形態例」等に言及するときは、記載される実施形態が特定の特徴、構造、または特性を含むであろうが、あらゆる実施形態がその特定の特徴、構造、または特性を必ずしも含む訳ではないことを示す。更に、このような句は、必ずしも同じ実施形態に言及している訳ではない。更に、特定の特徴、構造、または特性が実施形態に関連付けて説明される場合、このような特徴、構造、または特性を他の実施形態と関連付けて実施することは、明示的に記載されているかいないかには係わらず、当業者の知識の範囲内のことであると思量する。
【００１３】
[0024]  バッテリーを内蔵する移動体デバイス、およびバッテリーの電力を使用する据置型デバイスを含む、多くのタイプのバッテリー給電型デバイスが存在する。例えば、ハンドヘルド電子デバイスは、バッテリーを含むことができ、移動体の動作中にバッテリー電力を消費する（放電する）ことができ、静止時（移動していない）にバッテリーを再充電するために充電デバイスに結合することができる。これらおよび他のタイプのバッテリー給電型デバイスにおいて、バッテリー電力を消費している（放電している）間に行われる動作は、これらが消費するバッテリー電力に気付くことなく、ましてやその活動(activity)をどのように軽減するか知ることなく、実行されることが多い。例えば、ウィルス・スキャンおよび／またはソフトウェア更新は、これらが前景の活動に影響を及ぼすことがないときに実行されることが多いが、バッテリー寿命に対する影響を最小限に抑えるように構成されていない。その結果、デバイスのバッテリーは、使用中に消耗していく可能性があり、したがって、ユーザーがデバイスの充電器に結合したままにしておかなければならなくなる可能性がある。例の中には、ウィルス・スキャニングは、ウィルスの発生に対する応答に基づいて、要求に応じて、予定された時点等で実行されることもある。これらの活動は、通例、「探偵」(detective)であり、継続して実行する必要はない。このような動作は、貴重なバッテリー電力に影響を及ぼすことなく実行することもできる。
【００１４】
[0025]  実施形態では、移動体デバイスのようなバッテリー給電型デバイス、および他のタイプのバッテリー給電型デバイスにおいて、バッテリー電力を保存する技法を提供する。尚、本明細書では多くの場合移動体デバイスを参照して実施形態について説明するが、このような実施形態をこのように説明するのは、例示を目的にするためであり、移動体デバイスに限定することを意図するのではないことを注記しておく。また、実施形態は、他のタイプのバッテリー給電型デバイス（例えば、セキュリティ・システム、制御システム等）にも適用可能である。
【００１５】
[0026]  実施形態では、デバイスのバッテリーがバッテリー充電器に結合されるまで、デバイスの動作を延期することができ、デバイスが移動している間またはそれ以外で電源に結合されていない間、バッテリー電力を保存する。実施形態では、バッテリー給電型デバイスのバッテリー電力を保存するために、デバイスのＡＣ／ＤＣプロファイリング／使用を含む異なる要因を考慮することができ、デバイスの機能を犠牲にすることなく、デバイスが充電器の電力およびバッテリーの電力をしかるべく利用しているときができるだけ多く生ずるように、デバイスの機能（例えば、セキュリティ機能等）を最適化することができる。
【００１６】
[0027]  例えば、リアル・タイムでない、前向きでない（non-proactive)セキュリティ動作および／または他の動作は、専用／拡張充電イベント／サイクルの間に行うようにずらすことができ、更に、予想よりも早く充電器からデバイスが取り外された場合に、デバイスが充電されたことおよび「安全確保されている」ことの双方の確信を得ることができるように、更に後のこのような充電イベントの終了までずらすことができる。他の例では、ファイル、アプリケーション（例えば、「アプリ」）、および／またはインストーラーを移動体デバイスにダウンロードすることがあるが、アプリケーション／インストーラーの場合、直ちに実行しなくてもよい。ダウンロードの指示をキャッシュすることができ、ダウンロードされるファイル／アプリケーション／インストーラーを、充電時間中にスキャンすることができる。このように、移動体デバイスがバッテリー電力で動作している間にファイル／アプリケーション／インストーラーがインストールされても、任意に起こるスキャン・オン・インストール(scan-on-install)を回避することができる。
【００１７】
[0028]  実施形態では、バッテリー充電時間がいつ生ずるか、そしてバッテリー充電にどれ位の時間かかりそうか予測するために、種々の要因を使用することができ、他の場合ではバッテリー電力を垂れ流しにするセキュリティ動作および／または他の機能が行われるのにどれ位かかるかを考慮に入れる。したがって、セキュリティ動作および／または他の動作を開始させる時点を予測し、このような実行を開始するために利用することができる。
【００１８】
[0029]  実施形態では、デバイスの充電履歴を監視して、後続の充電イベントを予測することができる。履歴および／または他の要因は、延期した動作をイネーブルできる程に十分に長い充電イベントが行われているか否か予測するときに補助となるように、デバイスについて充電プロファイルを構成するために使用することができる。この充電プロファイルは、１つ以上の要因に基づいて決定することができ、その要因には、ユーザーによって手作業で入力されたプロファイル情報、行われつつある充電の履歴の静的および／または動的プロファイリング、カレンダー／スケジューリングへのアクセスおよび参照（移動体デバイスに、および／または離れて格納されている）、移動体デバイス充電中(mobile device on-charger)ＡＰＩ／通知、バッテリー充電容量の知識、充電率、および／または移動体デバイスの他の「感応／感覚的」形態の使用が含まれる。
【００１９】
[0030]  例えば、１日の使用の後、次の日利用できるように、移動体デバイスが、ユーザーの寝台脇にある充電器、台所のカウンタ上にある充電器、または車庫のドアの鍵箱(key drop)の書き物机の充電器(bureau charger)に置かれることがある。電力を垂れ流すデバイス動作は、移動体デバイスが移動体デバイスを再充電している（そして、ユーザーが眠っている）ときに、実行されるようイネーブルすればよい。実施形態は、早番（夜間に充電することになるであろう）で働くユーザー、遅番（日中に充電することになるであろう）で働くユーザー、および／または任意の他の可能なユーザー・スケジュールを含む、任意のユーザー・スケジュールに適応可能であるとよい。
【００２０】
[0031]  尚、充電時間は、延期したタスクをイネーブルすることを可能にするには、十分でないこともあることを注記しておく。例えば、仕事場へ／から運転している間に自動車の充電器で移動体デバイスを充電している時間は、徹底的なデバイス・セキュリティ／保守動作を実行するには適した時間ではない場合がある。実施形態では、このような時間が、保守／セキュリティ活動のようなデバイス動作を実行するためには使用されないように、区別することができる。
【００２１】
[0032]  本発明の複数の実施形態例について、以下のように説明する。尚、本明細書において示される任意のセクション／サブセクションの表題は、限定であることを意図していないことを注記しておく。実施形態は本文書全体にわたって説明され、いずれのタイプの実施形態でも、いずれのセクション／サブセクションにも含まれ得る。
ＩＩ．実施形態例
[0033]  実施形態は、移動体デバイスのような、バッテリー給電型デバイスのバッテリー電力を保存する技法を提供する。具体的には、実施形態は、延期可能なタスクを通常の使用中（例えば、移動体デバイスがバッテリー充電器に結合されておらず、したがって移動可能なとき）に実行するのではなく、デバイスが充電されるまで（例えば、バッテリー充電器に結合される）これらのタスクを延期することを可能にし、したがって電力リソースの利用を拡大することができる。このような実施形態は、バッテリー充電サイクルの間、デバイスをより長い時間使用することを可能にする。移動体デバイスにおいて実行される種々のタスクが延期可能であると見なすことができ、そのタスクには、セキュリティ動作、保守動作、ファイル・ダウンロード／インストール、そして他のタイプのタスクが含まれる。
【００２２】
[0034]  このような実施形態は種々の環境において実現することができる。例えば、図１は、一実施形態例による移動体デバイス環境１００のブロック図を示す。図１に示すように、環境１００は、移動体デバイス１０２、サーバー１０４、および充電器１０６を含む。以下に、環境１００について説明する。
【００２３】
[0035]  移動体デバイス１０２は、任意のタイプの移動体デバイスでよく、移動体コンピューターまたは計算デバイス（例えば、Palm（登録商標）デバイス、RIM  Blackberry（登録商標）デバイス、パーソナル・ディジタル・アシスタント（ＰＤＡ）、ラップトップ・コンピューター、ノートブック・コンピューター、タブレット・コンピューター（例えば、Apple社のiPad（商標）等）、ネットブック等）、移動体電話機（例えば、セル・フォン、Apple社のiPhoneのようなスマート・フォン、Google社のAndroid（商標）プラットフォームを組み込んだ電話機、Microsoft Windows Phone 7（登録商標）のようなMicrosoft社のオペレーティング・システムを組み込んだ電話機等）、または他のタイプの移動体デバイスを含む。移動体デバイス１０２は、１つ以上のプロセッサーおよび／または他の処理ロジック、タッチ・スクリーンを含むことができるディスプレイ、ワイヤレス通信機能、縮小サイズのキーボード、および／または移動体デバイス１０２を移動可能にする（例えば、人間のユーザーによって手に持っておよび／またはポケットに入れて携行する）ことを可能にする他の機構を含むことができる。サーバー１０４は、１つ以上のサーバーを含むこともでき、本明細書において記載する計算デバイスの内任意のタイプのもの、またそれ以外ではファイル１２２のようなファイルをサーブする既知のタイプのものでもよい。ファイル１２２は、データー・ファイル、ウェブ・ページ、アプリケーション等を含む、種々のタイプのファイルを含むことができる。
【００２４】
[0036]  移動体デバイス１０２およびサーバー１０４は、ネットワーク１０８によって通信可能に結合されている。ネットワーク１０８は、ＰＡＮ（パーソナル・エリア・ネットワーク）、ＬＡＮ（ローカル・エリア・ネットワーク）、ＷＡＮ（ワイド・エリア・ネットワーク）、またはインターネットのようなネットワークの組み合わせというような、１つ以上の通信リンクおよび／または通信ネットワークを含むことができる。移動体デバイス１０２およびサーバー１０４は、種々のリンクを使用して、ネットワーク１０８に通信可能に結合することができ、種々のリンクには、IEEE802.11ワイヤレスＬＡＮ（ＷＬＡＮ）ワイヤレス・リンク、マイクロ波アクセス(Wi-MAX)用世界規模相互動作リンク、セルラ・ネットワーク・リンク、ワイヤレス・パーソナル・エリア・ネットワーク（ＰＡＮ）リンク（例えば、Bluetooth（登録商標）リンク）、イーサネット（登録商標）・リンク、ＵＳＢリンクというような、有線リンクおよび／またはワイヤレス・リンクが含まれる。
【００２５】
[0037]  充電器１０６は、移動体デバイス１０２のような移動体デバイスのバッテリーを充電するように構成されているバッテリー充電器である。充電器１０６は、図１に示すように、移動体デバイス１０２に対して外部であってよく、あるいは部分的または全体的に移動体デバイス１０２に対して内部であってもよい。充電器１０６は、電源（例えば、６０Ｈｚ、１２０Ｖ交流（ＡＣ）電力等）に結合して電流を受けることができ、そして受けた電流を一定ＤＣ（直流）電圧の充電電流に変換することができる。図１に示すように、充電器１０６は、充電電流を移動体デバイス１０２に、充電ケーブル１３０を介して出力することができるが、実現例の中には、移動体デバイス１０２がコネクターを含み、仲介する充電ケーブルを使用せずに、直接充電器１０６に接続できるものもある。
【００２６】
[0038]  図１に示すように、移動体デバイス１０２は、デバイス動作ロジック１１４、タスク・スケジューラー１１６、少なくとも１つのバッテリー１１８、および任意の充電モジュール１２０を含む。デバイス動作ロジック１１４は、移動体デバイス１０２における１つ以上の動作を実行するロジックを含み、セキュリティ動作、保守動作、ファイル・ダウンロード／インストール、および更に他のタイプのタスク／動作が含まれる。デバイス動作ロジック１１４は、動作を実行するために種々の方法で実現することができ、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組み合わせを含む。例えば、デバイス動作ロジック１１４は、１つ以上のプロセッサーにおいて実行されるように構成されたコンピューター・プログラム・ロジックとして実現することができる。あるいは、デバイス動作ロジック１１４は、ハードウェア・ロジック／電子回路として実現することもできる。一実施形態では、デバイス動作ロジック１１４は、チップ上システム（ＳｏＣ）として実現することもできる。ＳｏＣは、集積回路チップを含むことができ、この集積回路チップは、プロセッサー（例えば、マイクロコントローラー、マイクロプロセッサー、ディジタル信号プロセッサー（ＤＳＰ）等）、メモリー、１つ以上の通信インターフェース、および／または更に他の回路および／またはその機能を実行するための埋め込みファームウェアの内１つ以上を含む。
【００２７】
[0039]  バッテリー１１８は、再充電を可能にする材料で形成された１つ以上の再充電可能なバッテリーを含む。例えば、バッテリー１１８はニッケル・カドミウム（ＮｉＣｄ）またはニッケル金属混成（ＮｉＭＨ）バッテリーのようなニッケル系再充電可能バッテリー、リチウム・イオン（Ｌｉ−イオン）またはリチウム・イオン・ポリマー（Ｌｉ−イオン・ポリマー）バッテリーのようなリチウム系再充電可能バッテリー、あるいは他のタイプの再充電可能バッテリーを含むことができる。バッテリー１１８における電荷(charge)は、電気エネルギーの印加によって復元することができる。移動体デバイス１０２の移動動作の間、バッテリー１１８は電力を移動体デバイス１０２のコンポーネントに直流（ＤＣ）電圧を介して供給することができる。
【００２８】
[0040]  充電モジュール１２０は、任意に移動体デバイス１０２内に存在し、存在する場合には、充電器１０６とバッテリー１１８との間にインターフェースを設ける。あるいは、充電モジュール１２０は、充電器１０６の一部または全部を含むこともできる。図１に示すように、充電モジュール１２０は、充電ケーブル１３０（または他の接続）を介して充電器１０６に結合され、充電器１０６から充電電圧／電流を受けることができる。充電モジュール１２０は、規制および／または保護回路（例えば、過剰電流および／または過剰電圧保護、逆バイアス保護等）を含み、バッテリー１１８を保護することができ、および／または移動体デバイス１０２がバッテリー１１８と互換性がない電圧／電流を供給する電源に接続されることから保護することもできる。充電モジュール１２０が存在する場合、充電モジュール１２０は、充電ケーブル１３０（または他の接続）を介して充電器１０６から受けた充電電流に基づいて、充電電流１２８をバッテリー１１８に供給する。充電モジュール１２０が存在しない場合、充電器１０６は充電電流１２８を直接バッテリー１１８に供給することができる。
【００２９】
[0041]  図１に示すように、タスク・スケジューラー１１６は、充電モジュール１２０から充電指示１２６を受けることができる。充電モジュール１２０が存在しない場合、タスク・スケジューラー１１６は、充電指示を充電器１０６から受けることができる。充電指示１２６は、充電電流１２８がバッテリー１１８に供給されているか否かを示す信号であり、充電モジュール１２０または充電器１０６によって生成される。これによって、バッテリー１１８が充電されているか否か指示することができる。したがって、一実施形態では、充電指示１２６は、充電指示を与えるディジタル信号またはアナログ信号とすることができる。一実施形態では、充電モジュール１２０は、充電電流１２８に対して直列に抵抗器を含むことができる。充電電流１２８がバッテリー１１８に流れておりバッテリー１１８が充電されていることを示すときに、特定の電圧値が抵抗器の両端に存在することができ、この特定の電圧値を充電指示１２６によって示すことができる。他の実施形態では、充電指示１２６は、バッテリー１１８が充電電流１２８によって充電されているか否か、関連技術（１つまたは複数）における当業者には周知である他の方法で指示することができる。
【００３０】
[0042]  タスク・スケジューラー１１６は、バッテリー１１８が充電されている時間期間中における動作のために、デバイス動作ロジック１１４の１つ以上のタスク／動作をスケジューリングするように構成されている。例えば、タスク・スケジューラー１１６は、移動体デバイス１０２のバッテリー１１８が充電器１０６によって充電されるまで延期可能なタスクを延期させることを可能にするように構成することができ、したがって、移動体デバイス１０２は、通常使用（例えば、移動体デバイス１０２が充電器１０６に結合されていないとき）の間にこれらのタスクを実行するのではなく、単なるバッテリー１１８よりも大きい電力リソースを利用することができる。
【００３１】
[0043]  タスク・スケジューラー１１６は、タスク・イネーブル信号１２４を生成することができ、タスク・イネーブル信号１２４はデバイス動作ロジック１１４によって受け取られる。タスク・イネーブル信号１２４は、デバイス動作ロジック１１４の延期したタスクを実行するためにイネーブルすることができる。例えば、タスク・スケジューラー１１６は、充電指示１２６から、バッテリー１１８が充電されつつあり、その結果、タスク・イネーブル信号１２４を生成して、デバイス動作ロジック１１４によって延期された１つ以上のタスクを実行されるようイネーブルすることができる。このように、延期可能なタスクは、バッテリー１１８が充電されているときに実行され、これによって、バッテリー１１８が充電されていない時間中は、バッテリー・リソースを保存する。タスク・スケジューラー１１６は、適した充電イベントが検出されたときには直ちに、延期されているタスクをイネーブルするために、タスク・イネーブル信号１２４を生成することができ、あるいは充電イベントの遅い部分（例えば、充電指示１２６において指示できるような、バッテリー１１８が所望のレベルまで充電され終えるまで、または他のやり方で判定できるような）まで、延期されている動作をイネーブルするタスク・イネーブル信号１２４を生成するのを遅らせることもできる。
【００３２】
[0044]  実施形態では、タスク・スケジューラー１１６は、その機能を種々の方法で実行することができる。例えば、図２は、一実施形態例にしたがって、移動体デバイスにおいてバッテリー効率を高めるためのタスク・スケジューリング・プロセスを表すフローチャート２００を示す。一実施形態では、フローチャート２００は、図１のタスク・スケジューラー１１６によって実行することができる。以下に、図１の環境１００を参照し、図３〜図８も参照しながら、フローチャート２００について説明する。図３は、一実施形態例によるタスク・スケジューラー３００のブロック図を示す。図３のタスク・スケジューラー３００は、図１のタスク・スケジューラー１１６の一例である。図３に示すように、タスク・スケジューラー３００は、タスク待ち行列処理モジュール３０２、充電モニター３０４、および待ち行列イネーブラー・モジュール３０６を含む。フローチャート２００に関する以下の説明に基づくことにより、他の構造および動作に関する実施形態も、関連技術（１つまたは複数）の当業者には明白であろう。
【００３３】
[0045]  フローチャート２００は、ステップ２０２から開始する。ステップ２０２において、少なくとも１つの延期可能なタスクを、後の実行のために待ち行列に入れる。例えば、図１を参照すると、デバイス動作ロジック１１４に、移動体デバイス１０２のユーザーによって、タスクを実行することを要求されるのでもよく（例えば、移動体デバイス１０２のユーザー・インターフェースと対話処理しているユーザー）、または他の理由のためにタスクを実行するように構成されていてもよい（例えば、ファイルのダウンロードに応答して、所定の事項において等）。
【００３４】
[0046]  先に説明したように、デバイス動作ロジック１１４は、延期可能な種々のタスクを実行するように構成することができる。例えば、図４は、一実施形態例による、デバイス動作ロジック１１４のブロック図を示す。図４に示すように、デバイス動作ロジック１１４は、セキュリティ動作ロジック４０２、インストーラー４０４、および保守動作ロジック４０６を含む。セキュリティ動作ロジック４０２、インストーラー４０４、および保守動作ロジック４０６は、各々、以下で説明するように、移動体デバイス１０２のタスクを実行するように構成されている。セキュリティ動作ロジック４０２、インストーラー４０４、および保守動作ロジック４０６の各々は、延期可能なタスクを含むことができる。延期可能なタスクとは、これらを後に実行することによって移動体デバイス１０２の動作が阻害されることがないため、そして直ちに実行するように移動体デバイス１０２のユーザーによって要求されていないために、直ちに実行する必要がないタスクのことである。したがって、延期可能なタスクは、後の時点（タスク・スケジューラー３００によって決定される）で実行してもよい。実施形態では、デバイス動作ロジック１１４は、延期可能なタスクを含むことができる、図４に示すこれらの特徴の１つ以上を含むことができ、および／または延期可能なタスクを含む更に他のまたは代わりの特徴を含むこともできる。
【００３５】
[0047]  セキュリティ動作ロジック４０２は、移動体デバイス１０２のために１つ以上のセキュリティ関連動作を実行するロジックを含む。例えば、図４に示すように、セキュリティ動作ロジック４０２は、スキャニング・モジュール４０８、バックアップ・モジュール４１０、および／または構成管理モジュール４１２を含むことができる。スキャニング・モジュール４０８は、ウィルス・スキャニング・モジュールであり、移動体デバイス１０２にダウンロードされたファイル（例えば、図１におけるサーバー１０４からダウンロードされたファイル１２２）に対してウィルス・スキャニング・タスクを実行するように構成されている。市販されているスキャニング・モジュール４０８の例は、関連技術（１つまたは複数）の当業者には周知である。バックアップ・モジュール４１０は、移動体デバイス１０２のストレージ内にあるファイルに対して、リモートのストレージ（図１には示されていない）へのバックアップ・タスクを実行するように構成されている。市販されているバックアップ・モジュール４１０の例は、関連技術（１つまたは複数）の当業者には周知である。構成管理モジュール４１２は、移動体デバイス１０２に対して構成管理タスクを実行するように構成されている。市販されている構成管理モジュール４１２の例は、関連技術（１つまたは複数）の当業者には周知である。セキュリティ動作ロジック４０２の更に他のタスク例は、関連技術（１つまたは複数）の当業者には周知であろう。
【００３６】
[0048]  尚、実施形態において、スキャニング・モジュール４０８は、ファイルの全体スキャンを実行するように構成されてもよく、および／または「軽量」スキャンを実行するように構成されてもよいことを注記しておく。「軽量」スキャンでは、ファイルに対してウィルスのスキャンを完全には行わない。例えば、スキャニング・モジュール４０８は、ファイルに対して軽量スキャンを行って、スキャン結果を生成することができる。このスキャン結果は、ファイルのハッシュであってもよく、またはファイルがウィルスを含むか否かについて十分な確率(likelihood)で判定を行うために分析することができる他の結果でもよい。このスキャン結果は、分析のために、図１に示すサーバー１０４のようなリモートのサーバーに送信することができる。サーバーは、スキャン結果（例えば、ハッシュ結果等）を分析し、ファイルがウィルスを有する可能性があるか否か判定することができる。この分析は、関連技術（１つまたは複数）の当業者には周知のように、種々の方法で行うことができる。リモート・サーバーから、分析に基づいて、ファイルが悪質か否か示す指示を受け取ることができる。ファイルが悪質であることをリモート・サーバーが示す場合、スキャニング・モジュール４０８によって、このファイルを隔離する、削除する、またそれ以外で移動体デバイス１０２に危害を加えることを不可能にすることができる。ファイルが悪質でないことをリモート・サーバーが示す場合、ファイルに対して完全スキャン・タスクを実行することができる。完全スキャン・タスクは、本明細書において記載するような延期可能タスクとして、後に実行するために延期させることができる。
【００３７】
[0049]  インストーラー４０４は、アプリケーション（例えば、コンピューター・プログラム）のインストール（および／または設定）を行うように構成されており、アプリケーションを実行することができるように、移動体デバイス１０２に対するドライバー、プラグイン等のインストールおよび／または設定を含むことができる。インストーラー４０４は、アプリケーションをダウンロードし（例えば、図１におけるサーバー１０４のようなサーバーから）、および／またはダウンロードしたアプリケーションを移動体デバイス１０２にインストールすることができる。また、インストーラー４０４は、既に移動体デバイス１０２にロードされているアプリケーションを更新するアプリケーション・アップデーターとして構成することもできる。例えば、インストーラー４０４は、アップデートをダウンロードし（例えば、サーバー１０４のようなサーバーから）、移動体デバイス１０２におけるアプリケーションに対するアップデートをインストールすることができる。市販されているインストーラー４０４の例は、関連技術（１つまたは複数）の当業者には周知である。
【００３８】
[0050]  保守動作ロジック４０６は、移動体デバイス１０２に対して１つ以上の保守関連動作を実行するロジックを含む。例えば、図４に示すように、保守動作ロジック４０６は、ディフラッガー(defragger)４１４を含むことができる。ディフラッガー４１４は、断片化修正モジュールであり、断片化を減らすために移動体デバイス１０２のファイル・システムに対して断片化修正（defragging)タスクを実行するように構成されている。市販されているディフラッガー４１４の例は、関連技術（１つまたは複数）の当業者には周知である。保守動作ロジック４０６の更に他のタスク例は、関連技術（１つまたは複数）の当業者には周知であろう。
【００３９】
[0051]  一実施形態では、ステップ２０２にしたがって、後の実行のために、１つ以上の延期可能なタスクを待ち行列に入れる。例えば、動作中に、デバイス動作ロジック１１４は、あるタスク（例えば、セキュリティ・タスク、インストール・タスク、保守タスク等）を実行することを決定することがある。例えば、１以上のファイルを移動体デバイス１０２にダウンロードするために、ファイル・ダウンロード・タスクを実行する（例えば、インストーラー４０４によって）ことが望まれるのでもよい。あるいは、ファイルが既に移動体デバイス１０２にダウンロードされている（例えば、図１のサーバー１０４から）のでもよく、セキュリティ動作ロジック４０２が、そのファイルに対してセキュリティ動作を実行するように構成することもでき、インストーラー４０４がそのファイルに関連するアプリケーションをインストールするように構成されている等でもよい。あるいは、バックアップ・モジュール４１０が、移動体デバイス１０２に対してバックアップ・タスクを実行するように構成されていてもよく、保守動作ロジック４０６が、構成管理タスクを実行するように構成されている等でもよい。したがって、図３に示すように、タスク待ち行列処理モジュール３０２は、デバイス動作ロジック１１４から、これらのタスクの内デバイス動作ロジック１１４が実行することを望まれる任意の１つ以上または他のタスクを示すタスク要求３０８を受けることができる。
【００４０】
[0052]  タスク待ち行列処理モジュール３０２は、タスク実行要求３０８を評価して、示されたタスクを延期できるか否か判断するように構成されている。例えば、一実施形態では、タスク待ち行列処理モジュール３０２は、タスク実行要求３０８によって示されるタスクを、延期可能なタスクの所定のリスト（移動体デバイス１０２のストレージに格納されている）と比較することができ、示されたタスクが、延期可能なタスクの所定のリスト内におけるタスクと一致した場合、タスク待ち行列処理モジュール３０２は、示されたタスクを延期してもよいと判断することができる。例えば、タスク実行要求３０８は、示されたタスクに対するタスク識別子（タスクＩＤ）を含むことができ、延期可能なタスクの所定のリストは、羅列されている延期可能なタスクの各々に、タスク識別子を含むことができる。示されたタスクのタスク識別子が、延期可能なタスクのリストにおけるタスクの識別子と一致した場合、タスク待ち行列処理モジュール３０２は、示されたタスクを延期してもよいと判断することができる。一致が生じない場合、タスク待ち行列処理モジュール３０２は、示されたタスクは延期できないと判断する。  
【００４１】
[0053]  更に、タスク待ち行列処理モジュール３０２は、移動体デバイス１０２のユーザーが、示されたタスクを直ちに実行することを要求しているか否か判断することもできる。このような場合、示されたタスクは延期可能ではない。例えば、ユーザーが移動体デバイス１０２のユーザー・インターフェース（例えば、キーボード、タッチ・スクリーン、音声始動制御等）と対話処理して、タスクを実行することを要求することがあり得る。ユーザーは、セキュリティ動作ツール・インターフェース、ブラウザーまたは他のファイル・ダウンロード／インストーラー・インターフェース、保守ツール・インターフェース、および／または移動体デバイス１０２によって提供される他のインターフェースと対話処理して、タスクを実行することを要求することができる。タスク要求３０８がタスク待ち行列処理モジュール３０２によって受け取られ、タスクを直ちに実行することをユーザーが指示したことが示されると、タスク待ち行列処理モジュール３０２は、示されたタスクは延期できないと判断することができる。タスク要求３０８が移動体デバイス１０２のユーザー・インターフェースから受け取られたが、タスクを直ちに実行することをユーザーが指示したことを示していない場合、タスク待ち行列処理モジュール３０２は、示されたタスクを延期してもよいと判断することができる。
【００４２】
[0054]  他の実施形態では、タスク待ち行列処理モジュール３０２は、他の方法で、タスクが延期可能か否か判断することもできる。例えば、タスク待ち行列処理モジュール３０２が、示されたタスクがセキュリティ動作ロジック４０２（例えば、スキャニング・モジュール４０８、バックアップ・モジュール４１０、構成管理モジュール４１２等）、インストーラー４０４、または保守動作ロジック４０６（例えば、ディフラッガー４１４）、あるいは他の指定動作またはタスクを呼び出すと判断した場合、タスク待ち行列処理モジュール３０２は、そのタスクが延期可能であると判断することができる。
【００４３】
[0055]  タスクが延期可能であると判断された場合、タスク待ち行列処理モジュール３０２はそのタスクを延期タスク待ち行列（例えば、移動体デバイス１０２のストレージに格納されている）に追加する。この延期タスク待ち行列は、任意の数の待ち行列に入れた延期可能なタスクを含むことができる。図３に示すように、タスク待ち行列処理モジュール３０２は、タスク・イネーブル信号１２４を生成する。この信号は、図１のデバイス動作ロジック１１４によって受け取ることができる。タスクが延期可能ではないと判断された場合、タスク待ち行列処理モジュール３０２は、タスク・イネーブル信号１２４を生成して、デバイス動作ロジック１１４に、タスクがイネーブルされ、実行できることを示す。タスクが延期可能であると判断された場合、タスク待ち行列処理モジュール３０２は、タスク・イネーブル信号１２４を生成し、タスクはイネーブルされず、後にタスク待ち行列処理モジュール３０２によってイネーブルされるまで延期されることを、デバイス動作ロジック１１４に示す。
【００４４】
[0056]  再度図２を参照すると、フローチャート２００のステップ２０４において、延期可能なタスク（１つまたは複数）を待ち行列に入れたのに続いて、移動体デバイスのバッテリーに対して、充電イベントの開始が検出される。例えば、図３に示すように、充電モニター３０４が充電指示１２６を受け取ることができる。充電指示１２６は、電荷がバッテリー１１８（図１）に印加されていることを示す。応答して、充電モニター３０４は充電イベント指示３１２を生成することができ、この充電イベント指示３１２は、待ち行列イネーブラー・モジュール３０６によって受け取られる。尚、一実施形態では、充電指示１２６によって充電電流の受電が示されたら直ちに、充電モニター３０４が充電イベント指示３１２を出力してもよいことを注記しておく。他の実施形態では、充電指示１２６が充電電流が受電されたことを所定の時間量だけ（例えば、数秒、数分の間等）示すまで、充電モニター３０４が充電イベント指示３１２を生成するのを遅らせることもできる。このように、比較的短い期間の充電イベントまたは間欠的な充電イベントは、充電モニター３０４によって排除される。更に他の実施形態では、充電モニター３０４が存在しなくてもよく、代わりに、待ち行列イネーブラー・モジュール３０６がステップ２０４を実行するのでもよい。このような実施形態では、待ち行列イネーブラー・モジュール３０６は、直接充電指示１２６を受け取ることもできる。
【００４５】
[0057]  ステップ２０６において、待ち行列に入れた延期可能なタスク（１つまたは複数）がイネーブルされ、充電イベントの間に実行される。例えば、図３に示すように、待ち行列イネーブラー・モジュール３０６は、充電イベント指示３１２（または充電指示１２６）を受け取る。待ち行列イネーブラー・モジュール３０６は、タスク待ち行列処理モジュール３０２によって待ち行列に入れた延期可能なタスクをイネーブルし、充電イベント指示３１２によって示される充電イベントの間に実行するように構成されている。図３に示すように、待ち行列イネーブラー・モジュール３０６が延期タスク・イネーブル信号３１４を生成する。この延期タスク・イネーブル信号３１４は、タスク待ち行列処理モジュール３０２によって待ち行列に入れた延期可能なタスクをイネーブルしてもよいことを示す。タスク待ち行列処理モジュール３０２は、延期タスク・イネーブル信号３１４を受け取る。その結果、タスク待ち行列処理モジュール３０２は、タスク・イネーブル信号１２４を生成し、１つ以上の待ち行列に入れた遅延可能なタスクがイネーブルされることを、デバイス動作ロジック１１４に示す。複数の延期タスクが待ち行列に入れられている場合、タスク待ち行列処理モジュール３０２は、これらの待ち行列に入れられた延期可能なタスクを同時に、あるいは、タスクが待ち行列に追加された順序（例えば、先入れ先出し（ＦＩＦＯ））、後入れ先出し（ＬＩＦＯ）順序、最もリソースを使うタスクを最後に実行するかまたは最初に実行する順序、タスク自体によって指示される順序（例えば、インストール・タスクの前にクリーンアップ・タスクを実行する、スキャン・タスクの前に署名ダウンロード・タスクを実行する等）、または任意の他の順序というように、任意の順序で順次イネーブルすることができる。待ち行列に入れられた延期可能なタスクを実行されるようイネーブルした後、タスク待ち行列処理モジュール３０２は、イネーブルしたタスクを、延期タスク待ち行列から消去することができる。
【００４６】
[0058]  待ち行列イネーブラー・モジュール３０６は、充電イベント指示３１２（または充電指示１２６）に基づいて、待ち行列に入れられた延期可能タスクを実行されるようイネーブルするか否か、任意のやり方で判定することができる。例えば、待ち行列イネーブラー・モジュール３０６が、充電イベント指示３１２によって示される充電イベントが十分に長い期間の充電イベントであるので、延期されているタスクを実行する十分な時間があると判断した場合、待ち行列に入れられた延期タスクをイネーブルすることができる。長間充電イベントは、バッテリー１１８を充電器１０６に間欠的または短時間接続する間に行われる充電イベントよりも長い。例えば、長期充電イベントは、その充電イベントの間バッテリー１１８および充電器１０６を切断することなく、待ち行列に入れられた延期可能なタスクの内少なくとも１つを、その充電イベントの間に実行(perform/execute)することができる程度に十分に長い充電イベントとすることができる。
【００４７】
[0059]  一実施形態では、待ち行列イネーブラー・モジュール３０６は、図２のステップ２０６の間に、図５に示すステップ５０２を実行することができる。ステップ５０２では、移動体デバイスの充電プロファイルに基づいて、充電イベントが長期充電イベントであると予測される。例えば、図６は、一実施形態例による、充電イベント・アナライザー６０２を含む待ち行列イネーブラー・モジュール３０６のブロック図を示す。充電イベント・アナライザー６０２は、図５のステップ５０２を実行するように構成することができ、充電イベント指示３１２によって示される充電イベントが、長期充電イベントであり、待ち行列に入れられた延期タスクを実行できるか否か予測する。
【００４８】
[0060]  充電イベント・アナライザー６０２は、種々の方法で、ステップ５０２の予測を行うように構成することができる。例えば、図６に示すように、充電イベント・アナライザー６０２は、充電プロファイル・データー６０４を受け取ることができる。充電プロファイル・データー６０４は、移動体デバイス１０２（図１）のバッテリー１１８についての充電プロファイルを示すデーターを含む。例えば、充電プロファイル・データー６０４は、バッテリー１１８の充電履歴、ユーザーによる充電優先度(preference)の手作業による入力、および／または他の要因というような要因に基づいて生成することができる。充電イベント・アナライザー６０２は、充電プロファイル・データー６０４を分析して、特定の充電イベントが、十分に長期の充電イベントであり、待ち行列に入れられた延期タスクをその充電イベントの間に実行されるようイネーブルできるか否か予測することができる。
【００４９】
[0061]  充電プロファイル・データー６０４は、任意の形態のデーターを含むことができ、１分毎、１時間毎、１週間の各曜日、および／または任意の他の時間期間を含む種々の時間におけるバッテリー１１８の充電の確率を示すデーター構造（例えば、リスト、参照テーブル、データーのアレイ、データーベース等）の形態とすることを含む。
【００５０】
[0062]  充電プロファイル・データー６０４は、種々の方法で生成することができる。例えば、図７は、一実施形態例にしたがって、充電プロファイルを生成するように構成されている待ち行列イネーブラー・モジュール３０６のブロック図を示す。図７に示すように、待ち行列イネーブラー・モジュール３０６は、ストレージ７０２、任意のユーザー・インターフェース・モジュール７０４、および充電プロファイル・ジェネレーター７０６を含む。図７の待ち行列イネーブラー・モジュール３０６は、ストレージ７０２に格納されていることが示されている充電プロファイル・データー６０４を、種々のタイプの情報の内１つ以上に基づいて、生成することができる。種々のタイプの情報には、ユーザーによって入力された情報、移動体デバイスのパラメータ、移動体デバイスの１人以上のユーザーに関する情報、移動体デバイスのバッテリーの充電履歴、および／または他の情報が含まれる。尚、ストレージ７０２は、１つ以上のメモリー・デバイス、ハード・ディスク・ドライブ、および／または本明細書の他のところで説明したまたはそれ以外で周知の他のコンピューター記憶媒体を含んでもよいことを注記しておく。
【００５１】
[0063]  ユーザー・インターフェース・モジュール７０４は、ユーザー・インターフェースを設けることができ、移動体デバイスのユーザーは、このユーザー・インターフェースにおいて、手作業で充電プロファイル情報を入力することができる。例えば、ユーザーは、充電が好ましい時間および／または日付け、ならびに充電が好ましくないまたは禁止される時間および／または日付けを入力することができる。ユーザー・インターフェース・モジュール７０４は、移動体デバイス１０２によって設けられた任意のタイプのユーザー・インターフェース・エレメントの内１つ以上から充電プロファイル情報を受け取ることができる。ユーザー・インターフェース・エレメントには、キーボード、サム・ホイール、ポインティング・デバイス、ローラー・ボール、スティック・ポインター、タッチ感応ディスプレイ、任意の数の仮想インターフェース・エレメント、音声認識システム等が含まれる。図７に示すように、ユーザー・インターフェース・モジュール７０４は、手作業で入力された充電プロファイル情報７１２を出力する。
【００５２】
[0064]  また、待ち行列イネーブラー・モジュール３０６は、デバイス・データー７０８も受け取ることができる。デバイス・データー７０８は、移動体デバイス１０２のストレージ（例えば、ストレージ７０２）に格納することができる。デバイス・データー７０８は、移動体デバイス１０２および／またはバッテリー１１８についての情報を含むことができ、バッテリー１１８の充電容量、バッテリー１１８の充電率、バッテリー１１８の現在の充電レベル等のような、充電プロファイル・データー６０４を生成するために使用することができる。更に、デバイス・データー７０８は、ＧＰＳ（汎地球測位システム）機能、マイクロフォン、光感応、動き、音声コールが行われているか否か、カレンダー・コンテンツ、および／または処理集約機能（例えば、データー同期）の使用というような、移動体デバイス１０２の他の感応／感覚形態も含むことができ、これらは、充電プロファイル・データー６０４を生成するために使用することができる。
【００５３】
[0065]  また、待ち行列イネーブラー・モジュール３０６は、ユーザー・データー７１０も受け取ることができる。ユーザー・データー７１０は、移動体デバイス１０２のストレージ（例えば、ストレージ７０２）に格納することができ、または移動体デバイス１０２からリモートのデバイス（例えば、「クラウド」ベース・サーバー、ウェブサイト、ユーザー・アカウント等）から受信することもできる。ユーザー・データー７１０は、移動体デバイス１０２のユーザーについての情報を含むことができ、ユーザーのスケジュールを示すユーザーのカレンダー（例えば、ワシントン州、RedmondのMicrosoft社が提供するMicrosoft Office Outlook（登録商標）のようなカレンダー・ツール）のような、充電プロファイル・データー６０４を生成するために使用することができる。
【００５４】
[0066]  また、待ち行列イネーブラー・モジュール３０６は、充電イベント指示３１２も受け取ることができる。充電イベント指示３１２は、前述のように、充電イベントが開始されたこと（例えば、バッテリー１１８が充電器１０６に結合された）および進行中であることを示す。図７に示すように、充電プロファイル・ジェネレーター７０６は、充電イベント指示３１２、デバイス・データー７０８、ユーザー・データー７１０、および手作業で入力された充電プロファイル情報７１２を受け取ることができる。好ましい実施形態に依存して、充電イベント指示３１２、デバイス・データー７０８、ユーザー・データー７１０、および手作業で入力された充電プロファイル情報７１２の内任意の１つ以上が受け取られればよい。充電プロファイル・ジェネレーター７０６は、充電イベント指示３１２、デバイス・データー７０８、ユーザー・データー７１０、および／または手作業で入力された充電プロファイル情報７１２を使用して、充電プロファイル・データー６０４を生成することができる。
【００５５】
[0067]  例えば、充電プロファイル・ジェネレーター７０６は、時間的に充電イベント指示３１２を監視して、バッテリー１１８が一貫して充電されている時間期間／日付けを判定することができる。同様に、充電プロファイル・ジェネレーター７０６は、時間的に充電イベント指示３１２を監視して、バッテリー１１８が充電されている可能性が低い時間期間／日付けを判定することもできる。充電プロファイル・ジェネレーター７０６は、種々の時間におけるバッテリー充電の頻度に基づく確率を含む充電プロファイル・データー６０４を生成することができる。充電プロファイル・ジェネレーター７０６は、バッテリー１１８の充電が高い確率で行われそうな時間／日付け（例えば、７５％より高いまたは他の確率）を示すため、そしてバッテリー１１８の充電が低い確率で行われそうな時間／日付け（例えば、２５％よりも低いまたは他の確率）を示すために、充電プロファイル・データー６０４を生成することができる。充電プロファイル・ジェネレーター７０６は、デバイス・データー７０８、ユーザー・データー７１０、および手作業で入力された充電プロファイル情報７１２の内１つ以上に基づいて、充電プロファイル・データー６０４を変更することができる。例えば、移動体デバイス１０２のユーザーが、生成された充電プロファイル・データーよりも手作業で入力された充電プロファイル・データーを優先することを望む場合、充電プロファイル・ジェネレーター７０６は、充電プロファイル・データー６０４を、手作業で入力された充電プロファイル情報７１２で変更することができ、充電プロファイル・データー６０４を完全に置き換えることも含む。充電プロファイル・ジェネレーター７０６は、バッテリー１１８の能力、および／または前述のデバイス・データー７０８またそうでなければ既知の他のデバイス・データー７０８に基づいて、充電プロファイル・データー６０４を変更することができる。更に、充電プロファイル・ジェネレーター７０６は、前述のユーザー・データー７１０またそうでなければ既知のユーザー・データー７１０に基づいて、充電プロファイル・データー６０４を変更することもできる。
【００５６】
[0068]  その結果、１日の異なる時間における充電確率を、移動体デバイスについて判定することができる。例えば、図８は、一実施形態による、充電確率（Y軸）対時間（X軸）の関係のプロット８０２を示すグラフ８００を示す。グラフ８００は、例示の目的で図８に示されるに過ぎず、限定を意図するのではない。プロット８０２は、ユーザーの移動体デバイスの充電習慣に基づいて充電プロファイル・ジェネレーター７０６によって生成された充電プロファイル・データー６０４を視覚的に表すことができる。図８に示すように、プロット８０２は、特定の１日の間における異なる時点での充電確率を示す。尚、１週間の各曜日、１月の各日、１年の各日等について、所望に応じて、同様の充電プロファイル・データーを生成できることを注記しておく。
【００５７】
[0069]  図８の例では、プロット８０２は、ユーザーが午後１０時頃から午前７時頃までの典型的な睡眠／夜間の時間帯に高い充電確率を有することを示す。これは、ユーザーが夜間のこの時間中に睡眠を取るときに、彼／彼女の移動体デバイスを充電器に結合するからであろう。遅番で働く他の人、または他の睡眠予定を有する他の人は、夜間の時間帯には低い充電確率を有するであろう。
【００５８】
[0070]  更に、プロット８０２は、ユーザーが午前７時頃から午後１時頃までは比較的低い充電確率を有することを示す。この時間期間における充電確率は、午前９時頃から午前９時半頃までに充電確率が比較的高くなることを除いて（０．８の確率）、ほぼ零である。午前９時頃から午前９時半頃までは、ユーザーが会社まで運転するときに、彼／彼女の移動体デバイスを車載充電器に結合することがある。プロット８０２は、ユーザーが、午後１時頃から午後３時頃までの午後の間、比較的低い充電確率（例えば、０．１５）を有することを示す。例えば、ユーザーは、場合によっては、午後に彼／彼女の移動体デバイスを彼／彼女のコンピューター（例えば、ＵＳＢベースの充電器）に結合することがある。更に、プロット８０２は、午後３時頃から午後１０時頃までは、比較的低い充電確率を有することも示す。この時間期間における充電確率は、午後４時頃から午後４時半頃までを除いて（０．１５の確率）、ほぼ零である。午後４時頃から午後４時半頃までは、ユーザーが会社から自宅まで運転するときに、場合によっては彼／彼女の移動体デバイスを車載充電器に結合することがある。
【００５９】
[0071]  一実施形態によれば、待ち行列イネーブラー・モジュール３０６は、充電イベント・アナライザー６０２（図６）によって、充電が長期充電イベントになると予測された場合、充電イベントの間に、待ち行列に入れられた延期可能なタスク（１つまたは複数）を実行されるようイネーブルする（図２のステップ２０６）。例えば、図８のプロット８０２によって表される充電プロファイルの例を参照すると、午後１０時から午前７時または午後１時から午後３時の間に、充電イベントが発生し、充電イベント指示３１２によって示されると、充電イベント・アナライザー６０２は、この充電イベントが長期充電イベントになると予測することができる。何故なら、これらの時間期間における充電プロファイル確率が比較的高く、充電が行われる典型的な時間期間が、所定のしきい値（例えば、１時間よりも長い、または他の所定の時間しきい値）よりも長いと予測されるからである。このような場合、待ち行列イネーブラー・モジュール３０６は、延期タスク・イネーブル信号３１４を生成して、タスク待ち行列処理モジュール３０２によって待ち行列に入れられた延期可能なタスクをイネーブルできることを示すことができる。午後１０時から午前７時および午後１時から午後３時の時間期間以外で、充電イベントが発生し、充電イベント指示３１２によって示された場合、充電イベント・アナライザー６０２は、この充電イベントが長期充電イベントではない（即ち、比較的短期間の充電イベントである）と予測することができる。何故なら、これらの時間期間における充電プロファイル確率は比較的低いからであり、および／または予測される充電時間期間が比較的短いからである。例えば、午前９時から午前９時半までは、バッテリー充電の確率が高いが、予測される時間期間（３０分）は、待ち行列に入れられたタスクの実行を完了するには短すぎるであろう。このような場合、待ち行列イネーブラー・モジュール３０６は、延期タスク・イネーブル信号３１４を生成し、タスク待ち行列処理モジュール３０２によって待ち行列に入れられた延期可能なタスクをイネーブルできないことを示すことができる。
【００６０】
[0072]  したがって、実施形態によれば、図１のタスク・スケジューラー１１６は、長期充電イベントが発生すると予測されるまで、延期可能タスクを延期させることができる。更に、先に説明したように、延期可能でないタスクは、タスク・スケジューラー１１６によって検出することができ、したがって、充電イベントを待つことなく、リアル・タイムで実行されるようイネーブルすればよい。
【００６１】
[0073]  例えば、図９は、一実施形態例にしたがって、延期不可能なタスクを処理するプロセスを表すフローチャート９００を示す。一実施形態では、フローチャート９００は、図１のタスク・スケジューラー１１６、図３のタスク・スケジューラー３００、および／または他の実施形態によって実行することができる。更に他の構造および動作に関する実施形態も、フローチャート９００に関する以下の論述に基づくことにより、関連技術（１つまたは複数）の当業者には明白であろう。
【００６２】
[0074]  フローチャート９００は、ステップ９０２から開始する。ステップ９０２において、特定のタスクを実行する要求を受けることができる。例えば、図３を参照すると、タスク待ち行列処理モジュール３０２は、デバイス動作ロジック１１４によってタスクを実行することが望まれることを示すタスク実行要求３０８を、デバイス動作ロジック１１４から受けることができる。
【００６３】
[0075]  ステップ９０４において、そのタスクが延期可能でないと判定することができる。例えば、先に説明したように、タスク待ち行列処理モジュール３０２は、指示されたタスクを分析して、それが延期可能か否か判断することができる。一実施形態では、タスク待ち行列処理モジュール３０２は、示されたタスクを、延期可能なタスクの所定のリストと比較すること、および／または本明細書において説明した他の技法を実行して、示されたタスクを延期してもよいか否か判断することができる。示されたタスクが所定のリストにない場合、または他の延期可能タスク検査で不合格であった場合、タスク待ち行列処理モジュール３０２は、示されたタスクが延期可能でないと判断することができる。
【００６４】
[0076]  ステップ９０６において、充電イベントの前に、特定のタスクを実行されるようイネーブルする。例えば、図３に示すように、タスク待ち行列処理モジュール３０２は、タスク・イネーブル信号１２４を生成することができる。このタスク・イネーブル信号１２４は、図１のデバイス動作ロジック１１４が受け取ることができる。タスクは延期可能でないと判断されたので、タスク待ち行列処理モジュール３０２は、タスク・イネーブル信号１２４を生成して、タスクをイネーブルし、リアル・タイムで実行すればよい（充電イベントを待つことなく）ことを、デバイス動作ロジック１１４に示す。
【００６５】
[0077]  尚、延期されたタスクは、早く（充電イベントの前に）実行する必要があると後に判断されることもあることを注記しておく。例えば、図１０は、一実施形態例にしたがって、延期ステータスからタスクを取り除くプロセスを表すフローチャート１０００を示す。一実施形態では、フローチャート１０００は、図１のタスク・スケジューラー１１６、図３のタスク・スケジューラー３００、および／または他の実施形態によって実行することができる。更に他の構造および動作に関する実施形態も、フローチャート１０００に関する以下の論述に基づくことによって、関連技術（１つまたは複数）の当業者には明白であろう。
【００６６】
[0078]  フローチャート１０００は、ステップ１００２から開始する。ステップ１００２において、ファイルに関連する延期可能なタスクを、後の実行のために、待ち行列に入れる。例えば、フローチャート２００のステップ２０２に関して先に説明したように、延期可能なタスクは、タスク待ち行列処理モジュール３０２によって、後の実行のために待ち行列に入れることができる。
【００６７】
[0079]  ステップ１００４において、このファイルに関する要求をユーザーから受ける。一実施形態では、ユーザーは、ステップ１００２にしたがって後の実行のために待ち行列に入れたファイルに関する要求を行うこともできる。この要求は、図１のデバイス動作ロジック１１４から、タスク待ち行列処理モジュール３０２によって受けることができる。例えば、このファイルは、ユーザーが以前にダウンロードしたがまだインストールされていないアプリケーション（例えば、「アプリ」）の一部であってもよく、ユーザーはこのアプリケーションの起動または実行を要求しているのでもよい。このアプリケーションは、充電イベントの間にインストールされるために、延期タスクとして待ち行列に入れられているのでもよい。しかしながら、ユーザーは今アプリケーションを実行したいので、アプリケーションのインストールはもはや延期することができない。他の例では、そのファイルは以前にダウンロードされたのであるが、このファイルのスキャニングによって、延期可能なタスクとして待ち行列に入れたという場合もあり得る。ユーザーは今ファイルにアクセスしたいので、ファイルのスキャニングをもはや延期することはできない。更に他の例では、ファイルのダウンロードが、延期可能なタスクとして待ち行列に入れたという場合もある。ユーザーは、今ファイルにアクセスしたいので、ファイルのダウンロード（および任意のスキャニング）をもはや延期することはできない。
【００６８】
[0080]  ステップ１００６において、この要求を受けたことにより、この延期可能なタスクを待ち行列から取り除く。一実施形態では、タスク待ち行列処理モジュール３０２は、ステップ１００４における要求に関係するファイルに関連するタスクを、延期タスク待ち行列から消去することができる。
【００６９】
[0081]  ステップ１００８において、このファイルに関する動作を、要求を受けた結果として実行する。一実施形態では、タスク待ち行列処理モジュール３０２は、タスク・イネーブル信号１２４を生成することができ、この信号１２４を図１のデバイス動作ロジック１１４が受け取ることができ、そのタスクをイネーブルし、リアル・タイムで（充電イベントを待つことなく）実行できることを、デバイス動作ロジック１１４に示すことができる。したがって、このファイルに関するユーザーの要求は、直ちに遂行することができる。一実施形態では、タスク・イネーブル信号１２４を自動的に生成することもできる。他の実施形態では、タスクを実行すべきか否か要求するユーザー・インターフェースを生成することもできる。ユーザーが、タスクを実行すべきことを示した場合、タスクをイネーブルすることをデバイス動作ロジック１１４に示すタスク・イネーブル信号１２４を生成することができる。ユーザーが、タスクを実行すべきでないことを示した場合、タスクをイネーブルすることをデバイス動作ロジック１１４に示すタスク・イネーブル信号１２４を生成しなければよく、任意に、ステップ１００４のユーザーの要求を拒否することができる。このような場合、ステップ１００６を実行しないのでもよい（例えば、延期可能タスクは待ち行列内に留まってもよい）。
【００７０】
[0082]  更に、場合によっては、延期されたタスクを充電中に実行することなく、デバイスの充電を進めることをユーザーが望むこともあり得ることを注記しておく。例えば、ユーザーは、延期されたタスクを実行するには、充電の時間長が短すぎるかもしれないということを知っている場合もあり、あるいはデバイスのバッテリーをできるだけ速く再充電することを望んでおり、したがってタスクが充電電流を垂れ流しにするのを望んでいないという場合もある。したがって、移動体デバイス１０２のユーザー・インターフェースは、充電イベントの間に、延期されたタスクをいつ実行するか、ユーザーに示すことができる。更に、ユーザー・インターフェースは、無視スイッチ（実在のまたは仮想の）または他のユーザー・インターフェース・エレメント（例えば、「延期タスク禁止？」クエリーまたは他のグラフィカル・ユーザー・インターフェースの表示されるエレメント）を設けることができ、ユーザーがこれと対話処理して、延期可能なタスクの内１つ以上が、移動体デバイス１０２のバッテリー１１８の充電中に行われることを禁止することができる。
ＩＩＩ．計算デバイスの実施形態例
[0083]  タスク・スケジューラー１１６、充電モジュール１２０、タスク・スケジューラー３００、タスク待ち行列処理モジュール３０２、充電モニター３０４、待ち行列イネーブラー・モジュール３０６、充電イベント・アナライザー６０２、ユーザー・インターフェース・モジュール７０４、充電プロファイル・ジェネレーター７０６、ステップ５０２、ならびにフローチャート２００、９００、および１０００は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組み合わせで実現することができる。例えば、タスク・スケジューラー１１６、充電モジュール１２０、タスク・スケジューラー３００、タスク待ち行列処理モジュール３０２、充電モニター３０４、待ち行列イネーブラー・モジュール３０６、充電イベント・アナライザー６０２、ユーザー・インターフェース・モジュール７０４、充電プロファイル・ジェネレーター７０６、フローチャート２００、ステップ５０２、フローチャート９００、および／またはフローチャート１０００は、１つ以上のプロセッサーにおいて実行されるように構成されたコンピューター・プログラム・コードとして実現することができる。あるいは、タスク・スケジューラー１１６、充電モジュール１２０、タスク・スケジューラー３００、タスク待ち行列処理モジュール３０２、充電モニター３０４、待ち行列イネーブラー・モジュール３０６、充電イベント・アナライザー６０２、ユーザー・インターフェース・モジュール７０４、充電プロファイル・ジェネレーター７０６、フローチャート２００、ステップ５０２、フローチャート９００、および／またはフローチャート１０００は、ハードウェア・ロジック／電子回路として実現することもできる。例えば、一実施形態では、タスク・スケジューラー１１６、充電モジュール１２０、タスク・スケジューラー３００、タスク待ち行列処理モジュール３０２、充電モニター３０４、待ち行列イネーブラー・モジュール３０６、充電イベント・アナライザー６０２、ユーザー・インターフェース・モジュール７０４、充電プロファイル・ジェネレーター７０６、フローチャート２００、ステップ５０２、フローチャート９００、および／またはフローチャート１０００は、チップ上システム（ＳｏＣ）において実現することもできる。ＳｏＣは、プロセッサー（例えば、マイクロコントローラー、マイクロプロセッサー、ディジタル信号プロセッサー（ＤＳＰ）等）、メモリー、１つ以上の通信インターフェース、および／またはそれ以外の回路および／またはその機能を実行するための埋め込みファームウェアの内１つ以上を含む集積回路チップを含むことができる。
【００７１】
[0084]  図１１は、本発明の実施形態を実現することができるコンピューター１１００の実現例を示す。例えば、移動体デバイス１０２は、コンピューター１１００の１つ以上の特徴および／または代わりの特徴を含む、コンピューター１１００と同様の移動体コンピューター・システム内に実現することができる。更に、サーバー１０４は、コンピューター１１００と同様の１つ以上のコンピューター・システムにおいて実現することができる。コンピューター１１００は、例えば、従来のパーソナル・コンピューター、移動体コンピューター、ワークステーションの形態とした汎用計算デバイスでもよく、あるいはコンピューター１１０は特殊目的計算デバイスでもよい。本明細書において示すコンピューター１１００の説明は、例示の目的に限って提示されるのであって、限定であることは意図していない。本発明の実施形態は、関連技術（１つまたは複数）における当業者には周知のような、他のタイプのコンピューター・システムにおいても実現することができる。
【００７２】
[0085]  図１１に示すように、コンピューターは、処理ユニット１１０２、システム・メモリー１１０４、およびシステム・メモリー１１０４を含む種々のシステム・コンポーネントを処理ユニット１１０２に結合するバス１１０６を含む。バス１１０６は、メモリー・バスまたはメモリー・コントローラー、周辺バス、加速グラフィクス・ポート、および種々のバス・アーキテクチャーの内任意のものを使用するプロセッサー・バスまたはローカル・バスを含む、種々のタイプのバス構造の内任意のものの１つ以上を表す。システム・メモリー１１０４は、リード・オンリー・メモリー（ＲＯＭ）１１０８およびランダム・アクセス・メモリー（ＲＡＭ）１１１０を含む。基本入力／出力システム１１１２（ＢＩＯＳ）がＲＯＭ１１０８に格納されている。
【００７３】
[0086]  また、コンピューター１１００は、以下のドライブの内１つ以上も有する。ハード・ディスクから読み取るおよびハード・ディスクに書き込むためのハード・ディスク・ドライブ１１１４、リムーバブル磁気ディスク１１１８から読み取るまたはリムーバブル磁気ディスク１１１８に書き込むための磁気ディスク・ドライブ１１１６、ならびにＣＤ  ＲＯＭ、ＤＶＤ  ＲＯＭ、または他の光媒体のようなリムーバブル光ディスク１１２２から読み取るおよびリムーバブル光ディスク１１２２に書き込むための光ディスク・ドライブ１１２０。ハード・ディスク・ドライブ１１１４、磁気ディスク・ドライブ１１１６、および光ディスク・ドライブ１１２０は、それぞれ、ハード・ディスク・ドライブ・インターフェース１１２４、磁気ディスク・ドライブ・インターフェース１１２６、および光ドライブ・インターフェース１１２８によって、バス１１０６に接続されている。これらのドライブおよびこれらに関連するコンピューター読み取り可能媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、およびコンピューターのためのその他のデーターの不揮発性ストレージを設ける。ハード・ディスク、リムーバブル磁気ディスク、およびリムーバブル光ディスクについて説明したが、フラッシュ・メモリー・カード、ディジタル・ビデオ・ディスク、ランダム・アクセス・メモリー（ＲＡＭ）、リード・オンリー・メモリー（ＲＯＭ）等のような、他のタイプのコンピューター読み取り可能記憶媒体も、データーを格納するために使用することができる。
【００７４】
[0087]  ハード・ディスク、磁気ディスク、光ディスク、ＲＯＭ、またはＲＡＭ上には多数のプログラム・モジュールを格納することができる。これらのプログラムは、オペレーティング・システム１１３０、１つ以上のアプリケーション・プログラム１１３２、その他のプログラム・モジュール１１３４、およびプログラム・データー１１３６を含む。アプリケーション・プログラム１１３２またはプログラム・モジュール１１３４は、例えば、タスク・スケジューラー１１６、充電モジュール１２０、タスク・スケジューラー３００、タスク待ち行列処理モジュール３０２、充電モニター３０４、待ち行列イネーブラー・モジュール３０６、充電イベント・アナライザー６０２、ユーザー・インターフェース・モジュール７０４、充電プロファイル・ジェネレーター７０６、フローチャート２００、ステップ５０２、フローチャート９００、および／またはフローチャート１０００（フローチャート２００、９００、および１００の任意のステップを含む）、および／または本明細書において説明した更に他の実施形態を実現するためのコンピューター・プログラム・ロジックを含むことができる。
【００７５】
[0088]  ユーザーは、キーボード１１３８およびポインティング・デバイス１１４０のような入力デバイスを通じて、コマンドおよび情報をコンピューター１１００に入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー等が含まれる。これらおよびその他の入力デバイスは、多くの場合、バス１１０６に結合されているシリアル・ポート・インターフェース１１４２を介して処理ユニット１１０２に接続されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス（ＵＳＢ）のような他のインターフェースによって接続してもよい。
【００７６】
[0089]  ディスプレイ・デバイス１１４４も、ビデオ・アダプター１１４６のようなインターフェースを介してバス１１０６に接続されている。モニターに加えて、コンピューター１１００は、スピーカーおよびプリンターのような、他の周辺出力デバイス（図示せず）も含むことができる。
【００７７】
[0090]  コンピューター１１００は、アダプターまたはネットワーク・インターフェース１１５０、モデム１１５２、あるいはネットワークを通じて通信を作るその他の手段を介して、ネットワーク１１４８（例えば、インターネット）に接続されている。モデム１１５２は、内蔵型でも外付け型でもよく、シリアル・ポート・インターフェース１１４２を介してバス１１０６に接続されている。
【００７８】
[0091]  本明細書において使用する場合、「コンピューター・プログラム媒体」、「コンピューター読み取り可能媒体」、および「コンピューター読み取り可能記憶媒体」という用語は、一般に、ハード・ディスク・ドライブ１１１４に関連するハード・ディスク、リムーバブル磁気ディスク１１１８、リムーバブル光ディスク１１２２、更には、フラッシュ・メモリー・カード、ディジタル・ビデオ・ディスク、ランダム・アクセス・メモリー（ＲＡＭ）、リード・オンリー・メモリー（ＲＯＭ）等のような媒体を指す。このようなコンピューター読み取り可能記憶媒体は、通信媒体と区別され、通信媒体とは重複しない。通信媒体は、通例、搬送波のような変調データー信号内に、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、またはその他のデーターを具体化する。「変調データー信号」という用語は、信号内に情報をエンコードするように、その特性の１つ以上が設定または変更された信号を意味する。一例として、そして限定ではなく、通信媒体は、音響、ＲＦ、赤外線、およびその他のワイヤレス媒体というような、ワイヤレス媒体を含む。また、実施形態はこのような通信媒体も対象とする。
【００７９】
[0092]  先に注記したように、コンピューター・プログラムおよびモジュール（アプリケーション・プログラム１１３２および他のプログラム・モジュール１１３４を含む）は、ハード・ディスク、磁気ディスク、光ディスク、ＲＯＭ、またはＲＡＭに格納することができる。このようなコンピューター・プログラムは、ネットワーク・インターフェース１１５０またはシリアル・ポート・インターフェース１１４２を介して受信することもできる。このようなコンピューター・プログラムは、アプリケーションによって実行またはロードされると、コンピューター１１００が、本明細書において論じた本発明の実施形態の特徴を実現することを可能にする。したがって、このようなコンピューター・プログラムは、コンピューター１１００のコントローラーを表す。
【００８０】
[0093]  また、本発明は、いずれかのコンピューター使用可能媒体上に格納されているソフトウェアを備えているコンピューター・プログラム製品も対象とする。このようなソフトウェアは、１つ以上のデーター処理デバイスにおいて実行すると、データー処理デバイス（１つまたは複数）に本明細書で記載したように動作させる。本発明の実施形態は、現在知られているまたは今後知られることになる、いずれのコンピューター使用可能媒体またはコンピューター読み取り可能記憶でも採用する。コンピューター読み取り可能媒体の例には、ＲＡＭ、ハード・ドライブ、フロッピ・ディスク、ＣＤ  ＲＯＭ、ＤＶＤ  ＲＯＭ、Zipディスク、テープ、磁気記憶デバイス、光記憶デバイス、ＭＥＭ、ナノテクノロジーに基づく記憶デバイス等のような記憶デバイスを含むが、これらに限定されるのではない。
ＶＩ．結論
[0094]  以上、本発明の種々の実施形態について説明したが、これらは一例として紹介したに過ぎず、限定ではないことは言うまでもない。関連技術（１つまたは複数）の当業者には、添付する特許請求の範囲に定められる本発明の主旨および範囲から逸脱することなく、形態および詳細において種々の変更も可能であることは理解されよう。したがって、本発明の広さ(breadth)および範囲は、以上で説明した実施形態例のいずれによっても限定されはせず、以下の特許請求の範囲およびその均等物のみにしたがって定められることとする。
【図１】
2014523224.tif 000003
【図２】
2014523224.tif 000004
【図３】
2014523224.tif 000005
【図４】
2014523224.tif 000006
【図５】
2014523224.tif 000007
【図６】
2014523224.tif 000008
【図７】
2014523224.tif 000009
【図８】
2014523224.tif 000010
【図９】
2014523224.tif 000011
【図１０】
2014523224.tif 000012
【図１１】
2014523224.tif 000013
【国際調査報告】
2014523224.tif 000014
2014523224.tif 000015
2014523224.tif 000016