Database State Tree Branching via Write-Allocate Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face challenges in efficiently creating, querying, and comparing alternative states while maintaining time-travel properties and long transaction capabilities, particularly in creative authoring applications, due to resource-intensive re-building of data structures and high maintenance costs.

Innovation Solution

A computer-implemented method for creating a tree of database states by recovering an identified state, applying logged write events, and creating a new branch with a reference to the identified state, using a mapping table and descriptors to manage physical and logical page addresses, allowing branching capabilities at the storage layer without affecting existing data structures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data structures are re-built for each alternative state to enable version control and time-travel capabilities, then the capability to create and query alternative states is improved, but computing resources and memory usage increase significantly

Engineering Contradiction:
Improvecapability to create and query alternative statesVSAvoidcomputing resources and memory usage
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent uses write-allocate buffering where modified pages are copied to a buffer instead of immediately re-building entire data structures. This allows alternative states to be created by capturing page modifications in buffers, reducing the computational overhead while maintaining the ability to reconstruct past states.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent segments the database into pages and tracks modifications at the page level rather than re-building entire data structures. By dividing the database into manageable pages and using append-only logging for page modifications, the system enables efficient state recovery without the computational cost of reconstructing complete data structures.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If the database stores complete history of all modifications to enable time-travel and audit capabilities, then the ability to access past states is improved, but storage space and maintenance costs increase

Engineering Contradiction:
Improvehistory of modificationsVSAvoidstorage space
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary modification information (page images and write events) into an append-only log, rather than storing complete database states. This selective extraction captures the essential history needed for time-travel capabilities while minimizing storage requirements by omitting redundant data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses an append-only log structure where old log entries are discarded and new modifications are recovered by applying write events to base states. This approach enables history storage with minimal space by reusing base states and only preserving the incremental changes needed to reconstruct alternative states.

Inventive Principle:
Principle #34Discarding and recovering

3Adaptability or versatility

If the database system implements branching capabilities at the data structure layer, then version control functionality is improved, but device complexity and development costs increase

Engineering Contradiction:
Improvebranching capabilitiesVSAvoidsoftware development and maintenance costs
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements branching at the storage layer (append-only log) rather than the data structure layer. This dimensional shift moves version control functionality from the logical data structure level to the physical storage level, allowing multiple branches to share the same underlying data structures while maintaining version control through log-based state recovery.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11803450B2Creating a tree of database states
Publication Date: 2023.10.31 DASSAULT SYSTEMES SA
  • US11803450B2 patent drawing
  • US11803450B2 patent drawing
  • US11803450B2 patent drawing

AI summary

A computer implemented method for creating a tree of database states including accessing a database having at least one branch of database states, receiving at the database one or more write events that are applied to an identified state of the database, recovering the identified database state from the database, creating a new branch by creating a new patch as alternative state to the identified database state with a reference to the identified state.