14 | | The overlay is constructed incrementally: First, a joining |
15 | | node contacts another node—running the same ariba-based |
16 | | application—it has direct connectivity with. For example, |
17 | | N1 may use N2 to join the overlay. The joining node must |
18 | | establish connections to its logical neighbors in the overlay. |
19 | | Neighbors are discovered by issuing queries inside the over- |
20 | | lay network using key-based routing. For example, if P2 is |
21 | | logical neighbor of N1, the query reaches P2. P2 has two |
22 | | options: P2 might try to establish a direct connection to |
23 | | N1—which is not possible due to heterogeneity—or use the |
24 | | overlay path the query originated to establish a connection. |
25 | | In the latter case, N2 (or N4) and N3 would be used to con- |
26 | | struct a relay path between N1 and P2. Relay paths may |
27 | | fail if the network setting is changed. In this case the node |
28 | | can re-establish relay paths by partially repeating the join |
29 | | phase for overlay stabilization. |
30 | | For an instant decision whether two nodes can communi- |
31 | | cate directly and to optimize the length of relay paths ariba |
32 | | implements an unintrusive extension: Connectivity Domain |
33 | | management. The extension monitors overlay connections |
34 | | and relay paths to identify regions with direct connectivity— |
35 | | so called Connectivity Domains—and assigns a Connectivity |
36 | | Domain Identifier (CDID) to each Connectivity Domain. |
37 | | Using a gossip mechanism nodes inform each other about changes in connectivity characteristics (i. e., a Connectivity |
38 | | Domain split or merge) and resolve conflicting CDIDs. All |
39 | | nodes include CDIDs in their routing information. Thus |
40 | | other nodes can immediately decide whether they can com- |
41 | | municate directly with a certain node by comparing CDIDs, |
42 | | which can also be used to discover shorter relay paths [3]. |
43 | | For demonstration purpose, the network settings shown in |
44 | | Figure 2 can be modified by connecting and removing relay- |
45 | | ing nodes, as well as connecting nodes to different networks |
46 | | interactively. ariba will automatically sustain connectivity |
47 | | between nodes. To visualize internal protocol functionality |
48 | | the application additionally shows its local view of the net- |
49 | | work: relay paths traversing the node and logical neighbors. |
50 | | In its current form our approach has the following open |
51 | | issues: First, the overlay re-join mechanisms may suffer from |
52 | | overlay partitioning, and second, relay paths may degrade |
53 | | in case of network setting reconfiguration. However, our |
54 | | approach is feasible in a practical setting and allows easy |
55 | | deployment, as shown in the demonstration. |
| 14 | The overlay is constructed incrementally: First, a joining node contacts another node—running the same ariba-based application-it has direct connectivity with. For example, |
| 15 | N1 may use N2 to join the overlay. The joining node must establish connections to its logical neighbors in the overlay. Neighbors are discovered by issuing queries inside the overlay network using key-based routing. For example, if P2 is logical neighbor of N1, the query reaches P2. P2 has two options: P2 might try to establish a direct connection to N1—which is not possible due to heterogeneity—or use the overlay path the query originated to establish a connection. In the latter case, N2 (or N4) and N3 would be used to construct a relay path between N1 and P2. Relay paths may fail if the network setting is changed. In this case the node can re-establish relay paths by partially repeating the join phase for overlay stabilization. For an instant decision whether two nodes can communicate directly and to optimize the length of relay paths ariba implements an unintrusive extension: Connectivity Domain management. The extension monitors overlay connections and relay paths to identify regions with direct connectivity—so called Connectivity Domains—and assigns a Connectivity Domain Identifier (CDID) to each Connectivity Domain. |
| 16 | Using a gossip mechanism nodes inform each other about changes in connectivity characteristics (i. e., a Connectivity Domain split or merge) and resolve conflicting CDIDs. All nodes include CDIDs in their routing information. Thus other nodes can immediately decide whether they can communicate directly with a certain node by comparing CDIDs, which can also be used to discover shorter relay paths [3]. For demonstration purpose, the network settings shown in Figure 2 can be modified by connecting and removing relaying nodes, as well as connecting nodes to different networks interactively. ariba will automatically sustain connectivity between nodes. To visualize internal protocol functionality the application additionally shows its local view of the network: relay paths traversing the node and logical neighbors.In its current form our approach has the following open |
| 17 | issues: First, the overlay re-join mechanisms may suffer from overlay partitioning, and second, relay paths may degrade in case of network setting reconfiguration. However, our |
| 18 | approach is feasible in a practical setting and allows easy deployment, as shown in the demonstration. |