(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイス上で実行されるユーザインターフェースの方法であって、
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるリソースの使用量を示す視覚的インジケータを含むリソース利用率マップへと変換するステップ(904)と、
第1の視覚的インジケータが対応する表示要素に重畳されるように、前記リソース利用率マップを表示するステップ(906)と、
前記表示されたリソース利用率マップに応答してユーザ入力を受信するステップ(908)であって、前記ユーザ入力は、前記第1の視覚的インジケータの形を調整する、ステップと、
前記受信したユーザ入力に基づいて前記コンピューティングデバイスのリソースを割り当てるステップ(910)であって、前記リソースは、前記第1の視覚的インジケータの前記形の前記調整に基づいて割り当てられる、ステップと、
を含む動作によって特徴付けられる、ユーザインターフェースの方法。
【請求項２】
リソース利用率情報を取得するステップを含む動作によってさらに特徴付けられる、請求項1に記載のユーザインターフェースの方法。
【請求項３】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換する前記動作が、
リソース利用率に関する情報をヒートマップ形式のリソース利用率マップへと変換するステップを含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を色によって示す色重畳表示を生成することを含む、請求項1に記載のユーザインターフェースの方法。
【請求項４】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換する前記動作が、
リソース利用率に関する情報を棒グラフ形式のリソース利用率マップへと変換するステップを含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を棒グラフの棒の高さによって示す、前記表示要素とともに提示される前記棒グラフを含む、請求項1に記載のユーザインターフェースの方法。
【請求項５】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換する前記動作が、
リソース利用率に関する情報を持ち上げ形式のリソース利用率マップへと変換するステップを含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を影の大きさによって示す、前記表示要素に加えられる影を含む、請求項1に記載のユーザインターフェースの方法。
【請求項６】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換する前記動作が、
リソース利用率に関する情報を持ち上げ形式のリソース利用率マップへと変換するステップを含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を他の表示要素に対する相対的な持ち上げによって示す、持ち上げ形式の表示要素を含む、請求項1に記載のユーザインターフェースの方法。
【請求項７】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換する前記動作が、
リソース利用率に関する情報をリソース利用率マップへと変換するステップを含み、前記リソース利用率マップにおいて、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、前記コンピューティングデバイスのディスプレイの周縁に配置されるインジケータを含む、請求項1に記載のユーザインターフェースの方法。
【請求項８】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換する前記動作が、
前記コンピューティングデバイスに記憶されたアプリケーションによるリソース利用率に関する情報を変換するステップを含み、前記視覚的インジケータが、前記アプリケーションが前記コンピューティングデバイスのプロセッサ上で実行されるときのリソース使用量を示す、請求項1に記載のユーザインターフェースの方法。
【請求項９】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換する前記動作が、
リソース利用率に関する情報を、表示要素と関連付けられないバックグラウンドプロセスによるリソース利用率を示すリソース利用率マップへと変換するステップを含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、前記バックグラウンドプロセスと前記バックグラウンドプロセスによる相対的なリソース利用率の両方を識別するインジケータの表示を含む、請求項1に記載のユーザインターフェースの方法。
【請求項１０】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換する前記動作が、
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、複数のシステムリソースの1つに各々対応し、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記複数のシステムリソースの前記1つの使用量を示す視覚的インジケータを各々含む、複数のリソース利用率マップへと変換するステップを含む、請求項1に記載のユーザインターフェースの方法。
【請求項１１】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換する前記動作が、
第1のリソースおよび第2のリソースの利用率に関する情報を、バブル画像を含むバブル形式のリソース利用率マップへと変換するステップを含み、前記第1のリソースの使用量を示す前記視覚的インジケータがバブルの直径であり、前記第2のリソースの使用量を示す前記視覚的インジケータが前記バブルの色と明度のうちの1つである、請求項10に記載のユーザインターフェースの方法。
【請求項１２】
前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを割り当てる前記動作が、
前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを直接割り当てるステップを含む、請求項1に記載のユーザインターフェースの方法。
【請求項１３】
前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを割り当てる前記動作が、
オペレーティングシステム機構を使用して、前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを間接的に割り当てるステップを含む、請求項1に記載のユーザインターフェースの方法。
【請求項１４】
前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを割り当てる前記動作が、
優先度の設定とリソース許可の1つまたは両方を調整するステップを含む、請求項1に記載のユーザインターフェースの方法。
【請求項１５】
ユーザ選好とリソース割当データの1つまたは両方を、前記コンピューティングデバイスから中央サーバに送信するステップであって、前記ユーザ選好とリソース割当データとが前記受け取られたユーザ入力から導き出される、ステップ(1002)と、
ユーザ選好とリソース割当データの1つまたは両方を、複数のコンピューティングデバイスから前記中央サーバで受信するステップ(1004)と、
ユーザ選好と受け取られたリソース割当データの前記1つまたは両方に基づいて、リソース割当方式を生成するステップ(1006)と、
前記リソース割当方式を送信するステップ(1008)とを含む動作によってさらに特徴付けられる、請求項1に記載のユーザインターフェースの方法。
【請求項１６】
前記表示されたリソース利用率マップに応答して受け取られた前記ユーザ入力を、前記コンピューティングデバイスから中央サーバに送信するステップ(1002)と、
前記中央サーバによって受信された前記ユーザ入力に基づいて、リソース割当方式を生成するステップ(1006)と、
前記リソース割当方式を送信するステップ(1008)とを含む動作によってさらに特徴付けられる、請求項1に記載のユーザインターフェースの方法。
【請求項１７】
前記送信されたリソース割当方式を前記コンピューティングデバイスにおいて受信するステップ(1010)と、
前記受信されたリソース割当方式を使用して、コンピューティングデバイスで実行される、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの1つまたは複数にシステムリソースを最初に割り当てるステップ(1012)とを含む動作によってさらに特徴付けられる、請求項16に記載のユーザインターフェースの方法。
【請求項１８】
中央サーバ上で実行されるリソース最適化の方法であって、
対応する表示要素によるリソースの使用量を示す1つまたは複数の視覚的インジケータを含む重畳されたリソース利用率マップに応答したユーザ入力に基づいて、リソース割当データを複数のコンピューティングデバイスから受信するステップ(1004)であって、前記ユーザ入力は、前記1つまたは複数の視覚的インジケータの少なくとも1つの形を調整し、前記リソース割当データは、前記1つまたは複数の視覚的インジケータの前記少なくとも1つの前記形の前記調整に基づいて割り当てられたリソースの変化を含むステップと、
前記受信されたリソース割当データに基づいて、複数のコンピューティングデバイスの各々で実施される群集リソース割当方式を生成するステップ(1006)と、
群衆リソース割当方式を複数のコンピューティングデバイスの各々に送信するステップ(1008)とを含む動作によって特徴付けられる、リソース最適化の方法。
【請求項１９】
前記受信されたリソース割当データがユーザ選好を含む、請求項18に記載のリソース最適化の方法。
【請求項２０】
前記受信されたリソース割当データが、表示されたリソース利用率マップに応答して前記複数のコンピューティングデバイスの各々によって受け取られたユーザ入力を含む、請求項18に記載のリソース最適化の方法。
【請求項２１】
前記受信されたリソース割当データが、表示されたリソース利用率マップに応答したユーザ入力を受け取るように備えられている各コンピューティングデバイスにおける、優先度の設定とリソース許可セットの1つまたは両方を含む、請求項18に記載のリソース最適化の方法。
【請求項２２】
コンピューティングデバイスであって、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるリソースの使用量を示す視覚的インジケータを含むリソース利用率マップへと変換するための手段(904)と、
前記第1の視覚的インジケータが対応する表示要素に重畳されるように、前記リソース利用率マップを表示するための手段(906)と、
前記表示されたリソース利用率マップに応答してユーザ入力を受信するための手段(908)であって、前記ユーザ入力は、前記第1の視覚的インジケータの形を調整する、手段と、
前記受信したユーザ入力に基づいて前記コンピューティングデバイスのリソースを割り当てるための手段(910)であって、前記リソースは、前記第1の視覚的インジケータの前記形の前記調整に基づいて割り当てられる、手段と、
によって特徴付けられる、コンピューティングデバイス。
【請求項２３】
リソース利用率情報を取得するための手段によってさらに特徴付けられる、請求項22に記載のコンピューティングデバイス。
【請求項２４】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するための手段が、リソース利用率に関する情報をヒートマップ形式のリソース利用率マップへと変換するための手段を含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を色によって示す色重畳表示を生成することを含む、請求項22に記載のコンピューティングデバイス。
【請求項２５】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するための手段が、リソース利用率に関する情報を棒グラフ形式のリソース利用率マップへと変換するための手段を含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を棒グラフの棒の高さによって示す、前記表示要素とともに提示される前記棒グラフを含む、請求項22に記載のコンピューティングデバイス。
【請求項２６】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するための手段が、リソース利用率に関する情報を持ち上げ形式のリソース利用率マップへと変換するための手段を含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を影の大きさによって示す、前記表示要素に加えられる影を含む、請求項22に記載のコンピューティングデバイス。
【請求項２７】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するための手段が、リソース利用率に関する情報を持ち上げ形式のリソース利用率マップへと変換するための手段を含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を他の表示要素に対する相対的な持ち上げによって示す、持ち上げ形式の前記表示要素を含む、請求項22に記載のコンピューティングデバイス。
【請求項２８】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するための手段が、リソース利用率に関する情報をリソース利用率マップへと変換するための手段を含み、前記リソース利用率マップにおいて、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、前記コンピューティングデバイスのディスプレイの周縁に配置されるインジケータを含む、請求項22に記載のコンピューティングデバイス。
【請求項２９】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するための手段が、前記コンピューティングデバイスに記憶されたアプリケーションによるリソース利用率に関する情報を変換するための手段を含み、前記視覚的インジケータが、前記アプリケーションが前記コンピューティングデバイスのプロセッサ上で実行されるときのリソース使用量を示す、請求項22に記載のコンピューティングデバイス。
【請求項３０】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するための手段が、リソース利用率に関する情報を、表示要素と関連付けられないバックグラウンドプロセスによるリソース利用率を示すリソース利用率マップへと変換するための手段を含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、前記バックグラウンドプロセスと前記バックグラウンドプロセスによる相対的なリソース利用率の両方を識別するインジケータの表示を含む、請求項22に記載のコンピューティングデバイス。
【請求項３１】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するための手段が、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、複数のシステムリソースの1つに各々対応し、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記複数のシステムリソースの前記1つの使用量を示す視覚的インジケータを各々含む、複数のリソース利用率マップへと変換するための手段を含む、請求項22に記載のコンピューティングデバイス。
【請求項３２】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するための手段が、第1のリソースおよび第2のリソースの利用率に関する情報を、バブル画像を含むバブル形式のリソース利用率マップへと変換するための手段を含み、前記第1のリソースの使用量を示す前記視覚的インジケータがバブルの直径であり、前記第2のリソースの使用量を示す前記視覚的インジケータが前記バブルの色と明度のうちの1つである、請求項31に記載のコンピューティングデバイス。
【請求項３３】
前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを割り当てるための手段が、前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを直接割り当てるための手段を含む、請求項22に記載のコンピューティングデバイス。
【請求項３４】
前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを割り当てるための手段が、オペレーティングシステム機構を使用して、前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを間接的に割り当てるための手段を含む、請求項22に記載のコンピューティングデバイス。
【請求項３５】
前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを割り当てるための手段が、優先度の設定とリソース許可の1つまたは両方を調整するための手段を含む、請求項22に記載のコンピューティングデバイス。
【請求項３６】
ユーザ選好とリソース割当データの1つまたは両方を中央サーバに送信するための手段をさらに含み、前記ユーザ選好とリソース割当データとが、前記受け取られたユーザ入力から導き出される、請求項22に記載のコンピューティングデバイス。
【請求項３７】
前記表示されたリソース利用率マップに応答して受け取られた前記ユーザ入力を、送受信機を介して中央サーバに送信するための手段をさらに含む、請求項22に記載のコンピューティングデバイス。
【請求項３８】
中央サーバから送信されたリソース割当方式を受信するための手段と、
前記受信されたリソース割当方式を使用して、前記コンピューティングデバイスで実行される、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの1つまたは複数にシステムリソースを最初に割り当てるための手段とによってさらに特徴付けられる、請求項22に記載のコンピューティングデバイス。
【請求項３９】
コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって特徴付けられるプロセッサ実行可能命令を記憶した、非一時的コンピューティング可読記憶媒体であって、前記動作が、
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるリソースの使用量を示す視覚的インジケータを含むリソース利用率マップへと変換するステップ(904)と、
第1の視覚的インジケータが対応する表示要素に重畳されるように、前記リソース利用率マップを表示するステップ(906)と、
前記表示されたリソース利用率マップに応答してユーザ入力を受信するステップ(908)であって、前記ユーザ入力は、前記第1の視覚的インジケータの形を調整する、ステップと、
前記受信したユーザ入力に基づいて前記コンピューティングデバイスのリソースを割り当てるステップ(910)であって、前記リソースは、前記第1の視覚的インジケータの前記形の前記調整に基づいて割り当てられる、ステップと、
を含む、非一時的コンピューティング可読記憶媒体。
【請求項４０】
前記記憶されたプロセッサ実行可能命令が、コンピューティングデバイスのプロセッサに、リソース利用率情報を取得するステップをさらに含む動作を実行させるように構成されていることによってさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項４１】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるコンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するステップが、
リソース利用率に関する情報をヒートマップ形式のリソース利用率マップへと変換するステップを含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を色によって示す色重畳表示を生成するステップを含むように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項４２】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるコンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するステップが、
リソース利用率に関する情報を棒グラフ形式のリソース利用率マップへと変換するステップを含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を棒グラフの棒の高さによって示す、前記表示要素とともに提示される前記棒グラフを含むように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項４３】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるコンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するステップが、
リソース利用率に関する情報を持ち上げ形式のリソース利用率マップへと変換するステップを含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を影の大きさによって示す、前記表示要素に加えられる影を含むように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項４４】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるコンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するステップが、
リソース利用率に関する情報を持ち上げ形式のリソース利用率マップへと変換するステップを含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、表示要素に対応するプロセスの相対的なリソース利用率を他の表示要素に対する相対的な持ち上げによって示す、持ち上げ形式の表示要素を含むように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項４５】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるコンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するステップが、
リソース利用率に関する情報をリソース利用率マップへと変換するステップを含み、前記リソース利用率マップにおいて、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、前記コンピューティングデバイスのディスプレイの周縁に配置されるインジケータを含むように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項４６】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるコンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するステップが、
前記コンピューティングデバイスに記憶されたアプリケーションによるリソース利用率に関する情報を変換するステップを含み、前記視覚的インジケータが、前記アプリケーションがプロセッサ上で実行されるときのリソース使用量を示すように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項４７】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるコンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するステップが、
リソース利用率に関する情報を、表示要素と関連付けられないバックグラウンドプロセスによるリソース利用率を示すリソース利用率マップへと変換するステップを含み、プロセスまたはアプリケーションによるリソースの使用量を示す前記視覚的インジケータが、前記バックグラウンドプロセスと前記バックグラウンドプロセスによる相対的なリソース利用率の両方を識別するインジケータの表示を含むように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項４８】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるコンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するステップが、
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記コンピューティングデバイスのリソース利用率に関する情報を、複数のシステムリソースの1つに各々対応し、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数による前記複数のシステムリソースの前記1つの使用量を示す視覚的インジケータを各々含む、複数のリソース利用率マップへと変換するステップを含むように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項４９】
機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの前記1つまたは複数によるコンピューティングデバイスのリソース利用率に関する情報を、リソース利用率マップへと変換するステップが、
第1のリソースおよび第2のリソースの利用率に関する情報を、バブル画像を含むバブル形式のリソース利用率マップへと変換するステップを含むように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられ、前記第1のリソースの使用量を示す前記視覚的インジケータがバブルの直径であり、前記第2のリソースの使用量を示す前記視覚的インジケータが前記バブルの色と明度のうちの1つである、請求項48に記載の非一時的コンピューティング可読記憶媒体。
【請求項５０】
前記受け取られたユーザ入力に基づいてコンピューティングデバイスのリソースを割り当てるステップが、
前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを直接割り当てるステップを含むように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項５１】
前記受け取られたユーザ入力に基づいてコンピューティングデバイスのリソースを割り当てるステップが、
オペレーティングシステム機構を使用して、前記受け取られたユーザ入力に基づいて前記コンピューティングデバイスのリソースを間接的に割り当てるステップを含むように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項５２】
前記受け取られたユーザ入力に基づいてコンピューティングデバイスのリソースを割り当てるステップが、
優先度の設定とリソース許可の1つまたは両方を調整するステップを含むように、前記コンピューティングデバイスのプロセッサに動作を実行させるように構成されていることによって、前記記憶されたプロセッサ実行可能命令がさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項５３】
前記記憶されたプロセッサ実行可能命令が、
ユーザ選好とリソース割当データの1つまたは両方を、送受信機を介して中央サーバに送信するステップをさらに含む動作をコンピューティングデバイスのプロセッサに実行させるように構成されていることによってさらに特徴付けられ、前記ユーザ選好とリソース割当データとが、前記受け取られたユーザ入力から導き出される、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項５４】
前記記憶されたプロセッサ実行可能命令が、
前記表示されたリソース利用率マップに応答して受け取られた前記ユーザ入力を、送受信機を介して中央サーバに送信するステップをさらに含む動作をコンピューティングデバイスのプロセッサに実行させるように構成されていることによってさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項５５】
前記記憶されたプロセッサ実行可能命令が、
送受信機を介して、中央サーバから送信されたリソース割当方式を受信するステップと、
前記受信されたリソース割当方式を使用して、コンピューティングデバイスで実行される、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの1つまたは複数にシステムリソースを最初に割り当てるステップとをさらに含む動作を前記コンピューティングデバイスのプロセッサに実行させるように構成されていることによってさらに特徴付けられる、請求項39に記載の非一時的コンピューティング可読記憶媒体。
【請求項５６】
複数のコンピューティングデバイスから伝送を受信し、前記複数のコンピューティングデバイスに伝送を送信するための手段と、
対応する表示要素によるリソースの使用量を示す1つまたは複数の視覚的インジケータを含む重畳されたリソース利用率マップに応答したユーザ入力に基づいて、リソース割当データを前記複数のコンピューティングデバイスから受信するための手段(1004)であって、前記ユーザ入力は、前記1つまたは複数の視覚的インジケータの少なくとも1つの形を調整し、前記リソース割当データは、前記1つまたは複数の視覚的インジケータの前記少なくとも1つの前記形の前記調整に基づいて割り当てられたリソースの変化を含む手段と、
前記受信されたリソース割当データに基づいて、複数のコンピューティングデバイスの各々で実施される群集リソース割当方式を生成するための手段(1006)と、
ネットワーク接続を介して、群衆リソース割当方式を複数のコンピューティングデバイスの各々に送信するための手段(1008)とによって特徴付けられる、サーバ。
【請求項５７】
前記受信されたリソース割当データがユーザ選好を含む、請求項56に記載のサーバ。
【請求項５８】
前記受信されたリソース割当データが、表示されたリソース利用率マップに応答して前記複数のコンピューティングデバイスの各々によって受け取られたユーザ入力を含む、請求項56に記載のサーバ。
【請求項５９】
前記受信されたリソース割当データが、表示されたリソース利用率マップに応答したユーザ入力を受け取るように備えられている各コンピューティングデバイスにおける、優先度の設定とリソース許可セットの1つまたは両方を含む、請求項56に記載のサーバ。
【請求項６０】
サーバに動作を実行させるように構成されることによって特徴付けられるプロセッサ実行可能命令を記憶した、非一時的コンピューティング可読記憶媒体であって、前記動作が、
対応する表示要素によるリソースの使用量を示す1つまたは複数の視覚的インジケータを含む重畳されたリソース利用率マップに応答したユーザ入力に基づいて、リソース割当データを複数のコンピューティングデバイスから受信するステップ(1004)であって、前記ユーザ入力は、前記1つまたは複数の視覚的インジケータの少なくとも1つの形を調整し、前記リソース割当データは、前記1つまたは複数の視覚的インジケータの前記少なくとも1つの前記形の前記調整に基づいて割り当てられたリソースの変化を含むステップと、
前記受信されたリソース割当データに基づいて、複数のコンピューティングデバイスの各々で実施される群集リソース割当方式を生成するステップ(1006)と、
群衆リソース割当方式を複数のコンピューティングデバイスの各々に送信するステップ(1008)とを含む、非一時的コンピューティング可読記憶媒体。
【請求項６１】
前記受信されたリソース割当データがユーザ選好を含む、請求項60に記載の非一時的コンピューティング可読記憶媒体。
【請求項６２】
前記受信されたリソース割当データが、表示されたリソース利用率マップに応答して前記複数のコンピューティングデバイスの各々によって受け取られたユーザ入力を含む、請求項60に記載の非一時的コンピューティング可読記憶媒体。
【請求項６３】
前記受信されたリソース割当データが、表示されたリソース利用率マップに応答したユーザ入力を受け取るように備えられている各コンピューティングデバイスにおける、優先度の設定とリソース許可セットの1つまたは両方を含む、請求項60に記載の非一時的コンピューティング可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は全般に、コンピューティングデバイスにおけるリソース割当に関し、より具体的には、リソース利用率のグラフィカルな表現に対するユーザ応答に基づく、最適化されたリソース割当に関する。
【背景技術】
【０００２】
モバイルデバイス(たとえば、スマートフォン)は今、大規模な計算を行い大量のデータを通信することを強いられている。現在のモバイルデバイスで使用されているプロセッサおよびワイヤレスモデムは優れた能力を有するが、現在のアプリケーションおよび使用法は、処理容量および通信帯域幅の制限を強いることが多い。処理および/または通信帯域幅を大量に使用するアプリケーションまたはプロセスは、バックグラウンドで動作していることが多い(たとえば、アプリケーションの更新、広告またはバックグラウンド情報のダウンロードなど)。不可視のまたは未知のプロセス/アプリケーションが処理容量または帯域幅を要求する結果として、ユーザは、デバイスの遅い動作に不満を持つようになり得る。一般のユーザは、デバイスが何をして画面に何が提示されるかに関心があり、そのような機能を可能にするバックグラウンドプロセスおよびデバイスリソースには関心がない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
アプリケーションの異なる部分は、知覚されるユーザ体験に対して異なるように寄与する。たとえば、ユーザがウェブページを訪問するとき、ユーザは、ページの小さな部分にしか関心がないことがあるが、ページ中の広告が、処理能力、通信帯域幅、および画面にそのページを提示するのに必要なバッテリのエネルギーの大半を消費することがある。別の例として、ユーザがビデオを見ている間、バックグラウンドプロセス(たとえば、天気アプリケーションのデータのダウンロード)がネットワークへのアクセスを開始し、ビデオを見るために使用されることをユーザが望むであろう通信帯域幅の一部を消費することがある。ユーザから見れば、これらのタスクによって使用されるリソースは無駄である。リソース使用量を監視するための既存のツールは、一般のユーザの理解を超えたものである。プロセスリストを確認し、バックグラウンドサービスを有効および無効にし、それらのリソース使用量を調べ、リソース使用量を関心のあるアプリケーションの実際の挙動と関連付けることによってシステムを手動で調整ことは、専門的なユーザでも難しいと感じる。普通のユーザのためのそのような機構は存在しないので、モバイルデバイスは通常、リソース使用量をカスタマイズするためのきめ細かい機構を備えない。
【課題を解決するための手段】
【０００４】
様々な態様は、対応する表示要素によって、コンピューティングデバイスのリソース利用率情報を、リソースの使用量を示す1つまたは複数の視覚的インジケータを含むグラフィカルな表現へと変換するステップと、各々の視覚的インジケータが対応する表示要素に対して整列されるように、(手動で、またはある時間もしくは条件において自動的に)グラフィカルな表現を表示するステップとを含む、コンピューティングデバイス上で実行されるユーザインターフェースの方法を含む。
【０００５】
様々な態様は、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの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つまたは複数を含む。さらなる態様は、この方法の動作を実行するようにプロセッサ実行可能命令によって構成されるサーバを含む。さらなる態様は、この方法の機能を遂行するための手段を含む。さらなる態様は、この態様の方法の動作をサーバに実行させるように構成される、サーバ実行可能命令を記憶した、非一時的コンピュータ可読記憶媒体を含む。
【００１７】
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本発明の例示的な態様を示す。上記の概略的な説明および下記の発明を実施するための形態とともに、図面は、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【００１８】
【図１】いくつかのサブコンポーネントからなる例示的なアプリケーションウィンドウの図である。
【図２Ａ】ヒートマップの形式でリソース利用率を明らかにする、ウィンドウに重畳されるリソース利用率マップを示す、例示的なアプリケーションウィンドウの図である。
【図２Ｂ】ヒートマップの形式でリソース利用率を明らかにする、ウィンドウに重畳されるリソース利用率マップを示す、例示的なアプリケーションウィンドウの図である。
【図３】影の形式でリソース利用率を明らかにする、ウィンドウに重畳されるリソース利用率マップを示す、例示的なアプリケーションウィンドウの図である。
【図４】棒グラフ表示の形式でリソース利用率を明らかにする、ウィンドウに重畳されるリソース利用率マップを示す、例示的なアプリケーションウィンドウの図である。
【図５】対応する表示要素の座標を示すためのディスプレイ軸に接するマーカーの形式でリソース利用率を明らかにする、ウィンドウに重畳されるリソース利用率マップを示す、例示的なアプリケーションウィンドウの図である。
【図６】グリッドシステムの形式でリソース利用率を明らかにする、ウィンドウに重畳されるリソース利用率マップを示す、例示的なアプリケーションウィンドウの図である。
【図７】アプリケーションアイコンの表示を重畳するヒートマップの形式でリソース利用率を明らかにする、ウィンドウに重畳されるリソース利用率マップを示す、例示的なアプリケーションウィンドウの図である。
【図８Ａ】いずれの表示要素にも対応しないバックグラウンドプロセスを表示する追加のチャートの形式でリソース利用率を明らかにする、ウィンドウに重畳されるリソース利用率マップを示す、例示的なアプリケーションウィンドウの図である。
【図８Ｂ】いずれの表示要素にも対応しないバックグラウンドプロセスを表示する追加のチャートの形式でリソース利用率を明らかにする、ウィンドウに重畳されるリソース利用率マップを示す、例示的なアプリケーションウィンドウの図である。
【図９】リソース使用量のグラフィカルな表現を実施するための、ある態様の方法の処理流れ図である。
【図１０Ａ】リソース使用量のグラフィカルな表現を実施するための、ある態様の方法の処理流れ図である。
【図１０Ｂ】複数のコンピューティングデバイス上のグラフィカルな表現に対するユーザ応答を集中的に蓄積するための処理流れ図である。
【図１０Ｃ】複数のコンピューティングデバイス上のグラフィカルな表現に対するユーザ応答を集中的に蓄積することから提供される、リソース使用量およびリソース利用率の情報のグラフィカルな表現を実施するための、ある態様の方法の処理流れ図である。
【図１１】様々な態様とともに使用するのに適したコンピューティングデバイスの断面模型図である。
【図１２】様々な態様とともに使用するのに適した、例示的なポータブルコンピューティングデバイスの図である。
【図１３】様々な態様とともに使用するのに適した、例示的なパーソナルコンピュータの図である。
【発明を実施するための形態】
【００１９】
様々な態様が、添付の図面を参照して詳細に説明される。可能な場合はいつでも、同じまたは同様の部分を指すのに、図面全体にわたって同じ参照番号が使用される。具体的な例および実装形態への言及は、説明を目的とし、本発明の範囲または本特許請求の範囲を限定するものではない。
【００２０】
「例示的な」という語は、「例、実例、または具体例としての役割を果たすこと」を意味するように本明細書において使用される。本明細書で「例示的」であるものとして説明されるいかなる実装形態も、必ずしも他の実装形態よりも好ましいまたは有利であると解釈されるべきではない。
【００２１】
本明細書で使用される「コンピューティングデバイス」および「モバイルデバイス」という用語は、セルラー電話、パーソナルテレビジョン受信機、携帯情報端末(PDA)、パームトップコンピュータ、ノートブックコンピュータ、パーソナルコンピュータ、ワイヤレス電子メール受信機、セルラー電話受信機(たとえば、Blackberry(登録商標)およびTreo(登録商標)デバイス)、マルチメディアインターネット対応セルラー電話(たとえば、Blackberry Storm(登録商標))、ならびにプログラマブルプロセッサ、メモリ、およびディスプレイを含む同様の電子デバイスのうちのいずれか1つまたはすべてを指す。
【００２２】
コンピューティングデバイス上で実行される様々なプロセスおよびアプリケーションはしばしば、同じシステムリソースを奪い合う。このことで、一部のアプリケーションまたはプロセッサは、実行が遅くなり、またはそうでなければ最適ではない性能を示し得る。ユーザがほとんどまたはまったく関心のないプロセスまたはアプリケーションに対してリソースが使われている場合、ユーザの不満およびユーザ体験の悪化という結果をもたらし得る。したがって、ユーザの最も関心のあるプロセスにおけるコンピューティングデバイスの性能を向上させるために、特定のプロセスまたはアプリケーションを支援することに対して、ユーザがリソースを割り当てまたは優先順位付けるのを可能にすることは、有益である。
【００２３】
コンピューティングデバイス上で様々なプロセスおよびアプリケーションによって消費されるリソースを監視するためのツールが利用可能だが、そのようなツールは一般に、大半のユーザには複雑すぎる。既存のタスクマネージャまたはリソース利用率情報を監視するための他の手段は、平均的なユーザが理解できない、複雑な統計またはプロセス名の大量のリストを提示することが多い。そのようなリソースの非限定的な例には、CPU時間の長さ、メモリの量、消費されるエネルギー、ネットワーク帯域幅などがある。
【００２４】
本明細書で開示される様々な態様は、これらのユーザの要求に対処し、システムリソース使用量のグラフィカルな表現を表示するシステムおよび方法を提供することによって、従来の既知のツールの限界を乗り越える。システムリソース使用量のそのようなグラフィカルな表現は、本明細書ではリソース利用率マップと呼ばれる。様々な態様におけるリソース利用率マップは、デバイス上で実行される、機能、アプリケーション、プロセス、プロセスのコンポーネント、およびアプリケーションのコンポーネント、特に、システムリソースの過半を消費しているものによって使用される、システムリソースの相対的な量について、視覚的なインジケータを通じてコンピューティングデバイスのユーザに知らせるように構成される。ユーザは、そのようなリソース利用率マップと対話して、重視されるべきまたは重視されるべきではないプロセスまたはアプリケーションに関する入力を提供することができる。たとえば、ユーザは、リソース利用率マップの一部をタッチして、対応するアプリケーションまたはプロセスのリソース優先度を上げるべきであることまたは下げるべきであることを示すことができる。コンピューティングデバイスのオペレーティングシステムは、リソース利用率のグラフィカルな表現に応答して受け取られた1つまたは複数のユーザ入力に基づいて、様々なアプリケーションおよびプロセスに適用される、優先度およびリソース許可を調整するように構成され得る。このようにして、ユーザはコンピューティングデバイスと対話して、1つまたは複数のデバイスプロセッサが最も関心のあるアプリケーションまたはプロセスにシステムリソースを集中させることを可能にし、ユーザがほとんどまたはまったく関心を持たないアプリケーションまたはプロセスによるリソース利用率を制限することによって、現在の個人的な選好と一致するように、全体の動作性能を向上させることができる。
【００２５】
さらなる態様では、コンピューティングデバイスは、ユーザ入力に応答して作成されたリソース割当優先度に関する情報を、中央サーバに送信するように構成され得る。複数のコンピューティングデバイスからのデータは、そのような中央サーバで受信されてよく、そのデータは、コンピューティングデバイスのユーザの過半のリソース選好を反映する群衆に基づくリソース割当方式を生成するために使用され得る。そのような群衆に基づくリソース割当方式は、1つまたは複数のコンピューティングデバイスに送信され得る。そのような群衆に基づくリソース割当方式を受信するコンピューティングデバイスは、デバイス優先度を設定するために、たとえば、リソース利用率マップを介してユーザ入力を受け取る前にプロセスおよびアプリケーションに対してリソースを事前に優先順位付けるために、そのようなリソース割当情報を使用することができる。
【００２６】
様々な態様によるリソース利用率マップは、コンピューティングデバイスの1つまたは複数のシステムリソースを使用しているプログラムまたはプロセスについてユーザに知らせるように構成され得る。リソース利用率マップは、コンピューティングデバイスとコンピューティングデバイスが実行するアプリケーションおよびプロセスとについての技術的な詳細の知識を必要とすることなく、一般的なユーザが簡単に理解できる方式で情報を提示するように構成され得る、コンピューティングデバイスの1つまたは複数のプロセッサによって生成される情報の表示である。視覚的な指示によって、様々なアプリケーションのリソース需要のユーザによる比較的高速で簡単な比較、さらに、望ましくない性能の問題を引き起こしている可能性のある、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントの識別が、可能になり得る。
【００２７】
様々な態様では、リソース利用率マップは、コンピューティングデバイスのディスプレイ上に提示される、1つまたは複数のウィンドウまたは表示とともに提示され得る。ある例として、アプリケーションウィンドウ100が図1に示される。図1に示されるように、ダウンロードされたウェブページを提示するウェブブラウザのようなアプリケーションは通常、種々の表示要素を含む視覚的な表示を生成し、表示要素の一部またはすべてが、システムリソースを消費するプロセスまたはアプリケーションに対応することがあり、またはそれらによって生成されることがある。図2A〜図6は、様々な態様による、代替的なリソース利用率マップの実装形態の例を示し、これらは、グラフィクスを重畳し、またはそうでなければ、サンプルのアプリケーションウィンドウ100上に現れる画像要素を修正する。いくつかの態様では、リソース利用率マップは、アプリケーションウィンドウまたは他のディスプレイの上の層として提示され得る。重畳されたリソース利用率マップは、表示の要素がリソースを使用しているという視覚的なイラストレーションまたはインジケータを含み得るが、それ以外に表示を遮ることは避け得る。さらなる態様は、リソース利用率マップをディスプレイ自体に組み込むことができる。リソース利用率マップはまた、図7に示される一連のアイコンのような、メニュー表示にも適用され得る。
【００２８】
いくつかの態様では、コンピューティングデバイスのユーザは、特定の機能、プロセス、アプリケーション、プロセスのコンポーネント、またはアプリケーションのコンポーネントを選択することによって(たとえば、タッチスクリーンディスプレイ上で画像要素をタッチすることによって)、表示されたリソース利用率マップに応答して、ユーザの選好を伝えることができるので、コンピューティングデバイスは、そのようなユーザ入力を使用して、システムリソースを優先順位付け、または再び割り当てることができる。ユーザによるリソース優先順位付けの選好の入力は、マウスによるクリックまたはタッチスクリーンのタッチのような、任意の形式のユーザ入力を介して受け取られ得る。たとえば、ユーザは、表示要素と関連付けられるリソース利用率マップの視覚的インジケータをクリックして、システムリソースの優先的な割当て、またはシステムリソースの制限もしくは拒否のために、その要素に対応するアプリケーションまたはプロセスを選択することができる。ユーザの選択に基づいて、コンピューティングデバイスの1つまたは複数のプロセッサ(またはより正確には、プロセッサ上で実行されるオペレーティングシステムのアプリケーションまたはコンポーネント)は、現在実行されているアプリケーションおよびプロセスに、システムリソースを再び割り当てることができる。ユーザによって選択される表示要素は、単一のまたは複数の背後にあるプロセスと関連付けられ得るので、ユーザの選択は、複数のプロセスに対するシステムリソースの割当てに影響を与え得る。いくつかの態様では、リソース利用率マップは、対応する視覚的な要素がない、背後にあるプロセスまたはアプリケーションに関する情報を提供でき、それによって、ユーザが本来は認識しない可能性のあるバックグラウンドプロセスに関するユーザの選好を、ユーザが伝えることが可能になる。
【００２９】
優先されることが好ましいプロセスまたはアプリケーションをユーザ入力が特定すると、コンピューティングデバイスのプロセッサ(または、プロセッサのオペレーティングシステム)は、選択されたアプリケーションまたはプロセスがシステムリソースに対する優先的なアクセスを有することを確実にするように、リソース利用率を決定することができる。好まれないアプリケーションまたはプロセス(たとえば、ユーザがほとんどまたはまったく関心のない表示要素)をユーザ入力が特定する場合、プロセッサ(またはマルチプロセッサデバイスでは複数のプロセッサ)またはプロセッサオペレーティングシステムは、いくつかの場合には背後にあるプロセスを終了させることを含む、選択された要素に対してシステムリソースを制限または拒否するリソース割当を決定することができる。これによって、1つまたは複数のデバイスプロセッサが、選択された要素と関連付けられるプロセスからシステムリソースを移行させることが可能になり得るので、デバイス上で動作する他のアプリケーションおよびプロセスが、そうしたリソースを利用できるようになる。
【００３０】
このようにして、リソース利用率マップは、システムリソース管理の通常のプロセスにユーザが影響を及ぼすことを可能にするための、ある種のグラフィカルユーザインターフェースとして機能し得る。ユーザは、表示要素とその背後にあるプロセスとの関係について知っているまたは理解している必要はなく、それは、そのような関係がリソース利用率マップ中でグラフィカルに提示されているからである。代わりに、ユーザは、リソース利用率マップを検討して、システムリソースがどこで使用されているかを理解し、ユーザが重視することまたは重視しないことを好む表示要素を選択することができる。コンピューティングデバイスは次いで、そのユーザ入力を使用して、ユーザが指示した選好に対応するように、リソースを自動的に再び割り当てることができる。
【００３１】
図1は、ウェブブラウザによって生成されるウェブページの形式の、サンプルのアプリケーションウィンドウ100を示す。アプリケーションウィンドウは、ウェブブラウザのような、コンピューティングデバイス上で動く様々なアプリケーション表示またはグラフィカルユーザインターフェースを含み得る。アプリケーションウィンドウは、いくつかのサブコンポーネントを含み得る。サンプルのアプリケーションウィンドウ100は、サブコンポーネント102、104、106、108、110、および112を含むウェブページであってよい。これらのサブコンポーネントの各々は、異なる形式のコンテンツを表示し、または、異なるリソースに依存する異なるプロセスを実行することができる。たとえば、あるサブコンポーネント102は、Adobe Flashのバナーのような広告であり得るが、別のサブコンポーネント104は、ビデオウィンドウであり得る。ウェブページはまた、様々な場所に配置されたプレーンテキストまたは書式が整えられたテキストを含み得る。さらに、いくつかのコンポーネントは、サブコンポーネント112のようなJavaScript（登録商標）アニメーション、サブコンポーネント106、108、および110のような異なるAJAXウィジェットという形式を含み得る。図1に示されるサブコンポーネントの配置は例にすぎず、そのウェブページは、種々の異なるタイプの表示要素および対応するバックグラウンドプロセスを伴う、種々の形式をとることを、当業者は理解するだろう。ウェブブラウザのウェブページ表示が様々な態様を示すために使用されるが、態様および特許請求の範囲はウェブブラウザに限定されず、コンピューティングデバイスによって提示され得る任意の形式の表示に対して全般に適用可能である。また、アプリケーションウィンドウに対する言及は、単に例示が目的であり、メニュー、デスクトップ表示などのような、他のタイプの表示を除外することは意図されない。
【００３２】
図2Aは、マップがアプリケーションウィンドウに重畳するものとして提示される、ある態様によるリソース利用率マップ200を示す。このリソース利用率マップ200は、表示に重畳するヒートマップまたは影によって、異なる表示サブコンポーネントを支援するアプリケーションまたはプロセスのリソース利用率に関する相対的な情報を提供する。たとえば、対応するアプリケーションまたはプロセスが大量のシステムリソースを消費するいくつかのコンポーネントが、色または影の濃さを通じて相対的なリソース利用率を示す、色または影を重畳され得る。この態様では、リソース利用率マップ200は、赤外線画像がディスプレイ上に投影されているかのようなヒートマップに似せたものであってよく、色は温度を示し、温度は背後にある表示要素に対応するプロセスによって消費されるリソースの量を反映する。ユーザは、赤外線画像または暗視画像を取り上げた映画およびテレビ番組から、ヒートマップの概念になじみがあり得る。したがって、ヒートマップ形式のリソース利用率マップは、多くのユーザが理解し操作することを簡単であると感じるであろう、理解しやすい相対的なリソース利用率の表示を提供する。そのような態様では、ヒートマップ表示において使用される色は、たとえば、リソース利用率の低いコンポーネントを示すために青、リソース利用率の高いコンポーネントを示すために橙または赤のような、冷たい温度、温かい温度、および熱い温度と通常関連付けられる色を利用することができる。異なる色または影が、異なる網掛けパターンの形式で、図2Aおよび図2Bに示される。
【００３３】
たとえば、図2Aにおいて、表示サブコンポーネント106、108、および110は静的な要素なので、あらゆる背後にあるプロセスは、通信帯域幅のような重要なシステムリソースを消費していない。したがって、表示サブコンポーネント106、108、および110は、リソース利用率マップにおいて影を重畳されていない。示される例では、表示サブコンポーネント102に対応する背後にあるプロセスは、中程度の量のシステムリソースを消費している。したがって、リソース利用率マップ200は、その表示サブコンポーネント102に重畳する、冷温色(たとえば、薄い青)の影付き部分202を含み得る。示される例では、表示サブコンポーネント112に対応する背後にあるプロセスは、サブコンポーネント102よりも多くのシステムリソースを利用しているので、リソース利用率マップ200は、表示サブコンポーネント112に重畳する、より暖かい色(またはより濃い影)を特徴とする影付き部分206を含む。示される例では、表示サブコンポーネント104に対応する背後にあるプロセスが大半のシステムリソースを利用しているので、リソース利用率マップ200は、そのサブコンポーネントの大きなリソース使用量をグラフィカルに表すために、熱い色(たとえば、橙または赤)の重畳する影付き部分204を含み得る。
【００３４】
コンピューティングデバイスは、メモリ、プロセッサ計算時間、通信ネットワーク帯域幅、内部データバス利用率、および電力(たとえば、相対的なバッテリの消耗)を含む、アプリケーションおよびプロセスによって利用される多くの異なるタイプのリソースを含む。たとえば、図2Bは、図2Aに示されるものとは異なるシステムリソースの相対的な利用率を示す、第2のリソース利用率マップ210を示す。たとえば、リソース利用率マップ200中の影は、帯域幅の使用量に基づき得るが、リソース利用率マップ210中の影は、処理能力の使用量に基づき得る。したがって、示される例では、他のコンピュータと通信しておらず、したがって図2Aに示されるように通信帯域幅をまったく使用していないが、プロセッサ計算時間を要求しており、したがって図2Bで熱い色の(または濃い)影付き部分212、214、および216を重畳されている、アプリケーションまたはプロセスに、表示サブコンポーネント106および110は対応する。したがって、図2Aおよび図2Bに示される2つのリソース利用率マップは、様々な表示要素に対応するアプリケーションまたはプロセスによって利用される、システムリソースの様々な種類および相対的な量について、ユーザに知らせる。
【００３５】
リソース利用率マップは、任意の単一のシステムリソースまたはリソースの組合せの利用をグラフィカルに表すように生成され得る。たとえば、あるシステム利用率マップは、プロセッサ計算時間の相対的な使用量を反映するように生成されてよく(たとえば、図2Bを参照して上で論じられた)、別のリソース利用率マップは、通信帯域幅の相対的な利用率を反映するように生成されてよく(たとえば、図2Aを参照して上で論じられた)、さらなるリソース利用率マップは、デバイスの電力消費(バッテリ利用率と関連する)を反映するように生成され得る。そのような複数のリソース利用率マップは、同時に生成され、ユーザの選択で表示に重畳され得る。たとえば、ユーザは、異なるシステムリソースの相対的な使用量を理解するために、異なるリソース利用率マップを順次選択することができる。複数のリソース利用率マップはまた、互いに重なりあって提示され得る。複数のリソース利用率マップの同時の重畳を可能にする態様では、各リソース利用率マップは、得られる組合せマップが理解可能になるように、異なる配色、異なる範囲の影の濃さ、または異なる重畳形状を使用することができる。
【００３６】
いくつかの態様では、リソース利用率マップは、リソースの組合せの利用率を反映するように生成され得る。たとえば、単一のリソース利用率マップは、メモリ使用量とプロセッサ使用量の両方の組合せを反映するように生成され得る。そのような組合せのリソース利用率マップでは、異なるリソースの使用量は、たとえば、異なるシステムリソースに対応するように異なる記号、色、または形状を使用することによって、重畳フォーマットを通じて区別され得る。たとえば、リソース利用率マップは、各色が異なるリソースに対応する、2つの異なる色の影を含み得る。別の例として、重畳する影の形状は、プロセッサ利用率を示す正方形の影およびメモリ利用率を示す楕円形の影のような、影が対象とするリソースのタイプを示し得る。
【００３７】
様々な態様では、リソース利用率マップは、たとえば、ユーザがボタンを押すことによって、または何らかの他のユーザインターフェースの選択を行うことによって、ユーザによって選択的に作動させられ得る。ユーザがリソース利用率マップを選択的に作動させられるようにすることによって、リソース利用率マップが、背後にある表示を見ることのような、ユーザによるコンピューティングデバイスの通常の使用と干渉するのを防ぐ。ユーザは、アクティブなアプリケーションおよびプロセスによる異なるリソースの相対的な使用量を理解するために、異なるリソース利用率マップを選択的にアクティブ化することができる。たとえば、ユーザは、不満足な性能(たとえば、遅い応答または表示のちらつき)に気づいたとき、ビデオまたはゲームのようなコンテンツを見ていることがある。原因を調査するために、ユーザは、リソース利用率マップをオンに切り替えて、表示要素に対応する様々なプロセスの相対的なリソース使用量を見て、そしてマップをオフに切り替えてゲームまたはビデオを見ることに戻ることができる。ユーザは、デバイス性能を向上させるために、非アクティブ化され得るまたは低い優先度を割り当てられ得るプロセスもしくはアプリケーションを特定しようとして、複数のリソース利用率マップを選択することができる。
【００３８】
たとえば、図2Aおよび図2Bを参照すると、ユーザは、リソース利用率マップ200およびリソース利用率マップ210を切り替え、または、両方のリソース利用率マップを同時にオンにすることができる。両方のリソースに基づく組み合わされたリソース利用率マップも、たとえば、両方のリソース利用率マップをアクティブ化したことに応答して、生成され提示され得る。さらに、リソース利用率マップの一部は、たとえば、単一の表示サブコンポーネントまたは複数の表示サブコンポーネントのためのリソース利用率マップを選択的にアクティブ化することによって、別々にオンまたはオフされ得る。また、下で論じられるように、リソース利用率マップは、対応する表示要素を有さないプロセスによるシステムリソースの相対的な使用量を検討するために、オンにされ得る。
【００３９】
アプリケーションおよびプロセスは、短時間のインスタンスのために何らかのタイプのシステムリソースを使用し得るので、任意の所与の瞬間におけるリソース利用率は、様々なアプリケーションまたはプロセスが有し得る性能への影響を、正確に反映しないことがある。たとえば、プロセスは、毎秒数回、プロセッサによる短時間の計算を必要とし得るので、プロセッサの計算能力の頻繁な利用は、デバイス上で実行されている他のアプリケーションまたはプロセスの性能に影響を与え得る。この理由によって、リソース利用率マップは、いくつかのリソースの時間平均された利用率に基づき得る。リソース利用率マップは、異なる長さの時間にわたって平均された利用率に基づき得る。加えて、異なるリソース利用率マップは、異なる長さの時間にわたる平均のリソース使用量を表すように生成され得る。たとえば、あるリソース利用率マップは、直前の10秒間にわたる平均電力使用量を表し得るが、別のリソース利用率マップは、直前の24時間にわたる平均電力使用量を表し得る。ユーザは、これらの異なる時間平均されたリソース利用率マップを切り替えて、様々なアプリケーションおよびプロセスが、短期的におよび長期的に、バッテリをどのように消耗させているかを理解することができる。
【００４０】
様々な態様では、リソース利用率マップは、ユーザインターフェースとして構成されてよく、ユーザが、リソース利用率マップの一部をタッチまたは選択することによって、選好に関する入力を提供できるようにする。たとえば、ユーザは、コンピューティングデバイスの通信帯域幅のより多くを、表示サブコンポーネント104に提示されているストリーミングビデオに振り向けて、ビデオがバッファリングによって遅延または中断しないのを確実にすることを望み得る。リソース利用率マップ200がオンにされると、ユーザは、表示サブコンポーネント102および112が、デバイスの通信帯域幅を同様に使用している背後にあるアプリケーションまたはプロセスに対応することを、理解することができる。この状況では、表示サブコンポーネント104と関連付けられるプロセスがより多くの通信帯域幅を受け取るべきであることを示すために、または、表示サブコンポーネント102および112と関連付けられるプロセスが通信帯域幅に対する制限されたアクセスを付与されるべきである(または非アクティブ化されるべきである)ことを示すために、ユーザは、たとえば、タッチスクリーンディスプレイ上のリソース利用率マップをタッチすることによって、ユーザインターフェースを対話することができる。このユーザ入力は、コンピュータマウスを使用して、部分204またはサブコンポーネント104をユーザがクリックするという形式であり得る。入力はまた、タッチスクリーン、キーボード、マイクロフォン、またはセンサのような、任意の他の種類のコンピューティングデバイスのユーザインターフェースを通じて受け取られ得る。このユーザ入力に応答して、コンピューティングデバイスのプロセッサは、表示サブコンポーネント104に提示されているストリーミングビデオに対して、通信帯域幅を再び割り当てることができる。
【００４１】
図2Aおよび図2Bは、「ヒートマップ」タイプのリソース利用率マップを示すが、他のタイプのリソース利用率のグラフィカルな表現も使用され得る。図3は、表示サブコンポーネントと関連付けられるプロセスのリソース利用率が各表示要素の持ち上げまたは影の程度によって表される、例示的なリソース利用率マップ300を示す。この例示的な態様では、各表示サブコンポーネントは、対応するアプリケーションおよびプロセスによるリソース使用量に対応する高さを割り当てられ得る。したがって、より高いリソース利用率が、表示におけるより大きな高さの表現によって示され得る。高さは、影、もしくは2次元ディスプレイ上の他の人工的な持ち上げの技法によって、または、3次元ディスプレイ上で示される持ち上げによって、示され得る。たとえば、示されるリソース利用率マップ300は、表示サブコンポーネント102、104、および110に対して異なる深さの影302、304、および306を与えて、対応するアプリケーションまたはプロセスのリソース利用率を明らかにする。表示サブコンポーネント106、108、および112は、持ち上げられておらず、または影が付いておらず、このことは、これらの表示サブコンポーネントと関連付けられるプロセスが、大量のシステムリソースを使用していないことを示す。影306は影302よりも大きく、表示サブコンポーネント110に対応するプロセスが、表示サブコンポーネント102に対応するプロセスよりも多くのシステムリソースを使用していることを示す。影304は影306と302の両方よりも大きく、表示サブコンポーネント104に対応するプロセスが、表示サブコンポーネント102と110のいずれにも対応するプロセスよりも多くのシステムリソースを使用していることを示す。
【００４２】
図4は、表示サブコンポーネントに対応するプロセスによるリソース使用量が、各表示要素の一部に重畳される棒グラフによって示される、別の例示的なリソース利用率マップ400を示す。この態様では、より高い棒がより多くのリソース使用量を示し得る。態様は、異なるタイプのシステムリソースの相対的な利用率を反映するように、表示サブコンポーネントごとに複数の棒を提供し得る。たとえば、示されるリソース利用率マップ400は、いくつかのサブコンポーネントのための2つの棒の表示を含む。そのような態様では、ある棒は、表示サブコンポーネントに対応するプロセスによって利用されるメモリの相対的な量を示すことができ、一方他の棒は、表示サブコンポーネントに対応するプロセスによって使用されるネットワーク帯域幅を示すことができる。たとえば、棒の表示402は、表示サブコンポーネント102に対応するプロセスが、比較的多くのメモリを使用し、中程度の量の利用可能な通信帯域幅を利用していることを示し得る。同様に、棒の表示404は、表示サブコンポーネント104に対応するプロセスが、より多くのメモリおよび利用可能な通信帯域幅のより大きな部分を使用していることを示し得るが、一方棒の表示406は、表示サブコンポーネント108に対応するプロセスが、コンポーネント102と比べて、利用可能な通信帯域幅のより大きな部分を使用しているが、より少量のメモリ空間を要求していることを示し得る。
【００４３】
この態様では、リソース利用率マップにおける棒の大きさは、各表示サブコンポーネントに対応するプロセスのリソース使用量とともに変化し得る。棒の縮尺も変化し得る。縮尺は、それぞれの表示サブコンポーネントと関連付けられる棒が同じ縮尺になるように、絶対的であってよい。あるいは、縮尺は、表示サブコンポーネントのサイズに関連するものになるように、調整され得る。関連する縮尺の使用によって、表示サブコンポーネントへのユーザの視野を、棒が遮るのを防ぐことができる。棒の表示はまた、サブコンポーネントの異なる隅または外側に位置してもよい。さらに、構成、縮尺、位置などは、すべてユーザの選好に基づいて調整され得る。
【００４４】
いくつかの態様では、ユーザは、図2Aおよび図2Bを参照して上で説明されたような方式で、棒形式のリソース利用率マップに対する入力応答を提供することができる。あるいは、リソース利用率マップ400中の各々の棒は、棒の頂部に表示されるキャップを含み得る。そのようなキャップは、表示サブコンポーネントに対応するプロセスによる、棒に対応するリソースの最大の利用率を示し得る。そのような態様では、ユーザは、たとえばキャップを所望の制限値へとドラッグアンドドロップすることによってキャップを調整し、表示サブコンポーネントに対応するプロセスにシステムが付与すべき最大のリソース利用率に関する入力を提供することができる。そのようなキャップを調整することによって、ユーザは、各表示サブコンポーネントに対応するプロセスに対して利用可能な最大のリソースを制限し、または増やすことができる。
【００４５】
図2Aおよび図2Bを参照して上で説明されたリソース利用率マップ200および210のように、リソース利用率マップ300および400も、ユーザによってオンおよびオフされ得る。最小の量の表示エリアが、図3および図4に示されるリソース利用率マップ300、400によって占有されているので、ユーザは、そのようなリソース利用率マップをオンにしたままにすることを選ぶことができる。このようにして、ユーザは、リソース利用率マップが時間とともに自動的に更新されるに従って、背後にあるプロセスによるリソース利用率の変化を知らされ得る。
【００４６】
図5は、表示サブコンポーネントに対応するプロセスによるリソース利用率が表示の境界に接して提示されるマーカーによって示される、別の形態のリソース利用率マップ500を示す。この態様は、ユーザが、邪魔されることなく表示を見つつ、相対的なリソース利用率を知らされることを可能にする。この態様では、リソース利用率マーカーは、表示サブコンポーネントの表示座標を示すために、表示の一辺および底部(または頂部)に沿って配置され得る。たとえば、表示サブコンポーネント108に対応するプロセスによる大きなリソース使用量が、マーカー502および504によって、リソース利用率マップ500において示される。マーカー502はY座標を示し、マーカー504はX座標を示し、表示サブコンポーネント108はこれらのX-Y座標においてディスプレイ上に提示される。異なるレベルのリソース使用量が、異なる形状、色、またはサイズのような、マーカーの違いによって示され得る。たとえば、マーカー506および508はマーカー502および504より大きく、表示サブコンポーネント110に対応するプロセスが、表示サブコンポーネント108に対応するプロセスよりも、システムリソースの高い利用率を要求していることを示す。マーカーの違いは、どのマーカーがどのサブコンポーネントに対応するかも際立たせ得る。図5に示される態様は、リソース利用率マーカーがディスプレイ上に提示されるコンテンツを遮らないので、利益をもたらし得る。
【００４７】
図6は、グリッドの重畳を特徴とする、別の態様のリソース利用率マップ600を示す。この態様では、リソース使用量の多いアプリケーションまたはプロセスに対応するグリッド重畳の領域が、影付き部分602によって満たされ得る。たとえば、サブコンポーネント108に対応する領域は、より大きなリソース使用量を示すために、リソース利用率マップ600において影を付けられる。部分602は、リソース利用率マップ200および210のヒートマップ部分と同様に、色または濃さが変化し得る。
【００４８】
上で言及されたように、リソース利用率マップはまた、メニューとともに利用され得る。図7は、アプリケーションアイコン702の表示に適用された、例示的なリソース利用率マップ700を示す。各アイコン702は、コンピューティングデバイス1100にインストールされているアプリケーションを表し得る。示されるリソース利用率マップ700は、リソースを使用しているアプリケーション、または大量のシステムリソースを通常要求するアプリケーションを示すために、影付き部分704、706、708を含む。メニューの状況におけるリソース利用率は、所与のアプリケーション(ソフトウェアおよび関連付けられるデータ)によって占有されるメモリの量、(たとえば、アプリケーションが現在実行されている場合)現在利用されているシステムリソースの量、アプリケーションが実行されるときに通常利用されるリソースの量、ある先行する期間にわたって使用されたシステムリソースの量(たとえば、先行する24時間にわたるバッテリ消費量)などを示し得る。また、異なるリソース利用率マップは、これらの代替的なリソース利用率の尺度の各々を示すように生成され得る。
【００４９】
図2Aから図7を参照して上で説明されたリソース利用率マップは、表示要素に対応するアプリケーションまたはプロセスによる相対的なリソース利用率を示す。しかしながら、すべてのアクティブなアプリケーションおよびプロセスが、可視の表示要素と関連付けられ得るとは限らない。アプリケーションおよびプロセスは、バックグラウンドでアクティブであり、現在注目されているアプリケーションに対して割り当てることをユーザが望むリソースについて競合している可能性がある。たとえば、自動的なアプリケーションの更新は、ユーザがビデオを見ている間にアクティブ化し得るので、更新をダウンロードするために通信帯域幅を消費するが、ユーザはむしろ、通信帯域幅はビデオデータの受信に振り向けられていると考えるであろう。別の例として、図2Aから図7を参照して上で説明されたようなリソース利用率マップによって特定され得る対応する表示要素がない場合でも、ウィルススキャンのような定期的なメンテナンス処理がバックグラウンドで実行され、システムリソースを消費することがある。
【００５０】
そのようなバックグラウンドプロセスに対応するために、リソース利用率マップは、対応する表示要素のないバックグラウンドプロセスを示すものを含むように生成され得る。たとえば、リソース利用率マップは、図8Bに示されるような各バックグラウンドプロセスを表す画像を伴う、追加のマップまたは表示を含み得る。この追加のマップまたは表示は、リソース利用率マップ内でユーザによってオンおよびオフされてよく、または、リソースが完全に利用されているときは、システムによって自動的にオンされてよい。この追加のマップは、リソース利用率マップと同様に、色を付けられ、影を付けられ、またはそうでなければマークされ得る。この態様は、対応する表示要素がない場合でも、ユーザが、バックグラウンドプロセスによるリソース利用率について知らされ、リソース使用量の個人設定に関する入力を提供することを可能にする。
【００５１】
図8Aおよび図8Bは、バックグラウンドプロセスのための追加のマップまたは表示(「バックグラウンドマップまたは表示」)を含む、ある態様のリソース利用率マップ800を示す。図2Aを参照して上で説明されたリソース利用率マップ200と同様に、図8Aに示されるリソース利用率マップ800は、表示サブコンポーネント102、104、および112に対応するプロセスによる相対的なリソース利用率を示す影付き部分202、204、および206を含む。この態様におけるリソース利用率マップ800はまた、システムリソースを利用する表示要素に対応しないバックグラウンドプロセスがあることを示す、インジケータアイコン802を含む。インジケータアイコン802は、ユーザが見ることができるバックグラウンドマップまたはバックグラウンド表示があることを示すために、バックグラウンドプロセスもリソースを使用しているとき、リソース利用率マップ表示において提示され得る。ユーザは、マウスによるインジケータアイコン802のクリック、またはタッチスクリーンディスプレイ上のアイコンのタッチのような、種々のユーザ入力のいずれかによって、バックグラウンドマップまたはバックグラウンド表示を見ることを選ぶことができる。それに応答して、コンピューティングデバイスは、図8Bに示されるようなバックグラウンドマップまたはバックグラウンド表示を、表示することができる。この図で示されるように、バックグラウンドマップ804は、本来は不可視のバックグラウンドプロセスを表すためのアイコンを表示することができ、リソース利用率の指示が、リソース利用率マップ800の残りにおける指示と同様に与えられる。たとえば、図8Bのバックグラウンドマップ804は、影付き部分がバックグラウンドプロセスアイコンに与えられた、ヒートマップを含む。リソース利用率マップ800の他の部分のように、ユーザは、アイコンまたは影付き部分をタッチすること、クリックすること、またはそうでなければ選択することによって、リソース利用率の増大または低減のために、バックグラウンドプロセスを選択することができる。そのようなユーザ入力に応答して、コンピューティングデバイスは、表示要素と関連付けられるプロセスと同様のバックグラウンドプロセスにリソースを再び割り当て、またはそのバックグラウンドプロセスからのリ
ソースを再び割り当てることができる。
【００５２】
図面に示される例以外の、多くの他のイラストレーションが、リソース利用率マップのために使用され得る。ある態様では、複数のリソースの利用率が、多次元を特徴とするリソース利用率マップを使用することによって同時に示されてよく、余剰の次元または要素が複数のリソースを表すために使用される。この態様の一例は、色または濃さとして通信の遅延を示しバブルの大きさとして通信帯域幅を示す、バブルを特徴とする「バブルマップ」形式のリソース利用率マップの提示であり得る。別の例として、同時に実行されているスレッドの数が、バブルのサイズによって表されてよく、一方CPU利用率が、バブルの色によって表される。第3のリソースを示すための第3の(またはより高次の)次元が、色、影、または持ち上げを使用して、そのようなバブルマップに追加され得る。
【００５３】
図9は、コンピューティングデバイス上でリソース利用率マップを実装するためのある態様の方法900を示す。主要な態様の方法900は、方法のステップの各々を実行する実行可能命令によってプロセッサを構成することによって、コンピューティングデバイスのプロセッサ上で実施され得る。方法900およびブロック902において、プロセッサは、様々なシステムリソースを利用する、機能、プロセス、アプリケーション、プロセスのコンポーネント、およびアプリケーションのコンポーネントに関する情報を集めることができる。通常、オペレーティングシステムは、現在のリソース利用率に関する統計を保持し、ある期間にわたるリソース利用率の記録をとるように構成され得る。たとえば、プロセッサは、10秒または1分のような監視期間内に、各プロセスによって要求されるプロセッサ計算時間の長さを記録するように構成され得る。別の例として、プロセッサは、プロセッサの特定のアプリケーションに振り向けられるメモリ空間の量を決定することができる。プロセッサは、特定のアプリケーションまたはプロセスを支援するために信号が送信および受信されている時間の長さを監視することによって、通信帯域幅の利用率を決定することができる。取得される具体的な情報は、生成されるべきリソース利用率マップのタイプに応じて変化し得る。たとえば、メモリ使用量に関するリソース利用率マップを生成するために、リソース利用率マップのタイプによって定義され得るある期間内に、各々のアクティブなプロセスがどの程度のメモリを使用しているか、または使用したかに関する情報を、プロセッサが集めることができる。
【００５４】
いくつかの場合には、リソース使用量についての情報は、コンピューティングデバイス上で利用可能であってよく、この場合、ブロック902における動作は、オペレーティングシステムによって保持されるメモリまたはバッファからの適切な情報の呼び出しを含み得る。他の場合には、リソース利用率についての利用可能な情報は、時間平均された利用率の値を計算することのような、その情報を利用率マップにおける使用に適した形にするためのさらなる操作を必要とし得る。
【００５５】
ブロック904において、プロセッサは、取得または生成されたリソース利用率情報を、表示要素に対応するグラフィカルな表現(すなわち、リソース利用率マップ)へと変換することができる。リソース利用率マップを生成するこのプロセスは、アプリケーションおよびプロセスを特定の表示要素と相関付けるステップと、2つ以上のプロセスが特定の表示要素と結び付けられる場合、リソース利用率を合計するステップとを含み得る。このプロセスはまた、適切にサイズが決められ色を付けられた重畳、適切にサイズが決められ配置された棒グラフ、または適切に持ち上げられもしくは影を付けられた表示要素のような、適切な表示の重畳を生成するために、リソース利用率情報を使用するステップを含む。リソース利用率情報のグラフィカルな表示要素へのこの変換は、コンピューティングデバイスによって生成または支援されることになるリソース利用率マップの各タイプに対して、繰り返され得る。情報をグラフィカルな形式に変換するために、情報のアクティブな処理は、表示サブコンポーネントまたはアイコンのような、1つまたは複数の表示要素と関連付けられ得る。上で論じられたように、グラフィカルな表現は、表示要素に対応する異なる視覚的インジケータを含み得る。これらの視覚的インジケータは、視覚的インジケータが対応する表示要素と関連付けられるプロセスのリソース利用率情報と相関するように、色または形状などが変化させられ得る。たとえば、リソース利用率情報が、プロセスによる多くのメモリ使用量を示す場合、プロセスの関連付けられる表示要素に対応する視覚的インジケータは、濃い影を付けられてよく、または熱い色(たとえば、赤または橙)によって影を付けられてよい。表示要素と関連付けられないプロセスについて、取得されたリソース利用率情報が、ユーザによって表示のために選択されるまでメモリに保持され得るバックグラウンドマップを生成するために使用され得る。リソース利用率マップを生成する際、リソース利用率の様々な視覚的インジケータが、対応する表示要素に対して整列され得る。たとえば、関連付けられるプロセスが、プロセッサ時間、記憶装置、および/または通信帯域幅のような、1つまたは複数のシステムリソースを大量に利用している、表示サブコンポーネントに対して、明るい赤色の視覚的インジケータを重畳させることができる。さらなる態様では、グラフィカルな表現は、表示およびグラフィカルな表現を一緒に調整し、開き、または閉じられるように、表示と統合され得る。
【００５６】
いくつかの態様では、機能またはアプリケーションプログラミングインターフェース(API)が、リソース利用率マップを重畳することまたはそれをアプリケーションに統合することを支援するために提供され得る。そのような機能またはAPIは、アプリケーションまたはオペレーティングシステムから、表示および表示の要素またはサブコンポーネントについてのデータを受け取り、対応する表示要素に対して各々の視覚的インジケータが適切に整列されるリソース利用率マップ表示を返すことができる。
【００５７】
システムリソースを利用するバックグラウンドプロセスがありバックグラウンドマップが生成される場合、生成されるリソース利用率マップは、バックグラウンドマップの利用可能性をユーザに通知するためのアイコンも含み得る。
【００５８】
ブロック906において、生成されたリソース利用率マップが表示され得る。表示は、現在の表示にグラフィカルな表現を重畳することを含み得る。表示を生成し、重畳表示を生成するための機構は、コンピューティング技術分野ではよく知られている。
【００５９】
ブロック908において、プロセッサは、ユーザインターフェースを介してユーザ入力を受け取ることができる。ユーザ入力は、リソース使用量の表示されたグラフィカルな表現に応答する、表示要素の選択を示し得る。この入力は、キーボードもしくはマウスでのボタン押下による入力、マイクロフォンから受け取られた言語入力、タッチスクリーンによって受け取られたタッチイベント、または他のユーザ入力センサのような、コンピューティングデバイスのユーザインターフェースと適合する任意の形態であり得る。たとえば、ユーザは、リソース利用率マップの視覚的インジケータをクリックすることができ、または、アイコンに対応するキーを押すことができる。
【００６０】
ブロック910において、プロセッサは、受け取られたユーザ入力を使用して、システムリソースを再び割り当てることができる。プロセッサによって再び割り当てられるリソースは、表示されたリソース利用率において示されるものと同じリソースであってよい。たとえば、メモリ使用量に基づくリソース利用率マップが提示される場合、メモリは、ユーザ入力に基づいて再び割り当てられるリソースであってよい。リソースが再び割り当てられ得る方式は、リソースのタイプ、リソースを使用するアプリケーションおよびプロセス、システムの許可、ならびにコンピューティングデバイスの動作状態による。また、システムリソースを再び割り当てるプロセスは、より多くのリソースを選択されたプロセスまたはアプリケーションに割り当て、または、ユーザによって選択されたプロセスもしくはアプリケーションによってアクセスされるリソースを減らし、もしくはなくすことができる。システムリソースの再割当ては、たとえばスケジューラコンポーネントによって、または選択されたアプリケーションもしくはプロセスを非アクティブ化することによって、オペレーティングシステムを介して遂行され得る。いくつかの態様では、コンピューティングデバイスのプロセッサは、プロセスによるリソースへのアクセスの管理を担うスケジューラを有し得る。スケジューラは、選択されたプロセスに対するユーザ選好に対応できる、異なるスケジューリングアルゴリズムに依存し得る。他の態様では、コンピューティングデバイスのオペレーティングシステムの一部であるリソース管理ソフトウェアが、選択されたプロセスにリソースを再び割り当てるために使用され得る。
【００６１】
方法900の動作は、リソース利用率マップのプロセスがアクティブなままである限り、続き得る。したがって、コンピューティングデバイスは、ブロック902に戻って、ブロック910におけるユーザ選好を実装した後、現在のリソース利用率データを集めることができる。このようにして、ユーザは、コンピューティングデバイスの性能に満足するまで、リソース割当を精密に調整し続けることができる。
【００６２】
上で言及されたように、ある態様では、アプリケーションまたはプロセスの優先度に関するユーザ入力が、群衆に基づくシステムリソース割当方式を作成する際に使用するために、中央サーバに送信され得る。図10Aは、リソース割当またはリソース優先度についてのデータを中央サーバに中継するコンピューティングデバイス上でリソース利用率マップを実装するための、ある態様の方法1000を示す。図10Bは、群衆に基づくリソース割当方式を作成するために、1つまたは複数のコンピューティングデバイスによって中継されるリソース優先順位付けデータを使用して中央サーバ上で実施され得る、ある態様の方法1020を示す。図10Cは、コンピューティングデバイス上で群衆に基づくリソース割当方式を利用して、リソース利用率マップとユーザが対話することによって変更され得る初期のリソース割当を設定するための、ある態様の方法1000Aを示す。
【００６３】
図10Aを参照すると、方法1000は、リソース優先順位付けデータを中央サーバに送信するというブロック1002における追加の動作とともに、上で説明された方法900の動作を含む。方法1000において、ブロック902、904、906、908、および910は、図9を参照して上で説明されたような方式で実行され得る。ブロック1002において、コンピューティングデバイスのプロセッサは、コンピューティングデバイスのリソース割当に関する、受け取られたユーザ入力またはユーザ入力の実装から得られる、リソース優先順位付けデータを中央サーバに送信することができる。このデータは、ユーザ入力に基づいてコンピューティングデバイスによって設定される、優先度またはリソース割当を含み得る。そのようなリソース割当データの送信は、モバイルデバイスの場合のワイヤレスデータ通信リンクを含む、任意の利用可能な遠隔通信機構を介して遂行され得る。
【００６４】
上で言及されたように、中央サーバは、多くのユーザの判断を反映したリソース割当情報を集め、その情報を使用して、群衆の優先順位付けの判断を反映するリソース優先順位付け方式またはリソース割当方式(すなわち、群衆リソース優先順位付け方式)を生成することができる。群衆リソース優先順位付け方式の生成および普及は、多くのコンピューティングデバイスに共通となる動作条件に対して、特に有用であり得る。そのような共通の動作条件の例は、人気のあるインターネットウェブサイトの提示である。たとえば、数十万のユーザが、CNN.com、New York Times.comなどのような人気のあるニュースサイト、さらには、Facebook.com、Youtube.comのような人気のあるサービスウェブサイトをチェックする。通常、ウェブサイトの所有者は、同じウェブページ上に、広告、リンクなどを含む、表示される大量の異なるコンテンツを含める。複数のコンピューティングデバイスから受信されたリソース割当データに基づいて特定のウェブページに対する群衆リソース優先順位付け方式を作成することによって、中央サーバは、ユーザの過半(または少なくとも大きな部分)に共通の、リソース優先順位付け方式を決定することができる。そのような群衆リソース優先順位付け方式は、特定のウェブサイトにアクセスする大量のユーザに適用可能になるので、たとえば、この方式は、ページにアクセスするコンピューティングデバイスが、群衆の選好を反映する事前に定義されたリソース割当によってコンテンツを提示できるようにするのに有用であり得る。このようにして、コンピューティングデバイスは、ユーザが自身固有の調整を行う機会を与えられる前に、大量のユーザに適しているであろう優先順位付け方式を使用して、リソースを優先順位付けることができる。ユーザのリソース割当データを集めて、特定のウェブサイトまたはウェブページに対する群衆リソース優先順位付け方式を動的に更新することによって、そのような中央サーバは、現在のウェブページのコンテンツ、さらには平均的なユーザの活動を反映する、推奨されるリソース優先順位付け方式を提供することができる。たとえば、ニュースページのウェブサイトは、ニュースが展開するに従って一日中変化するので、ユーザのリソース優先順位付けの判断は、その瞬間の最新の話
題に応じて変化する。また、ユーザのリソース優先順位付けは、通勤時間帯ではリアルタイムの交通情報の更新を重視し、一方他の時間帯ではそのような遠隔通信リソースを大量に使用するプロセスを重視しないというように、所与のウェブサイトに対しては一日中変化し得る。
【００６５】
図10Bを参照すると、方法1020において、中央サーバは、ブロック1004で、複数のコンピューティングデバイスから、リソース優先順位付けデータを受信することができる。このデータは、ブロック1002においてコンピューティングデバイスによって送信されたものと同じであるが任意の数のデバイスから送信された、データを含み得る。リソース優先順位付けデータの受信は、インターネット、ローカルネットワーク、およびワイヤレスデータネットワークのような、コンピューティングデバイスによってアクセスされ得る任意の利用可能な通信リンクを介したものであり得る。受信されたデータを使用して、サーバ、またはサーバと通信している別のシステムは、ブロック1006において、群衆リソース優先順位付け方式を生成することができる。ブロック1006において、群衆リソース優先順位付け方式は、リソースの各タイプに対して、さらには、そのためのリソース割当データがコンピューティングデバイスから受信される、各アプリケーション、ウェブサイト、および表示に対して、生成され得る。
【００６６】
群衆リソース優先順位付け方式は、種々の方法を使用して、中央サーバによって生成され得る。第1の態様の方法では、群衆リソース優先順位付け方式は、すべての報告するコンピューティングデバイスから収集されたリソース優先度の平均として生成され得る。第2の態様の方法では、報告するコンピューティングデバイスからの優先度は、種々の基準に従って重みを与えられてよく、たとえば、群衆の考えのリーダーとして識別されたコンピューティングデバイス(たとえば、その選好が、ユーザの過半の選好を反映するように見える個人)に重みが与えられ得る。第3の態様の方法では、群衆リソース割当方式は、リソース間の比較のような、相対的な割当てを反映するように構成され得る。たとえば、割当データが、ウェブページに重畳されるリソース利用率マップに基づくユーザの選択に関連するものであった場合、群衆リソース割当方式は、特定の表示されたウェブページのサブコンポーネントに対するリソース割当のランキングを含み得る。第4の態様の方法では、中央サーバは、複数のまたは過半のユーザに共通のリソース割当を決定し、そのリソース割当を、群衆リソース割当付け方式として採用することができる。第5の態様の方法では、特定のユーザグループのメンバーとして知られているコンピューティングデバイスは、それらの特定のユーザグループのための群衆リソース割当方式を生成するために使用され得るので、認識されるユーザグループの各々に適切な、種々の群衆リソース割当方式を提供する。
【００６７】
方法1020のブロック1008において、生成された群衆リソース割当方式は、インターネット、非公開ネットワーク、またはワイヤレスデータ通信ネットワークのような任意の利用可能な通信リンクを介して、コンピューティングデバイスに送信され得る。群衆リソース割当方式のこの送信は、すべての加入するコンピューティングデバイスにブロードキャストされてよく、または、中央サーバにリソース割当の設定を報告したコンピューティングデバイスにのみ送信されてよい。ある態様では、群衆リソース割当方式の送信は、たとえば、サービスを選択することによって、または加入料を支払うことによって、ユーザが加入できるサービスであり得る。
【００６８】
群衆リソース割当方式を受信するコンピューティングデバイスは、たとえばユーザが選好を入力する機会を与えられる前にウェブサイトを起動すると、群衆リソース割当方式に頼ってリソースを割り当てまたは優先順位付けることができる。たとえば、群衆リソース割当方式が、人気のあるウェブページのためのリソース割当てについてのデータを含んでいた場合、コンピューティングデバイスは、ウェブページをロードするとき、リソース割当のために群衆リソース割当方式に最初に頼ることができる。リソースはその後、上で説明されたようなリソース利用率マップに応答したユーザ入力に基づいて、再び割り当てられ得る。さらなる態様では、群衆リソース割当方式においてリソース優先順位の低いアプリケーションまたはプロセスは、少なくともユーザが対応する表示要素をアクティブ化のために選択するまで、遮断または非アクティブ化され得る。
【００６９】
図10Cは、中央サーバによって送信されるそのような群集リソース割当方式を利用するためにコンピューティングデバイスにおいて実施され得る、ある例示的な方法1000Bを示す。方法1000Bでは、ブロック1010において、コンピューティングデバイスは、中央サーバによって送信される群集リソース割当方式を受信することができる。上で言及されたように、群集リソース割当方式のこの受信は、コンピューティングデバイスと中央サーバとの間の任意の利用可能な通信リンクを介したものであってよい。ブロック1012において、コンピューティングデバイスのプロセッサは、受信された方式内のリソース優先順位付けデータを実装または使用して、アプリケーションまたはプロセスに対してリソースを割り当てることができる。システムリソースの再割当ては、上で説明されたユーザ入力に応答してリソースが割り当てられ得る方法と同様の方式で遂行され得る。その後、コンピューティングデバイスは、図9を参照して上で説明されたように、動作902〜910を実行することを介して、リソース利用率マップを生成し、ユーザ入力を受信することができる。
【００７０】
上で説明された態様は、モバイルコンピューティングデバイスおよびノートブックコンピュータのような、種々のコンピューティングデバイスのいずれにおいても実装され得る。そのようなコンピューティングデバイス1100の例示的で非限定的な態様の、例示的なコンポーネントおよびモジュールが、図11に示される。コンピューティングデバイス1100は、電子部品の回路基板1180を含んでよく、電子部品の一部またはすべては、メモリ1102に結合された制御プロセッサ1101を含む、オンチップシステムに集積され得る。単一のプロセッサ1101が図11に示されるが、たとえば、制御プロセッサ1101がマルチコアプロセッサである場合、または形状と制御プロセッサ1101への接続が同様である別々のチップにパッケージングされた複数のプロセッサを伴う場合、様々な態様はマルチプロセッサデバイスにおいても実装され得る。制御プロセッサ1101はさらに、デジタルシグナルプロセッサ1111および/またはアナログシグナルプロセッサ1121に結合されてよく、これらも一緒に結合され得る。いくつかの態様では、制御プロセッサ1101およびデジタルシグナルプロセッサ1111は、同じコンポーネントであってもよく、または、同じプロセッサチップに集積されてもよい。ディスプレイコントローラ1133およびタッチスクリーンコントローラ1143は、制御プロセッサ1101と、コンピューティングデバイス1100内のまたはそれに接続されるディスプレイもしくはタッチスクリーンディスプレイ1103とに、結合され得る。
【００７１】
制御プロセッサ1101はまた、リムーバブルメモリ1122(たとえば、モバイルコンピューティングデバイスの場合、SDメモリまたはSIMカード)に、かつ/または、ディスクドライブ、CDドライブ、およびDVDドライブの1つまたは複数のような外部メモリ1104に、結合され得る。制御プロセッサ1101はまた、USBポート1114に結合するUniversal Serial Bus (USB)コントローラ1112に、結合され得る。また、電源1170は、USBコントローラ1112を通じて、または、様々な電子部品に電力(たとえば直流電力)を供給する様々な電気接続を通じて、回路基板1180に結合され得る。
【００７２】
制御プロセッサ1101はまた、ビデオエンコーダ1134、たとえば位相反転線(PAL)エンコーダ、sequential couleur a memoire(SECAM)エンコーダ、または全国テレビジョン方式委員会(NTSC)エンコーダにも結合され得る。さらに、ビデオエンコーダ1134は、ビデオエンコーダ1134およびディスプレイまたはタッチスクリーンディスプレイ1103に結合され得る、ビデオ増幅器1136に結合され得る。また、ビデオポート1138が、ビデオ増幅器1136に結合されて、コンピューティングデバイス1100を、外部のモニタ、テレビまたは他のディスプレイ(図示せず)に接続できるようにし得る。
【００７３】
いくつかの態様、特にモバイルコンピューティングデバイスにおいては、制御プロセッサ1101は、アナログシグナルプロセッサ1121などを介して、高周波(RF)送受信機1105に結合され得る。RF送受信機1105は、RF信号を送信および受信するために、RFアンテナ1104に結合され得る。RF送受信機1105は、たとえば、セルラー電話(たとえばG-3、UMTS、CDMAなど)、WiFi、WiMax、およびBluetooth（登録商標）を含む、1つまたは複数の異なるワイヤレス通信プロトコルの通信信号を、送信および受信するように構成され得る。
【００７４】
制御プロセッサ1101はさらに、ネットワークカード1106に結合されてよく、ネットワークカード1106は、ネットワークコネクタ1116および/またはRF送受信機1105に結合され、外部ネットワーク(たとえば、ローカルエリアネットワーク、インターネット、イントラネット、WiFiネットワーク、Bluetooth（登録商標）ネットワーク、パーソナルエリアネットワーク(PAN)など)を介した通信を可能にするように構成され得る。ネットワークカード1106は、別個のチップまたはカードの形態であってもよく、あるいは、フルソリューション通信チップとしての、制御プロセッサ1101またはRF送受信機1105(または両方)の一部として実装されてもよい。
【００７５】
図11に示されるように、いくつかのアナログデバイスが、キーパッド1108のようなアナログシグナルプロセッサ1121を介して、制御プロセッサ1101に結合され得る。他の実装形態では、キーパッドまたはキーボードは、制御プロセッサ1101とのインターフェースが、直接接続(図示せず)を介したもの、ネットワーク接続を介したもの(たとえばネットワークカードを介したもの)、またはUSBポート1114を介したものであり得るように、固有のプロセッサを含み得る。
【００７６】
いくつかの実装形態では、デジタルカメラ1148が制御プロセッサ1101に結合され得る。例示的な態様では、デジタルカメラ1148は、電荷結合デバイス(CCD)カメラまたは相補型金属酸化物半導体(CMOS)カメラであり得る。デジタルカメラ1148は、コンピューティングデバイス1100に組み込まれてもよく、または、外部のケーブルによってデバイスに結合されてもよい。
【００７７】
いくつかの実装形態では、オーディオコーデック1150(たとえばステレオコーデック)が、アナログシグナルプロセッサ1121に結合されてよく、オーディオ増幅器1152を介して1つまたは複数のスピーカ1154に音声信号を送るように構成されてよい。オーディオコーデック1150はまた、(たとえばマイクロフォンジャックを介して)マイクロフォン1158に結合され得るマイクロフォン増幅器1156にも、結合され得る。ヘッドフォンジャック1159も、音声をヘッドフォンに出力するために、オーディオコーデック1150に結合され得る。
【００７８】
いくつかの実装形態では、コンピューティングデバイス1100は、放送されたワイヤレス通信信号を受信するためのアンテナ1162に結合され得る、別個のRF受信機回路1160を含み得る。受信機回路1160は、放送されたテレビ信号(たとえば、FLO TV放送)を受信し、処理のためにDSP 1111に受信された信号を与えるように構成され得る。いくつかの実装形態では、受信機回路1160は、FMラジオ信号を受信するように構成されてよく、この場合、受信された信号は、処理のためにオーディオコーデック1150に渡され得る。
【００７９】
ある態様では、上で説明された方法の動作の1つまたは複数を遂行するためのプロセッサ実行可能命令が、内部メモリ1102、リムーバブルメモリ1122および/または不揮発性メモリ1104(たとえば、ハードドライブ、CDドライブ、またはネットワークを介してアクセス可能な他の記憶装置)に記憶され得る。そのようなプロセッサ実行可能命令は、本明細書で説明された方法を実行するために、制御プロセッサ1101によって実行され得る。
【００８０】
モバイルコンピューティングデバイスの例が図12に示され、ノートブックコンピュータの例が図13に示される。一般的なモバイルコンピューティングデバイス1200は、図12に示されるコンポーネントを共通に有する。たとえば、モバイルコンピューティングデバイス1100は、内部メモリ1192に結合されたプロセッサ1191およびタッチ面入力デバイス/ディスプレイ1193を含み得る。タッチスクリーンディスプレイ1193、たとえば抵抗検知タッチスクリーン、容量検知タッチスクリーン、赤外線検知タッチスクリーン、音響/圧電検知タッチスクリーンなど。様々な態様は、いかなる特定のタイプのタッチスクリーンディスプレイ1193またはタッチパッド技術にも限定されない。加えて、コンピューティングデバイス1100は、プロセッサ1191に結合されたワイヤレスデータリンクおよび/またはセルラー電話送受信機1195に接続される、電磁放射を送信および受信するためのアンテナ1194を有し得る。コンピューティングデバイス1100はまた、ユーザ入力を受け取るための物理的なボタン1196を含み得る。プロセッサ1191は、様々な態様も適用され得る外部のタッチパッドまたはタッチ面にプロセッサ1191を接続するための、universal serial bus(USB)またはFireWire(登録商標)コネクタソケットのような、有線ネットワークインターフェース1198にさらに接続され得る。
【００８１】
いくつかの実装形態では、タッチ面を、タッチスクリーンディスプレイ1193の外部の電子デバイス1100のエリアに設けることができる。たとえば、キーパッド(図示せず)は、埋込み型の容量性タッチセンサを有するタッチ面を含み得る。他の実装形態では、タッチスクリーンディスプレイ1193は、完全なGUIを提供することができる。
【００８２】
上で説明された態様は、たとえば図13に示されるラップトップコンピュータ1200のような、種々のコンピューティングデバイス内で実施され得る。多くのラップトップコンピュータは、コンピュータのポインティングデバイスとして働くタッチパッドタッチ面を含み、およびしたがって、タッチスクリーンディスプレイを備えたモバイルコンピューティングデバイス上で実施されるものと同様のドラッグ、スクロール、およびフリックジェスチャーを受けることができる。ラップトップコンピュータ1200は通常、揮発性メモリ1202と、ディスクドライブ1203のような大容量の不揮発性メモリとに結合されたプロセッサ1201を含む。コンピュータ1200はまた、プロセッサ1201に結合された、フロッピー（登録商標）ディスクドライブ1204およびコンパクトディスク(CD)ドライブ1205も含み得る。コンピュータデバイス1200はまた、USBもしくはFireWire(登録商標)コネクタソケット、または、プロセッサ1201をネットワークに結合するための他のネットワーク接続回路1206のような、データ接続を確立するための、または外部メモリデバイスを受け入れるための、プロセッサ1201に結合されたいくつかのコネクタポートを含み得る。ノートブック構成において、コンピュータハウジングは、すべてがプロセッサ1201に結合される、タッチパッド1207、キーボード1208、およびディスプレイ1209を含む。コンピューティングデバイスの他の構成は、周知であるように、(たとえば、USB入力を介して)プロセッサに結合されたコンピュータマウスまたはトラックボールを含み得る。
【００８３】
コンピューティングデバイスプロセッサ1191、1201は、上で説明された様々な態様の機能を含む、種々の機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。いくつかのポータブルコンピューティングデバイス1100では、1つのプロセッサをワイヤレス通信機能専用とし、1つのプロセッサを他のアプリケーションの実行専用とするなど、複数のプロセッサ1191を設けることができる。プロセッサは、通信チップセットの一部としても含まれ得る。
【００８４】
上記の方法の説明および処理流れ図は、単に説明のための例として提供されたものであり、様々な態様の動作またはステップを提示された順序で実行しなければならないことを要求または暗示するものではない。当業者が諒解するように、上記の態様における動作またはステップの順序は、どのような順序で実行されてもよい。「その後」、「次いで」、「次に」などの単語は、動作またはステップの順序を限定するものではなく、これらの単語は、単に方法の説明について読者を案内するために使用される。さらに、たとえば、冠詞「a」、「an」または「the」などを使用した単数形での請求要素への言及は、その要素を単数に限定するものとして解釈されるべきではない。
【００８５】
本明細書で開示された態様に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、動作、およびステップが、上では概してそれらの機能に関して説明された。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を具体的な適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００８６】
本明細書で開示される態様に関して説明される様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別のハードウェアコンポーネント、または、本明細書で説明された機能を実行するように設計されたそれらの任意の組合せで実装または実行され得る。汎用プロセッサは、マイクロプロセッサでもよいが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンでもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。代替的に、いくつかの動作またはステップが、所与の機能に固有の回路によって実行され得る。
【００８７】
1つまたは複数の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶され、または、コンピュータ可読媒体を介して送信され得る。本明細書で開示された方法またはアルゴリズムのステップは、有形の非一時的コンピュータ可読記憶媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュールにおいて具現化され得る。有形の非一時的コンピュータ可読記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく、例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスされ得る、任意の他の媒体を含み得る。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せも非一時的コンピュータ可読媒体の範囲内に含めるべきである。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、有形の非一時的機械可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せ、もしくはそのセットとして存在し得る。
【００８８】
開示された態様の上記の説明は、当業者が本発明を製作または使用できるように提供されたものである。これらの態様への様々な修正が当業者には容易に明らかであり、本明細書で定義される一般的な原理は、本発明の趣旨または範囲を逸脱することなく他の態様に適用され得る。したがって、本発明は、本明細書で示された態様に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示された原理および新規の特徴に合致する、最も広い範囲を与えられるべきである。
【符号の説明】
【００８９】
100  アプリケーションウィンドウ
102  サブコンポーネント
200  リソース利用率マップ
202  影付き部分
210  リソース利用率マップ
212  影付き部分
300  リソース利用率マップ
302  影
400  リソース利用率マップ
402  棒の表示
500  リソース利用率マップ
502  マーカー
600  リソース利用率マップ
602  影付き部分
700  リソース利用率マップ
702  アプリケーションアイコン
704  影付き部分
800  リソース利用率マップ
802  インジケータアイコン
804  バックグラウンドマップ
【図１】
0005856282.tif 000002
【図２Ａ】
0005856282.tif 000003
【図２Ｂ】
0005856282.tif 000004
【図３】
0005856282.tif 000005
【図４】
0005856282.tif 000006
【図５】
0005856282.tif 000007
【図６】
0005856282.tif 000008
【図７】
0005856282.tif 000009
【図８Ａ】
0005856282.tif 000010
【図８Ｂ】
0005856282.tif 000011
【図９】
0005856282.tif 000012
【図１０Ａ】
0005856282.tif 000013
【図１０Ｂ】
0005856282.tif 000014
【図１０Ｃ】
0005856282.tif 000015
【図１１】
0005856282.tif 000016
【図１２】
0005856282.tif 000017
【図１３】
0005856282.tif 000018