A Survey of Peer-to-Peer Architectures for Service Oriented Computing

A Survey of Peer-to-Peer Architectures for Service Oriented Computing

Danny Hughes (Katholieke Universiteit Leuven, Belgium), Geof Coulson (University of Lancaster, UK) and James Walkerdine (University of Lancaster, UK)
DOI: 10.4018/978-1-61520-686-5.ch001
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Peer-to-peer file sharing has become popular for many kinds of resource location and distribution applications including file sharing, distributed computation, multi-media messaging and content distribution. Peer-to-peer approaches also have significant potential for supporting large scale, decentralised service oriented computing. This chapter discusses each class of contemporary P2P architecture in turn and discusses the suitability of each architecture class for supporting service oriented computing. Future trends in peer-to-peer architectures are then discussed and multi-layer peer-to-peer architectures are highlighted as a promising platform for supporting service oriented computing. This chapter then concludes with a discussion of outstanding issues that must be addressed before peer-to-peer architectures can offer adequate support for service oriented computing.
Chapter Preview
Top

Introduction

Service Oriented Computing (SOC) is a family of tools and approaches, which aim to reflect component trends towards anonymity and heterogeneity, providing systems which are better suited to today’s large-scale and open distributed environments (Huhns & Singh, 2005). Individual services may be composed together by developers to provide emergent application functionality. Service-based applications, are composed of three parts: providers, who provide services, consumers, who use these services and a registry, which is used to publish information about available services. These architectures are supported by service definition languages such as WSDL (Christensen, Curbera, Meredish, & Weerawarana, 2001), discovery protocols such as UDDI (Bryan, Draluk, Ehnebuske, Glover, Hately, Husband, Karp, Kibakura, Kurt, Lancelle, Lee, MacRoibeaird, Manes, McKee, Munter, Nordan, Reeves, Rogers, Tomlinson, Tosun, von Riegen, & Yendluri, 2002) and binding protocols such as SOAP (Box, Ehnebuske, Kakivaya, Layman, Mendelsohn, Nielsen, Thatte, & Winer, 2000).

Peer-to-Peer (P2P) systems are a promising platform for supporting more flexible service oriented computing, offering decentralised and large-scale service discovery and publication. This can potentially allow any peer participating in the network to be a service provider or consumer. P2P systems are realised using a family of distributed programming approaches that emphasise co-operation between entities known as peers that are essentially equal and can both require and provide services (Shirkey, 2001). Thus far, P2P approaches have been successfully applied to fields including: resource sharing, distributed computation, multimedia messaging and content distribution.

A core component of a P2P system is its network architecture, which represents how the peers within the system are connected together. These can range from topologies that are particularly centralized in their operation (typically using some form of central hub), to fully decentralized topologies in which there is no set structure and all peers are considered equal. This chapter presents a classification of these P2P architectures and analyses their suitability for supporting the requirements of service oriented computing. In particular we look at their support for key aspects of SOC:

  • Service publication: The process of announcing your service to others

  • Service discovery: The process of discovering services that meet your requirements

  • Scalability: How well the infrastructure can support a large scale environment with many service providers and consumers

  • Resilience: The reliability of the infrastructure for the publication, discovery and provision of services

Top

Survey Of P2p Network Architectures

As described in the introduction to this chapter, P2P systems are a promising architecture for supporting SOC and have a proven track record for supporting large scale resource location and distribution. This section introduces an in-depth survey of P2P systems conforming to the key classes of P2P architecture and discusses their suitability for supporting service oriented computing (Figure 1):

Figure 1.

Classes of P2P architecture

Key Terms in this Chapter

Unstructured, Decentralised P2P Systems: Are entirely decentralised, connecting peers together in an essentially random manner and treating all peers equally.

Semi-Centralised P2P Systems: Use a semi-centralised network architecture, wherein a small number of dedicated servers mediate interaction between large numbers of peers at the edge of the network.

Multi-Layer P2P Architectures: Layer multiple network architectures in order to provide an emergent network architecture which combines the benefits of the component architectures.

Structured, Decentralised P2P Systems: Feature decentralised, server-less communication supported by a highly structured overlay network.

Service Oriented Computing (SOC): The a family of tools and approaches, which aim to reflect component trends towards anonymity and heterogeneity, providing systems which are better suited to today’s large-scale and open distributed environments.

Super-Node P2P Systems: Feature decentralised server-less communication, however, all peers are not treated equally. More powerful peers on faster connections may elect to become ‘super-nodes’ which route a greater proportion of messages and may also provide special services.

Peer-to-Peer Systems (P2P): Peer-to-peer is a class of applications that takes advantage of resources - storage, cycles, content, human presence - available at the edges of the Internet.

Complete Chapter List

Search this Book:
Reset