Distributed Resource Model for Home Automation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed computing systems, particularly in home automation, face challenges in providing real-time, low-latency access to device attributes and controls, especially for battery-powered devices that sleep frequently, and in ensuring reliable communication between devices without relying on cloud services, while also managing resource conflicts and interdependencies.
Innovation Solution
A distributed resource model that allows controllers to subscribe to and modify traits of resources, enabling real-time data management and control, and facilitates migration of controllers between hosts to ensure regulatory compliance and system reliability, using a publish-subscribe mechanism for traits across the distributed computing system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If battery-powered devices sleep frequently to conserve energy, then energy consumption is reduced, but real-time access to device attributes and controls deteriorates
Solution Approach 1:
The patent introduces a hub device as an intermediary that maintains persistent connections and caches device attributes locally. When sleeping devices need to be accessed, the hub acts as a mediator that can provide attribute information without waking the sleeping device, thus maintaining real-time access capability while preserving energy savings.
Solution Approach 2:
The system performs preliminary actions by pre-caching device attributes and maintaining connection state information at the hub device before the sleeping device needs to communicate. This allows the hub to respond to access requests immediately without requiring the sleeping device to be awake, resolving the contradiction between energy saving and real-time access.
2Reliability
If controllers are distributed across multiple hosts to improve system reliability, then system reliability improves, but device complexity increases
Solution Approach 1:
The patent segments the controller functionality across multiple hosts (edge devices, hub devices, and cloud services). Each host handles specific controller instances for particular devices, distributing the complexity while maintaining reliability. The segmentation allows failure isolation where one host's controller failure doesn't affect others.
Solution Approach 2:
The hub device serves as an intermediary coordinator that manages controller instances distributed across multiple hosts. It handles the complexity of controller distribution, migration, and coordination centrally, while allowing individual hosts to maintain simpler local controller functionality. This mediator approach resolves the contradiction by centralizing management complexity while distributing execution.
3Reliability
If cloud services are used for resource management, then resource availability improves, but communication reliability without cloud reliance deteriorates
Solution Approach 1:
The patent implements local quality by enabling hub devices and edge devices to cache and manage device attributes and controller instances locally. This allows the system to operate with full resource management capability in local mode without cloud dependency, while still maintaining the option to use cloud services when available. Each device has differentiated capabilities based on its local resources.
Solution Approach 2:
The system dynamically adapts between cloud-dependent and cloud-independent operation modes. Controllers can be migrated between local and cloud hosts based on availability requirements. The hub device can switch between querying local cached attributes and requesting cloud-based resources, providing dynamic adaptability that resolves the contradiction between cloud resource availability and communication independence.
Data Source
AI summary
A distributed resource model is described that maintains traits of resources in a distributed computing system. The traits include properties, commands, and events that, along with protocols operating in the distributed computing system, provide real-time access to the traits of resources in the distributed computing system, as well as real-time command of controls for the resources. Controllers manage and publish the traits of resources and provide various types of functionality, such as arbitration, complexity management, fan-out of capabilities, coordination, adaptation, and resource proxying.


