1 / 13

Distributed Systems

Distributed Systems. Multiple software components on multiple computers running as a single system. Computers can be close or distant Homogeneous or heterogeneous Managed as a unit or disparate

candice
Download Presentation

Distributed Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Systems • Multiple software components on multiple computers running as a single system. • Computers can be close or distant • Homogeneous or heterogeneous • Managed as a unit or disparate • Distribution will only grow as networks and computing devices become even more ubiquitous, wireless Distributed Systems

  2. Distributed SystemsExamples • Domain Name service (DNS) • World Wide Web • Campus-wide File Systems • Email services: POP3, IMAP, MS Exchange • ATM networks • Electronic stock-trading “floors” • “Smart” house Distributed Systems

  3. Distributed SystemsFeatures • Resource Sharing • Of disks, printers, software packages, etc. • Openness • Supports addition of new (non-proprietary) resources; heterogeneous components • Concurrency • Multiple communicating processes Distributed Systems

  4. Distributed SystemsFeatures • Scalability • Capacity can be “easily” increased • Fault Tolerance • Continued operation in the face of limited (hw/sw) failure • Transparency • Distribution practically invisible to users Distributed Systems

  5. Distributed SystemsDisadvantages • Complexity • Harder to test • System performance depends on network, relative speed of computers, resource location relative to computers • Additional design issues Distributed Systems

  6. Client-server Architectures • Client processes make requests of server processes • Can often be structured in (three) layers • Presentation • Application processing • Data management • See Section 11.2 of Sommerville for details Distributed Systems

  7. Client-server Architectures • Two-tier (c-s architecture) • Thin client • Presentation only • Fat client • Presentation and processing Distributed Systems

  8. Two-tier ArchitecturesThin or Fat Clients? • Thin clients • Increases load on server, network • Doesn’t scale as well • Fat clients • Reduce processing load on server • Increases load on clients • Harder to manage; applications often evolve Distributed Systems

  9. “Two tiers good, three tiers better” • Three-tier (c-s architecture) • Distinct processes for each layer (client-server-server) • Server processes easily split onto distinct processors, if/when necessary • More scalable (can replicate processing servers) • E.g. database-backed web service (flight search/reservation system, web banking) Distributed Systems

  10. Web browser Web browser Web server Web server Web browser Web browser Database-based WWW service Web browser DBMS Web server Web browser Web browser Distributed Systems

  11. Peer-to-peer Architecture • Communication among the peers (“client” no longer appropriate) encouraged • Pure Peer-to-Peer: no dedicated server processes at all • Hybrid examples: Napster, ICQ, AIM • Pure examples: Gnutella, Morpheus Distributed Systems

  12. Distributed Object Architectures • Object-oriented design • No client/server distinction • System as a collection of distributed objects • Objects map to processes, not (necessarily) processors • Communication via middleware (a “software bus”) Distributed Systems

  13. Distributed Object ArchitecturesMiddleware • CORBA† (Common Object Request Broker Architecture) • Java RMI (Remote Method Invocation) • DCOM (Distributed Component Object Model) • .NET †See Section 11.4 of Sommerville for details Distributed Systems

More Related