Speed Up Your Torrents With Ono
Written by enigmax on September 21, 2007A plug-in developed by a university is promising improved BitTorrent transfers by selectively connecting to peers offering faster response times. Currently in use on over 25,000 Azureus installations, it identifies and connects to nearby peers in an attempt to accelerate downloads.

How to speed up transfers is a common question from many BitTorrent users looking to squeeze the last drop of performance from their torrent client. Here at TorrentFreak we like to give people as many tips as possible, such as those in some of our previous posts on how to Optimize Your BitTorrent Download Speed and Calculate Your Optimal BitTorrent Settings.
Developers at Northwestern University are also working to improve transfer speeds and have developed an Azureus plugin which claims to do just that - but how? From the site:
“The main goal of this plugin is simple — to improve download speeds for your BitTorrent client. For most P2P applications, the decision regarding which peer to download from is generally arbitrary. When most peers offer good download performance, the random solution works well. However, if most peers are in a different part of the world from you, your downloads can really suffer.
The Ono plugin avoids this by proactively finding peers that are close to you (in a networking sense). These peers generally offer better response time, which can lead to significantly improved performance. We identify those peers that are near you by reusing network measurements from content distribution networks (CDNs), i.e. without performing extensive path measurement or probing.”
According to the project, although the Azureus client is already involved in ‘network positioning’ for increasing transfer speeds, it fails to perform due to inaccurate network co-ordinates. They claim that only 10% of the co-ordinates are acceptable, while 60% had up to 100% errors.
As is the case with Azureus, Ono requires Java to run and can be downloaded here. Anyone wishing to read more about the project should visit their homepage.
Although low latency is preferable in any networking environment, it’s up for debate if in the real world, this in itself leads to faster transfers.
‘Ono’ is a Hawaiian word meaning ‘good to eat’ so we would be very interested to hear if TorrentFreak users find this plugin as tasty as the developers claim, so feel free to add your experiences to the comment section.
Previously: MediaDefender Anti-Piracy Tools Leaked
Next: PirateBay Fires a Broadside of Complaints to Police


