Object Query Model Decouples Analytics Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data access systems for analytics in client applications are limited by the need for explicit query scripts in specific languages, binding them to specific data servers, making it difficult to change or evolve with new technologies, and lacking compiler verification, which complicates problem discovery and maintainability.

Innovation Solution

An extensible query object-model that allows developers to write queries in a simple, object-oriented manner, decoupling client applications from underlying data source systems, using a generic dimensional data model and pluggable translator components to generate queries in target languages like SQL or MDX, enabling flexibility across different data servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If explicit query scripts in specific languages are embedded in client applications, then data access to specific data servers is achieved, but adaptability to different data servers and query languages is reduced

Engineering Contradiction:
Improveadaptability to different data serversVSAvoidcomplexity of query script embedding
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary translation layer that converts object-oriented query expressions into target query languages (SQL, MDX, etc.). This mediator component enables client applications to work with abstract query objects rather than language-specific scripts, thereby improving adaptability to different data servers without increasing application complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the query processing into distinct components: query expression construction, parsing to abstract representation, translation to target language, and execution. This segmentation allows each component to be independently developed and adapted, reducing overall system complexity while improving versatility.

Inventive Principle:
Principle #1Segmentation

2Reliability

If query scripts are embedded in client application code, then data access functionality is provided, but maintainability and problem discovery are complicated due to lack of compiler verification

Engineering Contradiction:
Improvecompiler verification capabilityVSAvoidease of query authoring
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent replaces the mechanical embedding of query scripts as text strings with an object-oriented programming approach where queries are constructed using typed objects and methods. This substitution enables compiler verification of query syntax and semantics, improving reliability while maintaining ease of authoring through intuitive object manipulation.

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

3Adaptability or versatility

If client applications are bound to specific data server technologies, then direct data access is achieved, but migration costs and difficulty of evolving with new technologies increase

Engineering Contradiction:
Improveflexibility across different data serversVSAvoidmigration time and cost
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates a universal query object model that can translate to multiple target query languages (SQL, MDX, etc.). This multi-functional approach allows a single client application to access different data server technologies without modification, providing flexibility while minimizing migration time and cost when switching servers.

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

Data Source

PatentUS10102269B2Object query model for analytics data access
Publication Date: 2018.10.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10102269B2 patent drawing
  • US10102269B2 patent drawing
  • US10102269B2 patent drawing

AI summary

A computing device for executing a client application for analytics data access is provided. The computing device includes a processor that is a functional component of the computing device and is configured to execute software instructions to provide at least one client application function. A parsing component is configured to receive at least one data object of the client application and parse the at least one data object to provide an intermediate description of a query. At least one translator component is configured to receive the intermediate description of the query and generate a query string in a target query language. The computing device is configured to transmit the query string in the target query language to a data source for execution of the query.