Dynamic centralized scheduler for time-slotted channel hopping wireless sensor networks

Size: px
Start display at page:

Download "Dynamic centralized scheduler for time-slotted channel hopping wireless sensor networks"

Transcription

1 Eindhoven University of Technology MASTER Dynamic centralized scheduler for time-slotted channel hopping wireless sensor networks Naeem, F. Award date: 2016 Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. Users may download and print one copy of any publication from the public portal for the purpose of private study or research. You may not further distribute the material or use it for any profit-making activity or commercial gain Take down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Download date: 12. Jul. 2018

2 Department of Mathematics and Computer Science EIT Digital Masters in Embedded Systems Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks Master Thesis Farhan Naeem Supervisors: Prof.dr. K.G.W. Goossens M.L.P.J. Koedam Rasool Tavakoli Eindhoven, August 31, 2016

3

4 Abstract In the increasingly evolving world of technology, communication over wireless medium has become a very popular choice. Wireless technology is gaining significant grounds in almost every field of life giving rise to very interesting applications. In the automotive industry there is a significant interest in converting the in vehicle sensors to communicate with wireless technology. This is because of some of the prominent benefits that a wireless network has over wired networks like reduction of weight, freedom from wiring as well as flexibility and ease in maintaining the sensors and the system. The same is true for other technological domains giving rise to new innovative applications in healthcare, environmental monitoring, smart homes and industries. There are several available wireless standards like Bluetooth,Wi-Fi and GSM. Apart from these IEEE standard is especially designed based on the requirements of Low Rate Wireless Personal Area Networks (LR-WPAN). This standard defines the requirements of the Physical and Mac layer of the OSI model. In 2012, an amendment was made in this standard (IEEE e) introducing a new feature named Time-slotted and Channel Hopping (TSCH). TSCH combines time slots with channel (frequency) hopping scheme. In this way, the wireless nodes not only gain a contention free access to the wireless medium but also are secured from multi-path fading effects. Thus, in this manner wireless communication is made more reliable with reduced packet error by coping better with contention. The IEEE e standard only defines how a TSCH network should operate and provides the basis for the implementation. However the standard does not specify how a list of nodes should be scheduled to operate within the TSCH network. According to the standard this task is left for the upper layers of the stack to manage. This thesis work focuses on the design and implementation of a centralized TSCH scheduler. Provided a list of wireless links with source, destination and bandwidth requirements, the scheduler aims to satisfy not only the bandwidth requirements but also is able to obtain a contention free schedule, considering the wireless medium access constraints. Moreover, the designed scheduler makes use of Binomial Theorem to compute the probability for a transmission to be successful based on the network quality parameters, e.g. Packet Reception Ratio (PRR). In this way the scheduler is able to respond to run-time variations in the network communication quality and assign extra timeslots to a link in order to increase the chances of a successful transmission. The scheduler software library is designed to enable applications running on the CompSOC (Composable and Predictable Multi-Processor System on Chip) research platform to communicate through wireless medium. However, due to time limitation, the evaluation was done by running the scheduler library on a PC as a Windows based application. Furthermore, NXP JN5168 wireless dongles were used as sensor nodes for the network in the evaluation. A small Contiki OS (Real time operating system for wireless sensors) based test application was developed for the JN5168 wireless dongles. The focus of the evaluation was to observe how the scheduler responds to the changes in average PRR of the network. Further the complexity of the scheduler algorithm was computed and is of the order of O(N 3 ) where N is the total number of nodes in the network. Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks iii

5 Acknowledgements With immense pleasure I would like to express my gratitude to all those who have contributed and supported me during the thesis work. I would first express my deepest respect for my thesis supervisor Prof. Kees Goossens who gladly accepted and honored me to be one of his students and made me a part of his research group. I would also thank him for his continuous support. Next, I would like to thank Rasool Tavakoli for all the insights he gave regarding wireless communication and Martijn Koedam for extending my knowledge in embedded programming. I would like to thank EIT Digital for providing me the opportunity and honoring me with an Excellence Scholarship to study at two different European Universities (KTH-Royal Institute of Technology, Stockholm, Sweden and Eindhoven University of Technology, Eindhoven, Netherlands). Last but not least, I would like to thank my parents, siblings and all the friends who have always supported me and motivated me throughout my journey. iv Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

6 Contents 1 Introduction Problem Statement Contribution CompSOC Platform Outline Background Wireless Sensor Network Wireless Sensors Wireless Network Terminologies Wireless Nodes Network Topology Wireless Link Transmission Collisions Network OSI Model Physical Layer Data Link Layer or MAC Layer Network Layer Transport Layer Application Layer IEEE and IEEE e Devices Full Function Device (FFD) Reduced Function Device (RFD) IEEE Network Topologies Star Topology Tree Topology Mesh Topology Data Rate and channels Addressing Modes IEEE MAC Address or Extended Adrress Short Address Data Frame Structure IEEE e - TSCH Key Features of Time Slotted and Channel Hopping TSCH Concepts Timeslots and Slotframe Absolute Slot Number Channel Hopping Enhanced Beacon Contiki OS Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks v

7 CONTENTS 3 Related Work 19 4 Centralized TSCH Scheduler Implementation Requirements Design Considerations Hop Neighbors Transmission Constraints Network Model and Notation Data Structures Main Resource Manager Array (strmtable) Neighbour Node Information Array Resultant Schedule 2D Array System Configuration Parameters TSCH Scheduling Algorithm First and Second Hop Neighbor Search Pseudocode Schedule Assignment Pseudocode Blocking of slots for links interfering with the reference link L ij Pseudocode Blocking of unassigned slots in a column for the reference link L ij Pseudocode Blocking of slots at same time offset but different frequency channel for links other than the reference link L ij Pseudocode Generating the Resultant Schedule Pseudocode Reliability Pseudocode Evaluation and Results Evaluation Parameters Purpose of Experiment Experimental Setup Network Arrangement Data Payload Link Schedule for Evaluation Test Software Implementation Firmware Implementation for the End Node Firmware Implementation for the PAN-coordinator Test Scenarios Evaluation Results Test Scenario Test Scenario 2(a) and 2(b) Test Scenario 3(a) and 3(b) Test Scenario 4(a) and 4(b) Test Scenario 5(a) and 5(b) Reflection Algorithm Complexity Tradeoff Memory Consumption Power Consumption vi Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

8 CONTENTS 6 Conclusions and Future Work Conclusion Future Work Bibliography 63 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks vii

9

10 List of Figures 1.1 Problem Illustration CompSOC platform high level overview Wireless Link Hidden Node Problem Network OSI Model Star Topology Tree Topology Mesh Topology IEEE frequency bands IEEE data frame IEEE MAC frame TSCH slotframe, ASN and timeslot TSCH time slot operation Channel Hopping Example Contiki Process Example Hop Neighbors Example Transmission Constraint Example Main Wireless Resource Manager 4D Matrix Visualization Example of 2D Neighbour Table for a network with four nodes High level flow diagram of TSCH scheduler Network Example First and Second Hop Neighbors Assigning a free slot Blocking of Slots at same time and frequency for other links Blocking of unassigned slots in a column for link currently being considered Blocking of slots at same time and different frequency channel for other links After completion of algorithm Final generated schedule in the resultant 2-D Table Network topology for experiment Evaluation hardware Data Packet Structure Time slot allocation for one coordinator and one end node Time slot allocation for one coordinator and two end nodes End node application flow diagram PAN-coordinator node application flow diagram Test scenario 1 result Test scenario 2(a) result Test scenario 2(b) result Schedule generated after first minute in test scenario 2(b) Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks ix

11 LIST OF FIGURES 5.12 Test scenario 3(a) result Test scenario 3(b) result Schedule generated after first minute in test scenario 3(b) Test scenario 4(a) result Test scenario 4(b) result Schedule generated after first minute in test scenario 4(b) Test scenario 5(a) result Test scenario 5(b) result Schedule generated after first minute in test scenario 5(b) Memory growth plot Plot of reliability vs number of redundant slots Plot of power consumption vs number of redundant slots Plot of power consumption vs reliability x Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

12 List of Tables 2.1 IEEE Wireless Standards IEEE Wireless Standards Comparison Table ISM License Free Band Related work comparison TSCH Scheduler Notation Reliability computation example Contiki OS Driver Configuration Centralized TSCH Scheduler Configuration UART configuration for the JN5168 platform Evaluation Scenarios Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks xi

13

14 Chapter 1 Introduction In the increasingly evolving world of technology communication over wireless medium has become a very popular choice. Wireless technology is gaining significant grounds in almost every field of life giving rise to very interesting applications in domains such as smart cities, industrial applications, railway networks and automotive technology. Considering the automotive domain as an example, vehicles are getting smarter with the advent of technology and according to a recent survey a single automobile may contain around 70 sensors [1]. These sensors support different applications like breaking systems, speed monitoring for cruise control, air-bag, seat belts, lighting indicators, tyre pressure sensors and many more. Communication of data from these sensors is done through a number of in-vehicle communication systems. The in-vehicle communication system is usually comprised of a bus based system or protocol like Controller Area Network (CAN), FlexRay and Ethernet based wired network [2, 3]. All of the mentioned protocols are wired based. Since the number of electronic control units (ECU) within a vehicle is increasing at a rapid pace due to the emergence of new innovative applications and market needs, this also means that more wires shall be required to connect various ECU to the bus system. Further emerging applications like camera based Advance Driver Assistance Systems and infotainment systems usually have a higher bandwidth requirements which shall stress the system [3]. All of this shall lead to a more complex in vehicle communication system with a lot of weight and complexity put up by the wires required to connect the system. This shall impact not only the cost of the vehicle but also the fuel consumption as well as the effort and time required for the maintenance of such a bulky wired system. One possible and attractive solution would be to make use of wireless communication technology. Considering the automotive domain as an example some innovative applications are already in use within vehicles like remote keyless entry and Bluetooth based infotainment and calling systems. These system can be seen from a user to machine interface perspective. The underlying communication between various ECUs is still wired based. Making the communication wireless shall significantly reduce the weight, maintenance, time, effort and fuel costs incurred in operating the vehicle. The same is true for other technological domains like health, environmental monitoring, surveillance systems etc. The IEEE wireless standard is widely used in applications and devices with low power consumption requirements. This standard has been developed keeping in view the requirements of wireless personal area networks (WPAN) in home, industry and environment applications [4]. Just like Bluetooth technology the IEEE also operates in the 2.4 GHz ISM frequency band, but Bluetooth has an edge over the this standard since it makes use of Fast Frequency Hopping Spread Spectrum (FHSS) which makes it reliable and mitigates the effects of multipath fading [4]. The drawback of Bluetooth is that the algorithm is quite complex and might not be suitable for resource constrained low power devices. On the other hand IEEE standard supports a wide range of network topology like star and mesh as well, further its complexity is less and can also operate at lower frequencies in the ISM band (868/915MHz and 2.4 GHz) to meet Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 1

15 CHAPTER 1. INTRODUCTION lower data rate requirements and save energy. Extensive research is being carried out to measure the suitability of using this protocol within vehicles [5, 6]. The latest amendment of the IEEE standard is called IEEE e [7] and it was approved and published in the year This amendment has proposed an enhanced MAC feature which is Time slotted and Channel Hopping (TSCH) for low rate wireless networks. TSCH combines time slotted access of the wireless medium with frequency or channel hopping to mitigate the multi path fading effects and downgrading of packet reception ratio (PRR) in the case of always transmitting at a bad frequency channel. A TSCH schedule is assigning of timeslots and frequency channel offsets to a network link. The IEEE e standard only defines the mechanism by which a TSCH enabled node can communicate, it does not specify the policies or methods on building and maintaining a communication schedule [8]. 1.1 Problem Statement Consider a wireless sensor network (WSN) in which each node is connected to a sensor or an actuator. The data from these sensors should be gathered in a central node to process the sensor data and produce appropriate actuating commands. In order to support a large network, the central node should have enough processing power to manage and run different applications for this WSN. For this reason, we aim to use a CompSoC as the central possessing unit of this sensor network in order to run multiple applications without collision and behave in a predictable manner. On the other hand communications in this sensor network should be reliable enough to provide the required quality of service (QoS). For this purpose, as defined in the IEEE e standard, we use TSCH as the MAC protocol for communication. This protocol uses dedicated timeslots and guarantees that each link in the network gets access to the wireless medium. As mentioned previously the IEEE e standard does not specify how to create and maintain a TSCH schedule. Thus, a scheduler is required to assign timeslots and frequency channel offsets to the network links for communication. Furthermore, since the wireless links are asymmetric and their quality changes over time (due to external interference), the initial assignment of timeslots and frequency channel offsets may not guarantee the QoS requirements over time. Therefore the scheduler is required to not only make assignments based on the application requirements but also be able to make adjustments during run-time based on network link quality. In this work we aim to design a centralized scheduling algorithm as a library for CompSOC platform (due to timing limitation the initial prototype was implemented on PC/Laptop serving as the coordinator node). This scheduler should allocate time slots and frequency channel offsets for reliable TSCH communication between various nodes in the wireless sensor network in accordance with the IEEE e standard. Furthermore, due to dynamism of network quality in urban environments we aim in designing the scheduler to take into account the network quality variations and make adjustments during runtime in order to ensure QoS. 2 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

16 CHAPTER 1. INTRODUCTION Figure 1.1: Problem Illustration 1.2 Contribution Based on the discussion above, the thesis work aims 1. To do research on the possible network constraints in order to have a contention free wireless transmission. 2. Based on the network transmission statistics and bandwidth requirements of an application, designing and implementing an appropriate TSCH link scheduler to dynamically assign required number of time slots to that application for a requested link (source destination). 3. Evaluating the scheduler in terms of computation complexity and observing its real-time functionality using experiments. 1.3 CompSOC Platform The CompSOC (Composable and Predictable System on Chip) [9] is a multi-processor research platform prototyped on Xilinx FPGA board. The platform can be instantiated by multiple Microblaze 32-bit soft core tiles. For communication between various system resources daelite [10] Network on Chip (NoC) is used to which various platform tiles are connected as shown in figure 1.2. The tiles may be a processor tile, a memory tile or a peripheral tile etc. The main highlight of CompSOC is that it provides composability and predictability. Composability means that application can run in isolation, independent from other applications. Predictability means that the timing of applications are well defined and predictable. A detailed discussion about CompSOC Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 3

17 CHAPTER 1. INTRODUCTION platform resource manager is given in [11, 12]. The requirements for a virtual resource is expressed as a budget descriptor which captures the configuration requirements of an application for a particular resource, for example, the network on chip TDM configuration like source, destination, throughput etc. The same implies for other resources in the CompSOC platform. The resources are allocated to an application through a resource manager API available in the CompSOC software. The resource manager is organised as a state machine in which state transitions is based on the result of various API calls like reserve, release, program, reset, start and stop. Figure 1.2: CompSOC platform high level overview 1.4 Outline The remainder of the thesis is structured as follows. In Chapter 2 we provide a background on IEEE e standard while discussing the relevant concepts on TSCH mechanism, the network OSI model for WSN and an overview about the Contiki OS. In Chapter 3 we present the details of existing TSCH link schedulers available in literature and in the Contiki OS library. In Chapter 4 we describe the detailed implementation on our developed TSCH scheduler. In Chapter 5 we discuss the evaluation results and in Chapter 6 we conclude with a summary and future work. 4 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

18

19 Chapter 2 Background In this chapter we provide a background on IEEE standard and its recent amendment. We also discuss about the relevant concepts on TSCH mechanism, the network OSI model for WSN and also briefly discuss the Contiki OS. 2.1 Wireless Sensor Network Wireless Sensors Wireless sensors are resource constrained devices equipped with certain sensors which are distributed throughout the environment of interest to gather data of various events and states. The gathered data is then transmitted through a wireless medium to a local coordinator or gateway node for data processing. These sensors may also play the role of an actuator and receive actuation data from other nodes to apply it to the relevant device. The wireless protocol that is used depends on application requirements and can be based on many available standards for wireless communication. Wireless sensor nodes are becoming a popular choice for data gathering and sensing in many technological domains. In the medical world, wireless sensor technology is making less invasive patient monitoring and remote health care possible [13]. Wireless sensor networks are also being used by municipalities to monitor utilities like energy and water [13]. Wireless sensor nodes provides a low cost solution of monitoring system health and flexibility in managing system resources. In the automotive domain wireless sensors are widely used in tyre pressure monitoring, remote key-less entry system and in advanced immobilizer systems that prevents engines from starting unless an authorized key is inserted into the ignition switch [14]. In short remote monitoring and sensing using wireless sensors can cover a variety of applications and complement wired systems by reducing wiring costs and allowing new types of innovation Wireless Network The wireless sensor nodes cooperate with each other to form a network. In order to communicate in a systematic manner, there are several wireless standards which defines the appropriate protocol (packet format and transmission mechanisms) keeping in view various application needs like bandwidth, power consumption, reliability, etc. Some of the well known wireless standards are shown in table 2.1. A comparison of different wireless standards in terms of power consumption, complexity, cost and data rate is shown in table 2.2. For Low Rate Wireless Personal Area Network (LR-WPAN) the best choice of standard is IEEE , because of its low communication overhead, small packet size, low energy consumption as well as low cost. 6 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

20 CHAPTER 2. BACKGROUND Before we further discuss about IEEE standard and its amendment for LR-WPAN in detail, it would be good enough to discuss briefly about some terminologies related to wireless communication. IEEE Wireless Standard Description Bluetooth Address the coexistence of WPAN with other technologies High Rate WPAN Low Rate WPAN Mesh networking Table 2.1: IEEE Wireless Standards LR-WPAN Bluetooth Wireless LAN Range 10-30m m 100m Data Throughput 0.25MBps 1 MBps 2-11 MBps Size Smallest Smaller Larger Cost $1 $10-$15 $40 Table 2.2: IEEE Wireless Standards Comparison Table Terminologies Wireless Nodes A wireless sensor within a network will be referred to as a wireless node. A wireless sensor node can either only be used for sensing data or for routing data to a destination which is out of the range of the source node by making use of appropriate network layer protocols optimised for wireless sensor nodes like RPL [15] or Rime [16]. Sometimes a wireless node can perform both the sensing and routing Network Topology The arrangement of wireless sensor nodes that suits a specific application in its working environment is referred to as the network topology. The network topology indicates the network co-ordinator or gateway, the end devices and also shows possible connections between different nodes and their neighbors Wireless Link In a wired communication medium there is a dedicated link or wire available between two communicating nodes. However in the wireless medium the concept is somewhat different. A wireless transceiver is usually equipped with a single antenna and can either transmit or receive at a time. In order to establish a wireless link, two important conditions needs to be satisfied. Firstly, the nodes that wish to communicate must be within the communication range of each other. Secondly, in order to communicate, the nodes must be tuned to the same frequency. In figure 2.1 the red dashed circle indicates the communication range of node A. Node A is tuned to a frequency say X Hz. Node B, D and E are within the communication range of node A. However since nodes D and B are tuned to the same X Hz frequency as that of node A, so only these nodes would be able to pick up signals from node A. On the other hand, node E although is within the communication range of A, would not be able to hear transmissions from node A since it is tuned to a different frequency Y Hz. Furthermore, node C would not be able to hear any transmission from node A, Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 7

21 CHAPTER 2. BACKGROUND since it lies outside the communication range. Based on this discussion we can say that when two nodes are able to communicate directly at a particular frequency, a wireless link exist between them. Figure 2.1: Wireless Link Transmission Collisions Transmission collisions can occur in a wireless transmission communication. Data from two nodes transmitting at the same time and frequency will collide at the third node also tuned to the same frequency. This is shown in figure 2.2. Node A, B and D are tuned to the same frequency X Hz. If node B is in the reception mode and both the nodes A and D transmit a packet to node B at the same time, the packets shall collide at the receiver of node B and cause corruption. This is sometimes referred to as hidden node collision or hidden node problem. It can be seen that both nodes A and D are out of the communication range of each other, however node B lies in the range of both. Node A or D would not be able to know who shall be transmitting first which is the reason of collision. Implementing software schemes like RTS/CTS [17, 18] and contention free transmission mechanism such as TDMA (Time Division Multiple Access) must be used. 8 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

22 CHAPTER 2. BACKGROUND Figure 2.2: Hidden Node Problem 2.2 Network OSI Model The Open System Interconnection (OSI) [19] model which was proposed by International Organisation for Standardisation forms the basis of the wireless sensor network protocol stack. The original model comprises of seven layers but since wireless sensors are resource constrained only five layers are sufficient as shown in figure 2.3. Following is a brief description of each of the five layers of the stack. It should be noted that each layer in the stack is assigned a specific set of task (layer specific algorithms like routing, etc) which it performs independently. However some information sharing between layers is also possible. (a) 7-Layer OSI Model (b) WSN Protocol Stack Figure 2.3: Network OSI Model Physical Layer The physical layer is responsible for defining and managing the connections between individual devices and their communication medium. The physical layer is responsible for frequency selection, carrier frequency generation, signal detection, and modulation and data encryption. All of these tasks are related with the transceiver [20]. Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 9

23 CHAPTER 2. BACKGROUND Data Link Layer or MAC Layer The data link or MAC (Medium Access Control) layer is responsible for implementing mechanism by which multiple nodes can be allowed to access the medium. In order to avoid collision during transmissions, only one node should be able to transmit at a given time and frequency channel. It is the responsibility of the MAC layer protocol to regulate the access of the frequency channel. Furthermore, this layer also implements certain error correction and error detection schemes. The IEEE is a Physical and MAC layer standard specifying the requirements and implementation of both of these layers. [20] Network Layer The network layer is mainly responsible for routing and establishing communication paths from source to destination by implementing certain routing algorithms. It should be noted that certain network topologies do not require a network layer for instance a star topology network, it is because all the end nodes communicate directly with the central node and a star network is essentially a single hop network. Since IEEE is a Physical and MAC layer standard, to enable full routing capabilities, standards and protocols such as ZigBee, RPL(Routing Protocol for Low- Power and Lossy Networks) [15] and Rime [16] can be used for nodes using IEEE as its PHY/MAC layers. Extensive research is also being conducted in the development of 6TiSCH stack which is enabling internet connectivity over IEEE PHY and MAC standard [20] Transport Layer The transport layer is mainly responsible for providing transparent and reliable communication between the source and destination nodes. It comprises of some of the well known protocols like UDP and TCP [20] Application Layer The application layer usually involves the user application which could be some kind of sensing or processing application. It can also request information from lower layers to make certain decisions or to check whether enough resources are available to meet application requirements [20]. 2.3 IEEE and IEEE e In order to make systems manufactured and developed by various vendors to operate and interact with each other, certain standards needs to be followed or realized. IEEE is an example of such a standard for Physical and MAC layer. This standard is designed for Low-Rate Wireless Personal Area Network (LR-WPAN) in which applications require low data throughput and devices have low computational resources. This standard lays down the specifications for only the Physical and MAC layers of OSI model. This standard is a popular choice for low power applications. In this section we shall explain the main concepts of IEEE standard protocol and then discuss about the important features introduced in the IEEE e amendment Devices According to the IEEE standard, there are two types of devices that can be a part of such a network. One is the Full Function Device (FFD) and the second one is Reduced Function Device (RFD). 10 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

24 CHAPTER 2. BACKGROUND Full Function Device (FFD) A full function device implements the complete protocol stack. It can serve as the Personal Area Network (PAN) coordinator and manage the network like initiating the network, accept association requests, etc. It can also function as coordinator only node, that does everything except initiating a network. An FFD can talk to other FFDs and RFDs Reduced Function Device (RFD) A reduced function device is implemented by limited resources and reduced protocol stack. Its main task is sensing related. It cannot serve as PAN coordinator and usually is the end device in a network topology. A RFD can only talk to a FFD IEEE Network Topologies IEEE supports a variety of topologies like star, tree, cluster tree and mesh. It should be noted that a network must at least contain two nodes and one of it should act as a PAN coordinator Star Topology In a star topology there is only one PAN coordinator which is a full function device and is surrounded by remaining end devices of the network. In this topology, the end devices can only communicate with other end devices through the PAN coordinator. The application software in the PAN coordinator device is responsible to relay the message to the appropriate end device. Figure 2.4: Star Topology [21] Tree Topology In a tree topology, each node has a parent child association except the PAN coordinator that has no parent. The end devices are at the last level of the tree and does not have any children. Every node can only talk to its parent or its children. A parent node can act as a local coordinator of its children as shown in figure 2.5 marked in red. Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 11

25 CHAPTER 2. BACKGROUND Figure 2.5: Tree Topology [21] Mesh Topology In a mesh topology the nodes are placed without any specific network structure. The devices can communicate directly with each other and there may be more than one path from a source node to the destination node. However there must be at least one PAN coordinator to manage the network. Figure 2.6: Mesh Topology [21] Data Rate and channels The IEEE operates in the ISM (Industry, Scientific and Medical) license free band. This band is divided into three frequency ranges each with multiple channels as shown in table 2.3. Further, in theory the achievable maximum data rate is 250 kbits/sec when operated at a frequency of 2.4 GHz. However in practice due to asymmetric links packets may be dropped and retransmissions may occur. According to the calculations made by NXP in its IEEE stack guide [22] with a PER (Packet Error Rate) of 25% and only one retransmission allowed, the data rate comes out to be 101 kbps. 12 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

26 CHAPTER 2. BACKGROUND Frequency Band Number of Channels Data Rate kbps 868 MHz MHz GHz Table 2.3: ISM License Free Band Figure 2.7: IEEE frequency bands [23] Addressing Modes According to the IEEE standard, devices participating in a network have two types of addresses as follows IEEE MAC Address or Extended Adrress This is a 64-bit address assigned by device manufacturers according to the IEEE standards and uniquely identifies a device. No two devices in the world can have the same address.[21] Short Address This is a 16-bit address and is used to uniquely identify a node within a network. This address is local to the network which means that two nodes operating in two different networks can have the same short address. The short address is normally allocated by the PAN coordinator or coordinator of the network to which the end node wishes to associate.[21] Data Frame Structure The data frame structure of the IEEE PHY/MAC standard is shown in figure 2.8. It can be seen that the packet is divided into several sections. The synchronization header (SHR) contains a preamble sequence of 4 bytes. The SHR is to enable the receiver to synchronize with the incoming signal or packet. The start of frame delimiter signals the end of preamble after which the actual data packet starts. The MPDU is the MAC protocol data unit which is parsed by the MAC layer. A detailed figure of the MPDU structure is shown in figure 2.9. The maximum size of the MAC layer packet is 127 Bytes out of which the maximum data payload that a MAC frame can contain is 102 bytes and the remaining 25 bytes contributes towards the header of the packet. Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 13

27 CHAPTER 2. BACKGROUND Figure 2.8: IEEE data frame[24] Figure 2.9: IEEE MAC frame[7] 2.4 IEEE e - TSCH The IEEE PHY and MAC layer standard was first introduced in the year With the advent of technology, the demands of various applications increased in terms of low power consumption, reliability and latency. In order to meet these requirements and introduce new concepts and features into the already existing IEEE standard a new working group was formed in 2008 (Task Group 4e) to propose amendments in the previous standards to better suit the industrial requirements. The amendments were published by the name IEEE e [7] in the year The unique key feature of this amendment is the introduction of the concept of Time slotted and channel hopping (TSCH) communication. TSCH is very effective in mitigating multi path fading and interference at a particular frequency. The standard describes how TSCH works, however creating a TSCH schedule has been left open since it depends on the application requirements and network topology Key Features of Time Slotted and Channel Hopping Following are some of the highlights and benefits in combining channel hopping scheme with time slotted access 1. Time slotted access enables the nodes to communicate and access the physical medium at fixed intervals or slots in time. This reduces collisions and ensures a contention free access. 2. Transmitting data using different channels at the same time increases the capacity of the network and reduces delays. 3. Using multiple channels for each communication reduces the multi path fading effects and interference due to various environmental conditions. This increases the reliability of the communication. 14 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

28 CHAPTER 2. BACKGROUND TSCH Concepts Following are some of the important terminologies and concepts related to TSCH Timeslots and Slotframe In TSCH a frequency or a channel is sliced into multiple slots in time which is called a time slot. Combining multiple time slots forms a slotframe. Each slot is assigned to a source and destination node pair. A source node transmits at its assigned slot and the destination node wakes up in the receiving mode in that slot. If a packet is dropped the re transmission occurs in the time slot of the next slotframe. A timeslot duration is long enough to transmit a packet of maximum payload size and to receive the corresponding acknowledgement. Typical duration of time slot is around 10 msec but it can be configurable and depends on the hardware platform and application requirements. For instance the T-mote sky hardware requires the TSCH time slot to be of atleast 15 msec. According to the IEEE e standard a network can contain more than one slotframe each containing different number of timeslots. In that way a network can cope with different bandwidth requirements. The one with less time slots providing more bandwidth and much lower delay in transmission of the packet. A slot in a slotframe can be marked as transmit only, receive only and shared. In transmit only slot the transmitting node cannot receive a packet in case the transmit buffer is empty. In a receive only slot the node assigned is only allowed to receive and not transmit. If a slot is marked shared it means more than one nodes are allowed to transmit at the same time and frequency channel, however this might cause collision which is resolved by using an exponential back-off retransmission algorithm called TSCH CSMA-CA [7]. Further a link may be assigned more than one time slot in a slotframe Absolute Slot Number Each slot in the slotframe is marked with a unique slot number called the absolute slot number (ASN). The ASN is used to have a global view of the current time slot in the network and helps in synchronization for nodes that wants to join a network. The ASN is continuous and does not reset after a slotframe ends. It can be viewed as the total number of timeslots elapsed since the start of the network. Figure 2.10 shows an example schedule containing a single slotframe with four time slots. The rows represents two different channel offsets. It can be seen that a link (source destination) can be assigned more than one time slots in a frame, e.g. C D marked in red. It can also be seen that two different links can simultaneously be allowed to operate in a shared slot, e.g. A D and E F in ASN 2 marked in orange. Figure 2.10: TSCH slotframe, ASN and timeslot Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 15

29 CHAPTER 2. BACKGROUND Figure 2.11 shows the time slot operation in a TSCH based network. It can be seen that in each timeslot, the receiving node starts sensing the channel for packets after the startup time has elapsed. After the guard time elapses the transmitting nodes starts transmitting. In a TSCH network, the transmitting node waits for an acknowledgment from the receiving node at the end of transmission. If an acknowledgement is not received within a defined time, then the packet is retransmitted at the next time slot allocated to the same sender-receiver pair. It should be noted that in case of a broadcast link the sender does not wait for an acknowledgement. Figure 2.11: TSCH time slot operation [25] Channel Hopping According to the IEEE e standard there are 16 channels that can be used for communication at 2.4 GHz frequency. Depending on national legislation, not all channels might be available to use. Each frequency channel is identified by a channel offset. Each transmission takes place at a different frequency channel, which is picked up from a list of channels called the hopping sequence list. The hopping sequence list may include a subset of those 16 available channels with good communication conditions that can be obtained from different measurement techniques. The following equation is used to compute the next transmission channel. In order to ensure that communications take place at all the available frequency channels in the channel hopping sequence list, the number of time slots in a slot frame (or the slotframe size) must be relatively prime to the length of the channel hopping sequence list [8]. Figure 2.12 shows an example of channel hopping scheme. CH = HoppingSequenceList [(ASN + channeloffset) % machoppingsequencelength] (2.1) Figure 2.12: Channel Hopping Example [26] Enhanced Beacon Enhanced Beacons (EB) are special beacons which a PAN or simple coordinator transmits at regular intervals to advertise about the network. A device can detect an EB by looking at the 16 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

30 CHAPTER 2. BACKGROUND frame version field of the packet since for an EB it is set to 0x0b10 (Hex) [7].The EBs contain important information regarding the network, such as the current TSCH schedule, number of slotframes, slotframe size, current ASN and schedule information of the links (timeslot and channel offset). This information is important for a newly joining end node to smoothly integrate with the network. 2.5 Contiki OS Contiki [27] operating system was designed for resource constrained devices like wireless sensor nodes. The latest stable version 3.x [28] also includes the implementation of TSCH according to the IEEE e standards. Contiki OS supports a wide variety of radio enabled platforms. Its library includes a complete TCP/IP stack for radio network communications. Some of the well known IETF (Internet Engineering Task Force) network and application standards implemented in its library are 6LowPAN, TCP, UDP, RPL, CoAP and IPv6 [28]. The Contiki OS has been implemented using the C language. It has an event driven kernel which is used to load and unload processes at runtime [27]. Contiki applications are created using processes. Processes in Contiki can be either cooperative or preemptive [29]. A cooperative process continues execution until it has finished before another cooperative process can start execution. However in case of occurrence of an interrupt from an external source or any timer expiration the preemptive code shall preempt the currently executing cooperative process which shall be spawned back upon completion of the preemptive code. In addition to this, Contiki also supports multi threaded message passing in the form of event generation or process polling instructions. Figure 2.13 shows an example of execution of a Contiki process. In the figure it can be seen that process B cannot start until process A completes its execution at time t 1. It can be seen that while process B is executing, an interrupt occurs at time t 2. At this point process B is preempted and the interrupt service routine (ISR) is executed. After the ISR is executed, process B resumes its execution. Figure 2.13: Contiki Process Example [29] Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 17

31

32 Chapter 3 Related Work IEEE e standard is relatively a new concept. As mentioned earlier this standard specifies how a TSCH based network should be executed, however the creation of Tx/Rx schedule, which is the assignment of time slots and frequency offsets to different network links, has been left to be handled by the upper layers of the OSI stack. Since the publishing of IEEE e standard in 2012, researchers have been investigating different methods for generating suitable schedule based on different application requirements. The algorithms proposed to compute a TSCH schedule can be classified into two categories, the decentralized or distributed approach and the centralized approach. In centralized approach, a central management node, usually the PAN coordinator, is in charge of computing and maintaining the schedule. The PAN coordinator in this case needs to have a global knowledge about the network topology, which includes the required links between different nodes, traffic requirements and application specific configuration information [25]. Fiore et al. [30] proposed a multiple channel scheduling algorithm for WirelessHART multi-hop networks. WirelessHART [31] is a wireless extension of HART protocol suite for industrial networking devices. WirelessHART also makes use of TDMA scheme like TSCH. Fiore et al. [30] proposed an algorithm which assigns the first available channel and time slot to the link currently being considered, however Palattella et al. [32] suggested that this kind of approach might not meet the requirements of industrial IoT applications. Palattella et al. [32] on the other hand proposed a traffic aware centralized scheduling algorithm for IoT based applications. The highlight of this scheduler is that it assigns timeslots and frequency based on the traffic of packets generated by each node which is computed before hand using graph coloring techniques. The centralized approach is more suitable for static networks in which the number of nodes and required links are known beforehand. In decentralized or distributed approach the network nodes forms a TSCH schedule table based on local information. Each node in the network has a table of its own. This kind of approach is suitable for moving/mobile networks in which nodes might join and leave the network quite frequently. Tinka et al. [33] and Accettura et al. [34] have made contributions in proposing distributed scheduling mechanisms for IoT applications. Orchestra [35] is also a distributed scheduler, which is designed for RPL (Routing Protocol for low power lossy networks) based TSCH networks. In Orchestra the nodes maintain their schedule autonomously based on their RPL parents and neighbors. In Orchestra multiple slotframes of different lengths are available. Each slotframe is dedicated for a specific type of traffic like TSCH Enhanced Beacons, RPL traffic or application data. Each node in the network select slots based on some predefined rules which are Common Shared Slot Rule, Receiver Based Shared Slot Rule and Sender Based Shared Slot Rule. These scheduling rules are designed to reduce contention and to adapt to dynamic networks. The above mentioned centralized and distributed schedulers were implemented specifically for the IoT applications in which RPL (Routing Protocol for low power lossy networks) is used at Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 19

33 CHAPTER 3. RELATED WORK the network layer. Furthermore, Orchestra [35] (software library available in the latest Contiki OS release), as described above, considers a tree like topology and is coupled with IPv6 network layer library of Contiki OS. Moreover, the scheduling techniques described above do not consider the dynamism of the wireless medium, instead it only takes into account the amount of data traffic that each node generates and apply different rules or techniques to generate a schedule. Our aim in this thesis is to implement a centralized TSCH scheduler that 1) takes into account the bandwidth requirement of applications, 2) can function independent of network topology and 3) takes into account the changes in network link quality and adjusts the schedules dynamically. This work involves not only the development of scheduler software but also extensive modification in the Contiki OS TSCH library files to make it compatible with our design. The novel feature in our approach is that our designed scheduler is able to respond to network link quality variations by using Binomial theorem to compute the probability of a successful transmission. In this way the scheduler is able to adjust the TDMA timslots and channel offset assignments of network links in order to increase the chance of a successful transmission. The related work is summarised in table 3.1. Related Work Scheduling Mechanism Network Topology Network Layer Network Link Quality Consideration TASA [32] Centralized Independent IPv6 with RPL only No Work by Fiore et al. [30] Centralized Independent WirelessHART network layer No Orchestra [35] Distributed Independent IPv6 with RPL only No DeTAS work by Accettura et al. [34] Distributed Independent IPv6 with RPL only No Dynamic TSCH scheduler (Thesis Work) Centralized Independent Tested with Rime network layer in Contiki OS Yes Table 3.1: Related work comparison 20 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

34

35 Chapter 4 Centralized TSCH Scheduler Implementation In this section, we explain the implementation of a centralized TSCH scheduler in detail. 4.1 Requirements Following are the requirements for the scheduler. 1. Given a list of links with source and destination addresses alongwith bandwidth requirements, the scheduler should be able to assign suitable timeslots and channel offsets to each of the links in the list. Furthermore, the scheduler must take into account the network wide reliability metric assigned by the developer based on certain application standards, for maintaining QoS, while assigning slots to the links. 2. The scheduler must function independent of the network topology. 3. The scheduler must take the constraints for contention free transmission into account. 4. The scheduler must be able to take into account the network quality variations and adjust the allocated time slots accordingly in order to satisfy the QoS metric. This can be done by re-running the scheduler during runtime at regular intervals. 4.2 Design Considerations Following are some of the key design consideration that were made. 1. As mentioned earlier in chapter 3, the TSCH scheduler can be of two types, centralized or distributed. In our implementation we selected to proceed with a centralized approach since we are considering static networks with predefined parameters and are not dealing with mobile or moving networks initially. 2. In order to maintain a global view of network timeslot and frequency channel allocations, the central management node makes use of a 4D matrix implemented in software, which stores the global schedule information. This implementation might be memory inefficient but is rather easy to operate on and manage in software. An efficient approach is to use linked list which shall save memory but would increase the software coding complexity. 22 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

36 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION 3. In order to store the first and second hop neighbor of each node, a 2D matrix is used with appropriate structure fields. This information will help in creating a schedule. 4. In order to share the schedule with the end nodes, the final generated schedule is stored in a 2D matrix with link information. The dimension of each cell in the matrix is represented by a timeslot and channel offset. 5. The algorithm is implemented considering only one slotframe. However the IEEE e standard specifies that more than one slotframe can also exist in the same network. This feature can be considered as a future work. 4.3 Hop Neighbors Neighbor information is very critical in wireless sensor networks. It is used by MAC layer protocols to decide which node is allowed to access the wireless medium at a particular time instant. Furthermore, this information is also used by network layer protocols in determining the routing path. In our scheduler design we are typically interested in information about nodes that can be reached in two hops. A node n is said to be a First Hop Neighbor of a node m, if node n lies within the communication range of node m and a direct link can be established between node m and node n. On the other hand a node n is said to be a Second Hop Neighbor of a node m, if node n lies outside the communication range of node m but it can be reached through one intermediate node y. In this case a direct link can be established between node m and node y as well as between node n and node y. However there is no direct link between node m and node n. Node m can only communicate with node n through node y. This is illustrated in figure 4.1. It can be seen that for node m, node y is the first hop neighbor and node n is the second hop neighbor. For node n, node y is the first hop neighbor and node m is the second hop neighbor. However, node y only has two first hop neighbors which are node node m and node n. Figure 4.1: Hop Neighbors Example Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 23

37 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION 4.4 Transmission Constraints Following are the transmission constraints that needs to be taken into account in order to obtain a contention free schedule. 1. When a node n wishes to transmit a packet, none of its first hop neighbors should be transmitting at the same time and the frequency channel offset that is used by node n. This is sometimes referred to as Neighbouring Node collision. For example in figure 4.2, if node n wishes to transmit data to node y and node m wishes to transmit data to node p, then node m should not be transmitting at the same time and frequency channel as that of node n. This is because it may corrupt the data at node p, since node p can directly listen to both node n and node m. The arrows in the figure between two nodes indicates that a wireless link exists and direct communication is possible between the two nodes. 2. When a node n wishes to transmit a packet, none of its second hop neighbor should be transmitting at the same time and the frequency channel offset that is used by node n. For example in figure 4.2, if node y wishes to transmit data to node n and node m wishes to transmit data to node p, then node m should not be transmitting at the same time and frequency channel as that of node y. This is because it may corrupt the data at node n, since node n can directly listen to both node m and node y. In this example node m and node y are second hop neighbors of each other. Figure 4.2: Transmission Constraint Example 4.5 Network Model and Notation The main aim of the scheduler is to assign frequency channel offset and timeslots to all the links in the network, irrespective of the topology. Let us denote the total number of nodes in the network to be N. Each node in the network is uniquely identifiable with 64-bit address or a 16 bit short address as indicated in the IEEE standard. For simplicity we denote an individual node with n i where 0 i < N. We denote a link between two nodes as L i,j where i, j ; 0 i, j < N. L i,j indicates a link from source or transmitting node n i to destination or receiving node n j. It should be noted here that a link comprises of a pair of nodes; a source node and a destination node and the destination node may not be the final destination of a data packet. It is the job of the network layer to include appropriate routing protocols to route packets to the final destination. 24 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

