WO2012023223A1 - ネットワーク遅延推定装置およびネットワーク遅延推定方法 - Google Patents

ネットワーク遅延推定装置およびネットワーク遅延推定方法 Download PDF

Info

Publication number
WO2012023223A1
WO2012023223A1 PCT/JP2011/001108 JP2011001108W WO2012023223A1 WO 2012023223 A1 WO2012023223 A1 WO 2012023223A1 JP 2011001108 W JP2011001108 W JP 2011001108W WO 2012023223 A1 WO2012023223 A1 WO 2012023223A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
measurement target
tree
round measurement
nodes
Prior art date
Application number
PCT/JP2011/001108
Other languages
English (en)
French (fr)
Inventor
タンミンユジョナサン
リンブンピン
カルッピアーエティカンカンダサミ
村本衛一
Original Assignee
パナソニック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Priority to EP11817875.5A priority Critical patent/EP2538622B1/en
Priority to CN201180003937.9A priority patent/CN102577282B/zh
Priority to US13/500,382 priority patent/US8812663B2/en
Publication of WO2012023223A1 publication Critical patent/WO2012023223A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Definitions

  • the present invention relates to a network delay estimation apparatus and a network delay estimation method for creating a metric tree that describes a delay between nodes of a network.
  • Peer-to-peer communication grid computing, cluster computing, ALM (application layer multicasting), and the like are new technologies that rely on cooperation and communication by a large number of nodes.
  • Applications that use these technologies need to build a metric tree that describes the delay between each node in the network in order to accurately perform interdependent tasks. This is because a delay between arbitrary nodes can be estimated immediately by building a metric tree.
  • the number of nodes to be measured is N
  • the number of times of measurement is N ⁇ N ⁇ 1. Therefore, when there are many nodes to be measured, a long processing time, a high computing capacity, and a large storage capacity are required to construct a metric tree.
  • the burden is large in this manner, for example, depending on the application, when the construction of the metric tree is completed, the timing at which the metric tree is required may have passed.
  • a technique for measuring a delay between the joining node and a node of a known metric tree and adding the measurement result to the metric tree is, for example, a non-technique. It is described in Patent Document 1. According to this technique, a metric tree can be constructed without performing delay measurement with a full mesh.
  • Non-Patent Document 1 a delay with another node that has not been measured can be estimated only with low accuracy.
  • Patent Document 1 discloses a technique for selecting two nodes estimated to be closest to a joining node (distance is short) as measurement targets. According to this technique, it is possible to estimate a delay with another node that has not been measured with higher accuracy.
  • An object of the present invention is to provide a network delay estimation apparatus and a network delay estimation method capable of creating a metric tree with high accuracy and in a short time.
  • the network delay estimation apparatus of the present invention is a network delay estimation apparatus that creates a metric tree that describes a delay between nodes of a network including a plurality of nodes, and is a pair of long distances from a known metric tree.
  • a plurality of pairs of nodes are selected as first-round measurement target nodes, a first-round measurement target node selection unit that measures a distance between an arbitrary node and each first-round measurement target node, and the distance between the first-round measurement target nodes
  • a node whose distance to the arbitrary node is estimated to be short is selected as the second round measurement target, and the distance between the arbitrary node and each second round measurement target node is selected.
  • an optimal tree processor to create a network metric tree containing the arbitrary node.
  • the network delay estimation method of the present invention is a network delay estimation method for creating a metric tree that describes a delay between nodes of a network including a plurality of nodes, and is a pair of long distances from a known metric tree or Selecting a plurality of pairs of nodes as the first round measurement target node, measuring a distance between an arbitrary node and each first round measurement target node, the distance to the first round measurement target node, and the known metric tree A node that is estimated to have a short distance to the arbitrary node based on the second round measurement target, and measuring the distance between the arbitrary node and each second round measurement target node; A net including the arbitrary node based on the distance to the second round measurement target node and the known metric tree And a step to create a metric tree of over click.
  • which node is close to an arbitrary node can be estimated with high accuracy, so that a metric tree can be created with high accuracy and in a short time.
  • the system block diagram which shows an example of a structure of the network system in one embodiment of this invention
  • the figure which shows an example of the content of the present optimal tree which the network delay estimation apparatus concerning this Embodiment hold
  • Block diagram showing an example of the configuration of a network delay estimation apparatus The figure which shows an example of a structure of the metric data in this Embodiment
  • a flowchart showing details of processing for creating a set of candidate trees in the present embodiment The flowchart which shows the detail of the process which adds the virtual node in this Embodiment
  • a flowchart showing details of processing for creating a new optimum tree in the present embodiment The flowchart which shows the detail of the process which calculates the accumulation error in this Embodiment
  • a “tree” is a network structure composed of nodes and edges connecting the nodes.
  • a “metric tree” is a non-directional virtual tree that describes a delay between nodes of a network, which includes nodes and weighted edges that indicate communication delays between the nodes.
  • the “network metric” is a characteristic value of the network indicating the magnitude of delay between two nodes, and is a total value of edge values between the two nodes.
  • the “real node” is a physical node that actually exists in the network among the nodes constituting the metric tree.
  • a “virtual node” is a virtual node that does not actually exist in the network among the nodes constituting the metric tree, and is used to create a network metric between a pair of real nodes described later It is.
  • a “candidate tree” is a temporary metric tree that is created as part of the tree construction mechanism when a joining node is added to the network, and is a tree that is used to select nodes to measure. is there.
  • the “optimal tree” is a metric tree of a network including a joining node, which is selected as the best tree from candidate trees, and is a tree used for subsequent delay estimation.
  • a “new real node” is the real node last added to the metric tree (this node usually refers to a joining node).
  • a “new virtual node” is a virtual node added to the metric tree last.
  • the “current optimum tree” is the last optimum tree generated in the past.
  • a “subscriber node” is a node that does not exist in the current optimal tree and has requested to join the network.
  • the “measurement target node” is a real node in which a delay with respect to a joining node is actually measured among the real nodes of the current optimum tree.
  • the “first-round measurement target node” is a measurement target node that is selected simply based on the position of each real node in the current optimal tree.
  • the “first first round measurement target node” is a pair of first round measurement target nodes that is first selected in the first round delay measurement.
  • the “second first round measurement target node” is selected from real nodes other than the first first round measurement target node after the first first round measurement target node is selected in the delay measurement of the first round.
  • the “second round measurement target node” is based on the delay measurement result between the joining node and the first round measurement target node as well as the position of each real node in the current optimal tree after the first round delay measurement. Selected node to be measured.
  • FIG. 1 is an example of a configuration diagram of a network system to be managed by a network delay estimation apparatus according to an embodiment of the present invention.
  • the network system 100 includes, for example, node A to nodes G102 to 114. These nodes are physical nodes connected to the network 116, respectively. Although not shown, the network 116 may have other physical nodes. Here, for simplification of description, it is assumed that a path exists between each node and all other nodes, but the present invention is not limited to this.
  • the network delay estimation device may be provided in any of the nodes, or may be provided in a device (not shown) connected to the network 116.
  • FIG. 2 is a diagram showing an example of the contents of the current optimum tree held by the network delay estimation apparatus.
  • the current optimum tree 200 is an estimation of the current logical structure of the network system 100 of FIG.
  • the current optimum tree 200 includes, for example, real nodes A to G 202 to 214, virtual nodes 216 to 224, and weighted edges 226 to 246 that connect these real nodes and virtual nodes.
  • Real nodes A to G202 to 214 are elements corresponding to nodes A to G in FIG.
  • the virtual nodes 216 to 224 are virtual elements inserted based on a delay between real nodes.
  • the weighted edges 226 to 246 are elements that connect real nodes and virtual nodes and each have a delay value.
  • the delay between any two real nodes of the current optimal tree 200 can be estimated with high accuracy by summing the delay values of all edges between the real nodes.
  • the real nodes A to G202 to 214 are located at the ends of the current optimum tree 200, respectively.
  • the network metric tree after a new joining node is added can be obtained with the highest accuracy if the delay between the joining node and all other nodes is measured. Involves enormous processing time and processing load. However, when delay measurement is performed by selecting some real nodes, as described above, which real node is selected as a measurement target node becomes a problem.
  • the network delay estimation apparatus carefully selects an actual node as described below, and delays only for the selected actual node (measurement target node). Measure.
  • the network delay estimation apparatus can construct a highly accurate optimal tree with a small processing time and processing load.
  • the construction of the optimum tree is to determine a virtual node to which the joining node is connected, to determine a delay between the joining node and the virtual node, and to reflect the determination result in the current optimum tree.
  • the network delay estimation apparatus performs the first round measurement target node selection, the first round delay measurement, the second round measurement target node selection, the second round delay measurement, and the connection node determination in this order. Do.
  • FIG. 3 is a diagram for explaining an outline of selection of the measurement target node in the first round.
  • the network delay estimation apparatus converts the first node 251a and the second node 252a located at both ends of the path 241a that is the longest path into the first round measurement target node. Select as a pair. Furthermore, as shown in FIG. 3C, the network delay estimation apparatus includes a third node 253a having the longest distance from the path 241a and a fourth node 254a having the next longest distance from the path 241a. Select each one. Then, the network delay estimation apparatus sets the selected third node 253a and fourth node 254a as the second first-round measurement target nodes.
  • the network delay estimation apparatus performs delay measurement between the joining node and each of the first round measurement target nodes 251a to 254a. Then, the network delay estimation device selects a second round measurement target node based on the measurement result.
  • FIG. 4 is a diagram for explaining an outline of selection of a measurement target node in the second round.
  • the network delay estimation apparatus sets the virtual connection node 263a at a position where the distance 262a from the joining node 261a is closest based on the measurement result.
  • the virtual connection node 263a may be an existing virtual node, or may be a newly created virtual node when an appropriate virtual node does not exist.
  • the network delay estimation device selects, for each virtual connection node 263a, two real nodes 264a adjacent to the virtual connection node 263a as the second round measurement target nodes.
  • the network delay estimation apparatus performs delay measurement between the joining node 261a and each second-round measurement target node 264a. Then, based on the measurement result, the network delay estimation device measures the second round measurement target node 264a having the smallest delay with respect to the joining node 261a from the second round measurement target nodes 264a. Select as the target node.
  • the network delay estimation apparatus selects the nodes at both ends of the longest path as the first first-round measurement target nodes, and further selects the nodes located far from this path as the second Select the first round measurement target node. By such processing, the network delay estimation apparatus can estimate a node close to the joining node with high accuracy, and thus can construct an optimum tree with high accuracy and in a short time.
  • FIG. 5 is a block diagram showing an example of the configuration of the network delay estimation apparatus.
  • the network delay estimation apparatus 302 includes an event detection unit 304, a first round measurement target node selection unit 306, a metric processing unit 308, a second round measurement target node selection unit 310, a candidate tree creation unit 312, and an optimal tree processing unit. 314, a distribution tree construction unit 316, a candidate tree database (DB) 318, a metric database (DB) 320, and an optimum tree database (DB) 322.
  • the event detection unit 304 detects the occurrence of a network event that starts the operation of the network delay estimation apparatus 302. This network event is transmitted from the joining node at the time of joining the network, and is a reception of a message including the network ID (identifier) of the joining node (324). When receiving the message, the event detection unit 304 passes the network ID included in the message to the first-round measurement target node selection unit 306 (326).
  • the first-round measurement target node selection unit 306 gives priority to a pair of real nodes having a longer distance from the current optimal tree stored in the optimal tree database 322 based on a prior evaluation. Select as a node. In addition, the first-round measurement target node selection unit 306 evaluates the distances of all other unselected nodes (hereinafter referred to as “non-selected nodes”) from the above-mentioned pair of real nodes, and the non-selection with a long distance is not performed. Search for a node. Then, the first round measurement target node selection unit 306 also selects the searched non-selected nodes as the first round measurement target nodes (328).
  • the first round measurement target node selection unit 306 has a predetermined ratio of nodes (for example, 1/8, here, four real nodes) out of all the nodes as the first round measurement target nodes. This selection is repeated until a predetermined end condition is satisfied, such as being selected.
  • the termination condition may be set based on the user's priority (accuracy or measurement time). The higher the node selection, the higher the accuracy of the newly created optimal tree, but the higher the processing load required to create the optimal tree and the longer the processing time. .
  • the first round measurement target node selection unit 306 when the end condition is satisfied (for example, when four real nodes are selected as the first round measurement target node), the first round metric collection to the metric processing unit 308. Is started (330).
  • the first metric collection is to measure the network metric between the joining node and each first round measurement target node and collect the measurement results.
  • the metric processing unit 308 acquires necessary network metrics from the network 116 according to instructions from other functional units, and stores them in the metric database 320.
  • the metric processing unit 308 when receiving an instruction from the first-round measurement target node selection unit 306, the metric processing unit 308 sends a network message requesting delay measurement between each first-round measurement target node to the joining node. Transmit (332). Then, the metric processing unit 308 stores the delay measurement result of the first round returned from the joining node (334) and stores it as metric data in the metric database 320 (336).
  • the metric processing unit 308 when receiving an instruction from the second round measurement target node selection unit 310 (to be described later), the metric processing unit 308 sends a network message requesting delay measurement between each first round measurement target node to the joining node. Transmit (332). Then, the metric processing unit 308 stores the second round delay measurement result data returned from the joining node in the metric database 320 as metric data (336).
  • FIG. 6 is a diagram illustrating an example of a configuration of metric data stored in the metric database 320.
  • the metric data 1800 describes the originating node ID 1808, the terminating node ID 1810, and the delay 1812 in association with each other.
  • the originating node ID 1808 describes the network ID of the joining node.
  • the destination node ID 1810 describes the network ID of the measurement target node.
  • a transmission delay from the node (subscription node) indicated by the originating node ID 1808 to the node (measurement target node) indicated by the destination node ID 1810 is described for each combination.
  • the second-round measurement target node selection unit 310 passes the first-cycle delay measurement result to the candidate tree creation unit 312 every time all of the new first-cycle delay measurement results are stored in the metric database 320. Thereby, the second round measurement target node selection unit 310 instructs the candidate tree creation unit 312 to create a candidate tree (338, 340).
  • the candidate tree is a temporary metric tree that adds the joining node to the current optimal tree at the estimated connection location.
  • the second round measurement target node selection unit 310 evaluates an error from the measured delay values of all candidate trees stored in the candidate tree database 318 by the candidate tree creation unit 312. As a result, the second-round measurement target node selection unit 310 searches for a candidate tree with a small error from the actually measured delay value (344).
  • the second round measurement target node selection unit 310 ranks candidate trees from best to worst according to the evaluation result, and extracts the round measurement target nodes for each candidate tree in order from the best.
  • the second-round measurement target node selection unit 310 selects a predetermined percentage of all nodes (for example, three-eighths) as a second-round measurement target node, and so on until a predetermined end condition is satisfied. Repeat this extraction. Then, when the end condition is satisfied, second-round measurement target node selection unit 310 passes the extracted second-round measurement target node list to metric processing unit 308 (346). As a result, as described above, the data of the delay measurement result of the second round is stored in the metric database 320 (336).
  • the candidate tree creation unit 312 creates a candidate tree in accordance with instructions from other functional units, and stores the created candidate tree data (hereinafter referred to as “candidate tree data”) in the candidate tree database 318 (342).
  • the candidate tree creation unit 312 receives an instruction from the second round measurement target node selection unit 310, for each pair of first round measurement target nodes, the candidate tree creation unit 312 determines the relative position of the joining node with respect to the path connecting the pairs. calculate. Then, the candidate tree creation unit 312 creates, as a candidate tree, a tree when the joining node is connected to the current optimum tree at the position where the distance from the route is the shortest.
  • the candidate tree creation unit 312 when receiving an instruction from the optimum tree processing unit 314, the candidate tree creation unit 312 creates a candidate tree again. At this time, the candidate tree creation unit 312 creates a candidate tree based on network metrics between all pairs of the first round measurement target node and all pairs of the second round measurement target node.
  • the candidate tree database 318 receives the processing of the candidate tree creation unit 312 and stores candidate tree data.
  • FIG. 7 is a diagram showing an example of the configuration of candidate tree data stored in the candidate tree database 318.
  • the candidate tree data 1700 describes a tree ID 1708, a node ID 1710, and a type 1712 of each node of the candidate tree in association with each other. Further, the candidate tree data 1700 describes a tree ID 1720, a calling side node 1722, a called side node 1724, and a distance 1726 in association with each edge of the candidate tree.
  • the node type 1712 describes information indicating whether the node is a real node or a virtual node.
  • the edge distance 1726 describes the distance between the node indicated by the originating node 1722 and the node indicated by the destination node 1724.
  • the candidate tree data stored in the candidate tree database 318 is used when the second round measurement target node selection unit 310 selects a second round measurement target node.
  • the optimum tree processing unit 314 instructs the candidate tree creation unit 312 to create a candidate tree each time all of the new first-cycle delay measurement results and second-cycle delay measurement results are stored in the metric database 320. (348, 350).
  • the candidate tree created based on the second round measurement target node is stored in the candidate tree database 318 (342).
  • the optimum tree processing unit 314 evaluates all candidate trees based on the delay measurement result (network metric) between the joining node and each measurement target node (352), and determines the best candidate tree as the optimum tree. To decide.
  • the optimum tree processing unit 314 stores the determined optimum tree data (hereinafter referred to as “optimum tree data”) in the optimum tree database 322 (354).
  • FIG. 8 is a diagram showing an example of the configuration of optimum tree data stored in the optimum tree database 322.
  • the optimum tree data 1900 describes the node ID 1908 and the type 1910 of each node of the optimum tree in association with each other.
  • the optimum tree data 1900 describes the calling side node 1918, the called side node 1920, and the distance 1922 in association with each edge of the candidate tree.
  • the node type 1910 information indicating whether the node is a real node or a virtual node is described.
  • the edge distance 1922 describes the distance between the node indicated by the calling node 1918 and the node indicated by the called node 1920.
  • the distribution tree construction unit 316 receives an inquiry about the delay of an arbitrary section by an operator operation or the like, and acquires the delay of the section inquired from the optimum tree data in the optimum tree database 322.
  • the network delay estimation device 302 is, for example, a CPU (central processing unit), a storage medium such as a ROM (read only memory) storing a control program, a working memory such as a RAM (random access memory), And a communication circuit and the like.
  • a CPU central processing unit
  • a storage medium such as a ROM (read only memory) storing a control program
  • a working memory such as a RAM (random access memory)
  • a communication circuit and the like the function of each unit described above is realized by the CPU executing the control program.
  • Such a network delay estimation apparatus 302 can construct an optimum tree by limiting the delay measurement target with the joining node to only the first round measurement target node and the second round measurement target node.
  • FIG. 9 is a flowchart showing the overall operation of the network delay estimation apparatus 302.
  • the event detection unit 304 detects a network event accompanied by metric tree construction (receives a network message from a joining node) (S402). Then, the first round measured node selecting unit 306, the current optimal tree of O, selects a first round measurement target node S T1 (S404). Details of the process of selecting the first round measurement target node S T1 will be described later.
  • the metric processing unit 308 transmits a network message including a list of network IDs of the first round measurement target node S T1 to the joining node.
  • the metric processor 308 to subscriber nodes, requiring the measurement of network metrics (delay) between the first cycle measured target node S T1 (S406).
  • FIG. 10 is a diagram illustrating an example of the configuration of a network message.
  • the network message 1500 describes the number of nodes 1502 and a list 1504 of network IDs.
  • List of network ID 1504 is a list of network ID of all of the first round measurement target node S T1 selected.
  • the number of nodes 1502 is the number of nodes to which the network ID list 1504 corresponds, that is, the number of network IDs described in the list 1504.
  • FIG. 11 is a diagram illustrating an example of the configuration of the measurement result of the network metric.
  • the measurement result 1600 describes the number of nodes 1602 and a pair of the network ID 1604 and the result 1606 for the node.
  • the network ID 1604 corresponds to the network ID listed in the network message 1500.
  • the second round measurement target node selection unit 310 selects the second round measurement target node S T2 using the first round measurement target node S T1 and the current optimal tree O (S408). Details of the process of selecting the second round measurement target node ST2 will be described later.
  • the metric processing unit 308 transmits a network message including a list of network IDs of the second round measurement target node S T2 to the joining node.
  • the metric processor 308 to the subscriber node, requesting the measurement of network metrics (delay) between the second round measurement target node S T2 (S410).
  • the metric processing unit 308 stores all the measurement results of the second round in the metric database 320.
  • the optimum tree processing unit 314 creates a new optimum tree O ′ by using the first round measurement target node S T1 and the second round measurement target node S T2 and the current optimum tree O (S412).
  • the optimum tree O ′ is a new optimum tree including the joining node. Details of the process of creating this new optimum tree O ′ will be described later.
  • the delivery tree construction unit 316 uses the optimum tree O ′ as appropriate in order to create a tree for content delivery (S414). ).
  • FIG. 12 is a flowchart showing details of the process of selecting the first round measurement target node in step S404 of FIG.
  • the non-selected nodes are the remaining real nodes obtained by excluding the first round measurement target node S T1 from all the real nodes SN in the current optimum tree O.
  • the first round measured node selecting unit 306, the determined best node N B, to add to the second set of the first round measurement target node S first round measurement target node is selected as T1 S T1 (S506) .
  • the first-round measurement target node selection unit 306 repeats the processes of steps S504 and S506 until the number of first-round measurement target nodes S T1 reaches the required number (S508).
  • the predetermined number is 4 (see FIG. 3A)
  • the first first-round measurement target node pair is selected in step S502
  • the second first-round measurement target node pair is selected in step S504. Will be selected.
  • FIG. 13 is a flowchart showing details of the process of setting the first first-round measurement target node in step S502 of FIG.
  • the first-round measurement target node selection unit 306 first sets all real nodes in the current optimal tree O as real nodes SN (S602). Then, the first-round measurement target node selection unit 306 initializes the maximum distance D max used as a parameter for comparing the distances between the nodes to zero (S604), and sets all pairs S NN of the real node S N. Is created (S606).
  • the first-round measurement target node selection unit 306 selects one pair SNN (S610), and sets the distance D between the node A and the node B of the selected pair SNN to the current optimum tree O. Based on the calculation (S612). Then, when the calculated distance D is larger than the maximum distance Dmax (S614: YES), the first-round measurement target node selection unit 306 stores this distance D as the maximum distance Dmax . Further, the first-round measurement target node selection unit 306 stores the selected pair SNN as the current best node (S616). The first round measured node selecting unit 306, after checking all of the pairs S NN, the best node at that time is set to the first first round measurement target node S T1 (S618).
  • FIG. 14 is a flowchart showing details of the process for determining the best node in step S504 of FIG.
  • the first round measurement target node selection unit 306 first sets the first round measurement target node S T1 at that time as the initial selection node S S (S702). That is, the initial state of the set of selected nodes S S includes only the first first-round measurement target node S T1 . Further, the first round measured node selecting unit 306, the network node S V to form the network is initialized to empty (S704). The first-round measurement target node selection unit 306 then extracts one arbitrary node N 0 from the set of selected nodes S S (S706), and the following step S710 is performed while an unprocessed node remains. , S712 is repeated (S708).
  • First round measured node selecting unit 306 extracts one other nodes N are the remaining selected node S S (S710).
  • the first round measured node selection unit 306 calculates a route between the node N 0 and the node N in the current optimal tree O, and all the nodes on the path is added to the set of network nodes S V (S712).
  • first round measured node selecting unit 306 uses the set of network nodes S V, initiates evaluation of the non-selected node S U.
  • the first round measurement target node selection unit 306 sets the remaining nodes obtained by excluding all the first round measurement target nodes S T1 from the set of real nodes S N as unselected nodes S U (S714).
  • the first round measured node selecting unit 306, while remaining non-selected node S U unprocessed repeats the processing of the following steps S718 ⁇ 722 (S716).
  • First round measured node selecting unit 306 one arbitrary node N from the non-selected node S U extraction (S718), the current optimal tree O, and breadth-first search from the node N, one of the network nodes S V The process is executed until it reaches (S720).
  • FIG. 15 is a flowchart showing details of the process of selecting the second round measurement target node in step S408 of FIG.
  • Second round measurement target node selecting unit 310 first, the first round measurement target node S T1, the measurement target node S T (S802). That is, the initial state of the set of the measurement target node S T consists of only the first first round measurement node S T1.
  • the second round measurement target node selecting unit 310 by using the candidate tree creation unit 312 creates a set of candidate tree S C (S804). Details of the process of creating a set of candidate tree S C will be described later.
  • Candidate tree S C is the optimal tree O, when the pair is connected to the measurement target node S T (where the first round measurement target node S T1), a metric tree.
  • the set of candidate tree S C is the set of candidate tree S C for all pairs.
  • the second round measurement target node selecting unit 310 from the candidate tree database 318 retrieves the set of candidate tree S C, evaluates each candidate tree S C as follows.
  • the second-round measurement target node selection unit 310 initializes the evaluation tree SC ′ to be empty (S806).
  • the second round measurement target node selecting unit 310, while remaining candidate nodes S C unprocessed repeats the processing of the following steps S810 ⁇ S814 (S808).
  • second round measurement target node selecting section 310 takes out one arbitrary candidate tree T from the set of candidate tree S C (S810). Then, the second-round measurement target node selection unit 310 obtains the distance D between the new real node (joined node) and the new virtual node (joined node connection position) in the candidate tree T (S812). Then, the second-round measurement target node selection unit 310 adds the candidate tree T to the set of evaluation trees SC ′ , and defines the obtained distance D as an index value v (T) of the candidate tree T (S814). ).
  • second round measurement target node selection unit 310 sorts the evaluation tree S C 'in the ascending order of the index value v (T) (S816).
  • the second round measurement target node selecting unit 310 according to the sorted order, from a set of evaluation tree S C ', to extract the second round measurement target node S T2 (S818). Details of the process for extracting the second round measurement target node ST2 will be described later.
  • FIG. 16 is a flowchart showing details of processing for creating a set of candidate trees in step S804 of FIG.
  • Candidate tree creation unit 312 first, excluded from the measurement target node S T, to create all possible pairs S TT (S902), the pair of both the two nodes have the same from paired S TT (S904). Then, the candidate tree creation unit 312 repeats the following processes of steps S908 to S922 while an unprocessed pair STT remains (S906).
  • the candidate tree creation unit 312 selects one pair S TT (S908).
  • the distance D V that is, the candidate tree creation unit 312, a connection position of the joining node is added to the path between the pair S TT, a value indicating the position of the virtual node.
  • Candidate tree creation unit 312 for example, by adding delay and (measurement) between the delay between the S TT and (estimates from current optimal tree O) and the node A and the subscriber node, the added value Subtract the delay (measured value) from the Node B joining node.
  • the candidate tree creation unit 312 creates a (S912), a new virtual node V, at a distance D V replication tree O' replication tree O of the current best tree O Add to (S914). Details of the process of adding the virtual node V will be described later. Then, the candidate tree creation unit 312 creates a new real node J corresponding to the joining node and adds it to the replication tree O ′ (S916), and calculates the distance between the virtual node V and the real node J (S916). S918).
  • the candidate tree creation unit 312 is a calculated distance of the edge, connecting the actual node J to a virtual node V (S920), the candidate tree database 318, as a candidate tree S C, adding a duplicate tree O '( S922).
  • FIG. 17 is a flowchart showing details of the process of adding a virtual node in step S914 of FIG.
  • the candidate tree creation unit 312 first initializes the current node C to node A (S1002), and initializes the current distance D to zero (S1004).
  • the current node C indicates a virtual node on the replication tree O ′ that is a determination target of whether or not it is near the position of the virtual node.
  • the candidate tree creation unit 312, during the current distance D is described below of the distance D V indicating the position of the virtual nodes (S1006: YES), the process is repeated following steps S1008 ⁇ S1012.
  • the candidate tree creation unit 312 a node in the path between A and node B, and node C 2 immediately after the virtual node immediately following the current node C (S1008). Then, the candidate tree creation unit 312 increases the distance D by the distance between the current node C and the immediately following node C 2 (S1010), and then sets the immediately following node C 2 to the current node C (S1012). ).
  • the candidate tree creation unit 312 When the current distance D is equal to or greater than the distance D V above (S1006: NO), the candidate tree creation unit 312, first, in the path between the node A and the node B, immediately preceding the current node C The virtual node is set as the immediately preceding node C 0 (S1014). Then, the candidate tree creation unit 312 sets the distance between the current node C and the immediately preceding node C 0 as the distance E (S1016), and removes the edge between the current node C and the immediately preceding node C 0 (S1018). ). Then, the candidate tree creation unit 312 creates a new virtual node V and adds it to the replication tree O ′ (S1020).
  • the candidate tree creation unit 312 a virtual node V, an edge corresponding to a difference between the current distance D between the above-mentioned distance D V, is connected to the current node C (S1022). Then, the candidate tree creation unit 312 connects to the immediately preceding node C 0 at an edge corresponding to the difference between the distance E and the distance between the virtual node V and the current node C (S1024).
  • FIG. 18 is a flowchart showing details of the process of extracting the second round measurement target node in step S818 of FIG.
  • the second-round measurement target node selection unit 310 first initializes the second-round measurement target node ST2 to be empty (S1102). Then, the second-round measurement target node selection unit 310 repeats the following steps S1106 to S1114 while the unprocessed evaluation tree SC ′ remains (S1104).
  • the second-round measurement target node selection unit 310 extracts one candidate tree T from the unprocessed evaluation tree SC ′ according to the above-described sorting order of the index value v (T) (S1106). Then, the second round measurement target node selection unit 310 determines node D and node E as two real nodes closest to the new real node (joined node) in the extracted candidate tree T (S1108). Then, the second round measurement target node selection unit 310 determines whether or not the node D is included in the set of the first round measurement target node S T1 and the set of the second round measurement target node S T2 .
  • Second round measurement target node selecting unit 310 if it is not included in any node D, the node D, are added to the set of second round measurement target node S T2 (S1110). Similarly, the second round measurement target node selection unit 310 determines whether or not the node E is included in the set of the first round measurement target node S T1 and the set of the second round measurement target node S T2 . Second round measurement target node selecting unit 310, if it is not included in any node E, the node E, the set of second round measurement target node S T2, be added in the last position (S1112).
  • second-round measurement target node selection unit 310 repeats the processing of steps S1106 to S1112 until the number of second-round measurement target nodes ST2 reaches a predetermined value and becomes sufficient (S1114).
  • FIG. 19 is a flowchart showing details of the process of creating a new optimum tree in step S412 of FIG.
  • Second round measurement target node selecting unit 310 first, both the first cycle measurement nodes S T1 and second round measurement target node S T2, is set to the current measurement target node S T (S1202).
  • the second round measurement target node selecting unit 310 by using the candidate tree creation unit 312 creates a candidate tree S C based on the current measurement target node S T and current optimal tree O (S1204).
  • the second-round measurement target node selection unit 310 initializes the evaluation tree SC ′ to be empty (S1206).
  • the second round measurement target node selecting unit 310, while remaining candidate nodes S C unprocessed repeats the processing of the following steps S1210 ⁇ S1214 (S1208).
  • second round measurement target node selecting section 310 takes out one arbitrary candidate tree T from the set of candidate tree S C (S1210).
  • the second round measurement target node selecting unit 310 uses the first round measurement target node S T1, calculates an accumulated error E at that time is set to a relative error of the candidate tree T for the new real nodes ( S1212). Details of the process of calculating the accumulated error E will be described later.
  • the second round measurement target node selection unit 310 adds the candidate tree T to the set of evaluation trees SC ′ , and defines the obtained accumulated error E as the index value v (T) of the candidate tree T ( S1214).
  • the optimal tree processing unit 314 among all the candidate trees S C, a candidate tree S C of the index value v (T) is the smallest, new optimal tree O 'is determined (S1216). Note that the candidate tree S C of the index value v (T) is minimized, that is, is that the candidate tree S C where the relative error is minimized.
  • FIG. 20 is a flowchart showing details of the process for calculating the cumulative error in step S1212 of FIG.
  • Second round measurement target node selecting unit 310 first initializes to zero the accumulated error E (S1302), the measurement target node S T, and the selected node S S (S1304). The second round measurement target node selecting unit 310, while remaining the selected node S S unprocessed repeats the processing of the following steps S1308 ⁇ S1316.
  • second round measurement target node selecting section 310 takes out one arbitrary node N from a set of selected nodes S S (S1308). Then, the second-round measurement target node selection unit 310 calculates the distance D between the node N and the new real node (joined node) in the candidate tree T (S1310). The second-round measurement target node selection unit 310 acquires an actual delay measurement value (network metric) M between the node N and the new real node (joined node) from the metric database 320 (S1312).
  • the second-round measurement target node selection unit 310 calculates a value obtained by dividing the absolute value of the difference between the distance D and the delay measurement value M by the delay measurement value M as a relative error R (S1314). Then, the second-round measurement target node selection unit 310 increases the accumulated error E by the calculated relative error R (S1316).
  • the network delay estimation apparatus 302 can select the first round measurement target node S T1 and the second round measurement target node S T2 . Then, the network delay estimation apparatus 302 creates a new optimum tree O ′ to which the joining node is added based on the first round measurement target node S T1 and the second round measurement target node S T2 and the current optimum tree O. can do.
  • the network delay estimation apparatus 302 performs careful node sampling of the measurement target. That is, the network delay estimation apparatus 302 selects a real node that is a distance measurement from the joining node as a first round measurement target node and a second round measurement target node.
  • the first-round measurement target node includes a pair of real nodes having the longest path in the current optimal tree, that is, the outermost node.
  • the second round measurement target node is a real node having a short distance from the joining node in the route connecting the pair of the first round measurement target nodes.
  • the network delay estimation apparatus 302 can estimate a node close to the joining node with high accuracy.
  • the network delay estimation apparatus 302 performs delay measurement only on the first round measurement target node and the second round measurement target node, and creates a new optimum tree by adding the measurement result to the current optimum tree. . Thereby, the network delay estimation apparatus 302 can create a new optimum tree (metric tree) with high accuracy in a short time.
  • the network delay estimation apparatus 302 can configure a metric tree with a small error from the measured delay value for the entire network by repeating this process.
  • the network delay estimation apparatus 302 reduces the measurement error by adding the first round measurement target node in two stages. However, the addition may be limited to one stage or in three stages. May be added. For example, in the third stage, the network delay estimation apparatus 302 selects and adds an actual node that is farthest from each of the first round measurement target node and the second round measurement target node described above. May be.
  • the network delay estimation apparatus is a network delay estimation apparatus that creates a metric tree that describes a delay between nodes of a network including a plurality of nodes.
  • a first-round measurement target node selection unit that selects a pair or a plurality of pairs of nodes having a long distance as a first-round measurement target node and measures a distance between an arbitrary node and each first-round measurement target node; Based on the distance to the eye measurement target node and the known metric tree, a node estimated to be short in distance to the arbitrary node is selected as a second round measurement target, and the arbitrary node and each two rounds are selected.
  • a second-round measurement target node selection unit for measuring a distance to the second measurement target node; and the distance between the second-round measurement target node and the existing Based on the metric tree, those having a best tree processing unit to create a metric tree network including said any node.
  • the second round measurement target node selection unit estimates a node at a short distance from a route connecting the first round measurement target nodes as a node having a short distance from the arbitrary node. As a result, this embodiment can create a metric tree with high accuracy and in a short time.
  • the network delay estimation apparatus and the network delay estimation method according to the present invention are useful as a network delay estimation apparatus and a network delay estimation method that can create a metric tree with high accuracy and in a short time. That is, the present invention is suitable for various uses that require acquisition of network metrics.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 メトリックツリーを高精度にかつ短時間で作成することができるネットワーク遅延推定装置。ネットワーク遅延推定装置(302)は、複数のノードを含むネットワークの各ノード間の遅延を記述するメトリックツリーを作成する装置であって、既知のメトリックツリーから、互いの距離が長い一対または複数対のノードを一巡目測定対象ノードとして選択し、任意のノードとの距離の測定を行う一巡目測定対象ノード選択部(306)と、この距離および既知のメトリックツリーに基づいて、任意のノードとの距離が短いと推定されるノードを二巡目測定対象として選択し、任意のノードとの距離の測定を行う二巡目測定対象ノード選択部(310)と、この距離および既知のメトリックツリーに基づいて、任意のノードを含むネットワークのメトリックツリーを作成する最適ツリー処理部(314)とを有する。

