JP2014164369A - Remote desktop system - Google Patents

Remote desktop system Download PDF

Info

Publication number
JP2014164369A
JP2014164369A JP2013032836A JP2013032836A JP2014164369A JP 2014164369 A JP2014164369 A JP 2014164369A JP 2013032836 A JP2013032836 A JP 2013032836A JP 2013032836 A JP2013032836 A JP 2013032836A JP 2014164369 A JP2014164369 A JP 2014164369A
Authority
JP
Japan
Prior art keywords
information
network
unit
client device
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013032836A
Other languages
Japanese (ja)
Other versions
JP5652891B2 (en
Inventor
Daisuke Tsuri
大輔 釣
Yoshitaka Nakada
佳孝 中田
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.)
NEC Corp
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators 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 NEC Corp, NEC Solution Innovators Ltd filed Critical NEC Corp
Priority to JP2013032836A priority Critical patent/JP5652891B2/en
Publication of JP2014164369A publication Critical patent/JP2014164369A/en
Application granted granted Critical
Publication of JP5652891B2 publication Critical patent/JP5652891B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To solve the problem in which it is difficult to perform remote desktop connection in a remote desktop system performing communication between proxies by UDP, unless uniquely developing recovery and sequence control against packet loss occurrence.SOLUTION: A proxy on a client side receives information for a server device from a client device and transmits the information to a proxy on a server side through a network by TCP communication, and receives information for the client device from the proxy on the server side through the network by the TCP communication and transmits the information to the client device. The proxy on the sever side receives information for the client device from the server device and transmits the information to the proxy on the client side through the network by the TCP communication, and receives information for the server device from the proxy on the client side through the network by the TCP communication and transmits the information to the server device.

Description

本発明は、リモートデスクトップシステム、リモートデスクトップ接続方法、プロキシ装置、プロキシ方法、およびプログラムに関する。   The present invention relates to a remote desktop system, a remote desktop connection method, a proxy device, a proxy method, and a program.

コンピュータのGUI(グラフィックユーザインタフェース)をネットワークを通じて接続された別の機器から操作するリモートデスクトップシステムが広く採用されている。リモートデスクトップシステムにおいて、ネットワークを介して制御されるコンピュータ側をサーバ装置、ユーザが操作を行う機器側をクライアント装置と呼ぶ。また、リモートデスクトップ接続に適する通信プロトコルとして、RDP(Remote Desktop Protocol)がある。このRDPはアプリケーション層のプロトコルである。   A remote desktop system that operates a GUI (graphic user interface) of a computer from another device connected through a network is widely adopted. In a remote desktop system, a computer side controlled via a network is called a server device, and a device side operated by a user is called a client device. As a communication protocol suitable for remote desktop connection, there is RDP (Remote Desktop Protocol). This RDP is an application layer protocol.

他方、機能拡張のためにサーバ装置およびクライアント装置のそれぞれにプロキシを設けてサーバ装置とクライアント装置との間でプロキシを介してデータの授受を行うことが本発明に関連する第1の関連技術として知られている(例えば特許文献1参照)。上記第1の関連技術では、リモートデスクトップクライアントとしての複合機と中継装置としてのプロキシサーバとがバスを介して接続されたイントラネットと、リモートデスクトップサーバとしてのコールセンタの端末装置と、中継装置としてのプロキシサーバとを、インターネットを介して接続している。   On the other hand, as a first related technique related to the present invention, a proxy is provided in each of the server device and the client device for function expansion, and data is exchanged between the server device and the client device via the proxy. It is known (see, for example, Patent Document 1). In the first related technology, an intranet in which a multifunction peripheral as a remote desktop client and a proxy server as a relay device are connected via a bus, a call center terminal device as a remote desktop server, and a proxy as a relay device The server is connected via the Internet.

また、遠隔にある端末に対して大容量データを効率良く高速転送するためにプロキシ間をUDP(User Datagram Protocol)接続し、定期的に再送制御とフロー制御を行いながらUDPを使用してデータ転送を行うことが本発明に関連する第2の関連技術として提案されている(例えば特許文献2参照)。   In addition, in order to efficiently transfer large volumes of data to remote terminals, UDP (User Datagram Protocol) is connected between proxies, and data is transferred using UDP while performing retransmission control and flow control periodically. Has been proposed as a second related technique related to the present invention (see, for example, Patent Document 2).

特開2008−270972号公報JP 2008-270972 A 特開2005−136684号公報JP 2005-136684 A

しかしながら、プロキシ間の通信をUDPで行うリモートデスクトップシステムでは、パケットロスが発生すると、クライアント装置からサーバ装置に向けて送信されるコマンド等の欠落や、反対にサーバ装置からクライアント装置に向けて送信される応答や画面データ等の欠落が生じる。このため、パケットロスの多い通信環境ではリモートデスクトップ接続は困難である。また特許文献2の技術を特許文献1に適用してプロキシ間で定期的に再送制御とフロー制御を行いながらUDPを使用してデータ転送を行う構成では、パケットロスが発生した際のリカバリや順序制御を独自に開発してプロキシに実装する必要がある。   However, in a remote desktop system that performs communication between proxies using UDP, when a packet loss occurs, a command transmitted from the client device to the server device is lost, or conversely, the server device transmits the packet to the client device. Response and screen data are missing. For this reason, remote desktop connection is difficult in a communication environment with many packet losses. Further, in the configuration in which the technique of Patent Document 2 is applied to Patent Document 1 and data transfer is performed using UDP while performing retransmission control and flow control between proxies, recovery and order when packet loss occurs You need to develop your own controls and implement them in the proxy.

本発明の目的は、上述した課題、すなわち、プロキシ間の通信をUDPで行うリモートデスクトップシステムでは、パケットロスが発生した際のリカバリや順序制御を独自開発しなければリモートデスクトップ接続は困難である、という課題を解決するリモートデスクトップシステムを提供することにある。   The object of the present invention is the above-described problem, that is, in a remote desktop system that performs communication between proxies by UDP, remote desktop connection is difficult unless recovery and sequence control when packet loss occurs are independently developed. It is to provide a remote desktop system that solves this problem.

本発明の第1の観点に係るリモートデスクトップシステムは、
サーバ装置とクライアント装置とがネットワークを介して接続されたリモートデスクトップシステムであって、
上記クライアント装置に接続されるクライアント側プロキシと、
上記サーバ装置に接続されると共に上記ネットワークを介して上記クライアント側プロキシに接続されるサーバ側プロキシとを有し、
上記クライアント側プロキシは、
上記クライアント装置から上記サーバ装置向けの情報を受信してTCP通信により上記ネットワークを通じて上記サーバ側プロキシへ送信する第1の通信部と、
上記サーバ側プロキシから上記クライアント装置向けの情報をTCP通信により上記ネットワークを通じて受信し上記クライアント装置へ送信する第2の通信部と
を有し、
上記サーバ側プロキシは、
上記サーバ装置から上記クライアント装置向けの情報を受信してTCP通信により上記ネットワークを通じて上記クライアント側プロキシへ送信する第3の通信部と、
上記クライアント側プロキシから上記サーバ装置向けの情報をTCP通信により上記ネットワークを通じて受信し上記サーバ装置へ送信する第4の通信部と
を有する。
A remote desktop system according to a first aspect of the present invention includes:
A remote desktop system in which a server device and a client device are connected via a network,
A client-side proxy connected to the client device;
A server-side proxy connected to the server device and connected to the client-side proxy via the network;
The above client-side proxy
A first communication unit that receives information for the server device from the client device and transmits the information to the server-side proxy through the network by TCP communication;
A second communication unit that receives information for the client device from the server-side proxy through the network by TCP communication and transmits the information to the client device;
The server side proxy
A third communication unit that receives information for the client device from the server device and transmits the information to the client-side proxy through the network by TCP communication;
A fourth communication unit that receives information for the server device from the client-side proxy through the network by TCP communication and transmits the information to the server device.

本発明の第2の観点に係るリモートデスクトップ接続方法は、
サーバ装置とクライアント装置とをネットワークを介してリモートデスクトップ接続する方法であって、
上記クライアント装置に接続されるクライアント側プロキシが、上記クライアント装置から上記サーバ装置向けの情報を受信し、TCP通信により、上記ネットワークを通じて、上記サーバ装置に接続されるサーバ側プロキシへ送信し、
上記サーバ側プロキシが、上記クライアント側プロキシから上記サーバ装置向けの情報を、TCP通信により、上記ネットワークを通じて受信し、上記サーバ装置へ送信し、
上記サーバ側プロキシが、上記サーバ装置から上記クライアント装置向けの情報を受信し、TCP通信により、上記ネットワークを通じて、上記クライアント側プロキシへ送信し、
上記クライアント側プロキシが、上記サーバ側プロキシから上記クライアント装置向けの情報を、TCP通信により、上記ネットワークを通じて受信し、上記クライアント装置へ送信する。
A remote desktop connection method according to a second aspect of the present invention includes:
A method for remote desktop connection between a server device and a client device via a network,
The client side proxy connected to the client device receives information for the server device from the client device, and transmits the information to the server side proxy connected to the server device through the network by TCP communication,
The server-side proxy receives information for the server device from the client-side proxy through the network via TCP communication, and transmits the information to the server device.
The server-side proxy receives information for the client device from the server device, transmits the information to the client-side proxy through the network by TCP communication,
The client-side proxy receives information for the client device from the server-side proxy through the network by TCP communication, and transmits the information to the client device.

本発明の第3の観点に係るプロキシ装置は、
リモートデスクトップシステムを構成するクライアント装置とサーバ装置のうち上記サーバ装置に接続されるプロキシ装置であって、
上記サーバ装置から上記クライアント装置向けの情報を受信してTCP通信により上記ネットワークを通じて上記クライアント装置側へ送信する第1の通信部と、
上記クライアント装置側から上記サーバ装置向けの情報をTCP通信により上記ネットワークを通じて受信し上記サーバ装置へ送信する第2の通信部と
を有する。
The proxy device according to the third aspect of the present invention is:
A proxy device connected to the server device among the client device and the server device constituting the remote desktop system,
A first communication unit that receives information for the client device from the server device and transmits the information to the client device side through the network by TCP communication;
A second communication unit that receives information for the server device from the client device side through the network by TCP communication and transmits the information to the server device.

本発明の第4の観点に係るプロキシ方法は、
リモートデスクトップシステムを構成するクライアント装置とサーバ装置のうち上記サーバ装置に接続されるプロキシ装置が実行するプロキシ方法であって、
上記サーバ装置から上記クライアント装置向けの情報を受信してTCP通信により上記ネットワークを通じて上記クライアント装置側へ送信し、
上記クライアント装置側から上記サーバ装置向けの情報をTCP通信により上記ネットワークを通じて受信し上記サーバ装置へ送信する。
本発明の第5の観点に係るプログラムは、
リモートデスクトップシステムを構成するクライアント装置とサーバ装置のうち上記サーバ装置に接続されるプロキシ装置を構成するコンピュータを、
上記サーバ装置から上記クライアント装置向けの情報を受信してTCP通信により上記ネットワークを通じて上記クライアント装置側へ送信する第1の通信部と、
上記クライアント装置側から上記サーバ装置向けの情報をTCP通信により上記ネットワークを通じて受信し上記サーバ装置へ送信する第2の通信部と
して機能させる。
The proxy method according to the fourth aspect of the present invention is:
A proxy method executed by a proxy device connected to the server device among a client device and a server device constituting a remote desktop system,
Receive information for the client device from the server device and send it to the client device side through the network by TCP communication,
Information for the server device is received from the client device side through the network by TCP communication and transmitted to the server device.
A program according to the fifth aspect of the present invention is:
A computer constituting a proxy device connected to the server device among the client device and the server device constituting the remote desktop system,
A first communication unit that receives information for the client device from the server device and transmits the information to the client device side through the network by TCP communication;
It functions as a second communication unit that receives information for the server device from the client device side through the network by TCP communication and transmits the information to the server device.

本発明は上述した構成を有するため、パケットロスが発生した際のリカバリや順序制御を独自に開発しなくてもパケットロスが多発する通信環境においてリモートデスクトップ接続を利用することが可能になる。   Since the present invention has the above-described configuration, remote desktop connection can be used in a communication environment in which packet loss frequently occurs without independently developing recovery and order control when packet loss occurs.

本発明の第1の実施形態のブロック図である。It is a block diagram of a 1st embodiment of the present invention. 本発明の第2の実施形態のブロック図である。It is a block diagram of the 2nd Embodiment of this invention. 本発明の第3の実施形態のブロック図である。It is a block diagram of the 3rd Embodiment of this invention. 本発明の第3の実施形態においてネットワークのデータ転送時間を用いて送受信に使用するソケットバッファのサイズを変更する際に使用する式を示す図である。It is a figure which shows the formula used when changing the size of the socket buffer used for transmission / reception using the data transfer time of a network in the 3rd Embodiment of this invention. 本発明の第3の実施形態におけるサーバ側プロキシモジュールのネットワーク状態確認部の処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process of the network state confirmation part of the server side proxy module in the 3rd Embodiment of this invention. 本発明の第3の実施形態におけるクライアント側プロキシモジュールのネットワーク状態確認部の処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process of the network state confirmation part of the client side proxy module in the 3rd Embodiment of this invention. 本発明の第4の実施形態の要部ブロック図である。It is a principal part block diagram of the 4th Embodiment of this invention. 本発明の第4の実施形態における通信部の処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process of the communication part in the 4th Embodiment of this invention.

次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態にかかるリモートデスクトップシステム100は、サーバ装置110とクライアント装置120とがネットワーク130を介して接続されている。またサーバ装置110とネットワーク130との間にはサーバ側プロキシ140が介在し、クライアント装置120とネットワーク130との間にはクライアント側プロキシ150が介在する。
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[First embodiment]
Referring to FIG. 1, in a remote desktop system 100 according to the first embodiment of the present invention, a server device 110 and a client device 120 are connected via a network 130. A server-side proxy 140 is interposed between the server device 110 and the network 130, and a client-side proxy 150 is interposed between the client device 120 and the network 130.

クライアント側プロキシ150は、第1の通信部151と第2の通信部152とを有する。第1の通信部151は、クライアント装置120からサーバ装置110向けの情報を受信し、TCP通信によりネットワーク130を通じてサーバ側プロキシ140へ送信する機能を有する。第2の通信部152は、サーバ側プロキシ140からクライアント装置120向けの情報をTCP通信によりネットワーク130を通じて受信し、クライアント装置120へ送信する機能を有する。   The client side proxy 150 includes a first communication unit 151 and a second communication unit 152. The first communication unit 151 has a function of receiving information for the server device 110 from the client device 120 and transmitting the information to the server-side proxy 140 through the network 130 by TCP communication. The second communication unit 152 has a function of receiving information for the client device 120 from the server-side proxy 140 via the network 130 via TCP communication and transmitting the information to the client device 120.

サーバ側プロキシ140は、第3の通信部141と第4の通信部142とを有する。第3の通信部141は、サーバ装置110からクライアント装置120向けの情報を受信し、TCP通信によりネットワーク130を通じてクライアント側プロキシ150へ送信する機能を有する。第4の通信部142は、クライアント側プロキシ150からサーバ装置110向けの情報をTCP通信によりネットワーク130を通じて受信し、サーバ装置110へ送信する機能を有する。   The server-side proxy 140 includes a third communication unit 141 and a fourth communication unit 142. The third communication unit 141 has a function of receiving information for the client device 120 from the server device 110 and transmitting the information to the client-side proxy 150 through the network 130 by TCP communication. The fourth communication unit 142 has a function of receiving information for the server apparatus 110 from the client side proxy 150 through the network 130 by TCP communication and transmitting the information to the server apparatus 110.

