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

Similar documents
Distributed Systems Lecture 1 1

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

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

Introduction: Why do we need computer networks?

Virtual machine interface. Operating system. Physical machine interface

Distributed Systems. Outline. What is a Distributed System?

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Principles and characteristics of distributed systems and environments

How To Understand The Concept Of A Distributed System

Outline Introduction to Internet, Intranet and Extranet. What is an Intranet? by Awad. Basic Intranet-enabling Technology [Awad, chapter 4]

Distributed Systems and Recent Innovations: Challenges and Benefits

Network Programming TDC 561

Local Area Networks (LANs) Blueprint (May 2012 Release)

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

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

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

Distributed System Principles

Distributed Systems LEEC (2005/06 2º Sem.)

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

Computer Networks Vs. Distributed Systems

Chapter 11 Distributed File Systems. Distributed File Systems

DATA SECURITY 1/12. Copyright Nokia Corporation All rights reserved. Ver. 1.0

A B S T R A C T. Index Trems- Wi-Fi P2P, WLAN, Mobile Telephony, Piconet I. INTRODUCTION

Gildart Haase School of Computer Sciences and Engineering

Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006

Transparency in Distributed Systems

SVN5800 Secure Access Gateway

File Transfer And Access (FTP, TFTP, NFS) Chapter 25 By: Sang Oh Spencer Kam Atsuya Takagi

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

Cornerstones of Security

Operating Systems 4 th Class

Chapter 1: Introduction to Communications What is Data Communications? Data Communication Networks Basic Components of a communications system

Information and Communications Technology Courses at a Glance

MANAGEMENT INFORMATION SYSTEMS 8/E

CHAPTER 15: Operating Systems: An Overview

Chapter 5: System Software: Operating Systems and Utility Programs

Client Server Computing

Chapter 2: Remote Procedure Call (RPC)

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components

Internetworking Microsoft TCP/IP on Microsoft Windows NT 4.0

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

25 May Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy

Sync Security and Privacy Brief

Discovering Computers Chapter 9 Communications and Networks

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

IT Infrastructure and Emerging Technologies

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

Networking. Systems Design and. Development. CRC Press. Taylor & Francis Croup. Boca Raton London New York. CRC Press is an imprint of the

Best Practices for Deploying Wireless LANs

Network Attached Storage. Jinfeng Yang Oct/19/2015

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Rev Technology Document

Middleware: Past and Present a Comparison

A Transport Protocol for Multimedia Wireless Sensor Networks

Portable Wireless Mesh Networks: Competitive Differentiation

Network Security 網 路 安 全. Lecture 1 February 20, 2012 洪 國 寶

Ethernet. Ethernet. Network Devices

Introduction to Computer Networks and Data Communications

Software design (Cont.)

IP Telephony (Voice over IP)

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

Distributed Operating Systems

White Paper. Telenor VPN

1.5 Distributed Systems

1.264 Lecture 37. Telecom: Enterprise networks, VPN

Chapter 3. Internet Applications and Network Programming

4.1 CD304 - BSc (Hons) Information Technology (Diploma to Degree Top-up 1 year Full Time)

Network Security Policy

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Distributed Processing. The Internet and the New Information Technology Infrastructure. Reasons for Implementing Distributed Systems

Internet Protocol: IP packet headers. vendredi 18 octobre 13

The TCP/IP Reference Model

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

Zarządzanie sieciami telekomunikacyjnymi

Single Sign-On Secure Authentication Password Mechanism

This course has been retired. View the schedule of current <a href=

IT4405 Computer Networks (Compulsory)

Network Access Security. Lesson 10

Common P2P Examples. Peer to Peer Networks. Client-Server Architecture. Uses of P2P. Napster Morpheus Gnutella Freenet BitTorrent Skype

List of courses MEngg (Computer Systems)

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life

Distributed Systems. 2. Application Layer

Chapter 9A. Network Definition. The Uses of a Network. Network Basics

System Models for Distributed and Cloud Computing

Goal We want to know. Introduction. What is VoIP? Carrier Grade VoIP. What is Meant by Carrier-Grade? What is Meant by VoIP? Why VoIP?

E-Commerce Security. The Client-Side Vulnerabilities. Securing the Data Transaction LECTURE 7 (SECURITY)

Intel Security Certified Product Specialist Security Information Event Management (SIEM)

E-Business Technologies

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

4.1 CD BSc (Hons) Information Technology (Diploma to Degree Upgrade 1.5 Years Part Time)

COMPUTER SCIENCE/ COMPUTER NETWORKING AND TECHNOLOGIES (COSC)

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

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

Progress Record. Course 21 (V) Associate of Applied Science in Computer Information Technology and Systems Management

Transcription:

I. Introduction II. Fundamental Concepts of Architecture models; network architectures: OSI, Internet and LANs; interprocess communication III. Time and Global States Clocks and concepts of time; Event ordering; Synchronization; Global states IV. Coordination Distributed mutual exclusion; Multicast; Group communication, Byzantine problems (consensus) V. Distribution and Operating Systems Protection mechanisms; Processes and threads; Networked OS; Distributed and Network File Systems (NFSs) VI. Peer to peer systems Routing in P2P, OceanStore, Bittorrent, OneSwarm, Ants P2P, Tor, Freenet, I2P VII. Security Security concepts; Cryptographic algorithms; Digital signatures; Authentication; Secure Sockets

Definitions A A system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing. [Coulouris] A A system that consists of a collection of two or more independent computers which coordinate their processing through the exchange of synchronous or asynchronous message passing. A A distributed system is a collection of independent computers that appear to the users of the system as a single computer. [Tanenbaum] A A distributed system is a collection of autonomous computers linked by a network with software designed to produce an integrated computing facility.

Computer Networks vs. Computer Network: the autonomous computers are explicitly visible (have to be explicitly addressed) Distributed System: existence of multiple autonomous computers is transparent However, many problems in common, in some sense networks (or parts of them, e.g., name services) are also distributed systems, and normally, every distributed system relies on services provided by a computer network.

Reasons for distributing systems Functional distribution: computers have different functional capabilities. Client / server Host / terminal Data gathering / data processing -> sharing of resources with specific functionalities Inherent distribution stemming from the application domain, e.g. cash register and inventory systems for supermarket chains computer supported collaborative work Load distribution / balancing: assign tasks to processors such that the overall system performance is optimized.

Reasons for distributing systems Replication of processing power: : independent processors working on the same task distributed systems consisting of collections of microcomputers may have processing powers that no supercomputer will ever achieve 10000 CPUs, each running at 50 MIPS, yields 500000 MIPS, then instruction to be executed in 0.002 nsec equivalent to light distance of 0.6 mm any processor chip of that size would melt immediately Physical seperation: systems that rely on the fact that computers are physically seperated (e.g., to satisfy reliability requirements). Economics: : collections of microprocessors offer a better price/performance ration than large mainframes mainframes: 10 times faster, 1000 times as expensive

Why and not isolated hardware? Need to share data and resources amongst users Enhance person-to-person communication Flexibility: different computers with different capabilities can be shared amongst users Problems with distributed, connected systems Software - how to design and manage it in a DS Dependency on the underlying network infrastructure (the world wide wait ) Easy access to shared data raises security concerns

Consequences Distributed systems are concurrent systems Every software or hardware component is autonomous In the sequel, we will call such an autonomous component a process Difference process/program Components execute concurrent tasks A and B are concurrent if either A can happen before B, or B can happen before A Synchronization and coordination by message passing Sharing of resources Typical problems of concurrent systems Deadlocks, Livelocks Unreliable communication Absence of a global clock Due to asynchronous message passing there are limits on the precision with which processes in a distributed system can synchronize their clocks

Consequences (cont.) Absence of a global state In the general case, there is no single process in the distributed system that would have a knowledge of the current global state of the system Due to concurrency and message passing communication Specific failure modes Processes run autonomously, in isolation Failures of individual processes may remain undetected Individual processes may be unaware of failures in the system context

