Vertical Auto-Scaling Networking Stack Packet Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In network environments, efficiently processing varying network traffic volumes without causing connection drops or latency is challenging, and existing methods struggle to automatically scale the number of packet engines without disrupting traffic or requiring manual intervention.

Innovation Solution

The system implements vertical auto-scaling by mirroring network traffic using a raw socket, allowing the number of packet engines to be scaled up or down seamlessly without disruptions, by activating new packet engines and transferring connection information through shared memory regions, enabling efficient utilization of hardware resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of packet engines is increased to handle higher network traffic volumes, then network processing capacity is improved, but hardware resource utilization becomes inefficient when traffic volume decreases

Engineering Contradiction:
Improvenetwork processing capacityVSAvoidhardware resource utilization
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts the number of active packet engines based on real-time network traffic conditions. When traffic volume increases, additional packet engines are activated to handle the load; when traffic decreases, packet engines are deactivated to conserve hardware resources. This dynamic adaptation resolves the contradiction between maintaining high processing capacity and efficient resource utilization.

Inventive Principle:
Principle #15Dynamics

2Use of energy by moving object

If manual intervention is used to adjust packet engine numbers, then hardware resource utilization can be optimized, but operational complexity and response time increase

Engineering Contradiction:
Improvehardware resource utilizationVSAvoidoperational complexity
Core Design Contradiction:
Use of energy by moving objectVSEase of operation

Solution Approach 1:

The system implements automatic detection and adjustment of packet engine numbers based on network traffic conditions. The networking stack autonomously monitors traffic volume and activates or deactivates packet engines without requiring manual intervention. This self-service mechanism optimizes hardware resource utilization while eliminating operational complexity and enabling rapid response to traffic changes.

Inventive Principle:
Principle #25Self-service

3Use of energy by moving object

If packet engines are activated or deactivated to match traffic volume, then hardware resource utilization is improved, but network traffic disruptions and connection drops occur

Engineering Contradiction:
Improvehardware resource utilizationVSAvoidnetwork traffic continuity
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The system performs preliminary actions to ensure smooth transitions when adjusting packet engine numbers. Before deactivating packet engines, the system mirrors network traffic to remaining active engines and establishes connection state synchronization. This preliminary preparation prevents traffic disruptions and connection drops during the scaling process, maintaining reliability while optimizing resource utilization.

Inventive Principle:
Principle #10Preliminary action

4Speed

If the number of packet engines is increased to eliminate latency, then network processing speed is improved, but system complexity and resource consumption increase

Engineering Contradiction:
Improvenetwork processing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system dynamically adjusts the number of packet engines based on real-time network traffic conditions and latency requirements. When latency becomes critical, additional packet engines are activated to increase processing speed; when latency is acceptable, engines are deactivated to reduce system complexity. This dynamic approach optimizes the balance between speed and complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20220360531A1Vertical auto-scaling of a networking stack
Publication Date: 2022.11.10 CITRIX SYSTEMS INC
  • US20220360531A1 patent drawing
  • US20220360531A1 patent drawing
  • US20220360531A1 patent drawing

AI summary

Systems and methods of vertical auto-scaling a networking stack by adjusting the number of packet engines executing on a device are provided. A device intermediary to clients and servers executes first packet engines to process network traffic of a first set of connections. The device determines to adjust the number of packet engines executing on the device based on trigger parameters. The device activates second packet engines to process network traffic for a second set of connections. The device mirrors the network traffic from the first and second set of connections. The first packet engines reject the traffic from the second connections, and the second packet engines reject the traffic from the first connections. The device deactivates the first packet engines when the first connections timeout.