Back to Advanced Program Page                                                                  Back to Tutorial page

 

P2P Networking in 2007

Instructor: Keith Ross

 

    VENUE: LC102                                            DATE: MAY 30, 2007. 12:30 PM TO 5:00 PM

    Abstract:

      In a P2P architecture, there is minimal (or no) reliance on always-on infrastructure servers. Instead the application exploits direct communication between pairs of intermittently connected hosts, called peers. The peers are not owned by the service provider, but are instead desktops and laptops controlled by users, with most of the peers residing in homes, universities, and offices. Because the peers communicate without passing through a dedicated server, the architecture is called peer-to-peer. Many of today's most popular and traffic-intensive applications are based on P2P architectures. These applications include file distribution (e.g., BitTorrent), file searching/sharing (e.g., eMule and Gnutella/LimeWire), Internet telephony (e.g., Skype), and IPTV (e.g., PPLive and ppstream).

      One of the most compelling features of P2P architectures is their self-scalability. For example, in a P2P file-sharing application, although each peer generates workload by requesting files, each peer also adds service capacity to the system by distributing files to other peers. P2P architectures are also cost effective, since they normally don't require significant server infrastructure and server bandwidth. In order to reduce costs, service providers (MSN, Yahoo, and so on) are increasingly interested in using P2P architectures for their applications. On the other hand, because of the highly distributed and open nature of P2P applications, they can be a challenge to secure.

       

    Outline:

      1. Survey of some existing P2P applications:

      • BitTorrent for content distribution

      • eMule for filesharing

      • Skype for voice over IP

      • PPLive for live P2P streaming

      2. BitTorrent analysis

      • File distribution theory

      • BitTorrent protocol

      • Hacking BitTorrent

      3. Distributed hash tables and filesharing applications

      • Consistent hashing

      • Pastry

      • eMule and HTS

      4. P2P live streaming analysis

      • Measurement study of PPLive

      • Analysis of P2P streaming

      • Incentives

      4. Security in P2P

      • Overview of issues

      • Content integrity

      • Index poisoning

      • DDoS attack engines

      5. P2P Video on Demand

      • MSN feasibility study

      6. Summary

       

    Biography:

      Professor Ross joined Polytechnic University as the Leonard J. Shustek Chair Professor in Computer Science in January 2003. Before joining Polytechnic University, he was a professor at Eurecom Institute (five years) and a professor at the University of Pennsylvania (12 years). He received an M.S.E.E. from Columbia University, and a Ph.D. in Computer and Control Engineering from The University of Michigan.

      Professor Ross has worked in peer-to-peer networking, Internet measurement, video streaming, Web caching, multi-service loss networks, content distribution networks, network security, queuing theory, and Markov decision processes. He is an IEEE Fellow, and is currently associate editor for IEEE/ACM Transactions on Networking. He has served as an advisor to the Federal Trade Commission on P2P file sharing.

      Professor Ross is co-author (with James F. Kurose) of the popular textbook, Computer Networking: A Top-Down Approach Featuring the Internet, published by Addison-Wesley (fourth edition 2007). The text is most widely adopted networking text in the US and internationally, and has been translated into 12 languages. Professor Ross is also the principal founder of Wimba, an Internet technology start-up. Wimba develops and markets Java-based asynchronous and synchronous voice-over-IP technologies, primarily for the on-line education and language learning markets.

       

       

Back to Advance Program Page                                                                  Back to Tutorial page