Middlebox State Transfer for Cloud Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Scaling middlebox functions in cloud-based computing systems is challenging as it requires maintaining performance standards while minimizing operating costs without adversely affecting accuracy, which is difficult to achieve with existing methods.

Innovation Solution

A system that dynamically transfers network traffic flows and associated state information between middlebox instances, allowing for on-demand scaling without significant loss of accuracy, by buffering and processing packets to ensure continuity and order preservation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If middlebox functions are scaled by waiting for current flows to abate, then accuracy is maintained, but scaling speed is reduced

Engineering Contradiction:
Improvemiddlebox function accuracyVSAvoidscaling speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The system performs preliminary actions by capturing and storing state information about network flows before middlebox instances are terminated. This state information includes flow identification, packet counts, and other relevant metrics. When scaling occurs, this pre-captured state is transferred to new middlebox instances, eliminating the need to wait for flows to naturally abate and maintaining accuracy without sacrificing scaling speed.

Inventive Principle:
Principle #10Preliminary action

2Speed

If middlebox instances are rapidly replaced, then scaling speed is improved, but state rebuilding errors increase

Engineering Contradiction:
Improvescaling speedVSAvoidstate accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The system creates accurate copies of state information from existing middlebox instances to new middlebox instances during scaling operations. Rather than allowing new instances to rebuild state from scratch (which causes errors and delays), the system copies relevant state data including flow states, counters, and configuration information, ensuring rapid scaling without state rebuilding errors.

Inventive Principle:
Principle #26Copying

3Measurement precision

If state information is transferred between middlebox instances, then scaling accuracy is maintained, but system complexity increases

Engineering Contradiction:
Improvestate transfer accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system implements a universal state transfer mechanism that works across different middlebox instance types and scaling scenarios. The state capture and transfer framework is designed to be multi-functional, handling various flow types, middlebox configurations, and scaling patterns through a single unified approach, thereby maintaining accuracy without proportionally increasing system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Reliability

If packet buffering is implemented during state transfer, then packet loss is reduced, but processing time increases

Engineering Contradiction:
Improvepacket delivery reliabilityVSAvoidpacket processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements beforehand cushioning by buffering packets during the state transfer process between middlebox instances. This cushioning mechanism temporarily holds packets that arrive during scaling operations, preventing packet loss while the state is being transferred. The buffer is managed to minimize delays, releasing packets once state transfer is complete, thus maintaining reliability while limiting the time impact.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS9705785B2Cloud architecture with state-saving middlebox scaling
Publication Date: 2017.07.11 WISCONSIN ALUMNI RES FOUND
  • US9705785B2 patent drawing
  • US9705785B2 patent drawing
  • US9705785B2 patent drawing

AI summary

An enterprise computer system efficiently adjusts the number of middleboxes associated with the the enterprise, for example, with changes in demand, by transferring not only flows of instructions but also middlebox states associated with those flows. Loss-less transfer preventing the loss of packets and its state, and order-preserving transfer preserving packet ordering may be provided by a two-step transfer process in which packets are buffered during the transfer and are marked to be processed by a receiving middlebox before processing by that middlebox of ongoing packets for the given flow.