JP2017532621A - 動的コンテンツと古いコンテンツとを含んでいるウェブサイトの高速レンダリング - Google Patents
動的コンテンツと古いコンテンツとを含んでいるウェブサイトの高速レンダリング Download PDFInfo
- Publication number
- JP2017532621A JP2017532621A JP2017503866A JP2017503866A JP2017532621A JP 2017532621 A JP2017532621 A JP 2017532621A JP 2017503866 A JP2017503866 A JP 2017503866A JP 2017503866 A JP2017503866 A JP 2017503866A JP 2017532621 A JP2017532621 A JP 2017532621A
- Authority
- JP
- Japan
- Prior art keywords
- serialized
- dom
- final
- final dom
- dynamic content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 81
- 230000003068 static effect Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims description 35
- 238000013515 script Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000009977 dual effect Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 101100168469 Rattus norvegicus Capns1 gene Proteins 0.000 description 5
- 230000009471 action Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- ZACLXWTWERGCLX-MDUHGFIHSA-N dom-1 Chemical compound O([C@@H]1C=C(C([C@@H](O)[C@@]11CO)=O)C)[C@@H]2[C@H](O)C[C@@]1(C)C2=C ZACLXWTWERGCLX-MDUHGFIHSA-N 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/221—Parsing markup language streams
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
[0002]本出願は、その両方が参照により本明細書に組み込まれる、2015年7月24日に出願された米国特許出願第14/809,046号の出願日の優先権を主張する、2014年7月25日に出願された米国仮特許出願第62/029,398号からの優先権の利益を主張する。
II.例示的なシステムアーキテクチャ
III.ウェブページをレンダリングする
A.元のDOMに基づいて最終DOMを構築する
B.最終DOMをシリアル化する
1.最終DOMの視覚表現に対応するシリアル化最終DOMを構築する
2.最終DOMをファイルにシリアル化する
C.真の動的コンテンツと静的な動的コンテンツとを識別および処理する
D.シリアル化最終DOM管理および配信のための機構
E.要求されたウェブページを表示するための機構
1.デュアルレンダリングプロセス手法
2.埋込みJavaScript手法
IV.例示的な方法
V.例示的なデバイス
[0018]以下の開示は、本開示の異なる特徴を実装するための、多くの異なる実施形態または例を与えることを理解されたい。いくつかの実施形態は、これらの具体的な詳細の一部または全部なしに実施され得る。本開示を簡略化するために、構成要素、モジュール、および構成の特定の例について以下で説明する。これらは、もちろん、例にすぎず、限定するものではない。
[0022]図1は、いくつかの実施形態による、例示的な通信システム100である。システム100は、ネットワーク140を介してサーバ120に通信可能に結合されたクライアントブラウザ110を含む。システム100について、1つのクライアントブラウザと1つのサーバとに関して本明細書で説明するが、システム100が2つ以上のクライアントブラウザおよび/またはサーバを含み得ることを当業者は認識されよう。
[0033]ウェブページを完全にロードし、表示するために、クライアントブラウザ110は、HTMLページ132をダウンロードし、HTMLページ132をパースし、HTMLページ132の構造のドキュメントオブジェクトモジュール(DOM)を構築し、DOMをレンダリングする。大量の動的コンテンツを有するウェブページでは、最も多くの時間がかかるアクションは、動的コンテンツ(たとえば、外部ソースからのJavaScriptスクリプト)をダウンロードすること、動的コンテンツを実行すること(たとえば、JavaScriptを実行すること)、およびスタイル計算であり得る。これらのアクションが実行された後、クライアントブラウザ110はDOMをレンダリングし得る。DOMをレンダリングすることは、実際のウェブページコンテンツをスクリーン上にペイントする。
[0036]クライアントブラウザ110は、HTMLページ132中で発見されるサブリソースをダウンロードする。例示的なサブリソースは、HTMLページ132中に含まれる1つまたは複数の要素に適用され得るルールである。例示的なルールはCSS要素とJavaScriptスクリプトとを含む。クライアントブラウザ110は、HTMLページ132がロードする間に、またはHTMLページ132がロードした直後にサブリソースをコンパイルおよび実行し得る。サブリソースのコンパイルおよび実行は、同期動作であり得る。サブリソースのコンパイルおよび実行中に、クライアントブラウザ110は、たとえば、CSS要素を処理し、画像を処理し、および/またはJavaScriptスクリプトを実行し得る。
[0039]クライアントブラウザ110は、最終DOMの視覚表現に対応するDOMを構築することによって最終DOM220をレンダリングし、クライアントブラウザ110に結合されたデバイスのディスプレイ上にそれをペイントする。クライアントブラウザ110は、シリアル化最終DOM230を構築することと、それをファイルにシリアル化することとによって、最終DOM220をシリアル化し得る。本開示でさらに説明するように、真の動的コンテンツと静的な動的コンテンツとを識別し、ウェブページを迅速にレンダリングするために、シリアル化最終DOMをシリアル化することは有利であり得る。
[0040]クライアントブラウザ110は、最終DOM220中の動的コンテンツを識別することと、最終DOM220から、動的コンテンツを含むルールのセットを表すノード(たとえば、「Js1.js」ノード210および「Css1.css」ノード212)を削除することと、動的コンテンツをシリアル化最終DOM230にインライン化することとによってシリアル化最終DOM230を生成し得る。したがって、クライアントブラウザ110は、最終DOM220からJavaScriptスクリプトとCSSスタイルとを削除し、シリアル化最終DOM230中のこの動的コンテンツをインライン化する。いくつかの例では、クライアントブラウザ110は、最終DOM220中の1つまたは複数の非インラインルールをインラインルールに移動することによってシリアル化最終DOM230を生成する。
[0042]クライアントブラウザ110は、シリアル化最終DOM230を、要素のスタイルのすべてがインライン化されたシリアル化ファイル240(たとえば、HTMLファイル)にシリアル化し得る。最終DOM220のシリアライゼーションであるシリアル化ファイル240は、正しいスタイルをもつ、静的コンテンツと動的コンテンツの両方を含んでいる「フラットにされた」ファイルである。シリアル化ファイル240は、ユーザに最終的に表示される「本当のウェブページ」と同等のコンテンツを示すHTMLファイルであり得る。クライアントブラウザ110は、後の取出しおよびローディングのためにシリアル化ファイル240をキャッシュに記憶する。次回、HTMLページ132に関連するURLによって参照されるウェブページを表示するようにとの要求を受信すると、クライアントブラウザ110はシリアル化ファイル240をロードし得る。シリアル化ファイル240は、HTMLページ132と同じ外観を有するが、ルールを適用し、および/または外部ソースを探索することが不要であるので、はるかに高速に表示され得る。たとえば、クライアントブラウザ110がJavaScriptを実行するかまたはCSS要素を適用することは不要であり得、それらは、一般に、ウェブページを表示する際の時間がかかるステップである。したがって、ウェブページが要求される次回には、より高速なページ表示が達成され得る。
[0046]古い情報の表示を回避するために、クライアントブラウザ110は、シリアル化ファイル240中の真の動的コンテンツと静的な動的コンテンツとを識別し、静的な動的コンテンツの少なくとも一部を削除するか、あるいはそれを一般的なおよび/またはダミーのプレースホルダーと交換する。真の動的コンテンツを識別するために、クライアントブラウザ110は、クライアントブラウザ110が同じURLのうちの1つまたは複数に対応するウェブページをロードするたびに、ウェブページロードに関連する最終DOMを維持し、それぞれの最終DOMを記憶し得る。各ページロードの後に、クライアントブラウザ110は、後で使用するためにシリアル化ファイル240(たとえば、HTMLファイル中のシリアル化されたシリアル化最終DOM)を保存し得る。
[0054]いくつかの実施形態では、クライアント側で、クライアントブラウザ110は、シリアル化最終DOMを、ウェブページのURLによってインデックス付けされたローカルキャッシュまたはデータベースに保存し得る。クライアントブラウザ110はまた、シリアル化最終DOMについての有効期限を設定し得る。シリアル化最終DOMの異なるバージョン間の(1つまたは複数の)差分を識別することは、バックグラウンドにおいて周期的に実行され得る。一例では、ウェブページがロードされるたびに、ローカルキャッシュまたはデータベースは、URLを使用して、同じURLのシリアル化最終DOMが使用され得るかどうかを決定するために照会され得る。クライアントブラウザ110は、同じURLが要求される次回に使用されるべき、クライアントからのメタデータをサーバが受け付けた場合、シリアル化最終DOMをサーバにもサブミットし得る。
[0062]本開示で説明する技法を使用して、ウェブページは様々な方法でレンダリングされ得る。一例では、この要求に応答して、CDNサーバ404は、動的コンテンツを含まない共通シリアル化最終DOM440をクライアントブラウザ410にサービスし得る。CDNサーバ404は、異なるURL442を使用して共通シリアル化最終DOM440をクライアントブラウザ410に配信し得る。別の例では、CDNサーバ404は、JavaScriptディスプレイマネージャによって使用されるべき真の動的コンテンツをメインHTMLに埋め込むかまたはインライン化し得る。したがって、共通シリアル化最終DOMは、クライアントにおいておよび/またはサーバにおいて生成され、別個のURLを通してクライアントに配信されるか、またはメインHTMLドキュメント中に埋め込まれ得る。
[0063]いくつかの実施形態では、クライアントブラウザ110は、ウェブページを表示するためにデュアルレンダリングプロセス手法を使用し得る。図5に、いくつかの実施形態による、デュアルレンダリングプロセス手法を使用して共通シリアル化最終DOMと本当のウェブページとを表示するための例示的なプロセスフローを示す。図5では、クライアントブラウザ110はサーバに「foo.com」を要求する。要求に応答して、クライアントブラウザ110は、2つのレンダリングプロセス、キャッシュまたはサーバ(たとえば、CDNサーバ404またはプロキシサーバ)のいずれかに共通シリアル化最終DOMを要求し、レンダリングするためのプロセスと、ユーザに表示されるべきである本当のウェブページのためのプロセスとを作成し得る。
[0066]いくつかの実施形態では、クライアントブラウザ110は埋込みJavaScript手法を使用し得る。埋込みJavaScript手法では、シリアル化最終DOMコンテンツは、ウェブページのメインHTML中に埋め込まれる。したがって、ウェブページは、JavaScriptをも含む。クライアントブラウザ110は、最初にシリアル化最終DOMコンテンツを表示し、次いで、本当のウェブページを表示することに移る。埋込みJavaScript手法は、シリアル化最終DOMがサーバ側から入手可能である場合に実行され得る。サーバは、シリアル化最終DOMを元のHTMLの中に埋め込むことによって元のHTMLを変更し得、クライアントブラウザ110は、異なる時間にシリアル化最終DOMと本当のウェブページとをロードし、表示するために、JavaScriptを使用し得る。
[0067]図6は、いくつかの実施形態による、ウェブページをレンダリングする方法600を示すフローチャートである。方法600は、限定するものではなく、他の適用例において使用され得る。
[0073]図7は、本明細書で開示する実施形態のいずれかを実装するのに好適な例示的なコンピュータシステム700のブロック図である。様々な実装形態では、コンピュータシステム700はサーバであり得る。様々な実装形態では、クライアントブラウザ110はコンピュータシステム700において動作し得る。
Claims (20)
- ウェブページをレンダリングする方法であって、
ロケーションによって参照される第1のウェブドキュメントを処理することに基づいて第1のシリアル化最終ドキュメントオブジェクトモジュール(DOM)を生成することと、前記第1のシリアル化最終DOMが第1のインライン化動的コンテンツを含む、
前記ロケーションによって参照される第2のウェブドキュメントを処理することに基づいて第2のシリアル化最終DOMを生成することと、前記第2のシリアル化最終DOMが第2のインライン化動的コンテンツを含む、
前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとの間の差分に基づいて共通シリアル化最終DOMを生成することと、前記共通シリアル化最終DOMが、前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとの中に含まれる静的な動的コンテンツを含み、前記差分が真の動的コンテンツである、
前記共通シリアル化最終DOMをデバイスのディスプレイにレンダリングすることと
を備える、方法。 - 前記共通シリアル化最終DOMを生成することが、前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとの間の1つまたは複数の差分を識別することと、前記第1のシリアル化最終DOMから前記1つまたは複数の差分を削除することとを含む、請求項1に記載の方法。
- 前記第1のウェブドキュメントをパースすることと、前記第1のウェブドキュメントがマークアップ言語でのものであり、要素のセットとルールのセットとを含む、
要素の前記セットのうちの1つまたは複数の要素にルールの前記セットを適用することと、
前記パースすることと前記適用することとに従って最終DOMを生成することと、前記最終DOMが、ルールの前記セットを適用することに基づいて生成された第1の動的コンテンツを含む、
前記第1のシリアル化最終DOMを生成するために前記最終DOMをシリアル化することと
をさらに備える、請求項1に記載の方法。 - 前記第1のシリアル化最終DOMを生成することが、前記第1の最終DOM中の1つまたは複数の非インラインルールをインラインルールに移動することを含む、請求項3に記載の方法。
- ルールがクライアント側スクリプトを含む、請求項4に記載の方法。
- ルールが、前記第1のウェブドキュメント中の1つまたは複数の要素に適用されるフォーマッティングルールである、請求項4に記載の方法。
- 前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとが前記最終DOMの異なるバージョンである、請求項3に記載の方法。
- 前記第1のシリアル化最終DOMをファイルにシリアル化することと、
前記ファイルをキャッシュすることと
をさらに備える、請求項1に記載の方法。 - 前記共通シリアル化最終DOMをレンダリングすることが、前記共通シリアル化最終DOMをフォアグラウンドにおいてレンダリングすることを含み、前記方法は、
キャッシュから前記共通シリアル化最終DOMを取り出すことと、
前記ロケーションによって参照される第3のウェブドキュメントについての現在の要求を受信することと、
バックグラウンドプロセス中に、前記現在の要求のために現在のDOMを構成し、前記現在のDOMをレンダリングすることと、
前記現在のDOMがレンダリングされた後に、前記レンダリングされた現在のDOMを、前記レンダリングされた共通シリアル化最終DOMと交換することと
をさらに備える、請求項1に記載の方法。 - 前記ロケーションによって参照される第3のウェブドキュメントを処理することに基づいて第3のシリアル化最終DOMを生成することと、前記第3のシリアル化最終DOMが第3のインライン化動的コンテンツを含む、
前記第2のシリアル化最終DOMと前記第3のシリアル化最終DOMとの間の第2の差分に基づいて第2の共通シリアル化最終DOMを生成することと、前記第2の共通シリアル化最終DOMは、前記第2のシリアル化最終DOMと前記第3のシリアル化最終DOMとの中に含まれる静的な動的コンテンツを含み、真の動的コンテンツが不在であり、前記第2の差分が真の動的コンテンツである、
前記第2の共通シリアル化最終DOMを前記デバイスの前記ディスプレイにレンダリングすることと
をさらに備える、請求項1に記載の方法。 - 前記ロケーションがユニフォームリソースロケータ(URL)である、請求項1に記載の方法。
- ウェブページをレンダリングするためのシステムであって、
ロケーションによって参照される第1のウェブドキュメントを処理することに基づいて第1のシリアル化最終ドキュメントオブジェクトモジュール(DOM)を生成し、前記ロケーションによって参照される第2のウェブドキュメントを処理することに基づいて第2のシリアル化最終DOMを生成するクライアントブラウザを備え、ここにおいて、前記第1のシリアル化最終DOMが第1のインライン化動的コンテンツを含み、前記第2のシリアル化最終DOMが第2のインライン化動的コンテンツを含む、
ここにおいて、前記クライアントブラウザが、前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとの間の差分に基づいて共通シリアル化最終DOMを生成し、ここにおいて、前記共通シリアル化最終DOMが、前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとの中に含まれる静的な動的コンテンツを含み、前記差分が真の動的コンテンツである、
ここにおいて、前記クライアントブラウザが、前記共通シリアル化最終DOMをデバイスのディスプレイにレンダリングする、
システム。 - 前記クライアントブラウザが、前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとの間の1つまたは複数の差分を識別し、前記第1のシリアル化最終DOMから前記1つまたは複数の差分を削除する、請求項12に記載のシステム。
- 前記クライアントブラウザが前記第1のウェブドキュメントをパースし、前記第1のウェブドキュメントがマークアップ言語でのものであり、要素のセットとルールのセットとを含み、ここにおいて、前記クライアントブラウザが、要素の前記セットのうちの1つまたは複数の要素にルールの前記セットを適用し、前記パースすることと前記適用することとに従って最終DOMを生成し、ここにおいて、前記最終DOMが、ルールの前記セットを適用することに基づいて生成される第1の動的コンテンツを含む、請求項12に記載のシステム。
- 前記クライアントブラウザが、前記第1の最終DOMから1つまたは複数のルールを削除し、前記1つまたは複数の削除されたルールを前記第1の最終DOMにインラインで組み込む、請求項14に記載のシステム。
- ルールがクライアント側スクリプトを含む、請求項15に記載のシステム。
- 前記クライアント側スクリプトがJAVASCRIPT(登録商標)プログラミング言語でのものである、請求項15に記載のシステム。
- 前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとが最終DOMの異なるバージョンである、請求項12に記載のシステム。
- ロケーションによって参照される第1のウェブドキュメントを処理することに基づいて第1のシリアル化最終ドキュメントオブジェクトモジュール(DOM)を生成することと、前記第1のシリアル化最終DOMが第1のインライン化動的コンテンツを含む、
前記ロケーションによって参照される第2のウェブドキュメントを処理することに基づいて第2のシリアル化最終DOMを生成することと、前記第2のシリアル化最終DOMが第2のインライン化動的コンテンツを含む、
前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとの間の差分に基づいて共通シリアル化最終ドキュメントオブジェクトモジュール(DOM)を生成することと、前記共通シリアル化最終DOMが、前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとの中に含まれる静的な動的コンテンツを含み、前記差分が真の動的コンテンツである、
前記共通シリアル化最終DOMをデバイスのディスプレイにレンダリングすることと
を備える、動作を実行するためのコンピュータ実行可能命令を記憶したコンピュータ可読媒体。 - ウェブページをレンダリングするためのシステムであって、
ロケーションによって参照される第1のウェブドキュメントを処理することに基づいて第1のシリアル化最終ドキュメントオブジェクトモジュール(DOM)を生成するための手段と、前記第1のシリアル化最終DOMが第1のインライン化動的コンテンツを含む、
前記ロケーションによって参照される第2のウェブドキュメントを処理することに基づいて第2のシリアル化最終DOMを生成するための手段と、前記第2のシリアル化最終DOMが第2のインライン化動的コンテンツを含む、
前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとの間の差分に基づいて共通シリアル化最終DOMを生成するための手段と、前記共通シリアル化最終DOMが、前記第1のシリアル化最終DOMと前記第2のシリアル化最終DOMとの中に含まれる静的な動的コンテンツを含み、前記差分が真の動的コンテンツである、
前記共通シリアル化最終DOMをデバイスのディスプレイにレンダリングするための手段と
を備える、システム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462029398P | 2014-07-25 | 2014-07-25 | |
US62/029,398 | 2014-07-25 | ||
US14/809,046 | 2015-07-24 | ||
US14/809,046 US9753904B2 (en) | 2014-07-25 | 2015-07-24 | Fast rendering of websites containing dynamic content and stale content |
PCT/US2015/042146 WO2016015031A1 (en) | 2014-07-25 | 2015-07-25 | Fast rendering of websites containing dynamic content and stale content |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017532621A true JP2017532621A (ja) | 2017-11-02 |
JP2017532621A5 JP2017532621A5 (ja) | 2017-12-14 |
JP6416374B2 JP6416374B2 (ja) | 2018-10-31 |
Family
ID=53765631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017503866A Active JP6416374B2 (ja) | 2014-07-25 | 2015-07-25 | 動的コンテンツと古いコンテンツとを含んでいるウェブサイトの高速レンダリング |
Country Status (6)
Country | Link |
---|---|
US (1) | US9753904B2 (ja) |
EP (1) | EP3172680B1 (ja) |
JP (1) | JP6416374B2 (ja) |
KR (1) | KR101824222B1 (ja) |
CN (1) | CN106575298B (ja) |
WO (1) | WO2016015031A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021072089A (ja) * | 2019-10-31 | 2021-05-06 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | ウェブページレンダリング方法、装置、電子設備、記憶媒体及びプログラム |
JP2022525831A (ja) * | 2020-03-02 | 2022-05-20 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | ページプリレンダリング方法、装置、電子機器、コンピュータプログラム及び記憶媒体 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954583B1 (en) | 2014-01-20 | 2015-02-10 | Shape Security, Inc. | Intercepting and supervising calls to transformed operations and objects |
US9602543B2 (en) | 2014-09-09 | 2017-03-21 | Shape Security, Inc. | Client/server polymorphism using polymorphic hooks |
US9740791B1 (en) | 2014-09-23 | 2017-08-22 | Amazon Technologies, Inc. | Browser as a service |
US9582600B1 (en) * | 2014-09-23 | 2017-02-28 | Amazon Technologies, Inc. | Cloud browser DOM-based client |
US10777164B2 (en) * | 2014-12-19 | 2020-09-15 | Qualcomm Incorporated | Power optimization by rendering low-resolution tiles during page load |
US10033656B2 (en) * | 2015-05-21 | 2018-07-24 | Sap Portals Israel Ltd | Critical rendering path optimization |
US10324600B2 (en) * | 2015-07-27 | 2019-06-18 | Adp, Llc | Web page generation system |
US10417317B2 (en) | 2015-07-27 | 2019-09-17 | Adp, Llc | Web page profiler |
US10742764B2 (en) | 2015-07-27 | 2020-08-11 | Adp, Llc | Web page generation system |
US10657322B2 (en) * | 2015-11-03 | 2020-05-19 | Facebook, Inc. | Systems and methods to optimize acquisition of templates for content items in news feed |
US10732796B2 (en) | 2017-03-29 | 2020-08-04 | Microsoft Technology Licensing, Llc | Control of displayed activity information using navigational mnemonics |
US10853220B2 (en) | 2017-04-12 | 2020-12-01 | Microsoft Technology Licensing, Llc | Determining user engagement with software applications |
US10452758B1 (en) * | 2017-04-26 | 2019-10-22 | Amazon Technologies, Inc. | Optimizing online content rendering |
CN107423059A (zh) * | 2017-07-07 | 2017-12-01 | 北京小米移动软件有限公司 | 页面的显示方法、装置及终端 |
US11580088B2 (en) | 2017-08-11 | 2023-02-14 | Microsoft Technology Licensing, Llc | Creation, management, and transfer of interaction representation sets |
US20190050378A1 (en) * | 2017-08-11 | 2019-02-14 | Microsoft Technology Licensing, Llc | Serializable and serialized interaction representations |
KR102036715B1 (ko) * | 2018-04-02 | 2019-10-25 | 주식회사 한글과컴퓨터 | 브라우저를 통해 프레젠테이션 문서의 빠른 로딩이 가능한 웹 기반의 프레젠테이션 편집 장치 및 그 동작 방법 |
KR102237520B1 (ko) | 2018-05-04 | 2021-04-07 | 디프트(주) | 효율적인 데이터 관리를 위한 가상 전시 공간 제공 방법 |
CH715553B1 (fr) * | 2018-11-15 | 2024-07-15 | Thidima Sa | Procédé de communication d'informations à travers un réseau de télécommunication. |
US10915599B2 (en) * | 2018-11-15 | 2021-02-09 | Elementor Ltd. | System and method for producing transferable, modular web pages |
CN109274904A (zh) * | 2018-11-23 | 2019-01-25 | 威创集团股份有限公司 | 一种拼接墙字幕信号预览方法、服务端及系统 |
US10666528B1 (en) | 2018-11-28 | 2020-05-26 | Sap Portals Israel Ltd. | Decoupling platform as a service providers using a service management platform |
US11301539B2 (en) * | 2019-02-21 | 2022-04-12 | Bank Of America Corporation | Just-in-time front end template generation using logical document object models |
US11205041B2 (en) * | 2019-08-15 | 2021-12-21 | Anil Kumar | Web element rediscovery system and method |
US11182536B2 (en) | 2020-02-05 | 2021-11-23 | Exponea s.r.o. | System and method for dynamic webpage rendering with no flicker or flash of original content |
CN113657076B (zh) * | 2021-08-17 | 2023-08-22 | 中国平安财产保险股份有限公司 | 页面操作记录表的生成方法、装置、电子设备及存储介质 |
US12189703B2 (en) | 2021-11-12 | 2025-01-07 | Siteimprove A/S | Website quality assessment system providing search engine ranking notifications |
US11687613B2 (en) | 2021-11-12 | 2023-06-27 | Siteimprove A/S | Generating lossless static object models of dynamic webpages |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000215173A (ja) * | 1999-01-21 | 2000-08-04 | Internatl Business Mach Corp <Ibm> | ブラウザ共有方法及びシステム |
JP2004013345A (ja) * | 2002-06-04 | 2004-01-15 | Hitachi Information Systems Ltd | 情報提供システム及び情報提供プログラム |
JP2005018787A (ja) * | 2003-06-25 | 2005-01-20 | Microsoft Corp | キャッシュエントリを無効化するために使用できるデータベーステーブル変更情報の登録および取り出し |
US20110258532A1 (en) * | 2009-03-31 | 2011-10-20 | Luis Ceze | Memoizing web-browsing computation with dom-based isomorphism |
WO2014028115A1 (en) * | 2012-08-16 | 2014-02-20 | Qualcomm Incorporated | Pre-processing of scripts in web browsers |
US20140129925A1 (en) * | 2012-11-08 | 2014-05-08 | Igor Faletski | Browser inline html adaptation |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040049737A1 (en) * | 2000-04-26 | 2004-03-11 | Novarra, Inc. | System and method for displaying information content with selective horizontal scrolling |
US7747782B2 (en) * | 2000-04-26 | 2010-06-29 | Novarra, Inc. | System and method for providing and displaying information content |
US7194683B2 (en) * | 2001-03-02 | 2007-03-20 | International Business Machines Corporation | Representing and managing dynamic data content for web documents |
US7415538B2 (en) * | 2001-03-19 | 2008-08-19 | International Business Machines Corporation | Intelligent document filtering |
US7627814B1 (en) * | 2004-01-14 | 2009-12-01 | Microsoft Corporation | Hierarchical bit stream markup compilation and rendering |
US8181107B2 (en) * | 2006-12-08 | 2012-05-15 | Bytemobile, Inc. | Content adaptation |
CN100504879C (zh) * | 2007-06-08 | 2009-06-24 | 北京大学 | 动态网页的分块方法 |
CA2674659C (en) * | 2008-08-05 | 2016-10-18 | Accenture Global Services Gmbh | Synchronous to asynchronous web page conversion |
CN101464905B (zh) * | 2009-01-08 | 2011-03-23 | 中国科学院计算技术研究所 | 一种网页信息抽取的系统及方法 |
US9311425B2 (en) | 2009-03-31 | 2016-04-12 | Qualcomm Incorporated | Rendering a page using a previously stored DOM associated with a different page |
US20110029899A1 (en) | 2009-08-03 | 2011-02-03 | FasterWeb, Ltd. | Systems and Methods for Acceleration and Optimization of Web Pages Access by Changing the Order of Resource Loading |
US20110258538A1 (en) * | 2010-03-31 | 2011-10-20 | Heng Liu | Capturing DOM Modifications Mediated by Decoupled Change Mechanism |
US10296653B2 (en) | 2010-09-07 | 2019-05-21 | F5 Networks, Inc. | Systems and methods for accelerating web page loading |
WO2012160499A1 (en) | 2011-05-23 | 2012-11-29 | Strangeloop Networks, Inc. | Optimized rendering of dynamic content |
US20130227396A1 (en) * | 2012-02-24 | 2013-08-29 | Microsoft Corporation | Editing content of a primary document and related files |
US9979726B2 (en) * | 2013-07-04 | 2018-05-22 | Jscrambler S.A. | System and method for web application security |
US10984175B2 (en) | 2013-08-09 | 2021-04-20 | Yottaa Inc. | Systems and methods for dynamically modifying a requested web page from a server for presentation at a client |
US20150193399A1 (en) * | 2014-01-09 | 2015-07-09 | Nokia Corporation | Method and apparatus for determining partial updates for a document object model |
-
2015
- 2015-07-24 US US14/809,046 patent/US9753904B2/en active Active
- 2015-07-25 KR KR1020177001770A patent/KR101824222B1/ko active Active
- 2015-07-25 CN CN201580040337.8A patent/CN106575298B/zh active Active
- 2015-07-25 JP JP2017503866A patent/JP6416374B2/ja active Active
- 2015-07-25 EP EP15745118.8A patent/EP3172680B1/en active Active
- 2015-07-25 WO PCT/US2015/042146 patent/WO2016015031A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000215173A (ja) * | 1999-01-21 | 2000-08-04 | Internatl Business Mach Corp <Ibm> | ブラウザ共有方法及びシステム |
JP2004013345A (ja) * | 2002-06-04 | 2004-01-15 | Hitachi Information Systems Ltd | 情報提供システム及び情報提供プログラム |
JP2005018787A (ja) * | 2003-06-25 | 2005-01-20 | Microsoft Corp | キャッシュエントリを無効化するために使用できるデータベーステーブル変更情報の登録および取り出し |
US20110258532A1 (en) * | 2009-03-31 | 2011-10-20 | Luis Ceze | Memoizing web-browsing computation with dom-based isomorphism |
WO2014028115A1 (en) * | 2012-08-16 | 2014-02-20 | Qualcomm Incorporated | Pre-processing of scripts in web browsers |
US20140129925A1 (en) * | 2012-11-08 | 2014-05-08 | Igor Faletski | Browser inline html adaptation |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021072089A (ja) * | 2019-10-31 | 2021-05-06 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | ウェブページレンダリング方法、装置、電子設備、記憶媒体及びプログラム |
JP6997253B2 (ja) | 2019-10-31 | 2022-01-17 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | ウェブページレンダリング方法、装置、電子設備、記憶媒体及びプログラム |
JP2022525831A (ja) * | 2020-03-02 | 2022-05-20 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | ページプリレンダリング方法、装置、電子機器、コンピュータプログラム及び記憶媒体 |
US20220308900A1 (en) | 2020-03-02 | 2022-09-29 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus of pre-rendering page, electronic device, and storage medium |
US11829436B2 (en) | 2020-03-02 | 2023-11-28 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus of pre-rendering page, electronic device, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
EP3172680B1 (en) | 2020-04-01 |
JP6416374B2 (ja) | 2018-10-31 |
CN106575298B (zh) | 2020-10-30 |
WO2016015031A1 (en) | 2016-01-28 |
KR101824222B1 (ko) | 2018-03-14 |
EP3172680A1 (en) | 2017-05-31 |
US20160026611A1 (en) | 2016-01-28 |
KR20170038793A (ko) | 2017-04-07 |
US9753904B2 (en) | 2017-09-05 |
CN106575298A (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6416374B2 (ja) | 動的コンテンツと古いコンテンツとを含んでいるウェブサイトの高速レンダリング | |
US10924574B2 (en) | Systems and methods for managing loading priority or sequencing of fragments of a web object | |
US10469561B2 (en) | System and method for managing multiple variants of an HTTP object | |
US8762332B2 (en) | Systems and method for facilitating the synchronization of data on multiple user computers | |
US9641591B1 (en) | Modifying web content at a client | |
US7865544B2 (en) | Method and system for providing XML-based asynchronous and interactive feeds for web applications | |
CN102455913B (zh) | 显示模板的定制 | |
US8977653B1 (en) | Modifying web pages to reduce retrieval latency | |
US9509764B1 (en) | Updating cached web content | |
US8631394B2 (en) | Static resource processing | |
WO2015062366A1 (zh) | 一种网页广告的拦截方法、装置和浏览器 | |
US20190222667A1 (en) | Speculative prefetch of resources across page loads | |
US9401949B1 (en) | Client web content cache purge | |
JP2019530921A (ja) | 提示するためのネイティブコンテンツをサーバ側でレンダリングするための方法およびシステム | |
US8682964B1 (en) | Progressively loading network content | |
US8516041B1 (en) | Pre-fetching asynchronously requested content | |
US20170147543A1 (en) | Enabling legacy web applications for mobile devices | |
US9058400B2 (en) | HTTP performance enhancement based on delta transfer | |
US9304830B1 (en) | Fragment-based multi-threaded data processing | |
US10599740B1 (en) | Program code streaming | |
CN114528510A (zh) | 网页数据处理的方法、装置、电子设备及介质 | |
US11880303B2 (en) | Content cache invalidation using cache tags | |
CN115146202B (zh) | 一种页面表单生成方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170929 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170929 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170929 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20171003 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180404 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180417 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180809 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20180816 |
|
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: 20180904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181003 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6416374 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |