Flashback: A Peer-to-Peer Web Server for Flash Crowds Presented by Tom Batkiewicz CS 587x Fall ‘07.

Slides:



Advertisements
Similar presentations
Click to continue Network Protocols. Click to continue Networking Protocols A protocol defines the rules of procedures, which computers must obey when.
Advertisements

Incentives Build Robustness in BitTorrent Bram Cohen.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
K. Salah 1 Chapter 31 Security in the Internet. K. Salah 2 Figure 31.5 Position of TLS Transport Layer Security (TLS) was designed to provide security.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Layer 7- Application Layer
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
Circuit & Application Level Gateways CS-431 Dick Steflik.
1 Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Ioannis Avramopoulos Instructor:
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
 Proxy Servers are software that act as intermediaries between client and servers on the Internet.  They help users on private networks get information.
Web Proxy Server Anagh Pathak Jesus Cervantes Henry Tjhen Luis Luna.
Web Cache. Introduction what is web cache?  Introducing proxy servers at certain points in the network that serve in caching Web documents for faster.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Lecture 8 Modeling & Simulation of Communication Networks.
Internet GIS. A vast network connecting computers throughout the world Computers on the Internet are physically connected Computers on the Internet use.
The Bittorrent Protocol
Process-to-Process Delivery:
Content Distribution March 8, : Application Layer1.
1 Proceeding the Second Exercises on Computer and Systems Engineering Professor OKAMURA Laboratory. Othman Othman M.M.
IT 210 The Internet & World Wide Web introduction.
{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544.
Slow Web Site Problem Analysis Last Update Copyright 2013 Kenneth M. Chipps Ph.D. 1.
Rhys McBreen (How the internet works) X. Contents The Layers and what they do IP Addressing X.
BitTorrent Presentation by: NANO Surmi Chatterjee Nagakalyani Padakanti Sajitha Iqbal Reetu Sinha Fatemeh Marashi.
1 V1-Filename.ppt / yyyy-mm-dd / Initials P2P content distribution T Applications and Services in Internet, Fall 2008 Jukka K. Nurminen.
BitTorrent Internet Technologies and Applications.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
1 Application Layer Lecture 4 Imran Ahmed University of Management & Technology.
Chapter Two Application Layer Prepared by: Dr. Bahjat Qazzaz CS Dept. Sept
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Network Services Networking for Home and Small Businesses – Chapter.
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
BitTorrent Dr. Yingwu Zhu. Bittorrent A popular P2P application for file exchange!
Protocol(TCP/IP, HTTP) 송준화 조경민 2001/03/13. Network Computing Lab.2 Layering of TCP/IP-based protocols.
Chapter 2: Application layer
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Chapter 4 Networking and the Internet. © 2005 Pearson Addison-Wesley. All rights reserved 4-2 Chapter 4: Networking and the Internet 4.1 Network Fundamentals.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
IP BROS Presentation by: Amen Ahmed. Mario and Luigi are here to help us find our way through the internet. Mario will act as our browser and Luigi will.
Fundamentals of Proxying. Proxy Server Fundamentals  Proxy simply means acting on someone other’s behalf  A Proxy acts on behalf of the client or user.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
1 Peer-to-Peer Systems r Application-layer architectures r Case study: BitTorrent r P2P Search and Distributed Hash Table (DHT)
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP r.
Othman Othman M.M., Koji Okamura Kyushu University 1.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
Firewalls Original slides prepared by Theo Benson.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Web Services. 2 Internet Collection of physically interconnected computers. Messages decomposed into packets. Packets transmitted from source to destination.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
WebRTC Don McGregor Research Associate MOVES Institute
Computer Network Architecture Lecture 6: OSI Model Layers Examples 1 20/12/2012.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Java’s networking capabilities are declared by the classes and interfaces of package java.net, through which Java offers stream-based communications that.
Communication Networks NETW 501 Tutorial 2
Network Processing Systems Design
An example of peer-to-peer application
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Principles of Network Applications
Networking for Home and Small Businesses – Chapter 6
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Networking for Home and Small Businesses – Chapter 6
Lecture 2: Overview of TCP/IP protocol
Lecture 3: Secure Network Architecture
Content Distribution Networks + P2P File Sharing
Networking for Home and Small Businesses – Chapter 6
Content Distribution Networks + P2P File Sharing
Presentation transcript:

Flashback: A Peer-to-Peer Web Server for Flash Crowds Presented by Tom Batkiewicz CS 587x Fall ‘07

Problem - Web Flash Crowds Unpredictable spike in demand Website capacity exceeded CPU Bandwidth Websites can either… Downgrade content on the fly Lose page hits as users are forced to wait

Motivation - Existing Solutions Caching Remote servers share load with web server Limitations Website sets no-cache on page Finding a cache with the desired content Cache must be recent enough Outside of host’s control

Motivation - Going Forward Cacheless Complementary solution to web caches, not a replacement Where to find the additional bandwidth? End users Peer-to-Peer Solution

Flashback - Overview Creates a P2P network from users that request the web object Based on some BitTorrent concepts Chunked content delivery Chunk management / Metadata Can serve more end-users within existing bandwidth limitations

Flashback - Goals 1. Easy to deploy server-side 2. Does not interrupt end-user experience No setup/install Works within web browser Across different operating systems Works behind NAT Devices 3. Use existing infrastructure No required changes in HTTP, for example

Flashback - Implementation Server distributes two Java applets Transported Frame Hack Visible Frame – displays webpage Invisible Frame P2P Client Basic web server Pixel height 0 Why Two?

Flashback - Implementation

Flashback – Pygmy Simple web server Why? Marshal HTTP requests from visible frame into P2P requests and back again Relative links can be served here Continue using P2P approach External links fetched normally by browser

Flashback – Hole punching Behind NAT, end-user doesn’t know their own internet IP address Uses the web-server to establish P2P connection for peers behind NAT A and B want to talk A&B create UDP connection with server Server has well-known IP Server forwards IP/port information to A&B It sees their external addresses

Flashback – Hole punching A&B can now communicate Functions more reliably over UDP NAT Devices track TCP state, etc… Flashback chose to use UDP for this fact rather than TCP Flashback needs to implement own flow control & handshaking

Flashback – Peers & Data Basis in BitTorrent Typically used for large files Peers in group for many hours, even days Flashback Smaller files (html/images/etc..) Peers in group only while visiting the page

Flashback – Extreme churn Peer group composition changes rapidly 90% of peer overlay changes in 10 seconds BitTorrent’s peer selection completely unworkable Tries to find ‘best’ peers over time Instead, find many peers and trade data

Flashback - Finding peers Initially, request from seed (web server) From existing neighbors, request a ‘referral’ for a new neighbor When asked for a referral, respond with stochastic selection from most-recently used peers Detecting overlay partitions If no new data in 500ms, request new neighbor from the seed Prevents overlay from fragmenting

Flashback – Data trading Interval metadata (gaps) BitTorrent uses a bit vector Send only top intervals of data we have First handshake Exchange metadata Second handshake Request data

Flaskback – Data trading Tit-for-Tat (TFT) policy Handshakes are silently dropped if neighbor has downloaded more than uploaded Gives the neighbor time to upload before re-request is sent If re-request fails, neighbor is removed

Flashback – Data trading Flow control Default burst size = Send default size 2. Increased by 1 if whole burst sent OK 3. If whole burst not sent OK, send only as many as were successfully received Not completely efficient between peers, but many peers compensates for this

Flashback - Scalability

Flashback - Limitations Dynamic content Streaming content End-users may have issues Assumes Java installation Hole-punching not 100% Firewalls, NAT Devices, etc…