JP2009140378A - データ送信装置及びデータ送信方法 - Google Patents

データ送信装置及びデータ送信方法 Download PDF

Info

Publication number
JP2009140378A
JP2009140378A JP2007317873A JP2007317873A JP2009140378A JP 2009140378 A JP2009140378 A JP 2009140378A JP 2007317873 A JP2007317873 A JP 2007317873A JP 2007317873 A JP2007317873 A JP 2007317873A JP 2009140378 A JP2009140378 A JP 2009140378A
Authority
JP
Japan
Prior art keywords
data
display data
display
transmission
client device
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.)
Granted
Application number
JP2007317873A
Other languages
English (en)
Other versions
JP5130891B2 (ja
Inventor
Akihisa Matsuzono
明久 松園
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 JP2007317873A priority Critical patent/JP5130891B2/ja
Publication of JP2009140378A publication Critical patent/JP2009140378A/ja
Application granted granted Critical
Publication of JP5130891B2 publication Critical patent/JP5130891B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】クライアント装置から要求された処理の実行結果に対応するコマンド及び表示データを、別個にクライアント装置に対して送信するデータ送信装置を提供する。
【解決手段】アプリケーション101がクライアント装置2から要求された処理を実行して表示データとコマンドとからなる表示処理対象データを生成する。分離処理部12が表示処理対象データにおける表示データとコマンドとを分離し、コマンド送信部13がコマンドをクライアント装置2に送信する。データ送信部14が、画像の変化率が変化率閾値以上である場合には表示データと前回の表示データとの差分をUDPにより、変化率が変化率閾値未満である場合には前記差分をTCPにより、クライアント装置2に対して送信する。
【選択図】図1

Description

本発明は、データ送信装置及びデータ送信方法に関し、特に、クライアント装置から要求された処理の実行結果に対応するコマンド及び表示データを、別個にクライアント装置に送信するデータ送信装置及びデータ送信方法に関する。
高性能で高品質な製品を短期間で低コストに開発するためには、早い段階でのシミュレーションが重要である。そのためには、設計者が何時でも何処からでも高性能のマシン環境で高性能なアプリケーション(例えばCAD等)を低コストに利用できることが必要である。また、全体のTCO(維持管理も含めたトータルコスト)の削減を図るASP(Application Service Provider)等、オンデマンド方式のシステムを構築することが必要である。更に、アプリケーションの処理結果を高速に表示することができるオンデマンド方式のシステムを構築して、ユーザの操作に応じたアプリケーションの処理結果をユーザに高速に提供することが重要である。
なお、ユーザの操作に応じてアプリケーションに処理を実行させるシステムとして、サーバとシンクライアント端末との間で行う通信において、GUIコンポーネント単位でコマンドを定義し、GUIコンポーネントのプロパティ値及びGUIコンポーネントに対するユーザの操作を表すコマンドを通信することにより、サーバとシンクライアント端末との間で通信されるデータ量を削減するシステムが提案されている(特許文献1参照)。
特開2005−228227号公報
図15は本発明の背景となる対話型処理システムを示す図であり、図16は本発明の背景となる表示データの送信処理例を説明する図である。
クライアント装置200は、図15に示すように、ネットワーク300を介して、サーバ100に対してある処理を要求する。これに応じて、サーバ100において、アプリケーションA〜Cのいずれかが要求された処理を実行する。この後、サーバ100が、当該処理の実行結果に対応する表示データをクライアント装置200に送信する。
例えば、クライアント装置200のユーザが、図16に示すように、アプリケーションA、B及びCに対する処理の実行を要求するための操作入力を、この順に行うとする。図16において、例えば、aはアプリケーションAによる処理の実行結果に対応する表示データ、Aは表示データaをクライアント装置200に表示させるためのコマンド、画像aは表示データaに対応する画像である。b、B、画像b、c、C、画像cについても同様である(図11においても同じ)。
サーバ100は、アプリケーションAにおける実行結果に応じて、コマンドAと表示データaとを一体のデータ(表示処理対象データ)として、TCPによりクライアント装置200への送信を、時刻t0 に開始する。クライアント装置200は、コマンドAと表示データaとが一体となったデータの全体の受信を時刻t1 に完了し、これに応じて、コマンドAと表示データaとに基づいて画像aの表示(又は更新)を開始して、時刻t2 にこれを完了する。以下、同様にして、画像b及び画像cが表示される。
この過程において、クライアント装置200は、時刻t2 に画像aの表示を完了すると、操作入力の待ち状態となる。これにより、ユーザは、クライアント装置200に対して、サーバ100に次の処理を要求するための操作入力、即ち、画像bの処理のための入力を行うことができる。
このように、サーバ100は、コマンド及び表示データを一体のデータとして送信する。このため、クライアント装置200は、サーバ100からコマンドと表示データとが一体となったデータの全体を受信した後でなければ、画像の表示処理を開始することができない。この結果、サーバ100が表示データの送信を開始してからクライアント装置200が表示データを表示するまで時間がかかるという問題がある。
また、クライアント装置200は、画像の表示処理が完了した後でなければ操作入力待ち状態とならない。従って、クライアント装置200が、アプリケーションに対して処理の実行を要求するために、先行する操作入力(画像aの処理のための入力)を行ってから次の操作入力を行うことができる状態になるまでに時間がかかる。この結果、特に、クライアント装置200のユーザが、高速な表示レスポンスが要求されるアプリケーション(CAD等)を用いた操作を行う場合でも、操作性が悪く、作業効率が低下する。即ち、先行する操作入力を行ってから次の入力を行うことができるまでの期間を短縮することができないという問題がある。
本発明は、クライアント装置から要求された処理の実行結果に対応するコマンド及び表示データを、別個にクライアント装置に対して送信するデータ送信装置を提供することを目的とする。
また、本発明は、クライアント装置から要求された処理の実行結果に対応するコマンド及び表示データを、別個にクライアント装置に対して送信するデータ送信方法を提供することを目的とする。
本データ送信装置は、クライアント装置から処理の実行要求を受信する受信手段と、前記受信された実行要求に対応する処理を実行して、表示データと当該表示データを表示するためのコマンドとからなる表示処理対象データを生成する生成手段と、前記表示処理対象データにおける表示データとコマンドとを分離して保持するとともに、当該表示データの直前に保持された当該表示データに対応する表示データと当該表示データとの差分を求める分離処理手段と、前記分離されたコマンドを第1の通信速度を有する第1の通信プロトコルにより前記クライアント装置に対して送信するコマンド送信手段と、当該表示データについて画像の変化率を算出し、前記変化率が予め定められた変化率閾値以上である場合に、前記分離処理手段によって求められた差分を送信データとして、前記第1の通信速度とは異なる第2の通信速度を有する第2の通信プロトコルにより前記クライアント装置に対して送信し、前記変化率が前記変化率閾値未満である場合に、前記差分を送信データとして前記第1の通信プロトコルにより前記クライアント装置に対して送信するデータ送信手段とを備える。
好ましくは、本データ送信装置において、前記第1の通信プロトコルがTCPであり、前記第2の通信プロトコルがUDPである。
好ましくは、本データ送信装置が、更に、前記受信された実行要求の受信量を算出し、当該受信量が予め定められた受信量閾値以上である場合に、前記データ送信手段に指示して前記クライアント装置に対する前記送信データの送信量を減少させ、当該受信量が前記受信量閾値未満である場合に、前記データ送信手段に指示して前記クライアント装置に対する前記送信データの送信量を増加させる送信量制御手段を備える。
好ましくは、本データ送信装置において、前記分離処理手段によって分離された表示データが、当該表示データが対応するコマンドへのリンク情報を有し、当該コマンドが当該表示データへのリンク情報を有する。
また、本データ送信方法は、クライアント装置から実行要求された処理に応じた表示データを当該クライアント装置に対して送信するデータ送信方法であって、前記クライアント装置から処理の実行要求を受信し、前記受信された実行要求に対応する処理を実行して、表示データと当該表示データを表示するためのコマンドとからなる表示処理対象データを生成し、前記表示処理対象データにおける表示データとコマンドとを分離して保持するとともに、当該表示データの直前に保持された当該表示データに対応する表示データと当該表示データとの差分を求め、前記分離されたコマンドを第1の通信速度を有する第1の通信プロトコルにより前記クライアント装置に対して送信し、当該表示データについて画像の変化率を算出し、前記変化率が予め定められた変化率閾値以上である場合に、前記分離処理手段によって求められた差分を送信データとして、前記第1の通信速度とは異なる第2の通信速度を有する第2の通信プロトコルにより前記クライアント装置に対して送信し、前記変化率が前記変化率閾値未満である場合に、前記差分を送信データとして前記第1の通信プロトコルにより前記クライアント装置に対して送信する。
本データ送信装置及び本データ送信方法は、1個の処理要求の実行結果に対応する1個の表示処理対象データにおける表示データとコマンドとを、別個にクライアント装置に対して送信する。この時、表示データとしては、当該表示データと前回の表示データとの差分を送信すると共に、画像の変化率と変化率閾値との比較の結果に応じて、当該差分を第1又は第2の通信プロトコルにより送信する。
この結果、表示データとコマンドの送信を分離することにより、当該実行結果をクライアント装置に高速に表示させることができ、また、これにより、クライアント装置が処理の実行要求を行ってから次の処理の実行要求を行うことができるようになるまでの時間を短縮することができる。また、差分を送信することにより、送信データのデータ量を少なくすることができ、当該実行結果をより高速に送信することができる。更に、画像の変化率に応じて通信プロトコルを変更することにより、表示データの差分のデータ量が小さい場合には信頼性の高い通信プロトコルにより、また、前記差分のデータ量が大きい場合には高速な通信プロトコルにより、データを送信することができる。以上により、表示データとコマンドとからなる表示処理対象データを、最小のデータ量で、最適な通信プロトコルにより送信することができる。
また、本データ送信装置は、第1の通信プロトコルとしてTCPを用い、第2の通信プロトコルとしてUDPを用いる。これにより、表示データの差分のデータ量が小さい場合には信頼性の高いTCPにより、また、前記差分のデータ量が大きい場合には高速なUDPにより、データを送信することができる。
また、本データ送信装置は、処理の実行要求の受信量と受信量閾値との比較の結果に応じて、クライアント装置に対する送信データの送信量を増減する。これにより、当該受信量の大きさに応じて、クライアント装置に対する送信データの送信量を制御することができる。
また、本データ送信装置は、表示データがコマンドへのリンク情報を有し、コマンドが表示データへのリンク情報を有する。これにより、別個に送信された表示データとコマンドとを受信したクライアント装置が、リンク情報に基づいて表示データに対応するコマンドを特定し、当該表示データに応じた画像を確実に表示することができる。
図1は、データ処理システムの構成の一例を示す図である。データ処理システムは、図1に示すように、データ送信装置1、クライアント装置2、これらの間を接続する例えばインターネット等のネットワーク3を備える。
データ送信装置(又は、サーバ)1は、クライアント装置2から、ネットワーク3を介して実行要求された処理を実行し、処理の実行結果に対応する表示データをクライアント装置2に対して送信するコンピュータである。データ送信装置1は、処理実行要求受信部(以下、受信部)11、分離処理部12、コマンド送信部13、データ送信部14、スタックメモリ15、アプリケーション101を備える。アプリケーション101は、実際には複数の(この例では3個の)アプリケーションA、B、Cからなり、例えば主メモリ(図示せず)上に存在する。
受信部11は、クライアント装置2の通信部21から送信された処理の実行要求を受信して、当該処理を実行するアプリケーション101を起動する。この時、受信部11は、アプリケーション101(A〜Cのいずれか)が起動中であることを、クライアント装置2に対して通知する。アプリケーション101は、当該実行要求に対応する処理を実行して、表示処理対象データを生成する生成手段である。いずれのアプリケーションがいずれの処理を実行するかは予め定められる。表示処理対象データは、当該処理の実行結果に対応する表示データと、当該表示データを表示するためのコマンドとからなる。
表示処理対象データ201の一例を、図2(A)に示す。表示処理対象データ201は、例えば表示処理対象データを格納するデータブロックであり、ヘッダー部30と表示データ部31とを備える。ヘッダー部30は、当該表示処理対象データの送信先等のデータを格納し、また、制御データ部301を備える。制御データ部301は表示処理対象データにおけるコマンドを格納する。表示データ部31は表示処理対象データにおける表示データを格納する。ヘッダー部30に格納される情報の情報量は、例えば1KB以下であり、表示データ部31に格納される表示データのデータ量は、例えば1MB以下である。
アプリケーション101は生成した表示処理対象データを分離処理部12に送る。分離処理部12は、当該表示処理対象データにおける表示データについての差分を求め、この後、当該表示処理対象データをコマンドと表示データとに分離する。
即ち、分離処理部12は、表示処理対象データにおける表示データ(当該表示データ)の直前に保持された当該表示データに対応する表示データ(以下、前回の表示データという)と、当該表示データとの差分を求める。前回の表示データは、当該表示データと同一の表示処理対象(例えば、同一の画面)について、スタックメモリ15に直前に(前回)記憶された表示データである。例えば、現在時刻tにおける表示データと時刻(t−1)における前回の表示データとが存在する場合、当該差分は、時刻tにおける表示データ部31と時刻(t−1)における表示データ部31との差分である。時刻(t−1)は時刻tより前の時刻である(以下において同じ)。
また、分離処理部12は、表示処理対象データにおける表示データとコマンドとを分離して、これらをスタックメモリ15に格納する。具体的には、分離処理部12は、表示処理対象データ201のヘッダー部30と表示データ部31とを分離し、図2(B)に示すように、分離されたヘッダー部30に対応するデータブロック(以下、コマンドブロックという)202と、分離された表示データ部31に対応するデータブロック(以下、表示データブロックという)203とを生成する。コマンドブロック202は表示処理対象データにおけるコマンドを格納し、表示データブロック203は表示処理対象データにおける表示データを格納する。
コマンドブロック202は、識別情報部40と、ヘッダー部30に対応するヘッダー部41とを備える。識別情報部40は、制御データ部410内のコマンドの識別情報(この例では、#c01)を格納する。コマンドの識別情報は一意に定まる。ヘッダー部41は、制御データ部301に対応する制御データ部410を備える。制御データ部410はコマンドを格納する。コマンドは、表示データの表示をクライアント装置2に指示する制御情報であり、画面管理情報(図3参照)を含む。制御データ部410にはデータリンク部500が新たに付加される。データリンク部500は、制御データ部410のコマンドが対応する表示データへのリンク情報を格納する。このリンク情報は、この例では、対応する(分離された)表示データの識別情報である#d01からなる。
表示データブロック203は、識別情報部50と、データリンク部51と、表示データ部31に対応する表示データ部52とを備える。識別情報部50は、表示データブロック203内の表示データの識別情報(この例では、#d01)を格納する。表示データの識別情報は一意に定まる。データリンク部51は、新たに付加される情報であり、表示データ部52の表示データが対応するコマンドへのリンク情報を格納する。このリンク情報は、この例では、対応するコマンドの識別情報である#c01からなる。表示データ部52は表示データを格納する。
スタックメモリ15は、分離処理部12が備える記憶手段であり、分離処理部12により分離されたコマンド及び表示データ(即ち、コマンドブロック202及び表示データブロック203)を、相互に対応付けて(リンクして)記憶する。表示データとコマンドとは、図2に示すように、リンクによって対応付けられる。これにより、分離処理部12は表示データとコマンドとを管理する。
分離処理部12は、スタックメモリ15に記憶したコマンド及び表示データ(コマンドブロック202及び表示データブロック203)を、各々、コマンド送信部13及びデータ送信部14に送る。これに加えて、分離処理部12は、前記差分をデータ送信部14に送る。当該差分をスタックメモリ15に記憶するようにしても良い。
コマンド送信部13とデータ送信部14とで送信部を構成する。この送信部と受信部11とで通信部を構成する。この通信部は、クライアント装置2の通信部21に対応し、これとの間でデータ通信を行う。
コマンド送信部13は、分離処理部12によって分離されたコマンド(即ち、コマンドブロック202)を、第1の通信プロトコルによりクライアント装置2の通信部21に対して送信する。第1の通信プロトコルは、第1の通信速度を有し、例えばTCP(Transmission Control Protocol )からなる。TCPは、コネクション型の通信接続を行ってから通信を行う通信プロトコルであり、信頼性の高いデータ送信を可能とする。TCPにより、クライアント装置2における表示処理の内容を決定するコマンドを、高い信頼性で送信することができる。
データ送信部14は、データ圧縮部141、画像変化判断部142、送信部143、データメモリ144を備える。前述のように、分離処理部12は、スタックメモリ15内の表示処理対象データにおける表示データと、表示データについての前記差分とを、データ送信部14に送る。
データ圧縮部141は、表示処理対象データにおける表示データについての差分を、例えば周知のようにJPEG画像データに圧縮して(図3参照)、データメモリ144に記憶する。なお、データメモリ144に、当該表示データ及びその差分を記憶するようにしても良い。
画像変化判断部142は、分離処理部12から送信された表示データ(即ち、表示データブロック203)について画像の変化率を算出し、変化率が予め定められた閾値(変化率閾値)以上であるか否かを調べる。変化率としては、例えば、表示データの画像全体の面積に対する差分の画像の面積の割合が用いられる。又は、変化率として、表示データのデータ量に対する差分のデータ量の割合を用いるようにしても良い。変化率閾値の値は経験的(又は実験的)に定めることができる。画像全体の面積又は表示データのデータ量は、分離処理部12からデータ送信部14に送られた表示データ(表示データブロック203の表示データ部52)から求められる。差分の画像の面積又は差分のデータ量は、分離処理部12からデータ送信部14に送られた当該差分から求められる。
変化率が変化率閾値未満(又は、変化率閾値以下)である場合、送信部143は、前記差分を送信データとして、第1の通信プロトコル(例えばTCP)によりクライアント装置2に対して送信する。変化率が変化率閾値未満であるデータは、そのデータサイズが小さく、元来送信に要する時間が短いので、これをTCPにより高い信頼度で短時間で送信することができる。
変化率が変化率閾値以上である(又は、変化率閾値より大きい)場合、送信部143は、前記差分を送信データとして、第2の通信プロトコルによりクライアント装置2に対して送信する。第2の通信プロトコルは、第1の通信速度とは異なる(第1の通信速度より速い)第2の通信速度を有し、例えばUDP(User Datagram Protocol)からなる。UDPは、コネクションレス型の通信プロトコルであり、高速なデータ送信を可能とする。UDPにより、変化率が変化率閾値以上である大きなデータを高速で送信することができる。
以上によれば、表示データブロック203について、その画像の変化率を求め、これに基づいて適切な通信プロトコルを選択し、通信時間と通信の信頼度とのバランスを最適な設定とすることができる。
なお、データ送信部14は、送信データをUDPパケットに格納し、CRTP(Compressed Real Time Protocol) を用いてUDPパケットのヘッダー情報を圧縮した上で当該UDPパケットをクライアント装置2に対して送信するようにしても良い。
また、アプリケーション101が新たに表示データを生成した場合には、分離処理部12は、前記差分を求めず、スタックメモリ15内に格納された当該新たに生成された表示データ(その表示データブロック203)をデータ送信部14に送る。これに応じて、データ送信部14は、分離処理部12から送られた新たな表示データを送信データとして、クライアント装置2に対して送信する。
クライアント装置2は、ネットワーク3を介して、データ送信装置1に対して処理の実行を要求し、当該処理の実行結果に対応する表示データをデータ送信装置1から受信して表示するコンピュータである。クライアント装置2は、通信部21、入力部22、制御部23、表示部24、データメモリ25を備える。
入力部22は、クライアント装置2のユーザの操作入力に従って、処理の実行要求を通信部21に入力する。通信部21はデータ送信装置1との間での通信を実行する。即ち、通信部21は、入力部22によって入力された処理の実行要求をデータ送信装置1の受信部11に対して送信する。また、通信部21は、コマンド送信部13から送信されるコマンド(コマンドブロック202)を受信するとともに、データ送信部14から送信される表示データの差分(又は、新たに生成された表示データの表示データブロック203の全体、以下同じ)を受信する。
制御部23は、通信部21で受信されたコマンド(コマンドブロック202)及び表示データの差分を通信部21から受け取り、データ圧縮された当該表示データの差分を伸張し、これらをデータメモリ25に格納する。データメモリ25に記憶されるコマンド及び表示データの差分は、データ送信装置1のスタックメモリ15又はデータメモリ144に記憶されるコマンド及び表示データの差分と同じデータである。
制御部23は、データメモリ25に記憶されるコマンド及び表示データの差分に基づいて、表示部24に当該画像を表示させる。即ち、表示部24は、当該コマンド及び表示データの差分に応じた画像を表示画面(図示せず)上に表示する。この画像は、アプリケーション101による処理の実行結果に対応する画像である。
図3は分離処理部によるスタックメモリ内の表示データの管理を説明する図であり、図4はクライアント装置における画面表示例である。
クライアント装置2の表示部24は、図3に示す表示データの管理に基づいて、図4に示す画面を表示する。最も基本の画面即ち最初に開かれた(表示された)画面が親画面と呼ばれ、親画面以外の画面が子画面と呼ばれる。図3及び図4において、画面24Aが親画面であり、それ以外の画面24b〜24dは子画面である。親画面24A(画面Aと表す)は、画面の階層においては最上位であり、一方、表示においては最も下に表示される。子画面24b〜24d(画面b〜dと表す)は、画面の階層においては下位であり、表示においては親画面(及び他の子画面)の上(又は、他の子画面の下)に表示される。
分離処理部12は、コマンドブロック202に格納されているコマンドに含まれる画面管理情報を用いて、図3に示すように、画面A、b、c、dを、画面同士の階層関係を示しつつリンクさせて、スタックメモリ15内で管理する。このために、親画面Aには、その画面管理情報が付加される。
画面管理情報は、階層情報と位置情報と格納情報とを含む。階層情報は、表示データに対応する画像(又は画面)相互の階層関係を示す。位置情報は、表示データの表示部24における表示位置を示す。格納情報は、各画像に対応する表示データのスタックメモリ15内における格納アドレスを示す。画面同士の階層関係は、ある画面がどの画面の上に重なるかを示す(画面と画面との重なりの関係を示す)情報である。
例えば、分離処理部12は、画面A、b、c、dのそれぞれに対応する表示データを、画面Aに画面cが重なり、画面cに画面bと画面dとが重なることを示す画面管理情報に従って、スタックメモリ15に記憶する。図3において、点線の矢印は、画面管理情報による各々の画面の間におけるポインタを示している。
画面A等の表示データの各々は、図3に示すように、データ圧縮部141によりJPEG変換(データ圧縮)され、送信部143によりクライアント装置2に送信される。図3において、点線の矩形で囲まれた「JPEG変換」は、画面cについて、分離処理部12が前回の画面cとの差分を求め、データ圧縮部141が当該差分をJPEG変換することを示す。送信部143は、画面cについて、当該JPEG変換された当該差分のみをクライアント装置2に対して送信する。画面cの当該差分(又は、当該差分を生じさせた即ち変更された領域の画像)を部分画像c(p)と呼ぶこととする。部分画像c(p)は、図4において、点線で囲んで示す領域である(図6及び図7参照)。
制御部23は、一旦データメモリ25に格納したコマンド(に含まれる画面管理情報)を解釈して、データメモリ25の伸張した表示データの差分を含む表示データを、表示部24に表示させる。この結果、図4に示すように、画面Aに画面cが重なり、画面cに画面b及び画面dが重なるように画面表示される。この時で、画面cは、その差分(点線の矩形で囲った領域、部分画像c(p))により当該領域を上書きすることにより生成される。
図5は、データ送信装置によるコマンド及び表示データの送信処理フローの一例を示す図である。
データ送信装置1の受信部11が、クライアント装置2の通信部21から処理の実行要求を受信して(ステップS1)、当該処理を実行するアプリケーション101を起動し(ステップS2)、アプリケーション101が起動中であることをクライアント装置2に対して通知する。起動されたアプリケーション101は、当該処理を実行して、その実行結果に対応する表示データとコマンドとからなる表示処理対象データを生成し(ステップS3)、分離処理部12に送る。分離処理部12は、受け取った表示処理対象データをメモリ(図示せず)に一旦保持し、また、データ送信部14に送る(ステップS4)。なお、ステップS3において、表示データが消去される場合もある。この場合、分離処理部12は、例えばコマンドのみからなる(又は、表示データが「空」の)表示処理対象データを受け取る。
分離処理部12は、当該表示処理対象データにおける表示データが新たに生成された表示データであるか、又は、ステップS3において表示データが消去されたか否かを調べる(ステップS5)。表示データが新たに生成された表示データではなく、かつ、表示データが消去されていない場合、分離処理部12は、図6及び図7を参照して以下に説明するように、表示データについて差分抽出処理を行い、抽出した当該差分をデータ送信部14に送る(ステップS6)。表示データが新たに生成された表示データであるか、又は、表示データが消去された場合、分離処理部12は、ステップS6を省略する。
図6及び図7は、アプリケーション101の処理によって、画面c内の部分画像c(p)が回転する場合について示す。特に、図6はデータ送信装置1における画面cの処理のみを示し、図7はクライアント装置2における画面cの表示について示す。
図6において、例えば、現在の表示データが、現在時刻である時刻tにスタックメモリ15に記憶された画面(実際は、画面のデータ、以下同じ)15cであり、前回の表示データが、時刻(t−1)にスタックメモリ15に記憶された画面(実際は、画面のデータ、以下同じ)15c’であるとする。図7(A)及び図7(B)は、各々、時刻t−1及び時刻tにスタックメモリ15に記憶された画面15c’及び15cが表示部24に表示された画面24c’及び24cを示す。
前回の表示データは、画面15c’及び画面24c’(図7(A))であり、円柱210の画像を含む。この状態で、アプリケーション101の処理によって、例えば、円柱210が90度回転して円柱211に変化させられるとする。円柱212は、円柱210から円柱211への変化の過程の画像であり、参考のために図示されている。スタックメモリ15には、前回の表示データの処理の結果として画面15c’が格納されており、当該表示データの処理の結果として画面15cが格納される。
この場合、分離処理部12は、画面15cと画面15c’との差分を抽出する。画面15cと画面15c’との相違は、円柱210と円柱212との相違である。即ち、当該差分は、円柱210の部分画像c(p)及び円柱212の部分画像c’(p)の表示領域(当該円柱及びその周囲の所定の範囲の領域)である。換言すれば、当該差分は、前回の表示データにおける部分画像c’(p)を置換する当該表示データにおける部分画像c(p)である。部分画像c(p)と部分画像c’(p)とは同じ大きさである。分離処理部12は、当該差分として、部分画像c(p)を抽出する。
この結果、画面cの表示データとして、当該画面cの全体の表示データではなく、差分である部分画像c(p)が、データ圧縮された上で、クライアント装置2に送信される(後述するステップS9)。これに応じて、制御部23は、部分画像c(p)を伸張した上で、当該差分である部分画像c(p)に基づいて、図7(A)に示す画面c’における部分画像c’(p)を、部分画像c(p)により上書きし(更新し)、図7(B)に示すように、当該表示データに基づく画面cを表示する。
なお、図6に点線で示すように、回転途中の円柱212の部分画像を生成してスタックメモリ15に格納し、これに基づいて、画面24cにおいて回転途中の円柱212を表示するようにしても良い。
図5に戻って、分離処理部12が、表示処理対象データにおける表示データとコマンドとを分離した後(ステップS7)、コマンド送信部13がコマンドをTCPによりクライアント装置2に対して送信し(ステップS8)、データ送信部14がステップS6において抽出された差分を送信データとしてクライアント装置2に対して送信する(ステップS9)。この送信時において、当該表示データが新たに生成された表示データである場合には、データ送信部14は、当該新たに生成された表示データの全体を送信データとしてクライアント装置2に対して送信する。
図8は、図5のステップS9においてデータ送信部14により実行される送信データの送信処理の詳細を示す送信処理フローである。
データ送信部14のデータ圧縮部141が、分離処理部12から送られた当該差分をJPEG変換(JPEG画像データに圧縮)して、データメモリ144に記憶する(ステップS91)。
次に、画像変化判断部142が、表示データについて画像の変化率を算出する(ステップS92)。例えば、画像変化判断部142は、図9に示すように、抽出された差分である部分画像c(p)の面積を求め、画面cの全体の面積に対する部分画像c(p)の面積(図9に示す点線の矩形部の面積)の割合を、画像の変化率として算出する。
次に、画像変化判断部142が、算出された変化率が変化率閾値以上であるか否かを調べる(ステップS93)。画像変化判断部142は、変化率が変化率閾値以上である場合、当該差分をUDPによりクライアント装置2に送信し(ステップS94)。変化率が変化率閾値未満である場合、当該差分をTCPによりクライアント装置2に送信する(ステップS95)。
なお、新たに生成された表示データについては、データ送信部14は、当該新たに生成された表示データを、例えばJPEG画像データに圧縮した後、ステップS92及びS93の処理を実行することなく、UDPによりクライアント装置2に対して送信する。
図10は、クライアント装置2における表示データの表示処理フローの一例を示す図である。
入力部22が、ユーザの操作入力に従って、処理の実行要求を通信部21に入力し(ステップS101)、これに応じて、通信部21が当該実行要求をデータ送信装置1の受信部11に対して送信する(ステップS102)。
この後、制御部23は、通信部21を介して、前記実行要求に応じてアプリケーション101が起動中であることをクライアント装置2から通知されると(ステップS103)、アプリケーションが起動中であることを示す情報を、表示部24に表示させる(ステップS104)。
次に、通信部21が、コマンド送信部13からコマンドを受信し(ステップS105)、データ送信部14から表示データの前記差分を受信する(ステップS106)。制御部23が、受信されたコマンド及び表示データの差分とをデータメモリ25に記憶し、これらに基づいて、表示部24に表示すべき表示データを表示用メモリ(図示せず)上において更新し(ステップS107)、前記更新された表示データに応じた画像を、表示部24に表示させる(ステップS108)。
図11(A)は本データ処理システムによる表示データの送信処理を示す。なお、比較のために、図16を再度図11(B)として示す。
図11(A)において、図16と同様に、例えば、クライアント装置200のユーザが、アプリケーションA、B及びCに対する処理の実行を要求するための操作入力を、この順に行うとする。なお、図11(A)において、aはアプリケーションAによる処理の実行の結果に応じた表示データの差分(送信データ)である。b及びcも同様である。
データ送信装置1は、時刻t0 に、コマンドAをTCPにより、送信データaをUDPにより、別々にクライアント装置2に送信する。データ送信装置1は、コマンドAの送信が完了した時刻t01にコマンドBの送信を開始し、送信データaの送信が完了した時刻に送信データbの送信を開始する。コマンドC及び送信データcについても同様である。
クライアント装置2は、データ送信装置1からのコマンドAの受信が完了した時刻t01に、コマンドAと受信途中の送信データaとに基づいて、画像aの表示を開始し、画像aの表示が完了した時刻t03に、既に受信を完了したコマンドBと受信途中の送信データbとに基づいて、画像bの表示を開始する。画像cの表示についても同様である。
時刻t06に、クライアント装置2が画像cの表示を完了すると、クライアント装置2が操作入力の待ち状態となり、ユーザがデータ送信装置1に対して次の処理の実行を要求するための操作入力を行うことができる。例えば、クライアント装置2の制御部23が、時刻t06に、表示部24に、ユーザに対して操作入力待ちとなったことを通知するための表示をさせる。
なお、データ送信装置1がコマンドCの送信を完了した時刻t04に、クライアント装置2が操作入力の待ち状態となるようにしても良い。
このように、データ送信装置1は、コマンドと表示データの差分とを別々にクライアント装置2に対して送信するので、クライアント装置2は、最初の(又は、先行する)コマンドの受信を完了した直後に、当該コマンドに対応する表示データに基づいて、最初の画像の表示処理を開始することができる。また、クライアント装置2は、次のコマンドの受信が完了していれば、前記最初の画像の表示処理が完了すると、次の画像の表示処理を実行することができる。従って、データ送信装置1が最初のコマンド(コマンドA)を送信してからクライアント装置2において画像の表示処理が全て完了するまでの時間(t06−t0 )は、図11(B)において画像の表示処理が全て完了するまでの時間(t6 −t0 )に比べて、極めて短い。
また、クライアント装置2は、図11(B) においてクライアント装置が操作入力の待ち状態となる時刻t6 より大幅に早い時刻(時刻t06)に、操作入力の待ち状態となる。例えば、クライアント装置2が画像cの表示を完了する時間は、図11(B) において画像cの表示が完了する時間に比べて、約2分の1に短縮される。
図12は、本データ処理システムの構成の他の一例を示す図である。図12において、データ送信装置1’は、図1のデータ送信装置1が備える構成に加えて、送信量制御部16を備える。送信量制御部16は、受信部11によって受信された処理の実行要求の受信量を算出して、算出された受信量と予め定められた閾値(受信量閾値)とを比較する。受信量閾値の値は経験的(又は実験的)に定めることができる。
送信量制御部16は、前記比較の結果、受信量が受信量閾値以上である(又は、受信量閾値より大きい)場合に、データ送信部14に、クライアント装置2に対する送信データの送信量を減少させる。また、送信量制御部16は、受信量が受信量閾値未満(又は、受信量閾値以下)である場合に、データ送信部14に、クライアント装置2に対する送信データの送信量を増加させる。
図13は、送信量制御部が実行する送信データの送信量の制御処理フローの一例を示す図である。
送信量制御部16が、受信部11によって受信された処理の実行要求の受信量を算出し(ステップS111)、当該受信量が受信量閾値以上であるか否かを調べる(ステップS112)。送信量制御部16は、当該受信量が受信量閾値以上である場合は、送信データの送信量を減少させ(ステップS113)、当該受信量が受信量閾値未満である場合は、送信データの送信量を増加させる(ステップS114)。
これにより、図14に示すように、送信データ量を制御することができ、結果として、クライアント装置2における表示処理の負荷を適正に維持することができる。例えば、時刻t0 からt1 の間は、処理の実行要求の受信量が多いので、送信データの送信量を減少させる。時刻t1 からt2 の間は、処理の実行要求の受信量が少ないので、送信データの送信量を増加させる。時刻t2 以降は、処理の実行要求の受信量が増加するので、送信データの送信量を減少させる。なお、図14において、縦軸は受信部11が受信した処理の実行要求の受信量を示し、横軸は時間を示す。
以上、説明したように、本データ送信装置及び本データ送信方法によれば、クライアント装置からの実行要求に応じた表示処理対象データの送信量を少なくすることができ、かつ、画像の変化率に応じて信頼性の高い通信プロトコルと高速な通信プロトコルとを使い分けることができる。これにより、先行する実行要求から次の実行要求までの時間を短縮することができ、また、当該実行結果をクライアント装置に対してより高速に送信し表示することができる。この結果、表示データとコマンドとからなる表示処理対象データを、最小のデータ量で、最適な通信プロトコルにより送信することができる。
データ処理システムの構成の一例を示す図である。 表示データとコマンドとの分離処理を説明する図である。 スタックメモリ内の表示データの管理を説明する図である。 クライアント装置における画面表示の一例を示す図である。 コマンド及び表示データの送信処理フローの一例を示す図である。 表示データについての差分抽出処理の例を説明する図である。 クライアント装置における画像の表示の一例を示す図である。 送信データの送信処理の詳細な例を説明する送信処理フローである。 画像の変化率の算出処理を説明する図である。 表示データの表示処理フローである。 表示データの送信処理を説明する図である。 データ処理システムの構成の他の一例を示す図である。 送信データの送信量の制御処理フローである。 送信データの送信量の制御処理を説明する図である。 本発明の背景となる対話型処理システムを示す図である。 本発明の背景となる送信処理を説明する図である。
符号の説明
1 データ送信装置
2 クライアント装置
11 処理実行要求受信部(受信部)
12 分離処理部
13 コマンド送信部
14 データ送信部
15 スタックメモリ
21 通信部
22 入力部
23 制御部
24 表示部
25、144 データメモリ
101 アプリケーション
141 データ圧縮部
142 画像変化判断部
143 送信部

Claims (5)

  1. クライアント装置から処理の実行要求を受信する受信手段と、
    前記受信された実行要求に対応する処理を実行して、表示データと当該表示データを表示するためのコマンドとからなる表示処理対象データを生成する生成手段と、
    前記表示処理対象データにおける表示データとコマンドとを分離して保持するとともに、当該表示データの直前に保持された当該表示データに対応する表示データと当該表示データとの差分を求める分離処理手段と、
    前記分離されたコマンドを第1の通信速度を有する第1の通信プロトコルにより前記クライアント装置に対して送信するコマンド送信手段と、
    当該表示データについて画像の変化率を算出し、前記変化率が予め定められた変化率閾値以上である場合に、前記分離処理手段によって求められた差分を送信データとして、前記第1の通信速度とは異なる第2の通信速度を有する第2の通信プロトコルにより前記クライアント装置に対して送信し、前記変化率が前記変化率閾値未満である場合に、前記差分を送信データとして前記第1の通信プロトコルにより前記クライアント装置に対して送信するデータ送信手段とを備える
    ことを特徴とするデータ送信装置。
  2. 請求項1に記載のデータ送信装置において、
    前記第1の通信プロトコルがTCPであり、
    前記第2の通信プロトコルがUDPである
    ことを特徴とするデータ送信装置。
  3. 請求項1に記載のデータ送信装置が、更に、
    前記受信された実行要求の受信量を算出し、当該受信量が予め定められた受信量閾値以上である場合に、前記データ送信手段に指示して前記クライアント装置に対する前記送信データの送信量を減少させ、当該受信量が前記受信量閾値未満である場合に、前記データ送信手段に指示して前記クライアント装置に対する前記送信データの送信量を増加させる送信量制御手段を備える
    ことを特徴とするデータ送信装置。
  4. 請求項1に記載のデータ送信装置において、
    前記分離処理手段によって分離された表示データが、当該表示データが対応するコマンドへのリンク情報を有し、当該コマンドが当該表示データへのリンク情報を有する
    ことを特徴とするデータ送信装置。
  5. クライアント装置から実行要求された処理に応じた表示データを当該クライアント装置に対して送信するデータ送信方法であって、
    前記クライアント装置から処理の実行要求を受信し、
    前記受信された実行要求に対応する処理を実行して、表示データと当該表示データを表示するためのコマンドとからなる表示処理対象データを生成し、
    前記表示処理対象データにおける表示データとコマンドとを分離して保持するとともに、当該表示データの直前に保持された当該表示データに対応する表示データと当該表示データとの差分を求め、
    前記分離されたコマンドを第1の通信速度を有する第1の通信プロトコルにより前記クライアント装置に対して送信し、
    当該表示データについて画像の変化率を算出し、前記変化率が予め定められた変化率閾値以上である場合に、前記分離処理手段によって求められた差分を送信データとして、前記第1の通信速度とは異なる第2の通信速度を有する第2の通信プロトコルにより前記クライアント装置に対して送信し、前記変化率が前記変化率閾値未満である場合に、前記差分を送信データとして前記第1の通信プロトコルにより前記クライアント装置に対して送信する
    ことを特徴とするデータ送信方法。
JP2007317873A 2007-12-10 2007-12-10 データ送信装置及びデータ送信方法 Expired - Fee Related JP5130891B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007317873A JP5130891B2 (ja) 2007-12-10 2007-12-10 データ送信装置及びデータ送信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007317873A JP5130891B2 (ja) 2007-12-10 2007-12-10 データ送信装置及びデータ送信方法

Publications (2)

Publication Number Publication Date
JP2009140378A true JP2009140378A (ja) 2009-06-25
JP5130891B2 JP5130891B2 (ja) 2013-01-30

Family

ID=40870891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007317873A Expired - Fee Related JP5130891B2 (ja) 2007-12-10 2007-12-10 データ送信装置及びデータ送信方法

Country Status (1)

Country Link
JP (1) JP5130891B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140292783A1 (en) * 2013-04-01 2014-10-02 Sony Computer Entertainment Inc. Drawing processor, drawing processing system, and drawing processing method
JP2018081413A (ja) * 2016-11-15 2018-05-24 株式会社リコー 機器、情報処理システム及びプログラム
JP2020181524A (ja) * 2019-04-26 2020-11-05 富士通クライアントコンピューティング株式会社 情報処理装置、情報処理システム、およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330849A (ja) * 2002-05-09 2003-11-21 Nec Corp サーバ・複数クライアント差分通知システム
JP2005303725A (ja) * 2004-04-13 2005-10-27 Matsushita Electric Ind Co Ltd 画像データ転送システム
JP2005348262A (ja) * 2004-06-04 2005-12-15 Ricoh Co Ltd データ通信方式、電子会議システム、データ通信方法、データ通信プログラム及び記憶媒体
JP2007265207A (ja) * 2006-03-29 2007-10-11 Casio Comput Co Ltd コンピュータシステムにおけるサーバ装置及びサーバ制御プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330849A (ja) * 2002-05-09 2003-11-21 Nec Corp サーバ・複数クライアント差分通知システム
JP2005303725A (ja) * 2004-04-13 2005-10-27 Matsushita Electric Ind Co Ltd 画像データ転送システム
JP2005348262A (ja) * 2004-06-04 2005-12-15 Ricoh Co Ltd データ通信方式、電子会議システム、データ通信方法、データ通信プログラム及び記憶媒体
JP2007265207A (ja) * 2006-03-29 2007-10-11 Casio Comput Co Ltd コンピュータシステムにおけるサーバ装置及びサーバ制御プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140292783A1 (en) * 2013-04-01 2014-10-02 Sony Computer Entertainment Inc. Drawing processor, drawing processing system, and drawing processing method
JP2014203121A (ja) * 2013-04-01 2014-10-27 株式会社ソニー・コンピュータエンタテインメント 描画処理装置、描画処理システム、および描画処理方法
US9536274B2 (en) * 2013-04-01 2017-01-03 Sony Corporation Drawing processor, drawing processing system, and drawing processing method
JP2018081413A (ja) * 2016-11-15 2018-05-24 株式会社リコー 機器、情報処理システム及びプログラム
JP2020181524A (ja) * 2019-04-26 2020-11-05 富士通クライアントコンピューティング株式会社 情報処理装置、情報処理システム、およびプログラム

Also Published As

Publication number Publication date
JP5130891B2 (ja) 2013-01-30

Similar Documents

Publication Publication Date Title
WO2021135160A1 (zh) 游戏直播控制方法及装置、计算机存储介质、电子设备
US9167054B2 (en) Remote browsing session management
JP4434973B2 (ja) 映像表示装置、映像合成配信装置、プログラム、システム及び方法
EP2727025B1 (en) Remote browsing session management
US8577963B2 (en) Remote browsing session between client browser and network based browser
US8706860B2 (en) Remote browsing session management
US20130007100A1 (en) Remote browsing session management
JPH11308515A (ja) カメラ操作装置およびカメラサーバおよびそれらの制御方法およびそれらの動作処理を実行させるためのプログラムを記憶した記憶媒体
CN112689828A (zh) 放置由网络流量触发的容器工作负载以在网络边缘设备处进行高效计算
US9749202B1 (en) Remote session preview management
US8892633B2 (en) Apparatus and method for transmitting and receiving a user interface in a communication system
KR20140036315A (ko) 원격지원방법, 시스템 및 단말기
WO2011118122A1 (ja) ユーザインタフェース表示を制御するサーバ装置、方法、プログラム、および集積回路
CN115349248B (zh) 基于网络的媒体处理部署的方法,***和装置
US20170272545A1 (en) Method and system for transmitting remote screen
CN108347452A (zh) 远程获取屏幕截图的方法及装置
CN112843680A (zh) 画面显示方法、装置、终端设备及存储介质
JP5130891B2 (ja) データ送信装置及びデータ送信方法
US9298843B1 (en) User agent information management
EP2727024B1 (en) Remote browsing session management
US20080036695A1 (en) Image display device, image display method and computer readable medium
CN112507329A (zh) 安全防护方法及装置
JP2005228228A (ja) クライアントサーバシステム及びそのgui表示方法
JP7336161B2 (ja) メディア処理方法
JP4900576B2 (ja) プログラム、記憶媒体および画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120409

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121022

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees