Service-Abstraction Query Engine for Heterogeneous Data Binding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Social-networking systems face challenges in evolving their architecture to accommodate new services with different schemas, requiring developers to constantly adapt and rewrite applications, which is burdensome and inflexible.

Innovation Solution

A run-time query engine uses reflection to translate service-agnostic requests into service-specific requests and responses, providing a layer of abstraction that hides differences between various services, allowing developers to write service-agnostic code and handle queries across heterogeneous services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the system architecture includes heterogeneous services with different schemas, then the system can provide diverse functionality and adaptability, but developers must constantly adapt and rewrite applications, increasing complexity and reducing ease of operation

Engineering Contradiction:
Improvesystem adaptabilityVSAvoiddeveloper burden
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces a query engine as an intermediary layer between the application and heterogeneous services. This query engine translates service-agnostic queries into service-specific queries, shielding developers from schema differences. The query engine acts as a mediator that handles the complexity of multiple service schemas while presenting a unified interface to applications, thus resolving the contradiction between system adaptability and ease of operation

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal query interface that can work across multiple heterogeneous services. The query engine provides a single unified interface that handles diverse service schemas through reflection and dynamic query generation. This universal interface allows the same application code to query different services without modification, eliminating the need for developers to constantly adapt applications when new services are added

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

2Adaptability or versatility

If new services are integrated into the heterogeneous system, then system functionality is enhanced, but existing applications require constant rewriting and adaptation

Engineering Contradiction:
Improveservice integration capabilityVSAvoidcode maintenance complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by pre-compiling service schemas into platform classes and interfaces before runtime. When new services are added, their schemas are analyzed and platform classes are generated in advance. This preliminary preparation ensures that the query engine is ready to handle new services without requiring application rewriting, as the translation layer is already in place

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic query generation and translation at runtime. The query engine uses reflection to inspect application classes and dynamically generates appropriate queries for the target service. This dynamic approach allows the system to adapt to new services automatically without static code changes, reducing maintenance complexity while enhancing integration capability

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If service-specific query interfaces are used for each heterogeneous service, then precise data access is achieved, but applications become tightly coupled to specific service schemas

Engineering Contradiction:
Improvedata access precisionVSAvoidapplication portability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent segments the query interface into two distinct layers: a service-agnostic upper layer for applications and a service-specific lower layer for actual data access. The query engine operates at the boundary between these layers, translating generic queries into service-specific queries. This segmentation allows applications to remain portable while maintaining precise data access through the service-specific implementation layer

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10230815B2Service-abstracting query interface
Publication Date: 2019.03.12 META PLATFORMS INC
  • US10230815B2 patent drawing
  • US10230815B2 patent drawing
  • US10230815B2 patent drawing

AI summary

In one embodiment, at run-time, a query engine may receive a request to populate properties of an application class with data. The query engine may use reflection to inspect the application class and identify at least one platform interface providing properties of the application class. The query engine may then generate a query for a specific service associated with the platform interface. The query engine may then retrieve data from the service. After receiving a response from the service, the query engine may use reflection to bind the retrieved data to properties of the application class and return the application class in response to the request. The query engine may have previously analyzed a schema identifying data types provided by the service and generated, based on the schema, platform classes and platform interfaces.