• No results found

Cohesion or link connectivity

Distributed Networks 10.1 Introduction

Chapter 11. Dynamic Buffering and Block Storage

12.2. Cohesion or link connectivity

One of the two basic measures of network reliability is cohesion or link connectivity . It is defined as the minimum number of links, ca, that must be removed from the network G(N, L) to break all routes between at least one pair of nodes.

For example, in figure 12.3, the A− F link connectivity is 2, the A− C link connectivity is 3, and the cohesion of the network is 2.

The link connectivity can be defined in terms of link-disjoint paths. Two paths are said to be link-disjoint if they have no links in common. For example, paths ACF and ABCDEF in figure 12.4 are link-disjoint. It can be seen that if there are k link-disjoint paths between X and Y, then at least k links must be removed from the graph to disconnect the nodes.

12.2.1. Finding the Cohesion of a Directed Graph

The max-flow min-cut theorem can be used to calculate the number of link-disjoint paths between a given pair of nodes. A modified Labelling algorithm is as follows:

First replace the capacity on the links, if any, with a unit capacity on each link. Now compute the maximum flow between the given nodes, used as source and destination. The resulting flow, which is equal to the number of links in the maximum cut, is also equal to the number of disjoint paths between the nodes.

The cohesion of the network can be calculated in a straightforward way. Just calculate the link-connectivity for each pair of nodes and take the minimum value found.

12.2.2. Finding the Cohesion in an Undirected Graph

Starting with undirected graph (G(N, L), we find the link connectivity between s, t as follows: First, we derive from G(N, L) a directed graph G(N, L) by:

(a) replacing each link that ends at s in Lby a directed link in L from s to the appropriate node;

(b) replacing each link that ends at t in Lby a directed link in L from the appropriate node to

t;

(c) replacing each other link (i, j) in Lby 2 directed links (i, j) and (j, i) in L.

The transformation is illustrated in figure 12.4.

A G B C D E F H Figure 12.3. s t s t Figure 12.4. 12.3. Node connectivity

The other measure of network reliability is the node connectivity, or just connectivity. It is defined as the minimum number of nodes, cn, whose removal completely disconnect at least one pair of nodes.

The node connectivity between 2 nodes can be defined in terms of node-disjoint paths. For example there are 3 node disjoint paths in the graph of figure 12.5.

It can be seen that if there are n node disjoint paths between X and Y then at least n nodes must be removed from the graph to disconnect the nodes

12.3. Node connectivity 149 A B C D E F G Figure 12.5.

12.3.1. Finding the node connectivity of a undirected graph

The max-flow algorithm can be used again. The basic idea is to convert the problem of finding node-disjoint paths into an equivalent problem involving link-disjoint paths.

The transformation proceeds as follows: take the original (undirected) graph, with its N nodes and L links, convert it into a directed graph with2N nodes and2L + N links by replacing a link

between each pair of nodes by a set of links as illustrated in figure 12.6. An example is in figure 12.7.

All that remains to find the number of node-disjoint paths between the source and destination is to run the max-flow algorithm.

The node connectivity of the whole network is found by applying the modified max-flow algorithm to every pair of nodes in the modified network and taking the minimum over all pairs of nodes. For a network with n nodes, n(n−1)/2applications of the max-flow algorithm are needed. In large networks this much computation is infeasible. To find out whether a proposed network is k link-connected or k node-connected more efficient methods can be used. We consider only the case of node connectivity, because node connectivity is stronger requirement than link connectivity. That is, if a graph can withstand the loss of k +1nodes, it can also withstand the loss of k +1links, by Whitney’s theorem which states that

cn ≤ ca ≤ d

where d is the minimum degree taken over all nodes in the graph. 12.3.2. Kleitman’s Algorithm:

An algorithm due to Kleitman (1969) is as follows:

Choose any node and call it N1. Verify that the node connectivity between N1and every other node in the graph is at least k.

Now delete node N1and all its attached links from the graph and choose another node and call it N2. Verify that this node has at least a node connectivity of k−1with every other node. Next,

A B A B A’ B’ Figure 12.6. A B C D E A A’ B B’ C C’ D’ E E’ D Figure 12.7.

12.3. Node connectivity 151 remove N2and its attached links from the graph, and choose a third node N3. Verify that N3has at least a node connectivity of k−2with each of the remaining nodes. Continue this process until you have verified that some node Nkis at least1-connected to all nodes of the remaining graph. If, on the other hand, G is not k-connected, i.e. cn < k, the iterative process will fail at one step

and the algorithm need not be carried beyond this step.

An example is illustrated in figure 12.8, showing the original graph is 4-connected. 12.3.3. Even’s algorithm

Even (1975) has devised another way to check for connectivity k. Number the nodes1,2,…N

and proceed as follows:

(a) Form the subset consisting of the nodes1,2,…k. Check to see that each node in the subset

has k node-disjoint paths to each of the other node. If this step succeeds, continue with step (b); otherwise, stop: the graph obviously does not have k node disjoint paths between all pairs of nodes.

(b) For each node, j, k < j≤ N, perform the following operations: (i) Form the subset s− {1,2,…., j− l}

(ii) Add a new node x and connect it to each node in s.

(iii) Verify that there are k node disjoint paths between j and x.

If for some j step (b) fails, the graph does not have k node-disjoint paths between all pairs of nodes; otherwise, it does.

Exercise

Is the graph of figure 12.9 3-connected?