apt-p2p: A Peer-to-Peer Distribution System for Software Package Releases and Updates



Similar documents
BitTorrent Management and the Advantages of distributing Free Software

Seminar RVS MC-FTP (Multicast File Transfer Protocol): Simulation and Comparison with BitTorrent

Java Bit Torrent Client

P2P File Sharing: BitTorrent in Detail

The BitTorrent Protocol

P2P Node Setup Guide Authored by: Unitsa Sungket, Prince of Songkla University, Thailand Darran Nathan, APBioNet

The Algorithm of Sharing Incomplete Data in Decentralized P2P

A Comparison of Mobile Peer-to-peer File-sharing Clients

From Centralization to Distribution: A Comparison of File Sharing Protocols

Lecture 6 Content Distribution and BitTorrent

FS2You: Peer-Assisted Semi-Persistent Online Storage at a Large Scale

JXTA Overview. Mathieu Jan IRISA Rennes Projet Paris

Bit Chat: A Peer-to-Peer Instant Messenger

MC-FTP (Multicast File Transfer Protocol): Implementation and Comparison with

A Week in the Life of the Most Popular BitTorrent Swarms

Optimizing and Balancing Load in Fully Distributed P2P File Sharing Systems

VoIP CALL PERFORMANCE OVER IPv6 DURING HTTP AND BITTORRENT DOWNLOADS

BitTorrent Peer To Peer File Sharing

The Bittorrent P2P File-sharing System: Measurements And Analysis J.A. Pouwelse, P. Garbacki, D.H.J. Epema, H.J. Sips Department of Computer Science,

WebTorrent: a BitTorrent Extension for High Availability Servers

RapidUpdate: Peer-Assisted Distribution of Security Content

Sync Security and Privacy Brief

DDoS Vulnerability Analysis of Bittorrent Protocol

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

Should Internet Service Providers Fear Peer-Assisted Content Distribution?

Internet Content Distribution

Bandwidth consumption: Adaptive Defense and Adaptive Defense 360

Peer-to-peer filetransfer protocols and IPv6. János Mohácsi NIIF/HUNGARNET TF-NGN meeting, 1/Oct/2004

CS5412: TORRENTS AND TIT-FOR-TAT

Network File System (NFS) Pradipta De

loss-tolerant and time sensitive loss-intolerant and time sensitive loss-intolerant and time insensitive

Peer-to-Peer Networks. Chapter 2: Initial (real world) systems Thorsten Strufe

Optimizing Congestion in Peer-to-Peer File Sharing Based on Network Coding

Optimizing Outlook Performance

Information Searching Methods In P2P file-sharing systems

Internet Content Distribution

Three short case studies

A Tool for Evaluation and Optimization of Web Application Performance

ULTEO OPEN VIRTUAL DESKTOP UBUNTU (PRECISE PANGOLIN) SUPPORT

Executive Brief for Sharing Sites & Digital Content Providers. Leveraging Hybrid P2P Technology to Enhance the Customer Experience and Grow Profits

Common P2P Examples. Peer to Peer Networks. Client-Server Architecture. Uses of P2P. Napster Morpheus Gnutella Freenet BitTorrent Skype

Peer-to-Peer Networks. Chapter 6: P2P Content Distribution

SE4C03: Computer Networks and Computer Security Last revised: April Name: Nicholas Lake Student Number: For: S.

CSCI-1680 CDN & P2P Chen Avin

Zeus Traffic Manager VA Performance on vsphere 4

A P2P-Based Architecture for Secure Software Delivery Using Volunteer Assistance

AN EFFICIENT LOAD BALANCING ALGORITHM FOR A DISTRIBUTED COMPUTER SYSTEM. Dr. T.Ravichandran, B.E (ECE), M.E(CSE), Ph.D., MISTE.,

Updated November 30, Version 4.1

The Internet is Flat: A brief history of networking over the next ten years. Don Towsley UMass - Amherst

Wide-area Network Acceleration for the Developing World. Sunghwan Ihm (Princeton) KyoungSoo Park (KAIST) Vivek S. Pai (Princeton)

TIME EFFICIENT DISTRIBUTED FILE STORAGE AND SHARING USING P2P NETWORK IN CLOUD

Improving the Speed of Peer to Peer Backup Systems with BitTorrent WORCESTER POLYTECHNIC INSTITUTE

Lecture 11. RFS A Network File System for Mobile Devices and the Cloud

Peer-to-Peer Data Management

Table of contents 1. IMPORTANT INFORMATION BEFORE YOU START GETTING STARTED EXCHANGE CONTROL PANEL... 2

Best Practices for Users on Low-bandwidth and Dial-up Connections

A Survey of Peer-to-Peer Network Security Issues

P2P: centralized directory (Napster s Approach)

Alternative models to distribute VO specific software to WLCG sites: a prototype set up at PIC

MODIFIED BITTORRENT PROTOCOL AND ITS APPLICATION IN CLOUD COMPUTING ENVIRONMENT

First Midterm for ECE374 03/24/11 Solution!!

Object Request Reduction in Home Nodes and Load Balancing of Object Request in Hybrid Decentralized Web Caching

Unit 3 - Advanced Internet Architectures

The old Internet. Software in the Network: Outline. Traditional Design. 1) Basic Caching. The Arrival of Software (in the network)

CYAN SECURE WEB HOWTO. NTLM Authentication

Netsweeper Whitepaper

International Research Journal of Interdisciplinary & Multidisciplinary Studies (IRJIMS)

Searching for Malware in BitTorrent

The Role and uses of Peer-to-Peer in file-sharing. Computer Communication & Distributed Systems EDA 390

HW2 Grade. CS585: Applications. Traditional Applications SMTP SMTP HTTP 11/10/2009

2 6th December 2012 Copyright Eddie Obeng 2010 Pentacle 2011 All rights reserved

Torrage: A Secure BitTorrent based Peer-to-Peer Distributed Storage System

An Efficient Hybrid P2P MMOG Cloud Architecture for Dynamic Load Management. Ginhung Wang, Kuochen Wang

Multicast vs. P2P for content distribution

CLOUD API DOCUMENTATION v2.0. Get list of cloud servers in account

1 Recommended Readings. 2 Resources Required. 3 Compiling and Running on Linux

Transparent Identification of Users

Virtual Private Network Using Peer-to-Peer Techniques

Quick Start - NetApp File Archiver

Inside Dropbox: Understanding Personal Cloud Storage Services

ACE Management Server Deployment Guide VMware ACE 2.0

An Introduction to Peer-to-Peer Networks

Peer-to-peer framework of Distributed Environment for Cooperative and Collaborative Work Service Composition

Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet

PLATO Learning Environment System and Configuration Requirements. for workstations. April 14, 2008

A Torrent Recommender based on DHT Crawling

Inside Dropbox: Understanding Personal Cloud Storage Services

Online De-duplication in a Log-Structured File System for Primary Storage

Traffic Localization for DHT-based BitTorrent networks

kp2padm: An In-kernel Gateway Architecture for Managing P2P Traffic

DoS: Attack and Defense

CS 360 Internet Programming

Using Two-sided Market Approach. to Analyze the Peer-to-peer Economy 1

How To Write A Blog Post On Dropbox

Content Distribution Network (CDN)

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

How To Load Balance On A Bgg On A Network With A Network (Networking) On A Pc Or Ipa On A Computer Or Ipad On A 2G Network On A Microsoft Ipa (Netnet) On An Ip

Bloom Filter based Inter-domain Name Resolution: A Feasibility Study

GoToMyPC Corporate Advanced Firewall Support Features

SVN5800 Secure Access Gateway

Transcription:

apt-p2p: A Peer-to-Peer Distribution System for Software Package Releases and Updates authors: Cameron Dale, Jiangchuan Liu presented by: Cameron Dale Simon Fraser University Burnaby, BC, Canada camerond@cs.sfu.ca INFOCOM, April 22 nd, 2009, Rio de Janeiro, Brazil

Overview Opportunity that is available Difficulties encountered Our solution The apt-p2p implementation Discussion

Free Software Package Distribution Traditionally uses the client-server model Users are altruistic, willing to contribute No current mechanism for them to do so

Similarities Software packages are all freely available in an archive on one or more servers The server(s) is always available Cryptographic hashes of the packages' files are available separately from the package Altruistic peers exist willing to aid in the distribution of these packages

Debian Linux Distribution Packages are downloaded and installed by the apt tool Archive is served by a network of 300 mirrors mostly donated to the project Archive servers are simple HTTP servers Information on packages, including hashes, are contained in index files Security is maintained using GPG signing of index files

Archive Dimensions Most of the packages are very small, but some are very large i.e. 80% < 512KB, some > 100 MB There are too many packages to distribute them individually i.e. 22,298 packages The whole archive is too large to distribute in its entirety i.e. 116 GB

Package Updates The packages are constantly updated Developers, working independently around the world, do not synchronize updates Even stable releases are updated with security fixes or serious bug fixes i.e. 1.5% of Debian's package archive is updated every single day

Limited Interest The users interest in a specific package is mostly very limited Most packages are optional or extra, and only of interest to a small number of users This is exacerbated by there being multiple versions of each package available i.e. 80% of Debian's packages are installed by less than 1% of its users

Why not BitTorrent? Suitable for CD images, not entire updated software archives Fractures the downloading population How to divide the archive into torrents? Daily updates create new torrents constantly Fixed piece sizes will cause unwanted parts of other packages to be downloaded

Peer-to-Peer Assisted Solution Transparent proxy between the user and server Requests for packages are first searched for in an indexing structure (DHT) Uses the existing server as a seed for the packages in the P2P system Packages not found by P2P means can be downloaded from the server The user then becomes a source of the package in the P2P system

Proxy All requests to the server from the user (1) are proxied by the p2p program (2) Files (3) that contain hashes are cached for future lookups All files are returned to the user (4)

DHT Request Requests for packages (5) trigger a lookup of the package's hash (6) The hash will be looked up in the P2P indexing structure (DHT) (7) Peers that have the package are returned (8) Additionally, hashes of pieces (chunks) of the package are looked up in the DHT (9) Hashes of pieces of the package are returned (10)

Package Download The package is downloaded from peers (11/12) If peers can not be found, the package is downloaded from the server (11/12) The package is hash checked (13) and returned to the user (14) The user's location is stored in the DHT as a new source for the package (15)

Notes Trust of a package is always guaranteed, whether downloaded from peers or a server To maximize downloading bandwidth, large packages are split into pieces (with hashes) Sparse interest in a constantly updated set of files (hashes) is perfect for a DHT Keep it simple: e.g. use the same protocol for peers as the server uses

Debian Implementation: apt-p2p Caching HTTP proxy Peers are also HTTP servers to other peers HTTP/1.1 is used for downloading of pieces and pipelining of multiple requests Indexing system is a DHT based on Kademlia Hashes of pieces of packages are also stored in the DHT

Piece Hashes 512KB size pieces 78% of packages are a single piece 2-4 piece hashes are stored with the list of peers in the DHT (14% of packages) 5-69 pieces are stored separately in the DHT (7% of packages) 70+ pieces are served by HTTP requests to the peer (less than 1% of packages)

Implementation Availability Source code is available under the terms of the GNU General Public License (GPL) Other distributors can modify it to suit their system Available in the main archives of Debian and Ubuntu for easy installation by all users Featured recently in a Slashdot article http://slashdot.org/article.pl?sid=09/04/12/0232244

Peer Lifetimes Statistics gathered by walking the DHT 186 users in 2 months Peers stay online longer than in other similar P2P systems Due to being installed as a system daemon 50% of connections last longer than 5 hours 80% of peers will remain online another hour Surpasses Kademlia design principle of 50%

Peer Downloads Users are not required to share download information 36 unique users in 16 days Peers downloaded 15 GB from other peers 20% of their downloads are from peers Saving the mirror network 1GB per day

Issues 50% of peers are firewalled or unable to be contacted Package downloads are delayed by slow DHT lookups Timeouts waiting for firewalled peers are a problem Lots of work has been done, still more needed

Future Work Faster DHT response time Use of STUN to make more peers contactable Performance tuning of DHT parameters Other improvements Stale cache removal Package delta storage

apt-p2p: A Peer-to-Peer Distribution System for Software Package Releases and Updates authors: Cameron Dale, Jiangchuan Liu presented by: Cameron Dale Simon Fraser University Burnaby, BC, Canada camerond@cs.sfu.ca INFOCOM, April 22 nd, 2009, Rio de Janeiro, Brazil