# Resource Management in SDN-Based Cloud and SDN-Based Fog Computing: Taxonomy Study
## 3 SDN-Based Cloud Resource Management in Network Performance Improvement
### Resources Management Based on QoS Constraints  
The MAPLE system [7] is developed in order to manage resource allocation for both network and computing resources. It is uses effective bandwidth estimation based on server's traffic traces analysis. Effective bandwidth estimation is used to specify needed bandwidth to process requests without a violation of QoS constraints. The system is composed of a centralized controller, which processes and manages requests, and effective bandwidth agents on servers. The controller performs preprocessing of VM requests by defining QoS targets and resembling incoming requests to be placed as one VM, calculates residual bandwidth estimations and then places VM. After that, network-aware VM placement algorithm is executed, which allocates VM in first fit decreasing approach in order to address the problem of consolidation while achieving QoS constraints. The system is evaluated in emulated virtual datacenter and compared to two network resources algorithms which are Oktopus [8] based on expected mean and expected peak throughputs. Maple managed on achieving lower QoS constraint (delay) than the expected value, as well as allocating jointly resources efficiently. Since the MAPLE system succeeded on maintaining QoS constraints at lower rates than expected, an extension, MAPLEx [9], is developed to further incorporate anti-colocation problem. The algorithm takes an extra input that is number of VM slots that are preserved for a particular request for VM placement. The algorithm is evaluated in an extended testbed compared to MAPLE evaluation. As well, the dataset that used for evaluation consist of three types that are data intensive applications, data serving applications, and data backup applications. The results show that MAPLEx is able to attain satisfied QoS levels while locating network and cloud resources. In addition to MAPLEx, Maple is developed for SDN environments to be MAPLE-Scheduler [10], which is a built-in flow scheduling unit in SDN controller in order to maintain QoS constraints when it is triggered. It is developed for Maple systems in software defined networks. The main feature of Maple-scheduler is that it is capable of observing network status and, in the case of a QoS violation occurs, it reschedules flows dynamically using effective bandwidth estimation (EB) of the top of rack switches, and the effective bandwidth coefficient (EBC) estimation of core switches. Moreover, it uses monitoring agents that are distributed over network (servers and edge switches) in order to acknowledge MAPLE-scheduler regarding the topology of a network, as well as the flow used resources. Basically, flows rescheduling take place when there is violation in QoS for large flows, and the decision will be made based on existing residual bandwidth and maintain load fairness by selecting links with minimum residual bandwidth. Evaluation is conducted against the Equal-Cost Multi-Pathing protocol ECMP, which is a routing protocol that selects the best paths to forward a packet through [11]. The comparison is based on different QoS constraints scenarios. The results show that Maple-scheduler achieves lower QoS violation rates compared to ECMP, as well as maximizes the throughput in all scenarios. On the other hand, establishing a fair charging model is the motivation behind developing Oktopus [8]. It is proposed to solve unpredictability in network performance in cloud environment; by pursuing a solution that guarantees both parties rights: providers and tenants from perspectives of cost, profits, and QoS constraints. Therefore, virtual network abstractions are established and offered to tenants instead of computing resources by selecting number of VMs, types of VMs, and virtual network connecting them. Hence, virtual network abstraction decouples tenants from infrastructure. Oktopus is an implemented system which is evaluated by simulations and testbed.