Top Banner
Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia [email protected]
27

Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Jan 18, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Client/Server Computing(the wave of the future)

Rajkumar BuyyaSchool of Computer Science & Software Engineering

Monash University

Melbourne, Australia

[email protected]

Page 2: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Agenda

Why client server ?ModelsArchitectureToolsApplicationsConclusions

Page 3: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

A simple definition

A simple definition of CS is

“ server software accepts requests for data from client software and returns the results to the client”

Page 4: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Network

Reque

st

Result

Elements of C-S Computing

a client, a server, and network

ClientServer

Client machineServer machine

Page 5: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Where Operations are Done

In CS Relationship “most of the application processing is done on a computer (client side), which obtains application services (such as database services) from another computer (server side) in a master slave configuration

Page 6: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

CS-Focus is on

In client-server computing major focus is on SOFTWARE

Page 7: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Application Tasks

User InterfaceUser Interface

Presentation LogicPresentation Logic

Application LogicApplication Logic

Data Requests & ResultsData Requests & Results

Physical Data ManagementPhysical Data Management

Page 8: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Presentation Logic

Application Logic

DBMS

ClientServer

Network

Keystr

oke

Displays

Client (dumb) - Server Model

Page 9: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

True Client-Server Model

Presentation Logic

ClientServer

Network

Keystr

oke

ProcessedResults

Application Logic

DBMS

Page 10: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Distributed Client-Server Model

ClientServer

Network

Proce

ssed

Querie

s

ProcessedResults

Application Logic

DBMS

Application Logic

Presentation Logic

Page 11: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Client-server computing is distributed access, not a distributed computing.

Page 12: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

callingprocedure

calledprocedure

results=bar(arguments)

results=bar(arguments)

client stubnetwork transport

server stubnetwork transport

callingprocedure(client)

calledprocedure(client)

results=bar(arguments)

Network

Remote Procedure CallLocal Procedure Call

results

arguments

results

arguments

results

arguments

request message

reply message

reply message

request message

RPC Look and Feel like Local Calls

Page 13: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Client Program

Client Waiting

RPC Call

with Request

return ( )

reply Request Completed

return() answer

Service Call

Invoke Service

Service Daemon Listening

Network

Client Machine Server MachineService E

xecutes

May be the same machine

Flow Control in a Sychronous RPC

Page 14: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

ServerThreads

Message PassingFacility

Server ProcessClient Process

Client Process

User Mode

Kernel Mode

Multithreaded Server

Page 15: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Categories of Servers

File ServerData ServerCompute ServerDatabase ServerCommunication ServerVideo Server

Page 16: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

File Server

File Servers manage a work group’s application and data files, so that they may be shared by the group.

Very I/O orientedPull large amount of data off the storage

subsystem and pass the data over the network

Requires many slots for network connections and a large-capacity, fast hard disk subsystem.

Page 17: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Compute Server

Performs Application logic processingCompute Servers requires

processors with high performance capabilities

large amounts of memory relatively low disk subsystems

By separating data from the computation processing, the compute server’s processing capabilities can be optimized

Page 18: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Cluster as Compute Server

Page 19: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Data Server

Data-oriented; used only for data storage and management

Since a data server can serve more than one compute server, compute-intensive applications can be spread among multiple severs

Does not prefer any application logic processing

Performs processes such as data validation, required as part of the data management function.

Requires fast processor, large amount of memory and substantial Hard disk capacity.

Data Server

ComputeServer

Page 20: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Cluster as High Availablity Data Server

Data Server

ComputeServer

Page 21: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Database Server

Most typical use of technology in client-serverAccepts requests for data, retrieves the data

from its database(or requests data from another node)and passes the results back.

Compute server with data server provides the same functionality.

The server requirement depends on the size of database, speed with which the database must be updated, number of users and type of network used.

Page 22: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Communication Server

Provides gateway to other LANs, networks & Computers

E-mail Server & internet server Modest system requirements

multiple slots fast processor to translate

networking protocols

Page 23: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Internet Server

Internet ServerPC client

UNIX workstations

Local AreaNetwork

Page 24: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

S Q L *Forms

SQL *NetTCP/IP

SQL *NetTCP/IP

ORACLE

UNIX Server

SQL *NetTCP/IP

SQL *Forms

ORACLE

Distributed processing application connects to remote database

Distributed database application connects to local database which connects to remote database

Database Configurations

Page 25: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Fileservers

groupwareDistributed

objects

Databaseservers

TP

monitors

19981994199019861982

First Wave Third WaveSecond Wave

Intergalactic eraclient/server

Ethernet eraclient/server

Page 26: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Client Middleware Server

GUI/OOUIObjects

Groupware

TPmonitor

DBMS

DSMOperating System

SQL/IDAPI TxRPC Mail ORB

NetBIOS TCP/IP IPX/SPX SNA

Messaging Peer-to-peer

Directory Security Distributed file

SNMP CMIP DME

RPC

Service Specific

DSM

NOS

Transport Stack

Operating System

DSM

The Client/Server Infrastructure

Page 27: Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.

Thank You ...Thank You ...

?