JP4946667B2 - Server apparatus and program - Google Patents

Server apparatus and program Download PDF

Info

Publication number
JP4946667B2
JP4946667B2 JP2007173922A JP2007173922A JP4946667B2 JP 4946667 B2 JP4946667 B2 JP 4946667B2 JP 2007173922 A JP2007173922 A JP 2007173922A JP 2007173922 A JP2007173922 A JP 2007173922A JP 4946667 B2 JP4946667 B2 JP 4946667B2
Authority
JP
Japan
Prior art keywords
command
client device
screen
area
screen information
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
JP2007173922A
Other languages
Japanese (ja)
Other versions
JP2009015419A (en
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2007173922A priority Critical patent/JP4946667B2/en
Publication of JP2009015419A publication Critical patent/JP2009015419A/en
Application granted granted Critical
Publication of JP4946667B2 publication Critical patent/JP4946667B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、アプリケーションプログラムを動作させるサーバ装置に対してサービス要求を行なうクライアント装置と、クライアント装置からのサービス要求に基づいてアプリケーションプログラムを動作させるサーバ装置とが、ネットワークを介して相互に接続可能に構成されたサーバベースコンピューティングシステムに関する。   According to the present invention, a client device that makes a service request to a server device that operates an application program and a server device that operates an application program based on a service request from the client device can be connected to each other via a network. The present invention relates to a configured server-based computing system.

近年、ネットワークの高速化に伴い、サーバ装置の画面をリアルタイムにネットワークを介して送信し、遠隔のクライアント装置に表示させ、遠隔からサーバ装置の操作を行なうサーバベースコンピューティングシステム(シンクライアントシステム)が広まってきている。たとえば、リモートマシンのデスクトップを手元のマシンから使えるようにするVNC(Virtual Network Computing)などがそのサーバベースコンピューティングシステムの例としてある。   2. Description of the Related Art A server-based computing system (thin client system) that transmits a screen of a server device in real time via a network, displays the screen on a remote client device, and operates the server device remotely as the network speed increases. It is spreading. For example, VNC (Virtual Network Computing) that enables a remote machine desktop to be used from a local machine is an example of the server-based computing system.

サーバベースコンピューティングシステムとは、クライアント装置(シンクライアント装置とも呼ばれる)とサーバ装置とがネットワークを介して相互に接続可能に構成されたシステムにおいて、クライアント装置がサーバ装置に対してサービス要求を行なうと、サーバ装置がクライアント装置からのサービス要求に基づいて、データの管理およびアプリケーションプログラムを動作させるというものである(例えば、特許文献1参照。)。   A server-based computing system is a system in which a client device (also referred to as a thin client device) and a server device can be connected to each other via a network, and when a client device makes a service request to the server device. The server device operates data management and an application program based on a service request from the client device (see, for example, Patent Document 1).

サーバ装置はクライアント装置用の表示データを作成し、これをクライアント装置に送る。クライアント装置では、使用者のキーやマウス装置等の操作情報を、ネットワークを介してサーバ装置へ送り、前記サーバ装置側で作成されたクライアント装置用の表示データを受け取って表示する。クライアント装置は、ネットワーク機器、表示装置、マウス装置やキーボード等の入力装置を備えているだけでよく、データをクライアント装置内に持たないためハードディスク等のストレージが不要であり、アプリケーションプログラムの実行を行なわないためクライアント装置に必要となる処理の負荷は軽い。   The server device creates display data for the client device and sends it to the client device. In the client device, operation information such as a user's key and mouse device is sent to the server device via the network, and the display data for the client device created on the server device side is received and displayed. The client device only needs to include an input device such as a network device, a display device, a mouse device, or a keyboard. Since no data is stored in the client device, storage such as a hard disk is unnecessary, and an application program is executed. Therefore, the processing load required for the client device is light.

図1は、サーバベースコンピューティングシステムの構成を示す図である。
図1に示すとおり、サーバベースコンピューティングシステムは、クライアント装置10からは、キーボードやマウスなどの入力装置からの入力情報をサーバ装置20へ送り、その入力情報に基づいてサーバ装置20が処理を実行し、更新された画面情報(座標、大きさと画像)をクライアント装置10へ送るというものである。クライアント装置10は、その画面情報を表示装置に反映させる。
FIG. 1 is a diagram illustrating a configuration of a server-based computing system.
As shown in FIG. 1, the server-based computing system sends input information from an input device such as a keyboard and a mouse to the server device 20 from the client device 10, and the server device 20 executes processing based on the input information. Then, the updated screen information (coordinates, size and image) is sent to the client device 10. The client device 10 reflects the screen information on the display device.

図2は、サーバベースコンピューティングシステムの概要を説明するための図である。
図2に示す通り、クライアント装置10とサーバ装置20は、ネットワーク(通信網)を介して互いに接続され、サーバベースコンピューティングシステムを形成している。クライアント装置10が無線通信を行なう場合には、中継装置30およびネットワークを介してサーバ装置20と通信を行なう。
FIG. 2 is a diagram for explaining the outline of the server-based computing system.
As shown in FIG. 2, the client device 10 and the server device 20 are connected to each other via a network (communication network) to form a server-based computing system. When the client device 10 performs wireless communication, the client device 10 communicates with the server device 20 via the relay device 30 and the network.

このようなサーバベースコンピューティングシステムでは、例えば、サーバ装置20からクライアント装置10に画像データを転送する際に、更新の発生した画像データを低画質で送信することにより、画像転送に利用可能な帯域の制限が受けにくくなり、画面転送のリアルタイム性が向上し、低画質データの送信後に改めて高画質の画像データを送信することにより、画質の劣化を目立たせなくするという技術が開示されている(例えば、特許文献2参照。)。   In such a server-based computing system, for example, when image data is transferred from the server device 20 to the client device 10, the bandwidth that can be used for image transfer is transmitted by transmitting the updated image data with low image quality. Has been disclosed, and the real-time property of screen transfer is improved, and high-quality image data is transmitted again after low-quality image data is transmitted, thereby making image quality degradation inconspicuous ( For example, see Patent Document 2.)

このようなサーバベースコンピューティングシステムにおいて、サーバ装置20内の画面に変更が発生した場合は、仮想のVRAMから変更前後の差分データを抽出し、その差分データを画面データとしてクライアント装置10へ送信している。通常、その画面データの送信方法としては、   In such a server-based computing system, when a change occurs in the screen in the server device 20, the difference data before and after the change is extracted from the virtual VRAM, and the difference data is transmitted to the client device 10 as screen data. ing. Normally, the screen data transmission method is as follows:

(1)イメージ送信
(2)コマンド送信
の二通りの送信方法が存在する。
There are two transmission methods: (1) image transmission (2) command transmission.

(2)コマンド送信には、例えば、「座標」「幅」「高さ」「塗りつぶし色」を送信する「単色塗りつぶし送信」と、「座標」「幅」「高さ」「パターンイメージ」を送信する「単一パターン塗りつぶし送信」とがある。   (2) For command transmission, for example, “coordinate”, “width”, “height”, “fill color”, “single color fill transmission”, and “coordinates”, “width”, “height”, “pattern image” are transmitted. "Single pattern fill transmission".

前者のイメージ送信は、仮想のVRAMに保存された画面のピクセルデータをイメージ情報として(圧縮し)送信する方法であり、後者のコマンド送信は、画面を構成するベクトルデータのみを送信し、ピクセルデータへの展開はクライアント装置10側にゆだねる方法である。   The former image transmission is a method of transmitting (compressed) image pixel data stored in a virtual VRAM as image information. The latter command transmission transmits only vector data constituting the screen, and pixel data. Deployment to the client device 10 is a method that is left to the client device 10 side.

このような前者のイメージ送信の場合、データ量が大きくなる欠点があるがクライアント装置10に依存しないという特徴があり、後者のコマンド送信の場合、データ量は削減できるがクライアント装置10に依存してしまうという特徴がある。   In the former image transmission, there is a disadvantage that the data amount becomes large but it does not depend on the client device 10. In the latter command transmission, the data amount can be reduced, but depends on the client device 10. It has the feature that it ends up.

サーバベースコンピューティングシステムにおいては、データ量の削減がパフォーマンスに影響するため、後者のコマンド送信のコマンド対応を如何に効率的に実装するかが重要な問題である。   In the server-based computing system, since the reduction of the data amount affects the performance, how to efficiently implement the latter command transmission command is an important issue.

ここで、クライアント装置10に表示させる画面情報のサーバ装置20からの送信(画面転送)を考えるとき、サーバ装置20内部での描画処理の考え方が大切になる。サーバ装置20内の画面描画の描画先は大きく分けて、(1)オンスクリーン(OnScreen)メモリと(2)オフスクリーン(OffScreen)メモリの二つのメモリ領域が存在する。前者のオンスクリーンメモリは、画面の変化に対応して表示するためのメモリ領域であり、後者のオフスクリーンメモリは、一度描画した画面を再利用するために保存する一時メモリ領域であり、画面には反映されない。例えば、ウインドウズシステムのメニューバーにある「ファイル(F)」という画面は何度も利用され、画面には反映されない。   Here, when considering transmission (screen transfer) of the screen information to be displayed on the client device 10 from the server device 20, the concept of the drawing process inside the server device 20 is important. The drawing destination of screen drawing in the server device 20 is roughly divided into two memory areas: (1) an on-screen (OnScreen) memory and (2) an off-screen (OffScreen) memory. The former on-screen memory is a memory area for displaying in response to changes in the screen, and the latter off-screen memory is a temporary memory area that is saved to reuse the screen once drawn. Is not reflected. For example, the screen “File (F)” in the menu bar of the Windows system is used many times and is not reflected on the screen.

図3は、オフスクリーンメモリ211とオンスクリーンメモリ212との関係を説明するための図である。
クライアント装置10から要求されたサービスは各種のコマンドから構成されており、これらの各種コマンドは、主に、オフスクリーンメモリ211に対する表示コマンド、オンスクリーンメモリ212に対する表示コマンド、オフスクリーンメモリ211に格納された画像データをオンスクリーンメモリ212に複写するためのコピーコマンドと3種類に分類することができる。
FIG. 3 is a diagram for explaining the relationship between the off-screen memory 211 and the on-screen memory 212.
The service requested from the client apparatus 10 is composed of various commands. These various commands are mainly stored in the display command for the off-screen memory 211, the display command for the on-screen memory 212, and the off-screen memory 211. The image data can be classified into three types: a copy command for copying the image data to the on-screen memory 212.

図3に示したように、オフスクリーンメモリ211に格納された画像データをクライアント装置20の画面に反映させるには、オフスクリーンメモリ211の内容をオンスクリーンメモリ212に複写(コピー)することで実行される。複写された画像データがクライアント装置10への送信対象となっていた。   As shown in FIG. 3, in order to reflect the image data stored in the off-screen memory 211 on the screen of the client device 20, the contents of the off-screen memory 211 are copied to the on-screen memory 212. Is done. The copied image data is a transmission target to the client device 10.

特開2005−228227号公報JP 2005-228227 A 特開2006−246153号公報JP 2006-246153 A

図4は、従来の問題点を説明するための図である。
上述したような従来のサーバベースコンピューティングシステムの場合、図4に示したように、オフスクリーンメモリ211の内容をオンスクリーンメモリ212に複写する際、複数のコマンドの実行結果が画像データとしてマージされるため、クライアント装置10への送信はイメージをそのまま又は圧縮して送信するしかなく、データ量が増大しがちになり、その結果、パフォーマンスが劣化する傾向にあるという問題点があった。
FIG. 4 is a diagram for explaining a conventional problem.
In the case of the conventional server-based computing system as described above, as shown in FIG. 4, when copying the contents of the off-screen memory 211 to the on-screen memory 212, the execution results of a plurality of commands are merged as image data. For this reason, transmission to the client device 10 can only be performed by transmitting the image as it is or after compression, and the amount of data tends to increase. As a result, there is a problem that performance tends to deteriorate.

本発明は、上記問題点に鑑みてなされたものであり、サーバ装置20からクライアント装置10へ送信する画面データのデータ量を少なくすることにより、画面データの送信速度を速くすることが可能なサーバベースコンピューティングシステムを提供することを目的とする。   The present invention has been made in view of the above problems, and can reduce the amount of screen data to be transmitted from the server device 20 to the client device 10 to increase the screen data transmission speed. An object is to provide a base computing system.

本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明のサーバ装置は、ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を一時的に格納する画面情報一時格納手段と、 前記クライアント装置に表示するために前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を格納する画面情報格納手段と、前記コマンド実行画像を一時的に格納する際に、前記コマンドを関連づけて記憶するコマンドテーブルを作成するコマンドログ手段と、前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、該当する前記コマンドを前記クライアント装置へ送信する送信手段とを備えることを特徴とする。
The present invention employs the following configuration in order to solve the above problems.
That is, according to one aspect of the present invention, the server device of the present invention is a server device that transmits screen information corresponding to the service request to the client device based on a service request from the client device via a network. A screen information temporary storage means for temporarily storing a command execution image generated by execution of a command constituting the service request; and a command constituting the service request for display on the client device. Screen information storage means for storing a command execution image generated by executing the command, and command log means for creating a command table for storing the command in association with the command execution image when temporarily storing the command execution image; , The command execution image stored in the screen information temporary storage means is stored in the screen information. And a transmission unit that refers to a command table created by the command log unit and transmits the corresponding command to the client device when copying to the information storage unit.

また、本発明のサーバ装置は、前記コマンドログ手段により作成された前記コマンドテーブルが、前記コマンドに関する情報と前記コマンドを領域別に関連付ける情報とを含むことが望ましい。   In the server device of the present invention, it is preferable that the command table created by the command log unit includes information relating to the command and information relating the command to each area.

また、本発明のサーバ装置は、さらに、前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、前記コマンド実行画像が前記コマンドにより描画する領域に含まれる場合は、前記コマンドにより描画する領域を前記コマンド実行画像を描画する領域となるように前記コマンドを変更するコマンド変更手段を備えることが望ましい。   The server device of the present invention further refers to the command table created by the command log means when copying the command execution image stored in the screen information temporary storage means to the screen information storage means, When the command execution image is included in the area drawn by the command, it is preferable to include command changing means for changing the command so that the area drawn by the command becomes the area drawing the command execution image.

また、本発明の一態様によれば、本発明のプログラムは、ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、前記サービス要求を構成する各コマンドが実行されたことにより生成される各コマンド実行画像を一時的に格納する画面情報一時格納手段、前記クライアント装置に表示するために前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を格納する画面情報格納手段、前記コマンド実行画像を一時的に格納する際に、前記コマンドを関連づけて記憶するコマンドテーブルを作成するコマンドログ手段、前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、該当する前記コマンドを前記クライアント装置へ送信する送信手段として機能させるためのプログラムである。   According to another aspect of the present invention, the program of the present invention is a server device computer that transmits screen information corresponding to the service request to the client device based on a service request from the client device via a network. Screen information temporary storage means for temporarily storing each command execution image generated when each command constituting the service request is executed, and a command constituting the service request for displaying on the client device Screen information storage means for storing a command execution image generated by execution of the command, command log means for creating a command table for storing the command in association with the command execution image when temporarily stored, The command execution image stored in the screen information temporary storage means is displayed on the screen. When copying the broadcast storing means, the command log means by referring to the command table created by a program for causing a relevant said command as a transmission means for transmitting to the client device.

本発明によれば、サーバ装置20からクライアント装置10へ送信する画面データをイメージデータではなく、コマンドデータとして送信するので、データ量が少なくなり、画面データの送信速度を速くすることができる。   According to the present invention, the screen data to be transmitted from the server device 20 to the client device 10 is transmitted as command data instead of image data, so that the data amount is reduced and the screen data transmission speed can be increased.

また、本発明によれば、従来、オフスクリーンメモリ211のデータをオンスクリーンメモリ212へ複写する際に、イメージデータとして複写することしかできなかったが、オフスクリーンメモリ211へ書き込んだコマンドのままコマンドログに格納しているので、コマンドのままオフスクリーンメモリ211のデータをオンスクリーンメモリ212へ複写することが可能となる。   Further, according to the present invention, conventionally, when data in the off-screen memory 211 is copied to the on-screen memory 212, it can only be copied as image data. Since the data is stored in the log, the data in the off-screen memory 211 can be copied to the on-screen memory 212 with the command.

また、本発明によれば、オフスクリーンメモリ211のデータをオンスクリーンメモリ212へコピーする際、コマンドの種類を判別してイメージデータとしてもオフスクリーンメモリ211のデータをオンスクリーンメモリ212へ複写することができるので、コマンドの種類によって最適な送信方法が選択することが可能となる。   Further, according to the present invention, when copying the data of the off-screen memory 211 to the on-screen memory 212, the type of the command is determined and the data of the off-screen memory 211 is copied to the on-screen memory 212 as image data. Therefore, an optimal transmission method can be selected depending on the type of command.

以下、本発明の実施の形態について図面を参照しながら説明する。
まず、本発明の実施の形態について概略を説明する。
本発明が適用されるサーバ装置20は、ネットワークを介したクライアント装置10からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置10へ送信するサーバ装置20である。そして、イメージデータ、場合によっては圧縮したイメージデータとクライアント装置10側で再生可能なコマンドデータとの双方をクライアント装置10へ送信することが可能であり、オフスクリーンメモリ211に対して実行された描画コマンドのログを管理し、オフスクリーンメモリ211のデータがオンスクリーンメモリ212に反映された場合、それをコマンドとしてクライアント装置10に送信する機能を有する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
First, an outline of an embodiment of the present invention will be described.
The server device 20 to which the present invention is applied is a server device 20 that transmits screen information corresponding to the service request to the client device 10 based on a service request from the client device 10 via a network. Then, it is possible to transmit both image data, and in some cases, compressed image data and command data reproducible on the client device 10 side to the client device 10, and drawing executed on the off-screen memory 211. A command log is managed, and when data in the off-screen memory 211 is reflected in the on-screen memory 212, the command log is transmitted to the client device 10 as a command.

また、オフスクリーンメモリ211の情報とコマンド情報とをリストとして保持し、オフスクリーンメモリ211からオンスクリーンメモリ212へ複写が発生した場合に、該当するコマンドリストをクライアント装置10に送信することでデータ量を削減する。   In addition, the information of the off-screen memory 211 and the command information are stored as a list, and when copying from the off-screen memory 211 to the on-screen memory 212 occurs, the corresponding command list is transmitted to the client device 10 to thereby increase the data amount. To reduce.

図5は、クライアント装置10のハードウェア構成の概略を示す図である。
図5において、クライアント装置10は、CPU(中央処理装置:Central Processing Unit)302、各種のデータや信号等を入力するための入力装置303、画像やその他の情報を表示するための表示装置304、クライアント装置10において実行する処理を実行するプログラムの他、クライアント装置10の各機能を制御し実行するための制御プログラムが収納されたROM305やRAM306、表示装置304に表示するための画像を一時的に格納するフレームバッファRAM307、無線LANや携帯電話網等のネットワークに接続するための通信I/F308、画像データ、通信データを始め様々な情報を記録するための外部記憶装置309や補助記憶装置310がバス301に接続されて構成され、CPU302がこれらの各部を制御している。
FIG. 5 is a diagram illustrating an outline of a hardware configuration of the client device 10.
In FIG. 5, a client device 10 includes a CPU (Central Processing Unit) 302, an input device 303 for inputting various data and signals, a display device 304 for displaying images and other information, In addition to a program for executing processing executed in the client device 10, an image to be displayed on the ROM 305, RAM 306, and display device 304 in which a control program for controlling and executing each function of the client device 10 is temporarily stored. A frame buffer RAM 307 for storing, a communication I / F 308 for connecting to a network such as a wireless LAN or a cellular phone network, an external storage device 309 for recording various information including image data and communication data, and an auxiliary storage device 310 are provided. It is configured to be connected to the bus 301, and the CPU 302 Are your.

図6は、サーバ装置20のハードウェア構成の概略を示す図である。
図6において、サーバ装置20は、CPU202、各種のデータや信号等を入力するための入力装置203、画像やその他の情報を表示するための表示装置204、サーバ装置20において実行する処理を実行するプログラムの他、サーバ装置20の各機能を制御し実行するための制御プログラム及びテーブルデータなどが収納されたROM205やRAM206、表示装置204に表示するための画像を一時的に格納するVRAM207、LAN等のネットワークに接続するための通信I/F208、画像データ、通信データを始め様々な情報を記録するための外部記憶装置209や補助記憶装置210、クライアント装置10からのサービス要求を構成する各コマンドが実行されたことにより生成される各コマンド実行画像を一時的に格納するオフスクリーンメモリ211、クライアント装置10の表示装置304に表示するためにクライアント装置10からのサービス要求を構成する各コマンドが実行されたことにより生成される各コマンド実行画像を格納するオンスクリーンメモリ212がバス201に接続されて構成され、CPU202がこれらの各部を制御している。
FIG. 6 is a diagram illustrating an outline of a hardware configuration of the server device 20.
In FIG. 6, the server device 20 executes processing executed by the CPU 202, the input device 203 for inputting various data and signals, the display device 204 for displaying images and other information, and the server device 20. In addition to the program, a ROM 205 and RAM 206 storing control programs and table data for controlling and executing each function of the server device 20, a VRAM 207 for temporarily storing an image to be displayed on the display device 204, a LAN, and the like Each command that constitutes a service request from the external storage device 209, auxiliary storage device 210, and client device 10 for recording various information including communication I / F 208, image data, communication data, etc. Each command execution image generated by the execution is temporarily stored. Off-screen memory 211, and on-screen memory 212 for storing each command execution image generated by executing each command constituting a service request from the client device 10 for display on the display device 304 of the client device 10. Are connected to the bus 201, and the CPU 202 controls these units.

図7は、コマンドログを説明するための図である。
図7において、コマンドログは、クライアント装置10からのサービス要求を構成する各コマンドのうち、描画関連のコマンドが、コマンド別に図11に示すような画面領域毎に各コマンドが前後のポインターによりリンクされた形で格納されている。そして、クライアント装置10へ送信するための送信キュー(Queue)には、そのままコマンドとして格納される。
FIG. 7 is a diagram for explaining the command log.
In FIG. 7, the command log is a command related to drawing among commands composing a service request from the client device 10, and each command is linked by front and back pointers for each screen area as shown in FIG. It is stored in the form. Then, it is directly stored as a command in a transmission queue for transmission to the client device 10.

次に、本発明を更に具体的に説明する。本発明は、サーバ装置20において実行されるサーバ処理として実現する。
上述したように、サーバ装置20の内部における画面描画は目に見える形でのオンスクリーンメモリ212への描画と、目に見えない形でのオフスクリーンメモリ211への描画に大別される。
Next, the present invention will be described more specifically. The present invention is realized as a server process executed in the server device 20.
As described above, the screen drawing inside the server device 20 is roughly divided into drawing on the on-screen memory 212 in a visible form and drawing on the off-screen memory 211 in an invisible form.

後者のオフスクリーンメモリ211は、一度作成した画面を再利用するために存在するが、この際には、図3及び図4を用いて上述したように、オフスクリーンメモリ211のメモリ領域をオンスクリーンメモリ212のメモリ領域に単純にメモリコピー(複写)をすることで実現されている。つまり、コピー元(以下、「SRC」(Sourceの略)と表記する)がオフスクリーンメモリ211であり、コピー先(以下、「DST」(Destinationの略)と表記する)がオンスクリーンメモリ212の場合に、再利用されるオフスクリーンメモリ211が画面に反映される。この場合に、図7に示したように管理されたオフスクリーンメモリ211への描画ログをクライアント装置10側に送信できれば、図4に示したようにコマンド情報を失わずに、コマンドをコマンドのまま少ないデータ量でクライアント装置10に送信することが可能となる。   The latter off-screen memory 211 exists to reuse the screen once created. At this time, as described above with reference to FIGS. 3 and 4, the memory area of the off-screen memory 211 is on-screen. This is realized by simply copying (copying) the memory area of the memory 212. That is, the copy source (hereinafter referred to as “SRC” (abbreviation of Source)) is the off-screen memory 211, and the copy destination (hereinafter referred to as “DST” (abbreviation of Destination)) is the on-screen memory 212. In this case, the reused off-screen memory 211 is reflected on the screen. In this case, if the drawing log to the off-screen memory 211 managed as shown in FIG. 7 can be transmitted to the client device 10 side, the command remains as a command without losing the command information as shown in FIG. It is possible to transmit to the client device 10 with a small amount of data.

ここでの本発明のポイントは、
(1)オフスクリーンメモリ211への描画コマンドをどのように管理するか
(2)オンスクリーンメモリ212に複写されるとき、複写されるべき描画コマンドをいかに抽出するか
The point of the present invention here is that
(1) How to manage drawing commands to off-screen memory 211 (2) How to extract drawing commands to be copied when copied to on-screen memory 212

の2点にある。
次に、上述の本発明の2点のポイントを順に説明する。
図8は、オフスクリーンメモリ211またはオンスクリーンメモリ212の描画メモリ配列を示す図である。
There are two points.
Next, the two points of the present invention will be described in order.
FIG. 8 is a diagram showing a drawing memory array of the off-screen memory 211 or the on-screen memory 212.

通常、コンピュータの画面を保持するためのメモリは、オフスクリーンメモリ211のメモリ領域とオンスクリーンメモリ212のメモリ領域とを問わずこれらが統合した形で、画面番号とオフスクリーンメモリ211かオンスクリーンメモリ212かを識別するためのフラグ(例えば、オフスクリーンメモリ211を示すフラグが「0」で、オンスクリーンメモリ212を示すフラグが「1」)をもつ形で構成されている。   Usually, the memory for holding the screen of the computer is formed by integrating the memory area of the off-screen memory 211 and the memory area of the on-screen memory 212, and the screen number and the off-screen memory 211 or the on-screen memory. 212. For example, the flag indicating the off-screen memory 211 is “0” and the flag indicating the on-screen memory 212 is “1”.

まず、「(1)オフスクリーンメモリ211への描画コマンドをどのように管理するか」について、図9を用いて説明する。
図9は、サーバ装置20において実行されるサーバ処理の流れを示すフローチャートである。
First, “(1) How to manage drawing commands to the off-screen memory 211” will be described with reference to FIG.
FIG. 9 is a flowchart showing the flow of server processing executed in the server device 20.

ステップS901において、描画コマンドを受信すると、ステップS902において、領域番号を使って領域情報の検索を実行する。描画コマンドは、図3に示したようなに、オフスクリーンメモリ211またはオンスクリーンメモリ212のいずれかのメモリ領域に対して実行されるが、この場合、かならず図8に示した領域番号が渡される。   When a drawing command is received in step S901, a search for region information is executed using the region number in step S902. As shown in FIG. 3, the drawing command is executed on either the off-screen memory 211 or the on-screen memory 212. In this case, the area number shown in FIG. 8 is always passed. .

次に、ステップS903において、フラグの値がオンスクリーンメモリ212を示すフラグ「1」であるか否かを判断する。
そして、領域番号からデータ構造を検索して、フラグが「1」であると判断された場合(ステップS903:YES)、すなわちオンスクリーンメモリ212のメモリ領域への描画の場合であれば、目に見える変更であるので、ステップS904において、画面データをそのままクライアント装置10に送信する。他方、フラグが「0」であると判断された場合(ステップS903:NO)、すなわちオフスクリーンメモリ211のメモリ領域への描画の場合であれば、図10を用いて後述するサブルーチン「オフスクリーンコマンド管理処理」のようにしてコマンドログを管理する。
Next, in step S903, it is determined whether or not the flag value is a flag “1” indicating the on-screen memory 212.
When the data structure is searched from the area number and it is determined that the flag is “1” (step S903: YES), that is, in the case of drawing in the memory area of the on-screen memory 212, Since the change is visible, the screen data is transmitted to the client device 10 as it is in step S904. On the other hand, if it is determined that the flag is “0” (step S903: NO), that is, in the case of drawing in the memory area of the off-screen memory 211, a subroutine “off-screen command” described later with reference to FIG. The command log is managed as in “Management process”.

描画コマンドがオフスクリーンメモリ211に対するものである場合、コマンドログを管理する必要がある。ここで、オフスクリーンメモリ211に格納されたデータがオンスクリーンメモリ212に反映されるのは、複写コマンドのSRCがオフスクリーンメモリ211であって、かつDSTがオンスクリーンメモリ212の場合である。この場合、複写コマンドについては、SRC及びDSTそれぞれの「領域番号」「X座標」「Y座標」「幅」「高さ」が渡されるため、これらの情報と、コマンド特有の情報(例えば、上述の「単色塗りつぶし送信」の場合、「塗りつぶし色」がこれに相当)を保存しておく必要がある。   When the drawing command is for the off-screen memory 211, it is necessary to manage the command log. Here, the data stored in the off-screen memory 211 is reflected in the on-screen memory 212 when the SRC of the copy command is the off-screen memory 211 and the DST is the on-screen memory 212. In this case, since the “area number”, “X coordinate”, “Y coordinate”, “width”, and “height” of each of the SRC and DST are passed for the copy command, these information and command-specific information (for example, the above-described information) In the case of “single color fill transmission”, “fill color” is equivalent to this).

