Presentation is loading. Please wait.

Presentation is loading. Please wait.

Objektorienteret Netværkskommunikation Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Similar presentations


Presentation on theme: "Objektorienteret Netværkskommunikation Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency."— Presentation transcript:

1 Objektorienteret Netværkskommunikation Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency

2 Ingeniørhøjskolen i Århus Slide 2 af 21 Agenda Motivation: This time, and next time, we will be discussing the theoretical framework for middleware and distributed systems. This will help us to categorize the specific technologies into a taxonomy, and establish a common vocabulary for the subject This time we will discuss –Definition: What is a Distributed System? We need to have the same definition in mind –Distributed Systems Characteristics –Examples of Distributed Systems We will extract requirements from these –Distributed System Requirements & Concepts We shall use these requirements to point out relevant concepts –Transparency in Distributed System (levels of)

3 Ingeniørhøjskolen i Århus Slide 3 af 21 What is a Distributed System Plenum: What is your definition?

4 Ingeniørhøjskolen i Århus Slide 4 af 21 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 21 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 21 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. –Wolfgang Emmerich (2000) What is a Distributed System? We will use this definition in ONK

7 Ingeniørhøjskolen i Århus Slide 7 af 21 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 21 Middleware Examples - Transaction-oriented -IBM CICS -BEA Tuxedo - 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 / EJB -.NET Remoting -Microsoft COM -(SOAP)

9 Ingeniørhøjskolen i Århus Slide 9 af 21 Why distributed object technology? Exploiting advantages of object technology for new development (the OO Paradigm) –Appropriate level of abstraction (“low representational gap”, polymorphism, decoupling, other OO) –Extensibility and manageability is optimal –(termed “openness” in the following) Preserving investment by wrapping legacy applications –Both COBOL, C, C++ and Java is supported “out of the box” by e.g. CORBA, and there are Visual Basic support as well –Easy to “wrap” legacy code and integrate with new components Resolving –distribution –heterogeneity

10 Ingeniørhøjskolen i Århus Slide 10 af 21 Common Requirements What are we trying to achieve when we construct a distributed system? Certain requirements are common to many distributed systems (Emmerich, 2000) –Resource Sharing –Openness & Heterogeneity –Concurrency –Scalability –Fault Tolerance –Transparency

11 Ingeniørhøjskolen i Århus Slide 11 af 21 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.

12 Ingeniørhøjskolen i Århus Slide 12 af 21 Openness & Heterogeneity Openness is concerned with extensions and improvements of distributed systems –Most projects requires systems to be easily extendible and maintainable, this means the architecture must be “open” –OO Paradigm is renowned for its openness as is component models – you are already experts –OO middleware thus strives to support openness by birth Heterogeneity is about supporting several hardware and software platforms –Some middleware strives to support heterogeneity, but not in all areas –Differences in data representation of interface types on different processors (of different vendors) have to be resolved (e.g. UNIX vs Windows) –Heterogeneity is a key concept to remember

13 Ingeniørhøjskolen i Århus Slide 13 af 21 Openness & Heterogeneity UNIX Windows NT Mac OS/X LINUX Java C++ C#Delphi CJava Perl Ada.NET Remoting CORBA Web service Java RMI The vision – everything works with everything Reality: highly improbable scenario

14 Ingeniørhøjskolen i Århus Slide 14 af 21 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 This also holds true in non-distributed systems (using threads & processes), but here we often have more simulations users –> greater risk of concurrency problems

15 Ingeniørhøjskolen i Århus Slide 15 af 21 Scalability Adaption of distributed systems to –accomodate more users –respond faster –Usually done in centralized systems by adding more and/or faster processors –May be done by allowing several nodes to run the same components and share the load –Load balancing Components should not need to be changed when scale of a system increases Design components to be scalable!

16 Ingeniørhøjskolen i Århus Slide 16 af 21 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

17 Ingeniørhøjskolen i Århus Slide 17 af 21 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 the ANSA project (now part of an ISO standard) –International Standard on Open Distributed Processing (OPD) (ISO, 1996). These represent various properties that distributed systems aim at achieving –… but is only partly implemented (level of transparency) –We shall use these as a means to measure the characteristics of the middleware products in question

18 Ingeniørhøjskolen i Århus Slide 18 af 21 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 these by heart ;) We may measure the characteristics of middleware technologies, on their support for the different dimensions of transparency as shown above.

19 Ingeniørhøjskolen i Århus Slide 19 af 21 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 –Example: Distributed Objects Makes life easier for the developers –True when making objects distributed –There are pitfalls

20 Ingeniørhøjskolen i Århus Slide 20 af 21 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 –Example: Objects being moved between servers Integral part of replication/migration/scal. transparency Client Program Client Program Server 1 (with object) Server 1 (with object) Server 2 Name Server Name Server Hard-coded Reference (e.g. IP) Client Program Client Program Server 1 (with object) Server 1 (with object) Server 2 Hard-coded Reference (e.g. IP) Not easy to move the object to other server

21 Ingeniørhøjskolen i Århus Slide 21 af 21 Group Work At each table 10 minutes: –Discuss the remaining ANSA transparencies –What are the purpose of each –When and where are they relevant –How may they be implemented –Would you do the implementation yourself in a project?

22 Ingeniørhøjskolen i Århus Slide 22 af 21 Concurrency Transparency Enables several processes to operate concurrently using shared information objects without interference between them We would like it to be handled by the middleware –Example: NFS –Example: Automatic teller machine network –Example: Database management system

23 Ingeniørhøjskolen i Århus Slide 23 af 21 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 Relies on location transparency

24 Ingeniørhøjskolen i Århus Slide 24 af 21 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 If system automatically recovers from faulty server by supplying the object from another server, this is failure transparency

25 Ingeniørhøjskolen i Århus Slide 25 af 21 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 Also relies on location transparency

26 Ingeniørhøjskolen i Århus Slide 26 af 21 Performance Transparency Allows the system to be reconfigured to improve performance as loads vary. May be achieved through by employing activation, caching and similar technologies, thus automatically boosting performance on critical resources

27 Ingeniørhøjskolen i Århus Slide 27 af 21 Scaling Transparency Allows the system and applications to expand in scale without change to the system structure or the application algorithms. May rely on replication transparency and thus location transparency for achieving this


Download ppt "Objektorienteret Netværkskommunikation Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency."

Similar presentations


Ads by Google