# US 10,484,509 B2 · Anycast transport protocol for content distribution networks

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

- Number: US 10,484,509 B2
- Document ID: US10484509B2
- Status: Granted
- Kind: B2
- Application number: 16/043,656
- Filed: 2018-07-24
- Published: 2018-11-15
- Granted: 2019-11-19
- Earliest claimed: 2009-07-30
- Assignees: AT&T Intellectual Property I, L.P.
- Applicants: AT&T Intellectual Property I, L.P.
- Inventors: Oliver Spatscheck; Seungjoon Lee; Michael Rabinovich; Jacobus E. Van der Merwe
- Web page: https://patentgrep.com/patent/US10484509B2

## CPC

- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A cache server for providing content includes a processor configured to receive a first datagram from a client system sent to an anycast address, send a response datagram to the client system in response to the first datagram, receive a request datagram from the client system sent to the anycast address, and send a batch of content datagrams to the client system. The first datagram includes a universal resource locator corresponding to the content. The response datagram includes a content identifier for the content. The request datagram includes the content identifier, an offset, and a bandwidth indicator. The batch of content datagrams includes a portion of the content starting at the offset.

## Claims

### Claim 1

A system, comprising:
a memory that stores instructions;
a processor that executes the instructions to perform operations, the operations comprising:
receiving a request including a bandwidth indicator that is provided based on a timeout occurring while a client system is waiting to receive a portion of content; and
providing, based on the bandwidth indicator, the portion of the content to the client system.

### Claim 2 (depends on 1)

The system of claim 1, wherein the operations further comprise receiving the request at an anycast address of a content delivery network.

### Claim 3 (depends on 1)

The system of claim 1, wherein the operations further comprise receiving a content identifier, an offset, or a combination thereof, with the request.

### Claim 4 (depends on 3)

The system of claim 3, wherein the operations further comprise providing the portion of the content to the client system based on the offset.

### Claim 5 (depends on 3)

The system of claim 3, wherein the operations further comprise identifying the portion of the content based on the content identifier.

### Claim 6 (depends on 1)

The system of claim 1, wherein the operations further comprise providing the portion of the content to the client system at a rate that prevents saturation of a link on a path to the client system.

### Claim 7 (depends on 1)

The system of claim 1, wherein the operations further comprise including bandwidth verification data in a content datagram of the portion of the content.

### Claim 8 (depends on 1)

The system of claim 1, wherein the operations further comprise advertising an anycast address to a content delivery network communicatively linked to the client system.

### Claim 9 (depends on 1)

The system of claim 1, wherein the operations further comprise providing a quantity of content datagrams associated with the portion of the content to the client system based on cache server utilization.

### Claim 10 (depends on 1)

The system of claim 1, wherein the operations further comprise providing a quantity of content datagrams associated with the portion of the content to the client system based on a frequency of routing changes.

### Claim 11 (depends on 1)

The system of claim 1, wherein the operations further comprise indicating a number of content datagrams within a batch of content datagrams corresponding to the portion of the content within each content datagram in the batch.

### Claim 12

A method, comprising:
receiving a request including a bandwidth indicator that is provided based on a timeout occurring while a client system is waiting to receive a portion of content; and
providing, based on the bandwidth indicator and by utilizing instructions from a memory that are executed by a processor, the portion of the content to the client system.

### Claim 13 (depends on 12)

The method of claim 12, further comprising receiving another request for a next portion of the content from the client system.

### Claim 14 (depends on 12)

The method of claim 12, further comprising fixing a maximum number of content datagrams associated with the portion of the content to be provided to the client system.

### Claim 15 (depends on 12)

The method of claim 12, further comprising receiving, with the request, a hash of bandwidth verification data from the client system.

### Claim 16 (depends on 13)

The method of claim 13, further comprising verifying an authenticity of the bandwidth indicator based on the hash.

### Claim 17 (depends on 12)

The method of claim 12, further comprising receiving the request from the client system via a connectionless protocol.

### Claim 18 (depends on 12)

The method of claim 12, further comprising providing a quantity of content datagrams associated with the portion of the content to the client system based on a network congestion condition.

### Claim 19 (depends on 12)

The method of claim 12, further comprising providing a quantity of content datagrams associated with the portion of the content to the client system based on a frequency of routing changes.

### Claim 20

A computer-readable device comprising instructions, which, when loaded and executed by a processor, cause the processor to perform operations, the operations comprising:
receiving a request including a bandwidth indicator that is provided based on a timeout occurring while a client system is waiting to receive a portion of content; and
providing, based on the bandwidth indicator, the portion of the content to the client system.
