The file is splitted into blocks. Peer initiating downloading gets file blocks simultaneously from multiple peers. However peer cant contact other peer directly, the central Supeepeer coordinates the connection among peers. Due to this problem of NAT traversal is alleviated. The server decides route and network coding applicability. https://drive.google.com/open?id=0B55XUQq2E5CjRGg3ZVgwclFBZlk&authuser=0
We are using paircoding. If we use RNC, It is required to encode a message in a very large field, so it reduces the probability of failing to decode messages. An other drawback of random network coding is the increase in the data traffic. As there is no deterministic path for data delivery, all the nodes take part in relaying the data to the receiver is even if it is not necessary. As a result, the same message may be transmitted through the same link multiple times.
- If file having odd number blocks, then last block is not downloaded.
- Establish connection between peer and server rather than sending alive packets asynchronously. Use that channel for communication. Also handle Peer UNJOIN.
- Network Overlay Construction, Superpeer ring topology.
- Show progress of file download/upload in GUI.
- Add bandwidth module.
- File link creation. That is file is synchronised automatically if source updates it.