Parallel Manifest Generation for Service Meshes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing single-threaded approaches for mapping connections in application meshes are inefficient, leading to prolonged processing times for identifying routes and generating manifest files, especially in larger meshes, due to performance issues and the risk of race conditions or cycle creation.

Innovation Solution

Implementing a parallel computing approach to create manifest files for proxies within application or service meshes, utilizing CPU cores more efficiently and reducing the time required to identify routes by using techniques such as parallel processing and graph traversal.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single-threaded approach is used to map connections in an application mesh, then race conditions and cycle creation are avoided, but processing time increases significantly

Engineering Contradiction:
Improveavoidance of race conditions and cycle creationVSAvoidprocessing time for identifying routes
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the application mesh into multiple independent subgraphs that can be processed in parallel. By segmenting the graph traversal task into separate worker processes, each handling a specific subgraph, the system achieves parallel processing while maintaining data integrity through isolated processing contexts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a coordinator process that acts as an intermediary between multiple worker processes. The coordinator manages the distribution of subgraphs to workers, collects results, and performs final assembly, enabling parallel processing while maintaining centralized control to prevent race conditions and cycles.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a single-threaded approach is used to generate manifest files, then correctness is ensured, but productivity decreases for large application meshes

Engineering Contradiction:
Improvecorrectness of manifest generationVSAvoidspeed of manifest file creation
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The manifest generation process is segmented into multiple independent worker processes, each responsible for generating manifests for a specific subset of proxies. This allows simultaneous manifest creation across multiple CPU cores while maintaining correctness through isolated processing of each proxy subset.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates copies of the manifest generation logic across multiple worker processes. Each worker has its own instance of the manifest generation algorithm, allowing parallel execution without shared state conflicts. This copying approach enables productivity improvement while preserving correctness through independent execution contexts.

Inventive Principle:
Principle #26Copying

3Productivity

If parallel processing is implemented to speed up route identification, then productivity improves, but system complexity increases

Engineering Contradiction:
Improvespeed of route identificationVSAvoidcomplexity of parallel processing system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system is segmented into simple, independent worker processes that each handle a specific subgraph. This segmentation reduces individual process complexity while enabling parallel execution. Each worker contains only the essential graph traversal logic for its assigned subgraph, making the overall system manageable despite parallelism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The coordinator process serves as an intermediary that manages the complexity of parallel coordination. It handles worker process management, result collection, and final assembly, isolating the complexity of parallelism management from the individual worker processes and keeping their logic simple and maintainable.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11792301B1Parallelized automated creation of proxy manifests
Publication Date: 2023.10.17 AMAZON TECH INC
  • US11792301B1 patent drawing
  • US11792301B1 patent drawing
  • US11792301B1 patent drawing

AI summary

Manifest files for proxies within an application mesh or service mesh are created using parallel computing. Virtual services in a mesh definition are identified. For each of the virtual services, one or more virtual nodes that receive traffic from the virtual service are identified. For each of the virtual nodes that receive traffic from the virtual service, an edge is added to a first graph. Virtual nodes that send network traffic to at least one of the virtual services are then identified. For each virtual node that sends traffic to the virtual service, an edge is added to a second graph. Then an optimized per node network topology is generated based at least in part on the first graph and the second graph.