38 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION The scheduler algorithm shall mainly work around the link information. Furthermore, considering a TSCH network, let S be the slotframe size and t k be the kth timeslot where 0 k < S. Let F be the total number of frequency channels available and f m be the frequency channel at offset m where 0 m < F. We also denote the main resource manager 4-D matrix as M rm and each individual cell as m sdft, where s,d,f,t N and s,d N (total number of nodes in the network), f F (total number of frequency channels) and t S (slot frame size). Let us denote the 2-D neighbor information matrix as M negh and each individual cell as m qr(negh), where q, r N and q, r N (total number of nodes in the network). The notations are summarised in table 4.1. Notation N n i L i,j S t k F f m M rm m sdft M negh m ij(negh) M res m qr(res) T timeslot T slotframe P size P period Description Total number of nodes in the network i-th node in the network Link between source node n i to destination node n j Slotframe size kth timeslot in the slotframe Total number of frequency channels Frequency channel at offset m Main 4D resource manager matrix A cell of 4D resource manager matrix Neighbour information matrix A cell of neighbour information matrix Resultant 2D schedule matrix A cell of resultant 2D matrix Duration of timeslot in milliseconds Total duration of slotframe in milliseconds Size of data payload generated by application Interval at which packet is generated Table 4.1: TSCH Scheduler Notation 4.6 Data Structures In this section we, will describe the data structures that were used in order for the scheduler to make computations Main Resource Manager Array (strmtable) The main TSCH schedule is visualized in the form of a 4D matrix or array. This array is meant for the coordinator of the network (PAN) and contains the global view of the schedule of the whole network. It is arranged as strmtable[source Node ID][Destination Node ID][Frequency Channel Offset][Time slot]. The first dimension indicating source node ID, the second dimension indicating the destination node ID, the third dimension indicating the frequency channel offset and the fourth dimension indicating the time slot. The TSCH scheduler operates on this array and stores or marks the schedule for different links based on source and destination IDs. Each cell of the array is marked by an Enumerator type NO LINK, FREE, OWNED and BLOCKED. If there is no link between two pair of nodes, then all the frequency and timeslot indexes for the corresponding source and destination node IDs in the array are marked as NO LINK. For example if there is no link from node id 2 to node id 3, then in the resource manager matrix M rm the cell m sdft = NO LINK where {s = 2, d = 3, f,t f F and t S}. Similarly if there is a link between two nodes, then initially for all the channel offsets and timeslot indexes for the Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 25

39 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION corresponding source and destination node IDs the cells are marked as FREE. When a slot is claimed, it is marked as OWNED and when it is blocked due to certain transmission constraints, it is marked as BLOCKED. In this array the cells with same source and destination ID are reserved for broadcast links. For example if node ID 2 wants to have a broadcast link then all those cells m sdft shall be used such that s = 2, d = 2, f,t f F and t S. Figure 4.4 shows a visualization of the 4D matrix for a system configured with four source,destination,frequency channel offsets and timeslots. Figure 4.3: Main Wireless Resource Manager 4D Matrix Visualization //! Enum to indicate status of each cell in the resource manager matrix typedef enum { NO_LINK, //! No Link exist FREE, //! Slot not allocated OWNED, //! Slot owned by a <src, dest > pair BLOCKED, //! Slot blocked because of constraints } RM_TABLE_ENUM ; typedef struct { RM_TABLE_ENUM enslotstate ; //! Slot State LINK_ATTRB_STRUCT_RESULTANT unblockedby ; //! To indicate which link blocked the cell } RM_STRUCT ; static RM_STRUCT strmtable [ MAX_NUM_OF_NODES ][ MAX_NUM_OF_NODES ][ MAX_NUM_OF_FREQ_CHNL ][ MAX_NUM_OF_TIME_SLOTS ]; Listing 4.1: Wireless Resource Manager 4D matrix and supporting Enumerator declarations Neighbour Node Information Array In order to have a contention free schedule allocation, it is necessary to know the first and second hop neighbors of a node and also to enforce the transmission constraints explained in section 4.4. The neighbour information table is visualized as a 2D matrix or array, ennegh- Info[NODE ID][NODE ID]. The array is arranged as source and destination nodes. Each cell contains an Enumerator value NOT LINKED,FIRST HOP,SECOND HOP and SAME SRC DES. For example if node Id 1 has a link to node ID 2, then the cell m ij(negh) shall be marked as FI- IRST HOP for i = 1 and j = 2. Taking another example if node ID 1 has a link to node ID 2 and 26 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

40 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION node ID 2 has a link to node ID 3, then the cell m 13(negh) shall be marked SECOND HOP. The value SAME SRC DES is reserved for cells like m 11(negh) where i = j. Figure 4.4: Example of 2D Neighbour Table for a network with four nodes //! Enum to indicate the hop neighbors in the hop table typedef enum { NOT_LINKED, //! No link between source and destination FIRST_HOP, //! First Hop Neighbor SECOND_HOP, //! Second Hop Neighbor SAME_SRC_DES //! Used to fill out when same source and destination nodes are compared e. g. 0 with 0 or 1 with 1 etc } HOP_INFO_ENUM ; static HOP_INFO_ENUM enneghinfo [ MAX_NUM_OF_NODES ][ MAX_NUM_OF_NODES ]; Listing 4.2: Neighbour Information 2D matrix Enumerator declarations Resultant Schedule 2D Array The 4D matrix is used by the PAN coordinator of the network to manage the schedule. In order to share the schedule with the end nodes, the outcome is stored in a resultant schedule 2D array. This is because sharing the entire 4D array to the end nodes is not feasible since the end node is usually a reduced function device with less memory on board. The resultant 2D array is arranged as stscheduletable [MAX NUM OF FREQ CHNL][MAX NUM OF TIME SLOTS], one dimension being the frequency channel offset and the other being the time slots. Each cell within the table contains the source node and the destination node of a link. Currently each time slot can be owned by only one link. According to the IEEE e standard each timeslot can be shared by more than one link, however this feature is left for future work. //! Structure to represent a link for final schedule table typedef struct { unsigned char unsource ; //! Source Node unsigned char undest ; //! Destination Node } LINK_ATTRB_STRUCT_RESULTANT ; static LINK_ATTRB_STRUCT_RESULTANT stscheduletable [ MAX_NUM_OF_FREQ_CHNL ][ MAX_NUM_OF_TIME_SLOTS ]; Listing 4.3: Neighbour Information 2D matrix Enumerator declarations 4.7 System Configuration Parameters In order to have a properly functional TSCH protocol, certain system configuration parameters needs to be known. These are the total number of nodes in the network N, the slotframe size S, Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 27

41 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION number of frequency channel offset F, total number of links in the network and duration of one timeslot. For our system we consider a star network topology in which the number of directional links can be written as a function of total number of nodes in the network as 2N-2 where N TSCH Scheduling Algorithm The scheduling algorithm functions in several stages and each stage is explained in the following sections. Figure 4.5 shows a high level overview of the scheduler working phases. The system configuration parameters which are given as an input to the scheduler are list of links with P size and P period information, number of network nodes N, slotframe size S, Number of frequency channel offset F, duration of timeslot T timelsot and the total number of links. For better understanding we explain the algorithm with the help of an example network shown in figure 4.6. Figure 4.5: High level flow diagram of TSCH scheduler 28 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

42 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION First and Second Hop Neighbor Search The first stage of the algorithm after receiving the system configuration is to extract the neighbor information from the provided list of links. The first hop and second hop neighbor for each node in the network is determined by the provided list of links. Searching for first and second hop neighbors is necessary since it is important to avoid interference from neighbors by assigning different timeslots and frequency channels. To search for neighbors the following condition is used. 1. If a link L i,j exist between node n i and n j, then both the nodes are first hop neighbors of each other since they can directly communicate with each other. 2. Any node n k is a second hop neighbor of node n i if there exist a link L j,k between node n j and n k as well as there exist a link L i,j between node n i and n j. Figure 4.6: Network Example Figure 4.7: First and Second Hop Neighbors Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 29

43 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION Pseudocode Following is the pseudocode for neighbor node extraction from the list of links. Algorithm 1 Gather Neighbor Information Let L be a list of links L = {l 0,l 1,...,l k } and l total be the total number of links l k has two fields source node ID n sk and destination node ID n dk then 1: for k = 0 upto l total do 2: if n sk!= n dk then 3: m ij(negh) First Hop (where i= n sk and j = n dk ) 4: m ij(negh) First Hop (where i= n dk and j = n sk ) 5: end if 6: end for 7: for i = 0 upto N do 8: for j = 0 upto N do 9: if i=j then 10: m ij(negh) SAME SRC DES 11: else if m ij(negh) == First Hop then 12: for q =0 upto N do 13: if q == i OR q == j then 14: continue 15: else if m jq(negh) == First Hop AND m iq(negh) == NOT LINKED then 16: m iq(negh) SECOND HOP 17: end if 18: end for 19: end if 20: end for 21: end for Schedule Assignment The second stage of the algorithm is to search for a FREE slot in the main 4D resource manager matrix. The algorithm picks the first link from the list and looks up the 4D table against the source and destination node IDs for a free frequency channel and timeslot. The number of timeslots required by a link depends on the bandwidth requested (or the number of packets generated per second). The bandwidth requested by an application is provided as the period of packet generation in milliseconds. The payload size of the packet which should not exceed 100 bytes. The number of slots required (S req ) is calculated using the following formula. T Slotframe = S * T timeslot (4.1) S req = (T Slotframe * P size )/(P period *100) (4.2) In equation 4.1 T Slotframe is the duration of the slotframe in milliseconds, S is the slotframe size and T timeslot is the duration of one timeslot. In equation 4.2 P size is the packet size generated by the application and P period is the period with which the packet is generated. The search is done starting from the first column of the 4D matrix corresponding to the source and destination nod IDs and traversing through each row in search for a free slot. Once a slot is found it is marked as OWNED. In case a schedule could not be found, a message is sent to the 30 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

44 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION higher layer to take appropriate measure based on the application. For a link L ij in the resource manager Matrix M rm for a cell m sdft = FREE we do m sdft = OWNED ; where s = n i and d = n j by traversing through frequency channel offset f and time slot offset t. Let the selected frequency channel offset be f m and selected time offset be t k. From the example as shown in figure 4.6, let us consider that the list of links provided to the scheduler is L = {L 0,1, L 0,2, L 1,0, L 1,2, L 1,3, L 3,1 }. Initially the entries of the 4D matrix corresponding to this link which is m 01ft where f F and t S, is FREE. Assuming that this link requires only one slot, the algorithm shall assign the cell m 0100 = OWNED which is shown in figure 4.8. Figure 4.8: Assigning a free slot Pseudocode Following is the pseudocode for slot assignment in 4D matrix. Algorithm 2 Slot Assignment in 4D Matrix Let source node ID be n s, destination node ID be n d and required number of slots be S req INPUT: n s,n d,s req 1: TotalSlotCount = S * F 2: Allocated = 0 3: Temp = 0 4: if S req > 0 then 5: for t = 0 upto (S-1) do 6: Temp = 1 7: for f = 0 upto (F-1) do 8: if m nsn d ft == FREE AND TotalSlotCount > 0 then 9: m nsn d ft = OWNED 10: S req = S req -1 11: TotalSlotCount = TotalSlotCount -1 12: Block Other Link Slots(n s,n d,f,t) (see section ) 13: Block Own Link Slots(n s,n d,t) (see section ) 14: Block Link Based On Constraints(n s,n d,f,t) (see section ) 15: if s req == 0 then 16: Allocated = 1 17: else 18: t = t : end if Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 31

45 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION Algorithm 2 Slot Assignment in 4D Matrix (continued) 20: Temp = 0 21: break 22: end if 23: end for 24: if Temp == 1 then 25: t = t : end if 27: if Allocated == 1 then 28: break 29: end if 30: end for 31: end if Blocking of slots for links interfering with the reference link L ij In the third stage for all the available links in the provided list (except the one for which the schedule is being determined), for all the first and second hop neighbors of the source node of the link being considered, we block exactly the same slot that was assigned to the link in the second stage. This is because interference can occur if a source node and its second hop neighbor are transmitting to the same or different destination node at the same time and frequency channel. Furthermore, we must also prevent the first hop neighbors of the source node (of the reference link) from transmitting at same time and frequency channel offset that was allocated to the source node. For a link L ij considered in the second stage, in the resource manager Matrix M rm, for every cell m sdft, we do m sdft = BLOCKED ; where s n i, d n j, f = f m and t = t k, which is the same for m sdft = OWNED for link L ij. Figure 4.9 shows the result of this stage in red, with L 0,1 as the reference link. Figure 4.9: Blocking of Slots at same time and frequency for other links 32 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

46 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION Pseudocode Following is the pseudocode for blocking of slots of other links. Algorithm 3 Block Other Link Slots Let L be a list of links L = {l 0,l 1,...,l k } and l total be the total number of links, l k has two fields source node ID n sk and destination node ID n dk, f be the frequency channel offset and t be the timeslot offset. Furthermore, let n sl be the source node and n dl be the destination node of the reference link then: 1: for k=0 upto l total do 2: if (n sk!= n sl ) AND (n dk!= n dl ) then 3: if (m nsl n sk (negh)!= NOT LINKED)AND (m nsk n dk ft == FREE) then 4: m nsk n dk ft = BLOCKED 5: end if 6: end if 7: end for Blocking of unassigned slots in a column for the reference link L ij In the fourth stage, for the link L ij that was considered in second stage, we block all the nonassigned or FREE slots (if any) of the same column or time slot index it was assigned a schedule by traversing through all the frequency offsets. This is because a transmitter normally is equipped with a single transceiver and cannot transmit or receive data from multiple frequency channels at the same time. For a link L ij considered in the second stage, in the resource manager Matrix M rm for a cell m sdft, we do m sdft = BLOCKED ; where s = n i, d = n j, f f F and f f m. Here t is the same as t k obtained in the second stage for link L ij. Figure 4.10 shows the result of this stage in red, with L 0,1 as the reference link. Figure 4.10: Blocking of unassigned slots in a column for link currently being considered Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 33

47 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION Pseudocode Following is the pseudocode for blocking of un-assigned slots of a reference link. Algorithm 4 Block Own Link Slots Let n sl be the source node, n dl be the destination node of the reference link and t be the timeslot offset then: Input: n sl,n dl,t 1: for f=0 upto F do 2: if (m nsl n dl ft!= OWNED) then 3: m nsl n dl ft = BLOCKED 4: end if 5: end for Blocking of slots at same time offset but different frequency channel for links other than the reference link L ij In the fifth stage, except for the link L ij that was considered in second stage, we decide whether the source nodes in all the other remaining links can transmit at the same time offset but at a different frequency channel than the one assigned to link L ij. For this, we compare the source and destination node IDs (or addresses) of the link L ij with the source and destination IDs with all the remaining links. The following four cases arises in which the transmission is not possible. While comparing link L ij with some other link L qr 1. If node n i = n q, this means that source node of link L ij is the same as the source node of link L qr. In this case, for the link L qr we block all the slots at the same time and all frequency channels for which the link L ij was scheduled. This is because a source node n i cannot transmit at two different frequencies at the same time. 2. If node n i = n r, this means that source node of link L ij is the same as the destination node of link L qr. In this case, for the link L qr we block all the slots at same time and all frequency channels for which the link L ij was scheduled. This is because a source node n i cannot transmit and receive at the same time. 3. If node n j = n q, this means that destination node of link L ij is the same as the source node of link L qr. In this case, for the link L qr we block all the slots at same time and all frequency channels for which the link L ij was scheduled. This is because a source node n q cannot transmit and receive at the same time. 4. If node n j = n r, this means that destination node of link L ij is the same as the destination node of link L qr. In this case, for the link L qr we block all the slots at same time and all frequency channels for which the link L ij was scheduled. This is because a destination node n j cannot receive from two different sources at same time (Hidden Neighbor Problem). For a link L ij considered in the second stage, in the resource manager Matrix M rm for a cell m sdft we do m sdft = BLOCKED ; where s n i, d n j, f f F and f f m. Here t is the same as t k obtained in the second stage for link L ij. Figure 4.11 shows the result of this stage in red, with L 0,1 as the reference link. 34 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

