DOC PREVIEW
USF CS 682 - Distributed Software Development

This preview shows page 1-2 out of 5 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Peer-to-Peer Examples Examples Historical examples client/server Potential advantages of peer-to-peer Challenges of peer-to-peer Challenges of Peer-to-Peer Challenges of Peer-to-Peer First-generation applications First-generation weaknesses Second-generation models Example: Gnutella Example: Gnutella Example: Gnutella Example: Gnutella Hierarchical p2p Hierarchical P2P Issues with file distribution Example: BitTorrent Example: BitTorrent Example: BitTorrent Current challenges in p2p Coming AttractionsDistributed SoftwareDevelopmentPeer-to-PeerChris BrooksDepartment of Computer ScienceUniversity of San FranciscoDepartment of Computer Science — University of San Francisco – p. 1/??Peer-to-Peer•Peer-to-peer is often touted as a hot new technology•Really, it’s as old as the Internet (or earlier)•Fundamental idea: all nodes in a network should be capableof the same functionality.•Contrast this with client-server.•In practice, many systems are a hybrid of p2p andclient-server.Department of Computer Science — University of San Francisco – p. 2/??Examples•What are some examples of p2p systems?Department of Computer Science — University of San FranciscoExamples•File sharing apps (Morpheus, Kazaa, Limewire, etc)•IRC/ICQ•SETI@Home/distributed.net•Web caching•VoIP•SMTP•etcDepartment of Computer Science — University of San Francisco – p. 4/??Historical examples•USENET•Peers within a domain would collect usenet posts andforward them via UUCP, then NNTP.•No central server or repository.•DNS•A hierarchical p2p systemDepartment of Computer Science — University of San Francisco – p. 5/??client/server•Why did the client/server model become so popular?•Asynchronous network structure•Ease of discovery•Centralized content development•Firewalls, NAT make it harder for users to host content.•Model changes: fewer developers, more browsers.Department of Computer Science — University of San FranciscoPotential advantages of peer-to-peer•Reduce server bo ttlenecks•Move content closer to users•Allow users to publish as well as consume information•Note that publishing and authoring can be differentthings.•Scalability•More able to deal with adaptive, dynamic networks.Department of Computer Science — University of San Francisco – p. 7/??Challenges of peer-to-peer•Finding peers (addressing)•How does a peer join the network?•How do peers identify each other?•Is the network constructed statically, or dynamically?•Does a peer always connect to the same set of peers?Department of Computer Science — University of San Francisco – p. 8/??Challenges of Peer-to-Peer•Searching for data•Naming conventions•How are queries distributed?•Are all peers searched, or just a subset?•Do pe ers keep track of the contents of other peers?Department of Computer Science — University of San FranciscoChallenges of Peer-to-Peer•Other challenges:•Interoperability and standards•Currently, every P2P network has its own protocol -you can’t use a BitTorrent client to search onGnutella.•Dealing with dynamic networks•Security•This includes the distribution of malicious files,protection from snooping, and user authentication.Department of Computer Science — University of San Francisco – p. 10/??First-generation applications•So-called first-generation applications use a centralizedname server.•All user addresses and file indexes are kept there.•This can be used to build an application-leveladdress-resolution protocol.•Napster is the canonical example of this.•Most IM programs also work this way.•Central server is used to search.•Files are transferred between peers.Department of Computer Science — University of San Francisco – p. 11/??First-generation weaknesses•Central server provides a bottleneck.•Difficult to implement in a closed or dynamic environment.•Scalability can be a problem.•(also, legal issues in the case of Napster)Department of Computer Science — University of San Francisco –Second-generation models•Second-generation models remove the ce ntral server.•All file information is distributed.•Advantage:•Potentially more scalable•Legal issues avoided.•Disadvantages:•Search is more complex•Discovery of peers more complicated.Department of Computer Science — University of San Francisco – p. 13/??Example: Gnutella•Gnutella is an example of an open P2P system.•Many clients use the same protocol•LimeWire, BearShare, Gnucleus, etc•Gnutella uses no centralized server - all information is storedat the pe ers.Department of Computer Science — University of San Francisco – p. 14/??Example: Gnutella•The Gnutella network is completely decentralized.•When a peer comes onto the network, it sends a ping to allknown peers.•Those peers respond with a pong, which identifies all theirknown peers.•Your peer can also remember previous connections.Department of Computer Science — University of San Francisco –Example: Gnutella•When a peer wants to perform a search, it sends a query toall known nodes.•This request is then forwarded on to nodes one levelaway, who forard it to all nodes they know about, andso on.•This is known as query flooding.•If a hit is found, the node containing the file contactsthe searcher and download begins.Department of Computer Science — University of San Francisco – p. 16/??Example: Gnutella•Problems with Gnutella:•Searching is unreliable - the network is often partitioned.•Search based only on keywords - this produces namingissues.•If I want“Lost S1, Ep 3”, what do I search for?•Wastes bandwidth forwarding searches to all nodes.•Does not take advantage of network structure•Some peers may have better bandwidth, moreinformation, or a more central network structure.Department of Computer Science — University of San Francisco – p. 17/??Hierarchical p2p•Kazaa is an example of a hierarchical p2 p sy stem•When a user enters the network, it connects to a meganode.•This meganode forwards queries to all other nodesconnected to it.•It also collects file information for each client.•Periodically, it also exchanges information with othermeganodes.•Again, searches typically do not reach the entire network.•Higher-bandwidth nodes act as meganodes, process moretraffic.Department of Computer Science — University of San Francisco –Hierarchical P2P•This allows peers with greater resources to do


View Full Document

USF CS 682 - Distributed Software Development

Documents in this Course
Load more
Download Distributed Software Development
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Distributed Software Development and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Distributed Software Development 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?