You are on page 1of 9

Peer-to-Peer Middleware

Satish Narayana Srirama


satish.srirama@uohyd.ac.in

29/11/2021 Satish Srirama 1


Outline
• Peer-to-Peer Middleware
• Functional and non-functional requirements
of P2P middleware

29/11/2021 Satish Srirama 2


Peer-to-Peer Middleware
• A key problem in the design of peer-to-peer applications is
providing a mechanism to enable clients to access data
resources quickly and dependably
– Wherever the peers may be located throughout the network
• Napster maintained a unified index of available files
– Gives the network addresses of their hosts
• Second-generation peer-to-peer file storage systems such
as Gnutella and Freenet employ partitioned and distributed
indexes
– The algorithms used are specific to each system
• P2P middleware systems are designed specifically to meet
the need for the automatic placement and subsequent
location of the distributed objects

29/11/2021 Satish Srirama 3


Functional requirements of P2P
middleware
• The main function of P2P middleware is to simplify the
construction of services that are implemented across
many hosts in a widely distributed network
– So, it must enable clients to locate and communicate with
any individual resource made available to a service
• Ability to add new resources and to remove them at
will
• Ability to add hosts to the service and remove them
• Should offer a simple programming interface to
application programmers
– The interface should be independent of the types of
distributed resource that the application manipulates

29/11/2021 Satish Srirama 4


Non-functional requirements of P2P
middleware
• Global scalability
– P2P middleware must be designed to support applications that
access millions of objects on tens of thousands or hundreds of
thousands of hosts
• Load balancing
– Balanced distribution of workload across peers
– Achieved by a random placement of resources together with the
use of replicas of heavily used resources
• Optimization for local interactions between neighbouring
peers
– The ‘network distance’ between nodes that interact has a
substantial impact on the latency of individual interactions
– The middleware should aim to place resources close to the
nodes that access them the most

29/11/2021 Satish Srirama 5


Non-functional requirements of P2P
middleware - continued
• Accommodating to highly dynamic host availability
– Most P2P systems are constructed from host computers that are free to join or
leave the system at any time
– A major challenge for P2P systems is to provide a dependable service despite
these facts
– As hosts join the system, they must be integrated into the system and the load
must be redistributed to exploit their resources
– Redistribute the load when the nodes leave
– Studies of P2P applications and systems such as Gnutella and Overnet have
shown a considerable turnover of participating hosts
• Security of data in an environment with heterogeneous trust
– Trust must be built up by the use of authentication and encryption
mechanisms to ensure the integrity and privacy of information
• Anonymity, deniability and resistance to censorship
– Anonymity for the holders and recipients of data is a legitimate concern in
many situations demanding resistance to censorship

29/11/2021 Satish Srirama 6


Peer-to-Peer Middleware - continued
• How best to design a middleware layer to support global-scale P2P
systems is therefore a difficult problem
• The requirements for scalability and availability make it infeasible to
maintain a database at all client nodes giving the locations of all the
resources (objects) of interest
• Knowledge of the locations of objects must be partitioned and
distributed throughout the network
• Each node is made responsible for maintaining detailed knowledge
of the locations of nodes and objects in a portion of the namespace
– Also responsible for a general knowledge of the topology of the entire
namespace
• A high degree of replication of this knowledge is necessary to
ensure dependability in the face of the volatility
– Replication factors as high as 16 are typically used

29/11/2021 Satish Srirama 7


Distribution of information in a routing
overlay

29/11/2021 Satish Srirama 8


References & Books
• Chapter 10, G. Coulouris, J. Dollimore, T.
Kindberg, G. Blair (2011), Distributed Systems:
Concepts and Design, Fifth Edition, Addison-
Wesley.
• Some of the slides are adapted from the
lecture materials provided by the reference
book https://www.cdk5.net/wp/

29/11/2021 Satish Srirama 9

You might also like