SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Toward a Distributed Data Flow 
Platform for the Web of Things 
(Distributed Node-RED) 
Michael Blackstock, Rodger Lea 
Human Communication Technologies Lab 
Electrical and Computer Engineering Department 
University of British Columbia
Motivation 
• Common IoT scenarios require real time interaction between 
things, but application development can be difficult: 
• integration, variety of protocols and APIs and 
programming environments. 
• New web-based tools and platforms have emerged for 
rapid development e.g. WoTKit and Node-RED 
• Current platforms host applications on a single device/ 
server. 
• Exploration of distributed data flow for the Web of Things 
2
Data Flow Architectures 
• Initially to support massive parallelism, then 
software engineering 
• natural visual representation: nodes and arcs. 
• move more easily between design and 
implementation 
• can reduce development time 
• some evidence that they are easier for non-programmers 
3
Server 
Distributed Data Flow 
Twitter Input Command Parser 
Presence Sensor 
TV Controller 
Text Filter 
User Sensor Presence Monitor 
4 
Command 
Receiver 
TV Controller
WoTKit Processor 
• Multi user service, bundled 
with WoTKit platform* 
• Real time data processing, 
alerting 
• Browser-based visual pipe 
editor: modules are connected 
by wires to form pipes 
• Pipe management page to 
manage execution. 
• Separate script editor window 
for creating new modules. 
* Blackstock, M.; Lea, R., "IoT mashups with the WoTKit," Internet 
of Things (IOT) Conference, 2012, 24-26 Oct. 2012, Wuxi, China 
5
WoTKit Processor 
• Input modules 
• Sensor, Twitter inputs 
• Functions 
• Threshold, Scripting 
• Outputs 
• Debugging/Monitoring 
• Email, Actuator control 
• Script modules interact with 
flow using input, output and 
module state dictionaries. 
6
Processor Architecture 
• ‘Pipes’ are stored as JSON in database 
associated with users. 
• On ‘start’, JSON pipe is parsed, module 
instances (beans) are created in memory, 
wires added to global Routing Table. 
• Input modules add messages to 
execution queue. 
• Scheduler looks up downstream module 
endpoint from endpoint ‘Routing Table’. 
• Creates task using module (bean) and 
message for execution using thread pool. 
• Pipes from multiple users can be added 
or removed from scheduler and routing 
table any time without restarting. 
7
Node-RED
Node RED Architecture 
Nodes 
• Single flow stored per instance in file 
system 
• On deploy, JSON flow is parsed, nodes 
instantiated and wired up directly. 
• Each node has a connection to 
downstream nodes. Node.js 
EventEmitter API to manage listeners. 
• By calling EventEmitter API, rather than 
downstream node directly, uses 
Node.js’ single threaded Event Loop. 
• Worker threads are created for long 
running async operations (e.g. I/O). 
• All ‘tabs’ are part of a single flow. 
1. lookup 
next 
node(s) 
9 
Nodes 
Nodes 
2. emit events 
Event Loop 
(single thread) 
5. return results 
4. return 
results 
3. do work 
Non-blocking worker 
threads 
Based on http://www.aaronstannard.com/post/ 
2011/12/14/Intro-to-NodeJS-for-NET-Developers.aspx
Analysis 
User Interface! 
• Both have an easy to use web based visual programming environment 
• Multi-user system separates pipe/flow management from editor. 
• Both use monitor nodes to view execution 
Architecture! 
• Need a way to manage, stop and start pipes in a multi-user system. 
• Need system that is suitably ‘light weight’ for small devices. 
• nodes may have state; Node-RED supports global flow state. 
• Neither are distributed 
Extensibility/Community/Sharing! 
• should be easy to extend. 
• Sharing pipes/flows and modules/nodes is critical to support 
community of users 
10
Distributed Data Flow Model 
• Multi-user system - flows and devices need ‘owners’ to be 
managed separately, especially in shared cloud services. 
• Should be able to associate sub flows with devices. 
• ‘Server’ nodes must run on a server, ‘Device’ nodes on a specific 
device, ‘Mobile’ nodes on most appropriate device. 
• Local wires for nodes on same device, remote wires between 
devices. 
• Need easy way to distribute (sub)flows between devices. 
• Ideally, should be able to visualize these extensions and 
execution. 
11
Work To Date 
12 
Device boxes 
visualize device 
association 
Device Selector to 
specify device sub flows Import Flow from 
Master Device 
Extend all nodes 
with deviceId. 
Extend flow parser to 
insert ‘remote wires’ 
between devices
Flow Deployment 
13 
MQTT Broker 
Server 
send to ‘remote 
wire’ topic 
Presence Sensor 
send to ‘remote wire’ 
topic 
listen on ‘remote 
wire’ Node topic 
TV Controller 
remote wire topic is generated 
using connected node ids
Conclusions 
• Processor, Node-RED and others demonstrate that 
visual data flows are a useful programming model 
for developing IoT applications. 
• Web based distributed data flow promising for 
coordinating multiple ‘things’. 
• Raises many questions around programming 
model, implementation, security and heuristics. 
• Looking for collaborators! 
14
Thanks 
• Code: https://github.com/mblackstock/node-red 
(default experimental branch) 
• Node-RED: IBM and authors/contributors 
! ! ! http://nodered.org/! 
• WoTKit Processor: Sense Tecnic Systems 
! ! ! http://sensetecnic.com 
15

Contenu connexe

Tendances

AMP Kynetics - ELC 2018 Portland
AMP  Kynetics - ELC 2018 PortlandAMP  Kynetics - ELC 2018 Portland
AMP Kynetics - ELC 2018 PortlandKynetics
 
Hyper-Converged Infrastructure: Concepts
Hyper-Converged Infrastructure: ConceptsHyper-Converged Infrastructure: Concepts
Hyper-Converged Infrastructure: ConceptsNick Scuola
 
Hybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAILHybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAILDavid Pasek
 
Accelerating Innovation from Edge to Cloud
Accelerating Innovation from Edge to CloudAccelerating Innovation from Edge to Cloud
Accelerating Innovation from Edge to CloudRebekah Rodriguez
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDxCentral
 
Apache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex HuangApache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex Huangbuildacloud
 
Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 8Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 8Kangaroot
 
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming SystemGamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming SystemAcademia Sinica
 
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super AffordableSupermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super AffordableRebekah Rodriguez
 
Container based android
Container based androidContainer based android
Container based androidLihan Chen
 
Fisheye based Perception for Autonomous Driving VI
Fisheye based Perception for Autonomous Driving VIFisheye based Perception for Autonomous Driving VI
Fisheye based Perception for Autonomous Driving VIYu Huang
 
OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)Jooho Lee
 
ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入Hiroki Tamiya
 
Final draft intel core i5 processors architecture
Final draft intel core i5 processors architectureFinal draft intel core i5 processors architecture
Final draft intel core i5 processors architectureJawid Ahmad Baktash
 
HPE Solutions for Challenges in AI and Big Data
HPE Solutions for Challenges in AI and Big DataHPE Solutions for Challenges in AI and Big Data
HPE Solutions for Challenges in AI and Big DataLviv Startup Club
 

Tendances (20)

Xen Memory Management
Xen Memory ManagementXen Memory Management
Xen Memory Management
 
AMP Kynetics - ELC 2018 Portland
AMP  Kynetics - ELC 2018 PortlandAMP  Kynetics - ELC 2018 Portland
AMP Kynetics - ELC 2018 Portland
 
Hyper-Converged Infrastructure: Concepts
Hyper-Converged Infrastructure: ConceptsHyper-Converged Infrastructure: Concepts
Hyper-Converged Infrastructure: Concepts
 
Hybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAILHybrid cloud overview and VCF on VxRAIL
Hybrid cloud overview and VCF on VxRAIL
 
Accelerating Innovation from Edge to Cloud
Accelerating Innovation from Edge to CloudAccelerating Innovation from Edge to Cloud
Accelerating Innovation from Edge to Cloud
 
Ceph issue 해결 사례
Ceph issue 해결 사례Ceph issue 해결 사례
Ceph issue 해결 사례
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined Networking
 
Node-Red
Node-RedNode-Red
Node-Red
 
Apache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex HuangApache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex Huang
 
Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 8Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 8
 
GamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming SystemGamingAnywhere: An Open Cloud Gaming System
GamingAnywhere: An Open Cloud Gaming System
 
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super AffordableSupermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
Supermicro AI Pod that’s Super Simple, Super Scalable, and Super Affordable
 
