IP Library Granted Patent US 7,929,534
Granted Patent B2
US 7,929,534 · App. 10/880,333 · Granted Apr 19, 2011

Flow logging for connection-based anomaly detection

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 7,929,534
App. No.
10/880,333
Granted
Apr 19, 2011
Kind
B2
Abstract

A plurality of flow collector devices is disposed to collect flow information on a network. Duplicate flow records received from the flow collectors are eliminated by determining whether a pair of flow records has the same, source and destination flow identifiers and were received within a predefined time-period. Non-duplicated flow records received from the plurality of flow collector devices are stored and used to produces a connection table that maps each node on the network to a record that stores information about traffic to or from the node from non-duplicated flow records. The connection table stores statistical information of packets on the network based on a time-slice basis.

Claims (77)

1. A computer implemented method, comprising:

receiving, at an aggregator, flow records from a plurality of flow collector devices that are disposed in a network to collect flow information;

prior to storing the flow records in the aggregator,

in response to determining that a first flow record and a second flow record, received at different flow collectors within a predefined time-period, have the same source and destination flow identifiers, and that the number of bytes, packets, and connections in the first flow record is greater than the number of bytes, packets, and connections, respectively, in the second flow record,

selecting the first flow record for storing in the aggregator, and

discarding the second flow record;

storing non-discarded flow records in the aggregator; and

creating, at the aggregator, a connection table comprising the stored flow records indexed by source and destination flow identifiers.

2. The method of claim 1 , wherein the connection table maps each node on the network to a record that stores information about traffic to or from the node.

3. The method of claim 1 , wherein the connection table stores statistical information of packets on the network based on a time-slice basis.

4. The method of claim 1 , wherein the predefined time-period is a time slice.

5. The method of claim 1 , wherein determining that two flows have the same source and destination flow identifiers includes determining that the two flows have the same source and destination addresses.

6. The method of claim 1 , wherein determining that two flows have the same source and destination flow identifiers includes determining that the two flows have the same source and destination ports.

7. The method of claim 1 , wherein determining that two flows have the same source and destination flow identifiers includes determining that the two flows have the same protocol.

8. The method of claim 1 , wherein the source and destination flow identifiers include the source and destination addresses or ports.

9. The method of claim 1 wherein the source and destination statistics include the source and destination addresses, source and destination ports, and protocol.

10. The method of claim 1 , wherein the flow records in the connection table are indexed by time.

11. The method of claim 1 , wherein the flow records in the connection table are indexed by source address, destination address and time.

12. A system comprising:

a computing device including a non-transitory computer readable medium storing a computer program that includes instructions to cause the computing device to:

receive, at an aggregator, flow records from a plurality of flow collector devices that are disposed in a network to collect flow information;

prior to storing the flow records in the aggregator,

in response to determining that a first flow record and a second flow record, received at different flow collectors within a predefined time-period, have the same source and destination flow identifiers, and that the number of bytes, packets, and connections in the first flow record is greater than the number of bytes, packets, and connections, respectively, in the second flow record,

select the first flow record for storing in the aggregator, and

discard the second flow record;

store non-discarded flow records in the aggregator; and

create a connection table comprising the stored flow records indexed by source and destination flow identifiers.

13. The system of claim 12 , wherein the connection table maps each node on the network to a record that stores information about traffic to or from the node.

14. The system of claim 12 , wherein the connection table stores statistical information of packets on the network based on a time-slice basis.

15. The system of claim 12 wherein the time-period is a time slice.

16. The system of claim 12 , wherein the instructions to determine that two flows have the same source and destination flow identifiers include instructions to determine that the two flows have the same source and destination addresses, source and destination ports, and protocol.

17. A non-transitory computer readable storage medium storing an executable that includes instructions to cause a computing device to:

receive, at an aggregator, flow records from a plurality of flow collector devices that are disposed in a network to collect flow information;

prior to storing the flow records in the aggregator,

in response to determining that a first flow record and a second flow record, received at different flow collectors within a predefined time-period, have the same source and destination flow identifiers, and that the number of bytes, packets, and connections in the first flow record is greater than the number of bytes, packets, and connections, respectively, in the second flow record,

select the first flow record for storing in the aggregator, and

discard the second flow record;

store non-discarded flow records in the aggregator; and

