Thesis topics in networking - 2013

I (t.moors AT unsw.edu.au) supervise theses (BE, ME/MEngSc, PhD) at UNSW in the field of networking.

Most are in areas relating to my research interests, primarily video communication and network dependability (reliability), but that can cover many technical areas (e.g. wireless, routing, transport protocols, applications, peer-to-peer, etc).

I may be willing to supervise theses on other topics in networking if there is a very good match between your interests and background and mine. Please email me a short description of your proposal.

This web page lists several possible topics intended for undergraduate theses. They reflect my research interests, and so could be expanded (vastly, especially with more emphasis on fundamental theory than practical implementation) to form Masters or PhD theses.

I cannot possibly do a good job of concurrently supervising all of these projects, and generally only supervise 4-6 BE students per semester. Consequently, acceptance of students for topics will be done on a competitive basis, with the best qualified students getting first choice. I'm flattered by emails that I receive from students around the world asking if I can supervise them doing these projects, but I can only supervise students at UNSW.

If you are interested in any of these topics, then please email your resume and academic record(s) to t.moors AT unsw.edu.au . The earlier you do that and can commit to a thesis (by completing a Thesis Nomination Form, available from the school office), the broader your choices will be.

For information about past theses that I have supervised, see http://uluru.ee.unsw.edu.au/~tim/netskunks/index.html#past_projects

Area Project
Smartphones
Smartphone acoustic location and communication
An app for really personalising computers
Smartphone teleassistance
Smartphone/tablet videoconferencing for iPhone/iPad/Android/etc
000 Video
Video communication
Youtube video packet loss and retransmission
Open-source video/tele-conferencing system
3D videoconferencing using Kinect
Laser pointer for video collaboration, using readily available hardware
Network dependability
Automated WiFi troubleshooting
Warn web browsers about upstream caches
Automated diagnosis of network performance problems
Censoring private information from network packet traces
Infrastructure
NetFPGA implementation of ultra-low latency TCP/IP for financial trading applications
Plan a NBN ISP
Develop a testbed for networking experiments
Navigate the web using network routing algorithms
Software for enhancing computer-aided assessment

Smartphones

TM107: Smartphone acoustic location and communication

RF transmission underlies most common location (e.g. GPS) and communication (e.g. WiFi) technologies, but the audio medium is also available and has advantages over short ranges. In this thesis, you will use smartphones and/or other devices (e.g. laptops & microcontrollers) to initially acoustically locate where each device is placed relative to other devices in the network, and later create a multi-hop communication network between the devices.

Requires: Software, networking, signal processing

References: Large body of work on underwater acoustic networks, e.g. http://www.google.com/search?q=acoustic+network+location

Smartphones and videoconferencing

These projects all involve developing software on smartphones, probably using Java on Android phones (which can be supplied), or using Objective C on iOS devices.

TM112: An app for really personalising computers

Smartphones are really personal in that you carry them with you all of the time, whereas larger devices such as “personal” computers and TV screens are often shared (e.g. the G16 computer lab or a TV in the living room at home) and so configured neutrally (beige) or in consideration of the preferences of others. In this project, you will develop a smartphone app that uses local radio communication (e.g. Bluetooth or WiFi) to automatically personalise such larger devices when you start using them and (if time permits) use the smartphone to augment their displays.

TM110: Smartphone teleassistance

Extend video chat technology on smartphones so that it can be used to guide remotely located people. An example of the application: Everyday Joe has problems starting the engine of his car but with his smartphone and video chat to his mechanic he is shown how to get it going.

TM103: 000 Video

This project will investigate how emergency services (000, 911, 112 etc) call centres might use video communication to assist callers. Issues include using SIP and other protocols to determine the imaging capabilities of the caller (e.g. video or still), discovering networks that can provide the best video service for the caller's location (e.g. is the area covered by wifi or just 3G; which carrier provides the best service?), and simplifying access to phone video features (which may be unfamiliar to the already distressed caller).

TM104: Smartphone/tablet videoconferencing for iPhone/iPad/Android/etc

Test and develop videoconferencing/chat/telepresence software using smartphones (e.g. Android-based Samsung Google Nexus S or iPhone) or tablets (e.g. iPad).

Requires and/or will-develop skills in network protocols, image processing and software development.

