US 11,706,469 B2
Systems and methods for streaming media content during unavailability of content server
Srikanth Channapragada, Karnataka (IN); Ishan Bhadula, Uttarakhand (IN); Vivek Sehgal, Uttar Pradesh (IN); Greeshma Jagadha Phani Lakshmi Alapati, Andhra Pradesh (IN); Vikram Makam Gupta, Karnataka (IN); and Reda Harb, Bellevue, WA (US)
Assigned to ROVI GUIDES, INC., San Jose, CA (US)
Filed by Rovi Guides, Inc., San Jose, CA (US)
Filed on Sep. 30, 2021, as Appl. No. 17/490,905.
Prior Publication US 2023/0102888 A1, Mar. 30, 2023
Int. Cl. H04L 67/1008 (2022.01); H04L 41/0893 (2022.01); H04L 67/1017 (2022.01); H04N 21/24 (2011.01); H04N 21/235 (2011.01); H04N 21/258 (2011.01); H04N 21/647 (2011.01); H04N 21/231 (2011.01); H04N 21/63 (2011.01)
CPC H04N 21/2405 (2013.01) [H04L 41/0893 (2013.01); H04L 67/1008 (2013.01); H04L 67/1017 (2013.01); H04N 21/2353 (2013.01); H04N 21/23103 (2013.01); H04N 21/2402 (2013.01); H04N 21/25833 (2013.01); H04N 21/64738 (2013.01); H04N 21/632 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A method comprising:
storing, by a server, a media asset, wherein the media asset is available to be requested by a plurality of devices;
determining that there are conditions indicating buffering issues during delivery of the media asset to at least one of the plurality of devices requesting the media asset;
in response to determining that there are conditions indicating buffering issues during delivery of the media asset to the at least one of the plurality of devices requesting the media asset:
identifying a first group of devices suitable for both (a) receiving the media asset from the server, and (b) sharing the media asset on a network, wherein the first group of devices is a first subset of the plurality of devices;
identifying a second group of devices suitable for receiving the media asset on the network from at least one device of the first group, wherein the second group of devices is a second subset of the plurality of devices;
determining a plurality of clusters of devices, the clusters containing devices from the first group and the second group;
determining one or more load balancing algorithms appropriate for application to the clusters, wherein the one or more load balancing algorithms comprise a round robin algorithm configured to evenly distribute upload traffic from first group devices to second group devices within each cluster;
applying the one or more load balancing algorithms to determine groupings of devices within the clusters, each grouping comprising at least one device from the first group of devices and at least one device from the second group of devices; and
transmitting instructions to each respective device of the first group of devices to maintain, in a buffer of the respective device, certain portions of the media asset for sharing, on the network, with the devices of the second group of devices within a respective grouping to which the respective device belongs; and
updating, at the server, information comprising details of which portions of the media asset each device of the first group of devices is maintaining in a respective buffer of each device of the first group of devices for sharing.