JP4930102B2 - サーバ装置およびプログラム - Google Patents
サーバ装置およびプログラム Download PDFInfo
- Publication number
- JP4930102B2 JP4930102B2 JP2007047632A JP2007047632A JP4930102B2 JP 4930102 B2 JP4930102 B2 JP 4930102B2 JP 2007047632 A JP2007047632 A JP 2007047632A JP 2007047632 A JP2007047632 A JP 2007047632A JP 4930102 B2 JP4930102 B2 JP 4930102B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- compressed
- image
- client device
- compression
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Facsimiles In General (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
著しく処理能力が低いクライアント装置を使用した場合、あるいはネットワーク回線の品質が低下してきた場合、低品質のネットワーク回線を使っている場合などでは、クライアント装置の画面上の描画更新がゆっくり行われてしまう。この際、前記画像Aの更新がゆっくりとなされたのち、ボタンの色が変わってしまうと、クライアント装置の使用者は操作性の不快さを感じてしまう。使用者は、マウス装置でボタンを押したので、まずボタンが変化することを期待する。ボタンが変化した後、ゆっくりとでも画像Aの更新がなされれば使用者の不快感は和らげられる。
本発明の課題は、シンクライアントシステムにおけるクライアント装置の利用者が、クライアント装置の利用中に違和感を覚えないレスポンスを行なうことが可能なサーバ装置およびプログラムを提供することである。
(第1の実施の形態)
図1は、サーバベースコンピューティングのネットワーク構成の概略を示す図である。
図2において、クライアント端末装置102、モバイル端末装置104、スマートフォン105あるいはクライアント端末装置106等クライアント装置は、CPU(中央処理装置:Central Processing Unit)201、クライアント装置の各機能を制御し実行するための制御プログラムが収納されたROMやRAM等のメモリ202、キーボードやマウス等、各種のデータや信号等を入力するための入力部203、画像やその他の情報を表示するためのLCD等の出力部204、画像を始め様々な情報を記録するための記憶部205、出力部204に表示するための画像を一時的に格納するフレームバッファ等のVRAM206、無線LANや携帯電話網等のネットワーク109に接続するためのネットワーク接続部207がバス200に接続されて構成され、CPU201がこれらの各部を制御している。
図3において、サーバ装置101は、CPU301、サーバ装置101において処理を実行するプログラムの他、サーバ装置101の各機能を制御し実行するための制御プログラムが収納されたROMやRAM等のメモリ302、各種のデータや信号等を入力するための入力部303、画像やその他の情報を出力するための出力部304、画像を始め様々な情報を記録するための記憶部305、出力部304に表示するための画像又はクライアント装置へ送信するための画像を一時的に格納するフレームバッファ等のVRAM306、LAN等のネットワーク109に接続するためのネットワーク接続部307がバス300に接続されて構成され、CPU301がこれらの各部を制御している。
図4中の(A)は、クライアント装置が実行するクライアント接続処理の流れを示すフローチャートであり、(B)は、サーバ装置101が実行するサーバ接続処理の流れを示すフローチャートである。
図5は、クライアント装置からサーバ装置101へ送信するプロファイル情報500の例を示す図である。
図6は、クライアント装置において実行されるクライアント装置操作処理の流れを示すフローチャートである。
クライアント装置のCPU201は、まず、ステップS601において、クライアント装置に対する何らかの操作(クライアント装置操作)が実行されたか否かを判断する。
他方、何らかのクライアント装置操作が実行されたと判断した場合(ステップS601:Y)は、ステップS602において、そのクライアント装置操作に関するクライアント装置操作情報をサーバ装置101へ送信する。そして、ステップS601へ戻り、再び、クライアント装置操作の実行を待つループに入る。
図7に示したように、クライアント装置からサーバ装置101へ送信するクライアント装置操作情報700は、クライアント装置でのクライアント装置操作であることを示す操作ID701、クライアント装置操作を示す操作702等を有している。本クライアント装置操作情報700のデータ形式は、アプリケーション層レベルでのデータ形式であり、下位層により、サーバ101装置へのアドレス、データ部の暗号化、改竄防止の為のハッシュ値の付加、シーケンス番号の付加等がなされる。
クライアント装置では、図6を用いて説明したクライアント装置操作処理とは別に、クライアント装置側受信処理も起動している。
受信していないと判断した場合(ステップS801:N)は、データの受信を待つループに入る。
図9に示すように、フレームバッファ901は、点線で示したブロック境界909により例えば6個に分割されており、左上より右側に、そして左下より右側に0から5のブロック番号が付けられている。対応するピクセルは、左上が原点であり、右方向にX座標、下方向にY座標となる。
このサーバFB分割処理は、サーバ装置101の初期化処理中に呼ばれる処理である。
まず、ステップS1007において、分割されたフレームバッファ901のブロックを特定するための番号として、ブロック番号座標配列BLN[n](BLN[n].x,BLN[n].y)に、ブロック番号の位置する座標(Xpos,Ypos)を代入する。ここで、nは、ブロック番号をあらわし、変数X+変数Y×変数XBで算出されるため、結果的に0から順に1ずつインクリメントされていく。
サーバ装置101では、図10を用いて説明したサーバFB分割処理とは別に、サーバ側受信処理も起動している。
他方、データ、すなわちクライアント装置操作情報700を受信したと判断した場合(ステップS1101:Y)は、ステップS1102において、クライアント装置から送られてきたクライアント装置操作情報700に含まれた操作702に対応したクライアント装置操作を実行し、サーバ装置101のフレームバッファ901を更新する(書き換える)。サーバ装置101のフレームバッファ901は、図9で説明したように複数(この例では6個)のブロックに分割されている。
図12に示したように、サーバ装置101からクライアント装置へ送信される送信データ1200は、サーバ装置101から送信した表示データを示す表示ID1201、データの圧縮方式1202、データのフレームバッファ901への展開アドレス1203、データの画像サイズ1204、データの圧縮後のデータサイズ1205、およびデータの圧縮データ1206を有している。本送信データのデータ形式は、アプリケーション層レベルのデータ形式であり、下位層にて、クライアント装置のアドレス、データ部の暗号化、改竄防止の為のハッシュ値の付加、シーケンス番号の付加等がなされる。
上述の第1の実施の形態では、圧縮後のデータサイズ1205が小さいブロックを優先してサーバ装置101からクライアント装置に送信したが、本変形例1ではクライアント装置での解凍負荷が少ないブロックを優先してサーバ装置101で処理をしてクライアント装置に送信する。
サーバ装置101のCPU301は、まず、ステップS1301において、クライアント装置からの送信されるデータを受信したか否かを判断する。ここで、受信したか否かを判断するデータとは、図6のステップS602でクライアント装置から送信されてくるクライアント装置操作情報700を含む。
他方、データ、すなわちクライアント装置操作情報700を受信したと判断した場合(ステップS1301:Y)は、ステップS1302において、クライアント装置から送られてきたクライアント装置操作情報700に含まれた操作702に対応するクライアント装置操作を実行し、サーバ装置101のフレームバッファ901を更新する(書き換える)。サーバ装置101のフレームバッファ901は、図9で説明したように複数(この例では6個)のブロックに分割されている。
そして、ステップS1305、およびステップS1306乃至S1308をブロックの数だけ繰り返すことにより、圧縮され解凍負荷値の小さい順にソートされた各ブロックをクライアント装置へ送信する。すなわち、ステップS1305において、送信するブロックの順番を示す変数iに0を代入して初期化し、ステップS1306において、送信順(後述する変数B[i]の順)に圧縮済みの各ブロックをクライアント装置へ送信する。そして、ステップS1307において、iを1インクリメントし、ステップS1308において、iが6(分割したブロックの数)より小さいか否かを判断することにより、分割して解凍負荷値の小さい順にソートしたブロックの数だけクライアント装置への送信を繰り返す。なお、最初にクライアント装置へ送信されるデータは、配列B[0]に格納されているブロック番号の領域を配列P[B[0]]の圧縮方法により圧縮済みのデータであり、最後にクライアント装置へ送信するのは、配列B[5]に格納されているブロック番号の領域を配列P[B[5]]の圧縮方法により圧縮済みのデータである。
本サブルーチン「転送方法の決定処理」によって決定されるクライアント装置への送信順は、圧縮後のデータサイズ1205とクライアント装置での解凍負荷値(解凍処理能力506)によって決定される。
そして、ステップS1402において、各ブロックの解凍負荷値を算出する。例えば、ブロック番号0のデータをJPEG圧縮とPNG圧縮の2つの圧縮方法を用いて例示する。
JPEG圧縮による圧縮後のデータサイズ:100KB(キロバイト) ・・・・(1)
また、データを送信すべきクライアント装置での解凍負荷率を下記(3)(4)の通りとする。ここで解凍負荷率は値が大きいほど圧縮データを解凍する解凍負荷が高い。これらの解凍負荷率は、プロファイル情報500に解凍処理能力506(図5参照)として格納されている。
PNG解凍負荷率:12% ・・・・(4)
すなわち、JPEG、PNG夫々の解凍負荷値は下記(5)(6)で示される。
PNG解凍負荷値:200KB×12%=2400 ・・・・(6)
このように、JPEGの方がPNGよりも解凍負荷値が小さいので、ブロック番号0はJPEGで圧縮することにする。ブロック番号0をJPEGで処理すべく、ステップS1402において、圧縮方法を格納するための配列P[i]にP[0]=JPEGとし、解凍負荷値を示す配列L[i]には、ブロック番号0は解凍負荷値1000であるので下記(7)の如く代入する。
この値が小さいほうがクライアント装置での表示速度が速くなる。
そして、ステップS1403において、変数iを1インクリメントし、ステップS1404において、iが6(分割したブロックの数)より小さいか否かを判断することにより、解凍負荷値の算出を繰り返す。
この処理により、配列B[i]には解凍負荷値が小さい順にブロック番号が格納される。また、配列P[i]にはブロック番号に対応する圧縮方式が格納される。
(第1の実施の形態の変形例2)
上述の説明では、クライアント装置のプロファイル情報500の中の解凍処理能力506の情報を元にして解凍負荷値を算出していたが、データの送受信の前に、例えば接続セッションを確立する際にクライアント装置の性能テストを行なうことにより、解凍負荷値を求めてもよい。
図15中の(A)は、クライアント装置が実行するクライアント性能テスト処理の流れを示すフローチャートであり、(B)は、サーバ装置101が実行するサーバ性能テスト処理の流れを示すフローチャートである。
すなわち、ステップS1507において、タイマーT2による計測を開始し、ステップS1508において、クライアント装置に対して所望の大きさのPNG処理を要求する(PNG処理要求情報を送信する)。
本変形例3では、サーバ装置101から行なわれたクライアント装置へのデータ転送について、圧縮率を異ならせた2段階のデータ転送にて行なうことにより、使用者の体感速度の向上を図っている。
サーバ装置101がクライアント装置からデータを受信すると、サーバ装置101において受信割り込み処理が実行される。
そして、ステップS1602において、受信割り込みの多重割り込みがあるか否かを変数InterruptRtを用いて判断する。この変数InterruptRtは、実際の転送処理を開始する前に1が格納され(ステップS1605参照)、本受信割り込み処理を終える前に0が格納される(ステップS1611参照)。つまり、転送処理中の受信割り込みによって本受信割り込み処理が呼ばれた場合には、変数InterruptRtに1が格納されていることになる。
サーバ装置101のフレームバッファ901は、図9を用いて説明したように複数のブロック(ここでは6個のブロック)に分割されており、ステップS1607において、フレームバッファ901に格納されている全てのブロックについて各ブロックを高圧縮率(例えば、JPEG圧縮)にて圧縮処理する。
本受信割り込み処理による一度目の送信(ステップS1608)では、画素の荒いデータがクライアント装置の出力部204に表示されるが、クライアント装置の利用者の操作は、直ちに出力部204に反映されることとなる。
102 クライアント端末装置
103 無線アクセスポイント
104 モバイル端末装置
105 スマートフォン
106 クライアント端末装置
109 ネットワーク
200 バス
201 CPU
202 メモリ
203 入力部
204 出力部
205 記憶部
206 VRAM
207 ネットワーク接続部
300 バス
301 CPU
302 メモリ
303 入力部
304 出力部
305 記憶部
306 VRAM
307 ネットワーク接続部
500 プロファイル情報
501 プロファイルID
502 端末ユニーク番号
503 表示サイズ
504 表示色数
505 対応プロトコル
506 解凍処理能力
700 クライアント装置操作情報
701 操作ID
702 操作
901 フレームバッファ(サーバ装置101側)
909 ブロック境界
1200 送信データ
1201 表示ID
1202 圧縮方式
1203 展開先アドレス
1204 画像サイズ
1205 データサイズ
1206 圧縮データ
Claims (6)
- ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、
前記画面情報を複数のブロック画像に分割すると共に、その分割された各ブロック画像毎に、その各ブロック画像が元の画面情報上のどの配置位置に該当するかを示すブロック番号を割り当てる分割手段と、
前記分割手段によって分割された各ブロック画像を所定の圧縮方式で圧縮すると共に、その圧縮された各圧縮ブロックを送信するに先立って、その全ての圧縮ブロックの圧縮後サイズを順次取得して格納する画像圧縮手段と、
前記画像圧縮手段によって格納された各圧縮ブロックの圧縮後サイズを比較することで、前記各ブロック画像に対応する各圧縮ブロックを送信する際の送信順序を決定する決定手段と、
分割された前記各ブロック画像に対応する圧縮ブロックを送信する際は、前記決定手段で決定された送信順序で、且つその圧縮ブロックに対応するブロック画像のブロック番号と共に前記クライアント装置へ送信するブロック送信手段と、
を備えることを特徴とするサーバ装置。 - 前記決定手段は、前記各圧縮ブロックの圧縮後サイズをソートし、その圧縮後サイズが小さい順を前記送信順序として決定することを特徴とする請求項1に記載のサーバ装置。
- 前記決定手段は、前記クライアント装置における前記圧縮ブロックの解凍処理能力情報と前記圧縮ブロックの圧縮後サイズとにより解凍負荷値を算出し、その算出された各回答負荷値の小さい順を前記送信順序として決定することを特徴とする請求項1に記載のサーバ装置。
- 前記解凍負荷値は、前記クライアント装置へ送信した任意のブロック圧縮画像が解凍される時間を計測することにより算出されることを特徴とする請求項3に記載のサーバ装置。
- 前記画像圧縮手段は、前記分割手段によって分割された各ブロック画像に高圧縮処理を施してブロック高圧縮画像を生成し、さらに、前記分割手段によって分割された各ブロック画像に、前記高圧縮処理と比較して低い圧縮率である低圧縮処理を施してブロック低圧縮画像を生成することを特徴とし、
前記決定手段は、前記ブロック低圧縮画像に優先して、前記ブロック高圧縮画像を送信することを決定すること、
を特徴とする請求項1乃至4の何れか1項に記載のサーバ装置。 - ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
前記画面情報を複数のブロック画像に分割すると共に、その分割された各ブロック画像毎に、その各ブロック画像が元の画面情報上のどの配置位置に該当するかを示すブロック番号を割り当てる分割手段、
前記分割手段によって分割された各ブロック画像を所定の圧縮方式で圧縮すると共に、その圧縮された各圧縮ブロックを送信するに先立って、その全ての圧縮ブロックの圧縮後サイズを順次取得して格納する画像圧縮手段、
前記画像圧縮手段によって格納された各圧縮ブロックの圧縮後サイズを比較することで、前記各ブロック画像に対応する各圧縮ブロックを送信する際の送信順序を決定する決定手段、
分割された前記各ブロック画像に対応する圧縮ブロックを送信する際は、前記決定手段で決定された送信順序で、且つその圧縮ブロックに対応するブロック画像のブロック番号と共に前記クライアント装置へ送信するブロック送信手段、
として機能させるようにしたコンピュータ読み取り可能なプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007047632A JP4930102B2 (ja) | 2007-02-27 | 2007-02-27 | サーバ装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007047632A JP4930102B2 (ja) | 2007-02-27 | 2007-02-27 | サーバ装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008211639A JP2008211639A (ja) | 2008-09-11 |
JP4930102B2 true JP4930102B2 (ja) | 2012-05-16 |
Family
ID=39787558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007047632A Active JP4930102B2 (ja) | 2007-02-27 | 2007-02-27 | サーバ装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4930102B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103907105B (zh) | 2011-10-10 | 2017-02-15 | 惠普发展公司,有限责任合伙企业 | 一种用于建立客户端‑主机连接的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1023274A (ja) * | 1996-07-05 | 1998-01-23 | Fuji Photo Film Co Ltd | 画像信号の送信装置および受信再生装置 |
JP2000013610A (ja) * | 1998-06-25 | 2000-01-14 | Fuji Photo Film Co Ltd | 符号化画像ファイル作成方法および装置、復号化方法および装置、並びに符号化画像ファイル作成方法および復号化方法をコンピュータに実行させるプログラムを記録したコンピュータ読取り可能な記録媒体 |
JP3961393B2 (ja) * | 2002-10-11 | 2007-08-22 | 日本電信電話株式会社 | 情報配信方法、情報配信システム、情報表示システム、配信サーバ、情報配信プログラム及び記録媒体 |
JP4205008B2 (ja) * | 2004-04-08 | 2009-01-07 | 三菱電機株式会社 | 画像データ通信方法 |
JP4640942B2 (ja) * | 2005-03-09 | 2011-03-02 | 株式会社リコー | サーバ装置 |
JP4618676B2 (ja) * | 2005-04-28 | 2011-01-26 | 株式会社リコー | 構造化文書符号の転送方法、画像処理システム、サーバ装置、プログラム及び情報記録媒体 |
-
2007
- 2007-02-27 JP JP2007047632A patent/JP4930102B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2008211639A (ja) | 2008-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101467430B1 (ko) | 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템 | |
JP6111753B2 (ja) | 情報処理装置、伝送システム、プログラム | |
US8533366B2 (en) | Method of determining image transmission method, image supplying system, image supplying device, image display device, program and computer-readable recording medium | |
US9553952B2 (en) | Image processing system | |
US20210225406A1 (en) | Video acquisition method and device, terminal and medium | |
KR20130096059A (ko) | 원격의 싱크 장치를 표시하는 방법, 이를 위한 소스 장치 및 시스템 | |
US20230215076A1 (en) | Image frame display method, apparatus, device, storage medium, and program product | |
CN110493028A (zh) | 一种集群部署方法、系统、装置及计算机可读存储介质 | |
CN104301687A (zh) | 应用于虚拟桌面环境的摄像头视频处理方法和相应设备 | |
CN112187921B (zh) | 一种对象文件下载方法、装置、系统、服务器和存储介质 | |
JP2016036132A (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN111083523A (zh) | 一种全景视频播放的方法及终端 | |
JP4205634B2 (ja) | 画像送信装置で使用される方法、およびプログラム | |
CN116016556A (zh) | 投屏系统的控制方法、显示设备及可读存储介质 | |
KR102500145B1 (ko) | 전자 장치 및 전자 장치의 컨텐트 전송 방법 | |
WO2016016607A1 (en) | Managing display data for display | |
US20140358998A1 (en) | Method and apparatus for executing application | |
JP4930102B2 (ja) | サーバ装置およびプログラム | |
JP4764596B2 (ja) | データ転送方法及びサーバコンピュータ | |
CN111478916B (zh) | 基于视频流的数据传输方法、设备和存储介质 | |
JP2017167661A (ja) | システム、携帯端末、情報処理装置、情報処理方法及びプログラム | |
US20180373479A1 (en) | Image processing apparatus and program | |
JP5476734B2 (ja) | サーバ、リモート操作システム、伝送方式選択方法、プログラム及び記録媒体 | |
JPH09231044A (ja) | 画面共有システムおよび方法 | |
CN115878058A (zh) | 信息处理方法及其装置、云终端、云服务器、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110531 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111018 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111207 |
|
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: 20120117 |
|
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: 20120130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4930102 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150224 Year of fee payment: 3 |