-BitTorrent client, to try and fix the drawbacks mentioned in section\r
-\ref{bittorrent}. However, these changes also require some\r
-modifications to the distribution system to support it.\r
-\r
-Others have also used DHTs to support this type of functionality.\r
-Kenosis \cite{kenosis} is a P2P Remote Procedure Call\r
-client also based on the Kademlia DHT, but it is meant as a P2P\r
-primitive system on which other tools can be built, and so it has no\r
-file sharing functionality at all. Many have used a DHT as a drop-in\r
-replacement for the tracker in a BitTorrent system\r
-\cite{bittorrent-dht, azureus-dht}, but such systems only use the\r
-DHT to find peers for the same torrent, so the file sharing uses\r
-traditional BitTorrent and so is not ideal for the reasons listed\r
-above.\r
-\r
-Our solution differs from them in that ...\r
+BitTorrent client, to try and fix the drawbacks mentioned in\r
+Section~\ref{bittorrent}. However, these changes also require some\r
+modifications to the distribution system to support it. Our system\r
+considers all the files available to users to download, and makes\r
+use of the existing infrastructure unmodified.\r
+\r
+% \textbf{OPTIONAL}: Others have also used DHTs to support this type of functionality.\r
+% Kenosis \cite{kenosis} is a peer-to-peer Remote Procedure Call\r
+% client also based on the Kademlia DHT, but it is meant as a peer-to-peer\r
+% primitive system on which other tools can be built, and so it has no\r
+% file sharing functionality at all. Many have used a DHT as a drop-in\r
+% replacement for the tracker in a BitTorrent system\r
+% \cite{bittorrent-dht, azureus-dht}, but such systems only use the\r
+% DHT to find peers for the same torrent, so the file sharing uses\r
+% traditional BitTorrent and so is not ideal for the reasons listed\r
+% in Section~\ref{bittorrent}.\r
+\r
+% \cite{deltacast}\r
+\r
+There are a number of works dedicated to developing a collaborative\r
+content distribution network (CDN) using peer-to-peer techniques.\r
+Freedman et al. developed Coral \cite{coral} using a distributed\r
+\emph{sloppy} hash table to speed request times. Pierre and van\r
+Steen developed Globule \cite{globule} which uses typical DNS and\r
+HTTP redirection techniques to serve requests from a network of\r
+replica servers, which in turn draw their content from the original\r
+location (or a backup). Shah et al. \cite{shah08} analyze an\r
+existing software delivery system and use the results to design a\r
+peer-to-peer content distribution network that makes use of\r
+volunteer servers to help with the load. None of these systems meets\r
+our goal of an even distribution of load amongst the users of the\r
+system. Not all users of the systems become peers, and so are not\r
+able to contribute back to the system after downloading. The\r
+volunteers that do contribute as servers are required to contribute\r
+larger amounts of bandwidth, both for uploading to others, and in\r
+downloading content they are not in need of in order to share them\r
+with other users. Our system treats all users equally, requiring all\r
+to become peers in the system, sharing the uploading load equally\r
+amongst all, but does not require any user to download files they\r
+would not otherwise need.\r
+\r
+The most similar works to ours are by Shah et al. \cite{shah08} and\r
+Shark by Annapureddy et al. \cite{shark}.\r
+Shah's system, in addition to the drawbacks mentioned above,\r
+is not focused on the interactivity of downloads, as\r
+half of all requests were required ``to wait between 8 and 15\r
+minutes.'' In contrast, lookups in our system take only seconds to\r
+complete, and all requests can be completed in under a minute.\r
+Shark makes use of Coral's distributed sloppy hash table to speed\r
+the lookup time, but their system is more suited to its intended use\r
+as a distributed file server. It does not make use of authoritative\r
+copies of the original files, allowing instead any users in the\r
+system to update files and propagate those changes to others. Our\r
+system is well-tailored to the application of disseminating the\r
+unchanging software packages from the authoritative sources to all\r
+users.\r