IP Library Granted Patent US 10,911,338
Granted Patent B1
US 10,911,338 · App. 16/520,331 · Granted Feb 2, 2021

Packet event tracking

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,911,338
App. No.
16/520,331
Filed
Jul 23, 2019
Granted
Feb 2, 2021
Kind
B1
Examiner
NG, BILLY H
Art Unit
2441
USPC
709/224
Abstract

Example methods and systems are provided for packet event tracking. One example method may comprise: in response to a logical forwarding element detecting a packet event for a first packet, determining a first packet signature of the first packet; and tracking the packet event by updating a set membership filter based on the first packet signature to indicate that the first packet is a member of a set associated with the packet event. The method may also comprise: in response to receiving a query as to whether the packet event has been detected and tracked for a second packet, determining a second packet signature of the second packet. Based on the second packet signature, the set membership filter may be applied to determine whether the second packet is a possible member of the set associated with the packet event.

Claims (65)

1. A method for a computer system to perform packet event tracking, wherein the method comprises:

in response to detecting, by a logical forwarding element supported by the computer system, a packet event for a first packet travelling between a source and a destination via the logical forwarding element,

determining a first packet signature of the first packet; and

tracking the packet event by updating a set membership filter based on the first packet signature to indicate that the first packet is a member of a set associated with the packet event; and

in response to receiving a query as to whether the packet event has been detected and tracked by the logical forwarding element for a second packet,

determining a second packet signature of the second packet; and

based on the second packet signature, applying the set membership filter to determine whether the second packet is a possible member of the set associated with the packet event.

2. The method of claim 1 , wherein updating the set membership filter comprises:

applying k hash functions on the first packet signature to map the first packet signature onto k elements of an array with m elements of the set membership filter.

3. The method of claim 2 , wherein applying the set membership filter comprises:

applying the k hash functions on the second packet signature to map the second packet signature onto k elements of the array with m elements; and

based on the k elements, determining whether the second packet is a possible member of the set of associated with the packet event.

4. The method of claim 1 , wherein the method further comprises:

in response to determination that the second packet is a possible member of the set associated with the packet event, generating and sending a positive response to a management entity from which the query is received.

5. The method of claim 1 , wherein detecting the packet event comprises:

detecting a packet loss event, being the packet event, by dropping the first packet at the logical forwarding element.

6. The method of claim 1 , wherein detecting the packet event comprises:

detecting a performance-related event, being the packet event, by determining that a performance metric is associated with the first packet does not satisfy a predetermined threshold, wherein the performance metric includes one or more of the following: latency, throughput, packet size and jitter.

7. The method of claim 1 , wherein determining the first packet signature comprises at least one of the following:

extracting invariant content from the first packet by applying a mask on the first packet; and

extracting, from the first packet, a set of tuples that includes one or more of the following: source address, source port number, destination address, destination port number and protocol.

8. A non-transitory computer-readable storage medium that includes a set of instructions which, in response to execution by a processor of a computer system, cause the processor to perform packet event tracking, wherein the method comprises

in response to detecting, by a logical forwarding element supported by the computer system, a packet event for a first packet travelling between a source and a destination via the logical forwarding element,

determining a first packet signature of the first packet; and

tracking the packet event by updating a set membership filter based on the first packet signature to indicate that the first packet is a member of a set associated with the packet event; and

in response to receiving a query as to whether the packet event has been detected and tracked by the logical forwarding element for a second packet,

determining a second packet signature of the second packet; and

based on the second packet signature, applying the set membership filter to determine whether the second packet is a possible member of the set associated with the packet event.

9. The non-transitory computer-readable storage medium of claim 8 , wherein updating the set membership filter comprises:

applying k hash functions on the first packet signature to map the first packet signature onto k elements of an array with m elements of the set membership filter.

10. The non-transitory computer-readable storage medium of claim 9 , wherein applying the set membership filter comprises:

applying the k hash functions on the second packet signature to map the second packet signature onto k elements of the array with m elements; and

based on the k elements, determining whether the second packet is a possible member of the set of associated with the packet event.

11. The non-transitory computer-readable storage medium of claim 8 , wherein the method further comprises:

in response to determination that the second packet is a possible member of the set associated with the packet event, generating and sending a positive response to a management entity from which the query is received.

12. The non-transitory computer-readable storage medium of claim 8 , wherein detecting the packet event comprises:

detecting a packet loss event, being the packet event, by dropping the first packet at the logical forwarding element.

13. The non-transitory computer-readable storage medium of claim 8 , wherein detecting the packet event comprises:

detecting a performance-related event, being the packet event, by determining that a performance metric is associated with the first packet does not satisfy a predetermined threshold, wherein the performance metric includes one or more of the following: latency, throughput, packet size and jitter.

14. The non-transitory computer-readable storage medium of claim 8 , wherein determining the first packet signature comprises at least one of the following:

extracting invariant content from the first packet by applying a mask on the first packet; and

extracting, from the first packet, a set of tuples that includes one or more of the following: source address, source port number, destination address, destination port number and protocol.

15. A computer system configured to perform packet event tracking, wherein the computer system comprises:

a processor; and

a non-transitory computer-readable medium having stored thereon instructions that, when executed by the processor, cause the processor to perform the following:

in response to detecting, by a logical forwarding element supported by the computer system, a packet event for a first packet travelling between a source and a destination via the logical forwarding element,

determine a first packet signature of the first packet; and

track the packet event by updating a set membership filter based on the first packet signature to indicate that the first packet is a member of a set associated with the packet event; and

in response to receiving a query as to whether the packet event has been detected and tracked by the logical forwarding element for a second packet,

determine a second packet signature of the second packet; and

based on the second packet signature, apply the set membership filter to determine whether the second packet is a possible member of the set associated with the packet event.

16. The computer system of claim 15 , wherein the instructions for updating the set membership filter cause the processor to:

apply k hash functions on the first packet signature to map the first packet signature onto k elements of an array with m elements of the set membership filter.

17. The computer system of claim 16 , wherein the instructions for applying the set membership filter cause the processor to:

apply the k hash functions on the second packet signature to map the second packet signature onto k elements of the array with m elements; and

based on the k elements, determine whether the second packet is a possible member of the set of associated with the packet event.

18. The computer system of claim 15 , wherein the instructions further cause the processor to:

in response to determination that the second packet is a possible member of the set associated with the packet event, generate and send a positive response to a management entity from which the query is received.

19. The computer system of claim 15 , wherein the instructions for detecting the packet event cause the processor to:

detect a packet loss event, being the packet event, by dropping the first packet at the logical forwarding element.

20. The computer system of claim 15 , wherein the instructions for detecting the packet event cause the processor to:

detect a performance-related event, being the packet event, by determining that a performance metric is associated with the first packet does not satisfy a predetermined threshold, wherein the performance metric includes one or more of the following: latency, throughput, packet size and jitter.

21. The computer system of claim 15 , wherein the instructions for determining the first packet signature cause the processor to perform at least one of the following:

extract invariant content from the first packet by applying a mask on the first packet; and

extract, from the first packet, a set of tuples that includes one or more of the following: source address, source port number, destination address, destination port number and protocol.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2019
From: WANG, YONG; HONG, XINHUA; YU, JIA
To: VMWARE, INC.
Reel/Frame 050622/0979 →