Description

ネットワーク遅延推定装置およびネットワーク遅延推定方法
 本発明は、ネットワークの各ノード間の遅延を記述するメトリックツリーを作成するネットワーク遅延推定装置およびネットワーク遅延推定方法に関する。
 インターネット通信は、特定のタスクを目的として連携する多数のノードに分散化し、それらのノード間の相互依存の度合いは高くなりつつある。また、ピアツーピア通信、グリッドコンピューティング、クラスターコンピューティング、およびALM(アプリケーション層マルチキャスティング)等は、多数のノードによる連携や通信を頼みとする新しい技術である。これらの技術を利用するアプリケーションは、相互依存的なタスクを正確に実行するために、ネットワークの各ノード間の遅延を記述するメトリックツリー(metric tree)を構築しておく必要がある。メトリックツリーを構築しておくことにより、任意のノード間の遅延を即時に推定することができるからである。
 ところが、測定の対象となるノードの数がNである場合、総当り的にフルメッシュで遅延測定を行うと、その測定回数はN×N-1となる。したがって、測定対象となるノードが多い場合には、メトリックツリーの構築のために、長い処理時間、高い演算能力、および大きい記憶容量が必要となる。このように負担が大きいと、例えば、アプリケーションによっては、メトリックツリーの構築が完了したときには、そのメトリックツリーが必要とされたタイミングが過ぎてしまっているといった事態が発生し得る。
 そこで、ネットワークに新たにノードが追加される毎に、その加入ノードと、既知のメトリックツリーのノードとの間の遅延測定を行い、その測定結果をメトリックツリーに追加していく技術が、例えば非特許文献1に記載されている。この技術によれば、フルメッシュでの遅延測定を行うことなく、メトリックツリーを構築することができる。
 ところが、非特許文献1記載の技術では、測定が行われなかった他のノードとの間の遅延は、低い精度でしか推定することができない。
 そこで、加入ノードに最も近い(距離が短い)と推定される2つのノードを測定対象と選択する技術が、例えば、特許文献1に記載されている。この技術によれば、測定が行われなかった他のノードとの間の遅延を、より高い精度で推定することができる。
