Automatic repeat request error management mechanism là gì

The upper portion of the sublayer of the data link layer in the open system interconnections [OSI] reference model for data transmission is called the Logical Link Control [LLC].

  • It serves as an interface between the network layer and the data link layer's media access control [MAC] sublayer.
  • The multiplexing ability of the LLC sublayer is its principal application.
  • It enables many network protocols to run concurrently over the same network media in a multipoint network. 2The Bonch-Bruevich Saint-Petersburg State University of Telecommunications, St. Petersburg, 193232, Russian Federation 3Neftemash LLC Izhevsk, 426062, Russian Federation Abstract: In this article, an evaluation study was conducted on an Application Layer Cooperative Automatic Repeat ReQuest Algorithm ALC-ARQ designed for data streaming over a Wi-Fi Unmanned Aerial Vehicles standalone networks. A simulation model in NS-3 was implemented to investigate the performances of the method and conduct a comparative analysis with well-known routing protocols such like Ad hoc On Demand Distance Vector [AODV] and Optimized Link State Routing Protocol [OLSR] in terms of declaring link state information, rapidity of relaying and transmission range. The QoS metrics measured was Packet Loss Rate [PLR] and One-way Transmission Delay. Results show that the proposed method consistently outperform the classical routing protocols it terms of rapidity of relying and transmission range. In addition, the results show that the method maintains its stability it terms of packet recovery along the relay-node transmission range and keeps the QoS metrics under the permissible rates. Keywords: packet loss, error control, delay, data streaming, automatic repeat request Funding: This research was funded by Russian Foundation for Basic Research according to the research project No. 19-29-06076. For citation: Lamri M.A., Abilov A., Presnetsov A. Application Layer Cooperative Automatic Repeat Request Method for Data Streaming over UAVs Network. Proc. of Telecommun. Univ. 2023;9[3]:28-41. DOI:10.31854/1813-324X-2023-9-3-28-41 Метод автоматического повторного запроса прикладного уровня для потоковой передачи данных по сети БПЛА Мохаммед Амин Ламри1Е, lamri.amin@istu.ru © Альберт Винерович Абилов2, abilov.av@sut.ru Александр Михайлович Преснецов3, alexandrpresnetsov@gmail.com 1Ижевский государственный технический университет им. М.Т. Калашникова, Ижевск, 426069, Российская Федерация 2Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича, Санкт-Петербург, 193232, Российская Федерация 3ООО «Нефтемаш» Ижевск, 426062, Российская Федерация © Ламри М.А., Абилов А.В., Преснецов А.М., 2023 28 tuzs.sut.ru Аннотация: В данной статье представлено всестороннее сравнение графовых нейронных сетей [GNN], в частности - графовых сверточных сетей [GCN] и сетей внимания к графам [GAT], для классификации трафика в спутниковых коммуникационных каналах. Производительность этих методов, основанных на GNN, сравнивается с традиционными алгоритмами многослойного персептрона [MLP]. Результаты показывают, что GNN обладают превосходной точностью и эффективностью по сравнению с MLP, что подчеркивает их потенциал для применения в системах спутниковой связи. Кроме того, в рамках исследования изучается влияние различных факторов на производительность алгоритма GNN, предоставляя информацию о наиболее эффективных стратегиях реализации GNN в задачах классификации трафика. Это исследование предлагает ценные знания о преимуществах и потенциальных применениях GNN в системах спутниковой связи. Ключевые слова: потеря пакетов, контроль ошибок, задержка, потоковая передача данных, автоматический повторный запрос Источник финансирования: Исследование выполнено при финансовой поддержке Российского фонда фундаментальных исследований № 19-29-06076. Ссылка для цитирования: Ламри М.А., Абилов А.В., Преснецов А.М. Метод автоматического повторного запроса прикладного уровня для потоковой передачи данных по сети БПЛА // Труды учебных заведений связи. 2023. Т. 9. № 3. С. 28-41. DOI:10.31854/1813-324X-2023-9-3-28-41
  • Introduction The theory of cooperative data streaming over Unmanned Aerial Vehicles [UAVs] networks has been studied in depth during the past few years [1-3]. Many researches, experimental and simulation studies were conducted for different transmission scenarios and network topologies. However, most of the existing research studies are intend to customize or improve the existed MAC protocols with or without additional support of physical layer techniques [4, 5]. In fact, the implementation of such methods and methods consider being complex and costly since it requires optimizations and changes of existed standardized protocols that may lead to incompatibility issues. Moreover, there is a high possibility of lake of effectiveness since OSI model can fail to meet the practical expectations. In general, the goal behind cooperative transmission in UAVs networks is to improve the system performances in terms of reliability of link, network coverage and energy efficiency [6, 7]. In UAVs standalone network, because of their specific characteristics from high mobility of nodes to unreliability of transmission link, it is very crucial to address the two key issues: 1] Cooperative condition [since the quality of transmission links and the density of the network is constantly in change, a source node may not always need help from relay node; the condition by which the transmission switch to relay node is considered as sensible]; 2] How to guarantee cooperative transmission [regardless the possibility of existence of error-control mechanisms on the down layers stack, the cooperative transmission must include a control mechanism to protect all ongoing transmission flows from potential packet loss and guaranty the data delivery at certain rate [8]]. Scholars have been working on cooperative data transmission for reliability and network coverage purposes. In [9] the authors proposed a Multi-relay Cooperative Automatic Repeat ReQuest [MC-ARQ] MAC protocol based on the IEEE 802.11 DCF access scheme and CFC frames where they defined three schemes inspired by the use of different bakeoff time before transmission to choose optimal relay. However if two or more relays have the same Ti start timer, they will transmit simultaneously to the channel and a collision will occur as a consequence, which in turn leads the cooperative retransmission attempt to failure. In [10] the authors developed a selective retransmission scheme for multi-channel systems. The idea was to deliver the required data successfully using the available power and bandwidth within a limited number of transmissions using four schemes. In the Selective Automatic Repeat Request with Fixed Band scheme, the maximum number of transmission was limited. In the Selective Chase Combining with Fixed Bandwidth, data was detected using less number of transmission but implement a collection buffer to collect the unsuccessfully detected observations along with newly received. In Limited Selective Chase Combining with Fixed Band, a single buffer per channel can preserve only one previous observation per channel. And last, Selective Automatic repeat request with Variable Band was design similar to SARQ-Fixed Band but with the use of a single detector and the ability of increasing the channel bandwidth for each retransmission to achieve reliable transmission. Other works were also proposed for error control over cooperative transmission [11-13] where error correcting code, priority position inside Group of Pictures and, retransmission decision based on a given threshold are the key highlighted proposed features. A long with the novel methods and models of cooperative reliable transmission that can be proposed for a specific scenario, a verification approach must be included to check their correctness and feasibility. The most well-known approaches is the use of experiments in real-life, the use of simulation environments, the use of formal methods and the use of model checking. The use of simulation environment is one of the most optimal methods for verification, which consists of constructing a simulation model for the proposed method and schedule the main features and behaviors that produce the execution of the scenario proposed by entering their values as a set of parameters. The results of the simulation scenario represent a numerous abstraction level analysis of the method behavior; produce a reachability graph that includes all the simulation paths and compare it with the method expected results. For a specific scenario of data streaming over UAVs standalone network, were a dynamic single relay-node is used to guarantee the cooperative transmission and the cooperative condition, which is dynamically, depend on the link state between the sender and receiver, an method Application Layer Automatic Repeat ReQuest [ALC-ARQ] is proposed. This method is inspired by the selective-repeat Automatic Repeat ReQuest error-control model, with a customized packet header on the application layer and a link-state routing scheme where all sending nodes are already aware about the map connectivity and they will route data transmission based on packet loss rate metrics. The paper is organized as follows. Section II introduces the system model of cooperative transmission of ALC-ARQ and its error-control model as well as the QoS metrics measurement methods. In Section III we present the implemented simulation model in NS-3 simulation environment and describe in detail its components. The results of simulation model and the comparative analysis are conducted in section IV. The conclusions are drawn in section V. II. System model and ALC-ARQ method design In this section, the proposed method ALC-ARQ is described in detail, starting from cooperative transmission with relay deployment, criteria of deployment and link quality measurement.
  • System model for cooperative transmission To ensure coverage and communication, lower-cost relay node may be inserted to forward data from each individual sending node in the network in a multi-hop transmission way to the server or data sink. Nodes locations are considered optimal if the resulting links can satisfy transmitting and communication coverage to a predefined packet delivery rate PDR value. In case of deterioration of the link, the measurements provided by the implementation of the measurement model [described in II.C] will be used to dynamically deploy additional transmission relay node or activate already deployed one. For each sending node Ni we define two types of transmission link: - Direct link Dl, between source and destination end nodes [Ni-BS] without relay; - Relay link Rl, for the communication composition [Ni-R-BS] with relay. Assuming that the relay node has the same transmission range as the sending nodes. The single-tiered network method proposed aims to ensure connectivity for each communication pair [Ni-BS] by dividing the unreliable long hop between Ni and BS to two short hops by deploying relay node. This relay will stand as a node helper to retransmit all the packets coming from each end node. In the first scenario, we consider one relay node in the network. When the transmission starts, each sending node will transmit data packets to the base station. For each transmission window, the reliability of the link will be measured by calculating packet loss rate [PLR]. Fig. 1 shows the scenario of deploying, activating and deactivating a relay node between source node and Base Station. The deployment of relay will be fully automatic by the network without external interactions. Consequently, the topology of the network will be changed depending on the relay node state. To describe the system model, we define the following states. Standby mode [Fig. 1a]. BS starts to receive data without the interaction of the relay node after UAVs have been launched [P2P mode]. During this period, the quality of Dl link will be measured. The window size used for metrics measurements is defined based on the parameters of the scenario proposed [Wi-Fi standard, channel bandwidth, node velocity and reordering buffer size on the application layer]. Because packet loss rate is dependent on link quality and network interference, loss events will occur which in turn invoke the application layer ALC-ARQ error control method [14]. The constant mobility of source nodes away from BS during the transmission will decrease the PLR measured on the application layer on BS. If PLR value for a given link Dlt exceeds a predefined threshold, the BS will broadcast a control message packet to all nodes in the network to notify the correspondent source node about the Dli link state. Threshold value is defined by the system's user when starting the application. The source node in its turn after receiving control message will switch to multicast transmission including relay node R as intended destination [node helper] on its transmission table. Consequently, another transmission link Rl will be created between Ni and BS as a combination of two sub-links [Ni-R, R-BS] and the relay node will switch to active mode. Active mode [Fig. 1b]. After receiving the control message, the relay node starts by creating a playback buffer for the newly created link [Ni-R]. This buffer will be used for error control purposes like packet recovering and reordering. Buffer parameters such as reordering buffer offset and reordering late time will be chosen as input parameters when starting the relay application. Relay node will listen to packets coming from both source-node and BS, and determine the type of each packet depending on packet_id field in ALC-ARQ header. If the packet contains video data and does not exist in the playback buffer, the relay will keep a copy of it in the corresponding buffer, and then forward it to the BS. Since the source node is multicasting data packets, the BS will continue to check the reliability of links Dl and Rl by measuring PLR for each flow for the same sending window size. This measurement allows the BS to define the most reliable link from which packets will be accepted. DB_N1 DB_N2 DB_Nn Nn DB_N1 DB_N2 DB_Nn
  • t> DB_N1 DB_N2 DB Nn
  • Fig. 1. System Model of Cooperative Transmission: a] Transmission without Relay; b] Relay is Deployed; c] Relay Out of Range [Background Mode] As a result, packets coming from less reliable link will be ignored. During transmission and on both BS and R, loss events will be recognized by checking out-of-order received packets using the sequence numbers [SN] assigned in ALC-ARQ header. Consequently, the lost packets will be requested by broadcasting a Negative Acknowledgment [NACK] message. For [Ni-BS] link, source node will attempt to retransmit the requested packet[s] if the NACK packet was successfully received. For [Ni-R, R-BS] link, both source-node and R will attempt to retransmit the requested packet[s]. However, for each requested packet, BS will accept only the first correct received packet by one link and ignore the others. If the attempt of packet recovery fails, the BS will broadcast the same NACK again for each Round Trip Time RTT value until Retransmission Timeout RTO is reached [15] or the requested packet no longer exists in the buffer. Since playback buffers on source-node and R node are set up with different parameters' values, if the requested packet does not exist in the relay buffer, the relay node will forward this request to the source node in an attempt to recover the maximum number of lost packets. The average delay for all packets and average delay for only retransmitted packets on both links will be measured. While the reliability of links is measured, the choice of receiving link will be chosen as follow: Dl if PLRBl > Threshold V PLRBl > PLRm, [1] Rl if PLRm < PLRm A PLRm < Threshold. [2] If the first condition is satisfied, the relay node will switch to background [inactive] mode. Background mode [Fig. 1c]. The condition for which relay node switch to background mode is when PLR of link Dl is greater than or equal to the threshold value or the packet loss rate of link Rl [1]. The BS then will send a control message to notify both source and relay that data will be received by Dl only. However, the source node will continue to multicast data packets to ensure that the relay node is still receiving data packets but without involving in the packet delivery process. The reason behind this is to keep Rl link active with the minimum consumption of network and memory resources [bandwidth and buffer]. This can be achieved by saving only sequence numbers of the received packets on relay's buffer. Thereafter, based on these sequence numbers, BS will keep checking the quality of each link till the condition in equation [2] is satisfied to switch to state II [Active mode].
  • Cooperative error-control ALC-ARQ method description The ALC-ARQ transmission block scheme is represented in Fig. 2. This scheme is inspired by the selective-repeat Automatic Repeat ReQuest error-control model with a customized packet header on the application layer and a link-state routing scheme where all sending nodes are already aware about the connectivity map and they will route data based on packet loss rate metrics. The proposed scheme defines two error-control phases. 1 phase: Relay cooperative error-control The performance of ALC-ARQ error control is measured by its capacity to alleviate packet loss. The relay node experiences a loss event whenever SNb - SNa > 1 where: SNb and SNa represent the sequence numbers of two consecutive received packets. For a window size denoted n_bit, let P[L] denote the probability of a loss event. To guarantee the reliability of data transmission, the probability P[L] has to be very small. The performance of ALC-ARQ packet recovery is dependent on what type of loss events may occur during transmission. For this purpose, we define the following probability: - Pn is the probability for n_bit to be received without loss; - Ps is the probability for n_bit to be received with n series of losses with burst size equal to one; - Pb is the probability for n_bit to be received with n series of losses with burst size greater than one. Accordingly P[L] = Pn+ Ps + Pb. Pn represents the ideal link state between the source-node and the relay node where there is no interference or channel errors. Assuming that the transmission link is not ideal [Pn = 0] and Ps is a special case of Pb, then the probability P[L] for loss event for n_bit is equal to Pb and define as: Pb = 1-exP\ 1 PrSNRtfO [l* - l] [3] requested packets are no longer relevant to the application. RTO value is defined by default when starting the application to 70 ms. However, it will be updated for each loss event based on the approximated time value of Round Trip Time RTT in 4 phases [17]:
  • the current smoothed time is calculated Smoothed Round Trip Time [SRTTcurr] which uses the smoothed round trip time previous value: 7 1 —. SRTTprev + —. SRTTcurr = -. SRTTprev + -. RTTcurr, [4] where SRTTprev - previous smoothed round trip time; RTTcurr - current round trip time;
  • the current deviation is determined DEVcurr: DEVcurr \= \RTTC1 SRTZ prev [5]
  • the current smoothed deviations value is calculated: 3 1 SDEVcurr = Л . SDEVprev + л . DEVcurr, 4 4 iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы. [6] where SDEVprev previous smoothed deviations value; 4] the retransmission timeout is calculated using the following formula: RTO = SRTTcurr + 2. SDEVcurr. [7] In this function, the probability of loss event is a function of transmission power Pt used to transmit the i-th packet and the normalized expected Signal-to-noise Ratio SNR[Qi] given the fading level Qi [16], where r and w represent the transmission rate [bits/sec] and bandwidth respectively. In section III, the values of Pi, Qt, r and w are determined for the simulation model on the network device layer. The customization that was made on the application layer was designed to handle more than one loss event using one NACK packet [loss event is defined by SN of the first lost packet and burst length - BL]. According to Fig. 2, the relay node keeps asking for the lost packets for each RTO while receiving data packets. In other words, another loss event[s] may occur and the previous event has not been handled yet. In this situation, instead of sending another NACK message to request the lost packets of the last loss event, the same NACK will be edited to include SN and burst length of the second event. Fig. 3 represents the format of NACK packet. In this way, one NACK packet can handle more than one loss event by adding SNt and BLt of the occurred loss. Furthermore, if not all the packets are successfully recovered, the burst can be break up into N sub-bursts with the corresponding SN and BL. As mentioned before, the process of sending NACK messages is repeated if RTO value is exceeded until the 2 phase: Source-node error control Source node implements the same mechanism of error control. On relay node, if the requested packets do not exist in the playback buffer, the received NACK will be forwarded to the source node. The probability of recovering these packets depends on its relevance to the application on BS which in turn is related to byte offset and late time buffer parameters that are set by the application user. As a result, if the requested packets no longer exist in the buffer, the source node multicasts a cancellation message to inform BS that the requested packets no longer exist. BS after receiving the cancellation message will delete the sequence numbers of the requested packets from its waiting list. To analyze the performances of ALC-ARQ on the application layer using a predefined packet loss rate and burst lengths, an integrated method for generating artificial packet loss events is implemented based on the classical 2-state Markov model introduced by Gilbert and Elliott [18] in Fig. 4. The proposed method is implemented on the source-node side, where after generating data packets, the Gilbert - Elliott average loss probability P will decide if the packet will be sent or dropped, and the average burst size L will define the sequence of dropped packets. P and L values define the transaction probabilities p and q by which the system moves from state G [send packet] to state B [drop packet] by the following formulas: 1 P=~L, P 4 = 1[1-py [8] 32 Fig. 2. ALC-ARQ Transmission Block Schema 32 8 ID NR N SN1 BL1 SNn BLn Fig. 3. NACK Packet; ID] Packet Identifier 4 Bits; NR] Node Identifier 4 Bits; N] Number of NACK Repeats 8 Bits; SN] Sequence Number of the First Lost Packet in Succession 32 Bits; BL] Burst Length 8 Bits The method was implemented in C++ programming language. The implementation is provided on the appen-dix below. 1-q 1-p Fig. 4. 2-State Markovian Model for Artificial Packet Loss Generation 4 4 8 8 p Appendix HEADER FILE gilbert_elliott.h

