95-702Distributed Systems 1 Master of Information System Management 95-702 Distributed Systems Lecture 1: Five Videos Course administration and a brief.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

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.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Review For Midterm.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Introducing … Distributed Systems.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
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.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved 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.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Distributed Systems: Concepts and Design Chapter 1 Pages
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
Architectures of distributed systems Fundamental Models
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Kyung Hee University 1/41 Introduction Chapter 1.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
1- Distributed Systems Principles and Paradigms Operating Systems: Concurrent and Distributed Software Design Jean Bacon, Tim Harris 2003.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Distributed Computing Systems CSCI 4780/6780. Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!!
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Design of Parallel and Distributed.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
CS603 Basics of underlying platforms January 9, 2002.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Distributed Systems CS Architectural Models of Distributed Systems Lecture 3, September 9, 2015 Mohammad Hammoud.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Chapter 1 Characterization of Distributed Systems.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Systems Architecure. Architectures Architectural Styles Software Architectures Architectures versus Middleware Self-management in distributed.
Chapter 1 Characterization of Distributed Systems
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Distributed Systems Week 1: Five (Optional) Videos are also available
#01 Client/Server Computing
Slides for Chapter 1 Characterization of Distributed Systems
Advanced Operating Systems
Distributed Systems Bina Ramamurthy 11/12/2018 From the CDK text.
Inventory of Distributed Computing Concepts and Web services
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Inventory of Distributed Computing Concepts
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Architectures of distributed systems Fundamental Models
Software models - Software Architecture Design Patterns
Slides for Chapter 1 Characterization of Distributed Systems
Architectures of distributed systems Fundamental Models
Slides for Chapter 1 Characterization of Distributed Systems
Distributed Systems Bina Ramamurthy 4/7/2019 B.Ramamurthy.
Slides for Chapter 1 Characterization of Distributed Systems
Architectures of distributed systems
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Architectures of distributed systems Fundamental Models
Chapter 2: System models
Distributed System Models
#01 Client/Server Computing
Presentation transcript:

95-702Distributed Systems 1 Master of Information System Management Distributed Systems Lecture 1: Five Videos Course administration and a brief introduction to the material. Instructors: Michael McCarthy & Joe Mertz

95-702Distributed Systems 2 Master of Information System Management Course Web Site - read the syllabus - read the course description - read the weekly schedule * projects posted there * course slides posted there * project rubric is posted there Blackboard too!! - discussion board - grade postings

95-702Distributed Systems 3 Master of Information System Management How is DS related to other courses? Distributed Systems Service Oriented Architecture Business Process Modeling EA Java

95-702Distributed Systems 4 Master of Information System Management What cool technologies will we use? IDE (Netbeans) Application Server (Glassfish) Web Services (REST and SOAP) Message Oriented Middleware (Sun’s JMS Message Queue ) Distributed Objects (Java RMI, and EJB’s) Mobile platform (Android) Hadoop, MapReduce and Hive (Linux on Heinz cluster)

95-702Distributed Systems 5 Master of Information System Management First Lab - This Week The first lab will cover instructions on getting started with the course technologies. The installation includes Netbeans, Glassfish and the Android emulator. You earn points for labs. This first lab will be for credit. Project 1 will be assigned soon.

95-702Distributed Systems 6 Master of Information System Management Structure of the Course Lectures (many on video) with class time for activities Labs (with your active hands-on involvement) Projects (programming) The secret is to start early.  Midterms (2) Final examination

95-702Distributed Systems 7 Master of Information System Management Readings Readings from the required text are assigned for each lecture -- read them in advance. Readings from the web will also be assigned. For this week, read Coulouris chapters 1 and 2

95-702Distributed Systems 8 Master of Information System Management Grading Programming Projects (6) 38% Midterm 1 10% Midterm 2 15% Final Exam 25% Labs (12) 12% Quizzes for practice 0% We will be very fussy about deadlines. One second late is late. See late assignment policy on syllabus.

