  As video-streaming services have expanded and improved, cloud-based video has
evolved into a necessary feature of any successful business for reaching
internal and external audiences. In this paper, video streaming over
distributed storage is considered where the video segments are encoded using an
erasure code for better reliability. There are multiple parallel streams
between each server and the edge router. For each client request, we need to
determine the subset of servers to get the data, as well as one of the parallel
stream from each chosen server. In order to have this scheduling, this paper
proposes a two-stage probabilistic scheduling. The selection of video quality
is also chosen with a certain probability distribution. With these parameters,
the playback time of video segments is determined by characterizing the
download time of each coded chunk for each video segment. Using the playback
times, a bound on the moment generating function of the stall duration is used
to bound the mean stall duration. Based on this, we formulate an optimization
problem to jointly optimize the convex combination of mean stall duration and
average video quality for all requests, where the two-stage probabilistic
scheduling, probabilistic video quality selection, bandwidth split among
parallel streams, and auxiliary bound parameters can be chosen. This non-convex
problem is solved using an efficient iterative algorithm. Evaluation results
show significant improvement in QoE metrics for cloud-based video as compared
to the considered baselines.
