Extensible Data Provider Querying System for Heterogeneous Sources

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In web browser contexts, accessing and retrieving data from various sources is complicated due to different data formats and access mechanisms, requiring applications to be knowledgeable of multiple APIs, making it difficult to add or modify data sources seamlessly.

Innovation Solution

An independent layer provides a common set of query APIs for client applications to interact with data sources, allowing new data sources to be easily integrated without requiring applications to know specific access mechanisms, and communicates queries to data providers for execution and result retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications directly access multiple data sources with different APIs, then data retrieval capability is comprehensive, but application complexity increases

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

Solution Approach 1:

The patent introduces an independent data access layer that acts as an intermediary between applications and multiple data sources. This layer provides a unified API interface that abstracts away the complexities of different data source access mechanisms, allowing applications to access diverse data sources without needing to know their specific access protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The independent data access layer implements a universal interface that can handle multiple types of data sources through a common set of APIs. This universal layer enables applications to interact with any data source using the same interface, eliminating the need for application-specific knowledge of each data source's access mechanism.

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

2Productivity

If applications are designed to work with specific data sources, then data access efficiency is optimized, but adaptability to new data sources decreases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidease of adding new data sources
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the data access functionality into a separate, independent layer that is decoupled from the application logic. This segmentation allows the data access layer to be developed and optimized independently for specific data sources while maintaining a standardized interface, enabling both optimized access patterns and easy integration of new data sources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The independent data access layer is designed to be dynamic and extensible, allowing new data sources to be integrated by adding new providers to the layer without modifying the application. The layer can dynamically adapt to different data source types while maintaining consistent access patterns through its unified API.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If a unified interface is introduced for data access, then ease of operation improves, but system architecture complexity increases

Engineering Contradiction:
Improvedata access simplicityVSAvoidsystem architecture complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The unified interface is implemented through an independent data access layer that serves as an intermediary, absorbing the architectural complexity within the layer itself while presenting a simple interface to applications. This mediator pattern allows the complexity to be contained and managed in one location rather than propagated throughout the entire system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9396221B2Extensible data provider querying and scheduling system
Publication Date: 2016.07.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9396221B2 patent drawing
  • US9396221B2 patent drawing
  • US9396221B2 patent drawing

AI summary

Embodiments present a common access mechanism that can be used by one or more applications to access different data sources in a storage layer and have data stored in the data sources returned to the one or more applications. The common access mechanism can be presented by a data model that is implemented by a query and aggregation layer of an extensible querying/scheduling system. At least some individual data sources store data in different formats and have their own specific access mechanisms of which the one or more applications are unaware. In embodiments, the data model creates one or more data providers that are individually associated with individual data sources and knowledgeable of how to access data stored in an associated data source. At least some of the data providers receive queries for data and execute the queries using a different thread than the data model. At least some of the data providers are creatable on a thread that is a same thread as the data model.