Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5544903B2 - Server device and control program thereof - Google Patents
[go: Go Back, main page]

JP5544903B2 - Server device and control program thereof - Google Patents

Server device and control program thereof Download PDF

Info

Publication number
JP5544903B2
JP5544903B2 JP2010017294A JP2010017294A JP5544903B2 JP 5544903 B2 JP5544903 B2 JP 5544903B2 JP 2010017294 A JP2010017294 A JP 2010017294A JP 2010017294 A JP2010017294 A JP 2010017294A JP 5544903 B2 JP5544903 B2 JP 5544903B2
Authority
JP
Japan
Prior art keywords
data
response
server
received
server 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.)
Expired - Fee Related
Application number
JP2010017294A
Other languages
Japanese (ja)
Other versions
JP2011154651A (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 JP2010017294A priority Critical patent/JP5544903B2/en
Publication of JP2011154651A publication Critical patent/JP2011154651A/en
Application granted granted Critical
Publication of JP5544903B2 publication Critical patent/JP5544903B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、サーバ・クライアント・システムにおいて、サーバ装置とクライアント装置との通信経路の途中に介在されるHTTP(Hyper Text Transfer Protocol)トンネルサーバ装置およびその制御プログラムに関する。   The present invention relates to an HTTP (Hyper Text Transfer Protocol) tunnel server device interposed in the middle of a communication path between a server device and a client device in a server / client system, and a control program therefor.

サーバ・クライアント・システムにおいて、サーバ装置とクライアント装置とが直接通信するのではなく、当該サーバ装置とクライアント装置との通信経路の途中に介在したHTTPトンネルサーバ装置を経由して通信する場合がある。   In a server / client system, a server device and a client device may not communicate directly but may communicate via an HTTP tunnel server device interposed in the middle of a communication path between the server device and the client device.

前記HTTPトンネルサーバ装置には、例えばクライアント装置からの任意のTCP(Transmission Control Protocol)データをHTTPポートのサーバ装置へ転送する場合に、プロトコルを変換する機能を持たせたり、あるいはクライアント装置とサーバ装置との間のリクエストとレスポンスを単に通過転送する場合に、通信を記録する機能を持たせたりしている。   The HTTP tunnel server device has a function of converting a protocol when transferring arbitrary TCP (Transmission Control Protocol) data from a client device to a server device of an HTTP port, for example, or the client device and the server device When the request and response between the two are simply passed through and transferred, the communication is recorded.

図4は、従来のHTTPトンネルサーバ装置[Server(HTTP Tunnel)]を使用したサーバ・クライアント・システムにおける動作シーケンスを示す図である。   FIG. 4 is a diagram showing an operation sequence in a server / client system using a conventional HTTP tunnel server [Server (HTTP Tunnel)].

従来のHTTPトンネルサーバ装置[Server(HTTP Tunnel)]では、クライアント装置[Client]から何らかのデータが受信された場合、直ちに当該クライアント装置[Client]へ応答を送信する。   In the conventional HTTP tunnel server apparatus [Server (HTTP Tunnel)], when any data is received from the client apparatus [Client], a response is immediately transmitted to the client apparatus [Client].

すなわち、クライアント装置[Client]から例えばユーザ入力に応じたクライアントデータ[Data(Client)]を受信した場合、当該クライアントデータ[Data(Client)]をサーバ装置[Server(Application)]へ転送するが、その直後、つまり前記クライアントデータ[Data(Client)]に応じてサーバ装置[Server(Application)]により生成されるサーバ応答データ[Data(Server)]が送られて来ない状態で、クライアント装置[Client]へ空の応答データ[Data(NULL)]を送信しなければならない。   That is, for example, when client data [Data (Client)] according to user input is received from the client device [Client], the client data [Data (Client)] is transferred to the server device [Server (Application)]. Immediately after that, that is, in a state where the server response data [Data (Server)] generated by the server apparatus [Server (Application)] is not sent in response to the client data [Data (Client)], the client apparatus [Client Empty response data [Data (NULL)] must be sent to].

このため、クライアント装置[Client]は、前記空データ[Data(NULL)]を受信した後にさらにデータ要求[Request]を前記HTTPトンネルサーバ装置[Server(HTTP Tunnel)]へ送信することにより、その間に前記サーバ装置[Server(Application)]により生成されてHTTPトンネルサーバ装置[Server(HTTP Tunnel)]に受信されたサーバ応答データ[Data(Server)]を、前記データ要求[Request]の応答として受信する。   For this reason, after receiving the empty data [Data (NULL)], the client device [Client] further transmits a data request [Request] to the HTTP tunnel server device [Server (HTTP Tunnel)]. Server response data [Data (Server)] generated by the server device [Server (Application)] and received by the HTTP tunnel server device [Server (HTTP Tunnel)] is received as a response to the data request [Request]. .

従って特に、伝送遅延の大きいネットワーク環境下では、クライアント装置[Client]から送信された実データ[Data(Client)]に応じて、サーバ装置[Server(Application)]により生成されたサーバ応答データ[Data(Server)]が前記クライアント装置[Client]に転送されて受信されるまでの間に無駄な時間[Loss]が多く含まれレスポンス性能が悪い。   Therefore, particularly in a network environment with a large transmission delay, the server response data [Data (Client)] generated by the server device [Server (Application)] according to the actual data [Data (Client)] transmitted from the client device [Client]. (Server)] is transferred to the client device [Client] and received, and a lot of wasted time [Loss] is included, resulting in poor response performance.

そこで、クライアント装置からの何らかのデータを受信した場合、その応答データを直ちにクライアント装置へは返さずに待機し、前記サーバ装置により生成されたサーバ応答データが受信されると、直ちに同サーバ応答データをクライアント装置へ転送するHTTPトンネリングサーバが考えられている(例えば、特許文献1参照。)。   Therefore, when any data is received from the client device, the response data is not immediately returned to the client device, but waits. When the server response data generated by the server device is received, the server response data is immediately An HTTP tunneling server for transferring to a client device is considered (for example, see Patent Document 1).

これによれば、HTTPトンネリングサーバでは、サーバ装置により生成されたサーバ応答データ[Data(Server)]が受信された際には、クライアント装置からの次のデータ要求[Request]の受信を待つことなしに直ちに同サーバ応答データ[Data(Server)]をクライアント装置へ転送できる。   According to this, when the server response data [Data (Server)] generated by the server device is received, the HTTP tunneling server does not wait for reception of the next data request [Request] from the client device. The server response data [Data (Server)] can be transferred to the client device immediately.

特開2004−151964号公報JP 2004-151964 A

前記従来のHTTPトンネリングサーバによれば、クライアント装置からのユーザ入力等による実データ[Data(Client)]に応じてサーバ装置により生成されるサーバ応答データ[Data(Server)]を当該クライアント装置へ転送する必要がある場合に、無駄な時間[Loss]が発生せずレスポンス性能を向上できる。   According to the conventional HTTP tunneling server, server response data [Data (Server)] generated by the server device in response to actual data [Data (Client)] by user input from the client device is transferred to the client device. When it is necessary to do so, response time can be improved without generating wasted time [Loss].

しかしながら、前記従来のHTTPトンネリングサーバでは、クライアント装置からのユーザ入力等による実データ[Data(Client)]が受信された場合に限らず、例えば単なるポーリングであるデータ要求[Request]が受信された場合にも、その応答データを返さずに待機処理へ移行する。   However, the conventional HTTP tunneling server is not limited to the case where the actual data [Data (Client)] is received by the user input from the client device, but the case where, for example, the data request [Request] that is merely polling is received. In addition, the process shifts to a standby process without returning the response data.

このため、クライアント装置としては、単なるポーリングであるデータ要求[Request]を送信しただけであるにも関わらず、サーバ装置から動画更新等のための何らかのサーバデータ[Data(Server)]が送信されてHTTPトンネリングサーバにおける待機処理が解除され、当該サーバデータ[Data(Server)]が受信されるまでは、次のポーリングやユーザ入力等に応じたデータを送信することができなくなる。   For this reason, as a client device, some server data [Data (Server)] for moving image update or the like is transmitted from the server device even though the data request [Request] that is merely polling is transmitted. Until the standby processing in the HTTP tunneling server is canceled and the server data [Data (Server)] is received, data corresponding to the next polling or user input cannot be transmitted.

よって、クライアント装置から送信された実データに応じて、サーバ装置により速やか且つ正常にサーバ応答データが生成されて送信される場合以外は、前記HTTPトンネリングサーバにおける待機処理が、クライアント・サーバ間のレスポンス効率を逆に悪化させてしまう問題がある。   Therefore, unless the server response data is generated and transmitted promptly and normally by the server device in accordance with the actual data transmitted from the client device, the standby processing in the HTTP tunneling server is the response between the client and the server. There is a problem that the efficiency is worsened.

