## 2 Materials and Methods
### Problem Modelisation
#### 2.1.4 Penalty Terms and Feasibility Constraints
Thus, modeling the hosting costs using (11), we have considered a possible multi-cloud vCDN deployment. Notice also that, using (11), we keep track of the current total hosting costs for our vCDN assuming that timed-out session resources are released at the end of each time-step. We now model the Data-Transportation Costs. In our vCDN model, each hosting node instantiates a maximum of one VNF of each type. Consequently, all the SFCs that exploit the same link for transferring the same content between the same pair of VNFs will exploit a unique connection. Therefore, to realistically assess DT costs, we create the notion of session DT _amortized_-cost:  
\[d^{r}_{cost}=\sum_{i,j\in N_{H}}\sum_{k\in K}\frac{p_{r}\cdot z^{r}_{i,j,k} \cdot o_{i,j}}{|R^{(i,j,k)}_{r}|} \tag{12}\]  
where \(o_{i,j}\) is a parameter indicating the unitary DT cost for the link between \(i\) and \(j\), and \(R^{(i,j,k)}_{r}\) is the set of SFCs that are using the link between \(i\) and \(j\) to transmit to \(f^{k}_{j}\) the content related to the same CP requested by \(r\). Notice that DT costs for \(r\) are proportional to the mean payload \(p_{r}\). Recall that \(z^{r}_{i,j,k}\) indicates if the link between \(i\) and \(j\) is used to reach \(\tilde{f}^{k}_{r}\). According to (12), we compute the session DT cost for any session request \(r\) in the following manner: For each link on our vCDN, we first compute the whole DT cost among such a link. We then compute the number of concurrent sessions that are using such a link for transferring the same content requested by \(r\). Lastly, we compute the ratio between these quantities and sum such ratios for every hop in the SFC of \(r\) to obtain the whole session amortized DT cost. The total amortized DT costs during \(t\) are then computed as:  
\[\chi^{t}_{D}=\chi^{t-1}_{D}-\tilde{\chi}^{t}_{D}+\sum_{r\in R_{t}}v_{r}\cdot d ^{r}_{cost} \tag{13}\]  
where  
* \(\chi^{t-1}_{D}\) are the total DT costs at the end of the \(t-1\) time-step,
* \(\tilde{\chi}^{t}_{D}\) are the total DT costs regarding the timed-out sessions at the beginning of time-step \(t\),
* \(d^{r}_{cost}\) is the session DT cost for \(r\) computed with (12). Recall that \(v_{r}\) indicates if \(r\) was accepted or not based on its resultant RTT. On the other hand, the first constraint is the **VNF assignation constraint**: For any live-streaming request \(r\), every \(k\)-type VNF request \(\hat{f}_{r}^{k}\) must be assigned to one and only one node in \(N_{H}\). We express such a constraint follows:  
\[\sum_{i\in N_{H}}x_{r,i}^{k}=1,\forall r\in R_{t},\forall k\in K, \tag{14}\]  
Finally, the second constraint is the **minimum service** constraint. For any time-step \(t\), the acceptance ratio must be greater or equals than 0.5. We express such a constraint as:  
\[\chi_{Q}^{t}\geq 0.5,\forall t\in\mathbb{N} \tag{15}\]  
One could optimize operational costs by discarding a significant percentage of the incoming requests instead of serving them. The fewer requests are served, the less the resource consumption entity and the hosting costs will be. Also, data transfer costs are reduced when less traffic is generated due to the rejection of live-streaming requests. However, the constraint in (15) is created to avoid such naive solutions to our optimization problem.