# Edge-Aided Reliable Data Transmission for Heterogeneous Edge-IoT Sensor Networks
## 1 Introduction  
The recent advances of low-power wireless communications and computation have led to the development of low power sensor networks (WSNs) for the Internet of Things (IoT). As various mobile applications have emerged and attracted much attention from both research and industry, WSNs are also attracting more and more research efforts [1; 2]. A typical WSN consists of a (large) number of resource-constrained sensor nodes equipped with low-power sensors, CPUs and radios. WSN-based applications cover large-area monitoring [3; 4], smart grid [1], health care [5; 6], smart homes [7], green buildings [8; 9], etc. Different from the existing works on sensor networks, the IoT oriented WSNs are often required to undertake more computational and communicational tasks [1]. For example, in smart city scenarios, sensor networks can be used for counting crowd or detecting people's identities [10; 11]. To empower sensor networks to fulfil the complex and massive tasks, edge computing [12] is a promising direction. Edge computing is a new paradigm which adds additional edge computing servers to low-powered devices and networks [13]. The computational tasks from the underlying users (devices/sensors/mobile users) are firstly offloaded to the edge computing servers [14], and the edge computing servers become responsible for the execution of those tasks. The tasks can be transferred to the edge computing servers via LTE networks, WiFi networks, or low-powered communications technologies [15]. The tasks received by the edge computing servers are handled by task assignment schemes [16] and placed at certain edge computing nodes. The process differs according to the different edge architecture, such as user-edge framework [13], user-edge-edge framework [17] and edge-cloudcoordination [18]. In cases where there are not enough edge resources for the tasks in edge-cloud coordination, part of the tasks are uploaded to the remote cloud servers [18]. Edge-aided sensor networks [13] combine edge computing and sensor networks to increase the computational capacity of sensor networks. The tasks from sensor networks can be fully or partly uploaded to the edge servers, and then the edge servers return the computational results to the sensor nodes. Some existing works have been proposed to optimize the cooperative task execution in edge-aided sensor networks. [PERSON] et al. propose to assign the offloaded tasks to specific edge servers [16]. [PERSON] et al. propose to deploy edge servers to a random IoT network, considering both communication and computation requirements [19]. [PERSON] et al. manages the task offloading for ultra-dense wireless networks [17]. While these works focus on the task execution and resource optimization, we argue that edge computing servers can also be a very powerful tool to improve the data transmissions in sensor networks in terms of both efficiency and reliability. There are a number of existing works on reliable data transmissions in sensor networks. For example, Seda [20] retransmits partial packet payloads to receivers when packet corruptions happen. TinyRS [21] employs the RS code to establish effective error correction for sensor networks. ZiXOR [22] uses XOR codes to adaptively recover transmission errors in a lightweight manner. Compared to the existing works, edge-aided sensor networks have more potential to further increase the energy efficiency of data transmissions. Specifically, edge servers often have much more powerful radios and have an unlimited power supply (while sensor nodes are powered by batteries [23]). Therefore, if the transmissions are migrated from sensor nodes to the edge servers, much energy and delay overheads can be saved and the lifetime of sensor networks can be increased. To exploit the chance of edge computing servers, there are two challenges. First, the coverage of edge servers is much larger than that of a sensor node.