Communication path switching method, communication path switching device, communication path switching system, and program

The communication path switching method and device pseudo-detect packet loss using TCP accelerators to improve throughput in networks with varying latency and speed, optimizing channel usage and maintaining connectivity.

JP7619457B2Active Publication Date: 2025-01-22NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023531307
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-07-01
Publication Date
2025-01-22
Estimated Expiration
2041-07-01

AI Technical Summary

Technical Problem

In networks with high latency and packet loss, such as underwater acoustic wave communication and optical wireless communication, conventional TCP congestion control methods fail to achieve optimal throughput due to significant changes in communication speed and delay status, leading to inefficient use of physical transmission capacity.

Method used

A communication path switching method and device that utilizes a TCP accelerator to pseudo-detect packet loss by retransmitting acknowledgment signals, allowing seamless switching between low-latency/high-speed and high-latency/low-speed communication paths to maintain throughput.

Benefits of technology

This approach enhances TCP communication throughput by adapting to varying communication speeds and delays, ensuring efficient use of the communication channel's physical capacity and enabling redundant communication paths to maintain connectivity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007619457000001
    Figure 0007619457000001
  • Figure 0007619457000002
    Figure 0007619457000002
  • Figure 0007619457000003
    Figure 0007619457000003
Patent Text Reader

Abstract

The purpose of the present disclosure is to provide a communication path switching method which improves the throughput of TCP communication when switching between a first communication path that is at least one among a low-delay path and a high-speed path and a second communication path that is at least one among a high-delay path and a low-speed path. The communication path switching method according to the present disclosure performs switching to a first communication path or a second communication path by using the operation of a TCP accelerator, in a communication path switching system having a terminal that performs TCP communication by switching between the first communication path that is at least one among a low-delay and a high-speed path and the second communication path that is at least one among a high-delay path and a low-speed path, the method involving: receiving data from the terminal; and retransmitting, to the terminal, an acknowledgment signal last transmitted before the switching, when the data is received for the first time after switching from the first communication channel to the second communication channel.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a communication path switching method, a communication path switching device, a communication path switching system, and a program for improving the throughput of communication between terminals when switching between communication paths having a difference in transmission speed. [Background technology]

[0002] TCP (Transmission Control Protocol) has a congestion control function that adjusts throughput according to the state of the communication path. It is known that this congestion control function has difficulty achieving optimal throughput in networks with high latency or packet loss.

[0003] To address this issue, TCP accelerators are known as a method to improve TCP throughput without changing the TCP algorithm of end terminals. TCP accelerators are installed in networks with high latency and packet loss, and while allowing TCP communications to pass transparently, they separate the network for congestion control and implement appropriate control for each, thereby achieving high TCP throughput even with high latency and packet loss.

[0004] For example, in a network with high latency, the throughput can be improved by widening the congestion window. For example, in a network with a lot of packet loss, the TCP accelerator can handle retransmission control, making it harder for the transmitter to detect packet loss, and improving the throughput. [Prior art documents] [Non-patent literature]

[0005] [Non-Patent Document 1] Wolf, Tilman, Shulin You, and Ramaswamy Ramaswamy. “Transparent TCP acceleration through network processing.” GLOBECOM'05. IEEE Global Telecommunications Conference, 2005.. Vol. 2. IEEE, 2005. Summary of the Invention [Problem to be solved by the invention]

[0006] On the other hand, when considering underwater communication networks, possible communication media include acoustic communication, which is slow and has high latency but highly available, or optical wireless communication, which is fast and has low latency but is prone to momentary communication interruptions due to its low diffraction properties.

[0007] If we imagine a network that switches between low-speed, high-latency communication means such as acoustic communication and high-speed, low-latency communication means such as optical wireless communication as a redundant configuration, one possible method would be to switch to the slower, high-latency communication means in favor of the faster, lower-latency communication means.

