IP Library Granted Patent US 9,514,248
Granted Patent B1
US 9,514,248 · App. 14/942,203 · Granted Dec 6, 2016

System to group internet devices based upon device usage

Inventors: Devin Guan (Monte Sereno, CA); Xiang Li (San Mateo, CA); Randy Cotta (San Mateo, CA); Rahul Bafna (San Mateo, CA); Obuli Venkatesan (San Mateo, CA)
Assignee: Drawbridge, Inc.
G06F17/30958G06F17/3053G06F17/30598
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 9,514,248
App. No.
14/942,203
Granted
Dec 6, 2016
Kind
B1
Abstract

A system comprising: an index structure that associates devices with device feature information; a pairing engine to determine device pairs based upon device feature information; a feature vector generation engine to produce feature vectors corresponding to determined device pairs based upon feature values associated within the index structure with devices of the determined device pairs; a scoring engine to determine scores to associate with determined device pairs based upon produced feature vectors; a graph structure, wherein nodes within the graph structure represent devices of determined device pairs, and wherein edges between pairs of nodes within the graph structure indicate determined device pairs; a clustering engine to identify respective clusters of three or more nodes within the graph structure that represent respective groups of devices.

Claims (91)

1. A system comprising:

a computer readable storage device storing an index structure that associates device identifiers with device feature information;

a pairing engine configured to determine candidate device pairs based at least in part upon at least a portion of the device feature information;

a feature vector generation engine configured to produce multiple feature value feature vectors corresponding to determined candidate device pairs, based at least in part upon feature information associated within the index structure with devices of the determined candidate device pairs;

wherein the feature vector engine is configured according to at least one rule to produce a feature value for at least one feature represented within a feature vector corresponding to at least one determined candidate device pair based at least in part upon both device feature information associated within the index structure with a first device identifier of the at least one determined candidate device pair and device feature information associated within the index structure with a second device identifier of the at least one determined candidate device pair;

a scoring engine configured to determine scores to associate with determined candidate device pairs, including the at least one determined candidate device pair, based at least in part upon produced feature vectors associated with the determined candidate device pairs;

a computer readable storage device storing a graph structure, wherein nodes within the graph structure represent device identifiers, including the first device identifier and the second device identifier of the at least one determined candidate device pair, and wherein edges between pairs of nodes within the graph structure indicate determined candidate device pairs;

a clustering engine configured to identify respective clusters of two or more nodes within the graph structure that represent respective groups of devices.

2. The system of claim 1 further including:

a computer readable storage device storing information structures that identify multiple different groups of device identifiers, indicated within the graph structure, that are associated with the different respective users.

3. The system of claim 1 further including:

a targeting engine to use the groups of device identifiers to target information over the internet to users associated with the groups of device identifiers.

4. The system of claim 1 ,

wherein the index structure associates device identifiers with one or more network source/destination address identifiers.

5. The system of claim 1 ,

wherein the index structure associates device identifiers with one or more IP addresses.

6. The system of claim 1 ,

wherein the index structure associates device identifiers with one or more network source/destination address identifiers and one or more timestamps.

7. The system of claim 1 ,

wherein the index structure associates device identifiers with one or more network source/destination address identifiers; and

wherein the pairing engine configured to identify device pairs based at least in part upon device identifiers and associated network source/destination address identifiers.

8. The system of claim 1 ,

wherein the index structure associates device identifiers with one or more IP addresses; and

wherein the pairing engine configured to identify device pairs based at least in part upon device identifiers and associated one or more IP addresses.

9. The system of claim 1 ,

wherein the index structure associates device identifiers with one or more network source/destination address identifiers and one or more timestamps; and

wherein the pairing engine configured to identify device pairs based at least in part upon device identifiers and associated one or more network source/destination address identifiers and one or more timestamps.

10. The system of claim 1 ,

wherein the feature vector generation engine produces feature vectors that include multiple feature values to associate with respective determined device pairs.

11. The system of claim 1 ,

wherein the feature vector generation engine determines feature values to associate with respective determined device pairs based at least in part upon feature information associated within the index structure with device identifiers of devices of respective determined device pairs.

12. The system of claim 1 ,

wherein the feature vector generation engine produces feature vectors that include multiple feature values to associate with respective determined device pairs based at least in part upon feature information associated within the index structure with device identifiers of devices of respective determined device pairs.

13. The system of claim 1 ,

wherein the feature vector generation engine produces feature vectors that include multiple feature values to associate with respective determined device pairs; and

wherein the scoring engine is configured to evaluate correlations between feature vectors associated with different respective determined device pairs.

14. The system of claim 13 ,

wherein the scoring engine produces a scoring model based upon the evaluation of the correlations between feature vectors associated with different respective determined device pairs.

15. The system of claim 14 ,

wherein the scoring engine uses the scoring model to produce scores for at least a portion of the determined device pairs.

16. The system of claim 1 ,

wherein the feature vector generation engine produces feature vectors that include multiple feature values to associate with respective determined device pairs;

wherein the scoring engine is configured to produce multiple remap clusters of determined device pairs based at least in part upon evaluation of affinities between feature vectors associated with the determined device pairs;

