Advanced Computer Networks: Part 1 P2P Networks Advanced Computer Networks: Part 1
Agenda What are P2P Systems? File Sharing Techniques Content Delivery PageRank Example of Work
What are P2P Systems? Allow a group of computer users (employing the same networking software) to connect with each other to share resources. Processing power, disk storage, network bandwidth and files to be directly available to other peers. They behave in a distributed manner without a central server. Peers can act as both server and client then they are also called servent, which is different from the traditional client-server model.
What are P2P Systems? First, protocols are constructed at the application layer of the network protocol stack. Second, in most designs peers have a unique identifier, which is the peer ID or peer address. Third, many of the message types defined in various P2P protocols are similar. Finally, the protocol supports some type of message-routing capability. That is, a message intended for one peer can be transmitted via intermediate peers to reach the destination peer.
What are P2P Systems? An overlay network design that is consistent with self-organization would not use a star topology or a broadcast topology to operate the peers or form the overlay. Instead the topology is likely to be decentralized such that the interconnectedness of any peer, referred to as the degree, doesn’t dominate the overlay graph. Self-organization means that peers cooperate in the formation and maintenance of the overlay, with each peer using local state and partial information about the overlay.
What are P2P Systems? Each peer determines its capabilities based on its own resources. Each peer also determines when it joins the overlay, what requests it makes to the overlay, and when it leaves the overlay. A peer that searches for an object and doesn’t find it might not be able to determine whether the object doesn’t exist in the overlay or the peer storing the object has left the overlay. Peers may act to limit their resource contribution to the overlay, for example, by disconnecting from the overlay when not using it.
P2P File-Sharing Application Peer-to-Peer technology is a way to share music, video and documents, play games, and facilitate online telephone conversations. The technology enables computers using the same or compatible P2P programs to form a network and share digital files directly with other computers on the network. User have digital media files that they want to share with others. These files are registered by the user using the local application according to properties such as title, artist, date, and format
P2P File-Sharing Application File transfer using the FTP is referred as Client-Server file transfer. The file is downloaded from a single source (the file server) by the destination/PC (a client). How are P2Ps Different From Traditional File Transfer Methods? http://propakistani.pk/2010/02/08/what-is-peer-to-peer-p2p-file-sharing-and-how-does-it-work/
P2P File-Sharing Application How to Search for Files? Users anywhere on the Internet can search for these files by providing a query in terms of some combination of the same attributes. Query is sent to other online peers in the network. Peer that has local media files matching the query will return information on how to retrieve the files. It may also forward the query to other peers. Users may receive multiple successful responses to their query and can then select the files they want to retrieve. The files are then downloaded from the remote peer to the local machine.
P2P File-Sharing Application Challenging Issues A large amount of polluted or corrupted content has been published in file-sharing systems, and it is difficult for a user to distinguish such content from the original digital content they seek. A free rider is a peer that uses the file-sharing application to access content from others but does not contribute content to the same degree to the community of peers.
P2P File-Sharing Application Proxy Connection If the user hasn’t initiated any file searches or selected local files for sharing, the P2P application is most likely using the computer and its network connection for other peers. It may be responding to search requests from other peers or acting as a bootstrap peer for newly joining peers. It may be caching popular files on its disk drive to save search time for other peers. It could be proxying connections on behalf of peers that are behind firewalls.
P2P File-Sharing Application Peer is connected to the overlay, it can exchange messages with other peers in its neighbor list. Over time it can add and remove peers from its neighbor list. To refresh and update its neighbor list, it can send requests to current neighbors asking for their neighbors.
P2P File-Sharing Application Random graphs and scale-free or power-law random graphs are relevant to most unstructured topologies.
File Sharing Techniques (Gnutella) Gnutella was the first full P2P file-sharing system and has remained one of the more popular systems to date. The earliest versions of the Gnutella protocol, through version 0.4, used an unstructured overlay with flooding for query routing. After scalability became an apparent performance issue, the most recent version of the Gnutella protocol (version 0.6) adopted a superpeer architecture in which the high-capacity peers are superpeers and all queries are routed, using a flooding mechanism, between superpeers. Gnutella network has a power-law distribution and what the peer lifetime distribution is.
File Sharing Techniques (Napster) Napster is a file-sharing system that used a central server for storing and searching the directory of files, but performed the file transfer in a direct P2P fashion. The majority of these designs used an unstructured overlay mechanism. Napster is not a full P2P system, it popularized the P2P concept in the mass media and influenced subsequent file-sharing systems.
File Sharing Techniques (Freenet) Peer identifiers are called routing keys. Each peer has a fixed-size routing table that stores links to other peers. Each entry contains the routing key of the peer. Freenet uses key-based routing for inserting and retrieving objects in the mesh. Requests are forwarded to peers with the closest matching routing key. If a request along one hop fails, the peer will try the next closest routing key in its routing table.
File Sharing Techniques Most existing P2P indexing schemes can be categorized into local, centralized, distributed, or hybrid indexing types.
File Sharing Techniques (Centralized Indexing) The index is kept on a centralized server. Object lookup is done by searching over the index on the central server to obtain the location of the target object. Napster,190 the father of today’s P2P content distribution system, is a classical example of centralized indexing. Napster, peers share MP3 files stored locally on their hard drives. Text-based content description, such as the title of a song, is then generated, indexed, and stored by the Napster server. Each peer in the Napster network uses the Napster client software to connect to the centralized Napster server. Peers connected to the Napster server can submit keyword-based queries for a particular audio file.
File Sharing Techniques (Centralized Indexing) A list of matching files along with the description and location of the file is sent to the peer from the server. The peer then tries to connect to the peer with the desired audio file and transfers the target content in a P2P fashion. The most noticeable drawbacks of a fully centralized indexing system include vulnerability to attacks on the server and the possibility of a bottleneck at the server.
File Sharing Techniques (Localized Index) Each peer keeps the directory of its own data objects locally. The early Gnutella design is a typical example of local index-based P2P system. Local object indexing can be used to support complex query search. When a peer generates a query, it conveys the query to peers in the network to locate the desired object, most often through flooding or random walk. Forwarding of query messages is stopped when the desired object is found or when the Time-to-Live (TTL) value expires. Compared to centralized indexing schemes, localized indexing can create more network load since queries potentially have to be sent to many peers in the overlay. But since query processing is distributed across many peers in parallel, there is inherent scalability. If any peer node is faulty, it affects the objects stored locally but not the overall search mechanism of the network. Localized indexing offers advantages over centralized schemes in terms of system scalability and reliability. It has led to the development of many Gnutella-based systems
File Sharing Techniques (Distributed Index) Distributes the index over all peers. Pointers to a single object may reside in multiple indices located in different peer nodes, most often in neighborhood peer nodes. Freenet is one of the earliest P2P systems in this category. It uses content hash keys to identify files. Queries are forwarded to neighborhood peers based on a peer routing table until the target object is found or the TTL threshold is reached. One disadvantage posed by Freenet is its long startup time at peer joining.
File Sharing Techniques (Hybrid Index) Hybrid indexing intends to take advantage of the query efficiency of centralized indexing and the scalability of localized and distributed indexing. Superpeers (supernodes) maintain the indices in a distributed manner. A query from an ordinary peer is sent to its superpeer to retrieve the location of the desired object. The superpeer forwards the query to other superpeers if it does not find the desired object in its own index. Information about the desired object is sent back to the ordinary peer via its superpeer. Thereafter, the query issuer may directly contact the peer with the desired object.
Content Delivery The large and growing number of audiences and traffic levels, content providers have tried to deploy networks and systems that can provide increased scalability, reliability, and quality of services. A content delivery network or content distribution network (CDN) is a system of computers containing copies of data placed at various nodes of a network. When properly designed and implemented, a CDN can improve access to the data it caches by increasing access bandwidth and redundancy and reducing access delay. CDN is an overlay network that employs technologies, such as caching, load balancing, scheduling, and request routing, to push replicated content close to the network To reduce the cost of content delivery, today many companies are seeking or are offering peer-to-peer-based solutions in both personal and enterprise applications
Content Delivery (P2P Caching) Caching is a well-known strategy in many networked applications. The capability to: Reduce origin server load and bandwidth requirement Reduce network bandwidth usage Reduce client-side latency leads to improved scalability and performance with lower cost.
Content Delivery (P2P Caching)
PageRank 26
Major Issues of Existing PageRank RFID Datenvolumen Major Issues of Existing PageRank Only Structure Consideration Knowledge of Global Network Structure Broken Link Problems 27
PageRank Link Analysis Rich get Richer http://whitelines.nl/html/google-page-rank.html
References John Buford, Heather Yu, Eng Keong Lua , P2P Networking and Applications, Morgan Kaufmann Series in Networking, December 26, 2008.