|
1 Unicast Routing Algorithms |
|
|
1 | (12) |
|
1.1 Unicast Routing Concepts |
|
|
1 | (1) |
|
|
2 | (3) |
|
|
3 | (1) |
|
1.2.2 Time-To-Live Window Strategy |
|
|
4 | (1) |
|
1.3 Routing via Shortest-Paths |
|
|
5 | (1) |
|
1.4 Distance-Vector Algorithms |
|
|
6 | (2) |
|
1.4.1 The Bellman-Ford Algorithm |
|
|
6 | (1) |
|
|
6 | (1) |
|
1.4.3 Analysis of the Bellman-Ford Algorithm |
|
|
7 | (1) |
|
1.4.4 Distributed Implementation |
|
|
8 | (1) |
|
1.5 Link-State Algorithms |
|
|
8 | (2) |
|
1.5.1 Dijkstra's Algorithm |
|
|
9 | (1) |
|
1.5.2 Distributed Implementation of Link-State Algorithms |
|
|
9 | (1) |
|
|
10 | (3) |
|
|
13 | (16) |
|
|
14 | (3) |
|
|
15 | (1) |
|
|
16 | (1) |
|
2.1.3 Optimization Objectives |
|
|
16 | (1) |
|
2.2 Multicast Technologies |
|
|
17 | (2) |
|
2.3 Major Multicast Implementations |
|
|
19 | (1) |
|
2.4 Basic Routing Techniques |
|
|
20 | (5) |
|
2.4.1 Graph Theory Terminology |
|
|
20 | (1) |
|
|
21 | (1) |
|
2.4.3 Algorithm Classification |
|
|
22 | (1) |
|
2.4.4 Shortest Path Problems with Delay Constraints |
|
|
23 | (1) |
|
2.4.5 Delay Constrained Minimum Spanning Trees |
|
|
23 | (1) |
|
2.4.6 Center-Based Trees and Topological Center |
|
|
24 | (1) |
|
2.5 Additional Restrictions |
|
|
25 | (1) |
|
|
25 | (1) |
|
|
26 | (1) |
|
|
26 | (3) |
|
3 Steiner Trees and Multicast |
|
|
29 | (18) |
|
|
29 | (1) |
|
3.2 Steiner Trees on Graphs |
|
|
30 | (1) |
|
3.3 Modeling Multicast Routing Constraints |
|
|
31 | (3) |
|
|
32 | (1) |
|
3.3.2 The KMB Algorithm on Multicast Networks |
|
|
33 | (1) |
|
3.3.3 Other Algorithms for Steiner Tree |
|
|
33 | (1) |
|
3.4 Steiner Tree Problems with Delay Constraints |
|
|
34 | (5) |
|
3.4.1 Adapting a Steiner Tree Algorithm |
|
|
35 | (1) |
|
3.4.2 Algorithms for Sparse Steiner Trees |
|
|
35 | (1) |
|
3.4.3 Combining Cost and Delay Optimization |
|
|
36 | (1) |
|
3.4.4 Constrained Shortest Paths |
|
|
37 | (1) |
|
3.4.5 Link Capacity Constraints |
|
|
38 | (1) |
|
3.4.6 Delay Bounded Paths |
|
|
38 | (1) |
|
3.5 Sparsity and Delay Minimization |
|
|
39 | (2) |
|
|
40 | (1) |
|
3.5.2 Minimizing Configuration Time |
|
|
41 | (1) |
|
3.6 An IP Formulation for Multicast Routing |
|
|
41 | (3) |
|
3.6.1 Minimizing Bandwidth Utilization |
|
|
43 | (1) |
|
3.7 The Degree-Constrained Steiner Problem |
|
|
44 | (1) |
|
|
45 | (2) |
|
4 Online Multicast Routing |
|
|
47 | (10) |
|
|
47 | (1) |
|
4.2 Online Multicast and Tree Recalculation |
|
|
48 | (1) |
|
4.3 Speeding Up Routing Tree Computations |
|
|
48 | (4) |
|
4.3.1 Working with High Complexity Algorithms |
|
|
49 | (1) |
|
4.3.2 Random Graph Models |
|
|
50 | (1) |
|
4.3.3 Facilitated Inclusion of Group Members |
|
|
51 | (1) |
|
4.4 Quality of Service Maintenance for Online Multicast Routing |
|
|
52 | (3) |
|
|
52 | (2) |
|
4.4.2 Updating the Routing Tree |
|
|
54 | (1) |
|
4.5 OSPF-Based Algorithms for Online Multicast Routing |
|
|
55 | (1) |
|
|
55 | (2) |
|
5 Distributed Algorithms for Multicast Routing |
|
|
57 | (8) |
|
5.1 Distributed Algorithm Concepts |
|
|
57 | (1) |
|
5.2 Distributed Version of the KMB Heuristic |
|
|
58 | (1) |
|
5.3 Distributed Algorithm for Audio and Video on Multicast |
|
|
59 | (1) |
|
5.4 An Adaptation of Prim's Algorithm |
|
|
59 | (1) |
|
5.5 Modifications of Dijkstra's Algorithm |
|
|
60 | (1) |
|
5.6 Using Flooding for Path Computation |
|
|
61 | (1) |
|
5.7 Algorithms for Sparse Groups |
|
|
62 | (1) |
|
5.8 A Comparison of Distributed Approaches |
|
|
62 | (2) |
|
|
64 | (1) |
|
6 Center-Based Trees and Multicast Packing |
|
|
65 | (12) |
|
|
65 | (6) |
|
6.1.1 Center-Based Tree Concepts |
|
|
66 | (1) |
|
6.1.2 The Topological Center Problem |
|
|
67 | (1) |
|
6.1.3 Median and Centroid |
|
|
68 | (1) |
|
6.1.4 Properties of Centroids |
|
|
69 | (1) |
|
|
70 | (1) |
|
6.2 The Multicast Packing Problem |
|
|
71 | (2) |
|
6.2.1 Problem Description |
|
|
71 | (1) |
|
6.2.2 Integer Programming Formulation |
|
|
72 | (1) |
|
6.3 Multicast Dimensioning |
|
|
73 | (2) |
|
|
75 | (2) |
|
7 Metaheuristics for Multicast Routing |
|
|
77 | (18) |
|
|
77 | (5) |
|
|
78 | (2) |
|
|
80 | (1) |
|
7.1.3 Simulated Annealing |
|
|
81 | (1) |
|
7.1.4 Greedy Randomized Adaptive Search Procedure |
|
|
81 | (1) |
|
7.2 A GRASP for Multicast Routing |
|
|
82 | (2) |
|
|
82 | (2) |
|
7.3 Basic Algorithm for the MRP |
|
|
84 | (8) |
|
7.3.1 Adapting the Solution to the MRP |
|
|
84 | (1) |
|
7.3.2 Metaheuristic Description |
|
|
85 | (7) |
|
|
92 | (2) |
|
|
94 | (1) |
|
8 The Point-to-Point Connection Problem |
|
|
95 | (22) |
|
|
95 | (1) |
|
8.2 Point-to-Point Connection and Multicast |
|
|
95 | (1) |
|
|
96 | (3) |
|
8.3.1 Mathematical Programming Formulation |
|
|
98 | (1) |
|
8.4 Asynchronous Team Algorithms |
|
|
99 | (3) |
|
|
99 | (2) |
|
8.4.2 Characterization of an A-Team |
|
|
101 | (1) |
|
8.5 Solving the PPC Problem |
|
|
102 | (3) |
|
8.5.1 Global Data Structures |
|
|
102 | (1) |
|
8.5.2 Heuristic Strategies |
|
|
102 | (3) |
|
8.6 A Partially Synchronous Distributed Model |
|
|
105 | (6) |
|
8.6.1 The Partially Synchronous Model |
|
|
105 | (1) |
|
8.6.2 Distributed Memory Executions |
|
|
106 | (1) |
|
|
107 | (1) |
|
|
108 | (1) |
|
8.6.5 Simulating the Partially Synchronous Model |
|
|
108 | (3) |
|
8.7 Computational Results |
|
|
111 | (4) |
|
8.7.1 Hardware and Software Configuration |
|
|
111 | (1) |
|
|
111 | (2) |
|
|
113 | (2) |
|
|
115 | (2) |
|
9 Streaming Cache Placement |
|
|
117 | (18) |
|
|
117 | (3) |
|
|
118 | (1) |
|
9.1.2 Formal Description of the SCPP |
|
|
118 | (1) |
|
|
119 | (1) |
|
9.2 Types of Cache Placement Problems |
|
|
120 | (3) |
|
9.2.1 The Tree Cache Placement Problem |
|
|
120 | (2) |
|
9.2.2 The Flow Cache Placement Problem |
|
|
122 | (1) |
|
9.3 Complexity of the Cache Placement Problems |
|
|
123 | (4) |
|
9.3.1 Complexity of the TSCPP |
|
|
123 | (3) |
|
9.3.2 Complexity of the FSCPP |
|
|
126 | (1) |
|
9.4 Complexity of Approximation |
|
|
127 | (1) |
|
9.5 Hardness of Approximation |
|
|
128 | (2) |
|
9.6 Improved Hardness Result for FSCPP |
|
|
130 | (3) |
|
|
133 | (2) |
|
10 Algorithms for Cache Placement |
|
|
135 | (14) |
|
|
135 | (1) |
|
10.2 An Approximation Algorithm for SCPP |
|
|
136 | (3) |
|
10.2.1 A Simple Algorithm for TSCPP |
|
|
136 | (1) |
|
10.2.2 A Flow-Based Algorithm for FSCPP |
|
|
137 | (2) |
|
10.3 Construction Algorithms for the SCPP |
|
|
139 | (6) |
|
10.3.1 Connecting Destinations |
|
|
139 | (3) |
|
10.3.2 Adding Caches to a Solution |
|
|
142 | (3) |
|
10.4 Experimental Results |
|
|
145 | (2) |
|
|
147 | (2) |
|
11 Distributed Routing on Ad Hoc Networks |
|
|
149 | (14) |
|
|
149 | (2) |
|
11.1.1 Graph-Based Model of Ad Hoc Networks |
|
|
149 | (1) |
|
11.1.2 Existing Algorithms |
|
|
150 | (1) |
|
11.2 Ad Hoc Technology and Concepts |
|
|
151 | (2) |
|
11.2.1 Virtual Backbone Computation |
|
|
152 | (1) |
|
|
153 | (1) |
|
11.3 Maximum Connected Dominating Sets |
|
|
153 | (1) |
|
11.3.1 Existing Algorithms |
|
|
154 | (1) |
|
11.4 An Algorithm for the MCDS Problem |
|
|
154 | (3) |
|
11.4.1 A Distributed Implementation |
|
|
156 | (1) |
|
11.5 Distributed Heuristic |
|
|
157 | (5) |
|
11.5.1 Computational Complexity |
|
|
158 | (2) |
|
11.5.2 Experimental Results |
|
|
160 | (2) |
|
|
162 | (1) |
|
12 Power-Aware Routing in MANETs |
|
|
163 | (14) |
|
|
163 | (1) |
|
12.1.1 Power Control Problem |
|
|
163 | (1) |
|
12.2 MANETs and Power Management |
|
|
164 | (1) |
|
12.2.1 Resource Limitations |
|
|
164 | (1) |
|
|
165 | (1) |
|
|
166 | (1) |
|
|
167 | (3) |
|
12.5.1 An Integer Programming Model |
|
|
168 | (2) |
|
12.6 Variable Neighborhood Search Algorithm |
|
|
170 | (3) |
|
12.6.1 Neighborhood Descriptions |
|
|
171 | (1) |
|
12.6.2 Distributed VNS Algorithm |
|
|
172 | (1) |
|
12.7 Computational Experiments |
|
|
173 | (2) |
|
12.7.1 Experimental Settings |
|
|
173 | (1) |
|
12.7.2 Lower Bound on Power Consumption |
|
|
174 | (1) |
|
12.7.3 Integer Programming Results |
|
|
174 | (1) |
|
|
174 | (1) |
|
|
175 | (2) |
|
A Concepts in Communication Networks |
|
|
177 | (14) |
|
|
177 | (7) |
|
|
178 | (1) |
|
A.1.2 Data Packets and Circuits |
|
|
178 | (1) |
|
|
179 | (1) |
|
A.1.4 Protocol Stacks and Layers |
|
|
180 | (1) |
|
|
181 | (1) |
|
|
182 | (1) |
|
A.1.7 Algorithmic Performance |
|
|
183 | (1) |
|
A.2 Main Algorithmic Problems |
|
|
184 | (5) |
|
|
184 | (1) |
|
|
185 | (1) |
|
A.2.3 Algorithmic Performance and Complexity |
|
|
186 | (1) |
|
|
187 | (2) |
|
A.2.5 Distributed Algorithms |
|
|
189 | (1) |
|
|
189 | (2) |
References |
|
191 | (10) |
Index |
|
201 | (4) |
About the Authors |
|
205 | |