SFSCon 2022, Bolzano
EDDIE - Enabling Distributed Intelligence
in Oniro
Stefan Schmidt <stefan.schmidt@huawei.com>
Principal Solution Architect, Huawei OSTC
Agenda
2
●
Introduction
●
Goals & Use Cases
●
Implementation: Linux & Zephyr
●
Roadmap
●
Summary
3
Introduction
EDDIE
4
EDDIE – Enabling Distributed Intelligence
●
Eclipse Foundation - Oniro working group project
●
Cooperation with Politecnico di Milano
●
Middleware composed of different layers
●
Apache 2.0 license
●
C++ code base, constrained devices in mind
●
Implementation: Oniro Linux & Zephyr flavours
●
Work in progress
5
Goals & Use Cases
UnifiedPoolofVirtualResources
6
“Objective to design a middleware capable of giving to the applications
and services an unified global view on cross-device resources. The
various devices are not seen any more as individual entities with specific
resources, but as a unified pool of virtual resources.”
●
Cross-device and also cross operating systems: starting with Linux and
Zephyr
●
For now resources as in peripherals and not general purpose resources like
memory and CPU
OrchestrationofAvailableResources
7
“Intelligent orchestration of the available resources will allow an efficient use,
as well as, some very unique use cases e.g. peripherals like camera, storage
and audio from any device in the network could operate like a local peripheral.
They would be instantly compatible with your local applications. ”
●
Even with many resources available its overwhelming to make good use of
them
●
At this stage the project goes from a simple rule-set based engine to complex
orchestration
ExampleUseCase:Videocall
8
●
Video call while on the commute back home
●
Call starts on your mobile
●
Enter your car: the unified pool of resources also has the car dashboard camera and audio
system avaiable and switches over
●
Walk from car to house: switching back to mobile as the car resources vanish
●
Enter kitchen: video moves to the kitchen TV or tablet, camera to the security camera and
audio to the multiroom audio in your house
Plethora of available, distributed, resources that can be used based on your personal
preferences and patterns.
9
Implementation
Architecture
10
●
EDDIE is a middleware sitting on top of Oniro
●
Offering services and API to applications
●
Local agents part of every device
●
Virtual devices / super devices formed
out of local agents
Layers
11
●
Communication layer
●
Virtualization layer
●
Application management layer
●
Intelligent coordination layer
●
Forming the local agent
CommunicationLayer
12
●
Compared MQTT, Zenoh and CoAP for our use cases
●
Device and resource discovery
●
Constrained devices in mind (frame size, latency, memory, etc)
●
Settled on CoAP as it is fitting our purpose well
●
Libbcoap on Linux and a native CoAP implementation on Zephyr
●
IPv4 & IPv6
●
Running over low-power wireless connectivity
●
Resource Directory implementation on Linux
VirtualizationLayer
13
●
Resource Directory implementation turns out to work well for an initial resource
abstraction
●
Device announces itself via multicast to the network
●
If no other directory is found a Linux based local agent would elevate itself
●
Registers available resources at the found directory
●
API for upper layers to query by device type, attributes, URI’s, etc
●
Give uniform view on resources and access
●
Results are the base for decision making process
IntelligentCoordinationLayer
14
●
Current focus of the work
●
Research on options for ontologies/schemas to express attributes
●
Webthings, OCF, ROS, etc
●
Use ontologies to select the best execution environment
●
Different coordination approaches
– Centralized coordinator (current first approach)
– Any local agent could run as coordinator (with stand-by for failover)
– Complete peer-to-peer coordination, no central coordinator
UsageinOniroBlueprints
15
●
A blueprint to demonstrate how EDDIE can be used
●
Used between Linux and Zephyr
●
Used over OpenThread with IPv6 (low-power and loosy network)
●
M2M between touch controller and doorlock blueprints
●
Based on availability of resources the touch controller can adjust UX dynamically
16
Roadmap
FutureRoadmap
17
2023
●
Focus on ontologies/schemas
●
Focus on intelligence orchestration
●
Explore different coordination approaches
ONIROPROJECT
Thank you!
Join us @
Eclipse Foundation booth
& oniroproject.org
31

