US 12,010,355 B2
Live media content delivery systems and methods
Dave Lazar, Toronto (CA); Stephen Seguin, Toronto (CA); Doug Doe, Toronto (CA); Lionel Nicolas, Toronto (CA); and Tristan Matthews, Toronto (CA)
Assigned to Lazar Entertainment Inc., Toronto (CA)
Appl. No. 17/627,635
Filed by Lazar Entertainment Inc., Toronto (CA)
PCT Filed Jul. 23, 2020, PCT No. PCT/CA2020/051016
§ 371(c)(1), (2) Date Jan. 14, 2022,
PCT Pub. No. WO2021/012051, PCT Pub. Date Jan. 28, 2021.
Claims priority of provisional application 62/877,531, filed on Jul. 23, 2019.
Prior Publication US 2022/0408120 A1, Dec. 22, 2022
Int. Cl. H04N 21/2187 (2011.01); H04N 21/2343 (2011.01); H04N 21/2662 (2011.01); H04N 21/2743 (2011.01); H04N 21/4788 (2011.01); H04N 21/647 (2011.01)
CPC H04N 21/2187 (2013.01) [H04N 21/234309 (2013.01); H04N 21/2662 (2013.01); H04N 21/2743 (2013.01); H04N 21/4788 (2013.01); H04N 21/64792 (2013.01)] 11 Claims
OG exemplary drawing
 
1. A content delivery system for live streams comprising:
an origin server executing one or more WebRTC origin pools each in communication with one or more director device to receive from each of the one or more director device a respective live stream, each WebRTC origin pool generating a WebRTC stream based on a received live stream;
at least one edge server, each edge server remote from the origin server and executing one or more WebRTC edge pool each in communication with one or more of the WebRTC origin pool to receive one or more of the respective generated WebRTC stream; and
a load balancer associated with the at least one edge server and configured to conduct load balancing by directing each of a plurality of stream requests from requesting viewer devices to a selected WebRTC edge pool, wherein, responsive to the directing of a request, the selected WebRTC edge pool enters into communication with a requesting viewer device to serve a requested one of the received WebRTC stream to the requesting viewer device;
wherein each of the edge servers is configured to, responsive to at least one of: (a) demand for content by viewer devices increasing to a point where it is anticipated that additional resources will be needed to maintain a quality of service (QoS), and (b) a number of stream requests being served exceeding a threshold:
instantiate at least one additional WebRTC edge pool for executing on the edge server;
request one or more of the WebRTC origin pool to enter into communication with each of the at least one additional WebRTC edge pool for each of the at least one additional WebRTC edge pool to receive one or more of the respective generated WebRTC stream; and
inform the load balancer of an availability of the at least one additional WebRTC edge pool for selecting by the load balancer for directing stream requests from requesting viewer devices.