(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 |