上記クライアント側プロキシ150は、クライアント装置120と物理的に同じ装置あるいは異なる装置の何れに実装されていても良い。また上記サーバ側プロキシ140は、サーバ装置110と物理的に同じ装置あるいは異なる装置の何れに実装されていても良い。   The client side proxy 150 may be mounted on either the physically same device as the client device 120 or a different device. The server-side proxy 140 may be mounted on either the physically same device as the server device 110 or a different device.

次に本実施形態に係るリモートデスクトップシステム100の動作を説明する。   Next, the operation of the remote desktop system 100 according to the present embodiment will be described.

リモートデスクトップシステム100では、クライアント装置120からサーバ装置110に向けて、遠隔操作に必要なコマンド等の各種情報(以下、サーバ装置向けの情報と称す)が送信される。他方、サーバ装置110からクライアント装置120に向けて、コマンドに対する応答データやGUIの画面データ等(以下、クライアント向けの情報と称す)が送信される。これらサーバ装置向けの情報およびクライアント向けの情報は、本実施形態では以下のようにして送受信される。   In the remote desktop system 100, various information such as commands necessary for remote operation (hereinafter referred to as information for the server device) is transmitted from the client device 120 to the server device 110. On the other hand, response data to a command, GUI screen data, and the like (hereinafter referred to as information for a client) are transmitted from the server apparatus 110 to the client apparatus 120. In the present embodiment, the information for the server device and the information for the client are transmitted and received as follows.

サーバ装置向けの情報は、まず、クライアント装置120からクライアント側プロキシ150に送信される。クライアント側プロキシ150の第1の通信部151は、クライアント装置120からサーバ装置向けの情報を受信すると、TCP通信により、ネットワーク130を通じて、サーバ側プロキシ140へ送信する。サーバ側プロキシ10の第4の通信部142は、クライアント側プロキシ150からサーバ装置向けの情報をTCP通信によりネットワーク130を通じて受信し、サーバ装置110へ送信する。   Information for the server device is first transmitted from the client device 120 to the client-side proxy 150. When the first communication unit 151 of the client-side proxy 150 receives information for the server device from the client device 120, the first communication unit 151 transmits the information to the server-side proxy 140 through the network 130 by TCP communication. The fourth communication unit 142 of the server side proxy 10 receives information for the server device from the client side proxy 150 through the network 130 by TCP communication, and transmits the information to the server device 110.

これによって、クライアント装置120から送信されたサーバ装置向けの情報が、クライアント側プロキシ150、ネットワーク130、およびサーバ側プロキシ140を経由して、サーバ装置110へ届けられる。若し、ネットワーク130においてパケットロスが発生した場合、第1の通信部151はTCP通信によるACKを第4の通信部142から受信できないため、パケットの再送を行う。これによって、クライアント装置120から送信されたサーバ装置向けの情報がサーバ装置110に確実に届けられる。   Thus, the information for the server device transmitted from the client device 120 is delivered to the server device 110 via the client side proxy 150, the network 130, and the server side proxy 140. If a packet loss occurs in the network 130, the first communication unit 151 retransmits the packet because it cannot receive the ACK by the TCP communication from the fourth communication unit 142. Thereby, the information for the server device transmitted from the client device 120 is reliably delivered to the server device 110.

他方、クライアント装置向けの情報は、まず、サーバ装置110からサーバ側プロキシ140に送信される。サーバ側プロキシ140の第3の通信部141は、サーバ装置110からクライアント装置向けの情報を受信すると、TCP通信により、ネットワーク130を通じて、クライアント側プロキシ150へ送信する。クライアント側プロキシ150の第2の通信部152は、サーバ側プロキシ140からクライアント装置向けの情報をTCP通信によりネットワーク130を通じて受信し、クライアント装置120へ送信する。   On the other hand, information for the client device is first transmitted from the server device 110 to the server-side proxy 140. When the third communication unit 141 of the server-side proxy 140 receives information for the client device from the server device 110, the third communication unit 141 transmits the information to the client-side proxy 150 through the network 130 by TCP communication. The second communication unit 152 of the client side proxy 150 receives information for the client device from the server side proxy 140 through the network 130 by TCP communication, and transmits the information to the client device 120.

これによって、サーバ装置110から送信されたクライアント装置向けの情報が、サーバ側プロキシ140、ネットワーク130、およびクライアント側プロキシ150を経由して、クライアント装置120へ届けられる。若し、ネットワーク130においてパケットロスが発生した場合、第3の通信部141はTCP通信によるACKを第2の通信部152から受信できないため、パケットの再送を行う。これによって、サーバ装置110から送信されたクライアント装置向けの情報がクライアント装置120に確実に届けられる。   As a result, the information for the client device transmitted from the server device 110 is delivered to the client device 120 via the server-side proxy 140, the network 130, and the client-side proxy 150. If a packet loss occurs in the network 130, the third communication unit 141 cannot receive an ACK by the TCP communication from the second communication unit 152, and retransmits the packet. Thereby, the information for the client device transmitted from the server device 110 is reliably delivered to the client device 120.

このように本実施形態によれば、プロキシ間のネットワーク経由の通信でパケットロスが発生した際、リカバリや順序制御がTCPによって自動的に実施されるため、パケットロスが発生した際のリカバリや順序制御を独自に開発しなくてもパケットロスが多発する通信環境においてリモートデスクトップ接続を利用することが可能になる。   As described above, according to the present embodiment, when packet loss occurs in communication via a network between proxies, recovery and order control are automatically performed by TCP. Therefore, recovery and order when packet loss occurs are performed. Remote desktop connection can be used in a communication environment where packet loss occurs frequently without developing control independently.

[第2の実施形態]
図2を参照すると、本発明の第2の実施形態にかかるリモートデスクトップシステム200は、情報処理装置210と情報処理装置220とがネットワーク230を介して接続されている。
[Second Embodiment]
Referring to FIG. 2, in a remote desktop system 200 according to the second embodiment of the present invention, an information processing device 210 and an information processing device 220 are connected via a network 230.

情報処理装置210は、リモートデスクトップサーバモジュール240と、サーバ側プロキシモジュール250と、TCP通信部260とを有する。リモートデスクトップサーバモジュール240は、情報処理装置210をリモートデスクトップシステムにおけるサーバ装置として機能させるためのプログラムモジュールである。TCP通信部260は、情報処理装置210がネットワーク230を介して情報処理装置220等の他の装置とTCP通信を行うためのプログラムモジュールである。サーバ側プロキシモジュール250は、リモートデスクトップサーバモジュール240とTCP通信部260との間に介在するプログラムモジュールである。このサーバ側プロキシモジュール250を省略し、リモートデスクトップサーバモジュール240をTCP通信部260に接続する構成でもリモートデスクトップ接続は基本的に可能であるが、サーバ側の機能拡張のために、サーバ側プロキシモジュール250を介在させるようにしている。   The information processing apparatus 210 includes a remote desktop server module 240, a server side proxy module 250, and a TCP communication unit 260. The remote desktop server module 240 is a program module for causing the information processing apparatus 210 to function as a server apparatus in a remote desktop system. The TCP communication unit 260 is a program module for the information processing device 210 to perform TCP communication with other devices such as the information processing device 220 via the network 230. The server side proxy module 250 is a program module interposed between the remote desktop server module 240 and the TCP communication unit 260. Although the server-side proxy module 250 is omitted and the remote desktop server module 240 is basically connected to the TCP communication unit 260, remote desktop connection is basically possible. 250 is interposed.

また情報処理装置220は、リモートデスクトップクライアントモジュール270と、クライアント側プロキシモジュール280と、TCP通信部290とを有する。リモートデスクトップクライアントモジュール280は、情報処理装置220をリモートデスクトップシステムにおけるクライアント装置として機能させるためのプログラムモジュールである。TCP通信部290は、情報処理装置220がネットワーク230を介して情報処理装置210等の他の装置とTCP通信を行うためのプログラムモジュールである。クライアント側プロキシモジュール280は、リモートデスクトップクライアントモジュール270とTCP通信部290との間に介在するプログラムモジュールである。このクライアント側プロキシモジュール280を省略し、リモートデスクトップクライアントモジュール270をTCP通信部270に接続する構成でもリモートデスクトップ接続は基本的に可能であるが、クライアント側の機能拡張のために、クライアント側プロキシモジュール280を介在させるようにしている。   The information processing apparatus 220 includes a remote desktop client module 270, a client side proxy module 280, and a TCP communication unit 290. The remote desktop client module 280 is a program module for causing the information processing apparatus 220 to function as a client apparatus in the remote desktop system. The TCP communication unit 290 is a program module for the information processing apparatus 220 to perform TCP communication with other apparatuses such as the information processing apparatus 210 via the network 230. The client side proxy module 280 is a program module interposed between the remote desktop client module 270 and the TCP communication unit 290. Although the client-side proxy module 280 is omitted and the remote desktop client module 270 is connected to the TCP communication unit 270, remote desktop connection is basically possible. However, in order to expand the function on the client side, the client-side proxy module 280 is interposed.

クライアント側プロキシモジュール280は、通信部281と通信部282とを有する。   The client side proxy module 280 includes a communication unit 281 and a communication unit 282.

通信部281は、リモートデスクトップクライアントモジュール270から、遠隔操作に必要なコマンド等の各種情報(サーバ装置向けの情報)を受信し、TCP通信部290の機能を使ってTCP通信によりネットワーク230を通じてサーバ側の情報処理装置210へ送信する機能を有する。通信部281は、受信部2811と中間バッファ2812と送信部2813とを有する。   The communication unit 281 receives various types of information (information for the server device) such as commands necessary for remote operation from the remote desktop client module 270, and uses the function of the TCP communication unit 290 to perform server communication through the network 230 by TCP communication. The information processing apparatus 210 has a function of transmitting to the information processing apparatus 210. The communication unit 281 includes a reception unit 2811, an intermediate buffer 2812, and a transmission unit 2813.

中間バッファ2812は、サーバ装置向けの情報を一時的に蓄積するバッファメモリである。   The intermediate buffer 2812 is a buffer memory that temporarily stores information for the server device.

受信部2811は、リモートデスクトップクライアントモジュール270から受信したサーバ装置向けの情報を中間バッファ2812に格納する機能を有する。受信部2811は、受信バッファ28111と受信処理部28112とを有する。受信バッファ28111は、リモートデスクトップクライアントモジュール270からリモートデスクトップサーバモジュール240に送るサーバ装置向けの情報を一時的に蓄積するバッファである。リモートデスクトップクライアントモジュール270は、リモートデスクトップサーバモジュール240に対してサーバ装置向けの情報を送信する場合、送信する情報を受信バッファ28111に書き込む。受信処理部28112は、受信バッファ28111に書き込まれた情報を読み出して、中間バッファ2812に書き込む機能を有する。   The receiving unit 2811 has a function of storing information for the server apparatus received from the remote desktop client module 270 in the intermediate buffer 2812. The reception unit 2811 includes a reception buffer 28111 and a reception processing unit 28112. The reception buffer 28111 is a buffer for temporarily storing information for the server device sent from the remote desktop client module 270 to the remote desktop server module 240. When the remote desktop client module 270 transmits information for the server device to the remote desktop server module 240, the remote desktop client module 270 writes the information to be transmitted in the reception buffer 28111. The reception processing unit 28112 has a function of reading information written in the reception buffer 28111 and writing it in the intermediate buffer 2812.

送信部2813は、中間バッファ2812に蓄積されたサーバ装置向けの情報をTCP通信部290の機能を使ってTCP通信によりネットワーク230を通じて情報処理装置210へ送信する機能を有する。送信部2813は、送信処理部28131と送信バッファ28132とを有する。送信処理部28131は、中間バッファ2812に蓄積されたサーバ装置向けの情報を読み出して送信バッファ28132に書き込む機能を有する。送信バッファ28132に書き込まれた情報はTCP通信部290によって読み出され、ネットワーク230を通じて情報処理装置210へ送信される。   The transmission unit 2813 has a function of transmitting information for the server apparatus stored in the intermediate buffer 2812 to the information processing apparatus 210 through the network 230 by TCP communication using the function of the TCP communication unit 290. The transmission unit 2813 includes a transmission processing unit 28131 and a transmission buffer 28132. The transmission processing unit 28131 has a function of reading out information for the server apparatus accumulated in the intermediate buffer 2812 and writing it in the transmission buffer 28132. Information written in the transmission buffer 28132 is read by the TCP communication unit 290 and transmitted to the information processing apparatus 210 through the network 230.

例えば、通信部281は1つのアプリケーション(プロセス)で構成され、受信バッファ28111および送信バッファ28132はソケット(Socket)バッファで構成される。また受信部2811と送信部2813とはそれぞれ1つのスレッドとして動作する。このため、受信部2811と送信部2813とは独立に並行して動作する。   For example, the communication unit 281 is configured by one application (process), and the reception buffer 28111 and the transmission buffer 28132 are configured by a socket buffer. Each of the reception unit 2811 and the transmission unit 2813 operates as one thread. For this reason, the reception unit 2811 and the transmission unit 2813 operate independently and in parallel.

通信部282は、サーバ側の情報処理装置210からTCP通信部290およびネットワーク230を通じてTCP通信によって、コマンドに対する応答データやGUIの画面データ等(クライアント向けの情報)を受信し、リモートデスクトップクライアントモジュール270へ送信する機能を有する。通信部282は、受信部2821と中間バッファ2822と送信部2823とを有する。   The communication unit 282 receives response data for commands, GUI screen data and the like (information for clients) by TCP communication from the server-side information processing device 210 through the TCP communication unit 290 and the network 230, and the remote desktop client module 270. It has a function to transmit to. The communication unit 282 includes a reception unit 2821, an intermediate buffer 2822, and a transmission unit 2823.

中間バッファ2822は、クライアント装置向けの情報を一時的に蓄積するバッファメモリである。   The intermediate buffer 2822 is a buffer memory that temporarily stores information for the client device.

受信部2821は、TCP通信部290から受信したクライアント装置向けの情報を中間バッファ2822に格納する機能を有する。受信部2821は、受信バッファ28211と受信処理部28212とを有する。受信バッファ28211は、情報処理装置210から受信したクライアント装置向けの情報を一時的に蓄積するバッファである。TCP通信部290は、ネットワーク230を通じて情報処理装置210のリモートデスクトップサーバモジュール240からクライアント装置向けの情報を受信すると、この受信した情報を受信バッファ28211に書き込む。受信処理部28212は、受信バッファ28211に書き込まれた情報を読み出して、中間バッファ2822に書き込む機能を有する。   The reception unit 2821 has a function of storing information for the client device received from the TCP communication unit 290 in the intermediate buffer 2822. The reception unit 2821 includes a reception buffer 28211 and a reception processing unit 28212. The reception buffer 28211 is a buffer that temporarily stores information for the client device received from the information processing device 210. When the TCP communication unit 290 receives information for the client device from the remote desktop server module 240 of the information processing device 210 via the network 230, the TCP communication unit 290 writes the received information in the reception buffer 28211. The reception processing unit 28212 has a function of reading information written in the reception buffer 28211 and writing it in the intermediate buffer 2822.

送信部2823は、中間バッファ2822に蓄積されたクライアント装置向けの情報をリモートデスクトップクライアントモジュール270へ送信する機能を有する。送信部2823は、送信処理部28231と送信バッファ28232とを有する。送信処理部28231は、中間バッファ2822に蓄積されたクライアント装置向けの情報を読み出して送信バッファ28232に書き込む機能を有する。送信バッファ28232に書き込まれた情報はリモートデスクトップクライアントモジュール270によって読み出される。   The transmission unit 2823 has a function of transmitting information for the client device stored in the intermediate buffer 2822 to the remote desktop client module 270. The transmission unit 2823 includes a transmission processing unit 28231 and a transmission buffer 28232. The transmission processing unit 28231 has a function of reading out information for the client device accumulated in the intermediate buffer 2822 and writing it in the transmission buffer 28232. Information written in the transmission buffer 28232 is read by the remote desktop client module 270.

例えば、通信部282は1つのアプリケーション(プロセス)で構成され、受信バッファ28211および送信バッファ28232はソケット(Socket)バッファで構成される。また受信部2821と送信部2823とはそれぞれ1つのスレッドとして動作する。このため、受信部2821と送信部2823とは独立に並行して動作する。   For example, the communication unit 282 is configured by one application (process), and the reception buffer 28211 and the transmission buffer 28232 are configured by a socket buffer. Each of the reception unit 2821 and the transmission unit 2823 operates as one thread. For this reason, the receiving unit 2821 and the transmitting unit 2823 operate independently and in parallel.

サーバ側プロキシモジュール250は、通信部251と通信部252とを有する。   The server side proxy module 250 includes a communication unit 251 and a communication unit 252.

通信部251は、リモートデスクトップサーバモジュール240から、クライアント向けの情報を受信し、TCP通信部260の機能を使ってTCP通信によりネットワーク230を通じてクライアント側の情報処理装置220へ送信する機能を有する。通信部251は、受信部2511と中間バッファ2512と送信部2513とを有する。   The communication unit 251 has a function of receiving information for the client from the remote desktop server module 240 and transmitting the information to the information processing apparatus 220 on the client side through the network 230 by TCP communication using the function of the TCP communication unit 260. The communication unit 251 includes a reception unit 2511, an intermediate buffer 2512, and a transmission unit 2513.

中間バッファ2512は、クライアント装置向けの情報を一時的に蓄積するバッファメモリである。   The intermediate buffer 2512 is a buffer memory that temporarily stores information for the client device.

受信部2511は、リモートデスクトップサーバモジュール240から受信したクライアント装置向けの情報を中間バッファ2512に格納する機能を有する。受信部2511は、受信バッファ25111と受信処理部25112とを有する。受信バッファ25111は、リモートデスクトップサーバモジュール240からリモートデスクトップクライアントモジュール270に送るクライアント装置向けの情報を一時的に蓄積するバッファである。リモートデスクトップサーバモジュール240は、リモートデスクトップクライアントモジュール270に対してクライアント装置向けの情報を送信する場合、送信する情報を受信バッファ25111に書き込む。受信処理部25112は、受信バッファ25111に書き込まれた情報を読み出して、中間バッファ2512に書き込む機能を有する。   The receiving unit 2511 has a function of storing information for the client device received from the remote desktop server module 240 in the intermediate buffer 2512. The reception unit 2511 includes a reception buffer 25111 and a reception processing unit 25112. The reception buffer 25111 is a buffer for temporarily storing information for the client device to be sent from the remote desktop server module 240 to the remote desktop client module 270. When the remote desktop server module 240 transmits information for the client device to the remote desktop client module 270, the remote desktop server module 240 writes the information to be transmitted in the reception buffer 25111. The reception processing unit 25112 has a function of reading information written in the reception buffer 25111 and writing it in the intermediate buffer 2512.

送信部2513は、中間バッファ2512に蓄積されたクライアント装置向けの情報をTCP通信部260の機能を使ってTCP通信によりネットワーク230を通じて情報処理装置220へ送信する機能を有する。送信部2513は、送信処理部25131と送信バッファ25132とを有する。送信処理部25131は、中間バッファ2512に蓄積されたクライアント装置向けの情報を読み出して送信バッファ25132に書き込む機能を有する。送信バッファ25132に書き込まれた情報はTCP通信部260によって読み出され、ネットワーク230を通じて情報処理装置220へ送信される。   The transmission unit 2513 has a function of transmitting information for the client apparatus stored in the intermediate buffer 2512 to the information processing apparatus 220 through the network 230 by TCP communication using the function of the TCP communication unit 260. The transmission unit 2513 includes a transmission processing unit 25131 and a transmission buffer 25132. The transmission processing unit 25131 has a function of reading out information for the client device accumulated in the intermediate buffer 2512 and writing it in the transmission buffer 25132. The information written in the transmission buffer 25132 is read by the TCP communication unit 260 and transmitted to the information processing apparatus 220 through the network 230.

例えば、通信部251は1つのアプリケーション(プロセス)で構成され、受信バッファ25111および送信バッファ25132はソケット(Socket)バッファで構成される。また受信部2511と送信部2513とはそれぞれ1つのスレッドとして動作する。このため、受信部2511と送信部2513とは独立に並行して動作する。   For example, the communication unit 251 is configured with one application (process), and the reception buffer 25111 and the transmission buffer 25132 are configured with a socket buffer. Each of the receiving unit 2511 and the transmitting unit 2513 operates as one thread. For this reason, the receiving unit 2511 and the transmitting unit 2513 operate independently and in parallel.

通信部252は、クライアント側の情報処理装置220からTCP通信部260およびネットワーク230を通じてTCP通信によって、サーバ装置向けの情報を受信し、リモートデスクトップサーバモジュール240へ送信する機能を有する。通信部252は、受信部2521と中間バッファ2522と送信部2523とを有する。   The communication unit 252 has a function of receiving information for the server device from the information processing device 220 on the client side through the TCP communication unit 260 and the network 230 and transmitting the information for the server device to the remote desktop server module 240. The communication unit 252 includes a reception unit 2521, an intermediate buffer 2522, and a transmission unit 2523.

中間バッファ2522は、サーバ装置向けの情報を一時的に蓄積するバッファメモリである。   The intermediate buffer 2522 is a buffer memory that temporarily accumulates information for the server device.

受信部2521は、TCP通信部260から受信したサーバ装置向けの情報を中間バッファ2522に格納する機能を有する。受信部2521は、受信バッファ25211と受信処理部25212とを有する。受信バッファ25211は、情報処理装置220から受信したサーバ装置向けの情報を一時的に蓄積するバッファである。TCP通信部260は、ネットワーク230を通じて情報処理装置220のリモートデスクトップサーバモジュール270からサーバ装置向けの情報を受信すると、この受信した情報を受信バッファ25211に書き込む。受信処理部25212は、受信バッファ25211に書き込まれた情報を読み出して、中間バッファ2522に書き込む機能を有する。   The receiving unit 2521 has a function of storing information for the server device received from the TCP communication unit 260 in the intermediate buffer 2522. The reception unit 2521 includes a reception buffer 25211 and a reception processing unit 25212. The reception buffer 25211 is a buffer that temporarily accumulates information for the server device received from the information processing device 220. When the TCP communication unit 260 receives information for the server device from the remote desktop server module 270 of the information processing device 220 via the network 230, the TCP communication unit 260 writes the received information in the reception buffer 25211. The reception processing unit 25212 has a function of reading information written in the reception buffer 25211 and writing it in the intermediate buffer 2522.

送信部2523は、中間バッファ2522に蓄積されたサーバ装置向けの情報をリモートデスクトップサーバモジュール240へ送信する機能を有する。送信部2523は、送信処理部25231と送信バッファ25232とを有する。送信処理部25231は、中間バッファ2522に蓄積されたサーバ装置向けの情報を読み出して送信バッファ25232に書き込む機能を有する。送信バッファ25232に書き込まれた情報はリモートデスクトップサーバモジュール240によって読み出される。   The transmission unit 2523 has a function of transmitting information for the server apparatus stored in the intermediate buffer 2522 to the remote desktop server module 240. The transmission unit 2523 includes a transmission processing unit 25231 and a transmission buffer 25232. The transmission processing unit 25231 has a function of reading information for the server device accumulated in the intermediate buffer 2522 and writing it in the transmission buffer 25232. Information written in the transmission buffer 25232 is read by the remote desktop server module 240.

例えば、通信部252は1つのアプリケーション(プロセス)で構成され、受信バッファ25211および送信バッファ25232はソケット(Socket)バッファで構成される。また受信部2521と送信部2523とはそれぞれ1つのスレッドとして動作する。このため、受信部2521と送信部2523とは独立に並行して動作する。   For example, the communication unit 252 is configured by one application (process), and the reception buffer 25211 and the transmission buffer 25232 are configured by a socket buffer. Each of the receiving unit 2521 and the transmitting unit 2523 operates as one thread. For this reason, the receiving unit 2521 and the transmitting unit 2523 operate independently and in parallel.

次に本実施形態に係るリモートデスクトップシステム200の動作を説明する。   Next, the operation of the remote desktop system 200 according to the present embodiment will be described.

リモートデスクトップシステム200では、情報処理装置220のリモートデスクトップクライアントモジュール270から情報処理装置210のリモートデスクトップサーバモジュール240に向けて、遠隔操作に必要なコマンド等の各種情報(サーバ装置向けの情報)が送信される。他方、情報処理装置210のリモートデスクトップサーバモジュール240から情報処理装置220のリモートデスクトップクライアントモジュール270に向けて、コマンドに対する応答データやGUIの画面データ等(クライアント装置向けの情報)が送信される。これらサーバ装置向けの情報およびクライアント装置向けの情報は、本実施形態では以下のようにして送受信される。   In the remote desktop system 200, various information (information for the server device) such as commands necessary for remote operation is transmitted from the remote desktop client module 270 of the information processing device 220 to the remote desktop server module 240 of the information processing device 210. Is done. On the other hand, response data to the command, GUI screen data, etc. (information for the client device) are transmitted from the remote desktop server module 240 of the information processing device 210 to the remote desktop client module 270 of the information processing device 220. In the present embodiment, the information for the server device and the information for the client device are transmitted and received as follows.

まず、リモートデスクトップクライアントモジュール270は、サーバ装置向けの情報をクライアント側プロキシモジュール280の通信部281の受信部2811における受信バッファ28111に書き込む。   First, the remote desktop client module 270 writes information for the server device in the reception buffer 28111 in the reception unit 2811 of the communication unit 281 of the client side proxy module 280.

次に、通信部281の受信処理部28112は、サーバ装置向けの情報が受信バッファ28111に蓄積されると、それを読み出して、中間バッファ2812に書き込む。   Next, when the information for the server device is accumulated in the reception buffer 28111, the reception processing unit 28112 of the communication unit 281 reads it and writes it in the intermediate buffer 2812.

次に、通信部281の送信部2813の送信処理部28131は、サーバ装置向けの情報が中間バッファ2812に蓄積されると、それを読み出して、送信バッファ28132に書き込む。   Next, when the information for the server device is accumulated in the intermediate buffer 2812, the transmission processing unit 28131 of the transmission unit 2813 of the communication unit 281 reads it and writes it in the transmission buffer 28132.

次に、TCP通信部290は、送信バッファ28132にサーバ装置向けの情報が蓄積されると、それを読み出して、ネットワーク230を通じてTCP通信により情報処理装置210のリモートデスクトップサーバモジュール240宛に送信する。   Next, when information for the server device is accumulated in the transmission buffer 28132, the TCP communication unit 290 reads the information and transmits it to the remote desktop server module 240 of the information processing device 210 via the network 230 by TCP communication.

情報処理装置210のTCP通信部260は、TCP通信部290によって送信されたサーバ装置向けの情報を受信すると、受信した情報をサーバ側プロキシモジュール250の通信部252の受信部2521における受信バッファ25211に書き込む。   When the TCP communication unit 260 of the information processing device 210 receives the information for the server device transmitted by the TCP communication unit 290, the received information is stored in the reception buffer 25211 in the reception unit 2521 of the communication unit 252 of the server side proxy module 250. Write.

受信部2521の受信処理部25212は、サーバ装置向けの情報が受信バッファ25211に蓄積されると、それを読み出して、中間バッファ2522に書き込む。   When the information for the server device is accumulated in the reception buffer 25211, the reception processing unit 25212 of the reception unit 2521 reads the information and writes it in the intermediate buffer 2522.

通信部252の送信部における送信処理部25231は、中間バッファ2522にサーバ装置向けの情報が蓄積されると、それを読み出して、送信バッファ25232に書き込む。   When the information for the server device is accumulated in the intermediate buffer 2522, the transmission processing unit 25231 in the transmission unit of the communication unit 252 reads it and writes it in the transmission buffer 25232.

リモートデスクトップサーバモジュール240は、送信バッファ25232にサーバ装置向けの情報が蓄積されると、それを読み出す。そして、リモートデスクトップサーバモジュール240は、読み出した情報に応じた処理を実行する。   When the information for the server device is accumulated in the transmission buffer 25232, the remote desktop server module 240 reads the information. Then, the remote desktop server module 240 executes processing according to the read information.

以上のような動作によって、リモートデスクトップクライアントモジュール270から送信されたサーバ装置向けの情報が、クライアント側プロキシモジュール280の通信部281、TCP通信部290、ネットワーク230、TCP通信部260、サーバ側プロキシモジュール250の通信部252を経由して、リモートデスクトップサーバモジュール240へ届けられ、その情報に応じたサーバ処理が実行されることになる。若し、ネットワーク230においてパケットロスが発生した場合、TCP通信部290はTCP通信によるACKをTCP通信部260から受信できないため、パケットの再送を行う。これによって、サーバ装置向けの情報が情報処理装置220から情報処理装置210に確実に届けられる。   Through the operation as described above, the information for the server device transmitted from the remote desktop client module 270 is converted into the communication unit 281, the TCP communication unit 290, the network 230, the TCP communication unit 260, and the server side proxy module of the client side proxy module 280. The data is delivered to the remote desktop server module 240 via the communication unit 252 of 250, and server processing corresponding to the information is executed. If a packet loss occurs in the network 230, the TCP communication unit 290 cannot receive an ACK by the TCP communication from the TCP communication unit 260, and retransmits the packet. As a result, information for the server device is reliably delivered from the information processing device 220 to the information processing device 210.

また、通信部252、281は、中間バッファ2522、2812と、互いに独立して動作する受信部2521、2811および送信部2523、2813とから構成されているため、それぞれの通信部252、281では、送信動作の影響を受けずに受信動作が行え、その逆に受信動作の影響を受けずに送信動作が行える。例えば、通信部281の場合、ネットワーク230の通信状態が悪化して送信バッファ28132が満杯になり送信部2813の送信が一時的に停止したとしても、中間バッファ2812に空きがある限り、受信部2811はリモートデスクトップクライアントモジュール270からサーバ装置向けの情報を受信し続けることができる。これによってネットワーク230の通信状態の悪化によってリモートデスクトップクライアントモジュール270の動作が停止するのを防止できる。   In addition, the communication units 252 and 281 are configured by intermediate buffers 2522 and 2812, and reception units 2521 and 2811 and transmission units 2523 and 2813 that operate independently of each other. A reception operation can be performed without being affected by the transmission operation, and conversely, a transmission operation can be performed without being influenced by the reception operation. For example, in the case of the communication unit 281, even if the communication state of the network 230 deteriorates and the transmission buffer 28132 becomes full and transmission of the transmission unit 2813 temporarily stops, as long as the intermediate buffer 2812 has a free space, the reception unit 2811 Can continue to receive information for the server device from the remote desktop client module 270. Accordingly, it is possible to prevent the operation of the remote desktop client module 270 from being stopped due to the deterioration of the communication state of the network 230.

次に、クライアント装置向けの情報を送受信する動作について説明する。   Next, an operation for transmitting and receiving information for the client device will be described.

