thingsjs towards a flexible and self adaptable middleware
play

ThingsJS: Towards a Flexible and Self-Adaptable Middleware for - PowerPoint PPT Presentation

Motivation ThingsJS Scheduling Code Migration Communications ThingsJS: Towards a Flexible and Self-Adaptable Middleware for Dynamic and Heterogeneous IoT Environments Middleware for IoT m4iot@Middleware 2017 Julien Gascon-Samson,


  1. Motivation ThingsJS Scheduling Code Migration Communications ThingsJS: Towards a Flexible and Self-Adaptable Middleware for Dynamic and Heterogeneous IoT Environments Middleware for IoT – m4iot@Middleware 2017 Julien Gascon-Samson, Mohammad Rafiuzzaman, Karthik Pattabiraman University of British Columbia Department of Electrical and Computer Engineering Vancouver, Canada December 11, 2017

  2. Motivation ThingsJS Scheduling Code Migration Communications Motivation 2 World of IoT growing at a very fast pace!

  3. Motivation ThingsJS Scheduling Code Migration Communications Motivation 2 World of IoT growing at a very fast pace! Traditionaly, processing was done in the cloud

  4. Motivation ThingsJS Scheduling Code Migration Communications Motivation 2 World of IoT growing at a very fast pace! Traditionaly, processing was done in the cloud Emerging trend: running applications on the IoT devices themselves (edge) Performance, costs, reliability

  5. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 3 ThingsJS: a framework for developing and deploying high-level applications on IoT devices (edge computing)

  6. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 4 Programmers are typically more productive in higher-level languages JavaScript: strong user base ThingsJS: a framework for developing and deploying high-level applications on IoT devices (edge computing)

  7. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 4 Programmers are typically more productive in higher-level languages JavaScript: strong user base ThingsJS: a framework for developing and deploying high-level applications on IoT devices (edge computing)

  8. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 4 Programmers are typically more productive in higher-level languages JavaScript: strong user base ThingsJS: a framework for JavaScript VMs on IoT developing and deploying Samsung IoT.js high-level applications on IoT devices (edge computing) Intel XDK DukServer Smart.js Node.js on IoT devices

  9. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 4 Programmers are typically Constraints more productive in IoT world is highly higher-level languages heterogeneous! JavaScript: strong user base Different hardware platforms JavaScript VMs on IoT OSes Environments Samsung IoT.js ThingsJS: Declarative Intel XDK language for expressing DukServer constraints Smart.js Over the devices Over the applications Node.js on IoT devices

  10. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 5 Scheduling Given a set of IoT applications (“components”) Given a set of constraints ThingsJS: a framework for ⇓ developing and deploying high-level applications on IoT devices (edge computing) Scheduling Applications 1 on IoT Devices

  11. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 5 Scheduling Given a set of IoT applications (“components”) Given a set of constraints ThingsJS: a framework for ⇓ developing and deploying high-level applications on IoT devices (edge computing) What is the optimal mapping Scheduling Applications 1 of components to devices? on IoT Devices Significant work on scheduling applications in the cloud – idea of scheduling applications in the edge is relatively novel

  12. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 6 Example: motion detection video_camera: tied to ThingsJS: a framework for hardware developing and deploying high-level applications on IoT motion_detect: detects devices (edge computing) motion Scheduling Applications 1 on IoT Devices

  13. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 6 Example: motion detection video_camera: tied to ThingsJS: a framework for hardware developing and deploying high-level applications on IoT motion_detect: detects devices (edge computing) motion Scheduling Applications 1 Some components on IoT Devices can/should be run in the cloud

  14. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 7 Migration ThingsJS: a framework for Conditions change over time developing and deploying IoT devices are high-level applications on IoT resource-constrained devices (edge computing) Scheduling Applications on 1 IoT Devices Migrating IoT 2 Applications

  15. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 7 Migration ThingsJS: a framework for Conditions change over time developing and deploying IoT devices are high-level applications on IoT resource-constrained devices (edge computing) Scheduling Applications on 1 It might be necessary to IoT Devices migrate components Migrating IoT 2 Applications

  16. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 7 Migration ThingsJS: a framework for Conditions change over time developing and deploying IoT devices are high-level applications on IoT resource-constrained devices (edge computing) Scheduling Applications on 1 It might be necessary to IoT Devices migrate components Migrating IoT 2 Prior work: migrating web Applications applications across browsers

  17. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 8 ThingsJS: a framework for Publish/Subcribe - MQTT developing and deploying Publish/subscribe maps well high-level applications on IoT to IoT (MQTT: iso standard) devices (edge computing) Scheduling Applications on 1 IoT Devices Migrating IoT Applications 2 Optimizing the 3 Communications

  18. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 8 ThingsJS: a framework for Publish/Subcribe - MQTT developing and deploying Publish/subscribe maps well high-level applications on IoT to IoT (MQTT: iso standard) devices (edge computing) Scheduling Applications on Significant work in 1 IoT Devices cloud/p2p pub/sub Migrating IoT Applications 2 Optimizing the 3 Communications

  19. Motivation ThingsJS Scheduling Code Migration Communications Goals and Motivation 8 ThingsJS: a framework for Publish/Subcribe - MQTT developing and deploying Publish/subscribe maps well high-level applications on IoT to IoT (MQTT: iso standard) devices (edge computing) Scheduling Applications on Significant work in 1 IoT Devices cloud/p2p pub/sub Migrating IoT Applications 2 Adapting pub/sub Optimizing the 3 architectures for IoT Communications

  20. Motivation ThingsJS Scheduling Code Migration Communications ThingsJS: IoT Runtime Middleware 9 Goals and Motivation 1 ThingsJS: IoT Runtime Middleware 2 Dynamic Scheduling 3 JavaScript Code Migration 4 Inter-Component Communications 5

  21. Motivation ThingsJS Scheduling Code Migration Communications ThingsJS 10

  22. Motivation ThingsJS Scheduling Code Migration Communications ThingsJS Application 11 Source Code: High-Level Language (i.e., Javascript - Node.js) Code written in terms of “components” Constraints: Physical: device-related Logical: component-related

  23. Motivation ThingsJS Scheduling Code Migration Communications ThingsJS Application 11 Source Code: High-Level Language (i.e., Javascript - Node.js) Code written in terms of “components” Constraints: CPU (workload units) Physical: device-related RAM Logical: Available incoming & component-related outgoing bandwidth

  24. Motivation ThingsJS Scheduling Code Migration Communications ThingsJS Application 11 Source Code: High-Level Language (i.e., Javascript - Node.js) Code written in terms of “components” Workload units Constraints: RAM Physical: device-related Incoming & outgoing bandwidth Logical: component-related Inter-component constraints: latency, bandwidth

  25. Motivation ThingsJS Scheduling Code Migration Communications ThingsJS Middleware 12

  26. Motivation ThingsJS Scheduling Code Migration Communications Dynamic Scheduling 13 Goals and Motivation 1 ThingsJS: IoT Runtime Middleware 2 Dynamic Scheduling 3 JavaScript Code Migration 4 Inter-Component Communications 5

  27. Motivation ThingsJS Scheduling Code Migration Communications Scheduling Applications on Things (1) 14 1 Predicting the workload of components Machine-learning Training: Several devices, different load profiles Monitoring performance (execution time) Construction of a model Predicting: Execution time on device With a specific load level 2 Scheduling the placement of components to devices

  28. Motivation ThingsJS Scheduling Code Migration Communications Scheduling Applications on Things (2) 15 1 Predicting the workload of components 2 Scheduling the placement of components to devices Given a set of constraints ...and the prediction model What is the optimal arrangement of components-to-devices? Respecting all constraints SMT Solver Most suitable global solution Rescheduling?

  29. Motivation ThingsJS Scheduling Code Migration Communications ThingsMigrate: Migrating JavaScript IoT Applications 16 Goals and Motivation 1 ThingsJS: IoT Runtime Middleware 2 Dynamic Scheduling 3 JavaScript Code Migration 4 Inter-Component Communications 5

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend