|
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 |
| |||
Freeloader-Friendly Anti-Freeloading Approaches <p align="right"> 12-11-2001 </p> <font size="4"><b><center>Freeloader-Friendly Anti-Freeloading Approaches</center></b></font> Is this an oxymoron? Perhaps not... <b>What's a freeloader?</b> A freeloader is someone who downloads files constantly, or leeches, and doesn't share anything with the rest of the community. <b>Why are freeloaders a problem?</b> They take up a large portion of upload slots available, leaving few available resources. Sharing involves two entities and is a two way process. In Gnutella's case, each does should give something to the other. However, this is not so. Most people are in the mind-set of 'download and go'. The fact is you can't have one person taking everything and not giving anything back. That's not sharing. It's taking. It's greed. It simply doesn't work. Due to the current standing of the network, Gnutella should be called the 'File-Giving Network'. I believe LimeWire took a very wise approach to free-loading (I reference LimeWire in several places throughout this post - I AM NOT A LIMEWIRE ADVOCATE). LimeWire will not let freeloaders download from the host's computer at the users's discretion. This is predetermined by the number of files a user must be sharing in order to qualify to download. Granted, most people don't bother turning it on, but the people that do are doing themselves, and everyone else, a big favor. Not everyone is forced to used the features. As a result, they did not ruffle too many feathers when they implemented this idea. <b>Current dilemnas:</b> <b>1)</b> Freeloaders must still be included. They are not evil. Gnutella was founded as an open standard, and the idea of censorship has been against its philosophy from the beginning. <b>2)</b> Gnutella is not an efficient networking protocol when compared to others. In the beginning, the idea was to create a completely decentralized network, but now we are seeing a migration back to a more organized network topology. Several measures have been slowly introduced, but it is high time for something a bit more drastic. This was something we wanted to avoid in the beginning, but now that the network has grown, but we once again see a centralized network's usefulness. So, all I'm saying is that there is always room for improvement until Gnutella gets better/more efficient than current client/server models there's room for improvement. We go from there, but we worry about it later... Currently, modem users comsume lots of their bandwidth with Gnutella traffic and do not have much bandwidth left for uploads and downloads. As a result, most modem users are forced to become freeloaders if they want to download anything. This needs to be changed, or people will use other file-sharing networks. The network's size is limited by modem users. If the network could span a majority of Gnutella users, more files could accessible to everyone. A network composed completely of DSL users would be fast, but this would lead to segregation and smaller search horizons. Dial-up users might as well give up altogether. Modem speeds are the primary bottleneck when it comes to scaling the network to a larger size. <b>3)</b> Most people that freeload to do not realize that they are freeloading. The classic Internet (ok, so the Internet isn't <i>that</i> old - how about common?).... The common Internet model is that you download from from a server. That's it. The server does not download from you. Therefore, most people don't understand the concept of peer to peer networking. It is a new thing to them, and they currently have no initiative to share files with the Gnutella community. <b>Possible solutions:</b> <b>1)</b> Include freeloaders anyways. The spirit of Gnutella is freedom and uncensored file sharing. If you really wanted to, you could abandon Gnutella altogether and create a new proprietary, censored network. <b>2)</b> LimePeer has already begun working on the problem of network size. They refer to it as UltraPeer/Client. This allows fast users to form a solid backbone, and the other, slower users to become highly organized branches. Many more hosts than currently possible can be connected at once in this way. File lists are cached on the Ultrapeers, which reduces query traffic, while the branch nodes communicate with the network trough its respective Ultrapeer node. It is still in beta phase, however. Hopefully, others will adopt this once LimePeer standardizes its method. Once successfully integrated into Gnutella, modem users will be able to participate without hacing to sacrifice great amounts of bandwidth. Distributed downloads need to be implemented more widely and effectively. Some clients are burdened with especially large files that could be easliy uploaded in segments by multiple people at a much greater speed. Currently, swarmed downloads seem to be a good way to allow everyone to contribute proportionally and allow downloads to proceed at an accelerated rate. If more clients can adopt this standard, more download attempts will be successful, and many busy servers will be free to upload file segments to everyone. Obviously, a large percent of Gnutella users would need to implement this in order for it to be successful. Here's the main emphasis: Modem users can contribute small portions of a file transfer in a situation where contribution would be other wise impossible. Ideally, the amount of file segments/portions uploaded should be proportional to the amount of available bandwidth. In other words, file upload responsibility is equally distributed. <b>3)</b> Consider the possibility of educating the file-sharing public. But right here is where we hit a snag: How do you edicate them? Does anyone actually like those screen tips that pop up when the program starts (like Xolox)? Maybe I'm alone on this, but it sure annoys me to death. Perhaps a better idea can be presented on this forum. I invite everyone* to participate in this discussion. Perhaps together we can invent some ways to solve some of the problems the Gnutella network faces. <font size=1>*Does not apply to trolls, flamers, or other annoyances. Terms subject to change without notice. ;-)</font> Last edited by TruStarwarrior; December 12th, 2001 at 12:55 AM. |
| ||||
Thx for your posting! I agree, Freeloaders are not evil and should IMHO not generally be blocked or tortured (hehe). I use this opportunity to repost some of my friendly anti-freeloading ideas: My favourite solution is Swarming. Swarming means to distribute small parts of files all over the network and every servant takes part (even modem users). Please read more about advantages and technical details in this link. For a modem user swarming does not significant decrease the download bandwith, it uses only a short amount of his capcity (1-10%). Also I think a philosophy of "healthy servant behaviour" is a very good idea (read more at Limewire [1]). For example a servant should allways share the download folder and allways allow 1-n upload slots (n depends on uplink bandwith) with a _minimum_ bandwith, e.g. as eDonkey or Xolox does. Gnutella servants which allow zero upload slots (most servants do), do support freeloader and therefor are unhealthy to the network. Especially this behaviour must be stopped IMHO! And finally the anonymous Gnutella network should be turned into a real community. Inside an anonymous network people intend to "take and go"... a community would encourage people to a much more cooperative behaviour. To achieve this goal there are various ideas: The users need a personal contact, a chat between clients. We should build structures which strengthen communities, e.g. more specialized horizons where people of a special interest (music taste, gamers, coders, etc) can find each other. People with similar interest intend to be more cooperative to each other. Or how about showing a "gnutella karma" (or call it a generousity indicator) which shows how much you have downloaded and how much you have given back. Let's imagine there is a chat ability between future clients and you will see the generousity/karma (together with a title from 'A++ superpeer operator' to 'Big sharer' to 'whining milkdrinking freeloader') of your opponent... All this together could encourage users to be more cooperative, to be a part of the network. Gnutella means sharing. Some of my ideas. hope you like it, Moak. [1] LimeWire article about Network Healt http://www.limewire.com/index.jsp/med_require |
| |||
Seeing as we're fretting and being all concerned about freeloaders, how do you suppose would be an effective way to communicate our ideas to them? Should we just force features into the clients? Or should we leave them as an option? I'm thinking that if the options has no known benefits, or the options aren't even known, the option will not be used, and will be mostly useless. On the other hand, if you forced them to always have the aflf (anti freeloading features) turned on, will they get mad and try to use a client that doesn't use these? |
| |||
The thing with freeloaders is, no one is REALLY freeloading on the network. Sure, some people may be leeching, but even those people are still routing our searches and responses around, so they are still contributing to the health of the network. At the end of the day, there is nothing we can do to freeloaders, since anyone can fake share files. To me, it's a non-issure. If you don't want to share, thats your problem. |
| ||||
A message Maybe a message that appears the first time you use your Gnutella client, or after the installation. It should explain what a freeloader is, why it is important to share their files and encourage users to do so. Ivan "In the dark we make a brighter light" |
| ||||
Quote:
Quote:
Here is something I posted in other threads (1 2): The bandwith of modem users is completely wasted right now and modem users are often "forced" to be freeloader. Actually this egoizm is contraproductive and means less files for all. While high bandwith users can share the traditional way, swarming is a key to make low bandwith users share with the network, without any significant negative effect or traffic-overhead. For both, for high and low bandwith users, sharing should mean there is a guaranteed high percentage of bandwith available for their own use! Conclusion: There are many ideas to envolve Gnutella and all work together: 1. A superpeer concept for dynamic traffic routing = reducing backbone traffic + improves network toplogy + increases horizon (more available files) 2. Search-caches for reducing double/multiple routed traffic = reducing high amout of search backbone traffic 3. Swarming technology = make use of the high amout of wasted bandwith + will spread often requested files + balance load + less "busy" servants (more available files) 4. Add more ideas here (see above)... PS: About Johns swarming critic, I gave a link with possible implementation details. A superpeer concept must not stop swarming, no, both works together! Perhaps with a new descriptor (SUPERPONG) to improve information flow. Last edited by Moak; December 12th, 2001 at 11:20 PM. |
| ||||
Quote:
2. About which other networks are you talking? If you mean FastTrack or eDonkey you should better investigate the behaviour of those clients and will find out they have some anti-freeloading tactics implemented. Miao. [1] Free riding on Gnutella - http://www.firstmonday.org/issues/is...dar/index.html |
| |||
If you want to see swarmed downloads in action, check out Xolox (while you still can!). Swarming is really an awesome thing, and you can <b>potentially</b> max out even a fast cable modem connection if there are enough mirrors of the file you are downloading. Each person only sends a little bit, and the user gets their files many times faster. This may take up several other user's upload slots at one time, but they are subsequently freed up in a few minutes, as opposed to sucking from a single node for hours on end. |
| ||||
There is a little difference between segmented downloads from multiple hosts(what Xolox does or download manager like GetRight) and Swarming. Segmented downloads means you can download simultaneous multiple parts of a file (to increase download speed). Swarming means the same + distributing small file partials over the network (to increase availability, download bandwith for others, balance load etc). Greets, Moak |
| |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Multiuser friendly. | Mr. E. | New Feature Requests | 0 | August 24th, 2002 03:07 PM |
options for freeloading preventation? | quietbeat | New Feature Requests | 1 | June 3rd, 2002 12:47 PM |
Stop Freeloading | Unregistered | New Feature Requests | 5 | April 12th, 2002 08:47 AM |
Stop Freeloading | Unregistered | General Discussion | 4 | March 26th, 2002 01:22 AM |
Anti freeloader indication | Unregistered | New Feature Requests | 1 | January 24th, 2002 08:36 PM |