IP Library Granted Patent US 10,298,965
Granted Patent B2
US 10,298,965 · App. 16/000,692 · Granted May 21, 2019

Selection of a content source based on performance data

Inventors: Michael Dean Talvensaari (Los Gatos, CA); James S. Sherry (Broomfield, CO)
Assignee: WOWZA MEDIA SYSTEMS, LLC
H04N21/23G06F16/24G06F16/435H04L29/06H04L41/5009H04L43/0888H04L65/60H04L67/10H04L67/104H04N21/2402H04N21/4622
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,298,965
App. No.
16/000,692
Granted
May 21, 2019
Kind
B2
Abstract

Systems and methods of selecting a content source based on performance data are disclosed. A particular method includes sending, from a device, a first request for a media stream to a server. The method also includes determining, at the device, first performance data. The method further includes receiving, at the device, second performance data from the server. The method also includes selecting, based on the first performance data and the second performance data, a content source that is distinct from the server. The method further includes sending, from the device, a second request for the media stream to the content source. The method also includes receiving the media stream at the device from the content source.

Claims (53)

1. A device comprising:

a processor; and

a memory storing instructions that, when executed by the processor, cause the processor to perform operations comprising:

sending a first request for a media stream to a server;

determining first performance data, wherein the first performance data indicates a first value of a first performance metric;

receiving second performance data from the server, wherein the second performance data indicates a second value of a second performance metric of the server and a third value of the second performance metric of a content source that is distinct from the server;

determining that a selection rule is satisfied in response to determining that:

the first value fails to satisfy a performance threshold; and

a difference between the second value and the third value satisfies an update threshold;

selecting the content source in response to determining that the selection rule is satisfied;

sending a second request for the media stream to the content source; and

receiving the media stream from the content source.

2. The device of claim 1 , wherein the first performance data indicates network conditions.

3. The device of claim 1 , wherein the second performance data indicates first network conditions detected at the server, second network conditions detected at the content source, or a combination thereof.

4. The device of claim 1 , wherein the content source is included in a peer-to-peer network.

5. The device of claim 1 , wherein the content source is included in a content distribution network.

6. The device of claim 1 , wherein the content source is included in a cloud service provider network.

7. The device of claim 1 , wherein the operations further comprise receiving user input indicating the selection rule.

8. The device of claim 1 , wherein the operations further comprise receiving the selection rule from a second device that is associated with a media provider.

9. The device of claim 1 , wherein the first performance metric includes a network bandwidth, packet loss, a network protocol, or a combination thereof, and wherein the second performance metric includes a network load, a geographic distance, a network distance, a supported network protocol, or a combination thereof.

10. The device of claim 1 , wherein the operations further comprise:

determining a first geographic distance between a first geographic location and a second geographic location of the server; and

determining a second geographic distance between the first geographic location and a third geographic location of the content source.

11. The device of claim 10 , wherein the first value indicates a network bandwidth, wherein the second value indicates the first geographic distance, and wherein the third value indicates the second geographic distance.

12. A method comprising:

receiving a request for a media stream from a device and receiving first performance data from the device, wherein the first performance data indicates a first value of a first performance metric;

determining second performance data indicating a second value of a second performance metric of a receiver, a transmitter, or both, and determining whether a content source that is distinct from a server is included in a particular type of network;

determining that a selection rule is satisfied in response to determining that:

the first value fails to satisfy a performance threshold;

the second value satisfies an update threshold; and

the content source is included in the particular type of network;

selecting the content source in response to determining that the selection rule is satisfied; and

requesting the media stream from the content source.

13. The method of claim 12 , wherein the first performance data indicates network conditions detected at the device, and wherein the second performance data indicates network conditions detected at the receiver, the transmitter, or both.

14. The method of claim 12 , wherein the receiver receives third performance data from the content source, wherein the third performance data indicates network conditions detected at the content source, and wherein the second performance data includes the third performance data.

15. The method of claim 12 , wherein the second value is based on a comparison of first network conditions detected at the content source and second network conditions detected at the receiver, the transmitter, or both.

16. The method of claim 15 , wherein the second performance data indicates the first network conditions and the second network conditions.

17. The method of claim 12 , further comprising:

receiving a user input indicating the selection rule, the selection rule indicating the performance threshold and the update threshold; and

storing the selection rule.

18. The method of claim 12 , further comprising:

receiving the selection rule from a second device that is associated with a media provider, the selection rule indicating the performance threshold and the update threshold; and

storing the selection rule.

19. A computer-readable storage device storing instructions that, when executed by a processor, cause the processor to perform operations comprising:

receiving a request for a media stream from a device and receiving first performance data from the device, wherein the first performance data indicates a first value of a first performance metric;

determining second performance data indicating a second value of a second performance metric of a receiver, a transmitter, or both, and determining whether a content source that is distinct from a server is included in a particular type of network;

determining that a selection rule is satisfied in response to determining that:

the first value fails to satisfy a performance threshold;

the second value satisfies an update threshold; and

the content source is included in the particular type of network;

selecting the content source in response to determining that the selection rule is satisfied; and

requesting the media stream from the content source.

20. The computer-readable storage device of claim 19 , wherein the operations further comprise receiving third performance data from the content source, wherein the third performance data indicates network conditions detected at the content source, and wherein the second performance data includes the third performance data.

Assignments (2)
SECURITY INTEREST Recorded May 28, 2021
From: WOWZA MEDIA SYSTEMS, LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 056422/0263 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2018
From: TALVENSAARI, MICHAEL DEAN; SHERRY, JAMES S.
To: WOWZA MEDIA SYSTEMS, LLC
Reel/Frame 045998/0763 →
Continuity (2)
Continuation 15653184 · Jul 18, 2017
Related Publication 20190028740A1 · Jan 24, 2019