IP Library Granted Patent US 10,291,492
Granted Patent B2
US 10,291,492 · App. 13/968,098 · Granted May 14, 2019

Systems and methods for discovering sources of online content

Inventor: Patrick Mylund Nielsen (Sollentuna, SE)
Assignee: EVIDON, INC.
H04L43/04H04L67/02H04L67/20H04L67/22
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,291,492
App. No.
13/968,098
Granted
May 14, 2019
Kind
B2
Abstract

To determine an association between elements associated with a unified display on a screen, a request associated with the unified display is received from a browser, and a response to the request is identified as a first element associated with the unified display. A second element is identified as being spawned from the first element, if a parameter associated with the first element, which can be an event, a source, or both, is determined to be associated with the second element also. In that case, the second element is determined to be associated with the first element via the parameter.

Claims (116)

1. A method for determining a chain of resources comprising multiple Internet web page code resources that, when interpreted by a web browser, render advertising and/or tracking content in a displayed web page, wherein the multiple Internet web page code resources include a first web page resource and at least a second web page resource loaded by the web browser during interpretation by the web browser of web page code for the web page, the method comprising:

A) identifying, by a processor, a first parameter in first resource contents of the first web page resource, wherein the first parameter includes at least one of a first event and a first Uniform Resource Locator (URL), and wherein the first URL includes a first domain and a first path;

B) identifying by the processor a second parameter in second resource contents of the second web page resource, wherein the second parameter includes at least one of a second event and a second URL including a second domain and a second path;

C) determining by the processor that the second web page resource is loaded by the web browser in response to interpretation of the first web page resource by the web browser by computing a probability that access to the second web page resource is caused by the first parameter, based on a first analysis of the first parameter in the first resource contents of the first web page resource to detect in the first parameter at least one criterion including at least one of:

a company name associated with the second web page resource;

a domain name associated with the second web page resource;

at least a partial path associated with the second web page resource;

a pattern associated with the second web page resource; and

a keyword common to an industry category of a company associated with the second web page resource,

and thereby identify a first link between the first web page resource and the second web page resource; and

D) establishing by the processor the chain of resources for the advertising and/or tracking content in the web page based at least in part on the first link identified in C) between the first web page resource and the second web page resource.

2. The method of claim 1 , wherein the first parameter in the first resource contents comprises the first event and the first URL.

3. The method of claim 1 , further comprising displaying the chain of resources for the advertising and/or tracking content to an end user.

4. The method of claim 1 , wherein in A):

the first parameter in the first resource contents of the first web page resource includes the first event;

the first event includes a request from the web browser; and

the first parameter is identified based on, at least in part, the request from the web browser.

5. The method of claim 1 , wherein:

in A), the first parameter comprises: (i) the first event, and (ii) the first URL specified in association with the first event; and

the second web page resource is: (i) specified by the first event, and (ii) accessible at a web location specified by the first URL.

6. The method of claim 1 , wherein in A), identifying the first parameter comprises at least one of: (i) parsing and (ii) emulating the first web page resource, and wherein the at least one of the parsing and emulating is performed distinctly from rendering the web page.

7. The method of claim 6 , wherein in A), identifying the first parameter comprises emulating the first web page resource, and wherein emulating comprises at least one of at least partially interpreting and at least partially executing the first web page resource.

8. The method of claim 6 , wherein:

in A), identifying the first parameter comprises parsing the first web page resource, and wherein parsing comprises at least a partial parsing of the first resource contents to identify at least a portion of the first domain or the first path of the first URL; and

C) comprises detecting in at least the portion of the first domain or the first path of the first URL the at least one of the company name, the domain name, the path name, the pattern, and the keyword associated with the second web page resource.

9. The method of claim 6 , further comprising:

before B), identifying the second web page resource based on at least a partial parsing or at least partial emulation of the first web page resource.

10. The method of claim 1 , further comprising:

storing in a memory or a cache memory a plurality of Internet web page resources loaded by the web browser from the Internet during interpretation by the web browser of the web page code for the web page, the plurality of Internet web page resources including the first web page resource and the second web page resource, wherein:

B) comprises selecting the second web page resource from the stored plurality of Internet web page resources and identifying the second parameter in the second resource contents; and

C) comprises:

C1) for each web page resource of the stored plurality of Internet web page resources loaded before the second web page resource selected in B):

C1a) performing A) on the web page resource as a potential first web page resource to identify the first parameter of the potential first web page resource; and

C1b) assigning a score to the potential first web page resource based on at least one of the at least one criterion being included in the first parameter identified in C1a); and

C2) selecting as the first web page resource the potential first web page resource with a highest score in C1b).

11. The method of claim 10 , wherein C1b) comprises comparing the first parameter of the potential first web resource to a database of patterns.

12. The method of claim 1 , wherein C) comprises building a map of probabilities, based on analysis of the first web page resource and at least some other web page resources of the multiple Internet web page code resources that render advertising and/or tracking content in the displayed web page, by:

assigning a score to the first web page resource and each resource of the at least some other web page resources; and

incrementing or decrementing the score based on testing the resource against a plurality of criteria associated with the second web page resource.

13. The method of claim 1 , wherein:

the multiple Internet web page code resources that render the advertising and/or tracking content in the displayed web page further include a third web page resource loaded by the web browser during interpretation by the web browser of the web page code for the web page;

C) further comprises determining by the processor that the third web page resource is loaded by the web browser in response to interpretation of the second web page resource by the web browser, based on a second analysis of the second parameter associated with the second web page resource to identify a second link between the second web page resource and the third web page resource; and

D) comprises establishing by the processor the chain of resources for the advertising and/or tracking content in the web page based at least in part on the first link identified in C) between the first web page resource and the second web page resource and the second link identified in C) between the second web page resource and the third web page resource.

14. The method of claim 13 , further comprising displaying the chain of resources for the advertising and/or tracking content to an end user.

15. The method of claim 1 , wherein the second web page resource, when interpreted by the web browser, facilitates rendering of at least one of a displayable content element and an operational content element as part of the advertising and/or tracking content in the displayed web page.

16. The method of claim 15 , wherein the displayable content element comprises an advertisement.

17. The method of claim 15 , wherein the operational content element comprises a tracker monitoring user activity on a computer displaying the web page.

18. The method of claim 1 further comprising intercepting by the processor, at least in part at a network layer implemented by a computing device executing the web browser, at least one of a request by the web browser to load at least one web page code resource and a response to the request so as to identify at least one of the first web page resource and the second web page resource.

19. The method of claim 1 further comprising intercepting by the processor, at least in part at an application layer implemented by a computing device executing the web browser, at least one of a request by the web browser to load at least one web page code resource and a response to the request so as to identify at least one of the first web page resource and the second web page resource.

20. The method of claim 1 further comprising intercepting by the processor, at least in part using a browser add-on, at least one of a request by the web browser to load at least one web page code resource and a response to the request so as to identify at least one of the first web page resource and the second web page resource.

21. The method of claim 1 further comprising intercepting by the processor, at least in part using an intermediary network gateway, the web page code for the web page so as to identify at least one of the first web page resource and the second web page resource.

22. The method of claim 1 , wherein C) comprises comparing the first parameter of the first web resource to a database of patterns.

23. A system for determining a chain of resources comprising multiple Internet web page code resources that, when interpreted by a web browser, render advertising and/or tracking content in a displayed web page, wherein the multiple Internet web page code resources include a first web page resource and at least a second web page resource loaded by the web browser during interpretation by the web browser of web page code for the web page, the system comprising:

a memory for storing a first request received from the web browser; and

a processor configured as:

a receiver for receiving the first request from the web browser; and

