Introduction
-
The increased need to understand load distribution techniques in SD-IoT for proper utilization of resources.
-
Since the concept of load balancing addresses the improvement of QoS from the directions of users, service providers, and infrastructure providers, it motivates us to focus on load balancing techniques.
-
Based on the increasing workload in IoT, the need for load-balancing among resources has been recognized. Despite available research, the existing work has been identified and summarized in a systematic way that depicts issues and challenges for future research work.
-
Highlighting key and influential elements of SDN and IoT in QoS.
-
Describing the SD-IoT network architecture and load-balancing problem in SD-IoT.
-
Studying and comparing available load-balancing techniques in SD-IoT aiming at improving QoS.
-
Defining the QoS parameters used in studied load-balancing approaches.
-
Introduction of simulators/tools in designing and testing load-balancing algorithms in SD-IoT networks.
-
Future research opportunities in QoS-based load-balancing in SD-IoT.
Background
Description of SD-IoT network
SD-IoT architecture
Load-balancing in SD-IoT
QoS parameters
Parameter | Explanation | Ref |
---|---|---|
Response time | Time elapsed from acceptance to successful response to the task on the server | [44] |
Delay | Time spent to transfer and process the request on the server | |
Resource productivity | Using network resources (bandwidth, processor, and memory) | |
Throughput | Tasks performed per unit of time or fair maximum use of resources and allocation of resources to workflows at the moment of their arrival | |
Load-balancing | Rate of workload distribution on the network elements | [63] |
Loss rate | The ratio of lost packets to the sent packets | [61] |
Packet delivery rate | The number of packets safely delivered to destinations | [65] |
Overload | Percentage of using resources more than the threshold | [61] |
Energy consumption | Consumed energy by the network nodes | |
Scaling | The ability of the network to support changes in the number of devices and network workload traffic as well as green computing | [17] |
Research method
Data resources
Searching strategy
Highlights and research questions
Research questions and highlights
Application | Objectives | Architecture | Balance entity | LBa method | Network type | Year | Ref |
---|---|---|---|---|---|---|---|
Multimedia | Delay, jitter, packet loss ratio | Centralized | Links | Routing | SDN-IoT | 2018 | [14] |
Large scale | Delay, security, accessibility | Centralized | Switches, middleboxes | Routing | SDN-IoT | 2018 | [79] |
Large scale | Scalability, security | Centralized | Fog resources | Rerouting | SDN-IoT/Fog | 2018 | [2] |
Industry | Delay, throughput, resource utilization | Centralized | Edge servers | Routing | SDN-IIoT | 2018 | [80] |
M2M | Response time | Centralized | Cloud server | Traffic detection and rerouting | SDN- M2M | 2018 | [32] |
Industry | Throughput, delay | Centralized | Cloud server | Routing | SDN-IoT | 2020 | [38] |
Large scale | Load-balancing | Distributed | Cloud servers | Routing | SDN-IoT | 2020 | [48] |
FANET | Throughput, packet delivery ratio, delay | Distributed | Flying nodes | Routing | SDN- Ad-Hoc | 2022 | [65] |
Health, Face recognition, lighting, and home sensor | Energy consumption, delay, cost | Centralized | Base stations | Routing | SD-WSN | 2022 | [67] |
- | Link utilization, overhead, throughput | Centralized | Links | Rerouting | SDN- DCN | 2022 | [81] |
Smart city | Throughput, energy consumption, delay | Centralized | Links | Rerouting | SDN- Fog | 2022 | [82] |
High traffic | Throughput, resource utilization, response time | Centralized | Cloud servers | Routing | SDN- DCN | 2022 | [83] |
Real-time | Resource utilization, response time, throughput | Distributed | Network flows | Routing | SD-IoT | 2023 | [84] |
Application | Objectives | Architecture | Balance entity | LB method | Network type | Year | Ref |
---|---|---|---|---|---|---|---|
5G | Delay, resource utilization, throughput | Centralized | Network cells | Offloading | SDN-WiFi | 2015 | [49] |
Mobile devices | Throughput, load-balancing | Centralized | Cloudlets | Offloading | SDN- Cloudlet | 2020 | [7] |
Vehicles, 5G | Response time, throughput | Centralized | Fog server | Offloading | SDN-Fog | 2021 | [29] |
- | Resource utilization, delay | Centralized | Edge servers | Offloading | SD- Block Edge | 2022 | [85] |
Application | Objectives | Architecture | Balance entity | LB method | Network type | Year | Ref |
---|---|---|---|---|---|---|---|
Vehicles | Delay | Centralized | Cloud, Fog servers | Architecture/ Allocation | SDN-IoV | 2016 | [33] |
Real-time face recognition | Delay | Centralized | Cloud, Fog servers | Architecture/ Allocation | SDC-FN | 2016 | [86] |
Large scale | Response time, resource utilization | Distributed | Controllers | Hierarchical architecture | SDN-IoT | 2019 | [20] |
Large scale | Bandwidth, load-balancing | Distributed | Link/Server | Architecture | SDN- Fog/Cloud | 2020 | [11] |
VoIP, Video | Scalability, delay | Distributed | Controllers | Hierarchical Controllers/ Allocation | SDN- Edge/Cloud | 2020 | [45] |
Wi-Fi | throughput, packet loss ratio | Centralized | Access points | Architecture | SDN -Wi-Fi | 2020 | [44] |
Image processing | Waiting, turnaround, processing times | Distributed | Device clusters | Hierarchical architecture of the control layer | SDN-IoT | 2021 | [22] |
Critical scenarios | Response time, packet loss ratio, processing time | Distributed | Gateway | FoTa pattern | SDN- FoT | 2021 | [17] |
Smart city | Response time, throughput | Distributed | Controllers | Architecture | SDN-IoT | 2021 | [36] |
Industry | Throughput, packet loss ratio, response time | Distributed | Controllers | Architecture | SDN/NFV -IoT | 2022 | [3] |
- | Response time, energy consumption, delay | Centralized | Fog nodes | Architecture | SDN- Fog | 2022 | [87] |
Dense networks | Throughput, delay, packet loss rate | Centralized | Base stations | Architecture | SDN- IOMT | 2022 | [88] |
Industry | Throughput, response time, delay, resource utilization | Distributed | Cloud servers | Architecture | SDN-IIoT | 2023 | [15] |
Application | Objectives | Architecture | Balance entity | LB method | Network type | Year | Ref |
---|---|---|---|---|---|---|---|
- | Response time, throughput | Distributed | Links | Task classification | SDN-Cloud | 2016 | [77] |
5G | Response time, resource utilization | Centralized | Cloud server | Service classification | SDN-Cloud | 2018 | [89] |
Multimedia | Transmission time, load-balancing | Centralized | Service functions | Packets classification | SDN/SFC-IoT | 2018 | [42] |
Application | Objectives | Architecture | Balance entity | LB method | Network type | Year | Ref |
---|---|---|---|---|---|---|---|
Health | Response time, packet delivery ratio, delay, throughput | Centralized | Controllers | Job migration | SDN- Edge | 2020 | [26] |
High traffic | Response time, communication overhead | Distributed | Fog server, Controller | Switch migration | SDN- Edge | 2020 | [37] |
5G | Response time, resource utilization | Distributed | Cloud server, Controller | Switch migration | SDN-IoT (Cloud) | 2021 | [25] |
Dynamic scenarios | Response time, load-balancing, cost | Distributed | Controllers | Switch migration | SDN-IoT | 2021 | [52] |
Vehicles | Delay, load-balancing | Distributed | Controllers | Switch migration | SD-VN | 2021 | [12] |
Vehicles | Resource utilization, throughput, response time | Distributed | Range of switches | Switch migration | SDN/NFV -IoT | 2022 | [90] |
Real-time | Response time, migration cost | Distributed | Controllers | Switch migration | SD-IoT | 2022 | [91] |
Real-time | Delay, CPU utilization, Response time, cost | Distributed | Controllers | Switch migration | SDN-IoT | 2023 | [43] |
Application | Objectives | Architecture | Balance entity | LB method | Network type | Year | Ref |
---|---|---|---|---|---|---|---|
6LoWPAN | Response time, reliability | Centralized | Gateways | Multi-criteria decision/ allocation | SDN-Fog | 2020 | [28] |
Game | Delay, resource utilization | Distributed | Cloud servers | Allocation | SDN-Cloud | 2020 | [47] |
5G | Load balancing | Distributed | Controllers | Allocation | SDN-5G | 2022 | [92] |
Vehicles | Delay | Distributed | Cloud, Fog servers | Allocation | SDN-IoV | 2022 | [93] |
5G | Bandwidth, response time, delay, packet loss | Distributed | Controllers | Allocation | SDN- IoT | 2023 | [94] |
- | Cost, response time, energy consumption, CPU utilization | Centralized | Cloud servers | Allocation | SDN- IoT | 2023 | [95] |
Application | Objectives | Architecture | Balance entity | LB method | Network type | Year | Ref |
---|---|---|---|---|---|---|---|
Large scale | Throughput, Delay, Jitter | Distributed | Access points | Scheduling | SDN-IoT | 2020 | [9] |
Real-time | Delay, energy consumption | Centralized | Edge server | Workload scheduling | SDN- Edge | 2021 | [41] |
5G | Reliability, delay, energy consumption | Centralized | Edge nodes | Offloading/ Scheduling | SDN- IoT | 2022 | [96] |
High load | Throughput, delay, packet loss rate | Centralized | Links | Scheduling | SDN-Cloud | 2022 | [97] |
- | Load-balancing, delay, response time | Distributed | Fog nodes | Scheduling | SDN- IoT/Fog | 2023 | [98] |
Application | Objectives | Architecture | Balance entity | LB method | Network type | Year | Ref |
---|---|---|---|---|---|---|---|
Smart city | Delay, throughput | Distributed | Controllers | Clustering | SDN/NFV-IoT | 2020 | [10] |
Vehicles | Delay, accessibility, energy consumption, load-balancing | Distributed | Cloud, Fog servers | Hierarchical clustering | SDN-5G IoV | 2021 | [16] |
Smart city | Communication cost | Distributed | Controllers | Clustering | SDN-IoT | 2021 | [56] |
Application | Objectives | Architecture | Balance entity | LB method | Network type | Year | Ref |
---|---|---|---|---|---|---|---|
SG, Industry | Delay, packet delivery ratio | Centralized | Infrastructure | Demand response | SDN- AMI | 2018 | [99] |
Critical scenarios | Response time, packet loss ratio | Centralized | Gateways | Flow change | SDN- FoT | 2018 | [30] |
5G | Resource utilization, overhead | Centralized | Network slices | Network Function virtualization | SDN-NFV | 2020 | [100] |
Vehicles | Delay | Centralized | Cloud, Edge servers | Aggregation | SDN- Edge/Cloud | 2020 | [5] |
Smart City, Industry | Delay, packet delivery ratio, packet loss ratio | Distributed | Access points | Admission control | SDHW-IoT | 2021 | [101] |
Industry | Energy consumption, cost, run time | Centralized | Edge nodes | Placement of tasks | SDN-Cloud | 2021 | [6] |
- | Delay, load-balancing | Distributed | Controllers | Controller placement | SD-IoT | 2022 | [102] |
Ref | Year/ Publication | Survey | SLR | Ques- tion | Article identification process | Taxonomy | SDN | IoT | Comparative analysis | Future trends | Covered years |
---|---|---|---|---|---|---|---|---|---|---|---|
[64] | 2017/ Elsevier | ✓ | ✓ | ✓ | ✓ | ✓ | 2008–2017 | ||||
[61] | 2018/IEEE | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 2008–2017 | ||
[103] | 2018/ACM | ✓ | ✓ | ✓ | ✓ | ✓ | 1997–2017 | ||||
[63] | 2019/ WILEY | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 1988–2018 | ||
[104] | 2019/ACM | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 2001–2018 | ||
[68] | 2020/ Springer | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 2009–2019 | ||
[62] | 2020/ Springer | ✓ | ✓ | ✓ | ✓ | 2008–2020 | |||||
[69] | 2020/IEEE | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 2008–2020 | ||
[105] | 2020/ MDPI | ✓ | ✓ | ✓ | ✓ | 2007–2020 | |||||
[55] | 2021/ Elsevier | ✓ | ✓ | ✓ | ✓ | ✓ | 2008–2020 | ||||
[106] | 2021/ Springer | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 2000–2020 | ||
[107] | 2022/IEEE | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 2002–2022 | ||
[108] | 2022/IEEE | ✓ | ✓ | ✓ | ✓ | 1996–2022 | |||||
This Survey | 2024/ Springer | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 2015–2024 |
Disadvantages | Advantages | Key Contribution | Main Subject | Conference/Journal |
---|---|---|---|---|
- Not considering other aspects of QoS such as security, capacity - Lack of evaluation of energy consumption | + Delay-sensitive task processing + Improved delay and QoS | Cloud/fog network architecture | Improved delay for real-time service processing | China Communications (IEEE) [33] |
- Inefficiency of load-balancing scheme for saturation scenarios - Not using virtualization in FoT-Gateway | + Reduced response time and lost samples | Programming to select a virtual machine | Load-balancing for FoT -Gateways and network links | International Conference on Internet of Things (IEEE) [30] |
- Starvation in medium and low-priority applications | + Acceptance control to ensure QoS of high-priority applications + Load-balancing between the routes and selection of the route with the maximum bandwidth + Reduced delay, jitter, and packet loss + Improved average end-to-end flow performance | Admission control | Application- aware QoS routing | Symposium on Computers and Communications (IEEE) [14] |
- Lack of cost management | + Improving resource efficiency and response time + Considering the types of services (service classification) | Type of service request | Load-balancing among cloud servers | IEEE Communications Magazine [89] |
- Increased overhead at the data layer with frequent rerouting - Lack of attention to other criteria such as security - Dependence on the transfer rate - Maintenance of backup paths | + Improved response time + Being used in human/machine networks + Reducing communication overhead | Traffic-aware load-balancing | Improved QoS by detecting and rerouting traffic | IEEE Internet of Things Journal [32] |
- Single-point of failure - The lack of evaluation of other criteria of QoS such as congestion, overload, and security | + Improved end-to-end delays and packet delivery rates + Reliable, scalable, and secure communication network | Traffic routing optimization | Global load- balanced routing the problem in the AMI network | IEEE Internet of Things Journal [99] |
- Single-point of failure | + Reduced delay and ensured safe network execution + Improved network security and stability | Deploying the middlebox in the right place | SDN-based data transfer security model in IoT based on middlebox | IEEE Internet of Things Journal [79] |
- Lack of evaluation of energy consumption | + Timely identification of attack models + Network scale support | Network partitioning and fog resource allocation | Large-scale intrusion detection with minimal delay | IEEE Access [2] |
- The lack of evaluation of energy consumption and carbon emissions | + Improved delay, throughput, and resource efficiency + Improved network performance | Data transfer architecture | Management of communication resources | IEEE Internet of Things Journal [80] |
- Checking other parameters of QoS such as security and energy consumption | + Improved response time, resource efficiency | Vertical (hierarchical) structure of the controller pool | Large-scale control layer load-balancing | IEEE Access [20] |
- Single-point of failure - Not using machine learning at max-overload - Not Considering heterogeneous resources | + Improved response time, cost, resource utilization, and energy consumption + Increase task acceptance rate | Workload tolerance | QoS-aware load balancing | IEEE Access [95] |
- Considering the incentive mechanism for well-behaved devices | + Reduce task completion time + Resource utilization at edge devices | Token-based resource management | Efficient resource allocation of edge nodes | IEEE Sensors Journal [85] |
-The migration process leads to increased network delay - Suitable for a limited number of target controllers to choose from - The lack of attention to the heterogeneity of tasks and resources - The high cost of migration for a large-scale environment (migration overhead) | + Faster achievement of load-balancing at the control layer + Lower communication overhead and reduced response time | Multi-criteria decision making | Load-balancing in the control plane | IEEE Internet of Things Journal [37] |
- Lack of conscious mechanisms for load-balancing of servers - Lack of QoS management at the layer of distributed SDN control and multi-domain network - Requires Network Function virtualization (NFV) for energy management and QoS | + IoT traffic classification + Scalability of IoT infrastructure with maintaining QoS + Achieving justice and reducing the impact of corruption in QoS + Increasing throughput, and resource efficiency | Resource and QoS-aware framework | Scalable traffic management | IEEE Internet of Things Journal [38] |
-Controller bottleneck used - The lack of privacy protection - Need to predict malicious activity with ML techniques - High migration overhead - Low scalability | + Increased load-balancing and optimal use of resources + Increased security + Improved response time, packet delivery rate, delay, throughput, and overhead | Secure edge computing framework | Lightweight authentication scheme | IEEE Access [26] |
- Lack of server and network integration using virtualization techniques - Not considering large-scale networks - Need for processing requests based on priority and resource allocation - Not evaluating traffic classification to ensure QoS | + Minimization of the bandwidth costs + Link and server load-balancing + Considering load-balancing at network and server levels + Consider homogeneous and heterogeneous networks + Suitable for evaluating any fog computation topology | Cooperative Fog-Cloud Computing Architecture | Load-balancing to manage resources | IEEE Access [11] |
- Lack of extensive control of wireless parameters - Controller bottleneck used | + Improved packet loss rate, received signal strength, and throughput + Reduced dependence on the controller + No controller overload | QoS-aware load-balancing | Solving network congestion problems based on the load level | IEEE Access [44] |
- Using queues and their effect on delay - The lack of evaluation of energy consumption | + Improved response time and reliability + Accelerated user access to sensor data | Load-balancing based on multi-criteria decision-making | Achieving load fairness and reducing service processing delays | IEEE Internet of Things Journal [28] |
- Using queues and their effect on delay - No cost analysis - The lack of evaluation of energy consumption | + System stability in high current input fluctuations + Ensuring fairness in resource allocation | Cloud-edge hierarchical system | Increased scalability and reduced computational delay | IEEE Systems Journal [45] |
- Single point of failure controller | + Avoid congestion and E2E delay + QoS guarantee, improving resource efficiency + Overhead reduction | Traffic engineering framework | Resource management among slices | IEEE Network [100] |
- Non-consideration of other aspects of QoS such as scalability, network lifetime, and energy consumption | + Reduced data redundancy and service response delay + Mobility support | Cloud/edge computing | Service synchronization and data aggregation | IEEE Internet of Things Journal [5] |
- Non-consideration of QoS criteria | + Mobility management, handover optimization + Improved scalability | Distributed hash-based monitoring structure | Flow control and mobility management in heterogeneous urban networks | IEEE Transactions on Parallel and Distributed Systems [9] |
- Increased delay in providing almost optimal routing solutions - The lack of appropriate algorithms for traffic forecasting - Non-consideration of effective network performance parameters | + Improved load-balancing | Approximate routing algorithms | Routing optimization problem with TCAM capacity constraint | Journal of Communications and Networks (IEEE) [48] |
- Using queues and their effects on delay - The lack of focus on resource efficiency - Need for scalability improvement | + Minimizing queues, request processing time, and balancing the controller load + Reduce immigration costs | Multi-objective optimization | Self-Adaptive Load-Balancing | International Conference on Autonomic Computing and Self-Organizing Systems (IEEE) [52] |
- Lack of improved switching efficiency among IoV services in fog clusters | + Four-objective optimization + Minimum delay and energy consumption + Maximum load-balancing and service stability + Mobility support + Using heterogeneous computational resources + Improving real-time scalability | Architecture based on cloud-fog computing | Resource allocation in fog clusters | IEEE Transactions on Intelligent Transportation Systems [16] |
- Increased energy consumption due to handover functions | + Mobility support + Improved load-balancing, service response, and handover rates + Reduced congestion and increased service availability + Considering a heterogeneous network | Link assignment | Load-balancing at the control layer | 14th International Conference on Communication Systems & Networks (IEEE) [92] |
- Data redundancy in neighbouring tables sent to the controller - Lack of QoS management in the mode of distributed control | + Reduced the number of messages + Reduced energy consumption + Prolong the network's lifetime | Load-balancing-based routing and clustering | Reduced load distribution and increased network lifetime | IEEE Access [67] |
- Non-anticipation of QoS criteria with artificial intelligence techniques - Inattention to scalability - Non-examination of the heterogeneity of tasks and resources | + Improved throughput, response time, and resource efficiency + Maximum CPU usage and minimum memory usage + Checking the migration cost and load-balancing rate | QoS -aware load-balancing framework | Improved QoS for network stability | IEEE Transactions on Green Communications and Networking [90] |
- Further investigation to reduce the response time of the controller when a failure occurs - Non-consideration of the large scale | + Increase link utilization, balance traffic loads, conserve table space + Reduce blocked packets, and alleviate table-full events | Reroute traffic flows | Load-balancing between links of switches | IEEE Transactions on Network and Service Management [81] |
- Not considering controller overhead - Not using machine learning in a multi-controller scenario | + Minimizing the impact of link failure + Better performance for delay-sensitive services + Improved throughput, energy consumption, delay | Efficient and reliable routing | Reliability-aware flows distribution | IEEE Transactions on Vehicular Technology [82] |
- Data analysis of nodes with cloud technologies - Considering algorithms to compatible with 5G infrastructure | + Throughput, delay, packet loss rate + Support wireless communication protocols + Time-sensitive prioritization | machine learning-based load-balancing | Distribution of nodes to base stations | IEEE Internet of Things Journal [88] |
- Single point of failure controller | + Improved throughput, round-trip delay, packet loss rate | Scheduling to calculate rerouting | Load balance of link traffic | International Conference on Measuring Technology and Mechatronics Automation (IEEE) [97] |
- Non-consideration of the packet processing priority - Controller bottleneck - Non-use of a combination of transmission paths for optimization of load-balancing - Testing non-extremity of fixed pockets/non-fixed pockets | + Classification of tasks by type of service + Improved data transfer time and load-balancing + Optimal local prevention | Service-Oriented SDN-SFC | Programming data transfer routes | Journal of Network and Computer Applications (Elsevier) [42] |
- The need to minimize the cost of fulfilling requests | + Improving throughput and load-balancing + Considering communication delays and calculations + Maximum acceptance of requests | Cloudlet network framework on the mobile edge | Resource management and load-balancing | Future Generation Computer Systems (Elsevier) [7] |
- Need for achieving complete network control among fog nodes with data layer Programming | + End-to-end routing + Reliable (bandwidth guarantee) + Improved throughput and response time + Efficient for large-scale systems + Increased system availability + Reduced delay in finding the offloading node | Dynamic offloading service between fog nodes | Finding the optimal node to handle tasks | Future Generation Computer Systems (Elsevier) [29] |
- Non-implementation of network traffic based on real-world applications | + Improved packet delivery rate, packet loss, and delay | Admission control | Network flow management and congestion reduction | Computer Networks (Elsevier) [101] |
- Higher communication overhead - The lack of identity and prevention of security attacks - The need for load balance between heterogeneous devices | + Reduced rotation and waiting time + Improved processing performance and use of network resources | Hierarchical architecture of controllers | Network management and load-balancing among devices | Journal of Network and Computer Applications (Elsevier) [22] |
- The lack of resource efficiency | + Reduced delay and energy consumption + Solving resource pricing problems between the user and the edge resource provider | Energy-aware resource allocation | Improved QoS in edge computing | Sustainable Computing: Informatics and Systems (Elsevier) [41] |
- The lack of evaluation of energy consumption, network lifetime, and packet delivery rate | + Meeting scalability and delay requirements + Improved response time, packet loss rate, and processing time | SDN network programming | Load-balancing for the Fog of Things Platforms | Journal of King Saud University—Computer and Information Sciences (Elsevier) [17] |
- Migration overhead | + Prevent control plane overhead and distribute traffic efficiently + Reduce response time and cost of migration | Dynamic switch migration | Load-balancing among controllers | Computer Networks (Elsevier) [91] |
- Need for high privacy in a decentralized model - Achieving online task offloading and resource allocation with cooperating massive IoT networks | + Improved reliability, delay, energy + Privacy-preserving, security, and confidentiality by blockchain + Higher throughput and lower overhead | Blockchain-based Deep Reinforcement Learning | Energy-aware task scheduling and offloading | Future Generation Computer Systems (Elsevier) [96] |
- Combining the presented approach with security-aware scheduling approaches | + Improved load-balancing, delay + Meeting the security requirements of IoT devices + Reduce response time | Security-aware workflow scheduler | Joint security and performance optimization | Journal of Information Security and Applications (Elsevier) [98] |
- Need for optimization algorithms to load-balancing at the data plane - Need for hybrid machine learning algorithms for packet analysis | + Improved bandwidth, response time, delay, and packet loss + Considering security metrics such as detection accuracy and authentication time | Using honeypots, blockchains, and vSwitches | Providing secure multi-controller load-balancing | Future Generation Computer Systems (Elsevier) [94] |
- Extend on dynamic network | + Optimizing packet delivery ratio, average latency, network lifetime, and energy consumption | Traffic flow optimization | Energy efficient routing | Sustainable Energy Technologies and Assessments (Elsevier) [84] |
- Extending the proposed framework to a more large-scale SDN - Non-compliance of distributed architecture with security frameworks | + Optimization of migration time, response time, and controller load + Improved CPU usage, latency, communication cost, and throughput | Switch migration | Multi-domain SDN slave controller load balancing | Journal of King Saud University—Computer and Information Sciences (Elsevier) [43] |
- Need to apply machine learning techniques - Non-implementation of Fog and Edge computing | + Increased security + Improved throughput, delay, response time, and resource utilization + Improved the durability, stability, and load balancing | Blockchain-SDN-based secure architecture | Traffic load management of real-time applications | Digital Communications and Networks (Elsevier) [15] |
- Single-point failure controller used | + Reduced concerns about resource scarcity + Network congestion elimination + Improved delay, resource efficiency, and throughput + Less number of handovers | Data offloading and load-balancing | Reduced short-term resource shortages and network congestion | Journal on Wireless Communications and Networking (Springer) [49] |
- Non-consideration of other aspects of QoS - Need for implementation of the algorithm in the real SDC-FN platform - The lack of evaluation of energy consumption | + Mobility support + Improved delay and response time | Cloud / Fog network architecture | Reduced real-time service delay | International Conference on Communication and Networking in China (Springer) [86] |
- Need for practical application and performance analysis - Interaction of unauthorized users with each other - Fault to check fault tolerance | + Improved delay and throughput + Improved load-balancing, scalability, accessibility, integrity, and network security + Heterogeneity support | Virtualization of network functioning | SDN-based distributed IoT network | Cyber Security and Computer Science (Springer) [10] |
- Increase transfer time, and packet loss rate | + Improved response time and Throughput | Load-balancing optimization | Load distribution between SDN controllers in IoT application | Wireless Personal Communications (Springer) [36] |
- Failure points of switches and controllers - Delaying the load-balancing function with multiple migrations - High cost of migration in a large-scale environment | + Increased response time, resource efficiency + Improved fault tolerance and reliability for migration | Monitoring and classification of the service | SDN-based load-balancing service | Wireless Personal Communications (Springer) [25] |
- Improper management of multiple attacks - Need for the deployment of distributed blockchain technology for confidential data management and security | + Dealing with the epidemic damage of the Covid-19 virus in the industry + Ensuring security and reliability + Improved throughput, response time, and packet loss rate | SDN-based IoT architecture with NFV | Productivity of industry potentials in the Covid-19 pandemic | Cluster Computing (Springer) [3] |
- Evaluation of load-balancing and traffic-based decisions for green cloud computing | + Improved throughput, bandwidth utilization, response time | Machine Learning for routing and server selection | Load-balancing in DCN Servers | Arabian Journal for Science and Engineering (Springer) [83] |
- The need for scheduling with the load-balancing of flight nodes | + Improved throughput, packet delivery rates, and end-to-end delays + Increased network lifetime and traffic balancing | Computational load distribution between nodes | Distributed traffic congestion control | Electronics (MDPI) [65] |
- Unstable performance - Need for checking other goals, such as reliability - Need for other searching criteria in the optimization algorithm - Non-evaluation of the selection of non-dominated solutions based on angle or distance | + Improved energy consumption, cost, and run time | Using multi-objective optimization | Load-balancing in cloud computing | Sensors (MDPI) [6] |
- Need to expand the security parameters and more performance - Not testing the proposed technique in a real test-bed environment | - Improved Response time, energy consumption, and communication delay | Secure and energy-aware fog computing architecture | Load-balancing to improve utilization of resources | Sustainability (MDPI) [87] |
- Increased transfer delay - Lack of evaluation of energy consumption | + Improved E2E delay, resource efficiency + Achieving a fair allocation of resources + Maximization of profitability of service providers + Improved Quality of Experience (QoE) | Hierarchical architecture of controllers | Assigning requests to cloud data centers | Multimedia Systems Conference (ACM) [47] |
- Single point failure central controller - Starvation in tasks with lower priority - Challenges the cloud for long distances with the user | + Improved response time, throughput + Assigning CPU resources to high-priority tasks | Task classification | Load-balancing in cloud network links | Workshop on Advanced Research and Technology in Industry Applications (Atlantis Press) [77] |
- Inefficient use of resources - Non-consideration of QoS | + Minimization of the overall cost of communication | Controller placement based on clustering | Load-balancing between multiple controllers | Scalable Computing [56] |
- Super-controller bottleneck - Non-consideration of migration costs and the distance between controllers and switches in overload controllers - Non-consideration of resource efficiency | + Reduced delay + Improved load-balancing | Real-time delay-based load-balancing | Simultaneous overload of multiple controllers | Computers, Materials & Continua (Tech Science Press) [12] |
- Not testing the proposed strategy in real scenarios - Non-consideration of other performance criteria such as energy consumption and response time | + Improved load-balancing, + Reduced number of controllers and average delay and delay | Controller placement | Load-balancing and reduced packet release delay | Computers, Materials & Continua (Tech Science Press) [102] |
- Non-evaluation of energy consumption, loss rate, and packet delivery | + Minimized delays + Reduced completion time of tasks + Potential for mobility and location-awareness | Cloud/edge computing architecture | Improved load-balancing and performance in latencies | Conference Proceedings (AIP) [93] |
Ref | Load-balancing | Scalability | Response /Execution time | Resource utilization | Delay/Latency | Overhead | Throughput | Jitter | Packet loss rate | Packet delivery rate | Energy consumption | Accessibility | Processing time | Reliability | Waiting / transfer time | Cost | Security | Network lifetime |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
[25] | ✓ | ✓ | ||||||||||||||||
[37] | ✓ | ✓ | ||||||||||||||||
[89] | ✓ | ✓ | ||||||||||||||||
[38] | ✓ | ✓ | ||||||||||||||||
[29] | ✓ | ✓9 | ||||||||||||||||
[14] | ✓ | ✓ | ✓ | |||||||||||||||
[101] | ✓ | ✓ | ✓ | |||||||||||||||
[16] | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
[10] | ✓ | ✓ | ||||||||||||||||
[26] | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
[43] | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
[36] | ✓ | ✓ | ||||||||||||||||
[22] | ✓ | ✓ | ||||||||||||||||
[42] | ✓ | ✓ | ||||||||||||||||
[11] | ✓ | ✓ | ||||||||||||||||
[41] | ✓ | ✓ | ||||||||||||||||
[44] | ✓ | ✓ | ||||||||||||||||
[17] | ✓ | ✓ | ✓ | |||||||||||||||
[32] | ✓ | |||||||||||||||||
[28] | ✓ | ✓ | ||||||||||||||||
[45] | ✓ | ✓ | ||||||||||||||||
[7] | ✓ | ✓ | ||||||||||||||||
[99] | ✓ | ✓ | ||||||||||||||||
[79] | ✓ | ✓ | ✓ | |||||||||||||||
[52] | ✓ | ✓ | ✓ | |||||||||||||||
[15] | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
[2] | ✓ | ✓ | ||||||||||||||||
[49] | ✓ | ✓ | ✓ | |||||||||||||||
[33] | ✓ | |||||||||||||||||
[86] | ✓ | |||||||||||||||||
[30] | ✓ | ✓ | ||||||||||||||||
[100] | ✓ | ✓ | ||||||||||||||||
[77] | ✓ | ✓ | ||||||||||||||||
[65] | ✓ | ✓ | ✓ | |||||||||||||||
[102] | ✓ | ✓ | ||||||||||||||||
[12] | ✓ | ✓ | ||||||||||||||||
[56] | ✓ | |||||||||||||||||
[3] | ✓ | ✓ | ✓ | |||||||||||||||
[6] | ✓ | ✓ | ✓ | |||||||||||||||
[92] | ✓ | |||||||||||||||||
[80] | ✓ | ✓ | ✓ | |||||||||||||||
[47] | ✓ | ✓ | ||||||||||||||||
[5] | ✓ | |||||||||||||||||
[20] | ✓ | ✓ | ||||||||||||||||
[9] | ✓ | ✓ | ✓ | |||||||||||||||
[48] | ✓ | |||||||||||||||||
[67] | ✓ | ✓ | ||||||||||||||||
[93] | ✓ | |||||||||||||||||
[90] | ✓ | ✓ | ✓ | |||||||||||||||
[91] | ✓ | ✓ | ||||||||||||||||
[96] | ✓ | ✓ | ✓ | |||||||||||||||
[81] | ✓ | ✓ | ✓ | |||||||||||||||
[87] | ✓ | ✓ | ✓ | |||||||||||||||
[82] | ✓ | ✓ | ✓ | |||||||||||||||
[88] | ✓ | ✓ | ✓ | |||||||||||||||
[83] | ✓ | ✓ | ✓ | |||||||||||||||
[97] | ✓ | ✓ | ✓ | |||||||||||||||
[84] | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
[85] | ✓ | ✓ | ||||||||||||||||
[98] | ✓ | ✓ | ||||||||||||||||
[94] | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
[95] | ✓ | ✓ | ✓ | ✓ | ||||||||||||||
Total | 10 | 2 | 23 | 16 | 31 | 4 | 19 | 2 | 8 | 5 | 9 | 2 | 2 | 2 | 2 | 5 | 2 | 2 |
Ref | Parameter | Directions | Description | ||
---|---|---|---|---|---|
User | Service provider | Infrastructure provider | |||
[22] | Processing time | x | ✓ | x | The duration of packet execution on the processor increases the success rate of the network |
Delay | ✓ | ✓ | x | The time required for packets to go from the source to the destination nodes. This delay includes a set of transmission, queue, processing, and release delays | |
Energy consumption | x | ✓ | ✓ | Energy is consumed in the network when transferring data from source to destination. Most IoT devices are battery-powered, so routing protocols with suitable power consumption are preferred to extend the lifetime of IoT networks | |
Cost | ✓ | ✓ | x | The user is charged for receiving the service | |
Packet delivery rate | X | ✓ | x | The ratio of the total packets received by the destination node to the number of packets transmitted by the source node | |
[80] | Throughput | x | x | ✓ | The number of bytes transmitted over the network from the source to the destination node is determined in time |
Jitter | x | x | ✓ | Deviation from the average data reception delay resulting from changes in data arrival time over the network is due to congestion and changes in data packet paths | |
Resource efficiency | x | ✓ | ✓ | The maximum amount of resources used (e.g., CPU, memory, and bandwidth) in the network | |
[28] | Reliability | x | x | ✓ | It checks the correct and timely performance of the tasks of the final devices as well as the continuity of service delivery |
Scalability | x | ✓ | ✓ | It indicates the ability of the network to provide service to the increase of final devices and the amount of network load changes | |
Communication overhead | x | x | ✓ | The ratio of whole requests submitted by the network to the total incoming requests | |
Load-balancing | x | ✓ | ✓ | Fair distribution of workload among network resources to increase network efficiency | |
Security | ✓ | ✓ | x | A set of policies and arrangements are developed to enforce unauthorized access, prevent changes, and restrict access, attacks, and threats to available network resources | |
Stability /accessibility | x | ✓ | ✓ | It refers to the accessibility and continuity of the service based on the maximum efficiency of the resources available in the network | |
Response time | ✓ | x | x | The transfer time, waiting, and processing to perform the task sent in the network |
Tech App | Routing | Architecture | Offloading | Allocation | Classification | Clustering | Scheduling | Migration | Others |
---|---|---|---|---|---|---|---|---|---|
Smart city | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
5G | ✓ | ✓ | ✓ | ✓ | |||||
Large scale | ✓ | ✓ | ✓ | ||||||
Industry | ✓ | ✓ | ✓ | ||||||
Multimedia | ✓ | ✓ | |||||||
Real-time | ✓ |
Controller | Dataset | Tools/Testbed | Dimensions | No. layers | Layer | Algorithm/Framework | Ref |
---|---|---|---|---|---|---|---|
ONOS, Open Daylight | - | Minineta | Multi-objective | Three | Control | SMBLB algorithm (Greedy) | [25] |
Floodlight | Iperfa Cbench | Mininet | Multi-objective | Three | Control | ESMLB framework | [37] |
Floodlight | HTTPerf | OpenStack | Multi-objective | Three | Application | SBLB algorithm | [89] |
Floodlight | Iperf | Kaa | Multi-objective | Three | Application | Future load forecasting based on fuzzy logic | [38] |
Ryu | Iperf | Mininet | Multi-objective | Three | Control | Innovative algorithm | [29] |
Ryu | D-ITGa | Mininet/WiFi | Multi-objective | Five | Infrastructure | AQRA algorithm | [14] |
- | Random | Mininet/WiFi | Multi-objective | Three | Control | Ant Colony Optimization Algorithm (Opt-ACM) | [101] |
- | Random | Hypervolume | Many-objective | Three | Application/ Control | Innovative algorithm | [16] |
- | Random | Mininet/WiFi | Multi-objective | Four | Control | Distributed controller architecture | [10] |
- | Random | Matlab | Multi-objective | Three | Control | Secure framework | [26] |
ONOS | Iperf | Mininet | Many-objective | Three | Control | ESCALB algorithm | [43] |
- | Random | NS2 | Multi-objective | Three | Control | Spider monkey algorithm (LB-SMOA) | [36] |
Floodlight | Caltech | Mininet/WiFi | Multi-objective | Three | Infrastructure | Hierarchical architecture | [22] |
- | - | C# Environment | Multi-objective | Three | Application | Greed-based Service-oriented algorithm (GSOA) | [42] |
- | - | AMPL/CPLEX | Multi-objective | Three | Application/ Control | Distributed architecture | [11] |
- | - | CloudSimSDN | Multi-objective | Four | Control | Distributed edge computing architecture | [41] |
Ryu | - | Mininet/NS3/ Wi-Fi | Multi-objective | Three | Control | QALB algorithm | [44] |
Pox | Iperf | Mininet | Multi-objective | Three | Control | FoT based platform | [17] |
Ryu | - | Real testbed | Single-objective | Three | Application | TALB algorithm | [32] |
- | - | Matlab | Multi-objective | Three | Control | MCDM algorithm | [28] |
- | Random | Matlab | Multi-objective | Three | Control | HECSDN architecture | [45] |
Floodlight | - | Mininet/WiFi | Multi-objective | Three | Control | Architecture | [7] |
Floodlight | Iperf | OpenStack | Multi-objective | Three | Infrastructure | OpenAMI | [99] |
Pox | Iperf | Mininet | Multi-objective | Three | Infrastructure | Middlebox-Guard Framework | [79] |
Ryu | D-ITG | Mininet | Multi-objective | Four | Control | Modified Greedy algorithm | [52] |
Floodlight | Wireshark | Mininet-Wifi | Many-objective | Three | Application | Architecture | [15] |
Ryu | UNSW-NB15 | Mininet | Multi-objective | Three | Control | IDPS framework | [2] |
- | Random | Matlab | Multi-objective | Three | Infrastructure | SDN-based LB | [49] |
- | - | Real testbed | Single-objective | Four | Application/ Control | Modified particle swarm (MPSO-CO) / SDCFN architecture | [33] |
- | - | Matlab | Single-objective | Four | Application/ Control | Fireworks algorithm/ SDC-FN architecture | [86] |
Pox | Iperf | Mininet | Multi-objective | Four | Control | Proposed algorithm | [30] |
- | Random | OMNeT + + | Multi-objective | Three | Control | TE Framework | [100] |
Open DayLight | - | Mininet | Multi-objective | Three | Application | Ant colony algorithm | [77] |
- | Cbrgen | NS2 | Multi-objective | Three | Application | Firefly algorithm | [65] |
- | - | Matlab/ Simulink | Multi-objective | Four | Control | Sunflower algorithm | [102] |
Ryu | Iperf | Mininet | Multi-objective | Three | Control | SMLBAL algorithm | [12] |
- | - | Matlab | Single-objective | Three | Control | Grey Wolf algorithm | [56] |
- | - | Mininet/WiFi | Multi-objective | Three | Control | EdgeSDNI4COVID architecture | [3] |
- | Random | Matlab | Multi-objective | Three | Control | Particle swarm algorithm | [6] |
- | Random | Matlab | Single-objective | Three | Control | Greedy approach | [92] |
- | Random | Matlab | Multi-objective | Three | Control | Framework based on SDN and EC | [80] |
Pox | Iperf | Mininet | Multi-objective | Three | Application | MOSP algorithm | [47] |
- | - | C# Environment | Single-objective | Three | Application/ Control | SODA Framework | [5] |
Open DayLight | - | Mininet | Multi-objective | Three | Control | Vertical architecture | [20] |
Floodlight | - | Real testbed, OMNeT + + | Multi-objective | Three | Infrastructure | UbiFlow framework | [9] |
- | - | Real testbed | Single-objective | Three | Application | Approximate algorithms | [48] |
- | - | NS2 | Multi-objective | Three | Infrastructure | Clustering algorithm | [67] |
- | - | Matlab | Single-objective | Three | Application/ Control | Whale algorithm | [93] |
- | - | Python environment | Multi-objective | Three | Infrastructure | LBSMT algorithm | [90] |
Ryu | - | Mininet | Multi-objective | Three | Control | DSMLB framework | [91] |
Ryu | - | Mininet | Multi-objective | Four | Control | DRL algorithm | [96] |
Ryu | Iperf | Mininet | Multi-objective | Three | Infrastructure | L2RM framework | [81] |
- | Bitbrain | COSCO | Multi-objective | Three | Control | Proposed architecture | [87] |
- | Random | Mininet | Multi-objective | Three | Control | RAFDA algorithm | [82] |
- | - | Riverbed Modeler | Multi-objective | Three | Infrastructure | MLA algorithms | [88] |
Floodlight | Iperf | Mininet | Multi-objective | Three | Application | MRBS algorithm | [83] |
Floodlight | Iperf | Mininet | Multi-objective | Three | Infrastructure | Proposed algorithm | [97] |
- | - | Matlab | Many-objective | Three | Infrastructure | LSOA algorithm | [84] |
Floodlight | - | Mininet/WiFi | Multi-objective | Four | Infrastructure | SDBlockEdge algorithm | [85] |
Open DayLight | CIC | IoTSim-Osmosis | Multi-objective | Three | Control | S-FoS algorithm | [98] |
Pox | - | NS-3 | Many-objective | Three | Control | HBO algorithm | [94] |
- | Random | Matlab | Many-objective | Three | Application/ Control | GWO algorithm | [95] |
Controller | Centralized | Distributed/ Flat | Open Source | Programming language | Scalability | Reliability | Consistency | MultiThreading | Modular | Platforms | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Java | Python | Lin | Mac | Win | |||||||||
Floodlight | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
OpenDaylight | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
ONOS | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
RYU | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
POX | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Discussion
Disadvantages | Advantages | Layer | Function | Technique |
---|---|---|---|---|
- Communication overhead - Security challenges | + Support user mobility + Minimizing the number of active servers + Reduce the possibility of rejecting tasks due to resource constraints + Energy management and response time reduction + Improving resource utilization | Cloud / Fog / Control | Services movement between resources | Migration |
- Challenges in finding a reliable route in mobile networks - Routing overhead | + Traffic management + Improvement of some QoS parameters | Cloud / Fog | Finding the best path to transfer tasks and their data | Routing |
- Rerouting overhead | + Low overhead and failure probability by choosing the right path + Prevent network congestion + Improving reliability, energy, delay, throughput, packet delivery rate, and resource utilization | Cloud / Fog | Finding alternative routes | Rerouting |
- Architectural design costs | + Improving the quality of service + Workload management + Reducing complexity and increasing efficiency of control units + Achieving distributed control of flows for scalability and reliability | Cloud / Fog / Control | Changing the centralized control layer to a distributed one | Architecture |
- Possibility of overloading and underloading resources | + Policies related to cache, congestion control, queuing, scheduling, green computing, and security + Improving the QoS | Cloud / Fog / Control | Change in network configuration and management | Policy |
- Probability of violating resource capacity threshold - Lack of scalability | + Improving response time, throughput, and delay + Network congestion control + Support of mobile applications + Maximizing request acceptance rate and optimizing the use of resources | Fog | Delivery of tasks to other resources for network balance and stability | Offloading |
- Challenges in determining the number of clusters - Local minimum problem - Computational cost | + Increasing stability + Effective resource management + Minimum communication cost between tasks + Improving load-balancing, scalability, availability, integrity, and security | Cloud / Fog / Control | Group tasks and resources based on their similarities | Clustering |
- Lack of trade-off between speed and accuracy of the traffic classification mechanism | + Possibility of reliable communication + Network traffic forecasting + Improving load-balancing, response time, throughput, and resource utilization + Providing QoS in routers + Separation of traffic in different streams + Filtering and intrusion detection + Allocation of appropriate levels of QoS to different applications | Cloud / Infrastructure | Classification of traffic based on the type of tasks and their requirements based on predefined rules | Classification |
- Possibility of resource overhead | + Balance between performance and QoS + Creating justice on network nodes + Maximize network capacity | Cloud / Fog / Control | Mapping tasks on available resources Based on resource status | Allocation |
- Increase in rejection of tasks | + Network congestion control + Improving delay, packet delivery ratio, and packet loss ratio | Fog | Responsible for ensuring the authentic network load | Admission control |
- Increased delay | + Reducing network traffic load + Extending the lifetime of the network in energy-constraint networks + Reducing the number of packets sent in the network + Reducing communication costs and accurate data recovery + Reduce data redundancy | Cloud / Edge | Collecting and combining data from different sources | Aggregation |
- Temporal mismatch between traffic load and resource availability - Balance and orchestration of virtual resources | + Increase utilization and reduce costs + Efficient resource management + Increase security + Reducing energy consumption | Cloud / Fog | Implementing virtual functions on physical resources | Virtualization |
- Taking too much time on large-scale controller placement - Link setup latency for a switch to controller communications - Possible delay in placing controllers | + Development of receptive capacity + Increased network fault tolerability + Management flexibility + Improve overall network performance + Minimize runtime and delay + Choosing the best number of controllers | Control / Edge | Deployment of the controller in a suitable place | Controller placement |
- Reduced security - Inefficiency in saturation scenarios | + Congestion control + Reduced response time + Ensuring a proportional share of traffic for better use of resources | Fog | Splitting traffic into multiple paths | Flow change |
- User categorization based on the application requirement - Prediction of user behaviour and energy requirements | + Reducing energy costs for end users + Reducing peak energy consumption + Reducing the congestion of transmission lines | Infrastructure | Users' energy consumption management in response to resource conditions | User demand management |
- Need to analyze the temporal-spatial - Mobility management in heterogeneous networks | + Dynamic resource management + Improving task completion time, throughput, and delay | Fog | Efficient and appropriate assignment of resources based on task execution time | Scheduling |
No. Questions | Conclusion | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Question 1 (load balancing techniques) | QoS-aware load-balancing techniques based on maximum use of centralized and distributed architectures are shown in the table below. Also, the table number related to the characteristics of the technique is mentioned | ||||||||||||||||
Routing | Architecture | Offloading | Allocation | Classification | Clustering | Scheduling | Migration | Others | |||||||||
Centralized | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||
Distributed | ✓ | ✓ | ✓ | ✓ | |||||||||||||
No. Table | 2 | 4 | 3 | 7 | 5 | 9 | 8 | 6 | 10 | ||||||||
The following table shows the use of load-balancing techniques in SD-IoT network layers. In general, further need for load balancing at the fog/controller layer is discussed | |||||||||||||||||
Routing | Architecture | Offloading | Allocation | Classification | Clustering | Scheduling | Migration | Others | |||||||||
Application | ✓ | ✓ | |||||||||||||||
Control/fog | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
Infrastructure | ✓ | ✓ | ✓ | ||||||||||||||
Question 2 (QoS parameters) | The load balancing techniques that lead to the maximum improvement of QoS parameters are shown in the table below | ||||||||||||||||
QoS Techniques | Delay | Response time | Throughput | Resource Utilization | Cost | Packet loss ratio | Packet delivery ratio | Energy consumption | Security | Load balancing | |||||||
Routing | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||||||
Architecture | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||
Offloading | ✓ | ✓ | ✓ | ||||||||||||||
Allocation | ✓ | ✓ | ✓ | ||||||||||||||
Classification | ✓ | ||||||||||||||||
Clustering | ✓ | ||||||||||||||||
Scheduling | ✓ | ✓ | ✓ | ||||||||||||||
Migration | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||||
Others | ✓ | ✓ | ✓ | ||||||||||||||
Table shows that most researchers have concentrated on delay, followed by response time, throughput, and resource utilization | |||||||||||||||||
Question 3 (multi-directions QoS) | As explained in Table 14, according to the QoS directions and SD-IoT network layers, three horizontal and vertical layers can be proposed, and nine parameters can be obtained from their combination | ||||||||||||||||
Directions layers | User | Service provider | Infrastructure provider | ||||||||||||||
Application/Cloud | Cost | Throughput | Resource utilization | ||||||||||||||
Control/Fog | Delay | Response time | Reliability | ||||||||||||||
Infrastructure | Accessibility | Energy consumption | Energy consumption | ||||||||||||||
Question 4 (applications) | Figure 11 shows that most researchers have concentrated on smart city applications, followed by large-scale, industry, and multimedia | ||||||||||||||||
Question 5 (simulation tools) | General and specialized simulation tools and real beds can be used for simulation. Most researchers have used Matlab and Mininet tools to evaluate their techniques. Figure 12 shows the evaluation tools used in different research articles | ||||||||||||||||
Question 6 (future research) | Future research is described in Sect. 6, which is divided into three general categories • Application-based load-balancing • Controller-Architecture-based load-balancing technique • Multi-constraint many-objective QoS in multi-direction |