IP Library › Granted Patent US 10,887,642
Granted Patent B1
US 10,887,642 · App. 16/453,828 · Granted Jan 5, 2021

Managing encoder configuration based on content delivery network performance

Inventors: Khawaja Shams (Portland, OR); James Ka Sin Au (Richmond, CA); John Saxton (Portland, OR); Mathew Jack (Portland, OR)
Assignee: Amazon Technologies, Inc.
H04N21/2662H04N21/2393H04N21/6379
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,887,642
App. No.
16/453,828
Granted
Jan 5, 2021
Kind
B1
Abstract

Techniques for managing encoder configuration based on content delivery network performance are described. A computer-implemented method may include obtaining availability metrics from one or more content delivery networks (CDNs), the availability metrics associated with one or more content streams provided by the one or more CDNs, determining at least one CDN has less than a threshold capacity based at least on the availability metrics, and sending a request to one or more encoders associated with the one or more content streams to reduce a quality of at least one of the one or more content streams based at least on the availability metrics.

Claims (47)

1. A computer-implemented method comprising:

generating, by an encoder of a content provider, a plurality of content renditions of source video content, each content rendition having a different bitrate;

providing a manifest file identifying the plurality of content renditions to a content delivery network (CDN), the CDN to provide the plurality of content renditions to a plurality of players on a plurality of electronic devices;

obtaining availability metrics from the CDN, the availability metrics indicating real-time bandwidth consumption of the plurality of content renditions at a plurality of points of presence (POPs) associated with the CDN;

determining the CDN has less than a threshold capacity based at least on the availability metrics;

sending a request to the encoder to adjust a bitrate of at least one of the plurality of content renditions based at least on the availability metrics;

receiving, by the encoder, the request to adjust the bitrate of the at least one of the plurality of content renditions received by a player connected to a first POP, wherein the request to adjust is to reduce the bitrate of the at least one of the plurality of content renditions based at least on the availability metrics; and

sending a request to a manifest manipulation service to reduce the bitrate of the at least one of the plurality of content renditions, the request identifying the at least one of the plurality of content renditions and the player, wherein the manifest manipulation service overwrites references to one or more segments in a manifest file to one or more lower bitrate references and sends the manifest file to the player.

2. The computer-implemented method of claim 1 , wherein the request to adjust is to reduce a target bitrate of each of the plurality of content renditions based at least on the availability metrics.

3. The computer-implemented method of claim 1 , wherein the request to adjust is to reduce at least one of a quality variable bitrate (QVBR) quality parameter or a maximum bitrate associated with at least one of the plurality of content renditions based at least on the availability metrics.

4. The computer-implemented method of claim 1 , wherein the request to adjust is to reduce a target bitrate of a first content rendition of the plurality of content renditions based at least on the availability metrics including one or more of a zero buffer rate, real-time capacity, or real-time bandwidth consumption.

5. A computer-implemented method comprising:

obtaining availability metrics from one or more content delivery networks (CDNs), the availability metrics associated with one or more content streams provided by the one or more CDNs, wherein the availability metrics from the one or more CDNs include real-time bandwidth consumption of a plurality of points of presence (POPs) associated with each CDN of the one or more CDNs;

determining at least one CDN has less than a threshold capacity based at least on the availability metrics;

sending a request to one or more encoders associated with the one or more content streams to adjust a quality of at least one content stream of the one or more content streams based at least on the availability metrics;

receiving a request to reduce a bitrate of a first content stream received by a player connected to a first POP; and

sending a request to a manifest manipulation service to reduce the bitrate of the first content stream, the request identifying the first content stream and the player, wherein the manifest manipulation service overwrites references to one or more segments in a manifest file to one or more lower bitrate references and sends the manifest file to the player.

6. The computer-implemented method of claim 5 , wherein sending a request to one or more encoders associated with the one or more content streams to adjust a quality of at least one of the one or more content streams based at least on the availability metrics, further comprises:

sending a request to reduce a bitrate associated with each of the one or more content streams.

7. The computer-implemented method of claim 5 , further comprising:

identifying the at least one content stream based at least on a bandwidth consumption associated with the at least one of the one or more content streams.

8. The computer-implemented method of claim 5 , wherein determining at least one CDN has less than a threshold capacity based at least on the availability metrics further comprises:

identifying a first encoder associated with a first CDN in a first area of a provider network and a second encoder associated with a second CDN in a second area of the provider network; and

determining the first CDN has less than the threshold capacity.

9. The computer-implemented method of claim 8 , wherein sending a request to an encoder associated with the one or more content streams to adjust a quality of at least one of the one or more content streams based at least on the availability metrics, further comprises:

sending the request to reduce the quality of the one or more content streams to the first encoder associated with the first area of the provider network.

10. The computer-implemented method of claim 5 , wherein the manifest manipulation service sends a request to the one or more encoders to dynamically add a new content stream, the new content stream having a bitrate different from the one or more content streams, and wherein the manifest manipulation service updates the manifest file to include references to the new content stream.

11. The computer-implemented method of claim 5 , wherein the manifest manipulation service identifies a device type associated with a player that has requested a content stream, and provides a subset of the one or more content streams that are compatible with the device type to the player.

12. The computer-implemented method of claim 5 , wherein the availability metrics include one or more of zero buffer rate, real-time capacity, or real-time bandwidth consumption.

13. A system comprising:

one or more content delivery networks (CDNs) implemented by a first one or more electronic devices; and

a CDN monitoring service implemented by a second one or more electronic devices, the CDN monitoring service including instructions that upon execution cause the CDN monitoring service to:

obtain availability metrics from the one or more content delivery networks (CDNs), the availability metrics associated with one or more content streams provided by the one or more CDNs, wherein the availability metrics from the one or more CDNs include real-time bandwidth consumption of a plurality of points of presence (POPs) associated with each CDN of the one or more CDNs;

determine at least one CDN has less than a threshold capacity based at least on the availability metrics;

send a request to one or more encoders associated with the one or more content streams to adjust a quality of at least one of the one or more content streams based at least on the availability metrics;

receive a request to reduce a bitrate of a first content stream received by a player connected to a first POP; and

send a request to a manifest manipulation service to reduce the bitrate of the first content stream, the request identifying the first content stream and the player, wherein the manifest manipulation service overwrites references to one or more segments in a manifest file to one or more lower bitrate references and sends the manifest file to the player.

14. The system of claim 13 , wherein the instructions to send a request to one or more encoders associated with the one or more content streams to adjust a quality of at least one of the one or more content streams based at least on the availability metrics, when executed, further cause the CDN monitoring service to:

send a request to reduce a bitrate associated with each of the one or more content streams.

15. The system of claim 13 , wherein the instructions, when executed, further cause the CDN monitoring service to:

identify the at least one of the one or more content streams based at least on a bandwidth consumption associated with the at least one of the one or more content streams.

16. The system of claim 13 , wherein the instructions to determine at least one CDN has less than a threshold capacity based at least on the availability metrics, when executed, further cause the CDN monitoring service to:

identify a first encoder associated with a first CDN in a first area of a provider network and a second encoder associated with a second CDN in a second area of the provider network; and

determine the first CDN has less than the threshold capacity.

17. The system of claim 16 , wherein the instructions to send a request to an encoder associated with the one or more content streams to adjust a quality of at least one of the one or more content streams based at least on the availability metrics, when executed, further cause the CDN monitoring service to:

send a request to reduce the quality of the one or more content streams to the first encoder associated with the first area of the provider network.

18. The system of claim 13 , wherein the availability metrics from the one or more CDNs include real-time bandwidth consumption of a plurality of points of presence (POPs) associated with each CDN of the one or more CDNs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2019
From: SHAMS, KHAWAJA; AU, JAMES KA SIN; SAXTON, JOHN; JACK, MATHEW
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 049612/0055 →
Cited By (1)
US 12,739,461