Avoiding Biased-Feeding in the Scheduling of Collaborative Multipath TCP
RESEARCH ARTICLE
Avoiding Biased-Feeding in the Scheduling of
Collaborative Multipath TCP
Meng-Hsun Tsai☯, Chien-Ming Chou☯, Kun-chan Lan*☯
Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
Taiwan
☯ These authors contributed equally to this work.
*
a11111
Abstract
OPEN ACCESS
Citation: Tsai M-H, Chou C-M, Lan K-c (2016)
Avoiding Biased-Feeding in the Scheduling of
Collaborative Multipath TCP. PLoS ONE 11(8):
e0161213. doi:10.1371/journal.pone.0161213
Editor: Kim-Kwang Raymond Choo, University of
Texas at San Antonio, UNITED STATES
Received: February 5, 2016
Accepted: June 30, 2016
Published: August 16, 2016
Copyright: © 2016 Tsai et al. This is an open access
article distributed under the terms of the Creative
Commons Attribution License, which permits
unrestricted use, distribution, and reproduction in any
medium, provided the original author and source are
credited.
Data Availability Statement: In this paper, the traffic
model of Youtube was adopted from a prior work [36]
and used to generate synthetic YouTube traffic data
in our simulations. All data used in our simulations
can be found in the URL: https://github.com/
jensen0915/PLoSOne-CBSP-Data. In addition,
according to the data of Fig 19, it is collected Youtube
data by Wireshark on the smartphone to indicate the
information of packet level such as packet size,
packet arrival time, and so on. Youtube's policy is
concerned about video content. We should have not
violated any Youtube policy.
Funding: This research was partially supported by
the Ministry of Science and Technology, Taiwan, R.O.
Smartphones have become the major communication and portable computing devices that
access the Internet through Wi-Fi or mobile networks. Unfortunately, users without a mobile
data subscription can only access the Internet at limited locations, such as hotspots. In this
paper, we propose a collaborative bandwidth sharing protocol (CBSP) built on top of MultiPath
TCP (MPTCP). CBSP enables users to buy bandwidth on demand from neighbors (called
Helpers) and uses virtual interfaces to bind the subflows of MPTCP to avoid modifying the
implementation of MPTCP. However, although MPTCP provides the required multi-homing
functionality for bandwidth sharing, the current packet scheduling in collaborative MPTCP
(e.g., Co-MPTCP) leads to the so-called biased-feeding problem. In this problem, the fastest
link might always be selected to send packets whenever it has available cwnd, which results in
other links not being fully utilized. In this work, we set out to design an algorithm, called Scheduled Window-based Transmission Control (SWTC), to improve the performance of packet
scheduling in MPTCP, and we perform extensive simulations to evaluate its performance.
Introduction
There are now more than 1.7 billion smartphones in the world, and the penetration rate is
close to 25% [1]. Smartphones have thus become major communication and portable computing devices in recent years. However, in most cities, Wi-Fi hotspots are intermittent, with limited radio transmission range [2]. Although 3G and Long Term Evolution (LTE) provide
excellent coverage, not everyone is willing to pay for a 3G/4G subscription (the penetration
rate of global mobile broadband connections was still under 40% by the end of 2014 [3]). In
other words, many smartphone users often have no mobile Internet connection. To allow these
users to access the Internet, one possible solution is to ‘buy’ unused bandwidth from neighboring smartphones that have Internet connections [4].
Among all mobile Internet applications, video applications are the most popular (exceeding
55% of the total data consumption [5]). Video streaming is known to be bandwidth-hungry
(e.g., 1080P High Definition (HD) video, 4K video, and panoramic video for interactive virtual
cameras [6]), such that 3G bandwidth might be insufficient under certain circumstances
PLOS ONE | DOI:10.1371/journal.pone.0161213 August 16, 2016
1 / 26
Avoiding Biased-Feeding in MPTCP
C., under the grant numbers: MOST 104-2221-E006-041- and MOST 104-2221-E-006-024-, https://
www.most.gov.tw. The funders had no role in study
design, data collection and analysis, decision to
publish, or preparation of the manuscript. There was
no specific funding for the rest of this project. There
was no additional external funding received for this
study.
Competing Interests: The authors have declared
that no competing interests exist.
(e.g., when radio signal quality is poor). Although 4G technologies, such as LTE, can provide
more bandwidth, their penetration rate is currently rather low [3]. To obtain more bandwidth,
various prior studies [4, 7, 8] have proposed the idea of bandwidth aggregation through multihoming. For example, PRISM [7] employs an inverse multiplexer at the proxy server and
implements a sender-side congestion control mechanism to aggregate bandwidth from neighboring nodes over TCP. In CStream [4], the video server distributes data frames via TCP
connections over multiple Helpers. However, PRISM and CStream are both server-based solutions, which in practice are difficult to implement on every Internet server. Alternately, CoMPTCP [8] extends the MultiPath TCP (MPTCP) at the receiver side to create a collaborative
network. Nevertheless, Co-MPTCP does not address the issue of maintaining the multi-homed
collaborative network. Furthermore, current implementations of packet scheduling in CoMPTCP are based on round trip time (RTT), and they might result in the so-called biasedfeeding [9, 10] problem and introduce many out-of-order packets, which significantly reduces
the aggregated bandwidth.
In this paper, we propose a collaborative bandwidth sharing protocol (CBSP) to group
neighboring smartphones and aggregate their unused bandwidth based on MPTCP. Our current implementation of CBSP focuses on TCP traffic because this is the dominant form (and
HTTP streaming over TCP is the major bearer of mobile video traffic; specifically, 98% of multimedia streaming traffic in mobile traffic is delivered over HTTP [11]). CBSP is built on top of
MPTCP standardized by IETF [12], and hundreds of millions of iPhones and iPads already
support MPTCP. CBSP can also work together with various existing systems, such Webus [13]
and on-bus Wi-Fi [14].
In CBSP, a virtual interface is created on the user’s smartphone for each neighboring smartphone (called a Helper) and bound to a subflow of MPTCP. CBSP uses a proxy server (called
a CBSP server) as a middlebox to coordinate MPTCP connections. The user can access all
Internet servers through the CBSP server, and so the Internet servers do not need to support
MPTCP. In other words, CBSP protocol module only needs to be installed on the user’s smartphone. The CBSP server monitors all traffic forwarded by Helpers and maintains the accounting information (including pricing of the data, if necessary) of the users and Helpers. We
propose a Scheduled (...truncated)