JP6378601B2 - コンテンツ解析装置、コンテンツ解析方法、及びプログラム - Google Patents

コンテンツ解析装置、コンテンツ解析方法、及びプログラム Download PDF

Info

Publication number
JP6378601B2
JP6378601B2 JP2014203566A JP2014203566A JP6378601B2 JP 6378601 B2 JP6378601 B2 JP 6378601B2 JP 2014203566 A JP2014203566 A JP 2014203566A JP 2014203566 A JP2014203566 A JP 2014203566A JP 6378601 B2 JP6378601 B2 JP 6378601B2
Authority
JP
Japan
Prior art keywords
content
analysis
unit
storage unit
identification information
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.)
Active
Application number
JP2014203566A
Other languages
English (en)
Other versions
JP2016071811A (ja
Inventor
中野 雄介
雄介 中野
上山 憲昭
憲昭 上山
塩本 公平
公平 塩本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014203566A priority Critical patent/JP6378601B2/ja
Publication of JP2016071811A publication Critical patent/JP2016071811A/ja
Application granted granted Critical
Publication of JP6378601B2 publication Critical patent/JP6378601B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、コンテンツ解析装置、コンテンツ解析方法、及びプログラムに関する。
近年、スマートフォンやタブレットなどのモバイル環境で、Web(World Wide Web)ページの高速表示のために、クラウドコンピューティングを利用する手法が注目されている。クラウド側(ネットワークに接続されたサーバ群)においてWebブラウザの本体を動作させ、Webページを表示するスマートフォンやタブレットなどのクライアントは、クラウド側のWebブラウザによって、表示される直前の状態まで処理されたデータをダウンロードし、表示する手法である(例えば、非特許文献1参照)。
斯かる手法によれば、クライアントは、Webページの表示に必要なHTML(HyperText Markup Language)、CSS(Cascading Style Sheets)、Javascript(登録商標)、画像等のコンテンツのダウンロードや、それらのコンテンツのレンダリングを行う必要は無い。すなわち、クライアントは、表示できる状態となったレンダリング後のデータをダウンロードして表示すればよく、計算リソースの少ないクライアントでも、クラウド側の膨大な計算リソースを利用することで、高速にWebページを表示することができる。
携帯電話用WEBブラウザのサーバ・解析方式の提案と実装評価 情報処理学会論文誌 Vol.47 No.7 July 2006
しかしながら、上記の方法では、Webページが表示されるたびに、クラウド側によってレンダリング等の処理が行われるため、クラウド側に負荷が高くなる可能性が高い。その結果、Webページの表示の高速化について、期待通りの結果が得られない可能性が有る。また,動的なWebページについては,レンダリング後のデータには反映されないため,動的なWebページを取り扱うことができなかった。
本発明は、上記の点に鑑みてなされたものであって、Webページの表示の高速化と動的なWebページの取り扱いとを実現すること目的とする。
そこで上記課題を解決するため、コンテンツ解析装置は、ネットワークを介して接続されるコンテンツ表示装置から、表示要素の定義に関する記述を含むコンテンツの取得要求を受信する受信部と、前記取得要求に含まれているコンテンツ識別情報に対応するコンテンツを取得する取得部と、前記コンテンツを表示する過程で生成される中間データが、前記コンテンツ識別情報に対応付けられて第一の記憶部に記憶されているかを判定する判定部と、前記判定部によって前記中間データが前記第一の記憶部に記憶されていないと判定された場合に、前記取得部によって取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、生成された中間データを前記コンテンツ識別情報に対応付けて前記第一の記憶部に記憶する解析部と、前記第一の記憶部に記憶されている、又は前記解析部によって生成された、前記コンテンツ識別情報に対応するコンテンツの中間データを、前記コンテンツ表示装置に返信する返信部と、を有し、前記判定部は、更に、前記コンテンツ識別情報に対応付けられた情報が第二の記憶部に記憶されているかを判定し、前記解析部は、前記判定部によって前記中間データが前記第一の記憶部に記憶されていると判定される場合であっても、前記判定部によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合は、前記取得部によって取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、前記判定部によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合に、前記コンテンツ識別情報に対応付けられて前記第一の記憶部に記憶されている中間データと、前記コンテンツ識別情報に関して前記解析部によって生成された中間データとを比較して、比較された中間データの共通部分を抽出すると共に、前記コンテンツ識別情報に関して前記取得部によって取得されたコンテンツのうち、比較された中間データの差分に対応する部分の表示を前記コンテンツ表示装置に実行させるための差分情報を生成し、当該共通部分と当該差分情報とを、前記コンテンツ識別情報に対応付けて前記第二の記憶部に記憶する比較部を有し、前記返信部は、前記判定部によって、前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていると判定された場合は、当該コンテンツ識別情報に対応付けられて前記第二の記憶部に記憶されている前記共通部分と前記差分情報とを、前記コンテンツ表示装置に返信する
Webページの表示の高速化と動的なWebページの取り扱いとを実現することができる。
本発明の実施の形態におけるコンテンツ表示システムの構成例を示す図である。 本発明の実施の形態におけるコンテンツ解析装置のハードウェア構成例を示す図である。 本発明の実施の形態におけるコンテンツ解析装置の機能構成例を示す図である。 本発明の実施の形態におけるコンテンツ表示装置の機能構成例を示す図である。 コンテンツ解析装置が実行する処理手順の一例を説明するためのフローチャートである。 コンテンツ表示装置が実行する処理手順の一例を説明するためのフローチャートである。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるコンテンツ表示システムの構成例を示す図である。
図1において、1以上のコンテンツ表示装置20、コンテンツ解析装置10、及び1以上のコンテンツ配信装置30は、LAN(Local Area Network)又はインターネット等のネットワークを介して通信可能に相互に接続されている。当該ネットワークには、無線区間が含まれてもよい。
コンテンツ表示装置20は、コンテンツの表示に利用される端末である。すなわち、ユーザは、コンテンツ表示装置20を介して、コンテンツを閲覧することができる。例えば、フィーチャーフォン、スマートフォン、タブレット端末、又はPC(Personal Computer)等が、コンテンツ表示装置20として用いられてもよい。なお、本実施の形態では、Webページを、「コンテンツ」の一例として説明する。Webページは、HTML(HyperText Markup Language)、CSS(Cascading Style Sheets)、Javascript(登録商標)、及び画像等を含むデータである。
コンテンツ表示装置20は、例えば、ユーザによる操作に応じ、当該操作において特定されるWebページの取得要求を、コンテンツ解析装置10に送信し、コンテンツ解析装置10からWebページの解析結果が返信される、当該取得要求に係るWebページの解析結果に基づいて、コンテンツ表示装置20はWebページの表示を行う。ここで、解析結果とは、Webページのレンダリングの最終的な成果物である画像ではなく、レンダリングの過程で生成される、表示要素の構成を示す中間データをいう。すなわち、本実施の形態において、Webページの解析とは、当該Webページの中間データの生成をいう。本実施の形態では、斯かる中間データの一例として、レンダーツリーが採用される。レンダーツリーは、表示要素を表示順に並べたツリーであり、Webページの視覚的な表現を示すデータである。
なお、コンテンツ表示装置20からコンテンツ解析装置10に送信されるWebページの取得要求は、Webページの解析要求であるともいえる。そこで、以下において、コンテンツ表示装置20からコンテンツ解析装置10に送信されるWebページの取得要求については、Webページの解析要求という。
コンテンツ表示装置20にWebページの解析結果であるレンダーツリーが返信されることで、コンテンツ表示装置20が、レンダリングを構成する全ての処理を行う必要性を低減することができる。その結果、コンテンツ表示装置20におけるWebページの描画速度を高速化することができる。
コンテンツ解析装置10は、論理的にはコンテンツ表示装置20とコンテンツ配信装置30との間の位置し、コンテンツ表示装置20とコンテンツ配信装置30とのやりとりを中継する1以上のコンピュータである。例えば、コンテンツ解析装置10は、Webページの解析要求をコンテンツ表示装置20から受信すると、当該Webページの取得要求をコンテンツ配信装置30に送信する。コンテンツ解析装置10は、当該取得要求に応じてコンテンツ配信装置30から返信されるWebページを受信する。ここで、コンテンツ解析装置10は、当該Webページをそのままコンテンツ表示装置20に返信するのではなく、当該Webページに関して解析処理を実行してレンダーツリーを生成する。コンテンツ解析装置10は、生成するレンダーツリーを、コンテンツ表示装置20に解析結果として返信する。なお、専用のWebプロキシが、コンテンツ解析装置10として利用されてもよい。
コンテンツ配信装置30は、Webページを保持し、コンテンツ解析装置10又はコンテンツ表示装置20からのWebページの取得要求に応じ、当該取得要求に指定されているWebページ又はコンテンツを返信するコンピュータである。
図2は、本発明の実施の形態におけるコンテンツ解析装置のハードウェア構成例を示す図である。図2のコンテンツ解析装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
コンテンツ解析装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってコンテンツ解析装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
なお、コンテンツ表示装置20も、図2と同様のハードウェア構成を有していてもよい。但し、コンテンツ表示装置20は、ボタン、タッチパネル、キーボード、マウス等の入力装置や、液晶ディスプレイ等の表示装置を備えていることが望ましい。
図3は、本発明の実施の形態におけるコンテンツ解析装置の機能構成例を示す図である。図3において、コンテンツ解析装置10は、解析要求受信部11、取得要求送信部12、コンテンツ受信部13、解析状態判定部14、解析部15、比較部16、及び解析結果送信部17等を有する。コンテンツ解析装置10は、また、初回結果記憶部121及び比較結果記憶部122等を利用する。これら各記憶部は、図2の補助記憶装置102、又はコンテンツ解析装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
解析要求受信部11は、コンテンツ表示装置20から送信される、Webページの解析要求を受信する。当該解析要求には、解析対象とされるWebページのURL(Uniform Resource Locator)が含まれている。取得要求送信部12は、解析要求受信部11によって受信された解析要求に含まれているURLに係るコンテンツ配信装置30に、当該URLに対応するWebページの取得要求を送信する。
コンテンツ受信部13は、取得要求送信部12によって送信された取得要求に応じてコンテンツ配信装置30から返信されるWebページを受信し、解析状態判定部14に入力する。このWebページは通常HTMLである。
解析状態判定部14は、解析要求受信部11によって受信された解析要求に含まれているURLに対応するWebページの解析結果(レンダーツリー)が、初回結果記憶部121に記憶されているか否かを判定する。
初回結果記憶部121には、過去に受信された解析要求に係るURLごとに、当該URLに関して最初に取得されたWebページ(以下、「初回のWebページ」という。)に対する解析結果が記憶される。
解析状態判定部14は、また、解析要求受信部11によって受信された解析要求に含まれているURLに対応する情報が、比較結果記憶部122に記憶されているか否かを判定する。
比較結果記憶部122には、同一のURLに関して2回以上Webページが取得されたURLごとに、当該URLに対する初回のWebページの解析結果(すなわち、初回結果記憶部121に記憶されている解析結果)と、2回目に取得されたWebページ(以下、「2回目のWebページ」という。)の解析結果との比較結果が記憶される。比較結果には、比較された解析結果同士の共通部分や、2回目のWebページ内の記述において、比較された解析結果の差分又は相違点に対応する部分を示す差分情報等が含まれる。当該差分情報は、当該差分に対応する部分の表示(レンダリング)を、コンテンツ表示装置20に実行させるための情報である。
なお、同一のURLに関して取得されるWebページ間において相違点が存在しうるのは、例えば、Webページの解析要求元であるコンテンツ表示装置20の状態に応じてWebページが動的に生成される場合が有るからである。例えば、コンテンツ表示装置20に保存されているCookieに応じて、動的にWebページが生成される場合、同一のURLに関して取得されるWebページ間に相違点が発生する。
解析部15は、コンテンツ受信部13によって受信され、解析状態判定部14を介して入力されたWebページについて解析処理を行う。すなわち、Webページを構成するHTML及びCSS等に基づいて、当該Webページのレンダーツリーを生成する。解析部15は、Webページの解析処理の過程において、当該Webページから他のコンテンツへの参照を検出した場合は、当該他のコンテンツを、取得要求送信部12を介してコンテンツ配信装置30から取得する。解析対象のWebページが初回のWebページである場合、解析部15によって生成されるレンダーツリーは、当該Webページの解析結果として、当該WebページのURLに対応付けられて初回結果記憶部121に記憶される。解析対象のWebページが2回目のWebページである場合、解析部15によって生成されるレンダーツリーは、当該WebページのURLに対応付けられて初回結果記憶部121に記憶されている解析結果との比較対象として、比較部16に入力される。
比較部16は、各解析要求に含まれているURLごとに、初回のWebページの解析結果と2回目のWebページの解析結果とを比較し、比較された解析結果の共通部分を抽出すると共に、2回目のWebページの記述において、比較された解析結果の差分に対応する部分を特定する。比較部16は、当該共通部分及び当該差分に対応する部分を示す差分情報を含む比較結果を、比較された解析結果に係るWebページのURLに対応付けて、比較結果記憶部122に記憶する。
解析結果送信部17は、解析要求に含まれるURLに対応するWebページの解析結果を、当該解析要求の送信元のコンテンツ表示装置20に返信する。当該Webページが初回のWebページ又は2回目のWebページである場合、解析結果送信部17は、当該URLに基づいてコンテンツ配信装置30から取得されたWebページに関して、解析部15によって生成されたレンダーツリーと、当該Webページとを解析結果としてコンテンツ表示装置20に返信する。当該Webページが初回のWebページ及び2回目のWebページのいずれでもない場合、解析結果送信部17は、解析要求に含まれているURLに対応付けられて比較結果記憶部122に記憶されている比較結果と、当該Webページ(通常はHTML)とを解析結果としてコンテンツ表示装置20に返信する。
図4は、本発明の実施の形態におけるコンテンツ表示装置の機能構成例を示す図である。図4において、コンテンツ表示装置20は、操作検知部21、解析要求送信部22、解析結果受信部23、解析結果処理部24、取得要求送信部25、及びコンテンツ受信部26等を有する。これら各部は、コンテンツ表示装置20にインストールされた1以上のプログラム(例えば、専用Webブラウザのプログラム)が、コンテンツ表示装置20のCPUに実行させる処理により実現される。なお、専用Webブラウザは、Webページ上のリンクがクリックされたり、URLが入力されたりすると、専用Webブラウザに予め設定されたアドレス情報に係るコンテンツ解析装置10へのHTTPリクエストの送信をコンテンツ表示装置20に実行させる。斯かる専用Webブラウザは、例えば、一般的なWebブラウザに対するプラグインやエクステンション等によって実現されてもよい。
操作検知部21は、コンテンツ表示装置20のユーザによる、Webページの表示指示に該当する操作を検知する。解析要求送信部22は、操作検知部21による表示指示の検知に応じ、Webページの解析要求をコンテンツ解析装置10に送信する。Webページの解析要求には、対象となるWebページのURL(Uniform Resource Locator)が含まれる。
解析結果受信部23は、解析要求に応じてコンテンツ解析装置10から返信される解析結果又は比較結果を受信する。
解析結果処理部24は、解析結果受信部23によって受信された解析結果又は比較結果に基づいて、Webページの描画処理を行う。解析結果受信部23によって受信された解析結果が比較結果である場合、Webページから参照されている全てのコンテンツが比較結果内の解析結果に含まれているとは限らない。当該解析結果は、初回のWebページの解析結果と2回目のWebページの解析結果との共通部分であり、各Webページに固有の部分を含まないからである。したがって、解析結果処理部24は、比較結果に含まれている差分情報に基づいて、当該差分部分において参照されているコンテンツを、コンテンツ配信装置30から取得する。斯かるコンテンツの取得は、取得要求送信部25及びコンテンツ受信部26を介して行われる。
すなわち、取得要求送信部25は、解析結果処理部24から取得が要求されたコンテンツの取得要求を、コンテンツ配信装置30に送信する。コンテンツ受信部26は、当該取得要求に応じてコンテンツ配信装置30から返信されるコンテンツを受信する。
なお、Ajax(Asynchronous JavaScript(登録商標) + XML)等、非同期にHTTP(HyperText Transfer Protocol)リクエストを送信するコンテンツを含むWebページに関しても、解析結果処理部24は、取得要求送信部25を介して、当該HTTPリクエストをコンテンツ配信装置30に送信し、当該HTTPリクエストに応じて返信されるHTTPリレスポンスを、コンテンツ受信部26を介して受信する。解析結果処理部24は、受信されたHTTPレスポンスを、表示中のWebページに反映する。そうすることで、当該Webページに含まれる動的なコンテンツも表示可能となる。
すなわち、本実施の形態では、コンテンツ解析装置10による解析結果は、Webページのレンダリングが完了した画像ではなく、画像の生成過程において生成される中間データ(レンダーツリー)である。したがって、コンテンツ表示装置20は、動的なコンテンツを含むWebページについても表示することができる。
以下、コンテンツ解析装置10及びコンテンツ表示装置20のそれぞれが実行する処理手順について説明する。
図5は、コンテンツ解析装置が実行する処理手順の一例を説明するためのフローチャートである。
解析要求受信部11は、いずれかのコンテンツ表示装置20からのWebページの解析要求の受信を待機している(S101)。解析要求受信部11によって、いずれかのコンテンツ表示装置20からの解析要求が受信されると(S101でYes)、取得要求送信部12は、当該解析要求に含まれているURL(以下、「対象URL」という。)に係るWebページの取得要求を、対象URLに係るコンテンツ配信装置30に送信する(S102)。なお、コンテンツ表示装置20からの解析要求は、一般的なHTTPリクエストでもよい。同様に、取得要求送信部12によって送信されるWebページの取得要求も、一般的なHTTPリクエストでもよい。例えば、取得要求送信部12は、コンテンツ表示装置20からの解析要求を、コンテンツ配信装置30に単に転送してもよい。
続いて、コンテンツ受信部13は、当該コンテンツ配信装置30からの応答を待機する(S103)。当該コンテンツ配信装置30から返信されたWebページ(以下、「対象Webページ」という。)がコンテンツ受信部13によって受信されると(S103でYes)、解析状態判定部14は、対象URLに対応する比較結果が、比較結果記憶部122に記憶されているか否かを判定する(S104)。対応URLに対応する比較結果とは、対応URLに対応する初回のWebページの解析結果と、対応URLに対応する2回目のWebページの解析結果との比較結果をいう。
該当する比較結果が比較結果記憶部122に記憶されていない場合(S104でNo)、解析状態判定部14は、対象URLに対応する初回のWebページに対する解析結果が、初回結果記憶部121に記憶されているか否かを判定する(S105)。
該当する解析結果が初回結果記憶部121に記憶されていない場合(S105でNo)、すなわち、対象Webページが初回のWebページである場合、解析部15は、対象Webページについて解析処理を実行する(S106)。解析処理の過程において、解析部15は、対象Webページから参照されている(対象Webページの描画結果に埋め込まれるべき)画像又はスクリプト等のコンテンツを、取得要求送信部12及びコンテンツ受信部13を介してコンテンツ配信装置30から取得する。解析処理が完了すると、解析結果としてレンダーツリーが生成される。
続いて、解析部15は、生成されたレンダーツリーを対象URLに対応付けて、初回結果記憶部121に記憶する(S107)。続いて、解析結果送信部17は、対象Webページの解析結果であるレンダーツリーと、対象Webページとを含むHTTPレスポンスを、解析要求の送信元のコンテンツ表示装置20に送信する(S111)。
一方、ステップS105において、該当する解析結果が初回結果記憶部121に記憶されている場合(S105でYes)、すなわち、対象Webページが2回目のWebページである場合、解析部15は、対象Webページについて解析処理を実行する(S108)。ステップS108の処理内容は、ステップS105の処理内容と同様でよい。
続いて、比較部16は、対象URLに対応付けられて初回結果記憶部121に記憶されている解析結果(レンダーツリー)と、ステップS108において生成された解析結果(レンダーツリー)とを比較し、両者の共通部分及び差分を抽出する。レンダーツリーは、表示要素ごとの情報(レンダラー又はレンダーオブジェクト)を構成要素とするツリー構造であるため、レンダーツリー同士の比較では、表示要素単位で共通部分及び差分を抽出することができる。共通部分は、レンダーツリーの形式で抽出される。一方、差分については、当該差分を示すレンダーツリー上のパス(以下、「レンダーツリー差分パス」という。)と共に、対象Webページにおいて、当該差分に対応する部分(以下、「HTML差分パス」という。)が特定される。HTML差分パスの特定は、例えば、対象Webページのレンダーツリーを生成する過程で生成されたDOM(Document Object Model )ツリーのうち、レンダーツリー差分パスに対応する部分(以下、「DOM差分パス」という。)を特定し、特定されたDOM差分パスに対応する部分が対象Webページにおいて特定されることにより実現されてもよい。HTML差分パスの内容は、例えば、XPathによって表現されてもよい。
続いて、比較部16は、比較結果を、対象URLに対応付けて比較結果記憶部122に記憶する(S110)。比較結果には、例えば、共通部分と、レンダーツリー差分パス及びHTML差分パス等の差分情報とが含まれる。なお、比較の結果、差分が無い場合、比較結果記憶部122には、対象URLに関して初回結果記憶部121に記憶されていた解析結果がコピーされてもよい。この場合、当該解析結果は、初回結果記憶部121から削除されてもよい。
続いて、解析結果送信部17は、ステップS108において生成された、対象Webページの解析結果であるレンダーツリーと、対象Webページとを含むHTTPレスポンスを、解析要求の送信元のコンテンツ表示装置20に送信する(S111)。
このように、対象Webページが、初回のWebページ又は2回目のWebページである場合は、対象Webページの解析結果と対象Webページとが、コンテンツ表示装置20に返信される。当該解析結果は、対象Webページの全部の解析結果であるため、コンテンツ表示装置20は、当該解析結果に基づいて対象Webページの全部を表示することができる。すなわち、対象Webページは、必ずしも返信されなくてもよい。但し、本実施の形態では、対象Webページについて、ユーザによるソースの参照等を可能とし、一般的なWebブラウザと同様の操作感の提供を可能とするため、対象Webページも解析結果と共に返信される例が示されている。
また、ステップS104において、対象URLに対応する比較結果が、比較結果記憶部122に記憶されている場合(S104でYes)、解析結果送信部17は、当該比較結果と対象Webページとを含むHTTPレスポンスを、解析要求の送信元のコンテンツ表示装置20に送信する(S112)。
すなわち、同一のURLに対する3回目以降のWebページに関しては、当該URLに対応付けられて比較結果記憶部122に記憶されている比較結果が返信される。この場合、対象Webページに関して解析処理は実行されない。したがって、複数のコンテンツ表示装置20から解析要求を受け付けるコンテンツ解析装置10の処理負荷を軽減することができる。
続いて、コンテンツ表示装置20が実行する処理手順について説明する。図6は、コンテンツ表示装置が実行する処理手順の一例を説明するためのフローチャートである。
操作検知部21は、ユーザによるWebページの表示指示の入力を待機している(S201)。操作検知部21によって当該表示指示が検知されると(S201でYes)、解析要求送信部22は、当該表示指示において指定されたURLを含む、Webページの解析要求(HTTPリクエスト)をコンテンツ解析装置10に送信する(S202)。
続いて、解析結果受信部23は、コンテンツ解析装置10からの、解析結果又は比較結果の返信を待機する(S203)。解析結果受信部23によって解析結果又は比較結果を含むHTTPレスポンスが受信されると、解析結果処理部24は、受信されたのが解析結果であるのか否かを判定する(S204)。斯かる判定は、例えば、HTTPレスポンスに含まれているデータ構造に基づいて行われてもよい。又は、HTTPレスポンス内に、解析結果及び比較結果のいずれであるのかを示す情報が含まれるようにしてもよい。
受信されたのが解析結果である場合(S204でYes)、解析結果処理部24は、当該解析結果であるレンダーツリーに基づいて、Webページの描画を実行する(S205)。この際、解析結果処理部24は、Webページのレンダリングのための一連の処理のうち、レンダーツリーの生成までの処理を実行する必要が無い。したがって、コンテンツ表示装置20の処理負荷を軽減できると共に、Webページの表示を高速化することができる。
一方、受信されたのが比較結果である場合(S204でNo)、解析結果処理部24は、比較結果と共に受信された対象Webページのうち、比較結果に含まれているHTML差分パスが示す部分(以下、「HTML差分部分」という。)から、当該Webページの参照先のコンテンツのURLを抽出する(S206)。続いて、解析結果処理部24は、抽出されたURLに係るコンテンツ配信装置30から、当該URLに対応するコンテンツを取得する(S207)。続いて、解析結果処理部24は、HTML差分部分と、HTML差分部分に関して取得されたコンテンツと、レンダーツリー差分パスとに基づいて、比較結果に含まれている、共通部分に係るレンダーツリーに対して、差分の部分に対応する要素を追加して、レンダーツリーを完成させる(S208)。すなわち、共通部分のレンダーツリーに対して、レンダーツリー差分パスが示すパスに対応する要素が追加され、当該要素に対して、HTML差分部分と、取得されたコンテンツとに基づく要素が当てはめられる。
続いて、解析結果処理部24は、完成したレンダーツリーに基づいて、Webページを描画する(S209)。
この場合、解析結果処理部24は、差分部分については、レンダリング処理を実行する必要が有るが、共通部分については、レンダーツリーの生成までの処理を実行する必要はない。したがって、この場合であっても、コンテンツ表示装置20の処理負荷を軽減できると共に、Webページの表示を高速化することができる。
上述したように、本実施の形態によれば、コンテンツ解析装置10が、同一のURLに対するWebページに対するアクセスのたびに解析処理を実行する必要性を低減することができる。その結果、コンテンツ解析装置10における処理負荷を軽減することができ、Webページの表示の高速化を期待することができる。
また、コンテンツ表示装置20が、Webページの解析処理を実行する機会を低減することができる。したがって、コンテンツ表示装置20の計算リソースが少ない状態であっても、迅速にコンテンツを表示することができ、コンテンツが表示される待ち時間を短縮することができる。
上記の通り、本実施の形態によれば、Webページの表示処理を効率化することができる。
また、本実施の形態によれば、また、Ajax等を利用した非同期なHTTPリクエストが発生するようなコンテンツであっても、表示可能とすることができる。
なお、本実施の形態では、便宜上、初回結果記憶部121と比較結果記憶部122とを明確に分けて説明したが、これらの記憶部は、一つの記憶部として構成されてもよい。この場合、当該記憶部に記憶されている情報が、初回の解析結果であるのか又は比較結果であるのかを示す情報が、付加されてもよい。
また、本実施の形態では、初回のWebページの解析結果と2回目のWebページの解析結果との比較結果が比較結果記憶部122に記憶される例を示したが、比較対象は、厳密に「初回」又は「2回目」のWebページの解析結果でなくてもよい。同一のURLに関して、相互に異なるタイミングで取得されたWebページのいずれかが、初回のWebページ又は2回目のWebページとされてもよい。
また、本実施の形態は、テキスト形式で表示要素の属性等の定義に関する記述を含むコンテンツであり、描画の過程において中間データが生成されるコンテンツであれば、Webページ以外のコンテンツに適用されてもよい。Webページ以外のコンテンツに対して本実施の形態が適用される場合、コンテンツ表示装置20、コンテンツ解析装置10、及びコンテンツ配信装置30のそれぞれの間の通信は、当該コンテンツに適した通信プロトコルが用いられて実現されてもよい。
なお、本実施の形態において、解析要求受信部11は、受信部の一例である。取得要求送信部12及びコンテンツ受信部13は、取得部の一例である。解析状態判定部14は、判定部の一例である。解析結果送信部17は、返信部の一例である。初回結果記憶部121は、第一の記憶部の一例である。比較結果記憶部122は、第二の記憶部の一例である。URLは、コンテンツ識別情報の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 コンテンツ解析装置
11 解析要求受信部
12 取得要求送信部
13 コンテンツ受信部
14 解析状態判定部
15 解析部
16 比較部
17 解析結果送信部
20 コンテンツ表示装置
21 操作検知部
22 解析要求送信部
23 解析結果受信部
24 解析結果処理部
25 取得要求送信部
26 コンテンツ受信部
30 コンテンツ配信装置
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
121 初回結果記憶部
122 比較結果記憶部
B バス

Claims (4)

  1. ネットワークを介して接続されるコンテンツ表示装置から、表示要素の定義に関する記述を含むコンテンツの取得要求を受信する受信部と、
    前記取得要求に含まれているコンテンツ識別情報に対応するコンテンツを取得する取得部と、
    前記コンテンツを表示する過程で生成される中間データが、前記コンテンツ識別情報に対応付けられて第一の記憶部に記憶されているかを判定する判定部と、
    前記判定部によって前記中間データが前記第一の記憶部に記憶されていないと判定された場合に、前記取得部によって取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、生成された中間データを前記コンテンツ識別情報に対応付けて前記第一の記憶部に記憶する解析部と、
    前記第一の記憶部に記憶されている、又は前記解析部によって生成された、前記コンテンツ識別情報に対応するコンテンツの中間データを、前記コンテンツ表示装置に返信する返信部と、
    を有し、
    前記判定部は、更に、前記コンテンツ識別情報に対応付けられた情報が第二の記憶部に記憶されているかを判定し、
    前記解析部は、前記判定部によって前記中間データが前記第一の記憶部に記憶されていると判定される場合であっても、前記判定部によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合は、前記取得部によって取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、
    前記判定部によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合に、前記コンテンツ識別情報に対応付けられて前記第一の記憶部に記憶されている中間データと、前記コンテンツ識別情報に関して前記解析部によって生成された中間データとを比較して、比較された中間データの共通部分を抽出すると共に、前記コンテンツ識別情報に関して前記取得部によって取得されたコンテンツのうち、比較された中間データの差分に対応する部分の表示を前記コンテンツ表示装置に実行させるための差分情報を生成し、当該共通部分と当該差分情報とを、前記コンテンツ識別情報に対応付けて前記第二の記憶部に記憶する比較部を有し、
    前記返信部は、前記判定部によって、前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていると判定された場合は、当該コンテンツ識別情報に対応付けられて前記第二の記憶部に記憶されている前記共通部分と前記差分情報とを、前記コンテンツ表示装置に返信する、
    ことを特徴とするコンテンツ解析装置。
  2. 前記コンテンツは、Webページであり、
    前記中間データは、レンダーツリーである、
    ことを特徴とする請求項記載のコンテンツ解析装置。
  3. コンピュータが、
    ネットワークを介して接続されるコンテンツ表示装置から、表示要素の定義に関する記述を含むコンテンツの取得要求を受信する受信手順と、
    前記取得要求に含まれているコンテンツ識別情報に対応するコンテンツを取得する取得手順と、
    前記コンテンツを表示する過程で生成される中間データが、前記コンテンツ識別情報に対応付けられて第一の記憶部に記憶されているかを判定する判定手順と、
    前記判定手順において前記中間データが前記第一の記憶部に記憶されていないと判定された場合に、前記取得手順において取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、生成された中間データを前記コンテンツ識別情報に対応付けて前記第一の記憶部に記憶する解析手順と、
    前記第一の記憶部に記憶されている、又は前記解析手順において生成された、前記コンテンツ識別情報に対応するコンテンツの中間データを、前記コンテンツ表示装置に返信する返信手順と、
    を実行し、
    前記判定手順は、更に、前記コンテンツ識別情報に対応付けられた情報が第二の記憶部に記憶されているかを判定し、
    前記解析手順は、前記判定手順によって前記中間データが前記第一の記憶部に記憶されていると判定される場合であっても、前記判定手順によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合は、前記取得手順によって取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、
    前記判定手順によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合に、前記コンテンツ識別情報に対応付けられて前記第一の記憶部に記憶されている中間データと、前記コンテンツ識別情報に関して前記解析手順によって生成された中間データとを比較して、比較された中間データの共通部分を抽出すると共に、前記コンテンツ識別情報に関して前記取得手順によって取得されたコンテンツのうち、比較された中間データの差分に対応する部分の表示を前記コンテンツ表示装置に実行させるための差分情報を生成し、当該共通部分と当該差分情報とを、前記コンテンツ識別情報に対応付けて前記第二の記憶部に記憶する比較手順を前記コンピュータが実行し、
    前記返信手順は、前記判定手順によって、前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていると判定された場合は、当該コンテンツ識別情報に対応付けられて前記第二の記憶部に記憶されている前記共通部分と前記差分情報とを、前記コンテンツ表示装置に返信する、
    ことを特徴とするコンテンツ解析方法。
  4. コンピュータを、請求項1又は2記載の機能部として機能させるためのプログラム。
JP2014203566A 2014-10-02 2014-10-02 コンテンツ解析装置、コンテンツ解析方法、及びプログラム Active JP6378601B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014203566A JP6378601B2 (ja) 2014-10-02 2014-10-02 コンテンツ解析装置、コンテンツ解析方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014203566A JP6378601B2 (ja) 2014-10-02 2014-10-02 コンテンツ解析装置、コンテンツ解析方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016071811A JP2016071811A (ja) 2016-05-09
JP6378601B2 true JP6378601B2 (ja) 2018-08-22

Family

ID=55867104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014203566A Active JP6378601B2 (ja) 2014-10-02 2014-10-02 コンテンツ解析装置、コンテンツ解析方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6378601B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6633483B2 (ja) * 2016-09-12 2020-01-22 株式会社日立製作所 転送制御装置および転送制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3848209B2 (ja) * 2002-05-23 2006-11-22 株式会社東芝 データ転送装置、データ転送方法及びプログラム
JPWO2008078684A1 (ja) * 2006-12-25 2010-04-22 株式会社Access ネットワークシステム
JP2009211191A (ja) * 2008-02-29 2009-09-17 Ntt Docomo Inc プロキシサーバ、端末、ウェブページの提供方法および解析方法
KR102013338B1 (ko) * 2013-02-04 2019-08-22 삼성전자 주식회사 서비스 페이지 공유 방법과 시스템 및 이를 지원하는 단말기

Also Published As

Publication number Publication date
JP2016071811A (ja) 2016-05-09

Similar Documents

Publication Publication Date Title
EP3465467B1 (en) Web page accelerations for web application hosted in native mobile application
US10831858B2 (en) Mobile enablement of existing web sites
US20230273920A1 (en) Automated extraction of data from web pages
US20230289395A1 (en) Systems and methods for presenting web application content
TWI670611B (zh) 網頁文件發送方法、網頁渲染方法及裝置、網頁渲染系統
US9984408B1 (en) Method, medium, and system for live video cooperative shopping
CN107390994B (zh) 界面呈现方法和装置
CN104572843B (zh) 一种页面的加载方法及装置
US8245125B1 (en) Hybrid rendering for webpages
US20080313545A1 (en) Systems and methods for providing desktop or application remoting to a web browser
US20140337699A1 (en) Method and apparatus for extracting web page content
CN110990736A (zh) 页面加载方法、装置、终端设备和存储介质
US20130036193A1 (en) System and method for generating dynamic image sprites
US10574773B2 (en) Method, device, terminal, server and storage medium of processing network request and response
JP5604016B1 (ja) スクリプトのキャッシュ方法及びそれを適用した情報処理装置
US9998559B2 (en) Preemptive caching of data
JP6378601B2 (ja) コンテンツ解析装置、コンテンツ解析方法、及びプログラム
JP2016021212A (ja) 解析サーバ装置、解析プログラム
US9854053B1 (en) Providing faster data access using multiple caching servers
US9680967B2 (en) Method of using application, gateway using the method, terminal using the method, and terminal system using the method
US10460005B2 (en) Data consumption between heterogeneous web applications
US10218812B2 (en) Manner of display in a mobile application
US20130111433A1 (en) Method and apparatus for generating application programs
JP2009176176A (ja) ウェブページ配信装置
KR101175164B1 (ko) 단말 기기에서 웹 사이트의 디자인을 변경하는 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180319

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180727

R150 Certificate of patent or registration of utility model

Ref document number: 6378601

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150