まず、リモートデスクトップサーバモジュール240は、クライアント装置向けの情報をサーバ側プロキシモジュール250の通信部251の受信部2511における受信バッファ25111に書き込む。   First, the remote desktop server module 240 writes information for the client device in the reception buffer 25111 in the reception unit 2511 of the communication unit 251 of the server side proxy module 250.

次に、通信部251の受信処理部25112は、クライアント装置向けの情報が受信バッファ25111に蓄積されると、それを読み出して、中間バッファ2512に書き込む。   Next, when the information for the client device is accumulated in the reception buffer 25111, the reception processing unit 25112 of the communication unit 251 reads it and writes it in the intermediate buffer 2512.

次に、通信部251の送信部2513の送信処理部25131は、クライアント装置向けの情報が中間バッファ2512に蓄積されると、それを読み出して、送信バッファ25132に書き込む。   Next, when information for the client device is accumulated in the intermediate buffer 2512, the transmission processing unit 25131 of the transmission unit 2513 of the communication unit 251 reads it and writes it in the transmission buffer 25132.

次に、TCP通信部260は、送信バッファ25132にクライアント装置向けの情報が蓄積されると、それを読み出して、ネットワーク230を通じてTCP通信により情報処理装置220のリモートデスクトップクライアントモジュール270宛に送信する。   Next, when the information for the client device is accumulated in the transmission buffer 25132, the TCP communication unit 260 reads the information and transmits it to the remote desktop client module 270 of the information processing device 220 through the network 230 by TCP communication.

情報処理装置220のTCP通信部290は、TCP通信部260によって送信されたクライアント装置向けの情報を受信すると、受信した情報をクライアント側プロキシモジュール280の通信部282の受信部2821における受信バッファ28211に書き込む。   When the TCP communication unit 290 of the information processing device 220 receives the information for the client device transmitted by the TCP communication unit 260, the received information is stored in the reception buffer 28211 of the reception unit 2821 of the communication unit 282 of the client side proxy module 280. Write.

受信部2821の受信処理部28212は、クライアント装置向けの情報が受信バッファ28211に蓄積されると、それを読み出して、中間バッファ2822に書き込む。   When information for the client device is accumulated in the reception buffer 28211, the reception processing unit 28212 of the reception unit 2821 reads it and writes it in the intermediate buffer 2822.

通信部282の送信部における送信処理部28231は、中間バッファ2822にクライアント装置向けの情報が蓄積されると、それを読み出して、送信バッファ28232に書き込む。   When the information for the client device is accumulated in the intermediate buffer 2822, the transmission processing unit 28231 in the transmission unit of the communication unit 282 reads the information and writes it in the transmission buffer 28232.

リモートデスクトップクライアントモジュール270は、送信バッファ28232にクライアント装置向けの情報が蓄積されると、それを読み出す。そして、リモートデスクトップサーバクライアントモジュール270は、読み出した情報に応じた処理を実行する。   When the information for the client device is accumulated in the transmission buffer 28232, the remote desktop client module 270 reads the information. Then, the remote desktop server client module 270 executes processing according to the read information.

以上のような動作によって、リモートデスクトップサーバモジュール240から送信されたクライアント装置向けの情報が、サーバ側プロキシモジュール250の通信部251、TCP通信部260、ネットワーク230、TCP通信部290、サーバ側プロキシモジュール280の通信部282を経由して、リモートデスクトップクライアントモジュール270へ届けられ、その情報に応じたクライアント処理が実行されることになる。若し、ネットワーク230においてパケットロスが発生した場合、TCP通信部260はTCP通信によるACKをTCP通信部290から受信できないため、パケットの再送を行う。これによって、クライアント装置向けの情報が情報処理装置210から情報処理装置220に確実に届けられる。   Through the operation as described above, the information for the client device transmitted from the remote desktop server module 240 is converted into the communication unit 251, the TCP communication unit 260, the network 230, the TCP communication unit 290, and the server side proxy module of the server side proxy module 250. The data is delivered to the remote desktop client module 270 via the communication unit 282 of the H.280, and client processing corresponding to the information is executed. If a packet loss occurs in the network 230, the TCP communication unit 260 retransmits the packet because it cannot receive the ACK by the TCP communication from the TCP communication unit 290. As a result, information for the client device is reliably delivered from the information processing device 210 to the information processing device 220.

また、通信部251、282は、中間バッファ2512、2822と、互いに独立して動作する受信部2511、2821および送信部2513、2822とから構成されているため、それぞれの通信部251、282では、送信動作の影響を受けずに受信動作が行え、その逆に受信動作の影響を受けずに送信動作が行える。例えば、通信部251の場合、ネットワーク230の通信状態が悪化して送信バッファ25132が満杯になり送信部2513の動作が一時的に停止したとしても、中間バッファ2512に空きがある限り、受信部2511はリモートデスクトップサーバモジュール240からクライアント装置向けの情報を受信し続けることができる。これによってネットワーク230の通信状態の悪化によってリモートデスクトップサーバモジュール240の動作が停止するのを防止できる。   The communication units 251 and 282 are configured by intermediate buffers 2512 and 2822, and reception units 2511 and 2821 and transmission units 2513 and 2822 that operate independently of each other. A reception operation can be performed without being affected by the transmission operation, and conversely, a transmission operation can be performed without being influenced by the reception operation. For example, in the case of the communication unit 251, even if the communication state of the network 230 deteriorates and the transmission buffer 25132 becomes full and the operation of the transmission unit 2513 temporarily stops, as long as the intermediate buffer 2512 has a free space, the reception unit 2511 Can continue to receive information for the client device from the remote desktop server module 240. Accordingly, it is possible to prevent the operation of the remote desktop server module 240 from being stopped due to the deterioration of the communication state of the network 230.

[第3の実施形態]
図3を参照すると、本発明の第3の実施形態にかかるリモートデスクトップシステム300は、情報処理装置310と情報処理装置320とがネットワーク330を介して接続されている。
[Third embodiment]
Referring to FIG. 3, in a remote desktop system 300 according to the third embodiment of the present invention, an information processing device 310 and an information processing device 320 are connected via a network 330.

情報処理装置310は、リモートデスクトップサーバモジュール340と、サーバ側プロキシモジュール350と、TCP通信部360とを有する。リモートデスクトップサーバモジュール340およびTCP通信部360は、図2に示した第2の実施形態におけるリモートデスクトップサーバモジュール240およびTCP通信部260と同じ機能を有する。サーバ側プロキシモジュール350は、通信部351と通信部352とネットワーク状態確認部353とウインドウサイズ調整部354とを有する。通信部351および通信部352は、図2に示した第2の実施形態における通信部251および通信部252と同じ機能を有する。すなわち、通信部351が有する受信部3511、中間バッファ3512、送信部3513、上記受信部3511が有する受信バッファ35111、受信処理部35112、上記送信部3513が有する送信処理部35131、送信バッファ35132は、図2に示した第2の実施形態における通信部251が有する受信部2511、中間バッファ2512、送信部2513、上記受信部2511が有する受信バッファ25111、受信処理部25112、上記送信部2513が有する送信処理部25131、送信バッファ25132と同じ機能を有する。また、通信部352が有する受信部3521、中間バッファ3522、送信部3523、上記受信部3521が有する受信バッファ35211、受信処理部35212、上記送信部3523が有する送信処理部35231、送信バッファ35232は、図2に示した第2の実施形態における通信部252が有する受信部2521、中間バッファ2522、送信部2523、上記受信部2521が有する受信バッファ25211、受信処理部25212、上記送信部2523が有する送信処理部25231、送信バッファ25232と同じ機能を有する。   The information processing apparatus 310 includes a remote desktop server module 340, a server-side proxy module 350, and a TCP communication unit 360. The remote desktop server module 340 and the TCP communication unit 360 have the same functions as the remote desktop server module 240 and the TCP communication unit 260 in the second embodiment shown in FIG. The server-side proxy module 350 includes a communication unit 351, a communication unit 352, a network state confirmation unit 353, and a window size adjustment unit 354. The communication unit 351 and the communication unit 352 have the same functions as the communication unit 251 and the communication unit 252 in the second embodiment illustrated in FIG. That is, the reception unit 3511, the intermediate buffer 3512, the transmission unit 3513, the reception buffer 35111, the reception processing unit 35112, the transmission processing unit 35131, and the transmission buffer 35132 included in the transmission unit 3513 are included in the communication unit 351. The receiving unit 2511, the intermediate buffer 2512, the transmitting unit 2513, the receiving buffer 25111 included in the receiving unit 2511, the receiving processing unit 25112, and the transmitting unit 2513 included in the communication unit 251 in the second embodiment illustrated in FIG. It has the same functions as the processing unit 25131 and the transmission buffer 25132. The communication unit 352 includes a reception unit 3521, an intermediate buffer 3522, a transmission unit 3523, a reception buffer 35211, a reception processing unit 35212, a transmission processing unit 35231, and a transmission buffer 35232 included in the transmission unit 3523. The receiving unit 2521, the intermediate buffer 2522, the transmitting unit 2523, the receiving buffer 2521 included in the receiving unit 2521, the receiving processing unit 25212, and the transmitting unit 2523 included in the communication unit 252 in the second embodiment illustrated in FIG. It has the same functions as the processing unit 25231 and the transmission buffer 25232.

また情報処理装置320は、リモートデスクトップクライアントモジュール370と、クライアント側プロキシモジュール380と、TCP通信部390とを有する。リモートデスクトップクライアントモジュール370およびTCP通信部390は、図2に示した第2の実施形態におけるリモートデスクトップクライアントモジュール270およびTCP通信部290と同じ機能を有する。クライアント側プロキシモジュール380は、通信部381と通信部382とネットワーク状態確認部383とウインドウサイズ調整部384とを有する。通信部381および通信部382は、図2に示した第2の実施形態における通信部281および通信部282と同じ機能を有する。すなわち、通信部381が有する受信部3811、中間バッファ3812、送信部3813、上記受信部3811が有する受信バッファ38111、受信処理部38112、上記送信部3813が有する送信処理部38131、送信バッファ38132は、図2に示した第2の実施形態における通信部281が有する受信部2811、中間バッファ2812、送信部2813、上記受信部2811が有する受信バッファ28111、受信処理部28112、上記送信部2813が有する送信処理部28131、送信バッファ28132と同じ機能を有する。また、通信部382が有する受信部3821、中間バッファ3822、送信部3823、上記受信部3821が有する受信バッファ38211、受信処理部38212、上記送信部3823が有する送信処理部38231、送信バッファ38232は、図2に示した第2の実施形態における通信部282が有する受信部2821、中間バッファ2822、送信部2823、上記受信部2821が有する受信バッファ28211、受信処理部28212、上記送信部2823が有する送信処理部28231、送信バッファ28232と同じ機能を有する。   The information processing apparatus 320 includes a remote desktop client module 370, a client side proxy module 380, and a TCP communication unit 390. The remote desktop client module 370 and the TCP communication unit 390 have the same functions as the remote desktop client module 270 and the TCP communication unit 290 in the second embodiment shown in FIG. The client side proxy module 380 includes a communication unit 381, a communication unit 382, a network state confirmation unit 383, and a window size adjustment unit 384. The communication unit 381 and the communication unit 382 have the same functions as the communication unit 281 and the communication unit 282 in the second embodiment illustrated in FIG. That is, the reception unit 3811, the intermediate buffer 3812, the transmission unit 3813, the reception buffer 38111, the reception processing unit 38112, the transmission processing unit 38131, and the transmission buffer 38132 included in the transmission unit 3811 are included in the communication unit 381. The receiving unit 2811, the intermediate buffer 2812, the transmitting unit 2813, the receiving buffer 28111 included in the receiving unit 2811, the receiving processing unit 28112, and the transmitting unit 2813 included in the communication unit 281 in the second embodiment illustrated in FIG. It has the same functions as the processing unit 28131 and the transmission buffer 28132. The communication unit 382 includes a reception unit 3821, an intermediate buffer 3822, a transmission unit 3823, the reception unit 3821 includes a reception buffer 38211, a reception processing unit 38212, the transmission unit 3823 includes a transmission processing unit 38231, and a transmission buffer 38232. The receiving unit 2821, the intermediate buffer 2822, the transmitting unit 2823, the receiving buffer 2821 included in the receiving unit 2821, the reception processing unit 28212, and the transmitting unit 2823 included in the communication unit 282 in the second embodiment illustrated in FIG. It has the same functions as the processing unit 28231 and the transmission buffer 28232.

サーバ側プロキシモジュール350のネットワーク状態確認部353とクライアント側プロキシモジュール380のネットワーク状態確認部383とは、ネットワーク330の混雑状況を調査するためのテストデータをネットワーク330を通じて送受信することによって、情報処理装置310から情報処理装置320に向かう経路に関するネットワーク330の混雑状況を調査する機能を有する。ネットワーク330の混雑状況を表す指標として、本実施形態ではデータ転送時間を使用する。具体的には、ネットワーク状態確認部353は、現在時刻を送信時刻として記載したテストデータを送信バッファ35132に書き込むことによって、TCP通信部360を利用してネットワーク330およびTCP通信部390経由でテストデータをサーバ側プロキシモジュール350からクライアント側プロキシモジュール380の受信バッファ38211へ送信する。ネットワーク状態確認部383は、受信バッファ38211からテストデータを取り出し、テストデータに記載されている送信時刻と現在時刻との差から、送信バッファ35132から受信バッファ38211までのデータ転送時間を算出する。そして、ネットワーク状態確認部383は、算出したデータ転送時間を自モジュールのウインドウサイズ調整部384へ通知する。またネットワーク状態確認部383は、算出したデータ転送時間を記載した応答データを送信バッファ38132に書き込むことによって、TCP通信部390を利用してネットワーク330およびTCP通信部360経由で応答データをクライアント側プロキシモジュール380からサーバ側プロキシモジュール350の受信バッファ35211へ送信する。ネットワーク状態確認部353は、受信バッファ35211から応答データを取り出し、応答データに記載されているデータ転送時間をウインドウサイズ調整部354へ通知する。   The network state confirmation unit 353 of the server side proxy module 350 and the network state confirmation unit 383 of the client side proxy module 380 transmit and receive test data for investigating the congestion state of the network 330 through the network 330, thereby processing the information processing apparatus. It has a function of investigating the congestion status of the network 330 regarding the route from 310 to the information processing device 320. In this embodiment, the data transfer time is used as an index indicating the congestion status of the network 330. Specifically, the network state confirmation unit 353 writes the test data describing the current time as the transmission time in the transmission buffer 35132, thereby using the TCP communication unit 360 to transmit the test data via the network 330 and the TCP communication unit 390. Is transmitted from the server-side proxy module 350 to the reception buffer 38211 of the client-side proxy module 380. The network state confirmation unit 383 extracts the test data from the reception buffer 38211, and calculates the data transfer time from the transmission buffer 35132 to the reception buffer 38211 from the difference between the transmission time described in the test data and the current time. Then, the network state confirmation unit 383 notifies the calculated data transfer time to the window size adjustment unit 384 of its own module. Further, the network state confirmation unit 383 writes the response data describing the calculated data transfer time in the transmission buffer 38132, thereby using the TCP communication unit 390 to send the response data to the client side proxy via the network 330 and the TCP communication unit 360. The data is transmitted from the module 380 to the reception buffer 35211 of the server side proxy module 350. The network state confirmation unit 353 extracts the response data from the reception buffer 35211 and notifies the window size adjustment unit 354 of the data transfer time described in the response data.

テストデータを送信することによってクライアント装置向けの情報の送信が遅延することを避けるために、ネットワーク状態確認部353は、サーバ側プロキシモジュール350における送信待ちのクライアント装置向けの情報の量が閾値以下であるタイミングでテストデータを送信する。また、応答データを送信することによってサーバ装置向けの情報の送信が遅延することを避けるために、ネットワーク状態確認部383は、クライアント側プロキシモジュール380における送信待ちのサーバ装置向けの情報の量が閾値以下であるタイミングで応答データを送信する。   In order to avoid delaying the transmission of information for the client device by transmitting the test data, the network state confirmation unit 353 determines that the amount of information for the client device waiting for transmission in the server-side proxy module 350 is less than or equal to the threshold value. Send test data at a certain timing. In order to avoid delaying the transmission of information for the server device by transmitting the response data, the network state confirmation unit 383 determines that the amount of information for the server device waiting for transmission in the client side proxy module 380 is a threshold value. Response data is transmitted at the following timing.

ウインドウサイズ調整部354、384は、通知されたデータ転送時間に従って、TCP通信部360からTCP通信部390への送受信に使用するTCPのウインドウサイズを調整する機能を有する。例えば、TCPのウインドウサイズを拡大調整することによりデータ転送時間が短くなれば続けて拡大調整を行い、TCPのウインドウサイズを拡大調整することによりデータ転送時間が長くなれば逆に縮小調整を行う。また、TCPのウインドウサイズを縮小調整することによりデータ転送時間が短くなれば続けて縮小調整を行い、TCPのウインドウサイズを縮小調整することによりデータ転送時間が長くなれば逆に拡大調整を行う。   The window size adjustment units 354 and 384 have a function of adjusting the TCP window size used for transmission / reception from the TCP communication unit 360 to the TCP communication unit 390 according to the notified data transfer time. For example, if the data transfer time is shortened by enlarging the TCP window size, the enlargement adjustment is continued. If the data transfer time is lengthened by enlarging the TCP window size, the reduction adjustment is performed. Further, if the data transfer time is shortened by adjusting the TCP window size to be reduced, the reduction adjustment is performed continuously. If the data transfer time is increased by reducing the TCP window size, the enlargement adjustment is performed.

本実施形態では、ウインドウサイズの調整は、送受信に使用するソケットバッファのサイズの変更に伴ってウインドウサイズが決定されるソケットの仕組みを利用する。ソケットバッファのサイズの変更は、図4に示す式に従う。   In the present embodiment, the window size is adjusted using a socket mechanism in which the window size is determined in accordance with the change in the size of the socket buffer used for transmission and reception. The change in the size of the socket buffer follows the formula shown in FIG.

図4に示す式において、Xnは今回測定されたデータ転送時間、Xn-1は前回測定されたデータ転送時間、aは正の定数、Cnは今回のソケットバッファの増減量、Cn-1は前回のソケットバッファの増減量である。ソケットバッファの増減量が一定量より少ない場合は、増減調整を行わず又n回目の測定データとして採用しない。また、ソケットバッファのサイズは正の最小値を持ち、初期値は予め設定されたデフォルト値を使用する。 In the formula shown in FIG. 4, X n is the measured data transfer time now, X n-1 is the previous measured data transfer time, a is a positive constant, C n is increased or decreased amount of the current socket buffer, C n -1 is the previous increase / decrease amount of the socket buffer. When the increase / decrease amount of the socket buffer is smaller than a certain amount, the increase / decrease adjustment is not performed, and it is not adopted as the nth measurement data. The socket buffer size has a positive minimum value, and the initial value uses a preset default value.

次に本実施形態に係るリモートデスクトップシステム300の動作を説明する。本実施形態に係るリモートデスクトップシステム300の動作のうち、ネットワーク状態確認部353、383およびウインドウサイズ調整部354、384以外の動作は、図2に示した第2の実施形態に係るリモートデスクトップシステム200の動作と同じである。以下では、ネットワーク状態確認部353、383およびウインドウサイズ調整部354、384の動作を説明する。   Next, the operation of the remote desktop system 300 according to the present embodiment will be described. Of the operations of the remote desktop system 300 according to the present embodiment, the operations other than the network state confirmation units 353 and 383 and the window size adjustment units 354 and 384 are the remote desktop system 200 according to the second embodiment shown in FIG. Is the same as the operation. Hereinafter, operations of the network state confirmation units 353 and 383 and the window size adjustment units 354 and 384 will be described.

リモートデスクトップクライアントモジュール370とリモートデスクトップサーバモジュール340との間で、クライアント側プロキシモジュール380、TCP通信部390、ネットワーク330、TCP通信部360、およびサーバ側プロキシモジュール350を通じて相互に通信可能な状態になると、サーバ側プロキシモジュール350のネットワーク状態確認部353は予め定められた一定周期(例えば数分)毎に図5に示す処理の実行を開始し、クライアント側プロキシモジュール380のネットワーク状態確認部383は図6に示す処理の実行を開始する。   When the remote desktop client module 370 and the remote desktop server module 340 can communicate with each other through the client side proxy module 380, the TCP communication unit 390, the network 330, the TCP communication unit 360, and the server side proxy module 350. The network state confirmation unit 353 of the server side proxy module 350 starts executing the processing shown in FIG. 5 at a predetermined period (for example, several minutes), and the network state confirmation unit 383 of the client side proxy module 380 6 is started.

サーバ側プロキシモジュール350のネットワーク状態確認部353は、起動されると、中間バッファ3512が空であるか否かを判定する(S301)。この処理は、サーバ側プロキシモジュール350における送信待ちのクライアント装置向けの情報の量が閾値以下であるか否かを判定する処理の一例である。若し、中間バッファ3512が空きでなければ、図5に示す処理を終了する。若し、中間バッファ3512が空きであれば、現在時刻を送信時刻として記載したテストデータを送信バッファ35132に書き込む(S302)。そして、テストデータに対する応答データが受信バッファ35211に到着するのを監視する(S303)。   When activated, the network state confirmation unit 353 of the server side proxy module 350 determines whether or not the intermediate buffer 3512 is empty (S301). This process is an example of a process for determining whether or not the amount of information for the client device waiting for transmission in the server side proxy module 350 is equal to or less than a threshold value. If the intermediate buffer 3512 is not empty, the processing shown in FIG. 5 is terminated. If the intermediate buffer 3512 is empty, the test data describing the current time as the transmission time is written into the transmission buffer 35132 (S302). Then, it is monitored whether response data for the test data arrives at the reception buffer 35211 (S303).

送信バッファ35132に書き込まれたテストデータは、TCP通信部360によってネットワーク330を通じて情報処理装置310から情報処理装置320へ送信され、TCP通信部390で受信されてクライアント側プロキシモジュール380の受信バッファ38211に書き込まれる。   The test data written in the transmission buffer 35132 is transmitted from the information processing apparatus 310 to the information processing apparatus 320 through the network 330 by the TCP communication unit 360, received by the TCP communication unit 390, and received in the reception buffer 38211 of the client side proxy module 380. Written.

クライアント側プロキシモジュール380のネットワーク状態確認部383は、テストデータが受信バッファ38211に到着するのを常時監視している(S311)。ネットワーク状態確認部383は、テストデータが受信バッファ38211に到着すると、それを取り出し(S312)、テストデータに記載された送信時刻と現在時刻との差をデータ転送時間として算出する(S313)。次にネットワーク状態確認部383は、算出したデータ転送時間を応答データに記載し(S314)、中間バッファ3812が空のタイミングで(S315でYES)、応答データを送信バッファ38132に書き込む(S316)。ステップS315の処理は、クライアント側プロキシモジュール380における送信待ちのサーバ装置向けの情報の量が閾値以下であるか否かを判定する処理の一例である。またネットワーク状態確認部383は、上記算出したデータ転送時間をウインドウサイズ調整部384に通知する(S317)。そして、ネットワーク状態確認部383は、ステップS311の処理へと戻る。   The network state confirmation unit 383 of the client side proxy module 380 constantly monitors the arrival of the test data in the reception buffer 38211 (S311). When the test data arrives at the reception buffer 38211, the network state confirmation unit 383 extracts the data (S312), and calculates the difference between the transmission time described in the test data and the current time as the data transfer time (S313). Next, the network status confirmation unit 383 writes the calculated data transfer time in the response data (S314), and writes the response data to the transmission buffer 38132 when the intermediate buffer 3812 is empty (YES in S315) (S316). The processing in step S315 is an example of processing for determining whether or not the amount of information for the server device waiting for transmission in the client side proxy module 380 is equal to or less than a threshold value. The network state confirmation unit 383 notifies the calculated data transfer time to the window size adjustment unit 384 (S317). Then, the network state confirmation unit 383 returns to the process of step S311.

送信バッファ35182に書き込まれた応答データは、TCP通信部390によってネットワーク330を通じて情報処理装置320から情報処理装置310へ送信され、TCP通信部360で受信されてサーバ側プロキシモジュール350の受信バッファ35211に書き込まれる。   The response data written in the transmission buffer 35182 is transmitted from the information processing apparatus 320 to the information processing apparatus 310 via the network 330 by the TCP communication unit 390, received by the TCP communication unit 360, and received in the reception buffer 35211 of the server side proxy module 350. Written.

サーバ側プロキシモジュール350のネットワーク状態確認部353は、応答データが受信バッファ35211に到着すると(S303でYES)、それを取り出し(S304)、応答データに記載されたデータ転送時間をウインドウサイズ調整部354に通知する(S305)。そして、ネットワーク状態確認部353は、図5に示す処理を終える。   When the response data arrives at the reception buffer 35211 (YES in S303), the network state confirmation unit 353 of the server-side proxy module 350 extracts it (S304) and sets the data transfer time described in the response data to the window size adjustment unit 354. (S305). Then, the network state confirmation unit 353 finishes the process illustrated in FIG.

ウインドウサイズ調整部354は、ネットワーク状態確認部353から通知されたデータ転送時間に従って、送信部3513の送信バッファ35132のサイズを図4に示した式に基づいて変更する。またウインドウサイズ調整部384は、ネットワーク状態確認部383から通知されたデータ転送時間に従って、受信部3821の受信バッファ38211のサイズを図4に示した式に基づいて変更する。送信バッファ35132および受信バッファ38211は、ソケットバッファである。ソケットバッファのサイズ変更は、ソケットAPIのオプションを使用して行うことができる。そして、ソケットが送受信に使用するバッファのサイズが変更されることにより、TCPのウインドウのサイズが変更されることになる。   The window size adjustment unit 354 changes the size of the transmission buffer 35132 of the transmission unit 3513 based on the expression shown in FIG. 4 according to the data transfer time notified from the network state confirmation unit 353. Further, the window size adjustment unit 384 changes the size of the reception buffer 38211 of the reception unit 3821 based on the formula shown in FIG. 4 according to the data transfer time notified from the network state confirmation unit 383. The transmission buffer 35132 and the reception buffer 38211 are socket buffers. The size of the socket buffer can be changed using a socket API option. Then, the size of the TCP window is changed by changing the size of the buffer used by the socket for transmission and reception.

上述したように本実施形態によれば、第2の実施形態と同様の効果が得られると共に、以下のような効果が得られる。   As described above, according to the present embodiment, the same effects as those of the second embodiment can be obtained, and the following effects can be obtained.

定期的にネットワーク330の混雑状況を調査し、その調査結果に基づいてTCPのウインドウサイズを調整するため、動的に最適なウインドウサイズで通信を行うことができる。   Since the congestion state of the network 330 is periodically checked and the TCP window size is adjusted based on the check result, communication can be performed dynamically with an optimal window size.

サーバ側プロキシモジュール350における送信待ちのクライアント装置向けの情報の量が閾値以下であるタイミング(例えば中間バッファ3512が空であるタイミング)で、ネットワーク330の混雑状況を調査するためのテストデータをネットワーク330に送信することにより、ネットワーク330の混雑状況を調査する処理によってクライアント装置向けの情報の送信が遅延するのを防止することができる。   Test data for investigating the congestion status of the network 330 at the timing when the amount of information for the client device waiting for transmission in the server-side proxy module 350 is equal to or less than the threshold (for example, when the intermediate buffer 3512 is empty). Thus, it is possible to prevent the transmission of information for the client apparatus from being delayed due to the process of investigating the congestion status of the network 330.

クライアント側プロキシモジュール380における送信待ちのサーバ装置向けの情報の量が閾値以下であるタイミング(例えば中間バッファ3812が空であるタイミング)で、ネットワーク330の混雑状況を調査するためのテストデータに対する応答データをネットワーク330に送信することにより、ネットワーク330の混雑状況を調査する処理によってサーバ装置向けの情報の送信が遅延するのを防止することができる。   Response data to the test data for investigating the congestion status of the network 330 at the timing when the amount of information for the server device waiting for transmission in the client side proxy module 380 is equal to or less than the threshold (for example, the timing when the intermediate buffer 3812 is empty). By transmitting to the network 330, it is possible to prevent the transmission of information for the server apparatus from being delayed due to the process of investigating the congestion status of the network 330.

本実施形態では、ネットワーク330の混雑状況を表す指標として、送信バッファ35132から受信バッファ38211までのデータ転送時間を使用したが、他の指標を使用しても良い。例えば、送信バッファ35132から受信バッファ38211までの行きのデータ転送時間と、送信バッファ38132から受信バッファ35211までの帰りのデータ転送時間の合計であるラウンドトリップ時間を指標としても良い。   In the present embodiment, the data transfer time from the transmission buffer 35132 to the reception buffer 38211 is used as an index indicating the congestion status of the network 330, but another index may be used. For example, the round trip time that is the sum of the data transfer time from the transmission buffer 35132 to the reception buffer 38211 and the return data transfer time from the transmission buffer 38132 to the reception buffer 35211 may be used as an index.

また本実施形態では、TCP通信部360からTCP通信部390に向かう経路に関するネットワーク330の混雑状況を調査し、TCP通信部360からTCP通信部390への送受信に使用するTCPのウインドウサイズを調整した。しかし、これに代えて、或いはこれと共に、TCP通信部390からTCP通信部360に向かう経路に関するネットワーク330の混雑状況を調査し、TCP通信部390からTCP通信部360への送受信に使用するTCPのウインドウサイズを調整しても良い。そのためには、図3におけるネットワーク状態確認部383の代わりに、ネットワーク状態確認部353と同様の機能を有するネットワーク状態確認部を使用するか、或いはネットワーク状態確認部383とネットワーク状態確認部353の機能を併せ持つネットワーク状態確認部を使用し、図3におけるネットワーク状態確認部353の代わりに、ネットワーク状態確認部383と同様の機能を有するネットワーク状態確認部を使用するか、或いはネットワーク状態確認部353とネットワーク状態確認部383の機能を併せ持つネットワーク状態確認部を使用すれば良い。また、図3におけるウインドウサイズ調整部354の代わりに、ウインドウサイズ調整部384と同様の機能を有するウインドウサイズ調整部を使用するか、或いはウインドウサイズ調整部354とウインドウサイズ調整部384の機能を併せ持つウインドウサイズ調整部を使用し、図3におけるウインドウサイズ調整部384の代わりに、ウインドウサイズ調整部354と同様の機能を有するウインドウサイズ調整部を使用するか、或いはウインドウサイズ調整部384とウインドウサイズ調整部354の機能を併せ持つウインドウサイズ調整部を使用すれば良い。   In this embodiment, the congestion state of the network 330 related to the route from the TCP communication unit 360 to the TCP communication unit 390 is investigated, and the TCP window size used for transmission / reception from the TCP communication unit 360 to the TCP communication unit 390 is adjusted. . However, instead of or together with this, the congestion status of the network 330 regarding the route from the TCP communication unit 390 to the TCP communication unit 360 is investigated, and the TCP used for transmission / reception from the TCP communication unit 390 to the TCP communication unit 360 is checked. You may adjust the window size. For that purpose, instead of the network state confirmation unit 383 in FIG. 3, a network state confirmation unit having the same function as the network state confirmation unit 353 is used, or the functions of the network state confirmation unit 383 and the network state confirmation unit 353 are used. 3 is used, and instead of the network state confirmation unit 353 in FIG. 3, a network state confirmation unit having the same function as the network state confirmation unit 383 is used, or the network state confirmation unit 353 and the network A network status confirmation unit having the function of the status confirmation unit 383 may be used. Further, instead of the window size adjustment unit 354 in FIG. 3, a window size adjustment unit having the same function as the window size adjustment unit 384 is used, or the functions of the window size adjustment unit 354 and the window size adjustment unit 384 are provided. The window size adjustment unit is used, and instead of the window size adjustment unit 384 in FIG. 3, a window size adjustment unit having the same function as the window size adjustment unit 354 is used, or the window size adjustment unit 384 and the window size adjustment are used. A window size adjustment unit having the function of the unit 354 may be used.

