Distributed Systems Lecture 1 1



Similar documents
Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis. Freitag, 14. Oktober 11

Virtual machine interface. Operating system. Physical machine interface

Chapter 1: Distributed Systems: What is a distributed system? Fall 2008 Jussi Kangasharju

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Distributed Systems. Security concepts; Cryptographic algorithms; Digital signatures; Authentication; Secure Sockets

Distributed System Principles

6306 Advanced Operating Systems

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

Distributed Systems Architectures

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture

Distribution transparency. Degree of transparency. Openness of distributed systems

Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U

Distributed Systems and Recent Innovations: Challenges and Benefits

System types. Distributed systems

GLOSSARY OF TECHNICAL TERMS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

How To Understand The Concept Of A Distributed System

Distributed Systems. Outline. What is a Distributed System?

Fax Server Cluster Configuration

Middleware Lou Somers

Base One's Rich Client Architecture

GLOSSARY OF TECHNICAL TERMS

Client/server is a network architecture that divides functions into client and server

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

SCALABILITY AND AVAILABILITY

Tier Architectures. Kathleen Durant CS 3200

Middleware and Distributed Systems. Introduction. Dr. Martin v. Löwis

Distributed Systems. Distributed Systems

Transparency in Distributed Systems

Keyword: Cloud computing, service model, deployment model, network layer security.

This paper was presented at the 1996 CAUSE annual conference. It is part of the proceedings of that conference, "Broadening Our Horizons:

CLOUD COMPUTING. When It's smarter to rent than to buy

