SlideShare a Scribd company logo
Software virtualization
lessons for extreme IoT
portability and scale
Vincent Perrier
Chief Product Officer, MicroEJ
vincent.perrier@microej.com
About MicroEJ
• IS2T S.A. founded in 2004 – offices in France, Germany, USA
– $5M Series A funding in 2011 – $20M R&D total investment
– http://www.microej.com/about
• Independent Software Vendor, global player in the IoT industry
– Licenses: embedded (tools & runtime) + cloud (store)
– Professional services, training & consulting
• Expertise in embedded, virtualization,
software engineering & processes
• Partnerships with key IoT, silicon,
embedded SW and HW vendors, EMS,
clouds
8 June 2016 2© MicroEJ
IoT Business Trends
• Manufacturing imposes using industrial-grade components
• Large production volumes (billions of devices) impose low product cost
• Battery-operated devices impose low power consumption
• Internet pace imposes shorter time-to-market
• Smartphones and tablets set new user experience expectations for
consumer products
• IoT business model is likely to evolve from device-centred (retail business)
to services-centred (operator business) to data-centred (BI)
Revenues from device (electronic product) sales
< Revenues from subscriptions to web-based services delivered through devices
< Revenues from data streams delivered by devices Time/IoT maturity
8 June 2016 3© MicroEJ
IoT Technical Challenges
• Interoperability with cloud infrastructure implies IP-based networking
– Directly on edge node device, or through a gateway – for interfacing with cloud servers
• Embedded constraints
– Fragmented processor architectures and low-level HW-dependant SW (HdS) & tools
– Limited resources: memory, storage, computing, bandwidth, battery life…
– Diversity of connectivity links, wired & wireless
– Interfacing to the physical world (sensors & actuators, analog & digital…)
• Architecture choices on silicon integration of main hardware functions
– Computing, memory (RAM), storage (flash), connectivity (RF, wired), data collection (I/Os)…
– On-chip or on board: MPU, MCU, SoC, modules (comms, sensor), ASIC, components…
• Value is delivered by software
– Communication protocols, user interfaces, manageability, scalability, data & services…
• IoT is not Arduino, nor Linux on Raspberry Pi, nor Android on dual core GHz processors
8 June 2016 4© MicroEJ
Embedded Devices
• SMART devices need to be able to acquire, compute and store data, and perform several tasks
– Peripherals, processors (MCU, FPU, DSP), RAM, flash…
• CONNECTED devices need to support many connectivity, communications and security standards
– Physical/Link: 802.15.4, 868-902 MHz, 802.11, Bluetooth, cellular 2G/3G/4G…
– Network/Transport: Wi-Fi, 6LowPAN, TCP/UDP-IP, TLS/DTLS, ZigBee, Z-Wave…
• INTERACTIVE devices provide graphical and touch interface
– Graphical User Interface (GUI), Human-Machine Interface (HMI)
• MANAGED devices allow software content update and operations management from the Cloud
– Over-The-Air (OTA) firmware update
– Device Management (DM)
• May use proprietary communication protocols over standard links
– Sensors, actuators, I/Os (GPIO, PWM, DAC/ADC, USB, I2C, SPI, UART…)
– Internet client/server (sockets)
8 June 2016 5© MicroEJ
IoT Devices
• Should use standard communication protocols over standard links
• IoT devices use standard-based frameworks and agents for communicating
with each other and connecting to services in the cloud that provide
software content and operations management
– WebSocket, TLS, HTTPS REST…
– Thread, AllJoyn, DDS, XMPP, AMQP, MQTT, CoAP, LWM2M…
• They leverage data streams and formats for cloud-based analytics
– XML, JSON…
• SCALABLE devices may run multiple applications that can be dynamically
downloaded and installed/uninstalled (without FW update)
– User experience similar to smartphones/tablets = application store
8 June 2016 6© MicroEJ
IoT Edge-to-Cloud
8 June 2016 7© MicroEJ
HW
SW
GUI
Data Analytics
Sensors
Data Y
DM X Third-Party
Agents
Apps GWY IoT Cloud
Platform Y
IoT Cloud
Platform X
Application
Store
Download Device
Management
Connect
Device
B
Device
A
IoT Non-Portability & Scale
?
8 June 2016 8© MicroEJ
Cloud
Y
Cloud
X
Cloud
Z
Device
C
Combination of clouds and protocols: HTTPS, REST, MQTT, CoAP, LWM2M…
Combination of: ISA, compilers, RTOS, libraries (FS…), stacks (TCP-UDP/IP, TLS/DTLS…)
• Embedded C/RTOS solutions have
efficiently addressed SW bring-up on
fragmented hardware by providing
vertical integration layers for each
combination (ISA/compiler/libs)
• But they may require integration
work for the BSP and native libraries
• They may not provide ready-to-use
solutions for enabling IoT and cloud-
ready SW capabilities
• Applications still need to be ported
from one vertical silo to another,
further fragmenting developer
communities
Vertical Integration
8 June 2016 9© MicroEJ
• The MicroEJ® Operating System leverages
the best of both worlds:
– The scalability of embedded RTOS
solutions for SW bring-up
– The large community of mobile & PC
developers for efficient SW
applications development
• It provides APIs both for BSP/RTOS/libs
integration and SW app development
• It enables horizontal integration of OS
services thanks to a virtualization layer that
isolates application layers from
lib/RTOS/BSP/compiler/ISA layers
Horizontal Integration
8 June 2016 10© MicroEJ
IoT Portability & Scale
8 June 2016 11© MicroEJ
Cloud
Y
Cloud
X
Cloud
Z
Device
A
Device
B
Device
C
Combination of clouds and protocols: HTTPS, REST, MQTT, CoAP, LWM2M…
Combination of: ISA, compilers, RTOS, libraries (FS…), stacks (TCP-UDP/IP, TLS/DTLS…)
MicroEJ OS
A
N
Y
A
N
Y
Reusable SWReusable SW
Reusable SWReusable SW
HW Virtualization
ADVANTAGES HOW:
Hardware independence
• True Portability of BINARY SW across HW (no
recompilation needed)
Micro-Virtualization layer (30KB)
• Formal Separation between HW-dependent-SW and
HW-independent-SW
Safe SW programming & execution Build & runtime checks, Sandboxing
Full set of SW foundation blocks High-level API & stacks
Secured investments
• Legacy code integration
Multi-language support: Java, C/C++, ASM
Future-proof
• SW updates
• New SW downloads
Multi-application framework
• Build-time configuration
• Run-time add-ons
8 June 2016 12© MicroEJ
MicroEJ OS
Platform
OPERATING SYSTEM
BSP/DRIVERS
TARGET HARDWARE
APPLICATIONS
APP 1 APP 2 APP 3 APP 4 …
CORE
Secure Multi-Application Engine
CORE
Memory Management
CORE
Languages/Utilities/Test
CORE
CPU & Power Management
CORE
Components Management
IO
Sensors/Actuators/GPIO
COMM
Connectivity Wired/Wireless
STORE
Application Management
NUM
Numerical Methods
FILE & DATA
Persistence/File System
GUI
Graphics/Touch
NET & SEC
Network Protocols & Security
IOT
IoT/Cloud Middleware
8 June 2016 13© MicroEJ
MicroEJ OS Foundations
HW Foundations
• MCU/MPU/SoC architectures and
starter kits
– ARM Cortex M/A
– MIPS, RX, Power, TriCore…
SW Foundations
• Hardware-dependent Software
– Bare metal/any RTOS
– BSP, drivers, libraries
• Native SW SDKs
8 June 2016 14© MicroEJ
MicroEJ Cloud Connections
Data Analytics
• HTTPS REST
• MQTT
• CoAP
• AMQP
Device Management
• LWM2M
• OMA-DM
• TR-069
8 June 2016 15© MicroEJ
IP
TCP UDP
TLS DTLS
SMS
CoAPMQTT
LWM2M
MicroEJ OS Core
Secure multi-application engine
• Optimized virtual machine
• “Green thread” integration to RTOS
Languages, utilities & test
• Efficient Java-to-C native interface
• Test suite harness (for HW-in-the-loop testing)
• Performance traces
Memory management
• Smart RAM optimizer (garbage collector)
• Shared C-Java heap (immortal objects)
• Static objects in flash (immutable objects)
CPU & Power management
• Management of app permissions to access system resources
Components management
• Static and dynamic code loader, incremental
• Management of binary app lifecycle
• Sandboxing
8 June 2016 © MicroEJ 16
KEY FIGURES:
Soft Core (virtualization)
+ Smart RAM Optimizer
< 30 KB of Flash
Multi-app add-on < 10 KB of Flash
RAM footprint < 1.5 KB
Boot time < 2ms
on Cortex-M3 at 120 MHz
RTOS stack size < 1KB
Multi-App Sandboxing
Built OS defines set of API &
resources available to apps
• Can’t access directly to code, objects,
threads
• No (bypassing) native code call allowed
• No inter-dependencies between apps
• Fully managed in binary
• Install, uninstall, start, stop
HARDWARE
BSP (= DRIVERS + RTOS)
RTOS
Task 1
MicroEJ Task (“Green Thread”)
RTOS
Task 2
RTOS
Task n
MicroEJ CoreMemory Mgmt
Components Management
Resource Mgmt
Predictable Thread Scheduler
MicroEJ Libraries
App
1
App
2
App
3
App
4
App
5
App
n
Downloaded
App
Isolation
Layer
Resident
8 June 2016 © MicroEJ 17
Firmware Build
8 June 2016 18© MicroEJ
Firmware & Apps Deploy
8 June 2016 19© MicroEJ
MicroEJ Store
8 June 2016 20© MicroEJ
End-to-End IoT
8 June 2016 21© MicroEJ
IOT DEVICES
SW CONTENT
MANAGEMENT
DEVICE
MANAGEMENT
DATA
ANALYTICS
GATEWAY
P
OS
STORE
OS
IOT
CLOUD PLATFORM
MicroEJ PartnersP
OS for IoT
8 June 2016 22© MicroEJ
RTOS Linux
MPU (>$10 ASP)MCU ($1-6 ASP)
Volumes 75%
25%
SW Foundation
Thank You
8 June 2016 23© MicroEJ
• General information
– www.microej.com
• MicroEJ SDK free evaluation for OEMs
– www.microej.com/get-started
• Free MicroEJ Studio for application developers
MicroEJ Application Store
– store.microej.com
• Developer resources (source, doc, examples…)
– developer.microej.com
• Contact us
– contact@microej.com
All rights reserved.
Information, technical data and tutorials
contained in this document are proprietary
under copyright Law of Industrial Smart
Software Technology (IS2T S.A.) operating
under the brand name MicroEJ®.
Without written permission from IS2T S.A.,
copying or sending parts of the document
or the entire document by any means to
third parties is not permitted. Granted
authorizations for using parts of the
document or the entire document do not
mean IS2T S.A. gives public full access
rights.
IS2T®, MicroEJ® and all relative logos are
trademarks or registered trademarks of IS2T
S.A. in France and other Countries.
Java™ is Sun Microsystems' trademark for a
technology for developing application
software and deploying it in cross-platform,
networked environments. When it is used in
this documentation without adding the ™
symbol, it includes implementations of the
technology by companies other than Sun.
Java™, all Java-based marks and all related
logos are trademarks or registered
trademarks of Sun Microsystems Inc., in the
United States and other Countries.
Other trademarks are proprietary of their
respective owners.