Video communication

A separate page describes the rising importance of videoconferencing, and outlines our approach to the problem. Another page, only accessible from within UNSW, describes past projects in this area, which gives context to projects that are currently on offer.

TM118: Youtube video packet loss and retransmission

For various reasons, when stored video (e.g. Youtube) is played out, it is usually sent over TCP which attempts to ensure complete in-order delivery by retransmitting lost packets. Increasingly, users access the Internet across wireless interfaces (e.g. WiFi) for which packet loss rates can be high, causing TCP to frequently pause video in order to retransmit lost packets. This project will involve studying (e.g. with Wireshark and custom software) the loss characteristics of Youtube videos sent across wireless links, with the goal of optimising sender behaviour (e.g. retransmission strategies) and receiver behaviour (e.g. dimensioning playout buffers) in order to maximise the Quality of Experience for video viewing.

TM111: Open-source video/tele-conferencing system

The goal of this project is to construct a videoconferencing system by installing, configuring and customising open-source software. By doing this you will develop skills in running real Unified Communications systems (e.g. VOIP) and build infrastructure that research can use to extend readily available platforms. Examples of open source software that you might use include Asterisk, and client software such as Ekiga and Google Hangouts

TM93: 3D videoconferencing using Kinect

Using video streams from multiple stationary cameras, interpolate to show the view from different perspectives. Cameras might all operate in the visible spectrum, or some might use IR for depth perception as is done by the Xbox Kinect.

TM105: Laser pointer for video collaboration, using readily available hardware

Involves electronics + software

The aim of this project is to build a laser pointer that can be controlled across the Internet (e.g. by the remote participant in a video chat session) and which only uses readily available hardware so that the design, when open sourced, can be used by mass audiences. It will involve some electronics interfacing, and software development that will use/develop skills in computer interfacing, computer vision and networking. The challenge of the project could be extended by adding face detection to prevent the laser being pointed at eyes.

TM87: Student videoconferencing applications

Yawn: You're probably bored of hearing how the NBN will enable all sorts of new applications such as videoconferencing for telehealth and education, but most of the education applications focus on delivery of lectures (e.g. from a lecturer to distributed students), and we all know that there is more to uni than sitting in lectures. The aim of this project is to create videoconferencing applications that are more oriented towards STUDENT needs/desires, and less oriented towards delivery of lectures. While the applications could be fun, almost recreational, activities for students, one more obvious educational application is to allow groups of students to meet to work on projects or form break-out discussion groups in or after a lecture. The project will likely involve developing software that uses videoconferencing infrastructure that is available within the school, which will in turn use and develop your skills with network protocols and multimedia applications.

Network dependability

Businesses depend on network reliability to retain market share, and customers get frustrated by network faults. Network reliability is also fun to study because of the surprising ways in which systems fail and the challenge of understanding and defending against complicated failure modes. Current work focuses on improving network reliability by end-user approaches to detect faults and adapt around them.

The web page http://uluru.ee.unsw.edu.au/~tim/dependable/ provides more context for this topic.

TM109: Automated WiFi troubleshooting

Use & extend your understanding of network protocols to develop software that automatically investigates WiFi problems and suggests the best actions for users to take to fix those problems.

Requires: TELE3118 & lack of fear of developing software.

TM106: Automated diagnosis of network performance problems

People value their time, and hate waiting for computers. When faced with delays in accessing a web site, they would often like to know what is causing the delay, since perhaps they might be able to fix it (e.g. high loss on their WiFi access link) or at least know who to blame. Unfortunately layered protocol stacks and the complexity of network protocols hide from them the information needed to diagnose performance problems. What is needed is software that a frustrated user can run and which diagnoses the problem and explains it to the user. The performance of network protocols such as TCP depends on environmental characteristics such as transmission and loss rates, propagation delays, as well as configuration parameters such as the Slow Start threshold. This project will involve analysing traces of captured packets to explain the cause of performance problems. The analyses will initially be manual and use your knowledge of network protocols, but later be automated, e.g. in Excel spreadsheets or by software that detects and explains performance problems in real time.

TM77: Warn web browsers about upstream caches

