IP Library Granted Patent US 11,016,967
Granted Patent B2
US 11,016,967 · App. 16/599,632 · Granted May 25, 2021

Automated sequential site navigation

Inventors: Robert Duke (Austin, TX); Ryan Engle (Austin, TX); Ryan Peck (Austin, TX); Jonathan Coon (Austin, TX)
Assignee: CAPITAL ONE SERVICES, LLC
G06F16/245G06F16/95G06F16/986G06Q30/0629H04L67/02H04L67/10H04L67/2819H04L67/2838H04L67/32H04L67/42
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,016,967
App. No.
16/599,632
Granted
May 25, 2021
Kind
B2
Abstract

A website is navigated automatically in a sequential manner, for example by performing a series of specific network requests in a specified order, without necessarily using a browser, and without necessarily rendering each web page in the sequence. Interactions with a website are automatically recorded, stored, and analyzed. Requests and responses can be associated with particular in-put/output operations. Based on the analysis, the system can determine what data is expected by web servers, so that it can effectively simulate browser operations in connection with those web servers, and extract useful information from the data received in response to those operations. Thus, data extraction and/or other operations can be performed more efficiently and more quickly, while reducing the computing resources needed.

Claims (40)

1. A computer-implemented method on a client device for automatically navigating a website, comprising:

obtaining a plurality of interactions and a plurality of network requests, the plurality of network requests corresponding to one or more of the plurality of interactions that take place during performance of a web-based operation including communications with a web server, the plurality of interactions inputting data, the plurality of network requests including encoded data corresponding to the data;

analyzing the plurality of interactions and the plurality of network requests to determine an encoding scheme of the web server by:

determining a request, of the plurality of network requests, contains a first data of the data of the plurality of interactions, and

swapping the first data in the request for a key to be used for future requests;

generating a rewritten network request based on the encoding scheme, the rewritten network request including substitute data in place of the encoded data by inserting the substitute data for the key in the request; and

executing the rewritten network request.

2. The computer-implemented method of claim 1 , wherein the executing the rewritten network request includes transmitting the rewritten network request to the web server.

3. The computer-implemented method of claim 1 , further comprising, prior to generating the rewritten network request, identifying network requests of the plurality of network requests necessary to complete the web based operation.

4. The computer-implemented method of claim 1 , wherein the web-based operation includes displaying a plurality of web pages.

5. The computer-implemented method of claim 1 , wherein the web-based operation includes a web-based purchase.

6. The computer-implemented method of claim 1 , wherein each network request includes a communication between the client device and the web server.

7. The computer-implemented method of claim 1 , wherein the executing the rewritten network request includes automatically executing the rewritten network request without using a browser.

8. The computer-implemented method of claim 1 , wherein the executing the rewritten network request includes automatically executing the rewritten network request without rendering results for display.

9. The computer-implemented method of claim 1 , wherein the executing the rewritten network request includes automatically executing the rewritten network request without human interaction.

10. The computer-implemented method of claim 1 , further comprising extracting information from the website while executing the rewritten network request.

11. A non-transitory computer-readable medium storing instructions that, when executed by a processor on a client device, cause the processor to perform a method for automatically navigating a website, the method comprising:

obtaining a plurality of interactions and a plurality of network requests, the plurality of network requests corresponding to one or more of the plurality of interactions that take place during performance of a web-based operation including communications with a web server, the plurality of interactions inputting data, the plurality of network requests including encoded data corresponding to the data;

analyzing the plurality of interactions and the plurality of network requests to determine an encoding scheme of the web server by:

determining a request, of the plurality of network requests, contains a first data of the data of the plurality of interactions, and

swapping the first data in the request for a key to be used for future requests;

generating a rewritten network request based on the encoding scheme, the rewritten network request including substitute data in place of the encoded data by inserting the substitute data for the key in the request; and

executing the rewritten network request.

12. The non-transitory computer-readable medium of claim 11 , wherein the method further comprises, prior to the generating the rewritten network request, automatically identifying network requests of the plurality of network requests necessary to complete the web-based operation.

13. The non-transitory computer-readable medium of claim 11 , wherein the web-based operation includes displaying a plurality of web pages.

14. The non-transitory computer-readable medium of claim 11 , wherein the web-based operation includes a web-based purchase.

15. The non-transitory computer-readable medium of claim 11 , wherein each network request includes a communication between the client device and the web server.

16. The non-transitory computer-readable medium of claim 11 , wherein the executing the rewritten network request includes automatically executing the rewritten network request without using a browser.

17. The non-transitory computer-readable medium of claim 11 , wherein the executing the rewritten network request includes automatically executing the rewritten network request without rendering results for display.

18. The non-transitory computer-readable medium of claim 11 , wherein the executing the rewritten network request includes automatically executing the rewritten network request without human interaction.

19. The non-transitory computer-readable medium of claim 11 , wherein the method further comprises automatically extracting information from the website while executing the rewritten network request.

20. A system for automatically navigating a website, comprising:

a memory storing instructions; and

a processor executing the instructions to perform a process, the process including:

obtaining a plurality of interactions and a plurality of network requests, the plurality of network requests corresponding to one or more of the plurality of interactions that take place during performance of a web-based operation including communications with a web server, the plurality of interactions inputting data, the plurality of network requests including encoded data corresponding to the data;

analyzing the plurality of interactions and the plurality of network requests to determine an encoding scheme of the web server by:

determining a request, of the plurality of network requests, contains a first data of the input data of the plurality of interactions, and

swapping the first data in the request for a key to be used for future requests;

generating a rewritten network request based on the encoding scheme, the rewritten network request including substitute data in place of the encoded data by inserting the substitute data for the key in the request; and

executing the rewritten network request.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2020
From: WIKIBUY HOLDINGS, LLC
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 051844/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2020
From: CAPITAL ONE WMS LLC
To: WIKIBUY HOLDINGS, LLC
Reel/Frame 051804/0375 →
MERGER AND CHANGE OF NAME Recorded Feb 7, 2020
From: WIKIBUY HOLDINGS, LLC; CAPITAL ONE WMS LLC
To: CAPITAL ONE WMS LLC
Reel/Frame 051750/0155 →
CHANGE OF NAME Recorded Dec 10, 2019
From: IMPOSSIBLE VENTURES, LLC
To: WIKIBUY HOLDINGS, LLC
Reel/Frame 051240/0465 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2019
From: DUKE, ROBERT; ENGLE, RYAN; PECK, RYAN; COON, JONATHAN
To: IMPOSSIBLE VENTURES, LLC
Reel/Frame 051186/0001 →
Continuity (5)
Continuation 15287668 · Oct 6, 2016
Provisional Application 62376243 · Aug 17, 2016
Provisional Application 62238574 · Oct 7, 2015
Provisional Application 62238565 · Oct 7, 2015
Related Publication 20200042516A1 · Feb 6, 2020
Cited By (4)
US 12,236,191 US 12,277,190 US 12,282,801 US 12,314,995