Redundant Communication Device, Method, and Program

By setting an upper limit for redundancy based on data amount and communication speed, the system optimizes data transmission to minimize delays and ensure reliability.

JP7711452B2Active Publication Date: 2025-07-23DENSO CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021108690
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-30
Publication Date
2025-07-23
Estimated Expiration
2041-06-30

AI Technical Summary

Technical Problem

Existing communication systems experience delays due to excessive redundancy levels based on estimated packet loss rates, leading to prolonged data transmission times.

Method used

A determination unit sets an upper limit for redundancy based on data amount and communication line speed to control redundant data transmission, ensuring the delay in redundant transmission does not exceed a predetermined value, and uses methods like ARQ for retransmission if necessary.

Benefits of technology

This approach suppresses delays in data transmission by optimizing redundancy levels, ensuring reliable and efficient data delivery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007711452000001
    Figure 0007711452000001
  • Figure 0007711452000002
    Figure 0007711452000002
  • Figure 0007711452000003
    Figure 0007711452000003
Patent Text Reader

Abstract

To reduce delay caused by making data redundant and transmitting the data.SOLUTION: A determination unit 14 determines an upper limit of a degree of redundancy when making data waiting for transmission redundant and transmitting the data, on the basis of an amount of the data waiting for transmission in a transmitting device and a communication speed of a communication line between a receiving device, which is a transmission destination of the data waiting for transmission, and the transmitting device. A transmitting unit 16 makes the data waiting for transmission redundant with a degree of redundancy equal to or lower than the upper limit determined by the determination unit 14, and transmits the redundant data to the receiving device via the communication line.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a redundant communication device, a redundant communication method, and a redundant communication program.

Background Art

[0002] Conventionally, there has been a technique for recovering or preventing data loss between a transmission device and a reception device. For example, a packet transmission device including an automatic packet retransmission unit configured to control retransmission of undelivered packets, an erasure encoding unit configured to add redundant packets to a data packet block, and a redundancy determination unit has been proposed. In this packet transmission device, the redundancy determination unit receives network state information and dynamically determines the amount of redundancy based on the received network state information so as to prevent retransmission of undelivered packets after error correction at the receiver (see Patent Document 1).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In the technique described in Patent Document 1, forward error correction is performed with a redundancy level corresponding to the packet loss rate estimated from the network state information. Therefore, there is a problem that the higher the packet loss rate, the larger the amount of data for redundancy, and the longer the time required to complete data transmission.

[0005] The present invention has been made in view of the above points, and an object thereof is to suppress the delay caused by redundant transmission of data.

Means for Solving the Problems

[0006] In order to achieve the above object, the redundant communication apparatus according to the present invention includes a determination unit (14) that determines an upper limit of a redundancy level when redundant-transmitting transmission-waiting data based on the data amount of the transmission-waiting data in a transmission apparatus (10) and the communication speed of a communication line (40) between a reception apparatus (20), which is the destination of the transmission-waiting data, and the transmission apparatus, and a transmission unit (16) that redundant-transmits the transmission-waiting data at a redundancy level equal to or lower than the upper limit determined by the determination unit and transmits the data to the reception apparatus via the communication line.

[0007] Further, in the redundant communication method according to the present invention, a determination unit determines an upper limit of a redundancy level when redundant-transmitting transmission-waiting data based on the data amount of the transmission-waiting data in a transmission apparatus and the communication speed of a communication line between a reception apparatus, which is the destination of the transmission-waiting data, and the transmission apparatus, and a transmission unit redundant-transmits the transmission-waiting data at a redundancy level equal to or lower than the upper limit determined by the determination unit and transmits the data to the reception apparatus via the communication line.

[0008] Further, the redundant communication program according to the present invention is a program for causing a computer to function as a determination unit that determines an upper limit of a redundancy level when redundant-transmitting transmission-waiting data based on the data amount of the transmission-waiting data in a transmission apparatus and the communication speed of a communication line between a reception apparatus, which is the destination of the transmission-waiting data, and the transmission apparatus, and a transmission unit that redundant-transmits the transmission-waiting data at a redundancy level equal to or lower than the upper limit determined by the determination unit and transmits the data to the reception apparatus via the communication line.

