Distributed Storage Pluggable Query Adapters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing databases face limitations in supporting diverse application capabilities, struggling to encapsulate business logic and rules without excessive complexity or expense, leading to performance issues and user dissatisfaction when handling queries that are not native or optimized.

Innovation Solution

A distributed storage system employs adaptable query-processing techniques using predefined operations and indexes across multiple storage subsystems, allowing users to customize query processing without modifying the databases, thereby supporting a wide range of user needs and improving user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a database is configured to support all capabilities needed by multiple different applications, then the database can serve diverse applications, but the database complexity and expense increase excessively

Engineering Contradiction:
Improvecapability supportVSAvoiddatabase complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the database functionality by introducing pluggable adapters that separate the core database engine from application-specific query processing capabilities. Each adapter handles specific application requirements independently, allowing the database to support multiple applications without increasing core complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a universal adapter interface that allows different adapters to provide application-specific capabilities through a common framework. This enables a single database system to serve multiple applications with diverse requirements while maintaining a unified core architecture.

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

2Speed

If a database is optimized for native queries, then query performance is improved, but queries from applications with different formats or business logic cannot be supported efficiently

Engineering Contradiction:
Improvequery performanceVSAvoidquery format support
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The pluggable adapter acts as an intermediary between applications and the database engine. It translates application-specific query formats and business logic into database-native queries, enabling efficient query processing while supporting diverse application requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the parameters of query processing by allowing different adapters to implement custom query parsing, optimization, and execution strategies tailored to specific application needs, while maintaining compatibility with the core database engine.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If business logic and rules are encapsulated within the database, then application capabilities are supported, but the database structure becomes excessively complex and expensive

Engineering Contradiction:
Improvebusiness logic supportVSAvoiddatabase structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts business logic and application-specific capabilities from the core database structure and places them in separate pluggable adapters. This allows the database to support diverse business logic without increasing its internal complexity, as each adapter independently handles specific application requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9460139B2Distributed storage system with pluggable query processing
Publication Date: 2016.10.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9460139B2 patent drawing
  • US9460139B2 patent drawing
  • US9460139B2 patent drawing

AI summary

As part of a query-processing technique, in response to receiving queries for information stored in a distributed storage system and associated query-processing information identifying sets of predefined operations to perform on one or more databases in the distributed storage system, the distributed storage system accesses sets of predefined operations. Then, for the sets of predefined operations on the one or more databases, the distributed storage system uses one or more adaptors for multiple storage subsystems in the distributed storage system and one or more indexes corresponding to collections of information in the one or more databases. Moreover, the distributed storage system executes the sets of predefined operations on the multiple storage subsystems to obtain results for the queries. The sets of predefined operations may be defined by different users, so that the distributed storage system can be adapted to these users' needs.