Software-defined networks for resource allocation in cloud computing: A survey
Introduction
Cloud Computing (CC) has recently come out, and it has been viewed as allowing a common collection of configurable computing services to be made accessible and released as specified by the National Institute of Standards and Technology (NIST) [1]. It also allows easy and on-demand network access. Thus, networks, servers, storage, applications, and services resources are pooled in the cloud to serving several tenants. Services providers, e.g., Microsoft Azure, Amazon, and Google Cloud, provide access through the internet to CC resources based on a pay-per-use policy. Nowadays, in a few hours, anyone can pay for cloud services, deploy and sets up servers for an application. The physical infrastructure is leased out to CC clients based on leasing it from an external cloud service provider. Therefore, they only pay for the resources they use.
NIST classifies CC into three operation models and four deployment models. The CC operational models are divided into three specific categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS). In IaaS, the underlying cloud infrastructure can not be managed or control by clients. Other than that, clients can set up and run the software, control operating systems via administrative access to VMs and programs, and allocate processing, storage, networks, and other essential computing resources. On the other hand, PaaS allows developers to deploy web-based applications without purchasing and setting up physical servers. Meanwhile, SaaS provides host applications and makes them accessible to customers over the internet, e.g., Google, Salesforce, Microsoft, and Zoho. Development models define how customers and cloud providers communicate with each other through private, public, hybrid, and community clouds.
A public cloud is operated by a single corporation and is open to the public or a broad business group. A private cloud is own by a specific organization. Cost-effectiveness, reliability, flexibility, and high scalability are the main benefits of the public cloud. Still, it lacks security compared to a private cloud that guarantees high security but suffers from high cost and limited scalability. A community cloud shares a small number of relationships and builds specific groups with a common duty. An infrastructure that contains several clouds of any kind is called a hybrid cloud, which they communicate between them to allow the transfer of data and applications from one cloud to another through their interfaces.
CC built on data center infrastructure is designed with the ability to apply virtualization technology [2]. Virtualization technologies enable flexible resource allocation to virtual machines (VMs), enabling flexible resource provision on-demand. Moreover, virtualization allows multiple applications to be integrated on fewer physical servers, which promises to be significant cost-savings due to increased energy efficiency and lower system administration costs. Compared to sharing the main computational resources in cloud computing, sharing network resources is more difficult. Conventional routing schemes in Data Center Networks (DCNs), including the Open Shortest Path First (OSPF) [3] and Routing Information Protocol (RIP) [4], are based on static routing; and therefore loses flexibility in identifying flow paths for different network states. Likewise, VM scalability causes some bottlenecks to result from across-VM communication on a single host due to virtual bridges. Furthermore, the conventional routing process limits the efficient use of resource capacity. Hence, it cannot build an improved network knowing that the general cost of fixing and configuration these networks is very high.
Software-Defined Networks (SDN) [5] is an advanced network model that improves the shortcomings of the conventional network infrastructures by separating the control plane and the data plane from switches and routers. SDN technology enables network control through centralized software controllers and makes network management more efficient, fast, and flexible. The SDN central controller has a global network view to deal with the dynamic changes in the network topology. Simultaneously, the SDN controller communicates to the forwarding device through the OpenFlow protocol [6]. The flexibility of SDN-managed networks has opened up new opportunities for the research community to incorporate IaaS and Cloud Data Center (CDC) capabilities into the SDN [7]. SDN also provides resource management systems that allow cloud services provision while attaining dynamic traffic requirements when running VMs. Furthermore, SDN and Network Function Virtualization (NFV) [8] enable much greater network flexibility by splitting network architectures into virtual slices, a process is known as network slicing, which aids fifth generation (5G) wireless technology innovation [9].
CDC systems require agile and flexible network control functions with computing resource control to ensure characteristics of traffic performance for the VM operations are adequate and attainable by the SDN [10]. Also, SDN virtualizes on-demand network resources to utilize resources and satisfy user application restrictions efficiently. Resource allocation has become one of the obstacles of cloud computing arising from users sharing computing and network resources, and the network often adopts the best-effort transmission mechanism [11] and Shortest-Path-First (SPF) routing mechanism [12] for data transmission, leading to a link load imbalance and high possibility of link congestion. Indeed, the network topology and routing mechanism have a major effect on the Service Level Agreement (SLA), the Quality-of-Service (QoS), and the network latency [13] that negatively affect the energy usage of Cloud Computing Data Centers Networks (CCDCNs). In turn, the ineffective allocation of computing resources leads to an overprovisioning or an underprovisioning, negatively impacting the SLA. Consequently, it reduces the profit for the cloud provider and increases the user's cost [14]. Fig. 1 depicts the resource allocation process.
In CC, unpredictable and changing requests of resources among end-users depending on their application usage style are the key challenge of CC. Moreover, resource allocation aims to optimize applications, i.e., QoS, improved resource utilization, and power efficiency, no matter what type of Information and Communication Technologies (ICT) resources are allocated to end-users. Consequently, integrating SDNs into a cloud computing environment solves most of the previously present problems in resource allocation in cloud computing networks. Hence, SDN allows implementing policies, configuring, and managing network resources in a short time per periods one control protocol to perform a series of operations, including routing, traffic engineering, load balancing [15,16], and access control.
Recently, many methods, techniques, and algorithms have been implemented, emphasizing cloud computing based on SDN in resource management, resource scheduling, resource allocation, energy conservation, load balancing, and QoS. This article aims to provide a thorough overview and survey of current resource allocation techniques, frameworks, and models for cloud computing based on SDN. Our contributions can be summarized as follows:
- •
We put forward the state-of-the-art resource allocation mechanisms for CC based on SDN.
- •
We are presenting a taxonomy of recent trends in resource allocation mechanization while ensuring their advantages and disadvantages.
- •
We set down the performance criteria utilized for assessing the current techniques.
- •
We explain the potential research work that has already been stated, which helps to identify the path for current and future usage.
The following paragraphs shall be arranged as follows. The information on cloud computing and SDN and the history of resource allocation in Section 2. Section 3 sets out the motivation for researching and improving cloud computing-based SDN. Section 4 points out the resource allocation in CC based on SDN and the types of resources and parameters used throughout the allocation. Section 5 introduces our resource allocation taxonomy. Section 6 contains a list of works relevant to resource allocation in CC based on SDN. Open study issues and recommendations for future research in Section 7. The article is concluded in part 8.
Section snippets
Related Work
This section summarizes the relevant literature on the definition of resource allocation in the SDN, cloud computing, 5 G mobile communication, and edge cloud computing. Indeed, we have not found a thorough survey covering the two fields of CC and SDN, especially in terms of resource allocation. So, we are presenting the state-of-the-art in resource allocations in different fields separately. All related works with the term "Resource Allocation" in the name or acronym reported from January 2014
CC based on SDN
Cloud computing [39] is a successful and evolving model for delivering ICT resources as services for both governments, educational and industrial fields over the internet. Cloud service providers provide three forms of application services: SaaS, PaaS, and IaaS. Cloud users can conveniently rent these services as they pay by the size of usage.
CC has dozens of servers that are connected to thousands of switches. Virtualization technology has been included in CC to facilitate scalability and
Resource allocation in cc based on SDN
The difference between the three concepts of resource provision, resource allocation, and resource scheduling is explained in [54] as follows: the process of resource provisioning is when a service provider allocates resources to a consumer, while when dividing out resources between competing sets of programs or clients economically in this case called resource allocation. On the other hand, resource scheduling is a timeframe for allocating resources in which the resources are gathered and made
Taxonomy of resource allocation techniques in CC based on SDN
In various research areas, several methods for using CC based on SDN have been proposed. We conducted a thorough investigation into cloud computing using SDN and proposed a classification (shown in Fig. 5) to capture the various aspects of SDN use. Taxonomy is discussed concerning the optimization goal, scope method, evaluation techniques, and optimization methods.
Resource Allocation in cloud computing based on SDN: Current research
Following the classification proposed in Section 5, we present the related surveys published in cloud computing based on SDN in this section. Using the taxonomy outlined in the previous section, we categorize the most recent research based on the paper's main contribution. In this section, we use the survey's main goal as the basis for classification. The subgroups employed for more classification of the studies surveyed in this portion are shown in Fig. 6. The literature for each category is
Open research challenges and future directions
The difficulties of allocating cloud resources revolve around hardware heterogeneity, workload prediction, and requirements of cloud providers and consumers. In this sense, the availability of resources and the optimum use of usable resources for applications to meet the QoS performance objectives in compliance with the SLA is an important issue. In contrast, QoS describes the level of consistency, reliability, and availability provided by the services. Also, it is difficult to delegate due to
Conclusion
In recent years, the effective allocation of resources in the Cloud Data Center (CDC) has emerged as one of the main research issues. This study is aimed to explore and solve the resource allocation concept, which serves as a framework for further research on cloud computing based on SDN in the implementation of resource allocation strategies and to assist future researchers. We investigated resource allocation in Cloud Computing (CC) based on Software-defined Networks (SDN) analysis. We
CRediT authorship contribution statement
Arwa Mohamed: Conceptualization, Data curation, Writing-original draft, Resources. Mosab Hamdan: Conceptualization, Data curation, Writing-original draft. Suleman Khan: Visualization, Investigation. Ahmed Abdelaziz: Supervision. Sharief F. Babikir: Supervision. MUHAMMAD IMRAN: Writing-review&editing. M. N. Marsono: Writing-review&editing.
Declaration of Competing Interest
The authors declared that there is no conflict of interest among any authors.
Arwa Mohamed received the B.Sc. degree in computer and electronic systems engineering from the University of Science and Technology, Sudan, in 2008, and the M.Sc. degree in computer architecture and networking from the university of Khartoum, Sudan, in 2014. She is currently pursuing the Ph.D. degree with the Faculty of Electrical and Electronic Engineering, University of Khartoum. Her current research interests are in software defined networking (SDN), cloud computing, resources allocation,
References (176)
- et al.
Jointly optimized QoS-aware virtualization and routing in software defined networks
Comput. Networks
(2016) - et al.
Resource management for Infrastructure as a Service (IaaS) in cloud computing: a survey
J. Netw. Comput. Appl.
(2014) On cloud security attacks: a taxonomy and intrusion detection and prevention as a service
J. Netw. Comput. Appl.
(2016)Study of response time in cloud computing
Int. J. Inf. Eng. Electron. Bus.
(2014)- et al.
Resource scheduling for infrastructure as a service (IaaS) in cloud computing: challenges and opportunities
J. Netw. Comput. Appl.
(2016) - et al.
Resource management in cloud computing: taxonomy, prospects, and challenges
Comput. Electr. Eng.
(2015) - et al.
Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing
Futur. Gener. Comput. Syst.
(2012) - et al.
Process state synchronization-based application execution management for mobile edge/cloud computing
Futur. Gener. Comput. Syst.
(2019) - et al.
The NIST definition of cloud computing. National Institute of Standards and Technology
Inf. Technol. Lab. Version
(2009) - et al.
Virtualization technology and its impact on computer hardware architecture
Policy-based forwarding in open shortest path first (OSPF) networks.”
Google Patents
RFC1058: routing information protocol
RFC Editor
Software-defined networking: the new norm for networks
ONF White Pap
OpenFlow: enabling innovation in campus networks
ACM SIGCOMM Comput. Commun. Rev.
When big data meets software-defined networking: SDN for big data and big data for SDN
IEEE Netw
Management and orchestration challenges in network functions virtualization
IEEE Commun. Mag.
Internet of Things (IoT) in 5G wireless communications
IEEE Access
Flow-aware elephant flow detection for software-defined networks
IEEE Access
Congestion control mechanisms and the best effort service model
IEEE Netw
Shortest path first with emergency exits
Efficient Global Network Resource Pre-Allocation in SDN Based Cloud Centers
IEEE Int. Symp. Ind. Electron.
Joint virtual machine and bandwidth allocation in software defined network (SDN) and cloud computing environments
2014 IEEE Int. Conf. Commun. ICC 2014
SDN-based load balancing service for cloud servers
IEEE Commun. Mag.
A comprehensive survey of load balancing techniques in software-defined network
J. Netw. Comput. Appl.
Recent advancements in resource allocation techniques for cloud computing environment: a systematic review
Cluster Comput
A Review on Various Resource Allocation Strategies in Cloud Computing
Int. J. Emerg. Technol. Adv. Eng.
A survey on resource allocation strategies in cloud computing
Resource Allocation Strategies in Cloud Computing: overview
Int. J. Comput. Appl.
A survey on resource allocation and monitoring in cloud computing
Int. J. Mach. Learn. Comput.
Resource management in clouds: survey and research challenges
J. Netw. Syst. Manag.
Cloud resource allocation schemes: review, taxonomy, and opportunities
Knowl. Inf. Syst.
An Extensive Survey on Data Authentication Schemes in Cloud Computing
A Survey on Resource Allocation in Cloud Computing
Int. J. Cloud Comput. Serv. Archit.
Cluster frameworks for efficient scheduling and resource allocation in data center networks: a survey
IEEE Commun. Surv. Tutorials
Energy aware resource allocation of cloud data center: review and open issues
Cluster Comput
A survey and taxonomy on energy efficient resource allocation techniques for cloud computing systems
Computing
Network-aware virtual machine placement in cloud data centers: an overview
Machine learning methods for reliable resource provisioning in edge-cloud computing: a survey
ACM Comput. Surv.
Resource allocation for network slicing in 5G telecommunication networks: a survey of principles and models
IEEE Netw
A survey on resource allocation in software defined networks (SDN)
Cloud computing and grid computing 360-degree compared
2008 grid computing environments workshop
Flowvisor: a network virtualization layer
OpenFlow Switch Consortium, Tech. Rep
Abstractions for software-defined networks
Commun. ACM
Cited by (44)
Hybrid approach for virtual machine allocation in cloud computing
2024, Sustainable Computing: Informatics and SystemsQuantum walks-based classification model with resistance for cloud computing attacks
2023, Expert Systems with ApplicationsModeling and optimization of collaborative computing in regional multi-energy systems for energy Internet
2023, Sustainable Computing: Informatics and SystemsVirtual cloud computing–based and 3D multi-physics simulation for local oxygen starvation in PEM fuel cell
2022, International Journal of Hydrogen EnergyCitation Excerpt :The governing equations include the two electric potentials of electrochemical reaction, mass conservation, momentum conservation, energy conservation, species transport, dissolved and liquid water transport, and cross-over current equation. The block diagram of the implementation of cloud computing to improve the efficiency of PEMFC dynamic simulation is shown in Fig. 3(a), including infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS) [43]. The geometric data and case files are uploaded through the SaaS layer.
Arwa Mohamed received the B.Sc. degree in computer and electronic systems engineering from the University of Science and Technology, Sudan, in 2008, and the M.Sc. degree in computer architecture and networking from the university of Khartoum, Sudan, in 2014. She is currently pursuing the Ph.D. degree with the Faculty of Electrical and Electronic Engineering, University of Khartoum. Her current research interests are in software defined networking (SDN), cloud computing, resources allocation, and future networks.
Mosab Hamdan received the B.Sc. degree in computer and Electronic System Engineering from the University of Science and Technology (UST), Sudan, in 2010, the M.Sc. degree in Computer Architecture and Networking from the University of Khartoum (UofK), Sudan, in 2014, and the Ph.D. degree in Electrical Engineering (Computer Networking) from the Faculty of Engineering, School of Electrical Engineering, Universiti Teknologi Malaysia (UTM), Malaysia, in 2021. From 2010 to 2015, he was a teaching assistant and lecturer with the Department of Computer and Electronics System Engineering, Faculty of Engineering, University of Science and Technology (UST). He is currently a Researcher with the Universiti Teknologi Malaysia under the Post-Doctoral Fellowship Scheme. His current research interests are software-defined networking (SDN), load balancing, network traffic classification, internet-of-things (IoT), cloud computing, network security, and future network.
Suleman Khan received the Ph.D. degree (Distinction) in computer science and information technology from the Universiti Malaya, Malaysia, in 2017. He was a Faculty Member of the School of Information Technology, Monash University, Malaysia, from June 2017 to March 2019. He is currently a Faculty Member of the Department of Computer and Information Sciences, Northumbria University, Newcastle upon Tyne, U.K. He has published more than 60 high-impact research articles in reputed international journals and conferences. His research areas include, but are not limited to, network forensics, software-defined networks, the Internet-of-Things, cloud computing, and vehicular communications.
Ahmed Abdelaziz received the M.Sc. degree in computer science and the Ph.D. degree in information technology from the Universiti Malaya (UM), Malaysia, in 2007 and 2017, respectively. He has been working on ONOS and Open Stack, since October 2015, during the Ph.D. degree research project. In the Ph.D. degree research, he proposed a novel service-based load balancing technique to use in the cloud using SDN and OpenStack. He is currently a full-time Assistant Professor with Future University (FU), Sudan. He published a number of ISI index articles in the areas of SDN, OpenFlow, and network virtualization. He has been involved in the centre for Mobile Cloud Computing Research (C4MCCR) Projects funded by the Malaysian Ministry of Higher Education. His areas of interest include SDN/NFV technology, OpenStack, and network virtualization.
Sharief F. Babikir is a professor of Electronics. He studied Electrical Engineering at the University of Khartoum and obtained his PhD from the University of Glasgow. He worked in the United Kingdom in the academic and the industrial sectors. Currently he is the General Director of Africa City of Technology and he is a Technical consultant with Sudan Electricity Distribution Company. He is a Senior Member of the IEEE and is the Chairman of IEEE Sudan Subsection.
Muhammad Imran is an Associate Professor in the College of Applied Computer Science at King Saud University, Saudi Arabia. He received a PhD in Information Technology from the University Teknologi PETRONAS, Malaysia in 2011. His research interest includes Internet of Things, Mobile and Wireless Networks, Big Data Analytics, Cloud computing, and Information Security. His research is financially supported by several grants. He has completed a number of international collaborative research projects with reputable universities. He has published more than 250 research articles in peer-reviewed, well-recognized international conferences and journals. Many of his research articles are among the highly cited and most downloaded. He served as an Editor in Chief for European Alliance for Innovation (EAI) Transactions on Pervasive Health and Technology. He is serving as an associate editor for top ranked international journals such as IEEE Communications Magazine, IEEE Network, Future Generation Computer Systems, and IEEE Access. He served/serving as a guest editor for about two dozen special issues in journals such as IEEE Communications Magazine, IEEE Wireless Communications Magazine, Future Generation Computer Systems, IEEE Access, and Computer Networks. He has been involved in about one hundred peer-reviewed international conferences and workshops in various capacities such as a chair, co-chair and technical program committee member. He has been consecutively awarded with Outstanding Associate Editor of IEEE Access in 2018 and 2019 besides many others.
M. N. Marsono received the B.Eng. degree in computer engineering and the M.Eng. degree in electrical engineering from Universiti Teknologi Malaysia, in 1999 and 2001, respectively, and the Ph.D. degree in electrical and computer engineering from the University of Victoria, BC, Canada, in 2007. He is currently an Associate Professor in Electronic and Computer Engineering with the School of Electrical Engineering, Faculty of Engineering, Universiti Teknologi Malaysia. His research focuses on specialized hardware architecture and network algorithmics for high-throughput packet and flow processing. He works on dynamically reconfigurable platforms for middlebox, fog and edge computing, software-defined networking, and teletraffic engineering. He also works in domain-specific reconfigurable computing research, focusing on multicore/manycore system-on-chip, network-on-chip, design space exploration, mapping, and prototyping of the homogeneous and heterogeneous manycore SoC.
- 1
The first two authors contributed equally to this work.