(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続されるコンテンツ表示装置から、表示要素の定義に関する記述を含むコンテンツの取得要求を受信する受信部と、
前記取得要求に含まれているコンテンツ識別情報に対応するコンテンツを取得する取得部と、
前記コンテンツを表示する過程で生成される中間データが、前記コンテンツ識別情報に対応付けられて第一の記憶部に記憶されているかを判定する判定部と、
前記判定部によって前記中間データが前記第一の記憶部に記憶されていないと判定された場合に、前記取得部によって取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、生成された中間データを前記コンテンツ識別情報に対応付けて前記第一の記憶部に記憶する解析部と、
前記第一の記憶部に記憶されている、又は前記解析部によって生成された、前記コンテンツ識別情報に対応するコンテンツの中間データを、前記コンテンツ表示装置に返信する返信部と、
を有し、
前記判定部は、更に、前記コンテンツ識別情報に対応付けられた情報が第二の記憶部に記憶されているかを判定し、
前記解析部は、前記判定部によって前記中間データが前記第一の記憶部に記憶されていると判定される場合であっても、前記判定部によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合は、前記取得部によって取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、
前記判定部によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合に、前記コンテンツ識別情報に対応付けられて前記第一の記憶部に記憶されている中間データと、前記コンテンツ識別情報に関して前記解析部によって生成された中間データとを比較して、比較された中間データの共通部分を抽出すると共に、前記コンテンツ識別情報に関して前記取得部によって取得されたコンテンツのうち、比較された中間データの差分に対応する部分の表示を前記コンテンツ表示装置に実行させるための差分情報を生成し、当該共通部分と当該差分情報とを、前記コンテンツ識別情報に対応付けて前記第二の記憶部に記憶する比較部を有し、
前記返信部は、前記判定部によって、前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていると判定された場合は、当該コンテンツ識別情報に対応付けられて前記第二の記憶部に記憶されている前記共通部分と前記差分情報とを、前記コンテンツ表示装置に返信する、
ことを特徴とするコンテンツ解析装置。
【請求項２】
前記コンテンツは、Ｗｅｂページであり、
前記中間データは、レンダーツリーである、
ことを特徴とする請求項１記載のコンテンツ解析装置。
【請求項３】
コンピュータが、
ネットワークを介して接続されるコンテンツ表示装置から、表示要素の定義に関する記述を含むコンテンツの取得要求を受信する受信手順と、
前記取得要求に含まれているコンテンツ識別情報に対応するコンテンツを取得する取得手順と、
前記コンテンツを表示する過程で生成される中間データが、前記コンテンツ識別情報に対応付けられて第一の記憶部に記憶されているかを判定する判定手順と、
前記判定手順において前記中間データが前記第一の記憶部に記憶されていないと判定された場合に、前記取得手順において取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、生成された中間データを前記コンテンツ識別情報に対応付けて前記第一の記憶部に記憶する解析手順と、
前記第一の記憶部に記憶されている、又は前記解析手順において生成された、前記コンテンツ識別情報に対応するコンテンツの中間データを、前記コンテンツ表示装置に返信する返信手順と、
を実行し、
前記判定手順は、更に、前記コンテンツ識別情報に対応付けられた情報が第二の記憶部に記憶されているかを判定し、
前記解析手順は、前記判定手順によって前記中間データが前記第一の記憶部に記憶されていると判定される場合であっても、前記判定手順によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合は、前記取得手順によって取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、
前記判定手順によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合に、前記コンテンツ識別情報に対応付けられて前記第一の記憶部に記憶されている中間データと、前記コンテンツ識別情報に関して前記解析手順によって生成された中間データとを比較して、比較された中間データの共通部分を抽出すると共に、前記コンテンツ識別情報に関して前記取得手順によって取得されたコンテンツのうち、比較された中間データの差分に対応する部分の表示を前記コンテンツ表示装置に実行させるための差分情報を生成し、当該共通部分と当該差分情報とを、前記コンテンツ識別情報に対応付けて前記第二の記憶部に記憶する比較手順を前記コンピュータが実行し、
前記返信手順は、前記判定手順によって、前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていると判定された場合は、当該コンテンツ識別情報に対応付けられて前記第二の記憶部に記憶されている前記共通部分と前記差分情報とを、前記コンテンツ表示装置に返信する、
ことを特徴とするコンテンツ解析方法。
【請求項４】
コンピュータを、請求項１又は２記載の機能部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ解析装置、コンテンツ解析方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレットなどのモバイル環境で、Ｗｅｂ（World Wide Web）ページの高速表示のために、クラウドコンピューティングを利用する手法が注目されている。クラウド側（ネットワークに接続されたサーバ群）においてＷｅｂブラウザの本体を動作させ、Ｗｅｂページを表示するスマートフォンやタブレットなどのクライアントは、クラウド側のＷｅｂブラウザによって、表示される直前の状態まで処理されたデータをダウンロードし、表示する手法である（例えば、非特許文献１参照）。
【０００３】
斯かる手法によれば、クライアントは、Ｗｅｂページの表示に必要なＨＴＭＬ（HyperText Markup Language）、ＣＳＳ（Cascading Style Sheets）、Ｊａｖａｓｃｒｉｐｔ（登録商標）、画像等のコンテンツのダウンロードや、それらのコンテンツのレンダリングを行う必要は無い。すなわち、クライアントは、表示できる状態となったレンダリング後のデータをダウンロードして表示すればよく、計算リソースの少ないクライアントでも、クラウド側の膨大な計算リソースを利用することで、高速にＷｅｂページを表示することができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】携帯電話用WEBブラウザのサーバ・解析方式の提案と実装評価 情報処理学会論文誌 Vol.47 No.7 July 2006
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の方法では、Ｗｅｂページが表示されるたびに、クラウド側によってレンダリング等の処理が行われるため、クラウド側に負荷が高くなる可能性が高い。その結果、Ｗｅｂページの表示の高速化について、期待通りの結果が得られない可能性が有る。また，動的なWebページについては，レンダリング後のデータには反映されないため，動的なWebページを取り扱うことができなかった。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、Ｗｅｂページの表示の高速化と動的なＷｅｂページの取り扱いとを実現すること目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、コンテンツ解析装置は、ネットワークを介して接続されるコンテンツ表示装置から、表示要素の定義に関する記述を含むコンテンツの取得要求を受信する受信部と、前記取得要求に含まれているコンテンツ識別情報に対応するコンテンツを取得する取得部と、前記コンテンツを表示する過程で生成される中間データが、前記コンテンツ識別情報に対応付けられて第一の記憶部に記憶されているかを判定する判定部と、前記判定部によって前記中間データが前記第一の記憶部に記憶されていないと判定された場合に、前記取得部によって取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、生成された中間データを前記コンテンツ識別情報に対応付けて前記第一の記憶部に記憶する解析部と、前記第一の記憶部に記憶されている、又は前記解析部によって生成された、前記コンテンツ識別情報に対応するコンテンツの中間データを、前記コンテンツ表示装置に返信する返信部と、を有し、前記判定部は、更に、前記コンテンツ識別情報に対応付けられた情報が第二の記憶部に記憶されているかを判定し、前記解析部は、前記判定部によって前記中間データが前記第一の記憶部に記憶されていると判定される場合であっても、前記判定部によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合は、前記取得部によって取得されたコンテンツの記述を解析して、当該コンテンツの中間データを生成し、前記判定部によって前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていないと判定された場合に、前記コンテンツ識別情報に対応付けられて前記第一の記憶部に記憶されている中間データと、前記コンテンツ識別情報に関して前記解析部によって生成された中間データとを比較して、比較された中間データの共通部分を抽出すると共に、前記コンテンツ識別情報に関して前記取得部によって取得されたコンテンツのうち、比較された中間データの差分に対応する部分の表示を前記コンテンツ表示装置に実行させるための差分情報を生成し、当該共通部分と当該差分情報とを、前記コンテンツ識別情報に対応付けて前記第二の記憶部に記憶する比較部を有し、前記返信部は、前記判定部によって、前記コンテンツ識別情報に対応付けられた情報が前記第二の記憶部に記憶されていると判定された場合は、当該コンテンツ識別情報に対応付けられて前記第二の記憶部に記憶されている前記共通部分と前記差分情報とを、前記コンテンツ表示装置に返信する。
【発明の効果】
【０００８】
Ｗｅｂページの表示の高速化と動的なＷｅｂページの取り扱いとを実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態におけるコンテンツ表示システムの構成例を示す図である。
【図２】本発明の実施の形態におけるコンテンツ解析装置のハードウェア構成例を示す図である。
【図３】本発明の実施の形態におけるコンテンツ解析装置の機能構成例を示す図である。
【図４】本発明の実施の形態におけるコンテンツ表示装置の機能構成例を示す図である。
【図５】コンテンツ解析装置が実行する処理手順の一例を説明するためのフローチャートである。
【図６】コンテンツ表示装置が実行する処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるコンテンツ表示システムの構成例を示す図である。
【００１１】
図１において、１以上のコンテンツ表示装置２０、コンテンツ解析装置１０、及び１以上のコンテンツ配信装置３０は、ＬＡＮ（Local Area Network）又はインターネット等のネットワークを介して通信可能に相互に接続されている。当該ネットワークには、無線区間が含まれてもよい。
【００１２】
コンテンツ表示装置２０は、コンテンツの表示に利用される端末である。すなわち、ユーザは、コンテンツ表示装置２０を介して、コンテンツを閲覧することができる。例えば、フィーチャーフォン、スマートフォン、タブレット端末、又はＰＣ（Personal Computer）等が、コンテンツ表示装置２０として用いられてもよい。なお、本実施の形態では、Ｗｅｂページを、「コンテンツ」の一例として説明する。Ｗｅｂページは、ＨＴＭＬ（HyperText Markup Language）、ＣＳＳ（Cascading Style Sheets）、Ｊａｖａｓｃｒｉｐｔ（登録商標）、及び画像等を含むデータである。
【００１３】
コンテンツ表示装置２０は、例えば、ユーザによる操作に応じ、当該操作において特定されるＷｅｂページの取得要求を、コンテンツ解析装置１０に送信し、コンテンツ解析装置１０からＷｅｂページの解析結果が返信される、当該取得要求に係るＷｅｂページの解析結果に基づいて、コンテンツ表示装置２０はＷｅｂページの表示を行う。ここで、解析結果とは、Ｗｅｂページのレンダリングの最終的な成果物である画像ではなく、レンダリングの過程で生成される、表示要素の構成を示す中間データをいう。すなわち、本実施の形態において、Ｗｅｂページの解析とは、当該Ｗｅｂページの中間データの生成をいう。本実施の形態では、斯かる中間データの一例として、レンダーツリーが採用される。レンダーツリーは、表示要素を表示順に並べたツリーであり、Ｗｅｂページの視覚的な表現を示すデータである。
【００１４】
なお、コンテンツ表示装置２０からコンテンツ解析装置１０に送信されるＷｅｂページの取得要求は、Ｗｅｂページの解析要求であるともいえる。そこで、以下において、コンテンツ表示装置２０からコンテンツ解析装置１０に送信されるＷｅｂページの取得要求については、Ｗｅｂページの解析要求という。
【００１５】
コンテンツ表示装置２０にＷｅｂページの解析結果であるレンダーツリーが返信されることで、コンテンツ表示装置２０が、レンダリングを構成する全ての処理を行う必要性を低減することができる。その結果、コンテンツ表示装置２０におけるＷｅｂページの描画速度を高速化することができる。
【００１６】
コンテンツ解析装置１０は、論理的にはコンテンツ表示装置２０とコンテンツ配信装置３０との間の位置し、コンテンツ表示装置２０とコンテンツ配信装置３０とのやりとりを中継する１以上のコンピュータである。例えば、コンテンツ解析装置１０は、Ｗｅｂページの解析要求をコンテンツ表示装置２０から受信すると、当該Ｗｅｂページの取得要求をコンテンツ配信装置３０に送信する。コンテンツ解析装置１０は、当該取得要求に応じてコンテンツ配信装置３０から返信されるＷｅｂページを受信する。ここで、コンテンツ解析装置１０は、当該Ｗｅｂページをそのままコンテンツ表示装置２０に返信するのではなく、当該Ｗｅｂページに関して解析処理を実行してレンダーツリーを生成する。コンテンツ解析装置１０は、生成するレンダーツリーを、コンテンツ表示装置２０に解析結果として返信する。なお、専用のＷｅｂプロキシが、コンテンツ解析装置１０として利用されてもよい。
【００１７】
コンテンツ配信装置３０は、Ｗｅｂページを保持し、コンテンツ解析装置１０又はコンテンツ表示装置２０からのＷｅｂページの取得要求に応じ、当該取得要求に指定されているＷｅｂページ又はコンテンツを返信するコンピュータである。
【００１８】
図２は、本発明の実施の形態におけるコンテンツ解析装置のハードウェア構成例を示す図である。図２のコンテンツ解析装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１９】
コンテンツ解析装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２０】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってコンテンツ解析装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２１】
なお、コンテンツ表示装置２０も、図２と同様のハードウェア構成を有していてもよい。但し、コンテンツ表示装置２０は、ボタン、タッチパネル、キーボード、マウス等の入力装置や、液晶ディスプレイ等の表示装置を備えていることが望ましい。
【００２２】
図３は、本発明の実施の形態におけるコンテンツ解析装置の機能構成例を示す図である。図３において、コンテンツ解析装置１０は、解析要求受信部１１、取得要求送信部１２、コンテンツ受信部１３、解析状態判定部１４、解析部１５、比較部１６、及び解析結果送信部１７等を有する。コンテンツ解析装置１０は、また、初回結果記憶部１２１及び比較結果記憶部１２２等を利用する。これら各記憶部は、図２の補助記憶装置１０２、又はコンテンツ解析装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００２３】
解析要求受信部１１は、コンテンツ表示装置２０から送信される、Ｗｅｂページの解析要求を受信する。当該解析要求には、解析対象とされるＷｅｂページのＵＲＬ（Uniform Resource Locator）が含まれている。取得要求送信部１２は、解析要求受信部１１によって受信された解析要求に含まれているＵＲＬに係るコンテンツ配信装置３０に、当該ＵＲＬに対応するＷｅｂページの取得要求を送信する。
【００２４】
コンテンツ受信部１３は、取得要求送信部１２によって送信された取得要求に応じてコンテンツ配信装置３０から返信されるＷｅｂページを受信し、解析状態判定部１４に入力する。このＷｅｂページは通常ＨＴＭＬである。
【００２５】
解析状態判定部１４は、解析要求受信部１１によって受信された解析要求に含まれているＵＲＬに対応するＷｅｂページの解析結果（レンダーツリー）が、初回結果記憶部１２１に記憶されているか否かを判定する。
【００２６】
初回結果記憶部１２１には、過去に受信された解析要求に係るＵＲＬごとに、当該ＵＲＬに関して最初に取得されたＷｅｂページ（以下、「初回のＷｅｂページ」という。）に対する解析結果が記憶される。
【００２７】
解析状態判定部１４は、また、解析要求受信部１１によって受信された解析要求に含まれているＵＲＬに対応する情報が、比較結果記憶部１２２に記憶されているか否かを判定する。
【００２８】
比較結果記憶部１２２には、同一のＵＲＬに関して２回以上Ｗｅｂページが取得されたＵＲＬごとに、当該ＵＲＬに対する初回のＷｅｂページの解析結果（すなわち、初回結果記憶部１２１に記憶されている解析結果）と、２回目に取得されたＷｅｂページ（以下、「２回目のＷｅｂページ」という。）の解析結果との比較結果が記憶される。比較結果には、比較された解析結果同士の共通部分や、２回目のＷｅｂページ内の記述において、比較された解析結果の差分又は相違点に対応する部分を示す差分情報等が含まれる。当該差分情報は、当該差分に対応する部分の表示（レンダリング）を、コンテンツ表示装置２０に実行させるための情報である。
【００２９】
なお、同一のＵＲＬに関して取得されるＷｅｂページ間において相違点が存在しうるのは、例えば、Ｗｅｂページの解析要求元であるコンテンツ表示装置２０の状態に応じてＷｅｂページが動的に生成される場合が有るからである。例えば、コンテンツ表示装置２０に保存されているＣｏｏｋｉｅに応じて、動的にＷｅｂページが生成される場合、同一のＵＲＬに関して取得されるＷｅｂページ間に相違点が発生する。
【００３０】
解析部１５は、コンテンツ受信部１３によって受信され、解析状態判定部１４を介して入力されたＷｅｂページについて解析処理を行う。すなわち、Ｗｅｂページを構成するＨＴＭＬ及びＣＳＳ等に基づいて、当該Ｗｅｂページのレンダーツリーを生成する。解析部１５は、Ｗｅｂページの解析処理の過程において、当該Ｗｅｂページから他のコンテンツへの参照を検出した場合は、当該他のコンテンツを、取得要求送信部１２を介してコンテンツ配信装置３０から取得する。解析対象のＷｅｂページが初回のＷｅｂページである場合、解析部１５によって生成されるレンダーツリーは、当該Ｗｅｂページの解析結果として、当該ＷｅｂページのＵＲＬに対応付けられて初回結果記憶部１２１に記憶される。解析対象のＷｅｂページが２回目のＷｅｂページである場合、解析部１５によって生成されるレンダーツリーは、当該ＷｅｂページのＵＲＬに対応付けられて初回結果記憶部１２１に記憶されている解析結果との比較対象として、比較部１６に入力される。
【００３１】
比較部１６は、各解析要求に含まれているＵＲＬごとに、初回のＷｅｂページの解析結果と２回目のＷｅｂページの解析結果とを比較し、比較された解析結果の共通部分を抽出すると共に、２回目のＷｅｂページの記述において、比較された解析結果の差分に対応する部分を特定する。比較部１６は、当該共通部分及び当該差分に対応する部分を示す差分情報を含む比較結果を、比較された解析結果に係るＷｅｂページのＵＲＬに対応付けて、比較結果記憶部１２２に記憶する。
【００３２】
解析結果送信部１７は、解析要求に含まれるＵＲＬに対応するＷｅｂページの解析結果を、当該解析要求の送信元のコンテンツ表示装置２０に返信する。当該Ｗｅｂページが初回のＷｅｂページ又は２回目のＷｅｂページである場合、解析結果送信部１７は、当該ＵＲＬに基づいてコンテンツ配信装置３０から取得されたＷｅｂページに関して、解析部１５によって生成されたレンダーツリーと、当該Ｗｅｂページとを解析結果としてコンテンツ表示装置２０に返信する。当該Ｗｅｂページが初回のＷｅｂページ及び２回目のＷｅｂページのいずれでもない場合、解析結果送信部１７は、解析要求に含まれているＵＲＬに対応付けられて比較結果記憶部１２２に記憶されている比較結果と、当該Ｗｅｂページ（通常はＨＴＭＬ）とを解析結果としてコンテンツ表示装置２０に返信する。
【００３３】
図４は、本発明の実施の形態におけるコンテンツ表示装置の機能構成例を示す図である。図４において、コンテンツ表示装置２０は、操作検知部２１、解析要求送信部２２、解析結果受信部２３、解析結果処理部２４、取得要求送信部２５、及びコンテンツ受信部２６等を有する。これら各部は、コンテンツ表示装置２０にインストールされた１以上のプログラム（例えば、専用Ｗｅｂブラウザのプログラム）が、コンテンツ表示装置２０のＣＰＵに実行させる処理により実現される。なお、専用Ｗｅｂブラウザは、Ｗｅｂページ上のリンクがクリックされたり、ＵＲＬが入力されたりすると、専用Ｗｅｂブラウザに予め設定されたアドレス情報に係るコンテンツ解析装置１０へのＨＴＴＰリクエストの送信をコンテンツ表示装置２０に実行させる。斯かる専用Ｗｅｂブラウザは、例えば、一般的なＷｅｂブラウザに対するプラグインやエクステンション等によって実現されてもよい。
【００３４】
操作検知部２１は、コンテンツ表示装置２０のユーザによる、Ｗｅｂページの表示指示に該当する操作を検知する。解析要求送信部２２は、操作検知部２１による表示指示の検知に応じ、Ｗｅｂページの解析要求をコンテンツ解析装置１０に送信する。Ｗｅｂページの解析要求には、対象となるＷｅｂページのＵＲＬ（Uniform Resource Locator）が含まれる。
【００３５】
解析結果受信部２３は、解析要求に応じてコンテンツ解析装置１０から返信される解析結果又は比較結果を受信する。
【００３６】
解析結果処理部２４は、解析結果受信部２３によって受信された解析結果又は比較結果に基づいて、Ｗｅｂページの描画処理を行う。解析結果受信部２３によって受信された解析結果が比較結果である場合、Ｗｅｂページから参照されている全てのコンテンツが比較結果内の解析結果に含まれているとは限らない。当該解析結果は、初回のＷｅｂページの解析結果と２回目のＷｅｂページの解析結果との共通部分であり、各Ｗｅｂページに固有の部分を含まないからである。したがって、解析結果処理部２４は、比較結果に含まれている差分情報に基づいて、当該差分部分において参照されているコンテンツを、コンテンツ配信装置３０から取得する。斯かるコンテンツの取得は、取得要求送信部２５及びコンテンツ受信部２６を介して行われる。
【００３７】
すなわち、取得要求送信部２５は、解析結果処理部２４から取得が要求されたコンテンツの取得要求を、コンテンツ配信装置３０に送信する。コンテンツ受信部２６は、当該取得要求に応じてコンテンツ配信装置３０から返信されるコンテンツを受信する。
【００３８】
なお、Ａｊａｘ（Asynchronous JavaScript（登録商標） + XML）等、非同期にＨＴＴＰ（HyperText Transfer Protocol）リクエストを送信するコンテンツを含むＷｅｂページに関しても、解析結果処理部２４は、取得要求送信部２５を介して、当該ＨＴＴＰリクエストをコンテンツ配信装置３０に送信し、当該ＨＴＴＰリクエストに応じて返信されるＨＴＴＰリレスポンスを、コンテンツ受信部２６を介して受信する。解析結果処理部２４は、受信されたＨＴＴＰレスポンスを、表示中のＷｅｂページに反映する。そうすることで、当該Ｗｅｂページに含まれる動的なコンテンツも表示可能となる。
【００３９】
すなわち、本実施の形態では、コンテンツ解析装置１０による解析結果は、Ｗｅｂページのレンダリングが完了した画像ではなく、画像の生成過程において生成される中間データ（レンダーツリー）である。したがって、コンテンツ表示装置２０は、動的なコンテンツを含むＷｅｂページについても表示することができる。
【００４０】
以下、コンテンツ解析装置１０及びコンテンツ表示装置２０のそれぞれが実行する処理手順について説明する。
【００４１】
図５は、コンテンツ解析装置が実行する処理手順の一例を説明するためのフローチャートである。
【００４２】
解析要求受信部１１は、いずれかのコンテンツ表示装置２０からのＷｅｂページの解析要求の受信を待機している（Ｓ１０１）。解析要求受信部１１によって、いずれかのコンテンツ表示装置２０からの解析要求が受信されると（Ｓ１０１でＹｅｓ）、取得要求送信部１２は、当該解析要求に含まれているＵＲＬ（以下、「対象ＵＲＬ」という。）に係るＷｅｂページの取得要求を、対象ＵＲＬに係るコンテンツ配信装置３０に送信する（Ｓ１０２）。なお、コンテンツ表示装置２０からの解析要求は、一般的なＨＴＴＰリクエストでもよい。同様に、取得要求送信部１２によって送信されるＷｅｂページの取得要求も、一般的なＨＴＴＰリクエストでもよい。例えば、取得要求送信部１２は、コンテンツ表示装置２０からの解析要求を、コンテンツ配信装置３０に単に転送してもよい。
【００４３】
続いて、コンテンツ受信部１３は、当該コンテンツ配信装置３０からの応答を待機する（Ｓ１０３）。当該コンテンツ配信装置３０から返信されたＷｅｂページ（以下、「対象Ｗｅｂページ」という。）がコンテンツ受信部１３によって受信されると（Ｓ１０３でＹｅｓ）、解析状態判定部１４は、対象ＵＲＬに対応する比較結果が、比較結果記憶部１２２に記憶されているか否かを判定する（Ｓ１０４）。対応ＵＲＬに対応する比較結果とは、対応ＵＲＬに対応する初回のＷｅｂページの解析結果と、対応ＵＲＬに対応する２回目のＷｅｂページの解析結果との比較結果をいう。
【００４４】
該当する比較結果が比較結果記憶部１２２に記憶されていない場合（Ｓ１０４でＮｏ）、解析状態判定部１４は、対象ＵＲＬに対応する初回のＷｅｂページに対する解析結果が、初回結果記憶部１２１に記憶されているか否かを判定する（Ｓ１０５）。
【００４５】
該当する解析結果が初回結果記憶部１２１に記憶されていない場合（Ｓ１０５でＮｏ）、すなわち、対象Ｗｅｂページが初回のＷｅｂページである場合、解析部１５は、対象Ｗｅｂページについて解析処理を実行する（Ｓ１０６）。解析処理の過程において、解析部１５は、対象Ｗｅｂページから参照されている（対象Ｗｅｂページの描画結果に埋め込まれるべき）画像又はスクリプト等のコンテンツを、取得要求送信部１２及びコンテンツ受信部１３を介してコンテンツ配信装置３０から取得する。解析処理が完了すると、解析結果としてレンダーツリーが生成される。
【００４６】
続いて、解析部１５は、生成されたレンダーツリーを対象ＵＲＬに対応付けて、初回結果記憶部１２１に記憶する（Ｓ１０７）。続いて、解析結果送信部１７は、対象Ｗｅｂページの解析結果であるレンダーツリーと、対象Ｗｅｂページとを含むＨＴＴＰレスポンスを、解析要求の送信元のコンテンツ表示装置２０に送信する（Ｓ１１１）。
【００４７】
一方、ステップＳ１０５において、該当する解析結果が初回結果記憶部１２１に記憶されている場合（Ｓ１０５でＹｅｓ）、すなわち、対象Ｗｅｂページが２回目のＷｅｂページである場合、解析部１５は、対象Ｗｅｂページについて解析処理を実行する（Ｓ１０８）。ステップＳ１０８の処理内容は、ステップＳ１０５の処理内容と同様でよい。
【００４８】
続いて、比較部１６は、対象ＵＲＬに対応付けられて初回結果記憶部１２１に記憶されている解析結果（レンダーツリー）と、ステップＳ１０８において生成された解析結果（レンダーツリー）とを比較し、両者の共通部分及び差分を抽出する。レンダーツリーは、表示要素ごとの情報（レンダラー又はレンダーオブジェクト）を構成要素とするツリー構造であるため、レンダーツリー同士の比較では、表示要素単位で共通部分及び差分を抽出することができる。共通部分は、レンダーツリーの形式で抽出される。一方、差分については、当該差分を示すレンダーツリー上のパス（以下、「レンダーツリー差分パス」という。）と共に、対象Ｗｅｂページにおいて、当該差分に対応する部分（以下、「ＨＴＭＬ差分パス」という。）が特定される。ＨＴＭＬ差分パスの特定は、例えば、対象Ｗｅｂページのレンダーツリーを生成する過程で生成されたＤＯＭ（Document Object Model ）ツリーのうち、レンダーツリー差分パスに対応する部分（以下、「ＤＯＭ差分パス」という。）を特定し、特定されたＤＯＭ差分パスに対応する部分が対象Ｗｅｂページにおいて特定されることにより実現されてもよい。ＨＴＭＬ差分パスの内容は、例えば、ＸＰａｔｈによって表現されてもよい。
【００４９】
続いて、比較部１６は、比較結果を、対象ＵＲＬに対応付けて比較結果記憶部１２２に記憶する（Ｓ１１０）。比較結果には、例えば、共通部分と、レンダーツリー差分パス及びＨＴＭＬ差分パス等の差分情報とが含まれる。なお、比較の結果、差分が無い場合、比較結果記憶部１２２には、対象ＵＲＬに関して初回結果記憶部１２１に記憶されていた解析結果がコピーされてもよい。この場合、当該解析結果は、初回結果記憶部１２１から削除されてもよい。
【００５０】
続いて、解析結果送信部１７は、ステップＳ１０８において生成された、対象Ｗｅｂページの解析結果であるレンダーツリーと、対象Ｗｅｂページとを含むＨＴＴＰレスポンスを、解析要求の送信元のコンテンツ表示装置２０に送信する（Ｓ１１１）。
【００５１】
このように、対象Ｗｅｂページが、初回のＷｅｂページ又は２回目のＷｅｂページである場合は、対象Ｗｅｂページの解析結果と対象Ｗｅｂページとが、コンテンツ表示装置２０に返信される。当該解析結果は、対象Ｗｅｂページの全部の解析結果であるため、コンテンツ表示装置２０は、当該解析結果に基づいて対象Ｗｅｂページの全部を表示することができる。すなわち、対象Ｗｅｂページは、必ずしも返信されなくてもよい。但し、本実施の形態では、対象Ｗｅｂページについて、ユーザによるソースの参照等を可能とし、一般的なＷｅｂブラウザと同様の操作感の提供を可能とするため、対象Ｗｅｂページも解析結果と共に返信される例が示されている。
【００５２】
また、ステップＳ１０４において、対象ＵＲＬに対応する比較結果が、比較結果記憶部１２２に記憶されている場合（Ｓ１０４でＹｅｓ）、解析結果送信部１７は、当該比較結果と対象Ｗｅｂページとを含むＨＴＴＰレスポンスを、解析要求の送信元のコンテンツ表示装置２０に送信する（Ｓ１１２）。
【００５３】
すなわち、同一のＵＲＬに対する３回目以降のＷｅｂページに関しては、当該ＵＲＬに対応付けられて比較結果記憶部１２２に記憶されている比較結果が返信される。この場合、対象Ｗｅｂページに関して解析処理は実行されない。したがって、複数のコンテンツ表示装置２０から解析要求を受け付けるコンテンツ解析装置１０の処理負荷を軽減することができる。
【００５４】
続いて、コンテンツ表示装置２０が実行する処理手順について説明する。図６は、コンテンツ表示装置が実行する処理手順の一例を説明するためのフローチャートである。
【００５５】
操作検知部２１は、ユーザによるＷｅｂページの表示指示の入力を待機している（Ｓ２０１）。操作検知部２１によって当該表示指示が検知されると（Ｓ２０１でＹｅｓ）、解析要求送信部２２は、当該表示指示において指定されたＵＲＬを含む、Ｗｅｂページの解析要求（ＨＴＴＰリクエスト）をコンテンツ解析装置１０に送信する（Ｓ２０２）。
【００５６】
続いて、解析結果受信部２３は、コンテンツ解析装置１０からの、解析結果又は比較結果の返信を待機する（Ｓ２０３）。解析結果受信部２３によって解析結果又は比較結果を含むＨＴＴＰレスポンスが受信されると、解析結果処理部２４は、受信されたのが解析結果であるのか否かを判定する（Ｓ２０４）。斯かる判定は、例えば、ＨＴＴＰレスポンスに含まれているデータ構造に基づいて行われてもよい。又は、ＨＴＴＰレスポンス内に、解析結果及び比較結果のいずれであるのかを示す情報が含まれるようにしてもよい。
【００５７】
受信されたのが解析結果である場合（Ｓ２０４でＹｅｓ）、解析結果処理部２４は、当該解析結果であるレンダーツリーに基づいて、Ｗｅｂページの描画を実行する（Ｓ２０５）。この際、解析結果処理部２４は、Ｗｅｂページのレンダリングのための一連の処理のうち、レンダーツリーの生成までの処理を実行する必要が無い。したがって、コンテンツ表示装置２０の処理負荷を軽減できると共に、Ｗｅｂページの表示を高速化することができる。
【００５８】
一方、受信されたのが比較結果である場合（Ｓ２０４でＮｏ）、解析結果処理部２４は、比較結果と共に受信された対象Ｗｅｂページのうち、比較結果に含まれているＨＴＭＬ差分パスが示す部分（以下、「ＨＴＭＬ差分部分」という。）から、当該Ｗｅｂページの参照先のコンテンツのＵＲＬを抽出する（Ｓ２０６）。続いて、解析結果処理部２４は、抽出されたＵＲＬに係るコンテンツ配信装置３０から、当該ＵＲＬに対応するコンテンツを取得する（Ｓ２０７）。続いて、解析結果処理部２４は、ＨＴＭＬ差分部分と、ＨＴＭＬ差分部分に関して取得されたコンテンツと、レンダーツリー差分パスとに基づいて、比較結果に含まれている、共通部分に係るレンダーツリーに対して、差分の部分に対応する要素を追加して、レンダーツリーを完成させる（Ｓ２０８）。すなわち、共通部分のレンダーツリーに対して、レンダーツリー差分パスが示すパスに対応する要素が追加され、当該要素に対して、ＨＴＭＬ差分部分と、取得されたコンテンツとに基づく要素が当てはめられる。
【００５９】
続いて、解析結果処理部２４は、完成したレンダーツリーに基づいて、Ｗｅｂページを描画する（Ｓ２０９）。
【００６０】
この場合、解析結果処理部２４は、差分部分については、レンダリング処理を実行する必要が有るが、共通部分については、レンダーツリーの生成までの処理を実行する必要はない。したがって、この場合であっても、コンテンツ表示装置２０の処理負荷を軽減できると共に、Ｗｅｂページの表示を高速化することができる。
【００６１】
上述したように、本実施の形態によれば、コンテンツ解析装置１０が、同一のＵＲＬに対するＷｅｂページに対するアクセスのたびに解析処理を実行する必要性を低減することができる。その結果、コンテンツ解析装置１０における処理負荷を軽減することができ、Ｗｅｂページの表示の高速化を期待することができる。
【００６２】
また、コンテンツ表示装置２０が、Ｗｅｂページの解析処理を実行する機会を低減することができる。したがって、コンテンツ表示装置２０の計算リソースが少ない状態であっても、迅速にコンテンツを表示することができ、コンテンツが表示される待ち時間を短縮することができる。
【００６３】
上記の通り、本実施の形態によれば、Ｗｅｂページの表示処理を効率化することができる。
【００６４】
また、本実施の形態によれば、また、Ａｊａｘ等を利用した非同期なＨＴＴＰリクエストが発生するようなコンテンツであっても、表示可能とすることができる。
【００６５】
なお、本実施の形態では、便宜上、初回結果記憶部１２１と比較結果記憶部１２２とを明確に分けて説明したが、これらの記憶部は、一つの記憶部として構成されてもよい。この場合、当該記憶部に記憶されている情報が、初回の解析結果であるのか又は比較結果であるのかを示す情報が、付加されてもよい。
【００６６】
また、本実施の形態では、初回のＷｅｂページの解析結果と２回目のＷｅｂページの解析結果との比較結果が比較結果記憶部１２２に記憶される例を示したが、比較対象は、厳密に「初回」又は「２回目」のＷｅｂページの解析結果でなくてもよい。同一のＵＲＬに関して、相互に異なるタイミングで取得されたＷｅｂページのいずれかが、初回のＷｅｂページ又は２回目のＷｅｂページとされてもよい。
【００６７】
また、本実施の形態は、テキスト形式で表示要素の属性等の定義に関する記述を含むコンテンツであり、描画の過程において中間データが生成されるコンテンツであれば、Ｗｅｂページ以外のコンテンツに適用されてもよい。Ｗｅｂページ以外のコンテンツに対して本実施の形態が適用される場合、コンテンツ表示装置２０、コンテンツ解析装置１０、及びコンテンツ配信装置３０のそれぞれの間の通信は、当該コンテンツに適した通信プロトコルが用いられて実現されてもよい。
【００６８】
なお、本実施の形態において、解析要求受信部１１は、受信部の一例である。取得要求送信部１２及びコンテンツ受信部１３は、取得部の一例である。解析状態判定部１４は、判定部の一例である。解析結果送信部１７は、返信部の一例である。初回結果記憶部１２１は、第一の記憶部の一例である。比較結果記憶部１２２は、第二の記憶部の一例である。ＵＲＬは、コンテンツ識別情報の一例である。
【００６９】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７０】
１０          コンテンツ解析装置
１１          解析要求受信部
１２          取得要求送信部
１３          コンテンツ受信部
１４          解析状態判定部
１５          解析部
１６          比較部
１７          解析結果送信部
２０          コンテンツ表示装置
２１          操作検知部
２２          解析要求送信部
２３          解析結果受信部
２４          解析結果処理部
２５          取得要求送信部
２６          コンテンツ受信部
３０          コンテンツ配信装置
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        初回結果記憶部
１２２        比較結果記憶部
Ｂ            バス
【図１】
0006378601.tif 000002
【図２】
0006378601.tif 000003
【図３】
0006378601.tif 000004
【図４】
0006378601.tif 000005
【図５】
0006378601.tif 000006
【図６】
0006378601.tif 000007