ポータブルコンピューティングデバイスの情報のプリフェッチングを実行するための方法であって、前記ポータブルコンピューティングデバイスのディスプレイ画面上にウェブページをレンダリングするステップと、前記ウェブページ内の任意のリンクについてのDNSプリフェッチを実行するステップとを含む方法。画面変更操作が実行されているかどうかを決定するステップと、前記画面変更操作が実行されているとき、前記ディスプレイ画面に表示されているリンクごとに、前記ポータブルコンピューティングデバイス内のキューに1つまたは複数のDNSプリフェッチタスクを入れるステップとをさらに含む請求項1に記載の方法。前記キューが後入れ先出しキューである、請求項2に記載の方法。前記画面変更操作が停止されているかどうかを決定するステップと、前記画面変更操作が停止されている場合、前記ウェブページ内の可視リンクについての前記DNSプリフェッチタスクを実行するステップとをさらに含む請求項2に記載の方法。ユーザの習慣を監視し、習慣を現在時間と比較することによって、ユーザが1つまたは複数のウェブサイトをダウンロードする可能性を決定するステップと、前記現在時間から所定の時間以内に日常的にアクセスされるウェブサイトに関するパターンを決定するステップとをさらに含む請求項1に記載の方法。CPU、メモリ、およびバス帯域幅を含む十分な処理リソースがリソースマネージャによるウェブコンテンツの処理をサポートするために使用可能であるかどうかを決定するステップをさらに含む請求項5に記載の方法。前記ポータブルコンピューティングデバイスが充電器に接続されているかどうか、または十分なバッテリ充電が使用可能かどうか、および前記処理リソースがウェブコンテンツの処理に十分かどうかを決定するステップをさらに含む請求項6に記載の方法。前記ポータブルコンピューティングデバイスが前記充電器に接続されている、または十分なバッテリ充電が使用可能である場合、平均的なワイヤレスチャネル品質が条件を満たすかどうかを決定するステップと、前記平均的なワイヤレスチャネル品質が前記条件を満たす場合、コンテンツまたはDNSプリフェッチングを実行するステップとをさらに含む請求項7に記載の方法。ワイヤレスチャネルが存在するかどうかを決定するステップをさらに含む請求項1に記載の方法。ユーザが前記ウェブページから離れてナビゲートすることに応答して前記キューをクリアするステップをさらに含む請求項3に記載の方法。ポータブルコンピューティングデバイスであって、前記ポータブルコンピューティングデバイスのディスプレイ画面上にウェブページをレンダリングするための手段と、前記ウェブページ内の任意のリンクについてのDNSプリフェッチを実行するための手段とを含むポータブルコンピューティングデバイス。画面変更操作が実行されているかどうかを決定するための手段と、前記画面変更操作が実行されているとき、前記ディスプレイ画面に表示されているリンクごとに、キューに1つまたは複数のDNSプリフェッチタスクを入れるための手段とをさらに含む請求項11に記載のポータブルコンピューティングデバイス。前記キューが後入れ先出しキューである、請求項12に記載のポータブルコンピューティングデバイス。前記画面変更操作が停止されているかどうかを決定するための手段と、前記画面変更操作が停止されている場合、前記ウェブページ内の各可視リンクについてのDNSプリフェッチタスクを実行するための手段とをさらに含む請求項13に記載のポータブルコンピューティングデバイス。ユーザの習慣を監視し、習慣を現在時間と比較することによって、ユーザが1つまたは複数のウェブサイトをダウンロードする可能性を決定するための手段と、前記現在時間から所定の時間以内に日常的にアクセスされるウェブサイトに関するパターンを決定するための手段とをさらに含む請求項11に記載のポータブルコンピューティングデバイス。CPU、メモリ、およびバス帯域幅を含む十分な処理リソースがリソースマネージャによるウェブコンテンツの処理をサポートするために使用可能であるかどうかを決定するための手段をさらに含む請求項15に記載のポータブルコンピューティングデバイス。前記ポータブルコンピューティングデバイスが充電器に接続されているかどうか、または十分なバッテリ充電が使用可能かどうか、および前記処理リソースがウェブコンテンツの処理に十分かどうかを決定するための手段をさらに含む請求項16に記載のポータブルコンピューティングデバイス。ワイヤレスチャネルが存在するかどうかを決定するための手段をさらに含む請求項11に記載のポータブルコンピューティングデバイス。ユーザが前記ウェブページから離れてナビゲートすることに応答して前記キューをクリアするための手段をさらに含む請求項13に記載のポータブルコンピューティングデバイス。ポータブルコンピューティングデバイスであって、メモリと、前記メモリにアクセス可能なプロセッサとを備え、前記プロセッサが、前記ポータブルコンピューティングデバイスのディスプレイ画面上にウェブページをレンダリングし、前記ウェブページ内の任意の可視リンクについてのDNSプリフェッチを実行するように動作可能であるポータブルコンピューティングデバイス。前記プロセッサが、画面変更操作が実行されているかどうかを決定し、前記画面変更操作が実行されているとき、前記ディスプレイ画面に表示されているリンクごとに、前記ポータブルコンピューティングデバイス内のキューに1つまたは複数のDNSプリフェッチタスクを入れるようにさらに動作可能である請求項20に記載のポータブルコンピューティングデバイス。前記キューが後入れ先出しキューである、請求項20に記載のポータブルコンピューティングデバイス。前記プロセッサが、前記画面変更操作が停止されているかどうかを決定し、前記画面変更操作が停止されている場合、前記ウェブページ内の各可視リンクについての前記DNSプリフェッチタスクを実行するようにさらに動作可能である請求項20に記載のポータブルコンピューティングデバイス。前記プロセッサが、ユーザの習慣を監視し、習慣を現在時間と比較することによって、ユーザが1つまたは複数のウェブサイトをダウンロードする可能性を決定し、前記現在時間から所定の時間以内に日常的にアクセスされるウェブサイトに関するパターンを決定するようにさらに動作可能である請求項23に記載のポータブルコンピューティングデバイス。前記プロセッサが、CPU、メモリ、およびバス帯域幅を含む十分な処理リソースがリソースマネージャによるウェブコンテンツの処理をサポートするために使用可能であるかどうかを決定するようにさらに動作可能である請求項24に記載のポータブルコンピューティングデバイス。前記プロセッサが、前記ポータブルコンピューティングデバイスが充電器に接続されているかどうか、または十分なバッテリ充電が使用可能かどうか、および前記処理リソースがウェブコンテンツの処理に十分かどうかを決定するようにさらに動作可能である請求項23に記載のポータブルコンピューティングデバイス。前記プロセッサが、前記ポータブルコンピューティングデバイスが前記充電器に接続されている、または十分なバッテリ充電が使用可能である場合、平均的なワイヤレスチャネル品質が条件を満たすかどうかを決定し、前記平均的なワイヤレスチャネル品質が前記条件を満たす場合、コンテンツまたはDNSプリフェッチングを実行するようにさらに動作可能である請求項20に記載のポータブルコンピューティングデバイス。ポータブルコンピューティングデバイスのための、コンピュータにより実行可能な命令からなるコンピュータプログラムであって、前記ポータブルコンピューティングデバイスのディスプレイ画面上にウェブページをレンダリングするための少なくとも1つの命令と、前記ウェブページ内の任意の可視リンクについてのDNSプリフェッチを実行するための少なくとも1つの命令とを含むコンピュータプログラム。画面変更操作が実行されているかどうかを決定するための少なくとも1つの命令と、前記画面変更操作が実行されているとき、前記ディスプレイ画面に表示されているリンクごとに、前記ポータブルコンピューティングデバイス内のキューに1つまたは複数のDNSプリフェッチタスクを入れるための少なくとも1つの命令とをさらに含む請求項28に記載のコンピュータプログラム。前記キューが後入れ先出しキューである、請求項28に記載のコンピュータプログラム。前記画面変更操作が停止されているかどうかを決定するための少なくとも1つの命令と、前記画面変更操作が停止されている場合、前記ウェブページ内の各可視リンクについての前記DNSプリフェッチタスクを実行するための少なくとも1つの命令とをさらに含む請求項28に記載のコンピュータプログラム。ユーザの習慣を監視し、習慣を現在時間と比較することによって、ユーザが1つまたは複数のウェブサイトをダウンロードする可能性を決定するための少なくとも1つの命令と、前記現在時間から所定の時間以内に日常的にアクセスされるウェブサイトに関するパターンを決定するための少なくとも1つの命令とをさらに含む請求項31に記載のコンピュータプログラム。CPU、メモリ、およびバス帯域幅を含む十分な処理リソースがリソースマネージャによるウェブコンテンツの処理をサポートするために使用可能であるかどうかを決定するための少なくとも1つの命令をさらに含む請求項32に記載のコンピュータプログラム。前記ポータブルコンピューティングデバイスが充電器に接続されているかどうか、または十分なバッテリ充電が使用可能かどうか、および前記処理リソースがウェブコンテンツの処理に十分かどうかを決定するための少なくとも1つの命令をさらに含む請求項33に記載のコンピュータプログラム。前記ポータブルコンピューティングデバイスが前記充電器に接続されている、または十分なバッテリ充電が使用可能である場合、平均的なワイヤレスチャネル品質が条件を満たすかどうかを決定するための少なくとも1つの命令と、前記平均的なワイヤレスチャネル品質が前記条件を満たす場合、コンテンツまたはDNSプリフェッチングを実行するための少なくとも1つの命令とをさらに含む請求項36に記載のコンピュータプログラム。したがって、DNSプリフェッチング、コンテンツプリフェッチング、またはその組合せを実行する改良されたシステムおよび方法が必要である。図中、別段に規定されていない限り、類似の参照番号は、様々な図の全体を通じて、類似の部分を指す。例示的なという言葉は、一例、実例または例としてを意味するように本明細書で使用される。例示的なものとして本明細書で説明する態様は、必ずしも他の態様よりも好ましい、または有利であると解釈されるわけではない。本明細書では、アプリケーションという用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイルおよびパッチなど、実行可能コンテンツを有するファイルを含むこともある。加えて、本明細書で言及するアプリケーションは、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。コンテンツという用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイルおよびパッチなど、実行可能コンテンツを有するファイルを含むこともある。加えて、本明細書で言及するコンテンツは、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。本明細書で使用される場合、構成要素、データベース、モジュール、システムなどの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば構成要素は、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよびまたはコンピュータであってよいが、これらであることに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方が構成要素であり得る。1つまたは複数の構成要素は、プロセスおよびまたは実行スレッドの中に存在してよく、1つの構成要素を1つのコンピュータに局在化すること、およびまたは2つ以上のコンピュータに分散することが可能である。加えて、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケットを有する信号に従うなどしてローカルプロセスおよびまたはリモートプロセスの方法により通信することができる。最初に図1および図2を参照すると、例示的なポータブルコンピューティングデバイスが示されており、全体的に100と表される。図示のように、PCD100は、ハウジング102を含み得る。ハウジング102は、上側ハウジング部104および下側ハウジング部106を含み得る。図1は、上側ハウジング部104がディスプレイ108を含み得ることを示す。特定の態様において、ディスプレイ108は、タッチスクリーンディスプレイでもよい。上側ハウジング部104は、トラックボール入力デバイス110を含むこともできる。さらに、図1に示されるように、上側ハウジング部104は、電源投入ボタン112および電源切断ボタン114を含むことができる。図1に示されるように、PCD100の上側ハウジング部104は、複数のインジケータライト116およびスピーカ118を含むことができる。各インジケータライト116は、発光ダイオードでもよい。特定の態様では、図2に示すように、上側ハウジング部104は下側ハウジング部106に対して移動可能である。具体的には、上側ハウジング部104は下側ハウジング部106に対してスライド可能であってよい。図2に示すように、下側ハウジング部106はマルチボタン型キーボード120を含むことができる。特定の態様では、マルチボタン型キーボード120は標準型QWERTYキーボードであり得る。マルチボタン型キーボード120は、上側ハウジング部104が下側ハウジング部106に対して動かされたときに露出されてもよい。図2は、PCD100が下側ハウジング部106上にリセットボタン122を含み得ることをさらに示している。図3Aを参照すると、ポータブルコンピューティングデバイスの例示的な非限定的態様が示され、全体的に100で表されている。図示のように、PCD100は、互いに結合されたデジタル信号プロセッサ324およびアナログ信号プロセッサ326を含むオンチップシステム322を含む。デジタル信号プロセッサ324は、単一のプロセッサまたは複数のプロセッサを含むことができる。デジタル信号プロセッサ324は、当業者によって理解されるように、マルチコアプロセッサも含み得る。オンチップシステム322は、3つ以上のプロセッサを含み得る。たとえば、オンチップシステム322は、以下で説明するように、デジタル信号プロセッサ324を形成する複数のコアプロセッサを含むことができる。図3Aに示されるように、ディスプレイコントローラ328およびタッチスクリーンコントローラ330がデジタル信号プロセッサ324に結合される。一方、オンチップシステム322の外部にあるタッチスクリーンディスプレイ108が、ディスプレイコントローラ328およびタッチスクリーンコントローラ330に結合される。図3Aは、ビデオエンコーダ334、たとえば位相反転線エンコーダ、sequentialcouleuramemoireエンコーダ、または全国テレビジョン方式委員会エンコーダなどがデジタル信号プロセッサ324に結合されることをさらに示している。さらに、ビデオ増幅器336がビデオエンコーダ334およびタッチスクリーンディスプレイ108に結合される。また、ビデオポート338がビデオ増幅器336に結合される。図3Aに示されるように、ユニバーサルシリアルバスコントローラ340がデジタル信号プロセッサ324に結合される。また、USBポート342が、USBコントローラ340に結合される。メモリリソース119および加入者識別モジュールカード346も、デジタル信号プロセッサ324に結合され得る。さらに、図3Aに示されるように、デジタルカメラ348がデジタル信号プロセッサ324に結合され得る。例示的な態様において、デジタルカメラ348は、電荷結合デバイスカメラまたは相補型金属酸化物半導体カメラである。図3Aにさらに示されるように、ステレオオーディオコーデック350がアナログ信号プロセッサ326に結合され得る。さらに、オーディオ増幅器352がステレオオーディオコーデック350に結合され得る。例示的な態様では、第1のステレオスピーカ354および第2のステレオスピーカ356がオーディオ増幅器352に結合される。図3Aは、マイクロフォン増幅器358もステレオオーディオコーデック350に結合され得ることを示す。加えて、マイクロフォン360が、マイクロフォン増幅器358に結合され得る。特定の態様では、周波数変調無線チューナー362がステレオオーディオコーデック350に結合され得る。また、FMアンテナ364がFM無線チューナー362に結合される。さらに、ステレオヘッドフォン366がステレオオーディオコーデック350に結合され得る。図3Aは、無線周波数トランシーバ368がアナログ信号プロセッサ326に結合され得ることをさらに示している。RFスイッチ370が、RFトランシーバ368およびRFアンテナ372に結合され得る。図3Aに示されるように、キーパッド374がアナログ信号プロセッサ326に結合され得る。また、マイクロフォンを備えたモノヘッドセット376がアナログ信号プロセッサ326に結合され得る。さらに、バイブレータデバイス378がアナログ信号プロセッサ326に結合され得る。図3Aは、電源380がオンチップシステム322に結合され得ることも示す。特定の態様では、電源380は電力を必要とするPCD100の様々な構成要素に電力を供給する直流電源である。さらに、特定の態様において、電源は、交流電源に接続されたACDC変成器から導かれた充電式DCバッテリまたはDC電源である。図3Aは、PCD100が、たとえばローカルエリアネットワーク、パーソナルエリアネットワーク、または任意の他のネットワークなどのデータネットワークにアクセスするために使用され得るネットワークカード388も含み得ることをさらに示す。ネットワークカード388は、ブルートゥースネットワークカード、WiFiネットワークカード、パーソナルエリアネットワークカード、パーソナルエリアネットワーク超低電力技術ネットワークカード、または当技術分野でよく知られている任意の他のネットワークカードであってよい。さらに、ネットワークカード388は、チップに組み込むことができ、すなわち、ネットワークカード388は、チップでのフルソリューションであってもよく、個別のネットワークカード388でなくてもよい。図3Aは、PCD100がメモリリソース119内に格納され得るウェブブラウザアプリケーション382も含み得ることを示す。ウェブブラウザアプリケーション382は、インターネットを探索し、オンラインコンテンツにアクセスし、映画をダウンロードし、音楽をダウンロードし、映画を閲覧し、またはその組合せのために使用することができる。さらに、ウェブブラウザアプリケーション382は、たとえばプラグインとして、プリフェッチモジュール384を含むことができる。プリフェッチモジュール384が、本明細書で説明するように、ウェブブラウザ382と対話する個別のアプリケーションでもよいことは諒解されよう。図3Aに示されるように、タッチスクリーンディスプレイ108、ビデオポート338、USBポート342、カメラ348、第1のステレオスピーカ354、第2のステレオスピーカ356、マイクロフォン360、FMアンテナ364、ステレオヘッドフォン366、RFスイッチ370、RFアンテナ372、キーパッド374、モノヘッドセット376、バイブレータ378および電源380は、オンチップシステム322の外部にある。特定の態様では、本明細書で説明する方法ステップの1つまたは複数は、たとえば、ウェブブラウザアプリケーション382、プリフェッチモジュール384、またはその組合せの一部として、コンピュータプログラム命令としてメモリリソース119に格納することができる。これらの命令は、本明細書で説明する方法を実施するためにプロセッサ324、326によって実行可能である。さらに、プロセッサ324、326、メモリリソース119、ウェブブラウザアプリケーション382、プリフェッチモジュール384、またはそれらの組合せは、ドメインネームサーバプリフェッチ、コンテンツプリフェッチ、またはその組合せを実行するために、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として働き得る。図3Bは、ワイヤレスポータブルコンピューティングデバイス100のための情報をプリフェッチするシステム103のソフトウェアアーキテクチャの第1の態様の図である。アプリケーションサブシステム103は、中央処理装置324によって実行され、プリフェッチモジュール384によってレンダリングされるウェブページをサポートすることができるモバイルウェブブラウザアプリケーション382を含み得る。当業者には理解されるように、また、以下で説明するように、モバイルウェブブラウザアプリケーションまたはモジュール382は、インターネットプロトコル層129上にある転送通信プロトコルモジュール127と通信することができる。当業者によって理解されるように、IP層129は、ネットワークバッファ層131と通信する。IP層129は、第2の中央処理装置326によって実行されるモデムサブシステム133と通信する。モバイルウェブブラウザモジュール382は、プリフェッチモジュール384、HTTPスタック111、ウェブブラウザモニタ107、システムモニタ109、およびドメインネームサーバモジュール113を含む。ウェブブラウザモジュール382内に含まれるように示されているが、さらなる代替の例示的な実施形態では、プリフェッチモジュール384は、ウェブブラウザ382に対する個別のモジュールとして常駐し得る。ウェブブラウザモニタ107は、ウェブブラウジング履歴を維持することができる。ウェブブラウジング履歴は、ユーザによって閲覧されたすべてのページ、各ページがユーザによって閲覧された時間、各ページが閲覧された日付、またはその組合せに関するデータを含むことができる。システムモニタ109は、CPUバス負荷を決定することができる。CPUバス負荷は、プロセッサ速度、たとえば、プロセッサ周波数として表すことができる。システムモニタは、たとえば、バッテリのような電源380のステータスなど、電力状態のステータスを調査することもできる。モバイルウェブブラウザモジュール382は、メモリリソース119に結合され得る。メモリリソース119は、それだけには限定されないが、キャッシュ、ランダムアクセスメモリ、フラッシュメモリ、セキュアデジタルメモリカード、およびその任意の組合せを含み得る。メモリリソース119は、当業者によって理解されるように、後入れ先出し方式キューも含み得る。プリフェッチモジュール384は、コンピューティングデバイス100に最適なビデオ再生品質を保証するために、たとえばウェブページなど、次にどんなファイルセグメントをポータブルコンピューティングデバイス100にダウンロードすべきかについてウェブブラウザ382を制御するまたは指示する役目を果たし得る。プリフェッチモジュール384は、アプリケーションサブシステム103ならびにモデムサブシステム133の要素を絶えず監視することができるという点で、動的でもよい。さらに、プリフェッチモジュール384は、アプリケーションサブシステム103およびモデムサブシステム133内の要素からメッセージを受信することもできる。ウェブブラウザ382のDNSモジュール113は、当業者によって理解されるように、テキストベースのドメインネームを数字のインターネットプロトコルアドレスに変換する役目を果たし得る。DNSモジュール113は、IPアドレスをHTTPスタック111に伝えることができ、HTTPスタック111は次にそれをTCP接続モジュール127に中継する。HTTPスタック111がTCP接続モジュール127からたとえばウェブページなどのメタオブジェクトを戻すとき、HTTPスタックモジュール111は、このメタオブジェクトをプリフェッチモジュール384に中継する。httpスタックモジュール111は、クライアントプリフェッチモジュール384に何らかのステータス情報を提供することもできる。ステータス情報は、それだけには限定されないが、高速スケジュール制御チャネル有効ステータス、高速トランスポートブロックサイズ、レイヤ1ブロック誤り率、無線リンク制御プロトコルデータユニットサイズ、無線リンク制御ダウンリンクサービスデータユニットバイト受信、高速ダウンリンクパケットアクセスユーザ機器カテゴリ、メディアアクセス制御アップリンクバッファステータス報告、拡張アップリンク送信時間間隔、拡張トランスポートフォーマット組合せ識別子テーブルインデックス、ETCFI、新しい送信の数、無線リンク制御アップリンクサービスデータユニットバイト送信、ダイバーシティ送信ダイバーシティ受信モード、拡張アップリンクユーザ機器カテゴリ、メディアアクセス制御送信層トランスポートブロックサイズ、パケットデータ収束プロトコルダウンリンクサービスデータユニットバイト受信、メディアアクセス制御アップリンクトランスポートブロックサイズ、パケットデータ収束プロトコルアップリンクサービスデータユニットバイト送信、およびユーザ機器カテゴリを含み得る。プリフェッチモジュール384は、メタオブジェクト、たとえばウェブページ500、およびその関連のハイパーテキストリンク502、504、602、604を構文解析し、ならびにまたはレビューし、現在のワイヤレスネットワーク状態およびポータブルコンピューティングデバイス100の動作環境を評価した後、どのリンク502、504、602、604が次のダウンロードに適するかを決定する役目を果たし得る。トランスポート制御プロトコル接続モジュール127は、当業者によって理解されるように、一般のネットワーキングの開放型システム間相互接続モデルのトランスポート層において動作する。TCP接続モジュール127は、宛先ホストへの送信のためのネットワークインフラストラクチャへの転送に適したデータ単位にアプリケーションデータブロックをカプセル化する、またはネットワークデータグラムを抽出し、それらのペイロードをモバイルウェブブラウザ382に送出することによって逆トランザクションを管理する役目を果たす。TCP接続モジュール127は、それだけには限定されないが、再送タイムアウト、広告された受信ウィンドウ、送信受信機スループット、パケット統計、TCP接続の合計数、推定されたラウンドトリップ時間、受信されたバイト数、シーケンス内パケット数、およびTCP送信ウィンドウサイズを含む情報を提供することができる。インターネットプロトコルモジュール129は、TCP接続モジュール127およびネットワークバッファ層131と通信する。IPモジュール129は、識別されたプロトコルデータグラムを、それらのアドレスに基づいて、モバイルウェブブラウザからサーバに配信するタスクを有する。IPモジュール129は、データグラムカプセル化のためのアドレス指定方法および構造を定義する。IPモジュール129は、インターネットプロトコルバージョン4、ならびにインターネットプロトコルバージョン6を利用することができ、これはこの著述の時点で積極的に展開されている。しかし、まだ開発されていない将来のものを含めて、インターネットプロトコルの他のバージョンが本発明の範囲内に含まれる。ネットワークバッファ層131は、IPモジュール129およびモデムサブシステム133と通信する。ネットワークバッファ層131は、たとえばイーサネットおよび他のIEEE802カプセル化方式など、すべてのハードウェア固有のインターフェース方法を含むことができる。ネットワークバッファ層131は、たとえば通信ネットワーク206など、ローカルネットワークのトポロジをプロービングすることができる。ネットワークバッファ層131は、ルータおよび隣接するホストを発見することができ、リンク上の他のノードの発見の役目を果たし得る。ネットワークバッファ層131は、他のノードのリンク層アドレスを決定し、使用可能なルータを見つけ、他のアクティブな隣接するノードへのパスに関する到達可能性情報を維持することができる。プリフェッチモジュール384は、httpスタック111ならびにTCPモジュール127と通信することができる。プリフェッチモジュール384は、1つまたは複数のセンサ125とも通信する。センサ125は、それだけには限定されないが、万歩計125A、加速度計125B、近接センサ125C、コンパス125D、および周辺光センサ125Eを含み得る。万歩計125Aは、ポータブルコンピューティングデバイス100が歩いている人によって使用されていることを示す信号を提供することができる。加速度計125Bは、ポータブルコンピューティングデバイス100が自動車など動力付車両にあることを示す信号を提供することができる。近接センサ125Cは、ポータブルコンピューティングデバイス100が電話呼を行うための人物の顔の横に配置されているかどうかを示すことができる。コンパス125Dは、ポータブルコンピューティングデバイス100が移動している特定の方向を示す信号を提供することができる。また、周辺光センサ125Eは、ポータブルコンピューティングデバイス100が明るい環境で使用されているか、暗い環境で使用されているかを示すための信号を提供することができ、こうした環境は、ビデオがコンピューティングデバイス200にどのように表示される必要があるかに影響を与える。モデムサブシステム133は、無線リンク制御層135、メディアアクセス制御層139、物理層141、無線リレー制御モジュール137、および全地球測位システム143を含み得る。モデムサブシステム133のこれらの要素は、図2に示されるように、RFトランシーバ368などの通信ハードウェアと通信する役目を果たし得る。モデムサブシステム133の要素の各々は、メッセージを送る、またはプリフェッチモジュール384からクエリを受信することができる。たとえば、RRCモジュール137は、それだけには限定されないが、たとえば高速ダウンリンクパケットアクセスカテゴリ情報、拡張アップリンク層カテゴリ情報、および不連続受信送信構成情報などの情報を通信することができる。RLCモジュール135は、スループットならびに無線リンク制御プロトコルデータユニットサイズをプリフェッチモジュール384に伝えることができる。MAC層139は、それだけには限定されないが、たとえばバッファステータス報告情報および拡張専用チャネルトランスポートフォーマット情報などのアップリンク情報を伝えることができる。物理層141は、それだけには限定されないが、たとえば高速トランスポートブロックサイズ、変調、チャネル品質表示、ブロック誤り率測定、多入力多出力、受信機自動利得制御、ならびにイコライザ集積回路受信機ダイバーシティなどのダウンリンク情報を伝えることができる。物理層141は、それだけには限定されないが、たとえばBLER、変調、および送信機自動利得制御など、アップリンク情報を伝えることもできる。当業者には理解されるように、RRCモジュール137、RLCモジュール135、MACモジュール139、およびPHYモジュール141は、発展型高速パケットアクセスシステム177を形成することができる。一方、GPSモジュール143は、それだけには限定されないが、たとえばポータブルコンピューティングデバイス100の位置、および速さまたは速度などの情報をプリフェッチモジュール384に提供することができる。アプリケーションサブシステム103およびモデムサブシステム133の要素を監視することによって、プリフェッチモジュール384は、ワイヤレスネットワークの状態、およびポータブルコンピューティングデバイス200自体の状態を監視することによって、ワイヤレスポータブルコンピューティングデバイス200が、PCD100のオペレータによって閲覧される可能性があるウェブページを知的に選択することができるようにする。プリフェッチモジュール384は、監視された状態を使用して、ウェブページがサーバからダウンロードされるのに適切なビットレートが何であるかを決定することによって、それがロードすべきウェブページのサイズおよびタイプを決定することができる。アプリケーションサブシステム103およびモデムサブシステム133によって提供されるデータに基づいて監視された状態のいくつかは、それだけには限定されないが、現在のバッファのサイズ、およびバッファの成長がコンピューティングデバイス200によって消費されているレートを含む、メモリ状態、現在および履歴のWWAN帯域幅、現在および履歴のWWAN信号強度、利用可能なIPソケットデータ接続の数、全ビデオクリップ長の推定、および信号雑音比の履歴ヒストグラムおよびロケーションベースサービスに基づいてウェブページのファイルセグメントごとに各ユニフォームリソースロケータダウンロード時間の推定、たとえばGPSモジュール143などロケーションベースの技術の使用によりセルタワー識別三角測量または正確な緯度経度のいずれかによって計算されるポータブルコンピューティングデバイス100の速度のレート、ならびに加速度計およびまたはLBSを使用したポータブルコンピューティングデバイス100の移動方向を含む。プリフェッチモジュール384は、信号対雑音比が高いまま、およびまたはBLERが連続的に低いままとなるまで、プリフェッチモジュール384が低いビットレートを維持または使用しなければならない所定の期間を計算することができる。プリフェッチモジュール384は、理想的なネットワークステータスの間、たとえばポータブルコンピューティングデバイス100が静止しているとき、またはポータブルコンピューティングデバイス100が比較的低速状態で動作しているとき、たとえばユーザがコンピューティングデバイス100を持って歩いているとき、電力を最小限に抑えるために、モデムサブシステム133において、任意のタイプの受信ダイバーシティ機能をオンまたはオフにすることもできる。システムおよび方法の概要特定の態様において、DNSプリフェッチは、それだけには限定されないが、ユーザがドメインネームの要求を生成する前にプリフェッチモジュール384がドメインネームを識別し、取り出すステップを含み得る。DNSプリフェッチは、ハイパーテキスト転送プロトコル要求が発行される前、たとえば、ブラウザ382のユーザによって行われた選択に応答してウェブブラウザ382によってHTTP要求が生成される前に、ホストサーバに対する1つまたは複数の伝送制御プロトコルソケットまたは接続を開始するステップをさらに含むことができる。コンテンツプリフェッチは、それだけには限定されないが、ユーザがページ、条件付きコンテンツなどを実際に要求する前に、プリフェッチモジュール384がページ、条件付きコンテンツ、他のコンテンツ、またはその組合せをダウンロードすることを含み得る。モバイルデバイス、たとえばPCD100において、ワイヤレスネットワークの待ち時間は、有線ネットワーク内で動作しているデスクトップと比較して、通常、より顕著である。PCD100のCPUリソースも、通常、デスクトップまたはラップトップのコンピュータのものよりも制限される。いくつかのワイヤレスワイドエリアネットワークカバレージエリアにおいて、アップリンクリソースは、単なる一例として、たとえば4kbps程度のより低い速度に実質的に制限され得る。ワイヤレスネットワーク環境において使用されるPCD100のこれらの制限は、本明細書で開示するプリフェッチモジュール384を備えたウェブブラウザ382によって解決される問題の一部である。図4を参照すると、DNSプリフェッチングを実行する方法が示されており、全体的に400と表される。ブロック404から始まり、ウェブブラウザアプリケーション382は、レンダリングされたページ上のリンクを検出することができる。さらに、ブロック406で、ウェブブラウザアプリケーション382は、ページの動きを検出することができる。決定ブロック408に移動して、プリフェッチングモジュール382は、任意のリンクがページ内で可視かどうかを決定することができる。そうである場合、方法400は、ブロック410に進むことができ、プリフェッチングモジュール382は、ウェブページ上の任意の可視リンクについてのDNSプリフェッチを実行することができる。次いで、方法400は、決定ブロック412に進むことができる。決定ブロック408に戻ると、レンダリングされたページに可視の任意のリンクがないことをプリフェッチングモジュール382が決定した場合、方法400は、決定ブロック412に直接進むことができる。決定ブロック412で、プリフェッチングモジュール382は、ユーザが画面コンテンツを変更しているかどうか、すなわち、スクローリング、パニング、およびまたはズーミング操作が実行されているかどうかを決定することができる。そうでない場合、方法400は、決定ブロック414に移動し得、プリフェッチングモジュール382は、ウェブブラウザアプリケーションが停止されているかどうかを決定し得る。ウェブブラウザアプリケーションが停止されている場合、方法400は終了してよい。そうではなく、ウェブブラウザアプリケーションが停止されていない場合、すなわち、ウェブブラウザアプリケーションが実行または稼働し続ける場合、方法400は、ブロック404に戻ることができ、本明細書で説明するように継続することができる。決定ブロック412に戻ると、ユーザが画面コンテンツを変更している場合、方法400は、決定ブロック416に移動し得、プリフェッチングモジュール382は、任意のリンクが画面に入ったかどうかを決定することができる。そうでない場合、方法400は決定ブロック414に進むことができ、本明細書で説明するように継続することができる。リンクが画面、すなわち、ディスプレイの閲覧エリアに入った場合、方法400は、ブロック418に移動し得、プリフェッチングモジュール382は、後入れ先出しキュー119にDNSプリフェッチタスクを入れることができる。その後、方法400は、決定ブロック420に進み得、プリフェッチングモジュール382は、画面変更操作が停止しているかどうかを決定することができる。画面変更操作が停止されていない場合、方法400は、決定ブロック416に戻ることができ、本明細書で説明するように継続することができる。そうではなく、画面変更操作が停止されている場合、方法400は、ブロック422に進み得、プリフェッチングモジュール382は、ディスプレイ108内の可視リンクごとに各DNSプリフェッチタスクを実行することができる。次いで、方法400は、決定ブロック412に戻ることができ、説明したように継続することができる。図4に示される方法400は、直ちにクリックされる可能性がある、または直ちにレンダリングされたページに入る可能性があるリンクについてのみ、プリフェッチングを制限することができる。ユーザがページをスクロールするにつれて、ビューに入るリンクについて、プリフェッチングモジュール382によって、新しいDNSプリフェッチ要求を生成することができる。図5および図6は、例示的なウェブページを示し、500と表される。図5では、ウェブページ500は、第1のmorecoverageリンク502および第2のmorecoverageリンク504を含む。ウェブページ500が最初にレンダリングされると、両方のmorecoverageリンク502、504について、DNSプリフェッチングが実行され得る。したがって、ユーザがいずれかのmorecoverageリンク502、504をクリックした場合、morecoverageリンク502、504に関連付けられたコンテンツまたはページは、短い時間量でユーザに表示され得る。さらに、ユーザがウェブページ上で下にスクロールすると、図6に示されるように、第3のmorecoverageリンク602および第4のmorecoverageリンク604がユーザに表示され得る。この場合も、morecoverageリンク602、604がビューに入ると、DNSプリフェッチングが実行され得、ユーザがmorecoverageリンク602、604のいずれかをクリックすると、ユーザがディスプレイ108内で可視のmorecoverageリンク602、604のいずれかをクリックする前に、プリフェッチモジュール384は、ホストサーバに対する1つまたは複数の伝送制御プロトコルソケットまたは接続を開始することができるので、morecoverageリンク602、604に関連付けられたコンテンツまたはページが非常に短い時間量でユーザに提示され得る。さらに、ユーザが上から下まで非常に迅速にページをパンまたはスクロールする可能性があるので、プリフェッチモジュール384によって多数のDNSプリフェッチタスクをLIFOキュー119に容易に入れ、格納することができ、ユーザが画面変更操作を停止すると、任意の可視リンクについて、プリフェッチモジュール384によってDNSプリフェッチタスクが実行され得る。たとえば、デスクトップコンピュータまたはラップトップコンピュータと比較して待ち時間が比較的長い、およびCPUリソースが限られているなど、モバイルデバイスの特性が与えられれば、ユーザがスクロールしてビュー領域を過ぎた場合、いくつかのDNSプリフェッチがLIFOキュー119に入れられ、依然としてLIFOキュー119にある場合、閲覧可能な領域において古い要素対より新しい要素に優先度を付け直すことは、プリフェッチモジュール384にとって有利であり得る。CPUリソース、ネットワークリソース、またはその組合せがかろうじて使用可能である場合、LIFOキュー119から要素を完全に削除することが適切であり得る。高解像度の小さい画面のハンドヘルドディスプレイ108では、ユーザは、通常、閲覧したいウェブページの部分をズームし、パンし、スクロールする。LIFOキュー119を使用することによって、ユーザがアクティブ化した特徴のズーム、パン、およびスクロールと同期して、より正確にとどまるように、プリフェッチモジュール384によって実行されるDNSキューイングタスクの優先度を可能にすることができる。ユーザがLIFOキュー119に格納されている現在のDNSプリフェッチに興味がないことをプリフェッチモジュール384が決定した場合、LIFOキュー119は空にされる、またはそのコンテンツがフラッシュされ得る。プリフェッチモジュールは、ユーザがLIFOキュー119にロードされた同じウェブページ上のリンクに対してかなり遠くにスクロールした場合など、ユーザの活動に基づいてこの決定を行うことができる。ユーザが別のウェブページにナビゲートする場合、プリフェッチモジュール384によって検出されたこの状態によって、プリフェッチモジュール384がLIFOキュー119のコンテンツをパージする場合もある。図7および図8は、コンテンツのプリフェッチを実行する方法の第1の態様を示し、全体的に700と表される。ステップ702から始まり、ウェブブラウザモニタ107は、ウェブブラウジング履歴を維持することができる。ウェブブラウジング履歴は、ユーザによって閲覧されたすべてのページ、各ページがユーザによって閲覧された時間、各ページが閲覧された日付、またはその組合せに関するデータを含むことができる。次いで、方法700は、図8のブロック802に進み得る。ステップ706に移動して、システムモニタ109は、CPUバス負荷、すなわち、現在のプロセッサの負荷を決定することができる。CPUバス負荷は、プロセッサ速度、たとえば、プロセッサ周波数として表すことができる。次いで、方法700は、図8のブロック802に進み得る。ステップ708で、システムモニタ109は、バッテリステータスを決定することができる。バッテリステータスは、残りのバッテリ寿命、残りの充電、またはその組合せを示すことができる。バッテリステータスが決定された後、方法700は、図8のブロック802に進むことができる。ステップ712で、図3Bに関して上記した高速パケットアクセスシステム177は、チャネルの存在ならびにチャネル品質インジケータを決定することができる。特定の態様では、CQIは、ワイヤレスチャネルの通信品質の測定値とすることができる。CQIは、所与のワイヤレスチャネルのためのチャネル品質の測度を表す値でもよい。比較的高い値を有するCQIは、特定のチャネルが比較的高い品質を有することを示すことができる。逆に、比較的低い値を有するCQIは、特定のチャネルが比較的低い品質を有することを示すことができる。チャネルのCQIは、たとえば信号対雑音比、信号対干渉雑音比、信号対雑音歪比、またはその組合せなど、パフォーマンスメトリックを使用して計算され得る。特定のチャネルのために、これらの値が測定され、次いで、チャネルのCQIを計算するために使用され得る。次いで、各チャネルのCQIは、CQIAVG値を決定するために平均され得る。CQIが決定された後、方法700は、図8のブロック802に進むことができる。ステップ716に移動して、HSPAシステム177は、共通パイロットチャネル信号対雑音比を決定することができる。CPICHは、一定の電力でブロードキャストされ得、既知のビットシーケンスのものであり得るPCD100のダウンリンクであることを諒解されよう。CPICHSNRが決定された後、方法700は、図8のブロック802に進むことができる。ステップ718で、GPS143は、ポータブルコンピューティングデバイス100に関連付けられた垂直速度を監視する、または場合によっては決定することができる。ステップ722で、GPS143は、PCD100に関連付けられた水平速度を決定することができる。その後、ステップ724で、GPS143は、ウェブブラウザ382に垂直速度を出力することができる。さらに、ステップ728で、GPS143は、ウェブブラウザアプリケーション382にGPS水平速度を出力することができる。ブロック730に進み、ウェブブラウザアプリケーション726は、移動速度を決定することができる。移動速度は、以下の式を使用して決定することができる。式中、vertspeedは、ステップ718でGPS143によって決定された垂直速度であり、horzspeedは、ステップ722でGPS143によって決定された水平速度である。方法700は、ブロック703から、図8のブロック802に進むことができる。図8のブロック802で、現在時間が決定され得る。決定ブロック804で、プリフェッチモジュール384は、通常、現在時間からたとえば10分など所定時間以内にアクセスされる任意の一般的なウェブサイトがあるかどうかを決定することができる。こうすることで、プリフェッチモジュール384は、PCD100のオペレータに基づいて使用のパターンを決定することができる。プリフェッチモジュール384は、上記で説明したステップ702でウェブブラウザモニタ107によって維持され、監視されるウェブブラウザ履歴に基づいて、この決定を行うことができる。通常は現在時間から10分でアクセスされる任意の一般的なウェブサイトがない場合、方法700はブロック806に進むことができ、プリフェッチルーチンは、プリフェッチモジュール384と提携して動作するブラウザアプリケーション382によって終了し得る。一方、通常は現在時間から10分でアクセスされる一般的なウェブサイトがある場合、プリフェッチモジュール384は、決定ブロック808に進むことができる。決定ブロック808で、プリフェッチモジュール384は、システムモニタ109によってステップ706で上記で決定されたCPUバス負荷がCPUバス負荷条件を満たすかどうかを決定することができる。たとえば、CPUバス負荷条件は周波数値閾値でもよく、CPUバス負荷が周波数値閾値未満である場合、CPUバス負荷はCPUバス負荷条件を満たし得る。CPUバス負荷が閾値以上である場合、プリフェッチモジュール384によって実行される方法700は、ブロック806に進むことができ、ウェブブラウザアプリケーション382は、プリフェッチモジュール384によって実行されたプリフェッチルーチン700を終了することができる。逆に、決定ブロック808で、CPUバス負荷が閾値未満である場合、方法700は、決定ブロック810に進むことができ、プリフェッチモジュール384は、PCD100が充電器に接続されているかどうかを決定することができる。PCD100が充電器に接続されていない場合、方法700は、決定ブロック812に進むことができ、プリフェッチモジュール384は、システムモニタ109によってステップ710で決定されたバッテリステータスがバッテリ条件を満たすかどうかを決定することができる。特定の態様では、バッテリステータスはバッテリ寿命であり、バッテリ条件はバッテリ寿命閾値でもよい。バッテリ寿命がバッテリ寿命閾値よりも大きい場合、バッテリ寿命は、バッテリ条件を満たすことができる。バッテリ寿命が閾値以下である場合、方法700はブロック806に進むことができ、ウェブブラウザアプリケーションは、プリフェッチルーチンを終了することができる。バッテリ寿命が閾値よりも大きい場合、方法700は、決定ブロック814に進むことができる。決定ブロック810に戻って、PCD100が充電器に接続されている場合も、方法700は、決定ブロック814に進むことができる。決定ブロック814で、プリフェッチモジュール384は、HSPAシステム177によってステップ712で決定された平均CQIがCQI条件を満たすかどうか、または、HSPAシステム177によってステップ716で決定されたCPICHSNRがCPICHSNR条件を満たすかどうかを決定することができる。代替的にまたは追加として、このブロック814で、プリフェッチモジュール384は、チャネルが存在するか、または使用可能かを決定することもできる。CQI条件は閾値でもよく、平均CQIが閾値よりも大きい場合、平均CQIはCQI条件を満たすことができる。特定の態様では、閾値は、約20でもよい。この値のCQIは、少なくとも数メガビット秒程度のデータレートを達成することを保証することができる。CPICHSNR条件は閾値でもよく、CPICHSNRが閾値よりも大きい場合、CPICHSNRは条件を満たすことができる。たとえば、CPICHSNRがマイナス10デシベル以上である場合、この条件は、ワイヤレスPCD100にとって困難なしにプリフェッチングが行われることを可能にする。決定ブロック814で、平均CQIが閾値以下である、またはCPICHSNRが閾値以下である場合、方法700は、ブロック806に進むことができ、ウェブブラウザアプリケーション382は、プリフェッチモジュール384によって実行されたプリフェッチルーチンを終了することができる。決定ブロック814で、平均CQIが閾値よりも大きい、またはCPICHSNRが閾値よりも大きい場合、方法700は、決定ブロック816に進むことができる。決定ブロック816で、プリフェッチモジュール384は、ステップ730で決定された移動速度が速度条件を満たすかどうかを決定することができる。たとえば、速度条件は、速度閾値でもよく、移動速度が速度閾値未満である場合、移動速度は条件を満たすことができる。速度閾値は、無線信号が比較的安定していることが想定され得る未満の値であり、たとえば、速度閾値は3マイル毎時とすることができる。決定ブロック816で、移動速度が速度閾値以上である場合、方法700は、ブロック806に進むことができ、ウェブブラウザアプリケーション382は、プリフェッチモジュール384によって実行されたプリフェッチルーチンを終了することができる。そうではなく、移動速度が速度閾値未満である場合、方法700はブロック818に進むことができ、プリフェッチモジュール384は、コンテンツプリフェッチングを実行することができる。その後、方法700は終了することができる。次に図9を参照すると、プリフェッチモジュール384によってコンテンツプリフェッチングを実行する方法の第2の態様が示されており、全体的に900と表される。ブロック904で開始し、プリフェッチモジュール384は、ウェブブラウザアプリケーション382によってロードされた現在のページに関連付けられたページコンテンツを監視することができる。ブロック906で、プリフェッチモジュール384は、ページの動きを監視することができる。決定ブロック908に移動して、プリフェッチモジュール384は、現在のページコンテンツが、たとえばビデオおよびオーディオのようなマルチメディアファイルなど、テキストおよび画像以外に任意の代替のコンテンツを含むかどうかを決定することができる。現在のページコンテンツが代替コンテンツを含む場合、方法900は、ブロック910に進むことができ、プリフェッチモジュール384は、代替のコンテンツをプリフェッチすることができる。そのような場合、代替コンテンツプリフェッチでは、ユーザが代替のコンテンツをクリックした場合、たとえばビデオまたはオーディオファイルなどの代替コンテンツは、比較的小さい遅延で表示再生することができ、ワイヤレス環境内でのコンテンツの正常なフェッチングに関連付けられた待ち時間を短縮することによってユーザエクスペリエンスを向上させることができる。方法900は、ブロック910から、決定ブロック912に進むことができる。決定ブロック908に戻って、現在のコンテンツが任意の代替コンテンツを含まない場合、方法900は、決定ブロック912に直接進むことができる。決定ブロック912で、プリフェッチモジュール384は、ユーザが現在のウェブページの画面コンテンツを変更しているかどうかを決定することができる。そうでない場合、方法900は、決定ブロック920に進むことができ、ウェブブラウザアプリケーション382が停止されているかどうかが決定され得る。そうである場合、方法900は、終了してよい。一方、ウェブブラウザアプリケーション382が停止されていない場合、方法900は、ブロック904に戻ることができ、本明細書で説明するように継続することができる。決定ブロック912に戻ると、ユーザが画面コンテンツを変更している場合、方法900は、ブロック916に移動し得、プリフェッチングモジュール384は、スクロール方向を決定することができる。次いで、決定ブロック918で、プリフェッチモジュール384は、リンクがスクロール方向にディスプレイ画面に入ろうとしているかどうかを決定することができる。ディスプレイ画面に入ろうとしているリンクがない場合、方法900は、決定ブロック914に進むことができ、本明細書で説明するように継続することができる。決定ブロック918で、1つまたは複数のリンクがスクロール方向に画面108に入ろうとしている場合、方法900は、ブロック918に進むことができ、プリフェッチモジュール384は、各入ってくるリンクに関連付けられたコンテンツをプリフェッチすることができる。したがって、ユーザが新しく入ったリンクをクリックする場合、そのリンクに関連付けられたコンテンツは、ワイヤレスネットワーク内で正常にフェッチングすることと比較して、ほとんど躊躇なく、または実質的に短縮された待ち時間で、ユーザに提示され得る。方法900は、ブロック920から、決定ブロック914に進むことができる。その後、方法900は説明したように継続し得る。図10は、コンテンツプリフェッチングを実行する第3の態様を示し、全体的に1000と表される。ブロック1004から始まり、プリフェッチモジュール384は、タイミングアラームが設定されているかどうかを決定することができる。タイミングアラームが設定されている場合、方法1000は、ブロック1006に進むことができ、プリフェッチモジュール384は、時間を監視することができる。次いで、決定ブロック1008で、プリフェッチモジュール384は、現在時間が時間条件を満たすかどうかを決定することができる。たとえば、時間条件は、たとえば5分、10分、15分など所定の時間量をアラーム時間から引いたものでもよい。時間がアラーム時間マイナス所定の時間量に等しい場合、現在時間は時間条件を満たすことができる。時間がアラーム時間マイナス所定の時間量に等しくない場合、方法1000は、ブロック1006に戻ることができ、本明細書で説明するように継続することができる。そうでない場合、時間がアラーム時間マイナス所定の時間に等しい場合、方法1000はブロック1010に進むことができる。ブロック1010で、ウェブブラウザ382のプリフェッチモジュール384は、1つまたは複数のページをプリフェッチすることができる。ページは、ウェブブラウザ履歴、ブックマーク、またはその組合せに基づいて、ユーザ選択に基づいて決定され得る。したがって、午前7時45分に、ユーザがデバイスアラームを午前8時に設定した場合、プリフェッチモジュール384は、コンテンツプリフェッチング、DNSプリフェッチング、またはその組合せを実行し始めることができる。次いで、アラームが聞こえ、ユーザが目を覚まし、デバイスをつかんだ後、コンテンツは、閲覧のためにすぐに利用可能となり得る。方法1000は、ブロック1010から、決定ブロック1012に進むことができる。決定ブロック1004に戻って、デバイスアラームが設定されていない場合も、方法1000は、決定ブロック1012に進むことができる。決定ブロック1012で、プリフェッチモジュール384は、たとえば、ユーザが決定した時間、システムが決定した時間、またはその組合せなど、プリフェッチ時間が指定されているかどうかを決定することができる。プリフェッチ時間は、ウェブブラウザアプリケーションがコンテンツプリフェッチング、DNSプリフェッチング、またはその組合せを実行し始めることができる特定の時間でもよい。プリフェッチ時間が指定されている場合、方法1000は、ブロック1014に進むことができ、ウェブブラウザアプリケーションは、時間を監視することができる。その後、決定ブロック1016で、プリフェッチモジュール384は、時間が条件を満たすかどうかを決定することができる。条件は、指定されたプリフェッチ時間でもよく、時間が指定されたプリフェッチ時間に等しいときに、時間は条件を満たすことができる。時間が指定されたプリフェッチ時間に等しくない場合、方法1000は、ブロック1014に戻ることができ、説明するように継続することができる。そうでない場合、方法1000は、ブロック1018に進むことができ、ウェブブラウザアプリケーションは、コンテンツをプリフェッチすることができる。その後、方法1000は、決定ブロック1020に進むことができる。決定ブロック1012に戻って、プリフェッチ時間が指定されていない場合も、方法1000は、決定ブロック1020に進むことができる。決定ブロック1020で、プリフェッチモジュール384は、PCDがデバイス使用条件を満たすかどうかを決定することができる。デバイス使用条件は使用閾値でもよく、PCD使用が閾値を下回る場合、条件は満たされ得る。デバイス使用が使用閾値を下回らない場合、方法1000は終了することができる。そうではなく、デバイス使用が使用閾値未満である場合、方法1000はブロック1022に移動することができ、プリフェッチモジュール384は、コンテンツをプリフェッチすることができる。したがって、PCD100が低使用モードであるとき、たとえば、夜、ユーザが眠っている間、ユーザがPCD100に表示可能な所望のウェブページに行くことを望む前に、プリフェッチモジュール384は、DNSプリフェッチング、コンテンツプリフェッチング、またはその組合せを実行することができる。ブロック1022の後、方法1000は、終了してよい。図11および図12は、コンテンツプリフェッチングを実行する第4の態様を示し、全体的に1100と表される。ブロック1104から始まり、ウェブブラウザアプリケーション382を有するPCD100が電源投入されると、プリフェッチモジュール384は、ウェブブラウザ履歴をレビューすることができる。ブロック1106で、任意のページビュー、すなわち任意のページについてのいくつかのビューがページビュー条件を満たすかどうかをプリフェッチモジュール384が決定することができる。ページビュー条件は、ユーザ指定またはシステム指定のページビュー数とすることができ、ページビューがページビュー数よりも大きい場合、ページビューは、ページビュー条件を満たすことができる。たとえば、特定のページについてのページビューが10よりも大きい場合、条件は満たされ得る。ページビューがページビュー条件を満たす場合、方法1100は、ブロック1108に進むことができ、プリフェッチモジュール384は、ページビュー条件を満たすページビューを有する任意のページをプリフェッチすることができる。次いで、方法1100は、決定ブロック1110に進むことができる。決定ブロック1106に戻って、ページビューがページビュー条件を満たしていない場合も、方法1100は、決定ブロック1110に進むことができる。決定ブロック1110で、プリフェッチモジュール384は、任意のウェブページコンテンツが採点されるかどうかを決定することができる。コンテンツは、コンテンツのホスト、コンテンツの作者、客観的な採点者、またはその組合せによって採点され得る。コンテンツに関連付けられた得点は、コンテンツがプリフェッチされることを示し得る。任意のコンテンツが採点される場合、方法1100は決定ブロック1112に進むことができ、プリフェッチモジュール384は、任意のコンテンツの得点が得点条件を満たすかどうかを決定することができる。コンテンツの得点は、ユーザが選択した得点でもよく、ユーザが選択した得点よりもコンテンツの得点が大きいとき、コンテンツの得点は条件を満たすことができる。たとえば、ユーザは、7以上の得点を有するすべてのコンテンツがプリフェッチモジュール384によってプリフェッチされることを指定することができる。決定ブロック1112で、任意のコンテンツの得点が閾値よりも大きい場合、方法1100は、ブロック1114に進むことができ、プリフェッチモジュール384は、閾値よりも大きい得点を有する任意のコンテンツをプリフェッチすることができる。その後、方法は、決定ブロック1116に進むことができる。決定ブロック1110に戻って、コンテンツが採点されない場合も、方法1100は、決定ブロック1116に進むことができる。さらに、決定ブロック1112で、得点が条件を満たさない場合、方法1100は、決定ブロック1116に移動することができる。決定ブロック1116で、プリフェッチモジュール384は、任意のリンクが画面上にあるかどうかを決定することができる。そうである場合、プリフェッチモジュール384は、画面上のリンクに関連付けられたコンテンツをプリフェッチすることができる。その後、方法は、図12の決定ブロック1202に進むことができる。決定ブロック1116に戻って、画面上に任意のリンクがない場合も、方法1200は、図12の決定ブロック1202に進むことができる。図12の決定ブロック1202で、プリフェッチモジュール384は、現在のウェブページ上の任意のコンテンツタイプがコンテンツタイプ条件を満たすかどうかを決定することができる。たとえば、コンテンツタイプ条件は、jpeg、mpeg、mp3、wav、avi、wmv、movなどでもよく、コンテンツタイプがコンテンツタイプ条件と同じである場合、コンテンツタイプは条件を満たすことができる。したがって、通常はファイルサイズが大きくないいくつかのタイプのコンテンツをプリフェッチすることができる。たとえば、ストリーミングコンテンツ、pdfなど、比較的大きい他のタイプのコンテンツは、それに関連付けられたオーバーヘッドが大きいため、プリフェッチされなくてもよい。決定ブロック1202で、コンテンツタイプがコンテンツタイプ条件を満たす場合、方法1100は、ブロック1204に進むことができ、プリフェッチモジュール384は、コンテンツタイプ条件を満たすコンテンツをプリフェッチすることができる。その後、方法1100は、決定ブロック1206に進むことができる。決定ブロック1202に戻って、コンテンツタイプがコンテンツタイプ条件を満たしていない場合も、方法1100は、決定ブロック1206に進むことができる。決定ブロック1206で、プリフェッチモジュール384は、推定されたダウンロード時間が条件に等しいかどうかを決定することができる。特定の態様では、プリフェッチングのためのファイルサイズ閾値は、ファイルサイズおよび最大使用可能なデータレートに応じて決まり得る。たとえば、決定ブロック1206で、望ましい条件は、たとえば数秒など、所定の時間量内に終了し得るコンテンツのプリフェッチングを含むことができる。したがって、最大使用可能なデータレートが288メガビット毎秒である場合、決定ブロック1206の条件または閾値を以下の通りに設定することができる。288×1秒×7527メガバイト。決定ブロック1206で、現在のウェブページ上の任意のコンテンツサイズがダウンロード時間条件を満たす場合、方法1100はブロック1208に進むことができ、コンテンツサイズ条件を満たすコンテンツがウェブブラウザアプリケーションによってプリフェッチされ得る。その後、方法1100は終了することができる。決定ブロック1206に戻って、コンテンツサイズがコンテンツサイズ条件に等しくない場合、方法1100は終了することができる。図13を参照すると、コンテンツプリフェッチングを実行する第5の態様が示されており、全体的に1300と表される。ブロック1304で始まり、PCD100が電源投入されると、以下のステップが実施され得る。特定の態様では、PCD100は、複数のプロセッサ324を有することができ、または、PCD100は、マルチコアプロセッサ324を有することができる。ブロック1304で、プリフェッチモジュール384は、PCD100における複数のプロセッサまたはコアを監視することができる。決定ブロック1306で、ウェブブラウザアプリケーション382のプリフェッチモジュール384は、DSP324のすべてのプロセッサまたはコアがアイドル状態またはスリープモードであるかどうかを決定することができる。プロセッサまたはコアがスリープ状態である場合、方法1300は、はい分岐に従い、ブロック1308に進むことができ、ウェブブラウザアプリケーション382のプリフェッチモジュール384は、コンテンツプリフェッチングを有効にすることができる。決定ブロック1310に移動すると、プリフェッチモジュール384は、プリフェッチ状態が存在するかどうか、すなわち、現在のウェブページがプリフェッチングの候補である任意のコンテンツを含む、現在の時間がコンテンツのプリフェッチングの性能を保証する、現在の時間がDNSプリフェッチングの性能を保証する、またはその組合せかどうかを決定することができる。プリフェッチ状態が存在する場合、方法1300は、ブロック1312に進むことができ、プリフェッチモジュール384は、たとえば、DSP324のアイドルのプロセッサまたはコアを作動する旨の要求をシステムモニタ109に送ることによって、DSP324のアイドルのプロセッサまたはコアを作動することができる。次に、ブロック1314で、プリフェッチモジュール384は、DSP324のアイドルのプロセッサまたはコアを使用して、プリフェッチング操作を実行することができる。次いで、方法は、ブロック1316に進むことができる。決定ブロック1310に戻って、プリフェッチ状態が存在していない場合、方法1300は、ブロック1316に直接進むことができる。ブロック1316で、プリフェッチモジュール384は、CPU周波数の推定された変化を決定することができる。特定の態様において、ウェブブラウザアプリケーション382のプリフェッチモジュール384は、スケジューラを含み得る、または1つもしくは複数の実行待ち行列から受信された情報を監視する、またはその組合せであり得るシステムモニタ109から受信された情報に基づいて、CPU周波数の推定された変化を決定することができる。決定ブロック1318に移動して、プリフェッチモジュール384は、CPU周波数の推定された変化がCPU周波数条件に等しいかどうかを決定することができる。たとえば、CPU周波数条件は、CPU周波数閾値でもよく、CPU周波数の推定された変化がCPU周波数閾値よりも大きい場合、CPU周波数は、CPU周波数条件を満たすことができる。CPU周波数の推定された変化がCPU周波数条件を満たす場合、方法1300は、ブロック1320に進むことができ、プリフェッチモジュール384は、プリフェッチを無効にすることができる。プリフェッチモジュール384は、プロセッサまたはコアがプリフェッチングタスクまたは操作を実行するにはあまりに忙しくなり得ることを見越して、プリフェッチングを無効にすることができる。方法1300は、ブロック1320から、決定ブロック1322に進むことができる。決定ブロック1318に戻って、CPU周波数の推定された変化がCPU周波数条件を満たしていない場合も、方法1300は、決定ブロック1322に進むことができる。決定ブロック1322で、プリフェッチモジュール384は、ポータブルコンピューティングデバイス100が電源切断されているかどうかを決定することができる。そうである場合、方法1300は、終了してよい。そうではなく、ポータブルコンピューティングデバイス100が電源切断されておらず、オンで動作可能のままである場合、方法1300は、ブロック1304に移動し、本明細書で説明するように継続することができる。決定ブロック1306に戻って、すべてのプロセッサがオンであり、アイドル状態ではないことをプリフェッチモジュール384が決定した場合、方法1300はいいえ分岐に従い、ブロック1324に進むことができる。ブロック1324で、プリフェッチモジュール384は、現在のCPU負荷、たとえば、各プロセッサ、各コア、またはその組合せにおける負荷を決定することができる。現在のCPU負荷は、システムモニタ109から受信される情報に基づいて決定され得る。その情報は、現在の動作周波数を含むことができる。パーセンテージ値を決定するために、プロセッサまたはコアごとに、現在の動作周波数を最大動作周波数で割ることによって、負荷を決定することができる。決定ブロック1326に移動して、プリフェッチモジュール384は、CPU負荷がCPU負荷条件を満たすかどうかを決定することができる。たとえば、CPU負荷条件はパーセンテージ使用値でもよく、CPU負荷がパーセンテージ使用値よりも大きい場合、CPU負荷はCPU負荷条件を満たし得る。決定ブロック1326で、CPU負荷がCPU負荷条件を満たす場合、方法1300はブロック1328に進むことができ、プリフェッチングは無効にされ得る。したがって、CPU負荷がプリフェッチング操作またはタスクを実行するにはあまりに大きくなりすぎるとき、ウェブブラウザアプリケーションはプリフェッチングを無効にすることができる。プリフェッチングを無効にするためのトリガとしてCPU負荷を使用する代わりに、プリフェッチモジュール384は、プロセッサまたはコアごとに温度情報を受信することができ、温度データが高熱状態を示す場合も、プリフェッチモジュール384はプリフェッチングを無効にすることができることを諒解されよう。方法1300は、ブロック1328からブロック1316に進み、次いで、本明細書で説明するように継続することができる。さらに、決定ブロック1326から、CPU負荷がCPU負荷条件を満たさない場合、方法1300はブロック1316に進み、説明するように継続することもできる。本明細書で説明する方法ステップは、必ずしも説明どおりの順序で実施する必要はないことを理解されたい。さらに、その後、次いで、次になどの語は、ステップの順序を限定することを意図していない。これらの語は、方法ステップの説明を通じて読者を案内するために使用されているにすぎない。さらに、本明細書で説明する方法はポータブルコンピューティングデバイス上で実行可能なものとして説明している。PCDは移動電話デバイス、携帯情報端末デバイス、WWAN接続を有するスマートブックコンピューティングデバイス、WWAN接続を有するネットブックコンピューティングデバイス、WWAN接続を有するラップトップコンピューティングデバイス、WWAN接続を有するデスクトップコンピューティングデバイス、またはそれらの組合せであってよい。また、様々な方法ステップは、本明細書では指定されない新規方法を作成するために、どの順序で組み合わせてもよい。本明細書で説明する構成では、本明細書におけるシステムおよび方法は、DNSプリフェッチング、コンテンツプリフェッチング、またはその組合せを実行するために使用され得る。DNSプリフェッチングがモバイル通信ネットワークにかなりの負荷をかけ得るので、図10に関連して上述したように、たとえば、ユーザが通常デバイスを使用する前、アラームがセットされる直前、プリフェッチアラームがトリガされるとき、デバイスが低使用モードであるとき、またはその組合せなど、ユーザがデバイスを使用していないとき、DNSプリフェッチングが実行され得る。さらに、コンテンツプリフェッチングは、未使用の、または十分に利用されていないネットワークリソース、レンダリングリソース、またはその組合せを使用して実行され得る。プリフェッチングコンテンツは、より良いサービス品質を提供することができ、コンテンツがユーザによって実際に要求される前にユーザが見たい可能性のあるコンテンツを取り出すことによって、ユーザエクスペリエンスをかなり向上させることができる。たとえば、システムは、図11に関して上述したように、頻繁に訪問されたページ、ユーザによって最もクリックされそうなリンク、またはその組合せをプリフェッチすることができる。システムは、条件付きコンテンツ、スケジュールされたコンテンツ、予測されたコンテンツ、またはその組合せを使用することができる。たとえば、条件付きコンテンツは、ユーザ入力または時刻など何らかのイベントに基づいて条件付きで選択され得るコンテンツをプレロード、すなわち、プリフェッチすることを含むことができる。スケジュールされたコンテンツは、図10に関して上述したように、毎朝早くなど、時刻に基づいてコンテンツをプレロードまたはプリフェッチすることを含むことができる。これによって、コンテンツは、ユーザによって要求される前に、すぐに利用可能となり得る。予測されたコンテンツは、図4および図9に関して上述したように、ユーザ要求に先立ってコンテンツを予測し、プレロードすることを含むことができる。これは、より良好な応答性を提供することによって、ユーザエクスペリエンスを向上させ得る。図4および図9に関して上述したように、ユーザ履歴、サーバリソースメトリクス、特定のURLに対する閲覧およびマウスの近接度、ならびにコンテンツタイプを含めて、どんなコンテンツがプリロードする候補であるかを決定するために、様々な基準が使用され得ることを諒解されよう。さらに、何らかのリソース利用可能性を決定することができる。そのようなリソースは、1つまたは複数の電力メトリクス、1つまたは複数の無線リンクメトリクス、1つまたは複数のCPUバスメトリクス、またはその組合せを使用して決定することができる。電力メトリクスは、図8に関して上述したように、デバイスが充電されているかどうかを決定することを含むことができる。これによって、図13に関して上述したように、デバイスの消費電力に対する影響、およびデバイスがその温度制限に近いかどうかに基づいて、プリフェッチングを有効または無効にすることができる。無線リンクメトリクスは、図8に関して上述したように、ブロック誤り率、信号対雑音比、達成されているスループット、往復時間、またはその組合せを含み得る。BLERが誤って転送されたデータパケットの数割る転送されたパケットの数であり得ることは諒解されよう。SNRは、信号を破損させている可能性がある雑音電力に対する信号電力の比であり得る。スループットは、通信チャネル上の成功したメッセージ配信の平均レートであり得る。スループットは、ビット秒で測定され得る。RTTは、信号パルスまたはパケットが特定のソースから特定の宛先に移動し、再度戻るために必要な時間であり得る。無線メトリクスは、1つまたは複数のチャネルの全体的な品質および容量を決定するために使用され得る。ボイストラフィックなど待ち行列に入れられた他のネットワークタスクは、リソースのさしあたりのクライアントの要求を決定するために使用することができる。CPUバスメトリクスは、現在のCPU負荷を含むことができる。現在のCPU負荷は、周波数値として表すことができる。代わりに、現在のCPU負荷は、たとえば現在の周波数割る最大周波数など、パーセンテージ値として表すことができる。CPUバメトリクスを条件として使用することによって、図13に関して上述したように、システム性能への悪影響を与えるとき、プリフェッチングを無効にすることができる。1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装することができる。ソフトウェアで実装した場合、これらの機能を機械可読媒体すなわちコンピュータ可読媒体などのコンピュータプログラム製品に記憶すること、またはそのようなコンピュータプログラム製品上の1つもしくは複数の命令あるいはコードとして送信することができる。コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体の両方を含み、1つの場所から別の場所へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CDROM、または他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを伝送もしくは記憶するために使用でき、コンピュータによってアクセスされ得るその他の媒体を含み得る。また、あらゆる接続がコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、ウェブサイト、サーバ、または他のリモートソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線、または、赤外線、無線およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または、赤外線、無線およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれ得る。本明細書で使用する場合、ディスクおよびディスクは、コンパクトディスク、レーザディスク、光ディスク、デジタル多用途ディスク、フレキシブルディスク、およびブルーレイディスクを含み、ディスクは、通常、磁気的にデータを再生し、ディスクは、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。選択された態様について詳細に説明し、詳述してきたが、以下の請求項によって定義されるような本発明の趣旨および範囲から逸脱することなく、本明細書において様々な置換および改変を実施できることが理解されよう。