1 Introduction

During the last years wireless access technologies have experienced an extremely rapid development. Supported by the latest technological advances, more and more mobile devices such as PDAs and smart intelligences have been equipped with multiple radio interfaces. Such devices can improve their performance by making use of multipath transport protocol. Due to its multi-homing feature and dynamic reconfiguration extension [1], the stream control transmission protocol (SCTP) [2] has been recognized as a promising multipath transport protocol for data delivery in multi-homed wireless environment. A SCTP association can create multiple simultaneous sub-flows among the end hosts, where each sub-flow mains the ability to send SCTP packets over a path.

The growing computing power and storage capacity of wireless devices, as well as the availability of different wireless access technologies provide the opportunity for real-time distribution of multimedia [3]. Henceforth, the content-rich multimedia streaming, such as video-on-demand (VoD), will be the most attractive services in the next generation wireless networks [4]. In such services, multimedia data is displayed continuously at the receiver side, which requires the network transport to deliver the multimedia data in a timely fashion [5, 6]. Hence, video transport usually has stringent bandwidth, delay, and loss requirements due to its real-time nature. To improve the performance of multimedia content delivery over multi-homed wireless network, it is important to distribute data across all available paths to improve the throughput.

Concurrent multipath transfer (CMT) [7, 8] extension for SCTP uses a round-robin scheduler to distribute data across multiple end-to-end paths simultaneously. With ability of parallel transmission over multiple paths, CMT can improve the quality and reliability of network connectivity, provide better persistence and tolerance to errors and increase the total usage of available bandwidth to support efficient data delivery over multi-homed wireless networks [9], especially for high-bandwidth acquired and delay-intolerant multimedia transmission [10]. Figure 1 portrays the CMT-based multimedia delivery in a heterogeneous wireless network (HetWNet). As it is shown, a multi-homed device can use 3G/UMTS, WiMAX and WiFi access links simultaneously to communicate with the media server. Such concurrent communication way makes CMT become a promising technology for the real-time distribution of multimedia [11].

Fig. 1
figure 1

CMT-based multimedia streaming over multi-homed wireless network

Although the advantages of exploiting CMT have been demonstrated to be very useful for multimedia content delivery [1214], there is still significant ongoing work addressing many remaining challenges including: (i) due to the limitation of information exchange between each layer in traditional TCP/IP layered protocol architecture, current CMT-based multimedia streaming solutions mostly depended upon the information provided by transport layer without considering the impacts from other layers; (ii) current CMT solutions mostly focus on how to improve CMT protocol itself while seldom consider TCP-friendly congestion control design [15]. On one hand, the blind knowledge from characteristics of other layers, especially the MAC layer, cannot make CMT really achieve the desired performance in wireless environment; on the other hand, as TCP traffic is dominant in the Internet (more than 80 % over Internet backbone [16]), the TCP-friendliness congestion control doctrine should be extended to incorporate multi-homing and SCTP CMT to allow for the deployment of CMT in Internet setups without discriminating TCP traffic.

This paper proposes a novel cross-layer cognitive CMT-based multimedia transfer solution (CMT-CC) by extending our previous work [17]. In this extension, CMT-CC not only provides a cross-layer network condition sensor (CNCS) module that aims to cognize network condition and distinguish the causes of network condition change, an intelligent multimedia content distributor (IMCD) module that serves to enable adaptive multimedia distribution behavior appropriate for the varying wireless network condition, but also includes a new TCP-friendly congestion control mechanism that aims to make CMT-CC preserve fairness to TCP flows on congested links. Our major contributions in this paper are as follows:

  • Develops a novel cross-layer path evaluation model to obtain path quality integrating information from MAC and transport layers, and applies it into the parallel multimedia transfer algorithm.

  • Introduces a proper transmission condition variation-cognitive and transmission content importance level-aware concurrent multipath multimedia scheduling strategy.

  • Designs an innovative weighted moving congestion window-based TCP-friendly congestion control mechanism to improve the multimedia data delivery performance while still remaining fair to the competing TCP flows.

2 Related Work

SCTP is a new transport-layer protocol that provides reliable and message-oriented transmission service. It employs TCP-like congestion and flow control mechanisms such as slow start, congestion avoidance, fast retransmission and fast recovery. It has two important features including: (i) Multi-homing. It enables devices that have multiple network interfaces, for redundancy, to utilize one over the other without having to wait. Within an SCTP association, one interface is used to establish the primary path and the rest for secondary path establishing [18]. SCTP uses SACK (selective acknowledgment) to probe primary path connectivity and HEARTBEAT to probe the alternative paths, respectively [19]. If the primary path breaks, a secondary path is selected for data delivery. (ii) Multi-streaming. SCTP’s mutli-streaming feature allows multiple simultaneous data streams within an association. By using multi-streaming with SCTP, a multi-homed endpoint could simultaneously open multiple streams and send text, pictures, etc. through each stream to another multi-homed device [20]. This could help SCTP avoid the head-of-line blocking problem and improve the quality for multimedia streaming service.

