Communication apparatus, communication system, communication method, and non-transitory computer readable medium

A communication apparatus (10) according to the present disclosure includes a transmitting unit (11) configured to transmit a packet to a communication apparatus (20) at the other end through a communication line (31), a transmitting unit (12) configured to transmit a packet to the communication apparatus (20) at the other end through a communication line (32), a packet generation unit (13) configured to generate a plurality of packets by duplicating a packet, a monitoring unit (15) configured to monitor communication states of the communication lines (31, 32), and a control unit (14) configured to determine to transmit two or more of the plurality of duplicated packets to the communication apparatus (20) at the other end by using at least one of the communication lines (31, 32) according to the communication states.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a National Stage of International Application No. PCT/JP2017/014349 filed Apr. 6, 2017, claiming priority based on Japanese Patent Application No. 2016-077788 filed Apr. 8, 2016, the disclosure of which is incorporated herein in its entirety by reference.

TECHNICAL FIELD

The present disclosure relates to a communication apparatus, a communication system, a communication method, and a program, and in particular relates to a communication apparatus, a communication system, a communication method, and a program using a plurality of communication lines.

BACKGROUND ART

It has been desired that a communication system that transmits packets be highly reliable such as having a low packet loss rate. Further, in recent years, even when a communication line used between communication apparatuses is a best-effort line, high reliability may be required.

Patent Literature 1 describes a configuration example of a communication network that achieves high reliability. Specifically, in the communication network, a packet transfer apparatus is provided in each of a packet transmitting side and a packet receiving side. Two or more independent paths are established between the packet transfer apparatuses. The packet transfer apparatus on the transmitting side duplicates a packet and thereby generates two or more packets. Further, the packet transfer apparatus on the transmitting side outputs the two or more copied packets to independent paths. Therefore, identical packets are transmitted in two or more independent paths. As a result, even if a packet loss occurs in one of the paths, the packet is transmitted through the other path. Therefore, it is possible to improve a probability that the packet reaches the packet transfer apparatus on the receiving side.

CITATION LIST

Patent Literature

Patent Literature 1: Japanese Unexamined Patent Application Publication No. 2006-174406

SUMMARY OF INVENTION

Technical Problem

However, in the communication network disclosed in Patent Literature 1, when a failure occurs in one of the two independent paths, a problem that reliability or quality of the communication network deteriorates occurs. Specifically, when a failure occurs in one of the paths, only one path is used between the packet transfer apparatuses. However, if communication quality of the path used for packet transmission deteriorates, the packet transfer apparatus on the transmitting side cannot select another path. As a result, since the packet transfer apparatus on the transmitting side uses the path having the deteriorated communication quality, the packet loss rate increases.

An object of the present disclosure is to provide a communication apparatus, a communication system, a communication method, and a program capable of improving reliability and communication quality of a communication network.

Solution to Problem

A communication apparatus according to a first aspect of the present disclosure includes: a first transmitting unit configured to transmit a packet to a communication apparatus at the other end through a first communication line; a second transmitting unit configured to transmit a packet to the communication apparatus at the other end through a second communication line; a packet generation unit configured to generate a plurality of packets by duplicating a packet; a monitoring unit configured to monitor communication states of the first and second communication lines; and a control unit configured to determine to transmit two or more of the plurality of duplicated packets to the communication apparatus at the other end by using at least one of the first and second communication lines according to the communication states.

A communication system according to a second aspect of the present disclosure includes: a transmitting apparatus configured to transmit two or more of a plurality of duplicated packets to a receiving apparatus by using at least one of first and second communication lines according to communication states of the first and second communication lines; and the receiving apparatus configured to delete a duplicate packet when the receiving apparatus receives the plurality of duplicated packets through at least one of the first and second communication lines.

A communication method according to a third aspect of the present disclosure includes: monitoring communication states of first and second communication lines; generating a plurality of packets by duplicating a packet; and transmitting two or more of a plurality of duplicated packets to a communication apparatus at the other end through the first and second communication lines by using at least one of the first and second communication lines according to the communication states.

