説明

サーバ装置及びプログラム

【課題】操作に伴う画面変化の応答遅延を防止する。
【解決手段】実施形態のサーバ装置は、クライアント装置とネットワークを介して接続され、受信部と、第1検出部と、周期変更部と、第2検出部と、送信部とを、備える。受信部は前記ネットワークを介して操作データを受信する。第1検出部は、受信された前記操作データに基づく操作イベントの中から、所定操作イベントを検出する。周期変更部は、前記所定操作イベントが検出された場合に、前記操作イベントに基づいてアプリケーションにより更新される画面データの変化検出周期を第1周期から当該第1周期よりも長い第2周期に変更する。第2検出部は、前記第2周期で前記画面データの変化を検出する。送信部は、変化が検出された前記画面データを前記クライアント装置へ送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、サーバ装置及びプログラムに関する。
【背景技術】
【0002】
従来から、第1端末の画面データを、ネットワークを介して接続された第2端末へリアルタイムで配信する画面転送システムが知られている。このような画面転送システムでは、第2端末は、当該第2端末にて行われた操作の操作データを第1端末へ送信し、第1端末は、送信された操作データに応じた画面を生成し、生成した画面の画面データを第2端末へ送信する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−40347号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、第1端末が生成する画面が動画画面などの場合、画面変化が頻繁に発生するため、第1端末から第2端末に画面データが常時送信される状態となる。
【0005】
このような画面転送が定常的に行われている状態で、第2端末で何かしらの操作を行うと、当該操作に伴う画面変化が当該第2端末で反映されるまでに、遅延が生じるという問題がある。
【課題を解決するための手段】
【0006】
実施形態のサーバ装置は、クライアント装置とネットワークを介して接続され、受信部と、第1検出部と、周期変更部と、第2検出部と、送信部とを、備える。受信部は前記ネットワークを介して操作データを受信する。第1検出部は、受信された前記操作データに基づく操作イベントの中から、所定操作イベントを検出する。周期変更部は、前記所定操作イベントが検出された場合に、前記操作イベントに基づいてアプリケーションにより更新される画面データの変化検出周期を第1周期から当該第1周期よりも長い第2周期に変更する。第2検出部は、前記第2周期で前記画面データの変化を検出する。送信部は、変化が検出された前記画面データを前記クライアント装置へ送信する。
【図面の簡単な説明】
【0007】
【図1】図1は、第1実施形態の画面転送システムの構成例を示すブロック図。
【図2】図2は、第1実施形態のサーバ装置の構成例を示すブロック図。
【図3】図3は、第1実施形態の画面例を示す図。
【図4】図4は、第1実施形態の変化検出周期変更処理例を示すフローチャート。
【図5】図5は、第1実施形態の画面変化検出処理例を示すフローチャート。
【図6】図6は、第1実施形態の送信処理例を示すフローチャート。
【図7】図7は、第1実施形態の特定操作の応答時間例の説明図。
【図8】図8は、応答遅延の説明図。
【図9】図9は、特定操作の応答時間の比較例の説明図。
【図10】図10は、第2実施形態のサーバ装置の構成例を示すブロック図。
【図11】図11は、第2実施形態の画面圧縮率変更処理例を示すフローチャート。
【図12】図12は、第2実施形態の特定操作の応答時間例の説明図。
【図13】図13は、第3実施形態のサーバ装置の構成例を示すブロック図。
【図14】図14は、第4実施形態のサーバ装置の構成例を示すブロック図。
【図15】図15は、第4実施形態の画面例を示す図。
【図16】図16は、変形例1のサーバ装置の構成例を示すブロック図。
【図17】図17は、変形例2のサーバ装置の構成例を示すブロック図。
【図18】図18は、変形例3のサーバ装置の構成例を示すブロック図。
【発明を実施するための形態】
【0008】
(第1実施形態)
図1は、第1実施形態の画面転送システム100の構成の一例を示すブロック図である。図1に示すように、画面転送システム100は、画面データを送信するサーバ装置110と、画面データを受信するクライアント装置190とを、備える。サーバ装置110とクライアント装置190とは、ネットワーク102を介して接続されている。ネットワーク102は、LAN(Local Area Network)やインターネットなどにより実現でき、有線であっても無線であってもよい。
【0009】
サーバ装置110は、クライアント装置190に画面データを送信する機能を有する機器であれば、どのような機器であってもよい。サーバ装置110では、画面データを生成するアプリケーションソフトウェアと画面転送システムにおけるサーバ用ソフトウェアとが起動している。サーバ用ソフトウェアは、画面データ送信用のソフトウェアであり、クライアント装置190から送信された操作データをアプリケーションソフトウェアへ通知する機能も有する。
【0010】
これにより、サーバ装置110は、画面データを生成し、生成した画面データをクライアント装置190へネットワーク102を介して送信する。またサーバ装置110は、クライアント装置190から操作データを受信した場合には、受信した操作データに応じた画面データを生成し、生成した画面データをクライアント装置190へネットワーク102を介して送信する。
【0011】
クライアント装置190は、サーバ装置110から画面データを受信する機能を有する機器であれば、どのような機器であってもよい。クライアント装置190では、画面転送システムにおけるクライアント用ソフトウェアが起動している。クライアント用ソフトウェアは、画面データ受信用のソフトウェアであり、クライアント装置190で行われた操作内容を示す操作データをサーバ装置110へ送信する機能も有する。
【0012】
これにより、クライアント装置190は、クライアント装置190から画面データを受信し、受信した画面データに基づく画面をディスプレイなどの表示部(図示省略)に表示させる。またクライアント装置190は、表示部に表示された画面に対する操作がユーザにより行われた場合には、行われた操作内容を示す操作データをサーバ装置110へ送信する。
【0013】
また画面転送システム100では、サーバ装置110は、プッシュ型の画面転送プロトコルを利用して、クライアント装置190へ画面データを送信するものとする。プッシュ型とは、画面データ受信側からの画面データ取得要求を必要とせずに、画面データ送信側から画面データ受信側へ画面データを送信する方式である。つまり本実施形態では、クライアント用ソフトウェアが起動しているクライアント装置190からの画面データ取得要求を必要とせずに、サーバ用ソフトウェアが起動しているサーバ装置110からクライアント装置190へ画面データを送信する。
【0014】
但し、画面転送方式は、プッシュ型に限定されるものではなく、プル型であってもよい。プル型とは、画面データ受信側(クライアント装置190)からの画面データ取得要求に応じて、画面データ送信側(サーバ装置110)から画面データ受信側へ画面データを送信する方式である。
【0015】
以上のように、画面転送システム100では、サーバ装置110で生成された画面がクライアント装置190に転送され、クライアント装置190で表示される。
【0016】
図2は、第1実施形態のサーバ装置110の構成の一例を示すブロック図である。図2に示すように、サーバ装置110は、受信部112と、解析部114と、アプリケーション116と、フレームバッファ118と、表示部120と、第1検出部122と、周期変更部124と、第2検出部126と、生成部128と、送信部130とを、備える。
【0017】
受信部112は、ネットワーク102を介して操作データ(操作信号)などを含むデータを受信する。具体的には、受信部112は、TCP(Transmission Control Protocol)/IP(Internet Protocol)などのネットワークプロトコルを用いて、クライアント装置190からデータを受信する。例えば、受信部112は、クライアント装置190で起動しているクライアントソフトウェアとの間で設定されたコネクションにてパケットを順次受信し、受信したパケットからクライアント装置190が送信したデータを構築する。
【0018】
解析部114は、受信部112により受信されたデータを解析し、受信されたデータに含まれる操作データに対応する操作イベントを生成する。なお、操作データは、マウス移動、クリック、又はダブルクリックなどマウス操作を示すマウス操作データや、押下されたキーボードのキーを示すキー操作データなどである。
【0019】
アプリケーション116は、動画再生アプリケーション、プレゼンテーションアプリケーション、描画ツールアプリケーション、又は3次元のCAD(Computer Aided Design)アプリケーションなど画面データを生成するアプリケーションであれば、どのようなアプリケーションであってもよい。本実施形態では、動画再生アプリケーションを例にとりアプリケーション116について説明するが、これに限定されるものではない。またアプリケーション116は、単一のアプリケーションだけでなく、複数のアプリケーションであってもよい。アプリケーション116は、再生対象の動画データや解析部114により生成された操作イベントそれぞれに応じた画面データ(画像データ)を所定フレーム毎に生成し、フレームバッファ118に描画する。
【0020】
フレームバッファ118は、アプリケーション116により画面データが描画されるメモリである。本実施形態のフレームバッファ118は、前回の画面データ、現在の画面データ、及び現在の画面データのうち前回の画面データから更新された部分の画面データである更新画面データを記憶するものとするが、これに限定されるものではない。
【0021】
表示部120は、フレームバッファ118に描画された画面データ(詳細には、現在の画面データ)に基づく画面を表示するものであり、例えば、液晶ディスプレイなどにより実現できる。
【0022】
第1検出部122は、受信部112により受信された操作データに基づく操作イベント(解析部114により生成された操作イベント)の中から、所定操作イベントを検出する。本実施形態では、所定操作イベントは、マウス移動を示すマウス移動イベントであるものとするが、これに限定されるものではない。なお、マウス移動イベントは、マウス移動を示すだけでなく、マウスポインタの位置を示してもよい。
【0023】
具体的には、第1検出部122は、マウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことを検出する。通常、画面の停止(再生の停止)やポップアップ画面の表示などの画面変化を伴う特定操作(例えば、マウスのクリックなど)が行われる前には、マウスの移動が行われているケースが多い。これは、一般的に、画面変化を伴う特定操作は、画面に表示されている特定のシンボル(例えば、アイコン)上で行われることに起因する。つまり、画面変化を伴う特定操作に対応する特定操作イベントが発生する前には、マウス移動イベントが発生している可能性が非常に高い。このため、第1検出部122では、マウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことを検出することにより、近い将来、マウスのクリック又はダブルクリック、若しくは、キー押下などの画面変化を伴う特定操作イベントが発生することを予測する。なお、第1発生頻度とは、例えば、1秒間に20回以上のマウス移動イベントの発生や1秒間に20回以上のマウス移動イベントが3秒間以上発生することなどが該当するが、これらに限定されるものではなく、適宜設定することができる。
【0024】
そして第1検出部122は、マウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことを検出した場合には、通常状態から特定操作イベントの発生を予測する特定操作予測状態に移行し、特定操作予測開始信号を周期変更部124に出力する。なお第1検出部122は、マウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことを検出した後一定時間後に、特定操作予測状態に移行し、特定操作予測開始信号を周期変更部124に出力するようにしてもよい。
【0025】
また第1検出部122は、マウス移動イベントの発生頻度だけでなく、マウスポインタの位置データも用いて、画面変化を伴う特定操作イベントの発生を予測するようにしてもよい。これにより、特定操作イベントの発生予測精度を高めることができる。以下、図3を参照して、マウスの位置データを更に用いて画面変化を伴う特定操作イベントの発生を予測する例について説明する。
【0026】
図3は、第1実施形態の表示部120に表示される画面140の一例を示す図である。図3に示す例では、表示部120に表示される画面140上に、動画画面142と、動画の再生や一時停止を行うためのボタンスイッチが表示された操作画面144と、マウスポインタ146とが表示されている。
【0027】
図3に示す例において、第1検出部122は、操作画面144の位置データとマウス移動イベントに含まれるマウスポインタ146の位置データとを比較し、マウスポインタ146が操作画面144の近傍に位置するか否かを判定する。この場合、第1検出部122は、操作画面144の位置データを予め保持していてもよいし、画面変化の頻度などから後述の第2検出部126に検出させたものを用いるようにしてもよい。そして第1検出部122は、マウスポインタ146が操作画面144の近傍に位置する状態でマウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことを検出した場合に、画面変化を伴う特定操作イベントの発生を予測する。例えば、第1検出部122は、操作画面144の500ピクセル以内で1秒間に20回以上のマウス移動イベントを検出した場合に、画面変化を伴う特定操作イベントの発生を予測する。
【0028】
また図3に示す例において、第1検出部122は、操作画面144の位置データとマウス移動イベントに含まれるマウスポインタ146の位置データとを比較し、マウスポインタ146が操作画面144に近づいているか否かを判定するようにしてもよい。そして第1検出部122は、マウスポインタ146が操作画面144に近づいている状態でマウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことを検出した場合に、画面変化を伴う特定操作イベントの発生を予測するようにしてもよい。例えば、第1検出部122は、マウスポインタ146と操作画面144との距離が短くなる状態で1秒間に20回以上のマウス移動イベントを検出した場合に、画面変化を伴う特定操作イベントの発生を予測するようにしてもよい。
【0029】
図2に戻り、第1検出部122は、マウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことを検出した後に、更に、第2発生頻度以下となったことを検出する。これは、特定操作予測状態を解除するためである。なお、第2発生頻度とは、例えば、1秒間に1回以下のマウス移動イベントの5秒間以上の発生などが該当するが、これに限定されるものではなく、適宜設定することができる。
【0030】
そして第1検出部122は、特定操作予測状態において、マウス移動イベントの単位時間当たりの発生頻度が第2発生頻度以下となったことを検出した場合には、特定操作予測状態を解除して通常状態へ移行し、特定操作予測解除信号を周期変更部124に出力する。なお第1検出部122は、マウス移動イベントの単位時間当たりの発生頻度が第2発生頻度以下となったことを検出した後一定時間後に、特定操作予測状態を解除し、特定操作予測解除信号を周期変更部124に出力するようにしてもよい。
【0031】
周期変更部124は、第1検出部122により所定操作イベントが検出された場合に、アプリケーション116により更新される画面データ(画像データ)の変化検出周期を第1周期から第1周期よりも長い第2周期に変更する。具体的には、周期変更部124は、第1検出部122によりマウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことが検出された場合、即ち、第1検出部122から特定操作予測開始信号が入力された場合、画面データの変化検出周期を第1周期から第2周期に変更する。同様に周期変更部124は、第1検出部122から特定操作予測解除信号が入力された場合、画面データの変化検出周期を第2周期から第1周期に変更する。
【0032】
例えば周期変更部124は、特定操作予測開始信号が入力されると、画面データの変化検出周期を40msから140msに変更し、特定操作予測解除信号が入力されると、画面データの変化検出周期を140msから40msに変更する。但し、第1周期及び第2周期の値は、これらに限定されるものではなく、適宜設定することができる。
【0033】
なお、後述の第2検出部126が画面の領域毎に異なる周期で画面データの変化を検出できる場合には、図3に示す例において、周期変更部124は、動画画面142のみ(動画画面142の位置データが示す領域のみ)変化検出周期を第1周期から第2周期に変更するようにしてもよい。この場合、周期変更部124は、動画画面142の位置データを予め保持していてもよいし、画面変化の頻度などから後述の第2検出部126に検出させたものを用いるようにしてもよい。
【0034】
第2検出部126は、周期変更部124により変更された周期で、画面データ(画像データ)が変化したか否かを検出する。つまり、第2検出部126は、変化検出周期が40msであれば、40ms毎に画面データが変化したか否かを検出し、変化検出周期が140msであれば、140ms毎に画面データが変化したか否かを検出する。
【0035】
例えば、第2検出部126は、周期変更部124により変更された周期で、フレームバッファ118に記憶されている前回の画面データと現在の画面データとを画素単位で比較する。そして第2検出部126は、画面データが変化したことを検出した場合には、現在の画面データのうち前回の画面データから更新(変化)された部分の画面データである更新画面データをフレームバッファ118に記憶し、生成部128へ更新画面データの発生を通知する。
【0036】
生成部128は、第2検出部126から更新画面データの発生が通知されると、フレームバッファ118に記憶されている更新画面データを取得し、取得した更新画面データを圧縮して圧縮画面データを生成する。そして生成部128は、生成した圧縮画面データを送信部130へ出力する。
【0037】
送信部130は、第2検出部126により変化が検出された画面データ(画像データ)をクライアント装置190へ送信する。具体的には、送信部130は、送信バッファ132を含み、生成部128から出力された圧縮画面データを送信バッファ132へ格納し、TCP/IPなどのネットワークプロトコルを用いて、送信バッファ132へ格納済みの圧縮画面データを順番にクライアント装置190へ送信する。例えば、送信部130は、圧縮画面データをパケット化し、クライアント装置190で起動しているクライアントソフトウェアとの間で設定されたコネクションを用いてパケットを送信する。
【0038】
図4は、第1実施形態のサーバ装置110で行われる画面変化検出周期変更処理の流れの一例を示すフローチャートである。
【0039】
まず、受信部112は、クライアント装置190からデータを受信する(ステップS100)。
【0040】
続いて、解析部114は、受信部112により受信されたデータを解析し、受信されたデータに含まれる操作データに対応する操作イベントを生成する(ステップS102)。
【0041】
続いて、アプリケーション116は、再生対象の動画データ及び解析部114により生成された操作イベントそれぞれに応じた画面データ(画像データ)を生成し、フレームバッファ118に描画する(ステップS104)。
【0042】
続いて、第1検出部122は、画面変化を伴う特定操作イベントの発生を予測する特定操作予測状態であるか否かを判定する(ステップS106)。
【0043】
特定操作予測状態でない場合(ステップS106でNo)、第1検出部122は、マウスイベントの発生頻度が特定操作予測状態への移行条件を満たすか否か、即ち、マウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったか否かを検出する(ステップS108)。
【0044】
第1検出部122は、マウス移動イベントの単位時間当たりの発生頻度が第1発生頻度未満であることを検出した場合(ステップS108でNo)、ステップS100へ戻る。
【0045】
一方、第1検出部122は、マウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことを検出した場合(ステップS108でYes)、特定操作予測状態に移行し(ステップS110)、特定操作予測開始信号を周期変更部124に出力する。
【0046】
続いて、周期変更部124は、第1検出部122から出力された特定操作予測開始信号が入力されると、画面データ(画像データ)の変化検出周期を第1周期から第2周期に変更し(ステップS112)、ステップS100へ戻る。
【0047】
一方、特定操作予測状態である場合(ステップS106でYes)、第1検出部122は、マウスイベントの発生頻度が特定操作予測状態の解除条件を満たすか否か、即ち、マウス移動イベントの単位時間当たりの発生頻度が第2発生頻度以下となったか否かを検出する(ステップS114)。
【0048】
第1検出部122は、マウス移動イベントの単位時間当たりの発生頻度が第2発生頻度を超えていることを検出した場合(ステップS114でNo)、ステップS100へ戻る。
【0049】
一方、第1検出部122は、マウス移動イベントの単位時間当たりの発生頻度が第2発生頻度以下となったことを検出した場合(ステップS114でYes)、特定操作予測状態を解除し(ステップS116)、特定操作予測解除信号を周期変更部124に出力する。
【0050】
続いて、周期変更部124は、第1検出部122から出力された特定操作予測解除信号が入力されると、画面データ(画像データ)の変化検出周期を第2周期から第1周期に変更し(ステップS118)、ステップS100へ戻る。
【0051】
図5は、第1実施形態のサーバ装置110で行われる画面変化検出処理の流れの一例を示すフローチャートである。
【0052】
まず、第2検出部126は、周期変更部124により変更された周期で、画面データ(画像データ)が変化したか否かを検出する(ステップS130)。つまり、第2検出部126は、変化検出周期が第1周期であれば、第1周期毎に画面データが変化したか否かを検出し、変化検出周期が第2周期であれば、第2周期毎に画面データが変化したか否かを検出する。
【0053】
第2検出部126により画面データの変化が検出された場合(ステップS130でYes)、生成部128は、更新(変化)した部分の更新画面データ(更新画像データ)を圧縮して圧縮画面データ(圧縮画像データ)を生成し(ステップS132)、送信部130へ出力して、ステップS130へ戻る。
【0054】
一方、第2検出部126により画面データの変化が検出されなかった場合(ステップS130でNo)、ステップS130へ戻る。
【0055】
図6は、第1実施形態のサーバ装置110で行われる送信処理の流れの一例を示すフローチャートである。
【0056】
まず、送信部130は、送信バッファ132に空きがあるか否かを確認する(ステップS140)。
【0057】
送信バッファ132に空きがある場合(ステップS140でYes)、送信部130は、生成部128により生成される圧縮画面データなどの格納対象データがあるか否かを確認する(ステップS142)。
【0058】
格納対象データがある場合(ステップS142でYes)、送信部130は、格納対象データを送信バッファ132に格納する(ステップS144)。
【0059】
なお、送信バッファ132に空きがない場合(ステップS140でNo)、及び格納対象データがない場合(ステップS142でNo)、ステップS146へ進む。
【0060】
続いて、送信部130は、送信バッファ132に送信対象のデータがあるか否かを確認する(ステップS146)。
【0061】
送信対象のデータがある場合(ステップS146でYes)、送信部130は、送信対象のデータをクライアント装置190へ送信し(ステップS148)、ステップS140へ戻る。
【0062】
なお、送信対象のデータがない場合も(ステップS146でNo)、ステップS140へ戻る。
【0063】
以上のように第1実施形態によれば、マウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となった場合、画面データの変化検出周期が第1周期から第1周期よりも長い第2周期に変更される。このため、サーバ装置110からクライアント装置190への画面転送が定常的に行われている状態であっても、生成部128により生成される送信対象のデータの生成量を抑制でき、送信バッファ132に格納されるデータ量を抑制できる。これにより、送信バッファ132に空きがない状態を回避できる確率が高まり、近い将来、マウスのクリック又はダブルクリック、若しくは、キー押下などの画面変化を伴う特定操作イベントが発生しても、当該特定操作イベントに基づき生成された画面データを、遅延を生じさせずにクライアント装置190へ送信することができる。つまり、サーバ装置110からクライアント装置190への画面転送が定常的に行われている状態であっても、クライアント装置190で特定操作が行われてから、当該特定操作に伴う画面変化がクライアント装置190で反映されるまでの応答時間が遅延してしまうことを防止でき、良好な操作性を保つことができる。
【0064】
図7は、第1実施形態の特定操作の応答時間の一例の説明図である。図7に示す例では、サーバ装置110は、単なるマウス移動操作(マウス移動イベント)の単位時間当たりの発生頻度が第1発生頻度以上となった場合、特定操作信号の予測検出、即ち、画面変化を伴う特定操作の予測を開始し、画面データの変化検出周期を第1周期から第2周期に変更する。これにより、図7に示す例では、画面変化を伴う特定操作の予測を開始する前に比べ、画面データの変化検出周期が長くなっており、送信バッファ132に空きがある可能性が高まる。
【0065】
このため、図7に示す例によれば、サーバ装置110からクライアント装置190への画面転送が定常的に行われている状態において、画面変化を伴う特定操作が行われても、当該特定操作(特定操作イベント)に基づき生成された画面データを、応答時間に遅延を生じさせずにクライアント装置190へ送信できている。
【0066】
ここで、比較例として、図3、図8、及び図9を参照しながら、応答時間に遅延が生じる例について説明する。なお、図8は、応答遅延の説明図であり、図9は、特定操作の応答時間の比較例の説明図である。
【0067】
図3に示す例において、動画画面142は、例えば、1秒間に10フレームの変化がある(10フレーム/秒で変化する)ものとする。また操作画面144には、前述したように、動画の再生や一時停止を行うためのボタンスイッチが表示されており、ユーザがマウスポインタ146をボタンスイッチ上に合わせてマウスをクリックすると、その度に「再生ボタン」、「一時停止ボタン」といったように表示内容が替わるものとする。
【0068】
通常、クライアント装置で画面140と同様の画面において、動画画面142で動画再生中に、マウスポインタ146を操作画面144の「一時停止ボタン」に合わせてマウスをクリックすると、瞬時にボタンスイッチの表示が「再生ボタン」に切り替わり、動画画面142で再生中の動画も一時停止する。
【0069】
しかしながら、動画が再生されていることにより動画画面142の画像がサーバ装置からクライアント装置へ定常的に転送されている状態では、サーバ装置の送信バッファが常に一杯となっている可能性が高い。送信バッファが一杯の状態では、空きが発生するまで新しいデータを送信バッファに格納できないため、送信に遅延が生じてしまう。このため、動画画面142で動画再生中に、マウスポインタ146を操作画面144の「一時停止ボタン」に合わせてマウスをクリックしても、ボタンスイッチの表示が「再生ボタン」に切り替わり、動画画面142で再生中の動画も一時停止するまでに、待ち時間が生じてしまう。
【0070】
図8に示す例では、サーバ装置は、t11時に画面変化を検出して、クライアント装置へ送信する画面データを生成し、t12時に次の画面変化を検出して、クライアント装置へ送信する画面データを生成したとする。
【0071】
ここで、t11時に生成した画面データにより送信バッファが一杯となってしまった場合、t12時に生成した画面データの送信は、送信バッファに空きが生じるWT12時間後となってしまう。
【0072】
また、この後、クライアント装置において、マウスポインタ146を操作画面144の「一時停止ボタン」に合わせてマウスをクリックする画面変換を伴う特定操作が行われたものとする。
【0073】
この場合、クライアント装置から特定操作を示す操作データがサーバ装置へ送信され、サーバ装置にて、特定操作に伴う画面データ(ボタンスイッチが「一時停止ボタン」から「再生ボタン」に変更された画面データ)が生成され、クライアント装置に送信される。
【0074】
ここで、サーバ装置は、t13時に特定操作に伴う画面変化を検出して、クライアント装置へ送信する画面データを生成したとしても、送信バッファが一杯となってしまっている場合、画面データの送信は、送信バッファに空きが生じるWT13時間後となってしまう。
【0075】
このため、図9に示す例のように、画面データの変化検出周期を変更しない場合、サーバ装置からクライアント装置への画面転送が定常的に行われている状態では、送信バッファ132が常に一杯である可能性が高い。
【0076】
このため、図9に示す例では、サーバ装置110からクライアント装置190への画面転送が定常的に行われている状態において、画面変化を伴う特定操作が行われても、送信バッファ132に空きが生じるまで、当該特定操作(特定操作イベント)に基づき生成された画面データをクライアント装置190へ送信できず、応答時間に遅延が生じ、操作性が劣化してしまっている。
【0077】
(第2実施形態)
第2実施形態では、マウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことが検出された場合に、圧縮率を変更する例について説明する。なお以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
【0078】
図10は、第2実施形態のサーバ装置210の構成の一例を示すブロック図である。図10に示すように、第2実施形態の画面転送システム200のサーバ装置210は、周期変更部124に代えて、圧縮率変更部223を備えている点が第1実施形態と相違する。
【0079】
なお第2実施形態では、第1検出部122は、特定操作予測開始信号及び特定操作予測解除信号を圧縮率変更部223に出力し、第2検出部126は、第1周期(例えば、40ms)で、画面データが変化したか否かを検出するものとする。
【0080】
圧縮率変更部223は、第1検出部122により所定操作イベントが検出された場合に、画面データの圧縮率を第1圧縮率から第1圧縮率よりも高い第2圧縮率に変更する。具体的には、圧縮率変更部223は、第1検出部122によりマウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことが検出された場合、即ち、第1検出部122から特定操作予測開始信号が入力された場合、画面データの圧縮率を第1圧縮率から第2圧縮率に変更する。同様に圧縮率変更部223は、第1検出部122から特定操作予測解除信号が入力された場合、画面データの圧縮率を第2圧縮率から第1圧縮率に変更する。
【0081】
例えば圧縮率変更部223は、特定操作予測開始信号が入力されると、画面データの圧縮率を50%から80%へ変更し、特定操作予測解除信号が入力されると、画面データの圧縮率を80%から50%へ変更する。但し、第1圧縮率及び第2圧縮率の値は、これらに限定されるものではなく、適宜設定することができる。
【0082】
なお、生成部128が画面の領域毎に異なる圧縮率で画面データを圧縮できる場合には、図3に示す例において、圧縮率変更部223は、動画画面142のみ(動画画面142の位置データが示す領域のみ)圧縮率を第1圧縮率から第2圧縮率に変更するようにしてもよい。この場合、圧縮率変更部223は、動画画面142の位置データを予め保持していてもよいし、画面変化の頻度などから第2検出部126に検出させたものを用いるようにしてもよい。また、生成部128に動画画面142の位置データを予め保持させていてもよい。
【0083】
また第2実施形態では、生成部128は、圧縮率変更部223により変更された圧縮率で更新画面データを圧縮して圧縮画面データを生成する。つまり、生成部128は、圧縮率が50%であれば、50%の圧縮率で更新画面データを圧縮して圧縮画面データを生成し、圧縮率が80%であれば、80%の圧縮率で更新画面データを圧縮して圧縮画面データを生成する。
【0084】
図11は、第2実施形態のサーバ装置210で行われる画面圧縮率変更処理の流れの一例を示すフローチャートである。
【0085】
まず、ステップS200〜ステップS210までの処理は、図4に示すフローチャートのステップS100〜ステップS110までの処理と同様である。
【0086】
ステップS212では、圧縮率変更部223は、第1検出部122から出力された特定操作予測開始信号が入力されると、画面データ(画像データ)の圧縮率を第1圧縮率から第2圧縮率に変更し(ステップS212)、ステップS200へ戻る。
【0087】
また、ステップS214〜ステップS216までの処理は、図4に示すフローチャートのステップS114〜ステップS116までの処理と同様である。
【0088】
ステップS218では、圧縮率変更部223は、第1検出部122から出力された特定操作予測解除信号が入力されると、画面データ(画像データ)の圧縮率を第2圧縮率から第1圧縮率に変更し(ステップS218)、ステップS200へ戻る。
【0089】
以上のように第2実施形態によれば、マウス移動イベントの単位時間当たりの発生頻度が第1発生頻度以上となった場合、画面データの圧縮率が第1圧縮率から第1圧縮率よりも高い第2圧縮率に変更される。このため、サーバ装置210からクライアント装置190への画面転送が定常的に行われている状態であっても、生成部128により生成される送信対象のデータの生成量を抑制でき、送信バッファ132に格納されるデータ量を抑制できる。これにより、送信バッファ132に空きがない状態を回避できる確率が高まり、近い将来、マウスのクリック又はダブルクリック、若しくは、キー押下などの画面変化を伴う特定操作イベントが発生しても、当該特定操作イベントに基づき生成された画面データを、遅延を生じさせずにクライアント装置190へ送信することができる。つまり、サーバ装置210からクライアント装置190への画面転送が定常的に行われている状態であっても、クライアント装置190で特定操作が行われてから、当該特定操作に伴う画面変化がクライアント装置190で反映されるまでの応答時間が遅延してしまうことを防止でき、良好な操作性を保つことができる。
【0090】
図12は、第2実施形態の特定操作の応答時間の一例の説明図である。図12に示す例では、サーバ装置210は、単なるマウス移動操作(マウス移動イベント)の単位時間当たりの発生頻度が第1発生頻度以上となった場合、特定操作信号の予測検出、即ち、画面変化を伴う特定操作の予測を開始し、画面データの圧縮率を第1圧縮率から第2圧縮率に変更する。これにより、図12に示す例では、画面変化を伴う特定操作の予測を開始する前に比べ、送信バッファ132に空きがある可能性が高まる。
【0091】
このため、図12に示す例によれば、サーバ装置210からクライアント装置190への画面転送が定常的に行われている状態において、画面変化を伴う特定操作が行われても、当該特定操作(特定操作イベント)に基づき生成された画面データを、応答時間に遅延を生じさせずにクライアント装置190へ送信できている。
【0092】
(第3実施形態)
第3実施形態では、圧縮画面データの生成周期に応じて、画面データの変化検出周期を変更する例について説明する。なお以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
【0093】
図13は、第3実施形態のサーバ装置310の構成の一例を示すブロック図である。図13に示すように、第3実施形態の画面転送システム300のサーバ装置310は、計時部329を備えている点、及び周期変更部324の処理内容が第1実施形態と相違する。
【0094】
計時部329は、生成部128により生成される圧縮画面データの生成周期を計時する。
【0095】
周期変更部324は、画面データの変化検出周期を計時部329により計時された生成周期以上の周期に変更する。
【0096】
圧縮処理などにより、生成部128の圧縮画面データの生成周期が画面データの変化検出周期よりも長くなってしまう場合、圧縮画面データの生成に遅延が生じてしまう。これに対し、第3実施形態では、画面データの変化検出周期を計時部329により計時された生成周期以上の周期に変更するため、圧縮画面データの生成遅延を防止することができる。
【0097】
周期変更部324は、画面データの変化検出周期を通常状態において計時部329により計時された生成周期に変更し、当該生成周期を第1周期としてもよい。例えば、周期変更部324は、通常状態において計時部329により計時された生成周期が80msである場合、画面データの変化検出周期を40msから80msに変更し、80msを第1周期としてもよい。
【0098】
また周期変更部324は、通常状態において計時部329により計時された生成周期を保持し、保持した生成周期よりも長い周期を第2周期とするようにしてもよい。例えば、周期変更部324は、通常状態において計時部329により計時された生成周期(例えば、80ms)を保持し、第1検出部122から特定操作予測開始信号が入力された場合に、画面データの変化検出周期を40msから保持している生成周期である80msよりも長い180msに変更し、第2周期とするようにしてもよい。
【0099】
以上のように第3実施形態によれば、圧縮画面データの生成遅延を防止することができる。これにより、サーバ装置310からクライアント装置190への画面転送が定常的に行われている状態であっても、クライアント装置190で特定操作が行われてから、当該特定操作に伴う画面変化がクライアント装置190で反映されるまでの応答時間が遅延してしまうことを防止でき、良好な操作性を保つことができる。
【0100】
(第4実施形態)
第4実施形態では、画面データの領域毎に変化検出周期を変更する例について説明する。なお以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
【0101】
図14は、第4実施形態のサーバ装置410の構成の一例を示すブロック図である。図14に示すように、第4実施形態の画面転送システム400のサーバ装置410は、第3検出部427を備えている点、及び周期変更部424の処理内容が第1実施形態と相違する。なお第4実施形態では、第2検出部126が画面の領域毎に異なる周期で画面データの変化を検出できるものとする。
【0102】
第3検出部427は、画面データの領域毎に単位時間当たりの変化検出頻度を検出し、保持する。具体的には、第3検出部427は、領域を示す領域データと当該領域の変化検出頻度データとを保持する。
【0103】
例えば、第3検出部427は、図15に示す例において、座標((x1,y1)−(x2,y2))で示される領域で第2検出部126により1秒間に10回以上の画面変化(更新)が検出されたことを検出したとする。なお、座標((x1,y1)−(x2,y2))で示される領域は、動画画面142であるものとする。この場合、第3検出部427は、領域データ及び変化検出頻度データとして[((x1,y1)−(x2,y2)),10]というデータを保持する。
【0104】
また例えば、第3検出部427は、図15に示す例において、座標((x3,y3)−(x4,y4))で示される領域で第2検出部126により1秒間に2回以上の画面変化(更新)が検出されたことを検出したとする。なお、座標((x3,y3)−(x4,y4))で示される領域は、操作画面144であるものとする。この場合、第3検出部427は、領域データ及び変化検出頻度データとして[((x3,y3)−(x4,y4)),2]というデータを保持する。
【0105】
なお、第3検出部427は、所定の領域で第2検出部126により1秒間に1回以下の画面変化(更新)が検出されたことを検出した場合、当該所定の領域の領域データ及び変化検出頻度データを保持しないものとする。
【0106】
周期変更部424は、所定操作イベントが検出された場合に、第3検出部427により検出された変化検出頻度が第1検出頻度を超えている領域の変化検出周期を第1周期から第2周期に変更する。具体的には、周期変更部424は、特定操作予測開始信号が入力されると、第3検出部427により保持されている領域データ及び変化検出頻度データを取得する。そして周期変更部424は、取得した変化検出頻度データが第1検出頻度を超えている場合、領域データが示す領域の変化検出周期を第1周期から第2周期に変更する。なお、第1検出頻度とは、例えば、第2検出部126により1秒間に10回以上の画面変化が検出されたことなどが該当するが、これに限定されるものではなく、適宜設定することができる。
【0107】
例えば、周期変更部424は、特定操作予測開始信号が入力されると、第3検出部427から[((x1,y1)−(x2,y2)),10]、及び[((x3,y3)−(x4,y4)),2]を取得する。そして周期変更部424は、((x1,y1)−(x2,y2))で示される領域の変化検出周期を第1周期から第2周期に変更し、その領域の変化検出頻度が1秒間に5回となるようにする。但し、変化検出周期変更後の変化検出頻度は、これに限定されるものではない。この際、周期変更部424は、第3検出部427から取得した[((x1,y1)−(x2,y2)),10]を保持しておくものとする。そして周期変更部424は、特定操作予測解除信号が入力されると、保持している[((x1,y1)−(x2,y2)),10]を用いて、((x1,y1)−(x2,y2))で示される領域の変化検出周期を第2周期から第1周期に変更し、その領域の変化検出頻度が1秒間に10回となるようにする。
【0108】
以上のように第4実施形態によれば、動画画面など変化検出頻度が高い部分の変化検出周期を長くすることができる。これにより、サーバ装置410からクライアント装置190への画面転送が定常的に行われている状態であっても、クライアント装置190で特定操作が行われてから、当該特定操作に伴う画面変化がクライアント装置190で反映されるまでの応答時間が遅延してしまうことを防止でき、良好な操作性を保つことができる。
【0109】
(変形例)
なお、本発明は上記実施形態をそのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0110】
(変形例1)
例えば、図16に示すように、上記第1実施形態と第2実施形態とを組み合わせてもよい。図16は、変形例1のサーバ装置510の構成の一例を示すブロック図である。図15に示すように、変形例1の画面転送システム500のサーバ装置510は、周期変更部124と圧縮率変更部223とを備えており、画面データの変化検出周期及び画面データの圧縮率の両方を変更する。
【0111】
(変形例2)
また例えば、図17に示すように、上記第2実施形態と第3実施形態とを組み合わせてもよい。図17は、変形例2のサーバ装置610の構成の一例を示すブロック図である。図17に示すように、変形例2の画面転送システム600のサーバ装置610は、周期変更部324、計時部329、及び圧縮率変更部623を備えており、圧縮画面データの生成周期に応じて、画面データの変化検出周期だけでなく画面データの圧縮率を変更する。
【0112】
例えば、圧縮率変更部623は、画面データの圧縮率を第1圧縮率(例えば、50%)、第1圧縮率よりも高い第2圧縮率(例えば、80%)、又は第1圧縮率よりも高く第2圧縮率よりも低い第3圧縮率(例えば、65%)に変更可能であるとする。
【0113】
そして圧縮率変更部623は、画面データの圧縮率が50%である場合に、第1検出部122から特定操作予測開始信号が入力されたとする。この場合、圧縮率変更部623は、特定操作予測開始信号が入力される以前に計時部329により計時された生成周期が80ms未満であれば、画面送信頻度が高いと判断し、画面データの圧縮率を80%に変更する。一方、圧縮率変更部623は、特定操作予測開始信号が入力される以前に計時部329により計時された生成周期が80ms以上であれば、画面送信頻度が低いと判断し、画面データの圧縮率を65%に変更する。
【0114】
一方、圧縮率変更部623は、画面データの圧縮率が80%又は65%である場合に、第1検出部122から特定操作予測解除信号が入力されたとする。この場合、圧縮率変更部623は、画面データの圧縮率を50%に変更する。
【0115】
なお、変形例2で説明した圧縮率及び生成周期の値は、例示であり、これに限定されるものではない。例えば、第4圧縮率(例えば、55%)を更に用意し、圧縮率変更部623は、特定操作予測開始信号が入力された場合に、計時部329により計時された生成周期が80ms以上100ms未満であれば画面データの圧縮率を65%に変更し、計時部329により計時された生成周期が100ms以上であれば画面データの圧縮率を55%に変更するというようにしてもよい。つまり、圧縮率の種類、及び圧縮率の選択基準となる生成周期も適宜設定することができる。
【0116】
以上のように変形例2によれば、圧縮画面データの生成周期に応じて画面データの圧縮率を変更することができる。これにより、サーバ装置610からクライアント装置190への画面転送が定常的に行われている状態であっても、クライアント装置190で特定操作が行われてから、当該特定操作に伴う画面変化がクライアント装置190で反映されるまでの応答時間が遅延してしまうことを防止でき、良好な操作性を保つことができる。
【0117】
(変形例3)
また例えば、図18に示すように、上記第2実施形態と第4実施形態とを組み合わせてもよい。図18は、変形例3のサーバ装置710の構成の一例を示すブロック図である。図18に示すように、変形例3の画面転送システム700のサーバ装置710は、周期変更部424、第3検出部427、及び圧縮率変更部723を備えており、画面データの領域毎に変化検出周期を変更するだけでなく、画面データの領域毎に画面データの圧縮率を変更する。なお変形例3では、生成部128が画面の領域毎に異なる圧縮率で画面データを圧縮できるものとする。
【0118】
圧縮率変更部723は、所定操作イベントが検出された場合に、第3検出部427により検出された変化検出頻度が第1検出頻度を超えている領域の圧縮率を第1圧縮率から第2圧縮率に変更する。具体的には、圧縮率変更部723は、特定操作予測開始信号が入力されると、第3検出部427により保持されている領域データ及び変化検出頻度データを取得する。そして圧縮率変更部723は、取得した変化検出頻度データが第1検出頻度を超えている場合、領域データが示す領域の圧縮率を第1圧縮率から第2圧縮率に変更する。
【0119】
例えば、圧縮率変更部723は、特定操作予測開始信号が入力されると、第3検出部427から[((x1,y1)−(x2,y2)),10]、及び[((x3,y3)−(x4,y4)),2]を取得する。そして圧縮率変更部723は、((x1,y1)−(x2,y2))で示される領域の圧縮率を50%から80%に変更する。この際、圧縮率変更部723は、第3検出部427から取得した[((x1,y1)−(x2,y2)),10]を保持しておくものとする。そして圧縮率変更部723は、特定操作予測解除信号が入力されると、保持している[((x1,y1)−(x2,y2)),10]を用いて、((x1,y1)−(x2,y2))で示される領域の圧縮率を80%から50%に変更する。
【0120】
なお、変形例3で説明した圧縮率及び第1検出頻度の値は、例示であり、これに限定されるものではない。
【0121】
以上のように変形例3によれば、動画画面など変化検出頻度が高い部分の圧縮率を高くすることができる。これにより、サーバ装置710からクライアント装置190への画面転送が定常的に行われている状態であっても、クライアント装置190で特定操作が行われてから、当該特定操作に伴う画面変化がクライアント装置190で反映されるまでの応答時間が遅延してしまうことを防止でき、良好な操作性を保つことができる。
【0122】
(変形例4)
なお、上記各実施形態及び変形例では、マウス操作を例に取り説明し、マウスの移動イベントを利用して特定操作イベントを予測する方法を説明したが、これに限るものではない。
【0123】
例えば、入力デバイスはキーボードであり、キー操作イベントから特定操作イベントを予測するようにしてもよい。この場合、第1検出部は、キー操作イベントの単位時間当たりの発生頻度が第1発生頻度以上であることを検出することにより、近い将来、マウスのクリック又はダブルクリック、若しくは、キー押下などの画面変化を伴う特定操作イベントが発生することを予測する。ここで、第1発生頻度とは、例えば、5秒間に5回以上のキー操作イベントの発生などが該当するが、これらに限定されるものではなく、適宜設定することができる。
【0124】
また例えば、マウスにセンサをつけておき、ユーザがマウスを触ったことをマウス側で検知すれば、その検知結果を例えば無線を用いてサーバ装置に通知し、その通知によりサーバ装置にて画面変化を伴う特定操作イベントが発生することを予測するようにしてもよい。
【0125】
また例えば、入力デバイスは、マウスに限らずベン型の入力デバイスやテレビのようなリモコンであっても適用できる。例えば、入力デバイスがリモコンの場合には、リモコンをユーザが手でもつことを検出し、リモコン本体が特定の動き(上下に揺れる、左右に揺れる)を検出した場合に、その検出結果を例えば無線を用いてサーバ装置に通知し、その通知によりサーバ装置にて画面変化を伴う特定操作イベントが発生することを予測するようにしてもよい。
【0126】
(変形例5)
また、上記各実施形態及び変形例では、送信バッファに格納されるデータ量を抑制する手法として、画面変化検出周期の変更や、画面データの圧縮率の変更などを説明したが、これらに限定されるものではない。例えば、サーバ装置からクライアント装置に送信する画面を縮小することで、送信バッファに格納されるデータ量を抑制してもよい。
【0127】
上記各実施形態及び上記各変形例のサーバ装置は、CPU(Central Processing Unit)などの制御装置と、ROMやRAMなどの記憶装置と、HDDやSSDなどの外部記憶装置と、ディスプレイなどの表示装置と、マウスやキーボードなどの入力装置と、通信I/Fなどの通信装置とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
【0128】
上記各実施形態及び上記各変形例のサーバ装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、メモリカード、DVD、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【0129】
また、上記各実施形態及び上記各変形例のサーバ装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態及び上記各変形例のサーバ装置で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、上記各実施形態及び上記各変形例のサーバ装置で実行されるプログラムを、ROM等に予め組み込んで提供するようにしてもよい。
【0130】
上記各実施形態及び上記各変形例のサーバ装置で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、CPUがHDDからプログラムをRAM上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【0131】
以上のように上記各実施形態及び変形例によれば、サーバ装置からクライアント装置への画面転送が定常的に行われている状態であっても、操作に伴う画面変化の応答遅延を防止することができる。
【符号の説明】
【0132】
100、200、300、400、500、600、700 画面転送システム
102 ネットワーク
110、210、310、410、510、610、710 サーバ装置
112 受信部
114 解析部
116 アプリケーション
118 フレームバッファ
120 表示部
122 第1検出部
124、324、424 周期変更部
126 第2検出部
128 生成部
130 送信部
190 クライアント装置
223、623、723 圧縮率変更部
329 計時部
427 第3検出部

