IP Library Granted Patent US 8,090,809
Granted Patent B2
US 8,090,809 · App. 10/701,392 · Granted Jan 3, 2012

Role grouping

Assignee: Riverbed Technology, Inc.
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,090,809
App. No.
10/701,392
Granted
Jan 3, 2012
Kind
B2
Abstract

Techniques to assign nodes in a network to groups of nodes includes grouping nodes on a network into groups based on host connection set data by identifying bi-connected components in the host connection set data; and merging groups with similar connection habits as determined by examining the host connection set data into larger groups.

Claims (80)

1. A computer implemented method to assign nodes in a network to groups of nodes, comprising:

observing connection patterns between nodes in the network;

identifying nodes with similar connection patterns in the network, wherein the similar connection patterns are based on regular communication with common network end nodes;

generating a connectivity graph based on observed connection patterns between nodes, wherein, in the connectivity graph, a vertex denotes a node, and an edge between vertices denotes a one-hop connectivity between the corresponding nodes;

grouping the identified nodes into groups based on the connectivity graph; and

merging a first group and a second group into a larger group in response to:

determining that a similarity measure between the first group and the second group exceeds a user-defined threshold, wherein the similarity measure is based on connection patterns from the first group and the second group, and

determining that a first average number of connected host pairs in the first group is within a pre-determined percentage of a second average number of connected host pairs in the second group.

2. The method of claim 1 , wherein said grouping involves identifying bi-connected components, wherein a bi-connected component is a connected component in which any two edges of the component lie in a simple cycle.

3. The method of claim 1 , wherein said grouping includes:

assigning a unique integer identifier to each group.

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

building a k-neighborhood graph from the connectivity graph;

removing group nodes from the connectivity graph; and

generating all bi-connected components in the k-neighborhood graph.

5. The method of claim 4 , wherein for each bi-connected component in the all bi-connected components, forming the groups further comprises:

replacing the nodes in the connectivity graph by a new group node of the replaced nodes; and

labeling a group by a unique identifier and by a degree of similarity between the groups.

6. The method of claim 5 further comprising:

iteratively examining the connection graph until no ungrouped node remains or the degree of similarity between groups is zero.

7. The method of claim 1 , wherein said grouping further comprises:

constructing a k-neighborhood graph to identify bi-connected components from the connectivity graph; and

responsive to a set of nodes placed into a group, assigning nodes in one group to a new group by removing vertices representing the nodes from the connectivity graph and replacing the vertices by one vertex representing the entire group.

8. The method of claim 1 , wherein said grouping is repeated until the groups are large enough that no new groups are to be assigned.

9. The method of claim 1 , wherein for each pair of two groups, G 1 and G 2 , the merging the groups comprises:

appending a triple (G 1 , G 2 , s) to a list of node edges, where s represents a degree of similarity between the two groups, G 1 and G 2 .

10. The method of claim 9 , wherein said merging further comprises:

sorting the list of edges based on their s-values in descending order.

11. The method of claim 10 , wherein said merging further comprises:

forming a new group based on G 1 and G 2 and assigning a number of connection pairs to a host in group G, which is a union of G 1 and G 2 .

12. An apparatus comprising:

a processor;

a memory; and

an observation mechanism configured to observe connection patterns between nodes in a network;

an identification mechanism configured to identify nodes with similar connection patterns in the network, wherein the similar connection patterns are based on regular communication with common network end nodes;

a generating mechanism configured to generate a connectivity graph based on observed connection patterns between nodes, wherein, in the connectivity graph, a vertex denotes a node, and an edge between vertices denotes a one-hop connectivity between the corresponding nodes;

a grouping mechanism configured to group the identified nodes into groups based on the connectivity graph; and

a merging mechanism configured to merge a first group and a second group into a larger group in response to:

determining that a similarity measure between the first group and the second group exceeds a user-defined threshold, wherein the similarity measure is based on connection patterns from the first group and the second group, and

determining that a first average number of connected host pairs in the first group is within a pre-determined percentage of a second average number of connected host pairs in the second group.

13. The apparatus of claim 12 , wherein the grouping mechanism is further configured to identify bi-connected components, wherein a bi-connected component is a connected component in which any two edges of the component lie in a simple cycle.

14. The apparatus of claim 12 wherein the grouping mechanism is further configured to:

assign a unique integer identifier to each group.

15. The apparatus of claim 12 , wherein the merging mechanism is further configured to:

build a k-neighborhood graph from the connectivity graph;

remove group nodes from the connectivity graph; and

generate all bi-connected components in the k-neighborhood graph.

16. The apparatus of claim 15 , wherein for each bi-connected component the group forming mechanism is configured to:

replace the nodes in the connectivity graph by a new group node of the replaced nodes; and

label a group by a unique identifier and by a degree of similarity between the groups.

17. The apparatus of claim 16 further comprising instructions to:

iteratively examining the connection graph until no ungrouped node remains or the degree of similarity between groups is zero.

18. The apparatus of claim 12 , wherein the grouping mechanism is further configured to:

construct a k-neighborhood graph to identify bi-connected components in the connectivity graph; and

responsive to a set of nodes being placed into a group, assign nodes in one group to a new group by removing vertices representing the nodes from the connectivity graph and replacing the vertices by one vertex representing the entire group.

19. The apparatus of claim 12 , wherein the grouping mechanism is configured to repeat until the groups are large enough that no new groups are to be assigned.

20. A computer program product residing on a non-transitory computer readable medium for assigning nodes in a network to groups of nodes comprising instructions, which when executed by a computer, cause the computer to:

observe connection patterns between nodes in the network;

identify nodes with similar connection patterns in the network, wherein the similar connection patterns are based on regular communication with common network end nodes;

generate a connectivity graph based on observed connection patterns between nodes, wherein, in the connectivity graph, a vertex denotes a node, and an edge between vertices denotes a one-hop connectivity between the corresponding nodes;

group the identified nodes into groups based on the connectivity graph; and

merge a first group and a second group into a larger group in response to:

determining that a similarity measure between the first group and the second group exceeds a user-defined threshold, wherein the similarity measure is based on connection patterns from the first group and the second group, and

determining that a first average number of connected host pairs in the first group is within a pre-determined percentage of a second average number of connected host pairs in the second group.

21. The computer program product of claim 20 , wherein said instructions for causing the computer to group the identified nodes into groups include instructions to identify bi-connected components, wherein a bi-connected component is a connected component in which any two edges of the component lie in a simple cycle.

22. The computer program product of claim 20 , wherein said instructions for causing the computer to group the identified nodes into groups comprise instructions to:

assign a unique integer identifier to each group.

23. The computer program product of claim 20 , wherein said instructions to merge further comprise instructions to:

build a k-neighborhood graph from the connectivity graph;

remove group nodes from the connectivity graph; and

generate all bi-connected components in the k-neighborhood graph.

24. The computer program product of claim 23 , wherein, for each bi-connected component in the all bi-connected components, said instructions for causing the computer to group the identified nodes into groups further comprise instructions to:

replace the nodes in the connectivity graph by a new group node of the replaced nodes; and

label a group by a unique identifier and by a degree of similarity between the groups.

25. The computer program product of claim 24 further comprising instructions to:

iteratively examining the connection graph until no ungrouped node remains or the degree of similarity between groups is zero.

26. The computer program product of claim 20 , wherein said instructions for causing the computer to group the identified nodes into groups further comprise instructions to:

construct a k-neighborhood graph to identify bi-connected components in the connectivity graph; and

responsive to a set of nodes being placed into a group, assign nodes in one group to a new group by removing vertices representing the nodes from the connectivity graph and replacing the vertices by one vertex representing the entire group.

27. The computer program product of claim 20 , wherein said instructions for causing the computer to group the identified nodes into groups repeat until the groups are large enough that no new groups are to be assigned.

Assignments (20)
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 - 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 →
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 →
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 →
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 30, 2009
From: MAZU NETWORKS, INC.
To: MAZU NETWORKS, LLC
Reel/Frame 022460/0886 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2004
From: TAN, GODFREY; POLETTO, MASSIMILIANO ANTONIO
To: MAZU, NETWORKS, INC.
Reel/Frame 015420/0097 →
Continuity (4)
Provisional Application 60423557 · Nov 4, 2002
Provisional Application 60427294 · Nov 18, 2002
Provisional Application 60429050 · Nov 25, 2002
Related Publication 20040199792A1 · Oct 7, 2004