本発明は、このような課題に鑑みなされたもので、レスポンス性能を大幅に向上することが可能になるサーバ装置およびその制御プログラムを提供することを目的とする。 The present invention has been made in view of such problems, and an object thereof is to provide a can in such Rusa over server apparatus and a control program to be significantly improved les Suponsu performance.

請求項1に記載のサーバ装置は、他のサーバ装置の応答時間を取得する応答時間取得手段と、この応答時間取得手段により取得された他のサーバ装置の応答時間に基づき、当該他のサーバ装置からの応答を待機する待機時間を設定する待機時間設定手段と、クライアント装置からデータを受信した際に、受信したデータが実データである場合は、当該実データを他のサーバ装置へ送信した後に、前記待機時間設定手段により設定された待機時間内に前記他のサーバ装置からサーバ応答データが受信されたか否かを判断する応答受信判断手段と、前記応答受信判断手段による待機時間外に前記他のサーバ装置から実データを受信した場合に、受信した実データを記憶するサーバ実データ記憶手段と、前記応答受信判断手段により前記待機時間内に前記他のサーバ装置からサーバ応答データが受信されたと判断された場合は、当該サーバ応答データを前記クライアント装置へ送信する待機内応答データ送信手段と、前記応答受信判断手段により前記待機時間内に前記他のサーバ装置からサーバ応答データが受信されないと判断された場合は、実データを含まない応答データを前記クライアント装置へ送信する待機後応答データ送信手段と、前記クライアント装置から受信したデータが実データを含まないデータ要求情報である場合において、前記サーバ実データ記憶手段により前記他のサーバ装置から受信された実データが記憶されている場合は、当該記憶されている実データを応答データとして直ちにクライアント装置へ送信し、前記サーバ実データ記憶手段により前記他のサーバ装置から受信された実データが記憶されてない場合は、実データを含まない応答データを直ちにクライアント装置へ送信する要求応答データ送信手段と、を備えたことを特徴としている。 The servers apparatus according to claim 1, based on the response time of the response time acquisition means for acquiring a response time of the other server devices, another server device obtained by the response time acquisition unit, of the other Wait time setting means for setting a wait time for waiting for a response from the server device, and when the received data is real data when the data is received from the client device, the real data is transmitted to another server device After that, a response reception determination unit that determines whether or not server response data is received from the other server device within the standby time set by the standby time setting unit, and a time outside the standby time by the response reception determination unit when receiving actual data from said other server apparatus, the server the actual data storage means for storing the actual data received, within the waiting time by the response reception determination means When said other server device the server response data is determined to have been received, the the server response data and waits a response data transmission means for transmitting to the client device, in the waiting time by the response reception determination means When it is determined that server response data is not received from another server device, response data transmission means after waiting for transmitting response data not including actual data to the client device, and data received from the client device are real data If the actual data received from the other server device is stored by the server actual data storage means, the stored actual data is immediately used as response data for the client. To the other server device by the server actual data storage means. Actual data was received if it is not stored, and the request response data transmitting means for transmitting the response data does not include the actual data immediately to the client apparatus, comprising the from.

請求項4は、クライアント装置からの要求に対して応答するサーバ装置であって、前記クライアント装置からの要求が入力イベントを含む要求種別か否かを判別する第1判別手段と、前記第1判別手段で前記入力イベントを含む要求種別であると判別された場合は、他のサーバ装置に対して前記要求を送信し、その要求後の応答を待機する待機時間外に当該要求に対応して生成された生成実データを当該他のサーバ装置から信した場合に、受信した生成実データを記憶手段に記憶制御する記憶制御手段と、前記クライアント装置からの要求があった際に、前記記憶手段に前記生成実データが記憶されているか否かを判別する第2判別手段と、前記第2判別手段で前記生成実データが記憶されていると判別された場合は、当該生成実データを応答データとして前記クライアント装置へ送信し、一方、前記第2判別手段で前記生成実データが記憶されていないと判別され、前記第1判別手段で前記入力イベントを含まない要求種別であると判別された場合は、データ生成が無いことを示す応答データを前記クライアント装置へ送信する要求応答信手段と、を備えたことを特徴としている。 According to a fourth aspect of the present invention, there is provided a server device that responds to a request from a client device, wherein the first determination unit determines whether the request from the client device is a request type including an input event, and the first determination. If it is determined that the request type includes the input event, the request is transmitted to another server device and generated in response to the request outside the waiting time for waiting for a response after the request. when it receives the generated actual data from the other server device which is a storage control unit for storing control received generated real data in the storage means, when there is a request from the client device, the storage means a second discriminating means for the generation actual data it is determined whether or not stored in the case where the generated actual data is judged as being stored in the second discriminating means, the generation real data Transmitted as answer data to the client device, whereas, the said generating real data in the second determining means is determined not to be stored, it is determined that the it is in the do not contain an input event request type first determining means If the is characterized by comprising a request response transmit means for transmitting the response data indicating that the data generated is not to the client device.

本発明によれば、レスポンス性能を大幅に向上することが可能になるサーバ装置およびその制御プログラムを提供できる。 The present invention can provide a can in such Rusa over server apparatus and a control program to be significantly improved les Suponsu performance.

本発明の実施形態に係るHTTPトンネルサーバ装置10を使用したサーバ・クライアント(Thin Client)・システムの構成を示すブロック図。1 is a block diagram showing a configuration of a server / client (Thin Client) system using an HTTP tunnel server device 10 according to an embodiment of the present invention. 前記サーバ・クライアント(Thin Client)・システムにおけるクライアント装置30でのクライアント処理とHTTPトンネルサーバ装置10でのトンネルサーバ処理とを関係付けて示すフローチャート。6 is a flowchart showing the client process in the client apparatus 30 and the tunnel server process in the HTTP tunnel server apparatus 10 in the server-client (Thin Client) system in association with each other. 前記HTTPトンネルサーバ装置10を使用したサーバ・クライアント・システムにおける動作シーケンスの一部を示す図。FIG. 3 is a diagram showing a part of an operation sequence in a server / client system using the HTTP tunnel server device 10; 従来のHTTPトンネルサーバ装置[Server(HTTP Tunnel)]を使用したサーバ・クライアント・システムにおける動作シーケンスを示す図。The figure which shows the operation | movement sequence in the server client system using the conventional HTTP tunnel server apparatus [Server (HTTP Tunnel)].

以下図面により本発明の実施の形態について説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明の実施形態に係るHTTPトンネルサーバ装置10を使用したサーバ・クライアント(Thin Client)・システムの構成を示すブロック図である。   FIG. 1 is a block diagram showing a configuration of a server client system using an HTTP tunnel server device 10 according to an embodiment of the present invention.

このサーバ・クライアント・システム(Server Based Computing System)は、サーバ装置20からHTTPトンネルサーバ装置10を介在して、無線または有線の通信ネットワークN上にある複数のクライアント装置(Thin Client)30…が接続されて構成される。   In this server-based computing system, a plurality of client devices (Thin Clients) 30 on a wireless or wired communication network N are connected from the server device 20 via the HTTP tunnel server device 10. Configured.

先ず、前記クライアント装置(Thin Client)30は、携帯電話等の端末装置からなり、制御部(コンピュータ)であるCPU(Central Processing Unit)31を備えている。   First, the client device (Thin Client) 30 includes a terminal device such as a mobile phone, and includes a CPU (Central Processing Unit) 31 that is a control unit (computer).

このCPU31には、バス32を介して、フラッシュROMやRAMからなる記憶部33、キーボードなどの入力部34、LCD(Liquid Crystal Display)からなる表示部35、通信制御部36などが接続される。   The CPU 31 is connected to a storage unit 33 made up of a flash ROM and RAM, an input unit 34 such as a keyboard, a display unit 35 made up of an LCD (Liquid Crystal Display), a communication control unit 36, and the like via a bus 32.

CPU31は、記憶部33に予め記憶された端末制御プログラムに従い、入力部34により入力された信号、あるいは通信制御部36を介して前記HTTPトンネルサーバ装置10から受信された信号に応じて各部の動作を制御する。   The CPU 31 operates according to a terminal control program stored in advance in the storage unit 33 according to a signal input from the input unit 34 or a signal received from the HTTP tunnel server device 10 via the communication control unit 36. To control.

記憶部33には、送信バッファ33a、受信バッファ33b、フレームバッファ33cなどが確保される。   In the storage unit 33, a transmission buffer 33a, a reception buffer 33b, a frame buffer 33c, and the like are secured.

送信バッファ33aには、入力部34のユーザ操作に応じて入力されたキー入力データなどが一時記憶され、この送信バッファ33aに記憶されたデータが前記通信制御部36からHTTPトンネルサーバ装置10へ送信される。   In the transmission buffer 33a, key input data or the like input in response to a user operation of the input unit 34 is temporarily stored, and the data stored in the transmission buffer 33a is transmitted from the communication control unit 36 to the HTTP tunnel server device 10. Is done.