More Related Content

PPTX
OPC UA Security: Native and Add-on Solutions
PDF
Introduction to Operational Technology 0.1
PPTX
The Future of Embedded and IoT Security: Kaspersky Operating System
PDF
SN-Security Architecture for Mobile Computing and IoT
PDF
Track 5 session 1 - st dev con 2016 - need for security for iot
PDF
Cisco Meraki Portfolio Guide
PDF
UniCredit Business Integrated Solutions
PDF
Soldatos cluster-h2020-security-projects-etsi-nice-221018-v final
OPC UA Security: Native and Add-on Solutions
Introduction to Operational Technology 0.1
The Future of Embedded and IoT Security: Kaspersky Operating System
SN-Security Architecture for Mobile Computing and IoT
Track 5 session 1 - st dev con 2016 - need for security for iot
Cisco Meraki Portfolio Guide
UniCredit Business Integrated Solutions
Soldatos cluster-h2020-security-projects-etsi-nice-221018-v final

What's hot (20)

PDF
Risk Assessment Solutions of H2020 IoT Security/Privacy Cluster Projects
PDF
Iot Service Layer Evolution
PPTX
Iot security amar prusty
PDF
Cisco Meraki Overview
PDF
Next Generation Embedded Systems Security for IOT: Powered by Kaspersky
PDF
Industrial IOT Data Connectivity Standard
PDF
Fog Computing is the Future of the Industrial Internet of Things
PDF
Cisco Meraki: Let Simple Work For You
PPTX
Aerohive Networks e ZScaler, le soluzioni tecnologiche per il nuovo ecosistem...
PDF
Midokura for Industry 4.0
PPTX
Acceleration_and_Security_draft_v2
PPTX
Internet of things
PDF
Internet of Things Reference Architectures
PDF
IRJET- Multifactor Authentication in IoT Devices for Ensuring Secure Cloud St...
PDF
Internet of Things (IoT) Security and Privacy Recommendations by Jason Living...
PDF
An Internet of Things Reference Architecture
PPTX
IoT Security: Cases and Methods
PDF
Windows developer program for IoT
PDF
IoT Security in Action - Boston Sept 2015
PPTX
Iot Security
Risk Assessment Solutions of H2020 IoT Security/Privacy Cluster Projects
Iot Service Layer Evolution
Iot security amar prusty
Cisco Meraki Overview
Next Generation Embedded Systems Security for IOT: Powered by Kaspersky
Industrial IOT Data Connectivity Standard
Fog Computing is the Future of the Industrial Internet of Things
Cisco Meraki: Let Simple Work For You
Aerohive Networks e ZScaler, le soluzioni tecnologiche per il nuovo ecosistem...
Midokura for Industry 4.0
Acceleration_and_Security_draft_v2
Internet of things
Internet of Things Reference Architectures
IRJET- Multifactor Authentication in IoT Devices for Ensuring Secure Cloud St...
Internet of Things (IoT) Security and Privacy Recommendations by Jason Living...
An Internet of Things Reference Architecture
IoT Security: Cases and Methods
Windows developer program for IoT
IoT Security in Action - Boston Sept 2015
Iot Security
Ad

