JP2013541772A - ドメインネームサーバプリフェッチングを実行するシステムおよび方法 - Google Patents

ドメインネームサーバプリフェッチングを実行するシステムおよび方法 Download PDF

Info

Publication number
JP2013541772A
JP2013541772A JP2013532810A JP2013532810A JP2013541772A JP 2013541772 A JP2013541772 A JP 2013541772A JP 2013532810 A JP2013532810 A JP 2013532810A JP 2013532810 A JP2013532810 A JP 2013532810A JP 2013541772 A JP2013541772 A JP 2013541772A
Authority
JP
Japan
Prior art keywords
computing device
portable computing
prefetch
content
web page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013532810A
Other languages
English (en)
Other versions
JP5667303B2 (ja
Inventor
イドリス・ミール
ラジブ・ケー・ヴィジャヤクマール
サムソン・ジム
マーク・バプスト
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2013541772A publication Critical patent/JP2013541772A/ja
Application granted granted Critical
Publication of JP5667303B2 publication Critical patent/JP5667303B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

ワイヤレスポータブルコンピューティングデバイス(PCD)のためのドメインネームサービス(DNS)プリフェッチング、コンテンツプリフェッチング、またはその組合せを実行するための方法およびシステムが開示される。システムおよび方法は、PCDのディスプレイ画面上にウェブページをレンダリングするステップと、ウェブページ内の任意の可視リンクについてのDNSプリフェッチを実行するステップとを含み得る。さらに、方法は、画面変更操作(すなわち、スクロール操作)が実行されているかどうかを決定するステップと、画面変更操作が実行されているとき、ディスプレイ画面に示されたリンクごとにキューに1つまたは複数のDNSプリフェッチタスクを入れるステップとを含むことができる。方法およびシステムは、そのディスプレイ画面上にウェブページをレンダリングしているとき、ワイヤレスPCDの待ち時間を短縮することができる。

Description

本開示は、ドメインネームサーバプリフェッチングを実行するシステムおよび方法に関する。
ポータブルコンピューティングデバイス(PCD)は至る所にある。これらのデバイスは、セルラー電話、携帯情報端末(PDA)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスを含み得る。これらのポータブルコンピューティングデバイスの多くは、コンテンツ、ビューコンテンツなどをダウンロードするためにユーザがインターネットにアクセスすることができるウェブブラウザを含む。一般的に、ユーザがウェブブラウザにユニフォームリソースロケータ(URL)を入力するとき、そのURLについてDNSルックアップが実行され、伝送制御プロトコル(TCP)接続が確立され得る。その後、そのURLについてホストサーバから主要なHTMLファイルまたは主要なリソースが受信され得る。主要なHTMLファイルは、1つまたは複数の下位リソースを要求し、取得するために、1つまたは複数の追加のホストサーバへのウェブブラウザを示し得る。追加のホストサーバについてのDNSルックアップを実行し、TCP接続を確立するためのプロセスは、実質的にゆっくりであり得、かなりの量のオーバーヘッドを必要とし得る。
したがって、DNSプリフェッチング、コンテンツプリフェッチング、またはその組合せを実行する改良されたシステムおよび方法が必要である。
図中、別段に規定されていない限り、類似の参照番号は、様々な図の全体を通じて、類似の部分を指す。
閉位置のポータブルコンピューティングデバイス(PCD)の第1の態様を示す正面図である。 開位置のPCDの第1の態様を示す正面図である。 PCDの第1の態様を示すブロック図である。 ワイヤレスポータブルコンピューティングデバイスのための情報をプリフェッチするシステムのソフトウェアアーキテクチャの第1の態様の図である。 DNSプリフェッチングを実行する方法を示すフローチャートである。 ウェブページの第1の部分を示すPCDディスプレイの図である。 ウェブページの第2の部分を示すPCDディスプレイの図である。 コンテンツプリフェッチングを実行する方法の第1の態様を示すフローチャートの第1の部分である。 コンテンツプリフェッチングを実行する方法の第1の態様を示すフローチャートの第2の部分である。 コンテンツプリフェッチングを実行する方法の第2の態様を示すフローチャートである。 コンテンツプリフェッチングを実行する方法の第3の態様を示すフローチャートである。 コンテンツプリフェッチングを実行する方法の第4の態様を示すフローチャートの第1の部分である。 コンテンツプリフェッチングを実行する方法の第4の態様を示すフローチャートの第2の部分である。 コンテンツプリフェッチングを実行する方法の第5の態様を示すフローチャートである。
「例示的な」という言葉は、「一例、実例または例として」を意味するように本明細書で使用される。「例示的な」ものとして本明細書で説明する態様は、必ずしも他の態様よりも好ましい、または有利であると解釈されるわけではない。
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイルおよびパッチなど、実行可能コンテンツを有するファイルを含むこともある。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイルおよびパッチなど、実行可能コンテンツを有するファイルを含むこともある。加えて、本明細書で言及する「コンテンツ」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。
本明細書で使用される場合、「構成要素」、「データベース」、「モジュール」、「システム」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば構成要素は、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび/またはコンピュータであってよいが、これらであることに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方が構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッドの中に存在してよく、1つの構成要素を1つのコンピュータに局在化すること、および/または2つ以上のコンピュータに分散することが可能である。加えて、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケットを有する信号に従うなどしてローカルプロセスおよび/またはリモートプロセスの方法により通信することができる(たとえば、信号手段によりローカルシステム、分散システムにおいて別の構成要素と、かつ/または他のシステムとインターネットなどのネットワークにわたって対話する1つの構成要素からのデータ)。
最初に図1および図2を参照すると、例示的なポータブルコンピューティングデバイス(PCD)が示されており、全体的に100と表される。図示のように、PCD100は、ハウジング102を含み得る。ハウジング102は、上側ハウジング部104および下側ハウジング部106を含み得る。図1は、上側ハウジング部104がディスプレイ108を含み得ることを示す。特定の態様において、ディスプレイ108は、タッチスクリーンディスプレイでもよい。上側ハウジング部104は、トラックボール入力デバイス110を含むこともできる。さらに、図1に示されるように、上側ハウジング部104は、電源投入ボタン112および電源切断ボタン114を含むことができる。図1に示されるように、PCD100の上側ハウジング部104は、複数のインジケータライト116およびスピーカ118を含むことができる。各インジケータライト116は、発光ダイオード(LED)でもよい。
特定の態様では、図2に示すように、上側ハウジング部104は下側ハウジング部106に対して移動可能である。具体的には、上側ハウジング部104は下側ハウジング部106に対してスライド可能であってよい。図2に示すように、下側ハウジング部106はマルチボタン型キーボード120を含むことができる。特定の態様では、マルチボタン型キーボード120は標準型QWERTYキーボードであり得る。マルチボタン型キーボード120は、上側ハウジング部104が下側ハウジング部106に対して動かされたときに露出されてもよい。図2は、PCD100が下側ハウジング部106上にリセットボタン122を含み得ることをさらに示している。
図3Aを参照すると、ポータブルコンピューティングデバイス(PCD)の例示的な非限定的態様が示され、全体的に100で表されている。図示のように、PCD100は、互いに結合されたデジタル信号プロセッサ324およびアナログ信号プロセッサ326を含むオンチップシステム322を含む。デジタル信号プロセッサ324は、単一のプロセッサまたは複数のプロセッサを含むことができる。デジタル信号プロセッサ324は、当業者によって理解されるように、マルチコアプロセッサも含み得る。
オンチップシステム322は、3つ以上のプロセッサを含み得る。たとえば、オンチップシステム322は、以下で説明するように、デジタル信号プロセッサ(DSP)324を形成する複数のコアプロセッサを含むことができる。図3Aに示されるように、ディスプレイコントローラ328およびタッチスクリーンコントローラ330がデジタル信号プロセッサ(DSP)324に結合される。一方、オンチップシステム322の外部にあるタッチスクリーンディスプレイ108が、ディスプレイコントローラ328およびタッチスクリーンコントローラ330に結合される。
図3Aは、ビデオエンコーダ334、たとえば位相反転線(PAL)エンコーダ、sequential couleur a memoire(SECAM)エンコーダ、または全国テレビジョン方式委員会(NTSC)エンコーダなどがデジタル信号プロセッサ324に結合されることをさらに示している。さらに、ビデオ増幅器336がビデオエンコーダ334およびタッチスクリーンディスプレイ108に結合される。また、ビデオポート338がビデオ増幅器336に結合される。図3Aに示されるように、ユニバーサルシリアルバス(USB)コントローラ340がデジタル信号プロセッサ324に結合される。また、USBポート342が、USBコントローラ340に結合される。メモリリソース119および加入者識別モジュール(SIM)カード346も、デジタル信号プロセッサ324に結合され得る。さらに、図3Aに示されるように、デジタルカメラ348がデジタル信号プロセッサ324に結合され得る。例示的な態様において、デジタルカメラ348は、電荷結合デバイス(CCD)カメラまたは相補型金属酸化物半導体(CMOS)カメラである。
図3Aにさらに示されるように、ステレオオーディオコーデック350がアナログ信号プロセッサ326に結合され得る。さらに、オーディオ増幅器352がステレオオーディオコーデック350に結合され得る。例示的な態様では、第1のステレオスピーカ354および第2のステレオスピーカ356がオーディオ増幅器352に結合される。図3Aは、マイクロフォン増幅器358もステレオオーディオコーデック350に結合され得ることを示す。加えて、マイクロフォン360が、マイクロフォン増幅器358に結合され得る。特定の態様では、周波数変調(FM)無線チューナー362がステレオオーディオコーデック350に結合され得る。また、FMアンテナ364がFM無線チューナー362に結合される。さらに、ステレオヘッドフォン366がステレオオーディオコーデック350に結合され得る。
図3Aは、無線周波数(RF)トランシーバ368がアナログ信号プロセッサ326に結合され得ることをさらに示している。RFスイッチ370が、RFトランシーバ368およびRFアンテナ372に結合され得る。図3Aに示されるように、キーパッド374がアナログ信号プロセッサ326に結合され得る。また、マイクロフォンを備えたモノヘッドセット376がアナログ信号プロセッサ326に結合され得る。さらに、バイブレータデバイス378がアナログ信号プロセッサ326に結合され得る。図3Aは、電源380がオンチップシステム322に結合され得ることも示す。特定の態様では、電源380は電力を必要とするPCD100の様々な構成要素に電力を供給する直流(DC)電源である。さらに、特定の態様において、電源は、交流(AC)電源に接続されたAC-DC変成器から導かれた充電式DCバッテリまたはDC電源である。
図3Aは、PCD100が、たとえばローカルエリアネットワーク、パーソナルエリアネットワーク、または任意の他のネットワークなどのデータネットワークにアクセスするために使用され得るネットワークカード388も含み得ることをさらに示す。ネットワークカード388は、ブルートゥースネットワークカード、WiFiネットワークカード、パーソナルエリアネットワーク(PAN)カード、パーソナルエリアネットワーク超低電力技術(PeANUT)ネットワークカード、または当技術分野でよく知られている任意の他のネットワークカードであってよい。さらに、ネットワークカード388は、チップに組み込むことができ、すなわち、ネットワークカード388は、チップでのフルソリューションであってもよく、個別のネットワークカード388でなくてもよい。
図3Aは、PCD100がメモリリソース119内に格納され得るウェブブラウザアプリケーション382も含み得ることを示す。ウェブブラウザアプリケーション382は、インターネットを探索し、オンラインコンテンツにアクセスし、映画をダウンロードし、音楽をダウンロードし、映画を閲覧し、またはその組合せのために使用することができる。さらに、ウェブブラウザアプリケーション382は、たとえばプラグインとして、プリフェッチモジュール(P/M)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、またはそれらの組合せは、ドメインネームサーバ(DNS)プリフェッチ、コンテンツプリフェッチ、またはその組合せを実行するために、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として働き得る。
図3Bは、ワイヤレスポータブルコンピューティングデバイス100のための情報をプリフェッチするシステム103のソフトウェアアーキテクチャの第1の態様の図である。アプリケーションサブシステム103は、中央処理装置324(図3Aを参照)によって実行され、プリフェッチモジュール384によってレンダリングされるウェブページをサポートすることができるモバイルウェブブラウザアプリケーション382を含み得る。
当業者には理解されるように、また、以下で説明するように、モバイルウェブブラウザアプリケーションまたはモジュール382は、インターネットプロトコル(「IP」)層129上にある転送通信プロトコル(「TCP」)モジュール127と通信することができる。
当業者によって理解されるように、IP層129は、ネットワークバッファ層131と通信する。IP層129は、第2の中央処理装置326(図3を参照)によって実行されるモデムサブシステム133と通信する。
モバイルウェブブラウザモジュール382は、プリフェッチモジュール384、HTTPスタック111、ウェブブラウザモニタ107、システムモニタ109、およびドメインネームサーバモジュール113を含む。ウェブブラウザモジュール382内に含まれるように示されているが、さらなる代替の例示的な実施形態(図示せず)では、プリフェッチモジュール384は、ウェブブラウザ382に対する個別のモジュールとして常駐し得る。
ウェブブラウザモニタ107は、ウェブブラウジング履歴を維持することができる。ウェブブラウジング履歴は、ユーザによって閲覧されたすべてのページ、各ページがユーザによって閲覧された時間、各ページが閲覧された日付、またはその組合せに関するデータを含むことができる。
システムモニタ109は、CPU/バス負荷(すなわち、現在のプロセッサの負荷)を決定することができる。CPU/バス負荷は、プロセッサ速度、たとえば、プロセッサ周波数として表すことができる。システムモニタは、たとえば、バッテリのような電源380のステータスなど、電力状態のステータスを調査することもできる。
モバイルウェブブラウザモジュール382は、メモリリソース119に結合され得る。メモリリソース119は、それだけには限定されないが、キャッシュ、ランダムアクセスメモリ(「RAM」)、フラッシュメモリ、セキュアデジタル(「SD」)メモリカード、およびその任意の組合せを含み得る。メモリリソース119は、当業者によって理解されるように、後入れ先出し方式(LIFO)キューも含み得る。
プリフェッチモジュール384は、コンピューティングデバイス100に最適なビデオ再生品質を保証するために、たとえばウェブページなど、次にどんなファイルセグメントをポータブルコンピューティングデバイス100にダウンロードすべきかについてウェブブラウザ382を制御するまたは指示する役目を果たし得る。プリフェッチモジュール384は、アプリケーションサブシステム103ならびにモデムサブシステム133の要素を絶えず監視することができるという点で、動的でもよい。さらに、プリフェッチモジュール384は、アプリケーションサブシステム103およびモデムサブシステム133内の要素からメッセージを受信することもできる。
ウェブブラウザ382のDNSモジュール113は、当業者によって理解されるように、テキストベースのドメインネームを数字のインターネットプロトコル(IP)アドレスに変換する役目を果たし得る。DNSモジュール113は、IPアドレスをHTTPスタック111に伝えることができ、HTTPスタック111は次にそれをTCP接続モジュール127に中継する。
HTTPスタック111がTCP接続モジュール127からたとえばウェブページなどのメタオブジェクトを戻すとき、HTTPスタックモジュール111は、このメタオブジェクトをプリフェッチモジュール384に中継する。httpスタックモジュール111は、クライアントプリフェッチモジュール384に何らかのステータス情報を提供することもできる。ステータス情報は、それだけには限定されないが、高速スケジュール制御チャネル(「HS-SCCH」)有効ステータス、高速トランスポートブロックサイズ(「HS-TBS」)、レイヤ1ブロック誤り率(「L1 BLER」)、無線リンク制御プロトコルデータユニット(「RLC PDU」)サイズ、無線リンク制御ダウンリンクサービスデータユニット(「RLC DL SDU」)バイト受信(「Rx」)、高速ダウンリンクパケットアクセス(「HSDPA」)ユーザ機器(「UE」)カテゴリ、メディアアクセス制御アップリンクバッファステータス報告(「MAC UL BSR」)、拡張アップリンク送信時間間隔(「EUL TTI」)、拡張トランスポートフォーマット組合せ識別子(「ETFCI」)テーブルインデックス、ETCFI、新しい送信(「Tx」)の数、無線リンク制御アップリンクサービスデータユニット(「RLC UL SDU」)バイト送信(「Tx」)、ダイバーシティ送信/ダイバーシティ受信(「DTX/DRX」)モード、拡張アップリンクユーザ機器(「EUL UE」)カテゴリ、メディアアクセス制御送信層トランスポートブロックサイズ(「MAC TL TBS」)、パケットデータ収束プロトコルダウンリンクサービスデータユニット(「PDCP DL SDU」)バイト受信(「Rx」)、メディアアクセス制御アップリンクトランスポートブロックサイズ(「MAC UL TBS」)、パケットデータ収束プロトコルアップリンクサービスデータユニット(「PDCP UL SDU」)バイト送信(「Tx」)、およびユーザ機器カテゴリ(「UE Category」)を含み得る。
プリフェッチモジュール384は、メタオブジェクト、たとえばウェブページ500、およびその関連のハイパーテキストリンク502、504、602、604を構文解析し、ならびに/またはレビューし、現在のワイヤレスネットワーク状態およびポータブルコンピューティングデバイス100の動作環境を評価した後、どのリンク502、504、602、604が次のダウンロードに適するかを決定する役目を果たし得る。
トランスポート制御プロトコル(「TCP」)接続モジュール127は、当業者によって理解されるように、一般のネットワーキングの開放型システム間相互接続(「OSI」)モデルのトランスポート層において動作する。TCP接続モジュール127は、宛先ホストへの送信のためのネットワークインフラストラクチャへの転送に適したデータ単位(データグラム、セグメント)にアプリケーションデータブロックをカプセル化する、またはネットワークデータグラムを抽出し、それらのペイロードをモバイルウェブブラウザ382に送出することによって逆トランザクションを管理する役目を果たす。
TCP接続モジュール127は、それだけには限定されないが、再送タイムアウト(「RTO」)、広告された受信ウィンドウ(「Rx Window」)、送信-受信機スループット(「Tx/Rx Throughput」)、パケット統計、TCP接続の合計数、推定されたラウンドトリップ時間(「RTT」)、受信されたバイト数、シーケンス内パケット数(the number of in sequence packets)、およびTCP送信ウィンドウサイズを含む情報を提供することができる。
インターネットプロトコル(「IP」)モジュール129は、TCP接続モジュール127およびネットワークバッファ層131と通信する。IPモジュール129は、識別されたプロトコルデータグラム(パケット)を、それらのアドレスに基づいて、モバイルウェブブラウザからサーバに配信するタスクを有する。IPモジュール129は、データグラムカプセル化のためのアドレス指定方法および構造を定義する。IPモジュール129は、インターネットプロトコルバージョン4(「IPv4」)、ならびにインターネットプロトコルバージョン6(「IPv6」)を利用することができ、これはこの著述の時点で積極的に展開されている。しかし、まだ開発されていない将来のものを含めて、インターネットプロトコルの他のバージョンが本発明の範囲内に含まれる。
ネットワークバッファ層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は、無線リンク制御(「RLC」)層135、メディアアクセス制御(「MAC」)層139、物理(「PHY」)層141、無線リレー制御(「RRC」)モジュール137、および全地球測位システム(「GPS」)143を含み得る。モデムサブシステム133のこれらの要素は、図2に示されるように、RFトランシーバ368などの通信ハードウェアと通信する役目を果たし得る。
モデムサブシステム133の要素の各々は、メッセージを送る、またはプリフェッチモジュール384からクエリを受信することができる。たとえば、RRCモジュール137は、それだけには限定されないが、たとえば高速ダウンリンクパケットアクセス(「HSDPA」)カテゴリ情報、拡張アップリンク層(「EUL」)カテゴリ情報、および不連続受信/送信(「DRX/DTX」)構成(「Config」)情報などの情報を通信することができる。
RLCモジュール135は、スループットならびに無線リンク制御(「RCL」)プロトコルデータユニット(「PDU」)サイズをプリフェッチモジュール384に伝えることができる。MAC層139は、それだけには限定されないが、たとえばバッファステータス報告(「BSR」)情報および拡張専用チャネル(「EDCH」)トランスポートフォーマット(「TF」)情報などのアップリンク(「UL」)情報を伝えることができる。物理層141は、それだけには限定されないが、たとえば高速トランスポートブロックサイズ(「HS-TBS」)、変調、チャネル品質表示(「CQI」)、ブロック誤り率(「BLER」)測定、多入力/多出力(「MIMO」)、受信機(「Rx」)自動利得制御(「AGC」)、ならびにイコライザ集積回路(「EQ/IC」)受信機(「Rx」)ダイバーシティ(「D」)などのダウンリンク(「DL」)情報を伝えることができる。物理層141は、それだけには限定されないが、たとえばBLER、変調、および送信機(「Tx」)自動利得制御(「AGC」)など、アップリンク(「UL」)情報を伝えることもできる。
当業者には理解されるように、RRCモジュール137、RLCモジュール135、MACモジュール139、およびPHYモジュール141は、発展型高速パケットアクセスシステム177(「HSPA」)を形成することができる。一方、GPSモジュール143は、それだけには限定されないが、たとえばポータブルコンピューティングデバイス100の位置、および速さまたは速度などの情報をプリフェッチモジュール384に提供することができる。
アプリケーションサブシステム103およびモデムサブシステム133の要素を監視することによって、プリフェッチモジュール384は、ワイヤレスネットワークの状態、およびポータブルコンピューティングデバイス200自体の状態を監視することによって、ワイヤレスポータブルコンピューティングデバイス200が、PCD100のオペレータによって閲覧される可能性があるウェブページを知的に選択することができるようにする。プリフェッチモジュール384は、監視された状態を使用して、ウェブページがサーバからダウンロードされるのに適切なビットレートが何であるかを決定することによって、それがロードすべきウェブページのサイズおよびタイプを決定することができる。
アプリケーションサブシステム103およびモデムサブシステム133によって提供されるデータに基づいて監視された状態のいくつかは、それだけには限定されないが、現在のバッファのサイズ、およびバッファの成長がコンピューティングデバイス200によって消費されているレートを含む、メモリ状態、現在および履歴のWWAN帯域幅、現在および履歴のWWAN信号強度、利用可能なIPソケットデータ接続の数、全ビデオクリップ長の推定、および信号雑音比の履歴/ヒストグラムおよびロケーションベースサービス(「LBS」)に基づいてウェブページのファイルセグメントごとに各ユニフォームリソースロケータ(「URL」)ダウンロード時間の推定、たとえばGPSモジュール143などロケーションベースの技術の使用によりセルタワー識別三角測量または正確な緯度経度のいずれかによって計算されるポータブルコンピューティングデバイス100の速度のレート、ならびに加速度計および/またはLBSを使用したポータブルコンピューティングデバイス100の移動方向を含む。
プリフェッチモジュール384は、信号対雑音比が高いまま、および/またはBLERが連続的に低いままとなるまで、プリフェッチモジュール384が低いビットレートを維持または使用しなければならない所定の期間を計算することができる。プリフェッチモジュール384は、理想的なネットワークステータスの間、たとえばポータブルコンピューティングデバイス100が静止しているとき、またはポータブルコンピューティングデバイス100が比較的低速状態で動作しているとき、たとえばユーザがコンピューティングデバイス100を持って歩いているとき、電力を最小限に抑えるために、モデムサブシステム133において、任意のタイプの受信ダイバーシティ機能を「オン」または「オフ」にすることもできる。
システムおよび方法の概要
特定の態様において、DNSプリフェッチは、それだけには限定されないが、ユーザがドメインネームの要求を生成する前にプリフェッチモジュール384がドメインネームを識別し、取り出すステップを含み得る。DNSプリフェッチは、ハイパーテキスト転送プロトコル(HTTP)要求が発行される前、たとえば、ブラウザ382のユーザによって行われた選択に応答してウェブブラウザ382によってHTTP要求が生成される前に、ホストサーバに対する1つまたは複数の伝送制御プロトコル(TCP)ソケットまたは接続を開始するステップをさらに含むことができる。コンテンツプリフェッチは、それだけには限定されないが、ユーザがページ、条件付きコンテンツなどを実際に要求する前に、プリフェッチモジュール384がページ、条件付きコンテンツ、他のコンテンツ、またはその組合せをダウンロードすることを含み得る。
モバイルデバイス、たとえばPCD100において、ワイヤレスネットワークの待ち時間は、有線ネットワーク内で動作しているデスクトップと比較して、通常、より顕著である。PCD100のCPUリソースも、通常、デスクトップまたはラップトップのコンピュータのものよりも制限される。いくつかのワイヤレスワイドエリアネットワーク(WWAN)カバレージエリアにおいて、アップリンクリソースは、単なる一例として、たとえば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は、後入れ先出し(LIFO)キュー119にDNSプリフェッチタスクを入れることができる。その後、方法400は、決定ブロック420に進み得、プリフェッチングモジュール382は、画面変更操作が停止しているかどうかを決定することができる。画面変更操作が停止されていない場合、方法400は、決定ブロック416に戻ることができ、本明細書で説明するように継続することができる。そうではなく、画面変更操作が停止されている場合、方法400は、ブロック422に進み得、プリフェッチングモジュール382は、ディスプレイ108内の可視リンクごとに各DNSプリフェッチタスクを実行することができる。次いで、方法400は、決定ブロック412に戻ることができ、説明したように継続することができる。
図4に示される方法400は、直ちにクリックされる可能性がある、または直ちにレンダリングされたページに入る可能性があるリンクについてのみ、プリフェッチングを制限することができる。ユーザがページをスクロールするにつれて、ビューに入るリンクについて、プリフェッチングモジュール382によって、新しいDNSプリフェッチ要求を生成することができる。
図5および図6は、例示的なウェブページを示し、500と表される。図5では、ウェブページ500は、第1のmore coverageリンク502および第2のmore coverageリンク504を含む。ウェブページ500が最初にレンダリングされると、両方の「more coverage」リンク502、504について、DNSプリフェッチングが実行され得る。したがって、ユーザがいずれかの「more coverage」リンク502、504をクリックした場合、「more coverage」リンク502、504に関連付けられたコンテンツまたはページは、短い時間量でユーザに表示され得る。さらに、ユーザがウェブページ上で下にスクロールすると、図6に示されるように、第3の「more coverage」リンク602および第4の「more coverage」リンク604がユーザに表示され得る。この場合も、「more coverage」リンク602、604がビューに入ると、DNSプリフェッチングが実行され得、ユーザが「more coverage」リンク602、604のいずれかをクリックすると、ユーザがディスプレイ108内で可視の「more coverage」リンク602、604のいずれかをクリックする前に、プリフェッチモジュール384は、ホストサーバに対する1つまたは複数の伝送制御プロトコル(TCP)ソケットまたは接続を開始することができるので、「more coverage」リンク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に関して上記した高速パケットアクセス(HSPA)システム177は、チャネルの存在(すなわちチャネルが使用可能であるかどうか)ならびにチャネル品質インジケータ(CQI)を決定することができる。特定の態様では、CQIは、ワイヤレスチャネルの通信品質の測定値とすることができる。CQIは、所与のワイヤレスチャネルのためのチャネル品質の測度を表す値でもよい。比較的高い値を有するCQIは、特定のチャネルが比較的高い品質を有することを示すことができる。逆に、比較的低い値を有するCQIは、特定のチャネルが比較的低い品質を有することを示すことができる。
チャネルのCQIは、たとえば信号対雑音比(SNR)、信号対干渉雑音比(SINR)、信号対雑音歪比(SNDR)、またはその組合せなど、パフォーマンスメトリックを使用して計算され得る。特定のチャネルのために、これらの値が測定され、次いで、チャネルのCQIを計算するために使用され得る。次いで、各チャネルのCQIは、CQIAVG値を決定するために平均され得る。CQIが決定された後、方法700は、図8のブロック802に進むことができる。
ステップ716に移動して、HSPAシステム177は、共通パイロットチャネル信号対雑音比(CPICH SNR)を決定することができる。CPICHは、一定の電力でブロードキャストされ得、既知のビットシーケンスのものであり得るPCD100のダウンリンクであることを諒解されよう。CPICH SNRが決定された後、方法700は、図8のブロック802に進むことができる。
ステップ718で、GPS143は、ポータブルコンピューティングデバイス(PCD)100に関連付けられた垂直速度を監視する、または場合によっては決定することができる。ステップ722で、GPS143は、PCD100に関連付けられた水平速度を決定することができる。その後、ステップ724で、GPS143は、ウェブブラウザ382に垂直速度を出力することができる。さらに、ステップ728で、GPS143は、ウェブブラウザアプリケーション382にGPS水平速度を出力することができる。
ブロック730に進み、ウェブブラウザアプリケーション726は、移動速度を決定することができる。移動速度は、以下の式を使用して決定することができる。
Figure 2013541772
式中、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で決定されたCPICH SNRがCPICH SNR条件を満たすかどうかを決定することができる。代替的にまたは追加として、このブロック814で、プリフェッチモジュール384は、チャネルが存在するか、または使用可能かを決定することもできる。
CQI条件は閾値でもよく、平均CQIが閾値よりも大きい場合、平均CQIはCQI条件を満たすことができる。特定の態様では、閾値は、約20でもよい。この値のCQIは、少なくとも数メガビット/秒程度のデータレートを達成することを保証することができる。CPICH SNR条件は閾値でもよく、CPICH SNRが閾値よりも大きい場合、CPICH SNRは条件を満たすことができる。たとえば、CPICH SNRがマイナス10デシベル以上である場合、この条件は、ワイヤレスPCD100にとって困難なしにプリフェッチングが行われることを可能にする。
決定ブロック814で、平均CQIが閾値以下である、またはCPICH SNRが閾値以下である場合、方法700は、ブロック806に進むことができ、ウェブブラウザアプリケーション382は、プリフェッチモジュール384によって実行されたプリフェッチルーチンを終了することができる。決定ブロック814で、平均CQIが閾値よりも大きい、またはCPICH SNRが閾値よりも大きい場合、方法700は、決定ブロック816に進むことができる。
決定ブロック816で、プリフェッチモジュール384は、ステップ730で決定された移動速度が速度条件を満たすかどうかを決定することができる。たとえば、速度条件は、速度閾値でもよく、移動速度が速度閾値未満である場合、移動速度は条件を満たすことができる。速度閾値は、無線信号が比較的安定していることが想定され得る未満の値であり、たとえば、速度閾値は3マイル毎時(3mph)とすることができる。
決定ブロック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は、任意のウェブページコンテンツが採点されるかどうかを決定することができる。コンテンツは、コンテンツのホスト、コンテンツの作者、客観的な採点者(objective scoring body)、またはその組合せによって採点され得る。コンテンツに関連付けられた得点は、コンテンツがプリフェッチされることを示し得る。任意のコンテンツが採点される場合、方法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で、望ましい条件は、たとえば数秒など、所定の時間量内に終了し得るコンテンツのプリフェッチングを含むことができる。したがって、最大使用可能なデータレートが28.8メガビット毎秒(Mbps)である場合、決定ブロック1206の条件または閾値を以下の通りに設定することができる。28.8(最大使用可能なデータレート)×1秒(時間)×75%(重み付け定数/係数)=2.7メガバイト(プリフェッチモジュール384によるダウンロードのための最大ファイルサイズ)。
決定ブロック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)上で実行可能なものとして説明している。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)、達成されているスループット(TP)、往復時間(RTT)、またはその組合せを含み得る。
BLERが誤って転送されたデータパケットの数割る転送されたパケットの数であり得ることは諒解されよう。SNRは、信号を破損させている可能性がある雑音電力に対する信号電力の比であり得る。スループットは、通信チャネル上の成功したメッセージ配信の平均レートであり得る。スループットは、ビット/秒(bit/sまたはbps)で測定され得る。RTTは、信号パルスまたはパケットが特定のソースから特定の宛先に移動し、再度戻るために必要な時間であり得る。無線メトリクスは、1つまたは複数のチャネルの全体的な品質および容量を決定するために使用され得る。ボイストラフィックなど待ち行列に入れられた他のネットワークタスクは、リソースのさしあたりのクライアントの要求を決定するために使用することができる。
CPU/バスメトリクスは、現在のCPU負荷を含むことができる。現在のCPU負荷は、周波数値として表すことができる。代わりに、現在のCPU負荷は、たとえば現在の周波数割る最大周波数など、パーセンテージ値として表すことができる。CPU/バメトリクスを条件として使用することによって、図13に関して上述したように、システム性能への悪影響を与えるとき、プリフェッチングを無効にすることができる。
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装することができる。ソフトウェアで実装した場合、これらの機能を機械可読媒体すなわちコンピュータ可読媒体などのコンピュータプログラム製品に記憶すること、またはそのようなコンピュータプログラム製品上の1つもしくは複数の命令あるいはコードとして送信することができる。コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体の両方を含み、1つの場所から別の場所へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、または他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを伝送もしくは記憶するために使用でき、コンピュータによってアクセスされ得るその他の媒体を含み得る。また、あらゆる接続がコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、ウェブサイト、サーバ、または他のリモートソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または、赤外線、無線およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または、赤外線、無線およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれ得る。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フレキシブルディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
選択された態様について詳細に説明し、詳述してきたが、以下の請求項によって定義されるような本発明の趣旨および範囲から逸脱することなく、本明細書において様々な置換および改変を実施できることが理解されよう。
100 ポータブルコンピューティングデバイス
102 ハウジング
103 アプリケーションサブシステム
104 上側ハウジング部
106 下側ハウジング部
107 ウェブブラウザモニタ
108 ディスプレイ
109 システムモニタ
110 トラックボール入力デバイス
111 HTTPスタック
112 電源投入ボタン
113 ドメインネームサーバモジュール
114 電源切断ボタン
116 インジケータライト
118 スピーカ
120 マルチボタン型キーボード
122 リセットボタン
125 センサ
125A 万歩計(登録商標)
125B 加速度計
125C 近接センサ
125D コンパス
125E 周辺光センサ
127 転送通信プロトコル(「TCP」)モジュール
131 ネットワークバッファ層
133 モデムサブシステム
135 無線リンク制御(「RLC」)層
137 無線リレー制御(「RRC」)モジュール
139 メディアアクセス制御(「MAC」)層
141 物理(「PHY」)層
143 全地球測位システム(「GPS」)
177 発展型高速パケットアクセスシステム
200 コンピューティングデバイス
206 通信ネットワーク
320 PCD
322 オンチップシステム
324 デジタル信号プロセッサ
324 中央処理装置
328 ディスプレイコントローラ
330 タッチスクリーンコントローラ
334 ビデオエンコーダ
336 ビデオ増幅器
338 ビデオポート
340 ユニバーサルシリアルバス(「USB」)コントローラ
342 USBポート
346 加入者識別モジュール(「SIM」)カード
348 デジタルカメラ
350 ステレオオーディオコーデック
352 オーディオ増幅器
354 第1のステレオスピーカ
356 第2のステレオスピーカ
358 マイクロフォン増幅器
360 マイクロフォン
362 周波数変調(FM)無線チューナー
364 FMアンテナ
366 ステレオヘッドフォン
368 無線周波数(RF)トランシーバ
370 RFスイッチ
372 RFアンテナ
374 キーパッド
376 マイクロフォンを備えたモノヘッドセット
378 バイブレータデバイス
380 電源
384 プリフェッチモジュール(P/M)
388 ネットワークカード
500 ウェブページ

