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

Slides:



Advertisements
Similar presentations
Distributed Data Processing
Advertisements

Distributed Processing, Client/Server and Clusters
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Distributed Systems Topics What is a Distributed System?
Jaringan Informasi Pengantar Sistem Terdistribusi oleh Ir. Risanuri Hidayat, M.Sc.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 1 Characterization.
1DT057 D ISTRIBUTED I NFORMATION S YSTEM Distributed Systems Characterization and Design 1.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Distributed components
CHARACTERIZATION OF DISTRIBUTED SYSTEMS
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
City University London
ECI-M-811 Distributed Systems and Internetworking
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Overview Distributed vs. decentralized Why distributed databases
Introduction to Distributed Systems CS412: Programming Distributed Applications Computer Science Southern Illinois University CS412: Programming Distributed.
Slides for Chapter 1 Characterization of Distributed Systems From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3,
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Chapter 1 Characterization of Distributed Systems Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Bộ môn Mạng và Truyền Thông Máy Tính.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Transparency in Distributed Operating Systems Vijay Akkineni.
Distributed Systems: Concepts and Design Chapter 1 Pages
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Distributed systems A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility –A well.
Types of Operating Systems
Transparency In Distributed Systems Hiremath,Naveen
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
CS551 - Lecture 2 1 CS551 Advanced Software Engineering Yugi Lee STB #555 (816)
SUMAN K REDDY BURJUKINDI. Evolution of Modern Operating Systems 1 st Generation: Centralized Operating System 2 nd Generation: Network Operating System.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
A Summary of the Distributed System Concepts and Architectures Gayathri V.R. Kunapuli
Kjell Orsborn UU - DIS - UDBL DATABASE SYSTEMS - 10p Course No. 2AD235 Spring 2002 A second course on development of database systems Kjell.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
Distributed database system
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Design of Parallel and Distributed.
By, Naga Manojna Chintapalli. CHAPTER 2.2 TRANSPARENCY.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
Topic Distributed DBMS Database Management Systems Fall 2012 Presented by: Osama Ben Omran.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Transparency Wang, Yang edu.
CS551 - Lecture 2 1 CS551 Advanced Software Engineering Yugi Lee STB #555 (816)
Introduction to Active Directory
 Distributed Database Concepts  Parallel Vs Distributed Technology  Advantages  Additional Functions  Distribution Database Design  Data Fragmentation.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Distributed Operating Systems CS551 Colorado State University at Lockheed-Martin Lecture 2 -- Spring 2001.
Distributed File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
Objektorienteret Netværkskommunikation Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Chapter 1 Characterization of Distributed Systems
CSC 480 Software Engineering
3. Distributed Systems – Architecture Models Part 1
#01 Client/Server Computing
Distributed Systems Bina Ramamurthy 11/12/2018 From the CDK text.
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 4/7/2019 B.Ramamurthy.
Slides for Chapter 1 Characterization of Distributed Systems
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Introduction To Distributed Systems
Database System Architectures
Distributed Systems and Concurrency: Distributed Systems
#01 Client/Server Computing
Distributed systems A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility A well.
Presentation transcript:

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

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

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

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

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

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

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

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.

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

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

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

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!

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

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

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.

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

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

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?

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

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

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

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

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

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