JP2014049995A - Communication device, system and program - Google Patents

Communication device, system and program Download PDF

Info

Publication number
JP2014049995A
JP2014049995A JP2012192661A JP2012192661A JP2014049995A JP 2014049995 A JP2014049995 A JP 2014049995A JP 2012192661 A JP2012192661 A JP 2012192661A JP 2012192661 A JP2012192661 A JP 2012192661A JP 2014049995 A JP2014049995 A JP 2014049995A
Authority
JP
Japan
Prior art keywords
unit
transmission
data
communication
connection
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
JP2012192661A
Other languages
Japanese (ja)
Other versions
JP5771169B2 (en
Inventor
Hiroshi Kawazoe
博史 川添
Takuya Kawamura
卓也 川村
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012192661A priority Critical patent/JP5771169B2/en
Publication of JP2014049995A publication Critical patent/JP2014049995A/en
Application granted granted Critical
Publication of JP5771169B2 publication Critical patent/JP5771169B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce a data transmission delay when a server and a client conform to a plurality of types of transmission systems.SOLUTION: A communication device includes: a first communication unit for communicating with a first communication device using a first transmission method; a second communication unit for communication using a second transmission method; an instruction unit for instructing the first and second communication units to perform processing for establishing a stream in a manner to overlap timing to perform stream establishment processing to be used by the first and second communication units; and a distribution unit for distributing transmission data to the first communication unit when the first communication unit first completes processing for establishing a single steam, and for changing distribution destinations of the transmission data after the second communication unit completes processing for establishing a plurality of streams.

Description

本発明の実施形態は、通信装置、システム及びプログラムに関する。   Embodiments described herein relate generally to a communication device, a system, and a program.

従来から、ネットワークを介して接続されたサーバ装置とクライアント装置とを含むシステムにおいて、サーバ装置とクライアント装置との間のデータ伝送に用いる伝送プロトコルにTCP/IPを利用する場合が多い。   Conventionally, in a system including a server device and a client device connected via a network, TCP / IP is often used as a transmission protocol used for data transmission between the server device and the client device.

伝送プロトコルにTCP/IPを用いてデータを送信する場合、サーバは、TCP層において、TCPストリームを用いてデータの伝送レート(通信帯域幅)の制御を行いながら、IP層にデータを渡し、IP層がネットワークにデータを送出する。   When transmitting data using TCP / IP as a transmission protocol, the server passes data to the IP layer while controlling the data transmission rate (communication bandwidth) using the TCP stream in the TCP layer. The layer sends data to the network.

従来、サーバとクライアント装置との間でTCPストリームは単数本確立して、データ伝送を行っていた。しかしながら、近年、サーバとクライアント装置との間でTCPストリームを複数本確立し、複数のデータに分割して、分割したデータを並列的に伝送する手法が用いられるようになってきた。複数のTCPストリームを用いると、データの伝送レートを向上することができる。   Conventionally, a single TCP stream has been established between a server and a client device to perform data transmission. However, in recent years, a technique has been used in which a plurality of TCP streams are established between a server and a client device, divided into a plurality of data, and the divided data is transmitted in parallel. If a plurality of TCP streams are used, the data transmission rate can be improved.

データの送受信を正しく行うためには、サーバとクライアントとは、同一の伝送方式に対応している必要がある。例えば、前出の複数のTCPストリームを用いる伝送方式を例にすると、通信の相手が単一のTCPストリームを用いる伝送方式にしか対応していない場合、複数のTCPストリームによる接続確立を行っても失敗するため、データの送受信を開始することができない。   In order to correctly transmit and receive data, the server and the client need to support the same transmission method. For example, taking the transmission method using a plurality of TCP streams as described above as an example, if the communication partner only supports the transmission method using a single TCP stream, even if connection establishment is performed using a plurality of TCP streams. Because it fails, data transmission / reception cannot be started.

そこで、サーバとクライアント装置とが対応する伝送方式をネゴシエーションする必要が生じる。しかしながらネゴシエーションを行うためには、双方の間で対応する伝送方式の種類を交換する等の手順が必要であり、ネゴシエーションが完了するまで時間を要する。このため、データの送信の必要が生じてから実際に送出が行えるようになるまで遅延が発生する点が問題である。また、そのようなネゴシエーションの機構を持たないサーバまたはクライアント装置が既に広く普及しているのであれば、ネゴシエーションの機能を後からそれらの装置に追加することは困難である。   Therefore, it becomes necessary to negotiate a transmission method corresponding to the server and the client device. However, in order to perform the negotiation, a procedure such as exchanging the type of transmission method corresponding to both parties is necessary, and it takes time until the negotiation is completed. For this reason, there is a problem in that a delay occurs until the data can be actually transmitted after the data needs to be transmitted. In addition, if a server or a client device that does not have such a negotiation mechanism is already widely used, it is difficult to add a negotiation function to these devices later.

特開2003−8682号公報JP 2003-8682 A 米国公開US2002/0099844US 2002/0099844

本発明の一側面は、サーバ装置及びクライアント装置が複数種類の伝送方式に対応する場合に、ネゴシエーションによる、データ伝送の遅延を低減することを目的とする。   An object of one aspect of the present invention is to reduce a data transmission delay due to negotiation when a server apparatus and a client apparatus support a plurality of types of transmission schemes.

本発明の一側面に係る通信装置は、
ネットワークを介して接続された第1の通信装置との間で通信を行う装置であって、第1の接続を確立するための処理を行うとともに、前記第1の通信装置と前記第1の接続を確立した場合に、第1の伝送方式で通信を行う第1の通信部と、第2の接続を確立するための処理を行うとともに、前記第1の通信装置と前記第2の接続を確立した場合に、第2の伝送方式で通信を行う第2の通信部と、前記第1の通信部が前記第1の接続を確立するための処理を行うタイミングと、前記第2の通信部が前記第2の接続を確立するための処理を行うタイミングとが重複する様に、前記第1の通信部に対して前記第1の接続を確立するための処理を行うように第1の指示を出すとともに、前記第2の通信部に対して前記第2の接続を確立するための処理を行うように第2の指示を出す指示部と、分配部と、を備え、前記第1の通信部は、前記第1の接続を確立するための処理を完了した場合に、前記分配部に第1メッセージを通知し、前記第2の通信部は、前記第2の接続を確立するための処理を完了した場合に、前記分配部に第2メッセージを通知し、前記分配部は、前記送信データを、通信に用いるすべての接続の確立を最初に完了した前記第1の通信部又は前記第2の通信部のいずれか一方に分配するとともに、前記第1の通信部が最初に前記第1の接続を確立するための処理を完了した場合に、前記第1の通信部に前記送信データを分配するとともに、前記第2の通信部が前記第2の接続の確立するための処理を完了後、前記送信データの分配先を前記第1の通信部から前記第2の通信部に切り替えることを特徴とする。
A communication apparatus according to one aspect of the present invention is provided.
A device that communicates with a first communication device connected via a network, and performs processing for establishing a first connection, and the first communication device and the first connection Is established, the first communication unit that performs communication using the first transmission method and the process for establishing the second connection are performed, and the second connection is established with the first communication device. A second communication unit that performs communication using the second transmission method, a timing at which the first communication unit performs processing for establishing the first connection, and the second communication unit includes: Instructing the first communication unit to perform the process for establishing the first connection so that the timing for performing the process for establishing the second connection overlaps. And processing for establishing the second connection to the second communication unit An instruction unit that issues a second instruction; and a distribution unit, wherein the first communication unit sends a first message to the distribution unit when the process for establishing the first connection is completed. And the second communication unit notifies the distribution unit of a second message when the process for establishing the second connection is completed, and the distribution unit communicates the transmission data with the second message. Distribution of all the connections used for the first communication unit to the first communication unit or the second communication unit that is first completed, and the first communication unit first establishes the first connection. The transmission data is distributed to the first communication unit and the second communication unit completes the process for establishing the second connection, and then the transmission data The distribution destination of the network from the first communication unit to the second communication unit And wherein the door.

本発明の第1の実施形態にかかるシステムを示すブロック図である。1 is a block diagram showing a system according to a first embodiment of the present invention. データが分割され分割順序を表すヘッダが付与される様子を示す図。The figure which shows a mode that data is divided | segmented and the header showing a division | segmentation order is provided. 第1の実施形態に係るシステムの処理の流れの一例を示すシーケンス図。The sequence diagram which shows an example of the flow of a process of the system which concerns on 1st Embodiment. 本発明の第1の実施形態の変形例にかかるシステムを示すブロック図である。It is a block diagram which shows the system concerning the modification of the 1st Embodiment of this invention. 本発明の第2の実施形態にかかるシステムを示すブロック図である。It is a block diagram which shows the system concerning the 2nd Embodiment of this invention. 画面更新の一例を示す図である。It is a figure which shows an example of a screen update. 領域情報を説明するための図である。It is a figure for demonstrating area | region information. 分割情報の一例を示す図である。It is a figure which shows an example of division information. 図5のサーバ装置32の第5分配部3202の処理を示すフローチャートである。6 is a flowchart showing processing of a fifth distribution unit 3202 of the server device 32 of FIG. 5. ストリーム数の決定処理の第1の例のフローチャートを示す図である。It is a figure which shows the flowchart of the 1st example of the determination process of the number of streams. 図5のサーバ装置32のストリーム数決定部3206の記憶部32061が保持するテーブルの第1の例を示す図である。FIG. 6 is a diagram illustrating a first example of a table held by a storage unit 32061 of a stream number determination unit 3206 of the server device 32 of FIG. 5. ストリーム数の決定処理の第2の例のフローチャートを示す図である。It is a figure which shows the flowchart of the 2nd example of the determination process of the number of streams. 図5のサーバ装置32のストリーム数決定部3206の記憶部32061が保持するテーブルの第2の例を示す図である。FIG. 6 is a diagram illustrating a second example of a table held by the storage unit 32061 of the stream number determination unit 3206 of the server device 32 of FIG. 5. ストリーム数の決定処理の第3の例のフローチャートを示す図である。It is a figure which shows the flowchart of the 3rd example of the determination processing of the number of streams.

以下、本発明の実施の形態について、図面を参照しながら説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same portions are denoted by the same reference numerals, and redundant description is omitted.

<第1の実施形態>
第1の実施形態では、サーバ装置とクライアント装置が、それぞれ単一のTCPストリームによる伝送方式と複数のTCPストリームによる伝送方式のいずれか一方または両方に対応するものとする。なお伝送方式はこれらに限る必要はない。また三種類以上であってもよい。
<First Embodiment>
In the first embodiment, it is assumed that the server device and the client device respectively correspond to one or both of a transmission method using a single TCP stream and a transmission method using a plurality of TCP streams. The transmission method need not be limited to these. Three or more types may be used.

図1は、第1の実施形態にかかるシステムの構成を示すブロック図である。図1のシステムは、クライアント装置1とサーバ装置2とが、ネットワーク3を介して接続されている。クライアント装置1とサーバ装置2とは、単数若しくは複数のTCPストリームを確立し、確立したTCPストリームを用いて通信を行う装置である。   FIG. 1 is a block diagram illustrating a configuration of a system according to the first embodiment. In the system of FIG. 1, a client device 1 and a server device 2 are connected via a network 3. The client apparatus 1 and the server apparatus 2 are apparatuses that establish one or more TCP streams and perform communication using the established TCP streams.

本発明の一観点に係るクライアント装置1は、ネットワーク3を介して接続された第サーバ装置2との間で通信を行う装置であって、単一のストリームを確立するための処理を行うとともに、サーバ装置2と前記単一のストリームを確立した場合に、前記単一のストリームを用いて通信を行う第1の送信部103と、複数のストリームを確立するための処理を行うとともにサーバ装置2と前記複数のストリームを確立した場合に、前記複数のストリームを用いて通信を行う第2の送信部104と、第1の送信部103が、前記単一のストリームを確立するための処理を行うタイミングと、第2の送信部104が、前記複数のストリームを確立するための処理を行うタイミングとが、重複する様に、第1の送信部103に対して、前記単一のストリームを確立するための処理を行うように第1の指示を出すとともに、第2の送信部104に対して、前記複数のストリームを確立するための処理を行うように第2の指示を出す確立指示部101と、第1分配部102と、を備え、第1の送信部103は、前記単一のストリームを確立するための処理を完了した場合に、第1分配部102に、第1メッセージを通知し、第2の送信部104は、前記複数のストリームを確立するための処理を完了した場合に第1分配部102に、第2メッセージを通知し、第1分配部102は、前記送信データを、通信に用いるすべてのストリームの確立を最初に完了した、第1の送信部103又は第2の送信部104のいずれか一方に分配するとともに、第1の送信部103が最初に、前記単一のストリームを確立するための処理を完了した場合に、第1の送信部103に、前記送信データを分配するとともに、第2の送信部104が、前記複数のストリームの確立するための処理を完了後、前記送信データの分配先を、第1の送信部103から第2の送信部104に切り替えることを特徴とする。     The client device 1 according to one aspect of the present invention is a device that communicates with the first server device 2 connected via the network 3 and performs processing for establishing a single stream, When the server apparatus 2 and the single stream are established, the first transmission unit 103 that performs communication using the single stream, a process for establishing a plurality of streams, and the server apparatus 2 When the plurality of streams are established, a timing at which the second transmission unit 104 that performs communication using the plurality of streams and the first transmission unit 103 perform processing for establishing the single stream And the second transmitter 104 to the first transmitter 103 such that the timing at which the second transmitter 104 performs processing for establishing the plurality of streams overlaps. Establishment that issues a first instruction to perform processing for establishing a stream and issues a second instruction to perform processing for establishing the plurality of streams to the second transmission unit 104 An instruction unit 101 and a first distribution unit 102; the first transmission unit 103 sends a first message to the first distribution unit 102 when the processing for establishing the single stream is completed. The second transmission unit 104 notifies the first distribution unit 102 of the second message when the processing for establishing the plurality of streams is completed, and the first distribution unit 102 The data is distributed to either the first transmission unit 103 or the second transmission unit 104 that has first completed the establishment of all streams used for communication, and the first transmission unit 103 Single stream The transmission data is distributed to the first transmission unit 103 and the second transmission unit 104 completes the processing for establishing the plurality of streams. The distribution destination of the transmission data is switched from the first transmission unit 103 to the second transmission unit 104.

以下では、まず、クライアント装置1及びサーバ装置2の構成を図1を用いて説明する。   Below, the structure of the client apparatus 1 and the server apparatus 2 is demonstrated using FIG.


≪ クライアント装置の構成 ≫

クライアント装置1は、データ供給部100と、確立指示部101と、第1分配部102と、第1の送信部103と、第2の送信部104とを備える。第1の送信部103は、確立部105を備える。第2の送信部104は、確立部106と第2分配部107とを備える。

≪ Client device configuration ≫

The client device 1 includes a data supply unit 100, an establishment instruction unit 101, a first distribution unit 102, a first transmission unit 103, and a second transmission unit 104. The first transmission unit 103 includes an establishment unit 105. The second transmission unit 104 includes an establishment unit 106 and a second distribution unit 107.

データ供給部100は、サーバ装置2に伝送すべきデータを供給する。   The data supply unit 100 supplies data to be transmitted to the server device 2.

確立指示部101は、第1の送信部103の確立部105と第2の送信部104の確立部106を用いてサーバ装置2との間で接続の確立を指示する。(確立部105及び確立部106に対するそれぞれの指示を、第1の指示及び第2の指示と称する。)
第1分配部102は、データ供給部100から渡されたデータを第1の送信部103または第2の送信部104に渡し、データの送出を指示する。
The establishment instruction unit 101 instructs establishment of a connection between the server device 2 using the establishment unit 105 of the first transmission unit 103 and the establishment unit 106 of the second transmission unit 104. (Each instruction for the establishing unit 105 and the establishing unit 106 is referred to as a first instruction and a second instruction.)
The first distribution unit 102 passes the data delivered from the data supply unit 100 to the first transmission unit 103 or the second transmission unit 104, and instructs data transmission.

第1の送信部103は、第1の伝送方式によるデータ送信を行う。本実施形態では、第1の伝送方式は、単一のTCPストリームを用いる伝送方式である。   The first transmission unit 103 performs data transmission by the first transmission method. In the present embodiment, the first transmission method is a transmission method using a single TCP stream.

第2の送信部104は、第2の伝送方式によるデータ送信を行う。本実施形態では、第2の伝送方式は、複数TCPストリームを用いる伝送方式である。   The second transmission unit 104 performs data transmission by the second transmission method. In the present embodiment, the second transmission method is a transmission method using a plurality of TCP streams.

確立部105は、第1の伝送方式における接続確立を行う。確立部105は、具体的には、サーバ装置2の第1の受信部200との間で単一のTCPストリームの作成を行う。   The establishment unit 105 establishes connection in the first transmission method. Specifically, the establishing unit 105 creates a single TCP stream with the first receiving unit 200 of the server device 2.

確立部106は、第2の伝送方式における接続確立を行う。確立部106は、具体的には、まず、サーバ装置2の第2の受信部201との間で制御用のTCPストリームの作成を行う。確立部106は、次に、制御用TCPストリームを用いてデータ用の(複数の)TCPストリームの作成に関する情報を交換し、交換した情報を用いて、データ用TCPストリームの作成を行う。   The establishment unit 106 establishes connection in the second transmission method. Specifically, the establishing unit 106 first creates a control TCP stream with the second receiving unit 201 of the server device 2. Next, the establishing unit 106 exchanges information regarding creation of a plurality of TCP streams for data using the control TCP stream, and creates a data TCP stream using the exchanged information.

第2分配部107は、第2の伝送方式におけるデータ分配を行う。第2分配部107は、具体的には、第1分配部102から渡されたデータを分割し、分割順序を表すヘッダを付加した上で、複数のTCPストリームに渡し送信を行う。分割部107の動作の詳細は、図2を用いて後述する。   The second distribution unit 107 performs data distribution in the second transmission method. Specifically, the second distribution unit 107 divides the data delivered from the first distribution unit 102, adds a header indicating the division order, and performs transmission to a plurality of TCP streams. Details of the operation of the dividing unit 107 will be described later with reference to FIG.

以上が、クライアント装置1の構成の説明である。   The above is the description of the configuration of the client device 1.


≪ サーバ装置の構成 ≫

次に、サーバ装置2の構成を説明する。

≪ Server device configuration ≫

Next, the configuration of the server device 2 will be described.

サーバ装置2は、第1の受信部200と、第2の受信部201と、第2収集部205と、データ出力部206とを備える。第1の受信部200は、待受部202を備える。第2の受信部201は待受部203と第1収集部204とを備える。   The server device 2 includes a first receiving unit 200, a second receiving unit 201, a second collecting unit 205, and a data output unit 206. The first receiving unit 200 includes a standby unit 202. The second reception unit 201 includes a standby unit 203 and a first collection unit 204.

第1の受信部200は、第1の伝送方式によるデータ受信を行う。   The first receiving unit 200 receives data according to the first transmission method.

第2の受信部201は、第2の伝送方式によるデータ受信を行う。   The second receiving unit 201 receives data by the second transmission method.

待受部202は、第1の伝送方式における接続待受を行う。待受部202は、具体的には、クライアント装置1の第1の送信部103との間でTCPストリームの作成を行う。   The standby unit 202 performs connection standby in the first transmission method. Specifically, the standby unit 202 creates a TCP stream with the first transmission unit 103 of the client device 1.

待受部203は、第2の伝送方式における接続待受を行う。待受部203は、具体的には、クライアント装置1の第2の送信部104との間で制御用TCPストリームの作成を行い、この制御用TCPストリームを用いてデータ用TCPストリームの作成に関する情報を交換した後で、複数のデータ用TCPストリームの作成を行う。   The standby unit 203 performs connection standby in the second transmission method. Specifically, the standby unit 203 creates a control TCP stream with the second transmission unit 104 of the client device 1, and uses this control TCP stream to create information about the creation of the data TCP stream. After the exchange, a plurality of data TCP streams are created.

第1収集部204は、第2の伝送方式におけるデータ収集を行う。具体的には、第1収集部204は、第2の送信部104から受信したデータに付加された分割情報を表すヘッダにもとづいて分割前のデータを再現し、第2収集部205へ渡す。   The first collection unit 204 collects data in the second transmission method. Specifically, the first collection unit 204 reproduces the data before division based on the header representing the division information added to the data received from the second transmission unit 104 and passes the data to the second collection unit 205.

第2収集部205は、第1の受信部200または第2の受信部201から渡されたデータ収集し、データ出力部206へ渡す。   The second collection unit 205 collects data passed from the first reception unit 200 or the second reception unit 201 and passes it to the data output unit 206.

データ出力部206は第2収集部205から渡されたデータを出力する。   The data output unit 206 outputs the data passed from the second collection unit 205.

以上が、サーバ装置2の構成の説明である。   The above is the description of the configuration of the server device 2.


≪ 処理の流れ ≫

次に、第1の実施形態に係るシステムにより行われる処理について、図面を適宜参照しながら説明する。

≪Process flow≫

Next, processing performed by the system according to the first embodiment will be described with reference to the drawings as appropriate.

クライアント装置1とサーバ装置2がネットワーク3を介して物理的に接続されている。第1の伝送方式を、単一のTCPストリームを用いる伝送方式であるとし、第2の伝送方式を、複数TCPストリームを用いる伝送方式であるとする。その上で、クライアント装置1とサーバ装置2が両方とも複数TCPストリームを用いる伝送方式に対応する場合はそれを優先的に使用するものとする。   A client device 1 and a server device 2 are physically connected via a network 3. It is assumed that the first transmission method is a transmission method using a single TCP stream, and the second transmission method is a transmission method using a plurality of TCP streams. In addition, when both the client apparatus 1 and the server apparatus 2 support a transmission method using a plurality of TCP streams, the client apparatus 1 and the server apparatus 2 are preferentially used.


≪ 処理の流れ(接続の確立) ≫

始めに、サーバ装置2は接続の待受処理を行う。待受処理の開始タイミングは、例えばサーバ装置2が起動したタイミングや、ユーザから明示的に指示があったタイミングなど、任意のタイミングであってよい。第1の受信部200の待受部202と、第2の受信部201の待受部203が、それぞれ待受処理を開始する。待受部202は、ソケットを作成し、第1の受信部200の固有のポート番号をソケットに割り当ててポートをオープンにし、クライアント装置1からの接続を待ち受ける。また待受部203も、ソケットを作成し、第2の受信部201の固有のポート番号をソケットに割り当ててポートをオープンにし、クライアント装置1からの接続を待ち受ける。

≪ Process flow (connection establishment) ≫

First, the server device 2 performs a connection standby process. The start timing of the standby process may be an arbitrary timing such as a timing when the server device 2 is activated or a timing when an explicit instruction is given from the user. The standby unit 202 of the first receiving unit 200 and the standby unit 203 of the second receiving unit 201 each start a standby process. The waiting unit 202 creates a socket, assigns a unique port number of the first receiving unit 200 to the socket, opens the port, and waits for a connection from the client device 1. The standby unit 203 also creates a socket, assigns a unique port number of the second reception unit 201 to the socket, opens the port, and waits for a connection from the client device 1.

次に、クライアント装置1の確立指示部101は接続の確立処理を行う。確立処理の開始タイミングは例えばユーザから明示的に指示があったタイミングや、データ供給部100において送信すべきデータが発生したタイミングなど、任意のタイミングであってよい。確立指示部101は、第1の送信部103の確立部105と、第2の送信部104の確立部106に対して、それぞれ接続の確立処理を開始するよう指示する。   Next, the establishment instruction unit 101 of the client device 1 performs connection establishment processing. The start timing of the establishment process may be an arbitrary timing such as a timing when an explicit instruction is given from the user or a timing when data to be transmitted is generated in the data supply unit 100. The establishment instruction unit 101 instructs the establishment unit 105 of the first transmission unit 103 and the establishment unit 106 of the second transmission unit 104 to start connection establishment processing.

なお、本実施形態では確立部105と確立部106に対して同時のタイミングで接続の確立処理を開始するよう指示を出すものとしたが、必ずしもこれに限る必要はない。指示を出すタイミングに時間差を生じさせても良い。   In the present embodiment, the establishment unit 105 and the establishment unit 106 are instructed to start connection establishment processing at the same timing. However, the present invention is not necessarily limited to this. A time difference may be generated at the timing of issuing the instruction.

確立部105は、待受部202がオープンにしたポートに対しSYNを送出し、3ウェイハンドシェイクによるTCPの接続確立を行う。SYNとACK(確認応答)を交換し終わると、両者の間でTCPストリームが作成された状態となる。TCPストリームの作成が完了すると、確立部105は接続の確立が成功したことを確立指示部101に通知する。   The establishment unit 105 sends SYN to the port opened by the standby unit 202, and establishes a TCP connection by a three-way handshake. After exchanging SYN and ACK (acknowledgment response), a TCP stream is created between the two. When the creation of the TCP stream is completed, the establishing unit 105 notifies the establishment instructing unit 101 that the connection has been successfully established.

確立部106は、待受部203がオープンにしたポートに対しSYNを送出し、3ウェイハンドシェイクによるTCPの接続確立を行う。SYNとACKを交換し終わると、両者の間でTCPストリームが作成された状態となる。第2の送信部104ではこのTCPストリームを制御用TCPストリームと呼ぶ。制御用TCPストリームの作成が完了すると、確立部106はこの制御用TCPストリームを用いて、データ用TCPストリームの作成に関する情報を交換する。始めに確立部106は、データ用TCPストリームで使用するポート番号の取得要求を待受部203に送出する。待受部203は、取得要求を受け取ると、その時点でサーバ装置2において任意のポートを選択し、このうち要求された個数のポート番号を選択し、データ用TCPストリームに割り当てる。待受部203は、要求された個数のソケットを作成し、選択したポート番号をそれぞれのソケットに割り当ててポートをオープンにする。そしてオープンにしたポート番号の一覧の情報を確立部106に送出する。次に確立部106は、ポート番号の一覧情報を受け取ると、それらのポートに対し3ウェイハンドシェイクによるTCPの接続確立を行う。SYN/ACKを交換しTCPストリームが作成された状態となると、確立部106は接続の確立が成功したことを確立指示部101に通知する。   The establishing unit 106 sends SYN to the port opened by the standby unit 203 and establishes a TCP connection by a three-way handshake. After exchanging SYN and ACK, a TCP stream is created between the two. In the second transmission unit 104, this TCP stream is called a control TCP stream. When the creation of the control TCP stream is completed, the establishing unit 106 uses this control TCP stream to exchange information regarding the creation of the data TCP stream. First, the establishing unit 106 sends an acquisition request for the port number used in the data TCP stream to the standby unit 203. When receiving the acquisition request, the standby unit 203 selects an arbitrary port at the server device 2 at that time, selects the requested number of port numbers, and assigns it to the data TCP stream. The standby unit 203 creates the requested number of sockets, assigns the selected port number to each socket, and opens the ports. Then, information on the list of opened port numbers is sent to the establishing unit 106. Next, when the establishment unit 106 receives the port number list information, the establishment unit 106 establishes a TCP connection to these ports by a three-way handshake. When the SYN / ACK is exchanged and the TCP stream is created, the establishment unit 106 notifies the establishment instruction unit 101 that the connection has been successfully established.

なお、本実施形態では待受部203はデータ用TCPストリームを作成する際に任意のポートを選択するものとしたが、必ずしもこれに限る必要はない。待受部203は、サーバ装置2におけるポート番号を管理するためのポート管理部をさらに有し、サーバ装置2において未使用であるポート番号を探索し使用してもよい。これにより、選択したポート番号が既に使用中であるために接続確立が失敗するという可能性を低減することが可能となる。   In the present embodiment, the standby unit 203 selects an arbitrary port when creating the data TCP stream, but the present invention is not necessarily limited to this. The standby unit 203 may further include a port management unit for managing port numbers in the server device 2, and may search for and use unused port numbers in the server device 2. As a result, it is possible to reduce the possibility that connection establishment will fail because the selected port number is already in use.

また、待受部203は、第2の受信部201におけるデータ伝送速度を管理する伝送速度管理部をさらに有しても良い。サーバ装置2において他のアプリケーションが行うデータ伝送の速度を取得し、この値に基づいて、データ用TCPストリームの個数に制限を加えても良い。あるいは任意の方法により各データ用TCPストリームにおいて達成可能な伝送速度に制限を加えてもよい。   The standby unit 203 may further include a transmission rate management unit that manages the data transmission rate in the second reception unit 201. The server device 2 may acquire the speed of data transmission performed by another application, and may limit the number of data TCP streams based on this value. Alternatively, the transmission rate achievable in each data TCP stream may be limited by an arbitrary method.


≪ 処理の流れ(データの伝送) ≫

第1の送信部103における接続の確立処理と、第2の送信部104における接続の確立処理は、並行的に実行される。このため、確立指示部101は、接続の確立の結果の通知を、先に完了した方から順に受け取ることになる。確立指示部101は、第1の送信部103の接続確立が先に完了した場合と、第2の送信部104の接続確立が先に完了した場合で、それぞれ異なる処理手順を実行する。以下では、それぞれの場合について、確立指示部101の処理手順を述べる。

≪ Processing flow (data transmission) ≫

The connection establishment process in the first transmission unit 103 and the connection establishment process in the second transmission unit 104 are executed in parallel. For this reason, the establishment instructing unit 101 receives notifications of connection establishment results in order from the one that has been completed first. The establishment instructing unit 101 executes different processing procedures when the connection establishment of the first transmission unit 103 is completed first and when the connection establishment of the second transmission unit 104 is completed first. Below, the processing procedure of the establishment instruction | indication part 101 is described about each case.

第1の送信部103の接続が先に完了した場合について、図3を参照しながら述べる。図3は、第1の実施形態に係るシステムの処理の流れの一例を示すシーケンス図である。
確立指示部101は、確立部105から接続の確立が成功したことの通知を受け取ると、第1分配部102に対し、データの分配先を第1の送信部103とするよう指示を出す。次に、確立指示部101は、データ供給部100に対しデータの送出が可能になったことを通知し、以降、データ供給部100からデータの入力が行われる。データ供給部100は第1分配部102にデータを渡す。第1分配部102はデータを第1の送信部103に渡す。ここで、第1分配部102は、第1の送信部103へ渡したデータサイズの累計値を保持するための記憶領域を持っており、第1の送信部103にデータを渡すごとに、当該のデータサイズの値を記憶領域の値に加算する。この値を累積送信済みデータサイズと呼ぶ。第1の送信部103に渡されたデータは、TCP/IPの各ヘッダが付与されて、TCPストリームを通じて第1の受信部200へ送出される。さらにデータは第2収集部205に渡される。第2収集部205は受け取ったデータをデータ出力部206に渡す。ここで、第2収集部205は、第1の受信部200から受け取ったデータサイズの累計値を保持するための記憶領域を持っており、データを受け取るごとに、当該のデータサイズの値を記憶領域の値に加算する。この値を累積受信済みデータサイズと呼ぶ。データ出力部206は、得られたデータを任意の方法で出力する。以降、データ供給部100からデータの入力が行われるごとに、以上の処理によりデータが最終的にデータ出力部206へと伝送される。
A case where the connection of the first transmission unit 103 is completed first will be described with reference to FIG. FIG. 3 is a sequence diagram illustrating an example of a process flow of the system according to the first embodiment.
When the establishment instruction unit 101 receives a notification from the establishment unit 105 that the connection has been successfully established, the establishment instruction unit 101 instructs the first distribution unit 102 to set the data distribution destination to the first transmission unit 103. Next, the establishment instructing unit 101 notifies the data supply unit 100 that data can be transmitted, and thereafter, data is input from the data supply unit 100. The data supply unit 100 passes the data to the first distribution unit 102. The first distribution unit 102 passes the data to the first transmission unit 103. Here, the first distribution unit 102 has a storage area for holding the cumulative value of the data size passed to the first transmission unit 103, and every time data is passed to the first transmission unit 103, Is added to the value in the storage area. This value is called the accumulated transmitted data size. The data passed to the first transmission unit 103 is provided with each TCP / IP header and is transmitted to the first reception unit 200 through a TCP stream. Further, the data is passed to the second collection unit 205. The second collection unit 205 passes the received data to the data output unit 206. Here, the second collection unit 205 has a storage area for holding the cumulative value of the data size received from the first reception unit 200, and stores the value of the data size every time data is received. Add to the region value. This value is called the cumulative received data size. The data output unit 206 outputs the obtained data by an arbitrary method. Thereafter, each time data is input from the data supply unit 100, the data is finally transmitted to the data output unit 206 by the above processing.

次に、この後で第2の送信部104の接続が完了する。確立指示部101は、確立部106から接続の確立が成功したことの通知を受け取ると、第1分配部102に対し、データの分配先を第1の送信部103から第2の送信部104へと切り替えるように指示を出す。以後、第1分配部102は、データ供給部100から送信すべきデータを受け取ると、これを第2の送信部104の第2分配部107へ渡す。第2分配部107に渡されたデータは、分割され、分割順序を表すヘッダが付与されて、さらにTCP/IPの各ヘッダが付与されて、複数のデータ用TCPストリームを通じて並列的に第2の受信部201の第1収集部204へ送出される。データが分割され分割順序を表すヘッダが付与される様子を図2に示す。図では、データが4分割され、それぞれに1から4までの通し番号と分割数からなるヘッダが付加されている。この情報を分割情報と呼ぶ。分割後のデータは任意の方法で複数のデータ用TCPストリームに割り当てられ、それぞれ送信される。受信後のデータは第1収集部204へ渡される。単一のTCPストリームにおいて送信されたデータはその順序性が保証されるが、複数のTCPストリームに分けられた場合、各ストリームの間での順序性は保証されない。そこで、第1収集部204は、分割情報を参照し、順序が元の順序に正しくなるよう並び替えを行った上で、第2収集部205へデータを渡す。分割順序を表すヘッダは除去される。   Next, the connection of the second transmission unit 104 is completed thereafter. When the establishment instruction unit 101 receives a notification from the establishment unit 106 that the connection has been successfully established, the establishment instruction unit 101 sends the data distribution destination from the first transmission unit 103 to the second transmission unit 104 to the first distribution unit 102. And instruct to switch. Thereafter, when the first distribution unit 102 receives data to be transmitted from the data supply unit 100, the first distribution unit 102 passes the data to the second distribution unit 107 of the second transmission unit 104. The data delivered to the second distribution unit 107 is divided, a header indicating the division order is added, and each header of TCP / IP is further added, and the second data is sent in parallel through a plurality of data TCP streams. The data is sent to the first collection unit 204 of the reception unit 201. FIG. 2 shows how data is divided and a header indicating the division order is given. In the figure, the data is divided into four, and a header consisting of a serial number from 1 to 4 and the number of divisions is added to each. This information is called division information. The divided data is allocated to a plurality of data TCP streams by an arbitrary method and transmitted. The received data is passed to the first collection unit 204. The order of data transmitted in a single TCP stream is guaranteed, but when the data is divided into a plurality of TCP streams, the order between the streams is not guaranteed. Therefore, the first collection unit 204 refers to the division information, performs rearrangement so that the order is correct to the original order, and then passes the data to the second collection unit 205. The header indicating the division order is removed.

さらに確立指示部101は、データの分配先を切り替える指示を出すのに合わせて、同じく第1分配部102から、第1の送信部103へ渡した累積送信済みデータサイズ値を読み出す。確立指示部101は、この値を第2の送信部104に通知し、制御用TCPストリームを通じてこの値を第2の受信部201へ通知するよう指示する。第2の受信部201へ通知された値はさらに第2収集部205へ通知される。ここで、第2収集部205は、通知された累積送信済みデータサイズの値と、自身が持つ累積受信済みデータサイズの値が等しくなるまで、第2の受信部201から受け取ったデータをデータ出力部206に渡さず、自身に保持しておく。つまり、第1の伝送方式を用いて伝送されたすべてのデータを受け取るまで、第2の伝送方式を用いて伝送されたデータの受け渡しを待機する。通知された累積送信済みデータサイズの値と、自身が持つ累積受信済みデータサイズの値が等しくなったタイミングで、保持していた第2の受信部201からのデータをすべてデータ出力部206へ受け渡す。このようにすることで、第1の伝送方式と第2の伝送方式との間で生じたデータの到着順序の入れ違いを解消することが可能になる。   Further, the establishment instructing unit 101 reads out the accumulated transmitted data size value passed from the first distributing unit 102 to the first transmitting unit 103 in response to issuing an instruction to switch the data distribution destination. The establishment instruction unit 101 notifies the second transmission unit 104 of this value, and instructs the second reception unit 201 to notify this value through the control TCP stream. The value notified to the second receiving unit 201 is further notified to the second collecting unit 205. Here, the second collection unit 205 outputs the data received from the second reception unit 201 until the notified value of the accumulated transmitted data size becomes equal to the value of the accumulated received data size of itself. It is not passed to the unit 206 but held by itself. That is, it waits for delivery of data transmitted using the second transmission method until it receives all data transmitted using the first transmission method. All the data received from the second receiving unit 201 is received by the data output unit 206 at the timing when the notified value of the accumulated transmitted data size becomes equal to the value of the accumulated received data size of itself. hand over. By doing in this way, it becomes possible to eliminate the difference in the arrival order of data that has occurred between the first transmission method and the second transmission method.

以上、第1の送信部103の接続が先に完了した場合について述べた。   The case where the connection of the first transmission unit 103 is completed first has been described above.

次に、第2の送信部104の接続が先に完了した場合について述べる。確立指示部101は、確立部106から接続の確立が成功したことの通知を受け取ると、第1分配部102に対し、データの分配先を第2の送信部104とするよう指示を出す。次に確立指示部101は、データ供給部100に対しデータの送出が可能になったことを通知する。以降、データ供給部100のデータは第1分配部102において第2の送信部104(の第2分配部107)へと分配される。分配されたデータが第2の伝送方式に則って最終的に第2収集部205へ伝送されるまでの処理手順は前出と同様である。第2収集部205は受け取ったデータをデータ出力部206に渡す。   Next, a case where the connection of the second transmission unit 104 is completed first will be described. When the establishment instruction unit 101 receives a notification from the establishment unit 106 that the connection has been successfully established, the establishment instruction unit 101 instructs the first distribution unit 102 to change the data distribution destination to the second transmission unit 104. Next, the establishment instructing unit 101 notifies the data supply unit 100 that data transmission is possible. Thereafter, the data in the data supply unit 100 is distributed by the first distribution unit 102 to the second transmission unit 104 (the second distribution unit 107). The processing procedure until the distributed data is finally transmitted to the second collection unit 205 in accordance with the second transmission method is the same as described above. The second collection unit 205 passes the received data to the data output unit 206.

本実施形態では、第1の送信部103による単一TCPストリームを用いた伝送方式が、第2の送信部104による複数TCPストリームを用いた伝送方式よりも優先するものとしている。そこで確立指示部101は、第2の送信部104の接続の完了通知を受け取ったタイミングで、最早第1の伝送方式を使用する必要がなくなったことになる。そこで確立指示部101はこのタイミングで、第1の送信部103に対し、接続の確立の中断を指示する。第1の送信部103はソケット終了やポート等リソースの開放を行う。あるいは通知を受け取ったタイミングでは接続の確立の中断を行うのではなく、第1の送信部103の接続が完了するまで待機し、完了した時点で即座に第1の送信部103の接続を終了するという動作であってもよい。   In this embodiment, the transmission method using a single TCP stream by the first transmission unit 103 is given priority over the transmission method using a plurality of TCP streams by the second transmission unit 104. Therefore, the establishment instruction unit 101 no longer needs to use the first transmission method at the timing of receiving the notification of the completion of connection of the second transmission unit 104. Therefore, the establishment instruction unit 101 instructs the first transmission unit 103 to interrupt connection establishment at this timing. The first transmitting unit 103 terminates sockets and releases resources such as ports. Alternatively, the connection establishment is not interrupted at the timing when the notification is received, but is waited until the connection of the first transmission unit 103 is completed, and the connection of the first transmission unit 103 is immediately terminated when the connection is completed. The operation may be as follows.

以上、第2の送信部104の接続が先に完了した場合について述べた。   The case where the connection of the second transmission unit 104 is completed first has been described above.

なお、本実施形態では第1の送信部103と第2の送信部104はそれぞれ独立して動作するものとしたが、必ずしもこれに限らなくともよく、一方の送信部でデータ送信を行っている間に取得した情報を、もう一方の送信部に渡しても良い。例を示す。いま、クライアント装置1において、第1の送信部103の接続確立が完了し、第2の送信部104の接続確立が未完了であり、データ供給部100から入力されたデータが第1の送信部103を通じてサーバ装置2へ送信されている状況であるとする。このとき、第1の送信部103は、第1の受信部200との間のTCPストリームのデータ伝送速度を計測し、自身に保持しておく。さらにこの後で、第2の送信部104の接続確立が完了したとする。確立指示部101は、第2の送信部104から接続確立の成功の通知を受けると、第1の送信部103に対し、累積送信済みデータサイズの値を問い合わせるとともに、データ伝送速度の値を問い合わせる。確立指示部101は両値を第2の送信部104の確立部106に通知する。確立部106は、通知されたデータ伝送速度の値を利用して、データ伝送用TCPストリームの個数を調整することが可能である。例えば、規定の値(第2の送信部104において実現したいデータ伝送速度の値)を通知されたデータ伝送速度で割って得られた値をデータ伝送用TCPストリームの個数とし、既に確立したデータ用TCPストリームのうちこの個数のストリームのみを以後使用するという制御を行っても良い。このように、第1の送信部103において取得したサーバ装置2やネットワーク3の特性に関する情報を第2の送信部104に通知し第2の送信部104はこれを利用することにより、これらの特性に応じて第2の送信部104の動作を適応的に調整することが可能となる。なお、測定・通知する情報はデータ伝送速度に限らなくともよい。例えばデータの伝送遅延やIPパケットのロス確率といったネットワーク3の特性に関する情報や、TCPストリームのウィンドウサイズといった第1の送信部103や第1の受信部200に関する情報などであってよい。   In the present embodiment, the first transmission unit 103 and the second transmission unit 104 operate independently of each other. However, the present invention is not limited to this, and data transmission is performed by one transmission unit. Information acquired in the meantime may be passed to the other transmitter. An example is shown. Now, in the client device 1, the connection establishment of the first transmission unit 103 is completed, the connection establishment of the second transmission unit 104 is not completed, and the data input from the data supply unit 100 is the first transmission unit. It is assumed that the status is being transmitted to the server apparatus 2 through 103. At this time, the first transmission unit 103 measures the data transmission rate of the TCP stream with the first reception unit 200 and holds it in itself. Furthermore, it is assumed that the connection establishment of the second transmission unit 104 is completed thereafter. When the establishment instruction unit 101 receives a notification of successful connection establishment from the second transmission unit 104, the establishment instruction unit 101 inquires of the first transmission unit 103 about the value of the accumulated transmitted data size and the value of the data transmission rate. . The establishment instruction unit 101 notifies both values to the establishment unit 106 of the second transmission unit 104. The establishment unit 106 can adjust the number of data transmission TCP streams using the notified data transmission rate value. For example, a value obtained by dividing a specified value (a value of a data transmission rate desired to be realized in the second transmission unit 104) by a notified data transmission rate is set as the number of data transmission TCP streams, and the data already established Control may be performed so that only this number of streams among the TCP streams is used thereafter. As described above, the information regarding the characteristics of the server device 2 and the network 3 acquired by the first transmission unit 103 is notified to the second transmission unit 104, and the second transmission unit 104 uses the information to thereby obtain these characteristics. Accordingly, the operation of the second transmission unit 104 can be adaptively adjusted. Note that the information to be measured / notified is not limited to the data transmission rate. For example, it may be information related to the characteristics of the network 3 such as data transmission delay and IP packet loss probability, or information related to the first transmission unit 103 and the first reception unit 200 such as the window size of the TCP stream.

また、第1の送信部103で使用したTCPストリームを第2の送信部104において再利用するという制御を行っても良い。例を示す。上述と同様、いま、クライアント装置1において、第1の送信部103によるデータ伝送を行っている最中に、第2の送信部104における接続確立が完了したとする。確立指示部101は、第2の送信部104より接続確立の成功を受け取ると、第1の送信部103に対し、累積送信済みデータ送信サイズの値を問い合わせるとともに、第1の送信部103が使用するTCPストリームのクライアント装置1における識別子の値を問い合わせる。確立指示部101は両値を第2の送信部104に通知する。第2の送信部104は、通知されたTCPストリームの識別子を記憶し、以後、このストリームをデータ用ストリームと同等に扱う。つまり第1の送信部103のTCPストリームをデータ用ストリームとして再利用する。これにより、TCPストリームの作成に伴う処理負荷を削減することが可能となる。   Alternatively, control may be performed so that the TCP stream used in the first transmission unit 103 is reused in the second transmission unit 104. An example is shown. Similarly to the above, it is assumed that connection establishment in the second transmission unit 104 is completed while the client device 1 is performing data transmission by the first transmission unit 103. When the establishment instruction unit 101 receives a successful connection establishment from the second transmission unit 104, the establishment instruction unit 101 inquires of the first transmission unit 103 about the value of the accumulated transmission data transmission size and is used by the first transmission unit 103. The client device 1 inquires about the identifier value of the TCP stream to be executed. The establishment instruction unit 101 notifies the second transmission unit 104 of both values. The second transmission unit 104 stores the notified identifier of the TCP stream, and thereafter handles this stream in the same manner as the data stream. That is, the TCP stream of the first transmission unit 103 is reused as a data stream. As a result, it is possible to reduce the processing load associated with the creation of the TCP stream.


≪ 一方の伝送方式のみ対応する場合 ≫

次に、クライアント装置1またはサーバ装置2のいずれかが第2の伝送方式に対応していない場合の動作について説明する。

≪ When only one transmission method is supported ≫

Next, an operation when either the client device 1 or the server device 2 is not compatible with the second transmission method will be described.

始めに、サーバ装置2が第1の伝送方式のみに対応し、第2の伝送方式に対応していない場合の動作について説明する。クライアント装置1は両方の伝送方式に対応するものと仮定する。   First, an operation in the case where the server apparatus 2 supports only the first transmission method and does not support the second transmission method will be described. It is assumed that the client device 1 supports both transmission methods.

サーバ装置2が第2の伝送方式に対応していない場合、サーバ装置2において第2の受信部201は存在しない。サーバ装置2は接続の待受処理において、第1の受信部200の待受部202のみがポートをオープンにし、クライアント装置1からの接続を待ち受ける状態となる。   When the server device 2 does not support the second transmission method, the second receiving unit 201 does not exist in the server device 2. In the connection waiting process, the server device 2 is in a state in which only the waiting unit 202 of the first receiving unit 200 opens a port and waits for a connection from the client device 1.

クライアント装置1の確立指示部101における接続の確立処理は前述と同様であり、第1の送信部103の確立部105と、第2の送信部104の確立部106のそれぞれにおいて、接続の確立処理が開始される。ここで、第1の伝送方式に対するポートと、第2の伝送方式に対応するポートの両方に対し、SYNが送出されることになる。このうち第1の伝送方式に関しては、第1の受信部200の待受部202がポートをオープンにしているため、3ウェイハンドシェイクによるTCPの接続確立は成功する。一方、第2の伝送方式に関しては、対応するポートがオープンにされていないため、TCPの接続確立は失敗する。確立部106は接続確立に失敗したことを確立指示部101に通知する。このとき、確立指示部101は、第1の送信部103からは接続確立成功の通知を受け、第2の送信部104からは接続確立失敗の通知を受けることになる。本実施形態では、確立指示部101は接続確立成功の通知を受けたタイミングで第1の伝送方式によるデータ送信を開始し、接続確立失敗の通知を受けたタイミングで特別な処理は行わないものとする。   The connection establishment process in the establishment instruction unit 101 of the client apparatus 1 is the same as described above, and the connection establishment process is performed in each of the establishment unit 105 of the first transmission unit 103 and the establishment unit 106 of the second transmission unit 104. Is started. Here, SYN is sent to both the port corresponding to the first transmission method and the port corresponding to the second transmission method. Among these, regarding the first transmission method, since the standby unit 202 of the first receiving unit 200 has the port open, TCP connection establishment by the three-way handshake is successful. On the other hand, regarding the second transmission method, since the corresponding port is not opened, TCP connection establishment fails. The establishment unit 106 notifies the establishment instruction unit 101 that connection establishment has failed. At this time, the establishment instruction unit 101 receives a notification of successful connection establishment from the first transmission unit 103 and receives a notification of connection establishment failure from the second transmission unit 104. In the present embodiment, the establishment instructing unit 101 starts data transmission by the first transmission method at the timing when the notification of connection establishment success is received, and does not perform any special processing at the timing when the notification of connection establishment failure is received. To do.

次に、クライアント装置1が第1の伝送方式のみに対応し、第2の伝送方式に対応していない場合の動作について説明する。サーバ装置2は両方の伝送方式に対応するものと仮定する。   Next, an operation when the client device 1 supports only the first transmission method and does not support the second transmission method will be described. It is assumed that the server apparatus 2 is compatible with both transmission methods.

クライアント装置1が第2の伝送方式に対応していない場合、クライアント装置1において第2の送信部104は存在しない。クライアント装置1は接続の確立処理において、サーバ装置2の第1の受信部200に対してのみ、TCPの接続確立を試みることになる。この接続確立は成功し、確立指示部101は成功の通知を受け取ると、以降、データ供給部100からのデータ送出が第1の送信部103を通じて行われることになる。   When the client device 1 does not support the second transmission method, the second transmission unit 104 does not exist in the client device 1. In the connection establishment process, the client device 1 attempts to establish a TCP connection only with respect to the first receiving unit 200 of the server device 2. When this connection establishment is successful and the establishment instructing unit 101 receives a notification of success, data transmission from the data supply unit 100 is performed through the first transmission unit 103 thereafter.

以上、クライアント装置1またはサーバ装置2のいずれかが第2の伝送方式に対応していない場合の動作について説明した。   The operation when either the client device 1 or the server device 2 is not compatible with the second transmission method has been described above.

<第1の実施形態の変形例>
図4は、第1の実施形態の変形例にかかるシステムを示すブロック図である。
<Modification of First Embodiment>
FIG. 4 is a block diagram showing a system according to a modification of the first embodiment.

第1の実施形態に係るシステムは、クライアント装置1がデータを送信し、サーバ装置22がデータを受信する場合についての説明だった。第1の実施形態の変形例にかかるシステムは、クライアント装置21がデータを受信し、サーバ装置22がデータを送信する場合を説明する。第1の実施形態の変形例にかかるクライアント装置21及びサーバ装置22は、クライアント装置とサーバ装置とが、送受信側の立場が第1の実施形態の立場と変わったこと以外は、第1の実施形態と同様である。   The system according to the first embodiment has been described for the case where the client device 1 transmits data and the server device 22 receives data. In the system according to the modification of the first embodiment, a case where the client device 21 receives data and the server device 22 transmits data will be described. The client device 21 and the server device 22 according to the modification of the first embodiment are the same as those in the first embodiment, except that the client device and the server device are different from the first embodiment in the transmission / reception side. It is the same as the form.

図4において、クライアント装置21は、データ供給部110と、確立指示部111と、第3収集部112と、第1の受信部113と、第2の受信部114とを備える。   4, the client device 21 includes a data supply unit 110, an establishment instruction unit 111, a third collection unit 112, a first reception unit 113, and a second reception unit 114.

また、サーバ装置22は、第1の送信部210と、第2の送信部211と、待受部215と、第4分配部216と、データ供給部217とを有する。   The server device 22 includes a first transmission unit 210, a second transmission unit 211, a standby unit 215, a fourth distribution unit 216, and a data supply unit 217.

ここで、クライアント装置21の確立指示部111、確立部115、及び確立部116は第1の実施形態と同様の動作を行う。また、サーバ装置22の第1の待受部212、待ち受け部215、及び待ち受け部213は第1の実施形態と同様の動作を行う。   Here, the establishment instruction unit 111, the establishment unit 115, and the establishment unit 116 of the client device 21 perform the same operations as in the first embodiment. Further, the first standby unit 212, the standby unit 215, and the standby unit 213 of the server device 22 perform the same operations as in the first embodiment.

始めに、サーバ装置22は接続の待受処理を行う。これは第1の実施形態と同一の動作である。第1の送信部210の待受部212と、第2の送信部211の待受部213は、それぞれ固有のポート番号をソケットに割り当ててポートをオープンにし、クライアント装置21からの接続を待ち受ける。   First, the server device 22 performs a connection standby process. This is the same operation as in the first embodiment. The standby unit 212 of the first transmission unit 210 and the standby unit 213 of the second transmission unit 211 each allocate a unique port number to the socket, open the port, and wait for a connection from the client device 21.

次に、クライアント装置21の確立指示部111は接続の確立処理を行う。確立指示部111は、第1の受信部113の確立部115と、第2の受信部114の確立部116に対して、それぞれ接続の確立処理を開始するよう指示する。それぞれの接続の確立処理は並列的に行われる。確立部115は、待受部212との間でTCPの接続確立を試みる。TCPストリームの作成が完了すると、確立部115は接続の確立が成功したことを確立指示部111に通知する。同様に、確立部116は、待受部213との間でTCPの接続確立を試みる。TCPストリーム(制御用TCPストリーム)の作成が完了すると、次に確立部116はこの制御用ストリームを用いて、データ用TCPストリームの作成に関する情報を待受部213と交換する。始めに確立部116は、データ用TCPストリームで使用するポート番号の取得要求を待受部213に送出する。待受部213は、取得要求を受け取ると、その時点でサーバ装置22において未使用であるポートを調べ、このうち任意の個数のポート番号を選択し、データ用TCPストリームに割り当てる。待受部213は、選択した個数のソケットを作成し、選択したポート番号をそれぞれのソケットに割り当ててポートをオープンにする。そしてオープンにしたポート番号の一覧の情報を確立部116に送出する。次に確立部116は、ポート番号の一覧情報を受け取ると、それらのポートに対しTCPの接続確立を行う。データ用TCPストリームが作成された状態となると、確立部116は接続の確立が成功したことを確立指示部111に通知する。   Next, the establishment instruction unit 111 of the client device 21 performs connection establishment processing. The establishment instruction unit 111 instructs the establishment unit 115 of the first reception unit 113 and the establishment unit 116 of the second reception unit 114 to start connection establishment processing. Each connection establishment process is performed in parallel. The establishment unit 115 attempts to establish a TCP connection with the standby unit 212. When the creation of the TCP stream is completed, the establishment unit 115 notifies the establishment instruction unit 111 that the connection has been successfully established. Similarly, the establishing unit 116 attempts to establish a TCP connection with the standby unit 213. When the creation of the TCP stream (control TCP stream) is completed, the establishing unit 116 then exchanges information regarding the creation of the data TCP stream with the standby unit 213 using the control stream. First, the establishing unit 116 sends an acquisition request for the port number used in the data TCP stream to the standby unit 213. When the standby unit 213 receives the acquisition request, the standby unit 213 checks ports that are not used in the server device 22 at that time, selects an arbitrary number of port numbers, and assigns them to the data TCP stream. The standby unit 213 creates a selected number of sockets, assigns the selected port number to each socket, and opens the ports. Then, information on the list of opened port numbers is sent to the establishing unit 116. Next, upon receiving the port number list information, the establishing unit 116 establishes a TCP connection to these ports. When the data TCP stream is created, the establishment unit 116 notifies the establishment instruction unit 111 that the connection has been successfully established.

第1の送信部210の待受部212は、確立部115との間でTCPストリームの作成が完了すると、接続の確立が成功したことを待受部215に通知する。同様に、第2の送信部211の待受部213は、確立部116との間でデータ用TCPストリームの作成が完了すると、接続の確立が完了したことを待受部215に通知する。   When the standby unit 212 of the first transmission unit 210 completes the creation of the TCP stream with the establishing unit 115, the standby unit 212 notifies the standby unit 215 that the connection has been successfully established. Similarly, when the standby unit 213 of the second transmission unit 211 completes the creation of the data TCP stream with the establishing unit 116, the standby unit 215 notifies the standby unit 215 that the establishment of the connection has been completed.

第1の送信部210における接続の確立処理と、第2の送信部211における接続の確立処理は、並行的に実行される。このため、待受部215は、接続の確立の結果の通知を、先に完了した方から順に受け取ることになる。待受部215は、第1の送信部210の接続確立が先に完了した場合と、第2の送信部211の接続確立が先に完了した場合で、それぞれ異なる処理手順を実行する。以下では、それぞれの場合について、待受部215の処理手順を述べる。   The connection establishment process in the first transmission unit 210 and the connection establishment process in the second transmission unit 211 are executed in parallel. Therefore, the standby unit 215 receives notifications of connection establishment results in order from the one that has been completed first. The standby unit 215 executes different processing procedures when the connection establishment of the first transmission unit 210 is completed first and when the connection establishment of the second transmission unit 211 is completed first. Hereinafter, the processing procedure of the standby unit 215 will be described for each case.

第1の送信部210の接続が先に完了した場合について述べる。待受部215は、待受部212から接続の確立が成功したことの通知を受け取ると、第4分配部216に対し、データの分配先を第1の送信部210とするよう指示を出す。次に待受部215は、データ供給部217に対しデータの送出が可能になったことを通知し、以降、データ供給部217からデータの入力が行われる。データ供給部217は第4分配部216にデータを渡す。第4分配部216はデータを第1の送信部210に渡す。ここで、第4分配部216は、第1の送信210へ渡したデータサイズの累計値を保持するための記憶領域を持っており、第1の送信部210にデータを渡すごとに、当該のデータサイズの値を記憶領域の値に加算する。この値を累積送信済みデータサイズと呼ぶ。第1の送信部210に渡されたデータは、TCP/IPの各ヘッダが付与されて、TCPストリームを通じて第1の受信部113へ送出される。さらにデータは第3収集部112に渡される。第3収集部112は受け取ったデータをデータ出力部110に渡す。ここで、第3収集部112は、第1の受信部113から受け取ったデータサイズの累計値を保持するための記憶領域を持っており、データを受け取るごとに、当該のデータサイズの値を記憶領域の値に加算する。この値を累積受信済みデータサイズと呼ぶ。データ出力部110は、得られたデータを任意の方法で出力する。以降、データ供給部217からデータの入力が行われるごとに、以上の処理によりデータが最終的にデータ出力部110へと伝送される。   A case where the connection of the first transmission unit 210 is completed first will be described. When the standby unit 215 receives notification from the standby unit 212 that the connection has been successfully established, the standby unit 215 instructs the fourth distribution unit 216 to use the first transmission unit 210 as a data distribution destination. Next, the standby unit 215 notifies the data supply unit 217 that the data can be transmitted, and thereafter, data is input from the data supply unit 217. The data supply unit 217 passes the data to the fourth distribution unit 216. The fourth distribution unit 216 passes the data to the first transmission unit 210. Here, the fourth distribution unit 216 has a storage area for holding the cumulative value of the data size passed to the first transmission 210, and every time data is passed to the first transmission unit 210, The data size value is added to the storage area value. This value is called the accumulated transmitted data size. The data passed to the first transmission unit 210 is provided with each TCP / IP header and is transmitted to the first reception unit 113 through a TCP stream. Further, the data is passed to the third collection unit 112. The third collection unit 112 passes the received data to the data output unit 110. Here, the third collection unit 112 has a storage area for holding the cumulative value of the data size received from the first reception unit 113, and stores the value of the data size every time data is received. Add to the region value. This value is called the cumulative received data size. The data output unit 110 outputs the obtained data by an arbitrary method. Thereafter, every time data is input from the data supply unit 217, the data is finally transmitted to the data output unit 110 by the above processing.

次に、この後で第2の送信部211の接続が完了する。待受部215は、213から接続の確立が成功したことの通知を受け取ると、第4分配部216に対し、データの分配先を第1の送信部210から第2の送信部211へと切り替えるように指示を出す。以後、第4分配部216は、データ供給部217から送信すべきデータを受け取ると、これを第2の送信部211の第3分配部214へ渡す。第3分配部214に渡されたデータは、分割され、分割順序を表すヘッダが付与されて、さらにTCP/IPの各ヘッダが付与されて、複数のデータ用TCPストリームを通じて並列的に第2の受信部114の第4収集部117へ送出される。第4収集部117は、分割情報を参照し、順序が元の順序に正しくなるよう並び替えを行った上で、第3収集部112へデータを渡す。   Next, the connection of the second transmission unit 211 is completed thereafter. When receiving a notification from 213 that the connection has been successfully established, standby unit 215 switches the data distribution destination from first transmission unit 210 to second transmission unit 211 for fourth distribution unit 216. Give instructions to do so. Thereafter, when the fourth distribution unit 216 receives data to be transmitted from the data supply unit 217, the fourth distribution unit 216 passes the data to the third distribution unit 214 of the second transmission unit 211. The data passed to the third distribution unit 214 is divided, a header indicating the division order is added, and each header of TCP / IP is added, and the second data is sent in parallel through a plurality of data TCP streams. The data is sent to the fourth collection unit 117 of the reception unit 114. The fourth collection unit 117 refers to the division information, performs rearrangement so that the order is correct to the original order, and then passes the data to the third collection unit 112.

さらに待受部215は、データの分配先を切り替える指示を出すのに合わせて、同じく第4分配部216から、第1の送信部210へ渡した累積送信済みデータサイズ値を読み出す。待受部215は、この値を第2の送信部211に通知し、制御用TCPストリームを通じてこの値を第2の受信部114へ通知するよう指示する。第2の受信部114へ通知された値はさらに第3収集部112へ通知される。ここで、第3収集部112は、通知された累積送信済みデータサイズの値と、自身が持つ累積受信済みデータサイズの値が等しくなるまで、第2の受信部113から受け取ったデータをデータ出力部110に渡さず、自身に保持しておく。つまり、第1の伝送方式を用いて伝送されたすべてのデータを受け取るまで、第2の伝送方式を用いて伝送されたデータの受け渡しを待機する。通知された累積送信済みデータサイズの値と、自身が持つ累積受信済みデータサイズの値が等しくなったタイミングで、保持していた第2の受信部114からのデータをすべてデータ出力部110へ受け渡す。このようにすることで、第1の伝送方式と第2の伝送方式との間で生じたデータの到着順序の入れ違いを解消することが可能になる。   Further, the standby unit 215 reads the accumulated transmitted data size value passed from the fourth distribution unit 216 to the first transmission unit 210 in response to issuing an instruction to switch the data distribution destination. The standby unit 215 notifies the second transmission unit 211 of this value and instructs the second reception unit 114 to be notified of this value through the control TCP stream. The value notified to the second receiving unit 114 is further notified to the third collecting unit 112. Here, the third collection unit 112 outputs the data received from the second reception unit 113 until the notified value of the accumulated transmitted data size becomes equal to the value of the accumulated received data size of itself. It does not pass to the unit 110 but keeps itself. That is, it waits for delivery of data transmitted using the second transmission method until it receives all data transmitted using the first transmission method. The data output unit 110 receives all the data received from the second receiving unit 114 at the timing when the notified value of the accumulated transmitted data size is equal to the value of the accumulated received data size held by itself. hand over. By doing in this way, it becomes possible to eliminate the difference in the arrival order of data that has occurred between the first transmission method and the second transmission method.

以上、第1の送信部210の接続が先に完了した場合について述べた。   The case where the connection of the first transmission unit 210 is completed first has been described above.

次に、第2の送信部211の接続が先に完了した場合について述べる。待受部215は、待受部213から接続の確立が成功したことの通知を受け取ると、第4分配部216に対し、データの分配先を第2の送信部211とするよう指示を出す。次に待受部215は、データ供給部217に対しデータの送出が可能になったことを通知する。以降、データ供給部217のデータは第4分配部216において第2の送信部211(の第3分配部214)へと分配される。分配されたデータが第2の伝送方式に則って最終的に第3収集部112へ伝送されるまでの処理手順は前出と同様である。第3収集部112は受け取ったデータをデータ出力部110に渡す。   Next, a case where the connection of the second transmission unit 211 is completed first will be described. When the standby unit 215 receives a notification from the standby unit 213 that the connection has been successfully established, the standby unit 215 instructs the fourth distribution unit 216 to set the data distribution destination as the second transmission unit 211. Next, the standby unit 215 notifies the data supply unit 217 that data can be transmitted. Thereafter, the data of the data supply unit 217 is distributed by the fourth distribution unit 216 to the second transmission unit 211 (the third distribution unit 214 thereof). The processing procedure until the distributed data is finally transmitted to the third collection unit 112 in accordance with the second transmission method is the same as described above. The third collection unit 112 passes the received data to the data output unit 110.

本実施形態では、第1の送信部210による単一TCPストリームを用いた伝送方式が、第2の送信部211による複数TCPストリームを用いた伝送方式よりも優先するものとしている。そこで待受部215は、第2の送信部211の接続の完了通知を受け取ったタイミングで、最早第1の伝送方式を使用する必要がなくなったことになる。そこで待受部215はこのタイミングで、第1の送信部210に対し、接続の確立の中断を指示する。第1の送信部210はソケット終了やポート等のリソース開放を行う。あるいは通知を受け取ったタイミングでは接続の確立の中断を行わずに、第1の送信部210の接続が完了するまで待機し、完了した時点で即座に第1の送信部210の接続を終了するという動作であってもよい。   In this embodiment, the transmission method using a single TCP stream by the first transmission unit 210 is given priority over the transmission method using a plurality of TCP streams by the second transmission unit 211. Therefore, the standby unit 215 no longer needs to use the first transmission method at the timing of receiving the connection completion notification of the second transmission unit 211. Therefore, the standby unit 215 instructs the first transmission unit 210 to interrupt connection establishment at this timing. The first transmission unit 210 releases resources such as socket termination and port. Alternatively, at the timing when the notification is received, the connection establishment is not interrupted, but waits until the connection of the first transmission unit 210 is completed, and the connection of the first transmission unit 210 is immediately terminated when the connection is completed. It may be an action.

以上、第2の送信部211の接続が先に完了した場合について述べた。   The case where the connection of the second transmission unit 211 is completed first has been described above.

以上のように第1の実施形態によれば、第1の伝送方式と第2の伝送方式の仕様の優先度の違いに応じて、優先度の低い伝送方式(第1の伝送方式)が先に接続確立完了したときにはそちらを用いてデータ伝送を開始し、優先度の高い伝送方式(第2の伝送方式)が後から接続確立完了したときにはそちらに切り替えて以降のデータ伝送を行い、一方、優先度の高い伝送方式が先に接続確立完了したときにはそちらを使用し続ける。これにより、クライアント装置およびサーバ装置が複数の種類の伝送方式に対応する場合に、早く接続完了が完了した方でデータ伝送を開始できるようになるため、データ伝送までの所要時間を短縮することが可能になる。また、それぞれの対応状況に応じて優先度の高い伝送方式を使用できるようになる。   As described above, according to the first embodiment, according to the difference in the priority between the specifications of the first transmission method and the second transmission method, the transmission method with the lower priority (first transmission method) is the first. When the connection establishment is completed, data transmission is started using that, and when a transmission method with a high priority (second transmission method) is completed later, the subsequent data transmission is performed by switching to that, When a high-priority transmission method completes connection establishment first, it continues to use it. As a result, when the client device and the server device support a plurality of types of transmission methods, data transmission can be started when the connection completion is completed earlier, so that the time required for data transmission can be shortened. It becomes possible. In addition, a transmission method with a high priority can be used in accordance with each corresponding situation.

さらに、本実施形態によれば、伝送方式への対応状況をネゴシエーションする機構を持たないサーバ装置またはクライアント装置が既に広く普及している場合であっても、ネゴシエーションの機構を後から追加する必要がない。 Furthermore, according to the present embodiment, even when a server device or a client device that does not have a mechanism for negotiating the correspondence status to the transmission method is already widely used, it is necessary to add a negotiation mechanism later. Absent.

また、第1の実施形態にかかるクライアント1装置及びサーバ装置2は、第1の伝送方式は単数のストリームを用いて通信を行う伝送方式であり、第2の伝送方式は複数のストリームを用いて通信を行う伝送方式である例を説明したが、第1の伝送方式と第2の伝送方式はこの例に限られない。第1の伝送方式と第2の伝送方式は異なる伝送方式であればよい。例えば、DCCP(Datagram Congestion Control Protocol)やSCTP(Stream Control Transmission Ptorocol)といったプロトコルによる伝送方式の他、ATMやフレームリレーによる伝送方式であっても良い。またTLS(Transport Layer Security)のように、接続確立に認証等の手続きを含む伝送方式であっても良い。この場合、第2の送信部104及び第2の受信部201は、単一のストリームを確立し、単一のストリームを用いて通信を行うものであっても良い。この場合、第2の送信部104は第2分配部107を有していなくて良く、第2の受信部201は第1収集部204を有していなくても良い。また第1の伝送方式または第2の伝送方式は、UDP(User Datagram Protocol)といったコネクションレス型のプロトコルによる伝送方式であっても良い。コネクションレス型の伝送方式を含む場合、例えば第1の伝送方式はUDPを用いて通信を行う伝送方式であり、第2の伝送方式はTCPを用いて通信を行う伝送方式とする。UDPは接続確立の手続きを持たない伝送プロトコルであるため、この場合、第1の送信部103は確立部105を有していなくても良い。第1の受信部200は待受部202を有していなくても良い。その場合、確立指示部101は接続の確立処理を行う際に、第1の送信部103に対して接続の確立処理を開始するよう指示するステップを省略し、その時点で接続の確立処理が完了したものとして動作する。つまり、確立指示部101は、第1分配部102に対し、データの分配先を第1の送信部103とするよう指示を出し、さらに、データ供給部100に対しデータの送出が可能になったことを通知する。 In the client 1 device and the server device 2 according to the first embodiment, the first transmission method is a transmission method in which communication is performed using a single stream, and the second transmission method is performed using a plurality of streams. Although an example of a transmission method for performing communication has been described, the first transmission method and the second transmission method are not limited to this example. The first transmission method and the second transmission method may be different transmission methods. For example, in addition to a transmission method based on a protocol such as DCCP (Datagram Control Control Protocol) or SCTP (Stream Control Transmission Protocol), a transmission method based on ATM or a frame relay may be used. Further, a transmission method that includes a procedure such as authentication in connection establishment, such as TLS (Transport Layer Security), may be used. In this case, the second transmission unit 104 and the second reception unit 201 may establish a single stream and perform communication using the single stream. In this case, the second transmission unit 104 may not include the second distribution unit 107, and the second reception unit 201 may not include the first collection unit 204. Further, the first transmission method or the second transmission method may be a transmission method using a connectionless protocol such as UDP (User Datagram Protocol). In the case of including a connectionless transmission method, for example, the first transmission method is a transmission method that performs communication using UDP, and the second transmission method is a transmission method that performs communication using TCP. Since UDP is a transmission protocol that does not have a connection establishment procedure, in this case, the first transmission unit 103 may not include the establishment unit 105. The first receiving unit 200 may not include the standby unit 202. In that case, when performing the connection establishment process, the establishment instruction unit 101 omits the step of instructing the first transmission unit 103 to start the connection establishment process, and the connection establishment process is completed at that time. Behave as if In other words, the establishment instruction unit 101 instructs the first distribution unit 102 to set the data distribution destination to the first transmission unit 103, and further allows data to be transmitted to the data supply unit 100. Notify that.

また、クライアント装置1は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、データ供給部100、確立指示部101、第1分配部102、第1の送信部、第2の送信部104は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、クライアント装置1は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。   The client device 1 can also be realized by using, for example, a general-purpose computer device as basic hardware. In other words, the data supply unit 100, the establishment instruction unit 101, the first distribution unit 102, the first transmission unit, and the second transmission unit 104 are realized by causing a processor mounted on the computer device to execute a program. be able to. At this time, the client device 1 may be realized by installing the above program in a computer device in advance, or may be stored in a storage medium such as a CD-ROM or distributed through the network. Thus, this program may be realized by appropriately installing it in a computer device.

また、サーバ装置2は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、第1の受信部200、第2の受信部201、第2収集部205、データ出力部206は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、サーバ装置2は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。   The server device 2 can also be realized by using, for example, a general-purpose computer device as basic hardware. That is, the first receiving unit 200, the second receiving unit 201, the second collecting unit 205, and the data output unit 206 can be realized by causing a processor mounted on the computer device to execute a program. At this time, the server device 2 may be realized by installing the above program in a computer device in advance, or may be stored in a storage medium such as a CD-ROM or distributed through the network. Thus, this program may be realized by appropriately installing it in a computer device.

また、クライアント装置21及びサーバ装置22も同様に、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。   Similarly, the client device 21 and the server device 22 can also be realized by using a general-purpose computer device as basic hardware.

<第2の実施形態>
図5は、本発明の第2の実施形態のシステムを示すブロック図である。
<Second Embodiment>
FIG. 5 is a block diagram showing a system according to the second embodiment of this invention.

以下では、第2の実施形態のシステムは、サーバ装置の画面の情報をパケット化してリアルタイムで配信する「画面転送システム」であるとして説明する。しかしながら、第2の実施形態のシステムは、画面転送システムに限らず、任意の種類のデータ伝送を行うシステムにも適用できる。   In the following description, it is assumed that the system of the second embodiment is a “screen transfer system” that packetizes server screen information and distributes it in real time. However, the system of the second embodiment can be applied not only to the screen transfer system but also to a system that performs any kind of data transmission.

図5に示すように、第2の実施形態に係るシステムは、サーバ装置32とクライアント装置31とが、ネットワーク3を介して接続されている。   As shown in FIG. 5, in the system according to the second embodiment, a server device 32 and a client device 31 are connected via a network 3.

第2の実施形態にかかるサーバ装置32は、複数の送信部3203A〜Zと、第1のデータを分割することにより複数の第1分割データを生成するとともに、前記複数の第1分割データを、複数の送信部3203A〜Zに分配する第5分配部3202と、複数の送信部3203A〜Zが、任意の期間の中で、第1のデータを前記クライアント装置31に送信するために要した送信処理時間の割合である送信処理時間率を算出する送信処理時間算出部3205と、送信処理時間率に基づき、第5分配部3202が、第2のデータを分割して生成する複数の第2の分割データを、何個の送信部に分配するかを決定するストリーム数決定部3206とを備え、第5分配部3202は、複数の第2の分割データを、決定部3206が決定した数の送信部に分配することを特徴とする。 The server device 32 according to the second embodiment generates a plurality of first divided data by dividing the first data with the plurality of transmission units 3203A to Z3Z, Transmission required for the fifth distribution unit 3202 to distribute to the plurality of transmission units 3203A to Z and the plurality of transmission units 3203A to Z to transmit the first data to the client device 31 in an arbitrary period. A transmission processing time calculation unit 3205 that calculates a transmission processing time rate, which is a ratio of processing time, and a plurality of second data that the fifth distribution unit 3202 generates by dividing the second data based on the transmission processing time rate A number-of-streams determination unit 3206 that determines how many transmission units the divided data is distributed to, and the fifth distribution unit 3202 transmits a plurality of pieces of second divided data in the number determined by the determination unit 3206. Characterized in that it distributed.

以下では、まず、ストリーム数決定部3206が、第5分配部3202に何個の送信部に分配させるかについて決定する際、送信処理時間率に基づき決定理由について説明する。   Hereinafter, first, the reason for determination will be described based on the transmission processing time rate when the number-of-streams determination unit 3206 determines the number of transmission units to be distributed to the fifth distribution unit 3202.

一般的に、複数のTCPストリームでデータ伝送を行う場合、適切なストリームの数(図5では、送信部の数)を決定することが好ましいと言える。TCPストリームの数を増やせば、データの送信レートは向上する。しかしながら、送信レートがネットワーク帯域を超えた場合、それ以上、TCPストリームの数を増やしても、送信レートに変化はない。一方で、TCPストリームの数を増やせば増やすほど、装置の処理負荷が上がる。したがって、送信レートを確保しつつ、不要な処理負荷をかけないためにも、TCPストリームの数を適切な値に設定することが必要である。   In general, when data transmission is performed using a plurality of TCP streams, it can be said that it is preferable to determine an appropriate number of streams (the number of transmission units in FIG. 5). If the number of TCP streams is increased, the data transmission rate is improved. However, when the transmission rate exceeds the network bandwidth, there is no change in the transmission rate even if the number of TCP streams is further increased. On the other hand, as the number of TCP streams increases, the processing load on the apparatus increases. Therefore, it is necessary to set the number of TCP streams to an appropriate value in order to ensure a transmission rate and not apply unnecessary processing load.

従来、TCPストリームの数の決定方法として、例えば、TCPストリームの数を一つずつ増やしていき、当該TCPストリームの数毎に送信レートを測定し、送信レートの測定値に応じて、TCPストリームの数を決定する方法があった。例えば、TCPストリームの数をN本からN+1本に増加させた場合に、送信レートの測定値が変化しなかった場合、若しくは減少した場合に、TCPストリームの数がN本に決定する方法が考えられる。TCPストリームの数をN+1本とした場合に、N+1本で実現可能な送信レートがネットワーク帯域を超えたと判断し、これ以上増やしても、処理負荷だけ上がり、送信レートは上がらないと考えられる為である。   Conventionally, as a method for determining the number of TCP streams, for example, the number of TCP streams is increased by one, the transmission rate is measured for each number of the TCP streams, and the TCP stream is determined according to the measured value of the transmission rate. There was a way to determine the number. For example, when the number of TCP streams is increased from N to N + 1, and the measured value of the transmission rate does not change or decreases, a method of determining the number of TCP streams to N is considered. It is done. When the number of TCP streams is N + 1, it is determined that the transmission rate that can be achieved with N + 1 exceeds the network bandwidth, and even if it is increased further, the processing load will increase and the transmission rate will not increase. is there.

しかしながら、この方法では、TCPストリームの数を適切な値に設定できない場合がある。   However, with this method, the number of TCP streams may not be set to an appropriate value.

送信レートは、送信するデータの量にも影響を受ける。したがって、送信するデータ量が小さい場合は、TCPストリームの数を多くしても、送信レートが小さくなる。つまり、送信するデータ量が小さい場合は、測定される送信レートは、TCPストリームの実現可能な送信レートより小さくなる場合がある。   The transmission rate is also affected by the amount of data to be transmitted. Therefore, when the amount of data to be transmitted is small, the transmission rate is reduced even if the number of TCP streams is increased. That is, when the amount of data to be transmitted is small, the measured transmission rate may be smaller than the realizable transmission rate of the TCP stream.

このように、TCPストリームの数を決定するために用いる送信レートの測定値が、TCPストリームの実現可能な送信レートより大きく下回っている場合もあり得る。このような場合、前述の決定方法では、TCPストリームの数を適切な値に設定できない場合がある。   Thus, the measurement value of the transmission rate used for determining the number of TCP streams may be significantly lower than the feasible transmission rate of the TCP stream. In such a case, the above-described determination method may not be able to set the number of TCP streams to an appropriate value.

例えば、TCPストリームの数を、N本からN+1本に増加させた場合に、送信レートの測定値が変化しなかった、もしくは減少した場合に、その原因が、送信レートがネットワーク帯域を超えたことではなくて、送信するデータ量が小さいことである場合もある。このような場合、本来、N+1本以上のTCPストリームが適切な値であるにもかかわらず、N本に決定してしまう場合がある。   For example, when the number of TCP streams is increased from N to N + 1, if the transmission rate measurement value does not change or decreases, the cause is that the transmission rate exceeds the network bandwidth. Instead, the amount of data to be transmitted may be small. In such a case, N + 1 or more TCP streams may be determined to be N in spite of proper values.

したがって、送信レートの測定値のみで、TCPストリームの数を決定すると、TCPストリームの数を適切に決定できない場合がある。   Therefore, if the number of TCP streams is determined only by the measurement value of the transmission rate, the number of TCP streams may not be determined appropriately.

TCPストリームの数を決定する際に、判断基準に用いる送信レートの測定値は、そのTCPストリームの数において、実現可能な送信レートが実現できる程度のデータ量を送信する際の測定値に比較であることが好ましい。   When determining the number of TCP streams, the measured value of the transmission rate used as a criterion is compared with the measured value when transmitting a data amount that can realize a feasible transmission rate in the number of TCP streams. Preferably there is.

本発明の一側面は、サーバ装置とクライアント装置間で送信するデータ量が変化する場合であっても、サーバ装置とクライアント装置間で用いるTCPストリームの数として、送信レートを確保しつつ、不要な処理負荷をもたらさない適切なTCPストリームの数に決定できるようにすることを目的とする。   One aspect of the present invention is an unnecessary aspect of securing the transmission rate as the number of TCP streams used between the server apparatus and the client apparatus even when the amount of data to be transmitted between the server apparatus and the client apparatus changes. The aim is to be able to determine an appropriate number of TCP streams that do not cause processing load.

そのために、本実施形態では、ストリーム数を決定(何個の送信部に分配するかを決定)する際、送信処理時間率に基づき決定している。   Therefore, in this embodiment, when the number of streams is determined (how many transmission units are distributed), the number is determined based on the transmission processing time rate.


≪ サーバ装置の構成 ≫

次に、図5を用いて、本実施形態に係るサーバ装置32の構成を説明する。

≪ Server device configuration ≫

Next, the configuration of the server device 32 according to the present embodiment will be described with reference to FIG.

サーバ装置32は、データ供給部3201と、第5分配部3202と、複数の送信部3203A〜3203Zと、送信レート測定部3204と、送信処理時間率算出部3205と、ストリーム数決定部3206とを備える。   The server apparatus 32 includes a data supply unit 3201, a fifth distribution unit 3202, a plurality of transmission units 3203A to 3203Z, a transmission rate measurement unit 3204, a transmission processing time rate calculation unit 3205, and a stream number determination unit 3206. Prepare.

データ供給部3201は、クライアント装置31に伝送すべきデータを入力する。本実施形態の画面転送システムにおいては、入力されるデータは、サーバ装置32における画面更新である。画面更新についての詳細は、図6及び図7を用いて後述する。   The data supply unit 3201 inputs data to be transmitted to the client device 31. In the screen transfer system of this embodiment, the input data is a screen update in the server device 32. Details of the screen update will be described later with reference to FIGS.

第5分配部3202は、データ供給部3201から渡されたデータを分割し、分割されたデータを送信部3203A〜103Zに分配する。分割後のデータに対し、クライアント装置31において結合を行うために必要となる分割情報を付与する。データの分割方法及び分割情報については、図8を用いて後述する。   The fifth distribution unit 3202 divides the data delivered from the data supply unit 3201 and distributes the divided data to the transmission units 3203A to 103Z. The division information necessary for combining in the client device 31 is added to the divided data. The data division method and division information will be described later with reference to FIG.

送信部3203A〜Zは、分割されたデータの送信処理を行う。入力されたデータをネットワーク上において伝送可能な形式に変換し、クライアント装置31の対応する受信部201に対し送信する。伝送プロトコルにはTCP/IPを使用する。本実施形態では各送信部103はTCPのストリーム(データを送る論理的なパイプ)である。   Transmission units 3203A to 3203 perform transmission processing of the divided data. The input data is converted into a format that can be transmitted on the network, and transmitted to the corresponding receiving unit 201 of the client device 31. TCP / IP is used as the transmission protocol. In this embodiment, each transmission unit 103 is a TCP stream (logical pipe for sending data).

送信レート測定部3204は、データの送信レートの測定を行う。ここで、送信レートとは、単位時間あたりに、送信されたデータ量である。送信レートの単位は、ビット毎秒で表される。   The transmission rate measuring unit 3204 measures the data transmission rate. Here, the transmission rate is the amount of data transmitted per unit time. The unit of the transmission rate is expressed in bits per second.

送信処理時間率算出部3205は、データ送信の送信処理時間率を測定する。送信処理時間率とは、規定の時間間隔においてデータの送信処理に費やされた時間が占める割合である。   The transmission processing time rate calculation unit 3205 measures the transmission processing time rate of data transmission. The transmission processing time rate is a ratio of time spent for data transmission processing in a specified time interval.


≪ クライアント装置の構成 ≫


クライアント装置31は、受信部3101A〜Zと、結合部3102と、表示部3103とを備える。

≪ Client device configuration ≫


The client device 31 includes receiving units 3101A to 3101A, a combining unit 3102, and a display unit 3103.

受信部3101A〜Zは、ネットワーク3を介してサーバ装置32からデータを受信する。   The receiving units 3101 </ b> A to 3101 receive data from the server device 32 via the network 3.

結合部3102は、受信部201から渡されたデータに付与された分割情報を利用してデータの結合を行う。   The combining unit 3102 combines data using the division information given to the data passed from the receiving unit 201.

表示部3103は、結合されたデータを表示する。   The display unit 3103 displays the combined data.


≪ 処理の流れ ≫

次に、本実施形態に係る画面転送システムにより行われる処理について、図面を適宜参照しながら説明する。サーバ装置32とクライアント装置31がネットワーク3を介して物理的に接続されている。

≪Process flow≫

Next, processing performed by the screen transfer system according to the present embodiment will be described with reference to the drawings as appropriate. The server device 32 and the client device 31 are physically connected via the network 3.


≪ 処理の流れ(画面更新の生成) ≫

画面転送の実行が開始されると、サーバ装置32のデータ供給部3201は、オペレーティングシステムやアプリケーションの実行状態に応じて画面更新の生成処理を行う。画面更新とは、画面の描画状態を変化させるための情報である。図6に画面更新の例を示す。画面更新は、更新する領域の位置を表す領域情報と、対応する領域の画像情報からなる。領域情報は、画面領域における画像情報の表示位置を示す数値である。図7は、領域情報を説明するための図である。

≪ Processing flow (generation of screen update) ≫

When execution of screen transfer is started, the data supply unit 3201 of the server device 32 performs screen update generation processing in accordance with the operating state of the operating system and application. The screen update is information for changing the drawing state of the screen. FIG. 6 shows an example of screen update. The screen update includes area information indicating the position of the area to be updated and image information of the corresponding area. The area information is a numerical value indicating the display position of the image information in the screen area. FIG. 7 is a diagram for explaining the region information.

例えば図7に示すように、画面領域の左上角を(0,0)、右下角を(Width,Height)としたときの、表示位置の左上座標(Left,Top)と右下座標(Right,Bottom)からなる矩形情報で示される。画像情報は、領域情報に対応する領域の更新後のビットマップデータ(矩形の各画素におけるRGB3色の値など)である。データ供給部3201は画面更新を送信すべきデータとして第5分配部3202に出力する。   For example, as shown in FIG. 7, when the upper left corner of the screen area is (0, 0) and the lower right corner is (Width, Height), the upper left coordinates (Left, Top) of the display position and the lower right coordinates (Right, (Bottom). The image information is bitmap data after updating the area corresponding to the area information (such as RGB three color values in each rectangular pixel). The data supply unit 3201 outputs the screen update to the fifth distribution unit 3202 as data to be transmitted.

第5分配部3202の処理を図9を参照しながら説明する。図9は、図5のサーバ装置32の第5分配部3202の処理を示すフローチャートである。第5分配部3202は、データ供給部3201から、送信すべきデータを受け取ると、複数の送信部3203A〜Zに分配する。始めに、データ供給部3201から受け取ったデータを規定のサイズ(例:8キロバイトなど)ごとに分割する(ステップS1001)。次に、分割後の各データに対して、クライアント装置31において結合を行うために必要となる分割情報を付与する。分割情報の例を図8に示す。例では、送信すべきデータが4分割された後で、それぞれに分割情報が付与されている。分割情報は、「分割後のデータの通し番号」/「分割後のデータの総数」という2つの数値からなる。   The processing of the fifth distribution unit 3202 will be described with reference to FIG. FIG. 9 is a flowchart showing processing of the fifth distribution unit 3202 of the server device 32 of FIG. When the fifth distribution unit 3202 receives data to be transmitted from the data supply unit 3201, the fifth distribution unit 3202 distributes the data to the plurality of transmission units 3203A to 3203A. First, the data received from the data supply unit 3201 is divided for each prescribed size (eg, 8 kilobytes) (step S1001). Next, division information necessary for combining in the client device 31 is added to each divided data. An example of the division information is shown in FIG. In the example, after the data to be transmitted is divided into four, division information is given to each. The division information is composed of two numerical values: “serial number of data after division” / “total number of data after division”.

次に第5分配部3202は分割後のデータを送信部3203A〜Zに分配する。第5分配部3202は、分割後のデータについて、それぞれどの送信部103を用いて送信処理を行うか、分配先を決定する。第5分配部3202は利用するTCPストリーム数の値をパラメータとして保持し、この値に等しい個数の送信部103に分配を行う。TCPストリーム数の初期値は任意(たとえば1)であり、以後、ストリーム数決定部3206によりこのTCPストリーム数の値は変更される。分配先の決定の仕方は任意である。例えば、送信部3203Aから順番に割り当てるやり方であってよい。各送信部103に対応するTCPストリームの状態の値(輻輳ウィンドウのサイズなど)を調べて、値の大きな送信部103から優先的に割り当てるやり方であってよい。   Next, the fifth distribution unit 3202 distributes the divided data to the transmission units 3203A-Z. The fifth distribution unit 3202 determines a distribution destination to which transmission unit 103 is used to perform transmission processing on the divided data. The fifth distribution unit 3202 stores the value of the number of TCP streams to be used as a parameter, and distributes the number of transmission units 103 equal to this value. The initial value of the number of TCP streams is arbitrary (for example, 1). Thereafter, the number of TCP streams is changed by the stream number determination unit 3206. The method of determining the distribution destination is arbitrary. For example, a method of assigning in order from the transmission unit 3203A may be used. The TCP stream state value (congestion window size or the like) corresponding to each transmission unit 103 may be checked, and the transmission unit 103 having a large value may be preferentially assigned.

次に第5分配部3202は、データを送信部103に渡す前に、現在時刻(サーバ装置32が起動してからの経過時間など)を送信処理開始時刻としていったん自身に記録してから(ステップS1002)、前述の割り当てにしたがって、分割後のデータを各送信部103に渡す。各送信部103は、受け取ったデータをネットワーク上において伝送可能な形式に変換し、クライアント装置31の対応する受信部201に対し送信する(ステップS1003)。送信部103は、送信処理が完了すると、それぞれ第5分配部3202に通知する。次に第5分配部3202は、送信すべきデータがすべて送信完了したことを確認すると、ふたたび現在時刻を調べ、送信処理終了時刻として自身に記録する(ステップS1004)。送信処理開始時刻との差から送信処理に要した送信処理時間を算出し、これを送信処理時間率算出部3205に通知する。送信処理時間率算出部3205は、送信処理時間の累積値を格納するための記憶領域を有しており、通知された値を格納値に加算する。以降、後述のストリーム数決定部3206から送信処理時間率の取得依頼を受け取るまで、通知を受けるごとに格納値を更新していく。さらに第5分配部3202は、送信完了したデータサイズを送信レート測定部3204に通知する(ステップS1006)。送信レート測定部3204は、データサイズの累積値を格納するための記憶領域を有しており、通知された値を格納値に加算する。以降、ストリーム数決定部3206から送信レートの取得依頼を受け取るまで、通知を受けるごとに格納値を更新していく。   Next, the fifth distribution unit 3202 once records the current time (e.g., elapsed time since the server device 32 is activated) as the transmission processing start time before transferring the data to the transmission unit 103 (step S1203). In step S <b> 1002), the divided data is transferred to each transmission unit 103 according to the above-described assignment. Each transmitting unit 103 converts the received data into a format that can be transmitted on the network, and transmits the data to the corresponding receiving unit 201 of the client device 31 (step S1003). When the transmission process is completed, the transmission unit 103 notifies the fifth distribution unit 3202 respectively. Next, when the fifth distribution unit 3202 confirms that transmission of all data to be transmitted is completed, the fifth distribution unit 3202 checks the current time again and records it as the transmission processing end time (step S1004). The transmission processing time required for the transmission processing is calculated from the difference from the transmission processing start time, and this is notified to the transmission processing time rate calculation unit 3205. The transmission processing time rate calculation unit 3205 has a storage area for storing the accumulated value of the transmission processing time, and adds the notified value to the stored value. Thereafter, the storage value is updated each time a notification is received until a request for acquiring a transmission processing time rate is received from the number-of-streams determination unit 3206 described later. Furthermore, the fifth distribution unit 3202 notifies the transmission rate measurement unit 3204 of the data size that has been transmitted (step S1006). The transmission rate measuring unit 3204 has a storage area for storing the accumulated value of the data size, and adds the notified value to the stored value. Thereafter, the storage value is updated each time a notification is received until a transmission rate acquisition request is received from the stream number determination unit 3206.

なお、送信部103が送信完了を通知するタイミングは、実装に応じて様々なやり方が考えられるが、本実施形態はそのいずれかに限定するものではない。例えば、送信部103が受信部201宛てにネットワーク3へデータを送出し終わったタイミングをもって送信完了を通知してもよい。例えば、受信部201から当該のデータに対する確認応答(ACK)を受け取ったタイミングをもって送信完了を通知してもよい。例えば、送信部103の送信バッファ(ネットワーク3への送出待ちあるいは送出後データのACK待ちのデータを一時的に保持しておくためのバッファ)へのコピーが完了したタイミングをもって送信完了を通知してもよい。   In addition, although the timing which the transmission part 103 notifies of transmission completion can consider various methods according to mounting, this embodiment is not limited to any of them. For example, the transmission unit 103 may notify the completion of transmission at the timing when the transmission unit 103 finishes sending data to the network 3 to the reception unit 201. For example, transmission completion may be notified at the timing when an acknowledgment (ACK) for the data is received from the receiving unit 201. For example, the transmission completion is notified at the timing when copying to the transmission buffer of the transmission unit 103 (a buffer for temporarily holding data waiting to be transmitted to the network 3 or ACK waiting for post-transmission data) is completed. Also good.

また、本実施形態では、第5分配部3202がデータ供給部3201から送信すべきデータを受け取ってから、すべてのデータが送信完了するまでの所要時間を送信処理時間としていたが、必ずしもこれに限らなくともよい。例えば送信処理時間を次のようにしてもよい。第5分配部3202は、送信待ちのデータを一時的に保持しておくためのバッファを持ち、データ供給部3201から送信すべきデータが渡されたとき、バッファが空であれば、送信すべきデータをバッファにコピーする。バッファが空でない場合は、空になるまで待機してからコピーを行う。バッファへのコピーが完了したタイミングをもって送信処理終了時刻とし、ここから送信処理時間を算出する。   In the present embodiment, the time required from when the fifth distribution unit 3202 receives the data to be transmitted from the data supply unit 3201 to the completion of transmission of all the data is defined as the transmission processing time. Not necessary. For example, the transmission processing time may be as follows. The fifth distribution unit 3202 has a buffer for temporarily holding data waiting to be transmitted. When data to be transmitted is passed from the data supply unit 3201, it should be transmitted if the buffer is empty. Copy data into the buffer. If the buffer is not empty, wait until it is empty before copying. The transmission processing end time is defined as the timing when the copying to the buffer is completed, and the transmission processing time is calculated therefrom.

以上のように各送信部3203A〜Zに渡されたデータは、ネットワーク3を通じて、それぞれ対応する受信部3101A〜Zに到達する。到達したデータは結合部3102に渡される。   As described above, the data passed to each of the transmission units 3203A to Z reaches the corresponding reception units 3101A to 3101 through the network 3, respectively. The reached data is passed to the combining unit 3102.

結合部3102は、データを受け取ると、付与された分割情報を利用してデータの結合を行う。分割情報に記された分割後のデータの総数すべてのデータを受け取れた時点で、それらを結合し、元のデータ(サーバ装置32のデータ供給部3201で生成された画面更新)を再構成する。元のデータは表示部3103に渡される。表示部3103はフレームバッファ(画面領域に対応する記録領域)を有しており、画面更新に含まれる領域情報に対応する情報を、画面情報で上書き更新する。フレームバッファの最新の状態はユーザに視覚的に提示される。   When the combining unit 3102 receives the data, the combining unit 3102 combines the data using the assigned division information. When all the data after the division described in the division information is received, they are combined, and the original data (screen update generated by the data supply unit 3201 of the server device 32) is reconstructed. The original data is passed to the display unit 3103. The display unit 3103 has a frame buffer (recording area corresponding to the screen area), and overwrites and updates the information corresponding to the area information included in the screen update with the screen information. The latest state of the frame buffer is visually presented to the user.

以上、サーバ装置32において画面更新が生成されてから、それがクライアント装置31に伝わり、表示されるまでの処理の流れを説明した。   The flow of processing from when a screen update is generated in the server device 32 until it is transmitted to the client device 31 and displayed is described above.


≪ 処理の流れ(ストリーム数の決定) ≫

次に、ストリーム数決定部3206の処理の流れを説明する。ストリーム数決定部3206は、任意のタイミング(例えば5秒おきなど)で、以下に述べる手順で次のストリーム数を決定する。決定した値を第5分配部3202に通知し、第1分配部102が伝送時に使用するTCPストリーム(送信部103)の個数を変更する。

≪ Processing flow (deciding the number of streams) ≫

Next, the processing flow of the stream number determination unit 3206 will be described. The stream number determination unit 3206 determines the next number of streams at an arbitrary timing (for example, every 5 seconds) by the procedure described below. The determined value is notified to the fifth distribution unit 3202, and the number of TCP streams (transmission unit 103) used by the first distribution unit 102 during transmission is changed.

始めにストリーム数決定部3206は、送信レート測定部3204に送信レートの取得依頼を出す。送信レート測定部3204にはデータサイズの累積値が記憶されており、送信レート測定部3204は取得依頼を受け取ると、前回取得時からの経過時間を算出し、これでデータサイズの累積値を除することで送信レートを算出する。送信レート測定部3204は算出値をストリーム数決定部3206に出力した後で、累積値をゼロにリセットする。   First, the stream number determination unit 3206 issues a transmission rate acquisition request to the transmission rate measurement unit 3204. The transmission rate measurement unit 3204 stores a cumulative value of the data size. Upon receiving the acquisition request, the transmission rate measurement unit 3204 calculates an elapsed time from the previous acquisition, and removes the cumulative value of the data size. To calculate the transmission rate. The transmission rate measuring unit 3204 outputs the calculated value to the stream number determining unit 3206, and then resets the accumulated value to zero.

次にストリーム数決定部3206は、送信処理時間率算出部3205に送信処理時間率の取得依頼を出す。送信処理時間率算出部3205には送信処理時間の累積値が記憶されており、送信処理時間率算出部3205は取得依頼を受け取ると、送信処理時間率を算出する。送信処理時間率とは、ある時間間隔においてデータの送信処理に費やされた時間が占める割合のことである。まず前回取得時からの経過時間を算出し、これで送信処理時間の累積値を除することで送信処理時間率を算出する。送信処理時間率算出部3205は算出値をストリーム数決定部3206に出力した後で、累積値をゼロにリセットする。   Next, the stream number determination unit 3206 issues a transmission processing time rate acquisition request to the transmission processing time rate calculation unit 3205. The transmission processing time rate calculation unit 3205 stores a cumulative value of the transmission processing time, and the transmission processing time rate calculation unit 3205 calculates the transmission processing time rate when receiving the acquisition request. The transmission processing time rate is a ratio of time spent for data transmission processing in a certain time interval. First, the elapsed time from the previous acquisition is calculated, and the transmission processing time rate is calculated by dividing the accumulated value of the transmission processing time. The transmission processing time rate calculation unit 3205 outputs the calculated value to the stream number determination unit 3206 and then resets the accumulated value to zero.

またストリーム数決定部3206は、現在使用しているTCPストリーム数の値を第5分配部3202から取得する。   Also, the stream number determination unit 3206 obtains the value of the number of currently used TCP streams from the fifth distribution unit 3202.

以上のようにして、ストリーム数決定部3206は、TCPストリーム数、送信レート、送信処理時間率の各値を得る。以降、TCPストリーム数をN、そのときの送信レートをS、送信処理時間率をRと記載する。ストリーム数決定部3206は、N,S,Rの値をもとに、次に使用するTCPストリーム数Nnextの値を決定する。   As described above, the stream number determination unit 3206 obtains each value of the number of TCP streams, the transmission rate, and the transmission processing time rate. Hereinafter, the number of TCP streams is described as N, the transmission rate at that time as S, and the transmission processing time rate as R. The number-of-streams determination unit 3206 determines the value of the number of next TCP streams Nnext to be used based on the values of N, S, and R.


≪ 決定処理の第一の例 ≫

ストリーム数の決定処理の第一の例を図10を用いて説明する。始めにストリーム数決定部3206は、送信処理時間率Rが既定の閾値Rt(例えば0.9など)を上回るか否かを判断する(ステップS1101)。前述の通り、送信処理時間率Rは、サーバ装置32の処理時間においてデータの送信処理に費やされた時間が占める割合を示す指標である。したがって、Rの値が大きい場合、サーバ装置32の処理時間の多くが送信処理に費やされているとみなすことができる。このことは、つまり、送信部103(TCPストリーム)が十分なレートでのデータ送信が行えておらず、TCPストリーム数を増加させて並列の度合いを高くすることにより送信レートが向上する可能性があることを意味している。一方、Rの値が小さい場合、サーバ装置32の処理時間のうち送信処理に費やされている時間は比較的小さいとみなすことができる。このことは、つまり、送信部103により達成可能なデータの送信レートよりも、データ供給部3201から供給されるデータのレート(データ入力レート)の方が小さいことを意味する。このとき、TCPストリーム数の値をこれ以上増加させたところで送信レートの向上は期待できない。したがって、本決定処理では、送信処理時間率Rが閾値Rtを下回る場合は、次に用いるTCPストリーム数Nnextの値を現在のTCPストリーム数Nから変化させたところで送信レートの向上は見込めないため、現状と同じ値を使用するという方針をとる。

≪ First example of decision processing ≫

A first example of the process for determining the number of streams will be described with reference to FIG. First, the stream number determination unit 3206 determines whether or not the transmission processing time rate R exceeds a predetermined threshold Rt (for example, 0.9) (step S1101). As described above, the transmission processing time rate R is an index indicating the ratio of the time spent for the data transmission processing in the processing time of the server device 32. Therefore, when the value of R is large, it can be considered that much of the processing time of the server device 32 is spent on the transmission processing. This means that the transmission unit 103 (TCP stream) cannot transmit data at a sufficient rate, and the transmission rate may be improved by increasing the number of TCP streams and increasing the degree of parallelism. It means that there is. On the other hand, when the value of R is small, it can be considered that the time spent for the transmission process in the processing time of the server device 32 is relatively small. This means that the rate of data supplied from the data supply unit 3201 (data input rate) is smaller than the data transmission rate achievable by the transmission unit 103. At this time, when the value of the number of TCP streams is further increased, an improvement in the transmission rate cannot be expected. Therefore, in this determination process, when the transmission processing time rate R is lower than the threshold value Rt, the transmission rate cannot be improved when the value of the next TCP stream number Nnext is changed from the current TCP stream number N. The policy is to use the same value as the current situation.

RがRtを下回る場合、NnextはNと同じ値を用いると決定し(ステップS1107)、決定処理は終了する。上回る場合、N,Sの値を次のように記憶する(ステップS1102)。ストリーム数決定部3206は図11に示すテーブルを、記憶部32061内に保持する。図11は、図5のサーバ装置32のストリーム数決定部3206の記憶部32061が保持するテーブルの一例を示す図である。尚、記憶部32061は、ストリーム数決定部3206内にあるとして説明するが、ストリーム数決定部3206の外にあっても良い。   When R is less than Rt, Nnext is determined to use the same value as N (step S1107), and the determination process ends. If it exceeds, the values of N and S are stored as follows (step S1102). The stream number determination unit 3206 stores the table illustrated in FIG. 11 in the storage unit 32061. FIG. 11 is a diagram illustrating an example of a table held by the storage unit 32061 of the stream number determination unit 3206 of the server device 32 of FIG. Although the storage unit 32061 is described as being in the stream number determination unit 3206, it may be outside the stream number determination unit 3206.

このテーブルは、NとSの値の組がNの昇順で記憶されている。さらにその序数が記憶されている。序数i、TCPストリーム数N、送信レートSの1つの組をエントリと呼ぶ。ストリーム数決定部3206は、始めに、取得したNの値に等しいエントリがテーブルに存在するかを調べ、存在していれば、当該のエントリのSの値を取得したSの値で上書き更新する。存在していなければ、取得したNとSの値からなる新しいエントリを作成しテーブルに追加する。追加後のテーブルをNに関してソートし、序数を付け直す。   In this table, pairs of N and S values are stored in ascending order of N. Furthermore, the ordinal number is stored. One set of ordinal number i, TCP stream number N, and transmission rate S is called an entry. The number-of-streams determination unit 3206 first checks whether there is an entry in the table that is equal to the acquired value of N, and if it exists, overwrites and updates the S value of that entry with the acquired value of S. . If it does not exist, a new entry consisting of the acquired N and S values is created and added to the table. Sort the added table with respect to N and renumber the ordinal numbers.

以上のように更新したテーブルを用いて、ストリーム数決定部3206はNnextを以下の方針に従って決定する。通常、TCPストリーム数を増やしていけば送信レートは向上する。しかし、送信レートがネットワークの帯域の上限に達した場合は、それ以上増やしても送信レートは向上しない。そこで、テーブルの送信レートSの値がNに関し単調増加の傾向を示すなら、次に用いるTCPストリーム数Nnextはテーブルに記憶されたストリーム数よりもさらに大きな値を選択する。もし単調増加の傾向を示さず、ある程度以上のNでSの増加が頭打ちに至るなら、それ以上Nの値を大きくとったところで効果はない。この場合は、頭打ちにいたるちょうどのNの値をNnextとして選択する。   Using the table updated as described above, the stream number determination unit 3206 determines Nnext according to the following policy. Usually, if the number of TCP streams is increased, the transmission rate is improved. However, when the transmission rate reaches the upper limit of the network bandwidth, the transmission rate does not improve even if it is increased further. Therefore, if the value of the transmission rate S in the table shows a monotonically increasing tendency with respect to N, the TCP stream number Nnext to be used next is selected to be larger than the number of streams stored in the table. If it does not show a monotonous increase and the increase of S reaches a peak at a certain N or more, there is no effect when the value of N is further increased. In this case, the value of N that reaches the peak is selected as Nnext.

具体的には以下の手順を行う。始めに、序数iとして1を選択し(ステップS1103)、次のループ処理を行う。テーブルのエントリの個数(序数iの最大値)をimaxとし、iがimaxに等しければループを抜ける(ステップS1104)。序数iのエントリの送信レート(S[i]と呼ぶ)と序数i+1のエントリの送信レート(S[i+1]と呼ぶ)の差と、規定の閾値Stとの大小を比較する(ステップS1105)。閾値Stは任意であってよく、例えば、そのときの序数iのエントリのTCPストリーム数N[i]と、序数i+1のエントリのTCPストリーム数N[i+1]を用いて、St=(N[i+1]−N[i])×4Mbpsとする。差がStを超えていれば、iの値を1インクリメントし(ステップS1106)ループの処理を継続する。Stを超えていなければ、そのときの序数i+1のエントリのTCPストリーム数(N[i+1]と呼ぶ)のところで送信レートが頭打ちに至ると判断できるので、これ以上のTCPストリーム数を増やしても効果はないと予期できる。そこで次のTCPストリーム数Nnextは、序数iのエントリのTCPストリーム数(N[i]と呼ぶ)とN[i+1]との中間の値とする(ステップS1109)。一方、すべてのiについてS[i+1]とS[i]の差が閾値Stを超えていたならば、送信レートはNに対し単調増加しているとみなすことができるため、Nnextは、テーブルで最大のTCPストリーム数N[imax]よりもさらに1増やした値とする(ステップS1108)。   Specifically, the following procedure is performed. First, 1 is selected as the ordinal number i (step S1103), and the next loop processing is performed. The number of entries in the table (the maximum value of the ordinal number i) is set to imax, and if i is equal to imax, the loop is exited (step S1104). The difference between the transmission rate of the entry with ordinal number i (referred to as S [i]) and the transmission rate of the entry with ordinal number i + 1 (referred to as S [i + 1]) is compared with the prescribed threshold value St (step S1105). The threshold value St may be arbitrary. For example, the number of TCP streams N [i] of the entry with the ordinal number i at that time and the number of TCP streams N [i + 1] of the entry with the ordinal number i + 1 are used, and St = (N [i + 1 ] −N [i]) × 4 Mbps. If the difference exceeds St, the value of i is incremented by 1 (step S1106) and the loop processing is continued. If it does not exceed St, it can be determined that the transmission rate reaches the peak at the number of TCP streams of the ordinal number i + 1 at that time (referred to as N [i + 1]), so it is effective to increase the number of TCP streams beyond this. You can expect no. Therefore, the next TCP stream number Nnext is set to an intermediate value between the number of TCP streams of the entry of the ordinal number i (referred to as N [i]) and N [i + 1] (step S1109). On the other hand, if the difference between S [i + 1] and S [i] exceeds the threshold value St for all i, it can be considered that the transmission rate monotonically increases with respect to N. The value is further increased by 1 from the maximum number of TCP streams N [imax] (step S1108).

動作例を示す。いま、送信処理時間率Rの値が閾値Rtを超えており、テーブルのエントリの更新が完了した状態であるとする。そのときのテーブルが図11に示した状態であるとする。さらに、送信レートの差の閾値Stは(N[i+1]−N[i])×4Mbpsと仮定する。始めに、S[1]とS[2]の差とStとの大小が比較される。N[1]=1、N[2]=2、S[1]=5Mbps、S[2]=10Mbpsであるため、S[2]−S[1]=10−5=5Mbps、St=(2−1)×4=4Mbpsとなり、ステップS1105のS[i+1]−S[i]>St?の判定はYESとなる。次に、S[2]とS[3]の差とStとの大小が比較される。N[2]=2、N[3]=4、S[2]=10Mbps、S[3]=19Mbpsであるため、S[3]−S[2]=19−10=9Mbps、St=(4−2)×4=8Mbpsとなり、ステップS1105の判定は再びYESとなる。次に、S[3]とS[4]の差とStとの大小が比較される。N[3]=4、N[4]=6、S[3]=19Mbps、S[4]=20Mbpsであるため、S[4]−S[3]=20−19=1Mbps、St=(6−4)×4=8Mbpsとなり、ステップS1105の判定はNOとなる。処理はステップS1109に進み、このときのiの値は3であることから、Nnextの値は、(N[3]+N[4])/2=(4+6)/2=5と決定される。   An operation example is shown. Now, it is assumed that the value of the transmission processing time rate R exceeds the threshold value Rt and the update of the table entry is completed. Assume that the table at that time is in the state shown in FIG. Furthermore, the transmission rate difference threshold St is assumed to be (N [i + 1] −N [i]) × 4 Mbps. First, the difference between S [1] and S [2] and the magnitude of St are compared. Since N [1] = 1, N [2] = 2, S [1] = 5 Mbps, and S [2] = 10 Mbps, S [2] −S [1] = 10−5 = 5 Mbps, St = ( 2-1) × 4 = 4 Mbps, and S [i + 1] −S [i]> St in step S1105? This determination is YES. Next, the difference between S [2] and S [3] and St is compared. Since N [2] = 2, N [3] = 4, S [2] = 10 Mbps, and S [3] = 19 Mbps, S [3] −S [2] = 19−10 = 9 Mbps, St = ( 4-2) × 4 = 8 Mbps, and the determination in step S1105 is YES again. Next, the difference between S [3] and S [4] and the magnitude of St are compared. Since N [3] = 4, N [4] = 6, S [3] = 19 Mbps, and S [4] = 20 Mbps, S [4] −S [3] = 20−19 = 1 Mbps, St = ( 6-4) × 4 = 8 Mbps, and the determination in step S1105 is NO. The process proceeds to step S1109. Since the value of i at this time is 3, the value of Nnext is determined as (N [3] + N [4]) / 2 = (4 + 6) / 2 = 5.

このように、送信処理時間率Rの値に加えて送信レートSの値を利用して次のTCPストリーム数Nの値を利用することで、Nの値をある値以上増加させても送信レート向上の効果がないといった状況においてもそれを適切に判断し、不要なTCPストリーム数の増加を回避する。   In this way, by using the value of the next TCP stream number N using the value of the transmission rate S in addition to the value of the transmission processing time rate R, the transmission rate is increased even if the value of N is increased by a certain value or more. Even in a situation where there is no improvement effect, it is determined appropriately, and an increase in the number of unnecessary TCP streams is avoided.

なお、本第1の例では、送信レートSの値がNに関し単調増加の傾向を示すか否かに応じてNnextの決定方法を切り替えていたが、より細かな切り替えを行っても良い。例えばステップS1105の結果がNOだった場合、序数iの値が1だった場合は、Nnextの値をN[1]よりさらに小さな値にするという選択を行っても良い。   In the first example, the method for determining Nnext is switched depending on whether or not the value of the transmission rate S shows a monotonically increasing tendency with respect to N. However, more detailed switching may be performed. For example, if the result of step S1105 is NO, and the value of the ordinal i is 1, a selection may be made to make the value of Nnext smaller than N [1].

また、テーブルにおいて、記憶後、規定時間以上が経過したエントリを削除する処理を追加してもよい。これにより、導入先ごとに異なるネットワーク3の環境や、時々刻々と変動するネットワーク3の状況に適応しながら適切なTCPストリーム数を選択し続けることが可能になる。   In the table, a process of deleting an entry that has passed a predetermined time after storage may be added. As a result, it is possible to continue to select an appropriate number of TCP streams while adapting to the environment of the network 3 that is different for each installation destination and the situation of the network 3 that changes every moment.

以上、決定処理の第一の例を説明した。   The first example of the determination process has been described above.


≪ 決定処理の第二の例 ≫

次に、決定処理の第二の例を図12を用いて説明する。図12は、ストリーム数の決定処理の第2の例のフローチャートを示す図である。

≪ Second example of decision processing ≫

Next, a second example of the determination process will be described with reference to FIG. FIG. 12 is a diagram illustrating a flowchart of a second example of the process for determining the number of streams.

ストリーム数決定部3206の記憶部32061は、取得したN,S,Rの値を保持するためのテーブルを持つ。テーブルの例を図13に示す。図13は、図5のサーバ装置32のストリーム数決定部3206の記憶部32061が保持するテーブルの第2の例を示す図である。尚、記憶部32061は、ストリーム数決定部3206内にあるとして説明するが、ストリーム数決定部3206の外にあっても良い。   The storage unit 32061 of the stream number determination unit 3206 has a table for holding the acquired values of N, S, and R. An example of the table is shown in FIG. FIG. 13 is a diagram illustrating a second example of a table held by the storage unit 32061 of the stream number determination unit 3206 of the server apparatus 32 of FIG. Although the storage unit 32061 is described as being in the stream number determination unit 3206, it may be outside the stream number determination unit 3206.

第一の例と異なり、第二の例では、N,Sに加えてRの値を記憶する(ステップS1201)。ストリーム数決定部3206は、始めに、取得したNの値に等しいエントリがテーブルに存在するかを調べ、存在していれば、当該のエントリのSとRの値を取得したSとRの値で上書き更新する。テーブルには、N,S,Rに加えて、SをRで割った値をあわせて記憶される。存在していなければ、取得したN,S,Rの値からなる新しいエントリを作成しテーブルに追加する。追加後のテーブルをNに関してソートし、序数を付け直す。   Unlike the first example, in the second example, the value of R is stored in addition to N and S (step S1201). First, the number-of-streams determination unit 3206 checks whether there is an entry in the table that is equal to the acquired value of N. Overwrite with. In the table, in addition to N, S, and R, values obtained by dividing S by R are stored together. If it does not exist, a new entry consisting of the acquired values of N, S, and R is created and added to the table. Sort the added table with respect to N and renumber the ordinal numbers.

送信処理時間率Rは、サーバ装置32の処理時間においてデータの送信処理に費やされた時間が占める割合である。このときの送信レートがSで与えられることから、S/Rの値は送信部103で達成可能な伝送レートの上限の近似値とみなすことができる。そこで、S/Rの値がNに関し単調増加するか否かに応じて、次に用いるTCPストリーム数Nnextの値を決定する。   The transmission processing time rate R is the ratio of the time spent for data transmission processing in the processing time of the server device 32. Since the transmission rate at this time is given by S, the value of S / R can be regarded as an approximate value of the upper limit of the transmission rate that can be achieved by the transmission unit 103. Therefore, the value of the next used TCP stream number Nnext is determined according to whether or not the S / R value monotonously increases with respect to N.

以降の決定処理は、第一の例のステップS1103以降を、S→S/Rと読み替えた手続きと同一である。序数iとして1から順に(ステップS1202〜S1205)、序数iのエントリのS[i]/R[i]と序数i+1のエントリのS[i+1]/R[i+1]との差と、規定の閾値(S/R)tとの大小を比較する。差が閾値(S/R)tを下回れば、そのときのiを用いて、Nnextの値を(N[i]+N[i+1])/2と定める。imax未満の全てのiについて差が(S/R)tを上回っていれば、S/RはNに関し単調増加していると見なし、Nnextの値をN[imax]より1大きな値とする。動作例は省略する。   The subsequent determination processing is the same as the procedure in which step S1103 and subsequent steps in the first example are read as S → S / R. In order from 1 as the ordinal number i (steps S1202 to S1205), the difference between the S [i] / R [i] of the entry of the ordinal number i and S [i + 1] / R [i + 1] of the entry of the ordinal number i + 1, and the prescribed threshold value (S / R) The magnitude is compared with t. If the difference falls below the threshold value (S / R) t, the value of Nnext is determined as (N [i] + N [i + 1]) / 2 using i at that time. If the difference is greater than (S / R) t for all i less than imax, S / R is regarded as monotonically increasing with respect to N, and the value of Nnext is set to a value larger than N [imax]. An operation example is omitted.


≪ 決定処理の第三の例 ≫

決定処理の第三の例を図14を用いて説明する。図14は、ストリーム数の決定処理の第3の例のフローチャートを示す図である。

≪ Third example of decision processing ≫

A third example of the determination process will be described with reference to FIG. FIG. 14 is a diagram illustrating a flowchart of a third example of the process for determining the number of streams.

ストリーム数決定部3206は、送信処理時間率Rが既定の閾値Rt(例えば0.9など)を上回るか否かを判断する(ステップS1301)。Rの値が閾値よりも小さい場合(ステップS1302)、決定処理の第一の例と同様の判断より、Nnextの値として、現状と同じNの値を使用する。一方、閾値を上回る場合(ステップS1303)、サーバ装置32の処理時間の多くが送信処理に費やされていることから、TCPストリーム数を増加させることにより送信レートに改善の可能性が見込める。よって、Nnextの値として、現状より大きなN+1を使用する。動作例は省略する。   The stream number determination unit 3206 determines whether or not the transmission processing time rate R exceeds a predetermined threshold Rt (for example, 0.9) (step S1301). When the value of R is smaller than the threshold (step S1302), the same N value as the current value is used as the value of Nnext based on the same determination as in the first example of the determination process. On the other hand, when the threshold value is exceeded (step S1303), since most of the processing time of the server device 32 is spent for transmission processing, it is possible to improve the transmission rate by increasing the number of TCP streams. Therefore, N + 1 larger than the current value is used as the value of Nnext. An operation example is omitted.

以上のように本実施の形態によれば、伝送すべきデータの入力されるレートが時間によって変動する場合であっても、送信レートを確保しつつ、不要な処理負荷をもたらさない適切なTCPストリーム数を決定することが可能になる。   As described above, according to the present embodiment, even when the input rate of data to be transmitted varies with time, an appropriate TCP stream that secures a transmission rate and does not cause unnecessary processing load. The number can be determined.

また、サーバ装置32は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、データ供給部3201と、第5分配部3202と、複数の送信部3203A〜3203Zと、送信レート測定部3204と、送信処理時間率算出部3205と、ストリーム数決定部3206とは、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、サーバ装置32は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。   The server device 32 can also be realized by using, for example, a general-purpose computer device as basic hardware. That is, the data supply unit 3201, the fifth distribution unit 3202, the plurality of transmission units 3203A to 3203Z, the transmission rate measurement unit 3204, the transmission processing time rate calculation unit 3205, and the stream number determination unit 3206 This can be realized by causing a processor mounted on a computer apparatus to execute a program. At this time, the server device 32 may be realized by installing the above-described program in a computer device in advance, or may be stored in a storage medium such as a CD-ROM or distributed through the network. Thus, this program may be realized by appropriately installing it in a computer device.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

1・・・クライアント装置31・・・サーバ装置、3・・・ネットワーク、100・・・データ供給部、101・・・確立指示部、102・・・第1分配部、103・・・第1の送信部、104・・・第2の送信部、105・・・確立部、106・・・確立部、107・・・第2分配部、200・・・第1の受信部、201・・・第2の受信部、202・・・待受部、203・・・待受部、204・・・第1収集部、205・・・第2収集部、206・・・データ入出力部、110・・・データ供給部、111・・・確立指示部、112・・・第3収集部、113・・・第1の受信部、114・・・第2の受信部、115・・・確立部、116・・・確立部、117・・・第4収集部、210・・・第1の送信部、211・・・第2の送信部、212・・・待受部、213・・・待受部、214・・・第3分配部、215・・・待受部、216・・・第4分配部、217・・・データ入出力部、31・・・クライアント装置、32・・・サーバ装置、3101A〜Z・・・受信部、3102・・・結合部、3103・・・表示部、3201・・・データ供給部、3202・・・第5分配部、3203A〜Z・・・送信部、3204・・・送信レート測定部、3205・・・送信処理時間測定部、3206・・・ストリーム数決定部、32061・・・記憶部。 DESCRIPTION OF SYMBOLS 1 ... Client device 31 ... Server device, 3 ... Network, 100 ... Data supply part, 101 ... Establishment instruction | indication part, 102 ... 1st distribution part, 103 ... 1st Transmission unit 104 ... second transmission unit 105 ... establishment unit 106 ... establishment unit 107 ... second distribution unit 200 ... first reception unit 201 ... Second receiving unit, 202 ... standby unit, 203 ... standby unit, 204 ... first collection unit, 205 ... second collection unit, 206 ... data input / output unit, DESCRIPTION OF SYMBOLS 110 ... Data supply part, 111 ... Establishment instruction | indication part, 112 ... 3rd collection part, 113 ... 1st receiving part, 114 ... 2nd receiving part, 115 ... Establishment , 116 ... establishment unit, 117 ... fourth collection unit, 210 ... first transmission unit, 211 ... second transmission unit 212 ... Standby unit, 213 ... Standby unit, 214 ... Third distribution unit, 215 ... Standby unit, 216 ... Fourth distribution unit, 217 ... Data input / output unit , 31 ... Client device, 32 ... Server device, 3101A-Z ... Receiving unit, 3102 ... Coupling unit, 3103 ... Display unit, 3201 ... Data supply unit, 3202 ... 5th distribution part, 3203A-Z ... transmission part, 3204 ... transmission rate measurement part, 3205 ... transmission processing time measurement part, 3206 ... stream number determination part, 32061 ... storage part.

Claims (24)

ネットワークを介して接続された第1の通信装置との間で通信を行う装置であって、
第1の接続を確立するための処理を行うとともに、前記第1の通信装置と前記第1の接続を確立した場合に、第1の伝送方式で通信を行う第1の通信部と、
第2の接続を確立するための処理を行うとともに、前記第1の通信装置と前記第2の接続を確立した場合に、第2の伝送方式で通信を行う第2の通信部と、
前記第1の通信部が前記第1の接続を確立するための処理を行うタイミングと、前記第2の通信部が前記第2の接続を確立するための処理を行うタイミングとが重複する様に、前記第1の通信部に対して前記第1の接続を確立するための処理を行うように第1の指示を出すとともに、前記第2の通信部に対して前記第2の接続を確立するための処理を行うように第2の指示を出す指示部と、
分配部と、を備え、
前記第1の通信部は、前記第1の接続を確立するための処理を完了した場合に、前記分配部に第1メッセージを通知し、
前記第2の通信部は、前記第2の接続を確立するための処理を完了した場合に、前記分配部に第2メッセージを通知し、
前記分配部は、前記送信データを、通信に用いるすべての接続の確立を最初に完了した前記第1の通信部又は前記第2の通信部のいずれか一方に分配するとともに、前記第1の通信部が最初に前記第1の接続を確立するための処理を完了した場合に、前記第1の通信部に前記送信データを分配するとともに、前記第2の通信部が前記第2の接続の確立するための処理を完了後、前記送信データの分配先を前記第1の通信部から前記第2の通信部に切り替えることを特徴とする通信装置。
A device for communicating with a first communication device connected via a network,
A first communication unit that performs processing for establishing a first connection, and performs communication by a first transmission method when the first connection is established with the first communication device;
A second communication unit that performs processing for establishing a second connection, and performs communication using the second transmission method when the second connection is established with the first communication device;
The timing at which the first communication unit performs processing for establishing the first connection and the timing at which the second communication unit performs processing for establishing the second connection overlap. And instructing the first communication unit to perform processing for establishing the first connection, and establishing the second connection to the second communication unit. An instruction unit for issuing a second instruction so as to perform processing for
A distribution unit;
When the first communication unit completes the process for establishing the first connection, the first communication unit notifies the distribution unit of a first message;
The second communication unit, when completing the process for establishing the second connection, notifies the distribution unit of a second message,
The distribution unit distributes the transmission data to either the first communication unit or the second communication unit that first completed establishment of all connections used for communication, and the first communication. When the first unit completes the process for establishing the first connection, the transmission data is distributed to the first communication unit, and the second communication unit establishes the second connection. A communication apparatus that switches a distribution destination of the transmission data from the first communication unit to the second communication unit after completing the processing for performing the processing.
前記第1の接続は単一のストリームから構成され、前記第2の接続は複数のストリームから構成され、前記第1の伝送方式は単一のストリームを用いて通信を行う伝送方式であり、前記第2の伝送方式は複数のストリームを用いて通信を行う伝送方式であることを特徴とする請求項1記載の通信装置。   The first connection is composed of a single stream, the second connection is composed of a plurality of streams, and the first transmission method is a transmission method for performing communication using a single stream, The communication apparatus according to claim 1, wherein the second transmission method is a transmission method for performing communication using a plurality of streams. ネットワークを介して接続された第1の通信装置と第2の通信装置とを備えるシステムであって、
前記第1の通信装置は、
第1の接続を確立するための処理を行うとともに、前記第1の通信装置と前記第1の接続を確立した場合に、第1の伝送方式で通信を行う第1の通信部と、
第2の接続を確立するための処理を行うとともに、前記第1の通信装置と前記第2の接続を確立した場合に、第2の伝送方式で通信を行う第2の通信部と、
前記第1の通信部が前記第1の接続を確立するための処理を行うタイミングと、前記第2の通信部が前記第2の接続を確立するための処理を行うタイミングとが重複する様に、前記第1の通信部に対して前記第1の接続を確立するための処理を行うように第1の指示を出すとともに、前記第2の通信部に対して前記第2の接続を確立するための処理を行うように第2の指示を出す指示部と、
分配部と、を備え、
前記第1の通信部は、前記第1の接続を確立するための処理を完了した場合に、前記分配部に第1メッセージを通知し、
前記第2の通信部は、前記第2の接続を確立するための処理を完了した場合に、前記分配部に第2メッセージを通知し、
前記分配部は、前記送信データを、通信に用いるすべての接続の確立を最初に完了した前記第1の通信部又は前記第2の通信部のいずれか一方に分配するとともに、前記第1の通信部が最初に前記第1の接続を確立するための処理を完了した場合に、前記第1の通信部に前記送信データを分配するとともに、前記第2の通信部が前記第2の接続の確立するための処理を完了後、前記送信データの分配先を前記第1の通信部から前記第2の通信部に切り替え、
前記第2の通信装置は、
第1の接続を確立するための処理を行うとともに、前記第1の通信装置の前記第1の通信部と、前記第1の接続を確立した場合に、前記第1の伝送方式で通信を行う第3の通信部と、
第2の接続を確立するための処理を行うとともに、前記第1の通信装置の前記第2の通信部と前記第2の接続を確立した場合に、第2の通信方式で通信を行う第4の通信部と、
前記第3の通信部及び前記第2の通信部が通信により受信した前記送信データを、前記通信部及び前記第2の通信部から受け取るとともに、受け取った前記送信データを出力する収集部とを備え、
前記収集部は、前記分配部が、前記送信データの分配先を、前記第1の通信部から前記第2の通信部に切り替えた場合に、前記第3の通信部から受け取ったすべての前記送信データを出力後、前記第4の通信部から受け取った前記送信データの出力を開始することを特徴とする
システム。
A system comprising a first communication device and a second communication device connected via a network,
The first communication device is:
A first communication unit that performs processing for establishing a first connection, and performs communication by a first transmission method when the first connection is established with the first communication device;
A second communication unit that performs processing for establishing a second connection, and performs communication using the second transmission method when the second connection is established with the first communication device;
The timing at which the first communication unit performs processing for establishing the first connection overlaps with the timing at which the second communication unit performs processing for establishing the second connection. And instructing the first communication unit to perform processing for establishing the first connection, and establishing the second connection to the second communication unit. An instruction unit for issuing a second instruction so as to perform processing for
A distribution unit;
When the first communication unit completes the process for establishing the first connection, the first communication unit notifies the distribution unit of a first message;
When the second communication unit completes the process for establishing the second connection, the second communication unit notifies the distribution unit of a second message,
The distribution unit distributes the transmission data to either the first communication unit or the second communication unit that first completed establishment of all connections used for communication, and the first communication. When the unit first completes the process for establishing the first connection, the transmission data is distributed to the first communication unit, and the second communication unit establishes the second connection. After completing the process for the transmission, the distribution destination of the transmission data is switched from the first communication unit to the second communication unit,
The second communication device is:
Performs processing for establishing a first connection, and communicates with the first communication unit of the first communication device using the first transmission method when the first connection is established. A third communication unit;
A process for establishing a second connection and performing communication in the second communication method when the second connection is established with the second communication unit of the first communication device. The communication department of
A collection unit that receives the transmission data received by the third communication unit and the second communication unit from the communication unit and the second communication unit, and outputs the received transmission data; ,
The collection unit receives all the transmissions received from the third communication unit when the distribution unit switches the distribution destination of the transmission data from the first communication unit to the second communication unit. After outputting data, the system starts outputting the transmission data received from the fourth communication unit.
前記第1の通信装置は、前記送信データの分配先を、前記第1の通信部から前記第2の通信部に切り替えるまでに、前記分配部が、前記第1の通信部に分配した前記送信データのデータサイズを、前記第2の通信装置に通知し、
前記収集部は、通知された前記データサイズの前記送信データを出力した場合に、前記第3の通信部から受け取った全ての前記送信データを出力したと判断することを特徴とする請求項3記載のシステム。
The first communication device transmits the transmission data distributed to the first communication unit by the distribution unit until the transmission destination of the transmission data is switched from the first communication unit to the second communication unit. Informing the second communication device of the data size of the data;
The said collection part judges that all the said transmission data received from the said 3rd communication part were output, when the said transmission data of the notified said data size was output. System.
前記第1の接続は単一のストリームから構成され、前記第2の接続は複数のストリームから構成され、前記第1の伝送方式は単一のストリームを用いて通信を行う伝送方式であり、前記第2の伝送方式は複数のストリームを用いて通信を行う伝送方式であることを特徴とする請求項3記載のシステム。   The first connection is composed of a single stream, the second connection is composed of a plurality of streams, and the first transmission method is a transmission method for performing communication using a single stream, 4. The system according to claim 3, wherein the second transmission method is a transmission method in which communication is performed using a plurality of streams. ネットワークを介して接続された第1の通信装置と通信を行う装置であって、
複数の送信部と、
第1のデータを分割することにより複数の第1分割データを生成するとともに、前記複数の第1分割データを、前記複数の送信部に分配する分配部と、
前記複数の送信部が、任意の期間の中で、前記第1のデータを前記第1の通信装置に送信するために要した送信処理時間の割合である送信処理時間率を算出する算出部と、
前記送信処理時間率に基づき、前記分配部が、第2のデータを分割して生成する複数の第2の分割データを、何個の前記送信部に分配するかを決定する決定部とを備え、
前記分配部は、前記複数の第2の分割データを、前記決定部が決定した数の前記送信部に分配することを特徴とする
通信装置。
A device that communicates with a first communication device connected via a network,
A plurality of transmitters;
A plurality of first division data generated by dividing the first data, and a distribution unit that distributes the plurality of first division data to the plurality of transmission units;
A calculation unit that calculates a transmission processing time rate that is a ratio of a transmission processing time required for the plurality of transmission units to transmit the first data to the first communication device in an arbitrary period; ,
The distribution unit includes a determination unit that determines, based on the transmission processing time ratio, a number of the plurality of second divided data generated by dividing the second data to be distributed to the number of the transmission units. ,
The distribution unit distributes the plurality of second divided data to the number of transmission units determined by the determination unit.
前記決定部は、前記送信処理時間率が所定の閾値より小さい場合に、前記分配部が第1分割データを分配した数と同じ個数の送信部に、前記第2の分割データを分配することを決定することを特徴とする請求項6記載の通信装置。   The determining unit distributes the second divided data to the same number of transmitting units as the number of distributions of the first divided data by the distributing unit when the transmission processing time rate is smaller than a predetermined threshold. The communication device according to claim 6, wherein the communication device is determined. 前記決定部は、前記送信処理時間率が所定の閾値より大きい場合に、前記分割部が第1分割データを分割した数より大きい個数の送信部に、前記第2の分割データを分配することを決定することを特徴とする請求項7記載の通信装置。   The determining unit distributes the second divided data to a larger number of transmitting units than the number obtained by dividing the first divided data when the transmission processing time rate is larger than a predetermined threshold. The communication device according to claim 7, wherein the communication device is determined. 複数の前記送信部が一定時間に送信したデータの量である送信レートを測定する送信レート測定部を更に備え、
前記決定部は、前記送信処理時間率及び前記送信レートに基づき、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項8記載の通信装置。
A transmission rate measuring unit that measures a transmission rate that is an amount of data transmitted by the plurality of transmitting units in a certain period of time;
9. The communication apparatus according to claim 8, wherein the determination unit determines how many transmission units the second divided data is distributed based on the transmission processing time rate and the transmission rate.
過去に、前記分配部が、データを分配した前記送信部の個数と、当該個数の送信部が一定時間に送信したデータの量である送信レートとの対応関係を記憶する記憶部を更に備え、
前記決定部は、前記送信処理時間率が所定の閾値より大きい場合に、前記分配部が前記第1分割データを分配した送信部の個数と、前記測定部が測定した第1データを送信しているときの複数の前記送信部の送信レートとの対応関係に基づき、前記記憶部が記憶する前記対応関係を更新するとともに、更新後の対応関係に基づき、前記分配部が、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項9記載の通信装置。
In the past, the distribution unit further includes a storage unit that stores a correspondence relationship between the number of the transmission units to which the data has been distributed and a transmission rate that is the amount of data transmitted by the number of transmission units in a certain period of time.
The determination unit transmits the number of transmission units to which the distribution unit has distributed the first divided data and the first data measured by the measurement unit when the transmission processing time rate is greater than a predetermined threshold. And updating the correspondence relationship stored in the storage unit based on the correspondence relationship with the transmission rates of the plurality of transmission units when the distribution unit is configured to update the second division. 10. The communication apparatus according to claim 9, wherein the number of transmission units to which data is distributed is determined.
前記決定部は、更新後の対応関係において、前記分配部が、データを分配した前記送信部の個数の増加に対する前記送信レートの増加の大きさに基づいて、前記分配部が、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項10記載の通信装置。   In the correspondence relationship after the update, the determination unit determines whether the distribution unit determines the second transmission rate based on the increase in the transmission rate with respect to the increase in the number of the transmission units to which the distribution unit has distributed data. The communication apparatus according to claim 10, wherein the number of transmission units to which the divided data is distributed is determined. 前記決定部は、更新後の対応関係において、前記記憶部が記憶するすべての対応関係が、データを分配した前記送信部の個数の増加に対する前記送信レートの増加の大きさが所定値より大きい場合に、前記分配部が、前記第2の分割データを、分配する送信部の個数を、前記記憶部に記憶している個数より大きな数とする請求項11記載の通信装置。   In the updated correspondence relationship, the determination unit has a case in which all correspondence relationships stored in the storage unit are larger in magnitude of the increase in the transmission rate with respect to the increase in the number of the transmission units to which data is distributed. The communication device according to claim 11, wherein the distribution unit distributes the second divided data with a larger number of transmission units than the number stored in the storage unit. 前記決定部は、更新後の対応関係において、前記分配部が、データを分配した前記送信部の個数の増加に対する前記送信レートの増加の大きさが所定値未満となる対応関係がある場合に、前記所定値未満となる対応関係の前後の個数に基づいて、前記分配部が、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項12記載の通信装置。   In the correspondence after the update, when the distribution unit has a correspondence in which the magnitude of the increase in the transmission rate with respect to the increase in the number of the transmission units to which the data has been distributed is less than a predetermined value, 13. The distribution unit determines how many transmission units the second divided data is distributed based on the number before and after the correspondence that is less than the predetermined value. Communication equipment. 前記決定部は、更新後の対応関係において、前記分配部が、データを分配した前記送信部の個数の増加に対して前記送信レートが変化しない対応関係がある場合に、前記変化しない対応関係の前後の個数に基づいて、前記分配部が、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項13記載の通信装置。   The determining unit, in the updated correspondence relationship, when the distribution unit has a correspondence relationship in which the transmission rate does not change with respect to an increase in the number of the transmission units to which data has been distributed, 14. The communication apparatus according to claim 13, wherein the distribution unit determines how many transmission units the second divided data is distributed based on the number of front and rear. 前記決定部は、更新後の対応関係において、前記分配部が、データを分配した前記送信部の個数の増加に対して前記送信レートが減少する対応関係がある場合に、前記減少する対応関係の前後の個数に基づいて、前記分配部が、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項14記載の通信装置。   In the updated correspondence relationship, the determination unit has a correspondence relationship in which the transmission unit decreases when the transmission rate decreases with respect to an increase in the number of the transmission units to which the data has been distributed. The communication device according to claim 14, wherein the distribution unit determines how many transmission units the second divided data is distributed based on the number of front and rear. 更に、前記複数の送信部が一定時間に送信した前記第1のデータの量を示す送信レートを測定する送信レート測定部を備え、
前記決定部は、前記送信レートを前記送信処理時間率で割った値に基づき、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項6記載の通信装置。
And a transmission rate measuring unit that measures a transmission rate indicating the amount of the first data transmitted by the plurality of transmitting units in a certain time period,
The said determination part determines how many transmission parts distribute the said 2nd division | segmentation data based on the value which divided the said transmission rate by the said transmission processing time rate. Communication equipment.
過去に、前記分配部が、データを分配した前記送信部の個数と、前記個数の送信部を用いてデータを送信したときの送信レートを送信処理時間率で割った値との対応関係記憶する記憶部を更に備え、
前記決定部は、前記分配部が前記第1データを分配した送信部の個数と、前記測定部が測定した第1データを送信している時の複数の前記送信部の送信レートを送信処理時間で割った値との対応関係に基づき、前記記憶部が記憶する対応関係を更新するとともに、更新後の対応関係に基づき、前記分配部が、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項16記載の通信装置。
In the past, the distribution unit stores the correspondence between the number of the transmission units that have distributed data and the value obtained by dividing the transmission rate when the data is transmitted using the number of transmission units by the transmission processing time rate. A storage unit;
The determination unit determines the number of transmission units to which the distribution unit has distributed the first data and the transmission rates of the plurality of transmission units when transmitting the first data measured by the measurement unit. Based on the correspondence relationship with the value divided by the number, the correspondence relationship stored in the storage unit is updated, and on the basis of the updated correspondence relationship, the distribution unit converts the second divided data into the number of transmission units. The communication device according to claim 16, wherein it is determined whether or not to distribute the data.
前記決定部は、更新後の対応関係において、前記分配部が、データを分配した前記送信部の個数の増加に対する前記送信レートを送信処理時間率で割った値との対応関係に基づき、前記分配部が、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項17記載の通信装置。   The determination unit, based on the correspondence relationship with the value obtained by dividing the transmission rate by the transmission processing time rate with respect to an increase in the number of the transmission units to which the distribution unit has distributed data in the correspondence relationship after the update. 18. The communication apparatus according to claim 17, wherein the unit determines how many transmission units the second divided data is distributed to. 前記決定部は、更新後の対応関係において、前記分配部が、データを分配した前記送信部の個数の増加に対する前記送信レートを送信処理時間率で割った値の増加の大きさが所定値より大きい場合に、前記分配部が、前記第2の分割データを、分配する送信部の個数を、前記記憶部に記憶している個数より大きな数とする請求項18記載の通信装置。   In the correspondence relationship after the update, the determination unit is configured such that an increase in a value obtained by dividing the transmission rate by a transmission processing time rate with respect to an increase in the number of the transmission units to which the distribution unit has distributed data is greater than a predetermined value. 19. The communication apparatus according to claim 18, wherein when the distribution unit is larger, the distribution unit sets the number of transmission units to distribute the second divided data to a number larger than the number stored in the storage unit. 前記決定部は、更新後の対応関係において、前記分配部が、データを分配した前記送信部の個数の増加に対する前記送信レートを送信処理時間率で割った値の増加の大きさが所定値未満となる対応関係がある場合に、前記所定値未満となる対応関係の前後の個数に基づいて、前記分配部が、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項19記載の通信装置。   In the correspondence relationship after the update, the determination unit is less than a predetermined value in an increase in a value obtained by dividing the transmission rate by a transmission processing time rate with respect to an increase in the number of the transmission units to which the distribution unit has distributed data. When there is a corresponding relationship, the distribution unit determines how many transmission units the second divided data is distributed based on the number of correspondences that are less than the predetermined value. The communication device according to claim 19. 前記決定部は、更新後の対応関係において、前記分配部が、データを分配した前記送信部の個数の増加に対して前記送信レートを送信処理時間率で割った値が変化しない対応関係がある場合に、前記変化しない対応関係の前後の個数に基づいて、前記分配部が、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項19記載の通信装置。   The determination unit has a correspondence relationship in which the value obtained by dividing the transmission rate by the transmission processing time rate does not change with respect to an increase in the number of the transmission units to which the distribution unit has distributed data in the correspondence relationship after the update. In this case, the distribution unit determines how many transmission units the second divided data is distributed based on the numbers before and after the unchanged correspondence. Communication equipment. 前記決定部は、更新後の対応関係において、前記分配部が、データを分配した前記送信部の個数の増加に対する前記送信レートを送信処理時間率で割った値が減少する対応関係がある場合に、前記減少する対応関係の前後の個数に基づいて、前記分配部が、前記第2の分割データを、何個の送信部に分配するかを決定することを特徴とする請求項19記載の通信装置。   The determination unit has a correspondence relationship in which the value obtained by dividing the transmission rate by the transmission processing time rate with respect to an increase in the number of the transmission units to which the distribution unit has distributed data is reduced in the correspondence relationship after the update. 20. The communication according to claim 19, wherein, based on the numbers before and after the decreasing correspondence, the distribution unit determines how many transmission units the second divided data is distributed to. apparatus. ネットワークを介して接続された第1の通信装置との間で通信を行う装置を制御するプログラムであって、
第1の接続を確立するための処理を行うとともに、前記第1の通信装置と前記第1の接続を確立した場合に、第1の伝送方式で通信を行う第1の通信機能と、
第2の接続を確立するための処理を行うとともに、前記第1の通信装置と前記第2の接続を確立した場合に、第2の伝送方式で通信を行う第2の通信機能と、
前記第1の通信機能が前記第1の接続を確立するための処理を行うタイミングと、前記第2の通信機能が前記第2の接続を確立するための処理を行うタイミングとが重複する様に、前記第1の通信機能に対して前記第1の接続を確立するための処理を行うように第1の指示を出すとともに、前記第2の通信機能に対して前記第2の接続を確立するための処理を行うように第2の指示を出す指示機能と、
分配機能と、を備え、
前記第1の通信機能は、前記第1の接続を確立するための処理を完了した場合に、前記分配機能に第1メッセージを通知し、
前記第2の通信機能は、前記第2の接続を確立するための処理を完了した場合に、前記分配機能に第2メッセージを通知し、
前記分配機能は、前記送信データを、通信に用いるすべての接続の確立を最初に完了した前記第1の通信機能又は前記第2の通信機能のいずれか一方に分配するとともに、前記第1の通信機能が最初に前記第1の接続を確立するための処理を完了した場合に、前記第1の通信機能に前記送信データを分配するとともに、前記第2の通信機能が前記第2の接続の確立するための処理を完了後、前記送信データの分配先を前記第1の通信機能から前記第2の通信機能に切り替えることを特徴とする
プログラム。
A program for controlling a device that communicates with a first communication device connected via a network,
A first communication function for performing a process for establishing a first connection and performing communication in a first transmission method when the first connection with the first communication device is established;
A second communication function for performing a process for establishing a second connection and performing communication in a second transmission method when the second connection is established with the first communication device;
The timing at which the first communication function performs processing for establishing the first connection and the timing at which the second communication function performs processing for establishing the second connection overlap. Instructing the first communication function to perform the process for establishing the first connection, and establishing the second connection for the second communication function An instruction function for issuing a second instruction to perform processing for
A distribution function,
When the first communication function completes the process for establishing the first connection, the first communication function notifies the distribution function of a first message;
When the second communication function completes the process for establishing the second connection, the second communication function notifies the distribution function of a second message;
The distribution function distributes the transmission data to either the first communication function or the second communication function that has first completed establishment of all connections used for communication, and the first communication. When the function first completes the process for establishing the first connection, the transmission data is distributed to the first communication function, and the second communication function establishes the second connection. A program for switching the distribution destination of the transmission data from the first communication function to the second communication function after completion of the processing for performing the processing.
ネットワークを介して接続された第1の通信装置と通信を行う装置を制御するプログラムであって、
複数の送信機能と、
第1のデータを分割することにより複数の第1分割データを生成するとともに、前記複数の第1分割データを、前記複数の送信機能に分配する分配機能と、
前記複数の送信機能が、第1期間の中で、前記第1のデータを前記第1の通信装置に送信するために要した送信処理時間の割合である送信処理時間率を算出する算出機能と、
前記送信処理時間率に基づき、前記分配機能が、第2のデータを分割して生成する複数の第2の分割データを、前記複数の送信機能のうち、何個の送信機能に分配するかを決定する決定機能とを備え、
前記分配機能は、前記複数の第2の分割データを、前記決定機能が決定した数の送信機能に分配することを特徴とする
プログラム。
A program for controlling a device that communicates with a first communication device connected via a network,
Multiple sending functions,
A distribution function for dividing the first data to generate a plurality of first divided data and distributing the plurality of first divided data to the plurality of transmission functions;
A calculation function in which the plurality of transmission functions calculate a transmission processing time ratio that is a ratio of a transmission processing time required to transmit the first data to the first communication device in the first period; ,
Based on the transmission processing time rate, the distribution function distributes a plurality of second divided data generated by dividing the second data to the number of transmission functions among the plurality of transmission functions. With a decision function to decide,
The distribution function distributes the plurality of second divided data to the number of transmission functions determined by the determination function.
JP2012192661A 2012-08-31 2012-08-31 system Active JP5771169B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012192661A JP5771169B2 (en) 2012-08-31 2012-08-31 system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012192661A JP5771169B2 (en) 2012-08-31 2012-08-31 system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015061711A Division JP5933064B2 (en) 2015-03-24 2015-03-24 Communication apparatus and program

Publications (2)

Publication Number Publication Date
JP2014049995A true JP2014049995A (en) 2014-03-17
JP5771169B2 JP5771169B2 (en) 2015-08-26

Family

ID=50609229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012192661A Active JP5771169B2 (en) 2012-08-31 2012-08-31 system

Country Status (1)

Country Link
JP (1) JP5771169B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020099844A1 (en) * 2000-08-23 2002-07-25 International Business Machines Corporation Load balancing and dynamic control of multiple data streams in a network
JP2009526483A (en) * 2006-02-09 2009-07-16 テルコーディア テクノロジーズ インコーポレイテッド A method for adaptive seamless mobility of multimedia communication sessions
JP2012134989A (en) * 2007-02-21 2012-07-12 Qualcomm Inc Wireless node search procedure
JP2013081004A (en) * 2011-09-30 2013-05-02 Toshiba Corp Server, server control method, and server control program
JP2013175938A (en) * 2012-02-24 2013-09-05 Ntt Communications Kk Communication apparatus, communication method and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020099844A1 (en) * 2000-08-23 2002-07-25 International Business Machines Corporation Load balancing and dynamic control of multiple data streams in a network
JP2009526483A (en) * 2006-02-09 2009-07-16 テルコーディア テクノロジーズ インコーポレイテッド A method for adaptive seamless mobility of multimedia communication sessions
JP2012134989A (en) * 2007-02-21 2012-07-12 Qualcomm Inc Wireless node search procedure
JP2013081004A (en) * 2011-09-30 2013-05-02 Toshiba Corp Server, server control method, and server control program
JP2013175938A (en) * 2012-02-24 2013-09-05 Ntt Communications Kk Communication apparatus, communication method and program

Also Published As

Publication number Publication date
JP5771169B2 (en) 2015-08-26

Similar Documents

Publication Publication Date Title
JP7154399B2 (en) DATA TRANSMISSION METHOD, APPARATUS, COMPUTER-READABLE MEDIUM AND ELECTRONIC DEVICE
US20160269302A1 (en) System and method for improving tcp performance in virtualized environments
US7254620B2 (en) Storage system
JPWO2011074630A1 (en) Load distribution system, load distribution method, apparatus and program constituting load distribution system
JP6648893B2 (en) Provide functional requirements for network connection from local library
JP6037251B2 (en) Method, device, and system for controlling network paths
KR101426217B1 (en) Reducing the maximum latency of reserved streams
US8838782B2 (en) Network protocol processing system and network protocol processing method
JP5437290B2 (en) Service distribution method, service distribution device, and program
JP5933064B2 (en) Communication apparatus and program
JP5771169B2 (en) system
JP4750538B2 (en) Terminal device, wireless communication method, and wireless communication program
JP2018064187A (en) Communication device, communication method, and program
JP5935602B2 (en) Transfer device, transfer method, and transfer program
US9450863B2 (en) Route request mediation apparatus, control apparatus, route request mediation method and program
JP5613710B2 (en) Server terminal, screen transfer system, and screen transfer method
JP6758858B2 (en) Communication equipment, communication methods and programs
JP2014170379A (en) Information equipment, printing system, computer program and data transfer method
JP7051396B2 (en) Communication equipment, communication methods, and programs
CN109688085B (en) Transmission control protocol proxy method, storage medium and server
JP6488557B2 (en) Communication control system, communication system, communication control method, and communication control program
WO2020184381A1 (en) Processing device, information processing system, information processing method, and program
JP7456603B2 (en) switch device
JP2018170680A (en) Communication device and transmission control method
JP6568571B2 (en) Data transfer device, data transfer method, and communication device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150123

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20150216

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150218

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20150317

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150324

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150317

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150626

R151 Written notification of patent or utility model registration

Ref document number: 5771169

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151