Claims (35)

  1. ポータブルコンピューティングデバイスの情報のプリフェッチングを実行するための方法であって、
    前記ポータブルコンピューティングデバイスのディスプレイ画面上にウェブページをレンダリングするステップと、
    前記ウェブページ内の任意のリンクについてのDNSプリフェッチを実行するステップと
    を含む方法。
  2. 画面変更操作が実行されているかどうかを決定するステップと、
    前記画面変更操作が実行されているとき、前記ディスプレイ画面に表示されているリンクごとに、前記ポータブルコンピューティングデバイス内のキューに1つまたは複数のDNSプリフェッチタスクを入れるステップと
    をさらに含む請求項1に記載の方法。
  3. 前記キューが後入れ先出しキューである、請求項2に記載の方法。
  4. 前記画面変更操作が停止されているかどうかを決定するステップと、
    前記画面変更操作が停止されている場合、前記ウェブページ内の可視リンクについての前記DNSプリフェッチタスクを実行するステップと
    をさらに含む請求項2に記載の方法。
  5. ユーザの習慣を監視し、習慣を現在時間と比較することによって、ユーザが1つまたは複数のウェブサイトをダウンロードする可能性を決定するステップと、
    前記現在時間から所定の時間以内に日常的にアクセスされるウェブサイトに関するパターンを決定するステップと
    をさらに含む請求項1に記載の方法。
  6. CPU、メモリ、およびバス帯域幅を含む十分な処理リソースがリソースマネージャによるウェブコンテンツの処理をサポートするために使用可能であるかどうかを決定するステップ
    をさらに含む請求項5に記載の方法。
  7. 前記ポータブルコンピューティングデバイスが充電器に接続されているかどうか、または十分なバッテリ充電が使用可能かどうか、および前記処理リソースがウェブコンテンツの処理に十分かどうかを決定するステップ
    をさらに含む請求項6に記載の方法。
  8. 前記ポータブルコンピューティングデバイスが前記充電器に接続されている、または十分なバッテリ充電が使用可能である場合、平均的なワイヤレスチャネル品質が条件を満たすかどうかを決定するステップと、
    前記平均的なワイヤレスチャネル品質が前記条件を満たす場合、コンテンツまたはDNSプリフェッチングを実行するステップと
    をさらに含む請求項7に記載の方法。
  9. ワイヤレスチャネルが存在するかどうかを決定するステップ
    をさらに含む請求項1に記載の方法。
  10. ユーザが前記ウェブページから離れてナビゲートすることに応答して前記キューをクリアするステップ
    をさらに含む請求項3に記載の方法。
  11. ポータブルコンピューティングデバイスであって、
    前記ポータブルコンピューティングデバイスのディスプレイ画面上にウェブページをレンダリングするための手段と、
    前記ウェブページ内の任意のリンクについてのDNSプリフェッチを実行するための手段と
    を含むポータブルコンピューティングデバイス。
  12. 画面変更操作が実行されているかどうかを決定するための手段と、
    前記画面変更操作が実行されているとき、前記ディスプレイ画面に表示されているリンクごとに、キューに1つまたは複数のDNSプリフェッチタスクを入れるための手段と
    をさらに含む請求項11に記載のポータブルコンピューティングデバイス。
  13. 前記キューが後入れ先出しキューである、請求項12に記載のポータブルコンピューティングデバイス。
  14. 前記画面変更操作が停止されているかどうかを決定するための手段と、
    前記画面変更操作が停止されている場合、前記ウェブページ内の各可視リンクについてのDNSプリフェッチタスクを実行するための手段と
    をさらに含む請求項13に記載のポータブルコンピューティングデバイス。
  15. ユーザの習慣を監視し、習慣を現在時間と比較することによって、ユーザが1つまたは複数のウェブサイトをダウンロードする可能性を決定するための手段と、
    前記現在時間から所定の時間以内に日常的にアクセスされるウェブサイトに関するパターンを決定するための手段と
    をさらに含む請求項11に記載のポータブルコンピューティングデバイス。
  16. CPU、メモリ、およびバス帯域幅を含む十分な処理リソースがリソースマネージャによるウェブコンテンツの処理をサポートするために使用可能であるかどうかを決定するための手段
    をさらに含む請求項15に記載のポータブルコンピューティングデバイス。
  17. 前記ポータブルコンピューティングデバイスが充電器に接続されているかどうか、または十分なバッテリ充電が使用可能かどうか、および前記処理リソースがウェブコンテンツの処理に十分かどうかを決定するための手段
    をさらに含む請求項16に記載のポータブルコンピューティングデバイス。
  18. ワイヤレスチャネルが存在するかどうかを決定するための手段
    をさらに含む請求項11に記載のポータブルコンピューティングデバイス。
  19. ユーザが前記ウェブページから離れてナビゲートすることに応答して前記キューをクリアするための手段
    をさらに含む請求項13に記載のポータブルコンピューティングデバイス。
  20. ポータブルコンピューティングデバイスであって、
    メモリと、
    前記メモリにアクセス可能なプロセッサとを備え、前記プロセッサが、
    前記ポータブルコンピューティングデバイスのディスプレイ画面上にウェブページをレンダリングし、
    前記ウェブページ内の任意の可視リンクについてのDNSプリフェッチを実行するように動作可能である
    ポータブルコンピューティングデバイス。
  21. 前記プロセッサが、
    画面変更操作が実行されているかどうかを決定し、
    前記画面変更操作が実行されているとき、前記ディスプレイ画面に表示されているリンクごとに、前記ポータブルコンピューティングデバイス内のキューに1つまたは複数のDNSプリフェッチタスクを入れる
    ようにさらに動作可能である
    請求項20に記載のポータブルコンピューティングデバイス。
  22. 前記キューが後入れ先出しキューである、請求項20に記載のポータブルコンピューティングデバイス。
  23. 前記プロセッサが、
    前記画面変更操作が停止されているかどうかを決定し、
    前記画面変更操作が停止されている場合、前記ウェブページ内の各可視リンクについての前記DNSプリフェッチタスクを実行する
    ようにさらに動作可能である
    請求項20に記載のポータブルコンピューティングデバイス。
  24. 前記プロセッサが、
    ユーザの習慣を監視し、習慣を現在時間と比較することによって、ユーザが1つまたは複数のウェブサイトをダウンロードする可能性を決定し、
    前記現在時間から所定の時間以内に日常的にアクセスされるウェブサイトに関するパターンを決定する
    ようにさらに動作可能である
    請求項23に記載のポータブルコンピューティングデバイス。
  25. 前記プロセッサが、
    CPU、メモリ、およびバス帯域幅を含む十分な処理リソースがリソースマネージャによるウェブコンテンツの処理をサポートするために使用可能であるかどうかを決定する
    ようにさらに動作可能である
    請求項24に記載のポータブルコンピューティングデバイス。
  26. 前記プロセッサが、
    前記ポータブルコンピューティングデバイスが充電器に接続されているかどうか、または十分なバッテリ充電が使用可能かどうか、および前記処理リソースがウェブコンテンツの処理に十分かどうかを決定する
    ようにさらに動作可能である
    請求項23に記載のポータブルコンピューティングデバイス。
  27. 前記プロセッサが、
    前記ポータブルコンピューティングデバイスが前記充電器に接続されている、または十分なバッテリ充電が使用可能である場合、平均的なワイヤレスチャネル品質が条件を満たすかどうかを決定し、
    前記平均的なワイヤレスチャネル品質が前記条件を満たす場合、コンテンツまたはDNSプリフェッチングを実行する
    ようにさらに動作可能である
    請求項20に記載のポータブルコンピューティングデバイス。
  28. ポータブルコンピューティングデバイスのための、コンピュータにより実行可能な命令からなるコンピュータプログラムであって、
    前記ポータブルコンピューティングデバイスのディスプレイ画面上にウェブページをレンダリングするための少なくとも1つの命令と、
    前記ウェブページ内の任意の可視リンクについてのDNSプリフェッチを実行するための少なくとも1つの命令と
    を含むコンピュータプログラム。
  29. 画面変更操作が実行されているかどうかを決定するための少なくとも1つの命令と、
    前記画面変更操作が実行されているとき、前記ディスプレイ画面に表示されているリンクごとに、前記ポータブルコンピューティングデバイス内のキューに1つまたは複数のDNSプリフェッチタスクを入れるための少なくとも1つの命令と
    をさらに含む請求項28に記載のコンピュータプログラム。
  30. 前記キューが後入れ先出しキューである、請求項28に記載のコンピュータプログラム。
  31. 前記画面変更操作が停止されているかどうかを決定するための少なくとも1つの命令と、
    前記画面変更操作が停止されている場合、前記ウェブページ内の各可視リンクについての前記DNSプリフェッチタスクを実行するための少なくとも1つの命令と
    をさらに含む請求項28に記載のコンピュータプログラム。
  32. ユーザの習慣を監視し、習慣を現在時間と比較することによって、ユーザが1つまたは複数のウェブサイトをダウンロードする可能性を決定するための少なくとも1つの命令と、
    前記現在時間から所定の時間以内に日常的にアクセスされるウェブサイトに関するパターンを決定するための少なくとも1つの命令と
    をさらに含む請求項31に記載のコンピュータプログラム。
  33. CPU、メモリ、およびバス帯域幅を含む十分な処理リソースがリソースマネージャによるウェブコンテンツの処理をサポートするために使用可能であるかどうかを決定するための少なくとも1つの命令
    をさらに含む請求項32に記載のコンピュータプログラム。
  34. 前記ポータブルコンピューティングデバイスが充電器に接続されているかどうか、または十分なバッテリ充電が使用可能かどうか、および前記処理リソースがウェブコンテンツの処理に十分かどうかを決定するための少なくとも1つの命令
    をさらに含む請求項33に記載のコンピュータプログラム。
  35. 前記ポータブルコンピューティングデバイスが前記充電器に接続されている、または十分なバッテリ充電が使用可能である場合、平均的なワイヤレスチャネル品質が条件を満たすかどうかを決定するための少なくとも1つの命令と、
    前記平均的なワイヤレスチャネル品質が前記条件を満たす場合、コンテンツまたはDNSプリフェッチングを実行するための少なくとも1つの命令と
    をさらに含む請求項36に記載のコンピュータプログラム。
