<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Peer-to-Peer | Aqualab - Northwestern University</title><link>https://aqualab.cs.northwestern.edu/tag/peer-to-peer/</link><atom:link href="https://aqualab.cs.northwestern.edu/tag/peer-to-peer/index.xml" rel="self" type="application/rss+xml"/><description>Peer-to-Peer</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 01 Aug 2010 00:00:00 +0000</lastBuildDate><image><url>https://aqualab.cs.northwestern.edu/media/logo_hu_8646b2b27455bd.png</url><title>Peer-to-Peer</title><link>https://aqualab.cs.northwestern.edu/tag/peer-to-peer/</link></image><item><title>Measurement and Experimentation from the Edge</title><link>https://aqualab.cs.northwestern.edu/project/edge-measurement/</link><pubDate>Sun, 01 Aug 2010 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/edge-measurement/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="project-overview"&gt;Project Overview&lt;/h2&gt;
&lt;p&gt;For a long time, measuring the Internet meant measuring it from the places
researchers could get accounts: universities, research networks, and testbeds
sitting a short hop from a well-provisioned backbone. Those vantage points are
convenient and unrepresentative. The paths that matter to users start behind a
home router, on a residential access link, at the far end of the network from
anything a testbed can see.&lt;/p&gt;
&lt;p&gt;This project took the position that the interesting vantage point is the edge,
and that the way to reach it is to ride along with software people already run.
Rather than asking users to install a measurement tool, we built measurement
into applications they were using anyway — which changed both the scale and the
realism of what we could observe, and forced us to take seriously the problem of
being a good guest on someone else&amp;rsquo;s connection.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="two-projects"&gt;Two Projects&lt;/h2&gt;
&lt;p&gt;The thread produced two efforts substantial enough to stand on their own.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/news-early-warning/"&gt;NEWS&lt;/a&gt;&lt;/strong&gt; came first. Its premise
was that a peer-to-peer application already maintains connections to many peers
across many networks, and already knows how those connections are performing —
in effect a continuous distributed measurement of the network, generated for
free as a side effect of normal use. By looking for correlated performance
changes across a peer&amp;rsquo;s connections, and corroborating across users in the same
ISP or country, NEWS detected service-level network events from the edge with no
probes and no infrastructure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/dasu/"&gt;Dasu&lt;/a&gt;&lt;/strong&gt; carried the approach into
experimentation. It began as an ISP characterization tool — measuring the
broadband service a user actually received, from inside the home, across many
providers and countries — and became a platform that could host &lt;em&gt;other
researchers&amp;rsquo;&lt;/em&gt; experiments from tens of thousands of real access links, with the
scheduling and safeguards that hosting implies when the machine belongs to a
volunteer.&lt;/p&gt;
&lt;p&gt;Both are documented on their own pages; what follows is the tooling that
supported them.&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/nixes/"&gt;The Nixes Tool Set&lt;/a&gt;&lt;/strong&gt; — bash scripts to
install, maintain, control and monitor applications on PlanetLab, used to
deploy the wide-area experiments behind this work.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The measurement clients themselves — the Vuze plugins and the Dasu standalone
client — are described on the &lt;a href="https://aqualab.cs.northwestern.edu/project/news-early-warning/"&gt;NEWS&lt;/a&gt;
and &lt;a href="https://aqualab.cs.northwestern.edu/project/dasu/"&gt;Dasu&lt;/a&gt; pages.&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/2010/dchoffnes-sigcomm10/"&gt;Crowdsourcing Service-Level Network Event Detection&lt;/a&gt; — SIGCOMM 2010&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2011/zbischof-sigcomm11-wmust/"&gt;Crowdsourcing ISP Characterization to The Network Edge&lt;/a&gt; — W-MUST 2011&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2011/msanchez-sigcomm11/"&gt;Dasu: ISP Characterization from the Edge, A BitTorrent Implementation&lt;/a&gt; — SIGCOMM 2011 (demo)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2013/msanchez-pam13/"&gt;Trying Broadband Characterization at Home&lt;/a&gt; — PAM 2013&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2013/msanchez-nsdi13/"&gt;Dasu: Pushing Experiments to the Internet&amp;rsquo;s Edge&lt;/a&gt; — NSDI 2013&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2013/msanchez-nsd13-demo/"&gt;Experiments at the Internet&amp;rsquo;s Edge with Dasu&lt;/a&gt; — NSDI 2013 (demo)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2013/zbischof-nsdi-demo13/"&gt;Characterizing Broadband Services with Dasu&lt;/a&gt; — NSDI 2013 (demo)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2015/msanchez-ieeeton15/"&gt;A Measurement Experimentation Platform at the Internet&amp;rsquo;s Edge&lt;/a&gt; — IEEE/ACM Transactions on Networking, 2015&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="coverage"&gt;Coverage&lt;/h2&gt;
&lt;p&gt;NEWS was covered by RedOrbit, Slashdot, and &lt;em&gt;The Hindu&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/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-otto/"&gt;John S. Otto&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/david-choffnes/"&gt;David R. Choffnes&lt;/a&gt;&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;Balachander Krishnamurthy (AT&amp;amp;T Labs–Research)&lt;/li&gt;
&lt;li&gt;Walter Willinger (AT&amp;amp;T Labs–Research)&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><item><title>Dasu</title><link>https://aqualab.cs.northwestern.edu/project/dasu/</link><pubDate>Sun, 30 May 2010 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/dasu/</guid><description>&lt;div class="article-style"&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="The Dasu logo" srcset="
/project/dasu/dasu-logo_hu_af4c8ab472fbbc46.webp 400w,
/project/dasu/dasu-logo_hu_1db415dc4aa871e8.webp 760w,
/project/dasu/dasu-logo_hu_7897422e847bf8ef.webp 1200w"
src="https://aqualab.cs.northwestern.edu/project/dasu/dasu-logo_hu_af4c8ab472fbbc46.webp"
width="440"
height="215"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id="the-short-story"&gt;The Short Story&lt;/h2&gt;
&lt;p&gt;Dasu was a measurement experimentation platform for the Internet&amp;rsquo;s edge. It
supported both controlled network experimentation and broadband
characterization — building on public interest in the latter to gain the
adoption necessary for the former.&lt;/p&gt;
&lt;p&gt;Do you ever wonder what your ISP service is really like? Are you getting your
money&amp;rsquo;s worth? How do public DNS services perform compared with your own ISP&amp;rsquo;s,
over the long run?&lt;/p&gt;
&lt;p&gt;Some ISPs set complex policies based on time of day, service level or
application; others oversubscribe their networks, shape traffic, or discourage
heavy users. To the person paying the bill, those policies show up as
time-of-day variation in available bandwidth, poor performance for particular
applications, or a general sense that the service is worse than advertised.
Dasu&amp;rsquo;s goal was to capture those variations by continuously monitoring the level
of service actually delivered, so users could make informed decisions about
their provider.&lt;/p&gt;
&lt;h2 id="why-continuous-and-why-from-the-edge"&gt;Why Continuous, and Why From the Edge&lt;/h2&gt;
&lt;p&gt;Most earlier work on ISP performance relied on one-time active measurements from
user-triggered benchmarking tools, which capture only snapshots. That approach
cannot see service variation or sporadic events, precisely because such things
are transient. Many tools also looked at a single dimension — upload and
download caps, DNS performance, HTTP caching.&lt;/p&gt;
&lt;p&gt;Done properly, ISP characterization needs to be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;at scale&lt;/strong&gt;, to cover the diversity of providers and service tiers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;continuous&lt;/strong&gt;, to catch traffic shaping, oversubscription and unscheduled outages&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;from end users&lt;/strong&gt;, so what is characterized is the service people actually receive&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Existing approaches traded these against each other. Our argument was that
network-intensive applications already running on end systems — BitTorrent being
the obvious one — avoid the trade-off entirely.&lt;/p&gt;
&lt;p&gt;By passively monitoring user-generated traffic, Dasu captured the end user&amp;rsquo;s
view at scale. By combining that with on-demand active measurements, it reached
the effectiveness of hardware-based approaches such as SamKnows and the FCC&amp;rsquo;s
programme, without their cost, while keeping the flexibility and low adoption
barrier of software.&lt;/p&gt;
&lt;h2 id="distribution"&gt;Distribution&lt;/h2&gt;
&lt;p&gt;Dasu shipped first as a plugin for the Vuze/Azureus BitTorrent client, then as a
&lt;strong&gt;standalone client&lt;/strong&gt; for users who did not run BitTorrent — a small application
that sat in the status bar monitoring ISP performance, with installers for
Windows and macOS 10.5+. Versions ran from 1.0 in May 2010 through 5.0 in 2013,
with automatic updates.&lt;/p&gt;
&lt;p&gt;It was &lt;strong&gt;released under the GPL&lt;/strong&gt;, with source included in the distributed jar.
Neither the plugin nor the standalone client is available today.&lt;/p&gt;
&lt;h2 id="why-the-name"&gt;Why the Name&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Dasu&lt;/em&gt; is the Japanese word for putting something out there, or showing
something — used especially for showing secrets.&lt;/p&gt;
&lt;details class="spoiler " id="spoiler-0"&gt;
&lt;summary&gt;Release history (2010–2013)&lt;/summary&gt;
&lt;p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;24 Apr 2013&lt;/strong&gt; — version 5.0 to beta testers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;15 Jan 2013&lt;/strong&gt; — version 4.11 released; prevented loss of window focus on Windows during test execution&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;25 Oct 2012&lt;/strong&gt; — version 4.0 released&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;9 Apr 2011&lt;/strong&gt; — version 3.0 released, a major rewrite&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;5 Nov 2010&lt;/strong&gt; — fix for a client incompatibility&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3 Nov 2010&lt;/strong&gt; — version 2.0, detecting more types of interference&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;30 May 2010&lt;/strong&gt; — first public release, version 1.0&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/2011/zbischof-sigcomm11-wmust/"&gt;Crowdsourcing ISP Characterization to The Network Edge&lt;/a&gt; — W-MUST 2011&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2011/msanchez-sigcomm11/"&gt;Dasu: ISP Characterization from the Edge, A BitTorrent Implementation&lt;/a&gt; — SIGCOMM 2011 (demo)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2012/zbischof-sigcomm-wmust12/"&gt;Up, Down and Around the Stack: ISP Characterization from Network Intensive Applications&lt;/a&gt; — W-MUST 2012, also in CCR&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2013/msanchez-pam13/"&gt;Trying Broadband Characterization at Home&lt;/a&gt; — PAM 2013&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2013/msanchez-nsdi13/"&gt;Dasu: Pushing Experiments to the Internet&amp;rsquo;s Edge&lt;/a&gt; — NSDI 2013&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2013/msanchez-nsd13-demo/"&gt;Experiments at the Internet&amp;rsquo;s Edge with Dasu&lt;/a&gt; — NSDI 2013 (demo)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2013/zbischof-nsdi-demo13/"&gt;Characterizing Broadband Services with Dasu&lt;/a&gt; — NSDI 2013 (demo)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2015/msanchez-ieeeton15/"&gt;A Measurement Experimentation Platform at the Internet&amp;rsquo;s Edge&lt;/a&gt; — IEEE/ACM Transactions on Networking, 2015&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="coverage"&gt;Coverage&lt;/h2&gt;
&lt;p&gt;Ars Technica covered our analysis of BitTorrent usage during the 2011 Japanese
earthquake and the Internet shutdowns in Egypt and Libya.&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/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-otto/"&gt;John S. Otto&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/david-choffnes/"&gt;David R. Choffnes&lt;/a&gt;&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;Balachander Krishnamurthy (AT&amp;amp;T Labs–Research)&lt;/li&gt;
&lt;li&gt;Walter Willinger (AT&amp;amp;T Labs–Research)&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/edge-measurement/"&gt;Measurement and Experimentation from the Edge&lt;/a&gt; — the wider thread this belongs to&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/news-early-warning/"&gt;NEWS&lt;/a&gt; — the earlier system that established the approach&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item><item><title>Privacy in Peer-to-Peer Systems</title><link>https://aqualab.cs.northwestern.edu/project/p2p-privacy/</link><pubDate>Mon, 01 Jun 2009 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/p2p-privacy/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="project-overview"&gt;Project Overview&lt;/h2&gt;
&lt;p&gt;Discussions of privacy in peer-to-peer systems tended to focus on content: what
a user downloads, and who can observe it. This project started from a different
place. In BitTorrent, whom you connect to is itself revealing, because people
with similar interests end up in the same swarms repeatedly, and those repeated
co-occurrences are visible to anyone watching the network.&lt;/p&gt;
&lt;p&gt;Working with Luís Amaral&amp;rsquo;s group at Northwestern, we applied community-detection
methods from complex-network analysis to BitTorrent connection patterns. The
result, reported in &lt;em&gt;Strange Bedfellows&lt;/em&gt;, is that users cluster into stable
communities that persist over time and can be recovered from connection
structure alone — no payload inspection required. An observer who cannot see
what you downloaded can still infer a great deal about what you are interested
in, simply from the company you keep.&lt;/p&gt;
&lt;p&gt;The interdisciplinary collaboration was essential here: the measurement side
supplied the traces and the systems questions, and the network-science side
supplied the methods for finding structure in them.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="swarmscreen"&gt;SwarmScreen&lt;/h2&gt;
&lt;p&gt;If connection patterns are the leak, then the defence has to operate on
connection patterns. SwarmScreen adds a controlled fraction of connections to
swarms the user has no interest in, deliberately blurring the community
structure an observer would otherwise recover.&lt;/p&gt;
&lt;p&gt;The design point is plausible deniability rather than concealment. A user&amp;rsquo;s real
activity is still there, but it is no longer separable from behaviour they never
chose, so an observer cannot attribute any particular interest with confidence.
The cost is a tunable amount of extra traffic, which the tech report examines
against the privacy gained.&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/swarmscreen/"&gt;SwarmScreen&lt;/a&gt;&lt;/strong&gt; — a Vuze extension
making downloading behaviour difficult to classify from connection patterns,
with a tunable privacy/performance trade-off.&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/2010/dchoffnes-iptps10/"&gt;Strange Bedfellows: Communities in BitTorrent&lt;/a&gt; — IPTPS 2010&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2009/dchoffnes-nu-eecs-tr09/"&gt;SwarmScreen: Privacy Through Plausible Deniability in P2P Systems&lt;/a&gt; — Northwestern EECS technical report, 2009&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="coverage"&gt;Coverage&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;The Register&lt;/em&gt; covered the work in April 2009, under
&lt;a href="https://www.theregister.com/security/2009/04/09/p2p-eavesdrop-guilt-by-association-attack-developed/758409" target="_blank" rel="noopener"&gt;&amp;ldquo;P2P eavesdrop &amp;lsquo;guilt by association attack&amp;rsquo; developed&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="people"&gt;People&lt;/h2&gt;
&lt;p&gt;This was joint work with the &lt;a href="https://amaral.northwestern.edu/" target="_blank" rel="noopener"&gt;Amaral Lab&lt;/a&gt; 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;Luís A. Nunes Amaral (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;Collaborators&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Jordi Duch (Northwestern University)&lt;/li&gt;
&lt;li&gt;Dean Malmgren (Northwestern University)&lt;/li&gt;
&lt;li&gt;Roger Guimerà (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/" target="_blank" rel="noopener"&gt;AquaLab Research Group&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item><item><title>SwarmScreen</title><link>https://aqualab.cs.northwestern.edu/project/swarmscreen/</link><pubDate>Mon, 09 Mar 2009 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/swarmscreen/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="the-short-story"&gt;The Short Story&lt;/h2&gt;
&lt;p&gt;The goal was to make it harder for an attacker to work out your downloading
habits. Part of why BitTorrent works so well is that it lets you download from
large numbers of connections — and those same connections are opportunities for
eavesdropping. Our study of the BitTorrent network showed that user connection
patterns reveal strong communities, which enable a &lt;strong&gt;guilt-by-association
attack&lt;/strong&gt;: an entire community can be classified by monitoring one of its
members. With P2P networks increasingly under surveillance from private and
government organizations, this needed a practical answer.&lt;/p&gt;
&lt;p&gt;SwarmScreen hid real traffic in a sea of connections to randomly selected
torrents, shaping those extra connections to look like the genuine ones. It
slowed downloads, necessarily — so it offered a tuning knob, &lt;strong&gt;SPF&lt;/strong&gt;, the
SwarmScreen Protection Factor. Like sunscreen, a higher setting gives more
protection; a lower one gives back bandwidth.&lt;/p&gt;
&lt;h2 id="the-attack"&gt;The Attack&lt;/h2&gt;
&lt;p&gt;Peer-to-peer systems draw their scalability and performance from large numbers
of connections between cooperating hosts. Existing privacy work concealed
connection &lt;em&gt;data&lt;/em&gt; through encryption and trusted networks, but left the
existence of each connection visible.&lt;/p&gt;
&lt;p&gt;BitTorrent is a useful case because peers connect purely on shared, concurrent
interest in the same content — not friendship, language or geography. Using
connection patterns gathered from real users, we studied whether communities
form: collections of peers far more likely to connect to each other than to
random peers. They do, and strongly. Users inside a typical community were &lt;strong&gt;5
to 25 times more likely&lt;/strong&gt; to connect to each other than to users outside it.&lt;/p&gt;
&lt;p&gt;That structure is what makes the attack work. From &lt;strong&gt;a single observation
point&lt;/strong&gt;, an attacker could reveal &lt;strong&gt;50% of the network&lt;/strong&gt; using only knowledge of
a peer&amp;rsquo;s neighbours and their neighbours — two hops. An attacker monitoring just
&lt;strong&gt;1% of the network&lt;/strong&gt; could correctly assign users to their communities of
interest &lt;strong&gt;more than 86% of the time&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="the-defence"&gt;The Defence&lt;/h2&gt;
&lt;p&gt;We proposed a privacy-preserving layer that obfuscates user-generated network
behaviour, and showed that plausible deniability is achievable by adding a
relatively small proportion — &lt;strong&gt;between 25% and 50%&lt;/strong&gt; — of extra random
connections, provided they are statistically indistinguishable from natural
ones. SwarmScreen generated exactly those, by participating in randomly selected
torrents without looking anomalous.&lt;/p&gt;
&lt;p&gt;Encryption does not solve this problem, because the attack reads connection
patterns rather than payloads. Tor disguises endpoints but is not built for P2P,
and downloads through it slowed by roughly a factor of ten; SwarmScreen let
users choose their own slowdown instead.&lt;/p&gt;
&lt;h2 id="why-the-name"&gt;Why the Name&lt;/h2&gt;
&lt;p&gt;SwarmScreen uses multiple swarms to screen real traffic. It also sounds like
sunscreen, which made SPF the natural name for the privacy/performance dial.&lt;/p&gt;
&lt;h2 id="availability"&gt;Availability&lt;/h2&gt;
&lt;p&gt;SwarmScreen installed into the Vuze/Azureus client, first released in March 2009,
with community translations into French, Italian, Portuguese, Slovak, Russian,
Polish, Chinese and Catalan. It is no longer available.&lt;/p&gt;
&lt;p&gt;The project shipped with a legal disclaimer worth preserving in spirit: the
privacy claims rested on the results in the technical report and were not legal
advice, and the software downloaded nothing unless the user configured it to.&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/2010/dchoffnes-iptps10/"&gt;Strange Bedfellows: Communities in BitTorrent&lt;/a&gt; — IPTPS 2010&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2009/dchoffnes-nu-eecs-tr09/"&gt;SwarmScreen: Privacy Through Plausible Deniability in P2P Systems&lt;/a&gt; — Northwestern EECS technical report, 2009&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="coverage"&gt;Coverage&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;The Register&lt;/em&gt; covered the work in April 2009, under
&lt;a href="https://www.theregister.com/security/2009/04/09/p2p-eavesdrop-guilt-by-association-attack-developed/758409" target="_blank" rel="noopener"&gt;&amp;ldquo;P2P eavesdrop &amp;lsquo;guilt by association attack&amp;rsquo; developed&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="people"&gt;People&lt;/h2&gt;
&lt;p&gt;This was joint work with the &lt;a href="https://amaral.northwestern.edu/" target="_blank" rel="noopener"&gt;Amaral Lab&lt;/a&gt; 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;Luís A. Nunes Amaral (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;Collaborators&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Jordi Duch, Dean Malmgren, Roger Guimerà (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/p2p-privacy/"&gt;Privacy in Peer-to-Peer Systems&lt;/a&gt; — the project SwarmScreen was built for&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item><item><title>NEWS</title><link>https://aqualab.cs.northwestern.edu/project/news-early-warning/</link><pubDate>Wed, 07 May 2008 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/news-early-warning/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="the-short-story"&gt;The Short Story&lt;/h2&gt;
&lt;p&gt;The goal was to reliably find problems in the network and raise alerts about
them. As a user, you want to know you are getting the service you pay for, and
to be told quickly when something breaks — particularly when an interruption
might entitle you to compensation. For an ISP, the same information localizes
and identifies faults faster, so they can be fixed before they generate
complaints.&lt;/p&gt;
&lt;p&gt;NEWS did this by passively monitoring BitTorrent performance and watching for
changes that suggested network trouble. Because a problem can be anywhere,
including inside your own home network, NEWS corroborated across multiple users
in the same area — the same ISP, or the same country. When enough people saw the
same problem in the same place, it raised an alarm.&lt;/p&gt;
&lt;p&gt;The approach&amp;rsquo;s virtue was its cost: monitoring traffic the client was generating
anyway made detection extremely lightweight.&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="Global map of NEWS users, shaded by country" srcset="
/project/news-early-warning/coverage-map_hu_22c7f89280a80a09.webp 400w,
/project/news-early-warning/coverage-map_hu_b30e6fe864d0bb82.webp 760w,
/project/news-early-warning/coverage-map_hu_d8f26b7e2ac09a7f.webp 1200w"
src="https://aqualab.cs.northwestern.edu/project/news-early-warning/coverage-map_hu_22c7f89280a80a09.webp"
width="760"
height="570"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;em&gt;NEWS coverage. Detection depended on having enough users inside the same ISP or
country to corroborate a suspected problem.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="why-the-edge"&gt;Why the Edge&lt;/h2&gt;
&lt;p&gt;The Internet increasingly carried services — VoIP, content distribution, IPTV —
whose user experience had become a benchmark for providers and users alike. That
experience is largely determined by the frequency, duration and severity of
network events, so there is a clear need to detect, isolate and explain those
events quickly.&lt;/p&gt;
&lt;p&gt;Most prior work monitored core networks or probed from research and education
networks. That is effective for faults affecting many customers at once, but it
misses silent failures — incompatible QoS or ACL settings, for instance — and
their effect on individual services. End-to-end monitoring approaches, meanwhile,
required active measurement that does not scale to the number of elements at the
network&amp;rsquo;s edge.&lt;/p&gt;
&lt;p&gt;NEWS took the other route: push performance monitoring and detection onto the
end systems themselves. Crowdsourcing the monitoring meant participating hosts
could collectively handle the data volume needed for real-time detection at the
scale of millions of monitors, and installing inside or alongside a service
allowed immediate, incremental deployment.&lt;/p&gt;
&lt;h2 id="distribution"&gt;Distribution&lt;/h2&gt;
&lt;p&gt;NEWS installed into the Vuze/Azureus BitTorrent client and reached &lt;strong&gt;hundreds of
thousands of users&lt;/strong&gt;. It was &lt;strong&gt;released under the GPL&lt;/strong&gt;, with source included in
the jar. Users contributed translations. It is no longer available.&lt;/p&gt;
&lt;details class="spoiler " id="spoiler-0"&gt;
&lt;summary&gt;Release history (2008)&lt;/summary&gt;
&lt;p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;24 Oct 2008&lt;/strong&gt; — a Java-version problem affecting macOS identified, fix planned for the next release&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1 Jul 2008&lt;/strong&gt; — version 0.8 mainlined, with numerous bug fixes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;24 Jun 2008&lt;/strong&gt; — version 0.6 released as a signed plugin for beta testing at scale&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;19 May 2008&lt;/strong&gt; — version 0.2, mature enough for general use&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;7 May 2008&lt;/strong&gt; — first version released&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/2010/dchoffnes-sigcomm10/"&gt;Crowdsourcing Service-Level Network Event Detection&lt;/a&gt; — SIGCOMM 2010&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2009/nwu-eecs-09-19/"&gt;Using the Crowd to Monitor the Cloud: Detecting Network Events from Edge Systems&lt;/a&gt; — Northwestern EECS technical report, 2009&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="coverage"&gt;Coverage&lt;/h2&gt;
&lt;p&gt;NEWS was covered by RedOrbit, Slashdot, and &lt;em&gt;The Hindu&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;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/edge-measurement/"&gt;Measurement and Experimentation from the Edge&lt;/a&gt; — the wider thread this belongs to&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/dasu/"&gt;Dasu&lt;/a&gt; — the platform that grew out of the same approach&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><item><title>NUPastry and NUScribe</title><link>https://aqualab.cs.northwestern.edu/project/nupastry-nuscribe/</link><pubDate>Thu, 01 Sep 2005 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/nupastry-nuscribe/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="context"&gt;Context&lt;/h2&gt;
&lt;p&gt;The work was motivated by delivering high-quality streaming media to an
effectively unlimited number of peers over a purely cooperative model. Multicast
suits that class of application because it decouples the size of the receiver
set from the state kept at any single node, and avoids redundant transmission.
Application-level approaches put all the multicast functionality in end systems
configured into an overlay, keeping most of the benefit of network-layer
multicast while avoiding IP multicast&amp;rsquo;s deployment and scalability problems.&lt;/p&gt;
&lt;p&gt;Trees are the natural structure for timely delivery, and they scale well in link
stress, overhead and latency. But pushed onto autonomous, unpredictable end
systems they suffer three specific problems:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Transiency.&lt;/strong&gt; End systems leave far more readily than routers, and trees
depend on their interior nodes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bandwidth constraints near the root.&lt;/strong&gt; Available bandwidth decreases as one
ascends from the leaves, so high-level paths become the bottleneck under load.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unfair load distribution.&lt;/strong&gt; A small fraction of interior nodes do all the
replication and forwarding while leaves contribute nothing — awkward in a
system premised on every peer contributing in exchange for the service.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We proposed three generic techniques against these: &lt;strong&gt;co-leaders&lt;/strong&gt;, alternative
leaders that remove single-node dependencies and provide alternative forwarding
paths; &lt;strong&gt;fat-trees&lt;/strong&gt;, imported from parallel computing to relieve the bandwidth
constraint near the root; and &lt;strong&gt;multiple performance-centric balanced trees&lt;/strong&gt;,
which allow fair resource contribution without sacrificing performance.&lt;/p&gt;
&lt;p&gt;Those became three reference implementations: &lt;strong&gt;Nemo&lt;/strong&gt;, a structurally resilient
overlay; &lt;strong&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/fatnemo/"&gt;FatNemo&lt;/a&gt;&lt;/strong&gt;, a fat-tree overlay for
high-bandwidth multicast; and &lt;strong&gt;Magellan&lt;/strong&gt;, a performance-centric multi-tree
overlay maximizing fair load distribution against stated performance
expectations.&lt;/p&gt;
&lt;h2 id="what-was-released"&gt;What Was Released&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NUPastry&lt;/strong&gt; — reference implementation of a resilient distributed hash table&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NUScribe&lt;/strong&gt; — DHT-based multicast, with a work-in-progress &lt;strong&gt;NUSplitStream&lt;/strong&gt;
providing many of the proposed SplitStream features&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;They came with documentation for the supporting pieces: a DHT API, the Heimdall
network library, a multicast API, and a common API layer.&lt;/p&gt;
&lt;p&gt;Software was distributed to users who registered on the lab site, on the
condition that any paper using it cite the corresponding publication and that a
copy be sent to us on publication. It is no longer available. Wide-area
experiments were run with &lt;a href="https://aqualab.cs.northwestern.edu/project/nixes/"&gt;the Nixes tool set&lt;/a&gt;.&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/2004/sbirrer-nca04/"&gt;Resilient Peer-to-Peer Multicast from the Ground Up&lt;/a&gt; — NCA 2004&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2004/sbirrer-wcw04/"&gt;FatNemo: Building a Resilient Multi-Source Multicast Fat-Tree&lt;/a&gt; — WCW 2004&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer05mmcn/"&gt;Nemo: Resilient Peer-to-Peer Multicast without the Cost&lt;/a&gt; — MMCN 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer-nsdi05-poster/"&gt;FatNemo: Multisource Multicast Overlay Fat-Trees&lt;/a&gt; — NSDI 2005 (poster)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer05mpcm/"&gt;Magellan: Performance-based, Cooperative Multicast&lt;/a&gt; — WCW 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer-mascots05/"&gt;The Feasibility of DHT-based Streaming Multicast&lt;/a&gt; — MASCOTS 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2006/sbirrer-mascots06/"&gt;Resilience in Overlay Multicast Protocols&lt;/a&gt; — MASCOTS 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/stefan-birrer/"&gt;Stefan Birrer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/yi-qiao/"&gt;Yi Qiao&lt;/a&gt;&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;Peter Dinda (Northwestern University)&lt;/li&gt;
&lt;li&gt;Dong Lu (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/resilient-overlays/"&gt;Resilient Overlays and Multicast&lt;/a&gt; — the project these implementations belong to&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item><item><title>FatNemo and FatScribe</title><link>https://aqualab.cs.northwestern.edu/project/fatnemo/</link><pubDate>Fri, 01 Oct 2004 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/fatnemo/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="motivation-and-approach"&gt;Motivation and Approach&lt;/h2&gt;
&lt;p&gt;For streaming-oriented applications, where timely delivery is the key
requirement, trees are generally the preferred overlay structure. But when the
application is bandwidth-demanding — video conferencing, multi-party games —
basic trees run into a structural problem. Bandwidth availability decreases
monotonically as one ascends from the leaves, so under high load the paths near
the root become the bottleneck and dominate delivery latency. Once those links
are loaded, packets are buffered, then dropped.&lt;/p&gt;
&lt;p&gt;We imported the concept of &lt;strong&gt;fat-trees&lt;/strong&gt; from parallel architectures into
overlay networks to address exactly that constraint. Fat-trees widen as they
approach the root, giving the interior the capacity that traffic concentration
demands.&lt;/p&gt;
&lt;p&gt;We implemented two protocols on this idea: &lt;strong&gt;FatNemo&lt;/strong&gt;, for performance-centric
overlay multicast, and &lt;strong&gt;FatScribe&lt;/strong&gt;, for DHT-based systems.&lt;/p&gt;
&lt;h2 id="results"&gt;Results&lt;/h2&gt;
&lt;p&gt;Through simulation and wide-area experimentation — against each other and
against alternative protocols — the fat-tree approach was shown to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;lower the forwarding responsibility of individual nodes&lt;/strong&gt;, increasing
scalability to match the demands of high-bandwidth multicast&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;reduce the height of the forwarding tree&lt;/strong&gt;, significantly shortening
delivery latency&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;improve robustness to node transiency&lt;/strong&gt;, by increasing path diversity in the
overlay&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That last point matters most in practice. An overlay is built from machines that
leave without warning, and a structure with more distinct paths degrades more
gracefully when they do.&lt;/p&gt;
&lt;h2 id="availability"&gt;Availability&lt;/h2&gt;
&lt;p&gt;Reference implementations were distributed to users who registered on the lab
site, with the requirement that any paper using the software cite the
corresponding publication. They are no longer available. Wide-area deployment
used &lt;a href="https://aqualab.cs.northwestern.edu/project/nixes/"&gt;the Nixes tool set&lt;/a&gt;.&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/2004/sbirrer-wcw04/"&gt;FatNemo: Building a Resilient Multi-Source Multicast Fat-Tree&lt;/a&gt; — WCW 2004&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer-nsdi05-poster/"&gt;FatNemo: Multisource Multicast Overlay Fat-Trees&lt;/a&gt; — NSDI 2005 (poster)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer-mascots05/"&gt;The Feasibility of DHT-based Streaming Multicast&lt;/a&gt; — MASCOTS 2005&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/stefan-birrer/"&gt;Stefan Birrer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/yi-qiao/"&gt;Yi Qiao&lt;/a&gt;&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;Peter Dinda (Northwestern University)&lt;/li&gt;
&lt;li&gt;Dong Lu (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/resilient-overlays/"&gt;Resilient Overlays and Multicast&lt;/a&gt; — the project FatNemo was built for&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item><item><title>Resilient Overlays and Multicast</title><link>https://aqualab.cs.northwestern.edu/project/resilient-overlays/</link><pubDate>Sun, 01 Jun 2003 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/resilient-overlays/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="project-overview"&gt;Project Overview&lt;/h2&gt;
&lt;p&gt;IP multicast was never deployed widely enough to carry streaming media across
the Internet, so the job fell to overlays built out of the participants
themselves. That trade is attractive — no infrastructure required — and it
creates a hard problem: the network you are building on is made of ordinary
machines that leave without warning. A structure that delivers efficiently when
everyone stays put can collapse when a fraction of its interior nodes disappear
at once.&lt;/p&gt;
&lt;p&gt;This project ran for several years on the question of what overlay structure
actually survives churn, and produced both protocols and a body of comparative
measurement about how the alternatives behave when conditions stop being
convenient.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="nemo"&gt;Nemo&lt;/h2&gt;
&lt;p&gt;Nemo&amp;rsquo;s argument was that resilience need not be bought with overhead. Prevailing
approaches improved reliability by adding redundancy — more paths, more copies,
more maintenance traffic — and paid for it in bandwidth and complexity. Nemo
used co-leaders to keep delivery going when interior nodes fail, achieving
resilience comparable to far more expensive schemes at a fraction of the cost.
&lt;em&gt;Nemo: Resilient Peer-to-Peer Multicast without the Cost&lt;/em&gt; is the paper that
carries the argument.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="fatnemo"&gt;FatNemo&lt;/h2&gt;
&lt;p&gt;FatNemo borrowed a structure from parallel computing. Leiserson&amp;rsquo;s fat-trees
widen as they approach the root, giving interior links the capacity that traffic
concentration demands — exactly the property a multi-source multicast overlay
needs, where conventional trees choke near the top. FatNemo builds that shape
out of peers, sizing the overlay&amp;rsquo;s interior to the bandwidth it must carry
rather than assuming uniform links.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="dht-based-variants-and-comparison"&gt;DHT-Based Variants and Comparison&lt;/h2&gt;
&lt;p&gt;Alongside the purpose-built protocols we examined whether general-purpose
structured overlays could do the job, releasing reference implementations of
NUPastry and NUScribe and studying the feasibility of DHT-based streaming
multicast. The comparative strand ran throughout the project — &lt;em&gt;Resilience in
Overlay Multicast Protocols&lt;/em&gt;, &lt;em&gt;A Comparison of Resilient Overlay Multicast
Approaches&lt;/em&gt;, and &lt;em&gt;Structured and Unstructured Overlays Under the Microscope&lt;/em&gt; —
and fed a related question about how much structure an overlay should have at
all when churn is the normal condition rather than the exception.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="software"&gt;Software&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Nemo&lt;/strong&gt; — reference implementation of a structurally resilient,
performance-centric overlay multicast protocol for streaming applications. Its
own page is long gone; an
&lt;a href="https://web.archive.org/web/20060504061543/http://www.aqualab.cs.northwestern.edu/projects/nemo/" target="_blank" rel="noopener"&gt;Internet Archive snapshot&lt;/a&gt;
survives.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/fatnemo/"&gt;FatNemo and FatScribe&lt;/a&gt;&lt;/strong&gt; — fat-tree
overlays addressing the bandwidth constraints of conventional tree multicast.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/nupastry-nuscribe/"&gt;NUPastry and NUScribe&lt;/a&gt;&lt;/strong&gt; — a
resilient distributed hash table and DHT-based multicast, with a
work-in-progress NUSplitStream.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/nixes/"&gt;The Nixes Tool Set&lt;/a&gt;&lt;/strong&gt; — the PlanetLab
scripts these wide-area experiments were deployed with.&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/2003/sbirrer-nwu-cs-03-22/"&gt;Nemo: Resilient Peer-to-Peer Multicast&lt;/a&gt; — Northwestern CS technical report, 2003&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2004/sbirrer-nca04/"&gt;Resilient Peer-to-Peer Multicast from the Ground Up&lt;/a&gt; — NCA 2004&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2004/sbirrer-wcw04/"&gt;FatNemo: Building a Resilient Multi-Source Multicast Fat-Tree&lt;/a&gt; — WCW 2004&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer05mmcn/"&gt;Nemo: Resilient Peer-to-Peer Multicast without the Cost&lt;/a&gt; — MMCN 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer-nsdi05-poster/"&gt;FatNemo: Multisource Multicast Overlay Fat-Trees&lt;/a&gt; — NSDI 2005 (poster)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer-mascots05/"&gt;The Feasibility of DHT-based Streaming Multicast&lt;/a&gt; — MASCOTS 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer05mpcm/"&gt;Magellan: Performance-based, Cooperative Multicast&lt;/a&gt; — WCW 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/yqiao-icpp05/"&gt;Elders Know Best: Handling Churn in Less Structured P2P Systems&lt;/a&gt; — IEEE P2P 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2006/sbirrer-mascots06/"&gt;Resilience in Overlay Multicast Protocols&lt;/a&gt; — MASCOTS 2006&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2006/yqiao-usenixatc06/"&gt;Structured and Unstructured Overlays Under the Microscope&lt;/a&gt; — USENIX ATC 2006&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2007/fbustamante-ton07/"&gt;Designing Less-structured P2P Systems for the Expected High Churn&lt;/a&gt; — IEEE/ACM Transactions on Networking, 2007&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2007/sbirrer-jsac07/"&gt;A Comparison of Resilient Overlay Multicast Approaches&lt;/a&gt; — IEEE JSAC, 2007&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/stefan-birrer/"&gt;Stefan Birrer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/yi-qiao/"&gt;Yi Qiao&lt;/a&gt;&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;Dong Lu (Northwestern University)&lt;/li&gt;
&lt;li&gt;Peter Dinda (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/" target="_blank" rel="noopener"&gt;AquaLab Research Group&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item></channel></rss>