# US 12,120,590 B2 · Mobile application accelerator

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

- Number: US 12,120,590 B2
- Document ID: US12120590B2
- Status: Granted
- Kind: B2
- Application number: 17/973,216
- Filed: 2022-10-25
- Published: 2023-02-09
- Granted: 2024-10-15
- Earliest claimed: 2016-04-08
- Assignees: Cloudflare, Inc.
- Applicants: Cloudflare, Inc.
- Inventors: Jeff Sesung Kim; Junho Choi; Sang Jo Lee; Young Keun Park; Tianyu Shi
- Web page: https://patentgrep.com/patent/US12120590B2

## CPC

- H04W 4/60: Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
- H04W 8/18: Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Techniques for providing mobile device content delivery acceleration for mobile applications are discussed herein. Some embodiments may provide for a mobile accelerator system including a plurality of point-of-presences (POPs) and a control tower system. The control tower system may be configured to control mobile data transfer acceleration between a mobile device and the content server via the plurality of POPs of the mobile accelerator system. Each mobile application executing on the mobile device may be registered, validated, and then associated with a device POP that forms a dedicated connection with an entry POP of the plurality of POPs. Mobile data transfer acceleration for each mobile application may be selectively activated or deactivated, such as based on user configurations at the application level, domain name level, and/or country level.

## Claims

### Claim 1

A method, comprising:
receiving, by a mobile accelerator system, a mobile data transfer acceleration initialization request from a mobile application on a mobile device, the mobile accelerator system including a plurality of POPs;
validating the mobile data transfer acceleration initialization request;
providing a mobile data transfer acceleration initialization response to the mobile device, the mobile data transfer acceleration initialization response including configuration settings for the mobile device to enable the mobile application for mobile data transfer acceleration;
receiving, at an entry POP of the mobile accelerator system, a data transfer request from the mobile application requesting content from a content server using the mobile data transfer acceleration;
determining, by the entry POP, a dynamic path traversing one or more of the plurality of POPs between the entry POP and the content server; and
routing data transfers between the mobile device and the content server through the dynamic path.

### Claim 2 (depends on 1)

The method of claim 1, wherein the dynamic path includes an exit POP, and wherein the method further comprises:
transmitting, by the exit POP of the mobile accelerator system, the data transfers to the content server.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
registering, by the mobile accelerator system, the mobile application on the mobile device for the mobile data transfer acceleration.

### Claim 4 (depends on 1)

The method of claim 1, wherein validating the mobile data transfer acceleration initialization request comprises:
updating the configuration settings for the mobile device to be synchronized with updates to the mobile accelerator system.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining the dynamic path traversing the one or more of the plurality of POPs between the entry POP and the content server comprises:
scoring data transfer speeds between components along a plurality of dynamic path options.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
monitoring traffic data for the data transfers between the mobile device and the content server through the dynamic path;
performing analytics using the monitored traffic data to generate traffic metric data; and
determining subsequent dynamic paths traversing the one or more of the plurality of POPs based at least in part on the traffic metric data.

### Claim 7 (depends on 6)

The method of claim 6, wherein the traffic metric data includes performance comparison data, usage tracking data, and error detection data.

### Claim 8

A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor, cause said processor to perform operations comprising:
receiving, by a mobile accelerator system, a mobile data transfer acceleration initialization request from a mobile application on a mobile device, the mobile accelerator system including a plurality of POPs;
validating the mobile data transfer acceleration initialization request;
providing a mobile data transfer acceleration initialization response to the mobile device, the mobile data transfer acceleration initialization response including configuration settings for the mobile device to enable the mobile application for mobile data transfer acceleration;
receiving, at an entry POP of the mobile accelerator system, a data transfer request from the mobile application requesting content from a content server using the mobile data transfer acceleration;
determining, by the entry POP, a dynamic path traversing one or more of the plurality of POPs between the entry POP and the content server; and
routing data transfers between the mobile device and the content server through the dynamic path.

### Claim 9 (depends on 8)

The non-transitory machine-readable storage medium of claim 8, wherein the dynamic path includes an exit POP, and wherein the instructions, when executed by said processor, further cause said processor to perform operations comprising:
transmitting, by the exit POP of the mobile accelerator system, the data transfers to the content server.

### Claim 10 (depends on 8)

The non-transitory machine-readable storage medium of claim 8, wherein the instructions, when executed by said processor, further cause said processor to perform operations comprising:
registering, by the mobile accelerator system, the mobile application on the mobile device for the mobile data transfer acceleration.

### Claim 11 (depends on 8)

The non-transitory machine-readable storage medium of claim 8, wherein validating the mobile data transfer acceleration initialization request comprises:
updating the configuration settings for the mobile device to be synchronized with updates to the mobile accelerator system.

### Claim 12 (depends on 8)

The non-transitory machine-readable storage medium of claim 8, wherein determining the dynamic path traversing the one or more of the plurality of POPs between the entry POP and the content server comprises:
scoring data transfer speeds between components along a plurality of dynamic path options.

### Claim 13 (depends on 8)

The non-transitory machine-readable storage medium of claim 8, wherein the instructions, when executed by said processor, further cause said processor to perform operations comprising:
monitoring traffic data for the data transfers between the mobile device and the content server through the dynamic path;
performing analytics using the monitored traffic data to generate traffic metric data; and
determining subsequent dynamic paths traversing the one or more of the plurality of POPs based at least in part on the traffic metric data.

### Claim 14 (depends on 13)

The non-transitory machine-readable storage medium of claim 13, wherein the traffic metric data includes performance comparison data, usage tracking data, and error detection data.

### Claim 15

An apparatus, comprising:
a processor; and
a non-transitory machine-readable storage medium coupled with the processor that stores instructions that, when executed by the processor, causes said processor to perform the following:
receive, by a mobile accelerator system, a mobile data transfer acceleration initialization request from a mobile application on a mobile device, the mobile accelerator system including a plurality of POPs;
validate the mobile data transfer acceleration initialization request;
provide a mobile data transfer acceleration initialization response to the mobile device, the mobile data transfer acceleration initialization response including configuration settings for the mobile device to enable the mobile application for mobile data transfer acceleration;
receive, at an entry POP of the mobile accelerator system, a data transfer request from the mobile application requesting content from a content server using the mobile data transfer acceleration;
determine, by the entry POP, a dynamic path traversing one or more of the plurality of POPs between the entry POP and the content server; and
route data transfers between the mobile device and the content server through the dynamic path.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein the dynamic path includes an exit POP, and wherein the instructions further cause said processor to perform the following:
transmit, by the exit POP of the mobile accelerator system, the data transfers to the content server.

### Claim 17 (depends on 15)

The apparatus of claim 15, wherein the instructions further cause said processor to perform the following:
registering, by the mobile accelerator system, the mobile application on the mobile device for the mobile data transfer acceleration.

### Claim 18 (depends on 15)

The apparatus of claim 15, wherein validating the mobile data transfer acceleration initialization request comprises:
updating the configuration settings for the mobile device to be synchronized with updates to the mobile accelerator system.

### Claim 19 (depends on 15)

The apparatus of claim 15, wherein determining the dynamic path traversing the one or more of the plurality of POPs between the entry POP and the content server comprises:
scoring data transfer speeds between components along a plurality of dynamic path options.

### Claim 20 (depends on 15)

The apparatus of claim 15, wherein the instructions further cause said processor to perform the following:
monitoring traffic data for the data transfers between the mobile device and the content server through the dynamic path;
performing analytics using the monitored traffic data to generate traffic metric data; and
determining subsequent dynamic paths traversing the one or more of the plurality of POPs based at least in part on the traffic metric data.

### Claim 21 (depends on 20)

The apparatus of claim 20, wherein the traffic metric data includes performance comparison data, usage tracking data, and error detection data.
