From: Adaptive placement & chaining of virtual network functions with NFV-PEAR
Symbol | Formal specification | Definition |
---|---|---|
Superscripts and subscripts | ||
P | Physical infrastructure entity | |
S | SFC entity | |
Sets and set objects | ||
\(p \in \mathcal {P}\) | \(p = \left (N^{P}, L^{P}, E^{P}\right)\) | Physical infrastructure instance, composed of nodes and links |
i∈N^{P} | N^{P}={i | i is a N-PoP} | Network points of presence (N-PoPs) in the physical infrastructure |
(i,j)∈L^{P} | \(L^{P} = \left \{(i,j)\,\vert \, i,j \in N^{P}\right \}\) | Unidirectional links connecting pairs of N-PoPs i and j |
〈i, r〉∈E^{P} | \(E^{P} = \{\langle i, r \rangle \,\vert \, i \in N^{P} \land r \in \mathbb {N}^{*}\}\) | Identifier r of the actual location of N-PoP i |
\(m \in \mathcal {F}\) | \(\mathcal {F} = \{m\,\vert \,m\,\text {is a function type}\,\} \) | Types of virtual network functions available |
\(j \in \mathcal {U}_{m}\) | \(\mathcal {U}_{m} = \{j\,\vert \,j\,\text {is an instance of}\, m \in \mathcal {F}\,\}\) | Instances of virtual network function m available |
\(\mathcal {Q}\) | Set of Service function chaining (SFC) requests to be deployed | |
\(q \in \mathcal {Q}\) | \(q = \left (N^{S}_{q}, L^{S}_{q}, E^{S}_{q}\right)\) | A single SFC request, composed of VNFs and their chainings |
\(i \in N^{S}_{q}\) | N^{S}={i | i is a VNF instance or endpoint} | SFC nodes (either a network function instance or an endpoint) |
\((i,j) \in L^{S}_{q}\) | \(L^{S}_{q} = \left \{(i,j)\,\vert \, i,j \in N^{S}\right \}\) | Unidirectional links connecting SFC nodes |
\(\langle i, r \rangle \in E_{q}^{S}\) | \(E^{S}_{q} = \{\langle i, r \rangle \,\vert \, i \in N^{S} \land r \in \mathbb {N}^{*}\}\) | Required physical location r of SFC endpoint i |
\(H^{S}_{q}\) | Distinct forwarding paths (subgraphs) contained in a given SFC q | |
\(H^{H}_{q,i} \in H^{S}_{q}\) | \(H^{H}_{q,i} = \left (N^{H}_{q,i}, L^{H}_{q,i}\right)\) | A possible subgraph (with two endpoints only) of SFC q |
\(N^{H}_{q,i}\) | \(N^{H}_{q,i} \subseteq N^{S}_{q}\) | VNFs that compose the SFC subgraph \(H^{H}_{q,i}\) |
\(L^{H}_{q,i}\) | \(L^{H}_{q,i} \subseteq L^{S}_{q}\) | Links that compose the SFC subgraph \(H^{H}_{q,i}\) |
\(y^{\prime }_{i,m,j}\) | Denotes whether there was a previous VNF placement | |
\(\delta ^{\prime }_{i,q,j}\) | Denotes whether there was a previous assignment of flow to VNF | |
\(\lambda ^{\prime }_{i,j,q,k,l}\) | Denotes whether there was a previous flow chaining | |
Parameters | ||
ϕ | \(\phi \in \mathbb {R}_{+}, \phi \geq 0\) | Percentage of capacity of VNFs that can be violated. |
α, β, and γ | Weight factors of the ILP model. | |
\(C^{P}_{i} \in \mathbb {R}_{+}\) | Computing power capacity of N-PoP i | |
\(B^{P}_{i,j} \in \mathbb {R}_{+}\) | One-way link bandwidth between N-PoPs i and j | |
\(D^{P}_{i,j} \in \mathbb {R}_{+}\) | One-way link delay between N-PoPs i and j | |
\(C^{S}_{q,i} \in \mathbb {R}_{+}\) | Computing power required for network function i of SFC q | |
\(B^{S}_{q,i,j} \in \mathbb {R}_{+}\) | One-way link bandwidth required between nodes i and j of SFC q | |
\(D^{S}_{q} \in \mathbb {R}_{+}\) | Maximum tolerable end-to-end delay of SFC q | |
Functions | ||
\(f^{type}_{m}\) | \(f^{type} : N^{P} \cup N^{S} \rightarrow \mathcal {F}\) | Type of some given virtual network function (VNF) |
\(f^{cpu}_{m,j}\) | \(f^{cpu} : (\mathcal {F} \times \mathcal {U}_{m}) \rightarrow \mathbb {R}_{+}\) | Computing power associated to instance j of VNF type m |
\(f^{delay}_{m}\) | \(f^{delay} : \mathcal {F} \rightarrow \mathbb {R}_{+}\) | Processing delay associated to VNF type m |
Variables | ||
y_{i,m,j}∈Y | \(Y = \{\,y_{i,m,j}\,,\,\forall \,i \in N^{P}, m \in \mathcal {F}, j \in \mathcal {U}_{m}\,\}\) | VNF placement |
δ_{i,q,j}∈Δ | \(\Delta = \left \{\,\delta _{i,q,j}\,,\,\forall \,i \in N^{P}, q \in \mathcal {Q}, j \in N_{q}^{S}\,\right \}\) | Assignment of required network functions/endpoints |
λ_{i,j,q,k,l}∈Λ | \(\Lambda = \left \{\,\lambda _{i,j,q,k,l}\,,\,\forall \,(i,j) \in L^{P}, q \in \mathcal {Q}, (k,l) \in L_{q}^{S}\,\right \}\) | Chaining allocation |
\(\overline {y}_{i,m,j} \in \overline {Y}\) | \(\overline {Y} = \{\,\overline {y}_{i,m,j}\,,\,\forall \,i \in N^{P}, m \in \mathcal {F}, j \in \mathcal {U}_{m}\,\}\) | Denotes whether an VNF placement changes |
\(\overline {\delta }_{i,q,j} \in \overline {\Delta }\) | \(\overline {\Delta } = \left \{\,\overline {\delta }_{i,q,j}\,,\,\forall \,i \in N^{P}, q \in \mathcal {Q}, j \in N_{q}^{S}\,\right \}\) | Denotes whether an assignment of flow to VNF changes |
\(\overline {\lambda }_{i,j,q,k,l} \in \overline {\Lambda }\) | \(\overline {\Lambda } = \left \{\,\overline {\lambda }_{i,j,q,k,l}\,,\,\forall \,(i,j) \in L^{P}, q \in \mathcal {Q}, (k,l) \in L_{q}^{S}\,\right \}\) | Denotes whether a flow chaining changes |