AbhishekJaisingh
13,824 views
9 slides
Nov 19, 2016
Slide 1 of 9
1
2
3
4
5
6
7
8
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.
Size: 125.46 KB
Language: en
Added: Nov 19, 2016
Slides: 9 pages
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/receiveprimitivesorusingremoteprocedurecalls(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.