Preferred Focus and Use Case:
For this project, I have decided to focus on applying a peer-to-peer architecture to a network of autonomous underwater vehicles (AUV’s). The purpose of an AUV is to gather data from the ocean using onboard sensory equipment without the need for a human operator. The data gathered by the AUV is then sent to the surface using a client-server architecture. For more complex operations, it would be beneficial to have a group of AUV’s communicating and sharing collected data with each other to improve coordination and efficiency. I propose that these AUV’s should use a peer-to-peer network to intermittently communicate where each AUV is a peer capable of sharing and distributing files to the other AUV’s in the network.
There are a number of constraints when dealing with underwater communications. The primary constraint is the limited range of communication. AUV’s use acoustic modems to send and receive signals and due to the limited battery life, they have to limit the range in which they cand send these signals. To mitigate this, each AUV could use data from received signals from other AUV’s to adjust their course to ensure they are always within range of the groups signals.
Protocol Overview:
This design will use a peer-to-peer architecture similar to BitTorrent with each AUV acting as a peer to share/distribute data with each other. Once an AUV collects data with its sensors, it will distribute the data file in chunks across all other peers in the network using TCP connections. In return, other peers in the network will share chunks of data files that they gathered. Once an AUV has the entire file from received chunks, it has no option but to stay in the network and continue sharing chunks with other AUV’s. Eventually each AUV will have full data files gathered from neighbouring peers so that if one AUV happened to get lost or deactivate, the data it gathered could still be obtained from a neighbouring AUV.
One AUV will also act as a tracker as well as a peer. Initially each peer will register itself with the tracker and in return, the tracker will give the peer the IP addresses of all other peers in the network. Once all peers in the network registered, they will periodically send information to the tracker, informing the tracker if the peer is connected and what chunks they have stored.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of