Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

2 Motivation We need to establish some common understanding of concepts We will use these concepts to measure and compare the different middleware technologies

3 Agenda 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 Common Requirements & Concepts We shall use these requirements to point out relevant concepts Transparency in Distributed System

4 What is a Distributed System Plenum: What is your definition?

5 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

6 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 OOMI

7 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

8 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.

9 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

10 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

11 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 This also holds true in non-distributed systems (using threads & processes), but here we often have more simulations users > greater risk of concurrency problems

12 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!

13 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

14 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 only partly implement (a ”level-of-transparency”) We shall use these to characterize the various available middleware products

15 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 We may measure the characteristics of middleware technologies on their support for the different dimensions of transparency as shown above.

16 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

17 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

18 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?

19 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

20 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

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

22 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

23 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

24 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 Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency."

Similar presentations


Ads by Google