IP Library Granted Patent US 8,406,132
Granted Patent B2
US 8,406,132 · App. 12/129,883 · Granted Mar 26, 2013

Estimating cardinality distributions in network traffic

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 8,406,132
App. No.
12/129,883
Granted
Mar 26, 2013
Kind
B2
Abstract

In one embodiment, a method of monitoring a network. The method includes: receiving, from each host of a set of two or more hosts of the network, a corresponding vector of M components constructed based on data packets received at the host during a time period, M being an integer greater than 1; and, based on the constructed vectors, using an expectation-maximization algorithm to estimate a cardinality distribution for the hosts in the set, wherein constructing a vector includes updating a component of the vector of the corresponding host in response to the corresponding host receiving a data packet, the updating including selecting the component for updating by hashing one or more fields of the data packet received by the corresponding host.

Claims (25)

1. A method of monitoring a network, the method comprising:

receiving, from each host of a set of two or more hosts of the network, a corresponding vector of M components constructed based on data packets received at the host during a time period, M being an integer greater than 1; and

based on the constructed vectors, using an expectation-maximization algorithm to estimate a cardinality distribution for the hosts in the set, wherein constructing a vector includes updating a component of the vector of the corresponding host in response to the corresponding host receiving a data packet, the updating including selecting the component for updating by hashing one or more fields of the data packet received by the corresponding host.

2. The method of claim 1 , wherein the estimate of the cardinality distribution for the hosts in the set is an estimate of the cardinality distribution of the number of hosts in the set that communicate with a given number or range of numbers of peers.

3. The method of claim 1 , wherein the estimate of the cardinality distribution for the hosts in the set is an estimate of the cardinality distribution of the number of hosts in the set that have a given number or range of numbers of flows.

4. The method of claim 1 , wherein the updating further comprises determining a number to assign to the component for updating based on the fields of the data packet received by the one of the hosts.

5. The method of claim 4 , wherein constructing a vector involves updating the number assigned to each component of one of the vectors by a process that changes the assigned number in a monotonic manner.

6. The method of claim 1 , wherein the estimating involves evaluating cardinality distribution shared by the vectors.

7. A server comprising:

a processor adapted to:

receive, from each host of a set of two or more hosts of a network, a corresponding vector of M components constructed based on data packets received at the host during a time period, M being an integer greater than 1; and

based on the constructed vectors, use an expectation-maximization algorithm to estimate a cardinality distribution for the hosts in the set, wherein constructing a vector includes updating a component of the vector of the corresponding host in response to the corresponding host receiving a data packet, the updating including selecting the component for updating by hashing fields of the data packet received by the corresponding host.

8. The server of claim 7 , wherein the estimate of the cardinality distribution for the hosts in the set is an estimate of the cardinality distribution of the number of hosts in the set that communicate with a given number or range of numbers of peers.

9. The server of claim 7 , wherein the estimate of the cardinality distribution for the hosts in the set is an estimate of the cardinality distribution of the number of hosts in the set that have a given number or range of numbers of flows.

10. The server of claim 7 , wherein the updating further comprises determining a number to assign to the component for updating based on the one or more fields of the data packet received by the one of the hosts.

11. The server of claim 10 , wherein constructing a vector of M components involves updating the number assigned to each component of one of the vectors by a process that changes the assigned number in a monotonic manner.

12. The server of claim 7 , wherein the estimate involves evaluating cardinality distribution shared by the vectors.

13. A network comprising:

a set of two or more hosts, each host adapted to construct a corresponding vector of M components based on data packets received at the host during a time period, M being an integer greater than 1; and

a server adapted, based on the constructed vectors, to use an expectation-maximization algorithm to estimate a cardinality distribution for the hosts in the set, wherein constructing a vector includes updating a component of the vector of the corresponding host in response to the corresponding host receiving a data packet, the updating including selecting the component for updating by hashing one or more fields of the data packet received by the corresponding host.

14. The network of claim 13 , wherein the estimate of the cardinality distribution for the hosts in the set is an estimate of the cardinality distribution of the number of hosts in the set that communicate with a given number or range of numbers of peers.

15. The network of claim 13 , wherein the estimate of the cardinality distribution for the hosts in the set is an estimate of the cardinality distribution of the number of hosts in the set that have a given number or range of numbers of flows.

16. The network of claim 13 , wherein the updating further comprises determining a number to assign to the component for updating based on the one or more fields of the data packet received by the one of the hosts.

17. The network of claim 16 , wherein constructing a vector of M components involves updating the number assigned to each component of one of the vectors by a process that changes the assigned number in a monotonic manner.

18. The network of claim 13 , wherein the estimate involves evaluating cardinality distribution shared by the vectors.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jun 3, 2021
From: TERRIER SSC, LLC
To: WSOU INVESTMENTS, LLC
Reel/Frame 056526/0093 →
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP
To: WSOU INVESTMENTS, LLC
Reel/Frame 049246/0405 →
SECURITY INTEREST Recorded May 20, 2019
From: WSOU INVESTMENTS, LLC
To: BP FUNDING TRUST, SERIES SPL-VI
Reel/Frame 049235/0068 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: ALCATEL LUCENT
To: WSOU INVESTMENTS, LLC
Reel/Frame 044000/0053 →
SECURITY INTEREST Recorded Sep 21, 2017
From: WSOU INVESTMENTS, LLC
To: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP
Reel/Frame 043966/0574 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0016 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2013
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 029635/0958 →
MERGER Recorded Jan 11, 2013
From: LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 029612/0903 →