Dynamically adjusting media content cache size
First Claim
1. A non-transitory computer-readable medium embodying a program executable in at least one computing device, wherein, when executed, the program causes the at least one computing device to at least:
- obtain a request from a client device for a transmission of a media content stream, the media content stream comprising a plurality of media content items;
initiate the transmission of the media content stream to the client device in response to receiving the request;
transmit a fixed amount of the media content stream to be stored in a cache in the client device prior to playback by the client device;
obtain a first location of the client device at a first time and a second location of the client device at a second time;
predict a route of movement associated with the client device based at least in part on the first location, the second location, and a client route history;
determine a probability of a future connectivity interruption based at least in part on a sum of weighted values assigned to a plurality of factors, the plurality of factors comprising a predicted route of movement, a prior loss of network connectivity, and a bandwidth profile associated with the predicted route of movement;
determine that an alternate amount of the media content stream is to be transmitted to the client device based at least in part on a comparison of the probability of the future connectivity interruption with a coverage threshold;
determine the alternate amount based at least in part on an estimated duration of the future connectivity interruption;
select a subset of the plurality of media content items to be transmitted to the client device based at least in part on the alternate amount; and
transmit the subset of the media content items to the client device, the subset of the media content items to be stored in the cache in the client device prior to playback by the client device.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed are various embodiments for dynamically adjusting the amount of media content to transmit to a client for caching during a media streaming event. To begin, the location of the user may be determined. Based on the location of the user, a route may be predicted if the user is moving. A future connectivity interruption in the network coverage may be identified by comparing known areas of network coverage with the location of the user and/or the predicted route. Based on the likelihood of a future connectivity interruption, the amount of media content to transmit to a client for caching may be dynamically adjusted so that the user have a seamless media experience even in times of network coverage disconnect.
14 Citations
20 Claims
-
1. A non-transitory computer-readable medium embodying a program executable in at least one computing device, wherein, when executed, the program causes the at least one computing device to at least:
-
obtain a request from a client device for a transmission of a media content stream, the media content stream comprising a plurality of media content items; initiate the transmission of the media content stream to the client device in response to receiving the request; transmit a fixed amount of the media content stream to be stored in a cache in the client device prior to playback by the client device; obtain a first location of the client device at a first time and a second location of the client device at a second time; predict a route of movement associated with the client device based at least in part on the first location, the second location, and a client route history; determine a probability of a future connectivity interruption based at least in part on a sum of weighted values assigned to a plurality of factors, the plurality of factors comprising a predicted route of movement, a prior loss of network connectivity, and a bandwidth profile associated with the predicted route of movement; determine that an alternate amount of the media content stream is to be transmitted to the client device based at least in part on a comparison of the probability of the future connectivity interruption with a coverage threshold; determine the alternate amount based at least in part on an estimated duration of the future connectivity interruption; select a subset of the plurality of media content items to be transmitted to the client device based at least in part on the alternate amount; and transmit the subset of the media content items to the client device, the subset of the media content items to be stored in the cache in the client device prior to playback by the client device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system, comprising:
-
a data store; at least one computing device in data communication with the data store; and a media streaming application stored in the data store and executable in the at least one computing device, wherein, when executed, the media streaming application causes the at least one computing device to at least; obtain a request from a client device for a transmission of a media content stream, the media content stream comprising media content; initiate the transmission of the media content stream to the client device; transmit a fixed amount of the media content stream to be cached in the client device prior to playback by the client device; determine a location of the client device; determine a probability of a future connectivity interruption between the client device and the at least one computing device based at least in part on the location of the client device and a bandwidth history associated with the location of the client device; determine that a modified amount of the media content stream is to be transmitted to the client device to be cached based at least in part on a comparison of the probability of the future connectivity interruption with a predefined threshold; determine the modified amount of the media content stream based at least in part on an estimated duration of a connectivity interruption, the modified amount being different from the fixed amount; select a portion of the media content to transmit to the client device based at least in part on the modified amount; and transmit the portion of the media content to the client device. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A method, comprising:
-
obtaining, by at least one computing device, a request from a client device for a transmission of a media content stream, the media content stream comprising a media content item; initiating, by the at least one computing device, the transmission of the media content stream; transmitting, by the at least one computing device, a fixed amount of the media content stream to be cached by the client device prior to playback by the client device; determining, by the at least one computing device, a first location of a client device at a first time and a second location of the client device at a second time; determining, by the at least one computing device, a future connectivity interruption probability based at least in part on the first location, the second location, and a client bandwidth history including at least a first location history associated with the first location and a second location history associated with the second location; determining, by the at least one computing device, that an alternate amount of the media content stream is to be cached in the client device based at least in part on a comparison of the future connectivity interruption probability and a predefined threshold; determining, by the at least one computing device, the alternate amount of the media content stream to be cached based at least in part on an estimated duration of a connectivity interruption, the alternate amount being different from the fixed amount; selecting, by the at least one computing device, a portion of the media content item based in part on the alternate amount; and transmitting, by the at least one computing device, the portion of the media content item to the client device. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification