IP Library Granted Patent US 10,749,893
Granted Patent B1
US 10,749,893 · App. 16/787,650 · Granted Aug 18, 2020

Systems and methods for inferring entity relationships via network communications of users or user devices

Inventor: Daniel Dahlberg (Somerville, MA)
Assignee: BitSight Technologies, Inc.
H04L63/1433G06F16/288G06N5/04G06Q10/067H04L61/1588H04W8/005H04L61/609
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,749,893
App. No.
16/787,650
Granted
Aug 18, 2020
Kind
B1
Abstract

A number of techniques facilitate generation of data points from observations about network traffic. An inferencing system can use these data points to determine whether a relationship exists between two entities or whether an existing relationship has terminated, without any external knowledge of the existence of or termination of such a relationship.

Claims (86)

1. A method for inferring a relationship between two entities, the method comprising the steps of:

receiving at a server a network observation dataset, each data point in the dataset comprising (a) a device identifier, and (b) (i) a network address or (b) (ii) a device location;

selecting from the dataset a first-type data point comprising: (A) a first device identifier, and (B)(i) a first network address or (B)(ii) a first device location;

identifying a first entity associated with the first network address or the first device location;

selecting from the dataset a second-type data point comprising: (A) the first device identifier, and (C)(i) a second network address different from the first network address or (C)(ii) a second device location different from the first device location;

identifying a second entity that is different from the first entity and that is associated with the second network address or the second device location;

inferring, at a baseline confidence level, a relationship between the first entity and the second entity;

determining that: a total number or frequency of the first-type data points in the dataset is at least equal to a specified home-count or home-frequency threshold; and

determining that: a total number or frequency of the second-type data points in the dataset is at least equal to a specified visitor-count or visitor-frequency threshold.

2. The method of claim 1 , wherein: the first network address comprises: a first Internet Protocol (IP) address, a first service set identifier (SSID), or a first basic SSID (BS SID); and the second network address comprises a second IP address, a second SSID, or a second BSSID.

3. The method of claim 1 , further comprising:

selecting from the dataset a third-type data point comprising: (D) a second device identifier, and (C)(i) the second network address or (C)(ii) the second device location;

selecting from the dataset a fourth-type data point comprising: (D) the second device identifier, and (B)(i) the first network address or (B)(ii) the first device location; and increasing the baseline confidence level.

4. The method of claim 1 , further comprising:

increasing the baseline confidence level.

5. The method of claim 1 , further comprising:

receiving an enrichment attribute; testing whether the enrichment attribute is associated with the first entity or the second entity; and

increasing the baseline confidence level, if the enrichment attribute is determined to be associated with the first entity or the second entity; and

otherwise, decreasing the baseline confidence level or invalidating the inferred relationship.

6. The method of claim 5 , wherein:

the enrichment attribute comprises an entity identifier; and the testing step comprises determining whether the entity identifier identifies the first entity, the second entity, or a different third entity.

7. The method of claim 5 , wherein:

the enrichment attribute comprises a service set identifier (SSID); and

testing step comprises determining whether the SSID is associated with the first network address or the second network address or neither the first nor the second network address.

8. The method of claim 5 , wherein the enrichment attribute comprises a physical location associated with the first or the second network address.

9. The method of claim 5 , wherein:

the enrichment attribute comprises a classification of the first or the second network address; and

the testing step comprises determining whether the classification indicates a business entity.

10. The method of claim 5 , wherein:

the enrichment attribute comprises a list of Access Points (APs) associated with the first network address; and the testing step comprises determining whether one or more APs in the list are designated as non-guest APs.

11. The method of claim 5 , wherein:

the enrichment attribute comprises a list of Access Points (APs) associated with the second network address; and the testing step comprises determining whether one or more APs in the list are designated as guest APs.

12. The method of claim 5 , wherein:

the enrichment attribute comprises a list of devices associated with the first or the second network address and a respective type of each device; and the testing step comprises determining whether one or more devices in the list are endpoint devices.

13. The method of claim 5 , wherein the first data point or the second data point comprises the enrichment attribute.

14. A system for inferring a relationship between two entities, comprising:

a processor;

a network port in communication with the processor and adapted to receive from a data source a network observation dataset, each data point in the dataset comprising one or more of: (i) a device identifier, (ii) a user identifier, (iii) a network address, or (iii) a device location; and

a memory coupled to the processor and comprising instructions, which when executed by the processor, program the processor to:

select from the dataset a first-type data point comprising: (A)(i) a first device identifier or (A)(ii) a first user identifier, and (B)(i) a first network address or (B)(ii) a first device location;

identify a first entity associated with the first network address or the first device location;

select from the dataset a second-type data point comprising: (A)(i) the first device identifier or (A)(ii) the first user identifier, and (C)(i) a second network address or (C)(ii) a second device location;

identify a second entity associated with the second network address or the second device location;

infer a relationship between the first entity and the second entity and designate to the inferred relationship a baseline confidence level;

determining that: a total number or frequency of the first-type data points in the dataset is at least equal to a specified home-count or home-frequency threshold; and

determining that: a total number or frequency of the second-type data points in the dataset is at least equal to a specified visitor-count or visitor-frequency threshold.

15. The system of claim 14 , wherein:

the network port is adapted to receive an enrichment attribute; and the instructions further program the processor to: test whether the enrichment attribute is associated with the first entity or the second entity; and increase the baseline confidence level, if the enrichment attribute is determined to be associated with the first entity or the second entity; and otherwise, decrease the baseline confidence level or invalidate the inferred relationship.

16. The system of claim 15 , wherein the enrichment attribute comprises: (i) an entity identifier, (ii) a service set identifier (SSID), (iii) a physical location associated with the first or the second network address, (iv) a classification of the first or the second network address, (v) a list of Access Points (APs) associated with the first or the second network address and a respective type of each AP, or (vi) a list of devices associated with the first or the second network address and a respective type of each device.

17. The system of claim 15 , wherein the first or the second data point comprises the enrichment attribute.

18. A method for inferring a relationship between two entities, the method comprising the steps of:

receiving at a server a network observation dataset, each data point in the dataset comprising a user identifier and a network address;

selecting from the dataset a first-type data point comprising a first user identifier and a first network address;

identifying a first entity associated with the first network address; selecting from the dataset a second-type data point comprising the first user identifier and a second network address different from the first network address; identifying a second entity that is different from the first entity and that is associated with the second network address;

inferring at a baseline confidence level a relationship between the first entity and the second entity;

determining that: a total number or frequency of the first-type data points in the dataset is at least equal to a specified home-count or home-frequency threshold; and

determining that: a total number or frequency of the second-type data points in the dataset is at least equal to a specified visitor-count or visitor-frequency threshold.

19. The method of claim 18 , further comprising:

selecting from the dataset a third-type data point comprising a second user identifier and

the second network; selecting from the dataset a fourth-type data point comprising the second user identifier and the first network address; and

increasing the baseline confidence level.

20. The method of claim 18 , further comprising:

increasing the baseline confidence level.

21. The method of claim 18 , further comprising:

receiving an enrichment attribute; testing whether the enrichment attribute is associated with the first entity or the second entity; and

increasing the baseline confidence level, if the enrichment attribute is determined to be associated with the first entity or the second entity; and

otherwise, decreasing the baseline confidence level or invalidating the inferred relationship.

22. A system for inferring a relationship between two entities, comprising:

a processor;

a network port in communication with the processor and adapted to receive from a data source a network observation dataset, each data point in the dataset comprising a user identifier and a network address; and

a memory coupled to the processor and comprising instructions, which when executed by the processor, program the processor to:

select from the dataset a first-type data point comprising a first user identifier and a first network address;

identify a first entity associated with the first network address;

select from the dataset a second-type data point comprising the first user identifier and a second network address different from the first network address;

identify a second entity that is different from the first entity and that is associated with the second network address;

infer at a baseline confidence level a relationship between the first entity and the second entity;

determine that: a total number or frequency of the first-type data points in the dataset is at least equal to a specified home-count or home-frequency threshold; and

determine that: a total number or frequency of the second-type data points in the dataset is at least equal to a specified visitor-count or visitor-frequency threshold.

23. The system of claim 22 , wherein the instructions further program the processor to:

select from the dataset a third-type data point comprising a second user identifier and the second network; select from the dataset a fourth-type data point comprising the second user identifier and the first network address; and increase the baseline confidence level.

24. The system of claim 22 , wherein the instructions further program the processor to increase the baseline confidence level.

25. The system of claim 22 , wherein the instructions further program the processor to:

receive an enrichment attribute;

test whether the enrichment attribute is associated with the first entity or the second entity; and

increase the baseline confidence level, if the enrichment attribute is determined to be associated with the first entity or the second entity; and

otherwise, decrease the baseline confidence level or invalidating the inferred relationship.

Assignments (3)
SECURITY INTEREST Recorded Nov 19, 2020
From: BITSIGHT TECHNOLOGIES, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AND COLLATERAL AGENT
Reel/Frame 054481/0727 →
SECURITY INTEREST Recorded Nov 19, 2020
From: BITSIGHT TECHNOLOGIES, INC.
To: SILICON VALLEY BANK
Reel/Frame 054481/0739 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: DAHLBERG, DANIEL
To: BITSIGHT TECHNOLOGIES, INC.
Reel/Frame 051878/0874 →
Continuity (1)
Continuation 16549764 · Aug 23, 2019
Cited By (58)
US 1,119,916 US 12,192,026 US 12,200,038 US 12,200,083 US 12,200,084 US 12,218,776 US 12,218,777 US 12,229,210 US 12,231,253 US 12,231,519 US 12,250,089 US 12,250,090 US 12,260,364 US 12,261,712 US 12,277,187 US 12,277,188 US 12,277,189 US 12,278,878 US 12,278,880 US 12,284,069 US 12,289,383 US 12,294,481 US 12,301,401 US 12,309,123 US 12,309,241 US 12,323,287 US 12,323,500 US 12,323,501 US 12,332,960 US 12,341,860 US 12,355,855 US 12,368,789 US 12,375,582 US 12,411,902 US 12,413,648 US 12,425,492 US 12,438,956 US 12,445,511 US 12,457,273 US 12,483,635 US 12,517,972 US 12,524,490 US 12,524,491 US 12,536,243 US 12,542,764 US 12,549,645 US 12,563,130 US 12,587,429 US 12,587,430 US 12,587,579 US 12,603,809 US 12,652,330 US 12,659,218 US 12,671,750 US 12,706,984 US 12,719,734 US 12,719,735 US 12,719,945