[0008] When TCP is used in this switching method, packet loss is unlikely to occur, but the communication speed changes significantly and the delay state changes frequently. Since such a communication path does not have packet loss or a constant high delay state, there was an issue that TCP congestion control and conventional TCP accelerators could not achieve sufficient TCP throughput for the physical transmission capacity of the communication path.

[0009] In order to solve the above problems, the present invention aims to provide a communication path switching method, a communication path switching device, a communication path switching system, and a program that improve the throughput of TCP communication when switching between a first communication path that is at least one of low latency and high speed, and a second communication path that is at least one of high latency and low speed. [Means for solving the problem]

[0010] In order to achieve the above object, the communication path switching method, communication path switching device, communication path switching system, and program disclosed herein utilize the operation of a TCP accelerator to cause a terminal to simulate packet loss.

[0011] Specifically, the communication path switching method according to the present disclosure includes: A communication path switching system having a terminal that performs TCP communication by switching between a first communication path that is at least one of low latency and high speed and a second communication path that is at least one of high latency and low speed, comprising: a communication path switching method for switching between the first communication path or the second communication path by utilizing an operation of a TCP accelerator, comprising: receiving data from the terminal; When the data is received for the first time after the first communication path is switched to the second communication path, the acknowledgement signal that was last transmitted before the switching is transmitted again to the terminal.

[0012] Specifically, the communication path switching device according to the present disclosure includes: A communication path switching system having a terminal that performs TCP communication by switching between a first communication path that is at least one of low latency and high speed and a second communication path that is at least one of high latency and low speed, the communication path switching device switching between the first communication path or the second communication path by utilizing an operation of a TCP accelerator, A data receiving unit for receiving data from the terminal; and a TCP termination unit which, when the data receiving unit receives the data for the first time after switching from the first communication path to the second communication path, retransmits to the terminal the acknowledgement signal which was last transmitted before the switching.

[0013] Specifically, the communication path switching system according to the present disclosure includes: The communication path switching device includes the first communication path, the second communication path, and the terminal.

[0014] Specifically, the program according to the present disclosure causes a computer to function as the communication path switching device.

[0015] The communication path switching method, communication path switching device, communication path switching system, and program disclosed herein utilize the operation of a TCP accelerator to cause a terminal to simulate packet loss, thereby improving the throughput of TCP communication when switching between a first communication path which is at least one of low latency and high speed, and a second communication path which is at least one of high latency and low speed.

[0016] The above-mentioned inventions can be combined as much as possible. Effect of the Invention

[0017] According to the present disclosure, it is possible to provide a communication path switching method, a communication path switching device, a communication path switching system, and a program that improve the throughput of TCP communication when switching between a first communication path that is at least one of low latency and high speed and a second communication path that is at least one of high latency and low speed. [Brief description of the drawings]

[0018] [Figure 1] 1 shows an example of a schematic configuration of a communication path switching system according to the present invention. [Diagram 2] 1 shows an example of a schematic configuration of a communication path switching and TCP congestion control termination device according to the present invention. [Diagram 3] 1 shows an example of a schematic configuration of a communication path switching device according to the present invention. [Figure 4] 1 shows an example of the operation of the communication path switching system according to the present invention. [Diagram 5] FIG. 2 is a diagram illustrating a program according to the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] Hereinafter, the embodiments of the present disclosure will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments shown below. These implementation examples are merely illustrative, and the present disclosure can be implemented in various forms with various modifications and improvements based on the knowledge of those skilled in the art. Note that components with the same reference numerals in this specification and drawings are assumed to indicate the same components.

[0020] (Embodiment 1) 1(a), (b), and (c) show an example of a schematic configuration of a communication path switching system 50 according to this embodiment. The communication path switching system 50 includes a first communication path 21, a second communication path 22, and a terminal 30. The communication path switching system 50 also includes at least one of a communication path switching and TCP congestion control termination device 10a and a communication path switching device 10b.

[0021] The first communication path 21 is a low-latency or high-speed communication path, or a low-latency and high-speed communication path. For example, it may be optical wireless communication.

