-There are a large number of free software package distributors using\r
-package distribution systems over the Internet to distribute\r
-software to their users. These distributors have developed many\r
-different methods for this distribution, but they almost exclusively\r
-use a client-server model to satisfy user requests. The popularity\r
-and number of users results in a large number of requests, which\r
-usually requires a network of mirrors to handle. Due to the free\r
-nature of this software, many users are willing and able to\r
-contribute upload bandwidth to this distribution, but have no\r
-current way to do this.\r
-\r
-We present a new peer-to-peer distribution model to meet these\r
-demands. It is based on many previous implementations of successful\r
-peer-to-peer protocols, especially distributed hash tables (DHT) and\r
-BitTorrent. The model relies on the pre-existence of cryptographic\r
-hashes of the packages, which uniquely identify it for a\r
-request from other peers. If the peer-to-peer download fails, then\r
-the original request to the server is used as a fallback to prevent\r
-any dissatisfaction from users. The peer can then share this new\r
-package with others through the P2P system.\r
-\r
-First, we examine the opportunity that is available for many of\r
-these free software package distributors. We present an overview of\r
-a system that would efficiently satisfy the demands of a large\r
-number of users, and should significantly reduce the currently\r
-substantial bandwidth requirements of hosting this software. We then\r
-present an example implementation based on the Debian package\r
-distribution system. This implementation will be used by a large\r
-number of users, and serves as an example for other free software\r
-distributors of the opportunity that can be met with such a system.\r
-Finally, we analyze our currently deployed implementation to\r
+With the widespread penetration of broadband accesses, the Internet has become an cost-effective\r
+vehicle for software development and release. This is particularly true for the free software\r
+society whose developers and users are worldwide distributed and work asynchronously. The ever increasing power of\r
+modern programming languages, computer platforms, and operating systems has made these software extremely large and complex,\r
+which are often divided into a huge number of small packages.\r
+Together with their popularity among users,\r
+an efficient and reliable management and distribution of these software over the Internet has become a challenging task.\r
+\r
+The existing distributor for free software are mostly based on the client/server model, e.g.,\r
+the Advanced Package Tool (\texttt{apt}) for Linux, which suffers from the well-known bottleneck problem.\r
+Given the free nature of these software, there are often a number of users\r
+motivated by altruism to help out with the distribution, so as to promote the healthy development\r
+of this voluntary society.\r
+We thus naturally expect that peer-to-peer distribution can be implemented in\r
+this context, which scale well with large user bases and can easily explore the network resources made available by\r
+the volunteers.\r
+\r
+Unfortunately, this application scenario has many unique characteristics, which\r
+make a straightforward adoption of such existing peer-to-peer systems for file sharing as BitTorrent suboptimal. In particular,\r
+there are too many packages to distribute each individually, but the archive is\r
+too large to distribute in its entirety. The packages are also being constantly\r
+updated by the loosely-managed developed; yet the interest in a particular version of a package can be very\r
+limited. They together make it very difficult to efficiently create and manage torrents/trackers. The random downloading nature of BitTorrent-like systems is also different from the\r
+sequential order used in existing software package distributors. This in turn suppresses interaction with users\r
+given the difficulty in tracking speed and downloading progress.\r
+\r
+In this paper, we propose a novel peer-to-peer assisted distributor design that\r
+addresses the above challenges. It enhances the existing distribution systems by providing compatible and yet more efficient downloading and updating services\r
+for software packages. Our design leads to the development of \texttt{apt-p2p}, a practical implementation based on the Debian \footnote{Debian - The Universal Operating System: {\it http://www.debian.org/}} package\r
+distribution system. We have addressed the key design issues in \texttt{apt-p2p}, including indexing table customization,\r
+response time reduction, and multi-value extension. They together ensure\r
+that the altruistic users' resources be effectively utilized and thus significantly reduce the currently\r
+sheer bandwidth requirements of hosting the software.\r
+\r
+\texttt{apt-p2p} has been used in conjuction with Debian-based distribution of Linux\r
+software packages and will also be available in the next release of Ubuntu. We have evaluated our currently deployment to\r