[第4の実施形態]
図7を参照すると、本発明の第4の実施形態にかかるリモートデスクトップシステム400で使用されるサーバ側プロキシモジュール中の通信部451は、リモートデスクトップサーバモジュール440から、クライアント向けの情報を受信し、TCP通信部460の機能を使ってTCP通信によりネットワークを通じてクライアント側へ送信する機能を有する。すなわち、通信部451は、図3に示した第3の実施形態における通信部351に相当する。
[Fourth Embodiment]
Referring to FIG. 7, the communication unit 451 in the server-side proxy module used in the remote desktop system 400 according to the fourth embodiment of the present invention receives information for clients from the remote desktop server module 440, The function of the TCP communication unit 460 is used to transmit to the client side through the network by TCP communication. That is, the communication unit 451 corresponds to the communication unit 351 in the third embodiment shown in FIG.

通信部451は、受信部4511、中間バッファ4512、送信部4513を有する。このうち、受信部4511、それを構成する受信バッファ45111と受信処理部45112、中間バッファ4512は、図3に示した受信部3511、それを構成する受信バッファ35111と受信処理部35112、中間バッファ3512と同様の機能を有する。   The communication unit 451 includes a reception unit 4511, an intermediate buffer 4512, and a transmission unit 4513. Among them, the reception unit 4511, the reception buffer 45111 and the reception processing unit 45112 that constitute it, and the intermediate buffer 4512 are the reception unit 3511 shown in FIG. 3, the reception buffer 35111 and the reception processing unit 35112 that constitute it, and the intermediate buffer 3512. Has the same function.

送信部4513は、送信処理部45131、送信バッファ45132、送信順序決定部45133、重複画面イメージ削除部45134、画面生成部45135、画面記憶部45136を有する。このうち、送信バッファ45132は、図3に示した送信バッファ35132と同様の機能を有する。   The transmission unit 4513 includes a transmission processing unit 45131, a transmission buffer 45132, a transmission order determination unit 45133, a duplicate screen image deletion unit 45134, a screen generation unit 45135, and a screen storage unit 45136. Among these, the transmission buffer 45132 has the same function as the transmission buffer 35132 shown in FIG.

送信順序決定部45133は、中間バッファ4512に蓄積されている情報、すなわち通信部451がリモートデスクトップサーバモジュール440から受信しTCP通信部460を通じてクライアント側プロキシモジュールへ未だ送信していない情報の送信順序を決定する機能を有する。送信順序決定部45133は、送信順序の決定は、情報の種別とその種別に対して予め定められた優先度とに基づいて行う。   The transmission order determination unit 45133 determines the transmission order of the information stored in the intermediate buffer 4512, that is, the information received by the communication unit 451 from the remote desktop server module 440 and not yet transmitted to the client side proxy module through the TCP communication unit 460. Has a function to determine. The transmission order determining unit 45133 determines the transmission order based on the type of information and the priority determined in advance for the type.

リモートデスクトップサーバモジュールとリモートデスクトップクライアントモジュールとで授受される情報には、画面データ、キーボードやマウスのイベントデータといった主要な情報以外に、音声データ、ストレージデータ、プリンタデータ、クリップボードデータ、スマートカードデータ、シリアルポートデータ、その他のPnPデバイスのデータ、ユーザ定義データが存在する。これらを幾つかの種類に分類し、優先度を付与する。例えば、画面データとキーボードやマウスのイベントデータとに対して最も高い優先度を付与し、音声データに対して次に高い優先度を付与し、その他に対して最も低い優先度を付与する。   Information exchanged between the Remote Desktop Server Module and Remote Desktop Client Module includes audio data, storage data, printer data, clipboard data, smart card data, key data such as screen data, keyboard and mouse event data, There is serial port data, other PnP device data, and user-defined data. These are classified into several types and given priority. For example, the highest priority is assigned to screen data and keyboard / mouse event data, the next highest priority is assigned to audio data, and the lowest priority is assigned to others.

送信順序決定部45133は、中間バッファ4512に蓄積されている個々の情報の種別を判別し、判別した種別に対応する優先度に従って、中間バッファ4512内で情報を優先度順に並べ替える。RDPプロトコルを使用するリモートデスクトップ接続では、リモートデスクトップサーバモジュールとリモートデスクトップクライアントモジュールとで授受される情報にRDPプロトコルヘッダが付与されており、そのRDPプロトコルヘッダを解析することによって情報の種別を確認することができる。並べ替えは、より優先度の高い種別の情報がより優先的に送信処理部45131から読み出せるように行う。同じ優先度の情報間では中間バッファ4512への到着順に並べる。   The transmission order determining unit 45133 determines the type of each piece of information stored in the intermediate buffer 4512, and rearranges the information in the intermediate buffer 4512 in order of priority according to the priority corresponding to the determined type. In remote desktop connection using the RDP protocol, an RDP protocol header is added to information exchanged between the remote desktop server module and the remote desktop client module, and the type of information is confirmed by analyzing the RDP protocol header. be able to. The rearrangement is performed so that higher-priority type information can be read from the transmission processing unit 45131 with higher priority. Information of the same priority is arranged in the order of arrival at the intermediate buffer 4512.

また送信順序決定部45133は、送信順序の決定だけでなく、閾値以下の優先度を有する情報を中間バッファ4512から削除する機能を有していて良い。また、この削除機能は、中間バッファ4512の空き容量が予め定めた閾値以下のときに限って有効として
良い。
The transmission order determining unit 45133 may have a function of deleting information having a priority level equal to or lower than the threshold from the intermediate buffer 4512 as well as determining the transmission order. This deletion function may be effective only when the free space of the intermediate buffer 4512 is equal to or less than a predetermined threshold.

重複画面イメージ削除部45134は、中間バッファ4512に蓄積されている画面イメージ、すなわち通信部451がリモートデスクトップサーバモジュール440から受信しTCP通信部460を通じてクライアント側プロキシモジュールへ未だ送信していない画面イメージから、重複部分を削除する機能を有する。   The duplicate screen image deletion unit 45134 is based on the screen image stored in the intermediate buffer 4512, that is, the screen image that the communication unit 451 has received from the remote desktop server module 440 and has not yet transmitted to the client side proxy module through the TCP communication unit 460. , And has a function of deleting overlapping portions.

一般にリモートデスクトップ接続では、転送量を削減するために、サーバ画面のうち更新された領域を含む矩形領域の画面イメージをクライアント側へ送信する。このとき、同じ領域が繰り返し更新されると、同じ矩形領域の画面イメージが何度も送信されることになる。今、或る矩形領域の画面イメージが、画面イメージAから画面イメージBに変化し、さらに画面イメージCに変化した場合、画面イメージA、画面イメージB、画面イメージCという3つの画面イメージがリモートデスクトップサーバモジュール440から通信部4511を通じて中間バッファ4512に蓄積される。良好な通信環境の下では、中間バッファ4512に到着した画面イメージは速やかに送信処理部45131によって送信バッファ45132に移され、TCP通信部460を通じてクライアント側へ送信されるため、中間バッファ4512に同じ矩形領域の複数の画面イメージが蓄積されることはない。しかし、通信環境が悪化し、送信バッファ45132に空きがなくなると、中間バッファ4512に同じ矩形領域の複数の画面イメージが蓄積される。このような状況を放置すると、最後には中間バッファ4512が満杯となり、リモートデスクトップサーバモジュール440から新たなクライアント装置向けの情報を受信できない状況に至ってしまう。そこで、重複画面イメージ削除部45134は、同じ矩形領域に関する複数の画面イメージが中間バッファ4512に蓄積されているか否かを監視し、発見すれば時刻的により古い(中間バッファへの到着時刻がより古い)画面イメージを中間バッファ4512から削除する。例えば、中間バッファ4512に、上記の画面イメージBと画面イメージCが蓄積されている場合、画面イメージBを中間バッファ4512から削除する。これによって、クライアント側の当該矩形領域は画面イメージAからいきなり画面イメージCに変化するためにコマ送りのようになるけれども、中間バッファ4512の空き領域不足に起因する不都合な事態を回避することができる。   In general, in remote desktop connection, in order to reduce the transfer amount, a screen image of a rectangular area including an updated area in the server screen is transmitted to the client side. At this time, if the same area is repeatedly updated, the screen image of the same rectangular area is transmitted many times. Now, when the screen image of a certain rectangular area changes from the screen image A to the screen image B and further changes to the screen image C, the three screen images of the screen image A, the screen image B, and the screen image C are displayed in the remote desktop. The data is accumulated in the intermediate buffer 4512 from the server module 440 through the communication unit 4511. Under a good communication environment, the screen image that has arrived at the intermediate buffer 4512 is immediately transferred to the transmission buffer 45132 by the transmission processing unit 45131 and transmitted to the client side through the TCP communication unit 460. Multiple screen images of the area are not stored. However, when the communication environment deteriorates and the transmission buffer 45132 is full, a plurality of screen images of the same rectangular area are accumulated in the intermediate buffer 4512. If such a situation is left unattended, the intermediate buffer 4512 will eventually become full, leading to a situation where information for a new client device cannot be received from the remote desktop server module 440. Therefore, the duplicate screen image deletion unit 45134 monitors whether or not a plurality of screen images related to the same rectangular area are accumulated in the intermediate buffer 4512, and if found, the time is older (the arrival time at the intermediate buffer is older). ) Delete the screen image from the intermediate buffer 4512. For example, when the screen image B and the screen image C are stored in the intermediate buffer 4512, the screen image B is deleted from the intermediate buffer 4512. As a result, the rectangular area on the client side suddenly changes from the screen image A to the screen image C so that frame-by-frame feeding is performed, but an inconvenient situation due to a lack of an empty area in the intermediate buffer 4512 can be avoided. .

上記の説明では、重複する画面イメージとして、同じ矩形領域に関する複数の画面イメージを例示したが、それだけには限定されない。例えば、或る矩形領域に関する画面イメージと、それより後の画面イメージであってその矩形領域が先の矩形領域を包含する画面イメージとを互いに重複する画面イメージとして認識しても良い。   In the above description, a plurality of screen images related to the same rectangular area are exemplified as overlapping screen images, but the present invention is not limited to this. For example, a screen image related to a certain rectangular area and a screen image that is later than that and that includes the previous rectangular area may be recognized as overlapping screen images.

画面生成部45135は、中間バッファ4512に蓄積された画面イメージ、すなわち通信部451がリモートデスクトップサーバモジュール440から受信した画面イメージを用いて、サーバのデスクトップ画面全体の画面イメージを生成し、画面記憶部45136に格納する機能を有する。画面イメージを用いてデスクトップ画面の画面イメージを生成する方法は、リモートデスクトップクライアントモジュールにおいて、受信した画面イメージからサーバのデスクトップ画面の画面イメージを生成する方法と同様の方法を使用することができる。画面生成部45135は、受信処理部45112によって新たな画面イメージが中間バッファ4512に格納される毎に、画面記憶部45136に記憶されたサーバのデスクトップ画面の画面イメージを更新する。   The screen generation unit 45135 generates a screen image of the entire desktop screen of the server using the screen image stored in the intermediate buffer 4512, that is, the screen image received by the communication unit 451 from the remote desktop server module 440, and the screen storage unit 45136. The method for generating the screen image of the desktop screen using the screen image can use the same method as the method of generating the screen image of the desktop screen of the server from the received screen image in the remote desktop client module. The screen generation unit 45135 updates the screen image of the server desktop screen stored in the screen storage unit 45136 each time a new screen image is stored in the intermediate buffer 4512 by the reception processing unit 45112.

また画面生成部45135は、中間バッファ4512に蓄積されている画面イメージの総量、すなわち通信部451がリモートデスクトップサーバモジュール440から受信しクライアント側プロキシへ未だ送信していない画面イメージの総量を算出する機能と、画面記憶部45136に記憶されているサーバのデスクトップ画面の画面イメージの総量を算出する機能とを有する。さらに画面生成部45135は、上記算出した総量どうしを比較し、中間バッファ4512に蓄積されている画面イメージの総量が画面記憶部45136に記憶されているデスクトップ画面の画面イメージの総量を上回っているならば、送信処理部45131に対して、画面記憶部45136に記憶されている画面イメージの送信を指示し、中間バッファ4512に蓄積されている全ての画面イメージを中間バッファ4512から削除する機能を有する。   The screen generation unit 45135 also calculates the total amount of screen images stored in the intermediate buffer 4512, that is, the total amount of screen images received by the communication unit 451 from the remote desktop server module 440 and not yet transmitted to the client side proxy. And a function of calculating the total amount of screen images of the server desktop screen stored in the screen storage unit 45136. Further, the screen generation unit 45135 compares the calculated total amounts, and if the total amount of screen images stored in the intermediate buffer 4512 exceeds the total amount of screen images of the desktop screen stored in the screen storage unit 45136. For example, the transmission processing unit 45131 is instructed to transmit a screen image stored in the screen storage unit 45136, and has a function of deleting all screen images stored in the intermediate buffer 4512 from the intermediate buffer 4512.

送信処理部45131は、中間バッファ4512に蓄積されたクライアント装置向けの情報を読み出して送信バッファ45132に書き込む機能を有する。また送信処理部45131は、画面生成部45135から上記の指示を受けると、画面記憶部45136から画面イメージを読み出して送信バッファ45132に書き込む機能を有する。   The transmission processing unit 45131 has a function of reading out information for the client device accumulated in the intermediate buffer 4512 and writing it in the transmission buffer 45132. The transmission processing unit 45131 has a function of reading a screen image from the screen storage unit 45136 and writing it in the transmission buffer 45132 when receiving the above instruction from the screen generation unit 45135.

次に本実施形態の動作を説明する。本実施形態に係るリモートデスクトップシステム400の動作のうち、通信部451以外の動作は第3の実施形態と同じである。以下では、通信部451の動作について、図8のフローチャートを参照して説明する。   Next, the operation of this embodiment will be described. Of the operations of the remote desktop system 400 according to the present embodiment, operations other than the communication unit 451 are the same as those of the third embodiment. Below, operation | movement of the communication part 451 is demonstrated with reference to the flowchart of FIG.

送信処理部45131は、中間バッファ4512が空か否か、すなわちクライアント装置向けの情報が蓄積されているか否かを監視する(S401)。中間バッファ4512にクライアント装置向けの情報が蓄積されている場合、送信部4513では以下のような動作が行われる。   The transmission processing unit 45131 monitors whether the intermediate buffer 4512 is empty, that is, whether information for the client device is accumulated (S401). When information for the client device is accumulated in the intermediate buffer 4512, the transmission unit 4513 performs the following operation.