Examples of 1. The Internet Heterogeneous network of computers and applications Implemented through the Internet Protocol Stack Typical configuration: Pearson Education 2001

Examples of 2. Distributed Multimedia-Systems Often use Internet infrastructure Characteristics Heterogeneous data sources and sinks that need to be synchronized in real time Video Audio Text Often: Distribution services Multicast Examples Teleteaching tools (mbone-based, etc.) Video-conferencing Video and audio on demand

Examples of 3. Intranets Locally administered network Usually proprietary (e.g., the University campus network) Interfaces with the Internet Firewalls Provides services internally and externally Pearson Education 2001

Examples of 4. Mobile and Ubiquitous Computing Systems Cellular phone systems (e.g., GSM, UMTS) Resources being shared Radio frequencies Transmission times on one frequency (UMTS: multiplexing) The mobile on the move Laptop computers Wireless LANs (faculty campus WLAN, "MoPo") Handheld devices, PDAs etc. Wearable devices Pearson Education 2001

Examples of 5. Embedded systems The networked coffee mug Avionics control systems Flight management systems in aircraft Automotive control systems Mercedes S-Class automobiles these days are equipped with 50+ autonomous embedded processors Connected through proprietary bus-like LANs Consumer Electronics Audio HiFi equipment

Examples of 6. Telephony systems Examples POTS ISDN Intelligent Networks Advanced Intelligent Networks Shared resources Network Management Phones 7. Network management Administration of network resources State: resource and connection status Example SNMP

Examples of 8. Network File Systems Architecture to access file systems across a network Famous example Network File System (NFS), originally developed by SUN Microsystems for remote access support in a UNIX context 9. The World Wide Web Open client-server architecture implemented on top of the Internet Shared resouces Information, uniquely identified through a Uniform Resource Locator (URL) Variants: Intranet-based Webs

Challenges in the design of 1. Heterogeneity of underlying network infrastructure, computer hard- and software (e.g., operating systems, compare UNIX socket and Winsock calls), programming languages (in particular, data representations). Some approaches Middleware (e.g., CORBA): transparency of network, hard- and software and programming language heterogeneity Mobile Code (e.g., JAVA): transparency from hard-, software and programming language heterogeneity through virtual machine concept

Challenges in the design of 2. Openness Ensure extensibility and maintainability of systems Adherence to standard interfaces 3. Security Privacy Authentication Availability more about this later.

Challenges in the design of 4. Scalabity Computers in the Internet Computers vs. Web Servers in the Internet Does the system remain effective given expectable growth? Physical resources Control performance loss and performance bottlenecks Pearson Education 2001 www.amazon.com is more than one computer hierarchical structures in name serving correct dimensioning of software resources IP addresses: from 32 to 128 bits

Total Sites Across All Domains August 1995 - June 2009

Market Share for Top Servers Across All Domains August 1995 - June 2009

Challenges in the design of 5. Handling of failures Detection (may be impossible) Masking retransmission redundancy of data storage Tolerance exception handling (e.g., timeouts when waiting for a web resource) Redundancy redundant routes in network replication of name tables in multiple domain name servers 6. Concurrency Consistent scheduling of concurrent threads (so that dependencies are preserved, e.g., in concurrent transactions) Avoidance of dead- and livelock problems

Challenges in the design of 7. Transparency: : concealing the heterogeneous and distributed nature of the system so that it appears to the user like one system. Transparency categories (according to ISO's Reference Model for ODP) Access: : access local and remote resources using identical operations e.g., network mapped drive using Samba server, NFS mounts Location: : access without knowledge of location of a resource e.g., URLs, email addresses Concurrency: : allow several processes to operate concurrently using shared resources in a consistent fashion Replication: : use replicated resource as if there was just one instance

Transparency categories (according to ISO's Reference Model for ODP) (cont.) Failure: : allow programs to complete their task despite failures retransmit of email messages Mobility: : allow resources to move around e.g., 700 phone number - URLs are not! Performance: : adaption of the system to varying load situations without the user noticing it Scaling: : allow system and applications to expand without need to change structure or application algorithms