Extensible Query Language eSQL for Rich Data Type Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data management systems, particularly in service-oriented architectures, face challenges in supporting rich data types and relationships, leading to impedance mismatches between application and database tiers, and lack adequate query languages for advanced data models.

Innovation Solution

An extensible query language, eSQL, is developed to support rich data types, providing features like first-class collections, uniform subquery treatment, and improved navigation through objects and collections, integrated with an object services layer, map provider layer, and bridge layer to interface with various databases.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional relational data models are used, then database storage and management are efficient, but impedance mismatch occurs between application and database tiers

Engineering Contradiction:
Improvedata access efficiencyVSAvoidimpedance mismatch complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (object services layer with map provider and bridge layer) between the application tier and database tier. This intermediary translates application-level rich data types and relationships into database-compatible formats, eliminating impedance mismatch while maintaining efficient data access. The map provider acts as a mediator that maps application data models to underlying database schemas.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the data access architecture into distinct layers: application tier, object services layer (with map provider), and database tier. This segmentation allows each layer to operate independently with its own data model, resolving the conflict between application requirements and database constraints while maintaining overall system efficiency.

Inventive Principle:
Principle #1Segmentation

2Reliability

If rich data types with constraints and relationships are supported, then data semantics are preserved, but existing data models and query languages become inadequate

Engineering Contradiction:
Improvedata semantics preservationVSAvoiddata model adequacy
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic data model that can adapt to different rich data types and relationships. The object services layer dynamically translates between application-level data models with complex semantics and underlying database schemas, allowing the system to handle diverse data structures while maintaining semantic integrity through configurable mapping rules.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of the data model by introducing rich data types with constraints (e.g., postal code formats, relationship cardinality) and corresponding query language features. The extensible query language eSQL incorporates parameters for navigating relationships and filtering by constraints, making the data model adaptable to complex semantic requirements.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If service-oriented architectures with multi-tier applications are adopted, then system modularity is improved, but the need for integrated rich data access services increases

Engineering Contradiction:
Improvesystem modularityVSAvoiddata access integration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal object services layer that handles multiple data access requirements across different tiers. The map provider and bridge layer provide multi-functional services including translation, mapping, and query optimization, reducing the need for separate integration mechanisms in each tier while maintaining system modularity.

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

Solution Approach 2:

The object services layer serves as a mediator between distributed tiers in service-oriented architectures. It provides integrated rich data access services by translating requests from various tiers into unified data operations, reducing the complexity of inter-tier data access while preserving system modularity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of manufacture

If existing data models like SQL99, CLR, XSD, or UML are used, then some data modeling capabilities are provided, but none adequately support relationships, constraints, and persistence together

Engineering Contradiction:
Improvedata modeling capabilityVSAvoidcomprehensive data model support
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent merges capabilities from existing data models into a unified framework. It combines the structuring capabilities of UML, the query capabilities of SQL99, the typing capabilities of XSD, and the runtime support of CLR into a single integrated object services layer that handles relationships, constraints, and persistence together, providing comprehensive data model support.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a composite data model that integrates features from multiple existing models. The object services layer combines metadata structures, query mechanisms, and persistence handlers into a composite solution that leverages the strengths of each individual model while overcoming their individual limitations.

Inventive Principle:
Principle #40Composite materials

Data Source

PatentUS7797304B2Extensible query language with support for rich data types
Publication Date: 2010.09.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7797304B2 patent drawing
  • US7797304B2 patent drawing
  • US7797304B2 patent drawing

AI summary

A query language has support for rich data types. A query language system contains an application configured to generate queries according to the query language. In addition, the system has a platform for handling queries that are generated using the provided query language. The platform contains an object services layer, a map provider layer, and a bridge layer which may ultimately interface with a variety of commercially available databases.