Unified Service Abstraction Layer for API Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity of managing mixed public and private data on mobile devices, coupled with the challenges of proprietary and fragmented Application Programming Interfaces (APIs, including version changes and costly API calls, necessitates a solution for seamless service abstraction to allow users to switch between services without altering applications or updating client data libraries.

Innovation Solution

A processor-readable medium stores code that receives requests from client devices, normalizes them based on metadata, translates requests into formats compatible with specific compute device endpoints, and sends them to compute devices, enabling data retrieval and response formatting for the client device, thus abstracting service management and facilitating switching between services without reconfiguring applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If proprietary APIs are used directly by applications, then service functionality is accessed, but application code must be updated when API versions change

Engineering Contradiction:
Improveservice switching capabilityVSAvoidapplication code complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (service gateway or abstraction layer) between the application and proprietary APIs. This intermediary translates unified interface requests into proprietary API calls, allowing applications to remain unchanged while services can be switched or updated. The intermediary handles API version changes and proprietary interface variations, isolating the application from these changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal interface that can access multiple different proprietary services through a single unified API. This universal layer supports multiple service providers and API versions simultaneously, allowing the system to switch between services without requiring application code changes. The unified interface abstracts away the differences between various proprietary APIs.

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

2Adaptability or versatility

If multiple proprietary APIs are integrated directly, then various services are accessible, but data management complexity increases

Engineering Contradiction:
Improveservice access capabilityVSAvoiddata management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple proprietary API interfaces into a single unified interface. Instead of integrating each proprietary API separately into the application, the unified interface consolidates access to all services through one standardized entry point. This reduces data management complexity by providing a consistent data model and access pattern across all services.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified interface acts as an intermediary that manages data from multiple proprietary sources. It abstracts the complexity of handling multiple data formats, authentication mechanisms, and API structures, presenting a simplified data model to the application while managing the complexity behind the scenes.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If proprietary APIs are used directly, then service functionality is obtained, but cost increases due to per-API call pricing

Engineering Contradiction:
Improveservice access efficiencyVSAvoidAPI call cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The unified interface enables continuous and efficient service access by caching results, implementing intelligent request batching, and maintaining persistent connections where possible. This reduces the frequency and cost of API calls while maintaining continuous access to service functionality. The system optimizes call patterns to minimize costs while preserving productivity.

Inventive Principle:
Principle #20Continuity of useful action

4Reliability

If applications depend on specific API implementations, then functionality is achieved, but ease of operation decreases when switching services

Engineering Contradiction:
Improveservice functionality reliabilityVSAvoidservice switching ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The unified interface serves as a mediator that shields the application from implementation details of specific services. The application interacts only with the stable unified interface, while the intermediary handles service-specific implementations. This allows service switching without affecting application operation, as the intermediary translates unified interface calls into service-specific operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the system into two independent layers: the application layer with the unified interface, and the service layer with proprietary APIs. This segmentation allows the service layer to change or switch without affecting the application layer, improving ease of operation while maintaining reliability through the stable unified interface contract.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9047308B2Methods and apparatus for providing unified access to various data resources using virtualized services
Publication Date: 2015.06.02 PROGRESS SOFTWARE CORP
  • US9047308B2 patent drawing
  • US9047308B2 patent drawing
  • US9047308B2 patent drawing

AI summary

A non-transitory processor-readable medium stores code representing instructions to be executed by a processor. The code causes the processor to receive, from a client device, a request for a service associated with a set of compute devices. The processor is caused to define a normalized request, based on a metadata associated with service requirements. The processor is caused to define a translated request for a compute device from the set of compute devices based on the normalized request. The processor is caused to send the translated request to the compute device in accordance with an endpoint interface associated with a format of the translated request. The processor is caused to receive data associated with the service from the compute device, in response to the translated request. The processor is caused to send, to the client device, a response having a format associated with the client device based on the data.