次に、「(2)オンスクリーンメモリ212に複写されるとき、複写されるべき描画コマンドをいかに抽出するか」について、図10及び図11を用いて説明する。SRCがオフスクリーンメモリ211であり、DSTがオンスクリーンメモリ212である場合に、オフスクリーンメモリ211に書き込まれたものがオンスクリーンメモリ212に反映されるトリガとなる。このとき、領域番号、X座標、Y座標、幅、高さが渡されるので、これらの情報をもとにオフスクリーンメモリ211のコマンドログを作成し、作成したコマンドログに基づいて必要なコマンドをクライアント装置10に送信する。   Next, “(2) How to extract a drawing command to be copied when copying to the on-screen memory 212” will be described with reference to FIGS. When SRC is the off-screen memory 211 and DST is the on-screen memory 212, what is written in the off-screen memory 211 becomes a trigger reflected in the on-screen memory 212. At this time, since the area number, X coordinate, Y coordinate, width, and height are passed, a command log of the off-screen memory 211 is created based on these information, and necessary commands are created based on the created command log. It transmits to the client device 10.

図10は、サブルーチン「オフスクリーンコマンド管理処理」の流れを示すフローチャートであり、図11は、コマンドログの抽出を説明するための図である。
まず、図10のステップS1001において、複写コマンド(コピーコマンド)を受信する。
FIG. 10 is a flowchart showing a flow of a subroutine “off-screen command management process”, and FIG. 11 is a diagram for explaining command log extraction.
First, in step S1001 of FIG. 10, a copy command (copy command) is received.

