Distributed Building Controllers for On-Premise Computation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in performing complex, resource-intensive computations on-premise due to limited resources, especially in environments with unreliable network connectivity or 'air-gapped' installations, where offloading processing to a data center is not feasible.
Innovation Solution
A distributed computation method is deployed across multiple on-premise controllers that coordinate to distribute workloads, utilizing a combined resource pool for complex computations while minimizing network traffic through deduplication techniques, enabling sophisticated control and processing without relying on constant network connectivity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If multiple controllers are deployed to distribute computations, then processing capacity and control sophistication are improved, but device complexity and network communication overhead increase
Solution Approach 1:
The patent divides the building automation system into multiple independent controllers, each capable of performing computations locally. This segmentation allows processing capacity to be distributed across multiple devices rather than concentrated in a single complex controller, thereby improving overall processing power while managing system complexity through modular architecture.
Solution Approach 2:
The patent combines the computational resources of multiple controllers to create a distributed computing cluster. By merging the processing capabilities of individual controllers through peer-to-peer communication and coordinated computation, the system achieves sophisticated control capabilities that would be impossible for a single controller, while maintaining manageable complexity at each node.
2Adaptability or versatility
If complex computations are performed on-premise, then control sophistication and autonomy are improved, but resource consumption and processing load increase
Solution Approach 1:
The patent segments complex computational tasks into smaller sub-tasks that can be distributed across multiple controllers. Each controller performs only the computations necessary for its local zone, reducing the resource consumption at any single device while collectively achieving sophisticated control capabilities through coordinated processing of divided tasks.
Solution Approach 2:
The patent implements partial action by having each controller perform only the subset of computations relevant to its local building zone rather than all computations. This approach reduces resource consumption at each device to only what is necessary, while the aggregate effect across all controllers achieves the full sophistication required for autonomous building-wide control.
3Extent of automation
If data structures are transmitted to each controller for distributed work, then processing autonomy is improved, but network traffic and communication load increase
Solution Approach 1:
The patent extracts and transmits only the essential data elements required for distributed computation rather than complete data structures. By taking out only the necessary portions of data needed for each controller's local processing, the system maintains processing autonomy at each node while significantly reducing network traffic and communication overhead.
Solution Approach 2:
The patent performs preliminary data preparation and filtering before transmission, so that only the data elements actually needed for distributed computation are sent to controllers. This preliminary action reduces network traffic by eliminating unnecessary data transmission, while still providing each controller with sufficient information to perform its autonomous processing tasks.
Data Source
AI summary
Various embodiments relate to a method, apparatus, and machine-readable storage medium including one or more of the following: identifying a chunk of computer code from a larger process to be executed as a distributed computation; creating a job request specifying the chunk of computer code and data on which the chunk of computer code is to operate; selecting a device from a plurality of devices to process the job request; transmitting the job request to the selected device; receiving a job result from the selected device; continuing the larger process based on the job result.