JP2013532810A 2010-10-04 2011-08-31 ドメインネームサーバプリフェッチングを実行するシステムおよび方法 Active JP5667303B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/897,553 US8601052B2 (en) 2010-10-04 2010-10-04 System and method of performing domain name server pre-fetching
US12/897,553 2010-10-04
PCT/US2011/049843 WO2012047421A1 (en) 2010-10-04 2011-08-31 System and method of performing domain name server pre-fetching

Publications (2)

Publication Number Publication Date
JP2013541772A true JP2013541772A (ja) 2013-11-14
JP5667303B2 JP5667303B2 (ja) 2015-02-12

Family

ID=44645227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013532810A Active JP5667303B2 (ja) 2010-10-04 2011-08-31 ドメインネームサーバプリフェッチングを実行するシステムおよび方法

Country Status (6)

Country Link
US (2) US8601052B2 (ja)
EP (2) EP2625631B1 (ja)
JP (1) JP5667303B2 (ja)
KR (1) KR101554398B1 (ja)
CN (1) CN103201735B (ja)
WO (1) WO2012047421A1 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601052B2 (en) * 2010-10-04 2013-12-03 Qualcomm Incorporated System and method of performing domain name server pre-fetching
US9529866B2 (en) * 2010-12-20 2016-12-27 Sybase, Inc. Efficiently handling large data sets on mobile devices
US20120167122A1 (en) * 2010-12-27 2012-06-28 Nokia Corporation Method and apparatus for pre-initializing application rendering processes
US9439226B2 (en) * 2011-03-15 2016-09-06 Nokia Technologies Oy Method and apparatus for initiating radio connections
US8645501B2 (en) 2011-05-05 2014-02-04 Qualcomm Innovation Center, Inc. Adaptive DNS pre-fetching
CN102222086B (zh) * 2011-05-18 2014-11-26 广州市动景计算机科技有限公司 基于移动终端的网页阅读方法、网页阅读装置及移动终端
US8812658B1 (en) * 2011-05-20 2014-08-19 Amazon Technologies, Inc. Pre-fetching of network page content
US9253278B2 (en) 2012-01-30 2016-02-02 International Business Machines Corporation Using entity tags (ETags) in a hierarchical HTTP proxy cache to reduce network traffic
US8879518B2 (en) 2012-02-08 2014-11-04 Acer Incorporated Method of timing reference management
KR20130106519A (ko) * 2012-03-20 2013-09-30 삼성전자주식회사 웹 브라우저의 히스토리 관리 방법 및 장치
US9131516B2 (en) 2012-03-30 2015-09-08 Acer Incorporated Method of preventing random access response collision
US20130279383A1 (en) * 2012-04-20 2013-10-24 Acer Incorporated Method of Managing Discontinuous Reception Functionality
US8892638B2 (en) * 2012-05-10 2014-11-18 Microsoft Corporation Predicting and retrieving data for preloading on client device
US20130324075A1 (en) * 2012-06-05 2013-12-05 Nokia Siemens Networks Oy Data Loading Control
US9055118B2 (en) * 2012-07-13 2015-06-09 International Business Machines Corporation Edge caching using HTTP headers
US9348936B2 (en) * 2012-07-25 2016-05-24 Oracle International Corporation Heuristic caching to personalize applications
US10261938B1 (en) * 2012-08-31 2019-04-16 Amazon Technologies, Inc. Content preloading using predictive models
CN103685381B (zh) * 2012-09-12 2015-07-15 腾讯科技(深圳)有限公司 一种网页资源下载方法、系统和装置
US9357546B1 (en) * 2013-07-19 2016-05-31 Sprint Spectrum L.P. Methods and systems for controlling TTI bundling
US9143921B2 (en) * 2013-09-06 2015-09-22 Qualcomm Incorporated Communicating physical layer wireless parameters over an application programming interface
US9582160B2 (en) 2013-11-14 2017-02-28 Apple Inc. Semi-automatic organic layout for media streams
US9489104B2 (en) 2013-11-14 2016-11-08 Apple Inc. Viewable frame identification
EP3084640A1 (en) * 2013-12-22 2016-10-26 Interdigital Patent Holdings, Inc. Web application acceleration with personalized cache or prerendering
US20150254806A1 (en) * 2014-03-07 2015-09-10 Apple Inc. Efficient Progressive Loading Of Media Items
US11489941B2 (en) 2014-07-16 2022-11-01 Tensera Networks Ltd. Pre-loading of user applications including skipping of selected launch actions
US11483415B2 (en) 2014-07-16 2022-10-25 Tensera Networks Ltd. Background pre-rendering of user applications
US10432748B2 (en) * 2014-07-16 2019-10-01 Tensera Networks Ltd. Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day
US9979796B1 (en) 2014-07-16 2018-05-22 Tensera Networks Ltd. Efficient pre-fetching notifications
WO2016009285A1 (en) 2014-07-16 2016-01-21 Tensera Networks Ltd. Efficient content delivery over wireless networks using guaranteed prefetching at selected times-of-day
US11095743B2 (en) 2014-07-16 2021-08-17 Tensera Networks Ltd. Optimized content-delivery network (CDN) for the wireless last mile
US10506027B2 (en) 2014-08-27 2019-12-10 Tensera Networks Ltd. Selecting a content delivery network
CN104361067B (zh) * 2014-11-05 2018-07-20 百纳(武汉)信息技术有限公司 一种浏览器网页信息的智能加载方法及系统
CN106161669A (zh) * 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种快速域名解析方法和系统、及其终端和服务器
US9723470B1 (en) 2015-04-30 2017-08-01 Tensera Networks Ltd. Selective enabling of data services to roaming wireless terminals
CN104796502A (zh) * 2015-05-08 2015-07-22 上海斐讯数据通信技术有限公司 一种dns系统及方法
CN107924374A (zh) 2015-10-15 2018-04-17 腾赛拉网络有限公司 通信终端中的内容的新鲜度感知呈现
US10726021B2 (en) 2015-12-14 2020-07-28 Microsoft Technology Licensing, Llc Optimized mobile search
CN106095489B (zh) * 2016-05-31 2017-11-07 广东欧珀移动通信有限公司 一种应用控制方法及移动终端
KR102482220B1 (ko) * 2016-08-11 2022-12-28 삼성전자주식회사 인터넷에 접속하기 위한 전자 장치 및 방법
US10749894B2 (en) * 2017-02-15 2020-08-18 Cisco Technology, Inc. Prefetch intrusion detection system
WO2018186718A1 (en) * 2017-04-07 2018-10-11 Samsung Electronics Co., Ltd. A method and apparatus for reducing latency of network protocols
US11283895B2 (en) 2017-06-19 2022-03-22 Tensera Networks Ltd. Silent updating of content in user devices
CN107273031B (zh) * 2017-06-23 2020-10-16 阿里巴巴(中国)有限公司 信息流页面加载方法及装置
US11922187B2 (en) 2018-03-05 2024-03-05 Tensera Networks Ltd. Robust application preloading with accurate user experience
US20220179668A1 (en) * 2018-03-05 2022-06-09 Tensera Networks Ltd. Robust Application Preloading with Accurate User Experience
WO2019171237A1 (en) 2018-03-05 2019-09-12 Tensera Networks Ltd. Application preloading in the presence of user actions
US10929062B2 (en) * 2018-11-07 2021-02-23 International Business Machines Corporation Gradually throttling memory due to dynamic thermal conditions
US11824956B2 (en) 2019-07-30 2023-11-21 Tensera Networks Ltd. Pre-rendering of application user-interfaces in user devices using off-line pre-render mode
US20220060771A1 (en) * 2020-08-24 2022-02-24 Netflix, Inc. Techniques for bypassing the domain name system
CN116670646A (zh) 2020-12-03 2023-08-29 腾赛拉网络有限公司 预加载具有现有任务的应用
CN112364279B (zh) * 2021-01-14 2021-04-27 北京小米移动软件有限公司 图片加载方法、装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8022A (en) * 1851-04-08 Sawing-machine
US10004A (en) * 1853-09-06 Improvement in iron car-brakes
WO1998024027A1 (fr) * 1996-11-25 1998-06-04 Hitachi, Ltd. Dispositif de memoire cache web et appareil client utilisant ce dispositif
JP2002251315A (ja) * 2000-12-11 2002-09-06 Fujitsu Ltd ネットワークブラウザ
JP2003330789A (ja) * 2002-05-17 2003-11-21 Hitachi Software Eng Co Ltd Webページ再表示システム及びプログラム
JP2004021769A (ja) * 2002-06-19 2004-01-22 Nippon Telegr & Teleph Corp <Ntt> コンテンツ先読み装置、コンテンツ先読み方法およびプログラム
JP2005085174A (ja) * 2003-09-10 2005-03-31 Nippon Telegr & Teleph Corp <Ntt> リンク先コンテンツの先読み装置,先読み方法及び先読みエリアの算出方法
JP2005341004A (ja) * 2004-05-25 2005-12-08 Sony Corp コンテンツ再生装置,コンテンツ再生方法,コンテンツ再生システムおよびそのコンピュータプログラム
JP2006178513A (ja) * 2004-12-20 2006-07-06 Matsushita Electric Ind Co Ltd データ受信装置およびデータ受信プログラム
JP2007287175A (ja) * 2007-07-05 2007-11-01 Fujitsu Ltd 図面表示処理装置,図面表示処理プログラムおよびそのプログラムの記録媒体

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4235300B2 (ja) * 1999-01-14 2009-03-11 キヤノン株式会社 通信システム
EP1222792A2 (en) 1999-10-15 2002-07-17 Thomson Licensing S.A. A system for processing internet domain names and addresses
US7574494B1 (en) 1999-10-15 2009-08-11 Thomson Licensing User interface for a bi-directional communication system
WO2002056132A2 (en) * 2000-11-01 2002-07-18 Snapnames Com Inc Domain name acquisition and management system and method
US20020073124A1 (en) 2000-12-11 2002-06-13 Takahiro Masuda Network browser
JP2003036219A (ja) * 2001-07-25 2003-02-07 Sony Corp コンテンツ配信システム、コンテンツ予約管理装置、コンテンツ予約管理方法、コンテンツ予約管理プログラム及びコンテンツ予約管理プログラム格納媒体
US20050138143A1 (en) * 2003-12-23 2005-06-23 Thompson Blake A. Pre-fetching linked content
US8195761B2 (en) * 2004-01-13 2012-06-05 International Business Machines Corporation Prefetching web resources based on proxy triggers
US8327440B2 (en) * 2004-11-08 2012-12-04 Bt Web Solutions, Llc Method and apparatus for enhanced browsing with security scanning
US20060069618A1 (en) * 2004-09-27 2006-03-30 Scott Milener Method and apparatus for enhanced browsing
US7840911B2 (en) * 2004-09-27 2010-11-23 Scott Milener Method and apparatus for enhanced browsing
US20060294223A1 (en) 2005-06-24 2006-12-28 Microsoft Corporation Pre-fetching and DNS resolution of hyperlinked content
US9041744B2 (en) * 2005-07-14 2015-05-26 Telecommunication Systems, Inc. Tiled map display on a wireless device
US7933635B2 (en) * 2006-03-09 2011-04-26 Lg Electronics Inc. Adjustment of parameters based upon battery status
JP5129478B2 (ja) * 2006-03-24 2013-01-30 株式会社デンソーアイティーラボラトリ 画面表示装置
US20080228864A1 (en) * 2007-03-12 2008-09-18 Robert Plamondon Systems and methods for prefetching non-cacheable content for compression history
US8929959B2 (en) * 2007-04-24 2015-01-06 Telefonaktiebolaget L M Ericsson (Publ) Method and a device for receiving data in a mobile communication device in a broadcast system
US8677018B2 (en) * 2008-08-25 2014-03-18 Google Inc. Parallel, side-effect based DNS pre-caching
US20120007876A1 (en) * 2010-07-09 2012-01-12 Research In Motion Limited Electronic device and method of tracking displayed information
WO2012012334A2 (en) 2010-07-19 2012-01-26 Movik Networks Content pre-fetching and cdn assist methods in a wireless mobile network
US8601052B2 (en) * 2010-10-04 2013-12-03 Qualcomm Incorporated System and method of performing domain name server pre-fetching
US8645501B2 (en) 2011-05-05 2014-02-04 Qualcomm Innovation Center, Inc. Adaptive DNS pre-fetching

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8022A (en) * 1851-04-08 Sawing-machine
US10004A (en) * 1853-09-06 Improvement in iron car-brakes
WO1998024027A1 (fr) * 1996-11-25 1998-06-04 Hitachi, Ltd. Dispositif de memoire cache web et appareil client utilisant ce dispositif
JP2002251315A (ja) * 2000-12-11 2002-09-06 Fujitsu Ltd ネットワークブラウザ
JP2003330789A (ja) * 2002-05-17 2003-11-21 Hitachi Software Eng Co Ltd Webページ再表示システム及びプログラム
JP2004021769A (ja) * 2002-06-19 2004-01-22 Nippon Telegr & Teleph Corp <Ntt> コンテンツ先読み装置、コンテンツ先読み方法およびプログラム
JP2005085174A (ja) * 2003-09-10 2005-03-31 Nippon Telegr & Teleph Corp <Ntt> リンク先コンテンツの先読み装置,先読み方法及び先読みエリアの算出方法
JP2005341004A (ja) * 2004-05-25 2005-12-08 Sony Corp コンテンツ再生装置,コンテンツ再生方法,コンテンツ再生システムおよびそのコンピュータプログラム
JP2006178513A (ja) * 2004-12-20 2006-07-06 Matsushita Electric Ind Co Ltd データ受信装置およびデータ受信プログラム
JP2007287175A (ja) * 2007-07-05 2007-11-01 Fujitsu Ltd 図面表示処理装置,図面表示処理プログラムおよびそのプログラムの記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200900153005; 田村奈央: '深層 次世代ブラウザが開くWebアプリの未来 JavaScriptの高速処理を重視 標準対応で開発者' 日経コミュニケーション 第530号, 20090315, p.38-42, 日経BP社 *
JPN6014016493; 田村奈央: '深層 次世代ブラウザが開くWebアプリの未来 JavaScriptの高速処理を重視 標準対応で開発者' 日経コミュニケーション 第530号, 20090315, p.38-42, 日経BP社 *

