US 12,278,855 B2
Live streaming architecture with server-side stream mixing
Andrew Shaules, Tacoma, WA (US); Chris Allen, Jamaica Plain, MA (US); Davide Lucchi, Boston, MA (US); and Todd Anderson, Middlebury, VT (US)
Assigned to Infrared5, Inc., Jamaica Plain, MA (US)
Filed by Infrared5, Inc., Jamaica Plain, MA (US)
Filed on Aug. 17, 2023, as Appl. No. 18/451,362.
Application 18/451,362 is a continuation of application No. 17/477,093, filed on Sep. 16, 2021, granted, now 11,778,011.
Claims priority of provisional application 63/080,592, filed on Sep. 18, 2020.
Prior Publication US 2024/0031418 A1, Jan. 25, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 65/75 (2022.01); G06F 3/14 (2006.01); H04N 21/218 (2011.01); H04N 21/2187 (2011.01)
CPC H04L 65/75 (2022.05) [G06F 3/1454 (2013.01); H04N 21/21805 (2013.01); H04N 21/2187 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system for delivering live streaming media, comprising:
one or more origin nodes, wherein each origin node comprises a respective compute instance configured to receive a respective stream of live streaming media received from a respective broadcaster device associated with a broadcaster, and wherein each origin node is further configured to transmit the respective stream;
one or more edge nodes, wherein each edge node comprises a respective compute instance configured to receive one or more respective streams transmitted from one or more respective origin nodes from among the one or more origin nodes and to transmit the received streams to at least one respective client device configured as a subscriber device;
one or more mixer nodes, each mixer node comprising a compute instance configured to receive streams of live streaming media originating from client devices and to generate a respective mixed stream of live streaming media based on the received streams, and wherein each mixer node is further configured to output the respective mixed stream to a respective origin node for further transmission of the respective mixed stream as live streaming media; and
a stream manager node comprising a computer instance programmed to:
i. assign, for each stream of live streaming media being delivered to one or more subscriber devices, a respective relationship between an origin node transmitting the stream and one or more edge nodes receiving the stream,
ii. in response to a request from a client device to access a stream of live streaming media, assign the client device as a subscriber device for the stream to a respective edge node among the one or more edge nodes, and
iii. in response to a request from a client device to transmit a stream of live streaming media as an input for a mixed stream, assign an origin node from among the one or more origin nodes to receive the input from the client device;
wherein the stream manager node is further configured to make available one or more mixed streams generated by the one or more mixer nodes to subscriber devices through the one or more edge nodes as one or more streams of live streaming media.