Service Mesh Data Plane Reconfiguration for Low-Latency Policy Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Service meshes introduce extra hops and latency in service-to-service communication due to injected side-car proxies, which is not suitable for latency-sensitive applications at the edge cloud, such as XR gaming, necessitating a solution to balance policy control granularity with performance overhead.
Innovation Solution
A configuration controller dynamically reconfigures the service mesh data plane to meet application requirements by selecting and placing proxies and gateways, adjusting policy granularity, and optimizing communication paths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If side-car proxies are injected for each microservice to enable fine-grained policy control, then policy control granularity is improved, but communication latency increases
Solution Approach 1:
The patent segments the service mesh configuration into multiple pools with different policy granularity levels. Instead of uniformly injecting sidecar proxies for all microservices, the system divides services into pools where each pool has a specific configuration set and resource properties, allowing selective application of proxy injection based on policy requirements.
Solution Approach 2:
The patent implements dynamic reconfiguration of the service mesh data plane by selecting and placing proxies and gateways based on application requirements. The configuration controller can dynamically adjust policy granularity and optimize communication paths, making the system adaptable to different performance needs rather than static.
2Reliability
If side-car proxies are used for service-to-service communication to enforce policies, then security and policy enforcement are improved, but end-to-end latency increases
Solution Approach 1:
The patent applies different configuration qualities to different parts of the system by creating pools with specific configuration sets. Not all microservices receive the same level of policy enforcement - instead, the system tailors the policy granularity and proxy injection to the specific requirements of each service pool, applying stricter controls only where necessary.
Solution Approach 2:
The configuration controller dynamically selects and places proxies based on application requirements, adjusting the level of policy enforcement in real-time. This allows the system to maintain security and policy compliance while optimizing communication paths to minimize latency for latency-sensitive applications.
3Adaptability or versatility
If proxies are placed at every microservice instance to provide fine-grained control, then configuration flexibility is improved, but device complexity increases
Solution Approach 1:
The patent segments the data plane into pools of microservices with specific configuration sets, reducing the overall complexity by grouping services with similar requirements. Instead of managing individual proxy configurations for every service instance, the system manages configurations at the pool level, simplifying the data plane while maintaining flexibility.
Solution Approach 2:
The patent creates pools that can serve multiple functions - each pool has a specific configuration set and resource properties that can be applied uniformly to multiple services. This universal approach reduces complexity by allowing the same configuration to be reused across multiple service instances, rather than creating unique configurations for each service.
Data Source
Figure 1~8
Figure 2~3
Figure 4~5
AI summary
A method, configuration controller, computer program, and computer program product are provided. Determining whether or not a configuration change in a service mesh data plane is needed is based on at least one parameter. Responsive to determining that the configuration change is needed, a set of possible configuration changes is identified. A configuration based on the set of possible configuration changes is generated. The configuration is applied to the service mesh data plane.