- From: Dominique Hazael-Massieux <dom@w3.org>
- Date: Thu, 13 Feb 2020 16:56:38 +0100
- To: "'public-networks-ig@w3.org'" <public-networks-ig@w3.org>
- Cc: "Mccool, Michael" <michael.mccool@intel.com>
Hi,
The minutes of our call today are available at:
https://www.w3.org/2020/02/13-web-networks-minutes.html
linked from
https://www.w3.org/wiki/Networks#Meetings
and copied as text below.
Dom
Web & Networks IG: EDGE Applications: Supporting an Ambient Computing
Ecosystem
13 February 2020
[2]Agenda. [3]IRC log.
[2]
https://lists.w3.org/Archives/Public/public-networks-ig/2020Feb/0001.html
[3] https://www.w3.org/2020/02/13-web-networks-irc
Attendees
Present
ChrisNeedham, DanDruta, DarioSabella, Dom, Huaqi,
JonasSvennebring, JonDevlin, Kaz, Kenton_Varda,
Larry_Zhao, MichaelMcCool, Peipei_Guo, Song, Sudeep,
Taki_Kamiya, Theoharid_Charitidis, Zoltan_Kis
Regrets
-
Chair
Dan, Song, Sudeep
Scribe
dom
Contents
* [4]Meeting minutes
Meeting minutes
[5]Slides
[5]
https://lists.w3.org/Archives/Public/public-networks-ig/2020Feb/att-0002/EdgeApps_Feb13_W3C_V2.pdf
Song: Michael McCool from Intel will be presenting on the Edge
Computing workstream
… co-chair of the Web of Things Working Group
MMC: I've been co-chairing WoT for the past two years - Web of
Things relates to Edge Computing as I will be discussing
… What I will be presenting has emerged in the context of edge
computing but in other contexts as well
… I'll present an overall strategy to approach edge computing,
some use cases and motivations, and finally the technical
approaches to accomplish
… I'm targeted 2 broad categories of use cases: IoT
orchtestration and computing offload
… When you look at Edge computing in general, there are 2 broad
approaches: bring cloud computing closer to the device to the
edge
… or take things running from the end device and push it up to
the edge
… the first approach is based on devops / container deployment
… the 2nd approach takes a client environment and pushes it to
the edge
… this would be typically done as a function as a service -
this requires specifying more of the execution environment
… Another difference is that the cloud approach the computing
is specified by the provider
… whereas in the 2nd approach, this is being driven by the
client
… the two approaches are complementary
… the cloud environment among other things is necessary for the
function-as-a-service approach needed for clients
… I will be focusing on the latter approach, driven by client
execution which is more in line with overall w3c efforts
… In a user-driven approach, I'm looking at an open ecosystem
similar to the current open web platform where a user can run
an app by simply following a link
… esp in the context of PWA, these Web apps feel very much like
a real app
… To illustrate whta I have in mind, you could imagine a small
retail owner wanting to install a security service on their
local hardware - they could do that without IT support by
installing a Web app
… this could also apply in a more structured context in the
case of BYOD
… We have been working with Connexys on this approach
… Another angle is with smart cities: smart cities have plenty
of vendors, and may apps and services require exploiting
solutions from multiple vendors
… 3d party developers for smart city need standards for an open
ecosystem to emerge
… These are the use cases I'm thinking of for user driven
applications
… I have two set of goals: primary goals are client-managed
services which I call "edge workers" for compute as utility
… it's a standardized service provided by multiple vendors, and
clients can instantiate work in that service
… this could be for offloading compute (e.g. to get
acceleration speedup - at least 10X I think for it to be worth
it)
MMC: Another application is IoT orchestration
… Second goals include security, privacy, 3rd party ecosystem
… We would like to extend the app development model - this
requires to minimize the amount of work needed to make use of
that feature
… an optional but very useful aspect would be to integrate
discoverability of "near-by" computing utility services
… discovery might include local LAN search, DNS, etc
… discovery is technical orthogonal but quite useful to have
… A bit more details on the definition of these goals - compute
offload and IoT orchestration
… for compute offload typically is useful for devices with
limited computing or power (e.g. mobile devices, small IoT) or
with significant less power than available on the edge
… the offloading would typically go to a node with lots more
capacity
… ideally, this would work transparently onboard / off-board
… e.g. a laptop moving compute to an on-board high-perf GPU
… IoT orchestration is about orchestrating several devices
available on the network
… this requires managing privacy, possibly protocol translation
(which WoT has been looking at closely)
… when you're providing an IoT orchestration service, it has to
be persistent, to live in the network
… independently of the availability of the end-user device / UI
… that service would reasonably be event driven
… General requirements include privacy, security, discovery
… we also need a number of management functions (install / pay,
etc)
… There are various proposals that just do computing offload,
some that just do IoT orchestration
… taking the 2 together is much better
MMC: so assuming we want to achieve these goals, how can we go
from existing Web standards and increment them to handle our
use cases?
… Web Workers is already a model to offload computing and has
already been experimented to use as off-device offloading
… but we're interested in persistent and event-driven
computing, for which Service Worker is a better model
… we could re-use the idea of "installing a PWA" to handle some
of the management functions
… how would you package computation in this context? WASM would
be a good candidate
… scripts are OK when they don't come in the way of the
computing performance
… The Web of Things Group is working on relevant technologies:
we have existing work to describe devices, "Things"
<kaz> [6]new WoT WG Charter
[6] https://www.w3.org/2020/01/wot-wg-charter.html
MMC: discovery (part of our new charter) will enable to find
these descriptions and devices
… If the offload worker is based on script, we also have a
(non-normative so far) scripting API to abstract the interface
to IoT devices
… an "Edge Worker" would be a combination of capaibilites from
Web Workers and Service Workers
… but we would need a management API on how to install and
manage workers on computing utility
… it wouldn't be a huge API, but there would need to be an
exposed Web service for the utility
… this would be a container with an exposed service to install
such a worker
… Looking at discovery, one challenge is maintaining privacy;
another is local vs global
… the basic mechanism is to have a directory where devices and
services get registered
… we don't want to broadcast metadata as that would invade
privacy
… only authenticated requests should get access to rich
metadata
… the first contact protocol can use a number of existing
mechanisms (DNS, bluetooth beacons, QR codes, ...)
… Focusing back on Edge Worker, let's first review what a Web
Worker is
… A Web Worker is typically used to move computing-intense work
in a separate thread
… A Web Worker is offloading, but inside a Web browser
… although there have been implementations that offload to
somewhere else on the network transparently
… So to offload to an edge worker, you would discover the
availability of computing utilities, find the appropriate one,
and offload the work to the edge worker
… These workers need to have access to accelerated computing
… IoT Orchestration looks very similar; an orchestration API
access other devices on the network
… The Edge Worker would access devices with proper permissions
obtained during the installation process
… you would install this as a persistent service à la PWA -
deleting the PWA would remove the worker
… Doing the two together (offload and orchestration) would work
fine; it might benefit from additional APIs (e.g. storage
management)
… other services could be running and provided similarly as
Things in the directory
… there could be multiple Edge Workers running
… What standards would be needed to get there?
… A management API to instantiate workers
… something to package a worker - we already have the worker
concept, but may need to look at container
… APIs for compute acceleration that would need to be available
in edge workers
… optionally, support for discovery of services which would
open a much more open ecosystem
Song: Thank you Michael for the presentation
Dom: re top/down vs bottom/up computing offloading - what's the
market situation for bottom/up?
MMC: function-as-a-services from AWS, cloudflare's workers are
related
… re pushing for this, this is a matter of opening up
applications
… we will have to build this based on demand; one question is
how this would be monetized
… there are various ways this could be charged for - e.g. via
your ISP
… Bell in Canada has a similar subscription service for home
security
Song: when you're talking about discovery - does it exist yet?
MMC: there are already lots of discovery protocols outthere
… but they're not necessarily very privacy sensitive, e.g.
ZeroConf
… because they're based on serviceworker
… also with a search-based approach, you open up risks for DoS
… the directory service is here to help with these issues
… there are probably dozens of different ways for the initial
contact, intro with the directory service
… the directory service doesn't say anything about what devices
they store
… you would authenticate to the directory service before you
can do content-based searches on the metadata
Song: is discovery optional for standardization? for
implementation?
MMC: you can have compute utility without discovery strictly
speaking - e.g. it could be hardcoded one way or another
Dario: this is complementary to what is already defined in ETSI
MEC
… an API that enables to instantiate an app on the edge cloud
MMC: my point was that discovery is orthogonal to compute
utilities, but they work better together
… there are also existing standards for directories
… another question is what data needs to be standardized in
these directories and the search protocol
dom: before you would decide to offload, you need to understand
what kind of computing capabilities you'll get, as well as
understand the impact for the network (time, power)
MMC: this would be part of the discovery / search
… we've looked at template-based search in WoT that should help
… you would need some kind of accountability mechanism
… in terms of "is it worth it" - is it worth for the end user
(enough speed up)? is it worth for the developer?
Zoltan: can you explain what you mean by edge? "current" edge,
or next generation?
… what info would be needed to pick an edge (QoS, computing
capabilities)
MMC: what I have in mind can work with current hardware /
capabilities
… the edge could extend to the cloud depending on the
circumstances
… basically, we need a container that can be managed via an API
Zoltan: how would it take advantage of network information
(e.g. low-latency, cost, ...)?
MMC: I know there has been other discussions on QoS
… the discovery service knows about capabilities - but the
network is special, it depends on the various links between the
components
… the edge worker itself might need to know the quality of
connection
… this raises a question of enabling an edge worker to migrate
from one node to another one (e.g. to get better connectivity)
… if higher quality is for pay, the search process might
include some level of quality definition
Dom: how would you think the work on this would happen?
discovery is part of WoT charter, but how would the work happen
on Edge Worker?
MMC: I think we're ok wrt discovery, accelerated computing
… I would like to experiment with a management API to
instantiate a Web worker and then experiment with the browser
side of things
… I'm targeting to develop a proof of concepts in the course of
the year, but would like more discussion on requirements
… this is a longer term plan
Dom: a Proof of concepts would help get momentum, maybe before
starting a CG
Kaz: the Web & Networks IG could provide input on use cases for
edge computing discovery
Sudeep: next call will be in March talking about 5GAA and
network prediction
… the date hasn't been finalized yet
Received on Thursday, 13 February 2020 15:56:54 UTC