p2p computing. peer-to-peer (p2p) peer-to-peer computing is inspired by the controversial music-...

Download P2P Computing. Peer-to-Peer (P2P) Peer-to-Peer computing is inspired by the controversial music- sharing service Napster Instead of Internet information

If you can't read please download the document

Upload: christian-miles

Post on 08-Jan-2018

234 views

Category:

Documents


0 download

DESCRIPTION

What is P2P? Is a technology which “enables any network- aware device to provide services to another network-aware device” A peer in P2P network acts as both a client and a server in traditional client/server architecture

TRANSCRIPT

P2P Computing Peer-to-Peer (P2P) Peer-to-Peer computing is inspired by the controversial music- sharing service Napster Instead of Internet information being held in a few central locations, Peer-to-Peer computing makes it theoretically possible to access the files and data residing on every personal computer connected to the Internet P2PNot P2P What is P2P? Is a technology which enables any network- aware device to provide services to another network-aware device A peer in P2P network acts as both a client and a server in traditional client/server architecture What is P2P? Server-Client model What is P2P? Problem with Server-Client Model Scalability As the number of users increases, there is a higher demand for computing power, storage space, and bandwidth associated with the server-side Reliability The whole network will depend on the highly loaded server to function properly What is P2P? Peer-to-Peer model What is P2P? Advantage of P2P model The system is based on the direct communication between peers There is zero reliance on centralized serviced or resources for operations The system can survive extreme changes in network composition They thrive in a network with heterogeneous environment This model is highly scalable What is P2P? Traditional network architecture What is P2P? A pure P2P network architecture What is P2P? A hybrid P2P architecture Why P2P? The Internet has three valuable fundamental assets Information Computing resources Bandwidth All of which are vastly under utilized,partly due to the traditional client-server model Why P2P? First, no single search engine or portal can locate and catalog the ever-increasing amount of information on the Web in a timely way Moreover, a huge amount of information is transient and not subject to capture by techniques such as Web crawling Google claims that it searches about 1.3x10 8 web pages Finding useful information in real time is increasingly difficult! Many information can not be capture by web crawling. The world produces 2 exabytes(10 15 ) of information every year, only publishes 300 terabytes(10 12 ) Why P2P? Second, although miles of new fiber have been installed, the new bandwidth gets little use if everyone goes to Yahoo for content and to eBay Instead, hot spots just get hotter while cold pipes remain cold This is partly why most people still feel the congestion over the Internet while a single fibers band-width has increased by a factor of 10 6 since 1975, doubling every 16 months Why P2P? Hot Spots become hotter, Yet Cold spots keep cold Internet Personal Computers 80% idle CPU time Computers in our Lab 99% idle CPU time ! Yildirays Laptop 90% idle CPU time Why P2P? Finally, new processors and storage devices continue to break records in speed and capacity, supporting more powerful end devices throughout the network However, computation continues to accumulate around data centers, which have to increase their workloads at a crippling pace, thus putting immense pressure on space and power consumption Why P2P? Eliminating the single-source bottleneck P2P can be used to distribute data and control and load-balance requests across the Net Eliminating the risk of a single point of failure P2P infrastructure allows direct access and shared space, and this can enable remote maintenance capability Basic P2P elements Peer: A peer is a node on a P2P network that forms the fundamental processing unit of any P2P solution. Each peer has a unique Peer ID Each peer belongs to one or several Peer Group Each peer can communicate with other peers in its group and also those in other groups Basic P2P elements Simple peer: A simple peer is designed to serve a single end user, allowing that user to provide services from his device and consuming services provided by other peers on the network Rendezvous Peer A rendezvous peer provides peers with a network location to use to discover other peers and peer resources Router Peer A router peer provides a mechanism for peers to communicate with other peers separated from the network by firewall or Network Address Translation (NAT) equipment Basic P2P elements Peer Group A set of peers formed to serve a common interest or goal dictated by the peers involved Peer groups can provide services to their member peers that are not accessible by other peers in the P2P network Basic P2P elements Peer groups can be divided by: The application they want to collaborate on as a group The security requirements of the peers involved The need for status information on members of the group Basic P2P elements Network Transport EndpointsThe initial source or final destination of any piece of data being transmitted over the network An endpoint corresponds to the network interfaces used to send and receive data PipesUnidirectional, asynchronous, virtual communications channels connecting two or more endpoints MessagesContainers for data being transmitted over a pipe from one endpoint to another Basic P2P elements Services -- provide functionality that peers can engage to perform useful work on a remote peer transferring a file, providing status information, performing a calculation, or basically doing anything that you might want a peer in a P2P network to be capable of doing Basic P2P elements Peer services Functionality offered by a particular peer on the network to other peers The capabilities of this service will be unique to the peer and will be available only when the peer is connected to the network When the peer disconnects from the network, the service is no longer available Basic P2P elements Peer group services Functionality offered by a peer group to members of the peer group This functionality could be provided by several members of the peer group, thereby providing redundant access to the service As long as one member of the peer group is connected to the network and is providing the service, the service is available to the peer group Basic P2P elements Advertisement A structured representation of an entity, service, or resource made available by a peer or peer group as a part of a P2P network Every entity can be described by advertisements, including peers, peer groups, pipes, endpoints, ser-vices, and content Basic P2P elements Protocols, what they need to do are : Finding peers on the network Finding what services a peer provides Obtaining status information from a peer Invoking a service on a peer Creating, joining, and leaving peer groups Creating data connections to peers Routing messages for other peers How does it work? How does a device find peers and services on a P2P network? How does a device in a private network participate in P2P? How does it work? Finding Advertisement No discovery Direct discovery Indirect discovery How does it work? No discovery How does it work? Direct Discovery How does it work? Indirect Discovery How does it work? Traversing NAT and Firewall boundary Unidirectional Only special protocol on special port could be used, usually HTTP on port 80 HTTP is a request-response protocol: Each HTTP connection sends a request and then expects a response How does it work? What P2P is good for? Community Web network Any group with specific common interests, including a family or hobbyists, can use lists and a Web site to create their own intranet Search engines Fresh, up-to-date information can be found by searching directly across the space where the desired item is likely to reside Collaborative development The scope can range from developing software products to composing a document to applications like rendering graphics New problems How do peers distribute messages to each other without flooding the network? Search is done via flooding a distributed form of broadcast Messages are sent to the neighbors who pass them on to their neighbors and so on The number of hosts which are contacted in this way increases exponentially with each jump 80% of the reply messages are wrong or redundancy (From paper Experimenting with Gnutella Communities by Jean Vaucher and ) New problems How can the network encourage resource sharing? Tragedy of the Commons the overuse of a shared resource to the point of its destruction. In some P2P systems, peers can use the resources (bandwidth and storage space) of others on the network without making resources of their own available to the network, thereby reducing the value of the network. As more users choose not to share their resources, those peers that do share resources come under increased load and, in many ways, the network begins to revert to the classic client/server architecture. Taken to its logical conclusion, the network eventually collapses, benefiting no one. Types P2P Applications In Peer-to-Peer (P2P) computing, applications are segregated into three main categories: distributed computing, file sharing, and collaborative applications The three categories of p2p serve different purposes and therefore, have their own set of development requirements Distributed computing applications typically require the decomposition of larger problem into smaller parallel problems File sharing applications require efficient search across wide area networks and Collaborative applications require update mechanisms to provide consistency in multi-user environment P2P Computing Distributed computing (e.g., Search for Extraterrestrial Intelligence) File sharing (e.g., Gnutella, Freenet, Publius, Free Haven) Collaboration (e.g., Magi, Groove, Jabber) Platforms (e.g., JXTA) Distributed Computing: Search for Extraterrestrial Intelligence that has over two million computers crunching away and downloading data gathered from the Arecibo radio telescope in Puerto Rico The project is widely regarded as the fastest computer in the world In fact, the project has already performed the single largest cumulative computation to date From the architecture point of view is based upon client-server The centralised servers hold enormous amounts of data gathered from the Arecibo radio telescope "listening" to the skies That data needs to be analysed for distinct or unusual radio waves that might suggest extraterrestrial communications File Sharing: Napster Here is how Napster used to work: It is first necessary to download and install Napster software and to sign up for a free account at Napster By clicking the Napster icon, a connection is established with Napster Web site, where the name of the music searched can be entered in a search window The Napster software tracks all users who are online at that particular time and provides access to tracks stored on users' hard drives When the song requested is found, Napster establishes a connection between the two computers so that it could be downloaded However, after the Recording Industry Association of America sued Napster for copyright infringements, the court ruled that Napster was indeed violating copyrights and it is shut down File Sharing: Gnutella Gnutella is a file sharing protocol Applications that implement the Gnutella protocol allow users to search for and download files from other users connected to the Internet Its architecture is completely decentralised and distributed, meaning that there are no central servers and that all computations and interactions happen between clients When a client wishes to connect to the network they run through a list of nodes that are most likely to be up or take a list from a website and then connect to how ever many nodes they want File Sharing: Gnutella Routing in the network is accomplished through broadcasting When a search request arrives into a client that client searches itself for the file and broadcasts the request to all its other connections Broadcasts are cut off by a time to live that specifies how many hops they may cover before clients should drop them rather than broadcast them Collaborative Application: Groove Groove is a collaborative P2P system (http://www.groove.net)http://www.groove.net It is mainly targeted to Internet and intranet users, although it can also be used on mobile devices, such as PDAs, mobile phones, and tablets It is intended to enable communication, content sharing, and tools for joint activities Platform: JXTA The vision of the JXTA (http://www.jxta.org/) project defines an infrastructure for P2P computinghttp://www.jxta.org/ Three main goals Interoperability Across different P2P systems and communities Platform Independance Programming languages, System platforms, Network Platforms Ubiquity Every electronical devices with a digital hearbeat JXTA PC, Win2K, Java Mobile, Symbian, C MainFrame, UNIX, C++ Mac, MacOsX, Python Sensor, TinyOS, Obj-c refridgerator, TinyOS, Perl