Virtual Filtering Platform Flow State Save and Restore

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud-based networks, updating the driver of a virtual filtering platform results in loss of connection states for virtual machines, leading to reestablishment of connections and a noticeable impact on user experience due to the absence of preserved connection states across updates.

Innovation Solution

A system and method for saving and restoring the connection flow state of the virtual filtering platform by serializing the policy and state using a one-pass algorithm, transitioning from a first driver instance to a second instance, and reconciling ongoing flows on the second instance, thereby minimizing the impact of updates on users.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the driver instance is updated in the virtual filtering platform, then the system can benefit from improved driver functionality and bug fixes, but the connection states for virtual machines are lost, causing connections to drop and requiring reestablishment

Engineering Contradiction:
Improveconnection state preservationVSAvoiddriver update capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by serializing the policy and flow state data from the first driver instance before the driver update occurs. This serialization captures all connection states and network policy information in advance, ensuring that when the second driver instance is loaded, the connection states can be restored without loss, thus preventing connection drops before they happen

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating a serialized copy of the policy and flow state data from the first driver instance. This copy is stored in a persistent format that can be transferred to and restored by the second driver instance, allowing the new driver to inherit all connection states without requiring reestablishment of connections

Inventive Principle:
Principle #26Copying

2Loss of time

If connection states are preserved across driver updates through serialization and deserialization, then user experience is maintained, but additional processing time and computational resources are consumed during the update process

Engineering Contradiction:
Improveconnection reestablishment timeVSAvoidserialization processing complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The serialization of policy and flow state is performed as a preliminary action before the driver instance is unloaded and before the second driver is loaded. This timing ensures that the serialization processing occurs during the inevitable driver update window, rather than adding extra time to connection operations, thus minimizing the impact on user experience

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediary serialization format as a mediator between the first and second driver instances. This intermediate representation stores connection states in a compact, transferable format that reduces the computational complexity of the transfer process compared to maintaining direct in-memory connections across driver boundaries

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If the first driver instance is completely unloaded before loading the second instance, then the driver update is clean and simple to implement, but the connection states are lost and must be reestablished

Engineering Contradiction:
Improvedriver update simplicityVSAvoidconnection state continuity
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent applies preliminary action by performing the serialization of connection states before unloading the first driver instance. This ensures that the simple unload-load process can proceed without complexity, while the pre-serialized data ensures connection state continuity is maintained through the otherwise disruptive driver replacement process

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating a persistent copy of the policy and flow state data that survives the driver unload process. This copy is then restored by the second driver instance, allowing the first driver to be completely unloaded and replaced without losing connection states, thus maintaining reliability while preserving implementation simplicity

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11561812B2Network policy and flow state save/restore for highly available servicing
Publication Date: 2023.01.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11561812B2 patent drawing
  • US11561812B2 patent drawing
  • US11561812B2 patent drawing

AI summary

Described herein is a system and method for flow state save/restore of a virtual filtering platform. A first instance of a driver manages policy and flow state for ongoing flows between client device(s) and virtual machine(s). The virtual filtering platform is transitioned from the first instance of a driver to a second instance of the driver by serializing the policy and state for the ongoing flows on the first instance of the driver using a one pass algorithm. The serialized policy and state for the ongoing flows can be de-serialized with the ongoing flows re-established and/or reconciled on the second instance of the driver in accordance with the de-serialized policy and state for the plurality of ongoing flows. In some embodiments, a memory management technique can use a single operating system memory allocation call to allocate memory for the transition, with the technique managing utilization of the allocation memory.