JP2014164369A - Remote desktop system - Google Patents
Remote desktop system Download PDFInfo
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
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).
しかしながら、プロキシ間の通信を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
本発明の目的は、上述した課題、すなわち、プロキシ間の通信を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の実施形態]
図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
クライアント側プロキシ150は、第1の通信部151と第2の通信部152とを有する。第1の通信部151は、クライアント装置120からサーバ装置110向けの情報を受信し、TCP通信によりネットワーク130を通じてサーバ側プロキシ140へ送信する機能を有する。第2の通信部152は、サーバ側プロキシ140からクライアント装置120向けの情報をTCP通信によりネットワーク130を通じて受信し、クライアント装置120へ送信する機能を有する。
The
サーバ側プロキシ140は、第3の通信部141と第4の通信部142とを有する。第3の通信部141は、サーバ装置110からクライアント装置120向けの情報を受信し、TCP通信によりネットワーク130を通じてクライアント側プロキシ150へ送信する機能を有する。第4の通信部142は、クライアント側プロキシ150からサーバ装置110向けの情報をTCP通信によりネットワーク130を通じて受信し、サーバ装置110へ送信する機能を有する。
The server-
上記クライアント側プロキシ150は、クライアント装置120と物理的に同じ装置あるいは異なる装置の何れに実装されていても良い。また上記サーバ側プロキシ140は、サーバ装置110と物理的に同じ装置あるいは異なる装置の何れに実装されていても良い。
The
次に本実施形態に係るリモートデスクトップシステム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
サーバ装置向けの情報は、まず、クライアント装置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
これによって、クライアント装置120から送信されたサーバ装置向けの情報が、クライアント側プロキシ150、ネットワーク130、およびサーバ側プロキシ140を経由して、サーバ装置110へ届けられる。若し、ネットワーク130においてパケットロスが発生した場合、第1の通信部151はTCP通信によるACKを第4の通信部142から受信できないため、パケットの再送を行う。これによって、クライアント装置120から送信されたサーバ装置向けの情報がサーバ装置110に確実に届けられる。
Thus, the information for the server device transmitted from the
他方、クライアント装置向けの情報は、まず、サーバ装置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
これによって、サーバ装置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
このように本実施形態によれば、プロキシ間のネットワーク経由の通信でパケットロスが発生した際、リカバリや順序制御が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
情報処理装置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
また情報処理装置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
クライアント側プロキシモジュール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
中間バッファ2812は、サーバ装置向けの情報を一時的に蓄積するバッファメモリである。
The
受信部2811は、リモートデスクトップクライアントモジュール270から受信したサーバ装置向けの情報を中間バッファ2812に格納する機能を有する。受信部2811は、受信バッファ28111と受信処理部28112とを有する。受信バッファ28111は、リモートデスクトップクライアントモジュール270からリモートデスクトップサーバモジュール240に送るサーバ装置向けの情報を一時的に蓄積するバッファである。リモートデスクトップクライアントモジュール270は、リモートデスクトップサーバモジュール240に対してサーバ装置向けの情報を送信する場合、送信する情報を受信バッファ28111に書き込む。受信処理部28112は、受信バッファ28111に書き込まれた情報を読み出して、中間バッファ2812に書き込む機能を有する。
The receiving
送信部2813は、中間バッファ2812に蓄積されたサーバ装置向けの情報をTCP通信部290の機能を使ってTCP通信によりネットワーク230を通じて情報処理装置210へ送信する機能を有する。送信部2813は、送信処理部28131と送信バッファ28132とを有する。送信処理部28131は、中間バッファ2812に蓄積されたサーバ装置向けの情報を読み出して送信バッファ28132に書き込む機能を有する。送信バッファ28132に書き込まれた情報はTCP通信部290によって読み出され、ネットワーク230を通じて情報処理装置210へ送信される。
The
例えば、通信部281は1つのアプリケーション(プロセス)で構成され、受信バッファ28111および送信バッファ28132はソケット(Socket)バッファで構成される。また受信部2811と送信部2813とはそれぞれ1つのスレッドとして動作する。このため、受信部2811と送信部2813とは独立に並行して動作する。
For example, the communication unit 281 is configured by one application (process), and the
通信部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
中間バッファ2822は、クライアント装置向けの情報を一時的に蓄積するバッファメモリである。
The
受信部2821は、TCP通信部290から受信したクライアント装置向けの情報を中間バッファ2822に格納する機能を有する。受信部2821は、受信バッファ28211と受信処理部28212とを有する。受信バッファ28211は、情報処理装置210から受信したクライアント装置向けの情報を一時的に蓄積するバッファである。TCP通信部290は、ネットワーク230を通じて情報処理装置210のリモートデスクトップサーバモジュール240からクライアント装置向けの情報を受信すると、この受信した情報を受信バッファ28211に書き込む。受信処理部28212は、受信バッファ28211に書き込まれた情報を読み出して、中間バッファ2822に書き込む機能を有する。
The
送信部2823は、中間バッファ2822に蓄積されたクライアント装置向けの情報をリモートデスクトップクライアントモジュール270へ送信する機能を有する。送信部2823は、送信処理部28231と送信バッファ28232とを有する。送信処理部28231は、中間バッファ2822に蓄積されたクライアント装置向けの情報を読み出して送信バッファ28232に書き込む機能を有する。送信バッファ28232に書き込まれた情報はリモートデスクトップクライアントモジュール270によって読み出される。
The
例えば、通信部282は1つのアプリケーション(プロセス)で構成され、受信バッファ28211および送信バッファ28232はソケット(Socket)バッファで構成される。また受信部2821と送信部2823とはそれぞれ1つのスレッドとして動作する。このため、受信部2821と送信部2823とは独立に並行して動作する。
For example, the communication unit 282 is configured by one application (process), and the
サーバ側プロキシモジュール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
中間バッファ2512は、クライアント装置向けの情報を一時的に蓄積するバッファメモリである。
The
受信部2511は、リモートデスクトップサーバモジュール240から受信したクライアント装置向けの情報を中間バッファ2512に格納する機能を有する。受信部2511は、受信バッファ25111と受信処理部25112とを有する。受信バッファ25111は、リモートデスクトップサーバモジュール240からリモートデスクトップクライアントモジュール270に送るクライアント装置向けの情報を一時的に蓄積するバッファである。リモートデスクトップサーバモジュール240は、リモートデスクトップクライアントモジュール270に対してクライアント装置向けの情報を送信する場合、送信する情報を受信バッファ25111に書き込む。受信処理部25112は、受信バッファ25111に書き込まれた情報を読み出して、中間バッファ2512に書き込む機能を有する。
The receiving
送信部2513は、中間バッファ2512に蓄積されたクライアント装置向けの情報をTCP通信部260の機能を使ってTCP通信によりネットワーク230を通じて情報処理装置220へ送信する機能を有する。送信部2513は、送信処理部25131と送信バッファ25132とを有する。送信処理部25131は、中間バッファ2512に蓄積されたクライアント装置向けの情報を読み出して送信バッファ25132に書き込む機能を有する。送信バッファ25132に書き込まれた情報はTCP通信部260によって読み出され、ネットワーク230を通じて情報処理装置220へ送信される。
The
例えば、通信部251は1つのアプリケーション(プロセス)で構成され、受信バッファ25111および送信バッファ25132はソケット(Socket)バッファで構成される。また受信部2511と送信部2513とはそれぞれ1つのスレッドとして動作する。このため、受信部2511と送信部2513とは独立に並行して動作する。
For example, the communication unit 251 is configured with one application (process), and the
通信部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
中間バッファ2522は、サーバ装置向けの情報を一時的に蓄積するバッファメモリである。
The
受信部2521は、TCP通信部260から受信したサーバ装置向けの情報を中間バッファ2522に格納する機能を有する。受信部2521は、受信バッファ25211と受信処理部25212とを有する。受信バッファ25211は、情報処理装置220から受信したサーバ装置向けの情報を一時的に蓄積するバッファである。TCP通信部260は、ネットワーク230を通じて情報処理装置220のリモートデスクトップサーバモジュール270からサーバ装置向けの情報を受信すると、この受信した情報を受信バッファ25211に書き込む。受信処理部25212は、受信バッファ25211に書き込まれた情報を読み出して、中間バッファ2522に書き込む機能を有する。
The receiving
送信部2523は、中間バッファ2522に蓄積されたサーバ装置向けの情報をリモートデスクトップサーバモジュール240へ送信する機能を有する。送信部2523は、送信処理部25231と送信バッファ25232とを有する。送信処理部25231は、中間バッファ2522に蓄積されたサーバ装置向けの情報を読み出して送信バッファ25232に書き込む機能を有する。送信バッファ25232に書き込まれた情報はリモートデスクトップサーバモジュール240によって読み出される。
The
例えば、通信部252は1つのアプリケーション(プロセス)で構成され、受信バッファ25211および送信バッファ25232はソケット(Socket)バッファで構成される。また受信部2521と送信部2523とはそれぞれ1つのスレッドとして動作する。このため、受信部2521と送信部2523とは独立に並行して動作する。
For example, the communication unit 252 is configured by one application (process), and the
次に本実施形態に係るリモートデスクトップシステム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
まず、リモートデスクトップクライアントモジュール270は、サーバ装置向けの情報をクライアント側プロキシモジュール280の通信部281の受信部2811における受信バッファ28111に書き込む。
First, the remote
次に、通信部281の受信処理部28112は、サーバ装置向けの情報が受信バッファ28111に蓄積されると、それを読み出して、中間バッファ2812に書き込む。
Next, when the information for the server device is accumulated in the
次に、通信部281の送信部2813の送信処理部28131は、サーバ装置向けの情報が中間バッファ2812に蓄積されると、それを読み出して、送信バッファ28132に書き込む。
Next, when the information for the server device is accumulated in the
次に、TCP通信部290は、送信バッファ28132にサーバ装置向けの情報が蓄積されると、それを読み出して、ネットワーク230を通じてTCP通信により情報処理装置210のリモートデスクトップサーバモジュール240宛に送信する。
Next, when information for the server device is accumulated in the
情報処理装置210のTCP通信部260は、TCP通信部290によって送信されたサーバ装置向けの情報を受信すると、受信した情報をサーバ側プロキシモジュール250の通信部252の受信部2521における受信バッファ25211に書き込む。
When the
受信部2521の受信処理部25212は、サーバ装置向けの情報が受信バッファ25211に蓄積されると、それを読み出して、中間バッファ2522に書き込む。
When the information for the server device is accumulated in the
通信部252の送信部における送信処理部25231は、中間バッファ2522にサーバ装置向けの情報が蓄積されると、それを読み出して、送信バッファ25232に書き込む。
When the information for the server device is accumulated in the
リモートデスクトップサーバモジュール240は、送信バッファ25232にサーバ装置向けの情報が蓄積されると、それを読み出す。そして、リモートデスクトップサーバモジュール240は、読み出した情報に応じた処理を実行する。
When the information for the server device is accumulated in the
以上のような動作によって、リモートデスクトップクライアントモジュール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
また、通信部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
次に、クライアント装置向けの情報を送受信する動作について説明する。 Next, an operation for transmitting and receiving information for the client device will be described.
まず、リモートデスクトップサーバモジュール240は、クライアント装置向けの情報をサーバ側プロキシモジュール250の通信部251の受信部2511における受信バッファ25111に書き込む。
First, the remote
次に、通信部251の受信処理部25112は、クライアント装置向けの情報が受信バッファ25111に蓄積されると、それを読み出して、中間バッファ2512に書き込む。
Next, when the information for the client device is accumulated in the
次に、通信部251の送信部2513の送信処理部25131は、クライアント装置向けの情報が中間バッファ2512に蓄積されると、それを読み出して、送信バッファ25132に書き込む。
Next, when information for the client device is accumulated in the
次に、TCP通信部260は、送信バッファ25132にクライアント装置向けの情報が蓄積されると、それを読み出して、ネットワーク230を通じてTCP通信により情報処理装置220のリモートデスクトップクライアントモジュール270宛に送信する。
Next, when the information for the client device is accumulated in the
情報処理装置220のTCP通信部290は、TCP通信部260によって送信されたクライアント装置向けの情報を受信すると、受信した情報をクライアント側プロキシモジュール280の通信部282の受信部2821における受信バッファ28211に書き込む。
When the
受信部2821の受信処理部28212は、クライアント装置向けの情報が受信バッファ28211に蓄積されると、それを読み出して、中間バッファ2822に書き込む。
When information for the client device is accumulated in the
通信部282の送信部における送信処理部28231は、中間バッファ2822にクライアント装置向けの情報が蓄積されると、それを読み出して、送信バッファ28232に書き込む。
When the information for the client device is accumulated in the
リモートデスクトップクライアントモジュール270は、送信バッファ28232にクライアント装置向けの情報が蓄積されると、それを読み出す。そして、リモートデスクトップサーバクライアントモジュール270は、読み出した情報に応じた処理を実行する。
When the information for the client device is accumulated in the
以上のような動作によって、リモートデスクトップサーバモジュール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
また、通信部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
[第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
情報処理装置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
また情報処理装置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
サーバ側プロキシモジュール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
テストデータを送信することによってクライアント装置向けの情報の送信が遅延することを避けるために、ネットワーク状態確認部353は、サーバ側プロキシモジュール350における送信待ちのクライアント装置向けの情報の量が閾値以下であるタイミングでテストデータを送信する。また、応答データを送信することによってサーバ装置向けの情報の送信が遅延することを避けるために、ネットワーク状態確認部383は、クライアント側プロキシモジュール380における送信待ちのサーバ装置向けの情報の量が閾値以下であるタイミングで応答データを送信する。
In order to avoid delaying the transmission of information for the client device by transmitting the test data, the network
ウインドウサイズ調整部354、384は、通知されたデータ転送時間に従って、TCP通信部360からTCP通信部390への送受信に使用するTCPのウインドウサイズを調整する機能を有する。例えば、TCPのウインドウサイズを拡大調整することによりデータ転送時間が短くなれば続けて拡大調整を行い、TCPのウインドウサイズを拡大調整することによりデータ転送時間が長くなれば逆に縮小調整を行う。また、TCPのウインドウサイズを縮小調整することによりデータ転送時間が短くなれば続けて縮小調整を行い、TCPのウインドウサイズを縮小調整することによりデータ転送時間が長くなれば逆に拡大調整を行う。
The window
本実施形態では、ウインドウサイズの調整は、送受信に使用するソケットバッファのサイズの変更に伴ってウインドウサイズが決定されるソケットの仕組みを利用する。ソケットバッファのサイズの変更は、図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
リモートデスクトップクライアントモジュール370とリモートデスクトップサーバモジュール340との間で、クライアント側プロキシモジュール380、TCP通信部390、ネットワーク330、TCP通信部360、およびサーバ側プロキシモジュール350を通じて相互に通信可能な状態になると、サーバ側プロキシモジュール350のネットワーク状態確認部353は予め定められた一定周期(例えば数分)毎に図5に示す処理の実行を開始し、クライアント側プロキシモジュール380のネットワーク状態確認部383は図6に示す処理の実行を開始する。
When the remote
サーバ側プロキシモジュール350のネットワーク状態確認部353は、起動されると、中間バッファ3512が空であるか否かを判定する(S301)。この処理は、サーバ側プロキシモジュール350における送信待ちのクライアント装置向けの情報の量が閾値以下であるか否かを判定する処理の一例である。若し、中間バッファ3512が空きでなければ、図5に示す処理を終了する。若し、中間バッファ3512が空きであれば、現在時刻を送信時刻として記載したテストデータを送信バッファ35132に書き込む(S302)。そして、テストデータに対する応答データが受信バッファ35211に到着するのを監視する(S303)。
When activated, the network
送信バッファ35132に書き込まれたテストデータは、TCP通信部360によってネットワーク330を通じて情報処理装置310から情報処理装置320へ送信され、TCP通信部390で受信されてクライアント側プロキシモジュール380の受信バッファ38211に書き込まれる。
The test data written in the
クライアント側プロキシモジュール380のネットワーク状態確認部383は、テストデータが受信バッファ38211に到着するのを常時監視している(S311)。ネットワーク状態確認部383は、テストデータが受信バッファ38211に到着すると、それを取り出し(S312)、テストデータに記載された送信時刻と現在時刻との差をデータ転送時間として算出する(S313)。次にネットワーク状態確認部383は、算出したデータ転送時間を応答データに記載し(S314)、中間バッファ3812が空のタイミングで(S315でYES)、応答データを送信バッファ38132に書き込む(S316)。ステップS315の処理は、クライアント側プロキシモジュール380における送信待ちのサーバ装置向けの情報の量が閾値以下であるか否かを判定する処理の一例である。またネットワーク状態確認部383は、上記算出したデータ転送時間をウインドウサイズ調整部384に通知する(S317)。そして、ネットワーク状態確認部383は、ステップS311の処理へと戻る。
The network
送信バッファ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
サーバ側プロキシモジュール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
ウインドウサイズ調整部354は、ネットワーク状態確認部353から通知されたデータ転送時間に従って、送信部3513の送信バッファ35132のサイズを図4に示した式に基づいて変更する。またウインドウサイズ調整部384は、ネットワーク状態確認部383から通知されたデータ転送時間に従って、受信部3821の受信バッファ38211のサイズを図4に示した式に基づいて変更する。送信バッファ35132および受信バッファ38211は、ソケットバッファである。ソケットバッファのサイズ変更は、ソケットAPIのオプションを使用して行うことができる。そして、ソケットが送受信に使用するバッファのサイズが変更されることにより、TCPのウインドウのサイズが変更されることになる。
The window
上述したように本実施形態によれば、第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
サーバ側プロキシモジュール350における送信待ちのクライアント装置向けの情報の量が閾値以下であるタイミング(例えば中間バッファ3512が空であるタイミング)で、ネットワーク330の混雑状況を調査するためのテストデータをネットワーク330に送信することにより、ネットワーク330の混雑状況を調査する処理によってクライアント装置向けの情報の送信が遅延するのを防止することができる。
Test data for investigating the congestion status of the
クライアント側プロキシモジュール380における送信待ちのサーバ装置向けの情報の量が閾値以下であるタイミング(例えば中間バッファ3812が空であるタイミング)で、ネットワーク330の混雑状況を調査するためのテストデータに対する応答データをネットワーク330に送信することにより、ネットワーク330の混雑状況を調査する処理によってサーバ装置向けの情報の送信が遅延するのを防止することができる。
Response data to the test data for investigating the congestion status of the
本実施形態では、ネットワーク330の混雑状況を表す指標として、送信バッファ35132から受信バッファ38211までのデータ転送時間を使用したが、他の指標を使用しても良い。例えば、送信バッファ35132から受信バッファ38211までの行きのデータ転送時間と、送信バッファ38132から受信バッファ35211までの帰りのデータ転送時間の合計であるラウンドトリップ時間を指標としても良い。
In the present embodiment, the data transfer time from the
また本実施形態では、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
[第4の実施形態]
図7を参照すると、本発明の第4の実施形態にかかるリモートデスクトップシステム400で使用されるサーバ側プロキシモジュール中の通信部451は、リモートデスクトップサーバモジュール440から、クライアント向けの情報を受信し、TCP通信部460の機能を使ってTCP通信によりネットワークを通じてクライアント側へ送信する機能を有する。すなわち、通信部451は、図3に示した第3の実施形態における通信部351に相当する。
[Fourth Embodiment]
Referring to FIG. 7, the
通信部451は、受信部4511、中間バッファ4512、送信部4513を有する。このうち、受信部4511、それを構成する受信バッファ45111と受信処理部45112、中間バッファ4512は、図3に示した受信部3511、それを構成する受信バッファ35111と受信処理部35112、中間バッファ3512と同様の機能を有する。
The
送信部4513は、送信処理部45131、送信バッファ45132、送信順序決定部45133、重複画面イメージ削除部45134、画面生成部45135、画面記憶部45136を有する。このうち、送信バッファ45132は、図3に示した送信バッファ35132と同様の機能を有する。
The
送信順序決定部45133は、中間バッファ4512に蓄積されている情報、すなわち通信部451がリモートデスクトップサーバモジュール440から受信しTCP通信部460を通じてクライアント側プロキシモジュールへ未だ送信していない情報の送信順序を決定する機能を有する。送信順序決定部45133は、送信順序の決定は、情報の種別とその種別に対して予め定められた優先度とに基づいて行う。
The transmission
リモートデスクトップサーバモジュールとリモートデスクトップクライアントモジュールとで授受される情報には、画面データ、キーボードやマウスのイベントデータといった主要な情報以外に、音声データ、ストレージデータ、プリンタデータ、クリップボードデータ、スマートカードデータ、シリアルポートデータ、その他の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
また送信順序決定部45133は、送信順序の決定だけでなく、閾値以下の優先度を有する情報を中間バッファ4512から削除する機能を有していて良い。また、この削除機能は、中間バッファ4512の空き容量が予め定めた閾値以下のときに限って有効として
良い。
The transmission
重複画面イメージ削除部45134は、中間バッファ4512に蓄積されている画面イメージ、すなわち通信部451がリモートデスクトップサーバモジュール440から受信しTCP通信部460を通じてクライアント側プロキシモジュールへ未だ送信していない画面イメージから、重複部分を削除する機能を有する。
The duplicate screen
一般にリモートデスクトップ接続では、転送量を削減するために、サーバ画面のうち更新された領域を含む矩形領域の画面イメージをクライアント側へ送信する。このとき、同じ領域が繰り返し更新されると、同じ矩形領域の画面イメージが何度も送信されることになる。今、或る矩形領域の画面イメージが、画面イメージ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
上記の説明では、重複する画面イメージとして、同じ矩形領域に関する複数の画面イメージを例示したが、それだけには限定されない。例えば、或る矩形領域に関する画面イメージと、それより後の画面イメージであってその矩形領域が先の矩形領域を包含する画面イメージとを互いに重複する画面イメージとして認識しても良い。 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
また画面生成部45135は、中間バッファ4512に蓄積されている画面イメージの総量、すなわち通信部451がリモートデスクトップサーバモジュール440から受信しクライアント側プロキシへ未だ送信していない画面イメージの総量を算出する機能と、画面記憶部45136に記憶されているサーバのデスクトップ画面の画面イメージの総量を算出する機能とを有する。さらに画面生成部45135は、上記算出した総量どうしを比較し、中間バッファ4512に蓄積されている画面イメージの総量が画面記憶部45136に記憶されているデスクトップ画面の画面イメージの総量を上回っているならば、送信処理部45131に対して、画面記憶部45136に記憶されている画面イメージの送信を指示し、中間バッファ4512に蓄積されている全ての画面イメージを中間バッファ4512から削除する機能を有する。
The
送信処理部45131は、中間バッファ4512に蓄積されたクライアント装置向けの情報を読み出して送信バッファ45132に書き込む機能を有する。また送信処理部45131は、画面生成部45135から上記の指示を受けると、画面記憶部45136から画面イメージを読み出して送信バッファ45132に書き込む機能を有する。
The
次に本実施形態の動作を説明する。本実施形態に係るリモートデスクトップシステム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
送信処理部45131は、中間バッファ4512が空か否か、すなわちクライアント装置向けの情報が蓄積されているか否かを監視する(S401)。中間バッファ4512にクライアント装置向けの情報が蓄積されている場合、送信部4513では以下のような動作が行われる。
The
まず送信順序決定部45133は、中間バッファ4512に蓄積されている個々の情報の種別を判別し、判別した種別に対応する優先度に従って、中間バッファ4512内で情報を優先度順に並べ替え、また閾値以下の優先度を有する情報を中間バッファ4512から削除する(S402)。
First, the transmission
次に重複画面イメージ削除部45134は、中間バッファ4512に蓄積されている画面イメージから重複部分を削除する(S403)。
Next, the overlapping screen
次に画面生成部45135は、中間バッファ4512に蓄積された画面イメージを用いて、サーバのデスクトップ画面の画面イメージを生成し、画面記憶部45136に格納する(S404)。次に画面生成部45135は、中間バッファ4512に蓄積されている画面イメージの総量と、画面記憶部45136に記憶されているサーバのデスクトップ画面の画面イメージの総量とを算出して比較する(S405)。この比較結果により以降の処理が相違する。
Next, the
中間バッファ4512に蓄積されている画面イメージの総量が画面記憶部45136に記憶されているデスクトップ画面の画面イメージの総量を上回っていなければ、送信処理部45131は、送信バッファ45132に空きがあるか否かを確認し(S406)、空きがあれば、中間バッファ4512からクライアント装置向けの情報を読み出して、送信バッファ25132に書き込む(S407)。そして、ステップS401の処理へと戻る。送信バッファ45132に空きがなければ、送信処理部45131はステップS407をスキップしてステップS401の処理へと戻る。
If the total amount of screen images stored in the
他方、中間バッファ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
上述したように本実施形態によれば、第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
重複画面イメージ削除部45134を使用して、中間バッファ4512に蓄積されている画面イメージから重複部分を削除することにより、中間バッファ4512に情報が滞留するほど通信環境が悪化している状況下におけるリモートデスクトップ接続のレスポンス低下を改善することができる。
By using the overlapping screen
画面生成部45135を使用して、中間バッファ4512に蓄積されている画面イメージの総量が、それらに基づいて生成したデスクトップ画面の画面イメージの総量を上回った場合に、中間バッファ4512に蓄積されている全ての画面イメージを削除し、生成したデスクトップ画面の画面イメージを代わりに送信することにより、中間バッファ4512が満杯となってリモートデスクトップサーバモジュール440から新たなクライアント装置向けの情報を受信できない等の状況を回避することができる。
When the total amount of screen images stored in the
[その他の実施形態]
以上、本発明を幾つかの実施形態を挙げて説明したが、本発明は以上の実施形態にのみ限定されず、その他各種の付加変更が可能である。例えば、上記第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
100…リモートデスクトップシステム
110…サーバ装置
120…クライアント装置
130…ネットワーク
140…サーバ側プロキシ
141…第3の通信部
142…第4の通信部
150…クライアント側プロキシ
151…第1の通信部
152…第2の通信部
DESCRIPTION OF SYMBOLS 100 ...
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.
中間バッファと、
前記サーバ装置から受信した前記情報を前記中間バッファに蓄積する受信処理部と、
該受信処理部と独立に動作し、前記中間バッファに蓄積された前記情報を読み出して前記クライアント側プロキシへ送信する送信処理部と
を有する請求項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.
自通信部に存在する送信待ちの前記クライアント装置向けの情報の送信順序を、前記情報の種別と該種別に対して予め定められた優先度とに基づいて決定する送信順序決定部
を有する請求項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.
自通信部に存在する送信待ちの前記クライアント装置向けの複数の画面イメージから、重複する画面イメージを削除する重複画面イメージ削除部
を有する請求項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.
前記サーバ装置から受信した画面イメージを用いて前記サーバ装置のデスクトップ画面の画面イメージを生成し、自通信部に存在する送信待ちの前記クライアント装置向けの画面イメージの総量が前記生成したデスクトップ画面の画面イメージの総量を上回る場合、前記送信待ちの前記クライアント装置向けの画面イメージを削除し、前記生成した前記デスクトップ画面の画面イメージを送信する画面生成部
を有する請求項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.
中間バッファと、
前記サーバ装置から受信した前記情報を前記中間バッファに蓄積する受信処理部と、
該受信処理部と独立に動作し、前記中間バッファに蓄積された前記情報を読み出して前記クライアント装置側へ送信する送信処理部と
を有する請求項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.
前記判断された前記ネットワークの混雑状況に応じて前記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.
自通信部に存在する送信待ちの前記クライアント装置向けの情報の送信順序を、前記情報の種別と該種別に対して予め定められた優先度とに基づいて決定する送信順序決定部
を有する請求項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.
自通信部に存在する送信待ちの前記クライアント装置向けの複数の画面イメージから、重複する画面イメージを削除する重複画面イメージ削除部
を有する請求項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.
前記サーバ装置から受信した画面イメージを用いて前記サーバ装置のデスクトップ画面の画面イメージを生成し、自通信部に存在する送信待ちの前記クライアント装置向けの画面イメージの総量が前記生成したデスクトップ画面の画面イメージの総量を上回る場合、前記送信待ちの前記クライアント装置向けの画面イメージを削除し、前記生成した前記デスクトップ画面の画面イメージを送信する画面生成部
を有する請求項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.
中間バッファと、
前記サーバ装置から受信した前記情報を前記中間バッファに蓄積する受信処理部と、
該受信処理部と独立に動作し、前記中間バッファに蓄積された前記情報を読み出して前記クライアント装置側へ送信する送信処理部と
を有する請求項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.
自通信部に存在する送信待ちの前記クライアント装置向けの情報の送信順序を、前記情報の種別と該種別に対して予め定められた優先度とに基づいて決定する送信順序決定部
を有する請求項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.
自通信部に存在する送信待ちの前記クライアント装置向けの複数の画面イメージから、重複する画面イメージを削除する重複画面イメージ削除部
を有する請求項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.
前記サーバ装置から受信した画面イメージを用いて前記サーバ装置のデスクトップ画面の画面イメージを生成し、自通信部に存在する送信待ちの前記クライアント装置向けの画面イメージの総量が前記生成したデスクトップ画面の画面イメージの総量を上回る場合、前記送信待ちの前記クライアント装置向けの画面イメージを削除し、前記生成した前記デスクトップ画面の画面イメージを送信する画面生成部
を有する請求項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.
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)
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)
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 |
-
2013
- 2013-02-22 JP JP2013032836A patent/JP5652891B2/en active Active
Patent Citations (8)
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)
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 | |
CN108092908B (en) | Method for controlling flow and sending end equipment | |
WO2018070518A1 (en) | Communication device, control device, and communication method | |
EP2661029B1 (en) | Avoiding Delayed Data | |
WO2011133624A1 (en) | Congestion window control based on queuing delay and packet loss | |
US7675898B2 (en) | Session relay apparatus for relaying data, and a data relaying method | |
US20230362098A1 (en) | Rate Update Engine For Reliable Transport Protocol | |
JP2019106697A (en) | Method for dynamically managing message retransmission delay in interconnection network and device | |
WO2020211312A1 (en) | Data writing method, system, device and computer-readable storage medium | |
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 | |
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 | |
JP2018085694A (en) | Relay apparatus and communication system | |
JP7536567B2 (en) | COMMUNICATION DEVICE, CONTROL METHOD, AND 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 |