Distributed Service Chain Routing via Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current datacenter message distribution methods are static and configuration-intensive, often relying on load balancers that act as chokepoints, necessitating a more dynamic and flexible approach to distribute data messages between application and service layers without reconfiguring servers.
Innovation Solution
Implementing service containers on host computers to perform service chains through a service classifier and forwarding element, using load balancing and MAC redirect techniques to dynamically route data messages, ensuring seamless distribution and fault tolerance across service containers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If static configuration methods are used to distribute data messages, then server configuration is simple, but the system lacks flexibility and requires reconfiguring servers to modify distribution schemes
Solution Approach 1:
The patent introduces forwarding elements as intermediaries between servers and service containers. These forwarding elements handle the complexity of distribution scheme modifications without requiring server reconfiguration. The forwarding elements act as mediators that translate high-level distribution policies into low-level routing decisions, allowing the system to be flexible while keeping servers simple.
Solution Approach 2:
The patent adds a new layer of abstraction by introducing forwarding elements and service containers as intermediate components. This dimensional addition allows distribution schemes to be modified at the forwarding element level rather than requiring changes at the server level, effectively separating configuration complexity from adaptability requirements.
2Productivity
If load balancers are used to distribute traffic, then traffic distribution is achieved, but load balancers become chokepoints that limit system performance
Solution Approach 1:
The patent segments the traditional monolithic load balancer function into distributed forwarding elements and service containers. Instead of a single centralized load balancer creating a chokepoint, multiple forwarding elements distributed across the network perform load balancing functions locally, eliminating the single point of failure and performance bottleneck.
Solution Approach 2:
The patent introduces service containers as intermediary components between forwarding elements and application services. These containers abstract the service logic and allow forwarding elements to distribute traffic without direct knowledge of service details, improving traffic distribution efficiency while simplifying the overall architecture by removing the need for complex centralized load balancers.
3Adaptability or versatility
If service containers are introduced to perform service chains, then distribution flexibility is improved, but system complexity increases
Solution Approach 1:
The patent makes forwarding elements universal components that can handle multiple functions: traffic forwarding, load balancing, and service chain routing. Instead of introducing separate complex components for each function, the forwarding elements are designed to perform multiple roles, reducing overall system complexity while maintaining the flexibility provided by service containers.
Solution Approach 2:
The patent implements self-service mechanisms where service containers automatically register themselves with forwarding elements and manage their own service chain configurations. This automation reduces the operational complexity of managing service containers, as the system self-organizes without requiring manual configuration or complex management infrastructure.
Data Source
AI summary
Some embodiments of the invention provide novel methods for performing services on data messages passing through a network connecting one or more datacenters, such as software defined datacenters (SDDCs). The method of some embodiments uses service containers executing on host computers to perform different chains (e.g., ordered sequences) of services on different data message flows. For a data message of a particular data message flow that is received or generated at a host computer, the method in some embodiments uses a service classifier executing on the host computer to identify a service chain that specifies several services to perform on the data message. For each service in the identified service chain, the service classifier identifies a service container for performing the service. The service classifier then forwards the data message to a service forwarding element to forward the data message through the service containers identified for the identified service chain. The service classifier and service forwarding element are implemented in some embodiments as processes that are defined as hooks in the virtual interface endpoints (e.g., virtual Ethernet ports) of the host computer's operating system (e.g., Linux operating system) over which the service containers execute.