米国特許出願公開第2008/0304421号明細書
Peter Buneman, "A Note on the Metric Properties of Trees", Journal of combinatorial theory(B) 17, February 1974, p.48-50,
 しかしながら、特許文献1記載の技術では、加入ノードに近い2つのノードの推定が誤っていた場合、加入ノードと測定が行われなかった他のノードとの間の遅延は、低い精度でしか推定することができない。すなわち、特許文献1記載の技術は、メトリックツリーの精度の向上のために、加入ノードに近い2つのノードを特定する必要がある。このために、特許文献1記載の技術は、結局多数のノードの遅延測定を行うことになり、メトリックツリーが構築されるまでに時間が掛かるという課題がある。
 本発明の目的は、メトリックツリーを高精度にかつ短時間で作成することができるネットワーク遅延推定装置およびネットワーク遅延推定方法を提供することである。
 本発明のネットワーク遅延推定装置は、複数のノードを含むネットワークの各ノード間の遅延を記述するメトリックツリーを作成するネットワーク遅延推定装置であって、既知のメトリックツリーから、互いの距離が長い一対または複数対のノードを一巡目測定対象ノードとして選択し、任意のノードと各一巡目測定対象ノードとの距離の測定を行う一巡目測定対象ノード選択部と、前記一巡目測定対象ノードとの前記距離および前記既知のメトリックツリーに基づいて、前記任意のノードとの距離が短いと推定されるノードを二巡目測定対象として選択し、前記任意のノードと各二巡目測定対象ノードとの距離の測定を行う二巡目測定対象ノード選択部と、前記二巡目測定対象ノードとの前記距離および前記既知のメトリックツリーに基づいて、前記任意のノードを含むネットワークのメトリックツリーを作成する最適ツリー処理部とを有する。
 本発明のネットワーク遅延推定方法は、複数のノードを含むネットワークの各ノード間の遅延を記述するメトリックツリーを作成するネットワーク遅延推定方法であって、既知のメトリックツリーから、互いの距離が長い一対または複数対のノードを一巡目測定対象ノードとして選択し、任意のノードと各一巡目測定対象ノードとの距離の測定を行うステップと、前記一巡目測定対象ノードとの前記距離および前記既知のメトリックツリーに基づいて、前記任意のノードとの距離が短いと推定されるノードを二巡目測定対象として選択し、前記任意のノードと各二巡目測定対象ノードとの距離の測定を行うステップと、前記二巡目測定対象ノードとの前記距離および前記既知のメトリックツリーに基づいて、前記任意のノードを含むネットワークのメトリックツリーを作成するステップとを有する。
 本発明によれば、どのノードが任意のノードに近いのかを高精度に推定することができるので、メトリックツリーを高精度にかつ短時間で作成することができる。
