Distributed Storage Query Result Object Versioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face inefficiencies in providing continuous and updated data views to clients, as clients currently need to periodically re-execute SQL queries and manage updates independently, leading to delayed data updates and increased server workload.

Innovation Solution

The object storage query protocol is expanded to enable automatic re-execution of queries with parameters like duration, aggregation, and re-execution frequency, allowing the distributed storage system to manage and transmit updated result objects efficiently, using caching and version tracking to optimize processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If clients periodically re-execute SQL queries to get updated data, then data freshness is improved, but server workload increases and processing time is lost

Engineering Contradiction:
Improvedata freshnessVSAvoidserver workload
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The system pre-executes queries and stores results in result objects with version tracking before clients need the data. When data changes occur, the system automatically detects these changes and re-executes only the affected queries, rather than waiting for clients to periodically request updates. This preliminary preparation and proactive update mechanism reduces both data staleness and redundant processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where data changes are detected and trigger automatic query re-execution. The version tracking system monitors when data objects are modified, and this feedback information is used to determine which result objects need updating. This closed-loop feedback reduces server workload by only re-processing data that has actually changed, rather than periodic full re-executions.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If clients independently manage query re-execution, then client control is improved, but data update timeliness deteriorates

Engineering Contradiction:
Improveclient controlVSAvoiddata update timeliness
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system enables self-service by allowing clients to subscribe to result objects and receive automatic updates when data changes. The server autonomously monitors data modifications, re-executes affected queries, and pushes updated result objects to clients without requiring client intervention. This maintains client control over which data they receive while eliminating delays associated with manual re-execution scheduling.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system establishes continuous monitoring of data changes through version tracking mechanisms. Instead of discrete periodic queries from clients, the system continuously detects data modifications and maintains up-to-date result objects ready for immediate transmission to subscribed clients. This continuous action ensures data freshness without requiring active client participation in the update process.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If full query results are re-processed on every update, then data accuracy is improved, but processing time increases

Engineering Contradiction:
Improvedata accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments result objects into multiple portions and tracks versions for each portion independently. When data changes occur, only the affected portions are re-processed and updated, while unchanged portions retain their existing data. This segmentation maintains data accuracy for updated portions while significantly reducing overall processing time by avoiding re-processing of unchanged data segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by differentiating between updated and non-updated portions of result objects. Each portion receives appropriate treatment: updated portions are re-processed to ensure accuracy, while non-updated portions are preserved as-is. This localized processing approach maintains data accuracy where needed while minimizing unnecessary processing elsewhere, directly reducing overall processing time.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11748364B2Scalable object stream query for objects in a distributed storage system
Publication Date: 2023.09.05 RED HAT LLC
  • US11748364B2 patent drawing
  • US11748364B2 patent drawing
  • US11748364B2 patent drawing

AI summary

Systems and methods for providing scalable object storage query capabilities in a distributed storage system are disclosed. In one implementation, a processing device may receive, by an object-based distributed storage system, a request from a client to execute a query with respect to data stored at the distributed storage system. The processing device may execute the query to produce a result object and may store the result object at the distributed storage system. The processing device may further transmit the result object to the client. The processing device may re-execute the query at a subsequent point in time to update the result object and transmit the updated result object to the client.