Unit I
Unit I
By Surbhi Rastogi
What is Client-Server Architecture?
Client-server architecture is a network model in which two main entities
— clients and servers — communicate with each other to complete specific tasks or share
data.
Client: The client initiates requests, waits for the server’s response, and displays it
to the user. For example, a web browser acts as a client when it requests a website.
Server: The server processes these requests, retrieves the relevant information,
and sends it back to the client. For example, a web server responds with website
data when a browser requests it.
e.g. Online booking, Banking system etc
What Is Peer-To-Peer?
Peer-to-peer (P2P) is a decentralized network architecture in which participants, called peers,
interact directly with each other without needing a central authority or server.
In a P2P network, each participant acts as both a client and a server, enabling them to share
resources and services directly with other peers.
To understand better, imagine a group of friends studying together for an exam. In a
traditional classroom setting (client-server architecture), there is a teacher who serves as a
central authority and provides information to all the students (clients). The students rely on
the teacher for the necessary study materials and guidance.
Now, let’s apply the P2P concept to our study group. In this scenario, each student is
considered a peer. Instead of relying solely on the teacher, the students can directly interact
with each other, exchange study materials, and help each other understand difficult concepts.
For example, if one student has summarized notes for a particular topic, they can share it with
the rest of the group by making copies or simply showing it to others. Another student might
have found useful online resources or practice questions, which they can share with the
group. The students can discuss and explain concepts to each other, asking questions and
clarifying doubts.
In this P2P study group, no one student is solely responsible for providing all the information.
Instead, each student contributes knowledge and resources, and everyone benefits from the
collective effort. If one student is absent, it doesn’t stop the others from studying and sharing
information. The study group functions efficiently because the peers are directly interacting
and sharing resources without relying on a central authority.
Similarly, in a P2P computer network, each device can act as a peer, sharing files, data, or
services directly with other peers in the network. There is no need for a central server to
manage and distribute resources. Peers can communicate, exchange information, and
collaborate, creating a decentralized network where everyone contributes to the overall
functioning of the system.
Applications
File sharing
P2P networks are commonly used for file sharing. One well-known example is BitTorrent,
where users can download and upload files directly from and to other users.
Instant messaging
P2P technology can be used for instant messaging applications. For instance, applications
such as Skype and WhatsApp use P2P communication to enable users to chat and make voice
and video calls directly with each other. Messages and media files are exchanged between
users without needing a central server.
Cryptocurrency
Peer-to-peer networks are integral to cryptocurrencies such as Bitcoin.
It is difficult to backup the data as it is stored in different computer systems and there
is no central server.
It is difficult to provide overall security in the peer to peer network as each system is
independent and contains its own data.
Computers are located close to each Computers may be located at a huge distance
other. from one another.
Scheduling is controlled by a central It may have servers, but mostly each node
server. behaves independently.
Whole system has a centralized resource Every node manages it’s resources
manager. independently.
Whole system functions as a single Every node is autonomous, and anyone can
system. opt out anytime.
Cluster Computing Grid Computing
Cluster computing is used in areas such Grid computing is used in areas such
as WebLogic Application as predictive
Servers, Databases, etc. modeling, Automation, simulations, etc.
Distributed computing refers to a system where processing and data storage is distributed
across multiple devices or systems, rather than being handled by a single central device. In
a distributed system, each device or system has its own processing capabilities and may
also store and manage its own data. These devices or systems work together to perform
tasks and share resources, with no single device serving as the central hub.
One example of a distributed computing system is a cloud computing system, where
resources such as computing power, storage, and networking are delivered over the Internet
and accessed on demand. In this type of system, users can access and use shared resources
through a web browser or other client software.