An Energy-Saving Scheduling Algorithm for Multipath TCP in Wireless Networks

: Multipath TCP (MPTCP) allows the system to use available paths through multiple network interfaces. This aggregation of bandwidth increases the throughput of the network but also consumes more energy to maintain connections between multiple interfaces. Existing algorithms tend to shift trafﬁc from the high energy path to the low energy path to save energy. However, when the performance of the less energy-intensive path deteriorates, continued use of that path will reduce throughput. To alleviate this issue and reduce energy consumption while ensuring network throughput, this paper proposes an energy-saving scheduling system named ES-MPTCP, which can be combined with the path management module to manage subﬂows, thereby determining the priority of subﬂows and which subﬂows to be used for data transmission. The ES-MPTCP algorithm designs a target optimization function based on path throughput and energy consumption to ﬁnd different sets of suitable subﬂows for different applications to reduce energy consumption and guarantee throughput. The extensive experimental results based on the Linux real platform demonstrate that the ES-MPTCP algorithm has the best performance, which can improve throughput by 13.6%, reduce energy consumption by 16.2% and increase the energy efﬁciency up to 23%.


Introduction
With the continuous development of network technology, we can connect terminal devices to the network via 5G, 4G, 3G, WiFi, etc. [1][2][3][4][5]. These terminal devices utilize multiple end-to-end transmission paths. However, regular TCP mainly utilizes a single interface, which cannot effectively utilize multiple ports, resulting in a waste of resources [6,7]. MPTCP solves this issue by allowing multiple paths to be used between two end hosts to transport a single data stream [8][9][10][11][12], as shown in Figure 1. In real-world applications, MPTCP has proven its excellent performance. In 2013, Apple officially deployed the MPTCP protocol in its IOS7 commercial operating system. Siri's intelligent voice service is able to transmit data simultaneously using both WiFi networks and cellular networks, which improves the fluency of the system [13]. In 2015, South Korea's Samsung was the first to deploy the MPTCP protocol in its Android smartphone, Galaxy S6. This smartphone can use LTE and WiFi networks in parallel, improving the maximum network connection speed to 1.17 Gbps [14].
MPTCP can improve bandwidth utilization, increase network throughput [15][16][17] and remain reliable [18][19][20]. However, MPTCP consumes extra energy by opening multiple network interfaces at the same time during use. This has emerged as an energy efficiency issue for battery-powered mobile wireless devices [21][22][23][24][25][26]. The increasing concern in green computing has led to the design of energy-efficient protocols for the current Internet [27,28]. We hope that battery-powered mobile devices will be able to receive more data with the same amount of energy consumption, thus saving energy on the network at the same time [29][30][31][32][33]. The researchers have proposed several algorithms to tackle the problem of MPTCP energy optimization. Chen et al. [34] proposed an energy-aware optimization algorithm named eMTCP that uses a traffic offload controller to move the right amount of traffic from a high-energy port to a low-energy port. It works because when a high-energy port has a packet that needs to be transmitted, the subflow interface status detector observes whether the low-energy port is idle and notifies the traffic offload controller if it is idle. In this case, the path with lower energy consumption will take on more traffic. Similarly, energy-saving algorithms were also proposed to reduce energy consumption for mobile devices when MPTCP is enabled in [35], in which all available paths are periodically probed to transfer the traffic to the most energy-efficient path and mute the other paths. However, when the performance of the path with the lowest energy consumption becomes poor, continuing to use this path will reduce throughput, reduce network performance and prevent existing mechanisms from taking full advantage of all available paths in MPTCP. Thus, knowing which paths should be selected based on which criteria to achieve the goal of both energy consumption and throughput improvement is of critical importance. To achieve this aim, an energy-saving scheduling system for the multipath TCP (ES-MPTCP) algorithm is proposed in this work. The major contributions of this work are summarized as follows.

•
To reduce energy consumption while maintaining network throughput. We define a target optimization function in the proposed ES-MPTCP algorithm, which takes into account both the average throughput and energy consumption, aiming to efficiently use all available paths and find the appropriate set of subflows for a certain application. • The key challenges in the proposed ES-MPTCP algorithm are how to estimate data volume and energy consumption. In this paper, the transferred data are estimated by the transmission model that considers MPTCP's four intertwined congestion control algorithms for the congestion window, round-trip time (RTT) and packet loss rate. Energy consumption is estimated by multiplying power consumption with time.

•
The performance of the proposed ES-MPTCP is validated by conducting experiments on the Linux real experimental platform. The result shows that the ES-MPTCP algorithm can improve throughput and reduce energy consumption. Compared to the eMTCP and lowRTT algorithms, the energy efficiency is increased by 20% and 23%, respectively.
The rest of this paper is organized as follows. In Section 2, the related work on MPTCP energy optimization is introduced. Then, we presented the energy consumption problem of MPTCP in Section 3. In Section 4, we describe the algorithm in four parts, including the optimization model, the energy-saving model, the analytical model for data transmission and the workflow of the proposed ES-MPTCP algorithm. The experimental results and analysis are presented in Section 5. Section 6 summarizes the paper and introduces future work.

Related Work
Nowadays, the research on MPTCP energy optimization is mainly carried out from two aspects, namely congestion control and path scheduling, as shown in Table 1. The performance of MPTCP is affected by factors such as bandwidth, packet loss and RTT [36], which are the basis of congestion control and path scheduling.
There are some algorithms designed from the aspect of congestion control. In [37], a path's traffic sharing strategy is utilized to control the energy cost of MPTCP, which can transfer the traffic to a path with a lower energy cost. In [38,39], an energy-saving variant of MPTCP for data centers is proposed to improve energy efficiency by minimizing the completion time. In this method, additional subflow cancellation mechanisms are designed to eliminate subflows that increase host CPU power due to link sharing. Peng et al. [40] considered two main types of mobile applications, real-time applications with a fixed duration and file transfer applications with a fixed data size. For these two applications, path rate adjustment schemes considering network states and energy cost are proposed. Pham et al. [41] proposed an energy-saving multipath congestion control protocol called emReno. This mechanism makes the size of the congestion window increase inversely proportional to the energy consumption, so more costly paths have less impact on the congestion window. Zhao et al. [22] summarized the relationship between energy consumption, average throughput, path delay and different network scenarios based on experiments with the MPTCP Linux kernel. The basic parameters of the multi-path congestion control model related to MPTCP energy efficiency are obtained by existing algorithms.
The other algorithms are designed from the aspect of path scheduling. Chen et al. [34] proposed an energy-aware energy optimization algorithm named eMTCP to move the right amount of traffic from the high-energy port to the low-power port. The idea of the eMTCP algorithm is to set up a subflow interface state detector (SISD) and a traffic offload controller. When the high-energy port has a packet to be transmitted, the subflow interface state detector observes whether the low-power port is idle and notifies the traffic offload controller if it is. Lim et al. [42] proposed an energy-saving scheduling mechanism called eMPTCP. The eMPTCP has developed an MPTCP energy consumption model, whose key parameters are derived from evaluations of mobile devices with cellular and WiFi interfaces. Benefiting from this model, the optimization region can be identified compared to standard TCP and MPTCP. eMPTCP selects a path for data transmission based on this operating region. In [35], energy-saving mechanisms are designed to reduce the energy consumption for mobile devices when MPTCP is enabled. All paths are cyclically probed in order to select the most energy-efficient path and mute the other paths. However, the throughput is limited to the level achieved by only one path. In [43], a method for generating a multipath scheduler is formalizing the multi-path schedulers as Markov decision processes (MDPs). Based on the energy models of different radio interfaces and the communication history records continuously accumulated by device users, the scheduler for different applications is calculated by solving the Markov decision process offline. These schedulers are evaluated against lots of random application models and some actual applications. In [44], a novel MPTCP energy-aware multi-path content delivery method driven by the quality of experience (QoE) is proposed, which is named MPTCP-QE. The MPTCP-QE solution first provides an application rate-aware energy-saving sub-flow management strategy to tradeoff the throughput performance and energy consumption for mobile phones. Then, it uses the available bandwidth-aware congestion window rapid recovery strategy to prevent the sender from the unnecessary slow start and rapid utilization of wireless resources. Then, it further introduces a novel receiver-driven energy-efficient SACK strategy to help the receiver detect SACK loss in time and trigger loss recovery in a more energy-efficient manner. Palash et al. [23] defined three steps to work in cycles to continuously help mobile devices balance bandwidth requirements and energy efficiency.