In recent years, more and more researchers turn their eyes on the promising SCTP for multimedia delivery. Wallace et al. [21] addressed a comprehensive review of the SCTP and further discussed three main research areas including (1) handover management; (2) concurrent multipath transfer; and (3) cross-layer activities. Dreibholz et al. [22] introduced the SCTP-base protocol, as well as already standardized extensions. Ortiz et al. [23] presented an evaluation of the SCTP for the transport of the scalable video codec (SVC). Wang et al. [24] developed a new solution called i-SNG using multilink SCTP to achieve a cost-effective live news broadcasting service through prevalent wireless access networks for TV news companies. However, all the above solutions cannot make full use of the multipath resources since SCTP cannot support parallel transmissions over multiple paths.

CMT uses the multi-homing feature of SCTP to concurrently distribute data across multiple paths in a SCTP association. Such parallel transmission and bandwidth aggregation features enable CMT support the content-rich real-time multimedia distribution under stringent bandwidth, delay, and loss wireless environment. Our previous work [11] developed a novel evaluation tool-set Evalvid-CMT to analyze and optimize the performance of CMT-based multimedia distribution. Huang et al. [13] proposed a partially reliable concurrent multipath transfer approach for multimedia transfer to make CMT prevent large gaps between two playable frames to have good video quality. Baek et al. [25] introduced an SCTP-based video partially reliable multicast protocol appropriate for HetWNet. However, all the above solutions ignored that the CMT performance was largely degraded by data reordering due to path quality dissimilarity.

Due to its round-robin scheduler, CMT distributes data over all available paths in an equal-share way without considering path quality differences. This make CMT be bound to buffer blocking, with a large number of out-of-order packet arrivals and severe data reordering in the limited receiver buffer. Lately, many research works have been devoted to addressing CMT’s packet reordering problem. Wu et al. [5] proposed a novel distortion-aware concurrent multipath transfer solution to provide per-path status estimation-based video data scheduling and streaming over HetWNet. Galante et al. [10, 26] optimized the round-robin scheduler by making use of two types of bandwidth estimations (i.e. TCP Westwood\(+\) and Packet Pair), and designed a novel adaptive traffic-scheduling algorithm to support high-quality multimedia streaming on multi-homed endpoints. Our previous work [27] designed a novel path-quality-aware packet scheduling mechanism to enable CMT provide smooth high quality service provisioning for real-time multimedia delivery in HetWNet. However, all the above solutions depend solely upon transport layer QoS-related networking parameters.

More recently, Mirani et al. [28] introduced a cross-layer way to extend the round-robin scheduling mechanism. However, their solution lacks any consideration for fairness to TCP flows. Rathgeb et al. [29, 30] applied TCP-friendly congestion control to CMT by combining CMT and the Resource Pooling technology. This study is the first to provide a TCP-friendly congestion control for SCTP CMT. However, devising a RP-based congestion control algorithm is a complex task in multi-homing environment. Moreover, they solution do not take the cross-layer activities into consideration. For above discussed reasons, we can conclude that applying cross-layer activities and TCP friendliness-related design to CMT is a good solution to improve users’ quality of experience for concurrent multipath multimedia streaming, while still remaining fair to the competing TCP flows.

3 CMT-CC System Design

3.1 Cross-Layer Network Condition Sensor (CNCS)

Most studies on multimedia streaming use available bandwidth (AB) to evaluate the path quality. A well-known AB model [31] consists of round trip time (RTT) and packet loss rate (PLR) which can be expressed as

$$\begin{aligned} { AB}=\frac{\textit{const}}{\textit{RTT}\times \sqrt{\textit{PLR}}}, \end{aligned}$$
(1)

where const is a constant that is usually set to either 1.22 or 1.33. the PLR can be evaluated by the two-state discrete Markov Chain known as Gibert’s Model, while the RTT can be estimated by

$$\begin{aligned} \textit{RTT}=\alpha \times {\overline{\textit{RTT}}} +(1-\alpha )\times (t-T_{ send} -\Delta T), \end{aligned}$$
(2)

where \(\overline{\textit{RTT}}\) denotes the current round trip time, \(t\) is the timestamp on behalf of the time at which the packet ACK is received at the sender, \(\alpha \) is a weighting parameter with a common value 0.875, \(T_{ send}\) is for the timestamp the packet sending time, and \(\triangle T\) is the time interval of a packet handling time at the receiver.

However, the AB model mentioned above just only depended solely upon the condition provided by transport layer. This disadvantage makes the AB model cannot make timely response for the rapidly varying physical and MAC characteristics of wireless environment. Moreover, both network congestion and wireless link error can lead to packet loss in wireless transmission, therefore, the AB model cannot really distinguish the causes of the network condition change and further enable a condition-aware adaptive transmission behavior appropriate for efficient multimedia content delivery in wireless networking, where transmission conditions such as wireless channel error and delay variance tend to occur frequently due to the intrinsic wireless link characteristics.

Since the attributes of wireless MAC layer are useful for identifying the variation of instantaneous wireless channel characteristics, especially for wireless channel errors [32]. Meanwhile, as it is discussed in previous work [27], RTT value at transport layer is generally used as the most important parameter for network congestion estimation. Thus, previous work considers the RTT value and frame error rate (FER), an important wireless channel attribute at MAC layer, to construct a MAC-transport layer based cross-layer model, which can be expressed as

$$\begin{aligned} \textit{CM}_i =\frac{1}{\textit{RTT}_i \times \sqrt{\textit{FER}_i }}, \end{aligned}$$
(3)

where \(\textit{RTT}_{i}\) denotes the RTT value of path \(i\). Equation (2) can be used to measure the RTT value of each path within the SCTP association. The \(\textit{FER}_{i}\) denotes the FER value of path \(i\). Meanwhile, the MAC can report its attributes to transport layer through the WlanQueryInterface, which is already implemented in recent Windows operating systems [32]. Furthermore, previous work [28] gives the relationship between the FER and bit error rate (BER) as following equation which is used to estimate the FER value in the CMT-CC.

$$\begin{aligned} \textit{FER}=1-(1-\textit{BER})^{8n}, \end{aligned}$$
(4)

where \(n\) is on behalf of the length of a frame in bytes. BER is the probability for a bit to be in error for a communication medium.

To make CMT-CC provide proper multimedia distribution behavior in the varying wireless network environment, the CNCS based on the cross-layer model is further designed. As for Eq. (3), there are three variables, \(\Delta CM_i\), \(\Delta FER_i\) and \(\Delta \textit{RTT}_i\). The three variables can help CMT-CC to distinguish the causes of network condition change by

$$\begin{aligned} \left. {\begin{array}{l} \Delta \textit{CM}_i^{{ RTT}_i } =\frac{\partial \textit{CM}_i }{\partial \textit{RTT}_i }\times \Delta \textit{RTT}_i =\frac{-\Delta \textit{RTT}_i }{\left( {\textit{RTT}_i } \right) ^{2}\times \sqrt{\textit{FER}_i }}\\ \Delta \textit{CM}_i^{\textit{FER}_i } =\frac{\partial \textit{CM}_i }{\partial \textit{FER}_i }\times \Delta \textit{FER}_i =\frac{-\Delta \textit{FER}_i }{2\textit{RTT}_i \times \left( {\sqrt{\textit{FER}_i }} \right) ^{3}}\\ \Delta \textit{CM}_i \approx \Delta \textit{CM}_i^{\textit{RTT}_i } +\Delta \textit{CM}_i^{\textit{FER}_i } \\ \end{array}} \right\} , \end{aligned}$$
(5)

where \(\Delta \textit{CM}_i^{\textit{RTT}_i}\) is the variance of \(\Delta \textit{CM}_i\) mainly influenced by the RTT variance (i.e., deteriorated or mitigated network congestion), while \(\Delta \textit{CM}_i^{\textit{FER}_i}\) is the variance of \(\Delta \textit{CM}_i\) mainly influenced by the FER variance (i.e., deteriorated or mitigated wireless unreliable condition).

Based on Eq. (5), there are four network conditions determined in CNCS, which are

  • Network Condition 1 (NC-1): if \(\textit{CM}_{i}\) decreases while \(| {\Delta \textit{CM}_i^{\textit{RTT}_i } } |\ge | {\Delta \textit{CM}_i^{\textit{FER}_i } } |\), it indicates that the transmission quality of path \(i\) is deteriorated mostly associated with severe congestion.

  • Network Condition 2 (NC-2): if \(\textit{CM}_{i}\) decreases while \(|{\Delta \textit{CM}_i^{RTT_i } } |<| {\Delta \textit{CM}_i^{\textit{FER}_i } } |\), it denotes that the transmission quality of path \(i\) is deteriorated mostly associated with unreliable condition occurred by severe wireless link error.

  • Network Condition 3 (NC-3): if \(\textit{CM}_{i}\) increases while \(| {\Delta \textit{CM}_i^{\textit{FER}_i } } |\ge | {\Delta \textit{CM}_i^{\textit{RTT}_i } } |\), it means that the transmission quality of path \(i\) becomes good mainly thanks to mitigated congestion.

  • Network Condition 4 (NC-4): if \(\textit{CM}_{i}\) increases while \(| {\Delta \textit{CM}_i^{\textit{FER}_i } } |<| {\Delta \textit{CM}_i^{\textit{RTT}_i } } |\), it signifies that the transmission quality of path \(i\) becomes good mainly thanks to mitigated wireless error.

