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 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 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.