JP6146230B2 - 中継装置、シンクライアントシステム、中継方法および中継プログラム - Google Patents

中継装置、シンクライアントシステム、中継方法および中継プログラム Download PDF

Info

Publication number
JP6146230B2
JP6146230B2 JP2013194665A JP2013194665A JP6146230B2 JP 6146230 B2 JP6146230 B2 JP 6146230B2 JP 2013194665 A JP2013194665 A JP 2013194665A JP 2013194665 A JP2013194665 A JP 2013194665A JP 6146230 B2 JP6146230 B2 JP 6146230B2
Authority
JP
Japan
Prior art keywords
area
client terminal
unit
page
server
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
JP2013194665A
Other languages
English (en)
Other versions
JP2015060461A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013194665A priority Critical patent/JP6146230B2/ja
Priority to US14/303,922 priority patent/US9571600B2/en
Publication of JP2015060461A publication Critical patent/JP2015060461A/ja
Application granted granted Critical
Publication of JP6146230B2 publication Critical patent/JP6146230B2/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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • 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
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、中継装置、シンクライアントシステム、中継方法および中継プログラムに関する。
シンクライアントというシステムが知られている。シンクライアントシステムでは、クライアント端末に最低限の機能しか持たせず、サーバでアプリケーションやファイルなどのリソースを管理するようにシステムが構築される。
かかるシンクライアントシステムは、実際にはサーバが処理を実行した処理結果やサーバが保持するデータをクライアント端末に表示させつつも、あたかもクライアント端末が主体となって処理を実行したり、データを保持したりしているかのように振る舞う。
このように、サーバおよびクライアント端末間でクライアント端末に表示させる画面データを伝送する場合には、操作に伴って画面更新が発生する。シンクライアントシステムで画面更新が発生すると、サーバからクライアント端末に画面更新前後の差分の画面データが送信される。ここで、例えば、WebブラウザでWebページを表示した場合に、Webページが縦長であると、一部分のみがWebブラウザの表示領域に表示される。このとき、クライアント端末からWebページをスクロールする操作情報がサーバに送られると、残りの部分のWebページについて、スクロール量に応じた差分の画面データが送信される。
例えば、WebブラウザによってWebページが表示されるとしたとき、Webページの表示サイズがクライアント端末の画面サイズを超える場合には、Webページの一部分に絞って画面に表示される場合がある。このとき、画面に表示されていない残りの部分を閲覧する場合には、クライアント端末で受け付けられたスクロール操作がサーバへ通知された後に、サーバからクライアント端末へスクロール後の更新画面が差分として送信される。
特開平6−214533号公報 特開2004−349965号公報 特開2008−40529号公報
しかしながら、上記の技術では、スクロール操作に対するレスポンスが低下する場合がある。
例えば、Webページのうち画面に表示されていない残りの部分を表示させるには、クライアント端末およびサーバの間でスクロールの操作情報および更新画面が授受されることになる。これによって、クライアント端末側でスクロール操作がなされてから更新画面が描画されるまでに遅延が生じる。さらに、スクロールを開始してからスクロールが停止するまで操作情報および更新画面が連続して授受されることになるので、描画遅延が増大する。この結果、例えば、スクロール操作に伴って画面がカクカクするなどのように、操作性が損なわれる場合がある。
一つの側面では、本発明は、スクロール操作に対するレスポンスを向上させることができる中継装置、シンクライアントシステム、中継方法および中継プログラムを提供することにある。
一つの態様では、中継装置は、第1通信部と、分割部と、算出部と、第2通信部とを有する。当該中継装置の第1通信部は、サーバ装置からページを受信する。当該中継装置の分割部は、前記ページのうち前記ページがクライアント端末によって表示される第1領域以外の第2領域を1つ以上の分割領域に分割する。当該中継装置の算出部は、前記サーバ装置から前記ページの全体を取得するための取得時間と前記クライアント端末に前記第1領域を送信するための送信時間との時間差に、前記クライアント端末へ送信する前記分割領域の個数を算出する。当該中継装置の第2通信部は、前記第1領域に対応する画像および前記算出部によって算出された個数の分割領域に対応する画像を前記クライアント端末に送信する。
スクロール操作に対するレスポンスを向上させることができる。
図1は、実施例のシンクライアントシステムの構成の一例を示すブロック図である。 図2は、実施例のシンクライアントシステムの動作の概要を説明する説明図である。 図3は、ページ全体の取得時間と第1領域の送信時間との関係の一例を示す説明図である。 図4は、第2可用帯域と、ページ全体の取得時間までに送信する分割領域の画像との関係の一例を示す説明図である。 図5は、実施例のシンクライアントシステムの動作の一例を示すシーケンス図である。 図6は、中継プログラムを実行するコンピュータの一例を示す説明図である。
以下、図面に基づいて、本願の開示する中継装置、シンクライアントシステム、中継方法および中継プログラムの実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
[システム構成]
まず、本実施例に係るシンクライアントシステムの構成について説明する。図1は、実施例のシンクライアントシステムの構成の一例を示すブロック図である。図1に示すシンクライアントシステム1は、クライアント端末300が表示する画面をリモートで中継装置であるGW(Gate Way)サーバ200に制御させるものである。つまり、シンクライアントシステム1は、実際にはGWサーバ200が実行した処理結果や保持するデータをクライアント端末300に表示させつつも、あたかもクライアント端末300が主体となって処理を実行したり、データを保持しているかのように振る舞う。
図1に示すシンクライアントシステム1は、サーバ装置であるWebサーバ100と、中継装置であるGWサーバ200と、クライアント端末300とを有する。なお、図1の例では、1つのGWサーバ200に対し、1つのWebサーバ100および1つのクライアント端末300を接続する場合を図示したが、任意の数のWebサーバおよびクライアント端末を接続できる。
これらWebサーバ100、GWサーバ200およびクライアント端末300は、所定のネットワークを介して、相互に通信可能に接続される。かかるネットワークには、有線または無線を問わず、インターネット、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の種類の通信網を採用できる。なお、GWサーバ200およびクライアント端末300間の通信プロトコルには、一例として、VNCにおけるRFB(Remote Frame Buffer)プロトコルを採用する場合を想定する。
Webサーバ100は、コンテンツを配信するサーバ装置であり、コンテンツとしてWebページを配信する。Webサーバ100は、GWサーバ200からのページ要求に応じて、対応するWebページをGWサーバ200に送信する。なお、以下の説明では、Webページのことを単にページと記載する場合がある。
GWサーバ200は、クライアント端末300に表示させる画面をリモートで制御するサービスを提供するコンピュータである。このGWサーバ200には、サーバ向けのリモート画面制御用のアプリケーションがインストールまたはプリインストールされる。なお、以下では、サーバ向けのリモート画面制御用のアプリケーションのことを「サーバ側リモート画面制御用アプリ」と記載する場合がある。
このサーバ側リモート画面制御用アプリは、基本機能として、リモート画面制御サービスを提供する機能を有する。一態様としては、サーバ側リモート画面制御用アプリは、クライアント端末300における操作情報を取得した上でその操作により要求された処理を自装置で動作するアプリケーションに実行させる。そして、サーバ側リモート画面制御用アプリは、アプリケーションにより実行された処理結果を表示するための画面を生成した上でその画面をクライアント端末300へ送信する。このとき、サーバ側リモート画面制御用アプリは、今回の画面生成の前にクライアント端末300で表示させていたビットマップ画像との間で変更があった部分の画素が集まった領域、すなわち更新矩形の画像を送信する。なお、更新部分の画像は矩形の画像に限られず、矩形以外の形状であってもよい。
このほか、サーバ側リモート画面制御用アプリは、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮してクライアント端末300へ送信する機能も有する。一態様としては、サーバ側リモート画面制御用アプリは、アプリケーションにより実行された処理結果から生成した画面を複数の領域に分割し、分割した領域ごとに変更の頻度を監視する。このとき、サーバ側リモート画面制御用アプリは、変更の頻度がしきい値を超えた領域、すなわち高頻度変更領域の属性情報をクライアント端末300へ送信する。これとともに、サーバ側リモート画面制御用アプリは、高頻度変更領域のビットマップ画像をMPEG−2やMPEG−4などのMPEG方式のデータにエンコードした上でクライアント端末300へ送信する。なお、ここでは、MPEG(Moving Picture Experts Group)方式のデータへ圧縮する場合を例示したが、これに限定されない。例えば、動画向けの圧縮方式であれば任意の圧縮符号化方式、例えばMotion−JPEG(Joint Photographic Experts Group)などを採用できる。
GWサーバ200は、アプリケーションとして画面のスクロールができるもの、例えば、Webブラウザを実行する場合がある。Webブラウザは、Webサーバ100からページを受信すると、ページのHTML等に従ってページに対応する画像を生成する。ここで、ページは、Webブラウザのウィンドウ内をスクロールすることで表示画面内に現れる、表示画面外の領域がある場合がある。このとき、ページを読み込んだ当初に表示画面内に表示される領域を第1領域とし、表示画面外のページの領域を第2領域とする。ここで、シンクライアントシステム1では、GWサーバ200がWebサーバ100からページ全体を受信する時間と、GWサーバ200が第1領域をクライアント端末300に送信する時間とに差が発生する。GWサーバ200は、この時間差に、第2領域の画像を分割して一部分をクライアント端末300に送信することで、ユーザのスクロールに対するレスポンス、つまり操作性を向上させることができる。ここで、GWサーバ200は、第2領域の分割について、例えば、ユーザがタッチパネル上において操作した1回分のフリックの操作量について統計を取り、例えば統計の最頻値に基づいて、予めスクロール量を決定する。GWサーバ200は、決定したスクロール量に基づいて、第2領域を1つ以上の分割領域に分割できる。
クライアント端末300は、GWサーバ200によるリモート画面制御サービスの提供を受ける側のコンピュータである。かかるクライアント端末300の一例としては、タブレット端末、スマートフォン等を採用できる。また、クライアント端末300の他の例としては、携帯電話機、PHS(Personal Handyphone System)やPDA(Personal Digital Assistant)などの移動体端末の他、パーソナルコンピュータ(personal computer)などの固定端末を採用することができる。このクライアント端末300には、クライアント向けのリモート画面制御用アプリケーションがインストールまたはプリインストールされる。なお、以下では、クライアント向けのリモート画面制御用のアプリケーションのことを「クライアント側リモート画面制御用アプリ」と記載する場合がある。
このクライアント側リモート画面制御用アプリは、タッチパネル、マウスやキーボードなどの各種の入力デバイスを介して受け付けた操作情報をGWサーバ200へ通知する機能を有する。一態様としては、クライアント側リモート画面制御用アプリは、表示部と一体となったタッチパネル上でのタップ、フリックの操作量などを操作情報として通知する。他の一例としては、クライアント側リモート画面制御用アプリは、マウスの左右のクリックを始め、ダブルクリックやドラッグ、マウスの移動操作を介して得られたマウスカーソルの移動量などを操作情報として通知する。さらに他の一例としては、クライアント側リモート画面制御用アプリは、マウスホイールの回転量、キーボードのうち押下されたキーの種別なども操作情報として通知する。
さらに、クライアント側リモート画面制御用アプリは、GWサーバ200から受信した画像を所定の表示部に表示させる機能を有する。一態様としては、クライアント側リモート画面制御用アプリは、GWサーバ200から更新矩形のビットマップ画像を受信した場合には、更新矩形の画像を前回のビットマップ画像から変更のあった位置に合わせて表示する。他の一態様としては、クライアント側リモート画面制御用アプリは、GWサーバ200から高頻度変更領域の属性情報を受信した場合には、その属性情報に含まれる位置に対応する表示画面上の領域をビットマップ画像の表示対象外のブランク領域とする。その上で、クライアント側リモート画面制御用アプリは、動画向けの圧縮方式のデータを受信した場合にそのデータをデコードした上でブランク領域に表示する。
また、クライアント端末300は、第2領域が分割された分割領域を受信すると、分割領域を表示バッファに記憶する。クライアント端末300は、ユーザによるフリック操作が入力されると、表示バッファに記憶された分割領域をフリック操作のスクロール量に応じて表示する。
[Webサーバの構成]
次に、本実施例に係るWebサーバの機能的構成について説明する。図1に示すように、Webサーバ100は、通信部101と、読出部102と、記憶部103とを有する。なお、図1の例では、図1に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや表示デバイスなどの機能を有するものとする。
通信部101は、例えば、NIC(Network Interface Card)等によって実現される。通信部101は、ネットワークを介してGWサーバ200と有線または無線で接続され、GWサーバ200との間で情報の通信を司る通信インタフェースである。通信部101は、GWサーバ200からページ要求を受信し、受信したページ要求を読出部102に出力する。また、通信部101は、読出部102から入力されたページをGWサーバ200に送信する。
読出部102は、通信部101からページ要求が入力されると、対応するページを記憶部103から読み出す。読出部102は、ページ要求として、例えば、所定URL(Uniform Resource Locator)が入力されると、記憶部103から所定URLに対応するページを読み出す。読出部102は、読み出したページを通信部101に出力する。
記憶部103は、ページを記憶する。ページは、例えば、HTML(Hyper Text Markup Language)等で記述され、画像等が含まれる。また、ページは、Java(登録商標)アプレット、Java(登録商標)EE(Java Platform, Enterprise Edition)、Flash(登録商標)、Ajax等を用いた動的なページであってもよい。ページは、他にも、JPEG等の静止画像、MPEG−2やMPEG−4などの動画像を含んでもよい。
[GWサーバの構成]
次に、本実施例に係るGWサーバの機能的構成について説明する。図1に示すように、GWサーバ200は、OS実行制御部201と、第1通信部202と、第1計測部203と、第2通信部204と、第2計測部205と、生成部206と、算出部207と、分割部208と、圧縮部209とを有する。また、OS実行制御部201は、フレームバッファ210を有する。なお、図1の例では、図1に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや表示デバイスなどの機能を有するものとする。
OS実行制御部201は、OS(Operating System)の実行を制御する処理部である。一態様としては、OS実行制御部201は、第2通信部204を介して取得された操作情報からアプリケーションの起動指示やアプリケーションに対するコマンドを検出する。例えば、OS実行制御部201は、アプリケーションのアイコン上でタップを検出した場合に、そのアイコンに対応するアプリケーションを起動する。また、OS実行制御部201は、起動中のアプリケーションの操作画面、いわゆるウィンドウ上でコマンドの実行を要求する操作を検出した場合に、そのコマンドの実行を当該アプリケーションへ指示する。なお、以下では、アプリケーションのことを「アプリ」と記載する場合がある。また、OS実行制御部201は、リモート画面および各アプリケーションの画面の画像を記憶するフレームバッファ210を有し、リモート画面全体を制御する。
第1通信部202は、例えば、NIC等によって実現される。第1通信部202は、ネットワークを介してWebサーバ100と有線または無線で接続され、Webサーバ100との間で情報の通信を司る通信インタフェースである。第1通信部202は、Webサーバ100に対してページ要求を送信する。また、第1通信部202は、Webサーバ100からページを受信する。なお、受信するページには、当該ページ全体のデータ量の情報が含まれる。第1通信部202は、ページを生成部206に出力し、ページ全体のデータ量を算出部207に出力する。
第1計測部203は、第1通信部202での通信を計測する。第1計測部203は、例えば、第1通信部202と、Webサーバ100の通信部101との間の通信データ量を1秒ごとに計測し、第1通信部202と通信部101との間の使用可能な帯域である可用帯域を計測する。第1計測部203は、計測した可用帯域を第1可用帯域として算出部207に出力する。
第2通信部204は、例えば、NIC等によって実現される。第2通信部204は、ネットワークを介してクライアント端末300と有線または無線で接続され、クライアント端末300との間で情報の通信を司る通信インタフェースである。第2通信部204は、クライアント端末300から操作情報を受信してOS実行制御部201および算出部207に出力する。また、第2通信部204は、圧縮部209から圧縮された差分の画像データである圧縮データが入力されると、クライアント端末300に対して圧縮データを送信する。
第2計測部205は、第2通信部204での通信を計測する。第2計測部205は、例えば、第2通信部204とクライアント端末300の後述する通信部302との間の通信データ量を1秒ごとに計測し、第2通信部204と通信部302との間の使用可能な帯域である可用帯域を計測する。第2計測部205は、計測した可用帯域を第2可用帯域として算出部207に出力する。
生成部206は、第1通信部202から入力されたページに基づいて、ページを表示画面に表示するための画像を生成する。生成部206は、例えば、アプリケーションとしてWebブラウザ機能を有し、ページのHTML等に従ってページに対応する画像を生成する。ここで、ページは、Webブラウザの表示画面内に全て表示することができるとは限らず、Webブラウザのウィンドウ内をスクロールすることで、表示画面内に現れる領域がある。このとき、ページは、ページがクライアント端末によって表示される領域を第1領域とし、第1領域以外の領域を第2領域とする。つまり、Webブラウザのウィンドウ内をスクロールすることで、表示画面内に現れる領域を第2領域とする。生成部206は、第1領域および第2領域の画像、つまり、ページ全体に対応する画像を生成しフレームバッファ210に描画して記憶する。
算出部207は、第1通信部202からページ全体のデータ量が入力され、第1計測部203から第1可用帯域が入力される。また、算出部207は、第2計測部205から第2可用帯域が入力される。算出部207は、ページ全体のデータ量と第1可用帯域とに基づいて、Webサーバ100からページ全体を取得する取得時間を算出する。なお、第1可用帯域は予め予測に基づいて定めた値を用いてもよい。例えば、算出部207は、ページ全体のデータ量が1MByte、第1可用帯域が20Mbpsであるとすると、ページ全体を取得する取得時間Teは、(1×1024×1024×8)/(20×1024×1024)より400msと算出できる。
また、算出部207は、圧縮部209から第1領域の画像の圧縮データ量が入力される。算出部207は、第1領域の画像の圧縮データ量と、第2可用帯域とに基づいて、クライアント端末300に第1領域の画像を送信する送信時間を算出する。なお、第1領域の画像の圧縮データ量は、予め予測に基づいて定めた値を用いてもよい。例えば、GWサーバ200とクライアント端末300とが初めて接続された場合等では、予め定めた平均的な圧縮データ量を第1領域の画像の圧縮データ量とすることができる。例えば、算出部207は、第1領域の画像の圧縮データ量が100KByte、第1可用帯域が7Mbpsであるとすると、第1領域の画像の送信時間は、(100×1024×8)/(7×1024×1024)より112msと算出できる。なお、算出部207は、第1可用帯域についても、予め定めた予測値を用いてもよい。また、算出部207は、予測した第1領域の画像の圧縮データ量および第1可用帯域に基づいて、第1領域の画像の送信時間を予め定めた値としてもよい。
算出部207は、ページ全体を取得する取得時間Teと、第1領域の画像の送信時間との時間差を算出する。例えば、上記の例では、算出部207は、時間差として、400−112より288msと算出できる。算出部207は、時間差と第2可用帯域とに基づいて、時間差内にクライアント端末300に送信できるデータ量を算出する。例えば、上記の例では、算出部207は、時間差内に送信できるデータ量として、(0.288×7×1024×1024)/8/1024より258KByteと算出できる。
算出部207は、予め定められた所定値の1つの分割領域の圧縮データ量と、時間差内に送信できるデータ量とに基づいて、時間差内にクライアント端末300に送信する分割領域の個数を算出する。算出部207は、例えば、1つの分割領域の圧縮データ量が90kByteであったとすると、上記の例では、時間差内にクライアント端末300に送信する分割領域の個数は、258/90より2個と算出できる。算出部207は、1つの分割領域の圧縮データ量と、算出した送信する分割領域の個数とを分割部208に出力する。なお、1つの分割領域の圧縮データ量の予め定められた所定値は、例えば、クライアント端末300に送信するデータ量について統計を取って求めた平均値等に基づいて、例えば、50KByte、100KByte等としてもよい。
また、算出部207は、1つの分割領域の圧縮データ量について、例えば、ユーザがタッチパネル上において操作する1回分のフリックの操作量に基づくスクロール量に対応するデータ量を用いることができる。例えば、当該スクロール量は、クライアント端末300でのフリック操作によるスクロール量の統計値に基づいて、予め最頻値等を算出することで決定される。
また、算出部207は、スクロール量について、ユーザの操作によって逐次更新された値を用いるようにしてもよい。この場合、算出部207は、第2通信部204から操作情報が入力され、操作情報からスクロール量を抽出する。算出部207は、抽出したスクロール量に基づいて、対応する圧縮データ量を算出する。算出部207は、例えば抽出したスクロール量と平均的な圧縮率とに基づいて、対応する圧縮データ量を算出する。算出部207は、算出された対応する圧縮データ量を1つの分割領域の圧縮データ量とし、当該1つの分割領域の圧縮データ量と時間差内に送信できるデータ量とに基づいて、時間差内にクライアント端末300に送信する分割領域の個数を算出する。このように、更新されたスクロール量を用いることで、ユーザの操作に応じて第2領域の分割領域の個数を算出するための基準となる1つの分割領域の圧縮データ量を変更することができる。
また、算出部207は、時間差内にクライアント端末300に送信する分割領域の個数を、分割領域のピクセル数で規定してもよい。この場合、算出部207は、分割領域のピクセル数について、予め定めるか、上述のスクロール量に基づいて、スクロール方向のピクセル数を決定する。算出部207は、予め定めた、または、決定した分割領域のピクセル数を分割部208に出力する。分割領域のピクセル数は、例えば、ブラウザの表示領域の半分とすることができ、例えば、表示領域のスクロール方向のピクセル数が600ピクセルとした場合に、300ピクセルとすることができる。つまり、第2領域は、第2領域の面積に応じて分割領域に分割してもよい。
分割部208は、フレームバッファ210からページ全体の画像を読み出して、第1領域と第2領域とに分割する。また、分割部208は、算出部207から1つの分割領域の圧縮データ量またはピクセル数と、算出された送信する分割領域の個数とが入力される。分割部208は、入力された1つの分割領域の圧縮データ量またはピクセル数に基づいて、第2領域を1つ以上の分割領域に分割する。分割部208は、第1領域に対応する画像について更新の有無を判定し、更新があれば差分の画像データを生成する。また、分割部208は、送信する個数の分割領域に対応する画像について更新の有無を判定し、更新があれば差分の画像データを生成する。分割部208は、第1領域に対応する画像の差分の画像データを圧縮部209に出力する。また、分割部208は、送信する個数の分割領域に対応する画像の差分の画像データを、第1領域に隣接する分割領域から順に圧縮部209に出力する。なお、第2領域のスクロール方向のピクセル数が、1つの分割領域の圧縮データ量に基づくピクセル数、または、入力されたピクセル数に満たない場合には、第2領域を分割せずに1つの領域、つまり分割領域の個数を1つとすることができる。
圧縮部209は、分割部208から第1領域に対応する画像、および、分割領域に対応する画像の差分の画像データが入力されると、それぞれの画像の差分の画像データを圧縮する。圧縮部209は、圧縮のコーデックとして、例えば、静止画像であればJPEG、動画像であればMPEG−2またはMPEG−4等を用いる。圧縮部209は、圧縮された差分の画像データを圧縮データ(更新差分)として、第2通信部204に出力する。また、圧縮部209は、第1領域に対応する画像の圧縮データのデータ量を、第1領域の画像の圧縮データ量として算出部207に出力する。
フレームバッファ210は、生成部206により描画されたページ全体に対応する画像であるビットマップ画像を記憶する記憶デバイスである。かかるフレームバッファ210の一態様としては、VRAM(Video Random Access Memory)を始めとするRAM(Random Access Memory)、ROM(Read Only Memory)やフラッシュメモリ(flash memory)などの半導体メモリ素子が挙げられる。なお、フレームバッファ210は、ハードディスク、光ディスクなどの記憶装置を採用することとしてもかまわない。
[クライアント端末の構成]
次に、本実施例に係るクライアント端末の機能的構成について説明する。図1に示すように、クライアント端末300は、入力部301と、通信部302と、復元部303と、表示バッファ304と、表示部305とを有する。なお、図1の例では、図1に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば音声出力部などの機能を有するものとする。
入力部301は、ユーザから各種操作を受け付ける入力デバイスである。例えば、入力部301は、タッチパネル、マウスやキーボードなどによって実現される。また、入力部301は、タッチパネルを用いる場合には、表示デバイスである表示部305と一体化される。入力部301は、ユーザの操作に応じた操作情報を通信部302に出力する。
通信部302は、例えば、NIC等によって実現され、送信部および受信部を有する。通信部302は、ネットワークを介してGWサーバ200と有線または無線で接続され、GWサーバ200との間で情報の通信を司る通信インタフェースである。通信部302は、入力部301から入力された操作情報を、ネットワークを介してGWサーバ200に送信する。また、通信部302は、GWサーバ200から圧縮データを受信すると、復元部303に対して圧縮データを出力する。
復元部303は、通信部302から入力された圧縮データを復元する。復元部303は、圧縮データから、第1領域に対応する画像、および、分割領域に対応する画像の差分の画像データを復元して、表示バッファ304に記憶する。復元部303は、表示バッファ304に記憶されている画像データ、つまり現在表示している画像の画像データに対して、差分の画像データで更新することで、新たに表示する画像データを生成して表示バッファ304に記憶する。なお、復元部303での復元は、GWサーバ200の圧縮部209で圧縮に用いたコーデックによって復元する。
表示バッファ304は、ページ全体に対応する画像が記憶される。つまり、表示バッファ304は、第1領域に対応する画像、および、分割領域に対応する画像が記憶される。
表示部305は、各種情報を表示するための表示デバイスであり、例えば、液晶ディスプレイ等によって実現される。また、表示部305は、入力部301としてタッチパネルを用いる場合には、入力部301と一体化される。表示部305は、表示バッファ304から表示画面に表示する画像データを読み込んで表示する。
次に、本実施例のシンクライアントシステムの動作について説明する。
まず、図2を用いて本実施例のシンクライアントシステムの動作の概要を説明する。図2は、実施例のシンクライアントシステムの動作の概要を説明する説明図である。ユーザは、Webサーバ100に格納されているWebページを、クライアント端末300を用いて、閲覧しているとする。このとき、実際にWebサーバ100にアクセスするのはGWサーバ200である。クライアント端末300は、GWサーバ200のブラウザ(生成部)206によって生成されたページの画像を受信することで、あたかもWebサーバ100にアクセスしているかのように振る舞う。
まず、ユーザの指11によって、クライアント端末300の表示部305に表示されたブラウザの画面上で、例えば、あるリンクがタップされる。クライアント端末300は、タップ操作が入力部301から入力されると、操作情報としてGWサーバ200に送信する(ステップS1)。
GWサーバ200は、操作情報を受信すると、OS実行制御部201によってブラウザ206に操作情報が入力される。ブラウザ206は、操作情報に基づいてWebサーバ100に対してページ要求を行う(ステップS2)。Webサーバ100は、ページ要求に対して、対応するページを記憶部103から読み出してGWサーバ200に送信する(ステップS3)。
GWサーバ200は、Webサーバ100からページを受信すると、ブラウザ206がフレームバッファ210にページを描画して記憶する。GWサーバ200は、ページのうちクライアント端末300で表示される第1領域の画像をクライアント端末300に送信する(ステップS4)。クライアント端末300は、第1領域の画像を受信すると、表示バッファ304に記憶して表示部305に表示する。
続いて、GWサーバ200は、ページのうち第1領域以外の第2領域を分割し、第1領域に隣接する分割領域からクライアント端末300に送信する(ステップS5)。ここで、GWサーバ200は、例えば、1つの分割領域の圧縮データ量に応じて、n個に分割する。また、GWサーバ200は、Webサーバ100からページ全体を取得するための取得時間Teと、クライアント端末300へ第1領域の画像を送信する送信時間T1との時間差Te−T1を算出する。GWサーバ200は、時間差Te−T1の間にクライアント端末300に送信可能な分割領域の個数を算出する。GWサーバ200は、例えば、送信可能な分割領域の個数が2個であったとすると、分割領域r1,r2を時間差Te−T1の間にクライアント端末300に送信する。
クライアント端末300は、分割領域r1,r2を受信すると、表示バッファ304に記憶する。ここで、クライアント端末300は、ユーザの指11によってフリック操作が入力部301から入力されると、操作情報としてGWサーバ200に送信する。また、クライアント端末300は、表示バッファ304に記憶された分割領域r1,r2をフリック操作に応じて表示部305に表示する。なお、GWサーバ200は、クライアント端末300から新たな操作情報が入力されなければ、残りの分割領域を順にクライアント端末300に送信するようにしてもよい。
このように、シンクライアントシステム1は、GWサーバ200がページ全体を取得する取得時間と、クライアント端末300によって表示される第1領域を送信する送信時間との時間差に、第1領域以外のページの一部分をクライアント端末300に送信する。これにより、クライアント端末300でのスクロール操作に対するレスポンスを向上できる。
ここで、図3を用いて、GWサーバ200がWebサーバ100からページ全体を取得する取得時間Teと、GWサーバ200からクライアント端末300への第1領域および分割領域の送信時間との関係を説明する。図3は、ページ全体の取得時間と第1領域の送信時間との関係の一例を示す説明図である。GWサーバ200は、クライアント端末300から操作情報を受信すると、Webサーバ100に対してページ要求を送信する。Webサーバ100は、GWサーバ200に対してページの送信を開始する。ここで、ページのHTMLには、当該ページ全体のデータ量が記載されている。また、GWサーバ200がページの受信を開始した時間をTs、ページ全体を取得する取得時間をTe、クライアント端末300に第1領域を送信する送信時間をT1とする。このとき、図3に示すように、GWサーバ200は、Tsからページの受信と第1領域の送信とを開始し、T1の時点で第1領域の送信が完了する。GWサーバ200は、取得時間Teまでに時間差(Te−T1)があるので、時間差(Te−T1)を利用して分割領域rの画像をクライアント端末300に送信する。
図4は、第2可用帯域と、ページ全体の取得時間までに送信する分割領域の画像との関係の一例を示す説明図である。GWサーバ200からクライアント端末300に送信できる分割領域rの画像の個数は、時間差(Te−T1)と第2可用帯域とに基づいて算出する。図4に示すように、GWサーバ200は、第2可用帯域の範囲内で第1領域の画像の送信を行い、その後、第1領域の画像の送信が完了する送信時間T1から、第2可用帯域の範囲内で分割領域r1、r2・・・rnの画像の送信を行う。図4の例では、GWサーバ200は、時間差(Te−T1)の間に、分割領域r1およびr2をクライアント端末300に送信する。なお、各画像は、圧縮データとして送信される。
続いて、図5を用いて、本実施例のシンクライアントシステム1の動作のシーケンスを説明する。図5は、実施例のシンクライアントシステムの動作の一例を示すシーケンス図である。
シンクライアントシステム1の初期設定として、GWサーバ200での分割領域の大きさ、つまり、1つの分割領域の圧縮データ量は、予め所定の値に設定されているものとする。まず、シンクライアントシステム1のWebサーバ100、GWサーバ200およびクライアント端末300は、それぞれの間で送受信されるデータ等を用いて可用帯域を計測する。GWサーバ200を例に説明すると、GWサーバ200とWebサーバ100との間で、ページ要求である所定URLやページのデータが送受信される。GWサーバ200の第1計測部203は、第1通信部202について送受信されたデータを計測する、つまり、使用可能な帯域である第1可用帯域を計測する。また、GWサーバ200とクライアント端末300との間で、操作情報や画面データ等が送受信される。GWサーバ200の第2計測部205は、第2通信部204について送受信されたデータを計測する、つまり、使用可能な帯域である第2可用帯域を計測する(ステップS10)。計測された第1可用帯域および第2可用帯域は、算出部207に入力される。なお、可用帯域の計測は、Webサーバ100およびクライアント端末300で可用帯域をそれぞれ計測し、計測された可用帯域をGWサーバ200に送信するようにしてもよい。
次に、クライアント端末300において、ユーザによる操作が行われる(ステップS11)。ユーザの操作は、例えばクライアント端末300の表示部305に表示されたブラウザの画面上で、例えば、あるリンクがタップされる。クライアント端末300は、タップ操作が入力部301から入力されると、操作情報としてGWサーバ200に送信する(ステップS12)。
GWサーバ200は、操作情報を受信すると(ステップS13)、OS実行制御部201によってブラウザ206に操作情報が入力される。ブラウザ206は、操作情報に基づいてWebサーバ100に対して所定URLのページを要求する(ステップS14)。Webサーバ100は、ページ要求として所定URLを受信すると、所定URLのページを記憶部103から読み出す(ステップS15)。Webサーバ100は、読み出したページをGWサーバ200に送信する(ステップS16)。
GWサーバ200の第1通信部202は、Webサーバ100からページの受信を開始する(ステップS17)。第1通信部202は、ページを生成部206に出力し、ページのHTMLに記載されているページ全体のデータ量を抽出して算出部207に出力する。算出部207は、ページ全体のデータ量と第1可用帯域とに基づいて、Webサーバ100からページ全体を取得する取得時間Teを算出する(ステップS18)。生成部206は、第1通信部202から入力されたページをフレームバッファ210に描画して、ページを表示画面に表示するための画像を生成する(ステップS19)。
分割部208は、フレームバッファ210からページ全体の画像を読み出して、第1領域と第2領域とに分割し、第1領域の画像をキャプチャして取得する(ステップS20)。分割部208は、取得した第1領域の画像が、前回取得した第1領域の画像に対して更新があるか否かを判定する(ステップS21)。分割部208は、取得した第1領域の画像が、前回取得した第1領域の画像に対して更新がない場合には(ステップS21:否定)、ステップS20に戻り、所定の間隔、例えば、1秒間に5回の間隔で第1領域の画像のキャプチャを続ける。分割部208は、取得した第1領域の画像が、前回取得した第1領域の画像に対して更新がある場合には(ステップS21:肯定)、前回取得した第1領域の画像と今回取得した第1領域の画像の差分の画像データを生成して圧縮部209に出力する。圧縮部209は、入力された第1領域の差分の画像データを圧縮し、圧縮データを第2通信部204に出力する(ステップS22)。また、圧縮部209は、第1領域の画像の圧縮データのデータ量を算出部207に出力する。
第2通信部204は、圧縮された差分の画像データを圧縮データとして、クライアント端末300に送信する(ステップS23)。クライアント端末300の通信部302は、GWサーバ200から圧縮データを受信すると、復元部303に対して圧縮データを出力する(ステップS24)。復元部303は、圧縮データから、第1領域に対応する画像の差分の画像データを復元して更新する部分の画像データを生成し、表示バッファ304に記憶された画像を更新する。表示部305は、表示バッファ304から表示画面に表示する画像データを読み込んで表示する(ステップS25)。
GWサーバ200の分割部208は、第1領域の描画が収束したか否かを判定する(ステップS26)。分割部208は、第1領域の描画が収束していない場合には(ステップS26:否定)、ステップS20に戻り、ステップS20からステップS23までを繰り返す。つまり、分割部208は、第1領域の描画が収束するまで、所定の間隔で第1領域の画像のキャプチャを続け、差分の画像データをクライアント端末300に送信する。分割部208は、第1領域の描画が収束している場合には(ステップS26:肯定)、第1領域についての更新処理を終了する。
分割部208は、第1領域に対するステップS20〜S26の処理と並行して、第2領域に対する処理を行う。分割部208は、予め定められた所定値の1つの分割領域の圧縮データ量に基づいて、第2領域を1つ以上の分割領域に分割する(ステップS27)。算出部207は、第1領域の画像の圧縮データ量と、第2可用帯域とに基づいて、クライアント端末300に第1領域の画像を送信する送信時間T1を算出する。また、算出部207は、ページ全体を取得する取得時間Teと、第1領域の画像の送信時間T1との時間差を算出する。算出部207は、時間差と第2可用帯域とに基づいて、時間差内にクライアント端末300に送信できるデータ量を算出する。算出部207は、1つの分割領域の圧縮データ量と、時間差内に送信できるデータ量とに基づいて、時間差内にクライアント端末300に送信する分割領域の個数を算出する(ステップS28)。
分割部208は、算出部207から時間差内にクライアント端末300に送信する分割領域の個数が入力されると、第1領域に隣接する分割領域から順に、分割領域に対応する画像をキャプチャして取得する(ステップS29)。分割部208は、取得した分割領域の画像が、前回取得した分割領域の画像に対して更新があるか否かを判定する(ステップS30)。分割部208は、取得した分割領域の画像が、前回取得した分割領域の画像に対して更新がない場合には(ステップS30:否定)、ステップS29に戻り、所定の間隔、例えば、1秒間に5回の間隔で分割領域の画像のキャプチャを続ける。分割部208は、取得した分割領域の画像が、前回取得した分割領域の画像に対して更新がある場合には(ステップS30:肯定)、前回取得した分割領域の画像と今回取得した分割領域の画像の差分の画像データを生成して圧縮部209に出力する。圧縮部209は、入力された分割領域の差分の画像データを圧縮し、圧縮データを第2通信部204に出力する(ステップS31)。
第2通信部204は、圧縮された差分の画像データを圧縮データとして、クライアント端末300に送信する(ステップS32)。クライアント端末300の通信部302は、GWサーバ200から圧縮データを受信すると、復元部303に対して圧縮データを出力する(ステップS33)。復元部303は、圧縮データから、分割領域に対応する画像の差分の画像データを復元して更新する部分の画像データを生成し、表示バッファ304に記憶された画像データを更新する(ステップS34)。
クライアント端末300は、ユーザによって画面をスクロールするためのフリック操作が入力されると(ステップS35)、フリック操作の操作情報をGWサーバ200に送信する。また、クライアント端末300は、操作情報の送信とともに、表示部305が表示バッファ304から表示画面に表示する分割領域の画像を読み込んで表示する(ステップS36)。
GWサーバ200の分割部208は、ページ全体の取得時間Teが経過したか否かを判定する(ステップS37)。分割部208は、ページ全体の取得時間Teが経過していない場合には(ステップS37:否定)、ステップS29に戻り、ステップS29からステップS32までを繰り返す。つまり、分割部208は、ページ全体の取得時間Teが経過するまで、所定の間隔で分割領域の画像のキャプチャを続け、第1領域に隣接した分割領域から順に差分の画像データをクライアント端末300に送信する。分割部208は、ページ全体の取得時間Teが経過した場合には(ステップS37:肯定)、分割領域、つまり第2領域についての更新処理を終了する。
このように、中継装置であるGWサーバ200は、サーバ装置であるWebサーバ100からページを受信し、ページのうちページがクライアント端末300によって表示される第1領域以外の第2領域を1つ以上の分割領域に分割する。また、GWサーバ200は、Webサーバ100からページの全体を取得するための取得時間とクライアント端末300に第1領域を送信するための送信時間との時間差に、クライアント端末300へ送信する分割領域の個数を算出する。また、GWサーバ200は、第1領域に対応する画像および算出された個数の分割領域に対応する画像をクライアント端末300に送信する。その結果、スクロール操作に対するレスポンスを向上させることができる。
また、GWサーバ200は、さらに、ページに基づいて、第1領域に対応する画像および第2領域に対応する画像を生成し、第1領域および第2領域に対応する画像をフレームバッファ210に記憶する。また、GWサーバ200は、第1通信部202の使用可能な帯域である第1可用帯域を計測し、第2通信部204の使用可能な帯域である第2可用帯域を計測する。また、GWサーバ200は、ページの全体のデータ量と第1可用帯域とに基づいて、ページの全体を取得するための取得時間を算出し、第1領域に対応する画像と第2可用帯域とに基づいて、送信時間を算出する。また、GWサーバ200は、算出された取得時間と送信時間とに基づいて時間差を算出し、算出された時間差と、第2可用帯域とに基づいて、時間差内にクライアント端末300へ送信する分割領域の個数を算出する。その結果、Webサーバ100およびクライアント端末300との間の可用帯域に応じた個数の分割領域を、クライアント端末300に送信できる。
また、GWサーバ200は、第2領域について、クライアント端末300でのスクロール量の統計値に基づき予め決定されたスクロール量に基づいて、1つ以上の分割領域に分割する。その結果、画面の大きさが異なる複数種類のクライアント端末300であっても、それぞれの画面に応じてスクロール操作に対するレスポンスを向上させることができる。
また、GWサーバ200は、分割領域に対応する画像について、第1領域に対応する画像に隣接する分割領域に対応する画像から順に送信する。その結果、ページ全体の取得時間経過前にクライアント端末300から画面をスクロールさせるフリック操作の操作情報が入力されても、既に送信された分割領域については、スクロール操作に対するレスポンスを向上させることができる。
また、上記実施例では、GWサーバ200は、第1領域と第2領域に対する処理を並行して行ったが、これに限定されない。GWサーバ200は、例えば、第1領域に対する処理が終了して、圧縮データのクライアント端末300への送信が完了してから、第2領域の処理を実行してもよい。その結果、分割部208での画像のキャプチャ処理の負荷を軽減できる。
また、上記実施例では、GWサーバ200からクライアント端末300に対して時間差に送信する分割領域の個数を、実測したページ全体のデータ量、第1可用帯域、第1領域の画像のデータ量、および、第2可用帯域から算出したが、これに限定されない。GWサーバ200は、例えば、各通信回線の品質、各データ量が予測できる場合には、予めこれらの予測値に基づいて、時間差内に送信する分割領域の個数を算出してもよい。その結果、第1計測部203および第2計測部204を省略することができ、算出部207の負荷を軽減することができる。
また、上記実施例では、コンテンツとしてHTMLを用いたWebページを例示したが、これに限定されない。コンテンツは、コンテンツ全体の取得時間がアクセス開始時に判明するものであれば、地図、PDF(Portable Document Format)ファイル等の他のコンテンツであってもよい。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、算出部207は、時間差にクライアント端末300に送信する分割領域の個数と、分割領域の個数を算出するための基準量である1つの分割領域の圧縮データ量とを算出したが、これらを分割して2つの算出部とすることもできる。
さらに、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図6は、中継プログラムを実行するコンピュータの一例を示す説明図である。
図6が示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータ入力を受け付ける入力装置402と、モニタ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る媒体読取装置404と、他の装置と接続するためのインタフェース装置405と、他の装置と無線により接続するための無線通信装置406とを有する。また、コンピュータ400は、各種情報を一時記憶するRAM407と、ハードディスク装置408とを有する。また、各装置401〜408は、バス409に接続される。
ハードディスク装置408には、図1に示した算出部207および分割部208の各処理部と同様の機能を有する情報処理プログラムが記憶される。また、ハードディスク装置408には、情報処理プログラムを実現するための各種データが記憶される。インタフェース装置405および無線通信装置406は、図1に示した第1通信部202および第2通信部204と同様の機能を有する。
CPU401は、ハードディスク装置408に記憶された各プログラムを読み出して、RAM407に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ400を図1に示した算出部207および分割部208として機能させることができる。
なお、上記の情報処理プログラムは、必ずしもハードディスク装置408に記憶されている必要はない。例えば、コンピュータ400が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ400が読み出して実行するようにしてもよい。コンピュータ400が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN(Local Area Network)等に接続された装置にこの情報処理プログラムを記憶させておき、コンピュータ400がこれらから情報処理プログラムを読み出して実行するようにしてもよい。
1 シンクライアントシステム
100 Webサーバ
101 通信部
102 読出部
103 記憶部
200 GWサーバ
201 OS実行制御部
202 第1通信部
203 第1計測部
204 第2通信部
205 第2計測部
206 生成部
207 算出部
208 分割部
209 圧縮部
210 フレームバッファ
300 クライアント端末
301 入力部
302 通信部
303 復元部
304 表示バッファ
305 表示部

Claims (7)

  1. サーバ装置からページを受信する第1通信部と、
    前記ページのうち前記ページがクライアント端末によって表示される第1領域以外の第2領域を1つ以上の分割領域に分割する分割部と、
    前記サーバ装置から前記ページの全体を取得するための取得時間と前記クライアント端末に前記第1領域を送信するための送信時間との時間差に、前記クライアント端末へ送信する前記分割領域の個数を算出する算出部と、
    前記第1領域に対応する画像および前記算出部によって算出された個数の分割領域に対応する画像を前記クライアント端末に送信する第2通信部と、
    を有することを特徴とする中継装置。
  2. 前記中継装置は、さらに、
    前記ページに基づいて、前記第1領域に対応する画像および前記第2領域に対応する画像を生成する生成部と、
    前記第1領域および前記第2領域に対応する画像を記憶するフレームバッファと、
    前記第1通信部の使用可能な帯域である第1可用帯域を計測する第1計測部と、
    前記第2通信部の使用可能な帯域である第2可用帯域を計測する第2計測部と、を有し、
    前記算出部は、前記分割領域の個数として、前記ページの全体のデータ量と前記第1可用帯域とに基づいて、前記ページの全体を取得するための取得時間を算出し、前記第1領域に対応する画像と前記第2可用帯域とに基づいて、前記送信時間を算出し、算出された前記取得時間と前記送信時間とに基づいて前記時間差を算出し、算出された前記時間差と、前記第2可用帯域とに基づいて、前記時間差内に前記クライアント端末へ送信する前記分割領域の個数を算出する
    ことを特徴とする請求項1に記載の中継装置。
  3. 前記分割部は、前記第2領域について、前記クライアント端末でのスクロール量の統計値に基づき予め決定されたスクロール量に基づいて、1つ以上の分割領域に分割することを特徴とする請求項1または2に記載の中継装置。
  4. 前記第2通信部は、前記分割領域に対応する画像について、前記第1領域に対応する画像に隣接する前記分割領域に対応する画像から順に送信することを特徴とする請求項1〜3のいずれか1項に記載の中継装置。
  5. シンクライアントシステムは、中継装置と、クライアント端末とを有し、
    前記中継装置は、
    サーバ装置からページを受信する第1通信部と、
    前記ページのうち前記ページがクライアント端末によって表示される第1領域以外の第2領域を1つ以上の分割領域に分割する分割部と、
    前記サーバ装置から前記ページの全体を取得するための取得時間と前記クライアント端末に前記第1領域を送信するための送信時間との時間差に、前記クライアント端末へ送信する前記分割領域の個数を算出する算出部と、
    前記第1領域に対応する画像および前記算出部によって算出された個数の分割領域に対応する画像を前記クライアント端末に送信する第2通信部と、を有し、
    前記クライアント端末は、
    ユーザの操作が入力される入力部と、
    前記第1領域に対応する画像および前記分割領域に対応する画像を受信する受信部と、
    受信した前記第1領域に対応する画像および前記分割領域に対応する画像を記憶する表示バッファと、
    前記ユーザのスクロール操作に応じて、前記表示バッファに記憶された前記第1領域に対応する画像および前記分割領域に対応する画像を表示する表示部と、
    を有することを特徴とするシンクライアントシステム。
  6. 中継装置が、
    サーバ装置からページを受信し、
    前記ページのうち前記ページがクライアント端末によって表示される第1領域以外の第2領域を1つ以上の分割領域に分割し、
    前記サーバ装置から前記ページの全体を取得するための取得時間と前記クライアント端末に前記第1領域を送信するための送信時間との時間差に、前記クライアント端末へ送信する前記分割領域の個数を算出し、
    前記第1領域に対応する画像および算出された個数の分割領域に対応する画像を前記クライアント端末に送信する、
    処理を実行することを特徴とする中継方法。
  7. 中継装置に、
    サーバ装置からページを受信し、
    前記ページのうち前記ページがクライアント端末によって表示される第1領域以外の第2領域を1つ以上の分割領域に分割し、
    前記サーバ装置から前記ページの全体を取得するための取得時間と前記クライアント端末に前記第1領域を送信するための送信時間との時間差に、前記クライアント端末へ送信する前記分割領域の個数を算出し、
    前記第1領域に対応する画像および算出された個数の分割領域に対応する画像を前記クライアント端末に送信する、
    処理を実行させることを特徴とする中継プログラム。
