# US 12,659,534 B2 · Real-time geo-locked content delivery network tokens

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

- Number: US 12,659,534 B2
- Document ID: US12659534B2
- Status: Granted
- Kind: B2
- Application number: 18/630,384
- Filed: 2024-04-09
- Published: 2025-10-09
- Granted: 2026-06-16
- Earliest claimed: 2024-04-09
- Assignees: Hulu, LLC
- Applicants: Hulu, LLC
- Inventors: Pankaj Chaudhari
- Web page: https://patentgrep.com/patent/US12659534B2

## CPC

- H04L 65/612: for unicast
- H04N 21/26613: {for generating or managing keys in general (key distribution for secret or secure communication involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] H04L9/083; network support of key management H04L63/06; key management for network security in communication control or processing H04W12/04)}
- G06F 21/10: Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]}
- H04L 63/107: {wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals}
- H04L 67/52: specially adapted for the location of the user terminal
- H04N 21/2393: {involving handling client requests (scheduling or organising the servicing of application requests H04L67/60)}
- H04N 21/25841: {involving the geographical location of the client (retrieval from the Internet by querying based on geographical locations G06F16/9537; arrangements for identifying locations of receiving stations in broadcast systems H04H60/51; location of the user terminal in data switching networks H04L67/52; services making use of the location of users or terminals in wireless networks H04W4/02; locating users or terminals in wireless networks H04W64/00)}
- H04N 21/64322: {IP}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for providing streaming content include receiving a first request, from a first user, for a link to streaming content. These techniques further include determining a geographic location of the first user based on the first request, generating a geo-specific token describing the geographic location of the first user, and transmitting the link to the streaming content to the first user, the link including the geo-specific token. The techniques further include receiving a second request for the streaming content based on the link, the second request comprising the geo-specific token, and denying the second request for the streaming content based on comparing the geo-specific token with additional geographic information determined based on the second request.

## Claims

### Claim 1

A method, comprising:
receiving a first request, from a first user, for a link to streaming content;
determining a defined level of granularity based at least in part on a first property of the first request, wherein the level of granularity is determined to reduce errors for users requesting streaming content compared with a different level of granularity:
determining a geographic location of the first user based on resolving the first property, wherein the geographic location describes a current geographic location at the defined level of granularity;
generating a geo-specific token based on the geographic location of the first user, and;
transmitting the link to the streaming content to the first user, the link comprising the geo-specific token;
receiving a second request for the streaming content based on the link, the second request comprising the geo-specific token; and
denying the second request for the streaming content based on comparing the geo-specific token with additional geographic information determined based on the second request.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first request is received at a content provider computational environment and the second request is received at a content delivery network (CDN) different from the content provider computational environment.

### Claim 3 (depends on 2)

The method of claim 2, wherein the link to the streaming content comprises a uniform resource locator (URL) including the geo-specific token and identifying a location for the content at the CDN.

### Claim 4 (depends on 3)

The method of claim 3, wherein the geographic location of the first user is obfuscated in the geo-specific token.

### Claim 5 (depends on 1)

The method of claim 1, wherein
the first property comprises at least one of: (i) an IP address associated with the first user, (ii) a latitude or longitude associated with the first user, (iii) a cellular subscriber identifier associated with the first user, or (iv) a network service provider header associated with the first request.

### Claim 6 (depends on 1)

The method of claim 1, wherein generating the geo-specific token based on the geographic location of the first user comprises:
generating a geo-hash based on the geographic location of the first user.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first property is a device type indicator.

### Claim 8 (depends on 1)

The method of claim 1, wherein denying the second request for the streaming content comprises initiating an additional request for the streaming content by the first user.

### Claim 9 (depends on 1)

The method of claim 1, wherein denying the second request for the streaming content based on comparing the geo-specific token with additional geographic information determined based on the second request comprises:
determining a geographic radius based on the geo-specific token;
determining a second geographic location based on the second request; and
determining that the second geographic location does not fall within the geographic location radius.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
receiving a third request for second streaming content from a second user;
determining a second geographic location of the second user based on the third request;
generating a second geo-specific token describing the second geographic location of the second user;
transmitting a second link to the second streaming content to the second user, the second link comprising the second geo-specific token;
receiving a fourth request for the second streaming content based on the second link, the fourth request comprising the second geo-specific token; and
granting the fourth request for the second streaming content based on determining that the second geographic location of the second user described in the second geo- specific token matches additional geographic information determined based on the fourth request.

### Claim 11

A system, comprising:
one or more processors;
one or more memories storing a program, which, when executed on a combination of the one or more processors, performs an operation, the operation comprising:
receiving a first request, from a first user, for a link to streaming content;
determining a defined level of granularity based at least in part on a first property of the first request, wherein the level of granularity is determined to reduce errors for users requesting streaming content compared with a different level of granularity;
determining a geographic location of the first user based on resolving the first property, wherein the geographic location describes a current geographic location at the defined level of granularity;
generating a geo-specific token based on the geographic location of the first user;
transmitting the link to the streaming content to the first user, the link comprising the geo-specific token;
receiving a second request for the streaming content based on the link, the second request comprising the geo-specific token; and
denying the second request for the streaming content based on comparing the geo-specific token with additional geographic information determined based on the second request.

### Claim 12 (depends on 11)

The system of claim 11, wherein the first request is received at a content provider computational environment and the second request is received at a content delivery network (CDN) different from the content provider computational environment.

### Claim 13 (depends on 12)

The system of claim 12, wherein the link to the streaming content comprises a uniform resource locator (URL) including the geo-specific token and identifying a location for the content at the CDN.

### Claim 14 (depends on 11)

The system of claim 11, wherein
the first property comprising comprises at least one of: (i) an IP address associated with the first user, (ii) a latitude or longitude associated with the first user, (iii) a cellular subscriber identifier associated with the first user, or (iv) a network service provider header associated with the first request.

### Claim 15 (depends on 11)

The system of claim 11, wherein denying the second request for the streaming content based on comparing the geo-specific token with additional geographic information determined based on the second request comprises:
determining a geographic radius based on the geo-specific token;
determining a second geographic location based on the second request; and
determining that the first second geographic location does not fall within the geographic radius.

### Claim 16

A non-transitory computer-readable medium containing computer program code that, when executed by operation of one or more computer processors, performs operations comprising:
receiving a first request, from a first user, for a link to streaming content;
determining a defined level of granularity based at least in part on a first property of the first request, wherein the level of granularity is determined to reduce errors for users requesting streaming content compared with a different level of granularity:
determining a geographic location of the first user based on resolving the first property, wherein the geographic location describes a current geographic location at the defined level of granularity;
generating a geo-specific token based on the geographic location of the first user;
transmitting the link to the streaming content to the first user, the link comprising the geo-specific token;
receiving a second request for the streaming content based on the link, the second request comprising the geo-specific token; and
denying the second request for the streaming content based on comparing the geo-specific token with additional geographic information determined based on the second request.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the first request is received at a content provider computational environment and the second request is received at a content delivery network (CDN) different from the content provider computational environment.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the link to the streaming content comprises a uniform resource locator (URL) including the geo-specific token and identifying a location for the content at the CDN.

### Claim 19 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein
the first property comprising comprises at least one of: (i) an IP address associated with the first user, (ii) a latitude or longitude associated with the first user, (iii) a cellular subscriber identifier associated with the first user, or (iv) a network service provider header associated with the first request.

### Claim 20 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein denying the second request for the streaming content based on comparing the geo-specific token with additional geographic information determined based on the second request comprises:
determining a geographic radius based on the geo-specific token;
determining a second geographic location based on the second request; and
determining that the geographic location does not fall within the geographic radius.