3.2 Intelligent Multimedia Content Distributor (IMCD)

As already mentioned, the standard CMT mainly uses a round-robin strategy to distribute data over all available paths in an equal-share way without considering the path quality differences. Such “blind” round-robin method for scheduling data chunks will undoubtedly result in serious problems in data delivery because asymmetric paths are with different quality characteristics. Meanwhile, multimedia content transport usually has stringent bandwidth, delay, and loss requirements due to its real-time nature. Thus, it is important to transfer multimedia data accordance with each path’s transmission efficiency and enable a proper transmission behavior according to the corresponding network condition.

Inspired by above mentioned facts, an IMCD is addressed for efficient multimedia distribution. With IMCD, only available frame can be delivered. The concept of available frame is defined as below.

Definition 1

A (re)transmission-required multimedia frame is an available frame if it can be received by receiver before its playout time.

Equation (6) can be used to verify whether the (re)transmission-required multimedia frame is an available frame or not before transmission on the selected candidate path \(d_{send}\).

$$\begin{aligned} \left. {\begin{array}{l} T_{ leftTime}=T_{ lifeCycle} -\hbox {CurrentTime}\\ T_{ leftTime}>\frac{RTT_{d_{ send}}}{2}\\ \end{array}}\right\} , \end{aligned}$$
(6)

where \(T_{ leftTime}\) represents the left time of multimedia frame for (re)transmission. \(T_{ lifeCycle}\) stands for the lifetime of the (re)transmission-required multimedia frame. The multimedia frame is an available frame and can be transferred over the \(d_{ send}\) as long as its \(T_{ leftTime}\) value is greater than \(\frac{\textit{RTT}_{d_{ send}}}{2}\).

To make the CMT-CC provide an adaptive and intelligent multimedia distribution behavior appropriate for the real-time network condition, four transmission behaviors are defined appropriate for the four network conditions mentioned in the CNCS, which are detailed as follows.

  • PR-Level 1 behavior: if NC-1 condition is detected, the CMT-CC sender will adopt Partial Reliable with Level 1 (PR-Level 1) behavior for the retransmission. With PR-Level 1 behavior, only available I-frame will be redelivered over the \(d_{ send}\) once having data chunk to retransmit, while P-frame and B-frame will be given up retransmission in order to mitigate the congestion condition.

  • PR-Level 2 behavior: if NC-2 condition is detected, since the \(d_{ send}\) goes through not only packet loss but also high frame corruption, only retransfer available I-frame will not help for users’ experience of quality. Hence, the CMT-CC sender enables Partial Reliable with Level 2 (PR-Level 2) behavior for retransmission. With PR-Level 2 behavior, all available I-frame and P-frame will be resent by the CMT-CC sender once having data chunk to retransmit. This behavior aims to improve the number of playable frames in unreliable transmission condition.

  • N-Level 1 behavior: if NC-3 condition is detected, since the quality of the \(d_{ send}\) becomes good mainly thanks to mitigated network congestion, the CMT-CC sender turns to adopt Normal Level 1 (N-Level 1) behavior for retransmission. With N-Level 1 behavior, all available I-frame, P-frame and B-frame will be retransmitted by the CMT-CC sender in order to improve the number of playable frames. Moreover, the sender can tune up the data send rate to improve throughput performance.

  • N-Level 2 behavior: if NC-4 condition is detected, since the quality of the \(d_{ send}\) goes good mainly due to mitigated wireless error, the CMT-CC sender turns to enable Normal Level 2 (N-Level 2) behavior for retransmission, namely all available I-frame, P-frame and B-frame will be retransferred over the \(d_{ send}\). Meantime, if the congestion is recognized as a satisfying one, the sender can tune up the data send rate as well.

The Prioritized Stream Transmission scheme [20] is also introduced to the CMT-CC so as to delay the transmission of the low priority chunk for high priority chunk. In CMT-CC solution, let \(S_{n}\) be the \(n\)th (\(0\le n\le 2\)) stream within the selected candidate path \(d_{ send}\) and \(S_{0}> S_{1}>S_{2}\) be the stream priorities. Thus, the CMT-CC sender sends I-frame to the \(S_{0}\) stream, P-frame to the \(S_{1}\) stream, and B-frame to the \(S_{2}\) stream.

With the designed IMCD, once having data to send, the CMT-CC sender: (i) estimates the condition of available paths by calculating the CM value by (3) for each path within an SCTP association; (ii) sorts the path in a descending order of their measured CM values; (iii) selects the first path in the list (denoted as \(d_{list(0)}\)) corresponding to the path with the largest CM metric value as the \(d_{ send}\) for data transmission; (iv) chooses the next path in the list as the \(d_{ send}\) and so on if the congestion window is full; and (vi) starts CNCS to sense the network condition of \(d_{ send}\) and then enables proper transmission behavior for efficient multimedia delivery. Algorithm 1 presents the pseudo code of IMCD-based multimedia data distribution algorithm.

3.3 TCP-Friendly Congestion Control Mechanism

Like TCP’s congestion control strategy, SCTP, also CMT utilizes the AIMD behavior for congestion control. Algorithm 2 shows the AIMD pseudo code used in the classic TCP [33].

figure e
figure f

To make CMT keep fairness for TCP Flows, the standard CMT adopts the AIMD behavior as congestion control. However, the AIMD behavior lacks of adaptability appropriate for wireless networking. For example, AIMD behavior will enter a slow start phase whenever timeout (TO) occurs. This nature will undoubtedly cause the performance degradation in a wireless network where TOs occur frequently due to the intrinsic wireless link characteristics.

To fix the issue mentioned above, a weighted moving cwnd mechanism is introduced into the AIMD behavior aiming at (i) provide an adaptive TCP-friendly congestion control, and (ii) enable fast recovery for CMT. To make it happen, SCTP’s HEARTBEAT and HEARTBEAT ACK chunks is used to detect the possible growth room of cwnd for each path within the SCTP association. For convenience, some notations are defined in Table 1. Next the major design of TCP-friendly congestion control mechanism is detailed.

Table 1 Notations used in CMT-CC

As mentioned above, when the CMT-CC sender estimates the cwnd value for each path within a SCTP association, it uses the information of the HEARTBEAT chunk, which is defined in the standard SCTP protocol, to obtain the available bandwidth \(B\),

$$\begin{aligned} B=\frac{\textit{Size}_{ HB} }{\textit{RTT}_{ HB} }. \end{aligned}$$
(7)

Then the sender can estimate the possible growth room of cwnd by

$$\begin{aligned} \textit{cwnd}_{ avail} =B\times RTT_{\min }, \end{aligned}$$
(8)

where \(\textit{RTT}_{\min }\) is the minimum RTT value for the path in order to avoid sporadic losses [34].

Based on the \(\textit{cwnd}_{ avail}\) value, the sender can tune the cwnd value using the designed WM-cwnd based congestion control method (further referred to as WM-cwnd algorithm), which is shown in Algorithm 3. The \(\delta \) and \(\xi \) in the algorithm are considered as weighting factors, their default value are set to \(1/2\) for the sake of fairness for \(cwnd_{ curr}\) and \(cwnd_{ avail}\). Our future work will study how to tune the two weighting factors in order to make the performance and fairness as good as possible.

As it is discussed in Sect. 3.1, the network condition NC-1 denotes that the ransmission quality of path \(i\) is deteriorated mostly associated with congestion deterioration. Thus, if the CMT-CC sender detects that path \(i\) is with NC-1 condition, it is able to determine that there is network congestion detected on path \(i\). Otherwise, it determines that there is no network congestion detected. This simple detection method can be used in Algorithm 3 to recognize whether or not network congestion occurs on each path.

In comparison with the AIMD behavior, (i) in case of network congestion condition, since \(\textit{cwnd}_{ avail} \approx 0\), so, it has \(\textit{cwnd}_{ new} \approx \frac{1}{2}\times \textit{cwnd}_{ curr}\). In this case, WM-cwnd algorithm has the same congestion control mechanism as that the AIMD behavior does; (ii) since it can be believed that \(\textit{cwnd}_{ curr} \approx \textit{cwnd}_{ avail}\) once the gap between \(\textit{cwnd}_{ curr}\) and \(\textit{cwnd}_{ avail}\) is less than a standard value. Thus, WM-cwnd algorithm can adaptively tune the cwnd value up to the maximum if there is no network congestion detected or down to the minimum when severe and consecutive congestion occurs. With the weighted moving average feature, The WM-cwnd algorithm has more adaptability than AIMD behavior and improves the efficiency of fast recovery for CMT-CC in varying wireless network conditions.

