|
Algorithm 1k-hop greedy routing. |
Function greedy-routing (s, , k); Input: A target slice (s), a set of flows (), number of interference hops (k) Output: A routing matrix of slice s, which is a zero-matrix if the routing fails
-
1:
ifthen
-
2:
shortest-path (, )
-
3:
if
R does not satisfy the constraints in Equations (7) and (8) then
-
4:
return
// zero-matrix
-
5:
end if
-
6:
else
-
7:
// initialize
-
8:
Calculate for using (14)
-
9:
while
do
-
10:
a flow with the highest rate among all flows of
-
11:
a path minimizing while satisfying the constraints in Equations (7) and (8) under the given matrix R
-
12:
if no feasible
then
-
13:
return
-
14:
end if
-
15:
Update R with
-
16:
-
17:
end while
-
18:
end if
-
19:
// update the routing matrix of slice s
-
20:
Route flows of slice s using the updated matrix
-
21:
return // the updated routing matrix of slice s
|