Draft: draft-hong-t2trg-iot-edge-computing

Commentary: Dear I made a pass and focused on the contributions I wanted to make to the background section . I saw that you already included what I had in mind -- I polished a bit the view I got to know from working with OT companies . I also applied some conventions I prefer , but this is the usual discussion about writing style ... Usage of Oxford comma Treat areas of Computer Science as proper names , e.g. , " Cloud Computing " , " Edge Computing " , ...  for one sentence per line -- this simplifies merging and understanding changes a lot 
 Oh , and removed the redundancy between abstract and introduction -- I do not really see a value in repeating word by word , just for the sake of having a longer intro :P 
 Thanks a lot for all the work you others put in ! 
 Thanks Matthias . One editorial point about the capitalization of terms ( for consistency between editors ) . I checked capitalization of terms like " edge computing " and " cloud computing " in existing drafts and RFCs . It is overwhelmingly in lower case ( except when a specific rule applies , like titlecase or when used in a specific entity 's name like Multi - access Edge Computing ) . So I would propose to revert back to the lower case version of those terms for the general case . I agree that if we just say " the Fog " , it is similar to " the Internet " and capitalization makes sense , while " fog computing " this is similar to " cloud / edge computing " and lowercase seems more appropriate . 
 Well , actually I 'd just like to clarify that it is of course not that important at the end . If you have a good non - ambiguous rule to determine what to capitalize , it 's fine too . If we can minimize the number of terms that we capitalize , that will make the text more readable IMO . 
 Hi I know that RFCs tend to write everything lowercase , but I never heard a good explanation , why for instance , " the Internet " or " the Web " would not be a proper name . Funnily , a discussion during my paper writing days about " the cloud " determined that it should be lowercase , as there are many clouds and not the only one properly named one ; I would apply a similar logic to " the fog " . I rethought about the names such as cloud computing . When we treat them as common fields of study , I agree we should go for lowercase . Before I treated them as proper names for the technology , but even edge computing has become quite common ... Since the PR is still open , I will apply the quick  fix . 
 Done . Also went for American English in the usage of " e.g. " and " i.e. " , i.e. , with a comma after . 
 Thanks , merging and will update the editors ' HTML accordingly
IoT services face new challenges originating from developing IoT
environmental requirements, such as strict latency, uplink cost,
uninterrupted services, privacy and security.  In response to those
challenges, the integration of edge computing and IoT has emerged as
a promising solution, whose direction should be discussed in the
IETF/IRTF.  This document describes the aforementioned challenges,
and some aspects of IoT Edge Computing including state-of-the-art,
general model and major components, with the goal to provide a common
base for future discussions in T2TRG and other groups.
Nowadays, most IoT services are based on cloud computing in the back-
end, since it can provide virtually unlimited storage and processing
power.  The integration of IoT with cloud computing brings many
advantages such as flexibility, efficiency, and ability to store and
use data.
However, the IoT environment is changing in such a way that vast
amounts of data are created at edge/local networks and about a half
of data is stored, processed, analyzed and acted upon close to the
data producer.  Thus, emerging IoT services introduce new challenges,
such as strict latency, uplink cost, uninterrupted services, privacy
and security, that cannot be addressed by today's centralized cloud
computing models alone.
In response to those challenges, the integration of edge computing
and IoT (or "IoT Edge Computing") has emerged as a promising
solution, whose direction should be discussed in the IRTF.  This
document therefore describes, besides these new challenges, some
aspects of IoT Edge Computing including state-of-the-art, general
models and major components, with the goal to provide a common base
for future discussions in T2TRG and other groups.
IoT services face new challenges originating from developing IoT
environmental requirements, such as strict latency, uplink cost,
uninterrupted services, privacy, and security.  In response to those
challenges, the integration of edge computing and IoT has emerged as
a promising solution, whose direction should be discussed in the
IRTF.  This document describes the aforementioned challenges and some
aspects of IoT edge computing including the state of the art, a
general model, and major components, with the goal to provide a
common base for future discussions in T2TRG and other groups.
Nowadays, most IoT services are based on cloud computing for the
back-end, since it can provide virtually unlimited storage and
processing power.  The integration of IoT with cloud computing brings
many advantages such as flexibility, efficiency, and ability to store
and use data.
However, the IoT environment is changing in such a way that vast
amounts of data are created at the local networks, often referred to
as "the edge", and about half of the data is stored, processed,
analyzed, and acted upon close to the data producer.  Thus, emerging
IoT services introduce new challenges, such as strict latency, uplink
cost, uninterrupted services, privacy, and security, which cannot be
addressed by today's centralized cloud computing models alone.  In
response to those challenges, the integration of edge computing and
IoT (or "IoT edge computing") has emerged as a promising solution.
Since the phrase 'Internet of Things (IoT)' was coined by Kevin
Ashton in 1999 working on Radio-frequency identification (RFID)
technology at the Auto-ID Center of the Massachusetts Institute of
Technology (MIT) Ashton, the concept of IoT has been that things
connected to the Internet can send and receive information collected
by sensors without human intervention, where things are various
embedded systems such as home appliances, mobile equipment, wearable
devices, etc.  IoT has become one of the notable innovations playing
an important role in our daily lives Lin.  IoT is generally
characterized by real world small things that are widely distributed
but have limited storage and processing power, which involve concerns
regarding reliability, performance, energy consumption, security, and
privacy.
Since the term "Internet of Things" (IoT) was coined by Kevin Ashton
in 1999 working on Radio-Frequency Identification (RFID) technology
at the Auto-ID Center of the Massachusetts Institute of Technology
(MIT) Ashton, the concept of IoT had been broadened to reflect the
vision of connecting the physical world to the virtual world of
computers using (wireless) sensor networks with any kind of
technology with which the Things can send and receive information
without human intervention.  Recently, the term has become more
literal by actually connecting Things to the Internet and converging
on Internet and also Web technology.  Things are usually embedded
systems of various kinds, such as home appliances, mobile equipment,
wearable devices, etc.  They are widely distributed, but have limited
storage and processing power, which involve concerns regarding
reliability, performance, energy consumption, security, and privacy.
Nonetheless, IoT has become one of the notable innovations playing an
important role in our daily lives Lin.
Edge computing, also referred to as fog computing, is a new paradigm
in which substantial computing and storage resources are placed at
the Internet's edge in close proximity to mobile devices, sensors or
actuators so that computing happens near data sources Mahadev, or
closer to where the action or decisions are happening.  It works on
both downstream data on behalf of cloud services and upstream data on
behalf of IoT services.  An edge device is any computing or
networking resource residing between data sources and cloud-based
datacenters.  In edge computing, the end device not only consumes
data but also produces data.  And at the network edge, devices not
only request services and information from the cloud but also handle
computing tasks including processing, storage, caching, and load
balancing on data sent to and from the cloud Shi.
The definition of edge computing from ISO is a 'form of distributed
computing in which significant processing and data storage takes
place on nodes which are at the edge of the network' ISO_TR.  ETSI's
definition of multi-access edge computing is 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' ETSI_MEC_01.  And
the similar concept of fog computing from the OpenFog/Industrial
Internet Consortium is 'a horizontal, system-level architecture that
distributes computing, storage, control and networking functions
closer to the users along a cloud-to-thing continuum' sec-openfog.
Based on these definitions, we can summarize a general philosophy of
edge computing as to "distribute the required functions close to
users and data".
Actors from various industries approach edge/fog computing using
different terms and reference models, although in practice these
approaches are not incompatible and may integrate with each other.
The telecommunication industry tends to use a model where edge
computing services are deployed over NFV infrastructure at
aggregation points, or in proximity to gNodeBs (e.g., sec-etsi-mec).
The industrial IoT industry tends to use an IT-centric model, where
edge devices (such as gateways) and edge servers are integrated with
non-IT operational systems, as an extension of the IT infrastructure
(e.g., sec-iot-gateways).
IoT edge computing can be used in use cases in smart home, industry,
grid, healthcare, city, transportation, agriculture, education
scenarios.  We discuss here only a few examples of such scenarios.
Edge computing, under certain aspects also referred to as fog
computing, is a new paradigm in which substantial computing and
storage resources are placed at the edge of the Internet, that is,in
close proximity to mobile devices, sensors, actuators, or machines,
so that computing happens near data sources Mahadev, or closer to
where decisions or interactions with the physical world are
happening.  It works on both downstream data on behalf of cloud
services and upstream data on behalf of IoT services.
An edge device is any computing or networking resource residing
between data sources and cloud-based datacenters.  In edge computing,
end devices not only consume data, but also produce data.  And at the
network edge, devices not only request services and information from
the cloud, but also handle computing tasks including processing,
storage, caching, and load balancing on data sent to and from the
cloud Shi.
The definition of edge computing from ISO is a "form of distributed
computing in which significant processing and data storage takes
place on nodes which are at the edge of the network" ISO_TR.  ETSI's
definition of multi-access edge computing is 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" ETSI_MEC_01.
The similar concept of fog computing from the Industrial Internet
Consortium (formerly OpenFog) is "a horizontal, system-level
architecture that distributes computing, storage, control and
networking functions closer to the users along a cloud-to-thing
continuum" sec-openfog.  The term fog computing usually represents
the notion of a multi-tiered edge computing, that is, several layers
of compute infrastructure between the end devices and the cloud.
Based on these definitions, we can summarize a general philosophy of
edge computing as to distribute 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.
The telecommunication industry tends to use a model where edge
computing services are deployed over NFV infrastructure at
aggregation points, or in proximity to the user equipment (e.g.,
gNodeBs) sec-etsi-mec.
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").
The automation industry defines the edge as the connection point
between IT from OT (Operational Technology).  Hence, here edge
computing sometimes referres to applying IT solutions to OT
problems such as analytics, more flexible user interfaces, or
simply having more compute power than an automation controller.
It is clear that the combination of these models leads to a multi-
tier edge computing solution as mentioned above.
IoT edge computing can be used in home, industry, grid, healthcare,
city, transportation, agriculture, and/or education scenarios.  We
discuss here only a few examples of such use cases.
In traditional construction domain, heavy equipment and machinery
pose risks to humans and property.  Thus, there have been many
attempts to deploy technology to protect lives and property in
construction sites.  For example, measurements of noise, vibration,
and gas can be recorded on a remote server and reported to an
inspector.  Today, data produced by such measurements is collected by
a local gateway and transferred to a remote server.  This incurs
transmission costs, e.g. over a LTE connection, and storage costs,
e.g. when using Amazon Web Services.  When an inspector needs to
investigate an incident, he checks the information stored on a
server.
In traditional construction domain, heavy equipment and machinery
pose risks to humans and property.  Thus, there have been many
attempts to deploy technology to protect lives and property in
construction sites.  For example, measurements of noise, vibration,
and gas can be recorded on a remote server and reported to an
inspector.  Today, data produced by such measurements is collected by
a local gateway and transferred to a remote server.  This incurs
transmission costs, e.g., over a LTE connection, and storage costs,
e.g., when using Amazon Web Services.  When an inspector needs to
investigate an incident, he checks the information stored on a
server.
IoT gateways (sec-iot-gateways, sec-gateway-platforms) represent a
common class of IoT edge computing products, where the gateway is
providing 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 CoAP,
MQTT and many specialized IoT protocols (such as OPC-UA and DDS in
the industrial IoT space), while the gateway communicates with the
distant cloud typically using HTTP.  Virtualization platforms enable
the deployment of virtual edge computing functions (as VMs,
application containers, etc.), including IoT gateway software, on
servers in the mobile network infrastructure (at base station and
concentration points), in edge datacenters (in central offices) or
regional datacenters located near central offices.  End devices are
envisioned to become computing devices in forward looking projects,
but are not commonly used as such today.
IoT gateways (sec-iot-gateways, sec-gateway-platforms) represent a
common class of IoT edge computing products, where the gateway is
providing 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 CoAP,
MQTT and many specialized IoT protocols (such as OPC UA and DDS in
the Industrial IoT space), while the gateway communicates with the
distant cloud typically using HTTP.  Virtualization platforms enable
the deployment of virtual edge computing functions (as VMs,
application containers, etc.), including IoT gateway software, on
servers in the mobile network infrastructure (at base station and
concentration points), in edge datacenters (in central offices) or
regional datacenters located near central offices.  End devices are
envisioned to become computing devices in forward looking projects,
but are not commonly used as such today.
Life cycle management of services and applications on physical IoT
gateways is often cloud-based.  Edge cloud management platforms and
products (sec-cloud-management-platforms, sec-cloud-platforms) adapt
cloud management technologies (e.g. kubernetes) to the edge cloud,
i.e. to smaller, distributed computing devices running outside a
controlled data center.  Services and application life-cycle is
typically using a NFV-like management and orchestration model.
The platform typically includes services to advertise or consume APIs
(e.g.  Mp1 interface in ETSI MEC supports service discovery and
communication), and enables communicating with local and remote
endpoints (e.g. message routing function in IoT gateways).  The
service platform is typically extensible by edge applications, since
they can advertise an API that other edge applications can consume.
IoT communication services include protocols translation, analytics
and transcoding.  Communication between edge computing devices is
enabled in tiered deployments or distributed deployments.
Life cycle management of services and applications on physical IoT
gateways is often cloud-based.  Edge cloud management platforms and
products (sec-cloud-management-platforms, sec-cloud-platforms) adapt
cloud management technologies (e.g., Kubernetes) to the edge cloud,
i.e., to smaller, distributed computing devices running outside a
controlled data center.  Services and application life-cycle is
typically using a NFV-like management and orchestration model.
The platform typically includes services to advertise or consume APIs
(e.g., Mp1 interface in ETSI MEC supports service discovery and
communication), and enables communicating with local and remote
endpoints (e.g., message routing function in IoT gateways).  The
service platform is typically extensible by edge applications, since
they can advertise an API that other edge applications can consume.
IoT communication services include protocols translation, analytics
and transcoding.  Communication between edge computing devices is
enabled in tiered deployments or distributed deployments.
An edge cloud platform may enable pass-through without storage or
local storage (e.g. on IoT gateways).  Some edge cloud platforms use
a distributed form of storage, e.g. an ICN network (e.g.  NFN nodes
can store data in NDN, sec-nfn) or a distributed storage platform
(e.g., such as Ceph, sec-cloud-management-platforms).  External
storage, e.g. on databases in distant or local IT cloud, is typically
used for filtered data deemed worthy of long term storage, or in some
cases for all data, for example when required for regulatory reasons.
An edge cloud platform may enable pass-through without storage or
local storage (e.g., on IoT gateways).  Some edge cloud platforms use
a distributed form of storage such as an ICN network (e.g., NFN nodes
can store data in NDN, sec-nfn) or a distributed storage platform
(e.g., such as Ceph, sec-cloud-management-platforms).  External
storage, e.g., on databases in distant or local IT cloud, is
typically used for filtered data deemed worthy of long term storage,
or in some cases for all data, for example when required for
regulatory reasons.
In many IoT use cases, a typical network usage pattern is 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.
Other, downlink-heavy traffic patterns are not excluded but are more
often associated with non-IoT usage (e.g. video CDNs).
In many IoT use cases, a typical network usage pattern is 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.
Other, downlink-heavy traffic patterns are not excluded but are more
often associated with non-IoT usage (e.g., video CDNs).
A set of distributed computing nodes, e.g. embedded in switches,
routers, edge cloud servers or mobile devices.  In the future,
some IoT end devices may have enough computing capabilities to
participate in such distributed systems.  In this model, edge
computing nodes can collaborate with each other to share their
resources.
A set of distributed computing nodes, e.g., embedded in switches,
routers, edge cloud servers or mobile devices.  In the future,
some IoT end devices may have enough computing capabilities to
participate in such distributed systems.  In this model, edge
computing nodes can collaborate with each other to share their
resources.
This can cover authenticating platforms, end devices, data, code
units and applications or users interacting with the system.  Today,
centralized gateway-based systems rely for device authentication on
the installation of a secret on IoT end devices and on computing
devices (e.g. a device certificate stored in a hardware security
module).
This can cover authenticating platforms, end devices, data, code
units and applications or users interacting with the system.  Today,
centralized gateway-based systems rely for device authentication on
the installation of a secret on IoT end devices and on computing
devices (e.g., a device certificate stored in a hardware security
module).
An IoT edge cloud may provide a northbound data plane or management
plane interface to a remote network, e.g. a cloud, home or enterprise
network.  This interface does not exist in standalone (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, support secure communication.
An IoT edge cloud may provide an API or interface to local users
(e.g. to facilitate local management), or to mobile users (e.g. to
provide access to services and applications, or to manage data
published by the mobile device).
An IoT edge cloud may provide a northbound data plane or management
plane interface to a remote network, e.g., a cloud, home or
enterprise network.  This interface does not exist in standalone
(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, support secure communication.
An IoT edge cloud may provide an API or interface to local users
(e.g., to facilitate local management), or to mobile users (e.g., to
provide access to services and applications, or to manage data
published by the mobile device).
A typical function of IoT edge computing is to facilitate
communication with IoT end devices: for example, enable clients to
register as recipients for data from devices, as well as forwarding/
routing of traffic to or from IoT end devices, enabling various data
discovery and redistribution patterns, e.g. north-south with clouds,
east-west with other edge devices DATA-DISCOVERY.  Another aspect of
a communication component is dispatching of alerts and notifications
to interested consumers both inside and outside of the edge computing
domain.  Protocol translation, analytics and transcoding may also be
performed when necessary.
Communication brokering may be centralized in some systems, e.g.
using a hub-and-spoke message broker, or distributed like with
message buses, possibly in a layered bus approach.  Distributed
systems may leverage direct communication between end devices and
communication devices, such as device-to-device links.  Brokers
functions can include ensuring communication reliability,
traceability, and in some cases transaction management.
A typical function of IoT edge computing is to facilitate
communication with IoT end devices: for example, enable clients to
register as recipients for data from devices, as well as forwarding/
routing of traffic to or from IoT end devices, enabling various data
discovery and redistribution patterns, e.g., north-south with clouds,
east-west with other edge devices DATA-DISCOVERY.  Another aspect of
a communication component is dispatching of alerts and notifications
to interested consumers both inside and outside of the edge computing
domain.  Protocol translation, analytics and transcoding may also be
performed when necessary.
Communication brokering may be centralized in some systems, e.g.,
using a hub-and-spoke message broker, or distributed like with
message buses, possibly in a layered bus approach.  Distributed
systems may leverage direct communication between end devices and
communication devices, such as device-to-device links.  Brokers
functions can include ensuring communication reliability,
traceability, and in some cases transaction management.
QoS can be provided in some systems through the combination of
network QoS (e.g. traffic engineering or wireless resource
scheduling) and compute/storage resource allocations.  In some
systems a bandwidth manager service can be exposed to enable
allocation of bandwidth to/from an edge computing application
instance.
QoS can be provided in some systems through the combination of
network QoS (e.g., traffic engineering or wireless resource
scheduling) and compute/storage resource allocations.  In some
systems a bandwidth manager service can be exposed to enable
allocation of bandwidth to/from an edge computing application
instance.
A purpose of local caching may be to enable local data processing
(e.g. pre-processing or analysis), or to enable delayed virtual or
physical shipping.  A responsibility of the edge caching component is
to manage data persistence, e.g. to schedule removal of data when it
is no longer needed.  Another aspect of this component may be to
authenticate an encrypt data.  It can for example take the form of a
distributed storage system, and deal with related issues, e.g.,
reaching and maintaining data consistency; enabling efficient access
to data, for example using some form of sharding.
A purpose of local caching may be to enable local data processing
(e.g., pre-processing or analysis), or to enable delayed virtual or
physical shipping.  A responsibility of the edge caching component is
to manage data persistence, e.g., to schedule removal of data when it
is no longer needed.  Another aspect of this component may be to
authenticate an encrypt data.  It can for example take the form of a
distributed storage system, and deal with related issues, e.g.,
reaching and maintaining data consistency; enabling efficient access
to data, for example using some form of sharding.