57 Responses (Add yours or TrackBack)
Azureus? No, thanks.
nice i’ll try it :)
Java? No, thanks.
Java AND Azureus? No, thanks.
great idea but azureus has bigger issues than that (like java)
Java sucks hard! Java is “interpreted” , bloated, not stable and slow.
Java is not interpreted since ages… it’s now jit compiled like the .NET Framework applications.
However I don’t think latency matters in bittorrent, the peer bandwidth is the important thing.
Mention Azureus and they whiners crawl out from under every rock on the interweb. Get a better PC and stop bitching.
As for Ono, the only ‘problem’ I found with it was the slight increase in CPU usage from the constant usage of ping and tracert. Not having any real problem with download speeds though I cant say wether it improves them or not, so the plugin may not be for everyone. Especialy if you dont really need it.
One of these days someone will animate a uTorrent vs Azureus Celebrity DeathMatch :D
f*uck download speed make my upload faster! down wit comcast!
I’m a happy uTorrent user, but I boggle at all the ignorant comments like “java is slow”.
http://blog.taragana.com/index.php/archive/java-is-slow-revisited/
http://devnulled.com/content/2007/02/correcting-logical-fallacies-why-java-is-not-slow/
Finding Azureus’ feature-set too rich for one’s taste is one thing. Dismissing a program merely because it is written in Java is nonsensical.
It’s funny because here in Spain, there’s an ISP called Ono, which actually limits your P2P bandwith :P
Until your precious uTorrent goes open source, you guys cant get these things. Us open sourcers can make useful plugins like these tough ;)
Not to mention, Azureus is a much better program than uTorrent if you have the resources.
This does seem like a good idea, I would of thought that isp’s will also like this concept as I presume it will save them a boatload of money in data transfer costs across different tiered networks, as well as reducing the strain on the internet as a whole, due to approx 40% of traffic being torrent related.
Hmmm…. keeps connecting to akamai. Should I be concerned?
and keeps connecting to limelightnetworks.com as llnwd.net. PeerGaudian is blocking the shit out of it. I’m unloading Ono, fuck that.
> Java sucks hard! Java is “interpreted”, bloated, not stable and slow.
a) java is just-in-time compiled
b) yes… java takes about 20-30 Memory baseline. But calling an fully featured app that consumes 80MB or so (Azureus) bloated is just biased… just compare with firefox or whatever
c) java is highly stable for me any many other users out there. If you experience something different that’s probably a local issue that can be solved
d) slow? heheh, that’s a funny one… in certain situations java can perform even faster than C because it’s way of just in time compilation allows it to perform optimizations at runtime which aren’t possible in statically compiled code
anyway, to the topic:
This plugin might have some merits, but it won’t miraculously improve your speeds. Since decreased latency doesn’t mean you get more throughput.
A note from the Ono developer: Ono will periodically connect to Akamai and Limelight for performing a DNS lookup (a very lightweight operation). Those are the CDNs mentioned in the article.
And many of you are correct in pointing out that latency is not always the most important factor. However, odds are that you will get better transfer rates from peers that are close to you rather than those across the world. Ono helps Azureus identify and connect to those nearby peers.
And yes, ISPs should like this. In fact, I hope to prove it’s in their best interest to give you higher transfer rates if generate “ISP-friendly” traffic with Ono.
what ive heard , they named it after Yoko ….
@Fred/Adam: I’m didn’t care for Java, but Azureus is a class act.
Not going to start a religious war. Don’t care what you run. Just letting you know.
If this plugin is guided purely by latency, it’s possible for it to kill your speed totally.
My ISP offers something like 480kb/s up.Each of my NL boxes can do 100mb/s. The other peers on my own ISP will obviously have lower latency, but selecting them over the seedboxes would be a pretty bad move for speed.
I imagine the situation in some south american or eastern european countries would be pretty bad, with very little bandwidth available in those countries but masses of bandwidth available just a few hops away.
Connecting to more low ping/low bandwidth peers also requires more memory and CPU use in the client than connecting to a few high ping/high bandwidth peers.
Another consideration is what happens when hundreds of low ping peers are receiving from a high ping super seed, with every peer using this plugin. The plugin cannot see the superseed as a seed, but it can see the high ping and thus drops it in favour of peers with no pieces.
The torrent would then become so inefficient as to be considered broken.
port it to utorrent please :D
[quote comment="170416"]@Fred/Adam: I’m didn’t care for Java, but Azureus is a class act.
Not going to start a religious war. Don’t care what you run. Just letting you know.[/quote]
Eh, i run bitcomet. The only problem i have is that it doesent report my downloading/seeding since i upgraded from 0.5 to the latest version. My ration has remained the same on demonoid for quite some time.
I thought it was a problem with my ISP (currently eastlink) however, i have tried multiple ISP’s as i move alot. I have made a short (yet sweet) article at http://www.itsoverninethousand.com/bad-torrent-isps-in-canada/ explaining the problems with certain Canadian ISP’s (one of which i work for sadly)
lol
I bet u people who “disliked” java are all non programmers ;)
Its good to know that ur opinions on that are rather ABSOLUT uninteresting :)
BitTyrant, based on Azureus, does something similar:
http://bittyrant.cs.washington.edu
Java? No! Azureus? No!
Azureus, µtorrent? Transmission’s likely the most popular on the Mac. Open source like Azureus but Java free like µtorrent. Just saying: it ain’t all black and white!
The concept to this plugin is good. I used BitTyrant too for a while when I still ran Azureus. But seriously, *especially* with a modern system where you’re using your computer hard for your own stuff: you don’t want Java apps like Azureus (or NeoOffice etc.) hogging your RAM and CPU. Try shutting them down and see if you can feel the difference. It’s not just low enders whining about Azureus killing their machines, it’s also an objective entirely reasonable disagreement with Azureus’ philsophy as a cross platform Java app. There are definitely advantages to being a native program. Why else do we run things which aren’t Java?
Religious wars. Argh!
In open source Transmission I’m currently testing an autospeed implementation which isn’t part of the official project. Works very nicely. Open source never had to always mean Java.
Sounds a lot like the Bit-tyrant concept ..
Azureus/Java is not slow : My azureus
takes about 1 second to start ..
java + azureus + bullshit plugins? no thanks.
Peter: You’re wrong. This sounds NOTHING like BitTyrant. BitTyrant chooses peers based on bandwidth capacity and actual throughput, Ono chooses based on latency and network proximity (as I understand it). The latter is much preferred and will, in fact, improve the overall performance of the swarm in many regions. Maybe not in the US, where bandwidth generally sucks, but if you’re in Sweden this is a time to rejoice. :)
I used ono for about a day… until i realized it had 20 copies of ping.exe and 15 of tracert.exe open.
I highly recommend against using ono until it’s developed further. Slowed my pentium d 930 to a halt
[quote comment="171197"]I used ono for about a day… until i realized it had 20 copies of ping.exe and 15 of tracert.exe open.
I highly recommend against using ono until it’s developed further. Slowed my pentium d 930 to a halt[/quote]
Ahh.. No wounder why my computer is so slow now lol. But yeah, still works great though!! Getting speeds up to 100kb+ as before i only had 20 kbs
There is nothing wrong with Java! I am a java programmer and i find that only those who know so little about it complain about it. PEOPLE NEED TO GET THE FACTS!
Having something like Ono is better than having nothing. However, if one wants to find the fastest connections you have to connect and measure it. If you then go with the clients that respond fastest as well as with those which transfer a lot you will undoubtedly get the best result. Anything you do before you connect will therefore never give you a 100% guarantee. In some situations you will find yourself cut off from good seeds just because they are not near you. And what do you do with a feature like Ono when your neighbour runs a decoy farm? There is nothing that will prevent the possible worst cases from taking place. So Ono sounds good but needs close examination when put into practice.
BitTorrent is useful for transferring files globally around the world. Since clients can only handle so many concurrent peers and this plugin opts to only use local peers, won’t geographically distant peers speeds just get worse not better?
[quote comment="171832"]There is nothing wrong with Java! I am a java programmer and i find that only those who know so little about it complain about it. PEOPLE NEED TO GET THE FACTS![/quote]
One fact is that Azureus is horrifically slow on Windows compared to any other client. Another fact is that I can run rtorrent through ubuntu in vmware using less resources than Azureus takes up. Any other FACTS we PEOPLE might NEED TO GET?
This sounds misguided. Some peers will be slower than others but that should be overcome by increasing the number of peers until you saturate your link.
Any bias in the choice of peers is just going to make it harder for the networks that are being shunned to find peers and they’re the ones which will need the largest number of peers.
Oh, and Java fans have been saying “Java’s not slow any more” for nearly 10 years now. It’s really quite funny.
Of course anyone who has to use a java app like eclipse or azureus is not going to believe them. They’ll believe their own eyes.
All the JIT magic and advanced compilers might help on a numerical benchmark but once it comes to actually interfacing with the system you find the standard libraries impose all kinds of overhead before you can actually get anything done.
Nonetheless I use azureus, it’s dog slow on my dual-core 2Ghz machine which is pretty sad but what can you do?
im in england and we seem to have crap upload speeds over here i find most my speed comes from the yanks when im downloading so doesnt sound like that great of a plugin to me
azureus is good im downloading with 50-70kbs but i just want more speed
I was once a Azureus user. Comparing to other lightweight P2P clients, Azureus’ performance is definately disappointing. If you don’t believe me, try it yourselves. I am currently using BitTorrent Official V6 on 1M bandwith, I am getting 85kBs (680kbs) at peak, isn’t that fast? When I was using Azureus, I had only 7-10kBs. I doubt this Ono could speed it up that much.
85 Kb/s for a 1 Mbps connection is poor.
If you only got 7-10Kb/s while using Azureus it’s because you didn’t configure it correctly.
I am on a 20Mbps connection and regularly max out my connection at 2.5 MB/s
Azureus is horrible because of its popups which are (as a matter of fact!) impossible to turn off. Thats plain rude by the implementors.
Unfortunately I’m stuck with it because utorrent (which is really great) doesn’t work very well with wine. :-(
Any other client in the league of azureus and uTorrent I should try, which also works in linux?
The sluggishness of java is of course annoying, but not really a show-stopper.
Java aint good?
lol
i use utorrent & i am getting between 400 & 500 KB/s which quick enough fo me
This is a post about a plugin FOR Azureus, if you are not an Azureus user, get the hell outta here, got to uTorrent or any other sh** clients post, but dont come here just to say “Azureus? No, thanks.” You seems like kids, “My toy car is better than yours”.
Anyway, back on topic, i have uninnstalled Ono, because, i dont like processes doing what they like, not even showing it to me, i started to see the pings and tracerts like you said, seen that they came with azureus (Thanks to sysinternals process explorer, win task manager is cr*p) and then, came to this page, maybe in my linux installation, this wont bother too much, but in win, im paranoic, i dont want self run process that i cant kill, so, ill not use anymore, but, i really didnt see any change with it, im in latin america, with a 1mbps connection, and i had always maxed my connection with azureus, rightly configured, obviously. Thats the end of my review.
Yes, Java is generally a sluggish language, but it sure as hell doesn’t mean it is the worst. Remember it is a language accepted amongst a multitude of operating systems - it isn’t optimized for the sake of just one, mind you. As for the programmers, my hearty opinion is that those who commit themselves to this language simply adapt to and overlook the issue from a technical standpoint.
The only ones here I find ignorant are the ones who decided to avoid Java like the plague.
hiii im using rtorrent in linux fedora can anyone say how to speed up my download speed im getting only 50-70kbps
I can see the benefit for ISP’s like lower network transport costs. but…
I live in the most ‘bandwidth challenged’ part of the most ‘bandwidth challenged’ so-called develped country. the main isp’s offer low upload speeds, and the faster isp’s are way too expensive. Closer peers does not equal faster download speeds unless they have high upload speeds. I often check to see which peers upload fastest and it is usually some swedish or other european, japanese, canadian or FIOS (verizon) IP address. I got 480KB/s from a bredbandsbolaget peer before. I’m in the southeast U.S. and i hate seeing *.bellsouth.net, *.ga.comcast.net or anything else nearby in my peers list. give me some peers across the pond with +200KB/s uploads please.
this also appears to go against the BT protocol rules. sounds like another gnutella2 to me, a swarm within a swarm that connects first to all the 25KB/s (divided by 3 upload slots) peers nearby before finally reaching out to the high capacity peers in other countries. NO THANKS!
7 references to this post
Add your response