受信バッファ33bには、通信制御部36を介して前記HTTPトンネルサーバ装置10から受信された表示用の画面データなどが記憶される。   The reception buffer 33b stores display screen data received from the HTTP tunnel server device 10 via the communication control unit 36.

フレームバッファ33cには、前記受信バッファ33bに表示用の画面データが記憶された場合に、当該画面データがビットマップデータに展開されて記憶され、このフレームバッファ33cに記憶された画面データが前記表示部35に出力されて表示される。   In the frame buffer 33c, when screen data for display is stored in the reception buffer 33b, the screen data is expanded and stored as bitmap data, and the screen data stored in the frame buffer 33c is stored in the display. The data is output to the unit 35 and displayed.

次に、前記HTTPトンネルサーバ装置10は、制御部(コンピュータ)であるCPU11を備えている。   Next, the HTTP tunnel server device 10 includes a CPU 11 which is a control unit (computer).

このCPU31には、バス12を介して、HDD(Hard Disk Drive)やフラッシュROM,RAMからなる記憶部13、キーボードなどの入力部14、LCD(Liquid Crystal Display)からなる表示部15、通信制御部16、CD−ROMやメモリカードなどの外部記憶媒体17に記憶された種々のデータを読み込む記憶媒体読み込み部18などが接続される。   The CPU 31 includes a storage unit 13 including an HDD (Hard Disk Drive), a flash ROM, and a RAM, an input unit 14 such as a keyboard, a display unit 15 including an LCD (Liquid Crystal Display), and a communication control unit. 16, a storage medium reading unit 18 for reading various data stored in an external storage medium 17 such as a CD-ROM or a memory card is connected.

CPU11は、記憶部13に予め記憶されたトンネルサーバ制御プログラム、あるいは外部記憶媒体17から読み込まれたトンネルサーバ制御プログラム、あるいは通信ネットワークN上の他のサーバ装置(プログラムサーバ)から通信制御部16を介してダウンロードされたトンネルサーバ制御プログラムに従い、通信制御部16を介して前記クライアント装置30やサーバ装置20から受信された信号、あるいは入力部14により入力された信号に応じて各部の動作を制御する。   The CPU 11 sends the communication control unit 16 from a tunnel server control program stored in advance in the storage unit 13, a tunnel server control program read from the external storage medium 17, or another server device (program server) on the communication network N. In accordance with the tunnel server control program downloaded through the communication control unit 16, the operation of each unit is controlled in accordance with a signal received from the client device 30 or the server device 20 through the communication control unit 16 or a signal input from the input unit 14. .

記憶部13には、受信バッファ13a、送信バッファ13b、実Wait時間[αn]メモリ13c、総累積Wait時間[Σαi:i=1〜n]メモリ13d、所定回累積Wait時間[Σαi:i=n-9〜n]メモリ13e、マージン係数[β]メモリ13f、第1最大Wait時間[(Σαi/n)×β:i=1〜n]メモリ13g、第2最大Wait時間[(Σαi/10)×β:i=n-9〜n]メモリ13hなどが確保される。   The storage unit 13 includes a reception buffer 13a, a transmission buffer 13b, an actual wait time [αn] memory 13c, a total accumulated wait time [Σαi: i = 1 to n] memory 13d, a predetermined number of accumulated wait times [Σαi: i = n -9 to n] memory 13e, margin coefficient [β] memory 13f, first maximum wait time [(Σαi / n) × β: i = 1 to n] memory 13g, second maximum wait time [(Σαi / 10) × β: i = n−9 to n] The memory 13h and the like are secured.

受信バッファ13aには、前記クライアント装置30から通信制御部16に受信されたユーザ操作に応じた入力データや単なるポーリングなどのデータ要求が記憶され、この受信バッファ13aに記憶された実データは、前記サーバ装置20へ送信される。   The reception buffer 13a stores input data according to user operations received from the client device 30 to the communication control unit 16 and data requests such as simple polling. The actual data stored in the reception buffer 13a is stored in the reception buffer 13a. It is transmitted to the server device 20.

送信バッファ13bには、前記サーバ装置20から通信制御部16に受信されたサーバ応答データや画面更新データなどが一時記憶され、この送信バッファ13bに記憶された実データは、前記通信制御部36からクライアント装置30へ送信される。   In the transmission buffer 13b, server response data and screen update data received from the server device 20 to the communication control unit 16 are temporarily stored. The actual data stored in the transmission buffer 13b is transmitted from the communication control unit 36. It is transmitted to the client device 30.

実Wait時間[αn]メモリ13cには、前記受信バッファ13aに記憶されたクライアント装置30からの実データをサーバ装置20へ送信してから当該サーバ装置20のアプリケーションプログラム21に従い生成された表示用画面データなどのサーバ応答データが実際に受信されるまでの応答時間が、実Wait時間[αn]として記憶される。   In the actual wait time [αn] memory 13 c, a display screen generated according to the application program 21 of the server device 20 after transmitting the actual data from the client device 30 stored in the reception buffer 13 a to the server device 20. The response time until server response data such as data is actually received is stored as the actual wait time [αn].

総累積Wait時間[Σαi:i=1〜n]メモリ13dには、前記クライアント装置30とサーバ装置20との接続が確立されてから現在までの前記サーバ応答データの受信に伴う前記実Wait時間[αn]の合計が、総累積Wait時間[Σαi:i=1〜n]として記憶される。   In the total accumulated wait time [Σαi: i = 1 to n] memory 13d, the actual wait time associated with the reception of the server response data from when the connection between the client device 30 and the server device 20 is established to the present [ The sum of [alpha] n] is stored as the total accumulated wait time [[Sigma] [alpha] i: i = 1 to n].

所定回累積Wait時間[Σαi:i=n-9〜n]メモリ13eには、前記サーバ応答データの受信に伴う前記実Wait時間[αn]の直近10回分の合計が、所定回累積Wait時間[Σαi:i=n-9〜n]として記憶される。   The predetermined total accumulated wait time [Σαi: i = n−9 to n] memory 13e includes the total of the last ten actual wait times [αn] associated with the reception of the server response data. It is stored as Σαi: i = n-9 to n].

マージン係数[β]メモリ13fには、前記受信バッファ13aに記憶されたクライアント装置30からの実データをサーバ装置20へ送信した際に、当該実データに応じたサーバ応答データがサーバ装置20により生成されて受信されるまで前記クライアント装置30への応答をせずに待機するための最大Wait時間を設定するにあたり、サーバ応答時間の変動に応じた許容値を含ませるためのマージン係数[β1][β2]が記憶される。   In the margin coefficient [β] memory 13f, when actual data from the client device 30 stored in the reception buffer 13a is transmitted to the server device 20, server response data corresponding to the actual data is generated by the server device 20. In setting the maximum wait time for waiting without receiving a response to the client device 30 until it is received, the margin coefficient [β1] [for including an allowable value according to the fluctuation of the server response time β2] is stored.

このマージン係数[β1]は、サーバ装置20からの応答の遅延変動が少ない場合の前記最大Wait時間を設定するのに使用され、例えば[β1=1.2]とする。   The margin coefficient [β1] is used to set the maximum wait time when the delay variation of the response from the server device 20 is small. For example, [β1 = 1.2] is used.

また、マージン係数[β2]は、サーバ装置20からの応答の遅延変動が大きい場合の前記最大Wait時間を設定するのに使用され、例えば[β2=1.5]とする。   The margin coefficient [β2] is used to set the maximum wait time when the delay variation of the response from the server device 20 is large, and is set to [β2 = 1.5], for example.

第1最大Wait時間[(Σαi/n)×β1:i=1〜n]メモリ13gには、サーバ装置20からの応答の遅延変動が少ない場合において、前記クライアント装置30への応答をせずに待機するための第1最大Wait時間[(Σαi/n)×β1:i=1〜n]が、前記総累積Wait時間[Σαi:i=1〜n]メモリ13dに記憶された総累積Wait時間[Σαi:i=1〜n]、前記サーバ装置20からサーバ応答データが受信された回数[n]、前記マージン係数[β]メモリ13eに記憶されたマージン係数[β1]に基づき計算され記憶される。   The first maximum wait time [(Σαi / n) × β1: i = 1 to n] memory 13g does not respond to the client device 30 when the delay variation of the response from the server device 20 is small. The first maximum wait time [(Σαi / n) × β1: i = 1 to n] for waiting is the total accumulated wait time stored in the total accumulated wait time [Σαi: i = 1 to n] memory 13d. [Σαi: i = 1 to n], the number of times server response data is received from the server device 20 [n], and the margin coefficient [β] calculated based on the margin coefficient [β1] stored in the memory 13e. The

