{'fraction_non_alphanumeric': 0.025631846495310376, 'fraction_numerical': 0.005620390921457722, 'mean_word_length': 4.841698034295274, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
BSS: A Burst Error-Correction Scheme of Multipath Transmission for Mobile Fog Computing

In the scenario of mobile fog computing (MFC), communication between vehicles and fog layer, which is called vehicle-to-fog (V2F) communication, needs to use bandwidth resources as much as possible with low delay and high tolerance for errors. In order to adapt to these harsh scenarios, there are important technical challenges concerning the combination of network coding (NC) and multipath transmission to construct high-quality V2F communication for cloud-aware MFC. Most NC schemes exhibit poor reliability in burst errors that often occur in high-speed movement scenarios. These can be improved by using interleaving technology. However, most traditional interleaving schemes for multipath transmission are designed based on round robin (RR) or weighted round robin (WRR), in practice, which can waste a lot of bandwidth resources. In order to solve those problems, this paper proposes a novel multipath transmission scheme for cloud-aware MFC, which is called Bidirectional Selection Scheduling (BSS) scheme. Under the premise of realizing interleaving, since BSS can be used in conjunction with a lot of path scheduling algorithms based on Earliest Delivery Path First (EDPF), it can make better use of bandwidth resources. As a result, BSS has high reliability and bandwidth utilization in harsh scenarios. It can meet the high-quality requirements of cloudaware MFC for transmission.


Introduction
Mobile fog computing (MFC) extends cloud computing by adding a fog layer between vehicles and cloud, which has lower transmission delay and less traffic burden [1][2][3]. Unlike mobile edge computing (MEG), since MFC is able to be aware of the centralized cloud, it can jointly work with the centralized cloud [4]. However, during the communication between vehicles and fog layer, especially for delay-sensitive users, data loss greatly affects the quality of experience [5]. In order to meet the high-quality service requirements in mobile scenarios, it is important to construct vehicle-to-fog (V2F) communication with high reliability and bandwidth utilization for cloud-aware MFC. V2F communication requires a large amount of data to be quickly transmitted [6,7]. It needs to use bandwidth resources with lower delay and higher tolerance for errors.
Considerable researches have proved that multipath transmission can significantly improve the throughput of V2F communication [8][9][10]. Scheduling algorithm is one of the significant factors that affect the bandwidth utilization of multipath transmission. A simple scheduling algorithm is round robin (RR) [11], which treats each path equally. Nevertheless, RR does not consider the practical status of each path. It can waste a lot of bandwidth resources of the entire transmission. Weighted round robin (WRR) pre-sets a weight on each path which indicates the status of bandwidth, packet loss, and delay. Therefore, WRR is more widely used than RR. Compared with RR and WRR, Earliest Delivery Path First (EDPF) [12] performs much better. This approach improves bandwidth utilization by estimating the path status in real-time. Earliest Completion First (ECF) [13] is one of the current scheduling algorithms based on EDPF, which considers all relevant information about multipath transmission. It has higher bandwidth utilization and lower delay.
During the transmission process, especially in harsh scenarios, data loss often occurs. It can reduce the quality of transmission. Network coding (NC) is proved to be an effective scheme, which can significantly improve the reliability and bandwidth utilization of multipath transmission [14]. The NC scheme can be regarded as a packet-level error-correction scheme. It improves reliability by increasing redundancy and reduces the times of retransmission when encountering data loss. We previously proposed a BNNC scheme [15,16] which works in the set of integers. Compared with traditional NC schemes, it improves the efficiency of encoding and decoding.
However, most researches about NC are designed for Additive white Gaussian noise (AWGN) channels, which have good performance to correct random errors [17]. In V2F communication, due to the hand-off of network or channel obstruction, there are also a large number of burst errors apart from random errors [18]. These schemes designed for AWGN exhibit poor performance in burst error scenarios. To improve the reliability of the burst error scenarios, interleaving is often used together with an errorcorrection scheme. Interleaving is a way of rearranging, which is usually employed to randomize the burst errors so that the error-correction scheme could be more effective. Huang et al. [19] first built a connection between interleaving and NC, which shows that interleaving can effectively deal with burst errors. Moon and Kim [20] proposed a Network-Adaptive Selection of Transport Error Control which can switch among different error schemes including forward error correction (FEC), interleaving, and automatic repeat request (ARQ).
Traditional interleaving schemes for multipath transmission are based on RR or WRR [21], which can waste a lot of bandwidth resources. Furthermore, because of the limitation of RR or WRR, these schemes can only maintain a systematic interleaving distance. It introduces extra coding delay and significantly affects the experience of cloudaware MFC. Few studies have been performed well over the multipath transmission.
In this paper, we propose a novel burst error-correction scheme, Bidirectional Selection Scheduling (BSS), which has high reliability and bandwidth utilization of multipath transmission for cloud-aware MFC. BSS is a way of rearranging process rather than a way of coding schemes, so it is flexible enough to be compatible with most of the existing technology. BSS can implement the multipath interleaving process with high bandwidth utilization and maintain a path-level interleaving distance. The contributions of this paper can be summarized as follows: (i) We propose a novel scheduling algorithm, which implements the process of interleaving over multipath transmission (ii) We accomplish a complete burst error-correction scheme, BSS, of multipath transmission for cloudaware MFC (iii) Numerous simulations have proved the feasibility of BSS. It has better reliability and bandwidth utilization than other NC scheme The remainder of this paper is organized as follows. Section 2 reviews some related work about burst errorcorrection schemes. Section 3 introduces the implementation of BSS. Section 4 verifies the feasibility of BSS through simulations. Finally, Section 5 concludes the investigation.

Related Work
In this section, we mainly focus on some different types of burst error-correction schemes.
2.1. NC Scheme by Adding Redundancy. NC scheme was firstly designed to improve the throughput of multicast networks. FMTCP applies NC to MPTCP, which improves the reliability of multipath transmission by adding redundancy [22]. NC ðn, kÞ can be regarded as a packet-level errorcorrection scheme. At the sending end, the original k packets are encoded to n packets by adding r redundant packets. It is possible to recover the original packets as long as k packets are received rather than all n packets at the receiving end. The error-correction capability of NC is related to the length of redundancy r.
To improve the capability of burst error-correction, increasing the length of redundancy r is a useful method. Our previous research shows that simply increasing redundancy can increase the overall system overhead and reduce bandwidth utilization. Merging the original i coding groups of NC ðn, kÞ into one big coding group NC ðn × i, k × iÞ can increase the redundancy without losing extra bandwidth utilization. It can improve the capability of burst errorcorrection by i times.
However, this type of scheme itself is a single-path solution rather than a multipath solution. The error-correction capability of these schemes is unstable under different multipath scheduling algorithms. And the main problem is the performance. The increasing of redundancy can greatly increase the computational complexity, though the total encoding length does not change. Furthermore, in some cases, it may expand the impact of packet loss. If the length of burst errors is too long to the new redundancy i × r, this scheme can cause the loss of all i × k original packets.

Interleaving Coding Scheme.
Path-dependent models [23][24][25][26] are usually used with interleaving to improve the performance in burst errors, which is called interleaving coding. Huang et al. [19] first built a connection between interleaving and network coding, which shows that interleaving can effectively deal with burst errors. These models send the information packets to different paths and then encode those packets on each path [27]. Interleaving coding disrupts the order of packets on each path and converts burst errors into random errors.
This type of scheme can be seen as a combination of many single-path transmissions. Each path maintains its coding scheme which means different paths have different lengths of 2 Wireless Communications and Mobile Computing redundancy and interleaving distance. Compared with systematic interleaving distance, it has lower average delay. However, this type of scheme does not take full advantage of the characteristics of the multipath transmission. Even though most paths are very healthy, it can seriously affect the bandwidth utilization of the entire system, once a long length of burst errors occurs on one path.

Path Interleaving Scheme.
Multipath transmission techniques have been designed to improve the throughput of end-to-end transmission [28]. In addition, because the state of each path is independent, multipath transmission can spread packets on each path, thereby reducing the packet loss rate caused by a certain path. Path interleaving schemes consider the independence of each path in multipath transmission. They scatter the packets of the same coding group on different paths to reduce the correlation of transmission [29].
Giovambene et al. [30] proposed a Path-Based Network Coding (PBNC) scheme. It focuses on the distribution of data packets on multipath, which can improve the performance in independent path scenarios. This type of scheme first encodes the information packets, then sends both information packets and redundancy packets over multiple paths. Since the packets of the same coding group may be scattered on different paths, it is effective in dealing with packet loss on one path. Tsai et al. has proposed multipath transmission combining forward error-correction and path interleaving, which breaks up the packets on the respective path through the RR [21]. It has higher reliability than most schemes in burst scenarios.
In fact, the RR algorithm can be dragged down by the worst path. In addition, this scheme only maintains a systematic distance of interleaving. For each path, an excessively long interleaving distance can degrade the performance of the system, and an excessively short interleaving distance can reduce the reliability of the system.

Bidirectional Selection Scheduling Scheme
Before the introduction of BSS, we summarize the limitation of these solutions in Table 1 which are proposed in Section 2.
Increasing the redundancy length of NC scheme is not a multipath solution. Furthermore, it has a computation issue and low robust which can cause a huge impact of long burst errors. Both interleaving coding schemes and path interleaving schemes have a major issue in performance. Extra average coding delay and a poor path can seriously drag down overall throughput.
In this paper, we propose an improved adaptive burst error-correct scheme, BSS, which applies to multipath transmission for cloud-aware MFC. BSS does not add extra computational overhead. It is very robust in both long burst errors and separate poor path. Compared with most of the burst error-correction schemes, it has higher reliability and bandwidth utilization for multipath transmission.
3.1. The Network Topology of BSS. The process of transmission is symmetrical. In this paper, we introduce BSS by taking the uplink traffic from users to fog layer and centralized cloud. Figure 1 shows the network topology of BSS deployed in V2F communication. The topology is composed of user layer, multipath network, fog layer, and centralized cloud. In the user layer, during the motivation process, users forward data to the Internet through mobile router (MR) to the different base-stations. MR has the function of accessing heterogeneous networks of different operators, so the model can be regarded as concurrent multipath transmission [31]. In the fog layer, fog nodes are responsible for recovering the original data from multipath network and processing with virtual machines (VM). During the data transmission from the user layer to the fog layer, there may be burst errors. In order to reduce the impact of burst errors on the system, BSS is designed as an end-to-end burst errorcorrection scheme.
We deploy the encoding and decoding schemes in MR and fog nodes, respectively. In MR, users' data are mapped into packets through a mapping module. Network encoder implements NC, which adds redundant packets to improve the reliability of random errors. Then, the information packets and redundant packets are transmitted through BSS which is deployed on a bidirectional selector. The bidirectional selector implements the interleaving process through the mutual selection mechanism of paths and packets. It improves the reliability of burst errors. Furthermore, network interface controller (NIC) sender can access heterogeneous networks of different operators to achieve parallel transmission. Fog nodes recover the received packets to the source data through receive buffer, deinterleaver, network decoder, and mapping module and then process source data with virtual machines. Finally, fog nodes only need to forward the important results to the centralized cloud. Furthermore, the link management modules are deployed both in MR and fog nodes. They can detect the status of the entire network transmission in real-time and dynamically adjust the parameters of the bidirectional selector. Interleaving technology is to disperse the original continuous and related packets, thereby converting continuous burst errors into random errors, and then relying on the errorcorrection capability of NC to recover the data. Unlike traditional multipath interleaving schemes based on the RR algorithm, BSS can work with any path scheduling algorithm.
The traditional scheme of multipath transmission consists of a first input first output buffer and a path scheduler. The path scheduler only serves the first packet in the buffer. Its essence is a pathfinding process of the first packet, which guarantees that the first packets can always be sent on the most suitable path. BSS adds a module of packet scheduler and redesigns the structure of buffer which can provide packet selection service. Packet scheduler cooperates with the path scheduler to complete the bidirectional selection of packets and paths. Therefore, BSS can ensure that packets are sent not only in the most suitable path but also at the most suitable time.
As shown in Figure 2, in order to implement BSS, we use a bidirectional selector to customize the degree of discreteness of packets. The bidirectional selector mainly consists of a packet scheduler and a path scheduler. The packet scheduler can temporarily store the packets to be sent. Packets first enter into the send buffer in the packet scheduler for temporary storage and at the same time trigger the path scheduler to get the appropriate path. After obtaining the path, BSS makes the second selection for the appropriate packet to be sent in the send buffer. This process disrupts the order of packets on each path and implements the process of interleaving.

Mathematical Analysis of BSS.
Interleaving distance is the most important mathematical parameter of the capability of burst error correction. Considering the characteristics of multipath transmission and NC, we make a few assumptions: (i) The status of each path is independent (ii) The packets of different network coding groups are independent The selection of packet to path mainly depends on the implementation of the path scheduling algorithm, so we only need to analyze the selection algorithm of the path to packet. Multipath transmission allows that packets, which are encoded by NC ðn, kÞ, can be sent through multiple paths concurrently. Although the amount of the same NC group is smaller on each path, the packet loss constraint of each path is not changed. The packet loss constraint of burst errors is not greater than the length of redundancy r = n − k. Interleaving can improve it by the rearranging process. Therefore, the burst packet loss constraints C burst for each path are C burst = r, without interleaving,

Wireless Communications and Mobile Computing
where d means the minimum distance between adjacent packets after interleaving. Formula (1) shows that C burst is only related to the length redundancy r and the distance of interleaving d. Since r is determined by network coding, the key is how to design and implement the distance of interleaving d. We define the length of burst errors as s and the burst loss rate of each packet as BLoss. When interleaving is not used, the probability of successfully recovering a group of encoded packets: When using interleaving technology and D ≥ s, burst errors become to random errors. The probability of successful decoding is where α means the overall packet loss rate. If d ≤ s, the burst errors become to ds/de. The probability of successful decoding is We can see that formula (2) is a special case of formula (4) when d = 1: In general, we observe the path for a period of time and get the overall packet loss rate α. Formula (3) and formula (4) can be expressed as The formula (5) shows that as long as d ≥ s, the probability of successful recovering can reach the highest value. Therefore, it is necessary to satisfy that any consecutive d packets in each path are independent.
3.4. Implementation of the Core Algorithm. BSS provides a path-level interleaving distance. Each path can maintain its own interleaving distance to reduce the performance issue impact of interleaving. The core algorithm of BSS is shown in Algorithm 1. Steps 1 to 3 first initialize the interleaving distance of each path with the feedback from link management. Then, each path initializes a collision buffer with the same length to the interleaving distance of the path. BSS needs to monitor the status of packets in the send buffer. When the send buffer is not empty, the path scheduler gives the most suitable path at this time according to the configured path scheduling algorithm. Then, BSS triggers the packet scheduler to look for the packet that meets the interleaving distance of the selected path. After obtaining the appropriate packet and path, BSS can complete the operation of sending and updating the send buffer and collision buffer. In the worst case, there is no suitable packet in the send buffer, when it needs. At this time, it is possible to send directly or continue to wait. Since interleaving distance reflects burst errors, ideally, as long as the interleaving distance is sufficiently accurate, packets are always lost at this time. In practical terms, we generally set a timeout threshold. Packets with a waiting time exceeding the threshold can be sent immediately.

Performance and Discussion
In order to quantitatively analyze the buffer errors in V2F, we simulate the communication between vehicles and cloudaware MFC through NS3. Firstly, we introduce the burst error model used in the simulation. Secondly, we introduce the design of simulation for V2F communication including simulation topology and parameters. Finally, we analyze and compare the performance of different schemes under burst error scenarios, which proves the feasibility of BSS.

Burst Error Model.
We use a two-state Markov model, Gilbert-Elliot model, to describe the burst error property. This model is proposed by Gilbert and Elliot [32]. The path state is divided into two states: good (G) and bad (B). In the G state, the path presents high reliability, which has a low loss probability. However, in the B state, the packets are hardly received.
In order to simplify the burst error model, we assume that the packet loss rate in the G state is 0 and the packet loss rate in the B state is 100%. Furthermore, we set the initial state to G. We uniformly define the first subscript to represent the original state and the last one to represent the converted state. The transition probability from G to B is P gb , and the transition probability from B to G is P bg . Therefore, we can change the burst error model to simulate different scenarios by modifying the values of P gb and P bg .  Figure 3. We use four nodes to form a minimum multipath transmission model for cloudaware MFC. Node 1 (user) sends the source data to node 2 (mobile router) which is deployed on the vehicle. Node 2 encodes and interleaves the source data; then, it sends both information and redundant packets to node 3 (fog node) through three parallel paths. After receiving enough packets, node 3 recovers the original data and forwards the results to node 4 (centralized cloud).
It is worth noting that the paths between node 2 and node 3 may experience burst errors. We set the encoding scheme and decoding scheme on node 2 and node 3, respectively, to reduce the impact of burst errors on the system. In order to simulate different scenarios, we set different path states and change burst error models to verify the feasibility of BSS. Table 2 shows the simulation parameters. Node 1 generates source packets. BNNC ðn, kÞ is used to be the errorcorrection scheme, and it is also used as the benchmark. We fix the parameter ðn, kÞ to ð4, 3Þ. In order to simulate the burst errors, we use the Gilbert-Elliot model to generate packet loss. As shown in Table 3, we set three different paths. There is no burst error on Path 1 and Path 3. We simulate three different burst packet loss rates on Path 2, which are 1 %, 5%, and 10%. Based on formula (5), we set the interleaving distance of each path equal to the continuous packet loss length on it. Figure 4 compares the decoding failure ratio between BSS and NC when Path 2 has burst errors. Decoding failure ratio means the probability of a coding group that cannot be decoded; that is, more than r = n − k packets of the same group are lost in transmission. When the average length of burst errors is equal to 1, which can be seen as an ideal random error scenario, both of the two schemes hardly have decoding failure and information lost, because one single packet loss in one coding group can always be corrected by NC. When the burst error length is greater than 1, the error model may generate continuous packet loss in one coding group exceeding packet loss constraints r. NC exhibits poor reliability with the growth of the average length of burst errors. Since BSS uses interleaving, it converts continuous burst errors to random errors. Although the decoding failure ratio of BSS also increases when the average length is equal to 2, its subsequent changes are very slow. When in the burst error scenarios (the average length of burst error is greater than 1), the decoding failure ratio of BSS is much lower than NC, or even only half of NC. It indicates that BSS has higher reliability than NC in different scenarios. Reliability has a great impact on the performance of the entire system. The lower decoding failure ratio also represents fewer retransmissions, which means a higher bandwidth utilization. Therefore, BSS is far superior to other schemes in reliability, and it can also improve overall performance greatly.

Validation and Analysis. Firstly,
Secondly, Figure 5 shows the real-time throughput of BSS, BNNC, and path interleaving scheme when Path 2 has 5% average packet loss and the average length of burst error is 5. It indicates that the real-time throughput of NC fluctuates sharply and shows a downward trend of average throughput. However, the real-time throughput of both BSS and path interleaving are relatively stable. It indicates that both BSS and path interleaving are less affected by burst errors. It is noting that path interleaving cannot make full use of the bandwidth of each path. With the setting of Table 3, the RR algorithm limits the bandwidth of each path to less than 5 Mbps which is equal to the bandwidth of Path 1. Compared with NC and path interleaving, despite the burst errors, the real-time throughput of BSS was maintained at a high value, which means BSS has a higher bandwidth utilization.

Wireless Communications and Mobile Computing
Finally, we compare the bandwidth utilization of BSS and NC in terms of statistical indicators. Figure 6 shows the variance between BSS and NC. In the simulation, the variance of NC increases with the length of burst errors, but BSS is relatively stable and maintains a low value. Compared with NC, BSS has a lower variance, which means that its real-time throughput is more stable and smooth. Especially in the case of low packet loss rate, BSS is much better than NC. Figure 7 shows the average throughput of NC, path interleaving, and BSS with different lengths of burst errors. Similar to the decoding failure ratio, NC performs better when the average length of burst errors is equal to 1 which can be seen as an ideal random error scenario. However as the average length of burst errors increases to 2, the throughput of NC reduces rapidly. When the average loss is equal to 10%, the average throughput of NC is even similar to path interleaving which has been proven to lose a lot of bandwidth resources. In the case of high continuous packet loss, compared to NC, BSS can increase throughput by up to nearly 20%. Figure 8 shows the average throughput of different paths in burst error scenarios (average length of burst error is greater than 1) when the average packet loss rate is 5%. Although Path 1 and Path 3 still maintain high throughput, Path 2 drags down the average throughput of NC. Furthermore, since Path 2 is in a state of packet loss for a long time, TCP reduces the transmission speed of this path, and most path scheduling algorithms lower the weight of this path at the same time, thereby greatly reducing the bandwidth utilization of this path. In the same situation, no matter what the average length of burst errors is, BSS can make better use of bandwidth resources of Path 2. It indicates that in the burst error scenarios, BSS performs much better than NC.

Conclusion
In this paper, we propose a novel burst error-correction scheme of V2F communication for cloud-aware MFC. The scheme uses a Bidirectional Selection Scheduling

8
Wireless Communications and Mobile Computing algorithm to implement the multipath interleaving process. It can maintain an adaptive path-level interleaving distance. Finally, we did a lot of simulations. The results show that BSS has a lower packet loss rate and higher bandwidth utilization in burst error scenarios. In the case of high continuous packet loss, compared to NC, BSS can reduce the decoding failure ratio by 50% and increase throughput by up to nearly 20%. Therefore, it is concluded that BSS can cope with burst error scenarios for cloud-aware MFC. In the future, we will focus analyze the status of multipath burst errors and optimize the interleaving distance of the scheme.

Data Availability
The authors confirm that the data supporting the findings of this study are available within the article.