## 1 Introduction
This is despite them being shown to be less efficient than probabilistic methods, but with the advantage of being able to guarantee an overlap, which probabilistic methods cannot claim. Recent studies have shown a move towards the adoption of new methods which may be integrated into ND. Opportunistic approaches involve decisions being made \"on the fly\" [18; 19; 20]. But it is in the area of mobility awareness in WSNs which is of interest within this study [21; 22; 23]. In this way it is proposed that routing and data delivery in a network may be improved by the prediction of mobile node mobility patterns [24]. However, in terms of influencing duty cycling and the wake-up schedule of nodes, as yet mobility has not been used in this area. When considering the use of MSNs, many routing protocols have been developed for network layer solutions. These protocols can generally be separated into two categories, those being to implement flooding, which can result in high energy consumption, or delay-tolerant methods which compensate by being far more energy-efficient [8; 25]. However, in more recent studies the use of MSNs has been combined with clustering and optimal sink path determination, such that more energy efficiency may be improved along with network layer routing [26]. Whereas these studies are valid when considering the potential difficulties in ensuring network layer packet delivery when an MSN is implemented in a WSN, it should be noted that it is at the MAC layer where most energy consumption can be found [22]. As such, it is proposed that it is at the MAC layer that any solution which aims to reduce energy consumption should be located, especially so when considering that this is where duty cycling takes place. Therefore, it is proposed that mobility patterns be used to influence duty cycling, such that nodes awaken at the most energy-efficient moment, when there is the greatest chance of any transmission reaching the sink node. In this paper we propose a novel mobility-aware duty cycling algorithm (MADCAL) [27], to utilise the mobility pattern of the MSN in order to positively affect the wake-up schedules of static nodes. MADCAL operates at the MAC layer, independent of any routing protocol and uses no extra beacons or messages. The duty cycling of one-hop nodes to the sink is based on the current location of the MSN and a dynamic communication threshold, calculated within each node, independently of all others. This calculation uses the interference range of the node, its distance from the path of the MSN, and the speed of the MSN. When subsequently compared to standard duty cycling with clear channel assessment (CCA) and check interval, we demonstrate that MADCAL shows improvement in energy consumption across the network as well as in the number of frames received by the MSN. This study extends our conference paper [27] as follows:  
* Methodology. An adaptive communication threshold has been proposed in this new version to provide self-adaption to the changes of other network parameters. * Algorithm. Both algorithms for the determination of a communication threshold are now described line by line in detail. Improvements, including new functionality, have been added to and highlighted in the second part of the MADCAL algorithm. * Test scenarios. In this journal version we utilise both a random topology and the one grid topology involved in the conference paper to demonstrate the effectiveness of MADCAL even when the topology is not controlled. As such a more comprehensive evaluation is now delivered and test results are doubled in comparison with that of the conference paper. In addition, related work has been reviewed and classified in Section 2. This paper is organised as follows. In Section 2 we discuss related work pertaining to this study. Section 3 describes our approach to mobility-aware duty cycling and the network scenarios utilised. In Section 4 the MADCAL algorithm is discussed in detail along with an illustrated description of how the communication threshold is calculated.