PO-MPTCP : Priorities-Oriented Data Scheduler for Multimedia Multipathing Services

With the diversified wireless network access technology and large-scale equipment of multinetwork interface devices expanding, network transmission performance for multi-homed terminals has been widely concerned by academic circles. More and more scholars have paid attention to Multipath Transmission Control Protocol (MPTCP) as one of the representative methods for studying path transmission performance. However, their studies ignore the impact of dynamic network environments on data transmission performance and seldom consider the priority of data transmission. Undoubtedly, not prioritizing packets will have a dramatic effect on the users experience in the heterogeneous networks. In this paper, we propose a novel priority-aware streaming media multipath data scheduler mechanism (PO-MPTCP) to achieve the following goals: (1) detecting the priority of all streaming media data; (2) achieving multiattribute-aware path evaluation and switching mechanism; (3) introducing a path-quality prioritydriven data distribution mechanism to improve streaming multipath transmission performance.The simulation experiment shows that PO-MPTCP proposed by this paper improves the transmission performance of streaming media and reduces the transmission delay. For the result of simulation experiment, it is easy for us to find that PO-MPTCP is more efficient in data delivery than the standard MPTCP mechanism.


Introduction
Under the background of establishment of various wireless access technologies (i.e., WiFi, 4G, Bluetooth, etc.), the number of mobile terminals equipped with several different standard network interfaces is increasing year by year.Multi-homed devices can use multiple network interfaces to transmit data in parallel, effectively improving network transmission throughput [1].Due to the growing demands for bandwidth requirement and transmission rate requirement of real-time streaming applications (i.e., Facebook [2], WeChat [3], YouTube [4], etc.), traditional single-path Transmission Control Protocol (TCP) [5] cannot utilize the characteristics of the terminals multinetwork interfaces; thus the Internet Engineering Task Force (IETF) proposes Multipath TCP (MPTCP) to be compatible with the current application layer based on traditional TCP [6,7].
As an extension of TCP, MPTCP is compatible with applications, and it never needs to make too many modifications for traditional TCP sockets to achieve application layer transparency.MPTCP's main idea is that data streams would be parallel distributed to multiple links, and it will improve the performance of data transmission (i.e., improving network throughput, reducing transmission delay, maximizing the utilization of the network, etc.) [8].From Figure 1, we can see the MPTCP-based multimedia multipath transmission in wireless network.It simply illustrates that mobile devices use three paths (Paths A, B, and C) to correspond to the MPTCPbased media server.
By adopting a multi-homing structure, MPTCP is considered to be a promising transmission technology, which can meet the requirements for specific Quality of Services (QoS) and balance real-time task utilization rate in network resources [9,10].However, most MPTCP data scheduling algorithms and congestion control algorithms only consider transmission efficiency and fairness [7][8][9] and ignored the priority difference of data transmission caused by the complexity of data types [11].Inspired by the above considerations, this paper presents a priorities-oriented data scheduler for multimedia multipathing mechanism that allows applications to distinguish the relatively prioritized data, ensure higher-priority data can be transmitted via a good quality path, improve the transmission performance of higher-priority data, reduce the transmission delay, and enhance the overall transmission performance for real-time streaming media services.The simulation results confirm that this mechanism can effectively improve the transmission efficiency.PO-MPTCP's fundamental contributions are as follows: (1) It gives MPTCP the ability to perceive the priority of streaming media data and the ability to know when and how to call priority scheduling services.
(2) It designs a multiattribute perceptual mechanism to estimate path qualities and design a multiattribute cooperative path switching algorithm.
(3) It introduces a data-priority-driven distribution strategy based on path quality.
The remainder of this paper is structured as follows.In Section 2, we briefly introduce the relevant works of our PO-MPTCP.Section 3 introduces the details of PO-MPTCP.In Section 4, we evaluate and analyze the performance of PO-MPTCP based on the experimental results.Section 5 gives summaries of this paper and our future work.

Related Work
MPTCP is defined as a development of the TCP that can be compatible with existing Internet devices and application interfaces and which still receives great attention from academic circles.Many scholars are devoted to optimizing the data scheduling algorithm of MPTCP.Cao et al. [12] proposed a receiver-driven data scheduling strategy based on MPTCP, and the purpose is to transfer some operations (e.g., data scheduling and path selection) from the sending end to the receiving end and balance the load of sender and receiver.Marikoshi et al. [13] introduced an improved method for rapidly received ACK based on MPTCP which applies the available increase of ACK to enhance throughput.Kim et al. [14] proposed a method for managing MPTCP (RBPM) based on the size of the receive buffer.The main operation is to estimate the disorder packets by using the available receiving buffer size and multipath dissimilar characteristics; that is, if congestion occurs, RBPM would immediately stop the bad transmission path.Due to capturing the quality of the path correctly, Chung et al. [15] described a new path management scheme on the basis of Machine Learning on MPTCP (MPTCP-ML), which used signal strength, throughput, and interfering APs number to estimate path quality.Kimura et al. [16] discussed three data scheduling mechanisms: (1) data scheduling based on the highest sending rate, (2) data scheduling based on the largest sending window, and (3) data scheduling based on the lowest sending delay.
At the same time, the optimization problem of streaming media data distribution with MPTCP has caused widespread exploration in the academic community.Hayes B et al. [17] used HyperText Transfer Protocol 2.0 adaptive bitrate video transmission based on the MPTCP architecture to eliminate network bandwidth and estimate buffer status by using three modular push strategies for MPTCP.The goal is to improve the transmission of video content in a loss environment, enabling the delivery of adaptive bit rate video.Xu et al. [18] extended the partial reliability protocol of MPTCP to provide a flexible QoS trade-off for multimedia applications in realtime and reliability.Cao et al. [19] introduced the concepts of partial reliability and real-time constraints in MPTCP and discussed the real-time constraints of multimedia streams and the partial reliability of TCP.
In many current MPTCP researches, we found that the focus of scholars research has begun to shift from improving data schedules and congestion control algorithms [20][21][22][23] to optimizing real-time streaming media services.But these optimizations do not take into account the priority of real-time streaming applications for different types of transmission data, and the existing literature on datapriority scheduling is almost limited to the network layer and wireless sensor network.As described in [24], a Markov model is used to control the flow of different priorities on sensor nodes.Therefore, we propose a priority-oriented streaming media multipath data transmission mechanism for developing future mobile streaming media applications and providing attractive benefits including transfer performance improvement and high-quality users experience provisioning.

PO-MPTCP Detail Design
As an extension of TCP, MPTCP has many attractive benefits for content-rich real-time multi-stream media in terms of performance improvement, bandwidth aggregation, and users experience.But these performances might be affected by many factors, such as path characteristics and data scheduling strategies, when the limited receive buffer with a strict sorting.Every wrong grievance is assumed to result in buffer congestion or serious MPTCP performance decline.In order to meet bandwidth requirements and transmit rate for the services of bandwidth-intensive and real-time-contentrich streaming, we discuss the theory about adding priority to MPTCP data scheduling which offers good probabilities including data scheduling dispatch, throughput improvement, and important data transmission-quality assurance.
In this paper, we define the priority of the data subflow as an additional service for the application, and the scheduling policy takes into account real needs of the network environment.According to the data submission order and currently available network bandwidth, the scheduling policy can allow application to determine the data priority and deliver other data sequentially; that is, the vital data should be prioritized and transmitted using the best quality link path.In this data scheduling strategy, it still guarantees relatively important data to be given priority for submitting, reduces transmission delays, and increases the efficiency of whole application when the network service quality is poor.
Figure 2 shows the system architecture for the priorityoriented MPTCP data transmission strategy, which mainly includes MPTCP's sender, MPTCP's receiver, and multipath heterogeneous wireless network.The sender includes three modules: If application layer has data to send, a module of sender is similar to SCTP multiflow buffer module which transfers data from application layer to transport layer, and it uses DPAM to detect and record the priority information for the delivery data, utilize MDPS to determine the status of each subpath based on the RTT and CWND values, and sort the paths according to the quality of each path.Priorities-oriented data scheduler for multimedia multipathing services will dispatch data packets according to data priorities and path qualities; it also transmits information to network layer and finally gets to the receiver.In this way, when the receiver gets the data packets, it will restructure them in sequence, transfer them to the upper layer of the receiver, and feedback the SACK to the sender.

. . Data Priority Awareness Module (DPAM). In mobile
Internet, data is developing to large scale and diversity which leads to multimedia applications demands for network bandwidth and data specialization is increasing.While the traditional MPTCP transmission method neglects the application's priority for messages, it just treats information equally as byte streams and results in data transmission blindness.Therefore, we have to establish a module to detect the data priorities.
In order to differentiate the data priorities, we will mark the different priority missions in the network.When the sender starts to transmit data, DPAM will be through the cross-layer cooperative communication [25], retrieve priority values corresponding to each stream, and store them in the status list (denoted by   ).Each element of   is composed of a doublet (i.e., index of subflow , priority of subflow    ).Algorithm 1 shows pseudocode of DPAM.

. . Multiattribute Detect Path Sorting Module (MDPS).
The data stream transmission efficiency is proportional to the path quality in the ideal case, but the current environment of the heterogeneous network is very complex, so we hope all of data can choose a relatively good quality subpath for transmitting.In the priority-oriented data transmission protocol introduced by this paper, we assume that relatively important data will have a higher priority that can be transmitted through a relatively reliable path, which can reduce the loss probability of important packet.In addition, we propose a Multiattribute Detect Path Sorting Module (MDPS) which can determine the status of each subpath based on the RTT