A program according to a fourth aspect of the present disclosure causes a computer to perform: monitoring communication states of first and second communication lines; generating a plurality of packets by duplicating a packet; and transmitting two or more of a plurality of duplicated packets to a communication apparatus at the other end through the first and second communication lines by using at least one of the first and second communication lines according to the communication states.

Advantageous Effects of Invention

According to the present disclosure, it is possible to provide a communication apparatus, a communication system, a communication method, and a program capable of improving reliability and communication quality of a communication network.

DESCRIPTION OF EMBODIMENTS

First Embodiment

Embodiments according to the present disclosure will be described hereinafter with reference to the drawings. A configuration example of a communication system according to a first embodiment of the present disclosure is described with reference toFIG. 1. A communication system shown inFIG. 1includes a communication apparatus10and a communication apparatus20. The communication system shown inFIG. 1is described on the assumption that, in general, the communication apparatus10is an apparatus that transmits a packet and the communication apparatus20is an apparatus that receives the packet.

Each of the communication apparatuses10and20may be a computer apparatus that operates by having a processor execute a program stored in a memory. Each of the communication apparatuses10and20may be a relay apparatus or the like for relaying data. Each of the communication apparatuses10and20may be, for example, a router apparatus or the like.

A communication line31and a communication line32are established between the communication apparatuses10and20. Each of the communication lines31and32may be a communication line in which a wireless communication line is used as a part of its communication path, a communication line formed solely by a wireless communication line, or a communication line formed solely by a wired communication line.

Next, a configuration example of the communication apparatus10is described. The communication apparatus10includes a transmitting unit11, a transmitting unit12, a packet generation unit13, a control unit14, and a monitoring unit15. Components constituting the communication apparatus10, such as the transmitting unit11, the transmitting unit12, the packet generation unit13, the control unit14, and the monitoring unit15, may be software or modules by which processes are performed by having a processor execute a program stored in a memory. Alternatively, the components constituting the communication apparatus10may be hardware such as a circuit or a chip.

The transmitting unit11transmits a packet to the communication apparatus20at the other end through the communication line31. The transmitting unit12transmits a packet to the communication apparatus20at the other end through the communication line32.

The packet generation unit13duplicates one packet and thereby generates a plurality of packets. The monitoring unit15monitors communication states of the communication lines31and32. The communication state may be, for example, a communication state or communication quality. In other words, the monitoring unit15may monitor whether or not communication using the communication lines31and32can be performed, or whether or not communication quality of the communication lines31and32has deteriorated.

The control unit14determines to transmit two or more of a plurality of packets generated by the packet generation unit13to the communication apparatus20at the other end by using at least one of the communication lines31and32.

For example, the control unit14may determine to transmit two or more of the plurality of packets to the communication apparatus20by using the communication lines31and32. Alternatively, the control unit14may determine to transmit two or more of the plurality of packets to the communication apparatus20by using only the communication line31. Alternatively, the control unit14may determine to transmit all the duplicated packets to the communication apparatus20by using only the communication line31.

As described above, when the communication apparatus10uses two communication lines, it can output the same packet to each of the two communication lines. In this way, it is possible to improve a probability that the packet reaches the communication apparatus20. Further, even when the communication apparatus10uses only one of the communication lines31and32, it can output two or more packets to the used communication line. In this way, it is also possible to improve the probability that the packet reaches the communication apparatus20.

As a result, by using the communication apparatus10, it is possible to improve the reliability of the communication network including the communication apparatuses10and20and its communication quality.

Second Embodiment

Next, a configuration example of a communication system according to a second embodiment of the present disclosure is described with reference toFIG. 2. A communication system shown inFIG. 2includes a communication terminal40, a network apparatus42, a transmitting apparatus44, a receiving apparatus46, a network51, and a network52.