Viewers also liked (14)

DOCX
Avanzado 1 1 de oct
PPTX
Civil Society in Taiwan
PPTX
لؤي النداف/ مؤتمر الكويت للعلوم الإحصائية
PDF
Computerworld juni 2016
PPTX
SAP BASIS Online Training | SAP Training
PPT
Perilaku terpuji husznudzon(akhlaq)
PDF
HITCON CTF 導覽
PDF
Secure Productive Enterprise from Microsoft and Atidan
PDF
Windows 10 Enterprise E3 - Best in Class Security and Control - Presented by ...
PPTX
How telecom industry realte with IoT as a new area of business- TDC a case study
PDF
Bn1033 demo sap basis
PDF
Sensing-as-a-Service - An IoT Service Provider's Perspectives
PDF
HITCON GIRLS Malware Analysis
PDF
Маркетинговый фокус
Avanzado 1 1 de oct
Civil Society in Taiwan
لؤي النداف/ مؤتمر الكويت للعلوم الإحصائية
Computerworld juni 2016
SAP BASIS Online Training | SAP Training
Perilaku terpuji husznudzon(akhlaq)
HITCON CTF 導覽
Secure Productive Enterprise from Microsoft and Atidan
Windows 10 Enterprise E3 - Best in Class Security and Control - Presented by ...
How telecom industry realte with IoT as a new area of business- TDC a case study
Bn1033 demo sap basis
Sensing-as-a-Service - An IoT Service Provider's Perspectives
HITCON GIRLS Malware Analysis
Маркетинговый фокус
Ad

