Quote:
Originally posted by trap_jaw4 That's not even remotely like a DHT. |
But the way it works suffices to build a buddy-system on it.
When you ask for a download you get all who also download teh file. Here, you simply have the buddies buddies addresses. You don't need to know anything about them,, but that teh buddy says "hello" to them, as soon as he/she comes online. If you now come online, you first say hello to all of your buddies, and when you don't reach one, you ask the buddies of that buddy do give you the new address. If they don't have it, there is none. Else they will give you the buddies address.
If you want to send a message to your buddy, but the bugger isn't online, you smply send it to all the buddies of the buddy, and as soon as your buddy comes back and says hello to them, they pass it on.
With public-key encryption, the messages could only be read by the buddy to whom they were sent. They could be verified via signatures.
Difference from the download-mesh: In the download mesh you have alt-locs for files, which you give to otehrs when they ask. Here you have alt-locs for the address, which you use yourself.
As soon as you connect with a buddy, you send your whole buddylist over there (IPs suffice for that), and when it changes, you send them an updated buddylist.
Sure, that wouldn't scale, but it doesn't have to (except if you have 5000 buddies).
Buddy-discovery, if none of your buddies is online anymore goes via buddy-files over Gnutella. All your buddies and you yourself have your buddy-file, so there should be enough sources for it.