Decoupling Packet Statistics from Flow Lifetimes in SDN

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network virtualization platforms face inaccuracies in packet statistics due to the shared lifetime of flow statistics, which are deleted when corresponding flows are removed, leading to incomplete data reported to the management plane.

Innovation Solution

A dedicated statistics collection flow table is created, where flows are installed only once and remain until the logical entity is deleted, with matching criteria based on the logical entity identifier and statistics counter type, allowing for accurate and independent tracking of packet statistics without actions other than metadata note actions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If flow statistics are shared with the same lifetime as the flow, then the system can use fewer separate data structures, but the statistics become inaccurate or incomplete when the flow is deleted

Engineering Contradiction:
Improvedata structure complexityVSAvoidstatistics accuracy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the flow table into two separate tables: a flow table for packet processing and a statistics collection table for accurate counting. This segmentation allows the statistics collection to be independent from flow lifecycle changes, ensuring statistics remain accurate even when flows are deleted or modified.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a statistics collection table as an intermediary between packet processing flows and the management plane. This intermediary table专门 collects statistics with a different lifetime (until logical entity deletion) rather than sharing the flow's lifetime, acting as a mediator that decouples statistics collection from flow management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the daemon adds additional intelligence to track flow churn, then statistics accuracy can be maintained, but the daemon complexity increases

Engineering Contradiction:
Improvestatistics accuracyVSAvoiddaemon complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the statistics collection function from the daemon and implements it directly in the flow table structure. By taking out the statistics collection logic from the daemon's responsibility and embedding it in the forwarding element's flow table, the daemon no longer needs to track flow churn or add additional intelligence, reducing its complexity while maintaining accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The flow table itself provides the statistics collection functionality through its dedicated table structure and note actions, making the system self-sufficient. The flow table automatically collects and maintains statistics without requiring the daemon to actively manage or track flow changes, enabling the system to serve its own statistics collection needs independently.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If flows are deleted when configuration changes, then the forwarding element adapts to new configurations, but the corresponding statistics are also deleted resulting in incomplete data

Engineering Contradiction:
Improveconfiguration adaptabilityVSAvoidstatistics data loss
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent segments the flow table into two separate tables: a flow table for packet processing and a statistics collection table for accurate counting. This segmentation allows the statistics collection to be independent from flow lifecycle changes, ensuring statistics remain accurate even when flows are deleted or modified.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by installing flows with note actions that collect statistics before the flow is potentially deleted or modified. The statistics are collected in advance and stored in the dedicated table, ensuring that when configuration changes occur and flows are reinstalled, the statistics data is already preserved and not lost.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10243850B2Method to reduce packet statistics churn
Publication Date: 2019.03.26 VMWARE INC
  • US10243850B2 patent drawing
  • US10243850B2 patent drawing
  • US10243850B2 patent drawing

AI summary

A method of collecting statistics for a set of logical entities associated with a flow-based managed forwarding element. A statistics collection flow table is created for collecting statistics for logical entities. For each pair of logical entity and collected statistics type, a flow entry is added to the statistics collection flow table and includes a matching criteria for matching the identification the logical entity and the type of the statistics collected by the flow entry. When a particular statistics for a logical entity is to be updated during the processing of a packet by a flow table, the packet is submitted by the flow table to the statistics collection flow table. The statistics are updated for the logical entity by matching the identification of the logical entity and the particular statistics type with the matching criteria of a flow entry in the statistics collection flow table.