Computational Graph API Testing for Cloud Service Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud provider networks face overloading and interference in servicing requests due to customer-driven descriptive information requests, which can impact the stability and predictability of backend computing systems, potentially interfering with resource management operations.

Innovation Solution

An aggregated descriptive data service is deployed, which uses an event stream to maintain a durable cache of data, redirecting customer requests and stabilizing the load on backend systems, while a computational graph is generated to infer test cases and verify API properties, ensuring consistency and properties like inter-customer isolation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If customer-driven descriptive information requests are processed directly by backend computing systems, then customers can obtain their requested information, but backend systems become overloaded and unstable

Engineering Contradiction:
Improvebackend system stabilityVSAvoidrequest processing capacity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

An aggregated descriptive data service is introduced as an intermediary between customers and backend computing systems. This service receives descriptive information requests from customers, queries the durable cache for the requested information, and returns results without requiring backend systems to process these requests directly. The intermediary absorbs the load of customer queries while maintaining system stability and preserving backend capacity for resource management operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a durable cache is implemented to store descriptive information, then request processing efficiency is improved, but system complexity increases

Engineering Contradiction:
Improverequest processing efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Descriptive information about computing resources is pre-computed and stored in a durable cache before customer requests arrive. The aggregated descriptive data service maintains this cache and uses it to immediately satisfy customer queries without requiring real-time computation from backend systems. This preliminary preparation of data eliminates the need for complex real-time processing logic during request handling.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If computational graphs are generated to verify API properties, then service consistency and isolation are ensured, but testing and verification time increases

Engineering Contradiction:
ImproveAPI property verificationVSAvoidtesting and verification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Computational graphs representing API calls are generated and analyzed in advance to automatically infer test cases and verify service properties such as inter-customer isolation and API consistency. This preliminary verification establishes a baseline of correct behavior that can be used to detect regressions and ensure quality without requiring extensive manual testing for each deployment.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11429513B1Testing and verifying cloud services using a computational graph
Publication Date: 2022.08.30 AMAZON TECH INC
  • US11429513B1 patent drawing
  • US11429513B1 patent drawing
  • US11429513B1 patent drawing

AI summary

Various embodiments for testing and verifying cloud services using computational graphs. In one embodiment, a computational graph is generated that represents corresponding actions performed by a plurality of agents and data associated with the corresponding actions. The computational graph is generated based at least in part on data describing a plurality of calls to an application programming interface (API) or a static analysis of the API. A plurality of test cases are generated for the API by analyzing the computational graph.