<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Content Delivery | Aqualab - Northwestern University</title><link>https://aqualab.cs.northwestern.edu/tag/content-delivery/</link><atom:link href="https://aqualab.cs.northwestern.edu/tag/content-delivery/index.xml" rel="self" type="application/rss+xml"/><description>Content Delivery</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Tue, 09 Oct 2012 00:00:00 +0000</lastBuildDate><image><url>https://aqualab.cs.northwestern.edu/media/logo_hu_8646b2b27455bd.png</url><title>Content Delivery</title><link>https://aqualab.cs.northwestern.edu/tag/content-delivery/</link></image><item><title>namehelp</title><link>https://aqualab.cs.northwestern.edu/project/namehelp/</link><pubDate>Tue, 09 Oct 2012 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/namehelp/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;namehelp improved web performance by obtaining more accurate redirections to
nearby content delivery network servers. In short: it helped whenever you, or
your ISP, used a remote DNS service.&lt;/p&gt;
&lt;h2 id="the-problem"&gt;The Problem&lt;/h2&gt;
&lt;p&gt;DNS is the Internet&amp;rsquo;s phone book, and it is invisible to almost everyone. Every
site you visit, every message you send, begins with a lookup; a complex page may
need dozens, and a browser may perform hundreds in a day. Most people never
think about it, because their ISP provides the service transparently.&lt;/p&gt;
&lt;p&gt;Over the preceding years, third-party public DNS services from Google, OpenDNS
and Norton had become popular, and for good reasons — better security, better
privacy, faster resolution. Through a large-scale study spanning &lt;strong&gt;over 10,000
hosts in nearly 100 countries&lt;/strong&gt;, we found that while public DNS may indeed
resolve names faster, web performance could suffer badly.&lt;/p&gt;
&lt;p&gt;The cause is a hidden interaction with another invisible service. More than
&lt;strong&gt;70% of the top 1,000 websites&lt;/strong&gt; rely on CDNs, which replicate content across
thousands of servers and steer each user to a nearby copy — using the location
of the user&amp;rsquo;s &lt;em&gt;resolver&lt;/em&gt; as a proxy for the user. When the resolver is a public
service somewhere else entirely, that proxy fails: users were being sent to
replicas &lt;strong&gt;three times farther away than necessary&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;CDNs and public resolvers were working on a fix, but the proposed standard had
not achieved broad adoption, leaving users choosing between good web performance
and the security and privacy they had switched for.&lt;/p&gt;
&lt;h2 id="what-namehelp-did"&gt;What namehelp Did&lt;/h2&gt;
&lt;p&gt;namehelp let users have both. It ran personalized benchmarks in the background,
from the user&amp;rsquo;s own machine, to determine the optimal DNS configuration, and
when it detected less than optimal web performance it corrected it by
interacting with DNS and CDNs so content came from the nearest available replica.&lt;/p&gt;
&lt;p&gt;Beyond benchmarking, which existing tools such as namebench and DNS Benchmark
already did, namehelp added:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;automatic DNS server configuration based on the sites a user actually visits&lt;/li&gt;
&lt;li&gt;caching so frequently-visited sites resolved instantly&lt;/li&gt;
&lt;li&gt;faster failover when a DNS server went down&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It installed as a local system service — users pointed their machine at
&lt;code&gt;127.0.0.1&lt;/code&gt; — with browser extensions for Chrome and Firefox providing a
dashboard.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img alt="namehelp dashboard showing DNS latency: namehelp 9.51 ms against a network default of 148.28 ms, a personalized benchmark of 344.43 ms and a generic benchmark of 881.09 ms" srcset="
/project/namehelp/dns-performance_hu_72e72ddd8e179da.webp 400w,
/project/namehelp/dns-performance_hu_5438e0461bca8fb3.webp 760w,
/project/namehelp/dns-performance_hu_238ade10f8a3a016.webp 1200w"
src="https://aqualab.cs.northwestern.edu/project/namehelp/dns-performance_hu_72e72ddd8e179da.webp"
width="664"
height="500"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;em&gt;The dashboard&amp;rsquo;s DNS view. In this example namehelp resolved in 9.51 ms against
the network default&amp;rsquo;s 148.28 ms.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="http-performance.png" alt="Bar chart of the top CDN domains where namehelp improved HTTP performance, led by www.update.microsoft.com.nsatc.net at 24.1 ms" loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;em&gt;Where the gain came from: the CDN-hosted domains for which namehelp found a
nearer replica.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="reception"&gt;Reception&lt;/h2&gt;
&lt;p&gt;The first release went out on &lt;strong&gt;9 October 2012&lt;/strong&gt; for Windows, macOS and
Debian/Ubuntu, with RHEL and CentOS packages following. Within a month it had
&lt;strong&gt;10,000 users&lt;/strong&gt;. Coverage in McCormick News led to ACM TechNews, Computerworld
and Network World, and from there to Lifehacker — which brought 2,000 new users
in a single day — and on to outlets in France, Poland, Russia, Turkey, Brazil
and Vietnam. Several reported the tool as speeding up web performance by 40%.&lt;/p&gt;
&lt;p&gt;Source was released on 26 October 2012. A Firefox extension followed in 2013, a
2.0 beta for macOS in January 2018, and &lt;em&gt;Namehelp Mobile&lt;/em&gt; brought DNS
performance comparison to Android.&lt;/p&gt;
&lt;h2 id="privacy"&gt;Privacy&lt;/h2&gt;
&lt;p&gt;The privacy policy was deliberately short: namehelp never collected personally
identifiable information or the sites a user visited. Anonymous reporting —
usage statistics, performance-improvement results, benchmark results for a
generic set of popular sites, and results of other network measurements — could
be switched off entirely.&lt;/p&gt;
&lt;details class="spoiler " id="spoiler-0"&gt;
&lt;summary&gt;Sinopsis y ¿por qué usar namehelp? (español)&lt;/summary&gt;
&lt;p&gt;&lt;p&gt;La página original de namehelp se publicó en inglés y español. Se conserva aquí
la versión en español.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sinopsis.&lt;/strong&gt; namehelp mejora el rendimiento web obteniendo redirecciones más
apropiadas hacia servidores de contenido más cercanos. Básicamente, namehelp
mejora tu rendimiento web si vos o tu proveedor de internet utiliza un servicio
de DNS remoto.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;¿Por qué usar namehelp?&lt;/strong&gt; El Servicio de Nombres de Dominio (DNS) es una
especie de guía telefónica para el Internet y es esencial para su
funcionamiento. La mayoría de nosotros no nos percatamos de su existencia porque
nuestro proveedor generalmente lo ofrece de manera transparente.&lt;/p&gt;
&lt;p&gt;Los últimos años han visto el surgimiento de servicios de DNS público ofrecidos
por compañías como Google, OpenDNS y Norton DNS, que presentan ventajas de
seguridad, privacidad y velocidad de resolución. Aun así, a través de un estudio
de gran escala que incluyó a más de 10,000 usuarios en más de 100 países,
nuestro laboratorio descubrió que tu rendimiento web puede sufrir seriamente,
aún cuando el servicio de DNS público efectivamente reduce el tiempo de
resolución.&lt;/p&gt;
&lt;p&gt;El problema se debe a la interacción del servicio DNS con las redes de entrega
de contenido (redes CDN). Aproximadamente el 70% de los 1,000 sitios más
populares utilizan redes CDN, que replican el contenido en miles de servidores y
redireccionan a los usuarios al más cercano. La utilización de servicios de DNS
público puede ocasionar que los usuarios sean redireccionados a servidores
¡mucho más lejos de lo necesario!&lt;/p&gt;
&lt;p&gt;namehelp te permite obtener lo mejor de ambos mundos — utilizar un servicio de
DNS público sin reducir tu rendimiento web. Ejecuta pruebas desde tu computadora
para determinar tu configuración óptima de DNS y, si determina que estás
recibiendo un rendimiento sub-óptimo, lo corrige automáticamente interactuando
con DNS y CDNs para asegurar que el contenido sea entregado desde la copia más
cercana.&lt;/p&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h2 id="availability"&gt;Availability&lt;/h2&gt;
&lt;p&gt;namehelp is no longer distributed. It was released for Windows, macOS, and
Debian- and RHEL-based Linux, with source available from October 2012.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="papers"&gt;Papers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2012/jotto-imc12/"&gt;Content Delivery and the Natural Evolution of DNS&lt;/a&gt; — IMC 2012&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2012/jotto-sigcomm-poster12/"&gt;namehelp: Intelligent, Client-Side DNS Resolution&lt;/a&gt; — SIGCOMM 2012 poster, also in CCR&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="coverage"&gt;Coverage&lt;/h2&gt;
&lt;p&gt;Network World, Computerworld, ACM TechNews and McCormick News (2012); Lifehacker
and ghacks.net (2012); MakeUseOf (2013); and coverage in France (Korben), Poland
(Spider&amp;rsquo;s Web), Russia (Софт@Mail.Ru), Turkey (chip.com.tr), Brazil (IDG Now!,
Dicas para Computador) and Vietnam (PC World VN, Mía Lùi).&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="people"&gt;People&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Lead &amp;amp; PI&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/fabian-e.-bustamante/"&gt;Fabián E. Bustamante&lt;/a&gt; (Northwestern University)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Students&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/john-otto/"&gt;John S. Otto&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/mario-a.-sanchez/"&gt;Mario A. Sanchez&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/john-rula/"&gt;John P. Rula&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/zachary-bischof/"&gt;Zachary S. Bischof&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/ted-stein/"&gt;Ted Stein&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/dipendra-kumar-jha/"&gt;Dipendra K. Jha&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;With thanks to&lt;/strong&gt; Andrés Bustamante for the logo, Mario Sánchez for the Spanish
translation, and Richard Campbell and Keith Petersen for early feedback.&lt;/p&gt;
&lt;p&gt;namehelp built on namebench, BeautifulSoup, dnspython, Flask, Jinja2, Werkzeug,
graphy, httplib2, ntplib, PyASN1, pydhcplib and Python-RSA.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="related-links"&gt;Related Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/dns-client-side/"&gt;Client-Side DNS and Content Delivery&lt;/a&gt; — the project namehelp was built for&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item><item><title>Client-Side DNS and Content Delivery</title><link>https://aqualab.cs.northwestern.edu/project/dns-client-side/</link><pubDate>Fri, 01 Jun 2012 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/dns-client-side/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="project-overview"&gt;Project Overview&lt;/h2&gt;
&lt;p&gt;Content delivery networks decide which replica should serve you based on where
your DNS query appears to come from. For most of the Web&amp;rsquo;s history that was a
reasonable proxy: your resolver belonged to your ISP, so it sat near you, and a
CDN steering toward the resolver was steering toward you.&lt;/p&gt;
&lt;p&gt;Public resolvers broke that assumption. When users moved to third-party DNS
services for speed, reliability, or filtering, their queries began arriving at
CDNs from somewhere else entirely — and the CDN, doing exactly what it was
designed to do, sent them to a replica near the resolver rather than near the
user. Users adopting a service to make browsing faster could end up fetching
content from much further away.&lt;/p&gt;
&lt;p&gt;This project measured that interaction at scale and then did something about it.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="measuring-the-interaction"&gt;Measuring the Interaction&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Content Delivery and the Natural Evolution of DNS&lt;/em&gt; measured the end-to-end cost
of remote DNS on CDN performance, and gave the first evaluation of the
industry&amp;rsquo;s answer to it: the EDNS client-subnet extension, which attaches a
truncated client address to the query so a CDN can steer on the client rather
than on the resolver.&lt;/p&gt;
&lt;p&gt;The extension works where it is deployed. The difficulty is that it requires
both the resolver and the CDN to participate, and adoption was thin — so the
performance cost kept falling, unevenly and invisibly, on precisely the content
CDNs work hardest to place well. That gap is what made a client-side answer
worth building.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="namehelp"&gt;namehelp&lt;/h2&gt;
&lt;p&gt;namehelp is the response, built on what the paper calls Direct Resolution: a
proxying DNS server on the user&amp;rsquo;s own machine that keeps a third-party resolver
for general queries — so users keep the reliability and speed they chose it for
— while resolving CDN-hosted names directly, so the query carries the client&amp;rsquo;s
own network position rather than the resolver&amp;rsquo;s. It recovers most of the
performance that remote resolution gives away, and it needs neither the CDN nor
the resolver to agree to anything.&lt;/p&gt;
&lt;p&gt;Running at the client is the point. It needs no cooperation from the CDN, no
change at the resolver, and no support from the ISP, which is what made it
deployable by an individual user rather than by agreement among providers.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="software"&gt;Software&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/namehelp/"&gt;namehelp&lt;/a&gt;&lt;/strong&gt; — a proxying DNS server that
keeps the benefits of third-party DNS while avoiding the performance penalty
for CDN-hosted content. Ten thousand users within a month of release.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="papers"&gt;Papers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2012/jotto-imc12/"&gt;Content Delivery and the Natural Evolution of DNS&lt;/a&gt; — IMC 2012&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2012/jotto-sigcomm-poster12/"&gt;namehelp: Intelligent, Client-Side DNS Resolution&lt;/a&gt; — SIGCOMM 2012 (demo)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2014/jrula-imc14/"&gt;Behind the Curtain – Cellular DNS and Content Replica Selection&lt;/a&gt; — IMC 2014. Carries the same question into cellular networks, and also belongs to the mobile thread.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="coverage"&gt;Coverage&lt;/h2&gt;
&lt;p&gt;namehelp was covered by Network World in 2012, and picked up by outlets in
France, Turkey, Brazil, Vietnam, Poland, and Russia.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="people"&gt;People&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Lead &amp;amp; PI&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/fabian-e.-bustamante/"&gt;Fabián E. Bustamante&lt;/a&gt; (Northwestern University)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Students&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/john-otto/"&gt;John S. Otto&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/mario-a.-sanchez/"&gt;Mario A. Sanchez&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/john-rula/"&gt;John P. Rula&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/ted-stein/"&gt;Ted Stein&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="ongoing-work"&gt;Ongoing Work&lt;/h2&gt;
&lt;p&gt;The questions namehelp raised — where resolution should happen, and what it
costs the user when it happens somewhere else — are still open, and two efforts
currently under submission continue them: &lt;strong&gt;Onoma&lt;/strong&gt;, and a study of &lt;strong&gt;hidden DNS
resolvers&lt;/strong&gt;. Both have been presented as posters.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="related-links"&gt;Related Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2021/rkumar-dns-poster/"&gt;Decentralization, Privacy and Performance for DNS&lt;/a&gt; — SIGCOMM 2021&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/thealeph/"&gt;The Aleph&lt;/a&gt; — decoding geographic information from DNS records&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/" target="_blank" rel="noopener"&gt;AquaLab Research Group&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item><item><title>SideStep and DraFTP</title><link>https://aqualab.cs.northwestern.edu/project/sidestep/</link><pubDate>Sat, 18 Aug 2007 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/sidestep/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="in-brief"&gt;In Brief&lt;/h2&gt;
&lt;p&gt;Many studies have shown that the default Internet path can be suboptimal,
leading to poor throughput between hosts. SideStep was the first scalable and
efficient system to provide free, open access to alternative paths — sometimes
doubling or tripling performance. It reused information from content delivery
networks to locate quality overlay paths and stream data over them, and was
packaged as a Java library and stream API easy to drop into an existing
application.&lt;/p&gt;
&lt;p&gt;To demonstrate the effect in something people actually used, we released
&lt;strong&gt;DraFTP&lt;/strong&gt;, an open-source FTP suite built on SideStep.&lt;/p&gt;
&lt;h2 id="motivation-and-approach"&gt;Motivation and Approach&lt;/h2&gt;
&lt;p&gt;The Detour study showed Internet paths are generally suboptimal in both latency
and loss. RON — the Reliable Overlay Network project — then showed that
diverting a transfer through an intermediate host often beats the direct path.
Part of the reason is that ISPs carry each other&amp;rsquo;s traffic under business
arrangements, and those arrangements outrank optimal path selection; a
neighbouring ISP may simply have a better route than yours.&lt;/p&gt;
&lt;p&gt;RON was never widely deployed because it required active probing with overhead
proportional to the &lt;em&gt;square&lt;/em&gt; of the number of nodes — unacceptable for
Internet-scale applications with millions of users. The opposite approach,
picking detour points at random, has negligible overhead and rarely helps.&lt;/p&gt;
&lt;p&gt;SideStep sat between those extremes: it found high-quality detour points with
high probability at a &lt;strong&gt;constant amount of measurement overhead per node&lt;/strong&gt;. It
did so by treating CDN redirection dynamics as hints about good candidates.
&lt;em&gt;Drafting Behind Akamai&lt;/em&gt; had already shown those redirections are driven
primarily by network conditions; SideStep showed they are cheap to obtain,
cheap to validate, and accurate enough to drive a large-scale detouring service.&lt;/p&gt;
&lt;p&gt;In a measurement study across hundreds of computers worldwide, SideStep improved
performance &lt;strong&gt;more than half the time&lt;/strong&gt;. The rest of the time there was no better
path to find, so performance was unchanged — it could not make throughput worse,
because candidate paths were evaluated by splitting the stream across the
current and candidate route.&lt;/p&gt;
&lt;h2 id="why-the-names"&gt;Why the Names&lt;/h2&gt;
&lt;p&gt;We called it SideStep because it sidesteps the poor default path. The FTP suite
is DraFTP because, like SideStep, it exploits &lt;em&gt;drafting&lt;/em&gt;: letting CDNs absorb the
cost of measurement, much as cyclists in a peloton travel fast by letting the
riders in front break the wind.&lt;/p&gt;
&lt;h2 id="on-using-someone-elses-measurements"&gt;On Using Someone Else&amp;rsquo;s Measurements&lt;/h2&gt;
&lt;p&gt;A recurring question was whether CDNs would try to stop this. They could try,
but it seemed unlikely. Akamai already published measurement information
publicly. SideStep used ordinary DNS lookups to gather hints and downloaded no
content, and those lookups could be as infrequent as once an hour — a negligible
load beside the hundreds of millions of people fetching CDN content daily. The
requests were also indistinguishable from those of any normal user of that
content, making them impractical to filter.&lt;/p&gt;
&lt;p&gt;For the avoidance of doubt: this was not AkaRouting, Akamai&amp;rsquo;s paid detouring
service. SideStep was free and used none of its paths.&lt;/p&gt;
&lt;h2 id="availability"&gt;Availability&lt;/h2&gt;
&lt;p&gt;SideStep was distributed as a background service with a stream API, alongside
DraFTP, to users who registered on the lab site. It is no longer available.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="papers"&gt;Papers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2009/dchoffnes-infocom09/"&gt;On the Effectiveness of Measurement Reuse for Performance-Based Detouring&lt;/a&gt; — INFOCOM 2009&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2006/ajsu-sigcomm06/"&gt;Drafting Behind Akamai (Travelocity-Based Detouring)&lt;/a&gt; — SIGCOMM 2006&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="people"&gt;People&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Lead &amp;amp; PI&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/fabian-e.-bustamante/"&gt;Fabián E. Bustamante&lt;/a&gt; (Northwestern University)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Students&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/david-choffnes/"&gt;David R. Choffnes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ao-Jan Su&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Collaborators&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aleksandar Kuzmanovic (Northwestern University)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="related-links"&gt;Related Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/cdn-reuse/"&gt;Reusing CDN Measurements&lt;/a&gt; — the project SideStep was built for&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item><item><title>Ono</title><link>https://aqualab.cs.northwestern.edu/project/ono/</link><pubDate>Sun, 01 Jul 2007 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/ono/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="motivation-and-approach"&gt;Motivation and Approach&lt;/h2&gt;
&lt;p&gt;The goal was simple: improve download speeds for your BitTorrent client. In most
peer-to-peer applications the choice of which peer to download from is
essentially arbitrary. When most peers offer good performance the random choice
works fine — but if the peers you draw are on the other side of the world, your
downloads suffer.&lt;/p&gt;
&lt;p&gt;Ono avoided that by proactively finding peers close to you in a networking
sense, which generally means better response time and better transfer rates. It
identified those peers by reusing the network measurements content delivery
networks already perform, rather than probing paths itself. A CDN constantly
decides which replica should serve which client; two clients steered to the same
replica are, in all likelihood, near each other. Ono read that signal instead of
generating its own — needing only infrequent DNS lookups, never active path
measurement.&lt;/p&gt;
&lt;h2 id="results"&gt;Results&lt;/h2&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img alt="Global map of Ono users, shaded by country" srcset="
/project/ono/coverage-map_hu_ed83362ebd42c2a5.webp 400w,
/project/ono/coverage-map_hu_c0e6d3b57dcb123d.webp 760w,
/project/ono/coverage-map_hu_36fda6c6566146af.webp 1200w"
src="https://aqualab.cs.northwestern.edu/project/ono/coverage-map_hu_ed83362ebd42c2a5.webp"
width="760"
height="570"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;em&gt;Ono&amp;rsquo;s coverage map: users in nearly every country, shaded by concentration.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;From results collected across participating users — well over 100,000 of them —
Ono located peers along paths with &lt;strong&gt;two orders of magnitude lower latency&lt;/strong&gt; and
&lt;strong&gt;30% lower loss rates&lt;/strong&gt; than those BitTorrent picked at random.&lt;/p&gt;
&lt;p&gt;Those higher-quality paths translated into throughput:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In constrained settings, where peers are limited by available bandwidth, Ono
delivered a &lt;strong&gt;31% average improvement&lt;/strong&gt; in download rate.&lt;/li&gt;
&lt;li&gt;Where bandwidth was plentiful, it increased download rates by &lt;strong&gt;207% on
average&lt;/strong&gt;, and improved median rates by &lt;strong&gt;883%&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The result mattered because it contradicted the prevailing assumption of the
period. Reducing cross-ISP traffic was understood to be something ISPs wanted
and users paid for. Ono showed the two interests could be served at once.&lt;/p&gt;
&lt;h2 id="why-the-name"&gt;Why the Name&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Ono&lt;/em&gt; is the Hawaiian word for the King Mackerel, and also means &amp;ldquo;good to eat&amp;rdquo; —
we hoped users would find the plugin as tasty as the fish, which is likewise
known as the &lt;em&gt;wahoo&lt;/em&gt;, a sound we hoped they would make on seeing their download
speeds. The name also ties the lab&amp;rsquo;s aquatic theme to Akamai, the CDN whose
measurements Ono relied on, and whose name is Hawaiian for &amp;ldquo;clever&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="why-not-the-alternatives"&gt;Why Not the Alternatives&lt;/h2&gt;
&lt;p&gt;Vuze already shipped a network coordinate system. As Ledlie et al. had shown,
those coordinates were badly inaccurate, and our own independent measurements
agreed: only 10% of them carried less than 10% error, while &lt;strong&gt;more than 60% were
off by 100% or more&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Coarse heuristics had a different problem. Class C subnets and AS numbers scale
well, but say little: there may be nobody downloading your file on your subnet,
and your AS may span an entire country. Neither reflects current network
conditions. Reusing a CDN&amp;rsquo;s live view avoided both failure modes.&lt;/p&gt;
&lt;p&gt;Vuze itself was chosen because it was the most used client of its day, was
Java-based so it ran anywhere, and supported plugins — so Ono required no
changes to a user&amp;rsquo;s existing installation and could update itself. Ono carried a
100% Java DNS implementation, and ran wherever Vuze did: tested extensively on
Windows and Linux, more lightly on macOS.&lt;/p&gt;
&lt;p&gt;Beyond the plugin, we implemented a tracker that used Ono to return nearby
peers, and a reduced version of the Ono service in Java for integration
elsewhere.&lt;/p&gt;
&lt;h2 id="availability"&gt;Availability&lt;/h2&gt;
&lt;p&gt;Ono shipped through the official Vuze plugin channel and reached version 1.8.8
by late 2008, with translations contributed by users in several languages. It
was &lt;strong&gt;released under the GPL&lt;/strong&gt;, with source included in the distributed jar.&lt;/p&gt;
&lt;p&gt;It is no longer available. Both download hosts of that era
(&lt;code&gt;aqua-lab.org&lt;/code&gt; and &lt;code&gt;merlot.cs.northwestern.edu&lt;/code&gt;) stopped resolving long ago, and
the Vuze plugin ecosystem it depended on is gone.&lt;/p&gt;
&lt;details class="spoiler " id="spoiler-0"&gt;
&lt;summary&gt;Historical release notes and support issues (2007–2008)&lt;/summary&gt;
&lt;p&gt;&lt;p&gt;Kept as a record of the deployment.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;17 Oct 2008&lt;/strong&gt; — GUI updated in Ono 1.8.8, with an updated German translation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;16 Oct 2008&lt;/strong&gt; — Vuze 4.0 broke the plugin&amp;rsquo;s GUI. Ono continued to bias peer selection correctly; only the display of its information was affected.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;4 Aug 2008&lt;/strong&gt; — Added a map of Ono coverage.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;12 May 2008&lt;/strong&gt; — Added a link to the paper demonstrating Ono&amp;rsquo;s effectiveness.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1 May 2008&lt;/strong&gt; — Site updated with deployment performance results and developer resources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;9 Jan 2008&lt;/strong&gt; — Backend revamped for efficiency; GUI work underway; several translations added.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;18 Aug 2007&lt;/strong&gt; — Latest versions published through the Vuze plugin list; call for translators.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;12 Jul 2007&lt;/strong&gt; — Version 1.5.3 released with bug fixes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Two support issues came up often enough to document:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Vuze took longer to shut down after installing Ono.&lt;/em&gt; Expected — Ono was
reporting performance statistics for analysis on close. The wait was
configurable, and statistics collection could be disabled entirely.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Screen flicker and raised CPU on Windows Vista.&lt;/em&gt; A rare interaction, resolved
by reducing the number of simultaneous pings Ono performed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;h2 id="papers"&gt;Papers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2008/dchoffnes-sigcomm08/"&gt;Taming the Torrent: A Practical Approach to Reducing Cross-ISP Traffic in Peer-to-Peer Systems&lt;/a&gt; — SIGCOMM 2008&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2006/ajsu-sigcomm06/"&gt;Drafting Behind Akamai (Travelocity-Based Detouring)&lt;/a&gt; — SIGCOMM 2006&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2010/dchoffnes-usenixlogin10/"&gt;Taming the Torrent&lt;/a&gt; — USENIX &lt;em&gt;;login:&lt;/em&gt; 2010&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="coverage"&gt;Coverage&lt;/h2&gt;
&lt;p&gt;Ono was covered by Slashdot, &lt;em&gt;El País&lt;/em&gt;, and the &lt;em&gt;Chronicle of Higher Education&lt;/em&gt;
in 2008.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="people"&gt;People&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Lead &amp;amp; PI&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/fabian-e.-bustamante/"&gt;Fabián E. Bustamante&lt;/a&gt; (Northwestern University)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Students&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/david-choffnes/"&gt;David R. Choffnes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Contributors&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/xian-yi-teng/"&gt;Xian Yi Teng&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nikola Borisov&lt;/li&gt;
&lt;li&gt;Shane Ponting&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="related-links"&gt;Related Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/cdn-reuse/"&gt;Reusing CDN Measurements&lt;/a&gt; — the project Ono was built for&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item><item><title>Reusing CDN Measurements</title><link>https://aqualab.cs.northwestern.edu/project/cdn-reuse/</link><pubDate>Fri, 01 Sep 2006 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/cdn-reuse/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="project-overview"&gt;Project Overview&lt;/h2&gt;
&lt;p&gt;Large content delivery networks spend enormous effort measuring the Internet. To
decide which replica should serve a given client, a CDN continuously evaluates
paths, load, and latency, and encodes the result in the redirection it hands
back. Those redirections are public. Anybody who asks a CDN where to fetch an
object gets a small piece of that network view for free.&lt;/p&gt;
&lt;p&gt;This project started from the observation that the redirections are a signal in
their own right, not just a mechanism for fetching content. If two clients are
sent to the same replica at the same time, that says something about where they
sit in the network relative to one another. If a client&amp;rsquo;s redirection changes,
something about the path has changed. A CDN&amp;rsquo;s infrastructure, in other words,
doubles as a measurement service with a global vantage point, updated
continuously, at no cost to the person reading it — provided the signal can be
interpreted correctly.&lt;/p&gt;
&lt;p&gt;The work that followed ran that idea through three problems: finding better
paths than the ones routing gives you, positioning hosts relative to each other,
and choosing peers in a peer-to-peer system.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="detouring"&gt;Detouring&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Drafting Behind Akamai&lt;/em&gt; showed that CDN redirections can be used to find
one-hop detours that beat the default path, without running any measurements of
your own. A client watches which replicas a CDN steers it toward, infers path
conditions from the pattern, and routes through a peer that the CDN&amp;rsquo;s own view
suggests is well positioned.&lt;/p&gt;
&lt;p&gt;SideStep took the same insight further, examining how effective reused
measurements are as a substitute for dedicated probing, and packaging the result
as a service. We also released DraFTP, an FTP suite built on SideStep, to show
the improvement in an application people already used.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="positioning"&gt;Positioning&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Relative Network Positioning via CDN Redirections&lt;/em&gt; turned the signal toward a
different question. Rather than asking which detour is fastest, it asked where
hosts sit with respect to one another — using agreement between two clients'
redirections as evidence of proximity. This gives a positioning system that
needs no landmark infrastructure and no active probing, because the CDN has
already done that work.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="peer-selection-ono"&gt;Peer Selection: Ono&lt;/h2&gt;
&lt;p&gt;Ono applied the idea where it mattered most commercially. BitTorrent clients
pick peers largely at random, which generates enormous volumes of traffic that
cross ISP boundaries — expensive for providers, and slower than necessary for
users. The prevailing assumption was that these two interests were opposed, and
that reducing cross-ISP traffic meant accepting worse performance.&lt;/p&gt;
&lt;p&gt;Ono showed otherwise. By using CDN redirections to identify peers that were
close in the network, it biased peer selection toward nearby peers, and both
numbers improved: less traffic crossed ISP boundaries, and downloads got faster.
This was the argument in &lt;em&gt;Taming the Torrent&lt;/em&gt;, and it landed in the middle of an
active dispute about ISPs throttling peer-to-peer traffic.&lt;/p&gt;
&lt;p&gt;Ono shipped as a plugin for the Vuze/Azureus BitTorrent client, which put it in
the hands of ordinary users rather than a testbed.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="software"&gt;Software&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/ono/"&gt;Ono&lt;/a&gt;&lt;/strong&gt; — a Vuze/Azureus plugin implementing
CDN-based peer selection. Over 100,000 users; cut latency on selected paths by
two orders of magnitude and raised download rates by up to 207%.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/sidestep/"&gt;SideStep and DraFTP&lt;/a&gt;&lt;/strong&gt; — detouring by
reusing CDN measurements, plus an open-source FTP suite built on it. Improved
performance more than half the time, and never made it worse.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="papers"&gt;Papers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2006/ajsu-sigcomm06/"&gt;Drafting Behind Akamai (Travelocity-Based Detouring)&lt;/a&gt; — SIGCOMM 2006&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2008/ajsu-icdcs08/"&gt;Relative Network Positioning via CDN Redirections&lt;/a&gt; — ICDCS 2008&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2008/dchoffnes-sigcomm08/"&gt;Taming the Torrent: A Practical Approach to Reducing Cross-ISP Traffic in Peer-to-Peer Systems&lt;/a&gt; — SIGCOMM 2008&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2009/dchoffnes-infocom09/"&gt;On the Effectiveness of Measurement Reuse for Performance-Based Detouring&lt;/a&gt; — INFOCOM 2009&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2010/dchoffnes-usenixlogin10/"&gt;Taming the Torrent&lt;/a&gt; — USENIX &lt;em&gt;;login:&lt;/em&gt; 2010&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="coverage"&gt;Coverage&lt;/h2&gt;
&lt;p&gt;Ono was covered by Slashdot, &lt;em&gt;El País&lt;/em&gt;, and the &lt;em&gt;Chronicle of Higher Education&lt;/em&gt;
in 2008.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="people"&gt;People&lt;/h2&gt;
&lt;p&gt;This was a joint project with Aleksandar Kuzmanovic&amp;rsquo;s group at Northwestern.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Faculty&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/fabian-e.-bustamante/"&gt;Fabián E. Bustamante&lt;/a&gt; (Northwestern University)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://networks.cs.northwestern.edu/website/index-b.html" target="_blank" rel="noopener"&gt;Aleksandar Kuzmanovic&lt;/a&gt; (Northwestern University)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Students&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/david-choffnes/"&gt;David R. Choffnes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ao-Jan Su (advised by Aleksandar Kuzmanovic)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="related-links"&gt;Related Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/" target="_blank" rel="noopener"&gt;AquaLab Research Group&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item></channel></rss>