COMS 6181 Projects

All projects should consist of teams of three students. The topics below are suggestions; I'd be happy to discuss other suitable topics that match one or more themes of the class.

Projects can be implemented on PCs, MacOS or a mobile OS (IOS, Android).

Teams need to submit a project plan.

Contextual security
Build a simple Android or IOS app that reports back the user's location to an authentication system, either PAM (for Linux login) or a web authentication framework (such as PEAR Auth for PHP). If the user location agrees with the location estimated by IP address of the login request, use the normal login process. If not, add Google Authenticator or another two-factor method (e.g., FIDO U2F) to the authentication process. Consider other authentication factors, such as web browser and time-of-day patterns.
Performance monitor
Network traffic monitor
Indoor location accuracy measurements
Adjacent offices or apartments.
iPhone/Android rich presence
Using the iPhone, Android or other smartphone platforms, build a system that reports the value of its sensors, including local time, geospatial location, acceleration, speed, light level, sound level and user activity, via "rich presence". Build a web interface for a SIMPLE rich presence server. Try to detect common activities, such as walking, by the output of the accelerometer.
Home intercom
Build a home intercom using standard protocols. The intercom should have no central server, and work by push-to-talk and multicast.
Location measurement using Bluetooth
Use BlueTooth devices such as keyboard and mouse interfaces to determine where a mobile device (e.g., Android, iPhone) is located. Only take into account fixed devices, if possible.
What kind of Internet am I on?
Many parts of the Internet, whether in homes or hotels, businesses or buses, are no longer transparent and only offer a limited subset of capabilities, from delivering unicast packets only to restricting the ports that applications are allowed to use. A draft prepared for Internet2 describes some of the distinctions. Extending our DYSWIS tool (written in Java), the project should implement an easy-to-use tool, using Java or Flash, that detects the capabilities of the current Internet connection.
Automatic speaker recognition
During phone conferences, it is often difficult to tell who is speaking, particularly if the group meets only infrequently. Using existing speaker recognition technology, build a tool that, given a list of names and speech samples, tries to determine the most likely speaker, sending the name by IM to the participants and/or displaying it on a web page.
Web 2.0 conferencing
Using Ajax and similar technologies, create a simple web conferencing application that allows a group to collaborate by text chat, file exchange, floor control and voting, possibly supplementing a phone conference.
Echo detection for VoIP
Detect whether a voice channel has echo, so that a network management application can monitor the quality of a call or conference.
Location privacy
Consider how to improve location privacy for users, e.g., in Google Latitude. Consider location fences, Facebook groups and similar mechanisms.
Acoustic user location
Using two or more microphones, determine the approximate location of a speaker in a room. (You may need to acquire additional hardware for this project; please discuss possibilities with the instructor.)
Content distribution network using NetServ
Using our NetServ (Java-based) programming environment, build a content distribution network that optimizes content delivery on a national test network (GENI).
Location-aware BitTorrent
Make BitTorrent location-aware, so that it preferentially retrieves content from nearby sources, such as within the same home.
Proximity-aware devices
Discover other devices within close geographic proximity, if they match the same interests or group. Example uses: games or collaboration (e.g., in a classroom, at home or conference).
Location-based information
Build a web or smartphone application that uses location-based services (JavaScript or smartphone APIs) to allow users or owners to annotate locations on a map with text, photos or audio narration. This could be used, for example, for building guided tours for nature areas or parks.
Multiple interfaces
Accelerate downloads by using both wired and wireless (802.11) interfaces, or both cellular data and 802.11. Consider mTCP and SCTP, as well as application-layer options.