複数のアプリケーションを実行する計算デバイスにおける方法であって、複数のしきい値のうち1つのしきい値が満たされたか否かチェックするステップであって、前記複数のしきい値の各々が、前記複数のアプリケーションのうちの1つのアプリケーションの特性または前記計算デバイスのリソースの特性と関連付けられた、ステップと、前記しきい値が満たされていない場合、前記複数のアプリケーションが前記計算デバイスにおいて実行し続けることを許可するステップと、前記しきい値が満たされた場合、前記満たされたしきい値と関連付けられた前記特性に少なくとも部分的に基づいて、前記複数のアプリケーションから、停止する1つ以上のアプリケーションを選択するステップと、前記1つ以上のアプリケーションを停止するステップと、を含む、方法。請求項1記載の方法において、前記しきい値が関連付けられた前記計算デバイスの前記リソースの前記特性が、前記複数のアプリケーションによる前記計算デバイスのプロセッサーコアの使用度である、方法。請求項1記載の方法において、前記しきい値が関連付けられた前記計算デバイスの前記リソースの前記特性が、前記複数のアプリケーションのうち1つのアプリケーションによる前記計算デバイスのプロセッサーコアの使用度である、方法。請求項1記載の方法において、前記しきい値が関連付けられた前記計算デバイスの前記リソースの前記特性が、前記計算デバイスのメモリーの使用度である、方法。請求項1記載の方法において、前記しきい値が関連付けられた前記計算デバイスの前記リソースの前記特性が、前記計算デバイスの記憶デバイスの使用度である、方法。請求項1記載の方法において、前記しきい値が関連付けられた前記計算デバイスの前記リソースの前記特性が、前記計算デバイスの周期的ネットワーク使用度である、方法。請求項1記載の方法において、前記しきい値が関連付けられた前記アプリケーションの前記特性が、前記複数のアプリケーションのうち1つのアプリケーションのエージであり、前記複数のアプリケーションのうち前記1つのアプリケーションの前記エージが、前記複数のアプリケーションのうち前記1つのアプリケーションがフォアグラウンドにどの位長く存続していたかを示す、方法。請求項1記載の方法において、前記しきい値は、前記計算デバイスが内蔵バッテリーシステムとして動作している場合には第1しきい値となり、前記計算デバイスが差し込みシステムとして動作している場合には第2しきい値となり、前記第1しきい値および前記第2しきい値が、異なるしきい値である、方法。請求項1記載の方法において、前記複数のアプリケーションから、停止する1つ以上のアプリケーションを選択するステップが、前記複数のアプリケーションから、停止されるのを除外される少なくとも1つのアプリケーションを特定するステップであって、前記複数のアプリケーションのうち前記少なくとも1つのアプリケーションが、フォアグラウンドにおいて実行しているアプリケーションを含む、ステップと、前記複数のアプリケーションから停止する前記1つ以上のアプリケーションとして、前記複数のアプリケーションのうち前記少なくとも1つのアプリケーション以外の1つ以上のアプリケーションを選択するステップと、を含む、方法。請求項1記載の方法において、前記しきい値が前記計算デバイスのリソースと関連付けられ、前記複数のアプリケーションから停止する1つ以上のアプリケーションを選択するステップが、前記複数のアプリケーションから、最も大きい前記リソースの使用度を有する1つのアプリケーションを選択するステップを含む、方法。計算デバイスであって、プロセッサーと、複数の命令が格納された1つ以上のコンピューター読み取り可能媒体と、を含み、前記命令が前記プロセッサーによって実行されると、前記プロセッサーに、前記計算デバイスで実行しているバックグラウンドアプリケーションのリストを生成させ、前記リストにある前記バックグラウンドアプリケーションによる前記計算デバイスのリソースの使用度に少なくとも部分的に基づいて、前記リストにある前記バックグラウンドアプリケーションに優先順位を付けさせ、前記バックグラウンドアプリケーションのリストにおいてアプリケーションを選択させ、前記選択したアプリケーションを停止させる、計算デバイス。請求項11記載の計算デバイスにおいて、前記複数の命令が、更に、前記プロセッサーに、前記アプリケーションの選択、および前記選択したアプリケーションの停止を、前記計算デバイスの前記リソースの使用度がしきい値を満たさなくなるまで、繰り返させる、計算デバイス。請求項12記載の計算デバイスにおいて、前記しきい値は、前記計算デバイスが内蔵バッテリーシステムとして動作している場合には第1しきい値となり、前記計算デバイスが差し込みシステムとして動作している場合には第2しきい値となり、前記第1しきい値および前記第2しきい値が、異なるしきい値である、計算デバイス請求項11記載の計算デバイスにおいて、前記リストにおける前記アプリケーションの選択は、前記リストにおいて、最大の前記リソース使用度を有するアプリケーションを選択することである、計算デバイス。請求項11記載の計算デバイスにおいて、前記複数の命令が、更に、前記プロセッサーに、前記リソースと関連付けられたしきい値が満たされたことに応答して、前記生成、優先順位付け、選択、および停止を実行させる、計算デバイス。これらのアプリケーションは、その計算デバイスのユーザーが実際にアプリケーションを使用していなくても、計算デバイスリソースを使用し続ける可能性がある。複数の同時に実行しているアプリケーションが計算デバイスリソースを使用すると、計算デバイスの性能を低下させる可能性があり、このためユーザーの苛々や、不快なユーザー体験に至る可能性があるので、これは問題となり得る。0002この摘要は、詳細な説明の章において以下で更に説明する概念から選択したものを簡略化された形式で紹介するために、設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために使用されることを意図するのでもない。00031つ以上の態様によれば、複数のアプリケーションを実行する計算デバイスにおいて、複数のしきい値のうち1つのしきい値が満たされたか否かについてチェックを行う。複数のしきい値の各々は、複数のアプリケーションのうち1つの特性、または計算デバイスのリソースの特性と関連付けられている。しきい値が満たされなかった場合、複数のアプリケーションは、計算デバイスで実行し続けることが許可される。しかしながら、しきい値が満たされた場合、複数のアプリケーションのうち停止すべき1つ以上を、少なくとも部分的に、満たされたしきい値と関連付けられている特性に基づいて選択し、この選択したアプリケーションを停止する。00041つ以上の態様によれば、計算デバイスで実行するバックグラウンドアプリケーションのリストを生成する。このバックグラウンドアプリケーションのリストには、少なくとも部分的に、このリストにあるバックグラウンドアプリケーションによる計算デバイスのリソースの使用に基づいて、優先順位を付ける。バックグラウンドアプリケーションのリストにある1つのアプリケーションを選択し、この選択したアプリケーションを停止する。0011本明細書ではアプリケーションライフタイム管理について説明する。アプリケーションのエージ、プロセッサー使用度、メモリー使用度等というような、アプリケーションおよび/または計算デバイスリソースの種々の特性を監視する。これら監視した特性の各々には、しきい値が関連付けられており、これらのしきい値のうち少なくとも1つが満たされた場合、1つ以上のアプリケーションを選択して自動的に停止する。自動的に停止するために選択する1つ以上のアプリケーションは、少なくとも部分的に、満たされたしきい値、およびそのしきい値と関連付けられている特性に基づく。0012図1は、1つ以上の実施形態にしたがってアプリケーションライフタイム管理を実施する計算デバイス例100を示す。計算デバイス100は、種々の異なるタイプのデバイスとすることができる。例えば、計算デバイス100は、デスクトップコンピューター、ネットブックまたはラップトップコンピューター、ノートパッドまたはタブレットコンピューター、移動局、娯楽機器、ディスプレイデバイスと通信可能に結合されているセットトップボックス、テレビジョン、セルラまたはその他のワイヤレスフォン、ゲームコンソール、自動車用コンピューター等とすることができる。つまり、計算デバイス100は、かなりのメモリーおよびプロセッサーリソースを有する最大リソースのデバイス例えば、パーソナルコンピューター、ゲームコンソールから、メモリーおよび/または処理リソースが限られている、低リソースデバイス例えば、従前からのセットトップボックス、ハンドヘルドゲームコンソールまでの範囲を取ることができる。0013計算デバイス100は、1つ以上の電源によって電源を受ける。これらの電源は、外部電源または差し込み式電源とすることができ、このような電源からの電源で動作する場合、計算デバイス100は、差し込みシステムまたは差し込みデバイスとして動作すると呼ぶ。また、これらの電源は、バッテリーのような内部電源とすることもでき、このような電源からの電力で動作する場合、計算デバイス100はバッテリー内蔵システムまたはデバイスと呼ぶ。多くのタイプのデバイスは、個々の時点においてデバイスが動作している電源に依存して、異なる時点において、差し込みシステムまたはバッテリー内蔵システムとなることができる。しかしながら、異なるタイプのデバイスが、差し込みシステムだけ内部電源を有していないまたはバッテリー内蔵システムだけ外部電源を使用しないとなることもあり得る。0014計算デバイス100は、オペレーティングシステム102および1つ以上のアプリケーション104を含む。動作の間、オペレーティングシステム102およびアプリケーション104は、計算デバイス100上で実行し、オペレーティングシステム102がアプリケーション104を管理する。アプリケーション104の管理は、1つ以上のアプリケーション104を自動的に停止することを含む。これについては、以下で更に詳しく論ずる。アプリケーション104のライフタイムまたは使用期間とは、アプリケーションが実行している時間期間を指し、アプリケーションが動作し始めるときに開始し、アプリケーションが停止させられたときに終了する。0015オペレーティングシステム102は、システム情報収集モジュール106、およびアプリケーションライフタイム管理モジュール108を含む。システム情報収集モジュール106およびアプリケーションライフタイム管理モジュール108は、オペレーティングシステム102の一部であるとして示されているが、代わりに、モジュール106およびモジュール108の一方または双方を、オペレーティングシステム102とは別個に実装することもできる。0016システム情報収集モジュール106は、アプリケーション104および/または計算デバイス100のリソースの特性に関する種々の情報を収集する。アプリケーション104の特性に関する情報には、例えば、各アプリケーション104のエージが含まれる。アプリケーション014のエージとは、アプリケーション104がどの位前から例えば、分、時間、日等に関してフォアグラウンドに居続けているかを指す。アプリケーションがフォアグラウンドにいるのは、それが表示されているとき、またそれ以外では計算デバイスのユーザーインターフェースを通じて提示されているときである。アプリケーションが最小化されているときそして、任意に、アプリケーションの表示ウィンドウが、他のアプリケーションの表示ウィンドウによって覆われているときは、フォアグラウンドにあるのではなく、バックグラウンドアプリケーションと呼ばれる。また、アプリケーション104の特性に関する情報は、計算デバイス100上で実行しているアプリケーション104の数というような、アプリケーション104の他のプロパティも含むことができる。0017計算デバイス100のリソースには、プロセッサーおよび/またはプロセッサーコア、メモリー、ネットワーク接続等というような、計算デバイス100のハードウェアおよび/またはソフトウェアリソースが含まれる。計算デバイス100のリソースの特性に関する情報には、例えば、計算デバイス100のリソースの使用度に関する情報、計算デバイス100のリソースのプロパティを記述する情報等が含まれる。例えば、計算デバイス100のリソースの特性には、計算デバイス100のプロセッサーまたはプロセッサーコアのうち、全てのアプリケーション104全体によって使用されている量、計算デバイス100の各プロセッサーまたは各プロセッサーコアのうち、個々のアプリケーション各々によって使用されている量、スタンバイリスト上にあるメモリーページの平均ライフタイム、ネットワーク接続のタイプ例えば、特定のネットワーク接続がセルラワイヤレス接続、ワイヤレスローカルエリアネットワーク例えば、Wi-Fi接続等のうちどれなのか等を含むことができる。0018アプリケーションライフタイム管理モジュール108は、アプリケーション情報追跡モジュール112、トリガーモジュール114、アプリケーション選択モジュール116、および停止モジュール118を含む。アプリケーション情報追跡モジュール112は、システム情報収集モジュール106からアプリケーション104および/または計算デバイス100のリソースの特性に関する情報を受け取る。トリガーモジュール114は、アプリケーション情報追跡モジュール112によって受け取られた情報を監視し、アプリケーション104および/または計算デバイス100のリソースの特定の特性と関連付けられているしきい値が満たされたときを判断する。アプリケーション104および/または計算デバイス100のリソースと関連付けられているしきい値が満たされたとき、アプリケーション選択モジュール116は、アプリケーション104のうち、停止する1つ以上を選択する。停止モジュール118は、アプリケーション選択モジュール116によって選択された1つ以上のアプリケーションの停止を管理する。停止モジュール108は、アプリケーション選択モジュール116によって選択された1つ以上のアプリケーションを自動的に停止し、選択された1つ以上のアプリケーションを停止モジュール108が停止するために、アプリケーションを停止することのユーザー入力や確認を受け取る必要はない。0019アプリケーション情報追跡モジュール112は、システム情報収集モジュール106からの、アプリケーション104および/または計算デバイス100のリソースの種々の特性に関する情報を維持する。アプリケーション情報追跡モジュール112は、規則的な間隔または不規則な間隔で例えば、5秒毎システム情報収集モジュール106にこの情報を要求することができ、またはその代わりに、他のやり方で例えば、モジュール112がメッセージまたはその他の情報の更新を受け取るように、モジュール106に登録することができるモジュール106からこの情報を受け取ることができる。00201つ以上の実施形態では、アプリケーション情報追跡モジュール112によって維持される情報には、各アプリケーション104のエージ、計算デバイス100におけるプロセッサーコア毎のプロセッサー中央処理ユニット即ちCPUコアの使用度、メモリー使用度、計算デバイス100における記憶デバイス毎の記憶デバイス例えば、ハードディスク使用度、および計算デバイス100によって使用されるネットワーク接続毎のネットワーク接続使用度が含まれる。プロセッサーコア使用度は、例えば、全てのアプリケーション104によるプロセッサーコア容量の総合使用度例えば、最大プロセッサーコア容量の百分率として、および/または各アプリケーション104によるプロセッサー容量例えば、最大プロセッサーコア容量の百分率としての個別使用度である。このようなプロセッサーコア使用度アプリケーション全体であっても、または個々のアプリケーションであっても関係なくは、例えば、特定の間隔で例えば、5秒毎に特定の回数の間隔例えば、12回の間隔にわたって使用度の平均を取ることによって判断することができる。0021メモリー使用度は、例えば、全てのアプリケーション104によるメモリーの総合使用度、および/または各アプリケーション104によるメモリーの個々の使用度である。このようなメモリー使用度アプリケーション全体であっても、または個々のアプリケーションであっても関係なくは、例えば、例えば、直前の1分というような特定の時間期間、アプリケーションの使用期間等においてオペレーティングシステム102のメモリーマネージャーによって維持されているスタンバイリスト上にあるメモリーページの平均ライフタイムを決定することによって、判断することができる。また、このようなメモリー使用度は、アプリケーションに対して作業中の1組のメモリーページにおける平均メモリーページ数例えば、直前の1分というような特定の時間期間、アプリケーションの使用期間等におけるを判定することによってというように、異なるやり方で判断することもできる。0022記憶デバイス使用度は、例えば、全てのアプリケーション104による記憶デバイスの総合使用度、および/または各アプリケーション104による記憶デバイスの個々の使用度である。記憶デバイス使用度アプリケーション全体であっても、または個々のアプリケーションであっても関係なくは、例えば、記憶デバイスに対するアクセス頻度の平均を取ることによって、判定することができる例えば、直前の1分というような特定の時間期間、アプリケーションの使用期間等における。このような記憶デバイス使用度は、例えば、直前の1分というような特定の時間期間、アプリケーションの使用期間等において記憶デバイスに転送されたデーター量および/または記憶デバイスから転送されたデーター量を判定することによってというように、異なるやり方では判定することもできる。0023ネットワーク接続使用度は、例えば、全てのアプリケーション104によるネットワーク接続の総合使用度、および/または各アプリケーション104によるネットワーク接続の個々の使用度である。ネットワーク接続使用度アプリケーション全体であっても、または個々のアプリケーションであっても関係なくは、例えば、そのネットワーク接続を通じて例えば、直前の1分というような特定の時間期間、アプリケーションの使用期間等において伝達された送られたまたは受け取られたデーターの平均頻度を判定することによって、判定することができる。また、このようなネットワーク接続使用度は、例えば、直前の1分というような特定の時間期間、アプリケーションの使用期間等においてネットワーク接続を通じて伝達された送られたまたは受け取られたデーターの平均量を判定することによってというように、異なるやり方で判定することもできる。0024トリガーモジュール114は、アプリケーション情報追跡モジュール112によって維持されている情報を使用して、アプリケーション104および/または計算デバイス100のリソースの個々の特性と関連付けられているしきい値が満たされたときを判断する。1つ以上の実施形態では、アプリケーション情報追跡モジュール112によって情報が維持されている各特性は、それ自体の関連付けられたしきい値を有するしかし、複数のこのようなしきい値が同じ値を有する可能性もあることは注記してしかるべきである。トリガーモジュール114によって使用されるしきい値は、トリガーモジュール114の中に予め設定しておくことができ、あるいは代わりに計算デバイス100または他のデバイスの他のコンポーネントまたはモジュールから、トリガーモジュール114に供給するまたはそれ以外で入手することができる。00251つ以上の実施形態では、しきい値が満たされるのは、関連付けられている特性が、そのしきい値に等しい値またはそれを超える値を有する場合である。他の実施形態では、関連付けられている特性がそのしきい値を超える値を有する場合というように、異なるやり方でしきい値を満たすことができる。0026しきい値は、種々の異なるやり方で設定することができ、1つ以上の実施形態では、高度なシステム応答性および長いバッテリー寿命を維持するように設定される。ある種の特性がある種のしきい値が満たされたときにある種のアプリケーションを停止することによって、アプリケーションライフタイム管理モジュール108は、高度なシステム応答性および長いバッテリー寿命を維持しようとする。例えば、異なるデバイスの動作の経験的分析に基づいて、個々のしきい値を設定することができる。0027表1は、アプリケーション104および/または計算デバイス100のリソースの個々の特性について使用することができるしきい値の例を含む。尚、表1に含まれる例は例であって、他のしきい値および/または他の特性を代わりに使用することができることは認められてしかるべきである。表1は、差し込みシステムについて、個々の特性と関連付けられたしきい値の例を示す。0028表2は、アプリケーション104および/または計算デバイス100のリソースの個々の特性について使用することができる追加のしきい値例を含む。尚、表2に含まれる例は例であって、他のしきい値および/または他の特性を代わりに使用することができることは、認められてしかるべきである。表2は、バッテリー内蔵システムについて個々の特性と関連付けられているしきい値の例を示す。0029アプリケーション選択モジュール116は、しきい値が満たされたとトリガーモジュール114が判断したことに応答して、アプリケーション104の中から停止する1つ以上を選択する。この選択は、少なくとも部分的に、超過された特定のしきい値と関連付けられている特性に基づき、したがって、少なくとも部分的に、超過された特定のしきい値に基づく。アプリケーション選択モジュール116は、少なくとも1つのしきい値が満たされたときに、アプリケーション104から停止する1つ以上のアプリケーションを選択する。例えば、アプリケーション選択モジュール116は、1つのリソースについてのしきい値例えば、プロセッサー使用度、メモリー使用度等が満たされた場合、アプリケーション104から停止する1つ以上のアプリケーションを選択する。00301つ以上の実施形態では、アプリケーション選択モジュール116は、停止するアプリケーション104を選択し、この選択したアプリケーション104の指示を停止モジュール118に供給する。停止モジュール118は、選択されたアプリケーション104にそれ自体で停止することの要求を伝達することによって、オペレーティングシステム102の他のコンポーネントまたはモジュールと通信して、選択されたアプリケーション104の実行を終了させることによって等というように、選択されたアプリケーション104を、種々の異なるやり方のいずれかで停止する。選択されたアプリケーション104を停止した後、トリガーモジュール114は、直前に満たされたしきい値そして、選択されたアプリケーション104を停止することになったが未だ満たされているか否かチェックする。しきい値が未だ満たされている場合、アプリケーション選択モジュール116は、静止する他のアプリケーション104を選択する。しかしながら、アプリケーション値がもはや満たされていない場合、追加のアプリケーションを停止する必要はない。0031あるいは、アプリケーションを1つずつ選択するのではなく、アプリケーション選択モジュール116は、停止しようとする複数のアプリケーションを選択することもできる。例えば、アプリケーション選択モジュール116は、計算デバイス100の特定のリソース例えば、計算デバイス100におけるランダムアクセスメモリーRAMの特定の量、計算デバイス100におけるプロセッサーコアの特定の数等に基づいて、実行させておくべき特定数のアプリケーションを決定することができる。その特定数のアプリケーションだけが実行し続けるように、1つ以上のアプリケーションを選択する。0032アプリケーション選択モジュール116は、種々の異なるやり方で、どのアプリケーション104を停止するか選択することができる。1つ以上の実施形態では、アプリケーション選択モジュール116は、バックグラウンドで実行しているアプリケーションを含む1組のアプリケーションから、停止するアプリケーションを選択する。フォアグラウンドで実行しているしたがって、恐らくは、ユーザーに見えると考えられるユーザーインターフェースを表示しているアプリケーションは、停止するアプリケーションを選択する1組の中には含まれない。アプリケーションがフォアグラウンドで実行しているのかまたはバックグラウンドで実行しているのかということは、システム情報収集モジュール106によって維持されているアプリケーションの特性であり、この特性は、アプリケーションライフタイム管理モジュール108によってシステム情報収集モジュール106から引き出すことができる。0033加えて、1つ以上の実施形態では、アプリケーション情報追跡モジュール112によって維持されているアプリケーション104および計算デバイス100のリソースの特性は、アプリケーション選択モジュール116によって得られる。満たされたしきい値と関連付けられている特性について、その特性についての値に基づいて、バックグラウンドで実行している1組のアプリケーションに優先順位を付ける。アプリケーション選択モジュール116は、バックグラウンドにおいて実行している1組のアプリケーションから、最も有害なアプリケーション104を選択する。最も有害なアプリケーション104とは、その特性について最大値または最高値を有するアプリケーションである。例えば、最も高いリソース使用度を有するアプリケーション104、最も大きなエージの値を有するアプリケーション104例えば、最も古いアプリケーション104等である。一方、最も害が少ないアプリケーション104とは、最も低いリソース使用度を有するアプリケーション104、最も小さなエージの値を有するアプリケーション等である。例えば、プロセッサー使用度しきい値が満たされた場合、アプリケーション選択モジュール116は、最も大きなプロセッサー使用度を有するアプリケーションを、最も有害なアプリケーションとして選択し、このアプリケーションを、停止すべきアプリケーションとして選択する。例えば、5つの実行中アプリケーション104のプロセッサー使用度がそれぞれ20、5、4、4、および3であるとすると、プロセッサー使用度が20のアプリケーションが、最も高いプロセッサー使用度を有するアプリケーションとなり、停止するために選択されるアプリケーションとなる。あるいは、停止するために複数のアプリケーションを選択することもできる例えば、プロセッサー使用度が20のアプリケーション、およびプロセッサー使用度が5のアプリケーション。0034あるいは、バックグラウンドで実行している1組のアプリケーションから、停止するアプリケーションを選択するために、他の技法を使用することもできる。例えば、バックグラウンドで実行している1組のアプリケーションに、各アプリケーションが使用される頻度例えば、アプリケーションが実行している間におけるそのアプリケーションがフォアグラウンドで実行している時間の百分率に基づいて、各アプリケーションが最後にフォアグラウンドにあったのはいつかに基づいて等によって、優先順位を付けることができる。停止するアプリケーションとして選択されたアプリケーションは、使用された頻度が最も少ないアプリケーション、フォアグラウンドにあったのが最も古いアプリケーション等とすることができる。0035更に、1つ以上の実施形態では、1つ以上の異なるタイプのアプリケーションを、停止するアプリケーションとして、アプリケーション選択モジュール116によって選択されることから除外する。アプリケーション選択モジュール116には、停止するアプリケーションとしてアプリケーション選択モジュール116によって選択されることから除外される1つ以上のタイプのアプリケーションの指示を設定することができ、または代わりに他のモジュールまたはデバイスからこの指示を得ることができる。停止するアプリケーションとしてアプリケーション選択モジュール116によって選択されることから除外される特定のタイプのアプリケーションは、異なるやり方で、アプリケーション選択モジュール116の設計者あるいは計算デバイス100の管理者またはユーザーの要望に基づいて、決定することができる。0036尚、アプリケーション104および/または計算デバイス100のリソースの特性ならびに関連付けられたしきい値の種々の例について本明細書において論じているが、これらは例に過ぎず、代わりに他の特性を、本明細書において論ずる技法と共に使用することもできることは注記してしかるべきである。例えば、計算デバイス100上で実行しているアプリケーション104の数というような特性を使用することができ、トリガーモジュール114は、少なくともしきい値数のアプリケーション104が計算デバイス100上で実行している場合、しきい値が満たされたと判断することができる。他の例として、セルラワイヤレスネットワーク接続使用度に対する1つのしきい値、およびWi-Fiネットワーク接続使用度に対する別のしきい値というように、異なるしきい値を異なるタイプのネットワーク接続と関連付けることができる。0037図2は、1つ以上の実施形態にしたがってアプリケーションライフタイム管理を実施するシステム例200を示す。システム200は、例えば、図1の計算デバイス100によって実施することができる。システム200は、アプリケーションライフタイム管理モジュール202を含む。これは、例えば、図1のアプリケーションライフタイム管理モジュール108とすることができる。0038アプリケーションライフタイム管理モジュールは、アプリケーションおよび/またはリソース特性204をシステム情報収集モジュール206から受け取る。これらのアプリケーションおよび/またはリソース特性は、例えば、アプリケーション104および/または計算デバイス100のリソースの種々の特性に関する、図1のアプリケーション情報追跡モジュール112によって受け取られた情報とすることができる。これらのアプリケーションおよび/またはリソース特性204は、図1のシステム情報収集モジュール106のような、他のコンポーネントまたはモジュールを通じて受け取ることができる。0039また、アプリケーションライフタイム管理モジュール202は、アプリケーション識別子208もユーザーインターフェース管理モジュール210から受け取る。アプリケーション識別子208は、例えば、フォアグラウンドで現在実行しているアプリケーションを識別する。ユーザーインターフェース管理モジュール210は、現在フォアグラウンドにおいて実行しているアプリケーションの記録を維持し、これらのアプリケーションをその記録においてアプリケーション識別子208として供給する。これらのアプリケーション識別子は、図1のシステム情報収集モジュール106のような、他のコンポーネントまたはモジュールを通じて受け取ることもできる。0040アプリケーションライフタイム管理モジュール202は、アプリケーション/リソース特性204およびアプリケーション識別子208のうち1つ以上を使用して、停止する1つ以上のアプリケーション212を選択する。これら1つ以上のアプリケーションは、先に論じたように、異なるやり方で選択することができる。例えば、これらのアプリケーション212は、図1のアプリケーション104のうち1つ以上とすることができる。アプリケーションライフタイム管理モジュール202は、停止要求またはコマンド214をこれら1つ以上のアプリケーション212に伝達する。0041図3は、1つ以上の実施形態にしたがってアプリケーションライフタイム管理を実施するデバイスのためのプロセス例300を示すフローチャートである。プロセス300は、図1の計算デバイスのような計算デバイスによって実行され、ソフトウェア、ファームウェア、ハードウェア、またはその組み合わせによって実施することができる。プロセス300は、1組の動作actとして示されており、これら種々の動作の処理を実行するために示された順序には限定されない。プロセス300は、アプリケーションライフタイム管理を実施するデバイスのためのプロセス例であり、アプリケーションライフタイム管理実施についての、異なる図を参照する、追加の論述も本明細書には含まれる。0042プロセス300において、しきい値を超過しているか否かチェックを行う動作302。先に論じたように、このしきい値は、計算デバイス上で実行しているアプリケーションおよび/または計算デバイスのリソースの特性と関連付けられたしきい値である。0043しきい値を超過していない場合、計算デバイス上で実行しているアプリケーションは、計算デバイス上で実行し続けることが許される動作304。次いで、動作302を繰り返す例えば、規則的な間隔または不規則な間隔で。0044しかしながら、しきい値を超過している場合、停止する1つ以上のアプリケーションを選択する動作306。これら1つ以上のアプリケーションは、先に論じたように、異なるやり方で選択することができる。0045動作306において選択した1つ以上のアプリケーションを停止する動作308。次いで、動作302を繰り返す例えば、規則的な間隔または不規則な間隔で。0046図4は、1つ以上の実施形態にしたがって停止する1つ以上のアプリケーションを選択するプロセス例400を示すフローチャートである。プロセス400は、図1の計算デバイス100のような計算デバイスによって実行され、ソフトウェア、ファームウェア、ハードウェア、またはその組み合わせで実施することができる。プロセス400は、1組の動作として示されており、種々の動作の処理を実行するために示された順序には限定されない。プロセス400は、停止する1つ以上のアプリケーションを選択するプロセス例であり、停止する1つ以上のアプリケーションの選択についての、異なる図を参照する、追加の論述も本明細書には含まれる。0047プロセス400は、通例、計算デバイス上で実行しているアプリケーションおよび/または計算デバイスのリソースの特性と関連付けられたしきい値が満たされたことに応答して開始される。プロセス400において、バックグラウンドアプリケーションのリストを生成する動作402。バックグラウンドアプリケーションとは、計算デバイス上においてバックグラウンドで実行しているアプリケーションである。0048任意に、停止することから除外される1つ以上のアプリケーションを、生成したリストから除去する動作404。先に論じたように、異なるタイプのアプリケーションを、停止することから除外することができる。0049生成したリスト上に残っているアプリケーションに優先順位を付ける動作406。特定のリソースの使用度例えば、満たされたしきい値と関連付けられたリソース、エージ、使用頻度等にしたがってというように異なるやり方で、これらのアプリケーションに優先順位を付けることができる。0050生成したリスト上で、アプリケーションを選択する動作408。動作408において選択されたアプリケーションは、優先順位が最も高いアプリケーションである例えば、リソース使用度が最も高い、エージが最も古い、使用頻度が最も低い等。0051選択したアプリケーションを停止する動作410。先に論じたように、選択したアプリケーションは、異なるやり方で停止することができる。0052次いで、しきい値が未だ満たされているか否かチェックを行う動作412。しきい値が未だ満たされている場合、プロセス400は動作408に戻って、別のアプリケーションを選択する。あるいは、プロセス400は動作402に戻って、バックグラウンドアプリケーションのリストを再度生成することもできる。0053しきい値がもはや満たされていない場合、プロセス400を終了する動作414。加えて、停止することができる全てのアプリケーション例えば、全てのバックグラウンドアプリケーション、停止されることから除外されない全てのアプリケーション等が停止され終えている場合、しきい値がなおも満たされていても、プロセス400を終了する動作414。0054プロセス400については、リストを生成し、このリストから、停止されるのを除外されるアプリケーションを除去することを参照して論じた。代わりに、バックグラウンドアプリケーションのリストを生成して、優先順位を付け、生成したリスト上のアプリケーションを選択し、この選択したアプリケーションが、停止することから除外されない場合にのみ、このアプリケーションを停止することもできる。0055本明細書において論じた技法は、種々の使用シナリオをサポートする。例えば、特定のバックグラウンドアプリケーションが大量のプロセッサーまたはメモリーの容量を使用している場合、この特定のバックグラウンドアプリケーションを、停止するアプリケーションとして選択することができる。つまり、フォアグラウンドになく、デバイス100のユーザーによって現在使用されていないバックグラウンドアプリケーションを自動的に停止し、他のアプリケーションが使用するために、このバックグラウンドアプリケーションによって使用されていたリソースを解放する。単純に一番最後に使用されたアプリケーションを停止するのではなく、他のアプリケーションが使用するためにリソースを解放する高い確率を有するアプリケーションが、停止されるアプリケーションとなる。0056また、本明細書において論じたアプリケーションライフタイム管理技法は、ユーザーから、複数のアプリケーションを彼または彼女の計算デバイス上で管理する負担の一部を軽減する。ユーザーは、彼または彼女がもはやこれらのアプリケーションを使用しなくなったときに、これらのアプリケーションを停止することを考えることなく、望む通りにアプリケーションを実行することができる。逆に、本明細書において論じたアプリケーションライフタイム管理技法は、ユーザーのためにアプリケーションを自動的に停止し、現在ユーザーが使用しているアプリケーションではなく、バックグラウンドアプリケーションを停止するように配慮する。0057図5は、1つ以上の実施形態にしたがってアプリケーションライフタイム管理を実施するように構成することができる計算デバイス例500を示す。計算デバイス500は、例えば、図1の計算デバイス100とすることができる。0058計算デバイス500は、1つ以上のプロセッサーまたは処理ユニット502各々、1つ以上のプロセッサーコアを含むことができる、1つ以上のメモリーおよび/または記憶コンポーネント506を含むことができる1つ以上のコンピューター読み取り可能媒体504、1つ以上の入力/出力I/Oデバイス508、ならびに種々のコンポーネントおよびデバイスが互いに通信し合うことを可能にするバス510を含む。コンピューター読み取り可能媒体504および/または1つ以上のI/Oデバイス508は、計算デバイス500の一部として含ませることができ、あるいは計算デバイス500に結合するのでもよい。バス510は、種々の異なるバスアーキテクチャーを使用する、メモリーバスまたはメモリーコントローラ、周辺バス、加速グラフィクスポート、プロセッサーまたはローカルバス等を含む、様々なタイプのバス構造のうち1つ以上を表す。バス510は、有線バスおよび/またはワイヤレスバスを含むことができる。0059メモリー/記憶コンポーネント506は、1つ以上のコンピューター記憶媒体を表す。コンポーネント506は、揮発性媒体ランダムアクセスメモリーRAMのような、および/または不揮発性媒体リードオンリメモリーROM、フラッシュメモリー、光ディスク、磁気ディスク等のようなを含むことができる。コンポーネント506は、固定媒体例えば、RAM、ROM、固定ハードディスク等、およびリムーバブル媒体例えば、フラッシュメモリードライブ、リムーバブルハードドライブ、光ディスク等を含むことができる。0060本明細書において論じた技法は、ソフトウェアで実施することができ、1つ以上の処理ユニット502によって命令を実行する。尚、処理ユニット502内、処理ユニット502の種々のキャッシュメモリー内、デバイス500の他のキャッシュメモリー図示せず内、他のコンピューター読み取り可能媒体上等というように、計算デバイス500の異なるコンポーネントに異なる命令を格納することができることは、認められてしかるべきである。加えて、計算デバイス500において命令が格納される場所は、ときの経過と共に変化する可能性があることも認められてしかるべきである。00611つ以上の入力/出力デバイス508は、ユーザーがコマンドおよび情報を計算デバイス500に入力することを可能にし、更に情報をユーザーおよび/または他のコンポーネントまたはデバイスに提示することを可能にする。入力デバイスの例には、キーボード、カーソル制御デバイス例えば、マウス、マイクロフォン、スキャナー等が含まれる。出力デバイスの例には、ディスプレイデバイス例えば、モニターまたはプロジェクター、スピーカー、プリンター、ネットワークカード等が含まれる。0062本明細書では、ソフトウェアまたはプログラムモジュールという一般的なコンテキストで、種々の技法について説明した。一般に、ソフトウェアは、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造等を含み、特定のタスクを実行するか、または特定の抽象データータイプを実装する。これらのモジュールおよび技法の実施態様は、何らかの形態のコンピューター読み取り可能媒体上に格納すること、またはこれを介して送信することもできる。コンピューター読み取り可能媒体は、計算デバイスによってアクセスすることができる入手可能な1つまたは複数の任意の媒体でも可能である。一例として、そして限定ではなく、コンピューター読み取り可能媒体は、コンピューター記憶媒体および通信媒体を含むことができる。0063コンピューター読み取り可能媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピューター読み取り可能命令、データー構造、プログラムモジュール、またはその他のデーターというような、情報の格納のためのいずれかの方法または技術で実現されたものである。コンピューター記憶媒体は、限定ではなく、RAM、ROM、EEPROM、フラッシュメモリーまたはその他のメモリー技術、CD-ROM、ディジタルバーサタイルディスクDVDまたはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために使用することができしかもコンピューターがアクセスすることができる他の任意の媒体を含む。0064通信媒体は、通例、コンピューター読み取り可能命令、データー構造、プログラムモジュール、またはその他のデーターを、搬送波またはその他の伝達メカニズムというような変調データー信号の中に具体化する。また、通信媒体は、あらゆる情報配信媒体も含む。変調データー信号という用語が意味するのは、信号が特性を有し、情報をその信号の中にエンコードするようなやり方で、その特性の1つ以上が設定または変更されているということである。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体、ならびに音響、RF、赤外線、およびその他のワイヤレス媒体というような、ワイヤレス媒体を含む。以上のうちのあらゆるものの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれるものとする。0065一般に、本明細書において記載した機能または技法は、そのいずれも、ソフトウェア、ファームウェア、ハードウェア例えば、固定論理回路、手動処理、またはこれらの実施態様の組み合わせを使用して実現することができる。モジュールおよびコンポーネントという用語は、本明細書において使用する場合、ソフトウェア、ファームウェア、ハードウェア、またはその組み合わせを総合的に表す。ソフトウェアの実施態様の場合、モジュールまたはコンポーネントは、プロセッサー例えば、1つまたは複数のCPU上において実行されると、指定されたタスクを実行するプログラムコードを表す。プログラムコードは、1つ以上のコンピューター読み取り可能メモリーデバイスに格納することができ、これに関するこれ以上の説明は、図5を参照して見いだすことができる。本明細書において記載したアプリケーションライフタイム管理技法の特徴は、プラットフォーム独立ということであり、これが意味するのは、本技法は、種々のプロセッサーを有する種々の商用計算プラットフォーム上において実現できるということである。0066以上、本主題について、構造的特徴および/または方法論的動作に特定的な文言で説明したが、特許請求の範囲において定義する主題は、必ずしも以上で説明した特定的な特徴や動作には限定されないことは言うまでもない。逆に、以上で説明した特徴および動作は、特許請求の範囲を実施する形態例として開示したまでである。