ISPs and network operators often install caches for their benefits such as reducing bandwidth use. Often these caches are transparent to web browsers (e.g. in terms of not needing configuration), despite the cache(s) potentially impinging on some aspects of service (e.g. delivering stale objects). In this thesis, you will develop software (e.g. web browser add-on) to detect caches and warn users when necessary.

TM74: Censoring private information from network packet traces

Traces of the packets sent across a network (as presented by sniffers such as Wireshark and tcpdump) can be useful for troubleshooting network problems. However, they can also include private information such as credentials (passwords, cookies and keys) and names/addresses that someone who seeks help in troubleshooting network problems may not wish to disclose. The goal of this thesis is to implement software that can censor such private information from packet traces, making them suitable for submission with fault reports when seeking help to troubleshoot network problems.

Several sanitization/anonymization tools already exist (e.g. tcpdpriv, SCRUB-tcpdump and tcpurify) but they tend to be oriented to sanitizing large volumes of network data (e.g. to create repositories of traces that researchers can be use to study network traffic flows) rather than sanitizing traffic from one user. Consequently, they focus on sanitizing lower layer protocols (up to TCP) and obliterate application layer headers, whereas for troubleshooting, this thesis will seek to retain application layer headers while still removing private info (e.g. http cookies & pop passwords) from those headers.

Infrastructure

TM115: NetFPGA implementation of ultra-low latency TCP/IP for financial trading applications

In financial trading, e.g. algorithmic high frequency trading by hedge funds, significant competitive advantages arise for traders who can observe and act on market changes with even slightly lower (e.g. millisecond) delays than their competitors. Consequently, traders are willing to pay considerably to co-locate their servers with trading platforms in order to minimise propagation delay. Traders can compete further by minimising delays in their end-systems. To facilitate that, this project will investigate how the NetFPGA platform can be used to shift TCP/IP and application layer protocol (e.g. FIX or ITCH/OUCH) processing from software in servers into hardware, where parallelism and application-specific optimisation can minimise trading latency.

TM114: Plan a NBN ISP

The National Broadband Network promises universal high-speed broadband across Australia, and will "level the playing field" between competing Internet Service Providers (ISPs) by charging each the same price for customer access. Combined with the low entry cost for new ISPs (e.g. a national ISP need only connect to 121 NBN Points of Interconnect) it is likely that new ISPs, some with possibly novel service and business models, will start up. The goal of this project is to plan such an ISP. Business planning (e.g. cost and pricing issues) will dominate, but you will need to use and extend your knowledge of telecommunication networks in order to thoroughly develop such a plan, e.g. considering the implications of peering, caching, and partnerships with content distribution networks. Note that "ISP" here need not be limited to Internet data, but may also include broader telecommunication such as voice and video services, and may include (or partner with providers of) some wireless/cellular/mobile services.

References:

Prequisite: TELE3118 or similar network technologies course Interest, knowledge or experience in business planning

TM33: Develop a testbed for networking experiments

(Group thesis)
The goal of this thesis is to create laboratory infrastructure that can be used as a testbed for networking experiments, both for testing the performance of networking concepts that arise from research, and for demonstrating networking protocols in action for course laboratories. It will involve surveying and gathering existing tools (e.g. for load generation, fault injection, measurement and observation, as well as Linux implementations and emulators of devices such as routers and switches) and developing software (mainly C under Linux, plus some script writing) to interface these tools together and create new tools where existing tools are inadequate. Examples of existing tools include NISTnet and Dummynet, ethertap and Cisco CCNA router emulators. A related past thesis developed software for visualising protocol exchanges

TM49: Software for enhancing computer-aided assessment

(Group thesis)
Computer-aided assessment (e.g. using webCT) has many potential benefits such as thorough analysis of student input and low labour overhead to administer tests. The goal of this project is to develop software to enhance current computer-aided assessment used for courses such as TELE3118 and TELE9751. An important part of the enhancement is to improve the feedback given to students after the test by consolidating the results of their assessment on individual questions to indicate specific areas of knowledge or skills that they, individually, need to develop. (Clearly this can also be applied to data from tests administered mechanically, e.g. pencil-based multiple choice tests.) Other areas for enhancement include creating a database of questions that records results of answers to those questions and can generate a question set with an appropriate degree of difficulty, and in developing free-standing software that allows the test to be administered securely, e.g. behind firewalls.