Client Server Model and Distributed Computing

AbhishekJaisingh 13,824 views 9 slides Nov 19, 2016
Slide 1
Slide 1 of 9
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9

About This Presentation

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.


Slide Content

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?
Theclient-servermodelisadistributedcommunicationframeworkofnetwork
processesamongservicerequesters,clientsandserviceproviders.Theclient-server
connection is established through a network or the Internet.
Theclient-servermodelisacorenetworkcomputingconceptalsobuilding
functionalityforemailexchangeandWeb/databaseaccess.Webtechnologiesand
protocols built around the client-server model are:
●Hypertext Transfer Protocol (HTTP)
●Domain Name System (DNS)
●Simple Mail Transfer Protocol (SMTP)
●Telnet
ClientsincludeWebbrowsers,chatapplications,andemailsoftware,amongothers.
Servers include Web, database, application, chat and email, etc.
Aservermanagesmostprocessesandstoresalldata.Aclientrequestsspecified
dataorprocesses.Theserverrelaysprocessoutputtotheclient.Clientssometimes
handle processing, but require server data resources for completion.
Theclient-servermodeldiffersfromapeer-to-peer(P2P)modelwhere
communicatingsystemsaretheclientorserver,eachwithequalstatusand
responsibilities.TheP2Pmodelisdecentralizednetworking.Theclient-server
model is centralized networking.

Problems with Client-server Model
1.Network Blocking or Network Congestion
Asthenumberofsimultaneousclientrequeststoagivenserverincreases,the
servercanbecomeoverloaded.ContrastthattoaP2Pnetwork,whereits
bandwidthactuallyincreasesasmorenodesareadded,sincetheP2Pnetwork's

2

overallbandwidthcanberoughlycomputedasthesumofthebandwidthsof
everynodeinthatnetwork.Inadditiontothis,theserverisalsosusceptibleto
DOS(Denial of Service) attacks.
​2. Single Point of Failure
Asthenumberofsimultaneousclientrequeststoagivenserverincreases,
theservercanbecomeoverloaded.ContrastthattoaP2Pnetwork,whereits
bandwidthactuallyincreasesasmorenodesareadded,sincetheP2P
network'soverallbandwidthcanberoughlycomputedasthesumofthe
bandwidthsofeverynodeinthatnetwork.Whenaservergoesdownallthe
operations associated with it are ceased.
​3. Lack of Scalability
Asthenumberofsimultaneousclientrequeststoagivenserverincreases,
theloadontheserverincreasesandhenceitisnotascalablesystem.New
andbetterqualityserversmustbeaddedtoimprovesystemperformance,
whichisaverytedioustask.Scalabilitycanonlybedoneinthevertical
direction.
​4. High Costs
Serversareespeciallydesignedtoberobust,reliableandhighperformance
andnoneofthisischeap.Theoperatingsystemisalsomorecostlythatthe
standard stand-alone types as it has to deal with a networked environment.
Distributed Computing
Distributedcomputingisafieldofcomputersciencethatstudiesdistributed
systems.Adistributedsystemisamodelinwhichcomponentslocatedon
networkedcomputerscommunicateandcoordinatetheiractionsbypassing
messages.Thecomponentsinteractwitheachotherinordertoachieveacommon
goal.Threesignificantcharacteristicsofdistributedsystemsare:concurrencyof

3

