IP Library Granted Patent US 10,157,429
Granted Patent B2
US 10,157,429 · App. 14/663,141 · Granted Dec 18, 2018

Fast and scalable connected component computation

Inventors: Hakan Kardes (Bellevue, WA); Siddharth Agrawal (Bellevue, WA); Xin Wang (Bellevue, WA); Ang Sun (Bellevue, WA)
Assignee: PeopleConnect, Inc.
G06Q50/01
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 10,157,429
App. No.
14/663,141
Granted
Dec 18, 2018
Kind
B2
Abstract

Finding connected components in a graph is a well-known problem in a wide variety of application areas such as social network analysis, data mining, image processing, and etc. We present an efficient and scalable approach to find all the connected components in a given graph. We compare our approach with the state-of-the-art on a real-world graph. We also demonstrate the viability of our approach on a massive graph with ˜6B nodes and ˜92B edges on an 80-node Hadoop cluster. To the best of our knowledge, this is the largest graph publicly used in such an experiment.

Claims (15)

1. A data processing system for finding connected components in a graph comprising:

an input device that receives a list of edges in the graph; and

a distributed processing arrangement coupled to the input device, the distributed processing arrangement including a plurality of processors operatively coupled to at least one memory that execute, in a distributed fashion, an iterative map and reduce process that generates adjacency for nodes in the graph;

wherein the distributed processing arrangement is configured to map connected components in the graph without storing the entire connected components in the at least one memory,

wherein the distributed processing arrangement uses the smallest node identifier in each connected component as the identifier of that component and the output comprises a mapping table from each node in the graph to the smallest node ID in the corresponding connected component.

2. The system of claim 1 wherein the distributed processing arrangement comprises MapReduce.

3. The system of claim 1 wherein the distributed processing arrangement comprises Hadoop.

4. The system of claim 1 wherein the distributed processing arrangement chains the iterative generation of adjacency and the deduplication so that both run iteratively until the corresponding component identifiers for all nodes in the graph are found.

5. The system of claim 1 wherein the distributed processing arrangement passes values to be deduplicated in a sorted way with custom partitioning.

6. The system of claim 1 wherein the distributed processing arrangement finds all connected components in the graph without loading all of said connected components into the memory for simultaneous storage in the memory.

7. The system of claim 1 wherein the distributed processing arrangement is configured to apply mappers to all input key-value pairs to generate an arbitrary number of intermediate key-value pairs, and apply reducers to all values associated with the same key.

8. The system of claim 7 wherein the distributed processing arrangement is configured to write output key-value pairs from each reducer stage into a distributed file system to provide r files where r is the number of reducers.

9. The system of claim 1 wherein the distributed processing arrangement is configured to assign each map task a sequence of input key value pairs.

10. The system of claim 1 wherein the distributed processing arrangement is configured to supply reducers with values in an unsorted order.

11. The system of claim 1 wherein the distributed processing arrangement is configured to iterate values just once without loading all of the iterate values into the at least one memory.

Assignments (9)
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 35990/788 Recorded Feb 7, 2020
From: PROSPECT CAPITAL CORPORATION, AS COLLATERAL AGENT
To: PEOPLECONNECT, INC. (FORMERLY INTELIUS, INC.)
Reel/Frame 051843/0768 →
SECURITY INTEREST Recorded Jan 28, 2020
From: PEOPLECONNECT, INC.
To: PROSPECT CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 051643/0712 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2018
From: KARDES, HAKAN; AGRAWAL, SIDDHARTH; WANG, XIN; SUN, ANG
To: PEOPLECONNECT, INC.
Reel/Frame 047138/0976 →
CHANGE OF NAME Recorded Aug 9, 2017
From: INTELIUS, INC.
To: PEOPLECONNECT, INC.
Reel/Frame 043496/0890 →
MERGER Recorded Aug 9, 2017
From: INTELIUS MERGER SUB, INC.; INOME, INC.
To: INTELIUS, INC.
Reel/Frame 043246/0089 →
SECURITY INTEREST Recorded Jul 8, 2015
From: INTELIUS, INC.
To: PROSPECT CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 036033/0896 →
SECURITY INTEREST Recorded Jul 6, 2015
From: INTELIUS, INC.
To: PROSPECT CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 035990/0788 →
CHANGE OF NAME Recorded Jul 2, 2015
From: INOME, INC.
To: INTELIUS, INC.
Reel/Frame 035972/0446 →
CHANGE OF NAME Recorded May 21, 2015
From: INTELIUS, INC.
To: INOME, INC.
Reel/Frame 035749/0553 →
Continuity (2)
Provisional Application 61955344 · Mar 19, 2014
Related Publication 20150269230A1 · Sep 24, 2015