【特許請求の範囲】
【請求項1】
クライアント装置とネットワークを介して接続されるサーバ装置であって、
前記ネットワークを介して操作データを受信する受信部と、
受信された前記操作データに基づく操作イベントの中から、所定操作イベントを検出する第1検出部と、
前記所定操作イベントが検出された場合に、前記操作イベントに基づいてアプリケーションにより更新される画面データの変化検出周期を第1周期から当該第1周期よりも長い第2周期に変更する周期変更部と、
前記第2周期で前記画面データの変化を検出する第2検出部と、
変化が検出された前記画面データを前記クライアント装置へ送信する送信部と、
を備えることを特徴とするサーバ装置。
【請求項2】
変化が検出された前記画面データを所定圧縮率で圧縮して圧縮画面データを生成する生成部と、
前記圧縮画面データの生成周期を計時する計時部と、を更に備え、
前記周期変更部は、前記変化検出周期を前記生成周期以上の周期に変更し、
前記送信部は、前記圧縮画面データを前記クライアント装置へ送信することを特徴とする請求項1に記載のサーバ装置。
【請求項3】
前記画面データの領域毎に単位時間当たりの変化検出頻度を検出する第3検出部を更に備え、
前記周期変更部は、前記所定操作イベントが検出された場合に、前記変化検出頻度が第1検出頻度を超えている領域の前記変化検出周期を前記第1周期から前記第2周期に変更し、
前記第2検出部は、前記画面データのうち前記領域の変化を前記第2周期で検出し、前記画面データのうち前記領域以外の領域の変化を前記第1周期で検出することを特徴とする請求項1に記載のサーバ装置。
【請求項4】
前記第1検出部は、前記所定操作イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことを検出し、
前記周期変更部は、前記第1発生頻度以上となったことが検出された場合に、前記変化検出周期を前記第1周期から前記第2周期に変更することを特徴とする請求項1〜3のいずれか1つに記載のサーバ装置。
【請求項5】
前記第1検出部は、前記所定操作イベントの単位時間当たりの発生頻度が前記第1発生頻度以上となったことを検出した後に、更に、第2発生頻度以下となったことを検出し、
前記周期変更部は、前記第2発生頻度以下となったことが検出された場合に、前記変化検出周期を前記第2周期から前記第1周期に変更することを特徴とする請求項4に記載のサーバ装置。
【請求項6】
クライアント装置とネットワークを介して接続されるサーバ装置であって、
前記ネットワークを介して操作データを受信する受信部と、
受信された前記操作データに基づく操作イベントの中から、所定操作イベントを検出する第1検出部と、
アプリケーション及び前記操作イベントに基づいて更新される画面データの変化を第1周期で検出する第2検出部と、
前記所定操作イベントが検出された場合に、前記画面データの圧縮率を第1圧縮率から当該第1圧縮率よりも高い第2圧縮率に変更する圧縮率変更部と、
変化が検出された前記画面データを前記第2圧縮率で圧縮して圧縮画面データを生成する生成部と、
前記圧縮画面データを前記クライアント装置へ送信する送信部と、
を備えることを特徴とするサーバ装置。
【請求項7】
前記圧縮画面データの生成周期を計時する計時部を更に備え、
前記圧縮率変更部は、前記所定操作イベントが検出された場合に、前記画面データの圧縮率を第1圧縮率から前記生成周期に応じた圧縮率に変更することを特徴とする請求項6に記載のサーバ装置。
【請求項8】
前記画面データの領域毎に単位時間当たりの変化検出頻度を検出する第3検出部を更に備え、
前記圧縮率変更部は、前記所定操作イベントが検出された場合に、前記変化検出頻度が第1検出頻度を超えている領域の前記画面データの圧縮率を前記第1圧縮率から前記第2圧縮率に変更し、
前記第2検出部は、前記画面データのうち前記領域の変化を前記第2周期で検出し、前記画面データのうち前記領域以外の領域の変化を前記第1周期で検出することを特徴とする請求項6に記載のサーバ装置。
【請求項9】
前記第1検出部は、前記所定操作イベントの単位時間当たりの発生頻度が第1発生頻度以上となったことを検出し、
前記圧縮率変更部は、前記第1発生頻度以上となったことが検出された場合に、前記圧縮率を前記第1圧縮率から前記第2圧縮率に変更することを特徴とする請求項6〜8のいずれか1つに記載のサーバ装置。
【請求項10】
前記第1検出部は、前記所定操作イベントの単位時間当たりの発生頻度が前記第1発生頻度以上となったことを検出した後に、更に、第2発生頻度以下となったことを検出し、
前記圧縮率変更部は、前記第2発生頻度以下となったことが検出された場合に、前記圧縮率を前記第2圧縮率から前記第1圧縮率に変更することを特徴とする請求項9に記載のサーバ装置。
【請求項11】
クライアント装置とネットワークを介して接続されるサーバ装置のコンピュータを、
前記ネットワークを介して操作データを受信する受信部と、
受信された前記操作データに基づく操作イベントの中から、所定操作イベントを検出する第1検出部と、
前記所定操作イベントが検出された場合に、前記操作イベントに基づいてアプリケーションにより更新される画面データの変化検出周期を第1周期から当該第1周期よりも長い第2周期に変更する周期変更部と、
前記第2周期で前記画面データの変化を検出する第2検出部と、
変化が検出された前記画面データを前記クライアント装置へ送信する送信部と、
して機能させるためのプログラム。
【請求項12】
クライアント装置とネットワークを介して接続されるサーバ装置のコンピュータを、
前記ネットワークを介して操作データを受信する受信部と、
受信された前記操作データに基づく操作イベントの中から、所定操作イベントを検出する第1検出部と、
アプリケーション及び前記操作イベントに基づいて更新される画面データの変化を第1周期で検出する第2検出部と、
前記所定操作イベントが検出された場合に、前記画面データの圧縮率を第1圧縮率から当該第1圧縮率よりも高い第2圧縮率に変更する圧縮率変更部と、
変化が検出された前記画面データを前記第2圧縮率で圧縮して圧縮画面データを生成する生成部と、
前記圧縮画面データを前記クライアント装置へ送信する送信部と、
して機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2012−114493(P2012−114493A)
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願番号】特願2010−259154(P2010−259154)
【出願日】平成22年11月19日(2010.11.19)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】