wherein the scoring engine is configured to evaluate correlations between feature vectors associated with different respective determined device pairs within the same remap clusters;

wherein the scoring engine produces a scoring model in a computer readable storage device based upon the evaluation of the correlations between feature vectors associated with different respective determined device pairs; and

wherein the scoring engine uses the scoring model to produce scores for at least a portion of the determined device pairs.

17. The system of claim 1 ,

wherein the feature vector generation engine produces feature vectors that include multiple feature values to associate with respective determined device pairs;

wherein the scoring engine is configured to evaluate correlations between feature vectors associated with different respective determined device pairs;

wherein the scoring engine produces a scoring model stored in a computer readable storage device based upon evaluation of correlations between vectors of labeled device pairs and vectors of unlabeled device pairs within the produced clusters; and

wherein the scoring engine uses the scoring model to produce scores for at least a portion of the determined device pairs.

18. The system of claim 1 ,

wherein the scoring engine is configured to produce multiple remap clusters of determined device pairs in which to evaluate correlations between vectors of labeled device pairs and vectors of unlabeled device pairs;

wherein the scoring engine produces a scoring model based upon evaluation of correlations between vectors of labeled device pairs and vectors of unlabeled device pairs within the produced remapped clusters; and

wherein the scoring engine uses the scoring model to produce scores for at least a portion of the determined device pairs.

19. The system of claim 18 ,

wherein the index structure associates respective device identifiers with label information indicative of whether respective devices associated with respective device identifiers are labeled or unlabeled.

20. The system of claim 1 ,

wherein the index structure associates respective device identifiers with label information indicative of whether respective devices associated with respective device identifiers are labeled or unlabeled;

wherein the scoring engine is configured to evaluate correlations between vectors of labeled device pairs and vectors of unlabeled device pairs;

wherein the scoring engine produces a scoring model stored in a computer readable storage device based upon the evaluation of correlations between vectors of labeled device pairs and vectors of unlabeled device pairs within the produced clusters; and

wherein the scoring engine uses the scoring model to produce scores for at least a portion of the determined device pairs.

21. The system of claim 1 ,

wherein the clustering engine is configured to identify clusters of nodes within the graph structure based at least in part upon one or more cluster fitness requirements.

22. The system of claim 1 ,

wherein the clustering engine is configured to use a label propagation process to identify clusters of nodes within the graph structure.

23. The system of claim 1 ,

wherein the clustering engine is configured to use a simulated annealing process to identify clusters of nodes within the graph structure.

24. The system of claim 1 ,

wherein the feature vector generation engine produces feature vectors that include multiple feature values to associate with respective determined device pairs;

wherein the scoring engine is configured to evaluate correlations between feature vectors associated with different respective determined device pairs;

wherein the scoring engine produces a scoring model based at least in part upon the evaluation of the correlations between feature vectors associated with different respective determined device pairs;

wherein the scoring engine uses the scoring model to produce scores for at least a portion of the determined device pairs; and

wherein the clustering engine is configured to identify clusters of nodes within the graph structure based at least in part upon the produced scores.

25. The system of claim 24 ,

wherein the clustering engine is configured to use the produced scores to identify clusters of nodes within the graph structure based at least in part upon one or more cluster fitness requirements.

26. The system of claim 1 ,

wherein the scoring engine is configured to produce multiple remap clusters of determined device pairs in which to evaluate correlations between vectors of labeled device pairs and vectors of unlabeled device pairs;

wherein the scoring engine produces a scoring model based upon evaluation of correlations between vectors of labeled device pairs and vectors of unlabeled device pairs within the produced remapped clusters;

wherein the scoring engine uses the scoring model to produce scores for at least a portion of the determined device pairs; and

wherein the clustering engine is configured to identify clusters of nodes within the graph structure based at least in part upon the produced scores.

27. The system of claim 26 ,

wherein the clustering engine is configured to use the produced scores to identify clusters of nodes within the graph structure based at least in part upon one or more cluster fitness requirements.

28. The system of claim 1 ,

wherein the feature vector generation engine produces feature vectors that include multiple feature values to associate with respective determined device pairs;

wherein the scoring engine is configured to evaluate correlations between feature vectors associated with different respective determined device pairs;

wherein the scoring engine produces a scoring model stored in a computer readable storage device based upon evaluation of correlations between vectors of labeled device pairs and vectors of unlabeled device pairs within the produced clusters; and

wherein the scoring engine uses the scoring model to produce scores for at least a portion of the determined device pairs; and

wherein the clustering engine is configured to identify clusters of nodes within the graph structure based at least in part upon the produced scores.

29. The system of claim 28 ,

wherein the clustering engine is configured to use the produced scores to identify clusters of nodes within the graph structure based at least in part upon one or more cluster fitness requirements.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2019
From: DRAWBRIDGE, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 050144/0607 →
SECURITY INTEREST Recorded Oct 23, 2018
From: DRAWBRIDGE, INC.
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 047276/0322 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2016
From: GUAN, DEVIN; LI, XIANG; COTTA, RANDY; BAFNA, RAHUL; VENKATESAN, OBULI
To: DRAWBRIDGE, INC.
Reel/Frame 038455/0259 →
Continuity (1)
Continuation 14877837 · Oct 7, 2015