The transmitting apparatus44corresponds to the communication apparatus10inFIG. 1. The receiving apparatus46corresponds to the communication apparatus20inFIG. 1. The transmitting apparatus44duplicates a packet transmitted from the communication terminal40and thereby generates a plurality of packets. The transmitting apparatus44transmits the generated plurality of packets to the receiving apparatus46. Further, the receiving apparatus46transmits the packet transmitted from the transmitting apparatus44to the network apparatus42.

The communication terminal40transmits a packet to the network apparatus42through the transmitting apparatus44, at least one of the networks51and52, and the receiving apparatus46. The network apparatus42may be a node apparatus managed by a telecommunications carrier. The node apparatus is an apparatus that is disposed in a network managed by the telecommunications carrier and relays packets.

When the transmitting apparatus44connects to the networks51and52, the transmitting apparatus44may connect to them through a wireless communication line. Alternatively, the transmitting apparatus44may connect to one of the networks51and52through a wireless communication line and connect to the other network through a wired communication line. Alternatively, when the transmitting apparatus44connects to the networks51and52, the transmitting apparatus44may connect to them through a wired communication line.

The wireless communication line may be, for example, mobile communication or wireless LAN (Local Area Network) communication. The wireless communication line may also be referred to as a mobile network line. The mobile communication may be, for example, a wireless communication method defined as 3G in 3GPP (3rd Generation Partnership Project) or a wireless communication method defined as LTE (Long Term Evolution) in the 3GPP.

The wired communication line may be, for example, an optical communication line or a communication line using an Ethernet (Registered Trademark). Further, the network51may be operated by a telecommunications carrier different from a telecommunications carrier operating the network52. When the mobile communication is used, the transmitting apparatus44performs wireless communication with a base station disposed in the network51or52. In the case where the networks51and52are operated by different telecommunications carriers, the transmitting apparatus44communicates with a base station disposed in the network51and communicates with a base station disposed in the network52. When the wireless LAN communication is used instead of the mobile communication, the transmitting apparatus44communicates with an access point instead of the base station.

Further, when the transmitting apparatus44connects to the networks51and52by using wireless communication lines, it may use different frequencies for communication with the network51and for communication with the network52, respectively.

By making the networks51and52independent of each other, i.e., by using different types of networks as the networks51and52as described above, the transmitting apparatus44can transmit packets to the receiving apparatus46by using different paths. As a result, it is possible to avoid a situation in which the networks51and52become unavailable at the same time.

Next, a configuration example of the transmitting apparatus44according to the second embodiment of the present disclosure is described with reference toFIG. 3. The transmitting apparatus44has a configuration that is obtained by adding a receiving unit61in the communication apparatus10shown inFIG. 1. The configuration of the transmitting apparatus44other than the receiving unit61is similar to the configuration of the communication apparatus10and therefore a detailed description thereof is omitted.

The receiving unit61receives a packet transmitted from the communication terminal40. The receiving unit61outputs the received packet to the packet generation unit13. The receiving unit61connects to the communication terminal40through a wireless communication line or a wired communication line. As the wireless communication line, for example, wireless LAN communication may be used or short-range wireless communication such as Bluetooth (Registered Trademark) may be used. The wired communication line may be, for example, an optical communication line or a communication line using an Ethernet (Registered Trademark).

The packet generation unit13receives the packet output from the receiving unit61. The packet generation unit13duplicates the received packet and thereby generates a plurality of packets. The packets generated by duplicating the packet output from the receiving unit61may also be referred to as redundant packets.

Next, a flow of packet transmitting processes performed in the transmitting apparatus44according to the second embodiment of the present disclosure is described with reference toFIG. 4. Firstly, the receiving unit61receives a packet transmitted from the communication terminal40(S11).

Next, the packet generation unit13duplicates the packet that the receiving unit61has received and thereby generates a plurality of packets (S12). For example, the packet generation unit13may generate the same number of packets as the number of transmitting units included in the transmitting apparatus44. Specifically, the transmitting apparatus44includes the transmitting units11and12. Therefore, the packet generation unit13may make one copy of the packet transmitted from the communication terminal40and thereby generate two packets in total. Alternatively, the packet generation unit13may generate a larger number of packets than the number of transmitting units included in the transmitting apparatus44.

