• No results found

5.2 Connectivity Weighted Transfer

6.1.4 Contraction Model

The final model to be discussed is the contraction model, which is an extension to the simplest paths model. It is often the case that the use of one node requires the presence of another node. For example, consider the network shown in 6.21.

In the diagram, it can be seen that node F can only be included in a path if it is preceded by node D and succeeded by node G. Consequently, one might consider contracting the network to eliminate node F. Thus, the incoming and outgoing edges of F are combined to form a single edge from D to G as shown in Figure 6.22.

143 Z Sink A Source C D F G Source

Figure 6.21: An example network

Z Sink A Source C D G Source

Figure 6.22: A contraction of the network shown in Figure 6.21

nodes have a single incoming and single outgoing edge. Thus, their use is not confined to a single case and the nodes cannot be contracted. For example, node G cannot be contracted by connecting nodes C and D to sink Z, since such a modification results in the loss of information that node G is required independently by nodes C and D. The rules for network contraction can be generalised to the following:

• A node may only be contracted if it has exactly one incoming and one outgoing edge.

• Contractions should be carried out on a network made up from simplest paths.

• The network does not become multi-edge, i.e. there may only be one edge from a node A to a node B.

• Sources and sinks may not be contracted. The rules are explained below.

A node must have exactly one incoming and outgoing edge; otherwise the contraction of the node may result in a loss of information. As long as data can only enter and exit from known neighbours, the node’s use in routing is entirely deterministic.

It may not be sufficient to contract a network based on the connectivity of nodes alone, since the fact that a node A can transmit to a node B does not mean that the edge AB is suitable to route from source to sink. For example, consider the network shown in Figure 6.16. Although node C can transmit to node B, it is not possible to form a simple path from source to sink that uses edge CB. Furthermore, contractions in the network are impossible, since every non-sink node has more than one incoming and more than one outgoing edge. Contractions can only be carried out by reducing the number of edges to those that may be used in routing from sources to sinks, i.e. the set of simple or simplest paths. The contraction algorithm considers the set of simplest paths due to the advantages already discussed in Section 6.1.3.3.

Amulti-edgenetwork is defined as a network in which there may be more than one edge from a node A to a node B. For example, in Figure 6.23, AB is multi-edge because there are two edges from node A to node B. AC is not multi-edge because there is only one link from A to C. The other edge is from C to A. When nodes are contracted, the network does not become multi-edge since the metric is only concerned with revealing those nodes whose use is contentious, i.e. relied upon by multiple sources. Making the network multi-edge does not help in finding nodes with contention.

A B

C

Figure 6.23: Multi-edge examples

Finally, sources and sinks may not be contracted since they are automatically potential sources of contention. If a source has no incoming edges (or a sink has no outgoing edges) then the node cannot be contracted due to the requirement that the node has exactly one incoming and one outgoing edge. If the source does have an incoming edge (or the sink has an outgoing edge) then the node is being used for routing as well as being a producer (or receiver) of data. Thus, the node has contention and cannot be contracted.

Having contracted the network and removed as many nodes as possible, the set of simplest paths from sources to sinks can be enumerated. As with the simplest paths model, the relative reliance value for a node X to a (source, sink) pair (A, Z) is the proportion of simplest paths on which the node lies. The absolute reliance value for node X is the average

145

relative value of X across all (source, sink) pairs for which there exists at least one path. As with the other models, it is assumed that a path cannot contain more than one sink node.

6.1.4.1 Example

Consider the network shown in Figure 6.24 which features two sources (A and D) and a sink (Z). Z Sink A Source B C D F G E Source H

Figure 6.24: An example network with two sources (A and D) and one sink (Z)

As discussed in Section 6.1.3.1, the simplest paths in this network are ACZ, DCZ and DFGZ. Figure 6.25 shows the tree of simplest paths for this network.

A Source C Z D C F G Z Z Source Sink Sink Sink

Figure 6.25: A tree showing simplest paths from sources A and D to sink Z

In this tree it can be seen that node F has only a single incoming (D) and outgoing (G) edge and similarly, node G has a single incoming (F) and outgoing (Z) edge. Thus, nodes F and G can be contracted. No other nodes may be contracted since nodes A and D are sources,