12. End user devices.pptx
12. End user devices.pptx12. End user devices.pptx
12. End user devices.pptx
 
Container based android
Container based androidContainer based android
Container based android
 
Fisheye based Perception for Autonomous Driving VI
Fisheye based Perception for Autonomous Driving VIFisheye based Perception for Autonomous Driving VI
Fisheye based Perception for Autonomous Driving VI
 
OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)
 
ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入ゲームインフラコンテナ実践導入
ゲームインフラコンテナ実践導入
 
Final draft intel core i5 processors architecture
Final draft intel core i5 processors architectureFinal draft intel core i5 processors architecture
Final draft intel core i5 processors architecture
 
HPE Solutions for Challenges in AI and Big Data
HPE Solutions for Challenges in AI and Big DataHPE Solutions for Challenges in AI and Big Data
HPE Solutions for Challenges in AI and Big Data
 
Embedded Hypervisor for ARM
Embedded Hypervisor for ARMEmbedded Hypervisor for ARM
Embedded Hypervisor for ARM
 

Similaire à Distributed Data Flow for the Web of Things: Distributed Node-RED

FRED: A Hosted Data Flow Platform for the IoT
FRED: A Hosted Data Flow Platform for the IoTFRED: A Hosted Data Flow Platform for the IoT
FRED: A Hosted Data Flow Platform for the IoTMichael Blackstock
 
Using Node-RED for building IoT workflows
Using Node-RED for building IoT workflowsUsing Node-RED for building IoT workflows
Using Node-RED for building IoT workflowsAniruddha Chakrabarti
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014mestery
 
IoT Node-Red Presentation
IoT  Node-Red PresentationIoT  Node-Red Presentation
IoT Node-Red PresentationThe IOT Academy
 
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...Weijun Qin
 
Internet of Things 101 - For software engineers
Internet of Things 101 - For software engineersInternet of Things 101 - For software engineers
Internet of Things 101 - For software engineersKashif Ali Siddiqui
 
Collaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled CloudCollaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled CloudTesora
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014Hojoong Kim
 
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATI
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATIIot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATI
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATIVenkatRaoJ
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightabhijit2511
 
Webofthing_WOT_vs_IOT.pptx
Webofthing_WOT_vs_IOT.pptxWebofthing_WOT_vs_IOT.pptx
Webofthing_WOT_vs_IOT.pptxjainam bhavsar
 
REMOWZ - Realtime Water Quality Monitoring using ZigBee based WSN (Part II)
REMOWZ - Realtime Water Quality Monitoring using ZigBee based WSN (Part II)REMOWZ - Realtime Water Quality Monitoring using ZigBee based WSN (Part II)
REMOWZ - Realtime Water Quality Monitoring using ZigBee based WSN (Part II)Nitin Balakrishnan
 
An IoT System with Remote Reconfigurable Wireless Sensor Network Nodes and it...
An IoT System with Remote Reconfigurable Wireless Sensor Network Nodes and it...An IoT System with Remote Reconfigurable Wireless Sensor Network Nodes and it...
An IoT System with Remote Reconfigurable Wireless Sensor Network Nodes and it...Takashi Yamanoue
 

Similaire à Distributed Data Flow for the Web of Things: Distributed Node-RED (20)

FRED: A Hosted Data Flow Platform for the IoT
FRED: A Hosted Data Flow Platform for the IoTFRED: A Hosted Data Flow Platform for the IoT
FRED: A Hosted Data Flow Platform for the IoT
 
Using Node-RED for building IoT workflows
Using Node-RED for building IoT workflowsUsing Node-RED for building IoT workflows
Using Node-RED for building IoT workflows
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
 
Chapter - 1.pptx
Chapter - 1.pptxChapter - 1.pptx
Chapter - 1.pptx
 
IoT Node-Red Presentation
IoT  Node-Red PresentationIoT  Node-Red Presentation
IoT Node-Red Presentation
 
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
 
Internet of Things 101 - For software engineers
Internet of Things 101 - For software engineersInternet of Things 101 - For software engineers
Internet of Things 101 - For software engineers
 
Collaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled CloudCollaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled Cloud
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATI
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATIIot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATI
Iot unit i present by JAVVAJI VENKATRAO SVEC,TIRUPATI
 
Iot unit i
Iot unit iIot unit i
Iot unit i
 
IoT heap 1
IoT heap 1IoT heap 1
IoT heap 1
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 
Webofthing_WOT_vs_IOT.pptx
Webofthing_WOT_vs_IOT.pptxWebofthing_WOT_vs_IOT.pptx
Webofthing_WOT_vs_IOT.pptx
 
Remote Web Desk
Remote Web DeskRemote Web Desk
Remote Web Desk
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
DesignofSDNmanageableswitch.pdf
DesignofSDNmanageableswitch.pdfDesignofSDNmanageableswitch.pdf
DesignofSDNmanageableswitch.pdf
 
REMOWZ - Realtime Water Quality Monitoring using ZigBee based WSN (Part II)
REMOWZ - Realtime Water Quality Monitoring using ZigBee based WSN (Part II)REMOWZ - Realtime Water Quality Monitoring using ZigBee based WSN (Part II)
REMOWZ - Realtime Water Quality Monitoring using ZigBee based WSN (Part II)
 
BuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdfBuildingSDNmanageableswitch.pdf
BuildingSDNmanageableswitch.pdf
 
An IoT System with Remote Reconfigurable Wireless Sensor Network Nodes and it...
An IoT System with Remote Reconfigurable Wireless Sensor Network Nodes and it...An IoT System with Remote Reconfigurable Wireless Sensor Network Nodes and it...
An IoT System with Remote Reconfigurable Wireless Sensor Network Nodes and it...
 

Plus de Michael Blackstock

CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsMichael Blackstock
 
iot-and-smart-cities-lea-blackstock
iot-and-smart-cities-lea-blackstockiot-and-smart-cities-lea-blackstock
iot-and-smart-cities-lea-blackstockMichael Blackstock
 
IoT Interoperability: a Hub-based Approach
IoT Interoperability: a Hub-based ApproachIoT Interoperability: a Hub-based Approach
IoT Interoperability: a Hub-based ApproachMichael Blackstock
 
WoTKit: a Lightweight Toolkit for the Web of Things
WoTKit: a Lightweight Toolkit for the Web of ThingsWoTKit: a Lightweight Toolkit for the Web of Things
WoTKit: a Lightweight Toolkit for the Web of ThingsMichael Blackstock
 

Plus de Michael Blackstock (8)

CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applications
 
iot-and-smart-cities-lea-blackstock
iot-and-smart-cities-lea-blackstockiot-and-smart-cities-lea-blackstock
iot-and-smart-cities-lea-blackstock
 
IoT Interoperability: a Hub-based Approach
IoT Interoperability: a Hub-based ApproachIoT Interoperability: a Hub-based Approach
IoT Interoperability: a Hub-based Approach
 
WoT 2013 Thingbroker
WoT 2013 ThingbrokerWoT 2013 Thingbroker
WoT 2013 Thingbroker
 
WoT 2013 Interop
WoT 2013 InteropWoT 2013 Interop
WoT 2013 Interop
 
Wo t 2013-thingbroker
Wo t 2013-thingbrokerWo t 2013-thingbroker
Wo t 2013-thingbroker
 
WoTKit: a Lightweight Toolkit for the Web of Things
WoTKit: a Lightweight Toolkit for the Web of ThingsWoTKit: a Lightweight Toolkit for the Web of Things
WoTKit: a Lightweight Toolkit for the Web of Things
 
Blackstock wo t 2011
Blackstock wo t 2011Blackstock wo t 2011
Blackstock wo t 2011
 