Effect of the Invention

[0009] According to the redundant communication apparatus, method, and program of the present invention, it is possible to suppress a delay caused by redundant-transmitting data.

Brief Description of the Drawings

[0010]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Mode for Carrying Out the Invention

[0011] Hereinafter, each embodiment will be described with reference to the drawings.

[0012] <First Embodiment> As shown in FIG. 1, the redundant communication system 100 according to the first embodiment includes a transmission device 10 and a reception device 20. The transmission device 10 and the reception device 20 are connected via a communication line 40 and transmit and receive data to each other. Note that the number of each of the transmission device 10 and the reception device 20 included in the redundant communication system 100 is not limited to the example of FIG. 1, and two or more transmission devices 10 and reception devices 20 may be included respectively.

[0013] FIG. 2 shows the hardware configuration of the transmission device 10. As shown in FIG. 2, the transmission device 10 has a CPU (Central Processing Unit) 52, a memory 54, a storage device 56, an input device 58, an output device 60, a storage medium reading device 62, and a communication I / F (Interface) 64. Each component is communicably connected to each other via a bus 66.

[0014] The memory device 56 stores a redundant communication program for executing redundant transmission processing and retransmission processing described later. The CPU 52 is a central processing unit that executes various programs and controls each component. That is, the CPU 52 reads a program from the memory device 56 and executes the program using the memory 54 as a work area. The CPU 52 controls each of the above components and performs various arithmetic processes according to the program stored in the memory device 56.

[0015] The memory 54 is composed of a RAM (Random Access Memory) and temporarily stores programs and data as a work area. The memory device 56 is composed of a ROM (Read Only Memory), an HDD (Hard Disk Drive), an SSD (Solid State Drive), etc., and stores various programs including an operating system and various data.

[0016] The input device 58 is a device for performing various inputs such as a keyboard and a mouse. The output device 60 is a device for outputting various information such as a display and a printer. By adopting a touch panel display as the output device 60, it may function as the input device 58.

[0017] The storage medium reader 62 reads data stored in various storage media such as a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, a Blu-ray disc, and a USB (Universal Serial Bus) memory, and writes data to the storage medium. The communication I / F 64 is an interface for communicating with other devices including the receiving device 20, and standards such as Ethernet (registered trademark), FDDI, or Wi-Fi (registered trademark) are used, for example.

[0018] The hardware configuration of the receiving device 20 is generally the same as that of the transmitting device 10 shown in FIG. 2, so the description thereof will be omitted. Note that a redundant communication program for executing the receiving process described later is stored in the storage device 56 of the receiving device 20.

[0019] Next, with reference to FIG. 3, a functional configuration of the transmitting device 10 according to the first embodiment will be described. As shown in FIG. 3, the transmitting device 10 includes a receiving unit 12, a determining unit 14, and a transmitting unit 16. Each functional unit is realized by the CPU 52 shown in FIG. 2.

[0020] The receiving unit 12 receives a data loss detection result (details will be described later) transmitted from the receiving device 20. The receiving unit 12 notifies the transmitted data loss detection result to the transmitting unit 16.

[0021] The determining unit 14 determines an upper limit of the redundancy degree when redundant transmitting transmission waiting data based on the data amount of the transmission waiting data in the transmitting device 10 and the communication speed of the communication line 40 between the receiving device 20, which is the transmission destination of the transmission waiting data, and the transmitting device 10. Hereinafter, transmitting data redundantly is also referred to as "redundant transmission". Specifically, the determining unit 14 determines the upper limit of the redundancy degree so that the delay of the predicted transmission completion time to the receiving device 20 in the case of redundant transmission with respect to the predicted transmission completion time to the receiving device 20 in the case of not performing redundant transmission is equal to or less than a predetermined value. The predetermined value may be a fixed value according to the application related to the data to be transmitted, or a predicted value of the delay due to retransmitting the data lost during transmission.

[0022] This will be specifically described with reference to FIG. 4. The example of FIG. 4 is a case where the predicted value of the delay due to retransmitting the data lost during transmission is set as the predetermined value. In FIG. 4, one packet is represented by one block. In FIG. 4, the time axis representing the transmission time in the transmitting device 10 and the time axis representing the reception time in the receiving device 20 are shown in correspondence. In FIG. 4, the reception timing of each packet in the receiving device 20 is represented by corresponding the block representing the packet to the time axis representing the reception time. The same applies to FIG. 9 below.

[0023] In the transmission queue of the transmission device 10, data waiting to be transmitted is stored for each packet. The determination unit 14 acquires the data volume of the data waiting to be transmitted stored in the transmission queue. Further, the determination unit 14 acquires the communication speed of the communication line 40. As the communication speed, an available bandwidth (hereinafter, also referred to as "estimated speed") representing the data volume that can be transferred per unit time, which is estimated by a conventionally known method, may be used. The determination unit 14 acquires, for example, the estimated speed estimated by the receiving device 20 from the receiving device 20. The determination unit 14 predicts the transmission completion prediction time t0 when no redundant transmission is performed based on the acquired data volume and estimated speed. Further, the determination unit 14 predicts the retransmission completion prediction time tr when a part of the data is lost and that part is retransmitted. tr - t0 is an example of the above-mentioned predetermined value.

[0024] FIG. 4 shows an example in which the final packet of the transmitted data is lost, the receiving device 20 makes a retransmission request for this lost packet (hereinafter, referred to as "lost packet") ( "NACK" in FIG. 4), and the transmission device 10 retransmits the lost packet in response to the retransmission request. In this case, the determination unit 14 adds the time predetermined as the time from when the lost packet is detected by the receiving device 20 until the retransmission request is received by the transmission device 10 and the time required for data retransmission to the transmission completion prediction time t0 to predict the retransmission completion prediction time tr. Note that the determination unit 14 predicts the time required for data retransmission from the data volume of the lost packet and the estimated speed.

[0025] Consider the case where redundant transmission is performed by adding redundant data using an error correction code to the data waiting to be transmitted. The determination unit 14 sets the transmission completion prediction time tx when redundant transmission is performed as the time predicted based on the total data volume obtained by adding the redundant data with the redundancy degree x to the data waiting to be transmitted and the estimated speed. The determination unit 14 determines x such that the transmission completion prediction time tx when redundant transmission is performed is equal to the retransmission completion prediction time tr as the upper limit of the redundancy degree. That is, the determination unit 14 determines the upper limit of the redundancy degree such that the data volume of the redundant packet is the data volume that can be transmitted within the time indicated by the predetermined value (tr - t0).

[0026] More specifically, the determination unit 14 calculates the data amount D2 that can be transmitted within the time (tr - t0) indicated by a predetermined value according to D2 = V × (tr - t0). V is the estimated speed. Then, the determination unit 14 calculates the upper limit x of the redundancy ratio according to x = (D1 + D2) / D1. D1 is the data amount of the data waiting to be transmitted. In the example of FIG. 4, assuming that the data waiting to be transmitted in the transmission queue is 6 packets of the same size, when the number of redundant packets = 3, this is the upper limit where tx does not exceed tr. In this case, x = (6 + 3) / 6 = 1.5 is calculated. The determination unit 14 notifies the transmission unit 16 of the determined upper limit of the redundancy ratio.

[0027] The transmission unit 16 determines the redundancy ratio below the upper limit notified from the determination unit 14 as the transmission redundancy ratio, redundantizes the data waiting to be transmitted with the transmission redundancy ratio, and transmits it to the receiving device 20 via the communication line 40. Note that a default redundancy ratio is set. When the upper limit of the redundancy ratio determined by the determination unit 14 is lower than the default redundancy ratio, the transmission unit 16 may determine the default redundancy ratio as the transmission redundancy ratio. The default redundancy ratio is, for example, the initially set redundancy ratio, the redundancy ratio specified by control information attached to the data, or the like.

