dissertation-0-project-prop.../phase1.txt

47 lines
2.3 KiB
Plaintext
Raw Permalink Normal View History

2020-10-20 09:41:24 +01:00
Subject: Phase 1 - Hillion: A Multi-Path Bidirectional Layer 3 Proxy
Phase 1 Project Selection Status Report
Name: Jake Hillion
College: Queens'
User Identifier: jsh77
Directory of Studies: Neil Lawrence <ndl21@cam.ac.uk>
Please complete 1, 2 and 3 below.
1. Please write 100 words on your current project ideas.
The project aims to use multiple, heterogeneous, congestion controlled network connections to a single high bandwidth server, creating a single virtual link between the client and wider network, which can make efficient use of the combined bandwidth of the individual connections. Congestion control will allow the system to adapt to changing network conditions, for example with wireless links. It will also allow failover without a visible change of IP address to peers, making the failover transparent to higher layers of the communications stack.
2. Please list names of potential project supervisors.
Mike Dodson <md403@cam.ac.uk>
3. Is there any chance that your project will involve any
computing resources other than the Computing Service's MCS and
software that is already installed there, for example: your own
machine, machines in College, special peripherals, imported
software packages, special hardware, network access, substantial
extra disc space on the MCS.
If so indicate below what, and what it is needed for.
Personal Computer (AMD R9 3950X, 16GB RAM)
Personal Laptop (AMD i7-8550U, 16GB RAM)
Used for development without requiring the lab. Testing this application will require extended capabilities, which would not be readily available on shared systems.
Virtualisation Server (2x Intel Xeon X5667, 12GB RAM)
Backup Virtualisation Server (2x Intel Xeon X5570, 48GB RAM)
A virtualisation server allows controlled testing of the application, without any packets leaving the physical interfaces of the server.
If both of these servers were to fail, it is possible to perform testing with a cloud provider, albeit in a less controlled environment.
I accept full responsibility for the above 4 machines and I have made contingency plans to protect myself against hardware and/or software failure.
Go(Lang) code written will use a version later than that available on the MCS, as the version currently on the MCS (1.10) does not support Go Modules.
Rust is not available on the MCS at the time of writing.