IP Library Granted Patent US 8,204,985
Granted Patent B2
US 8,204,985 · App. 12/110,431 · Granted Jun 19, 2012

Probabilistic aggregation over distributed data streams

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,204,985
App. No.
12/110,431
Granted
Jun 19, 2012
Kind
B2
Abstract

In one embodiment, a method of monitoring a network. The method includes, at each node of a set, constructing a corresponding vector of M components based on a stream of data packets received at the node during a time period, the set including a plurality of nodes of the network, M being greater than 1; and estimating a value of a byte traffic produced by a part of the packets based on the constructed vectors, the part being the packets received by every node of the set. The constructing includes updating a component of the vector corresponding to one of the nodes in response to the one of the nodes receiving a data packet. The updating includes selecting a component of the vector to be updated by hashing a property of the received data packet.

Claims (42)

1. A method of monitoring a network, comprising:

at each node of a set, constructing a corresponding vector of M components based on a stream of data packets received at the node during a time period, the set including a plurality of nodes of the network, M being greater than 1; and

estimating a value of a byte traffic produced by a part of the packets based on the constructed vectors, the part being the packets received by every node of the set;

wherein:

the constructing includes updating a component of the vector corresponding to one of the nodes in response to the one of the nodes receiving a data packet,

the updating includes selecting a component of the vector to be updated by hashing a property of the received data packet, and

the hashing includes (i) mapping the property of the received data packet to a first element of a first hash function having a set of first elements and (ii) mapping the property of the received data packet to a second element of a second hash function having a set of second elements, wherein the property of the received data packet is a hash key used for both the first hash function and the second hash function.

2. The method of claim 1 , wherein the updating includes assigning a value to the selected component, the value depending on a number of bytes in the received data packet causing the update to the selected component.

3. The method of claim 2 , wherein the constructing of the vector of M components involves updating the number assigned to each component by a process that changes the assigned number in a monotonic manner.

4. The method of claim 2 , wherein the estimating involves performing a quasi-maximum likelihood estimation to obtain the value.

5. The method of claim 1 , wherein the estimating involves performing a quasi-maximum likelihood estimation to obtain the value.

6. A network comprising:

a set of nodes, each node configured to construct a corresponding vector of M components based on a stream of data packets received at the node during a time period, the set including a plurality of nodes of the network, M being greater than 1; and

a server configured to (i) receive the constructed vectors from the nodes and (ii) based on the constructed vectors, estimate a value of a byte traffic produced by a part of the packets, the part being the packets received by every node of the set;

wherein:

the constructing of the vector includes updating a component of the vector corresponding to one of the nodes in response to the one of the nodes receiving a data packet,

the updating includes selecting a component of the vector to be updated by hashing a property of the received data packet, and

the hashing includes (i) mapping the property of the received data packet to a first element of a first hash function having a set of first elements and (ii) mapping the property of the received data packet to a second element of a second hash function having a set of second elements, wherein the property of the received data packet is a hash key used for both the first hash function and the second hash function.

7. The network of claim 6 , wherein the updating includes assigning a value to the selected component, the value depending on a number of bytes in the received data packet causing the update to the selected component.

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

9. The network of claim 7 , wherein the estimating involves performing a quasi-maximum likelihood estimation to obtain the value.

10. The network of claim 6 , wherein the estimating involves performing a quasi-maximum likelihood estimation to obtain the value.

11. A non-transitory digital data-storage medium encoding a machine-executable program of instructions for steps of a method of monitoring a network, the steps comprising:

at each node of a set, constructing a corresponding vector of M components based on a stream of data packets received at the node during a time period, the set including a plurality of nodes of the network, M being greater than 1; and

estimating a value of a byte traffic produced by a part of the packets based on the constructed vectors, the part being the packets received by every node of the set;

wherein:

the constructing includes updating a component of the vector corresponding to one of the nodes in response to the one of the nodes receiving a data packet,

the updating includes selecting a component of the vector to be updated by hashing a property of the received data packet, and

the hashing includes (i) mapping the property of the received data packet to a first element of a first hash function having a set of first elements and (ii) mapping the property of the received data packet to a second element of a second hash function having a set of second elements, wherein the property of the received data packet is a hash key used for both the first hash function and the second hash function.

12. The digital data-storage medium of claim 11 , wherein the updating includes assigning a value to the selected component, the value depending on a number of bytes in the received data packet causing the update to the selected component.

13. The digital data-storage medium of claim 12 , wherein the constructing of the vector of M components involves updating the number assigned to each component by a process that changes the assigned number in a monotonic manner.

14. The digital data-storage medium of claim 12 , wherein the estimating involves performing a quasi-maximum likelihood estimation to obtain the value.

15. The digital data-storage medium of claim 11 , wherein the estimating involves performing a quasi-maximum likelihood estimation to obtain the value.

16. The method of claim 1 , wherein the first element is a bucket of a hash array, and the second element is a random number.

17. The method of claim 1 , wherein the second hash function is independent of the first hash function.

18. The method of claim 16 , wherein, for at least one data packet, the value of the bucket identified by the first hash function is updated based on the random number generated by the second hash function.

19. The network of claim 6 , wherein the first element is a bucket of a hash array, and the second element is a random number.

20. The network of claim 6 , wherein the second hash function is independent of the first hash function.

21. The network of claim 19 , wherein, for at least one data packet, the value of the bucket identified by the first hash function is updated based on the random number generated by the second hash function.

22. The digital data-storage medium of claim 11 , wherein the first element is a bucket of a hash array, and the second element is a random number.

23. The digital data-storage medium of claim 11 , wherein the second hash function is independent of the first hash function.

24. The digital data-storage medium of claim 22 , wherein, for at least one data packet, the value of the bucket identified by the first hash function is updated based on the random number generated by the second hash function.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2012
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 028087/0754 →
MERGER Recorded Apr 18, 2012
From: LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 028063/0854 →