Schema Registry for Data Object Version Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed systems, the complexity of interactions between components increases with the growth of operations, making it difficult to understand and manage data exchanges between different components, particularly when modifications or additions are made, leading to potential disruptions in system performance.

Innovation Solution

Implementing a data management system that utilizes a schema registry to store and translate different versions of data object schemas, allowing for seamless communication between data producers and consumers by applying operations, transformations, and modifications to ensure compatibility and prevent disruptions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple versions of data object schemas are supported for different components, then adaptability and extensibility improve, but system complexity and difficulty of managing data exchanges increase

Engineering Contradiction:
Improveschema version compatibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a schema registry as an intermediary component that stores and manages multiple versions of data object schemas. This registry acts as a central repository that both data producers and data consumers can query to obtain the appropriate schema versions, thereby mediating the complexity of managing multiple schema versions across the distributed system without requiring each component to directly handle version compatibility logic

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-registering and storing multiple versions of data object schemas in the schema registry before they are needed for data exchange. This allows components to query and obtain the correct schema version in advance, avoiding runtime complexity and enabling seamless upgrades without breaking existing data consumers

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If schema modifications are made to support new operations, then system functionality improves, but understanding and managing data exchanges becomes more difficult

Engineering Contradiction:
Improvesystem functionalityVSAvoiddata exchange management
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The schema registry provides feedback mechanisms by allowing data consumers to query the registry to obtain information about available schema versions and their compatibility relationships. This feedback enables components to make informed decisions about which schema version to use, reducing the difficulty of managing data exchanges while supporting new operations and schema evolutions

Inventive Principle:
Principle #23Feedback

3Productivity

If data object schemas are updated to add new features, then system capabilities improve, but disruptions to existing applications may occur

Engineering Contradiction:
Improvesystem capabilitiesVSAvoidapplication stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The schema registry enables preliminary action by storing multiple versions of data object schemas before updates are deployed. Data consumers can query the registry to obtain the appropriate schema version that maintains compatibility with their existing applications, allowing new features to be added to the system without disrupting existing functionality

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides beforehand cushioning by maintaining historical schema versions in the registry that can be referenced by data consumers. This creates a buffer that protects existing applications from breaking changes, as consumers can continue to use older schema versions while the system evolves to support new features with updated schemas

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS20230095852A1Translating between versions of data object schemas for data producers and data consumers
Publication Date: 2023.03.30 AMAZON TECH INC
  • US20230095852A1 patent drawing
  • US20230095852A1 patent drawing
  • US20230095852A1 patent drawing

AI summary

Translations between versions of data object schemas may be performed between data object producers and data object consumers. A request to update a data object may be an update according to an additional version of a schema applicable to the data object from an existing version of a schema. The data object may be provided by one component of a distributed system. A trigger event may be detected to send the data object to a different component of the distributed system. The data object may be translated from the additional version to the existing version and sent to the different component.