Shard-Based Traffic Routing for Microservice API Facets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional microservice architectures lack fine-grained control over load balancing and auto-scaling, failing to meet distinct service level objectives for different API facets, leading to inefficient resource allocation and potential service degradation under varying traffic conditions.

Innovation Solution

Associating metadata with application interface specifications to configure shards for managing traffic, allowing for fine-grained service level objective management, including annotations for load balancing and auto-scaling, which enables routing traffic to dedicated replicas based on defined service level objectives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional load balancing and auto-scaling are used in microservice architectures, then traffic is distributed across replicas, but fine-grained service level objectives for different API facets cannot be met

Engineering Contradiction:
Improvefine-grained service level objective managementVSAvoidarchitecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments traffic management by introducing shards that divide traffic into separate streams based on API facets. Each shard can have its own load balancing and auto-scaling policies, enabling fine-grained service level objective management for different API paths, methods, or parameters while maintaining overall system coherence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary component (shard manager or routing layer) that sits between the traditional load balancer and microservice instances. This intermediary captures traffic, applies metadata-based routing rules, and directs traffic to appropriate shards or replicas, enabling fine-grained control without fundamentally redesigning the entire architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If replicas are continuously running to meet service level objectives, then service availability is maintained, but resource allocation becomes inefficient and costs increase

Engineering Contradiction:
Improveservice availabilityVSAvoidresource allocation efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic replica management where the number and configuration of replicas are adjusted in real-time based on actual traffic conditions and service level objective requirements. Metadata annotations guide the system to scale replicas only when and where needed, rather than maintaining static replica counts across all services.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of replica deployment by using metadata annotations that specify service level objectives for different API facets. The system monitors these parameters and dynamically adjusts replica configuration (number, size, placement) to meet the specified objectives while optimizing resource utilization and reducing unnecessary resource consumption.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If traffic is routed to dedicated replicas, then service level objectives are met, but replica startup time increases and cost optimization is reduced

Engineering Contradiction:
Improveservice level objective fulfillmentVSAvoidreplica startup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-configuring shards with metadata annotations that define service level objectives and routing rules. When traffic patterns indicate the need for dedicated replicas, the system can rapidly provision them because the shard configuration and routing logic are already in place, reducing startup time compared to creating entirely new service instances.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent makes replicas multi-functional by allowing them to serve multiple API facets through the shard routing mechanism. A single replica can handle traffic for different services or API paths by receiving routed traffic from the shard layer, reducing the total number of replicas needed and enabling faster deployment since replicas aren't dedicated to single functions.

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

Data Source

PatentUS20230367608A1Scalable applications
Publication Date: 2023.11.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20230367608A1 patent drawing
  • US20230367608A1 patent drawing
  • US20230367608A1 patent drawing

AI summary

Concepts for controlling interaction with scalable applications are presented. One example comprises associating metadata with an application interface specification of an application. Based on the metadata associated with the application interface specification of the application, configuration of shards for managing traffic of the interaction and/or integration with the application interface is controlled. Traffic is then routed to configured shards.