JP6109202B2 - 共有メタ情報に基づくウェブページの協調的ローディング - Google Patents

共有メタ情報に基づくウェブページの協調的ローディング Download PDF

Info

Publication number
JP6109202B2
JP6109202B2 JP2014558797A JP2014558797A JP6109202B2 JP 6109202 B2 JP6109202 B2 JP 6109202B2 JP 2014558797 A JP2014558797 A JP 2014558797A JP 2014558797 A JP2014558797 A JP 2014558797A JP 6109202 B2 JP6109202 B2 JP 6109202B2
Authority
JP
Japan
Prior art keywords
mobile computing
computing device
web page
server
manifest
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
JP2014558797A
Other languages
English (en)
Other versions
JP2015513144A (ja
JP2015513144A5 (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 JP2015513144A publication Critical patent/JP2015513144A/ja
Publication of JP2015513144A5 publication Critical patent/JP2015513144A5/ja
Application granted granted Critical
Publication of JP6109202B2 publication Critical patent/JP6109202B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3325Reformulation based on results of preceding query
    • G06F16/3326Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Description

関連出願
本出願は、両出願の内容全体が参照により本明細書に組み込まれている、2012年2月24日に出願された「Cooperative Loading of Webpages Based on Crowd Sourced Meta Information」という名称の米国仮特許出願第61/602777号および2012年4月9日に出願された「Cooperative Loading of Webpages Based on Crowd Sourced Meta Information」という名称の米国仮特許出願第61/621629号の優先権の利益を主張する。
セルラー通信技術およびワイヤレス通信技術は、過去数年の間に爆発的な発展をとげてきた。この発展は、より優れた通信ハードウェア、より大きいネットワークおよびより信頼できるプロトコルによって促進されている。ワイヤレスサービスプロバイダは現在、向上し続ける多数の機能およびサービスを顧客に提供し、かつユーザがかつてない程度に情報、リソースおよび通信を利用するのを可能にすることができる。これらのサービスの向上に遅れをとらないように、モバイル電子デバイス(たとえば、携帯電話、スマートフォン、タブレット、ラップトップなど)は、これまでにないほど高速にかつ有効になっている。しかしながら、このような向上にもかかわらず、モバイルデバイスは依然として、動作が遅く見えることがある。
現代のモバイル電子機器において使用されるモバイルデバイスハードウェア(たとえば、プロセッサおよびワイヤレスモデム)は現在、目覚ましい機能を有する。しかしながら、ウェブベースのソフトウェアアプリケーション(たとえば、ウェブブラウザ)は利用可能な通信帯域幅の大部分を消費し、それによってモバイルデバイス全体の動作が遅く見える。これは、3Gまたは4Gなどの通信ネットワークを介してウェブページをロードする際に最も明らかである。このような低速の通信はデバイスリソースを滞らせ、ユーザの経験に悪影響を与える。したがって、ページロード、ウェブアプリケーション、およびネットワーク通信の効率および速度を向上させることは、モバイルデバイス製造業者にとって重要な設計基準である。
様々な態様には、サーバによって供給されるウェブページマニフェストに基づいてモバイルコンピューティングデバイスによるウェブページのレンダリングをサポートするための方法が含まれる。一態様では、この方法は、ウェブページを処理することに関するメタ情報を複数のモバイルコンピューティングデバイス上で生成し、生成されたメタ情報を複数のモバイルコンピューティングデバイスの各々からサーバに送信し、各ウェブページを処理する際に使用されるユーザエージェントを特定することと、生成されたメタ情報をサーバにおいて受信することと、複数のモバイルコンピューティングデバイスから受信されたメタ情報に基づいて各ウェブページおよび各ユーザエージェントについてマニフェストを生成することと、マニフェストを使用して、ユーザエージェントによってウェブページをモバイルコンピューティングデバイス上にロードするのに必要なリソースに優先順位を割り当てることと、リソースに割り当てられた優先順位に基づいて決定された順序でモバイルコンピューティングデバイス上でリソースを受信することと、モバイルコンピューティングデバイス上でウェブページをレンダリングすることとを含んでよい。一態様では、この方法は、モバイルコンピューティングデバイスが、ウェブページのレンダリング時に生成されたメタ情報をサーバに送信することを含んでよい。他の態様では、この方法は、ウェブページおよびモバイルコンピューティングデバイス上に実装されたユーザエージェントを特定する情報をサーバに送信することと、ウェブページおよびモバイルコンピューティングデバイス上に実装されたユーザエージェントに関するマニフェストを取得することと、取得されたマニフェストをモバイルコンピューティングデバイスに送信することと、マニフェストをモバイルコンピューティングデバイス上に記憶された情報と比較することによってウェブページをモバイルコンピューティングデバイス上にロードするのに必要なリソースをモバイルコンピューティングデバイスにおいて特定することと、モバイルコンピューティングデバイスにおいて、マニフェストに基づいて、特定されたリソースに優先順位を割り当てることとを含んでもよい。さらなる態様では、この方法は、モバイルコンピューティングデバイスがモバイルコンピューティングデバイスによってマニフェストに基づいて決定された順序で第2のサーバからリソースをダウンロードすることを要求することを含んでよい。さらなる態様では、この方法は、モバイルコンピューティングデバイスに関する情報をサーバに送信することと、ウェブページおよびモバイルコンピューティングデバイス上に実装されたユーザエージェントに関するマニフェストを取得することと、サーバにおいて、取得されたマニフェストをモバイルコンピューティングデバイスに関する情報と比較することと、サーバにおいて、ウェブページをモバイルコンピューティングデバイス上にロードするのに必要なリソースの優先順位および適切なオブジェクトフォーマットを特定することと、ウェブページをモバイルコンピューティングデバイス上にロードするのに必要なリソースの特定された優先順位および適切なオブジェクトフォーマットをモバイルコンピューティングデバイスに送信することとを含んでよい。さらなる態様では、この方法は、サーバが、サーバによってマニフェストに基づいて決定された順序でモバイルコンピューティングデバイスにリソースをプッシュすることを含んでよい。さらなる態様では、この方法は、サーバがリソースをモバイルコンピューティングデバイスの所望のフォーマットにコード変換することを含んでよい。
さらなる態様では、モバイルコンピューティングデバイスによるウェブページのレンダリングをサポートする方法は、様々な種類のユーザエージェントを使用してウェブページを処理することに関するメタ情報をサーバ上で生成することと、生成されたメタ情報に基づいてユーザエージェントの種類ごとにウェブページのマニフェストを生成することと、マニフェストを使用して、ユーザエージェントによってウェブページをモバイルコンピューティングデバイス上にロードするのに必要なリソースに優先順位を割り当てることと、リソースに割り当てられた優先順位に基づいて決定された順序でモバイルコンピューティングデバイス上でリソースを受信することと、モバイルコンピューティングデバイス上でウェブページをレンダリングすることとを含んでよい。さらなる態様では、この方法は、モバイルコンピューティングデバイスが、ウェブページのレンダリング時に生成されたメタ情報をサーバに送信することを含んでよい。さらなる態様では、この方法は、マニフェストをモバイルコンピューティングデバイスに関する情報によって評価できるようにモバイルコンピューティングデバイスに送信することと、モバイルコンピューティングデバイスにおいて、ウェブページをモバイルコンピューティングデバイス上にロードするのに必要なリソースをモバイルコンピューティングデバイスにおいて特定することと、モバイルコンピューティングデバイスにおいて、特定されたリソースに優先順位を割り当てることとを含んでよい。さらなる態様では、この方法は、モバイルコンピューティングデバイスがモバイルコンピューティングデバイスによってマニフェストに基づいて決定された順序で第2のサーバからリソースをダウンロードすることを要求することを含んでよい。さらなる態様では、この方法は、モバイルコンピューティングデバイスに関する情報をサーバに送信することと、ウェブページおよびモバイルコンピューティングデバイス上に実装されたユーザエージェントに関するマニフェストを取得することと、サーバにおいて、取得されたマニフェストをモバイルコンピューティングデバイスに関する情報と比較することと、サーバにおいて、ウェブページをモバイルコンピューティングデバイス上にロードするのに必要なリソースの優先順位および適切なオブジェクトフォーマットを特定することと、ウェブページをモバイルコンピューティングデバイス上にロードするのに必要なリソースの特定された優先順位および適切なオブジェクトフォーマットをモバイルコンピューティングデバイスに送信することとを含んでよい。さらなる態様では、この方法は、サーバが、サーバによってマニフェストに基づいて決定された順序でモバイルコンピューティングデバイスにリソースをプッシュすることを含んでよい。さらなる態様では、この方法は、サーバがリソースをモバイルコンピューティングデバイスの所望のフォーマットにコード変換することを含んでよい。
様々な態様には、メモリとメモリに結合されたプロセッサとを有するモバイルコンピューティングデバイスであって、プロセッサが、ウェブページおよびモバイルコンピューティングデバイス上に実装されたユーザエージェントを特定する情報をサーバに送信すること、ウェブページおよびモバイルコンピューティングデバイス上に実装されたユーザエージェントに関するマニフェストをサーバから受信することと、マニフェストをモバイルコンピューティングデバイス上に記憶された情報と比較することによってウェブページをロードするのに必要なリソースを特定することと、マニフェストに基づいて、特定されたリソースに優先順位を割り当てることと、リソースに割り当てられた優先順位に基づいて決定された順序でリソースを受信することと、ウェブページをレンダリングすることとを含む動作を実行するためのプロセッサ実行可能命令を有するように構成されたモバイルコンピューティングデバイスを含めてよい。さらなる態様では、モバイルコンピューティングデバイスプロセッサは、マニフェストに基づく順序での第2のサーバからのリソースのダウンロードを要求し、かつ/またはウェブページのレンダリング時に生成されたメタ情報をサーバに送信するためのプロセッサ実行可能命令を有するように構成されてもよい。
様々な態様には、モバイルコンピューティングデバイスにおいて実施される上述の方法の機能を実現するための手段を含むモバイルコンピューティングデバイスを含めてよい。様々な実施形態には、プロセッサに、モバイルコンピューティングデバイスにおいて実施される上述の方法の動作を実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体を含めてもよい。
様々な態様には、メモリとメモリに結合されたサーバプロセッサとを有するサーバであって、プロセッサが、様々な種類のユーザエージェントを使用してウェブページを処理することに関するメタ情報を収集することと、収集されたメタ情報に基づいてユーザエージェントの種類ごとにウェブページのマニフェストを生成することと、マニフェストを使用して、ユーザエージェントによってウェブページをモバイルコンピューティングデバイス上にロードするのに必要なリソースに優先順位を割り当てることと、リソースに割り当てられた優先順位に基づいて決定された順序でモバイルコンピューティングデバイスにリソースを送信することとを含む動作を実行するためのサーバプロセッサ実行可能命令を有するように構成されたサーバを含めてよい。さらなる態様では、サーバプロセッサは、マニフェストをモバイルコンピューティングデバイスに関する情報によって評価できるようにモバイルコンピューティングデバイスに送信することを含む動作を実行するためのサーバプロセッサ実行可能命令を有するように構成されてよい。さらなる態様では、サーバプロセッサは、ウェブページのレンダリング時に生成されたメタ情報をモバイルコンピューティングデバイスから受信することを含む動作を実行するためのサーバプロセッサ実行可能命令を有するように構成されてよい。さらなる態様では、サーバプロセッサは、様々な種類のユーザエージェントを使用してウェブページを処理することに関するメタ情報をサーバ上で生成することを含む動作を実行するためのサーバプロセッサ実行可能命令を有するように構成されてよい。さらなる態様では、サーバプロセッサは、様々な種類のユーザエージェントを使用してウェブページを処理することに関するメタ情報を複数のモバイルコンピューティングデバイスから受信することを含む動作を実行するためのサーバプロセッサ実行可能命令を有するように構成されてよい。さらなる態様では、サーバプロセッサは、モバイルコンピューティングデバイスに関する情報を受信することと、マニフェストを使用して受信された情報を評価することと、ウェブページをモバイルコンピューティングデバイス上にロードするのに必要なリソースの優先順位および適切なオブジェクトフォーマットを特定することと、ウェブページをモバイルコンピューティングデバイス上にロードするのに必要なリソースの特定された優先順位および適切なオブジェクトフォーマットをモバイルコンピューティングデバイスに送信することとを含む動作を実行するためのサーバプロセッサ実行可能命令を有するように構成されてよい。さらなる態様では、サーバプロセッサは、マニフェストに基づく順序でリソースをモバイルコンピューティングデバイスにプッシュすることを含む動作を実行するためのサーバプロセッサ実行可能命令を有するように構成されてよい。さらなる態様では、サーバプロセッサは、リソースをモバイルコンピューティングデバイスの所望のフォーマットにコード変換することを含む動作を実行するためのサーバプロセッサ実行可能命令を有するように構成されてよい。
様々な態様には、サーバにおいて実施される上述の方法の機能を実現するための手段を含むサーバを含めてよい。様々な実施形態には、サーバプロセッサに、サーバにおいて実施される上述の方法の動作を実行させるように構成されたサーバプロセッサ実行可能命令を記憶した非一時的サーバ可読記憶媒体を含めてよい。
様々な態様には、サーバにおいて実施される上述の方法の動作を実行するように構成されたサーバと、モバイルコンピューティングデバイスにおいて実施される上述の方法の動作を実行するように構成された複数のモバイルコンピューティングデバイスとを含み得る通信システムを含めてもよい。
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な態様を示し、上記の全般的な説明および下記の発明を実施するための形態とともに、本発明の特徴を説明するのに役立つ。
様々な態様において使用するのに適したモバイルマルチメディア通信システムを示す通信システムのブロック図である。 一態様によるウェブページに関するマニフェストの例示的な構造を示す構造図である。 一態様による単一プロキシ構成内の例示的な情報フローを示すネットワーク図である。 一態様によるクラウドソーシングサーバ構成内の例示的な情報フローを示すネットワーク図である。 一態様による、マニフェストを作成し利用してページロードを加速するためのクラウドソーシング方法の流れ図である。 一態様による、マニフェストを作成し利用してページロードを加速するためのクラウドソーシング方法の処理流れ図である。 一態様によるサーバソーシングサーバ構成内の例示的な情報フローを示すネットワーク図である。 一態様による、マニフェストを作成し利用してページロードを加速するためのサーバソーシング方法の処理流れ図である。 ページロードを加速するためのサーバ中心態様方法における情報フローを示す通信図である。 サーバ中心構成においてページロードを加速するための別の態様方法における情報フローを示す通信図である。 サーバ中心構成においてページロードを加速するためのさらに別の態様方法における情報フローを示す通信図である。 どんなコンテンツをダウンロードすべきかおよびオブジェクトをダウンロードすべき順序に関する決定がクライアントによって下されるクライアント中心構成においてページロードを加速するための態様方法における情報フローを示す通信図である。 クライアント中心構成においてページロードを加速するための別の態様方法における情報フローを示す通信図である。 サーバ中心実装形態においてページロードを加速するためのクライアント態様方法の処理流れ図である。 サーバ中心実装形態においてページロードを加速するためのサーバ態様方法の処理流れ図である。 クライアント中心実装形態においてページロードを加速するためのクライアント態様方法の処理流れ図である。 クライアント中心実装形態においてページロードを加速するためのサーバ態様方法の処理流れ図である。 様々な態様とともに使用するのに適切な、モバイルコンピューティングデバイスのコンポーネントブロック図である。 様々な態様とともに使用するのに適したサーバコンピューティングデバイスのコンポーネントブロック図である。 様々な態様に使用するのに適したノートブックコンピューティングデバイスのコンポーネントブロック図である。
様々な態様について添付の図面を参照して詳細に説明する。可能な場合はいつでも、同じ参照番号は、図面全体を通して同じまたは同様の部分を指すために使用される。特定の例および実装形態に行われる参照は、説明を目的とし、本発明の範囲または特許請求の範囲を限定するものではない。
「例示的な」という言葉は、「例、実例、または例示として機能すること」を意味するために本明細書で使用される。本明細書で「例示的」として説明されるいかなる実装形態も、必ずしも他の実装形態よりも有利であると解釈されるべきではない。
本明細書で使用される「コンピューティングデバイス」、「モバイルコンピューティングデバイス」、「モバイルデバイス」、および「ハンドヘルドデバイス」という用語は、セルラー電話、携帯情報端末(PDA)、パームトップコンピュータ、ワイヤレス電子メール受信機、スマートフォン、全地球測位システム(GPS)受信機、ワイヤレスゲームコントローラ、タブレットコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、ワイヤレス電子メールデバイス、スマートテレビジョン、スマート自動車コンソール、ならびに、プログラマブルプロセッサおよびメモリを含み通信ネットワークと通信するようにウェブブラウザアプリケーションを備える同様の電子デバイスのうちの、いずれか1つまたはすべてを指す。
本明細書で使用される「コンピュータ」、「パーソナルコンピュータ」、および「コンピューティングデバイス」という用語は、既知の、または今後開発される任意のプログラマブルコンピュータシステムを指す。ある態様では、コンピュータは、本明細書で説明されるようなネットワークに結合される。コンピュータシステムは、本明細書で説明される処理および動作を実行するためのソフトウェア命令を有するように構成され得る。
本明細書で使用される「コンポーネント」、「モジュール」、「プラットフォーム」、「システム」などの用語は、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例として、サーバ上で実行されるアプリケーションとそのサーバの両方が、コンポーネントであり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッドの中に存在してよく、1つのコンポーネントは、1つのコンピュータに局在してよく、かつ/または2つ以上のコンピュータに分散してよい。
様々な態様は、ユーザが要求アクションを行ってから、本明細書ではクライアントと呼ぶモバイルコンピューティングデバイス上でコンテンツがレンダリングされるまでの時間を短縮する改良されたウェブブラウジング方法を提供する。様々な態様は、ウェブページの機能を変更することもまたは限定することもなくネットワーク効率、クライアント電力効率、ページロード速度を向上させることができる。いくつかの態様は、ネットワーク上で一方のクライアントが他方のクライアントの通信速度を(たとえばサーバ調整によって)向上させるのを可能にするクラウドソーシングおよび/またはサーバヒンティング(どちらも分散コンピューティングの形態)技術を使用するために使用することのできるメタ情報をクライアントとサーバの両方が収集し交換するのを可能にし得る。他の態様では、サーバは独立にかつ周期的にウェブページにアクセスすることによってメタ情報を収集し(すなわち、「サーバソーシング」)、情報をクライアントに供給してネットワーク通信性能を向上させることができる。
3G/4Gネットワークを介してウェブページをロードした場合、通常は有線ネットワークおよびローカルエリアネットワークを介してロードする場合よりも低速になる。これは、往復時間が長いこと(たとえば、RTTが200msから500msまで)、リソースが特定のウェブページ上で反復的に発見されること、リソース依存性、帯域幅が限定され非対称であること、アップリンク(UL)がダウンリンク(DL)よりも厳しく制約されること、ならびに信号強度、干渉、およびその他の関連因子の変化によってネットワーク状態が変動することに一部起因する。
概して、ページロード時のブラウザの挙動では、限定された1組の動作が繰り返し実行される。そのような反復的な動作には、コンテンツおよびコードをダウンロードすること、コードをコンパイルすること、オブジェクトをフェッチして実行すること、および実行される新しいオブジェクトを反復的に発見することが含まれる。これらの動作は非効率的であり、これらの動作を低速の電気通信ネットワーク上で繰り返し実行すると、エンドツーエンドページロード時間が長くなり、ユーザエクスペリエンスが低下することがある。
HTTPを使用して、特にRTTが高い3G/4Gネットワークを介してサーバからオブジェクトを1つずつフェッチすることは非効率的である。各オブジェクトをフェッチするには往復通信遅延が必要になることがあり、ウェブページ内のすべてのオブジェクトをダウンロードする場合、複数回の往復が行われることがある。さらに、要求同士が互いに依存することがあり、すべてのオブジェクト要求を同時に送ることができるとは限らない。さらに、特定のオブジェクトを処理すると、元のHTMLページ(たとえば、External Java(登録商標)scripts(登録商標))の一部ではなかった新しいオブジェクトが生成されることがあり、ブラウザが追加のオブジェクトを強制的にダウンロードさせられ、ページロード時間および/または往復時間がさらに長くなることがある。ドメインネームサービス(DNS)解決およびユニフォームリソースロケータ(URL)出力先変更などの動作がオーバヘッド遅延を付加し、それによってページロード時間および/または往復時間がさらに長くなることがある。ページロード速度およびブラウザ性能を向上させるための既存の解決手段では、これらの因子に対処できないか、あるいは非効率的であり、無効であり、かつ/または場合によっては不十分である。様々な態様では、上述の因子の影響が解消または軽減され、それによってネットワーク効率およびページロード速度が向上する。
既存の解決手段は、ウェブページをレンダリングする際にクライアントをどのように助けるかについてのすべての決定を下すうえで完全にサーバに依存するか、またはある形態のクライアントベースのキャッシング(たとえば、ディスクキャッシング)を使用する。ディスクキャッシュは要求の総数を低減させるのを助けることができるが、すべてのオブジェクトがキャッシュされることまたは場合によってはキャッシュ可能であることが保証されるとは限らない。サーバ側から性能を向上させるには、ウェブサイトがサーバプッシュ技術を使用してリソースを配信することができる。しかしながら、クライアントの知識もネットワーク状態の知識もなしにサーバプッシュを実行すると、最適な性能が得られなくなる。その理由は、サーバプッシュによって、クライアントがすでにメモリに記憶しているオブジェクトがプッシュされることがあるからである。
特定のウェブブラウザ(たとえば、Opera(登録商標) mini)はサーバ支援手法を使用してページをより高速にダウンロードすることができる。しかしながら、これらのブラウザは、クライアントに関するコンテンツおよびウェブページコンテンツの変更をレンダリングするうえでカスタマイズされたマークアップ言語を必要とし、その結果、ウェブページの機能を制限する(たとえば、dynamic Java(登録商標)script(登録商標)を制限する)。他のブラウザ(たとえば、Amazon(登録商標) Silk)は、クラウドリソースを使用してウェブページをより高速に処理する。しかしながら、これらのブラウザはネットワークの効率を向上させず、かつ/またはクライアントとサーバの両方から収集された情報を使用することによってウェブページの協調的なクライアント-サーバローディングをサポートすることがない。
様々な態様は、クライアントおよび/またはサーバから収集された情報から生成することができる共有メタ情報に基づくウェブページの協調的なクライアント-サーバローディングに関するプロトコルを定めることによって既存の解決手段のこれらの制限およびその他の制限を解消する。様々な態様はまた、クライアントとサーバの両方から得られた情報と一緒にネットワーク状態を考慮に入れて、全体的なページロード時間を短縮する。様々な態様は、ウェブページの機能を変更することもまたは限定することもなくネットワーク効率、モデム電力効率、ページロード速度を向上させるのを可能にする。様々な態様は、コンテンツを有するクライアントに関するネットワークおよびモバイルデバイスの知識ならびにサーバについてのクラウド認識を利用してウェブページおよびウェブアプリケーションの全体的なロード時間を短縮する。
上述のように、ページロード動作時のデフォルトブラウザ挙動では、限定された1組の動作が繰り返し実行され、エンドツーエンドページロード時間が長くなり、それによってモバイルデバイスの動作が低速に見えることがある。モバイルデバイス上でページロード動作が実行された後、ブラウザは、フェッチされたオブジェクトに関する情報にアクセスすることができるだけではなく、種類情報、サイズ情報、形式、レイアウト(たとえば、スクリーン上の画像の位置)、相互依存性、および他の同様のメタ情報を含むメタ情報にもアクセスすることができる。この情報は、同じページを同じデバイスまたは他のデバイスから2度目にロードする場合に有用である。様々な態様は、この情報を他のモバイルデバイスと共有するのを可能にして、クライアントとサーバの両方から収集されたメタ情報をネットワーク状態とともに考慮する、コンテンツをダウンロードしウェブページをレンダリングする改良された方法を実現する。
一態様では、モバイルクライアント(たとえば、モバイルデバイスウェブブラウザ)は、ウェブページをレンダリングした後、ウェブページに関するメタ情報を収集する。このメタ情報には、クライアントのユーザエージェント(UA)、オブジェクトユニフォームリソースロケータ(URL)のリスト、オブジェクト依存性、オブジェクトの種類、サイズ、レイアウト情報、および他の同様の情報を含めてよい。クライアントは、収集された情報をサーバにサブミットしてよい。サーバは、多数の異なるモバイルデバイスから複数のウェブサイトに関してメタ情報を収集し、メタ情報をマニフェストとして統合してよい(たとえば、クラウドソーシング、サーバヒンティングなどを行う)。マニフェストは、ウェブページをレンダリングするか、ウェブページにアクセスするか、またはウェブページをダウンロードするプロセスにおいてクライアントに有用な任意のそのようなメタ情報の配列であってよい。マニフェストは、ウェブページを効率的に表示するのに必要なリソースを認識し優先するためにサーバまたは複数のクライアントによって使用されてよい。一態様では、各ウェブページのマニフェストは、ウェブページにアクセスするクライアントコンピューティングデバイスによって使用されるユーザエージェント(たとえば、ブラウザアプリケーション、通信ソフトウェア)の種類または形態に基づいて様々なメタ情報を含んでよい。代替として、ユーザエージェントの種類または形態ごとに異なるマニフェストを生成してよい(すなわち、ユーザエージェント固有のマニフェスト)。サーバは、複数のウェブページ、クライアント、クライアントの種類、サーバ、およびネットワークに関するマニフェストのデータベースを更新し維持してよく、かつサーバは、サーバがユーザエージェント固有のマニフェストを維持するときおよび/またはウェブページが様々な種類(たとえば、モバイルデバイスの種類)を含むときなどに、個々のウェブページの多数のマニフェストを維持してよい。たとえば、サーバは、各マニフェストがユーザエージェントの種類に基づいて異なるメタ情報を含む、単一のウェブページのいくつかの別個のマニフェストを含むデータベースを維持してよい。一態様では、サーバはウェブページ識別情報(たとえば、ウェブページURL)および/またはユーザエージェント情報を使用して、データベース内に記憶されたマニフェストをインデックス付けしてよい。
別の態様では、サーバは、それぞれのウェブページのコンテンツを直接受信して評価することによってクライアントとは独立にウェブページのマニフェストを判定してよい。そのような態様では、サーバは、各ウェブページにアクセスしレンダリングプロセスを実行する、サーバ上で実行されるプロキシユーザエージェントを利用して、レンダリングが各種類のユーザエージェントを使用してクライアントに対して実現される場合と同様にそのユーザエージェントに有用なメタ情報を判定することができる。
様々な態様では、サーバは複数のクライアントから受信される(クラウドソーシング)かまたはサーバ自体によって生成された(サーバソーシング)新しいメタ情報に基づいてマニフェストを周期的に更新してよい。クライアントおよび/またはサーバは、ウェブページにアクセスしてページロード要件を再評価することにより、完全に新たに生成されるメタ情報として新しいメタ情報を生成するか、またはキャッシュされたマニフェストデータなどのローカルに記憶されたメタ情報とレンダリングエクスペリエンスを比較することによって新しいメタ情報を生成してよい。一態様では、サーバによって更新の頻度および/または個々のウェブページの変更に応じてケースごとにマニフェストの更新が行われてよい。たとえば、サーバは探索エンジンウェブページのマニフェストを1日に1度更新し、リアルタイムニュースサイトのマニフェストを1時間おきに何度も更新してよいが、企業エンティティまたは政府エンティティのマニフェストは1週間に1度更新すればよい。
モバイルクライアントは、ウェブページにアクセスを試みるとき、まずそのローカルキャッシュステータス、サーバのキャッシュステータス、ネットワーク状態、またはそれらの組合せを確認してよい。ネットワーク状態情報には、ネットワークに関する情報、ネットワークから収集された情報、および/または所与の要求に関して現在のネットワーク状態を利用するために使用できる情報を含めてよい。クライアントとサーバは、キャッシュ情報、ネットワーク状態、およびアクセス中の特定のウェブページに関してサーバによって維持されているメタ情報を交換してよい。クライアント、サーバ、またはその両方は、クライアントが情報をダウンロードすべき最適な順序またはサーバがリソースをクライアントにプッシュすべき最適な順序を協調して決定してよい。一態様では、ページロード動作が完了した後、モバイルクライアントがページをレンダリングすることによって生成された更新されたメタ情報を収集し、更新された情報をさらなるクラウドソーシングのためにサーバに送ってもよい。上述のプロセスは、ネットワークの性能を引き続き向上させるために必要に応じて繰り返し実行されてよい。別の態様では、クライアントは、態様においてサーバソーシングが可能であるときでもウェブページアクセスに基づいて生成されたメタ情報をサーバに送信してよい。したがって、サーバは、ウェブページマニフェストを生成する際にクラウドソーシングによるメタ情報とサーバソーシングによるメタ情報の両方にアクセスしてよい。これによって、サーバはクライアントによるフィードバックから利益を得ることができる。
このように、様々な態様は、モバイルクライアントおよびサーバがページダウンロードを加速するのを可能にし、クラウドソーシングによるページメタ情報をネットワークステータス情報とともに交換することによってネットワーク効率を向上させる。様々な態様は、ウェブページコンテンツとサーバによって蓄積されたマルチユーザ知識の両方をリソースおよびネットワークに関するクライアントの知識と組み合わせて使用して、コンテンツをモバイルデバイスに配信する方法を決定してよい。一態様では、サーバは、クライアントがクラウドソーシングのためにメタデータを送る代わりにまたはそれに加えて、コンテンツに基づいて「オンザフライ」でメタデータを算出することができる。メタデータのソースが変化するにつれて、サーバはメタデータの算出を継続することができる。これらの態様は、特定のクライアントから情報を収集することによって生じることがあるプライバシー問題を回避する。
様々な態様は、送信の前に所与のウェブページ、クライアント、またはネットワークに必要なリソースを特定することを可能にする。サーバは、必要なリソースをあらかじめ特定することによって、最初のウェブページアクセス要求に応答して必要な情報をクライアントにプッシュし、それによって長いページロード時間および/または往復時間をほぼ2分の1に短縮することができる。
様々な態様は、その例が図1に示されている、様々なワイヤレス通信システムまたはモバイル通信システム内に実装することができる。図1に示す例示的な通信システム100は、モバイルブロードキャストネットワーク101と携帯電話ネットワークなどのユニキャストネットワーク111とを含む。典型的な携帯電話ネットワークは、ネットワークオペレーションセンター114に結合された複数のセルラー基地局112を含み、ネットワークオペレーションセンター114は、たとえば電話陸上通信線(たとえば、図示されていないPOTSネットワーク)およびインターネット107を介して、スマートフォン110A、110Bおよびラップトップコンピュータ110Cなどのモバイルコンピューティングデバイスとその他のネットワーク宛先との間でボイス呼およびデータ呼を接続するように動作する。他の態様では、モバイルコンピューティングデバイスにはモバイルテレビジョン受信機、携帯電話、携帯情報端末、対話型ゲームデバイス、ノートブック、スマートブック、ウルトラブック、または他のそのような電子デバイスなどのデバイスも含めてよい。モバイルコンピューティングデバイス110A〜110Cとユニキャストネットワーク111との間の通信は、4G、3G、CDMA、TDMA、および他のセルラー電話通信技術などの双方向ワイヤレス通信リンク113を介して実現され得る。インターネットデータ通信を容易にするために、ユニキャストネットワーク111は、通常、インターネット107への接続を実現するネットワークオペレーションセンター114に結合されるか、またはその内部にある1つまたは複数のサーバ116を含む。
モバイルコンピューティングデバイス110A〜110Cは、有線接続またはWLAN(WiFi)接続が利用可能なときにはそれを介してインターネット107に接続してよく、その場合、インターネット107はユニキャストネットワークとして働く。モバイルコンピューティングデバイス110A〜110Cは、周知の従来のインターネットアクセスプロトコルを使用してユニキャストネットワーク111を介してコンテンツを受信してよい。
通信システム100はモバイルブロードキャストネットワーク101を含んでもよく、モバイルブロードキャストネットワーク101は通常、本明細書ではブロードキャストオペレーションセンター104(または図の中の「BOC」)と呼ばれるモバイルブロードキャストネットワークコントロールセンターによって制御される複数のブロードキャスト送信機102を含む。ブロードキャストネットワーク101は、ブロードキャスト送信機102からのコンテンツをモバイルコンピューティングデバイス110A〜110Cによって受信されるモバイルブロードキャスト送信103としてブロードキャストする。モバイルブロードキャストネットワークコントロールセンター104(ブロードキャストオペレーションセンターまたは「BOC」とも呼ばれる)内には通常、リアルタイムコンテンツブロードキャスト、電子サービスガイドの生成、およびオーバヘッドフローを介してブロードキャストされるメタ情報メッセージの生成を管理するための1つまたは複数のサーバおよびシステムがある。メタ情報は、コンテンツブロードキャストよりも前に送られても、または周期的に送られても、またはクライアント要求に応答して送られてもよい。ブロードキャストメタ情報はモバイルコンピューティングデバイス110A〜110Cによって受信され記憶されて、将来のページロード動作を向上させるために使用されてよい。たとえば、メタ情報は、将来のブロードキャストを選択的に受信するかまたはモバイルデバイスブラウザがウェブページから要求すべきリソースを特定するためにモバイルによって使用されてよい。
様々な態様において、クライアントとサーバはメタ情報を収集し交換してよい。このメタ情報は、モバイルデバイスまたはサーバがクライアント、サーバ、ネットワーク、またはウェブサイトの要件をよりよく理解するのを可能にする情報、あるいはモバイルデバイスブラウザがより高速なページロード動作を実行するのを可能にする任意の情報を含んでよい。一態様では、メタ情報はXMLコード、Ajaxコード、またはJSONコードであってよい。モバイルデバイスは、ウェブページをレンダリングする際にメタ情報をサーバからのマニフェストとして検討してよい。マニフェストは、ウェブページのブラウザによる実行を向上させるための方式を実現することができる。ブラウザは、マニフェストを使用してウェブページをより効率的にダウンロードしかつ/または処理することができ、実行時間が短縮され、電力使用量が低減する。たとえば、マニフェストは、特定のデータが頻繁にアクセスされているかまたはユーザに人気があるという情報を提供することができる。通常消去されるかまたは頻繁に使用されるデータは、モバイルデバイスから、サーバ上に位置するキャッシュメモリにアップロードされ得る。
一態様では、マニフェストは、Java(登録商標)Script(登録商標)メタ情報を含み得る。マニフェストは、Java(登録商標)Script(登録商標)関数の何らかの句の確率、スクリプトトークン、字句情報、AST解析情報、すでにコンパイルされたバイナリデータ、ジャストインタイムデータ、依存性ツリー、または、モバイルデバイスにおいてJava(登録商標)Script(登録商標)要求を処理する際に時間を節約するための他の情報を含む、有用な情報を提供することができる。
一態様では、マニフェストは、簡略化された選択器または改良された選択器、統合方式、または、CSSウェブページのデータを処理し、解析し、実行し、もしくはレンダリングするのを支援するための任意の他の情報のような情報を含む、CSSメタ情報を含み得る。一態様では、マニフェストは、どのようにDOMツリーを処理するかについての情報を含み得る。
一態様では、マニフェストは、符号化されたページをどのように処理すべきかをモバイルデバイスに指示するHTMLメタ情報を含んでよい。一態様では、マニフェストは、ネットワーク上の他のクライアントから収集されたデータを含んでよく、他のクライアントの閲覧情報を観測することによって受信される分析またはパターンを表現してよい。
一態様では、マニフェストは、ウェブページのレンダリング、ダウンロード、または処理に関する確率を含んでよい。たとえば、マニフェストは、特定のウェブページ要素が、高い実行確率を有すること、またはそのページにアクセスするユーザの間で非常に人気がある可能性があることを示し得る。特定の例は、ユーザが特定のニュースウェブサイト上の「スポーツ」リンクをクリックすることであってよい。モバイルデバイスは、ユーザが将来のある時点でそのウェブページ要素を要求する可能性があるかまたはそのような可能性がまったくないという推測に基づいて、そのようなウェブページ要素をダウンロードしてよい。たとえば、マニフェストは、ライブラリが実行確率が高い第1の部分を有し、第1の部分をただちに送信すべきであるかまたは第1の部分にただちにアクセスすべきであることを示してよい。同様に、マニフェストは、(実行確率がより低い)第2の部分をダウンロードする必要がないかまたは第1の部分の後にダウンロードすべきであることを示してよい。
マニフェストは、ウェブページがページにアクセスするための要求よりも前にプリロードされブラウザに供給されるときのように、モバイルデバイス上にプリキャッシュされてよい。マニフェストは、ユーザが情報を必要とし得るときよりも前の所定の期間に、たとえば、ネットワーク使用量が少ない晩または早朝の時間に、契約しているモバイルデバイスに送信され得る。代替として、マニフェストは、「トップ100」リストウェブサイトの場合のような同期手順の一部として送信されるかまたはクライアントの使用習慣に基づいて送信されてよい。一態様では、マニフェストは、ウェブコンテンツに対する変化率がより低いことがあるので、所定の間隔で、ユーザのコンピュータまたはモバイルデバイスにプリキャッシュされ得る。代表的な例は、ページ上のコンテンツが毎日変わる場合でもめったに変わらない傾向を有するウェブページの形式およびレイアウトである。一態様では、マニフェストは、夜遅くなど非ピーク時にモバイルデバイスに供給されてよい。一態様では、マニフェストは、1時間おき、毎日、毎週、毎月、または毎年など定期的にモバイルデバイスに供給されてよい。一態様では、マニフェストはモバイルブロードキャストネットワークを介してモバイルデバイスにブロードキャストされてよい。
概して、モバイルデバイス上でページロード動作が実行された後、ブラウザは、フェッチされたオブジェクトに関する情報を生成しているだけではなく、情報の種類、ファイルサイズ、形式、レイアウト(たとえば、スクリーン上の画像の位置)、相互依存性に関するメタ情報、およびページのレンダリングに関する他の同様のメタ情報を含むメタ情報も生成している。この情報は、同じページを同じデバイスまたは他のモバイルデバイスから2度目にロードする場合に有用であり得る。様々な態様は、この情報を共有するのを可能にして、クライアントとサーバの両方から収集されたメタ情報をネットワーク状態とともに考慮する、コンテンツをダウンロードしウェブページをレンダリングする改良された方法を実現する。様々な態様では、サーバは、所与のウェブページのマニフェストを生成してよく(すなわち、マニフェストをクライアントから受信することはない)、クライアントに対する依存性が低下し、かつ/またはクライアントプライバシー問題が軽減される。一態様では、サーバは、長時間にわたってクライアントからメタ情報が得られないときにマニフェストを生成するように構成されてよい。たとえば、サーバは、特定のウェブページを5分おきに更新するかまたは「リフレッシュする」ように構成されている場合、過去5分の間に1つまたは複数のクライアントからメタ情報を受信していない場合にそのようなメタ情報を抽出しページ自体の対応するマニフェストを生成してよい。
様々な態様は、単一プロキシ構成で(たとえば、すべてのクライアントトラフィックがインターネット107に達する前に中央プロキシサーバを通過するように)実装されても、または専用クラウドソースサーバを利用する構成で(たとえば、クライアントトラフィックが、インターネット107に達する前に専用サーバ、ウェブサーバ、またはそれらの組合せを通過するように)実装されてもよい。各態様は、いくつかまたはすべてのウェブページホスティングサーバがそれにホスティングされるページに関連するメタ情報を受信し維持する分散システムに実装されてもよい。
図2は、一態様に実装され得るマニフェスト205の例示的な構造を示す。上述のように、サーバ208は、ウェブページへのアクセスおよびウェブページの表示に関連するメタ情報を評価することによって特定のユーザエージェントおよび特定のウェブページのマニフェスト205を生成してよい。サーバ208は、ウェブページのコンテンツを独立に取り込む際、上記で図1を参照して説明したようなメタ情報を求めてよい。クライアントモバイルコンピューティングデバイスまたはクライアント110Aがウェブページをダウンロードするかまたは場合によってはウェブページにアクセスするプロセスを開始すると、クライアントはサーバ208にマニフェスト205を要求してよい。サーバ208は、ウェブページ識別情報209の一意の情報(たとえば、ウェブページのURL)、ユーザエージェント情報210(たとえば、マニフェストが作成されるクライアント110Aのソフトウェアまたはその他の処理プラットフォームに関する識別子または詳細)、ウェブページのタイムスタンプ224、ならびにウェブページに関連するオブジェクトまたはリソース(たとえば、画像、HTML、またはスクリプティングファイル)の説明などのメタ情報の集合を含み得るマニフェスト205を送信してよい。マニフェストは、オブジェクトURL212(たとえば、ウェブサーバ内のファイル記憶位置)、オブジェクトサイズ214、オブジェクトの種類216、オブジェクトのキャッシュ能力218(たとえば、特定のオブジェクトを繰り返し使用できるようにクライアント110Aのキャッシュ内に記憶し得るかどうか)、ウェブページのオブジェクト間の依存性220、およびレイアウト情報222(たとえば、ウェブページ内の画像の相対位置)などのオブジェクト自体に関する特定のデータを含んでもよい。クライアント110Aは、マニフェストを受信してマニフェスト情報をクライアントのコンピューティングデバイス内に記憶された情報(たとえば、キャッシュされたデータ、ネットワークステータス、およびその他の「ローカル」情報)と比較し、ウェブページを維持するウェブサーバからの将来のリソース要求に必要なリソースの優先順位を判定してよい。別の態様では、マニフェスト情報をクライアント110Aに関する情報と比較することはサーバ208によって実現されてよい。一態
様では、クライアント110Aがウェブページを要求すると、サーバ208は要求されたウェブページのウェブページ識別情報209(たとえば、ウェブページのURL)とクライアント110Aのユーザエージェント情報210(たとえば、ユーザエージェントの種類)とを相互参照して、クライアント110Aに送信するのに適切なマニフェスト205を判定してよい。
図3は、様々な態様による単一プロキシ構成300内の例示的な情報フローを示すネットワーク図である。図示の単一プロキシ構成300では、すべてのクライアントトラフィックが、インターネット107に達する前に中央プロキシサーバまたは中央エッジサーバ208(たとえば、ウェブプロキシサーバ、ISPゲートウェイ、またはCDNサーバなど)を通過してよい。中央プロキシサーバ208は、多数のモバイルクライアントからメタ情報を収集し、収集されたメタ情報をクラウドソースメタ情報プロダクトまたはマニフェストとして処理し、マニフェストをモバイルクライアントに配信するクラウドソースサーバを含んでよい。代替として、中央プロキシサーバ208は、以下に図5Aに関して説明するように、ウェブページを直接処理して適切なデータを抽出することなどによって、クラウドソーシングなしに同じメタ情報データベースを作成してよい。
モバイルコンピューティングデバイス110Bは、ウェブページに関するメタ情報を中央プロキシサーバ208に送ってよい。この情報には、ローカルキャッシュステータス、現在のネットワーク状態、コンテキスト情報、ユーザプロファイル情報、通信情報、ネットワーク情報、モバイルデバイス情報、ウェブブラウザ情報、および/またはページロード速度を向上させるためにサーバによって使用することができるクライアントに利用可能な任意の他の情報を含めてよい。中央プロキシサーバ208は、この情報を受信して他のモバイルコンピューティングデバイス110Bから受信されたメタ情報および/または様々なウェブページに関するメタ情報と組み合わせてよい(たとえば、クラウドソーシングなど)。たとえば、様々なクライアントユーザエージェント(たとえば、デスクトップ、iOS(登録商標)、Android(登録商標))に基づいて任意の所与のウェブページにそれぞれに異なるメタ情報が必要になることがある。中央プロキシサーバ208は、クラウドソーシングされたメタ情報に従ってリソースをキャッシュしてもよい。
別のモバイルコンピューティングデバイスまたはクライアント110Aは、ページをロードするように指示されたときに、ページをロードする前にまず、クライアント110Aのローカルキャッシュステータスおよび現在のネットワーク状態を中央プロキシサーバ208に送るように構成されてよい。クライアント110Aは、特定のクライアント、モバイルデバイスの種類、またはネットワークに関する情報をサーバ208に送ってもよく、かつ/またはサーバ208にそのような情報を要求してよい。クライアント110Aとサーバ208は、モバイルコンピューティングデバイス110Bとプロキシサーバ208の両方から得られるメタ情報に基づいて、協調して、どんなリソースを(それぞれに異なる優先順位順によって)クライアント110Aにダウンロード/プッシュすべきかを決定してよい。この協調的な意思決定の一部として、システムはワイヤレスデータリンクの使用状況を改善しかつ/または総ページロード時間を短縮するリソースを選択しかつ/または優先してよい。
選択されたリソース(および/または関連情報)は取り込まれクライアント110Aにプッシュされてよい。クライアント110Aは、リソース/情報を受信し、ページをレンダリングして(たとえば、ページロード動作を実行して)よい。クライアント110Aは次いで、ウェブページに関する更新されたメタ情報をプロキシサーバ208に送ってよく、上述のプロセスを繰り返してよい。
一態様では、クライアント110Aのトラフィックパターンを評価して他のクライアント上のページレンダリング時間を向上させることができる。一態様では、クラウドサービス分散ネットワークを使用して、ブラウザの動作を予測することによって(たとえば、モバイルデバイスにメタ情報を供給することによって)ページロード速度を向上させることができる。一態様では、モバイルコンピューティングデバイスは、頻繁に使用される情報を特定し、対象となるサービスをサーバ208に要求し、かつ/または頻繁に使用される情報を後で使用できるようにサーバキャッシュにアップロードしてよい。
図4Aは、様々な態様によるクラウドソーシング実施形態方法400内の例示的な情報フローを示す。図4Aに示された例では、メタ情報が専用のクラウドソーシングサーバ208によって管理される。モバイルコンピューティングデバイス110Bは、ウェブページに関するメタ情報を専用クラウドソーシングサーバ208に送ってよく、専用クラウドソーシングサーバ208はページロードメタ情報を収集して配信し、様々なクライアントから受信されたそれぞれに異なるウェブページのメタ情報をクラウドソーシングし、メタ情報に従ってリソースをキャッシュしてよい。クライアントモバイルコンピューティングデバイス110Aまたはクライアントは、ページを要求するとき、まずクライアントのローカルキャッシュステータスおよび現在のネットワーク状態をクラウドソーシングサーバ208に送ってよい。当事者(たとえば、クライアント110Aおよびクラウドソーシングサーバ208)は、モバイルコンピューティングデバイス110Bとクラウドソーシングサーバ208の両方からのメタ情報に基づいて、協調して、どんなリソースを要求するかを決定してよい。このクラウドソーシングサーバ208は、ペイロードを圧縮することまたはオブジェクトが送られる順番を変更することなどの様々なサーバ動作をサポートするように構成されてよい。クラウドソーシングサーバ208は、ネットワークの使用状況を向上させ全体的なページロード時間を短縮するのに必要なリソースを特定するリストをクライアント110Aに送ってよい。クライアント110Aは、受信されたリストに基づいてウェブサーバ412に情報を要求してよい。クライアント110Aは次いで、ウェブサーバ412から(たとえば、クラウドソーシングサーバ208を介して)情報を受信し、ページをレンダリングしてよい。クライアント110Aは、ウェブページをレンダリングした後、更新されたメタ情報をクラウドソーシングサーバ208に送ってよく、上述のプロセスが繰り返されてよい。
図4Bは、クラウドソーシングされたウェブページマニフェストを作成し利用する方法450を示す。ブロック451において、コンピューティングデバイス上で実行される複数のクライアントが、ウェブページを維持するウェブサーバから受信されたリソース(たとえば、オブジェクト、スクリプティングファイル、HTMLコード)によってウェブページをロードしてよい。クライアントは、ブロック452においてユーザエージェントによってウェブページをロードしウェブページにアクセスするプロセスに基づいてまたはそのようなプロセスの一部としてメタ情報を求めてよい。メタ情報は、個々のウェブページごとに異なってよく、ウェブページにアクセスする際に使用される各種類のユーザエージェントは、他の種類のユーザエージェントによって生成されるメタ情報セットとは異なるメタ情報セットを生成してよい。ブロック453において、複数のクライアントの各々はそのそれぞれのメタ情報を記憶し処理することができるようにサーバに送ってよい。ブロック454において、サーバは、特定のウェブページに関する受信されたメタ情報からそのウェブページのマニフェストを生成してよい。一態様では、サーバはデータベースを使用して、ウェブページ(たとえば、ウェブページのグローバルURL)およびユーザエージェントの種類に従って構成されるかまたはインデックス付けされたマニフェストを記録してよい。そのような構成は、サーバが、特定の種類のユーザエージェントからの特定のウェブページを求める要求に応答して適切なウェブページマニフェストをデータベースから回収するのを可能にする。
ブロック455において、サーバは、ウェブページにアクセスすることを意図するクライアントから指定されたウェブページのマニフェストを求める要求を受信してよい。この要求は、所望のウェブページとクライアントのユーザエージェント識別情報の両方を特定することができる。ブロック456において、サーバは受信されたウェブページ識別子およびクライアントユーザエージェント識別情報を使用してデータベース内で適切なマニフェストを見つけ、そのマニフェストを要求側クライアントに送信してよい。ブロック457において、要求側クライアントは、送信されたマニフェストを受信し、マニフェスト内の情報を使用して、マニフェスト情報をキャッシュされたウェブページ要素などの現在のクライアント情報と比較することによって、ウェブページに必要なリソースに優先順位を割り当てる。ブロック457において実行される動作には、マニフェストをキャッシュされたリソースおよびオブジェクト、依存性、レイアウト情報など、ならびに現在のネットワークステータス(たとえば、帯域幅、遅延推定値など)と比較することを含めてよい。クライアントは、ウェブページをロードするのに必要なリソース(すなわち、キャッシュに記憶されていない、マニフェストにおいて特定されたリソース)に優先順位を割り当ててよい。ブロック458において、クライアントは、割当て優先順位によって決定された順序でウェブページをロードするのに必要なリソースを求める要求を送信し、要求されたリソースをウェブサーバから受信してよい。場合によっては、クライアントは、ウェブページをレンダリングする動作を完了することの一部としてメタ情報を生成し、任意のブロック459においてそのようなメタ情報をサーバに送信してよい。サーバは、ブロック453においてウェブページに関するマニフェストを更新してよく、プロセスは、任意の数のクライアントから受信される各ウェブページ要求に応答して引き続き繰り返されてよい。
別の態様では、サーバはリソースの優先順位を決定し、マニフェストをクライアントに送信する代わりにそれらのリソースを要求側クライアントにプッシュしてよい。この実施形態を実施する例示的な方法460が図4Cに示されている。上述の方法400と同様に、ブロック451において、コンピューティングデバイス上で実行される複数のクライアントが、ウェブページを維持するウェブサーバから受信されるリソース(たとえば、オブジェクト、スクリプティングファイル、HTMLコード)によってウェブページをロードしてよい。クライアントは、ブロック452においてウェブページをユーザエージェントによってロードしウェブページにアクセスするプロセスに基づいてまたはそのようなプロセスの一部としてメタ情報を求めてよい。メタ情報は、個々のウェブページごとに異なってよく、ウェブページにアクセスする際に使用される各種類のユーザエージェントは、他の種類のユーザエージェントによって生成されるメタ情報セットとは異なるメタ情報セットを生成してよい。ブロック453において、複数のクライアントの各々はそのそれぞれのメタ情報を記憶し処理することができるようにサーバに送ってよい。ブロック454において、サーバは、特定のウェブページに関する受信されたメタ情報からそのウェブページのマニフェストを生成してよい。一態様では、サーバはデータベースを使用して、ウェブページ(たとえば、ウェブページのグローバルURL)およびユーザエージェントの種類に従って構成されるかまたはインデックス付けされたマニフェストを記録してよい。そのような構成は、サーバが、特定の種類のユーザエージェントからの特定のウェブページを求める要求に応答して適切なウェブページマニフェストをデータベースから回収するのを可能にする。
ブロック462において、サーバは、特定のウェブページにアクセスするための要求をクライアントから受信してよい。この要求は、要求されたウェブページの識別子(たとえば、URL)、ユーザエージェントの識別子、およびクライアントの現在のステータス、特にメモリにキャッシュされておりクライアントがローカルに利用することのできるウェブページに関連するオブジェクトおよびリソースに関する情報を含んでよい。この情報は、サーバが、対応するウェブページマニフェストにおいて特定されたオブジェクトおよびリソースのうちで要求側デバイスにはまだ存在しないオブジェクトおよびリソースを判定するのを可能にする。ブロック464において、サーバは要求されたウェブページおよびクライアントのユーザエージェントに適切なマニフェストにアクセスしてよい。上述のように、これは、ウェブページ識別子およびユーザエージェント情報をマニフェストのデータベースにアクセスするためのインデックス項目として使用することによって実現されてよい。ブロック466において、サーバは、マニフェストをブロック462において受信されたクライアント情報と比較し、送信する必要のあるリソースおよびオブジェクトを特定し、クライアントに送信する必要のある情報にリソース優先順位を割り当ててよい。サーバは、この情報を使用して、ブロック468において、ウェブページを要求するクライアントに特定された優先順位を通知し、クライアントがそれらのオブジェクトおよびリソースを指示された優先順位順で要求するのを可能にしてよい。代替として、ブロック468において、サーバは単に、リソースおよびオブジェクトを特定された優先順位でクライアントにプッシュしてよい。要求側クライアントは次いで、受信されたリソースおよびオブジェクトを使用してウェブページをレンダリングしてよい。場合によっては、クライアントは、ウェブページをレンダリングする動作を完了することの一部としてメタ情報を生成し、任意のブロック470においてそのようなメタ情報をサーバに送信してよい。サーバは、ブロック453においてウェブページに関するマニフェストを更新してよく、プロセスは、任意の数のクライアントから受信された各ウェブページ要求に応答して引き続き繰り返されてよい。
上記で図3を参照して説明したように、サーバは、複数のユーザクライアントモバイルコンピューティングデバイスからメタ情報を受信し、クラウドソーシングされた1組のウェブページマニフェストを作成する代わりに、いくつかのプロキシユーザエージェントを使用してウェブページをレンダリングすることによってそのようなメタ情報自体を生成することができる。図5Aは、様々な態様によるそのようなサーバソーシング実装形態500内の例示的な情報フローを示す。図5Aに示す例では、メタ情報が専用サーバ208によって生成されてよい。クラウドソーシング実装形態とは異なり、サーバ208はウェブページ情報(すなわち、HTMLコード、スクリプティングコンテンツ、スタイルシート、画像など)をウェブサーバ412に直接要求してよい。サーバ208は、様々な種類のユーザエージェント(たとえば、デスクトップ、iOS(登録商標)オペレーティングシステム、Android(登録商標)オペレーティングシステム)をエミュレートして各ウェブページをレンダリングしてよく、ウェブページがエミュレートされた各ユーザエージェントタイプによって処理されるときにウェブサーバ412から異なる情報を取り込んでよい。サーバ208は、ウェブページをロードするのに必要なリソース、コンポーネント間の依存性、およびクライアント110Aがネットワーク使用状況を改善し全体的なページロード時間を短縮するために使用できるその他の情報を記述したページロードメタ情報を生成してよい。サーバ208は、このメタ情報から、サーバ208に関連するデータベースに記憶することのできるマニフェストを生成してよい。
クライアント110Aは、ウェブページをレンダリングするよう指示されたときに、サーバ208にマニフェストを要求し、メタ情報を現在のローカル情報(たとえば、キャッシュされたデータ、現在のネットワークステータスなど)と比較してよい。この比較によって、クライアント110Aはウェブページリソースの取込みに優先順位付けすることができる。クライアント110Aは次いで、必要なウェブページ要素を優先順位の順番で要求し、必要なコンテンツをウェブサーバ412から受信し、ページをレンダリングしてよい。一態様では、クライアント110Aは、メタ情報を、記憶されたマニフェストにその情報を組み込むことのできるサーバ208にアップロードするか、またはフィードバックを使用してクライアントのプロキシユーザエージェントまたはマニフェストを生成するためのプロセスを微調整してよい。一態様では、サーバ208はウェブページコンテンツをクライアント110Aにプッシュしてよい。別の態様では、クライアント110Aはその現在のローカル情報(たとえば、キャッシュされたデータ、現在のネットワークステータスなど)をサーバ208に送信してよく、サーバはその情報をウェブページのマニフェストと比較してクライアント110Aのリソース取込み順序を決定してよい。別の態様では、ウェブページをサーバ208上に維持してよい。
図5Bは、サーバによって生成されたメタ情報を使用してウェブページマニフェストを生成するためのサーバにおいて実施され得る例示的な方法550を示す。方法550のブロック552において、サーバは処理すべき特定のウェブページを選択してよい。この選択は、サーバがクライアントにマニフェストサービスを提供している多数のウェブページから行われてよい。たとえば、サーバは、ウェブページの人気に基づく上位1000個のウェブページのマニフェストを生成し、ブロック552においてそのリストから処理すべき個々のウェブページを選択するように構成されてよい。代替的にまたは追加として、サーバは事前に処理されていない特定のウェブページを求める要求を周期的に受信してよく、その場合、サーバはクライアント要求に応答してブロック552の一部として処理すべきウェブページを選択してよい。このようにして、サーバは必要なときまたは望ましいときに要求に応じてマニフェストを生成してよい。
上述のように、ユーザエージェントがウェブページを異なるように処理し、したがって、異なる優先付けまたはメタ情報を必要とすることがあるので、ユーザエージェントの種類ごとに様々なマニフェストが生成されてよい。したがって、ブロック554において、サーバはアクセスされたウェブページを処理する際に使用すべき第1のプロキシユーザエージェントを選択してよい。ブロック556において、サーバは、選択されたプロキシユーザエージェントを使用して選択されたウェブページをロードするかまたは場合によっては処理し、ブロック558において選択されたウェブページをレンダリングする選択されたユーザエージェントに関するメタ情報を求めてよい。ブロック560において、サーバは、ブロック558において生成されたメタ情報に基づいてマニフェストを生成し、そのマニフェストをマニフェストのデータベースに記憶してよい。
判定ブロック562において、サーバは、マニフェストを生成すべき別のユーザエージェントがあるかどうかを判定してよい。処理すべき別のユーザエージェントがあるとき(すなわち、判定ブロック562=「Yes」)、サーバはブロック554に戻って処理すべき次のプロキシユーザエージェントを選択してよい。選択されたウェブページがサーバによって使用されるすべてのプロキシユーザエージェントによって処理された後(すなわち、判定ブロック562=「No」)、サーバは、判定ブロック564において処理すべき別のウェブページがあるかどうかを判定してよい。処理すべき別のウェブページがある場合(すなわち、判定ブロック564=「Yes」)、サーバはブロック552に戻って、上述のように進行し得る処理を行うべき次のウェブページを選択してよい。すべてのウェブページがすべてのプロキシユーザエージェントを使用して処理された後(すなわち、判定ブロック564=「No」)、サーバは、ブロック566において、上記で図4Bを参照して説明したようにウェブページマニフェストを求めるクライアント要求を処理し、予見してよい。
コンテンツが追加され、削除され、更新されるときにウェブページが頻繁に変更されるので、サーバはウェブページマニフェストを周期的にリフレッシュまたは再生するように構成されてよい。ウェブページマニフェストの更新のスケジューリングは、各ウェブページの種類またはコンテンツに依存し得る。たとえば、ニュースウェブページのマニフェストは、5分おき〜10分おきなど非常に頻繁に更新されてよい。その理由は、ニュースウェブページのコンテンツが急速に変化し、一方、企業ウェブページのマニフェストは、企業ウェブページのコンテンツの変化率に応じて毎週または毎月更新されればよいからである。ウェブページマニフェスト更新のそのようなスケジューリングは、たとえば、マニフェストを更新することによりサーバによって経時的に学習される情報に基づいて、ウェブページごとに決定されてよい。たとえば、サーバは新たに生成されたマニフェストをその以前のバージョンと比較して、マニフェストが更新間の時間の間に変化した程度を判定してよい。サーバは、マニフェストが更新または再生の頻度と同程度の頻度で変化していないと判定した場合、それに応じてそのウェブページのマニフェストを更新するためのサーバのスケジュールを調整してよい。同様に、サーバは、マニフェスト間の変化が顕著であると判定した場合、その特定のウェブページに関するマニフェスト更新の周期を増大させてよい。他の実施形態では、サーバは1時間おき、毎晩、または毎週などの単純な更新スケジュールに従ってよい。
サーバは、そのような更新スケジュールを使用して、判定ブロック568において、ウェブページごとにそのマニフェストを更新する時間かどうかを判定してよい。ウェブページが更新を必要としない限り(すなわち、判定ブロック=「No」である間)、サーバはブロック566において、ウェブページのマニフェストを求めるクライアント要求を引き続きサポートしてよい。サーバは、特定のウェブページまたは一群のウェブページのマニフェストを更新する時間であると判定すると(すなわち、判定ブロック568=「Yes」)、ブロック552に戻って更新すべきウェブページを選択してよい。サーバは、上述のように動作を繰り返すことによって、ウェブページまたはウェブページマニフェストを求めるクライアントからの要求を処理しつつ多数のウェブページの最新のマニフェストを維持することができる。
図6は、サーバ208がクライアント110Aに配信すべきコンテンツを特定して選択し、選択されたコンテンツを配信すべき順序を決定するサーバ中心実装形態においてページロードを加速するための態様方法600における情報フローを示す。図6に示された例では、クライアント110Aがコールドキャッシュから開始し、ネットワーク状態は良好である。動作1において、クライアント110Aはローカルメタ情報に対するクライアント110Aのローカルキャッシュステータス(たとえば、どんなリソース/オブジェクトがキャッシュ内にあるか、依存性、レイアウト情報など)およびネットワーク状態(たとえば、アップリンクおよびダウンリンク、帯域幅、RTT遅延推定値など)を調べてよい。動作2において、クライアント110Aはウェブページを求める要求をクライアント110Aのローカルキャッシュステータスおよびネットワーク状態とともにプロキシサーバ208に送ってよい。動作3において、プロキシサーバ208は、要求されたウェブページに関する最新の利用可能なマニフェストに基づいて、クライアント側でどんなリソースが欠落しているかを判定すること、依存性/レイアウト情報に基づいて最適な要求順序または優先順位を判定すること、他のリソースをブロックしかつ/またはより高い優先順位を有するリソースがあるかどうかを判定すること、他の画像/オブジェクトよりも高い優先順位を有するべき画像またはオブジェクトがページ上/ビューポート内にあるかどうかを判定すること、およびその他の同様の動作を含んでよい各動作を実行することによって、クライアント110Aによってどんなリソースを受信すべきかを判定してよい。動作4aにおいて、サーバ208は、ネットワーク状態および欠落しているリソースのキャッシュ能力に基づいて、すべての欠落しているキャッシュ可能なリソースを動作3において定められた順番でクライアント110Aにプッシュすること、欠落しているオブジェクトのリストを(たとえば、動作3で定められた順番で)クライアント110Aがプリロードできるように(プリロードヒンティング)クライアント110Aに送り返す(すなわち、プッシュする)こと、リソース処理動作を実行すること(たとえば、クライアント110Aは小形スクリーンを有し、より質の低い画像を受信する必要がある)、必要に応じてリソ
ースを異なるフォーマット(たとえば、クライアント110Aのより低い画質のオブジェクトフォーマットまたは所望のオブジェクトフォーマット)にコード変換すること、リソースを圧縮すること、クライアント110Aに関してURL出力先変更を行うこと、クライアント110Aの必要なリソースをフェッチすること、およびその他の同様の動作のうちの1つまたは複数を実行することを決定してよい。動作4bにおいて、サーバ208はすべてのキャッシュ不能なオブジェクトのリストをクライアント110Aに送ってよい。動作5において、クライアント110Aは、受信されたリストに従って、リソースを要求するかまたはサーバ208によってプッシュされたオブジェクトを受信してよい。動作6において、クライアント110Aはページのロードを完了し、ローカルメタ情報を更新してよい。任意の動作7において、クライアント110Aは更新されたメタ情報をウェブページに関するマニフェストを修正する際に使用できるようにサーバ208にアップロードしてよい。
図7は、サーバ中心構成においてページロードを加速するための別の態様方法700における情報フローを示す。図7に示す例では、クライアントキャッシュが部分的に無効化され(たとえば、満了、排除など)、キャッシュ不能なリソースがなく、ネットワーク状態は良好である。動作1では、クライアント110Aはローカルメタ情報に対するローカルキャッシュステータスおよびネットワーク状態を調べてよい。動作2において、クライアント110Aはウェブページを求める要求を無効化されたキャッシュおよびネットワークステータスならびに有効なキャッシュおよびネットワークステータスとともにプロキシサーバ208に送ってよい。動作3において、プロキシサーバ208は、当面の最新のマニフェスト情報に基づいて、クライアント側でどのリソースが欠落しているかを判定すること、(たとえば、依存性/レイアウト情報に基づいて)最適な要求順序/優先順位順を判定すること、より高い優先順位を有する他のリソースをブロックするリソースを特定すること、ページ上/ビューポート内の画像/オブジェクトにより高い優先順位を与えるべきかどうかを判定すること、および他の同様の動作を行ってよい。動作4において、サーバ208は、ネットワーク状態に基づいて、(必要に応じて)クライアント110Aのリソースをフェッチし、すべての欠落しているキャッシュ可能なリソースを動作3で定められた順番でクライアント110Aにプッシュする。動作5において、クライアント110Aはページのロードを完了し、ローカルメタ情報を更新してよい。任意の動作6において、クライアント110Aは更新されたメタ情報をウェブページに関するマニフェストを修正する際に使用できるようにサーバ208にアップロードしてよい。
図8は、サーバ中心構成においてページロードを加速するためのさらに別の態様方法800における情報フローを示す。図8に示す例では、クライアントキャッシュが部分的に無効化され(たとえば、満了、排除など)、キャッシュ不能なリソースがなく、ネットワーク状態は不良である(たとえば、低帯域幅)。動作1では、クライアント110Aはローカルメタ情報に対するローカルキャッシュステータスおよびネットワーク状態を調べてよい。動作2において、クライアント110Aはウェブページ要求を無効化されたキャッシュおよびネットワークステータスならびに有効なキャッシュおよびネットワークステータスとともにプロキシサーバ208に送ってよい。動作3において、プロキシサーバ208は、当面の最新のマニフェストに基づいて、クライアント側でどのリソースが欠落しているかを判定し、(たとえば、依存性および/またはレイアウト情報に基づいて)最適な要求順序または優先順位順を判定し、より高い優先順位を有する他のリソースをブロックするリソースを特定し、より高い優先順位を与えるべき画像/オブジェクトがページ上またはビューポート内にあるかどうかを判定してよい。動作3bにおいて、サーバ208は、たとえばリソースをより低い画質(または異なるオブジェクトフォーマット)にコード変換するかあるいは(たとえば、ネットワーク状態が不良であることを示すメタ情報に基づいて)Java(登録商標)Script(登録商標)、CSS、およびHTMLオブジェクトを圧縮することによって送信すべきペイロードのサイズを縮小してよい。動作4において、サーバ208はコード変換された欠落しているオブジェクトを動作3で定められた順番でクライアント110Aにプッシュしてよい。動作5において、クライアント110Aはページのロードを完了し、ローカルメタ情報を更新してよい。任意の動作6において、クライアント110Aは更新されたメタ情報をウェブページに関するマニフェストを修正する際に使用できるようにサーバ208にアップロードしてよい。
図9は、どんなコンテンツをダウンロードすべきかおよびオブジェクトをダウンロードすべき順序に関する決定がクライアント110Aによって下されるクライアント中心構成においてページロードを加速するための態様方法900における情報フローを示す通信図である。図9に示す例では、クライアント110Aは部分的に無効化されたキャッシュを含み、ネットワーク状態は良好であり、サーバ208がプッシュ動作をサポートする。動作1では、クライアント110Aは所望のウェブページに関するマニフェストをプロキシサーバ208からフェッチしてよい。動作2では、クライアント110Aはローカルキャッシュステータス(たとえば、どんなオブジェクトがキャッシュ内にあるか、オブジェクト依存性などを判定する)およびネットワーク状態(たとえば、帯域幅、遅延推定値など)を調べてよい。動作3において、クライアント110Aは、マニフェストに基づいて、どのリソースが欠落しておりフェッチすべきであるかを判定すること、(たとえば、依存性/レイアウト/ネットワーク状態情報に基づいて)最適な要求順序/優先順位順を判定すること、より高い優先順位を有する他のリソースをブロックするリソースを特定すること、より高い優先順位を与えるべき画像/オブジェクトがページ上/ビューポート内にあるかどうかを判定すること、および他の同様の動作を行ってよい。動作4では、クライアント110Aは、(サーバ208から受信されるメタ情報において示すことのできる)サーバの機能に応じて、オブジェクトおよびその優先順位のリストをサーバ208に送ってよく、サーバ208はリストを受信して要求されたオブジェクトを要求された順番で/オブジェクトの優先順位に応じてクライアント110Aにプッシュしてよい。動作5において、クライアント110Aはページのロードを完了し、ローカルメタ情報を更新してよい。任意の動作6において、クライアント110Aは更新されたメタ情報をウェブページに関するマニフェストを修正する際に使用できるようにサーバ208にアップロードしてよい。
図10は、クライアント中心構成においてページロードを加速するための別の態様方法1000における情報フローを示す。図10に示す例では、クライアント110Aは部分的に無効化されたキャッシュを含みかつネットワーク状態は良好であるが、図9に示す例とは異なり、サーバ208はプッシュ動作をサポートしない。この構成では、すべてのクライアント中心構成と同様に、どんなコンテンツをダウンロードすべきかおよびオブジェクトをダウンロードすべき順序に関する決定がクライアント110Aによって下されてよい。
動作1において、クライアント110Aは、クライアント110Aがダウンロードするように指示されたウェブページに関するマニフェストをプロキシサーバ208からフェッチしてよい。動作2では、クライアント110Aはローカルキャッシュステータス(たとえば、キャッシュ内に何があるかを判定する)およびネットワーク状態(たとえば、帯域幅、遅延推定値など)を調べてよい。動作3において、クライアント110Aは、利用可能な最新のメタ情報に基づいて、どのリソースが欠落しておりフェッチすべきであるかを判定し、(たとえば、依存性/レイアウト/ネットワーク状態情報に基づいて)最適な要求順序/優先順位順を判定し、より高い優先順位を有する他のリソースをブロックするリソースを特定し、より高い優先順位を与えるべき画像/オブジェクトがページ上/ビューポート内にあるかどうかを判定し、他の同様の動作を実行してよい。動作4において、クライアント110Aは、(たとえば、サーバ208から受信されるメタ情報において示されるような)サーバの機能に応じて、一連の要求をプロキシ/ウェブ-サーバに送り、欠落しているオブジェクトを動作3で得られた最適な順序で受信してよい。サーバ208は、オブジェクトを求める要求をクライアント110Aから受信し、要求されたオブジェクトを、メタ情報を使用して算出することのできる最適な順番でクライアント110Aに送ってよい。動作5において、クライアント110Aはページのロードを完了し、ローカルメタ情報を更新してよい。任意の動作6において、クライアント110Aは更新されたメタ情報をウェブページに関するマニフェストを修正する際に使用できるようにサーバ208にアップロードしてよい。
様々な態様を実施するクライアント110Aまたはサーバ208は、ローカルクライアント情報を所望のウェブページに関するマニフェストと比較することによって、シナリオ(たとえば、ネットワーク状態)、構成(たとえば、クライアント中心、サーバ中心など)、またはそれらの任意の組合せに基づいてオブジェクト配信順(たとえば、優先順位)を決定してよい。様々な態様は、クライアント110Aが、オブジェクト依存性、オブジェクトサイズ、現在のネットワーク状態、コールドキャッシュ、デバイスの種類などの因子を検討することによって、オブジェクト配信順を改善するのを可能にする。たとえば、デフォルトのオブジェクト配信順(たとえば、ブラウザによるデフォルト順番セット)がCSS1、IMG1、JS1、IMG2、IMG3、JS3、IMG4である場合、様々な態様を実施するクライアント110Aは、CSS1、JS1、JS3、IMG2、IMG1、IMG3、IMG4の順番の方がより効率的であると判定し、それに応じて配信順序を変更してよい。さらに、要求順と受信順は、要求IDによるHTTPパイプライニングなどのネットワーキング機能の可用性に基づいて異なってもよい。
一態様において、サーバ208は、現在クライアントキャッシュにオブジェクトが存在するかどうかを判定し、現在クライアント110A上にキャッシュされていないオブジェクトのみを配信してよい。同様に、クライアント110Aは非キャッシュ項目のみをサーバ208によって送ることを要求してよい。代替として、クライアント110Aデバイスのリソースプロファイルを変更し、たとえば、クライアント110Aデバイスが3GからWiFiに移るかまたはドッキングステーションを介してより大きいディスプレイに接続した場合、クライアント110Aは前のキャッシュコンテンツを無視しすべての新しいウェブリソースをダウンロードしてよい。いずれの場合も、リソースは適切なウェブページマニフェストから決定されたそのリソースに割り当てられた優先順位に応じて順にクライアント110Aに配信されてよい。
図11Aは、サーバがクライアントに配信すべきコンテンツを特定し選択するサーバ中心実装形態においてページロードを加速するためのクライアントによって実施される方法1100を示す。図11Aに示す例では、クライアントがコールドキャッシュから開始し、ネットワーク状態は良好である。ブロック1102において、クライアントはローカルメタ情報に対するクライアントのローカルキャッシュステータス(たとえば、キャッシュ内に存在するリソース/オブジェクトを特定すること、依存性、レイアウト情報など)およびネットワーク状態(たとえば、帯域幅、遅延推定値など)を調べてよい。ブロック1104において、クライアントはウェブページを求める要求をクライアントのローカルキャッシュステータスおよびネットワーク状態とともにプロキシサーバに送ってよい。ブロック1106において、クライアントは、ローカルメタ情報とウェブページに適切なマニフェストとの比較に基づいてすべての欠落しているキャッシュ可能なリソースを定められた順番/順序で受信してよい。ブロック1108において、クライアントは欠落しているキャッシュ可能なオブジェクトおよび優先順位のリストを受信するかまたは生成してよい。ブロック1110において、クライアントはすべてのキャッシュ不能なオブジェクトのリストを受信してよい。ブロック1112において、クライアントは欠落しているオブジェクトの受信されたリストに基づいてリソースを要求し、かつ/またはキャッシュ不能なオブジェクトをフェッチしてよい。ブロック1114において、クライアントは、受信されたオブジェクトを使用し、受信されたオブジェクトのそれぞれの優先順位に従ってページをロードし、ページのローカルメタ情報を更新してよい。任意のブロック1116において、クライアントはメタ情報をウェブページに関するマニフェストを修正する際に使用できるようにサーバにアップロードしてよい。
図11Bは、サーバがクライアントに配信すべきコンテンツを特定し選択するサーバ中心実装形態においてページロードを加速するためのサーバによって実施される方法1150を示す。図11Bに示す例では、クライアントがコールドキャッシュから開始し、ネットワーク状態は良好である。ブロック1152において、サーバはウェブページ情報をクライアントからのメタ情報およびネットワーク状態情報とともに受信してよい。ブロック1154において、サーバは受信された情報と(たとえば、以前の訪問、他のクライアント、複数のウェブサイトなどから)前に受信された情報を組み合わせ(たとえば、クラウドソーシング)、ウェブページに関連するマニフェストを生成する。ブロック1156において、サーバは、利用可能な最新のマニフェストに基づいてクライアントに送るべきリソースを判定してよい。ブロック1156の一部として、サーバはクライアント側で欠落しているリソースを判定し、それらのオブジェクトをクライアントに配信するための最適な順序を判定し、より高い優先順位を有する他のリソースをブロックするリソースがあるかどうかを判定し、他の同様の動作を実行してよい。ブロック1158において、サーバは、ネットワーク状態および欠落している要求のキャッシュ能力に基づいて、欠落しているキャッシュ可能なリソースをフェッチし判定された順序でクライアントにプッシュする。ブロック1160において、サーバはクライアントの欠落しているオブジェクトのリストをクライアントに送ってよい。ブロック1162において、サーバはすべてのキャッシュ不能なオブジェクトのリストをクライアントに送ってよい。ブロック1164において、サーバは、キャッシュ不能なオブジェクトをオブジェクトの決定された優先順位に従って順にフェッチしクライアントにプッシュしてよい。任意のブロック1166において、サーバは更新されたメタ情報をクライアントから受信し、ウェブページに関するマニフェストを更新してよい。
図12Aは、ダウンロードすべきコンテンツおよびオブジェクトをダウンロードすべき順序に関する決定がクライアントによって下されるクライアント中心構成においてページロードを加速するためのクライアントによって実施される方法1200を示す。図12Aに示す例では、クライアントが部分的に無効化されたキャッシュを含み、ネットワーク状態は良好である。ブロック図1202において、クライアントは、クライアントがダウンロードするよう要求するウェブページに関するメタ情報をプロキシサーバからフェッチしてよい。ブロック1204では、クライアントはローカルキャッシュステータス(たとえば、キャッシュ内に存在するオブジェクト、オブジェクト依存性などを判定する)およびネットワーク状態(たとえば、帯域幅、遅延推定値など)を調べてよい。ブロック1206において、クライアントは、サーバによって維持される利用可能な最新のマニフェストに基づいて、欠落しておりフェッチすべきリソースを判定してよい。ブロック1208において、クライアントは、メタ情報によって特定されるサーバの機能に基づいて決定することのできるオブジェクトを受信するための最適な順序/優先順位を判定してよい。ブロック1210において、クライアントは必要なオブジェクトおよびオブジェクトの優先順位のリストをサーバに送ってよい。ブロック1212において、クライアントは、要求されたオブジェクトをオブジェクトの決定された優先順位に従って要求された順序で受信してよい。ブロック1214において、クライアントはページをロードし、ページのローカルメタ情報を更新してよい。任意のブロック1216において、クライアントは、更新されたメタ情報を、サーバがウェブページに関するマニフェストを修正する際に使用できるようにサーバにアップロードしてよい。
図12Bは、ダウンロードすべきコンテンツおよびオブジェクトをダウンロードすべき順序に関する決定がクライアントによって下されるクライアント中心構成においてページロードを加速するためのサーバによって実施される方法1250を示す。図12Bに示す例では、クライアントは部分的に無効化されたキャッシュを含み、ネットワーク状態は良好であり、サーバがプッシュ動作をサポートする。ブロック1252において、サーバは、クライアントがダウンロードするよう要求するウェブページに関するマニフェストをクライアントに送ってよい。クライアントは、オブジェクトを受信するための最適な順序/優先順位を判定し、一連の優先オブジェクト要求をサーバに送り返してよい。ブロック1254において、サーバはオブジェクトおよびオブジェクトのそれぞれの優先順位のリストを受信してよい。ブロック1256において、サーバは、要求されたオブジェクトをオブジェクトの優先順位に従って順にクライアントにプッシュしてよい。任意のブロック1258において、サーバは更新されたメタ情報をクライアントから受信し、ウェブページに関するマニフェストを更新してよい。
図13は、態様のいずれかとともに使用するのに好適なモバイルコンピューティングデバイスのシステムブロック図である。代表的なモバイルコンピューティングデバイス110Aは、内部メモリ1332と、ディスプレイ1333と、スピーカー1354とに結合されたプロセッサ1331を含み得る。加えて、モバイルコンピューティングデバイスは、プロセッサ1331に結合されたワイヤレスデータリンクおよび/またはセルラー電話送受信機1335と、プロセッサに結合されたモバイルマルチメディアブロードキャスト受信機1336とに接続され得る、電磁放射を送信および受信するためのアンテナ1334を含み得る。モバイルコンピューティングデバイス110Aは、一般に、ユーザ入力を受信するためのメニュー選択ボタンまたはロッカースイッチをも含む。
様々な態様は、図14に示されるサーバ208のような、種々の市販のサーバデバイスのいずれにおいても実装され得る。そのようなサーバ208は、典型的にはプロセッサ1401を含み、複数のプロセッサシステム1411、1421、1431を含むことができ、プロセッサシステムのうちの1つまたは複数は、マルチコアプロセッサであるかまたはマルチコアプロセッサを含むことができる。プロセッサ1401は、揮発性内部メモリ1402、およびディスクドライブ1403などの大容量不揮発性メモリに結合することができる。サーバ208はまた、プロセッサ1401に結合された、フロッピー(登録商標)ディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブを含むことができる。サーバ208はまた、他のブロードキャストシステムコンピュータおよびサーバに結合されたローカルエリアネットワークなどのネットワークとデータ接続を確立するための、プロセッサ1401に結合されたネットワークアクセスポート1404を含むことができる。
上で説明された態様はまた、図15に示すラップトップコンピュータ110Cなどの種々のパーソナルコンピューティングデバイス内に実装され得る。多くのラップトップコンピュータは、コンピュータのポインティングデバイスとして働くタッチパッドのタッチ面1517を含み、したがって、タッチスクリーンディスプレイを備える上述のモバイルコンピューティングデバイスに実装されるものと同様のドラッグジェスチャ、スクロールジェスチャ、およびフリックジェスチャを受け入れることができる。ラップトップコンピュータ110Cは、通常、揮発性メモリ1512、およびフラッシュメモリのディスクドライブ1513などの大容量不揮発性メモリに結合されたプロセッサ1511を含む。ラップトップコンピュータ110Cはまた、プロセッサ1511に結合されたフロッピー(登録商標)ディスクドライブ1514およびコンパクトディスク(CD)ドライブ1515を含むことができる。ラップトップコンピュータ110Cはまた、USBもしくはFireWire(登録商標)コネクタソケット、または、プロセッサ1511をネットワークに結合するための他のネットワーク接続回路など、データ接続を確立するまたは外部メモリデバイスを受け入れるための、プロセッサ1511に結合されたいくつかのコネクタポートを含み得る。ノートブック構成では、コンピュータのハウジングは、すべてがプロセッサ1511に結合される、タッチパッド1517、キーボード1518、およびディスプレイ1519を含む。コンピューティングデバイスの他の構成は、よく知られているように、(たとえば、USB入力を介して)プロセッサに結合されたコンピュータマウスまたはトラックボールを含んでよく、それらはまた、様々な態様とともに使用され得る。
プロセッサ1331、1401、1411、1421、1431、および1511は、上記で説明した様々な態様の機能を含む、様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。いくつかのデバイスでは、ワイヤレス通信機能専用の1つのプロセッサおよび他のアプリケーションを走らせる専用の1つのプロセッサなどの多重プロセッサ1331、1401、1411、1421、1431、および1511が設けられ得る。一般的には、ソフトウェアアプリケーションは、アクセスされプロセッサ1331、1401、1411、1421、1431、および1511内にロードされる前に、内部メモリ1332、1402、および1403内に記憶され得る。プロセッサ1331、1401、1411、1421、1431、および1511は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。多くのデバイスでは、内部メモリは、揮発性メモリ、もしくはフラッシュメモリなどの不揮発性メモリ、または両方の混合であり得る。本明細書では、メモリへ一般的な言及は、内部メモリ、またはデバイスに差し込まれるリムーバブルメモリと、プロセッサ1331、1401、1411、1421、1431、および1511自体の中のメモリとを含む、プロセッサ1331、1401、1411、1421、1431、および1511によってアクセス可能なメモリを指す。
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供され、様々な態様の動作が提示された順番で実施されなければならないことを要求または暗示するものではない。当業者によって諒解されるように、上記の態様におけるステップの順番は、いかなる順番でも実行することができる。「その後」、「次いで」、「次に」などの言葉は、動作の順番を限定するものではなく、これらの言葉は単に、読者に本方法の説明を案内するために使用される。さらに、たとえば、冠詞「a」、「an」または「the」の使用による単数形での請求要素へのいかなる言及も、その要素を単数に限定するものとして解釈されるべきではない。
本明細書で開示された態様に関して記載された、様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装することができる。ハードウェアとソフトウェアのこの互換性を明確に示すために、上記では、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップについて、それらの機能に関して概略的に説明した。そのような機能性をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示された態様に関して記載された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別のハードウェアコンポーネント、または、本明細書に記載された機能を実行するように設計されたそれらの任意の組合せで、実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。代替として、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。
1つまたは複数の例示的な態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装することができる。機能は、ソフトウェアで実装される場合、1つまたは複数の命令またはコードとして、非一時的コンピュータ可読媒体または非一時的プロセッサ可読記憶媒体に記憶され得る。本明細書で開示する方法またはアルゴリズムのステップは、非一時的コンピュータ可読媒体上に常駐し得る、実行されるプロセッサ実行可能なソフトウェアモジュールで具現化され得る。非一時的コンピュータ可読媒体およびプロセッサ媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の利用可能な記憶媒体を含む。限定ではなく例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せも非一時的コンピュータ可読媒体の範囲内に含めるべきである。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的な機械可読媒体および/もしくは非一時的コンピュータ可読媒体上のコードならびに/または命令の、1つあるいは任意の組合せ、あるいはそのセットとして存在し得る。
開示された態様の上記の説明は、任意の当業者が本発明を製作または使用できるようになされている。これらの態様への様々な修正が当業者には容易に明らかであり、本明細書で定義された一般的な原理は、本発明の趣旨または範囲を逸脱することなく、他の態様に適用することができる。したがって、本発明は、本明細書で示された態様に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示された原理および新規の特徴に合致する、最も広い範囲を与えられるべきである。
100 通信システム
101 モバイルブロードキャストネットワーク
102 ブロードキャスト送信機
104 ブロードキャストオペレーションセンター
107 インターネット
111 ユニキャストネットワーク
110A、110B、110C モバイルコンピューティングデバイス
112 セルラー基地局
113 双方向ワイヤレス通信リンク
116 サーバ
205 マニフェスト
208 サーバ
209 ウェブページ識別情報
210 ユーザエージェント情報
212 URL
216 オブジェクトの種類
218 オブジェクトのキャッシュ能力
222 レイアウト情報
224 ウェブページのタイムスタンプ
300 プロキシ構成
400 クラウドソーシング実施形態方法
412 ウェブサーバ
500 サーバソーシング実装形態
1331 プロセッサ
1332 内部メモリ
1401 プロセッサ
1402 内部メモリ
1403 ディスクドライブ
1404 ネットワークアクセスポート
1411、1421、1431 プロセッサシステム
1511 プロセッサ
1512 揮発性メモリ
1513 ディスクドライブ
1514 フロッピー(登録商標)ディスクドライブ
1515 コンパクトディスクドライブ
1517 タッチパッドタッチ面
1518 キーボード
1519 ディスプレイ

Claims (50)

  1. モバイルコンピューティングデバイスによるウェブページのレンダリングをサポートするための方法であって、
    複数のモバイルコンピューティングデバイスで前記ウェブページをレンダリングするステップであって、前記ウェブページはウェブサーバから前記モバイルコンピューティングデバイスの各々によって受信される、ステップと、
    前記複数のモバイルコンピューティングデバイス上でメタ情報を生成するステップであって、前記メタ情報は前記ウェブページのレンダリングの間に前記複数のモバイルコンピューティングデバイスの各々によって生成される、ステップと、
    前記ウェブページのレンダリングを完了した後、前記複数のモバイルコンピューティングデバイスの各々からクラウドソーシングサーバに前記生成されたメタ情報を送信し、前記ウェブページのレンダリングで使用されるユーザエージェントを特定するステップと、
    前記クラウドソーシングサーバで前記生成されたメタ情報を受信するステップと、
    前記複数のモバイルコンピューティングデバイスから受信された前記メタ情報に基づいて各ユーザエージェントについて前記ウェブページについてのマニフェストを生成するステップと、
    前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるステップと、
    前記リソースに割り当てられた優先順位に基づいて決定された順序で前記モバイルコンピューティングデバイス上で前記リソースを受信するステップと、
    前記モバイルコンピューティングデバイス上で前記ウェブページをレンダリングするステップと
    を含む方法。
  2. 前記モバイルコンピューティングデバイスが、前記ウェブページのレンダリングの間に生成されたメタ情報を前記クラウドソーシングサーバに送信するステップをさらに含む、請求項1に記載の方法。
  3. 前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるステップが、
    前記ウェブページと前記モバイルコンピューティングデバイス上に実装されたユーザエージェントとを特定する情報を前記クラウドソーシングサーバに送信するステップと、
    前記ウェブページおよび前記モバイルコンピューティングデバイス上に実装された前記ユーザエージェントに関する前記マニフェストを取得するステップと、
    前記取得されたマニフェストを前記モバイルコンピューティングデバイスに送信するステップと、
    前記マニフェストを前記モバイルコンピューティングデバイス上に記憶された情報と比較することによって、前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースを前記モバイルコンピューティングデバイスで特定するステップと、
    前記モバイルコンピューティングデバイスにおいて、前記マニフェストに基づいて、前記特定されたリソースに優先順位を割り当てるステップと
    を含む、請求項1に記載の方法。
  4. 前記リソースに割り当てられた優先順位によって決定された順序で前記モバイルコンピューティングデバイス上で前記リソースを受信するステップは、前記モバイルコンピューティングデバイスが、前記モバイルコンピューティングデバイスによって前記マニフェストに基づいて決定された順序で前記ウェブサーバから前記リソースをダウンロードすることを要求するステップを含む、請求項3に記載の方法。
  5. 前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるステップが、
    前記モバイルコンピューティングデバイスに関する情報を前記クラウドソーシングサーバに送信するステップと、
    前記ウェブページおよび前記モバイルコンピューティングデバイス上に実装された前記ユーザエージェントに関する前記マニフェストを取得するステップと、
    前記クラウドソーシングサーバにおいて、前記取得されたマニフェストを前記モバイルコンピューティングデバイスに関する情報と比較するステップと、
    前記クラウドソーシングサーバにおいて、前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースについての優先順位および適切なオブジェクトフォーマットを特定するステップと、
    前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースについての前記特定された優先順位および適切なオブジェクトフォーマットを前記モバイルコンピューティングデバイスに送信するステップと
    を含む、請求項1に記載の方法。
  6. 前記リソースに割り当てられた優先順位に基づいて決定された順序で前記モバイルコンピューティングデバイス上で前記リソースを受信するステップは、前記クラウドソーシングサーバが、前記マニフェストに基づいて前記クラウドソーシングサーバによって決定された順序で前記モバイルコンピューティングデバイスに前記リソースをプッシュするステップを含む、請求項5に記載の方法。
  7. 前記クラウドソーシングサーバが、リソースを前記モバイルコンピューティングデバイスの所望のフォーマットにコード変換するステップをさらに含む、請求項6に記載の方法。
  8. 前記メタ情報が、ユーザエージェントの情報、オブジェクトユニフォームリソースロケータのリスト、オブジェクト依存情報、オブジェクト種類情報、サイズ情報、およびレイアウト情報のうちの1つまたは複数を含む、請求項1に記載の方法。
  9. 前記メタ情報が、前記ウェブページのレンダリングの間にフェッチされたオブジェクトに関する情報を含む、請求項1に記載の方法。
  10. 前記メタ情報が、オブジェクト依存情報を含む、請求項1に記載の方法。
  11. 前記メタ情報が、ローカルキャッシュステータスおよび現在のネットワーク状態を含む、請求項1に記載の方法。
  12. モバイルコンピューティングデバイスによるウェブページのレンダリングをサポートするための方法であって、
    クラウドソーシングサーバにおいて複数のモバイルコンピューティングデバイスの各々からメタ情報を受信するステップであって、前記メタ情報は、前記複数のモバイルコンピューティングデバイスの各々において、様々な種類のユーザエージェントを使用して前記ウェブページをレンダリングする間に生成され、前記ウェブページは、ウェブサーバから前記モバイルコンピューティングデバイスの各々によって受信される、ステップと、
    前記受信されたメタ情報に基づいてユーザエージェントの各種類について前記ウェブページについてのマニフェストを生成するステップと、
    前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるステップと、
    記リソースに割り当てられた優先順位に基づいて決定された順序で前記モバイルコンピューティングデバイス上で前記リソースを受信するステップと、
    前記モバイルコンピューティングデバイス上で前記ウェブページをレンダリングするステップと、
    前記ウェブページのレンダリングを完了した後、前記モバイルコンピューティングデバイスによる前記ウェブページのレンダリングの間に前記モバイルコンピューティングデバイスによって生成されるメタ情報を前記クラウドソーシングサーバに送信するステップと
    を含む方法。
  13. 前記マニフェストを使用して、前記ウェブページを前記ユーザエージェントによってモバイルコンピューティングデバイス上にロードするのに必要なリソースに優先順位を割り当てるステップが、
    前記モバイルコンピューティングデバイスに関する情報による評価のための前記マニフェストを前記モバイルコンピューティングデバイスに送信するステップと、
    前記モバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要な前記リソースを前記モバイルコンピューティングデバイスにおいて特定するステップと、
    前記モバイルコンピューティングデバイスにおいて、特定された前記リソースに優先順位を割り当てるステップとを含む、請求項12に記載の方法。
  14. 前記リソースに割り当てられた優先順位によって決定された順序で前記モバイルコンピューティングデバイス上で前記リソースを受信するステップは、前記モバイルコンピューティングデバイスが、前記モバイルコンピューティングデバイスによって前記マニフェストに基づいて決定された順序で、前記ウェブサーバから前記リソースをダウンロードすることを要求するステップを含む、請求項13に記載の方法。
  15. 前記マニフェストを使用して、前記ウェブページをユーザエージェントによってモバイルコンピューティングデバイス上にロードするのに必要なリソースに優先順位を割り当てるステップは、
    前記モバイルコンピューティングデバイスに関する情報を前記クラウドソーシングサーバに送信するステップと、
    前記ウェブページと前記モバイルコンピューティングデバイス上に実装される前記ユーザエージェントとの前記マニフェストを取得するステップと、
    前記クラウドソーシングサーバにおいて、前記取得されたマニフェストと前記モバイルコンピューティングデバイスに関する前記情報を比較するステップと、
    前記クラウドソーシングサーバにおいて、前記モバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに関する優先順位および適切なオブジェクトフォーマットを特定するステップと、
    前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースに関する前記特定された優先順位および適切なオブジェクトフォーマットを前記モバイルコンピューティングデバイスに送信するステップとを含む、請求項12に記載の方法。
  16. 前記リソースに割り当てられた優先順位に基づいて決定された順序で前記モバイルコンピューティングデバイス上で前記リソースを受信するステップは、前記クラウドソーシングサーバが、前記リソースを、前記マニフェストに基づいて前記クラウドソーシングサーバによって決定された順序で前記モバイルコンピューティングデバイスにプッシュするステップをさらに含む、請求項15に記載の方法。
  17. 前記クラウドソーシングサーバがリソースを前記モバイルコンピューティングデバイスの所望のフォーマットにコード変換するステップをさらに含む、請求項16に記載の方法。
  18. メモリと前記メモリに結合されるプロセッサとを備えるモバイルコンピューティングデバイスであって、
    前記プロセッサは、動作を実行するためのプロセッサ実行可能命令により構成され、前記動作が、
    ウェブページと前記モバイルコンピューティングデバイス上に実装されるユーザエージェントとを特定する情報をクラウドソーシングサーバに送信するステップと、
    前記クラウドソーシングサーバから前記ウェブページおよび前記モバイルコンピューティングデバイス上に実装された前記ユーザエージェントについてのマニフェストを受信するステップであって、前記マニフェストは、複数のモバイルコンピューティングデバイスから受信されたメタ情報に基づいて前記クラウドソーシングサーバによって生成され、前記メタ情報は、前記ウェブページのレンダリングの間に前記複数のモバイルコンピューティングデバイスの各々によって生成される、ステップと、
    前記マニフェストを前記モバイルコンピューティングデバイス上に記憶された情報と比較することによって、前記ウェブページをロードするのに必要なリソースを特定するステップと、
    前記マニフェストに基づいて前記特定されたリソースに優先順位を割り当てるステップと、
    前記リソースに割り当てられた優先順位に基づいて決定された順序でウェブサーバから記リソースを受信するステップと、
    前記ウェブページをレンダリングするステップと、
    前記ウェブページのレンダリングを完了した後、前記モバイルコンピューティングデバイスの前記プロセッサによる前記ウェブページのレンダリングの間に前記モバイルコンピューティングデバイスの前記プロセッサによって生成されたメタ情報を前記クラウドソーシングサーバに送信するステップと
    を含む、モバイルコンピューティングデバイス。
  19. 前記リソースに割り当てられた優先順位に基づいて決定された順序で前記リソースを受信するステップが、前記マニフェストに基づく順序で前記ウェブサーバから前記リソースをダウンロードすることを要求するステップを含むように、前記プロセッサがプロセッサ実行可能命令により構成される、請求項18に記載のモバイルコンピューティングデバイス。
  20. メモリと、前記メモリに結合されるサーバプロセッサとを備えるクラウドソーシングサーバであって、
    前記サーバプロセッサは、動作を実行するためのプロセッサ実行可能命令により構成され、前記動作が、
    複数のモバイルコンピューティングデバイスの各々からメタ情報を受信するステップであって、前記メタ情報は、前記複数のモバイルコンピューティングデバイスの各々において様々な種類のユーザエージェントを使用してウェブページをレンダリングする結果として生成され、前記ウェブページはウェブサーバから前記モバイルコンピューティングデバイスの各々によって受信される、ステップと、
    ユーザエージェントの各種類について前記ウェブページについてのマニフェストを前記受信されたメタ情報に基づいて生成するステップと、
    前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるステップと、
    前記リソースに割り当てられた優先順位に基づいて決定された順序で前記リソースを前記モバイルコンピューティングデバイスに送信するステップと、
    前記モバイルコンピューティングデバイスによる前記ウェブページのレンダリングの間に前記モバイルコンピューティングデバイスによって生成されるメタ情報を前記モバイルコンピューティングデバイスから受信するステップであって、前記メタ情報は、前記モバイルコンピューティングデバイスが前記ウェブページのレンダリングを完了した後に受信される、ステップと
    を含む、クラウドソーシングサーバ。
  21. 前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるステップが、前記モバイルコンピューティングデバイスに関する情報による評価のための前記マニフェストを前記モバイルコンピューティングデバイスに送信するステップを含むように、前記サーバプロセッサがサーバプロセッサ実行可能命令により構成される、請求項20に記載のクラウドソーシングサーバ。
  22. 前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるステップが、
    前記モバイルコンピューティングデバイスに関する情報を受信するステップと、
    前記マニフェストを使用して前記受信された情報を評価するステップと、
    前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースについての優先順位および適切なオブジェクトフォーマットを特定するステップと、
    前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースについての前記特定された優先順位および適切なオブジェクトフォーマットを前記モバイルコンピューティングデバイスに送信するステップと
    を含むように、前記サーバプロセッサがサーバプロセッサ実行可能命令により構成される、請求項20に記載のクラウドソーシングサーバ。
  23. 前記リソースに割り当てられた優先順位に基づいて決定された順序で前記リソースを前記モバイルコンピューティングデバイスに送信するステップが、前記マニフェストに基づく順序で前記リソースを前記モバイルコンピューティングデバイスにプッシュするステップを含むように、前記サーバプロセッサがサーバプロセッサ実行可能命令により構成される、請求項22に記載のクラウドソーシングサーバ。
  24. 前記サーバプロセッサは、リソースを前記モバイルコンピューティングデバイスの所望のフォーマットにコード変換するステップをさらに含む動作を実行するようにサーバプロセッサ実行可能命令により構成される、請求項23に記載のクラウドソーシングサーバ。
  25. ウェブページとモバイルコンピューティングデバイス上に実装されるユーザエージェントとを特定する情報をクラウドソーシングサーバに送信するための手段と、
    前記ウェブページおよび前記モバイルコンピューティングデバイス上に実装された前記ユーザエージェントについてのマニフェストを前記クラウドソーシングサーバから受信するための手段であって、前記マニフェストは、複数のモバイルコンピューティングデバイスから受信されたメタ情報に基づいて前記クラウドソーシングサーバによって生成され、前記メタ情報は、前記ウェブページのレンダリングの間に前記複数のモバイルコンピューティングデバイスの各々によって生成される、手段と、
    前記マニフェストを前記モバイルコンピューティングデバイス上に記憶された情報と比較することによって、前記ウェブページをロードするのに必要なリソースを特定するための手段と、
    前記マニフェストに基づき前記特定されたリソースに優先順位を割り当てるための手段と、
    前記リソースに割り当てられた優先順位に基づいて決定された順序でウェブサーバから前記リソースを受信するための手段と、
    前記ウェブページをレンダリングするための手段と、
    前記モバイルコンピューティングデバイスによる前記ウェブページのレンダリングの間に、前記モバイルコンピューティングデバイスによって生成されるメタ情報を前記クラウドソーシングサーバに送信するための手段であって、前記メタ情報は、前記モバイルコンピューティングデバイスが前記ウェブページのレンダリングを完了した後に送信される、手段と
    を含む、モバイルコンピューティングデバイス。
  26. 前記リソースに割り当てられた優先順位に基づいて決定された順序で前記リソースを受信するための手段は、前記リソースを前記マニフェストに基づく順序で前記ウェブサーバからダウンロードすることを要求するための手段を含む、請求項25に記載のモバイルコンピューティングデバイス。
  27. 複数のモバイルコンピューティングデバイスの各々からメタ情報を受信するための手段であって、前記メタ情報は、前記複数のモバイルコンピューティングデバイスの各々において様々な種類のユーザエージェントを使用してウェブページをレンダリングする結果として生成され、前記ウェブページはウェブサーバから前記モバイルコンピューティングデバイスの各々によって受信される、手段と、
    前記受信されたメタ情報に基づいてユーザエージェントの各種類について前記ウェブページについてのマニフェストを生成するための手段と、
    前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるための手段と、
    前記リソースに割り当てられた優先順位に基づいて決定された順序で前記リソースを前記モバイルコンピューティングデバイスに送信するための手段と、
    前記モバイルコンピューティングデバイスによる前記ウェブページのレンダリングの間に前記モバイルコンピューティングデバイスにより生成されるメタ情報を前記モバイルコンピューティングデバイスから受信するための手段であって、前記メタ情報は、前記モバイルコンピューティングデバイスが前記ウェブページのレンダリングを完了した後に受信される、手段と
    を含む、クラウドソーシングサーバ。
  28. 前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるための手段が、前記モバイルコンピューティングデバイスに関する情報による評価のための前記マニフェストを前記モバイルコンピューティングデバイスに送信するための手段を含む、請求項27に記載のクラウドソーシングサーバ。
  29. 前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるための手段が、
    前記モバイルコンピューティングデバイスに関する情報を受信するための手段と、
    前記マニフェストを使用して前記受信された情報を評価するための手段と、
    前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースについての優先順位および適切なオブジェクトフォーマットを特定するための手段と、
    前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースについての前記特定された優先順位および適切なオブジェクトフォーマットを前記モバイルコンピューティングデバイスに送信するための手段と
    を含む、請求項27に記載のクラウドソーシングサーバ。
  30. 前記リソースに割り当てられた優先順位に基づいて決定された順序で前記リソースを前記モバイルコンピューティングデバイスに送信するための手段が、前記マニフェストに基づく順序で前記リソースを前記モバイルコンピューティングデバイスにプッシュするための手段を含む、請求項29に記載のクラウドソーシングサーバ。
  31. リソースを前記モバイルコンピューティングデバイスの所望のフォーマットにコード変換するための手段をさらに含む、請求項30に記載のクラウドソーシングサーバ。
  32. プロセッサ実行可能ソフトウェア命令をその上に記録する非一時的プロセッサ可読記録媒体であって、前記プロセッサ実行可能ソフトウェア命令がモバイルコンピューティングデバイスのプロセッサに動作を実行させるように構成され、前記動作が、
    ウェブページと前記モバイルコンピューティングデバイス上に実装されるユーザエージェントとを特定する情報をクラウドソーシングサーバに送信するステップと、
    前記ウェブページおよび前記モバイルコンピューティングデバイス上に実装された前記ユーザエージェントのためのマニフェストを前記クラウドソーシングサーバから受信するステップであって、前記マニフェストは、複数のモバイルコンピューティングデバイスから受信されたメタ情報に基づいて前記クラウドソーシングサーバによって生成され、前記メタ情報は、前記ウェブページのレンダリングの間に前記複数のモバイルコンピューティングデバイスの各々によって生成される、ステップと、
    前記マニフェストを前記モバイルコンピューティングデバイス上に記憶された情報と比較することによって、前記ウェブページをロードするのに必要なリソースを特定するステップと、
    前記マニフェストに基づいて前記特定されたリソースに優先順位を割り当てるステップと、
    前記リソースに割り当てられた優先順位に基づいて決定された順序でウェブサーバから前記リソースを受信するステップと、
    前記ウェブページをレンダリングするステップと、
    前記モバイルコンピューティングデバイスの前記プロセッサによる前記ウェブページのレンダリングの間に前記モバイルコンピューティングデバイスの前記プロセッサによって生成されるメタ情報を前記クラウドソーシングサーバに送信するステップであって、前記メタ情報は、前記モバイルコンピューティングデバイスの前記プロセッサが前記ウェブページのレンダリングを完了した後に送信される、ステップと
    を含む、非一時的プロセッサ可読記録媒体。
  33. 前記リソースに割り当てられた優先順位に基づいて決定された順序で前記リソースを受信するステップが、前記マニフェストに基づく順序で前記ウェブサーバから前記リソースをダウンロードすることを要求するステップを含むように、前記記録されたプロセッサ実行可能ソフトウェア命令が、プロセッサに動作を実行させるように構成される、請求項32に記載の非一時的プロセッサ可読記録媒体。
  34. サーバプロセッサ実行可能命令をその上に記録する非一時的サーバ可読記録媒体であって、前記サーバプロセッサ実行可能命令がクラウドソーシングサーバのサーバプロセッサに動作を実行させるように構成され、前記動作が、
    複数のモバイルコンピューティングデバイスの各々からメタ情報を受信するステップであって、前記メタ情報は、前記複数のモバイルコンピューティングデバイスの各々において様々な種類のユーザエージェントを使用してウェブページをレンダリングする結果として生成され、前記ウェブページはウェブサーバから前記モバイルコンピューティングデバイスの各々によって受信される、ステップと、
    収集されたメタ情報に基づいて、ユーザエージェントの各種類について前記ウェブページについてのマニフェストを生成するステップと、
    前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるステップと、
    前記リソースに割り当てられた優先順位に基づいて決定された順序で前記リソースを前記モバイルコンピューティングデバイスに送信するステップと、
    前記モバイルコンピューティングデバイスによる前記ウェブページのレンダリングの間に前記モバイルコンピューティングデバイスによって生成されるメタ情報を前記モバイルコンピューティングデバイスから受信するステップであって、前記メタ情報は、前記モバイルコンピューティングデバイスが前記ウェブページのレンダリングを完了した後に受信される、ステップと
    を含む、非一時的サーバ可読記録媒体。
  35. 前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるステップが、前記モバイルコンピューティングデバイスに関する情報による評価のための前記マニフェストを前記モバイルコンピューティングデバイスに送信するステップを含むように、前記記録されたサーバプロセッサ実行可能命令が、サーバプロセッサに動作を実行させるように構成される、請求項34に記載の非一時的サーバ可読記録媒体。
  36. 前記マニフェストを使用して、ユーザエージェントによってモバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるステップが、
    前記モバイルコンピューティングデバイスに関する情報を受信するステップと、
    前記マニフェストを使用して前記受信された情報を評価するステップと、
    前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースについての優先順位および適切なオブジェクトフォーマットを特定するステップと、
    前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースについての前記特定された優先順位および適切なオブジェクトフォーマットを前記モバイルコンピューティングデバイスに送信するステップと
    を含むように、前記記録されたサーバプロセッサ実行可能命令がサーバプロセッサに動作を実行させるように構成される、請求項34に記載の非一時的サーバ可読記録媒体。
  37. 前記リソースに割り当てられた優先順位に基づいて決定された順序で前記リソースを前記モバイルコンピューティングデバイスに送信するステップが、前記マニフェストに基づく順序で前記リソースを前記モバイルコンピューティングデバイスにプッシュするステップを含むように、前記記録されたサーバプロセッサ実行可能命令が、サーバプロセッサに動作を実行させるように構成される、請求項36に記載の非一時的サーバ可読記録媒体。
  38. 前記記録されたサーバプロセッサ実行可能命令が、リソースを前記モバイルコンピューティングデバイスの所望のフォーマットにコード変換するステップをさらに含む動作をサーバプロセッサに実行させるように構成される、請求項37に記載の非一時的サーバ可読記録媒体。
  39. クラウドソーシングサーバと、
    複数のモバイルコンピューティングデバイスとを含むシステムであって、
    前記複数のモバイルコンピューティングデバイスの各モバイルコンピューティングデバイスは、
    メモリと、
    前記メモリに結合されたプロセッサとを含み、前記プロセッサは動作を実行するようにプロセッサ実行可能命令により構成され、前記動作は、
    ウェブサーバから受信されたウェブページをレンダリングするステップと、
    前記ウェブページのレンダリングの間に、メタ情報を生成するステップと、
    前記ウェブページのレンダリングを完了した後に、前記クラウドソーシングサーバに前記生成されたメタ情報を送信し、前記ウェブページのレンダリングで使用されるユーザエージェントを特定するステップとを含み、
    前記クラウドソーシングサーバは、
    メモリと、
    前記メモリに結合されたサーバプロセッサとを含み、前記サーバプロセッサは動作を実行するためのサーバプロセッサ実行可能命令により構成され、前記動作が、
    様々なユーザエージェントにより前記複数のモバイルコンピューティングデバイスから前記ウェブページをロードすることに基づきメタ情報を受信するステップと、
    ユーザエージェントによって前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるための情報を提供するように構成されるマニフェストを、前記複数のモバイルコンピューティングデバイスから受信された前記メタ情報に基づいて生成するステップとを含み、
    各モバイルコンピューティングデバイスの前記プロセッサは、
    前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるための前記マニフェスト内の前記情報に基づいて決定される順序で、前記ユーザエージェントにより前記ウェブページをロードするのに必要なリソースのうちのリソースを受信するステップと、
    前記ウェブページをレンダリングするステップと
    をさらに含む動作を実行するためのプロセッサ実行可能命令により構成される、システム。
  40. 各モバイルコンピューティングデバイスの前記プロセッサは、
    前記ウェブページと前記モバイルコンピューティングデバイス上に実装された前記ユーザエージェントとを特定する情報を前記クラウドソーシングサーバに送信するステップと、
    前記クラウドソーシングサーバから前記マニフェストを受信するステップと、
    前記マニフェストを前記モバイルコンピューティングデバイス上に記憶された情報と比較することによって、前記ユーザエージェントにより前記モバイルコンピューティングデバイス上に前記ウェブページをロードするのに必要なリソースを特定するステップと、
    前記モバイルコンピューティングデバイスにおいて、前記マニフェストに基づいて前記特定されたリソースに優先順位を割り当てるステップとを
    をさらに含む動作を実行するためのプロセッサ実行可能命令により構成され、
    各モバイルコンピューティングデバイスの前記プロセッサは、
    前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるための前記マニフェスト内の前記情報に基づいて決定される順序で、前記ユーザエージェントにより前記ウェブページをロードするのに必要なリソースのうちのリソースを受信するステップが、
    前記モバイルコンピューティングデバイスによって割り当てられる優先順位に基づく順序で前記ユーザエージェントにより前記ウェブページをロードするための前記リソースを要求するステップと、
    前記リソースを受信するステップと
    を含むように、プロセッサ実行可能命令により構成され、
    前記クラウドソーシングサーバは、
    前記ウェブページと前記複数のモバイルコンピューティングデバイスのうちの1つの上で実装される前記ユーザエージェントとを特定する前記情報を受信するステップと、
    前記ウェブページ、および前記複数のモバイルコンピューティングデバイスのうちの前記1つの上で実装される前記ユーザエージェントに関する前記マニフェストを取得するステップと、
    前記取得されたマニフェストを前記複数のモバイルコンピューティングデバイスのうちの前記1つに送信するステップと
    をさらに含む動作を実行するためのサーバプロセッサ実行可能命令により構成される、請求項39に記載のシステム。
  41. 各モバイルコンピューティングデバイスの前記プロセッサは、
    前記モバイルコンピューティングデバイスによって割り当てられる優先順位に基づく順序で前記ユーザエージェントにより前記ウェブページをロードするための前記リソースを要求するステップが、前記マニフェストに基づいて前記モバイルコンピューティングデバイスのプロセッサにより決定される順序でウェブサーバから前記リソースをダウンロードすることを要求するステップを含むように、プロセッサ実行可能命令で構成される、請求項40に記載のシステム。
  42. 各モバイルコンピューティングデバイスの前記プロセッサが、前記モバイルコンピューティングデバイスに関する情報を前記クラウドソーシングサーバに送信するステップをさらに含む動作を実行するためのプロセッサ実行可能命令により構成され、
    各モバイルコンピューティングデバイスの前記プロセッサは、前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるための前記マニフェスト内の前記情報に基づいて決定される順序で、前記ユーザエージェントにより前記ウェブページをロードするのに必要なリソースのうちのリソースを受信するステップが、
    前記クラウドソーシングサーバによって送信される優先順位および適切なオブジェクトフォーマットに基づく順序で前記ユーザエージェントによって前記ウェブページをロードするための前記リソースを要求するステップと、
    前記リソースを受信するステップとを含むようにプロセッサ実行可能命令により構成され、
    前記クラウドソーシングサーバは、
    前記複数のモバイルコンピューティングデバイスの1つに関する前記情報を受信するステップと、
    前記ウェブページ、および前記複数のモバイルコンピューティングデバイスのうちの前記1つの上で実装される前記ユーザエージェントに関する前記マニフェストを取得するステップと、
    前記取得されたマニフェストを、前記複数のモバイルコンピューティングデバイスのうちの前記1つに関する前記情報と比較するステップと、
    前記複数のモバイルコンピューティングデバイスのうちの前記1つの上に前記ユーザエージェントにより前記ウェブページをロードするのに必要なリソースについての優先順位および適切なオブジェクトフォーマットを特定するステップと、
    前記複数のモバイルコンピューティングデバイスのうちの前記1つの上に前記ユーザエージェントによって前記ウェブページをロードするのに必要なリソースについての前記特定された優先順位および適切なオブジェクトフォーマットを、前記複数のモバイルコンピューティングデバイスのうちの前記1つに送信するステップとをさらに含む動作を実行するためのサーバプロセッサ実行可能命令により構成される、請求項39に記載のシステム。
  43. 前記クラウドソーシングサーバは、
    前記複数のモバイルコンピューティングデバイスのうちの前記1つの上に前記ユーザエージェントにより前記ウェブページをロードするのに必要なリソースについての前記特定された優先順位および適切なオブジェクトフォーマットを前記複数のモバイルコンピューティングデバイスのうちの前記1つに送信するステップが、前記マニフェストに基づいて前記クラウドソーシングサーバによって決定された順序で前記複数のモバイルコンピューティングデバイスのうちの前記1つに前記リソースをプッシュするステップを含むように、サーバプロセッサ実行可能命令により構成される、請求項42に記載のシステム。
  44. 前記クラウドソーシングサーバが、前記複数のモバイルコンピューティングデバイスのうちの前記1つのための所望のフォーマットにリソースをコード変換するステップをさらに含む動作を実行するためのサーバプロセッサ実行可能命令により構成される、請求項43に記載のシステム。
  45. クラウドソーシングサーバと、モバイルコンピューティングデバイスとを含むシステムであって、
    前記クラウドソーシングサーバが、
    メモリと、
    前記メモリに結合されるサーバプロセッサを含み、前記サーバプロセッサが、
    複数のモバイルコンピューティングデバイスの各々からメタ情報を受信するステップであって、前記メタ情報は、前記複数のモバイルコンピューティングデバイスの各々において様々な種類のユーザエージェントを使用してウェブページをレンダリングする間に生成される、ステップと、
    ユーザエージェントにより前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるための情報を提供するように構成されるマニフェストを、前記生成されたメタ情報に基づいて生成するステップと
    を含む動作を実行するためのサーバプロセッサ実行可能命令により構成され、
    前記モバイルコンピューティングデバイスが、
    メモリ、および前記メモリに結合されるデバイスプロセッサを含み、前記デバイスプロセッサが、
    前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるための前記マニフェスト内の前記情報に基づいて決定される順序で、前記ユーザエージェントによりウェブサーバから前記ウェブページをロードするのに必要なリソースのうちのリソースを受信するステップと、
    前記ウェブページをレンダリングするステップと、
    前記ウェブページのレンダリングの間に生成されたメタ情報を前記クラウドソーシングサーバに送信するステップであって、前記メタ情報は、前記モバイルコンピューティングデバイスが前記ウェブページのレンダリングを完了した後に送信される、ステップと
    を含む動作を実行するためのプロセッサ実行可能命令により構成される、システム。
  46. 前記デバイスプロセッサが、
    前記ウェブページと前記モバイルコンピューティングデバイス上に実装された前記ユーザエージェントとを特定する情報を前記クラウドソーシングサーバに送信するステップと、
    前記クラウドソーシングサーバから前記マニフェストを受信するステップと、
    前記マニフェストを前記モバイルコンピューティングデバイス上に記憶された情報と比較することによって、前記ユーザエージェントにより前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースを特定するステップと、
    前記モバイルコンピューティングデバイスにおいて、前記特定されたリソースに優先順位を前記マニフェストに基づいて割り当てるステップと、
    をさらに含む動作を実行するようにプロセッサ実行可能命令により構成され、
    前記デバイスプロセッサは、前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるための前記マニフェスト内の情報に基づいて決定される順序で前記ユーザエージェントにより前記ウェブページをロードするのに必要なリソースのうちのリソースを受信するステップが、
    前記モバイルコンピューティングデバイスにより割り当てられる優先順位に基づく順序で、前記ユーザエージェントにより前記ウェブページをロードするためのリソースを要求するステップと、
    前記リソースを受信するステップと
    を含むようにプロセッサ実行可能命令により構成され、
    前記サーバプロセッサは、
    前記ウェブページと前記モバイルコンピューティングデバイス上に実装された前記ユーザエージェントとを特定する情報を受信するステップと、
    前記ウェブページおよび前記モバイルコンピューティングデバイス上に実装された前記ユーザエージェントに関する前記マニフェストを取得するステップと、
    前記取得されたマニフェストを前記モバイルコンピューティングデバイスに送信するステップ
    をさらに含む動作を実行するためのサーバプロセッサ実行可能命令により構成される、請求項45に記載のシステム。
  47. 前記モバイルコンピューティングデバイスによって割り当てられる優先順位に基づく順序で前記ユーザエージェントにより前記ウェブページをロードするための前記リソースを要求するステップが、前記モバイルコンピューティングデバイスによって前記マニフェストに基づいて決定された順序で前記ウェブサーバから前記リソースをダウンロードすることを要求するステップを含むように、前記デバイスプロセッサがプロセッサ実行可能命令により構成される、請求項46に記載のシステム。
  48. 前記デバイスプロセッサが、前記モバイルコンピューティングデバイスに関する情報を前記クラウドソーシングサーバに送信するステップをさらに含む動作を実行するためのプロセッサ実行可能命令により構成され、
    前記デバイスプロセッサは、前記ウェブページをロードするのに必要なリソースに優先順位を割り当てるための前記マニフェスト内の情報に基づいて決定される順序で、前記ユーザエージェントにより前記ウェブページをロードするのに必要なリソースのうちのリソースを受信するステップが、
    前記クラウドソーシングサーバにより送信される優先順位および適切なオブジェクトフォーマットに基づく順序で前記ユーザエージェントによって前記ウェブページをロードするためのリソースを要求するステップと、
    前記リソースを受信するステップと、
    を含むように、プロセッサ実行可能命令により構成され、
    前記サーバプロセッサは、
    前記モバイルコンピューティングデバイスに関する情報を受信するステップと、
    前記ウェブページおよび前記モバイルコンピューティングデバイス上に実装された前記ユーザエージェントに関する前記マニフェストを取得するステップと、
    前記取得されたマニフェストを前記モバイルコンピューティングデバイスに関する情報と比較するステップと、
    前記ユーザエージェントにより前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースについての優先順位および適切なオブジェクトフォーマットを特定するステップと、
    前記ユーザエージェントによって前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースについての前記特定された優先順位および適切なオブジェクトフォーマットを、前記モバイルコンピューティングデバイスに送信するステップと
    をさらに含む動作を実行するためのサーバプロセッサ実行可能命令により構成される、請求項45に記載のシステム。
  49. 前記ユーザエージェントによって前記ウェブページを前記モバイルコンピューティングデバイス上にロードするのに必要なリソースについての前記特定された優先順位および適切なオブジェクトフォーマットを、前記モバイルコンピューティングデバイスに送信するステップが、前記マニフェストに基づいて前記クラウドソーシングサーバによって決定された順序で前記リソースを前記モバイルコンピューティングデバイスにプッシュするステップを含むように、前記サーバプロセッサがサーバプロセッサ実行可能命令により構成される、請求項48に記載のシステム。
  50. 前記サーバプロセッサが、リソースを前記モバイルコンピューティングデバイスの所望のフォーマットにコード変換するステップをさらに含む動作を実行するためのサーバプロセッサ実行可能命令により構成される、請求項49に記載のシステム。
JP2014558797A 2012-02-24 2013-02-20 共有メタ情報に基づくウェブページの協調的ローディング Expired - Fee Related JP6109202B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261602777P 2012-02-24 2012-02-24
US61/602,777 2012-02-24
US201261621629P 2012-04-09 2012-04-09
US61/621,629 2012-04-09
US13/468,016 US9325806B2 (en) 2012-02-24 2012-05-09 Cooperative loading of webpages based on shared meta information
US13/468,016 2012-05-09
PCT/US2013/026865 WO2013126408A1 (en) 2012-02-24 2013-02-20 Cooperative loading of webpages based on shared meta information

Publications (3)

Publication Number Publication Date
JP2015513144A JP2015513144A (ja) 2015-04-30
JP2015513144A5 JP2015513144A5 (ja) 2016-08-04
JP6109202B2 true JP6109202B2 (ja) 2017-04-05

Family

ID=49004458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014558797A Expired - Fee Related JP6109202B2 (ja) 2012-02-24 2013-02-20 共有メタ情報に基づくウェブページの協調的ローディング

Country Status (6)

Country Link
US (2) US9325806B2 (ja)
EP (1) EP2817742A1 (ja)
JP (1) JP6109202B2 (ja)
KR (1) KR101711528B1 (ja)
CN (1) CN104137104B (ja)
WO (1) WO2013126408A1 (ja)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10897482B2 (en) * 2010-11-29 2021-01-19 Biocatch Ltd. Method, device, and system of back-coloring, forward-coloring, and fraud detection
US20190158535A1 (en) * 2017-11-21 2019-05-23 Biocatch Ltd. Device, System, and Method of Detecting Vishing Attacks
US20240080339A1 (en) * 2010-11-29 2024-03-07 Biocatch Ltd. Device, System, and Method of Detecting Vishing Attacks
US10069837B2 (en) * 2015-07-09 2018-09-04 Biocatch Ltd. Detection of proxy server
US10834590B2 (en) 2010-11-29 2020-11-10 Biocatch Ltd. Method, device, and system of differentiating between a cyber-attacker and a legitimate user
US10917431B2 (en) 2010-11-29 2021-02-09 Biocatch Ltd. System, method, and device of authenticating a user based on selfie image or selfie video
US11210674B2 (en) 2010-11-29 2021-12-28 Biocatch Ltd. Method, device, and system of detecting mule accounts and accounts used for money laundering
US9912718B1 (en) 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
US11983233B2 (en) 2011-04-11 2024-05-14 Viasat, Inc. Browser based feedback for optimized web browsing
US9146909B2 (en) * 2011-07-27 2015-09-29 Qualcomm Incorporated Web browsing enhanced by cloud computing
KR101844512B1 (ko) * 2011-11-18 2018-05-21 삼성전자주식회사 어플리케이션 이용 방법, 그를 이용한 게이트웨이, 그를 이용한 단말기, 및 그를 이용한 통신 시스템
US9325806B2 (en) 2012-02-24 2016-04-26 Qualcomm Incorporated Cooperative loading of webpages based on shared meta information
US9747386B1 (en) * 2012-08-10 2017-08-29 Amazon Technologies, Inc. User-perceived performance through browser hints
US8656265B1 (en) * 2012-09-11 2014-02-18 Google Inc. Low-latency transition into embedded web view
KR102081012B1 (ko) 2012-10-08 2020-02-24 패트릭 순-시옹 분산 저장 시스템 및 방법
CN104662547A (zh) * 2012-10-19 2015-05-27 迈克菲股份有限公司 移动应用管理
US8793573B2 (en) * 2012-10-29 2014-07-29 Dropbox, Inc. Continuous content item view enhanced through smart loading
US20140143648A1 (en) * 2012-11-16 2014-05-22 Vladimir Kolesnikov Bolt Shadow Workers
US10296562B2 (en) * 2013-02-12 2019-05-21 Oath Inc. Dynamic generation of mobile web experience
US9516092B2 (en) * 2013-03-13 2016-12-06 Google Inc. Precompiling locally-stored instructions for a web application
US9298455B1 (en) 2013-03-15 2016-03-29 Instart Logic, Inc. Provisional execution of dynamic content component
US9363329B1 (en) 2013-03-15 2016-06-07 Instart Logic, Inc. Identifying correlated components of dynamic content
US20140337254A1 (en) * 2013-05-07 2014-11-13 International Business Machines Corporation Recommending actions for social media engagements
US10803232B2 (en) 2013-06-06 2020-10-13 International Business Machines Corporation Optimizing loading of web page based on aggregated user preferences for web page elements of web page
US20140380480A1 (en) * 2013-06-25 2014-12-25 Tencent Technology (Shenzhen) Company Limited Method, device and system for identifying harmful websites
JP2015052821A (ja) * 2013-09-05 2015-03-19 株式会社東芝 通信装置および通信方法
US9785452B2 (en) * 2013-10-09 2017-10-10 Cisco Technology, Inc. Framework for dependency management and automatic file load in a network environment
US8924850B1 (en) * 2013-11-21 2014-12-30 Google Inc. Speeding up document loading
US10009439B1 (en) * 2013-12-05 2018-06-26 Instart Logic, Inc. Cache preloading
US10757214B2 (en) * 2013-12-20 2020-08-25 Intel Corporation Crowd sourced online application cache management
KR102170520B1 (ko) * 2014-03-06 2020-10-27 삼성전자주식회사 로딩 타임을 개선하는 전자 장치 및 방법
US10021207B1 (en) * 2014-03-21 2018-07-10 Amazon Technologies, Inc. Architecture for proactively providing bundled content items to client devices
KR20150128283A (ko) * 2014-05-09 2015-11-18 한국전자통신연구원 고해상도 콘텐츠에서 공유영역을 활용하여 관심영역을 제공하는 다자간 콘텐츠 서비스 방법 및 시스템
US10855797B2 (en) 2014-06-03 2020-12-01 Viasat, Inc. Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback
US9992263B2 (en) * 2014-10-10 2018-06-05 Pulse Secure, Llc Predictive prioritized server push of resources
CN105760396B (zh) * 2014-12-17 2019-10-25 广州市动景计算机科技有限公司 一种网页加载方法及装置
WO2016107636A1 (en) * 2014-12-29 2016-07-07 Telefonaktiebolaget Lm Ericsson (Publ) Technique for enhancing rendering of displayable content
WO2016107654A1 (en) * 2014-12-30 2016-07-07 Telefonaktiebolaget Lm Ericsson (Publ) Technique for providing quality enhancements to an application residing on a user terminal
US9813480B2 (en) * 2015-01-08 2017-11-07 Instart Logic, Inc. Placeholders for dynamic components in HTML streaming
JP6482330B2 (ja) * 2015-03-09 2019-03-13 キヤノン株式会社 通信装置、通信方法、及びプログラム
US10057314B2 (en) * 2015-04-17 2018-08-21 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic packager network based ABR media distribution and delivery
US10033656B2 (en) * 2015-05-21 2018-07-24 Sap Portals Israel Ltd Critical rendering path optimization
US10417317B2 (en) * 2015-07-27 2019-09-17 Adp, Llc Web page profiler
US11843679B2 (en) * 2015-07-27 2023-12-12 Wp Company Llc Automated dependency management based on page components
US10789654B1 (en) * 2015-07-27 2020-09-29 Intuit Inc. Web browsing systems for acquiring tax data during electronic tax return preparation
US10084884B2 (en) * 2015-07-31 2018-09-25 At&T Intellectual Property I, L.P. Facilitation of efficient web site page loading
WO2017048226A1 (en) * 2015-09-14 2017-03-23 Viasat, Inc. Machine-driven crowd-disambiguation of data resources
US10613713B2 (en) 2015-10-07 2020-04-07 Google Llc Integration of content in non-browser applications
CN106598966B (zh) * 2015-10-14 2020-09-01 阿里巴巴集团控股有限公司 一种网页处理方法和装置
WO2017069735A1 (en) 2015-10-20 2017-04-27 Viasat, Inc. Hint model updating using automated browsing clusters
EP4300328A1 (en) * 2015-10-28 2024-01-03 ViaSat Inc. Time-dependent machine-generated hinting
US9923993B2 (en) 2015-11-02 2018-03-20 Rockwell Automation Technologies, Inc. Self-describing diagnostic data for presentation on mobile devices
WO2017096269A1 (en) 2015-12-04 2017-06-08 Viasat, Inc. Accelerating connections to a host server
US10868881B1 (en) 2015-12-30 2020-12-15 Mingtai Chang Loading web resources using remote resource pushing
CN108476244A (zh) * 2016-01-13 2018-08-31 三星电子株式会社 通过利用网络延迟来缩短页面加载时间的方法和***
CN107408189B (zh) * 2016-02-01 2024-02-02 谷歌有限责任公司 针对干扰在信息资源上渲染内容元素的未授权脚本部署对策的***和方法
US10116497B2 (en) * 2016-05-20 2018-10-30 Moneygram International, Inc. Systems and methods for providing split control of multiple execution environments
GB2552032B (en) 2016-07-08 2019-05-22 Aimbrain Solutions Ltd Step-up authentication
US20180052809A1 (en) 2016-08-16 2018-02-22 Microsoft Technology Licensing, Llc Inferring user interaction with an iframe
KR20180081231A (ko) * 2017-01-06 2018-07-16 삼성전자주식회사 데이터를 공유하기 위한 방법 및 그 전자 장치
CN108287839B (zh) * 2017-01-09 2022-01-28 阿里巴巴集团控股有限公司 一种页面加载方法和设备
US10785116B1 (en) * 2017-01-12 2020-09-22 Electronic Arts Inc. Computer architecture for asset management and delivery
EP3603025B1 (en) * 2017-03-29 2023-01-25 Amazon Technologies, Inc. Migration of information via storage devices
US20180336613A1 (en) * 2017-05-17 2018-11-22 Mz Ip Holdings, Llc System and method for managing limit orders
US11816622B2 (en) 2017-08-14 2023-11-14 ScoutZinc, LLC System and method for rating of personnel using crowdsourcing in combination with weighted evaluator ratings
US10684847B2 (en) * 2017-11-27 2020-06-16 Salesforce.Com, Inc. Content deployment system having a proxy for continuously providing selected content items to a content publishing engine for integration into a specific release and methods for implementing the same
CN108108400B (zh) * 2017-12-05 2020-12-11 厦门哨子科技有限公司 一种api基于本地数据增量的方法
CN108763297B (zh) * 2018-04-18 2021-08-17 Oppo广东移动通信有限公司 网页资源处理方法、装置以及移动终端
BR112020021766A2 (pt) * 2018-06-07 2021-01-26 Hewlett-Packard Development Company, L.P. servidores locais para gerenciar uma rede intermitente
CN109343862B (zh) * 2018-08-31 2022-05-06 北京三快在线科技有限公司 应用的资源数据的调度方法及装置
CN109558138A (zh) * 2018-11-20 2019-04-02 北京小米移动软件有限公司 后代选择器处理方法及装置
US10666528B1 (en) 2018-11-28 2020-05-26 Sap Portals Israel Ltd. Decoupling platform as a service providers using a service management platform
US11188450B2 (en) * 2020-04-02 2021-11-30 Sap Se Cloud application architecture using edge computing
CN111949330B (zh) * 2020-08-11 2022-06-24 深圳市前海手绘科技文化有限公司 一种手绘草稿加载方法
KR102533070B1 (ko) 2020-12-16 2023-05-15 고려대학교 산학협력단 웹 리소스 의존성 기반 리소스 우선순위화 방법, 이를 수행하기 위한 기록 매체 및 장치
CN112800362B (zh) * 2021-02-04 2024-05-17 百果园技术(新加坡)有限公司 一种界面视图延时加载方法及装置
US20230007067A1 (en) * 2021-06-30 2023-01-05 Tencent America LLC Bidirectional presentation datastream
US11606353B2 (en) 2021-07-22 2023-03-14 Biocatch Ltd. System, device, and method of generating and utilizing one-time passwords
CN115776598B (zh) * 2022-11-15 2024-05-03 聚好看科技股份有限公司 服务器、显示设备及视频播放组件的加载方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826031A (en) * 1996-06-10 1998-10-20 Sun Microsystems, Inc. Method and system for prioritized downloading of embedded web objects
JP3534027B2 (ja) * 1999-12-01 2004-06-07 日本電気株式会社 コンテンツ提供装置及びプログラムを記録した機械読み取り可能な記録媒体
US6549896B1 (en) * 2000-04-07 2003-04-15 Nec Usa, Inc. System and method employing random walks for mining web page associations and usage to optimize user-oriented web page refresh and pre-fetch scheduling
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US7000008B2 (en) * 2001-04-16 2006-02-14 Sun Microsystems, Inc. Method, system, and program for providing data updates to a page including multiple regions of dynamic content
JP3933452B2 (ja) * 2001-11-27 2007-06-20 シャープ株式会社 情報の入手を支援する支援方法および支援サーバ
US20030187806A1 (en) * 2002-03-28 2003-10-02 International Business Machines Corporation Calculating and displaying the cost of downloading web content
US7487185B2 (en) * 2003-02-24 2009-02-03 Microsoft Corporation Technique for changing views of web content
US8281037B2 (en) * 2005-01-03 2012-10-02 Orb Networks, Inc. System and method for delivering content to users on a network
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
US7694008B2 (en) * 2005-05-04 2010-04-06 Venturi Wireless Method and apparatus for increasing performance of HTTP over long-latency links
US20060294223A1 (en) * 2005-06-24 2006-12-28 Microsoft Corporation Pre-fetching and DNS resolution of hyperlinked content
US20080222273A1 (en) * 2007-03-07 2008-09-11 Microsoft Corporation Adaptive rendering of web pages on mobile devices using imaging technology
US8150869B2 (en) * 2008-03-17 2012-04-03 Microsoft Corporation Combined web browsing and searching
US20090249188A1 (en) 2008-03-27 2009-10-01 International Business Machines Corporation Method for adaptive transcription of web pages
JP5022301B2 (ja) * 2008-05-19 2012-09-12 株式会社エヌ・ティ・ティ・ドコモ プロキシサーバおよび通信中継プログラム、並びに通信中継方法
KR101496327B1 (ko) 2008-07-25 2015-02-26 삼성전자주식회사 어플리케이션 실행 방법 및 장치
US9213780B2 (en) * 2009-06-26 2015-12-15 Microsoft Technology Licensing Llc Cache and index refreshing strategies for variably dynamic items and accesses
CA2715362A1 (en) * 2009-09-22 2011-03-22 Thwapr, Inc. Interoperable mobile media sharing
JP2012032943A (ja) 2010-07-29 2012-02-16 Fujifilm Corp ウェブサイト閲覧システム、サーバ、サーバ用プログラム及びウェブサイト閲覧支援方法
CN101930459A (zh) * 2010-08-19 2010-12-29 百度在线网络技术(北京)有限公司 一种辅助用户设备实现网页的块状浏览的方法和网络设备
US20120144288A1 (en) * 2010-12-02 2012-06-07 International Business Machines Corporation Web page content display priority and bandwidth management
CN102314486A (zh) * 2011-08-04 2012-01-11 百度在线网络技术(北京)有限公司 一种用于页面浏览的方法与设备
US9325806B2 (en) 2012-02-24 2016-04-26 Qualcomm Incorporated Cooperative loading of webpages based on shared meta information

Also Published As

Publication number Publication date
KR101711528B1 (ko) 2017-03-13
KR20140128446A (ko) 2014-11-05
US20130226992A1 (en) 2013-08-29
US9749400B2 (en) 2017-08-29
US9325806B2 (en) 2016-04-26
JP2015513144A (ja) 2015-04-30
WO2013126408A1 (en) 2013-08-29
US20160205177A1 (en) 2016-07-14
CN104137104B (zh) 2018-01-23
CN104137104A (zh) 2014-11-05
EP2817742A1 (en) 2014-12-31

Similar Documents

Publication Publication Date Title
JP6109202B2 (ja) 共有メタ情報に基づくウェブページの協調的ローディング
US11758014B2 (en) Scheduling of application preloading in user devices
CN107251525B (zh) 用于支持移动设备用户的预测内容预取服务的分布式服务器架构
US20200404068A1 (en) Managing mobile device user subscription and service preferences to predictively pre-fetch content
US11483415B2 (en) Background pre-rendering of user applications
CN107025234B (zh) 一种信息推送方法及缓存服务器
KR101609483B1 (ko) 클라우드 컴퓨팅에 의해 향상된 웹 브라우징
US11356533B2 (en) Facilitation of efficient web site page loading
US11489941B2 (en) Pre-loading of user applications including skipping of selected launch actions
US20160306895A1 (en) Web application acceleration with personalized cache or prerendering
US9811590B1 (en) Managing cached data in a network environment
WO2018055506A1 (en) An optimized content-delivery network (cdn) for the wireless last mile
US10021207B1 (en) Architecture for proactively providing bundled content items to client devices
CN109716731A (zh) 用于提供可靠和高效数据传送的***和方法
US20150288734A1 (en) Adaptive leveraging of network information
EP2997489B1 (en) Method and device for efficient mobile data transmission
Armstrong Just-In-Time Push Prefetching: Accelerating the Mobile Web
Pang et al. Understanding performance of edge prefetching
CN117119052B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160614

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160915

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170307

R150 Certificate of patent or registration of utility model

Ref document number: 6109202

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

LAPS Cancellation because of no payment of annual fees