[0028] Also, when the transmission unit 16 is notified of the data loss detection result from the reception unit 12, it determines whether or not the lost data indicated by the data loss detection result satisfies the retransmission requirement. The retransmission requirement is, for example, that an acknowledgment (e.g., ACK) for the transmitted data (here, redundant packets) necessary for compensating for the loss of the lost data has not been received from the receiving device 20. Also, the retransmission requirement is, for example, that the transmission redundancy ratio at the time of transmitting the lost data does not exceed the default redundancy ratio. When the retransmission requirement is satisfied, the transmission unit 16 retransmits the lost data.

[0029] Next, with reference to FIG. 5, the functional configuration of the receiving device 20 according to the first embodiment will be described. As shown in FIG. 5, the receiving device 20 includes a reception unit 22, a detection unit 24, a reconstruction unit 26, and a transmission unit 28. Each functional unit is realized by the CPU 52 shown in FIG. 2.

[0030] The receiving unit 22 receives data transmitted from the transmitting device 10 via the communication line 40. The data received by the receiving unit 22 includes the data to be transmitted, redundant data, and data obtained by retransmitting lost data (hereinafter also referred to as "retransmission data"). The receiving unit 22 delivers the received data to the detection unit 24 and the reconstruction unit 26.

[0031] The detection unit 24 detects whether there is any loss of data in the data to be transmitted delivered from the receiving unit 22. For example, when there is a missing sequence number assigned to each of the received packets, the detection unit 24 detects that the packet corresponding to the missing number is lost. The detection unit 24 delivers a data loss detection result including information on the presence or absence of data loss and, if data is lost, identifying the lost data to the transmission unit 28.

[0032] The reconstruction unit 26 reconstructs the data delivered from the receiving unit 22. Specifically, when the arrival order of the received packets is disordered, the reconstruction unit 26 rearranges the packets in the correct order based on the sequence numbers assigned to each packet. Further, when there is lost data, the reconstruction unit 26 performs error correction based on the redundant data to compensate for the loss caused by the lost data. Also, when the reconstruction unit 26 has received retransmission data corresponding to the lost packets, the reconstruction unit 26 reconstructs the lost portion with the retransmission data. The reconstruction unit 26 delivers the reconstructed data to the subsequent application or the like.

[0033] The transmission unit 28 transmits the data loss detection result delivered from the detection unit 24 to the transmitting device 10.

[0034] Next, the operation of the redundant communication system 100 according to the first embodiment will be described. In the transmitting device 10, the redundant transmission process shown in FIG. 6 and the retransmission process shown in FIG. 7 are executed. Also, in the receiving device 20, the receiving process shown in FIG. 8 is executed. Note that the redundant transmission process is an example of the redundant communication method of the present invention.

[0035] First, referring to FIG. 6, the redundant transmission process will be described.

[0036] In step S10, the determination unit 14 determines whether a packet has arrived at the transmission queue of the transmission device 10. If no packet has arrived, the determination in this step is repeated. If a packet has arrived, the process proceeds to step S12. In step S12, the determination unit 14 acquires the data volume of the transmission waiting data stored in the transmission queue and the estimated speed of the communication line 40.

[0037] Next, in step S14, the determination unit 14 determines the upper limit of the redundancy level so that the delay in the predicted transmission completion time to the receiving device 20 when performing redundant transmission with respect to the predicted transmission completion time to the receiving device 20 when not performing redundant transmission is equal to or less than a predetermined value. Next, in step S16, the transmission unit 16 determines the redundancy level equal to or less than the upper limit determined in step S14 as the transmission redundancy level. Next, in step S18, the transmission unit 16 redundantly encodes the transmission waiting data with the determined transmission redundancy level and transmits it to the receiving device 20 via the communication line 40, and then returns to step S10.

[0038] Next, referring to FIG. 7, the retransmission process will be described.

[0039] In step S20, the reception unit 12 determines whether it has received the data loss detection result transmitted from the receiving device 20. If not, the determination in this step is repeated. If received, the process proceeds to step S22.