第2最大Wait時間[(Σαi/n)×β2:i=n-9〜n]メモリ13hには、サーバ装置20からの応答の遅延変動が少ない場合において、前記クライアント装置30への応答をせずに待機するための第2最大Wait時間[(Σαi/10)×β2:i=n-9〜n]が、前記所定回累積Wait時間[Σαi:i=n-9〜n]メモリ13eに記憶された所定回累積Wait時間[Σαi:i=n-9〜n]、前記マージン係数[β]メモリ13eに記憶されたマージン係数[β2]に基づき計算され記憶される。   In the second maximum wait time [(Σαi / n) × β2: i = n−9 to n] memory 13h, the response to the client device 30 is sent when the delay variation of the response from the server device 20 is small. The second maximum wait time [(Σαi / 10) × β2: i = n−9 to n] for waiting without waiting is stored in the predetermined accumulated cumulative wait time [Σαi: i = n−9 to n] memory 13e. It is calculated and stored based on the stored predetermined wait time [Σαi: i = n−9 to n] and the margin coefficient [β] stored in the memory 13e.

サーバ装置20内部のブロック構成は、前記HTTPトンネルサーバ装置10のブロック構成と略同様であるが、記憶部に記憶される各種のバッファやメモリの構成は異なる。このサーバ装置20の記憶部には、予め記憶されるサーバ制御プログラム以外に、前記クライアント装置30からのユーザ入力などに伴う実データに応じて起動・実行される種々のアプリケーションプログラム21が記憶される。   The block configuration inside the server device 20 is substantially the same as the block configuration of the HTTP tunnel server device 10, but the configurations of various buffers and memories stored in the storage unit are different. In addition to the server control program stored in advance, the server device 20 stores various application programs 21 that are activated and executed in accordance with actual data associated with user input from the client device 30. .

なお、前記HTTPトンネルサーバ装置10は、前記サーバ装置20と一体に構成してもよい。   The HTTP tunnel server device 10 may be integrated with the server device 20.

すなわち、このサーバ・クライアント・システム(SBCシステム)のクライアント装置(Thin Client)30は、入力部34のユーザ操作に応じた入力イベントデータをサーバ装置20へ送信する機能、当該送信した入力イベントデータに応じてサーバ装置20により実行されるアプリケーションプログラム21に従い生成された表示用の画面データをサーバ応答データとして受信する機能、当該受信した表示用の画面データを表示部34に表示させる機能、サーバ装置20でのアプリケーションプログラム21の実行に伴い自動更新された表示用の画面データを定期的にポーリングして受信するためのデータ要求を送信する機能を基本機能として有する。   That is, a client device (Thin Client) 30 of this server client system (SBC system) has a function of transmitting input event data according to a user operation of the input unit 34 to the server device 20, and the transmitted input event data In response, a function of receiving display screen data generated according to the application program 21 executed by the server device 20 as server response data, a function of displaying the received display screen data on the display unit 34, and the server device 20 The basic function is to transmit a data request for periodically polling and receiving screen data for display that has been automatically updated as the application program 21 is executed.

また、サーバ装置20は、クライアント装置30から送信された入力イベントデータに応じたアプリケーションプログラム21を実行し、当該プログラムの実行内容に対応した表示用の画面データを生成する機能、生成された表示用の画面データをサーバ応答データとしてクライアント装置30へ送信する機能、前記プログラムの実行内容に対応してその表示用の画面データが自動更新された場合に、更新された表示用の画面データを随時送信する機能を基本機能として有する。   In addition, the server device 20 executes the application program 21 corresponding to the input event data transmitted from the client device 30, and generates a screen data for display corresponding to the execution content of the program. A function for transmitting the screen data of the above to the client device 30 as server response data, and when the screen data for display is automatically updated in accordance with the execution contents of the program, the updated screen data for display is transmitted at any time Function as a basic function.

そして、HTTPトンネルサーバ装置10は、以下の基本機能(a)〜(f)を有する。   The HTTP tunnel server device 10 has the following basic functions (a) to (f).

(a)クライアント装置30からサーバ装置20宛の入力イベントデータが受信された際に、サーバ装置20からクライアント装置30宛の表示用の画面データが受信され保存されている場合には、当該画面データをクライアント装置30へ直ちに送信(転送)し、前記受信された入力イベントデータをサーバ装置20へ送信(転送)し、待機時間(第1or第2最大Wait時間)を設定して前記サーバ装置30からの前記入力イベントデータに応じた表示用画面データの受信を待機する機能。 (a) When display event data addressed to the client device 30 is received from the server device 20 and stored when input event data addressed to the server device 20 is received from the client device 30, the screen data Is immediately transmitted (transferred) to the client device 30, the received input event data is transmitted (transferred) to the server device 20, and a standby time (first or second maximum wait time) is set from the server device 30. A function of waiting for reception of display screen data corresponding to the input event data.

(b)待機時間(第1or第2最大Wait時間)中にサーバ装置20から前記入力イベントデータに応じた表示用画面データが受信された場合には、当該画面データをクライアント装置30へ送信(転送)する機能。 (b) When display screen data corresponding to the input event data is received from the server device 20 during the standby time (first or second maximum wait time), the screen data is transmitted (transferred) to the client device 30. ) Function to do.

(c)待機時間(第1or第2最大Wait時間)中にサーバ装置20から前記入力イベントデータに応じた表示用画面データが受信されない場合には、空の応答データをクライアント装置30へ送信する機能。 (c) A function of transmitting empty response data to the client device 30 when display screen data corresponding to the input event data is not received from the server device 20 during the standby time (first or second maximum wait time). .

(d)クライアント装置30からサーバ装置20宛の入力イベントデータが受信された際に、サーバ装置20からクライアント装置30宛のデータが受信されてない場合には、前記受信された入力イベントデータをサーバ装置20へ送信(転送)し、待機時間(第1or第2最大Wait時間)を設定して前記サーバ装置30からの前記入力イベントデータに応じた表示用画面データの受信を待機する機能。 (d) When the input event data addressed to the server device 20 is received from the client device 30, if the data addressed to the client device 30 is not received from the server device 20, the received input event data is stored in the server A function of transmitting (transferring) to the device 20 and setting a standby time (first or second maximum wait time) and waiting for reception of display screen data corresponding to the input event data from the server device 30.

(e)クライアント装置30からサーバ装置20宛のデータ要求が受信された際に、サーバ装置20からクライアント装置30宛の表示用の画面データが受信され保存されている場合には、当該画面データを直ちにクライアント装置30へ送信(転送)する機能。 (e) When a screen request for display addressed to the client device 30 is received from the server device 20 and saved when a data request addressed to the server device 20 is received from the client device 30, the screen data is A function of transmitting (transferring) to the client device 30 immediately.

(f)クライアント装置30からサーバ装置20宛のデータ要求が受信された際に、サーバ装置20からクライアント装置30宛の表示用の画面データが受信されてない場合には、空の応答データを直ちにクライアント装置30へ送信する機能。 (f) When a data request addressed to the server device 20 is received from the client device 30 and no display screen data addressed to the client device 30 is received from the server device 20, empty response data is immediately displayed. A function to transmit to the client device 30.

次に、前記構成のHTTPトンネルサーバ装置10を使用したサーバ・クライアント(Thin Client)・システムの動作について説明する。   Next, the operation of the server / client (Thin Client) system using the HTTP tunnel server 10 having the above-described configuration will be described.

図2は、前記サーバ・クライアント(Thin Client)・システムにおけるクライアント装置30でのクライアント処理とHTTPトンネルサーバ装置10でのトンネルサーバ処理とを関係付けて示すフローチャートである。   FIG. 2 is a flowchart showing the client processing in the client device 30 and the tunnel server processing in the HTTP tunnel server device 10 in the server client system.

図3は、前記HTTPトンネルサーバ装置10を使用したサーバ・クライアント・システムにおける動作シーケンスの一部を示す図である。   FIG. 3 is a diagram showing a part of an operation sequence in the server / client system using the HTTP tunnel server device 10.

クライアント装置30とサーバ装置20との接続が確立された状態で、クライアント装置30において、入力部34がユーザにより操作されると(ステップA1(Yes))、当該ユーザ操作に伴うキーやマウスからの入力イベントデータが送信バッファ33aに保存される(ステップA2)。   When the input unit 34 is operated by the user in the client device 30 in a state where the connection between the client device 30 and the server device 20 is established (step A1 (Yes)), the key or mouse associated with the user operation is used. Input event data is stored in the transmission buffer 33a (step A2).

