# US 12,182,835 B1 · Interest based advertising inside a content delivery network

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

- Number: US 12,182,835 B1
- Document ID: US12182835B1
- Status: Granted
- Kind: B1
- Application number: 17/486,612
- Filed: 2021-09-27
- Granted: 2024-12-31
- Earliest claimed: 2018-08-28
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Karthik Uthaman; Ronil Sudhir Mokashi; Prashant Verma; Sayalee Uday Wandkar
- Web page: https://patentgrep.com/patent/US12182835B1

## CPC

- G06Q 30/0277: {Online advertisement}
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06N 20/00: Machine learning
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A system, method, and computer readable medium for distributing data objects that are dynamically customized for users in a content delivery network. The system obtains information based on content accessed by a user, the content being accessed by the user through a content delivery network device. The system associates the user with other users based on the obtained information, the other users having accessed another content through the content delivery network device. The system generates a cluster, the cluster comprising a plurality of nodes representative of the user and the associated other users. The system determines a set of tags for the cluster, the set of tags derived from a plurality of websites accessed by the user.

## Claims

### Claim 1

A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
obtain, by an edge server of a content delivery network, a set of tags for each client device that accessed content through the edge server, wherein the set of tags are ranked based on a degree of relevance to one or more web pages accessed by each client device;
use a machine learning model to execute one or more machine learning algorithms, by the edge server of the content delivery network, to cluster one or more tags of the set of tags, wherein the machine learning model is trained to identify one or more tags based, at least in part, on similarities amongst the set of tags;
obtain a plurality of data objects from a server outside of the content delivery network, each data object of the plurality of data objects associated with one or more tags;
assign a weighted value to each data object of the plurality of data objects based on a number of matches between the one or more tags associated with the data object and the clustered one or more tags of the set of tags determined by using the machine learning model; and
generate, by the edge server of the content delivery network, content comprising the data object having a highest weighted value to be displayed on a web page in response to a request, from a client device, for the content.

### Claim 2 (depends on 1)

The non-transitory computer-readable storage medium of claim 1, wherein the executable instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:
obtain, from the client device, a request to access a second web page;
extract one or more keywords from the second web page; and
add the one or more keywords into the set of tags.

### Claim 3 (depends on 1)

The non-transitory computer-readable storage medium of claim 1, wherein the content comprises one or more advertisements.

### Claim 4 (depends on 1)

The non-transitory computer-readable storage medium of claim 1, wherein the executable instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to apply decay factors to the one or more tags corresponding to each data object of the plurality of data objects.

### Claim 5 (depends on 1)

The non-transitory computer-readable storage medium of claim 1, wherein the executable instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:
determine that the client device is accessing the one or more web pages through another edge server located in another region of the content delivery network; and
use a second machine learning model at the other edge server to cluster one or more tags associated with the client device.

### Claim 6 (depends on 1)

The non-transitory computer-readable storage medium of claim 1, wherein the executable instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to determine a user identifier for the client device based on a network address of the client device or one or more cookies generated as a result of the client device accessing the one or more web pages.

### Claim 7 (depends on 1)

The non-transitory computer-readable storage medium of claim 1, wherein the machine learning model is generated to cluster one or more tags asynchronously from a network session established by the client device and the edge server of the content delivery network.

### Claim 8

A computer-implemented method performed by an edge server of a content delivery network, comprising:
using a machine learning model to execute one or more learning algorithms, by the edge server of the content delivery network, to cluster one or more tags of a set of tags, wherein the machine learning model is trained to identify one or more tags based, at least in part, on similarities amongst the set of tags;
obtaining a set of data objects from a server outside of the content delivery network, each data object of the set of data objects associated with one or more tags, wherein at least one data object of the set of data objects is communicated by an origin server outside of the content delivery network, the at least one data object associated with its own set of tags;
assigning a weighted value to each data object of the set of data objects based on a number of matches between the one or more tags associated with each data object and the clustered one or more tags of the set of tags determined by using the machine learning model; and
generating, by the edge server of the content delivery network, content comprising a data object having a highest weighted value to be displayed on a web page in response to a request, from a client device, for the content.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, wherein a data object of the set of data objects is an advertisement.

### Claim 10 (depends on 8)

The computer-implemented method of claim 8, wherein the weighted value to each data object of the set of data objects are assigned in accordance with a ranking of the set of tags, the ranking based at least in part on a number of tags associated with the clustered one or more tags determined by using the machine learning model.

### Claim 11 (depends on 8)

The computer-implemented method of claim 8, further comprising embedding the content into one or more regions of the web page to be displayed.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, wherein generating the clustered one or more tags further includes using the machine learning model asynchronously from a network session established with the client device.

### Claim 13

A system, comprising:
one or more processors; and
memory comprising computer-executable instructions that, upon execution, cause the system to:
use, by an edge server of a content delivery network, a machine learning model to execute one or more machine learning algorithms to cluster one or more tags of a first set of tags;
apply a ranking to the clustered one or more tags;
obtain a plurality of data objects from a server outside of the content delivery network, each data object of the plurality of data objects associated with a second set of tags;
assign a weighted value to each data object of the plurality of data objects based on a number of matches between the second set of tags associated with each data object and the first set of tags determined by using the machine learning model; and
generate, by the edge server of the content delivery network, content comprising a data object having a highest weighted value to be displayed on a web page provided by the edge server of the content delivery network in response to a request, from a client device, for the content.

### Claim 14

The system 13, wherein the computer-executable instructions further include instructions that further cause the edge server to obtain the clustered one or more tags by monitoring a browsing history of the client device.

### Claim 15

The system 13, wherein the computer-executable instructions further include instructions that further cause the system to generate a machine learning model for each edge server of the content delivery network.

### Claim 16 (depends on 15)

The system of claim 15, wherein each edge server obtains a set of tags and uses the machine learning model associated with the edge server to cluster two or more tags of the set of tags.

### Claim 17 (depends on 13)

The system of claim 13, wherein the machine learning model is trained by asynchronously from activity at the edge server so as to maintain network availability for client devices accessing content through the content delivery network.
