Computer Science

Peer to Peer Network

A peer-to-peer network is a decentralized communication model where each participant has the same abilities and responsibilities. In this type of network, each node can act as both a client and a server, allowing for direct communication and resource sharing between individual devices without the need for a central server. This architecture is commonly used for file sharing, distributed computing, and communication applications.

Written by Perlego with AI-assistance

12 Key excerpts on "Peer to Peer Network"

  • Book cover image for: Content Networking
    eBook - PDF

    Content Networking

    Architecture, Protocols, and Practice

    • Markus Hofmann, Leland R. Beaumont(Authors)
    • 2005(Publication Date)
    • Morgan Kaufmann
      (Publisher)
    A succinct formal definition of peer-to-peer networking is “a set of technologies that enable the direct exchange of services or data between computers” [Int01]. Implicit in that defini-tion are the fundamental principles that peers are equals, 1 and peer-to-peer sys-tems emphasize sharing among these equals. A pure peer-to-peer system runs without any centralized control or hierarchical organization. A hybrid system uses some centralized or hierarchical resources. Peers can represent clients, servers, routers, or even networks. Figure 6.1 illustrates simple reference architectures for both client-server systems and peer-to-peer systems. Clients are not equal to servers, and they depend on a relatively small number of servers for system operation. Peers are all equal, and they rely only on themselves and their peers. Client Server Peer-to-Peer C C C C C C P P P P P P S Figure 6.1 Reference architectures. 1 They are equal because they provide equivalent services, but they may have different capacity such as process-ing power, storage capacity, bandwidth, etc. The original Internet was designed as a peer-to-peer system. The first Internet applications were remote machine access, e-mail exchange, and copying files between computers. These are all peer-to-peer applications where each host computer can act as either client or server in the protocol and takes on these roles alternately as required to complete a request. For example, to copy a file from host A to host B, A acts as the FTP client and B acts as the FTP server. The roles can be exchanged when a file is copied in the other direction. Network News, the predecessor of today’s news groups, originally propa-gated content from host to host using UUCP, the Unix-to-Unix copy protocol. In this peer-to-peer system, each host ran the same UUCP program and a sym-metrical protocol [RFC 976]. The DNS includes thousands of name servers which all perform the same function of serving DNS requests.
  • Book cover image for: Internet & Distributed Systems
    • Jocelyn O. Padallan(Author)
    • 2019(Publication Date)
    • Arcler Press
      (Publisher)
    Peer-to-peer systems offer an advantage over traditional client-server systems. In a client-server system, the server is a bottleneck; but in a peer-to-peer system, services can be provided by several nodes distributed throughout the network. Peer-to-peer systems aim to support useful distributed services and applications using data and computing resources available in the personal computers and workstations that are present in the Internet and other networks in ever-increasing numbers. This chapter deals extensively with the various peer to peer systems and their application in distributed systems. 6.1 INTRODUCTION TO PEER TO PEER SYSTEM Peer-to-peer (P2P) is an alternative network model to that provided by traditional client server architecture. P2P networks use a decentralized model in which each machine, referred to as a peer, functions as a client with its own layer of server functionality. A peer plays the role of a client and a server at the same time. That is, the peer can initiate requests to other peers, and at the same time respond to incoming requests from other peers on the network. It differs from the traditional client-server model where a client can only send requests to a server and then wait for the server’s response. With a client-server approach, the performance of the server will deteriorate as the number of clients requesting services from the server increase. However, in P2P networks, overall network performance actually improves as an increasing number of peers are added to the network. These peers can organize themselves into ad-hoc groups as they communicate, collaborate and share bandwidth with each other to complete the tasks at hand (e.g., file sharing). Each peer can upload and download at the same time, and in a process like this, new peers can join the group while old peers leave at any time. This dynamic re-organization of group peer members is transparent to end-users.
  • Book cover image for: Distributed Systems
    eBook - PDF

    Distributed Systems

    Theory and Applications

    309 12 Peer-to-Peer Systems Peer-to-peer (P2P) networks are logical overlays for accessing resources in distributed applications fairly and systematically. Overlay networks exploit storage, CPU cycle, contents, and human presence available at the edge of the Internet. They operate with unstable connectivity and unpredictable IP addresses, controlled by DNS, and with total autonomy from central servers. Alternatively, a P2P network may be considered a particular type of distributed system on the application layer where each pair of peers communicate using the routing protocol specified by the layer. The motivations for research in P2P are its raw beauty, robustness against failures, and the prospect of unlimited end-users freedom. Since there is no central authority, fixing legal liability in information exchange among peers is complicated. Unstructuredness in managing physical connectivity graphs often hinders the development of elegant theoretical solutions. Further, a massive amount of induced traffic by the peers makes the implementations nonscalable. The theoretical ugliness and implementation difficulties motivate P2P research. The main focus of P2P applications is to embed regularity in selecting the next hop in routing between peers. Overlay networks instill regularity, but an overlay link may consist of several physical links. From a practical standpoint, there is a lot of confusion surrounding the definition of P2P architecture. This chapter gives a comprehensive understanding of P2P technology and possible research avenues. We do not plan to go deep into P2P case studies as it may be a topic for another book. The interested readers may refer to a number of excellent texts [Steinmetz and Wehrle 2005, Korzun and Gurtov 2012, Zhang et al. 2013] for further studies. Our primary focus is on the rich algorithmic foundations of structured overlays and their theoretical underpinnings.
  • Book cover image for: Grid Resource Management
    eBook - PDF

    Grid Resource Management

    Toward Virtual and Services Compliant Grid Computing

    • Frederic Magoules, Thi-Mai-Huong Nguyen, Lei Yu(Authors)
    • 2008(Publication Date)
    • CRC Press
      (Publisher)
    4.2.2 Terminology Throughout the P2P literature, there are a considerable number of different definitions of P2P systems. In fact, P2P systems are often determined more Peer-to-peer data management 99 by the external perception of the end-user than their internal architecture. As a result, different definitions of P2P systems are proposed to accommodate different types of such systems. According to a widely accepted definition for P2P in the late 1990s, “P2P is a class of applications that takes advantage of resources -storage, cycles, content, human presence -available at the edges of the Internet” [190]. Munindar P. Singh attempts to describe P2P systems more extensively, rather than in just an application-specific way, and defines P2P simply as the opposite of client-server architectures [191]. The Intel P2P working group defines P2P as “the sharing of computer resources and services by direct exchange between systems” [152]. According to HP laboratory, “P2P is about sharing: giving to and obtaining from the peer community. A peer gives some resources and obtains other resources in return” [179]. In its purest form, P2P is a totally distributed system in which all nodes are completely equivalent in terms of functionality and tasks they perform. This definition is not generalized enough to embrace systems that employ the notion of “supernodes” (e.g., Kazaa) or systems that completely rely upon centralized servers for some functional operations (e.g., instant messaging sys-tems, Napster). These systems are, however, widely accepted as P2P systems. Therefore, we propose the following definition [189]: DEFINITION 4.1 P2P systems are distributed systems where its partic-ipants share a part of their own hardware resources such as processing power, storage capacity, content, network link capacity.
  • Book cover image for: Delay Tolerant Networks
    eBook - ePub

    Delay Tolerant Networks

    Protocols and Applications

    • Athanasios V. Vasilakos, Yan Zhang, Thrasyvoulos Spyropoulos, Athanasios V. Vasilakos, Yan Zhang, Thrasyvoulos Spyropoulos(Authors)
    • 2016(Publication Date)
    • CRC Press
      (Publisher)
    By introducing the concept of peer, i.e., an entity that provides and, at the same time, consumes resources/services offered by others entities, P2P systems go beyond the traditional client/server paradigm thanks to its features of self-organization, fault-tolerance, and high scalability. In the last years, the P2P paradigm has gained popularity as a consequence of the diffusion of Internet file sharing applications like Napster [ 2 ], Gnutella [ 3 ], and Emule [ 4 ], which have allowed millions of users to share files in a decentralized manner. On the other hand, DTNs represent a novel paradigm for wireless multi-hop networks that aims to provide connectivity also when links on an end-toend path may not exist contemporaneously and, therefore, intermediate nodes may need to store data waiting for communication opportunities [ 5 ]. As pointed out in [ 6 ], DTNs and P2P systems share the same key concepts of self-organization and distributing computing, and both aim to work in a completely decentralized environment. Both lack central entities to which to delegate the management and the coordination of the network, and both rely on a time-variant topology. In fact, in P2P networks the time-variability is due to joining/leaving peers, while in DTN ones it is due to both node mobility and wireless propagation condition instability. Finally, both adopt a store-and-forward like paradigm: DTN nodes store packets waiting for a chance to deliver them to the destinations, while peers store data items waiting for requests from other peers. Despite these similarities, the adoption of the P2P paradigm to disseminate and discover information in a DTN raises new and challenging problems [ 7, 8 ]. One of the main issues concerns the layer where they operate. P2P systems build and maintain overlay networks at the application layer, assuming the presence of an underlying network layer which assures connectivity among nodes
  • Book cover image for: Handbook on Theoretical and Algorithmic Aspects of Sensor, Ad Hoc Wireless, and Peer-to-Peer Networks
    612 36.1 Introduction Peer-to-peer (P2P) systems have drawn much attention from end Internet users and the research com-munity in the past few years. From Napster, 1 the earliest P2P system, appearing in 1999, to popu-lar systems such as Gnutella, 2 Freenet, 3 KaZaA, 4 and BitTorrent, 5 more and more P2P file sharing 591 592 Theoretical and Algorithmic Aspects of Sensor, Ad Hoc, and P2P Networks systems come to fame. In research community, P2P has become one the most active research fields. Many universities and research institutes have research groups focusing on P2P techniques. And P2P has become one of the hottest topics at many conferences and workshops on distributed systems or networking. Different from traditional client/server architectures, each node in a peer-to-peer system acts as both a producer (to provide data to other nodes) and a consumer (to retrieve data from other nodes). Key features of P2P systems include large-scale self-organization, self-scaling, decentralization, fault tolerance, and heterogeneity. In a P2P system, an increase in the number of peers also adds capacity of the system. There is a large heterogeneity in the properties (including capacity, availability, bandwidth, etc.) of peers in most P2P systems. A typical P2P system often has no central servers to which users connect. Instead, the whole system is self-organized by the interaction of peers. The above features of P2P systems make them suitable for file sharing. In addition to file sharing, there are also some proposals that use P2P to build large-scale, fault-tolerant storage systems, 6 − 9 do content distribution, 10 or even as a replacement of current networks. 11 The earliest P2P system was Napster, which maintains a centralized directory to facilitate file sharing. Files shared by peers are indexed in a centralized directory.
  • Book cover image for: Numerical Algorithms for Personalized Search in Self-organizing Information Networks
    PART II P2P Networks Popularized by Napster in the late 1990s, unstructured peer-to-peer networks have become a common medium for data sharing. Like the Web, P2P networks distribute the costs of data storage across individual content providers. Furthermore, the user interface and human-computer interaction model of most of today’s P2P networks makes it even easier for users to publish data. This allows for massive scalability; as of April 2003, the Kazaa file-sharing system alone reported over 4.5 million users sharing over 7 petabytes of data. As the scale of file-sharing P2P networks approaches that of the Web, it is clear that sophisticated search in P2P networks is an important area for research. Unstructured P2P networks differ from the WWW as a means of data distribution in several ways, two of which are particularly interesting in the context of search. First, since P2P networks are often anonymous and highly dynamic (with nodes constantly going up and down), search in P2P networks is performed in a distributed fashion. That is, rather than attempting to maintain a centralized index of the content of the network, each peer will forward a query to its neighbors, who in turn forward that query to their neighbors until a certain time-to-live for that query is expired. This suggests that the topology of a P2P network influences the quality of a user’s search experience. Second, the amount of data replication is generally far greater in a P2P network than on the Web, since each time content is downloaded by a peer, it is replicated on the network. This affects many design decisions in P2P search. In particular, a good P2P search algorithm should make use of good indicators of the quality of content, as the files that are returned by a P2P search algorithm are likely to be replicated throughout the network. In Part II of this book, we turn our attention to the problem of reputation and personalization in P2P networks
  • Book cover image for: P2P Networking and Applications
    • John Buford, Heather Yu, Eng Keong Lua(Authors)
    • 2009(Publication Date)
    • Morgan Kaufmann
      (Publisher)

    Chapter 2. Peer-to-Peer Concepts

    Looking beyond the popular P2P applications surveyed in the previous chapter, here we present a forward-looking view of the operation of a P2P system, where P2P encompasses mobile and other consumer electronics devices. We then discuss the principles of P2P overlays, such as self-organization and peer autonomy. Then we provide a sequence of sections giving various perspectives on the P2P model, including a graph theoretic perspective, a design space perspective, a routing performance perspective, and an implementation perspective.

    Operation of a P2P System

    The User View
    A user downloads P2P application software from a Website on the Internet and installs it on his personal computer. Let's assume that the computer is connected to the Internet via a broadband connection. After the application is launched, it attempts to connect to certain hosts on the Internet that are configured in the software for bootstrapping purposes. It uses these connections to find other peers to connect to so that it can join the overlay. Initially it makes a few connections, gradually adding other connections. It may periodically change existing connections to new peers if the original peers leave the overlay or are unresponsive, or if the new peers provide better access to portions of the overlay.
    Even 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. The user might not be aware of this use of his computer, or he might notice that the system is more heavily loaded now that the peer software is running. Network connections might appear slower. However, the details of how the P2P application uses the local machine and its resource, including what other peers are accessing its resources, are generally hidden from the user.
  • Book cover image for: Securing IM and P2P Applications for the Enterprise
    • Marcus Sachs, Paul Piccard(Authors)
    • 2005(Publication Date)
    • Syngress
      (Publisher)
    It might not be important for the user to personally distribute the file in question, as long as he or she can make it available by some means and it doesn’t get the location (or existence) of the file into the hands of a www.syngress.com 220 Chapter 8 • Introduction to P2P much wider audience.This is where the strength of peer-to-peer, or P2P, networks comes into play. But let’s take a step back for a second. For most people using the Internet, it is easy to get the impression that most of the Internet’s architecture is based on the client/server model.The first settings new users on the Internet have to configure with new broadband accounts are for the POP and SMTP server settings. And they are most likely directed to their ISP’s Web server with completion of their sign-on. Even though they might not really grasp the concept of “server” or “client,” still the impression is seeded that there are much “bigger” computers on the Internet to which their “little” computer needs to con-nect to accomplish tasks.The notion of peer-to-peer by contrast seems to be some-thing much more modern. It is easy to overlook the fact that P2P technologies have been in place since the earliest days of the Internet and that the concept is deployed in both the well-sea-soned (Usenet, for example) and the fundamental (DNS is a prime example here) technologies of the Internet. Welcome to Peer-to-Peer Networking The modern boom in P2P deployment and technologies really came at a “sweet spot” along several curves in the timeline spanning the early to mid-1990s: the drop-ping cost of storage, the increasing processing power of home computers, the widening adoption of faster Internet connections, and compression technologies that, although “lossy,” still maintained a reasonable resemblance to the original in the resultant compressed file.
  • Book cover image for: Parallel and Distributed Computing
    • Alberto Ros(Author)
    • 2010(Publication Date)
    • IntechOpen
      (Publisher)
    We discuss the implications and key techniques in each proposal and point the weaknesses and limitations of mentioned architectures. We present different selection criteria for choosing the optimal helper peers based on theoretic simulations, practical measurements and experiments with popular protocols such as eMule and BitTorrent. We propose an advanced Machine Learning based design that actively learns the behavioural patterns of peers and leverages the performance of clients by collaborating with the ”right” helper peers at the right time. Though helper peers gained popularity in P2P research, different works in this field term the same ideas differently and in some cases do not mention each other; this chapter presents the current state of the art in helper-supported P2P networks. Finally, we present future research directions in this field. 11 Parallel and Distributed Computing 204 2. Background P2P technology earned its fame throughout the last decade as a result of the wide deployment of P2P file sharing applications over the Internet in the late 1990s. Among the early releases, the popular ones were Napster, Scour Exchange, iMesh and Gnutella which were followed by improved designs such as KaZaA, eDonkey and BitTorrent. Following the increased popularity of online video content, new designs of P2P streaming networks were proposed by Joost, PPLive and others. In parallel, the research community introduced some promising designs in order to overcome the major challenges that relates to P2P networks – mainly dealing with the Lookup problem but also with security, scalability and performance. The potential of P2P for the end user in a P2P network is obvious – the ability to receive content (in some cases free of charge) easily, backed by an efficient search and an active community that continuously update the shared content.
  • Book cover image for: Legitimate Applications of Peer-to-Peer Networks
    8.5 EXAMPLE APPLICATION 133 Legitimate Applications of Peer-to-Peer Networks, by Dinesh C. Verma 135 ISBN 0-471-46369-8 Copyright © 2004 John Wiley & Sons, Inc. 9 COLLABORATIVE APPLICATIONS Collaborative applications refers to a broad class of applications that enable people to communicate and work with each other. Some examples of such collaborative applications are instant messaging, which allows people to communicate with each other, as well as shared whiteboards and shared systems that enable people to store ideas and concepts and help each other solve the problems that they encounter in the course of their work. Many collaborative applications exist today, and they are typi- cally implemented using the client-server paradigm. The client- server approach provides for a much simpler implementation of collaborative applications, because the server can be relied on to solve issues related to synchronization and consistency. The peer- to-peer approach has to use more complex solutions to the same problem. However, the peer-to-peer approach eliminates the need for a server, and the elimination of the infrastructure can lead to substantial savings in the cost of running a collaborative system. In this chapter, we look at some of the collaborative applica- tions that can be provided by a set of peers working together with- out a server. We also look at another set of collaborative applica- tions, ones that are not intended for people to work together, but instead are intended to enable people with a set of services that a single peer machine would not be able to provide on its own. We begin with a look at the general issues involved in the design of various collaborative applications and then look at a variety of ap- plications that can be implemented based on the peer-to-peer par- adigm. 9.1 GENERAL ISSUES A collaborative application consists of several people working to- gether on their machines in a joint activity.
  • Book cover image for: Peer-to-Peer Computing
    eBook - PDF

    Peer-to-Peer Computing

    Applications, Architecture, Protocols, and Challenges

    • Yu-Kwong Ricky Kwok(Author)
    • 2011(Publication Date)
    • CRC Press
      (Publisher)
    The peers serve many useful or even critical functions. For instance, one of the most important functions is that peers help each other to get the necessary data packets. Specifically, there are three key aspects governing the behaviors of a P2P application. Discovery. Upon entering the P2P system, the very first tasks a new peer needs to carry out are the discoveries of services, data, and peers. The peer first has to find out if a particular desired service (e.g., a certain video channel or a specific file) is available. Then the peer needs to determine the various pieces of meta-data about the service, such as the location information and the size of the actual data. Finally, before the actual data can be downloaded, the peer needs to obtain a list of peers, from the corresponding tracker, for making data transfer connections. 5 6 Peer-to-Peer Computing Internet Peer Peer Tracker Login Server Peer Peer FIGURE 2.1 : A general architecture of a P2P application. Location. Here, location is used in two different senses. First, a new peer needs to obtain location information about the corresponding tracker (e.g., the tracker’s IP address), about the peers that own the needed actual data. Second, the new peer also needs to report to the P2P servers about its own location and the data it already possesses. Such location information exchange is crucial for the tracker servers to keep accurate data about the availability of actual data and peers. Data Transfer. The uploading and downloading of the actual desired data are obviously the ultimate important steps. These steps are also the as-pects where different P2P systems take on different approaches. For one thing, there are the so-called push and pull approaches for data exchange. In a push-based approach, it is the data uploading peer who determines the recipients of the data. In contrast, in a pull-based approach, it is the data downloading peer who sends out transfer requests to a set of po-tential data senders.
Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.