Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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: Processor State + Memory State Computer Registers Instructions Data Processor Memory Process Process Process Process Registers Registers Registers Instructions Registers Data Instructions Data Instructions Data Instructions Data Thread: Processor State + Stack Computer Registers Process Instructions Data Memory Processor Thread Thread Thread Thread Instructions Process Process Process Registers StackRegisters Data Registers Stack Instructions Data Stack Instructions Data Registers Stack Instructions Data Registers Registers Registers Shared Library: More than one process uses instructions Computer Registers Processor OS Kernel System Data Memory Shared Library (DLL) Process Process Process Process Registers Registers Registers Instructions Registers Data Instructions Data Instructions Data Private Data instructions Distributed System: Processes that interact between computers Computer Computer Process Process Network Stack Network Stack Network Cloud Client / Server: Process that requests service from another Computer Computer Client Server Request Network Stack Response Network Stack Network Cloud Browser/ Web Server: Process that requests service from another Computer Computer Web BrowserRequest Web Server Network Stack HTTP protocol Over TCP Over IP Over Ethernet Response Network Stack Network Cloud Browser/ Web Server: Two Tier Architecture Computer Computer Web Browser Web Server Network Stack Network Stack Network Cloud Browser/ Web Server: 3 Tier Architecture Computer Computer Web Browser Computer Web Server Network Stack Network Stack Database Server Network Stack NetworkCloud Browser/ Web Server / Middleware / Database …: N Tier Architecture Computer Computer Web Browser Web Server Page HTML Request Page Network Stack SQL Request Network Stack Middleware Object Request Object ResponseServer SQL Response Computer Network Stack Computer NetworkCloud Database Server Network Stack 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… Browser/ Web Server / Middleware / Database …: N Tier Architecture Computer Computer Web Browser Web Server Network Stack Computer Middleware Server Network Stack NetworkCloud Database Server Network Stack External Hard Drive Configuration Computer Computer Web Browser Web Server Virtual Computer Database Server Network Stack Network Stack Network Stack NetworkCloud Web Server External Hard Drive Configuration Computer Computer Web Server Web Server Virtual Computer Database Server Network Stack Network Stack Web Browser Network Stack NetworkCloud 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.