まず送信順序決定部45133は、中間バッファ4512に蓄積されている個々の情報の種別を判別し、判別した種別に対応する優先度に従って、中間バッファ4512内で情報を優先度順に並べ替え、また閾値以下の優先度を有する情報を中間バッファ4512から削除する(S402)。   First, the transmission order determination unit 45133 determines the type of each piece of information stored in the intermediate buffer 4512, sorts the information in the intermediate buffer 4512 in order of priority according to the priority corresponding to the determined type, Information having the following priorities is deleted from the intermediate buffer 4512 (S402).

次に重複画面イメージ削除部45134は、中間バッファ4512に蓄積されている画面イメージから重複部分を削除する(S403)。   Next, the overlapping screen image deletion unit 45134 deletes the overlapping portion from the screen image stored in the intermediate buffer 4512 (S403).

次に画面生成部45135は、中間バッファ4512に蓄積された画面イメージを用いて、サーバのデスクトップ画面の画面イメージを生成し、画面記憶部45136に格納する(S404)。次に画面生成部45135は、中間バッファ4512に蓄積されている画面イメージの総量と、画面記憶部45136に記憶されているサーバのデスクトップ画面の画面イメージの総量とを算出して比較する(S405)。この比較結果により以降の処理が相違する。   Next, the screen generation unit 45135 generates a screen image of the desktop screen of the server using the screen image stored in the intermediate buffer 4512 and stores it in the screen storage unit 45136 (S404). Next, the screen generation unit 45135 calculates and compares the total amount of screen images stored in the intermediate buffer 4512 and the total amount of screen images of the server desktop screen stored in the screen storage unit 45136 (S405). . The subsequent processing differs depending on the comparison result.

中間バッファ4512に蓄積されている画面イメージの総量が画面記憶部45136に記憶されているデスクトップ画面の画面イメージの総量を上回っていなければ、送信処理部45131は、送信バッファ45132に空きがあるか否かを確認し(S406)、空きがあれば、中間バッファ4512からクライアント装置向けの情報を読み出して、送信バッファ25132に書き込む(S407)。そして、ステップS401の処理へと戻る。送信バッファ45132に空きがなければ、送信処理部45131はステップS407をスキップしてステップS401の処理へと戻る。   If the total amount of screen images stored in the intermediate buffer 4512 does not exceed the total amount of desktop screen images stored in the screen storage unit 45136, the transmission processing unit 45131 determines whether or not the transmission buffer 45132 has a free space. (S406), if there is a vacancy, information for the client device is read from the intermediate buffer 4512 and written to the transmission buffer 25132 (S407). Then, the process returns to step S401. If there is no space in the transmission buffer 45132, the transmission processing unit 45131 skips step S407 and returns to the process of step S401.

他方、中間バッファ4512に蓄積されている画面イメージの総量が画面記憶部45136に記憶されているデスクトップ画面の画面イメージの総量を上回っているならば、画面生成部45135は、中間バッファ4512に蓄積されている全ての画面イメージを中間バッファ4512から削除し、送信処理部45131に対して画面記憶部45136に記憶されている画面イメージの送信を指示する(S408)。送信処理部45131は、送信バッファ45132に空きがあるか否かを確認し(S409)、空きが無ければ、空きができるまで待ち合わせる。空きがあれば、画面記憶部45136からデスクトップ画面の画面イメージを読み出して、送信バッファ25132に書き込む(S410)。そして、ステップS401の処理へと戻る。TCP通信部460では、送信バッファ45132にクライアント装置向けの情報が蓄積されると、それを読み出して、ネットワークを通じてTCP通信によりリモートデスクトップクライアントモジュールが存在する情報処理装置に向けて送信する。   On the other hand, if the total amount of screen images stored in the intermediate buffer 4512 exceeds the total amount of desktop screen images stored in the screen storage unit 45136, the screen generation unit 45135 stores in the intermediate buffer 4512. All the screen images are deleted from the intermediate buffer 4512, and the transmission processing unit 45131 is instructed to transmit the screen images stored in the screen storage unit 45136 (S408). The transmission processing unit 45131 checks whether or not the transmission buffer 45132 has a space (S409), and if there is no space, waits until a space is available. If there is a vacancy, the screen image of the desktop screen is read from the screen storage unit 45136 and written in the transmission buffer 25132 (S410). Then, the process returns to step S401. When the information for the client device is stored in the transmission buffer 45132, the TCP communication unit 460 reads the information and transmits it to the information processing device in which the remote desktop client module exists by TCP communication through the network.

上述したように本実施形態によれば、第3の実施形態と同様の効果が得られると共に、以下のような効果が得られる。   As described above, according to the present embodiment, the same effects as those of the third embodiment can be obtained, and the following effects can be obtained.

送信順序決定部45133を使用して、中間バッファ4512内で情報を優先度順に並べ替えることにより、優先度の高い画面イメージ等が優先度の低い他のデータより優先的に送信することが可能になり、中間バッファ4512に情報が滞留するほど通信環境が悪化している状況下におけるリモートデスクトップ接続のレスポンス低下を改善することができる。   By rearranging the information in the order of priority in the intermediate buffer 4512 using the transmission order determination unit 45133, it becomes possible to preferentially transmit a screen image having a high priority over other data having a low priority. Thus, it is possible to improve the response drop of the remote desktop connection in a situation where the communication environment is worsened as information is accumulated in the intermediate buffer 4512.

重複画面イメージ削除部45134を使用して、中間バッファ4512に蓄積されている画面イメージから重複部分を削除することにより、中間バッファ4512に情報が滞留するほど通信環境が悪化している状況下におけるリモートデスクトップ接続のレスポンス低下を改善することができる。   By using the overlapping screen image deletion unit 45134 to delete the overlapping portion from the screen image stored in the intermediate buffer 4512, the remote environment in a situation where the communication environment is getting worse as information is accumulated in the intermediate buffer 4512 It can improve the response drop of desktop connection.

画面生成部45135を使用して、中間バッファ4512に蓄積されている画面イメージの総量が、それらに基づいて生成したデスクトップ画面の画面イメージの総量を上回った場合に、中間バッファ4512に蓄積されている全ての画面イメージを削除し、生成したデスクトップ画面の画面イメージを代わりに送信することにより、中間バッファ4512が満杯となってリモートデスクトップサーバモジュール440から新たなクライアント装置向けの情報を受信できない等の状況を回避することができる。   When the total amount of screen images stored in the intermediate buffer 4512 exceeds the total amount of desktop screen images generated based on the screen generation unit 45135, the intermediate buffer 4512 stores the screen image. Situations where all screen images are deleted and the generated desktop screen screen image is sent instead, so that the intermediate buffer 4512 becomes full and information for a new client device cannot be received from the remote desktop server module 440 Can be avoided.

[その他の実施形態]
以上、本発明を幾つかの実施形態を挙げて説明したが、本発明は以上の実施形態にのみ限定されず、その他各種の付加変更が可能である。例えば、上記第4の実施形態の構成から、送信順序決定部45133、重複画面イメージ削除部45134、および画面生成部45135の何れか1つ、または何れか2つを省略した構成も本発明の実施形態に含まれる。
[Other embodiments]
Although the present invention has been described with reference to some embodiments, the present invention is not limited to the above embodiments, and various other additions and modifications can be made. For example, a configuration in which any one or any two of the transmission order determination unit 45133, the duplicate screen image deletion unit 45134, and the screen generation unit 45135 is omitted from the configuration of the fourth embodiment. Included in the form.

100…リモートデスクトップシステム
110…サーバ装置
120…クライアント装置
130…ネットワーク
140…サーバ側プロキシ
141…第3の通信部
142…第4の通信部
150…クライアント側プロキシ
151…第1の通信部
152…第2の通信部
DESCRIPTION OF SYMBOLS 100 ... Remote desktop system 110 ... Server apparatus 120 ... Client apparatus 130 ... Network 140 ... Server side proxy 141 ... 3rd communication part 142 ... 4th communication part 150 ... Client side proxy 151 ... 1st communication part 152 ... 1st 2 Communication Department

Claims (25)