Next, the monitoring unit15checks communication related to a communication line used by the transmitting unit11and a communication line used by transmitting unit12. The monitoring unit15determines whether or not only one of the communication lines used by the transmitting units11and12is unavailable (S13). For example, the monitoring unit15transmits health-check request messages to the receiving apparatus46through the transmitting units11and12. When the monitoring unit15receives a health-check response message within a specified time period, it determines that the communication line to which the health-check request message has been output can be used. Further, when the monitoring unit15does not receive the health-check response message within the specified time, it determines that the communication line to which the health-check request message has been output cannot be used. Alternatively, the monitoring unit15may determine that the communication line cannot be used when it has repeatedly transmitted a health-check response message a predetermined number of times but has not been able to receive a health-check response message to any of the health-check request messages.

When it is determined that only one of the communication lines is unavailable in the monitoring unit15, the control unit14outputs the plurality of packets generated in the step S12to the other available communication line (S14). That is, when the communication line used by the transmitting unit11is unavailable, the control unit14outputs the packet transmitted from the communication terminal40and the redundant packets to the receiving apparatus46through the transmitting unit12.

When the monitoring unit15determines that only one of the communication lines is not unavailable, it determines whether or not both of the communication lines are unavailable (S15). When it is determined that both of the communication lines are unavailable in the monitoring unit15, the control unit14stops the packet transmission (S16). When it is determined that both of the communication lines are not unavailable in the monitoring unit15, i.e., when it is determined that both of the communication lines are available, the control unit14outputs the generated packets to both of the communication lines (S17). For example, when one redundant packet is generated, i.e., two packets are generated in total in the step S12, the control unit14outputs one of the packets to each of the transmitting units11and12. For example, the control unit14may output packets to the transmitting units11and12at substantially the same timing. Alternatively, the control unit14may first output a packet to the transmitting unit11and then output another packet to the transmitting unit12after a certain time period has elapsed.

Alternatively, when three or more packets are generated in the step S12, the control unit14may distribute the packets in the step S17as described below. For example, it is assumed that the communication line used by the transmitting unit11is a wireless communication line and the communication line used by the transmitting unit12is a wired communication line. In general, communication quality of a wireless communication line is often lower than that of a wired communication line. Therefore, the control unit14may output a larger number of packets to the wireless communication line than the number of packets output to the wired communication line.

Alternatively, it is assumed that each of the transmitting units11and12performs mobile communication in which an upper limit for an amount of data communication is specified. In this case, the control unit14may output a larger number of packets to a transmitting unit in which a difference between the upper limit value and the current communication amount is larger.

Next, a detailed process flow related to the packet generation process performed in the step S12is described with reference toFIG. 5. InFIG. 5, it is assumed that a data size of a packet received by the receiving unit61is larger than a MTU (Maximum Transmission Unit).

Firstly, the packet generation unit13performs a fragment function (S21). Specifically, the packet generation unit13divides the packet received by the receiving unit61into a plurality of data pieces so that their data sizes become equal to or smaller than the MTU.

Next, the packet generation unit13adds headers including sequence numbers to the divided data (S22). The sequence number is, for example, a number indicating an order of messages. The header including the sequence number may be an IP (Internet Protocol) header or a header used in a protocol different from the IP header. Next, the packet generation unit13duplicates the packet generated in the step S22(S23). For example, the packet generation unit13may duplicate the packet so that the number of packets becomes equal to or greater than the number of transmitting units included in the transmitting apparatus44.

Note that when the data size of the packet received by the receiver61is smaller than the MTU, the process in the step S21is skipped.

Next, a configuration example of the receiving apparatus46according to the second embodiment of the present disclosure is described with reference toFIG. 6. The receiving apparatus46includes a receiving unit71, a receiving unit72, a control unit73, and a transmitting unit74. Components constituting the receiving apparatus46, such as the receiving unit71, the receiving unit72, the control unit73, and the transmitting unit74, may be software or modules by which processes are performed by having a processor execute a program stored in a memory. Alternatively, the components constituting the receiving apparatus46may be hardware such as a circuit or a chip.

