Packet Manager VM Shared Memory Access for Service Chain Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Service chain processing in virtual environments faces challenges due to the need for multiple packet copies, which leads to confusion in tracking packet modifications and increases system latency, as hypervisors struggle to track packet states and handle alterations made by virtual network functions.
Innovation Solution
A packet manager virtual machine (VM) is introduced to control access to shared memory, allowing service chain VMs to process packets without copying data, using pointers to access shared memory and reducing the need for packet copies, thereby improving tracking and reducing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If packet data is copied to memory associated with each service chain VM for processing, then each VM can independently process packets, but the number of packet copies increases and system latency increases
Solution Approach 1:
The patent applies selective copying by creating packet copies only when necessary - specifically when packets need to be transmitted between different VM servers or when service chain processing is not applicable. The hypervisor intelligently determines whether copying is needed based on the packet's destination and the configured service chain, thereby minimizing unnecessary copies while maintaining independent processing capability where required.
Solution Approach 2:
The patent merges the packet processing functionality into a shared memory space that is accessible by multiple service chain VMs. Instead of each VM having its own separate packet copy, the packets are stored in shared memory that can be accessed by multiple VMs simultaneously, reducing the number of copies while allowing each VM to process packets independently through shared access.
2Productivity
If multiple packet copies are created for service chain processing, then packets can be processed by multiple VMs, but tracking packet modifications becomes confusing and difficult
Solution Approach 1:
The patent implements a feedback mechanism where the hypervisor continuously tracks the state of packets in shared memory and maintains information about which service chain VMs have processed which packets. This feedback system allows the hypervisor to monitor packet modifications, update packet state information, and ensure accurate tracking even when multiple VMs are processing packets concurrently through shared memory.
Solution Approach 2:
The hypervisor acts as an intermediary between service chain VMs and packet data in shared memory. It mediates access to packet copies, manages the creation and destruction of packet copies, and maintains the central packet state information. This intermediary role ensures that all VMs operate from a consistent understanding of packet state while allowing parallel processing to occur.
3Adaptability or versatility
If packets are frequently copied between hypervisor memory and VM memory, then service chain processing can be performed, but system latency increases
Solution Approach 1:
The patent applies preliminary action by pre-configuring service chains and determining which packets require service chain processing before packets are actually transmitted. The hypervisor evaluates packet characteristics and service chain configurations in advance, preparing the necessary packet copies and routing decisions beforehand. This preliminary preparation reduces the number of ad-hoc packet copies needed during actual transmission, thereby reducing latency while maintaining processing flexibility.
Data Source
AI summary
Systems and methods are disclosed to provide packet copy management for service chain processing within virtual processing systems. A packet manager virtual machine (VM) controls access to shared memory that stores packet data for packets being processed by service chain VMs operating within a virtual processing environment. For certain embodiments, the packet manager VM is configured to appear as a destination NIC (network interface controller), and virtual NICs (vNICs) within the service chain VMs are configured to process packet data using pointers to access the packet data within the shared memory. Once packet data is processed by one service chain VM, the next service chain VM within the service chain is able to access the processed packet data within the shared memory through the packet manager VM. Once all service chain processing has completed, the resulting packet data is available from the shared memory for further use or processing.


