Motivation and Approach
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.
So does this work? In a word, yes. Using results collected from our participating users (well over 100,000 of them!), we have found that our system locates peers along paths that have two orders of magnitude lower latency and 30% lower loss rates than those picked at random by BitTorrent, and that these high-quality paths can lead to significant improvements in transfer rates. In challenged settings where peers are overloaded in terms of available bandwidth, Ono provides a 31% average download-rate improvement; in environments with large available bandwidth, Ono increases download rates by 207% on average (and improves median rates by 883%).
Our Ono plugin, which seamlessly installs into the Azureus BitTorrent client, can be downloaded from >>>here<<<. Join the 160,888 users who have already done so!
Developers: If you want to integrate Ono into your application, see this page.
News
- 5/1/2008: Updated site to include performance results from Ono deployment, added resources for developers.
- 1/9/2008: Just another quick update: We're seeing some great results out of Ono! In the past few months we've completely revamped our backend to make things more efficient for you, and we're currently working on cleaning up the GUI so you can better see how Ono is working. In the meantime, we've added a bunch of translations and we'd love to have more! See the item below for details.
- 8/18/2007: Work on Ono continues, but see the Azureus plugin list for
the latest versions.
Also, we are looking for translators. If you're interested, download the messages file, translate it and send it to
.
- 7/12/2007: Released version 1.5.3, which has several important bug fixes, including proper shutdown behavior.
- 6/20/2007: Ono is now listed on the Azureus plugin list!
- 6/19/2007: Version 1.4 released. The DHT is no longer used to support Ono operations, which should mean less overhead on your system with no noticeable loss in Ono performance. The plugin is also currently being considered for listing on the official Azureus plugin list. Once it is accepted, we'll be able to provide signed jars among other benefits.
- 5/31/2007: Version 1.3 released. This is a maintenance build.
- 5/23/2007: Version 1.2 begrudgingly released. This fixes some issues with the database not being available, which happened recently. (This did not affect Ono positioning.) The GUI is still a work in progress, but now you can see performance from nearby peers.
- 5/15/2007: Version 1.1 released. This is a maintenance build.
- 5/11/2007: Version 1.0 released! This includes many bugfixes that improve reliability and functionality, plus greater compatibility with platforms such as OS X. For those who have already installed Ono, the new update should download and install automatically.
- 4/27/2007: Version 0.9 released.
Why Ono?
Ono is the Hawaiian word not only for the King Mackerel fish, but also for "good to eat". The word has an extremely positive connotation, and we hope you'll find our plugin as tasty as Ono itself. The Ono fish is also known as the "wahoo", a feeling that we hope you'll express upon noticing the increased speed of your downloads. Finally, Ono merges the theme of our research group (the Aqualab) with one of the CDNs on which we currently rely for network measurements--Akamai (Hawaiian for "clever").
People
Publications
- David R. Choffnes and Fabián E. Bustamante. Taming the Torrent: A practical approach to reducing cross-ISP traffic in P2P systems, To appear.
- Ao-Jan Su, David R. Choffnes, Alekzandar Kuzmanovic and
Fabián E. Bustamante. Drafting Behind Akamai
(Travelocity-Based Detouring), In Proc. of ACM
SIGCOMM 2006., September 2006.
Abstract | PostScript [2.0M] | PDF Format [720K]
Resources
- Official Azureus version (It is strongly recommended that you get the plugin from the Azureus site using this link, the versions below are for legacy purposes only.)
- LEGACY CODE, not meant for production use anymore Ono plugin v1.5.4 (1.7 MB) (Official Azureus version (may have a slightly different version number) | Unsigned Aqualab version | Alternate location)
- Windows/Internet Explorer/Winzip Users: The download may appear to be a Winzip file, but it is not. The name of the download should be in the format ono_{version_number}.jar. Then follow the installation instructions listed below.
- Installation instructions
- Disclaimer: By downloading and installing this plugin, you agree to the terms of this disclaimer.
- License: This software is released under the GPL. The source code can be found in the jar.
- Changelog
- Azureus client
- BitTorrent site
Frequently Asked Questions
- Does this really improve download performance? In a word, yes. Using results collected from our participating users (well over 100,000 of them!), we have found that our system locates peers along paths that have two orders of magnitude lower latency and 30% lower loss rates than those picked at random by BitTorrent, and that these high-quality paths can lead to significant improvements in transfer rates. In challenged settings where peers are overloaded in terms of available bandwidth, Ono provides a 31% average download-rate improvement; in environments with large available bandwidth, Ono increases download rates by 207% on average (and improves median rates by 883%).
- Why use the Azureus BitTorrent client? For one, it's probably the most popular client in terms of use, so targeting Azureus gives us the greatest potential impact. Additionally, Azureus is Java-based, meaning anyone can run their software (and ours). Finally, Azureus offers a convenient plugin feature, requiring no changes to your existing Azureus client. And once you're running Ono, it will automatically search for new versions and update itself for you!
- Has Ono been ported to any other languages/systems? Yes, we have implemented a tracker that uses Ono to return nearby peers. Otherwise, we have a boiled-down version of the Ono service in Java. Both are provided here.
- I thought Azureus was already doing network positioning. Why use Ono? Well, as Ledlie, et al have shown, Azureus network coordinates are, too put it mildly, terribly inaccurate. In our own independent measurements, we found that only 10% of the network coordinates had less than 10% error. More than 60% had errors of 100% or more! Besides, unlike traditional network positioning systems, Ono doesn't require active network path measurement to determine relative locations in the network. Only infrequent DNS lookups are needed.
- Why not just use class C subnets, AS numbers or
measurement-based techiques for figuring out peer
locality? While heuristic-based approaches such as class C
subnets and AS numbers also scale well, the position
information gained through them is not terribly useful and
does not take into account dynamic network conditions. For example,
there may not be anyone downloading the same file on your class-C subnet
and your AS number may correspond to a network that spans an entire country.
Ono, on the other hand, finds peers that are near one another by relying on preexisting infrastucture (CDNs) that perform extensive Internet measurements. We have found that our system locates peers along paths that have two orders of magnitude lower latency and 30% lower loss rates than those picked at random by BitTorrent, and that these high-quality paths can lead to significant improvements in transfer rates. - Does this work with Azureus Vuze? Yes, Ono performs just fine on Vuze as of version 1.0, which was released in the second week of May.
- Does this work with my operating system? In short, yes. Ono primarily relies on DNS to perform its functionality and contains a 100% Java DNS implementation, so it should work anywhere that Azureus works. It has been extensively tested to work in Windows and Linux environments, and lightly tested in Mac environments. If you encounter a problem, please let us know!
Problems and Solutions
- Azureus is taking longer to close down since I installed Ono. This is entirely normal and occurs because Ono is reporting its performance statistics for our team to analyze. If this behavior bothers you, you can set the maximum amount of time you're willing to wait or you can disable statistics collection altogether. The options are located in the Tools > Options... > Plugins > Ono menu option.
- My screen flickers and CPU usage goes up since I started using Ono. Apparently this is a rare Vista issue. You can fix this by reducing the number of pings that Ono performs at once. The option can by accessed from the Azureus menu by pointing to Tools > Options... > Plugins > Ono. A setting of "1" should eliminate the problem.