figure g

4 Simulations and Analysis

4.1 Simulation Setup

Network Simulator (NS-2.35) [35] is used to evaluate the performance of CMT-CC since the error model implemented in NS2 for wireless networks can support both BER and FER information conveniently. Nowadays the most frequently used standard for Wireless Local Area Networks (WLANs) is IEEE 802.11 [36]. Therefore, the performance of CMT-CC is investigated with IEEE 802.11 standard.

The simulation topology is shown in Fig. 2 and includes the SCTP sender and receiver. Both SCTP endpoints have two wireless 802.11b interfaces of 11 Mbits/s at 2.4 GHz and 25 ms delay. The FER value on Path 1 is fixed at 2 %, and on the Path 2, it experiences a varied value at 2, 4, 6, 8 and 10 %, respectively. To avoid interferences occurs between the two 802.11b interfaces, both of them are assigned to two different channels. The queue management algorithm of each router is DropTail. The receive buffer is set to the default 64 KB. The SCTP CMT parameters used in experiment is shown in Table 2.

Fig. 2
figure 2

Simulation topology

Table 2 SCTP CMT parameters of experiment

Previous work [16] showed complex behaviors of Internet traffic that are necessary for transport protocol performance testing. Thus, we added four TCP generators and one UDP generator for each router in order to generate about 80 % TCP traffic and 20 % UDP traffic over each wireless path. All FTP/TCP traffic generators, VBR/UDP traffic generators and CBR/UDP traffic generators connect to each router (R1 and R2) with a reasonable bandwidth value of 100 Mb, and the propagation delay is 5 ms. To make NS2 enables the Variable Bit Rate (VBR) traffic generator, the default values for VBR traffic are set by following Table 3. All FTP traffic, VBR traffic and CBR traffic used in experiments are gathered from the Beijing University of Posts and Telecommunications. The data rate of both CBR traffic and VBR traffic are set to 1 Mb aims to consume the available bandwidth of the two wireless paths. As for FTP traffic, it just uses the default parameters provided by NS2.

Table 3 Parameters used in VBR traffic generator

4.2 Simulation Results

In this subsection, the performance evaluation between the CMT-CC and the standard CMT is presented. For convenience, the results of the standard CMT are illustrated as “Standard CMT” in test result figures, and the results with the proposed protocol are illustrated as “CMT-CC”, respectively.

4.2.1 FTP Data Transmission

To clarify how the proposed CMT-CC solution improves the application data delivery performance while still remaining fair to the competing TCP flows, FTP traffic is introduced to the SCTP sender to verify the packet arrival order-related indicators when using the standard CMT and the CMT-CC solution, respectively. For simplicity, the FER value on Path 2 (denoted \(\gamma \), \(\gamma \in \{2, 4, 6, 8, 10\,\%\})\) is set to 2 % (the minimum value of \(\gamma \)) and 10 % (the maximum value of \(\gamma \)), respectively.

Average Throughput

Figures 3 and 4 illustrate the throughput of the standard CMT, the CMT-CC solution and their corresponding competing TCP traffic when the FER value on Path 2 is set to 2 and 10 %, respectively. It can be observed that the CMT-CC maintains the throughput performance at higher levels than the standard CMT whenever the FER value on Path 2 is set to 2 or 10 %. That is because the proposed CMT-CC solution takes delay variance and wireless channel error into consideration to sense paths’ quality and schedules SCTP packets according to the measured path quality. Besides, the CMT-CC probes and adaptively tunes the cwnd value for each path, this feature makes it can achieve fast recovery whenever packet loss or timeout occurs. These factors make CMT-CC avoid performance degradation and thus perform better than the standard CMT. In the two figures (Figs. 3 and 4), the CMT-CC’s throughput is 3.09 and 4.02 % higher than that of the standard CMT, respectively.

Fig. 3
figure 3

Comparison of throughput when FER on Path 2 is set to 2 %

Fig. 4
figure 4

Comparison of throughput when FER on Path 2 is set to 10 %

Meanwhile, the standard CMT mainly uses round-robin data scheduling method to transfer SCTP packets without considering a number of issues involving data rate control and TCP friendly, while the CMT-CC solution takes TCP-friendly congestion control strategy into account. Therefore, the CMT-CC’s competing TCP flows achieve a little higher average throughput than that of the standard CMT’s competing TCP flows. In Fig. 3, the CMT-CC’s competing TCP flows achieve about 0.62 % higher throughput than that of the standard CMT’s competing TCP flows. As the FER value is increasing (for example taking \(\gamma =10\,\%\)), the throughput of CMT-CC’s competing TCP flows transcends and becomes similar to that of the standard CMT’s competing TCP flows (see Fig. 4). Thus, we can conclude that the proposed TCP-friendly congestion control mechanism can improve CMT’s throughput performance while remaining fair to the competing TCP flows.

