通信ネットワークの1つまたは複数の制御ノードにおいて実施される方法であって、前記1つまたは複数の制御ノードを介して、前記通信ネットワークの複数のノードの動作上の情報を受信し、前記動作上の情報は、潜在的に問題を抱えたノードの指示に関する情報を含むこと、前記1つまたは複数の制御ノードを介して、潜在的に問題を抱えたノードの前記受信された指示に少なくとも部分的に基づいて、復元プランを決定し、前記復元プランは、1つまたは複数の修復データパッケージに関連すること、前記1つまたは複数の制御ノードを介して、前記復元プランに関連する最適配信条件を決定すること、および前記1つまたは複数の制御ノードを介して、前記1つまたは複数の修復データパッケージのうちの少なくとも1つを、選定された潜在的に問題を抱えたノードに隣接する選定された問題を抱えていないノードに、前記選定された潜在的に問題を抱えたノードの障害に先立って供給し、前記1つまたは複数の修復データパッケージのうちの少なくとも1つを前記供給することは、前記決定された最適配信条件に少なくとも部分的に基づくことを備える方法。前記復元プランに関連する最適配信条件の前記決定は、前記1つまたは複数の修復データパッケージを供給する順序を編成するように、前記潜在的に問題を抱えたノードに関連付けられた優先順位付けを調整することを含む請求項1に記載の方法。前記通信ネットワークに関連する動的ネットワーク条件データを受信することをさらに備え、前記復元プランに関連する最適配信条件の前記決定は、前記動的ネットワーク条件データに少なくとも部分的に基づく請求項1に記載の方法。前記動的ネットワーク条件データは、ルーティングテーブルに関連付けられた観測されるホップカウント、観測されるマップ遅延時間、または既存のトラフィックからの観測される輻輳条件のうちの1つまたは複数に少なくとも部分的に基づく請求項3に記載の方法。前記通信ネットワークに関連する静的ネットワーク条件データを受信し、前記静的ネットワーク条件データは、ネットワークコストマップに少なくとも部分的に基づくことをさらに備え、前記復元プランに関連する最適配信条件の前記決定は、前記動的ネットワーク条件データおよび前記静的ネットワーク条件データに少なくとも部分的に基づく請求項4に記載の方法。前記動的ネットワーク条件データは、アプリケーションをサポートする第1のノード、および前記アプリケーションを冗長にサポートする第2のノードに関する動的ネットワーク条件データを含み、さらに前記復元プランに関連する最適配信条件の前記決定は、前記アプリケーションを冗長にサポートする前記第2のノードに少なくとも部分的に基づいて、前記潜在的に問題を抱えたノードに関連付けられた優先順位付けを調整することを含む請求項3に記載の方法。前記動的ネットワーク条件データは、アプリケーションをサポートする第1のノードに関連付けられたバッファステータスに関する動的ネットワーク条件データを含み、さらに前記復元プランに関連する最適配信条件の前記決定は、前記アプリケーションをサポートする前記第1のノードに関連付けられた前記バッファステータスに少なくとも部分的に基づいて、前記潜在的に問題を抱えたノードに関連付けられた優先順位付けを調整することを含む請求項3に記載の方法。潜在的に問題を抱えたノードの前記受信された指示に少なくとも部分的に基づいて点検プランを供給し、前記点検プランは、前記問題を抱えていないノードの少なくとも一部分の、前記潜在的に問題を抱えたノードの少なくとも一部分を探査することを目的とする点検ノードとしての選択を含むこと、および前記動的ネットワーク条件データに少なくとも部分的に基づいて、前記点検プランに関連する最適点検条件を決定することをさらに備える請求項3に記載の方法。通信ネットワークの1つまたは複数の制御ノードにおいて実施される方法であって、前記1つまたは複数の制御ノードを介して、前記通信ネットワークの複数のノードの動作上の情報を受信し、前記動作上の情報は、潜在的に問題を抱えたノードの指示に関する情報を含むこと、前記1つまたは複数の制御ノードを介して、潜在的に問題を抱えたノードの前記受信された指示に少なくとも部分的に基づいて、復元プランを供給し、前記復元プランは、1つまたは複数の修復データパッケージに関連すること、前記1つまたは複数の制御ノードを介して、前記通信ネットワークに関連する動的ネットワーク条件データを受信すること、および前記1つまたは複数の制御ノードを介して、前記動的ネットワーク条件データに少なくとも部分的に基づいて、前記復元プランに関連する最適配信条件を決定することを備える方法。前記復元プランに関連する最適配信条件の前記決定は、前記1つまたは複数の修復データパッケージの配信の順序を編成するように、前記潜在的に問題を抱えたノードに関連付けられた優先順位付けを調整することを含む請求項9に記載の方法。前記動的ネットワーク条件データは、ルーティングテーブルに関連付けられた観測されるホップカウント、観測されるマップ遅延時間、または既存のトラフィックからの観測される輻輳条件のうちの1つまたは複数に少なくとも部分的に基づく請求項9に記載の方法。前記通信ネットワークに関連する静的ネットワーク条件データを受信し、前記静的ネットワーク条件データは、ネットワークコストマップに少なくとも部分的に基づくことをさらに備え、前記復元プランに関連する最適配信条件の前記決定は、前記動的ネットワーク条件データおよび前記静的ネットワーク条件データに少なくとも部分的に基づく請求項9に記載の方法。前記動的ネットワーク条件データは、アプリケーションをサポートする第1のノード、および前記アプリケーションを冗長にサポートする第2のノードに関する動的ネットワーク条件データを含み、さらに前記復元プランに関連する最適配信条件の前記決定は、前記アプリケーションを冗長にサポートする前記第2のノードに少なくとも部分的に基づいて、前記潜在的に問題を抱えたノードに関連付けられた優先順位付けを調整することを含む請求項9に記載の方法。前記動的ネットワーク条件データは、アプリケーションをサポートする第1のノードに関連付けられたバッファステータスに関する動的ネットワーク条件データを含み、さらに前記復元プランに関連する最適配信条件の前記決定は、前記アプリケーションをサポートする前記第1のノードに関連付けられた前記バッファステータスに少なくとも部分的に基づいて、前記潜在的に問題を抱えたノードに関連付けられた優先順位付けを調整することを含む請求項9に記載の方法。互いに通信するように構成された複数のノードを備える通信ネットワークであって、前記複数のノードのうちの少なくとも1つは、1つまたは複数の制御ノードを備え、前記1つまたは複数の制御ノードは、前記1つまたは複数の制御ノードを介して、前記通信ネットワークの複数のノードの動作上の情報を受信し、前記動作上の情報は、潜在的に問題を抱えたノードの指示に関する情報を含み、前記1つまたは複数の制御ノードを介して、潜在的に問題を抱えたノードの前記受信された指示に少なくとも部分的に基づいて、復元プランを決定し、前記復元プランは、1つまたは複数の修復データパッケージに関連し、前記1つまたは複数の制御ノードを介して、前記復元プランに関連する最適配信条件を決定し、さらに前記1つまたは複数の制御ノードを介して、前記1つまたは複数の修復データパッケージのうちの少なくとも1つを、選定された潜在的に問題を抱えたノードに隣接する選定された問題を抱えていないノードに、前記選定された潜在的に問題を抱えたノードの障害に先立って供給し、前記1つまたは複数の修復データパッケージのうちの少なくとも1つを前記供給することは、前記決定された最適配信条件に少なくとも部分的に基づくように構成される通信ネットワーク。前記復元プランに関連する最適配信条件の前記決定は、前記1つまたは複数の修復データパッケージの配信の順序を編成するように、前記潜在的に問題を抱えたノードに関連付けられた優先順位付けを調整することを含む請求項15に記載の通信ネットワーク。前記複数のノードのうちの前記少なくとも1つは、さらに、前記通信ネットワークに関連する動的ネットワーク条件データを受信し、前記動的ネットワーク条件データは、ルーティングテーブルに関連付けられた観測されるホップカウント、観測されるマップ遅延時間、または既存のトラフィックからの観測される輻輳条件のうちの1つまたは複数に少なくとも部分的に基づき、前記通信ネットワークに関連する静的ネットワーク条件データを受信し、前記静的ネットワーク条件データは、ネットワークコストマップに少なくとも部分的に基づくように構成され、前記復元プランに関連する最適配信条件の前記決定は、前記動的ネットワーク条件データおよび前記静的ネットワーク条件データに少なくとも部分的に基づく請求項15に記載の通信ネットワーク。前記動的ネットワーク条件データは、アプリケーションをサポートする第1のノード、および前記アプリケーションを冗長にサポートする第2のノードに関する動的ネットワーク条件データを含み、前記復元プランに関連する最適配信条件の前記決定は、前記アプリケーションを冗長にサポートする前記第2のノードに少なくとも部分的に基づいて、前記潜在的に問題を抱えたノードに関連付けられた優先順位付けを調整することを含む請求項17に記載の通信ネットワーク。前記動的ネットワーク条件データは、アプリケーションをサポートする第1のノードに関連付けられたバッファステータスに関する動的ネットワーク条件データを含み、前記復元プランに関連する最適配信条件の前記決定は、前記アプリケーションをサポートする前記第1のノードに関連付けられた前記バッファステータスに少なくとも部分的に基づいて、前記潜在的に問題を抱えたノードに関連付けられた優先順位付けを調整することを含む請求項17に記載の通信ネットワーク。前記複数のノードのうちの前記少なくとも1つは、さらに、潜在的に問題を抱えたノードの前記受信された指示に少なくとも部分的に基づいて点検プランを供給し、前記点検プランは、前記問題を抱えていないノードの少なくとも一部分の、前記潜在的に問題を抱えたノードの少なくとも一部分を探査することを目的とする点検ノードとしての選択を含み、前記動的ネットワーク条件データに少なくとも部分的に基づいて、前記点検プランに関連する最適点検条件を決定するように構成される請求項17に記載の通信ネットワーク。通信ネットワークの1つまたは複数の制御ノードに関連付けられた複数のノードのうちの1つまたは複数で使用するための製品であって、1つまたは複数のプロセッサによって実行されると、コンピューティングデバイスに、前記1つまたは複数の制御ノードを介して、前記通信ネットワークの複数のノードの動作上の情報を受信し、前記動作上の情報は、潜在的に問題を抱えたノードの指示に関する情報を含み、前記1つまたは複数の制御ノードを介して、潜在的に問題を抱えたノードの前記受信された指示に少なくとも部分的に基づいて、復元プランを決定し、前記復元プランは、1つまたは複数の修復データパッケージに関連し、前記1つまたは複数の制御ノードを介して、前記復元プランに関連する最適配信条件を決定し、前記1つまたは複数の制御ノードを介して、前記1つまたは複数の修復データパッケージのうちの少なくとも1つを、選定された潜在的に問題を抱えたノードに隣接する選定された問題を抱えていないノードに、前記選定された潜在的に問題を抱えたノードの障害に先立って供給し、前記1つまたは複数の修復データパッケージのうちの少なくとも1つを前記供給することは、前記決定された最適配信条件に少なくとも部分的に基づくことを動作させるマシン可読命令を格納する、信号を担持する媒体を備える製品。以下の説明は、特許請求される主題の徹底的な理解をもたらすように特定の詳細とともにさまざまな実施例を示す。特許請求される主題は、本明細書で開示される特定の詳細のいくつか、またはそれより多くを伴わずに実施されることも可能であることが、当業者には理解されよう。さらに、一部の状況において、よく知られた方法、手順、システム、構成要素、および/または回路は、特許請求される主題を不必要に不明瞭にすることを避けるために、詳細には説明されていない。以下の詳細な説明において、本明細書の一部分を形成する添付の図面が参照される。それらの図面において、同様の符号は、文脈によってそうでないことが規定されない限り、通常、同様の構成要素を識別する。詳細な説明、図面、および特許請求の範囲において説明される例示的な実装形態は、限定することは意図していない。本明細書で提示される主題の趣旨も範囲も逸脱することなく、他の実装形態が利用されることが可能であり、さらに他の変更が行われることが可能である。本明細書で全体的に説明され、図で例示される本開示の態様は、すべて明示的に企図されるとともに、本開示の一部とされる、多種多様な異なる構成において構成され、置換され、組み合わされ、さらに設計されることが可能であることが容易に理解されよう。本開示は、とりわけ、潜在的に問題を抱えたノードに対処する復元プランに関連する最適配信条件を決定することと関係する方法、装置、システム、および/またはコンピュータプログラム製品に関する。以下に説明されるのは、修復戦略の設計および実施においてネットワークルーティングコストを使用するという概念である。一部の実施例において、固定帯域幅通信ネットワークにおいて頻繁な可能性のある修復展開の効果が考慮される。たとえば、より低い通信ネットワークストレス、およびより迅速な修復が、通信ネットワークにおける潜在的に問題を抱えたノードの自己修復のために設計された復元プランに関連するであろう速度およびリソース要求を考慮することに少なくとも部分的に基づいて、求められ得る。本明細書で説明される一部の戦略は、そのような復元プランを開発し、さらに/または最適化する際に動的な通信ネットワーク制限、および/または静的な通信ネットワーク制限を考慮して、自己回復が迅速に、さらに他のプロセスに与える影響をより小さくして行われるようにすることが可能である。本明細書で使用される通信ネットワークという用語は、互いに通信するために構成された複数のノードを含む任意の数の通信システムを指すことが可能である。たとえば、そのような通信ネットワークは、専用のインフラストラクチャなしに機能することができる固定帯域幅ワイヤレスのユビキタスコンピューティングタイプのネットワークたとえば、Zigbee登録商標タイプの通信ネットワークなどであることが可能であり、ただし、通信ネットワークの他の例も企図される。たとえば、そのような通信ネットワークは、固定帯域幅を有さなくてもよく、ワイヤレスでなくてもよくたとえば、電力線ネットワークまたは有線ネットワーク、専用のインフラストラクチャを含んでもよく、さらに/またはユビキタスコンピューティングタイプのネットワークでなくてもよい。本明細書で使用されるユビキタスコンピューティングタイプのネットワークとは、日常生活全体にわたっていくつかのさまざまなスケールで分布することが可能な、複数の小型の、さらに/または安価なノードを含み得る、メッシュタイプのネットワーク、アドホックネットワークなど、および/またはそのようなネットワークの組み合わせを含む任意の数の通信システムを指すことが可能である。一例において、通信ネットワークが、いくつかの潜在的に問題を抱えたノードたとえば、障害を生じた、または間もなく障害を生じる、または障害を生じる可能性が高いノードと、復元プランとを有することが可能である。本明細書で使用される復元プランという用語は、点検プランたとえば、1つまたは複数の点検ステップおよび/または修復プランたとえば、ノードにメモリ修復イメージなどの修復データパッケージをロードすることを含み得る。一部の実施例において、復元プランに関連する最適配信条件は、通信ネットワーク内の進行中の機能を乱すことを最小限に抑える、そのような点検を実行するさまざまな方法、および/または修復データパッケージを配信するさまざまな方法のネットワークコストに少なくとも部分的に基づくことが可能である。一部の実施例において、修復データパッケージは、間もなく障害を生じることが予期され得る潜在的に問題を抱えたノードの近くにあらかじめロードされ得る。さらに、または代替として、特定の潜在的に問題を抱えたノードに対する修復は、その特定の潜在的に問題を抱えたノードに関連するアプリケーションたとえば、ユーザアプリケーションもしくはユーザプロセス、システムアプリケーションもしくはシステムプロセスなどが、第2のノードによって冗長にサポートされている場合、および/またはバッファが、短い時間にわたってそのアプリケーションを維持して、より遅い修復配信を許すことが可能である場合、優先度を下げられることが可能である。図1は、本開示の少なくとも一部の実装形態により構成された例示的な通信ネットワーク100の図を示す。通信ネットワーク100は、互いに通信するように構成されたノード102、104、106、108、110、112、114、および116などの複数のノードを含み得る。個々のノード102、104、106、108、110、112、114、および116が、互いに通信するように構成されるたとえば結合されることが可能である。たとえば、個々のノード102、104、106、108、110、112、114、および116は、1対1の直接通信で、さらに/または1つまたは複数のインフラストラクチャデバイス図示せず経由の間接通信で、さらに/または個々のノード102、104、106、108、110、112、114、および116の1つまたは複数を経由して中継して通信するように構成されるたとえば、結合されることが可能である。個々のノード102、104、106、108、110、112、114、および116は、センサたとえば、Zigbee登録商標タイプのデバイス、セル電話機、PDA携帯情報端末、パーソナルメディアプレーヤデバイス、ワイヤレスウェブ閲覧デバイス、パーソナルヘッドセットデバイス、アプリケーション特有のデバイス、および/またはそれらに類するデバイス、および/またはそれらの組み合わせなどのポータブルまたはモバイル電子デバイスを含み得る。後段でより詳細に説明されるとおり、個々のノード102、104、106、108、110、112、114、および116のそれぞれは、制御ノード制御ノード102および104によって例示される、または点検ノード点検ノード106および108によって例示されるとして指定されることが可能であり、さらに問題を抱えていないノード問題を抱えていないノード110および112によって例示される、または潜在的に問題を抱えたノード潜在的に問題を抱えたノード114および116によって例示されるであると特定されることが可能である。一部の実施例において、1つまたは複数の制御ノード102および/または104が、復元プランを含み得る自己回復戦略を実施するのに利用されることが可能である。そのような自己回復戦略は、単一の制御ノードたとえば、制御ノード102または104上で実施されることも、複数の制御ノードたとえば、制御ノード102および104上で実施するために任意の数のモジュール内に分散されることも可能である。前述したとおり、そのような復元プランは、点検プランたとえば、1つまたは複数の点検ステップおよび/または修復プランたとえば、メモリ修復イメージなどの修復データパッケージをノード上にロードすることを含み得る。たとえば、制御ノード102および/または104が、個々のノード102、104、106、108、110、112、114、および116のうちの1つまたは複数を、復元プランのそのような点検プラン要素に少なくとも部分的に基づいて、通信ネットワーク100を監視する点検ノード106および/または108として指定することが可能である。一部の実施例において、点検ノード106および/または108は、通信ネットワーク100を監視して、潜在的に問題を抱えたノード114および/または116の指示に関する情報を含む、通信ネットワーク100に関連する動作上の情報を決定するように構成され得る。点検ノード106および/または108は、そのような動作上の情報を制御ノード102および/または104に通信するように構成され得る。同様に、一部の実施例において、制御ノード102および/または104が、1つまたは複数の修復データパッケージに関連することが可能な復元プランの修復プランを決定することが可能である。たとえば、制御ノード102および/または104が、点検ノード106および/または108から通信された動作上の情報に少なくとも部分的に基づいて、そのような修復プランを決定することが可能である。そのような事例において、制御ノード102および/または104は、問題を抱えていないノード110および112と、潜在的に問題を抱えたノード114および116を区別するように構成され得る。障害を生じた要素の検出のために何を点検すべきかを決定するためのアルゴリズムは、多くの一般的な事例に関して解決されており、機能を復元するのにいずれのノードが修復される必要があるかを決定するためのアルゴリズムも同様に解決されている。たとえば、そのような点検は、各ノード内の詳細を含み得る。そのような例示的な方法は、空いたメモリおよびそのようなメモリの変化のレート、バッファ、キャッシュコールなどを監視することを含み得る。いずれのノードを点検すべきか、さらに/または修復すべきかを決定することと関係する復元プランたとえば、点検プラン要素および/または修復プラン要素を含み得る復元プランの個々の要素を導き出すための、これらのアルゴリズムを、本明細書でさらに詳細に説明することはしない。いずれのノードを点検すべきか、さらに/または修復すべきかを決定することと関係する復元プランの個々の要素を導き出すためのそのようなアルゴリズムのいくつかの例には、たとえば、S.Srinivas、Apolynominalalgorithmforcomputingtheoptimalrepairstrategyinasystemwithindependentcomponentfailures、ProceedingsoftheEleventhAnnualConferenceonUncertaintyinArtificialIntelligence、SanFrancisco、CA、1995年、515~522ページ、M.Mauve、A.Widmer、およびH.Hartenstein、Asurveyonposition-basedroutinginmobileadhocnetworks、IEEEnetwork15、no.62001年:30~39ページ、P.Corke他、Autonomousdeploymentandrepairofasensornetworkusinganunmannedaerialvehicle、2004IEEEInternationalConferenceonRoboticsandAutomation、2004年、ProceedingsICRA’04、vol.4、2004年、D.Ghosh他、Self-healingsystems-surveyandsynthesis、Decisionsupportsystems42、no.42007年、2164~2185ページが含まれる。図2は、本開示の少なくとも一部の実装形態により構成された例示的な通信ネットワークに関連する最適配信条件を決定するための例示的なプロセスを示す。プロセス200、および本明細書で使用される他のプロセスが、ハードウェア、ソフトウェア、および/またはファームウェアによって実行され得る、処理ステップ、機能動作、イベント、および/または作用として説明され得るさまざまな機能ブロックまたは機能動作を示す。本開示に鑑みて、図2に示される機能ブロックの多数の代替が、さまざまな実装形態において実施されてもよいことが、当業者には認識されよう。たとえば、図2に示されるプロセス200は、ブロックまたはアクションの1つの特定の順序を備えることが可能であるものの、これらのブロックまたはアクションが提示される順序は、特許請求される主題をいずれかの特定の順序に必ずしも限定するものではない。同様に、特許請求される主題の範囲を逸脱することなく、図2に示されない間に入るアクション、および/または図2に示されないさらなるアクションが、使用されることが可能であり、さらに/または図2に示されるアクションのいくつかが、なくされることが可能である。プロセス200は、例示的な動作202、204、206、および/または208によって示される機能動作の1つまたは複数を含み得る。図示されるとおり、プロセス200が、通信ネットワーク100図1に関連する最適配信条件を決定するために実施され得る。処理は、ブロック202、通信ネットワークの複数のノードの動作上の情報を受信するで始まることが可能であり、通信ネットワークの複数のノードに関連する動作上の情報が受信され得る。たとえば、通信ネットワークの1つまたは複数の制御ノードが、潜在的に問題を抱えたノードの指示に関する情報を含む動作上の情報を受信することが可能である。そのような潜在的に問題を抱えたノードは、外生的原因たとえば、ウイルスなどおよび/または内生的原因たとえば、メモリ破損、競合条件、無効なポインタもしくはアドレス、来ないデータを待っていることなどによる劣悪な動作が疑われ得る。一部の実施例において、潜在的に問題を抱えたノードの指示に関する情報を含むそのような動作上の情報は、点検ノードのうちの1つまたは複数によって最初に検出されて、その後、制御ノードのうちの1つまたは複数に通信されることも可能である。たとえば、そのような動作上の情報は、潜在的に問題を抱えたノードの各ノードの相対的な健全性の指示たとえば、障害の確率、障害までの推定される時間などを提供することが可能である。処理は、ブロック202からブロック204、復元プランを決定するに進むことが可能であり、復元プランが決定され得る。前述したとおり、そのような復元プランは、点検プランたとえば、1つまたは複数の点検ステップ、および/または修復プランたとえば、ノードにメモリ修復イメージなどの修復データパッケージをロードすることを含み得る。たとえば、通信ネットワークの1つまたは複数の制御ノードが、問題を抱えていないノードと潜在的に問題を抱えたノードを区別し、さらに潜在的に問題を抱えたノードの受信された指示に少なくとも部分的に基づいて、潜在的に問題を抱えたノードに関するそのような復元プランを決定することが可能である。たとえば、複数の制御ノードが利用され得るたとえば、第1の制御ノードが、メモリ問題に気付き、メモリ問題を修復することが可能である一方で、別の制御ノードが、無効なアドレステーブルを修復することが可能である。一部の実施例において、そのような復元プランは、1つまたは複数の修復データパッケージたとえば、メモリ修復イメージなどを、潜在的に問題を抱えたノードに関連付けることが可能であり、これらの修復データパッケージは、潜在的に問題を抱えたノードを、そのようなノードが適切に機能することができるように修復するように構成され得る。前述したとおり、いずれのノードを点検すべきか、さらに/または修復すべきかを決定することと関係する復元プランの個々の要素を導き出すためのアルゴリズムは、多くの一般的な事例に関して解決されておりたとえば、点検プラン要素および/または修復プラン要素を含み得る復元プラン、本明細書でさらに詳細に説明することはしない。処理は、ブロック204からブロック206、復元プランに関連する最適配信条件を決定するに進むことが可能であり、復元プランに関連する最適配信条件が決定され得る。たとえば、通信ネットワークの1つまたは複数の制御ノードが、潜在的に問題を抱えたノードに関連する優先順位付けを調整して、1つまたは複数の修復データパッケージの供給の順序を編成することを含むが、そのような調整をすることには限定されない最適配信条件を決定することが可能である。そのような事例において、2つ以上の潜在的に問題を抱えたノードが、それらの潜在的に問題を抱えたノードの各ノードの相対的な健全性の指示をもたらし得る、関連する動作上の情報に少なくとも部分的に基づいて、そのような優先順位付けに関連付けられることが可能である。たとえば、そのような優先順位付けが、相対的に最も大きい問題を抱えた、潜在的に問題を抱えたノードを優先させていることが可能であるが、それらのノードの健全性を考慮することだけでは、最適配信条件を提供されない可能性がある。したがって、図3に関連して後段で述べる実施例において説明されるとおり、決定された最適配信条件を利用して、潜在的に問題を抱えたノードに関連付けられたそのような優先順位が調整され得る。処理は、ブロック206からブロック208、1つまたは複数の修復データパッケージのうちの少なくとも1つを、選定された潜在的に問題を抱えたノードに隣接する選定された問題を抱えていないノードに、選定された潜在的に問題を抱えたノードの障害に先立って供給するに進むことが可能であり、修復データパッケージが、選定された潜在的に問題を抱えたノードに隣接する選定された問題を抱えていないノードに、選定された潜在的に問題を抱えたノードの障害に先立って供給され得る。たとえば、通信ネットワークの1つまたは複数の制御ノードが、決定された最適配信条件に少なくとも部分的に基づいて、1つまたは複数の修復データパッケージのうちの少なくとも1つを、選定された問題を抱えていないノードに、選定された潜在的に問題を抱えたノードの障害に先立って供給することが可能である。本明細書で使用される隣接するという用語は、必ずしも、物理的に隣接していること、および/またはネットワークホップが隣接していることを要求することなしに、選定された潜在的に問題を抱えたノードに対して、制御ノードと比べて、ネットワークトラフィックの点で、より近い選定された問題を抱えていないノードを指すことが可能である。たとえば、そのような隣接していることは、修復データパッケージの扱いおよび配信のための予備のリソースを考慮する基準、および/または、同様のタイプのノードがやはり、間もなく障害を生じ得るが、まだ検出されていない可能性がある場合、ダイバーシティを考慮する基準たとえば、所与の複数のオプションが、問題を抱えたノードとは異なるタイプたとえば、OSタイプ、チップセットタイプなどのノードに修復データパッケージを配信するのに有利であり得るに少なくとも部分的に基づくことが可能である。いずれのノードが潜在的に問題を抱えているかの特定、およびこれらの潜在的に問題を抱えたノードに向けられた修復データパッケージの選択は、ブロック204に関連して前述した。動作において、たとえば、プロセス200を実行する或る制御ノードが、修復を必要とするいくつかの潜在的に問題を抱えたノードにおける実際の障害より数秒前に、可能性の高い障害を検出することが可能である。たとえば、或る障害予測アルゴリズムが、或る時間枠内で障害の確率を生成することが可能であり、そのような確率の変化のレートが、障害までの時間の推定を改良するのに使用され得る。プロセス200を実行する或る制御ノードが、ネットワーク条件データ図3に関連して後段でより詳細に説明されるから、障害の時点で高い優先度で修復データパッケージを配信することが、通信ネットワーク上でさらなる問題を生じさせる可能性があることを認識することが可能であり、代わりに、修復を必要としている潜在的に問題を抱えたノードの近くの1つまたは複数の問題を抱えていないノードたとえば、健全なノード上に修復データパッケージのいくつか、またはすべてを供給して、修復が始動する際に、修復を必要としている潜在的に問題を抱えたノードが、通信ネットワークにストレスを与えることなしに、健全な近くの問題を抱えていないノードから修復データパッケージを迅速に受信するようにする最適配信条件を決定することが可能である。このことは、通信ネットワークの他の機能に相対的により小さい影響しか及ぼさずに、相対的により迅速な修復を許すことが可能である。図3は、本開示の少なくとも一部の実装形態により構成された通信ネットワークに関連する最適配信条件を決定するための別の例示的なプロセスを示す。プロセス300は、動作302、304、308、310、314、316、320、324、326、328、330、332、および/または334によって例示される動作の1つまたは複数を含み得る。プロセス300が、図2のプロセス200の実施の1つまたは複数の例を与えることが可能である。図示されるとおり、プロセス300は、通信ネットワーク100に関連する最適配信条件を決定するために実施され得る。処理が、動作302、ネットワークを監視するで始まることが可能であり、通信ネットワーク100のすべて、またはいくつかの部分が監視され得る。たとえば、点検ノード106および/または108が、個々のノードのパフォーマンスを監視することなどによって、通信ネットワーク100のすべて、またはいくつかの部分を監視することが可能である。一部の実施例において、点検ノード106および/または108は、問題を抱えていないノード110および/または112、潜在的に問題を抱えたノード114および/または116、または通信ネットワーク100の他のノードを監視することが可能である。そのような監視は、潜在的に問題を抱えたノードの指示に関する情報を含む動作上の情報を収集することが可能である。処理は、動作302から動作304、動作上の情報を受信するに進むことが可能であり、通信ネットワーク100の複数のノードたとえば、潜在的に問題を抱えたノード114および/または116に関連する動作上の情報が受信され得る。たとえば、通信ネットワーク100の1つまたは複数の制御ノード102および/または104が、潜在的に問題を抱えたノードの指示に関する情報を含む動作上の情報を受信することが可能である。そのような潜在的に問題を抱えたノード114および/または116は、外生的原因たとえば、ウイルスなどおよび/または内生的原因たとえば、来ないデータを待っていることなどによる劣悪な動作が疑われ得る。一部の実施例において、そのような動作上の情報たとえば、潜在的に問題を抱えたノードの指示に関する情報は、点検ノード106および/または108のうちの1つまたは複数によって最初に検出されて、その後、制御ノード102および/または104のうちの1つまたは複数に通信されることも可能である。例示される実施例において、そのような動作上の情報は、制御ノード102および/または104の1つまたは複数に関連する自己修復モジュール306に通信され得る。自己修復モジュール306は、制御ノード102および/または104のうちの単一のノード上で実施されることも、複数の制御ノード102および/または104上で実施するために任意の数のモジュール内に分散されることも可能である。一部の実施例において、1つまたは複数の制御ノード102および/または104に関連する自己修復モジュール306は、復元プランを含み得る自己回復戦略を実施するのに利用され得る。処理は、動作304から動作308、復元プランを決定するに進むことが可能であり、復元プランが決定され得る。たとえば、1つまたは複数の制御ノード102および/または104に関連する自己修復モジュール306が、潜在的に問題を抱えたノードの受信された指示に少なくとも部分的に基づいて、そのような復元プランを決定することが可能である。前述したとおり、そのような復元プランは、点検プランたとえば、1つまたは複数の点検ステップおよび/または修復プランたとえば、ノードにメモリ修復イメージなどの修復データパッケージをロードすることを含み得る。たとえば、制御ノード102および/または104に関連する自己修復モジュール306が、個々のノード102、104、106、108、110、112、114、および116のうちの1つまたは複数を、復元プランのそのような点検プラン要素に少なくとも部分的に基づいて、通信ネットワーク100を監視する点検ノード106および/または108として指定することが可能である。同様に、一部の実施例において、制御ノード102および/または104に関連する自己修復モジュール306が、1つまたは複数の修復データパッケージに関連することが可能な復元プランの修復プラン要素を決定することが可能である。一部の実施例において、そのような修復データパッケージは、潜在的に問題を抱えたノードを、そのようなノードが適切に機能することができるように修復するように構成され得るメモリ修復イメージなどを含み得る。たとえば、制御ノード102および/または104が、点検ノード106および/または108から通信された動作上の情報に少なくとも部分的に基づいて、修復プランを決定することが可能である。そのような事例において、制御ノード102および/または104は、問題を抱えていないノード110および112と、潜在的に問題を抱えたノード114および116を区別するように構成され得る。処理は、動作308から動作310、復元プランを受信するに進むことが可能であり、復元プランが、自己修復モジュール306から配信オプティマイザモジュール312に転送され得る。たとえば、配信オプティマイザモジュール312は、制御ノード102および/または104の1つまたは複数に関連付けられて、自己修復モジュール306から復元プランを受信することが可能である。さらに、または代替として、動作上の情報のすべて、またはいくつかの部分が、配信オプティマイザモジュール312によって受信される復元プランに含められる、または関連付けられることも可能である。配信オプティマイザモジュール312は、制御ノード102および/または104のうちの単一のノード上で実施されることも、複数の制御ノード102および/または104上で実施するために任意の数のモジュール内に分散されることも可能である。さらに、または代替として、配信オプティマイザモジュール312と自己修復モジュール306は、別々のモジュールとして例示されるものの、配信オプティマイザモジュール312および自己修復モジュール306のさまざまな動作が、代わりに、1つまたは複数のモジュール内で組み合わされ、さらに/または再編成されてもよい。さらに、または代替として、動作310、復元プランを受信するは、自己修復モジュール306から点検ノード106および/または108への復元プランの点検プラン部分のすべて、またはいくつかの部分の転送を含んでもよい。前述したとおり、動作310で説明される復元プランは、点検プランを含み得る。復元プランの点検プラン部分は、潜在的に問題を抱えたノードの受信された指示に少なくとも部分的に基づいて、供給されていることが可能である。そのような点検プランは、問題を抱えていないノード110および/または112の少なくとも一部分の、潜在的に問題を抱えたノード114および/または118の少なくとも一部分を探査することを目的とする点検ノード106および/または108としての選択を含み得る。後段でより詳細に説明されるとおり、動作330~334に関して、復元プランの点検プラン部分は、決定された最適点検条件に基づいて変更され得る。処理は、動作310から動作314、動的ネットワーク条件データに進むことが可能であり、通信ネットワーク100に関連する動的ネットワーク条件データが配信オプティマイザモジュール312によって受信され得る。たとえば、動的ネットワーク条件データが、配信オプティマイザモジュール312によって点検ノード106および/または108から受信され得る。さらに、または代替として、そのような動的ネットワーク条件データは、点検ノード106および/または108によって先に収集されることなしに、ノード102、104、106、108、110、112、114、および/または116のうちのいずれかから直接に受信されてもよい。本明細書で使用される動的ネットワーク条件データという用語は、要求、輻輳など、および/またはそれらの組み合わせなどの、変化するネットワーク条件と関係する、観測されたデータが含まれることが可能である。たとえば、そのような動的ネットワーク条件データは、ルーティングテーブルに関連付けられた観測されるホップカウント、観測されるマップ遅延時間、既存のトラフィックからの観測される輻輳条件など、またはそれらの組み合わせに少なくとも部分的に基づくことが可能である。さらに、または代替として、動作320に関連して後段でより詳細に説明されるとおり、そのような動的ネットワーク条件データは、複数のノードの間のアプリケーションの冗長なサポートに関するデータ、および/またはそのようなアプリケーションをサポートするバッファステータスに関するデータを含み得る。さらに、処理は、動作310から動作316、静的ネットワーク条件データに進むことが可能であり、通信ネットワーク100に関連する静的ネットワーク条件データが配信オプティマイザモジュール312によって受信され得る。たとえば、静的ネットワーク条件データが、配信オプティマイザモジュール312によってネットワークコストマップまたは通信ネットワーク100に関連する非動的条件の他のリポジトリから受信され得る。本明細書で使用される静的ネットワーク条件データという用語には、非動的ネットワーク条件と関係する事前に決定されたデータが含まれ得る。たとえば、そのような静的ネットワーク条件データは、帯域幅容量タイプのネットワークコストマップなどに少なくとも部分的に基づくことが可能である。処理は、動作316から動作320、最適配信条件を決定するに進むことが可能であり、復元プランに関連する最適な配信条件が決定され得る。図示されるとおり、動作320は、動作302、動作304、動作310、動作314、および動作316の順序で行われた後に行われるものとして例示されるが、動作302、304、310、314、および/または316は、他の何らかの順序で行われてもよい。たとえば、復元プランは、さらなる試験アクション、または特定の監視アクションたとえば、点検ノード106および/または108を介する監視を求める要求を含み得る。そのような実施例において、復元プランは、たとえば、或る仮説を確認するようにさらなる試験データをまず求めることを含むことが可能である。1つの実施例において、配信オプティマイザモジュール312は、動的ネットワーク条件データおよび/または静的ネットワーク条件データに少なくとも部分的に基づいて、1つまたは複数の修復データパッケージを供給する順序を編成するように、潜在的に問題を抱えたノード114および/または116に関連付けられた優先順位付けを調整することを含むが、そのように調整を行うことには限定されない最適配信条件を決定することが可能である。たとえば、そのような優先順位付けが、相対的に最も大きい問題を抱えた、潜在的に問題を抱えたノード114および/または116を優先させていることが可能であるが、それらのノードの健全性を考慮することだけでは、最適配信条件が提供されない可能性がある。したがって、決定された最適配信条件を利用して、動的ネットワーク条件データおよび/または静的ネットワーク条件データに少なくとも部分的に基づいて、潜在的に問題を抱えたノード114および/または116に関連付けられたそのような優先順位が調整され得る。一部の実装形態において、動的ネットワーク条件データは、アプリケーションをサポートする第1のノードノード102、104、106、108、110、112、114、および/または116のいずれか、およびそのアプリケーションを冗長にサポートする第2のノードノード102、104、106、108、110、112、114、および/または116の他のいずれかに関するデータを含み得る。そのような事例において、復元プランに関連する最適配信条件の決定は、アプリケーションを冗長にサポートする第2のノードに少なくとも部分的に基づいて、潜在的に問題を抱えたノードに関連付けられた優先順位付けを調整することを含み得る。さらに、または代替として、一部の実装形態において、動的ネットワーク条件データは、アプリケーションをサポートする第1のノードノード102、104、106、108、110、112、114、および/または116のいずれかに関連付けられたバッファステータスに関するデータを含むことが可能であり、さらに復元プランに関連する最適配信条件の決定は、アプリケーションをサポートする第1のノードに関連付けられたバッファステータスに少なくとも部分的に基づいて、潜在的に問題を抱えたノードに関連付けられた優先順位付けを調整することを含む。処理は、動作320から動作322、最適配信条件を転送するに進むことが可能であり、復元プランに関連する最適配信条件が、配信オプティマイザモジュール312から自己修復モジュール306に転送され得る。処理は、動作322から動作324、修復データパッケージを供給するに進むことが可能であり、1つまたは複数の修復データパッケージが、選定された問題を抱えたノード114および/または116に供給され得る。たとえば、1つまたは複数の制御ノード102および/または104が、決定された最適配信条件に少なくとも部分的に基づいて、1つまたは複数の修復データパッケージのうちの少なくとも1つを、選定された潜在的に問題を抱えたノード114および/または116に供給することが可能である。さらに、または代替として、動作324に関連して、プロセス300は、動作326、修復データパッケージを事前供給するに進むことが可能であり、修復データパッケージが、選定された潜在的に問題を抱えたノード114および/または116に隣接する選定された問題を抱えていないノード110および/または112に、選定された潜在的に問題を抱えたノード114および/または116の障害に先立って供給され得る。処理は、動作326から動作328、修復データパッケージを転送するに進むことが可能であり、選定された問題を抱えていないノード110および/または112が、事前供給されている修復データパッケージを、選定された潜在的に問題を抱えたノード114および/または116に転送することが可能である。たとえば、1つまたは複数の制御ノード102および/または104が、決定された最適配信条件に少なくとも部分的に基づいて、選定された潜在的に問題を抱えたノード114および/または116の障害に先立って、選定された問題を抱えていないノード110および/または112に1つまたは複数の修復データパッケージを供給することが可能である。一部の実施例において、選定された潜在的に問題を抱えたノード114および/または116への転送は、選定された潜在的に問題を抱えたノード114および/または116における障害、または障害の増大した確率によってトリガされ得る。たとえば、プロセス300が、修復データパッケージを準備して、障害の所与の確率たとえば、8パーセントの障害の可能性、10パーセントの障害の可能性、または1パーセントの障害の可能性を有する任意のノードの近くに分配し、その後、障害が生じた場合、または障害がより確かたとえば、90パーセントの障害の可能性である場合に限って、選定された潜在的に問題を抱えたノード114および/または116への修復データパッケージの転送をトリガすることが可能である。一部の実例において、そのような事前供給される修復データパッケージは、使用されずに破棄され得るが、通信ネットワーク100の利益は、必要とされ得る修復が、影響の小さいトラフィック速度を使用して事前供給されていることが可能であるという点で純利益であり得る。動作において、たとえば、通信ネットワーク100が、修復を必要とするいくつかの潜在的に問題を抱えたノード114および/または116における実際の障害より数秒前に、可能性の高い障害を検出していることが可能である。配信オプティマイザモジュール312が、動的ネットワーク条件データ314および/または静的ネットワーク条件データ316から、障害の時点で高い優先度で修復データパッケージを配信することが、通信ネットワーク100上でさらなる問題を生じさせる可能性があることを認識することが可能であり、代わりに、配信オプティマイザモジュール312は、修復を必要としている潜在的に問題を抱えたノード114および/または116の近くの1つまたは複数の問題を抱えていないノード110および/または112たとえば、健全なノード上に修復データパッケージのいくつか、またはすべてを供給して、修復が始動する際に、修復を必要としている潜在的に問題を抱えたノード114および/または116が、通信ネットワーク100にストレスを与えることなしに、健全な近くの問題を抱えていないノード110および/または112から修復データパッケージを迅速に受信するようにする最適配信条件320を決定することが可能である。このことは、通信ネットワーク100の他の機能に相対的により小さい影響しか及ぼさずに、相対的により迅速な修復を許すことが可能である。動作320~328に加えて、または動作320~328の代替として、プロセス300は、動作330、最適の点検条件を決定するに進むことも可能であり、復元プランの点検プラン部分に関連する最適の点検条件が決定され得る。前述したとおり、動作310で説明される復元プランは、点検プランを含み得る。復元プランの点検プラン部分は、潜在的に問題を抱えたノードの受信された指示に少なくとも部分的に基づいて、供給されていることが可能である。そのような点検プランは、問題を抱えていないノード110および/または112の少なくとも一部分の、潜在的に問題を抱えたノード114および/または118の少なくとも一部分を探査することを目的とする点検ノード106および/または108としての選択を含み得る。動作310に関連して前述したとおり、復元プランの点検プラン部分のすべての、点検ノード106および/または108への転送が行われ得る。したがって、動作330~334は、動作320~328の後に行われるものとして例示されるが、動作330~334は、動作320~328と同時に、または動作320~328に先立って行われてもよいたとえば、動作330~334が、動作310に関連する点検ノード106および/または108への点検プランのすべて、またはいくつかの部分の転送に取って代わってもよい。図示される実施例において、復元プランの点検プラン部分に関連する最適の点検条件が、動的ネットワーク条件データおよび/または静的ネットワーク条件データに少なくとも部分的に基づいて決定され得る。たとえば、問題を抱えていないノード110および/または112の少なくとも一部分の、潜在的に問題を抱えたノード114および/または118の少なくとも一部分を探査することを目的とする点検ノード106および/または108としての選択が、動的ネットワーク条件データたとえば、ルーティングテーブルに関連付けられた観測されるホップカウント、観測されるマップ遅延時間、既存のトラフィックからの観測される輻輳条件など、またはそれらの組み合わせに少なくとも部分的に基づくことが可能である。処理は、動作330から動作332、最適の点検条件を転送するに進むことが可能であり、復元プランに関連する最適の点検条件が、配信オプティマイザモジュール312から自己修復モジュール306に転送され得る。処理は、動作332から動作334、点検ノードの分布を変更するに進むことが可能であり、点検ノード106および/または108の分布が、通信ネットワーク100のノードたとえば、ノード102、104、106、108、110、112、114、および/または116のいずれかの間で変更され得る。変更された点検ノード106および/または108は、監視動作動作302に関連して前述したを実行することに進むことが可能である。たとえば、変更された点検ノード106および/または108が、復元プランの点検プラン要素に関連付けられた、決定された最適の点検条件に少なくとも部分的に基づいて、監視動作を実行することに進むことが可能である。たとえば、以前に観測された障害モードのより良好な認識を円滑にするさらなる変数が、点検ノード106および/または108を介して監視され得る。図4は、本開示の少なくとも一部の実施例により構成された例示的なコンピュータプログラム製品400を示す。プログラム製品400は、信号を担持する媒体402を含み得る。信号を担持する媒体402は、1つまたは複数のプロセッサによって実行された場合、コンピューティングデバイスが、図2および/または図3に関連して前述した機能をもたらすことを動作上可能にし得る1つまたは複数のマシン可読命令404を含み得る。このため、たとえば、図1のシステムを参照すると、制御ノード102および/または104の1つまたは複数が、媒体402によって伝送される命令404に応答して、図2および/または図3に示されるアクションの1つまたは複数を行うことが可能である。一部の実装形態において、信号を担持する媒体402は、ハードディスクドライブ、CDコンパクトディスク、DVDデジタルビデオディスク、デジタルテープ、メモリなどの、ただし、それらには限定されないコンピュータ可読媒体406を包含することが可能である。一部の実装形態において、信号を担持する媒体402は、メモリ、R/W読み取り/書き込みCD、R/WDVDなどの、ただし、それらには限定されない記録可能な媒体408を包含することが可能である。一部の実装形態において、信号を担持する媒体402は、デジタル通信媒体および/またはアナログ通信媒体たとえば、光ファイバケーブル、導波管、有線通信リンク、ワイヤレス通信リンク、その他などの、ただし、それらには限定されない通信媒体410を包含することが可能である。図5は、本開示の少なくとも一部の実装形態により構成されたコンピューティングデバイス500の例示的な実装形態を示すブロック図である。1つの例示的な構成501において、コンピューティングデバイス500は、1つまたは複数のプロセッサ510と、システムメモリ520とを含み得る。メモリバス530が、プロセッサ510とシステムメモリ520の間で通信するために使用され得る。所望される構成に依存して、プロセッサ510は、μPマイクロプロセッサ、μCマイクロコントローラ、DSPデジタルシグナルプロセッサ、またはそれらの組み合わせを含むが、それらには限定されない任意のタイプであり得る。プロセッサ510は、レベル1キャッシュ511およびレベル2キャッシュ512などの1つまたは複数のレベルのキャッシングと、プロセッサコア513と、レジスタ514とを含み得る。プロセッサコア513は、ALU算術論理演算ユニット、FPU浮動小数点演算装置、DSPコアデジタル信号処理コア、およびそれらの任意の組み合わせを含み得る。また、メモリコントローラ515が、プロセッサ510と一緒に使用されることも可能であり、または一部の実装形態において、メモリコントローラ515は、プロセッサ510の内部部品であることも可能である。所望される構成に依存して、システムメモリ520は、揮発性メモリRAMなどの、不揮発性メモリROM、フラッシュメモリ、その他などの、またはそれらの組み合わせを含むが、それらには限定されない任意のタイプであり得る。システムメモリ520は、オペレーティングシステム512と、1つまたは複数のアプリケーション522と、プログラムデータ524とを含み得る。アプリケーション522は、図2のプロセス200、および/または図3のプロセス300に関連して説明される機能ブロックおよび/または機能アクションを含め、本明細書で説明される機能を実行するように構成された通信ネットワーク内の最適配信条件アルゴリズム523を含み得る。プログラムデータ524は、最適配信条件アルゴリズム523で使用するためのデータ525、たとえば、静的ネットワーク条件に対応するデータなどを含み得る。一部の例示的な実装形態において、アプリケーション522は、オペレーティングシステム521上でプログラムデータ524を用いて動作して、本明細書で説明される、最適配信条件を決定する実装形態が提供され得るようにするように構成されることが可能である。たとえば、制御ノード102および/または104が、コンピューティングデバイス500のすべて、または一部分を備えることが可能であり、さらに本明細書で説明される、最適配信条件を決定する実装形態が提供され得るようにアプリケーション522のすべて、または一部分を実行することができることが可能である。この基本的な構成が、破線501内の構成要素によって図5に示される。コンピューティングデバイス500は、基本的な構成510と要求される任意のデバイスおよびインターフェースの間の通信を円滑にするさらなるフィーチャもしくは機能、およびさらなるインターフェースを有することが可能である。たとえば、バス/インターフェースコントローラ540が、ストレージインターフェースバス541を介した、基本的な構成501と1つまたは複数のデータストレージデバイス550の間の通信を円滑にするのに使用され得る。データストレージデバイス550は、リムーバブルなストレージデバイス551、リムーバブルでないストレージデバイス552、またはリムーバブルなストレージデバイス551とリムーバブルでないストレージデバイス552の組み合わせであり得る。リムーバブルなストレージデバイス、およびリムーバブルでないストレージデバイスの例には、いくつかを挙げると、フレキシブルディスクドライブやHDDハードディスクドライブなどの磁気ディスクデバイス、CDコンパクトディスクドライブまたはDVDデジタルバーサタイルディスクドライブなどの光ディスクドライブ、SSDソリッドステートドライブ、およびテープドライブが含まれる。例示的なコンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するために任意の方法または技術で実施された揮発性媒体および不揮発性媒体、リムーバブルな媒体、およびリムーバブルでない媒体が含まれ得る。システムメモリ520、リムーバブルなストレージ551、およびリムーバブルでないストレージ552はすべて、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、DVDデジタルバーサタイルディスクもしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望される情報を格納するのに使用されることが可能であり、さらにコンピューティングデバイス500によってアクセスされ得る他の任意の媒体を含むが、それらには限定されない。任意のそのようなコンピュータ記憶媒体が、デバイス500の一部であり得る。また、コンピューティングデバイス500は、バス/インターフェースコントローラ540を介したさまざまなインターフェースデバイスたとえば、出力インターフェース、周辺インターフェース、および通信インターフェースからの基本的な構成501に対する通信を円滑にするためのインターフェースバス542を含むことも可能である。例示的な出力インターフェース560は、1つまたは複数のA/Vポート563を介してディスプレイまたはスピーカなどのさまざまな外部デバイスに通信するように構成され得るグラフィックス処理ユニット561およびオーディオ処理ユニット562を含み得る。例示的な周辺インターフェース560は、1つまたは複数のI/Oポート573を介して入力デバイスたとえば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、その他または他の周辺デバイスたとえば、プリンタ、スキャナ、その他などの外部デバイスと通信するように構成され得るシリアルインターフェースコントローラ571またはパラレルインターフェースコントローラ572を含み得る。例示的な通信インターフェース580が、1つまたは複数の通信ポート582経由のネットワーク通信を介して他の1つまたは複数のコンピューティングデバイス590との通信を円滑にするように構成され得るネットワークコントローラ581を含む。通信接続が、通信媒体の一例である。通信媒体は、通常、搬送波などの変調されたデータ信号、または他のトランスポート機構におけるコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって実現されることが可能であり、任意の情報配信媒体を含み得る。変調されたデータ信号とは、情報を信号内に符号化するように信号の特性の1つまたは複数が設定されている、または変更されている信号であり得る。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、および音響、RF無線周波数、IR赤外線、または他のワイヤレス媒体などのワイヤレス媒体が含まれ得る。本明細書で使用されるコンピュータ可読媒体という用語は、記憶媒体と通信媒体をともに含み得る。コンピューティングデバイス500は、セル電話機、PDA携帯情報端末、パーソナルメディアプレーヤデバイス、ワイヤレスウェブ閲覧デバイス、パーソナルヘッドセットデバイス、アプリケーション特有のデバイス、またはそれらの機能のいずれかを含むハイブリッドデバイスなどの小さいフォームファクタのポータブルまたはモバイル電子デバイスの一部分として実施され得る。また、コンピューティングデバイス500は、ラップトップコンピュータ構成と非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとして実施されることも可能である。さらに、コンピューティングデバイス500は、ワイヤレス基地局、または他のワイヤレスのシステムもしくはデバイスの一部として実施されてもよい。以下の詳細な説明のいくつかの部分は、コンピュータメモリなどのコンピューティングシステムメモリ内に格納されたデータビットまたはバイナリデジタル信号に対する操作のアルゴリズムまたは記号表現に関連して提示される。これらのアルゴリズム記述またはアルゴリズム表現は、データ処理分野の業者が、自らの作業の内容を他の当業者に伝えるのに使用する技術の例である。アルゴリズムとは、この場合、さらに一般的にも、所望される結果につながる自己矛盾のない一連の動作または類似した処理と考えられる。この文脈で、動作または処理は、物理的量の物理的操作を含む。通常、ただし、必然的にではなく、そのような量は、格納される、転送される、組み合わされる、比較される、またはそれ以外で操作されることが可能な電気信号または磁気信号の形態をとり得る。ときとして、主に、一般的な用法の理由で、そのような信号をビット、データ、値、要素、シンボル、文字、項、数、数字などと呼ぶことが好都合であることが判明している。しかし、これら、および類似した用語のすべては、適切な物理的量に関連付けられるべきであり、単に便利なラベルにすぎないことを理解されたい。特に明記しない限り、以下の説明から明白なとおり、処理すること、算出すること、計算すること、決定することなどの用語を利用する本明細書の説明は、コンピューティングデバイスのメモリ、レジスタ、または他の情報ストレージデバイス、情報伝送デバイス、もしくは情報表示デバイスの内部の物理的な電子的量または磁気的量として表されたデータを操作する、または変換するコンピューティングデバイスのアクションまたはプロセスを指すことが認識されよう。特許請求される主題は、本明細書で使用される特定の実装形態に範囲を限定されない。たとえば、一部の実装形態は、たとえば、デバイス上、または複数のデバイスの組み合わせの上で動作するように使用されるなど、ハードウェアの形態であり得るのに対して、他の実装形態は、ソフトウェアおよび/またはファームウェアの形態であり得る。同様に、特許請求される主題は、この点で範囲を限定されないものの、一部の実装形態は、信号を担持する媒体、記憶媒体、および/または複数の記憶媒体などの1つまたは複数の製品を含み得る。たとえば、CD-ROM、コンピュータディスク、フラッシュメモリなどの、この記憶媒体は、たとえば、コンピューティングシステム、コンピューティングプラットフォーム、または他のシステムなどのコンピューティングデバイスによって実行されると、たとえば、前述した実装形態のうちの1つなどの、特許請求される主題によるプロセッサの実行をもたらし得る命令が格納されていることが可能である。1つの可能性として、コンピューティングデバイスは、1つまたは複数の処理ユニットもしくはプロセッサと、ディスプレイなどの1つまたは複数の入出力デバイスと、キーボードおよび/またはマウスと、スタティックランダムアクセスメモリ、ダイナミックランダムアクセスメモリ、フラッシュメモリ、および/またはハードドライブなどの1つまたは複数のメモリとを含み得る。システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般にいつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点でコスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび/またはシステムおよび/または他の技術をもたらすことができるさまざまな達成手段がありたとえば、ハードウェア、ソフトウェア、および/またはファームウェア、好ましい達成手段は、プロセスおよび/またはシステムおよび/または他の技術が導入される状況によって異なる。たとえば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび/またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および/またはファームウェアの何らかの組み合わせを選択することができる。前述の詳細な説明では、ブロック図、フローチャート、および/または例の使用によって、装置および/またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および/または例が1つまたは複数の機能および/または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および/または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組み合わせにより、個別におよび/または集合的に実装可能であることが、当業者には理解されるであろう。1つの実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、デジタルシグナルプロセッサDSP、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、1つまたは複数のコンピュータ上で動作する1つまたは複数のコンピュータプログラムとしてたとえば、1つまたは複数のコンピュータシステム上で動作する1つまたは複数のプログラムとして、1つまたは複数のプロセッサ上で動作する1つまたは複数のプログラムとしてたとえば、1つまたは複数のマイクロプロセッサ上で動作する1つまたは複数のプログラムとして、ファームウェアとして、あるいは実質上それらの任意の組み合わせとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに/またはソフトウェアおよび/もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フレキシブルディスク、ハードディスクドライブHDD、コンパクトディスクCD、デジタルビデオディスクDVD、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および/またはアナログ通信媒体たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなどの通信タイプの媒体が含まれるが、それらには限定されない。本明細書で説明したやり方で装置および/またはプロセスを記載し、その後そのように記載された装置および/またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および/またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムのうちの1つもしくは複数、タッチパッドもしくはスクリーンなどの1つもしくは複数の相互作用装置、ならびに/またはフィードバックループおよびコントロールモータを含むコントロールシステムたとえば、位置検知用および/もしくは速度検知用フィードバック、コンポーネントの移動用および/もしくは数量の調整用コントロールモータを含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング/通信システムおよび/またはネットワークコンピューティング/通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に関連付けされる。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の2つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに関連付けされていると見ることができる。同様に、そのように関連付けされた任意の2つのコンポーネントは、所望の機能を実現するために、互いに動作可能に接続または動作可能に結合されていると見なすこともでき、そのように関連付け可能な任意の2つのコンポーネントは、所望の機能を実現するために、互いに動作可能に結合できると見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および/もしくは物理的に相互作用するコンポーネント、ならびに/またはワイヤレスに相互作用可能な、および/もしくはワイヤレスに相互作用するコンポーネント、ならびに/または論理的に相互作用する、および/もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。さまざまな単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。通常、本明細書において、特に添付の特許請求の範囲たとえば、添付の特許請求の範囲の本体部において使用される用語は、全体を通じてオープンなopen用語として意図されていることが、当業者には理解されようたとえば、用語含むincludingは、含むがそれに限定されないincludingbutnotlimitedtoと解釈されるべきであり、用語有するhavingは、少なくとも有するhavingatleastと解釈されるべきであり、用語含むincludesは、含むがそれに限定されないincludesbutisnotlimitedtoと解釈されるべきである、など。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句少なくとも1つのatleastoneおよび1つまたは複数のoneormoreを使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句1つまたは複数のまたは少なくとも1つのおよびaまたはanなどの不定冠詞を含む場合であっても、不定冠詞aまたはanによる請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む発明に限定する、ということを示唆していると解釈されるべきではないたとえば、aおよび/またはanは、通常、少なくとも1つのまたは1つまたは複数のを意味すると解釈されるべきである。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、通常、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されようたとえば、他の修飾語なしでの2つの記載tworecitationsの単なる記載は、通常、少なくとも2つの記載、または2つ以上の記載を意味する。さらに、A、BおよびC、などの少なくとも1つに類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されているたとえば、A、B、およびCの少なくとも1つを有するシステムは、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない。A、B、またはC、などの少なくとも1つに類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されているたとえば、A、B、またはCの少なくとも1つを有するシステムは、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方oneoftheterms、当該用語のいずれかeitheroftheterms、または両方の用語bothtermsを含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句AまたはBは、AまたはBあるいはAおよびBの可能性を含むことが理解されよう。本明細書において或る実装形態、1つの実装形態、一部の実装形態、または他の実装形態について述べていることは、1つまたは複数の実装形態に関連して説明される特定のフィーチャ、構造、または特徴が、少なくとも一部の実装形態に含まれ得るが、必ずしもすべての実装形態には含まれないことを意味する可能性がある。以上の説明において或る実装形態、1つの実装形態、または一部の実装形態がさまざまに現れることは、必ずしもすべて同一の実装形態を指しているとは限らない。いくつかの例示的な技術が、さまざまな方法およびシステムを使用して本明細書で示され、説明されてきたが、特許請求される主題を逸脱することなく、他のさまざまな変形が行われることが可能であり、さらに均等形態が代用され得ることが当業者には理解されよう。さらに、本明細書で使用される中心的な概念を逸脱することなく、特許請求される主題の教示に特定の状況を適合させる多くの変形が行われることが可能である。したがって、特許請求される主題は、開示される特定の実施例に限定されず、そのような特許請求される主題は、添付の特許請求の範囲、および均等の範囲に含まれるすべての実装形態を含むことも可能であることが意図される。