Dernier

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Dernier (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Distributed Data Flow for the Web of Things: Distributed Node-RED

  • 1. Toward a Distributed Data Flow Platform for the Web of Things (Distributed Node-RED) Michael Blackstock, Rodger Lea Human Communication Technologies Lab Electrical and Computer Engineering Department University of British Columbia
  • 2. Motivation • Common IoT scenarios require real time interaction between things, but application development can be difficult: • integration, variety of protocols and APIs and programming environments. • New web-based tools and platforms have emerged for rapid development e.g. WoTKit and Node-RED • Current platforms host applications on a single device/ server. • Exploration of distributed data flow for the Web of Things 2
  • 3. Data Flow Architectures • Initially to support massive parallelism, then software engineering • natural visual representation: nodes and arcs. • move more easily between design and implementation • can reduce development time • some evidence that they are easier for non-programmers 3
  • 4. Server Distributed Data Flow Twitter Input Command Parser Presence Sensor TV Controller Text Filter User Sensor Presence Monitor 4 Command Receiver TV Controller
  • 5. WoTKit Processor • Multi user service, bundled with WoTKit platform* • Real time data processing, alerting • Browser-based visual pipe editor: modules are connected by wires to form pipes • Pipe management page to manage execution. • Separate script editor window for creating new modules. * Blackstock, M.; Lea, R., "IoT mashups with the WoTKit," Internet of Things (IOT) Conference, 2012, 24-26 Oct. 2012, Wuxi, China 5
  • 6. WoTKit Processor • Input modules • Sensor, Twitter inputs • Functions • Threshold, Scripting • Outputs • Debugging/Monitoring • Email, Actuator control • Script modules interact with flow using input, output and module state dictionaries. 6
  • 7. Processor Architecture • ‘Pipes’ are stored as JSON in database associated with users. • On ‘start’, JSON pipe is parsed, module instances (beans) are created in memory, wires added to global Routing Table. • Input modules add messages to execution queue. • Scheduler looks up downstream module endpoint from endpoint ‘Routing Table’. • Creates task using module (bean) and message for execution using thread pool. • Pipes from multiple users can be added or removed from scheduler and routing table any time without restarting. 7
  • 9. Node RED Architecture Nodes • Single flow stored per instance in file system • On deploy, JSON flow is parsed, nodes instantiated and wired up directly. • Each node has a connection to downstream nodes. Node.js EventEmitter API to manage listeners. • By calling EventEmitter API, rather than downstream node directly, uses Node.js’ single threaded Event Loop. • Worker threads are created for long running async operations (e.g. I/O). • All ‘tabs’ are part of a single flow. 1. lookup next node(s) 9 Nodes Nodes 2. emit events Event Loop (single thread) 5. return results 4. return results 3. do work Non-blocking worker threads Based on http://www.aaronstannard.com/post/ 2011/12/14/Intro-to-NodeJS-for-NET-Developers.aspx
  • 10. Analysis User Interface! • Both have an easy to use web based visual programming environment • Multi-user system separates pipe/flow management from editor. • Both use monitor nodes to view execution Architecture! • Need a way to manage, stop and start pipes in a multi-user system. • Need system that is suitably ‘light weight’ for small devices. • nodes may have state; Node-RED supports global flow state. • Neither are distributed Extensibility/Community/Sharing! • should be easy to extend. • Sharing pipes/flows and modules/nodes is critical to support community of users 10
  • 11. Distributed Data Flow Model • Multi-user system - flows and devices need ‘owners’ to be managed separately, especially in shared cloud services. • Should be able to associate sub flows with devices. • ‘Server’ nodes must run on a server, ‘Device’ nodes on a specific device, ‘Mobile’ nodes on most appropriate device. • Local wires for nodes on same device, remote wires between devices. • Need easy way to distribute (sub)flows between devices. • Ideally, should be able to visualize these extensions and execution. 11
  • 12. Work To Date 12 Device boxes visualize device association Device Selector to specify device sub flows Import Flow from Master Device Extend all nodes with deviceId. Extend flow parser to insert ‘remote wires’ between devices
  • 13. Flow Deployment 13 MQTT Broker Server send to ‘remote wire’ topic Presence Sensor send to ‘remote wire’ topic listen on ‘remote wire’ Node topic TV Controller remote wire topic is generated using connected node ids
  • 14. Conclusions • Processor, Node-RED and others demonstrate that visual data flows are a useful programming model for developing IoT applications. • Web based distributed data flow promising for coordinating multiple ‘things’. • Raises many questions around programming model, implementation, security and heuristics. • Looking for collaborators! 14
  • 15. Thanks • Code: https://github.com/mblackstock/node-red (default experimental branch) • Node-RED: IBM and authors/contributors ! ! ! http://nodered.org/! • WoTKit Processor: Sense Tecnic Systems ! ! ! http://sensetecnic.com 15