[0022] The second communication path 22 is a communication path with high latency or low speed, or a communication path with high latency and low speed. For example, it may be an acoustic communication path. The second communication path 22 may be a redundant communication path of the first communication path 21, and the first communication path 21 may be used preferentially over the second communication path 22. The communication path switching system 50 may include three or more communication paths.

[0023] The terminals 30 perform TCP communication with each other via the first communication path 21 or the second communication path 22. Hereinafter, a terminal performing TCP communication will be referred to as a TCP terminal 30.

[0024] The communication path switching device 10b is connected to one end of each of the first communication path 21 and the second communication path 22, and monitors the first communication path 21 and the second communication path 22 and switches between them, as described later.

[0025] The communication path switching and TCP congestion control termination device 10a is a device obtained by adding a function of terminating TCP congestion control to the communication path switching device 10b. Here, the function of terminating TCP congestion control is a function of transmitting an acknowledgment signal (ACK) when data is received and a duplicate acknowledgment signal (duplicate ACK) when a packet loss occurs to the TCP terminal 30 that transmitted the data, instead of the TCP terminal 30 that receives the data. An example of a device having a function of terminating TCP congestion control is a TCP accelerator. By using the communication path switching information, the communication path switching and TCP congestion control termination device 10a can quickly transition the TCP congestion control termination function to control suited to the characteristics of the route, and can also implement control suited to the transitional state.

[0026] As shown in Figures 1(a) to 1(c), the communication path switching system 50 may include a communication path switching and TCP congestion control termination device 10a at both ends of the first communication path 21 and the second communication path 22, or may include a communication path switching and TCP congestion control termination device 10a at one end and a communication path switching device 10b at the other end. The communication path switching system 50 may also include a communication path switching and TCP congestion control termination device 10a or a communication path switching device 10b only at one end of the first communication path 21 and the second communication path 22. In this case, it is preferable that the communication path switching system 50 includes a communication path switching and TCP congestion control termination device 10a or a communication path switching device 10b at one end of the first communication path 21 and the second communication path 22 on the TCP terminal 30 side that serves as a transmitter.

[0027] The configuration of the communication path switching and TCP congestion control termination device 10a according to this embodiment is shown in Fig. 2. The communication path switching and TCP congestion control termination device 10a according to this embodiment includes a data transmission / reception unit 11 (TCP terminal) that has reachability to a TCP terminal, a data transmission / reception unit 12 (first communication path) that is connected to a first communication path 21 or has reachability to the first communication path 21, a data transmission / reception unit 13 (second communication path) that is connected to a second communication path 22 or has reachability to the second communication path 22, and a data transmission / reception unit 12 (first communication path) and the data transmission / reception unit 13 (second communication path). ), a TCP termination unit 17 connected to both the data transmission / reception unit 11 (TCP terminal) and the communication path switching unit 16 and terminating the TCP communication passing through, a communication path monitoring unit 15 monitoring the communication status and communication path status of the data transmission / reception unit 12 (first communication path) and the data transmission / reception unit 13 (second communication path) directly or indirectly in cooperation with an external system, and a control unit 14 controlling the communication path switching unit 16 and the TCP termination unit 17 based on information from the communication path monitoring unit 15.

[0028] The configuration of the communication path switching device 10b according to this embodiment is shown in Fig. 3. The communication path switching device 10b according to this embodiment is characterized in that the TCP termination unit 17 is removed from the communication path switching device 10a, and the data transmission / reception unit 11 (TCP terminal) and the communication path switching unit 16 are directly connected.

[0029] The operation of the communication path switching system 50 and the communication path switching device 10 according to the present embodiment will be described with reference to FIG.