そして、前記送信バッファ33aに入力イベントデータ(送信データ)が保存されたと判断されると(ステップA3(Yes))、当該入力イベントデータ[Data(Client)]が通信制御部36を介してHTTPトンネルサーバ装置10を前段にしたサーバ装置20宛てに送信され(ステップA4)、当該サーバ装置10からのデータ受信待機状態になる(ステップA6)。   When it is determined that the input event data (transmission data) is stored in the transmission buffer 33a (step A3 (Yes)), the input event data [Data (Client)] is transferred to the HTTP tunnel via the communication control unit 36. The server apparatus 10 is transmitted to the server apparatus 20 at the preceding stage (step A4), and the data reception standby state from the server apparatus 10 is entered (step A6).

HTTPトンネルサーバ装置10では、先ず、サーバ装置20またはクライアント装置30からのデータ受信待機状態になり(ステップB1)、サーバ装置20からのデータ受信があるか否か判断される(ステップB2)。   First, the HTTP tunnel server device 10 enters a data reception standby state from the server device 20 or the client device 30 (step B1), and determines whether there is data reception from the server device 20 (step B2).

ここで、サーバ装置20からのデータ受信がないと判断されると(ステップB2(No))、前記クライアント装置30からのデータ受信があるか否か判断される(ステップB4)。   If it is determined that there is no data reception from the server device 20 (step B2 (No)), it is determined whether there is data reception from the client device 30 (step B4).

ここで、前記クライアント装置30からユーザ操作に応じて送信された入力イベントデータ[Data(Client)]が受信されたと判断されると、当該入力イベントデータは受信バッファ13aに記憶される(ステップB4(Yes))。   If it is determined that the input event data [Data (Client)] transmitted from the client device 30 in response to the user operation is received, the input event data is stored in the reception buffer 13a (step B4 ( Yes)).

すると、送信バッファ13bにおいて、サーバ装置20からの受信データが記憶されているか否か判断される(ステップB5)。   Then, it is determined whether or not reception data from the server device 20 is stored in the transmission buffer 13b (step B5).

ここで、前記送信バッファ13bには、サーバ装置20からの受信データが記憶されてないと判断されると(ステップB5(No))、前記受信バッファ13aに前記クライアント装置30からの入力イベントデータ(実データ)[Data(Client)]が記憶されているか否か判断される(ステップB6)。   Here, if it is determined that the reception data from the server device 20 is not stored in the transmission buffer 13b (step B5 (No)), the input event data (from the client device 30) ( It is determined whether or not (real data) [Data (Client)] is stored (step B6).

そして、前記受信バッファ13aには、前記クライアント装置30からの入力イベントデータ(実データ)が記憶されていると判断されると(ステップB6(Yes))、当該入力イベントデータ[Data(Client)]がクライアント装置20へ送信(転送)される(ステップB7)。   When it is determined that input event data (actual data) from the client device 30 is stored in the reception buffer 13a (step B6 (Yes)), the input event data [Data (Client)] Is transmitted (transferred) to the client device 20 (step B7).

すると、前記クライアント装置30からの入力イベントデータに応じてサーバ装置20により生成される表示用画面データ(応答データ)の受信を待機するための最大Wait時間(初期値:例えば1000ms)が設定され、この最大Wait時間の10分の1時間毎に前記サーバ装置20からの応答データが受信されたか否か判断される(ステップB8〜B10(No)→B8)。   Then, a maximum wait time (initial value: for example, 1000 ms) for waiting for reception of display screen data (response data) generated by the server device 20 according to the input event data from the client device 30 is set. It is determined whether or not response data from the server device 20 is received every 1/10 hour of the maximum wait time (steps B8 to B10 (No) → B8).

この最大Wait時間を設定したサーバ装置20からのデータ受信待機状態[Wait]において、前記クライアント装置30からの入力イベントデータに応じてサーバ装置20のアプリケーションプログラム21により生成された表示用の画面データ[Data(Server)]が当該サーバ装置20から受信され送信バッファ13bに記憶されたと判断されると(ステップB9(Yes))、前記ステップB7においてサーバ装置20へ入力イベントデータを送信してから今回の表示用画面データが受信されるまでの実Wait時間[αn](実応答時間)が取得され、実Wait時間メモリ13cに記憶される(ステップB11)。   In the data reception waiting state [Wait] from the server device 20 in which the maximum wait time is set, the display screen data generated by the application program 21 of the server device 20 in accordance with the input event data from the client device 30 [ Data (Server)] is received from the server device 20 and stored in the transmission buffer 13b (step B9 (Yes)), the input event data is transmitted to the server device 20 in step B7, and the current data is stored. The actual wait time [αn] (actual response time) until the display screen data is received is acquired and stored in the actual wait time memory 13c (step B11).

すると、前記実Wait時間メモリ13cに記憶された今回の実Wait時間[αn]が、総累積Wait時間メモリ13dに記憶された今回までの総累積Wait時間[Σαi:i=1〜n]をその回数nで除算した平均Wait時間[Σαi/n:i=1〜n]以上か否か判断される(ステップB12)。   Then, the current actual wait time [αn] stored in the actual wait time memory 13c is the total accumulated wait time [Σαi: i = 1 to n] stored in the total accumulated wait time memory 13d. It is determined whether or not the average wait time divided by the number of times n [Σαi / n: i = 1 to n] or longer (step B12).

ここで、今回の実Wait時間[αn]が、平均Wait時間[Σαi/n:i=1〜n](初回は最大Wait時間1000ms)未満であると判断された場合は(ステップB12(No))、前記ステップB8での次回待機用として第1最大Wait時間[(Σαi/n)×β1:i=1〜n]が計算され、第1最大Wait時間メモリ13gに記憶される(ステップB13)。   Here, when it is determined that the actual wait time [αn] of this time is less than the average wait time [Σαi / n: i = 1 to n] (first time is the maximum wait time 1000 ms) (step B12 (No)) ), The first maximum wait time [(Σαi / n) × β1: i = 1 to n] is calculated for the next standby in step B8 and stored in the first maximum wait time memory 13g (step B13). .

また、前記最大Wait時間を設定した2回目以降のサーバ装置20からのデータ受信待機状態において(ステップB8〜B10(No)→B8)、サーバ装置20から前記入力イベントデータに応じた表示用の画面データが受信された際に(ステップB9(Yes))、今回の実Wait時間[αn]が、平均Wait時間[Σαi/n:i=1〜n]以上であると判断された場合は(ステップB12(Yes))、前記ステップB8での次回待機用として第2最大Wait時間[(Σαi/10)×β2:i=n-9〜n]が計算され、第2最大Wait時間メモリ13hに記憶される(ステップB14)。   Further, in a data reception standby state from the server device 20 for the second and subsequent times when the maximum wait time is set (steps B8 to B10 (No) → B8), a display screen corresponding to the input event data from the server device 20 When it is determined that the actual wait time [αn] is equal to or longer than the average wait time [Σαi / n: i = 1 to n] when data is received (step B9 (Yes)) (step B9) B12 (Yes)), the second maximum wait time [(Σαi / 10) × β2: i = n−9 to n] is calculated and stored in the second maximum wait time memory 13h for the next standby in step B8. (Step B14).

そして、前記サーバ装置20から受信されて送信バッファ13bに記憶された表示用の画面データ[Data(Server)]がサーバ応答データとして前記クライアント装置30へ送信(転送)される(ステップB15)。   Then, the display screen data [Data (Server)] received from the server device 20 and stored in the transmission buffer 13b is transmitted (transferred) to the client device 30 as server response data (step B15).

クライアント装置30において、前記HTTPトンネルサーバ装置10により転送された表示用の画面データ[Data(Server)]が受信され、受信バッファ33bに記憶されると(ステップA6,A7(Yes))、当該画面データはフレームバッファ33cに描画され、表示部35に表示される(ステップA8)。   When the client screen 30 receives the display screen data [Data (Server)] transferred by the HTTP tunnel server 10 and stores it in the reception buffer 33b (steps A6 and A7 (Yes)), the screen The data is drawn in the frame buffer 33c and displayed on the display unit 35 (step A8).

これにより、クライアント装置30のユーザ操作に伴う入力イベントデータ[Data(Client)]に応じて、サーバ装置20により実行されるアプリケーションプログラム21に従い生成された表示用の画面データ[Data(Server)]が、同クライアント装置30に受信されて表示される。   Thereby, the display screen data [Data (Server)] generated according to the application program 21 executed by the server device 20 in accordance with the input event data [Data (Client)] accompanying the user operation of the client device 30 is displayed. The client device 30 receives and displays it.

一方、前記HTTPトンネルサーバ装置10における最大Wait時間を設定したサーバ装置20からのデータ受信待機状態において(ステップB8〜B10(No)→B8)、当該サーバ装置20からの表示用の画面データが受信されることなく(ステップB9(No))、前記最大Wait時間を経過したと判断されると(ステップB10(Yes))、クライアント装置20へ空の応答データが送信される(ステップB16)。   On the other hand, in the data reception standby state from the server device 20 in which the maximum wait time is set in the HTTP tunnel server device 10 (steps B8 to B10 (No) → B8), display screen data from the server device 20 is received. If it is determined that the maximum wait time has elapsed (step B10 (Yes)) without being performed (step B9 (No)), empty response data is transmitted to the client device 20 (step B16).