Definition:
: the th data stream within the MPTCP session.   : the priority value of data stream     : the status list for each stream When there are some data stream need to send, (1) for all data stream   within a MPTCP session do (3)   = (,    ) (4) end for Algorithm 1: DPAM-based priority information collection algorithm.
and CWND values and sort the path according to the quality of the path.
To deliver the prepared data, we assume that there are n available paths in an MPTCP, MDPS can record the qualities of each available path (RTT and CWND) according to the MPTCP connection quality, and uniformly storage is estimated in the set list (denoted by   ).According to the estimates of RTT and CWND in the   , MDPS will give priority to supporting the lowest RTT and sort paths in ascending order based on the RTT values (except that the path's RTT values are the same, it will be followed by the descending order of the CWND values).MDPS will sort all available paths by quality which is used for MPTCP data scheduler.The pseudocode of MDPS is shown in Algorithm 2.
. .Path-Quality Based Priority Data Scheduling Module (PBPD).On the basis of DPAM and MDPS, PBPD will try to support that packets arrived in order.When the sending window is idle and  packets would be sent, we prefer to use the subpath with a good path quality to schedule important data.That is, as long as there is important data with prior in queue, it would be quickly removed from queue and utilize good priority subpath for transmission.It ensures that high-priority data in the queue can be transmitted by the best-quality path and achieve the lowest delay at the same time.When the sending window is idle and  data packets would be sent, PDPB will implement steps as follows: (a) According to   (priority collection of data) produced by DPAM, PDPB will determine whether the current data packet needs priority scheduling.If    is NULL, the standardized MPTCP will be used for data distribution.Otherwise, it indicates that the application has priority packet, then PBPD would be dispatched.
(b) According to the sort path formed by the MDPS module, PBPD will use the first path of   set as the candidate path to be given priority to important data.
(c) PDPB will take the next path of   as the candidate path when the path cwnd is full.
(d) Repeat all above three steps until there is no available sending window on the sender; that is,  data have already been sent.Algorithm 3 shows the pseudocode for PBPD.

Performance Evaluation
. .Simulation Topology.In this section, we utilize the popular network simulator NS-2 [26,27] to verify and evaluate the performance for our proposed priorities-oriented data scheduler algorithm and compare with classical MPTCP.In order to build a real and reliable MPTCP simulation environment, we embed MPTCP patch into NS-2 and then apply PO-MPTCP algorithm to the current MPTCP's simulator.
According to our previous work [6], we can find that the total Internet traffic is made up by 80%-83% of TCP traffic and 17%-20% of UDP, and the suddenness of the network background traffic increases the difficulty for deployment of MPTCP in the network.For simulating a more real network environment we will configure four TCP traffic generators and one UDP traffic generator in every router to get the 80% of TCP traffic and 20% of UDP traffic.The details are shown in Figure 3.
In Figure 3, the simulation topology forms MPTCP's sender and MPTCP's receiver, and it simultaneously fits two links together (denoted by Paths  and B) that have their own corresponding network parameters, as shown in Table 1.For simulating loss-of-frame at the network link layer, a random unified model is used for each path to set the packet loss rate which is caused by random connection competition or radio interference.At present, the bandwidth of Paths A and B is set to 11 Mbps and 10 Mbps, respectively, and Path  adopts the standard interface WiFi/IEEE802.11b,while Path  uses WiMax/IEEE 802.16 interface.In addition, the network simulation time of each path is set to 60s, and other experimental parameters are default as the values of NS-2 network simulator.
. .Simulation Analysis.For convenience, we denote the data result of the standard MPTCP transmission mechanism as "MPTCP" and define priority-oriented data multipath streaming media transmission mechanism proposed by us as "PO-MPTCP".In this section, we use a random unified model to uniform loss errors and take 0%-5% as the lossy rate of each path for analyzing the average throughput, average delay, jitter, and peak signal-to-noise ratio (PSNR) changes in the packet loss rate experiment.
( ) Average roughput.In Figure 4, we can see the average throughput of standard MPTCP and PO-MPTCP at different packet loss rates.In lossy heterogeneous wireless environment, four simulation results show the influence of different packet loss rates on multimedia stream throughput, and PO-MPTCP can achieve a more reliable data transmission.When setting the same packet loss rate, PO-MPTCP achieves

Definition:
: the th path within the MPTCP session.   : the RTT estimation value of path      : the CWND estimation value of path     : the status information for th path.  : the quality list for each path   : a preferred path list selected by MDPS (1) for all path   within a MPTCP session do (3)   = (,    ,    ) (4) put   into   (6) end for (7) for all paths   within the   do (8) all paths are sorted by    values in an ascending order (9) if their    values are same then (10) sort the paths in a descending order basing on their    values (11) end if (12) set k =   → subflow index (13) put   into   (14)  =  + 1 (15) end for Algorithm 2: MDPS-based path information collection and sorting algorithm.

Definition:
: the priority of data stream list perceived by DPAM    : the priority information for th data stream   : a preferred path list obtained by MDPS   (0): the first path of     : a candidate path used for prioritized data delivery When the send buffer is idle and can send packets, (1) for all    within the there is a prioritized packet to send (4) set   =  (0) (5) while the cwnd of   (0) is full do (6) set   =  (0) → next (7) end while (8) else then (9) using standard MPTCP data schedule to distribute (10) end if (11) schedule the packet over   (12) end for Algorithm 3: PBPD-based data scheduling algorithm.better average throughput than standard MPTCP with 2.28%, 8.18%, 2.69%, and 8.04% improvements, respectively.The standard MPTCP does not consider two factors: (1) the requirements of specific QoS on multimedia application; (2) the priorities of the application data and the qualities of different transmission paths in the heterogeneous network.These factors cause earlier packets which are in the MPTCP receiver buffer out of order.With the increase in the number of packets, it can cause buffer congestion and network transmission throughput reduction.Our proposed PO-MPTCP considers the data priorities and the path qualities and selects the best link to transmission; it effectively improves the transmission performance of MPTCP.
( ) Average Delay.As an important parameter for measuring network performance, average delay is often used by researchers to determine the transmission rate of a path when it comes to researching related network protocols.Aiming to highlight the advantage for the PO-MPTCP, Figure 5 compares the average delay of PO-MPTCP and standard MPTCP with 0-5% packet loss rate.For the purpose of conveniently displaying the end-to-end transmission delay, we take the packet loss rate as an example of 0.01, as shown in Figure 6, which shows PO-MPTCP is better than the standard MPTCP.Therefore, PO-MPTCP can improve the transmission performance and reduce the transmission delay through priority-aware data scheduling policies and link sequencing.
( ) Jitter.As far as we know, jitter is an important indicator for predicting the stability of streaming media packets, and it is usually achieved by measuring the last value of delay and the function value of packet length.We take the loss rate of 0.02 to explore the change of jitter within 60 seconds.Figure 7 illustrates that the standard MPTCP generates out-oforder packets more frequently than PO-MPTCP.PO-MPTCP can dynamically be aware of data's priority and adaptive switching path, which can better improve the transmission performance of streaming media and ensure the stability of multimedia streaming.
( ) Peak Signal-to-Noise Ratio.Streaming media services will become the core business of the future mobile Internet.So we studied the transmission performance of multimedia in the heterogeneous streaming media simulation.The performance is measured by PSNR [28] value which translates network transmission throughput and loss rate into userperceived quality through the following equation.
where   represents the rate of the multimedia subflow transmission. ℎ denotes expected average throughput in network while  ℎ is actual average throughput.Figure 8 demonstrates that the PNSR of PO-MPTCP is 3.7% higher than the standard MPTCP in the heterogeneous wireless network.By analyzing the user quality experience with PSNR, PO-MPTCP can achieve a better transmission quality of streaming media and the PSNR fluctuation is more stable.Hence, compared to the existing mechanisms, PO-MPTCP can improve the user experience.

Conclusion
This paper presents PO-MPTCP which is a priorities-aware packet scheduler solution for multimedia multipathing services.It makes full use of its ability to identify packet priority and estimate and switch the path based on the multiattribute perception.In addition, PO-MPTCP provides a prioritydriven data distribution strategy to distinguish data priority and ensure that high priority data is transmitted on the best quality path.PO-MPTCP improves the efficiency data delivery by utilizing the path-based priority-aware method.Simulation results show that PO-MPTCP provides attractive benefits in comparison with classical MPTCP including multimedia average throughput improvement, end-to-end delay reduction, and higher-stability multimedia transmission.In particular, we utilize PSNR to analyze the users service experience of PO-MPTCP, which shows that PO-MPTCP can better meet the transmission quality requirements of  streaming media.Our future work will concentrate on deploying PO-MPTCP in actual systems, enabling PO-MPTCP to satisfy high bandwidth requirements for multimedia applications and delay intolerance.In addition, we have studied the practical significance of priority-based queue management, and it provided a theoretical basis for the deployment of MPTCP protocol in future wireless networks.

Data Availability
The research data used to support the findings of this study was simulated by NS-2.The data which the other researchers want to get are available from the corresponding author upon request.
International Journal of Digital Multimedia Broadcasting

Figure 2 :
Figure 2: Architecture of the priority-oriented MPTCP data transmission strategy.

Figure 6 :
Figure 6: Comparison of end-to-end delay.

Table 1 :
Path configuration used in the simulation.