A. NOTATION |
S: source node; D: destination node; B: bandwidth demand; N: number of slots between two nodes; C: number of core; V: set of nodes : the nth edges connecting u and v; : set of edges; : label multigraph composed of edges E and a set of edge weight, W. : modulation formats; Bm: bandwidth demand in slots in the basis of the modulation format chosen; : request from the node s to the node d with bandwidth demand b; : shortest path between s and d in G that satisfies the request for slots: : Weight of the edge ; : the nth labeled graph such that is the set of edges connecting and is the set of costs associated with . The edges in correspond to the mapping of edges in G, starting at the nth edges; : Number of graphs extracted from the multigraph; : Function which produces all σ graphs from G; : chain of such that the source node s is the least ordered node and d is the greatest ordered node; : Weight of the path , which is the sum of the weights of all the edges in the chain; = weight of the shortest path between s and d; : Chain of such that the number of vertices is equal to the number of edges, and every vertex has degree 2; : set of all p-cycles containing the vertices u and v in G; : Shortest cycle between s and d in , which ate link disjoint to ; : P-cycle in which are link disjoint to and satisfies the request of bandwidth b; : The weight of the p-cycle , which is the sum of the weights of all the edges in the chain; = weight of the p-cycle which protects the path between s and d; |
B. POPETA |
The POPETA algorithm is introduced in Algorithm 1. Line 1 transforms the multigraph into graphs. Line 2 finds the shortest path for all graphs and chooses the cheapest one. If all of the shortest path weights are ∞, it signifies that there is no path for demand b that observes the contiguity requirement. Line 3 chooses the shortest path with the lowest weight value out of all the shortest paths. There is no path in the network that satisfies the request for slots under the contiguity constraint if the weight of all the shortest paths is ∞ (Line 4). The request is blocked if no path is available (Line 5).
Otherwise, a p-cycle is required to preserve this light-path (Line 7). When a p-cycle shields both an active and a new request, a light-path (Line 8) is constructed, with the weight of the associated edges in the multi-graph G altered to ∞ (Line 9). If no such p-cycle exists, one is constructed to protect the newly established light-path (Line 12). The shortest possible cycle between source and destination nodes is considered while creating the p-cycle, however if no such p-cycle can be found, the request is blocked (Line 15).
Aside from that, the major path and the p-cycle (Line 17) have been established. Lines 18 and 19 alter the weight of relevant edges in the multi-graph G to ∞, indicating that the slots have been assigned to the newly formed light-path. The PERFECTA algorithm’s complexity is examined next. , where M is the number of modulation levels that can be employed, is the complexity of changing the original multi-graph into alp graphs. The Dijkstras algorithm is run at least times for the major path. The Suurballe algorithm is run at least times to generate p-cycles. Given that both Dijkstra’s and Suurballe’s algorithms have a complexity of , Because C, N, M, and b are constants, the PERFECTA algorithm’s complexity is . |