IP Library Granted Patent US 10,193,783
Granted Patent B2
US 10,193,783 · App. 14/804,232 · Granted Jan 29, 2019

System for aggregating statistics associated with interfaces

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,193,783
App. No.
14/804,232
Granted
Jan 29, 2019
Kind
B2
Abstract

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.

Claims (28)

1. A method of aggregating statistics for a set of interfaces associated with a logical forwarding element (LFE), the method comprising:

for each particular interface in the set of interfaces associated with the LFE, defining at least one flow entry comprising (i) a set of matching fields that store flow-identifying parameters for matching with attributes of packets and (ii) a tag identifier that identifies the particular interface and that is not part of a matching field to match with packet attributes;

sending the flow entries to a plurality of physical forwarding elements (PFEs) that implement the LFE, at least a subset of the PFEs executing on host computers along with data compute nodes associated with the LFE;

receiving, from the plurality of PFEs, statistics generated by each PFE for each flow entry that has a tag identifier; and

aggregating the received statistics to produce overall statistics relating to each interface associated with the LFE.

2. The method of claim 1 , wherein the statistics are received from the plurality of PFEs in a set time interval.

3. The method of claim 1 , wherein aggregating the received statistics comprises adding a difference between the received statistics of each particular flow tagged with an identifier of an interface and previously received statistics of each particular flow.

4. The method of claim 1 further comprising detecting a discontinuity with the received statistics by reading a first statistics counter in currently received statistics and comparing the first statistics counter with a second statistics counter from a previously received statistics.

5. The method of claim 1 further comprising detecting a discontinuity with the received statistics by identifying a first duration associated with a flow in currently received statistics and determining whether the first duration is less than a second duration of the same flow in previously received statistics.

6. The method of claim 1 further comprising detecting a discontinuity with the received statistics by calculating a first start time of a flow in currently received statistics and comparing the first start time with a second start time of the same flow from previously received statistics.

7. The method of claim 1 , wherein an interface comprises one of a virtual network interface card (VNIC) connecting a data compute node (DCN) that executes on a host computer to a forwarding element executing on the host, and an uplink interface connecting a physical network interface card (PNIC) to the forwarding element.

8. The method of claim 7 , wherein the tag identifier of the interface is a universally unique identifier (UUID) of the interface.

9. The method of claim 8 , wherein a tag identifier that identifies the particular interface comprises an identifier of a port connecting the interface to a physical or logical forwarding element.

10. A non-transitory machine readable medium storing a program that when executed by at least one processing unit aggregates statistics for a set of interfaces associated with a logical forwarding element (LFE), the program comprising sets of instructions for:

for each particular interface in the set of interfaces associated with the LFE, defining at least one flow entry comprising (i) a set of matching fields that store flow-identifying parameters for matching with attributes of packets and (ii) a tag identifier that identifies the particular interface and that is not part of a matching field to match with packet attributes;

sending the flow entries to a plurality of physical forwarding elements (PFEs) that implement the LFE, at least a subset of the PFEs executing on host computers along with data compute nodes associated with the LFE;

receiving, from the plurality of PFEs, statistics generated by each PFE for each flow entry that has a tag identifier; and

aggregating the received statistics to produce overall statistics relating to each interface associated with the LFE.

11. The non-transitory machine readable medium of claim 10 , wherein the statistics are received from the plurality of PFEs in a plurality of time intervals.

12. The non-transitory machine readable medium of claim 10 , wherein the program further comprises a set of instructions for detecting a discontinuity by reading a first statistics counter in currently received statistics and comparing the first statistics counter with a second statistics counter from previously received statistics.

13. The non-transitory machine readable medium of claim 10 , wherein the program further comprises a set of instructions for storing the aggregated total statistics along with last seen statistics to detect a discontinuity, wherein when a discontinuity is detected in the received statistics, (i) the aggregated total statistics is not updated and (ii) the last seen statistics are replaced with the received statistics.

14. The non-transitory machine readable medium of claim 10 , wherein an interface comprises one of a virtual network interface card (VNIC) connecting a data compute node (DCN) that executes on a host computer to a forwarding element executing on the host, and an uplink interface connecting a physical network interface card (PNIC) to the forwarding element.

15. The non-transitory machine readable medium of claim 10 , wherein the tag identifier of the interface is a universally unique identifier (UUID) of the interface.

16. The non-transitory machine readable medium of claim 15 , wherein a tag identifier that identifies the particular interface comprises an identifier of a port connecting the interface to a physical forwarding element.

17. The non-transitory machine readable medium of claim 10 , wherein the program further comprises a set of instructions for generating a report regarding the statistics for display on a display screen.

18. The method of claim 1 , wherein at least a plurality of tag identifiers for a plurality of flow entries are not packet header values.

19. The method of claim 1 , wherein one interface is a logical port, while another interface is a logical port pair.

20. The method of claim 1 , wherein an interface is a logical forwarding element.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2016
From: MAI, HENRY; BEHERA, SOMIK
To: NICIRA, INC.
Reel/Frame 038259/0355 →