## 1 Introduction  
The rapid growth of connected devices for seamless connectivity, computation, and data transmission led to the rise of the Internet of Things (IoT). By 2030, more than 200 billion connected devices will be capturing data on how we live, work, and operate machines on which we depend. This number will reach trillions by 2040 as projected in different research [1, 2]. The maximum number of these devices will be positioned at the edge of the Internet, enabling new applications that will transform various aspects of our everyday life. Moreover, IoT devices are constrained by limited resources, such as storage and processing capacity that can affect the performance, security, and reliability of applications. Therefore, edge cloud-distributed computing systems can enhance response times, improve security, and save bandwidth, bringing computation and data storage nearer to the application's location. Cloud computing is a centralized architecture that can offer virtually unlimited computing capacity, networking, and on-demand elastic storage capability [3]. For over a decade, the elastic cloud model has been highly successful, providing significant value to both enterprises and cloud providers. End users also receive seemingly unlimited resources and data-intensive services over the wide-area network. Although centralized cloud architecture facilitates resource management and maintenance, there are difficulties for cloud computing to satisfy the services demands of new trend of latency, bandwidth, and security-sensitive applications in the IoT era. The global market for the IoT is continuously growing and is expected to grow from USD 245 billion in 2020 to USD 8131 billion by 2030 [4; 5]. IoT applications, such as face recognition, ultra-high-definition video, augmented reality (AR), virtual reality (VR), voice semantic analysis, live video analytics, applications of smart city services, smart industry, smart healthcare services, personalized healthcare, and more challenged the scalability and resiliency of the traditional cloud computing models. These applications demand higher performance in terms of computing, latency, storage, and security. Additionally, the present limited bandwidth of the backbone network is insufficient to support the continuous transmission of the rapidly growing volume of data produced by increasingly demanding mobile IoT applications. To address the challenges of cloud computing, edge computing emerged, bringing computation and storage closer to the edge of the network, with a focus on reducing the latency and backbone bandwidth usages for real-time applications [3]. But edge computing suffers from limited computational capability and storage. Table 1 shows a comparison of cloud computing and edge computing based on various features. It also demonstrates the advantages and disadvantages of each. To achieve the advantages of both cloud computing and edge computing, edge cloud architecture has emerged. The fundamental concept of edge cloud architecture is the convergence of cloud computing, edge computing, and networking to leverage the benefits of both cloud computing and edge computing paradigms. Therefore, edge cloud has significant potential to improve system-level performance to meet the requirements of the emerging real-time IoT applications. The edge cloud systems are distributed across multiple networks; thus, computing resources are considerably heterogeneous and bandwidths also vary network to network. Because of this unique nature of edge cloud networks, efficient controllers for distributed edge, offloading algorithms, resource allocation, traffic load balancing, network routing, and mobility management are crucial [3; 8]. Several research works have surveyed edge cloud networks from different perspectives, as presented below. [PERSON] et al. [9] surveyed mobile edge computing (MEC) from the perspective of communication aimed at the joint radio-and-computational resource management. [PERSON] et al.