null
(Ed.)
Spatiotemporal variation in cellular bandwidth availability is well-known and could
affect a mobile user's quality of experience (QoE), especially while using bandwidth
intensive streaming applications such as movies, podcasts, and music videos during
commute. If such variations are made available to a streaming service in advance it
could perhaps plan better to avoid sub-optimal performance while the user travels
through regions of low bandwidth availability. The intuition is that such future knowledge
could be used to buffer additional content in regions of higher bandwidth availability
to tide over the deficits in regions of low bandwidth availability. Foresight is a
service designed to provide this future knowledge for client apps running on a mobile
device. It comprises three components: (a) a crowd-sourced bandwidth estimate reporting
facility, (b) an on-cloud bandwidth service that records the spatiotemporal variations
in bandwidth and serves queries for bandwidth availability from mobile users, and
(c) an on-device bandwidth manager that caters to the bandwidth requirements from
client apps by providing them with bandwidth allocation schedules. Foresight is implemented
in the Android framework. As a proof of concept for using this service, we have modified
an open-source video player---Exoplayer---to use the results of Foresight in its video
buffer management. Our performance evaluation shows Foresight's scalability. We also
showcase the opportunity that Foresight offers to ExoPlayer to enhance video quality
of experience (QoE) despite spatiotemporal bandwidth variations for metrics such as
overall higher bitrate of playback, reduction in number of bitrate switches, and reduction
in the number of stalls during video playback.
more »
« less