Communication apparatus and communication method

A communication apparatus according to an aspect of the present invention is a communication apparatus that is able to be connected to a different communication apparatus via a network including three or more paths, the communication apparatus including a processing circuitry configured to measure a network state for each of the three or more paths, calculate an evaluation value based on a result of measuring the network state for each of the three or more paths, select at least two paths to be used for communication from among the three or more paths based on the calculated evaluation value, generate a packet for transmission through duplication of an input packet, and transmit the generated packet to the different communication apparatus through the selected paths.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a 371 U.S. National Phase of International Application No. PCT/JP2019/025193 filed on Jun. 25, 2019. The entire disclosure of the above application is incorporated herein by reference.

TECHNICAL FIELD

The present invention relates to a data transfer technology.

BACKGROUND ART

An uninterrupted network system capable of transferring frames without losing any frames even if a failure occurs in a relay network by duplicating the frames and transmitting the frames through a plurality of paths is known (see Patent Literature 1, for example).

CITATION LIST

Patent Literature

SUMMARY OF THE INVENTION

Technical Problem

According to the uninterrupted network system as described above, while it is possible to achieve network quality that a user desires, such as reliability, by increasing the number of paths, more frames flow in the relay network, and this leads to an increase in network load.

The present invention was made in view of the aforementioned circumstances, and an object thereof is to provide a technology for an uninterrupted network system capable of reducing a network load while achieving desired network quality.

Means for Solving the Problem

A communication apparatus according to an aspect of the present invention is a communication apparatus that is able to be connected to a different communication apparatus via a network including three or more paths, the communication apparatus including: a processing circuitry configured to measure a network state for each of the three or more paths, calculate an evaluation value based on a result of measuring the network state for each of the three or more paths, select at least two paths to be used for communication from among the three or more paths based on the calculated evaluation value, generate a packet for transmission through duplication of an input packet, and transmit the generated packet to the different communication apparatus through the selected paths.

Effects of the Invention

The present invention provides a technology for an uninterrupted network system capable of reducing a network load while achieving desired network quality.

DESCRIPTION OF EMBODIMENTS

Related Technologies

First, an uninterrupted network system according to related technologies will be described with reference toFIGS.7to10. The same reference signs will be applied to similar components throughoutFIGS.7to9, and repeated description will be omitted.

FIG.7illustrates an overview of a two-path uninterrupted network system70that is an example of an uninterrupted network system according to a related technology. As illustrated inFIG.7, the uninterrupted network system70relays communication between user apparatuses75and76. The uninterrupted network system70includes uninterrupted communication apparatuses71and72and a network73. The network73includes two paths731and732, and the paths731and732connect the uninterrupted communication apparatuses71and72, respectively. Although the network73may be Ethernet (registered trademark), the network73is not limited thereto. As the network73, networks of various layers can be used.

The user apparatus75is connected to the uninterrupted communication apparatus71, and the user apparatus76is connected to the uninterrupted communication apparatus72. The user apparatuses75and76transmit and receive data to and from each other via the uninterrupted communication apparatuses71and72and the paths731and732. The transmitted and received data is packeted data (also referred to as a packet) as frames used in the Ethernet. Hereinafter, the transmitted and received data will be referred to as a frame.

Here, the uninterrupted network system70will be described by exemplifying a case in which the user apparatus75transmits a frame to the user apparatus76.

The uninterrupted communication apparatus71receives a frame directed to the user apparatus76from the user apparatus75and duplicates the received frame to generate two transmission frames. Each of payloads in the two transmission frames includes the frame from the user apparatus75. The uninterrupted communication apparatus71transmits the two generated frames to the uninterrupted communication apparatus72through the paths731and732. The uninterrupted communication apparatus71transmits one of the frames to the path731and transmits the other frame to the path732.

The uninterrupted communication apparatus72receives the frames from the paths731and732, performs frame selection processing on the received frames, and transmits the frame obtained through the frame selection processing to the user apparatus76. The uninterrupted communication apparatus72receives the same frames from the paths731and732, and the frame selection processing includes selecting one of the frames received from the paths731and732and discarding the other frame.

