Download - IT 210: Distributed System Concepts
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.