JP5945060B2 - 出力機能分割システム - Google Patents

出力機能分割システム Download PDF

Info

Publication number
JP5945060B2
JP5945060B2 JP2015500239A JP2015500239A JP5945060B2 JP 5945060 B2 JP5945060 B2 JP 5945060B2 JP 2015500239 A JP2015500239 A JP 2015500239A JP 2015500239 A JP2015500239 A JP 2015500239A JP 5945060 B2 JP5945060 B2 JP 5945060B2
Authority
JP
Japan
Prior art keywords
browsing
unit
server
user terminal
application execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015500239A
Other languages
English (en)
Other versions
JPWO2014126069A1 (ja
Inventor
晋一 洞井
晋一 洞井
田中 裕之
裕之 田中
英嗣 小林
英嗣 小林
石塚 美加
美加 石塚
美紀 北端
美紀 北端
啓一郎 柏木
啓一郎 柏木
榑林 亮介
亮介 榑林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of JP5945060B2 publication Critical patent/JP5945060B2/ja
Publication of JPWO2014126069A1 publication Critical patent/JPWO2014126069A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/027Arrangements and methods specific for the display of internet documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、画面表示又は音声などの出力を伴うアプリケーションにおける出力機能分割システムに関する。特に本発明は、Webページをユーザ端末に表示するWebブラウジングシステムに関する。
インターネットの普及に伴い、ユーザはネットワークを介して様々なサービスを利用できるようになっている。メール、ホームページの閲覧、検索、オンライン取引、IP電話、ビデオオンデマンドなどは、その一例である。これらのネットワークサービスは様々な形態で提供し得るが、近年、ユーザとのインタフェースとして、Webブラウザの利用が主流となっている。
当初、WebブラウザによってWebサーバから取得され閲覧されるページ(以下、Webページ)は、HTML(Hyper Text Markup Language)のみによって記述された軽量かつ静的な文書を表示するのみであった。しかし、近年では、スクリプト言語JavaScript(登録商標)やAdobe社が提供するFlashをWebブラウザ上で実行することで、柔軟かつ動的なユーザインタフェースを提供するようになっている。このようなWebページは、リッチインターネットアプリケーションと呼ばれる。更に、標準化団体であるWHATWG(Web Hypertext Application Technology Working Group)およびW3C(World Wide Web Consortium)が標準化を進めるHTML5(HTMLの最新の改訂版)においても高度なマルチメディア機能がサポートされるなど、リッチインターネットアプリケーションは、今後も発展していくと予想される。
リッチインターネットアプリケーションの進展に伴い、Webブラウザには、より高い処理性能が求められている。その一方で、Webブラウザを実行するユーザ端末の多様化も進んでいる。従来は、PC(Personal Computer)上のWebブラウザを用いて、Webページを閲覧することが主流であった。しかし、今日では、計算機の小型化・省電力化・低価格化によって、Webブラウザが様々な形状のユーザ端末に搭載されるようになっている。スマートフォン、スマートテレビ、家庭用ゲーム機などはその典型である。そして、ユーザは、自分自身が置かれている場所・状況に応じて、様々な種類のユーザ端末を使い分けて、Webページにアクセスする。
ユーザ端末の処理性能は、その形状・用途等に応じて大きく異なる。このため、同じWebページを閲覧したとしても、特にリッチインターネットアプリケーションを閲覧する場合において、Webページへのアクセスに用いたユーザ端末によって、ユーザが得られるユーザ体感品質に大きな差が生じる。このため、Webページの提供者は、ユーザ端末の種別に依らず一定のユーザ体感品質を提供するために、ユーザ端末の種類毎にカスタマイズした複数のWebページを用意する等、多大なコストを強いられている。
ここで、Webブラウザの基本的な仕組みについて述べる。ユーザ端末のWebブラウザ97は、図1に示すように、ネットワーク、インターネットを介して、Webサーバ96にHTTPリクエストを送信することで、Webサーバ96からWebページの表示に必要なリソース(HTMLファイル、スタイルシート、画像等のWebページの表示に使用される個々のファイルを指す)を、HTTPレスポンスとして取得する。
ここで、説明のため、URLエントリ部971とWebビュー表示部972の2つから構成される単純なWebブラウザ97を仮定する(図2)。URLエントリ部971は、ユーザが閲覧したいWebページのURL(Uniform Resource Locator)の入力を受け付ける。また、リンクのクリック等によってWebページが遷移した場合に、遷移先のWebページのURLを表示する。一方、Webビュー表示部972は、Webページの画面を表示する。また、ユーザからの操作(マウス操作、タッチパネル操作、キーボード入力、等)を受け付ける。
図2のWebブラウザを仮定した場合の、Webブラウザの基本的な処理の流れを図3に示す。
まず、ユーザは、閲覧したいWebページのURLを、WebブラウザのURLエントリ部971に入力する。ここでは例として、ユーザが入力したURLを、http://www.example.com/index.htmlとする。また、このWebページでは、図4に示すように、上部に小さな画像が3つ、下部に拡大画像が1つ配置されているものとする。そして、ユーザがマウスカーソルを動かし上部の小さな画像に触れると、下部の拡大画像がマウスカーソルで触れた画像に切り替えられる。
Webブラウザ97は、URLエントリ部971からURLを受け取ると、そのURLをリクエスト送信部14に渡す。リクエスト送信部14では、URLに紐づくリソースを取得するため、URLに指定されているWebサーバ96(本例では、www.example.com)に対してHTTPリクエストを送信する。
Webサーバ96はHTTPリクエストを受け取ると、HTTPリクエストのURLが指し示すリソースを、HTTPレスポンスとして送信元のWebブラウザ97に返信する。通常、新しいWebページに遷移した場合は、まずWebサーバ96からHTMLファイルが返される。ここでは、図4のWebページに対応するHTMLファイルとして、図5に示すHTMLファイルが返信されたとする。
Webブラウザ97は、Webサーバ96からHTTPレスポンスを取得すると、それをレスポンス受信部15に渡す。レスポンス受信部15は、HTTPレスポンスからリソースを取り出す。そして、取り出したリソースをリソース記憶部21に格納する。ここでは、まずリソースとして図5のHTMLファイルを得る。
次に、HTML解析部13において、取得したHTMLファイルやスタイルシートを解析する。そして、一般的に、DOM(Document Object Model)と呼ばれるAPIを備えるデータ構造(DOMツリー)が構築される。図5のHTMLファイルから構築されたDOMツリーの具体例を図6に示す。図6に示すように、DOMツリーは、基本的に、HTMLファイルの各要素をノードとするツリー構造となる。また、各ノードには、HTMLファイルの記述に従って、属性値が設定される。HTML解析部13は、構築したDOMツリーをDOMツリー記憶部22に格納する。また、HTMLファイルを解析した結果、Webサーバ96から追加で取得すべきリソースが見つかった場合は、リクエスト送信部14に対してそのリソースのURLを通知し、HTTPリクエストの送信を依頼する。本例では、ページ表示に必要なリソースとして、
http://www.example.com/1.jpg
http://www.example.com/2.jpg
http://www.example.com/3.jpg
を、新たにWebサーバから取得する。
また、HTMLファイルがスクリプトを有しており、かつそのスクリプトの実行条件が満たされているならば、HTML解析部13は、スクリプト評価部12に対して、HTMLファイル内のスクリプトの実行を依頼する。このとき、HTML解析部13は、実行するべきスクリプト(関数と関数に与える引数)を、スクリプト評価部12に渡す。そして、スクリプト評価部12では、DOMツリー記憶部22中のDOMツリーを参照しながら、スクリプトを実行する。スクリプトの実行に伴いDOMツリーを更新する場合は、HTML解析部13にDOMツリーの更新を依頼する。なお、図5のHTMLファイルはスクリプトとして、JavaScript(登録商標)のsetPicture関数を有しているが、その実行条件を「指定され画像にマウスが触れた場合(onmouseoverイベントハンドラ)」としている。ゆえに、現時点では、スクリプトの実行条件を充足しないため、HTML解析部13は、スクリプト評価部12に対するスクリプト実行依頼は実施しない。スクリプトの実行条件を充足した場合の動作は後述する。
また、本例では例示していないが、Webページの提供者は、スタイルシートをリソースとて提供することで、Webビュー上に表示される画面構成(レイアウト)を制御できる。スタイルシートの記述作法とスタイルシートが指定されている場合にWebブラウザがどのように画面を構成すべきかについて、CSS(Cascading Style Sheets)がW3Cによって標準化されている。スタイルシートもHTMLファイルと同様に、HTML解析部13においてDOMツリーに変換され、DOMツリー記憶部22に格納される。
ページ表示に必要となるリソース、およびDOMツリーが揃うと、HTML解析部13は、レイアウト部16にレイアウトを依頼する。レイアウト部16では、DOMツリーを基に、画面のレイアウトを決定する。レイアウト部16では、DOMツリー記憶部22にあるスタイルシートを参照しながら、Webビュー表示部972のどの位置に何を描画すべきかを具体的に決定する。そして、結果をレイアウトデータとして、レイアウトデータ記憶部23に格納する。レイアウトデータの具体例を図7に示す。図7に示すように、レイアウトデータでは、Webビュー上のどの座標にどのような大きさで何を描画すべきかが示される。レイアウトが決定すると、レイアウト部16は描画部17に描画を依頼する。描画部17では、レイアウトデータ記憶部23に格納中のレイアウトデータに基づき、Webビュー表示部972にWebページを描画する。
Webビュー表示部972の画面が更新されると、ユーザはその内容を認識・解釈し、Webビュー表示部972に対して、次の操作(マウス操作、タッチパネル操作、キーボード入力、等)を加える。Webビュー表示部972に対する操作は、操作イベントとして、操作イベント評価部11に通知される。
操作イベント評価部11では、通知されたイベントの種類やイベントが発生したWebビュー表示部972上の位置を評価し、イベントに応じて実施すべき処理を選択する。例えば、ユーザがWebビュー表示部972上のリンクをマウスでクリックした場合は、そのリンクに紐づくURLをリクエスト送信部14に通知することで、次のWebページへの遷移を開始する。また、ユーザがマウスホイールを回転させることでスクロールを指示した場合は、操作イベント評価部11は、レイアウト部16にスクロール幅を通知し、レイアウトの更新を依頼する。
また図5のHTMLファイルの例では、前述したように、中段の小さな3つの画像にonmouseoverイベントハンドラがセットされている。ゆえに、操作イベント評価部11は、マウスカーソルがWebビュー表示部972上を移動する度に、その位置を評価する。そして、マウスカーソルが上部の小さい画像に触れた場合は、その画像のURLを引数として、HTMLファイル内のJavaScript(登録商標)関数setPicture()の実行を、スクリプト評価部12に依頼する。スクリプト評価部12がsetPicture()を実行し、HTML解析部13に対して、下部の大きな画像のsrc属性をマウスカーソルが触れた画像のURLに書き換えるよう指示する。HTMLファイル解析部は、スクリプト評価部12からの指示に従って、DOMツリーを更新する。図8に、マウスカーソルが真ん中の画像(./2.jpg)に触れた場合の、DOMツリーの更新結果を示す。図8に示すように、下部の画像のsrc属性が触れた画像のURLである「./2.jpg」に書き換えられている。DOMツリーの更新は、レイアウト部16に伝えられ、レイアウトデータに反映される(すなわち本例では、図7の下部の拡大画像の「画像=./1.jpg」が「画像=./2.jpg」に書き換えられる)。そして、レイアウト部から描画部17に対して描画を依頼することで、Webビュー表示部972の下部に、触れた画像(本例では./2.jpg)の拡大画像が表示される。
Webブラウザの操作における、ユーザ体感品質を向上させるためには、操作イベントの生起からWeb画面表示に対する画面描画まで(図9の破線矢印のフロー)の応答時間の短縮が求められる。例えば、Webブラウザの処理によるフレーム遅延をなくすためには、秒間60フレームを描画するユーザ端末ならば応答時間を17ミリ秒以下に抑えることが必要となる。また、Jakob Nielsenによれば、ユーザに「直接操作している」という感覚を提供するならば、応答時間は100ミリ秒が上限となり、また、「コントロールしている」という感覚を提供するならば、応答時間は1秒が上限となる(例えば、非特許文献6参照。)。しかし、リッチインターネットアプリケーションを想定した場合、スクリプトや画面構成が複雑化するため、上記のフローのうち特にスクリプト評価部12、及びレイアウト部16が高負荷となる。更に、連続的にイベントが生起するようになるため、これらのスクリプト評価部12及びレイアウト部16を繰り返し実行する必要がある。その結果、低スペックのユーザ端末では、これらの処理部が処理性能上のボトルネックとなり、処理待ちのイベントが蓄積する。そして、応答時間が著しく悪化したり、操作が無視されたりする、といった問題を引き起こす。
ネットワーク上のリソースを活用することで、Webブラウジングのユーザ体感品質を高める技術として、CDN(Content Delivery Network)に代表される、キャッシュ技術がある(例えば、特許文献1参照。)。キャッシュ技術は、本来Webサーバにあるリソースを、ネットワーク上のキャッシュサーバに分散配置する。そして、DNS(Domain Name Server)等を利用して、Webブラウザ97からのWebサーバ96へのアクセスを、最寄りのキャッシュサーバに誘導し、キャッシュサーバから該当のリソースを代理応答させる。キャッシュ技術は、URLの入力から画面表示されるまでの応答時間を短縮(図10の破線矢印のフロー)させるという効果を有する。しかし、リッチインターネットアプリケーションを想定した場合に求められる、操作イベントの生起から画面表示まで(図9の破線矢印のフロー)の応答時間の短縮には寄与しない。
また、ネットワーク中で、Webページをユーザ端末の種別に即した軽量なフォーマットに変換する技術がある。例えば、携帯端末からWebページを閲覧するためのプロトコルとしてWAP(Wireless Application Protocol)がある(例えば、非特許文献1参照。)。携帯端末では、CPUの処理能力、メモリ容量が共に小さく、また、インターネットとの接続も不安定となる。そこでWAPでは、まずWML(Wireless Markup Language)と呼ばれる独自のマークアップ言語を用いてWebページを記述する。そして、携帯端末の処理負荷・通信量を軽減するため、Webサーバ96と携帯端末の間に位置するゲートウェイにて、WMLで書かれたWebページをバイナリ形式に変換し、携帯端末に送信する。また、HTMLで記述された通常のWebページを非力な携帯端末でより快適に閲覧すること目的としたWebブラウザとして、Opera社のOpera Miniがある。Opera Miniでは、インターネット上のプロキシサーバにおいてWebページを携帯端末向けに再フォーマット・圧縮し、OBML(Opera Binary Markup Language)と呼ばれるマークアップ言語を用いてWebブラウザ97に送信する。
これらのフォーマット変換技術は、通信量の削減によるダウンロード時間の短縮や、新規ページ遷移時の「HTML解析部13」「レイアウト部16」における処理負荷を軽減させる。しかし、リッチインターネットアプリケーションのボトルネックである、操作イベントの生起に伴うスクリプト評価部12やレイアウト部16におけるレイアウトの再評価は、依然としてユーザ端末上で実施する必要があり、その処理負荷の軽減に寄与しない。
また、図11に示すように、スクリプト評価部12をWebサーバ96上でリモート実行する手法が折戸によって提案されている(例えば、非特許文献2参照。)。折戸による提案は、まず、Webサーバ96からWebブラウザ97に対してHTMLファイルを返却する際に、HTMLファイルに記載されるJavaScript(登録商標)関数をWebサーバ96に設けたスクリプト評価部12に登録する。次に、HTMLファイル内の各要素に記載されているイベントハンドラを、Webサーバ96上のスクリプト評価部12に登録したJavaScript(登録商標)関数をリモート実行するスクリプトに書き換える。これにより、ユーザがWebブラウザ97を操作すると、書き換えられたスクリプトが実行され、Webサーバ96上で対となるJavaScript(登録商標)関数がWebサーバ96のスクリプト評価部12で評価される。スクリプト評価した結果は、HTMLファイルとしてユーザ端末に返される。ユーザ端末のWebブラウザ97は、受信したHTMLファイルを解析し、結果となる画面を描画する。
折戸の提案では、ユーザ端末のWebブラウザ97において、スクリプト評価に要する負荷が軽減されるという利点がある。その一方で、イベントが生起する度に、ユーザ端末において、「JavaScript(登録商標)を用いたリモート呼び出し、結果HTMLファイルの受信、DOMツリーの再構築、再レイアウト、描画」、という一連の処理を実行する必要があり、必ずしてもユーザ端末全体として負荷が軽減されるとは限らない。また、ユーザ端末とWebサーバ間の通信遅延によって、イベント生起から画面描画までの応答時間も増加する。この結果、特に連続的に操作イベントが生起するリッチインターネットアプリケーションへの適用が難しいという課題がある。
米国特許6,108,703号公報
http://www.openmobilealliance.org/Technical/wapindex.aspx 折戸、岩崎、"ブラウザで動作するウェブアプリケーションのソースコード隠蔽機構" 情報処理学会論文誌 プログラミング vol. 3 No.4 Sep. 2010. http://www.cairographics.org/ http://docs.oracle.com/javase/jp/6/api/java/awt/Graphics.html http://www.w3.org/TR/CSS2/visuren.html#propdef−position http://www.useit.com/papers/responsetime.html http://asatani.cc.kogakuin.ac.jp/achievement/2008/NSyokou_takita_090209.pdf http://www.cisco.com/cisco/web/support/JP/100/1008/1008129_ttcp−j.html
前記課題を解決するために、本発明は、処理性能が異なるデバイスからのアクセスであっても、同等のユーザ体感品質をユーザに提供できるWebブラウザを実現することを目的とする。
本発明は、アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたネットワークシステムにおいて、ユーザ端末におけるアプリケーションコンテンツの出力機能を、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割したことを特徴とする。
本発明は、Webブラウザによるリッチインターネットアプリケーションの閲覧において、ブラウザエンジンにネットワーク上の計算リソースを活用することで、処理性能が異なるユーザ端末からのアクセスであっても、同等のユーザ体感品質をユーザに提供できるWebブラウザを実現する。
具体的には、本発明に係る出力機能分割システムは、
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムであって、
前記アプリケーション実行クライアント部は、前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知し、前記アプリケーション実行サーバ部から提供された解凍処理が必要となるファイルの解凍処理を行い、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行い、
前記アプリケーション実行サーバ部は、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツに応じた出力を行うために必要な情報のうちの解凍処理が必要なファイルを解凍せずに前記アプリケーション実行クライアント部へ提供する。
本発明に係る出力機能分割システムでは、前記アプリケーション実行サーバ部を複数備え、前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部とネットワークで接続され、複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介する管理サーバをさらに備えていてもよい。
また、本発明に係る出力機能分割システムでは、前記アプリケーション実行サーバ部は、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記アプリケーション実行クライアント部から前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツを出力するために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定部と、を備え、前記アプリケーション実行サーバ部は、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定部の決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供してもよい。
具体的には、本発明に係る出力機能分割システム
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムであって、
前記アプリケーション実行サーバ部を複数備え、
前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部とネットワークで接続され、複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介する管理サーバを備え、
前記アプリケーション実行クライアント部は、前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知し、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行い、
前記管理サーバから前記ユーザ端末に紹介された前記アプリケーション実行サーバ部は、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツに応じた出力を行うために必要な情報を前記アプリケーション実行クライアント部へ提供する
本発明に係る出力機能分割システムでは、前記アプリケーション実行サーバ部は、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記アプリケーション実行クライアント部から前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツを出力するために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定部と、を備え、前記アプリケーション実行サーバ部は、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定部の決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供してもよい。
具体的には、本発明に係る出力機能分割システム
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムであって、
前記アプリケーション実行クライアント部は、前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知し、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行い、
前記アプリケーション実行サーバ部は、
前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記アプリケーション実行クライアント部から前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツを出力するために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定部と、
を備え、
前記アプリケーション実行サーバ部は、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定部の決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供する。
具体的には、本発明に係るアプリケーションコンテンツ出力方法は、
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムにおけるアプリケーションコンテンツ出力方法であって、
前記アプリケーション実行クライアント部が、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知する通知手順と、
前記アプリケーション実行サーバ部が、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツに応じた出力を行うために必要な情報のうちの解凍処理が必要なファイルを解凍せずに前記アプリケーション実行クライアント部へ提供する提供手順と、
前記アプリケーション実行クライアント部が、前記解凍処理の必要なファイルの解凍処理を行い、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行う出力手順と、
を順に有する。
本発明に係るアプリケーションコンテンツ出力方法では、前記出力機能分割システムは、前記アプリケーション実行サーバ部を複数備えるとともに、前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部と接続された管理サーバをさらに備え、前記通知手順の前に、前記管理サーバが、複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介するサーバ部選択手順をさらに有してもよい。
本発明に係るアプリケーションコンテンツ出力方法では、前記通知手順の前に、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツに応じた出力を行うために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定手順をさらに有し、前記提供手順において、前記アプリケーション実行サーバ部は、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定手順で決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供し、前記出力手順において、前記アプリケーション実行クライアント部は、前記アプリケーション実行サーバ部から提供された情報を用いて前記ユーザ端末からアプリケーションコンテンツを出力してもよい。
具体的には、本発明に係るアプリケーションコンテンツ出力方法
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムにおけるアプリケーションコンテンツ出力方法であって、
前記出力機能分割システムは、前記アプリケーション実行サーバ部を複数備えるとともに、前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部と接続された管理サーバを備え、
前記管理サーバが、複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介するサーバ部選択手順と、
前記アプリケーション実行クライアント部が、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知する通知手順と、
前記アプリケーション実行サーバ部が、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツに応じた出力を行うために必要な情報を前記アプリケーション実行クライアント部へ提供する提供手順と、
前記アプリケーション実行クライアント部が、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行う出力手順と、
を順に有する。
本発明に係るアプリケーションコンテンツ出力方法では、
前記通知手順の前に、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツに応じた出力を行うために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定手順をさらに有し、
前記提供手順において、前記アプリケーション実行サーバ部は、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定手順で決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供し、
前記出力手順において、前記アプリケーション実行クライアント部は、前記アプリケーション実行サーバ部から提供された情報を用いて前記ユーザ端末からアプリケーションコンテンツを出力してもよい。
具体的には、本発明に係るアプリケーションコンテンツ出力方法
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムにおけるアプリケーションコンテンツ出力方法であって、
前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツに応じた出力を行うために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定手順と、
前記アプリケーション実行クライアント部が、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知する通知手順と、
前記アプリケーション実行サーバ部が、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定手順で決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供する提供手順と、
前記アプリケーション実行クライアント部が、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行う出力手順と、
を順に有する
具体的には、本発明に係るアプリケーション実行クライアント部は、
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムの前記アプリケーション実行クライアント部であって、
前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知し、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行う。
具体的には、本発明に係るアプリケーションコンテンツ出力方法は、
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムにおける前記アプリケーション実行クライアント部におけるアプリケーションコンテンツ出力方法であって、
前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知する通知手順と、
前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行う出力手順と、
を順に有する。
具体的には、本発明に係るサーバは、
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムの前記アプリケーション実行サーバ部として用いられるサーバであって、
前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記アプリケーション実行クライアント部から前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツを出力するために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定部と、
を備え、
前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定部の決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供する。
具体的には、本発明に係るアプリケーションコンテンツ出力方法は、
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムの前記アプリケーション実行サーバ部におけるアプリケーションコンテンツ出力方法であって、
前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツに応じた出力を行うために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定手順と、
前記ユーザ端末への入力内容を前記アプリケーション実行クライアント部から通知される通知手順と、
前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定手順で決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供する提供手順と、
順に有する。
具体的には、本発明に係る管理サーバは、
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムに備わり、前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部とネットワークで接続されている管理サーバであって、
前記出力機能分割システムは前記アプリケーション実行サーバ部を複数備え、
前記複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介する。
具体的には、本発明に係るアプリケーションコンテンツ出力方法は、
アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムに備わり、前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部とネットワークで接続されている管理サーバにおけるアプリケーションコンテンツ出力方法であって、
前記出力機能分割システムは前記アプリケーション実行サーバ部を複数備え、
前記アプリケーション実行クライアント部が前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知する通知手順の前に、前記管理サーバが、複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介するサーバ部選択手順を有する。
具体的には、本発明のWebブラウジングシステムは、
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムであって、
前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
前記ブラウジングクライアント部は、前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知し、前記ブラウジングサーバ部から提供された解凍処理が必要となるファイルの解凍処理を行い、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示し、
前記ブラウジングサーバ部は、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの解凍処理が必要なファイルを解凍せずに前記ブラウジングクライアント部へ提供する。
本発明のWebブラウジングシステムでは、前記ブラウジングサーバ部を複数備え、前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続され、前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介する管理サーバをさらに備えていてもよい。
また、本発明のWebブラウジングシステムでは、前記ブラウジングサーバ部は、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記ブラウジングクライアント部から前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定部と、をさらに備え、前記ブラウジングサーバ部は、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定部の決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供し、前記ブラウジングクライアント部は、前記ブラウジングサーバ部からの前記観測要求に応じて観測結果を返送し、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示してもよい。
具体的には、本発明のWebブラウジングシステム
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムであって、
前記ブラウジングサーバ部を複数備え、
前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続され、前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介する管理サーバを備え、
前記ブラウジングクライアント部は、前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知し、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示し、
前記管理サーバから前記ユーザ端末に紹介された前記ブラウジングサーバ部は、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報を前記ブラウジングクライアント部へ提供する
本発明のWebブラウジングシステムでは、前記ブラウジングサーバ部は、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記ブラウジングクライアント部から前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定部と、をさらに備え、前記ブラウジングサーバ部は、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定部の決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供し、前記ブラウジングクライアント部は、前記ブラウジングサーバ部からの前記観測要求に応じて観測結果を返送し、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示してもよい。
具体的には、本発明のWebブラウジングシステム
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムであって、
前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
前記ブラウジングクライアント部は、前記ユーザ端末に搭載され、前記ブラウジングサーバ部からの通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求に応じて観測結果を返送し、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知し、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示し、
前記ブラウジングサーバ部は、
前記ブラウジングクライアント部に前記観測要求を送信し、前記ブラウジングクライアント部から前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定部と、を備え、
前記ブラウジングサーバ部は、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定部の決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供する。
具体的には、本発明のWebブラウジング方法は、
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムのWebブラウジング方法であって、
前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
前記ブラウジングクライアント部が、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知する通知手順と、
前記ブラウジングサーバ部が、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの解凍処理が必要なファイルを解凍せずに前記ブラウジングクライアント部へ提供する提供手順と、
前記ブラウジングクライアント部が、前記解凍処理の必要なファイルの解凍処理を行い、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する表示手順と、
を順に有する。
本発明のWebブラウジング方法は、前記Webブラウジングシステムは、前記ブラウジングサーバ部を複数備えるとともに、前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続された管理サーバをさらに備え、前記通知手順の前に、前記管理サーバが、前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介するブラウジングサーバ部選択手順をさらに有していてもよい。
本発明のWebブラウジング方法は、前記通知手順の前に、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定手順をさらに有し、前記提供手順において、前記ブラウジングサーバ部は、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定手順で決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供し、前記表示手順において、前記ブラウジングクライアント部は、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示してもよい。
具体的には、本発明のWebブラウジング方法は、
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムのWebブラウジング方法であって、
前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
前記Webブラウジングシステムは、前記ブラウジングサーバ部を複数備えるとともに、前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続された管理サーバを備え、
前記管理サーバが、前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介するブラウジングサーバ部選択手順と、
前記ブラウジングクライアント部が、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知する通知手順と、
前記ブラウジングサーバ部が、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報を前記ブラウジングクライアント部へ提供する提供手順と、
前記ブラウジングクライアント部が、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する表示手順と、
を順に有する
本発明のWebブラウジングシステムでは、
前記通知手順の前に、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定手順をさらに有し
前記提供手順において、前記ブラウジングサーバ部は、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定手順で決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供し、
前記表示手順において、前記ブラウジングクライアント部は、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示してもよい。
具体的には、本発明のWebブラウジングシステム
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムのWebブラウジング方法であって、
前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定手順と、
前記ブラウジングクライアント部が、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知する通知手順と、
前記ブラウジングサーバ部が、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定手順で決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供する提供手順と、
前記ブラウジングクライアント部が、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する表示手順と、
を順に有する
具体的には、本発明のブラウジングクライアント部は、
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムの前記ブラウジングクライアント部であって、
前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知し、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する。
具体的には、本発明のブラウジングクライアント部のWebブラウジング方法は、
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムの前記ブラウジングクライアント部のWebブラウジング方法であって、
前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
前記ブラウジングクライアント部が、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知する通知手順と、
前記ブラウジングクライアント部が、前記ユーザ端末にWebページを表示するために必要な情報を前記ブラウジングサーバ部から取得する取得手順と、
前記ブラウジングクライアント部が、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する表示手順と、
を順に有する。
具体的には、本発明のブラウジングサーバ部は、
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムの前記ブラウジングサーバ部であって、
前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記ブラウジングクライアント部から前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定部と、
を備え、
前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定部の決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供する。
具体的には、本発明のブラウジングサーバ部のWebブラウジング方法は、
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムの前記ブラウジングサーバ部のWebブラウジング方法であって、
前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定手順と、
記ユーザ端末への入力内容を前記ブラウジングクライアント部から通知される通知手順と、
記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定手順で決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供する提供手順と、
を順に有する。
具体的には、本発明の管理サーバは、
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムに備わり、前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続されている管理サーバであって、
前記Webブラウジングシステムは前記ブラウジングサーバ部を複数備え、
前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介する。
具体的には、本発明の管理サーバのWebブラウジング方法は、
Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムに備わり、前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続されている管理サーバのWebブラウジング方法であって、
前記Webブラウジングシステムは前記ブラウジングサーバ部を複数備え、
前記ブラウジングクライアント部が、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知する通知手順の前に、前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介するブラウジングサーバ部選択手順を有する。
なお、上記各発明は、可能な限り組み合わせることができる。
本発明によれば、ブラウジングサーバ部が実質的にブラウザエンジンとして機能するため、処理性能が異なるユーザ端末からのアクセスであっても、同等のユーザ体感品質をユーザに提供できるWebブラウザを実現することができる。
Webブラウザを用いたWebブラウジングシステムの一例を示す。 URLエントリ部が表示されているWebページの一例を示す。 Webブラウザの一例を示す機能ブロック図を示す。 ユーザが入力したURLに遷移後のWebページの一例を示す。 HTMLファイルの一例を示す。 DOMツリーの一例を示す。 レイアウトデータの結果例を示す。 スクリプトの評価部の指示に基づき書き換えられたDOMツリーの例を示す。 操作イベントの生起からWeb画面表示に対する画面描画までのWebブラウザの動作例を示す。 キャッシュ技術を用いてURLの入力から画面表示されるまでの応答時間を短縮する際のWebブラウザの動作例を示す。 スクリプト評価部をWebサーバ上でリモート実行する手法の説明図を示す。 本実施形態のWebブラウジングシステムの構成図を示す。 ブラウジングクライアント部91と管理サーバ92とのデータフローを表す。 ブラウジングクライアント部91の構成の一例を示す。 ブラウジングサーバ部93の構成を示す。 操作イベントフィルタ設定の設定例を示す。 ブラウジングサーバ部93の描画部に出力されるレイアウトデータの一例を示す。 ブラウジングクライアント部91に送信されるクライアント用レイアウトデータを示す。 マウスオーバイベントが発生した場合のWebページ表示部972の表示例を示す。 ブラウジングサーバ部93が構成するWebページの画面を複数のレイヤに分けた場合のWebビューの表示領域の一例を示す。 スクロール時のWebビューの表示領域の変化の一例を示す。 fixedが指定された構成要素と、それ以外の構成要素とのレイヤ分けの一例を示す。 実施形態2に係るWebブラウジングシステムの構成の一例を示す。 実施形態2に係るWebブラウジング方法のシーケンス図を示す。 実施形態3に係るブラウジングサーバ部93の構成の一例を示す。 実施形態3に係るブラウジングクライアント部91の構成の一例を示す。 出力機能分割システム及びオンラインゲームシステムにおけるWebブラウジングシステムとの対応関係の一例を示す。 出力機能分割システム及びオンラインゲームシステムにおける処理とWebブラウジングシステムにおける処理との対応関係の一例を示す。 電子書籍システム、画面表示システム及び音声出力システムにおけるWebブラウジングシステムとの対応関係の一例を示す。 電子書籍システム、画面表示システム及び音声出力システムにおける処理とWebブラウジングシステムにおける処理との対応関係の一例を示す。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、本発明は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本発明は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
(実施形態1)
本発明は、Webブラウザによるリッチインターネットアプリケーションの閲覧において、ネットワーク上の計算リソースを活用することで、処理性能が異なるデバイスからのアクセスであっても、同等のユーザ体感品質をユーザに提供できるWebブラウザを実現するものである。
本発明のWebブラウジングシステムは、図3のWebブラウザをブラウジングクライアント部とブラウジングサーバ部の2つに分割する。本発明のWebブラウジング方法は、通知手順と、提供手順と、表示手順と、を順に有する。
通知手順では、ブラウジングクライアント部が、ユーザ端末への入力内容をブラウジングサーバ部に通知する。
提供手順では、ブラウジングサーバ部が、ブラウジングクライアント部から通知されたユーザ端末への入力内容に従って、ユーザ端末にWebページを表示するために必要な情報をブラウジングクライアント部へ提供する。
表示手順では、ブラウジングクライアント部が、ブラウジングサーバ部から提供された情報を用いてユーザ端末にWebページを表示する。
本発明のWebブラウジングシステムがブラウジングサーバ部を複数備える場合、本発明のWebブラウジング方法は通知手順の前にブラウジングサーバ部選択手順をさらに有していてもよい。ブラウジングサーバ部選択手順では、複数のブラウジングサーバ部のいずれかをユーザ端末に紹介するブラウジングサーバ部選択手順をさらに有する。
さらに、ブラウジングサーバ部選択手順では、ユーザ端末と最も近接しているものに加えて、負荷状態が最も低いもの、接続中のユーザ端末が最も少ないもの、ネットワーク遅延が最も小さいものなども考慮に加えてもよい。
ブラウジングクライアント部は、基本的にWebブラウザのGUI(図2のブラウザであればURLエントリ971、Webビュー表示部972)をユーザ端末に提供し、ユーザ端末からのURL・操作イベントの受付け、及び、ユーザ端末へのWeb画面の提示を担う。ブラウジングサーバ部は、図3に示したWebブラウザ97の各処理を担う。そして、ブラウジングクライアント部に対してレイアウトデータを提供することで、そのWebビュー表示部972の画面更新を指示する。
本発明では、ブラウジングクライアント部を、ユーザが所有するデバイス(ユーザ端末)にて処理し、ブラウジングサーバ部を、ネットワーク上のより処理性能が高いPCサーバ上で処理する。すなわち、性能が限定されるユーザ端末の処理が、軽量なブラウジングクライアント部に限定される。折戸の提案方式と異なり、DOMツリーの再構築やレイアウトの再評価までもネットワーク側にオフロードする。すなわち、折戸の提案方式においてユーザ端末が必要とする「JavaScript(登録商標)を用いたリモート呼び出し」、「結果HTMLファイルの受信」、「DOMツリーの再構築」といった処理が不要であるため、ユーザ端末の負荷をより多く削減できる。この結果、非力なユーザ端末であっても、リッチインターネットアプリケーションを、処理性能上のボトルネックなく処理できる。
前述したように、高いユーザ体感品質を維持するためには、操作イベントの生起から画面描画まで(図9の破線矢印のフロー)の応答時間の短縮が求められる。本発明では、ブラウジングサーバ部をユーザ端末より高性能なPCサーバに処理させることで、個々のイベントに対する処理時間を短縮する。その反面、図3の通常のWebブラウザと比較して、ブラウジングクライアント部とブラウジングサーバ部との通信遅延が新たに生じる。ゆえに、本発明による応答時間の短縮効果を得るためには、ブラウジングサーバ部へのオフロードによって短縮される処理時間が、ブラウジングサーバ部との通信によって生じる通信遅延より大きいことが条件となる。したがって、本発明では、ブラウジングサーバ部との通信遅延を最小限に抑えることが重要である。日本国内を想定した場合、首都圏から東京にあるサーバにアクセスした場合の往復遅延時間は10ミリ秒程度であるが、北海道や沖縄から東京にあるサーバにアクセスすると、その往復遅延時間は50ミリ秒〜100ミリ秒超に達する。したがって、ブラウジングサーバ部を日本国内の一拠点に配備した場合、本発明によって効果が得られるか否か、またその効得の大きさは、ユーザ端末の位置に大きく依存することになる。
そこで本発明では、ブラウジングサーバ部をネットワーク内に分散配置する。すなわち、一般的に、ユーザ端末とWebサーバ96との間のネットワークは、図1に示したように、Webサーバ96が接続されるインターネット95と、ユーザ端末とインターネットとを接続するネットワーク94からなる。
ここで、ネットワーク94として、NGN(Next Generation Network)や、携帯電話における3Gネットワーク、LTE(Long Term Evolution)ネットワークが該当する。本発明では、このようなネットワークの階層構造に着目し、ブラウジングサーバ部を、ユーザ端末とインターネット95とを結ぶネットワーク94内に分散配置する。または、インターネット95とネットワーク94の複数の接続点に分散配置する。そして、ユーザ端末上のブラウジングクライアント部を、その位置に応じて最寄りのブラウジングサーバ部に接続させる。これにより、ブラウジングクライアント部の位置に依らずブラウジングサーバ部との通信遅延を極小化する。
更に、本発明では、一つのブラウジングサーバ部で、複数のユーザを多重に処理できるようにする。Webブラウザ97の処理負荷は、一般的に、ページ遷移や操作イベントの生起時に一時的に高まるが、ユーザが何も操作しない時間の処理負荷は非常に小さい。また、リッチインターネットアプリケーションは、相対的に他のページより負荷が高まるが、個々のユーザがリッチアプリケーションを閲覧する時間も限定的ある。したがって、ブラウジングサーバ部の負荷が高まる(ユーザがWebブラウザ97を操作したり、リッチアプリケーションを閲覧する)タイミングが確率的に分散されることが期待される。これにより、1つの端末で1ユーザのWebブラウザ97の全ての処理を間欠的に処理する従来モデルより、高い経済性を確保できる。
本実施形態のWebブラウジングシステムの全体図を図12に示す。
本発明は、1つ以上のブラウジングクライアント部91、管理サーバ92、及び1つ以上のブラウジングサーバ部93がネットワーク94に接続される。なお、ここではインターネット95とネットワーク94の間にブラウジングサーバ部93の複数の接続点に分散配置する形で示したが、ブラウジングサーバ部93はネットワーク94内に分散配置してもよい。そして、ブラウジングサーバ部93は、1つ以上のwebサーバ96とインターネット95を介して接続される。
ここで、ブラウジングクライアント部91は、ユーザが閲覧・操作するユーザ端末上で実行される。そして、Webブラウザ97の機能のうち、主にWebブラウザとしての画面の提示と、ユーザによる操作の受付けを担う。ここでは、説明のため、ブラウジングクライアント部91は図2のWebブラウザ画面を提供するものとする。
管理サーバ92は、ブラウジングクライアント部91がブラジングサーバ部93と接続する際に、ブラジングクライアント部91に対して、ブラウジングクライアント部91から最も近接するブラウジングサーバ部93を紹介する。
ここで、管理サーバ92の紹介するブラウジングサーバ部93の設定は任意である。例えば、ブラウジングクライアント部91から位置に代えて、又はブラウジングクライアント部91からの位置に加えて、ネットワーク状態やブラウジングサーバ部93の負荷又は通信環境に基づいて選択してもよい。例えば、複数のブラウジングサーバ部93のうちの現時点又は将来的に負荷が少ないものを選択したり、複数のブラウジングサーバ部93のうちの現時点又は将来的に接続数の少ないものを選択したり、予め定めた特定のブラウジングサーバ部93が集中的に稼働するよう選択したりする。
ブラウジングサーバ部93は、ブラウジングクライアント部91に対して、Webブラウザ97のうち、操作イベント評価部11、スクリプト評価部12、リクエスト送信部14、レスポンス受信部15、HTML解析部13、レイアウト部16といったWebブラウザとして基本となる機能(ブラウザエンジン)を提供する。ブラウジングサーバ部93は、ユーザ端末より高性能なPCサーバ上で実行される。また、ブラウジングサーバ部93は、同時に複数のブラウジングクライアント部91に対してブラウジングエンジンとしての機能を提供できる。
Webサーバ96は、ブラウジングサーバ部93から受信したHTTPリクエストに対して、URLに紐づくリソースをHTTPレスポンスとして返す。
図12では、管理サーバ92に対するブラウジングサーバ部93の問合せは最初の一回で固定的な例で示しているが、設置場所が変更しうるノートPCや携帯端末であれば位置情報の変更があった以降の新規のHTTPリクエスト毎等としてもよいし、ブラウジングサーバ部93の処理の輻輳状態からブラウジングクライアント部91に対して再問合せをさせロードバランスを考慮したブラウジングサーバ部93を回答してもよい。また、再問合せ前から継続するWEBページがある場合には、そのWEBページのブラウジングサーバ部93を変更しないままで複数のブラウジングサーバ部93に接続してもよい。
図13は、ブラウジングクライアント部91と管理サーバ92とのデータフローを表す。ブラウジングクライアント部91は、ユーザからWebページの閲覧を要求されると、管理サーバ92に対して最寄りのブラウジングサーバ部93を問い合わせる。この際、ブラウジングクライアント部91は、自身の位置を識別するためのキー情報(位置情報)を、管理サーバ92に送信する。管理サーバ92は、位置情報に基づき最寄りのブラウジングサーバ部93特定し、その接続先ブラウジングサーバ部93を回答する。これにより、ブラウジングクライアント部91とブラウジングサーバ部93間のネットワーク遅延を短縮させ、ユーザ端末の位置が本発明の応答時間の短縮効果に与える影響を小さくする。
ブラウジングクライアント部91と管理サーバ92間の通信プロトコルとして、DNS(Domain Name System)を利用できる。この場合、ブラウジングクライアント部91には、予め接続先のブラウジングサーバ部93のホスト名が与えられている。また、管理サーバ92は、ブラウジングクライアント部91のドメインを管理するDNSサーバとして機能する。具体的な手順として、まず、ブラウジングクライアント部91は、ブラウジングサーバ部93に接続する際において、そのホスト名に紐づくアドレスをDNSのリゾルバに問い合わせる。DNSのリゾルバは、RFC1035に定められるプロトコルに従って、最終的に管理サーバ92にブラウジングサーバ部93のアドレス解決を依頼する。管理サーバ92のデータベースには、予めDNSのリゾルバのアドレスに対応する最寄りのブラウジングサーバ部93のアドレスを登録しておく。管理サーバ92は、DNSリゾルバからのアドレス解決の要求に対して、データベースを参照し、最寄りのブラウジングサーバ部のアドレスを回答する。これにより、ブラウジングクライアント部91は、直近のブラウジングサーバ部93に接続できる。
また、DNS以外にも、HTTPを始め、他のプロトコルを利用できる。また、位置情報として、ユーザ端末上のGPS(Global Positioning System)から取得した位置情報(緯度・経度)を送信することもできる。また、アクセス回線契約時や、ブラウジングクライアント部91のインストール時におけるユーザID発行(例えば、PPP(Point to Point Protocol)におけるユーザ認証時のID)時に、住所を登録しておくこともできる。この場合、管理サーバ92への問い合わせの際に、そのユーザID(または登録住所そのもの)を位置情報として管理サーバ92に送信する。また、携帯電話の3GネットワークにおけるHLR(Home Location Register)や、LTEネットワークにおけるMME(Mobility Management Entity)の位置登録機能と連携して、ユーザ端末の位置を特定し、最寄りのブラウジングサーバ部93を紹介することもできる。
ブラウジングクライアント部91は、管理サーバ92から接続先ブラウジングサーバ部93のアドレスを得ると、指定されたアドレスのブラウジングサーバ部93と接続し、Webブラウザ97としての処理を開始する。本稿では、まず、ブラウジングクライアント部91とブラウザジングサーバ部93のそれぞれの構成要素とその基本的な動作内容について説明する。次に、図4のWebページを閲覧すると仮定した場合の処理の流れを示す。最後に、各構成要素の拡張手段について述べる。
図14にブラウジングクライアント部91の構成の一例を示す。ブラウジングクライアント部91は、操作イベントフィルタ部31と、操作イベント評価部32と、レイアウト部33と、描画部34と、URL転送部35と、を備える。
操作イベントフィルタ部31は、ユーザから受け付けた操作イベントを、ブラウジングサーバ部93に通知すべきか否かを判断する。この判断は、ブラウジングサーバ部93から通知される操作イベントフィルタ設定に基づく。操作イベントフィルタ設定には、どの操作イベントがWebビュー上のどの領域で発生すると、ブラウジングサーバ部93への通知が必要となる(または必要でない)かが示される。主に、DOMツリーに基づく処理(例えば、リンクのクリック)やブラウジングサーバ部93のスクリプト評価部での評価に用いられる操作イベントがブラウジングサーバ部93に通知される。一方、ブラウジングサーバ部93のスクリプト評価部での評価が必要なく、ブラウジングクライアント部91内でローカルに処理可能な操作イベントについては、ブラジンググクライアント部91内の操作イベント評価部32に通知される。また場合によっては、操作イベントフィルタ部31において、操作イベントを複製し、ブラウジングサーバ部93に通知すると同時に、ブラジングクライアント部91の操作イベント評価部32に通知する場合もある。
操作イベントフィルタ機能では、例えば、操作イベントの中で、ブランジングサーバ部93の処理(スクリプト評価、レイアウト部でのレイアウトデータ等作成、等)が必要となる操作イベント(クライアント部内で完結しない操作イベント)を、ブランジングサーバ部93に通知する。クライアント部内で完結しない操作イベントは、例えば、スクロールにより今まで表示されていなかった画面を表示するイベントのほか、マウス操作によりjavascriptの実行イベントが呼ばれた等により、新たな画面描画が必要となる、もしくは、スクリプトの実行が必要となるイベントがある。
ここでは、操作イベントとして、マウスホイールを回転(マウスホイールイベント)に注目する。一般的に、マウスホイールを回転させると、Webビュー画面のスクロールが実施される。しかし、WebページによってはマウスホイールイベントをJavaScript(登録商標)等によりスクリプト評価させ、特別な動作をさせる場合もある。また、スクロールについても、ブラウジングクライアント部91が、ブラウジングサーバ部93からWebページの全体の描画データを受け取っている場合はローカルでスクロールを完結できるが、描画データの一部のみを受け取っている場合はスクロールによって新たにWebビューに表示される領域の描画データをブラウジングサーバ部93から取得する必要がある。
そこで、まず、ブラウジングサーバ部93は、新しいWebページがロードされると、そのHTMLファイルを解析し、新たにロードされたWebページにおいて、マウスホイールイベントに対するスクリプト評価が実施されるか否か(JavaScript(登録商標)の場合、onmousewheelイベントに対するリスナがセットされているか否か)を判断する。そして、マウスホイールイベントに対するスクリプト評価が実施される場合は、マウスホイールイベントの通知が必要な旨を、操作イベントフィルタ設定としてブラウジングクライアント部91に通知する。また、スクリプト評価が実施されない場合でも、Webページ全体の画面データがブラウジングクライアント部91に送信できていない場合は、新たな画面データを送信するため、マウスホイールイベントの通知が必要な旨を操作イベントフィルタ設定に設定する。上記以外の場合は、デフォルトの動作として、マウスホイールイベントの通知は不要とする。この場合、ブラウジングクライアント部91内で閉じてスクロールを実施する。
操作イベント評価部32では、操作イベントに応じて、Webビューの画面をどのように更新すべきかをレイアウト部33に通知する。例えば、マウスホイールイベントが生じた場合は、マウスホイールの回転方向と回転量に応じて、Webビューのスクロール方向とスクロール幅を指示する。
レイアウト部33は、ブラウジングサーバ部93から、サーバ描画データ、及び、クライアント用リソースを受け取る。サーバ描画データは、ブラウジングサーバ部93において構成されたWebページ画面の描画データである。サーバ描画データは、圧縮したビットマップ画像として受け取ることもできる。また、サーバ描画データを描画命令(描画命令として例えば「座標(10,20)から座標(30,50)にまで黒色の2ptの太さの線を引く」や「座標(20,40)から幅100、高さ150の矩形を、赤色の4ptの太さの線で描画する」などが考えられる。)のリストとして送信し、ユーザ端末においてユーザ端末上の描画ライブラリ(例えば、cairo(例えば、非特許文献3参照。)、javaのGraphicsクラス(例えば、非特許文献4参照。)等)の命令に変換し描画することもできる。一方、クライアント用リソースは、ブラウジングサーバ部93がWebサーバ96から取得したリソースのうち、サーバ描画データ内に含まれていないが、ブラウジングクライアント部91における画面描画に必要となるリソースである。更に、ブラウジングクライアント部91は、これらのサーバ描画データ、およびクライアント用リソースをWebページのどの位置に配置すべきかを示す、クライアント用レイアウトデータをブラウジングサーバ部93から受け取る。また、操作イベント評価部32からの評価結果(スクロール方向、スクロール幅等)を基に、Webビュー上に表示すべき画面を構成する。これをレイアウトデータとして、描画部34に通知する。
本発明では、Webページの画面を構成するリソースのうち、どのリソースをブラウジングサーバ部93で描画し(この場合、リソースはサーバ描画データの一部としてブラウジングクライアント部91に送信される)、どのリソースをブラウジングクライアント部91で描画するか(この場合、Webサーバから取得したリソースがそのままクライアント用リソースとしてブラウジングクライアント部91に送信される)を柔軟に選択することができる。例えば、Webページに画像ファイルを表示する場合を考える。Webページで用いられる画像は、JPG、PNGといった形式で圧縮されている。一方、ブラウジングサーバ部93側で構成した画面である描画データも、そのままでビットマップ画像として転送するとサイズが大きすぎるため、何らかの手段で圧縮して送信することが必要である。したがって、画像ファイルをブラウジングサーバ部93で描画する場合も、ブラウジングクライアント部91側で描画する場合も、ユーザ端末上で画像の解凍処理が必要となり、ユーザ端末の負荷に大きな違いが生じない。ゆえに、本発明では、ブラウジングサーバ部93上で構成する画面には画像ファイルが含まれないようにし、ブラウジングクライアント部91において画像ファイルの描画を実施する。これにより、ブラウジングサーバ部93において余分な解凍・再圧縮処理が発生しなくなり、ブラウジングサーバ部93の収容効率が向上する。
描画部34では、レイアウトデータに基づき画面を描画する。描画結果は、描画データとしてWebビュー表示部972に通知されディスプレイ上に表示される。
また、ブラウジングクライアント部91のURL転送部35は、URLエントリ部971からURLが入力されると、それをブラウジングサーバ部93に転送する。逆に、URL転送部35は、ブラウジングサーバ部93からURLを受け取ると、それをURLエントリ部971に通知し、Webブラウザの画面上にURLを表示させる。
次に図15にブラウジングサーバ部93の構成を示す。ブラウジングサーバ部93は、リクエスト送信部41と、レスポンス受信部42と、HTML解析部43と、レイアウト部44と、描画部45と、操作イベント評価部46と、スクリプト評価部47と、を備える。このうち、リクエスト送信部41、レスポンス受信42部、操作イベント評価部46、スクリプト評価部47については、図3に示した通常のWebブラウザ97と同様に振る舞う。
本発明のHTML解析部43は、図3に示した通常のWebブラウザ97のHTML解析部13の処理に、ブラウジングクライアント部91への操作イベントフィルタ設定の送信という新たな処理が加わる。すなわち、新たなWebページがロードされるたびに、そのDOMツリーを解析し、どの操作イベントがWebビューどの領域で発生するとブラウジングサーバ部93への通知が必要となるかを抽出する。そして、その抽出結果を、操作イベントフィルタ設定として、ブラウジングクライアント部91に送信する。
レイアウト部44は、ブラジングクライアント部91の説明にて前述したように、Webページの画面のうち、どこまでをブラウジングサーバ部93で描画し、どこからをブラウジングクライアント部91で描画するべきかを決定する。そして、ブラウジングサーバ部93で描画すべき部分については、レイアウトを構成し、サーバ用レイアウトデータとしてブラウジングサーバ部93の描画部45に通知する。また、ブラウジングクライアント部91で描画すべき部分については、サーバで描画されなかったリソースをクライアント用リソースとしてブラウジングクライアント部91に送信するとともに、サーバで描画される画面(サーバ描画データ)とクライアント用リソースとをWebページのどの位置に配置すべきかを、クライアント用レイアウトデータとしてブラウジングクライアント部91に送信する。
描画部45は、サーバ用レイアウトデータに基づき、サーバで構成するべき画面を描画する。そしてその結果を、サーバ描画データとしてブラウジングクライアント部91に送信する。
次に、図4に示すWebページを閲覧する場合を例にとり、本発明の具体的な処理の流れを説明する。
まず、ユーザは、ブラウジングクライアント部91上のWebブラウザのURLエントリ部に、URL(本例では、http://www.example.com/index.html)を入力する。入力されたURLは、ブラウジングクライアント部91のURL転送部35に通知され、更にURL転送部35は、そのURLをブラウジングサーバ部93に転送する。
ブラウジングサーバ部93のリクエスト送信部は、受け取ったURLに紐づくリソースを取得するため、HTTPリクエストを作成し、Webサーバ96に送信する。
Webサーバ96は、図5に示すHTMLファイルをHTTPレスポンスとしてブラウジングサーバ部93に返す。
ブラウジングサーバ部93のレスポンス受信部42は、Webサーバ96から受信したHTTPレスポンスからHTMLファイルを取り出し、リソース記憶部21に格納し、HTML解析部43に送信する。
HTML解析部43は、受け取ったHTMLファイルを解析する。そして、DOMツリーを構築しDOMツリー記憶部22に格納する。また、http://www.example.com/1.jpg〜3.jpgの追加取得をリクエスト送信部41に依頼する。また、HTML解析部43は、ブラウジングクライアント部91から通知すべき操作イベントを抽出し、それを、操作イベントフィルタ設定としてブラウジングクライアント部91に送信する。本例では、小さい画像にマウスカーソルが触れると、大きい画像が触れた画像に切り替わる。ゆえに、操作イベントフィルタ設定は、図16のように表される。
Webページの描画に必要なリソースが揃うと、つぎに、レイアウト部44において、Webページの画面を構成する。ここでレイアウト部44は、どこまでをブラウジングサーバ部93で描画すべきか、そしてどこからをブラウジングクライアント部91で描画すべきかを決定する。本例では、画像ファイルの描画はブラウジングクライアント部91で描画するものとし、画像ファイル以外の描画をブラウジングサーバ部93で実施するとする。本例において、ブラウジングサーバ部93の描画部45に出力されるレイアウトデータを図17に示す。また、図18に、ブラウジングクライアント部91に送信されるクライアント用レイアウトデータを示す。また、レイアウト部44は、クライアント用リソースとして、画像1、2及び3を示す1.jpg、2.jpg及び3.jpgの各画像ファイルをブラウジングクライアント部91に送信する。サーバ用レイアウトデータ、クライアント用レイアウトデータは、レイアウト記憶部に格納される。
ブラウジングサーバ部93の描画データは、図17のレイアウトデータに基づき画面を描画する。そして得られた描画データを、サーバ描画データとしてブラウジングクライアント部91に送信する。
ブラウジングクライアント部91のレイアウト部33は、ブラウジングサーバ部93からクライアント用レイアウトデータ、サーバ描画データ、クライアント用リソースを受け取ると、クライアント用レイアウトデータに基づき、Webページの画面を構成する。そして、ブラウジングクライアント部91の描画部34は、レイアウトデータに基づき、Webビュー表示部972に、Webページの画面を描画する。結果、Webページ表示部972には、通常のWebブラウザ97と同じく、図18の画面が表示される。
画面描画後、ユーザがWebビュー画面に操作を加えると、操作イベントがブラウジングクライアント部91の操作イベントフィルタ部31に伝えられる。操作イベントフィルタ部31では、操作イベントフィルタ設定に基づき、操作イベントをローカルの操作イベント評価部32、または、ブラウジングサーバ部93の操作イベント評価部46に送信する。本例では、図16の設定に従って、小さい画面上にマウスカーソルが触れると、マウスオーバイベントがブラウジングサーバ部93に送信される。ここでは、ユーザは真ん中の画像2の領域に触れたとする。
ブラウジングサーバ部93の操作イベント評価部46は、レイアウトデータ記憶部23に記憶しているレイアウトデータを参照し、マウスオーバイベントが発生した座標から対応するHTML要素を特定する。そして、その要素に関連付けられたイベント処理を実行する。本例では、イベント評価部46は、操作イベントに対応するHTML要素として、画像2を表示するIMG要素を特定し、スクリプト評価部47にJavaScript(登録商標)関数setPicture(‘./2.jpg’)の実行を依頼する。
スクリプト評価部47は、setPicture(‘./2.jpg’)を実行する。そして、HTML解析部43に対して、下部の大きい画像のURLを”./2.jpg”とするようDOMツリーの書き換えを指示する。
HTML解析部43は、スクリプト評価部47の指示に基づきDOMツリーを更新し、レイアウト部44にレイアウトを依頼する。
レイアウト部44では、更新されたDOMツリーに従って、レイアウトを更新する。本例では、クライアント用レイアウトデータにおける下部拡大画像の参照URLが変更される(図19)。そして、更新後のクライアント用レイアウトデータがブラウジングクライアント部91に通知される。このとき、サーバ描画データ、クライアント用リソースには変更がないため、ブラウジングクライアント部91に再送しない。このように、本発明では、変更があったデータのみブラウジングクライアント部91に送信することで、イベント操作に伴う画面更新のための通信データ量を削減する。
ブラウジングクライアント部91では、更新されたクライアント用レイアウトデータを受け取ると、レイアウト部33が、既に受領済みのサーバ描画データ、クライアント用リソースを参照し、レイアウトデータを作成する。そして、描画部34において、図19に示すように、Webビュー画面下部の拡大画像を“./2.jpg”に変更した画面を描画する。
本発明の構成要素の拡張方法について個別に論じる。
前述の実施例では、ユーザ端末においてブラウジングを開始する際に、管理サーバ92に最寄りのブラウジングサーバ部93を問い合わせていた。しかし、ブラウザの閲覧中にユーザ端末が移動し、最寄りのブラウジングサーバ部93が変更になることも考えらえる。ゆえに本発明では、ブラウザの閲覧中に、ユーザ端末の移動に応じてブラウジングサーバ部93を変更する機能を備えることができる。
例えば、ユーザ端末のブラウザクライアント部91は、定期的に、GPSから現在の位置を取得し、その位置情報(経度、緯度)を管理サーバ92に送信することで、現在の最寄りのブラウジングサーバ部93を問い合わせる。管理サーバ92への問い合わせの結果、もし、現在接続しているブラウジングサーバ部93とは異なるブラウジングサーバ部93を紹介された場合、ブラウジングクライアント部91は、新しく紹介されたブラウジングサーバ部93に接続先を切り替える。このときの接続先の切り替え方法として、以下のいずれかを実施できる。すなわち、
接続先の切り替え方法1:現在のページから切り替え先のブラウジングサーバ部93で閲覧する。すなわち、ブラウジングクライアント部91は、現在接続しているブラウジングサーバ部93に対して、閲覧しているページの閲覧状態(DOMツリー、レイアウトデータ、リソース等)を切り替え先のブラウジングサーバ部93に送信するよう指示する。現在の接続先ブラウジングサーバ部93から切り替え先のブラウジングサーバ部93へのページ閲覧状態の送信が完了すると、ブラウジングクライアント部91は、現在の接続先ブラウジングサーバ部93との接続を終了する。そして、切り替え先のブラウジングサーバ部93に接続する。
接続先の切り替え方法2:新しいページから切り替え先のブラウジングサーバ部93で閲覧する。すなわち、ブラウジングクライアント部は、現在の接続先サーバに対してブラウジングサーバ部93の切替えを希望する旨を通知する。現在の接続先ブラウジングサーバ部93は、その後、グラウジングクライアント部91からのURLの受信、またはリンクへのクリック等の新規ページへの遷移のトリガとなるイベントを検知すると、ブラウジングクライアント部91に新しいページへの遷移開始とそのページのURLを通知する。ブラウジングクライアント部91は、通知を受け取ると、現在の接続先ブラウジングサーバ部93の接続を切断する。そして、切り替え先のブラウジングサーバ部93と接続する。そして、通知されていた新しいページのURLを切り替え先のブラウジングサーバ部93に送信する。
後者の接続先の切り替え方法は、前者の方法より、ブラウジングサーバ部93間の情報の受け渡しが少ないため、高速に切り替えを実施できるという利点がある。
前述の実施例では、ブラウジングクライアント部91が管理サーバ92に対して問い合わせると、その結果として管理サーバ92から最寄りのブラウジングサーバ部93が回答されるとしていた。このとき、管理サーバ92におけるブラウジングサーバ部93の選択方法を、ブラウジングサーバ部93間の負荷の均衡化を図るように拡張することができる。例えば、次のような手段を備えることができる。なお、ブラウジングサーバ部93の負荷を測る指標として、同時接続しているブラウジングクライアント部91の数、ブラウジングサーバ部93のCPU使用率、メモリ使用量、等が考えられる。
ブラウジングサーバ部93の選択方法1:ブラウジングサーバ部93の負荷に上限を設定する。管理サーバ92は、ブラウジングクライアント部91から問い合わせを受け取ると、まず、そのブラウジングクライアント部91から最も近いブラウジングサーバ部93から順に、現在の負荷を問い合わせる。ブラウジングサーバ部93の負荷が上限以上であるならば、その次に近いブラウジングサーバ部93に対して現在の負荷を問い合わせる。これを、負荷の上限の設定値を下回るブラウジングサーバ部93が見つかるまで繰り返す。そして、負荷の上限の設定値を下回るブラウジングサーバ部93を見つけると、それをブラウジングクライアント部91に回答する。
ブラウジングサーバ部93の選択方法2:ブラウジングクライアント部91とブラウジングサーバ部93との近さに上限を設定する。ここで近さを測る指標として、物理的な距離や、予想される伝送遅延時間が挙げられる。管理サーバ92は、ブラウジングクライアント部91から問い合わせを受け取ると、そのブラウジングクライアント部91との近さが上限を下回るブラウジングサーバ部93に対して、現在の負荷を問い合わせる。そして、問い合わせの結果、最も負荷が低いブラウジングサーバ部93を、ブラウジングクライアント部91に対して回答する。
上述の例では、管理サーバ92は、ブラウジングクライアント部91から接続先ブラウジングサーバ部93の問い合わせを受け取ったことを契機として、各ブラウジングサーバ部93の負荷を問い合わせている(オンデマンドな負荷問い合わせ)。これに対して、予め管理サーバ92は、ブラウジングサーバ部93の負荷を定期的に問い合わせておき、ブラウジングクライアント部91からの問い合わせを受け取った際には、これまでの定期的な負荷問い合わせのうち最新の結果を用いて、ブラウジングサーバ部93を選択することができる(定期的な負荷問い合わせ)。定期的な負荷問い合わせは、オンデマンドな負荷問い合わせより負荷の正確性は低くなる。その一方で、ブラウジングクライアント部91からの問い合わせに対して、ブラウジングサーバ部93への問い合わせなしに即時に接続先を選択できるため、ブラウジングクライアント部91に接続先ブラウジングサーバ部93を回答するまでの時間を短縮できる。
本発明では、前述したように、ブラウジングサーバ部93で描画するリソースと、ブラウジングクライアント部91で描画するリソースを柔軟に選択できる。この選択を、ユーザ端末のハードウエア構成に基づき選択することができる。
例えば、動画像ファイルの描画を例にとる。今日、動画像閲覧の需要の高さから、比較的、低廉なユーザ端末であっても、動画像ファイルのハードウエアデコーダが搭載されるケースが多くなっている。この場合、動画像ファイルをエンコードされたままの形式でブラウジングクライアント部91に転送しても、ユーザ端末上のデコード処理がボトルネックとならない。そこで、本発明の拡張として、図14のブラウジングクライアント部91に、ハードウエア構成検査部を追加することができる。例えば、ハードウエア構成検査部は、ブラウジングクライアント部の起動時において、当該ユーザ端末のCPU性能やハードウエアデコーダの有無を検査する。そして、ブラウジングクライアント部91がブラウジングサーバ部93と新規に接続しブラウジング開始する際に、調査したユーザ端末のハードウエア構成をブラウジングサーバ部93のレイアウト部44に通知する。そして、ブラウジングサーバ部93のレイアウト部44は、ハードウエアデコーダが搭載されている、またはCPU性能が高いブラウジングクライアント部91のレイアウトデータ記憶部22に、動画像を含むWebページを送信する場合は、以下のように実施する。すなわち、
・動画像の描画領域を空白にしたサーバ描画データ、
・クライアント用リソースとして、未デコードの動画像ファイル、及び
・ユーザ端末上でデコードした動画像の描画領域を指示したクライアント用レイアウトデータ
をブラウジングクライアント部91のレイアウトデータ記憶部22に送信する。そして、ブラウジングクライアント部91の描画部34において、クライアント用リソースとして受信した動画像ファイルをデコードし、デコードした結果得られた画像をクライアント用レイアウトに指示される動画像の描画領域にはめ込む。
また逆に、ユーザ端末にハードウエアデコーダが搭載されておらず、かつCPU性能も低い場合は、ブラウジングサーバ部93で動画像をデコードする。そして、ユーザ端末のCPU性能に合わせて、解像度やフレームレートを落としたうえで、デコードした画面をサーバ描画データとしてブラウジングクライアント部91のレイアウト部33に送信する。
ブラウジングサーバ部93から出力されるサーバ描画データは、必ずしも1つの画像として送信する必要はなく、図20に示すように、ブラウジングサーバ部93が構成するWebページの画面を複数のレイヤに分けて、各レイヤ毎にサーバ描画データを送信してもよい。例えば、HTMLのスタイルシートの仕様であるCSSでは、HTMLの構成要素の配置に関するプロパティとしてpositionプロパティ(例えば、非特許文献5参照)がある。そして、positionプロパティの値として、Webビュー画面がスクロールしても、Webビュー上の表示位置を固定できるfixedを指定できる。図20にpositionプロパティにfixedを指定した場合のWebビューの表示例を示す。図20に示すように、Webビューが下方向にスクロールすると、positionプロパティがfixed以外のレイヤBでは、スクロールに合わせて下方の内容が表示される。しかし、positionがfixedであるレイヤAでは、スクロール位置に依存しないで、常に同じ内容(図20の例では、右上に”fixed”の文字列)が表示される。
仮に、図20の例において、positionプロパティにfixedが指定されたHTMLの構成要素(レイヤA)と、それ以外の構成要素(レイヤB)とを1つの画像として描画し、それをサーバ描画データとしてブラウジングクライアント部91に送信した場合を考える。この場合、スクロール操作が発生するたびに、図21に示すように、サーバ描画データにおける文字列”fixed”の位置が変わるため、ブラウジングサーバ部93のレイアウト部44・描画部45においてサーバ描画データを再作成し、ブラウジングクライアント部91に送信する必要が生じる。そこで本発明では、図22に示すように、ブラウジングサーバ部93のレイアウト部44において、fixedが指定された構成要素と、それ以外の構成要素とをレイヤ分けてサーバ用レイアウトデータを作成し、描画部45においてそれぞれぞれのレイヤ毎に画像を描画し、それぞれのレイヤの描画結果をサーバ描画データとしてブラウジングクライアント部91に送る。また、ブラウジングサーバ部93のレイアウト部44は、各レイヤの位置関係を示したクライアント用レイアウトデータを、ブラウジングクライアント部91に送る。図20の例に対して、レイヤ毎にサーバ描画データを分けて送信した場合の、サーバ描画データ、クライアント用レイアウトデータを図22に示す。図22に示すように、レイヤAとレイヤBについては、それぞれ別の画像として、サーバ描画データが作成される。また、クライアント用レイアウトデータによって、レイヤBの表示内容がスクロール位置に合わせて変化するように、レイヤBをスクロール位置に合わせて平行移動させる(図22中、平行移動x=−sx,y=−sy)これにより、ユーザ操作によってスクロールが発生しても、新たにブラウジングサーバ部93からデータを受け取ることなく、既にブラウジングクライアント部91にて受領済みのサーバ描画データとクライアントレイアウト用データのみでスクロールに対応できるようになる。その結果、ブラウジングクライアント部91とブラウジングサーバ部93間の通信量を削減し、かつスクロール時の応答時間も短縮できる。
なお、管理サーバ92は、従来技術である操作イベントに対してサーバで構成した画面をユーザ端末側に転送するシンクライアント、Webページを軽量なフォーマットに変換する技術及び折戸の提案方式でも適用可能である。
(実施形態2)
一人のユーザが複数の端末で同時にWebブラウザサービスを利用したい場合や、複数のユーザが同時に共通のWebブラウザサービスを利用したい場合がある。例えば、Webサイトを大きな画面に表示したり、表示用の画面と操作用の画面を個別の端末に表示したり、Webサイトを離れた友人や家族と一緒に見たりする場合である。本実施形態では、そのような場合に対応できるよう、1つのブラウジングサーバ部93に対して複数のブラウジングクライアント部91を連携させる。
本内容は、Webブラウジングプログラム(一般的にWebブラウザ)をサーバ・クライアントのプログラムに機能分割して、サーバ上のユーザや端末単位でサーバプログラムを実行させることで生成するブラウザプロセスと、端末上で動作するクライアントプログラムとを連携させることでWebブラウザサービスを実現する形態において、ユーザがWebブラウザサービスを利用しているときに、ブラウジングサーバ部93上のブラウザプロセスを他のユーザの端末上で動作するブラウジングクライアント部91と連携させることで、Webブラウザサービスの閲覧や操作を共有させる。
図23に、本実施形態に係るWebブラウジングシステムの一例を示す。本実施形態に係るWebブラウジングシステムは、統合管理部50が複数のブラウジングサーバ部93−1、93−2及び93−3と、ブラウジングサーバ管理部52と、ブラウザ共有連携部51を備える。各ブラウジングサーバ部93−1、93−2及び93−3は、実施形態1で説明したブラウジングサーバ部93の各機能を実行する。ブラウジングサーバ管理部52は、各ブラウジングサーバ部93−1、93−2及び93−3を管理する。ブラウザ共有連携部51は、ユーザ端末からの共有招待や共有受託の通知情報を管理して、ブラウジングサーバ部93−1、93−2及び93−3を複数のクライアントプログラムに紐づける。
これにより、本実施形態に係るWebブラウジングシステムは、複数のブラウジングクライアント部91におけるWebブラウザの閲覧や操作を共有させる。共有させる操作は、例えば、Webサイト内のスクロール操作、ポインティング又はWebサイトの切り替えである。例えば、ユーザ端末91−2がスクロールをすると、ユーザ端末91−1及び91−3の画面もそれに連動して動く。
本実施形態に係る発明が対象とするWebブラウザサービスでは、ブラウザ共有連携部51が、共有グループ管理部511と、クライアントプログラム連携部512と、ブラウジングサーバ連携部513と、ワンタイムセッションID管理部514と、を備える。ブラウジングサーバ管理部52は、何らかのユーザ認証や端末認証を前提として、ユーザとブラウジングクライアント部91とを関連付けて管理している。ユーザとして管理する情報としては、ブラウジングクライアント部91を一意に特定できものであればよく、ユーザ認証によるユーザIDや端末認証による端末機器のシリアル番号やMACアドレス等が利用できる。そして、ブラウジングサーバ部93におけるブラウザプロセスとブラウジングクライアント部91におけるクライアントプログラムとの連携処理では、ブラウジングサーバ部93あるいはブラウジングクライアント部91が一時的に払い出すセッションIDを用いて、利用中のユーザがブラウジングサーバ部93の管理しているブラウジングクライアント部91と一致しているか否かの照合を行う。これにより、他のユーザからの不正アクセスを除外するようにしている。そのため、クライアントプログラムとブラウザプロセスではセッションIDが保持される。以下におけるユーザの動作については、ユーザ端末上のブラウジングクライアント部91が実行するクライアントプログラムにおける処理を意図している。
共有グループ管理部511は、事前に登録されたユーザ毎に共有相手として選択できる複数のユーザを共有グループとして管理する。ここで、ユーザ毎の共有相手リストの登録は、利用者の登録操作によって格納するだけでなく、別システムとの連携によって格納するなどしてもよい。そして、共有を招待する共有招待ユーザ端末91−2は、統合管理部50から共有グループを取得し、共有相手と共有操作権限、その他関連情報を設定して、サーバに共有招待の要求を通知する。
共有招待ユーザ端末91−2は、共有を招待する際に共有操作権限を設定することで、共有受託ユーザ端末91−1及び91−3に与える操作内容を制限できるようにする。操作権限の具体例としては、操作なし(閲覧のみ)、スクロール、クリック、Webページ遷移(リロード、進む戻る)、文字入力、ブックマーク登録、全ての操作といった一般的なWebブラウザの全ての操作内容を対象とし、操作内容の組み合わせにて権限設定することもできる。また、共有操作権限は共有受託ユーザ端末91−1及び91−3毎に異なる権限を設定することにより、よりきめ細かい共有を設定できる。さらに、同一ユーザの異なるユーザ端末91−1及び91−2で共有する場合には、全操作可能にするなど、共有受託ユーザや端末によって、事前設定をすることで、共有操作権限の設定を簡易化することも可能である。
図24に、本実施形態に係るWebブラウジング方法のシーケンス図を示す。
ステップS101は、Webブラウザサービス利用中(セッションID)である。ユーザ(あ)の利用する共有招待ユーザ端末91−2が、サーバ・クライアントのプログラムに機能分割されたWebブラウザプログラムを利用している。その際、事前に払い出されるセッションIDをブラウジングクライアント部91−1、91−2、91−3とブラウジングサーバ93−1、93−2、93−3で保持している。
ステップS102は、共有相手リスト取得手順である。ユーザ端末91−2を利用するユーザ(あ)がユーザ端末を増やす場合、共有招待ユーザ端末91−2が共有相手リストをブラウザ共有連携部51から取得する。ユーザ毎の共有相手リストは、事前にブラウザ共有連携DBに格納されている場合の例で示す。
ステップS104は、共有招待通知手順である。共有招待ユーザ端末91−2は、取得した共有相手リストから共有相手と共有権限を選択して、ブラウザ共有連携部51に対して共有招待通知を行う。このとき、共有招待ユーザ端末91−2の画面に取得した共有相手リストが表示される。例えば、ユーザ端末91−1を示す「TV」とユーザ端末91−3を示す「い」が表示される。ユーザ(あ)が「TV」を選択すると、共有招待ユーザ端末91−2は、共有相手と共有権限を指示する共有招待通知をブラウザ共有連携部51へ送信する。
ステップS105は、ブラウザプロセス情報取得手順である。ブラウザ共有連携部51は、共有招待ユーザ端末91−2のブラウザプロセス情報をブラウジングサーバ管理部52から取得する。ブラウザプロセス情報は、ブラウジングサーバ部93を利用しているブラウジングクライアント部91の情報であり、例えば、共有招待ユーザ端末91−2のID=ID002である。
ステップS106及びステップS107は、共有情報通知手順である。ブラウザ共有連携部51は、共有招待通知を受け取った際に、ワンタイムセッションID管理部514からワンタイムセッションIDを払い出し(S106)、共有招待ユーザ端末91−2に関するブラウザプロセス情報と共有受託ユーザID、ワンタイムセッションID等を介して、共有招待ユーザ端末91−2および共有受託ユーザ端末91−1とを関連付けてブラウザ共有連携DBに登録する(S107)。ここで、ブラウザプロセス情報は、例えば、共有招待ユーザID及びセッションIDである。ブラウザプロセス情報は、IDに限らず、ブラウジングサーバ部の状態、サーバアドレス、ポート番号であってもよい。ここで、ワンタイムセッションIDは、他に重複することがない一意のIDであればよく、一定長のランダム数値やユーザIDや端末情報に現在時刻を加味して出力するハッシュ値などが考えられる。
ステップS108は、共有依頼通知手順である。ブラウザ共有連携部51は、共有受託ユーザ端末91−1に対して共有依頼通知を行い、共有招待ユーザおよびワンタイムセッションIDを通知する。また、ワンタイムセッションIDは、共有受託ユーザからブラウザ共有連携部51に対して問い合わせて取得してもよい。共有依頼通知の際は、ワンタイムセッションIDを通知せずに、共有受託ユーザ端末91−1からブラウザ共有連携部51に対して問い合わせて取得するとしてもよい。共有受託の承諾/拒否は、特定のユーザや共有権限の範囲に関する承諾/拒否を含んでいてもよい。
ステップS114は、共有受託通知待機手順である。ブラウザ共有連携部51は、共有受託ユーザ端末91−1からの共有承諾通知を一定期間待機する。一定期間、共有承諾通知がない場合には、共有無効と判断して、ブラウザ共有連携DBに登録したワンタイムセッションIDと関連付けた共有情報データを削除して、共有無効にする。
ステップS109は、共有承諾通知手順である。共有を受託する共有受託ユーザ端末91−1は、定期的な統合管理部50への問い合わせ又はブラウザ共有連携部51からの共有依頼通知によって、共有依頼に関する情報を受け取ると、共有招待ユーザや共有権限を確認して、共有受託の承諾/拒否を設定して、ブラウザ共有連携部51に共有承諾を通知する(S109)。共有依頼に関する情報は、例えば、共有招待ユーザ名又はワンタイムセッションIDである。
ステップS110は、共有情報通知手順である。ブラウザ共有連携部51は、ブラウジングサーバ管理部52に対して共有情報(ワンタイムセッションIDと共有権限等)を通知する。このとき、ブラウジングサーバ連携部513は、共有受託通知を受け取った際に、ワンタイムセッションIDと関連付けた登録情報から共有招待ユーザのブラウジングサーバ部93を特定して、ブラウジングサーバ管理部52に対して、共有操作権限、ワンタイムセッションID等を通知する。
ステップS111は、共有情報設定手順である。ブラウジングサーバ管理部52は、ブラウジングサーバ部93−2に対してワンタイムセッションIDと共有権限を設定する。
ステップS112は、ブラウジングサーバ共有接続情報送信手順である。ブラウザ共有連携部51は、共有受託ユーザ端末91−1に対して、共有招待ユーザ端末91−2のブラウジングサーバ部93−2の接続情報を通知する。
ステップS113は、Webブラウザサービス共有開始手順である。共有受託ユーザ端末91−1は、通知された接続情報(サーバアドレス、ポート番号)をもとに、ワンタイムセッションIDを用いて共有招待ユーザ端末91−2のブラウジングサーバ部93−2に共有接続を行う。
これにより、共有受託ユーザ端末91−1の端末上で動作するクライアントプログラムとの連携処理ではワンタイムセッションIDを用いるようにして、共有招待ユーザ端末91−2が利用中のブラウジングサーバ部93−2を共有受託ユーザ91−1にも共有させることができる。
共有開始後、共有招待ユーザ端末91−2は共有受託ユーザ端末91−1を選択して、共有を終了したり、権限を変更したりすることができる。また、共有招待ユーザ端末91−2は、共有受託ユーザを選択して個別に共有を終了させたり、一括で全共有受託ユーザとの共有を終了させることができる。また、共有招待ユーザ端末91−2がWebブラウザサービスの利用を終了した場合には、全ての共有受託ユーザの共有を終了させる。または、共有受託ユーザ端末91−1が継続してWebブラウザサービスを利用させることもできる。
ブラウザ共有連携部51の備える構成の機能について改めて説明する。但し、同様の処理が行えれば、以下の構成に限定する必要はない。
共有グループ管理部511:ユーザ認証情報をもとにして、共有可能なユーザリスト(認証情報、ニックネーム等)をブラウザ共有連携DB上で管理する。そして、共有招待ユーザ端末(クライアントプログラム)91−2からの要求に応じて、当該共有招待ユーザ端末91−2の共有可能なユーザリストを応答する。
ブラウジングサーバ連携部513:ブラウジングサーバ管理部52と連携して、ブラウザプロセス情報(ブラウジングサーバ部93の状態、サーバアドレス、ポート番号等)を取得し、共有情報(ワンタイムセッションIDと共有権限)を通知する。
ワンタイムセッションID管理部514:共有招待通知を受けて、ワンタイムセッションIDを払い出す。そして、共有招待ユーザ端末91−2および共有受託ユーザ端末91−1及び91−3のセッションIDを関連付けてブラウザ共有連携DBに登録する。
クライアントプログラム連携部512:クライアントプログラムと連携して、共有招待ユーザ端末91−2からの共有招待通知(共有相手、共有権限)を受け取る。そして、該当する共有受託ユーザ端末91−1及び91−3に対する共有依頼通知を行う。その後、共有受託ユーザからの共有承諾通知を一定期間待機する。共有承諾通知がない場合には、ブラウザ共有連携DBに登録した共有情報データを削除して、共有無効にする。共有受託ユーザ端末91−1からの共有承諾通知を受け取る。そして、共有受託ユーザに対して共有接続するブラウジングサーバ部93の接続情報(サーバアドレス、ポート番号等)を通知する。
本実施形態に係る発明により、サーバ・クライアントのプログラムに機能分割して実現するWebブラウザの形態において、同一のブラウジングサーバ部93に対して、設定された操作権限をもとに複数のクライアントプログラムから接続させ、複数のユーザ端末でWebブラウザの閲覧や操作を共有させることができる。それによって、ある1人のユーザが同じ場所で複数の端末を使ってWebブラウザの閲覧や操作の共有や複数のユーザが異なる場所でWebブラウザの閲覧や操作を共有することができる。
また、共有操作権限を設定することにより、共有対象とする閲覧や操作をきめ細かく設定することができる。クライアントプログラムの関連付けを行うことにより、サーバプロセス・クライアントに機能分割されたブラウザプロセスを複数のユーザや端末で同時接続することができる。ワンタイムセッションIDを用いて利用者を関連付け、かつ共有するユーザ双方のセッションIDを公開することなく接続先情報を通知することにより、クライアントプログラムに対して共有先となるサーバプロセスの接続先情報を安全に通知することができる。
なお、本実施形態では、ブラウジングサーバ部93が1つの装置として動作する例について説明したが、ブラウジングサーバ部93は、複数の装置を用いて構成されていてもよい。
(実施形態3)
本実施形態に係るWebブラウジングシステムの全体図は図12に示したとおりである。本実施形態に係る発明は、実施形態1及び2に係るWebブラウジングシステムと同様に、1つ以上のブラウジングクライアント部91、管理サーバ部92、及び1つ以上のブラウジングサーバ部93がネットワーク94に接続される。そして、ブラウジングサーバ部93は、1つ以上のwebサーバ96とインターネット95を介して接続される。ここで、ブラウジングクライアント部91は、ユーザが閲覧・操作するユーザ端末上で実行される。そして、Webブラウザの機能のうち、主にWeブラウザとしての画面の提示と、ユーザによる操作の受付けを担う。ここでは、説明のため、ブラウジングクライアント部91は図2のWebブラウザ画面を提供するものとする。
図25及び図26に、本実施形態に係るブラウジングサーバ部93及びブラウジングクライアント部91の一例を示す。本実施形態に係るブラウジングサーバ部93では、観測部48、処理決定部(不図示)及びストリーム生成部49を備える。レイアウト部44は処理決定部(不図示)を備える。本実施形態では、通知手順の前に有するブラウジングサーバ部選択手順において、観測部48、処理決定部(不図示)及びストリーム生成部49を実行させる。ブラウジングクライアント部では、観測部35を備える。
観測部48は、ブラウジングクライアント部91の観測部35に対して、観測要求を送信する。ブラウジングクライアント部91の観測部35は、観測部48からの観測要求に応じてブラウジングクライアント部91及びユーザ端末の情報を読み取り、読み取った観測結果をブラウジングサーバ部93の観測部48に返送する。
ここで、観測要求は、ブラウジングクライアント部91の通信環境、負荷及び性能の少なくともいずれかを計算するために必要な情報を要求する旨の信号である。ブラウジングクライアント部91の通信環境は、例えば、ブラウジングクライアント部91の利用可能なネットワーク帯域、ユーザ端末の通信性能の情報、HTMLの構造を解析した結果である。利用可能なネットワーク帯域、ユーザ端末の通信性能の情報の測定については、例えば、前者については例えば可用帯域推定技術(非特許文献7)、後者についてはスループット測定技術(非特許文献8)を使用する。ブラウジングクライアント部91の負荷は、例えば、特定処理に関わるCPU使用率、メモリ使用量、測定時点でのCPU使用率、メモリ使用量である。ブラウジングクライアント部91の性能は、例えば、ブラウジングクライアント部91が配備されているユーザ端末のCPUスペック、搭載メモリ量の情報である。
なお、端末性能とネットワーク帯域等の情報は所定の処理量のイベントをブラウジングクライアント部91で処理した応答時間や到着遅延時間から推定してもよい。また図で観測部48はブラウジングクライアント部91からの観測情報でユーザ端末の性能やネットワーク帯域の情報を取得しているが、ブラウジングクライアント部91からの観測情報に限らなくとも良い。例えば、その少なくとも一部を契約情報から取得してもよい。この場合、これらの情報は契約情報を保持する部分(不図示)から取得する。また、ユーザ端末の性能やネットワーク帯域の情報の少なくとも一部を、MACアドレスやVID等から取得してもよい。この場合、MACアドレスやVID等を処理する箇所(不図示)からMACアドレスやVID等を取得し、MACアドレスやVID等と端末性能やネットワーク帯域等の情報の対応情報を保持する部分(不図示)からの情報を対照することで取得する。観測部48は、さらに、ブラウジングサーバ部93の処理量を観測してもよい。
本実施形態に係るWebブラウジングシステムの動作の一例を説明する。
ステップS201:レイアウト部44は、URLのみをユーザ端末に送信し、描画処理、ストリーム再生処理、ファイルのダウンロード処理を、全てブラウジングクライアント部91で実施するか否かを決定し、ステップS202又はS203へ移行する。
ステップS202:全ての処理をブラウジングクライアント部91で行う場合、レイアウト部44は、ブラウジングクライアント部91にURLを送信する。すると、ブラウジングクライアント部91のレイアウト部33は、受信したURLから描画データの生成、ストリーム再生処理、ファイルのダウンロード処理を行う。
ステップS203:全ての処理をブラウジングクライアント部91で実施しない場合、レイアウト部44は、Webページの画面を要素ごとに分ける。要素は、例えば、ストリームデータとして処理すべき要素、描画データにすべき要素、レイアウトデータを端末に送信すべき要素、リソースデータをブラウジングクライアント部91に送信すべき要素である。レイアウト部44は、ステップS201でのレイアウト部44の決定に基づき、ストリームデータの生成、描画データの生成、レイアウトデータの生成、リソースデータの取得を行い、それぞれをブラウジングクライアント部91に送信する。このとき、ストリーム生成部49がストリームデータを送信する。そして、ブラウジングクライアント部91のレイアウト部33は、ブラウジングサーバ部93から受信したWebページの画面の各要素について処理を行う。例えば、レイアウト部33は、ストリームの再生、描画データの表示、レイアウトデータから描画データの生成、リソースデータから描画データの生成を行う。描画・再生部34は、これらの処理結果を同一の画面に統合して表示する。
ステップS201において、レイアウト部44は、観測部48の出力するブラウジングクライアント部91の通信環境、負荷及び性能の少なくともいずれかの情報をもとに、ブラウジングサーバ部93での処理を決定する。レイアウト部44は、URLをそのままブラウジングクライアント部91に送信するのか、或いは、HTMLコンテンツの表示に関わる処理の一部をブラウジングサーバ部93で行うのか否かを決める。HTMLコンテンツの表示に関わる処理の一部をブラウジングサーバ部93で行う場合は、HTMLコンテンツの要素ごとにブラウジングサーバ部93での処理の内容を選択することができる。ここでHTMLコンテンツの要素は、画像、動画及び文章などの、Webページに含まれる各オブジェクトをいう。複数のHTMLコンテンツの要素について同一の処理を行うことも可能である。
ブラウジングサーバ部93での処理の決定に際し、レイアウト部44は、ブラウジングクライアント部91の負荷及び性能の少なくともいずれかに基づいてブラウジングクライアント部91の処理時間を推定する。そして、レイアウト部44は、ブラウジングクライアント部91の処理時間が短い場合はブラウジングサーバ部93で処理を行い、ブラウジングクライアント部91の負荷が小さい場合はブラウジングサーバ部93で処理を行わない。このとき、ブラウジングサーバ部93の負荷や通信環境を考慮することが好ましい。具体的には、ブラウジングサーバ部93の負荷が閾値に到達している場合、利用可能な帯域やスループットが閾値に到達している場合は、ブラウジングサーバ部での処理を行わない。
ブラウジングサーバ部93での処理の決定は、例えば、以下を指標に用いてもよい。
・現在利用中のネットワークの状態が所定の閾値を超過又は到達しているか。ネットワークの状態は、例えば、ブラウジングクライアント部91の使用可能な通信量のうちの使用率であり、平均値又はピーク値であってもよい。ネットワークの状態が閾値を超過又は到達している、例えば使用率が80%を超過又は到達しているか否かである。
・処理の一部をブラウジングサーバ部93で行った場合に、ネットワークの状態が平均値又はピーク値で所定の閾値を超過又は到達するか。
・ブラウジングサーバ部93の処理負荷が平均値又はピーク値で所定の閾値(例えば、負荷率80%)を超過又は到達しているか。
・処理の一部をブラウジングサーバ部93が行った場合に、ブラウジングサーバ部93の処理負荷が平均値又はピーク値で所定の閾値を超過又は到達するか。
・ブラウジングクライアント部91の性能が所定の閾値以下であるか。
・ブラウジングクライアント部91の処理負荷が平均値又はピーク値で所定の閾値(例えば、負荷率80%)を超過又は到達しているか。
・処理の一部をブラウジングサーバ部93が行わない場合に、ブラウジングクライアント部91の処理負荷が平均値又はピーク値で所定の閾値を超過又は到達するか。
・処理の一部をブラウジングサーバ部93が行った場合のネットワーク帯域の消費量やブラウジングサーバ部93の処理量が所定の閾値よりも大きいか。
・処理の一部をブラウジングサーバ部93が行った場合のネットワーク帯域の消費量やブラウジングサーバ部93の処理量が他のコンテンツと比較して大きいか。
ブラウジングサーバ部93での処理の決定は、これらのいずれか一つの指標またはこれらの内のいくつか又は全ての指標の加重平均等の統計処理により決定してもよい。なお、レイアウト部44は、従来どおり、HTMLコンテンツの要素のみから、ブラウジングサーバ部93での処理を決めることもできる。
ブラウジングサーバ部93における処理の内容の選択は、描画データを生成する、レイアウトデータを生成する、リソースデータを取得・提供する、ストリームデータを生成する、の中の一つ以上の中から行う。ネットワーク帯域の消費量が所定の閾値よりも小さい又はブラウジングサーバの処理量が所定の閾値よりも大きい又はWebページの他の要素と比較して大きい要素であれば、「描画処理、ストリーム再生処理」以外の要素であってもブラウジングクライアント部91で実施してもよい。
ストリーム生成部49は、レイアウト部44の決定したブラウジングサーバ部93での処理に応じたストリームを生成してブラウジングクライアント部91へ送信する。ブラウジングクライアント部91では、ブラウジングサーバ部が出力したデータによって、適切に描画・ストリームデータの再生を行う。
観測部48は、さらに、HTMLコンテンツの表示に関わる処理のうちの特定処理をブラウジングクライアント部91が行う負荷を観測したり、ブラウジングクライアント部の性能を観測したりしてもよい。特定処理は、ブラウジングクライアント部91に負荷を与える処理であり、例えば、描画処理又はストリーム再生処理である。観測部48の観測する負荷は、例えば、特定処理を行う回数又はHTMLコンテンツの表示回数に対する比率であり、観測された現在値を用いてもよいし、平均等の統計値を用いてもよいし、増減率等に基づく予測値を用いてもよい。
その場合、レイアウト部44は、ブラウジングクライアント部91の負荷に基づいて、処理の一部をブラウジングサーバ部93が行うか否かを決定することが好ましい。例えば、レイアウト部44は、負荷の大きなブラウジングクライアント部91に表示するHTMLコンテンツついてはブラウジングサーバ部93の処理を増やし、負荷の小さなブラウジングクライアント部91に表示するHTMLコンテンツについてはブラウジングサーバ部93の処理を減らす。
このように、本実施形態に係る発明は、ブラウジングクライアント部91の負荷や性能に基づいて、ブラウジングサーバ部93での処理を決定する。これにより、本実施形態に係る発明は、ブラウジングサーバ部93の負荷とブラウジングクライアント部91の負荷の均衡をはかることができるため、システム全体での効率化を図ることができる。
なお、処理の一部をブラウジングサーバ部93が行うか否かを決定する機能をブラウジングサーバ部93が備える例を示したが、本機能は、管理サーバ92又はブラウジングクライアント部91などのWebブラウジングシステムにおける他の構成が備えていてもよい。例えば、管理サーバ92が観測部48を備え、ブラウジングサーバ部93が処理決定部(不図示)を決定してもよい。
例えば、管理サーバ92が、観測部48及び処理決定部(不図示)を備え、観測部48の観測するブラウジングクライアント部91の通信環境の情報をもとに、ブラウジングサーバ部93を決定したり、ブラウジングサーバ部93での処理を決定したりしてもよい。この場合、管理サーバ92は、接続先のブラウジングサーバ部93のアドレスをブラウジングクライアント部91へ通知するとともに、ブラウジングサーバ部93で行うべき処理を接続先のブラウジングサーバ部93へ通知する。ブラウジングサーバ部93で行うべき処理の通知は、ブラウジングクライアント部91からブラウジングサーバ部93へ行ってもよい。
(実施形態4)
なお、前述の実施形態では、具体的なアプリケーションとしてWebブラウザを仮定するが、必ずしも本発明の適用先をWebブラウザに限定するものではない。本発明は、Webブラウザと同様の以下の特徴を有するアプリケーションに共通的に適用できる。すなわち、遠隔のサーバからリソース(スクリプトを含む画面表示に必要な情報)を獲得・解析し、その結果をユーザ端末上に画面表示し、かつユーザの入力内容に従ってサーバから獲得したスクリプト等を評価し、その結果に基づきユーザ端末上の画面を更新するアプリケーションに適用できる。このようなアプリケーションとしては、例えば、オンラインゲーム、電子書籍リーダが挙げられる。本発明をこれらのアプリケーションに適用した場合の構成の一例を図27〜図30に示す。
例えば、前述の実施形態におけるWebブラウジングシステムは出力機能分割システムであってもよい。この場合の各構成の対応関係を図27及び図28に示す。出力機能分割システムは、Webサーバ96に代えて、アプリケーションコンテンツを格納するアプリケーションコンテンツサーバ96を備える。そして、アプリケーションコンテンツをユーザ端末に出力する機能が、アプリケーション実行クライアント部91とアプリケーション実行サーバ部93に分割される。
例えば、前述の実施形態におけるWebブラウジングシステムはオンラインゲームシステムであってもよい。この場合の各構成の対応関係を図27及び図28に示す。オンラインゲームシステムは、Webサーバ96に代えて、ゲームコンテンツを格納するゲームサーバ96を備える。そして、ゲームコンテンツをユーザ端末に出力する機能が、ゲームクライアント部91とゲームサーバ部93に分割される。これにより、ユーザ端末上の専用アプリ画面やゲーム専用端末上の画面にゲームを表示する。
例えば、前述の実施形態におけるWebブラウジングシステムは電子書籍システムであってもよい。この場合の各構成の対応関係を図29及び図30に示す。電子書籍システムは、Webサーバ96に代えて、電子書籍コンテンツを格納する電子書籍サーバ96を備える。そして、電子書籍コンテンツをユーザ端末に出力する機能が、電子書籍クライアント部91と電子書籍サーバ部93に分割される。これにより、ユーザ端末上の専用アプリ画面や、電子書籍専用端末上の画面に電子書籍を表示する。
例えば、前述の実施形態におけるWebブラウジングシステムは画面表示システムであってもよい。この場合の各構成の対応関係を図29及び図30に示す。画面表示システムは、Webサーバ96に代えて、ネットワーク上の位置(URIなど)に紐づくリソースを格納するアプリケーションコンテンツサーバ96を備える。そして、リソースをユーザ端末に出力する機能が、アプリケーション実行クライアント部91とアプリケーション実行サーバ部93に分割される。これにより、ユーザ端末上の専用アプリ画面や特定アプリケーション専用端末上の画面にリソースを表示する。
例えば、前述の実施形態におけるWebブラウジングシステムは音声出力システムであってもよい。この場合の各構成の対応関係を図29及び図30に示す。音声出力システムは、Webサーバ96に代えて、音声のコンテンツを格納する電子書籍サーバ96を備える。そして、音声のコンテンツをユーザ端末に出力する機能が、アプリケーション実行クライアント部91とアプリケーション実行サーバ部93に分割される。これにより、ユーザ端末アプリケーション上の音声再生や特定アプリケーション専用端末上の音声再生を行う。
本発明は情報通信産業に適用することができる。
11:操作イベント評価部
12:スクリプト評価部
13:HTML解析部
14:リクエスト送信部
15:レスポンス受信部
16:レイアウト部
17:描画部
21:リソース記憶部
22:DOMツリー記憶部
23:レイアウトデータ記憶部
31:操作イベントフィルタ部
32:操作イベント評価部
33:レイアウト部
34:描画部
35:URL転送部
41:リクエスト送信部
42:レスポンス受信部
43:HTML解析部
44:レイアウト部
45:描画部
46:操作イベント評価部
47:スクリプト評価部
48:観測部
49:ストリーム生成部
50:統合管理部
51:ブラウザ共有連携部
511:共有グループ管理部
512:クライアントプログラム連携部
513:ブラウジングサーバ連携部
514:ワンタイムセッションID管理部
52:ブラウジングサーバ管理部
91:ブラウジングクライアント部
91−1、91−2、91−3:ユーザ端末
92:管理サーバ
93:ブラウジングサーバ部
94:ネットワーク
95:インターネット
96:Webサーバ
97:Webブラウザ
971:URLエントリ部
972:Webビュー表示部

Claims (32)

  1. アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムであって、
    前記アプリケーション実行クライアント部は、前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知し、前記アプリケーション実行サーバ部から提供された解凍処理が必要となるファイルの解凍処理を行い、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行い、
    前記アプリケーション実行サーバ部は、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツに応じた出力を行うために必要な情報のうちの解凍処理が必要なファイルを解凍せずに前記アプリケーション実行クライアント部へ提供する、
    出力機能分割システム。
  2. 前記アプリケーション実行サーバ部を複数備え、
    前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部とネットワークで接続され、複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介する管理サーバをさらに備える
    請求項1に記載の出力機能分割システム。
  3. 前記アプリケーション実行サーバ部は、
    前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記アプリケーション実行クライアント部から前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
    前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツを出力するために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定部と、
    を備え、
    前記アプリケーション実行サーバ部は、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定部の決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供する、
    ことを特徴とする請求項1又は2に記載の出力機能分割システム
  4. アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムであって、
    前記アプリケーション実行サーバ部を複数備え、
    前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部とネットワークで接続され、複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介する管理サーバを備え、
    前記アプリケーション実行クライアント部は、前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知し、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行い、
    前記管理サーバから前記ユーザ端末に紹介された前記アプリケーション実行サーバ部は、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツに応じた出力を行うために必要な情報を前記アプリケーション実行クライアント部へ提供する、
    出力機能分割システム。
  5. 前記アプリケーション実行サーバ部は、
    前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記アプリケーション実行クライアント部から前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
    前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツを出力するために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定部と、
    を備え、
    前記アプリケーション実行サーバ部は、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定部の決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供する、
    ことを特徴とする請求項に記載の出力機能分割システム
  6. アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムであって、
    前記アプリケーション実行クライアント部は、前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知し、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行い、
    前記アプリケーション実行サーバ部は、
    前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記アプリケーション実行クライアント部から前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
    前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツを出力するために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定部と、
    を備え、
    前記アプリケーション実行サーバ部は、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定部の決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供する、
    出力機能分割システム。
  7. アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムにおけるアプリケーションコンテンツ出力方法であって、
    前記アプリケーション実行クライアント部が、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知する通知手順と、
    前記アプリケーション実行サーバ部が、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツに応じた出力を行うために必要な情報のうちの解凍処理が必要なファイルを解凍せずに前記アプリケーション実行クライアント部へ提供する提供手順と、
    前記アプリケーション実行クライアント部が、前記解凍処理の必要なファイルの解凍処理を行い、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行う出力手順と、
    を順に有するアプリケーションコンテンツ出力方法。
  8. 前記出力機能分割システムは、前記アプリケーション実行サーバ部を複数備えるとともに、前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部と接続された管理サーバをさらに備え、
    前記通知手順の前に、前記管理サーバが、複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介するサーバ部選択手順をさらに有することを特徴とする請求項に記載のアプリケーションコンテンツ出力方法。
  9. 前記通知手順の前に、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツに応じた出力を行うために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定手順をさらに有し、
    前記提供手順において、前記アプリケーション実行サーバ部は、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定手順で決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供し、
    前記出力手順において、前記アプリケーション実行クライアント部は、前記アプリケーション実行サーバ部から提供された情報を用いて前記ユーザ端末からアプリケーションコンテンツを出力する、
    ことを特徴とする請求項7又は8に記載のアプリケーションコンテンツ出力方法。
  10. アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムにおけるアプリケーションコンテンツ出力方法であって、
    前記出力機能分割システムは、前記アプリケーション実行サーバ部を複数備えるとともに、前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部と接続された管理サーバを備え、
    前記管理サーバが、複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介するサーバ部選択手順と、
    前記アプリケーション実行クライアント部が、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知する通知手順と、
    前記アプリケーション実行サーバ部が、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツに応じた出力を行うために必要な情報を前記アプリケーション実行クライアント部へ提供する提供手順と、
    前記アプリケーション実行クライアント部が、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行う出力手順と、
    を順に有するアプリケーションコンテンツ出力方法。
  11. 前記通知手順の前に、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツに応じた出力を行うために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定手順をさらに有し、
    前記提供手順において、前記アプリケーション実行サーバ部は、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定手順で決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供し、
    前記出力手順において、前記アプリケーション実行クライアント部は、前記アプリケーション実行サーバ部から提供された情報を用いて前記ユーザ端末からアプリケーションコンテンツを出力する、
    ことを特徴とする請求項10に記載のアプリケーションコンテンツ出力方法。
  12. アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムにおけるアプリケーションコンテンツ出力方法であって、
    前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツに応じた出力を行うために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定手順と、
    前記アプリケーション実行クライアント部が、前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知する通知手順と、
    前記アプリケーション実行サーバ部が、前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定手順で決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供する提供手順と、
    前記アプリケーション実行クライアント部が、前記アプリケーション実行サーバ部から提供された情報に応じた出力を前記ユーザ端末において行う出力手順と、
    を順に有するアプリケーションコンテンツ出力方法。
  13. アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムの前記アプリケーション実行サーバ部として用いられるサーバであって、
    前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記アプリケーション実行クライアント部から前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
    前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツを出力するために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定部と、
    を備え、
    前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定部の決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供するサーバ。
  14. アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムの前記アプリケーション実行サーバ部におけるアプリケーションコンテンツ出力方法であって、
    前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記アプリケーション実行クライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、アプリケーションコンテンツに応じた出力を行うために前記アプリケーション実行サーバ部が行う処理を当該アプリケーションコンテンツの要素ごとに決める処理決定手順と、
    前記ユーザ端末への入力内容を前記アプリケーション実行クライアント部から通知される通知手順と、
    前記アプリケーション実行クライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末からアプリケーションコンテンツを出力するために必要な情報のうちの前記処理決定手順で決定した処理を前記アプリケーションコンテンツの要素ごとに行ったうえで、前記必要な情報を前記アプリケーション実行クライアント部へ提供する提供手順と、
    順に有するアプリケーションコンテンツ出力方法。
  15. アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムに備わり、前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部とネットワークで接続されている管理サーバであって、
    前記出力機能分割システムは前記アプリケーション実行サーバ部を複数備え、
    前記複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介する管理サーバ。
  16. アプリケーションコンテンツの格納されているアプリケーションコンテンツサーバとネットワーク経由で接続されたユーザ端末における前記アプリケーションコンテンツの出力機能が、アプリケーション実行クライアント部とアプリケーション実行サーバ部に分割された出力機能分割システムに備わり、前記アプリケーション実行クライアント部及び前記アプリケーション実行サーバ部とネットワークで接続されている管理サーバにおけるアプリケーションコンテンツ出力方法であって、
    前記出力機能分割システムは前記アプリケーション実行サーバ部を複数備え、
    前記アプリケーション実行クライアント部が前記ユーザ端末への入力内容を前記アプリケーション実行サーバ部に通知する通知手順の前に、前記管理サーバが、複数の前記アプリケーション実行サーバ部のうちの設定された一つを前記ユーザ端末に紹介するサーバ部選択手順を有するアプリケーションコンテンツ出力方法。
  17. Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムであって、
    前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
    前記ブラウジングクライアント部は、前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知し、前記ブラウジングサーバ部から提供された解凍処理が必要となるファイルの解凍処理を行い、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示し、
    前記ブラウジングサーバ部は、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの解凍処理が必要なファイルを解凍せずに前記ブラウジングクライアント部へ提供する、
    Webブラウジングシステム。
  18. 前記ブラウジングサーバ部を複数備え、
    前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続され、前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介する管理サーバをさらに備える
    ことを特徴とする請求項17に記載のWebブラウジングシステム。
  19. 前記ブラウジングサーバ部は、
    前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記ブラウジングクライアント部から前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
    前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定部と、
    をさらに備え、
    前記ブラウジングサーバ部は、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定部の決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供し、
    前記ブラウジングクライアント部は、
    前記ブラウジングサーバ部からの前記観測要求に応じて観測結果を返送し、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する
    ことを特徴とする請求項17又は18に記載のWebブラウジングシステム。
  20. Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムであって、
    前記ブラウジングサーバ部を複数備え、
    前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
    前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続され、前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介する管理サーバを備え、
    前記ブラウジングクライアント部は、前記ユーザ端末に搭載され、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知し、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示し、
    前記管理サーバから前記ユーザ端末に紹介された前記ブラウジングサーバ部は、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報を前記ブラウジングクライアント部へ提供する、
    Webブラウジングシステム。
  21. 前記ブラウジングサーバ部は、
    前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記ブラウジングクライアント部から前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
    前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定部と、
    をさらに備え、
    前記ブラウジングサーバ部は、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定部の決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供し、
    前記ブラウジングクライアント部は、
    前記ブラウジングサーバ部からの前記観測要求に応じて観測結果を返送し、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する
    ことを特徴とする請求項20に記載のWebブラウジングシステム。
  22. Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムであって、
    前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
    前記ブラウジングクライアント部は、前記ユーザ端末に搭載され、前記ブラウジングサーバ部からの通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求に応じて観測結果を返送し、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知し、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示し、
    前記ブラウジングサーバ部は、
    前記ブラウジングクライアント部に前記観測要求を送信し、前記ブラウジングクライアント部から前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
    前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定部と、を備え、
    前記ブラウジングサーバ部は、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定部の決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供する、
    Webブラウジングシステム。
  23. Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムのWebブラウジング方法であって、
    前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
    前記ブラウジングクライアント部が、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知する通知手順と、
    前記ブラウジングサーバ部が、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの解凍処理が必要なファイルを解凍せずに前記ブラウジングクライアント部へ提供する提供手順と、
    前記ブラウジングクライアント部が、前記解凍処理の必要なファイルの解凍処理を行い、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する表示手順と、
    を順に有するWebブラウジング方法。
  24. 前記Webブラウジングシステムは、前記ブラウジングサーバ部を複数備えるとともに、前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続された管理サーバをさらに備え、
    前記通知手順の前に、前記管理サーバが、前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介するブラウジングサーバ部選択手順をさらに有することを特徴とする請求項23に記載のWebブラウジング方法。
  25. 前記通知手順の前に、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定手順をさらに有し
    前記提供手順において、前記ブラウジングサーバ部は、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定手順で決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供し、
    前記表示手順において、前記ブラウジングクライアント部は、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する、
    ことを特徴とする請求項23又は24に記載のWebブラウジング方法。
  26. Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムのWebブラウジング方法であって、
    前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
    前記Webブラウジングシステムは、前記ブラウジングサーバ部を複数備えるとともに、前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続された管理サーバを備え、
    前記管理サーバが、前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介するブラウジングサーバ部選択手順と、
    前記ブラウジングクライアント部が、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知する通知手順と、
    前記ブラウジングサーバ部が、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報を前記ブラウジングクライアント部へ提供する提供手順と、
    前記ブラウジングクライアント部が、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する表示手順と、
    を順に有するWebブラウジング方法。
  27. 前記通知手順の前に、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定手順をさらに有し
    前記提供手順において、前記ブラウジングサーバ部は、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定手順で決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供し、
    前記表示手順において、前記ブラウジングクライアント部は、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する、
    ことを特徴とする請求項26に記載のWebブラウジング方法。
  28. Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムのWebブラウジング方法であって、
    前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
    前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定手順と、
    前記ブラウジングクライアント部が、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知する通知手順と、
    前記ブラウジングサーバ部が、前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定手順で決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供する提供手順と、
    前記ブラウジングクライアント部が、前記ブラウジングサーバ部から提供された情報を用いて前記ユーザ端末にWebページを表示する表示手順と、
    を順に有するWebブラウジング方法。
  29. Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムの前記ブラウジングサーバ部であって、
    前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
    前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測する旨の観測要求を送信し、前記ブラウジングクライアント部から前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを取得する観測部と、
    前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定部と、
    を備え、
    前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定部の決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供する、
    ブラウジングサーバ部。
  30. Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムの前記ブラウジングサーバ部のWebブラウジング方法であって、
    前記ブラウジングクライアント部と前記ブラウジングサーバ部はネットワークで接続され、
    前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかを観測し、前記ブラウジングクライアント部の通信環境、負荷及び性能の少なくともいずれかに基づいて、Webページを表示するために前記ブラウジングサーバ部が行う処理を当該Webページの要素ごとに決める処理決定手順と、
    前記ユーザ端末への入力内容を前記ブラウジングクライアント部から通知される通知手順と、
    前記ブラウジングクライアント部から通知された前記ユーザ端末への入力内容に従って、前記ユーザ端末にWebページを表示するために必要な情報のうちの前記処理決定手順で決定した処理を前記Webページの要素ごとに行ったうえで、前記必要な情報を前記ブラウジングクライアント部へ提供する提供手順と、
    を順に有するブラウジングサーバ部のWebブラウジング方法。
  31. Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムに備わり、前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続されている管理サーバであって、
    前記Webブラウジングシステムは前記ブラウジングサーバ部を複数備え、
    前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介する管理サーバ。
  32. Webサーバに格納されているWebページを前記Webサーバとインターネットで接続されたユーザ端末に表示するWebブラウザ機能がブラウジングクライアント部とブラウジングサーバ部に分割されたWebブラウジングシステムに備わり、前記ブラウジングクライアント部及び前記ブラウジングサーバ部とネットワークで接続されている管理サーバのWebブラウジング方法であって、
    前記Webブラウジングシステムは前記ブラウジングサーバ部を複数備え、
    前記ブラウジングクライアント部が、前記ユーザ端末への入力内容を前記ブラウジングサーバ部に通知する通知手順の前に、前記管理サーバが、前記複数のブラウジングサーバ部のうちの前記ユーザ端末と最も近接するブラウジングサーバ部を前記ユーザ端末に紹介するブラウジングサーバ部選択手順を有する管理サーバのWebブラウジング方法。
JP2015500239A 2013-02-12 2014-02-10 出力機能分割システム Active JP5945060B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2013024265 2013-02-12
JP2013024265 2013-02-12
JP2013214357 2013-10-15
JP2013214357 2013-10-15
JP2013258618 2013-12-13
JP2013258618 2013-12-13
PCT/JP2014/053097 WO2014126069A1 (ja) 2013-02-12 2014-02-10 出力機能分割システム

Publications (2)

Publication Number Publication Date
JP5945060B2 true JP5945060B2 (ja) 2016-07-05
JPWO2014126069A1 JPWO2014126069A1 (ja) 2017-02-02

Family

ID=51354069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015500239A Active JP5945060B2 (ja) 2013-02-12 2014-02-10 出力機能分割システム

Country Status (4)

Country Link
US (1) US10389792B2 (ja)
EP (2) EP2958025B1 (ja)
JP (1) JP5945060B2 (ja)
WO (1) WO2014126069A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6291961B2 (ja) * 2014-03-28 2018-03-14 富士通株式会社 情報処理システム、情報処理端末、コンテンツ管理装置、及び情報処理方法
US9723056B1 (en) * 2014-05-30 2017-08-01 Amazon Technologies, Inc. Adapting a page based on a client environment
US9614900B1 (en) * 2014-06-19 2017-04-04 Amazon Technologies, Inc. Multi-process architecture for a split browser
US20170315971A1 (en) * 2014-10-06 2017-11-02 Symmetric Co., Ltd. Program for displaying webpage, terminal device, and server device
CN104462455B (zh) * 2014-12-16 2016-09-21 北京京东尚科信息技术有限公司 网络数据的展示处理方法和装置
KR102465572B1 (ko) * 2015-06-02 2022-11-11 주식회사 콤피아 앱 표시 방법
US10165022B1 (en) * 2016-04-29 2018-12-25 Intuit Inc. Screen sharing management
JP6943830B2 (ja) * 2018-10-19 2021-10-06 ファナック株式会社 制御装置、通信端末、及び制御システム
US20200186623A1 (en) * 2018-12-11 2020-06-11 Microsoft Technology Licensing, Llc Performant retrieval and presentation of content
CN110096190B (zh) * 2019-04-22 2022-05-27 聚好看科技股份有限公司 一种显示二维码的方法和终端

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070517A (ja) * 2002-08-02 2004-03-04 Fujitsu Ltd Webページ表示画面共有システム
US20040133848A1 (en) * 2000-04-26 2004-07-08 Novarra, Inc. System and method for providing and displaying information content
JP2006524367A (ja) * 2002-12-03 2006-10-26 ビットストリーム インコーポレーティッド ウェブページの拡大/縮小された表示に関する方法、システム、及び、プログラム
JP2009064442A (ja) * 2007-09-04 2009-03-26 Lg Telecom Ltd モバイルウェブサービスシステムおよび方法
US20100031139A1 (en) * 2006-12-25 2010-02-04 Access Co., Ltd Network system
JP2010087625A (ja) * 2008-09-29 2010-04-15 Nec Personal Products Co Ltd リモートデスクトップシステム、クライアント装置、サーバ、通信方式選択方法、プログラム及び記録媒体
US20100306643A1 (en) * 2009-03-30 2010-12-02 Nokia Corporation Methods and Systems for Processing Document Object Models (DOM) to Process Video Content
JP2011511974A (ja) * 2008-01-14 2011-04-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ブラウザ・ベースのプロキシ・サーバを使用した既存アプリケーションをカスタマイズおよび配布するための方法、システム、およびコンピュータ・プログラム(既存アプリケーションをカスタマイズおよび配布するためのブラウザ・ベースのプロキシ・サーバ)
WO2012062382A1 (en) * 2010-11-10 2012-05-18 Nec Europe Ltd. A method for accessing content in networks and a corresponding system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US7127493B1 (en) * 1998-08-20 2006-10-24 Gautier Taylor S Optimizing server delivery of content by selective inclusion of optional data based on optimization criteria
US8200837B1 (en) 1999-04-26 2012-06-12 Hewlett-Packard Development Company, L.P. Method and system for maintaining a content server at safe load conditions
US20020062396A1 (en) * 2000-10-31 2002-05-23 Mishou Co., Ltd. Server devices for displaying web pages
US20080222273A1 (en) 2007-03-07 2008-09-11 Microsoft Corporation Adaptive rendering of web pages on mobile devices using imaging technology
JP5335632B2 (ja) 2009-09-14 2013-11-06 富士フイルム株式会社 ウェブページ閲覧システム、サーバ、ウェブページ閲覧方法及びプログラム
US20120192080A1 (en) * 2011-01-21 2012-07-26 Google Inc. Tailoring content based on available bandwidth

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133848A1 (en) * 2000-04-26 2004-07-08 Novarra, Inc. System and method for providing and displaying information content
JP2004070517A (ja) * 2002-08-02 2004-03-04 Fujitsu Ltd Webページ表示画面共有システム
JP2006524367A (ja) * 2002-12-03 2006-10-26 ビットストリーム インコーポレーティッド ウェブページの拡大/縮小された表示に関する方法、システム、及び、プログラム
US20100031139A1 (en) * 2006-12-25 2010-02-04 Access Co., Ltd Network system
JP2009064442A (ja) * 2007-09-04 2009-03-26 Lg Telecom Ltd モバイルウェブサービスシステムおよび方法
JP2011511974A (ja) * 2008-01-14 2011-04-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ブラウザ・ベースのプロキシ・サーバを使用した既存アプリケーションをカスタマイズおよび配布するための方法、システム、およびコンピュータ・プログラム(既存アプリケーションをカスタマイズおよび配布するためのブラウザ・ベースのプロキシ・サーバ)
JP2010087625A (ja) * 2008-09-29 2010-04-15 Nec Personal Products Co Ltd リモートデスクトップシステム、クライアント装置、サーバ、通信方式選択方法、プログラム及び記録媒体
US20100306643A1 (en) * 2009-03-30 2010-12-02 Nokia Corporation Methods and Systems for Processing Document Object Models (DOM) to Process Video Content
WO2012062382A1 (en) * 2010-11-10 2012-05-18 Nec Europe Ltd. A method for accessing content in networks and a corresponding system

Also Published As

Publication number Publication date
JPWO2014126069A1 (ja) 2017-02-02
WO2014126069A1 (ja) 2014-08-21
EP3193270A1 (en) 2017-07-19
EP3193270B1 (en) 2022-06-22
EP2958025A4 (en) 2016-11-30
EP2958025B1 (en) 2019-09-04
US20160142466A1 (en) 2016-05-19
EP2958025A1 (en) 2015-12-23
US10389792B2 (en) 2019-08-20

Similar Documents

Publication Publication Date Title
JP5945060B2 (ja) 出力機能分割システム
US10956531B2 (en) Dynamic generation of mobile web experience
EP1320972B1 (en) Network server
US9167054B2 (en) Remote browsing session management
US10116487B2 (en) Management of interactions with representations of rendered and unprocessed content
US10506076B2 (en) Remote browsing session management with multiple content versions
JP4398462B2 (ja) ウェブ・デバイスにおけるhtmlページの提示を改善するための方法およびシステム
US10331769B1 (en) Interaction based prioritized retrieval of embedded resources
JP5805867B2 (ja) 遠隔ブラウジングセッション管理
US9621406B2 (en) Remote browsing session management
US9749202B1 (en) Remote session preview management
US8001213B2 (en) Method, apparatus and computer program product for providing unrestricted content on a user terminal
JP2011018314A (ja) ウェブページの共有方法、システムおよびコンピュータプログラム
JPWO2008078684A1 (ja) ネットワークシステム
JP2015060568A (ja) 検索システム、検索方法、端末装置および検索プログラム
WO2015154666A1 (zh) 桌面展示网页片段的方法及截取网页片段至桌面展示系统
JP2012032943A (ja) ウェブサイト閲覧システム、サーバ、サーバ用プログラム及びウェブサイト閲覧支援方法
JP5937207B2 (ja) 遠隔ブラウジングセッション管理
US20120284346A1 (en) Requesting Computer Data Assets
JP2005327150A (ja) 情報配信システムおよび情報配信方法
JP2009176176A (ja) ウェブページ配信装置
JP5901267B2 (ja) 情報処理装置およびその制御方法、並びにプログラム
JP2011253301A (ja) ウェブサイト閲覧システム、サーバ及びサーバ用プログラム
JP2005215776A (ja) コンテンツ変換装置およびコンテンツ変換方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160422

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160526

R150 Certificate of patent or registration of utility model

Ref document number: 5945060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150