It is thus possible to transfer frames from the user apparatus75without disconnection even if a failure occurs in one of the paths731and732.

FIG.8illustrates an overview of a three-path uninterrupted network system80that is another example of an uninterrupted network system according to a related technology. As illustrated inFIG.8, the uninterrupted network system80includes uninterrupted communication apparatuses71and72and a network83. The network83includes three paths831,832, and833. The number of paths in the network83is one more than the number of paths in the network73illustrated inFIG.7.

The uninterrupted communication apparatuses71and72transmit and receive frames to and from each other via the paths831,832, and833. For example, the uninterrupted communication apparatus71duplicates a frame received from the user apparatus75to generate three transmission frames. The uninterrupted communication apparatus71transmits the three generated frames to each of the paths831,832, and833. The uninterrupted communication apparatus72receives frames from the paths831,832, and833, performs frame selection processing on the frames, and transfers the frames obtained through the frame selection processing to the user apparatus76.

The uninterrupted network system80has higher system reliability corresponding to the number of paths between the uninterrupted communication apparatuses71and72that is one more than that in the uninterrupted network system70illustrated inFIG.7.

FIG.9illustrates an overview of an m-path uninterrupted network system90that is yet another example of an uninterrupted network system according to a related technology. Here, m is an integer that is equal to or greater than four. As illustrated inFIG.9, the uninterrupted network system90includes uninterrupted communication apparatuses71and72and a network93. The network93includes in paths931,932, . . . ,93m. The number of paths in the network93is (m−3) more than the number of paths in the network83illustrated inFIG.8.

The uninterrupted communication apparatuses71and72transmit and receive frames to and from each other via the paths931,932, . . . ,93m. For example, the uninterrupted communication apparatus71duplicates a frame received from the user apparatus75to generate m transmission frames. The uninterrupted communication apparatus71transmits the m generated frames to the paths931,932, . . . ,93m, respectively. The uninterrupted communication apparatus72receives frames from the paths931,932, . . . ,93m, performs frame selection processing on the received frames, and transmits the frame obtained through the frame selection processing to the user apparatus76.

The uninterrupted network system90has higher system reliability corresponding to the number of paths between the uninterrupted communication apparatuses71and72that is larger than that in the uninterrupted network system80illustrated inFIG.8by (m−3).

In this manner, network quality is enhanced as the number of paths increases in regard to reliability that is an example of network quality in the uninterrupted network systems. It is also possible to apply such an uninterrupted network system to a network configured with two or less transmission paths.

In the aforementioned uninterrupted network system80or90, frame transfer is performed using all the three paths or all the m paths. In this case, the following problems may occur.

Load on Network

One of the problems is a load on a network apparatus. In a case in which there are a plurality of paths between uninterrupted communication apparatuses, the paths may partially pass the same transmission path or the same network apparatus. It is assumed that in an uninterrupted network system using all n paths (hereinafter, referred to as an n/n-path uninterrupted network system), for example, all paths pass through one network apparatus. Here, n is an integer that is equal to or greater than three. In this case, a load is generated for processing n same frames in the network apparatus. The load becomes significant as the number n of paths increases.

Reliability There may be a case in which it is better to use just two paths from among n paths between the uninterrupted communication apparatuses. An uninterrupted network system selecting two paths from among the n paths and performs communication using the two selected paths will be referred to as a 2/n-path uninterrupted network system. For example, a situation in which reliability in an n/n-path uninterrupted network system is represented as R_(n/n), reliability in a 2/n-path uninterrupted network system is represented as R_(2/n), target reliability is represented as R_TH, and the following inequality is met will be considered.
R_(n/n)≥R_(2/n)≥R_TH
This means a situation in which target reliability is achieved even if all the n paths are used or two paths are used and the remaining (n−2) paths are not used in the n-path uninterrupted network system. Thus, superiority/inferiority of the n/n-path uninterrupted network system and the 2/n-path uninterrupted network system is determined by other indexes.
Power Consumption

One example of other indexes is power consumption of the entire system. Generally, lower power consumption is better. If the power consumption of the n/n-path uninterrupted network system is represented as W_(n/n) and the power consumption of the 2/n-path uninterrupted network system is represented as W_(2/n), the following inequality is satisfied.
W_(n/n)≥W_(2/n)
A factor that the aforementioned inequality is satisfied is power consumption at ports. Since power is needed to cause the ports that are interfaces with paths to operate, the power consumption at the ports increases in proportion to the number of ports to be used.

Thus, in the case in which the aforementioned inequality is satisfied, the 2/n-path uninterrupted network system is superior to the n/n-path uninterrupted network system if two indexes, namely the reliability and the power consumption are taken into consideration.

However, how to select the two paths from among the n paths in the 2/n-path uninterrupted network system is problematic.

FIG.10illustrates, as an example, a temporal change in evaluation value of each path in the three-path uninterrupted network system80illustrated inFIG.8. InFIG.10, R_(1), R_(2), and R_(3) represent evaluation values of the three paths. The evaluation values at the time t are calculated based, for example, on reliability and power consumption of the paths measured at the time t. In the example illustrated inFIG.10, the evaluation value R_(3) is the best at the time t_0.

The evaluation values change with time due to a failure or the like in the network apparatuses or a transmission path in the paths. Thus, a situation in which the evaluation value R(3) at the time t_1 does not satisfy R_TH that is a threshold value of target performance may occur.

EMBODIMENT

Next, an uninterrupted network system according to an embodiment of the present invention will be described with reference toFIGS.1to6.

Configuration

FIG.1illustrates, as an example, an overview of a communication system according to an embodiment of the present invention. The communication system illustrated inFIG.1includes an uninterrupted network system10and user apparatuses15and16. The uninterrupted network system10relays communication between the user apparatuses15and16.

The uninterrupted network system10includes uninterrupted communication apparatuses11and12and a network13. The uninterrupted communication apparatus11is connected directly or indirectly to the user apparatus15. The uninterrupted communication apparatus12is connected directly or indirectly to the user apparatus16. The uninterrupted communication apparatus11is connected to the uninterrupted communication apparatus12via the network13.

The network13includes three or more paths. In example inFIG.1, the network13includes four paths131,132,133, and134. The paths131,132,133, and134connect the uninterrupted communication apparatuses11and12. Although the network13may be an Ethernet (registered trademark), the network13is not limited thereto. As the network13, networks of various layers can be used.

Here, the uninterrupted network system10will be described by exemplifying the case in which the user apparatus15transmits a frame to the user apparatus16.

The uninterrupted communication apparatus11includes a measurement unit111, a calculation unit112, a path selection unit113, a frame duplication unit114, and a notification unit115. Although the uninterrupted communication apparatus11has a transmission function and a reception function, components related to the transmission function are selectively illustrated inFIG.1for simplification of explanation. The uninterrupted communication apparatus11further includes components related to the reception function.

The measurement unit111measures a network state for each of the paths131to134. The network state includes information indicating network quality of each path. Specifically, the network state includes at least one network quality index. Examples of the network quality index includes a delay between the uninterrupted communication apparatuses11and12, reliability, a delay variation (jitter) between the uninterrupted communication apparatuses11and12, and a transfer cost between the uninterrupted communication apparatuses11and12.

The calculation unit112calculates an evaluation value based on the result of measuring the network state output from the measurement unit111, for each of the paths131to134. For example, the calculation unit112calculates the evaluation value of each path by applying the result of measuring the network state of the path to a predetermined evaluation function. In the present embodiment, the evaluation function is designed such that the evaluation value increases for better network quality.

