IP Library › Granted Patent US 10,318,865
Granted Patent B2
US 10,318,865 · App. 15/669,874 · Granted Jun 11, 2019

Anti-fingerprinting systems and methods for automated task performance

Inventors: Eric Glyman (Brooklyn, NY); William James Russell Locke (Old Westbury, NY); Kathleen Zasada (Brooklyn, NY); Philippe Tyan (New York, NY); Jae In Lee (Brooklyn, NY); Karim Atiyeh (Brooklyn, NY)
Assignee: Capital One Services, LLC
G06N3/08G06F9/45558G06Q10/02G06F2009/45562
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,318,865
App. No.
15/669,874
Granted
Jun 11, 2019
Kind
B2
Abstract

Computer-implemented methods and systems are provided for automatically performing a task on a remote computer. During a registration stage, the system receives personal information of a human user, obtains an IP address and a device configuration for a computing device, and stores the personal information, IP address, and the device configuration in record in a database. The system receives a request to interact with a remote website to perform a task, the request including the personal information of the human user. The system then retrieves the record from the database using the personal information. The system creates a virtual machine based on the device configuration for the computing device, selects one of a geographically distributed set of proxy servers having an IP geographically address resembling the IP address for the computing device, and executes instructions causing the virtual machine to interact with the remote website using the proxy server to perform the task.

Claims (46)

1. A system for automatically performing cancellation tasks, comprising:

at least one processor; and

at least one memory containing instructions that, when executed by the at least one processor, cause the system to perform operations including:

generating a cancellation script for a remote website by replacing first cancellation parameters in a cancellation macro with placeholders;

obtaining an IP address and a device configuration of a first computing device of a human user;

creating a user identity including the IP address and the device configuration of the first computing device;

extracting second cancellation parameters using a neural network from a first email sent to the human user, wherein the neural network is trained to extract cancellation parameters from reservation email code;

parameterizing the cancellation script by replacing the placeholders with the second cancellation parameters;

selecting a second computing device for imitating the human user based on the device configuration of the first computing device;

selecting a proxy server based on the user identity created for the first computing device; and

cancelling the reservation by causing the second computing device to interact with the remote website according to the parameterized cancellation script through the proxy server.

2. The system of claim 1 , the operations further comprising receiving a request to execute the cancellation script on the remote website the request enabling identification of the IP address and the device configuration of the first computing device.

3. The system of claim 2 , the operations further comprising:

receiving personal information of the human user;

storing a record in a database including the personal information, the IP address information of the first computing device, and the device configuration information of the first computing device;

determining the personal information from the request; and

retrieving the record from the database using the personal information in response to the request.

4. The system of claim 3 , wherein the request comprises an email from the human user and the personal information comprises an email address of the human user.

5. The system of claim 3 , wherein the request comprises a text message from the human user and the personal information comprises a phone number of the human user.

6. The system of claim 3 , wherein the request includes second computing device instructions for executing the task.

7. The system of claim 3 , wherein the operations further comprise determining second computing device instructions for executing the task based on the request.

8. The system of claim 1 , wherein the device configuration of the first computing device is obtained from a user-agent header field of the first computing device.

9. The system of claim 1 , wherein the device configuration for the first computing device comprises operating system information and browser information for the first computing device.

10. The system of claim 1 , wherein the second computing device comprises a virtual machine having the device configuration the first computing device.

11. The system of claim 10 , wherein selecting the second computing device comprises creating the virtual machine.

12. The system of claim 1 , wherein the second computing device has the same make and model as the first computing device.

13. The system of claim 12 , wherein causing the second computing device to interact with the remote website using the proxy server to perform the task comprises remotely connecting to the second computing device.

14. The system of claim 1 , wherein:

the operations further comprise determining the geographic location of the first computing device of the human user based on the IP address for the first computing device; and

the proxy server is selected based on geographic proximity to first the computing device.

15. The system of claim 1 , wherein an IP address of the proxy server is in the same subnet range as the IP address of the first computing device.

16. A method for automatically performing cancellation tasks, comprising:

generating a cancellation script for a remote website by replacing first cancellation parameters in a cancellation macro with placeholders;

during a registration stage, receiving personal information of a human user, obtaining an IP address and a device configuration for a computing device, and storing a record in a database, the record including the personal information, the IP address, and the device configuration;

creating a user identity including the IP address and the device configuration of the first computing device;

extracting second cancellation parameters using a neural network from a first email sent to the human user, wherein the neural network is trained to extract cancellation parameters from reservation email code;

receiving a request to interact with the remote website to perform a cancellation task, the request including the personal information;

retrieving the record from the database using the personal information;

creating a virtual machine based on the device configuration;

parameterizing the cancellation script by replacing the placeholders with the second cancellation parameters;

selecting a proxy server from a geographically distributed set of proxy servers based on the user identity created for the computing device and IP addresses for the set of proxy servers, the selected proxy server being a proxy server of the geographically distributed set closest to the computing device; and

cancelling the reservation by executing instructions causing the virtual machine to interact with the remote website according to the parameterized cancellation script through the selected proxy server.

17. The method of claim 16 , wherein the request comprises an email from the human user and the personal information comprises an email address of the human user.

18. The method of claim 16 , wherein the request comprises a text message from the human user and the personal information comprises a phone number of the human user.

19. The method of claim 16 , wherein the request includes the instructions.

20. The method of claim 16 , wherein the set of proxy servers are geographically distributed among multiple cities.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2017
From: GLYMAN, ERIC; LOCKE, WILLIAM JAMES RUSSELL; ZASADA, KATHLEEN; TYAN, PHILIPPE; LEE, JAE IN; ATIYEH, KARIM
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 043629/0240 →
Continuity (2)
Provisional Application 62528030 · Jun 30, 2017
Related Publication 20190005388A1 · Jan 3, 2019