Bandwidth Utilization

To better reflect path bandwidth utilization of the standard CMT and CMT-CC solution, we compare the two solutions in terms of path average throughput (Path 1 and Path 2) in Fig. 5a, b, respectively. Figure 5a shows the path average throughput when \(\gamma \) is set to 2 %. As the figure shows, CMT-CC can balance the load of Path 1 and Path 2 well and achieve equal bandwidth utilization (50 % on average) on the two paths. In contrast, the standard CMT achieves 47.8 and 48.9 % bandwidth utilization on Path 1 and Path 2, respectively. As the FER on Path 2 is increasing (for example taking \(\gamma =10\,\%\), see Fig. 5b), CMT-CC adaptively shifts the load from Path 2 to Path 1 supporting by its cross-layer path-quality-aware scheduling mechanism. Correspondingly, CMT-CC achieves 55.9 and 43.7 % bandwidth utilization on Path 1 and Path 2, respectively. While the standard CMT achieves 50.1 and 49.0 % bandwidth utilization on Path 1 and Path 2, respectively. In this case, although CMT-CC achieves about 5.3 % lower bandwidth utilization than the standard CMT on Path 2, we argue that this is worthy for the total throughput performance (as discussed above, CMT-CC performs 4.02 % higher total throughput (Path 1 \(+\) Path 2) compared with the standard CMT when \(\gamma \) is set to 10 %).

Fig. 5
figure 5

Path bandwidth usage

Packet Latency

Figure 6a, b compare the packet delay performance between the two solutions in terms of packet delay when \(\gamma \) is set to 2 and 10 %, respectively. For \(\gamma =2\,\%\) case, CMT-CC aggregates more available bandwidth for data delivery by making use of its optimal congestion window adjustment mechanism, this help CMT-CC improve bandwidth utilization and reduce packet delay. Compared with the standard CMT, CMT-CC has 3.83 % improvement in packet delay. For \(\gamma =10\,\%\) case, CMT-CC maintains its precedent performance advantage (1.82 % lower) against the standard CMT. The reason is not only due to its optimal congestion window size adjustment mechanism but also the designed cross-layer-aware data scheduler, CMT-CC can reduce the packet loss probability and improves the delay performance when it schedules packets over the selected paths that have good transmission quality (i.e., low wireless error and low end-to-end delay).

Fig. 6
figure 6

Comparison of packet latency

Packet Sending and Receiving Times

Figure 7 portrays sending and arrival times of several data packets when the standard CMT and the CMT-CC are used, respectively. In this experiment, the FER value on Path 2 is set to 10 %. In order to better illustrate the comparison, the results between \(t=0\,\hbox {s}\) and \(t=5\,\hbox {s}\) are presented representative for the whole simulation results. It can be observed that the CMT-CC outperforms the standard CMT in terms of sending and receiving transmission sequence number (TSN). That is because the standard CMT sender uses round robin method to transmit data chunks over all available paths equally without considering the path quality differences. Due to this “blind” data scheduling method, the paths are with the large number of lost chunk. In contrast, the CMT-CC: (i) senses path quality for each path, (ii) makes adaptive congestion window adjustment, and (iii) schedules data chunks over all available paths by quality-aware data distribution algorithm. These features make the CMT-CC achieve higher sending and receiving TSN than that of the standard CMT.

Fig. 7
figure 7

Comparison of sending and receiving time of packets

Out-of-Order Packets

The out-of-order TSN metric used in the experiment is measured by the offset between the TSNs of two consecutively received data chunks (the difference between the TSN of the current data chunk and that of the latest received data chunk). It can be concluded that the out-of-order TSN metric can portray the characteristics of concurrent multipath packet transfer over multi-homed wireless networks. We also set 10 % FER for Path 2 in this experiment. Figure 8 presents the out-of-order TSN metric variation between simulation time \(t=0\,\hbox {s}\) and \(t=20\,\hbox {s}\). As the figure shows, the standard CMT generates more out-of-order chunks and requires increased reordering than that of CMT-CC. The CMT-CC distributes the data chunks over the paths according to paths’ quality. In this way, the CMT-CC solution reduces the out-of-order data arrival and consequently performs better than the standard CMT. When comparing the two transfer scheme, it is noted that peak out-of-order data reception at the receiver is sometime more than 90 using the standard CMT, while it is less than 70 when using the CMT-CC solution.

Fig. 8
figure 8

Comparison of out-of-order TSN

