A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> Motivated by the wide use of TCP for streaming in practice and the increasing availability of multipath between end hosts, we study multipath live streaming via TCP in this paper. We first design a simple and practical TCP-based multipath streaming scheme, named Dynamic MPath-streaming (DMP-streaming), which dynamically distributes packets over multiple paths by implicitly inferring the available bandwidths on these paths. To allow systematic performance study, we develop an analytical model for DMP-streaming and validate the model using extensive ns simulation and Internet experiments. We explore the parameter space of this model and find that DMP-streaming generally provides satisfactory performance when the aggregate achievable TCP throughput is 1.6 times the video bitrate, with a few seconds of startup delay. Last, we comment on the benefits of using multipath versus single path for TCP-based streaming. <s> BIB001 </s> A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> Contemporary wireless devices integrate multiple networking technologies, such as cellular, WiMax and IEEE 802.11a/b/g, as alternative means of accessing the Internet. Efficient utilization of available bandwidth over heterogeneous access networks is important, especially for media streaming applications with high data rates and stringent delay requirements. In this work we consider the problem of rate allocation among multiple video streaming sessions sharing multiple access networks. We develop and evaluate an analytical framework for optimal video rate allocation, based on observed available bit rate (ABR) and round trip time (RTT) over each access network, as well as the video distortion-rate (DR) characteristics. The rate allocation is formulated as a convex optimization problem that minimizes the sum of expected distortion of all video streams. We then present a distributed approximation of the optimization, which enables autonomous rate allocation at each device in a media- and network-aware fashion. Performance of the proposed allocation scheme is compared against robust rate control based on H∞ optimal control and two heuristic schemes employing TCP style additive-increase-multiplicative-decrease (AIMD) principles. Wesimulate in NS-2 [1] simultaneous streaming of multiple high-definition(HD) video streams over multiple access networks, using ABR and RTT traces collected on Ethernet, IEEE 802.11g, and IEEE 802.11b networks deployed in a corporate environment. In comparison with heuristic AIMD-based schemes, rate allocation from both the media-aware convex optimization scheme and H∞ optimal control benefit from proactive avoidance of network congestion, and can reduce the average packet loss ratio from 27% to below 2%, while improving the average received video quality by 3.3 - 4.5 dB in PSNR. <s> BIB002 </s> A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> MPTCP has been proposed recently as a mechanism for supporting transparently multiple connections to the application layer. It is under discussion at the IETF. We show, however, that the current MPTCP suffers from two problems: (P1) Upgrading some TCP users to MPTCP can reduce the throughput of others without any benefit to the upgraded users, which is a symptom of not being Pareto-optimal; and (P2) MPTCP users could be excessively aggressive towards TCP users. We attribute these problems to the linked-increases algorithm (LIA) of MPTCP and, more specifically, to an excessive amount of traffic transmitted over congested paths. The design of LIA forces a tradeoff between optimal resource pooling and responsiveness. We revisit the problem and show that it is possible to provide these two properties simultaneously. We implement the resulting algorithm, called opportunistic linked increases algorithm (OLIA), in the Linux kernel, and we study its performance over our testbed, by simulations and by theoretical analysis. We prove that OLIA is Pareto-optimal and satisfies the design goals of MPTCP. Hence it can avoid the problems P1 and P2. Our measurements and simulations indicate that MPTCP with OLIA is as responsive and non-flappy as MPTCP with LIA, and that it solves problems P1 and P2. <s> BIB003 </s> A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> Wireless networks (including wireless mesh networks) provide opportunities for using multiple paths. Multihoming of hosts, possibly using different technologies and providers, also makes it attractive for end-to-end transport connections to exploit multiple paths. In this paper, we propose a multipath transport protocol, based on a carefully crafted set of enhancements to TCP, that effectively utilizes the available bandwidth and diversity provided by heterogeneous, lossy wireless paths. Our Multi-Path LOss-Tolerant (MPLOT) transport protocol can be used to obtain significant goodput gains in wireless networks, subject to bursty, correlated losses with average loss rates as high as 50%. MPLOT is built around the principle of separability of reliability and congestion control functions in an end-to-end transport protocol. Congestion control is performed separately on individual paths, and the reliability mechanism works over the aggregate set of paths available for an end-to-end session. MPLOT distinguishes between congestion and link losses through Explicit Congestion Notification (ECN), and uses Forward Error Correction (FEC) coding to recover from data losses. MPLOT uses a dynamic packet mapping based on the current path characteristics to choose a path for a packet. Use of erasure codes and block-level recovery ensures that in MPLOT the receiving transport entity can recover all data as long as a necessary number of packets in the block are received, irrespective of which packets are lost. We present a theoretical analysis of the different design choices of MPLOT and show that MPLOT chooses its policies and parameters such that a desirable tradeoff between goodput with data recovery delay is attained. We evaluate MPLOT, through simulations, under a variety of test scenarios and demonstrate that it effectively exploits path diversity in addition to efficiently aggregating path bandwidths while remaining fair to a conventional TCP flow on each path. <s> BIB004 </s> A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> In this work, we are interested in a scenario where a group of smartphone users, within proximity of each other, are interested in watching the same video at the same time. The default operation today is that each user with a cellular connection downloads the video independently from the server. However, each phone's individual cellular connection may not be sufficient for providing high video quality. We propose a novel cooperative scheme, called MicroCast, for video streaming to a group of smartphones within proximity of each other. Each phone utilizes simultaneously two network interfaces: one (cellular) to connect to the video server and download parts of the video and the other (WiFi) to connect to the rest of the group and exchange downloaded parts. Fig. 1 illustrates MicroCast scenario. First, we propose a scheduling algorithm, MicroDownload, that decides which parts of the video each phone should download from the server, based on the phones' download rate. Second, we propose a novel all-to-all local dissemination scheme, MicroNC-P2, for sharing content among group members, which outperforms state-of-the-art peer-to-peer schemes in our setting. MicroNC-P2 is explicitly designed to exploit WiFi overhearing and network coding, based on a local broadcast framework, MicroBroadcast, which we developed specifically for Android phones. The full architecture of MicroCast is depicted in Fig. 2. To the best of our knowledge, MicroBroadcast is the first framework that allows smartphones to broadcast in high speed locally. We perform performance evaluation on a testbed consisting of several Android phones, and we show that each component separately as well as the combined system as a whole significantly improve the performance compared to alternative approaches. Furthermore, this improvement comes at no significant battery cost. The detailed description of MicroCast can be found in [1]. A video demo and a poster of MicroCast can be found at [2] and [3]. More supporting materials are provided in [4]. <s> BIB005 </s> A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> Poor connectivity is common when we use wireless networks on the go. A natural way to tackle the problem is to take advantage of the multiple network interfaces on our mobile devices, and use all the networks around us. Using multiple networks at a time makes makes possible faster connections, seamless connectivity and potentially lower usage charges. The goal of this paper is to explore how to make use of all the networks with today's technology. Specifically, we prototyped a solution on an Android phone. Using our prototype, we demonstrate the benefits (and difficulties) of using multiple networks at the same time. <s> BIB006 </s> A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> Now that our smartphones have multiple interfaces (WiFi, 3G, 4G, etc.), we have preferences for which interfaces an application may use. We may prefer to stream video over WiFi because it is fast, but VoIP over 3G because it gives continued connectivity. We also have relative preferences, such as giving Netflix twice as much capacity as Dropbox. This means our mobile devices need to schedule packets in keeping with our preferences while making use of all the capacity available. This is the natural domain of fair queuing, and this paper is about the design of a packet scheduler to meet these requirements. We show that traditional fair queueing schedulers cannot take into account a user's preferences for some interfaces over others. We present a novel packet scheduler called miDRR that meets our needs by generalizing DRR for multiple interfaces. We demonstrate a prototype running in Linux and show that it works correctly and can easily run at the speeds we need. <s> BIB007 </s> A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> Today many end hosts are equipped with multiple interfaces. These interfaces can be utilized simultaneously by multipath protocols to pool resources of the links in an efficient way while also providing resilience to eventual link failures. However how to schedule the data segments over multiple links is a challenging problem, and highly influences the performance of multipath protocols. In this paper, we focus on different schedulers for Multipath TCP. We first design and implement a generic modular scheduler framework that enables testing of different schedulers for Multipath TCP. We then use this framework to do an in-depth analysis of different schedulers by running emulated and real-world experiments on a testbed. We consider bulk data transfer as well as application limited traffic and identify metrics to quantify the scheduler's performance. Our results shed light on how scheduling decisions can help to improve multipath transfer. <s> BIB008 </s> A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> Mobile operators are leveraging WiFi to relieve the pressure posed on their networks by the surging bandwidth demand of applications. However, operators often lack intelligent mechanisms to control the way users access their WiFi networks. This lack of sophisticated control creates poor network utilization, which in turn degrades the quality of experience (QoE). To meet user traffic demands, it is evident that operators need solutions that optimally balance user traffic across cellular and WiFi networks. Motivated by the lack of practical solutions in this space, we design and implement ATOM - an end-to-end system for adaptive traffic offloading for WiFi-LTE deployments. ATOM has two novel components: (i) A network interface selection algorithm that maps user traffic across WiFi and LTE to optimize user QoE and (ii) an interface switching service that seamlessly re-directs ongoing user sessions in a cost-effective and standards-compatible manner. Our evaluations on a real LTE-WiFi testbed using YouTube traffic reveals that ATOM reduces video stalls by 3-4 times compared to naive solutions. <s> BIB009 </s> A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> Online video streaming through mobile devices has become extremely popular nowadays. YouTube, for example, reported that the percentage of its traffic streaming to mobile devices has soared from 6% to more than 40% over the past two years. Moreover, people are constantly seeking to stream high quality video for better experience while often suffering from limited bandwidth. Thanks to the rapid deployment of content delivery networks (CDNs), popular videos are now replicated at different sites, and users can stream videos from close-by locations with low latencies. As mobile devices nowadays are equipped with multiple wireless interfaces (e.g., WiFi and 3G/4G), aggregating bandwidth for high definition video streaming has become possible. We propose a client-based video streaming solution, MSPlayer, that takes advantage of multiple video sources as well as multiple network paths through different interfaces. MSPlayer reduces start-up latency and provides high quality video streaming and robust data transport in mobile scenarios. We experimentally demonstrate our solution on a testbed and through the YouTube video service. <s> BIB010 </s> A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> Multipath TCP was standardised in 2013 at IETF. It promises better use of network resources of multi-homed devices for capacity aggregation or seamless fail-over capabilities. The uptake has however been rather slow. Some operating systems support MPTCP out of the box, but little is known about their deployment on the server side. We built a scanning infrastructure to search for MPTCP-capable hosts on the Internet. In this study, we used the top-1M Alexa servers to test the platform and gain insight about server support. We find that less than 0.1% of Alexa unique domains and IP addresses currently support MPTCP. Their geographic distribution is quite different from that of clients reported in other studies, with the majority of domains being in China. We also find that very few IPs actually expose multi-homing information, suggesting that these early deployments aim at providing reliability rather than capacity aggregation. We also identify some deployment issues. <s> BIB011 </s> A Survey of Client-Controlled HetNets for 5G <s> D. MULTIHOMING <s> Multipath TCP (MP-TCP) has the potential to greatly improve application performance by using multiple paths transparently. We propose a fluid model for a large class of MP-TCP algorithms and identify design criteria that guarantee the existence, uniqueness, and stability of system equilibrium. We clarify how algorithm parameters impact TCP-friendliness, responsiveness, and window oscillation and demonstrate an inevitable tradeoff among these properties. We discuss the implications of these properties on the behavior of existing algorithms and motivate our algorithm Balia (balanced linked adaptation), which generalizes existing algorithms and strikes a good balance among TCP-friendliness, responsiveness, and window oscillation. We have implemented Balia in the Linux kernel. We use our prototype to compare the new algorithm to existing MP-TCP algorithms. <s> BIB012
In addition to single RAT selection, a plurality of RATs may be selected and multiplexed by the client. Compared to single RAT selection, the multi-homed scenario is much more challenging because in addition to deciding which RATs should be used, an additional decision of how much each RAT should be used must be made (assuming finite backlog of traffic). In the context of Section II-B, the network association variable X i,k is no longer integer, and constraint in Eq. 5 instead becomes: and the number of RATs each user can connect to K i > 1. While at first glance, the multi-homing problem may seems simpler since the variables are no longer integer, solving the problem can still be challenging depending on the form of the throughput model (e.g., Eq. 7). Moreover, additional practical issues such as throughput estimation and feedback, protocol design, and application-specific performance must also be considered. As a specific example of the multi-homed problem formulation, consider the case of video streaming, which dominates data traffic on today's Internet. Video streaming differs file transfer or web browsing in that video is encoded and streamed at a (roughly) constant rate. The large video file is usually split into several smaller pieces, or ''chunks'', which are downloaded at regular intervals from the server. Whenever the client requests a video chunk, the video chunk should be downloaded quickly in order to avoid video stalls and meet the playback deadline. The question, then, is what fraction of the chunk should be requested on each RAT, in order to satisfy the video rate requirement C (in bits) while minimizing the chunk download time? The model in Section II-B is flexible and can accommodate this by defining the utility function as: with new constraint: (11) defines the utility as a function of the video chunk download time across all RATs, i.e., we are minimizing download time so that the video buffer grows and the chance of stalling decreases. (12) says the sum of the fractional allocations of C is equal to one. The variable X i,k is the fraction of bits sent over network k. Next, we survey some recent works on multi-homing, which we also summarize in Table 2 . In the transport layer, a major standardization effort towards enabling multi-homing on the Internet today is multipath-TCP (MPTCP)  . MPTCP creates multiple subflows out of a single TCP flow, each of which can be bound to a different RAT. This pooling of resources can enable higher throughputs, easier mobile handovers, and improved path diversity for failure recovery; but the challenges include backwards-compatibility with regular TCP and overcoming middle-boxes who do not recognize or permit MPTCP options. The IETF has standardized MPTCP  , but measurement studies thus far have shown limited adoption in the public Internet BIB011 . To perform rate adaptation for client-controlled HetNets, several MPTCP congestion control algorithms  - BIB012 have been proposed. Specifically, the main control mechanism is the per-subflow congestion window, which changes the sending rate of each subflow based on the congestion of each RAT. Various objectives have been proposed, such as TCP-friendliness  , Pareto-optimality BIB003 , and utility maximization BIB012 . The sending rate is further complicated by scheduling algorithms that run on top of congestion control, breaking ties if there are multiple subflows with space in the congestion window BIB008 . In both congestion control and scheduling, each client uses local measurements of congestion (e.g., RTT), so the approach is distributed, but some work has been done on proving convergence to a globally optimal solution BIB012 . Other transport-layer approaches apart from MPTCP have also been considered, such as BIB001 , which uses multiple single-path TCP connections on multiple RATs and develops Markov models for analysis. BIB004 proposes an approach that is particularly geared towards wireless networks with packet losses, and uses explicit congestion notification (ECN) as well as forward error correction (FEC) to recover from losses. While transport-layer protocols tend to optimize for traditional QoS metrics such as throughput, latency, and loss, application layer-based multi-homing can consider additional factors such as economic cost and content sharing. Application-layer solutions, while not standardized, may enable more rapid adoption, since end-to-end transport-layer protocols need not be modified. Several creative uses for multi-homed devices have been proposed. Reference BIB007 considers scheduling for mobile devices where the user can explicitly specify RAT preferences (e.g., user does not want to use LTE due to monetary cost), and applications can explicitly specify which RATs may be used (e.g., video requires VOLUME 5, 2017 RATs with high throughputs). The resulting scheduler is a generalization of deficit round-robin. Reference BIB002 studies rate allocation in the multi-user case, based on video characteristics and network measurements of throughput and latency. Their optimal solution depends on knowing video packet distortion characteristics, while their practical solution is based on H ∞ control theory. Reference BIB009 studies multihoming from the perspective of a cellular operator who manages both cellular and WiFi networks. The operator wishes to assign users to WiFi and LTE networks to both maximize utility and minimize cost, and takes a centralized optimization approach. Reference BIB005 proposes using each RAT for different functionality: the cellular connection is used to download videos, and WiFi is used to share the videos amongst a group. A combination of network coding and pseudo-broadcasting help ensure that the content is delivered reliably and efficiently. On the implementation side, BIB006 demonstrates an Android prototype of multi-homing using virtual interfaces, similar to the MPTCP design. Reference BIB010 focuses on video streaming and prototypes a custom YouTube player that integrates with the existing YouTube library. MPTCP has also released open-source Linux kernels for desktops, Android phones, routers, and cloud services.