The receiving unit71receives the packet transmitted from the transmitting unit11of the transmitting apparatus44through the network51. The receiving unit71outputs the received packet to the control unit73. The receiving unit72receives the packet transmitted from the transmitting unit12of the transmitting apparatus44through the network52. The receiving unit72outputs the received packet to the control unit73.

The control unit73outputs the packet received from the receiving units71and72to the transmitting unit74. Further, the control unit73deletes duplicate packets. For example, when the control unit73receives a packet to which the same sequence number as that of a packet that has already been output to the transmitting unit74is assigned from the receiving unit71or72, the control unit73may delete the received packet.

Next, a flow of packet receiving processes performed in the receiving apparatus46according to the second embodiment of the present disclosure is described with reference toFIG. 7. Firstly, the receiving units71and72receive packets transmitted from the transmitting apparatus44(S31). Next, the control unit73determines whether or not the packet received from the receiving units71and72is the same as a packet that the control unit73received in the past (S32). In other words, the control unit73determines whether or not the packet received from the receiving units71and72is the same as a packet that has already been output to the transmitting unit74. For example, when the packet received from the receiving units71and72has the same sequence number as that of a packet that has already been output to the transmitting unit74, the control unit73determines that the packet received from the receiving units71and72is the same as the packet that was received in the past.

Next, when the control unit73determines that the packet received from the receiving units71and72is the same as the packet that was received in the past, the control unit73deletes the received packet (S33).

When the control unit73determines that no duplicate packet exists in the step S32or when it has deleted the duplicate packet in the step S33, the control unit73corrects the order of packets (S34). The control unit73performs processes in a step S35and subsequent steps in the order of the sequence number. Here, it is assumed that the control unit73has received a packet having a sequence number that is larger than the preceding sequence number by two or larger, rather than receiving a packet having a sequence number larger than the preceding sequence number by one. In this case, the control unit73temporarily stores the received packet in a buffer or the like. When the control unit73receives a packet having a sequence number that is larger than the sequence number of the packet that has already been output to the transmitting unit74by one, the control unit73performs processes in the step S35and subsequent steps for the received packet. Further, the control unit73performs the processes in the step S35and the subsequent steps for the packet(s) stored in the buffer in the order of the sequence number.

Next, the control unit73determines whether or not the packet, whose order has been corrected, is a packet that has been divided by fragment (S35). The control unit73may check the header of the packet. Then, when a flag indicating that fragment has been performed is set in the header, the control unit73may determine that the packet is a packet that has been divided by fragment.

When the control unit73determines that the packet, whose order has been corrected, is not a packet that has been divided by fragment, the control unit73transmits that packet to the network apparatus42through the transmitting unit74(S37).

When the control unit73determines that the packet, whose order has been corrected, is a packet that has been divided by fragment, the control unit73reconstructs the packet (S36). Next, the control unit73transmits the reconstructed packet to the network apparatus42through the transmitting unit74(S37).

As described above, by using the communication system according to the second embodiment of the present disclosure, the transmitting apparatus44can transmit a plurality of packets to the receiving apparatus46through two communication lines. In this way, it is possible to increase the probability that the packet reaches the receiving apparatus46. Further, when one of the communication lines is unavailable, it is possible to output a plurality of packets including redundant packets to the other communication line. In this way, compared to the case in which only one packet is output to one communication line, it is possible to increase the probability that the packet reaches the receiving apparatus46by outputting a plurality of packets including redundant packets to one communication line.

Further, when the receiving apparatus46receives a plurality of packets including redundant packets, the receiving apparatus46deletes a duplicate packet(s). By doing so, the receiving apparatus46can reduce the number of packets whose order is corrected. As a result, the receiving apparatus46can reduce a processing load for correcting the order of packets.

Third Embodiment

Next, a flow of packet transmitting processes performed in a transmitting apparatus44according to a third embodiment of the present disclosure is described with reference toFIG. 8. Steps S41and S42are similar to the steps S11and S12inFIG. 4and therefore their detailed descriptions are omitted.

When a plurality of packets are generated in the step S42, the monitoring unit15determines whether or not communication quality of one of the communication lines is satisfactory (S43). For example, the monitoring unit15determines whether or not communication quality of the communication line through the network51is satisfactory. The monitoring unit15may acquire information about the communication quality of the communication line through the network51from the receiving apparatus46. For example, the monitoring unit15may acquire information about the communication quality from the receiving apparatus46through the network51. Alternatively, the monitoring unit15may acquire information about the communication quality from the receiving apparatus46through a network different from the network51. The network different from the network51may be, for example, the Internet. Alternatively, as shown inFIG. 9, the monitoring unit15may acquire information about the communication quality from a management apparatus or the like that manages the communication system through the Internet.FIG. 9shows a configuration in which a management apparatus48is connected to the transmitting apparatus44and the receiving apparatus46through the Internet. The communication system shownFIG. 9has a configuration that is obtained by adding the management apparatus48in the communication system shown inFIG. 2.

The information about the communication quality of the communication line through the network51is, for example, a throughput, a packet loss rate, a transmission delay, etc. at the time when data is transmitted through the communication line in the network51. For example, the monitoring unit15may determine that the communication quality of the communication line in the network51is not satisfactory when a throughput value received from the receiving apparatus46is lower than a threshold. Further, the monitoring unit15may determine that the communication quality of the communication line in the network51is not satisfactory when a value of the packet loss rate received from the receiving apparatus46is larger than a threshold.

When it is determined that the communication quality of the communication line in the network51is not satisfactory in the monitoring unit15, the control unit14determines whether or not the communication line in the network51can be used (S44). The fact that the communication line in the network51cannot be used may be a state in which, for example, the throughput value received from the receiving apparatus46is lower than a threshold that is lower than the threshold used for the determination of the communication quality in the step S43. Alternatively, the fact that the communication line through the network51cannot be used may be a state in which, for example, the value of the packet loss rate received from the receiving apparatus46is larger than a threshold that is higher than the threshold used for the determination of the communication quality in the step S43.

When the control unit14determines that the communication line in the network51can be used, the control unit14transmits a plurality of packets to the receiving apparatus46through the transmitting unit11(S45). The control unit14may determine the number of packets to be transmitted according to a communication quality level of the communication line in the network51. For example, the control unit14may transmit a larger number of packets to the receiving apparatus46through the transmitting unit11as the communication quality of the communication line in the network51deteriorates.

Further, when the control unit14transmits a plurality of packets to the receiving apparatus46through the transmitting unit11, the control unit14may set a certain time period or longer as an interval between transmissions of packets. When intervals between transmissions of packets are short and a plurality of packets are transmitted substantially at the same timing, the plurality of packets are transmitted in a poor communication quality state. In contrast, by setting a certain time period or longer as an interval between transmissions of packets, it becomes possible to transmit packets in a satisfactory communication quality state. In particular, it has been known that communication quality of a wireless communication line changes in a short time. Therefore, by setting a certain time period or longer as an interval between transmissions of packets, the control unit14can transmit a plurality of packets at different timings at which communication qualities are different.

When it is determined that the communication quality of the communication line in the network51is satisfactory in the monitoring unit15, or when the communication line in the network51cannot be used, the control unit14does not transmit a plurality of packets to the receiving apparatus46through the transmitting unit11(S46). Specifically, when it is determined that the communication quality of the communication line in the network51is satisfactory in the monitoring unit15, the control unit14transmits one packet through the transmitting unit11. When the communication line in the network51cannot be used, the control unit14does not transmit any packet through the transmitting unit11.

Next, the monitoring unit15determines whether or not communication quality of a communication line different from the communication line for which the monitoring unit15has determined whether or not the communication quality is satisfactory in the step S43is satisfactory (S47). That is, the monitoring unit15determines whether or not the communication quality of the communication line through the network52is satisfactory. Processes in steps S48to S50are similar to those in the steps S44to S46and therefore detailed descriptions thereof are omitted.

