Edge Computing: A Systematic Mapping Study
Jalal Sakhdari, Shaghayegh Izadpanah, Behrooz Zolfaghari, Samaneh H-Mahdizadeh-Zargar, Mahla Rahati-Quchani, Mahsa Shadi, Saeid Abrishami, Abbas Rasoolzadegan
Abstract — Edge computing is a novel computing paradigm which extends cloud computing storage and computation resources at the edge of network and closer to the end-users in order to tackle the problem of communication latency in latency-sensitive applications. For the last decades, there have been many research efforts dedicated to this field. However, there are still many operational challenges. The dramatic growth in researches, large volume of published studies, and the attention of researchers in this field in recent years have made it necessary to conduct a Systematic Mapping Study in this field. we need a comprehensive guide to enable researchers to do more effective searches on each scope of edge computing. An important part of the methodology is to use the appropriate search method using a three-tier strategy. In this method, we defined some quality criteria to extract search spaces and studies with the highest quality for reading and analysis. In a separate phase, we evaluated the extraction process of related studies in terms of accuracy. using this comprehensive methodology, we select the number of 112 search spaces out of all 805 ones and by search in these search spaces we select 1440 high-quality studies out of 8725. In our Systematic Mapping Study, 8 research questions have been designed to achieve goals such as identifying the main topics, architectures, techniques, and so on in the field of edge computing. We aim this paper can serve as a guideline for researchers interested in this field . Index Terms —Edge Computing, Fog Computing, Systematic Mapping Study I. I NTRODUCTION y increasing the number of internet-based applications and their heavy computation or a large amount of data, remote computational resources offered by data centers of the Cloud Computing (CC) paradigm is a powerful solution to data storage and processing requirements. In fact, the computation or data of these applications should be transferred to data centers of clouds, which are geographically established far from users running applications. Due to this distance, and consequently, its huge communication latency, this computation model is not appropriate for applications that need
Emails: [email protected], [email protected], [email protected], [email protected] [email protected], [email protected] [email protected], [email protected] Affiliations: Computer Engineering Department, Ferdowsi University of Mashhad, Iran mobility support, location awareness, and low latency. To solve the above problem, edge computing has appeared as an alternative computing model. Its main idea is to bring computing and storage resources closer to the end-users and at the edge of the network, which leads to a considerable reduction in communication latency. The field of edge computing has been significantly investigated for around two decades. The concept was firstly introduced by Akamai by creating cache servers on the edge of the network [1]. This idea has also been used in peer to peer (P2P) systems to distribute tasks and workloads between peers. However, the concept of edge computing has evolved, and various architectures have been introduced to it. There are several definitions in the literature for edge computing. In this SMS, we have reviewed all the researches in which processing or storage processes are sent to devices close to the user, in the category of edge computing. Although edge computing is a promising way to meet the quality needs of new applications, there are still many operational challenges. On the other hand, with the expansion of the use of IoT applications and the significant increase in mobile and wearable devices in recent years, a considerable growth has been observed in researches in the field of edge computing. Due to the large volume of papers published in this field, especially in recent years, conducting a survey on the literature can guide researchers to identify the scopes of edge computing with its trends and gaps. In fact, we need a comprehensive guide to enable researchers to do more effective searches on each scope of edge computing. Due to the vastness and number of researches in the field of edge computing, we need an advanced research method. This method should be able to cover all research work in the field of edge computing, and also the results should be traceable, reliable, impartial, and accurate. Although there are many research studies that survey existing works, none of them uses a standard and systematic method for searching and reviewing works. To conduct an advance and comprehensive literature review, evidence-based software engineering recommends two well-known research techniques as Systematic Literature Review (SLR) and Systematic Mapping Study (SMS) [2, 3]. Despite the same search and data extraction methodology of these two systematic reviews, they have some differences in their goal, which distinguish their usage [4]. In SMS, researchers try to . Jalal Sakhdari, Shaghayegh Izadpanah, Behrooz Zolfaghari, Samaneh H-Mahdizadeh-Zargar, Mahla Rahati-Quchani, Mahsa Shadi, Saeid Abrishami * , and Abbas Rasoolzadegan Edge Computing: A Systematic Mapping Study B ain general information in a specific research field. More precisely, they aim to classify topics and identify trends existing in that research field, without paying special attention to the details of each paper. On the other hand, SLR investigates the primary subset of research studies and tries to extract more specific data from them. This difference arises from different Research Questions (RQs) in each of these two techniques [2]. Hence, SMS should be applied when identifying the scopes, and categorizing a large number of studies is considered, while SLR should be utilized when specific data of a limited number of studies are needed. It should be noted that SMS can be performed as a pre-SLR review. To conduct a SMS, a systematic method is needed so that we can extract all the search spaces and research studies published in the field of edge computing and then select some of the highest quality ones. In this paper, the known methodology presented in [2, 3] has been used. The central part of this methodology is to provide an appropriate search method to extract a large volume of related studies in the field of edge computing. For this purpose, related studies have been searched at three levels (Manual search, Backward snowballing, and Database search). We have also defined some quality criteria to select search spaces and studies with the highest quality and maximum relevance to the field of edge computing, among all the extracted items for further and in-depth analysis. Finally, in a separate phase, we evaluated the extraction process of related studies in terms of accuracy and collecting the comprehensive and complete information in a supplementary file. In this SMS, we have used the experiences and feedbacks from our past systematic reviews [5-7] and tried to provide a better review. In this work, we apply a SMS on the field of edge computing that widely explore the edge computing topic. We have classified the topics existing in the edge computing field, and also categorized searched papers within these topics. Our ultimate goal is to effectively alleviate specifying research trends and gaps for researchers interested in this field. To reach this goal, 8 research questions have been designed, and we tried to answer and analyze these questions during the systematic review process. These questions are designed to achieve goals such as identifying critical topics in the field of edge computing, identifying architectures used, identifying commonly used techniques, applications of edge computing in other areas, identifying active researchers, and active search spaces in the field of edge computing. This information will be a useful guide for researchers and developers interested in the field of edge computing . The rest of this paper is structured as follows. In section II, the steps of an SMS process are detailed, followed by research methodology applied in this paper, and the threats to validity of this review. In section III, results achieving from our SMS are presented and discussed. In Section IV, we present some implications based on the results of our SMS for researchers, practitioners, and teachers interested in the field under study. Finally, in section V, we conclude our review. Along with this study, for more clarity, we have provided a comprehensive supplementary document to provide full details of our findings. Throughout the paper, we will reference specific sections of this documents that will be useful to readers interested in the details of the method and the data extracted. These documents have the prefix (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) , plus a postfix which specifics a table. For example, if we reference (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2869),(cid:3021)(cid:2869) , it refers to Table T1 of the Excel file E1.
For clarity, all abbreviations used in this paper are summarized in
Table 1 . Table 1. Summary of abbreviations
II. R ESEARCH M ETHODOLOGY
Research methodology for performing an SMS is presented by [2, 3, 5, 8, 9]. In this paper, we use the methodology, which is based on the updated SMS guidelines described in [3]. Additionally, some improvements have been made in some phases, which will be discussed in the following sections. Generally, the SMS process of this paper is comprised of three main phases. (i) The planning phase, (ii) Evaluating phase, and (iii) Conducting phase. These phases are depicted in Fig. . In this section, we will explain the details of these three phases. A. Planning the Mapping Study
At the beginning of the SMS process, the planning phase is performed. It is decomposed into a series of steps, which should be done in sequence. In this subsection, the steps of the planning phase are discussed in sequence.
Abbreviations Terms
EC Edge Computing FC Fog Computing CO
Computation Offloading
Ar.
Architecture
DM Data Management RM Resource Management NM Network Management Ec. Economic S&P Security & Privacy UE User Equipment MD Mobile Device VM Virtual Machine RQ Research Question
MEC
Mobile Edge Computing
MCC
Mobile Cloud Computing
IoT
Internet of Things
D2D
Device-to-Device
M2M
Machine-to-Machine BS Base Station SDN Software Defined Network NFV Network Function Virtualization TDMA Time Division Multiple Access FDMA Frequency Division Multiple Access CDMA Code Division Multiple Access P2P Peer to Peer RAN Radio Access Network BBU Base Band Unit RRH Radio Remote Head VANET Vehicular Ad-hoc Network QoS Quality of Service QoE Quality of Experience ) Specifying the Scope and Research Questions (RQs)
The primary goal of scientific researchers who accomplish systematic mapping studies is to provide a thorough review of a specific topic, which can be used as a reference for researches who will be working in this field. To advance the SMS process more objectively, it is essential to design some RQs at a very early stage of review progress. As a consequence, the effort to answer these RQs will form the foundation of the SMS process. In this paper, concerning the edge computing, we have defined 8 RQs. Each RQ, along with its rationality, is summarized in Table 2.
Start Evaluating Mapping StudyQuality Acceptable?[ No ] [ YES ]Specify Scope and Research Questions Specify Search Space Inclusion/Exclusion CriteriaSpecify Study Inclusion/Exclusion CriteriaSpecify Study Selection ProcessSpecify Search and Study Selection’s Evaluation StrategySpecify Data Extraction StrategySpecify Data Extraction FromsSpecify Data Classification Type and StrategyConduct Search and Study Selection First Evaluation? Evaluate the Search and Study Selection Evaluation Passed?[ No ]Specify Search SpaceSpecify Search StrategySpecify Search String [ YES ] Extract Data From Each StudyApply Analysis and Classification [ NO } [ YES }Apply Analysis and ClassificationApply Analysis and Classification
Fig. . SMS Process [6] To find an accurate answer for each of these RQs, we attempt to consider all published works having a contribution in the field of edge computing. Since the concept of edge computing firstly appeared in 2001, we consider studies from this year. Moreover, as we start conducting this study in 2017, we cover the searches up to the end of 2019. Due to finishing this review in mid-2020, we have omitted the year 2020 to have a reasonable enough analysis. Planning of the search strategy
The search process might be repeated several times during the review period. Moreover, as it is a time-consuming process, it is more probable to be performed by different members in a group. In order to make members to follow identical rules and decisions as the review carried out, the exact search process must be previously planned. To do this, the step of planning the search process is categorized into three sub-steps which specify the search strategy, search space, and search strings, as shown in Fig. we have detailed these sub-steps in the following subsections. a) Specifying the Search Strategy
As the starting point of our search strategy, we found a total number of 12 secondary studies (survey or review) which have investigated the edge computing field. They are listed in Table 3. These studies are only used to start the systematic search process. There is no concern in choosing among existing secondary studies because in a qualified systematic research process, starting with any domain-related collection will eventually lead to the right final studies. During the process of our SMS, we found some other reviews. The comparison between this work and the other found secondary studies (survey and review) can be seen in section IV. s shown in Fig. 2 in this paper, three types search, i.e., manual search, backward snowballing, and database search is applied to retrieve studies. In the manual search, we have used the queries to manually search in each venue of the search space list that have been acquired using the search space strategy (see section II.A.2)b)).In the snowballing method, the references list of each newly added paper is examined to find the new related venues. In the database search phase, a manual search is done using defined keywords in the well-known databases such as Google Scholar, Springer Link, IEEEXplore, ACM Library, and ScienceDirect.
Table 2. Defined Research Questons(RQs)
By applying all search phases together, we have arrived at a large dataset of related high-quality papers in the field of the edge computing from 2001 to the end of 2019. To distinguish between these three methods, we have defined a flag called S-Flag, which is valued 0 and 1 for backward snowballing and manual search steps, respectively. To increase the accuracy of the search process and complete coverage of the domain, improvements have been made to our previous works in the search process. For this purpose, in the snowballing stage, in addition to extracting new venues, a list of unseen studies was also extracted. Unseen studies are the study whose venue (search space) has been searched for before, but these studies have not been found in the results of search queries in that venue. The study selection process is then applied to the unseen studies and, the selected studies are added to the included studies set. As a result, we are one step closer to coverage of the domain. Using these three search methods, our overall search strategy consists of seven main steps, as follows:
Stage 1 : by specifying the initial set of secondary studies, the initial set of keywords are extracted. final queries for manual searching are created using some combination of these keywords, which is described in section II.A.2)c). Also, we have defined a variable named “phase”, which shows the number of passed steps in each cycle of search strategy execution.
Stage 2 : the initial set of search spaces is created by exploring the cited papers in each secondary study of the initial set. Notably, only search spaces that satisfy some defined quality criteria are added to the initial set of search spaces. These quality criteria will be discussed later in section II.A.3)a). Whenever a new search space is found in the process of examining the secondary studies, the following stage 3 will be executed; otherwise, the process jumps to stage 5 (backward snowballing). In this step, S-Flag is set to zero.
Stage 3 : firstly, the new found search spaces from stage 2 are added to the search space set. Secondly, the manual search is applied to them (newly added search spaces) by considering the
RQ Research Questions
Rationale G e n er a l Q u e s t i o n s
1 Which researchers and research venues are more active in this field and how are the active researchers distributed geographically? The demographics of edge computing research provide a useful starting point for interested researchers by identifying active scholars, venues, and countries. 2 How active is the field of edge computing and how is the distribution of selected studies by type over publication year (journal), and Geographical areas? To identify the current volume of research and general trends in order to better depict the attractiveness of the field. Comparing the volume of research over publication year and Geographical areas can shed some light on the maturity of edge computing. S t r u c t u r a l Q u e s t i o n s
3 What are the core research topics in the field of edge computing? To identify and classify the current research topics in the field of edge computing, the evolution and distribution of each topic, and the potential trends. 4 What is the distribution of applications in each research topics? To identify the percentage of applicability and the importance of each research topics based on the number of studies published in each application relative to the total number of studies. 5 What is the distribution of different architectures in each topic? Architecture can be Fog Computing, Cloudlet, MEC and so on. 6 Which techniques are more used in the field? To identify main techniques used in each topic of edge computing field and analyzing the relation between techniques with other aspects. Techniques can be game theory, heuristic and so on 7 Which forms of empirical evaluation have been used? Empirical evaluation means whether the environment is real or simulation or testbed. 8 Mostly, Which Qualitative Requirements (QoS) have been considered to move towards edge computing? Answering this research question will make it possible to understand when a researcher must use edge computing. QoS can be time, cost, energy, and so on. nitial keyword set and extracted queries. This stage outputs a new search study set.
Table 3. Initial Set (secondary studies) of Our SMS
Secondary Study Title
Type
Year
Ref. A Comprehensive Survey on Fog Computing: State-of-the-Art and Research Challenges
Survey [10] A Taxonomy for Management and Optimization of Multiple Resources in Edge Computing
Survey [11] Mobile Edge Computing, Fog et al.: A Survey and Analysis of Security Threats and Challenges
Survey [12] Survey on Fog Computing: Architecture, Key Technologies, Applications and Open Issues
Survey [13] Moving from Vehicular Cloud Computing to Vehicular Fog Computing: Issues and Challenges
Survey [14] On Multi-Access Edge Computing: A Survey of the Emerging 5G Network Edge Cloud Architecture and Orchestration
Survey [15] Edge Cloud Computing Technologies for Internet of Things: A primer
Survey [16] Fog Computing for Vehicular Ad Hoc Networks: Paradigms, Scenarios, and Issues
Survey [17] A Systematic Literature Review of Fog Computing
Survey [18] Edge Computing: Vision and Challenges
Survey [19] Edge-centric Computing: Vision and Challenges
Survey [20] An overview of Fog Computing and Its Security Issues
Survey [21]
Fig. 2. The Search Strategy
Stage 4 : this stage considers new search studies set and study selection process applied to them. It should include/exclude studies based on defined inclusion/exclusion criteria, which are discussed in section II.A.3)a). The search process jumps to stage 5 if at least one search study has been includes; otherwise, it jumps to stage 2. Moreover, if there is any new related keyword in an included study, it will be added to the keyword set to complete it gradually.
Stage 5 : for any included study found by manual search, the backward snowballing should be applied to (S-Flag set to one). The backward snowballing is defined as investigating the reference section of an included study and extracting the related cited papers. By founding any new related study, the process will jump to stage 4.
Stage 6 : with applying a set of pre-defined keywords, a database search is done, and new unseen papers are extracted.
Stage 7 : at the last step, the study selection process should be executed on the recently found papers and after that, the search process ends. b) Specifying the Search Space
Generally, the word search space refers to venues such as journals, conferences, and workshops. Because we have only investigated journal papers in this study, we just mean journal by the word search space. As shown in Fig. , at the first step in conducting the search strategy, a set of initial search spaces are provided and placed in the secondary study database. Our MS has been covered all related papers in the period time of 2001 to 2019. When the search process begins, the search space set is empty. As mentioned before, the first step in search strategy is to examine the cited papers in the previously found secondary studies (listed in Table 3), which leads to adding some journals to the set of search spaces. The search space set will be gradually completed as the search process advances. The (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3024)(cid:2871),(cid:3021)(cid:2872) shows a complete list of all included search spaces. Fig. 3, shows the process of extracting search spaces. c) Specifying the Search Study String
Although we aim at finding studies having a contribution in the field of edge computing, utilizing the "Edge Computing" keyword by itself cannot lead to finding all relevant papers. Therefore, we firstly found a set of keywords, called search strings, which was completed as the process of searching carried out, by the three phases mentioned in section II.A.2). As mentioned earlier, we have generated some queries by some combination of defined keywords, which are listed in Table 4. These queries are utilized to search through databases of different publishers. The defined keywords can be seen in the (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3050)(cid:2871),(cid:3021)(cid:2871) . Planning of the Study Selection Process
According to the search strategy as mentioned earlier, papers are found by using manual search and backward snowballing methods.
Table 4. Constructed Queries for Finding Related Paper ID Search query "edge computing" OR ("edge processing" AND cloud) OR ("mobile edge" AND (cloud OR computing)) fog AND (computing OR node OR cloud) (offloading AND (edge OR "mobile cloud")) ((micro-data center OR micro-datacenter) AND (cloud OR edge)) OR microcloud OR micro-cloud OR cloudlet "nomadic computing" OR "mist computing" OR "osmotic computing" Although in the manual search method, we use the constructed queries to find papers in determined search spaces, there might be some papers which only mentioned our keywords as a general concept, without really addressing our main focus. Moreover, in the backward snowballing stage, it is more probable that there exists irrelevant studies in the reference section of the related papers. Consequently, we need to define an inclusion/exclusion strategy for selecting papers by specifying some inclusion/exclusion criteria. Furthermore, some inclusion/exclusion criteria must be specified for selecting search spaces. In this subsection, we will discuss these issues.
Fig. 3. The Process of Included Search Space Extraction [5] a) Specifying the search space inclusion/exclusion criteria
To find more reliable answers for RQs, the analysis must be performed on the studies with high quality. As goodness of the search spaces can affect the quality of the studies, the search spaces must be selected based on some inclusion/exclusion criteria. Our initial studies showed that the number of published studies in the field of edge computing is very large and it is very difficult and even impossible to review all of them in one survey. For this reason, we only consider journals in our SMS process and discard any other type of search spaces such as conferences and workshops. Furthermore, we filter available journals based on some criteria, which are introduced in Table 5 below. As shown in Table 5, each journal will be selected if its JCR is available, and also its defined aims and scopes are related to our focus in this SMS process. The thresholds used for the exclusion criteria are obtained empirically. It is notable that in specifying the JCR threshold, we consider two points: firstly, the number of include/exclude papers must not be hugely affected by a slight change in the threshold value; secondly, ualified papers with a high number of citations must not be excluded by our defined threshold.
Table 5. Search Space Exclusion Criteria a)
Specifying the study inclusion/exclusion criteria
To determine studies that are qualified enough to answer our RQs, we include/exclude the found studies in the search process based on some criteria, as shown in Table 6. As can be seen in this table, a found study will be excluded from the study set of our SMS process, if at least one of the conditions PEC1 to PEC5 is met. Among the five criteria mentioned in Table 6, PEC1 is the only criterion, which is related to the content of studies. To increase the accuracy of selecting studies based on PEC1, we defined some signs based on extracted keywords. By using these signs, members of our team cloud include/exclude studies more accurately. Generally, we investigated title, abstract, and keywords of extracted papers to determine its inclusion/exclusion state. However, for some cases, the whole text of the paper has been studied. The complete list of included papers, excluded papers, secondary papers, and specified signs is available in (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2870),(cid:3021)(cid:2869) , (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2870),(cid:3021)(cid:2871) , (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2870),(cid:3021)(cid:2870) , (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3050)(cid:2871),(cid:3021)(cid:2869) respectively. Table 6. Study Exclusion Criteria
Criterion Description PEC1
The study does not relate to edge computing 1-1)
PEC2
The contribution of paper does not relate to field of study (The study does not have any of the signs in table
PEC3
The study is not a journal paper, e.g., it is a magazine paper, conference paper, gray literature, conference cover, poster, etc.
PEC4
The study is not a primary study (e.g., survey)
PEC5
The paper cannot be accessed (e.g., not indexed) or belongs to an excluded journal a) Specifying the Study Selection Process
To apply the criteria mentioned above, for select of studies, we must follow a predefined strategy. As papers are written in different ways, understanding their main contribution may require different levels of reading, including title, keywords, abstract, and full text. In this SMS we used a two-step strategy: 1) First we tried to include/exclude each paper by reading its title, abstract, and keywords part, 2) For papers which their contribution are not recognizable by applying step one, we reading the whole text. After applying this strategy for each paper, three states may occur: the relevant paper will be included, the irrelevant paper will be excluded, and when the relevance of the paper is not recognizable, it will be evaluated by another expert. Fig. 4 describes the strategy used to select studies. Specifying the Search and Study Selection Evaluation Strategy
To highly ensure the trustworthiness of SMS results, an evaluation strategy needs to be defined. However, it is difficult to determine the exact set of related studies. To do this, a test- set is commonly constructed, which is a collection of known papers expected to be found during the SMS process [22]. For constructing this test-set, we apply the quasi-gold standard (QGS) metric introduced by [23]. It refers to a set of studies published in well-known research communities. For this aim, two members are assigned to perform the evaluation phase. At first, the test-set is empty. Specified members identify several pioneer researches in the field of edge computing by searching in Google Scholar. Then, the home pages of pioneers are examined to find the related papers and these papers are added to the test-set. After constructing the test set, the inclusion/exclusion criteria applied to them. In order to assess the completeness of the found studies, we have used the quasi-sensitivity formula, as shown in Eq. 1 [23, 24]. Then the result is compared with a predefined threshold. If the number resulted from the formula is less than the threshold, it is expected to redo the whole SMS process to obtain more complete results. Since an acceptable threshold is known to be in the range of 70%-80% percent [23], our acquired 90.34 % shows that the result of our SMS process has enough accuracy. (cid:1845)(cid:1857)(cid:1866)(cid:1871)(cid:1861)(cid:1874)(cid:1861)(cid:1872)(cid:1877) = × (cid:4666) (cid:4667) . Planning of the Data Extraction and Classification Process
Having the set of included papers, we should specify some required information to be extracted from included studies to answer RQs mentioned in section II.A.1). Table 7 illustrates that which information is useful for answering which RQs. Notably, the "Topic" word in Table 7 is obtained from the "Keywords" field using a keyword clustering and expert knowledge described in section II.D.4). B. Evaluating the Mapping Study
This step is responsible for checking the output of the previous phase and transiting the SMS process to the next phase if the output has an acceptable quality. However, if the evaluation quality was not acceptable, revising the planning phase is required before moving to the next phase. To evaluate the mapping study, we have utilized the evaluation metrics described in [25]. Based on the information provided in the work of [3], we conclude that our mapping study phase has the acceptable quality, and it is reasonable to move toward the next phase (conducting the mapping study).. (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2875),(cid:3021)(cid:2869)(cid:2879)(cid:3021)(cid:2871) shows
Criterion Description JEC1 (JCR is not available)
JEC2
Aim and scope are not related
JEC3
Magazine he necessary information and details.
Fig. 4. The Study Selection Strategy [6]Table 7. Extracted items needed for answering RQs
RQ
Author name, author affiliation, country Search space, Paper Title/abstract Paper context, Keyword, Topics, Publication year Topics, Author Keywords Topics, Paper context Topics, Paper context Topics, Paper context Paper context Topics, Paper context Topics, Paper context C. Evaluating the Mapping Study
This step is responsible for checking the output of the previous phase and transiting the SMS process to the next phase if the output has an acceptable quality. However, if the evaluation quality was not acceptable, revising the planning phase is required before moving to the next phase. To evaluate the mapping study, we have utilized the evaluation metrics described in [25]. Based on the information provided in the work of [3], we conclude that our mapping study phase has the acceptable quality, and it is reasonable to move toward the next phase (conducting the mapping study).. (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2875),(cid:3021)(cid:2869)(cid:2879)(cid:3021)(cid:2871) shows the necessary information and details. D. Conducting the Mapping Study
Until now, sections II.A and II.C describe the strategies used in this SMS. In the following sections, the results of the implementation of these strategies will be stated. Conducting the process of search space and study selection
This section provides complete details of the search and study selection process. These details include completing keywords during the search process, finding search spaces set, and conducting a set of studies to provide relevant papers. Based on the phases described in Section II.A.2)b), the initial keyword set is used in Phase 1 (see (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3050)(cid:2871),(cid:3021)(cid:2871) ). Next, the extracted keywords of each phase are used in the next phase. For example, the keywords extracted from the initial set and included studies of phase 1 are used in phase 2 . The complete information about the search spaces obtained during the search process, along with the exclusion reason for each of excluded search space, is reported in (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3050)(cid:2871),(cid:3021)(cid:2872) . Furthermore, in (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3024)(cid:2871),(cid:3021)(cid:2873) , the aim and scope of each found search space are listed. We also provided some signs in the field of edge computing that are given in (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3024)(cid:2871),(cid:3021)(cid:2869) and can be used as an indication to include/exclude a study and search space easily. For example, from the studies numbered 1, 4, and 5 in Table 3, several search spaces are obtained, which some of them are shown in Table 8. The quality of each search space is evaluated based on the exclusion criteria defined in Table 5, and its inclusion/exclusion status is shown in the last column of the same table. For example, in Table 8, the journal with the JID = 92 is excluded because no information about Q and IF has been found for it. Also, the journal with the JID = 20 is not related to the field of edge computing, and so it is. The information is described in (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3050)(cid:2871),(cid:3021)(cid:2872) . Table 9, shows the final statistics of search spaces set, 805 distinct search spaces are found during the search process of which 112 of them are included and added to the search spaces et. More information on included/excluded search spaces in each phase is provided in Table 9 . In this table, for example, NI1 and NE1 show the number of included and excluded search spaces in phase 1, respectively. The included and excluded studies set are reported in (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2870),(cid:3021)(cid:2869) and (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2870),(cid:3021)(cid:2871) respectively. Moreover, the statistical information about studies in each search space is provided in (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3024)(cid:2871),(cid:3021)(cid:2869)(cid:2869) . Table 10 shows a sample of these studies from the search spaces presented in Table 8. In this table, for instance, the contribution of the second study is not in the field of edge computing, so it is excluded. After adding the included studies, if there are new keywords, the existing keywords set is updated by adding these new keywords. The final statistics of the studies in Table 11 reveals that out of 8725 papers have been identified during the search process, 1440 studies are included and added to the final studies set. In this table, for example, NI1 and NE1 show the number of search spaces for included and excluded studies in phase 1, respectively. Evaluating the Search and Study Selection Process
The validity of our SMS has been verified by conducting a validation, as previously described in section II.A.4) . During this phase, the home page of some pioneer researchers in the field of edge computing was explored to find unseen studies. The list of unseen studies during conduction search phases presented in (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2875),(cid:3021)(cid:2869) . According to the information in this table, there are 12 studies that were not found during the search process. Data Extraction
After completing and identifying the included studies, the process of reading and extracting information from them began. Information related to this process is provided in (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2873),(cid:3021)(cid:2873) . During this process, the study and extraction of information were done by five team members, and then this information was reviewed by three other members. Analysis and Classification of data
As mentioned earlier, the primary goal of this SMS is to answer the previously identified RQs, described in Table 2, and identify the main topics and sub-topics in the field of edge computing. For this purpose, the data which have been extracted and organized in the previous steps should be analyzed at this stage. So far, several techniques have been proposed to identify the scopes of one research field based on keywords. Two well-known methods are statistical similarity factor [26, 27] and the use of co-occurrences matrix [28, 29]. The disadvantage of the first method is that it considers only a small part of the text (such as a paragraph) to identify topics and sub-topics, which is not accurate. Besides, usually, the similarity-based keywords clustering techniques cannot classify well [4]. In the second method, the keywords are placed in several clusters using the co-occurrence matrix, and the topics and sub-topics related to a similar cognitive orientation are determined between them.
However, the co-occurrence matrix method is only appropriate when both the study domain and the number of keywords are small. Due to the breadth of this field and scatter of keywords, the use of this method was not useful. Therefore, in this research, the topics and sub-topics have been determined based on the knowledge of experts. In the following, our method is described in detail. We tried to build a research tree for the field of edge computing. The research tree contains topics and sub-topics in the desired field and on several levels. The first level of the tree is the most important level for responding to the RQs. Due to the high dispersion of keywords, an accurate method for finding and analyzing keywords is necessary. The following steps describe the construction process of the first level of the research tree
Step1 – In this step, the keywords of all studies are extracted. If keywords were not specified by the author(s), an expert member of the team, defined them. More information is provided in (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2871),(cid:3021)(cid:2869) . Step 2 – After extracting or defining keywords for all studies, we try to categorize them. For this purpose, keywords which have similar meanings (such as resource allocation, allocation of computing resources, and resource management) are allocated to the same category. We have used an incremental approach to categorize the keywords. At first there is no category. An expert examines keywords one by one and decides to which category they should added. Each new keyword can be added to an existing category, or a newly created category according to its concept. As a result of doing this step, 1560 categories are created.
Step 3 – In this step, an initial view of existing topics in the field of edge computing is determined by an expert, using existing topics in other review papers. Then, the categories of the previous step are mapped to corresponding topics. (see (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2871),(cid:3021)(cid:2871) ). The final topics are reviewed by other experts of the team, which may also lead to addition of a new topics. This step led to creation of the first level of the research tree, which can be seen in Fig. 5.
Step 5 - After specifying the main topics in the field of edge computing, which are located at the first level of the research tree, the expert can extend each topic by defining its sub-topic. To do this, he/she should examine the existing keywords in each topic, and try to categorized them according to his/her experience. Fig. 5 shows the final research tree. Besides, obtained thematic similarities are also used to determine tree topics. Table 12 shows a list of these thematic similarities. During the search process (including planning phase or conducting phase), various factors may affect the validity of SMS. Therefore, one of the crucial rubrics mentioned in Section II.C is the discussion of threats to validity. The primary purpose of the validation process is to provide evidence to respond to all the threats that the systematic review process may face. Some of these salient evidences are discussed below:
Having a set of high-quality studies:
We tried to take dvantage of two popular search methods, including SLR and SMS, to design a comprehensive process and thus obtain a complete set of related studies. We have also evaluated our search process. Therefore, we believe that our review is reliable
Table 8. Sample Extracted Journal Search Space and Results of Search Selection Process
JID Journal Name Topic IF (JCR-2017) Q (JCR-2017) Publisher ROE Type 3
Future Generation Computer Systems Computer Science Theory and Methods 4.639 Q1 Elsevier - JCR Journal of Internet Services & Applications Computer Science Computer Networks and Communications Computer Science Applications 0.401 Q2 Springer JEC1 SJR IEEE Access Engineering Electrical and Electronic Computer Science Information Systems Telecommunications 3.557 Q1 IEEE - JCR Journal of Parallel & Distributed Computing Computer Science Theory and Methods 1.815 Q2 Elsevier Inc. - JCR
IEEE Computer Computer Science Software Engineering Computer Science Hardware and Architecture 1.94 Q1 IEEE - JCR ACM Sigmobile Mobile Computing & Communications Review - N/A N/A ACM JEC1 JCR IEEE Systems Journal Engineering Electrical and Electronic Computer Science Information Systems Telecommunications Operations Research and Management Science 4.337 Q1 IEEE JEC2 JCR
Table 9. Search Space Set Statistics
No. Search Spaces NI NE NI NE NI NE3 NI NE NI NE Total 1
Journals 59 110 48 486 4 54 1 43 0 0 805 Conferences - - - - - - - Workshops - - - - - - - Total 59 110 48 486 4 54 1 43 0 0 805
Table 10. Sample Studies from Included Search Space of Table 8 and Results of Study Selection Process
Paper Title Journal Name Year Exclusion Criteria
A fog computing-based concept drift adaptive process mining framework for mobile APPs Future Generation Computer Systems 2018 - A multimedia healthcare data sharing approach through cloud-based body area network Future Generation Computer Systems 2017 PEC1 Augmenting computing capabilities at the edge by jointly exploiting mobile devices: A survey Future Generation Computer Systems 2018 PEC3
Having the most related studies:
A key point in this regard is to apply an evolutionary process for completing the keywords set during the search process. It is worth mentioning that in edge computing, some keywords alone did not have a specific meaning. So, we integrated all these words using logical operators (AND, OR). Also, in manual snowballing, unseen studies were extracted and reviewed, which is an improvement over our previous works. eviewer’s biases or misunderstandings during the process of study selection:
To address this challenge, two researchers have independently conducted the study selection process. Any possible disagreement on their part has been resolved by the third researcher or by using the decision rules (see Section II.A.3)a)).
Table 11. Study Set Statistics
No. Search Spaces NI NE NI NE NI NE NI4 NE4 NI5 NE5 Total 1
Journals 599 1770 158 3669 13 1084 0 43 671 718 8725 Conferences - - - - - - - Workshops - - - - - - - Total 599 1770 158 3669 13 1084 0 43 671 718 8725
Table 12. Sample of Thematic Similarities between keywords
Topic Thematic similarities Sub Topic C o m pu t a t i o n O ff l oa d i n g Offloading/Outsourcing/ Cooperative task computing/ Task outsourcing/Verifiable outsource Computation Migration Mobility/ Follow me edge/ Distributed mobility management/ E-mobility/ Seamless application execution/handover/Service handoff Mobility-Management Decision making/ Collaborative decision-making/ Computing mode selection Decision-Making Partitioning/ Computation partitioning/Data segmentation strategy/ Dynamic partitioning of computation Partitioning
Having a complete set of search space s: At the end of the search process, some high-quality studies may not be found from the search spaces. To avoid this problem, a process was considered to evaluate the search process and its results. Besides, during the evaluation process, some members of the group created a test-set to eliminate any effect of individual orientation.
Creating some forms to extract raw-data:
Some papers may not have the author's keyword during the data extraction process. Due to the importance of this information in analysis and classification, several keywords for each of these papers have been extracted using the full-text of papers and stored in the relevant forms.
Selecting an appropriate name for each level-one topic:
After the keyword clustering step using the knowledge of the expert, a proper name was selected for each cluster. Likewise, due to the wide range of topics in the field of edge computing, there is much scattering in keywords. For example, in the "Resource Management" topic, there are some keywords such as "Resource Management", "VM migration", "Service provisioning", and "Task allocation". We chose the name "Resource Management" for this topic, because it shows the conceptual similarity between these words at a higher level. To eliminate the effect of individual orientation in the choice of topic names, the proposed names for topics were discussed and agreed upon by team members in joint meeting.
Lack of coverage of conferences and workshops:
Although among the studies published in conferences and workshops, there are studies related to the field of edge computing with appropriate quality; due to the large volume of studies in this field, we had to limit our review to studies published in journals. To improve this review, in the future, one can have an independent review of studies published in conferences and workshops.
IoT maturity, and the emergence of new applications : With the widespread use of smartphones, and the rise of IoT-based technologies, a variety of applications such as healthcare, smart community, social networks, and VANET have become more popular. As a result, a large number of researches have been done to adapt these applications to the edge computing paradigm and improving the quality of these applications through the use of edge, and fog.
The existence of several operational challenges : edge computing is an emerging field of research. Therefore, there are still many challenges in resource management, networking, and QoS assurance in this area. This issue has caused the attention of many researchers in this field.
Advantages of edge over remote cloud : With the connection of billions of devices to the internet, the remote cloud will not be operational for new applications. Consequently, it will impose heavy traffic on the backbone network, and cause communication delays [30]. Thus, a new flood of researches has been done to migrate and adapt remote cloud services and applications to distributed edge resources.
Close relationship to other research area and technologies : the field of edge computing is closely related to various areas of research including cloud computing, networking, data analysis and processing, security, artificial intelligence, medicine, etc. This has led many researchers from these different fields tend to publish papers in edge computing. III. R ESULTS OF THE S TUDY
In the previous sections, the search process and its details were described. In this section, based on the research questions (RQs) posed in Section II.A.1), we discuss the results of eviewing the field of edge computing. The RQs are answered in the order in which they appear in Table 2.Furthermore, questions are answered and reviewed based on the levels of the research tree . Mobile Edge Computing Congress was held in London in 2015, A. How active is the field of edge computing, and how is the distribution of selected studies by type over publication year (journal) and Geographical areas?
In this section, the number of publications in different years is analyzed statistically, and the percentage of the number of studies on different topics is informed.
Fig . 6 shows the number of papers published in the field of edge computing over the years. In this figure, the horizontal axis represents the years, and the vertical axis represents the number of published papers. The information in the (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2870),(cid:3021)(cid:2869) and (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2869),(cid:3021)(cid:2873) files are used to draw the diagrams in this section.
As shown in Fig . 6 , until 2014, little work has been done in this field. In previous years, similar researches have been done to performing computations close to the user such as cloudlets [9], cyber foraging [31], and nomadic computing [32], but the starting point for the emergence of formal, and standard edge computing can be attributed to 2013-2015. In 2013, IBM, and Nokia unveiled the Joint Radio Applications Cloud Server (RACS) project, a platform for edge computing over 4G / LTE networks. After that, efforts began to standardizing edge computing under the auspices of the European Telecommunications Standards Institute (ETSI) [33]. The first followed by the first IEEE / ACM Symposium on Edge Computing a year later. After these events, edge computing became known as a new research path with many research opportunities among researchers, academic, and industrial projects. Another highlight of Fig . 6 is the sharp upward trend of publications in recent years. The following facts can be considered as reasons to justify the increasing popularity of this research field, and a significant increase in the number of papers in recent years: Fig. 7 shows the number of published papers in the field of
Main Topic in Edge ComputingComputation OffloadingDecision MakingMobility ManagementPartitioningMigration Resource ManagementAllocation & SchedulingPlacement & MigrationLoad BalancingSharing & PoolingEstimationUtilization ArchitectureApplication-specificGeneral-purpose Network managementAccess Control (i.e RAN, F-RAN, NOMA)Absrtaction & Orchestration (i.e. NFV/SDN)Traffic Modelling & EngineeringSlicing & OverlayingAd-hoc Network (i.e. VANET, M2M , ...) Security & PrivacyAccess ControlAttack DetectionTrust EvaluationPrivacy Saving Data managementCachingData AnalysisData DistributionData Dissemination Economics PricingAuction
Fig. 5. Edge Computing Research Tree N u m b e r o f pub li c a t i o n s Years
Fig. 6. Number of Publications per Year dge computing over the years and for each topic, separately. In this figure, the horizontal axis represents the years, and the vertical axis represents the number of published papers. As this figure illustrated, the upward trend in studies publishing is evident for all topics. Among these, the resource management, and computation offloading topics have had the highest acceleration compared to other topics. Since the resources in edge computing are limited and heterogeneous with variable load, resource management is one of the critical issues in this field [34]. As a result, the number of resource management researches has grown more sharply than other topics. The field of computation offloading is also one of the active research fields with complicated and diverse challenges such as mobility management, partitioning, and decision making, so it has attracted much attention. After resource management, and computation offloading topics, the data management topic has had the highest growth of the number of publications. The reason for this growth can also be attributed to the typical applications in this field. Most edge computing applications such as healthcare, crowdsourcing, streaming, social network are working with user data. Therefore, there is a strong need to provide methods for storing, processing and analyzing data in a distributed edge environment. For this reason, data management has also become one of the fastest-growing topics in this field
Fig. 7. Number of Publication per Topics
Fig. 8 shows the percentage of publications on different topics. As depicted in this figure, and according to the reasons mentioned, resource management, computation offloading, and data management topics have a higher percentage of papers. B. Which researchers and research venues are more active in this field, and how are the active researchers distributed geographically?
In this section, pioneer researchers, and journals of edge computing are introduced. The analysis of this information is useful. since, the pioneer researchers in a field are usually direct the research path, and reviewing their work can provide a good view of that field for new researchers. Familiarity with the popular journals in a research field can also be a good starting point for researchers who want to enter that field, and search for studies or submit their related papers. To identify pioneer researchers, the number of studies published by each author is counted. The first ten authors with the highest number of researches are selected as pioneer researches, and the number of their publications in each topic are counted. To do this, the information of the authors’ column in the (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2869),(cid:3021)(cid:2869) is used. Information on the number of studies published by other authors per topic is also available in the (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2872),(cid:3021)(cid:2872) . Table 13 depicted a small part of this file. This table shows the number of published papers per topic and the total number of published papers for each author. Since some papers are categorized into N u m b e r o f pub li c a t i o n s Years
Offloading Resource management Network management ArchitectureSecurity and privacy Data management Economic
Offloading17%
Resource management27%Network management13%
Architecture14%Security and privacy12% Data management15% Economic2%
Fig. 8. Percentage of Publication per Topics ore than one topic, the total number of papers published on different topics may be higher than the total number of papers published by a specific author. In Fig. 10 information about pioneer researchers is shown in the form of a bubble diagram. In this diagram, the horizontal axis represents the topics and the vertical axis represents the top ten authors with the highest number of publications and the volume of bubbles represents the number of papers published in each topic. According to the statistics Dr. F. Richard Yu and Dr. Victor C. M. Leung, own the highest number of published papers among other authors. Most of the published papers by pioneer authors are also related to resource management and offloading topics given that these two areas are among the hottest research areas in the field of edge computing. However, some other authors such as Dr. Chunlin Li, Dr. Mohsen Guizani, and Dr. Tian Wang have focused more specially on security and privacy topics.
Table 13. Sample Publications of Pioneer Researcher per Topics
In order to identify active journals in the field of edge computing, similar to the process performed for pioneer researchers, the number of papers published in each journal was counted. Next, the top ten journals with the highest number of relevant publications were selected as active journals. To this purpose, the information of the journal column in the (cid:1845)(cid:1873)(cid:1868)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2870),(cid:3021)(cid:2870) is used. Information on the number of studies published by other journals per topic is also available in the (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2872),(cid:3021)(cid:2873) . Fig. 9 shows the active journals in edge computing with the number of papers published in each one. As illustrated in this figure, "IEEE Access", "IEEE Internet of Things Journal", and "Future Generation Computer Systems" have the largest number of published papers. Some reasons can be mention for the popularity of these journals. "IEEE Access Journal" is a multidisciplinary journal that covers all IEEE fields. The journal also expressly guarantees a review and publication time of 4 to 6 weeks. This feature can be a great interest as the papers on edge computing are being published with high speed. After "IEEE Access", "IEEE Internet of Things Journal" has the largest number of papers. The main area of this journal covers all aspects related to the Internet of Things including IoT system architecture, IoT communication, networking protocols, and applications such as smart cities, smart environments, smart homes, which are closely related to edge computing. Since no specific journal has yet been established to cover edge computing, this journal can be considered as one of the most specialized journals in the field of edge computing. The third journal is "Future Generation Computer Systems", which is one of the oldest and popular journals in computing, covering a wide range of computer systems. Another analysis in this section is the percentage of papers published in journals per topic. Given the thematic diversity of the studies on edge computing, analyzing this information can also help the searching process in a particular sub-topic. Fig. 11 shows the percentage of papers published in various topics for each of the pioneer journals. In this figure, the horizontal axis represents the journals, and the vertical columns represent the percentage of each topic publications in the corresponding journal. Because some papers may be categorized into more than one topic, the sum of the percentages in some journals may be more than one hundred. According to this chart, most of the papers published in “Future generating computing systems” and “Sensors” journals are related to security and privacy. The network management topic has higher percentage in “Journal of Network and Computer Applications”, “IEEE Journal on Selected Areas in Communications” and “IEEE Transactions on Wireless Communications” journals that focus more on computer networks. Resource management topics, which can be considered as the most challenging topic in this area, also account for the highest percentage of published papers in most of the journals. The geographical distribution of research is another analysis that is discussed in this section. Familiarity with this information helps researchers to identify the pioneer countries in various fields of edge computing. The data in the (cid:1845)(cid:1873)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2869),(cid:3021)(cid:2869) was used to produce the statistics. Table 14 shows some of the contents of this file. Given that in each paper, different authors from different countries may have participated, so in this SMS, the criterion for determining the geographical location of authors is the countries mentioned in their affiliations. Fig. 12 illustrates the percentage of participation of different countries in the reviewed studies. In this figure, the top ten countries with the highest number of papers are shown. The countries with low frequency are categorized in the ‘Other’ category. Information on the number of papers published from other countries is available in the (cid:1845)(cid:1873)(cid:1868)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2872),(cid:3021)(cid:2875) file. As shown in Fig. 12, China accounts for the bulk of published papers in edge computing (about one-third). There are several reasons for this observation. One reason is the existence of densely populated cities in this country, and the popularity of using smartphone among the Chinese people. Up to the end of 2018, China, with 850 million smart mobile users, had the largest number of mobile users among different countries, and this number is more than double the number of mobile users in the second country (India) [35]. This fact increases the need for new technologies such as 5G, and ultra-dense networks to cover users' access to the data network. Also, the need for edge computing to improve the user’s QoS is increasing. The Chinese, on the other hand, are pioneers in using technologies such as IoT, smart homes, and mobile applications based on artificial intelligence [22]. Various technologies including semantic analysis, speech and image recognition, have been
Authors C O R M N M A r S & P D M E c S U M F. Richard Yu
7 13 5 2 1 6 1 17
Victor C. M. Leung
8 10 4 4 1 5 - 17
Yan Zhang
9 11 2 5 3 2 2 16 apidly deployed in the Chinese smart phone market. Ownership of various smart home-related products in China is also much higher than the global average [22]. Since the operation of these technologies and applications requires fast processing with low communication delays on edge resources, edge computing has received much more attention from Chinese researchers. After china, the United States, Canada, Australia, South Korea, the United Kingdom, Italy, India, Spain, and Japan have the highest number of papers, which are often the most high-tech countries in the SCImago Country Rank [36]. The final analysis in this section is about the keywords and common terms in the field of edge computing. Knowledge of keywords and common terms gives researchers a better perspective on the subject and helps them for better investigation. For this analysis, the observed keywords in the keywords section of all papers are collected. For some papers that do not have a keyword section, some keywords related to the content of the paper have been proposed by an expert. In Fig. 13, a cloud diagram of the keywords with the highest repetition is shown which represents the most common terms in this field. The larger the word, the more repetitions it has. For this analysis the information of “Author keyword” column in (cid:1845)(cid:1873)(cid:1868)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2869),(cid:3021)(cid:2869) is used.
Fig. 9. Active Journals in Edge Computing
Fig. 10. Active Authors in the Field of Edge Computing
Table 14. Sample of Affiliations
PID Authors Affiliations JID Year 4
Xumin Huang; Rong Yu; Jiawen Kang; Yan Zhang; Xumin Huang, School of Automation, Guangdong University of Technology, Guangzhou, China; Rong Yu, School of Automation, Guangdong University of Technology, Guangzhou, China; Jiawen Kang, School of Automation, Guangdong University of Technology, Guangzhou, China; Yan Zhang, Simula Research Laboratory, University of Oslo, Oslo, Norway; 11 2017 Meng Li; Liehuang Zhu; Xiaodong Lin; Meng Li, School of Computer Science and Technology, Beijing Institute of Technology, Beijing, China; Liehuang Zhu, School of Computer Science and Technology, Beijing Institute of Technology, Beijing, China; Xiaodong Lin, Department of Physics and Computer Science, Wilfrid Laurier University, Waterloo, ON, Canada; 5 2018 Changsheng You; Kaibin Huang; Hyukjin Chae; Byoung-Hoon Kim; Changsheng You, Department of Electrical and Electronic Engineering, The University of Hong Kong, Hong Kong; Kaibin Huang, Department of Electrical and Electronic Engineering, The University of Hong Kong, Hong Kong; Hyukjin Chae, LG Electronics, Seoul, South Korea; Byoung-Hoon Kim, LG Electronics, Seoul, South Korea; 28 2016
Fig. 11. Percntage of Publications in Each Topic for the First Ten Journals C. What are the core research topics in the field of edge computing?
In this section, existing research scopes in the field of edge computing are discussed. According to Fig. 5, these scopes are organized as topics and sub-topics in the built research tree. If the subject of some studies overlaps, they are categorized into more than one topic. There is also a sub-topic named miscellaneous, which includes miscellaneous fields that do not fit into any of the sub-topics. In the following, each topic, along with its sub-topics, is explained Computation Offloading
This research topic includes papers whose innovation is precisely in the field of offloading. This topic has received the second most attention from the research community after resource management topic. MDs often face severe limitations on CPU, memory, and battery life. Offloading is one of the critical parts of edge computing, allowing users to run heavy applications on MDs through edge resources. The goal of offloading is mainly to speedup task execution, power saving, or both of them. The destination of offloading in various applications is the remote cloud resources, edge resources, or a combination of them (collaborative offloading). Using cloud and edge resources require network communication. Therefore, in the case of network instability, using collaborative offloading is a good option [37]. It should be noted that papers that only use the cloud resources as a destination (like [38]) do not fall within the scope of this SMS. These papers are generally in the field of MCC (Mobile Cloud Computing). In the following, the offloading research sub-topics are explained a) Decision making
This sub-topic includes those studies in which a user has different choices for offloading and therefore has to make a decision. The decision-making problem, which plays an essential role in balancing the user's benefits and reducing the offloading overhead, has been expressed and resolved in various forms in the studies. In some studies, the issue of deciding between the three options of local execution, execution on limited resources available around the user (cloudlets or edge devices), or execution on unlimited remote cloud resources with high access latency has been raised [39, 40]. If it is possible to connect to other users' devices through the MANET network, it can also be considered as another offloading option [41, 42]. The issue of decision-making can also be raised about choosing from multiple resources of the same provider that are available close to the user. This type of decision-making is more common in ultra-dense networks where a user may have access to multiple macro or small cell base stations at the same time [43, 44]. b) Mobility management
Mobile edge computing is built based on cellular networks, and wifi access points, so mobility is an inherent feature, and an important factor in distributed cloud computing, and edge computing. User mobility can cause failures in offloaded requests. Therefore, it is necessary to design a suitable mechanism for mobility management to improve the QoS in edge computing applications. In the reviewed papers, various solutions to overcome the mobility issue are presented. The most important of these solutions are the methods of predicting mobility and user path [45, 46], modeling the user mobility using Markov chain [47], and movement pattern analysis [48]. User mobility and limited coverage of edge servers may lead to reduction in performance, service continuity and consequently, QoS violations. In this case, service migration is considered as a suitable solution, which will be mentioned in the topic of resource management. c) Partitioning
Another branch of research in the computation offloading topic is partitioning. Partitioning means splitting computation tasks or data to execute separately on different devices. This allows for parallelization, and helps run applications more efficiently. A critical issue in partitioning is the type of computational tasks. In general, two common models of binary tasks and partial tasks are considered in the researches [49]. Binary tasks have a high degree of integration, and are not
Fig. 13. Main Keywords in the Field of Edge Computing
Fig. 12. Geographical Distribution of Publications ecomposable; hence they must be run entirely on one resource. On the other hand, partial tasks can be broken down into smaller tasks, and can be executed in parallel. Partitioning of a task can be performed by breaking the code, and executing independent processes, and components in different resources [50] or breaking input data into different sections [51]. Partitioning can be done based on various criteria such as energy [52, 53] or resource efficiency [50]. d) Computation Migration
Computation migration involves the dynamic transfer of computing (in whole or in part) from UEs to near or remote sources. Some examples of these methods are the system VM method in cloudlet [54] and ThinkAir [55], application-level virtualization in MAUI [56], and imitation of ISA commands in [57]. In the method proposed in [54], the user application in the form of a VM is migrated from the UEs to a resource at the edge. This method includes the entire VM with the program, which has more overhead than other methods [57]. In MUAI, application-level virtualization has been used to reduce overhead. In these methods, some parts of the code, such as functions or classes that need to be offloaded, are specified by annotation and offload using application-level virtualization like dalvik VM in android [58]. In the ISA imitation method (process migration), the amount of data to be offloaded is very less as compared to VM and application-level virtualization. Due to the difference between the architecture of mobile devices (usually with ARM) and the architecture of servers (generally Intel), Instruction Set Architecture (ISA) emulation is required while offloading process state between heterogeneous processors[57]. Resource management
Resource management is almost the most critical issue in edge computing. Therefore, in the reviewed papers, it has attracted the most attention from the research community. Resources in edge computing can be divided into three categories: computational resources, storage resources, and network resources. Unlike cloud resources, these resources are available to users in a heterogeneous, limited, and distributed manner. These resources are also more dynamic than cloud resources, and in some cases, are distributed competitively among users [25]. Resource management in edge computing refers to a set of control processes for allocation and retaking resources to user tasks or requests according to various criteria such as latency, cost and energy. The most important research subfields in this topic are resource allocation and scheduling, migration and placemen, load balancing, resource estimating and utilization, and resource sharing, which are described below. a) Resource allocation and scheduling
Resource allocation and scheduling include mechanisms that allocate resources appropriately, and at the right time to specific tasks or requests. This allocation must be made under existing criteria and constraints. Improper resource allocation may lead to resource efficiency reduction, violating the energy constraints, or missing user deadlines. In the reviewed papers, scheduling methods have been used for several cases such as performing tasks execution on VMs [59] or containers on edge [60], assigning user sessions to application samples [61], running services on edge resources [62], and network resource allocation [63]. One of the most important parts of a resource management system in edge computing environment is the resource discovery procedure which plays an important role in the performance of edge applications [64]. The resource discovery process refers to techniques that allow applications to find resources, services, or devices in the increasingly widespread environments of edge computing. In other words, a resource discovery process, like a broker, establishes the relationship between applications with data and processing resources [65]. Resource discovery processes must have features and capabilities such as managing and handling complex resource descriptions, query patterns, knowledge of dynamic environments, changes in resource status, and high scalability to cover a wide range of resources in the network [66]. b) Resource migration and placement
A placement algorithm is responsible for selecting a proper place for things such as a service [67], a VM [68], and computing resource [69]. Live migration also refers to the transfer of a VM from one host to another without interrupting the VM service [70]. These two processes are usually done proactively (offline) and reactively (online) [71]. In a proactive method such as [72], multiple versions of the service are already placed on different hosts. Reactive methods such as [69] are dependent on user mobility and due to this mobility, the most suitable edge node is selected for the migration or placement process. User mobility, path uncertainty and the dynamics and heterogeneity of resources at the edge of the network have caused the edge resource placement and migration to be more complex than cloud computing [73-75]. c) Load balancing
A load balancing mechanism tries to distribute the load evenly between the nodes, and prevent the load from concentrating on one or a few nodes. This directly affects the reduction of users' response time [76]. Because edge computing is based on a distributed platform and computational nodes are located in different geographical locations, the issue of load balancing is one of the main problems in this field. In the reviewed papers, load balancing problem is mostly solved by creating and distributing different versions of a program or a service on fog nodes [77] or different cloudlets [78, 79], and then sending data and requests to these nodes based on the amount of load. d) Resource sharing
Resources sharing is a solution to overcome resource constraints at the edge of network, UE's limited resources. Generally, resource sharing deals with three issues: 1- the lack of a specific type of resource in the UEs to perform a task, 2- he lack of sufficient resources in the UEs, and 3- the use of other resources to speed up the completion of a job [11]. Resource sharing can be done between UEs through technologies such as D2D introduced by 5G, Mobile ad-hoc, Wi-Fi, and Bluetooth, or by creating clusters between edge resources. In resource sharing between UEs, network, computing, or storage resources are shared for faster, more secure, and better execution. For example, to improve network reliability, edge devices can use not only their communication resources, but also the heterogeneous network resources of other UEs to meet the QoS requirement. Using the resource sharing technique at the edge can not only increase resource efficiency, but also make it possible to run heavy applications [80]. e) Resource estimation
This sub-topic reviews papers related to resource estimation, one of the first steps in resource management. Resource estimation is a process that tries to predict the number of resources required to complete a task or overcome a computational load. Resource estimation is also an important process for dealing with fluctuations of resources requisition, and ensuring QoS [81]. Proper resource estimation brings efficiency, and fairness in resource management [82]. f) Resource utilization
Resource utilization refers to optimizing resource usage based on relevant criteria such as time, energy, and cost. In most studies, two or more of these criteria are considered simultaneously. Resource usage optimization is often done by modeling the resource provisioning and consumption process with common optimization methods. The most widely used methods are linear programming [83], PSO [84], Lyapunov [85], game theory[86], heuristic [87], and metaheuristic [59]. Architecture
A portion of the reviewed papers in edge computing has provided an architecture for performing distributed computations on edge resources, or has added capabilities to common edge architectures. Therefore, architecture is considered as a separate research topic in this field. The purpose of the papers presented in this topic is to determine the architecture components, and interaction between them to provide new capabilities or facilitate the implementation of specific applications. The researches of this topic are divided into two sub-topics: Application-specific architecture and General-purpose architecture, which will be explained in the following. a) Application-specific
This sub-topic includes researches that provides an architecture for running a specific application in edge computing environment. Since different applications have different features and requirements in terms of resource supply or network traffic, in some researches a series of modification at the infrastructure or the topology of elements in the edge architecture have been done to support a special application requirement. Among the researches in this sub-topic, we can mention the presentation of architectures for healthcare applications [88], crowdsensing applications [89], and applications of automated monitoring systems [90]. b) General-purpose
This research sub-topic is about designing an all-purpose architecture that provides a basic configuration for distributed edge computing. In these studies, the goal is to create a novel or modified architecture according to new criteria, or to add new capabilities to previously known architectures. Examples of these studies include providing an architecture for agreement and consensus between nodes on a particular community [91], trust evaluation [92], reducing energy consumption [93], and providing an architecture based on blockchain for security [94]. In the field of edge computing, various architectures have been proposed to take advantage of close resources. The most well-known, and widely used architectures are fog [64], cloudlet [54], mobile edge computing [95] (also known as Multi-access edge computing), and mist computing [96]. Although these concepts have some similarities, and are sometimes used interchangeably in papers. But there are some differences between them. Fog computing architecture uses devices around the user, from servers and computers to routers, and switches on the edge of the network, to process or pre-process before sending a request to the cloud. In fact, this architecture is a hierarchical architecture in, which all the processing capacities available in the user path to the remote cloud are used [23]. The cloudlet architecture includes a high-power computer or cluster of computers near the users [54]. Surrounding MDs can use the resources available in the cloudlets (often virtualized, and provided in the form of a VM) to increase their processing power. Cloudlet operators can be cloud service providers who intend to provide their services close to the user [23]. MEC is the development of mobile computing through edge computing which IT, and cloud computing capabilities are provided through RAN (Radio Access Network) in 5G and 4G [97]. In this architecture, edge computing services (processing, storage, and network) are provided through the infrastructure of telecommunication networks. This paradigm was further developed to cover a wider range of applications (beyond the specific tasks of mobile phones) under the name Multi-access Edge Computing [35]. Finally, the concept of Mist computing is a computational model for performing scattered computing at the most end nodes, i.e., the IoT devices themselves. Since this architecture is managed by the devices themselves, it has more complexities than other architectures [96]. Network management
One of the most important foundations in the edge computing is the network management issue. This research field focuses on optimizing parameters related to network infrastructure, and applying technologies and capabilities of new generations of cellular networks to edge computing paradigm. Also, this topic covers all aspects of modifying the current standard network architectures to adapt to the edge computing capabilities. In the eviewed papers, various researches in the field of network management have been observed. Several research sub-topics in this category have been classified, which are often based on standard network technologies. In the following, each of them is explained. a) Access Control
In area of communication, we have two well-known concepts: network access architecture and multiple access schema. Conceptually, the access network such as the RAN (Radio Access Network) connects a mobile device to its core network (CN) by residing among themselves. On the other hand, a multiple access schema (also called channel access method) such as NOMA (non-orthogonal multiple access) uses multiplexing to share a communications channel or physical communications medium between multiple users [98]. In reviewing the studies, the literature on these concepts was examined in a single topic and described below. (1)
Access network architectures
Radio Access Network (RAN) is a famous architecture in mobile and cellular networks that have evolved with the advancement of generations of mobile communications. Conceptually, it connects a device such as MD or a computer to its core network (CN) by residing between them. RAN network is consists of a set of base stations (BS). Each BS, depending on its transmission power, covers a specific area and is separated into a Remote Radio Unit (RRU) for radio functionalities and Base Bound Unit (BBU) for baseband processing and channel processing. The data transmission between RRH and BBU are done with Common Public Radio Interface (CPRI) [99] Cloud-RAN (C-RAN), is a version of RAN in that has the potential to handle as many BS as the network needs using the concept of virtualization. In C-RAN, the BBUs is virtualized and shared among operators in centralized BBU pool [100]. In Fog RAN (F-RAN) architecture, the central computing in C-RAN is transferred to the edge of network. In this architecture, a fog node has the ability to cache contents and provide computation capabilities. This concept was first introduced by Cisco to exploit local signal processing, and computing, collaborative resource management, and distributed storage and caching at the edge of network [64]. Since then, a part of the research in the field of edge computing has focused on combining the MEC with this technology. Research in this area has often focused on designing new F-RAN-based architectures for resource management [101, 102], adding mobility management mechanisms [103], or providing methods to increase resource efficiency [104, 105]. (2)
Multiple access schemas
Two well-known Multiple access (MA) schema in wireless communication systems are NOMA and OMA. The main difference between OMA and NOMA is that in OMA bandwidth is divided between UEs based on frequency (such as FMDA), time (TDMA), or code (CDMA). But in NOMA, the bandwidth will be divided fairly between the UEs [106]. For example, With OMA, connecting thousands of IoT devices, such as vehicles in vehicular ad hoc networks for intelligent transportation, requires thousands of bandwidth channels; however, NOMA can serve these devices in a single channel use. An important phenomenon in NOMA networks is that some users with poor channel conditions will experience low data rates. NOMA is one of the most promising radio access techniques in next-generation wireless communications, i.e., 5G [107]. Cognitive radio (CR) is a form of wireless communication in which a transceiver can intelligently detect which communication channels are in use and which are not, and instantly move into vacant channels while avoiding occupied ones. NOMA is special case of CR [108]. a) Network abstraction and Orchestration
This sub-topic is related to researches that take advantage of Software-Defined Networking (SDN) technology in edge computing environment. SDN is a centralized network configuration architecture that enables centralized programming, and control of network traffic. In this network configuration method, the control plane is separated from the data plane, and is managed by a central module with a global view of the traffic, and the overall state of the network. Network Function Virtualization (NFV) is a technology that is usually used as a complement to SDN. NFV refers to the process of virtualizing the network equipment functions, in which networking functions are performed on computing resources such as VMs or containers located in the cloud or at the edge of the network. The use of these two technologies rapidly change the development of network functions and the evolution of network-based architectures. They brought valuable benefits such as cost reduction, increasing network flexibility and scalability, and reducing the time-to-mark time of new applications, and services [109]. The decentralized feature of edge computing environment is one of the inherent and main issue that causes several problems for computing, storage, security, and traffic control. The use of centralized control, and decision-making capabilities, and programmability in SDN has led this technology to be widely used in edge computing researches. These solutions include use of SDN in resource management [109], cloudlet management [110], traffic control [111, 112], and mobility management [113]. b) Traffic management and engineering
This research sub-topic is related to traffic modelling optimization, and engineering in edge computing, which is one of the vital processes in networks. One of the prominent features of edge computing is heavy traffic at the edge of network due to the high volume of user requests for different services. Therefore, a portion of the researches in the field of network in edge computing has focused on traffic management and engineering. Traffic engineering is a mechanism for optimizing network resources, and providing the requirement of services by allocating bandwidth and selecting the route of traffic in the network [114]. In the reviewed papers, the video streaming applications were the frequent applications in the ield of traffic management, and engineering [114, 115] as the traffic related to video streaming services account for the largest part of network traffic [116]. c) Slicing and Overlaying
Network slicing is a technology that has been proposed to meet various applications, and different business models in 5G. This technology has been highly regarded in the academy, and industry. The concept of network slicing is the division of physical network infrastructure entities into isolated logical network components with appropriate functions, which is done to meet the different application requirements. Each of these network components is used for a specific purpose or service [117]. As the requirements of edge-based computing services are highly diverse, network slicing is a flexible, and promising solution to meet the needs of various services [118]. In the reviewed papers, the network slicing technique has been used for various purposes such as separation of MEC services from traditional services [119], division of computational resources by considering the energy criterion for various services requested by users [120], and providing application-based QoS [121]. Overlay networks provided the first form of network slicing since heterogeneous network resources were combined together to create virtual networks over a common infrastructure . Ad-hock network Ad-hoc networks, i.e., VANET, M2M, D2D and etc., are a particular form of networks that can be created on-demand. Any node (i.e., vehicle or UE) in such an infrastructure can act as an edge node and provide computing, communication, and storage capabilities to others. For instance, a VANET network architecture consists of vehicles with computing, and communication capabilities that often travel on a standard route (streetsor roads). A VANET network can provide an infrastructure for providing services similar to the Internet network through collaboration, and data sharing between vehicles [122]. These services include traffic management, emergency response services, entertainment, theft detection, and law enforcement [123]. However, the existence of challenges such as high-acceleration mobility, the short duration of connections, and the general and unreliable environment, encourage researchers to work in this area. Lightweight and efficient mechanisms for security and access control [124, 125], efficient content sharing management [126], and mobility management [127] are some examples of these works. Security & privacy
Like any other infrastructure, edge computing is not devoid of aggressive and hostile agents. Edge computing is based on a distributed and almost unreliable platform. Therefore, security in edge computing has been considered at various levels in the literature. The most critical security issues in this field are the design of access control mechanisms, privacy-preserving, trust management, and attack prevention, which are explained below. ` a) Access control
The purpose of access control is to design a mechanism for monitoring and ensuring that data is accessible only to authorized people who have access permission. Access control is an important security feature, especially for the applications that are related to user data, such as storage applications. Attribute-based encryption is one of the well-known techniques for providing access control which has a significant encryption/decryption computation overhead. Some researches focus on reducing this overhead through outsourcing the encryption/decryption computation to edge servers [128-131]. The blockchain technology, which has recently attracted the attention of researchers in a wide range of industries, is also considered in the researches of this area. [94, 132] are some examples of these works. b) Attack detection
In edge computing, various attacks can be imagined in different levels of the network or application that can cause damage to varying degrees. The purpose of this research sub-topic is mainly to prevent or identify these attacks. The "Man in the Middle Attack" [133], "Selective Forwarding Attack" [134], and "Data Injection Attack" [135] are some examples of common attacks in this field. c) Trust evaluation
Trust value measurement among the components of a community is one of the security features that is considered in detecting attacks and securing systems. Determining the degree between pairs has particular importance in edge computing due to the existence of low-reliable heterogeneous edge nodes. Therefore, several studies have been conducted in the field of trust in edge computing [136-138]. Among the applications considered in this field, we can mention social networks in which trust has always been considered. In these networks, trust can be verified by a user, a service provider, or by observing a connection between two entities [139]. d) Privacy
Most of the edge computing applications are inherently based on content uploading. Therefore, the probability of threatening users' privacy is high. This issue has received more attention in personal data-driven applications like crowdsensing [138, 140] and healthcare applications [42, 141]. In Healthcare applications the health-related data of the users which are measured by wearable sensors are sent to the nearby edge servers to be analyzed. In Crowdsensing applications, the sensed data of volunteer user devices are collected to be used in a specific application. In both of these scenarios the private user data may be accessible by the application providers. Another common private user data that can be violated through edge computing applications is the user location which is used for navigation or map-based applications. The user location privacy preserving has also received more attention in edge omputing researches [142, 143]. Data management
With the advent and expansion of IoT and the dramatic increase of smart devices that generate data, data management has become one of the most critical issues in the field of edge computing [144]. Therefore, in recent years, much attention has been paid to providing efficient methods for data management. These methods include collecting, storing, caching and processing data. So far, these operations have been done in the remote cloud with good quality. But in recent years, with the increase in data volume, and bandwidth limitations of backbone network, this will not be possible. Edge computing is a right solution for this problem, in, which data is sent to the nearest edge equipment instead of the remote cloud. After reviewing the papers in this field, several research sub-topics were identified, which we will explain below. a) Caching
This sub-topic includes researches related to network edge caching. Caching is a well-known technique to speed up data access, which reduces the load of the backbone networks, and improves the quality of the user experience in the edge. In this technique, frequently used data traffic such as news, weather, videos, and popular contents are cached at the edge of the network. As a result, the load of the backbone network and the content access delay is reduced for users. Besides, the use of this technique can be significantly effective in increasing performance [145]. One of the most common issues in caching is predicting the popularity of content that should be cached [146]. In the reviewed papers, various methods have been used to solve this problem, such as learning methods [147], location utilization [148], and methods based on social networks [149, 150]. Caching can improve the performance of computation offloading in wireless networks. The goal is to cache the result of computation and avoid to process the same task [151]. b) Data analysis
Many services, and applications related to the IoT field, including smart city, smart transportation, healthcare etc. are working based on data. Data collected from UEs or sensors must be sent to data centers for analysis, and knowledge extraction. One of the typical applications in edge computing is performing all or some parts of the data analysis operations at the edge of network. This reduces the amount of data sent to data centers, and speeds up the users request response time. Data analysis is performed for different purposes at the edge from simple analyzes such as data aggregation and preprocessing, matchmaking, and filtering [152-154] to more complex data mining applications[155]. The use of big data techniques such as stream processing, and their adaptation to edge infrastructure has also been considered in this area [156, 157]. c) Data distribution
With the advent of new applications, storing data in the cloud is practically inefficient due to high traffic between the user and the cloud, high latency, and cost [158]. Due to the limited storage resources available at the edge compared to the cloud, the distribution of data between partner devices at the edge can solve this problem. Node mobility and determination of the geographical location of data are significant challenges that should be considered in this field. In [126] the authors present an architecture for distributing large volumes of data across automotive networks for content sharing. In most CDN applications, including [159, 160], content placement is a challenge that deals with distributing content appropriately between resources and devices at the edge [159]. d) Data dissemination
Data dissemination refers to the mechanisms that determine the optimal path for data transfer. Data dissemination can occur between UEs, between nodes at the edge of the network, and between edge nodes and remote cloud. In [161], the a k-means clustering algorithm was used to transmit data thorough longer distances but with less energy consumption in a LPWAN network. In this research, devices were placed in different clusters based on traffic priorities. In [162] to solve the problem of high data costs and reduce the traffic between fog and cloud nodes, a combined data propagation framework using SDN and DTN is presented. In this framework the control plane is resided in the cloud, and the data plane is resided at the fog nodes. e) Data replication
Data replication is one of the most common techniques in cloud computing, in which a set of data is stored in different data centers with different geographical locations to improve availability and reliability [163]. This method is also used in edge computing. Applying this technique in edge computing can improve the access speed, QoS, and bandwidth consumption [164]. However, replication mechanisms designed for the cloud may not be appropriate for edge servers due to limited resources and varied traffic in edge RANs. Thus, new replication methods are needed for the edge computing paradigm [165]. Economics
This topic includes researches in, which economic aspects are considered along with other criteria. By comparing the number of papers published in this section, it can be seen that this field of research has the lowest number of papers and many research opportunities in this field can be imagined. In the papers reviewed in this field, economic theories have been used to increase resource productivity, maximize profits, and creating a fair environment between providers and customers. The main economic research problem in edge computing is pricing that deals with issues such as designing mechanisms for determining the price of resources, and setting penalties for violation of the guaranteed QoS. In general, pricing is a strategic issue between the supplier and the buyer. The supplier seeks to increase resource productivity and profit, and the buyer seeks to minimize the cost as long as the time and energy constraints are met. Therefore, in the reviewed papers, matching and game theory techniques have been widely used. he most commonly used game theory techniques are stackelberg game [166, 167], coalition game [168, 169], and market game [170, 171]. One of the well-known and widely used pricing techniques in the edge computing environment is auction-based pricing. The limitation of edge server resources and the fluctuation of user requests, which may create a competitive environment especially at peak time. Auction is one of the most common ways to allocate resources efficiently and fairly in such cases. In an auction, there are two main agents: the seller, and the buyers. Typically, in edge computing, buyer agents are mobile users, and seller agents are service providers or cloudlets. In some cases, the mobile users themselves can also appear in the role of the seller[172]. A buyer agent sends a request with a bid price when he/she need to get a resource. Next, the sellers select the buyers based on the offered bid prices, and provide the resources to the winner buyers. Items auctioned in edge computing can be merely processing resources [173, 174] or processing, and communication resources together [175, 176]. D. The distribution of applications in each research topics
In this section, we examine the applications in which edge computing is most commonly used. Furthermore, the distribution of applications in the topics of edge computing has been investigated. It should be noted that in this SMS, papers that introduce their innovation in general and do not limit it to a specific area, are reported in the General category. Also, papers with very few repetitions that cannot be added to any of the existing classifications of applications, fall into the Other category. The other and General categories have been neglected in the comparison between applications, in order to emphasize on researches with specific applications in more depth. presents the distribution of applications per topic. In the following, the researches in some of the most frequent applications are reviewed with examples. More examples can be accessible in (cid:1845)(cid:1873)(cid:1868)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2872),(cid:3021)(cid:2876) . IoT Applications
In all topics, IoT applications have the highest statistics. In the Internet of Things (IoT) paradigm, a huge number of heterogeneous objects or things (such as sensors or actuators) are interconnected and connect to the internet in order to enhance the efficiency of the applications such as smart city, smart home, and manufacturing [1]. In recent years, IoT as a growing technology has received much attention and has been used in many applications. However, the increasing volume of data collected by sensors and other devices used in this environment has made it difficult to process data on IoT resources, which typically have low memory and CPU power. Initially, cloud computing was recommended as a solution to this problem, but it also had some drawbacks. Bandwidth and latency issues in sending and receiving data are the most critical barriers to cloud computing in IoT applications [2]. Therefore, edge computing has been considering as a suitable solution. Edge computing can overcome the problems resulting from the network and its latency by sending data to computing resources at the edge of network.
Table
15. The Distribution of Application per Topic
As can be seen in Table 15, papers in the IoT category are mostly classified into the resource management, security, and computation offloading topics. There is certainly a correlation between the limitations of IoT devices and the techniques introduced in these topics to overcome the limitations. The security of the collected data and its safe transmission and processing is the concern of some studies. Examples of researches that seeks to address the challenges of offloading in the IoT applications are: optimizing the offloading process and migrating users' workloads to edge servers based on the density of IoT devices[177], considering user mobility during offloading to edge servers[178], providing solutions for offloading users' calculations without a central authority, modeling competition between users using game theory [179], and managing offloading tasks with more than one offload destination (such as fog and cloud), known as the hybrid computation offloading problem [180]. Among the solutions used for the offloading topic, heuristic methods [177, 180, 181], learning techniques [182-184] and game theory [39, 185] can be seen frequently. The most important QoS criteria in this topic are energy and time. Efforts have also been done to protect privacy [182, 186, 187] and to increase trust [136, 137]. Besides, 5G technology has been utilized for communication in many studies [177, 188, 189] on this topic. As shown in Table , the number of researches proposing IoT applications in the resource management topic is significant. Efficient assignment of resources to a large number of mobile users to optimize time and energy [171, 190-194], allocation of E c . S & P N M A r . D M R M C O Topics
Application IoT Smart Community (Including Smart City, Smart Home, Smart Grid, Smart Factory) Healthcare Streaming Vehicular Data Analysis Industrial
63 88 Other (AR, VR, IoE, Crowd Sourcing, Social Network, Image Processing, Wearable, Game, etc.) General
Second-Max Application per Topics
First-Max Application per Topics imited resources and wireless bandwidth between users [192], allocation of resources to multiple tasks and heterogeneous IoT devices [195], VM placement [196, 197], and scheduling tasks on edge resources [74, 156, 197-200] are all examples of these researches. Heuristic techniques [153, 201-204] and learning methods [205-209],…] are used more than others in these papers. Time [142, 201], energy [190, 202], and productivity [210] are the most essential QoS criteria. SDN technologies [191, 211] and RAN [205, 212] are some of the most important technologies used in these researches. Some frequently examples of IoT applications in the data management topic include analysis of data collected by IoT sensors [213, 214], predicting user behavior (movement and activities) in MEC environment to cache popular data at the edge of the network, in order to reduce the network traffic and service delay of IoT applications [207] and the introduction of mobile crowdsourcing mechanisms at the edge of network using IoT devices [215]. Similar to the previous topics, heuristic methods have been most utilized in this topic [216, 217]. Besides, learning methods [209, 218] and neural networks [219, 220] have also been used occasionally. Time [214, 221] and utilization [148, 207] are the most common QoS criteria in this category. Interesting researches have also been done on IoT applications in the architecture topic. Introducing architectures compatible with IoT services at the edge of network [222, 223], providing a suitable architecture for integration and coordination between SDN and IoT and prioritizing heterogeneous applications at the edge of network and upgrading it to 5G [224], and proposing architectures to support QoS criteria (accessibility, security, scalability, trust, etc.) are the most frequent examples in this category of researches [223, 225]. The studies that have researched security in this category have often focused on security attacks [94, 226]. Similar to the previous topics, time is the most crucial quality criterion here [179]. IoT applications in the network management topic can be classified into two main categories. The first category is studies that model QoS features (such as cost, performance, connectivity, and privacy) in general edge computing networks architectures such as the fog. The goal here is to prepare and configure the environment as much as possible to connect a large number of IoT devices [227, 228]. The second category is papers that attempt to provide a form of IoT network architecture adapted to specific applications by leveraging network technologies such as SDN, 5G, and NFV [110, 229]. The ultimate goal of this category of research, like the first one, is to improve some QoS metrics like scalability, time, and mobility. Like the previous topics, heuristic techniques have been very widespread in these papers [203, 224]. Also, some papers used game theory techniques [229, 230] and learning methods [231, 232]. The most important QoS criteria are time and energy [224, 232]. SDN [233] and 5G technologies [234] have also received more attention than others. Several papers have attempted to prevent attacks [94, 235]. The number of IoT application papers in the security topic is in the second rank compared to the others. This shows the importance of paying attention to the security aspects of IoT. The most significant efforts in this field include the detection of attacks in IoT environment [94, 235, 236] preserving the privacy of data collected by IoT devices when transferring or storing to/on the edge servers [187, 237, 238],assessment of trust between IoT devices and the edge [136, 137, 239], and access control at the edge of network [186, 240]. Heuristic techniques have been utilized more than others to optimize QoS criteria [94, 137] and resource allocation while preserving security [237]. The small number of papers focusing on economic topic indicates the need for more research in this area to address related challenges such as the use of pricing mechanisms along with resource allocation methods [171, 241]. Vehicular Application
Vehicle application covers all efforts to enhance vehicle performance using edge computing. With the ever-growing advanced applications in the field of intelligent transportation, challenges have emerged to meet the communication and computation requirements [242]. Many vehicle applications, such as autonomous driving or traffic management, require specific processing, storage, and communication capabilities. Communication in these applications must be done in real time. Therefore, the idea of using edge computing to meet the requirements of vehicles was soon exploited. The rank of vehicular applications in all topics, except for architecture topic, are jointly second. Edge computing with features such as presence near the user, low latency, high mobility support, real-time communication, context-awareness support, and low development costs is an excellent solution to meet the requirements of vehicular applications [243]. Researchers amaze vehicle drivers with useful applications in various fields such as traffic management [244, 245], parking reservation [246], and more. They try to overcome the processing limitations of vehicles by utilizing the latest available technologies. So, it is rational that edge computing, cloud computing and IoT as one of the most advanced technologies have attracted researchers. Communication requirements in the vehicular environment are challenging due to the mobility of vehicles. Therefore, responding to such needs by centralized architecture faces challenges such as decrease offloading performance [247]. Overcoming the processing limitations of smart vehicles [248, 249], overcoming the offloading delays in VEC [249, 250], and task offload to vehicular cloud [251, 252] are the most important on the offloading topic. Heuristic and metaheuristic techniques have been used more than other techniques in this category [252, 253]. Time has been the most frequent QoS criterion among the researches here. As shown in , the number of papers in the resource management topic of vehicular application is also significant. Some of the most important research paths in this category include the scheduling and orchestration of vehicle applications at the edge of network [61, 254], the optimal allocation of edge resources to the applicant vehicles to increase QoS [255, 256], and proposing a ehicular fog model [257, 258]. Like the previous topics, heuristic methods are the most widely used technique in this category [61, 254]. Also, linear programming techniques [259, 260] and game theory techniques [255, 261] have also been utilized in this category. Time and utilization are the most frequent QoS criteria here. Similarly, in the data management topic, the vehicular applications are in the second rank of frequency. Traffic management by analysis data [126, 220], data gathering and overcoming the storage limitation of vehicles [262, 263], proposing secure data sharing methods [264, 265] and overcoming the process limitation of vehicles with cache management [266] can be introduced as some examples of these type of studies. Learning techniques [267, 268] and heuristic methods [248, 269] are more common than the others here. Researches tried to optimize time and utilization frequently in these studies. The number of papers in the architecture topic is in the third rank among other application categories. Most of these studies have provided an architecture that fits the urban vehicular network. Among the problems that these proposed architectures have tried to solve are the use of limited network resources [270, 271], and the optimization of the caching process at the edge of network [127]. Heuristic methods [246, 272], learning techniques [272, 273], game theory [255, 261] and Markov chain [127, 271] have been the most widely used techniques in these papers. Papers in the network management topic also cover a wide range of issues. The most important of them are building a suitable network infrastructure for V2V and V2I communication [274], and analyzing VANET QoS metrics (like scalability, latency, efficiency, …) [275, 276]. Learning techniques [244, 276] and game theory [255, 277] have been used more than others in this category. As expected, VANET technology has been utilized more than others in this category [274, 277]. In addition, SDN technology has been used repeatedly [244, 270]. The most frequent QoS criteria in this category are time and utilization. The most significant vehicular application researches in the security topic are trying to solve challenges such as privacy protection of passengers and users in routing and sharing location processes [256, 278], preventing attacks in intelligent transportation systems [279] and proposing authentication methods in vehicular edge computing systems [278, 280]. Game theory [277, 280] has been used widely in these papers. There are only three studies cover vehicular application in the economic topic. Proposing an incentive mechanism for vehicles to share their resource [281], proposing an auction-based method for energy trading for Autonomous Electric Vehicles (AEVs) to optimize their battery usage [282], and developing a dynamic pricing strategy for vehicle assisted mobile edge computing system [283] are the aims of these papers. Smart Community
In this paper, we categorized all applications that have used artificial intelligence techniques to increase their capabilities in the smart community. The number of smart community papers in the architecture topic is in second rank. Examples of such papers include, managing smart city applications [284], connecting IoT tools to a smart hospital [285], and providing an architecture for big data management with a real-time manner for smart transportation applications [272]. All these architectures are edge/fog-based. Finally, many studies have proposed a general architecture which can be adapted for a specific application. These papers are categorized as General. Most of these researches are on the topic of resource management. In this topic, different types of resource allocation methods [286, 287], resource scheduling [288, 289], load balancing [65, 290] and VM management and migration [70, 291] are available. The rest of the researches are in the Other category due to minimal occurrence. E. The distribution of architecture in each topic
In this section, we statistically analyze the edge architectures used in different topics. Fig. 14, shows the frequency of utilization of different architectures by researchers. In this figure, the horizontal axis represents the topics, the vertical axis represents the architectures, and the volume of the bubbles represents the number of articles using the related architecture in the relevant topics. As mentioned earlier, the main architecture in edge computing includes fog, MEC, and cloudlet. However, in some studies on the field of edge computing, none of these architectures are mentioned and only the word "edge computing" is used. In this paper, we have examined these studies as general architecture and investigated them under the same heading as edge computing. As shown in Fig. 14, the cloudlet architecture has significantly lower publications compared to the other three architectures. Cloudlet architecture is one of the first and most important models for increasing the speed and quality of mobile devices, which provides cloud services to users more quickly by bringing servers and computing resources closer to mobile users. But the emergence of newer and more general architectures caused the research community to pay attention to other architectures. For instance, fog computing can offer a more generic alternative and allows resources to be anywhere along with the edge devices to the remote cloud [99]. Furthermore, due to recent developments in the field of mobile networks, operators are focusing on MEC as the main edge server technology instead of Cloudlets [292]. Another interesting point in the diagram is the difference in the number of publications of different architectures in each topic. The reason for this is the difference in the structure, features, and applications of each architecture. In the following, we discuss some of these features. In the offloading topic, a considerable number of researches have been done on the MEC architecture. Offloading is a well-known technique for reducing user device energy and increasing execution speed, so this technique has been widely used for mobile applications that face severe memory, processing power, and energy limitations. A significant portion of the publications in the offloading topic is about mobility management [45, 46], decision making [293], and partitioning [294, 295] for mobile applications, which are ostly conducted on cellular networks and MEC architecture.
Fig. 14. Architecture per Topics
Proposed solutions for computation offloading on MEC and edge mostly include heuristic methods [296, 297], game theory [298, 299], meta-heuristics [300, 301] and linear programming [302, 303]. Game theory is the most common method for offloading after heuristic methods. User mobility management when offloading computations [155, 304], suggesting offloading frameworks and artificial intelligence-based algorithms to improve QoS metrics (such as scalability, energy, etc.) [260, 305], deciding on the time and destination of computation offloading [306, 307], segmentation of computations before offloading [52, 308] are among the most important challenges of computation offloading. In the resource management topic, the number of publications in three main architectures has a high number. This observation is another reason for the importance of resource management in edge computing area. In the data management topic, the studies conducted on the MEC architecture is also less than the other two architectures. According to this study, MEC applications are mostly related to mobile applications and less used for IoT and data-related applications. One reason for this is the constraints on the location of the servers in the Mac architecture. The MEC architecture is placed on a RAN, in which the servers must be adjacent to the cellular network base stations, but in the other architectures, there is no such limitation [292]. So, in MEC architecture, it is not possible to bring servers closer to the data source. Another reason for the fog preference to MEC architecture in data management topic is the presence of cloud support in the Fog architecture so that, fog nodes can be used to pre-process data before sending it to the cloud for storage or analysis. In the architecture topic, the MEC had fewer publications than the Fog and edge architectures. As mentioned before (C.3)), the publications categorized in this topic are related to researches that are trying to increase the efficiency of a particular application or improve a general parameter by making changes in standard architectures. The MEC has a more rigid and well-defined structure than other architectures due to its envisioned existence in a telecommunications infrastructure that is inherently regulated [292]. So, the MEC architecture has low flexibility for structural changes. But in other architectures, there is more flexibility to make changes and apply new ideas. Most publications have attempted to provide architectures appropriate to the requirements of special-purpose applications such as smart city [309], healthcare [285], industrial [310], and vehicular [242, 311]. Efforts have also been made to provide suitable architectures for the integrated cloud and edge environment [159, 312]. Designing and developing appropriate infrastructure and edge computing protocols is one of the significant challenges in this area. The studies on the network management topic are mostly developed in the MEC and edge paradigms. Due to the large amount of data flowing in the network in such an environment that is full of IoT devices, many bottlenecks and congestion occur in the network. This will reduce the user's QoS [211]. Forecasts indicate that the number of connected IoT devices will be between 10 and 12 billion by 2021. Current network technologies and techniques are incapable of supporting such increasing growth. Researchers must make an effort to adapt the current networks to future needs and design and develop new management capabilities to meet future applications and services requirements. Edge and IoT orchestration [203, 233], SDN network orchestration with edge and IoT [224, 233], 5G edge energy management [313, 314], addressing the challenges of high processing latency, low mobility support and location awareness in SDN and NFV [250, 315] and traffic management at the edge [114, 316] are examples of challenges which fall into this category. Finally, in security and privacy topic, fog architecture accounts for the most portion of the publications. In fog architecture, unlike MEC, the fog nodes are not owned by a provider and are provided by independent individuals [292]. Because fog nodes are usually deployed in some places with relatively weak protection, they may encounter various malicious attacks [13]. Furthermore, devices in the Fog are often deployed without strict monitoring and protection [317]. Therefore, security issues in this architecture have received more attention than other architectures. Fig. 14 shows that, in general, the number of publications on the economic topic is lower than on other the others. However, the two paradigms of MEC and edge are more welcomed than others. This indicates the particular need for the edge computing environment to design pricing and auction models. In reviewed studies, most of the proposed economic and pricing approaches are for resource management [87] and offloading scenarios [318]. The use of game theory to create a competition between buyers and sellers while establishing fairness is more widely used than other techniques [166, 291]. Paradigms such as osmotic computing, mist computing, application-centric computing were also observed in the papers, which do not have significant statistics. For example, Sharma et. al. utilized osmotic computing to propose a trust management framework for social networks applications [139]. Rahman et al. proposed integrating five-tier cloud, fog, and mist computing environments for IoT applications in healthcare and ext-generation e-healthcare systems. Their proposed method aims at real-time handling and routing offline/batch data with high QoS and low end-to-end latency [319]. F. Techniques used in the field of edge computing
With the advent of edge computing, new challenges have emerged in the development and management of distributed resources. Transferring storage and computation to the edge of the network increases the QoS and QOE, especially in latency-critical applications. However, it is difficult to use heterogeneous resources efficiently to meet the various needs of the user. Optimal balancing of different servers with different capacities, user mobility, and inherent characteristics of the resources such as channel conditions, computing capacity and data storage make edge management difficult. In such a dynamic and complex environment, machine learning, artificial intelligence and big data techniques provide real-time predictability and intelligent decision-making to manage and control the system. Machine learning and artificial intelligence, with their increasing power, make edge-based systems more powerful. These methods can be widely used in the intelligent development of edge-based systems [267, 320], intelligent interaction between communication, computing and caching components [268, 306], creating a balance between cloud and edge [321], intelligent resource management [322], optimization of lag, energy, and cost [323, 324], intelligent computation offloading [42, 314], intelligent user mobility management [74, 323], intelligent load management and intelligent security and privacy management [205]. Fig. 15 shows the statistics of the use of different techniques in the field of edge computing. As illustrated in this figure, heuristic methods have attracted the most attention. After that, learning methods, linear programming and game theory have been the most utilized in papers. In this section, the features of these four techniques are reviewed that make them suitable for use in issues related to edge computing, and some examples of the papers that use these techniques are given.
Fig. 15. The Statistics of Learning Methods Heuristic techniques
Heuristic techniques are a right solution for finding near-optimal values in problems where full optimization is difficult and time-consuming. The term heuristic refers to a method which, on the basis of experience or judgement, seems likely to yield a near-optimal solution to a problem [325]. These techniques begin with a well-defined mathematical representation of a problem [326]. Since time is one of the most essential QoS criteria in edge computing applications, heuristic methods that find near-optimal answers in less time have been widely used by researchers in this field. The most important features of heuristic methods are easy implementation, the ability to show improvement in each iteration, fast production of results and robustness[179]. One of the most important usages of heuristic techniques, which is often mentioned in papers, is to solve optimization problems. The most common use of heuristic techniques is in the resource management field. Many studies have tried to manage resources in such a way that energy [198, 327], latency [328, 329], cost [74, 329] and computational complexity [330] become optimized. Studies show that the use of optimization techniques in resource management to enhance the user QoS has been very attractive in recent years. The following are examples of the use of these methods in edge-based systems. Jaewon Ahn et al., seek to minimize energy consumption in the MEC. This optimization is done with using convex optimization. In this way, they face the challenge of optimal energy clustering at the MEC. Their main innovation is to formulate and solve the optimization problem to find the optimal clusters to minimize energy consumption in MEC servers. This was done by analyzing the effect of the number of clusters on the CPU load [331]. In addition, convex optimization methods have been repeatedly used in papers for purposes such as resource allocation, offloading, and energy efficiency optimization [332, 333]. In another research, a portfolio optimization method was proposed for selecting edge or cloud virtual machines. The system is edge-based and seeks to find an optimal resource allocation for patient monitoring systems or applications. This optimization should support obstinate synchronization and VM provisioning at a minimal cost [334]. Zhou-zhou Liu and et al has used another optimization method called elastic collision optimization for efficient data processing in fog computing. The main issue in this research is ata acquisition in WSNs. In this paper, the authors have tried to reduce the latency of processing big data in sensor-cloud. For this purpose, a sensor-cloud data acquisition scheme based on fuzzy computing and adaptive block compression has been proposed. This scheme can solve this problem while managing energy consumption [335]. In another study, to find an empty parking space in a crowded area, the greedy optimization method was used. In this research, a parking space allocation strategy and a four-layer architecture are proposed. They have taken advantage of the cloud computing environment alongside VANET to find real-time parking space. In this decision making, they have considered factors such as the number of steps, driving and waiting costs [246]. This optimization method is also used in Tingting Hou's paper. The main purpose of this research is to design a caching strategy at the edge of the mobile network. The goal of optimization in this paper is to reduce transfer costs while improving user QoE [147]. Li Wang proposes a multifunctional computation offloading scheme. The joint optimization method allocates computational resources while minimizing energy consumption. This research, conducted in fog environment, seeks to find the most suitable mobile terminal for computation offloading among many of computing devices close to the user [336]. Some other examples of joint optimization in MEC environment have been proposed to minimize energy consumption and delay [337, 338]. In another study, the submodular optimization method was used to minimize users' download latency. In this method, the problem of cache placement in Fog-Ran is investigated. Two centralized and distributed transmission mechanisms are proposed for it to finally achieve their goal of reducing latency[339]. Constrained optimization is a method used in research by Hongzhi Guo et al. to optimize energy efficiency and minimize latency. In this research, the mobile-edge computation offloading problem in too dense IoT networks is described and solved. In addition to the stated optimization method, a two-stage greedy approximation game theory scheme is proposed that increases computing efficiency [43]. In Verba's paper, a reference model is presented along with the formulation of parameters in an industrial environment. This model makes it possible to evaluate the load and latency of applications on the system and also estimates the impact of changes. Along with developing in the fog computing environment, the project uses a model-based optimization technique to optimize reliability and latency. The effectiveness of model-based optimization in physical environments have been evaluated and validated [340]. One-Shot-Online is also an optimization method used in the paper [295]. The issue under consideration in this study is the computation partitioning in a multi-user environment in which several users compete for limited computing resources at the edge cloud. An edge cloud is a micro data center which is usually collocated with a cellular base station or a WiFi access point [341]. Their innovation is the design of a network-aware partitioning mechanism at the edge of cloud in multi-user environments. It, distributes access bandwidth to users in a way that maximizes the average performance of users' applications, using the one-shot-optimization method. In another research, the issue of online resource allocation in edge cloud systems was investigated. They show that the one-shot greedy solution is far from optimal in many cases and a holistic view is necessary. They jointly consider the costs of allocation, reconfiguration, service quality, and migration in distribute edge clouds, under unpredictable resource prices and user movements. They model the original problem with the mixed nonlinear optimization method (MILP) and decouples their original problem into a series of subproblems that are solvable in each independent time slot using regularization technique [341]. Learning technique
After heuristic methods, learning methods are in the second rank. All the methods presented in Table 16 along with the reference of related papers, are classified as learning methods in this SMS. Like heuristic methods, the most common use of learning methods is in resource management problems . Edge computing environment is completely dynamic due to user mobility and workload changes. Therefore, the use of learning methods to predict the state of the environment and make an intelligent decision has been considered by researchers. Also, one of the important applications of learning methods is extracting information from raw data. This problem is very essential in edge computing, because the applications developed at the edge and IoT devices are constantly generating raw data. This data has little value until it is analyzed. Therefore, this case is one of the reasons for the widespread use of learning techniques in papers. Deep learning methods have been utilized as one of the most well-known learning methods in various researches. This method has been the most used among other learning methods in edge computing applications. In real-time applications, an enormous amount of raw data generated by mobile devices (such as smartphones and IoT sensors). applying analytics over such data streams to discover new information, predict future insights, and make control decisions is a crucial process that makes IoT a worthy paradigm for businesses and a quality-of-life improving technology [295]. compared to the cloud, using deep learning along with edge computing does not have latency, scalability, and privacy issues [45]. In the reviewed studies, data analysis has been used in applications such as healthcare [342], streaming [343], crowdsensing [344], and vehicular [345], and smart city [346]. Caching (such as content or data) at the network edge can significantly reduce the delay and network load. Predicting the future popularity of contents [347] and making decision about the cache policy [348] are two most usage of deep learning in edge computing. Another usage of deep learning with edge computing is in security and privacy domain. In these cases, with the help of edge computing, it is possible to analyze data near the source by a reliable edge server [349]. therefore, it prevents the passage f data in public space (such as the Internet) and the possibility of privacy violations and security attacks is reduced [45].
Table 16. Learning Methods in Reviewed Papers
Examples
Learning Methods [PID= 60] 1
Distributed machine learning [PID=69, 464, 510, 512, 566, 702, 2124, 4035, 5165, 6783, 7616, 8070, 8807, 8493, 8362, 8210, 8382, … ] 36
Deep learning [PID= 203] 1
Learning-based workflow-net [PID=257] 1
Recommendation techniques [PID= 257, 1434, 1908, 3172, 316, 1135, 1922, 4411, 4833, 7181, 8599, 9332, 9242, 8272, 8022, …] 18
Clustering techniques (Flink’s mini-cluster; k-means; Covering algorithm) [PID= 60, 275, 1347, 2124, 4950, 5649, 6856, 7616, 8264] 9
Machine Learning [PID= 452] 1
Prediction model [PID= 510, 512, 566, 702, 1301, 2493, 3105, 3749, 4112, 8070, 8113, 9237, 8131, …] 33
Neural Network [PID= 552, 7373, 8831, 9334,8519, 8019, 8023, 9180, 8143, 8575, 8190, …] 14
Deep reinforcement learning (DRL) [PID= 57, 246, 3503, 5455, 8820, 8519, 9353, 8106 2062, 2741, 4175, 4534, 5194, 5256, 5455, 5456, 6013, 8384, 8212, 8187, 8539, 5419, …] 38
Reinforcement learning [PID= 2573] 1
Data stream model learning [PID= 4532, 4624, 5179, 6647, 8244, 8210, 8373, 8070, 8066, 8847, 8865, …] 18
Classification (Activity classifier; BBN classifier; SVM; conventional) [PID= 3172] 1
Learning dictionaries [PID= 4175] 1
Automata paradigm [PID= 5042, 8345] 2
Cognitive Learning [PID= 5832] 1 Hypothesis Transfer Learning [PID= 620,6969] 2
Extreme Machine Learning
Third MAX
Second MAX
First MAX
Neural networks have always been considered as an easy and comprehensive learning method. Its compatibility with different issues has caused it to be widely used in various fields. In the researches, a significant number of studies were found that have used neural network technique in their proposed method for edge computing environment. In a paper by Shima Rashidi et al., a neural network-based algorithm is proposed to manage resources and select the appropriate cloudlet. The selection method considers factors such as server proximity in MCC environment, server load and connection condition between user and server. A good algorithm should be able to select the nearest server with the least load and proper user connectivity. In this paper, using the neural network approach, along with fuzzy logic in this paper, improved QoS parameters [350]. As another example, Xiaopu Zhang et al., developed an efficient neural network-based platform to monitor hydraulic fractures of oil and gas pipelines at the edge of network [351]. Another frequent learning method in edge computing studies is reinforcement learning technique. Reinforcement learning is an important branch of machine learning methods that is used in environments with high complexity and dynamism. In this method, intelligent agents use a set of optimal policies to achieve their goal optimization, which can be, optimizing energy consumption in a resource, for example [352]. Many studies use this technique along with deep learning methods and Markov Decision Process (MDP) to optimize the resource allocation, resource scheduling and offloading process [353, 354]. Deep Reinforcement Learning (DRL) is a combination of reinforcement learning (RL) with Deep Neural Networks (DNNs). It aims to create software agents that can learn by themselves to establish successful policies for gaining maximum long-term rewards [13]. While RL is suitable for dynamic environments (such as WiFi) with scholastic traffic and communication uncertainly [295]. But, when there are a lot of states in the underlying environment, the traditional RL is not efficient enough. In such a situation, DRL can be used in order to estimate the e quality of an action in a given state. Linear and non-linear programming
Linear programming is another way to solve optimization problems. This optimization method tries to solve complex problems by modeling them mathematically. In fact, objective functions and constrains are modeled by linear functions in this method [355]. In contrary, if one or more of the functions appearing in the problem statement are non-linear in their variable, the optimization problem called non-linear [356]. ome examples of utilizing this method in edge computing environment are including balancing energy consumption and delay at the edge [357], transporting, placing, storing, and processing huge amount of IoT data in an efficient and effective manner [358], maximization the storage utilization while reducing service latency and improving energy savings [359], optimization of tasks offloading over mobile edge computing environment [360]. Additional examples of the application of this optimization method in edge computing can be seen in [361-363]. Game theory technique
Game theory techniques in IoT-based computing environments such as edge and fog computing help to solve the competition between different actors. The network is full of distributed resources that must be allocated equitably among IoT devices and users. On the other hand, the allocation of these resources should be done by taking into account the profit of the service providers. This is where game theory comes to the aid of researchers, and the variety of different games has led to it being widely utilized in papers after heuristic and learning techniques. As an example, Zijie Zheng et al. [364] designed an incentive mechanism for caching data at the edge of 5G network. In this research, they consider a service provider that must respond to the time-dependent requests of a large number of edge nodes and users. In the edge caching problem and its strategy determination, each service provider and user have their interests. On the other hand, their interests may also conflict with each other, and this contradiction makes it difficult to develop centralized caching approaches. This is where game theory comes into play a key role. Researchers have used the stackelberg game to solve this problem. This game has been widely used in various papers [277, 365-367]. G. Which forms of empirical evaluation have been used?
Fig. 16 shows the statistics of different evaluation methods in edge computing environment. Common methods seen in papers for evaluation include simulation methods, empirical, implementation on a testbed, and proof-concept methods. As it is clear, most of the proposed methods have been tested and evaluated by simulation. The reason is due to the nature of edge environment. Edge computing environment is a complex system with a wide variety of heterogeneous network, storage and computing resources which are widely distributed. Therefore, building a real environment for experiments is very difficult and costly. This is where simulation frameworks are widely used to model the edge computing environment. These frameworks are used to test and model solutions. FogNetSim [368], iFogSim [369], EdgeCloudSim [370], IoTsim [371] are examples of simulation tools in edge and cloud computing. The empirical evaluation consists of different kind of approaches, such as developing prototypes (21%) and scenarios (4%), designing a case study (12%), utilizing a real dataset (5%), using benchmarks (5%), use cases (5%) and platforms (1%). H. Which qualitative requirements have been considered to move towards edge computing?
As shown in Fig. 17, different QoS categories are frequently reported among the reviewed papers. In the previous sections, detailed reviews have been provided regarding the QoS criteria in each categories of papers. This section only tries to provide statistics on the main QoS category based on SMI [372] and ISO 9126 [373] quality models related to edge environment generally. The efficiency category has the most repetition among the studies. The efficiency category has the most repetition among the studies. Efficiency is defined as "A set of attributes that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions [373]". Time (49%), energy consumption (26%), utilization (22%), and throughput (3%) had the most frequency among the efficiency criteria. As mentioned earlier, applications in edge computing environment are latency-sensitive applications. Reducing this delay has been the starting point of their migration from the cloud to the edge of network. Therefore, it is natural that the time criterion specially delay and latency should be considered as the main one in evaluating the QoS of such programs. After the efficiency category, the financial category has the second rank. Financial category focuses on "The amount of money spent on the service by the client" [372]. Cost is considered as the only criterion in this category. Performance category focuses on "attributes of the features and functions of the provided service" [372]. 52% of studies only reported performance as their quality criterion without any mention to its sub-criteria. Some studies reported accuracy (48%) as a performance criterion in their evaluation. Criteria related to assurance category is the next. Assurance is considered as "attributes that indicate how likely it is that the service will be available as specified" [372]. Reliability (50%), Availability (26%), Failure (1%), Stability (19%) and Robustness (4%) are the most frequent criterion in assurance category.
Simulation Proof_of_Concept Empirical Testbed
Fig. 16. Evaluation Methods in Edge Computing Studies
Fig. 17. Frequent QoS Parameters in Edge Computing
Agility is defined as "attributes including the impact of a service upon a client 's ability to change direction, strategy, or tactics quickly and with minimal disruption" [372]. Agility parameters such as flexibility (29%), elasticity (2%) are reported frequently in studies. IV.
COMPARISION
WITH
SIMILAR
REVIEW
RESEARCHES As stated in Section II.A.2)a), at the beginning of the search process, several secondary studies (survey, reviews) were selected as the starting point by the expert (See Table 3). Furthermore, during the search process, other review studies were found. A list of these studies is provided in (cid:1845)(cid:1873)(cid:1868)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2870),(cid:3021)(cid:2870) . Among the review studies, studies specific to a particular sub-topic were excluded. For the remaining studies, covered topics in the field of edge computing were extracted that details of this information are provided in (cid:1845)(cid:1873)(cid:1868)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2870),(cid:3021)(cid:2874) . Table 17 shows the comparison between our SMS and other review studies. In contrast to our SMS, none of these studies used a systematic approach to cover all related papers in the field of edge computing. However, we selected six papers [10], [71], [1], [374], [375], [25], and [376] for comparison, which are relatively more comprehensive and address more aspects of the field of edge computing. The differences between these studies and our SMS are presented in Table 18. For each of the studies being compared, the necessary information about the number of covered venues and studies have been extracted. Table 18 shows that our SMS (last row) reviewed and covered an extensive collection of related studies compared to other reviews. For example, in review paper [71], out of 450 studies cited, only 120 papers are used in taxonomy. Also, these studies in the field of edge computing have not undergone a systematic process. Therefore, we cannot be sure that all related papers have been extracted. Also, these papers do not cover all possible sub-topics and investigated a small number of them (see (cid:1845)(cid:1873)(cid:1868)(cid:1868)(cid:1832)(cid:1861)(cid:1864)(cid:1857) (cid:3006)(cid:2870),(cid:3021)(cid:2871) ). Unlike these reviews, our SMS uses a comprehensive and complete process to find related studies and uses a collection of high-quality studies in the field of edge computing .
Table 17. Comparison Between Our Sms and Other Related Reviews V. I MPLICATIONS OF F INDINGS
In this paper, we have conducted a systematic mapping study (SMS) to create a guide for researchers, practitioners, and professors working in the field of edge computing. The findings of this paper can be useful for different groups of audiences. It is expected that most of the readers of this paper will be from three general categories such as researchers, practitioners working in the industry, and university professors active in this field. Therefore, in this section, we have provided tips and guidelines for each of these three main groups of audiences . A. Implications for researchers The field of edge computing has become one of the most popular and prolific fields in recent years, and extensive researches has been done on it (RQ1). Severe increase in MDs (such as IoT devices, smartphones) and consequently the need for delay-sensitive services and applications (such as virtual and augmented reality applications), security and regularity issues, instantaneous cloud traffic instability, and resource constraints of MDs (which make it impossible to send large amounts of data to the cloud) are among the reasons for preferring edge to cloud. There is also a significant difference in the number of studies conducted between different countries (RQ2). China (31%), the United States (11%), and Canada (7%) account for the highest percentage of published articles among countries. In these countries, technological advances in the industry compared to other countries and the deep connection
Efficiency Financial Agility Assurance Performance
S&P CO Ec RM DM NM Ar Scope
Topic PID FOG 68 MEC 1610 EC 1611 MEC 1618 FOG 5439 EC 6838 EC 5715 FOG 7906 FOG 7907
EC 8044
EC 8242
EC 8587
EC 8775 EC This SMS etween industry and academia, can be the reasons for this increase. Also, in China, with the largest mobile phone users (twice as much as India in second place), the presence of large companies such as Huawei and being a leader in smart technologies have made researchers very interested in edge computing and 5G . Table 18. Statistical Comparison between Our Sms and Other Selected Reviews The field of edge computing includes various topics and sub-topics (RQ3). A variety of research opportunities in each of these topics can be envisioned. Therefore, students active in the fields of cloud computing, networking, security, and data analysis can also consider edge computing as a suitable option for their research project. Over the past decade, the field of edge computing has made significant progress, and various architectures for the use of edge resources have been proposed (RQ5). Sometimes, in studies, these architectures may be misunderstood or used interchangeably.
One of the necessary things for researchers in this field is complete familiarity with edge architectures and paying attention to the differences and characteristics of each of them. This knowledge helps to identify research topics and provide effective and accurate solutions for them. The evaluation methods used in most of the reviewed papers in the field of edge computing are based on simulation (RQ7). Since the foundations for the full realization of edge computing infrastructure are not yet available in many parts of the world; the use of simulation can be a simple and inexpensive alternative to evaluate researches in this field. Due to this issue, so far, various simulators for edge computation work have been proposed, such as FogNetSim++ [379] and iFogSim [368, 369]. Although simulation is a low-cost and hassle-free way to evaluate a research, simulations are usually accompanied by simplifications and hypotheses that may be far from the truth. Therefore, the implementation of real testbeds and small prototypes at the laboratory level can help to more accurately assess and identify operational challenges and problems in this area. For example, the Raspberry Pi can be used to build an almost realistic platform to create the scenarios desired by the researchers [127]. Therefore, our advice to researchers in this field is to move towards the use of real implementation for more accurate assessments and identification of operational challenges. Resources in edge computing are distributed and limited, so resource management issues are among the most essential parts of edge computing [25]. In reviewed studies, most of the researches is dedicated to this topic (RQ1). Optimization methods are widely used in the literatures of this field for load balancing and increasing the efficiency (either computation or communication resources). Therefore, familiarity with the methods and techniques of machine learning, optimization, meta-heuristics, or game theory can be very handy and practical for researchers in this field. In this research, a review of the techniques and methods used in the papers have been extracted. Researchers can use the information in the relevant section to get acquainted with the common techniques used in papers in this field (RQ6). B. Implications for practitioners After years of research, the field of edge computing is now approaching its maturity. In the academic field, a lot of researches has been done to exploit resources close to users, and a variety of ideas have been presented to overcome the various challenges in this field (RQ2). Therefore, a wide scientific source of solutions, ideas and applications in the academic field has been provided. Utilizing this source of knowledge to solve the real-world problems and increase the quality of daily life, requires the connection of industrial organizations with scientific and academic departments. This connection can be made through participation in conferences related to the field of edge computing in order to transfer knowledge from researchers to industrial people, as well as transfer challenges and operational problems from people working in the industry to researchers. This
Ref.
Type
Studies
Quality Criteria
Search Eval.
Time Period [10]
Survey
41 NM [71] Survey Manual [1] Survey 37/137 29 NM [374] Survey 27/99 14 NM [375] Survey 97/296 55 NM [25] Survey 70/200 43 NM [376] Survey 36/101 19 NM Our SMS
SMS
Manual-Snowballing-Database onnection can accelerate the progress of realization of edge computing schemes in the real world. With the advent of IoT, new applications have been introduced, some of which cannot be implemented without the use of edge resources (RQ4). Since these applications are expected to become part of people's daily lives in the future world, the creation and development of edge computing platforms will be one of the necessities of the future world. Therefore, our advice to developers of applications and services is to pay attention to the use of edge resources and distributed platforms near the user in their designs. Also, data network operators and network equipment manufacturers need to consider the realization of the edge computing model in the design of future network infrastructure or communication equipment. C. Implications for teachers In the last decade, edge computing has been considered as a promising solution to increase service quality and reduce response time by bringing resources closer to users' devices. Also, in recent years, there has been significant growth in researches in this field so that this field of research can be considered as a broad, independent, and popular field among researchers (RQ2) . Therefore, it is vital to acquaint students and novices (in academia or industry) with the concepts of edge computing to transfer knowledge and research achievements of recent years. Professors active in the field of cloud computing and computer networks can include the concepts in this field as the main topics in courses such as "cloud computing" and "distributed systems" or implicitly refer to it in related courses such as "computer networks" and "internet engineering". Professors can also use the concepts presented in the section (RQ3) and statistical results obtained from the papers reviewed in the sections (RQ1, RQ3) to get acquainted with the concepts related to this field and prepare educational content. Edge computing is a multidisciplinary field, and various specializations are associated with it. For example, creating a platform for the use of edge and cloud resources requires expertise in various areas of cloud computing, networking, and security. As another example, creating a new service or application in healthcare that uses edge resources requires knowledge in big data, data analysis and processing, software engineering, and medicine. Therefore, interdisciplinary collaborations in this field can accelerate the development and implementation of the ideas. So, we advise active professors in this field can provide the necessary conditions for progress in this field by establishing either academic or industrial interdisciplinary collaborations. VI. C ONCLUSION
With the increasing trend towards edge computing and the dramatic increase in the number of studies in this field, the need for a systematic review in this field was felt. In this paper, we conducted an SMS in the field of edge computing from 2001 to 2020. For this aim, we used well-known methodologies for systematic review as well as our past experiences in publishing systematic reviews. The main part of the SMS methodology used involves providing a robust search method. For this purpose, the search was performed at three levels (manual search, backward snowballing search, and database search). We defined criteria for selecting studies with the required quality and maximum relevance to the field of edge computing. Based on these criteria out of 8725 obtained related study, 1440 studies were selected. We also evaluated the search methodology to ensure adequate coverage of the studies .Based on this assessment, the amount of study coverage in our SMS has been more than 90%. According to the methodology used, we designed nine research questions and answered the questions during the SMS. The first three questions include introducing the most important researchers and pioneers (RQ1), reviewing the number of researches done (RQ2), and extracting the most important topics and sub-topics (RQ3) in the field of edge computing. In the next three questions (RQ4, RQ5, and RQ6), the number of researches in the field of edge computing has been examined and analyzed from the perspective of extractive topics. In these three questions, the most crucial applications of edge computing in each topic, the most important architectures used in each topic, and the techniques used in each topic are reviewed and analyzed, respectively. The most important evaluation methods and quality criteria used in the research to move towards edge computing are reviewed in questions RQ7 and RQ8, respectively. Besides, in RQ9, we compared our SMS with several selected and good reviews in the field of edge computing and examined the depth of the method used, the number of studies reviewed, and the various aspects considered. Our research shows that computing is the edge of an active and growing research field in different geographical areas. Although the number of researches in this field has increased significantly, there are still challenges in this field, and the development of methods and paradigms is needed to solve these challenges. Systematic review studies such as our SMS can be used to provide more detailed review of each aspect using the review systematic literature (SLR). For future work, each of the high-level topics extracted in this paper can be explored in-depth to answer more specific research questions. Also, though, there are studies with acceptable quality among the conference and workshop papers. But due to the large volume of published studies, we reviewed journal papers, and reviewing conference and workshop articles can be done as future work. R
EFERENCES [1] C. Li, Y. Xue, J. Wang, W. Zhang, and T. Li, "Edge-oriented computing paradigms: A survey on architecture design and system management,"
ACM Computing Surveys (CSUR), vol. 51, no. 2, pp. 1-34, 2018. [2] B. A. Kitchenham, D. Budgen, and O. P. Brereton, "Using mapping studies as the basis for further research–a participant-observer case study,"
Information and Software Technology, vol. 53, no. 6, pp. 638-651, 2011. 3] K. Petersen, S. Vakkalanka, and L. Kuzniarz, "Guidelines for conducting systematic mapping studies in software engineering: An update,"
Information and Software Technology, vol. 64, pp. 1-18, 2015. [4] T. Verbelen, P. Simoens, F. De Turck, and B. Dhoedt, "Cloudlets: Bringing the cloud to the mobile user," in
Proceedings of the third ACM workshop on Mobile cloud computing and services , 2012, pp. 29-36. [5] B. B. Mayvan, A. Rasoolzadegan, and Z. G. Yazdi, "The state of the art on design patterns: A systematic mapping of the literature,"
Journal of Systems and Software, vol. 125, pp. 93-118, 2017. [6] A. J. Jafari and A. Rasoolzadegan, "Security patterns: A systematic mapping study,"
Journal of Computer Languages, vol. 56, p. 100938, 2020. [7] A. A. Ramaki, A. Rasoolzadegan, and A. G. Bafghi, "A systematic mapping study on intrusion alert analysis in intrusion detection systems,"
ACM Computing Surveys (CSUR), vol. 51, no. 3, pp. 1-41, 2018. [8] B. Kitchenham et al. , "Systematic literature reviews in software engineering–a tertiary study,"
Information and software technology, vol. 52, no. 8, pp. 792-805, 2010. [9] C. Zhang and D. Budgen, "What do we know about the effectiveness of software design patterns?,"
IEEE Transactions on Software Engineering, vol. 38, no. 5, pp. 1213-1231, 2011. [10] C. Mouradian, D. Naboulsi, S. Yangui, R. H. Glitho, M. J. Morrow, and P. A. Polakos, "A comprehensive survey on fog computing: State-of-the-art and research challenges,"
IEEE Communications Surveys & Tutorials, vol. 20, no. 1, pp. 416-464, 2017. [11] K. Toczé and S. Nadjm-Tehrani, "A taxonomy for management and optimization of multiple resources in edge computing,"
Wireless Communications and Mobile Computing, vol. 2018, 2018. [12] R. Roman, J. Lopez, and M. Mambo, "Mobile edge computing, fog et al.: A survey and analysis of security threats and challenges,"
Future Generation Computer Systems, vol. 78, pp. 680-698, 2018. [13] P. Hu, S. Dhelim, H. Ning, and T. Qiu, "Survey on fog computing: architecture, key technologies, applications and open issues,"
Journal of network and computer applications, vol. 98, pp. 27-42, 2017. [14] V. G. Menon and P. J. Prathap, "Moving from vehicular cloud computing to vehicular fog computing: Issues and challenges,"
International Journal on Computer Science and Engineering, vol. 9, no. 2, pp. 14-18, 2017. [15] T. Taleb, K. Samdanis, B. Mada, H. Flinck, S. Dutta, and D. Sabella, "On multi-access edge computing: A survey of the emerging 5G network edge cloud architecture and orchestration,"
IEEE Communications Surveys & Tutorials, vol. 19, no. 3, pp. 1657-1681, 2017. [16] Y. Ai, M. Peng, and K. Zhang, "Edge computing technologies for Internet of Things: a primer,"
Digital Communications and Networks, vol. 4, no. 2, pp. 77-86, 2018. [17] K. Kai, W. Cong, and L. Tao, "Fog computing for vehicular ad-hoc networks: paradigms, scenarios, and issues," the journal of China Universities of Posts and Telecommunications, vol. 23, no. 2, pp. 56-96, 2016. [18] A. T. Thien and R. Colomo-Palacios, "A systematic literature review of fog computing,"
NOKOBIT 2016, Bergen, 28–30 Nov. NOKOBIT, Bibsys Open Joumal Systems, vol. 24, no. 1, 2016. [19] W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu, "Edge computing: Vision and challenges,"
IEEE internet of things journal, vol. 3, no. 5, pp. 637-646, 2016. [20] P. Garcia Lopez et al. , "Edge-centric computing: Vision and challenges," ed: ACM New York, NY, USA, 2015. [21] I. Stojmenovic, S. Wen, X. Huang, and H. Luan, "An overview of fog computing and its security issues,"
Concurrency and Computation: Practice and Experience, vol. 28, no. 10, pp. 2991-3005, 2016. [22] "Chinese consumers at the forefront of digital technologies," Deloitte releases China Mobile Consumer2018. [23] B. Varghese and R. Buyya, "Next generation cloud computing: New trends and research directions,"
Future Generation Computer Systems, vol. 79, pp. 849-861, 2018. [24] D. G. Altman and J. M. Bland, "Diagnostic tests. 1: Sensitivity and specificity,"
BMJ: British Medical Journal, vol. 308, no. 6943, p. 1552, 1994. [25] C.-H. Hong and B. Varghese, "Resource management in fog/edge computing: a survey on architectures, infrastructure, and algorithms,"
ACM Computing Surveys (CSUR), vol. 52, no. 5, pp. 1-37, 2019. [26] H. Li and K. Yamanishi, "Topic analysis using a finite mixture model,"
Information processing & management, vol. 39, no. 4, pp. 521-541, 2003. [27] H. Li and K. Yamanishi, "Text classification using ESC-based stochastic decision lists,"
Information processing & management, vol. 38, no. 3, pp. 343-361, 2002. [28] T. Hofmann, "Unsupervised learning by probabilistic latent semantic analysis,"
Machine learning, vol. 42, no. 1-2, pp. 177-196, 2001. [29] C. Kotropoulos and A. Papaioannou, "A novel updating scheme for probabilistic latent semantic indexing," in
Hellenic Conference on Artificial Intelligence , 2006, pp. 137-147: Springer. [30] H. Zhang, M. A. Babar, and P. Tell, "Identifying relevant studies in software engineering,"
Information and Software Technology, vol. 53, no. 6, pp. 625-637, 2011. [31] R. Balan, J. Flinn, M. Satyanarayanan, S. Sinnamohideen, and H.-I. Yang, "The case for cyber foraging," in
Proceedings of the 10th workshop on ACM SIGOPS European workshop , 2002, pp. 87-92. [32] T. Kindberg and J. Barton, "A web-based nomadic computing system,"
Computer Networks, vol. 35, no. 4, pp. 443-456, 2001. [33] M. Satyanarayanan, "The emergence of edge computing,"
Computer, vol. 50, no. 1, pp. 30-39, 2017. [34] K. Petersen, R. Feldt, S. Mujtaba, and M. Mattsson, "Systematic mapping studies in software engineering," in scimago
IEEE Access, vol. 6, pp. 5101-5111, 2018. [38] J. Panneerselvam, J. Hardy, L. Liu, B. Yuan, and N. Antonopoulos, "Mobilouds: An energy efficient MCC collaborative framework with extended mobile participation for next generation networks,"
IEEE Access, vol. 4, pp. 9129-9144, 2016. [39] X. Ma, C. Lin, H. Zhang, and J. Liu, "Energy-aware computation offloading of IoT sensors in cloudlet-based mobile edge computing,"
Sensors, vol. 18, no. 6, p. 1945, 2018. [40] H. Wu, Y. Sun, and K. Wolter, "Energy-efficient decision making for mobile cloud offloading,"
IEEE Transactions on Cloud Computing,
IEEE Transactions on Services Computing, vol. 10, no. 5, pp. 797-810, 2015. [42] M. Min et al. , "Learning-based privacy-aware offloading for healthcare IoT with energy harvesting,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4307-4316, 2018. [43] H. Guo, J. Liu, J. Zhang, W. Sun, and N. Kato, "Mobile-edge computation offloading for ultradense IoT networks,"
IEEE Internet of Things Journal, vol. 5, no. 6, pp. 4977-4988, 2018. [44] H. Guo, J. Zhang, J. Liu, and H. Zhang, "Energy-aware computation offloading and transmit power allocation in ultradense IoT networks,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4317-4329, 2018. [45] Z. Wang, Z. Zhao, G. Min, X. Huang, Q. Ni, and R. Wang, "User mobility aware task assignment for mobile edge computing,"
Future Generation Computer Systems, vol. 85, pp. 1-8, 2018. [46] F. Yu, H. Chen, and J. Xu, "DMPO: Dynamic mobility-aware partial offloading in mobile edge computing,"
Future Generation Computer Systems, vol. 89, pp. 722-735, 2018. [47] Y. Liao, Y. Han, Q. Yu, Q. Ai, Q. Liu, and M. S. Leeson, "Wireless body area network mobility-aware task offloading scheme,"
IEEE Access, vol. 6, pp. 61366-61376, 2018. [48] G. Chandrasekaran, N. Wang, M. Hassanpour, M. Xu, and R. Tafazolli, "Mobility as a service (maas): A d2d-based information centric network architecture for edge-controlled content distribution,"
IEEE Access, vol. 6, pp. 2110-2129, 2017. [49] X. Cao, F. Wang, J. Xu, R. Zhang, and S. Cui, "Joint computation and communication cooperation for energy-efficient mobile edge computing,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4188-4200, 2018. [50] G. H. Carvalho, I. Woungang, A. Anpalagan, and M. Jaseemuddin, "Analysis of joint parallelism in wireless and cloud domains on mobile edge computing over 5G systems,"
Journal of Communications and Networks, vol. 20, no. 6, pp. 565-577, 2018. [51] F. A. Silva, P. Maciel, and R. Matos, "SmartRank: a smart scheduling tool for mobile cloud computing,"
The Journal of Supercomputing, vol. 71, no. 8, pp. 2985-3008, 2015. 52] C. Kulatunga, K. Bhargava, D. Vimalajeewa, and S. Ivanov, "Cooperative in-network computation in energy harvesting device clouds,"
Sustainable Computing: Informatics and Systems, vol. 16, pp. 106-116, 2017. [53] C. You and K. Huang, "Exploiting non-causal CPU-state information for energy-efficient mobile cooperative computing,"
IEEE Transactions on Wireless Communications, vol. 17, no. 6, pp. 4104-4117, 2018. [54] M. Satyanarayanan, P. Bahl, R. Caceres, and N. Davies, "The case for vm-based cloudlets in mobile computing,"
IEEE pervasive Computing, vol. 8, no. 4, pp. 14-23, 2009. [55] S. Kosta, A. Aucinas, P. Hui, R. Mortier, and X. Zhang, "Thinkair: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading," in , 2012, pp. 945-953: IEEE. [56] E. Cuervo et al. , "MAUI: making smartphones last longer with code offload," in
Proceedings of the 8th international conference on Mobile systems, applications, and services , 2010, pp. 49-62. [57] J. Shuja, A. Gani, A. Naveed, E. Ahmed, and C.-H. Hsu, "Case of ARM emulation optimization for offloading mechanisms in mobile cloud computing,"
Future Generation Computer Systems, vol. 76, pp. 407-417, 2017. [58] B. Zhou and R. Buyya, "Augmentation techniques for mobile cloud computing: A taxonomy, survey, and future directions,"
ACM Computing Surveys (CSUR), vol. 51, no. 1, pp. 1-38, 2018. [59] S. Midya, A. Roy, K. Majumder, and S. Phadikar, "Multi-objective optimization technique for resource allocation and task scheduling in vehicular cloud architecture: A hybrid adaptive nature inspired approach,"
Journal of Network and Computer Applications, vol. 103, pp. 58-84, 2018. [60] M. Zhao, W. Wang, Y. Wang, and Z. Zhang, "Load scheduling for distributed edge computing: A communication-computation tradeoff,"
Peer-to-Peer Networking and Applications, vol. 12, no. 5, pp. 1418-1432, 2019. [61] T. Van Do, N. H. Do, H. T. Nguyen, C. Rotter, A. Hegyi, and P. Hegyi, "Comparison of scheduling algorithms for multiple mobile computing edge clouds,"
Simulation Modelling Practice and Theory, vol. 93, pp. 104-118, 2019. [62] S. K. Mishra, D. Puthal, J. J. Rodrigues, B. Sahoo, and E. Dutkiewicz, "Sustainable service allocation using a metaheuristic technique in a fog server for industrial applications,"
IEEE Transactions on Industrial Informatics, vol. 14, no. 10, pp. 4497-4506, 2018. [63] X. Wang et al. , "Dynamic resource scheduling in mobile edge cloud with cloud radio access network,"
IEEE Transactions on Parallel and Distributed Systems, vol. 29, no. 11, pp. 2429-2445, 2018. [64] F. Bonomi, R. Milito, J. Zhu, and S. Addepalli, "Fog computing and its role in the internet of things," in
Proceedings of the first edition of the MCC workshop on Mobile cloud computing , 2012, pp. 13-16. [65] G. Tanganelli, C. Vallati, and E. Mingozzi, "Edge-centric distributed discovery and access in the internet of things,"
IEEE Internet of Things Journal, vol. 5, no. 1, pp. 425-438, 2017. [66] M. Balazinska, H. Balakrishnan, and D. Karger, "INS/Twine: A scalable peer-to-peer architecture for intentional resource discovery," in
International Conference on Pervasive Computing , 2002, pp. 195-210: Springer. [67] J. Sun, S. Sun, K. Li, D. Liao, A. K. Sangaiah, and V. Chang, "Efficient algorithm for traffic engineering in Cloud-of-Things and edge computing,"
Computers & Electrical Engineering, vol. 69, pp. 610-627, 2018. [68] H. R. Arkian, A. Diyanat, and A. Pourkhalili, "MIST: Fog-based data analytics scheme with cost-efficient resource provisioning for IoT crowdsensing applications,"
Journal of Network and Computer Applications, vol. 82, pp. 152-165, 2017. [69] H. Yao, C. Bai, M. Xiong, D. Zeng, and Z. Fu, "Heterogeneous cloudlet deployment and user‐cloudlet association toward cost effective fog computing,"
Concurrency and Computation: Practice and Experience, vol. 29, no. 16, p. e3975, 2017. [70] F. Zhang, G. Liu, B. Zhao, X. Fu, and R. Yahyapour, "Reducing the network overhead of user mobility–induced virtual machine migration in mobile edge computing,"
Software: Practice and Experience, vol. 49, no. 4, pp. 673-693, 2019. [71] A. Yousefpour et al. , "All one needs to know about fog computing and related edge computing paradigms," 2018. [72] L. Zhao and J. Liu, "Optimal placement of virtual machines for supporting multiple applications in mobile edge networks,"
IEEE Transactions on Vehicular Technology, vol. 67, no. 7, pp. 6533-6545, 2018. [73] X. Xu et al. , "Energy-efficient cloudlet management for privacy preservation in wireless metropolitan area networks,"
Security and Communication Networks, vol. 2018, 2018. [74] R. Urgaonkar, S. Wang, T. He, M. Zafer, K. Chan, and K. K. Leung, "Dynamic service migration and workload scheduling in edge-clouds,"
Performance Evaluation, vol. 91, pp. 205-228, 2015. [75] S. Wang, R. Urgaonkar, T. He, K. Chan, M. Zafer, and K. K. Leung, "Dynamic service placement for mobile micro-clouds with predicted future costs,"
IEEE Transactions on Parallel and Distributed Systems, vol. 28, no. 4, pp. 1002-1016, 2016. [76] D. Puthal, R. Ranjan, A. Nanda, P. Nanda, P. P. Jayaraman, and A. Y. Zomaya, "Secure authentication and load balancing of distributed edge datacenters,"
Journal of Parallel and Distributed Computing, vol. 124, pp. 60-69, 2019. [77] D. Zeng, L. Gu, and H. Yao, "Towards energy efficient service composition in green energy powered Cyber–Physical Fog Systems,"
Future Generation Computer Systems, vol. 105, pp. 757-765, 2020. [78] D. G. Roy, D. De, A. Mukherjee, and R. Buyya, "Application-aware cloudlet selection for computation offloading in multi-cloudlet environment,"
The Journal of Supercomputing, vol. 73, no. 4, pp. 1672-1690, 2017. [79] J. P. B. Mapetu, Z. Chen, and L. Kong, "Heuristic cloudlet allocation approach based on optimal completion time and earliest finish time,"
IEEE Access, vol. 6, pp. 61714-61727, 2018. [80] M. Tang, L. Gao, and J. Huang, "Enabling edge cooperation in tactile Internet via 3C resource sharing,"
IEEE Journal on Selected Areas in Communications, vol. 36, no. 11, pp. 2444-2454, 2018. [81] Y. Liu, J. Jiang, Y. Liu, Y. Zhang, and Q. Wu, "Network resource optimization configuration in edge computing environment,"
International Journal of Computers and Applications, pp. 1-8, 2019. [82] M. Aazam and E.-N. Huh, "Fog computing micro datacenter based dynamic resource estimation and pricing model for IoT," in , 2015, pp. 687-694: IEEE. [83] G. S. Rahman, M. Peng, K. Zhang, and S. Chen, "Radio resource allocation for achieving ultra-low latency in fog radio access networks,"
IEEE Access, vol. 6, pp. 17442-17454, 2018. [84] Y.-H. Lin and Y.-C. Hu, "Residential consumer-centric demand-side management based on energy disaggregation-piloting constrained swarm intelligence: Towards edge computing,"
Sensors, vol. 18, no. 5, p. 1365, 2018. [85] X. Yang et al. , "Communication-constrained mobile edge computing systems for wireless virtual reality: Scheduling and tradeoff,"
IEEE Access, vol. 6, pp. 16665-16677, 2018. [86] Z. Song et al. , "Processing optimization of typed resources with synchronized storage and computation adaptation in fog computing,"
Wireless Communications and Mobile Computing, vol. 2018, 2018. [87] F. Zhang et al. , "A load-aware resource allocation and task scheduling for the emerging cloudlet system,"
Future Generation Computer Systems, vol. 87, pp. 438-456, 2018. [88] P. Pace, G. Aloi, R. Gravina, G. Caliciuri, G. Fortino, and A. Liotta, "An edge-based architecture to support efficient applications for healthcare industry 4.0,"
IEEE Transactions on Industrial Informatics, vol. 15, no. 1, pp. 481-489, 2018. [89] M. Marjanović, A. Antonić, and I. P. Žarko, "Edge computing architecture for mobile crowdsensing,"
IEEE Access, vol. 6, pp. 10662-10674, 2018. [90] H. D. Park, O.-G. Min, and Y.-J. Lee, "Scalable architecture for an automated surveillance system using edge computing,"
The Journal of Supercomputing, vol. 73, no. 3, pp. 926-939, 2017. [91] S.-C. Wang, S.-C. Tseng, K.-Q. Yan, and Y.-T. Tsai, "Reaching agreement in an integrated fog cloud iot,"
IEEE Access, vol. 6, pp. 64515-64524, 2018. [92] T. Wang, G. Zhang, A. Liu, M. Z. A. Bhuiyan, and Q. Jin, "A secure IoT service architecture with an efficient balance dynamics based on cloud and edge computing,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4831-4843, 2018. [93] C. M. S. Magurawalage, K. Yang, L. Hu, and J. Zhang, "Energy-efficient and network-aware offloading algorithm for mobile cloud computing,"
Computer Networks, vol. 74, pp. 22-33, 2014. [94] P. K. Sharma, M.-Y. Chen, and J. H. Park, "A software defined fog node based distributed blockchain cloud architecture for IoT,"
Ieee Access, vol. 6, pp. 115-124, 2017. 95] Y. C. Hu, M. Patel, D. Sabella, N. Sprecher, and V. Young, "Mobile edge computing—A key technology towards 5G,"
ETSI white paper, vol. 11, no. 11, pp. 1-16, 2015. [96] J. S. Preden, K. Tammemäe, A. Jantsch, M. Leier, A. Riid, and E. Calis, "The benefits of self-awareness and attention in fog and mist computing,"
Computer, vol. 48, no. 7, pp. 37-45, 2015. [97] F. Giust et al. , "MEC deployments in 4G and evolution towards 5G,"
ETSI White paper, vol. 24, no. 2018, pp. 1-24, 2018. [98] Y. Park and J. Choi, "Radio access techniques," in
Enhanced Radio Access Technologies for Next Generation Mobile Communication : Springer, 2007, pp. 39-79. [99] A. Yousefpour et al. , "All one needs to know about fog computing and related edge computing paradigms: A complete survey,"
Journal of Systems Architecture, vol. 98, pp. 289-330, 2019. [100] T. Salman, "Cloud RAN: Basics, advances and challenges,"
A Surv. C-RAN Basics Virtualization Resour. Alloc. Chall, pp. 1-16, 2016. [101] P. Shantharama, A. S. Thyagaturu, N. Karakoc, L. Ferrari, M. Reisslein, and A. Scaglione, "LayBack: SDN management of multi-access edge computing (MEC) for network access services and radio resource sharing,"
IEEE Access, vol. 6, pp. 57545-57561, 2018. [102] H. Mei, K. Wang, and K. Yang, "Multi-layer cloud-RAN with cooperative resource allocations for low-latency computing and communication services,"
IEEE Access, vol. 5, pp. 19023-19032, 2017. [103] H. Zhang, Y. Qiu, X. Chu, K. Long, and V. C. Leung, "Fog radio access networks: Mobility management, interference mitigation, and resource optimization,"
IEEE Wireless Communications, vol. 24, no. 6, pp. 120-127, 2017. [104] X. Chen, H. Zhang, C. Wu, S. Mao, Y. Ji, and M. Bennis, "Optimized computation offloading performance in virtual edge computing systems via deep reinforcement learning,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4005-4018, 2018. [105] A. Garcia-Saavedra, G. Iosifidis, X. Costa-Perez, and D. J. Leith, "Joint optimization of edge computing architectures and radio access networks,"
IEEE Journal on Selected Areas in Communications, vol. 36, no. 11, pp. 2433-2443, 2018. [106] H. S. Zekun Zhang, Xianfu Lei, "Non-orthogonal Multiple Access,"
Springer Nature,
IEEE Transactions on Vehicular Technology, vol. 67, no. 12, pp. 12244-12258, 2018. [108] B. Liu, W. Li, Y. Ma, J. Wang, and G. Lu, "Wireless powered cognitive-based mobile edge computing with imperfect spectrum sensing,"
IEEE Access, vol. 7, pp. 80431-80442, 2019. [109] V.-G. Nguyen, A. Brunstrom, K.-J. Grinnemo, and J. Taheri, "SDN/NFV-based mobile packet core network architectures: A survey,"
IEEE Communications Surveys & Tutorials, vol. 19, no. 3, pp. 1567-1602, 2017. [110] L. Zhao, W. Sun, Y. Shi, and J. Liu, "Optimal placement of cloudlets for access delay minimization in SDN-based Internet of Things networks,"
IEEE Internet of Things Journal, vol. 5, no. 2, pp. 1334-1344, 2018. [111] E. Schiller, N. Nikaein, E. Kalogeiton, M. Gasparyan, and T. Braun, "CDS-MEC: NFV/SDN-based application management for MEC in 5G systems,"
Computer Networks, vol. 135, pp. 96-107, 2018. [112] L. Liao, M. Qiu, and V. C. Leung, "Software defined mobile cloudlet,"
Mobile Networks and Applications, vol. 20, no. 3, pp. 337-347, 2015. [113] L. Cominardi, F. Giust, C. J. Bernardos, and A. De La Oliva, "Distributed mobility management solutions for next mobile network architectures,"
Computer Networks, vol. 121, pp. 124-136, 2017. [114] C. Liang, Y. He, F. R. Yu, and N. Zhao, "Enhancing video rate adaptation with mobile edge computing and caching in software-defined mobile networks,"
IEEE Transactions on Wireless Communications, vol. 17, no. 10, pp. 7013-7026, 2018. [115] A. Mehrabi, M. Siekkinen, and A. Ylä-Jääski, "QoE-traffic optimization through collaborative edge caching in adaptive mobile video streaming,"
IEEE Access, vol. 6, pp. 52261-52276, 2018. [116] T. X. Tran, A. Hajisami, P. Pandey, and D. Pompili, "Collaborative mobile edge computing in 5G networks: New paradigms, scenarios, and challenges,"
IEEE Communications Magazine, vol. 55, no. 4, pp. 54-61, 2017. [117] H. Xiang, W. Zhou, M. Daneshmand, and M. Peng, "Network slicing in fog radio access networks: Issues and challenges,"
IEEE Communications Magazine, vol. 55, no. 12, pp. 110-116, 2017. [118] N. Alliance, "Definition of the testing framework for the NGMN 5G pre-commecial networks trails v1," Technical report, 0. Technical report2018. [119] P. Zhao, H. Tian, S. Fan, and A. Paulraj, "Information prediction and dynamic programming-based RAN slicing for mobile edge computing,"
IEEE Wireless Communications Letters, vol. 7, no. 4, pp. 614-617, 2018. [120] Y. Xiao and M. Krunz, "Dynamic network slicing for scalable fog computing systems with energy harvesting,"
IEEE Journal on Selected Areas in Communications, vol. 36, no. 12, pp. 2640-2654, 2018. [121] K. Han et al. , "Application-driven end-to-end slicing: When wireless network virtualization orchestrates with NFV-based mobile edge computing,"
IEEE Access, vol. 6, pp. 26567-26577, 2018. [122] A. Rasheed, S. Gillani, S. Ajmal, and A. Qayyum, "Vehicular ad hoc network (VANET): A survey, challenges, and applications," in
Vehicular Ad-Hoc Networks for Smart Cities : Springer, 2017, pp. 39-51. [123] A. Rasheed, H. Zia, F. Hashmi, U. Hadi, W. Naim, and S. Ajmal, "Fleet & convoy management using VANET,"
Journal of Computer Networks, vol. 1, no. 1, pp. 1-9, 2013. [124] T. Gao, Y. Li, N. Guo, and I. You, "An anonymous access authentication scheme for vehicular ad hoc networks under edge computing,"
International Journal of Distributed Sensor Networks, vol. 14, no. 2, p. 1550147718756581, 2018. [125] L. Wang, G. Liu, and L. Sun, "A secure and privacy-preserving navigation scheme using spatial crowdsourcing in fog-based vanets,"
Sensors, vol. 17, no. 4, p. 668, 2017. [126] G. Luo et al. , "Cooperative vehicular content distribution in edge computing assisted 5G-VANET,"
China Communications, vol. 15, no. 7, pp. 1-17, 2018. [127] Z. Zhao, L. Guardalben, M. Karimzadeh, J. Silva, T. Braun, and S. Sargento, "Mobility prediction-assisted over-the-top edge prefetching for hierarchical VANETs,"
IEEE journal on selected areas in communications, vol. 36, no. 8, pp. 1786-1801, 2018. [128] P. Zhang, Z. Chen, J. K. Liu, K. Liang, and H. Liu, "An efficient access control scheme with outsourcing capability and attribute update for fog computing,"
Future Generation Computer Systems, vol. 78, pp. 753-762, 2018. [129] H. Cui, X. Yi, and S. Nepal, "Achieving scalable access control over encrypted data for edge computing networks,"
IEEE Access, vol. 6, pp. 30049-30059, 2018. [130] Q. Xu, C. Tan, Z. Fan, W. Zhu, Y. Xiao, and F. Cheng, "Secure data access control for fog computing based on multi-authority attribute-based signcryption with computation outsourcing and attribute revocation,"
Sensors, vol. 18, no. 5, p. 1609, 2018. [131] Y. Li, Z. Dong, K. Sha, C. Jiang, J. Wan, and Y. Wang, "Tmo: Time domain outsourcing attribute-based encryption scheme for data acquisition in edge computing,"
IEEE Access, vol. 7, pp. 40240-40257, 2019. [132] Z. Chen, S. Chen, H. Xu, and B. Hu, "A security authentication scheme of 5G ultra-dense network based on block chain,"
IEEE Access, vol. 6, pp. 55372-55379, 2018. [133] C. Li, Z. Qin, E. Novak, and Q. Li, "Securing SDN infrastructure of IoT–fog networks from MitM attacks,"
IEEE Internet of Things Journal, vol. 4, no. 5, pp. 1156-1164, 2017. [134] Q. Yaseen, F. Albalas, Y. Jararwah, and M. Al‐Ayyoub, "Leveraging fog computing and software defined systems for selective forwarding attacks detection in mobile wireless sensor networks,"
Transactions on Emerging Telecommunications Technologies, vol. 29, no. 4, p. e3183, 2018. [135] Y. Zhang et al. , "Privacy-preserving data aggregation against false data injection attacks in fog computing,"
Sensors, vol. 18, no. 8, p. 2659, 2018. [136] V. Sharma, I. You, D. N. K. Jayakody, and M. Atiquzzaman, "Cooperative trust relaying and privacy preservation via edge-crowdsourcing in social Internet of Things,"
Future Generation Computer Systems, vol. 92, pp. 758-776, 2019. [137] J. Li, X. Li, J. Yuan, R. Zhang, and B. Fang, "Fog computing-assisted trustworthy forwarding scheme in mobile Internet of Things,"
IEEE Internet of Things Journal, vol. 6, no. 2, pp. 2778-2796, 2018. [138] Q. Xu, Z. Su, Y. Wang, and M. Dai, "A trustworthy content caching and bandwidth allocation scheme with edge computing for smart campus,"
IEEE Access, vol. 6, pp. 63868-63879, 2018. [139] V. Sharma, I. You, R. Kumar, and P. Kim, "Computational offloading for efficient trust management in pervasive online social networks using osmotic computing,"
IEEE Access, vol. 5, pp. 5084-5103, 2017. 140] S. Basudan, X. Lin, and K. Sankaranarayanan, "A privacy-preserving vehicular crowdsensing-based road surface condition monitoring system using fog computing,"
IEEE Internet of Things Journal, vol. 4, no. 3, pp. 772-782, 2017. [141] A. M. Elmisery, S. Rho, and D. Botvich, "A fog based middleware for automated compliance with OECD privacy principles in internet of healthcare things,"
IEEE Access, vol. 4, pp. 8418-8441, 2016. [142] X. Yang, F. Yin, and X. Tang, "A fine-grained and privacy-preserving query scheme for fog computing-enhanced location-based service,"
Sensors, vol. 17, no. 7, p. 1611, 2017. [143] R. Yang, Q. Xu, M. H. Au, Z. Yu, H. Wang, and L. Zhou, "Position based cryptography with location privacy: A step for fog computing,"
Future Generation Computer Systems, vol. 78, pp. 799-806, 2018. [144] V. Moysiadis, P. Sarigiannidis, and I. Moscholios, "Towards distributed data management in fog computing,"
Wireless Communications and Mobile Computing, vol. 2018, 2018. [145] M. Erol-Kantarci and S. Sukhmani, "Caching and computing at the edge for mobile augmented reality and virtual reality (AR/VR) in 5G," in
Ad Hoc Networks : Springer, 2018, pp. 169-177. [146] D. Liu, B. Chen, C. Yang, and A. F. Molisch, "Caching at the wireless edge: design aspects, challenges, and future directions,"
IEEE Communications Magazine, vol. 54, no. 9, pp. 22-28, 2016. [147] T. Hou, G. Feng, S. Qin, and W. Jiang, "Proactive content caching by exploiting transfer learning for mobile edge computing,"
International Journal of Communication Systems, vol. 31, no. 11, p. e3706, 2018. [148] Y. Tang, K. Guo, J. Ma, Y. Shen, and T. Chi, "A smart caching mechanism for mobile multimedia in information centric networking with edge computing,"
Future Generation Computer Systems, vol. 91, pp. 590-600, 2019. [149] K. Zhu, Z. Chen, L. Zhang, Y. Zhang, and S.-W. Kim, "Geo-cascading and community-cascading in social networks: Comparative analysis and its implications to edge caching,"
Information Sciences, vol. 436, pp. 1-12, 2018. [150] X. Wang, S. Leng, and K. Yang, "Social-aware edge caching in fog radio access networks,"
IEEE Access, vol. 5, pp. 8492-8501, 2017. [151] N. Di Pietro and E. C. Strinati, "An optimal low-complexity policy for cache-aided computation offloading,"
IEEE Access, vol. 7, pp. 182499-182514, 2019. [152] J. Wu, M. Dong, K. Ota, J. Li, and Z. Guan, "FCSS: Fog computing based content-aware filtering for security services in information centric social networks,"
IEEE Transactions on Emerging Topics in computing,
International Journal of Distributed Sensor Networks, vol. 13, no. 5, p. 1550147717704158, 2017. [154] K. Fan, J. Yin, K. Zhang, H. Li, and Y. Yang, "EARS-DM: Efficient Auto Correction Retrieval Scheme for Data Management in Edge Computing,"
Sensors, vol. 18, no. 11, p. 3616, 2018. [155] A. M. Rahmani et al. , "Exploiting smart e-Health gateways at the edge of healthcare Internet-of-Things: A fog computing approach,"
Future Generation Computer Systems, vol. 78, pp. 641-658, 2018. [156] R. Dautov, S. Distefano, D. Bruneo, F. Longo, G. Merlino, and A. Puliafito, "Data processing in cyber-physical-social systems through edge computing,"
IEEE Access, vol. 6, pp. 29822-29835, 2018. [157] R. Dautov, S. Distefano, D. Bruneo, F. Longo, G. Merlino, and A. Puliafito, "Data agility through clustered edge computing and stream processing,"
Concurrency and Computation: Practice and Experience, p. e5093. [158] W. Ramírez et al. , "Evaluating the benefits of combined and continuous Fog-to-Cloud architectures,"
Computer Communications, vol. 113, pp. 43-52, 2017. [159] B. M. Moreno, C. P. Salvador, M. E. Domingo, I. A. Peña, and V. R. Extremera, "On content delivery network implementation,"
Computer Communications, vol. 29, no. 12, pp. 2396-2412, 2006. [160] B. Molina, C. E. Palau, and M. Esteve, "Modeling content delivery networks and their performance,"
Computer Communications, vol. 27, no. 15, pp. 1401-1411, 2004. [161] D.-Y. Kim and S. Kim, "Data transmission using K-means clustering in low power wide area networks with mobile edge cloud,"
Wireless Personal Communications, vol. 105, no. 2, pp. 567-581, 2019. [162] L. Gao, T. H. Luan, S. Yu, W. Zhou, and B. Liu, "FogRoute: DTN-based data dissemination model in fog computing,"
IEEE Internet of Things Journal, vol. 4, no. 1, pp. 225-235, 2016. [163] X. Wu, "Combination replicas placements strategy for data sets from cost-effective view in the cloud,"
International Journal of Computational Intelligence Systems, vol. 10, no. 1, pp. 521-539, 2017. [164] N. Bhalaji, "Efficient and Secure Data Utilization in Mobile Edge Computing By Data Replication,"
Journal of ISMAC, vol. 2, no. 01, pp. 1-12, 2020. [165] W.-C. Chang and P.-C. Wang, "Adaptive replication for mobile edge computing,"
IEEE Journal on Selected Areas in Communications, vol. 36, no. 11, pp. 2422-2432, 2018. [166] Z. Xiong, S. Feng, W. Wang, D. Niyato, P. Wang, and Z. Han, "Cloud/fog computing resource management and pricing for blockchain networks,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4585-4600, 2018. [167] M. Liu and Y. Liu, "Price-based distributed offloading for mobile-edge computing with computation capacity constraints,"
IEEE Wireless Communications Letters, vol. 7, no. 3, pp. 420-423, 2017. [168] T. Zhang, "Data offloading in mobile edge computing: A coalition and pricing based approach,"
IEEE Access, vol. 6, pp. 2760-2767, 2017. [169] R. Yu, J. Ding, S. Maharjan, S. Gjessing, Y. Zhang, and D. H. Tsang, "Decentralized and optimal resource cooperation in geo-distributed mobile cloud computing,"
IEEE Transactions on Emerging Topics in Computing, vol. 6, no. 1, pp. 72-84, 2015. [170] K. Xie et al. , "Distributed multi-dimensional pricing for efficient application offloading in mobile cloud computing,"
IEEE Transactions on Services Computing,
IEEE Transactions on Cloud Computing,
IEEE Transactions on Services Computing,
IEEE Transactions on Industrial Informatics, vol. 14, no. 10, pp. 4692-4701, 2018. [174] G. Zhou, J. Wu, L. Chen, G. Jiang, and S.-K. Lam, "Efficient three-stage auction schemes for cloudlets deployment in wireless access network,"
Wireless Networks, vol. 25, no. 6, pp. 3335-3349, 2019. [175] H. Zhang, F. Guo, H. Ji, and C. Zhu, "Combinational auction-based service provider selection in mobile edge computing networks,"
IEEE Access, vol. 5, pp. 13455-13464, 2017. [176] A. Kiani and N. Ansari, "Toward hierarchical mobile edge computing: An auction-based profit maximization approach,"
IEEE Internet of Things Journal, vol. 4, no. 6, pp. 2082-2091, 2017. [177] C. Zhang, H. Zhao, and S. Deng, "A density-based offloading strategy for IoT devices in edge computing systems,"
IEEE Access, vol. 6, pp. 73520-73530, 2018. [178] I. Al Ridhawi, M. Aloqaily, Y. Kotb, Y. Al Ridhawi, and Y. Jararweh, "A collaborative mobile edge computing and user solution for service composition in 5G systems,"
Transactions on Emerging Telecommunications Technologies, vol. 29, no. 11, p. e3446, 2018. [179] V. Cardellini et al. , "A game-theoretic approach to computation offloading in mobile cloud computing,"
Mathematical Programming, vol. 157, no. 2, pp. 421-449, 2016. [180] X. Meng, W. Wang, and Z. Zhang, "Delay-constrained hybrid computation offloading with cloud and fog computing,"
IEEE Access, vol. 5, pp. 21355-21367, 2017. [181] Z. Zhao, G. Min, W. Gao, Y. Wu, H. Duan, and Q. Ni, "Deploying edge computing nodes for large-scale IoT: A diversity aware approach,"
IEEE Internet of Things Journal, vol. 5, no. 5, pp. 3606-3614, 2018. [182] X. He, R. Jin, and H. Dai, "Deep PDS-learning for privacy-aware offloading in MEC-enabled IoT,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4547-4555, 2018. [183] C. Ren, X. Lyu, W. Ni, H. Tian, and R. P. Liu, "Distributed online learning of fog computing under nonuniform device cardinality,"
IEEE Internet of Things Journal, vol. 6, no. 1, pp. 1147-1159, 2018. [184] Z. Wei, B. Zhao, J. Su, and X. Lu, "Dynamic edge computation offloading for internet of things with energy harvesting: A learning method,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4436-4447, 2018. [185] H. Shah-Mansouri and V. W. Wong, "Hierarchical fog-cloud computing for IoT systems: A computation offloading game,"
IEEE Internet of Things Journal, vol. 5, no. 4, pp. 3246-3257, 2018. 186] K. Fan, J. Wang, X. Wang, H. Li, and Y. Yang, "A secure and verifiable outsourced access control scheme in fog-cloud computing,"
Sensors, vol. 17, no. 7, p. 1695, 2017. [187] Z. Xu et al. , "An IoT-oriented offloading method with privacy preservation for cloudlet-enabled wireless metropolitan area networks,"
Sensors, vol. 18, no. 9, p. 3030, 2018. [188] Y. Yang, Y. Ma, W. Xiang, X. Gu, and H. Zhao, "Joint optimization of energy consumption and packet scheduling for mobile edge computing in cyber-physical networks,"
IEEE Access, vol. 6, pp. 15576-15586, 2018. [189] M. S. Elbamby, M. Bennis, W. Saad, M. Latva-Aho, and C. S. Hong, "Proactive edge computing in fog networks with latency and reliability guarantees,"
EURASIP Journal on Wireless Communications and Networking, vol. 2018, no. 1, p. 209, 2018. [190] C. You, K. Huang, H. Chae, and B.-H. Kim, "Energy-efficient resource allocation for mobile-edge computation offloading,"
IEEE Transactions on Wireless Communications, vol. 16, no. 3, pp. 1397-1411, 2016. [191] Y. Liu, J. E. Fieldsend, and G. Min, "A framework of fog computing: Architecture, challenges, and optimization,"
IEEE Access, vol. 5, pp. 25445-25454, 2017. [192] F. Wei, S. Chen, and W. Zou, "A greedy algorithm for task offloading in mobile edge computing system,"
China Communications, vol. 15, no. 11, pp. 149-157, 2018. [193] Y. Yu, X. Bu, K. Yang, Z. Wu, and Z. Han, "Green large-scale fog computing resource allocation using joint benders decomposition, Dinkelbach algorithm, ADMM, and branch-and-bound,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4106-4117, 2018. [194] M. Qin, L. Chen, N. Zhao, Y. Chen, F. R. Yu, and G. Wei, "Power-constrained edge computing with maximum processing capacity for IoT networks,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4330-4343, 2018. [195] Y. Jiang and D. H. Tsang, "Delay-aware task offloading in shared fog networks,"
IEEE Internet of Things Journal, vol. 5, no. 6, pp. 4945-4956, 2018. [196] K. Li and J. Nabrzyski, "Virtual machine placement in cloudlet mesh,"
Journal of Communications and Networks, vol. 20, no. 3, pp. 266-278, 2018. [197] V. B. Souza et al. , "Towards a proper service placement in combined Fog-to-Cloud (F2C) architectures,"
Future Generation Computer Systems, vol. 87, pp. 1-15, 2018. [198] S. Abdelwahab, B. Hamdaoui, M. Guizani, and T. Znati, "Replisom: Disciplined tiny memory replication for massive iot devices in lte edge cloud,"
IEEE Internet of Things Journal, vol. 3, no. 3, pp. 327-338, 2015. [199] H.-C. Hsieh, J.-L. Chen, and A. Benslimane, "5G virtualized multi-access edge computing platform for IoT applications,"
Journal of Network and Computer Applications, vol. 115, pp. 94-102, 2018. [200] Q. Zhang, Q. Zhang, W. Shi, and H. Zhong, "Distributed collaborative execution on the edges and its application to amber alerts,"
IEEE Internet of Things Journal, vol. 5, no. 5, pp. 3580-3593, 2018. [201] D. S. Roy, R. K. Behera, K. H. K. Reddy, and R. Buyya, "A context-aware fog enabled scheme for real-time cross-vertical IoT applications,"
IEEE Internet of Things Journal, vol. 6, no. 2, pp. 2400-2412, 2018. [202] M. H. Y. Moghaddam and A. Leon-Garcia, "A fog-based internet of energy architecture for transactive energy management systems,"
IEEE Internet of Things Journal, vol. 5, no. 2, pp. 1055-1069, 2018. [203] P. G. V. Naranjo, E. Baccarelli, and M. Scarpiniti, "Design and energy-efficient resource management of virtualized networked Fog architectures for the real-time support of IoT applications,"
The journal of Supercomputing, vol. 74, no. 6, pp. 2470-2507, 2018. [204] D. Miao, L. Liu, R. Xu, J. Panneerselvam, Y. Wu, and W. Xu, "An efficient indexing model for the fog layer of industrial internet of things,"
IEEE Transactions on Industrial Informatics, vol. 14, no. 10, pp. 4487-4496, 2018. [205] Y. Sun, M. Peng, and S. Mao, "Deep reinforcement learning-based mode selection and resource management for green fog radio access networks,"
IEEE Internet of Things Journal, vol. 6, no. 2, pp. 1960-1971, 2018. [206] T. Chen, Q. Ling, Y. Shen, and G. B. Giannakis, "Heterogeneous Online Learning for “Thing-Adaptive” Fog Computing in IoT,"
IEEE Internet of Things Journal, vol. 5, no. 6, pp. 4328-4341, 2018. [207] F. Corno, L. De Russis, A. Marcelli, and T. Montanaro, "An Unsupervised and Noninvasive Model for Predicting Network Resource Demands,"
IEEE Internet of Things Journal, vol. 5, no. 6, pp. 4342-4350, 2018. [208] I. Merelli et al. , "Low-power portable devices for metagenomics analysis: Fog computing makes bioinformatics ready for the Internet of Things,"
Future Generation Computer Systems, vol. 88, pp. 467-478, 2018. [209] Y. Wei, F. R. Yu, M. Song, and Z. Han, "Joint optimization of caching, computing, and radio resources for fog-enabled IoT using natural actor–critic deep reinforcement learning,"
IEEE Internet of Things Journal, vol. 6, no. 2, pp. 2061-2073, 2018. [210] X. Xu et al. , "Dynamic resource allocation for load balancing in fog environment,"
Wireless Communications and Mobile Computing, vol. 2018, 2018. [211] J. Wang and D. Li, "Adaptive computing optimization in software-defined network-based industrial Internet of Things with fog computing,"
Sensors, vol. 18, no. 8, p. 2509, 2018. [212] L. Liu, S. Chan, G. Han, M. Guizani, and M. Bandai, "Performance modeling of representative load sharing schemes for clustered servers in multiaccess edge computing,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4880-4888, 2018. [213] W. Wang, Q. Wang, and K. Sohraby, "Multimedia sensing as a service (MSaaS): Exploring resource saving potentials of at cloud-edge IoT and fogs,"
IEEE Internet of Things Journal, vol. 4, no. 2, pp. 487-495, 2016. [214] A. J. Neto, Z. Zhao, J. J. Rodrigues, H. B. Camboim, and T. Braun, "Fog-based crime-assistance in smart iot transportation system,"
IEEE access, vol. 6, pp. 11101-11111, 2018. [215] L. G. Jaimes, A. Chakeri, and R. Steele, "Localized cooperation for crowdsensing in a fog computing-enabled internet-of-things,"
Journal of Ambient Intelligence and Humanized Computing, pp. 1-13, 2018. [216] T.-C. Hsu, H. Yang, Y.-C. Chung, and C.-H. Hsu, "A Creative IoT agriculture platform for cloud fog computing,"
Sustainable Computing: Informatics and Systems, p. 100285, 2018. [217] M. Voegler, J. M. Schleicher, C. Inzinger, and S. Dustdar, "Optimizing elastic IoT application deployments,"
IEEE Transactions on Services Computing, vol. 11, no. 5, pp. 879-892, 2016. [218] M. S. Hossain, G. Muhammad, and S. U. Amin, "Improving consumer satisfaction in smart cities using edge computing and caching: A case study of date fruits classification,"
Future Generation Computer Systems, vol. 88, pp. 333-341, 2018. [219] H. M. Raafat et al. , "Fog intelligence for real-time IoT sensor data analytics,"
IEEE Access, vol. 5, pp. 24062-24069, 2017. [220] J. L. Pérez, A. Gutierrez-Torre, J. L. Berral, and D. Carrera, "A resilient and distributed near real-time traffic forecasting application for Fog computing environments,"
Future Generation Computer Systems, vol. 87, pp. 198-212, 2018. [221] R. Zhao, L. Wang, X. Zhang, Y. Zhang, L. Wang, and H. Peng, "A oneM2M-compliant stacked middleware promoting IoT research and development,"
IEEE Access, vol. 6, pp. 63546-63559, 2018. [222] P. Wang, X. Chen, and Z. Sun, "Performance modeling and suitability assessment of data center based on fog computing in smart systems,"
IEEE Access, vol. 6, pp. 29587-29593, 2018. [223] M. Durresi, A. Subashi, A. Durresi, L. Barolli, and K. Uchida, "Secure communication architecture for internet of things using smartphones and multi-access edge computing in environment monitoring,"
Journal of Ambient Intelligence and Humanized Computing, vol. 10, no. 4, pp. 1631-1640, 2019. [224] X. Li, D. Li, J. Wan, C. Liu, and M. Imran, "Adaptive transmission optimization in SDN-based industrial Internet of Things with edge computing,"
IEEE Internet of Things Journal, vol. 5, no. 3, pp. 1351-1360, 2018. [225] N. Ansari and X. Sun, "Mobile edge computing empowers internet of things,"
IEICE Transactions on Communications, vol. 101, no. 3, pp. 604-619, 2018. [226] R. Rapuzzi and M. Repetto, "Building situational awareness for network threats in fog/edge computing: Emerging paradigms beyond the security perimeter model,"
Future Generation Computer Systems, vol. 85, pp. 235-249, 2018. [227] S. Sarkar, S. Chatterjee, and S. Misra, "Assessment of the Suitability of Fog Computing in the Context of Internet of Things,"
IEEE Transactions on Cloud Computing, vol. 6, no. 1, pp. 46-59, 2015. [228] C.-H. Hong, K. Lee, M. Kang, and C. Yoo, "qCon: QoS-Aware network resource management for fog computing,"
Sensors, vol. 18, no. 10, p. 3444, 2018. [229] H.-C. Hsieh, C.-S. Lee, and J.-L. Chen, "Mobile edge computing platform with container-based virtualization technology for IoT applications,"
Wireless Personal Communications, vol. 102, no. 1, pp. 527-542, 2018. 230] C. Esposito, A. Bruno, G. Cattaneo, and F. Palmieri, "On the optimal tuning and placement of FEC codecs within multicasting trees for resilient publish/subscribe services in edge-IoT architectures,"
Future Generation Computer Systems, vol. 88, pp. 140-150, 2018. [231] D.-Y. Kim, S. Kim, and J. H. Park, "Remote software update in trusted connection of long range IoT networking integrated with mobile edge cloud,"
IEEE Access, vol. 6, pp. 66831-66840, 2017. [232] D. Y. Kim, S. Kim, and J. H. Park, "A combined network control approach for the edge cloud and LPWAN‐based IoT services,"
Concurrency and Computation: Practice and Experience, vol. 32, no. 1, p. e4406, 2020. [233] A. A. Diro, H. T. Reda, and N. Chilamkurti, "Differential flow space allocation scheme in SDN based fog computing for IoT applications,"
Journal of Ambient Intelligence and Humanized Computing, pp. 1-11, 2018. [234] J. Cao, L. Yang, and J. Cao, "Revisiting Computation Partitioning in Future 5G-Based Edge Computing Environments,"
IEEE Internet of Things Journal, vol. 6, no. 2, pp. 2427-2438, 2018. [235] Q. Shafi, A. Basit, S. Qaisar, A. Koay, and I. Welch, "Fog-assisted SDN controlled framework for enduring anomaly detection in an IoT network,"
IEEE Access, vol. 6, pp. 73713-73723, 2018. [236] R. Kozik, M. Choraś, M. Ficco, and F. Palmieri, "A scalable distributed machine learning approach for attack detection in edge computing environments,"
Journal of Parallel and Distributed Computing, vol. 119, pp. 18-26, 2018. [237] L. Zhang and J. Li, "Enabling robust and privacy-preserving resource allocation in fog computing,"
IEEE Access, vol. 6, pp. 50384-50393, 2018. [238] M. Suárez-Albela, T. M. Fernández-Caramés, P. Fraga-Lamas, and L. Castedo, "A practical evaluation of a high-security energy-efficient gateway for IoT fog computing applications,"
Sensors, vol. 17, no. 9, p. 1978, 2017. [239] H. Duan, Y. Zheng, C. Wang, and X. Yuan, "Treasure collection on foggy islands: building secure network archives for internet of things,"
IEEE Internet of Things Journal, vol. 6, no. 2, pp. 2637-2650, 2018. [240] S. Islam and J.-C. Grégoire, "Giving users an edge: A flexible cloud model and its application for multimedia,"
Future Generation Computer Systems, vol. 28, no. 6, pp. 823-832, 2012. [241] H. Zhang, Y. Xiao, S. Bu, D. Niyato, F. R. Yu, and Z. Han, "Computing resource allocation in three-tier IoT fog networks: A joint optimization approach combining Stackelberg game and matching,"
IEEE Internet of Things Journal, vol. 4, no. 5, pp. 1204-1215, 2017. [242] X. Hou, Y. Li, M. Chen, D. Wu, D. Jin, and S. Chen, "Vehicular fog computing: A viewpoint of vehicles as the infrastructures,"
IEEE Transactions on Vehicular Technology, vol. 65, no. 6, pp. 3860-3873, 2016. [243] S. Raza, S. Wang, M. Ahmed, and M. R. Anwar, "A survey on vehicular edge computing: architecture, applications, technical issues, and future directions,"
Wireless Communications and Mobile Computing, vol. 2019, 2019. [244] S. Kato and R. Shinkuma, "Priority control in communication networks for accuracy-freshness tradeoff in real-time road-traffic information delivery,"
IEEE Access, vol. 5, pp. 25226-25235, 2017. [245] J. Liu et al. , "Secure intelligent traffic light control using fog computing,"
Future Generation Computer Systems, vol. 78, pp. 817-824, 2018. [246] C. Tang, X. Wei, C. Zhu, W. Chen, and J. J. Rodrigues, "Towards smart parking based on fog computing,"
IEEE Access, vol. 6, pp. 70172-70185, 2018. [247] K. Zhang, Y. Mao, S. Leng, Y. He, and Y. Zhang, "Mobile-edge computing for vehicular networks: A promising network paradigm with predictive off-loading,"
IEEE Vehicular Technology Magazine, vol. 12, no. 2, pp. 36-44, 2017. [248] Z. Wang, Z. Zhong, D. Zhao, and M. Ni, "Vehicle-based cloudlet relaying for mobile computation offloading,"
IEEE Transactions on Vehicular Technology, vol. 67, no. 11, pp. 11181-11191, 2018. [249] Y. Dai, D. Xu, S. Maharjan, and Y. Zhang, "Joint load balancing and offloading in vehicular edge computing and networks,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4377-4387, 2018. [250] K. Zhang, Y. Mao, S. Leng, S. Maharjan, A. Vinel, and Y. Zhang, "Contract-theoretic approach for delay constrained offloading in vehicular edge computing networks,"
Mobile Networks and Applications, vol. 24, no. 3, pp. 1003-1014, 2019. [251] A. Ashok, P. Steenkiste, and F. Bai, "Vehicular cloud computing through dynamic computation offloading,"
Computer Communications, vol. 120, pp. 125-137, 2018. [252] F. Sun et al. , "Cooperative task scheduling for computation offloading in vehicular cloud,"
IEEE Transactions on Vehicular Technology, vol. 67, no. 11, pp. 11049-11061, 2018. [253] J. Feng, Z. Liu, C. Wu, and Y. Ji, "AVE: Autonomous vehicular edge computing framework with ACO-based scheduling,"
IEEE Transactions on Vehicular Technology, vol. 66, no. 12, pp. 10660-10675, 2017. [254] M. Shojafar, N. Cordeschi, and E. Baccarelli, "Energy-efficient adaptive resource management for real-time vehicular cloud services,"
IEEE Transactions on Cloud computing, vol. 7, no. 1, pp. 196-209, 2016. [255] R. Yu, J. Ding, X. Huang, M.-T. Zhou, S. Gjessing, and Y. Zhang, "Optimal resource sharing in 5G-enabled vehicular networks: A matrix game approach,"
IEEE Transactions on Vehicular Technology, vol. 65, no. 10, pp. 7844-7856, 2016. [256] N. S. Safa, C. Maple, M. Haghparast, T. Watson, and M. Dianati, "An opportunistic resource management model to overcome resource‐constraint in the Internet of Things,"
Concurrency and Computation: Practice and Experience, vol. 31, no. 8, p. e5014, 2019. [257] E.-K. Lee, M. Gerla, G. Pau, U. Lee, and J.-H. Lim, "Internet of Vehicles: From intelligent grid to autonomous cars and vehicular fogs,"
International Journal of Distributed Sensor Networks, vol. 12, no. 9, p. 1550147716665500, 2016. [258] X. Kui, Y. Sun, S. Zhang, and Y. Li, "Characterizing the capability of vehicular fog computing in large-scale urban environment,"
Mobile Networks and Applications, vol. 23, no. 4, pp. 1050-1067, 2018. [259] A. K. Monfared, E. W. Zegura, M. Ammar, D. Doria, and D. Bruno, "Computational ferrying: Efficient scheduling of computation on a mobile high performance computer,"
Computer Communications, vol. 96, pp. 110-122, 2016. [260] C. Zhu et al. , "Folo: Latency and quality optimized task allocation in vehicular fog computing,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4150-4161, 2018. [261] X. Huang, R. Yu, J. Liu, and L. Shu, "Parked vehicle edge computing: Exploiting opportunistic resources for distributed mobile applications,"
IEEE Access, vol. 6, pp. 66649-66663, 2018. [262] H. Liu, Y. Wang, F. Li, X. Wang, C. Liu, and M. G. Pecht, "Perceptual Vibration Hashing by Sub-Band Coding: An Edge Computing Method for Condition Monitoring,"
IEEE Access, vol. 7, pp. 129644-129658, 2019. [263] Y. Lai, H. Lin, F. Yang, and T. Wang, "Efficient data request answering in vehicular Ad-hoc networks based on fog nodes and filters,"
Future Generation Computer Systems, vol. 93, pp. 130-142, 2019. [264] K. Fan, J. Wang, X. Wang, H. Li, and Y. Yang, "Secure, efficient and revocable data sharing scheme for vehicular fogs,"
Peer-to-Peer Networking and Applications, vol. 11, no. 4, pp. 766-777, 2018. [265] Q. Kong, R. Lu, M. Ma, and H. Bao, "A privacy-preserving sensory data sharing scheme in Internet of Vehicles,"
Future Generation Computer Systems, vol. 92, pp. 644-655, 2019. [266] K. Thar, T. Z. Oo, Y. K. Tun, K. T. Kim, and C. S. Hong, "A deep learning model generation framework for virtualized multi-access edge cache management,"
IEEE Access, vol. 7, pp. 62734-62749, 2019. [267] Q. Hu, C. Wu, X. Zhao, X. Chen, Y. Ji, and T. Yoshinaga, "Vehicular multi-access edge computing with licensed sub-6 ghz, ieee 802.11 p and mmwave,"
IEEE Access, vol. 6, pp. 1995-2004, 2017. [268] Y. He, N. Zhao, and H. Yin, "Integrated networking, caching, and computing for connected vehicles: A deep reinforcement learning approach,"
IEEE Transactions on Vehicular Technology, vol. 67, no. 1, pp. 44-55, 2017. [269] T. Li, M. Zhao, A. Liu, and C. Huang, "On selecting vehicles as recommenders for vehicular social networks,"
IEEE Access, vol. 5, pp. 5539-5555, 2017. [270] X. Huang, R. Yu, J. Kang, Y. He, and Y. Zhang, "Exploring mobile edge computing for 5G-enabled software defined vehicular networks,"
IEEE Wireless Communications, vol. 24, no. 6, pp. 55-63, 2017. [271] M. Li, P. Si, and Y. Zhang, "Delay-tolerant data traffic to software-defined vehicular networks with mobile edge computing in smart city,"
IEEE Transactions on Vehicular Technology, vol. 67, no. 10, pp. 9073-9086, 2018. [272] T. S. Darwish and K. A. Bakar, "Fog based intelligent transportation big data analytics in the internet of vehicles environment: motivations, architecture, challenges, and critical issues,"
IEEE Access, vol. 6, pp. 15679-15701, 2018. 273] X. Zhu, J. Li, Z. Liu, and F. Yang, "Location deployment of depots and resource relocation for connected car-sharing systems through mobile edge computing,"
International Journal of Distributed Sensor Networks, vol. 13, no. 6, p. 1550147717711621, 2017. [274] Y. Lai, F. Yang, L. Zhang, and Z. Lin, "Distributed public vehicle system based on fog nodes and vehicular sensing,"
IEEE Access, vol. 6, pp. 22011-22024, 2018. [275] F. Lin, X. Lü, I. You, and X. Zhou, "A novel utility based resource management scheme in vehicular social edge computing,"
IEEE Access, vol. 6, pp. 66673-66684, 2018. [276] S.-Y. Lien, S.-C. Hung, D.-J. Deng, C.-L. Lai, and H.-L. Tsai, "Low latency radio access in 3GPP local area data networks for V2X: Stochastic optimization and learning,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4867-4879, 2018. [277] X. Huang, R. Yu, M. Pan, and L. Shu, "Secure roadside unit hotspot against eavesdropping based traffic analysis in edge computing based internet of vehicles,"
IEEE Access, vol. 6, pp. 62371-62383, 2018. [278] M. Li, L. Zhu, and X. Lin, "Efficient and privacy-preserving carpooling using blockchain-assisted vehicular fog computing,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4573-4584, 2018. [279] L. Zhou, L. Yu, S. Du, H. Zhu, and C. Chen, "Achieving differentially private location privacy in edge-assistant connected vehicles,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4472-4481, 2018. [280] M. Li, L. Zhu, Z. Zhang, X. Du, and M. Guizani, "Pros: A privacy-preserving route-sharing service via vehicular fog computing,"
IEEE Access, vol. 6, pp. 66188-66197, 2018. [281] M. Liwang, S. Dai, Z. Gao, Y. Tang, and H. Dai, "A truthful reverse-auction mechanism for computation offloading in cloud-enabled vehicular network,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4214-4227, 2018. [282] A. Yassine, M. S. Hossain, G. Muhammad, and M. Guizani, "Double auction mechanisms for dynamic autonomous electric vehicles energy trading,"
IEEE Transactions on Vehicular Technology, vol. 68, no. 8, pp. 7466-7476, 2019. [283] D. Han, W. Chen, and Y. Fang, "A dynamic pricing strategy for vehicle assisted mobile edge computing systems,"
IEEE Wireless Communications Letters, vol. 8, no. 2, pp. 420-423, 2018. [284] F. Cicirelli, A. Guerrieri, G. Spezzano, and A. Vinci, "An edge-based platform for dynamic smart city applications,"
Future Generation Computer Systems, vol. 76, pp. 106-118, 2017. [285] H. Zhang, J. Li, B. Wen, Y. Xun, and J. Liu, "Connecting intelligent things in smart hospitals using NB-IoT,"
IEEE Internet of Things Journal, vol. 5, no. 3, pp. 1550-1560, 2018. [286] Y. Liu, F. R. Yu, X. Li, H. Ji, and V. C. Leung, "Distributed resource allocation and computation offloading in fog and cloud networks with non-orthogonal multiple access,"
IEEE Transactions on Vehicular Technology, vol. 67, no. 12, pp. 12137-12151, 2018. [287] Z. Yan, M. Peng, and M. Daneshmand, "Cost-aware resource allocation for optimization of energy efficiency in fog radio access networks,"
IEEE Journal on Selected Areas in Communications, vol. 36, no. 11, pp. 2581-2590, 2018. [288] Y. Niu, Y. Liu, Y. Li, Z. Zhong, B. Ai, and P. Hui, "Mobility-aware caching scheduling for fog computing in mmWave band,"
IEEE Access, vol. 6, pp. 69358-69370, 2018. [289] S. Sthapit, J. Thompson, N. M. Robertson, and J. R. Hopgood, "Computational load balancing on the edge in absence of cloud and fog,"
IEEE Transactions on Mobile Computing, vol. 18, no. 7, pp. 1499-1512, 2018. [290] S. Ningning, G. Chao, A. Xingshuo, and Z. Qiang, "Fog computing dynamic load balancing mechanism based on graph repartitioning,"
China Communications, vol. 13, no. 3, pp. 156-164, 2016. [291] S. Kim, "One‐on‐one contract game–based dynamic virtual machine migration scheme for Mobile Edge Computing,"
Transactions on Emerging Telecommunications Technologies, vol. 29, no. 1, p. e3204, 2018. [292] A. C. Baktir, A. Ozgovde, and C. Ersoy, "How can edge computing benefit from software-defined networking: A survey, use cases, and future directions,"
IEEE Communications Surveys & Tutorials, vol. 19, no. 4, pp. 2359-2391, 2017. [293] L. Huang, X. Feng, A. Feng, Y. Huang, and L. P. Qian, "Distributed deep learning-based offloading for mobile edge computing networks,"
Mobile Networks and Applications, pp. 1-8, 2018. [294] Q.-V. Pham, T. Leanh, N. H. Tran, B. J. Park, and C. S. Hong, "Decentralized computation offloading and resource allocation for mobile-edge computing: A matching game approach,"
IEEE Access, vol. 6, pp. 75868-75885, 2018. [295] L. Yang, J. Cao, Z. Wang, and W. Wu, "Network aware mobile edge computation partitioning in multi-user environments,"
IEEE Transactions on Services Computing,
IEEE Transactions on Mobile Computing, vol. 17, no. 11, pp. 2660-2674, 2018. [297] X. Tao, K. Ota, M. Dong, H. Qi, and K. Li, "Performance guaranteed computation offloading for mobile-edge cloud computing,"
IEEE Wireless Communications Letters, vol. 6, no. 6, pp. 774-777, 2017. [298] T. Q. Dinh, Q. D. La, T. Q. Quek, and H. Shin, "Learning for computation offloading in mobile edge computing,"
IEEE Transactions on Communications, vol. 66, no. 12, pp. 6353-6367, 2018. [299] X. Chen, L. Jiao, W. Li, and X. Fu, "Efficient multi-user computation offloading for mobile-edge cloud computing,"
IEEE/ACM Transactions on Networking, vol. 24, no. 5, pp. 2795-2808, 2015. [300] H. Wen, L. Yang, and Z. Wang, "ParGen: A parallel method for partitioning data stream applications in mobile edge computing,"
IEEE Access, vol. 6, pp. 5037-5048, 2017. [301] L. Cui et al. , "Joint optimization of energy consumption and latency in mobile edge computing for Internet of Things,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4791-4803, 2018. [302] J. Liu and Q. Zhang, "Offloading schemes in mobile edge computing for ultra-reliable low latency communications,"
Ieee Access, vol. 6, pp. 12825-12837, 2018. [303] T. Q. Dinh, J. Tang, Q. D. La, and T. Q. Quek, "Offloading in Mobile Edge Computing: Task Allocation and Computational Frequency Scaling,"
IEEE Transactions on Communications, vol. 65, no. 8, pp. 3571-3584, 2017. [304] I. Farris, A. Orsino, L. Militano, A. Iera, and G. Araniti, "Federated IoT services leveraging 5G technologies at the edge,"
Ad Hoc Networks, vol. 68, pp. 58-69, 2018. [305] F. Lordan, J. Jensen, and R. M. Badia, "Towards mobile cloud computing with single sign-on access,"
Journal of Grid Computing, vol. 16, no. 4, pp. 627-646, 2018. [306] X. Lyu, C. Ren, W. Ni, H. Tian, and R. P. Liu, "Distributed optimization of collaborative regions in large-scale inhomogeneous fog computing,"
IEEE Journal on Selected Areas in Communications, vol. 36, no. 3, pp. 574-586, 2018. [307] L. Liu, Z. Chang, and X. Guo, "Socially aware dynamic computation offloading scheme for fog computing system with energy harvesting devices,"
IEEE Internet of Things Journal, vol. 5, no. 3, pp. 1869-1879, 2018. [308] A. Mukherjee, P. Deb, D. De, and R. Buyya, "C2OF2N: a low power cooperative code offloading method for femtolet-based fog network,"
The Journal of Supercomputing, vol. 74, no. 6, pp. 2412-2448, 2018. [309] H. Abbas, S. Shaheen, M. Elhoseny, A. K. Singh, and M. Alkhambashi, "Systems thinking for developing sustainable complex smart cities based on self-regulated agent systems and fog computing,"
Sustainable Computing: Informatics and Systems, vol. 19, pp. 204-213, 2018. [310] M. Aazam, S. Zeadally, and K. A. Harras, "Deploying fog computing in industrial internet of things and industry 4.0,"
IEEE Transactions on Industrial Informatics, vol. 14, no. 10, pp. 4674-4682, 2018. [311] M. Chen and V. C. Leung, "From cloud-based communications to cognition-based communications: A computing perspective,"
Computer Communications, vol. 128, pp. 74-79, 2018. [312] M. Bhatia and S. K. Sood, "Exploring temporal analytics in fog-cloud architecture for smart office healthcare,"
Mobile Networks and Applications, vol. 24, no. 4, pp. 1392-1410, 2019. [313] X. Deng, M. Xu, L. T. Yang, M. Lin, L. Yi, and M. Wang, "Energy balanced dispatch of mobile edge nodes for confident information coverage hole repairing in IoT,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4782-4790, 2018. [314] K. Zhang et al. , "Energy-efficient offloading for mobile edge computing in 5G heterogeneous networks,"
IEEE access, vol. 4, pp. 5896-5907, 2016. [315] X. He, Z. Ren, C. Shi, and J. Fang, "A novel load balancing strategy of software-defined cloud/fog networking in the Internet of Vehicles,"
China Communications, vol. 13, no. Supplement2, pp. 140-149, 2016. [316] Y.-D. Lin, Y.-C. Lai, J.-X. Huang, and H.-T. Chien, "Three-tier capacity and traffic allocation for core, edges, and devices for mobile edge computing,"
IEEE Transactions on Network and Service Management, vol. 15, no. 3, pp. 923-933, 2018. 317] P. Zhang, M. Zhou, and G. Fortino, "Security and trust issues in fog computing: A survey,"
Future Generation Computer Systems, vol. 88, pp. 16-27, 2018. [318] M. S. Hossain, G. Muhammad, M. F. Alhamid, B. Song, and K. Al-Mutib, "Audio-visual emotion recognition using big data towards 5G,"
Mobile Networks and Applications, vol. 21, no. 5, pp. 753-763, 2016. [319] M. Asif-Ur-Rahman et al. , "Toward a heterogeneous mist, fog, and cloud-based framework for the internet of healthcare things,"
IEEE Internet of Things Journal, vol. 6, no. 3, pp. 4049-4062, 2018. [320] C. Li, X. Zheng, Z. Yang, and L. Kuang, "Predicting short-term electricity demand by combining the advantages of arma and xgboost in fog computing environment,"
Wireless Communications and Mobile Computing, vol. 2018, 2018. [321] T. G. Rodrigues, K. Suto, H. Nishiyama, and N. Kato, "Hybrid method for minimizing service delay in edge cloud computing through VM migration and transmission power control,"
IEEE Transactions on Computers, vol. 66, no. 5, pp. 810-819, 2016. [322] F. Zhou, Y. Wu, R. Q. Hu, and Y. Qian, "Computation rate maximization in UAV-enabled wireless-powered mobile-edge computing systems,"
IEEE Journal on Selected Areas in Communications, vol. 36, no. 9, pp. 1927-1941, 2018. [323] E. Baccarelli, M. Scarpiniti, and A. Momenzadeh, "Fog-supported delay-constrained energy-saving live migration of VMs over multipath TCP/IP 5G connections,"
IEEE Access, vol. 6, pp. 42327-42354, 2018. [324] R. Q. Hu, "Mobility-aware edge caching and computing in vehicle networks: A deep reinforcement learning,"
IEEE Transactions on Vehicular Technology, vol. 67, no. 11, pp. 10190-10203, 2018. [325] E. A. Silver, R. Victor, V. Vidal, and D. de Werra, "A tutorial on heuristic methods,"
European Journal of Operational Research, vol. 5, no. 3, pp. 153-162, 1980. [326] E. A. Silver, "An overview of heuristic solution methods,"
Journal of the operational research society, vol. 55, no. 9, pp. 936-956, 2004. [327] W. Fan, Y. a. Liu, B. Tang, F. Wu, and Z. Wang, "Computation offloading based on cooperations of mobile edge computing-enabled base stations,"
IEEE Access, vol. 6, pp. 22622-22633, 2017. [328] S. S. Gill, P. Garraghan, and R. Buyya, "ROUTER: Fog enabled cloud based intelligent resource management approach for smart home IoT devices,"
Journal of Systems and Software, vol. 154, pp. 125-138, 2019. [329] P. Hao, L. Hu, J. Jiang, J. Hu, and X. Che, "Mobile edge provision with flexible deployment,"
IEEE Transactions on Services Computing, vol. 12, no. 5, pp. 750-761, 2018. [330] M. Liu, Y. Mao, S. Leng, and S. Mao, "Full-duplex aided user virtualization for mobile edge computing in 5G networks,"
IEEE Access, vol. 6, pp. 2996-3007, 2017. [331] J. Ahn, J. Lee, S. Park, and H.-S. Park, "Power efficient clustering scheme for 5G mobile edge computing environment,"
Mobile Networks and Applications, vol. 24, no. 2, pp. 643-652, 2019. [332] Q. Wang, S. Guo, J. Liu, and Y. Yang, "Energy-efficient computation offloading and resource allocation for delay-sensitive mobile edge computing,"
Sustainable Computing: Informatics and Systems, vol. 21, pp. 154-164, 2019. [333] J. Ren, G. Yu, Y. He, and G. Y. Li, "Collaborative cloud and edge computing for latency minimization,"
IEEE Transactions on Vehicular Technology, vol. 68, no. 5, pp. 5031-5044, 2019. [334] M. G. R. Alam, M. S. Munir, M. Z. Uddin, M. S. Alam, T. N. Dang, and C. S. Hong, "Edge-of-things computing framework for cost-effective provisioning of healthcare data,"
Journal of Parallel and Distributed Computing, vol. 123, pp. 54-60, 2019. [335] Z.-z. Liu and S.-n. Li, "Sensor-cloud data acquisition based on fog computation and adaptive block compressed sensing,"
International Journal of Distributed Sensor Networks, vol. 14, no. 9, p. 1550147718802259, 2018. [336] L. Wang, M. Guan, Y. Ai, Y. Chen, B. Jiao, and L. Hanzo, "Beamforming-aided NOMA expedites collaborative multiuser computational offloading,"
IEEE Transactions on Vehicular Technology, vol. 67, no. 10, pp. 10027-10032, 2018. [337] Y. Dai, D. Xu, S. Maharjan, and Y. Zhang, "Joint computation offloading and user association in multi-task mobile edge computing,"
IEEE Transactions on Vehicular Technology, vol. 67, no. 12, pp. 12313-12325, 2018. [338] C. Han, P. Zhang, W. Wang, Y. Wang, and Z. Zhang, "Delay-Optimal Joint Processing in Computation-Constrained Fog Radio Access Networks,"
IEEE Access, vol. 7, pp. 58857-58865, 2019. [339] J. Liu, B. Bai, J. Zhang, and K. B. Letaief, "Cache placement in Fog-RANs: From centralized to distributed algorithms,"
IEEE Transactions on Wireless Communications, vol. 16, no. 11, pp. 7039-7051, 2017. [340] N. Verba, K.-M. Chao, J. Lewandowski, N. Shah, A. James, and F. Tian, "Modeling industry 4.0 based fog computing environments for application analysis and deployment,"
Future Generation Computer Systems, vol. 91, pp. 48-60, 2019. [341] L. Wang, L. Jiao, J. Li, J. Gedeon, and M. Mühlhäuser, "Moera: Mobility-agnostic online resource allocation for edge computing,"
IEEE Transactions on Mobile Computing, vol. 18, no. 8, pp. 1843-1856, 2018. [342] M. Chen, W. Li, Y. Hao, Y. Qian, and I. Humar, "Edge cognitive computing based smart healthcare system,"
Future Generation Computer Systems, vol. 86, pp. 403-411, 2018. [343] J. Kim et al. , "A Context-aware adaptive algorithm for ambient intelligence DASH at mobile edge computing,"
Journal of Ambient Intelligence and Humanized Computing, vol. 11, no. 4, pp. 1377-1385, 2020. [344] L. Li, K. Ota, and M. Dong, "Human in the loop: distributed deep model for mobile crowdsensing,"
IEEE Internet of Things Journal, vol. 5, no. 6, pp. 4957-4964, 2018. [345] L. Valerio, M. Conti, and A. Passarella, "Energy efficient distributed analytics at the edge of the network for IoT environments,"
Pervasive and Mobile Computing, vol. 51, pp. 27-42, 2018. [346] P. Zhang, Q. Zhao, J. Gao, W. Li, and J. Lu, "Urban street cleanliness assessment using mobile edge computing and deep learning,"
IEEE Access, vol. 7, pp. 63550-63563, 2019. [347] W.-X. Liu, J. Zhang, Z.-W. Liang, L.-X. Peng, and J. Cai, "Content popularity prediction and caching for ICN: A deep learning approach with SDN,"
IEEE access, vol. 6, pp. 5075-5089, 2017. [348] A. Farzad, H. Mashayekhi, and H. Hassanpour, "A comparative performance analysis of different activation functions in LSTM networks for classification,"
Neural Computing and Applications, vol. 31, no. 7, pp. 2507-2521, 2019. [349] J. Chen and X. Ran, "Deep Learning With Edge Computing: A Review,"
Proceedings of the IEEE, vol. 107, no. 8, pp. 1655-1674, 2019. [350] S. Rashidi and S. Sharifian, "Cloudlet dynamic server selection policy for mobile task off-loading in mobile cloud computing using soft computing techniques,"
The Journal of Supercomputing, vol. 73, no. 9, pp. 3796-3820, 2017. [351] X. Zhang, J. Lin, Z. Chen, F. Sun, X. Zhu, and G. Fang, "An Efficient Neural-Network-Based Microseismic Monitoring Platform for Hydraulic Fracture on an Edge Computing Architecture,"
Sensors, vol. 18, no. 6, p. 1828, 2018. [352] G. Qiao, S. Leng, and Y. Zhang, "Online learning and optimization for computation offloading in D2D edge computing and networks,"
Mobile Networks and Applications, pp. 1-12, 2019. [353] J. Ren, H. Wang, T. Hou, S. Zheng, and C. Tang, "Federated learning-based computation offloading optimization in edge computing-supported internet of things,"
IEEE Access, vol. 7, pp. 69194-69201, 2019. [354] H. Ke, J. Wang, H. Wang, and Y. Ge, "Joint Optimization of Data Offloading and Resource Allocation With Renewable Energy Aware for IoT Devices: A Deep Reinforcement Learning Approach,"
IEEE Access, vol. 7, pp. 179349-179363, 2019. [355] J. Matousek and B. Gärtner,
Understanding and using linear programming . Springer Science & Business Media, 2007. [356] M. Avriel,
Nonlinear programming: analysis and methods . Courier Corporation, 2003. [357] G. Li, J. Yan, L. Chen, J. Wu, Q. Lin, and Y. Zhang, "Energy consumption optimization with a delay threshold in cloud-fog cooperation computing,"
IEEE access, vol. 7, pp. 159688-159697, 2019. [358] F. Karatas and I. Korpeoglu, "Fog-based data distribution service (F-DAD) for internet of things (IoT) applications,"
Future Generation Computer Systems, vol. 93, pp. 156-169, 2019. [359] D. Ren, X. Gui, K. Zhang, and J. Wu, "Hybrid collaborative caching in mobile edge networks: An analytical approach,"
Computer Networks, vol. 158, pp. 1-16, 2019. [360] H. Mazouzi, K. Boussetta, and N. Achir, "Maximizing mobiles energy saving through tasks optimal offloading placement in two-tier cloud: A theoretical and an experimental study,"
Computer Communications, vol. 144, pp. 132-148, 2019. [361] C. W. Ling, A. Datta, and J. Xu, "On hybrid network coding for visual traffic surveillance,"
Future Generation Computer Systems, vol. 100, pp. 440-455, 2019. 362] S. Zhao, Y. Yang, Z. Shao, X. Yang, H. Qian, and C.-X. Wang, "FEMOS: Fog-enabled multitier operations scheduling in dynamic wireless networks,"
IEEE Internet of Things Journal, vol. 5, no. 2, pp. 1169-1183, 2018. [363] Y. Gu, Z. Chang, M. Pan, L. Song, and Z. Han, "Joint radio and computational resource allocation in IoT fog computing,"
IEEE Transactions on Vehicular Technology, vol. 67, no. 8, pp. 7475-7484, 2018. [364] Z. Zheng, L. Song, Z. Han, G. Y. Li, and H. V. Poor, "A Stackelberg game approach to proactive caching in large-scale mobile edge networks,"
IEEE Transactions on Wireless Communications, vol. 17, no. 8, pp. 5198-5211, 2018. [365] H. Sedjelmaci, A. Boudguiga, I. B. Jemaa, and S. M. Senouci, "An efficient cyber defense framework for UAV-Edge computing network,"
Ad Hoc Networks, vol. 94, p. 101970, 2019. [366] X. Li, X. Huang, C. Li, R. Yu, and L. Shu, "EdgeCare: leveraging edge computing for collaborative data management in mobile healthcare systems,"
IEEE Access, vol. 7, pp. 22011-22025, 2019. [367] X. Li, C. Zhang, B. Gu, K. Yamori, and Y. Tanaka, "Optimal pricing and service selection in the mobile cloud architectures,"
IEEE Access, vol. 7, pp. 43564-43572, 2019. [368] T. Qayyum, A. W. Malik, M. A. K. Khattak, O. Khalid, and S. U. Khan, "FogNetSim++: A toolkit for modeling and simulation of distributed fog environment,"
IEEE Access, vol. 6, pp. 63570-63583, 2018. [369] H. Gupta, A. Vahid Dastjerdi, S. K. Ghosh, and R. Buyya, "iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments,"
Software: Practice and Experience, vol. 47, no. 9, pp. 1275-1296, 2017. [370] C. Sonmez, A. Ozgovde, and C. Ersoy, "Edgecloudsim: An environment for performance evaluation of edge computing systems,"
Transactions on Emerging Telecommunications Technologies, vol. 29, no. 11, p. e3493, 2018. [371] X. Zeng, S. K. Garg, P. Strazdins, P. P. Jayaraman, D. Georgakopoulos, and R. Ranjan, "IOTSim: A simulator for analysing IoT applications,"
Journal of Systems Architecture, vol. 72, pp. 93-107, 2017. [372] J. Siegel and J. Perdue, "Cloud services measures for global use: the service measurement index (SMI)," in , 2012, pp. 411-415: IEEE. [373]
ISO 9126: The Standard of Reference, ISO/IEC 9126 , 1991. [374] Y. Zhao, W. Wang, Y. Li, C. C. Meixner, M. Tornatore, and J. Zhang, "Edge computing and networking: A survey on infrastructures and applications,"
IEEE Access, vol. 7, pp. 101213-101230, 2019. [375] J. Gedeon, F. Brandherm, R. Egert, T. Grube, and M. Mühlhäuser, "What the fog? edge computing revisited: Promises, applications and future challenges,"
IEEE Access, vol. 7, pp. 152847-152878, 2019. [376] W. Z. Khan, E. Ahmed, S. Hakak, I. Yaqoob, and A. Ahmed, "Edge computing: A survey,"
Future Generation Computer Systems, vol. 97, pp. 219-235, 2019. [1].
Jalal Sakhdari received his B.Sc. degree from the Department of Computer Engineering, Islamic Azad University, Mashhad, Iran, in 2006 and the M.Sc. degree in computer science from the Ferdowsi University, Mashhad, Iran, in 2016. He is now Ph.D. candidate of computer software engineering at Department of Computer Engineering, Ferdowsi University of Mashhad, Mashhad, Iran His research interests include edge computing, the Internet of Things, distributed computing, and future networks.
Shaghayegh Izadpanah received her B.Sc. and M.Sc. degrees in Information Technology from the Birjand University in 2014 and 2017, respectively. She is now Ph.D. candidate of computer software engineering at Department of Computer Engineering, Ferdowsi University, Mashhad, Iran. Her research interests are cloud computing, micro-service architecture and software quality engineering.
Behrooz Zolfaghari received his B.Sc. and M.Sc. degrees in computer engineering from the Ferdowsi University of Mashhad in 2015 and 2018, respectively. He is now Ph.D. candidate of computer software engineering at Department of Computer Engineering, Ferdowsi University, Mashhad, Iran. His research interests are distributed systems, cloud computing, and resource management.
Samaneh Hajy Mahdizadeh Zargar received her B.Sc. in software engineering from Ferdowsi University of Mashhad, Iran in 2007, and M.Sc. degrees in software engineering from Islamic Azad University of Mashhad, Iran in 2014. She is now Ph.D. candidate of computer software engineering at Department of Computer Engineering, Ferdowsi University, Mashhad, Iran. Her research interests include edge computing and resource management.
Mahla Rahati-Quchani received her B.Sc. in Computer Engineering from Iran University of Science and Technology in 2015, and M.Sc. degrees in Computer Engineering from Ferdowsi University, Mashhad, Iran in 2019. Her research interests include mobile edge computing and fog computing.
Mahsa Shadi received her B.Sc. and M.Sc. degrees in software engineering from Ferdowsi University, Mashhad, Iran in 2014 and 2018, respectively. Her research interests include mobile cloud computing and edge computing.
Saeid Abrishami received his B.Sc., M.Sc., and Ph.D. degrees in computer engineering from Ferdowsi University, Mashhad, Iran, in 1997, 1999 and 2011 respectively. Since 2002, he has been with the Department of Computer Engineering of Ferdowsi University of Mashhad, where he is currently an assistant professor in the Software Engineering Group. During the spring and summer of 2009 he was a visiting researcher at the Delft University of Technology. His research interests focus on resource management and scheduling in the distributed systems, especially in Cloud.