Thesis topics in networking - 2016
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, Software Defined Networking (SDN) and network dependability (reliability), but that can cover many
technical areas (e.g. wireless, routing, software defined networking, 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
This web page lists several possible topics intended for undergraduate
theses. An asterisk (*) before a topic title indicates that a student has started that topic, though there may remain much more to do. The topics reflect my research/teaching 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
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.
TM142: Inter-interest app for smartphones
Write an app for smartphones (e.g. running Android) that matches people who are gathered together according to how well their expressed interests intersect. Requires skills in software development, local & personal area networking (Wifi/Bluetooth), graph theory / social network analysis, algorithms, privacy awareness.
TM150: Smartphone apps for more effective bus services
In this project you will develop a smartphone (Android) app that uses information available from wifi networks to estimate the behaviour of public transport users and will develop communication mechanisms that allow bus behavior to be optimised by considering both existing and imminent bus passengers.
TM148: Smartphone app for automated roll checking
Educators sometimes waste class time by checking a class roll manually. In this project you will develop a software app for smartphones (probably Android, perhaps IOS) that will allow educators to check the class roll automatically.
TM131: Computer vision processing of video presentations
Powerpoint (and equivalent) presentations are common in business and education, for better or for worse. Videos of such presentations are often recorded and made available online, e.g. through Youtube or a Massive Open Online Course. While often the corresponding PPT/PDF file is also made available online, often it isn't and potential viewers might seek such a file, e.g. to scan over before deciding whether to watch the presentation. Reciprocally, viewers may have a copy of the slides from the presentation, but seek to determine which point of the video discusses a particular slide, so that they can skip discussion of other slides. In this project you will develop software (likely using the openCV computer vision package) to process online videos and extract useful presentation information, such as frames that capture slides and the timing of when slides first appear. Challenges may include dealing with slide animations, obstructions (e.g. the speaker), extracting searchable text from the images, and interfacing with multiple video sources (e.g. Youtube) and formats.
References: Video editing software often includes scene change detection functionality, but when applied to presentation videos it yields many false positives (same slide but foreground changes - e.g. speaker moves) and false negatives (slide changes but software considers differences between slides to be less significant than ongoing foreground changes). Personal video recorders may detect scene changes to allow users to skip ads, but such detection is often guided by non-visual factors (e.g. audio, expected ad duration, other signals). http://vis.berkeley.edu/papers/videodigests/
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.
TM127: * Automated WiFi security troubleshooting
Two actual scenarios that led to Tim (your potential supervisor) to be unable to connect to Uniwide because of security problems were when he changed his zpass at home but didn't update his computers Uniwide password when on campus, and when he tried using a laptop on which the date was set to 1980 (presumably due to a battery/power problem) which led to root certificates being invalid so no access points could be authenticated. These problems led to the wifi "not working" with few hidden symptoms of the specific cause. Engineers like you and Tim can troubleshoot such problems, but most "normal" people lack the skill or energy to fix such problems. The goal of this project is to develop software that can automatically diagnose/troubleshoot wifi security problems and tell "normal" people what they need to do in order to fix their specific problem. e.g. output something like "Check the time on your computer" rather than "Recheck all uniwide instructions, and notice in step 16 that you have no Trusted Root Certification Authorities when there should be several, and find on 3rd web search attempt that the cause may be an incorrect clock." You will need to use operating system (e.g. Windows) APIs to examine network security settings, possibly write sockets programs to test network connectivity, develop a deep understanding of wifi security, and write programs that interpret multiple symptoms and give specific useful instructions to lay people.
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.
TM128: * Network technologies: Vendor certification to supplement academic courses
Vendors of networking equipment (e.g. Cisco, Juniper, Huawei) often provide courses and certification (e.g. CCNA, CCNP, CCIE, JNCIA) for how to use their equipment. Such courses overlap university network technology courses (e.g. TELE3118) in that some of the underlying theory is covered by both, but they also cover more practical (and vendor-specific) aspects that are not covered by academic courses. In this project you will experiment with networking equipment and help develop course material that gives students, who already know (or are currently learning) the underlying theory, access to the practical aspects of such vendor courses.
TM134: Hacking wacky TCP features
In this project you will modify an implementation of the TCP protocol to provide unusual features, such as the ability to deliver data out of sequence and support for multicast, for use in delivering video. This is an advanced topic which will likely require Linux kernel programming (a fallback might be ns3 simulation/emulation) and in-depth understanding of TCP.
TM137: Clean slate network designs based on Software Defined Networking (SDN)
The TCP/IP stack incorporates many design choices (e.g. see nms.lcs.mit.edu/6829-papers/darpa-internet.pdf) that have led to its success as a global internetworking technology but those choices also limit its suitability for certain narrower applications (e.g. connecting peripherals to a computing device, or for corporate intranets). The recent introduction of Software Defined Networking (SDN) allows network owners to customise the behaviour of network devices (e.g. switches/routers) to levels that are unprecedented with earlier devices that tightly integrated the control plane (e.g. OSPF/EIGRP routing) with data forwarding. This project will involve exploiting this new-found flexibility to implement novel protocols on SDN-enabled switches that are unencumbered by the design constraints of TCP/IP and so are more highly optimised for certain network applications.
This topic requires extensive programming in order to implement network protocols and may require the student operate under a non disclosure agreement. It requires strong understanding of existing network protocols, and a creative approach to questioning existing systems and proposing and implementing alternative designs.
TM151: DNS privacy
Communication privacy is important, and is exemplified by the increasing use of transport layer security to support HTTPS and similar services. However, domain names are still typically transmitted in plaintext, e.g. when using DNS to resolve names to addresses. Since many sites are hosted by Amazon, Akamai and other services, eavesdropping the IP address doesn’t necessarily indicate which server somebody is using, which also leads to domain names being exposed in TLS setup and would make site privacy possible if names were not exposed through DNS and TLS setup. This project will implement in software mechanisms to hide domain names (through encryption and other mechanisms) and will assess the cost of such mechanisms (e.g. on DNS caching and personalisation of DNS answers, and whether servers require extra state information)
TM147: Defending against phone spam/robocalls
Unwanted unsolicited communications ("spam") first became a problem for email because of the negligible cost of sending email. It is increasingly becoming a problem for phone services due to falling costs of phone calls themselves and increasing international phone access in developing countries where labour costs are relatively low. Caller ID allows individuals to ignore calls from unknown sources, but business often revolves around acquiring new customers, and caller IDs can be spoofed. In this project you will investigate technical mechanisms that could help defend against such phone spam. Examples may include applying collaborative filtering techniques (as used to filter email spam) to filter phone calls and in extending phone system software (e.g. the Asterix PBX) to check (e.g. apply ingress filtering to) caller IDs. You will implement prototypes of such mechanisms in software, possibly in the form of a smartphone app or Asterix module.
Prequisites: Knowledge of network technologies essential; reasonable programming skills; willing to learn about phone signalling systems; knowledge of network security (e.g. TELE3119) might help
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.
TM141: Software switch implementation/emulation for use with Software Defined Networking (SDN)
Software Defined Networking (SDN) allows open programmable control of network switches, but typically works with switch hardware that implements the data plane. Yet software implementation/emulation of switch data planes is useful for learning about existing, and experimenting/prototyping with new, data plane technologies. In this project you will take an existing modular software implementation of switch data plane and extend it to work in a SDN context.
See also this past thesis
TM140: A fine-grained ontology of network technologies
Ontologies name and define the interrelationships between entities in a domain. An ontology for the field of network technologies would include concepts such as Ethernet, carrier sensing, Binary Exponential Backoff, retransmission, error control, etc, and show how such topics relate to one another. An ontology for networking would be useful for classifying research papers and educational resources about networking, and for matching queries/questions/problems to resources that may contain helpful answers. The aim of this project is to develop such an ontology for the field of communication networks.
e.g. a coarse initial ontology of networking
TM135: * Content distribution across a national Software Defined Networking testbed
Software Defined Networking is currently one of the hottest topics in networking, and UNSW is leading an ARC-sponsored LIEF grant to establish a SDN testbed connecting 10 universities across Australia. As the lead technology expected to be used by future networks, SDN must support the increasing network load made by video traffic. In this project you will develop a system that can be used to demonstrate video content distribution across the National SDN testbed. You will gain experience in leading edge SDN and CDN technologies, and in network protocols (e.g. using DNS to redirect clients to the best content replica).
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.
Prequisite: TELE3118 or similar network technologies course Interest, knowledge or experience in business planning
TM143: Networked multiplayer game
In this project you will develop client and server programs that implement a real-time networked multiplayer game. It will extend your knowledge of TCP/UDP sockets programming through a server that broadcasts timing beacons to players, players that broadcast their position in the playing field to nearby players, and reliable messaging connections between cooperating players so that they can plan their moves.
TM144: Multimedia applications using sockets
In this project you will build your own Skype/Voice-Over-IP(VOIP) equivalent application that allows audio communication over packet-switched networks. It will extend your knowledge of multimedia networking from courses such as TELE3118 as you will be required to implement features such as playout buffers for correct timing, and also develop skills in programmed multimedia access (e.g. microphone input and speaker output). While a version should work on the Windows platform, extension to Android or other smartphone platforms is also possible.