Method using adaptive-bit-rate playlists for dynamic server capacity and broadband handovers
AssigneeWorld Multicast, Inc.
InventorIan Alban Stewart
Life of this patent
Estimating the term…
Abstract
A method of using HLS (or DASH) server emulation to implement dynamic server capacity using point-to-multipoint or point-to-point Internet communication protocols. In a wireless handover setting, this system utilizes network address translators running on distributed gateways or tower infrastructure. The system uses adaptive bit rate emulated servers to effectively update and resynthesize playlist files for dynamic adaptive-bit-rate HLS playback.
Claims20
A method for delivering adaptive bit rate media over a broadband network comprising multiple towers and gateways, the method comprising:
- providing an emulated adaptive bit rate server;
- intercepting an adaptive bit rate playlist get request by the emulated adaptive bit rate server;
- when a requested video segment is flowing at one of the multiple towers, providing a modified adaptive bit rate playlist response to the adaptive bit rate playlist get request, wherein the modified adaptive bit rate playlist response identifies the tower as a source for the requested video segment;
- instantiating a plurality of dynamic downstream adaptive bit rate servers to serve the modified adaptive bit rate playlist response, by:
- transmitting, by the emulated adaptive bit rate server to the tower, an accelerated buffering command to instantiate one of the dynamic downstream adaptive bit rate servers;
- and
- while the one dynamic downstream adaptive bit rate server is being instantiated, transmitting, by the emulated adaptive bit rate server, a predetermined amount of transport stream segment data to the media player.
A method in an adaptive bit rate server for delivering adaptive bit rate media over a broadband network comprising multiple towers and gateways, the method comprising:
- receiving an adaptive bit rate playlist request from a media player executing on a mobile device;
- determining, based on a network address translated IP address of the mobile device, a tower to which the mobile device is currently connected;
- determining whether the tower supports instantiating a dynamic adaptive bit rate server, by performing in a table a lookup of the tower using the network address translated IP address to determine if the media player is connected to a tower that supports instantiating dynamic servers, wherein the table identifies cell towers that are capable of instantiating dynamic adaptive bit rate servers;
- determining, based on the lookup of the network address translated IP address, whether a requested video stream is currently running on the dynamic adaptive bit rate server;
- and
- when the requested video stream is not currently running on the dynamic adaptive bit rate server, transmitting a command to instantiate the dynamic adaptive bit rate server to make the requested video stream available on the tower.
A system for delivering adaptive bit rate media over a broadband network comprising multiple towers and gateways, the system comprising:
- a mobile computing device executing a media player;
- and
- an emulated adaptive bit rate server computing system, configured to:
- receive an adaptive bit rate playlist request from the media player;
- determine a tower to which the mobile device is currently connected;
- determine whether the tower supports instantiating a dynamic adaptive bit rate server;
- determine whether a requested video stream is currently running on the dynamic adaptive bit rate server;
- and
- when the requested video stream is currently running on the dynamic adaptive bit rate server,
- determine a next playlist to send to the media player;
- scan the playlist for video segment source identifiers;
- update each video segment source identifier to identify the tower as the source of the video segment;
- and
- transmit to the media player a modified playlist that includes the updated video segment source identifiers.
Dependencies are inferred from the claim text.