Ono - Reducing P2P cross-ISP traffic while improving users' performance

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.


Click for an interactive map of Ono coverage.

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 Vuze (formerly Azureus) BitTorrent client, can be downloaded from the bottom of this page. Join the 1,484,880 users who have already done so from all over the world ...

Developers: If you want to integrate Ono into your application, see this page.

NEW: If you like this plugin, consider helping us beta test NEWS, our newly released plugin that uses BT to monitor the Internet (and your ISP).

News

  • 10/17/2008: The GUI has been updated in Ono version 1.8.8. There is also an updated German translation. If you still run into problems, please contact This email address is being protected from spambots. You need JavaScript enabled to view it. .
  • 10/16/2008: Apologies to those who upgraded to Vuze 4.0 -- the GUI is not working properly with the new version. Even though you can't see Ono information in the tables, Ono is still biasing peer selection. I will be releasing a workaround as soon as possible.
  • 8/4/2008: Now you can see a nice map of Ono coverage!
  • 5/12/2008: Added link to paper demonstrating Ono's effectiveness.
  • 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 Vuze 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 This email address is being protected from spambots. You need JavaScript enabled to view it. .
  • 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 Vuze (formerly 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 Vuze (formerly 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

Contributors

  • Xian Yi Teng
  • Nikola Borisov
  • Shane Ponting

Publications

Resources

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 Vuze (formerly Azureus) BitTorrent client? For one, it's probably the most popular client in terms of use, so targeting Vuze gives us the greatest potential impact. Additionally, Vuze is Java-based, meaning anyone can run their software (and ours). Finally, Vuze offers a convenient plugin feature, requiring no changes to your existing Vuze 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 Vuze was already doing network positioning. Why use Ono? Well, as Ledlie, et al have shown, Vuze 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 techniques 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 infrastructure (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 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 Vuze 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

  • Vuze 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 Vuze menu by pointing to Tools > Options... > Plugins > Ono. A setting of "1" should eliminate the problem.