Intranet Journal   Earthweb  
Events Jobs Premium Services Media Kit Network Map E-mail Offers Vendor Solutions Webcasts

   Intranet Journal Subjects
Search Earthweb

Privacy Policy



internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

internet commerce
Be a Commerce Partner
















 

[ Home | Discussion Forum | How Do I... | Lotus Notes Intranets | Microsoft SharePoint | Products | Shopping  ]

free news!


P2P and its Impact on the Enterprise


Nicolas Farges, Head of R&Dm techmetrix (nfarges@techmetrix.net)
and
Habib Guergachi, CT, Groupe SGLI R&D Consultant (hguergachi@sqli.com)

Printer Friendly Version

The recent success enjoyed by software based on the peer-to-peer architecture model has sparked off debate as to whether such a model is viable for enterprise applications. Peer to peer means "equal to equal," and it generalizes the notion of client and server - a peer can just as easily be a server as a consumer of resources. In our article we analyze this new trend that has become something of a hot topic.

What is peer to peer?

Peer to peer is, first and foremost, an architecture model for information systems. Its main aim is to optimize resource sharing on the network. To achieve this, the peer-to-peer model stops making the distinction between computers that publish resources on the network and those that consume them. So it's goodbye to client/server… and hello to peers.

The concept of peer to peer opens the way for some pretty extreme possibilities, since the resources that can be shared between peers can be very diverse:

Data sharing: Imagine the richness of a universal file system (video, documents, music…) that could be shared by all the peers connected to the network.

CPU resource sharing: The overall power of a calculator that could pool together the power of all connected peers would be massive.

Service sharing: Each peer can offer services to other peers, such as a simulation calculation service, say.

The peer-to-peer model also provides a way to guarantee the ubiquity of resources supplied by the network. A peer does not need to worry about the location of the peer providing a service; it simply requests a resource on the network and a peer that possesses that service then provides it. The broader the network of peers, the greater the probability of obtaining even a rare resource.

What is more, the notion of peer to peer is not restricted to computers: it can apply to devices of all different sizes. These range from the super-calculator which publishes calculation resources to the simple mobile phone that publishes a remote control service which could work on computer devices in the home, for instance.

And it gets better: The potential of a network increases quadratically in proportion to the number of peers connected. Peer to peer on the scale of the Internet would mean access to virtually all the resources of connected devices, providing almost infinite diversity. And this means that resources would become ubiquitous.

Traditional client/server, or the Internet client/server model that we are familiar with, does not manage to make the most of the network's potential as peer-to-peer is supposed to do; the resources published on the network come from servers, which are equipped with the necessary infrastructure services. So we could say that the peer merges the notions of client and server.

The infrastructure required for peer to peer

The idea of peer to peer is an attractive one. Let's take a look now at the infrastructure services required for a peer-to-peer architecture to function:

Resource publishing: To share a resource, a peer must publish it and enable it to be consulted by other peers; the description of the resource must be precise and standardized enough for the other peers to be able to find the resources in question, via a search request.

Resource location: Before consuming a resource, the peer must locate it on the network. This can be difficult due to the ubiquity of resources and the unpredictability of their connectivity. A directory mechanism that is updated in real time is therefore essential.

Resource consumption: Once the resource has been located, it must be invoked. This requires standardization so as to access resources, however diverse they may be (CPU, data or service residing on any type of machine) since a peer is not necessarily familiar with the workings of the resource that it is invoking. In concrete terms, for a computer to connect to an unknown device, a driver must be loaded dynamically, and for a calculation service, the exchange protocol must be loaded dynamically.

Resource usage services: invocation of a resource may require certain services such as security management (authentication, non-repudiation, confidentiality), transactional unity, availability (by failure recovery), or performance (by balancing loads across different peers).

These infrastructure services must operate on a network in which the connectivity of each peer is unpredictable. It is clear that these infrastructure services will need to be standardized in order to minimize problems of deployment for peers.

Peer to Peer as a generic architecture for Enterprise applications

To identify the opportunities that the peer-to-peer architecture model offers today's enterprises, let us take a quick look back at the history of client/server, which can be seen as a primitive form of peer to peer.