48 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION Figure 4.11: Blocking of slots at same time and different frequency channel for other links At the end of this stage for the example network being considered the 4D resource manager matrix looks similar to as shown in figure Figure 4.12: After completion of algorithm Pseudocode Following is the pseudocode for blocking of slots at same time offset but different frequency channel offset for links other than the reference link. Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 35

49 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION Algorithm 5 Block Links Based On Constraints Let L be a list of links L = {l 0,l 1,...,l k } and l total be the total number of links, l k has two fields, source node ID n sk and destination node ID n dk. Let t be the timeslot offset. Furthermore, let n sl be the source node and n dl be the destination node of the reference link then Input: n sl,n dl,t 1: for k=0 upto l k do 2: if (n sk == n sl ) OR (n sk == n dl ) OR (n dk == n sl ) then 3: if (n dk == n dl ) OR (n sk == n dk ) OR (n sl == n dl ) then 4: for f=0 upto F do 5: if m nsk n dk ft = FREE then 6: m nsk n dk ft = BLOCKED 7: end if 8: end for 9: end if 10: end if 11: end for 4.9 Generating the Resultant Schedule In the final step, the generated schedule is copied into the resultant 2D array M res or stscheduletable [MAX NUM OF FREQ CHNL][MAX NUM OF TIME SLOTS] as mentioned in section In this array, for all the links provided in the list m qr(res) = L ij, where q = f and r = t from the main resource manager 4-D matrix cell m ijft = OWNED, where s = i, d = j from the link L ij. The contents of the final resultant schedule table for the example shown in figure 4.6 is shown below. Figure 4.13: Final generated schedule in the resultant 2-D Table Pseudocode Following is the pseudocode for generating the final 2D resultant table. Algorithm 6 Generating 2D Resultant Table Let L be a list of links L = {l 0,l 1,...,l k } and l total be the total number of links, l k has two fields, source node ID n sk and destination node ID n dk. Furthermore, let n sr be the source node field and n dr be the destination node field in the 2D resultant table m qr(res) then 1: for k=0 upto l k do 2: for f=0 upto F do 3: for t=0 upto S do 4: if m nsk n dk ft = OWNED then 36 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

50 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION Algorithm 6 Generating 2D Resultant Table (continued) 5: if n sk!= n dk then 6: m ft(res).n sr = n sk 7: m ft(res).n dr = n dk 8: else 9: m ft(res).n sr = n sk 10: m ft(res).n sr = 0xFF (indicating a broadcast link) 11: end if 12: end if 13: end for 14: end for 15: end for 4.10 Reliability One of the requirements of the scheduler was to take the network variations into account and adjust the slot assignments such that it meets the bandwidth requirement for the requested network links. The condition of wireless medium is dynamic and the links quality change over time. Some of the factors that influence the link quality are interference from other devices that are transmitting at same time and frequency channel, and environmental factors that causes diffraction and reflection of waves. Since the wireless links quality changes over time, there is always a possibility of failure in transmission in each timeslot of a TSCH network. In order to determine the probability of a successful transmission, we make use of the famous Binomial Probability formula which is based on Bernoulli trials. A Bernoulli trial is a set of distinct experiments or events that has only two possible outcomes either a success or a failure. If n is the number of distinct bernoulli trials, p be the probability of success, k be the number of successes in n trials then the Binomial probability equation is given as shown in equation 4.3. P (k) = ( ) n p k (1 p) n k (4.3) k In our implementation of the scheduler, we are interested in knowing the number of extra slots assignment that needs to be done such that the probability of transmission success reaches a certain level (requested by the higher layers of the stack). For this purpose, we will have to sum up the probabilities of successful transmission until the probability is equal to or greater than the reliability level that was set. For computing the network link quality, we make use of the average Packet Reception Ratio (PRR). PRR is a receiver side estimate of link quality and indicates the percentage of packets correctly received at a particular link. It can be found as shown in equation 4.4. In equation 4.4 Packet rcv is the total number of packets correctly received by the destination and Packet sent is the total number of packets sent by source to that destination. P RR = P acket rcv /P acket sent (4.4) In equation 4.4, PRR is computed at the node on which the scheduler is running. The period at which the PRR is computed is configurable and application dependent. In our prototype implementation, the PRR is computed after every 15 seconds based on the number of correctly received packets from a link. The average is computed after 1 minute and shared with the scheduler for processing. The scheduler computes the reliability and decides if redundant slots is needed to be assigned to a link. In order to compute redundant slots, we make use of a variant of Binomial Probability formula as shown in equation 4.5. Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 37

51 CHAPTER 4. CENTRALIZED TSCH SCHEDULER IMPLEMENTATION P (k) = p k R i=0 ( ) i + k 1 (1 p) i (4.5) k 1 In equation 4.5, p is the PRR obtained at the receiver side, in our case the receiver being the node on which the scheduler is running. Further k is the number of slots that was requested initially. R is the number of redundant slots required in order to meet the requested reliability level, based on the current PRR. In general R will be the number of redundant slots required for a particular link when the following condition is met P(k) R l, where R l is the reliability level set by the higher layers in the stack. In order to elaborate further and to emphasis on applicability of this approach, consider the following example. Let the reliability level for the network be set to R l = 0.9 also let us consider there is a link between node A B. Furthermore, based on the bandwidth requirements for a certain application, initially this link is assigned two slots by the scheduler which makes k = 2. Moreover let us consider that PRR for this link is p = 0.7. Table 4.2 below shows the probability of successful transmission when extra slots R is allocated to this link. The probability is calculated using equation 4.5. It can be seen that for this example, the link A B needs two extra slots (since P(k) R l ) in order to not only keep meeting the bandwidth requirements but also adhere to the network quality conditions. R (number of extra slots) P(k) Table 4.2: Reliability computation example Pseudocode Following is the pseudocode for computing the redundant slots. Algorithm 7 Redundant Slots Calculation For Reliability Let n s be the source node and n d be the destination node of the link and k be the initially requested slots by the reference link then Input: n s,n d,averageprr 1: if (AveragePRR > 0) AND (AveragePRR < R l ) then 2: if k > 0 then 3: value1 = AveragePRR k 4: end if 5: for P(K) < R l do 6: tmp1 = (i + k 1)!/(k 1)!i! 7: tmp2 = 1 AveragePRR i 8: value2 = (tmp1 tmp2) + value2 9: P(K) = value1 * value2 10: i : end for 12: Additional Slots = i 1 13: end if 14: return Additional Slots 38 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

52

53 Chapter 5 Evaluation and Results In this section, we explain the experiments performed in order to evaluate the centralized TSCH scheduler. 5.1 Evaluation Parameters In order to evaluate our TSCH scheduler, we focus on the packet reception ratio (PRR) for measuring the link quality. With this, we investigate how PRR is affected by increasing or decreasing the allocated time slots for a link. As indicated in the equation 4.4, packet reception ratio indicates the percentage of packets correctly received at a particular link. Apart from this, we also compute the overhead of the algorithm by making some reasonable assumptions. 5.2 Purpose of Experiment The experiments are performed in order to investigate the following questions 1. How effective is the reliability feature of the centralized TSCH scheduler in maintaining the QoS requirements. 2. What effect does the length of channel hopping sequence have in maintaining reliability. 5.3 Experimental Setup Following is the experimental setup: 1. For evaluation, we use the NXP JN5168 wireless dongles that runs an application built on top of Contiki real-time OS. The wireless dongles are connected to a PC/Laptop via UART interface. Due to timing limitations and for our first prototype, instead of using the CompSOC platform, we developed and executed the centralized TSCH scheduler as a Windows application on PC/Laptop to facilitate in the evaluation. 2. For simplicity we consider a star network topology for our evaluation. In a star network the PAN coordinator node (PC/laptop) shall always participate in a communication, since data can only be sent or received through the PAN coordinator in this type of topology. Furthermore, using a mesh network would require the use of upper network routing layer which could potentially route a packet to a healthy route, making it difficult to evaluate the scheduler. 3. We develop two different firmware for our experiments, one for the network coordinator and 40 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

54 CHAPTER 5. EVALUATION AND RESULTS the second one for the end nodes. Furthermore, a Windows based application is also developed that makes use of TSCH scheduler library. 4. In order to keep the experimental setup simple, we perform the experiments with a maximum of two end nodes, one coordinator node and one node configured as a noise generator. 5. We consider only the uplink in which the end-node serves as the source and coordinator node serves as the destination. This is because in a typical WSN application the end-nodes are equipped with sensors and it sends the sensor data to the coordinator for processing. Furthermore, our main focus is to evaluate the scheduler by keeping the application running on the end-nodes as simple as possible, in our case we make the application to transmit random data in a periodic manner. 6. Following are various parameters for the experiment as configured in the Contiki OS driver Configuration Parameter Configuration Description NETSTACK CONF MAC tschmac driver MAC layer driver NETSTACK CONF NETWORK rime driver Network layer Driver NETSTACK CONF FRAMER framer Framer driver for packet formation NETSTACK CONF RDC nordc driver Radio duty cycling driver for energy preservation TSCH CONF DEFAULT TIMESLOT LENGTH 10msec Time slot length TSCH CONF INIT SCHEDULE FROM EB Enable Create schedule from received Enhanced Beacon UIP CONF IPV6 RPL Disable Disable IPv6 and RPL on network layer TSCH CONF JOIN MY PANID ONLY Enable Make end nodes to join PAN co-ordinator network only TSCH SCHEDULE CONF DEFAULT LENGTH 10 Default slot frame length TSCH CONF MAC MAX FRAME RETRIES 3 Number of Tx retries in case of failure TSCH CONF EB PERIOD 100 msec Enhanced beacon period MICROMAC CONF TX POWER 0 dbm Radio transmission power TSCH HOPPING SEQUENCE (uint8 t[]){11, 12, 15} (uint8 t[]){11, 12, 15, 14, 20, 22, 13} (uint8 t[]){11, 12, 15, 14, 20, 22, 13, 21, 24} TSCH Hopping Sequence with 3, 7 and 11 channels Table 5.1: Contiki OS Driver Configuration 7. Following is the configuration parameters used by the centralized TSCH scheduler Configuration Parameter Configuration Value Total Number of Nodes (N) 2-3 Slotframe size (S) 10 Number of frequency channel offset (F) 2 Total number of links in the network 2-3 (initial) Duration of one time slot 10 msec Table 5.2: Centralized TSCH Scheduler Configuration 8. The UART configuration between the JN5168 platform and PC/Laptop is shown in table 5.3. Configuration Parameter Configuration Value Baud Rate 9600 bps Data bits 8 Parity None Stop bits 1 Flow control None Table 5.3: UART configuration for the JN5168 platform Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 41

55 CHAPTER 5. EVALUATION AND RESULTS 9. To generate noise, ATmega256RFR2 Xplained Pro evaluation kit was used. The board was configured to generate noise at Tx power of 0dBm on frequency channel 12 of IEEE We use a frequency hopping list in which the number of channels is relatively prime to the slotframe size. Since we set the slotframe size to 10, we perform the experiments using frequency hopping lists containing three, seven and eleven channels. By selecting such a list, it is ensured that hopping takes place on every channel included in the list Network Arrangement As mentioned earlier, we use a star network topology for evaluating the scheduler. As shown in figure 5.1 the network contains four nodes. The PAN-coordinator (Node 0 ) is connected to the PC/laptop through UART interface available on the NXP JN5168 wireless dongle. The laptop/pc executes the TSCH scheduler application and also performs reliability check based on the PRR values obtained from the PAN-coordinator through the UART interface. The end nodes (Node 1 and Node 2 ), send data packets to the coordinator periodically. Two separate firmware is developed, one for the network coordinator and the other for the end nodes. As an overview for our experiment, the end nodes transmit packets to the coordinator based on the schedule computed by the TSCH scheduler application. This schedule is shared with the end nodes by the coordinator using enhanced beacons. The test phases will be explained in the following sections. Figure 5.1: Network topology for experiment 42 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

56 CHAPTER 5. EVALUATION AND RESULTS (a) NXP JN5168 USB wireless dongle (b) Atmel ATmega256RFR2 evaluation kit Figure 5.2: Evaluation hardware Data Payload In the experiment, data packets are sent from the end-nodes to the coordinator. The packets are standard IEEE packets with a maximum payload of 100 bytes, making the total packet size to be 127 bytes. We define a packet structure for the application payload to extract more details about the received packets, directly from the application data payload. The payload structure is shown in figure5.3. The first byte of the packet contains an identifier to indicate the type of packet. If it contains the value 0x54 (hex) it indicates a normal test data packet. The next two bytes contains the destination ID of the node to which the packet is to be sent. Then there are two bytes indicating the sequence number of the packet. Then there are four bytes for time stamp. The next one byte indicates the length of data. After this, there are ninety (90) bytes of randomly generated user data. Figure 5.3: Data Packet Structure 5.4 Link Schedule for Evaluation The links in the network topology (star network) used in the experiment, are given as an input to the TSCH scheduler along with the configuration parameters of the system and QoS requirements Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 43

