adulau / Forban

Forban is a p2p application for link-local and local area networks. Forban works independently from the Internet and uses only the local area capabilities to announce, discover, search or share files. Forban relies on HTTP and it is "opportunistic".
http://www.foo.be/forban/
134 stars 24 forks source link

Optimze data exchange #22

Open MaStr opened 11 years ago

MaStr commented 11 years ago

Hi, the current implementation downloads work like normal browser downloads. Is there a resume functionality- I assume not. Even the detection if the remote file is bigger, than my local one and then start to download is not very optimal.

Under heavy network-load or in disconnect situation the "download one file completly" is not very useful. What do you think of a DHT-torrent implementation for optimistic mode (and serving it)? (optional feature)

Matthias

adulau commented 11 years ago

There was a resume functionality in the past but I removed it when you have file with same name but different content it was an issue. Resuming different files ;-)

I think the block-oriented hash might solve two issues:

Implementing Kademlia could be a solution but that means Forban node search will be a mechanism for finding the nodes. Another approach would be to use a simple technique "à la ssdeep" where each file is represented by a set of "hashed" blocks. The index would be a simple list of files with a set of blocks. and then Forban could find the same content even if they have different name.

What do you think?

MaStr commented 11 years ago

After reading a few thing, I think we have to discuss that whole topic a bit more. I'm going to write more about that later.