node Z is a sink and node C has two incoming edges from A and D. The resulting tree is shown in Figure 6.26. A Source C Z D C Z Z Source Sink Sink Sink

Figure 6.26: A tree showing simplest paths from sources A and D to sink Z

However, these contractions result in the formation of a subpath DZ and thus, the path DCZ is no longer a simplest path. Therefore, the two remaining contracted simplest paths are DZ and ACZ. The reliance values can now be calculated by examining the number of contracted simplest paths on which each node lies. Each source only has a single (source, sink) path. Nodes A, C and Z all have a relative reliance of 1.0 to the pair (A, Z). Other nodes do not appear on the path and so have a relative reliance of 0.0 to (A, Z). Similarly, nodes D and Z have a relative reliance of 1.0 to (D, Z) and other nodes have a relative reliance of 0.0 to (D, Z). The absolute reliance is calculated by averaging the relative reliances. For example, node Z has an relative reliance of 1.0 to (A, Z) and (D, Z) giving it an absolute reliance of 1.0. The relative and absolute reliance values for each node are shown in Table 6.5.

Node Relative Reliance to (A, Z) Relative Reliance to (D, Z) Absolute Reliance

A 1.00 0.00 0.50 B 0.00 0.00 0.00 C 1.00 0.00 0.50 D 0.00 1.00 0.50 E 0.00 0.00 0.00 F 0.00 0.00 0.00 G 0.00 0.00 0.00 Z 1.00 1.00 1.00

Table 6.5: Relative and absolute reliance values calculated from the contracted simple paths of Figure 6.24

147

Having calculated the reliance values, the network shown in Figure 6.24 is used to select a path. The contracted simplest paths cannot be directly used, because they do not represent how nodes are actually connected. For example, node D is not in reality directly connected to node Z.

6.1.4.2 Worst-Case Growth Rate

As with the other node reliance models, there is no means of determining node reliance based on contracted simplest paths without enumerating all the paths and determining the proportion of paths on which each node lies. The tractability of the contraction model is dependent on the number of paths that may have to be enumerated in a worst-case scenario. The worst-case growth rate of the contraction model is the same as for the simplest paths model, which is repeated here for convenience. Each node should have 3 children of the same depth, each of which should have the same parents. For example, Figure 6.27 shows an example network in which a total of 14 nodes are placed in such a manner as to maximise the number of simplest paths. The network contains34= 81 simplest paths.

Z Sink A Source B C D F G E I J H L M K

Figure 6.27: The worst-case scenario layout for generating simplest paths

The worst growth rates are the same because the contraction model seeks to reduce the number of simplest paths in the network and none of the paths in the worst-case growth rate of the simplest paths model can be contracted. Each node is immune to contraction by virtue of being a source, a sink or by having more than one incoming or outgoing edge. Thus the worst-case growth rate of the contraction model is the same as for the simplest paths model.

6.1.4.3 Advantages

The contraction model provides node reliance values of higher accuracy than the simplest paths model. Only those nodes whose use is contentious are assigned reliance values. For example, consider the network shown in Figure 6.28a and the contracted network shown in Figure 6.28b Sink A Source C G I Z H F B D E Source (a) Sink A Source G Z H Source (b)

Figure 6.28: Contracting a network may allow a more accurate measurement of node reli- ance values

The contracted network shows only those nodes that cause contention, i.e. nodes that are directly relied upon by multiple sources in routing to a sink node. The use of other nodes (such as B) is dependent on other nodes whose use causes contention. In this example, node B can only be used by source H after node G has been used, whose use causes contention with source A. Consequently, the use of node B is not directly contentious. By considering only the contentious nodes, reliance values are not inflated due to numerous possible (but non-contentious) nodes being present.

For example, in Figure 6.28a there are three simplest paths from source A to sink Z through node B and only one through node I. Therefore, node I would be used in preference to node B due to its lower reliance. However, if source A were to avoid node B, it would be required to use the contentious node G which is a bottleneck to source H. In this example, by allowing non contentious nodes to affect node reliance values, an undesirable node is selected for use in a path.

149