• Aucun résultat trouvé

SFC Placement - Weighted Sum Approach

3.2 Proposed Framework

3.2.1 Architecture

In this section, we detail our proposed framework for multi-domain SFC deployment. As illustrated in Figure 3.1, the architecture is logically centralized. A multi-domain orchestrator acts as a broker and constructs an abstract view of the topology based on the information that each domain is disposed to reveal on their network. The orchestrator also interacts with the WAN domain operators in order to establish inter-domain communication for SFCs. Based on the work in [146], we suppose that the local domains disclose the following details on their infrastructure:

• The amount of computing capacity that is made available, with the average cost per unit for each resource type. Note that these amounts are determined through pre-established mutual agreements between the domain operators.

• The vertices of their WAN links, the available capacity, latency, and the cost per bandwidth unit.

Figure 3.1: Multi-domain SFC Placement Framework

Note that the centralized approach means that all of the SFC deployment requests are sent to the Multi-Domain Orchestrator. However, this centralized architecture doesn’t suffer from the problems related to scalability, as these requests are formulated by tenants who intend to deploy services that would accommodate multiple users. The number of service deployment requests from

the tenants is rather small compared to the service requests by the end users. Therefore, we can consider that the multi-domain orchestrator is able to handle the SFC request flows. Once an SFC is deployed, it is up to the tenant to provide the service users with an interface that allows them to have access to the service, without going through the centralized coordinator. The latter doesn’t process the individual user requests for the service.

Figure 3.2: Request Adjustment for Non-Linear SFC Support

3.2.2 Non-Linear SFC Support

Furthermore, our model supports more complex non-linear SFCs where traffic flows through cer-tain VNFs more than once, this scenario can be modeled in two ways as shown in Figure 3.2:

Separate SFC Request with VNF sharing

Each way of the SFC is modeled as a separate SFC request, while allowing the sharing of VNFs that are visited both ways, which can be required by specific applications (firewall allowing return traffic only for example). VNF sharing can also be generalized between different SFCs of the same slice, or different slices of the same tenant. However, if the SFC request of one way of the SFC is rejected, the second one should also be rejected.

One SFC Request with VNF duplication

If a VNF is visited more than once, it is duplicated by creating adummyinstance, and its link with the ’original’ instance of the VNF is expressed using an attribute in the dummy node, pointing to the original VNF. Each VNF and its redundant dummy instances need to be mapped on the same location, which can be enforced using an affinity constraint. Furthermore, the amount of computing resources required by the redundant instances are null. Note that during the resource allocation phase, the required amount of resources for this type of VNFs needs to take into account the additional resource consumption that occurs when the flow is treated more than once by the same VNF.

3.2.3 Multi-Domain Placement and Request Partitioning

We provide the pseudo-code of the proposed Multi-Domain Placement procedure in Algorithm 1.

Initial Placement

When the multi-domain orchestrator receives a requestreq from a user to deploy an SFC, it calls the functionabstractPlacement that performs an initial placement on the previously established abstract view of the topologyGabs. This placement takes into account the QoS requirements defined by the SLA of the user, the placement constraints of each VNF such as affinity constraints, and the allowed locations. It should be noted that the optimization objectives and their levels of priority are also defined by the SLA.

Request Partitioning

Once the initial placementabstractP l has been obtained, the SFC request is partitioned accord-ingly (See Figure 3.3), and dummy boundary nodes are added at the extremities of the sub-chains.

These dummy nodes are required to be placed at the boundaries of the domains, to forward the traffic out of the domains and to the next sub-chain.

Algorithm 1:Multi-Domain Placement Algorithm Input :Abstract TopologyGabs , Requestreq

Set of Authorized DomainsM

22 send placement confirmation to local domains;

23 updateGabs ;

24 return[True,eval]

Figure 3.3: SFC Request Partitioning Local Placement

Next, the sub-requestspartReqsare sent to the chosen domains in order to perform a local place-ment localPlacement as shown in Figure 3.4, while having a full view of their respective local topologies. Note that each local orchestrator can implement their own placement algorithm. If the placement of a sub-chain fails, a backtracking mechanism is prompted in order to perform the initial placement once again, but while ruling out the previous placement solution. Once the multi-domain orchestrator receives the placement results of all of the domains, it computes the end-to-end cost and latency of the SFC, then sends a confirmation to the local domain orchestrators in order to start the sub-SFCs deployment.