JP5662582B2 - 伝送制御プロトコル接続を確立するシステムおよび方法 - Google Patents

伝送制御プロトコル接続を確立するシステムおよび方法 Download PDF

Info

Publication number
JP5662582B2
JP5662582B2 JP2013531577A JP2013531577A JP5662582B2 JP 5662582 B2 JP5662582 B2 JP 5662582B2 JP 2013531577 A JP2013531577 A JP 2013531577A JP 2013531577 A JP2013531577 A JP 2013531577A JP 5662582 B2 JP5662582 B2 JP 5662582B2
Authority
JP
Japan
Prior art keywords
tcp
url
host
rto
connection
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.)
Expired - Fee Related
Application number
JP2013531577A
Other languages
English (en)
Other versions
JP2013546041A (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 JP2013546041A publication Critical patent/JP2013546041A/ja
Application granted granted Critical
Publication of JP5662582B2 publication Critical patent/JP5662582B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Description

本開示は、伝送制御プロトコル接続を確立するシステムおよび方法を提供することに関する。
ポータブルコンピューティングデバイス(PCD)は至る所にある。これらのデバイスは、携帯電話、携帯情報端末(PDA)、ポータブルゲームコンソール、パームトップコンピュータ、および他のポータブル電子デバイスを含み得る。これらのポータブルコンピューティングデバイスの多くは、コンテンツをダウンロードしたりコンテンツを見たりするためにユーザがインターネットにアクセスするのを可能にし得る、ウェブブラウザを含む。通常、ユーザがuniform resource locator (URL)をウェブブラウザに入力すると、DNSルックアップがそのURLに対して実行され、伝送制御プロトコル(TCP)接続が確立され得る。その後、メインHTMLファイル、またはメインリソースが、そのURL向けのホストサーバから受信され得る。メインHTMLファイルは、1つまたは複数のサブリソースを要求して取得するために、ウェブブラウザを1つまたは複数の追加のホストサーバへ向けることができる。追加のホストサーバに対してDNSルックアップを実行し、TCP接続を確立するための処理はかなり遅いことがあり、かなりの量のオーバーヘッドを必要とし得る。
したがって、必要とされているのは、伝送制御プロトコル接続を確立する、改善されたシステムおよび方法である。
図中、別段に規定されていない限り、類似の参照番号は、様々な図の全体を通じて、類似の部分を指す。
閉位置のポータブルコンピューティングデバイス(PCD)の第1の態様を示す正面図である。 開位置のPCDの第1の態様を示す正面図である。 PCDの第2の態様を示すブロック図である。 ワイヤレスポータブルコンピューティングデバイスのためにTCP接続を確立するシステムのソフトウェアアーキテクチャの第1の態様の図である。 TCP接続を確立する方法の第1の態様を示すフローチャートの第1の部分である。 TCP接続を確立する方法の第1の態様を示すフローチャートの第2の部分である。 TCP接続を確立する方法の第2の態様を示すフローチャートである。 TCP接続を確立する方法の第2の態様を示すフローチャートの第1の部分である。 TCP接続を確立する方法の第3の態様を示すフローチャートの第2の部分である。 伝送制御プロトコル(TCP)接続を確立する方法の第4の態様を示すフローチャートである。 TCP接続を確立する方法の第5の態様を示すフローチャートである。 TCP接続を確立する方法の第6の態様を示すフローチャートである。
「例示的な」という言葉は、「一例、実例または例として」を意味するように本明細書で使用される。「例示的な」ものとして本明細書で説明する任意の態様は、必ずしも他の態様よりも好ましい、または有利であると解釈されるものではない。
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような、実行可能コンテンツを有するファイルも含み得る。加えて、本明細書で言及する「アプリケーション」は、開かれる必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルも含み得る。
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような、実行可能コンテンツを有するファイルも含み得る。加えて、本明細書で言及する「コンテンツ」は、開かれる必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルも含み得る。
本明細書で使用される場合、「コンポーネント」、「データベース」、「モジュール」、「システム」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえばコンポーネントは、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび/またはコンピュータであってよいが、これらには限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方が、コンポーネントであり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッドの中に存在してよく、1つのコンポーネントは、1つのコンピュータに局在化していてよく、かつ/または2つ以上のコンピュータに分散していてもよい。加えて、これらのコンポーネントは、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。コンポーネントは、1つまたは複数のデータパケット(たとえば、信号によって、ローカルシステム、分散システム中の別のコンポーネントと、かつ/または、インターネットのようなネットワークにわたって他のシステムと対話する、1つのコンポーネントからのデータ)を有する信号に従うなどして、ローカルプロセスおよび/またはリモートプロセスによって通信することができる。
最初に図1および図2を参照すると、例示的なポータブルコンピューティングデバイス(PCD)が示されており、全体的に100と表される。図示のように、PCD 100は、ハウジング102を含み得る。ハウジング102は、上側ハウジング部104および下側ハウジング部106を含み得る。図1は、上側ハウジング部104がディスプレイ108を含み得ることを示す。特定の態様では、ディスプレイ108はタッチスクリーンディスプレイでもよい。上側ハウジング部104は、トラックボール入力デバイス110も含み得る。さらに、図1に示されるように、上側ハウジング部104は、電源投入ボタン112および電源切断ボタン114を含み得る。図1に示されるように、PCD 100の上側ハウジング部104は、複数のインジケータライト116およびスピーカー118を含み得る。各インジケータライト116は、発光ダイオード(LED)でもよい。
特定の態様では、図2に示すように、上側ハウジング部104は下側ハウジング部106に対して移動可能である。具体的には、上側ハウジング部104は下側ハウジング部106に対してスライド可能であってよい。図2に示すように、下側ハウジング部106はマルチボタン型キーボード120を含み得る。特定の態様では、マルチボタン型キーボード120は標準的なQWERTYキーボードであり得る。マルチボタン型キーボード120は、上側ハウジング部104が下側ハウジング部106に対して動かされた時に現れ得る。図2は、PCD 100が下側ハウジング部106上にリセットボタン122を含み得ることをさらに示している。
図3を参照すると、ポータブルコンピューティングデバイス(PCD)の例示的な非限定的態様が示されており、全体的に100と表される。図示のように、PCD 100は、互いに結合されたデジタルシグナルプロセッサ324およびアナログシグナルプロセッサ326を含むオンチップシステム322を含む。オンチップシステム322は、3つ以上のプロセッサを含み得る。たとえば、当業者が理解するように、オンチップシステム322は、複数のコアプロセッサおよび1つのARM11プロセッサを含み得る。
図3に示すように、ディスプレイコントローラ328およびタッチスクリーンコントローラ330が、デジタルシグナルプロセッサ324に結合される。次に、オンチップシステム322の外部にあるタッチスクリーンディスプレイ108が、ディスプレイコントローラ328およびタッチスクリーンコントローラ330に結合される。
図3は、ビデオエンコーダ334、たとえば位相反転線(PAL)エンコーダ、sequential couleur a memoire(SECAM)エンコーダ、または全国テレビジョン方式委員会(NTSC)エンコーダが、デジタルシグナルプロセッサ324に結合されることをさらに示している。さらに、ビデオ増幅器336が、ビデオエンコーダ334およびタッチスクリーンディスプレイ108に結合される。また、ビデオポート338が、ビデオ増幅器336に結合される。図3に示すように、ユニバーサルシリアルバス(USB)コントローラ340が、デジタルシグナルプロセッサ324に結合される。また、USBポート342が、USBコントローラ340に結合される。メモリ344および加入者識別モジュール(SIM)カード346も、デジタルシグナルプロセッサ324に結合され得る。さらに、図3に示すように、デジタルカメラ348が、デジタルシグナルプロセッサ324に結合され得る。例示的な態様では、デジタルカメラ348は、電荷結合デバイス(CCD)カメラまたは相補型金属酸化物半導体(CMOS)カメラである。
図3にさらに示されるように、ステレオオーディオコーデック350が、アナログシグナルプロセッサ326に結合され得る。さらに、オーディオ増幅器352が、ステレオオーディオコーデック350に結合され得る。例示的な態様では、第1のステレオスピーカー354および第2のステレオスピーカー356が、オーディオ増幅器352に結合される。図3は、マイクロフォン増幅器358も、ステレオオーディオコーデック350に結合され得ることを示している。加えて、マイクロフォン360が、マイクロフォン増幅器358に結合され得る。特定の態様では、周波数変調(FM)ラジオチューナー362が、ステレオオーディオコーデック350に結合され得る。また、FMアンテナ364が、FMラジオチューナー362に結合される。さらに、ステレオヘッドフォン366が、ステレオオーディオコーデック350に結合され得る。
図3は、高周波(「RF」)送受信機368が、アナログシグナルプロセッサ326に結合され得ることをさらに示している。RFスイッチ370が、RF送受信機368およびRFアンテナ372に結合され得る。図3に示すように、キーパッド374が、アナログシグナルプロセッサ326に結合され得る。また、マイクロフォンを備えたモノヘッドセット376が、アナログシグナルプロセッサ326に結合され得る。さらに、バイブレータデバイス378が、アナログシグナルプロセッサ326に結合され得る。図3は、電源380が、オンチップシステム322に結合され得ることも示している。特定の態様では、電源380は、電力を必要とするPCD 100の様々なコンポーネントに電力を供給する、直流(DC)電源である。さらに、特定の態様では、電源は、AC電源に接続された交流(AC)-DC変換器から得られる、充電式DCバッテリまたはDC電源である。
図3は、PCD 100が、データネットワーク、たとえばローカルエリアネットワーク、パーソナルエリアネットワーク、または任意の他のネットワークにアクセスするために使用できる、ネットワークカード388も含み得ることをさらに示している。ネットワークカード388は、Bluetooth(登録商標)ネットワークカード、WiFiネットワークカード、パーソナルエリアネットワーク(PAN)カード、パーソナルエリアネットワーク超低電力技術(PeANUT)ネットワークカード、または当技術分野でよく知られている任意の他のネットワークカードであってよい。さらに、ネットワークカード388は、チップに組み込まれてよく、すなわち、ネットワークカード388は、チップでのフルソリューションであってもよく、個別のネットワークカード388でなくてもよい。
図3は、PCD 100が、メモリ344内に記憶され得るウェブブラウザ382も含み得ることを示している。ウェブブラウザ382を使って、インターネットを検索し、オンラインコンテンツにアクセスし、映像をダウンロードし、音楽をダウンロードし、映像を視聴し、またはこれらの組合せを行うことができる。
図3に示すように、タッチスクリーンディスプレイ108、ビデオポート338、USBポート342、カメラ348、第1のステレオスピーカー354、第2のステレオスピーカー356、マイクロフォン360、FMアンテナ364、ステレオヘッドフォン366、RFスイッチ370、RFアンテナ372、キーパッド374、モノヘッドセット376、バイブレータ378、および電源380は、オンチップシステム322の外部にある。
特定の態様では、本明細書で説明する方法ステップのうちの1つまたは複数は、コンピュータプログラム命令として、たとえばウェブブラウザ382の一部として、メモリ344に記憶され得る。これらの命令は、本明細書で説明する方法を実施するために、プロセッサ324、326によって実行可能であり得る。さらに、プロセッサ324、326、メモリ344、ウェブブラウザ382、またはこれらの組合せは、1つまたは複数のTCP接続を確立するための本明細書で説明される方法ステップの1つまたは複数を、実行するための手段として機能し得る。
図4は、ワイヤレスポータブルコンピューティングデバイス100のためにTCP接続を確立するアプリケーションサブシステム402の、ソフトウェアアーキテクチャの第1の態様の図である。アプリケーションサブシステム402は、デジタルシグナルプロセッサまたは中央演算処理装置324(図3参照)によって実行され、1つまたは複数のTCP接続を必要とするウェブページに対応し得る、モバイルウェブブラウザ382を含み得る。
当業者によって理解され以下で説明されるように、モバイルウェブブラウザアプリケーションまたはモジュール382は、インターネットプロトコル(「IP」)層422の上に存在する伝送制御プロトコル(「TCP」)モジュール416A〜Cと通信することができる。
当業者によって理解されるように、IP層422は、ネットワークバッファ層424と通信する。IP層422は、モデムサブシステム404と通信し、モデムサブシステム404は、第2の中央演算処理装置またはアナログシグナルプロセッサ326(図3参照)によって実行される。
モバイルウェブブラウザモジュール382は、HTTPスタック412およびドメイン名サーバモジュール414を含む。ウェブブラウザモジュール382は、アプリケーションサブシステム402とともにモデムサブシステム404の要素も継続的に監視できるという点で、動的であり得る。
当業者によって理解されるように、ウェブブラウザ382のDNSモジュール414は、テキストベースのドメイン名を、数値的なインターネットプロトコル(IP)アドレスへ変換することを担い得る。DNSモジュール414は、IPアドレスをHTTPスタック412へ伝え戻すことができ、HTTPスタック412が次いで、TCP接続モジュール416A〜Cの1つへIPアドレスを伝える。
HTTPスタック412が、TCP接続モジュール416A〜Cの1つから、ウェブページのようなメタオブジェクトを返す場合、HTTPスタックモジュール412は、何らかの状態情報をクライアントのウェブブラウザモジュール382へ提供することもできる。この状態情報は、限定はされないが、high speed-schedule control channel (「HS-SCCH」)の有効状態、high speed transport block size (「HS-TBS」)、層1のブロックエラーレート(「L1 BLER」)、無線リンク制御のプロトコルデータユニット(「RLC PDU」)のサイズ、無線リンク制御のダウンリンクのサービスデータユニット(「RLC DL SDU」)の受信(「Rx」)バイト、high speed downlink packet access (「HSDPA」)ユーザ装置(「UE」)のカテゴリ、メディアアクセス制御のアップリンクのバッファ状態報告(「MAC UL BSR」)、 enhanced uplink の送信時間間隔 (「EUL TTI」)、enhanced transport format combination index (「ETFCI」)のテーブルインデックス、ETCFI、新たな送信(「Tx」)の数、無線リンク制御のアップリンクのサービスデータユニット(「RLC UL SDU」)の送信(「Tx」)バイト、diversity transmission / diversity reception (「DTX/DRX」)のモード、enhanced uplinkのユーザ装置(「EUL UE」)のカテゴリ、メディアアクセス制御の送信層のトランスポートブロックサイズ(「MAC TL TBS」)、パケットデータコンバージェンスプロトコルのダウンリンクのサービスデータユニット(「PDCP DL SDU」)の受信バイト(「Rx」)、media access control uplink transport block size (「MAC UL TBS」)、パケットデータコンバージェンスプロトコルのアップリンクのサービスデータユニット(「PDCP UL SDU」)の送信(「Tx」)バイト、およびユーザ装置のカテゴリ(「UE Category」)を含み得る。
当業者によって理解されるように、トランスポート制御プロトコル(「TCP」)接続モジュール416A〜Cは、一般的なネットワーキングのOpen Systems Interconnection (「OSI」)モデルのトランスポート層において動作する。TCP接続モジュール416は、宛先ホストへの送信のためにネットワークインフラストラクチャへ伝送するのに適したデータユニット(データグラム、セグメント)の形へと、アプリケーションデータブロックをカプセル化すること、または、ネットワークデータグラムを抽象化し、モバイルウェブブラウザ382へペイロードを送達することによって、逆方向のトランザクションを管理することを担う。
TCP接続モジュール416は、限定はされないが、再送信タイムアウト(「RTO」)、通知される受信ウィンドウ(「Rx Window」)、送信受信スループット(「Tx/Rxスループット」)、パケット統計、TCP接続の全体数、推定される往復時間(「RTT」)、受信されるバイト数、順序通りのパケットの数、およびTCP送信ウィンドウサイズを含む、情報を提供することができる。
インターネットプロトコル(「IP」)モジュール422は、TCP接続モジュール416およびネットワークバッファ層424と通信する。IPモジュール422には、区別されたプロトコルデータグラム(パケット)を、そのアドレスに基づいてモバイルウェブブラウザからサーバへ送達する役割がある。IPモジュール422は、データグラムのカプセル化のための、アドレス指定方法および構造を定義する。IPモジュール422は、インターネットプロトコルバージョン4(「IPv4」)とともにインターネットプロトコルバージョン6(「IPv6」)を利用することができ、IPv6は本書の時点で実際に展開されている。しかし、まだ開発されていない今後のインターネットプロトコルを含む、他のバージョンのインターネットプロトコルが、本発明の範囲に含まれる。
ネットワークバッファ層424は、IPモジュール422およびモデムサブシステム404と通信する。ネットワークバッファ層424は、イーサネット(登録商標)および他のIEEE 802カプセル化方式のような、すべてのハードウェア特有のインターフェースの方法を含み得る。ネットワークバッファ層424は、ローカルネットワークのトポロジーを調査することができる。ネットワークバッファ層424は、ルータおよび近隣のホストを見つけることができ、リンク上の他のノードを見つけることを担い得る。ネットワークバッファ層424は、他のノードのリンク層アドレスを求め、利用可能なルータを見つけ、他のアクティブな近隣ノードへの経路についての到達可能性情報を保持することができる。
ウェブブラウザモジュール382は、httpスタック412とともにTCPモジュール416と通信することができる。ウェブブラウザモジュール382はまた、全地球測位システム(GPS)モジュール438などの衛星ナビゲーションシステムモジュールのような、1つまたは複数のセンサと通信することができる。
モデムサブシステム404は、無線リンク制御(「RLC」)層434、メディアアクセス制御(「MAC」)層432、物理(「PHY」)層430、無線中継制御(「RRC」)モジュール456、および、全地球測位システム(「GPS」)438のような衛星ナビゲーションシステムを含み得る。モデムサブシステム404のこれらの要素は、図3に示すようなRF送受信機368などの、通信ハードウェアとの通信を担い得る。
モデムサブシステム404の要素の各々は、メッセージを送信し、ウェブブラウザモジュール382からクエリを受信することができる。たとえば、RRCモジュール436は、限定はされないが、high speed downlink packet access (「HSDPA」)のカテゴリ情報、enhanced uplink layer (「EUL」)のカテゴリ情報、および、discontinuous reception/transmission (「DRX/DTX」)の設定(「Config」)情報のような情報を、伝えることができる。
RLCモジュール434は、スループットとともに、無線リンク制御(「RLC」)プロトコルデータユニット(「PDU」)サイズを伝えることができる。MAC層432は、限定はされないが、バッファ状態報告(「BSR」)情報およびenhanced dedicated channel (「EDCH」)トランスポートフォーマット(「TF」)情報のような、アップリンク(「UL」)情報を伝えることができる。物理層430は、限定はされないが、high speed transport block size (「HS-TBS」)、変調、channel quality indication (「CQI」)、ブロックエラーレート(「BLER」)の測定結果、多入力/多出力(「MIMO」)、受信機(「Rx」)自動利得制御(「AGC」)、さらに、イコライザ集積回路(「EQ/IC」)受信機(「Rx」)ダイバーシティ(「D」)のような、ダウンリンク(「DL」)情報を伝えることができる。物理層430はまた、限定はされないが、BLER、変調、および送信機(「Tx」)自動利得制御(「AGC」)のような、アップリンク(「UL」)情報を伝えることができる。
当業者が理解するように、RRCモジュール436、RLCモジュール434、MACモジュール432、およびPHYモジュール430は、evolved high-speed packet access system (「HSPA」)816(以下の図8参照)を形成し得る。一方、GPSモジュール438は、限定はされないが、ポータブルコンピューティングデバイス100の位置、速さまたは速度のような情報を、ウェブブラウザモジュール382に提供することができる。
アプリケーションシステム402およびモデムサブシステム404の要素を監視することによって、ウェブブラウザモジュール382は、ワイヤレスネットワークの状態とともにポータブルコンピューティングデバイス100自身の状態を監視することによって、ワイヤレスポータブルコンピューティングデバイス100が、PCD 100の操作者が見る可能性の高いウェブページを、インテリジェントに選択できるようにし得る。ウェブブラウザモジュール382は、監視された状態を使うことによって、ロードすべきウェブページのサイズおよび種類を求めて、サーバからダウンロードされることになるウェブページに対して適切なビットレートを求めることができる。
アプリケーションサブシステム402およびモデムサブシステム404によって提供されたデータに基づく、監視された状態の一部は、限定はされないが、現在のバッファのサイズおよび、バッファの増加分がポータブルコンピューティングデバイス100によって消費される割合を含むメモリ状態、現在のおよび過去のWWANの帯域幅、現在のおよび過去のWWAN信号の強度、利用可能なIPソケットデータ接続の数、全体のビデオクリップの長さの推定値および、信号対雑音比の履歴/ヒストグラムおよび位置情報サービス(「LBS」)に基づくウェブページの各ファイルセグメントの各uniform resource locator (「URL」)ダウンロード時間の推定値、セルタワー識別三角測量とGPSモジュール143のような位置に基づく技術の使用による正確な経度緯度とのいずれかによって計算される、ポータブルコンピューティングデバイス100の速度、ならびに、加速度計および/またはLBSを使ったポータブルコンピューティングデバイス100の移動の方向を含む。
ウェブブラウザモジュール382は、維持しなければならない所定の期間を計算することができ、または、信号対雑音比が継続的に高いままになるまで、かつ/またはBLERが継続的に低いままになるまで、低いビットレートを使うことができる。ウェブブラウザモジュール382はまた、理想的なネットワークの状態の間、たとえば、ポータブルコンピューティングデバイス100が静止している時、または、ユーザがポータブルコンピューティングデバイス100を持って歩いている場合のような、ポータブルコンピューティングデバイス100が比較的低速の状態で動作している時に、電力を最小にするために、モデムサブシステム404において任意の種類の受信機ダイバーシティ機能を「オン」または「オフ」することができる。
動作中、TCP接続モジュール416A〜Cは、接続情報をウェブブラウザ382に提供することができ、ウェブブラウザ382は、他のTCP接続の効率的な確立、既存のTCP接続の使用、またはこれらの組合せを支援するために、接続情報を使うことができる。接続情報は、TCP再送信タイムアウト(RTO)の推定値、TCP受信ウィンドウサイズ、最後の順序の狂ったパケット、またはこれらの組合せを含み得る。
PHYモジュール430、MACモジュール432、RLCモジュール434、RRCモジュール436、GPS 438、またはこれらの組合せは、モデムサブシステム情報をウェブブラウザ382に提供することができる。ウェブブラウザ382はまた、他のTCP接続の効率的な確立、既存のTCP接続の使用、またはこれらの組合せを支援するために、モデムサブシステム404の情報も使うことができる。モデムサブシステム情報は、GPSの垂直方向の速さ、GPSの水平方向の速さ、HSPAダウンリンク(DL)で実現可能な最大のスループット(TP)、HSPA DLの現在のTP、またはこれらの組合せを含み得る。
ウェブブラウザ382は、新たなTCP接続を確立するために、または既存のTCP接続を再使用するために、本明細書で説明されたように、接続情報、モデムサブシステム情報、またはこれらの組合せを使うことができることが理解されよう。
通常のポータブルコンピューティングデバイス、たとえば携帯電話では、ウェブブラウザ382は、メインリソース、すなわちメインHTMLファイルを、主要なホストサーバからロードすることができる。メインリソースは通常、ユーザがリンクをクリックした時またはuniversal resource locator (URL)を入力した時に、インターネットウェブブラウザがダウンロードする、最初のリソースを含む。ウェブページでは、メインリソースは通常、ハイパーテキストマークアップ言語(HTML)ファイルである。ユーザが画像へのリンクをクリックする場合、メインリソースは画像ファイルであり得るが、通常、ウェブページのメインリソースまたは主要リソースは常にHTMLファイルである。HTMLファイルは通常、サブリソースを有し得る唯一の種類のリソースである。また、「HTML」という用語は、XHTMLまたはHTML5を含むものとして、当業者によって理解される。
一方、サブリソースは通常、メインリソース内で参照または規定される、追加のファイルである。サブリソースは通常、ウェブページを完全かつ正確に表示するのに必要である。サブリソースは、限定はされないが、他の二次的なHTMLファイル(第1のHTMLファイルによって参照される、メインファイルまたは第1のHTMLファイル(メインリソース)に関連するファイル)、CSSファイル、JavaScript(登録商標)ファイル、Flashファイル、および画像ファイルを含む、様々な種類のファイルであってよい。
主要なホストは、各々が異なるドメイン名を有する1つまたは複数の二次的なホストサーバへ、ウェブブラウザを向けることができる。各々の異なるドメイン名に対して、DNSルックアップが、TCP接続の確立の前に実行される。連続して実行されるより多量のDNSルックアップによって、ウェブブラウザによる、TCP接続の確立ならびにリソースおよびサブリソースの取り出しが、かなり遅くなり得る。本明細書で開示される方法およびシステムは、DNSルックアップおよびTCP接続の確立をかなり高速化することができる。
図5および図6を参照すると、TCP接続を確立する方法の第1の態様が示されており、全体的に500と指定される。方法500は、ブロック502においてDOループで開始することができ、このDOループでは、uniform resource locator (URL)がウェブブラウザに入力されると、以下のステップが実行される。URLは、ハイパーテキスト伝送プロトコル(HTTP)要求の一部であってよい。ブロック504において、ウェブブラウザ382が、現在のURLを有するメモリリソース334内に保持される、ホストデータベース403を検索することができる。ホストデータベース403は、URLによってインデックスを付けられた、サーバなどのホストのリストを含み得る。これらのホストのリストは、ある特定のURLと関連付けられるコンテンツがデバイス上でロードされた最後の時に、そのURLに対してロードされたリソースおよびサブリソースを格納する、サーバである。PCD 100のユーザが特定のURLへ進むと、データベース403を参照することができ、エントリが見つかると、DNSルックアップおよびTCP接続が、データベースのエントリにおいて一覧にされている各ホストに対して(あらゆるGET命令の発行の前に)、メインリソースのロードと並行して実行される。
判定ブロック506に移り、ウェブブラウザ382が、ホストデータが現在のURLに対して利用可能かどうかを判定することができる。ホストデータが現在のURLに対して利用可能ではない場合、方法500は図6のブロック602へ進むことができる。たとえば、ある特定のURLが初めてアクセスされる場合、ホストデータは利用可能ではないことがある。
判定ブロック506に戻り、ホストデータが現在のURLに対して利用可能な場合、方法500は、ブロック508へ進み、ウェブブラウザ382が、ホストデータに記録されている、URLホストおよび各々のサブリソースホストに対するDNSルックアップを実行することができる。様々なルックアップが、実質的に並行に、すなわち実質的に同時に実行され得る。ブロック510へ移り、ウェブブラウザ382が、図4のTCPモジュール416のうちの1つを使って、ホストデータに記録されている、URLホストおよび各々のサブリソースホストに対するTCP接続を確立することができる。TCP接続は、実質的に並行に確立され得る。すなわち、TCP接続は、実質的に同時に確立され得る。ブロック512において、ウェブブラウザ382が、URLホストからのすべてのリソースおよびサブリソースホストからのすべてのサブリソースを、メモリリソース344にロードすることができる。
判定ブロック514へ進み、ウェブブラウザ382が、URLと関連付けられるウェブページが完全にロードされるかどうかを判定することができる。そうではない場合、方法500は、ブロック512に戻り、本明細書で説明するように継続することができる。それ以外の場合、すなわち、URLと関連付けられるウェブページが完全にロードされる場合、方法500はブロック516へ進むことができ、ウェブブラウザ382が、現在のURLと関連付けられる最新のページのロードに関して連絡されたホストの実際のセットによって、ホストデータベース403を更新することができる。
判定ブロック518において、ウェブブラウザ382が、別のURLが入力されたかどうかを判定することができる。入力された場合、方法500はブロック504に戻ることができ、方法500は本明細書で説明するように継続することができる。逆に、別のURLが入力されていない場合、方法500はブロック520へ続くことができ、ウェブブラウザ382は、ホストデータベース403を維持することができる。特定の態様では、ホストデータベース403はURL名によってインデックスを付けられ得る。その後、方法500は終了することができる。
判定ブロック506に戻り、ホストデータが現在のURLに対して利用可能ではない場合、方法500は図6のブロック602へ進むことができる。ブロック602において、ウェブブラウザ382が、URLホストに対するDNSルックアップを実行することができる。ブロック604において、ウェブブラウザ382が、図4のTCPモジュール416のうちの1つを使って、URLホストに対するTCP接続を確立することができる。さらに、ブロック606において、ウェブブラウザ382が、URLホストに対するHTTP GET命令を実行することができる。ブロック608において、ウェブブラウザ382が、URLホストからリソースを受信することができる。ブロック610において、ウェブブラウザ382が、URLホストからのリソースをメモリリソース344にロードすることができる。
ブロック612に移り、ウェブブラウザ382が、サブリソースホストに対するDNSルックアップを実行することができる。次いでブロック614に移り、ウェブブラウザ382が、サブリソースホストに対するTCP接続を確立することができる。ブロック616において、ウェブブラウザ382が、サブリソースホストに対するHTTP GET命令を実行することができる。ブロック618において、ウェブブラウザ382が、サブリソースホストからサブリソースを受信することができる。また、ブロック620において、ウェブブラウザ382が、サブリソースホストから受信されたサブリソースをロードすることができる。
判定ブロック622へと続き、ウェブブラウザ382が、別のサブリソースが現在のURLに対して存在するかどうかを判定することができる。存在する場合、方法500はブロック612に戻ることができ、方法500は本明細書で説明するように継続することができる。判定ブロック622において、別のサブリソースが現在のURLに対して存在しない場合、方法500はブロック624へ進むことができ、ウェブブラウザ382は、現在のURLに対するサブリソースのロード元であるすべてのサブリソースホストを記録することができる。その後、ブロック626において、ウェブブラウザ382が、ホストデータベース内に現在のホストデータを記憶することができる。ブロック628において、ウェブブラウザ382が、現在のサブリソースホストデータと現在のURLを関連付けることができる。次いで、方法500は、図5の判定ブロック518に戻ることができ、方法500は、本明細書で説明するように判定ブロックに518から継続することができる。
ここで図7を参照すると、TCP接続を確立する方法の第2の態様が示されており、全体的に700と指定される。わかりやすくするために、方法700は、PCD 100、DNSサーバ704、第1のホストサーバ706A、および第2のホストサーバ706Bに関して説明される。
ステップ710および712において開始すると、PCD 100が、第1のクエリおよび第2のクエリをDNSサーバ704に送信することができる。第1のクエリ711Aおよび第2のクエリ711Bは、並行に、すなわち実質的に同時に送信され得る。ステップ714Aおよび714Bにおいて、PCD 100は、第1の応答および第2の応答をDNSサーバ704から受信することができる。第1の応答714Aは、PCD 100を第1のホスト706Aへ向けることができ、第2の応答714Bは、PCD 100を第2のホスト706Bへ向けることができる。第1のホスト706Aは、PCD 100において、たとえばウェブブラウザ382においてロードされることになる、1つまたは複数の主要なリソースを提供することができ、第2のホスト706Bは、1つまたは複数のサブリソースを提供することができる。
ステップ718において、PCD 100が、第1のHTTP GET命令715Aを、第1のホスト706に送信することができる。さらに、ステップ720において、PCD 100が、第2のHTTP GET命令715Bを、第2のホスト708に送信することができる。HTTP GET命令715A、715Bは、並行に、すなわち実質的に同時に送信され得る。ステップ722において、PCD 100が、第1のホスト706Aから1つまたは複数のメインリソース717A〜Cを受信することができる。さらに、ステップ724において、PCD 100が、第2のホスト708から1つまたは複数のサブリソース719A、719Bを受信することができる。
特定の態様では、PCD 100のウェブブラウザ382は、メインリソース、すなわちメインHTMLファイルをロードすることができ、そして、PCD 100のウェブブラウザ382は、サブリソースをロードすることができる。ロードされると、メインリソースおよびサブリソースは、PCD 100のディスプレイを介して見るためのウェブページを確立することができる。
ここで図8および図9を参照すると、1つまたは複数の伝送制御プロトコル(TCP)接続を確立する方法の第3の態様が示されており、全体的に800と指定される。ステップ802において開始すると、GPSモニタ804は、ポータブルコンピューティングデバイス(PCD)に関連するGPSの垂直方向の速さを監視し、またはそれ以外の場合には測定することができる。ステップ806において、GPSモニタ804は、PCDに関連するGPSの水平方向の速さを測定することができる。その後、ステップ808において、GPSモニタ804は、GPSの垂直方向の速さをウェブブラウザ382へ出力することができる。さらに、ステップ812において、GPSモニタ804は、GPSの水平方向の速さをウェブブラウザ382へ出力することができる。
ステップ814へ移り、high speed packet access (HSPA)システム816(上で説明された)が、HSPAダウンリンク(DL)に対して実現可能な最大のスループット(TP)を求めることができる。さらに、ステップ818において、HSPAシステム816が、HSPA DLに対する現在のTPを求めることができる。ステップ820において、HSPAシステム816は、HSPA DLに対する実現可能な最大のTPを、ウェブブラウザ382へ出力することができる。また、ステップ822において、HSPAシステム816は、HSPA DLに対する現在のTPを、ウェブブラウザ382へ出力することができる。
ステップ824において、伝送制御プロトコル(TCP)モジュール416が、TCP再送信タイムアウト(RTO)の推定値を求めることができる。加えて、ステップ828において、TCPモジュール416が、TCP受信ウィンドウサイズを求めることができる。ステップ830において、TCPモジュール416が、最後の順序の狂ったパケット830を求めることができる。ステップ832へ移り、TCPモジュール416が、TCP RTOの推定値をウェブブラウザ382へ出力することができる。さらに、ステップ834へ移り、TCPモジュール416が、TCP受信ウィンドウサイズをウェブブラウザ382へ出力することができる。
ブロック836へと続き、ウェブブラウザ382は、モバイル機器の速さを求めることができる。モバイル機器の速さは、以下の式によって求められ得る。
Figure 0005662582
上式で、
vertspeedはステップ802におけるGPSの垂直方向の速さであり、
horzspeedはステップ804におけるGPSの水平方向の速さである。
ブロック838において、ウェブブラウザ382は、以下の式からHSPA TPヘッドルームを求めることができる。
HSPA TP headroom = max TP - current TP
上式で、
max TPは、ステップ814において求められた実現可能な最大のHSPA TPであり、
current TPは、ステップ818において求められた現在のHSPA DL TPである。
ブロック840において、ウェブブラウザ382は、推定されるTPヘッドルームを計算することができる。たとえば、モバイル機器の速さがモバイル機器の速さの条件を満たす場合、TPヘッドルームは0として計算され得る。それ以外の場合、すなわち、モバイル機器の速さがモバイル機器の速さの条件を満たさない場合、TPヘッドルームは、ステップ838において上で求められたTP HSPAヘッドルームと等しく設定され得る。モバイル機器の速さの条件は、モバイル機器の速さの閾値であってよく、モバイル機器の速さが閾値よりも大きい場合に、モバイル機器の速さの条件を満たしていると考えることができる。たとえば、閾値は、時速1マイル、時速2マイル、時速3マイルなどであってよい。ブロック840から、方法800は図9のブロック902に進むことができ、方法800は以下で説明するように継続することができる。
ブロック842に進み、ウェブブラウザ382は、以下の式からTCPウィンドウ利用率サイズを求めることができる。
TCP window utilization = HSPA DL TP * TCP RTO / TCP Receive Window size
上式で、
HSPA DL TPは、ステップ818において求められた現在のHSPA DL TPである。
TCP RTOは、ステップ824で求められたTCP RTOの推定値である。
TCP Receive Window Sizeは、ステップ828で求められたTCP受信ウィンドウサイズである。
ブロック842から、方法800は図9のブロック902に進むことができ、方法800は以下で説明するように継続することができる。
図9のブロック902において、HTTP要求が、ウェブブラウザ382によって開始され得る。判定ブロック904へ移り、ウェブブラウザ382が、TCP接続が現在開放されているかどうかを判定することができる。TCP接続が現在開放されていない場合、方法800はブロック918へ続くことができ、ウェブブラウザ382は、新たなTCP接続を開放することができる。その後、方法800は終了することができる。
判定ブロック904に戻り、ウェブブラウザ382が、TCP接続が開放されていると判定する場合、方法800は、判定ブロック908へ進むことができる。判定ブロック908において、ホストがHTTPバージョン1.1以上のバージョンで動作しているかどうかを、ウェブブラウザ382が判定することができる。ホストがHTTPバージョン1.1以上のバージョンで動作していない場合、方法800は以下で説明されるブロック918へ進むことができる。その後、方法800は終了することができる。
判定ブロック908に戻り、ホストがHTTPバージョン1.1以上のバージョンで動作している場合、方法800は、判定ブロック912へ進むことができる。判定ブロック912において、ウェブブラウザ382は、ブロック840において求められたTPヘッドルームがTPヘッドルームの条件を満たすかどうかを判定することができる。たとえば、TPヘッドルームの条件は、TPヘッドルームの閾値であってよく、TPヘッドルームは、TPヘッドルームがTPヘッドルームの閾値よりも大きい場合に、TPヘッドルームの条件を満たし得る。特定の態様では、TPヘッドルームの閾値は、限定はされないが、250Kbps、500Kbps、および1Mbpsなどのような例示的な値を含み得る。
判定ブロック912において、TPヘッドルームがTPヘッドルームの閾値よりも大きくない場合、方法800はブロック910へ進むことができ、ウェブブラウザ382は、既存のTCP接続に対してHTTP要求を出すことができる。その後、方法800は終了することができる。判定ブロック912に戻り、TPヘッドルームがTPヘッドルームの閾値よりも大きい場合、方法800は、判定ブロック914へ進むことができる。
判定ブロック914において、ウェブブラウザ382は、ブロック824において求められたTCP RTOがTCP RTOの条件を満たすかどうかを判定することができる。たとえば、TCP RTOの条件はTCP RTTの閾値であってよく、TCP RTOは、TCP RTOがTCP RTTの閾値よりも小さい場合に、TCP RTOの条件を満たし得る。特定の態様では、TCP RTTの閾値は、限定はされないが、50ms、200msなどの値を含み得る。
判定ブロック914において、TCP RTOがTCP RTTの閾値よりも小さい場合、方法800はブロック918へ進むことができ、ウェブブラウザ382は、新たなTCP接続を開放することができる。その後、方法800は終了することができる。判定ブロック914に戻り、TCP RTOがTCP RTTの閾値よりも大きい(小さくない)場合、方法800は上で説明されたステップ910へ戻ることができ、ウェブブラウザ382は、既存のTCP接続に対してHTTP要求を出すことができる。
図10を参照すると、1つまたは複数の伝送制御プロトコル(TCP)接続を確立する方法の第4の態様が示されており、全体的に1000と指定される。ブロック1002において開始すると、ウェブブラウザ382は、1つまたは複数のネットワークリソースのすぐ後の性能を推定することができる。ブロック1004において、ウェブブラウザ382は、ダウンロードされるべきアイテムの数を予測することができる。さらに、ブロック1006において、ウェブブラウザ382は、ダウンロードされるべきアイテムのサイズを予測することができる。ブロック1008において、ネットワークリソースのすぐ後の性能、ダウンロードされるべきアイテムの数、ダウンロードされるべきアイテムのサイズ、またはこれらの組合せに少なくとも一部基づいて、ウェブブラウザ382は、既存のTCP接続を利用することができ、または新たなTCP接続を開放することができる。そして、方法1000は終了することができる。
1つまたは複数のネットワークリソースのすぐ後の性能を推定するために、無線リンクの測定基準、モビリティの測定基準、TCPの測定基準、またはこれらの組合せが考慮され得る。無線リンクの測定基準は、ブロックエラーレート(BLER)、信号対雑音比(SNR)、実現されているスループット(TP)、RTT、またはこれらの組合せを含み得る。
BLERは、不正常に伝送されたデータパケットの数を、伝送されるパケットの数で割ったものであり得ることが、理解され得る。SNRは、信号エネルギーと、信号を破損させ得る雑音エネルギーとの比であり得る。スループットは、通信チャネルを通じた、成功したメッセージの送達の平均速度であり得る。スループットは、ビット毎秒(bit/sまたはbps)の単位で測定され得る。RTTは、信号のパルスまたはパケットが、ある特定の発信源からある特定の宛先へ移動し、再び戻ってくるのに必要な時間であり得る。
モビリティの測定基準は、デバイスが静止しているかどうか、デバイスが移動しているかどうか、デバイスの垂直方向の速さ、デバイスの水平方向の速さ、デバイスの速さ、またはこれらの組合せを含み得る。TCPの測定基準は、脱落し順序の狂ったパケットについての統計、現在の接続スループット、現在の混雑状態および受信ウィンドウサイズ、RTOの推定値、またはこれらの組合せを含み得る。
特定の態様では、ダウンロードされるべき残りのオブジェクトを予測するステップは、HTMLが解析され、DOMツリーが作成され、どの要求されたオブジェクトがキャッシュの中にないかに関する判定が行われた後に、行われ得る。キャッシュされていないリソースのサイズを推定するステップは、1つまたは複数のHTTPの測定基準、任意の未処理の要求のmimeのタイプ、リソースマニフェストファイル、キャッシュ中の既存の期限切れコンテンツ、またはこれらの組合せに基づいて、行われ得る。
HTTPの測定基準は、未処理の要求についてのコンテンツの長さの情報、ヘッダがすでに受信されたかどうか、サーバがHTTP1.1をサポートするかどうかを示し得るサーバから受信されたHTTPバージョン情報、またはこれらの組合せを含み得る。未処理の要求のmimeのタイプは、新たな要求の予想されるmimeのタイプを含み得る。新たな要求の予想されるmimeのタイプは、URLおよびファイル名の拡張子から推測され得る。あるいは、予想されるmimeのタイプは、<img>または<script>のような囲みタグによって、ブラウザによって別個に提供されてもよい。
リソースマニフェストファイルは、gzipファイルとして取得され得るような、ページ上のコンテンツのインデックスを含み得る。ウェブページによってサポートされるかクライアントのブラウザによって作成されるかに関わらず、リソースマニフェストをキャッシュすることは、リソースマニフェストファイルのために優先され得る。キャッシュ中に存在する期限切れのコンテンツは、コンテンツのサイズを推定するために使われ得る。たとえば、期限切れのスクリプトが12kBであったキャッシュに存在する場合、更新されたスクリプトのサイズは同様であると仮定するのは妥当である。
上の測定基準の一部またはすべてが、判定ブロック実行エンジンへの入力としての役割を果たし、判定ブロック実行エンジンは、新たなソケットを開放すること、既存のアイドル状態のソケットを再使用すること、既存のビジー状態のソケットへの要求をパイプライン処理すること、または、後のために要求をキューに加えることのいずれかを行うと、決定する。判定ブロック実行エンジンは、ウェブブラウザ382、ウェブブラウザアプリケーション382の一部(すなわちプラグイン)、別個のアプリケーション、またはこれらの組合せであってよい。
図11は、全体的に1100と指定される、1つまたは複数の伝送制御プロトコル(TCP)接続を確立する方法の第5の態様を示す。ブロック1102において開始すると、HTTP要求が、ウェブブラウザ382によって開始され得る。判定ブロック1104へ移り、ウェブブラウザ382が、TCP接続が現在開放されているかどうかを判定することができる。TCP接続が現在開放されていない場合、方法1100はブロック1106へ続くことができ、ウェブブラウザ382は、新たなTCP接続を開放することができる。その後、方法1100は終了することができる。
判定ブロック1104に戻り、ウェブブラウザ382が、TCP接続が開放されていると判定する場合、方法1100は、判定ブロック1108へ進むことができる。判定ブロック1108において、ウェブブラウザ382は、開放されたTCP接続またはソケットを通じて現在受信されている、リソースまたはサブリソースのビット単位での全体のサイズが、知られているかどうかを判定することができる。知られている場合、方法1100はブロック1110に進むことができ、ウェブブラウザ382はダウンロード完了時間を求めることができる。ダウンロード完了時間は、以下の式によって求められ得る。
DLT = (STot - SRx)/T
上式で、
DLT = ダウンロード完了時間、
STOT = 現在のリソースのビット単位での全体のサイズ、
SRX = すでに受信されたビット数、
T = ビット毎秒単位での現在のダウンリンクTCPスループット
である。
ブロック1110から、方法1100は、判定ブロック1112に進むことができる。判定ブロック1112において、ダウンロード完了時間がダウンロード完了時間の条件を満たすかどうかを、ウェブブラウザ382が判定することができる。たとえば、ダウンロード完了時間の条件はRTTであってよく、ダウンロード完了時間は、ダウンロード完了時間がRTTより長い場合、すなわち、現在のリソースのダウンロードを完了するのにかかり得る予想される時間が、新たなソケット接続の確立に必要な予想される時間よりも長い場合に、ダウンロード完了時間の条件を満たし得る。
判定ブロック1112において、ダウンロード完了時間がRTTよりも長い場合、方法1100はブロック1106へ進むことができ、ウェブブラウザ382は、新たなTCP接続を開放することができる。そして、方法1100は終了することができる。
判定ブロック1112に戻り、ダウンロード完了時間がRTTよりも長くない場合、方法1100はブロック1114へ進むことができ、ウェブブラウザ382は、既存のTCP接続に対してHTTP要求を出すことができる。その後、方法1100は終了することができる。
判定ブロック1108に戻り、STotが未知である場合、方法1100は、判定ブロック1116へ進むことができる。ブロック1116において、ウェブブラウザは、平均のオブジェクトサイズSAVGを求めることができる。SAVGは、未処理の要求のmimeのタイプに基づく、リソースオブジェクトの平均サイズであり得る。SAVGは、現在のホストからすでに受信されているオブジェクトのサイズ、履歴情報、またはこれらの組合せのいずれかに基づいて、ホスト毎に動的に求められ得る。別の態様では、SAVGは、複数の他のウェブサイトから受信された同様のリソースのサイズを平均することによって計算される所定の定数に基づいて、求められ得る。
ブロック1116から、方法1100はブロック1118に進むことができ、ウェブブラウザ382は、推定されるダウンロード完了時間DLESTを求めることができる。推定されるダウンロード完了時間は、以下の式から求められ得る。
DLEST = (SAVG - SRX) / T
上式で、
DLEST = 推定されるダウンロード完了時間、
SAVG = ビット単位での平均のオブジェクトサイズ
SRX = すでに受信されたビット数、
T = ビット毎秒単位での現在のダウンリンクTCPのスループット
ブロック1118から、方法1100は、判定ブロック1120に進むことができる。判定ブロック1120において、推定されるダウンロード完了時間が推定されるダウンロード完了時間の条件を満たすかどうかを、ウェブブラウザ382が判定することができる。たとえば、推定されるダウンロード完了時間の条件はRTTであってよく、推定されるダウンロード完了時間は、推定されるダウンロード完了時間がRTTよりも長い場合、条件を満たし得る。判定ブロック1120において、推定されるダウンロード完了時間がRTTよりも長い場合、方法1100はブロック1106へ進むことができ、ウェブブラウザ382は、新たなTCP接続を開放することができる。そして、方法1100は終了することができる。
判定ブロック1112に戻り、推定されるダウンロード完了時間がRTTよりも長くない場合、方法1100はブロック1114へ進むことができ、ウェブブラウザ382は、既存のTCP接続に対してHTTP要求を出すことができる。その後、方法1100は終了することができる。
図12は、全体的に1200と指定される、1つまたは複数の伝送制御プロトコル(TCP)接続を確立する方法の第6の態様を示す。ブロック1202において開始すると、HTTP要求が、ウェブブラウザ382によって開始され得る。判定ブロック1204へ移り、ウェブブラウザ382が、TCP接続が現在開放されているかどうかを判定することができる。TCP接続が現在開放されていない場合、方法1200はブロック1206へ続くことができ、ウェブブラウザ382は、新たなTCP接続を開放することができる。その後、方法1200は終了することができる。
判定ブロック1204に戻り、ウェブブラウザ382が、TCP接続が開放されていると判定する場合、方法1200は、判定ブロック1208へ進むことができる。判定ブロック1208において、ウェブブラウザ382は、TCP接続が混雑を避けるために制限された送信ウィンドウサイズを使っているかどうかを、判定することができる。
TCP接続が混雑を避けるために制限された送信ウィンドウサイズを使っていない場合、方法1200はブロック1210へ進むことができる。ブロック1210において、ウェブブラウザ382が、既存のTCP接続に対してHTTP要求を出すことができる。その後、方法1200は終了することができる。
判定ブロック1208に戻り、TCP接続が混雑を避けるために制限された送信ウィンドウサイズを使っている場合、方法1200はブロック1206へ進むことができる。ブロック1206において、ウィンドウブラウザアプリケーションが、新たなTCP接続を開放することができる。その後、方法1200は終了することができる。
本明細書で説明する方法ステップは、必ずしも説明通りの順序で実施する必要はないことを理解されたい。さらに、「その後」、「次いで」、「次に」などの語は、ステップの順序を限定することを意図していない。これらの語は、方法ステップの説明を通じて読者を案内するために使用されているにすぎない。さらに、本明細書で説明する方法はポータブルコンピューティングデバイス(PCD)上で実行可能なものとして説明されている。PCDは、携帯電話デバイス、携帯情報端末デバイス、スマートブックコンピューティングデバイス、ネットブックコンピューティングデバイス、ラップトップコンピューティングデバイス、デスクトップコンピューティングデバイス、またはそれらの組合せであってよい。また、様々な方法ステップは、新しい方法を作成するために、任意の順序で組み合わされ得る。
本明細書で説明される構成によって、本明細書のシステムおよび方法を使って、DNSルックアップをかなり高速化することができる。さらに、本明細書のシステムおよび方法は、新たなTCP接続の効率的な確立、TCP接続の再使用、またはこれらの組合せのために使われ得る。
一態様では、デバイス、たとえばデバイスに記憶されたウェブブラウザ382は、図5に示されるように、ある特定のURLと関連付けられるコンテンツがデバイス上でロードされた最後の時に、そのURLに対してロードされたサブリソースのロード元であるすべてのホストの、URLによってインデックスを付けられたデータベースを、メモリ344に保持することができる。ユーザが特定のURLへ進むと、データベース403を参照することができ、エントリが見つかると、DNSルックアップおよびTCP接続の確立が、データベースのエントリにおいて一覧にされている各ホストに対して、メインリソースのロードと並行して実行される。さらに、ページが完全にロードされた後、データベース403は、最新のロードに関して連絡されたホストの実際のセットによって、更新され得る。ブラウザは、最新のロードにおいて連絡されなかったすべてのホストを削除し、または、古いリストを新しいリストと統合することを選択できる。
この手法は、セルラーのカバレッジ領域の端部では有用であり得る。そのような領域では、ダウンロード性能が依然として適正、たとえば300kbpsであり得るとしても、アップリンク性能がかろうじて使用可能な状態、たとえば4kbpsにまで劣化することがある。従来のコンピューティングデバイスにおいてHTTP GET命令に続いて行われる、DNSルックアップの本発明による手法と従来の手法は、少なくともHTTPオブジェクトを返信するための時間の分だけアップリンク接続が遅れ、かつ、メインリソースがロードされた後にのみアップリンク接続が行われるという点で一致する。提案された手法は、最終的には必要ではない可能性のあるいくつかのDNSルックアップを実行し得るが、メインリソースがロードされる前にDNSルックアップを開始し、その後のHTTP GET命令タスクによって、DNSルックアップの間隔を空けるのではなくDNSルックアップを待ち行列に入れることで、より良好なアップリンク性能が得られる。
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装することができる。ソフトウェアで実装した場合、これらの機能を、機械可読媒体、すなわちコンピュータ可読媒体などのコンピュータプログラム製品に記憶することができ、または、そのようなコンピュータプログラム製品上の1つもしくは複数の命令またはコードとして送信することができる。コンピュータ可読媒体は、1つの場所から別の場所へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを伝送もしくは記憶するために使用され、コンピュータによってアクセスされ得る、その他の媒体を含み得る。また、あらゆる接続がコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、ウェブサイト、サーバ、または他のリモートソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または、赤外線、無線およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または、赤外線、無線およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれ得る。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フレキシブルディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
選択された態様が詳細に示され詳述されてきたが、以下の請求項によって定義されるような本発明の趣旨および範囲から逸脱することなく、本明細書において様々な置換および改変を実施できることが理解されよう。
382 ウェブブラウザ
402 アプリケーションサブシステム
404 モデムサブシステム
412 HTTPスタック
416A 伝送制御プロトコル
422 インターネットプロトコル層
424 ネットワークバッファ層
430 物理層
432 メディアアクセス制御層
434 無線リンク制御層
436 無線中継制御モジュール
438 全地球測位システム
704 DNSサーバ
706A 第1のホストサーバ
706B 第2のホストサーバ
711A 第1のクエリ
714A 第1の応答
715A HTTP GET命令
717A メインリソース
719A サブリソース
804 GPSモニタ
816 HSPAシステム

Claims (32)

  1. 伝送制御プロトコル(TCP)接続を確立する方法であって、
    ハイパーテキスト伝送プロトコル(HTTP)要求の一部として、uniform resource locator (URL)を受信するステップと、
    前記URLによってホストデータベースを検索するステップと、
    前記URLに対するホストデータが利用可能かどうかを判定するステップと、
    前記URLに対する前記ホストデータに記録された、URLホストおよび1つまたは複数のサブリソースホストに対してドメイン名サービス(DNS)ルックアップを実行するステップであって、すべてのDNSルックアップが、メインリソースがロードされる前に、前記URLに対するホストデータが利用可能な時に、実質的に同時に並行に開始される、ステップと、
    伝送制御プロトコル(TCP)接続がオープンされているかどうかを判定するステップと、
    前記TCP接続がオープンされている場合に、ホストがHTTPバージョン1.1以上のバージョンで動作しているかどうかを判定するステップと、
    推定されるスループット(TP)ヘッドルームがTPヘッドルームの条件を満たすかどうかを判定するステップであって、前記TPヘッドルームが、モバイルデバイスの速さ、最大のスループット、および現在のスループットの関数として計算される、ステップと、
    前記推定されるTPヘッドルームが前記TPヘッドルーム条件を満たさない場合に、前記オープンされているTCP接続へ前記HTTP要求を出すステップと
    含む、方法。
  2. 前記URLホストおよび前記1つまたは複数のサブリソースホストの各々に対する、少なくとも1つのTCP接続を確立するステップ
    をさらに含む、請求項1に記載の方法。
  3. DNSルックアップを待ち行列に入れるステップ
    をさらに含む、請求項2に記載の方法。
  4. 前記URLに対するウェブページが完全にロードされた時に、前記ホストデータベースを更新するステップ
    をさらに含む、請求項3に記載の方法。
  5. HTMLファイルが解析された後に、ダウンロードされるべき残りのオブジェクトを予測するステップをさらに含む、請求項3に記載の方法。
  6. TCP再送信タイムアウト(RTO)がTCP RTOの条件を満たすかどうかを判定するステップと、
    前記TCP RTOが前記TCP RTOの条件を満たさない場合に、既存のTCP接続へ前記HTTP要求を出すステップと
    をさらに含む、請求項1に記載の方法。
  7. 前記TCP RTOが前記TCP RTOの条件を満たす場合に、新たなTCP接続をオープンするステップ
    をさらに含む、請求項6に記載の方法。
  8. 前記TCPウィンドウ利用率が前記TCPウィンドウ利用率の条件を満たさない場合に、既存のTCP接続へ前記HTTP要求を出すステップ
    をさらに含む、請求項7に記載の方法。
  9. ハイパーテキスト伝送プロトコル(HTTP)要求の一部として、uniform resource locator (URL)を受信するための手段と、
    前記URLによってホストデータベースを検索するための手段と、
    前記URLに対するホストデータが利用可能かどうかを判定するための手段と、
    前記URLに対する前記ホストデータに記録された、URLホストおよび1つまたは複数のサブリソースホストに対してドメイン名サービス(DNS)ルックアップを実行するための手段であって、すべてのDNSルックアップが、メインリソースがロードされる前に、前記URLに対するホストデータが利用可能な時に、実質的に同時に並行に開始される、手段と、
    伝送制御プロトコル(TCP)接続がオープンされているかどうかを判定するための手段と、
    前記TCP接続がオープンされている場合に、ホストがHTTPバージョン1.1以上のバージョンで動作しているかどうかを判定するための手段と、
    推定されるスループット(TP)ヘッドルームがTPヘッドルームの条件を満たすかどうかを判定するための手段であって、前記TPヘッドルームが、モバイルデバイスの速さ、最大のスループット、および現在のスループットの関数として計算される、手段と、
    前記推定されるTPヘッドルームが前記TPヘッドルームの条件を満たさない場合に、前記オープンされているTCP接続へ前記HTTP要求を出すための手段と
    含む、デバイス。
  10. 前記URLホストおよび前記1つまたは複数のサブリソースホストの各々に対する、少なくとも1つの接続を確立するための手段
    をさらに含む、請求項9に記載のデバイス。
  11. DNSルックアップを待ち行列に入れるための手段
    をさらに含む、請求項10に記載のデバイス。
  12. HTMLファイルが解析された後に、ダウンロードされるべき残りのオブジェクトを予測するための手段をさらに含む、請求項11に記載のデバイス。
  13. 前記URLに対するウェブページが完全にロードされた時に、前記ホストデータベースを更新するための手段
    をさらに含む、請求項9に記載のデバイス。
  14. TCP再送信タイムアウト(RTO)がTCP RTOの条件を満たすかどうかを判定するための手段と、
    前記TCP RTOが前記TCP RTOの条件を満たさない場合に、既存のTCP接続へ前記HTTP要求を出すための手段と
    をさらに含む、請求項9に記載のデバイス。
  15. 前記TCP RTOが前記TCP RTOの条件を満たす場合に、新たなTCP接続をオープンするための手段
    をさらに含む、請求項14に記載のデバイス。
  16. 前記TCPウィンドウ利用率が前記TCPウィンドウ利用率の条件を満たす場合に、新たなTCP接続をオープンするための手段と、
    前記TCPウィンドウ利用率が前記TCPウィンドウ利用率の条件を満たさない場合に、既存のTCP接続へ前記HTTP要求を出すための手段と
    をさらに含む、請求項15に記載のデバイス。
  17. メモリと、
    前記メモリにアクセス可能なプロセッサと
    を含むデバイスであって、前記プロセッサが、
    ハイパーテキスト伝送プロトコル(HTTP)要求の一部として、uniform resource locator (URL)を受信し、
    前記URLによってホストデータベースを検索し、
    前記URLに対するホストデータが利用可能かどうかを判定し、
    前記URLに対する前記ホストデータに記録された、URLホストおよび1つまたは複数のサブリソースホストに対してドメイン名サービス(DNS)ルックアップを実行し、このとき、すべてのDNSルックアップが、メインリソースがロードされる前に、前記URLに対するホストデータが利用可能な時に、実質的に同時に並行に開始され、
    伝送制御プロトコル(TCP)接続がオープンされているかどうかを判定し、
    前記TCP接続がオープンされている場合に、ホストがHTTPバージョン1.1以上のバージョンで動作しているかどうかを判定し、
    推定されるスループット(TP)ヘッドルームがTPヘッドルームの条件を満たすかどうかを判定し、このとき、前記TPヘッドルームが、モバイルデバイスの速さ、最大のスループット、および現在のスループットの関数として計算され、
    前記推定されるTPヘッドルームが前記TPヘッドルームの条件を満たさない場合に、前記オープンされているTCP接続へ前記HTTP要求を出す
    ように動作可能である、デバイス。
  18. 前記プロセッサが、
    前記URLホストおよび前記1つまたは複数のサブリソースホストの各々に対する、TCP接続を確立する
    ようにさらに動作可能である、請求項17に記載のデバイス。
  19. 前記プロセッサが、
    DNSルックアップを待ち行列に入れる
    ようにさらに動作可能である、請求項18に記載のデバイス。
  20. 前記プロセッサが、
    HTMLファイルが解析された後に、ダウンロードされるべき残りのオブジェクトを予測する
    ようにさらに動作可能である、請求項19に記載のデバイス。
  21. 前記プロセッサが、
    前記URLに対するウェブページが完全にロードされた時に、前記ホストデータベースを更新する
    ようにさらに動作可能である、請求項19に記載のデバイス。
  22. 前記プロセッサが、
    TCP再送信タイムアウト(RTO)がTCP RTOの条件を満たすかどうかを判定し、
    前記TCP RTOが前記TCP RTOの条件を満たさない場合に、既存のTCP接続へ前記HTTP要求を出す
    ようにさらに動作可能である、請求項17載のデバイス。
  23. 前記プロセッサが、
    前記TCP RTOが前記TCP RTOの条件を満たす場合に、新たなTCP接続をオープンし、
    前記TCP RTOが前記TCP RTOの条件を満たさない場合に、TCPウィンドウ利用率がTCPウィンドウ利用率の条件を満たすかどうかを判定する
    ようにさらに動作可能である、請求項22に記載のデバイス。
  24. 前記プロセッサが、
    前記TCPウィンドウ利用率が前記TCPウィンドウ利用率の条件を満たす場合に、新たなTCP接続をオープンし、
    前記TCPウィンドウ利用率が前記TCPウィンドウ利用率の条件を満たさない場合に、既存のTCP接続へ前記HTTP要求を出す
    ようにさらに動作可能である、請求項23に記載のデバイス。
  25. ワイヤレスポータブルコンピューティングデバイスのために伝送制御プロトコル(TCP)接続を確立するための、コンピュータにより実行可能な命令からなるコンピュータプログラムであって、
    ハイパーテキスト伝送プロトコル(HTTP)要求の一部として、uniform resource locator (URL)を受信するための少なくとも1つの命令と、
    前記URLによってホストデータベースを検索するための少なくとも1つの命令と、
    前記URLに対するホストデータが利用可能かどうかを判定するための少なくとも1つの命令と、
    前記URLに対する前記ホストデータに記録された、URLホストおよび1つまたは複数のサブリソースホストに対してドメイン名サービス(DNS)ルックアップを実行するための少なくとも1つの命令であって、すべてのDNSルックアップが、メインリソースがロードされる前に、前記URLに対するホストデータが利用可能な時に、実質的に同時に並行に開始される、命令と、
    伝送制御プロトコル(TCP)接続がオープンされているかどうかを判定するための少なくとも1つの命令と、
    前記TCP接続がオープンされている場合に、ホストがHTTPバージョン1.1以上のバージョンで動作しているかどうかを判定するための少なくとも1つの命令と、
    推定されるスループット(TP)ヘッドルームがTPヘッドルームの条件を満たすかどうかを判定するための少なくとも1つの命令であって、前記TPヘッドルームが、モバイルデバイスの速さ、最大のスループット、および現在のスループットの関数として計算される、命令と、
    前記推定されるTPヘッドルームが前記TPヘッドルームの条件を満たさない場合に、前記オープンされているTCP接続へ前記HTTP要求を出すための少なくとも1つの命令と
    含む、コンピュータプログラム。
  26. 前記URLホストおよび前記1つまたは複数のサブリソースホストの各々に対する、少なくとも1つの接続を確立するための少なくとも1つの命令
    をさらに含む、請求項25に記載のコンピュータプログラム。
  27. DNSルックアップを待ち行列に入れるための少なくとも1つの命令
    をさらに含む、請求項26に記載のコンピュータプログラム。
  28. 前記URLに対するウェブページが完全にロードされた時に、前記ホストデータベースを更新するための少なくとも1つの命令
    をさらに含む、請求項27に記載のコンピュータプログラム。
  29. 伝送制御プロトコル(TCP)接続がオープンされているかどうかを判定するための少なくとも1つの命令と、
    前記TCP接続がオープンされている場合に、ホストがHTTPバージョン1.1以上のバージョンで動作しているかどうかを判定するための少なくとも1つの命令と
    をさらに含む、請求項28に記載のコンピュータプログラム。
  30. TCP再送信タイムアウト(RTO)がTCP RTOの条件を満たすかどうかを判定するための少なくとも1つの命令と、
    前記TCP RTOが前記TCP RTOの条件を満たさない場合に、既存のTCP接続へ前記HTTP要求を出すための少なくとも1つの命令と
    をさらに含む、請求項29に記載のコンピュータプログラム。
  31. 前記TCP RTOが前記TCP RTOの条件を満たす場合に、新たなTCP接続をオープンするための少なくとも1つの命令
    をさらに含む、請求項30に記載のコンピュータプログラム。
  32. 前記TCPウィンドウ利用率が前記TCPウィンドウ利用率の条件を満たさない場合に、既存のTCP接続へ前記HTTP要求を出すための少なくとも1つの命令
    をさらに含む、請求項31に記載のコンピュータプログラム。
JP2013531577A 2010-09-28 2011-07-26 伝送制御プロトコル接続を確立するシステムおよび方法 Expired - Fee Related JP5662582B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/892,214 US8909732B2 (en) 2010-09-28 2010-09-28 System and method of establishing transmission control protocol connections
US12/892,214 2010-09-28
PCT/US2011/045301 WO2012044393A1 (en) 2010-09-28 2011-07-26 System and method of establishing transmission control protocol connections

Publications (2)

Publication Number Publication Date
JP2013546041A JP2013546041A (ja) 2013-12-26
JP5662582B2 true JP5662582B2 (ja) 2015-02-04

Family

ID=44511517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013531577A Expired - Fee Related JP5662582B2 (ja) 2010-09-28 2011-07-26 伝送制御プロトコル接続を確立するシステムおよび方法

Country Status (6)

Country Link
US (1) US8909732B2 (ja)
EP (1) EP2622823B1 (ja)
JP (1) JP5662582B2 (ja)
KR (1) KR101436956B1 (ja)
CN (1) CN103125108B (ja)
WO (1) WO2012044393A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577961B2 (en) * 2010-01-28 2013-11-05 Qualcomm Innovation Center, Inc. Methods and apparatus for obtaining content with reduced access times
US9369487B2 (en) * 2013-02-21 2016-06-14 Fastly Inc. Dynamic secure packet block sizing
CN105488175B (zh) * 2015-12-01 2019-02-12 福建天晴数码有限公司 一种提高页面内容显示速度的方法及系统
CN105550338B (zh) * 2015-12-23 2018-11-23 北京大学 一种基于HTML5应用缓存的移动Web缓存优化方法
EP3371961A1 (en) * 2016-01-13 2018-09-12 Samsung Electronics Co., Ltd. Method and system to decrease page load time by leveraging network latency
CN106131907B (zh) * 2016-08-23 2019-07-30 广州慧睿思通信息科技有限公司 一种基于软件切换多制式小区搜索方法
EP3381158B1 (en) 2016-10-17 2021-03-10 Google LLC Machine learning based identification of broken network connections
US10826870B2 (en) * 2019-03-21 2020-11-03 Wangsu Science & Technology Co., Ltd. Method, device and server for processing access request

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4004A (en) * 1845-04-16 Wooden bbidge
US8022A (en) * 1851-04-08 Sawing-machine
US6751777B2 (en) * 1998-10-19 2004-06-15 International Business Machines Corporation Multi-target links for navigating between hypertext documents and the like
US6928471B2 (en) 2001-05-07 2005-08-09 Quest Software, Inc. Method and apparatus for measurement, analysis, and optimization of content delivery
US20020198962A1 (en) * 2001-06-21 2002-12-26 Horn Frederic A. Method, system, and computer program product for distributing a stored URL and web document set
US7206932B1 (en) * 2003-02-14 2007-04-17 Crystalvoice Communications Firewall-tolerant voice-over-internet-protocol (VoIP) emulating SSL or HTTP sessions embedding voice data in cookies
US8015259B2 (en) * 2002-09-10 2011-09-06 Alan Earl Swahn Multi-window internet search with webpage preload
US7389330B2 (en) * 2002-09-11 2008-06-17 Hughes Network Systems, Llc System and method for pre-fetching content in a proxy architecture
US8233392B2 (en) * 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US20050015434A1 (en) * 2003-04-29 2005-01-20 Yu He Mobile device with surrogate access to the internet and other networks
US20050210122A1 (en) 2004-03-22 2005-09-22 Qualcomm Incorporated HTTP acceleration over a network link
CN1957579A (zh) * 2004-03-22 2007-05-02 高通股份有限公司 网络链路上的http加速
JP2007006214A (ja) 2005-06-24 2007-01-11 Nippon Telegr & Teleph Corp <Ntt> リソース情報検索システム、リゾルバ及びプログラム
US7730187B2 (en) 2006-10-05 2010-06-01 Limelight Networks, Inc. Remote domain name service
US20070204223A1 (en) * 2006-02-27 2007-08-30 Jay Bartels Methods of and systems for personalizing and publishing online content
JP2008022157A (ja) 2006-07-11 2008-01-31 Murata Mach Ltd ネットワーク端末及びネットワーク複合機
US20080208961A1 (en) 2007-02-23 2008-08-28 Hostway Corporation Parallel retrieval system
US7584294B2 (en) 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
CN101682621B (zh) * 2007-03-12 2014-07-09 思杰系统有限公司 用于高速缓存操作的系统和方法
US8412767B2 (en) * 2007-07-18 2013-04-02 Network Solutions Inc. Mobile content service
US8131799B2 (en) * 2008-08-26 2012-03-06 Media Stamp, LLC User-transparent system for uniquely identifying network-distributed devices without explicitly provided device or user identifying information
US8725727B2 (en) * 2008-09-24 2014-05-13 Sony Corporation System and method for determining website popularity by location
US9268871B2 (en) 2008-10-16 2016-02-23 Qualcomm Incorporated Methods and apparatus for obtaining content with reduced access times
US8359402B2 (en) * 2008-11-19 2013-01-22 Seachange International, Inc. Intercept device for providing content
US8577961B2 (en) 2010-01-28 2013-11-05 Qualcomm Innovation Center, Inc. Methods and apparatus for obtaining content with reduced access times

Also Published As

Publication number Publication date
WO2012044393A1 (en) 2012-04-05
CN103125108B (zh) 2015-10-07
CN103125108A (zh) 2013-05-29
KR101436956B1 (ko) 2014-09-02
US20120079060A1 (en) 2012-03-29
JP2013546041A (ja) 2013-12-26
EP2622823B1 (en) 2014-07-16
EP2622823A1 (en) 2013-08-07
US8909732B2 (en) 2014-12-09
KR20130076881A (ko) 2013-07-08

Similar Documents

Publication Publication Date Title
KR101554398B1 (ko) 도메인 네임 서버 프리페칭 수행의 시스템 및 방법
JP5662582B2 (ja) 伝送制御プロトコル接続を確立するシステムおよび方法
JP5878614B2 (ja) ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのシステムおよび方法
CN111937364B (zh) 无线网络系统中处理数据路径创建的方法和系统
US10499314B2 (en) Method and system for facilitating wireless communication via alternate communication pathway
US20140113622A1 (en) Method and System for Facilitating Wireless Communication Via Alternate Communication Pathway
CN104349509A (zh) 移动装置及通信控制方法
Qian et al. Optimization of webpage downloading performance with content-aware mobile edge computing
JP2013251811A (ja) 携帯端末、ベアラ選択方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140627

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: 20141110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141204

R150 Certificate of patent or registration of utility model

Ref document number: 5662582

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

LAPS Cancellation because of no payment of annual fees