JP2013194665A 2013-09-19 2013-09-19 中継装置、シンクライアントシステム、中継方法および中継プログラム Active JP6146230B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013194665A JP6146230B2 (ja) 2013-09-19 2013-09-19 中継装置、シンクライアントシステム、中継方法および中継プログラム
US14/303,922 US9571600B2 (en) 2013-09-19 2014-06-13 Relay device, relay method and thin client system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013194665A JP6146230B2 (ja) 2013-09-19 2013-09-19 中継装置、シンクライアントシステム、中継方法および中継プログラム

Publications (2)

Publication Number Publication Date
JP2015060461A JP2015060461A (ja) 2015-03-30
JP6146230B2 true JP6146230B2 (ja) 2017-06-14

Family

ID=52669005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013194665A Active JP6146230B2 (ja) 2013-09-19 2013-09-19 中継装置、シンクライアントシステム、中継方法および中継プログラム

Country Status (2)

Country Link
US (1) US9571600B2 (ja)
JP (1) JP6146230B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089280B1 (en) * 2016-03-22 2018-10-02 Massachusetts Mutual Life Insurance Company Systems and methods for improving workflow efficiency and for electronic record population in a networked environment
CN109729360A (zh) * 2017-10-31 2019-05-07 晨星半导体股份有限公司 图像处理装置及配合画面缓冲器的影像数据处理方法
US10951902B2 (en) * 2019-06-12 2021-03-16 Rovi Guides, Inc. Systems and methods for multiple bit rate content encoding

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06214533A (ja) 1993-01-20 1994-08-05 Toshiba Corp 高速画面表示方式
US6243761B1 (en) * 1998-03-26 2001-06-05 Digital Equipment Corporation Method for dynamically adjusting multimedia content of a web page by a server in accordance to network path characteristics between client and server
US6563517B1 (en) * 1998-10-02 2003-05-13 International Business Machines Corp. Automatic data quality adjustment to reduce response time in browsing
JP2002084325A (ja) * 2000-09-11 2002-03-22 Matsushita Electric Ind Co Ltd 情報取得方法および情報取得装置
JP2001154903A (ja) * 1999-11-26 2001-06-08 Nec Corp 無線ネットワーク通信システム
US7289244B2 (en) * 2000-02-02 2007-10-30 Raja Singh Tuli Portable high speed internet access device
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US7711854B2 (en) * 2002-02-07 2010-05-04 Accenture Global Services Gmbh Retrieving documents over a network with a wireless communication device
JP4316295B2 (ja) * 2003-05-21 2009-08-19 株式会社エヌ・ティ・ティ・ドコモ シンクライアントシステム、シンクライアント端末機、中継装置、サーバ装置及びシンクライアント端末画面表示方法
JP4326836B2 (ja) 2003-05-21 2009-09-09 株式会社エヌ・ティ・ティ・ドコモ シンクライアントシステム、シンクライアント端末機、中継装置及びシンクライアント端末画面更新方法
US20050041858A1 (en) * 2003-08-21 2005-02-24 International Business Machines Corporation Apparatus and method for distributing portions of large web pages to fit smaller constrained viewing areas
US8812648B2 (en) * 2005-11-21 2014-08-19 Ebay Inc. Techniques for measuring above-the-fold page rendering
JP4844275B2 (ja) 2006-08-01 2011-12-28 カシオ計算機株式会社 サーバ装置、サーバベースコンピューティングシステムおよびプログラム
JP4957126B2 (ja) * 2006-08-31 2012-06-20 カシオ計算機株式会社 クライアント装置およびプログラム
US20080222273A1 (en) * 2007-03-07 2008-09-11 Microsoft Corporation Adaptive rendering of web pages on mobile devices using imaging technology
US7930646B2 (en) * 2007-10-19 2011-04-19 Microsoft Corporation Dynamically updated virtual list view
WO2010042580A1 (en) * 2008-10-08 2010-04-15 Citrix Systems, Inc. Systems and methods for allocating bandwidth by an intermediary for flow control
JP5251701B2 (ja) * 2009-04-23 2013-07-31 カシオ計算機株式会社 サーバ装置、サーバベース・コンピューティング・システム、およびサーバ制御プログラム
JP5575511B2 (ja) * 2009-07-16 2014-08-20 富士フイルム株式会社 ウェブサイト閲覧システム、サーバ及びクライアント端末
US20110083082A1 (en) * 2009-10-02 2011-04-07 Thomas Gottwald Fractional download based on currently presented portions from large content pages
US20110126113A1 (en) * 2009-11-23 2011-05-26 c/o Microsoft Corporation Displaying content on multiple web pages
JP2011248670A (ja) * 2010-05-27 2011-12-08 Fujifilm Corp Web閲覧システム、中継サーバおよびWeb閲覧方法
JP2012123679A (ja) * 2010-12-09 2012-06-28 Fujifilm Corp ウェブサイト閲覧システム、サーバ及びデータ送受信方法
CN102541876A (zh) * 2010-12-13 2012-07-04 腾讯科技(深圳)有限公司 浏览网页的方法、装置、服务器和移动终端
US20120192080A1 (en) * 2011-01-21 2012-07-26 Google Inc. Tailoring content based on available bandwidth
US9220062B2 (en) * 2011-03-30 2015-12-22 Nokia Technologies Oy Method and apparatus for low-power browsing
US9208250B2 (en) * 2011-04-07 2015-12-08 Infosys Technologies, Ltd. System and method for dynamic modification of web page content to ensure consistent response time
US8775506B2 (en) * 2011-10-19 2014-07-08 Oracle International Corporation Eager block fetching for web-based data grids
EP2922300A4 (en) * 2012-11-15 2016-08-17 Nec Corp SERVER DEVICE, END DEVICE, THIN CLIENT SYSTEM, ON-SCREEN TRANSMISSION PROCESS AND PROGRAM
US11233841B2 (en) * 2013-03-15 2022-01-25 Yottaa, Inc. Systems and methods for configuration-based optimization by an intermediary
JP5637406B2 (ja) * 2013-04-05 2014-12-10 カシオ計算機株式会社 データ送信装置、およびプログラム
EP2827597B1 (en) * 2013-07-10 2021-04-21 Comcast Cable Communications, LLC Adaptive content delivery

