Experimental Research on Wireless Networking (ERWiN)
University of Notre Dame
Computer Science and Engineering
Projects
Wireless networks play an increasingly dominant role in systems and applications
such as mobile ad-hoc networks, mesh networks, sensor networks,
ubiquitous systems, and embedded computing. The focus of this REU site is on
the
experimental study of these environments, i.e., we believe in
building and working with realistic distributed systems. Students will
have the opportunity to collaborate in the development and exploration
of new systems and applications. Below is a list of some of the projects
offered by our REU site. You can indicate your interest in up to three
of these projects on the application form (use the project which is a
combination of 1-2 letters and a single digit). Note that this project
list will be refreshed (i.e., more projects may be added) over time and
that the actual project you will work on during your REU participation may
differ from the descriptions on this page.
-
Project P1: Routing in Ad-Hoc Networks.
The DARTS Lab has a routing toolkit, called CMR, that can be used to rapidly establish communication routes between senders and receivers in
a wireless ad-hoc network. An ad-hoc network is a network of wireless devices
that communicate with each other without the help of fixed infrastructure
(such as access points), typically over multiple hops (i.e., involving
multiple devices). Routes established with CMR
satisfy user-specific Quality-of-Service
requirements (Quality-of-Service or QoS is a term that can describe numerous
constraints such as limits on communication latencies, data loss, energy costs,
etc.) and multiple users can deploy custom-made routes simultaneously. Your
task will be to use CMR on our experimental test bed to deploy several existing
and novel routing protocols to perform thorough comparisons with regard to
a number of different QoS requirements and network scenarios. Such
scenarios can include changes in congestion
(i.e., certain nodes along a route become overloaded), broken network
connections, changes in energy consumptions of wireless nodes, etc.
Requirements: C programming.
-
Project P2: Network Coverage Maps.
The third floor of Notre Dame's Engineering building (Fitzpatrick Hall) has
numerous wireless devices deployed in labs, offices, and hallways. These
wireless devices use different technologies (e.g., WiFi, Bluetooth, Zigbee)
and different network parameters (e.g., WiFi can operate in one of several
"channels"). The goal of this project is (a) to establish detailed
maps of network coverage indicating the type and strength of signals in each
area of our hallways and public rooms and (b) to use these maps for
improved networking techniques such as coverage-aware routing, error control, or
energy management of wireless devices.
Requirements: Java would be helpful.
-
Project P3: Mobile Sensor Visualization.
Sensor devices are increasingly being deployed in our environment, e.g., to
monitor the structural health of civil infrastructure, cameras for
surveillance purposes, or RFID readers for localization purposes. In this
project, you will build a mobile sensor visualization tool, where data
retrieved from sensors in the proximity is displayed on a cell phone in
real-time. The same interface can further be extended to allow a roaming
cell phone carrier to program a sensor, e.g., to proactively notify
the carrier of certain events (e.g., such as the presence in a building of
a friend).
Requirements: Visual Studio 2005 and C# experience would be helpful,
but is not required.
-
Project P4: Human Activity Inference.
Mobile devices such as PDAs, laptops, and cell phones feature an increasing
number of sensing devices. For example, our lab has several cell phones
that can be extended with accelerometer sensors. These sensors can be used
to infer human activity, e.g., to identify whether a person is walking, running, or has fallen. The beforementioned accelerometer sensor can be used to
establish behavioral models, e.g., there could be different models for
a user carrying a cell phone by hand, in a pocket, or on a belt. This can
be used for security purposes, e.g., if the accelerometer readings differ
from these models (e.g., indicating that somebody besides the phone's
owner may carry the phone), the phone can protect sensitive information
by requiring a password entry.
Requirements: C programming.
-
Project P5: Body Sensor Network.
Body sensor networks are systems of sensors worn by a person, combined with
a sensor collection unit, e.g., a cell phone or PDA. In this project, your
task is to build such a body sensor network, e.g., monitoring physical
parameters such as blood pressure, EKG, blood oxygen levels, body
temperature, and others. A cell phone is used to collect these pieces of
information and to send out an alert (e.g., to a hospital) if potential
problems are found.
Requirements: EE-knowledge is desirable (e.g., it may be necessary to build
connectors between sensors and cell phone).
-
Project P6: Real-World Problems with Ad-Hoc Routing Protocols.
Numerous ad-hoc routing protocols have been proposed, i.e., protocols
that allow wireless devices to stay connected when there is no infrastructure
(e.g., wireless base stations) available. In such cases, communication has
to travel across mobile devices which serve as wireless routers. Some of the
proposed routing protocols are reactive in that, whenever node A needs to talk to node B, a new path between A and B has to be established. Other protocols
just find a suitable route during data transmission, e.g., geographic
forwarding based approaches rely on location-awareness and transmit data
to a wireless device that brings the information closest to the final destination.
There are many real-world problems with such approaches that we intend to
explore. For example, reactive routing protocols are typically based on
flooding the network with messages to find a route. If nodes are currently
down (e.g., they sleep to preserve energy) or busy or if such messages get
lost on the wireless medium, the routes discovered could be suboptimal (or worse
no routes are found). In geographic forwarding based approaches, inaccuracies
in locations (e.g., GPS is known to be inaccurate to tens and sometimes hundreds
of meters), could break the routing algorithms. The goal of the project is to
identify such shortcomings and to propose solutions to improve the
performance and accuracy of existing routing protocols.
Requirements: None - open to all levels.
-
Project P7: Content-Sharing Protocols for Smartphones and Other Phone Applications.
Our group is involved in application and protocol development for smartphones
and other Windows Mobile based handheld devices. In this effort, there are
numerous projects possible, including exploiting the phones' camera and GPS capabilities to implement geotagging, using the phones' WiFi and Bluetooth
connections to implement content-sharing and other social networking
applications, or designing and implementing completely novel applications
and uses for smartphones (e.g., integration with sensor networks).
Requirements: C# will be used, so either C# or Java (which is similar to C#) experience desired.
-
Project PC1: Mobile Mining.
Data mining and machine learning is commonly used to extract knowledge from large sets of data for a variety of purposes. We expect that many mining/learning problems will increasingly occur outside of research labs, i.e., in mobile and wireless environments (e.g., scientists mining through collected data in the field).
The limited resources of mobile and wireless devices may not be sufficient to
perform such intensive tasks, therefore, we are interested in building collaborative environments where mining tasks are offloaded to other mobile devices.
There are numerous challenges to be addressed, including the correct partitioning of data and mining tasks, the dissemination of data (including over multiple hops), and the collection of the results, particularly when these devices move about.
Requirements: Programming experience (C/C++, C#, or Java), interest in data mining and machine learning.
-
Project SP1: Wireless Reliability.
Given the ubiquity of 802.11 devices, it is important to correctly understand
the characteristics of the wireless medium in order to improve wireless
performance. Chief among the characteristics is an understanding of the underlying loss dynamics of the medium due to the significant implications for
reliability and interaction with higher-level network layers. Traditionally,
errors in the physical medium have been viewed as the dominant factor in
patterns of packet loss. In contrast to previous work, our work points to
an alternative source of error, the wireless device itself. Our preliminary
experiments have noted two key observations that are in contrast with conventional wisdom, namely (1) packet losses tend not to be correlated in a small area
and (2) loss burstiness tends to vary significantly among devices. The focus of
this project will be on significantly expanding our existing set of experiments
with regards to 802.11 including MIMO, draft-n, indoor vs. outdoor, and node
density. Students will be involved in detailed result gathering and improving
our existing analysis tool suite (C/C++/Java)
Requirements: None - open to all levels.
-
Project S1: TCP Visualization.
Debugging normal network data for performance implications can be a cumbersome
process. Specifically, ascertaining how a TCP flow is performing with regards
to data rearrangement (out of order packets) is poorly supported in terms of
visualization. The goal of this project is to augment a tool like TNV to improve
the visualization of out of order TCP packets and then to apply this tool to a
tap on the university network.
Requirements: Java would be helpful.
-
Project S2: Mobile Device Firewalls.
The management of firewalls on devices while roaming is an interesting challenge for system administrators. Location-dependent firewalls are an interesting
concept whereby the location determines the level of protection assigned to
the device. The goal of this project is to survey the state of the art
research in this area (commercial, open-source, academia) and to augment
the work of a graduate student with a working implementation of his
solution on either Windows or Linux.
Requirements: Coursework on operating systems.
-
Project S3: Analyzing Anomalies in VPN Logins of a Campus Userbase.
The past few years have seen a dramatic uptake in the usage of Virtual Private
Networks (VPN) for remote users to trusted networks. The authentication logs of
the VPN devices capture a wealth of information regarding the user identification, the user location, and the success or failure of the login. While failed
logins have already been well investigated, the analysis of successful logins
for suspicious activity is a relatively unexamined area. One of our graduate
students has applied data mining tools with significant success but in a
manner that requires a high degree of user steering. The goal of this project
is to streamline the tool and to automate it for release as an open source tool with on-going deployment on the campus network.
Requirements: Programming experience (C/C++ or Java).
-
Project S4: Accelerated Media Streaming for Home Networks.
Over the past few years, the usage of DVRs (Digital Video Recorders) have
increased dramatically. Unfortunately, content recorded on one device often
takes a substantial amount of time to transfer between devices, especially
when the medium involved is wireless. The end results is a loss of the ability
to skip commercials via fast forward and significant waiting periods before
the content itself can be viewed. The goal of this work is to explore ways
to precondition the data to enable layered streaming such that rapid
viewing can still be enabled, albeit at a poorer quality of
viewing with the potential for dilution of quality in undesirable areas
(commercials, etc.). The work will use open source tools (e.g., MythTV) to
explore how content dissemination can be accelerated between devices.
Requirements: Programming experience (C/C++ or Java).
-
Project S5: High Speed 3 Dimensional Positioning via Wireless Signaling.
The goal of this work is to explore if it is possible to use low-cost devices
for the rapid assessment of 3D positioning both in terms of a single object
as well as large masses of objects. The focus of the summer work will be to
explore the usage of RFID, low-cost accelerometers, passive signaling
(beaconing with phase shifting) to capture the motion of a football in a
controlled environment. The project will survey the state-of-the-art in
research and prepare a small demonstration by the end of the REU term if
possible.
Requirements: Signals/systems, EE-heavy background preferred, students who will
be prospective seniors are also preferred.
-
Project S6: Sensor Systems for Swine Monitoring.
While sensor systems have been deployed in a wide variety of areas, the
application of sensor systems to hog confinement buildings has been largely
unexplored. The goal of this project is to explore extremely low-cost avenues
for recording on-going environmental events and conditions with simple
mechanisms for gathering data (reporting via cell phone, PDA, etc). Students
will use COTS-based equipment, development software and data structures for
capturing the building conditions with opportunities for site visits.
Requirements: Operating systems, basic circuits course work.
-
Project S7: Wiimote Interactions for Freshman Engineering Education.
The sensors the Wiimote offer a fascinating physical interaction for students beginning with basic programming. The goal of this project is to create a robust, lightweight wrapper for data capture from the Wiimote as input into MATLAB for our core freshmen engineering course, EG 10111. The project will also create basic laboratory modules along with a fully set of open source code. As time allows, other simple USB devices will also be incorporated as well.
Requirements: None.
-
Project PH1: Energy-Efficient Wireless Real-Time Systems.
Energy consumption plays an important role in wireless and mobile devices
due to the limited energy resources. Our group is concerned with integrating
energy-efficient operation of a wireless device with the real-time needs
of distributed applications (e.g., video/voice applications). In this project,
we will look at novel ways to integrate the management of multiple resources
of a wireless node to reduce the overall energy consumption while maintaining
the real-time characteristics of the node's applications. For example, DVS
(Dynamic Voltage Scaling) is a frequently used technique to pace a CPU
(and thereby control its energy needs) and DPM (Dynamic Power Management)
is a technique used by wireless network cards to enter low-power sleep modes
when not in use. A possible task is to explore how to integrate these two
(and other) energy management and resource management techniques.
Requirements: Operating systems and networking knowledge is helpful.
-
Project LP1: Application and Network Development for SDRs.
Software-defined radios (SDRs) move much of the networking functionalities of
radios and wireless devices from hardware to software. In this project you
will develop simple applications (e.g., FM receiver, sensor network
applications, mesh routers) and network protocols (e.g., simple reliable
transport protocols, MAC layer protocols, etc.) on top of SDRs and
experiment with them. For this project, you will collaborate with faculty
and students from the Electrical Engineering department and some EE knowledge
will be advantageous.
Requirements: Knowledge and interest in EE is preferred.
-
Project T1: Instant Collaborative Map Editing.
Our society is constantly collecting and updating data about the world in which we live. Utility workers, public health workers, cartographers, and many other professionals roam cities and wild areas to collect data about people and objects. However, once collected, such data is slow to percolate back to the central office, and then eventually into an online database. Solve this problem by making collected data instantly available to anyone within wireless range. Using an existing wireless infrastructure of laptops equipped with GPS, create a software system that allows multiple people to add data to a shared map, and instantly allow peers to see all of the results. Demonstrate it by using it on the Notre Dame campus.
Requirements: C programming.
-
Project T2: Distributed Telepresence.
There are many situations in which it would be helpful to see through the eyes of another person. Consider giving a friend directions by watching the real time video of a camera in his or her car. Or, consider a military unit where one soldier needs a different view of the battlefied. Using an existing wireless infrastructure of laptops and helmets equipped with sensors and cameras, build software that allows any participant to select and view real time video provided by any other participant in the network.
Requirements: C programming.