<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.39 (Ruby 3.0.2) -->

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-irtf-t2trg-iot-edge-10" number="9556" submissionType="IRTF" category="info" consensus="true" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true" updates="" obsoletes="" xml:lang="en" version="3">

  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title abbrev="IoT Edge Computing">Internet of Things (IoT) Edge Challenges and Functions</title>
    <seriesInfo name="RFC" value="9556"/>
    <author initials="J." surname="Hong" fullname="Jungha Hong">
      <organization>ETRI</organization>
      <address>
        <postal>
          <street>218 Gajeong-ro, Yuseung-Gu</street>
          <city>Daejeon</city>
          <code>34129</code>
          <country>Republic of Korea</country>
        </postal>
        <email>jhong@etri.re.kr</email>
      </address>
    </author>
    <author initials="Y-G." surname="Hong" fullname="Yong-Geun Hong">
      <organization>Daejeon University</organization>
      <address>
        <postal>
          <street>62 Daehak-ro, Dong-gu</street>
          <city>Daejeon</city>
          <code>300716</code>
          <country>Republic of Korea</country>
        </postal>
        <email>yonggeun.hong@gmail.com</email>
      </address>
    </author>
    <author initials="X." surname="de Foy" fullname="Xavier de Foy">
      <organization>InterDigital Communications, LLC</organization>
      <address>
        <postal>
          <street>1000 Sherbrooke West</street>
          <city>Montreal</city>
          <code>H3A 3G4</code>
          <country>Canada</country>
        </postal>
        <email>xavier.defoy@interdigital.com</email>
      </address>
    </author>
    <author initials="M." surname="Kovatsch" fullname="Matthias Kovatsch">
      <organization>Huawei Technologies Duesseldorf GmbH</organization>
      <address>
        <postal>
          <street>Riesstr. 25 C // 3.OG</street>
          <city>Munich</city>
          <code>80992</code>
          <country>Germany</country>
        </postal>
        <email>ietf@kovatsch.net</email>
      </address>
    </author>
    <author initials="E." surname="Schooler" fullname="Eve Schooler">
      <organization>University of Oxford</organization>
      <address>
        <postal>
          <street>Parks Road</street>
          <city>Oxford</city>
          <code>OX1 3PJ</code>
          <country>United Kingdom</country>
        </postal>
        <email>eve.schooler@gmail.com</email>
      </address>
    </author>    
    <author initials="D." surname="Kutscher" fullname="Dirk Kutscher">
      <organization abbrev="HKUST(GZ)">Hong Kong University of Science and Technology (Guangzhou)</organization>
      <address>
        <postal>
          <street>No.1 Du Xue Rd</street>
          <city>Guangzhou</city>
          <country>China</country>
        </postal>
        <email>ietf@dkutscher.net</email>
      </address>
    </author>
    <date year="2024" month="April"/>
    <workgroup>Thing-to-Thing</workgroup>
    <keyword>in-network computing</keyword>
    <keyword>in-network caching</keyword>
    <keyword>in-network storage</keyword>

    <abstract>


<t>Many Internet of Things (IoT) applications have requirements that cannot be satisfied by centralized cloud-based systems (i.e., cloud computing). These include time sensitivity, data volume, connectivity cost, operation in the face of intermittent services, privacy, and security. As a result, IoT is driving the Internet toward edge computing. This document outlines the requirements of the emerging IoT edge and its challenges. It presents a general model and major components of the IoT edge to provide a common basis for future discussions in the Thing-to-Thing Research Group (T2TRG) and other IRTF and IETF groups. This document is a product of the IRTF T2TRG.</t>
    </abstract>
  </front>
  <middle>
 <section anchor="introduction">
      <name>Introduction</name>
      <t>At the time of writing, many IoT services leverage cloud computing platforms because they provide virtually unlimited storage and processing power. The reliance of IoT on back-end cloud computing provides additional advantages, such as scalability and efficiency.  At the time of writing, IoT systems are fairly static with respect to integrating and supporting computation.  It is not that there is no computation, but that systems are often limited to static configurations (edge gateways and cloud services).</t>
      <t>However, IoT devices generate large amounts of data at the edges of the network. To meet IoT use case requirements, data is increasingly being stored, processed, analyzed, and acted upon close to the data sources. These requirements include time sensitivity, data volume, connectivity cost, and resiliency in the presence of intermittent connectivity, privacy, and security, which cannot be addressed by centralized cloud computing. A more flexible approach is necessary to address these needs effectively. This involves distributing computing (and storage) and seamlessly integrating it into the edge-cloud continuum. We refer to this integration of edge computing and IoT as "IoT edge computing". This document describes the related background, use cases, challenges, system models, and functional components.</t>
      <t>Owing to the dynamic nature of the IoT edge computing landscape, this document does not list existing projects in this field. <xref target="sec-overview"/> presents a high-level overview of the field based on a limited review of standards, research, and open-source and proprietary products in <xref target="I-D.defoy-t2trg-iot-edge-computing-background"/>.</t>
      <t>This document represents the consensus of the Thing-to-Thing Research Group (T2TRG). It has been reviewed extensively by the research group members who are actively involved in the research and development of the technology covered by this document. It is not an IETF product and is not a standard.</t>
    </section>
    <section anchor="background">
      <name>Background</name>
      <section anchor="internet-of-things-iot">
        <name>Internet of Things (IoT)</name>
        <t>Since the term "Internet of Things" was coined by Kevin Ashton in 1999 while working on Radio-Frequency Identification (RFID) technology <xref target="Ashton"/>, the concept of IoT has evolved. At the time of writing, it reflects a vision of connecting the physical world to the virtual world of computers using (often wireless) networks over which things can send and receive information without human intervention.  Recently, the term has become more literal by connecting things to the Internet and converging on Internet and web technologies.</t>
        <t>A "Thing" is a physical item made available in the IoT, thereby enabling digital interaction with the physical world for humans, services, and/or other Things <xref target="I-D.irtf-t2trg-rest-iot"/>. In this document, we will use the term "IoT device" to designate the embedded system attached to the Thing.</t>
        <t>Resource-constrained Things, such as sensors, home appliances, and wearable devices, often have limited storage and processing power, which can create challenges with respect to reliability, performance, energy consumption, security, and privacy <xref target="Lin"/>. Some, less-resource-constrained Things, can generate a voluminous amount of data. This range of factors led to IoT designs that integrate Things into larger distributed systems, for example, edge or cloud computing systems.</t>
      </section>
      <section anchor="cloud-computing">
        <name>Cloud Computing</name>
        <t>Cloud computing has been defined in <xref target="NIST"/>:</t>
	<blockquote>Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.</blockquote>
	<t>The low cost and massive availability of storage and processing power enabled the realization of another computing model in which virtualized resources can be leased in an on-demand fashion and provided as general utilities. Platform-as-a-Service (PaaS) and cloud computing platforms widely adopted this paradigm for delivering services over the Internet, gaining both economical and technical benefits <xref target="Botta"/>.</t>
        <t>At the time of writing, an unprecedented volume and variety of data is generated by Things, and applications deployed at the network edge consume this data.  In this context, cloud-based service models are not suitable for some classes of applications that require very short response times, require access to local personal data, or generate vast amounts of data.  These applications may instead leverage edge computing.</t>
      </section>
      <section anchor="edge-computing">
        <name>Edge Computing</name>
        <t>Edge computing, also referred to as "fog computing" in some settings, is a new paradigm in which substantial computing and storage resources are placed at the edge of the Internet, close to mobile devices, sensors, actuators, or machines.  Edge computing happens near data sources <xref target="Mahadev"/> as well as close to where decisions are made or where interactions with the physical world take place ("close" here can refer to a distance that is topological, physical, latency-based, etc.).  It processes both downstream data (originating from cloud services) and upstream data (originating from end devices or network elements).  The term "fog computing" usually represents the notion of multi-tiered edge computing, that is, several layers of compute infrastructure between end devices and cloud services.</t>
        <t>An edge device is any computing or networking resource residing between end-device data sources and cloud-based data centers.  In edge computing, end devices consume and produce data. At the network edge, devices not only request services and information from the cloud but also handle computing tasks including processing, storing, caching, and load balancing on data sent to and from the cloud <xref target="Shi"/>.  This does not preclude end devices from hosting computation themselves, when possible, independently or as part of a distributed edge computing platform.</t>
        <t>Several Standards Developing Organizations (SDOs) and industry forums have provided definitions of edge and fog computing:</t>
        <ul spacing="normal">
          <li>ISO defines edge computing as a "form of distributed computing in which significant processing and data storage takes place on nodes which are at the edge of the network" <xref target="ISO_TR"/>.</li>
          <li>ETSI defines multi-access edge computing as a "system which provides an IT service environment and cloud-computing capabilities at the edge of an access network which contains one or more type of access technology, and in close proximity to its users" <xref target="ETSI_MEC_01"/>.</li>
          <li>The Industry IoT Consortium (IIC) (now incorporating what was formerly OpenFog) defines fog computing as "a horizontal, system-level architecture that distributes computing, storage, control and networking functions closer to the users along a cloud-to-thing continuum" <xref target="OpenFog"/>.</li>
        </ul>
        <t>Based on these definitions, we can summarize a general philosophy of edge computing as distributing the required functions close to users and data, while the difference to classic local systems is the usage of management and orchestration features adopted from cloud computing.</t>
        <t>Actors from various industries approach edge computing using different terms and reference models, although, in practice, these approaches are not incompatible and may integrate with each other:</t>
        <ul spacing="normal">
          <li>The telecommunication industry tends to use a model where edge computing services are deployed over a Network Function Virtualization (NFV) infrastructure, at aggregation points, or in proximity to the user equipment (e.g., gNodeBs) <xref target="ETSI_MEC_03"/>.</li>
          <li>Enterprise and campus solutions often interpret edge computing as an "edge cloud", that is, a smaller data center directly connected to the local network (often referred to as "on-premise").</li>
          <li>The automation industry defines the edge as the connection point between IT and Operational Technology (OT). Hence, edge computing sometimes refers to applying IT solutions to OT problems, such as analytics, more-flexible user interfaces, or simply having more computing power than an automation controller.</li>
        </ul>
      </section>
      <section anchor="sec-uc">
        <name>Examples of IoT Edge Computing Use Cases</name>
        <t>IoT edge computing can be used in home, industry, grid, healthcare, city, transportation, agriculture, and/or educational scenarios. Here, we discuss only a few examples of such use cases to identify differentiating requirements, providing references to other use cases.</t>
	<dl newline="true" spacing="normal">
        <dt><strong>Smart Factory</strong></dt>
        <dd><t>As part of the Fourth Industrial Revolution, smart factories run real-time processes based on IT technologies, such as artificial intelligence and big data. Even a very small environmental change in a smart factory can lead to a situation in which production efficiency decreases or product quality problems occur. Therefore, simple but time-sensitive processing can be performed at the edge, for example, controlling the temperature and humidity in the factory or operating machines based on the real-time collection of the operational status of each machine. However, data requiring highly precise analysis, such as machine life-cycle management or accident risk prediction, can be transferred to a central data center for processing.</t>
        <t>The use of edge computing in a smart factory <xref target="Argungu"/> can reduce the cost of network and storage resources by reducing the communication load to the central data center or server. It is also possible to improve process efficiency and facility asset productivity through real-time prediction of failures and to reduce the cost of failure through preliminary measures. In the existing manufacturing field, production facilities are manually run according to a program entered in advance; however, edge computing in a smart factory enables tailoring solutions by analyzing data at each production facility and machine level. Digital twins <xref target="Jones"/> of IoT devices have been jointly used with edge computing in industrial IoT scenarios <xref target="Chen"/>.</t></dd>
        <dt><strong>Smart Grid</strong></dt>
        <dd><t>In future smart-city scenarios, the smart grid will be critical in ensuring highly available and efficient energy control in city-wide electricity management <xref target="Mehmood"/>.  Edge computing is expected to play a significant role in these systems to improve the transmission efficiency of electricity, to react to and restore power after a disturbance, to reduce operation costs, and to reuse energy effectively since these operations involve local decision-making. In addition, edge computing can help monitor power generation and power demand and make local electrical energy storage decisions in smart grid systems.</t></dd>
        <dt><strong>Smart Agriculture</strong></dt>
        <dd><t>Smart agriculture integrates information and communication technologies with farming technology. Intelligent farms use IoT technology to measure and analyze parameters, such as the temperature, humidity, sunlight, carbon dioxide, and soil quality, in crop cultivation facilities. Depending on the analysis results, control devices are used to set the environmental parameters to an appropriate state. Remote management is also possible through mobile devices, such as smartphones.</t>
        <t>In existing farms, simple systems, such as management according to temperature and humidity, can be easily and inexpensively implemented using IoT technology <xref target="Tanveer"/>. Field sensors gather data on field and crop condition. This data is then transmitted to cloud servers that process data and recommend actions. The use of edge computing can reduce the volume of back-and-forth data transmissions significantly, resulting in cost and bandwidth savings. Locally generated data can be processed at the edge, and local computing and analytics can drive local actions. With edge computing, it is easy for farmers to select large amounts of data for processing, and data can be analyzed even in remote areas with poor access conditions. Other applications include enabling dashboarding, for example, to visualize the farm status, as well as enhancing Extended Reality (XR) applications that require edge audio and/or video processing. As the number of people working on farming has been decreasing over time, increasing automation enabled by edge computing can be a driving force for future smart agriculture <xref target="OGrady"/>.</t></dd>
        <dt><strong>Smart Construction</strong></dt>
        <dd><t>Safety is critical at construction sites. Every year, many construction workers lose their lives because of falls, collisions, electric shocks, and other accidents <xref target="BigRentz"/>.  Therefore, solutions have been developed to improve construction site safety, including the real-time identification of workers, monitoring of equipment location, and predictive accident prevention. To deploy these solutions, many cameras and IoT sensors have been installed on construction sites to measure noise, vibration, gas concentration, etc. Typically, the data generated from these measurements is collected in on-site gateways and sent to remote cloud servers for storage and analysis. Thus, an inspector can check the information stored on the cloud server to investigate an incident. However, this approach can be expensive because of transmission costs (for example, of video streams over a mobile network connection) and because usage fees of private cloud services.</t>
        <t>Using edge computing <xref target="Yue"/>, data generated at the construction site can be processed and analyzed on an edge server located within or near the site. Only the result of this processing needs to be transferred to a cloud server, thus reducing transmission costs. It is also possible to locally generate warnings to prevent accidents in real time.</t></dd>
        <dt><strong>Self-Driving Car</strong></dt>
        <dd><t>Edge computing plays a crucial role in safety-focused self-driving car systems <xref target="Badjie"/>. With a multitude of sensors, such as high-resolution cameras, radars, Light Detection and Ranging (LiDAR) systems, sonar sensors, and GPS systems, autonomous vehicles generate vast amounts of real-time data. Local processing utilizing edge computing nodes allows for efficient collection and analysis of this data to monitor vehicle distances and road conditions and respond promptly to unexpected situations. Roadside computing nodes can also be leveraged to offload tasks when necessary, for example, when the local processing capacity of the car is insufficient because of hardware constraints or a large data volume.</t>
        <t>For instance, when the car ahead slows, a self-driving car adjusts its speed to maintain a safe distance, or when a roadside signal changes, it adapts its behavior accordingly. In another example, cars equipped with self-parking features utilize local processing to analyze sensor data, determine suitable parking spots, and execute precise parking maneuvers without relying on external processing or connectivity. It is also possible to use in-cabin cameras coupled with local processing to monitor the driver's attention level and detect signs of drowsiness or distraction. The system can issue warnings or implement preventive measures to ensure driver safety.</t>
        <t>Edge computing empowers self-driving cars by enabling real-time processing, reducing latency, enhancing data privacy, and optimizing bandwidth usage. By leveraging local processing capabilities, self-driving cars can make rapid decisions, adapt to changing environments, and ensure safer and more efficient autonomous driving experiences.</t></dd>
        <dt><strong>Digital Twin</strong></dt>
        <dd><t>A digital twin can simulate different scenarios and predict outcomes based on real-time data collected from the physical environment. This simulation capability empowers proactive maintenance, optimization of operations, and the prediction of potential issues or failures. Decision makers can use digital twins to test and validate different strategies, identify inefficiencies, and optimize performance <xref target="CertMagic"/>.</t>
        <t>With edge computing, real-time data is collected, processed, and analyzed directly at the edge, allowing for the accurate monitoring and simulation of physical assets. Moreover, edge computing effectively minimizes latency, enabling rapid responses to dynamic conditions as computational resources are brought closer to the physical object. Running digital twin processing at the edge enables organizations to obtain timely insights and make informed decisions that maximize efficiency and performance.</t></dd>
        <dt><strong>Other Use Cases</strong></dt>
        <dd><t>Artificial intelligence (AI) and machine learning (ML) systems at the edge empower real-time analysis, faster decision-making, reduced latency, improved operational efficiency, and personalized experiences across various industries by bringing AI and ML capabilities closer to edge devices.</t>
        <t>In addition, oneM2M has studied several IoT edge computing use cases, which are documented in <xref target="oneM2M-TR0001"/>, <xref target="oneM2M-TR0018"/>, and <xref target="oneM2M-TR0026"/>. The edge-computing-related requirements raised through the analysis of these use cases are captured in <xref target="oneM2M-TS0002"/>.</t></dd>
      </dl>
      </section>
    </section>
    <section anchor="sec-challenges">
      <name>IoT Challenges Leading toward Edge Computing</name>

      <t>This section describes the challenges faced by the IoT that are motivating the adoption of edge computing. These are distinct from the research challenges applicable to IoT edge computing, some of which are mentioned in <xref target="sec-functions"/>.</t>
      <t>IoT technology is used with increasingly demanding applications in
   domains such as industrial, automotive, and healthcare, which leads
   to new challenges.  For example, industrial machines, such as laser cutters, produce over 1 terabyte of data per hour, and similar amounts can be generated in autonomous cars <xref target="NVIDIA"/>.  90% of IoT data is expected to be stored, processed, analyzed, and acted upon close to the source <xref target="Kelly"/>, as cloud computing models alone cannot address these new challenges <xref target="Chiang"/>.</t>
      <t>Below, we discuss IoT use case requirements that are moving cloud capabilities to be more proximate, distributed, and disaggregated.</t>
      <section anchor="time-sensitivity">
        <name>Time Sensitivity</name>
        <t>Often, many industrial control systems, such as manufacturing systems, smart grids, and oil and gas systems, require stringent end-to-end latency between the sensor and control nodes.  While some IoT applications may require latency below a few tens of milliseconds <xref target="Weiner"/>, industrial robots and motion control systems have use cases for cycle times in the order of microseconds <xref target="IEC_IEEE_60802"/>.  In some cases, speed-of-light limitations may simply prevent cloud-based solutions; however, this is not the only challenge relative to time sensitivity.  Guarantees for bounded latency and jitter (<xref target="RFC8578" sectionFormat="comma" section="7"/>) are also important for industrial IoT applications.  This means that control packets must arrive with as little variation as possible and within a strict deadline.  Given the best-effort characteristics of the Internet, this challenge is virtually impossible to address without using end-to-end guarantees for individual message delivery and continuous data flows.</t>
      </section>
      <section anchor="connectivity-cost">
        <name>Connectivity Cost</name>
        <t>Some IoT deployments may not face bandwidth constraints when uploading data to the cloud.  Theoretically, both 5G and Wi-Fi 6 networks top out at 10 gigabits per second (i.e., 4.5 terabytes per hour), allowing the transfer of large amounts of uplink data.  However, the cost of maintaining continuous high-bandwidth connectivity for such usage is unjustifiable and impractical for most IoT applications.  In some settings, for example, in aeronautical communication, higher communication costs reduce the amount of data that can be practically uploaded even further.  Therefore, minimizing reliance on high-bandwidth connectivity is a requirement; this can be done, for example, by processing data at the edge and deriving summarized or actionable insights that can be transmitted to the cloud.</t>
      </section>
      <section anchor="resilience-to-intermittent-services">
        <name>Resilience to Intermittent Services</name>
        <t>Many IoT devices, such as sensors, actuators, and controllers, have very limited hardware resources and cannot rely solely on their own resources to meet their computing and/or storage needs.  They require reliable, uninterrupted, or resilient services to augment their capabilities to fulfill their application tasks.  This is difficult and partly impossible to achieve using cloud services for systems such as vehicles, drones, or oil rigs that have intermittent network connectivity. Conversely, a cloud backend might want to access device data
   even if the device is currently asleep.</t>
      </section>
      <section anchor="sec-priv">
        <name>Privacy and Security</name>
        <t>When IoT services are deployed at home, personal information can be learned from detected usage data.  For example, one can extract information about employment, family status, age, and income by analyzing smart meter data <xref target="ENERGY"/>.  Policy makers have begun to provide frameworks that limit the usage of personal data and impose strict requirements on data controllers and processors.  Data stored indefinitely in the cloud also increases the risk of data leakage, for instance, through attacks on rich targets.</t>
        <t>It is often argued that industrial systems do not provide privacy implications, as no personal data is gathered.  However, data from such systems is often highly sensitive, as one might be able to infer trade secrets, such as the setup of production lines.  Hence, owners of these systems are generally reluctant to upload IoT data to the cloud.</t>
        <t>Furthermore, passive observers can perform traffic analysis on device-to-cloud paths.  Therefore, hiding traffic patterns associated with sensor networks can be another requirement for edge computing.</t>
      </section>
    </section>
    <section anchor="sec-functions">
      <name>IoT Edge Computing Functions</name>
      <t>We first look at the current state of IoT edge computing (<xref target="sec-overview"/>) and then define a general system model (<xref target="sec-model"/>). This provides a context for IoT edge computing functions, which are listed in Sections <xref target="sec-components-oam" format="counter"/>, <xref target="sec-components-functional" format="counter"/>, and <xref target="sec-components-app" format="counter"/>.</t>
      <section anchor="sec-overview">
        <name>Overview of IoT Edge Computing</name>
        <t>This section provides an overview of the current (at the time of writing) IoT edge computing field based on a limited review of standards, research, and open-source and proprietary products in <xref target="I-D.defoy-t2trg-iot-edge-computing-background"/>.</t>
        <t>IoT gateways, both open-source (such as EdgeX Foundry or Home Edge) and proprietary products, represent a common class of IoT edge computing products, where the gateway provides a local service on customer premises and is remotely managed through a cloud service. IoT communication protocols are typically used between IoT devices and the gateway, including a Constrained Application Protocol (CoAP) <xref target="RFC7252"/>, Message Queuing Telemetry Transport (MQTT) <xref target="MQTT5"/>, and many specialized IoT protocols (such as  Open Platform Communications Unified Architecture (OPC UA) and Data Distribution Service (DDS) in the industrial IoT space), while the gateway communicates with the distant cloud typically using HTTPS. Virtualization platforms enable the deployment of virtual edge computing functions (using Virtual Machines (VMs) and application containers), including IoT gateway software, on servers in the mobile network infrastructure (at base stations and concentration points), edge data centers (in central offices), and regional data centers located near central offices. End devices are envisioned to become computing devices in forward-looking projects but are not commonly used at the time of writing.</t>
        <t>In addition to open-source and proprietary solutions, a horizontal IoT service layer is standardized by the oneM2M standards body to reduce fragmentation, increase interoperability, and promote reuse in the IoT ecosystem. Furthermore, ETSI Multi-access Edge Computing (MEC) developed an IoT API <xref target="ETSI_MEC_33"/> that enables the deployment of heterogeneous IoT platforms and provides a means to configure the various components of an IoT system.</t>
        <t>Physical or virtual IoT gateways can host application programs that are typically built using an SDK to access local services through a programmatic API.  Edge cloud system operators host their customers' application VMs or containers on servers located in or near access networks that can implement local edge services. For example, mobile networks can provide edge services for radio network information, location, and bandwidth management.</t>
        <t>Resilience in the IoT can entail the ability to operate autonomously in periods of disconnectedness to preserve the integrity and safety of the controlled system, possibly in a degraded mode. IoT devices and gateways are often expected to operate in always-on and unattended modes, using fault detection and unassisted recovery functions.</t>
        <t>The life-cycle management of services and applications on physical IoT gateways is generally cloud based.  Edge cloud management platforms and products (such as StarlingX, Akraino Edge Stack, or proprietary products from major cloud providers) adapt cloud management technologies (e.g., Kubernetes) to the edge cloud, that is, to smaller, distributed computing devices running outside a controlled data center.  Typically, the service and application life cycle is using an NFV-like management and orchestration model.</t>
   <t>   The platform generally enables advertising or consuming services
   hosted on the platform (e.g., the Mp1 interface in ETSI MEC supports
   service discovery and communication), and enables communication with
   local and remote endpoints (e.g., message routing function in IoT
   gateways).  The platform is usually extensible to edge applications
   because it can advertise a service that other edge applications can
   consume.  The IoT communication services include protocol translation, analytics, and transcoding.  Communication between edge computing devices is enabled in tiered or distributed deployments.</t>
        <t>An edge cloud platform may enable pass-through without storage or local storage (e.g., on IoT gateways). Some edge cloud platforms use distributed storage such as that provided by a distributed storage platform (e.g., EdgeFS and Ceph) or, in more experimental settings, by an Information-Centric Networking (ICN) network, for example, systems such as Chipmunk <xref target="Chipmunk"/> and Kua <xref target="Kua"/> have been proposed as distributed information-centric objects stores.  External storage, for example, on databases in a distant or local IT cloud, is typically used for filtered data deemed worthy of long-term storage; although, in some cases, it may be for all data, for example, when required for regulatory reasons.</t>
        <t>Stateful computing is the default on most systems, VMs, and containers. Stateless computing is supported on platforms providing a "serverless computing" service (also known as function-as-a-service, e.g., using stateless containers) or on systems based on named function networking.</t>
        <t>In many IoT use cases, a typical network usage pattern is a high-volume uplink with some form of traffic reduction enabled by processing over edge computing devices. Alternatives to traffic reduction include deferred transmission (to off-peak hours or using physical shipping). Downlink traffic includes application control and software updates. Downlink-heavy traffic patterns are not excluded but are more often associated with non-IoT usage (e.g., video Content Delivery Networks (CDNs)).</t>
      </section>
      <section anchor="sec-model">
        <name>General Model</name>
        <t>Edge computing is expected to play an important role in deploying new IoT services integrated with big data and AI enabled by flexible in-network computing platforms.  Although there are many approaches to
   edge computing, this section lays out an attempt at a general
   model and lists associated logical functions. In practice, this model can be mapped to different architectures, such as:</t>
        <ul spacing="normal">
          <li>A single IoT gateway, or a hierarchy of IoT gateways, typically connected to the cloud (e.g., to extend the centralized cloud-based management of IoT devices and data to the edge). The IoT gateway plays a common role in providing access to a heterogeneous set of IoT devices and sensors, handling IoT data, and delivering IoT data to its final destination in a cloud network.  An IoT gateway requires interactions with the cloud; however, it can also operate independently in a disconnected mode.</li>
          <li>A set of distributed computing nodes, for example, embedded in switches, routers, edge cloud servers, or mobile devices. Some IoT devices have sufficient computing capabilities to participate in such distributed systems owing to advances in hardware technology. In this model, edge computing nodes can collaborate to share resources.</li>
          <li>A hybrid system involving both IoT gateways and supporting functions in distributed computing nodes.</li>
        </ul>
        <t>In the general model described in <xref target="rl-fig1"/>, the edge computing domain is interconnected with IoT devices (southbound connectivity), possibly with a remote (e.g., cloud) network (northbound connectivity), and with a service operator's system.  Edge computing nodes provide multiple logical functions or components that may not be present in a given system. They may be implemented in a centralized or distributed fashion, at the network edge, or through interworking between the edge network and remote cloud networks.</t>

        <figure anchor="rl-fig1">
          <name>Model of IoT Edge Computing</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 700 656" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,128 L 8,528" fill="none" stroke="black"/>
                <path d="M 24,576 L 24,624" fill="none" stroke="black"/>
                <path d="M 32,32 L 32,80" fill="none" stroke="black"/>
                <path d="M 64,528 L 64,576" fill="none" stroke="black"/>
                <path d="M 96,576 L 96,624" fill="none" stroke="black"/>
                <path d="M 128,80 L 128,128" fill="none" stroke="black"/>
                <path d="M 136,576 L 136,624" fill="none" stroke="black"/>
                <path d="M 184,528 L 184,576" fill="none" stroke="black"/>
                <path d="M 208,32 L 208,80" fill="none" stroke="black"/>
                <path d="M 208,576 L 208,624" fill="none" stroke="black"/>
                <path d="M 232,48 L 232,96" fill="none" stroke="black"/>
                <path d="M 272,560 L 272,624" fill="none" stroke="black"/>
                <path d="M 288,96 L 288,128" fill="none" stroke="black"/>
                <path d="M 320,528 L 320,560" fill="none" stroke="black"/>
                <path d="M 344,560 L 344,624" fill="none" stroke="black"/>
                <path d="M 360,48 L 360,96" fill="none" stroke="black"/>
                <path d="M 384,128 L 384,544" fill="none" stroke="black"/>
                <path d="M 32,32 L 208,32" fill="none" stroke="black"/>
                <path d="M 232,48 L 360,48" fill="none" stroke="black"/>
                <path d="M 32,80 L 208,80" fill="none" stroke="black"/>
                <path d="M 232,96 L 360,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 384,128" fill="none" stroke="black"/>
                <path d="M 8,528 L 248,528" fill="none" stroke="black"/>
                <path d="M 312,528 L 328,528" fill="none" stroke="black"/>
                <path d="M 272,560 L 344,560" fill="none" stroke="black"/>
                <path d="M 24,576 L 96,576" fill="none" stroke="black"/>
                <path d="M 136,576 L 208,576" fill="none" stroke="black"/>
                <path d="M 24,624 L 96,624" fill="none" stroke="black"/>
                <path d="M 136,624 L 208,624" fill="none" stroke="black"/>
                <path d="M 272,624 L 344,624" fill="none" stroke="black"/>
                <g class="text">
                  <text x="84" y="52">Remote</text>
                  <text x="144" y="52">Network</text>
                  <text x="60" y="68">(e.g.,</text>
                  <text x="112" y="68">cloud</text>
                  <text x="172" y="68">network)</text>
                  <text x="288" y="68">Service</text>
                  <text x="292" y="84">Operator</text>
                  <text x="124" y="148">Edge</text>
                  <text x="184" y="148">Computing</text>
                  <text x="252" y="148">Domain</text>
                  <text x="48" y="180">One</text>
                  <text x="76" y="180">or</text>
                  <text x="108" y="180">more</text>
                  <text x="168" y="180">computing</text>
                  <text x="232" y="180">nodes</text>
                  <text x="52" y="196">(IoT</text>
                  <text x="108" y="196">gateway,</text>
                  <text x="160" y="196">end</text>
                  <text x="212" y="196">devices,</text>
                  <text x="288" y="196">switches,</text>
                  <text x="68" y="212">routers,</text>
                  <text x="168" y="212">mini/micro-data</text>
                  <text x="268" y="212">centers,</text>
                  <text x="328" y="212">etc.)</text>
                  <text x="48" y="244">OAM</text>
                  <text x="108" y="244">Components</text>
                  <text x="40" y="260">-</text>
                  <text x="84" y="260">Resource</text>
                  <text x="160" y="260">Discovery</text>
                  <text x="216" y="260">and</text>
                  <text x="292" y="260">Authentication</text>
                  <text x="40" y="276">-</text>
                  <text x="68" y="276">Edge</text>
                  <text x="140" y="276">Organization</text>
                  <text x="208" y="276">and</text>
                  <text x="268" y="276">Federation</text>
                  <text x="40" y="292">-</text>
                  <text x="104" y="292">Multi-Tenancy</text>
                  <text x="176" y="292">and</text>
                  <text x="232" y="292">Isolation</text>
                  <text x="40" y="308">-</text>
                  <text x="64" y="308">...</text>
                  <text x="76" y="340">Functional</text>
                  <text x="164" y="340">Components</text>
                  <text x="40" y="356">-</text>
                  <text x="92" y="356">In-Network</text>
                  <text x="184" y="356">Computation</text>
                  <text x="40" y="372">-</text>
                  <text x="68" y="372">Edge</text>
                  <text x="120" y="372">Caching</text>
                  <text x="40" y="388">-</text>
                  <text x="104" y="388">Communication</text>
                  <text x="40" y="404">-</text>
                  <text x="72" y="404">Other</text>
                  <text x="132" y="404">Services</text>
                  <text x="40" y="420">-</text>
                  <text x="64" y="420">...</text>
                  <text x="80" y="452">Application</text>
                  <text x="172" y="452">Components</text>
                  <text x="40" y="468">-</text>
                  <text x="64" y="468">IoT</text>
                  <text x="112" y="468">Devices</text>
                  <text x="188" y="468">Management</text>
                  <text x="40" y="484">-</text>
                  <text x="68" y="484">Data</text>
                  <text x="132" y="484">Management</text>
                  <text x="192" y="484">and</text>
                  <text x="248" y="484">Analytics</text>
                  <text x="40" y="500">-</text>
                  <text x="64" y="500">...</text>
                  <text x="264" y="532">-</text>
                  <text x="280" y="532">-</text>
                  <text x="296" y="532">-</text>
                  <text x="344" y="532">-</text>
                  <text x="360" y="532">-</text>
                  <text x="376" y="532">-</text>
                  <text x="248" y="548">|</text>
                  <text x="248" y="580">|</text>
                  <text x="304" y="580">Compute</text>
                  <text x="384" y="580">|</text>
                  <text x="56" y="596">End</text>
                  <text x="168" y="596">End</text>
                  <text x="232" y="596">...</text>
                  <text x="308" y="596">Node/End</text>
                  <text x="52" y="612">Device</text>
                  <text x="88" y="612">1</text>
                  <text x="164" y="612">Device</text>
                  <text x="200" y="612">2</text>
                  <text x="236" y="612">...|</text>
                  <text x="300" y="612">Device</text>
                  <text x="336" y="612">n</text>
                  <text x="384" y="612">|</text>
                  <text x="248" y="644">+</text>
                  <text x="264" y="644">-</text>
                  <text x="280" y="644">-</text>
                  <text x="296" y="644">-</text>
                  <text x="312" y="644">-</text>
                  <text x="328" y="644">-</text>
                  <text x="344" y="644">-</text>
                  <text x="360" y="644">-</text>
                  <text x="380" y="644">-+</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
   +---------------------+
   |   Remote Network    |  +---------------+
   |(e.g., cloud network)|  |   Service     |
   +-----------+---------+  |   Operator    |
               |            +------+--------+
               |                   |
+--------------+-------------------+-----------+
|            Edge Computing Domain             |
|                                              |
|   One or more computing nodes                |
|   (IoT gateway, end devices, switches,       |
|   routers, mini/micro-data centers, etc.)    |
|                                              |
|   OAM Components                             |
|   - Resource Discovery and Authentication    |
|   - Edge Organization and Federation         |
|   - Multi-Tenancy and Isolation              |
|   - ...                                      |
|                                              |
|   Functional Components                      |
|   - In-Network Computation                   |
|   - Edge Caching                             |
|   - Communication                            |
|   - Other Services                           |
|   - ...                                      |
|                                              |
|   Application Components                     |
|   - IoT Devices Management                   |
|   - Data Management and Analytics            |
|   - ...                                      |
|                                              |
+------+--------------+-------- - - - -+- - - -+
       |              |       |        |       |
       |              |          +-----+--+
  +----+---+    +-----+--+    |  |Compute |    |
  |  End   |    |  End   | ...   |Node/End|
  |Device 1|    |Device 2| ...|  |Device n|    |
  +--------+    +--------+       +--------+
                              + - - - - - - - -+
]]></artwork>
          </artset>
        </figure>
        <t>In the distributed model described in <xref target="rl-fig2"/>, the edge computing domain is composed of IoT edge gateways and IoT devices that are also used as computing nodes.  Edge computing domains are connected to a remote (e.g., cloud) network and their respective service operator's system. The computing nodes provide logical functions, for example, as part of distributed machine learning or distributed image processing applications. The processing capabilities in IoT devices are limited; they require the support of other nodes.  In a distributed machine learning application, the training process for AI services can be executed at IoT edge gateways or cloud networks, and the prediction (inference) service is executed in the IoT devices.  Similarly, in a distributed image processing application, some image processing
functions can be executed at the edge or in the cloud. To limit the amount of data to be uploaded to central cloud functions, IoT edge devices may pre-process data.</t>
        <figure anchor="rl-fig2">
          <name>Example of Machine Learning over a Distributed IoT Edge Computing System</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 700 576" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,240" fill="none" stroke="black"/>
                <path d="M 8,352 L 8,560" fill="none" stroke="black"/>
                <path d="M 24,80 L 24,144" fill="none" stroke="black"/>
                <path d="M 24,448 L 24,512" fill="none" stroke="black"/>
                <path d="M 32,176 L 32,208" fill="none" stroke="black"/>
                <path d="M 32,272 L 32,320" fill="none" stroke="black"/>
                <path d="M 32,384 L 32,416" fill="none" stroke="black"/>
                <path d="M 64,144 L 64,176" fill="none" stroke="black"/>
                <path d="M 64,416 L 64,448" fill="none" stroke="black"/>
                <path d="M 96,80 L 96,144" fill="none" stroke="black"/>
                <path d="M 96,448 L 96,512" fill="none" stroke="black"/>
                <path d="M 128,208 L 128,272" fill="none" stroke="black"/>
                <path d="M 128,320 L 128,384" fill="none" stroke="black"/>
                <path d="M 136,80 L 136,144" fill="none" stroke="black"/>
                <path d="M 136,448 L 136,512" fill="none" stroke="black"/>
                <path d="M 176,144 L 176,176" fill="none" stroke="black"/>
                <path d="M 176,416 L 176,448" fill="none" stroke="black"/>
                <path d="M 208,80 L 208,144" fill="none" stroke="black"/>
                <path d="M 208,272 L 208,320" fill="none" stroke="black"/>
                <path d="M 208,448 L 208,512" fill="none" stroke="black"/>
                <path d="M 232,272 L 232,320" fill="none" stroke="black"/>
                <path d="M 280,80 L 280,144" fill="none" stroke="black"/>
                <path d="M 280,448 L 280,512" fill="none" stroke="black"/>
                <path d="M 288,208 L 288,272" fill="none" stroke="black"/>
                <path d="M 288,320 L 288,384" fill="none" stroke="black"/>
                <path d="M 320,144 L 320,176" fill="none" stroke="black"/>
                <path d="M 320,416 L 320,448" fill="none" stroke="black"/>
                <path d="M 344,176 L 344,208" fill="none" stroke="black"/>
                <path d="M 344,384 L 344,416" fill="none" stroke="black"/>
                <path d="M 352,80 L 352,144" fill="none" stroke="black"/>
                <path d="M 352,272 L 352,320" fill="none" stroke="black"/>
                <path d="M 352,448 L 352,512" fill="none" stroke="black"/>
                <path d="M 384,32 L 384,240" fill="none" stroke="black"/>
                <path d="M 384,352 L 384,560" fill="none" stroke="black"/>
                <path d="M 8,32 L 384,32" fill="none" stroke="black"/>
                <path d="M 24,80 L 96,80" fill="none" stroke="black"/>
                <path d="M 136,80 L 208,80" fill="none" stroke="black"/>
                <path d="M 280,80 L 352,80" fill="none" stroke="black"/>
                <path d="M 24,144 L 96,144" fill="none" stroke="black"/>
                <path d="M 136,144 L 208,144" fill="none" stroke="black"/>
                <path d="M 280,144 L 352,144" fill="none" stroke="black"/>
                <path d="M 32,176 L 344,176" fill="none" stroke="black"/>
                <path d="M 32,208 L 344,208" fill="none" stroke="black"/>
                <path d="M 8,240 L 384,240" fill="none" stroke="black"/>
                <path d="M 32,272 L 208,272" fill="none" stroke="black"/>
                <path d="M 232,272 L 352,272" fill="none" stroke="black"/>
                <path d="M 32,320 L 208,320" fill="none" stroke="black"/>
                <path d="M 232,320 L 352,320" fill="none" stroke="black"/>
                <path d="M 8,352 L 384,352" fill="none" stroke="black"/>
                <path d="M 32,384 L 344,384" fill="none" stroke="black"/>
                <path d="M 32,416 L 344,416" fill="none" stroke="black"/>
                <path d="M 24,448 L 96,448" fill="none" stroke="black"/>
                <path d="M 136,448 L 208,448" fill="none" stroke="black"/>
                <path d="M 280,448 L 352,448" fill="none" stroke="black"/>
                <path d="M 24,512 L 96,512" fill="none" stroke="black"/>
                <path d="M 136,512 L 208,512" fill="none" stroke="black"/>
                <path d="M 280,512 L 352,512" fill="none" stroke="black"/>
                <path d="M 8,560 L 384,560" fill="none" stroke="black"/>
                <g class="text">
                  <text x="124" y="52">Edge</text>
                  <text x="184" y="52">Computing</text>
                  <text x="252" y="52">Domain</text>
                  <text x="56" y="100">Compute</text>
                  <text x="168" y="100">Compute</text>
                  <text x="312" y="100">Compute</text>
                  <text x="60" y="116">Node/End</text>
                  <text x="172" y="116">Node/End</text>
                  <text x="244" y="116">....</text>
                  <text x="316" y="116">Node/End</text>
                  <text x="52" y="132">Device</text>
                  <text x="88" y="132">1</text>
                  <text x="164" y="132">Device</text>
                  <text x="200" y="132">2</text>
                  <text x="244" y="132">....</text>
                  <text x="308" y="132">Device</text>
                  <text x="344" y="132">m</text>
                  <text x="136" y="196">IoT</text>
                  <text x="172" y="196">Edge</text>
                  <text x="224" y="196">Gateway</text>
                  <text x="84" y="292">Remote</text>
                  <text x="144" y="292">Network</text>
                  <text x="288" y="292">Service</text>
                  <text x="60" y="308">(e.g.,</text>
                  <text x="112" y="308">cloud</text>
                  <text x="172" y="308">network)</text>
                  <text x="296" y="308">Operator(s)</text>
                  <text x="136" y="404">IoT</text>
                  <text x="172" y="404">Edge</text>
                  <text x="224" y="404">Gateway</text>
                  <text x="56" y="468">Compute</text>
                  <text x="168" y="468">Compute</text>
                  <text x="312" y="468">Compute</text>
                  <text x="60" y="484">Node/End</text>
                  <text x="172" y="484">Node/End</text>
                  <text x="244" y="484">....</text>
                  <text x="316" y="484">Node/End</text>
                  <text x="52" y="500">Device</text>
                  <text x="88" y="500">1</text>
                  <text x="164" y="500">Device</text>
                  <text x="200" y="500">2</text>
                  <text x="244" y="500">....</text>
                  <text x="308" y="500">Device</text>
                  <text x="344" y="500">n</text>
                  <text x="124" y="548">Edge</text>
                  <text x="184" y="548">Computing</text>
                  <text x="252" y="548">Domain</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+----------------------------------------------+