Also Published As

Publication number Publication date
CN103201735A (zh) 2013-07-10
EP2625631A1 (en) 2013-08-14
EP2902928B1 (en) 2017-12-06
US9465777B2 (en) 2016-10-11
EP2902928A1 (en) 2015-08-05
US20120084343A1 (en) 2012-04-05
EP2625631B1 (en) 2015-05-06
CN103201735B (zh) 2016-05-04
KR20130106849A (ko) 2013-09-30
US20140068402A1 (en) 2014-03-06
KR101554398B1 (ko) 2015-09-18
US8601052B2 (en) 2013-12-03
WO2012047421A1 (en) 2012-04-12
JP5667303B2 (ja) 2015-02-12

Similar Documents

Publication Publication Date Title
JP5667303B2 (ja) ドメインネームサーバプリフェッチングを実行するシステムおよび方法
JP5878614B2 (ja) ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのシステムおよび方法
JP5662582B2 (ja) 伝送制御プロトコル接続を確立するシステムおよび方法
US8655338B2 (en) Method for operating portable terminal to reduce power during support of communication service and portable terminal supporting the same
US11516309B2 (en) Transparent pre-loading of user applications
US20160306895A1 (en) Web application acceleration with personalized cache or prerendering
CN109729384A (zh) 视频转码的选择方法和装置
CN110583087A (zh) 调度请求传输控制方法及相关产品
CA3048668C (en) Data transmission method and device
Armstrong Efficient and transparent dynamic content updates for mobile clients.
JP2017167637A (ja) 情報処理装置、及び、情報処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141211

R150 Certificate of patent or registration of utility model

Ref document number: 5667303

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250