JP5316338B2 - 情報処理装置、データ取得方法及びプログラム - Google Patents

情報処理装置、データ取得方法及びプログラム Download PDF

Info

Publication number
JP5316338B2
JP5316338B2 JP2009216286A JP2009216286A JP5316338B2 JP 5316338 B2 JP5316338 B2 JP 5316338B2 JP 2009216286 A JP2009216286 A JP 2009216286A JP 2009216286 A JP2009216286 A JP 2009216286A JP 5316338 B2 JP5316338 B2 JP 5316338B2
Authority
JP
Japan
Prior art keywords
display control
unit
data
link destination
display
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
JP2009216286A
Other languages
English (en)
Other versions
JP2011065490A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2009216286A priority Critical patent/JP5316338B2/ja
Priority to EP10173497A priority patent/EP2320336A3/en
Priority to US12/871,470 priority patent/US8478882B2/en
Priority to CN2010102809385A priority patent/CN102024012B/zh
Publication of JP2011065490A publication Critical patent/JP2011065490A/ja
Application granted granted Critical
Publication of JP5316338B2 publication Critical patent/JP5316338B2/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/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/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • 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

Description

本発明は、情報処理装置、データ取得方法及びプログラムに関する。
情報通信技術の発展に伴い、ネットワークの広帯域化が進んでいる。そのため、インターネット等の広域ネットワークを介して伝送されるコンテンツも大容量化してきている。また、広域ネットワーク上で公開されているホームページの多くには、スクリプト処理の実行プログラムが組み込まれており、ホームページ上で動的な処理が行えるよう、ページ構成に工夫が凝らされている。しかし、大容量のコンテンツを読み込んだり、スクリプト処理を実行したりすると、ホームページが完全に表示されるまでに長い時間がかかってしまう。こうした問題に鑑み、ホームページ等、広域ネットワーク上で公開されている情報(以下、WWW情報)を予めキャッシュしておき、ユーザからアクセスが要求された場合に予めキャッシュしておいたWWW情報を表示する技術が開発された。この技術に関し、下記の特許文献1には、効率的にWWW情報をキャッシュする方法が開示されている。
特開2004−280405号公報
しかしながら、予めキャッシュしておくWWW情報を適切に選択するのは難しい。例えば、表示されているページに記載されたリンク先のWWW情報を全てキャッシュしようとすると、リンク先が多い場合にはWWW情報の取得自体に長い時間がかかってしまう。また、キャッシュメモリの容量を多く消費してしまう。さらに、キャッシュしようとするWWW情報を取得するために通信帯域の大部分が占有されてしまう。こうした理由から、ページを素早く表示するためには、単にWWW情報をキャッシュするだけでなく、WWW情報の取得方法に更なる工夫を凝らす必要がある。
WWW情報には、ページの表示制御を行うための情報(以下、表示制御情報)が含まれる。また、表示制御情報の中には、ページのレイアウトを規定する情報(以下、レイアウト情報)やクライアント端末にスクリプト処理を実行させるための情報(以下、スクリプト情報)等が含まれる。但し、上記のレイアウト情報やスクリプト情報は、上記の表示制御情報とは別のデータとして扱われることもある。この場合、表示制御情報とレイアウト情報との紐付け情報、及び表示制御情報とスクリプト情報との紐付け情報が、表示制御情報に含まれる。そのため、実質的にレイアウト情報やスクリプト情報が表示制御情報に含まれていることになる。
上記の表示制御情報は、例えば、HTML(HyperText Markup Language)やXML(eXtensible Markup Language)等の構造化言語により記述されることが多い。これらの構造化言語は、タグを用いて構造単位を定義する記述方式を採用している。そのため、表示制御情報は、タグで囲まれた部分を構造単位として構造化されている。また、上記のレイアウト情報は、CSS(Cascading Style Sheets)等のスタイルシートにより表現されることが多い。さらに、上記のスクリプト情報は、JavaScript(登録商標;以下、JSと表記)、ECMAScript、VBScript(登録商標)等のスクリプト言語により記述されることが多い。
このように、表示制御情報は、(1)レイアウト情報やスクリプト情報を含み、(2)所定の構造単位を基準に構造化されている。通常、WWWブラウザ等によりWWW情報を表示する際、表示制御情報が解析され、表示制御情報に含まれる構造単位を基準として表示処理の実行順序やデータの取得順序が決定される。次いで、WWWブラウザ等により構造単位が相互に紐付けられてDOM(Document Object Model)と呼ばれる表示制御用の構造化データが生成される。次いで、WWWブラウザ等により生成されたDOMに基づいてデータの取得やデータの表示等が実行される(図1を参照)。
DOMを構築する際、表示制御情報にスクリプト情報が含まれていると、スクリプト処理の逐次性に起因してデータの取得が遅延したり、表示処理に遅延が発生してしまう。そのため、広域ネットワークの帯域幅が十分に広く確保されていても、スクリプト情報を含む表示制御情報に基づいてページを表示する際には、ページが表示されるまでに、ある程度の待ち時間が生じてしまう。特に、スクリプト処理のステップが入れ子の形になっている場合には、待ち時間がさらに拡大してしまう。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、逐次的に実行されるスクリプト処理に起因して生じるページの表示遅延を低減させ、より素早くレイアウトの整ったページを表示することが可能な、新規かつ改良された情報処理装置、データ取得方法及びプログラムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、キー情報による検索の結果が表示されたリンク先の一部を選択するリンク選択部と、前記リンク選択部により選択されたリンク先に存在する、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む表示制御データと、前記表示画面のレイアウトに関する情報とを、前記リンク先がユーザ操作によって選択される以前に取得するデータ先読み部と、前記データ先読み部が前記表示制御データを取得したリンク先が前記操作体によって選択された場合に、前記表示制御データを解析して、当該表示制御データに含まれる構造単位を抽出する構造解析部と、前記データ先読み部が前記表示制御データの取得を行ったリンク先が前記ユーザ操作によって選択された場合に、前記構造解析部により抽出された構造単位のうち、スクリプト処理を伴う表示制御に関する情報が記述された構造単位を除き、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む前記構造単位を相互に紐付けて、表示制御用の第1構造化データを生成する第1構造化部と、前記データ先読み部が前記表示制御データを取得したリンク先がユーザ操作によって選択された場合に、前記構造単位を相互に紐付けて、表示制御用の第2構造化データを生成する第2構造化部と、前記第1構造化部により生成された前記第1構造化データを用いて表示画面を表示し、前記第2構造化部により前記第2構造化データが生成された段階で、当該第2構造化データを用いて表示画面を表示しなおす表示制御部と、を備える情報処理装置が提供される。
前記情報処理装置は、前記リンク先との接続を確立する接続確立部を更に備え、前記リンク選択部は、表示画面上の位置を指定するために用いられる位置指定オブジェクトの表示位置から所定範囲内に存在する前記リンク先、表示画面に表示された状態にある前記リンク先、および、所定回数以上選択されている前記リンク先の少なくとも何れかを更に選択し、前記接続確立部は、リンク選択部によって更に選択された前記リンク先と、ユーザ操作によって前記リンク先が選択される以前にTCPコネクションを確立してもよい。
前記リンク選択部は、前記リンク先のうち、当該リンク先への往復遅延時間(Round Trip Time)が所定の閾値以上のものを、TCPコネクションを確立するリンク先として選択してもよい。
前記リンク選択部は、前記リンク先のドメイン名またはIPアドレスに応じて、TCPコネクションを確立するリンク先として選択するか否かを判断してもよい。
前記情報処理装置は、前記表示制御データと、当該表示制御データと関連づけられた関連データと、を取得するデータ取得部を更に備え、前記データ取得部は、前記第2構造化部からのデータ取得要請よりも、前記第1構造化部からのデータ取得要請を優先して扱ってもよい。
前記接続確立部は、前記リンク先のホストアドレスが確定すると、前記表示制御データの先読みまたは前記TCPコネクションの確立に先立って、前記ホストアドレスに対応するIPアドレスを取得してもよい。
前記情報処理装置は、前記第1構造化部及び前記第2構造化部の要請により前記データ取得部が取得した前記表示制御データ及び前記関連データが格納されるキャッシュメモリを更に備え、前記表示制御部は、前記第2構造化データでの表示に要する前記表示制御データが前記キャッシュメモリに全て格納された時点で、当該キャッシュメモリに格納されたデータに基づき表示を切り替えてもよい。
前記第2構造化部は、前記構造解析部により抽出された構造単位のなかに、スクリプト処理を伴う表示制御に関する情報が記述された構造単位が存在しない場合、前記第2構造化データを生成しなくてもよい。
前記情報処理装置は、前記第1構造化データでの表示を行っている際に表示画面に表示している構造単位の履歴を格納する表示履歴格納部を更に備え、前記表示制御部は、前記第2構造化データでの表示に切り替える際、前記表示履歴格納部に格納されている表示履歴に基づいて、表示画面に表示する前記構造単位を選択してもよい。
また、上記課題を解決するために、本発明の別の観点によれば、キー情報による検索の結果が表示されたリンク先の一部を選択するステップと、前記リンク先の一部を選択するステップにて選択されたリンク先に存在する、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む表示制御データと、前記表示画面のレイアウトに関する情報とを、前記リンク先がユーザ操作によって選択される以前に取得するステップと、ユーザ操作に先立つ表示制御データの取得ステップにて前記表示制御データを取得したリンク先がユーザ操作によって選択された場合に、前記表示制御データを解析して、当該表示制御データに含まれる構造単位を抽出するステップと、ユーザ操作に先立つ表示制御データの取得ステップにて前記表示制御データを取得したリンク先がユーザ操作によって選択された場合に、前記構造単位を抽出するステップにて抽出された構造単位のうち、スクリプト処理を伴う表示制御に関する情報が記述された構造単位を除き、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む前記構造単位を相互に紐付けて、表示制御用の第1構造化データを生成するステップと、ユーザ操作に先立つ表示制御データの取得を行ったリンク先が前記ユーザ操作によって選択された場合に、前記構造単位を相互に紐付けて、表示制御用の第2構造化データを生成するステップと、前記第1構造化データを生成するステップにて生成された前記第1構造化データを用いて表示画面を表示するステップと、前記第2構造化データが生成された段階で、当該第2構造化データを用いて表示画面を表示しなおすステップと、を含むデータ取得方法が提供される。
また、上記課題を解決するために、本発明の更に別の観点によれば、コンピュータに、キー情報による検索の結果が表示されたリンク先の一部を選択するリンク選択機能と、前記リンク選択機能により選択されたリンク先に存在する、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む表示制御データと、前記表示画面のレイアウトに関する情報とを、前記リンク先がユーザ操作によって選択される以前に取得するデータ先読み機能と、前記データ先読み機能が前記表示制御データを取得したリンク先がユーザ操作によって選択された場合に、前記表示制御データを解析して、当該表示制御データに含まれる構造単位を抽出する構造解析機能と、前記データ先読み機能が前記表示制御データの取得を行ったリンク先が前記ユーザ操作によって選択された場合に、前記構造解析機能により抽出された構造単位のうち、スクリプト処理を伴う表示制御に関する情報が記述された構造単位を除き、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む前記構造単位を相互に紐付けて、表示制御用の第1構造化データを生成する第1構造化機能と、前記データ先読み機能が前記表示制御データを取得したリンク先がユーザ操作によって選択された場合に、前記構造単位を相互に紐付けて、表示制御用の第2構造化データを生成する第2構造化機能と、前記第1構造化機能により生成された前記第1構造化データを用いて表示画面を表示し、前記第2構造化機能により前記第2構造化データが生成された段階で、当該第2構造化データを用いて表示画面を表示しなおす表示制御機能と、を実現させるためのプログラムが提供される。
以上説明したように本発明によれば、スクリプト処理の逐次性に起因して生じるページの表示遅延を低減させ、より素早くレイアウトの整ったページを表示することが可能になる。
Webブラウザによるページ表示処理の流れを示す説明図である。 DOMの概要、及びDOMに基づくページ表示処理の流れを示す説明図である。 Webブラウザによるファイルのダウンロードシーケンスを示す説明図である。 一般的なWebブラウザによるページ表示時間の解析結果を示す説明図である。 スクリプト処理を非実行の状態にしたWebブラウザによるページ表示時間の解析結果を示す説明図である。 一般的なWebブラウザによるページの表示処理シーケンスを示す説明図である。 本発明の第1実施形態に係るWebブラウザによるページの表示処理シーケンスを示す説明図である。 同実施形態に係るWebブラウザによるページの表示処理シーケンスを示す説明図である。 同実施形態に係るWebブラウザによるページの表示処理シーケンスを示す説明図である。 同実施形態に係る情報処理装置の機能構成例を示す説明図である。 同実施形態に係る情報処理装置による表示制御処理の流れを示す説明図である。 同実施形態に係る表示制御方法を適用した場合におけるページ表示時間の測定結果を示す説明図である。 同実施形態に係る表示制御方法を適用した場合におけるページ表示時間の測定結果を示す説明図である。 同実施形態に係る表示制御方法を適用した場合におけるページ表示時間の測定結果を示す説明図である。 DOMの構造と表示結果との関係を説明するための説明図である。 DOMの構造と表示結果との関係を説明するための説明図である。 DOMの構造と表示結果との関係を説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 一般的な表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 同実施形態に係る表示制御方法に基づくHTMLファイルの実行処理の流れを説明するための説明図である。 本発明の第2実施形態に係るプリフェッチ方法を説明するための説明図である。 プリフェッチ対象の種類に応じた、プリフェッチによる効果の違いを示す説明図である。 プリフェッチ対象の種類に応じた、プリフェッチによる効果の違いを示す説明図である。 プリフェッチ対象の選択方法を示す説明図である。 同実施形態に係る情報処理装置の機能構成例を示す説明図である。 同実施形態に係る情報処理装置によるプリフェッチ処理の流れを示す説明図である。 同実施形態に係るプリフェッチ処理の流れを示す説明図である。 プリフェッチの種類に応じた効果の違いを示す説明図である。 同実施形態に係るプリコネクション方法を説明するための説明図である。 同実施形態に係るプリコネクション方法を説明するための説明図である。 TLDの違いによるコネクション確立時間の違いを説明するための説明図である。 対象国の違いによるコネクション確立時間の違いを説明するための説明図である。 本発明の第3実施形態に係る近接距離に応じたプリフェッチ方法の概要を説明するための説明図である。 同実施形態に係る情報処理装置の機能構成例を示す説明図である。 同実施形態に係る情報処理装置による近接検知処理、及びプリフェッチ処理の流れを示す説明図である。 同実施形態に係るプリフェッチ処理の流れを示す説明図である。 インセル型タッチパネルにおける操作体の検知方法を示す説明図である。 本発明の各実施形態に係る情報処理装置の機能を実現することが可能な情報処理装置のハードウェア構成例を示す説明図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[説明の流れについて]
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、本実施形態に係る技術的構成について詳細に説明するに先立ち、図1〜図6を参照しながら、Webブラウザによるページの表示処理に関する一般的な構成について説明する。次いで、図7〜図9を参照しながら、本発明の第1実施形態に係るWebページの表示処理シーケンスについて説明する。次いで、図10、図11を参照しながら、同実施形態に係る情報処理装置100の機能構成及び動作について説明する。
次いで、図12〜図14を参照しながら、同実施形態に係る表示制御方法を適用した場合に得られるページ表示時間の短縮効果について説明する。次いで、図15〜図17を参照しながら、DOM構造の違いと表示結果の違いとの関係について説明する。次いで、同実施形態に係る技術との対比を行うため、図18〜図35を参照しながら、HTMLファイルの実行処理について簡単に説明する。次いで、図36〜図68を参照しながら、同実施形態に係るHTMLファイルの実行処理について説明する。
次いで、図69を参照しながら、本発明の第2実施形態に係るプリフェッチ方法について説明する。次いで、図70、図71を参照しながら、プリフェッチ対象の種類に応じた効果の違いを示すと共に、図72を参照しながら、効果の高いプリフェッチ対象の選択方法について説明する。次いで、図73、図74を参照しながら、同実施形態に係る情報処理装置100の機能構成及び動作について説明する。次いで、図75を参照しながら、同実施形態に係るプリフェッチ処理の流れについて説明する。次いで、図76を参照しながら、プリフェッチの種類に応じた効果の違いについて説明する。
次いで、図77、図78を参照しながら、同実施形態に係るプリコネクション方法について説明する。次いで、図79、図80を参照しながら、プリコネクションによる効果をTLDの違い、及び対象国の違いについて比較する。
次いで、図81を参照しながら、本発明の第3実施形態に係る近接検知とプリフェッチ処理との連携方法について説明する。次いで、図82、図83を参照しながら、同実施形態に係る情報処理装置100の機能構成及び動作について説明する。次いで、図84を参照しながら、同実施形態に係るプリフェッチ処理の流れについて説明する。次いで、図85を参照しながら、同実施形態に係る近接検知に利用可能なインセル型タッチパネルの構成及び動作について説明する。
次いで、図86を参照しながら、上記の第1〜第3実施形態に係る情報処理装置100が有する機能を実現することが可能なハードウェア構成例について説明する。最後に、上記の各実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
(説明項目)
1:はじめに
1−1:Webブラウザの動作
1−2:表示時間の解析結果
2:第1実施形態
2−1:Webブラウザの動作
2−2:情報処理装置100の機能構成
2−3:情報処理装置100の動作
2−4:表示時間に関する効果
2−5:DOM構造の違いによる表示結果の比較
2−6:DOM構築ステップの具体例
3:第2実施形態
3−1:プリフェッチによる効果(検討)
3−2:情報処理装置100の機能構成
3−3:情報処理装置100の動作
3−4:プリフェッチ処理の流れ
3−5:プリフェッチによる効果
3−6:プリコネクションによる効果(検討)
4:第3実施形態
4−1:近接検知とプリフェッチ処理の連携
4−2:情報処理装置100の機能構成
4−3:情報処理装置100の動作
4−4:近接検知に基づくプリフェッチ処理の流れ
4−5:近接検知が可能なタッチパネルの構成(インセル型タッチパネル)
5:情報処理装置100のハードウェア構成例
6:まとめ
<1:はじめに>
まず、本発明の実施形態について説明するに先立ち、WebブラウザによるWebページの表示処理について説明する。ここでは、HTMLファイルの取得からWebページの表示までの間にWebブラウザにより実行される一般的な処理の流れ(以下、表示処理シーケンス)について説明する。
[1−1:Webブラウザの動作]
図1には、一般的なWebブラウザ10による表示処理シーケンスが示されている。図1に示すように、Webブラウザ10は、まず、Webサーバ310に対してHTMLファイルをリクエストする(ステップS11)。次いで、Webブラウザ10は、リクエストに応じてWebサーバ310により送信されたHTMLファイルを取得する(ステップS12)。次いで、Webブラウザ10は、取得したHTMLファイルを解析する(ステップS13)。
このとき、Webブラウザ10は、HTMLパーサ11と呼ばれるパーサ・プログラムを用いてHTMLの構造を解析する。先に述べた通り、HTMLファイルは、構造単位を定義する所定のタグを用いて記述されている。そのため、パーサ・プログラムにより、タグで囲まれた構造単位を抽出したり、構造単位間の関係を解析したりすることができる。HTMLパーサ11は、HTMLファイルを解析し、必要に応じて外部リソースをWebサーバ320にリクエストする(ステップS14)。
ここで言う外部リソースとは、例えば、レイアウト情報が記述されたスタイルシートファイルやスクリプト情報が記述されたスクリプトファイル等である。さて、リクエストに応じてWebサーバ320により外部リソースが送信されると、Webブラウザ10は、Webサーバ320により送信された外部リソースを取得する(ステップS15)。ステップS15で取得された外部リソースは、その種類に応じてステップS16、S17の処理に利用される。また、HTMLパーサ11により、HTMLファイルから抽出された構造単位の情報は、DOM12の構築時に利用される。
ステップS15で取得された外部リソースがCSSファイルである場合、Webブラウザ10は、CSSを適用する(ステップS16)。また、ステップS15で取得された外部リソースがスクリプトファイルである場合、Webブラウザ10は、スクリプトエンジン13によりスクリプト処理を実行する(ステップS17)。ステップS16、S17の処理を実行した後、Webブラウザ10は、DOM12を構築する。次いで、Webブラウザ10は、構築したDOM12に基づいて各種の描画要素を生成する(ステップS18)。次いで、Webブラウザ10は、必要に応じてプラグインを読み込み(ステップS19)、Webページを表示する(ステップS20)。
このように、Webページが表示されるまでに様々な処理が実行される。そして、これらの処理の多くはDOM12の構築前に実行される。
(DOM12について)
ここで、図2を参照しながら、DOM12の構築処理、及び構築したDOM12に基づくWebページの表示処理について、より詳細に説明する。
図2に示すように、DOM12は、HTMLパーサ11により抽出されたHTMLファイルの各構造単位を紐付けて構築されたツリー構造のことである。より正確には、DOM12は、HTML(又は、XML)の構造や内容を扱うためのAPI(Application Program Interface)である。例えば、HTMLファイルにWebページの表示構成を規定するための複数の構造単位(A1〜A7)が含まれているものとする。これらの構造単位は、HTMLパーサ11による解析処理において抽出され、相互に紐付けされてDOM12の形に構築される。
但し、図2に例示したDOM12のツリー構造は、Webブラウザが内部で認識している構造の概念的な表現である。実際にユーザが見るWebページは、DOM12のツリー構造に基づいてWebブラウザ10のレンダリングエンジンが生成したものである。Webページの表示処理は、Webブラウザ10が、DOM12を構築した後、DOM12のツリー構造に基づいて表示レイアウトを整え、表示レイアウトの所定位置に画像データやテキストデータ等のコンテンツを埋め込んで完了する。このように、Webページを表示するには、DOM12の構築が前提となる。
[1−2:表示時間の解析結果]
ここで、図3〜図5を参照しながら、DOM12の構築タイミングと、Webページの表示までに要する時間との関係について考察する。
(ダウンロードシーケンスについて)
上記の通り、DOM12の構築は、少なくともHTMLパーサ11によるHTMLファイルの解析、CSSの適用、及びスクリプト処理の実行が完了した後に行われる。より詳細には、図3のような処理シーケンスが実行される。図3に示す処理シーケンスは、左から右に時間が進むことを前提に記載されている。つまり、左側に記載された処理から順番に実行されるものとする。
図3に示すように、Webページ等に対するリダイレクトが発生すると、Webブラウザ10によりHTMLファイルがダウンロードされる。なお、ファイルをダウンロードする際には、DNSによる名前解決に要する時間、Webサーバとの間のコネクション確立に要する時間、待ち時間等が必要になる。図3に示した各ファイルのダウンロード時間には、これらの時間も含まれている。HTMLファイルのダウンロードが完了すると、Webブラウザ10は、ダウンロードしたHTMLファイルを解析する。
そして、Webブラウザ10は、HTMLファイルの解析結果に基づき、必要に応じてCSSファイルやJSファイルをダウンロードする。なお、CSSファイルやJSファイルのダウンロードは、HTMLファイルの解析途中に実行されてもよい。また、複数のCSSファイル、複数のJSファイルがダウンロードされることもある。さらに、HTMLファイルの解析結果を受けて画像データ等(Image etc.)がダウンロードされる。全てのCSSファイル、JSファイルがダウンロードされると、DOM12を構築するための構成要素が確定する。
DOM12を構築するための構成要素が全て揃うと、Webブラウザ10のレンダリングエンジンによりDOM12のレンダリングが開始される。このとき、画像データ等が全てダウンロードされていなくてもよい。また、ある程度レンダリングが進むと、ユーザにより操作可能な状態になる。次いで、画像データ等が全てダウンロードし終わり、DOM12のレンダリングが完了すると、Webページの表示が完了する。この時点で、完全なWebページの表示が完了する。このように、一般的なWebブラウザ10における表示処理のシーケンスにおいては、HTMLファイル、CSSファイル、JSファイルが全てダウンロードし終わるまでDOM12は確定しない。
(Webページの表示に要する時間について)
さて、図3に例示したダウンロードシーケンスは、あくまでも処理の順序を示すものである。そのため、図3の例から実際に各処理に要する時間の長さを窺い知ることはできない。そこで、実際にWebブラウザ10を利用して各処理に要する時間の長さを測定した結果を図4に示す。
なお、図4の例には実際に測定された時間が示されているが、この時間の実測値自体は測定する環境により変化するものである。そのため、各処理に要する時間の相対的な長短に注目して頂きたい。また、図4には、イニシャルタイムを示す縦ラインと、コンプリートタイムを示す縦ラインとが示されている。ここで言うイニシャルタイムとは、ユーザが操作を開始できるようになるまでの時間を意味する。一方、ここで言うコンプリートタイムとは、全てのファイルやデータがダウンロードされ、完全な形でWebページが表示されるまでの時間を意味する。
まず、CSSファイルの処理に注目する。CSSファイルの処理は、リダイレクトが発生(0ms)してから2500ms程度の時間が経過した時点で開始され、2500ms程度の時間継続して実行されている。また、図4の例では、3つのCSSファイルに対する処理が同時に開始されている。
次に、JSファイルの処理に注目する。JSファイルの処理は、CSSファイルの処理が開始されると同時に開始されている。しかし、この時点では1つのJSファイルに対する処理しか開始されていない。2つ目のJSファイルは、1つ目のJSファイルに対する処理が完了した後で開始されている。この時点でも、1つのJSファイルに対する処理しか開始されていない。同様に、全てのJSファイルに対する処理が完了するまで、1つずつJSファイルに対する処理が実行される。その結果、全てのJSファイルの処理に12000ms程度の時間がかかってしまっている。
その後、画像データ等のダウンロードやDOMのレンダリング等が実行され、Webページの表示処理が実行されている。これらの処理は同時並行で実行されるため、Webページの表示に要する処理時間に大きな影響を与えていない。
図4に例示した実測結果から言えることは、Webページの表示までにかかる時間の中でJSファイルの処理に要する時間が非常に大きな割合を占めているということである。JSファイルの処理に時間がかかる主な理由は、複数のJSファイルに対するダウンロード及び実行が同時並行で行えないことにある。このような事象は、JSファイルが入れ子で定義されている場合に、前のJSファイルのダウンロード及び実行が完了するまで次のJSファイルのダウンロード及び実行ができないために生じる。ここではJSファイルを例に挙げたが、他のスクリプト言語で記述されたスクリプトファイルについても同様のことが言える。
そこで、本件発明者は、JSファイルのダウンロード及び実行を他の処理よりも後に実行する方法を考案した。そして、この方法を適用した場合に得られる効果を推測するため、図5に例示したようなシミュレーションを実施した。その結果、JSファイルのダウンロード及び実行を後に行うようにすると、イニシャルタイムが7秒に短縮された。ちなみに、図4の例ではイニシャルタイムが22秒であったから、JSファイルのダウンロード及び実行を後回しにすることによりイニシャルタイムが15秒も短縮されたことになる。但し、図5の例はシミュレーションであり、実際には、JSファイルのダウンロード及び実行を後回しにするための様々な工夫が必要になる。
<2:第1実施形態>
上記の通り、Webページの表示に要する時間は、スクリプトファイルのダウンロード及び実行を後回しにすることにより大幅に短縮できる。以下では、スクリプトファイルに対する処理を後回しにするための仕組みについて説明する。本発明の第1実施形態は、このような仕組みを実現するための装置及び方法に関するものである。
[2−1:Webブラウザの動作]
まず、図6〜図9を参照しながら、本実施形態に係るWebブラウザの処理シーケンスについて説明する。但し、図6に示す処理シーケンスは、本実施形態に係る処理シーケンスと対比するために示した一般的なWebブラウザの処理シーケンスである。
(一般的な処理シーケンス)
図6に示すように、一般的なWebブラウザの処理シーケンスは、先に説明した通り、HTMLファイルの処理、{CSSファイルの処理、JSファイルの処理}、DOMの構築、画像データ等のダウンロードの順番で実行される。つまり、これら一連の処理が1つのスレッド(第1スレッド)により実行される。
(本実施形態の処理シーケンス)
一方、本実施形態に係る処理シーケンスは、図7に示すように、2つのスレッド(第1スレッド、第2スレッド)により実行される。第1スレッドでは、HTMLファイルの処理、CSSファイルの処理、画像データ等のダウンロードが実行され、CSSファイルの処理が完了した段階で簡易的なDOM(以下、仮DOM)が構築される。そして、仮DOMに基づいてWebページが表示される。
一方、第2スレッドでは、JSファイルの処理が実行され、JSファイルの処理が完了した段階で本来のDOM(以下、本DOM)が構築される。さらに、第1スレッドで取得されていない画像データ等がダウンロードされ、本DOMに基づいてWebページが表示される。このとき、仮DOMに基づいて表示されたWebページは、本DOMに基づいて表示されるWebページに更新される(図8を参照)。
先にシミュレーション結果を交えて説明した通り、JSファイルの処理が含まれることによりDOMの構築タイミングが遅れ、結果的にWebページの表示までに要する時間が長くなっていた。しかし、第1スレッドで構築される仮DOMの構築は、JSファイルの処理とは無関係に実行される。そのため、仮DOMの構築は、一般的なWebブラウザによるDOMの構築タイミングに比べて非常に早いタイミングで実行される。
但し、仮DOMには、JSファイルの処理に関する構造単位が含まれない。そのため、仮DOMに基づいて表示されたWebページは、JSファイルの処理に関する構造単位を含む本DOMに基づいて表示されたWebページとは異なる。しかし、本実施形態に係る処理シーケンスは、JSファイルの処理に関する構造単位を含む本DOMを構築するための第2スレッドによる動作を含んでいる。また、第2スレッドの処理が完了したタイミングで本DOMに基づくWebページの表示に切り替わるため、上記Webページの違いによるユーザの違和感は解消される。このように、本実施形態に係る処理シーケンスを適用することにより、素早いWebページの表示と正しいWebページの表示との両立という難題を解決することができるのである。
なお、実際には、第1スレッドで構築される仮DOMと、第2スレッドで構築される本DOMとの間で、DOMのノードとなる構造単位のファイルには重複するものがある。そのため、図9に示すように、各ファイルのダウンロードは、ダウンロードマネージャスレッドを実行しておき、ダウンロードマネージャスレッドが取得したファイルを第1及び第2スレッドで利用する方が効率的である。例えば、ダウンロードマネージャスレッドは、HTMLファイル、CSSファイル、JSファイル、画像データ等のダウンロードを一手に引き受ける。但し、ダウンロードするタイミングは図7、図8に示した通りである。
以上、本実施形態に係る処理シーケンスについて説明した。
[2−2:情報処理装置100の機能構成]
次に、図10を参照しながら、上記のアイデアを実現することが可能な情報処理装置100の機能構成について説明する。図10は、本実施形態に係る情報処理装置100の機能構成例を示す説明図である。なお、後述する第2及び第3実施形態に係る情報処理装置100と区別するために、本実施形態に係る情報処理装置100を情報処理装置100Aと表記する場合がある。
図10に示すように、情報処理装置100は、主に、データ取得部110と、構造解析部120と、レンダリング部130と、表示部140とにより構成される。また、レンダリング部130は、仮DOM生成部131と、本DOM生成部132と、キャッシュメモリ133と、表示制御部134と、ノード情報格納部135とを有する。
リダイレクトが発生すると、まず、データ取得部110によりHTMLファイルがダウンロードされる。そして、データ取得部110によりダウンロードされたHTMLファイルは、構造解析部120に入力される。HTMLファイルが入力されると、構造解析部120は、HTMLファイルの構造を解析し、HTMLファイルの構造単位を抽出する。そして、構造解析部120は、必要に応じてCSSファイル、JSファイルのリクエストをデータ取得部110を介してWebサーバ310、320に送信する。
リクエストに応じてWebサーバ310、320からCSSファイル、JSファイルが送信されると、データ取得部110は、送信されたCSSファイル、JSファイルを受信する。データ取得部110により受信されたCSSファイル、JSファイルは、構造解析部120に入力される。CSSファイルが入力されると、構造解析部120は、入力されたCSSファイルの適用処理を実行する。また、JSファイルが入力されると、構造解析部120は、入力されたJSファイルを実行する。このとき、必要に応じて順次JSファイルが取得され、構造解析部120により実行される。
構造解析部120によるCSSファイルの適用結果は仮DOM生成部131、本DOM生成部132の双方に入力され、JSファイルの実行結果は本DOM生成部132に入力される。また、構造解析部120は、HTMLファイルから抽出した構造単位の情報を仮DOM生成部131、本DOM生成部132に入力する。但し、仮DOM生成部131には、JSファイルの処理に関する構造単位の情報は入力されない。また、構造解析部120は、HTMLファイルの解析結果に基づき、必要に応じて画像データ等の取得をデータ取得部110に要求する。このような要求に応じてデータ取得部110により取得された画像データ等は、仮DOM生成部131、本DOM生成部132を介して表示制御部134に入力される。
上記の通り、仮DOM生成部131には、JSファイルの処理に関する構造単位を除くHTMLファイルの構造単位が入力される。そこで、仮DOM生成部131は、入力された構造単位を相互に紐付けてツリー構造を形成し、仮DOMを構築する。仮DOM生成部131により構築された仮DOMの情報は、表示制御部134に入力される。一方、本DOM生成部132には、JSファイルの処理に関する構造単位を含むHTMLファイルの構造単位が全て入力される。但し、JSファイルに対する処理の逐次性に起因してJSファイルの取得に長い時間がかかるため、全ての構造単位に関する情報やデータが入力されるまでには比較的長い時間を要する。その結果、本DOMの構築は、仮DOMの構築後、暫くしてから完了する。
JSファイルの処理に関する情報を含むHTMLファイルの全構造単位に関する情報が入力されると、本DOM生成部132は、入力された各構造単位を相互に紐付けてツリー構造を形成し、本DOMを構築する。そして、本DOM生成部132により構築された本DOMの情報は、表示制御部134に入力される。また、本DOM生成部132は、本DOMに基づくWebページの表示に必要な画像データ等を全て取得し、キャッシュメモリ133に格納する。Webページの表示に必要なデータを全てキャッシュメモリ133に格納しておくことにより、仮DOMに基づいて表示されているWebページを素早く本DOMに基づくWebページに置き換えることが可能になる。
上記の通り、表示制御部134には、仮DOM生成部131から仮DOMの情報及び画像データ等が入力される。仮DOMの情報及び画像データ等が入力されると、表示制御部134は、仮DOMに基づいてレンダリングを実施し、仮DOMに基づくWebページを生成する。そして、表示制御部134は、仮DOMに基づくWebページを表示部140に表示させる。また、本DOM生成部132から本DOMの情報及び画像データ等が入力されると、表示制御部134は、本DOMに基づいてレンダリングを実施し、本DOMに基づくWebページを生成する。そして、表示制御部134は、仮DOMに基づくWebページを本DOMに基づくWebページに置き換える。
このとき、表示制御部134は、キャッシュメモリ133に格納されているWebページの表示に必要な画像データ等を読み出し、本DOMに基づくWebページを表示部140に表示させる。但し、キャッシュメモリ133にWebページの表示に必要な画像データ等が格納されていない場合、表示制御部134は、データ取得部110を介して必要な画像データ等を取得し、取得した画像データ等を用いてWebページを表示させる。
また、仮DOMに基づくWebページの表示中にスクロール等がされた場合、表示制御部134は、表示部140の基準位置に表示されている構造単位の情報(以下、ノード情報)をノード情報格納部135に格納する。そして、本DOMに基づくWebページを表示する際、表示制御部134は、ノード情報格納部135に格納されているノード情報を読み出し、そのノード情報に対応する本DOMの構造単位が表示部140の基準位置に表示されるように、本DOMに基づくWebページのスクロール位置を調整する。このような構成にすることにより、仮DOMに基づくWebページから本DOMに基づくWebページへと切り替わった際に、ユーザに与える違和感を低減させることができる。
以上、本実施形態に係る情報処理装置100の機能構成について説明した。
[2−3:情報処理装置100の動作]
次に、図11を参照しながら、本実施形態に係る情報処理装置100の動作について説明する。図11は、本実施形態に係る情報処理装置100の動作フローを示す説明図である。
図11に示すように、情報処理装置100は、まず、HTMLファイルを解析し、HTMLの記述に関する構造単位、CSSファイルのダウンロード及び適用に関する構造単位、及びJSファイルのダウンロード及び実行に関する構造単位を抽出する(ステップS101)。次いで、情報処理装置100は、抽出した構造単位のうち、HTMLの記述に関する構造単位と、CSSファイルに関する構造単位とを相互に紐付けて仮DOMの生成を開始する(ステップS102)。次いで、情報処理装置100は、抽出した構造単位のうち、HTMLの記述に関する構造単位と、CSSファイルに関する構造単位と、JSファイルに関する構造単位とを相互に紐付けて仮DOMの生成を開始する(ステップS103)。
次いで、情報処理装置100は、仮DOMの生成が完了したか否かを判定する(ステップS104)。仮DOMの生成が完了した場合、情報処理装置100は、ステップS105の処理に進行する。一方、仮DOMの生成が完了していない場合、情報処理装置100は、再びステップS104の処理に戻る。ステップS105の処理に進行した場合、情報処理装置100は、仮DOMをレンダリングしてWebページを生成し、表示画面に表示する(ステップS105)。
次いで、情報処理装置100は、本DOMの生成が完了したか否かを判定する(ステップS106)。本DOMの生成が完了した場合、情報処理装置100は、ステップS107の処理に進行する。一方、本DOMの生成が完了していない場合、情報処理装置100は、再びステップS106の処理に戻る。ステップS107の処理に進行した場合、情報処理装置100は、本DOMをレンダリングしてWebページを生成し、仮DOMに基づくWebページに代えて表示画面に表示して(ステップS107)、一連の処理を終了する。
以上、本実施形態に係る情報処理装置100の動作フローについて説明した。
[2−4:表示時間に関する効果]
ここで、図12〜図14を参照しながら、本実施形態に係る処理シーケンスを適用した場合に得られる効果について説明する。図12、図14には、一般的なWebブラウザの処理シーケンスにより得られるイニシャルタイムと、本実施形態に係る処理シーケンスにより得られるイニシャルタイムとが対比して示されている。また、図13には、一般的なWebブラウザの処理シーケンスにより得られるコンプリートタイムと、本実施形態に係る処理シーケンスにより得られるコンプリートタイムとが対比して示されている。
まず、図12を参照する。図12に示すように、Webページの構成や測定環境により異なるものの、本実施形態に係る処理シーケンスを適用した場合にイニシャルタイムが平均で37%も短縮された。特に、JSを多用しているWebページにおいて効果が顕著であることが確認された。
次に、図13を参照する。図13は、2つのスレッドで実行する本実施形態に係る処理シーケンスと、1つのスレッドで実行する一般的なWebブラウザの処理シーケンスとの間でコンプリートタイムを比較するものである。図13から分かるように、本実施形態に係る処理シーケンスの場合には2つのスレッドが動作しているものの、本DOMに基づくWebページが完全に表示されるまでの時間は、1つのスレッドで実行される一般的なWebブラウザによるコンプリートタイムとほぼ同程度である。これは、2つのスレッドが同時並行で処理を実行しているためである。
次に、図14を参照する。図14は、高速な光回線を利用してイニシャルタイムの比較を行った結果である。図14に示すように、帯域幅の広い高速な回線を利用しても、本実施形態に係る処理シーケンスを適用した場合の方が平均で30%程度高速である。このような結果が得られる要因としては、帯域の立ち上がりの遅さが考えられる。つまり、帯域幅が広い回線を利用しているユーザであっても、本実施形態に係る処理シーケンスを適用することにより効果を体感することができるのである。
以上、本実施形態に係る処理シーケンスを適用した場合に得られる効果について説明した。
[2−5:DOM構造の違いによる表示結果の比較]
さて、本実施形態に係る処理シーケンスを適用することによる効果は明らかになったが、仮DOMに基づくWebページが見るに耐えないものでは意味がない。そこで、図15〜図17を参照しながら、DOM構造の違いによる表示結果の違いについて確認しておくことにする。
(D1:HTMLファイルのみ)
まず、図15を参照する。図15には、HTMLファイルだけを用いて簡易的なDOMを構築し、その簡易的なDOMに基づいてWebページを表示した場合の表示構成が示されている。HTMLファイルだけの場合、レイアウトの指定が特にされていないため、テキストデータTや画像データM1を縦に並べただけの表示結果が得られる。この場合、簡易的なDOMの構造は、図15に例示したように、HTMLタグの構造単位をルートとし、HEADタグ、BODYタグの構造単位を第1階層のノードとするツリー構造を有する。さらに、BODYタグの構造単位の下位階層(第2階層)には、例えば、テキストデータTに対応するノードと、画像データM1に対応するノードとが紐付けられる。
(D2:HTMLファイル+CSSファイル)
次に、図16を参照する。図16には、HTMLファイルとCSSファイルとを用いて簡易的なDOMを構築し、その簡易的なDOMに基づいてWebページを表示した場合の表示構成が示されている。この表示構成例は、本実施形態に係る仮DOMに基づく表示構成に対応する。図16の例では、CSSファイルによりレイアウトが指定されるため、テキストデータTの表示位置や画像データM1の表示位置が整っている。
この場合、簡易的なDOMの構造は、HTMLタグの構造単位をルートとし、HEADタグ、BODYタグの構造単位を第1階層のノードとするツリー構造を有する。さらに、BODYタグの構造単位の下位階層(第2階層)には、例えば、テキストデータTに対応するノードと、画像データM1に対応するノードとが紐付けられる。このように、CSSファイルの適用により、この簡易的なDOMへの書き換え処理は行われないため、簡易的なDOMの構造は、上記HTMLファイルのみの場合と実質的に同じである。
(D3:HTMLファイル+CSSファイル+JSファイル)
次に、図17を参照する。図17には、HTMLファイル、CSSファイル、及びJSファイルを用いてDOMを構築し、そのDOMに基づいてWebページを表示した場合の表示構成が示されている。この表示構成例は、本実施形態に係る本DOMに基づく表示構成に対応する。図17の例では、CSSファイルによりレイアウトが指定されるため、テキストデータTの表示位置や画像データM2の表示位置が整っている。但し、DOMノードの内容がJSファイルの実行により書き換えられている。図17の例では、ノードに含まれる画像データM1の表示指定が、画像データM2の表示指定に書き換えられている。
このように、簡易的なDOMの構造によりWebページの表示結果には違いが生じる。しかし、本実施形態に係る仮DOMの構成と同様にCSSファイルに関する構造単位を考慮することで、仮DOMに基づくWebページのレイアウトが整い、ユーザに大きな違和感を与えずに必要な情報を提示することが可能になる。
[2−6:DOM構築ステップの具体例]
次に、図18〜図68を参照しながら、DOM構築ステップの具体例について説明する。ここでは比較のために一般的なWebブラウザによるDOM構築ステップも示す。図18〜図35までの処理ステップは一般的なWebブラウザによるDOM構築ステップであり、図36〜図68までの処理ステップが本実施形態に係るDOM構築ステップである。
(一般的なWebブラウザによるDOM構築ステップ)
まず、一般的なWebブラウザによるDOM構築ステップについて説明する。ここでは図18に例示したHTMLファイルを実行するケースについて説明する。
リダイレクトが発生すると、図18に示すようなHTMLファイルがダウンロードされる。次いで、ダウンロードされたHTMLファイルの構造が解析される。まず、図19に示すように、HTMLファイルの先頭にある<html>タグが読み込まれ、<html>タグで囲まれた構造単位がDOMのルートとして認識される。次いで、図20に示すように、<head>タグが読み込まれ、<head>タグで囲まれた構造単位がDOMのルートに従属するノードとして認識される。このとき、図20に示すように、<html>タグに相当するルートと、<head>タグに相当するノードとが紐付けられる。
次いで、図21に示すように、<meta …>タグが読み込まれ、<meta …>タグで囲まれた構造単位が<head>タグのノードに従属する下位ノードとして認識される。このとき、図21に示すように、<head>タグのノードと、<meta …>タグのノードとが紐付けられる。
次いで、図22に示すように、<title>タグが読み込まれ、<title>タグで囲まれた構造単位が<head>タグのノードに従属する下位ノードとして認識される。なお、<meta …>タグと<title>タグとは、同じ<head>タグに囲まれているため、図22に示すように、<title>タグは<head>タグに従属する。つまり、図22に示すように、<head>タグのノードと<title>タグのノードとが紐付けられる。
次いで、図23に示すように、<script …>タグが読み込まれ、<script …>タグで囲まれた構造単位が<head>タグのノードに従属する下位ノードとして認識される。なお、<meta …>タグ、<title>タグ、及び<script …>タグは、同じ<head>タグに囲まれているため、図23に示すように、<script …>タグは<head>タグに従属する。つまり、図23に示すように、<head>タグのノードと<script …>タグのノードとが紐付けられる。なお、<script …>タグのノードは、スクリプト処理の実行に関する構造単位である。
図23の例では、<script …>タグの構造単位にJSのスクリプトファイルが対応付けられている。そのため、<script …>タグが読み出された際、図24に示すように、JSのスクリプトファイルがダウンロードされ、ダウンロードされたJSのスクリプトファイルが実行される。このとき、JSのスクリプトファイルにDOM構造を変更するような記述が含まれていると、この段階でDOM構造が変更される。例えば、図25に示すように、JSのスクリプトファイルに「document.title=‘new title’;」と記載されていた場合、<title>タグの内容が変更されるため、DOMに含まれる<title>タグのノードが更新される。
次いで、図26に示すように、<link …>タグが読み込まれ、<link …>タグで囲まれた構造単位が<head>タグのノードに従属する下位ノードとして認識される。なお、<meta …>タグ、<title>タグ、<script …>タグ、及び<link …>タグは、同じ<head>タグに囲まれているため、図26に示すように、<link …>タグは<head>タグに従属する。つまり、図26に示すように、<head>タグのノードと<link …>タグのノードとが紐付けられる。
なお、図26の例では、<link …>タグによりCSSファイルが対応付けられている。そのため、この<link …>タグのノードは、レイアウトの定義に関する構造単位である。従って、図27に示すように、<link …>タグが読み出された際、CSSファイルがダウンロードされ、ダウンロードされたCSSファイルが適用される。例えば、図27に示すように、CSSファイルに「body{text−align:right」と記載されていた場合、テキストデータの表示レイアウトが右詰に設定される。
次いで、図28に示すように<head>タグで囲まれた構造単位の終位置を示す</head>が読み込まれ、<head>タグのノードに従属するDOMツリーの構築が完了する。次いで、図29に示すように、<body>タグが読み込まれ、<body>タグで囲まれた構造単位がルートに従属するノードとして認識される。つまり、図29に示すように、ルートと<body>タグのノードとが紐付けられる。次いで、図30、図31に示すように<body>タグで囲まれた構造単位の内容が読み込まれる。
図31に示すように、<body>タグで囲まれた構造単位には、画像データの指定が含まれている。そのため、図32に示すように、指定された画像データがダウンロードされる。但し、図32〜図35に示すように、画像データのダウンロードが進行している最中でもDOMの構築処理は進められる。そして、<body>タグで囲まれた構造単位の終位置を示す</body>タグが読み込まれ、<html>タグで囲まれた構造単位の終位置を示す</html>タグが読み込まれてHTMLファイルの解析が終了する。そして、DOMの生成が完了する。
以上、一般的なWebブラウザにおけるDOM構築ステップについて具体的に説明した。上記の通り、一般的なWebブラウザにおけるDOM構築ステップには、JSのスクリプトファイルをダウンロード及び実行する工程が含まれている。そのため、スクリプト処理の逐次性に起因してDOMの構築に長い時間がかかってしまう。
(本実施形態に係るDOM構築ステップ)
次に、本実施形態に係るDOM構築ステップについて説明する。なお、読み込まれるHTMLファイルは、図18に示した上記例と同じもの(図36を参照)と用いることにする。また、以下の説明において、第1スレッドの処理とは仮DOMの生成に係る処理を意味し、第2スレッドの処理とは本DOMの生成に係る処理を意味する。
(第1スレッドの処理)
まず、第1スレッドの処理について説明する。
リダイレクトが発生すると、図36のようにHTMLファイルがダウンロードされる。次いで、ダウンロードされたHTMLファイルの構造が解析される。まず、図37に示すように、HTMLファイルの先頭にある<html>タグが読み込まれ、<html>タグで囲まれた構造単位がDOMのルートとして認識される。次いで、図38に示すように、<head>タグが読み込まれ、<head>タグで囲まれた構造単位がDOMのルートに従属するノードとして認識される。このとき、図38に示すように、<html>タグに相当するルートと、<head>タグに相当するノードとが紐付けられる。
次いで、図39に示すように、<meta …>タグが読み込まれ、<meta …>タグで囲まれた構造単位が<head>タグのノードに従属する下位ノードとして認識される。このとき、図39に示すように、<head>タグのノードと、<meta …>タグのノードとが紐付けられる。
次いで、図40に示すように、<title>タグが読み込まれ、<title>タグで囲まれた構造単位が<head>タグのノードに従属する下位ノードとして認識される。なお、<meta …>タグと<title>タグとは、同じ<head>タグに囲まれているため、図40に示すように、<title>タグは<head>タグに従属する。つまり、図40に示すように、<head>タグのノードと<title>タグのノードとが紐付けられる。
次いで、図41に示すように、<script …>タグが読み込まれる。しかし、本実施形態に係る第1スレッドのDOM構築ステップにおいては、図42に示すように、<script …>タグを読み飛ばし、<script …>タグに囲まれた構造単位に関する処理を実行しない。つまり、JSのスクリプトファイルのダウンロード及び実行を行わない。
次いで、図43に示すように、<link …>タグが読み込まれ、<link …>タグで囲まれた構造単位が<head>タグのノードに従属する下位ノードとして認識される。なお、<meta …>タグ、<title>タグ、<script …>タグ、及び<link …>タグは、同じ<head>タグに囲まれているため、図43に示すように、<link …>タグは<head>タグに従属する。つまり、図43に示すように、<head>タグのノードと<link …>タグのノードとが紐付けられる。
なお、図43の例では、<link …>タグによりCSSファイルが対応付けられている。そのため、この<link …>タグのノードは、レイアウトの定義に関する構造単位である。従って、図44に示すように、<link …>タグが読み出された際、CSSファイルがダウンロードされ、ダウンロードされたCSSファイルが適用される。例えば、図44に示すように、CSSファイルに「body{text−align:right」と記載されていた場合、テキストデータの表示レイアウトが右詰に設定される。
次いで、図45に示すように<head>タグで囲まれた構造単位の終位置を示す</head>が読み込まれ、<head>タグのノードに従属するDOMツリーの構築が完了する。次いで、図46に示すように、<body>タグが読み込まれ、<body>タグで囲まれた構造単位がルートに従属するノードとして認識される。つまり、図46に示すように、ルートと<body>タグのノードとが紐付けられる。次いで、図47、図48に示すように<body>タグで囲まれた構造単位の内容が読み込まれる。
図48に示すように、<body>タグで囲まれた構造単位には、画像データの指定が含まれている。そのため、図49に示すように、指定された画像データがダウンロードされる。但し、図49〜図52に示すように、画像データのダウンロードが進行している最中でも仮DOMの構築処理は進められる。そして、<body>タグで囲まれた構造単位の終位置を示す</body>タグが読み込まれ、<html>タグで囲まれた構造単位の終位置を示す</html>タグが読み込まれてHTMLファイルの解析が終了する。そして、仮DOMの生成が完了する。
このように、第1スレッドにおける仮DOMの構築ステップにおいては、JSのスクリプトファイルのダウンロード及び実行をスキップする。そのため、スクリプト処理の逐次性に起因して生じる処理遅延が発生せず、素早く仮DOMが構築される。
(第2スレッドの処理)
次に、第2スレッドの処理について説明する。但し、第2スレッドの処理は、第1スレッドの処理と同じタイミングで開始される。また、各種ファイルのダウンロードは、ダウンロードマネージャスレッドにより行われるため、第1スレッドが利用するために既にダウンロードしたファイルを重複してダウンロードする必要はない。
リダイレクトが発生すると、図53に示すように、HTMLファイルの構造が解析される。このとき、ダウンロードマネージャスレッドでは、必要なファイルのダウンロードが進行している。まず、図54に示すように、HTMLファイルの先頭にある<html>タグが読み込まれ、<html>タグで囲まれた構造単位がDOMのルートとして認識される。次いで、図55に示すように、<head>タグが読み込まれ、<head>タグで囲まれた構造単位がDOMのルートに従属するノードとして認識される。このとき、図55に示すように、<html>タグに相当するルートと、<head>タグに相当するノードとが紐付けられる。
次いで、図56に示すように、<meta …>タグが読み込まれ、<meta …>タグで囲まれた構造単位が<head>タグのノードに従属する下位ノードとして認識される。このとき、図56に示すように、<head>タグのノードと、<meta …>タグのノードとが紐付けられる。
次いで、図57に示すように、<title>タグが読み込まれ、<title>タグで囲まれた構造単位が<head>タグのノードに従属する下位ノードとして認識される。なお、<meta …>タグと<title>タグとは、同じ<head>タグに囲まれているため、図57に示すように、<title>タグは<head>タグに従属する。つまり、図57に示すように、<head>タグのノードと<title>タグのノードとが紐付けられる。
次いで、図58に示すように、<script …>タグが読み込まれ、<script …>タグで囲まれた構造単位が<head>タグのノードに従属する下位ノードとして認識される。なお、<meta …>タグ、<title>タグ、及び<script …>タグは、同じ<head>タグに囲まれているため、図58に示すように、<script …>タグは<head>タグに従属する。つまり、図58に示すように、<head>タグのノードと<script …>タグのノードとが紐付けられる。なお、<script …>タグのノードは、スクリプト処理の実行に関する構造単位である。
図58の例では、<script …>タグの構造単位にJSのスクリプトファイルが対応付けられている。そのため、<script …>タグが読み出された際、図59に示すように、JSのスクリプトファイルがダウンロードされ、ダウンロードされたJSのスクリプトファイルが実行される。このとき、JSのスクリプトファイルにDOM構造を変更するような記述が含まれていると、この段階でDOM構造が変更される。例えば、図60に示すように、JSのスクリプトファイルに「document.title=‘new title’;」と記載されていた場合、<title>タグの内容が変更されるため、本DOMに含まれる<title>タグのノードが更新される。
このように、第2スレッドのDOM構築ステップにおいては、第1スレッドのDOM構築ステップで読み飛ばされた<script …>タグが読み込まれ、JSのスクリプトファイルのダウンロード及び実行が行われる。
次いで、図61に示すように、<link …>タグが読み込まれ、<link …>タグで囲まれた構造単位が<head>タグのノードに従属する下位ノードとして認識される。なお、<meta …>タグ、<title>タグ、<script …>タグ、及び<link …>タグは、同じ<head>タグに囲まれているため、図61に示すように、<link …>タグは<head>タグに従属する。つまり、図61に示すように、<head>タグのノードと<link …>タグのノードとが紐付けられる。
なお、図61の例では、<link …>タグによりCSSファイルが対応付けられている。そのため、この<link …>タグのノードは、レイアウトの定義に関する構造単位である。従って、第1スレッドのDOM構築ステップと同様にCSSファイルが適用される。例えば、図61に示すように、CSSファイルに「body{text−align:right」と記載されていた場合、テキストデータの表示レイアウトが右詰に設定される。但し、CSSファイルは、ダウンロードマネージャスレッドにより既にダウンロードされている。
次いで、図62に示すように<head>タグで囲まれた構造単位の終位置を示す</head>が読み込まれ、<head>タグのノードに従属するDOMツリーの構築が完了する。次いで、図63に示すように、<body>タグが読み込まれ、<body>タグで囲まれた構造単位がルートに従属するノードとして認識される。つまり、図63に示すように、ルートと<body>タグのノードとが紐付けられる。次いで、図64、図65に示すように<body>タグで囲まれた構造単位の内容が読み込まれる。
図65に示すように、<body>タグで囲まれた構造単位には、画像データの指定が含まれている。そのため、図65に示すように、指定された画像データがダウンロードされる。但し、第1スレッドのDOM構築ステップにおいて既にダウンロードされている画像データは改めてダウンロードされない。つまり、ここでダウンロードされるのは、第2スレッドのDOM構築ステップにおいて新たにダウンロードが必要になった画像データである。図65の例では、第1スレッドのDOM構築ステップにおいて同じ画像データがダウンロードされているため、改めて画像データのダウンロードを行う必要はない。
次いで、図66に示すように、<body>タグで囲まれた構造単位の終位置を示す</body>タグが読み込まれる。さらに、図67に示すように、<html>タグで囲まれた構造単位の終位置を示す</html>タグが読み込まれてHTMLファイルの解析が終了する。そして、図68に示すように、本DOMの生成が完了する。
このように、第2スレッドのDOM構築ステップにおいては、第1スレッドのDOM構築ステップでスキップされたスクリプトファイルのダウンロード及び実行の処理が行われ、本来構築されるべきDOM(本DOM)が生成される。上記の通り、本DOMの構築ステップは、一般的なWebブラウザによるDOM構築ステップと実質的に同じである。つまり、本DOMは、JSを含めたHTMLファイルの構造単位を正規の順番で読み込み、実行してから構築されたものである。従って、本DOMに基づくWebページは、制作者の意図を正確に反映したレイアウト及び動作を有するものとなる。
先に説明した通り、第1スレッドにおいて仮DOMが構築されると、仮DOMをレンダリングして仮DOMに基づくWebページが生成され、画面上に表示される。仮DOMの構築ステップにはスクリプトファイルのダウンロード及び実行の処理が含まれていないため、仮DOMに基づくWebページは素早く表示される。一方、本DOMの構築が完了すると、本DOMをレンダリングして本DOMに基づくWebページが生成され、仮DOMに基づくWebページと差し替えられる。そのため、Webページの制作者が本来意図していた構成を有するWebページを閲覧することが可能になる。
その結果、素早く必要な情報を取得したいという要求と、Webページ制作者の意図を正確に反映したWebページを閲覧したいという要求とを共に満たすことが可能になる。このような構成は、モバイルデータ回線のような不安定なネットワーク環境において特に大きな効果を発揮する。また、比較的演算能力の高い機器に適用する方が好ましい。
なお、上記説明においては、第1スレッド、第2スレッドという表現を用いたが、必ずしも2本の実スレッドにより仮DOM/本DOMの構築処理を実行する必要はない。つまり、論理的に2種類の処理を実行することができれば、実スレッドを2本用意して独立に処理を実行することまでは要求されない点に注意されたい。また、上記説明においては、HTMLファイルの解析、及びHTMLファイルに含まれる構造単位に基づくDOMの構築について説明したが、他の構造化言語で記述されたファイルの解析及びツリー構造の構築処理にも応用できる。そして、このような応用例も、本実施形態の技術的範囲に含まれることは言うまでもない。
(変形例等について)
さて、ここまでは、HTMLファイルの中にスクリプト処理に関する構造単位が含まれているものとして説明してきた。しかし、実際にはスクリプト処理に関する構造単位が含まれていないHTMLファイルも多数存在する。スクリプト処理に関する構造単位が含まれていないHTMLファイルの場合、そのHTMLファイルから構築される仮DOMと本DOMとは同じ構造となる。
そこで、仮DOMの構築ステップを実行中に、HTMLファイルがスクリプト処理に関する構造単位を含まないものであることが判明した場合、本DOMの構築ステップを停止するように変形する。このように変形することにより、本DOMを生成せずに済むため、本DOMの生成に要する演算負荷を低減させることができる。なお、本DOMを生成しないのであるから、仮DOMに基づくWebページを本DOMに基づくWebページへと差し替える処理も省略される。
また、上記説明においては、Webページ全体を本実施形態に係る技術の適用範囲にしていたが、Webブラウザのタブ単位、ウィンドウ単位、フレーム単位で上記技術を実施することも可能である。また、適用するドメインやURL等を指定できるように変形してもよい。さらに、Webブラウジングの際に検出された表示時間の長短に基づいて上記技術を適用すべきサイトを選択し、表示にかかる時間の長いサイトに上記技術を適用するように構成することも可能である。
<3:第2実施形態>
次に、本発明の第2実施形態について説明する。本実施形態は、ユーザによりWebページの表示が要求される前に、Webページの表示に要するファイルを予め取得(プリフェッチ)しておく方法に関する。この方法を用いると、ユーザによりWebページの表示が要求された後にファイルをダウンロードせずに済むため、Webページの表示までにかかる時間を大幅に短縮することができる。
なお、閲覧中のWebページに記述されている全てのリンク先からWebページの表示に用いるデータをプリフェッチしておく方法については既に知られている。しかし、閲覧中のWebページに多数のリンク先が記述されていたり、リンク先のWebページを表示するためのファイルが大量に存在すると、プリフェッチにより帯域が占有されてしまう。また、プリフェッチしたファイルをキャッシュするのに大容量のメモリが必要になってしまう。一方、ユーザが選択する可能性の高いリンク先を適切に選択することは、ユーザの行動予測を伴うため非常に難しい。また、ユーザの行動予測には高い演算能力が要求されるため、上記第1実施形態に係る技術を求めるような情報処理装置においては実現が困難である。そこで、本実施形態においては、上記第1実施形態に係る技術の利用を前提として、プリフェッチするファイルサイズを抑制する方法を提案する。
[3−1:プリフェッチによる効果(検討)]
ここでは、図69〜図72を参照しながら、プリフェッチによる効果について考える。
まず、図69を参照する。上記の通り、本実施形態に係るプリフェッチ方法は、上記第1実施形態に係る技術の利用を前提とするものである。つまり、スクリプトファイルのダウンロード及び実行を後回しにする方法を前提とする。そのため、仮DOMの構築に要するHTMLファイル、及びCSSファイルのプリフェッチを考えればよい。また、画像データ等もプリフェッチの対象から外すことで、プリフェッチによりキャッシュすべきデータの量を大幅に削減することができる。このような構成にしても、ある程度レイアウトが整った状態でテキストデータが表示されるため、十分な情報が比較的見やすい形でユーザに提示される。
図70、図71は、(ケース1)プリフェッチなし、(ケース2)HTMLファイル及びCSSファイルをプリフェッチ、(ケース3)HTMLファイル、CSSファイル、JSファイルをプリフェッチ、(ケース4)全てのファイルをプリフェッチの4通りを比較したものである。
まず、図70を参照する。図70の左図は、プリフェッチしたファイル数を比較したものである。一方、図70の右図は、プリフェッチしたファイルの合計サイズを比較したものである。図70から分かるように、(ケース4)は、プリフェッチすべきファイル数もファイルサイズも他のケースに比べて桁違いに大きい。つまり、Webページを構成する全てのデータをプリフェッチする一般的なプリフェッチ方法を適用すると、非常に大きなキャッシュメモリが必要になることが分かる。一方、(ケース2)、(ケース3)のようなプリフェッチ方法を用いれば、全てプリフェッチする(ケース4)のプリフェッチ方法に比べてキャッシュすべきデータを減らすことが可能になることが分かる。さらに、上記(ケース2)と上記(ケース3)との比較に注目すると、JSファイルの有無だけでもキャッシュデータの量に顕著な差が生じることが分かる。
次に、図71を参照する。図71は、2種類のWebページについて、上記(ケース1)〜(ケース4)のプリフェッチ方法を適用した場合における表示開始までの時間を比較したものである。当然のことながら、Webページの表示開始に必要なファイルをプリフェッチしている分だけ、上記(ケース2)〜(ケース4)は、表示時間が短くて済んでいる。また、JS処理の有無について比較すると、JS処理が生じないことにより得られる時間短縮の効果は顕著である。もちろん、Webページの種類によりJS処理を省略して得られる効果の大きさは異なるが、一概に効果が得られることは分かった。こうした結果から、HTMLファイル及びCSSファイルだけをプリフェッチする上記(ケース2)の構成により、キャッシュメモリを節約しつつも、十分な時間短縮の効果が得られるものと期待される。
また、上記第1実施形態の技術と組み合わせ、プリフェッチしたHTMLファイル及びCSSファイルから仮DOMを構築し、仮DOMに基づくWebページを表示することにより、より素早くWebページが表示されるものと期待される。なお、プリフェッチの対象とするWebページの候補としては、図72に示すように、(候補1)ブックマークリストに登録されているリンク先、(候補2)検索結果に含まれるリンク先の上位所定数のもの、(候補3)閲覧ページ内のリンク先等が考えられる。また、(候補1)、(候補2)、(候補3)の順で所定数のリンク先を選択するようにしてもよい。さらに、これらの候補の組み合わせをユーザが決め、その組み合わせの中から所定数のリンク先を選択するようにしてもよい。
以上説明したように、本実施形態は、HTMLファイル及びCSSファイルをプリフェッチする方法を提案するものである。もちろん、HTMLファイルは一例であり、HTMLファイルに代えて他の構造化言語で記述されたファイルを用いてもよい。また、CSSファイルは一例であり、CSSファイルに代えて表示レイアウトを調整するための他の形式のファイルを用いてもよい。いずれにせよ、これら2種類のファイルをプリフェッチしておくことにより、仮DOMに基づくWebページをより素早く表示することが可能になる。以下、本実施形態に係るプリフェッチ方法について詳細に説明する。
[3−2:情報処理装置100の機能構成]
まず、図73を参照しながら、上記のアイデアを実現することが可能な情報処理装置100の機能構成について説明する。図73は、本実施形態に係る情報処理装置100の機能構成例を示す説明図である。なお、上記第1実施形態及び後述する第3実施形態に係る情報処理装置100と区別するために、本実施形態に係る情報処理装置100を情報処理装置100Bと表記する場合がある。
図73に示すように、情報処理装置100は、主に、データ取得部110と、構造解析部120と、レンダリング部130と、表示部140と、通信部150と、リンク選択部160とにより構成される。また、レンダリング部130は、仮DOM生成部131と、本DOM生成部132と、キャッシュメモリ133と、表示制御部134と、ノード情報格納部135とを有する。上記第1実施形態に係る情報処理装置100Aとの主な違いは、通信部150、及びリンク選択部160の有無にある。従って、以下では通信部150、及びリンク選択部160の機能を中心に説明する。
通信部150は、ネットワーク200を通じてWebサーバ310、320と通信するための通信手段である。なお、Webサーバ310、320からファイルをダウンロードするには、DNSサーバへとアクセスして名前解決を行ったり、TCPコネクションを確立したりする必要がある。また、Webサーバ310、320からリダイレクトを取得する必要もある。通信部150は、必要に応じてWebサーバ310、320との通信に関する上記処理等を実行する。
また、リンク選択部160は、プリフェッチの対象とするリンク先を選択する手段である。上記の通り、プリフェッチの対象とするリンク先として、(候補1)ブックマークリストに登録されているリンク先、(候補2)検索結果に含まれるリンク先の上位所定数のもの、(候補3)閲覧ページ内のリンク先等が考えられる。例えば、(候補2)に設定されている場合、リンク選択部160は、検索エンジンにより出力された検索結果に含まれるリンク先を所定数選択する。上記(候補1)(候補3)の場合にも同様に、リンク選択部160は、所定数のリンク先を選択する。
さらに、リンク選択部160は、選択したリンク先に対し、所定のルールに基づいてプリフェッチの種類を割り当てる。例えば、リンク選択部160は、上位N1個のリンク先に対し、HTMLファイル及びCSSファイルをプリフェッチする第1手法を割り当て、次のN2個のリンク先に対し、リダイレクトをプリフェッチする第2手法を割り当てる。また、リンク選択部160は、次のN3個のリンク先に対応するWebサーバ310、320に対し、TCPコネクションを確立させておく第3手法を割り当てたり、DNSによる名前解決を先行して行っておく第4手法を割り当てたりする。以下、第1手法をファイルプリフェッチ、第2手法をリダイレクトプリフェッチ、第3手法をプリコネクション、第4手法をDNSプリフェッチと呼ぶことにする。
リンク選択部160により選択されたリンク先の情報、及び各リンク先に割り当てられたプリフェッチの種類は、データ取得部110及び通信部150に入力される。
例えば、ファイルプリフェッチ又はリダイレクトプリフェッチに割り当てられたリンク先の情報は、データ取得部110に入力される。ファイルプリフェッチに割り当てられたリンク先の情報が入力されると、データ取得部110は、入力されたリンク先の情報が示すリンク先からHTMLファイル及びCSSファイルをダウンロードしてキャッシュする。一方、リダイレクトプリフェッチが割り当てられたリンク先の情報が入力されると、データ取得部110は、入力されたリンク先の情報が示すリンク先からリダイレクト用のコードを取得し、必要に応じてリダイレクト先のURLを読みに行く。
また、プリコネクション又はDNSプリフェッチに割り当てられたリンク先の情報は、通信部150に入力される。プリコネクションに割り当てられたリンク先の情報が入力されると、通信部150は、入力されたリンク先の情報が示すリンク先との間でTCPコネクションを確立させる。但し、プリコネクションの場合、ファイルのダウンロード等は行われない。一方、DNSプリフェッチが割り当てられたリンク先の情報が入力されると、通信部150は、入力されたリンク先の情報が示すリンク先に接続するための名前解決を行う。但し、DNSプリフェッチの場合、TCPコネクションの確立までは行われない。
上記のファイルプリフェッチ、リダイレクトプリフェッチ、プリコネクション、DNSプリフェッチは、ユーザによりリンク先が指定される前に実行される。ファイルプリフェッチが実行される場合には、HTMLファイルが取得された後、HTMLファイルの解析が実行され、必要に応じてCSSファイルのダウンロードが実行される。そして、ユーザによりリンク先が指定されると、レンダリング部130により仮DOM、本DOMの構築が開始される。仮DOM、本DOMの構築方法、及びWebページの表示及び差し替え処理については、上記第1実施形態に係る情報処理装置100Aの処理と実質的に同じである。従って、詳細な説明は省略することにする。
以上、本実施形態に係る情報処理装置100の機能構成について説明した。
[3−3:情報処理装置100の動作]
次に、図74を参照しながら、本実施形態に係る情報処理装置100の動作について説明する。図74は、本実施形態に係る情報処理装置100の動作フローを示す説明図である。但し、図74に示した動作フローは、検索エンジンにより検索された結果から、所定数のリンク先を選択し、ファイルプリフェッチを行う構成に関する。
図74に示すように、まず、情報処理装置100は、検索結果に含まれるリンク先の一部を選択する(ステップS201)。次いで、情報処理装置100は、選択したリンク先からHTMLファイル及びCSSファイルをダウンロードする(ステップS202)。次いで、情報処理装置100は、選択したリンク先のいずれかがユーザにより選択されたか否かを判定する(ステップS203)。ユーザにより選択された場合、情報処理装置100は、ステップS204の処理に進行する。一方、ユーザにより選択されていない場合、情報処理装置100は、再びステップS203の処理に戻る。
ステップS204の処理に進行した場合、情報処理装置100は、ファイルプリフェッチにより予めダウンロードしてキャッシュしておいたHTMLファイルを解析し、HTMLの記述に関する各構造単位、及びCSSファイルに関する構造単位を相互に紐付けて仮DOMの生成を開始する(ステップS204)。次いで、情報処理装置100は、ユーザにより選択されたリンク先からJSファイルをダウンロードする(ステップS205)。次いで、情報処理装置100は、HTMLファイル、CSSファイル、JSファイルを用いて本DOMの生成を開始する(ステップS206)。
次いで、情報処理装置100は、仮DOMの生成が完了したか否かを判定する(ステップS207)。仮DOMの生成が完了した場合、情報処理装置100は、ステップS208の処理に進行する。一方、仮DOMの生成が完了していない場合、情報処理装置100は、再びステップS207の処理に戻る。ステップS208の処理に進行した場合、情報処理装置100は、仮DOMをレンダリングしてWebページを生成し、生成したWebページを表示画面に表示する(ステップS208)。
次いで、情報処理装置100は、本DOMの生成が完了したか否かを判定する(ステップS209)。本DOMの生成が完了した場合、情報処理装置100は、ステップS210の処理に進行する。一方、本DOMの生成が完了していない場合、情報処理装置100は、再びステップS209に戻る。ステップS210に進行した場合、情報処理装置100は、本DOMをレンダリングしてWebページを生成し、仮DOMに基づくWebページと差し替え(ステップS210)、一連の処理を終了する。
以上、本実施形態に係る情報処理装置100の動作フローについて説明した。
[3−4:プリフェッチ処理の流れ]
次に、図75を参照しながら、本実施形態に係るプリフェッチ処理の流れについて説明する。図75は、本実施形態に係るプリフェッチ処理の流れを示す説明図である。なお、図75に示す処理は、情報処理装置100により実行される。
図75に示すように、まず、リクエストURLが検索サイトのURLであるか否かが判定される(ステップS301)。検索サイトのURLである場合、処理は、ステップS302に進行する。一方、検索サイトのURLでない場合、処理は、ステップS301に戻る。ステップS302に進行すると、取得された検索サイトのHTMLファイルがパースされ、プリフェッチすべきリンク先のリスト(以下、プリフェッチリスト)が抽出される(ステップS302)。次いで、抽出されたリンク先のうち、i番目のURL(Xi)が既にキャッシュされているか否かが判定される(ステップS303)。Xiがキャッシュされている場合、処理は、ステップS307に進行する。一方、Xiがキャッシュされていない場合、処理は、ステップS304に進行する。
ステップS304に進行した場合、XiからHTMLファイルを取得するためのコマンド(GET)が発行され、HTMLファイルが取得される(ステップS304)。次いで、取得されたHTMLファイルがパースされ、HTMLファイルに記述されているCSSファイルのリンク先が抽出される(ステップS305)。さらに、CSSファイルを取得するためのコマンド(GET)が発行され、CSSファイルが取得される(ステップS305)。次いで、取得されたHTMLファイル、CSSファイルがキャッシュされる(ステップS306)。次いで、プリフェッチリストからXiが削除される(ステップS307)。次いで、プリフェッチリストにi+1番目のURL(X(i+1))が存在するか否かが判定される(ステップS308)。X(i+1)が存在する場合、処理は、再びステップS303に戻る。一方、X(i+1)が存在しない場合、一連の処理が終了する。
以上、本実施形態に係るプリフェッチ処理の流れについて説明した。なお、ユーザがURLリンクをクリックした段階でプリフェッチ処理はキャンセルされる。
[3−5:プリフェッチによる効果]
次に、図76を参照しながら、上記のプリフェッチによる効果について説明する。図76には、DNSプリフェッチ、プリコネクション(コネクションプリフェッチ)、リダイレクトプリフェッチ、ファイルプリフェッチ、全ファイルのプリフェッチの効果比較が記載されている。図76に示すように、全てのファイルをプリフェッチする場合に比べ、本実施形態に係るファイルプリフェッチは、必要通信量が格段に少なくて済んでいる。また、DNSプリフェッチ、プリコネクション、リダイレクトプリフェッチによる効果も非常に大きい。つまり、本実施形態に係るプリフェッチを適用することにより、プリフェッチによる通信量の増大を抑制することが可能になる。また、ページの表示時間を比較しても、本実施形態に係るファイルプリフェッチと、全てのファイルをプリフェッチした場合とで大きな効果の差はないことが分かる。このように、本実施形態に係るファイルプリフェッチを巧く利用することにより、Webページの表示を十分に高速化しつつ、プリフェッチによるメモリ容量の圧迫や占有帯域の浪費を抑制することが可能になる。
[3−6:プリコネクションによる効果(検討)]
次に、図77〜図80を参照しながら、上記のプリコネクションの適用ケースについて検討してみたい。上記の通り、本実施形態に係るファイルプリフェッチ方法、及び仮DOMに基づくWebページの表示方法を利用すれば、不安定で低速な回線を利用していても、見やすい形で素早くWebページを表示することができる。また、プリフェッチにより通信量が増加してしまうのを極力防止することができ、通信費の節約にも繋がる。既に述べていることであるが、全てのリンク先にファイルプリフェッチを適用するのは必ずしも得策であるとは言えない。例えば、ユーザにより選択される可能性の低いリンク先に対してファイルプリフェッチを適用するのは効率が良くない。そこで、プリコネクションを巧く組み合わせ、プリフェッチによる通信量をさらに抑制する方法について考えてみたい。
図77に示すように、表示中のWebページに含まれるリンク先をユーザがクリックする前にリンク先のホストとの間で予めTCPコネクションを確立しておくことが望ましい。また、ユーザがURLを入力中に、指定先のホストとの間で予めTCPコネクションを確立しておくことも効果的である。また、図78に示すように、近い未来にユーザによりクリックされる確率の高いリンク先の種類を決めておき、その種類のリンク先に対してプリコネクションを適用することが望ましい。ユーザによるクリックの確率が高いリンク先としては、図78に示すように、例えば、(選択候補1)検索結果の画面上位に表示されているもの、(選択候補2)閲覧中の画面内に表示されているもの、(選択候補3)閲覧履歴の中で高頻度にアクセスしているもの、(選択候補4)マウスポインタ等、ユーザが操作する操作体の位置から近いリンク先などが挙げられる。
また、上記第1実施形態の技術及び本実施形態に係るプリフェッチやプリコネクションを適用することにより得られる効果が大きいリンク先を選択する方法も考えられる。この場合、選択対象は、例えば、特定のドメイン、国、実測された応答時間、コネクション確立時間の履歴等に基づいて決定される。図79、図80に示すように、リンク先URLのTLD(Top Level Domain)やリンク先ホストが位置する国により、コネクション確立時間が大きく異なる。図79は、日本から各TDLを持つURLのリンク先に接続した場合におけるコネクション確立時間の比較である。図80は、日本から各国のリンク先ホストに接続した場合におけるコネクション確立時間の比較である。これらの結果から、リンク先が外国の場合にプリコネクションを行う効果が大きいことが分かる。つまり、外国のリンク先を抽出し、そのリンク先に対してプリコネクションを行い、自国のリンク先に対してはファイルプリフェッチを行う等の使い分けが有効である。
以上、本発明の第2実施形態について説明した。
<4:第3実施形態>
次に、本発明の第3実施形態について説明する。本実施形態は、操作体の近接距離を検知することが可能なタッチパネルを用いて適切なタイミングでプリフェッチ(又はプリコネクション)を実行する方法に関する。この方法は、上記第1及び第2実施形態に係る技術を前提とするものであり、当該技術の実用性を向上させるためのものである。
[4−1:近接検知とプリフェッチ処理の連携]
まず、図81を参照しながら、本実施形態に係るプリフェッチ方法の概要について説明する。上記の通り、本実施形態に係るプリフェッチ方法は、近接検知が可能なタッチパネルを用いて実現されるものである。ここで言う近接検知とは、指やスタイラス等の操作体がタッチパネルの表面に近づいた場合に、操作体の近づき度合いを検出することを意味する。つまり、ここで想定されているタッチパネルは、操作体とタッチパネルとの距離に相当する情報を検知する機能を有していることになる。なお、このようなタッチパネルの具体例については後述する。
さて、本実施形態に係るプリフェッチの仕組みは、図81に示すように、近接検知されたエリア内に表示されたリンク先に対してプリフェッチを行うというものである。例えば、操作体とタッチパネルとの間の距離が所定の閾値よりも短くなった場合にファイルプリフェッチが開始され、リンク先がタッチされた段階でキャッシュされているファイルを用いてWebページが表示される。但し、ここで行われるファイルプリフェッチは、上記第2実施形態と同様にHTMLファイル及びCSSファイルだけをプリフェッチするものである。また、Webページを表示する際には、上記第1実施形態と同様に仮DOMに基づくWebページの表示、及び本DOMに基づくWebページの差し替えが行われる。
なお、本実施形態に係るプリフェッチの仕組みと、上記第2実施形態に係るプリフェッチの仕組みとの間の大きな違いは、プリフェッチの対象とするリンク先の選択方法にある。上記第2実施形態に係るプリフェッチ方法においては、閲覧中のページ内にあるリンク先を所定数選択したり、検索結果から所定数のリンク先を選択したりしていた。しかし、本実施形態に係るプリフェッチ方法においては、操作体が近接したエリア内のリンク先がプリフェッチの対象として選択される。そのため、選択されるリンク先の数が少なくなる分だけ、上記第2実施形態に係るプリフェッチ方法よりもキャッシュするデータ量が少なくなる。但し、プリフェッチ処理の実行時間が比較的短くなるため、必要に応じてプリコネクションとの組み合わせを考える方がよい場合がある。
例えば、操作体とタッチパネルとの間の距離が閾値L1より短くなるとプリコネクションを開始し、閾値L2(L2<L1)より短くなるとファイルプリフェッチを開始するといった段階的なプリフェッチ処理にする方が好ましい場合もある。また、閾値L1より短い状態が所定時間以上続いた場合にファイルプリフェッチを開始するようにしてもよい。このような構成にすると、ユーザがリンク先を選択するか否かを迷っている時間の間にファイルプリフェッチが完了し、ユーザ選択が行われた後すぐに仮DOMに基づくWebページを表示できるようになる。
以上、本実施形態に係るプリフェッチ方法の概要について説明した。
[4−2:情報処理装置100の機能構成]
次に、図82を参照しながら、上記のアイデアを実現することが可能な情報処理装置100の機能構成について説明する。図82は、本実施形態に係る情報処理装置100の機能構成例を示す説明図である。なお、上記第1及び第2実施形態に係る情報処理装置100と区別するために、本実施形態に係る情報処理装置100を情報処理装置100Cと表記する場合がある。
図82に示すように、情報処理装置100は、主に、データ取得部110と、構造解析部120と、レンダリング部130と、表示部140と、通信部150と、リンク選択部160と、近接判定部170と、タッチパネルTPとにより構成される。また、レンダリング部130は、仮DOM生成部131と、本DOM生成部132と、キャッシュメモリ133と、表示制御部134と、ノード情報格納部135とを有する。上記第2実施形態に係る情報処理装置100Bとの主な違いは、近接判定部170、及びタッチパネルTPの有無にある。また、リンク選択部160の機能にも一部変更がある。従って、以下では近接判定部170、及びタッチパネルTPの機能を中心に説明する。
まず、タッチパネルTPについて説明する。タッチパネルTPは、光学センサSを有する。また、図82では分けて記載されているが、多くの場合、表示部140と一体化されている。上記の通り、タッチパネルTPは、操作体の近接を検知する機能を有する。この機能は、タッチパネルTPに設けられた光源(又は表示部140のバックライト)から操作体に照射された光の反射光を光学センサSにより検知することで得られる。例えば、操作体により反射された光が強いほど、タッチパネルTPの近くに操作体が位置していると判定される。但し、この判断は、近接判定部170により実行される。
なお、図82の例ではタッチパネルTPとして光学式タッチパネルを用いる例を挙げているが、近接検知が可能なものであれば、どのような方式のタッチパネルが用いられてもよい。例えば、操作体と画面上に設けられた導電膜との間での静電容量の変化を感知して操作体の位置を検出する静電式のタッチパネルを用いることもできる。静電式タッチパネルの場合、操作体が画面上に近づくにつれて増加する静電容量を監視することにより、操作体の近接距離を判定することができる。但し、以下では説明の都合上、光学式タッチパネルを例に挙げて説明することにする。
近接判定部170は、光学センサSにより検出された反射光の強度に基づき、操作体とタッチパネルTPとの間の距離を推定する。また、近接判定部170は、反射光の強度分布に基づいて操作体の位置、操作体により形成される陰影の大きさ、操作体により形成される陰影の領域を判定する。ここで言う陰影とは、操作体を挟んでタッチパネルTPと対向する位置から操作体を見た際に、光源から射出される光が操作体により遮光されてできる影を意味している。もちろん、光学センサSには陰影として認識されないが、ここでは操作体が作る像をイメージしやすいように陰影という表現を用いた。なお、この陰影の大きさが大きいほど、操作体とタッチパネルTPとの間の距離が近いと言うこともできる。
さて、近接判定部170により操作体の位置を示す情報(以下、位置情報)、操作体により形成される陰影の領域を示す情報(以下、領域情報)、及び操作体とタッチパネルTPとの間の距離を示す情報(以下、距離情報)は、リンク選択部160に入力される。位置情報、領域情報、及び距離情報が入力されると、リンク選択部160は、領域情報が示す画面上の領域にリンク先が表示されているか否かを判定する。リンク先が表示されている場合、リンク選択部160は、表示されているリンク先を選択すると共に距離情報を参照し、操作体とタッチパネルTPとの間の距離が所定の閾値より短いか否かを判定する。所定の閾値より短い場合、リンク選択部160は、選択したリンク先にプリフェッチの種類を割り当て、リンク先の情報をデータ取得部110又は通信部150に入力する。なお、データ取得部110及び通信部150の動作は、上記第1及び第2実施形態と実質的に同じである。
さて、リンク先にプリフェッチの種類を割り当てる方法は何通りか考えられる。まず、最も基本的な方法は、所定の閾値よりも操作体が近接した場合にファイルプリフェッチを開始させるというものである。少し複雑になるが、例えば、領域情報に複数のリンク先が含まれている場合に、操作体が形成する陰影の中心位置を示す位置情報からの距離に応じて、距離が近いリンク先にファイルプリフェッチを割り当て、距離が遠いリンク先にプリコネクションを割り当てる方法が考えられる。さらに、所定の閾値を2つ設け、第1閾値L1よりも操作体が近接した場合にプリコネクションを開始し、第2閾値L2(L2<L1)よりも操作体が近接した場合にプリフェッチを開始するようにリンク先に対して割り当てるプリフェッチの種類を変更する方法が考えられる。これらの割り当て処理は、リンク選択部160により実行される。
なお、リンク選択部160は、操作体がリンク先に近接している時間に応じてファイルプリフェッチを実行するか否かを判断してもよい。例えば、あるリンク先の上で操作体が所定の閾値よりも近づいた状態で所定時間経過した場合にだけファイルプリフェッチが実行されるようにしてもよい。また、あるリンク先の上で所定の閾値よりも近づいた状態が所定時間維持され、そのリンク先に対してファイルプリフェッチが実行された後、そのリンク先を基準とする所定範囲内のリンク先に対してプリコネクションが実行されるようにしてもよい。また、リンク選択部160は、プリコネクションを実行するリンク先が複数存在する場合、所定の基準に則してプリコネクションを実行する順序付けを行ってもよい。例えば、リンク選択部160は、所定回数以上選択されているリンク先に対して、より早いプリコネクションを実行してもよい。また、リンク選択部160は、リンク先への往復遅延時間(Round Trip Time)が所定の閾値以上となるリンク先に対して、より早いプリコネクションを実行してもよい。また、リンク選択部160は、リンク先のドメイン名またはIPアドレスに応じて、プリコネクションの実行順序を設定してもよい。このような判定及び実行制御に関する処理は、リンク選択部160により実行される。
以上、本実施形態に係る情報処理装置100の機能構成について説明した。
[4−3:情報処理装置100の動作]
次に、図83を参照しながら、本実施形態に係る情報処理装置100の動作について説明する。図83は、本実施形態に係る情報処理装置100の動作フローを示す説明図である。但し、図83に示した動作フローは、検索エンジンにより検索された結果から、所定数のリンク先を選択し、ファイルプリフェッチを行う構成に関する。
図83に示すように、まず、情報処理装置100は、操作体と表示画面との間の距離(以下、離隔距離)を検出する(ステップS401)。次いで、情報処理装置100は、検出した離隔距離が所定の閾値以下であるか否かを判定する(ステップS402)。離隔距離が所定の閾値以下である場合、情報処理装置100は、ステップS403の処理に進行する。一方、離隔距離が所定の閾値以下でない場合、情報処理装置100は、再びステップS401の処理に戻る。ステップS403の処理に進行した場合、情報処理装置100は、検索結果に含まれるリンク先の中から、リンク先を表す表示の少なくとも一部が操作体の陰影に対応する領域に含まれるものを選択する(ステップS403)。
次いで、情報処理装置100は、選択したリンク先からHTMLファイル及びCSSファイルをダウンロードする(ステップS404)。次いで、情報処理装置100は、選択したリンク先がユーザにより選択されたか否かを判定する(ステップS405)。リンク先が選択された場合、情報処理装置100は、ステップS406の処理に進行する。一方、リンク先が選択されていない場合、情報処理装置100は、再びステップS405の処理に戻る。ステップS406の処理に進行した場合、情報処理装置100は、予め取得しておいたHTMLファイルを解析し、HTMLの記述に関する各構造単位、CSSファイルに関する構造単位を相互に紐付けて仮DOMの生成を開始する(ステップS406)。
次いで、情報処理装置100は、ユーザにより選択されたリンク先からJSファイルを取得する(ステップS407)。次いで、情報処理装置100は、予め取得しておいたHTMLファイルの解析結果に基づき、HTMLの記述に関する各構造単位、CSSファイルに関する構造単位、JSファイルに関する構造単位を相互に紐付けて本DOMの生成を開始する(ステップS408)。次いで、情報処理装置100は、仮DOMの生成が完了したか否かを判定する(ステップS409)。仮DOMの生成が完了した場合、情報処理装置100は、ステップS410の処理に進行する。一方、仮DOMの生成が完了していない場合、情報処理装置100は、再びステップS409の処理に戻る。
ステップS410の処理に進行した場合、情報処理装置100は、仮DOMをレンダリングしてWebページを生成し、生成した仮DOMに基づくWebページを表示画面に表示する(ステップS410)。次いで、情報処理装置100は、本DOMの生成が完了したか否かを判定する(ステップS411)。本DOMの生成が完了した場合、情報処理装置100は、ステップS412の処理に進行する。一方、本DOMの生成が完了していない場合、情報処理装置100は、再びステップS411の処理に戻る。ステップS412の処理に進行した場合、情報処理装置100は、本DOMをレンダリングしてWebページを生成し、生成した本DOMに基づくWebページを仮DOMに基づくWebページに代えて表示画面に表示し(ステップS412)、一連の処理を終了する。
以上、本実施形態に係る情報処理装置100の動作フローについて説明した。
[4−4:近接検知に基づくプリフェッチ処理の流れ]
次に、図84を参照しながら、本実施形態に係る近接検知を用いたプリフェッチ処理の流れについて説明する。図84は、本実施形態に係る近接検知を用いたプリフェッチ処理の流れを示す説明図である。なお、図84の例では操作体の一例として指を挙げている。
図84に示すように、まず、タッチパネルTPから閾値A[mm]以内で指を検知したか否かが判定される(ステップS501)。閾値以内で指を検知した場合、処理は、ステップS502に進行する。一方、閾値以内で指を検知していない場合、処理は、再びステップS501に戻る。ステップS502に進行した場合、閾値B[msec]以上の時間、近接検知により指のフォーカスがリンクCに当たり続けているかが判定される(ステップS502)。
フォーカスが閾値B以上当たり続けている場合、処理は、ステップS503に進行する。一方、フォーカスが閾値B以上当たり続けていない場合、処理は、再びステップS501に戻る。ステップS503に進行した場合、リンクCに対してファイルプリフェッチが実行される(ステップS503)。次いで、リンクCからD[mm]以内のエリアに存在するリンク群Eに対してプリコネクションが実行され(ステップS504)、一連の処理が終了する。
以上、本実施形態に係るプリフェッチ処理の流れについて説明した。
[4−5:近接検知が可能なタッチパネルの構成(インセル型タッチパネル)]
次に、図85を参照しながら、近接検知が可能なタッチパネルについて説明する。タッチパネルには、例えば、感圧式、静電気式、光学式など、いくつかの種類がある。感圧式タッチパネルは、操作体がパネルを押圧したときの圧力変化を検知して操作体の位置を検出するものである。静電気式タッチパネルは、パネルに操作体が接触した際に生じる静電気を電気信号として検知し、その検知結果から操作体の位置を検出するものである。光学式タッチパネルとしては、例えば、表示パネルの外枠に設けられた光学センサにより、パネルに接触した操作体の位置や移動方向を検知する方式が良く知られている。
また、「インセル型」と呼ばれる光学式タッチパネルも知られている。インセル型の光学式タッチパネル(以下、インセル型タッチパネル)は、表示パネルを構成するガラス基板に設けられた光センサアレイにより、操作体で反射された光を検知して操作体の位置を検知するというものである。表示パネルには、画像を表示するための光源が設けられている。表示パネルに操作体が接触又は近接していると、光源から射出された光が操作体により強く反射され、その反射光が光センサアレイにより受光される。
光センサアレイには、各光センサにより検知された光の強度データを読み出すためのリード回路が接続されている。そのため、操作体により反射された光が光センサアレイにより検知されると、各光センサにより検知された光の強度データがリード回路により読み出される。このようにしてリード回路により読み出された光の強度データは、操作体により反射された光の分布を表している。そのため、リード回路により読み出された光の強度データから像を形成することにより、表示パネルに接触又は近接している操作体の形状が画像として得られる。
なお、ここで得られる画像は、光源から射出された光を操作体が遮光して得られる陰影画像に相当する。このように、インセル型タッチパネルの場合、操作体の形状が画像として得られるため、操作体が作る陰影の面積を算出することができる。そのため、操作体の接触面積を検出することができる。さらに、操作体が表示パネルに近づくほど操作体により遮光される光量が多くなることを考慮すると、陰影の面積に基づいて操作体と表示パネルとの間の距離を推定することができる(図85を参照)。
例えば、反射光の強度が大きい部分を陰影にして表現すると、図85のような画像パターンが得られる。操作体の距離が遠い場合には小さな陰影が得られ、操作体の距離が近づくにつれて遮光量が増えるため、陰影の面積が徐々に大きくなる。そのため、陰影の面積を計測することにより、操作体と表示パネルとの間の距離を検知することができる。マルチタッチの場合には複数本の操作体に相当する複数の陰影が得られ、各陰影の面積を計測することにより、各操作体と表示パネルとの間の距離が得られる。
<5:情報処理装置100のハードウェア構成例>
上記の情報処理装置100(100A、100B、100C)が有する各構成要素の機能は、例えば、図86に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図86に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
図86に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
通信部926は、ネットワーク200に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク200は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
<6:まとめ>
最後に、本発明の実施形態に係る技術内容について簡単に纏める。ここで述べる技術内容は、例えば、PC、携帯電話、携帯ゲーム機、携帯情報端末、情報家電、カーナビゲーションシステム等、種々の情報処理装置に対して適用することができる。
上記の情報処理装置の機能構成は次のように表現することができる。当該情報処理装置は、リンク選択部と、データ先読み部と、構造解析部と、第1構造化部と、第2構造化部と、表示制御部と、を主に備える。
リンク選択部は、キー情報による検索の結果が表示されたリンク先の一部を選択する。
データ先読み部は、リンク選択部により選択されたリンク先に存在する、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む表示制御データと、表示画面のレイアウトに関する情報とを、リンク先がユーザ操作によって選択される以前に取得する。
構造解析部は、データ先読み部が表示制御データを取得したリンク先が前記操作体によって選択された場合に、この表示制御データを解析して、当該表示制御データに含まれる構造単位を抽出する。
第1構造化部は、データ先読み部が表示制御データの取得を行ったリンク先がユーザ操作によって選択された場合に、構造解析部により抽出された構造単位のうち、スクリプト処理を伴う表示制御に関する情報が記述された構造単位を除き、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む構造単位を相互に紐付けて、表示制御用の第1構造化データを生成する。
第2構造化部は、データ先読み部が表示制御データを取得したリンク先がユーザ操作によって選択された場合に、構造単位を相互に紐付けて、表示制御用の第2構造化データを生成する。
表示制御部は、第1構造化部により生成された第1構造化データを用いて表示画面を表示し、第2構造化部により第2構造化データが生成された段階で、当該第2構造化データを用いて表示画面を表示しなおす。
かかる構成によれば、スクリプト情報を含む本来の構造化データでの表示画面の表示に先立ち、素早くレイアウトの整ったページを表示することができる。つまり、スクリプト処理の逐次性に起因してページの表示開始が遅れるのを避け、簡易的ではあるが、ある程度見やすいレイアウトで十分な情報を素早くユーザに提示することができる。さらに、ページの制作者が意図する本来のレイアウトを有するページで簡易的なページを差し替えることにより、本来のレイアウトを正確に反映したページをユーザが閲覧できるようになる。その結果、ページの情報を素早く閲覧したいという要望と、本来のレイアウトに基づくページの情報を閲覧したいという要望とを両立させることが可能になる。多くの場合、ユーザが知りたい情報は、上記の簡易的なページにより得られる。しかし、ユーザは、本来制作者が意図した情報の全てが閲覧できているのか不安に思うものである。このような不安は、上記構成にように、制作者の意図を正確に反映させたページをユーザに提示することで払拭される。
(備考)
上記のデータ取得部110は、データ先読み部の一例である。上記の仮DOM生成部131は、第1構造化部の一例である。上記の本DOM生成部132は、第2構造化部の一例である。上記の通信部150は、接続確立部の一例である。上記のノード情報格納部135は、表示履歴格納部の一例である。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
10 Webブラウザ
11 HTMLパーサ
12 DOM
13 スクリプトエンジン
100、100A、100B、100C 情報処理装置
110 データ取得部
120 構造解析部
130 レンダリング部
131 仮DOM生成部
132 本DOM生成部
133 キャッシュメモリ
134 表示制御部
135 ノード情報格納部
140 表示部
150 通信部
160 リンク選択部
170 近接判定部
200 ネットワーク
310、320 Webサーバ
S 光学センサ
TP タッチパネル

Claims (11)

  1. キー情報による検索の結果が表示されたリンク先の一部を選択するリンク選択部と、
    前記リンク選択部により選択されたリンク先に存在する、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む表示制御データと、前記表示画面のレイアウトに関する情報とを、前記リンク先がユーザ操作によって選択される以前に取得するデータ先読み部と、
    前記データ先読み部が前記表示制御データを取得したリンク先が前記操作体によって選択された場合に、前記表示制御データを解析して、当該表示制御データに含まれる構造単位を抽出する構造解析部と、
    前記データ先読み部が前記表示制御データの取得を行ったリンク先が前記ユーザ操作によって選択された場合に、前記構造解析部により抽出された構造単位のうち、スクリプト処理を伴う表示制御に関する情報が記述された構造単位を除き、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む前記構造単位を相互に紐付けて、表示制御用の第1構造化データを生成する第1構造化部と、
    前記データ先読み部が前記表示制御データを取得したリンク先がユーザ操作によって選択された場合に、前記構造単位を相互に紐付けて、表示制御用の第2構造化データを生成する第2構造化部と、
    前記第1構造化部により生成された前記第1構造化データを用いて表示画面を表示し、前記第2構造化部により前記第2構造化データが生成された段階で、当該第2構造化データを用いて表示画面を表示しなおす表示制御部と、
    を備える、情報処理装置。
  2. 前記情報処理装置は、前記リンク先との接続を確立する接続確立部を更に備え、
    前記リンク選択部は、表示画面上の位置を指定するために用いられる位置指定オブジェクトの表示位置から所定範囲内に存在する前記リンク先、表示画面に表示された状態にある前記リンク先、および、所定回数以上選択されている前記リンク先の少なくとも何れかを更に選択し、
    前記接続確立部は、リンク選択部によって更に選択された前記リンク先と、ユーザ操作によって前記リンク先が選択される以前にTCPコネクションを確立する、請求項1に記載の情報処理装置。
  3. 前記リンク選択部は、前記リンク先のうち、当該リンク先への往復遅延時間(Round Trip Time)が所定の閾値以上のものを、TCPコネクションを確立するリンク先として選択する、請求項2に記載の情報処理装置。
  4. 前記リンク選択部は、前記リンク先のドメイン名またはIPアドレスに応じて、TCPコネクションを確立するリンク先として選択するか否かを判断する、請求項3に記載の情報処理装置。
  5. 前記情報処理装置は、前記表示制御データと、当該表示制御データと関連づけられた関連データと、を取得するデータ取得部を更に備え、
    前記データ取得部は、前記第2構造化部からのデータ取得要請よりも、前記第1構造化部からのデータ取得要請を優先して扱う、請求項1に記載の情報処理装置。
  6. 前記接続確立部は、前記リンク先のホストアドレスが確定すると、前記表示制御データの先読みまたは前記TCPコネクションの確立に先立って、前記ホストアドレスに対応するIPアドレスを取得する、請求項2に記載の情報処理装置。
  7. 前記情報処理装置は、前記第1構造化部及び前記第2構造化部の要請により前記データ取得部が取得した前記表示制御データ及び前記関連データが格納されるキャッシュメモリを更に備え、
    前記表示制御部は、前記第2構造化データでの表示に要する前記表示制御データが前記キャッシュメモリに全て格納された時点で、当該キャッシュメモリに格納されたデータに基づき表示を切り替える、請求項6に記載の情報処理装置。
  8. 前記第2構造化部は、前記構造解析部により抽出された構造単位のなかに、スクリプト処理を伴う表示制御に関する情報が記述された構造単位が存在しない場合、前記第2構造化データを生成しない、請求項1に記載の情報処理装置。
  9. 前記情報処理装置は、前記第1構造化データでの表示を行っている際に表示画面に表示している構造単位の履歴を格納する表示履歴格納部を更に備え、
    前記表示制御部は、前記第2構造化データでの表示に切り替える際、前記表示履歴格納部に格納されている表示履歴に基づいて、表示画面に表示する前記構造単位を選択する、請求項1に記載の情報処理装置。
  10. キー情報による検索の結果が表示されたリンク先の一部を選択するステップと、
    前記リンク先の一部を選択するステップにて選択されたリンク先に存在する、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む表示制御データを、前記リンク先がユーザ操作によって選択される以前に取得するステップと、
    ユーザ操作に先立つ表示制御データの取得を行ったリンク先が前記ユーザ操作によって選択される以前に、前記表示制御データを解析して、当該表示制御データに含まれる構造単位を抽出するステップと、
    ユーザ操作に先立つ表示制御データの取得を行ったリンク先が前記ユーザ操作によって選択される以前に、前記構造単位を抽出するステップにて抽出された構造単位のうち、スクリプト処理を伴う表示制御に関する情報が記述された構造単位を除き、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む前記構造単位を相互に紐付けて、表示制御用の第1構造化データを生成するステップと、
    ユーザ操作に先立つ表示制御データの取得を行ったリンク先が前記ユーザ操作によって選択された場合に、前記構造単位を相互に紐付けて、表示制御用の第2構造化データを生成するステップと、
    前記第1構造化データを生成するステップにて生成された前記第1構造化データを用いて表示画面を表示するステップと、
    前記第2構造化データが生成された段階で、当該第2構造化データを用いて表示画面を表示しなおすステップと、
    を含む、データ取得方法。
  11. コンピュータに、
    キー情報による検索の結果が表示されたリンク先の一部を選択するリンク選択機能と、
    前記リンク選択機能により選択されたリンク先に存在する、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む表示制御データを、前記リンク先がユーザ操作によって選択される以前に取得するデータ先読み機能と、
    前記データ先読み機能が前記表示制御データの取得を行ったリンク先が前記ユーザ操作によって選択される以前に、前記表示制御データを解析して、当該表示制御データに含まれる構造単位を抽出する構造解析機能と、
    前記データ先読み機能が前記表示制御データの取得を行ったリンク先が前記ユーザ操作によって選択される以前に、前記構造解析機能により抽出された構造単位のうち、スクリプト処理を伴う表示制御に関する情報が記述された構造単位を除き、表示画面のレイアウトに関する情報が記述された構造単位を少なくとも含む前記構造単位を相互に紐付けて、表示制御用の第1構造化データを生成する第1構造化機能と、
    前記データ先読み機能が前記表示制御データを取得したリンク先がユーザ操作によって選択された場合に、前記構造単位を相互に紐付けて、表示制御用の第2構造化データを生成する第2構造化機能と、
    前記第1構造化機能により生成された前記第1構造化データを用いて表示画面を表示し、前記第2構造化機能により前記第2構造化データが生成された段階で、当該第2構造化データを用いて表示画面を表示しなおす表示制御機能と、
    を実現させるためのプログラム。
JP2009216286A 2009-09-17 2009-09-17 情報処理装置、データ取得方法及びプログラム Expired - Fee Related JP5316338B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009216286A JP5316338B2 (ja) 2009-09-17 2009-09-17 情報処理装置、データ取得方法及びプログラム
EP10173497A EP2320336A3 (en) 2009-09-17 2010-08-20 Information processing apparatus, data acquisition method, and program
US12/871,470 US8478882B2 (en) 2009-09-17 2010-08-30 Information processing apparatus, data acquisition method, and program
CN2010102809385A CN102024012B (zh) 2009-09-17 2010-09-10 信息处理设备、数据获取方法、以及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009216286A JP5316338B2 (ja) 2009-09-17 2009-09-17 情報処理装置、データ取得方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011065490A JP2011065490A (ja) 2011-03-31
JP5316338B2 true JP5316338B2 (ja) 2013-10-16

Family

ID=43585685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009216286A Expired - Fee Related JP5316338B2 (ja) 2009-09-17 2009-09-17 情報処理装置、データ取得方法及びプログラム

Country Status (4)

Country Link
US (1) US8478882B2 (ja)
EP (1) EP2320336A3 (ja)
JP (1) JP5316338B2 (ja)
CN (1) CN102024012B (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732569B2 (en) 2011-05-04 2014-05-20 Google Inc. Predicting user navigation events
US9769285B2 (en) 2011-06-14 2017-09-19 Google Inc. Access to network content
US8788711B2 (en) 2011-06-14 2014-07-22 Google Inc. Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof
US8745212B2 (en) 2011-07-01 2014-06-03 Google Inc. Access to network content
US8650139B2 (en) 2011-07-01 2014-02-11 Google Inc. Predicting user navigation events
US8744988B1 (en) 2011-07-15 2014-06-03 Google Inc. Predicting user navigation events in an internet browser
US8655819B1 (en) 2011-09-15 2014-02-18 Google Inc. Predicting user navigation events based on chronological history data
US9104664B1 (en) 2011-10-07 2015-08-11 Google Inc. Access to search results
US9584579B2 (en) 2011-12-01 2017-02-28 Google Inc. Method and system for providing page visibility information
US20130179844A1 (en) * 2012-01-06 2013-07-11 Mirko Mandic Input Pointer Delay
US8793235B2 (en) 2012-01-19 2014-07-29 Google Inc. System and method for improving access to search results
US9946792B2 (en) 2012-05-15 2018-04-17 Google Llc Access to network content
US8887239B1 (en) 2012-08-08 2014-11-11 Google Inc. Access to network content
US20140053064A1 (en) 2012-08-16 2014-02-20 Qualcomm Incorporated Predicting the usage of document resources
US9898445B2 (en) 2012-08-16 2018-02-20 Qualcomm Incorporated Resource prefetching via sandboxed execution
JP2015207027A (ja) * 2012-08-31 2015-11-19 パナソニック株式会社 ウェブページキャッシュ装置、ウェブページキャッシュ方法、プログラム、および集積回路
CN102855318B (zh) * 2012-08-31 2015-05-27 北京搜狗信息服务有限公司 网页预加载方法与系统
US9141722B2 (en) 2012-10-02 2015-09-22 Google Inc. Access to network content
EP2924392A4 (en) * 2012-11-21 2016-08-03 Clarion Co Ltd INFORMATION PROCESSING DEVICE AND NAVIGATOR CONTROL METHOD
JP6057764B2 (ja) * 2013-02-18 2017-01-11 三菱電機株式会社 コンテンツ閲覧装置
US9164609B2 (en) * 2013-03-13 2015-10-20 Amazon Technologies, Inc. Managing sensory information of a user device
WO2014155663A1 (ja) * 2013-03-29 2014-10-02 楽天株式会社 データ提供装置、データ提供方法及びデータ提供プログラム
US10778680B2 (en) * 2013-08-02 2020-09-15 Alibaba Group Holding Limited Method and apparatus for accessing website
CN103488480A (zh) * 2013-09-09 2014-01-01 百度在线网络技术(北京)有限公司 一种页面显示方法及系统
US8924850B1 (en) * 2013-11-21 2014-12-30 Google Inc. Speeding up document loading
WO2015079527A1 (ja) * 2013-11-28 2015-06-04 楽天株式会社 情報処理装置、情報処理方法及び情報処理プログラム
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
US10417317B2 (en) 2015-07-27 2019-09-17 Adp, Llc Web page profiler
US10324600B2 (en) * 2015-07-27 2019-06-18 Adp, Llc Web page generation system
US10742764B2 (en) 2015-07-27 2020-08-11 Adp, Llc Web page generation system
US10643023B2 (en) * 2015-09-25 2020-05-05 Oath, Inc. Programmatic native rendering of structured content
CN105597323A (zh) * 2015-12-25 2016-05-25 北京像素软件科技股份有限公司 一种网络游戏中地形变化的实现方法及系统
US10165071B2 (en) * 2016-01-15 2018-12-25 Google Llc Client-side activity monitoring
CN107015994B (zh) * 2016-01-28 2020-11-24 创新先进技术有限公司 网页内容获取方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055569A (en) * 1998-01-27 2000-04-25 Go Ahead Software Inc. Accelerating web access by predicting user action
US6993591B1 (en) * 1998-09-30 2006-01-31 Lucent Technologies Inc. Method and apparatus for prefetching internet resources based on estimated round trip time
US7353276B2 (en) * 2003-02-13 2008-04-01 Microsoft Corporation Bi-directional affinity
JP2004280405A (ja) 2003-03-14 2004-10-07 Sony Corp 情報提供システム及び情報提供方法、並びにコンピュータ・プログラム
US20060069618A1 (en) * 2004-09-27 2006-03-30 Scott Milener Method and apparatus for enhanced browsing
US8732234B2 (en) * 2005-06-07 2014-05-20 Yahoo! Inc. Providing relevant non-requested content to a mobile device
US20070067305A1 (en) * 2005-09-21 2007-03-22 Stephen Ives Display of search results on mobile device browser with background process
CN101042695A (zh) * 2006-03-20 2007-09-26 腾讯科技(深圳)有限公司 一种搜索结果页面缩略显示方法及系统
JP2007272742A (ja) * 2006-03-31 2007-10-18 Ntt Docomo Inc 通信端末及び通信方法
US20070299985A1 (en) * 2006-06-27 2007-12-27 Craig Jeremy S Systems and methods for template based website construction
WO2008078684A1 (ja) * 2006-12-25 2008-07-03 Access Co., Ltd. ネットワークシステム
JP4901534B2 (ja) * 2007-03-02 2012-03-21 株式会社デンソー 情報通信システム、施設側装置、ユーザ側装置、状態検出装置、更新装置、施設側装置用プログラム、ユーザ側装置用プログラム、状態検出装置用プログラム及び更新装置用プログラム
US20080301300A1 (en) * 2007-06-01 2008-12-04 Microsoft Corporation Predictive asynchronous web pre-fetch
US9083722B2 (en) * 2007-10-05 2015-07-14 Qualcomm Incorporated Session initiation protocol registration with ping
US9003050B2 (en) * 2008-04-11 2015-04-07 Mobitv, Inc. Distributed and scalable content streaming architecture

Also Published As

Publication number Publication date
US8478882B2 (en) 2013-07-02
EP2320336A3 (en) 2012-01-18
US20110066732A1 (en) 2011-03-17
JP2011065490A (ja) 2011-03-31
CN102024012B (zh) 2013-05-15
EP2320336A2 (en) 2011-05-11
CN102024012A (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
JP5316338B2 (ja) 情報処理装置、データ取得方法及びプログラム
US8504695B2 (en) Information processing apparatus, data acquisition method, and program
EP2312469B1 (en) Information processing apparatus, data display method, and program
US11809511B2 (en) Speeding up document loading
AU2009287454B2 (en) New tab pages and bookmark toolbars in a browser
US8943275B1 (en) Differential storage and eviction for information resources from a browser cache
EP2500834A1 (en) Method and System for Transferring Application Program Settings Between Applications
JP2011108102A (ja) ウェブサーバ、ウェブブラウザおよびウェブシステム
JP5793601B2 (ja) 自動スクロール実行システムおよび方法
US20130305136A1 (en) Flip Ahead Input for Content Navigation
US20110126113A1 (en) Displaying content on multiple web pages
EP3043251A1 (en) Method of displaying content and electronic device implementing same
WO2018137470A1 (zh) 用户终端及网页图片资源加载装置与方法、存储介质
JP7206863B2 (ja) 表示制御方法、装置、及びプログラム
US20100174986A1 (en) Apparatus and method for moving to previous website in web browser
JP6142620B2 (ja) 表示変更プログラム、表示変更方法及び表示変更装置
JP6091231B2 (ja) 情報処理装置、コンピュータプログラム
JP2000057078A (ja) 画面の表示方法及び記憶媒体
JP2011253301A (ja) ウェブサイト閲覧システム、サーバ及びサーバ用プログラム
JP2017068715A (ja) コンテンツ提供プログラム及びコンテンツ提供方法
KR20150077707A (ko) 미디어 콘텐츠를 디스플레이할 수 있는 전자 장치, 방법, 및 컴퓨터 판독 가능 저장 매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130531

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130624

LAPS Cancellation because of no payment of annual fees