Multi-tenant Query Engine Using Service Provider Interfaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multi-tenant systems face challenges in querying data stored across multiple datastores, as existing methods are not effective for monolithic datastores and require extensive modifications and maintenance of 'glue layers' to handle disparate data formats and services.

Innovation Solution

A multi-tenant computing system with an arbitrary query engine that uses service provider interfaces (SPIs) defined by a uniform access specification, allowing queries to be partitioned and processed across different services and datastores without the need for extensive modifications, enabling uniform data access and consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data is stored in multiple datastores with different services, then data storage capacity and service specialization are improved, but query effectiveness and system complexity worsen

Engineering Contradiction:
Improveservice specializationVSAvoidquery effectiveness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a service provider interface (SPI) as an intermediary layer between the query engine and multiple datastores. The SPI translates uniform query requests into service-specific operations, enabling effective queries across disparate datastores without requiring the query engine to understand each service's specific data format and access protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If conventional query methods are used on monolithic datastores, then query simplicity is improved, but scalability and service independence worsen

Engineering Contradiction:
Improvequery simplicityVSAvoidservice independence
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the monolithic datastore into multiple independent datastores, each managed by separate services. The SPI abstracts this segmentation from users, allowing them to execute uniform queries across the distributed system as if it were a single monolithic datastore, thereby maintaining query simplicity while achieving service independence.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If glue layers are added to handle disparate data formats, then data access flexibility is improved, but system complexity and maintenance overhead worsen

Engineering Contradiction:
Improvedata access flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal service provider interface that can handle multiple data formats and service types through a single standardized interface. The SPI is designed to work with various datastore formats (relational, NoSQL, file-based, in-memory) without requiring separate glue layers for each, thereby reducing system complexity while maintaining data access flexibility.

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

Data Source

PatentUS11841860B2Multi-tenant system for providing arbitrary query support
Publication Date: 2023.12.12 ZUORA INC
  • US11841860B2 patent drawing
  • US11841860B2 patent drawing
  • US11841860B2 patent drawing

AI summary

A method comprising receiving by an arbitrary query engine a user request to perform a query associated with user data including first data and second data; partitioning the query into first and second sub-queries; providing the first sub-query to a first service provider interface (SPI) integrated into a first service configured to operate on the first data in a first datastore, the first SPI including a common interface component configured based on a uniform access specification to facilitate external communication between the arbitrary query engine and the first SPI, and the first SPI including a first service interface component configured to transform between the uniform access specification and a first service data specification and to facilitate internal data management; obtaining from the first datastore the first data formatted according to the first service data specification; transforming the first data; and providing the transformed first data to the arbitrary query engine.