|
Register | FAQ | The Twelve Commandments | Members List | Calendar | Arcade | Find the Best VPN | Today's Posts | Search |
General Gnutella Development Discussion For general discussion about Gnutella development. |
| LinkBack | Thread Tools | Display Modes |
| |||
New filesharing model to outwit censors and improve reliability This idea may have been given some airing and been dismissed - if so, please tell me and forgive me. Currently, gnutella as a P2P system consists of discrete, individual files, residing on dispersed machines. How about a model in which register files are distributed about the system on a pseudo-arbitrary basis, corresponding to an equally pseudo-arbitrary distribution of the actual data in small, say, 200k chunks? The register file would consist of a list of Currently Known Good registers for each portion of the data on different systems. Clients would INITIALLY request register files, and subsequently the register files would request portions of the data from different systems that it knows should contain them. It would attempt to stick to the same machine for subsequent chunks of data but actively switch to the next Know Good sources in the register on failure. If a client finds a server machine to be unresponsive, it sets a status flag in the register file to "Failed Once". If a subsequent client picks up that register file and finds that server machine to be unresponsive, it sets the status flag to "Failed Twice", etc, etc, and updates the timestamp. ======================== On the client side, when you 'share' a file for the first time, you actually do more than that. Yes, you do share the whole file, but you also publish and broadcast the file in small chunks amongst a large number of peers. (It is a condition of gnutella that you offer a certain amount of free space for this trusted process.) This process builds the initial register file, which is then broadcast amongst another large number of peers. =================================== So what happens in a search? For example for 'Song1"? 1: A conventional search for Song1 retrieves the first THREE register files it finds for that file (if available) . 2: Before starting anything, the requesting peer creates a temporary register file. 3: Starting with the OLDEST register file, the requesting peer starts building Song1 with the data referred to in the register file. 4: It sets the flags "Failed Once/Twice" etc, if and when data is unavailable, and moves on to the later register file to see if that file contains more prevalent information, before reverting to the older file and continuing. Equally, if it finds that a 'Failed' flag works, it resets the value to "OK". 5: If it exhausts process 4, it polls previous peers for that chunk of data and updates the register file accordingly. 6: If it exhausts process 5, it begins a brand new nested gnutella search for more register files. 7: The result is (hopefully) a complete 'Song1' on the requesting peer. 8: Last, but not least, the requesting peer has a new register file. This register file supplants any failed register information with itself, and is redistributed. =============================================== To stop the system from going mad and consuming space, if a client has not had a request for a certain chunk of data for say, 3 months, it deletes it and frees it up. (This does not apply to the complete files that it, itself is broadcasting). ============================================== I don't know what the legal implications of this process would be. This is effectively a kind of new file system. But it may reduce the SPOF aspect of so much in gnutella, not only distributing the load, but the responsibility for the availability of individual files. There may be the responsibility aspect. Many people wouldn't want to be an unwitting distributor of adult material, for example. |
| |||
Sounds like you saying that Gnutella needs to start adding in some ideas from Freenet. Breaking files into chunks, speading them out on the network, giving a certain amount of free space for network storage, etc., good ideas that are all being used in Freenet. Maybe someday we will have the protection and anonymity of Freenet with the ease and speed of Gnutella. Good ideas mcalwell, the more the better. |
| |||
Quote:
|
| |||
He's some German guy always proposing we need this / we need that without the slightest clue what he was talking about. I think he also had a freenet phase, when he told everyone that Gnutella should implement anonymity the way freenet did. He also failed to realize that that kind of anonymity freenet offers comes at a price. In case of freenet the price was being an inefficient piece of junk merely good enough to be used for small amounts of information. The idea of freenet is that content will be cached by the network and that it will be purged from the network if it is not requested for a while. Now if you have many, many files the number of requests for less popular files will automatically approach zero and you will never be able to share some episodes of some 70's cartoon that get only one download request per day. |
| |||
Quote:
But I'm not German. I'm a clueless American I didn't say we need to change Gnutella that was mcalwell, and it would be way too hard to do anyway. But we still do need this and that. Quote:
Quote:
You are wrong about it being impossible to share less popular files. I am doing it right now. When you use Frost with Freenet you can share files without even uploading them to the network just like a normal p2p program. The files just have to remain in the same location that you told Frost they were at and you have to run your computer 24/7 sharing them. Then they can be downloaded by anyone that is within a certain number of hops from your computer even though they were never uploaded to the network. I have also tested this with a friend. I upload a file to the network that no one wanted and it died out in just one day (my friend was not able to download it after one day). Then I shared like I said above and he was able to download it. You are right though, Freenet currently sucks and there is no way to make Gnutella anonymous. But I woudn't be suprised if Freenet improves enough and there is demand enough some day for Freenet to become widely used. |
| |||
One more thing, Freenet's biggest problem is not file life it is speed and lack of users. Freenet currently holds the speed record for the slowest p2p program ever made. But they say they are working on that, see the Next Generation Routing Paper. If (I know it is a big IF ) they can fix the speed problem then the users will come. |
| |||
Quote:
|
| ||||
I think anonymity (or at least some privacy) is really needed. The simple cause is: The University just blocked my account, because I was sharing with Gnutella (A company complained, and they complied) (I live in Germany). I was for anonymity before, but now even more. The University-Account isn't the only one I can use, so I suffered almost no damage, but is is the most comfortable. We don't need the level of anonymity Freenet has. Just weak encryption, which can't be cracked on the fly, and some anonymity, which doesn't allow the downloader to see from whom he/she/it is downloading and prevents the uploader from seeing to whome he/she/it uploads. Some ideas on that here: http://dlaikar.de/pwp/wiki/run.php?i...&iPage=AnoGnut (Please feel free to add your own).
__________________ -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. Last edited by arne_bab; December 4th, 2003 at 02:10 PM. |
| |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Need docs about Limewire Searching Model | thongta | Open Discussion topics | 0 | March 14th, 2006 04:30 PM |
Object model | Marwa | General Gnutella Development Discussion | 0 | November 6th, 2003 04:36 AM |
A viable advert free model/option | gpenguin | XoloX Feature Request | 1 | November 25th, 2002 11:03 AM |
Network Model | Gemini | General Gnutella Development Discussion | 6 | May 27th, 2002 09:55 AM |
Improve Stability | Unregistered | General Windows Support | 3 | July 5th, 2001 06:20 PM |