Download presentation
Presentation is loading. Please wait.
Published byJean Hicks Modified over 9 years ago
1
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency
2
Ingeniørhøjskolen i Århus Slide 2 af 43 Agenda What is a Distributed System? Emmerichs Examples of Distributed Systems Distributed System Requirements Transparency in Distributed System
3
Ingeniørhøjskolen i Århus Slide 3 af 43 What is a Distributed System Plenum: What is your definition?
4
Ingeniørhøjskolen i Århus Slide 4 af 43 What is a Distributed System? “You know you have one when the crash of a computer you’ve never heard of stops you from getting any work done.” - Leslie Lamport, 1987
5
Ingeniørhøjskolen i Århus Slide 5 af 43 What is a Distributed System? A collection of (perhaps) heterogeneous nodes connected by one or more interconnection networks which provides access to system-side shared resources and services. A collection of independent computers that appears to its users as a single coherent system. - Angela Demke Brown
6
Ingeniørhøjskolen i Århus Slide 6 af 43 A distributed system is a collection of autonomous hosts (computers) that are connected through a computer network. Each host executes components and operates a distribution middleware, which enables the components to coordinate their activities in such a way that users perceive the system as a single, integrated computing facility. –Emmerich What is a Distributed System?
7
Ingeniørhøjskolen i Århus Slide 7 af 43 What is a Distributed System? Host n-1 Host n Host 2 Host 1 Middleware Network Operating System Hardware Component 1 Component n Component 1 Component n Component 1 Component n Component 1 Component n Network System appears as one entity to the user Platform API Applikation
8
Ingeniørhøjskolen i Århus Slide 8 af 43 Middleware Examples -Transaction-oriented -IBM CICS -BEA Tuxedo -IBM Encina -Microsoft Transaction Server -Message-oriented -Microsoft Message Queue - NCR TopEnd -Sun Tooltalk -Procedural -Sun ONC -Linux RPCs -OSF DCE -(SOAP) -Object-oriented -OMG CORBA -Sun Java/RMI -Microsoft COM -Sun Enterprise Java Beans -(SOAP)
9
Ingeniørhøjskolen i Århus Slide 9 af 43 One component with non-autonomous parts Component shared by users all the time All resources accessible Software runs in a single process Single Point of control Single Point of failure How to scale? How to integrate? Centralised System Characteristics
10
Ingeniørhøjskolen i Århus Slide 10 af 43 Distributed System Characteristics Multiple autonomous components Components are not shared by all users Resources may not be accessible Software runs in concurrent processes on different processors Multiple Points of control Multiple Points of failure
11
Ingeniørhøjskolen i Århus Slide 11 af 43 Examples of Distributed Systems Case Studies from Emmerich: –Hongkong Telecom’s Video-on-demand –UBS IT Services Infrastructure –Boeing’s Aircraft Configuration Management –Managing of Football Association Used the principles and techniques presented in this course. Will provide a motivation for this course. Will provide illustrative examples throughout this course... combined with our own
12
Ingeniørhøjskolen i Århus Slide 12 af 43 Hongkong Telecom Video on demand Aim: provide subscribers with facilities to download videos from HK TK servers to low-cost Web-TVs. currently 90,000 users. Built using distributed object-technology. …
13
Ingeniørhøjskolen i Århus Slide 13 af 43 Requirements Hardware: –Clients: Web-TV –Servers: RISC processor Operating System Heterogeneity : –Clients: Java OS –Servers: UNIX Programming Language Heterogeneity: –Clients: Java –Servers: C++
14
Ingeniørhøjskolen i Århus Slide 14 af 43 Requirements II Communication across Network –How to transmit complex data structures across the Internet? Scale –Scaling from initially several hundred to currently 90,000 users Security –Secure Payment –Authentication
15
Ingeniørhøjskolen i Århus Slide 15 af 43 Why distributed object technology? Distributed: –Video clients need to download/show video on customer’s Web-TV –Multiple servers needs to be operated by Hongkong Telecom: Object Technology: –Video clients are written in Java: Web-TV has Java Virtual Machine portability to e.g. Sony Playstation, Sega-Console... –Video servers are written in C++: high performance
16
Ingeniørhøjskolen i Århus Slide 16 af 43 IT Infrastructure of UBS Trading Workstation Trading Workstation Authorisation Services Authorisation Services Host Services Customer Information Services Customer Information Services Product Database Services Product Database Services Marketing Marketing
17
Ingeniørhøjskolen i Århus Slide 17 af 43 Requirements Time to market –Development of new applications with recent technology –Integration of new applications increasingly difficult Scalability –Management of 30,000,000 accounts –Management of 10,000,000 customers –Use by 2,000 concurrent users Reliability
18
Ingeniørhøjskolen i Århus Slide 18 af 43 Requirements II Hardware Heterogeneity –Unisys Mainframes –IBM Mainframes –SPARC Servers –PC Workstations Operating System Heterogeneity –MVS –UNIX –Win-NT Programming Language Heterogeneity –Cobol –C/C++ –Visual Basic
19
Ingeniørhøjskolen i Århus Slide 19 af 43 Why distributed object technology? Uniform view of all banking services Appropriate level of abstraction Preserving investment by wrapping legacy applications Exploiting advantages of object technology for new development Resolving –distribution –heterogeneity
20
Ingeniørhøjskolen i Århus Slide 20 af 43 Boeing 777 Configuration Mgmnt.
21
Ingeniørhøjskolen i Århus Slide 21 af 43 Problems to be solved Scale –3,000,000 parts per aircraft –Configuration of every aircraft is different –CAA regulations demand that records are kept for every single part of aircraft –Aircraft evolve during maintenance –Boeing produce 500 aircraft per year –Configuration database grows by 1.5 billion parts each year –Projected life of each aircraft 30 years –45,000 engineers need on-line access to engineering data
22
Ingeniørhøjskolen i Århus Slide 22 af 43 Problems to be solved II Integration –Existing IT infrastructure was no longer appropriate –Boeing could not afford to build required IT infrastructure from scratch –Components were purchased from several different specialized vendors relational database technology enterprise resource planning computer aided project planning –Components needed to be integrated
23
Ingeniørhøjskolen i Århus Slide 23 af 43 Problems to be solved III Heterogeneity –20 Sequent database machines as servers for the engineering data –200 UNIX application servers –NT and UNIX workstations for engineers
24
Ingeniørhøjskolen i Århus Slide 24 af 43 Why distributed object technology Object wrapping of COTS Resolution of distribution at high level of abstraction Resolution of heterogeneity Scalability
25
Ingeniørhøjskolen i Århus Slide 25 af 43 Management of Football Association Managing soccer leagues, national team, clubs, player transfer Imaginary system Common example that can be twisted for didactic purposes
26
Ingeniørhøjskolen i Århus Slide 26 af 43 Requirements Autonomy of clubs –Every club operates its own administration, training/game scheduling. Need for integration in order to –register players with the football association. –book players for national team games. –agree to schedule of league games. Heterogeneity –different machines –different programming languages
27
Ingeniørhøjskolen i Århus Slide 27 af 43 Distributed System Requirements Integration of new, legacy and components off- the-shelf –Legacy components might not need to be re- engineered –COTS cannot be modified Heterogeneity of –hardware platforms –operating systems –networks –programming languages Construction of distributed systems
28
Ingeniørhøjskolen i Århus Slide 28 af 43 Common Requirements What are we trying to achieve when we construct a distributed system? Certain requirements are common to many distributed systems –Resource Sharing –Openness –Concurrency –Scalability –Fault Tolerance –Transparency
29
Ingeniørhøjskolen i Århus Slide 29 af 43 Resource Sharing Ability to use any hardware, software or data anywhere in the system. Resource manager controls access, provides naming scheme and controls concurrency. Resource sharing model (e.g. client/ server or object-based) describing how –resources are provided, –they are used and –provider and user interact with each other.
30
Ingeniørhøjskolen i Århus Slide 30 af 43 Openness Openness is concerned with extensions and improvements of distributed systems. Detailed interfaces of components need to be published. New components have to be integrated with existing components. Differences in data representation of interface types on different processors (of different vendors) have to be resolved.
31
Ingeniørhøjskolen i Århus Slide 31 af 43 Concurrency Components in distributed systems are executed in concurrent processes. Components access and update shared resources (e.g. variables, databases, device drivers). Integrity of the system may be violated if concurrent updates are not coordinated. –Lost updates –Inconsistent analysis
32
Ingeniørhøjskolen i Århus Slide 32 af 43 Scalability Adaption of distributed systems to –accomodate more users –respond faster –Usually done in centralized systems by adding more and/or faster processors. Components should not need to be changed when scale of a system increases. Design components to be scalable!
33
Ingeniørhøjskolen i Århus Slide 33 af 43 Fault Tolerance Hardware, software and networks fail! Distributed systems must maintain availability even at low levels of hardware/software/network reliability. Fault tolerance is achieved by –recovery –redundancy
34
Ingeniørhøjskolen i Århus Slide 34 af 43 Transparency in Distributed Systems Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components. Transparency has different dimensions that were identified by ANSA. These represent various properties that distributed systems should have.
35
Ingeniørhøjskolen i Århus Slide 35 af 43 Distribution Transparency Access Transparency Access Transparency Location Transparency Location Transparency Concurrency Transparency Concurrency Transparency Migration Transparency Migration Transparency Performance Transparency Performance Transparency Scalability Transparency Scalability Transparency Replication Transparency Replication Transparency Failure Transparency Failure Transparency You need to learn this by heart ;)
36
Ingeniørhøjskolen i Århus Slide 36 af 43 Access Transparency Enables local and remote information objects to be accessed using identical operations. Example: File system operations in NFS. Example: Navigation in the Web. Example: SQL Queries
37
Ingeniørhøjskolen i Århus Slide 37 af 43 Location Transparency Enables information objects to be accessed without knowledge of their location. Example: File system operations in NFS Example: Pages in the Web Example: Tables in distributed databases
38
Ingeniørhøjskolen i Århus Slide 38 af 43 Concurrency Transparency Enables several processes to operate concurrently using shared information objects without interference between them. Example: NFS Example: Automatic teller machine network Example: Database management system
39
Ingeniørhøjskolen i Århus Slide 39 af 43 Replication Transparency Enables multiple instances of information objects to be used to increase reliability and performance without knowledge of the replicas by users or application programs Example: Distributed DBMS Example: Mirroring Web Pages.
40
Ingeniørhøjskolen i Århus Slide 40 af 43 Failure Transparency Enables the concealment of faults Allows users and applications to complete their tasks despite the failure of other components. Example: Database Management System
41
Ingeniørhøjskolen i Århus Slide 41 af 43 Migration Transparency Allows the movement of information objects within a system without affecting the operations of users or application programs Example: NFS Example: Web Pages
42
Ingeniørhøjskolen i Århus Slide 42 af 43 Performance Transparency Allows the system to be reconfigured to improve performance as loads vary. Example: Distributed make.
43
Ingeniørhøjskolen i Århus Slide 43 af 43 Scaling Transparency Allows the system and applications to expand in scale without change to the system structure or the application algortithms. Example: World-Wide-Web Example: Distributed Database
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.