Date of Award

August 2016

Degree Type


Degree Name

Doctor of Philosophy


Computer Science

First Advisor

Hossein Hosseini

Committee Members

K. Vairavan,, Ethan Munson, Adel Nasiri,, Hamid Seifoddini


Computer Networks, Energy Efficient Routing Protocols, Wireless Sensor Networks




Kamil Samara

The University of Wisconsin-Milwaukee, 2016

Under the Supervision of Professor Hossein Hosseini

The Internet of Things (IoT) is shaping the future of Computer Networks and Computing in general, and it is gaining ground very rapidly. The whole idea has originated from the pervasive presence of a variety of things or objects equipped with the internet connectivity. These devices are becoming cheap and ubiquitous, at the same time more powerful and smaller with a variety of onboard sensors. All these factors with the availability of unique addressing, provided by the IPv6, has made these devices capable of collaborating with each other to accomplish common tasks.

Mobile AdHoc Networks (MANETS) and Wireless Sensor Networks (WSN) in particular play a major role in the backbone of IoT.

Routing in Wireless Sensor Networks (WSN) has been a challenging task for researchers in the last several years because the conventional routing algorithms, such as the ones used in IP-based networks, are not well suited for WSNs because these conventional routing algorithms heavily rely on large routing tables that need to be updated periodically. The size of a WSN could range from hundreds to tens of thousands of nodes, which will make routing tables’ size very large. Managing large routing tables is not feasible in WSNs due to the limitations of resources.

The directed diffusion algorithm is a well-known routing algorithm for Wireless Sensor Networks (WSNs). The directed diffusion algorithm saves energy by sending data packets hop by hop and by enforcing paths to avoid flooding. The directed diffusion algorithm does not attempt to find the best or healthier paths (healthier paths are paths that use less total energy than others and avoid critical nodes). Hence the directed diffusion algorithm could be improved by enforcing the use of healthier paths, which will result in less power consumption.

We propose an efficient routing protocol for WSNs that gives preference to the healthier paths based on the criteria of the total energy available on the path, the path length, and the avoidance of critical nodes. This preference is achieved by collecting information about the available paths and then using non-incremental machine learning to enforce path(s) that meet our criteria.

In addition to preferring healthier paths, our protocol provides Quality of Service (QoS) features through the implementation of differentiated services, where packets are classified as critical, urgent, and normal, as defined later in this work. Based on this classification, different packets are assigned different priority and resources. This process results in higher reliability for the delivery of data, and shorter delivery delay for the urgent and critical packets.

This research includes the implementation of our protocol using a Castalia Simulator. Our simulation compares the performance of our protocol with that of the directed diffusion algorithm. The comparison was made on the following aspects:

• Energy consumption

• Reliable delivery

• Load balancing

• Network lifetime

• Quality of service

Simulation results did not point out a significant difference in performance between the proposed protocol and the directed diffusion algorithm in smaller networks. However, when the network’s size started to increase the results showed better performance by the proposed protocol.