The path selection unit113selects at least two paths to be used for communication from among the paths131to134based on the evaluation values calculated by the calculation unit112. In a case in which there are two or more evaluation values exceeding a predetermined threshold value, for example, the path selection unit113selects two paths from among the paths with the evaluation values exceeding the predetermined threshold value. For example, the path selection unit113selects the paths with the first and second highest evaluation values. In a case in which the number of evaluation values exceeding the predetermined threshold value is less than two, the path selection unit113selects N paths from among the paths131to134. Here, N is an integer that is equal to or greater than three.

The frame duplication unit114receives a frame from the user apparatus15and duplicates the received frame to generate frames for transmission. The frame duplication unit114generates the same number of transmission frames as the number of paths selected by the path selection unit113. The frame duplication unit114transmits the generated frames to the uninterrupted communication apparatus12through the paths selected by the path selection unit113. In a case in which the paths131and134are selected by the path selection unit113as illustrated inFIG.2, for example, the frame duplication unit114duplicates the frame from the user apparatus15to generate two frames transmission, transmits one of the generated frames to the path131, and transmits the other frame to the path134.

In a case in which the number of evaluation values exceeding the predetermined threshold value is less than two, the notification unit115provides a notification that the communication quality of the network13is low to a predetermined apparatus (for example, a server that manages the network13).

The uninterrupted communication apparatus12includes a measurement unit121and a frame selection unit122. Although the uninterrupted communication apparatus12has a transmission function and a reception function, components related to the reception function are selectively illustrated inFIG.1for simplification of explanation. The uninterrupted communication apparatus12further includes components related to the transmission function.

The measurement unit121operates in conjunction with the measurement unit111of the uninterrupted communication apparatus11to measure the network state for each of the paths131to134. For example, the measurement unit121transmits an Ack frame to the uninterrupted communication apparatus11in response to reception of a frame from the uninterrupted communication apparatus11. The measurement unit111of the uninterrupted communication apparatus11calculates a delay between the uninterrupted communication apparatuses11and12based on the Ack frame from the uninterrupted communication apparatus12.

The frame selection unit122receives frames from the paths131to134, performs frame selection processing on the received frames, and transmits the frame obtained through the frame selection processing to the user apparatus16. In a case in which the uninterrupted communication apparatus11transmits frames through the paths131and134as illustrated inFIG.2, for example, the frame selection unit122receives the same frames from the paths131and134. The frame selection unit122selects one of the frames received from the paths131and134and discards the other frame.

FIG.3Aillustrates, as an example, results obtained by the measurement unit111measuring the network states and evaluation values calculated by the calculation unit112. In the example illustrated inFIG.3A, the network states include four network quality indexes, namely, a delay between the uninterrupted communication apparatuses, reliability, a delay variation between the uninterrupted communication apparatuses, and a transfer cost between the uninterrupted communication apparatuses. D_(x)_t0 represents a delay between the uninterrupted communication apparatus in a path x at the time t0. Here, x is an integer from 1 to 4. R_(x)_t0 represents reliability of the path x at the time t0, J_(x)_t0 represents a delay variation between the uninterrupted communication apparatus in the path x at the time t0, and C_(x)_t0 represents a transfer cost between the uninterrupted communication apparatuses in the path x at the time t0. F_(x)_t0 represents the evaluation value of the path x at the time t0. The calculation unit112calculates F_(x)_t0 from D_(x)_t0, R_(x)_t0, J_(x)_t0, and C_(x)_t0. The calculation unit112calculates F_(x)_t0 by applying D_(x)_t0, R_(x)_t0, J_(x)_t0, and C_(x)_t0 to the evaluation function. In a case in which the user desires to reduce the transfer cost, for example, the evaluation function is designed to depend mainly on the transfer cost.

FIG.3Billustrates, as an example, of threshold values set for the network states and the evaluation values. InFIG.3B, D_TH represents a threshold value for the delay between the uninterrupted communication apparatuses, R_TH represents a threshold value for the reliability, J_TH represents a threshold value for a delay variation between the uninterrupted communication apparatuses, C_TH represents a threshold value for a transfer cost between the uninterrupted communication apparatuses, and F_TH represents a threshold value for the evaluation values.

The path selection unit113compares the evaluation values F_(1)_t0, F_(2)_t0. F_(3)_t0, and F_(4)_t0 with the threshold value F_TH and selects at least two paths to be used for communication based on the result of the comparison. In a case in which the evaluation values are high in the descending order of F_(1)_t0, F_(4)_t0, F_(3)_t0, and F_(2)_t0, and the three highest evaluation values F_(1)_t0. F_(4)_t0, and F_(3)_t0 exceed the threshold value F_TH (F_(1)_t0>F_(4)_t0>F_(3)_t0>F_TH>F_(2)_t0), for example, the path selection unit113selects the paths131and134with the first and second highest evaluation values.

The path selection unit113may use the threshold values D_TH, R_TH, J_TH, and C_TH for path selection in addition to the threshold value F_TH. In a case in which the reliability R_(4)_t0 of the path134is lower than the threshold value R_TH, and the reliability R_(4)_t of the path133is higher than the threshold value R_TH in the aforementioned example, the path selection unit113may select the paths131and133, for example.

FIG.4illustrates an overview of an example of a hardware configuration of a communication apparatus40according to an embodiment of the present invention. The communication apparatus40illustrated inFIG.4can be an example of the user apparatus15, the user apparatus16, the uninterrupted communication apparatus11, or the uninterrupted communication apparatus12illustrated inFIG.1.

As illustrated inFIG.4, the communication apparatus40includes, as hardware, a central processing unit (CPU)41, a random access memory (RAM)42, a program memory43, an auxiliary storage device44, a communication interface45, and an input/output interface46. The CPU41communicates with the RAM42, the program memory43, the auxiliary storage device44, the communication interface45, and the input/output interface46via a bus47.

The CPU41is an example of a general-purpose hardware processor. The RAM42is used as a working memory by the CPU41. The RAM42includes a volatile memory such as a synchronous dynamic random access memory (SDRAM). The program memory43stores, in a non-transitory manner, various programs and setting data needed to execute the programs. Each program stored in the program memory43includes computer executable instructions. The program (computer executable instructions) causes the CPU41to execute predetermined processing when executed by the CPU41. As the program memory43, a read only memory (ROM), a part of the auxiliary storage device44, or a combination thereof, for example, is used. The auxiliary storage device44stores data in a non-transitory manner. The auxiliary storage device44includes a non-volatile memory such as a hard disk drive (HDD) or a solid state drive (SSD).

In a case in which the communication apparatus40is the uninterrupted communication apparatus11illustrated inFIG.1, the program memory43stores an uninterrupted communication program. When the uninterrupted communication program is executed by the CPU41, the program causes the CPU41to execute a series of processes described in relation to the measurement unit111, the calculation unit112, the path selection unit113, the frame duplication unit114, and the notification unit115.

The communication interface45is an interface for performing communication with different communication apparatuses. In a case in which the communication apparatus40is the uninterrupted communication apparatus11illustrated inFIG.1, the different communication apparatuses include the user apparatus15and the network apparatus included in the network13illustrated inFIG.1. The communication interface45includes a wireless module, a wired module, or a combination thereof. The input/output interface46includes a plurality of terminals to connect input devices and output devices. Examples of the input devices include a keyboard, a mouse, and a microphone. Examples of the output devices include a display device and a speaker.

The program may be provided to the communication apparatus40in a state in which the program is stored in a computer readable storage medium. In this case, the communication apparatus40further includes a drive (not illustrated) to read data from the storage medium and acquires the program from the storage medium, for example. Examples of the storage medium include a magnetic disk, an optical disc (a CD-ROM, a CD-R, a DVD-ROM, a DVD-R, and the like), a magneto-optical disc (an MO and the like), and a semiconductor memory. The program may be stored in a server on a communication network, and the communication apparatus40may download the program from the server using the communication interface45.