|            Edge Computing Domain             |
|                                              |
| +--------+    +--------+        +--------+   |
| |Compute |    |Compute |        |Compute |   |
| |Node/End|    |Node/End|  ....  |Node/End|   |
| |Device 1|    |Device 2|  ....  |Device m|   |
| +----+---+    +----+---+        +----+---+   |
|      |             |                 |       |
|  +---+-------------+-----------------+--+    |
|  |           IoT Edge Gateway           |    |
|  +-----------+-------------------+------+    |
|              |                   |           |
+--------------+-------------------+-----------+
               |                   |
   +-----------+---------+  +------+-------+
   |   Remote Network    |  |   Service    |
   |(e.g., cloud network)|  |  Operator(s) |
   +-----------+---------+  +------+-------+
               |                   |
+--------------+-------------------+-----------+
|              |                   |           |
|  +-----------+-------------------+------+    |
|  |           IoT Edge Gateway           |    |
|  +---+-------------+-----------------+--+    |
|      |             |                 |       |
| +----+---+    +----+---+        +----+---+   |
| |Compute |    |Compute |        |Compute |   |
| |Node/End|    |Node/End|  ....  |Node/End|   |
| |Device 1|    |Device 2|  ....  |Device n|   |
| +--------+    +--------+        +--------+   |
|                                              |
|            Edge Computing Domain             |
+----------------------------------------------+
]]></artwork>
          </artset>
        </figure>
        <t>In the following, we enumerate major edge computing domain components. Here, they are loosely organized into Operations, Administration, and Maintenance (OAM); functional; and application components, with the understanding that the distinction between these classes may not always be clear, depending on actual system architectures. Some representative research challenges are associated with those functions.  We used input from coauthors, participants of T2TRG meetings, and some comprehensive reviews of the field (<xref target="Yousefpour"/>, <xref target="Zhang2"/>, and <xref target="Khan"/>).</t>
      </section>
      <section anchor="sec-components-oam">
        <name>OAM Components</name>
        <t>Edge computing OAM extends beyond the network-related OAM functions listed in <xref target="RFC6291"/>. In addition to infrastructure (network, storage, and computing resources), edge computing systems can also include computing environments (for VMs, software containers, and functions), IoT devices, data, and code.</t>
        <t>Operation-related functions include performance monitoring for Service Level Agreement (SLA) measurements, fault management, and provisioning for links, nodes, compute and storage resources, platforms, and services. Administration covers network/compute/storage resources, platform and service discovery, configuration, and planning. Discovery during normal operation (e.g., discovery of compute or storage nodes by endpoints) is typically not included in OAM; however, in this document, we do not address it separately. Management covers the monitoring and diagnostics of failures, as well as means to minimize their occurrence and take corrective actions. This may include software update management and high service availability through redundancy and multipath communication. Centralized (e.g., Software-Defined Networking (SDN)) and decentralized management systems can be used. Finally, we arbitrarily chose to address data management as an application component; however, in some systems, data management may be considered similar to a network management function.</t>
        <t>We further detail a few relevant OAM components.</t>
        <section anchor="sec-dis-auth">
          <name>Resource Discovery and Authentication</name>
          <t>Discovery and authentication may target platforms and infrastructure resources, such as computing, networking, and storage, as well as other resources, such as IoT devices, sensors, data, code units, services, applications, and users interacting with the system. In a broker-based system, an IoT gateway can act as a broker to discover IoT resources. More decentralized solutions can also be used in replacement of or in complement to the broker-based solutions; for example, CoAP enables multicast discovery of an IoT device and CoAP service discovery enables one to obtain a list of resources made available by this device <xref target="RFC7252"/>. For device authentication, current centralized gateway-based systems rely on the installation of a secret on IoT devices and computing devices (e.g., a device certificate stored in a hardware security module or a combination of code and data stored in a trusted execution environment).</t>
          <t>Related challenges include:</t>
          <ul spacing="normal">
            <li>Discovery, authentication, and trust establishment between IoT devices, compute nodes, and platforms, with regard to concerns such as mobility, heterogeneous devices and networks, scale, multiple trust domains, constrained devices, anonymity, and traceability.</li>
            <li>Intermittent connectivity to the Internet, removing the need to rely on a third-party authority <xref target="Echeverria"/>.</li>
            <li>Resiliency to failure <xref target="Harchol"/>, denial-of-service attacks, and easier physical access for attackers.</li>
          </ul>
        </section>
        <section anchor="edge-organization-and-federation">
          <name>Edge Organization and Federation</name>
          <t>In a distributed system context, once edge devices have discovered and authenticated each other, they can be organized or self-organized into hierarchies or clusters. The organizational structure may range from centralized to peer-to-peer, or it may be closely tied to other systems. Such groups can also form federations with other edges or with remote clouds.</t>
          <t>Related challenges include:</t>
          <ul spacing="normal">
            <li>Support for scaling and enabling fault tolerance or self-healing <xref target="Jeong"/>. In addition to using a hierarchical organization to cope with scaling, another available and possibly complementary mechanism is multicast <xref target="RFC7390"/> <xref target="I-D.ietf-core-groupcomm-bis"/>. Other approaches include relying on blockchains <xref target="Ali"/>.</li>
            <li>Integration of edge computing with virtualized Radio Access Networks (Fog RAN) <xref target="I-D.bernardos-sfc-fog-ran"/> and 5G access networks.</li>
            <li>Sharing resources in multi-vendor and multi-operator scenarios to optimize criteria such as profit <xref target="Anglano"/>, resource usage, latency, and energy consumption.</li>
            <li>Capacity planning, placement of infrastructure nodes to minimize delay <xref target="Fan"/>, cost, energy, etc.</li>
            <li>Incentives for participation, for example, in peer-to-peer federation schemes.</li>
            <li>Design of federated AI over IoT edge computing systems <xref target="Brecko"/>, for example, for anomaly detection.</li>
          </ul>
        </section>
        <section anchor="multi-tenancy-and-isolation">
          <name>Multi-Tenancy and Isolation</name>
          <t>Some IoT edge computing systems make use of virtualized (compute, storage, and networking) resources to address the need for secure multi-tenancy at the edge. This leads to "edge clouds" that share properties with remote clouds and can reuse some of their ecosystems. Virtualization function management is largely covered by ETSI NFV and MEC standards and recommendations. Projects such as <xref target="LFEDGE-EVE"/> further cover virtualization and its management in distributed edge computing settings.</t>
          <t>Related challenges include:</t>
          <ul spacing="normal">
        <li>Adapting cloud management platforms to the edge to account for its distributed nature, heterogeneity, need for customization, and limited resources (for example, using Conflict-free Replicated Data Types (CRDTs) <xref target="Jeffery"/> or intent-based management mechanisms <xref target="Cao"/>).</li>
            <li>Minimizing virtual function instantiation time and resource usage.</li>
          </ul>
        </section>
      </section>
      <section anchor="sec-components-functional">
        <name>Functional Components</name>
        <section anchor="in-network-computation">
          <name>In-Network Computation</name>
          <t>A core function of IoT edge computing is to enable local computation on a node at the network edge, typically for application-layer processing, such as processing input data from sensors, making local decisions, preprocessing data, and offloading computation on behalf of a device, service, or user. Related functions include orchestrating computation (in a centralized or distributed manner) and managing application life cycles. Support for in-network computation may vary in terms of capability; for example, computing nodes can host virtual machines, software containers, software actors, unikernels running stateful or stateless code, or a rule engine providing an API to register actions in response to conditions (such as an IoT device ID, sensor values to check, thresholds, etc.).</t>
          <t>Edge offloading includes offloading to and from an IoT device and to and from a network node. <xref target="Cloudlets"/> describes an example of offloading computation from an end device to a network node. In contrast, oneM2M is an example of a system that allows a cloud-based IoT platform to transfer resources and tasks to a target edge node <xref target="oneM2M-TR0052"/>. Once transferred, the edge node can directly support IoT devices that it serves with the service offloaded by the cloud (e.g., group management, location management, etc.).</t>
          <t>QoS can be provided in some systems through the combination of network QoS (e.g., traffic engineering or wireless resource scheduling) and compute and storage resource allocations. For example, in some systems, a bandwidth manager service can be exposed to enable allocation of the bandwidth to or from an edge computing application instance.</t>
          <t>In-network computation can leverage the underlying services provided using data generated by IoT devices and access networks. Such services include IoT device location, radio network information, bandwidth management, and congestion management (e.g., the congestion management feature of oneM2M <xref target="oneM2M-TR0052"/>).</t>
          <t>Related challenges include:</t>
          <ul spacing="normal">
            <li>Computation placement: in a centralized or
   distributed (e.g., peer-to-peer) manner, selecting an appropriate compute
   device.  The selection is based on available resources, location of
   data input and data sinks, compute node properties, etc. with
   varying goals.  These goals include end-to-end latency, privacy, high
   availability, energy conservation, or network efficiency (for
   example, using load-balancing techniques to avoid congestion).</li>
            <li>Onboarding code on a platform or computing device and invoking remote code execution, possibly as part of a distributed programming model and with respect to similar concerns of latency, privacy, etc. For example, offloading can be included in a vehicular scenario <xref target="Grewe"/>. These operations should deal with heterogeneous compute nodes <xref target="Schafer"/> and may also support end devices, including IoT devices, as compute nodes <xref target="Larrea"/>.</li>
            <li>Adapting Quality of Results (QoR) for applications where a perfect result is not necessary <xref target="Li"/>.</li>
            <li>Assisted or automatic partitioning of code. For example, for application programs <xref target="I-D.sarathchandra-coin-appcentres"/> or network programs <xref target="I-D.hsingh-coinrg-reqs-p4comp"/>.</li>
            <li>Supporting computation across trust domains. For example, verifying computation results.</li>
            <li>Supporting computation mobility: relocating an instance from one compute node to another while maintaining a given service level; session continuity when communicating with end devices that are mobile, possibly at high speed (e.g., in vehicular scenarios); defining lightweight execution environments for secure code mobility, for example, using WebAssembly <xref target="Nieke"/>.</li>
            <li>Defining, managing, and verifying SLAs for edge computing systems; pricing is a challenging task.</li>
          </ul>
        </section>
        <section anchor="edge-storage-and-caching">
          <name>Edge Storage and Caching</name>
          <t>Local storage or caching enables local data processing (e.g., preprocessing or analysis) as well as delayed data transfer to the cloud or delayed physical shipping.  An edge node may offer local data storage (in which persistence is subject to retention policies), caching, or both.  Generally, "caching" refers to temporary storage to improve performance without persistence guarantees.  An edge-caching component manages data persistence; for example, it schedules the removal of data when it is no longer needed.  Other related aspects include the authentication and encryption of data.  Edge storage and caching can take the form of a distributed storage system.</t>
          <t>Related challenges include:</t>
          <ul spacing="normal">
            <li>Cache and data placement: using cache positioning and data placement strategies to minimize data retrieval delay <xref target="Liu"/> and energy consumption. Caches may be positioned in the access-network infrastructure or on end devices.</li>
            <li>Maintaining consistency, freshness, reliability, and privacy of data stored or cached in systems that are distributed, constrained, and dynamic (e.g., due to node mobility, energy-saving regimes, and disruptions) and which can have additional data governance constraints on data storage location. For example, <xref target="Mortazavi"/> describes leveraging a hierarchical storage organization. Freshness-related metrics include the age of information <xref target="Yates"/> that captures the timeliness of information received from a sender (e.g., an IoT device).</li>
          </ul>
        </section>
        <section anchor="communication">
          <name>Communication</name>
          <t>An edge cloud may provide a northbound data plane or management plane interface to a remote network, such as a cloud, home, or enterprise network. This interface does not exist in stand-alone (local-only) scenarios. To support such an interface when it exists, an edge computing component needs to expose an API, deal with authentication and authorization, and support secure communication.</t>
          <t>An edge cloud may provide an API or interface to local or mobile users, for example, to provide access to services and applications or to manage data published by local or mobile devices.</t>
          <t>Edge computing nodes communicate with IoT devices over a southbound interface, typically for data acquisition and IoT device management.</t>
