node-red-contrib-decentralized-computation
v0.0.2
Published
Nodes for Decentralized Flow Execution with Edge Devices (micropython)
Downloads
5
Maintainers
Readme
node-red-contrib-decentralized-computation
Decentralized Computation extensions for Node-RED.
This package provides a platform to distribute the computation of Node-RED flows across edge devices. It introduces an Orchestrator node capable of decomposing and allocating the nodes to multiple IoT devices. Each node is capable of generating its own Micropython code that is to be installed in the edge device running a custom-made firmware.
This platform provides a resilient and decentralized orchestration mechanism capable of handling devices failures in real-time by reallocating the tasks. When it is not possible to allocate a node to a device, due to physical constraints, we introduced a fallback mechanism that allows the user to define an alternative flow to when a specific node fails.
This work is part of a master thesis in Software Engineering and Internet-of-Things by Pedro Costa at the Faculty of Engineering, University of Porto (FEUP). Work supervised by Prof. Hugo Sereno Ferreia and Prof. André Restivo. With collaboration of João Pedro Dias.
This work is at an early development stage!
Example Usage
Development
- Installing Node-RED (Official Docs): https://nodered.org/docs/getting-started/
Installing node-red-contrib-decentralized-computation for development
- Clone or download this repository.
- In your node-red user directory, typically ~/.node-red (in Windows something like
C:\Users\<my_name>\.node_red
), run:npm install <path_to_downloaded_folder>/node-red-contrib-decentralized-computation
- Start (or restart) Node-RED.
- Nodes should be available under the
orchestrator
andmicropython
tabs of the node palette.