The processing described in the embodiment is not limited to the processing performed by a general-purpose processor such as the CPU41executing the program and may be performed by a dedicated hardware processor such as an application specific integrated circuit (ASIC). The term “processing circuitry” used herein includes at least one general-purpose hardware processor, at least one dedicated hardware processor, or a combination of at least one general-purpose hardware processor and at least one dedicated hardware processor. In the example illustrated inFIG.4, the CPU41, the RAM42, and the program memory43correspond to the processing circuitry.

Operations

Next, an operation example of the uninterrupted communication apparatus11illustrated inFIG.1will be described. Here, a situation in which the user apparatus15transmits data to the user apparatus16through the uninterrupted network system10including the uninterrupted communication apparatuses11and12and the network13will be described. The uninterrupted communication apparatus11includes the measurement unit111, the calculation unit112, the path selection unit113, the frame duplication unit114, and the notification unit115as described above in regard toFIG.1.

FIG.5illustrates an overview of a processing procedure of a communication method executed by the uninterrupted communication apparatus11. As illustrated inFIG.5, the uninterrupted communication apparatus11determines at least two paths used for communication (Step S51). The path determination in Step S51will be described later with reference toFIG.6. The uninterrupted communication apparatus11periodically performs path determination. Alternatively or additionally, the uninterrupted communication apparatus11may perform path determination in response to occurrence of communication interruption in any of the paths used for communication.

The frame duplication unit114acquires a frame directed to the user apparatus16from the user apparatus15(Step S52). The frame duplication unit114duplicates the acquired frame to generate the same number of frames for transmission as the number of paths determined in Step S51(Step S53). The frame duplication unit114transmits the generated frames to the uninterrupted communication apparatus12through the paths determined in Step S51(Step S54).

In this manner, the uninterrupted communication apparatus11transfers the frame received from the user apparatus15to the uninterrupted communication apparatus12selectively using the paths131to134included in the network13. The uninterrupted communication apparatus12receives the frames from at least the two paths and selectively transfers the received frames to the user apparatus16. In this manner, the frame output from the user apparatus15arrives at the user apparatus16.

FIG.6illustrates an overview of a procedure example for path determination illustrated in Step S51inFIG.5. As illustrated inFIG.6, the measurement unit111measures a network state for each of the paths131to134(Step S61). For example, the measurement unit111measures a delay between the uninterrupted communication apparatuses, reliability, a delay variation between the uninterrupted communication apparatuses, and a transfer cost between the uninterrupted communication apparatuses for each of the paths131to134. In a case in which the paths131and134are used for communication as illustrated inFIG.2, for example, the measurement unit111may perform measurement for each of the paths131and134using a data frame that is a frame derived from the frame from the user apparatus15and perform measurement for each of the paths132and133using a frame (for example, a control frame) that is different from the data frame.

The calculation unit112calculates the evaluation value based on the result of measuring the network state for each of the paths131to134(Step S62). For example, the calculation unit112calculates the evaluation value of each path by applying the result of measuring the network state of the path to a predetermined evaluation function.

The path selection unit113selects at least two paths used for communication from among the paths131to134based on the evaluation values of the paths131to134.

For example, the path selection unit113sorts a path list in a descending order of the evaluation value (Step S63). The path list includes identification information for identifying each path and the evaluation value for each of the paths131to134. Then, the path selection unit113performs threshold processing on paths from the highest order in the path list (Step S64). The path selection unit113compares the evaluation value of the path that is a target of the processing with a preset threshold value and holds the result of the comparison. The path selection unit113may end the threshold processing in a case in which an evaluation value of a certain path is detected to be below the threshold value. In other words, in a case in which the evaluation value of a certain path is detected to be below the threshold value, the path selection unit113may not perform the threshold processing on the paths in the lower orders than the path.

Next, the path selection unit113determines whether or not the number of paths with the evaluation values exceeding the threshold value is two or more (Step S65). In accordance with a determination that the number of paths with the evaluation values exceeding the threshold value is two or more (Step S65: Yes), the path selection unit113selects the paths in the two highest orders in the path list as the paths to be used for communication (Step S66).