SFScon22 - Stefan Schmidt - EDDIE - Enabling Distributed Intelligence in Oniro.pdf

  • 1.
    SFSCon 2022, Bolzano EDDIE- Enabling Distributed Intelligence in Oniro Stefan Schmidt <stefan.schmidt@huawei.com> Principal Solution Architect, Huawei OSTC
  • 2.
    Agenda 2 ● Introduction ● Goals & UseCases ● Implementation: Linux & Zephyr ● Roadmap ● Summary
  • 3.
  • 4.
    EDDIE 4 EDDIE – EnablingDistributed Intelligence ● Eclipse Foundation - Oniro working group project ● Cooperation with Politecnico di Milano ● Middleware composed of different layers ● Apache 2.0 license ● C++ code base, constrained devices in mind ● Implementation: Oniro Linux & Zephyr flavours ● Work in progress
  • 5.
  • 6.
    UnifiedPoolofVirtualResources 6 “Objective to designa middleware capable of giving to the applications and services an unified global view on cross-device resources. The various devices are not seen any more as individual entities with specific resources, but as a unified pool of virtual resources.” ● Cross-device and also cross operating systems: starting with Linux and Zephyr ● For now resources as in peripherals and not general purpose resources like memory and CPU
  • 7.
    OrchestrationofAvailableResources 7 “Intelligent orchestration ofthe available resources will allow an efficient use, as well as, some very unique use cases e.g. peripherals like camera, storage and audio from any device in the network could operate like a local peripheral. They would be instantly compatible with your local applications. ” ● Even with many resources available its overwhelming to make good use of them ● At this stage the project goes from a simple rule-set based engine to complex orchestration
  • 8.
    ExampleUseCase:Videocall 8 ● Video call whileon the commute back home ● Call starts on your mobile ● Enter your car: the unified pool of resources also has the car dashboard camera and audio system avaiable and switches over ● Walk from car to house: switching back to mobile as the car resources vanish ● Enter kitchen: video moves to the kitchen TV or tablet, camera to the security camera and audio to the multiroom audio in your house Plethora of available, distributed, resources that can be used based on your personal preferences and patterns.
  • 9.
  • 10.
    Architecture 10 ● EDDIE is amiddleware sitting on top of Oniro ● Offering services and API to applications ● Local agents part of every device ● Virtual devices / super devices formed out of local agents
  • 11.
    Layers 11 ● Communication layer ● Virtualization layer ● Applicationmanagement layer ● Intelligent coordination layer ● Forming the local agent
  • 12.
    CommunicationLayer 12 ● Compared MQTT, Zenohand CoAP for our use cases ● Device and resource discovery ● Constrained devices in mind (frame size, latency, memory, etc) ● Settled on CoAP as it is fitting our purpose well ● Libbcoap on Linux and a native CoAP implementation on Zephyr ● IPv4 & IPv6 ● Running over low-power wireless connectivity ● Resource Directory implementation on Linux
  • 13.
    VirtualizationLayer 13 ● Resource Directory implementationturns out to work well for an initial resource abstraction ● Device announces itself via multicast to the network ● If no other directory is found a Linux based local agent would elevate itself ● Registers available resources at the found directory ● API for upper layers to query by device type, attributes, URI’s, etc ● Give uniform view on resources and access ● Results are the base for decision making process
  • 14.
    IntelligentCoordinationLayer 14 ● Current focus ofthe work ● Research on options for ontologies/schemas to express attributes ● Webthings, OCF, ROS, etc ● Use ontologies to select the best execution environment ● Different coordination approaches – Centralized coordinator (current first approach) – Any local agent could run as coordinator (with stand-by for failover) – Complete peer-to-peer coordination, no central coordinator
  • 15.
    UsageinOniroBlueprints 15 ● A blueprint todemonstrate how EDDIE can be used ● Used between Linux and Zephyr ● Used over OpenThread with IPv6 (low-power and loosy network) ● M2M between touch controller and doorlock blueprints ● Based on availability of resources the touch controller can adjust UX dynamically
  • 16.
  • 17.
    FutureRoadmap 17 2023 ● Focus on ontologies/schemas ● Focuson intelligence orchestration ● Explore different coordination approaches
  • 18.
    ONIROPROJECT Thank you! Join us@ Eclipse Foundation booth & oniroproject.org 31