本発明の一実施の形態におけるネットワークシステムの構成の一例を示すシステム構成図 本実施の形態に係るネットワーク遅延推定装置が保持する現在の最適ツリーの内容の一例を示す図 本実施の形態における一巡目の測定対象ノード選択の概要を説明するための図 本実施の形態における二巡目の測定対象ノード選択の概要を説明するための図 本実施の形態に係るネットワーク遅延推定装置の構成の一例を示すブロック図 本実施の形態におけるメトリックデータの構成の一例を示す図 本実施の形態における候補ツリーデータの構成の一例を示す図 本実施の形態における最適ツリーデータの構成の一例を示す図 本実施の形態に係るネットワーク遅延推定装置の全体動作を示すフローチャート 本実施の形態におけるネットワークメッセージの構成の一例を示す図 本実施の形態におけるネットワークメトリックの測定結果の構成の一例を示す図 本実施の形態における一巡目測定対象ノードを選択する処理の詳細を示すフローチャート 本実施の形態における第1の一巡目測定対象ノードを設定する処理の詳細を示すフローチャート 本実施の形態における最良ノードを決定する処理の詳細を示すフローチャート 本実施の形態における二巡目測定対象ノードを選択する処理の詳細を示すフローチャート 本実施の形態における候補ツリーのセットを作成する処理の詳細を示すフローチャート 本実施の形態における仮想ノードを追加する処理の詳細を示すフローチャート 本実施の形態における二巡目測定対象ノードを抽出する処理の詳細を示すフローチャート 本実施の形態における新しい最適ツリーを作成する処理の詳細を示すフローチャート 本実施の形態における累積誤差を算出する処理の詳細を示すフローチャート
 以下、本発明の一実施の形態について、図面を参照して詳細に説明する。
 まず、本実施の形態の説明に先立って、本実施の形態における主な用語の定義について説明する。
 「ツリー」とは、ノードとノード間を結ぶエッジとにより構成されるネットワークの構造である。
 「メトリックツリー」とは、ノードと、ノード間の通信の遅延を示す重み付きエッジとにより構成される、ネットワークの各ノード間の遅延を記述する無方向の仮想的なツリーである。
 「ネットワークメトリック」とは、2つのノード間の遅延の大きさを示すネットワークの特性値であり、2つのノード間のエッジの値の合計値である。
 「実ノード」とは、メトリックツリーを構成するノードのうち、ネットワーク内に実際に存在する物理的なノードである。 
 「仮想ノード」とは、メトリックツリーを構成するノードのうち、ネットワーク内に実際に存在しない仮想的なノードであって、後述の実ノードのペア間のネットワークメトリックを作成するために使用されるノードである。
 「候補ツリー」とは、加入ノードがネットワークに追加される際に、ツリーの構築メカニズムの一部として作成される一時的なメトリックツリーであり、測定対象ノードを選択するために使用されるツリーである。
 「最適ツリー」とは、候補ツリーの中から最良のツリーとして選択される、加入ノードを含むネットワークのメトリックツリーであり、その後の遅延推定に用いられるツリーである。
 「新たな実ノード」とは、メトリックツリーに最後に追加された実ノード(このノードは、通常、加入ノードを指す)である。
 「新たな仮想ノード」とは、メトリックツリーに最後に追加された仮想ノードである。
 「現在の最適ツリー」とは、過去に生成された最適ツリーのうち最後のものである。
 「加入ノード」とは、現在の最適ツリーには存在しない、ネットワークへの加入を要求したノードである。
 「測定対象ノード」とは、現在の最適ツリーの実ノードのうち、加入ノードとの間の遅延が実際に測定される実ノードである。
 「一巡目測定対象ノード」とは、現在の最適ツリーにおける各実ノードの位置に単に基づいて選択された測定対象ノードである。
 「第1の一巡目測定対象ノード」とは、一巡目の遅延測定において、最初に選択される一巡目測定対象ノードのペアである。
 「第2の一巡目測定対象ノード」とは、一巡目の遅延測定において、第1の一巡目測定対象ノードが選択された後に、第1の一巡目測定対象ノード以外の実ノードの中から選択される一巡目測定対象ノードのペアである。
 「二巡目測定対象ノード」とは、一巡目の遅延測定の後に、現在の最適ツリーにおける各実ノードの位置だけでなく、加入ノードと一巡目測定対象ノードとの間の遅延測定結果に基づいて選択された、測定対象ノードである。
 (実施の形態)
 図1は、本発明の一実施の形態に係るネットワーク遅延推定装置が管理対象とするネットワークシステムの構成図の一例である。
 図1に示すように、ネットワークシステム100は、例えば、ノードA~ノードG102~114を有している。これらのノードは、ネットワーク116にそれぞれ接続されている物理的なノードである。なお、図示しないが、ネットワーク116には、他にも物理的なノードが存在し得る。ここでは、説明の簡便化のため、各ノードと他の全てのノードとの間に経路が存在しているものとするが、これに限定されない。ネットワーク遅延推定装置は、いずれかのノードに備えられていても良いし、ネットワーク116に接続された図示しない装置に備えられていても良い。
 本実施の形態では、過去に取得されたメトリックツリーが、現在の最適ツリーとして既にネットワーク遅延推定装置に保持されているものとする。
 図2は、ネットワーク遅延推定装置が保持する現在の最適ツリーの内容の一例を示す図である。
 図2に示すように、現在の最適ツリー200は、図1のネットワークシステム100の現在の論理的な構造を推定したものである。現在の最適ツリー200は、例えば、実ノードA~G202~214と、仮想ノード216~224と、これらの実ノードおよび仮想ノードを結ぶ重み付きエッジ226~246とにより構成される。
 実ノードA~G202~214は、図1のノードA~ノードGに対応する要素である。仮想ノード216~224は、実ノード間の遅延に基づいて挿入された仮想的な要素である。重み付きエッジ226~246は、実ノードおよび仮想ノードを結び、それぞれ遅延値を持つ要素である。現在の最適ツリー200の任意の2つの実ノード間における遅延は、その実ノードの間の全てのエッジの遅延値を合計する事によって、高い精度で推定することが可能となっている。また、実ノードA~G202~214は、現在の最適ツリー200の端部にそれぞれ位置するものとする。
 新たな加入ノードが追加された後のネットワークのメトリックツリーは、加入ノードと他の全てのノードとの間の遅延を測定すれば、最も高精度に得ることができるが、上述の通り、これには膨大な処理時間と処理負荷を伴う。ところが、一部の実ノードを選択して遅延測定を行う場合は、上述の通り、どの実ノードを測定対象ノードとして選択するかが問題となる。
 そこで、本実施の形態に係るネットワーク遅延推定装置(以下、単に「ネットワーク遅延推定装置」という)は、下記の通り、入念に実ノードを選択し、選択した実ノード(測定対象ノード)のみについて遅延測定を行う。これにより、ネットワーク遅延推定装置は、少ない処理時間と処理負荷で、高精度な最適ツリーを構築することを可能にする。
 ここでは、ネットワーク遅延推定装置による最適ツリーの構築の仕方の概要について説明する。最適ツリーの構築とは、つまり、加入ノードを接続する仮想ノードを決定し、加入ノードと仮想ノードとの間の遅延を決定し、決定結果を現在の最適ツリーに反映させることである。
 ネットワーク遅延推定装置は、大まかには、一巡目の測定対象ノード選択、一巡目の遅延測定、二巡目の測定対象ノード選択、二巡目の遅延測定、および接続ノードの決定を、この順序で行う。
 図3は、一巡目の測定対象ノード選択の概要を説明するための図である。
 図3Aに示すようなメトリックツリー200aが、現在の最適ツリーである場合を想定する。この場合、図3Bに示すように、ネットワーク遅延推定装置は、最も長い経路である経路241aの両端に位置する第1のノード251aおよび第2のノード252aを、第1の一巡目測定対象ノードのペアとして選択する。更に、ネットワーク遅延推定装置は、図3(C)に示すように、経路241aからの距離が最も長い第3のノード253aと、経路241aからの距離が次に長い第4のノード254aとを、それぞれ選択する。そして、ネットワーク遅延推定装置は、選択した第3のノード253aおよび第4のノード254aを、第2の一巡目測定対象ノードとする。
 そして、ネットワーク遅延推定装置は、加入ノードと各一巡目測定対象ノード251a~254aとの間の遅延測定を行う。そして、ネットワーク遅延推定装置は、測定結果に基づいて、二巡目測定対象ノードの選択を行う。
 図4は、二巡目の測定対象ノード選択の概要を説明するための図である。
 まず、ネットワーク遅延推定装置は、図4Aに示すように、上記測定結果に基づき、加入ノード261aとの距離262aが最も近くなる位置に、仮想接続ノード263aを設定する。この仮想接続ノード263aは、既存の仮想ノードであっても良いし、適当な仮想ノードが存在しない場合には、新たに作成された仮想ノードであっても良い。
 そして、ネットワーク遅延推定装置は、図4Bに示すように、仮想接続ノード263a毎に、その仮想接続ノード263aに隣接する2つの実ノード264aを、二巡目測定対象ノードとして選択する。
 そして、ネットワーク遅延推定装置は、加入ノード261aと各二巡目測定対象ノード264aとの間の遅延測定を行う。そして、ネットワーク遅延推定装置は、測定結果に基づいて、二巡目測定対象ノード264aの中から、加入ノード261aとの間の遅延が最も少ない二巡目測定対象ノード264aを、加入ノード261aの計測対象ノードとして選択する。
 加入ノードに近いノードをより高精度に推定するためには、できるだけ遠くのノードとの間で行われた遅延測定結果が用いられる事が望ましい。このため、ネットワーク遅延推定装置は、上述のように、最も長い経路の両端のノードを、第1の一巡目測定対象ノードに選択し、更に、この経路から遠くに位置するノードを、第2の一巡目測定対象ノードに選択する。このような処理により、ネットワーク遅延推定装置は、加入ノードに近いノードを高精度に推定することができるので、高精度にかつ短時間で、最適ツリーを構築することができる。
 次に、ネットワーク遅延推定装置の構成について説明する。
 図5は、ネットワーク遅延推定装置の構成の一例を示すブロック図である。
 図5において、ネットワーク遅延推定装置302は、イベント検出部304、一巡目測定対象ノード選択部306、メトリック処理部308、二巡目測定対象ノード選択部310、候補ツリー作成部312、最適ツリー処理部314、配信ツリー構築部316、候補ツリーデータベース(DB)318、メトリックデータベース(DB)320、および最適ツリーデータベース(DB)322を有する。
 イベント検出部304は、ネットワーク遅延推定装置302の動作を開始させるネットワークイベントの発生を検出する。このネットワークイベントとは、加入ノードからネットワーク加入時に送信されるもので、加入ノードのネットワークID(identifier)を含むメッセージの受信である(324)。イベント検出部304は、メッセージを受信すると、そのメッセージに含まれているネットワークIDを、一巡目測定対象ノード選択部306へ渡す(326)。
 一巡目測定対象ノード選択部306は、最適ツリーデータベース322に格納された現在の最適ツリーから、事前の評価に基づいて、互いの距離がより長い実ノードのペアを優先して、一巡目測定対象ノードとして選択する。また、一巡目測定対象ノード選択部306は、選択していない他の全てのノード(以下「非選択ノード」という)の、上述の実ノードのペアからの距離を評価し、距離が長い非選択ノードを探索する。そして、一巡目測定対象ノード選択部306は、探索された非選択ノードについても、一巡目測定対象ノードとして選択する(328)。
 具体的には、一巡目測定対象ノード選択部306は、全ノードのうち所定の割合のノード(例えば、8分の1。ここでは、4つの実ノードとする。)が一巡目測定対象ノードとして選択される等、所定の終了条件が満たされるまで、この選択を繰り返す。終了条件は、ユーザの優先事項(精度または測定時間)に基づいて設定されてもよい。終了条件を、より高い割合のノード選択とすればするほど、新たに作成される最適ツリーの精度は向上するが、最適ツリーが作成されるまでに要する処理負荷は高くなり、処理時間は長くなる。
 また、一巡目測定対象ノード選択部306は、終了条件が満たされると(例えば4つの実ノードが一巡目測定対象ノードとして選択されると)、メトリック処理部308に対して、一巡目のメトリック収集の開始を指示する(330)。一巡目のメトリック収集とは、加入ノードと各一巡目測定対象ノードとの間のネットワークメトリックの測定を行い、測定結果を収集することである。
 メトリック処理部308は、他の機能部からの指示に従って、ネットワーク116から必要なネットワークメトリックを取得し、メトリックデータベース320に格納する。
 具体的には、メトリック処理部308は、一巡目測定対象ノード選択部306からの指示を受けたときは、各一巡目測定対象ノードとの間の遅延測定を要求するネットワークメッセージを、加入ノードへ送信する(332)。そして、メトリック処理部308は、加入ノードから返信されてきた一巡目の遅延測定結果を(334)、メトリックデータとしてメトリックデータベース320へ格納する(336)。
 また、メトリック処理部308は、後述の二巡目測定対象ノード選択部310からの指示を受けたときは、各一巡目測定対象ノードとの間の遅延測定を要求するネットワークメッセージを、加入ノードへ送信する(332)。そして、メトリック処理部308は、加入ノードから返信されてきた二巡目の遅延測定結果のデータを、メトリックデータとしてメトリックデータベース320へ格納する(336)。
 図6は、メトリックデータベース320が格納するメトリックデータの構成の一例を示す図である。
 図6に示すように、メトリックデータ1800は、発側ノードID1808、着側ノードID1810、および遅延1812を、対応付けて記述する。発側ノードID1808には、加入ノードのネットワークIDが記述される。着側ノードID1810には、測定対象ノードのネットワークIDが記述される。遅延1812には、発側ノードID1808が示すノード(加入ノード)から着側ノードID1810が示すノード(測定対象ノード)への送信の遅延が、その組み合わせ毎に記述される。
 二巡目測定対象ノード選択部310は、メトリックデータベース320に新たな一巡目の遅延測定結果の全てが格納される毎に、一巡目の遅延測定結果を、候補ツリー作成部312に渡す。これにより、二巡目測定対象ノード選択部310は、候補ツリー作成部312に対し、候補ツリーの作成を指示する(338、340)。候補ツリーは、加入ノードを、推定される接続位置で現在の最適ツリーに追加した、一時的なメトリックツリーである。そして、二巡目測定対象ノード選択部310は、候補ツリー作成部312によって候補ツリーデータベース318に格納された、全ての候補ツリーの遅延実測値との誤差を評価する。これにより、二巡目測定対象ノード選択部310は、遅延実測値との誤差が少ない候補ツリーを探索する(344)。
 そして、二巡目測定対象ノード選択部310は、評価結果に従って、最良から最悪まで候補ツリーの順位付けを行い、より最良のものから順に、候補ツリー毎に巡目測定対象ノードの抽出を行う。
 二巡目測定対象ノード選択部310は、全ノードのうち所定の割合のノード(例えば、8分の3)が二巡目測定対象ノードとして選択される等、所定の終了条件が満たされるまで、この抽出を繰り返す。そして、二巡目測定対象ノード選択部310は、終了条件が満たされると、抽出した二巡目測定対象ノードのリストを、メトリック処理部308へ渡す(346)。この結果、上述の通り、二巡目の遅延測定結果のデータが、メトリックデータベース320へ格納されることになる(336)。
 候補ツリー作成部312は、他の機能部からの指示に従って、候補ツリーを作成し、作成した候補ツリーのデータ(以下「候補ツリーデータ」という)を、候補ツリーデータベース318に格納する(342)。
 具体的には、候補ツリー作成部312は、二巡目測定対象ノード選択部310からの指示を受けたとき、一巡目測定対象ノードのペア毎に、ペアを結ぶ経路に対する加入ノードの相対位置を算出する。そして、候補ツリー作成部312は、経路との距離が最も短くなる位置で加入ノードを現在の最適ツリーに接続した場合のツリーを、候補ツリーとして作成する。
 また、候補ツリー作成部312は、最適ツリー処理部314からの指示を受けたとき、再び候補ツリーを作成する。この際、候補ツリー作成部312は、一巡目測定対象ノードの全てのペアおよび二巡目測定対象ノードの全てのペア間におけるネットワークメトリックに基づいて、候補ツリーを作成する。
 候補ツリーデータベース318は、候補ツリー作成部312の処理を受けて、候補ツリーデータを格納する。
 図7は、候補ツリーデータベース318が格納する候補ツリーデータの構成の一例を示す図である。
 図7に示すように、候補ツリーデータ1700は、候補ツリーの各ノードの、ツリーID1708、ノードID1710、および種別1712を対応付けて記述する。また、候補ツリーデータ1700は、候補ツリーの各エッジに関する、ツリーID1720、発側ノード1722、着側ノード1724、および距離1726を対応付けて記述する。ノードの種別1712には、ノードが実ノードと仮想ノードのいずれであるかを示す情報が記述される。また、エッジの距離1726には、発側ノード1722が示すノードと着側ノード1724が示すノードとの間の距離が記述される。
 候補ツリーデータベース318に格納された候補ツリーデータは、二巡目測定対象ノード選択部310によって、二巡目測定対象ノードを選択する際に使用される。
 最適ツリー処理部314は、メトリックデータベース320に新たな一巡目の遅延測定結果および二巡目の遅延測定結果の全てが格納される毎に、候補ツリー作成部312に対し、候補ツリーの作成を指示する(348、350)。この結果、上述の通り、二巡目測定対象ノードに基づいて作成された候補ツリーが、候補ツリーデータベース318へ格納されることになる(342)。そして、最適ツリー処理部314は、加入ノードと各測定対象ノードとの間の遅延測定結果(ネットワークメトリック)に基づいて、全ての候補ツリーを評価し(352)、最良の候補ツリーを、最適ツリーに決定する。そして、最適ツリー処理部314は、決定した最適ツリーのデータ(以下「最適ツリーデータ」という)を、最適ツリーデータベース322に格納する(354)。
 図8は、最適ツリーデータベース322が格納する最適ツリーデータの構成の一例を示す図である。
 図8に示すように、最適ツリーデータ1900は、最適ツリーの各ノードの、ノードID1908および種別1910を対応付けて記述する。また、最適ツリーデータ1900は、候補ツリーの各エッジに関する、発側ノード1918、着側ノード1920、および距離1922を対応付けて記述する。ノードの種別1910には、ノードが実ノードと仮想ノードのいずれであるかを示す情報が記述される。また、エッジの距離1922には、発側ノード1918が示すノードと着側ノード1920が示すノードとの間の距離が記述される。
 配信ツリー構築部316は、例えば、オペレータ操作等による任意の区間の遅延の問い合わせを受けて、問い合わせのあった区間の遅延を、最適ツリーデータベース322の最適ツリーデータから取得する。
 また、ネットワーク遅延推定装置302は、図示しないが、例えば、CPU(central processing unit)、制御プログラムを格納したROM(read only memory)等の記憶媒体、RAM(random access memory)等の作業用メモリ、および通信回路等を有する。この場合、上記した各部の機能は、CPUが制御プログラムを実行することにより実現される。
 このようなネットワーク遅延推定装置302は、加入ノードとの遅延測定の対象を、一巡目測定対象ノードおよび二巡目測定対象ノードのみに絞って、最適ツリーの構築を行うことができる。
 次に、ネットワーク遅延推定装置302の動作について説明する。
 図9は、ネットワーク遅延推定装置302の全体動作を示すフローチャートである。
 まず、イベント検出部304において、メトリックツリー構築を伴うネットワークイベントが検出される(加入ノードからネットワークメッセージを受信)(S402)。すると、一巡目測定対象ノード選択部306は、現在の最適ツリーOから、一巡目測定対象ノードST1を選択する(S404)。この一巡目測定対象ノードST1を選択する処理の詳細については、後述する。一巡目測定対象ノードST1が選択されると、メトリック処理部308は、加入ノードに対し、一巡目測定対象ノードST1のネットワークIDのリストを含むネットワークメッセージを送信する。これにより、メトリック処理部308は、加入ノードに対し、各一巡目測定対象ノードST1との間のネットワークメトリック(遅延)の測定を要求する(S406)。
 図10は、ネットワークメッセージの構成の一例を示す図である。
 図10に示すように、ネットワークメッセージ1500は、ノード数1502と、ネットワークIDのリスト1504とを記述している。ネットワークIDのリスト1504は、選択された全ての一巡目測定対象ノードST1のネットワークIDのリストである。ノード数1502は、ネットワークIDのリスト1504が対応するノード数、つまり、リスト1504に記述されたネットワークIDの個数である。
 図11は、ネットワークメトリックの測定結果の構成の一例を示す図である。
 図11に示すように、測定結果1600は、ノード数1602と、ネットワークID1604とそのノードについての結果1606とのペアとを記述している。ネットワークID1604は、ネットワークメッセージ1500でリストアップされていたネットワークIDに対応している。
 そして、メトリック処理部308により一巡目の全ての測定結果は、メトリックデータベース320へ格納される。そして、二巡目測定対象ノード選択部310は、一巡目測定対象ノードST1と現在の最適ツリーOとを使用して、二巡目測定対象ノードST2を選択する(S408)。この二巡目測定対象ノードST2を選択する処理の詳細については、後述する。二巡目測定対象ノードST2のリストが得られると、メトリック処理部308は、二巡目測定対象ノードST2のネットワークIDのリストを含むネットワークメッセージを、加入ノードへ送信する。これにより、メトリック処理部308は、加入ノードに対して、各二巡目測定対象ノードST2との間のネットワークメトリック(遅延)の測定を要求する(S410)。
 そして、メトリック処理部308は、二巡目の全ての測定結果をメトリックデータベース320に格納する。すると、最適ツリー処理部314は、一巡目測定対象ノードST1および二巡目測定対象ノードST2と現在の最適ツリーOとを使用して、新たな最適ツリーO'を作成する(S412)。最適ツリーO'は、加入ノードを含む新たな最適ツリーである。この新たな最適ツリーO’を作成する処理の詳細については、後述する。そして、作成された最適ツリーO'が最適ツリーデータベース322に格納されると、配信ツリー構築部316は、コンテンツ配信のためのツリーを作成するために、適宜、最適ツリーO'を使用する(S414)。
 以下、図9の各処理の詳細について説明する。
 図12は、図9のステップS404の、一巡目測定対象ノードを選択する処理の詳細を示すフローチャートである。
 一巡目測定対象ノード選択部306は、現在の最適ツリーOにおいて、最も距離が長い実ノードのペアを、第1の一巡目測定対象ノードST1として選択する(S502)。そして、一巡目測定対象ノード選択部306は、残っている非選択ノードSを評価して、最良のノード(第1の一巡目測定対象ノードST1のペアを結ぶ経路からの距離が長いノード)Nを決定する(S504)。これらの、第1の一巡目測定対象ノードST1を選択する処理の詳細、および、最良ノードNを決定する処理の詳細については、後述する。非選択ノードとは、現在の最適ツリーOにおける全ての実ノードSから、一巡目測定対象ノードST1を除いた残りの実ノードである。
 そして、一巡目測定対象ノード選択部306は、決定した最良のノードNを、第2の一巡目測定対象ノードST1として選択して一巡目測定対象ノードST1のセットに追加する(S506)。一巡目測定対象ノード選択部306は、一巡目測定対象ノードST1の数が所要数に到達するまで、ステップS504、S506の処理を繰り返す(S508)。本実施の形態では、所定数は4であるため(図3A参照)、ステップS502で第1の一巡目測定対象ノードのペアが選択され、ステップS504で第2の一巡目測定対象ノードのペアが選択されることになる。
 図13は、図12のステップS502の、第1の一巡目測定対象ノードを設定する処理の詳細を示すフローチャートである。
 一巡目測定対象ノード選択部306は、まず、現在の最適ツリーOにおける全ての実ノードを、実ノードSに設定する(S602)。そして、一巡目測定対象ノード選択部306は、ノード間の距離を比較するためのパラメータとして用いる最大距離Dmaxを、ゼロに初期化し(S604)、実ノードSの全てのペアSNNのセットを作成する(S606)。ペアSNNは、実ノードSと別の実ノードSとの組み合わせ(S*S={(a,b)}である。未処理のペアSNNが残っている間は、以下のステップS610~S616の処理を繰り返す(S608)。
 まず、一巡目測定対象ノード選択部306は、ペアSNNを1つ選択し(S610)、選択中のペアSNNのノードAとノードBとの間の距離Dを、現在の最適ツリーOに基づいて算出する(S612)。そして、一巡目測定対象ノード選択部306は、算出した距離Dが最大距離Dmaxよりも大きい場合(S614:YES)、この距離Dを最大距離Dmaxとして記憶する。また、一巡目測定対象ノード選択部306は、選択中のペアSNNを、現在の最良ノードとして記憶する(S616)。そして、一巡目測定対象ノード選択部306は、全てのペアSNNについて調べた後、その時点の最良ノードを、第1の一巡目測定対象ノードST1に設定する(S618)。
 図14は、図12のステップS504の、最良ノードを決定する処理の詳細を示すフローチャートである。
 一巡目測定対象ノード選択部306は、まず、その時点の一巡目測定対象ノードST1を、初期の選択ノードSとする(S702)。すなわち、選択ノードSのセットの初期状態は、第1の一巡目測定対象ノードST1のみから成る。また、一巡目測定対象ノード選択部306は、ネットワークを形成するネットワークノードSを、空に初期化する(S704)。そして、一巡目測定対象ノード選択部306は、次に、選択ノードSのセットから任意のノードNを1つ取り出し(S706)、未処理のノードが残っている間は、以下のステップS710、S712の処理を繰り返す(S708)。一巡目測定対象ノード選択部306は、選択ノードSの残りである他のノードNを1つ取り出す(S710)。そして、一巡目測定対象ノード選択部306は、現在の最適ツリーOにおけるノードNとノードNとの間の経路を算出し、経路上の全てのノードを、ネットワークノードSのセットに追加する(S712)。
 そして、全ての選択ノードSが処理されたら、一巡目測定対象ノード選択部306は、ネットワークノードSのセットを使用して、非選択ノードSの評価を開始する。まず、一巡目測定対象ノード選択部306は、実ノードSのセットから全ての一巡目測定対象ノードST1を除外した残りのノードを、非選択ノードSとする(S714)。そして、一巡目測定対象ノード選択部306は、未処理の非選択ノードSが残っている間は、以下のステップS718~722の処理を繰り返す(S716)。
 一巡目測定対象ノード選択部306は、非選択ノードSから任意のノードNを1つ取り出し(S718)、現在の最適ツリーOにおいて、ノードNからの横型探索を、ネットワークノードSのいずれかに到達するまで実行する(S720)。そして、一巡目測定対象ノード選択部306は、ノードNと出くわしたネットワークノードSのとの間の距離を、そのノードNの指標値v(N)と定義する(S722)。そして、一巡目測定対象ノード選択部306は、全てのノードNのうち、指標値v(N)が最大となるノードを、最良ノードNに設定する(S724)。すなわち、一巡目測定対象ノード選択部306は、ネットワークノードSのとの距離が最大となるノードであり、第1の一巡目測定対象ノードST1のペアを結ぶ経路との距離が最も長くなるノードを、最良ノードNに設定する。
 図15は、図9のステップS408の、二巡目測定対象ノードを選択する処理の詳細を示すフローチャートである。
 二巡目測定対象ノード選択部310は、まず、一巡目測定対象ノードST1を、測定対象ノードSとする(S802)。すなわち、測定対象ノードSのセットの初期状態は、第1の一巡目測定対象ノードST1のみから成る。そして、二巡目測定対象ノード選択部310は、候補ツリー作成部312を用いて、候補ツリーSのセットを作成する(S804)。この候補ツリーSのセットを作成する処理の詳細については、後述する。候補ツリーSは、最適ツリーOにおいて、測定対象ノードS(ここでは一巡目測定対象ノードST1)のペアを接続したときの、メトリックツリーである。また、候補ツリーSのセットとは、全てのペアについての候補ツリーSのセットある。そして、二巡目測定対象ノード選択部310は、候補ツリーデータベース318から候補ツリーSのセットを取り出し、各候補ツリーSを以下のように評価する。
 まず、二巡目測定対象ノード選択部310は、評価ツリーSC’を空に初期化する(S806)。そして、二巡目測定対象ノード選択部310は、未処理の候補ノードSが残っている間は、以下のステップS810~S814の処理を繰り返す(S808)。
 まず、二巡目測定対象ノード選択部310は、候補ツリーSのセットから任意の候補ツリーTを1つ取り出す(S810)。そして、二巡目測定対象ノード選択部310は、候補ツリーTにおける、新たな実ノード(加入ノード)と新たな仮想ノード(加入ノードの接続位置)との間の距離Dを求める(S812)。そして、二巡目測定対象ノード選択部310は、候補ツリーTを評価ツリーSC’のセットに追加し、求めた距離Dを、その候補ツリーTの指標値v(T)と定義する(S814)。そして、全ての評価候補ツリーSを評価すると、二巡目測定対象ノード選択部310は、評価ツリーSC’を指標値v(T)の昇順にソートする(S816)。そして、二巡目測定対象ノード選択部310は、ソートされた順序に従って、評価ツリーSC’のセットから、二巡目測定対象ノードST2を抽出する(S818)。この二巡目測定対象ノードST2を抽出する処理の詳細については、後述する。
 図16は、図15のステップS804の、候補ツリーのセットを作成する処理の詳細を示すフローチャートである。
 候補ツリー作成部312は、まず、測定対象ノードSの中から、全ての可能なペアSTTを作成し(S902)、2つのノードの両方が同一となっているペアをペアSTTから除外する(S904)。そして、候補ツリー作成部312は、未処理のペアSTTが残っている間は、以下のステップS908~S922の処理を繰り返す(S906)。
 まず、候補ツリー作成部312は、ペアSTTを1つ選択する(S908)。そして、候補ツリー作成部312は、現在の最適ツリーOにおいて、選択中のペアSTTのノードAおよびノードBのうち、ノードAから、追加される仮想ノードまでの距離Dを算出する(S910)。距離Dは、つまり、候補ツリー作成部312は、加入ノードの接続位置として、当該ペアSTTの間の経路上に追加される、仮想ノードの位置を示す値である。候補ツリー作成部312は、例えば、当該STTの間の遅延(現在の最適ツリーOからの推定値)とノードAと加入ノードとの間の遅延(測定値)とを加算し、この加算値からノードB加入ノードとの間の遅延(測定値)を差し引く。そして、候補ツリー作成部312は、その差し引いた結果を2で割ることにより、距離Dを算出する。
 そして、候補ツリー作成部312は、現在の最適ツリーOの複製ツリーO’を作成し(S912)、新たな仮想ノードVを、距離Dの位置で複製ツリーO’に追加する(S914)。この仮想ノードVを追加する処理の詳細については、後述する。そして、候補ツリー作成部312は、加入ノードに相当する新たな実ノードJを作成して複製ツリーO’に追加し(S916)、仮想ノードVと実ノードJとの間の距離を算出する(S918)。そして、候補ツリー作成部312は、算出した距離のエッジで、実ノードJを仮想ノードVに接続し(S920)、候補ツリーデータベース318に、候補ツリーSとして、複製ツリーO’を追加する(S922)。
 図17は、図16のステップS914の、仮想ノードを追加する処理の詳細を示すフローチャートである。
 候補ツリー作成部312は、まず、現在のノードCをノードAに初期化し(S1002)、現在の距離Dをゼロに初期化する(S1004)。現在のノードCとは、仮想ノードの位置の近傍であるか否かの判断対象となっている、複製ツリーO’上の仮想ノードを示す。そして、候補ツリー作成部312は、現在の距離Dが仮想ノードの位置を示す上述の距離D未満である間は(S1006:YES)、以下のステップS1008~S1012の処理を繰り返す。
 まず、候補ツリー作成部312は、ノードAとノードBとの間の経路にある、現在のノードCの直後の仮想ノードを直後ノードCとする(S1008)。そして、候補ツリー作成部312は、距離Dを、現在のノードCと直後ノードCとの間の距離だけ増加させ(S1010)、その後、直後ノードCを現在のノードCに設定する(S1012)。
 そして、現在の距離Dが上述の距離D以上になると(S1006:NO)、候補ツリー作成部312は、まず、ノードAとノードBとの間の経路にある、現在のノードCの直前の仮想ノードを直前ノードCとする(S1014)。そして、候補ツリー作成部312は、現在のノードCと直前ノードCとの間の距離を距離Eとし(S1016)、現在のノードCと直前ノードCとの間のエッジを除去する(S1018)。そして、候補ツリー作成部312は、新たな仮想ノードVを作成して複製ツリーO’に追加する(S1020)。そして、候補ツリー作成部312は、仮想ノードVを、現在の距離Dと上述の距離Dとの差に相当するエッジで、現在のノードCに接続する(S1022)。そして、候補ツリー作成部312は、距離Eと、仮想ノードVと現在のノードCとの間の距離との差に相当するエッジで、直前ノードCに接続する(S1024)。
 図18は、図15のステップS818の、二巡目測定対象ノードを抽出する処理の詳細を示すフローチャートである。
 二巡目測定対象ノード選択部310は、まず、二巡目測定対象ノードST2を空に初期化する(S1102)。そして、二巡目測定対象ノード選択部310は、未処理の評価ツリーSC'が残っている間は、以下のステップS1106~S1114の処理を繰り返す(S1104)。
 まず、二巡目測定対象ノード選択部310は、未処理の評価ツリーSC'から、上述の指標値v(T)のソートの順序に従って、候補ツリーTを1つ取り出す(S1106)。そして、二巡目測定対象ノード選択部310は、取り出した候補ツリーTにおいて、新たな実ノード(加入ノード)に最も近い2つの実ノードを、ノードDおよびノードEを決定する(S1108)。そして、二巡目測定対象ノード選択部310は、ノードDが、一巡目測定対象ノードST1のセットおよび二巡目測定対象ノードST2のセットに含まれているか否かを判定する。二巡目測定対象ノード選択部310は、ノードDがいずれにも含まれていなければ、ノードDを、二巡目測定対象ノードST2のセットに追加する(S1110)。同様に、二巡目測定対象ノード選択部310は、ノードEが、一巡目測定対象ノードST1のセットおよび二巡目測定対象ノードST2のセットに含まれているか否かを判定する。二巡目測定対象ノード選択部310は、ノードEがいずれにも含まれていなければ、ノードEを、二巡目測定対象ノードST2のセットに、最後の位置で追加する(S1112)。
 そして、二巡目測定対象ノード選択部310は、二巡目測定対象ノードST2の数が所定値に到達し、十分となるまで、ステップS1106~S1112の処理を繰り返す(S1114)。
 図19は、図9のステップS412の、新しい最適ツリーを作成する処理の詳細を示すフローチャートである。
 二巡目測定対象ノード選択部310は、まず、一巡目測定対象ノードST1および二巡目測定対象ノードST2の両方を、現在の測定対象ノードSに設定する(S1202)。そして、二巡目測定対象ノード選択部310は、候補ツリー作成部312を用いて、現在の測定対象ノードSおよび現在の最適ツリーOに基づいて候補ツリーSを作成する(S1204)。また、二巡目測定対象ノード選択部310は、評価ツリーSC’を空に初期化する(S1206)。そして、二巡目測定対象ノード選択部310は、未処理の候補ノードSが残っている間は、以下のステップS1210~S1214の処理を繰り返す(S1208)。
 まず、二巡目測定対象ノード選択部310は、候補ツリーSのセットから任意の候補ツリーTを1つ取り出す(S1210)。そして、二巡目測定対象ノード選択部310は、一巡目測定対象ノードST1を使用して、その時点の累積誤差Eを算出し、新たな実ノードに対する候補ツリーTの相対誤差に設定する(S1212)。この累積誤差Eを算出する処理の詳細については、後述する。そして、二巡目測定対象ノード選択部310は、候補ツリーTを評価ツリーSC’のセットに追加し、求めた累積誤差Eを、その候補ツリーTの指標値v(T)と定義する(S1214)。
 そして、全ての候補ツリーSが処理されると、最適ツリー処理部314は、全ての候補ツリーSのうち、指標値v(T)が最小となる候補ツリーSを、新たな最適ツリーO’に決定する(S1216)。なお、指標値v(T)が最小となる候補ツリーSとは、つまり、相対誤差が最小となる候補ツリーSのことである。
 図20は、図19のステップS1212の、累積誤差を算出する処理の詳細を示すフローチャートである。
 二巡目測定対象ノード選択部310は、まず、累積誤差Eをゼロに初期化し(S1302)、測定対象ノードSを、選択ノードSとする(S1304)。そして、二巡目測定対象ノード選択部310は、未処理の選択ノードSが残っている間は、以下のステップS1308~S1316の処理を繰り返す。
 まず、二巡目測定対象ノード選択部310は、選択ノードSのセットから任意のノードNを1つ取り出す(S1308)。そして、二巡目測定対象ノード選択部310は、候補ツリーTにおいて、ノードNと新たな実ノード(加入ノード)との間との距離Dを算出する(S1310)。また、二巡目測定対象ノード選択部310は、ノードNと新たな実ノード(加入ノード)との間の実際の遅延測定値(ネットワークメトリック)Mを、メトリックデータベース320から取得する(S1312)。そして、二巡目測定対象ノード選択部310は、距離Dと遅延測定値Mとの差の絶対値を遅延測定値Mで割った値を、相対誤差Rとして算出する(S1314)。そして、二巡目測定対象ノード選択部310は、累積誤差Eを、算出した相対誤差Rだけ増加させる(S1316)。
 上記により、ネットワーク遅延推定装置302は、一巡目測定対象ノードST1および二巡目測定対象ノードST2を選択することができる。そして、ネットワーク遅延推定装置302は、これら一巡目測定対象ノードST1および二巡目測定対象ノードST2と現在の最適ツリーOとに基づいて、加入ノードを追加した新たな最適ツリーO’を作成することができる。
 以上のように、本実施の形態に係るネットワーク遅延推定装置302は、測定対象の入念なノードサンプリングを行う。すなわち、ネットワーク遅延推定装置302は、加入ノードからの距離測定となる実ノードを、一巡目測定対象ノードおよび二巡目測定対象ノードとして選択する。一巡目測定対象ノードは、現在の最適ツリーにおいて最も経路が長い、つまり最も外側に位置する実ノードのペアを含む。二巡目測定対象ノードは、一巡目測定対象ノードのペアを結ぶ経路において、加入ノードからの距離が近い実ノードである。これにより、ネットワーク遅延推定装置302は、加入ノードに近いノードを高精度に推定することができる。
 また、ネットワーク遅延推定装置302は、一巡目測定対象ノードおよび二巡目測定対象ノードのみに絞って遅延測定を行い、現在の最適ツリーに測定結果を追加する形で、新たな最適ツリーを作成する。これにより、ネットワーク遅延推定装置302は、精度の高い新たな最適ツリー(メトリックツリー)を、短時間で作成することができる。
 例えば、端末中継型マルチポイント通信の配送木の計算の前工程として、このようなメトリックツリーの作成を行えば、より少ない待ち時間で、配送木の計算に必要な情報を得ることができる。そして、その結果として、通信を短時間で開始することができる。また、ネットワーク遅延推定装置302は、この処理を繰り返すことにより、ネットワーク全体について、遅延実測値との誤差が少ないメトリックツリーを構成することが可能となる。
 なお、本実施の形態のネットワーク遅延推定装置302は、一巡目測定対象ノードの追加を2段階で行うことにより計測誤差の削減を図ったが、1段階の追加に止めても良いし、3段階の追加を行なってもよい。例えば、ネットワーク遅延推定装置302は、3段階目では、上述の第1の一巡目測定対象ノードおよび第2の一巡目測定対象ノードのそれぞれからの距離が最も離れている実ノードを選定し、追加してもよい。
 以上のように、本実施の形態に係るネットワーク遅延推定装置は、複数のノードを含むネットワークの各ノード間の遅延を記述するメトリックツリーを作成するネットワーク遅延推定装置であって、既知のメトリックツリーから、互いの距離が長い一対または複数対のノードを一巡目測定対象ノードとして選択し、任意のノードと各一巡目測定対象ノードとの距離の測定を行う一巡目測定対象ノード選択部と、前記一巡目測定対象ノードとの前記距離および前記既知のメトリックツリーに基づいて、前記任意のノードとの距離が短いと推定されるノードを二巡目測定対象として選択し、前記任意のノードと各二巡目測定対象ノードとの距離の測定を行う二巡目測定対象ノード選択部と、前記二巡目測定対象ノードとの前記距離および前記既知のメトリックツリーに基づいて、前記任意のノードを含むネットワークのメトリックツリーを作成する最適ツリー処理部と、を有するものである。また、前記二巡目測定対象ノード選択部は、前記一巡目測定対象ノード間を結ぶ経路との距離が短い位置のノードを、前記任意のノードとの距離が短いノードと推定するものである。これにより、本実施の形態は、メトリックツリーを高精度にかつ短時間で作成することができる。
 2010年8月20日出願の特願2010-185028の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
 本発明に係るネットワーク遅延推定装置およびネットワーク遅延推定方法は、メトリックツリーを高精度にかつ短時間で作成することができるネットワーク遅延推定装置およびネットワーク遅延推定方法として有用である。すなわち、本発明は、ネットワークメトリックの取得を必要とする各種用途に適する。
 100 ネットワークシステム
 102~114 ノード
 116 ネットワーク
 200 最適ツリー
 202~214 実ノード
 216~224 仮想ノード
 226~246 重み付きエッジ
 302 ネットワーク遅延推定装置
 304 イベント検出部
 306 一巡目測定対象ノード選択部
 308 メトリック処理部
 310 二巡目測定対象ノード選択部
 312 候補ツリー作成部
 314 最適ツリー処理部
 316 配信ツリー構築部
 318 候補ツリーデータベース
 320 メトリックデータベース
 322 最適ツリーデータベース
 

Claims (8)

  1.  複数のノードを含むネットワークの各ノード間の遅延を記述するメトリックツリーを作成するネットワーク遅延推定装置であって、
     既知のメトリックツリーから、互いの距離が長い一対または複数対のノードを一巡目測定対象ノードとして選択し、任意のノードと各一巡目測定対象ノードとの距離の測定を行う一巡目測定対象ノード選択部と、
     前記一巡目測定対象ノードとの前記距離および前記既知のメトリックツリーに基づいて、前記任意のノードとの距離が短いと推定されるノードを二巡目測定対象として選択し、前記任意のノードと各二巡目測定対象ノードとの距離の測定を行う二巡目測定対象ノード選択部と、
     前記二巡目測定対象ノードとの前記距離および前記既知のメトリックツリーに基づいて、前記任意のノードを含むネットワークのメトリックツリーを作成する最適ツリー処理部と、
     を有するネットワーク遅延推定装置。
  2.  前記二巡目測定対象ノード選択部は、
     前記一巡目測定対象ノード間を結ぶ経路との距離が短い位置のノードを、前記任意のノードとの距離が短いノードと推定する、
     請求項1記載のネットワーク遅延推定装置。
  3.  前記一巡目測定対象ノードと、この一巡目測定対象ノードに基づいて選択された前記二巡目測定対象ノードとに基づいて、前記既知のメトリックツリーに前記任意のノードを追加した候補ツリーを作成する候補ツリー作成部、を更に有し、
     前記最適ツリー処理部は、
     前記候補ツリーのうち、前記任意のノードと前記一巡目測定対象ノードおよび前記二巡目測定対象ノードとの間の各距離の、測定値に対する誤差が少ない候補ツリーを、前記任意のノードを含むネットワークのメトリックツリーとする、
     請求項2記載のネットワーク遅延推定装置。
  4.  前記二巡目測定対象ノード選択部は、
     前記一巡目測定対象ノード間を結ぶ経路が複数存在するとき、前記任意のノードとの距離が短い経路上のノードを優先して、複数のノードを前記任意のノードとの距離が短いノードと推定し、
     前記最適ツリー処理部は、
     前記誤差が最も少ない候補ツリーを、前記任意のノードを含むネットワークのメトリックツリーとする、
     請求項3記載のネットワーク遅延推定装置。
  5.  前記最適ツリー処理部が作成したメトリックツリーを、以降の処理における前記既知のネットワークツリーとして格納する最適ツリーデータベース、を更に有する、
     請求項1記載のネットワーク遅延推定装置。
  6.  前記一巡目測定対象ノード選択部は、
     前記互いの距離が長い一対または複数対のノードに加えて、対となる前記ノード間を結ぶ経路からの距離が長いノードを、前記一巡目測定対象ノードとして更に選択する、
     請求項1記載のネットワーク遅延推定装置。
  7.  前記一巡目測定対象ノード選択部、前記二巡目測定対象ノード選択部、および前記最適ツリー処理部は、
     前記任意のノードが前記ネットワークに追加されることを条件として、それぞれ動作を開始する、
     請求項1記載のネットワーク遅延推定装置。
  8.  複数のノードを含むネットワークの各ノード間の遅延を記述するメトリックツリーを作成するネットワーク遅延推定方法であって、
     既知のメトリックツリーから、互いの距離が長い一対または複数対のノードを一巡目測定対象ノードとして選択し、任意のノードと各一巡目測定対象ノードとの距離の測定を行うステップと、
     前記一巡目測定対象ノードとの前記距離および前記既知のメトリックツリーに基づいて、前記任意のノードとの距離が短いと推定されるノードを二巡目測定対象として選択し、前記任意のノードと各二巡目測定対象ノードとの距離の測定を行うステップと、
     前記二巡目測定対象ノードとの前記距離および前記既知のメトリックツリーに基づいて、前記任意のノードを含むネットワークのメトリックツリーを作成するステップと、
     を有するネットワーク遅延推定方法。
     
PCT/JP2011/001108 2010-08-20 2011-02-25 ネットワーク遅延推定装置およびネットワーク遅延推定方法 WO2012023223A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP11817875.5A EP2538622B1 (en) 2010-08-20 2011-02-25 Network delay estimation apparatus and network delay estimation method
CN201180003937.9A CN102577282B (zh) 2010-08-20 2011-02-25 网络延迟估计装置和网络延迟估计方法
US13/500,382 US8812663B2 (en) 2010-08-20 2011-02-25 Network delay estimation apparatus and a network delay estimation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010185028A JP5473827B2 (ja) 2010-08-20 2010-08-20 ネットワーク遅延推定装置およびネットワーク遅延推定方法
JP2010-185028 2010-08-20

Publications (1)

Publication Number Publication Date
WO2012023223A1 true WO2012023223A1 (ja) 2012-02-23

Family

ID=45604894

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/001108 WO2012023223A1 (ja) 2010-08-20 2011-02-25 ネットワーク遅延推定装置およびネットワーク遅延推定方法

Country Status (5)

Country Link
US (1) US8812663B2 (ja)
EP (1) EP2538622B1 (ja)
JP (1) JP5473827B2 (ja)
CN (1) CN102577282B (ja)
WO (1) WO2012023223A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9191330B2 (en) * 2013-11-14 2015-11-17 International Business Machines Corporation Path selection for network service requests
CN108235447B (zh) * 2018-01-15 2019-07-02 淮阴师范学院 一种复杂动态网络的连接方法
CN114296445B (zh) * 2021-11-26 2024-03-29 山东大学 基于回环路网随机树的最优路径实时规划方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080304421A1 (en) 2007-06-07 2008-12-11 Microsoft Corporation Internet Latencies Through Prediction Trees
JP2010185028A (ja) 2009-02-13 2010-08-26 Ube Ind Ltd 樹脂粒子及びその製造方法並びに化粧料

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717921B1 (en) * 2000-05-17 2004-04-06 Lucent Technologies Inc. Method for configuring a shared tree for routing traffic in a multicast conference
US7558875B2 (en) * 2003-09-15 2009-07-07 Microsoft Corporation Measurement-based construction of locality-aware overlay networks
US7870292B2 (en) * 2003-12-24 2011-01-11 Ntt Docomo, Inc. Network node and associated methodology of expanding a network topology through peer selection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080304421A1 (en) 2007-06-07 2008-12-11 Microsoft Corporation Internet Latencies Through Prediction Trees
JP2010185028A (ja) 2009-02-13 2010-08-26 Ube Ind Ltd 樹脂粒子及びその製造方法並びに化粧料

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
PETER BUNEMAN: "A Note on the Metric Properties of Trees", JOURNAL OF COMBINATORIAL THEORY (B), vol. 17, February 1974 (1974-02-01), pages 48 - 50, XP008160354 *
PETER BUNEMAN: "A Note on the Metric Properties of Trees", JOURNAL OF COMBINATORIAL THEORY(B, vol. 17, February 1974 (1974-02-01), pages 48 - 50
See also references of EP2538622A4
SHIRAI ET AL.: "A Fast Topology Inference : A Building Block for Network-aware Parallel Processing", SENSHINTEKI KEISAN KIBAN SYSTEM SYMPOSIUM SACSIS2007 RONBUNSHU, May 2007 (2007-05-01), pages 329 - 337, XP008160319 *

Also Published As

Publication number Publication date
JP2012044522A (ja) 2012-03-01
EP2538622A4 (en) 2014-09-24
US20120198060A1 (en) 2012-08-02
US8812663B2 (en) 2014-08-19
JP5473827B2 (ja) 2014-04-16
CN102577282A (zh) 2012-07-11
EP2538622A1 (en) 2012-12-26
CN102577282B (zh) 2017-08-25
EP2538622B1 (en) 2016-05-18

Similar Documents

Publication Publication Date Title
US10715638B2 (en) Method and system for server assignment using predicted network metrics
CN111865799B (zh) 路径规划方法、装置、路径规划设备及存储介质
JP4736136B2 (ja) 品質劣化箇所推定システム、及び品質劣化箇所推定方法
CN104243598A (zh) 一种信息推荐方法及装置
JP5473827B2 (ja) ネットワーク遅延推定装置およびネットワーク遅延推定方法
CN109413202B (zh) 区块链交易信息的排序系统及方法
JP2012100010A (ja) ネットワーク監視装置、ネットワーク監視システム、ネットワーク監視方法、及びプログラム
US7991617B2 (en) Optimum design management apparatus from response surface calculation and method thereof
CN106506188A (zh) 一种确定关键节点的方法和设备
CN106105346B (zh) 确定无线通信网络的时间和频率资源的方法和设备
CN111078560B (zh) 基于流量剪枝的测试方法、装置、电子设备及存储介质
JP6466789B2 (ja) 物理経路割当装置、物理経路割当方法、及びプログラム
CN104735237B (zh) 一种路径预测方法及交互式语音应答ivr路径预测系统
WO2019159784A1 (ja) 分散処理システムおよび分散処理方法
JP5806081B2 (ja) レコメンド装置、レコメンドシステム、レコメンド方法およびプログラム
CN105812411A (zh) 定制信息的推荐方法和装置
KR101761184B1 (ko) 협업 필터링 기반 추천 시스템의 유사도 계산의 신뢰성을 향상한 아이템 추천 장치 및 그 방법
CN109412944B (zh) 基于微服务的请求转发方法、装置和服务器
JP4652357B2 (ja) メディア編集サーバ装置、メディア編集システム、およびメディア編集プログラム
JP2002141943A (ja) 経路探索方法および装置
KR20070100020A (ko) Promethee 알고리즘에 기초한 웹 서비스 제공자의선택 방법
JP6541598B2 (ja) ネットワークの機能の配置位置の判定装置及びプログラム
US11115325B2 (en) Control device, transfer device, and control method
WO2023286129A1 (ja) 学習システムおよび学習方法
WO2016082868A1 (en) Orchestrator and method for virtual network embedding using offline feedback

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180003937.9

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 13500382

Country of ref document: US

Ref document number: 2011817875

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11817875

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE