Object Storage Query Mechanism for Metadata Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current object storage systems lack query capabilities, forcing applications to retrieve a superset of objects and discard non-matching ones, which is resource-intensive and inefficient for both servers and networks.

Innovation Solution

Implementing a query mechanism within the object storage system that allows clients to pose queries in a high-level declarative language, using a query parser, optimizer, executor, and formatter to evaluate and return only relevant objects based on metadata predicates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications retrieve a superset of objects and discard non-matching ones, then query flexibility is maintained, but server resource usage and network bandwidth consumption increase significantly

Engineering Contradiction:
Improvequery flexibilityVSAvoidserver resource usage
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the query processing functionality from the application layer and integrates it directly into the object storage system. The query parser, optimizer, and executor are embedded within the storage system, allowing queries to be processed during the object retrieval operation itself. This extraction eliminates the need for applications to retrieve and filter large supersets of objects, significantly reducing server resource usage while maintaining query flexibility.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The storage system is enhanced with multi-functionality by incorporating query processing capabilities alongside traditional storage and retrieval operations. The query executor can filter objects based on metadata predicates during the normal retrieval process, making the storage system universally capable of both storing objects and performing complex queries without requiring separate retrieval-and-filter operations.

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

2Adaptability or versatility

If applications retrieve a superset of objects and discard non-matching ones, then comprehensive data access is ensured, but network bandwidth consumption increases

Engineering Contradiction:
Improvedata access comprehensivenessVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The filtering operation is extracted from the application layer and performed within the storage system's query executor. This allows the system to retrieve only the specific objects matching the query predicates, rather than retrieving a comprehensive superset and filtering client-side. The network bandwidth consumption is reduced while maintaining comprehensive data access for matching objects.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The query processing and filtering actions are performed preliminarily within the storage system before objects are transmitted over the network. The query executor evaluates metadata predicates and filters objects during the retrieval process, so that only relevant objects are sent to the application. This preliminary filtering action eliminates unnecessary network traffic while ensuring comprehensive access to all matching objects.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If current object storage systems retrieve all objects for client-side filtering, then query capability is achieved, but system efficiency and scalability deteriorate

Engineering Contradiction:
Improvequery capabilityVSAvoidsystem efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces an intermediary query processing layer between the application and the stored objects. This intermediary includes a query parser that converts application queries into executable plans, and a query optimizer that generates efficient retrieval strategies. This intermediary enables the system to achieve full query capability while maintaining high efficiency by processing queries during the normal storage system operations rather than requiring inefficient client-side filtering of all objects.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If query processing is added to object storage systems, then query efficiency improves, but system complexity increases

Engineering Contradiction:
Improvequery efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The query processing functionality is segmented into distinct modular components: a query parser that converts queries into parse trees, a query optimizer that generates and evaluates candidate query plans, and a query executor that performs the actual retrieval and filtering. This segmentation allows each component to be independently implemented and optimized, improving query efficiency while managing system complexity through clear separation of concerns and modular architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9703768B1Object metadata query
Publication Date: 2017.07.11 EMC IP HLDG CO LLC
  • US9703768B1 patent drawing
  • US9703768B1 patent drawing
  • US9703768B1 patent drawing

AI summary

An object storage system having object metadata query capability. Clients can pose queries to the object system in a high-level, declarative language. A query is evaluated against stored object metadata, and only objects satisfying the query's predicates are returned. The object storage system can evaluate alternative logical and physical query plans using a cost model. Queries can be posed using familiar REST-based APIs.