Statistics Aggregator for Network Virtualization Query Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network virtualization platforms face inefficiencies in retrieving interface statistics, particularly due to slow mechanisms for collecting data, which hinder the ability to provide a bulk API for retrieving statistics across multiple hypervisors, leading to impractical and slow operations.

Innovation Solution

A statistics collection framework that periodically aggregates interface statistics, such as flow counter information, using a statistics aggregator, which tags additional identification information to manage discontinuities and acts as a cumulative cache, allowing for faster query responses by eliminating the need to fetch data across multiple hypervisors simultaneously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If statistics are retrieved on demand from multiple hypervisors, then the system can provide accurate real-time data, but the query speed becomes slow and impractical

Engineering Contradiction:
Improvestatistics accuracyVSAvoidquery speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The system performs preliminary actions by periodically collecting and pre-storing interface statistics in a cumulative cache within the statistics aggregator before queries are made. This allows the aggregator to have statistics ready in advance, eliminating the need to fetch data across multiple hypervisors at query time and enabling fast bulk retrieval operations.

Inventive Principle:
Principle #10Preliminary action

2Speed

If statistics are collected periodically and cached, then query speed improves, but the data may not be fully real-time accurate

Engineering Contradiction:
Improvequery speedVSAvoidstatistics accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The statistics aggregator acts as an intermediary between the hypervisors and the querying system. It maintains a cumulative cache that periodically receives and aggregates interface statistics from multiple hypervisors, then serves this pre-aggregated data to queries. This intermediary approach balances real-time accuracy requirements with query performance by providing near-real-time data without requiring simultaneous access to all hypervisors.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If bulk queries retrieve all interface statistics across multiple hypervisors, then complete data is obtained, but the operation becomes slow and impractical

Engineering Contradiction:
Improvedata completenessVSAvoidquery time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The statistics aggregator performs preliminary aggregation of interface statistics from multiple hypervisors into a cumulative cache before bulk queries are executed. When bulk queries request all interface statistics, the aggregator serves this pre-aggregated data locally, eliminating the time-consuming operation of fetching and aggregating data from multiple hypervisors at query time while still providing complete data coverage.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11196654B2System for aggregating statistics associated with interfaces
Publication Date: 2021.12.07 VMWARE INC
  • US11196654B2 patent drawing
  • US11196654B2 patent drawing
  • US11196654B2 patent drawing

AI summary

Some embodiments provide a statistics collection framework that is used to aggregate statistic for interfaces such as logical ports and logical port pairs. Flows that are related with these interfaces are tagged with the identifier of the logical entities for which statistics are being collected. The interface statistics is periodically sent in the background to a statistics aggregator. The read queries for the interface statistics are directed to the statistics aggregator. The statistics aggregator, therefore, acts as a cumulative cache for the interface statistics.