ifndef GILBERT ELLIOTT H

define GILBERT_ELLIOTT_H

include "socket_io.h"

define MAX BURST LENGTH GEC 1000

class gilbert Elliott { int p,q; // transition probabilities bool state; public: short stat[MAX_BURST_LENGTH_GEC]; unsigned char bl; //burst length public: gilbert Elliott[]; void initGilbert Elliott[double plr, double lb_avr]; bool getState[void]; bool getCurrentState[void]; int randomNumber[int hi]; //int write_stat_to_file[FILE *file];

endif // GILBERT ELLIOTT H

CLASS FILE gilbert_elliott.cc

include "gilbert_elliott.h"

gilbert_Elliott::gilbert_Elliott[] { p = q = 0; bl = 0; for [int i=0; iGetId []]; tag.SetPacketId [IDM_UDP_ARQ_VIDEO]; tag.SetTimestamp [Simulator::Now []]; tag.SetTreeNumber [0]; m_my_addr.Serialize [tag.sourceAddr]; packet->AddPacketTag [tag];

  • Mobility model In NS-3 Mobility models are used to track and maintain the current Cartesian position and speed of a node/object [ / / www.nsnam.org/ docs / models/html / mobility. html]. It is composed of a set of helper classes, which can be used to place nodes and set up their mobility. In our proposed scenario, the sending nodes are flying away from the BS with a specific velocity while relay node is located on a fixed position away from the BS. The transmission link between relay node and BS is guaranteed as ideal. The two mobility models ConstantVelocityMobilityModel.cc and ConstantPositionMobilityModel.cc were used to set the Cartesian position of the sending node and both BS and relay node respectively. The mobility model configuration is presented in Fig. 8. MobilityHelper mobility; mobility.SetMobilityModel["ns3::ConstantVelocityM obilityModel"]; mobility.Install[nodes]; \= 1 i GetObj ect [] ] ; cvmm->SetPosition[ Vector [distance,0,0]] ; cvmm->SetVelocity[ Vector [0.2,0,0]]; } MobilityHelper relay_mobility; Ptr positionAlloc = CreateObject[]; positionAlloc-> Add[Vector[relay_position, 2.0,0.0]]; positionAlloc->Add [Vector [0.0, 0.0, 0.0]]; relay mobility.SetPositionAllocator[positionAloc]; relay_mobility.SetMobilityModel["ns3::ConstantPos itionMobilityModel"]; mobility.Install [nodes.Get [nNodes - 1]]; Fig. 8. Code Snippet for ALC-ARQ Mobility Configuration IV. Simulation experiments and results To understand the difference of packet delivery efficiency of ALC-ARQ between point-to-point and multi-hop [one relay node between source node and destination] topology, the testbed shown in Fig. 9 is used to set up the technical and execution requirements for the simulation stand where flying source nodes stream video data to the base station on the ground. The relay node and BS are placed symmetrically 25 m apart from each other where the path between them is ideal. The source nodes during transmission are flying away from the base station location toward the relay node, the distance between BS and source node when starting the simulation is 0 m, by the end of simulation, the distance is dependent on the Wi-Fi standard transmission capabilities and its configuration parameters. Other simulation parameters are listed in Tab. 1. The performance of ALC-ARQ while using the Gilbert - Elliott model for artificial packet loss is investigated. The dependence of Packet Loss Ratio on the distance between the source and destination node is explored, in addition to the position of the source-node, the mobility of nodes and the time required to switching to a relayed transmission. The improvements which ALC-ARQ has given related to the Packet Loss Ratio and topology change compared to classical well known routing protocols such as Optimized Link State Routing Protocol [OLSR] and Ad hoc On Demand Distance Vector [AODV] were shown. The effect of recovery process on the application level one-way transmission delay was derived. TABLE 1. Simulation Parameters Parameter Setting Channel delay model ConstantSpeedPropagationDelayModel Propagation loss model FriisPropagationLossModel Transmission protocol UDP Application data rate 6 Mbps Packet size 1250 bytes Mobility speed [1; 60] km/h Simulation topology End to End; Multi-hop Number of transmission nodes [1; 10] nodes PLR measurement window [60; 740] packets Playback buffer size 248 packets for source nodes; 148 for both relay and BS N1 Fig. 9. Testbed for Simulation Scenario Fig. 10 shows the results of packet delivery simulation using artificial packet loss and burst length for ALC-ARQ method. The simulation results present the theoretical analysis for the efficiency of the method and its ability to recover lost packets on the application layer while using a non-reliable transmission protocol on the transport layer. It is obvious that the packet delivery is enhanced by the use of ALC-ARQ where the path is in pure conditions [0.15-0.6 in Given PLR axis]. The reason is the lightweight packet request scheme on the application level that uses dynamic NACK packets to request lost packets of different burst size; this scheme does not require a high competition for media access, processing time and buffer management for packet recovering. We further investigate the cooperative transmission of ALC-ARQ by measuring the packet loss rate for mobility scenario. Fig. 11 represents PLR measurements for cooperative transmission. The threshold value after which the transmission is switched to cooperative is set to 0.1. 0,7 0,6 0,5 0,4 PLR without ARQ PLR with ARQ 0« { 0,32 r 3,141 0 6:605 0,006 »-0,024 0,029 0,042 0,05 14 03

  • Chủ Đề