IP Library Granted Patent US 11,188,941
Granted Patent B2
US 11,188,941 · App. 15/402,868 · Granted Nov 30, 2021

Methods and apparatus to collect and process browsing history

Inventors: Teresa Vandusen (Richardson, TX); Achilleas Papakostas (Dallas, TX); Guy Syafoek (Tampa, FL); Denis Yastrebov (Nizhny Novgorod, RU); Dmitri Vasin (Nizhny Novgorod, RU)
Assignee: The Nielsen Company (US), LLC
G06Q30/0255G06F16/957H04L67/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 11,188,941
App. No.
15/402,868
Granted
Nov 30, 2021
Kind
B2
Abstract

Methods and apparatus to collect and process browsing history are disclosed. One disclosed method of collecting browsing history includes collecting a plurality of web requests, and for a web request in the plurality of web requests, determining a count indicating a number of other ones of the plurality of web requests that include a referrer identifying the web request. The method also includes when the count meets a threshold, indicating that the web request is a parent web request.

Claims (49)

1. A method of determining browsing history of a web application, the method comprising:

collecting, by executing instructions via at least one second thread different from a first thread, a plurality of web requests associated with a web application, the at least one second thread executing a web browser analyzer that is prevented from accessing browser history, the web browser analyzer having access to Hypertext Transfer Protocol (HTTP) data associated with the plurality of requests, the first thread executing the web application, the first thread and the at least one second thread executing on at least one processor;

logging, by executing instructions via the at least one second thread of the web browser analyzer, the HTTP data associated with the plurality of web requests;

parsing, by executing instructions via at least one of a data packet analyzer or the web browser analyzer, the HTTP data;

for a web request in the plurality of web requests, determining, by executing instructions via the at least one second thread, a count indicating a number of other ones of the plurality of web requests that include a referrer identifying the web request based on the parsed HTTP data; and

in response to the count exceeding a threshold, providing, by executing instructions via the at least one second thread, a uniform resource locator (URL) of a parent web request via the web browser analyzer, the threshold calculated based on a root mean square of counts pertaining to the other ones of the plurality of web requests.

2. The method as defined in claim 1 , further including adding, by executing instructions via the at least one second thread of the at least one processor, a webpage identified in the web request to a browsing history list.

3. The method as defined in claim 1 , further including filtering, by executing instructions via the at least one second thread of the at least one processor, the web requests having a respective count that meets the threshold.

4. The method as defined in claim 3 , wherein the filtering the web requests occurs based on detection of at least one of an in-page request, a script, a cascading style sheet (CSS), or a ping.

5. The method as defined in claim 1 , further including filtering, by executing instructions via the at least one second thread of the at least one processor, web requests of the plurality of web requests that have a respective count above the threshold.

6. The method as defined in claim 1 , further including adding, by executing instructions via the at least one second thread of the at least one processor, web requests that have respective counts greater than the threshold to an array.

7. The method as defined in claim 6 , further including removing, by executing instructions via the at least one second thread of the at least one processor, web requests from the array based on an exceeded time duration of the web requests being in the array.

8. The method as defined in claim 6 , further including removing, by executing instructions via the at least one second thread of the at least one processor, web requests from the array based on later incoming web requests into the array having respective counts greater than the threshold.

9. The method as defined in claim 6 , further including removing, by executing instructions via the at least one second thread of the at least one processor, the least one web request from the array based on at least one of:

a time duration to which the least one web request has been placed into the array, or

a later received web request having a respective number of referrer counts exceeding a referrer count corresponding to the least one web request in the array.

10. The method as defined in claim 1 , further including storing, by executing instructions via the at least one second thread of the at least one processor, the web request.

11. The method as defined in claim 1 , further including discarding, by executing instructions via the at least one second thread of the at least one processor, a web request of the plurality of web requests that is not determined to be a parent web request.

12. The method as defined in claim 1 , wherein the method of claim 1 is repeated for another web request in the plurality of web requests.

13. The method as defined in claim 1 , further including discarding a web request of the plurality of collected web requests with a respective referrer count that does not meet the threshold.

14. The method as defined in claim 1 , wherein the method of claim 1 is repeated for a second plurality of collected web requests.

15. The method as defined in claim 1 , wherein the first thread is executed on a first processor of a first device and the second thread is executed on a second processor of a second device different from the first device.

16. A tangible machine readable medium comprising instructions, which when executed, cause at least one processor to at least:

determine, via at least one second thread different from a first thread, a number of referrers corresponding to respective web requests of a plurality of web requests associated with a web application, the first thread executing the web application, the first thread and the at least one second thread executing on the at least one processor, the at least one second thread executing a web browser analyzer that is prevented from accessing browser history, the web browser analyzer having access to Hypertext Transfer Protocol (HTTP) data associated with the plurality of requests;

log, via the at least one second thread of the web browser analyzer, the HTTP data associated with the plurality of web request;

parse, via at least one of a data packet analyzer or the web browser analyzer, the HTTP data;

identify, via the at least one second thread, a web request of the plurality of web requests that has a respective number of referrers that exceeds a threshold as a parent web request based on the parsed HTTP data, the threshold calculated for a web request of the plurality of web requests based on a root mean square of referrer counts corresponding to other web requests of the plurality of web requests; and

provide a uniform resource locator (URL) of the parent request.

17. The machine readable medium as defined in claim 16 , wherein the instructions further cause the at least one processor to filter, via the second thread, a web request that has a respective number of referrers meeting the threshold.

18. The machine readable medium as defined in claim 17 , wherein filtering the web request occurs based on detection of at least one of an in-page request, a script, a cascading style sheet (CSS) request, or a ping.

19. The machine readable medium as defined in claim 16 , wherein the instructions further cause the at least one processor to place, via the second thread, the web request having numbers of referrers that meet the threshold into an array, wherein the array is to be updated based on at least one of a time duration of web requests placed in the array, or later incoming web requests having a greater number of respective number of referrers than the web request.

20. The machine readable medium as defined in claim 16 , wherein the instructions further cause the at least one processor to store, via the second thread, the identified web request.

21. The machine readable medium as defined in claim 16 , wherein the instructions further cause the at least one processor to discard, via the second thread, a web request of the plurality of web requests that has a respective number of referrers that do not meet the threshold.

22. The machine readable medium as defined in claim 16 , wherein the instructions further cause the at least one processor to repeat the instructions of claim 16 based on a second plurality of web requests.

23. An apparatus comprising:

at least one memory;

instructions; and

at least one processor to execute the instructions to:

determine, via at least one second thread different from a first thread, a number of referrers corresponding to respective web requests of a plurality of web requests associated with a web application, the first thread executing the web application, the first thread and the at least one second thread executing on the at least one processor, the at least one second thread executing a web browser analyzer that is prevented from accessing browser history, the web browser analyzer having access to Hypertext Transfer Protocol (HTTP) data associated with the plurality of requests,

log, via the at least one second thread of the web browser analyzer, the HTTP data associated with the plurality of web request,

parse, via at least one of a data packet analyzer or the web browser analyzer, the HTTP data,

identify, via the at least one second thread, a web request of the plurality of web requests that has a respective number of referrers that exceeds a threshold as a parent web request based on the parsed HTTP data, the threshold calculated for a web request of the plurality of web requests based on a root mean square of referrer counts corresponding to other web requests of the plurality of web requests, and

provide a uniform resource locator (URL) of the parent request.

24. The apparatus as defined in claim 23 , wherein the at least one processor is to filter, via the second thread, a web request that has a respective number of referrers meeting the threshold.

25. The apparatus as defined in claim 24 , wherein filtering the web request occurs based on detection of at least one of an in-page request, a script, a cascading style sheet (CSS) request, or a ping.

26. The apparatus as defined in claim 23 , wherein the at least one processor is to place, via the second thread, the web request having numbers of referrers that meet the threshold into an array, wherein the array is to be updated based on at least one of a time duration of web requests placed in the array, or later incoming web requests having a greater number of respective number of referrers than the web request.

27. The apparatus as defined in claim 23 , wherein the at least one processor is to store, via the second thread, the identified web request.

28. The apparatus as defined in claim 23 , wherein the at least one processor is to discard, via the second thread, a web request of the plurality of web requests that has a respective number of referrers that do not meet the threshold.

29. The apparatus as defined in claim 23 , wherein the at least one processor is to repeat the instructions of claim 23 based on a second plurality of web requests.

Assignments (8)
RELEASE (REEL 054066 / FRAME 0064) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063605/0001 →
RELEASE (REEL 053473 / FRAME 0001) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063603/0001 →
SECURITY INTEREST Recorded May 8, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: ARES CAPITAL CORPORATION
Reel/Frame 063574/0632 →
SECURITY INTEREST Recorded Apr 28, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: CITIBANK, N.A.
Reel/Frame 063561/0381 →
SECURITY AGREEMENT Recorded Jan 31, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 063560/0547 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS LISTED ON SCHEDULE 1 RECORDED ON 6-9-2020 PREVIOUSLY RECORDED ON REEL 053473 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SUPPLEMENTAL IP SECURITY AGREEMENT. Recorded Oct 7, 2020
From: A.C. NIELSEN (ARGENTINA) S.A.; A.C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A
Reel/Frame 054066/0064 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Jun 9, 2020
From: A. C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NIELSEN UK FINANCE I, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A.
Reel/Frame 053473/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2017
From: VANDUSEN, TERESA; PAPAKOSTAS, ACHILLEAS; SYAFOEK, GUY; YASTREBOV, DENIS; VASIN, DMITRI
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 041357/0536 →
Priority Claims (1)
RU RU2016124630 · Jun 21, 2016 · national
Continuity (1)
Related Publication 20170364949A1 · Dec 21, 2017
Cited By (2)
US 12,190,130 US 12,335,285