NB: Read the whole assignment first. Use your three weeks wisely.
1 Pitch
Picture this: you and your friends are writing an essay together, but different parts of it, which you will later put together. But how are you going to do this? You could help us to implement and later use a prototype of our app: TextTorrent. Its core functionality is simple: peer-to-peer exchange of text files, which allows collaboration seamlessly and efficiently without any of the usual headaches of file-sharing. Overall, TextTorrent has the potential to streamline teamwork in countless scenarios, from group projects to remote work to personal hobbies. So, are you up for the challenge?
2 Technical details
TextTorrent must rely on a tracker to register peers as well as their files. For instance, Figure 1 illustrates five peers and one tracker. Recall that the tracker does not store files but a table with the peers that do so. In Figure 1, the tracker knows that Peer A stores the file A1.txt, Peer B stores the file B3.txt, etc. Two or more peers can store the same file. A peer interacts with the tracker during three phases. Note that the second one may occur many times.
Phase 1: peer registration
1. A new peer connects to the tracker and starts accepting connections from other peers.
2. The peer sends the tracker the list of its files.
3. The tracker modifies the entries in the table corresponding to these files accord- ingly: if the file exists in the table, it adds the IP address of the peer to that entry; otherwise, it creates a new entry with the file’s name and the IP address of the peer.
Phase 2: file download
1. The peer asks the tracker for the list of available files.
2. Once the peer decides which file to download, it asks the tracker for a second peer that stores the file.
3. The first peer connects to the second and asks for the file.
4. If the download is successful, the first peer tells the tracker to update the corre- sponding entry with its IP address.
Phase 3: peer unregistration
1. The peer tells the tracker to remove its IP address from every entry in the table.
2. The peer disconnects from the tracker and stops accepting connections from other peers.
CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,
Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This
7COM1028 Secure Systems Programming Referral Coursework: Secure
Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip
CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme