22
IT 210: Distributed System Concepts Lecture 4: Distributed System Model

IT 210: Distributed System Concepts

Embed Size (px)

DESCRIPTION

IT 210: Distributed System Concepts. Lecture 4: Distributed System Model. What is a Distributed System?. Software that manages computer resources across several computers Software that provides services for other software (applications) …. Process. Process. Process. Process. Registers. - PowerPoint PPT Presentation

Citation preview

IT 210:Distributed System Concepts

Lecture 4: Distributed System Model

What is a Distributed System?

Software that manages computer resources across several computersSoftware that provides services for other software (applications)…

Memory

Process: Processor State + Memory State

Computer

Processor

Instructions DataRegisters

DataInstructions

Registers Process

DataInstructions

Registers Process

DataInstructions

Registers Process

DataInstructions

Registers Process

Memory

Thread:Processor State + Stack

Computer

Processor

Instructions DataRegisters

DataInstructions

Registers Process

DataInstructions

Registers Process

DataInstructions

Registers ProcessData

Instructions

Process

Registers

Stack

Thre

ad

Registers

Stack

Thre

ad

Registers

Stack

Thre

ad

Registers

Stack

Thre

ad

Memory

Shared Library:More than one process uses instructions

Computer

Processor

OS Kernel

SystemData

Registers

DataInstructions

Registers Process

DataInstructions

Registers Process

DataInstructions

Registers Process

Data

Shared Library(DLL)

Registers ProcessPrivate

instructions

Distributed System:Processes that interact between computers

Computer

Process

NetworkStack

NetworkCloud

Computer

Process

NetworkStack

Client / Server:Process that requests service from another

Computer

Client

NetworkStack

NetworkCloud

Computer

Server

NetworkStack

RequestResponse

Browser/ Web Server:Process that requests service from another

Computer

Web Browser

NetworkStack

NetworkCloud

Computer

Web Server

NetworkStack

RequestResponse

HTTP protocolOver TCPOver IPOver Ethernet

Browser/ Web Server:Two Tier Architecture

Computer

Web Browser

NetworkStack

NetworkCloud

Computer

Web Server

NetworkStack

Browser/ Web Server:3 Tier Architecture

Computer

Web Browser

NetworkStack

NetworkCloud

Computer

DatabaseServer

NetworkStack

Computer

Web Server

NetworkStack

Computer

Web Server

NetworkStack

Browser/ Web Server / Middleware / Database …:N Tier Architecture

Computer

Web Browser

NetworkStack

NetworkCloud

Computer

DatabaseServer

NetworkStack

Computer

Web Server

NetworkStack

Computer

MiddlewareServer

NetworkStack

Object Request

SQ

L Requ

est

Page Request

SQ

L R

esp

onse

Object ResponseHTML Page

Sidebar: Define Middleware

“Middleware is computer software that connects software components or some people and their applications.” “Middleware sits "in the middle"

between application software that may be working on different operating systems” (Wikipedia)

E.G. Video game middleware

A theme with variations:

All the processes in the same boxAny combination of processes in any one boxDifferent network connectivity requirements…

Computer

MiddlewareServer

NetworkStack

Computer

Web Server

NetworkStack

Browser/ Web Server / Middleware / Database …:N Tier Architecture

Computer

Web Browser

NetworkStack

NetworkCloud

Computer

Web Server

NetworkStack

DatabaseServer

External Hard Drive Configuration

Computer

Web Browser

NetworkStack

Computer

Web Server

NetworkStack

NetworkCloud

DatabaseServer

Virtual Computer

NetworkStack

WebServer

External Hard Drive Configuration

Computer

Web Server

NetworkStack

Computer

Web Server

NetworkStack

NetworkCloud

DatabaseServer

Virtual Computer

NetworkStack

WebBrowser

Cloud Systems

New genre for existing solutions But new thinking too!

SaaS: Software as a ServicePaaS: Platform as a ServiceIaaS: Infrastructure as a ServiceHaaS: Hardware as a Service

Advantages of Cloud Computing

Can have dumb clients (mobile)Platform independentWorks well across devicesData loss is less likely (if you trust the cloud)Software maintenance, installation, updates, are minimalEnables different payment models (e.g., subscription)Get resources exactly when neededCross-service opportunities

Disadvantages of Cloud Computing

Easier to “hide” within the cloudHigh dependence on Internet (bandwidth!)New security concerns (more private/confidential data, single point of failure)Requires complex maintenance etc. for those “in the cloud”Privacy concerns about others having so much data about us

Other Models:

Novell: part of $400 million misunderstanding Client=little machine, Server= big machine with resources to share Machines connected on very fast, reliable

network which forms a “bus” for the virtual machine.

Note: at the time Novell model was threads not processes, therefore, add-on software bugs could kill OS.

Other Models: CORBA Standard

Common Object Request Broker ArchitectureSoftware components, multiple language, multiple OS all work togetherUsed for creation of some middleware for webEverything is an object Objects make requests of other objects through

broker. Protocol is transparent, while HTTP is very

visible.

Java Network Interface

Remote procedure invocation across JVM’sOften used for communication between Java elements after a web conversation is initiated.