As described above, by performing the transmission process according to the third embodiment of the present disclosure, it is possible, when a communication line having low communication quality is used, to transmit a plurality of packets through that communication line. As described above, when a communication line having low communication quality is used, it is possible to increase the possibility that a packet reaches the receiving apparatus46by transmitting a plurality of packets. Meanwhile, when a communication line having high communication quality is used, it is unnecessary to transmit a plurality of packets through that communication line. Therefore, it is possible to maintain a high throughput because a plurality of packets are not transmitted in the communication line having high communication quality.

Fourth Embodiment

Next, a flow of transmission processes performed in a transmitting apparatus44according to a fourth embodiment of the present disclosure is described with reference toFIGS. 10 and 11. Steps S51to S56inFIG. 10are similar to the steps S11to S16inFIG. 4and therefore detailed descriptions thereof are omitted.

In a step S55, when the monitoring unit15determines that both communication lines are available, it performs processes in a step S57and subsequent steps. Steps S57to S62are similar to steps S43, S45-S47, S49and S50inFIG. 8and therefore detailed descriptions thereof are omitted. That is, in the process shown inFIG. 10, it is determined whether or not the communication line is unavailable. Therefore, unlike the flow shown inFIG. 8, the determination on whether or not the communication line is unavailable is not performed after the step S57and after the step S60inFIG. 11.

By performing the transmission processes as shown inFIGS. 10 and 11, when the two communication lines can be communicated, the transmitting apparatus44can determine whether or not a plurality of packets should be transmitted through each of the two communication lines according to the communication quality of these communication lines. In this way, when the two communication lines can be communicated, it is possible to increase the possibility that the packet reaches the receiving apparatus46by transmitting the same packet to each of the communication lines. Further, it is possible to further increase the possibility that the packet reaches the receiving apparatus46by determining the communication quality of the two communication lines and outputting a plurality of packets to a communication line having lower communication quality.

Next, a configuration example of each of the transmitting apparatus44and the receiving apparatus46explained in the above-described plurality of embodiments is explained hereinafter with reference toFIG. 12.FIG. 12is a block diagram showing a configuration example of each of the transmitting apparatus44and the receiving apparatus46. As shown inFIG. 12, each of the transmitting apparatus44and the receiving apparatus46includes a network interface1201, a processor1202, and a memory1203. The network interface1201is used for communication with other network node apparatuses forming a communication system. The network interface1201may include, for example, a network interface card (NIC) in conformity with IEEE 802.3 series.

The processor1202performs processes performed by each of the transmitting apparatus44and the receiving apparatus46explained with reference to the flowcharts in the above-described embodiments by loading software (a computer program) from the memory1203and executing the loaded software. The processor1202may be, for example, a microprocessor, an MPU (Micro Processing Unit), or a CPU (Central Processing Unit). The processor1202may include a plurality of processors.

The memory1203is formed by a combination of a volatile memory and a nonvolatile memory. The memory1203may include a storage disposed apart from the processor1202. In this case, the processor1202may access the memory1203through an I/O interface (not shown).

In the example shown inFIG. 12, the memory1203is used to store a group of software modules. The processor1202can perform processes performed by each of the transmitting apparatus44and the receiving apparatus46explained in the above-described embodiments by loading the group of software modules from the memory1203and executing the loaded software modules.

As explained above with reference toFIG. 12, each of the processors included in the transmitting apparatus44and the receiving apparatus46in the above-described embodiments executes one or a plurality of programs including a group of instructions to cause a computer to perform an algorithm explained above with reference to the drawings.

Note that the present disclosure is not limited to the above-described embodiments and can be modified as appropriate without departing from the spirit and scope of the present disclosure.

Although the present disclosure is explained above with reference to embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure.

The whole or part of the embodiments disclosed above can be described as, but not limited to, the following supplementary notes.

