Graduation Semester and Year




Document Type


Degree Name

Master of Science in Computer Science


Computer Science and Engineering

First Advisor

Yonghe Liu


In recent years, the number of smartphone users has increased by many folds. In fact, it is estimated to reach 100 million by 2013. Current generation of smartphones has better storage, battery, computing capabilities and they come equipped with short range communication technologies like Bluetooth and Wi-Fi. These improved capabilities coupled with staggering rise in number of users, has prompted growing interest in smartphone applications that help users to communicate with each other directly and over the internet. In particular as a result, when a large number of mobile users can communicate directly with each other during opportunistic contacts when they are physically proximate to each other, an opportunistic network is formed.Consider scenarios where researchers are gathered at a research conference or shoppers are roaming in mall. It will benefit them significantly if they can automatically exchange information of their interest with neighboring users. For example, researchers can receive information about nearby researchers with similar research interests, and shoppers can get to know about discounts on products or brands they like. All these scenarios make perfect case for opportunistic networking applications. In this thesis, we design and implement an application architecture that addresses the needs of the opportunistic networking applications. We provide innovative information publishing model that embeds application and device information in MAC layer frames and uses faster MAC layer device discovery mechanisms to gather application level information. Based on recent signal strength values and history of time of contact between nodes, we design different neighbor selection strategies and analyze their performance by conducting series of experiments in different environments. Finally we enhance an existing multicasting communication framework to implement connection establishment and one-hop message exchange in opportunistic networks.Instead of relying on Bluetooth communication technology where many implementations exist for opportunistic networks, we focus on wireless LAN (Wi-Fi) technology owing to its longer communication range, hence longer opportunistic contact period, more contact opportunities and faster device discovery technique. As we will reveal, the difficulty of designing and implementing over Wi-Fi is significantly higher as compared those based on Bluetooth.The first component of our architecture is neighbor discovery. In highly dynamic and ever changing opportunistic networks, efficient and timely neighbor discovery provides the foundation for any following data communications. In our design, we employ current signal strength values and history of time of contact information to facilitate neighbor discovery and selection. Using innovative beacon stuffing mechanism, we publish application and device information using MAC layer beacon frames, thus speeding up device discovery process. The next component in our architecture addresses the need of communication among devices. We design connection establishment mechanism for a device to initiate connection with its best neighbor on unique Wi-Fi SSID network. Our architecture handles one-hop message exchange over UDP/IP protocol, also maintains communication message synchronicity. We keep track of all successful and unsuccessful communication sessions and assign credibility to neighbors for future encounters. We realize the intermittent nature of opportunistic communication and provide re-establishment mechanism for the broken communication links between neighboring devices.To demonstrate and verify the performance of our architecture, we have implemented the prisoner's dilemma game as an example application. In this game, a mobile node finds suitable devices in the surroundings and plays autonomous games with its neighbors. Also, we have developed a device discovery application that lets user configure neighbor discovery parameters.We have conducted series of functional and performance tests to analyze device discovery scheme, different neighbor selection mechanisms and the efficiency of communication between neighboring devices. Our results show that using our neighbor discovery and selection mechanisms, speed and performance of the opportunistic communication, especially neighbor discovery process can be significantly improved. Using signal strength and time of contact information, our neighbor selection strategies give great insight into still unexplored aspect of opportunistic networks - neighbor selection.


Computer Sciences | Physical Sciences and Mathematics


Degree granted by The University of Texas at Arlington