IP Library Granted Patent US 9,253,545
Granted Patent B2
US 9,253,545 · App. 14/096,881 · Granted Feb 2, 2016

Routing media content based on monetary cost

Inventor: Thomas R. Lemmons (Evergreen, CO)
Assignee: WOWZA MEDIA SYSTEMS, LLC
H04N21/6338H04L12/00
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 9,253,545
App. No.
14/096,881
Granted
Feb 2, 2016
Kind
B2
Abstract

Systems and methods of routing media content based on monetary cost are disclosed. A particular method includes receiving, at a network device coupled to a plurality of media delivery networks, media content to be provided to a destination device. The method also includes selecting a first media delivery network of the plurality of media delivery networks for routing the media content based at least in part on a determination that a first monetary cost associated with routing the media content through the first media delivery network is less than a second monetary cost associated with routing the media content through a second media delivery network of the plurality of media delivery networks. The method further includes routing the media content from the network device to the first media delivery network.

Claims (36)

1. A method comprising:

receiving, at a network device coupled to a plurality of media delivery networks, media content to be provided to a destination device and first data indicating a first end-to-end routing path associated with routing of the media content to the destination device, wherein the first end-to-end routing path identifies at least a source device, the network device, a first media delivery network of the plurality of media delivery networks, and the destination device, and wherein the first end-to-end routing path indicates that the network device is to route the media content from the network device to the first media delivery network for subsequent routing of the media content to the destination device;

determining, at the network device based on pricing tier data stored in a database, a file, or a combination thereof, whether the first media delivery network is associated with a higher monetary cost of routing the media content than a second media delivery network of the plurality of media delivery networks and whether the first media delivery network is supporting less than a threshold number of simultaneous media streams, wherein the threshold number of simultaneous media streams corresponds to a capacity of the first media delivery network, wherein the pricing tier data is usable to select a particular media delivery network for routing particular media content, wherein the pricing tier data indicates a monetary cost associated with routing data through each of the plurality of media delivery networks, and wherein the monetary cost associated with at least one of the plurality of media delivery networks varies based on time of day; and

in response to determining that the first media delivery network is associated with a higher monetary cost of routing the media content than the second media delivery network, that the first media delivery network is supporting greater than or equal to the threshold number of simultaneous media streams, or both, at the network device:

selecting the second media delivery network for routing the media content instead of the first media delivery network;

modifying the first end-to-end routing path to a second end-to-end routing path, wherein the second end-to-end routing path identifies at least the source device, the network device, the second media delivery network, and the destination device; and

sending the media content and second data indicating the second end-to-end routing path from the network device to the second media delivery network for subsequent routing of the media content to the destination device.

2. The method of claim 1 , wherein a media server is configured to switch routing of the media content between different media delivery networks without interrupting playback of the media content at the destination device.

3. The method of claim 2 , wherein the media content comprises an adaptive bitrate rendition (ABR) chunk.

4. The method of claim 1 , wherein the plurality of media delivery networks includes at least one internet hosting service, at least one content delivery network, at least one cloud service provider network, at least one internet service provider network, at least one wireless service provider network, or any combination thereof.

5. The method of claim 1 , wherein the media content is received from a storage device of the network device, and wherein the source device is the network device.

6. The method of claim 1 , wherein the media content is received from another network device.

7. The method of claim 1 , wherein the first data indicating the first end-to-end routing path and the second data indicating the second end-to-end routing path are transmitted as in-stream data of the media content.

8. The method of claim 1 , wherein the first data indicating the first end-to-end routing path and the second data indicating the second end-to-end routing path are transmitted in a command stream distinct from the media content.

9. The method of claim 1 , wherein a second network device associated with the second media delivery network is configured to modify the second end-to-end routing path to a third end-to-end routing path and to send the media content and third data indicating the third end-to-end routing path to a third network device.

10. The method of claim 9 , wherein the third network device is associated with a third media delivery network of the plurality of media delivery networks, wherein the third end-to-end routing path identifies at least the source device, the network device, the third media delivery network, and the destination device.

11. The method of claim 10 , wherein the third network device is coupled to the destination device by the third media delivery network.

12. An apparatus comprising:

a processor;

a network interface to:

receive, at a network device, media content to be provided to a destination device; and

receive first data indicating a first end-to-end routing path associated with routing of the media content to the destination device, wherein the first end-to-end routing path identifies at least a source device, the network device, a first media delivery network of a plurality of media delivery networks, and the destination device, and wherein the first end-to-end routing path indicates that the media content is to be routed to the first media delivery network of the plurality of media delivery networks for subsequent routing of the media content to the destination device; and

a memory storing instructions executable by the processor to perform operations that include:

determining, based on pricing tier data stored in a database, a file, or a combination thereof, whether the first media delivery network is associated with a higher monetary cost of routing the media content than a second media delivery network of the plurality of media delivery networks and whether the first media delivery network is supporting less than a threshold number of simultaneous media streams, wherein the threshold number of simultaneous media streams corresponds to a capacity of the first media delivery network, wherein the pricing tier data is usable to select a particular media delivery network for routing particular media content, wherein the pricing tier data indicates a monetary cost associated with routing data through each of the plurality of media delivery networks, and wherein the monetary cost associated with at least one of the plurality of media delivery networks varies based on time of day; and

in response to determining that the first media delivery network is associated with a higher monetary cost of routing the media content than the second media delivery network, that the first media delivery network is supporting greater than or equal to the threshold number of simultaneous media streams, or both, at the network device:

selecting the second media delivery network for routing the media content instead of the first media delivery network;

modifying the first end-to-end routing path to a second end-to-end routing path, wherein the second end-to-end routing path identifies at least the source device, the network device, the second media delivery network, and the destination device; and

sending the media content and second data indicating the second end-to-end routing path from the network device to the second media delivery network for subsequent routing of the media content to the destination device.

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

receiving, at a network device coupled to a plurality of media delivery networks, media content and first data indicating a first end-to-end routing path associated with routing of the media content to a destination device, wherein the first end-to-end routing path identifies at least a source device, the network device, a first media delivery network of the plurality of media delivery networks, and the destination device, and wherein the first end-to-end routing path indicates that the network device is to route the media content from the network device to the first media delivery network of the plurality of media delivery networks for subsequent routing of the media content to the destination device;

determining at the network device based on pricing tier data stored in a database, a file, or a combination thereof, that the first media delivery network is associated with a lower monetary cost of routing the media content than a second media delivery network of the plurality of media delivery networks and that the first media delivery network supports an individual connection bandwidth that is less than a bandwidth of the media content, wherein the pricing tier data is usable to select a particular media delivery network for routing particular media content, wherein the pricing tier data indicates a monetary cost associated with routing data through each of the plurality of media delivery networks, and wherein the monetary cost associated with at least one of the plurality of media delivery networks varies based on time of day; and

in response to determining that the first media delivery network supports an individual connection bandwidth that is less than a bandwidth of the media content, at the network device:

selecting the second media delivery network for routing the media content instead of the first media delivery network;

modifying the first end-to-end routing path to a second end-to-end routing path, wherein the second end-to-end routing path identifies at least the source device, the network device, the second media delivery network, and the destination device; and

sending the media content and second data indicating the second end-to-end routing path from the network device to the second media delivery network for subsequent routing of the media content to the destination device.

14. The non-transitory computer-readable storage device of claim 13 , wherein switching routing of a media stream between different media delivery networks is performed without interrupting playback of the media stream at the destination device.

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 Dec 4, 2013
From: LEMMONS, THOMAS R.
To: WOWZA MEDIA SYSTEMS, LLC
Reel/Frame 031717/0083 →
Continuity (1)
Related Publication 20150156556A1 · Jun 4, 2015