Client Server Systems
This system has a
dominant computer that is the Server and has software running on it and is
connected to various Clients that have limited functionality. The client
requests for services to the Server. Examples of this are Windows NT and Novell
NetWare. Network services like printing and electronic mail are routed through
the file server, which allows networking tasks to be tracked. . A Network
Operating System, or NOS, is installed onto each PC that requires network
access. The NOS is a regulatory measure that monitors the exchange and flow of
information. Servers store databases, files, programs and more that are shared
across the network with clients. This architecture allows access to data,
information and resources company wide. Applications
consist of three tiers: Presentation (the User Interface), Business Logic, and
Data (the Database). Client/server computing splits the application tasks and
puts them on the platform where it can be handled most efficiently. This is by
far the most popular model for various business purposes.
Tier 2: http://www.sei.cmu.edu/str/descriptions/threetier.html#34492
Tier 3: http://www.sei.cmu.edu/str/descriptions/threetier.html#34492
ORBS: http://www.sei.cmu.edu/str/descriptions/orb.html
CORBA: http://www.sei.cmu.edu/str/descriptions/corba.html
COM/DCOM: http://www.sei.cmu.edu/str/descriptions/com.html
RMI: http://java.sun.com/marketing/collateral/rmi_ds.html
Message Oriented
Middleware: http://www.sei.cmu.edu/str/descriptions/momt_body.html
J2EE: http://java.sun.com/j2ee/overview2.html
Web services: http://java.sun.com/blueprints/webservices/using/webservbp.html
.NET: http://www.geocities.com/sapraravi/
P2P
P2P Systems are
decentralized networks and does not have a single computer like a Server that
is dominant over any other computer. Each computer (node) determines which
resources it will share with the network and to what degree it will share those
resources. For example, one user on the network might choose to allow their
hard drive to be shared in a 'read only' manner, while another user may allow
'full access' and still another might disallow access to some or all of the
files on their drive. Additionally, in a peer-to-peer configuration, no one
computer can override any of the others to force them to change their settings.
They are easy to set up, less expensive than client server networks, and its
own operator individually maintains each computer. Most network operating
system software (such as Windows 95 and Windows 98) allows each peer-to-peer
computer to determine which resources will be available for use by all other
users of the remaining computers on the network. Specific hard and floppy disk
drives, directories, files, printers, and all other resources can be attached
or detached from the network via software.
Characteristics of Peer Computing
After looking at
what P2P systems are, let us look at some of the characteristics of P2P
systems. There are some distinguishing characteristics that make P2P systems
different from other systems, the crux of which are:
·
The location of a file is not known by its retriever, perhaps not
even after the file is retrieved. So there is no concept of a hooking to a
server to get some services done.
·
Files move freely among systems, they can show up on some systems
and disappear unexpectedly. Large numbers of people request content from a
global system rather than from a particular host.
·
Have an operational computer of server quality, since each node
acts as a client and a server.
·
An addressing system which is independent of the DNS.
·
The ability to cope with variable connectivity.
P2P requirements
Some of the
requirements to have a P2P system running are the following:
·
Standard communication protocols are required.
·
Information exchange should be secure.
·
Information networks should support policy-based authorization.
·
Information networks should facilitate more effective search.
·
Information networks should be easy to use and set up.
·
Information networks should scale.
·
Information networks should be ubiquitous.
Advantages of P2P over CS
Empowers the users, and has very little
restrictions.
New P2P technology is emerging on the edge of the Internet. The web is full of
useful information. However, “often times the most urgent and personally
relevant content – music, photos, work files, drafts and works-in-progress,
calendars and schedules – are found on desktops of individuals beyond the reach
of any centralized or web-based search engine” (Grove).
P2P popularity is growing among end users, technologists and business people.
The appeal includes personal control, context, security, flexibility, cost effectiveness,
and speed. The user has direct access and control by actually moving content
directly onto his machine. The difference between this process and a web page
is the difference between “having” and “viewing"
P2P allows people to go beyond sharing and swapping, “to talking with each
other about the content. In this way, an intuitive and shared context emerges
from the marriage of content and activity”
Both CS and P2P in my opinion will survive for a long time to come; though the
P2P is moving at a rapid pace.
Pure P2P
Nodes on this form are peers i.e can act as clients
and servers and have the same capability as its neighbors. It has no central
servers. It has every node as a Peer and has no central router. Further there
are two routing structures, one which is a distributed catalogue and the other
direct messaging. There is equality among nodes. Exapmle:
Gnutella, Freenet.
Hybrid P2P
The central server is responsible for maintaining a
registry of shared information and responding to queries for that information.
The peers are responsible for hosting the information, communicating what is to
be shared to the central server, and downloading it to other peers upon
request. This is centralized but not in the conventional Client Server sense.
Route terminals are used to hold catalogues of addresses. They are referenced
by a set of indexes that determine ab address set.
Example: Napster
Mixed P2P
The Pure and Hybrid forms are extremes, the Mixed is a middle ground that
involved the server as well as gives the peers adequate independence.
Virtual Private
Communities (VPC)
The VPC can be structured hierarchically. Queries are generally routed only
within a community. Queries may pass between communities where one peer acts as
a gateway by being a member of both communities. Only members of a particular
community may decipher queries for that community. Information sharing is
restricted to members of the community. Communities can be created within
communities in order to provide for more specialized information sharing.
Resources: http://wiki.cs.uiuc.edu/cs427/p2p, http://openp2p.com/, http://developer.java.sun.com/developer/technicalArticles/Networking/