an analyzer for: (i) identifying the first web page resource based on the first request from the web browser, (ii) identifying a first parameter associated with the first web page resource, (iii) determining a link between the second web page resource and the first parameter, and (iv) establishing the chain of resources for the advertising and/or tracking content in the web page based at least in part on the link between the first parameter and the second web page resource,

wherein determining a link between the second web page resource and the first parameter comprises computing a probability that access to the second web page resource is caused by the first parameter by detecting in the first parameter at least one of:

a company name associated with the second web page resource;

a domain name associated with the second web page resource;

at least a partial path associated with the second web page resource;

a pattern associated with the second web page resource; and

a keyword common to an industry category of a company associated with the second web page resource.

24. The system of claim 23 , wherein:

the analyzer is further adapted to: (v) receive from the web browser a response to the first request, and (vi) designate the received response as the first web page resource; and

the memory is adapted to store the received response.

25. The system if claim 23 , wherein the processor is further configured as:

an interface to: (i) receive the first web page resource identified by the first request, and (ii) transmit the first web page resource to the web browser; and

an emulator to run the first web page resource to identify the second web page resource.

26. The system of claim 23 , further comprising a display device to display the chain of resources for the advertising and/or tracking content to an end user.

27. An apparatus for determining a chain of resources comprising multiple Internet web page code resources that, when interpreted by a web browser, render advertising and/or tracking content in a displayed web page, wherein the multiple Internet web page code resources include a first web page resource and at least a second web page resource loaded by the web browser during interpretation by the web browser of web page code for the web page, the apparatus comprising:

a memory including processor-executable instructions;

a communication interface to couple the apparatus to the Internet so as to access the web page code; and

a processing unit communicatively coupled to the memory and the communication interface, wherein upon execution of the processor-executable instructions, the processing unit:

A) controls the communication interface to request and receive at least a portion of the web page code for the web page;

B) identifies at least the first web page resource and the second web page resource loaded by the web browser during interpretation by the web browser of the web page code for the web page;

C) identifies a first parameter in first resource contents of the first web page resource, wherein the first parameter includes at least one of a first event and a first Uniform Resource Locator (URL), and wherein the first URL includes a first domain and a first path;

D) computes a probability that access to the second web page resource is caused by the first parameter based on a first analysis of the first parameter in the first resource contents of the first web page resource to detect in the first parameter at least one criterion including at least one of:

a company name associated with the second web page resource;

a domain name associated with the second web page resource;

at least a partial path associated with the second web page resource;

a pattern associated with the second web page resource; and

a keyword common to an industry category of a company associated with the second web page resource,

and thereby identify a first link between the first web page resource and the second web page resource; and

E) establishes the chain of resources for the advertising and/or tracking content in the web page based at least in part on the first link identified in D) between the first web page resource and the second web page resource.

28. The apparatus of claim 27 , wherein upon execution of the processor-executable instructions, the at least one processing unit further:

F) controls the communication interface to transmit data via the Internet to display the chain of resources for the advertising and/or tracking content to an end user.

29. The apparatus of claim 27 , wherein in D), the processing unit further:

D1) determines that the second web page resource is loaded by the web browser in response to interpretation of the first web page resource by the web browser.

30. The apparatus of claim 27 , wherein:

in C), the processing unit parses the first resource contents to identify the first parameter.

31. The apparatus of claim 27 , wherein:

the second web page resource includes second resource contents having a second parameter;

the second parameter includes at least one of a second event and a second URL including a second domain and a second path; and

in D), the processing unit performs the first analysis based at least in part on the second parameter of the second web page resource.

32. The apparatus of claim 27 , further comprising a memory or a cache memory, wherein in D), the processing unit further:

D1) stores in the memory or the cache memory a plurality of Internet web page resources loaded by the web browser from the Internet during interpretation by the web browser of the web page code for the web page, the plurality of Internet web page resources including the first web page resource and the second web page resource;

D2) selects the second web page resource from the stored plurality of Internet web page resources; and

D3) for each web page resource of the stored plurality of Internet web page resources loaded before the second web page resource selected in D):

