# Resource Management in SDN-Based Cloud and SDN-Based Fog Computing: Taxonomy Study
## 3 SDN-Based Cloud Resource Management in Network Performance Improvement
### Priority-Aware Resources Management  
This subsection presents algorithms that focused on priority and methods to assign privilege to high priority requests, such as in [13], proposed a prioritization model in cloud environment that uses the crystalline mapping CM algorithm. Main idea is that multiple tenants initiate service requests with a declared priority information, then it will be sent to a central master server. The master server job will prioritize arrived request queues by considering several attributes, which are fairness and maximum revenue. Thus, each tenant will prioritize requests locally first as the initial phase by following the multivariate likelihood ratio algorithm and then sorts the requests based on their scores. Then, the master server will prioritize requests queues from multiple tenants by using the crystalline mapping algorithm, which preserves fairness, isolation and maintain requests orders. The algorithm will maintain requests priority queues by calculating global priority level. After that, from priority queues, the request of maximum estimated revenue is selected for processing. The framework is evaluated in simulation environment, and the evaluation results show that average waiting time, which was declared as fairness property, was almost the same for all processed requests. While requests of maximum revenue were processed first by CM model compared to baseline work. Whereas, in [14], the authors developed a client's priority-based resources provisioning model, high or low, in which a cloud provider offers pool of resources for clients. However, some of these resources are provisioned for only high priority clients. Thus, cloud providers increase profit by maintain SLA for such clients whenever there is demand on service at any given time. On the other hand, low priority clients will get access to shared resources, which also will meet their SLA contract. The authors calculated rejection probability, which indicates the probability of rejected clients' requests in such a way that high priority clients supposed to get the least rejected requests compared to low priority clients. The proposed work was evaluated in simulation environment. They conclude that, the rejection probability shows that number of high priority clients rejected requests is ten times less than rejected requests of low priority clients. As well, in [15], the resource allocation algorithm was proposed in the software-defined cloud environment SDCC, which considers an application priority as main consideration when placing VMs and provision network bandwidth. An application is previously determined to be either critical or normal in priority criterion. Submitted application requests contain information about VM and flow, which include number of processing cores, core's capacity, amount of memory, storage size, required bandwidth, source and destination VM, and application priority. However, when application requests are placed, the system will allocate host and network resources based on provided information. Firstly, the system will determine the network topology and hosts and VM grouping decisions is to be made based on hosts connectivity and application, respectively. Then mapping of VM to hosts is performed based on the highest amount of joint resources taking into consideration host connectivity to be either on single group or within closest proximity in order to minimize network traffic. If an application is characterized as critical, then network bandwidth is provisioned by SDN controller via priority queues on link switches. The proposed algorithm is compared with exclusive resource allocation, random allocation, and combination of fit first decreasing and dynamic flow algorithms [7] in the CloudSimSDN simulation tool against the response time and power consumption in two different scenarios (synthetic workload and Wikipedia workload). The proposed algorithm manages to reduce response time in both scenarios. While power consumption is reduced compared to most baseline algorithm for critical workloads.