図11に示したように、コマンドログのデータ構造は、(ア)領域番号管理配列と(イ)コマンドリスト保持リストとの2つのデータ構造によって管理され、(ア)には(イ)のコマンドリスト保持リストの先頭リストのアドレスと、図8に示した領域番号と同じ領域番号が保持されている。   As shown in FIG. 11, the data structure of the command log is managed by two data structures of (a) an area number management array and (b) a command list holding list. The address of the top list of the list holding list and the same area number as the area number shown in FIG. 8 are held.

そして、図10のステップS1002において、複写描画の関数に渡される領域番号をもとに、図11の(ア)から、SRCとなるオフスクリーンメモリ211の配列を検索する。   Then, in step S1002 in FIG. 10, the array of the off-screen memory 211 serving as the SRC is searched from (a) in FIG. 11 based on the area number passed to the copy drawing function.

次に、図10のステップS1003において、図11の(イ)の先頭アドレスを取得する。
図11の(イ)は、双方向リンクリストのデータ構造であり、それぞれのリストはコマンド実行順にリストに保持される。各リストは1つ前のリストと1つ後のリストのアドレスを保持する。なお、該当するものがない場合は、NULLポインタを指す。各リストには前述した必要なリスト(X座標、Y座標、幅、高さ、コマンド情報)を保持する。これにより、オフスクリーンメモリ211からオンスクリーンメモリ212に複写コマンドが発行される際、どのコマンドを複写すべきであるか、必要な情報を保持することができる。
Next, in step S1003 in FIG. 10, the head address in FIG.
(A) in FIG. 11 shows the data structure of the bidirectional link list, and each list is held in the list in the order of command execution. Each list holds the addresses of the previous list and the next list. When there is no corresponding item, it points to a NULL pointer. Each list holds the necessary lists (X coordinate, Y coordinate, width, height, command information) described above. Thus, when a copy command is issued from the off-screen memory 211 to the on-screen memory 212, it is possible to hold necessary information as to which command should be copied.