57 CHAPTER 5. EVALUATION AND RESULTS (bandwidth and reliability level). The generated schedule is then shared with the PAN-coordinator node through the UART interface. The Contiki application firmware, running on the coordinator node, assigns the schedule and shares it with the end nodes through the enhanced beacon in the allocated time-slot and channel offset. Figure 5.4 and figure 5.5 shows two different schedules that were generated by the TSCH scheduler and were used for evaluation. Figure 5.4 shows the schedule when evaluation is performed using one end node and figure 5.5 shows the schedule when evaluation is done using two end nodes. In both the schedule the slot at t0 is used for broadcasting enhanced beacons. The empty slots in the slotframe are used as redundant slots for transmission in order to maintain reliability when required. Figure 5.4: Time slot allocation for one coordinator and one end node Figure 5.5: Time slot allocation for one coordinator and two end nodes 5.5 Test Software Implementation The test software is implemented as two different firmware one for the coordinator and the other for the end nodes. The functionality of each of the firmware is explained in the following sections Firmware Implementation for the End Node In the end node a small test application was developed. In the application the end node first performs initialization of certain modules like timer, led and communication port. The end node then waits until it is associated with the PAN-coordinator. Upon successful association, the end node then transmits one packet, of 100 bytes payload, every 100 milliseconds, this makes about 600 packets in one minute. The transmission takes place in the timeslot and frequency channel offset allocated by the TSCH scheduler running on the PC/laptop and shared by the PAN-coordinator using Enhanced Beacons. Figure 5.6 shows the flow diagram of the end node firmware Firmware Implementation for the PAN-coordinator In the PAN-coordinator application, two Contiki processes are created. The first process handles the UART communication to and from the PC/laptop, in order to share schedule information. The second process handles the TSCH communication. The TSCH communication is blocked until the complete schedule information is received from the PC/laptop. Upon receiving the schedule information, the PAN-coordinator makes use of the TSCH API functions of the Contiki OS to assign schedules and advertise it to the end nodes. After every 15 seconds, over a window of 1 minute, the PAN-coordinator computes the packet reception ratio. After one minute the PANcoordinator node takes an average of the computed PRR (four samples) and sends a one byte value of the averaged PRR to the PC/Laptop over the UART. The scheduler application, running on the PC/laptop, computes the reliability based on the received PRR. If necessary, the scheduler creates a new schedule and shares it with the PAN-coordinator. After this, the process repeats every one minute. 44 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

58 CHAPTER 5. EVALUATION AND RESULTS Figure 5.6: End node application flow diagram Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 45

59 CHAPTER 5. EVALUATION AND RESULTS Figure 5.7: PAN-coordinator node application flow diagram 46 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

60 CHAPTER 5. EVALUATION AND RESULTS 5.6 Test Scenarios The experimental evaluation was conducted in an office environment. The end nodes were placed at a distance of 1 meter from the PAN coordinator. The noise generator was placed besides the PAN coordinator at a distance of 0.5 meter. Following are the scenarios that were considered in the experiment. 1. One coordinator and one end node. This is to check for any noise in the environment prior to including the noise generator. 2(a). One coordinator and one end node with noise generator. This test is performed with a frequency hopping list containing three channels and with reliability check disabled. 2(b). One coordinator and one end node with noise generator. This test is performed with a frequency hopping list containing three channels and with reliability check enabled. 3(a). One coordinator and one end node with noise generator. This test is performed with a frequency hopping list containing seven channels and with reliability check disabled. 3(b). One coordinator and one end node with noise generator. This test is performed with a frequency hopping list containing seven channels and with reliability check enabled. 4(a). One coordinator and one end node with noise generator. This test is performed with a frequency hopping list containing eleven channels and with reliability check disabled. 4(b). One coordinator and one end node with noise generator. This test is performed with a frequency hopping list containing eleven channels and with reliability check enabled. 5(a). One coordinator and two end nodes with noise generator. This test is performed with a frequency hopping list containing three channels and with reliability check disabled. 5(b). One coordinator and two end nodes with noise generator. This test is performed with a frequency hopping list containing three channels and with reliability check enabled. The test scenarios are summarised in table 5.4. Test Scenario PAN coordinator End Nodes Hopping Sequence List Reliability Feature Reliability Level Noise Generator uint8 t[]){11, 12, 15} Disabled - No 2a 1 1 uint8 t[]){11, 12, 15} Disabled 90 % Yes 2b 1 1 uint8 t[]){11, 12, 15} Enabled 90 % Yes 3a 1 1 (uint8 t[]){11, 12, 15, 14, 20, 22, 13} Disabled 90 % Yes 3b 1 1 (uint8 t[]){11, 12, 15, 14, 20, 22, 13} Enabled 90 % Yes 4a 1 1 (uint8 t[]){11, 12, 15, 14, 20, 22, 13, 21, 24} Disabled 90 % Yes 4b 1 1 (uint8 t[]){11, 12, 15, 14, 20, 22, 13, 21, 24} Enabled 90 % Yes 5a 1 2 (uint8 t[]){11, 12, 15} Disabled 85 % Yes 5b 1 2 (uint8 t[]){11, 12, 15} Enabled 85 % Yes Table 5.4: Evaluation Scenarios 5.7 Evaluation Results In this section, we explain the results obtained by running the test software application in the scenarios as mentioned in section 5.6. In all of the scenarios the reliability level R l was set to 90% except for scenario 5(a) and 5(b) in which the reliability level was set to 85% Test Scenario 1 In test scenario 1 the test software was executed on one coordinator and one end node. The reliability feature of the scheduler was disabled. This was mainly to check if there is some noise in Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks 47

61 CHAPTER 5. EVALUATION AND RESULTS the environment prior to deploying the noise generator. The PRR readings were taken after every 15 seconds and averaged over one minute interval. The TSCH schedule generated is the same as shown in figure 5.4. The results obtained are shown in figure 5.8. It can be seen that without the disturber node, there is a negligible loss of 0.4% over the span of five minutes. This high PRR is mainly because of short distance between transmitter and receiver, which makes the interference of nearby wireless devices (such as Wi-Fi devices) ineffective. It can also be seen that the PRR values remains above the assigned reliability level. Figure 5.8: Test scenario 1 result Test Scenario 2(a) and 2(b) In test scenario 2(a), the test software was executed on one coordinator and one end node. In this scenario, the noise generator was also deployed to generate controlled interference. The noise generator continuously transmits packet to cause interference on channel 12. The PAN coordinator and the end nodes use a channel hopping list of three channels. In test scenario 2(a), the reliability feature of the scheduler was disabled. The initial schedule generated is the same as shown in figure 5.4. Figure 5.9 shows the results obtained in scenario 2(a). It can be seen that, there is an average loss of 35% over the span of five minutes. This is because the noise generator transmits packets at frequency channel 12. Since the PAN coordinator and the end nodes use a frequency hopping list of three channels, which also includes the channel 12. Thus, every one packet out of 3, gets dropped due to which the PRR obtained is around 66%. Figure 5.9: Test scenario 2(a) result In test scenario 2(b), the setup was the same as mentioned for the test scenario 2(a). However in this case the reliability feature of the scheduler was enabled. The initial schedule is the same as 48 Dynamic Centralized Scheduler for Time-Slotted Channel Hopping Wireless Sensor Networks

Guide to Wireless Communications, 3 rd Edition. Objectives

Guide to Wireless Communications, 3 rd Edition. Objectives Guide to Wireless Communications, 3 rd Edition Chapter 5 Wireless Personal Area Networks Objectives Describe a wireless personal area network (WPAN) List the different WPAN standards and their applications

More information

WPAN/WBANs: ZigBee. Dmitri A. Moltchanov kurssit/elt-53306/

WPAN/WBANs: ZigBee. Dmitri A. Moltchanov    kurssit/elt-53306/ WPAN/WBANs: ZigBee Dmitri A. Moltchanov E-mail: dmitri.moltchanov@tut.fi http://www.cs.tut.fi/ kurssit/elt-53306/ IEEE 802.15 WG breakdown; ZigBee Comparison with other technologies; PHY and MAC; Network

More information

Principles of Wireless Sensor Networks. Medium Access Control and IEEE

Principles of Wireless Sensor Networks. Medium Access Control and IEEE http://www.ee.kth.se/~carlofi/teaching/pwsn-2011/wsn_course.shtml Lecture 7 Stockholm, November 8, 2011 Medium Access Control and IEEE 802.15.4 Royal Institute of Technology - KTH Stockholm, Sweden e-mail:

More information

Message acknowledgement and an optional beacon. Channel Access is via Carrier Sense Multiple Access with

Message acknowledgement and an optional beacon. Channel Access is via Carrier Sense Multiple Access with ZigBee IEEE 802.15.4 Emerging standard for low-power wireless monitoring and control Scale to many devices Long lifetime is important (contrast to Bluetooth) 10-75m range typical Designed for industrial

More information

CS263: Wireless Communications and Sensor Networks

CS263: Wireless Communications and Sensor Networks CS263: Wireless Communications and Sensor Networks Matt Welsh Lecture 6: Bluetooth and 802.15.4 October 12, 2004 2004 Matt Welsh Harvard University 1 Today's Lecture Bluetooth Standard for Personal Area

More information

EL2745 Principles of Wireless Sensor Networks

EL2745 Principles of Wireless Sensor Networks EL2745 Principles of Wireless Sensor Networks www.kth.se/student/program-kurser/kurshemsidor/kurshemsidor/control/el2745 Lecture 5 Stockholm, February 2, 2012 Carlo Fischione Royal Institute of Technology

More information

Mobile Communications

Mobile Communications Mobile Communications Wireless Personal Area Networks Manuel P. Ricardo Faculdade de Engenharia da Universidade do Porto 1 IEEE Standards 2 IEEE 802.15.4 Wireless PAN (Sensor Networks) 3 Information Current

More information

Principles of Wireless Sensor Networks

Principles of Wireless Sensor Networks Principles of Wireless Sensor Networks https://www.kth.se/social/course/el2745/ Lecture 5 January 31, 2013 Carlo Fischione Associate Professor of Sensor Networks e-mail: carlofi@kth.se http://www.ee.kth.se/~carlofi/

More information

WIRELESS SENSOR NETWORK

WIRELESS SENSOR NETWORK 1 WIRELESS SENSOR NETWORK Dr. H. K. Verma Distinguished Professor (EEE) Sharda University, Greater Noida (Formerly: Deputy Director and Professor of Instrumentation Indian Institute of Technology Roorkee)

More information

ZIGBEE. Erkan Ünal CSE 401 SPECIAL TOPICS IN COMPUTER NETWORKS

ZIGBEE. Erkan Ünal CSE 401 SPECIAL TOPICS IN COMPUTER NETWORKS ZIGBEE Erkan Ünal CSE 401 SPECIAL TOPICS IN COMPUTER NETWORKS OUTLINE ZIGBEE AND APPLICATIONS IEEE 802.15.4 PROTOCOL ZIGBEE PROTOCOL ZIGBEE ALLIANCE ZIGBEE APPLICATIONS PHYSICAL LAYER MAC LAYER ZIGBEE

More information

ENSC 427: COMMUNICATION NETWORKS

ENSC 427: COMMUNICATION NETWORKS ENSC 427: COMMUNICATION NETWORKS Simulation of ZigBee Wireless Sensor Networks Final Report Spring 2012 Mehran Ferdowsi Mfa6@sfu.ca Table of Contents 1. Introduction...2 2. Project Scope...2 3. ZigBee

More information

Internet of Things: Latest Technology Development and Applications

Internet of Things: Latest Technology Development and Applications Internet of Things: Latest Technology Development and Applications Mr UY Tat-Kong Assistant Vice President Network Evolution Planning & Development 22 August 2014 Agenda Communication Technologies Development

More information

Wireless Sensor Networks for Spacecraft DAMON PARSY, CEO OF BEANAIR

Wireless Sensor Networks for Spacecraft DAMON PARSY, CEO OF BEANAIR Wireless Sensor Networks for Spacecraft DAMON PARSY, CEO OF BEANAIR R ETHINKING SENSING TECHNOLOGY About Beanair (1/2) Designer and manufacturer of Wireless Sensor Networks Embedded measurement Process

More information

KW41Z IEEE and BLE Coexistence Performance

KW41Z IEEE and BLE Coexistence Performance NXP Semiconductors Document Number: AN12231 Application Note Rev. 0, 08/2018 KW41Z IEEE 802.15.4 and BLE Coexistence Performance MWS module 1. About this manual This document aims to evaluate the performance

More information

A Comprehensive Study of ZigBee. Presented by Dr. K F Tsang Citycom Technology Ltd. Tel:

A Comprehensive Study of ZigBee. Presented by Dr. K F Tsang Citycom Technology Ltd. Tel: A Comprehensive Study of ZigBee Presented by Dr. K F Tsang Citycom Technology Ltd. Tel: 2788-7806 Email: ee330015@cityu.edu.hk 1 1 Outline Introduction of ZigBee Market analysis Characteristics of ZigBee

More information

The Internet of Things. Thomas Watteyne Senior Networking Design Engineer Linear Technology, Dust Networks product group

The Internet of Things. Thomas Watteyne Senior Networking Design Engineer Linear Technology, Dust Networks product group 1 The Internet of Things Thomas Watteyne Senior Networking Design Engineer Linear Technology, Dust Networks product group Important! ٧ DREAM seminar 8 April 2014, UC Berkeley Low-Power Wireless Mesh Networks

More information

ZigBee/ David Sanchez Sanchez.

ZigBee/ David Sanchez Sanchez. ZigBee/802.15.4 David Sanchez Sanchez david.sanchezs@upf.edu Lecture Overview 1. Introduction and motivation to ZigBee 2. ZigBee/802.15.4 specification 1. Definitions 2. MAC communication modes 3. Network

More information

Wireless Local Area Networks (WLANs)) and Wireless Sensor Networks (WSNs) Computer Networks: Wireless Networks 1

Wireless Local Area Networks (WLANs)) and Wireless Sensor Networks (WSNs) Computer Networks: Wireless Networks 1 Wireless Local Area Networks (WLANs)) and Wireless Sensor Networks (WSNs) Computer Networks: Wireless Networks 1 Wireless Local Area Networks The proliferation of laptop computers and other mobile devices

More information

WIRELESS TECHNOLOGIES

WIRELESS TECHNOLOGIES WIRELESS TECHNOLOGIES Bluetooth, ZigBee and ANT Thomas Aasebø OVERVIEW What are wireless sensor networks? What are personal area networks? What are these networks typically used for? Bluetooth, ZigBee

More information

Outline. TWR Module. Different Wireless Protocols. Section 7. Wireless Communication. Wireless Communication with

Outline. TWR Module. Different Wireless Protocols. Section 7. Wireless Communication. Wireless Communication with Section 7. Wireless Communication Outline Wireless Communication with 802.15.4/Zigbee Protocol Introduction to Freescale MC12311 802.15.4/Zigbee Protocol TWR-12311 Module TWR-MC12311 Smart Radio Features

More information

Strengthening Unlicensed Band Wireless Backhaul