クライアント装置30において、前記HTTPトンネルサーバ装置10により送信された空の応答データが受信されると(ステップA6,A7(No))、次のユーザ操作に応じた入力イベントデータの送信待機状態(ステップA1)、または定期的なポーリングとしてのデータ要求の送信処理に移行される(ステップA1(No)→A3(No)→A5)。   When the client device 30 receives the empty response data transmitted by the HTTP tunnel server device 10 (steps A6 and A7 (No)), it waits for transmission of input event data corresponding to the next user operation (step S6). A1) or data request transmission processing as periodic polling is entered (step A1 (No) → A3 (No) → A5).

したがって、このケースの場合、前記HTTPトンネルサーバ装置10は、クライアント装置30からの入力イベントデータ[Data(Client)]の受信直後に同クライアント装置30へ応答データを送信することなく、最大Wait時間を設定して待機し[Wait]、その待機中にサーバ装置20から受信された表示用の画面データ[Data(Server)]を応答データとして同クライアント装置30へ転送する。よって、クライアント装置30は、入力イベントデータの送信後に改めてデータ要求を送信する必要なく、1セッションでサーバ装置20から表示用の画面データを受信して表示できる。   Therefore, in this case, the HTTP tunnel server device 10 sets the maximum wait time without transmitting response data to the client device 30 immediately after receiving the input event data [Data (Client)] from the client device 30. Set and wait [Wait], and transfer the display screen data [Data (Server)] received from the server device 20 during the standby to the client device 30 as response data. Therefore, the client device 30 can receive and display display screen data from the server device 20 in one session without having to transmit a data request again after transmitting the input event data.

そればかりでなく、前記サーバ装置20により生成される表示用画面データ(応答データ)の受信を待機するための最大Wait時間は、当該待機処理の繰り返しに従い、第1最大Wait時間[(Σαi/n)×β1:i=1〜n]の場合、サーバ装置20からの応答の遅延変動が小さいときに効果的な総累積Wait時間[Σαi:i=1〜n]の平均Wait時間に収束するように設定される。また、第2最大Wait時間[(Σαi/10)×β2:i=n-9〜n]の場合、サーバ装置20からの応答の遅延変動が大きいときに効果的な直近所定回の累積Wait時間[Σαi:i=n-9〜n]の平均Wait時間に収束するように設定される。よって、この待機処理に伴い設定される待機時間(最大Wait時間)と実際のサーバ装置20からの応答時間(実Wait時間[αn])との差分として発生する無駄な待機時間を、応答時間の変動に関わらず極力少なくすることができる。   In addition, the maximum wait time for waiting for reception of the display screen data (response data) generated by the server device 20 is the first maximum wait time [(Σαi / n ) × β1: i = 1 to n] so that the average wait time of the total accumulated wait time [Σαi: i = 1 to n] effective when the delay variation of the response from the server device 20 is small is converged. Set to In the case of the second maximum wait time [(Σαi / 10) × β2: i = n−9 to n], the most recent accumulated number of wait times that are effective when the delay variation of the response from the server device 20 is large. It is set to converge to the average wait time of [Σαi: i = n-9 to n]. Therefore, the useless waiting time generated as a difference between the waiting time (maximum wait time) set in accordance with the waiting process and the response time from the actual server device 20 (actual wait time [αn]) is set as the response time. Regardless of fluctuations, it can be reduced as much as possible.

また、前記HTTPトンネルサーバ装置10は、前記最大Wait時間を設定した待機中にサーバ装置20からの表示用画面データ(応答データ)が受信されない場合は、直ちに空の応答データをクライアント装置30へ送信する。よって、クライアント装置30では、データ受信の待機状態が無駄に長引いてしまうことなく、速やかに次のユーザ操作に応じた入力イベントデータの送信待機状態に移行できる。   The HTTP tunnel server device 10 immediately transmits empty response data to the client device 30 when display screen data (response data) is not received from the server device 20 during standby in which the maximum wait time is set. To do. Therefore, the client device 30 can quickly shift to the input event data transmission standby state corresponding to the next user operation without unnecessarily prolonging the data reception standby state.

一方、前記最大Wait時間を設定した待機中にサーバ装置20からの表示用画面データ(応答データ)が受信されず、クライアント装置30へ空の応答データが送信された後、同サーバ装置20から表示用画面データが受信された場合、またはサーバ装置20で実行中のアプリケーションプログラム21に従い自動更新された表示用画面データが受信された場合、当該受信された表示用画面データは送信バッファ13bに保存される(ステップB1〜B3)。   On the other hand, the display screen data (response data) from the server device 20 is not received during standby in which the maximum wait time is set, and empty response data is transmitted to the client device 30 and then displayed from the server device 20. When the display screen data is received, or when the display screen data automatically updated according to the application program 21 being executed in the server device 20 is received, the received display screen data is stored in the transmission buffer 13b. (Steps B1 to B3).

クライアント装置30から定期的なポーリングとして送信されたデータ要求が(ステップA5)、HTTPトンネルサーバ装置10に受信された際に(ステップB4(Yes))、その送信バッファ13bに表示用画面データ(実データ)が記憶されている場合は(ステップB5(Yes))、前記待機処理(ステップB8〜B10)に移行されることなく、前記表示用画面データは直ちに応答データとしてクライアント装置30へ送信される(ステップB17)。   When a data request transmitted as regular polling from the client device 30 (step A5) is received by the HTTP tunnel server device 10 (step B4 (Yes)), display screen data (actual data) is stored in the transmission buffer 13b. (Data) is stored (step B5 (Yes)), the display screen data is immediately transmitted to the client device 30 as response data without shifting to the standby processing (steps B8 to B10). (Step B17).

そして、クライアント装置30に受信された前記表示用画面データは、フレームバッファ33cに描画されて表示部35に表示される(ステップA6〜A8)。   The display screen data received by the client device 30 is drawn in the frame buffer 33c and displayed on the display unit 35 (steps A6 to A8).

よって、このケースの場合も、クライアント装置30は、1セッションで速やかにサーバ装置20から表示用の画面データを受信して表示できる。   Therefore, also in this case, the client device 30 can quickly receive and display display screen data from the server device 20 in one session.

また、クライアント装置30から定期的なポーリングとして送信されたデータ要求が(ステップA5)、HTTPトンネルサーバ装置10に受信された際に(ステップB4(Yes))、その送信バッファ13bに表示用画面データ(実データ)が記憶されてない場合は(ステップB5(No))、空の応答データが直ちにクライアント装置30へ送信される(ステップB6(No)→B18(No)→B19)。   Further, when a data request transmitted as regular polling from the client device 30 (step A5) is received by the HTTP tunnel server device 10 (step B4 (Yes)), display screen data is stored in the transmission buffer 13b. If (actual data) is not stored (step B5 (No)), empty response data is immediately transmitted to the client device 30 (step B6 (No) → B18 (No) → B19).

よって、このケースの場合も、クライアント装置30では、速やかに次のユーザ操作に応じた入力イベントデータの送信待機状態に移行できる。   Therefore, also in this case, the client device 30 can quickly shift to the input event data transmission standby state corresponding to the next user operation.

したがって、前記構成のHTTPトンネルサーバ装置10を使用したサーバ・クライアント(Thin Client)・システムによれば、クライアント・サーバ間のレスポンス性能を大幅に向上できる。   Therefore, according to the server-client (Thin Client) system using the HTTP tunnel server device 10 having the above-described configuration, the response performance between the client and the server can be greatly improved.

なお、前記構成のHTTPトンネルサーバ装置10を使用するサーバ・クライアント・システムは、伝送遅延が大きくレスポンス性能が悪化しがちな無線通信のシンクライアント端末を用いた、所謂、サーバベース・コンピューティング・システム(SBCシステム)において特に有効であるが、各種のアプリケーションを単独でも実行可能な通常の携帯端末を用いたサーバ・クライアント・システムにおいても、クライアント・サーバ間のレスポンス性能を向上するのに有効であるのは勿論である。   The server client system that uses the HTTP tunnel server device 10 having the above-described configuration is a so-called server-based computing system that uses a wireless communication thin client terminal that has a large transmission delay and response performance that tends to deteriorate. This is particularly effective in the (SBC system), but is also effective in improving the response performance between the client and the server even in a server-client system using a normal mobile terminal that can execute various applications alone. Of course.

