Version-Specific Service Response via Template Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing service-oriented architectures face complexity and scalability issues when supporting multiple versions of services, as they require extensive logic to handle version compatibility, which becomes cumbersome and inflexible with frequent updates and numerous versions.

Innovation Solution

A service-oriented architecture (SOA)-based pipeline solution that determines the appropriate version from a request and uses a template to generate a version-specific response by filling in data from appropriate sources, respecting dependencies, thereby simplifying the process and enhancing scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extensive logic is used to handle multiple service versions, then version compatibility is maintained, but system complexity increases significantly

Engineering Contradiction:
Improveversion compatibilityVSAvoidlogic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The service is divided into version-specific templates, each handling a particular version's data structure and behavior. This segmentation allows the system to manage multiple versions through separate, manageable templates rather than a single complex logic system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A version detector acts as an intermediary component that identifies the requested service version and selects the appropriate template. This mediator simplifies the main service logic by offloading version detection and template selection to a dedicated component.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If numerous version-specific logic statements are implemented, then all version differences are handled, but ease of maintenance deteriorates

Engineering Contradiction:
Improveversion supportVSAvoidmaintenance ease
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

Each service version is represented by its own template file, isolating version-specific logic into separate, self-contained units. This makes maintenance easier as changes to one version do not affect other versions, and new versions can be added by simply creating new template files.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects and loads the appropriate template based on the requested service version. This dynamic approach allows the system to adapt to new versions without requiring manual configuration or modification of existing logic, improving maintainability.

Inventive Principle:
Principle #15Dynamics

3Productivity

If frequent service updates are released, then functionality is improved, but scalability and flexibility decrease due to accumulated version management complexity

Engineering Contradiction:
Improveupdate frequencyVSAvoidversion management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each service version is encapsulated in its own template, allowing frequent updates to be implemented by creating new version-specific templates without modifying existing ones. This segmentation enables the system to scale horizontally to support numerous versions without accumulating complexity in a single logic system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

New service versions are created by copying and modifying existing templates rather than extending a single logic system. This copying approach maintains the structural simplicity of each version while enabling frequent updates, as each new version is an independent copy that can be developed and deployed separately.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9971751B1Version-specific request processing
Publication Date: 2018.05.15 AMAZON TECH INC
  • US9971751B1 patent drawing
  • US9971751B1 patent drawing
  • US9971751B1 patent drawing

AI summary

Multiple versions of a service can be supported by taking advantage of the fact that version information can be included in any received request. Multiple templates may be stored, with each template being associated with a particular version of the service. There may also be multiple templates associated with each version of a service for various response types. Using the version information, an appropriate template can be determined up front to be used for the response. An instance of the template can be filled in using appropriate data sources, as may be specified using metadata in the template itself. Once the instance of the template is filled, the response can be finalized and sent.