[0030] 4 is a sequence diagram showing the operation when TCP terminals 30 performing TCP communication using the first communication path 21 switch to the second communication path 22 midway and perform TCP communication in the communication path switching system 50. Hereinafter, the TCP terminal 30 that transmits data is referred to as the transmitter 30a, and the TCP terminal 30 that receives the data is referred to as the receiver 30b. The transmitter 30a may further include the functions of the receiver 30b. The receiver 30b may further include the functions of the transmitter 30a.

[0031] The communication path switching and TCP congestion control termination device 10a, whose operation is shown in FIG. 4, is installed between the transmitter 30a and the first communication path 21 and the second communication path 22 in the communication path switching system 50.

[0032] In Fig. 4, the number on the arrow line from the transmitter 30a to the communication path switching and TCP congestion control termination device 10a indicates the sequence number of the data transmitted by the transmitter 30a. In Fig. 4, the number on the arrow line from the communication path switching and TCP congestion control termination device 10a to the transmitter 30a indicates the acknowledgement number for the data transmitted by the transmitter 30a. The number on the arrow line from the communication path switching and TCP congestion control termination device 10a to the receiver 30b indicates the sequence number of the data transmitted from the communication path switching and TCP congestion control termination device 10a to the receiver 30b.

[0033] In Fig. 4, the transmitter 30a and the receiver 30b communicating using the first communication path 21 is represented by an arrow from the communication path switching and TCP congestion control termination device 10a to the receiver 30b passing through the first communication path 21. Similarly, in Fig. 4, the transmitter 30a and the receiver 30b communicating using the second communication path 22 is represented by an arrow from the communication path switching and TCP congestion control termination device 10a to the receiver 30b passing through the second communication path 22.

[0034] The communication path monitoring unit 15 monitors the first communication path 21 and the second communication path 22 directly using the data transmission / reception unit 12 (first communication path) and the data transmission / reception unit 13 (second communication path) or indirectly using an external system. For example, in order to quickly detect the connection and disconnection of the communication paths, the communication path monitoring unit 15 may monitor the physical state of each communication path using the data transmission / reception unit 12 (first communication path) and the data transmission / reception unit 13 (second communication path), or may transmit a communication path alive monitoring signal and monitor the signal.

[0035] In particular, by directly monitoring the data transmission / reception unit 12 (first communication path) directly connected to the first communication path 21 or the data transmission / reception unit 13 (second communication path) directly connected to the second communication path 22, it is possible to detect the communication state or disconnection state of each communication path without delay. This allows the operation of the communication path switching unit and the processing in the TCP termination unit 17 described later to be performed without delay, thereby enhancing the effect of this system.

[0036] In order to detect a delay state of a communication path, the communication path monitoring unit 15 may transmit a response request signal to each communication path and receive an acknowledgment response signal based on the response request signal, and obtain a round-trip delay time from the transmission time of the response request signal and the reception time of the acknowledgment response signal based on the response request signal, thereby obtaining a delay time of the communication path. When the communication path monitoring unit 15 receives a response request signal, it may transmit an acknowledgment response signal based on the response request signal.

[0037] 4, data with sequence numbers 1 to 3 are transmitted via normal TCP from the transmitter 30a to the receiver 30b. Specifically, this may be performed as follows.

[0038] The transmitter 30a transmits data with a sequence number to the receiver 30b. In FIG. 4, the sequence number of the data transmitted by the transmitter 30a starts from 1. The transmitter 30a preferably controls the transmission speed by TCP congestion control. For example, when the transmitter 30a receives a duplicate ACK, the transmitter 30a may detect a packet loss and reduce the transmission speed. The reduction in the transmission speed is a reduction in the amount of data transmitted per unit time. For example, the data transmission interval of the transmitter 30a may be increased, or the amount of data per transmission by the transmitter 30a may be reduced, or both may be performed. In this embodiment, the transmission speed is reduced by increasing the data transmission interval of the transmitter 30a.

[0039] The data transmitter / receiver 11 (TCP terminal) receives data from the transmitter 30a.

[0040] The TCP termination unit 17 stores data received by the data transmission / reception unit 11 (TCP terminal). If the data received by the data transmission / reception unit 11 (TCP terminal) has already been stored, the TCP termination unit 17 may discard the received data.

[0041] The data transmitter / receiver 12 (first communication path) or the data transmitter / receiver 13 (second communication path) transmits the data stored in the TCP termination unit 17 to the receiver 30b. It is preferable that the data transmitter / receiver 12 (first communication path) or the data transmitter / receiver 13 (second communication path) transmit the data to the receiver 30b without delay. Also, the data may be transmitted in accordance with the reception timing of the receiver 30b.

[0042] When the data transmitter / receiver 11 (TCP terminal) receives data, the TCP termination unit 17 transmits an acknowledgment signal (ACK) with an acknowledgment number to the transmitter 30a. The acknowledgment number may be a number obtained by adding the data size of the received data to the sequence number. In this embodiment, as shown in FIG. 4, the acknowledgment number is the sequence number plus 1, but is not limited to this.

[0043] Next, a case will be described in which the transmitter 30a transmits data with sequence number 4 or later, that is, the transmitter 30a and the receiver 30b perform TCP communication using the second communication path 22. In this embodiment, a case will be described in which the communication path switching and TCP congestion control termination device 10a switches from the first communication path 21 to the second communication path 22 after receiving data with sequence number 3 and before receiving data with sequence number 4.

[0044] When the communication path switching unit 16 detects that the first communication path 21 has become unavailable, etc., based on the monitoring result of the communication path monitoring unit 15 under the control of the control unit 14, the communication path switching unit 16 switches the communication path used by the transmitter 30a and the receiver 30b for communication from the first communication path 21 to the second communication path 22. When the first communication path 21 is available, the communication path switching unit 16 may preferentially switch to the first communication path 21. Note that the switching from the first communication path 21 to the second communication path 22 may be performed by another device.

[0045] After switching from the first communication path 21 to the second communication path 22 under the control of the control unit 14, when the data transmission / reception unit 11 (TCP terminal) receives data from the transmitter 30a for the first time, the TCP termination unit 17 transmits again to the transmitter 30a the acknowledgement signal that was last transmitted before switching from the first communication path 21 to the second communication path 22. In FIG. 4, the acknowledgement number of the acknowledgement signal that was last transmitted before switching from the first communication path 21 to the second communication path 22 is 4, so when data with sequence number 4 is received from the transmitter 30a, the TCP termination unit 17 transmits again to the transmitter 30a the acknowledgement signal with acknowledgement number 4. This acknowledgement signal may be a selective acknowledgment signal (SACK). In this way, the TCP termination unit 17 causes the transmitter 30a to detect in a pseudo manner that a packet loss has occurred.

[0046] When the transmitter 30a receives a duplicated acknowledgment signal twice in succession, it may detect that a packet loss has occurred, retransmit data with the same sequence number as the acknowledgment number of the duplicated acknowledgment signal, and may also reduce the transmission speed. In FIG. 4, the transmitter 30a receives an acknowledgment signal with acknowledgment number 4 twice in succession, so after receiving the second acknowledgment signal with acknowledgment number 4, it retransmits data again in sequence number order with a transmission interval from data with sequence number 4. When the transmitter 30a receives a selective acknowledgment signal, it may retransmit only data with the same sequence number as the acknowledgment number indicated in the selective acknowledgment signal.

[0047] In this embodiment, the case where the acknowledgement signal is received twice in succession will be described, but the present invention is not limited thereto. For example, the transmitter 30a may detect that a packet loss has occurred when the transmitter 30a receives a duplicated acknowledgement signal three times in succession. In this case, the transmitter 30a may transmit data without reducing the transmission speed until the transmitter 30a receives a duplicated acknowledgement signal three times in succession. In addition, the TCP termination unit 17 may transmit to the transmitter 30a the acknowledgement signal that was last transmitted before switching from the first communication path 21 to the second communication path 22 when the transmitter 30a receives data for the first time and when the transmitter 30a receives data next after switching from the first communication path 21 to the second communication path 22. In this way, the TCP termination unit 17 may transmit the acknowledgment signal that was last transmitted before switching from the first communication path 21 to the second communication path 22 multiple times in succession from the time when data was first received from the transmitter 30a after switching from the first communication path 21 to the second communication path 22, depending on the number of times that the acknowledgment signal is repeated at which the transmitter 30a detects the occurrence of packet loss.

[0048] Furthermore, even if the TCP termination unit 17 remains switched from the first communication path 21 to the second communication path 22, it can repeatedly transmit duplicated acknowledgment response signals to the transmitter 30a and normal non-duplicate acknowledgment response signals within the range of the amount of data that the TCP termination unit 17 can store.

[0049] After switching from the first communication path 21 to the second communication path 22, the TCP termination unit 17 transmits a duplicated acknowledgement signal to the transmitter 30a, so that the data transmission / reception unit 11 (TCP terminal) receives duplicate data that has already been received from the transmitter 30a. Therefore, the TCP termination unit 17 may discard the received duplicate data as described above.

[0050] In FIG. 4, the transmitter 30a transmits data up to sequence number 5 before receiving the second acknowledgement signal with acknowledgement number 4, so that the data up to sequence number 5 is stored in the TCP termination unit 17 before the transmitter 30a retransmits the data after sequence number 4. As for the data with sequence numbers 4 and 5 that the transmitter 30a retransmits, the data with sequence number 4 has already been transmitted to the receiver 30b, and the data with sequence number 5 has already been stored in the TCP termination unit 17, so the TCP termination unit 17 may discard the data with sequence numbers 4 and 5 received again. Note that the TCP termination unit 17 may store the data already transmitted to the receiver 30b in preparation for packet loss in the second communication path 22. Then, when the communication path switching and TCP congestion control termination device 10a receives a duplicated acknowledgement signal from the receiver 30b, it may transmit again to the receiver 30b data with the same sequence number as the acknowledgement number of the duplicated acknowledgement signal.

[0051] In addition, when the data receiving unit 11 receives the data with sequence numbers 4 and 5 again, the TCP termination unit 17 also transmits an acknowledgment signal (acknowledgment signals with acknowledgment numbers 5 and 6 in FIG. 4) as described above.

[0052] Furthermore, the data transmitter / receiver 12 (first communication path) or the data transmitter / receiver 13 (second communication path) may transmit data stored in the TCP terminal 17 to the receiver 30b in accordance with the timing of data retransmission by the transmitter 30a. For example, the data transmitter / receiver 12 (first communication path) or the data transmitter / receiver 13 (second communication path) may discard the data of sequence number 5 that the data transmitter / receiver 11 (TCP terminal) re-receives, and transmit the data of sequence number 5 stored in the TCP terminal 17 to the receiver 30b. However, without being limited to this, the data transmitter / receiver 12 (first communication path) or the data transmitter / receiver 13 (second communication path) may transmit the data stored in the TCP terminal 17 to the receiver 30b without delay.

[0053] Some of the acknowledgement signals from the TCP termination unit 17 in response to the data sent from the transmitter 30a may be omitted.

[0054] The receiver 30b returns an acknowledgment signal to the received data to the transmitter 30a, which is terminated by the communication path switching and TCP congestion control termination device 10a. The communication path switching and TCP congestion control termination device 10a can transfer the acknowledgment signal to the transmitter 30a only when retransmission of the data is necessary. Note that the acknowledgment signal from the receiver 30b is omitted in FIG. 4.

[0055] The communication path switching device 10 of the present invention can also be realized by a computer and a program, and the program can be recorded on a recording medium or provided via a network.

[0056] As described above, according to the present disclosure, it is possible to provide a communication path switching method, a communication path switching device, a communication path switching system, and a program that utilize the operation of a TCP accelerator to cause a terminal to simulate packet loss, thereby improving the throughput of TCP communication when switching between a first communication path that is at least one of low latency and high speed, and a second communication path that is at least one of high latency and low speed.

[0057] According to the present disclosure, when switching from a first communication path to a second communication path, the throughput of the transmitter can be adapted to the slow communication path speed, and packet loss, etc. can be prevented. As a result, the physical transmission capacity of the communication path can be efficiently utilized, and the throughput can be improved.

[0058] Furthermore, according to the present disclosure, in a case where a first communication path is a main communication path and a second communication path is a redundant communication path, when the main communication path becomes inoperable, communication can be continued by switching to the redundant communication path.

[0059] It is possible to achieve redundant communication underwater using electromagnetic waves such as sound waves and optical wireless, providing communications that take advantage of the favorable characteristics of both the high speed of optical wireless and the reach of sound waves (communication uptime).

[0060] (Embodiment 2) The communication path switching device 10 can also be realized by a computer and a program, and the program can be recorded on a recording medium or provided via a network. 5 shows a block diagram of a system 100. The system 100 includes a computer 105 connected to a network 135.

[0061] Network 135 is a data communications network. Network 135 may be a private or public network and may include any or all of the following: (a) a personal area network, e.g., covering a room; (b) a local area network, e.g., covering a building; (c) a campus area network, e.g., covering a campus; (d) a metropolitan area network, e.g., covering a city; (e) a wide area network, e.g., covering an area that crosses city, regional, or national boundaries; or (f) the Internet. Communications are conducted by electronic and optical signals over network 135.

[0062] Computer 105 includes a processor 110 and a memory 115 connected to processor 110. Although computer 105 is depicted herein as a stand-alone device, it is not limited to such, but rather may be connected to other devices not shown in a distributed processing system.

[0063] Processor 110 is an electronic device made up of logic circuits that responds to and executes instructions.

[0064] The memory 115 is a tangible computer-readable storage medium in which a computer program is encoded. In this regard, the memory 115 stores data and instructions, i.e., program code, that can be read and executed by the processor 110 to control the operation of the processor 110. The memory 115 can be implemented as a random access memory (RAM), a hard drive, a read-only memory (ROM), or a combination thereof. One component of the memory 115 is a program module 120.

[0065] The program modules 120 include instructions for controlling the processor 110 to perform the processes described herein. Although operations are described herein as being performed by the computer 105 or a method or process or sub-process thereof, those operations are actually performed by the processor 110.

[0066] The term "module" is used herein to refer to a functional operation that may be embodied either as a stand-alone component or as an integrated configuration of multiple subcomponents. Thus, program module 120 may be implemented as a single module or as multiple modules operating in coordination with one another. Furthermore, although program module 120 is described herein as being installed in memory 115 and thus implemented in software, it may be implemented in any of hardware (e.g., electronic circuitry), firmware, software, or a combination thereof.

[0067] Although the program module 120 is shown as already loaded into the memory 115, it may be configured to be located on the storage device 140 for later loading into the memory 115. The storage device 140 is a tangible computer-readable storage medium that stores the program module 120. Examples of the storage device 140 include compact disks, magnetic tapes, read-only memories, optical storage media, memory units consisting of a hard drive or multiple parallel hard drives, and Universal Serial Bus (USB) flash drives. Alternatively, the storage device 140 may be a random access memory or other type of electronic storage device located in a remote storage system not shown and connected to the computer 105 via the network 135.

[0068] System 100 further includes data source 150A and data source 150B, collectively referred to herein as data sources 150, that are communicatively connected to network 135. In practice, data sources 150 may include any number of data sources, i.e., one or more data sources. Data sources 150 may include unstructured data and may include social media.

[0069] The system 100 further includes a user device 130 operated by the user 101 and connected to the computer 105 via a network 135. The user device 130 includes an input device, such as a keyboard or a voice recognition subsystem, to enable the user 101 to communicate information and command selections to the processor 110. The user device 130 further includes an output device, such as a display device or a printer or a voice synthesizer. A cursor control, such as a mouse, trackball, or touch-sensitive screen, enables the user 101 to manipulate a cursor on a display device to communicate further information and command selections to the processor 110.

[0070] The processor 110 outputs the results 122 of the execution of the program modules 120 to a user device 130. Alternatively, the processor 110 can provide the output to a storage device 125, such as a database or memory, or via a network 135 to a remote device, not shown.

[0071] For example, a program for performing the operations of the communication path switching and TCP congestion control termination device 10a shown in FIG.

[0072] The term "comprising" or "comprising" is to be interpreted as specifying the presence of the stated features, integers, steps or components, but not excluding the presence of one or more other features, integers, steps or components or groups thereof. The terms "a" and "an" are indefinite articles and therefore do not exclude embodiments having a plurality thereof.

[0073] (Other embodiments) In addition, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present invention. In short, the present invention is not limited to the above-described embodiment, and the components can be modified and embodied without departing from the scope of the present invention at the implementation stage.

[0074] In addition, various inventions can be formed by appropriately combining the multiple components disclosed in the above embodiments. For example, some components may be deleted from all the components shown in the embodiments. Furthermore, components across different embodiments may be appropriately combined.

[0075] The above-mentioned inventions can be combined as much as possible. [Industrial Applicability]

[0076] The communication path switching method, communication path switching device, communication path switching system, and program according to the present disclosure can be applied to the information and communications industry. [Explanation of symbols]

[0077] 10: Communication path switching device 11: Data transmission / reception unit (TCP terminal) 12: Data transmission / reception unit (first communication path) 13: Data transmission / reception unit (second communication path) 14: Control unit 15: Communication path monitoring unit 16: Communication path switching unit 17:TCP termination part 21: First communication channel 22: Second communication channel 30: Terminal 30a:Transmitter 30b: Receiver 50: Communication path switching system 100: System 101:User 105: Computer 110: Processor 115: Memory 120: Program module 122:Result 125: Storage device 130: User device 135: Network 140: Storage device 150: Data source

Claims

1. A communication path switching system having a terminal that performs TCP communication by switching between a first communication path that is at least one of low latency and high speed and a second communication path that is at least one of high latency and low speed, the communication path switching method being performed by a communication path switching device that utilizes an operation of a TCP accelerator to switch between the first communication path and the second communication path, comprising: an operation of the TCP accelerator is to transmit an acknowledgment response signal upon data reception to the transmitting terminal that transmitted the data, instead of the receiving terminal that receives the data via the first communication path or the second communication path; a data receiving unit of the communication path switching device receiving the data from the transmitting terminal; when the data receiving unit receives the data for the first time after switching from the first communication path to the second communication path, a TCP termination unit of the communication path switching device retransmits the acknowledgment response signal that was last transmitted before the switching to the transmitting side terminal; A communication path switching method.

2. In a communication path switching system having a terminal that performs TCP communication by switching between a first communication path that is at least one of low latency and high speed and a second communication path that is at least one of high latency and low speed, a communication path switching device that switches between the first communication path or the second communication path by utilizing an operation of a TCP accelerator, comprising: an operation of the TCP accelerator is to transmit an acknowledgment response signal upon data reception to the transmitting terminal that transmitted the data, instead of the receiving terminal that receives the data via the first communication path or the second communication path; a data receiving unit for receiving the data from the transmitting terminal; a TCP termination unit that, when the data receiving unit receives the data for the first time after switching from the first communication path to the second communication path, retransmits the acknowledgment response signal that was last transmitted before the switching to the transmitting side terminal; A communication path switching device comprising:

3. A communication path switching system comprising: the communication path switching device according to claim 2; the first communication path; the second communication path; and the terminal.

4. A program for causing a computer to function as the communication path switching device according to claim 2.

Citation Information

Patent Citations

  • Communication system

    JP2005311828A

  • Packet transmission device

    JP2015170880A