BMS Data Access Router for Multi-Tier Storage Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity of data storage in building management systems due to the proliferation of different data types and dynamic changes in data storage devices poses challenges for application developers, making it difficult to anticipate the most recent version or fastest storage device when developing applications that rely on data inputs.

Innovation Solution

A multi-tiered data storage system is implemented, comprising an operational data store, a cache data store, and a reporting data store, with a data access router providing a consistent endpoint for applications. The router determines the availability of data objects in these stores, ensuring that the most recent version is stored in the cache and multiple values are maintained in the operational store, while the cache stores only the most recent value, and handles new data objects by writing them to both the cache and operational stores based on their capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple data stores are used to store BMS data, then data storage capability and redundancy are improved, but software complexity increases

Engineering Contradiction:
Improvedata storage redundancyVSAvoidsoftware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an abstraction layer that sits between the application and multiple data stores (operational data store, cache data store, reporting data store). This intermediary layer provides a unified interface and automatically manages data routing, caching strategies, and data consistency across multiple storage systems, thereby maintaining reliability while reducing the complexity visible to application developers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the data storage system into multiple specialized data stores, each optimized for specific purposes: operational data store for current operations, cache data store for frequently accessed data, and reporting data store for historical analysis. This segmentation allows each component to be independently optimized while the abstraction layer coordinates them, improving overall reliability without proportionally increasing complexity.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If data storage devices change dynamically, then storage flexibility and performance are improved, but difficulty in anticipating data location increases

Engineering Contradiction:
Improvestorage flexibilityVSAvoiddata location tracking
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The abstraction layer acts as an intermediary that transparently manages data location and movement across dynamically changing storage devices. It provides consistent access interfaces while handling the complexity of data routing, caching validity checks, and synchronization between operational and cache data stores, thereby maintaining adaptability while eliminating the need for applications to track data locations manually.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the cache data store continuously checks for the most recent version of data objects from the operational data store. When updates are detected, the cache is automatically invalidated or updated, ensuring data consistency without requiring applications to actively query or track data locations. This feedback loop maintains storage flexibility while automating data location management.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If cache data store stores only most recent value, then storage efficiency is improved, but data version tracking complexity increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidversion tracking complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system employs feedback mechanisms where the cache data store automatically validates whether stored data objects are still the most recent versions by checking against the operational data store. When a data object in the cache is found to be outdated, the cache is automatically updated or invalidated. This feedback-driven approach maintains storage efficiency by keeping only current data while automating version tracking, thereby reducing rather than increasing complexity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The cache data store implements self-service mechanisms to maintain data freshness. It autonomously monitors for updates from the operational data store, validates cached data objects, and performs self-updates or self-invalidations as needed. This self-service capability allows the system to maintain storage efficiency through selective caching while eliminating the need for complex external version tracking mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11526303B2Systems and methods for multi-tiered data storage abstraction layer
Publication Date: 2022.12.13 TYCO FIRE & SECURITY GMBH
  • US11526303B2 patent drawing
  • US11526303B2 patent drawing
  • US11526303B2 patent drawing

AI summary

A multi-tiered data storage system for building management system (BMS) data includes a plurality of data stores including a first data store and a second data store. The system further includes a data access router configured to provide a consistent endpoint for the BMS data to an application that provides or consumes the BMS data regardless of whether the BMS data is stored in the second data store or the first data store, obtain a requested data object of the BMS data from the second data store in response to a determination that the requested data object is available in the second data store, and obtain the requested data object from the first data store in response to a determination that the requested data object is not available in the second data store.