220 likes | 334 Views
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.
E N D
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 Registers Registers Registers Instructions Instructions Instructions Instructions Data Data Data Data Process: Processor State + Memory State Computer Memory Processor Registers Instructions Data
Process Process Process Registers Registers Registers Stack Stack Stack Stack Thread Thread Thread Thread Instructions Instructions Instructions Data Data Data Registers Registers Registers Registers Thread:Processor State + Stack Computer Memory Processor Registers Instructions Data Process Data Instructions
Process Process Process Registers Registers Registers Instructions Instructions Instructions Data Data Data Shared Library:More than one process uses instructions Computer Memory Processor Registers OS Kernel System Data Shared Library (DLL) Process Registers Private instructions Data
Computer Computer Process Process Network Stack Network Stack NetworkCloud Distributed System:Processes that interact between computers
Computer Computer Client Server Network Stack Network Stack NetworkCloud Client / Server:Process that requests service from another Response Request
Computer Computer Web Browser Web Server Network Stack Network Stack NetworkCloud Browser/ Web Server:Process that requests service from another Response Request HTTP protocol Over TCP Over IP Over Ethernet
Computer Computer Web Browser Web Server Network Stack Network Stack NetworkCloud Browser/ Web Server:Two Tier Architecture
Computer Computer Computer Web Browser Database Server Web Server Network Stack Network Stack Network Stack NetworkCloud Browser/ Web Server:3 Tier Architecture
Computer Computer Computer Computer Computer Web Browser Middleware Server Web Server Web Server Database Server Network Stack Network Stack Network Stack Network Stack Network Stack NetworkCloud Browser/ Web Server / Middleware / Database …:N Tier Architecture Object Request Object Response HTML Page Page Request SQL Request SQL Response
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 box • Any combination of processes in any one box • Different network connectivity requirements…
Computer Computer Computer Web Server Web Browser Web Server Network Stack Network Stack Network Stack NetworkCloud Browser/ Web Server / Middleware / Database …:N Tier Architecture Computer Middleware Server Database Server Network Stack
Computer Web Browser Network Stack NetworkCloud External Hard Drive Configuration Computer Virtual Computer Web Server Database Server Web Server Network Stack Network Stack
Computer Web Server Network Stack NetworkCloud External Hard Drive Configuration Computer Virtual Computer Web Server Database Server Web Browser Network Stack Network Stack
Cloud Systems • New genre for existing solutions • But new thinking too! • SaaS: Software as a Service • PaaS: Platform as a Service • IaaS: Infrastructure as a Service • HaaS: Hardware as a Service
Advantages of Cloud Computing • Can have dumb clients (mobile) • Platform independent • Works well across devices • Data loss is less likely (if you trust the cloud) • Software maintenance, installation, updates, are minimal • Enables different payment models (e.g., subscription) • Get resources exactly when needed • Cross-service opportunities
Disadvantages of Cloud Computing • Easier to “hide” within the cloud • High 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 Architecture • Software components, multiple language, multiple OS all work together • Used for creation of some middleware for web • Everything 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’s • Often used for communication between Java elements after a web conversation is initiated.