Similar to Software virtualization lessons for extreme IoT portability and scale (20)

PDF
Why the Need for Special Operating Systems for IoT and Wearable Devices?
PDF
MicroEJ OS for IoT devices
PDF
MicroEJ, the OS for IoT
PDF
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
PPTX
InduSoft IoTView
PPTX
Windows for IOT
PDF
IoT and connected devices
PDF
La technologie Java embarquée pour des plateformes de services riches
PDF
Mainflux - Hyperscalable Unified IoT Platform
PDF
Mainflux - Hyperscalable Unified IoT Platform
PPTX
Boodskap overview
PDF
21 Innovative IoT Products To Watch at Hannover Messe 2017
PDF
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
PDF
Developing Interoperable Components for an Open IoT Foundation
PDF
Eclipse IoT Overview
PDF
BKK16-500K2 CTO talk - The End to End Story
PPTX
Industrial Pioneers Days - Machine Learning
DOC
Ankit sarin
PDF
Real World IoT Architecture Use Cases
Why the Need for Special Operating Systems for IoT and Wearable Devices?
MicroEJ OS for IoT devices
MicroEJ, the OS for IoT
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
InduSoft IoTView
Windows for IOT
IoT and connected devices
La technologie Java embarquée pour des plateformes de services riches
Mainflux - Hyperscalable Unified IoT Platform
Mainflux - Hyperscalable Unified IoT Platform
Boodskap overview
21 Innovative IoT Products To Watch at Hannover Messe 2017
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
Developing Interoperable Components for an Open IoT Foundation
Eclipse IoT Overview
BKK16-500K2 CTO talk - The End to End Story
Industrial Pioneers Days - Machine Learning
Ankit sarin
Real World IoT Architecture Use Cases