<t>Communication brokering is a typical function of IoT edge computing
that facilitates communication with IoT devices, enables clients to
register as recipients for data from devices, forwards
traffic to or from IoT devices, enables various data discovery and
redistribution patterns (for example, north-south with clouds and
east-west with other edge devices <xref target="I-D.mcbride-edge-data-discovery-overview"/>).  Another related aspect is dispatching alerts and notifications to interested consumers both inside and outside the edge computing domain.  Protocol translation, analytics, and video transcoding can also be performed when necessary. Communication brokering may be centralized in some systems, for example, using a hub-and-spoke message broker or distributed with message buses, possibly in a layered bus approach.  Distributed systems can leverage direct communication between end devices over device-to-device links.  A broker can ensure communication reliability and traceability and, in some cases, transaction management.</t>
          <t>Related challenges include:</t>
          <ul spacing="normal">
            <li>Defining edge computing abstractions, such as PaaS <xref target="Yangui"/>, suitable for users and cloud systems to interact with edge computing systems and dealing with interoperability issues, such as data-model heterogeneity.</li>
            <li>Enabling secure and resilient communication between IoT devices and a remote cloud, for example, through multipath support.</li>
          </ul>
        </section>
      </section>
      <section anchor="sec-components-app">
        <name>Application Components</name>
        <t>IoT edge computing can host applications, such as those mentioned in <xref target="sec-uc"/>. While describing the components of individual applications is out of our scope, some of those applications share similar functions, such as IoT device management and data management, as described below.</t>
        <section anchor="iot-device-management">
          <name>IoT Device Management</name>
          <t>IoT device management includes managing information regarding IoT devices, including their sensors and how to communicate with them. Edge computing addresses the scalability challenges of a large number of IoT devices by separating the scalability domain into local (e.g., edge) networks and remote networks. For example, in the context of the oneM2M standard, a device management functionality (called "software campaign" in oneM2M) enables the installation, deletion, activation, and deactivation of software functions and services on a potentially large number of edge nodes <xref target="oneM2M-TR0052"/>. Using a dashboard or management software, a service provider issues these requests through an IoT cloud platform supporting the software campaign functionality.</t>
          <t>The challenges listed in <xref target="sec-dis-auth"/> may be applicable to IoT device management as well.</t>
        </section>
        <section anchor="sec-data">
          <name>Data Management and Analytics</name>
          <t>Data storage and processing at the edge are major aspects of IoT edge computing, directly addressing the high-level IoT challenges listed in <xref target="sec-challenges"/>. Data analysis, for example, through AI/ML tasks performed at the edge, may benefit from specialized hardware support on the computing nodes.</t>
          <t>Related challenges include:</t>
          <ul spacing="normal">
            <li>Addressing concerns regarding resource usage, security, and privacy when sharing, processing, discovering, or managing data: for example, presenting data in views composed of an aggregation of related data <xref target="Zhang"/>, protecting data communication between authenticated peers <xref target="Basudan"/>, classifying data (e.g., in terms of privacy, importance, and validity), and compressing and encrypting data, for example, using homomorphic encryption to directly process encrypted data <xref target="Stanciu"/>.</li>
            <li>Other concerns regarding edge data discovery (e.g., streaming data, metadata, and events) include siloization and lack of standards in edge environments that can be dynamic (e.g., vehicular networks) and heterogeneous <xref target="I-D.mcbride-edge-data-discovery-overview"/>.</li>
            <li>Data-driven programming models <xref target="Renart"/>, for example, those that are event based, including handling naming and data abstractions.</li>
            <li>Data integration in an environment without data standardization or where different sources use different ontologies <xref target="Farnbauer-Schmidt"/>.</li>	    
            <li>Addressing concerns such as limited resources, privacy, and dynamic and heterogeneous environments to deploy machine learning at the edge: for example, making machine learning more lightweight and distributed (e.g., enabling distributed inference at the edge), supporting shorter training times and simplified models, and supporting models that can be compressed for efficient communication <xref target="Murshed"/>.</li>
            <li>Although edge computing can support IoT services independently of cloud computing, it can also be connected to cloud computing. Thus, the relationship between IoT edge computing and cloud computing, with regard to data management, is another potential challenge <xref target="ISO_TR"/>.</li>
          </ul>
        </section>
      </section>
      <section anchor="simulation-and-emulation-environments">
        <name>Simulation and Emulation Environments</name>
        <t>IoT edge computing introduces new challenges to the simulation and emulation tools used by researchers and developers. A varied set of applications, networks, and computing technologies can coexist in a distributed system, making modeling difficult. Scale, mobility, and resource management are additional challenges <xref target="SimulatingFog"/>.</t>
        <t>Tools include simulators, where simplified application logic runs on top of a fog network model, and emulators, where actual applications can be deployed, typically in software containers, over a cloud infrastructure (e.g., Docker and Kubernetes) running over a network emulating network edge conditions, such as variable delays, throughput,  and mobility events. To gain in scale, emulated and simulated systems can be used together in hybrid federation-based approaches <xref target="PseudoDynamicTesting"/>; whereas to gain in realism, physical devices can be interconnected with emulated systems. Examples of related work and platforms include the publicly accessible MEC sandbox work recently initiated in ETSI <xref target="ETSI_Sandbox"/> and open-source simulators and emulators (<xref target="AdvantEDGE"/> emulator and tools cited in <xref target="SimulatingFog"/>). EdgeNet <xref target="Senel"/> is a globally distributed edge cloud for Internet researchers, which uses nodes contributed by institutions and which is based on Docker for containerization and Kubernetes for deployment and node management.</t>
        <t>Digital twins are virtual instances of a physical system (twin) that are continually updated with the latter's performance, maintenance, and health status data throughout the life cycle of the physical system <xref target="Madni"/>. In contrast to an emulation or simulated environment, digital twins, once generated, are maintained in sync by their physical twin, which can be, among many other instances, an IoT device, edge device, or an edge network. The benefits of digital twins go beyond those of emulation and include accelerated business processes, enhanced productivity, and faster innovation with reduced costs <xref target="I-D.irtf-nmrg-network-digital-twin-arch"/>.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Privacy and security are drivers of the adoption of edge computing for the IoT (<xref target="sec-priv"/>). As discussed in <xref target="sec-dis-auth"/>, authentication and trust (among computing nodes, management nodes, and end devices) can be challenging as scale, mobility, and heterogeneity increase. The sometimes disconnected nature of edge resources can avoid reliance on third-party authorities. Distributed edge computing is exposed to reliability and denial-of-service attacks. A personal or proprietary IoT data leakage is also a major threat, particularly because of the distributed nature of the systems (<xref target="sec-data"/>). Furthermore, blockchain-based distributed IoT edge computing must be designed for privacy, since public blockchain addressing does not guarantee absolute anonymity <xref target="Ali"/>.</t>
      <t>However, edge computing also offers solutions in the security space: maintaining privacy by computing sensitive data closer to data generators is a major use case for IoT edge computing.  An edge cloud can be used to perform actions based on sensitive data or to anonymize or aggregate data prior to transmission to a remote cloud server. Edge computing communication brokering functions can also be used to secure communication between edge and cloud networks.</t>
    </section>
    <section anchor="conclusion">
      <name>Conclusion</name>
      <t>IoT edge computing plays an essential role, complementary to the cloud, in enabling IoT systems in certain situations. In this document, we presented use cases and listed the core challenges faced by the IoT that drive the need for IoT edge computing.  Therefore, the first part of this document may help focus future research efforts on the aspects of IoT edge computing where it is most useful. The second part of this document presents a general system model and structured overview of the associated research challenges and related work. The structure, based on the system model, is not meant to be restrictive and exists for the purpose of having a link between individual research areas and where they are applicable in an IoT edge computing system.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>

<displayreference target="I-D.mcbride-edge-data-discovery-overview" to="EDGE-DATA-DISCOVERY-OVERVIEW"/>
<displayreference target="I-D.irtf-t2trg-rest-iot" to="REST-IOT"/>
<displayreference target="I-D.bernardos-sfc-fog-ran" to="SFC-FOG-RAN"/>
<displayreference target="I-D.ietf-core-groupcomm-bis" to="CORE-GROUPCOMM-BIS"/>
<displayreference target="I-D.sarathchandra-coin-appcentres" to="COIN-APPCENTRES"/>
<displayreference target="I-D.defoy-t2trg-iot-edge-computing-background" to="EDGE-COMPUTING-BACKGROUND"/>
<displayreference target="I-D.irtf-nmrg-network-digital-twin-arch" to="NETWORK-DIGITAL-TWIN-ARCH"/>
<displayreference target="I-D.hsingh-coinrg-reqs-p4comp" to="REQS-P4COMP"/>

    <references>
      <name>Informative References</name>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.mcbride-edge-data-discovery-overview.xml"/>