create a connection table comprising the stored flow records indexed by source and destination identifiers.

18. The non-transitory computer readable storage medium of claim 17 , wherein the connection table maps each node on the network to a record that stores information about traffic to or from the node.

19. The non-transitory computer readable storage medium of claim 17 , wherein the connection table stores statistical information of packets on the network based on a time-slice basis.

20. The non-transitory computer readable storage medium of claim 17 , wherein the predefined time-period is a time slice.

21. The non-transitory computer readable storage medium of claim 17 , wherein the instructions to determine that two flows have the same source and destination flow identifiers include instructions to determine whether the two flows have the same source and destination addresses, source and destination ports, and protocol.

22. A computer implemented method, comprising:

receiving, at an aggregator, flow records from a plurality of flow collector devices that are disposed in a network to collect flow information;

prior to storing the flow records in the aggregator,

in response to determining that two or more flow records, received at different flow collectors within a predefined time-period, have the same source and destination flow identifiers,

selecting a flow record from the two or more flow records that has the maximum number of bytes, packets, and connections among the two or more flow records, and

discarding flow records that were not selected;

storing non-discarded flow records in the aggregator; and

creating, at the aggregator, a connection table comprising the stored flow records indexed by source and destination flow identifiers, wherein the connection table maps each node on the network to a record that stores information about traffic to or from the node.

23. The method of claim 22 , wherein the connection table stores statistical information of packets on the network based on a time-slice basis.

24. The method of claim 22 , wherein the predefined time-period is a time slice.

25. The method of claim 22 , wherein determining that two flows have the same source and destination flow identifiers includes determining that the two flows have the same source and destination addresses, the same source and destination ports, and the same protocol.

26. The method of claim 22 , wherein the flow records in the connection table are indexed by time.

27. The method of claim 22 , wherein the flow records in the connection table are indexed by source address, destination address and time.

28. A system comprising:

a computing device including a computer readable medium storing a computer program that includes instructions to cause the computing device to:

receive, at an aggregator, flow records from a plurality of flow collector devices that are disposed in a network to collect flow information;

prior to storing the flow records in the aggregator,

in response to determining that two or more flow records, received at different flow collectors within a predefined time-period, have the same source and destination flow identifiers,

select a flow record from the two or more flow records that has the maximum number of bytes, packets, and connections among the two flow records, and

discard flow records from the two or more flow records that were not selected;

store non-discarded flow records in the aggregator; and

create a connection table comprising the stored flow records indexed by source and destination flow identifiers, wherein the connection table maps each node on the network to a record that stores information about traffic to or from the node.

29. The system of claim 28 wherein the connection table stores statistical information of packets on the network based on a time-slice basis.

30. The system of claim 28 wherein instructions to determine that two flows have the same source and destination flow identifiers include instructions to determine whether the two flows have the same source and destination hosts, source and destination ports and protocol.

31. A non-transitory computer readable storage device storing executable instructions to cause a computing device to:

receive, at an aggregator, flow records from a plurality of flow collector devices that are disposed in a network to collect flow information;

prior to storing the flow records in the aggregator,

in response to determining that two or more flow records, received at different flow collectors within a predefined time-period, have the same source and destination flow identifiers,

select a flow record from the two flow records that has the maximum number of bytes, packets, or connections among the two or more flow records, and

discard flow records from the two or more flow records that were not selected;

store non-discarded flow records in the aggregator; and

create a connection table comprising the stored flow records indexed by source and destination flow identifiers, wherein the connection table maps each node on the network to a record that stores information about traffic to or from the node.

32. The computer program product of claim 31 , wherein the connection table stores statistical information of packets on the network based on a time-slice basis.

33. The computer program product of claim 31 , wherein the instructions to determine that two flows have the same source and destination flow identifiers include instructions to determine that the two flows have the same source and destination addresses, source and destination ports and protocol.

Assignments (21)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2009
From: MAZU NETWORKS, LLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 022542/0800 →
CHANGE OF NAME Recorded Mar 19, 2009
From: MAZU NETWORKS, INC.
To: MAZU NETWORKS, LLC
Reel/Frame 022421/0533 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2004
From: POLETTO, MASSIMILIANO ANTONIO; RATIN, ANDREW; KOHLER, EDWARD W., JR.
To: MAZU NETWORKS, INC.
Reel/Frame 015977/0710 →