Stateful Service Containers via Network Virtualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing sidecar container architectures in micro-services applications are inflexible due to their dependency on attached proxies, limiting mobility and requiring fixed service deployments, and legacy virtual machines rely on middleboxes for inline services like load balancing and intrusion detection, which complicates deployment and mobility.

Innovation Solution

A method is introduced to configure multiple sets of service containers on a host computer to perform service operations such as firewall and load balancing on data messages, with a module identifying necessary operations and directing messages to appropriate containers, allowing for flexible deployment and migration across machines and networks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sidecar containers are deployed in series with forwarding across individual service containers, then service operations such as authentication, service discovery, encryption, and load balancing can be handled, but mobility of the container is restricted due to dependency on the attached sidecar proxy and service deployment is fixed

Engineering Contradiction:
Improveservice operation handlingVSAvoidcontainer mobility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent extracts the sidecar proxy dependency from the container architecture by introducing a network virtualization layer that provides service operations independently of container attachment. This allows containers to move freely while maintaining service capabilities through the virtualized network infrastructure.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The network virtualization layer provides universal service operations (authentication, service discovery, encryption, load balancing) that can serve multiple containers simultaneously without requiring each container to have its own dedicated sidecar proxy, enabling both reliable service handling and container mobility.

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

2Reliability

If middleboxes are used for inline services in virtual machines running legacy applications, then services such as load balancing and intrusion detection can be deployed, but deployment complexity increases and mobility is limited due to inability to modify VM images

Engineering Contradiction:
Improveinline service deploymentVSAvoiddeployment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a network virtualization intermediary layer between the legacy VMs and the network infrastructure. This mediator provides inline services (load balancing, intrusion detection) without requiring modification of VM images, simplifying deployment while maintaining service capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If fixed service deployment is used with sidecar proxies, then service operations can be performed reliably, but service bottlenecks occur and scalability is limited

Engineering Contradiction:
Improveservice operation performanceVSAvoidservice scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the service operation functionality from individual containers and centralizes it in the network virtualization layer. This segmentation eliminates service bottlenecks by allowing parallel service operations across multiple containers without requiring each container to maintain its own service chain, thereby improving scalability while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11734043B2Providing stateful services in a scalable manner for machines executing on host computers
Publication Date: 2023.08.22 VMWARE INC
  • US11734043B2 patent drawing
  • US11734043B2 patent drawing
  • US11734043B2 patent drawing

AI summary

Some embodiments provide a method for performing services on a host computer that executes several machines in a datacenter. The method configures a first set of one or more service containers for a first machine executing on the host computer, and a second set of one or more service containers for a second machine executing on the host computer. Each configured service container performs a service operation (e.g., a middlebox service operation, such as firewall, load balancing, encryption, etc.) on data messages associated with a particular machine (e.g., on ingress and/or egress data messages to and/or from the particular machine). For each particular machine, the method also configures a module along the particular machine's datapath to identify a subset of service operations to perform on a set of data messages associated with the particular machine, and to direct the set of data messages to a set of service containers configured for the particular machine to perform the identified set of service operations on the set of data messages. In some embodiments, the first and second machines are part of one logical network or one virtual private cloud that is deployed over a common physical network in the datacenter.