Dynamic Micro-service Pinning to Uplink Ports
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional pinning and load balancing mechanisms in Distributed Virtual Switches are inadequate for nested containers, as they lack visibility into application-specific traffic flows and granular control over bandwidth allocation for micro-services deployed in virtual machines.
Innovation Solution
A virtual networking switch dynamically pins micro-service data flows to uplink ports based on labels assigned by a container orchestrator, ensuring that data packets are forwarded through the appropriate uplink port to meet bandwidth allocation policies, thereby enabling granular control and efficient traffic management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If traditional pinning mechanisms in Distributed Virtual Switch are used, then the system structure is simple, but visibility into application-specific traffic flows and granular control over bandwidth allocation is lost
Solution Approach 1:
The patent segments the virtual port into multiple container ports, each corresponding to a specific container instance. This segmentation enables the DVS to identify and manage traffic flows at the container level rather than treating the entire VM port as a single unit, thereby providing visibility into application-specific traffic flows while maintaining a manageable system structure through hierarchical organization.
Solution Approach 2:
The patent introduces a new dimension of granularity by adding container port identification within the existing VM port structure. This dimensional expansion allows the system to track traffic flows not just at the VM level but also at the individual container level, enabling granular control over bandwidth allocation without fundamentally complicating the overall system architecture.
2Ease of operation
If traditional load balancing mechanisms are used, then the system is easy to operate, but granular application-specific load balancing policies cannot be implemented
Solution Approach 1:
The patent implements dynamic pinning that automatically adjusts traffic flow assignment based on real-time conditions such as bandwidth availability and service level agreements. The system dynamically selects uplink ports for container traffic flows based on current network state and policy requirements, providing granular application-specific load balancing policies while maintaining ease of operation through automated decision-making that eliminates manual configuration complexity.
3Device complexity
If VM port is treated as atomic unit, then the pinning mechanism is simple, but bandwidth allocation control for individual micro-services is lost
Solution Approach 1:
The patent segments the atomic VM port into multiple container ports, each representing a specific micro-service or application component. This segmentation enables the pinning mechanism to associate individual container traffic flows with specific uplink ports based on bandwidth allocation policies, providing granular bandwidth allocation control for micro-services while keeping the pinning mechanism itself relatively simple through rule-based automated assignment.
Data Source
AI summary
A virtual networking switch on a host computing device can receive a first data packet of a micro-service data flow from a virtual machine running on the host computing device. The first data packet can include micro-service flow data identifying a first container instance that transmitted the first data packet. The virtual networking switch can provide a subset of the micro-service flow data to a container orchestrator, that utilizes the first subset of the micro-service flow data to assign a label to the first micro-service data flow. The virtual networking switch can pin the first micro-service data flow to a first uplink port of the host computing device based on the label assigned to the first micro-service data flow, causing data packets received from the virtual machine as part of the first micro-service data flow to be forwarded to their intended recipient via the first uplink port.


