Abstract:
A QoS routing apparatus as a node of a logical network to transmit data communicated between user&#39;s terminals comprises a relay unit discriminating whether or not flows of received data are measurement flows and transmitting said received data, a quality measurement unit measuring communication quality of links connected the own apparatus using the measurement flows, a quality accuracy setting unit determining measurement accuracy of the communication qualities of the respective links and a path setting unit prescribing transmission amounts of the measurement flows to the respective links. When the path setting unit prescribes the transmission amounts of the measurement flows, it applies a higher rate to a link which has been determined a lower measurement accuracy.

Description:
This application is based upon and claims the benefit of priority from Japanese patent application No. 2006-294458, filed on Oct. 30, 2006, the disclosure of which is incorporated herein in its entirety by reference. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a QoS routing technology for controlling communication quality of a network, and, more particularly, to a QoS routing technology for a logical network which can select an appropriate path from a plurality of candidate paths such as an overlay network and MPLS (Multi Protocol Label Switching) network. 
     2. Description of the Related Art 
     A QoS routing technology realizes a path selection and a path control based on a state of a network to optimize the rate of usage of a network resource and to improve communication quality. For example, Japanese Patent Application Laid-Open Publication No. 2006-109454 and Japanese National-Publication-of-Translated-Version No. 2003-502941 disclose technologies relating to the QoS routing. 
     Japanese Patent Application Laid-Open Publication No. 2006-109454 discloses a routing method in an overlay network. In the routing method, the cost of a default path (path without overlay node) from a source node to a destination node and the cost of alternate paths other than the default path are measured. The cost referred to here is a value calculated based on communication quality parameters such as a delay of a path, an available bandwidth, and the like to evaluate the path. The method of the publication improves network performance as to a delay, a throughput, and the like by selecting an optimum path based on a result of comparison of two types of costs. 
     Japanese National-Publication-of-Translated-Version No. 2003-502941 discloses a method of selecting a path in an MPLS network. In the method, the link costs of respective links in a network are changed based on a control strategic parameter and a link usage rate. With this operation, a path is effectively selected according to a network state. As described above, in the QoS routing technology, it is necessary to obtain the quality information of a path or a link. 
     In a network logically constructed on a base network such as an overlay network, physical nodes such as routers, switches, and the like on the base network are interposed between adjacent overlay nodes. Thus, since quality information is also changed according to a traffic state of the base network underlying the network, it is difficult to obtain accurate quality information only by a local node. 
     Accordingly, as disclosed also in Japanese Patent Application Laid-Open Publication No. 2006-109454, quality information is obtained by measuring the quality of a path and link. Further, since all the quality information cannot be obtained by a local node in the MPLS network described above, it is necessary to determine the quality information such as a delay, a loss ratio, and the like by measurement. 
     A method of obtaining the quality information of a path is roughly divided to two types, that is, an active measurement and a passive measurement. The active measurement is a method of measuring communication quality by creating a measurement-dedicated flow separately in addition to a user flow and flowing the measurement-dedicated flow to a to-be-measured path or link. The passive measurement measures quality by observing a user&#39;s flow without using a special measurement flow. Further, as one of advanced methods of the passive measurement, there is a method called an inline measurement. The inline measurement measures communication quality by comparing the transmission interval of a packet with the reception interval thereof while adjusting a packet interval of a user&#39;s flow. 
     However, the methods of obtaining quality information by the measurement described above have the following problems. 
     A first problem resides in that when the active measurement is used as a measurement method, a measurement flow applies an extra load to a network. To measure quality of a path and link, a measurement packet must be periodically transmitted to a network, which causes a measurement traffic to apply a predetermined load to the network. More particularly, when the transmission bandwidth of a path is narrow or when the measurement packet is sent to a jammed path and link, a larger load is applied thereto. As a result, the transmission of an ordinary packet fails. 
     A second problem resides in that when the passive measurement is used as the measurement method, there is a possibility that measurement accuracy is lowered. In the passive measurement, since a user&#39;s traffic is used to measurement, when a sufficient user&#39;s traffic does not exist, it is difficult to obtain a significant value as measurement data. 
     Accordingly, an object of the present invention is to provide a technology for improving measurement accuracy while suppressing the overhead of a measurement traffic in an apparatus for carrying out QoS routing based on a result of measurement of the quality information of a path or link. 
     SUMMARY OF THE INVENTION 
     The present invention provides a QoS routing method for a plurality of node apparatuses which form a logical network to transmit data communicated between user&#39;s terminals, wherein each of the plurality of node apparatuses carries out steps of: discriminating whether or not flows of received data are measurement flows; measuring communication quality of links connected to the own apparatus using the measurement flows; determining measurement accuracy of the communication quality of the respective links; prescribing transmission amounts of the measurement flows to the respective links; and applying, when the transmission amounts are prescribed, a higher rate to a link which has been determined a lower measurement accuracy. 
     The present invention further provides a QoS routing apparatus as a node of a logical network to transmit data communicated between user&#39;s terminals, comprising: a relay unit discriminating whether or not flows of received data are measurement flows and transmitting said received data; a quality measurement unit measuring communication quality of links connected the own apparatus using the measurement flows; a quality accuracy setting unit determining measurement accuracy of the communication qualities of the respective links; and a path setting unit prescribing transmission amounts of the measurement flows to the respective links, wherein when the path setting unit prescribes the transmission amounts of the measurement flows, it applies a higher rate to a link which has been determined a lower measurement accuracy. 
     According to the present invention, when QoS routing is carried out, a control can be dynamically carried out to guide a specific flow to a link with the lower measurement accuracy. With this operation, the measurement accuracy of the communication qualities of the respective links can be prevented from being deflected to specific links. As a result, high measurement accuracy can be obtained in all the links. Further, since the flows communicating between the users are used to measure communication quality, a measurement overhead can be suppressed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram showing an arrangement of a first embodiment of the present invention; 
         FIG. 2  is an explanatory view of a link state table in the first embodiment of the present invention; 
         FIG. 3  is an explanatory view of candidate paths in the first embodiment of the present invention; 
         FIG. 4  is an explanatory view of a routing table in the first embodiment of the present invention; 
         FIG. 5  is a flowchart showing an operation of the first embodiment of the present invention; 
         FIG. 6  is an explanatory view of a link state table in the first embodiment of the present invention; 
         FIG. 7  is a block diagram showing an arrangement of a second embodiment of the present invention; 
         FIG. 8  is an explanatory view of a correlation table of the second embodiment of the present invention; and 
         FIG. 9  is a block diagram showing an arrangement of a third embodiment of the present invention. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       FIG. 1  shows an arrangement of a first embodiment of the present invention. A system  101  of the embodiment is composed of overlay nodes A 1 -A 4 , links B 12 -B 34 , a base network C 1 , and terminal groups D 1 -D 4 . The overlay nodes A 1 -A 4  are connected to the physical base network C 1  and form an overlay network by links B 12 -B 34  which are logical transmission paths set on the base network C 1 . 
     The user&#39;s terminal groups D 1 -D 4  are connected to the overlay nodes A 1 -A 4 . The terminal groups D 1 -D 4  denote an assembly of equipment such as a client, a server, and the like under the control of the overlay nodes A 1 -A 4 , respectively and carry out a communication with each other. 
     Since each of the overlay nodes A 1 -A 4  has the same arrangement, the arrangement will be explained below as to the overlay node A 1  as an example. As shown in  FIG. 1 , the overlay node A 1  includes a routing protocol A 11 , a routing table A 12 , a quality measurement unit A 13 , and a flow relay unit A 14 . 
     The routing protocol A 11  has a function for exchanging the path information and calculating the paths in an overlay network and includes a cost setting unit A 111 , a path information exchange unit A 112 , a link state table A 113 , and a path calculation/setting unit A 114 . 
     The cost setting unit A 111  is a component corresponding to a quality accuracy setting unit in a QoS routing apparatus of the present invention. The cost setting unit A 111  has a function for setting the costs of respective paths and links used to the calculation of the paths of transmission data. The cost referred to here is the same as that used in an ordinary routing technology and is a value obtained by standardizing the communication quality parameters such as a delay of a path, an available bandwidth, and the like for evaluating the path. 
     The cost setting unit A 111  sets the cost of links which are connected to the overlay node A 1  in each one direction. That is, in the overlay node A 1 , the costs of the links B 12 , B 13 , B 14 , which are directed from the overlay node A 1  to the overlay nodes A 2 , A 3 , A 4 , are set. The costs set here are registered to the link state table A 11  and further notified to the other overlay nodes by the path information exchange unit A 112 . 
     Further, the cost setting unit A 111  sets the cost of a specific data flow defined as a measurement flow in the transmission data, in addition to the cost used to the routing of the flow of ordinary transmission data. Hereinafter, the former cost (cost of the ordinary flow) is called as an ordinary cost, and the latter cost (cost of the measurement flow) is called as a measurement cost. Here, flows denote packet groups with a common source and destination IP address and a common port number, and one packet group corresponds to one flow. 
     The ordinary cost is the same as that used in an ordinary QoS routing apparatus, and the value of the ordinary cost is calculated based on the information of communication quality as described above. When a QoS routing is carried out based on the delay as the quality information, the values of the delays of the respective links can be used as costs as they are. More specifically, when, for example, a delay is 10 milliseconds, the cost is set to “10”. With this operation, a delay-based QoS routing, in which a path whose total cost is minimized is handled as a path with a smallest delay, can be carried out. 
     Further, when, for example, the available bandwidth is used as the quality information, there is a method of setting the inverse numbers of the available bandwidths of the respective links as the values of costs and selecting a path in which the maximum costs of the respective links are equal to or less than a threshold value. 
     Note that when the ordinary cost is calculated, the cost should be calculated using values which are measured a plurality of times in place of calculating the cost based on a value of the quality information measured once in order to suppress a calculation error. For this purpose, there is contemplated a method of calculating the ordinary cost using, for example, the average of n pieces of values measured within x seconds from a present time t′ or a value subjected to a weighted average treatment by weighting respective measured values. 
     On the other hand, a measurement cost is a value determined based on the measurement accuracy of the quality information of the respective links. When the measurement cost is set, a smaller measurement value is set to a link with lower the measurement accuracy, whereas a larger value is set to a link with higher the measurement accuracy. To increase the measurement accuracy of a link, it is sufficient to increase the number of times of measurement, that is, to increase the number of the flows of the link. Thus, the cost setting unit A 111  guides to increase the number of the measurement flows of the link by setting a smaller link cost to a link with lower the measurement accuracy. With this operation, the measurement accuracy of a link whose the measurement accuracy is lowered can be improved. 
     There are contemplated various methods as to how the measurement accuracy of the quality information is defined. When, for example, a delay is used as quality information, measurement accuracy MA can be determined from the following equation (1) when the measurement time of the n pieces of the values, which are measured within the x seconds from the present time t′ in the packets whose delay is measured, is shown by t(k) (k=1, . . . , n).
 