前記実施形態において記載したHTTPトンネルサーバ装置10による処理の手法、すなわち、図2のフローチャートに示すトンネルサーバ処理の手法は、コンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶媒体17に格納して配布することができる。そして、HTTPトンネルサーバ装置10のコンピュータ(CPU11)は、この外部記憶媒体17に記憶されたプログラムを記憶装置(13)に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明したHTTPトンネル機能を実現し、前述した手法による同様の処理を実行することができる。   The processing method by the HTTP tunnel server device 10 described in the above embodiment, that is, the tunnel server processing method shown in the flowchart of FIG. 2, is a memory card (ROM card, RAM card, etc.) as a program that can be executed by a computer. ), A magnetic disk (floppy disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), an external storage medium 17 such as a semiconductor memory, and the like can be distributed. Then, the computer (CPU 11) of the HTTP tunnel server device 10 reads the program stored in the external storage medium 17 into the storage device (13), and the operation is controlled by the read program. The described HTTP tunnel function can be realized and the same processing can be executed by the above-described method.

また、前記手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク(N)上を伝送させることができ、この通信ネットワーク(N)に接続されたコンピュータ装置(プログラムサーバ)から前記のプログラムデータを取り込んで記憶装置(13)に記憶させ、前述したHTTPトンネル機能を実現することもできる。   Further, the program data for realizing the method can be transmitted on the communication network (N) as a program code form, and the computer data (program server) connected to the communication network (N) can transmit the data. The above-described HTTP tunnel function can be realized by fetching the program data and storing it in the storage device (13).

なお、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。   Note that the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. Further, the embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment or some constituent requirements are combined in different forms, the problems described in the column of the problem to be solved by the invention are not solved. When the effects described in the column “Effects of the Invention” can be obtained, a configuration in which these constituent requirements are deleted or combined can be extracted as an invention.

10 …HTTPトンネルサーバ装置
11 …CPU
12 …バス
13 …記憶部
13a…受信バッファ
13b…送信バッファ
13c…実Wait時間[αn]メモリ
13d…総累積Wait時間[Σαi:i=1〜n]メモリ
13e…所定回累積Wait時間[Σαi:i=n-9〜n]メモリ
13f…マージン係数[β]メモリ
13g…第1最大Wait時間[(Σαi/n)×β:i=1〜n]メモリ
13h…第2最大Wait時間[(Σαi/10)×β:i=n-9〜n]メモリ
16 …通信制御部
17 …外部記憶媒体
18 …記憶媒体読み込み部
20 …サーバ装置
21 …アプリケーションプログラム
30 …クライアント装置(Thin Client)
33c…フレームバッファ
34 …入力部
35 …表示部
N …通信ネットワーク
10 ... HTTP tunnel server device 11 ... CPU
DESCRIPTION OF SYMBOLS 12 ... Bus 13 ... Memory | storage part 13a ... Reception buffer 13b ... Transmission buffer 13c ... Actual Wait time [(alpha) n] memory 13d ... Total accumulation Wait time [(SIGMA) i: i = 1-n] Memory 13e ... Predetermined accumulation Wait time [(Sigma) [alpha] i: i = n-9 to n] memory 13f ... margin coefficient [β] memory 13g ... first maximum wait time [(Σαi / n) × β: i = 1 to n] memory 13h ... second maximum wait time [(Σαi / 10) × β: i = n−9 to n] memory 16 ... communication control unit 17 ... external storage medium 18 ... storage medium reading unit 20 ... server device 21 ... application program 30 ... client device (Thin Client)
33c: Frame buffer 34: Input unit 35: Display unit N: Communication network

Claims (6)