次に、図10のステップS1004において、リストの末尾に達したか否かを判断する。末尾に達したら(ステップS1004:YES)、本サブルーチン「オフスクリーンコマンド管理処理」を終了する。   Next, in step S1004 of FIG. 10, it is determined whether or not the end of the list has been reached. When the end is reached (step S1004: YES), this subroutine “off-screen command management process” is terminated.

リストの末尾に達していなかった場合(ステップS1004:NO)は、ステップS1005において、SRCの領域(X座標、Y座標、幅、高さ)から送信すべきコマンドリストを探し出し、領域が含まれない場合は次のリストへと移る。   If the end of the list has not been reached (step S1004: NO), in step S1005, a command list to be transmitted is searched from the SRC area (X coordinate, Y coordinate, width, height), and no area is included. If so, move on to the next list.

そして、ステップS1006において、領域が完全に含まれるか否かを判断し、完全に含まれない場合(ステップS1006:NO)、すなわち一部だけ含まれる場合は、ステップS1007において、図12及び図13を用いて後述するサブルーチン「オフスクリーンコマンド管理処理」を実行することにより、ステップS1008において、該当領域だけを切り出してクライアント装置10へと送信する。   Then, in step S1006, it is determined whether or not the region is completely included. If not completely included (step S1006: NO), that is, if only a part is included, in step S1007, FIG. By executing a sub-routine “off-screen command management process” which will be described later, only the corresponding area is cut out and transmitted to the client apparatus 10 in step S1008.

他方、領域が完全に含まれる場合(ステップS1006:YES)は、ステップS1008において、そのリストをそのままクライアント装置10へと送信する。
そして、ステップS1009において、次にリストに移り、ステップS1004以降をリストの末尾に達するまで(ステップS1004でYESと判断されるまで)繰り返す。
On the other hand, if the area is completely included (step S1006: YES), the list is transmitted to the client device 10 as it is in step S1008.
In step S1009, the process moves to the next list, and step S1004 and subsequent steps are repeated until the end of the list is reached (YES in step S1004).

このように、サブルーチン「オフスクリーンコマンド管理処理」は、オフスクリーンメモリ211から渡された情報に基づいて、サーバベースコンピューティングシステムが対応している描画コマンドの場合はコマンド情報をクライアント装置10に送信し、対応していない場合はイメージデータそのものをオフスクリーンメモリ211の仮想VRAMから切り出し、それをイメージ圧縮することでクライアント装置10に送信して、一連の処理を終了する。   As described above, the subroutine “off-screen command management process” transmits command information to the client device 10 in the case of a drawing command supported by the server-based computing system, based on the information passed from the off-screen memory 211. If it is not supported, the image data itself is cut out from the virtual VRAM of the off-screen memory 211, and the image data is compressed and transmitted to the client device 10 to complete a series of processing.

図12は、サブルーチン「含まれる領域の切り出し処理」を説明するための図であり、図13は、サブルーチン「含まれる領域の切り出し処理」の流れを示すフローチャートである。   FIG. 12 is a diagram for explaining the subroutine “included region extraction process”, and FIG. 13 is a flowchart showing the flow of the subroutine “included region extraction process”.

まず、ステップS1301において、複写領域のX座標である「sx」がリスト領域のX座標である「lx」より大きいか否かを判断し、大きいと判断した場合(ステップS1301:YES)は、ステップS1302において、変数「mx」に複写領域のX座標である「sx」を代入し、大きくないと判断した場合(ステップS1301:NO)は、ステップS1303において、変数「mx」にリスト領域のX座標である「lx」を代入する。   First, in step S1301, it is determined whether or not “sx”, which is the X coordinate of the copy area, is larger than “lx”, which is the X coordinate of the list area. If it is determined that it is larger (step S1301: YES), step If “sx”, which is the X coordinate of the copy area, is substituted into the variable “mx” in S1302 and is determined not to be large (NO in Step S1301), the X coordinate of the list area is set in the variable “mx” in Step S1303. “Lx” is substituted.

次に、ステップS1304において、複写領域のY座標である「sy」がリスト領域のY座標である「ly」より大きいか否かを判断し、大きいと判断した場合(ステップS1304:YES)は、ステップS1305において、変数「my」に複写領域のY座標である「sy」を代入し、大きくないと判断した場合(ステップS1304:NO)は、ステップS1306において、変数「my」にリスト領域のY座標である「ly」を代入する。   Next, in step S1304, it is determined whether or not “sy” that is the Y coordinate of the copy area is larger than “ly” that is the Y coordinate of the list area. If it is determined that it is larger (YES in step S1304), If it is determined in step S1305 that “y”, which is the Y coordinate of the copy area, is substituted for the variable “my” and is not large (step S1304: NO), the variable “my” in the list area is set in step S1306. “Ly” which is a coordinate is substituted.

次に、ステップS1307において、リスト領域のX座標である「lx」とリスト領域の幅である「lw」との和(lx+lw)が複写領域のX座標である「sx」と複写領域の幅である「sw」との和(sx+sw)より小さいか否かを判断する。そして、小さいと判断した場合(ステップS1307:YES)は、ステップS1308において、リスト領域のX座標である「lx」とリスト領域の幅である「lw」との和(lx+lw)から、ステップS1302で複写領域のX座標である「sx」を代入した、またはステップS1303でリスト領域のX座標である「lx」を代入した変数「mx」の値を減算して、変数「mw」に代入する。他方、ステップS1307で小さくないと判断した場合(ステップS1307:NO)は、ステップS1309において、複写領域のX座標である「sx」と複写領域の幅である「sw」との和(sx+sw)から、ステップS1302で複写領域のX座標である「sx」を代入した、またはステップS1303でリスト領域のX座標である「lx」を代入した変数「mx」の値を減算して、変数「mw」に代入する。   In step S 1307, the sum (lx + lw) of “lx” that is the X coordinate of the list area and “lw” that is the width of the list area is “sx” that is the X coordinate of the copy area and the width of the copy area. It is determined whether or not it is smaller than the sum (sx + sw) with a certain “sw”. If it is determined that it is small (step S1307: YES), in step S1308, from the sum (lx + lw) of “lx” that is the X coordinate of the list area and “lw” that is the width of the list area, in step S1302. The value of the variable “mx” to which “sx” that is the X coordinate of the copy area is substituted or “lx” that is the X coordinate of the list area in step S1303 is subtracted and substituted into the variable “mw”. On the other hand, if it is determined in step S1307 that it is not small (step S1307: NO), in step S1309, from the sum (sx + sw) of “sx” that is the X coordinate of the copy area and “sw” that is the width of the copy area. In step S1302, the value “sx” that is the X coordinate of the copy area is substituted, or the value of the variable “mx” that is assigned “lx” that is the X coordinate of the list area in step S1303 is subtracted, and the variable “mw” is subtracted. Assign to.

次に、ステップS1310において、リスト領域のY座標である「ly」とリスト領域の高さである「lh」との和(ly+lh)が複写領域のY座標である「sy」と複写領域の高さである「sh」との和(sy+sh)より小さいか否かを判断する。そして、小さいと判断した場合(ステップS1310:YES)は、ステップS1311において、リスト領域のY座標である「ly」とリスト領域の高さである「lh」との和(ly+lh)から、ステップS1305で複写領域のY座標である「sy」を代入した、またはステップS1306でリスト領域のY座標である「ly」を代入した変数「my」の値を減算して、変数「mh」に代入する。他方、ステップS1310で小さくないと判断した場合(ステップS1310:NO)は、ステップS1312において、複写領域のY座標である「sy」と複写領域の高さである「sh」との和(sy+sh)から、ステップS1305で複写領域のY座標である「sy」を代入した、またはステップS1306でリスト領域のY座標である「ly」を代入した変数「my」の値を減算して、変数「mh」に代入する。   In step S1310, the sum (ly + lh) of “ly” that is the Y coordinate of the list area and “lh” that is the height of the list area is “y” that is the Y coordinate of the copy area and the height of the copy area. It is determined whether or not the sum is smaller than the sum (sy + sh) of “sh”. If it is determined that it is small (step S1310: YES), in step S1311, the sum (ly + lh) of “ly” that is the Y coordinate of the list area and “lh” that is the height of the list area is determined in step S1305. In step S1306, the value of the variable “my” into which the Y coordinate of the copy area or “ly” in the list area is substituted is subtracted and substituted into the variable “mh”. . On the other hand, if it is determined in step S1310 that it is not small (step S1310: NO), in step S1312, the sum of “y” that is the Y coordinate of the copy area and “sh” that is the height of the copy area (sy + sh). In step S1305, the value of the variable “my” substituted with “sy” that is the Y coordinate of the copy area or “ly” that is the Y coordinate of the list area in step S1306 is subtracted. Is substituted.

そして、ステップS1313において、コマンドの矩形領域のx座標を、ステップS1302またはステップS1303で代入された変数mxの値に変更し、コマンドの矩形領域のy座標を、ステップS1305またはステップS1306で代入された変数myの値に変更し、コマンドの矩形領域の幅を、ステップS1308またはステップS1309で代入された変数mwの値に変更し、コマンドの矩形領域の高さを、ステップS1311またはステップS1312で代入された変数mhの値に変更する。   In step S1313, the x coordinate of the rectangular area of the command is changed to the value of the variable mx substituted in step S1302 or step S1303, and the y coordinate of the rectangular area of the command is substituted in step S1305 or step S1306. The value is changed to the value of the variable my, the width of the rectangular area of the command is changed to the value of the variable mw assigned in step S1308 or step S1309, and the height of the rectangular area of the command is assigned in step S1311 or step S1312. Change to the value of the variable mh.

以上説明したように、オフスクリーンメモリ211に対して実行された描画コマンドをコマンドログとして管理するため、コマンドに付随するセマンティック(意味的)な情報が消失するようなことがない。これにより、コマンドをコマンドとしてクライアント装置10に送信できるため、データ量を削減する効果があり、パフォーマンス向上につながる。   As described above, since the drawing command executed on the off-screen memory 211 is managed as a command log, semantic (semantic) information accompanying the command is not lost. Thereby, since a command can be transmitted to the client apparatus 10 as a command, there is an effect of reducing the amount of data, leading to an improvement in performance.

以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の実施の形態は、サーバ装置の一機能としてハードウェアまたはDSP(Digital Signal Processor)ボードやCPUボードでのファームウェアもしくはソフトウェアにより実現することができる。   As described above, the embodiments of the present invention have been described with reference to the drawings. However, in the above-described embodiments of the present invention, a hardware, a DSP (Digital Signal Processor) board or a CPU board is used as one function of the server device. It can be realized by firmware or software.

また、本発明が適用されるサーバ装置は、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、LAN、WAN等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。   Further, the server device to which the present invention is applied is not limited to the above-described embodiment as long as the function is executed, and even a single device or a system composed of a plurality of devices is integrated. Needless to say, the apparatus may be a system that performs processing via a network such as a LAN or a WAN.

また、バスに接続されたCPU、ROMやRAMのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したROMやRAMのメモリ、外部記録装置、可搬記録媒体を、サーバ装置に供給し、そのサーバ装置のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。   It can also be realized by a system including a CPU, a ROM or RAM memory connected to a bus, an input device, an output device, an external recording device, a medium driving device, and a network connection device. That is, the ROM, RAM memory, external recording device, and portable recording medium in which the software program for realizing the system of the above-described embodiment is recorded are supplied to the server device, and the computer of the server device reads the program. Needless to say, it can also be achieved through implementation.

この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。   In this case, the program itself read from the portable recording medium or the like realizes the novel function of the present invention, and the portable recording medium or the like on which the program is recorded constitutes the present invention.

プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、DVD−RAM、磁気テープ、不揮発性のメモリーカード、ROMカード、電子メールやパソコン通信等のネットワーク接続装置(言い換えれば、通信回線)を介して記録した種々の記録媒体などを用いることができる。   Examples of portable recording media for supplying the program include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, DVD-ROMs, DVD-RAMs, magnetic tapes, and nonvolatile memory cards. Various recording media recorded via a network connection device (in other words, a communication line) such as a ROM card, electronic mail or personal computer communication can be used.

また、コンピュータ(情報処理装置)がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。   The computer (information processing apparatus) executes the program read out on the memory, thereby realizing the functions of the above-described embodiment, and an OS running on the computer based on the instructions of the program. Performs part or all of the actual processing, and the functions of the above-described embodiments are also realized by the processing.

さらに、可搬型記録媒体から読み出されたプログラムやプログラム(データ)提供者から提供されたプログラム(データ)が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。   Furthermore, a program read from a portable recording medium or a program (data) provided by a program (data) provider is stored in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. After being written, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing based on the instructions of the program, and the functions of the above-described embodiments are also realized by the processing. obtain.

すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。   That is, the present invention is not limited to the embodiment described above, and can take various configurations or shapes without departing from the gist of the present invention.

サーバベースコンピューティングシステムの構成を示す図である。It is a figure which shows the structure of a server base computing system. サーバベースコンピューティングシステムの概要を説明するための図である。It is a figure for demonstrating the outline | summary of a server base computing system. オフスクリーンメモリ211とオンスクリーンメモリ212との関係を説明するための図である。4 is a diagram for explaining a relationship between an off-screen memory 211 and an on-screen memory 212. FIG. 従来の問題点を説明するための図である。It is a figure for demonstrating the conventional problem. クライアント装置10のハードウェア構成の概略を示す図である。2 is a diagram showing an outline of a hardware configuration of a client device 10. FIG. サーバ装置20のハードウェア構成の概略を示す図である。2 is a diagram illustrating an outline of a hardware configuration of a server device 20. FIG. コマンドログを説明するための図である。It is a figure for demonstrating a command log. オフスクリーンメモリ211またはオンスクリーンメモリ212の描画メモリ配列を示す図である。FIG. 3 is a diagram showing a drawing memory array of an off-screen memory 211 or an on-screen memory 212. サーバ装置20において実行されるサーバ処理の流れを示すフローチャートである。4 is a flowchart showing a flow of server processing executed in the server device 20. サブルーチン「オフスクリーンコマンド管理処理」の流れを示すフローチャートである。It is a flowchart which shows the flow of a subroutine "off-screen command management process." コマンドログの抽出を説明するための図である。It is a figure for demonstrating extraction of a command log. サブルーチン「含まれる領域の切り出し処理」を説明するための図である。It is a figure for demonstrating a subroutine "extraction process of the area | region included." サブルーチン「含まれる領域の切り出し処理」の流れを示すフローチャートである。It is a flowchart which shows the flow of subroutine "Extraction process of the area | region included."

符号の説明Explanation of symbols

10 クライアント装置
20 サーバ装置
30 中継装置
201 バス
202 CPU
203 入力装置
204 表示装置
205 ROM
206 RAM
207 フレームバッファRAM
208 通信I/F
209 外部記憶装置
210 補助記憶装置
211 オフスクリーン(OffScreen)メモリ
212 オンスクリーン(OnScreen)メモリ
301 バス
302 CPU
303 入力装置
304 表示装置
305 ROM
306 RAM
307 フレームバッファRAM
308 通信I/F
309 外部記憶装置
310 補助記憶装置
10 Client device 20 Server device 30 Relay device 201 Bus 202 CPU
203 Input device 204 Display device 205 ROM
206 RAM
207 Frame buffer RAM
208 Communication I / F
209 External storage device 210 Auxiliary storage device 211 Off-screen memory 212 On-screen memory 301 Bus 302 CPU
303 Input device 304 Display device 305 ROM
306 RAM
307 Frame buffer RAM
308 Communication I / F
309 External storage device 310 Auxiliary storage device