MA=Σ —   k (1/( t′−t ( k ))  (1)
 
     According to the expression (1), when measurement is carried out a larger number of times in a period near from the present, the measurement accuracy has a larger value. The measurement accuracy can be measured by, for example, a method of using the number of packets used to measurement or the width of a reliability zone, in addition to the above method. Further, a method according to a type and an operation policy of current quality information may be appropriately employed. 
     The path information exchange unit A 112  exchanges the quality information of the paths and links between the respective nodes such as the IP address and interface information of the respective nodes to the other overlay nodes (A 2 -A 4 ). With this function, topology information and the quality information of the paths and links can be shared between the respective overlay nodes which join to the overlay network. The information as to the paths and links in the network which are exchanged by the information exchange unit A 112  is recorded to the link state table A 113 . 
       FIG. 2  shows a link state table A 113 _ 1  as an example of the link state table A 113 . The link state table A 113 _ 1  records the ordinary cost and the measurement cost of a link (one direction) relating to the overlay nodes (A 1 -A 4 ) of the overlay network in the unit of the overlay nodes. The illustrated “ordinary cost” and “measurement cost” record the cost values calculated by the method described above. Since the illustrated link state table A 113 _ 1  is the table of the overlay node A 1 , the information set by the overlay node A 1  is recorded to the “A 1 ” of the “node”. Further, the information as to the other nodes “A 2 ”, “A 3 ”, and “A 4 ” is recorded based on the information notified from the corresponding overlay nodes (A 2 -A 4 ) to the overlay node A 1 . 
     The path calculation/setting unit A 114  has a function for calculating the flow path of each destination of transmission data using the information of the nodes and links held in the link state table A 113 . In the calculation of the path, the rate of the transmission amounts of the respective links, that is, the rate of the number of flows to be allocated to the respective links is calculated as to each of the ordinary flow and the measurement flow. The calculated rate is reflected to the routing table A 12 . 
     The ordinary flow and the measurement flow may use a different path calculation algorithm which is used by the path calculation/setting unit A 114 . The path calculation algorithm for the ordinary flow may be other algorithm although its example is shown in the explanation of the ordinary cost in the cost setting unit A 111 . On the other hand, basically, algorithm for guiding the measurement flow to a link with a smaller cost is employed as a calculation algorithm to the measurement flow. Two examples are shown below as the algorithm. 
     A first example of the algorithm for the measurement flow is a shortest path first (SPF) algorithm, that is, a so-called Dijkstra algorithm. According to the algorithm, the measurement flow is guided to flow to a path in which the measurement costs set to the respective links have a smallest sum. 
     A second example is an algorithm arranged such that after a path up to a certain destination is restricted to one hop path (no node is interposed) or a two hop (one node is interposed) path, a smaller value is selected from the measurement costs set to the links of each path, the number of flows to each path is allocated based on the inverse number rate of the selected value. 
     Here, an example will be explained in which the overlay node A 1  calculates a path to the overlay node A 3  to the measurement flow using the algorithm of the second example.  FIG. 3  shows path candidates from the overlay node A 1  to the overlay node A 3 . The candidates are three paths E 13 , E 123 , and E 143 . The path E 13  is a path of the one hop from the overlay node A 1  to the overlay node A 3 , and further the paths E 123  and E 143  are paths of the two hops. 
     When a measurement cost is referred to from the link state table A 113 _ 1  show in  FIG. 2 , the measurement cost to the path E 13  (A 1  to A 3 ) of the one hop is “4”. Further, as to the path E 123  of the two hops, reference is made to the information of the two links B 12  and B 23  (A 2  to A 3 ) which constitute the path. The measurement cost of the link B 12  (A 1  to A 2 ) is “8”, and the measurement cost of the link B 23  (A 2  to A 3 ) is “6”. In this case, a smaller value is selected, and “6” is obtained as the measurement cost of the path E 123 . Likewise, the measurement cost of the path E 143  of the two hops is set to “1”. 
     The number of the measurement flows is allocated to the paths E 13 , E 123 , and E 143  at the rates of “¼”, “⅙” and “1”, respectively, based on the measurement cost determined as described above. As a result, a largest allocation rate is given to the path E 143  in the three paths which have a lowest measurement cost, that is, have a lowest measurement accuracy of quality. With this operation, a larger number of measurement flows flow to the path E 143 . Note that the allocated rate can be applied to, for example, a Weighted Round Robin (WRR) algorithm. Then, when a new flow passing through the overlay node A 1  occurs, any path is set to the new flow by the algorithm. 
     The path information determined by the path calculation/setting unit A 114  is recorded to the routing table A 12 .  FIG. 4  shows a routing table A 12 _ 1  as an example of the routing table A 12 . In the routing table A 12 _ 1 , path information is set to each of the “ordinary” and “measurement” of the “FLOW CLASS” field in each “DESTINATION IP ADDRESS” field. 
     An “IDENTIFIER” field is an identifier for identifying the flow class of transmission data. In the illustrated example, a port number, or a combination of an IP address and the port number is set. The illustrated identifier “any” is an entry showing a wild card, and a “dst port” shows a specific destination port number. In the example of  FIG. 4 , the flow whose destination port number is “1080” (“dst port=1080”) in the flows whose destination IP address is “100.2/16” is defined as the measurement flow, and the flow with the other destination port number (“any”) is defined as the ordinary flow. Further, in the illustrated other example, the flow whose destination IP address (“src addr”) is “200.1.0/24” as well as whose source port number (“src port”) is “1024” in the flows whose destination IP address is “100.3/16” is defined as the measurement flow. 
     Note that a destination port number of a communication, which frequently uses the overlay network, is preferably set as the destination port number applied to the measurement flow. As a more specific example when, for example, Napster®, which is a P2P (Peer to Peer) file sharing application, is used, a port number “8875” or “7777” can be set as the identifier of the measurement flow. 
     In  FIG. 4 , as paths (“NEXT HOP”) to the measurement flow of the destination IP address “100.2/16”, there are three paths “2.2.2.2” corresponding to the overlay node A 2 , “3.3.3.3” corresponding to the overlay node A 3 , and “4.4.4.4” corresponding to the overlay node A 4 . 
     Further, a “WEIGHT” is set to the respective paths. The weight is a value corresponding to the allocation rate of the number of flows calculated by the path calculation/setting unit A 114  described above. In the illustrated example, weights “0.14”, “0.29”, and “0.57” for the measurement flow of the destination IP address “100.2/16” are recorded to the above three paths. Any of the flows is set to each of the measurement flows with the destination IP address “100.2/16”. 
     An “IMPARTING LABEL” of  FIG. 4  shows the value of a label imparted to each packet of the flow for fixing the flow to a specific path. This is the same as a label used in an MPLS network path for identifying a path. Routing for uniquely designating the path from the input side node to the out side node of a flow can be carried out by using the label in place of hop by hop routing for selecting a path to each one hop. 
     The quality measurement unit A 13  has a function for carrying out the passive measurement using the flow relayed by the flow relay unit A 14 . A type of the quality information to be measured here includes the delay, the loss rate, the available bandwidth, and the like of a link between the overlay node A 1  and the adjacent nodes (A 2 -A 4 ). The measured quality information is delivered to the cost setting unit A 111  and used to set the ordinary cost and the measurement cost described above. 
     The flow relay unit A 14  receives a packet transmitted from a terminal group such as the terminal group D 1  under the control of the overlay node A 1 . To any of the ordinary flow and the measurement flow a received packet belongs is discriminated based on an identifier such as the destination port number of the packet. Further, the transmission path of the packet is determined based on the routing table A 12 . At the time, the label (“IMPARTING LABEL” in  FIG. 4 ) is imparted to fix a path when necessary. 
     Various types of layers are contemplated as the layer relayed by the flow relay unit A 14 . A case of an IP level relay, a case of a UDP level relay, and a case of a TCP level relay will be explained below. 
     In the IP level relay, the flow relay unit A 14  receives an IP packet from the terminal group D 1  and transmit it. Further, the flow relay unit A 14  encapsulates the received packet by an IP header for the overlay network and transmits it, when necessary. In the UDP level relay, a UDP connection from the terminal group D 1  is terminated once, and another UDP connection is stretched again between overlay nodes, thereby a relay is carried out in a UDP connection level. In the TCP level relay, a TCP connection from the terminal group D 1  is terminated once, and another TCP connection is stretched again between the overlay nodes, thereby a relay is carried out in a TCP connection level. 
     Further, the flow relay unit A 14  includes an API (Application Program Interface), and the API handles the measurement information such as the delay, the loss rate, the available bandwidth, and the like of each link. Specifically, delay information, packet loss information, and control information as to a packet interval adjustment are transmitted and received between the API and the quality measurement unit A 13 . 
     Here, the flow relay unit A 14  includes a measurement function called as an inline measurement and measures the use available bandwidth in the quality measurement unit A 13 . The incline measurement is a function for measuring the available bandwidth while adjusting the intervals of packets to be transmitted. An example, in which the available bandwidth is measured using the inline measurement technology, will be explained below. 
     On a transmission side, a pair of packets (p_i, p_(i+1)) with a packet size M are transmitted at an interval of x_i seconds, and the interval y_i of an acknowledgement response (Ack) packet to the respective packets is monitored. Then, a transmission rate (M/x_i) is compared with an arrival rate (M/y_i) on a receiving side. When “M/x_i=M/y_i” is satisfied, it is assumed that the available bandwidth is “M/x_i” or more, whereas when “M/x_i&gt;M/y_i” is satisfied, it is assumed that the available bandwidth is less than “M/x_i”. As described above, the available bandwidth can be estimated by transmitting the pair of packets at various intervals “x_k” and statistically processing the result of measurement. 
     As shown in  FIG. 1 , the links B 12 -B 34  are virtual transmission paths which connect the overlay nodes A 1 -A 4 , respectively and are emulated by encapsulating packets such as IP tunnels and the like. The topology of the overlay network may be a full mesh topology which has links between all the nodes or a partial mesh topology which has links between only a part of the nodes. When the former full mesh topology is used, quality is measured between all the overlay node pairs. Then, a link, which is used as a path for actually transmitting a flow, is determined from between measured pairs of overlay nodes. Further, when it is desired to previously restrict the path of the flow such as when a particular link is removed from path candidates, the latter partial mesh topology is preferable. In this case, quality is measured only between a pair of the overlay nodes which correspond to the link previously set as a usable link. 
     The base network C 1  is a physical network acting as the base of a virtual overlay network. In, for example, the overlay network, a packet, which flows in the paths A 1 -&gt;A 2 -&gt;A 3 , is encapsulated by a header including the source/destination address of the base network C 1 . Then, the packet is handled as a packet transmitted from the overlay node A 1  to the overlay node A 2  and using the overlay node A 2  as a destination in the zone of the node A 1  to the node A 2  in the base network C 1 . Further, in the zone of the node A 2  to the node A 3 , the packet is handles as a packet transmitted from the overlay node A 2  to the overlay node A 3  and using the overlay node A 3  as a destination. 
     The operation of the overlay node A 1  as to the measurement flow will be explained in detail referring to a flowchart shown in  FIG. 5 . When the overlay node A 1  receives a packet which is discriminated as the measurement flow by the flow relay unit A 14 , it determines a next hop and an imparting label based on a relevant entry of the routing table A 12  and transmits a received packet (step S 101 ). 
     The quality measurement unit A 13  measures the communication quality of a link through which a measurement flow passes by the passive measurement (step S 102 ). The passive measurement carries out here uses the inline measurement function described above and measures the values of the delays and the available bandwidths of the respective links. 
     When a result of the quality measurement of the links carries out by the quality measurement unit A 13  is obtained, the cost setting unit A 111  determines the ordinary cost based on the measurement value and updates the ordinary cost of the link state table A 113  (step S 103 ). Note that, as described above, when the cost is calculated, it is possible to reduce the influence of a calculation error by calculating the cost using values calculated a plurality of times. 
     Next, the cost setting unit A 111  calculates the measurement accuracy of the communication quality (step S 104 ). As described in the explanation of the cost setting unit A 111 , the measurement accuracy is calculated using such an algorithm that measurement accuracy has a larger value as a larger value is calculated during the period near from the present. The cost setting unit A 111  updates the measurement cost of the link state table A 113  based on the calculated measurement accuracy (step S 105 ). As described above, the measurement cost is updated such that it is set to a smaller value when lower measurement accuracy is calculated. When the updated cost is exchanged between other overlay nodes by the path information exchange unit A 112  (step S 106 ). 
     As to the link of the overlay node A 1 , the path calculation/setting unit A 114  calculates the allocation rate of the ordinary flow and the measurement flow to the respective links based on the cost calculated by the cost setting unit A 111  and on the costs notified from the other overlay nodes. Then, the path calculation/setting unit A 114  updates the information of the routing table A 12  ( FIG. 4 ) using the result of calculation (step S 107 ). 
     Note that the quality information and the measurement accuracy which are the bases of the ordinary cost and the measurement cost may be used as they are in place of the ordinary cost and the measurement cost as the information set to the link state table A 113 .  FIG. 6  shows an example of the link state table A 113  in this case. 
     The “available bandwidth” and the “measurement accuracy” as quality information are set to the link state table A 113 _ 2  shown in  FIG. 6  in place of the “ordinary cost” and the “measurement cost” in the link state table A 113 _ 1  of  FIG. 2 . The quality information is not limited to the illustrated usable bandwidth and may be, for example, the delay, the loss ratio, the combination thereof, or the like. 
     When the link state table A 113 _ 2  of  FIG. 6  is used, the cost setting unit A 111  sets the available bandwidths and the measurement accuracy of the respective links. Further, the path calculation/setting unit A 114  calculates a path using the available bandwidth in place of the ordinary cost and using the value of the measurement accuracy in place of the measurement cost. As described above, it is not always necessary for the routing protocol A 11  to convert the quality information and the measurement accuracy into the costs and to handle them. 
     In the embodiment, the measurement flow is automatically guided to a link of a smaller measurement cost. However, when the available bandwidth of a link is relatively small, there is a possibility that congestion occurs in the link because a lot of measurement flows are generated at the same time. To prevent the circumstances, an upper limit may be previously set to the amount of the measurement flow to the respective links, and when the upper limit is exceeded, a current link may be switched to a link whose measurement cost is smaller next to the current link, that is, to a link whose allocation weight is larger next to the current link. 
     As described above, the respective overlay nodes A 1 -A 4  of the first embodiment set the measurement cost for the measurement flow used to the passive measurement, separately from the ordinary cost used to the QoS routing of the ordinary flow. Then, a lower measurement cost is set to a link with lower measurement accuracy. With this operation, since the measurement flow is dynamically guided to a link with lower measurement accuracy, the number of times of measurement of the link is increased to thereby increase the measurement accuracy. 
     Therefore, according to the embodiment, even if the passive measurement is used to the quality measurement of the QoS routing, a high measurement accuracy can be obtained in all the links while preventing the measurement accuracy of the respective links from deflecting to a specific link. Further, a measurement load does not increase different from the active measurement, and a measurement overhead can be suppressed. 
       FIG. 7  shows an arrangement of a second embodiment of the present invention. Overlay nodes (A 2 -A 5 ) in a system  102  of the embodiment are the same as the overlay nodes (A 1 -A 4 ) in the first embodiment ( FIG. 1 ) described above except that a correlation determination unit A 15  and a correlation table A 16  is added thereto. Note that the overlay node A 1  of  FIG. 1  is replaced with the overlay node A 5  in the embodiment. 
     The correlation determination unit A 15  determines whether or not the correlation of a quality change exists among a plurality of links based on the result of measurement of communication quality carried out by the quality measuring unit A 13 . The correlation of the quality change is caused by that the plurality of links share bottleneck portions each other. The state that the bottleneck portions are shared means a state that the plurality of links on the overlay network share the same nodes of links on a base network C 1  as well as the shared nodes and links become the bottleneck portions which deteriorate the communication quality of the respective links. When the bottleneck portions common to the plurality of links exist as described above, the correlation of the quality change is liable to appear among the plurality of links. Accordingly, whether or not the bottleneck portions are shared can be determined by calculating the correlation. 
     The correlation of the quality change will be described more specifically. There is contemplated a case in which, for example, links B 12 , B 13  share a bottleneck portion in the base network C 1  in an overlay network of  FIG. 7 . In this case, there is observed a phenomenon that when the loss rate of the link B 12  is increased by congestion in the bottleneck portion, the loss rate of the other link B 13  is also increased at the same time. The degree of correlation of the loss rate between the link pair (B 12  and B 13 ) is determined by observing the phenomenon. 
     When the degree of correlation is determined using two values, for example, “0” and “1” showing the presence or absence of correlation, a measurement error increases. Therefore, it is preferable to express the degree of correlation by numerical values between “0” and “1”. A method disclosed in, for example, D. Rubenstein, J. Kurose, D. Towsley, “Detecting Shared Congestion of Flows Via End-to-End Measurement’, IEEE/ACM Transactions on Networking, Vol. 10, No. 3, June 2002, and the like may be applied as a method of determining the degree of correlation. Further, a method of using information, which shows that between any nodes of the base network C 1  the respective links of the overlay network are located, may be used as another method of determining the degree of correlation. However, the method can be applied only to a system in which the topology and the path information of the base network C 1  can be previously grasped. 
     The result of determination carried out by the correlation determination unit A 15  is registered to the correlation table A 16  to each link pair.  FIG. 8  shows a correlation table A 16 _ 1  as an example of the correlation table A 16 . The correlation table A 16 _ 1  shows the degree of correlation of the loss rate, and it can be found that the degree of correlation of the loss rate between, for example, a link B 12  (A 5  to A 2 ) and a link B 13  (A 5  to A 3 ) is “0.8”. 
     A cost setting unit A 111  of the embodiment sets an ordinary cost and a measurement cost making use of the degree of correlation recorded to the correlation table A 16 . This is a control carried out such that when the cost of one of links is updated to a link pair with a relatively high degree of correlation, the content of update is reflected to the cost of the other link. A threshold value is previously set to the degree of correlation to determine whether or not the control is to be carried out. Then, the control is carried out when the degree of correlation of a target link pair is equal to or higher than the threshold value. Further, when the degree of correlation of the target link pair is smaller than the threshold value, it is regarded that the degree of correlation of both the links is low, and thus current cost values are maintained without carrying out the control. 
     When the ordinary cost of one of the links of the link pair is updated, the ordinary cost of the other link is updated based on the updated ordinary cost and the degree of correlation. It is assumed as an example that the current ordinary costs of the links B 12  and link B 13  are “20” and “30”, respectively. Further, it is also assumed that the degree of correlation of these two links is “0.8” higher than the previously set threshold value “0.5”. When the ordinary cost of the link B 12  is updated from “20” to “15”, the ordinary cost “30” of the other link B 13  is updated using the ordinary cost “20” and the degree of correlation “0.8” of the link B 12 . Specifically, the ordinary cost “30” of the link B 12  is updated to “23” by “(30+20×0.8)/2=23”. 
     Also in the measurement cost, when the measurement cost of one of the links is updated, the measurement cost of the other link is updated. Here, an example of updating the measurement cost will be explained using a method ( FIG. 6 ) of applying the measurement accuracy as it is as the measurement cost. It is assumed now that the measurement accuracy to the links B 12  and B 13  are “0.1” and “0.7”, and that the degree of correlation of both the links is “0.8” higher than the threshold value “0.5”. 
     In that state, since the measurement accuracy of the link B 12  is lower than that of the other link B 13 , the measurement flow is liable to flow to the link B 12 . However, since the degree of correlation of the link B 12  and the link B 13  is relatively high, the measurement to the link B 12  can be replaced by the measurement to the link B 13 . 
     To replace the measurement to the link B 12 , the measurement accuracy of the link B 13  is reflected to the measurement accuracy of the link B 12 . Specifically, an arithmetic operation of “(0.7×0.8+0.1×(1−0.8))=0.58” is carried out using the measurement accuracy “0.1” (B 12 ) and “0.7” (B 13 ) and the degree of correlation “0.8” of the two links. As a result, the measurement accuracy of the link B 12  is updated from “0.1” to “0.58”, and the updated measurement accuracy “0.58” is notified to the other node. 
     According to the above control, the measurement accuracy of the link B 12  is changed to a high value at once making use of the degree of correlation in place of gradually increasing the measurement accuracy by increasing the measurement flow to the link B 12 . Therefore, according to the embodiment, the measurement flow can be directed to a link with lower measurement accuracy as well as with a lower degree of correlation to the other link. As a result, an advantage can be expected in that the measurement accuracy of the overlay network in its entirety can be increased by the smaller number of measurement flows. 
       FIG. 9  shows an arrangement of a third embodiment of the present invention. Overlay nodes (A 2 -A 4  and A 6 ) in a system  103  of the embodiment are the same as the overlay nodes (A 1 -A 4 ) in the first embodiment ( FIG. 1 ) described above except that they are provided with a flow division/relay unit A 17  in place of the flow relay unit A 14 . Note that the overlay node A 1  of  FIG. 1  is replaced with the overlay node A 6  in the embodiment. 
     When a flow from corresponding terminal groups (D 1 -D 4 ) is relayed, the flow division/relay unit A 17  divides the flow to a plurality of flows. It is assumed now that there is one flow in which a certain terminal of the terminal group D 1  is used as a source and a certain terminal of the terminal group D 3  is used as a destination. In this case, it is possible to carry out such a control that the flow is divided into, for example, to two flows by the overlay node A 6 , a path through the overlay node A 2  is allocated to one of the flows, and a path through the overlay node A 4  is allocated to the other flow. Note that the number of divisions is not limited to two and may be more than two. 
     Further, when the flow division/relay unit A 17  receives a divided flow from an overlay network, it carries out a relay processing for forming one flow by assembling the received flow units. 
     Next, the operation of the flow division/relay unit A 17  will be explained using the overlay node A 6  as an example. When the flow division/relay unit A 17  of the overlay node A 6  receives a measurement flow from the terminal group D 1 , it carries out a processing for dividing the flow to a plurality of flows based on a routing table A 12  and transmitting them through a plurality of paths. When the routing table A 12 _ 1  of  FIG. 4  is referred to as the routing table A 12 , candidate paths to the measurement flow to a destination IP address “100.2/16” include three paths of next hop IP addresses “2.2.2.2”, “3.3.3.3”, and “4.4.4.4”. Further, weights are “0.14”, “0.29”, and “0.57”, respectively. 
     One measurement flow with the destination IP address “100.2/16” is divided into three paths according to the rate of weights, and they are transmitted to the three paths. Further, even if there are three paths, it need not to divide the flow into three flows, and, for example, the flow may be divided into the number of paths whose weight is equal to or more than a predetermined threshold value. With this operation, the measurement flow can be controlled such that it is preferentially flown to a path with lower measurement accuracy. 
     When the flow division/relay unit A 17  divides a flow to be transmitted into a plurality of flows, it maps each packet of the flow. With this operation, each packet of the flow is mapped to any one path. However, the mapping may be carried out such that one packet is copied and flown to a plurality of paths in place of the above method. All the flows may be copied or a part of them may be copied. In this case, since overlay nodes on a receiving side receive the same packet from a plurality of flows, the respective nodes detect whether or not a received packet is to be copied. Then, when the received packet is to be copied, a flow assembly/relay processing is carried out by ignoring the second and subsequent duplicate packets. 
     According to the third embodiment described above, since the flow division/relay unit A 17  has a function for dividing one measurement flow into a plurality of flows and flows them to a plurality of path, a larger number of links can be measured by a smaller number of measurement flows, thereby measurement can be carried out effectively. Further, since the measurement flow is flown to a plurality of paths and links at the same time, there is an advantage in that the correlation between the links can be easily measured. 
     In the embodiment, a destination port number is used as the identifier ( FIG. 4 ) of the measurement flow. However, when the present invention is carried out, a data pattern (signature) included in a received packet, for example, may be used the identifier of the measurement flow in addition to the destination port number. In this case, when a pattern which is detected from a received packet agrees with a previously defined pattern, it is determined that the packet corresponds to the measurement flow. 
     Although the exemplary embodiments of the present invention have been described in detail, it should be understood that various changes, substitutions and alternatives can be made therein without departing from the sprit and scope of the invention as defined by the appended claims. Further, it is the inventor&#39;s intent to retrain all equivalents of the claimed invention even if the claims are amended during prosecution.