Dynamic Micro-service Pinning to Uplink Ports

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesystem structureVSAvoidvisibility into application-specific traffic flows
Core Design Contradiction:
Device complexityVSLoss of information

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvesystem operationVSAvoidgranular application-specific load balancing policies
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvepinning mechanismVSAvoidbandwidth allocation control
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10432532B2Dynamically pinning micro-service to uplink port
Publication Date: 2019.10.01 CISCO TECHNOLOGY INC
  • US10432532B2 patent drawing
  • US10432532B2 patent drawing
  • US10432532B2 patent drawing

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.