Client/Server Computing (the wave of the future) Rajkumar BuyyaSchool of Computer Science & Software Engineering Monash University Melbourne, Australia firstname.lastname@example.org
AgendaWhy client server ?ModelsArchitectureToolsApplicationsConclusions
A simple definitionA simple definition of CS is“ server software accepts requests for data from client software and returns the results to the client”
Elements of C-S Computing a client, a server, and network st ue q Re Client Server Network Re su ltClient machine Server machine
Where Operations are DoneIn CS Relationship “most of theapplication processing is done ona computer (client side), whichobtains application services (suchas database services) fromanother computer (server side) ina master slave configuration
CS-Focus is on In client-server computingmajor focus is on SOFTWARE
Application Tasks User Interface User Interface Presentation Logic Presentation Logic Application Logic Application Logic Data Requests & Results Data Requests & ResultsPhysical Data ManagementPhysical Data Management
Client (dumb) - Server Model Server e okClient str ey K Presentation Logic Network Di Application Logic sp lay s DBMS
True Client-Server Model Server e ok Client str ey K Application LogicPresentation Logic Network Pr o Re ces DBMS su s e d lts
Distributed Client-Server Model Server rie ed Client u e ss Q o ce s Pr Application LogicApplication Logic Network Pr o Re ces DBMSPresentation Logic su s e d lts
Client-server computing is distributedaccess, not a distributed computing.
RPC Look and Feel like Local Calls results= calling results= called bar(arguments) procedure bar(arguments)procedure arguments arguments results results calling results= procedure bar(arguments) (client) client stub server stub network transport network transportarguments results request message request message reply message reply message called procedure (client) NetworkLocal Procedure Call Remote Procedure Call
Flow Control in a Sychronous RPCClient Machine Server Machine Service Daemon Listening Client Program RPC Call Invoke Service Executes Service with Request Service CallClientWaiting Netw ork return() answer return ( ) reply Request Completed May be the same machine
Multithreaded Server Server Process Client Process Server ThreadsClient Process User Mode Kernel Mode Message Passing Facility
Categories of ServersFile ServerData ServerCompute ServerDatabase ServerCommunication ServerVideo Server
File ServerFile Servers manage a work group’sapplication and data files, so that theymay be shared by the group.Very I/O orientedPull large amount of data off the storagesubsystem and pass the data over thenetworkRequires many slots for networkconnections and a large-capacity, fasthard disk subsystem.
Compute ServerPerforms Application logic processingCompute Servers requires processors with high performance capabilities large amounts of memory relatively low disk subsystemsBy separating data from the computationprocessing, the compute server’sprocessing capabilities can be optimized
Data ServerData-oriented; used only for datastorage and management Data ServerSince a data server can serve morethan one compute server, compute-intensive applications can be spreadamong multiple severs ComputeDoes not prefer any application Serverlogic processingPerforms processes such asdata validation, required as partof the data management function.Requires fast processor, large amountof memory and substantial Hard diskcapacity.
Cluster as High Availablity Data Server Data ServerComputeServer
Database ServerMost typical use of technology in client-serverAccepts requests for data, retrieves the datafrom its database(or requests data fromanother node)and passes the results back.Compute server with data server provides thesame functionality.The server requirement depends on the size ofdatabase, speed with which the database mustbe updated, number of users and type ofnetwork used.
Communication ServerProvides gateway to other LANs, networks& ComputersE-mail Server & internet serverModest system requirements multiple slots fast processor to translate networking protocols
Internet Server PC clientInternet Server Local Area Network UNIX workstations
Distributed processingapplication connects to remotedatabase SQL* Forms SQL *Net TCP/IP UNIX ServerDistributed database application SQL *Netconnects to local database which TCP/IPconnects to remote database SQL * Forms ORACL E SQL *Net TCP/IP ORACLE Database Configurations
Ethernet era Intergalactic era client/server client/server First Wave Second Wave Third Wave Database servers File Distributed servers w ar e up objects gro TPtors i m on1982 1986 1990 1994 1998
The Client/Server Infrastructure Client Middleware Server Service Specific SQL/IDAPI TxRPC Mail ORB ObjectsGUI/OOUI DSM Groupware SNMP CMIP DME TP NOS monitor Directory Security Distributed file RPC Messaging Peer-to-peer DBMSDSM Transport Stack DSM NetBIOS TCP/IP IPX/SPX SNAOperating System Operating System