IP Library Granted Patent US 7,644,146
Granted Patent B2
US 7,644,146 · App. 10/859,578 · Granted Jan 5, 2010

System and method for discovering communities in networks

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,644,146
App. No.
10/859,578
Granted
Jan 5, 2010
Kind
B2
Abstract

The disclosed embodiments relate to a system and method for discovering communities in networks. The system and method may include selecting a plurality of nodes from a network of nodes to serve as poles, setting weight values for the poles, applying a community-discovering algorithm based on the weight values, and dividing the network into communities based on a result obtained from the community-discovering algorithm.

Claims (47)

1. A method of discovering communities in a network of nodes, the method comprising operating a processor to perform operations comprising:

selecting ones of the nodes of the network;

assigning a respective weight value to each of the selected nodes;

for each of the unselected ones of the nodes, determining a respective weight value that is equal to an average of the weight values of all of the neighboring ones of the nodes that are connected to the node by a respective edge; and

dividing the network into communities based on an analysis of a distribution of the weight values;

wherein the selecting, the assigning, the determining, and the dividing are performed by a computer.

2. The method of claim 1 , wherein the assigning comprises assigning respective unit-length vector weights to the selected nodes.

3. The method of claim 1 , wherein the determining comprises solving modified Kirchhoff equations for vector sums.

4. The method of claim 1 , wherein the selecting comprises selecting a first one of the nodes and selecting a second one of the nodes based on a breadth-first search for a respective one of the nodes farthest from the first node.

5. The method of claim 1 , wherein the selecting comprises selecting two of the nodes that are not neighboring nodes.

6. The method of claim 1 , wherein the dividing comprises:

defining a community size tolerance;

sorting the nodes into a sequence ordered by their respective weight values;

determining a set of near-the-middle gaps in the sorted weight values based on the community size tolerance; and

selecting a largest gap from the set of near-the-middle gaps.

7. The method of claim 1 , wherein the determining comprises iteratively ascertaining the weight values of the unselected ones of the nodes.

8. The method of claim 1 , wherein the dividing is based on an analysis of a sequence of the nodes ordered by their respective weight values.

9. A method for discovering communities in networks, comprising:

selecting a plurality of nodes from a network of nodes to serve as poles;

setting weight values for the poles;

applying a community-discovering algorithm based on the weight values;

dividing the network into communities based on a result obtained from the community-discovering algorithm;

establishing weight values for other nodes in the network;

defining a community size tolerance;

sorting the weight values of the poles and other nodes using a standard linear time sort;

determining a set of near the middle gaps in the sorted weight values based on the community size tolerance; and

selecting a largest gap from the set of near the middle gaps;

wherein the selecting of the plurality of nodes, the setting, the applying, the dividing, the establishing, the defining, the sorting, the determining, and the selecting of the largest gap are performed by a computer.

10. The method of claim 1 , further comprising:

in each of multiple iterations,

the selecting comprises selecting ones of the nodes that are not neighboring nodes,

and performing the assigning,

performing the determining, and

performing the dividing to identify a respective division of the nodes into communities; and

ascertaining the communities based on a majority vote analysis of the divisions of the nodes respectively identified in each of the iterations.

11. A system for discovering communities in a network on nodes, comprising

a computer programmed to perform operations comprising:

selecting ones of the nodes of the network;

assigning a respective weight value to each of the selected nodes;

for each of the unselected ones of the nodes, determining a respective weight value that is equal to an average of the weight values of all of the neighboring ones of the nodes that are connected to the node by a respective edge; and

dividing the network into communities based on an analysis of a distribution of the weight values.

12. The system of claim 11 , wherein in the selecting the computer is operable to perform operations comprising selecting a first one of the nodes and selecting a second one of the nodes based on a breadth-first search for a respective one of the nodes farthest from the first node.

13. A computer-readable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed by a computer to implement a method of discovering communities in a network of nodes, the method comprising:

selecting ones of the nodes of the network;

assigning a respective weight value to each of the selected nodes;

for each of the unselected ones of the nodes, determining a respective weight value that is equal to an average of the weight values of all of the neighboring ones of the nodes that are connected to the node by a respective edge; and

dividing the network into communities based on an analysis of a distribution of the weight values.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 057650/0537 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2004
From: HUBERMAN, BERNARDO; WU, FANG
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 015431/0964 →