# US 10,455,413 B2 · Systems and methods to anonymize web browsing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,455,413 B2
- Document ID: US10455413B2
- Status: Granted
- Kind: B2
- Application number: 15/379,112
- Filed: 2016-12-14
- Published: 2018-06-14
- Granted: 2019-10-22
- Earliest claimed: 2016-12-14
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: James E. Bostick; Jia Chen; Wing L. Leung; Craig M. Trim
- Web page: https://patentgrep.com/patent/US10455413B2

## CPC

- H04W 12/02: Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
- H04L 43/04: Processing captured monitoring data, e.g. for logfile generation
- H04L 63/0407: {wherein the identity of one or more communicating identities is hidden (cryptographic mechanisms or cryptographic arrangements for anonymous credentials or for identity based cryptographic systems H04L9/00)}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/168: {above the transport layer}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04W 12/009: {specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks}
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method includes, in response to a request from a computing device, establishing a connection between a server and the computing device. The method additionally includes identifying a first set of anonymization characteristics for a first instance of an access application. The method additionally includes instantiating, within a first cloud container corresponding to the connection, the first instance of the access application using the first set of anonymization characteristics. The method additionally includes retrieving first data using the first instance of the access application. The method additionally includes sending second data to the computing device via the connection. The second data is determined based on the first data.

## Claims

### Claim 1

A method comprising: in response to a request from a computing device, establishing a connection between a server and the computing device;
identifying a first set of anonymization characteristics for a first instance of an internet browser application, the first set of anonymization characteristics including browser attributes;
instantiating, within a cloud container corresponding to the connection, the first instance of the internet browser application including the browser attributes;
generating, using the first instance of the internet browser application, a second header based on the browser attributes;
generating, using the first instance of the internet browser application, a second request by replacing a first header of the request with the second header;
sending, using the first instance of the internet browser application, the second request to a second server;
receiving, using the first instance of the internet browser application, first data from the second server responsive to the second request; and
sending second data to the computing device via the connection, the second data determined based on the first data.

### Claim 2 (depends on 1)

The method of claim 1, wherein the second data corresponds to an internet browser application interface.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first set of anonymization characteristics is randomly selected.

### Claim 4 (depends on 3)

The method of claim 3, wherein the browser attributes include browser plugins, system fonts, or both.

### Claim 5 (depends on 1)

The method of claim 1, further comprising: receiving, via the connection, third data from the computing device; identifying a second set of anonymization characteristics responsive to receiving the third data; and instantiating a second instance of the internet browser application within a second cloud container using the second set of anonymization characteristics.

### Claim 6 (depends on 5)

The method of claim 5, wherein the first set of anonymization characteristics is identified, and the first instance of the internet browser application is instantiated, to access a first website during a browsing session, and wherein the second set of anonymization characteristics is identified, and the second instance of the internet browser application is instantiated, to access a second website during the browsing session.

### Claim 7 (depends on 1)

The method of claim 1, further comprising assigning a communication address to the cloud container, wherein the communication address corresponds to an internet protocol (IP) address within an IP address range associated with the public cloud.

### Claim 8

An apparatus comprising: a memory storing processor-executable instructions; and one or more processors coupled to the memory and configured to execute the processor executable instructions, wherein the processor-executable instructions, when executed by the one or more processors, cause the one or more processors to:
in response to a request from a computing device, establish a connection between a server and the computing device;
identify a first set of anonymization characteristics for a first instance of an internet browser application, the first set of anonymization characteristics including browser attributes;
instantiate, within a first cloud container corresponding to the connection, the first instance of the internet browser application including the browser attributes;
generate, using the first instance of the internet browser application, a second header based on the browser attributes;
generate, using the first instance of the internet browser application, a second request by replacing a first header of the request with the second header; send, using the first instance of the internet browser application, the second request to a second server;
receive, using the first instance of the internet browser application, first data from the second server responsive to the second request; and
initiate sending second data to the computing device via the connection, the second data determined based on the first data.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the second data corresponds to an internet browser application interface.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein, when executed, the processor executable instructions cause the one or more processors to randomly select the first set of anonymization characteristics.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein the browser attributes include browser plugins, system fonts, or both.

### Claim 12 (depends on 8)

The apparatus of claim 8, wherein the processor-executable instructions further include instructions that, when executed by the one or more processors, cause the one or more processors to: receive, via the connection, third data from the computing device; identify a second set of anonymization characteristics responsive to receiving the third data; and instantiate a second instance of the internet browser application within a second cloud container using the second set of anonymization characteristics.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the first set of anonymization characteristics is identified, and the first instance of the internet browser application is instantiated, to access a first website during a browsing session, and wherein the second set of anonymization characteristics is identified, and the second instance of the internet browser application is instantiated, to access a second website during the browsing session.

### Claim 14 (depends on 8)

The apparatus of claim 8, wherein the processor-executable instructions further include instructions that, when executed by the one or more processors, cause the one or more processors to assign a communication address to the first cloud container, wherein the communication address corresponds to an internet protocol (IP) address within an IP address range associated with the public cloud.

### Claim 15

A non-transitory processor-readable medium storing processor-executable instructions that, when executed by one or more processors, cause the one or more processors to:
initiate receiving, at a first server from a computing device, a first request to navigate to a first website;
in response to receiving the first request, establish a connection between the first server and the computing device;
identify a first set of anonymization characteristics for a first instance of an access application;
instantiate, within a first cloud container corresponding to the connection, the first instance of the access application using the first set of anonymization characteristics;
generate, using the first instance of the access application, a second header based on the first set of anonymization characteristics;
generate, using the first instance of the access application, a second request by replacing a first header of the first request with the second header;
send, using the first instance of the access application, the second request from the first server to a second server that hosts the first website;
receive, using the first instance of the access application, first data from the second server responsive to the second request; and
initiate sending second data from the first server via the connection to the computing device, the second data determined based on the first data.

### Claim 16 (depends on 15)

The non-transitory processor-readable medium of claim 15, wherein the access application corresponds to an internet browser application.

### Claim 17 (depends on 16)

The non-transitory processor-readable medium of claim 16, wherein the second data corresponds to an internet browser application interface.

### Claim 18 (depends on 15)

The non-transitory processor-readable medium of claim 15, wherein the processor-executable instructions further include instructions that, when executed by the one or more processors, cause the one or more processors to:
receive, via the connection, third data from the computing device;
identify a second set of anonymization characteristics responsive to receiving the third data; and
instantiate a second instance of the access application within a second cloud container using the second set of anonymization characteristics,
wherein the first set of anonymization characteristics is identified, and the first instance of the access application is instantiated, to access a first website during a browsing session, and
wherein the second set of anonymization characteristics is identified, and the second instance of the access application is instantiated, to access a second website during the browsing session.