Strengthening Unlicensed Band Wireless Backhaul be in charge Strengthening Unlicensed Band Wireless Backhaul Use TDD/TDMA Based Channel Access Mechanism WHITE PAPER Strengthening Unlicensed Band Wireless Backhaul: Use TDD/TDMA Based Channel Access Mechanism

More information

Medium Access Control. MAC protocols: design goals, challenges, contention-based and contention-free protocols

Medium Access Control. MAC protocols: design goals, challenges, contention-based and contention-free protocols Medium Access Control MAC protocols: design goals, challenges, contention-based and contention-free protocols 1 Why do we need MAC protocols? Wireless medium is shared Many nodes may need to access the

More information

WirelessHART, Technology and Deployment ( ETSI Nov. 09 ) Jean-Luc Griessmann, HART Communication Foundation Europe

WirelessHART, Technology and Deployment ( ETSI Nov. 09 ) Jean-Luc Griessmann, HART Communication Foundation Europe WirelessHART, Technology and Deployment ( ETSI Nov. 09 ) Jean-Luc Griessmann, HART Communication Foundation Europe Introduction Wireless devices are everywhere! We use wireless devices in everyday life.

More information

IPv6 Stack. 6LoWPAN makes this possible. IPv6 over Low-Power wireless Area Networks (IEEE )

IPv6 Stack. 6LoWPAN makes this possible. IPv6 over Low-Power wireless Area Networks (IEEE ) Reference: 6LoWPAN: The Wireless Embedded Internet, Shelby & Bormann What is 6LoWPAN? 6LoWPAN makes this possible - Low-power RF + IPv6 = The Wireless Embedded Internet IPv6 over Low-Power wireless Area

More information

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski Operating Systems 16. Networking Paul Krzyzanowski Rutgers University Spring 2015 1 Local Area Network (LAN) LAN = communications network Small area (building, set of buildings) Same, sometimes shared,

More information

Communication In Smart Grid -Part3

Communication In Smart Grid -Part3 Communication In Smart Grid -Part3 Dr.-Ing. Abdalkarim Awad 09.12.2015 Informatik 7 Rechnernetze und Kommunikationssysteme Zigbee General characteristics Data rates of 250 kbps, 20 kbps and 40kpbs. Star

More information

Zigbee protocol stack overview

Zigbee protocol stack overview Zigbee protocol stack overview 2018 ASSUMPTIONS FOR USING THIS TEACHING MATERIAL DSR and OTSL takes no responsibility about the problem which occurs as a result of applying the technical information written

More information

Local Area Networks NETW 901

Local Area Networks NETW 901 Local Area Networks NETW 901 Lecture 4 Wireless LAN Course Instructor: Dr.-Ing. Maggie Mashaly maggie.ezzat@guc.edu.eg C3.220 1 Contents What is a Wireless LAN? Applications and Requirements Transmission

More information

WiFi Networks: IEEE b Wireless LANs. Carey Williamson Department of Computer Science University of Calgary Winter 2018

WiFi Networks: IEEE b Wireless LANs. Carey Williamson Department of Computer Science University of Calgary Winter 2018 WiFi Networks: IEEE 802.11b Wireless LANs Carey Williamson Department of Computer Science University of Calgary Winter 2018 Background (1 of 2) In many respects, the IEEE 802.11b wireless LAN (WLAN) standard

More information

A cluster based interference mitigation scheme for performance enhancement in IEEE

A cluster based interference mitigation scheme for performance enhancement in IEEE 756 Journal of Scientific & Industrial Research J SCI IND RES VOL 7 SEPTEMBER 2 Vol. 7, September 2, pp. 756-76 A cluster based interference mitigation scheme for performance enhancement in IEEE 82.5.4

More information

Wireless Local Area Networks. Networks: Wireless LANs 1

Wireless Local Area Networks. Networks: Wireless LANs 1 Wireless Local Area Networks Networks: Wireless LANs 1 Wireless Local Area Networks The proliferation of laptop computers and other mobile devices (PDAs and cell phones) created an obvious application

More information

WIRELESS-NETWORK TECHNOLOGIES/PROTOCOLS