S y s t e m A r c h i t e c t u r e

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Background (

Mobile Admin Architecture

Analysis on Virtualization Technologies in Cloud

What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.

Total System Operations and Management for Network Computing Environment

Network Attached Storage. Jinfeng Yang Oct/19/2015

ICS 434 Advanced Database Systems

Citrix MetaFrame Presentation Server 3.0 and Microsoft Windows Server 2003 Value Add Feature Guide

TECHNIQUES FOR DATA REPLICATION ON DISTRIBUTED DATABASES

Client-Server Applications

ORACLE DATABASE 10G ENTERPRISE EDITION

Professional and Enterprise Edition. Hardware Requirements

Enabling the Information Age

9 Things Small Business Owners Need To Know When Talking To The IT Guy

System Models for Distributed and Cloud Computing

Client/server and peer-to-peer models: basic concepts

Cloud Computing for SCADA

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

From RPC to Web Apps: Trends in Client-Server Systems

LinuxWorld Conference & Expo Server Farms and XML Web Services

Distributed Operating Systems

Lecture 26 Enterprise Internet Computing 1. Enterprise computing 2. Enterprise Internet computing 3. Natures of enterprise computing 4.

VPN. Date: 4/15/2004 By: Heena Patel

Chapter 4 IT Infrastructure and Platforms

Server and Storage Virtualization. Virtualization. Overview. 5 Reasons to Virtualize

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

Distributed Database Design

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Roland Krystian Alberciak CS 4440 Project Proposal

Learn Oracle WebLogic Server 12c Administration For Middleware Administrators

Chapter 9 Understanding Complex Networks

Network Station - Thin Client Computing - Overview

Star System Deitel & Associates, Inc. All rights reserved.

Implementing the Application Control Engine Service Module

Introduction to Cloud Computing

MULTICULTURAL CONTENT MANAGEMENT SYSTEM

Local Area Networks: Software and Support Systems

Building Secure Cloud Applications. On the Microsoft Windows Azure platform

USING REPLICATED DATA TO REDUCE BACKUP COST IN DISTRIBUTED DATABASES

Expert Reference Series of White Papers. Understanding Data Centers and Cloud Computing

Citrix XenApp 6.5 Advanced Administration (CXA-301)

Distributed Systems (5DV147) What is Replication? Replication. Replication requirements. Problems that you may find. Replication.

Cloud Computing. Chapter 8 Virtualization

How To Understand The Architecture Of A Client Server System

Risks with web programming technologies. Steve Branigan Lucent Technologies

Session 11 Under the hood of a commercial website

Basics. Topics to be covered. Definition of a Distributed System. Definition of a Distributed System

List of Projects in Application

This paper defines as "Classical"

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

IT Infrastructure and Platforms

NetApp and Microsoft Virtualization: Making Integrated Server and Storage Virtualization a Reality

Lesson Plans Microsoft s Managing and Maintaining a Microsoft Windows Server 2003 Environment

Online Transaction Processing in SQL Server 2008

Transcription:

Distributed Systems Lecture 1 1 Distributed Systems Lecturer: Therese Berg therese.berg@it.uu.se. Recommended text book: Distributed Systems Concepts and Design, Coulouris, Dollimore and Kindberg. Addison and Wesley. Course webpage to follow. http://www.it.uu.se/edu/course/homepage/datsyst2/p2ht06 The slides are put on the webpage.

Distributed Systems Lecture 1 2 Course Plan Introduction. Remote Objects and Remote Procedure calls. Replication Coordination and Agreement Transactions Distributed Transactions (if time) Guest lecturer - Ambient Networks, mobil communication

Distributed Systems Lecture 1 3 What is a distributed System? A distributed system is one in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages. Motivation: share resources.

Distributed Systems Lecture 1 4 Consequences of distributed systems Concurrency. No global Clock. Independent Failures.

Distributed Systems Lecture 1 5 Concurrency Different Computers on a network. Each computer can be doing work at the same time. What happens if two computers want to access a resource at the same time? Network delays are not constant make synchronisation difficult.

Distributed Systems Lecture 1 6 No Global Clock When programs need to cooperate they coordinate their actions by exchanging messages. Close coordination often depends on a shared idea of the time at which events occur. Ex: make command on Unix systems. There are limits to the accuracy with which components in a network can synchronise their clocks. Direct consequence of the fact that messages are sent through a network and network delays are not constant (or even bounded).

Distributed Systems Lecture 1 7 Independent failures All computer systems can fail it is good design to build robustness in. Distributed systems fail in new ways. Network faults might result in components being isolated but not stopping. What happens if you are waiting for an acknowledge message and you never get it? How do you know if the remote system got your message?

Distributed Systems Lecture 1 8 Examples of Distributed Systems The Internet. Intranets. (Internal Internet inside a company) Grid Computing. P2P network (Peer to Peer).

Distributed Systems Lecture 1 9 Resource Sharing What is a resource? Hardware. Shared printer. Shared processor Pieces of running software, distributed objects, remote procedures. Data.

Distributed Systems Lecture 1 10 Challenges Heterogeneity. (Everybody is different). Security Scalability Failure Handling Concurrency Transparency

Distributed Systems Lecture 1 11 Heterogeneity Different networks Different hardware Different operating systems Different programing languages Different implementations. How do we solve all this?

Distributed Systems Lecture 1 12 Middleware A software layer that provides programming abstractions as well as masking the heterogeneity of the underlying system. Examples include: CORBA Java RMI, Jini How do you deal with mobile code in a heterogeneous environment? One possible solution is to use a virtual machine, Java VM or.net.

Distributed Systems Lecture 1 13 Security On its own network traffic is not secure. Any message could in principle be seen by anybody. Packet sniffers. Encryption can solve some problems. More problems include: Denial of service attacks. How do you make mobile code secure.

Distributed Systems Lecture 1 14 Scalability Short story, things get bigger all the time. More users, more computers, more data, more... Physical resources. Software resources. Avoid bottlenecks in performance. Design problem.

Distributed Systems Lecture 1 15 Failure Handling Detecting Failures: Some failures can be detected. But in a distributed system it becomes hard. Failure Masking: Retransmission, backups (data and servers). Tolerating failures: Klients and users tolerate faults. Recovery: Server crash, data it updates in inconsistent state. Redundancy: Use redundant komponents.

Distributed Systems Lecture 1 16 Concurrency Managing shared resources. For an object to be safe in a concurrent environment its operations must be synchronised in such a way that data remains consistent (bank account example).

Distributed Systems Lecture 1 17 Transparency Access transparency enables local and remote resources to be accessed using identical operations. Location transparency. Allows access without knowing object locations. Concurrency transparency Replication transparency: enables multiple instances to be active to increase reliability and performance. Failure transparency Mobility transparency.

Distributed Systems Lecture 1 18 Architectural Models An Architectural model of a distributed system is concerned with the placements of its parts and the relationship between them. We are going to look the most popular design for a distributed system. The client server model.

Distributed Systems Lecture 1 19 Insert figure 2.2. from the book here.

Distributed Systems Lecture 1 20 Client Server Model Process acts as a client and sends requests to a server. Examples: Webserver. Client (Web browser) sends a request for a webpage the webserver then returns the requested server. A SQL server, client processes send request for data or requests to modify data. Servers can become clients. For example the webserver might simply be a web proxy and pass requests on to other servers.

Distributed Systems Lecture 1 21 Variations of the client-server model Mobile code and Mobile Agents Thin clients

Distributed Systems Lecture 1 22 Mobile Code and Mobile Agents. Mobile Code. A client request results in downloading of applet code and then the client interacts with the applet. Mobile Agents A mobile agent is a running program (code and data) the travels from one computer to another in a network performing some task.

Distributed Systems Lecture 1 23 Thin Clients A thin client refers to software/hardware the supports a window-based user interface local to the user while executing application programs on a remote computer. Examples include: Sun Rays VNC Microsoft remote desktop.

Distributed Systems Lecture 1 24 Summary and Conclusion Distributed Systems are everywhere. Distributed systems have their own design problems and issues. Middleware supplies abstractions to allow distributed systems to be designed. Focus of this course: What abstractions are necessary to a distributed system. Client-server architecture is a common way of designing distributed systems.