Paper Category Objective Description Network
Le et al. [37] Congestion control Low Energy, Load-balancing The path traffic sharing strategy is used to control the energy cost of MPTCP and transfer the traffic to the path with low energy cost.

Hybrid Network
Zhao et al. [38,39] Congestion control Low Latency, Low Energy It is proposed to improve energy efficiency by minimizing completion time. An additional subflow cancellation mechanism is designed to eliminate the subflow that increases the power consumption of the host CPU due to link sharing.

Datacenter Network
Peng et al. [40] Congestion control Low Energy For real-time application with a fixed duration and file transfer applications with a fixed data size, a path rate adjustment scheme considering network states and energy consumption is proposed.

Wireless Network
Pham et al. [41] Congestion control

Low Energy, Load-balancing
This algorithm makes the increase in congestion window inversely proportional to the energy consumption. Therefore, the greater the path energy consumption, the smaller the impact on the congestion window.

Hybrid Network
Zhao et al. [22] Congestion control Low Energy The relationship between energy consumption, average throughput, path delay and different network scenarios is summarized, and a window increase factor is designed to shift traffic to low delay and energy-saving path.

Datacenter Network
Chen et al. [34] Path scheduling Low Energy, Improved user -perceived quality The algorithm transfers the traffic from the high-energy port to the low-energy port when the low-energy port is idle.

Wireless Network
Lim et al. [42] Path scheduling Low Energy The algorithm selects the data transmission path according to the optimization area compared with standard TCP and MPTCP.

Wireless Network
Raiciu et al. [35] Path scheduling Low Energy All paths are detected circularly to select the most energy-saving path and eliminate other paths. However, the throughput is limited to only one path.

Wireless Network
Pluntke et al. [43] Path scheduling Low Energy This algorithm computes schedulers for different applications by solving a Markov decision process offline.

Wireless Network
Cao et al. [44] Path scheduling Low Energy The algorithm aims to balance the throughput performance and energy consumption of mobile phones.

Wireless Network
Palash et al. [23] Path scheduling Low Energy The need to switch back to a single path is continuously evaluated based on bandwidth requirements and energy efficiency.

Wireless Network
Based on the above analysis, we find that the congestion control-based algorithms improve energy efficiency by limiting the congestion window over the subflow with higher energy consumption, while the scheduling algorithms mainly shift traffic from the high-energy port to the low-energy port. However, knowing which subflows should be selected for different applications based on what criteria is quite challenging. For example, if selecting paths based on the energy cost, as most existing algorithms do, continuing to use the path with lower energy consumption will reduce throughput when the performance of that path deteriorates. Therefore, in order to reduce energy consumption and ensure network throughput, this paper proposes an energy-saving scheduling algorithm, which finds different optimal subflow sets for different applications based on the various current network status.

Problems and Motivation
MPTCP can establish multiple TCP transmission paths at the same time and supports the simultaneous transmission of data onto multiple paths. Although MPTCP can improve bandwidth utilization and throughput, it will increase energy costs when maintaining multiple paths to data transmission. Therefore, how to weigh the throughput and energy consumption has become a hot topic of research.
To date, to solve the problem of MPTCP energy consumption, researchers have proposed many algorithms. Existing algorithms mainly use energy cost as the only criterion for path selection. Specifically, traffic is offloaded to a low-energy cost path. However, when the low-energy path performance deteriorates, continuing to use this path will not only increase energy consumption but also reduce throughput.
To verify this problem, we take the eMTCP algorithm as an example and test it in a 3G+3G scenario and a 3G+WLAN scenario based on a Linux real experimental platform. The energy consumption parameters [45] are shown in Table 2, where b r is denoted as the power cost per unit throughput for receiving data. θ r is denoted as the sunk power cost for being active. The sunk power cost of WLAN is much smaller than 3G. Thus, the eMTCP algorithm considers the WLAN path as a low energy consumption path, and more data will be carried via the WiFi interface [34]. The network parameters are set according to the link characteristics of WLAN and 3G [46] in WANem, which is shown in Table 3. The results are shown in Figure 2a,b, which depict the energy consumption and throughput of eMTCP and lowRTT with different file sizes. Among them, the Lowest-RTT-First (lowRTT) algorithm is the current default scheduler, which sends the packet first on the lowest RTT subflow until its congestion window is filled with the packet. Then, the packet is sent on the next higher RTT subflow [47]. According to Figure 1, eMTCP consumes more energy than lowRTT, and the throughput of eMTCP is lower than lowRTT. To illustrate the reason, the proportion of the packets transmitted over the WLAN path with the eMTCP and lowRTT algorithms when the file size is 800KB and 900KB, respectively, are made into statistics. The results are shown in Figure 3. According to Figure 3, we find that the packet proportion of the WLAN path transmission of eMTCP is higher than lowRTT. This means that the WLAN path of the eMTCP algorithm takes on more data than lowRTT. The reason lies in that the eMTCP algorithm always selects the low-energy WLAN path for data transmission when the low-energy cost path is idle.  We also tested the throughput of the WLAN path of the two algorithms: eMTCP and lowRTT. Figure 4 shows the throughput of the WLAN path with the two algorithms of eMTCP and lowRTT. As depicted in this figure, the throughput of the WLAN path in eMTCP is smaller than that of the WLAN path in lowRTT. This is because the packet loss rate of the WLAN path is about 1%. When the data transmitted by the WLAN path increases, the number of packet losses will increase. Packet loss will cause timeout retransmissions or fast retransmissions, resulting in poor path performance. According to Figure 3, the WLAN path of the eMTCP algorithm takes on more data than lowRTT. Therefore, the eMTCP algorithm loses a higher number of packets and retransmits a higher number of packets on the WLAN path than lowRTT as depicted in Figure 5. Therefore, the WLAN path performance of the eMTCP algorithm is worse than that of lowRTT, causing it to have a higher completion time than lowRTT, as depicted in Figure 6. The completion time is directly proportional to the energy consumption, which increases when the completion time is longer. Therefore, eMTCP consumes more energy than lowRTT.    From the above analysis, we can conclude that it is unwise to use only energy costs as the sole criterion for path selection. If a low-energy path continues to be used when its performance deteriorates, the network's throughput performance will decrease and energy consumption will increase. To solve this problem, we propose an ES-MPTCP scheduling algorithm. A target optimization function is defined based on both average throughput and energy consumption. The target of ES-MPTCP is to find out the subflows for different applications to reduce energy consumption while ensuring network throughput.

The Proposed ES-MPTCP
The ES-MPTCP algorithm aims to reduce energy consumption while ensuring network throughput. The ES-MPTCP algorithm combines energy consumption and throughput to design a target optimization function to determine the appropriate number of subflows to transmit data.
As the target optimization function considers both energy consumption and throughput, we must first know how to estimate them. In this section, we divide it into four parts to describe our algorithm. First, our target optimization function, which considers both the energy consumption and throughput. Then, the energy cost model is designed to estimate each subflow's energy consumption. Furthermore, the analytical model for the MPTCP data transmission is designed to estimate the total amount of data. Finally, how to find out the optimal subflows by the ES-MPTCP algorithm is given out.

Optimization Model
Due to the differences between subflows, the throughput and energy consumption varies from one subflow to another. Thus, we have to solve the problem of which subflows should be selected. To achieve this aim, we first describe the designed target optimization function in this subsection.
The target optimization function is defined based on the total throughput and total energy consumption of all subflows to evaluate the overall performance of the network, which can be expressed as: T is defined as the time for data transmission. X i is the throughput of i th subflow, and represents the total throughput of k subflows.
represents the total energy consumption of k subflows. We will describe the total power consumption and the total energy consumption in the next subsection. We can see from Equation (1) that the larger the total throughput, the smaller the total energy cost and the larger the value of O k ; thus, the overall performance of the network will improve. In this paper, we need to calculate the k * value that maximizes O k , which can help reduce energy consumption and ensure network throughput, i.e., k * = argmax{O k }.

The Energy-Saving Model
Energy efficiency is defined as the number of bits transmitted per joule energy, which can be described as the ratio of total data size to the sum energy consumption during transmission [48]. The total data size can be described as the product of the average rate of x r and the duration of connection T. The transmission rate x r can be represented as CW ND r RTT r , where CW ND r and RTT r represent the current congestion window and the round trip time on path r, respectively. The energy consumption can be described as the product of power consumption P r (x r ) and duration of connection T.
Therefore, the energy efficiency is defined as: where the power consumption P r (x r ) on subflow r depends on the throughput x r , as shown in Equation (3), which applies to most wireless interfaces, such as 5G, 3G, and WiFi [45,48].
where b r > 0 is defined as the power consumed per unit throughput when receiving data. θ r > 0 is defined as the sunk power cost for being active. According to Equations (2) and (3), the energy efficiency can be simplified as the ratio of transmission rate and power consumption, which can be formulated as:

Modeling of Data Transmission
MPTCP's congestion control process over each subflow is the same as regular TCP. More specifically, the congestion window size is doubled during the slow start phase and increases linearly during the congestion avoidance phase when no packet is lost as defined in Equation (5). During the transmission of TCP, both Retransmission TimeOut (RTO) and duplicates ACK are treated as packet loss events. If a certain number of duplicate ACKs are received, the sender enters the fast recovery and fast retransmit phase, which sets the congestion window and SSThresh (sst) to half the current window size. If an RTO occurs, TCP starts slow start and sets the congestion window to 1 [49].
We use coupled congestion control in MPTCP to ensure network fairness and improve throughput and apply it to the congestion avoidance phase. Up to now, many coupled congestion control algorithms have been proposed, such as Linked Increases Algorithm (LIA) [50], Opportunistic LIA (OLIA) [51], Balanced LIA (Balia) [52], Weighted Vegas (wVegas) [53] and mVeno [18], among which LIA is the default MPTCP congestion control algorithm. In LIA, the congestion window w r for each ACK on subflow r is calculated as: Otherwise, the window w r is decreased as w r /2 for each loss on subflow r. rtt r and w r are the round trip time and the current window size on path r ∈ R u of subflow r, respectively. R u denotes the set of all available paths for user u. According to this equation, LIA increases the congestion window size up to 1/w r on any of its paths to keep fairness with regular TCP. Since the first term max i w i /rtt 2 i /(∑ i w i /rtt i ) 2 is usually less than 1/w r , the second term can be usually ignored.
In this case, a simple loss-throughput formula is provided by a fixed-point analysis [51] as: LIA assigns a window w r proportional to the inverse of the loss probability 1/p r for path r, and the total rate ∑ p∈R u w p /rtt p is equal to the rate obtained by a regular TCP user on the best path, i.e., max p∈R u 2/p p /rtt p .
Thus, the theoretical throughput calculation formula of the LIA algorithm can be obtained as:

The Proposed ES-MPTCP Algorithm
We propose a heuristic algorithm named ES-MPTCP, which is used to solve the problem of obtaining the optimal set of subflows. ES-MPTCP determines the optimal set of subflows k by maximizing O k . In this subsection, to maximize O k , we first sort the paths, and then k subflows are selected from all paths, where k ∈ [1, n], and the average throughput and energy consumption of each path are estimated, and the objective optimization function is calculated. Finally, when the objective optimization function for data transmission is at the maximum, we take the subflow set at this time as the optimal subflow set.