The keystone of client/server was its ability to share parts of an application over a network (presentation, processes and data) so as to benefit fully from machines' resources. Different types of client/server succeeded one another:

  • Presentation client/server made the most of the power of client stations to improve GUIs.
  • Data client/server pooled data into one central point so as to guarantee its integrity.
  • Process client/server lightened the burden on servers by deporting certain processes to the client machine.

The deployment problems caused by the different types of client/server were complex and costly, and were exacerbated when security, transaction, synchronization, location and other sorts of services had to be taken into account as well.

A generic peer-to-peer infrastructure that can share any kind of resources needs to be based on standards and should retain compatibility with existing systems (OS, networks, middleware…). It has become clear over time that developing such standards and using them in the real world is an idealistic dream that could only ever be possible in a laboratory.

The type of client/server that has triumphed is the Web client, which simply posts HTML pages using a rustic request/response protocol. The Web client is a straight consumer of resources, that tolerates network outages and whose bandwidth usage is predictable. The infrastructure services not provided by HTTP have simply been deported to servers which can host them in an environment with predictable constraints.

What's the future for peer to peer?

Peer to peer is definitely here, it has a future and it does not encroach on traditional heavy or light client models. Although the idea of a generic peer-to-peer architecture might seem to be a theoretician's ideal that cannot be applied in the real world, it can in fact be entirely feasible for some types of applications. Success stories like Napster or GNUTella are proof of the viability of the peer-to-peer model for certain configurations. There are a number of reasons for the success of such tools:

No need to take existing resources into account: These tools have been built from scratch, without the complex task of keeping them compatible with or extending existing systems.

Technological expertise: Developers of this sort of tool who are completely at home with the infrastructure (peer software, communication and location protocols…) can develop and optimize it without being slowed down by standards.

Clear objectives: This type of application is characterized by its precise objective. This makes it possible to clearly identify the infrastructure services that need to be set up both now and in the future; it then makes it even easier to implement infrastructure services.

Advantage for users: This is the most important factor of all. If the peer to peer application is providing users with a real service, and if it reaches a critical number of users, then success will become a virtuous circle.

Another type of peer-to-peer model which is currently enjoying a real boom is the concept of Web services. A Web service is a process, published by an enterprise, that may be connected to the firm's existing IT system. The notion of clients and servers disappears, since a consumer of a Web service may also be the publisher of a Web service. What makes Web services special is the fact that they are based on a triptych of standards that makes interoperability between diverse systems a possibility:

  • XML standardizes the format to describe the transported data
  • SOAP standardizes the way in which the Web service is called
  • WSDL standardizes the introspection mechanisms of Web services, enabling the Web service client to dynamically learn the structure of a Web service to be invoked (input/output parameters)

The notion of Web services responds to a true need, in that it enables enterprises to exchange services whose processes can be automated. It relies on real standards (HTTP and XML), is totally compatible with existing systems, and offers a pragmatic approach with simple infrastructure services (invocation), which will become more complete as time passes (location with UDDI).

The success of Web services is proof that peer to peer should be tackled pragmatically and should be used to address precise needs; the model should not be considered a generic structure, because of the complexity that this will entail.

To sum up, our view is that the peer-to-peer architecture model is not one that will revolutionize enterprise applications. It is simply a model which has been brought into the spotlight thanks to tools such as Napster or GNUtella, which some have seen as providing an opportunity for developing a revolutionary architecture model.

The approach to adopt for peer-to-peer architectures should be utterly pragmatic; a good example of this is the Web services standard that will enable enterprise applications to be extended by letting them communicate using the P2P model.

TechMetrix

TechMetrix Research is a technically focused analyst firm focused on e-business application development needs. Based in Boston, Mass., the firm publishes comparison reports and product reviews designed to aid enterprises with decision making and to keep pace with the fast-moving e-business market.

TechMetrix is a U.S.-based subsidiary of SQLI, a European company that offers on-site development services to international organizations. SQLI specializes in e-business project development.



Printer Friendly Version

Of Interest
· Intranet eXchange Discussion Board

· Advice and Opinions

email this page

Tutorials
and more at:
Intranet Journal's Tutorials
Intranet Journal Favorites

Creating a PHP-Based Content Management System

The Spyware Guide

Introduction to Microsoft SharePoint Portal

Intranet Journal
Part of the EarthWeb Network

Managing Editor
Intranet Journal

Tom Dunlap

EarthWeb Home Page
Jupitermedia Home Page

Media Kit



internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs