Slashdot Mirror


Making BitTorrent Clients Prioritize By Geography?

Daengbo writes "While I live in S.Korea and have virtually unlimited bandwidth in and out of the country, not all my Asian friends are so lucky. Many of the SE Asian and African countries have small international pipes. Even when a user has a high-speed local connection, downloads from abroad will trickle in. Bittorrent clients apparently don't prioritize other users on the same ISP or at least in the same country. Why is that? Is it difficult to manage? If I were to write a plug-in for, say, Deluge, what hurdles would I be likely to come across? If this functionality is available in other clients or through plug-ins, please chime in."

25 of 227 comments (clear)

  1. Azereus already has a plugin for this by dave562 · · Score: 4, Informative

    There is already a plugin for Azereus that does this. I downloaded it about a year ago. I'm at work right now or otherwise I would look at my installation and tell you the exact name of it.

    1. Re:Azereus already has a plugin for this by LSD-OBS · · Score: 4, Informative

      Is that the same plugin that constantly runs a barrage of pings in a hidden shell? Can't remember the name, but I ran a similar sounding plugin and didn't see much speed improvement but it sure did chew up my CPU.

      --
      Today's weirdness is tomorrow's reason why. -- Hunter S. Thompson
    2. Re:Azereus already has a plugin for this by markov_chain · · Score: 5, Funny

      You can tell me, I work in the same place.

      --
      Tsunami -- You can't bring a good wave down!
    3. Re:Azereus already has a plugin for this by mark_hill97 · · Score: 5, Informative

      It is called Ono and it can be found here

    4. Re:Azereus already has a plugin for this by Sancho · · Score: 4, Interesting

      ISPs actually like P4P. It gives the customers what they want (fast P2P) and it gives the ISPs what they want (less data sent to the tubes that they don't own, and thus reduced costs and overhead.)

    5. Re:Azereus already has a plugin for this by mcnellis · · Score: 5, Interesting
  2. "Prioritizing" by zombietangelo · · Score: 5, Insightful

    IPs could, theoretically, be prioritized based on a database of known general geographies associated with certain digits. Just remember - prioritizing is one thing, but it's a slippery slope to peer exclusion.

    1. Re:"Prioritizing" by evanbd · · Score: 4, Insightful

      Just remember - prioritizing is one thing, but it's a slippery slope to peer exclusion.

      Not really. Prioritize who you request data from, but not who you send it to. If all incoming requests are treated equally, but you only request from the optimal peers, you get all the benefits without any of the omgcensorship fud.

  3. uTorrent by SpitfireSMS · · Score: 5, Informative

    uTorrent has a feature called local peer discovery that does that exactly. It was even able to discover other people at my university sharing the files.

    1. Re:uTorrent by X0563511 · · Score: 5, Informative
      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    2. Re:uTorrent by F�an�ro · · Score: 4, Informative

      Local peer Discovery works only within a lan, the corresponding broadcast messages are not routed over the internet

    3. Re:uTorrent by Freultwah · · Score: 5, Interesting

      I run rtorrent in a detached screen session on a headless FreeBSD machine tucked away in the closet. I add torrent files to it just by dropping them into rtorrent's watch folder, everything else (starting, stopping, throttle management for off hours) is taken care of automatically. I do not have to have my laptop on or listen to the desktop whine all the time. Plus, rtorrent is blazing fast AND platform agnostic.

      It is also accessible in many ways, ssh being the most obvious, but there are also many GUIs available, with which you can manage torrents from afar. I like it how it is possible to add a torrent to the queue, then take a 3 hour train ride home and find it's all done for you. Magic. So, yes, a torrent client that is run in a terminal can be a Very Good Thing for those who can set it up and use it the way it was meant to be. (And I am pretty sure it was meant to be used that way.)

    4. Re:uTorrent by Free+the+Cowards · · Score: 4, Insightful

      That just means that ws_ftp's GUI is a pile of shit, it doesn't mean that GUIs are inherently slow.

      --
      If you mod me Overrated, you are admitting that you have no penis.
  4. Ono by pythonax · · Score: 5, Informative

    There is a plugin for Vuze (formerly Azureus) called Ono which does exactly that. Not sure what the problems they ran into, but as it is a college project I am sure they would be willing to discuss some of it with you. http://www.aqualab.cs.northwestern.edu/projects/Ono.html

  5. They should prioritize by altitude by Anonymous Coward · · Score: 4, Funny

    That way they can take advantage of the tendency of IP packets to flow downhill.

  6. Already Made "Ono" by StarWreck · · Score: 4, Informative

    What you're looking for is an Azureus plugin called "Ono". It prioritized based on router hops. Theoretically, this would make those connected to the same ISP preffered. After that it would make ISP's with direct connections to your ISP preferred. After that, resonably close geographically, ie same country.

    --
    ... and in the DRM, bind them.
  7. For Vuze, there's Ono and P4P by chrysrobyn · · Score: 5, Informative

    For Vuze, formerly Azureus, there are Ono and P4P, which should do what you're looking for, although for different reasons. Unfortunately, they both rely on people in your region being interested in the same torrents you are, while P4P additionally benefits from an iTracker, an ISP provided tracker that's topology aware (they did some work to prioritize based on ping latency, using that as a distance estimate, but I don't know if it's a fallback mechanism). Due to the iTracker infrastructure and possibly conflicting supporters, there are some privacy concerns.

  8. Why don't the ISPs help? by PhrostyMcByte · · Score: 4, Insightful

    I've always wondered why ISPs can't give higher speeds if you stay within their network. You'd get your download faster. You'd use less peering bandwidth, costing the ISP less money. Everybody wins.

    1. Re:Why don't the ISPs help? by larry+bagina · · Score: 5, Funny

      Better yet, ISPs should just snail mail their customers linux cds/dvds. That would basically eliminate all torrent traffic.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    2. Re:Why don't the ISPs help? by MooseMuffin · · Score: 5, Funny

      And then they could work on snail mailing truckloads of porn. That would basically eliminate all other traffic.

  9. Re:Stop It by Sparr0 · · Score: 5, Insightful

    Prioritize by network topology is a better way to put it, that just happens to coincide with physical AND political geography in many cases. In the case where you can get 10Mb over a 10-hop connection, or 8Mb over a 3-hop connection, which do you pick? If you pick the latter, there is a good chance that two other users can utilize the other 70% of that 10-hop connection, making total throughput (theoretically) 24Mb.

  10. Because it's a pointless thing to do by Nick+Ives · · Score: 4, Insightful

    If your ISPs international pipe is flooded then bittorrent will automatically prefer local peers as they'll be the only people who can send you data at a fast enough rate. If you notice local peers who you're not connected to then it's most likely just because they've already reached their connection limit.

    Most bittorent clients will connect to many peers and try to saturate your downstream bandwidth. They don't care where in the world those peers are as long as they're fast. If, in your part of the world, local peers are faster then that means you should just automatically connect to more local peers.

    --
    Nick
  11. Re:You Asians Have Big Pipelines by OpenYourEyes · · Score: 4, Funny

    But we American get email all the time offering to make our pipeline bigger!

  12. Napster's Old Peer Selection by Aloisius · · Score: 5, Interesting

    At Napster I wrote a system to weight peers that were closer to the person searching by using network distance.

    It was mostly because universities were complaining and so we weighted everyone on Internet 2 towards each other, but it also worked quite well for service providers like @Home and AOL. Since ISPs don't seem to care as much when their own bandwidth is used, a lot of complaints about our bandwidth consumption disappeared overnight. Indiana state university and someone else helped out if I remember correctly.

    It was a rather simple system that used BGP routing tables from a number of routers to build a graph of network connectivity. It wasn't perfect, but it didn't have to be.

    That said, with IPv6 weighting is *much* easier because of how the IP space is divided up. You can do a super naive implementation just by prefix.

    An Azureus plugin Ono does something similar, though I believe they just look up the IP address for a CDN and weight people that look up the same IP towards each other. It is a decent solution, but it only works for between people who are running the plugin.

  13. Tune your TCP Receive Window first by WinDev · · Score: 5, Informative

    The biggest speed issue facing Asia/Australia is the latency of traffic to the rest of the planet. The (Windows) TCP Receive Window is tuned too small for the distances required. If you change the receive window to the maximum, you can get 4x more data in the same period using any client (P2P, browsers, etc...).

    Refer to:
    http://cable-dsl.navasgroup.com/index.htm#IncreasingWindow