Dynamic API Selection for Multi-System Software Transactions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face significant time and resource challenges in modifying software to work on different electronic systems, as existing solutions require extensive support for each unique infrastructure, limiting flexibility and user choice in transactions such as in-app purchases.

Innovation Solution

The implementation of a software development toolkit (SDK) that enables software to dynamically identify and select different Application Programming Interfaces (APIs) associated with various electronic systems, allowing users to choose the system for transactions without requiring extensive modifications, thereby focusing development on core functionality rather than infrastructure support.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software is modified to work on different electronic systems, then adaptability is improved, but development time and resources increase substantially

Engineering Contradiction:
ImproveadaptabilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements a universal software architecture that can operate across multiple electronic systems by providing a common interface layer. The software is designed to work with different electronic systems through standardized communication protocols and abstracted hardware interfaces, allowing one software version to serve multiple platforms without requiring separate development for each system.

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

Solution Approach 2:

The patent introduces an intermediary layer or adapter mechanism that mediates between the software and different electronic systems. This intermediary handles system-specific variations, allowing the core software to remain unchanged while the adapter translates between different system interfaces and the software's expected interface, thereby reducing development time for multi-system support.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If software supports multiple electronic systems, then versatility is improved, but device complexity increases

Engineering Contradiction:
ImproveversatilityVSAvoidcomplexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the software architecture into distinct segments or modules, separating the core functionality from system-specific interface code. This segmentation allows the main software body to remain simple and focused on primary functions, while system variations are handled in isolated adapter modules, reducing overall complexity despite multi-system support.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs a universal interface design that consolidates multiple system-specific interfaces into a single standardized interface. This universal layer handles communications with different electronic systems through a common protocol, preventing complexity from propagating throughout the entire software and keeping the core architecture simple.

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

3Adaptability or versatility

If extensive infrastructure support is provided for each electronic system, then compatibility is improved, but development resources are consumed excessively

Engineering Contradiction:
ImprovecompatibilityVSAvoiddevelopment resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges support for multiple electronic systems into a unified infrastructure framework. Instead of maintaining separate support codebases for each system, the patent combines common functionality into a shared foundation and uses configuration or adapter mechanisms to handle system-specific variations, thereby reducing the total quantity of development resources required while maintaining broad compatibility.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal infrastructure that serves multiple electronic systems simultaneously. This multi-functional infrastructure provides common services (such as communication protocols, data handling, and interface management) that work across different systems, eliminating the need to rebuild or extensively modify infrastructure for each new system and conserving development resources.

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

Data Source

PatentUS11294668B1Dynamic identification and selection of application programming interface
Publication Date: 2022.04.05 AMAZON TECH INC
  • US11294668B1 patent drawing
  • US11294668B1 patent drawing
  • US11294668B1 patent drawing

AI summary

Techniques are disclosed herein for selection of an electronic system to perform a transaction requested from within software. Using technologies described herein, software can utilize different electronic systems to perform a transaction. For example, software may allow a user to acquire processing by a remote system, such as obtaining additional content or services from more than one electronic system. Instead of software being tied to a particular electronic system (e.g., the electronic system from which the software was acquired), the software can identify and provide options of different electronic systems for performing a transaction. A software provider can use a software developer kit and/or application programming interfaces provided by a service provider to incorporate functionality to identify and access the different electronic systems that are available for selection.