<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6291.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8578.xml"/>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.irtf-t2trg-rest-iot.xml"/>

      <reference anchor="Ashton" target="http://www.itrco.jp/libraries/RFIDjournal-That%20Internet%20of%20Things%20Thing.pdf">
        <front>
          <title>That 'Internet of Things' Thing</title>
          <author initials="K." surname="Ashton" fullname="Kevin Ashton">
            <organization/>
          </author>
          <date year="2009" month="June"/>
        </front>
        <refcontent>RFID Journal, vol. 22, no. 7, pp. 97-114</refcontent>
      </reference>

      <reference anchor="Lin">
        <front>
          <title>A Survey on Internet of Things: Architecture, Enabling Technologies, Security and Privacy, and Applications</title>
          <author initials="J." surname="Lin" fullname="Jie Lin">
            <organization/>
          </author>
          <author initials="W." surname="Yu" fullname="Wei Yu">
            <organization/>
          </author>
          <author initials="N." surname="Zhang" fullname="Nan Zhang">
            <organization/>
          </author>
          <author initials="X." surname="Yang" fullname="Xinyu Yang">
            <organization/>
          </author>
          <author initials="H." surname="Zhang" fullname="Hanlin Zhang">
            <organization/>
          </author>
          <author initials="W." surname="Zhao" fullname="Wei Zhao">
            <organization/>
          </author>
          <date year="2017" month="October"/>
        </front>
	<refcontent>IEEE Internet of Things Journal, vol. 4, no. 5, pp. 1125-1142</refcontent>
        <seriesInfo name="DOI" value="10.1109/jiot.2017.2683200"/>
      </reference>

      <reference anchor="NIST">
        <front>
          <title>The NIST Definition of Cloud Computing</title>
          <author initials="P." surname="Mell" fullname="Peter Mell">
            <organization/>
          </author>
          <author initials="T." surname="Grance" fullname="Timothy Grance">
            <organization/>
          </author>
          <date year="2011" month="September"/>
        </front>
	<seriesInfo name="NIST Special Publication" value="800-145"/>
        <seriesInfo name="DOI" value="10.6028/nist.sp.800-145"/>
      </reference>

      <reference anchor="Botta">
        <front>
          <title>Integration of Cloud computing and Internet of Things: A survey</title>
          <author initials="A." surname="Botta" fullname="Alessio Botta">
            <organization/>
          </author>
          <author initials="W." surname="de Donato" fullname="Walter de Donato">
            <organization/>
          </author>
          <author initials="V." surname="Persico" fullname="Valerio Persico">
            <organization/>
          </author>
          <author initials="A." surname="Pescapé" fullname="Antonio Pescapé">
            <organization/>
          </author>
          <date year="2016" month="March"/>
        </front>
        <refcontent>Future Generation Computer Systems, vol. 56, pp. 684-700</refcontent>
        <seriesInfo name="DOI" value="10.1016/j.future.2015.09.021"/>
      </reference>

      <reference anchor="Shi">
        <front>
          <title>Edge Computing: Vision and Challenges</title>
          <author initials="W." surname="Shi" fullname="Weisong Shi">
            <organization/>
          </author>
          <author initials="J." surname="Cao" fullname="Jie Cao">
            <organization/>
          </author>
          <author initials="Q." surname="Zhang" fullname="Quan Zhang">
            <organization/>
          </author>
          <author initials="Y." surname="Li" fullname="Youhuizi Li">
            <organization/>
          </author>
          <author initials="L." surname="Xu" fullname="Lanyu Xu">
            <organization/>
          </author>
          <date year="2016" month="October"/>
        </front>
        <refcontent>IEEE Internet of Things Journal, vol. 3, no. 5, pp. 637-646</refcontent>
        <seriesInfo name="DOI" value="10.1109/jiot.2016.2579198"/>
      </reference>

      <reference anchor="Mahadev">
        <front>
          <title>The Emergence of Edge Computing</title>
          <author initials="M." surname="Satyanarayanan" fullname="Mahadev Satyanarayanan">
            <organization/>
          </author>
          <date year="2017" month="January"/>
        </front>
        <refcontent>Computer, vol. 50, no. 1, pp. 30-39</refcontent>
        <seriesInfo name="DOI" value="10.1109/mc.2017.9"/>
      </reference>

      <reference anchor="Chiang">
        <front>
          <title>Fog and IoT: An Overview of Research Opportunities</title>
          <author initials="M." surname="Chiang" fullname="Mung Chiang">
            <organization/>
          </author>
          <author initials="T." surname="Zhang" fullname="Tao Zhang">
            <organization/>
          </author>
          <date year="2016" month="December"/>
        </front>
        <refcontent>IEEE Internet of Things Journal, vol. 3, no. 6, pp. 854-864</refcontent>
        <seriesInfo name="DOI" value="10.1109/jiot.2016.2584538"/>
      </reference>

      <reference anchor="Weiner">
        <front>
          <title>Design of a low-latency, high-reliability wireless communication system for control applications</title>
          <author initials="M." surname="Weiner" fullname="Matthew Weiner">
            <organization/>
          </author>
          <author initials="M." surname="Jorgovanovic" fullname="Milos Jorgovanovic">
            <organization/>
          </author>
          <author initials="A." surname="Sahai" fullname="Anant Sahai">
            <organization/>
          </author>
          <author initials="B." surname="Nikolie" fullname="Borivoje Nikolie">
            <organization/>
          </author>
          <date year="2014" month="June"/>
        </front>
        <refcontent>2014 IEEE International Conference on Communications (ICC)</refcontent>
        <seriesInfo name="DOI" value="10.1109/icc.2014.6883918"/>
      </reference>

      <reference anchor="Kelly" target="https://campustechnology.com/articles/2015/04/15/internet-of-things-data-to-top-1-6-zettabytes-by-2020.aspx">
        <front>
          <title>Internet of Things Data to Top 1.6 Zettabytes by 2020</title>
          <author initials="R." surname="Kelly" fullname="Rhea Kelly">
            <organization/>
          </author>
          <date year="2015" month="April"/>
        </front>
        <annotation>Retrieved on 2022-05-24.</annotation>
      </reference>

      <reference anchor="ISO_TR" target="https://www.iso.org/standard/53284.html">
        <front>
          <title>Internet of things (IoT) - Edge computing</title>
          <author>
            <organization/>
          </author>
          <date year="2020" month="April"/>
        </front>
        <seriesInfo name="ISO/IEC" value="TR 30164:2020"/>
      </reference>

      <reference anchor="OpenFog" target="https://iiconsortium.org/pdf/OpenFog_Reference_Architecture_2_09_17.pdf">
        <front>
          <title>OpenFog Reference Architecture for Fog Computing</title>
          <author>
            <organization>OpenFog Consortium</organization>
          </author>
          <date year="2017" month="February"/>
        </front>
      </reference>

      <reference anchor="ETSI_MEC_03" target="https://www.etsi.org/deliver/etsi_gs/MEC/001_099/003/02.01.01_60/gs_MEC003v020101p.pdf">
        <front>
          <title>Multi-access Edge Computing (MEC); Framework and Reference Architecture</title>
          <author>
            <organization>ETSI</organization>
          </author>
          <date year="2019" month="January"/>
        </front>
	<seriesInfo name="ETSI GS" value="MEC 003"/>
	<refcontent>V2.1.1</refcontent>
      </reference>

      <reference anchor="ETSI_MEC_01" target="https://www.etsi.org/deliver/etsi_gs/MEC/001_099/001/02.01.01_60/gs_MEC001v020101p.pdf">
        <front>
          <title>Multi-access Edge Computing (MEC); Terminology</title>
          <author>
            <organization>ETSI</organization>
          </author>
          <date year="2019" month="January"/>
        </front>
	<seriesInfo name="ETSI GS" value="MEC 001"/>
        <refcontent>V2.1.1</refcontent>
      </reference>

      <reference anchor="NVIDIA" target="https://devblogs.nvidia.com/training-self-driving-vehicles-challenge-scale/">
        <front>
          <title>Training AI for Self-Driving Vehicles: the Challenge of Scale</title>
          <author initials="A." surname="Grzywaczewski" fullname="Adam Grzywaczewski">
            <organization/>
          </author>
          <date year="2017" month="October"/>
        </front>
        <refcontent>NVIDIA Developer Blog</refcontent>
	<annotation>Retrieved on 2022-05-24.</annotation>
      </reference>

      <reference anchor="IEC_IEEE_60802" target="https://grouper.ieee.org/groups/802/1/files/public/docs2018/60802-industrial-use-cases-0918-v13.pdf">
        <front>
          <title>Use Cases IEC/IEEE 60802</title>
          <author>
            <organization>IEC/IEEE</organization>
          </author>
          <date year="2018" month="September"/>
        </front>
        <seriesInfo name="IEC/IEEE" value="60802"/>
	<refcontent>V1.3</refcontent>
      </reference>

      <reference anchor="ENERGY">
        <front>
          <title>Revealing household characteristics from smart meter data</title>
          <author initials="C." surname="Beckel" fullname="Christian Beckel">
            <organization/>
          </author>
          <author initials="L." surname="Sadamori" fullname="Leyna Sadamori">
            <organization/>
          </author>
          <author initials="T." surname="Staake" fullname="Thorsten Staake">
            <organization/>
          </author>
          <author initials="S." surname="Santini" fullname="Silvia Santini">
            <organization/>
          </author>
          <date year="2014" month="December"/>
        </front>
        <refcontent>Energy, vol. 78, pp. 397-410</refcontent>
        <seriesInfo name="DOI" value="10.1016/j.energy.2014.10.025"/>
      </reference>

      <reference anchor="ETSI_Sandbox" target="https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=57671">
        <front>
          <title>Multi-access Edge Computing (MEC) MEC Sandbox</title>
          <author>
            <organization>ETSI</organization>
          </author>
          <date year="2023" month="September"/>
        </front>
        <refcontent>Portal</refcontent>
      </reference>

      <reference anchor="AdvantEDGE" target="https://github.com/InterDigitalInc/AdvantEDGE">
        <front>
          <title>AdvantEDGE, Mobile Edge Emulation Platform</title>
          <author>
            <organization/>
          </author>
          <date year="2023" month="May"/>
        </front>
        <refcontent>commit 8f6edbe</refcontent>
      </reference>

      <reference anchor="SimulatingFog">
        <front>
          <title>Simulating Fog and Edge Computing Scenarios: An Overview and Research Challenges</title>
          <author initials="S." surname="Svorobej" fullname="Sergej Svorobej">
            <organization/>
          </author>
          <author initials="P." surname="Takako Endo" fullname="Patricia Takako Endo">
            <organization/>
          </author>
          <author initials="M." surname="Bendechache" fullname="Malika Bendechache">
            <organization/>
          </author>
          <author initials="C." surname="Filelis-Papadopoulos" fullname="Christos Filelis-Papadopoulos">
            <organization/>
          </author>
          <author initials="K." surname="Giannoutakis" fullname="Konstantinos Giannoutakis">
            <organization/>
          </author>
          <author initials="G." surname="Gravvanis" fullname="George Gravvanis">
            <organization/>
          </author>
          <author initials="D." surname="Tzovaras" fullname="Dimitrios Tzovaras">
            <organization/>
          </author>
          <author initials="J." surname="Byrne" fullname="James Byrne">
            <organization/>
          </author>
          <author initials="T." surname="Lynn" fullname="Theo Lynn">
            <organization/>
          </author>
          <date year="2019" month="February"/>
        </front>
        <refcontent>Future Internet, vol. 11, no. 3, pp. 55</refcontent>
        <seriesInfo name="DOI" value="10.3390/fi11030055"/>
      </reference>

      <reference anchor="PseudoDynamicTesting">
        <front>
          <title>Pseudo-Dynamic Testing of Realistic Edge-Fog Cloud Ecosystems</title>
          <author initials="M." surname="Ficco" fullname="Massimo Ficco">
            <organization/>
          </author>
          <author initials="C." surname="Esposito" fullname="Christian Esposito">
            <organization/>
          </author>
          <author initials="Y." surname="Xiang" fullname="Yang Xiang">
            <organization/>
          </author>
          <author initials="F." surname="Palmieri" fullname="Francesco Palmieri">
            <organization/>
          </author>
          <date year="2017" month="November"/>
        </front>
        <refcontent>IEEE Communications Magazine, vol. 55, no. 11, pp. 98-104</refcontent>
        <seriesInfo name="DOI" value="10.1109/mcom.2017.1700328"/>
      </reference>

      <reference anchor="LFEDGE-EVE" target="https://www.lfedge.org/projects/eve">
        <front>
          <title>Project Edge Virtualization Engine (EVE)</title>
          <author>
            <organization>Linux Foundation</organization>
          </author>
        </front>
        <refcontent>Portal</refcontent>
	<annotation>Retrieved on 2022-05-24.</annotation>
      </reference>

      <reference anchor="Yousefpour">
        <front>
          <title>All one needs to know about fog computing and related edge computing paradigms: A complete survey</title>
          <author initials="A." surname="Yousefpour" fullname="Ashkan Yousefpour">
            <organization/>
          </author>
          <author initials="C." surname="Fung" fullname="Caleb Fung">
            <organization/>
          </author>
          <author initials="T." surname="Nguyen" fullname="Tam Nguyen">
            <organization/>
          </author>
          <author initials="K." surname="Kadiyala" fullname="Krishna Kadiyala">
            <organization/>
          </author>
          <author initials="F." surname="Jalali" fullname="Fatemeh Jalali">
            <organization/>
          </author>
          <author initials="A." surname="Niakanlahiji" fullname="Amirreza Niakanlahiji">
            <organization/>
          </author>
          <author initials="J." surname="Kong" fullname="Jian Kong">
            <organization/>
          </author>
          <author initials="J." surname="Jue" fullname="Jason P. Jue">
            <organization/>
          </author>
          <date year="2019" month="September"/>
        </front>
        <refcontent>Journal of Systems Architecture, vol. 98, pp. 289-330</refcontent>
        <seriesInfo name="DOI" value="10.1016/j.sysarc.2019.02.009"/>
      </reference>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.bernardos-sfc-fog-ran.xml"/>

      <reference anchor="Schafer">
        <front>
          <title>Tasklets: Overcoming Heterogeneity in Distributed Computing Systems</title>
          <author initials="D." surname="Schäfer" fullname="Dominik Schäfer">
            <organization/>
          </author>
          <author initials="J." surname="Edinger" fullname="Janick Edinger">
            <organization/>
          </author>
          <author initials="S." surname="VanSyckel" fullname="Sebastian VanSyckel">
            <organization/>
          </author>
          <author initials="J." surname="Paluska" fullname="Justin Mazzola Paluska">
            <organization/>
          </author>
          <author initials="C." surname="Becker" fullname="Christian Becker">
            <organization/>
          </author>
          <date year="2016" month="June"/>
        </front>
        <refcontent>2016 IEEE 36th International Conference on Distributed Computing Systems Workshops (ICDCSW)</refcontent>
        <seriesInfo name="DOI" value="10.1109/icdcsw.2016.22"/>
      </reference>

      <reference anchor="Echeverria">
        <front>
          <title>Establishing Trusted Identities in Disconnected Edge Environments</title>
          <author initials="S." surname="Echeverría" fullname="Sebastián Echeverría">
            <organization/>
          </author>
          <author initials="D." surname="Klinedinst" fullname="Dan Klinedinst">
            <organization/>
          </author>
          <author initials="K." surname="Williams" fullname="Keegan Williams">
            <organization/>
          </author>
          <author initials="G." surname="Lewis" fullname="Grace A. Lewis">
            <organization/>
          </author>
          <date year="2016" month="October"/>
        </front>
        <refcontent>2016 IEEE/ACM Symposium on Edge Computing (SEC)</refcontent>
        <seriesInfo name="DOI" value="10.1109/sec.2016.27"/>
      </reference>

      <reference anchor="Harchol">
        <front>
          <title>CESSNA: Resilient Edge-Computing</title>
          <author initials="Y." surname="Harchol" fullname="Yotam Harchol">
            <organization/>
          </author>
          <author initials="A." surname="Mushtaq" fullname="Aisha Mushtaq">
            <organization/>
          </author>
          <author initials="J." surname="McCauley" fullname="James McCauley">
            <organization/>
          </author>
          <author initials="A." surname="Panda" fullname="Aurojit Panda">
            <organization/>
          </author>
          <author initials="S." surname="Shenker" fullname="Scott Shenker">
            <organization/>
          </author>
          <date year="2018" month="August"/>
        </front>
        <refcontent>Proceedings of the 2018 Workshop on Mobile Edge Communications</refcontent>
        <seriesInfo name="DOI" value="10.1145/3229556.3229558"/>
      </reference>

      <reference anchor="Anglano">
        <front>
          <title>A game-theoretic approach to coalition formation in fog provider federations</title>
          <author initials="C." surname="Anglano" fullname="Cosimo Anglano">
            <organization/>
          </author>
          <author initials="M." surname="Canonico" fullname="Massimo Canonico">
            <organization/>
          </author>
          <author initials="P." surname="Castagno" fullname="Paolo Castagno">
            <organization/>
          </author>
          <author initials="M." surname="Guazzone" fullname="Marco Guazzone">
            <organization/>
          </author>
          <author initials="M." surname="Sereno" fullname="Matteo Sereno">
            <organization/>
          </author>
          <date year="2018" month="April"/>
        </front>
        <refcontent>2018 Third International Conference on Fog and Mobile Edge Computing (FMEC)</refcontent>
        <seriesInfo name="DOI" value="10.1109/fmec.2018.8364054"/>
      </reference>

      <reference anchor="Jeong">
        <front>
          <title>Towards a distributed computing framework for Fog</title>
          <author initials="T." surname="Jeong" fullname="Taeyeol Jeong">
            <organization/>
          </author>
          <author initials="J." surname="Chung" fullname="Jaeyoon Chung">
            <organization/>
          </author>
          <author initials="J." surname="Hong" fullname="James Won-Ki Hong">
            <organization/>
          </author>
          <author initials="S." surname="Ha" fullname="Sangtae Ha">
            <organization/>
          </author>
          <date year="2017" month="October"/>
        </front>
        <refcontent>2017 IEEE Fog World Congress (FWC)</refcontent>
        <seriesInfo name="DOI" value="10.1109/fwc.2017.8368528"/>
      </reference>

      <reference anchor="Fan">
        <front>
          <title>Cost Aware cloudlet Placement for big data processing at the edge</title>
          <author initials="Q." surname="Fan" fullname="Qiang Fan">
            <organization/>
          </author>
          <author initials="N." surname="Ansari" fullname="Nirwan Ansari">
            <organization/>
          </author>
          <date year="2017" month="May"/>
        </front>
        <refcontent>2017 IEEE International Conference on Communications (ICC)</refcontent>
        <seriesInfo name="DOI" value="10.1109/icc.2017.7996722"/>
      </reference>

      <reference anchor="Yangui">
        <front>
          <title>A platform as-a-service for hybrid cloud/fog environments</title>
          <author initials="S." surname="Yangui" fullname="Sami Yangui">
            <organization/>
          </author>
          <author initials="P." surname="Ravindran" fullname="Pradeep Ravindran">
            <organization/>
          </author>
          <author initials="O." surname="Bibani" fullname="Ons Bibani">
            <organization/>
          </author>
          <author initials="R." surname="Glitho" fullname="Roch H. Glitho">
            <organization/>
          </author>
          <author initials="N." surname="Ben Hadj-Alouane" fullname="Nejib Ben Hadj-Alouane">
            <organization/>
          </author>
          <author initials="M." surname="Morrow" fullname="Monique J. Morrow">
            <organization/>
          </author>
          <author initials="P." surname="Polakos" fullname="Paul A. Polakos">
            <organization/>
          </author>
          <date year="2016" month="June"/>
        </front>
        <refcontent>2016 IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN)</refcontent>
        <seriesInfo name="DOI" value="10.1109/lanman.2016.7548853"/>
      </reference>

      <reference anchor="Li">
        <front>
          <title>MobiQoR: Pushing the Envelope of Mobile Edge Computing Via Quality-of-Result Optimization</title>
          <author initials="Y." surname="Li" fullname="Yongbo Li">
            <organization/>
          </author>
          <author initials="Y." surname="Chen" fullname="Yurong Chen">
            <organization/>
          </author>
          <author initials="T." surname="Lan" fullname="Tian Lan">
            <organization/>
          </author>
          <author initials="G." surname="Venkataramani" fullname="Guru Venkataramani">
            <organization/>
          </author>
          <date year="2017" month="June"/>
        </front>
        <refcontent>2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS)</refcontent>
        <seriesInfo name="DOI" value="10.1109/icdcs.2017.54"/>
      </reference>

      <reference anchor="Liu">
        <front>
          <title>Cache Placement in Fog-RANs: From Centralized to Distributed Algorithms</title>
          <author initials="J." surname="Liu" fullname="Juan Liu">
            <organization/>
          </author>
          <author initials="B." surname="Bai" fullname="Bo Bai">
            <organization/>
          </author>
          <author initials="J." surname="Zhang" fullname="Jun Zhang">
            <organization/>
          </author>
          <author initials="K." surname="Letaief" fullname="Khaled B. Letaief">
            <organization/>
          </author>
          <date year="2017" month="November"/>
        </front>
        <refcontent>IEEE Transactions on Wireless Communications, vol. 16, no. 11, pp. 7039-7051</refcontent>
        <seriesInfo name="DOI" value="10.1109/twc.2017.2737015"/>
      </reference>

      <reference anchor="Zhang">
        <front>
          <title>Firework: Big Data Sharing and Processing in Collaborative Edge Environment</title>
          <author initials="Q." surname="Zhang" fullname="Quan Zhang">
            <organization/>
          </author>
          <author initials="X." surname="Zhang" fullname="Xiaohong Zhang">
            <organization/>
          </author>
          <author initials="Q." surname="Zhang" fullname="Qingyang Zhang">
            <organization/>
          </author>
          <author initials="W." surname="Shi" fullname="Weisong Shi">
            <organization/>
          </author>
          <author initials="H." surname="Zhong" fullname="Hong Zhong">
            <organization/>
          </author>
          <date year="2016" month="October"/>
        </front>
        <refcontent>2016 Fourth IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb)</refcontent>
        <seriesInfo name="DOI" value="10.1109/hotweb.2016.12"/>
      </reference>

      <reference anchor="Basudan">
        <front>
          <title>A Privacy-Preserving Vehicular Crowdsensing-Based Road Surface Condition Monitoring System Using Fog Computing</title>
          <author initials="S." surname="Basudan" fullname="Sultan Basudan">
            <organization/>
          </author>
          <author initials="X." surname="Lin" fullname="Xiaodong Lin">
            <organization/>
          </author>
          <author initials="K." surname="Sankaranarayanan" fullname="Karthik Sankaranarayanan">
            <organization/>
          </author>
          <date year="2017" month="June"/>
        </front>
        <refcontent>IEEE Internet of Things Journal, vol. 4, no. 3, pp. 772-782</refcontent>
        <seriesInfo name="DOI" value="10.1109/jiot.2017.2666783"/>
      </reference>

      <reference anchor="Renart">
        <front>
          <title>Data-Driven Stream Processing at the Edge</title>
          <author initials="E." surname="Renart" fullname="Eduard Gibert Renart">
            <organization/>
          </author>
          <author initials="J." surname="Diaz-Montes" fullname="Javier Diaz-Montes">
            <organization/>
          </author>
          <author initials="M." surname="Parashar" fullname="Manish Parashar">
            <organization/>
          </author>
          <date year="2017" month="May"/>
        </front>
        <refcontent>2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC)</refcontent>
        <seriesInfo name="DOI" value="10.1109/icfec.2017.18"/>
      </reference>

      <reference anchor="Zhang2">
        <front>
          <title>Data Security and Privacy-Preserving in Edge Computing Paradigm: Survey and Open Issues</title>
          <author initials="J." surname="Zhang" fullname="Jiale Zhang">
            <organization/>
          </author>
          <author initials="B." surname="Chen" fullname="Bing Chen">
            <organization/>
          </author>
          <author initials="Y." surname="Zhao" fullname="Yanchao Zhao">
            <organization/>
          </author>
          <author initials="X." surname="Cheng" fullname="Xiang Cheng">
            <organization/>
          </author>
          <author initials="F." surname="Hu" fullname="Feng Hu">
            <organization/>
          </author>
          <date year="2018" month="March"/>
        </front>
        <refcontent>IEEE Access, vol. 6, pp. 18209-18237</refcontent>
        <seriesInfo name="DOI" value="10.1109/access.2018.2820162"/>
      </reference>

      <reference anchor="Yates">
        <front>
          <title>The Age of Information: Real-Time Status Updating by Multiple Sources</title>
          <author initials="R." surname="Yates" fullname="Roy D. Yates">
            <organization/>
          </author>
          <author initials="S." surname="Kaul" fullname="Sanjit K. Kaul">
            <organization/>
          </author>
          <date year="2019" month="March"/>
        </front>
        <refcontent>IEEE Transactions on Information Theory, vol. 65, no. 3, pp. 1807-1827</refcontent>
        <seriesInfo name="DOI" value="10.1109/tit.2018.2871079"/>
      </reference>

      <reference anchor="Khan">
        <front>
          <title>Edge-Computing-Enabled Smart Cities: A Comprehensive Survey</title>
          <author initials="L." surname="Khan" fullname="Latif U. Khan">
            <organization/>
          </author>
          <author initials="I." surname="Yaqoob" fullname="Ibrar Yaqoob">
            <organization/>
          </author>
          <author initials="N." surname="Tran" fullname="Nguyen H. Tran">
            <organization/>
          </author>
          <author initials="S." surname="Kazmi" fullname="S. M. Ahsan Kazmi">
            <organization/>
          </author>
          <author initials="T." surname="Dang" fullname="Tri Nguyen Dang">
            <organization/>
          </author>
          <author initials="C." surname="Hong" fullname="Choong Seon Hong">
            <organization/>
          </author>
          <date year="2020" month="October"/>
        </front>
        <refcontent>IEEE Internet of Things Journal, vol. 7, no. 10, pp. 10200-10232</refcontent>
        <seriesInfo name="DOI" value="10.1109/jiot.2020.2987070"/>
      </reference>

