JP2021071790A - 情報処理装置、情報処理方法、およびプログラム - Google Patents
情報処理装置、情報処理方法、およびプログラム Download PDFInfo
- Publication number
- JP2021071790A JP2021071790A JP2019196581A JP2019196581A JP2021071790A JP 2021071790 A JP2021071790 A JP 2021071790A JP 2019196581 A JP2019196581 A JP 2019196581A JP 2019196581 A JP2019196581 A JP 2019196581A JP 2021071790 A JP2021071790 A JP 2021071790A
- Authority
- JP
- Japan
- Prior art keywords
- layout
- content
- image
- information
- web page
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【課題】サーバとシンクライアント端末間のような情報処理装置間のデータ通信量の削減を可能にする。【解決手段】情報処理装置(500)は、ウェブページが外部コンテンツへの参照を含む場合に、外部コンテンツを除いたウェブページを描画する描画手段(502)と、描画手段(502)が描画した画像を送信する画像送信手段(503)と、ウェブページのレイアウト情報を送信するレイアウト送信手段(505)と、外部コンテンツを取得して送信するコンテンツ送信手段(506)と、を有する。【選択図】図5
Description
本発明は、ウェブページを描画する際の情報処理技術に関する。
従来、ユーザは、ウェブ(Web)ブラウザを用いることによって、ウェブサイトの閲覧、オンラインショッピング、文書作成、写真管理、チャットやビデオによるオンラインコミュニケーション、複数人参加型のゲームをプレイすることができる。ウェブブラウザは、パーソナルコンピュータに限らず、携帯電話機などのモバイル機器などの、様々な情報処理装置にも搭載されており、外出先におけるウェブブラウジングも一般的になっている。
ユーザがウェブブラウザに対してウェブサイト閲覧を指示すると、ウェブブラウザは、HTTP通信やHTTPS暗号通信を用いて、ウェブサーバからHTML・JavaScript(登録商標)・CSSなどのウェブコンテンツを取得する。近年では、従来のHTTP通信を高速化するHTTP2プロトコル、ウェブサーバとの双方向性通信を可能にするウェブソケット(WebSocket)プロトコルを活用したウェブサービスも普及しつつある。
また、ウェブブラウザの描画処理を高速化するために、クラウドサーバ上にクラウドブラウザ(Cloud Browser)サーバと呼ばれるウェブブラウザの描画用のサーバを設置したサービスがある。サービス提供者は、専用クライアントアプリ(アプリケーションプログラム)を提供し、描画サーバで描画されたウェブコンテンツの描画画像を、クライアントアプリに転送することによって、ウェブコンテンツをリモート表示することができる。描画サーバがシンクライアント端末のアプリに描画結果をリモート表示する際には、RFB(Remote Framebuffer)プロトコルを用いたVNC(Virtual Network Computing)を用いることが一般的である。
また、描画サーバの描画結果やウェブコンテンツに含まれる音データを、複数のシンクライアント端末毎に分割送信する技術がある。シンクライアント端末に関する技術としては、複数ディスプレイを組み合わせた大型テレビジョンシステムがある(特許文献1参照)。またウェブコンテンツに含まれるメニュー画面をサーバ側で描画し、ウェブコンテンツに含まれるビデオコンテンツに関する技術としてはクライアント端末が直接ビデオコンテンツをストリーム受信するものがある(特許文献2参照)。
描画サーバにおいてVNCのようなリモート表示技術が用いられる場合、画像等をインターネットから逐次取得・表示する過程において、VNCは、変化の発生した領域の画像をタイル単位で送信する。このため、サーバとシンクライアント端末間のデータ通信量(情報処理装置間のデータ通信量)が増加する。このような情報処理装置間のデータ通信量の増加は、リモート表示処理の速度を低下させるため、ユーザによるウェブコンテンツ閲覧体験の低下を招くことになる。
そこで本発明は、サーバとシンクライアント端末間のような情報処理装置間のデータ通信量の削減を可能にすることを目的とする。
本発明の情報処理装置は、ウェブページが外部コンテンツへの参照を含む場合に、前記外部コンテンツを除いた前記ウェブページを描画する描画手段と、前記描画手段が描画した画像を送信する画像送信手段と、前記ウェブページのレイアウト情報を送信するレイアウト送信手段と、前記外部コンテンツを取得して送信するコンテンツ送信手段と、を有することを特徴とする。
本発明によれば、サーバとシンクライアント端末間のような情報処理装置間のデータ通信量の削減が可能となる。
以下、実施形態を、添付の図面に基づいて詳細に説明する。なお、以下の実施形態は本発明を必ずしも限定するものではない。
<第1の実施形態>
図1(a)は、第1の実施形態に係る情報処理装置を含むシステムの概要を示した構成図である。図1(a)において、デジタルカメラ103とスマートフォン105は、ローカルエリアネットワーク(LAN)102に接続されている。また、LAN102には、パーソナルコンピュータ(PC)101とプリンタ104とが接続されている。本実施形態のシステムでは、情報処理装置の一例であるスマートフォン105が描画サーバとしての機能を有し、また情報処理装置の一例であるデジタルカメラ103がシンクライアント端末としての機能を有しているとする。したがって、本実施形態のシステムの場合、デジタルカメラ103は、スマートフォン105が有する描画サーバ機能によって描画された結果の画像データを受信可能となっている。また、図1(a)の例では、PC101が、外部リソースを保持している外部サーバとしての機能を有しているとする。なお、これら各情報処理装置が接続されるネットワークはLANに限定されるものではなく、WAN(ワイドエリアネットワーク)、インターネット等であってもよく、また、各機器とネットワークとの接続は有線・無線のいずれであってもよい。
<第1の実施形態>
図1(a)は、第1の実施形態に係る情報処理装置を含むシステムの概要を示した構成図である。図1(a)において、デジタルカメラ103とスマートフォン105は、ローカルエリアネットワーク(LAN)102に接続されている。また、LAN102には、パーソナルコンピュータ(PC)101とプリンタ104とが接続されている。本実施形態のシステムでは、情報処理装置の一例であるスマートフォン105が描画サーバとしての機能を有し、また情報処理装置の一例であるデジタルカメラ103がシンクライアント端末としての機能を有しているとする。したがって、本実施形態のシステムの場合、デジタルカメラ103は、スマートフォン105が有する描画サーバ機能によって描画された結果の画像データを受信可能となっている。また、図1(a)の例では、PC101が、外部リソースを保持している外部サーバとしての機能を有しているとする。なお、これら各情報処理装置が接続されるネットワークはLANに限定されるものではなく、WAN(ワイドエリアネットワーク)、インターネット等であってもよく、また、各機器とネットワークとの接続は有線・無線のいずれであってもよい。
図1(b)は、本実施形態に係るスマートフォン105とデジタルカメラ103とにおいて、共通している構成を示したブロック図である。図1(b)の構成以外の、一般的なスマートフォン105が備えている他の構成と、同じく一般的なデジタルカメラ103が備えている他の構成の図示は省略している。
図1(b)において、CPU111は、システム制御部であり、装置全体を制御する。ROM112は、CPU111の制御プログラムや各種固定データを格納するものである。RAM113は、SRAM、DRAMなどで構成され、プログラム制御変数などを格納するためのものである。また、各種設定パラメータ、各種ワーク用バッファデータ等もRAM113に格納されるものである。記憶部114はハードディスクなどで構成され、画像データなど各種メディアファイルを格納するためのものである。CPU111の制御プログラムや各種固定データ等は、記憶部114に格納されていてもよい。操作部115はボタンやタッチパネルで構成され、オペレータが各種入力操作を行うためのものである。表示部116は、画像や操作メニューを表示装置の画面上に表示する。LAN i/f117は、LAN回線118に接続するためのインタフェースである。USB i/f119は、USB回線120に接続するためのインタフェースである。
図1(b)において、CPU111は、システム制御部であり、装置全体を制御する。ROM112は、CPU111の制御プログラムや各種固定データを格納するものである。RAM113は、SRAM、DRAMなどで構成され、プログラム制御変数などを格納するためのものである。また、各種設定パラメータ、各種ワーク用バッファデータ等もRAM113に格納されるものである。記憶部114はハードディスクなどで構成され、画像データなど各種メディアファイルを格納するためのものである。CPU111の制御プログラムや各種固定データ等は、記憶部114に格納されていてもよい。操作部115はボタンやタッチパネルで構成され、オペレータが各種入力操作を行うためのものである。表示部116は、画像や操作メニューを表示装置の画面上に表示する。LAN i/f117は、LAN回線118に接続するためのインタフェースである。USB i/f119は、USB回線120に接続するためのインタフェースである。
ここで本実施形態の詳細説明を行う前に、ウェブ(Web)サーバから取得されるHTMLページ、一般的なウェブブラウザによるウェブコンテンツの描画処理の手順、ウェブコンテンツの表示、VNCサーバにて転送される画面について一例を挙げて説明する。
図2(a)は、ウェブサーバから取得されるHTMLページの一例を示した図である。図2(a)の例の場合、クライアント端末においてHTMLのimg要素を用いて外部の画像ファイルが指定されることで、ユーザは、画像データを含むウェブコンテンツを閲覧することができる。
図2(a)は、ウェブサーバから取得されるHTMLページの一例を示した図である。図2(a)の例の場合、クライアント端末においてHTMLのimg要素を用いて外部の画像ファイルが指定されることで、ユーザは、画像データを含むウェブコンテンツを閲覧することができる。
図2(b)は、一般的なウェブブラウザによる、ウェブコンテンツの描画処理の手順を示した図である。まずウェブブラウザは、HTML201を受信すると、HTMLパーサ202を用いてマークアップに含まれる要素や属性を逐次解析処理する。ウェブブラウザは、解析結果を、開始タグ、終了タグ、要素内容などのイベント毎に取得し、ツリー構造のDOM(Document Object Model)ツリー203をRAM上に逐次構築していく。またウェブブラウザは、HTMLから参照しているCSS(Cascading Style Sheets)204を、CSSパーサ205を用いて解析する。さらに、ウェブブラウザは、HTML201の各GUI(Graphical User Interface)部品の装飾情報であるスタイルルール206をRAM上に構築する。次に、ウェブブラウザは、構築したDOMにスタイルルール206を適用することによって、DOMとは別に、レンダーツリー207と呼ばれるツリー構造の描画データを作成する。そして、ウェブブラウザは、レンダーツリー207の描画データを基に、各HTMLコンテンツの配置を決定するレイアウト処理208を行う。その後、ウェブブラウザは、描画部209として、レイアウト処理208を行ったレンダーツリー207を、ウェブブラウザの画面表示に用いるバッファ領域であるサーフェスに描画する描画処理を行う。
これにより、図3に示すように、クライアント端末の画面のウェブブラウザ描画領域300には、文字や、外部リソースを参照した外部コンテンツの画像301,302を含んだウェブページが表示され、ユーザはそれらを閲覧可能になる。ここで、ユーザによるテキストフィールドへの文字入力、JavaScriptやCSSによるアニメーションが発生した場合、ウェブブラウザは、DOMツリー203を更新する。そして、ウェブブラウザは、レンダーツリー207に対して再度レイアウト処理208を行い、サーフェスに再描画する。この再レイアウト処理が例えば30フレーム/秒(fps)で逐次繰り返されることによって、ユーザは、自然なアニメーション表現で、ウェブページを閲覧することが可能になる。なお、本実施形態において、ウェブページは、W3C(World Wide Web Consortium)で策定されたHTML(HyperText Markup Language)形式で記述されているとする。
図4は、VNCサーバによって転送される画面の一例を示した図である。VNCは、転送する表示画面を予め決めた一定のサイズのタイル領域毎に分割する。そして、VNCは、予め決めた一定時間間隔で、差分の発生したタイル領域のみをVNCクライアントとなるシンクライアント端末に送信する。図4は、ユーザが例えば8月のアルバム400の写真401を閲覧している際に、画面操作によって9月のアルバム410にページ遷移する場合を例示している。この図4の例の場合、VNCサーバは、ピクセルデータに変化の発生したタイル領域単位の部分画像411,412(つまり差分の発生したタイル領域の画像)のみを、シンクライアント端末に分割送信する。なお、部分画像411では文字情報が変化し、部分画像412では、写真が写真401から写真413に変化することで差分が生じる。このような差分領域に絞った画面転送方式が採用されることによって、データの転送量が削減でき、ユーザはVNCサーバ上の画面を円滑にリモート閲覧することができる。ただし描画サーバがVNCのようなリモート表示技術を併用した場合、画像等をインターネットから逐次取得・表示する過程で、VNCは差分の発生した領域の画像をタイル領域単位で送信するので、サーバとシンクライアント端末間のデータ通信量が増加する。そして、このようなデータ通信量の増加は、リモート表示処理の速度を低下させるため、ユーザによるウェブコンテンツ閲覧体験の低下を招くことになる。
そこで、本実施形態のシステムにおいて、描画サーバは、描画処理前に生成したレイアウト情報のみをシンクライアント端末に送信し、外部リソースとして参照する画像等の外部コンテンツについてはサーバ側でレイアウトして描画するようなことを行わない。そして、描画サーバは、取得した外部コンテンツのデータを、逐次シンクライアント端末に送信し、シンクライアント端末は、予め受信したレイアウト情報に基づいて、それら外部コンテンツの画像等を表示部に描画する。すなわち、図1(a)及び図1(b)に示した本実施形態のシステムの場合、描画サーバとして機能するスマートフォン105は、描画前に生成したレイアウト情報を、シンクライアント端末として機能するデジタルカメラ103に予め送信する。その後、スマートフォン105は、外部サーバとしてのPC101から取得した外部リソースのデータを逐次デジタルカメラ103に送信する。デジタルカメラ103は、予め受信したレイアウト情報に基づいて、スマートフォン105から外部リソースとして参照されて転送されてきた外部コンテンツの画像等を配置して(レイアウトして)表示する。なお、レイアウト情報の詳細は後述する。
以下、本実施形態に係る描画サーバの描画処理において、描画前に生成したレイアウト情報のみをシンクライアント端末に送信し、画像のような外部コンテンツについてはシンクライアント端末が直接描画する手順について詳細に説明する。
図5(a)は、描画サーバ500(本実施形態の場合は前述したスマートフォン105)、および、シンクライアント端末510(本実施形態の場合はデジタルカメラ103)の本実施形態に係る詳細な機能構成の一例を示した図である。
図5(a)は、描画サーバ500(本実施形態の場合は前述したスマートフォン105)、および、シンクライアント端末510(本実施形態の場合はデジタルカメラ103)の本実施形態に係る詳細な機能構成の一例を示した図である。
描画サーバ500は、解析部501、ベース描画部502、画像送信部503、レイアウト生成部504、レイアウト送信部505、およびコンテンツ送信部506の各機能部を有して構成されている。なお、解析部501とレイアウト生成部504の処理は、ウェブブラウザに含まる機能であってもよいし、ウェブブラウザとは異なる機能として別途設けられてもよい。
シンクライアント端末510は、画像受信部511、レイアウト受信部512、コンテンツ受信部513、および描画部514を有して構成されている。
シンクライアント端末510は、画像受信部511、レイアウト受信部512、コンテンツ受信部513、および描画部514を有して構成されている。
図5(a)の描画サーバ500における各機能部は、例えば図1(b)に示したCPU111が、ROM112あるいは記憶部114に格納されている本実施形態に係るプログラムをRAM113上に展開して実行することにより実現可能である。同様に、図5(a)のシンクライアント端末510における各機能部は、CPU111が、ROM112あるいは記憶部114に格納されている本実施形態に係るプログラムをRAM113上に展開して実行することにより実現可能である。なお、図5(a)の描画サーバ500あるいはシンクライアント端末510の各機能部は、一部がハードウェア構成となされ、残りがプログラムの実行によるソフトウェア構成となされても、あるいは全てがハードウェア構成により実現されてもよい。
描画サーバ500の解析部501は、受信したHTMLを解析する。解析部501によるHTMLの解析結果は、ベース描画部502とレイアウト生成部504に送られ、またレイアウト生成部504を介してコンテンツ送信部506にも送られる。
レイアウト生成部504は、HTMLの解析結果からレイアウト情報を生成して、ベース描画部502とレイアウト送信部505とに送る。
そしてレイアウト送信部505は、レイアウト生成部504から送られてきたレイアウト情報を、シンクライアント端末510に送信する。
レイアウト生成部504は、HTMLの解析結果からレイアウト情報を生成して、ベース描画部502とレイアウト送信部505とに送る。
そしてレイアウト送信部505は、レイアウト生成部504から送られてきたレイアウト情報を、シンクライアント端末510に送信する。
ベース描画部502は、解析部501からの解析結果とレイアウト生成部504からのレイアウト情報とに基づいてHTMLの描画を行い、それをベース描画結果の画像データとして、画像送信部503に送る。
そして、画像送信部503は、ベース描画部502から送られてきたベース描画結果の画像データを、シンクライアント端末510に送信する。
そして、画像送信部503は、ベース描画部502から送られてきたベース描画結果の画像データを、シンクライアント端末510に送信する。
コンテンツ送信部506は、HTMLの解析結果を基に、HTMLにより外部リソースとして外部コンテンツが参照されている場合には、当該参照される外部コンテンツを外部サーバ(本実施形態ではPC101)から取得する。そして、コンテンツ送信部506は、その取得した外部コンテンツを、シンクライアント端末510に送信する。
シンクライアント端末510の画像受信部511は、描画サーバ500の画像送信部503から送信されてきたHTMLのベース描画結果の画像データを受信して描画部514に送る。
レイアウト受信部512は、描画サーバ500のレイアウト送信部505から送信されてきたレイアウト情報を受信して描画部514に送る。
コンテンツ受信部513は、描画サーバ500のコンテンツ送信部506から外部コンテンツが送信されてきた場合には、それを描画部514に送る。
レイアウト受信部512は、描画サーバ500のレイアウト送信部505から送信されてきたレイアウト情報を受信して描画部514に送る。
コンテンツ受信部513は、描画サーバ500のコンテンツ送信部506から外部コンテンツが送信されてきた場合には、それを描画部514に送る。
描画部514は、画像受信部511が受信したベース描画結果の画像とレイアウト受信部512が受信したレイアウト情報とを基に、描画を行って表示部116に表示させる。また、コンテンツ受信部513から外部コンテンツが送信されてきた場合には、描画部514は、その外部コンテンツをも用いて描画を行って表示部116に表示させる。
図5(b)は、描画サーバ500におけるHTMLの解析からレイアウト情報の作成、HTMLのベース描画結果の画像生成、シンクライアント端末への送信までの一連の処理の手順および関連する機能部を表した図である。図5(b)のHTML201、HTMLパーサ202、DOMツリー203、CSS204、CSSパーサ205、スタイルルール206、およびレンダーツリー207は、図2(b)と同様である。
描画サーバ500がHTML201を受け取ると、解析部501は、HTML201を解析した解析結果として、前述の図2(b)で説明した手順によって描画用のレンダーツリー207を生成する。当該レンダーツリー207は、レイアウト生成部504に送られる。
レイアウト生成部504は、レンダーツリー207を用いてレイアウト処理208を行って、HTML201によるウェブコンテンツの文字列や画像等の描画位置を示したレイアウト情報を生成する。そして、当該レイアウト情報は、レイアウト送信部505からシンクライアント端末510に送られる。
また、レイアウト処理208が行われた後のレンダーツリー207は、ベース描画部502に送られる。ベース描画部502は、レイアウト処理後のレンダーツリー207を基に、バッファ領域であるサーフェスに描画を行う。そして、ベース描画部502は、当該描画により得られたベース描画結果の画像データを、画像送信部503に送る。これにより、画像送信部503からは、ベース描画結果の画像データがシンクライアント端末510に送られる。
図6は、前述した描画サーバ500(スマートフォン105)とシンクライアント端末510(デジタルカメラ103)とを含めたシステムと、レイアウト情報610および外部コンテンツの画像611,612の一例を示した図である。なお、図6は、描画サーバ500がインターネット601に接続された例を示している。図6の例は、ユーザが、シンクライアント端末510の表示部116により写真アルバムのウェブコンテンツを閲覧する場合において、外部サーバに写真アルバムの画像データが外部コンテンツとして保存されているユースケースを示したものである。
描画サーバ500とシンクライアント端末510との間の通信方式は、HTTPプロトコルを用いたロングポーリング形式、あるいはウェブソケット(WebSocket)やHTTP/2を用いた双方向通信プロトコルを用いた通信が考えられる。HTTP(RFC2616 Hypertext Transfer Protocol)は、IETF(Internet Engineering Task Force)で策定されたプロトコルである。HTTP/2(RFC7540 Hypertext Transfer Protocol Version 2)とウェブソケット(RFC6455 The WebSocket Protocol)もIETFで策定されたプロトコルである。
図7は、本実施形態における描画サーバ500の処理手順を示したフローチャートである。
描画サーバ500は、図2(a)に示したような内容のHTML201を受け取ると、図5(b)に示された手順の流れに沿って、描画用のレンダーツリー207を生成した後に、図7のフローチャートに示す処理を開始する。
描画サーバ500は、図2(a)に示したような内容のHTML201を受け取ると、図5(b)に示された手順の流れに沿って、描画用のレンダーツリー207を生成した後に、図7のフローチャートに示す処理を開始する。
まずステップS702の処理として、レイアウト生成部504は、レンダーツリー207を用いてレイアウト処理208を行うことにより、HTML201によるウェブコンテンツの文字列や画像等の描画位置を示したレイアウト情報を生成する。
次にステップS703の処理として、ベース描画部502は、レイアウト処理208が行われたレンダーツリー207と、ステップS702で生成されたレイアウト情報とを基に、ベースとなるHTMLの画面を描画(ベース描画結果の画像を生成)する。
図8(a)は、ベースとなるHTMLの画面の描画結果(ベース描画結果)の画像の一例を示した図である。図8(a)に示すように、ベースとなるHTMLの画面の描画結果800は、表示対象となるテキストと、参照される外部コンテンツの画像データの挿入予定領域801,802とを含んだものである。
図8(b)は、レイアウト情報の一例を示した図である。レイアウト情報は、W3Cで策定されたXML(Extensible Markup Language)形式のテキストデータであり、少なくとも、外部コンテンツの識別子と描画座標と描画サイズの情報とを含む。図8(b)の例の場合、レイアウト情報は、layout要素の子要素として任意数のimg要素を持つ。各img要素は、参照する外部コンテンツの画像データのURLを値として持つsrc属性と、その画像データの挿入予定の位置座標および描画サイズを示したxywh属性とを有する。図8(b)の例では、1つ目のimg要素のURLは"8−1.jpg"であり、挿入予定の左上部の位置座標(x,y)が(100,100)で、幅と高さ(描画サイズ)が(600,200)である。なお本実施形態において単位はピクセルとする。また、2つ目のimg要素のURLは"8−2.jpg"であり、挿入予定の左上部の位置座標が(100,350)で、幅と高さが(600,200)である。
次にステップS704に進むと、画像送信部503は、ステップS703において図8(a)のように描画したHTMLの画像データ(ベースとなるHTMLの画面の描画結果800)を、シンクライアント端末510に送信する。また、レイアウト送信部505は、ステップS702で生成されたレイアウト情報を、シンクライアント端末510に送信する。
また、ステップS704において、コンテンツ送信部506は、HTTP通信を用いて、HTMLにおいて参照されている外部コンテンツの画像ファイルなどの取得処理を開始する。
また、ステップS704において、コンテンツ送信部506は、HTTP通信を用いて、HTMLにおいて参照されている外部コンテンツの画像ファイルなどの取得処理を開始する。
次にステップS705に進むと、コンテンツ送信部506は、HTMLにて参照される外部コンテンツの全ての画像データの受信を完了したかどうか判定する。そして、コンテンツ送信部506は、受信未完了の画像データがあると判定した場合にはステップS706に処理を進める。
ステップS706の処理に進むと、コンテンツ送信部506は、HTMLにて参照される外部コンテンツを保持している外部サーバから、タイル領域単位で分割送信されてくる画像データ(部分画像データとする)の受信処理を行う。
そして、コンテンツ送信部506は、ステップS707の処理として、外部サーバからタイル領域単位の部分画像データを取得した際に用いた取得リクエストのURLを、シンクライアント端末510に送信する。
さらに、コンテンツ送信部506は、ステップS708の処理として、外部サーバからタイル領域単位で取得した部分画像データを、シンクライアント端末510に送信、つまり転送する。ステップS708の後、コンテンツ送信部506は、ステップS705に戻る。その後、ステップS705において、外部コンテンツの全ての画像データの受信を完了したと判定された場合、描画サーバ500は、図7のフローチャートの処理を終了する。
図9は、描画サーバ500から受信したHTMLの描画結果とレイアウト情報とに基づいて、シンクライアント端末510が、表示部116にウェブコンテンツを描画するまでの処理手順を示したフローチャートである。
まずステップS902の処理として、シンクライアント端末510では、画像受信部511が、描画サーバ500の画像送信部503から送信されたHTMLのベース描画結果の画像データを受信し、その画像を描画部514が表示部116に表示する。
またステップS903の処理として、レイアウト受信部512は、レイアウト送信部505から送信されてきたXML形式のレイアウト情報を受信して解析する。
次にステップS904の処理として、当該解析されたレイアウト情報に基づいて、コンテンツ受信部513は、描画サーバ500のコンテンツ送信部506から送信(転送)される外部コンテンツの全ての部分画像データの受信が完了したかを判定する。コンテンツ受信部513は、全ての部分画像データの受信が完了していないと判定した場合にはステップS905に処理を進める。
次にステップS904の処理として、当該解析されたレイアウト情報に基づいて、コンテンツ受信部513は、描画サーバ500のコンテンツ送信部506から送信(転送)される外部コンテンツの全ての部分画像データの受信が完了したかを判定する。コンテンツ受信部513は、全ての部分画像データの受信が完了していないと判定した場合にはステップS905に処理を進める。
ステップS905に進むと、コンテンツ受信部513は、受信した部分画像について、コンテンツ送信部506から送信されてきた部分画像データのURLを解析し、ステップS903の解析で得られたレイアウトにおいて該当するimg要素を特定する。さらに、ステップS906において、コンテンツ受信部513は、コンテンツ送信部506から送信(転送)されてきた部分画像の描画サイズを解析する。
次にステップS907に進むと、描画部514は、ステップS902で描画したHTMLのベース描画結果の画像上に、ステップS905で特定されたimg要素に含まれる位置座標とステップS906で解析された描画サイズとを基に部分画像を上書き描画する。
ステップS906の処理後、シンクライアント端末510は、ステップS904に処理を戻す。そして、シンクライアント端末510は、ステップS904においてレイアウト情報に基づいて描画される部分画像データを全て受信したと判定された場合には、図9のフローチャートの処理を終了する。
図10は、描画サーバ500から受信したHTMLのベース描画結果の画像と受信途中の部分画像とが、シンクライアント端末510の表示部116に描画領域1000に表示されている状態の例を示した図である。
図10の例は、外部コンテンツの部分画像データを受信している途中の状態(ロードしている途中の状態)を表しており、外部コンテンツの各画像1001,1002は上部だけが表示されている。外部コンテンツの各画像1001,1002の下部は、データの受信待ちの状態なので空白領域1003,1004となっている。
図10の例は、外部コンテンツの部分画像データを受信している途中の状態(ロードしている途中の状態)を表しており、外部コンテンツの各画像1001,1002は上部だけが表示されている。外部コンテンツの各画像1001,1002の下部は、データの受信待ちの状態なので空白領域1003,1004となっている。
ここで、従来のVNCを併用した構成の場合、外部コンテンツの部分画像をロードしている過程で、ピクセル差分のあった全てのタイル領域の画像が、予め決めた時間間隔のタイミングで、シンクライアント端末に転送される。これに対し、本実施形態の場合は、シンクライアント端末510の受信する画像データは、描画サーバ500が外部サーバから取得した外部コンテンツのデータと同一なので、VNCを併用する従来の構成に比べて、データ通信量を削減することができる。すなわち本実施形態によれば、描画サーバ500が外部リソースとして画像等の外部コンテンツを逐次取得し、シンクライアント端末510で表示等する過程において、描画サーバ500とシンクライアント端末510との間のデータ通信量を削減することができる。このデータ通信量の削減効果は、ウェブコンテンツのリモート表示の速度の向上に寄与するため、ユーザによるウェブコンテンツ閲覧体験が向上する。また、シンクライアント端末510が画像データを受信するタイミングは、描画サーバ500が外部サーバ等から画像を取得したタイミングと概ね同じなので、表示速度が向上する。
<第2の実施形態>
次に、第2の実施形態として、HTML201が外部コンテンツの幅・高さの情報を含まない場合、レイアウト処理208の過程において、外部リソースを先行取得し、そのヘッダから得た情報を基にレイアウト情報を作成する手順について説明する。なお、第2の実施形態におけるシステム構成や描画サーバ500、シンクライアント端末510の構成等は前述の第1の実施形態と同様であるため、それらの図示と説明は省略する。
次に、第2の実施形態として、HTML201が外部コンテンツの幅・高さの情報を含まない場合、レイアウト処理208の過程において、外部リソースを先行取得し、そのヘッダから得た情報を基にレイアウト情報を作成する手順について説明する。なお、第2の実施形態におけるシステム構成や描画サーバ500、シンクライアント端末510の構成等は前述の第1の実施形態と同様であるため、それらの図示と説明は省略する。
図11(a)は、第2の実施形態において、外部リソースにおける外部コンテンツとしての画像データの幅・高さ情報を含まない、すなわち描画サイズ情報を含まない、HTMLページの一例を示した図である。第2の実施形態の場合、解析部501は、HTML201に外部コンテンツの画像データの描画サイズ情報が含まれていない場合、当該画像データの幅・高さを0(ゼロ)とみなして、描画用のレンダーツリー207を作成する。そして、ベース描画部502は、その描画用のレンダーツリー207に基づいてベース描画結果の画像を生成する。
また、レイアウト生成部504は、外部サーバから外部コンテンツが逐次取得されたタイミングで、都度レイアウト情報とレンダーツリー207を更新する。これにより、シンクライアント端末510では、画像が画面の上部から下部方向に向かって描画されることになる。
図11(b)は、第2の実施形態の描画サーバ500における処理手順を示したフローチャートである。
まずステップS1102の処理として、描画サーバ500のレイアウト生成部504は、前述のステップS702と同様にして、HTML201の解析結果に基づいてレイアウト情報を作成する。
まずステップS1102の処理として、描画サーバ500のレイアウト生成部504は、前述のステップS702と同様にして、HTML201の解析結果に基づいてレイアウト情報を作成する。
次にステップS1103の処理として、レイアウト生成部504は、HTML201で参照している外部コンテンツの画像データに対するレイアウトを全て決定したかどうかを判定する。レイアウト生成部504は、外部コンテンツの画像データのレイアウトが未だ全て決定されていない、つまりレイアウトが未確定の画像データがあると判定した場合には、ステップS1104に処理を進める。
ステップS114に進むと、コンテンツ送信部506は、レイアウト生成部504が外部コンテンツにおいてレイアウトが未確定と判定した画像データを外部サーバに要求して、当該要求した画像データを当該外部サーバからHTTP通信によって取得する。
次にレイアウト生成部504は、ステップS1105においてコンテンツ送信部506が外部サーバから取得した画像データのヘッダ領域を解析する。そして、レイアウト生成部504は、ステップS1106において、ヘッダ領域の情報から、当該画像データの幅・高さ情報つまり描画サイズの情報を取得するのサイズ取得処理を行う。
次にレイアウト生成部504は、ステップS1107において、ステップS1106で取得した幅・高さ情報(描画サイズ情報)を基に、ステップS1102で作成したレイアウトに対し、該当する画像データをレイアウト可能にするための更新処理を行う。
ステップS1107の後、描画サーバ500の処理はステップS1103に戻る。そしてステップS1103において外部参照される画像データのレイアウトを全て決定したと判定された場合、描画サーバ500は、図11(b)のフローチャートの処理を終了する。その後、描画サーバ500のレイアウト送信部505からは、当該更新処理後のレイアウト情報が、シンクライアント端末510へ送信されることになる。これにより、シンクライアント端末510では、HTMLのベース描画結果の画像上に外部コンテンツの画像を描画するような画像表示が行われる。
第2の実施形態においても、描画サーバ500が画像等の外部コンテンツを逐次表示する過程で、描画サーバ500とシンクライアント端末510との間のデータ通信量を削減でき、その結果ユーザによるウェブコンテンツ閲覧体験を向上させることができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
500:描画サーバ、501:解析部、502:ベース描画部、503:画像送信部、504:レイアウト生成部、505:レイアウト送信部、506:コンテンツ送信部、510:シンクライアント端末、511:画像受信部、512:レイアウト受信部、513:コンテンツ受信部、514:描画部
Claims (9)
- ウェブページが外部コンテンツへの参照を含む場合に、前記外部コンテンツを除いた前記ウェブページを描画する描画手段と、
前記描画手段が描画した画像を送信する画像送信手段と、
前記ウェブページのレイアウト情報を送信するレイアウト送信手段と、
前記外部コンテンツを取得して送信するコンテンツ送信手段と、
を有することを特徴とする情報処理装置。 - 前記ウェブページを記述した情報を解析する解析手段と、
前記解析手段によって解析された情報から前記ウェブページのレイアウト情報を生成するレイアウト生成手段と、
を有することを特徴とする請求項1に記載の情報処理装置。 - 前記レイアウト情報は、前記外部コンテンツの識別子、前記外部コンテンツの描画座標、前記外部コンテンツの描画サイズ情報を含むことを特徴とする請求項2に記載の情報処理装置。
- 前記ウェブページが前記外部コンテンツの描画サイズ情報を含まない場合には、前記外部コンテンツから描画サイズ情報を取得するサイズ取得手段を有し、
前記レイアウト生成手段は、前記サイズ取得手段が前記外部コンテンツから取得した前記描画サイズ情報を用いて、前記ウェブページの前記レイアウト情報を生成することを特徴とする請求項2または3に記載の情報処理装置。 - 外部コンテンツへの参照を含むウェブページから前記外部コンテンツが除かれた前記ウェブページを描画した画像を、受信する画像受信手段と、
前記ウェブページのレイアウト情報を受信するレイアウト受信手段と、
前記外部コンテンツを受信するコンテンツ受信手段と、
前記画像受信手段が受信した画像と、前記レイアウト受信手段が受信したレイアウト情報と、前記コンテンツ受信手段が受信した外部コンテンツとを用いて、描画する描画手段と、
を有することを特徴とする情報処理装置。 - 情報処理装置が実行する情報処理方法であって、
ウェブページが外部コンテンツへの参照を含む場合に、前記外部コンテンツを除いた前記ウェブページを描画する描画工程と、
前記描画工程で描画した画像を送信する画像送信工程と、
前記ウェブページのレイアウト情報を送信するレイアウト送信工程と、
前記外部コンテンツを取得して送信するコンテンツ送信工程と、
を有することを特徴とする情報処理方法。 - 情報処理装置が実行する情報処理方法であって、
外部コンテンツへの参照を含むウェブページから前記外部コンテンツが除かれた前記ウェブページを描画した画像を、受信する画像受信工程と、
前記ウェブページのレイアウト情報を受信するレイアウト受信工程と、
前記外部コンテンツを受信するコンテンツ受信工程と、
前記画像受信工程で受信した画像と、前記レイアウト受信工程で受信したレイアウト情報と、前記コンテンツ受信工程で受信した外部コンテンツとを用いて、描画する描画工程と、
を有することを特徴とする情報処理方法。 - コンピュータを請求項1から5のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
- ウェブページが外部コンテンツへの参照を含む場合に前記外部コンテンツを除いた前記ウェブページを描画する描画手段と、前記描画手段が描画した画像を第2の情報処理装置へ送信する画像送信手段と、前記ウェブページのレイアウト情報を前記第2の情報処理装置へ送信するレイアウト送信手段と、前記外部コンテンツを取得して前記第2の情報処理装置へ送信するコンテンツ送信手段と、を有する第1の情報処理装置と、
前記画像送信手段から送信された前記ウェブページを描画した画像を受信する画像受信手段と、前記レイアウト送信手段から送信された前記ウェブページのレイアウト情報を受信するレイアウト受信手段と、前記コンテンツ送信手段から送信された前記外部コンテンツを受信するコンテンツ受信手段と、前記画像受信手段が受信した画像と前記レイアウト受信手段が受信したレイアウト情報と前記コンテンツ受信手段が受信した外部コンテンツとを用いて描画する描画手段と、を有する前記第2の情報処理装置と、
を有することを特徴とするシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019196581A JP2021071790A (ja) | 2019-10-29 | 2019-10-29 | 情報処理装置、情報処理方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019196581A JP2021071790A (ja) | 2019-10-29 | 2019-10-29 | 情報処理装置、情報処理方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021071790A true JP2021071790A (ja) | 2021-05-06 |
Family
ID=75713121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019196581A Pending JP2021071790A (ja) | 2019-10-29 | 2019-10-29 | 情報処理装置、情報処理方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021071790A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112022002249T5 (de) | 2021-04-21 | 2024-02-08 | Denso Corporation | Ventilvorrichtung |
-
2019
- 2019-10-29 JP JP2019196581A patent/JP2021071790A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112022002249T5 (de) | 2021-04-21 | 2024-02-08 | Denso Corporation | Ventilvorrichtung |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3732582B1 (en) | Platform-independent application publishing to a personalized front-end interface by encapsulating published content into a container | |
CN107766359B (zh) | 一种将页面内容转换为图片的方法、装置以及计算设备 | |
JP5575511B2 (ja) | ウェブサイト閲覧システム、サーバ及びクライアント端末 | |
US9407728B2 (en) | Content item presentation system | |
JP5885527B2 (ja) | 印刷システム、印刷サーバ、制御方法およびコンピュータプログラム | |
US8717608B2 (en) | Terminal device and method generating print data based on one set of web-page information | |
US10120847B2 (en) | Methods for transforming requests for web content and devices thereof | |
US11611633B2 (en) | Systems and methods for platform-independent application publishing to a front-end interface | |
US10021165B2 (en) | Method of sharing browsing on a web page displayed by a web browser | |
US20110225520A1 (en) | Website browsing system and server | |
US9117314B2 (en) | Information output apparatus, method, and recording medium for displaying information on a video display | |
WO2022048141A9 (zh) | 一种图像处理方法及装置、计算机可读存储介质 | |
US9110962B2 (en) | Data providing apparatus for implementing script, electronic apparatus for implementing script, data processing system for implementing script, and method of data processing for implementing script | |
CN102541836A (zh) | 一种调整版式文件版面的方法及装置 | |
JP2021071790A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
WO2004068723A2 (en) | Method of adaptive data transmission | |
JP2015518612A (ja) | リモートメソッド呼出しによる複数かつ異種のウェブページのスタイリング及び装飾を可能にするコンピュータシステム、非一時的コンピュータ可読記憶媒体及び方法 | |
JP2012079188A (ja) | 体裁情報処理装置及び方法 | |
US9875066B2 (en) | Single action print application creation | |
JP2011077708A (ja) | 中継サーバ装置および通信方法 | |
RU2634221C2 (ru) | Способ и устройство для отрисовки представления электронного документа на экране | |
JP2019079401A (ja) | 生成装置、端末装置、共有ページ生成システム、生成方法、及び制御プログラム | |
JP2005107662A (ja) | Wwwシステム処理方法およびシステム | |
JP6115664B2 (ja) | 情報処理装置及びプログラム | |
JP6442760B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム |