Systems, methods, and media for delivery of content
First Claim
1. A system for live streaming of content, the system comprising:
- an architecture comprising a hardware media encoder and a hardware management server connected via a communications network;
wherein;
the media encoder is configured for real-time encoding and uploading a live content stream of a live event to a pool of content delivery networks for use in distributing the live content stream to a plurality of user equipment devices, wherein the pool of content delivery networks utilizes communication paths to stream the live content stream to the user equipment devices;
the management server is configured to;
maintain the pool of content delivery networks for use in distributing the live content stream, wherein each content delivery network of the pool of content delivery networks comprises load balancing servers, gateways, and storage servers connected via the communications network;
receive a request to stream the live content stream from a particular user equipment device, wherein the particular user equipment device has a first geographic location that is shared with a plurality of user equipment devices;
provide a listing of content delivery networks of the pool of content delivery networks to the media encoder, wherein the media encoder encodes and uploads a first fragment of the live content stream to the pool of content delivery networks;
provide, to the particular user equipment device, a manifest that identifies the pool of content delivery networks, wherein the particular user equipment device requests at least a portion of the live content stream from a first content delivery network from the pool of content delivery networks over a first distribution path;
determine whether a predetermined condition is satisfied, wherein the predetermined condition comprises whether a count of user equipment devices that are located at the first geographic location and are currently streaming the content from the pool of content delivery networks exceeds a threshold quantity of streaming user equipment devices;
when the predetermined condition is satisfied;
select an additional content delivery network from a set of available content delivery networks to add to the pool of content delivery networks based on a plurality of factors comprising at least;
distance between a second geographic location corresponding to the additional content delivery network and geographic locations corresponding to content delivery networks within the pool of content delivery networks,
latency along at least one different distribution path between the additional content delivery network and the particular user equipment device, and
throughput for at least one different distribution path between the additional content delivery network and the particular user equipment device;
update the pool of content delivery networks to include the additional content delivery network, wherein the additional content delivery network comprises a load balancing server, a gateway, and a storage server connected via a communications network;
provide an updated listing of the updated pool of content delivery networks, including the additional content delivery network, to the media encoder, wherein the media encoder encodes and uploads a second fragment of the live content stream to the updated pool of content delivery networks, including the additional content delivery network, to stream the live content stream using a distribution path including the additional content delivery network from the updated pool of content delivery networks; and
provide, to the particular user equipment device, an updated manifest that identifies the additional content delivery network, wherein the particular user equipment requests at least a portion of the live content stream from the additional content delivery network.
5 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and computer readable media for delivery of content are provided. In some embodiments, systems for controlling delivery of content are provided, the systems comprising processing circuitry configured to: receive a request to stream the content, the request being received from a user equipment device; determine a first location of the user equipment device; determine a count of user equipment devices that are located at the first location and are currently streaming the content; determine whether the count meets a threshold; and responsive to determining that the count meets the threshold, add a first content delivery network to a pool of one or more content delivery networks that are used to stream the content.
-
Citations
12 Claims
-
1. A system for live streaming of content, the system comprising:
an architecture comprising a hardware media encoder and a hardware management server connected via a communications network;
wherein;the media encoder is configured for real-time encoding and uploading a live content stream of a live event to a pool of content delivery networks for use in distributing the live content stream to a plurality of user equipment devices, wherein the pool of content delivery networks utilizes communication paths to stream the live content stream to the user equipment devices; the management server is configured to; maintain the pool of content delivery networks for use in distributing the live content stream, wherein each content delivery network of the pool of content delivery networks comprises load balancing servers, gateways, and storage servers connected via the communications network; receive a request to stream the live content stream from a particular user equipment device, wherein the particular user equipment device has a first geographic location that is shared with a plurality of user equipment devices; provide a listing of content delivery networks of the pool of content delivery networks to the media encoder, wherein the media encoder encodes and uploads a first fragment of the live content stream to the pool of content delivery networks; provide, to the particular user equipment device, a manifest that identifies the pool of content delivery networks, wherein the particular user equipment device requests at least a portion of the live content stream from a first content delivery network from the pool of content delivery networks over a first distribution path; determine whether a predetermined condition is satisfied, wherein the predetermined condition comprises whether a count of user equipment devices that are located at the first geographic location and are currently streaming the content from the pool of content delivery networks exceeds a threshold quantity of streaming user equipment devices; when the predetermined condition is satisfied; select an additional content delivery network from a set of available content delivery networks to add to the pool of content delivery networks based on a plurality of factors comprising at least;
distance between a second geographic location corresponding to the additional content delivery network and geographic locations corresponding to content delivery networks within the pool of content delivery networks,
latency along at least one different distribution path between the additional content delivery network and the particular user equipment device, and
throughput for at least one different distribution path between the additional content delivery network and the particular user equipment device;update the pool of content delivery networks to include the additional content delivery network, wherein the additional content delivery network comprises a load balancing server, a gateway, and a storage server connected via a communications network; provide an updated listing of the updated pool of content delivery networks, including the additional content delivery network, to the media encoder, wherein the media encoder encodes and uploads a second fragment of the live content stream to the updated pool of content delivery networks, including the additional content delivery network, to stream the live content stream using a distribution path including the additional content delivery network from the updated pool of content delivery networks; and provide, to the particular user equipment device, an updated manifest that identifies the additional content delivery network, wherein the particular user equipment requests at least a portion of the live content stream from the additional content delivery network. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A method for live streaming of content, comprising:
-
encoding and uploading a first fragment of a live content stream of a live event to a pool of content delivery networks for use in distributing the live content stream in real-time to a plurality of user equipment devices, wherein the pool of content delivery networks utilizes communication paths to stream the live content stream to user equipment devices, wherein each content delivery network of the pool of content delivery networks comprises load balancing servers, gateways, and storage servers connected via a network; receiving a request to stream the live content stream from a particular user equipment device, wherein the particular user equipment device has a first geographic location that is shared with a plurality of user equipment devices; providing to the particular user equipment device, a manifest that identifies the pool of content delivery networks that contains at least a portion of the live content stream; streaming content to the particular user equipment device using a first content delivery network from the pool of content delivery networks over a first distribution path; determining whether a predetermined condition is satisfied, wherein the predetermined condition comprises whether a count of user equipment devices that are located at the first geographic location and are currently streaming the content from the pool of content delivery networks exceeds a threshold quantity of streaming user equipment devices; when the predetermined condition is satisfied; selecting an additional content delivery network from a set of available content delivery networks to add to the pool of content delivery networks based on a plurality of factors comprising at least; distance between a second geographic location corresponding to the additional content delivery network and geographic locations corresponding to content delivery networks within the pool of content delivery networks, latency along at least one different distribution path between the additional content delivery network and the particular user equipment device, and throughput for at least one different distribution path between the additional content delivery network and the particular user equipment device; updating the pool of content delivery networks to include the additional content delivery network, wherein the additional content delivery network comprises a load balancing server, a gateway, and a storage server connected via a communications network; encoding and uploading a second fragment of the live content stream for the updated pool of content delivery networks, including the additional content delivery network, to stream the live content stream using a distribution path including the additional content delivery network from the updated pool content delivery networks; and providing, to the particular user equipment device, an updated manifest that identifies the additional content delivery network, wherein the particular user equipment requests at least a portion of the live content stream from the additional content delivery network. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification