Research Article

A Multidomain Survivable Virtual Network Mapping Algorithm

Algorithm 1

(1) Create a number of virtual network request events
(2) The physical link resources are divided into the primary and backup flow resources, and set the ratio as 1 : 1.
(3) WHILE (Virtual network events are not fully processed)
(4) IF (The event type is a new virtual network request)
(5) Calculate the GRC value of the physical node according to formula (1)
(6) FOR (The number of virtual nodes)
(7) FOR (The number of virtual links connected to the node)
(8) The two nodes on the same virtual link are mapped in two different domain sub-networks.
(9) IF (Cannot find a different sub-network)
(10) Randomly select a domain network as a mapping network and put the candidate physical node
number found in the candidate [].
(11) ELSE
(12) Find the candidate physical node within the selected sub-network and place the serial number in
the candidate [].
(13) ENFIF
(14) ENDFOR
(15) IF (!candidate [])
(16) Return Node mapping failed.
(17) ELSE
(18) Select the eligible physical node in the candidate [] as the mapping node according to the value of
GRC from large to small;
(19) ENDIF
(20) ENDFOR
(21) Form a virtual request node mapping scheme;
(22) ENDFOR
(23) FOR (The number of virtual links)
(24) Use the Dijkstra method to find the primary flow path and the backup flow path between Node_From
and Node_To;
(25) IF (!Primary flow path !Backup flow path)
(26) WHILE (Candidate [].size > 0)
(27) Randomly re-select the physical node in Candidate [] as the mapping node for the virtual node;
(28) Delete the mapping node number in Candidate [];
(29) Use the Dijkstra method to find the primary flow path and the backup flow path for the new
node scheme;
(30) IF (Candidate [].size ==−1)
(31) Return Link mapping failed;
(32) ENDWHILE
(33) ENIF
(34) ENDFOR
(35) Form a new link mapping scheme;
(36) ENIF
(37) ELSE (The event type is the virtual network request to leave)
(38) Update the virtual network request information;
(39) Update physical network resources (including node resources, primary flow resources, and backup link
flow resources);
(40) ENDWHILE