Subflows Sorting
The energy efficiency of each subflow is shown in Equation (4). The performance of the subflow increases as the energy efficiency of the subflow increases. According to Equation (4), the energy efficiency formula can be described to From the above formula, it can be seen that the higher the throughput of the subflow, the smaller the b r , the higher the energy efficiency of the subflow and the better the performance of the subflow. Thus, according to Equation (8)

The Proposed ES-MPTCP Algorithm
According to Equation (7), for each k, where k ∈ [1, n], we can calculate the average throughput of each path in the k subflows. Meanwile, the completion time can be calculated as r 0 * RTT k , where r 0 denotes the number of rounds transmitted by subflow k. RTT k represents the RTT of subflow k, where subflow k is the slowest subflow among all the k subflows. Then, the value of the objective optimization function O k is obtained according to Equation (1). Finally, according to k * = argmaxO k , we obtain the value of k * when O k is maximum, and we select the subflows {b 1 , b 2 , ..., b k * } for this application. This process is shown in Algorithm 1. The algorithm is suitable for use in a constantly changing network environment. In MPTCP, we update the set of selected paths in every RTT round.

Performance Evaluation
In this section, we test the ES-MPTCP algorithm performance based on two scenarios, namely, WLAN+3G and WLAN+WLAN in the Linux real environment and compare it with eMTCP and lowRTT algorithms. We analyze the performance of each algorithm by setting a different file size. The energy consumption, throughput and energy efficiency have all been taken into consideration.

Experimental Platform
The experimental testbed consists of one file server, two computers with WANem and one client. The network topology is shown in Figure 7. This topology is widely used in existing works [46,54]. The server runs the Linux Ubuntu 12.10 operating system with the kernel version 3.14.33, and the client is running the Linux Ubuntu 14.04 operating system with the kernel version 4.1.0 that all have already applied protocol patches. The server is running on the Dell T1500, equipped with the Intel Xeon E5620 (2.4 GHz/12 M), 16 GB RAM, and a 600 GB Hard Disk. The client is running on the Lenovo E530C, equipped with Intel(R) Core(TM) i3-3110M CPU@2.40GHZ processor, 4GB RAM and a 600 GB Hard Disk. As described in Figure 7, the client is equipped with two Gigabit network interface cards to establish two subflows between the MPTCP servers D2. We consider this as the common scenario (e.g., a client having two access networks like WiFi/4G) [46,55]. We install the MPTCP Linux kernel of version 0.90 [22] on Ubuntu 14.04 and read energy consumption values from Intel's RAPL driver in the client's CPU. We use the GNU Wget to retrieve binary documents over HTTP to generate TCP data traffic. The size of the Binary files ranges from 16 KB to 1 MB. We conduct experiments with the topology shown in Figure 7. The energy consumption parameters are shown in Table 2 [40]. The network parameters are set with WANem following the link characteristics of WLAN and 3G links [46], as shown in Table 3.

Experimental Results
The default MPTCP with the lowRTT algorithm [56] first sends packets on the subflow with the lowest RTT until its congestion window is filled with the packet. Then, the packet is sent on the subflow with the next highest RTT. According to Table 3, the RTT of the WLAN path is lower than the 3G path, so the WLAN path is preferred in MPTCP. The eMTCP works by the fact that when the WLAN path is idle, the WLAN path is preferentially used until the congestion window is full. Then, the 3G path is used. However, once the WLAN path is idle, the data of the 3G path are offloaded to the WLAN path.
We evaluate the performance of ES-MPTCP, eMTCP and lowRTT in a 3G+WLAN scenario with different file sizes. The total energy, the Goodput and the energy efficiency are described in Figure 8a-c. The results show that the energy consumption of ES-MPTCP is lower than that of eMTCP and lowRTT, and the energy consumption can be reduced by up to 16.2%. The throughput of ES-MPTCP is higher than that of eMTCP and lowRTT and can increase the throughput by up to 13.6%. The energy efficiency of ES-MPTCP is higher than that of eMTCP and lowRTT, which is up to 20% higher than that of eMTCP and 23% higher than that of lowRTT.
The reason why the performance of eMTCP is worse than ES-MPTCP lies in the fact that eMTCP prefers to use the WLAN path due to its low energy, and it shifts more traffic to the WLAN path. However, random packet loss will occur on the WLAN path, and the number of lost packets increases with the increase in data packets transmitted on the path. This can be validated by Figures 3 and 4, which show the proportion (%) of the packets transferred over the WLAN path and the Goodput over the WLAN path with different file sizes. According to these two figures, we find that eMTCP takes on more data over the WLAN path. This results in more packet loss, which triggers retransmission or timeout, resulting in lower throughput, as depicted in Figure 4. This proves that only energy consumption is used for path selection, which can sometimes lead to performance degradation.
Although the performance of eMTCP is not as good as ES-MPTCP, it is better than lowRTT, which only selects the path according to the RTT of the path, without considering the energy consumption. The proposed ES-MPTCP takes both the RTT and the packet loss rate into consideration, and its target optimization function can choose a suitable path set for data transmission. As shown in Figure 8a,b, when the file size reaches 600 KB, the throughput of ES-MPTCP is significantly higher than eMTCP and lowRTT. The energy consumption of ES-MPTCP is significantly lower than eMTCP and lowRTT.
In addition, we tested the throughput and the energy consumption for the WLAN path and 3G path. The results are shown in Figure 9a,b. According to the two figures, when the file is larger than 800 KB, the throughput of the 3G path is higher than the WLAN path and the power consumption is lower than the WLAN path. When the file size is less than 800 KB, the 3G path has lower throughput and higher energy consumption than the WLAN path. Based on these experiments, we can conclude that the path we choose must also vary with the performance of the path when transferring files of different sizes. When there is no heterogeneity between the two paths, there is no difference between eMTCP and lowRTT algorithms. Therefore, we only compare the lowRTT and ES-MPTCP algorithms in the case of the WLAN+WLAN scenario.
In the WLAN+WLAN scenario, we set different file sizes to evaluate the performance of ES-MPTCP and lowRTT under this scenario. The total energy and the Goodput are illustrated in Figure 10a,b, respectively. As shown in these figures, the energy consumption of the ES-MPTCP algorithm is lower than the lowRTT algorithm and the throughput of the ES-MPTCP algorithm is higher than the lowRTT algorithm. The reason is as follows. Although the paths are not heterogeneous in the WLAN+WLAN scenario, packets are lost randomly on both paths of WLAN. The performance of the two WLAN paths and their throughputs are different. ES-MPTCP can dynamically adjust the subflows according to the link status in real-time to obtain the optimal subflow set. Therefore, ES-MPTCP performs best.

Conclusions and Future Work
In this paper, we study the MPTCP energy-saving optimization scheduling systems, and it is found that many algorithms mainly use energy cost as the only criterion for path selection. The path with lower energy consumption will take on more traffic. When the performance of the low energy consumption path becomes worse, its throughput will decrease and the energy consumption will increase. In this paper, we propose the ES-MPTCP algorithm for this problem. ES-MPTCP designed a target optimization function that can calculate how many subflows to use for data transmission, which can reduce energy consumption while ensuring network throughput. We compare the performance of the proposed ES-MPTCP, lowRTT and eMTCP under different scenarios. The experimental results prove that our algorithm performs better than the other two algorithms, which improves throughput and reduces energy consumption. Future work will involve research into algorithms for optimizing energy consumption in video streaming scenarios and energy performance evaluation of MPTCP in virtualized cloud environments.
Funding: This research was supported in part by the National Natural Science Foundation of China (Nos. 61602171, 61572191).