More from MicroEJ (6)

PPTX
Eclipse Edje Project Status
PPTX
Eclipse Edje: A Java API for Microcontrollers
PDF
MicroEJ OS and Edje: the software foundation for IoT devices
PDF
Eclipse IoT Edje project: the software foundation for IoT devices
PDF
Edje Project: The Software Foundation for IoT Devices
PPTX
MicroEJ software solution for IoT and embedded devices
Eclipse Edje Project Status
Eclipse Edje: A Java API for Microcontrollers
MicroEJ OS and Edje: the software foundation for IoT devices
Eclipse IoT Edje project: the software foundation for IoT devices
Edje Project: The Software Foundation for IoT Devices
MicroEJ software solution for IoT and embedded devices

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Machine learning based COVID-19 study performance prediction
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Spectroscopy.pptx food analysis technology
PDF
KodekX | Application Modernization Development
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Electronic commerce courselecture one. Pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
Per capita expenditure prediction using model stacking based on satellite ima...
Machine learning based COVID-19 study performance prediction
20250228 LYD VKU AI Blended-Learning.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Big Data Technologies - Introduction.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Spectral efficient network and resource selection model in 5G networks
Encapsulation_ Review paper, used for researhc scholars
Chapter 3 Spatial Domain Image Processing.pdf
Programs and apps: productivity, graphics, security and other tools
NewMind AI Weekly Chronicles - August'25 Week I
Spectroscopy.pptx food analysis technology
KodekX | Application Modernization Development
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Electronic commerce courselecture one. Pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Network Security Unit 5.pdf for BCA BBA.