他のサーバ装置の応答時間を取得する応答時間取得手段と、
この応答時間取得手段により取得された他のサーバ装置の応答時間に基づき、当該他のサーバ装置からの応答を待機する待機時間を設定する待機時間設定手段と、
クライアント装置からデータを受信した際に、受信したデータが実データである場合は、当該実データを他のサーバ装置へ送信した後に、前記待機時間設定手段により設定された待機時間内に前記他のサーバ装置からサーバ応答データが受信されたか否かを判断する応答受信判断手段と、
前記応答受信判断手段による待機時間外に前記他のサーバ装置から実データを受信した場合に、受信した実データを記憶するサーバ実データ記憶手段と、
前記応答受信判断手段により前記待機時間内に前記他のサーバ装置からサーバ応答データが受信されたと判断された場合は、当該サーバ応答データを前記クライアント装置へ送信する待機内応答データ送信手段と、
前記応答受信判断手段により前記待機時間内に前記他のサーバ装置からサーバ応答データが受信されないと判断された場合は、実データを含まない応答データを前記クライアント装置へ送信する待機後応答データ送信手段と、
前記クライアント装置から受信したデータが実データを含まないデータ要求情報である場合において、前記サーバ実データ記憶手段により前記他のサーバ装置から受信された実データが記憶されている場合は、当該記憶されている実データを応答データとして直ちにクライアント装置へ送信し、前記サーバ実データ記憶手段により前記他のサーバ装置から受信された実データが記憶されてない場合は、実データを含まない応答データを直ちにクライアント装置へ送信する要求応答データ送信手段と、
を備えたことを特徴とするサーバ装置。
Response time acquisition means for acquiring the response time of another server device;
Based on the response time of the other server apparatus acquired by the response time acquisition means, a standby time setting means for setting a standby time for waiting for a response from the other server apparatus,
When the received data is actual data when the data is received from the client device, the other data is transmitted to the other server device, and then the other data is received within the waiting time set by the waiting time setting means. Response reception determination means for determining whether server response data is received from the server device;
A server actual data storage unit that stores the received actual data when the actual data is received from the other server device outside the waiting time by the response reception determination unit;
When it is determined by the response reception determination means that server response data has been received from the other server device within the standby time, the response data transmission means within standby for transmitting the server response data to the client device;
If the response reception determining means determines that server response data is not received from the other server apparatus within the waiting time, the response data transmitting means after waiting for transmitting response data not including actual data to the client apparatus When,
In the case where the data received from the client device is data request information that does not include actual data, if the actual data received from the other server device is stored by the server actual data storage means, the stored data is stored. If the actual data received from the other server device is not stored by the server actual data storage means, the response data not including the actual data is immediately transmitted. Request response data transmitting means for transmitting to the client device;
A server device comprising:
前記応答時間取得手段は、
前記応答受信判断手段により前記待機時間設定手段により設定された待機時間内に前記他のサーバ装置からサーバ応答データが受信されたと判断された場合に、当該サーバ応答データが受信されたときの実際の応答時間を取得する実応答時間取得手段を有し、
前記待機時間設定手段は、前記実応答時間取得手段により取得された他のサーバ装置の実際の応答時間の平均応答時間に基づき、当該他のサーバ装置からの応答を待機する待機時間を設定する、
ことを特徴とする請求項1に記載のサーバ装置。
The response time acquisition means includes
When it is determined that the server response data is received from the other server device within the standby time set by the standby time setting unit by the response reception determination unit, the actual server response data when the server response data is received Having an actual response time acquisition means for acquiring the response time;
The waiting time setting means sets a waiting time for waiting for a response from the other server device based on an average response time of actual response times of the other server devices acquired by the actual response time acquiring means.
The server apparatus according to claim 1.
前記待機時間設定手段は、前記実応答時間取得手段により取得された他のサーバ装置の実際の応答時間の平均応答時間および当該応答時間の変動に応じたマージンに基づき、当該他のサーバ装置からの応答を待機する待機時間を設定する、
ことを特徴とする請求項2に記載のサーバ装置。
The waiting time setting means is based on the average response time of the actual response time of the other server apparatus acquired by the actual response time acquisition means and the margin according to the fluctuation of the response time, from the other server apparatus. Set the waiting time to wait for a response,
The server device according to claim 2.
クライアント装置からの要求に対して応答するサーバ装置であって、
前記クライアント装置からの要求が入力イベントを含む要求種別か否かを判別する第1判別手段と、
前記第1判別手段で前記入力イベントを含む要求種別であると判別された場合は、他のサーバ装置に対して前記要求を送信し、その要求後の応答を待機する待機時間外に当該要求に対応して生成された生成実データを当該他のサーバ装置から信した場合に、受信した生成実データを記憶手段に記憶制御する記憶制御手段と、
前記クライアント装置からの要求があった際に、前記記憶手段に前記生成実データが記憶されているか否かを判別する第2判別手段と、
前記第2判別手段で前記生成実データが記憶されていると判別された場合は、当該生成実データを応答データとして前記クライアント装置へ送信し、一方、前記第2判別手段で前記生成実データが記憶されていないと判別され、前記第1判別手段で前記入力イベントを含まない要求種別であると判別された場合は、データ生成が無いことを示す応答データを前記クライアント装置へ送信する要求応答信手段と、
を備えたことを特徴とするサーバ装置。
A server device that responds to a request from a client device,
First determination means for determining whether a request from the client device is a request type including an input event;
If it is determined by the first determination means that the request type includes the input event, the request is transmitted to another server device , and the request is answered outside the waiting time for waiting for a response after the request. when it receives the generated actual data generated corresponding from the other server apparatus, a storage control unit for storing control received generated real data in the storage means,
Second determination means for determining whether or not the generated actual data is stored in the storage means when there is a request from the client device;
Wherein when said generated actual data is judged as being stored in the second discriminating means, transmits to the client device the generated real data as response data, whereas, the generated actual data in said second discrimination means is determined not to be stored, said when it is determined that the input is an event a does not include the request type is a first discriminating means, transmission request response transmits the response data indicating that the data generated is not to the client device A means of communication,
A server device comprising:
サーバ装置のコンピュータを制御するためのプログラムであって、
他のサーバ装置の応答時間を取得する応答時間取得手段、
この応答時間取得手段により取得された他のサーバ装置の応答時間に基づき、当該他のサーバ装置からの応答を待機する待機時間を設定する待機時間設定手段、
クライアント装置からデータを受信した際に、受信したデータが実データである場合は、当該実データを他のサーバ装置へ送信した後に、前記待機時間設定手段により設定された待機時間内に前記他のサーバ装置からサーバ応答データが受信されたか否かを判断する応答受信判断手段、
前記応答受信判断手段による待機時間外に前記他のサーバ装置から実データを受信した場合に、受信した実データを記憶するサーバ実データ記憶手段、
前記応答受信判断手段により前記待機時間内に前記他のサーバ装置からサーバ応答データが受信されたと判断された場合は、当該サーバ応答データを前記クライアント装置へ送信する待機内応答データ送信手段、
前記応答受信判断手段により前記待機時間内に前記他のサーバ装置からサーバ応答データが受信されないと判断された場合は、実データを含まない応答データを前記クライアント装置へ送信する待機後応答データ送信手段、
前記クライアント装置から受信したデータが実データを含まないデータ要求情報である場合において、前記サーバ実データ記憶手段により前記他のサーバ装置から受信された実データが記憶されている場合は、当該記憶されている実データを応答データとして直ちにクライアント装置へ送信し、前記サーバ実データ記憶手段により前記他のサーバ装置から受信された実データが記憶されてない場合は、実データを含まない応答データを直ちにクライアント装置へ送信する要求応答データ送信手段、
として機能させるための制御プログラム。
A program for controlling a computer of a server device,
Response time acquisition means for acquiring response times of other server devices;
A standby time setting means for setting a standby time for waiting for a response from the other server apparatus based on the response time of the other server apparatus acquired by the response time acquisition means;
When the received data is actual data when the data is received from the client device, the other data is transmitted to the other server device, and then the other data is received within the waiting time set by the waiting time setting means. Response reception determination means for determining whether or not server response data is received from the server device;
Server actual data storage means for storing the received actual data when the actual data is received from the other server device outside the waiting time by the response reception determining means;
If the response reception determination means determines that server response data has been received from the other server device within the standby time, the response data transmission means within standby for transmitting the server response data to the client device;
If the response reception determining means determines that server response data is not received from the other server apparatus within the waiting time, the response data transmitting means after waiting for transmitting response data not including actual data to the client apparatus ,
In the case where the data received from the client device is data request information that does not include actual data, if the actual data received from the other server device is stored by the server actual data storage means, the stored data is stored. If the actual data received from the other server device is not stored by the server actual data storage means, the response data not including the actual data is immediately transmitted. Request response data transmission means to be transmitted to the client device;
Control program to function as.
クライアント装置からの要求に対して応答するサーバ装置のコンピュータを制御するためのプログラムであって、
他のサーバ装置からの応答を待機する待機時間を設定する待機時間設定手段、
前記クライアント装置からの要求が入力イベントを含む要求種別か否かを判別する第1判別手段、
前記第1判別手段で前記入力イベントを含む要求種別であると判別された場合は、他のサーバ装置に対して前記要求を送信し、その要求後に前記待機時間設定手段で設定された待機時間外に当該要求に対応して生成された生成実データを当該他のサーバ装置から信した場合に、受信した生成実データを記憶手段に記憶制御する記憶制御手段、
前記クライアント装置からの要求があった際に、前記記憶手段に前記生成実データが記憶されているか否かを判別する第2判別手段、
前記第2判別手段で前記生成実データが記憶されていると判別された場合は、当該生成実データを応答データとして前記クライアント装置へ送信し、一方、前記第2判別手段で前記生成実データが記憶されていないと判別され、前記第1判別手段で前記入力イベントを含まない要求種別であると判別された場合は、データ生成が無いことを示す応答データを前記クライアント装置へ送信する要求応答信手段、
として機能させるための制御プログラム。
A program for controlling a computer of a server device that responds to a request from a client device ,
A waiting time setting means for setting a waiting time for waiting for a response from another server device;
First determination means for determining whether a request from the client device is a request type including an input event;
When it is determined by the first determination means that the request type includes the input event, the request is transmitted to another server device, and after the request, the waiting time outside the waiting time set by the waiting time setting means the when the generating actual data generated in response to a request has been received from the other server apparatus, storage control means for storing control received generated real data in the storage means,
Second determination means for determining whether or not the generated actual data is stored in the storage means when there is a request from the client device;
Wherein when said generated actual data is judged as being stored in the second discriminating means, transmits to the client device the generated real data as response data, whereas, the generated actual data in said second discrimination means is determined not to be stored, said when it is determined that the input is an event a does not include the request type is a first discriminating means, transmission request response transmits the response data indicating that the data generated is not to the client device Means of communication,
Control program to function as.
JP2010017294A 2010-01-28 2010-01-28 Server device and control program thereof Expired - Fee Related JP5544903B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010017294A JP5544903B2 (en) 2010-01-28 2010-01-28 Server device and control program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010017294A JP5544903B2 (en) 2010-01-28 2010-01-28 Server device and control program thereof

Publications (2)

Publication Number Publication Date
JP2011154651A JP2011154651A (en) 2011-08-11
JP5544903B2 true JP5544903B2 (en) 2014-07-09

Family

ID=44540543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010017294A Expired - Fee Related JP5544903B2 (en) 2010-01-28 2010-01-28 Server device and control program thereof

Country Status (1)

Country Link
JP (1) JP5544903B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6559094B2 (en) * 2016-06-08 2019-08-14 三菱電機株式会社 Communication event processing apparatus, communication event processing program, and communication event processing method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1109374A3 (en) * 1999-12-13 2001-06-27 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and apparatus for performing network operations
JP2004118325A (en) * 2002-09-24 2004-04-15 Sega Corp Data communication method and data communication system
JP2005301913A (en) * 2004-04-15 2005-10-27 Sony Corp Communication system, information processing terminal, and communication method
JP4348361B2 (en) * 2006-12-20 2009-10-21 株式会社日立製作所 Distribution system, communication apparatus, and distribution method
JP4394710B2 (en) * 2007-07-27 2010-01-06 日本電信電話株式会社 Load control apparatus, method, and program

Also Published As

Publication number Publication date
JP2011154651A (en) 2011-08-11

Similar Documents

Publication Publication Date Title
KR102300077B1 (en) Optimizing user interface data caching for future actions
US20200034725A1 (en) Methods and system for managing predictive models
US9411872B1 (en) Management of application state data
US8626937B2 (en) Server device in thin-client system
WO2013003175A1 (en) Systems, methods, apparatuses, and computer program products for facilitating integration of third party technology with a database
CN111857515B (en) Image processing method, device, storage medium and electronic equipment
CN110413918B (en) Data transmission method, device, equipment and storage medium
JP2018110387A (en) Method and system for bandwidth measurement and adaptive data transmission based on buffer in real time live environment
CN112347111A (en) Method and device for data update
JP2005174048A (en) Data set updating device, terminal device, data set updating method and program
US10666707B2 (en) Nonconsecutive file downloading
US20130254318A1 (en) Dynamic message retrieval
US20170187822A1 (en) Content prefetching and cache management
US10785601B2 (en) System and method for transmitting dynamic content to mobile devices
US7941483B2 (en) Low latency display methods for thin client devices
KR101210040B1 (en) File transfer via local server
JP5544903B2 (en) Server device and control program thereof
WO2014066597A1 (en) Improving attachment handling during email delivery
US20100070586A1 (en) Asynchronous Queued Messaging for Web Applications
CN118694815B (en) Message push methods, devices, storage media, and processors
JP5643449B1 (en) Server and method for displaying display screen on terminal device
JP5378456B2 (en) Communication terminal and content update method
JP6815975B2 (en) API management system and API management method
US20150236987A1 (en) Device, method and non-transitory computer readable storage medium for performing instant message communication
WO2010039617A1 (en) Stream logging output via web browser

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140320

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140428

R150 Certificate of patent or registration of utility model

Ref document number: 5544903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees