# Towards Efficiently Provisioning 5G Core Network Slice Based on Resource and Topology Attributes
## 3 Problem Description and System Model
### System Model
#### 3.2.3 Slice Provisioning Process  
The resource provisioning for 5G core slice task contains two sub-tasks: mapping slice nodes to physical nodes and mapping slice links to physical paths. Slice nodes from one slice request cannot be mapped to the same physical node. A slice link is mapped to a physical path with endpoints that host two slice nodes connected by the slice link. Once the resource provisioning for a slice request is successful, the allocated resource will be dedicated for the slice during its lifetime. When the lifetime ends, the allocated resource is released.  
The slice node mapping function is defined as follows:  
\[M(V):\ V^{S}\to V^{\prime},\qquad V^{\prime}\subseteq V^{I}.\]  
Slice nodes are mapped to \(V^{\prime}\) that is a subset of the physical node set \(V^{I}\). Since \(M(V)\) is an injective function, \(\forall v^{S}_{k},v^{S}_{l}\in V^{S}\), we have:  
\[M(v^{S}_{k})=M(v^{S}_{l}),\qquad\text{if and only if }v^{S}_{k}=v^{S}_{l}.\]  
The slice link mapping function is defined as follows:  
\[M(E):\ E^{S}\to P^{\prime},\qquad P^{\prime}\subseteq P^{I}.\]  
Slice links are mapped to \(P^{\prime}\) that is a subset of all loop-free paths set \(P^{I}\) in the infrastructure. Thus, we define 5G core network slice mapping function as:  
\[M(S):\ (V^{S},E^{S})\rightarrow(V^{\prime},P^{\prime}).\]The calculations of resource updating during mapping process are as follows. We use \(c_{u}(v^{I},t)\) to indicate the total computing resources that the slice provisioning system assigns to all the mapped slice nodes from different slice requests at time \(t\). It is defined below:  
\[c_{u}(v^{I},t)=\sum_{v^{S}}c(v^{S}).\]  
Then, the available computing resources the physical node \(v^{I}\) has at time \(t\) can be calculated as:  
\[c_{a}(v^{I},t)=c_{0}(v^{I})-c_{u}(v^{I},t).\]  
Similarly, we use \(b_{u}(e^{I},t)\) to represent the bandwidth resources the slice provisioning system has allocated to all the slice links at time \(t\).  
\[b_{u}(e^{I},t)=\sum_{e^{S}}c(e^{S}).\]  
Then, the available bandwidth the physical link \(e^{I}\) has at time \(t\) can be calculated as:  
\[b_{a}(e^{I},t)=b_{0}(e^{I})-b_{u}(e^{I},t).\]  
To ensure a successful 5G core slice provisioning, all node and link constraints need to be met. The corresponding constraints are defined as follows.  
**Slice node mapping:** Each slice node should be mapped to one physical node.  
\[\sum_{v_{i}^{I}}x_{i}^{k}=1,\qquad\forall v_{k}^{S}\in V^{S}, \tag{1}\]  
where \(x_{i}^{k}\) indicates whether the slice node \(v_{k}^{S}\) is mapped to the physical node \(v_{i}^{I}\) or not. If \(v_{k}^{S}\) is mapped to \(v_{i}^{I}\), \(x_{i}^{k}\) is 1. Otherwise, it is 0.  
**One-to-one node mapping:** Each physical node can only host one slice node from the same slice request.  
\[\sum_{v_{k}^{S}}x_{i}^{k}\leq 1,\qquad\forall v_{i}^{I}\in V^{I}. \tag{2}\]  
**CPU capacity:** The allocated CPU capacity for slice nodes at a physical node cannot exceed the available CPU capacity of that physical node.  
\[\sum_{v_{k}^{S}}x_{i}^{k}\cdot c(v_{k}^{S})\leq c_{a}(v_{i}^{I}),\qquad\forall v _{i}^{I}\in V^{I}. \tag{3}\]  
**Location constraint:** The distance between the mapped location of a slice node and its expected deployment location cannot exceed the maximum allowed deviation.  
\[x_{i}^{k}\cdot\mathit{dis}(v_{k}^{S},v_{i}^{I})\leq r(v^{S}), \tag{4}\]  
where \(\mathit{dis}(v_{k}^{S},v_{i}^{I})\) is calculated as:  
\[\mathit{dis}(v_{k}^{S},v_{i}^{I})=\sqrt{(x(v_{k}^{S})-x(v_{i}^{I}))^{2}+(y(v_{ k}^{S})-y(v_{i}^{I}))^{2}}. \tag{5}\]  
**Bandwidth:** The sum of bandwidth allocated to all the slice links that are mapped to one physical link cannot exceed its available bandwidth.  
\[\sum\limits_{e_{ij}^{S}}y_{ij}^{kl}\cdot b(e_{kl}^{S})\leq b_{a}(e_{ij}^{I}), \qquad\forall e_{ij}^{I}\in E^{I}. \tag{6}\]  
If the physical link \(e_{ij}^{I}\) hosts the slice link \(e_{kl}^{S}\), \(y_{ij}^{kl}\) is 1. Otherwise, it is 0.