Software virtualization lessons for extreme IoT portability and scale

  • 1. Software virtualization lessons for extreme IoT portability and scale Vincent Perrier Chief Product Officer, MicroEJ vincent.perrier@microej.com
  • 2. About MicroEJ • IS2T S.A. founded in 2004 – offices in France, Germany, USA – $5M Series A funding in 2011 – $20M R&D total investment – http://www.microej.com/about • Independent Software Vendor, global player in the IoT industry – Licenses: embedded (tools & runtime) + cloud (store) – Professional services, training & consulting • Expertise in embedded, virtualization, software engineering & processes • Partnerships with key IoT, silicon, embedded SW and HW vendors, EMS, clouds 8 June 2016 2© MicroEJ
  • 3. IoT Business Trends • Manufacturing imposes using industrial-grade components • Large production volumes (billions of devices) impose low product cost • Battery-operated devices impose low power consumption • Internet pace imposes shorter time-to-market • Smartphones and tablets set new user experience expectations for consumer products • IoT business model is likely to evolve from device-centred (retail business) to services-centred (operator business) to data-centred (BI) Revenues from device (electronic product) sales < Revenues from subscriptions to web-based services delivered through devices < Revenues from data streams delivered by devices Time/IoT maturity 8 June 2016 3© MicroEJ
  • 4. IoT Technical Challenges • Interoperability with cloud infrastructure implies IP-based networking – Directly on edge node device, or through a gateway – for interfacing with cloud servers • Embedded constraints – Fragmented processor architectures and low-level HW-dependant SW (HdS) & tools – Limited resources: memory, storage, computing, bandwidth, battery life… – Diversity of connectivity links, wired & wireless – Interfacing to the physical world (sensors & actuators, analog & digital…) • Architecture choices on silicon integration of main hardware functions – Computing, memory (RAM), storage (flash), connectivity (RF, wired), data collection (I/Os)… – On-chip or on board: MPU, MCU, SoC, modules (comms, sensor), ASIC, components… • Value is delivered by software – Communication protocols, user interfaces, manageability, scalability, data & services… • IoT is not Arduino, nor Linux on Raspberry Pi, nor Android on dual core GHz processors 8 June 2016 4© MicroEJ
  • 5. Embedded Devices • SMART devices need to be able to acquire, compute and store data, and perform several tasks – Peripherals, processors (MCU, FPU, DSP), RAM, flash… • CONNECTED devices need to support many connectivity, communications and security standards – Physical/Link: 802.15.4, 868-902 MHz, 802.11, Bluetooth, cellular 2G/3G/4G… – Network/Transport: Wi-Fi, 6LowPAN, TCP/UDP-IP, TLS/DTLS, ZigBee, Z-Wave… • INTERACTIVE devices provide graphical and touch interface – Graphical User Interface (GUI), Human-Machine Interface (HMI) • MANAGED devices allow software content update and operations management from the Cloud – Over-The-Air (OTA) firmware update – Device Management (DM) • May use proprietary communication protocols over standard links – Sensors, actuators, I/Os (GPIO, PWM, DAC/ADC, USB, I2C, SPI, UART…) – Internet client/server (sockets) 8 June 2016 5© MicroEJ
  • 6. IoT Devices • Should use standard communication protocols over standard links • IoT devices use standard-based frameworks and agents for communicating with each other and connecting to services in the cloud that provide software content and operations management – WebSocket, TLS, HTTPS REST… – Thread, AllJoyn, DDS, XMPP, AMQP, MQTT, CoAP, LWM2M… • They leverage data streams and formats for cloud-based analytics – XML, JSON… • SCALABLE devices may run multiple applications that can be dynamically downloaded and installed/uninstalled (without FW update) – User experience similar to smartphones/tablets = application store 8 June 2016 6© MicroEJ
  • 7. IoT Edge-to-Cloud 8 June 2016 7© MicroEJ HW SW GUI Data Analytics Sensors Data Y DM X Third-Party Agents Apps GWY IoT Cloud Platform Y IoT Cloud Platform X Application Store Download Device Management Connect
  • 8. Device B Device A IoT Non-Portability & Scale ? 8 June 2016 8© MicroEJ Cloud Y Cloud X Cloud Z Device C Combination of clouds and protocols: HTTPS, REST, MQTT, CoAP, LWM2M… Combination of: ISA, compilers, RTOS, libraries (FS…), stacks (TCP-UDP/IP, TLS/DTLS…)
  • 9. • Embedded C/RTOS solutions have efficiently addressed SW bring-up on fragmented hardware by providing vertical integration layers for each combination (ISA/compiler/libs) • But they may require integration work for the BSP and native libraries • They may not provide ready-to-use solutions for enabling IoT and cloud- ready SW capabilities • Applications still need to be ported from one vertical silo to another, further fragmenting developer communities Vertical Integration 8 June 2016 9© MicroEJ
  • 10. • The MicroEJ® Operating System leverages the best of both worlds: – The scalability of embedded RTOS solutions for SW bring-up – The large community of mobile & PC developers for efficient SW applications development • It provides APIs both for BSP/RTOS/libs integration and SW app development • It enables horizontal integration of OS services thanks to a virtualization layer that isolates application layers from lib/RTOS/BSP/compiler/ISA layers Horizontal Integration 8 June 2016 10© MicroEJ
  • 11. IoT Portability & Scale 8 June 2016 11© MicroEJ Cloud Y Cloud X Cloud Z Device A Device B Device C Combination of clouds and protocols: HTTPS, REST, MQTT, CoAP, LWM2M… Combination of: ISA, compilers, RTOS, libraries (FS…), stacks (TCP-UDP/IP, TLS/DTLS…) MicroEJ OS A N Y A N Y Reusable SWReusable SW Reusable SWReusable SW
  • 12. HW Virtualization ADVANTAGES HOW: Hardware independence • True Portability of BINARY SW across HW (no recompilation needed) Micro-Virtualization layer (30KB) • Formal Separation between HW-dependent-SW and HW-independent-SW Safe SW programming & execution Build & runtime checks, Sandboxing Full set of SW foundation blocks High-level API & stacks Secured investments • Legacy code integration Multi-language support: Java, C/C++, ASM Future-proof • SW updates • New SW downloads Multi-application framework • Build-time configuration • Run-time add-ons 8 June 2016 12© MicroEJ
  • 13. MicroEJ OS Platform OPERATING SYSTEM BSP/DRIVERS TARGET HARDWARE APPLICATIONS APP 1 APP 2 APP 3 APP 4 … CORE Secure Multi-Application Engine CORE Memory Management CORE Languages/Utilities/Test CORE CPU & Power Management CORE Components Management IO Sensors/Actuators/GPIO COMM Connectivity Wired/Wireless STORE Application Management NUM Numerical Methods FILE & DATA Persistence/File System GUI Graphics/Touch NET & SEC Network Protocols & Security IOT IoT/Cloud Middleware 8 June 2016 13© MicroEJ
  • 14. MicroEJ OS Foundations HW Foundations • MCU/MPU/SoC architectures and starter kits – ARM Cortex M/A – MIPS, RX, Power, TriCore… SW Foundations • Hardware-dependent Software – Bare metal/any RTOS – BSP, drivers, libraries • Native SW SDKs 8 June 2016 14© MicroEJ
  • 15. MicroEJ Cloud Connections Data Analytics • HTTPS REST • MQTT • CoAP • AMQP Device Management • LWM2M • OMA-DM • TR-069 8 June 2016 15© MicroEJ IP TCP UDP TLS DTLS SMS CoAPMQTT LWM2M
  • 16. MicroEJ OS Core Secure multi-application engine • Optimized virtual machine • “Green thread” integration to RTOS Languages, utilities & test • Efficient Java-to-C native interface • Test suite harness (for HW-in-the-loop testing) • Performance traces Memory management • Smart RAM optimizer (garbage collector) • Shared C-Java heap (immortal objects) • Static objects in flash (immutable objects) CPU & Power management • Management of app permissions to access system resources Components management • Static and dynamic code loader, incremental • Management of binary app lifecycle • Sandboxing 8 June 2016 © MicroEJ 16 KEY FIGURES: Soft Core (virtualization) + Smart RAM Optimizer < 30 KB of Flash Multi-app add-on < 10 KB of Flash RAM footprint < 1.5 KB Boot time < 2ms on Cortex-M3 at 120 MHz RTOS stack size < 1KB
  • 17. Multi-App Sandboxing Built OS defines set of API & resources available to apps • Can’t access directly to code, objects, threads • No (bypassing) native code call allowed • No inter-dependencies between apps • Fully managed in binary • Install, uninstall, start, stop HARDWARE BSP (= DRIVERS + RTOS) RTOS Task 1 MicroEJ Task (“Green Thread”) RTOS Task 2 RTOS Task n MicroEJ CoreMemory Mgmt Components Management Resource Mgmt Predictable Thread Scheduler MicroEJ Libraries App 1 App 2 App 3 App 4 App 5 App n Downloaded App Isolation Layer Resident 8 June 2016 © MicroEJ 17
  • 18. Firmware Build 8 June 2016 18© MicroEJ
  • 19. Firmware & Apps Deploy 8 June 2016 19© MicroEJ
  • 20. MicroEJ Store 8 June 2016 20© MicroEJ
  • 21. End-to-End IoT 8 June 2016 21© MicroEJ IOT DEVICES SW CONTENT MANAGEMENT DEVICE MANAGEMENT DATA ANALYTICS GATEWAY P OS STORE OS IOT CLOUD PLATFORM MicroEJ PartnersP
  • 22. OS for IoT 8 June 2016 22© MicroEJ RTOS Linux MPU (>$10 ASP)MCU ($1-6 ASP) Volumes 75% 25% SW Foundation
  • 23. Thank You 8 June 2016 23© MicroEJ • General information – www.microej.com • MicroEJ SDK free evaluation for OEMs – www.microej.com/get-started • Free MicroEJ Studio for application developers MicroEJ Application Store – store.microej.com • Developer resources (source, doc, examples…) – developer.microej.com • Contact us – contact@microej.com All rights reserved. Information, technical data and tutorials contained in this document are proprietary under copyright Law of Industrial Smart Software Technology (IS2T S.A.) operating under the brand name MicroEJ®. Without written permission from IS2T S.A., copying or sending parts of the document or the entire document by any means to third parties is not permitted. Granted authorizations for using parts of the document or the entire document do not mean IS2T S.A. gives public full access rights. IS2T®, MicroEJ® and all relative logos are trademarks or registered trademarks of IS2T S.A. in France and other Countries. Java™ is Sun Microsystems' trademark for a technology for developing application software and deploying it in cross-platform, networked environments. When it is used in this documentation without adding the ™ symbol, it includes implementations of the technology by companies other than Sun. Java™, all Java-based marks and all related logos are trademarks or registered trademarks of Sun Microsystems Inc., in the United States and other Countries. Other trademarks are proprietary of their respective owners.