[0040] In step S22, the transmission unit 16 determines whether the lost data indicated by the data loss detection result satisfies the retransmission requirement. If the retransmission requirement is satisfied, the process proceeds to step S24. If the retransmission requirement is not satisfied, the process returns to step S20. In step S24, the transmission unit 16 retransmits the lost data to the receiving device 20 and then returns to step S20.

[0041] Next, referring to FIG. 8, the reception process will be described.

[0042] In step S30, the receiving unit 22 determines whether it has received the data transmitted from the transmitting device 10. If the data has been received, the process proceeds to step S32; if not, the determination in this step is repeated. In step S32, the detection unit 24 detects whether there is any data loss in the data received in step S30 above. If data loss is detected, the process proceeds to step S34; if not, the process proceeds to step S38. In step S34, the transmitting unit 28 returns a data loss detection result including information on the presence or absence of data loss detected by the detection unit 24 and, if the data is lost, information identifying the lost data to the transmitting device 10.

[0043] Next, in step S36, the receiving unit 22 determines whether it has received the retransmitted data transmitted from the transmitting device 10 in response to the retransmission request based on the data loss detection result. If the retransmitted data has been received, the process proceeds to step S38; if not, the determination in this step is repeated. Note that if no retransmitted data is received even after a predetermined time has elapsed, the process may proceed to step S38. In step S38, the reconstruction unit 26 rearranges the received data and compensates for the lost data with redundant data or retransmitted data to reconstruct the received data, and then returns to step S30.

[0044] As described above, in the redundant communication system according to the first embodiment, the transmitting device determines the upper limit of the redundancy level for redundant transmission based on the data volume of the data waiting to be transmitted and the communication speed of the communication line between the receiving device, which is the destination of the data waiting to be transmitted, and the transmitting device. Then, the transmitting device redundantly encodes the data waiting to be transmitted with a redundancy level equal to or lower than the determined upper limit and transmits it to the receiving device via the communication line. Thereby, the delay caused by redundantly transmitting the data can be suppressed.

[0045] Also, in the redundant communication system according to the first embodiment, the transmission device determines the upper limit of the redundancy level such that the delay of the predicted transmission completion time in the case of redundant transmission with respect to the predicted transmission completion time in the case of non-redundant transmission is equal to or less than a predetermined value. Further, the predetermined value in this case is set to the predicted value of the delay caused by retransmitting the data lost during transmission. In this case, if necessary redundancy cannot be achieved within the determined upper limit of the redundancy level, the transmission device may also use a method of retransmitting lost data (ARQ: automatic repeat request). That is, on the premise of achieving a predetermined data arrival rate on a communication line where data loss occurs, redundant transmission may be performed only under conditions where a delay reduction effect due to redundancy is expected. Thereby, while ensuring the reliability of data transmission, the delay can be minimized.

[0046] <Second Embodiment> Next, the second embodiment will be described. In the redundant communication system according to the second embodiment, parts that are the same as those in the redundant communication system 100 according to the first embodiment are denoted by the same reference numerals, and detailed descriptions thereof are omitted. Also, in functional parts where the last two digits of the reference numerals are common between the first embodiment and the second embodiment, detailed descriptions of the common functions are omitted. Further, since the hardware configurations of the transmission device and the reception device according to the second embodiment are the same as those of the transmission device 10 and the reception device 20 according to the first embodiment shown in FIG. 2, the description thereof is omitted.

[0047] As shown in FIG. 1, the redundant communication system 200 according to the second embodiment includes a transmission device 210 and a reception device 20.

[0048] Next, with reference to FIG. 3, the functional configuration of the transmission device 210 according to the second embodiment will be described. As shown in FIG. 3, the transmission device 210 includes a reception unit 12, a determination unit 214, and a transmission unit 216. Each functional unit is realized by the CPU 52 shown in FIG. 2.

[0049] In the second embodiment, consider the case of performing redundant transmission by duplicating the data waiting to be transmitted and transmitting it on each of a plurality of communication lines 40 having different communication speeds.

