Service Request Routing for Production Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in thoroughly testing changes to network services, as manual or programmatically generated 'dummy' service requests often fail to accurately simulate actual user traffic, leading to potential errors when deploying changes to production.

Innovation Solution

A service request routing application that replicates a predefined proportion of user requests from production to a testing environment, allowing for proportional and transparent testing of actual user traffic using downscaled computing resources, and enables storage and replay of requests for further evaluation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual or programmatically generated dummy service requests are used for testing, then the testing process is simple to implement, but the testing accuracy and reliability are insufficient because dummy requests fail to simulate actual user traffic patterns

Engineering Contradiction:
Improvetesting reliabilityVSAvoidtesting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies the copying principle by creating a replica of the production service environment in the testing environment. The service request routing application copies user requests from production and routes them to the testing service, allowing testers to evaluate changes using actual user traffic patterns rather than dummy requests. This copying of real traffic patterns significantly improves testing reliability while maintaining manageable complexity through automated request replication.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The service request routing application serves as an intermediary between production and testing environments. It intercepts user requests from production, replicates them, and routes copies to the testing service while allowing the original requests to continue to production. This intermediary mechanism enables reliable testing using actual user traffic without disrupting production services, resolving the contradiction between testing reliability and system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If actual user traffic is replicated to the testing environment for thorough testing, then the testing accuracy improves, but the computing resources required for testing increase

Engineering Contradiction:
Improvetesting accuracyVSAvoidcomputing resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by replicating only a subset of user requests to the testing environment rather than all requests. The service request routing application can replicate a predefined proportion of requests based on configurable parameters, allowing testing accuracy to improve through real traffic simulation while controlling computing resource consumption by limiting the volume of replicated traffic to what is necessary for effective testing.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system enables parameter changes in the replication proportion, allowing administrators to adjust the percentage of requests replicated to testing environments based on available computing resources and testing requirements. This parameter adjustment capability provides flexibility to optimize between testing accuracy and resource consumption, adapting the replication level to match actual testing needs rather than using fixed high-volume replication.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If a service request routing application is introduced to replicate requests, then the ability to test changes before production improves, but the system complexity and difficulty of operation increase

Engineering Contradiction:
Improvedeployment reliabilityVSAvoidoperation simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The service request routing application implements self-service by automatically replicating user requests from production to the testing environment without requiring manual intervention. The system autonomously intercepts requests, determines which requests to replicate based on configured parameters, and routes them to the testing service. This automation significantly improves deployment reliability through consistent request replication while reducing operational complexity by eliminating manual request generation and routing tasks.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms where the service request routing application monitors and tracks replicated requests, allowing administrators to verify that requests are being replicated correctly and to adjust replication parameters based on observed behavior. This feedback capability enhances deployment reliability by enabling continuous verification of testing accuracy while simplifying operation through automated monitoring and adjustment rather than manual verification.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8762486B1Replicating user requests to a network service
Publication Date: 2014.06.24 AMAZON TECH INC
  • US8762486B1 patent drawing
  • US8762486B1 patent drawing
  • US8762486B1 patent drawing

AI summary

Disclosed are various embodiments for replicating service requests. A service request is obtained from a client. A primary service and a secondary service are determined based at least in part on the service request and a routing configuration. The secondary service corresponds to another version of the primary service. The service request is routed to the primary service and potentially replicated to the secondary service. A service response to the service request is obtained from the primary service and then sent to the client.