SlideShare a Scribd company logo
2
What is Client Server Model?
The client-server model is a distributed communication framework of network
processes among service requesters, clients and service providers. The client-server
connection is established through a network or the Internet.
The client-server model is a core network computing concept also building
functionality for email exchange and Web/database access. Web technologies and
protocols built around the client-server model are:
● Hypertext Transfer Protocol (HTTP)
● Domain Name System (DNS)
● Simple Mail Transfer Protocol (SMTP)
● Telnet
Clients include Web browsers, chat applications, and email software, among others.
Servers include Web, database, application, chat and email, etc.
A server manages most processes and stores all data. A client requests specified
data or processes. The server relays process output to the client. Clients sometimes
handle processing, but require server data resources for completion.
The client-server model differs from a peer-to-peer (P2P) model where
communicating systems are the client or server, each with equal status and
responsibilities. The P2P model is decentralized networking. The client-server
model is centralized networking.
Problems with Client-server Model
1. Network Blocking or Network Congestion
As the number of simultaneous client requests to a given server increases, the
server can become overloaded. Contrast that to a P2P network, where its
bandwidth actually increases as more nodes are added, since the P2P network's
2
Most read
8
Client Server Model in Distributed System
The client-server model is basic to distributed systems. It is a response to the
limitations presented by the traditional mainframe client-host model, in which a
single mainframe provides shared data access to many dumb terminals. The
client-server model is also a response to the local area network (LAN) model, in
which many isolated systems access a file server that provides no processing
power.
Client-server architecture provides integration of data and services and allows
clients to be isolated from inherent complexities, such as communication protocols.
The simplicity of the client-server architecture allows clients to make requests that
are routed to the appropriate server. These requests are made in the form of
transactions. Client transactions are often SQL or PL/SQL procedures and functions
that access individual databases and services.
The system is structured as a set of processes, called servers, that offer services to
the users, called clients.
The client-server model is usually based on a simple request/reply protocol,
implemented with send/receive primitives or using ​remote procedure calls (RPC)
or ​remote method invocation (RMI)​.
RPC/RMI :
1. The client sends a request (invocation) message to the server asking for
some service
2. The server does the work and returns a result (e.g. the data requested) or an
error code if the work could not be performed.
Sequence of events :
8
Most read
9
1. The client calls the client stub. The call is a local procedure call, with
parameters pushed on to the stack in the normal way.
2. The client stub packs the parameters into a message and makes a system call
to send the message. Packing the parameters is called marshalling.
3. The client's local operating system sends the message from the client
machine to the server machine.
4. The local operating system on the server machine passes the incoming
packets to the server stub.
5. The server stub unpacks the parameters from the message. Unpacking the
parameters is called unmarshalling.
6. Finally, the server stub calls the server procedure. The reply traces the same
steps in the reverse direction.
9
Most read
CSN-341
Computer Networks
CLIENT SERVER MODEL
& DISTRIBUTED COMPUTING
Group 7 Members:
Abhishek Jaisingh (14114002)
Amandeep (14114008)
Amit Saharan (14114010)
Tirth Patel (14114036)
What is Client Server Model?
The client-server model is a distributed communication framework of network
processes among service requesters, clients and service providers. The client-server
connection is established through a network or the Internet.
The client-server model is a core network computing concept also building
functionality for email exchange and Web/database access. Web technologies and
protocols built around the client-server model are:
● Hypertext Transfer Protocol (HTTP)
● Domain Name System (DNS)
● Simple Mail Transfer Protocol (SMTP)
● Telnet
Clients include Web browsers, chat applications, and email software, among others.
Servers include Web, database, application, chat and email, etc.
A server manages most processes and stores all data. A client requests specified
data or processes. The server relays process output to the client. Clients sometimes
handle processing, but require server data resources for completion.
The client-server model differs from a peer-to-peer (P2P) model where
communicating systems are the client or server, each with equal status and
responsibilities. The P2P model is decentralized networking. The client-server
model is centralized networking.
Problems with Client-server Model
1. Network Blocking or Network Congestion
As the number of simultaneous client requests to a given server increases, the
server can become overloaded. Contrast that to a P2P network, where its
bandwidth actually increases as more nodes are added, since the P2P network's
2
overall bandwidth can be roughly computed as the sum of the bandwidths of
every node in that network. In addition to this, the server is also susceptible to
DOS(Denial of Service) attacks.
​2. Single Point of Failure
As the number of simultaneous client requests to a given server increases,
the server can become overloaded. Contrast that to a P2P network, where its
bandwidth actually increases as more nodes are added, since the P2P
network's overall bandwidth can be roughly computed as the sum of the
bandwidths of every node in that network. When a server goes down all the
operations associated with it are ceased.
​3. Lack of Scalability
As the number of simultaneous client requests to a given server increases,
the load on the server increases and hence it is not a scalable system. New
and better quality servers must be added to improve system performance,
which is a very tedious task. Scalability can only be done in the vertical
direction.
​4. High Costs
Servers are especially designed to be robust, reliable and high performance
and none of this is cheap. The operating system is also more costly that the
standard stand-alone types as it has to deal with a networked environment.
Distributed Computing
Distributed computing is a field of computer science that studies distributed
systems. A distributed system is a model in which components located on
networked computers communicate and coordinate their actions by passing
messages. The components interact with each other in order to achieve a common
goal. Three significant characteristics of distributed systems are: concurrency of
3
components, lack of a global clock, and independent failure of components.
Examples of distributed systems vary from SOA-based systems to massively
multiplayer online games to peer-to-peer applications.
There are many alternatives for the message passing mechanism, including pure
HTTP, RPC-like connectors and message queues.
A goal and challenge pursued by some computer scientists and practitioners in
distributed systems is location transparency; however, this goal has fallen out of
favour in industry, as distributed systems are different from conventional
non-distributed systems, and the differences, such as network partitions, partial
system failures, and partial upgrades, cannot simply be "papered over" by attempts
at "transparency" (CAP theorem).
Distributed computing also refers to the use of distributed systems to solve
computational problems. In distributed computing, a problem is divided into many
tasks, each of which is solved by one or more computers, which communicate with
each other by message passing.
4
a), (b): a distributed system.
(c): a parallel system.
5
Challenges in Distributed Computing
1. Fault Tolerance or Partition Tolerance
Failures are inevitable in any system. Some components may stop functioning
while others continue running normally. So naturally we need a way to:
● Detect Failures – Various mechanisms can be employed such as
checksums.
● Mask Failures – retransmit upon failure to receive acknowledgement
● Recover from failures – if a server crashes roll back to previous state
● Build Redundancy – Redundancy is the best way to deal with failures. It is
achieved by replicating data so that if one sub system crashes another may
still be able to provide the required information.
​2. Concurrency
Concurrency issues arise when several clients attempt to request a shared
resource at the same time. This is problematic as the outcome of any such
data may depend on the execution order, and so synchronisation is required.
A lot of research is also focussed on understanding the asynchronous nature
of distributed systems.
​3. Availability
Every request receives a response, without guarantee that if it contains the
most recent version of the information.
Achieving availability in a distributed system requires that the system
remains operational 100% of the time. Every client gets a response,
regardless of the state of any individual node in the system.
​4. Transparency
6
A distributed system must be able to offer transparency to its users. As a
user of a distributed system you do not care if we are using 20 or 100’s of
machines, so we hide this information, presenting the structure as a normal
centralized system.
■ Access Transparency – where resources are accessed in a uniform manner
regardless of location
■ Location Transparency – the physical location of a resource is hidden from
the user
■ Failure Transparency – Always try and Hide failures from users
​5. Security
The issues surrounding security are those of
■ Confidentiality
■ Availability
To combat these issues encryption techniques such as those of cryptography
can help but they are still not absolute. Denial of Service attacks can still
occur, where a server or service is bombarded with false requests usually by
botnets (zombie computers).
7
Client Server Model in Distributed System
The client-server model is basic to distributed systems. It is a response to the
limitations presented by the traditional mainframe client-host model, in which a
single mainframe provides shared data access to many dumb terminals. The
client-server model is also a response to the local area network (LAN) model, in
which many isolated systems access a file server that provides no processing
power.
Client-server architecture provides integration of data and services and allows
clients to be isolated from inherent complexities, such as communication protocols.
The simplicity of the client-server architecture allows clients to make requests that
are routed to the appropriate server. These requests are made in the form of
transactions. Client transactions are often SQL or PL/SQL procedures and functions
that access individual databases and services.
The system is structured as a set of processes, called servers, that offer services to
the users, called clients.
The client-server model is usually based on a simple request/reply protocol,
implemented with send/receive primitives or using ​remote procedure calls (RPC)
or ​remote method invocation (RMI)​.
RPC/RMI :
1. The client sends a request (invocation) message to the server asking for
some service
2. The server does the work and returns a result (e.g. the data requested) or an
error code if the work could not be performed.
Sequence of events :
8
1. The client calls the client stub. The call is a local procedure call, with
parameters pushed on to the stack in the normal way.
2. The client stub packs the parameters into a message and makes a system call
to send the message. Packing the parameters is called marshalling.
3. The client's local operating system sends the message from the client
machine to the server machine.
4. The local operating system on the server machine passes the incoming
packets to the server stub.
5. The server stub unpacks the parameters from the message. Unpacking the
parameters is called unmarshalling.
6. Finally, the server stub calls the server procedure. The reply traces the same
steps in the reverse direction.
9

More Related Content

What's hot (20)

Client Server Architecture ppt
Client Server Architecture pptClient Server Architecture ppt
Client Server Architecture ppt
OECLIB Odisha Electronics Control Library
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
Sunita Sahu
 
System call
System callSystem call
System call
Sumant Diwakar
 
Telnet
TelnetTelnet
Telnet
Jishnu Pradeep
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
shivli0769
 
Resource management
Resource managementResource management
Resource management
Dr Sandeep Kumar Poonia
 
Virtual machine security
Virtual machine securityVirtual machine security
Virtual machine security
Jacob Zvirikuzhe
 
Client-Server Computing
Client-Server ComputingClient-Server Computing
Client-Server Computing
Cloudbells.com
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
Rupsee
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
Anamika Singh
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corba
Mayuresh Wadekar
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
Babeetha Muruganantham
 
02 Legal, Ethical, and Professional Issues in Information Security
02 Legal, Ethical, and Professional Issues in Information Security02 Legal, Ethical, and Professional Issues in Information Security
02 Legal, Ethical, and Professional Issues in Information Security
sappingtonkr
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
Dilum Bandara
 
6.distributed shared memory
6.distributed shared memory6.distributed shared memory
6.distributed shared memory
Gd Goenka University
 
Cloud federation.pptx
Cloud federation.pptxCloud federation.pptx
Cloud federation.pptx
Ybhh
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systems
SHATHAN
 
Distributed Systems Naming
Distributed Systems NamingDistributed Systems Naming
Distributed Systems Naming
Ahmed Magdy Ezzeldin, MSc.
 
Computer networks - Channelization
Computer networks - ChannelizationComputer networks - Channelization
Computer networks - Channelization
Elambaruthi Elambaruthi
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
Ashish Kumar
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
Sunita Sahu
 
Distributed computing
Distributed computingDistributed computing
Distributed computing
shivli0769
 
Client-Server Computing
Client-Server ComputingClient-Server Computing
Client-Server Computing
Cloudbells.com
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
Rupsee
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
Anamika Singh
 
Distributed objects & components of corba
Distributed objects & components of corbaDistributed objects & components of corba
Distributed objects & components of corba
Mayuresh Wadekar
 
02 Legal, Ethical, and Professional Issues in Information Security
02 Legal, Ethical, and Professional Issues in Information Security02 Legal, Ethical, and Professional Issues in Information Security
02 Legal, Ethical, and Professional Issues in Information Security
sappingtonkr
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
Dilum Bandara
 
Cloud federation.pptx
Cloud federation.pptxCloud federation.pptx
Cloud federation.pptx
Ybhh
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systems
SHATHAN
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
Ashish Kumar
 

Similar to Client Server Model and Distributed Computing (20)

CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptx
FamiDan
 
Client server computing
Client server computingClient server computing
Client server computing
StudsPlanet.com
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
suks_87
 
SOFTWARE COMPUTING
SOFTWARE COMPUTINGSOFTWARE COMPUTING
SOFTWARE COMPUTING
DrThenmozhiKarunanit
 
unit 4-1.pptx
unit 4-1.pptxunit 4-1.pptx
unit 4-1.pptx
prakashvs7
 
Topic 5- Communications v1.pptx
Topic 5- Communications v1.pptxTopic 5- Communications v1.pptx
Topic 5- Communications v1.pptx
DanishMahmood23
 
UNIT-1 Introduction to Distributed SystemPPT.ppt
UNIT-1 Introduction to Distributed SystemPPT.pptUNIT-1 Introduction to Distributed SystemPPT.ppt
UNIT-1 Introduction to Distributed SystemPPT.ppt
cnpnraja
 
client server protocol
client server protocolclient server protocol
client server protocol
bmuhire
 
Distributed Operating System
Distributed Operating SystemDistributed Operating System
Distributed Operating System
AjithaG9
 
Client server computing
Client server computingClient server computing
Client server computing
jorge cabiao
 
ADITYA BHATIA 28TH FEB2023 to know about.pptx
ADITYA BHATIA  28TH FEB2023 to know about.pptxADITYA BHATIA  28TH FEB2023 to know about.pptx
ADITYA BHATIA 28TH FEB2023 to know about.pptx
khanbybit
 
02 Models of Distribution Systems.pdf
02 Models of Distribution Systems.pdf02 Models of Distribution Systems.pdf
02 Models of Distribution Systems.pdf
RobeliaJoyVillaruz
 
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
Message Passing, Remote Procedure Calls and  Distributed Shared Memory as Com...Message Passing, Remote Procedure Calls and  Distributed Shared Memory as Com...
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
Sehrish Asif
 
Chapeter 2 introduction to cloud computing
Chapeter 2   introduction to cloud computingChapeter 2   introduction to cloud computing
Chapeter 2 introduction to cloud computing
eShikshak
 
Chapter 3-Processes.ppt
Chapter 3-Processes.pptChapter 3-Processes.ppt
Chapter 3-Processes.ppt
sirajmohammed35
 
Chap-3- Process.pptx distributive system
Chap-3- Process.pptx distributive systemChap-3- Process.pptx distributive system
Chap-3- Process.pptx distributive system
Tofikmohammed5
 
Clientserver
ClientserverClientserver
Clientserver
Madhumithah Ilango
 
Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
Tech_MX
 
Distributed Systems in Data Engineering
Distributed Systems in Data EngineeringDistributed Systems in Data Engineering
Distributed Systems in Data Engineering
Oluwasegun Matthew
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptx
FamiDan
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
suks_87
 
Topic 5- Communications v1.pptx
Topic 5- Communications v1.pptxTopic 5- Communications v1.pptx
Topic 5- Communications v1.pptx
DanishMahmood23
 
UNIT-1 Introduction to Distributed SystemPPT.ppt
UNIT-1 Introduction to Distributed SystemPPT.pptUNIT-1 Introduction to Distributed SystemPPT.ppt
UNIT-1 Introduction to Distributed SystemPPT.ppt
cnpnraja
 
client server protocol
client server protocolclient server protocol
client server protocol
bmuhire
 
Distributed Operating System
Distributed Operating SystemDistributed Operating System
Distributed Operating System
AjithaG9
 
Client server computing
Client server computingClient server computing
Client server computing
jorge cabiao
 
ADITYA BHATIA 28TH FEB2023 to know about.pptx
ADITYA BHATIA  28TH FEB2023 to know about.pptxADITYA BHATIA  28TH FEB2023 to know about.pptx
ADITYA BHATIA 28TH FEB2023 to know about.pptx
khanbybit
 
02 Models of Distribution Systems.pdf
02 Models of Distribution Systems.pdf02 Models of Distribution Systems.pdf
02 Models of Distribution Systems.pdf
RobeliaJoyVillaruz
 
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
Message Passing, Remote Procedure Calls and  Distributed Shared Memory as Com...Message Passing, Remote Procedure Calls and  Distributed Shared Memory as Com...
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
Sehrish Asif
 
Chapeter 2 introduction to cloud computing
Chapeter 2   introduction to cloud computingChapeter 2   introduction to cloud computing
Chapeter 2 introduction to cloud computing
eShikshak
 
Chap-3- Process.pptx distributive system
Chap-3- Process.pptx distributive systemChap-3- Process.pptx distributive system
Chap-3- Process.pptx distributive system
Tofikmohammed5
 
Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
Tech_MX
 
Distributed Systems in Data Engineering
Distributed Systems in Data EngineeringDistributed Systems in Data Engineering
Distributed Systems in Data Engineering
Oluwasegun Matthew
 
Ad

More from Abhishek Jaisingh (10)

Movie recommendation project
Movie recommendation projectMovie recommendation project
Movie recommendation project
Abhishek Jaisingh
 
Deep Q-learning Flappy Bird
Deep Q-learning Flappy BirdDeep Q-learning Flappy Bird
Deep Q-learning Flappy Bird
Abhishek Jaisingh
 
Traffic Lights Controller in VHDL
Traffic Lights Controller in VHDLTraffic Lights Controller in VHDL
Traffic Lights Controller in VHDL
Abhishek Jaisingh
 
Airline Database Design
Airline Database DesignAirline Database Design
Airline Database Design
Abhishek Jaisingh
 
Snake Game Report
Snake Game ReportSnake Game Report
Snake Game Report
Abhishek Jaisingh
 
Forget Me Not Report
Forget Me Not ReportForget Me Not Report
Forget Me Not Report
Abhishek Jaisingh
 
Skype
SkypeSkype
Skype
Abhishek Jaisingh
 
Quantum Computing Report
Quantum Computing ReportQuantum Computing Report
Quantum Computing Report
Abhishek Jaisingh
 
Quantum Computing
Quantum ComputingQuantum Computing
Quantum Computing
Abhishek Jaisingh
 
Innovative Business Models Presentation
Innovative Business Models PresentationInnovative Business Models Presentation
Innovative Business Models Presentation
Abhishek Jaisingh
 
Ad

Recently uploaded (20)

“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptxISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
AyilurRamnath1
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any ApplicationData Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to KnowWhat is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
SMACT Works
 
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection FunctionLSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf
Minuscule Technologies
 
Jeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software DeveloperJeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software Developer
Jeremy Millul
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationAI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
Christine Shepherd
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdfcnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptxISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
AyilurRamnath1
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any ApplicationData Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to KnowWhat is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
SMACT Works
 
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection FunctionLSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf
Minuscule Technologies
 
Jeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software DeveloperJeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software Developer
Jeremy Millul
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationAI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
Christine Shepherd
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdfcnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 

Client Server Model and Distributed Computing

  • 1. CSN-341 Computer Networks CLIENT SERVER MODEL & DISTRIBUTED COMPUTING Group 7 Members: Abhishek Jaisingh (14114002) Amandeep (14114008) Amit Saharan (14114010) Tirth Patel (14114036)
  • 2. What is Client Server Model? The client-server model is a distributed communication framework of network processes among service requesters, clients and service providers. The client-server connection is established through a network or the Internet. The client-server model is a core network computing concept also building functionality for email exchange and Web/database access. Web technologies and protocols built around the client-server model are: ● Hypertext Transfer Protocol (HTTP) ● Domain Name System (DNS) ● Simple Mail Transfer Protocol (SMTP) ● Telnet Clients include Web browsers, chat applications, and email software, among others. Servers include Web, database, application, chat and email, etc. A server manages most processes and stores all data. A client requests specified data or processes. The server relays process output to the client. Clients sometimes handle processing, but require server data resources for completion. The client-server model differs from a peer-to-peer (P2P) model where communicating systems are the client or server, each with equal status and responsibilities. The P2P model is decentralized networking. The client-server model is centralized networking. Problems with Client-server Model 1. Network Blocking or Network Congestion As the number of simultaneous client requests to a given server increases, the server can become overloaded. Contrast that to a P2P network, where its bandwidth actually increases as more nodes are added, since the P2P network's 2
  • 3. overall bandwidth can be roughly computed as the sum of the bandwidths of every node in that network. In addition to this, the server is also susceptible to DOS(Denial of Service) attacks. ​2. Single Point of Failure As the number of simultaneous client requests to a given server increases, the server can become overloaded. Contrast that to a P2P network, where its bandwidth actually increases as more nodes are added, since the P2P network's overall bandwidth can be roughly computed as the sum of the bandwidths of every node in that network. When a server goes down all the operations associated with it are ceased. ​3. Lack of Scalability As the number of simultaneous client requests to a given server increases, the load on the server increases and hence it is not a scalable system. New and better quality servers must be added to improve system performance, which is a very tedious task. Scalability can only be done in the vertical direction. ​4. High Costs Servers are especially designed to be robust, reliable and high performance and none of this is cheap. The operating system is also more costly that the standard stand-alone types as it has to deal with a networked environment. Distributed Computing Distributed computing is a field of computer science that studies distributed systems. A distributed system is a model in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal. Three significant characteristics of distributed systems are: concurrency of 3
  • 4. components, lack of a global clock, and independent failure of components. Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications. There are many alternatives for the message passing mechanism, including pure HTTP, RPC-like connectors and message queues. A goal and challenge pursued by some computer scientists and practitioners in distributed systems is location transparency; however, this goal has fallen out of favour in industry, as distributed systems are different from conventional non-distributed systems, and the differences, such as network partitions, partial system failures, and partial upgrades, cannot simply be "papered over" by attempts at "transparency" (CAP theorem). Distributed computing also refers to the use of distributed systems to solve computational problems. In distributed computing, a problem is divided into many tasks, each of which is solved by one or more computers, which communicate with each other by message passing. 4
  • 5. a), (b): a distributed system. (c): a parallel system. 5
  • 6. Challenges in Distributed Computing 1. Fault Tolerance or Partition Tolerance Failures are inevitable in any system. Some components may stop functioning while others continue running normally. So naturally we need a way to: ● Detect Failures – Various mechanisms can be employed such as checksums. ● Mask Failures – retransmit upon failure to receive acknowledgement ● Recover from failures – if a server crashes roll back to previous state ● Build Redundancy – Redundancy is the best way to deal with failures. It is achieved by replicating data so that if one sub system crashes another may still be able to provide the required information. ​2. Concurrency Concurrency issues arise when several clients attempt to request a shared resource at the same time. This is problematic as the outcome of any such data may depend on the execution order, and so synchronisation is required. A lot of research is also focussed on understanding the asynchronous nature of distributed systems. ​3. Availability Every request receives a response, without guarantee that if it contains the most recent version of the information. Achieving availability in a distributed system requires that the system remains operational 100% of the time. Every client gets a response, regardless of the state of any individual node in the system. ​4. Transparency 6
  • 7. A distributed system must be able to offer transparency to its users. As a user of a distributed system you do not care if we are using 20 or 100’s of machines, so we hide this information, presenting the structure as a normal centralized system. ■ Access Transparency – where resources are accessed in a uniform manner regardless of location ■ Location Transparency – the physical location of a resource is hidden from the user ■ Failure Transparency – Always try and Hide failures from users ​5. Security The issues surrounding security are those of ■ Confidentiality ■ Availability To combat these issues encryption techniques such as those of cryptography can help but they are still not absolute. Denial of Service attacks can still occur, where a server or service is bombarded with false requests usually by botnets (zombie computers). 7
  • 8. Client Server Model in Distributed System The client-server model is basic to distributed systems. It is a response to the limitations presented by the traditional mainframe client-host model, in which a single mainframe provides shared data access to many dumb terminals. The client-server model is also a response to the local area network (LAN) model, in which many isolated systems access a file server that provides no processing power. Client-server architecture provides integration of data and services and allows clients to be isolated from inherent complexities, such as communication protocols. The simplicity of the client-server architecture allows clients to make requests that are routed to the appropriate server. These requests are made in the form of transactions. Client transactions are often SQL or PL/SQL procedures and functions that access individual databases and services. The system is structured as a set of processes, called servers, that offer services to the users, called clients. The client-server model is usually based on a simple request/reply protocol, implemented with send/receive primitives or using ​remote procedure calls (RPC) or ​remote method invocation (RMI)​. RPC/RMI : 1. The client sends a request (invocation) message to the server asking for some service 2. The server does the work and returns a result (e.g. the data requested) or an error code if the work could not be performed. Sequence of events : 8
  • 9. 1. The client calls the client stub. The call is a local procedure call, with parameters pushed on to the stack in the normal way. 2. The client stub packs the parameters into a message and makes a system call to send the message. Packing the parameters is called marshalling. 3. The client's local operating system sends the message from the client machine to the server machine. 4. The local operating system on the server machine passes the incoming packets to the server stub. 5. The server stub unpacks the parameters from the message. Unpacking the parameters is called unmarshalling. 6. Finally, the server stub calls the server procedure. The reply traces the same steps in the reverse direction. 9