<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7390.xml"/>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-core-groupcomm-bis.xml"/>

      <reference anchor="Murshed">
        <front>
          <title>Machine Learning at the Network Edge: A Survey</title>
          <author initials="M." surname="Murshed" fullname="M. G. Sarwar Murshed">
            <organization/>
          </author>
          <author initials="C." surname="Murphy" fullname="Christopher Murphy">
            <organization/>
          </author>
          <author initials="D." surname="Hou" fullname="Daqing Hou">
            <organization/>
          </author>
          <author initials="N." surname="Khan" fullname="Nazar Khan">
            <organization/>
          </author>
          <author initials="G." surname="Ananthanarayanan" fullname="Ganesh Ananthanarayanan">
            <organization/>
          </author>
          <author initials="F." surname="Hussain" fullname="Faraz Hussain">
            <organization/>
          </author>
          <date year="2021" month="October"/>
        </front>
        <refcontent>ACM Computing Surveys, vol. 54, no. 8, pp. 1-37</refcontent>
        <seriesInfo name="DOI" value="10.1145/3469029"/>
      </reference>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.sarathchandra-coin-appcentres.xml"/>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.defoy-t2trg-iot-edge-computing-background.xml"/>

      <reference anchor="Senel">
        <front>
          <title>EdgeNet: A Multi-Tenant and Multi-Provider Edge Cloud</title>
          <author initials="B." surname="Şenel" fullname="Berat Can Şenel">
            <organization/>
          </author>
          <author initials="M." surname="Mouchet" fullname="Maxime Mouchet">
            <organization/>
          </author>
          <author initials="J." surname="Cappos" fullname="Justin Cappos">
            <organization/>
          </author>
          <author initials="O." surname="Fourmaux" fullname="Olivier Fourmaux">
            <organization/>
          </author>
          <author initials="T." surname="Friedman" fullname="Timur Friedman">
            <organization/>
          </author>
          <author initials="R." surname="McGeer" fullname="Rick McGeer">
            <organization/>
          </author>
          <date year="2021" month="April"/>
        </front>
        <refcontent>Proceedings of the 4th International Workshop on Edge Systems, Analytics and Networking</refcontent>
        <seriesInfo name="DOI" value="10.1145/3434770.3459737"/>
      </reference>

      <reference anchor="Stanciu">
        <front>
          <title>Privacy-Preserving Crowd-Monitoring Using Bloom Filters and Homomorphic Encryption</title>
          <author initials="V." surname="Stanciu" fullname="Valeriu-Daniel Stanciu">
            <organization/>
          </author>
          <author initials="M." surname="Steen" fullname="Maarten van Steen">
            <organization/>
          </author>
          <author initials="C." surname="Dobre" fullname="Ciprian Dobre">
            <organization/>
          </author>
          <author initials="A." surname="Peter" fullname="Andreas Peter">
            <organization/>
          </author>
          <date year="2021" month="April"/>
        </front>
        <refcontent>Proceedings of the 4th International Workshop on Edge Systems, Analytics and Networking</refcontent>
        <seriesInfo name="DOI" value="10.1145/3434770.3459735"/>
      </reference>

      <reference anchor="Jeffery">
        <front>
          <title>Rearchitecting Kubernetes for the Edge</title>
          <author initials="A." surname="Jeffery" fullname="Andrew Jeffery">
            <organization/>
          </author>
          <author initials="H." surname="Howard" fullname="Heidi Howard">
            <organization/>
          </author>
          <author initials="R." surname="Mortier" fullname="Richard Mortier">
            <organization/>
          </author>
          <date year="2021" month="April"/>
        </front>
        <refcontent>Proceedings of the 4th International Workshop on Edge Systems, Analytics and Networking</refcontent>
        <seriesInfo name="DOI" value="10.1145/3434770.3459730"/>
      </reference>

      <reference anchor="Nieke">
        <front>
          <title>Edgedancer: Secure Mobile WebAssembly Services on the Edge</title>
          <author initials="M." surname="Nieke" fullname="Manuel Nieke">
            <organization/>
          </author>
          <author initials="L." surname="Almstedt" fullname="Lennart Almstedt">
            <organization/>
          </author>
          <author initials="R." surname="Kapitza" fullname="Rudiger Kapitza">
            <organization/>
          </author>
          <date year="2021" month="April"/>
        </front>
        <refcontent>Proceedings of the 4th International Workshop on Edge Systems, Analytics and Networking</refcontent>
        <seriesInfo name="DOI" value="10.1145/3434770.3459731"/>
      </reference>

      <reference anchor="Cao">
        <front>
          <title>eCaaS: A Management Framework of Edge Container as a Service for Business Workload</title>
          <author initials="L." surname="Cao" fullname="Lianjie Cao">
            <organization/>
          </author>
          <author initials="A." surname="Merican" fullname="Anu Merican">
            <organization/>
          </author>
          <author initials="D." surname="Tootaghaj" fullname="Diman Zad Tootaghaj">
            <organization/>
          </author>
          <author initials="F." surname="Ahmed" fullname="Faraz Ahmed">
            <organization/>
          </author>
          <author initials="P." surname="Sharma" fullname="Puneet Sharma">
            <organization/>
          </author>
          <author initials="V." surname="Saxena" fullname="Vinay Saxena">
            <organization/>
          </author>
          <date year="2021" month="April"/>
        </front>
        <refcontent>Proceedings of the 4th International Workshop on Edge Systems, Analytics and Networking</refcontent>
        <seriesInfo name="DOI" value="10.1145/3434770.3459741"/>
      </reference>

      <reference anchor="Larrea">
        <front>
          <title>The serverkernel operating system</title>
          <author initials="J." surname="Larrea" fullname="Jon Larrea">
            <organization/>
          </author>
          <author initials="A." surname="Barbalace" fullname="Antonio Barbalace">
            <organization/>
          </author>
          <date year="2020" month="May"/>
        </front>
        <refcontent>Proceedings of the Third ACM International Workshop on Edge Systems, Analytics and Networking</refcontent>
        <seriesInfo name="DOI" value="10.1145/3378679.3394537"/>
      </reference>

      <reference anchor="Mortazavi" target="https://www.usenix.org/conference/hotedge18/presentation/mortazavi">
        <front>
          <title>Toward Session Consistency for the Edge</title>
          <author initials="S." surname="Mortazavi" fullname="Seyed Hossein Mortazavi">
            <organization/>
          </author>
          <author initials="B." surname="Balasubramanian" fullname="Bharath Balasubramanian">
            <organization/>
          </author>
          <author initials="E." surname="de Lara" fullname="Eyal de Lara">
            <organization/>
          </author>
          <author initials="S." surname="Narayanan" fullname="Shankaranarayanan Puzhavakath Narayanan">
            <organization/>
          </author>
          <date year="2018"/>
        </front>
        <refcontent>USENIX Workshop on Hot Topics in Edge Computing (HotEdge 18)</refcontent>
      </reference>

      <reference anchor="oneM2M-TR0001" target="https://member.onem2m.org/Application/documentapp/downloadLatestRevision/default.aspx?docID=28153">
        <front>
          <title>Use Cases Collection</title>
          <author initials="C." surname="Mladin" fullname="Catalina Mladin">
            <organization/>
          </author>
          <date year="2018" month="October"/>
        </front>
	<seriesInfo name="TR" value="0001"/>
        <refcontent>oneM2M, v4.2.0</refcontent>
      </reference>

      <reference anchor="oneM2M-TR0018" target="https://member.onem2m.org/Application/documentapp/downloadLatestRevision/default.aspx?docID=29334">
        <front>
          <title>Industrial Domain Enablement</title>
          <author initials="C." surname="Lu" fullname="Chengsui Lu">
            <organization/>
          </author>
          <author initials="M." surname="Jiang" fullname="Miao Jiang">
            <organization/>
          </author>
          <date year="2019" month="February"/>
        </front>
	<seriesInfo name="TR" value="0018"/>
        <refcontent>oneM2M, v2.5.2</refcontent>
      </reference>

      <reference anchor="oneM2M-TR0026" target="https://member.onem2m.org/Application/documentapp/downloadLatestRevision/default.aspx?docID=31410">
        <front>
          <title>Vehicular Domain Enablement</title>
          <author initials="K." surname="Yamamoto" fullname="Kenichi Yamamoto">
            <organization/>
          </author>
          <author initials="C." surname="Mladin" fullname="Catalina Mladin">
            <organization/>
          </author>
          <author initials="V." surname="Kueh" fullname="Victor Kueh">
            <organization/>
          </author>
          <date year="2020" month="January"/>
        </front>
	<seriesInfo name="TR" value="0026"/>
        <refcontent>oneM2M</refcontent>
      </reference>

      <reference anchor="oneM2M-TR0052" target="https://member.onem2m.org/Application/documentapp/downloadLatestRevision/default.aspx?docID=32633">
        <front>
          <title>Study on Edge and Fog Computing in oneM2M systems</title>
          <author initials="K." surname="Yamamoto" fullname="Kenichi Yamamoto">
            <organization/>
          </author>
          <author initials="C." surname="Mladin" fullname="Catalina Mladin">
            <organization/>
          </author>
          <date year="2020" month="September"/>
        </front>
	<seriesInfo name="TR" value="0052"/>
        <refcontent>oneM2M</refcontent>
      </reference>

      <reference anchor="oneM2M-TS0002" target="https://member.onem2m.org/Application/documentapp/downloadLatestRevision/default.aspx?docID=29274">
        <front>
          <title>TS 0002, Requirements</title>
          <author initials="S." surname="He" fullname="Shane He">
            <organization/>
          </author>
          <date year="2019" month="February"/>
        </front>
	<seriesInfo name="TS" value="0002"/>
        <refcontent>oneM2M</refcontent>
      </reference>

      <reference anchor="Chen">
        <front>
          <title>Edge Computing in IoT-Based Manufacturing</title>
          <author initials="B." surname="Chen" fullname="Baotong Chen">
            <organization/>
          </author>
          <author initials="J." surname="Wan" fullname="Jiafu Wan">
            <organization/>
          </author>
          <author initials="A." surname="Celesti" fullname="Antonio Celesti">
            <organization/>
          </author>
          <author initials="D." surname="Li" fullname="Di Li">
            <organization/>
          </author>
          <author initials="H." surname="Abbas" fullname="Haider Abbas">
            <organization/>
          </author>
          <author initials="Q." surname="Zhang" fullname="Qin Zhang">
            <organization/>
          </author>
          <date year="2018" month="September"/>
        </front>
        <refcontent>IEEE Communications Magazine, vol. 56, no. 9, pp. 103-109</refcontent>
        <seriesInfo name="DOI" value="10.1109/mcom.2018.1701231"/>
      </reference>

      <reference anchor="Jones">
        <front>
          <title>Characterising the Digital Twin: A systematic literature review</title>
          <author initials="D." surname="Jones" fullname="David Jones">
            <organization/>
          </author>
          <author initials="C." surname="Snider" fullname="Chris Snider">
            <organization/>
          </author>
          <author initials="A." surname="Nassehi" fullname="Aydin Nassehi">
            <organization/>
          </author>
          <author initials="J." surname="Yon" fullname="Jason Yon">
            <organization/>
          </author>
          <author initials="B." surname="Hicks" fullname="Ben Hicks">
            <organization/>
          </author>
          <date year="2020" month="May"/>
        </front>
        <refcontent>CIRP Journal of Manufacturing Science and Technology, vol. 29, pp. 36-52</refcontent>
        <seriesInfo name="DOI" value="10.1016/j.cirpj.2020.02.002"/>
      </reference>

<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7252.xml"/>

      <reference anchor="Cloudlets">
        <front>
          <title>The Case for VM-Based Cloudlets in Mobile Computing</title>
          <author initials="M." surname="Satyanarayanan" fullname="Mahadev Satyanarayanan">
            <organization/>
          </author>
          <author initials="P." surname="Bahl" fullname="Paramvir Bahl">
            <organization/>
          </author>
          <author initials="R." surname="Caceres" fullname="Ramon Caceres">
            <organization/>
          </author>
          <author initials="N." surname="Davies" fullname="Nigel Davies">
            <organization/>
          </author>
          <date year="2009" month="October"/>
        </front>
        <refcontent>IEEE Pervasive Computing, vol. 8, no. 4, pp. 14-23</refcontent>
        <seriesInfo name="DOI" value="10.1109/mprv.2009.82"/>
      </reference>

      <reference anchor="ETSI_MEC_33" target="https://www.etsi.org/deliver/etsi_gs/MEC/001_099/033/03.01.01_60/gs_MEC033v030101p.pdf">
        <front>
          <title>Multi-access Edge Computing (MEC); IoT API</title>
          <author>
            <organization>ETSI</organization>
          </author>
          <date year="2022" month="December"/>
        </front>
	<seriesInfo name="ETSI GS" value="MEC 033"/>
        <refcontent>V3.1.1</refcontent>
      </reference>

      <reference anchor="Madni">
        <front>
          <title>Leveraging Digital Twin Technology in Model-Based Systems Engineering</title>
          <author initials="A." surname="Madni" fullname="Azad M. Madni">
            <organization/>
          </author>
          <author initials="C." surname="Madni" fullname="Carla C. Madni">
            <organization/>
          </author>
          <author initials="S." surname="Lucero" fullname="Scott D. Lucero">
            <organization/>
          </author>
          <date year="2019" month="January"/>
        </front>
        <refcontent>Systems 7(1):7</refcontent>
        <seriesInfo name="DOI" value="10.3390/systems7010007"/>
      </reference>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.irtf-nmrg-network-digital-twin-arch.xml"/>

<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.hsingh-coinrg-reqs-p4comp.xml"/>


      <reference anchor="Farnbauer-Schmidt">
        <front>
          <title>Combining the Concepts of Semantic Data Integration and Edge Computing</title>
          <author initials="M." surname="Farnbauer-Schmidt" fullname="Matthias Farnbauer-Schmidt">
            <organization/>
          </author>
          <author initials="J." surname="Lindner" fullname="Julian Lindner">
            <organization/>
          </author>
          <author initials="C." surname="Kaffenberger" fullname="Christopher Kaffenberger">
            <organization/>
          </author>
          <author initials="J." surname="Albrecht" fullname="Jens Albrecht">
            <organization/>
          </author>
          <date year="2019" month="September"/>
        </front>
        <refcontent>INFORMATIK 2019: 50 Jahre Gesellschaft für Informatik - Informatik für Gesellschaf, pp. 139-152</refcontent>
        <seriesInfo name="DOI" value="10.18420/inf2019_19"/>
      </reference>

      <reference anchor="Brecko">
        <front>
          <title>Federated Learning for Edge Computing: A Survey</title>
          <author initials="A." surname="Brecko" fullname="Alexander Brecko">
            <organization/>
          </author>
          <author initials="E." surname="Kajáti" fullname="Erik Kajáti">
            <organization/>
          </author>
          <author initials="J." surname="Koziorek" fullname="Jiri Koziorek">
            <organization/>
          </author>
          <author initials="I." surname="Zolotová" fullname="Iveta Zolotová">
            <organization/>
          </author>
          <date year="2022" month="September"/>
        </front>
        <refcontent>Applied Sciences 12(18):9124</refcontent>
        <seriesInfo name="DOI" value="10.3390/app12189124"/>
      </reference>

      <reference anchor="Grewe">
        <front>
          <title>Information-Centric Mobile Edge Computing for Connected Vehicle Environments: Challenges and Research Directions</title>
          <author initials="D." surname="Grewe" fullname="Dennis Grewe">
            <organization/>
          </author>
          <author initials="M." surname="Wagner" fullname="Marco Wagner">
            <organization/>
          </author>
          <author initials="M." surname="Arumaithurai" fullname="Mayutan Arumaithurai">
            <organization/>
          </author>
          <author initials="I." surname="Psaras" fullname="Ioannis Psaras">
            <organization/>
          </author>
          <author initials="D." surname="Kutscher" fullname="Dirk Kutscher">
            <organization/>
          </author>
          <date year="2017" month="August"/>
        </front>
        <refcontent>Proceedings of the Workshop on Mobile Edge Communications, pp. 7-12</refcontent>
        <seriesInfo name="DOI" value="10.1145/3098208.3098210"/>
      </reference>

      <reference anchor="Ali">
        <front>
          <title>Enabling a Blockchain-Based IoT Edge</title>
          <author initials="M." surname="Ali" fullname="Muhammad Salek Ali">
            <organization/>
          </author>
          <author initials="M." surname="Vecchio" fullname="Massimo Vecchio">
            <organization/>
          </author>
          <author initials="F." surname="Antonelli" fullname="Fabio Antonelli">
            <organization/>
          </author>
          <date year="2018" month="December"/>
        </front>
        <refcontent>IEEE Internet of Things Magazine, vol. 1, no.2, pp. 24-29</refcontent>
        <seriesInfo name="DOI" value="10.1109/IOTM.2019.1800024"/>
      </reference>

      <reference anchor="Chipmunk">
        <front>
          <title>Chipmunk: Distributed Object Storage for NDN</title>
          <author fullname="Yong Yoon Shin" initials="Y." surname="Shin">
            <organization>ETRI, GurumNetworks, Republic of Korea</organization>
          </author>
          <author fullname="Sae Hyong Park" initials="S." surname="Park">
            <organization>ETRI, GurumNetworks, Republic of Korea</organization>
          </author>
          <author fullname="Namseok Ko" initials="N." surname="Ko">
            <organization>ETRI, GurumNetworks, Republic of Korea</organization>
          </author>
          <author fullname="Arm Jeong" initials="A." surname="Jeong">
            <organization>ETRI, GurumNetworks, Republic of Korea</organization>
          </author>
          <date month="September" year="2020"/>
        </front>
        <refcontent>Proceedings of the 7th ACM Conference on Information-Centric Networking</refcontent>
        <seriesInfo name="DOI" value="10.1145/3405656.3420231"/>
        <refcontent>ACM</refcontent>
      </reference>

      <reference anchor="Kua">
        <front>
          <title>Kua: a distributed object store over named data networking</title>
          <author fullname="Varun Patil" initials="V." surname="Patil">
            <organization>UCLA</organization>
          </author>
          <author fullname="Hemil Desai" initials="H." surname="Desai">
            <organization>UCLA</organization>
          </author>
          <author fullname="Lixia Zhang" initials="L." surname="Zhang">
            <organization>UCLA</organization>
          </author>
          <date month="September" year="2022"/>
        </front>
        <refcontent>Proceedings of the 9th ACM Conference on Information-Centric Networking</refcontent>
        <seriesInfo name="DOI" value="10.1145/3517212.3558083"/>
      </reference>

      <reference anchor="MQTT5" target="https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html">
        <front>
          <title>MQTT Version 5.0</title>
	  <author initials="A." surname="Banks" fullname="Andrew Banks" role="editor"/>
	  <author initials="E." surname="Briggs" fullname="Ed Briggs" role="editor"/>
	  <author initials="K." surname="Borgendale" fullname="Ken Borgendale" role="editor"/>
	  <author initials="R." surname="Gupta" fullname="Rahul Gupta" role="editor"/>
          <date year="2019" month="March"/>
        </front>
        <refcontent>OASIS Standard</refcontent>
      </reference>

      <reference anchor="Argungu">
	<front>
	  <title>A Survey of Edge Computing Approaches in Smart Factory</title>
	  <author initials="J." surname="Argungu" fullname="Jamilu Ibrahim Argungu"/>
	  <author initials="M." surname="Idina" fullname="Mustapha Malami Idina"/>
	  <author initials="U." surname="Chalawa" fullname="Umar Aliyu Chalawa"/>
	  <author initials="M." surname="Ummar" fullname="Musa Ummar"/>
	  <author initials="S." surname="Bello" fullname="Sadiq Buhari Bello"/>
	  <author initials="I." surname="Arzika" fullname="Ibrahim Arzika"/>
	  <author initials="B." surname="Mala" fullname="Baba Mala"/>
	  <date year="2023" month="September"/>
	</front>
	<refcontent>International Journal of Advanced
        Research in Computer and Communication Engineering, Vol. 12, Issue 9</refcontent>
      </reference>

      <reference anchor="Mehmood">
	<front>
	  <title>Edge Computing for IoT-Enabled Smart Grid</title>
	  <author initials="M." surname="Mehmood" fullname="M. Yasir Mehmood"/>
	  <author initials="A." surname="Oad" fullname="Ammar Oad"/>
	  <author initials="M." surname="Abrar" fullname="Muhammad Abrar"/>
	  <author initials="H." surname="Munir" fullname="Hafiz Mudassir Munir"/>
	  <author initials="S." surname="Hasan" fullname="Syed Faraz Hasan"/>
	  <author initials="H." surname="Muqeet" fullname="H. Abd ul Muqeet"/>
	  <author initials="N." surname="Golilarz" fullname="Noorbakhsh Amiri Golilarz"/>
	  <date year="2021" month="July"/>
	</front>
	<refcontent>Security and Communication Networks, Vol. 2021,
        Article ID 5524025</refcontent>
	<seriesInfo name="DOI" value="10.1155/2021/5524025"/>
      </reference>

      <reference anchor="Tanveer">
	<front>
	  <title>Smart Agriculture System using IoT</title>
	  <author initials="S." surname="Tanveer" fullname="S. Ayesha Tanveer"/>
	  <author initials="N." surname="Sree" fullname="Namala Meghana Sai Sree"/>
	  <author initials="B." surname="Bhavana" fullname="Bheemisetty Bhavana"/>
	  <author initials="D." surname="Varsha" fullname="Devana Hima Varsha"/>
	  <date year="2022" month="August"/>
	</front>
	<refcontent>2022 IEEE World Conference on Applied Intelligence and Computing (AIC), Sonbhadra, India, pp. 482-486</refcontent>
	<seriesInfo name="DOI" value="10.1109/AIC55036.2022.9848948"/>
      </reference>

      <reference anchor="OGrady">
	<front>
	  <title>Edge computing: A tractable model for smart agriculture?</title>
	  <author initials="M." surname="O'Grady" fullname="M.J. O'Grady"/>
	  <author initials="D." surname="Langton" fullname="D. Langton"/>
	  <author initials="G." surname="O'Hare" fullname="G.M.P. O'Hare"/>
	  <date month="September" year="2019"/>
	</front>
	<refcontent>Artificial Intelligence in Agriculture, Vol. 3, Pages 42-51</refcontent>
	<seriesInfo name="DOI" value="10.1016/j.aiia.2019.12.001"/>
      </reference>

      <reference anchor="BigRentz" target="https://www.bigrentz.com/blog/construction-safety-statistics">
	<front>
	  <title>41 Construction Safety Statistics for 2024</title>
	  <author>
	    <organization>BigRentz</organization>
	  </author>
	  <date month="February" year="2024"/>
	</front>
      </reference>
      
      <reference anchor="Yue">
	<front>
	  <title>Assisting Smart Construction With Reliable Edge Computing Technology</title>
	  <author initials="Q." surname="Yue" fullname="Yue Qiang"/>
	  <author initials="S." surname="Mu" fullname="Song Mu"/>
	  <author initials="L." surname="Zhang" fullname="Longguan Zhang"/>
	  <author initials="Z." surname="Wang" fullname="Zhun Wang"/>
	  <author initials="Z." surname="Zhang" fullname="Zhonghua Zhang"/>
	  <author initials="X." surname="Zhang" fullname="Xing Zhang"/>
	  <author initials="Y." surname="Wang" fullname="Yongge Wang"/>
	  <author initials="Z." surname="Miao" fullname="Zhuang Miao"/>
	  <date month="May" year="2022"/>
	</front>
	<refcontent>Frontiers in Energy Research, Sec. Smart Grids, Vol. 10</refcontent>
	<seriesInfo name="DOI" value="10.3389/fenrg.2022.900298"/>
      </reference>

      <reference anchor="Badjie" target="https://medium.com/@bakarykumba1996/the-future-of-autonomous-driving-systems-with-edge-computing-8c919597c4ee">
	<front>
	  <title>The Future of Autonomous Driving Systems with Edge Computing</title>
	  <author initials="B." surname="Badjie" fullname="Bakary Badjie"/>
	  <date month="September" year="2023"/>
	</front>
      </reference>

      <reference anchor="CertMagic" target="https://certmagic.medium.com/digital-twin-technology-simulating-real-world-scenarios-for-enhanced-decision-making-8844c51e856d">
	<front>
	  <title>Digital Twin Technology: Simulating Real-World Scenarios for Enhanced Decision Making</title>
	  <author>
	    <organization>CertMagic</organization>
	  </author>
	  <date month="May" year="2023"/>
	</front>
      </reference>
      
    </references>
    
    <section anchor="acknowledgements" numbered="false">
      <name>Acknowledgements</name>
      <t>The authors would like to thank <contact fullname="Joo-Sang Youn"/>, <contact fullname="Akbar Rahman"/>, <contact fullname="Michel Roy"/>, <contact fullname="Robert Gazda"/>, <contact fullname="Rute Sofia"/>, <contact fullname="Thomas Fossati"/>, <contact fullname="Chonggang Wang"/>, <contact fullname="Marie-José Montpetit"/>, <contact fullname="Carlos J. Bernardos"/>, <contact fullname="Milan Milenkovic"/>, <contact fullname="Dale Seed"/>, <contact fullname="JaeSeung Song"/>, <contact fullname="Roberto Morabito"/>, <contact fullname="Carsten Bormann"/>, and <contact fullname="Ari Keränen"/> for their valuable comments and suggestions on this document.</t>
    </section>
  </back>
</rfc>