4.2.2 Real-Time Video Delivery

A YUV video sequence with a QCIF format (resolution \(176\times 144\) pixels) which consists of 2,000 frames with average quality is used for experimental video trace. The frame rate of the encoded stream is 30 fps. After processing, a MPEG-4 video sequence which has 223 I frames, 445 P frames and 1,332 B frames is produced. Those frames are fragmented into 2,250 packets which include 463 packets for I frames, 453 packets for P frames and 1,334 packets for B frames. The created MPEG-4 video trace file which includes these packets information is introduced to the NS2. The SCTP receiver is assumed to have 10 s buffer time before the playout, this assumption is reasonable accordance with a well-known work [13]. The simulation stops after all available frames are delivered. Testing results are calculated by averaging the results of 20 runs.

Peak Signal to Noise Ratio

Figure 9 shows the comparison of Peak Signal to Noise Ratio (PSNR) between the CMT-CC and the standard CMT. As it is shown in Fig. 9a, the average PSNR from each solution follows a lineal decline in the relationship with the FER of Path 2. However, the CMT-CC achieves better PSNR than that of CMT since it supports cross-layer cognitive capability for varying wireless network condition and further adopts proper transmission behaviors. It can be observed that the gap between CMT-CC and the standard CMT comes larger with the increase of the FER value on Path 2. That is because the standard CMT transfers multimedia data without considering the wireless loss and delay variance, as a result, the transmission condition becomes more deteriorated and fewer playable frames can be received before their scheduled playout time. The CMT-CC’s PSNR is about 3.83, 3.95, 4.89, 5.21 and 5.67 dB higher than that of the standard CMT when the FER value on Path 2 is set to 2, 4, 6, 8 and 10 %, respectively.

Fig. 9
figure 9

Comparison of PSNR

Received Frame Number

Figure 10 portrays the comparison of received frames between CMT-CC and the standard CMT. Since the CMT-CC checks whether or not the frame is available one before its transmission, if the frame is available one, it will further aware of the network condition and only retransmit I-frame whenever network congestion is detected. This way not only mitigates the network congestion condition but also makes large number of available I-frame can be received before their playout time. Moreover, when the network condition is recognized as unreliable one, only available I-frame and P-frame will be retransmitted by the CMT-CC sender. In contrast, the standard CMT schedules all frames over paths without considering whether or not the frame can be received before its scheduled palyout time, the blind knowledge makes the standard CMT perform a worse performance than the CMT-CC in terms of received frames.

Figure 11 illustrates the number of received packets and playable frames when using the standard CMT and CMT-CC, respectively. Due to its cross-layer communication feature, CMT-CC distributes data chunks over a selected path that has low frame loss rate and delay. Therefore, it can reduce the packet loss probability and improves the number of received frames. In addition, the CMT-CC distinguishes the network condition and enables optimal transmission behavior for the available frames, whereas the standard CMT cannot provide adaptive transmission behavior appropriate for varying network condition. Consequently, it performs worse than the CMT-CC solution in terms of received packets and playable frames.

Fig. 10
figure 10

Comparison of received frames

Fig. 11
figure 11

Comparison of received packets and playable frames

Other Video Sequences Comparison

With the same coding method under the same network conditions aforementioned, other four well-known video sequences are evaluated. For simplicity, the FER value on Path 2 is set to a fixed value of 10 %. Figure 12 presents the statistical results of four different videos sequences. The standard deviations were evaluated based on the Percentage of the Playable Frames (PoPF). The results show that the CMT-CC outperforms the standard CMT for the four videos. The CMT-CC achieves a PoPF value at about 50.4 %, and the standard CMT obtains about 26.9 %.

Fig. 12
figure 12

Standard deviations of other video sequences

5 Conclusion

Motivated by the fact that devising a novel SCTP-based concurrent multipath transfer solution involving a number of issues, such as the cross-layer design, multimedia distribution performance improvement and TCP friendly congestion control strategy, is currently an urgent need, this paper proposed CMT-CC to satisfy above concerns. Three modules is designed in CMT-CC to make it provide cross-layer cognitive and TCP-friendly multimedia distribution behavior, which were CNCS that devotes to cognize network condition and distinguish the causes of network condition change, IMCD that serves to enable adaptive multimedia distribution behavior appropriate for the varying wireless network condition, and Weighted Moving congestion window (WM-cwnd) based TCP-friendly congestion control mechanism that contributes to make CMT-CC preserve fairness to TCP flows on congested links. The results gained by a close realistic simulation topology showed how the proposed CMT-CC solution improves wireless devices throughput, as well as multimedia delivery performance while still remaining fair to the competing TCP flows.