components,lackofaglobalclock,andindependentfailureofcomponents.
ExamplesofdistributedsystemsvaryfromSOA-basedsystemstomassively
multiplayer online games to peer-to-peer applications.
Therearemanyalternativesforthemessagepassingmechanism,includingpure
HTTP, RPC-like connectors and message queues.
Agoalandchallengepursuedbysomecomputerscientistsandpractitionersin
distributedsystemsislocationtransparency;however,thisgoalhasfallenoutof
favourinindustry,asdistributedsystemsaredifferentfromconventional
non-distributedsystems,andthedifferences,suchasnetworkpartitions,partial
systemfailures,andpartialupgrades,cannotsimplybe"paperedover"byattempts
at "transparency" (CAP theorem).
Distributedcomputingalsoreferstotheuseofdistributedsystemstosolve
computationalproblems.Indistributedcomputing,aproblemisdividedintomany
tasks,eachofwhichissolvedbyoneormorecomputers,whichcommunicatewith
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
Failuresareinevitableinanysystem.Somecomponentsmaystopfunctioning
while others continue running normally. So naturally we need a way to:
●DetectFailures–Variousmechanismscanbeemployedsuchas
checksums.
●Mask Failures – retransmit upon failure to receive acknowledgement
●Recover from failures – if a server crashes roll back to previous state
●BuildRedundancy–Redundancyisthebestwaytodealwithfailures.Itis
achievedbyreplicatingdatasothatifonesubsystemcrashesanothermay
still be able to provide the required information.
​2. Concurrency
Concurrencyissuesarisewhenseveralclientsattempttorequestashared
resourceatthesametime.Thisisproblematicastheoutcomeofanysuch
data may depend on the execution order, and so synchronisation is required.
Alotofresearchisalsofocussedonunderstandingtheasynchronousnature
of distributed systems.
​3. Availability
Everyrequestreceivesaresponse,withoutguaranteethatifitcontainsthe
most recent version of the information.
Achievingavailabilityinadistributedsystemrequiresthatthesystem
remainsoperational100%ofthetime.Everyclientgetsaresponse,
regardless of the state of any individual node in the system.
​4. Transparency

6

Adistributedsystemmustbeabletooffertransparencytoitsusers.Asa
userofadistributedsystemyoudonotcareifweareusing20or100’sof
machines,sowehidethisinformation,presentingthestructureasanormal
centralized system.
■AccessTransparency–whereresourcesareaccessedinauniformmanner
regardless of location
■LocationTransparency–thephysicallocationofaresourceishiddenfrom
the user
■Failure Transparency – Always try and Hide failures from users
​5. Security
The issues surrounding security are those of
■Confidentiality
■Availability
Tocombattheseissuesencryptiontechniquessuchasthoseofcryptography
canhelpbuttheyarestillnotabsolute.DenialofServiceattackscanstill
occur,whereaserverorserviceisbombardedwithfalserequestsusuallyby
botnets (zombie computers).








7

Client Server Model in Distributed System
Theclient-servermodelisbasictodistributedsystems.Itisaresponsetothe
limitationspresentedbythetraditionalmainframeclient-hostmodel,inwhicha
singlemainframeprovidesshareddataaccesstomanydumbterminals.The
client-servermodelisalsoaresponsetothelocalareanetwork(LAN)model,in
whichmanyisolatedsystemsaccessafileserverthatprovidesnoprocessing
power.
Client-serverarchitectureprovidesintegrationofdataandservicesandallows
clientstobeisolatedfrominherentcomplexities,suchascommunicationprotocols.
Thesimplicityoftheclient-serverarchitectureallowsclientstomakerequeststhat
areroutedtotheappropriateserver.Theserequestsaremadeintheformof
transactions.ClienttransactionsareoftenSQLorPL/SQLproceduresandfunctions
that access individual databases and services.

Thesystemisstructuredasasetofprocesses,calledservers,thatofferservicesto
the users, called clients.
Theclient-servermodelisusuallybasedonasimplerequest/replyprotocol,
implementedwithsend/receiveprimitivesorusing​remoteprocedurecalls(RPC)
or ​remote method invocation (RMI)​.
RPC/RMI :
1.Theclientsendsarequest(invocation)messagetotheserveraskingfor
some service
2.Theserverdoestheworkandreturnsaresult(e.g.thedatarequested)oran
error code if the work could not be performed.
Sequence of events :

8

1.Theclientcallstheclientstub.Thecallisalocalprocedurecall,with
parameters pushed on to the stack in the normal way.
2.Theclientstubpackstheparametersintoamessageandmakesasystemcall
to send the message. Packing the parameters is called marshalling.
3.Theclient'slocaloperatingsystemsendsthemessagefromtheclient
machine to the server machine.
4.Thelocaloperatingsystemontheservermachinepassestheincoming
packets to the server stub.
5.Theserverstubunpackstheparametersfromthemessage.Unpackingthe
parameters is called unmarshalling.
6.Finally,theserverstubcallstheserverprocedure.Thereplytracesthesame
steps in the reverse direction.

9