Local Coordinator for IoT Device Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in managing and coordinating embedded devices or 'Internet-of-Things' (IoT) devices with limited local user interfaces, particularly due to latency issues and privacy concerns when communicating over external or public networks.
Innovation Solution
A coordinator is introduced within a localized environment to enable remote management of IoT devices, utilizing a localized on-demand code execution system that executes portable code segments, or 'tasks', to manage device states and communications, and employs device shadows for decoupling state requests from actual communications, allowing for reduced reliance on external networks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If remote management is implemented over external or public networks, then management capability is provided, but latency increases and privacy risks arise
Solution Approach 1:
A local coordinator device is introduced as an intermediary between embedded devices and external networks. The coordinator receives management requests from remote devices, processes them locally, and executes tasks without requiring constant external network communication. This mediator approach enables remote management capability while reducing latency by handling operations locally rather than over slow external networks.
2Ease of operation
If remote management is implemented over external or public networks, then management capability is provided, but privacy risks increase
Solution Approach 1:
The local coordinator acts as a privacy-protecting intermediary that receives and processes management requests locally. Sensitive device information and control commands are handled within the local network environment rather than being transmitted over public networks, thereby reducing privacy risks while maintaining remote management capability through the coordinator's interface.
Solution Approach 2:
The system implements local processing of management operations through the coordinator device within the local network. By keeping sensitive operations local rather than centralized in remote servers or transmitted over public networks, the system maintains management capability while reducing exposure to privacy risks associated with external network communication.
3Stability of the object's composition
If device states are directly synchronized with external systems, then state consistency is maintained, but network dependency increases
Solution Approach 1:
The coordinator maintains local copies of device states and shadows within the local network environment. Instead of directly synchronizing with external systems, the coordinator creates and manages local representations of device states, enabling state consistency to be maintained through local coordination rather than direct external network dependency.
4Adaptability or versatility
If code execution is performed remotely, then task flexibility is provided, but execution latency increases
Solution Approach 1:
The coordinator serves as a local intermediary that receives task execution requests, processes code locally, and executes tasks within the local network environment. This local code execution capability provides task flexibility through the coordinator's processing power while eliminating the latency associated with remote code execution over external networks.
Data Source
AI summary
Systems and methods are described for implementing a coordinator within a coordinated environment, which environment includes set of coordinated devices managed by the coordinator. The coordinator can be provisioned with a set of tasks, each task corresponding to a segment of code that can be executed by the coordinator, such as to manage the coordinated devices. To assist in execution of the tasks, the coordinator can include a resource manager that generates execution environments corresponding to an individual task execution, which environments may be isolated from other execution environments. The coordinator can further include a scheduler to obtain calls to execute tasks, and implement a queue from which to select tasks for execution. On selecting a task, the scheduler may interact with the resource manager to generate an execution environment for the task, and cause execution of the task within the execution environment.