Also Published As

Publication number Publication date
JP2015060461A (ja) 2015-03-30
US9571600B2 (en) 2017-02-14
US20150081770A1 (en) 2015-03-19

Similar Documents

Publication Publication Date Title
KR101413130B1 (ko) 상태기반 브라우징
US20210089256A1 (en) Method and system for browser-based screen sharing
KR101367718B1 (ko) 이동 기기의 상호운영성을 제공하는 방법 및 장치
JP5451397B2 (ja) リモートインターラクションに応答してビデオコンテンツを配信するためのアーキテクチャー
US8630512B2 (en) Dynamic client-server video tiling streaming
US8671435B2 (en) Method and system for visualizing an adaptive screen according to a terminal
US9223534B1 (en) Client side detection of motion vectors for cross-platform display
US10389792B2 (en) Output function dividing system
JP2006285302A (ja) 画面送信装置
US8725947B2 (en) Cache control for adaptive stream player
US11074394B2 (en) Adaptive content delivery
WO2012151957A1 (zh) 服务器、客户端及利用其远程播放视频文件的方法和系统
JP6146230B2 (ja) 中継装置、シンクライアントシステム、中継方法および中継プログラム
US20160155429A1 (en) Information processing apparatus and terminal device
US9392063B2 (en) Information processing apparatus that controls transfer of image, control method therefor, and storage medium
US8749569B2 (en) Information processing apparatus, information processing method, and program
US9374413B2 (en) Client terminal, server, and distributed processing method
JP2013105204A (ja) 画像表示システム
WO2012165066A1 (ja) 画像配信サーバ及び画像配信制御方法
JP2015191630A (ja) 情報処理装置、変更検出方法および変更検出プログラム
US20150106733A1 (en) Terminal device, thin client system, display method, and recording medium
US9626330B2 (en) Information processing apparatus, and information processing method
US20150249722A1 (en) Content providing apparatus and method, and computer program product
JP2005217827A (ja) 情報転送装置、情報転送方法及びプログラム
KR101473463B1 (ko) 터미널 환경의 서버 기반 컴퓨팅 시스템에서 압축 화면 정보를 제공하는 터미널 서비스 시스템 및 터미널 서비스 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170501

R150 Certificate of patent or registration of utility model

Ref document number: 6146230

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150