Database Querying via Partial Order Traversal and Version Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database querying methods lack efficient mechanisms for transactional data operations on encrypted data items across a network, particularly in ensuring data integrity and security without compromising the database by knowing cryptographic keys.

Innovation Solution

A method for querying a database that involves determining the initial version number of data items, traversing a partially ordered set to identify the desired data item, performing operations transactionally, and updating the version number, ensuring data integrity through version number checks and aborting operations if the data is outdated, while maintaining encryption and using standard database techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data items are stored encrypted in the database, then data security is improved, but the ability to perform standard database querying operations deteriorates

Engineering Contradiction:
Improvedata securityVSAvoidquerying capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies preliminary action by pre-processing data during insertion into the database. When data is inserted, it is transformed into an encrypted form using a hash function, and the encrypted version is stored in the database. This preliminary encryption action enables subsequent querying operations to be performed on the encrypted data without needing to decrypt it first, thus maintaining both security and queryability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the database traverses all data items to find a desired item, then data retrieval completeness is improved, but the time required for data retrieval increases

Engineering Contradiction:
Improvedata retrieval completenessVSAvoiddata retrieval time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-sorting data items during the data insertion phase. When data is inserted into the database, it is not only encrypted but also sorted according to a predefined order. This preliminary sorting action creates an ordered structure that enables efficient binary search operations during retrieval, reducing the time complexity from O(n) to O(log n) while maintaining complete data retrieval capability.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the database stores data in encrypted form, then data integrity is improved, but the complexity of data manipulation operations increases

Engineering Contradiction:
Improvedata integrityVSAvoidoperation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies mechanics substitution by replacing traditional decryption-based data manipulation mechanisms with hash-based comparison mechanisms. Instead of decrypting data to perform operations, the system uses hash functions to transform data into fixed-length encrypted representations that can be directly compared and manipulated. This substitution simplifies the operational complexity while maintaining data integrity, as all operations can be performed on the hashed values without needing to access the original plaintext data.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10635652B2Method for querying a database
Publication Date: 2020.04.28 COMPUGRP MEDICAL SE
  • US10635652B2 patent drawing
  • US10635652B2 patent drawing
  • US10635652B2 patent drawing

AI summary

The invention relates to method for querying a database stored on a server network, the server being coupled to the client computer via the network, wherein the database comprises a relation, the relation comprising data items, the data items forming a partially ordered set in the relation, the method comprising receiving at the client a request for a data operation on a desired data item, the method comprisinga. determining as an initial version number of the data items a currently valid version number of the data items,b. traversing, starting from an initial data item of the data items, the relation by repeatedly requesting by the client current data items from the database in order with respect to the partial order until the position of the desired data item or the desired data item itself is identified in the partially ordered set, wherein for each requesting the currently valid version number of the data items of the partially ordered set is determined, the traversing being aborted in case the currently valid version number is different from the initial version number,c. in case the traversing was completed, performing the data operation on the identified position of the desired data item or the desired data item itself,d. upon performing the data operation updating the currently valid version number to a new version number.