|Input: A physical network G S = (N S , L S ); the arrived VN requests VN0, VN1…VNX.|
|Output: A survivable mapping solution considering the location constraints of virtual nodes.|
Step 1: Map the VNs that are arriving simultaneously.|
The geographic locations constraints of the virtual node must be considered while mapping the VNs, and we should map the virtual nodes that belong to different VNs to the same substrate node.
Step 2: Update the resources of the physical network.
Compute the remaining recourses of physical nodes and links and calculate the costs of mapping multiple VNs.
Step 3: Generate a new virtual network based on the mapping results.
3.1) Traverse the nodes of the physical network and record the amount of resources allocated to virtual nodes. Add the virtual nodes to the set of virtual nodes from the new VN, and the capacity demand of these virtual nodes are the amount of recourses on corresponding physical nodes. Take the geographic locations of the corresponding physical nodes as the location constraints of the newly generated virtual nodes.
3.2) Traverse the routing table of the physical network. If the IDs of the corresponding substrate nodes of the virtual nodes in the set mentioned in 3.1 match the routing table, then there is a virtual link between these two virtual nodes.
Step 4: Map the backup nodes and links of the enhanced newly generated VN.
Traverse every backup node that needs to be mapped in descending order of resource demands and map the backup nodes and corresponding links onto the physical network.
4.1) Traverse the physical network nodes and compute the mapping costs of backup nodes and corresponding links.
4.2) Select a physical node with the minimum costs. Map the backup node onto it and map the corresponding backup links.
4.3) Update the resources and record the remaining capacities of the physical nodes and links.
Step 5: Compute the mapping cost of backup nodes and links.