(57)【要約】【課題】スクロール操作に対するレスポンスを向上させることができる中継装置等を提供する。【解決手段】中継装置は、第１通信部と、分割部と、算出部と、第２通信部とを有する。第１通信部は、サーバ装置からページを受信する。分割部は、ページのうちページがクライアント端末によって表示される第１領域以外の第２領域を１つ以上の分割領域に分割する。算出部は、サーバ装置からページの全体を取得するための取得時間とクライアント端末に第１領域を送信するための送信時間との時間差に、クライアント端末へ送信する分割領域の個数を算出する。第２通信部は、第１領域に対応する画像および算出部によって算出された個数の分割領域に対応する画像をクライアント端末に送信する。【選択図】図１
2015060461.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置からページを受信する第１通信部と、
前記ページのうち前記ページがクライアント端末によって表示される第１領域以外の第２領域を１つ以上の分割領域に分割する分割部と、
前記サーバ装置から前記ページの全体を取得するための取得時間と前記クライアント端末に前記第１領域を送信するための送信時間との時間差に、前記クライアント端末へ送信する前記分割領域の個数を算出する算出部と、
前記第１領域に対応する画像および前記算出部によって算出された個数の分割領域に対応する画像を前記クライアント端末に送信する第２通信部と、
を有することを特徴とする中継装置。
【請求項２】
前記中継装置は、さらに、
前記ページに基づいて、前記第１領域に対応する画像および前記第２領域に対応する画像を生成する生成部と、
前記第１領域および前記第２領域に対応する画像を記憶するフレームバッファと、
前記第１通信部の使用可能な帯域である第１可用帯域を計測する第１計測部と、
前記第２通信部の使用可能な帯域である第２可用帯域を計測する第２計測部と、を有し、
前記算出部は、前記分割領域の個数として、前記ページの全体のデータ量と前記第１可用帯域とに基づいて、前記ページの全体を取得するための取得時間を算出し、前記第１領域に対応する画像と前記第２可用帯域とに基づいて、前記送信時間を算出し、算出された前記取得時間と前記送信時間とに基づいて前記時間差を算出し、算出された前記時間差と、前記第２可用帯域とに基づいて、前記時間差内に前記クライアント端末へ送信する前記分割領域の個数を算出する
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記分割部は、前記第２領域について、前記クライアント端末でのスクロール量の統計値に基づき予め決定されたスクロール量に基づいて、１つ以上の分割領域に分割することを特徴とする請求項１または２に記載の中継装置。
【請求項４】
前記第２通信部は、前記分割領域に対応する画像について、前記第１領域に対応する画像に隣接する前記分割領域に対応する画像から順に送信することを特徴とする請求項１〜３のいずれか１項に記載の中継装置。
【請求項５】
シンクライアントシステムは、中継装置と、クライアント端末とを有し、
前記中継装置は、
サーバ装置からページを受信する第１通信部と、
前記ページのうち前記ページがクライアント端末によって表示される第１領域以外の第２領域を１つ以上の分割領域に分割する分割部と、
前記サーバ装置から前記ページの全体を取得するための取得時間と前記クライアント端末に前記第１領域を送信するための送信時間との時間差に、前記クライアント端末へ送信する前記分割領域の個数を算出する算出部と、
前記第１領域に対応する画像および前記算出部によって算出された個数の分割領域に対応する画像を前記クライアント端末に送信する第２通信部と、を有し、
前記クライアント端末は、
ユーザの操作が入力される入力部と、
前記第１領域に対応する画像および前記分割領域に対応する画像を受信する受信部と、
受信した前記第１領域に対応する画像および前記分割領域に対応する画像を記憶する表示バッファと、
前記ユーザのスクロール操作に応じて、前記表示バッファに記憶された前記第１領域に対応する画像および前記分割領域に対応する画像を表示する表示部と、
を有することを特徴とするシンクライアントシステム。
【請求項６】
中継装置が、
サーバ装置からページを受信し、
前記ページのうち前記ページがクライアント端末によって表示される第１領域以外の第２領域を１つ以上の分割領域に分割し、
前記サーバ装置から前記ページの全体を取得するための取得時間と前記クライアント端末に前記第１領域を送信するための送信時間との時間差に、前記クライアント端末へ送信する前記分割領域の個数を算出し、
前記第１領域に対応する画像および算出された個数の分割領域に対応する画像を前記クライアント端末に送信する、
処理を実行することを特徴とする中継方法。
【請求項７】
中継装置に、
サーバ装置からページを受信し、
前記ページのうち前記ページがクライアント端末によって表示される第１領域以外の第２領域を１つ以上の分割領域に分割し、
前記サーバ装置から前記ページの全体を取得するための取得時間と前記クライアント端末に前記第１領域を送信するための送信時間との時間差に、前記クライアント端末へ送信する前記分割領域の個数を算出し、
前記第１領域に対応する画像および算出された個数の分割領域に対応する画像を前記クライアント端末に送信する、
処理を実行させることを特徴とする中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、シンクライアントシステム、中継方法および中継プログラムに関する。
【背景技術】
【０００２】
シンクライアントというシステムが知られている。シンクライアントシステムでは、クライアント端末に最低限の機能しか持たせず、サーバでアプリケーションやファイルなどのリソースを管理するようにシステムが構築される。
【０００３】
かかるシンクライアントシステムは、実際にはサーバが処理を実行した処理結果やサーバが保持するデータをクライアント端末に表示させつつも、あたかもクライアント端末が主体となって処理を実行したり、データを保持したりしているかのように振る舞う。
【０００４】
このように、サーバおよびクライアント端末間でクライアント端末に表示させる画面データを伝送する場合には、操作に伴って画面更新が発生する。シンクライアントシステムで画面更新が発生すると、サーバからクライアント端末に画面更新前後の差分の画面データが送信される。ここで、例えば、ＷｅｂブラウザでＷｅｂページを表示した場合に、Ｗｅｂページが縦長であると、一部分のみがＷｅｂブラウザの表示領域に表示される。このとき、クライアント端末からＷｅｂページをスクロールする操作情報がサーバに送られると、残りの部分のＷｅｂページについて、スクロール量に応じた差分の画面データが送信される。
【０００５】
例えば、ＷｅｂブラウザによってＷｅｂページが表示されるとしたとき、Ｗｅｂページの表示サイズがクライアント端末の画面サイズを超える場合には、Ｗｅｂページの一部分に絞って画面に表示される場合がある。このとき、画面に表示されていない残りの部分を閲覧する場合には、クライアント端末で受け付けられたスクロール操作がサーバへ通知された後に、サーバからクライアント端末へスクロール後の更新画面が差分として送信される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−２１４５３３号公報
【特許文献２】特開２００４−３４９９６５号公報
【特許文献３】特開２００８−４０５２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の技術では、スクロール操作に対するレスポンスが低下する場合がある。
【０００８】
例えば、Ｗｅｂページのうち画面に表示されていない残りの部分を表示させるには、クライアント端末およびサーバの間でスクロールの操作情報および更新画面が授受されることになる。これによって、クライアント端末側でスクロール操作がなされてから更新画面が描画されるまでに遅延が生じる。さらに、スクロールを開始してからスクロールが停止するまで操作情報および更新画面が連続して授受されることになるので、描画遅延が増大する。この結果、例えば、スクロール操作に伴って画面がカクカクするなどのように、操作性が損なわれる場合がある。
【０００９】
一つの側面では、本発明は、スクロール操作に対するレスポンスを向上させることができる中継装置、シンクライアントシステム、中継方法および中継プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
一つの態様では、中継装置は、第１通信部と、分割部と、算出部と、第２通信部とを有する。当該中継装置の第１通信部は、サーバ装置からページを受信する。当該中継装置の分割部は、前記ページのうち前記ページがクライアント端末によって表示される第１領域以外の第２領域を１つ以上の分割領域に分割する。当該中継装置の算出部は、前記サーバ装置から前記ページの全体を取得するための取得時間と前記クライアント端末に前記第１領域を送信するための送信時間との時間差に、前記クライアント端末へ送信する前記分割領域の個数を算出する。当該中継装置の第２通信部は、前記第１領域に対応する画像および前記算出部によって算出された個数の分割領域に対応する画像を前記クライアント端末に送信する。
【発明の効果】
【００１１】
スクロール操作に対するレスポンスを向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例のシンクライアントシステムの構成の一例を示すブロック図である。
【図２】図２は、実施例のシンクライアントシステムの動作の概要を説明する説明図である。
【図３】図３は、ページ全体の取得時間と第１領域の送信時間との関係の一例を示す説明図である。
【図４】図４は、第２可用帯域と、ページ全体の取得時間までに送信する分割領域の画像との関係の一例を示す説明図である。
【図５】図５は、実施例のシンクライアントシステムの動作の一例を示すシーケンス図である。
【図６】図６は、中継プログラムを実行するコンピュータの一例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて、本願の開示する中継装置、シンクライアントシステム、中継方法および中継プログラムの実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例１】
【００１４】
［システム構成］
まず、本実施例に係るシンクライアントシステムの構成について説明する。図１は、実施例のシンクライアントシステムの構成の一例を示すブロック図である。図１に示すシンクライアントシステム１は、クライアント端末３００が表示する画面をリモートで中継装置であるＧＷ（Gate  Way）サーバ２００に制御させるものである。つまり、シンクライアントシステム１は、実際にはＧＷサーバ２００が実行した処理結果や保持するデータをクライアント端末３００に表示させつつも、あたかもクライアント端末３００が主体となって処理を実行したり、データを保持しているかのように振る舞う。
【００１５】
図１に示すシンクライアントシステム１は、サーバ装置であるＷｅｂサーバ１００と、中継装置であるＧＷサーバ２００と、クライアント端末３００とを有する。なお、図１の例では、１つのＧＷサーバ２００に対し、１つのＷｅｂサーバ１００および１つのクライアント端末３００を接続する場合を図示したが、任意の数のＷｅｂサーバおよびクライアント端末を接続できる。
【００１６】
これらＷｅｂサーバ１００、ＧＷサーバ２００およびクライアント端末３００は、所定のネットワークを介して、相互に通信可能に接続される。かかるネットワークには、有線または無線を問わず、インターネット、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。なお、ＧＷサーバ２００およびクライアント端末３００間の通信プロトコルには、一例として、ＶＮＣにおけるＲＦＢ（Remote  Frame  Buffer）プロトコルを採用する場合を想定する。
【００１７】
Ｗｅｂサーバ１００は、コンテンツを配信するサーバ装置であり、コンテンツとしてＷｅｂページを配信する。Ｗｅｂサーバ１００は、ＧＷサーバ２００からのページ要求に応じて、対応するＷｅｂページをＧＷサーバ２００に送信する。なお、以下の説明では、Ｗｅｂページのことを単にページと記載する場合がある。
【００１８】
ＧＷサーバ２００は、クライアント端末３００に表示させる画面をリモートで制御するサービスを提供するコンピュータである。このＧＷサーバ２００には、サーバ向けのリモート画面制御用のアプリケーションがインストールまたはプリインストールされる。なお、以下では、サーバ向けのリモート画面制御用のアプリケーションのことを「サーバ側リモート画面制御用アプリ」と記載する場合がある。
【００１９】
このサーバ側リモート画面制御用アプリは、基本機能として、リモート画面制御サービスを提供する機能を有する。一態様としては、サーバ側リモート画面制御用アプリは、クライアント端末３００における操作情報を取得した上でその操作により要求された処理を自装置で動作するアプリケーションに実行させる。そして、サーバ側リモート画面制御用アプリは、アプリケーションにより実行された処理結果を表示するための画面を生成した上でその画面をクライアント端末３００へ送信する。このとき、サーバ側リモート画面制御用アプリは、今回の画面生成の前にクライアント端末３００で表示させていたビットマップ画像との間で変更があった部分の画素が集まった領域、すなわち更新矩形の画像を送信する。なお、更新部分の画像は矩形の画像に限られず、矩形以外の形状であってもよい。
【００２０】
このほか、サーバ側リモート画面制御用アプリは、フレーム間で動きが大きい部分のデータを動画向けの圧縮方式のデータに圧縮してクライアント端末３００へ送信する機能も有する。一態様としては、サーバ側リモート画面制御用アプリは、アプリケーションにより実行された処理結果から生成した画面を複数の領域に分割し、分割した領域ごとに変更の頻度を監視する。このとき、サーバ側リモート画面制御用アプリは、変更の頻度がしきい値を超えた領域、すなわち高頻度変更領域の属性情報をクライアント端末３００へ送信する。これとともに、サーバ側リモート画面制御用アプリは、高頻度変更領域のビットマップ画像をＭＰＥＧ−２やＭＰＥＧ−４などのＭＰＥＧ方式のデータにエンコードした上でクライアント端末３００へ送信する。なお、ここでは、ＭＰＥＧ（Moving  Picture  Experts  Group）方式のデータへ圧縮する場合を例示したが、これに限定されない。例えば、動画向けの圧縮方式であれば任意の圧縮符号化方式、例えばＭｏｔｉｏｎ−ＪＰＥＧ（Joint  Photographic  Experts  Group）などを採用できる。
【００２１】
ＧＷサーバ２００は、アプリケーションとして画面のスクロールができるもの、例えば、Ｗｅｂブラウザを実行する場合がある。Ｗｅｂブラウザは、Ｗｅｂサーバ１００からページを受信すると、ページのＨＴＭＬ等に従ってページに対応する画像を生成する。ここで、ページは、Ｗｅｂブラウザのウィンドウ内をスクロールすることで表示画面内に現れる、表示画面外の領域がある場合がある。このとき、ページを読み込んだ当初に表示画面内に表示される領域を第１領域とし、表示画面外のページの領域を第２領域とする。ここで、シンクライアントシステム１では、ＧＷサーバ２００がＷｅｂサーバ１００からページ全体を受信する時間と、ＧＷサーバ２００が第１領域をクライアント端末３００に送信する時間とに差が発生する。ＧＷサーバ２００は、この時間差に、第２領域の画像を分割して一部分をクライアント端末３００に送信することで、ユーザのスクロールに対するレスポンス、つまり操作性を向上させることができる。ここで、ＧＷサーバ２００は、第２領域の分割について、例えば、ユーザがタッチパネル上において操作した１回分のフリックの操作量について統計を取り、例えば統計の最頻値に基づいて、予めスクロール量を決定する。ＧＷサーバ２００は、決定したスクロール量に基づいて、第２領域を１つ以上の分割領域に分割できる。
【００２２】
クライアント端末３００は、ＧＷサーバ２００によるリモート画面制御サービスの提供を受ける側のコンピュータである。かかるクライアント端末３００の一例としては、タブレット端末、スマートフォン等を採用できる。また、クライアント端末３００の他の例としては、携帯電話機、ＰＨＳ（Personal  Handyphone  System）やＰＤＡ（Personal  Digital  Assistant）などの移動体端末の他、パーソナルコンピュータ（personal  computer）などの固定端末を採用することができる。このクライアント端末３００には、クライアント向けのリモート画面制御用アプリケーションがインストールまたはプリインストールされる。なお、以下では、クライアント向けのリモート画面制御用のアプリケーションのことを「クライアント側リモート画面制御用アプリ」と記載する場合がある。
【００２３】
このクライアント側リモート画面制御用アプリは、タッチパネル、マウスやキーボードなどの各種の入力デバイスを介して受け付けた操作情報をＧＷサーバ２００へ通知する機能を有する。一態様としては、クライアント側リモート画面制御用アプリは、表示部と一体となったタッチパネル上でのタップ、フリックの操作量などを操作情報として通知する。他の一例としては、クライアント側リモート画面制御用アプリは、マウスの左右のクリックを始め、ダブルクリックやドラッグ、マウスの移動操作を介して得られたマウスカーソルの移動量などを操作情報として通知する。さらに他の一例としては、クライアント側リモート画面制御用アプリは、マウスホイールの回転量、キーボードのうち押下されたキーの種別なども操作情報として通知する。
【００２４】
さらに、クライアント側リモート画面制御用アプリは、ＧＷサーバ２００から受信した画像を所定の表示部に表示させる機能を有する。一態様としては、クライアント側リモート画面制御用アプリは、ＧＷサーバ２００から更新矩形のビットマップ画像を受信した場合には、更新矩形の画像を前回のビットマップ画像から変更のあった位置に合わせて表示する。他の一態様としては、クライアント側リモート画面制御用アプリは、ＧＷサーバ２００から高頻度変更領域の属性情報を受信した場合には、その属性情報に含まれる位置に対応する表示画面上の領域をビットマップ画像の表示対象外のブランク領域とする。その上で、クライアント側リモート画面制御用アプリは、動画向けの圧縮方式のデータを受信した場合にそのデータをデコードした上でブランク領域に表示する。
【００２５】
また、クライアント端末３００は、第２領域が分割された分割領域を受信すると、分割領域を表示バッファに記憶する。クライアント端末３００は、ユーザによるフリック操作が入力されると、表示バッファに記憶された分割領域をフリック操作のスクロール量に応じて表示する。
【００２６】
［Ｗｅｂサーバの構成］
次に、本実施例に係るＷｅｂサーバの機能的構成について説明する。図１に示すように、Ｗｅｂサーバ１００は、通信部１０１と、読出部１０２と、記憶部１０３とを有する。なお、図１の例では、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや表示デバイスなどの機能を有するものとする。
【００２７】
通信部１０１は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１０１は、ネットワークを介してＧＷサーバ２００と有線または無線で接続され、ＧＷサーバ２００との間で情報の通信を司る通信インタフェースである。通信部１０１は、ＧＷサーバ２００からページ要求を受信し、受信したページ要求を読出部１０２に出力する。また、通信部１０１は、読出部１０２から入力されたページをＧＷサーバ２００に送信する。
【００２８】
読出部１０２は、通信部１０１からページ要求が入力されると、対応するページを記憶部１０３から読み出す。読出部１０２は、ページ要求として、例えば、所定ＵＲＬ（Uniform  Resource  Locator）が入力されると、記憶部１０３から所定ＵＲＬに対応するページを読み出す。読出部１０２は、読み出したページを通信部１０１に出力する。
【００２９】
記憶部１０３は、ページを記憶する。ページは、例えば、ＨＴＭＬ（Hyper  Text  Markup  Language）等で記述され、画像等が含まれる。また、ページは、Ｊａｖａ（登録商標）アプレット、Ｊａｖａ（登録商標）ＥＥ（Java  Platform,  Enterprise  Edition）、Ｆｌａｓｈ（登録商標）、Ａｊａｘ等を用いた動的なページであってもよい。ページは、他にも、ＪＰＥＧ等の静止画像、ＭＰＥＧ−２やＭＰＥＧ−４などの動画像を含んでもよい。
【００３０】
［ＧＷサーバの構成］
次に、本実施例に係るＧＷサーバの機能的構成について説明する。図１に示すように、ＧＷサーバ２００は、ＯＳ実行制御部２０１と、第１通信部２０２と、第１計測部２０３と、第２通信部２０４と、第２計測部２０５と、生成部２０６と、算出部２０７と、分割部２０８と、圧縮部２０９とを有する。また、ＯＳ実行制御部２０１は、フレームバッファ２１０を有する。なお、図１の例では、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや表示デバイスなどの機能を有するものとする。
【００３１】
ＯＳ実行制御部２０１は、ＯＳ（Operating  System）の実行を制御する処理部である。一態様としては、ＯＳ実行制御部２０１は、第２通信部２０４を介して取得された操作情報からアプリケーションの起動指示やアプリケーションに対するコマンドを検出する。例えば、ＯＳ実行制御部２０１は、アプリケーションのアイコン上でタップを検出した場合に、そのアイコンに対応するアプリケーションを起動する。また、ＯＳ実行制御部２０１は、起動中のアプリケーションの操作画面、いわゆるウィンドウ上でコマンドの実行を要求する操作を検出した場合に、そのコマンドの実行を当該アプリケーションへ指示する。なお、以下では、アプリケーションのことを「アプリ」と記載する場合がある。また、ＯＳ実行制御部２０１は、リモート画面および各アプリケーションの画面の画像を記憶するフレームバッファ２１０を有し、リモート画面全体を制御する。
【００３２】
第１通信部２０２は、例えば、ＮＩＣ等によって実現される。第１通信部２０２は、ネットワークを介してＷｅｂサーバ１００と有線または無線で接続され、Ｗｅｂサーバ１００との間で情報の通信を司る通信インタフェースである。第１通信部２０２は、Ｗｅｂサーバ１００に対してページ要求を送信する。また、第１通信部２０２は、Ｗｅｂサーバ１００からページを受信する。なお、受信するページには、当該ページ全体のデータ量の情報が含まれる。第１通信部２０２は、ページを生成部２０６に出力し、ページ全体のデータ量を算出部２０７に出力する。
【００３３】
第１計測部２０３は、第１通信部２０２での通信を計測する。第１計測部２０３は、例えば、第１通信部２０２と、Ｗｅｂサーバ１００の通信部１０１との間の通信データ量を１秒ごとに計測し、第１通信部２０２と通信部１０１との間の使用可能な帯域である可用帯域を計測する。第１計測部２０３は、計測した可用帯域を第１可用帯域として算出部２０７に出力する。
【００３４】
第２通信部２０４は、例えば、ＮＩＣ等によって実現される。第２通信部２０４は、ネットワークを介してクライアント端末３００と有線または無線で接続され、クライアント端末３００との間で情報の通信を司る通信インタフェースである。第２通信部２０４は、クライアント端末３００から操作情報を受信してＯＳ実行制御部２０１および算出部２０７に出力する。また、第２通信部２０４は、圧縮部２０９から圧縮された差分の画像データである圧縮データが入力されると、クライアント端末３００に対して圧縮データを送信する。
【００３５】
第２計測部２０５は、第２通信部２０４での通信を計測する。第２計測部２０５は、例えば、第２通信部２０４とクライアント端末３００の後述する通信部３０２との間の通信データ量を１秒ごとに計測し、第２通信部２０４と通信部３０２との間の使用可能な帯域である可用帯域を計測する。第２計測部２０５は、計測した可用帯域を第２可用帯域として算出部２０７に出力する。
【００３６】
生成部２０６は、第１通信部２０２から入力されたページに基づいて、ページを表示画面に表示するための画像を生成する。生成部２０６は、例えば、アプリケーションとしてＷｅｂブラウザ機能を有し、ページのＨＴＭＬ等に従ってページに対応する画像を生成する。ここで、ページは、Ｗｅｂブラウザの表示画面内に全て表示することができるとは限らず、Ｗｅｂブラウザのウィンドウ内をスクロールすることで、表示画面内に現れる領域がある。このとき、ページは、ページがクライアント端末によって表示される領域を第１領域とし、第１領域以外の領域を第２領域とする。つまり、Ｗｅｂブラウザのウィンドウ内をスクロールすることで、表示画面内に現れる領域を第２領域とする。生成部２０６は、第１領域および第２領域の画像、つまり、ページ全体に対応する画像を生成しフレームバッファ２１０に描画して記憶する。
【００３７】
算出部２０７は、第１通信部２０２からページ全体のデータ量が入力され、第１計測部２０３から第１可用帯域が入力される。また、算出部２０７は、第２計測部２０５から第２可用帯域が入力される。算出部２０７は、ページ全体のデータ量と第１可用帯域とに基づいて、Ｗｅｂサーバ１００からページ全体を取得する取得時間を算出する。なお、第１可用帯域は予め予測に基づいて定めた値を用いてもよい。例えば、算出部２０７は、ページ全体のデータ量が１ＭＢｙｔｅ、第１可用帯域が２０Ｍｂｐｓであるとすると、ページ全体を取得する取得時間Ｔｅは、（１×１０２４×１０２４×８）／（２０×１０２４×１０２４）より４００ｍｓと算出できる。
【００３８】
また、算出部２０７は、圧縮部２０９から第１領域の画像の圧縮データ量が入力される。算出部２０７は、第１領域の画像の圧縮データ量と、第２可用帯域とに基づいて、クライアント端末３００に第１領域の画像を送信する送信時間を算出する。なお、第１領域の画像の圧縮データ量は、予め予測に基づいて定めた値を用いてもよい。例えば、ＧＷサーバ２００とクライアント端末３００とが初めて接続された場合等では、予め定めた平均的な圧縮データ量を第１領域の画像の圧縮データ量とすることができる。例えば、算出部２０７は、第１領域の画像の圧縮データ量が１００ＫＢｙｔｅ、第１可用帯域が７Ｍｂｐｓであるとすると、第１領域の画像の送信時間は、（１００×１０２４×８）／（７×１０２４×１０２４）より１１２ｍｓと算出できる。なお、算出部２０７は、第１可用帯域についても、予め定めた予測値を用いてもよい。また、算出部２０７は、予測した第１領域の画像の圧縮データ量および第１可用帯域に基づいて、第１領域の画像の送信時間を予め定めた値としてもよい。
【００３９】
算出部２０７は、ページ全体を取得する取得時間Ｔｅと、第１領域の画像の送信時間との時間差を算出する。例えば、上記の例では、算出部２０７は、時間差として、４００−１１２より２８８ｍｓと算出できる。算出部２０７は、時間差と第２可用帯域とに基づいて、時間差内にクライアント端末３００に送信できるデータ量を算出する。例えば、上記の例では、算出部２０７は、時間差内に送信できるデータ量として、（０．２８８×７×１０２４×１０２４）／８／１０２４より２５８ＫＢｙｔｅと算出できる。
【００４０】
算出部２０７は、予め定められた所定値の１つの分割領域の圧縮データ量と、時間差内に送信できるデータ量とに基づいて、時間差内にクライアント端末３００に送信する分割領域の個数を算出する。算出部２０７は、例えば、１つの分割領域の圧縮データ量が９０ｋＢｙｔｅであったとすると、上記の例では、時間差内にクライアント端末３００に送信する分割領域の個数は、２５８／９０より２個と算出できる。算出部２０７は、１つの分割領域の圧縮データ量と、算出した送信する分割領域の個数とを分割部２０８に出力する。なお、１つの分割領域の圧縮データ量の予め定められた所定値は、例えば、クライアント端末３００に送信するデータ量について統計を取って求めた平均値等に基づいて、例えば、５０ＫＢｙｔｅ、１００ＫＢｙｔｅ等としてもよい。
【００４１】
また、算出部２０７は、１つの分割領域の圧縮データ量について、例えば、ユーザがタッチパネル上において操作する１回分のフリックの操作量に基づくスクロール量に対応するデータ量を用いることができる。例えば、当該スクロール量は、クライアント端末３００でのフリック操作によるスクロール量の統計値に基づいて、予め最頻値等を算出することで決定される。
【００４２】
また、算出部２０７は、スクロール量について、ユーザの操作によって逐次更新された値を用いるようにしてもよい。この場合、算出部２０７は、第２通信部２０４から操作情報が入力され、操作情報からスクロール量を抽出する。算出部２０７は、抽出したスクロール量に基づいて、対応する圧縮データ量を算出する。算出部２０７は、例えば抽出したスクロール量と平均的な圧縮率とに基づいて、対応する圧縮データ量を算出する。算出部２０７は、算出された対応する圧縮データ量を１つの分割領域の圧縮データ量とし、当該１つの分割領域の圧縮データ量と時間差内に送信できるデータ量とに基づいて、時間差内にクライアント端末３００に送信する分割領域の個数を算出する。このように、更新されたスクロール量を用いることで、ユーザの操作に応じて第２領域の分割領域の個数を算出するための基準となる１つの分割領域の圧縮データ量を変更することができる。
【００４３】
また、算出部２０７は、時間差内にクライアント端末３００に送信する分割領域の個数を、分割領域のピクセル数で規定してもよい。この場合、算出部２０７は、分割領域のピクセル数について、予め定めるか、上述のスクロール量に基づいて、スクロール方向のピクセル数を決定する。算出部２０７は、予め定めた、または、決定した分割領域のピクセル数を分割部２０８に出力する。分割領域のピクセル数は、例えば、ブラウザの表示領域の半分とすることができ、例えば、表示領域のスクロール方向のピクセル数が６００ピクセルとした場合に、３００ピクセルとすることができる。つまり、第２領域は、第２領域の面積に応じて分割領域に分割してもよい。
【００４４】
分割部２０８は、フレームバッファ２１０からページ全体の画像を読み出して、第１領域と第２領域とに分割する。また、分割部２０８は、算出部２０７から１つの分割領域の圧縮データ量またはピクセル数と、算出された送信する分割領域の個数とが入力される。分割部２０８は、入力された１つの分割領域の圧縮データ量またはピクセル数に基づいて、第２領域を１つ以上の分割領域に分割する。分割部２０８は、第１領域に対応する画像について更新の有無を判定し、更新があれば差分の画像データを生成する。また、分割部２０８は、送信する個数の分割領域に対応する画像について更新の有無を判定し、更新があれば差分の画像データを生成する。分割部２０８は、第１領域に対応する画像の差分の画像データを圧縮部２０９に出力する。また、分割部２０８は、送信する個数の分割領域に対応する画像の差分の画像データを、第１領域に隣接する分割領域から順に圧縮部２０９に出力する。なお、第２領域のスクロール方向のピクセル数が、１つの分割領域の圧縮データ量に基づくピクセル数、または、入力されたピクセル数に満たない場合には、第２領域を分割せずに１つの領域、つまり分割領域の個数を１つとすることができる。
【００４５】
圧縮部２０９は、分割部２０８から第１領域に対応する画像、および、分割領域に対応する画像の差分の画像データが入力されると、それぞれの画像の差分の画像データを圧縮する。圧縮部２０９は、圧縮のコーデックとして、例えば、静止画像であればＪＰＥＧ、動画像であればＭＰＥＧ−２またはＭＰＥＧ−４等を用いる。圧縮部２０９は、圧縮された差分の画像データを圧縮データ（更新差分）として、第２通信部２０４に出力する。また、圧縮部２０９は、第１領域に対応する画像の圧縮データのデータ量を、第１領域の画像の圧縮データ量として算出部２０７に出力する。
【００４６】
フレームバッファ２１０は、生成部２０６により描画されたページ全体に対応する画像であるビットマップ画像を記憶する記憶デバイスである。かかるフレームバッファ２１０の一態様としては、ＶＲＡＭ（Video  Random  Access  Memory）を始めとするＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）などの半導体メモリ素子が挙げられる。なお、フレームバッファ２１０は、ハードディスク、光ディスクなどの記憶装置を採用することとしてもかまわない。
【００４７】
［クライアント端末の構成］
次に、本実施例に係るクライアント端末の機能的構成について説明する。図１に示すように、クライアント端末３００は、入力部３０１と、通信部３０２と、復元部３０３と、表示バッファ３０４と、表示部３０５とを有する。なお、図１の例では、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば音声出力部などの機能を有するものとする。
【００４８】
入力部３０１は、ユーザから各種操作を受け付ける入力デバイスである。例えば、入力部３０１は、タッチパネル、マウスやキーボードなどによって実現される。また、入力部３０１は、タッチパネルを用いる場合には、表示デバイスである表示部３０５と一体化される。入力部３０１は、ユーザの操作に応じた操作情報を通信部３０２に出力する。
【００４９】
通信部３０２は、例えば、ＮＩＣ等によって実現され、送信部および受信部を有する。通信部３０２は、ネットワークを介してＧＷサーバ２００と有線または無線で接続され、ＧＷサーバ２００との間で情報の通信を司る通信インタフェースである。通信部３０２は、入力部３０１から入力された操作情報を、ネットワークを介してＧＷサーバ２００に送信する。また、通信部３０２は、ＧＷサーバ２００から圧縮データを受信すると、復元部３０３に対して圧縮データを出力する。
【００５０】
復元部３０３は、通信部３０２から入力された圧縮データを復元する。復元部３０３は、圧縮データから、第１領域に対応する画像、および、分割領域に対応する画像の差分の画像データを復元して、表示バッファ３０４に記憶する。復元部３０３は、表示バッファ３０４に記憶されている画像データ、つまり現在表示している画像の画像データに対して、差分の画像データで更新することで、新たに表示する画像データを生成して表示バッファ３０４に記憶する。なお、復元部３０３での復元は、ＧＷサーバ２００の圧縮部２０９で圧縮に用いたコーデックによって復元する。
【００５１】
表示バッファ３０４は、ページ全体に対応する画像が記憶される。つまり、表示バッファ３０４は、第１領域に対応する画像、および、分割領域に対応する画像が記憶される。
【００５２】
表示部３０５は、各種情報を表示するための表示デバイスであり、例えば、液晶ディスプレイ等によって実現される。また、表示部３０５は、入力部３０１としてタッチパネルを用いる場合には、入力部３０１と一体化される。表示部３０５は、表示バッファ３０４から表示画面に表示する画像データを読み込んで表示する。
【００５３】
次に、本実施例のシンクライアントシステムの動作について説明する。
【００５４】
まず、図２を用いて本実施例のシンクライアントシステムの動作の概要を説明する。図２は、実施例のシンクライアントシステムの動作の概要を説明する説明図である。ユーザは、Ｗｅｂサーバ１００に格納されているＷｅｂページを、クライアント端末３００を用いて、閲覧しているとする。このとき、実際にＷｅｂサーバ１００にアクセスするのはＧＷサーバ２００である。クライアント端末３００は、ＧＷサーバ２００のブラウザ（生成部）２０６によって生成されたページの画像を受信することで、あたかもＷｅｂサーバ１００にアクセスしているかのように振る舞う。
【００５５】
まず、ユーザの指１１によって、クライアント端末３００の表示部３０５に表示されたブラウザの画面上で、例えば、あるリンクがタップされる。クライアント端末３００は、タップ操作が入力部３０１から入力されると、操作情報としてＧＷサーバ２００に送信する（ステップＳ１）。
【００５６】
ＧＷサーバ２００は、操作情報を受信すると、ＯＳ実行制御部２０１によってブラウザ２０６に操作情報が入力される。ブラウザ２０６は、操作情報に基づいてＷｅｂサーバ１００に対してページ要求を行う（ステップＳ２）。Ｗｅｂサーバ１００は、ページ要求に対して、対応するページを記憶部１０３から読み出してＧＷサーバ２００に送信する（ステップＳ３）。
【００５７】
ＧＷサーバ２００は、Ｗｅｂサーバ１００からページを受信すると、ブラウザ２０６がフレームバッファ２１０にページを描画して記憶する。ＧＷサーバ２００は、ページのうちクライアント端末３００で表示される第１領域の画像をクライアント端末３００に送信する（ステップＳ４）。クライアント端末３００は、第１領域の画像を受信すると、表示バッファ３０４に記憶して表示部３０５に表示する。
【００５８】
続いて、ＧＷサーバ２００は、ページのうち第１領域以外の第２領域を分割し、第１領域に隣接する分割領域からクライアント端末３００に送信する（ステップＳ５）。ここで、ＧＷサーバ２００は、例えば、１つの分割領域の圧縮データ量に応じて、ｎ個に分割する。また、ＧＷサーバ２００は、Ｗｅｂサーバ１００からページ全体を取得するための取得時間Ｔｅと、クライアント端末３００へ第１領域の画像を送信する送信時間Ｔ１との時間差Ｔｅ−Ｔ１を算出する。ＧＷサーバ２００は、時間差Ｔｅ−Ｔ１の間にクライアント端末３００に送信可能な分割領域の個数を算出する。ＧＷサーバ２００は、例えば、送信可能な分割領域の個数が２個であったとすると、分割領域ｒ１，ｒ２を時間差Ｔｅ−Ｔ１の間にクライアント端末３００に送信する。
【００５９】
クライアント端末３００は、分割領域ｒ１，ｒ２を受信すると、表示バッファ３０４に記憶する。ここで、クライアント端末３００は、ユーザの指１１によってフリック操作が入力部３０１から入力されると、操作情報としてＧＷサーバ２００に送信する。また、クライアント端末３００は、表示バッファ３０４に記憶された分割領域ｒ１，ｒ２をフリック操作に応じて表示部３０５に表示する。なお、ＧＷサーバ２００は、クライアント端末３００から新たな操作情報が入力されなければ、残りの分割領域を順にクライアント端末３００に送信するようにしてもよい。
【００６０】
このように、シンクライアントシステム１は、ＧＷサーバ２００がページ全体を取得する取得時間と、クライアント端末３００によって表示される第１領域を送信する送信時間との時間差に、第１領域以外のページの一部分をクライアント端末３００に送信する。これにより、クライアント端末３００でのスクロール操作に対するレスポンスを向上できる。
【００６１】
ここで、図３を用いて、ＧＷサーバ２００がＷｅｂサーバ１００からページ全体を取得する取得時間Ｔｅと、ＧＷサーバ２００からクライアント端末３００への第１領域および分割領域の送信時間との関係を説明する。図３は、ページ全体の取得時間と第１領域の送信時間との関係の一例を示す説明図である。ＧＷサーバ２００は、クライアント端末３００から操作情報を受信すると、Ｗｅｂサーバ１００に対してページ要求を送信する。Ｗｅｂサーバ１００は、ＧＷサーバ２００に対してページの送信を開始する。ここで、ページのＨＴＭＬには、当該ページ全体のデータ量が記載されている。また、ＧＷサーバ２００がページの受信を開始した時間をＴｓ、ページ全体を取得する取得時間をＴｅ、クライアント端末３００に第１領域を送信する送信時間をＴ１とする。このとき、図３に示すように、ＧＷサーバ２００は、Ｔｓからページの受信と第１領域の送信とを開始し、Ｔ１の時点で第１領域の送信が完了する。ＧＷサーバ２００は、取得時間Ｔｅまでに時間差（Ｔｅ−Ｔ１）があるので、時間差（Ｔｅ−Ｔ１）を利用して分割領域ｒの画像をクライアント端末３００に送信する。
【００６２】
図４は、第２可用帯域と、ページ全体の取得時間までに送信する分割領域の画像との関係の一例を示す説明図である。ＧＷサーバ２００からクライアント端末３００に送信できる分割領域ｒの画像の個数は、時間差（Ｔｅ−Ｔ１）と第２可用帯域とに基づいて算出する。図４に示すように、ＧＷサーバ２００は、第２可用帯域の範囲内で第１領域の画像の送信を行い、その後、第１領域の画像の送信が完了する送信時間Ｔ１から、第２可用帯域の範囲内で分割領域ｒ１、ｒ２・・・ｒｎの画像の送信を行う。図４の例では、ＧＷサーバ２００は、時間差（Ｔｅ−Ｔ１）の間に、分割領域ｒ１およびｒ２をクライアント端末３００に送信する。なお、各画像は、圧縮データとして送信される。
【００６３】
続いて、図５を用いて、本実施例のシンクライアントシステム１の動作のシーケンスを説明する。図５は、実施例のシンクライアントシステムの動作の一例を示すシーケンス図である。
【００６４】
シンクライアントシステム１の初期設定として、ＧＷサーバ２００での分割領域の大きさ、つまり、１つの分割領域の圧縮データ量は、予め所定の値に設定されているものとする。まず、シンクライアントシステム１のＷｅｂサーバ１００、ＧＷサーバ２００およびクライアント端末３００は、それぞれの間で送受信されるデータ等を用いて可用帯域を計測する。ＧＷサーバ２００を例に説明すると、ＧＷサーバ２００とＷｅｂサーバ１００との間で、ページ要求である所定ＵＲＬやページのデータが送受信される。ＧＷサーバ２００の第１計測部２０３は、第１通信部２０２について送受信されたデータを計測する、つまり、使用可能な帯域である第１可用帯域を計測する。また、ＧＷサーバ２００とクライアント端末３００との間で、操作情報や画面データ等が送受信される。ＧＷサーバ２００の第２計測部２０５は、第２通信部２０４について送受信されたデータを計測する、つまり、使用可能な帯域である第２可用帯域を計測する（ステップＳ１０）。計測された第１可用帯域および第２可用帯域は、算出部２０７に入力される。なお、可用帯域の計測は、Ｗｅｂサーバ１００およびクライアント端末３００で可用帯域をそれぞれ計測し、計測された可用帯域をＧＷサーバ２００に送信するようにしてもよい。
【００６５】
次に、クライアント端末３００において、ユーザによる操作が行われる（ステップＳ１１）。ユーザの操作は、例えばクライアント端末３００の表示部３０５に表示されたブラウザの画面上で、例えば、あるリンクがタップされる。クライアント端末３００は、タップ操作が入力部３０１から入力されると、操作情報としてＧＷサーバ２００に送信する（ステップＳ１２）。
【００６６】
ＧＷサーバ２００は、操作情報を受信すると（ステップＳ１３）、ＯＳ実行制御部２０１によってブラウザ２０６に操作情報が入力される。ブラウザ２０６は、操作情報に基づいてＷｅｂサーバ１００に対して所定ＵＲＬのページを要求する（ステップＳ１４）。Ｗｅｂサーバ１００は、ページ要求として所定ＵＲＬを受信すると、所定ＵＲＬのページを記憶部１０３から読み出す（ステップＳ１５）。Ｗｅｂサーバ１００は、読み出したページをＧＷサーバ２００に送信する（ステップＳ１６）。
【００６７】
ＧＷサーバ２００の第１通信部２０２は、Ｗｅｂサーバ１００からページの受信を開始する（ステップＳ１７）。第１通信部２０２は、ページを生成部２０６に出力し、ページのＨＴＭＬに記載されているページ全体のデータ量を抽出して算出部２０７に出力する。算出部２０７は、ページ全体のデータ量と第１可用帯域とに基づいて、Ｗｅｂサーバ１００からページ全体を取得する取得時間Ｔｅを算出する（ステップＳ１８）。生成部２０６は、第１通信部２０２から入力されたページをフレームバッファ２１０に描画して、ページを表示画面に表示するための画像を生成する（ステップＳ１９）。
【００６８】
分割部２０８は、フレームバッファ２１０からページ全体の画像を読み出して、第１領域と第２領域とに分割し、第１領域の画像をキャプチャして取得する（ステップＳ２０）。分割部２０８は、取得した第１領域の画像が、前回取得した第１領域の画像に対して更新があるか否かを判定する（ステップＳ２１）。分割部２０８は、取得した第１領域の画像が、前回取得した第１領域の画像に対して更新がない場合には（ステップＳ２１：否定）、ステップＳ２０に戻り、所定の間隔、例えば、１秒間に５回の間隔で第１領域の画像のキャプチャを続ける。分割部２０８は、取得した第１領域の画像が、前回取得した第１領域の画像に対して更新がある場合には（ステップＳ２１：肯定）、前回取得した第１領域の画像と今回取得した第１領域の画像の差分の画像データを生成して圧縮部２０９に出力する。圧縮部２０９は、入力された第１領域の差分の画像データを圧縮し、圧縮データを第２通信部２０４に出力する（ステップＳ２２）。また、圧縮部２０９は、第１領域の画像の圧縮データのデータ量を算出部２０７に出力する。
【００６９】
第２通信部２０４は、圧縮された差分の画像データを圧縮データとして、クライアント端末３００に送信する（ステップＳ２３）。クライアント端末３００の通信部３０２は、ＧＷサーバ２００から圧縮データを受信すると、復元部３０３に対して圧縮データを出力する（ステップＳ２４）。復元部３０３は、圧縮データから、第１領域に対応する画像の差分の画像データを復元して更新する部分の画像データを生成し、表示バッファ３０４に記憶された画像を更新する。表示部３０５は、表示バッファ３０４から表示画面に表示する画像データを読み込んで表示する（ステップＳ２５）。
【００７０】
ＧＷサーバ２００の分割部２０８は、第１領域の描画が収束したか否かを判定する（ステップＳ２６）。分割部２０８は、第１領域の描画が収束していない場合には（ステップＳ２６：否定）、ステップＳ２０に戻り、ステップＳ２０からステップＳ２３までを繰り返す。つまり、分割部２０８は、第１領域の描画が収束するまで、所定の間隔で第１領域の画像のキャプチャを続け、差分の画像データをクライアント端末３００に送信する。分割部２０８は、第１領域の描画が収束している場合には（ステップＳ２６：肯定）、第１領域についての更新処理を終了する。
【００７１】
分割部２０８は、第１領域に対するステップＳ２０〜Ｓ２６の処理と並行して、第２領域に対する処理を行う。分割部２０８は、予め定められた所定値の１つの分割領域の圧縮データ量に基づいて、第２領域を１つ以上の分割領域に分割する（ステップＳ２７）。算出部２０７は、第１領域の画像の圧縮データ量と、第２可用帯域とに基づいて、クライアント端末３００に第１領域の画像を送信する送信時間Ｔ１を算出する。また、算出部２０７は、ページ全体を取得する取得時間Ｔｅと、第１領域の画像の送信時間Ｔ１との時間差を算出する。算出部２０７は、時間差と第２可用帯域とに基づいて、時間差内にクライアント端末３００に送信できるデータ量を算出する。算出部２０７は、１つの分割領域の圧縮データ量と、時間差内に送信できるデータ量とに基づいて、時間差内にクライアント端末３００に送信する分割領域の個数を算出する（ステップＳ２８）。
【００７２】
分割部２０８は、算出部２０７から時間差内にクライアント端末３００に送信する分割領域の個数が入力されると、第１領域に隣接する分割領域から順に、分割領域に対応する画像をキャプチャして取得する（ステップＳ２９）。分割部２０８は、取得した分割領域の画像が、前回取得した分割領域の画像に対して更新があるか否かを判定する（ステップＳ３０）。分割部２０８は、取得した分割領域の画像が、前回取得した分割領域の画像に対して更新がない場合には（ステップＳ３０：否定）、ステップＳ２９に戻り、所定の間隔、例えば、１秒間に５回の間隔で分割領域の画像のキャプチャを続ける。分割部２０８は、取得した分割領域の画像が、前回取得した分割領域の画像に対して更新がある場合には（ステップＳ３０：肯定）、前回取得した分割領域の画像と今回取得した分割領域の画像の差分の画像データを生成して圧縮部２０９に出力する。圧縮部２０９は、入力された分割領域の差分の画像データを圧縮し、圧縮データを第２通信部２０４に出力する（ステップＳ３１）。
【００７３】
第２通信部２０４は、圧縮された差分の画像データを圧縮データとして、クライアント端末３００に送信する（ステップＳ３２）。クライアント端末３００の通信部３０２は、ＧＷサーバ２００から圧縮データを受信すると、復元部３０３に対して圧縮データを出力する（ステップＳ３３）。復元部３０３は、圧縮データから、分割領域に対応する画像の差分の画像データを復元して更新する部分の画像データを生成し、表示バッファ３０４に記憶された画像データを更新する（ステップＳ３４）。
【００７４】
クライアント端末３００は、ユーザによって画面をスクロールするためのフリック操作が入力されると（ステップＳ３５）、フリック操作の操作情報をＧＷサーバ２００に送信する。また、クライアント端末３００は、操作情報の送信とともに、表示部３０５が表示バッファ３０４から表示画面に表示する分割領域の画像を読み込んで表示する（ステップＳ３６）。
【００７５】
ＧＷサーバ２００の分割部２０８は、ページ全体の取得時間Ｔｅが経過したか否かを判定する（ステップＳ３７）。分割部２０８は、ページ全体の取得時間Ｔｅが経過していない場合には（ステップＳ３７：否定）、ステップＳ２９に戻り、ステップＳ２９からステップＳ３２までを繰り返す。つまり、分割部２０８は、ページ全体の取得時間Ｔｅが経過するまで、所定の間隔で分割領域の画像のキャプチャを続け、第１領域に隣接した分割領域から順に差分の画像データをクライアント端末３００に送信する。分割部２０８は、ページ全体の取得時間Ｔｅが経過した場合には（ステップＳ３７：肯定）、分割領域、つまり第２領域についての更新処理を終了する。
【００７６】
このように、中継装置であるＧＷサーバ２００は、サーバ装置であるＷｅｂサーバ１００からページを受信し、ページのうちページがクライアント端末３００によって表示される第１領域以外の第２領域を１つ以上の分割領域に分割する。また、ＧＷサーバ２００は、Ｗｅｂサーバ１００からページの全体を取得するための取得時間とクライアント端末３００に第１領域を送信するための送信時間との時間差に、クライアント端末３００へ送信する分割領域の個数を算出する。また、ＧＷサーバ２００は、第１領域に対応する画像および算出された個数の分割領域に対応する画像をクライアント端末３００に送信する。その結果、スクロール操作に対するレスポンスを向上させることができる。
【００７７】
また、ＧＷサーバ２００は、さらに、ページに基づいて、第１領域に対応する画像および第２領域に対応する画像を生成し、第１領域および第２領域に対応する画像をフレームバッファ２１０に記憶する。また、ＧＷサーバ２００は、第１通信部２０２の使用可能な帯域である第１可用帯域を計測し、第２通信部２０４の使用可能な帯域である第２可用帯域を計測する。また、ＧＷサーバ２００は、ページの全体のデータ量と第１可用帯域とに基づいて、ページの全体を取得するための取得時間を算出し、第１領域に対応する画像と第２可用帯域とに基づいて、送信時間を算出する。また、ＧＷサーバ２００は、算出された取得時間と送信時間とに基づいて時間差を算出し、算出された時間差と、第２可用帯域とに基づいて、時間差内にクライアント端末３００へ送信する分割領域の個数を算出する。その結果、Ｗｅｂサーバ１００およびクライアント端末３００との間の可用帯域に応じた個数の分割領域を、クライアント端末３００に送信できる。
【００７８】
また、ＧＷサーバ２００は、第２領域について、クライアント端末３００でのスクロール量の統計値に基づき予め決定されたスクロール量に基づいて、１つ以上の分割領域に分割する。その結果、画面の大きさが異なる複数種類のクライアント端末３００であっても、それぞれの画面に応じてスクロール操作に対するレスポンスを向上させることができる。
【００７９】
また、ＧＷサーバ２００は、分割領域に対応する画像について、第１領域に対応する画像に隣接する分割領域に対応する画像から順に送信する。その結果、ページ全体の取得時間経過前にクライアント端末３００から画面をスクロールさせるフリック操作の操作情報が入力されても、既に送信された分割領域については、スクロール操作に対するレスポンスを向上させることができる。
【００８０】
また、上記実施例では、ＧＷサーバ２００は、第１領域と第２領域に対する処理を並行して行ったが、これに限定されない。ＧＷサーバ２００は、例えば、第１領域に対する処理が終了して、圧縮データのクライアント端末３００への送信が完了してから、第２領域の処理を実行してもよい。その結果、分割部２０８での画像のキャプチャ処理の負荷を軽減できる。
【００８１】
また、上記実施例では、ＧＷサーバ２００からクライアント端末３００に対して時間差に送信する分割領域の個数を、実測したページ全体のデータ量、第１可用帯域、第１領域の画像のデータ量、および、第２可用帯域から算出したが、これに限定されない。ＧＷサーバ２００は、例えば、各通信回線の品質、各データ量が予測できる場合には、予めこれらの予測値に基づいて、時間差内に送信する分割領域の個数を算出してもよい。その結果、第１計測部２０３および第２計測部２０４を省略することができ、算出部２０７の負荷を軽減することができる。
【００８２】
また、上記実施例では、コンテンツとしてＨＴＭＬを用いたＷｅｂページを例示したが、これに限定されない。コンテンツは、コンテンツ全体の取得時間がアクセス開始時に判明するものであれば、地図、ＰＤＦ（Portable  Document  Format）ファイル等の他のコンテンツであってもよい。
【００８３】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、算出部２０７は、時間差にクライアント端末３００に送信する分割領域の個数と、分割領域の個数を算出するための基準量である１つの分割領域の圧縮データ量とを算出したが、これらを分割して２つの算出部とすることもできる。
【００８４】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）（又はＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
【００８５】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図６は、中継プログラムを実行するコンピュータの一例を示す説明図である。
【００８６】
図６が示すように、コンピュータ４００は、各種演算処理を実行するＣＰＵ４０１と、ユーザからのデータ入力を受け付ける入力装置４０２と、モニタ４０３とを有する。また、コンピュータ４００は、記憶媒体からプログラム等を読み取る媒体読取装置４０４と、他の装置と接続するためのインタフェース装置４０５と、他の装置と無線により接続するための無線通信装置４０６とを有する。また、コンピュータ４００は、各種情報を一時記憶するＲＡＭ４０７と、ハードディスク装置４０８とを有する。また、各装置４０１〜４０８は、バス４０９に接続される。
【００８７】
ハードディスク装置４０８には、図１に示した算出部２０７および分割部２０８の各処理部と同様の機能を有する情報処理プログラムが記憶される。また、ハードディスク装置４０８には、情報処理プログラムを実現するための各種データが記憶される。インタフェース装置４０５および無線通信装置４０６は、図１に示した第１通信部２０２および第２通信部２０４と同様の機能を有する。
【００８８】
ＣＰＵ４０１は、ハードディスク装置４０８に記憶された各プログラムを読み出して、ＲＡＭ４０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ４００を図１に示した算出部２０７および分割部２０８として機能させることができる。
【００８９】
なお、上記の情報処理プログラムは、必ずしもハードディスク装置４０８に記憶されている必要はない。例えば、コンピュータ４００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ４００が読み出して実行するようにしてもよい。コンピュータ４００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）等に接続された装置にこの情報処理プログラムを記憶させておき、コンピュータ４００がこれらから情報処理プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００９０】
１  シンクライアントシステム
１００  Ｗｅｂサーバ
１０１  通信部
１０２  読出部
１０３  記憶部
２００  ＧＷサーバ
２０１  ＯＳ実行制御部
２０２  第１通信部
２０３  第１計測部
２０４  第２通信部
２０５  第２計測部
２０６  生成部
２０７  算出部
２０８  分割部
２０９  圧縮部
２１０  フレームバッファ
３００  クライアント端末
３０１  入力部
３０２  通信部
３０３  復元部
３０４  表示バッファ
３０５  表示部
【図１】
2015060461.tif 000003
【図２】
2015060461.tif 000004
【図３】
2015060461.tif 000005
【図４】
2015060461.tif 000006
【図５】
2015060461.tif 000007
【図６】
2015060461.tif 000008