Adaptive Data Dictionary for Secure Software Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current security control panel software updates face challenges in restoring configuration data due to format incompatibilities between different software versions, leading to incomplete data restoration and the need for manual intervention and code overhead.

Innovation Solution

The implementation of an adaptive data dictionary and self-describing data structure, using the SPI protocol, allows configuration data to be stored in a platform-independent format, enabling automatic conversion and restoration without external intervention, through the use of an SPI key that describes the data format and applies necessary conversions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If configuration data is stored in version-specific formats to maintain data integrity for each software version, then data reliability is improved, but device complexity increases due to the need for multiple format versions and conversion mechanisms

Engineering Contradiction:
Improvedata integrityVSAvoiddata format management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The data dictionary is made dynamic and adaptive, automatically adjusting to different software versions through self-description mechanisms. The system can dynamically interpret and convert configuration data between versions without requiring static, version-specific format definitions, thus maintaining reliability while reducing the complexity of managing multiple fixed formats.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameters of the data storage system by introducing self-describing data structures that include version information and format metadata. This allows the system to adapt to parameter changes in different software versions automatically, maintaining data integrity across versions without requiring complex manual format management.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If manual intervention is used to convert configuration data between software versions, then data accuracy is improved, but loss of time increases due to manual conversion processes

Engineering Contradiction:
Improvedata accuracyVSAvoidconversion time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system implements self-service through automated conversion mechanisms. The self-describing data structures enable the system to automatically identify version differences and perform conversions without manual intervention, maintaining data accuracy through built-in validation rules while eliminating the time loss associated with manual conversion processes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention applies preliminary action by pre-defining conversion rules and data structures that anticipate version changes. The self-describing format includes embedded metadata that prepares the system for conversion in advance, allowing automated and accurate conversion to occur seamlessly when version updates happen, without requiring time-consuming manual processes.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If external tools are used to manage configuration data updates, then adaptability is improved, but device complexity increases due to additional software components

Engineering Contradiction:
Improvesoftware update capabilityVSAvoidsystem architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The data dictionary is designed with universal, self-describing data structures that can handle multiple software versions and configuration formats through a single unified mechanism. This eliminates the need for separate external tools for each version, providing adaptability across versions while reducing overall system complexity by consolidating functionality into the core data structure.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The self-describing data structure acts as an intermediary between different software versions. It mediates the conversion process by automatically interpreting version-specific formats and translating them into a universal internal representation, providing adaptability without requiring complex external translation tools or additional software components.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If configuration data structures are updated to match new software versions, then data compatibility is improved, but loss of time increases due to required code updates

Engineering Contradiction:
Improveversion compatibilityVSAvoidupdate maintenance time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The data structure is made dynamic and self-adapting through self-description mechanisms. When software versions are updated, the system automatically detects version changes through embedded metadata and adjusts the data interpretation accordingly, maintaining compatibility without requiring time-consuming manual code updates to the data structure definitions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs self-service by automatically updating its own data interpretation logic when version changes are detected. The self-describing data structures include version information that triggers automatic adaptation, eliminating the need for manual code updates and reducing maintenance time while maintaining data compatibility across versions.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7689632B2Adaptive data dictionary language, extendable for a security system
Publication Date: 2010.03.30 RESIDEO USA LLC
  • US7689632B2 patent drawing
  • US7689632B2 patent drawing
  • US7689632B2 patent drawing

AI summary

A system, method and computer program product for storing configuration data for use in configuring a device while a program utilizing the configuration data is undergoing a revision at the device. The method includes a first step of providing a data structure indicating a manner in which configuration data is to be stored, and storing the data structure and current configuration data according to the data structure. Then, a revised software program in the device may identify the data structure and access a particular configuration data, along with its format; and, apply a conversion function that translates the stored current configuration data to a format compatible for use by the revised software. This is accomplished in a manner such that no configuration data is corrupted. The data structure includes data self describing the stored current configuration data, such that a conversion function can easily access the self describing information and render the stored configuration data platform independent.