WIRELESS-NETWORK TECHNOLOGIES/PROTOCOLS 3 WIRELESS-NETWORK TECHNOLOGIES/PROTOCOLS Dr. H. K. Verma Distinguished Professor (EEE) Sharda University, Greater Noida (Formerly: Deputy Director and Professor of Instrumentation Indian Institute of

More information

DASH7 ALLIANCE PROTOCOL - WHERE RFID MEETS WSN. public

DASH7 ALLIANCE PROTOCOL - WHERE RFID MEETS WSN. public DASH7 ALLIANCE PROTOCOL - WHERE RFID MEETS WSN public DASH7 ALLIANCE PROTOCOL OPEN STANDARD OF ULTRA LOW POWER MID-RANGE SENSOR AND ACTUATOR COMMUNICATION Wireless Sensor and Actuator Network Protocol

More information

Wireless Local Area Networks (WLANs) and Wireless Sensor Networks (WSNs) Primer. Computer Networks: Wireless LANs

Wireless Local Area Networks (WLANs) and Wireless Sensor Networks (WSNs) Primer. Computer Networks: Wireless LANs Wireless Local Area Networks (WLANs) and Wireless Sensor Networks (WSNs) Primer 1 Wireless Local Area Networks (WLANs) The proliferation of laptop computers and other mobile devices (PDAs and cell phones)

More information

Communications Options for Wireless Sensor Networks. Marco Zennaro and Antoine Bagula ICTP and UWC Italy and South Africa

Communications Options for Wireless Sensor Networks. Marco Zennaro and Antoine Bagula ICTP and UWC Italy and South Africa Communications Options for Wireless Sensor Networks Marco Zennaro and Antoine Bagula ICTP and UWC Italy and South Africa WSN communications options When considering communications options, parameters to

More information

Vorlesung Kommunikationsnetze Research Topics: QoS in VANETs

Vorlesung Kommunikationsnetze Research Topics: QoS in VANETs Vorlesung Kommunikationsnetze Research Topics: QoS in VANETs Prof. Dr. H. P. Großmann mit B. Wiegel sowie A. Schmeiser und M. Rabel Sommersemester 2009 Institut für Organisation und Management von Informationssystemen

More information

original standard a transmission at 5 GHz bit rate 54 Mbit/s b support for 5.5 and 11 Mbit/s e QoS

original standard a transmission at 5 GHz bit rate 54 Mbit/s b support for 5.5 and 11 Mbit/s e QoS IEEE 802.11 The standard defines a wireless physical interface and the MAC layer while LLC layer is defined in 802.2. The standardization process, started in 1990, is still going on; some versions are:

More information

Principles of Wireless Sensor Networks

Principles of Wireless Sensor Networks Principles of Wireless Sensor Networks https://www.kth.se/social/course/el2745/ Lecture 6 Routing Carlo Fischione Associate Professor of Sensor Networks e-mail:carlofi@kth.se http://www.ee.kth.se/ carlofi/

More information

Lecture 04 Introduction: IoT Networking - Part I

Lecture 04 Introduction: IoT Networking - Part I Introduction to Industry 4.0 and Industrial Internet of Things Prof. Sudip Misra Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 04 Introduction: IoT Networking

More information

Wireless and WiFi. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Wireless and WiFi. Daniel Zappala. CS 460 Computer Networking Brigham Young University Wireless and WiFi Daniel Zappala CS 460 Computer Networking Brigham Young University Wireless Networks 2/28 mobile phone subscribers now outnumber wired phone subscribers similar trend likely with Internet

More information

RESOURCES. By: Chris Downey, Laird Technologies Product Manager, Telematics & Wireless M2M Date: May 25, 2011

RESOURCES. By: Chris Downey, Laird Technologies Product Manager, Telematics & Wireless M2M Date: May 25, 2011 Moving Beyond Zigbee for Star Networks RESOURCES By: Chris Downey, Laird Technologies Product Manager, Telematics & Wireless M2M Date: May 25, 2011 Multi-hop mesh protocols, such as Zigbee, are getting

More information

MULTIPLE ACCESS PROTOCOLS 2. 1

MULTIPLE ACCESS PROTOCOLS 2. 1 MULTIPLE ACCESS PROTOCOLS AND WIFI 1 MULTIPLE ACCESS PROTOCOLS 2. 1 MULTIPLE ACCESS LINKS, PROTOCOLS Two types of links : point-to-point broadcast (shared wire or medium) POINT-TO-POINT PPP for dial-up

More information

Data and Computer Communications. Chapter 13 Wireless LANs

Data and Computer Communications. Chapter 13 Wireless LANs Data and Computer Communications Chapter 13 Wireless LANs Wireless LAN Topology Infrastructure LAN Connect to stations on wired LAN and in other cells May do automatic handoff Ad hoc LAN No hub Peer-to-peer

More information

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame Links Reading: Chapter 2 CS 375: Computer Networks Thomas Bressoud 1 Goals of Todayʼs Lecture Link-layer services Encoding, framing, and error detection Error correction and flow control Sharing a shared

More information

Wireless and Mobile Networks 7-2

Wireless and Mobile Networks 7-2 Wireless and Mobile Networks EECS3214 2018-03-26 7-1 Ch. 6: Wireless and Mobile Networks Background: # wireless (mobile) phone subscribers now exceeds # wired phone subscribers (5-to-1)! # wireless Internet-connected

More information

Radiocrafts Embedded Wireless Solutions

Radiocrafts Embedded Wireless Solutions Selecting an IEEE 802.15.4, 2.4 GHz wireless solution By Ø.Nottveit Abstract Companies searching for a low power 2.45 GHz wireless solution will find many different technical solutions. This white paper

More information

Volume 1, Number 1, 2015 Pages Jordan Journal of Electrical Engineering ISSN (Print): , ISSN (Online):

Volume 1, Number 1, 2015 Pages Jordan Journal of Electrical Engineering ISSN (Print): , ISSN (Online): JJEE Volume 1, Number 1, 2015 Pages 45-54 Jordan Journal of Electrical Engineering ISSN (Print): 2409-9600, ISSN (Online): 2409-9619 Performance Evaluation for Large Scale Star Topology IEEE 802.15.4 Based

More information

Delivering Voice over IEEE WLAN Networks

Delivering Voice over IEEE WLAN Networks Delivering Voice over IEEE 802.11 WLAN Networks Al Petrick, Jim Zyren, Juan Figueroa Harris Semiconductor Palm Bay Florida Abstract The IEEE 802.11 wireless LAN standard was developed primarily for packet

More information

WIRELESS TECHNOLOGIES FOR THE INTERNET OF THINGS

WIRELESS TECHNOLOGIES FOR THE INTERNET OF THINGS WIRELESS TECHNOLOGIES FOR THE INTERNET OF THINGS MIRKO FRANCESCHINIS Workshop on Scientific Applications for the Internet of Things (IoT) 16-27 March 2015, ICTP Trieste Pervasive Technologies ABOUT ME

More information

CSC 4900 Computer Networks: Wireless Networks

CSC 4900 Computer Networks: Wireless Networks CSC 4900 Computer Networks: Wireless Networks Professor Henry Carter Fall 2017 Last Time Mobile applications are taking off! What about current platforms is fueling this? How are an application s permission

More information

Performance Analysis of Beacon Enabled IEEE Using GTS in Zigbee

Performance Analysis of Beacon Enabled IEEE Using GTS in Zigbee Performance Analysis of Beacon Enabled IEEE 802.15.4 Using GTS in Zigbee Rajashri Wavage PG Student Computer Science and Engineering Baddi University of Emerging Science and Technology Aman Kaushik. Asst.

More information

Bluetooth. Bluetooth Radio

Bluetooth. Bluetooth Radio Bluetooth Bluetooth is an open wireless protocol stack for low-power, short-range wireless data communications between fixed and mobile devices, and can be used to create Personal Area Networks (PANs).

More information

CHAPTER 3 BLUETOOTH AND IEEE

CHAPTER 3 BLUETOOTH AND IEEE CHAPTER 3 BLUETOOTH AND IEEE 802.15 These slides are made available to faculty in PowerPoint form. Slides can be freely added, modified, and deleted to suit student needs. They represent substantial work

More information

Data Link Layer Technologies

Data Link Layer Technologies Chapter 2.2 La 2 Data Link La Technologies 1 Content Introduction La 2: Frames Error Handling 2 Media Access Control General approaches and terms Aloha Principles CSMA, CSMA/CD, CSMA / CA Master-Slave

More information

6.9 Summary. 11/20/2013 Wireless and Mobile Networks (SSL) 6-1. Characteristics of selected wireless link standards a, g point-to-point

6.9 Summary. 11/20/2013 Wireless and Mobile Networks (SSL) 6-1. Characteristics of selected wireless link standards a, g point-to-point Chapter 6 outline 6.1 Introduction Wireless 6.2 Wireless links, characteristics CDMA 6.3 IEEE 802.11 wireless LANs ( wi-fi ) 6.4 Cellular Internet Access architecture standards (e.g., GSM) Mobility 6.5

More information

standards like IEEE [37], IEEE [38] or IEEE [39] do not consider

standards like IEEE [37], IEEE [38] or IEEE [39] do not consider Chapter 5 IEEE 802.15.4 5.1 Introduction Wireless Sensor Network(WSN) is resource constrained network developed specially targeting applications having unattended network for long time. Such a network

More information

Multi-channel TDMA Scheduling in Wireless Sensor Networks

Multi-channel TDMA Scheduling in Wireless Sensor Networks Multi-channel TDMA Scheduling in Wireless Sensor Networks Ozge Uyanik and Ibrahim Korpeoglu Bilkent University Department of Computer Engineering 06800, Ankara, Turkey {ouyanik,korpe}@cs.bilkent.edu.tr

More information

Matteo Petracca Scuola Superiore Sant Anna, Pisa

Matteo Petracca Scuola Superiore Sant Anna, Pisa Wireless stack and protection techniques Matteo Petracca Scuola Superiore Sant Anna, Pisa Basic Computing Theory and Practice in WSNs Scuola Superiore Sant Anna, Pisa June 21th 2010 Outline Introduction

More information

Davide Quaglia Assistant CS depart University of Verona, Italy

Davide Quaglia Assistant CS depart University of Verona, Italy Emad Ebeid Ph.D. student @ CS depart University of Verona, Italy EmadSamuelMalki.Ebeid@univr.it Davide Quaglia Assistant Professor @ CS depart University of Verona, Italy Davide.Quaglia@univr.it 2 1 ZigBee

More information

Lecture 16: QoS and "

Lecture 16: QoS and Lecture 16: QoS and 802.11" CSE 123: Computer Networks Alex C. Snoeren HW 4 due now! Lecture 16 Overview" Network-wide QoS IntServ DifServ 802.11 Wireless CSMA/CA Hidden Terminals RTS/CTS CSE 123 Lecture

More information

Wireless networks. Wireless Network Taxonomy

Wireless networks. Wireless Network Taxonomy Wireless networks two components to be considered in deploying applications and protocols wireless links ; mobile computing they are NOT the same thing! wireless vs. wired links lower bandwidth; higher

More information

Implementation of Gradient Routing in WSNs

Implementation of Gradient Routing in WSNs Implementation of Gradient Routing in WSNs Thomas Watteyne, Kris Pister, Dominique Barthel, Mischa Dohler, Isabelle Auge-Blum BSAC, UC Berkeley, USA Orange Labs, Meylan, France CTTC, Castelldefels, Barcelona,

More information

Introduction to IEEE

Introduction to IEEE Introduction to IEEE 802.15.4 Marcos Rubinstein IEEE 802.15.4 Short range, low bit rate, low power consumption Home Automotive Industrial applications Games Metering 1 PHY speeds 250 kbps 40 kbps 20 kbps.

More information

Guide to Wireless Communications, Third Edition. Objectives

Guide to Wireless Communications, Third Edition. Objectives Guide to Wireless Communications, Third Edition Chapter 7 Low-Speed Wireless Local Area Networks Objectives Describe how WLANs are used List the components and modes of a WLAN Describe how an RF WLAN works

More information

SDCI Student Project 6 Sensing Capabilites Go Wireless. Mario Caruso Francesco Leotta Leonardo Montecchi Marcello Pietri

SDCI Student Project 6 Sensing Capabilites Go Wireless. Mario Caruso Francesco Leotta Leonardo Montecchi Marcello Pietri SDCI 2012 Student Project 6 Sensing Capabilites Go Wireless Mario Caruso Francesco Leotta Leonardo Montecchi Marcello Pietri Overview Wireless Sensor Network Is a collection of nodes organized into a cooperative

More information

ZigBee and IEEE

ZigBee and IEEE n overview of ZigBee and IEEE 80.5.4 IEEE Standard for Information technology Telecommunications and information exchange between systems Local and metropolitan area networks Specific requirements Part

More information

ECSE 414 Fall 2014 Final Exam Solutions

ECSE 414 Fall 2014 Final Exam Solutions ECSE 414 Fall 2014 Final Exam Solutions Question 1 a. The five main layers of the internet protocol stack, along with the service provided by each, and the place where each is implemented are as follows:

More information

Principles of Wireless Sensor Networks. Routing, Zigbee, and RPL

Principles of Wireless Sensor Networks. Routing, Zigbee, and RPL http://www.ee.kth.se/~carlofi/teaching/pwsn-2011/wsn_course.shtml Lecture 8 Stockholm, November 11, 2011 Routing, Zigbee, and RPL Royal Institute of Technology - KTH Stockholm, Sweden e-mail: carlofi@kth.se

More information

Topics. Introduction Architecture Node Types Network Topologies Traffic Modes Frame Format Applications Conclusion

Topics. Introduction Architecture Node Types Network Topologies Traffic Modes Frame Format Applications Conclusion ZigBee Topics Introduction Architecture Node Types Network Topologies Traffic Modes Frame Format Applications Conclusion Introduction The Wireless technologies (WiFi,GSM,and Bluetooth) All have one thing

More information

Modulation. Propagation. Typical frequency bands

Modulation. Propagation. Typical frequency bands References Wireless Technology 2 AT THE END OF THIS SECTION, YOU SHOULD HAVE AN UNDERSTANDING OF THE UNDERLYING WIRELESS TECHNOLOGIES. The physical layer provides mechanical, electrical, l functional,

More information

AT THE END OF THIS SECTION, YOU SHOULD HAVE AN UNDERSTANDING OF THE

AT THE END OF THIS SECTION, YOU SHOULD HAVE AN UNDERSTANDING OF THE Wireless Technology AT THE END OF THIS SECTION, YOU SHOULD HAVE AN UNDERSTANDING OF THE UNDERLYING WIRELESS TECHNOLOGIES. References 2 The physical layer provides mechanical, electrical, l functional,

More information

Traffic Modeling of Wireless Body Area Network

Traffic Modeling of Wireless Body Area Network IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 18, Issue 5, Ver. IV (Sep. - Oct. 2016), PP 102-109 www.iosrjournals.org Traffic Modeling of Wireless Body Area

More information

Chapter 16 Networking

Chapter 16 Networking Chapter 16 Networking Outline 16.1 Introduction 16.2 Network Topology 16.3 Network Types 16.4 TCP/IP Protocol Stack 16.5 Application Layer 16.5.1 Hypertext Transfer Protocol (HTTP) 16.5.2 File Transfer

More information

Wireless communication standards: What makes them unattractive for WSN:

Wireless communication standards: What makes them unattractive for WSN: Wireless communication standards: IEEE 802.11 a/b/g Bluetooth GSM What makes them unattractive for WSN: Power hungry (need big batteries) Complexity (need lots of clock cycles and memory) New protocol

More information

Seminar: Mobile Systems. Krzysztof Dabkowski Supervisor: Fabio Hecht

Seminar: Mobile Systems. Krzysztof Dabkowski Supervisor: Fabio Hecht Personal Area Networks Seminar: Mobile Systems November 19th 2009 Krzysztof Dabkowski Supervisor: Fabio Hecht Agenda Motivation Application areas Historical and technical overview Security issues Discussion

More information

Outlook on IEEE ZigBee Implications IP Requirements IPv6 over Low Power WPAN (IEEE ) Conclusions. KRnet /21

Outlook on IEEE ZigBee Implications IP Requirements IPv6 over Low Power WPAN (IEEE ) Conclusions. KRnet /21 IPv6 over WPAN Soohong Daniel Park soohong.park@samsung.com Mobile Convergence Laboratory, Digital Media R&D Center, SAMSUNG Electronics. Contents Outlook on IEEE 802.15.4 ZigBee Implications IP Requirements

More information

SENSOR-MAC CASE STUDY

SENSOR-MAC CASE STUDY SENSOR-MAC CASE STUDY Periodic Listen and Sleep Operations One of the S-MAC design objectives is to reduce energy consumption by avoiding idle listening. This is achieved by establishing low-duty-cycle

More information

ISSN (PRINT): , (ONLINE): , VOLUME-6, ISSUE-1,

ISSN (PRINT): , (ONLINE): , VOLUME-6, ISSUE-1, DESIGN OF MULTIMODE GATEWAY FOR DATA ACQUISITION TO HIGH END DATA MONITORING USING IEEE802.15.4 Madhhav G.Raut 1 & Pradip B.Dahikar 2 Hislop College,Civil Lines, Nagpur & Kamala Nehru Mahavidyalaya,Nagpur,India

More information

Wireless Networks. CSE 3461: Introduction to Computer Networking Reading: , Kurose and Ross

Wireless Networks. CSE 3461: Introduction to Computer Networking Reading: , Kurose and Ross Wireless Networks CSE 3461: Introduction to Computer Networking Reading: 6.1 6.3, Kurose and Ross 1 Wireless Networks Background: Number of wireless (mobile) phone subscribers now exceeds number of wired

More information

e-pg Pathshala Quadrant 1 e-text

e-pg Pathshala Quadrant 1 e-text e-pg Pathshala Subject : Computer Science Module: Bluetooth Paper: Computer Networks Module No: CS/CN/37 Quadrant 1 e-text In our journey on networks, we are now exploring wireless networks. We looked

More information

Mobile and Sensor Systems

Mobile and Sensor Systems Mobile and Sensor Systems Lecture 2: Mobile Medium Access Control Protocols and Wireless Systems Dr Cecilia Mascolo In this lecture We will describe medium access control protocols and wireless systems

More information

WIRELESS MESH NETWORKING: ZIGBEE VS. DIGIMESH WIRELESS MESH NETWORKING: ZIGBEE VS. DIGIMESH

WIRELESS MESH NETWORKING: ZIGBEE VS. DIGIMESH WIRELESS MESH NETWORKING: ZIGBEE VS. DIGIMESH WIRELESS MESH NETWORKING: ZIGBEE VS. DIGIMESH WIRELESS MESH NETWORKING: ZIGBEE VS. DIGIMESH WIRELESS MESH NETWORKING: ZIGBEE VS. DIGIMESH Mesh networking is a powerful way to route data. This methodology

More information

IEEE Technical Tutorial. Introduction. IEEE Architecture

IEEE Technical Tutorial. Introduction. IEEE Architecture IEEE 802.11 Technical Tutorial Introduction The purpose of this document is to give technical readers a basic overview of the new 802.11 Standard, enabling them to understand the basic concepts, principle

More information

Links. CS125 - mylinks 1 1/22/14

Links. CS125 - mylinks 1 1/22/14 Links 1 Goals of Today s Lecture Link-layer services Encoding, framing, and error detection Error correction and flow control Sharing a shared media Channel partitioning Taking turns Random access Shared

More information

Maximizing the Lifetime of Clustered Wireless Sensor Network VIA Cooperative Communication

Maximizing the Lifetime of Clustered Wireless Sensor Network VIA Cooperative Communication Vol., Issue.3, May-June 0 pp--7 ISSN: - Maximizing the Lifetime of Clustered Wireless Sensor Network VIA Cooperative Communication J. Divakaran, S. ilango sambasivan Pg student, Sri Shakthi Institute of

More information

Chapter 6 Wireless and Mobile Networks

Chapter 6 Wireless and Mobile Networks Chapter 6 Wireless and Mobile Networks Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. 6: Wireless and Mobile Networks 6

More information

WP-PD Wirepas Mesh Overview

WP-PD Wirepas Mesh Overview WP-PD-123 - Wirepas Mesh Overview Product Description Version: v1.0a Wirepas Mesh is a de-centralized radio communications protocol for devices. The Wirepas Mesh protocol software can be used in any device,

More information

ZIGBEE AND PROTOCOL IEEE : THEORETICAL STUDY

ZIGBEE AND PROTOCOL IEEE : THEORETICAL STUDY ZIGBEE AND PROTOCOL IEEE 802.15.4: THEORETICAL STUDY 1 NAYAN DUBAY, 2 VISHANK PATEL 1 Learner and Researcher, Indore ²Fourth Semester M.Tech, Oriental university, Indore Email: 1 nayandubey18@gmail.com,

More information

IEEE e: a Survey

IEEE e: a Survey IEEE 802.15.4e: a Survey Domenico De Guglielmo 1, Simone Brienza 1, Giuseppe Anastasi 1,2 1 Dept. of Information Engineering, University of Pisa, Italy 2 Smart Cities National Lab., CINI, Italy domenico.deguglielmo@unipi.it,

More information

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ Networking for Data Acquisition Systems Fabrice Le Goff - 14/02/2018 - ISOTDAQ Outline Generalities The OSI Model Ethernet and Local Area Networks IP and Routing TCP, UDP and Transport Efficiency Networking

More information

An Industrial Employee Development Application Protocol Using Wireless Sensor Networks

An Industrial Employee Development Application Protocol Using Wireless Sensor Networks RESEARCH ARTICLE An Industrial Employee Development Application Protocol Using Wireless Sensor Networks 1 N.Roja Ramani, 2 A.Stenila 1,2 Asst.professor, Dept.of.Computer Application, Annai Vailankanni

More information

Cloud Based IoT Application Provisioning (The Case of Wireless Sensor Applications)

Cloud Based IoT Application Provisioning (The Case of Wireless Sensor Applications) Cloud Based IoT Application Provisioning (The Case of Wireless Sensor Applications) (ENCS 691K Chapter 7) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/

More information

Topology Management and TSCH Scheduling for Low-Latency Convergecast in In-Vehicle WSNs

Topology Management and TSCH Scheduling for Low-Latency Convergecast in In-Vehicle WSNs This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI./TII.., IEEE IEEE

More information

Advanced Computer Networks WLAN

Advanced Computer Networks WLAN Advanced Computer Networks 263 3501 00 WLAN Patrick Stuedi Spring Semester 2014 1 Oriana Riva, Department of Computer Science ETH Zürich Last week Outlook Medium Access COPE Short Range Wireless Networks:

More information

Chapter 6 Medium Access Control Protocols and Local Area Networks

Chapter 6 Medium Access Control Protocols and Local Area Networks Chapter 6 Medium Access Control Protocols and Local Area Networks 802.11 Wireless LAN CSE 3213, Winter 2010 Instructor: Foroohar Foroozan Wireless Data Communications Wireless communications compelling

More information

Multiple Access Protocols

Multiple Access Protocols Multiple Access Protocols Computer Networks Lecture 2 http://goo.gl/pze5o8 Multiple Access to a Shared Channel The medium (or its sub-channel) may be shared by multiple stations (dynamic allocation) just

More information

Low-Rate Wireless Personal Area Networks IEEE Fernando Solano Warsaw University of Technology

Low-Rate Wireless Personal Area Networks IEEE Fernando Solano Warsaw University of Technology Low-Rate Wireless Personal Area Networks IEEE 802.15.4 Fernando Solano Warsaw University of Technology fs@tele.pw.edu.pl Wireless Sensor Networks and Hardware A bad example Remote bulb control Reduce Energy

More information

Impact of IEEE n Operation on IEEE Operation

Impact of IEEE n Operation on IEEE Operation 2009 International Conference on Advanced Information Networking and Applications Workshops Impact of IEEE 802.11n Operation on IEEE 802.15.4 Operation B Polepalli, W Xie, D Thangaraja, M Goyal, H Hosseini

More information

Junseok Kim Wireless Networking Lab (WINLAB) Konkuk University, South Korea

Junseok Kim Wireless Networking Lab (WINLAB) Konkuk University, South Korea Junseok Kim Wireless Networking Lab (WINLAB) Konkuk University, South Korea http://usn.konkuk.ac.kr/~jskim 1 IEEE 802.x Standards 802.11 for Wireless Local Area Network 802.11 legacy clarified 802.11 legacy

More information

Design and Implementation of a Multi-hop Zigbee Network

Design and Implementation of a Multi-hop Zigbee Network Design and Implementation of a Multi-hop Zigbee Network Chi-Wen Deng, Li-chun Ko, Yung-chih Liu, Hua-wei Fang Networks and Multimedia Institute Institute for Information Industry, ROC {cwdeng, lcko, ulysses,

More information