On the other hand, in accordance with a determination that the number of paths with the evaluation values exceeding the threshold value is less than two (Step S65; No), the notification unit115provides a notification that communication quality is low to a predetermined apparatus (Step S67). The path selection unit113increases the number of paths to be used for communication (Step S68). Next, the path selection unit113selects paths by the determined number from the paths in the highest orders in the path list (Step S69). In one example, the path selection unit113determines the number of paths to be used for communication in accordance with the number of paths with the evaluation values exceeding the threshold value. In a case in which the number of paths with the evaluation values exceeding the threshold value is one, for example, the path selection unit113determines the number of paths to be used for communication to be three. In a case in which there are no paths with the evaluation values exceeding the threshold value, the path selection unit113determines the number of paths to be used for communication to be four.

In this manner, the uninterrupted communication apparatus11determines the paths to be used for frame transmission to the uninterrupted communication apparatus12.

Advantages

As described above, the uninterrupted network system10includes the uninterrupted communication apparatus11, the uninterrupted communication apparatus12, and the network13including the paths131to134that connects the uninterrupted communication apparatuses11and12. The uninterrupted communication apparatus11measures the network state for each of the paths131to134, calculates the evaluation value based on the result of measuring the network state for each of the paths131to134, selects at least two paths to be used for communication from among the paths131to134based on the calculated evaluation value, duplicates an input frame to generate frames to transmission, and transmits the generated frames to the uninterrupted communication apparatus12through the selected paths. The uninterrupted communication apparatus11may select two paths from among the paths with the evaluation values exceeding the threshold value in a case in which the number of the evaluation values exceeding the threshold value is two or more, and may select at least three paths in a case in which the number of evaluation values exceeding the threshold value is less than two.

With the aforementioned configuration, paths with high communication quality are used for communication. This reduces the number of paths to be used for communication. As a result, it is possible to reduce a network load while achieving desired network quality.

The uninterrupted communication apparatus11may measure the network state using the data frame derived from the frame from the user apparatus15for each path being used for communication and measure the network state using a frame that is different from the data frame for the other paths. This enables measurement of the network state of each path without affecting frame transfer between the user apparatuses15and16.

The network state includes at least one network quality index such as a delay between the uninterrupted communication apparatuses, a reliability, a delay variation between the uninterrupted communication apparatuses, and a transfer cost between the uninterrupted communication apparatuses. It is thus possible to reduce a network load while achieving a network quality index in accordance with a user's requirement. For example, it is possible to provide a system with a low transfer cost for a user who desires to reduce the transfer cost. For example, it is possible to provide a system with a delay between the uninterrupted communication apparatuses for a user who desires to reduce the delay between the uninterrupted communication apparatuses.

The uninterrupted communication apparatus11may periodically perform the path selection. The uninterrupted communication apparatus11can thus be adapted to a temporal change in network state. The uninterrupted communication apparatus11may perform path selection in response to occurrence of communication interruption in any of the paths being used for communication. The uninterrupted communication apparatus11can thus be quickly adapted to a temporal change in network state.

MODIFICATION EXAMPLES

In the aforementioned embodiment, the path selection unit113selects two paths in a case in which the number of evaluation values exceeding the predetermined threshold value is equal to or greater than two and selects at least three paths in a case in which the number of evaluation values exceeding the predetermined threshold value is less than two. In another embodiment, the path selection unit113may select N paths in a case in which the number of evaluation values exceeding the predetermined threshold value is equal to or greater than N and may select at least (N+1) paths in a case in which the number of evaluation values exceeding the predetermined threshold value is less than N, where N is an integer that is equal to or greater than three.

It is to be noted that the present invention is not limited to the aforementioned embodiments and can be variously modified in the implementation stage without departing from the gist of the present invention. Also, the embodiments may appropriately be performed in combination as long as possible, and in such a case, combined effects can be obtained. Further, the aforementioned embodiment includes the invention in various stages, and various inventions can be extracted from appropriate combinations of a plurality of disclosed components.

REFERENCE SIGNS LIST