Client Server Model and Distributed Computing

Abhishek Jaisingh
Abhishek JaisinghSummer Intern at Samsung Research Institute, Bengaluru

A brief report on Client Server Model and Distributed Computing. Problems and Applications are also discussed and Client Server Model in Distributed Systems is also discussed.

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

Recomendados

RPC: Remote procedure call von
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure callSunita Sahu
16.4K views26 Folien
Trends in distributed systems von
Trends in distributed systemsTrends in distributed systems
Trends in distributed systemsJayanthi Radhakrishnan
21.1K views10 Folien
03 network services von
03 network services03 network services
03 network servicesJadavsejal
258 views25 Folien
Architecture of operating system von
Architecture of operating systemArchitecture of operating system
Architecture of operating systemSupriya Kumari
73.9K views13 Folien
Message and Stream Oriented Communication von
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented CommunicationDilum Bandara
17.9K views38 Folien
Distributed System-Multicast & Indirect communication von
Distributed System-Multicast & Indirect communicationDistributed System-Multicast & Indirect communication
Distributed System-Multicast & Indirect communicationMNM Jain Engineering College
6.4K views43 Folien

Más contenido relacionado

Was ist angesagt?

Communication primitives von
Communication primitivesCommunication primitives
Communication primitivesStudent
24.5K views18 Folien
Implementation levels of virtualization von
Implementation levels of virtualizationImplementation levels of virtualization
Implementation levels of virtualizationGokulnath S
3.3K views9 Folien
System models in distributed system von
System models in distributed systemSystem models in distributed system
System models in distributed systemishapadhy
13.3K views13 Folien
Distributed file system von
Distributed file systemDistributed file system
Distributed file systemAnamika Singh
8.8K views20 Folien
message communication protocols in IoT von
message communication protocols in IoTmessage communication protocols in IoT
message communication protocols in IoTFabMinds
1.6K views28 Folien
Unit 1 von
Unit 1Unit 1
Unit 1Baskarkncet
1.1K views49 Folien

Was ist angesagt?(20)

Communication primitives von Student
Communication primitivesCommunication primitives
Communication primitives
Student24.5K views
Implementation levels of virtualization von Gokulnath S
Implementation levels of virtualizationImplementation levels of virtualization
Implementation levels of virtualization
Gokulnath S3.3K views
System models in distributed system von ishapadhy
System models in distributed systemSystem models in distributed system
System models in distributed system
ishapadhy13.3K views
Distributed file system von Anamika Singh
Distributed file systemDistributed file system
Distributed file system
Anamika Singh8.8K views
message communication protocols in IoT von FabMinds
message communication protocols in IoTmessage communication protocols in IoT
message communication protocols in IoT
FabMinds1.6K views
Layers and types of cloud von ANUSUYA T K
Layers and types of cloudLayers and types of cloud
Layers and types of cloud
ANUSUYA T K325 views
Applications of Distributed Systems von sandra sukarieh
Applications of Distributed SystemsApplications of Distributed Systems
Applications of Distributed Systems
sandra sukarieh8.8K views
web communication protocols in IoT von FabMinds
web communication protocols in IoTweb communication protocols in IoT
web communication protocols in IoT
FabMinds2.6K views
Distributed computing von shivli0769
Distributed computingDistributed computing
Distributed computing
shivli076929.7K views
Network File System in Distributed Computing von Chandan Padalkar
Network File System in Distributed ComputingNetwork File System in Distributed Computing
Network File System in Distributed Computing
Chandan Padalkar6K views
Corba concepts & corba architecture von nupurmakhija1211
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecture
nupurmakhija121150.4K views

Similar a Client Server Model and Distributed Computing

Distributed system von
Distributed systemDistributed system
Distributed systemchirag patil
189 views27 Folien
CS9222 ADVANCED OPERATING SYSTEMS von
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSKathirvel Ayyaswamy
5K views30 Folien
CHP-4.pptx von
CHP-4.pptxCHP-4.pptx
CHP-4.pptxFamiDan
19 views42 Folien
Client server computing von
Client server computingClient server computing
Client server computingStudsPlanet.com
466 views4 Folien
Client Server Architecture von
Client Server ArchitectureClient Server Architecture
Client Server Architecturesuks_87
81.3K views65 Folien
SOFTWARE COMPUTING von
SOFTWARE COMPUTINGSOFTWARE COMPUTING
SOFTWARE COMPUTINGDrThenmozhiKarunanit
14 views38 Folien

Similar a Client Server Model and Distributed Computing(20)

CHP-4.pptx von FamiDan
CHP-4.pptxCHP-4.pptx
CHP-4.pptx
FamiDan19 views
Client Server Architecture von suks_87
Client Server ArchitectureClient Server Architecture
Client Server Architecture
suks_8781.3K views
client server protocol von bmuhire
client server protocolclient server protocol
client server protocol
bmuhire1.8K views
Distributed Operating System von AjithaG9
Distributed Operating SystemDistributed Operating System
Distributed Operating System
AjithaG9489 views
Client server computing von jorge cabiao
Client server computingClient server computing
Client server computing
jorge cabiao869 views
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com... von Sehrish Asif
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 Asif14.6K views
Chapeter 2 introduction to cloud computing von eShikshak
Chapeter 2   introduction to cloud computingChapeter 2   introduction to cloud computing
Chapeter 2 introduction to cloud computing
eShikshak2.5K views
Client computing evolution ppt11 von Tech_MX
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
Tech_MX6.4K views
Distributed Computing system von Sarvesh Meena
Distributed Computing system Distributed Computing system
Distributed Computing system
Sarvesh Meena4.5K views
characteristicsofdistributedsystem-121004123308-phpapp02.ppt von RamkumardevendiranDe
characteristicsofdistributedsystem-121004123308-phpapp02.pptcharacteristicsofdistributedsystem-121004123308-phpapp02.ppt
characteristicsofdistributedsystem-121004123308-phpapp02.ppt

Más de Abhishek Jaisingh

Movie recommendation project von
Movie recommendation projectMovie recommendation project
Movie recommendation projectAbhishek Jaisingh
36.9K views25 Folien
Deep Q-learning Flappy Bird von
Deep Q-learning Flappy BirdDeep Q-learning Flappy Bird
Deep Q-learning Flappy BirdAbhishek Jaisingh
1.1K views10 Folien
Traffic Lights Controller in VHDL von
Traffic Lights Controller in VHDLTraffic Lights Controller in VHDL
Traffic Lights Controller in VHDLAbhishek Jaisingh
16K views6 Folien
Airline Database Design von
Airline Database DesignAirline Database Design
Airline Database DesignAbhishek Jaisingh
7.5K views13 Folien
Snake Game Report von
Snake Game ReportSnake Game Report
Snake Game ReportAbhishek Jaisingh
9K views9 Folien
Forget Me Not Report von
Forget Me Not ReportForget Me Not Report
Forget Me Not ReportAbhishek Jaisingh
107 views5 Folien

Último

PRODUCT LISTING.pptx von
PRODUCT LISTING.pptxPRODUCT LISTING.pptx
PRODUCT LISTING.pptxangelicacueva6
14 views1 Folie
Info Session November 2023.pdf von
Info Session November 2023.pdfInfo Session November 2023.pdf
Info Session November 2023.pdfAleksandraKoprivica4
12 views15 Folien
Zero to Automated in Under a Year von
Zero to Automated in Under a YearZero to Automated in Under a Year
Zero to Automated in Under a YearNetwork Automation Forum
15 views23 Folien
handbook for web 3 adoption.pdf von
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdfLiveplex
22 views16 Folien
SUPPLIER SOURCING.pptx von
SUPPLIER SOURCING.pptxSUPPLIER SOURCING.pptx
SUPPLIER SOURCING.pptxangelicacueva6
15 views1 Folie
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... von
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...James Anderson
85 views32 Folien

Último(20)

handbook for web 3 adoption.pdf von Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... von James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson85 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive von Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
PharoJS - Zürich Smalltalk Group Meetup November 2023 von Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi127 views
Voice Logger - Telephony Integration Solution at Aegis von Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views
Piloting & Scaling Successfully With Microsoft Viva von Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
STPI OctaNE CoE Brochure.pdf von madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views
The details of description: Techniques, tips, and tangents on alternative tex... von BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada127 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 von IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院

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