[0050] The determination unit 214 sets the predicted transmission completion time when not performing redundant transmission as the predicted transmission completion time when transmitting the data waiting to be transmitted on the communication line 40 with the highest communication speed among the plurality of communication lines 40. Further, the determination unit 214 sets the predicted transmission completion time when performing redundant transmission as the predicted transmission completion time when transmitting the data waiting to be transmitted on each of the other communication lines 40. Then, the determination unit 214 determines the number of communication lines among the plurality of communication lines 40 for which the delay in the predicted transmission completion time when performing redundant transmission with respect to the predicted transmission completion time when not performing redundant transmission is equal to or less than a predetermined value as the upper limit of the redundancy degree.

[0051] This will be specifically described with reference to FIG. 9. In the example of FIG. 9, for the sake of simplicity of explanation, the case of performing redundant transmission of the duplicated data using the relatively high-speed communication line 1 and the relatively low-speed communication line 2 will be described.

[0052] Similar to the determination unit 14 in the first embodiment, the determination unit 214 predicts the predicted transmission completion time t0 and the predicted retransmission completion time tr when not performing redundant transmission based on the data amount of the data waiting to be transmitted and the estimated speed of the communication line 1 (high speed). Further, the determination unit 214 predicts the predicted transmission completion time tx when performing redundant transmission based on the data amount of the data waiting to be transmitted and the estimated speed of the communication line 2 (low speed). Then, when the predicted transmission completion time tx does not exceed the predicted retransmission completion time tr, the determination unit 214 determines that redundant transmission on the communication line 2 is possible. In FIG. 9, when the predicted transmission completion time tx and the predicted retransmission completion time tr are approximately equal, that is, it represents a state where the delay caused by the speed difference between the communication line 1 and the communication line 2 and the delay due to retransmission are balanced. In this case, since the number of communication lines for transmitting the data waiting to be transmitted is 2, the determination unit 214 determines that the upper limit of the redundancy degree x = 2. Note that when the number of communication lines is 2, x = 1 represents the prohibition of redundant transmission (duplication).

[0053] Note that there are N communication lines with high speeds in the order of communication line 1, communication line 2, ···, communication line N, and assume that for communication line n, tx is maximized within the range not exceeding tr. That is, assume that for communication line n + 1, tx exceeds tr. In this case, the determination unit 214 determines that the upper limit x of the redundancy is x = n.

[0054] The transmission unit 216 determines the redundancy length below the upper limit determined by the determination unit 214 as the transmission redundancy length. Then, the transmission unit 216 duplicates the data waiting to be transmitted so that the number indicated by the transmission redundancy length, and transmits each duplicated data via the communication line 40 where tx < tr.

[0055] Next, the operation of the redundant communication system 200 according to the second embodiment will be described. In the second embodiment, the redundant transmission process executed in the transmission device 210 is only different from the redundant transmission process (FIG. 6) according to the first embodiment. Therefore, the differences will be described below.

[0056] In the second embodiment, in step S14, the determination unit 214 regards the case where the data waiting to be transmitted is transmitted through the communication line with the highest communication speed among the plurality of communication lines 40 as the case where no redundant transmission is performed, and regards the case where the data waiting to be transmitted is transmitted through each of the other communication lines as the case where redundant transmission is performed. The determination unit 214 predicts the transmission completion prediction time for each communication line, and determines the number of communication lines where the delay of the transmission completion prediction time in the case of redundant transmission with respect to the transmission completion prediction time in the case of no redundant transmission is equal to or less than a predetermined value as the upper limit of the redundancy.

[0057] Also, in step S16, the transmission unit 216 determines the redundancy length below the upper limit determined in step S14 above as the transmission redundancy length. Next, in step S18, the transmission unit 216 duplicates the data waiting to be transmitted so that the number indicated by the transmission redundancy length, and transmits each duplicated data via the communication line 40 where tx < tr.

[0058] As described above, in the redundant communication system according to the second embodiment, the data waiting to be transmitted is replicated and redundantly transmitted by transmitting it on each of a plurality of communication lines with different communication speeds. In this case, the transmission device sets the predicted transmission completion time when not performing redundant transmission as the predicted transmission completion time when transmitting the data waiting to be transmitted on the communication line with the highest communication speed among the plurality of communication lines. Further, the transmission device sets the predicted transmission completion time when performing redundant transmission as the predicted transmission completion time when transmitting the data waiting to be transmitted on each of the other communication lines. Then, the transmission device determines, as the upper limit of the redundancy level, the number of communication lines among the plurality of communication lines for which the delay of the predicted transmission completion time when performing redundant transmission with respect to the predicted transmission completion time when not performing redundant transmission is equal to or less than a predetermined value. Thereby, even when the method of redundant transmission is different from that of the first embodiment, the same effects as those of the first embodiment can be achieved.

[0059] In the second embodiment, the communication speed of each communication line may be the specified communication speed of the communication line or the estimated available bandwidth (estimated speed). In the latter case, the predicted transmission completion time considering the congestion of the communication line can be predicted.

[0060] In each of the above embodiments, the case where the redundant communication device of the present invention operates on the transmission device has been described, but the present invention is not limited to this. For example, the determination unit may be provided on the receiving device side. In this case, the upper limit of the redundancy level determined by the receiving device may be transmitted to the transmission device.

[0061] In addition, in each of the above embodiments, each process executed by the CPU by loading software (program) may be executed by various processors other than the CPU. Examples of the processor in this case include a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing, such as an FPGA (Field-Programmable Gate Array), and a dedicated electric circuit such as an ASIC (Application Specific Integrated Circuit) having a circuit configuration designed specifically to execute a specific process. Further, each process may be executed by one of these various processors, or may be executed by a combination of two or more processors of the same type or different types (for example, a plurality of FPGAs, a combination of a CPU and an FPGA, etc.). More specifically, the hardware structure of these various processors is an electric circuit formed by combining circuit elements such as semiconductor elements.

[0062] In addition, in each of the above embodiments, an aspect in which the redundant communication programs are each stored (installed) in advance in the storage unit has been described, but the present invention is not limited to this. The program may be provided in a form stored in a non-transitory tangible storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. Further, the program may be in a form downloaded from an external device via a network.

Explanation of Reference Numerals

[0063] 100, 200 Redundant communication system 10, 210 Transmitting device 12 Receiver 14, 214 Determination unit 16, 216 Transmitting unit 20, Receiving device 22 Receiver 24 Detection Unit 26 Reconstruction Unit 28 Transmission Unit 40 Communication Line 52 CPU 54 Memory 56 Storage Device 58 Input Device 60 Output Device 62 Memory Medium Reader 64 Communication I / F 66 Bus

Claims

1. Based on the data volume of the data waiting to be transmitted in the transmitting device (10) and the communication speed of the communication line (40) between the receiving device (20), which is the destination of the data waiting to be transmitted, and the transmitting device, the delay of the predicted transmission completion time to the receiving device when transmitting the data waiting to be transmitted without redundancy with respect to the predicted transmission completion time to the receiving device when transmitting the data waiting to be transmitted after redundancy is within a predetermined value. A determination unit (14) that determines the upper limit of the redundancy level when transmitting the data waiting to be transmitted after redundancy; A transmission unit (16) that redundantly encodes the data waiting to be transmitted with a redundancy level equal to or lower than the upper limit determined by the determination unit and transmits it to the receiving device via the communication line; When the data waiting to be transmitted is redundantly transmitted by replicating the data waiting to be transmitted and transmitting it on each of a plurality of communication lines with different communication speeds, The determination unit sets the predicted transmission completion time to the receiving device when transmitting the data waiting to be transmitted without redundancy as the predicted transmission completion time when transmitting the data waiting to be transmitted on the communication line with the highest communication speed among the plurality of communication lines, and sets the predicted transmission completion time to the receiving device when transmitting the data waiting to be transmitted after redundancy as the predicted transmission completion time when transmitting the data waiting to be transmitted on each of the communication lines other than the communication line with the highest communication speed among the plurality of communication lines. Redundant communication device.