D3a) performs C) on the web page resource as a potential first web page resource to identify the first parameter of the potential first web page resource; and

D3b) assigns a score to the potential first web page resource based on at least one of the at least one criterion being included in the first parameter identified in D3a); and

D4) selects as the first web page resource the potential first web page resource with a highest score in D3b).

33. The apparatus of claim 32 , wherein in D3b), the processing unit compares the first parameter of the potential first web resource to a database of patterns.

34. The apparatus of claim 27 , wherein in D), the processing unit further:

builds a map of probabilities, based on analysis of the first web page resource and at least some other web page resources of the multiple Internet web page code resources that render advertising and/or tracking content in the displayed web page, by:

assigning a score to the first web page resource and each resource of the at least some other web page resources; and

incrementing or decrementing the score based on testing the resource against a plurality of criteria associated with the second web page resource.

35. The apparatus of claim 27 , wherein:

the multiple Internet web page code resources that render the advertising and/or tracking content in the displayed web page further include a third web page resource loaded by the web browser during interpretation by the web browser of the web page code for the web page;

the second web page resource includes second resource contents having a second parameter;

the second parameter includes at least one of a second event and a second URL including a second domain and a second path;

in D1), the processing unit further determines that the third web page resource is loaded by the web browser in response to interpretation of the second web page resource by the web browser, based on a second analysis of the second parameter associated with the second web page resource to identify a second link between the second web page resource and the third web page resource; and

in E) the processing unit establishes the chain of resources for the advertising and/or tracking content in the web page based at least in part on the first link between the first web page resource and the second web page resource and the second link between the second web page resource and the third web page resource.

36. The apparatus of claim 35 , wherein upon execution of the processor-executable instructions, the at least one processing unit further:

F) controls the communication interface to transmit data via the Internet to display the chain of resources for the advertising and/or tracking content to an end user.

37. The apparatus of claim 27 , wherein in D), the processing unit compares the first parameter of the first web resource to a database of patterns.

Assignments (10)
SECURITY INTEREST Recorded Jan 26, 2026
From: EVIDON, INC.
To: CROWNPEAK TECHNOLOGY HOLDINGS, LLC, AS THE SECURED PARTY
Reel/Frame 073574/0108 →
RELEASE OF SECURITY INTEREST Recorded Mar 1, 2019
From: PNC BANK, NATIONAL ASSOCIATION
To: CROWNPEAK INTERMEDIATE HOLDINGS, INC.; CROWNPEAK TECHNOLOGY, INC.; EVIDON, INC.
Reel/Frame 048479/0851 →
SECURITY INTEREST Recorded Feb 28, 2019
From: CROWNPEAK INTERMEDIATE HOLDINGS, INC.; CROWNPEAK TECHNOLOGY, INC.; EVIDON, INC
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS AGENT
Reel/Frame 048470/0972 →
SECURITY INTEREST Recorded Aug 16, 2017
From: EVIDON, INC.
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 043303/0202 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2017
From: COMERICA BANK
To: EVIDON, INC.
Reel/Frame 043220/0151 →
CHANGE OF NAME Recorded Feb 22, 2017
From: GHOSTERY, INC.
To: EVIDON, INC.
Reel/Frame 041782/0182 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2016
From: NIELSEN, PATRICK M.
To: GHOSTERY, INC.
Reel/Frame 037554/0244 →
SUPPLEMENTAL INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 30, 2014
From: GHOSTERY, INC.
To: COMERICA BANK
Reel/Frame 033254/0052 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2014
From: NIELSEN, PATRICK M.
To: EVIDON, INC.
Reel/Frame 032868/0989 →
CHANGE OF NAME Recorded Apr 22, 2014
From: EVIDON, INC.
To: GHOSTERY, INC.
Reel/Frame 032734/0181 →
Continuity (2)
Provisional Application 61683515 · Aug 15, 2012
Related Publication 20140052851A1 · Feb 20, 2014