A communication apparatus comprising:

a first transmitting unit configured to transmit a packet to a communication apparatus at the other end through a first communication line;

a second transmitting unit configured to transmit a packet to the communication apparatus at the other end through a second communication line;

a packet generation unit configured to generate a plurality of packets by duplicating a packet;

a monitoring unit configured to monitor communication states of the first and second communication lines; and

a control unit configured to determine to transmit two or more of the plurality of duplicated packets to the communication apparatus at the other end by using at least one of the first and second communication lines according to the communication states.

The communication apparatus disclosed in Supplementary note 1, wherein

when the monitoring unit determines that a packet cannot be transmitted to the communication apparatus at the other end through the first communication line and a packet can be transmitted to the communication apparatus at the other end through the second communication line,

the control unit determines that two or more of the plurality of packets generated in the packet generation unit should be transmitted from the second transmitting unit.

The communication apparatus disclosed in Supplementary note 1 or 2, wherein

when it is determined that communication quality in the second communication line is lower than predetermined communication quality in the monitoring unit, the control unit determines that two or more of the plurality of packets generated in the packet generation unit should be transmitted from the second transmitting unit, and

when it is determined that the communication quality in the second communication line is higher than the predetermined communication quality in the monitoring unit, the control unit determines that no redundant packet should be transmitted from the second transmitting unit.

The communication apparatus disclosed in any one of Supplementary notes 1 to 3, wherein when two or more packets are transmitted from the first or second transmitting unit or when two or more packets are transmitted from each of the first and second transmitting units, the control unit sets a period longer than a predetermined period as an interval between transmissions of packets.

The communication apparatus disclosed in any one of Supplementary notes 1 to 4, wherein when packets are transmitted by using the first and second communication lines, the control unit transmits a packet from the first transmitting unit and then, after a predetermined period has elapsed, transmits a packet from the second transmitting unit.

The communication apparatus disclosed in any one of Supplementary notes 1 to 5, wherein the first communication line is a communication line managed by a telecommunications carrier different from a telecommunications carrier managing the second communication line, a communication line using a wireless communication method different from a wireless communication method used for the second communication line, or a communication line using a frequency different from a frequency used for the second communication line.

The communication apparatus disclosed in any one of Supplementary notes 1 to 6, wherein the first communication line is a mobile network line including a wireless communication line and the second communication line is a wired communication line.

The communication apparatus disclosed in any one of Supplementary notes 1 to 6, wherein each of the first and second communication lines is a wired communication line.

The communication apparatus disclosed in any one of Supplementary notes 1 to 7, wherein the control unit assigns sequence numbers to packets transmitted from the first and second transmitting units, the sequence numbers indicating an order of the packets.

The communication apparatus disclosed in any one of Supplementary notes 1 to 9, wherein the control unit receives information about communication states of the first and second communication lines through the first and second communication lines.

The communication apparatus disclosed in any one of Supplementary notes 1 to 9, wherein the control unit receives information about communication states of the first and second communication lines from a management apparatus that manages the information about the communication states of the first and second communication lines.

A communication system comprising:

a transmitting apparatus configured to transmit two or more of a plurality of duplicated packets to a receiving apparatus by using at least one of first and second communication lines according to communication states of the first and second communication lines; and

the receiving apparatus configured to delete a duplicate packet when the receiving apparatus receives the plurality of duplicated packets through at least one of the first and second communication lines.

A communication method comprising:

monitoring communication states of first and second communication lines;

generating a plurality of packets by duplicating a packet; and

transmitting two or more of a plurality of duplicated packets to a communication apparatus at the other end through the first and second communication lines by using at least one of the first and second communication lines according to the communication states.

A program for causing a computer to perform:

monitoring communication states of first and second communication lines;

generating a plurality of packets by duplicating a packet; and

transmitting two or more of a plurality of duplicated packets to a communication apparatus at the other end through the first and second communication lines by using at least one of the first and second communication lines according to the communication states.

REFERENCE SIGNS LIST