サーバ装置とクライアント装置とがネットワークを介して接続されたリモートデスクトップシステムであって、
前記クライアント装置に接続されるクライアント側プロキシと、
前記サーバ装置に接続されると共に前記ネットワークを介して前記クライアント側プロキシに接続されるサーバ側プロキシとを有し、
前記クライアント側プロキシは、
前記クライアント装置から前記サーバ装置向けの情報を受信してTCP通信により前記ネットワークを通じて前記サーバ側プロキシへ送信する第1の通信部と、
前記サーバ側プロキシから前記クライアント装置向けの情報をTCP通信により前記ネットワークを通じて受信し前記クライアント装置へ送信する第2の通信部と
を有し、
前記サーバ側プロキシは、
前記サーバ装置から前記クライアント装置向けの情報を受信してTCP通信により前記ネットワークを通じて前記クライアント側プロキシへ送信する第3の通信部と、
前記クライアント側プロキシから前記サーバ装置向けの情報をTCP通信により前記ネットワークを通じて受信し前記サーバ装置へ送信する第4の通信部と
を有する
リモートデスクトップシステム。
A remote desktop system in which a server device and a client device are connected via a network,
A client-side proxy connected to the client device;
A server-side proxy connected to the server device and connected to the client-side proxy via the network;
The client-side proxy is
A first communication unit that receives information for the server device from the client device and transmits the information to the server-side proxy through the network by TCP communication;
A second communication unit that receives information for the client device from the server-side proxy through the network by TCP communication and transmits the information to the client device;
The server side proxy
A third communication unit that receives information for the client device from the server device and transmits the information to the client-side proxy through the network by TCP communication;
A remote desktop system comprising: a fourth communication unit that receives information for the server device from the client side proxy through the network by TCP communication and transmits the information to the server device.
前記第3の通信部は、
中間バッファと、
前記サーバ装置から受信した前記情報を前記中間バッファに蓄積する受信処理部と、
該受信処理部と独立に動作し、前記中間バッファに蓄積された前記情報を読み出して前記クライアント側プロキシへ送信する送信処理部と
を有する請求項1に記載のリモートデスクトップシステム。
The third communication unit is
An intermediate buffer;
A reception processing unit that stores the information received from the server device in the intermediate buffer;
The remote desktop system according to claim 1, further comprising: a transmission processing unit that operates independently of the reception processing unit, reads the information stored in the intermediate buffer, and transmits the information to the client-side proxy.
前記サーバ側プロキシは、
前記第3の通信部に存在する送信待ちの前記クライアント装置向けの情報の量が閾値以下である時に、前記ネットワークの混雑状況を調査するためのテストデータを前記ネットワークを通じて前記クライアント側プロキシとの間で送受信して前記ネットワークの混雑状況を判断するネットワーク状態確認部と、
前記判断された前記ネットワークの混雑状況に応じて前記TCP通信のウィンドウサイズを制御するウィンドウサイズ調整部と
を有する請求項1または2に記載のリモートデスクトップシステム。
The server side proxy
When the amount of information for the client device waiting for transmission existing in the third communication unit is equal to or less than a threshold value, test data for investigating the congestion status of the network is exchanged with the client-side proxy through the network. A network status confirmation unit for transmitting and receiving to determine the network congestion status;
The remote desktop system according to claim 1, further comprising: a window size adjusting unit that controls a window size of the TCP communication according to the determined congestion status of the network.
前記第3の通信部は、
自通信部に存在する送信待ちの前記クライアント装置向けの情報の送信順序を、前記情報の種別と該種別に対して予め定められた優先度とに基づいて決定する送信順序決定部
を有する請求項1乃至3の何れかに記載のリモートデスクトップシステム。
The third communication unit is
A transmission order determining unit that determines a transmission order of information for the client device waiting for transmission existing in the communication unit based on a type of the information and a priority predetermined for the type. The remote desktop system according to any one of 1 to 3.
前記第3の通信部は、
自通信部に存在する送信待ちの前記クライアント装置向けの複数の画面イメージから、重複する画面イメージを削除する重複画面イメージ削除部
を有する請求項1乃至4の何れかに記載のリモートデスクトップシステム。
The third communication unit is
5. The remote desktop system according to claim 1, further comprising a duplicate screen image deletion unit that deletes a duplicate screen image from a plurality of screen images for the client device waiting for transmission existing in the communication unit.
前記第3の通信部は、
前記サーバ装置から受信した画面イメージを用いて前記サーバ装置のデスクトップ画面の画面イメージを生成し、自通信部に存在する送信待ちの前記クライアント装置向けの画面イメージの総量が前記生成したデスクトップ画面の画面イメージの総量を上回る場合、前記送信待ちの前記クライアント装置向けの画面イメージを削除し、前記生成した前記デスクトップ画面の画面イメージを送信する画面生成部
を有する請求項1乃至5の何れかに記載のリモートデスクトップシステム。
The third communication unit is
A screen image of the desktop screen of the server device is generated using the screen image received from the server device, and the total amount of screen images for the client device waiting for transmission existing in the communication unit is the screen screen of the generated desktop screen The screen generation unit according to claim 1, further comprising: a screen generation unit that deletes a screen image for the client device waiting for transmission and transmits the generated screen image of the desktop screen when the total amount of images is exceeded. Remote desktop system.
サーバ装置とクライアント装置とをネットワークを介してリモートデスクトップ接続する方法であって、
前記クライアント装置に接続されるクライアント側プロキシが、前記クライアント装置から前記サーバ装置向けの情報を受信し、TCP通信により、前記ネットワークを通じて、前記サーバ装置に接続されるサーバ側プロキシへ送信し、
前記サーバ側プロキシが、前記クライアント側プロキシから前記サーバ装置向けの情報を、TCP通信により、前記ネットワークを通じて受信し、前記サーバ装置へ送信し、
前記サーバ側プロキシが、前記サーバ装置から前記クライアント装置向けの情報を受信し、TCP通信により、前記ネットワークを通じて、前記クライアント側プロキシへ送信し、
前記クライアント側プロキシが、前記サーバ側プロキシから前記クライアント装置向けの情報を、TCP通信により、前記ネットワークを通じて受信し、前記クライアント装置へ送信する
リモートデスクトップ接続方法。
A method for remote desktop connection between a server device and a client device via a network,
A client-side proxy connected to the client device receives information for the server device from the client device, and transmits the information to the server-side proxy connected to the server device through the network by TCP communication.
The server-side proxy receives information for the server device from the client-side proxy through the network by TCP communication, and transmits the information to the server device.
The server side proxy receives information for the client device from the server device, and transmits the information to the client side proxy through the network by TCP communication.
A remote desktop connection method in which the client-side proxy receives information for the client device from the server-side proxy through the network by TCP communication and transmits the information to the client device.
リモートデスクトップシステムを構成するクライアント装置とサーバ装置のうち前記サーバ装置に接続されるプロキシ装置であって、
前記サーバ装置から前記クライアント装置向けの情報を受信してTCP通信により前記ネットワークを通じて前記クライアント装置側へ送信する第1の通信部と、
前記クライアント装置側から前記サーバ装置向けの情報をTCP通信により前記ネットワークを通じて受信し前記サーバ装置へ送信する第2の通信部と
を有するプロキシ装置。
A proxy device connected to the server device among a client device and a server device constituting a remote desktop system,
A first communication unit that receives information for the client device from the server device and transmits the information to the client device through the network by TCP communication;
A proxy device comprising: a second communication unit that receives information for the server device from the client device side through the network by TCP communication and transmits the information to the server device.
前記第1の通信部は、
中間バッファと、
前記サーバ装置から受信した前記情報を前記中間バッファに蓄積する受信処理部と、
該受信処理部と独立に動作し、前記中間バッファに蓄積された前記情報を読み出して前記クライアント装置側へ送信する送信処理部と
を有する請求項8に記載のプロキシ装置。
The first communication unit is
An intermediate buffer;
A reception processing unit that stores the information received from the server device in the intermediate buffer;
The proxy device according to claim 8, further comprising: a transmission processing unit that operates independently of the reception processing unit, reads the information stored in the intermediate buffer, and transmits the information to the client device side.
前記第1の通信部に存在する送信待ちの前記クライアント装置向けの情報の量が閾値以下である時に、前記ネットワークの混雑状況を調査するためのテストデータを前記ネットワークを通じて前記クライアント装置側との間で送受信して前記ネットワークの混雑状況を判断するネットワーク状態確認部と、
前記判断された前記ネットワークの混雑状況に応じて前記TCP通信のウィンドウサイズを制御するウィンドウサイズ調整部と
を有する請求項8または9に記載のプロキシ装置。
When the amount of information for the client device waiting for transmission existing in the first communication unit is equal to or less than a threshold value, test data for investigating the congestion status of the network is transmitted to the client device side through the network. A network status confirmation unit for transmitting and receiving to determine the network congestion status;
10. The proxy device according to claim 8, further comprising: a window size adjustment unit configured to control a window size of the TCP communication according to the determined congestion status of the network.
前記第1の通信部は、
自通信部に存在する送信待ちの前記クライアント装置向けの情報の送信順序を、前記情報の種別と該種別に対して予め定められた優先度とに基づいて決定する送信順序決定部
を有する請求項8乃至10の何れかに記載のプロキシ装置。
The first communication unit is
A transmission order determining unit that determines a transmission order of information for the client device waiting for transmission existing in the communication unit based on a type of the information and a priority predetermined for the type. The proxy device according to any one of 8 to 10.
前記第1の通信部は、
自通信部に存在する送信待ちの前記クライアント装置向けの複数の画面イメージから、重複する画面イメージを削除する重複画面イメージ削除部
を有する請求項8乃至11の何れかに記載のプロキシ装置。
The first communication unit is
The proxy device according to claim 8, further comprising: a duplicate screen image deletion unit that deletes a duplicate screen image from a plurality of screen images for the client device waiting for transmission existing in the communication unit.
前記第1の通信部は、
前記サーバ装置から受信した画面イメージを用いて前記サーバ装置のデスクトップ画面の画面イメージを生成し、自通信部に存在する送信待ちの前記クライアント装置向けの画面イメージの総量が前記生成したデスクトップ画面の画面イメージの総量を上回る場合、前記送信待ちの前記クライアント装置向けの画面イメージを削除し、前記生成した前記デスクトップ画面の画面イメージを送信する画面生成部
を有する請求項8乃至12の何れかに記載のプロキシ装置。
The first communication unit is
A screen image of the desktop screen of the server device is generated using the screen image received from the server device, and the total amount of screen images for the client device waiting for transmission existing in the communication unit is the screen screen of the generated desktop screen The screen generation unit according to any one of claims 8 to 12, further comprising: a screen generation unit that deletes a screen image for the client device waiting for transmission and transmits the generated screen image of the desktop screen when the total amount of images is exceeded. Proxy device.
リモートデスクトップシステムを構成するクライアント装置とサーバ装置のうち前記サーバ装置に接続されるプロキシ装置が実行するプロキシ方法であって、
前記サーバ装置から前記クライアント装置向けの情報を受信してTCP通信により前記ネットワークを通じて前記クライアント装置側へ送信し、
前記クライアント装置側から前記サーバ装置向けの情報をTCP通信により前記ネットワークを通じて受信し前記サーバ装置へ送信する
プロキシ方法。
A proxy method executed by a proxy device connected to the server device among a client device and a server device constituting a remote desktop system,
Receive information for the client device from the server device and send it to the client device side through the network by TCP communication,
A proxy method for receiving information for the server device from the client device side through the network by TCP communication and transmitting the information to the server device.
前記クライアント装置向けの情報の受信と送信では、
前記サーバ装置から受信した前記情報を中間バッファに蓄積する動作と、前記中間バッファに蓄積された前記情報を読み出して前記クライアント装置側へ送信する動作とを独立に並行して行う
請求項14に記載のプロキシ方法。
In receiving and transmitting information for the client device,
The operation of accumulating the information received from the server device in an intermediate buffer and the operation of reading the information accumulated in the intermediate buffer and transmitting the information to the client device side are performed in parallel independently. Proxy method.
送信待ちの前記クライアント装置向けの情報の量が閾値以下である時に、前記ネットワークの混雑状況を調査するためのテストデータを前記ネットワークを通じて前記クライアント装置側との間で送受信して前記ネットワークの混雑状況を判断し、
前記判断した前記ネットワークの混雑状況に応じて前記TCP通信のウィンドウサイズを制御する
請求項14または15に記載のプロキシ方法。
When the amount of information for the client device waiting to be transmitted is equal to or less than a threshold value, test data for investigating the congestion status of the network is transmitted / received to / from the client device side through the network, and the congestion status of the network Judging
The proxy method according to claim 14 or 15, wherein a window size of the TCP communication is controlled according to the determined congestion status of the network.
送信待ちの前記クライアント装置向けの情報の送信順序を、前記情報の種別と該種別に対して予め定められた優先度とに基づいて決定する
請求項14乃至16の何れかに記載のプロキシ方法。
The proxy method according to any one of claims 14 to 16, wherein a transmission order of information for the client device waiting for transmission is determined based on a type of the information and a priority predetermined for the type.
送信待ちの前記クライアント装置向けの複数の画面イメージから、重複する画面イメージを削除する
請求項14乃至17の何れかに記載のプロキシ方法。
18. The proxy method according to claim 14, wherein duplicate screen images are deleted from a plurality of screen images for the client device waiting for transmission.
前記サーバ装置から受信した画面イメージを用いて前記サーバ装置のデスクトップ画面の画面イメージを生成し、送信待ちの前記クライアント装置向けの画面イメージの総量が前記生成したデスクトップ画面の画面イメージの総量を上回る場合、前記送信待ちの前記クライアント装置向けの画面イメージを削除し、前記生成した前記デスクトップ画面の画面イメージを送信する
請求項14乃至18の何れかに記載のプロキシ方法。
When the screen image received from the server device is used to generate a screen image of the desktop screen of the server device, and the total amount of screen images for the client device waiting for transmission exceeds the total amount of the screen image of the generated desktop screen The proxy method according to claim 14, wherein a screen image for the client apparatus waiting for transmission is deleted, and the generated screen image of the desktop screen is transmitted.
リモートデスクトップシステムを構成するクライアント装置とサーバ装置のうち前記サーバ装置に接続されるプロキシ装置を構成するコンピュータを、
前記サーバ装置から前記クライアント装置向けの情報を受信してTCP通信により前記ネットワークを通じて前記クライアント装置側へ送信する第1の通信部と、
前記クライアント装置側から前記サーバ装置向けの情報をTCP通信により前記ネットワークを通じて受信し前記サーバ装置へ送信する第2の通信部と
して機能させるためのプログラム。
A computer constituting a proxy device connected to the server device among a client device and a server device constituting a remote desktop system,
A first communication unit that receives information for the client device from the server device and transmits the information to the client device through the network by TCP communication;
A program for functioning as a second communication unit that receives information for the server device from the client device side through the network by TCP communication and transmits the information to the server device.
前記第1の通信部は、
中間バッファと、
前記サーバ装置から受信した前記情報を前記中間バッファに蓄積する受信処理部と、
該受信処理部と独立に動作し、前記中間バッファに蓄積された前記情報を読み出して前記クライアント装置側へ送信する送信処理部と
を有する請求項20に記載のプログラム。
The first communication unit is
An intermediate buffer;
A reception processing unit that stores the information received from the server device in the intermediate buffer;
The program according to claim 20, further comprising: a transmission processing unit that operates independently of the reception processing unit, reads the information stored in the intermediate buffer, and transmits the information to the client device side.
前記コンピュータを、
前記第1の通信部に存在する送信待ちの前記クライアント装置向けの情報の量が閾値以下である時に、前記ネットワークの混雑状況を調査するためのテストデータを前記ネットワークを通じて前記クライアント装置側との間で送受信して前記ネットワークの混雑状況を判断するネットワーク状態確認部と、
前記判断された前記ネットワークの混雑状況に応じて前記TCP通信のウィンドウサイズを制御するウィンドウサイズ調整部と
して機能させるための請求項20または21に記載のプログラム。
The computer,
When the amount of information for the client device waiting for transmission existing in the first communication unit is equal to or less than a threshold value, test data for investigating the congestion status of the network is transmitted to the client device side through the network. A network status confirmation unit for transmitting and receiving to determine the network congestion status;
The program according to claim 20 or 21, wherein the program functions as a window size adjustment unit that controls a window size of the TCP communication according to the determined congestion status of the network.
前記第1の通信部は、
自通信部に存在する送信待ちの前記クライアント装置向けの情報の送信順序を、前記情報の種別と該種別に対して予め定められた優先度とに基づいて決定する送信順序決定部
を有する請求項20乃至22の何れかに記載のプログラム。
The first communication unit is
A transmission order determining unit that determines a transmission order of information for the client device waiting for transmission existing in the communication unit based on a type of the information and a priority predetermined for the type. The program according to any one of 20 to 22.
前記第1の通信部は、
自通信部に存在する送信待ちの前記クライアント装置向けの複数の画面イメージから、重複する画面イメージを削除する重複画面イメージ削除部
を有する請求項20乃至23の何れかに記載のプログラム。
The first communication unit is
The program according to any one of claims 20 to 23, further comprising a duplicate screen image deletion unit that deletes a duplicate screen image from a plurality of screen images for the client device waiting for transmission existing in the communication unit.
前記第1の通信部は、
前記サーバ装置から受信した画面イメージを用いて前記サーバ装置のデスクトップ画面の画面イメージを生成し、自通信部に存在する送信待ちの前記クライアント装置向けの画面イメージの総量が前記生成したデスクトップ画面の画面イメージの総量を上回る場合、前記送信待ちの前記クライアント装置向けの画面イメージを削除し、前記生成した前記デスクトップ画面の画面イメージを送信する画面生成部
を有する請求項20乃至24の何れかに記載のプログラム。
The first communication unit is
A screen image of the desktop screen of the server device is generated using the screen image received from the server device, and the total amount of screen images for the client device waiting for transmission existing in the communication unit is the screen screen of the generated desktop screen The screen generation unit according to any one of claims 20 to 24, further comprising: a screen generation unit that deletes a screen image for the client device waiting for transmission and transmits the generated screen image of the desktop screen when the total amount of images is exceeded. program.
JP2013032836A 2013-02-22 2013-02-22 Remote desktop system Active JP5652891B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013032836A JP5652891B2 (en) 2013-02-22 2013-02-22 Remote desktop system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013032836A JP5652891B2 (en) 2013-02-22 2013-02-22 Remote desktop system

Publications (2)

Publication Number Publication Date
JP2014164369A true JP2014164369A (en) 2014-09-08
JP5652891B2 JP5652891B2 (en) 2015-01-14

Family

ID=51614948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013032836A Active JP5652891B2 (en) 2013-02-22 2013-02-22 Remote desktop system

Country Status (1)

Country Link
JP (1) JP5652891B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017063262A (en) * 2015-09-24 2017-03-30 沖電気工業株式会社 Operator support system, communication control program, and communication control method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195326A (en) * 2000-01-13 2001-07-19 Nec Eng Ltd File transfer system
JP2005136684A (en) * 2003-10-30 2005-05-26 Nippon Telegr & Teleph Corp <Ntt> Data transferring method and tcp proxy device and network using the same
JP2005249841A (en) * 2004-03-01 2005-09-15 Toshiba Corp Image transmitting apparatus, image transmitting method, image transmitting program and computer
JP2008507928A (en) * 2004-07-23 2008-03-13 サイトリックス システムズ, インコーポレイテッド System and method for optimizing communication between network nodes
JP2008172521A (en) * 2007-01-11 2008-07-24 Mitsubishi Electric Corp Communication equipment, and communication system
JP2008270972A (en) * 2007-04-17 2008-11-06 Fuji Xerox Co Ltd Remote operation system, server, client, and remote operation program
JP2012044668A (en) * 2010-08-16 2012-03-01 Lantronix Inc Various methods and apparatuses for tunneling of udp broadcasts
JP2013034101A (en) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> Tcp session management method and tcp proxy device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195326A (en) * 2000-01-13 2001-07-19 Nec Eng Ltd File transfer system
JP2005136684A (en) * 2003-10-30 2005-05-26 Nippon Telegr & Teleph Corp <Ntt> Data transferring method and tcp proxy device and network using the same
JP2005249841A (en) * 2004-03-01 2005-09-15 Toshiba Corp Image transmitting apparatus, image transmitting method, image transmitting program and computer
JP2008507928A (en) * 2004-07-23 2008-03-13 サイトリックス システムズ, インコーポレイテッド System and method for optimizing communication between network nodes
JP2008172521A (en) * 2007-01-11 2008-07-24 Mitsubishi Electric Corp Communication equipment, and communication system
JP2008270972A (en) * 2007-04-17 2008-11-06 Fuji Xerox Co Ltd Remote operation system, server, client, and remote operation program
JP2012044668A (en) * 2010-08-16 2012-03-01 Lantronix Inc Various methods and apparatuses for tunneling of udp broadcasts
JP2013034101A (en) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> Tcp session management method and tcp proxy device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017063262A (en) * 2015-09-24 2017-03-30 沖電気工業株式会社 Operator support system, communication control program, and communication control method

Also Published As

Publication number Publication date
JP5652891B2 (en) 2015-01-14

Similar Documents

Publication Publication Date Title
KR101143172B1 (en) Efficient transfer of messages using reliable messaging protocols for web services
WO2018070518A1 (en) Communication device, control device, and communication method
CN108092908B (en) Method for controlling flow and sending end equipment
EP2661029B1 (en) Avoiding Delayed Data
WO2011133624A1 (en) Congestion window control based on queuing delay and packet loss
US20230362098A1 (en) Rate Update Engine For Reliable Transport Protocol
US7675898B2 (en) Session relay apparatus for relaying data, and a data relaying method
JP2019106697A (en) Method for dynamically managing message retransmission delay in interconnection network and device
US8677046B2 (en) Deadlock resolution in end-to-end credit protocol
WO2022057131A1 (en) Data congestion processing method and apparatus, computer device, and storage medium
WO2015011757A1 (en) Information processing apparatus, method, and program
JP5652891B2 (en) Remote desktop system
JP2014195158A (en) Communication device, communication system including the same, control method therefor and program
US20100074111A1 (en) Method of data traffic shaping, apparatus and wireless device
US8966070B1 (en) System and method of reducing network latency
JP5613710B2 (en) Server terminal, screen transfer system, and screen transfer method
US10742561B2 (en) Prevention of network retransmission timeout
JP6182779B1 (en) Transfer device, transfer method, and program
JP4959512B2 (en) Priority control system and priority control method
WO2023119511A1 (en) Communication device, communication system, and communication method
JP6145190B1 (en) Relay device, relay method, and relay program
US11882049B2 (en) Managing network latency using buffer fill control
CN114928573B (en) Data transmission method and system
WO2024152920A1 (en) Communication method and apparatus
WO2023100376A1 (en) Communication system, communication method, and communication program

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141113

R150 Certificate of patent or registration of utility model

Ref document number: 5652891

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150