2. The redundant communication device according to claim 1, wherein the determination unit sets the predetermined value as a fixed value corresponding to the application related to the data waiting to be transmitted or a predicted value of the delay due to retransmission of data lost during transmission.

3. The redundant communication device according to claim 1 or claim 2, wherein the determination unit determines the number of communication lines among the plurality of communication lines for which the delay is within the predetermined value as the upper limit of the redundancy level.

4. The determination unit determines, based on the data volume of the data waiting to be transmitted in the transmitting device and the communication speed of the communication line between the receiving device, which is the destination of the data waiting to be transmitted, and the transmitting device, the delay of the predicted transmission completion time to the receiving device when transmitting the data waiting to be transmitted without redundancy with respect to the predicted transmission completion time to the receiving device when transmitting the data waiting to be transmitted after redundancy is within a predetermined value. Determine the upper limit of the redundancy level when transmitting the data waiting to be transmitted after redundancy, A redundant communication method in which a transmission unit redundantly encodes the data to be transmitted waiting for transmission at a redundancy level equal to or lower than the upper limit determined by the determination unit, and transmits the data to the receiving device via the communication line, When the data to be transmitted waiting for transmission is replicated and transmitted on each of a plurality of communication lines having different communication speeds, thereby redundantly encoding and transmitting the data to be transmitted waiting for transmission, The determination unit sets the predicted transmission completion time to the receiving device when the data to be transmitted waiting for transmission is transmitted without being redundantly encoded as the predicted transmission completion time when the data to be transmitted waiting for transmission is transmitted on the communication line with the highest communication speed among the plurality of communication lines, and sets the predicted transmission completion time to the receiving device when the data to be transmitted waiting for transmission is redundantly encoded and transmitted as the predicted transmission completion time when the data to be transmitted waiting for transmission is transmitted on each of the communication lines other than the communication line with the highest communication speed among the plurality of communication lines. Redundant communication method.

5. A computer, Based on the data volume of the data to be transmitted waiting for transmission in the transmission device and the communication speed of the communication line between the receiving device, which is the transmission destination of the data to be transmitted waiting for transmission, and the transmission device, a determination unit that determines the upper limit of the redundancy level when redundantly encoding and transmitting the data to be transmitted waiting for transmission so that the delay in the predicted transmission completion time to the receiving device when the data to be transmitted waiting for transmission is redundantly encoded and transmitted with respect to the predicted transmission completion time to the receiving device when the data to be transmitted waiting for transmission is transmitted without being redundantly encoded is equal to or less than a predetermined value, and A redundant communication program for causing a transmission unit to redundantly encode the data to be transmitted waiting for transmission at a redundancy level equal to or lower than the upper limit determined by the determination unit and transmit the data to the receiving device via the communication line, When the data to be transmitted waiting for transmission is replicated and transmitted on each of a plurality of communication lines having different communication speeds, thereby redundantly encoding and transmitting the data to be transmitted waiting for transmission, The determination unit sets the predicted transmission completion time to the receiving device when the data to be transmitted waiting for transmission is transmitted without being redundantly encoded as the predicted transmission completion time when the data to be transmitted waiting for transmission is transmitted on the communication line with the highest communication speed among the plurality of communication lines, and sets the predicted transmission completion time to the receiving device when the data to be transmitted waiting for transmission is redundantly encoded and transmitted as the predicted transmission completion time when the data to be transmitted waiting for transmission is transmitted on each of the communication lines other than the communication line with the highest communication speed among the plurality of communication lines. Redundant communication program.

Citation Information

Patent Citations

  • Video data delivery server and video data delivery method

    JP2006262288A

  • Communication device, communication method, and communication program

    JP2012142684A

  • Methods and apparatus for improving the performance of TCP and other network protocols in a communication network

    JP2016502794A

  • Data transmission control system and method, and data transmission control program

    JP2017092692A