Claims (4)

ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置であって、
前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を一時的に格納する画面情報一時格納手段と、
前記クライアント装置に表示するために前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を格納する画面情報格納手段と、
前記コマンド実行画像を一時的に格納する際に、前記コマンドを関連づけて記憶するコマンドテーブルを作成するコマンドログ手段と、
前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、該当する前記コマンドを前記クライアント装置へ送信する送信手段と、
を備えることを特徴とするサーバ装置。
Based on a service request from a client device via a network, the server device transmits screen information corresponding to the service request to the client device,
Screen information temporary storage means for temporarily storing a command execution image generated by execution of a command constituting the service request;
Screen information storage means for storing a command execution image generated by execution of a command constituting the service request for display on the client device;
Command log means for creating a command table for associating and storing the command when temporarily storing the command execution image;
When copying the command execution image stored in the screen information temporary storage means to the screen information storage means, the command table created by the command log means is referred to and the corresponding command is transmitted to the client device. A transmission means;
A server device comprising:
前記コマンドログ手段により作成された前記コマンドテーブルは、前記コマンドに関する情報と前記コマンドを領域別に関連付ける情報とを含むことを特徴とする請求項1に記載のサーバ装置。   2. The server apparatus according to claim 1, wherein the command table created by the command log means includes information relating to the command and information associating the command with each area. さらに、
前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、前記コマンド実行画像が前記コマンドにより描画する領域に含まれる場合は、前記コマンドにより描画する領域を前記コマンド実行画像を描画する領域となるように前記コマンドを変更するコマンド変更手段、
備えることを特徴とする請求項1または2に記載のサーバ装置。
further,
An area in which the command execution image is drawn by the command with reference to the command table created by the command log means when copying the command execution image stored in the screen information temporary storage means to the screen information storage means A command changing means for changing the command so that an area to be drawn by the command becomes an area to draw the command execution image,
The server device according to claim 1, comprising: a server device according to claim 1.
ネットワークを介したクライアント装置からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置へ送信するサーバ装置のコンピュータを、
前記サービス要求を構成する各コマンドが実行されたことにより生成される各コマンド実行画像を一時的に格納する画面情報一時格納手段、
前記クライアント装置に表示するために前記サービス要求を構成するコマンドが実行されたことにより生成されるコマンド実行画像を格納する画面情報格納手段、
前記コマンド実行画像を一時的に格納する際に、前記コマンドを関連づけて記憶するコマンドテーブルを作成するコマンドログ手段、
前記画面情報一時格納手段に格納されたコマンド実行画像を前記画面情報格納手段に複写する際に、前記コマンドログ手段により作成されたコマンドテーブルを参照し、該当する前記コマンドを前記クライアント装置へ送信する送信手段、
として機能させるためのプログラム。
Based on a service request from a client device via a network, a computer of a server device that transmits screen information corresponding to the service request to the client device.
Screen information temporary storage means for temporarily storing each command execution image generated by execution of each command constituting the service request;
Screen information storage means for storing a command execution image generated by execution of a command constituting the service request for display on the client device;
Command log means for creating a command table for storing the commands in association with each other when temporarily storing the command execution image;
When copying the command execution image stored in the screen information temporary storage means to the screen information storage means, the command table created by the command log means is referred to and the corresponding command is transmitted to the client device. Transmission means,
Program to function as.
JP2007173922A 2007-07-02 2007-07-02 Server apparatus and program Active JP4946667B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007173922A JP4946667B2 (en) 2007-07-02 2007-07-02 Server apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007173922A JP4946667B2 (en) 2007-07-02 2007-07-02 Server apparatus and program

Publications (2)

Publication Number Publication Date
JP2009015419A JP2009015419A (en) 2009-01-22
JP4946667B2 true JP4946667B2 (en) 2012-06-06

Family

ID=40356280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007173922A Active JP4946667B2 (en) 2007-07-02 2007-07-02 Server apparatus and program

Country Status (1)

Country Link
JP (1) JP4946667B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902242B2 (en) 2009-04-23 2014-12-02 Vmware, Inc. Method and system for identifying drawing primitives for selective transmission to a remote display
JP5521690B2 (en) * 2010-03-26 2014-06-18 日本電気株式会社 Screen data distribution system, server, screen data distribution method, and program
JP5678619B2 (en) * 2010-12-02 2015-03-04 富士通株式会社 Information processing apparatus, information processing method, and information processing program
JP2013020629A (en) * 2012-08-23 2013-01-31 Casio Comput Co Ltd Terminal device and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112513B2 (en) * 2005-11-30 2012-02-07 Microsoft Corporation Multi-user display proxy server
JP2009020723A (en) * 2007-07-12 2009-01-29 Casio Comput Co Ltd Server device and program

Also Published As

Publication number Publication date
JP2009015419A (en) 2009-01-22

Similar Documents

Publication Publication Date Title
WO2018050003A1 (en) 3d canvas web page element rendering method and apparatus, and electronic device
KR102307163B1 (en) Cross-platform rendering engine
EP2805258B1 (en) Low resolution placeholder content for document navigation
JP5374873B2 (en) Information processing apparatus, information processing system, computer program, and information processing method
WO2017166210A1 (en) Method for processing application program and mobile device
JP5180691B2 (en) Image processing apparatus, control method therefor, and computer program
MX2007013102A (en) Interface and system for manipulating thumbnails of live windows in a window manager.
US20090241057A1 (en) Server unit, a client unit, and a recording medium in a computer system
JP4946667B2 (en) Server apparatus and program
JP4844275B2 (en) Server apparatus, server-based computing system, and program
CN101326513A (en) Alternative graphics pipe
JP2010175638A (en) Display device and method for display in display device
JP2009020723A (en) Server device and program
JP2006171861A (en) Information processor, printing method, recording medium and program
JP2006018838A (en) Graphic image generation method
US10706824B1 (en) Pooling and tiling data images from memory to draw windows on a display device
JP2008098741A (en) Telop generation apparatus and telop composition method
JP5842804B2 (en) Display terminal device and program
US20170147537A1 (en) Method, apparatus and system for reproducing a document defined in a page description language
JP2004303077A (en) Information processor and page description language generating method, program and storage medium
JP6146440B2 (en) Display terminal device and program
JP2008210113A (en) Server device and program
JP5177034B2 (en) Client device, server-based computing system, and client control program
JP2016195357A (en) Print data processing device and program
JP5673744B2 (en) Electronic book terminal, information processing method, program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100316

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110602

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

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

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

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4946667

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150