95-702Distributed Systems Review of Syllabus Quizzes 0% Late projects, one week late free, one time, else -10% per day Projects are not treated the same as labs. Projects must be completed individually. Labs allow for team work and help from TA. Attendance at your scheduled lab is worth.25 points. Completion (within 6 days) of the lab is worth.75 points. Closed laptop policy Do not cheat, R grade is immediate. Don’t share code with each other - we check! Don’t copy code from or post code to external servers (e.g. GitHub) – we check. Use the discussion board Easy on the If serious problem, contact us via or phone TA’s guide you but do not solve problems for you Exams take precedence over job interviews and travel Complaints about grading, see the rubric & the TA within one week See you in the next video… 9 Master of Information System Management

95-702Distributed Systems How does program logic share data or communicate? Shared files Shared database Procedure Call or Method Invocation Messaging through a third party 10 Master of Information System Management Non-distributed Distributed COBOL 2 COBOL NFS, AFS, HDFS DB2 MainframeOData Programming 101Java RMI,Web Services Unix or DOS pipesJMS or ESB’s

95-702Distributed Systems 11 Master of Information System Management Fundamental characterization of distributed systems Components are located on networked computers and execute concurrently. Components communicate and coordinate only by passing messages Time differs on each system. Many challenges associated with distributed systems are not new…

95-702Distributed Systems The Pony Express 12 Master of Information System Management From Wikipedia Issues: -heterogenaity -security -reliability -failure handling -bandwidth -latency

95-702Distributed Systems 13 Master of Information System Management The Pony Express and The Telegraph Associated Press Around 1860 And one system may be replaced by another

95-702Distributed Systems Pioneer Plaque early 70’s 14 Master of Information System Management An attempt at communicating a universal message. From Wikipedia Issues: -reliability -interoperability -exemplifies a loosely coupled system -would the arrow make sense?

95-702Distributed Systems 15 Master of Information System Management What are some challenges in constructing DS? All the challenges associated with stand alone systems development plus Heterogeneity of components may hinder interoperability Security (Eve and Mallory on the wire) Scalability (we may need to ramp up by adding resources) Failure handling (networks, processors, remote systems) Concurrency of components adds complexity (e.g. several visits at once) Openness (Can we add to or modify the system)

95-702Distributed Systems 16 Master of Information System Management 16 Master of Information System Management The network is secure. The network environment is homogeneous. Latency is zero. Bandwidth is infinite. Transport cost is zero. There is one administrator. The network is reliable. Components don’t fail independently. What false assumptions may be made by designers?

95-702Distributed Systems 17 Master of Information System Management Why build these things? To communicate and share resources. We want to share: Executable code – Javascript, MapReduce Data (Odata) CPU cycles (SETI search for aliens) Documents (The original WWW) Printers, Files (NFS, AFS) Objects (Java RMI, EJB’s, Enterprise Objects) Services in a Service Oriented Architecture

95-702Distributed Systems Some Notes from Chapter Two 18 Master of Information System Management

95-702Distributed Systems System Architecture From Chapter 2 Definition: The architecture of a system is its structure in terms of separately specified components and their interrelationships”. Goal: The structure will meet present and future demands. Concerns: reliability, manageability, adaptability, cost-effectiveness, security Distributed Systems Coulouris 5Ed. 19

95-702Distributed Systems Architectural Elements of a Distributed System Communicating entities Communication paradigms Roles played by communicating entities Placement of communication entities Distributed Systems Coulouris 5Ed. 20

95-702Distributed Systems Communicating Entities From a system level: Processes, threads or simply nodes are communicating. From a problem level: Objects, Components, Web Services are communicating. In asynchronous systems, the client makes a call and continues with other business. Perhaps it provides a means for a response. In synchronous systems, the client calls, blocks and waits for the response Distributed Systems Coulouris 5Ed. 21

95-702Distributed Systems Distributed Systems Coulouris 5Ed. 22 Architectural Elements of a Distributed System Communicating entities Communication paradigms Roles played by communicating entities Placement of communication entities Distributed Systems Coulouris 5Ed. 22

95-702Distributed Systems DS Communication Paradigms Coupling is the degree to which some communicating entity makes assumptions about its partner. Interprocess communication (TCP Sockets, UDP Sockets, Multicast Sockets) Low level. Often use to build higher level abstractions. Coupled in time. Remote invocation (Two way exchange with a remote operation, procedure or method) RPC, RMI, HTTP, DCOM, CORBA. Higher level abstractions. Coupled in time (both parties exist during interaction) Coupled in space (parties likely know who they are interacting with) Indirect communication (less tightly coupled and involving a third party) Communicating to a group be sending a message to a group identifier Publish-subscribe (AKA distributed event based systems) routes messages to interested parties. One-to-many style of communication. Message queues (AKA channels) for point-to-point messaging. Tuple spaces allows for the placement and withdrawal of structured sequences of data Distributed Systems Coulouris 5Ed. 23

95-702Distributed Systems Distributed Systems Coulouris 5Ed. 24 Architectural Elements of a Distributed System Communicating entities Communication paradigms Roles played by communicating entities Placement of communication entities Distributed Systems Coulouris 5Ed. 24

95-702Distributed Systems Roles and Responsibilities Entities interact to perform a useful activity. One entity may act as a client and another as a server. - Request/Response - Request/Acknowledge - Request/Acknowledge/Poll - Request/Acknowledge/Callback Each entity may act as a peer Distributed Systems Coulouris 5Ed. 25

95-702Distributed Systems Distributed Systems Coulouris 5Ed. 26 Architectural Elements of a Distributed System Communicating entities Communication paradigms Roles played by communicating entities Placement of communication entities Distributed Systems Coulouris 5Ed. 26

95-702Distributed Systems Placement of Communicating Entities Entities may be placed on a single or multiple machines. Data may be cached and services replicated. Why replicate? Mobile code (e.g. applets, Java Script). Mobile agents or worms Distributed Systems Coulouris 5Ed. 27

95-702Distributed Systems Architectural Patterns (1) A Layered architecture is the vertical organization of services into layers of abstraction: * applications and services layered on the top. * middleware appears between the application and the operating system. * The operating system sits on top of the computer and network hardware Distributed Systems Coulouris 5Ed. 28

95-702Distributed Systems Architectural Patterns (2) A Tiered architecture: is complimentary to layering. is usually applied to the applications and services layer. is a technique to organize the functionality of a given layer and place this functionality into appropriate servers and onto physical devices. An application may be described in terms of presentation logic, business logic, and data logic. May partition an application into two tiers or three. Main driver: To promote separation of concerns Distributed Systems Coulouris 5Ed. 29 Note: presentation logic may present data to a non-human. Why is separation of concerns so important?

95-702Distributed Systems Architectural Patterns (3) In a two-tier solution, the business logic and user interface may reside on the client and the data logic layer may be placed on the server. This is the classic client server architecture. Other organizations are possible: In a three-tier solution, the logical description may correspond directly to the physical machines and processes. An AJAX application such as Google Maps is an example of a responsive multi-tiered application. New map tiles (256X256 pixel images) are fetched as needed. The thin client approach is a trend in distributed computing. Move complexity into internet based services. Cloud computing and Virtual Network Computing (remote desktop ) are examples Distributed Systems Coulouris 5Ed. 30

95-702Distributed Systems Two commonly occurring architectural patterns in distributed systems The proxy pattern: the client makes calls on a local object (the proxy) that has the same interface as a remote object. The proxy hides the communication details. The brokerage pattern consists of a trio of service provider, service requestor and service broker (typically with lookup and bind operations) Distributed Systems Coulouris 5Ed. 31

95-702Distributed Systems Transparency Goal: To raise the level of abstraction by separation of concerns. 32 Master of Information System Management

95-702Distributed Systems 33 Master of Information System Management Transparency to raise the level of abstraction Access transparency: enables local and remote resources to be accessed using identical operations. Location transparency : enables resources to be accessed without knowledge of their location. Concurrency transparency: enables several processes to operate concurrently using shared resources without interference between them. Replication transparency: enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers. Types of Transparency (or concealment)

95-702Distributed Systems 34 Master of Information System Management Transparency to raises the level of abstraction Failure transparency : enables the concealment of faults,allowing users and application programs to complete their tasks despite the failure of hardware or software components. Mobility transparency : allows the movement of resources and clients within a system without affecting the operation of users or programs. Performance transparency : allows the system to be reconfigured to improve performance as loads vary. Scaling transparency: allows the system and applications to expand in scale without change to the system structure or the application algorithms.