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

Similar documents
Distributed Operating Systems

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

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

Virtual machine interface. Operating system. Physical machine interface

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

Distributed Systems Lecture 1 1

How To Understand The Concept Of A Distributed System

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

Principles and characteristics of distributed systems and environments

Distributed System: Definition

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

Software Concepts. Uniprocessor Operating Systems. System software structures. CIS 505: Software Systems Architectures of Distributed Systems

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

Distribution transparency. Degree of transparency. Openness of distributed systems

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

How To Make A Distributed System Transparent

Distributed Systems. Examples. Advantages and disadvantages. CIS 505: Software Systems. Introduction to Distributed Systems

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

Client/Server and Distributed Computing

Distributed Systems and Recent Innovations: Challenges and Benefits

Chapter 18: Database System Architectures. Centralized Systems

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Defining Distributed Systems. Distribuerade system. Exemples of DS: Intranet. Exemples of DS: Internet. Exemples of DS: Mobile Computing

A Comparison of Distributed Systems: ChorusOS and Amoeba

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

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB

Contents. Chapter 1. Introduction

System Models for Distributed and Cloud Computing

Network Attached Storage. Jinfeng Yang Oct/19/2015

Operating Systems 4 th Class

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

Event-based middleware services

Chapter 7: Distributed Systems: Warehouse-Scale Computing. Fall 2011 Jussi Kangasharju

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

1.4 SOFTWARE CONCEPTS

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

6306 Advanced Operating Systems

CS 5523 Operating Systems: Intro to Distributed Systems

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

FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

Client-Server Applications

Network File System (NFS) Pradipta De

MIDDLEWARE 1. Figure 1: Middleware Layer in Context

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

Chapter 17: Distributed Systems

JavaPolis 2004 Middleware and Web Services Security

Module 1 Introduction CS755! 1-1!

IT Architecture Review. ISACA Conference Fall 2003

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Transparency in Distributed Systems

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

System types. Distributed systems

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

MAC Web Based VPN Connectivity Details and Instructions

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

Jini. Kurzfassung als Kapitel für die Vorlesung Verteilte Systeme. (unter Nutzung von Teilen von Andreas Zeidler und Roger Kehr)

Base One's Rich Client Architecture

District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification

SonicWALL Clean VPN. Protect applications with granular access control based on user identity and device identity/integrity

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

In Memory Accelerator for MongoDB

Windows Web Based VPN Connectivity Details & Instructions

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems

COURSE OUTLINE Survey of Operating Systems

Distributed RAID Architectures for Cluster I/O Computing. Kai Hwang

Weighted Total Mark. Weighted Exam Mark

Distributed Data Management

How To Understand The Power Of A Content Delivery Network (Cdn)

Load Balancing for Microsoft Office Communication Server 2007 Release 2

Cluster, Grid, Cloud Concepts

Distributed Operating Systems. Cluster Systems

Global Server Load Balancing

CS 665: Computer System Security. Network Security. Usage environment. Sources of vulnerabilities. Information Assurance Module

CORBA and object oriented middleware. Introduction

DISTRIBUTED AND PARALLELL DATABASE

Lecture 1. Lecture Overview. Intro to Networking. Intro to Networking. Motivation behind Networking. Computer / Data Networks

Cisco and EMC Solutions for Application Acceleration and Branch Office Infrastructure Consolidation

CASE STUDY: Oracle TimesTen In-Memory Database and Shared Disk HA Implementation at Instance level. -ORACLE TIMESTEN 11gR1

Mobile and Heterogeneous databases Database System Architecture. A.R. Hurson Computer Science Missouri Science & Technology

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

Classic Grid Architecture

Windows Server 2003 default services

How To Virtualize A Storage Area Network (San) With Virtualization

Lectures 9 Advanced Operating Systems Fundamental Security. Computer Systems Administration TE2003

Vortex White Paper. Simplifying Real-time Information Integration in Industrial Internet of Things (IIoT) Control Systems

1 Organization of Operating Systems

Cisco Wide Area Application Services Software Version 4.1: Consolidate File and Print Servers

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

Principles of Operating Systems CS 446/646

Linux Web Based VPN Connectivity Details and Instructions

Towards Distributed Service Platform for Extending Enterprise Applications to Mobile Computing Domain

DFSgc. Distributed File System for Multipurpose Grid Applications and Cloud Computing

Permeo Technologies WHITE PAPER. HIPAA Compliancy and Secure Remote Access: Challenges and Solutions

Peer-to-Peer Networks

Fundamentals of Information Systems Security Unit 1 Information Systems Security Fundamentals

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Transcription:

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

Course Goals and Content Distributed systems and their: Basic concepts Main issues, problems, and solutions Structured and functionality Content: Distributed systems (Tanenbaum, Ch. 1) - Architectures, goal, challenges - Where our solutions are applicable Synchronization: Time, coordination, decision making (Ch. 5) Replicas and consistency (Ch. 6) Fault tolerance (Ch. 7) Chapters refer to Tanenbaum book October 23, 08 2

Course Material Tanenbaum, van Steen: Distributed Systems, Principles and Paradigms; Prentice Hall 2002 Coulouris, Dollimore, Kindberg: Distributed Systems, Concepts and Design; Addison-Wesley 2005 Lecture slides on course website NOT sufficient by themselves Help to see what parts in book are most relevant October 23, 08 3

Course Exams Normal way (recommended) Exercises, home exercises, course exam Grading: Exam 48 points Exercises 12 points (~ 20 exercises, scaled to 0 12) Home exercises 6 points (3 exercises) Grading based on 60 point maximum Need 30 points to pass with minimum 16 points in exam 50 points will give a 5 Possible to take as separate exam October 23, 08 4

Exercises Weekly exercises: Smaller assignments Home exercises 1 study diary, 2 design exercises Due dates will be announced later Study diary individual work Design exercises can be done in groups of up to 3 October 23, 08 5

People Jussi Kangasharju Lectures: Mon 14-16 and Thu 10-12 in D122 Office hour: Tue 12-13 or ask for appointment by email Mika Karlstedt Exercise groups: - 1. Mika Karlstedt Tue 12-14 in C221 (in English) - 2. Mika Karlstedt Thu 12-14 in CK111 Home exercises Office hour: During exercises or ask appointment by email October 23, 08 6

Questions? October 23, 08 7

Chapter Outline Defining distributed system Examples of distributed systems Why distribution? Goals and challenges of distributed systems Where is the borderline between a computer and a distributed system? Examples of distributed architectures October 23, 08 8

Definition of a Distributed System A distributed system is a collection of independent computers that appears to its users as a single coherent system.... or... as a single system. October 23, 08 9

Examples of Distributed Systems The Internet: net of nets global access to everybody (data, service, other actor; open ended) enormous size (open ended) no single authority communication types - interrogation, announcement, stream - data, audio, video intranet ISP backbone satellite link desktop computer: server: network link: CoDoKi, Fig. 1.1 Figure 1.1 A typical portion of the Internet October 23, 08 10

Examples of Distributed Systems Intranets ( CoDoKi, Fig. 1.2) a single authority protected access - a firewall - total isolation may be worldwide typical services: - infrastructure services: file service, name service - application services Figure 1.2 A typical intranet CoDoKi, Fig. 1.2 October 23, 08 11

Mobile and ubiquitous Examples of Distributed Systems computing ( CoDoKi Fig 1.3 ) Portable devices laptops handheld devices wearable devices devices embedded in appliances Mobile computing Location-aware computing Ubiquitous computing, pervasive computing Figure 1.3 Portable and handheld devices in a distributed system CoDoKi, Fig. 1.3 October 23, 08 12

Mobile Ad Hoc -Networks Problems, e.g.: - reliable multicast - group management Mobile nodes come and go No infrastructure - wireless data communication - multihop networking - long, nondeterministic dc delays October 23, 08 13

Resource Sharing and the Web Hardware resources (reduce costs) Data resources (shared usage of information) Service resources search engines computer-supported www.google.com www.cdk3.net File system of www.w3c.org www.w3c.org Web servers Protocols http://www.google.com/search?q=kindberg Browsers Internet http://www.cdk3.net/ http://www.w3c.org/protocols/activity.html cooperative working Service vs. server (node or process ) CoDoKi, Fig. 1.4 Activity.html Mastering openness HTML URL HTTP Figure 1.4 Web servers and web browsers October 23, 08 14

Examples of Distributed Systems, 4 Distributed application one single system one or several autonomous subsystems a collection of processors => parallel processing => increased performance, reliability, fault tolerance partitioned or replicated data => increased performance, reliability, fault tolerance Dependable systems, grid systems, enterprise systems October 23, 08 15

Why Distribution? Sharing of information and services Possibility to add components improves availability reliability, fault tolerance performance scalability Facts of life: history, geography, organization October 23, 08 16

Goals and challenges for distributed systems

Goals Making resources accessible Distribution transparency Openness Scalability Security System design requirements October 23, 08 18

Challenges for Making Resources Accessible Naming Access control Security Availability Performance Mutual exclusion of users, fairness Consistency in some cases October 23, 08 19

Challenges for Transparency The fundamental idea: a collection of independent, autonomous actors Transparency concealment of distribution => user s viewpoint: a single unified system October 23, 08 20

Transparencies Transparency Description Access Hide differences in data representation and how a resource is accessed Location Hide where a resource is located ( ) Migration Hide that a resource may move to another location ( ) (the resource does not notice) Relocation Hide that a resource may be moved to another location ( ) while in use (the others don t notice) Replication Hide that a resource is replicated Concurrency Hide that a resource may be shared by several competitive users Failure Hide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk ( ) Notice the various meanings of location : network address (several layers) ; geographical address October 23, 08 21

Challenges for Transparencies replications and migration cause need for ensuring consistency and distributed decision-making failure modes concurrency heterogeneity October 23, 08 22

Figure 2.10 Omission and arbitrary failures Class of failure Affects Description Fail-stop Process Process halts and remains halted. Other processes may detect this state. Crash Process Process halts and remains halted. Other processes may not be able to detect this state. Omission Channel A message inserted in an outgoing message buffer never arrives at the other end s incoming message buffer. Send-omission Process A process completes send,but the message is not put in its outgoing message buffer. Receive- Process A message is put in a process s incoming message omission buffer, but that process does not receive it. Arbitrary Process or Process/channel exhibits arbitrary behaviour: it may (Byzantine) channel send/transmit arbitrary messages at arbitrary times, commit omissions; a process may stop or take an incorrect step. October 23, 08 23

Figure 2.11 Timing failures Class of Failure Affects Description Clock Process Process s local clock exceeds the bounds on its rate of drift from real time. Performance Process Process exceeds the bounds on the interval between two steps. Performance Channel A message s transmission takes longer than the stated bound. October 23, 08 24

Failure Handling More components => increased fault rate Increased possibilities more redundancy => more possibilities for fault tolerance no centralized control => no fatal failure Issues Detecting failures Masking failures Recovery from failures Tolerating failures Redundancy New: partial failures October 23, 08 25

Concurrency Concurrency: Several simultaneous users => integrity of data - mutual exclusion - synchronization - ext: transaction processing in data bases Replicated data: consistency of information? Partitioned data: how to determine the state of the system? Order of messages? There is no global clock! October 23, 08 26

Consistency Maintenance Update... Replication... Cache...... consistency Failure... Clock... User interface... October 23, 08 27

Heterogeneity Heterogeneity of networks computer hardware operating systems programming languages implementations of different developers Portability, interoperability Mobile code, adaptability (applets, agents) Middleware (CORBA etc) Degree of transparency? Latency? Location-based services? October 23, 08 28

Challenges for Openness Openness facilitates interoperability, portability, extensibility, adaptivity Activities addresses extensions: new components re-implementations (by independent providers) Supported by public interfaces standardized communication protocols October 23, 08 29

Challenges for Scalability Scalability The system will remain effective when there is a significant increase in number of resources number of users The architecture and the implementation must allow it The algorithms must be efficient under the circumstances to be expected Example: the Internet October 23, 08 30

Challenges: Scalability (cont.) Controlling the cost of physical resources Controlling performance loss Preventing software resources running out Avoiding performance bottlenecks Mechanisms (implement functions) & Policies (how to use the mechanisms) Scaling solutions asyncronous communication, decreased messaging (e.g., forms) caching (all sorts of hierarchical memories: data is closer to the user no wait / assumes rather stable data!) distribution i.e. partitioning of tasks or information (domains) (e.g., DNS) October 23, 08 31

Challenges for Security Security: confidentiality, integrity, availability Vulnerable components (Fig. 2.14) channels (links < > end-to-end paths) processes (clients, servers, outsiders) Threats information leakage integrity violation denial of service illegitimate usage Current issues: denial-of-service attacks, security of mobile code, information flow; open wireless ad-hoc environments Copy of m m The enemy Process p Process q Communication channel Figure 2.14 The enemy m CoDoKi, Fig. 2.14 October 23, 08 32

Threats Threats to channels (Fig. 2.14) eavesdropping (data, traffic) tampering, replaying masquerading denial of service Threats to processes (Fig. 2.13) server: client s identity; client: server s identity unauthorized access (insecure access model) unauthorized information flow (insecure flow model) Copy of m m The enemy Process p Process q Communication channel Figure 2.14 The enemy m CoDoKi, Fig. 2.14 Figure 2.13 Objects and principals CoDoKi, Fig. 2.13 October 23, 08 33

Defeating Security Threats Techniques cryptography authentication access control techniques - intranet: firewalls - services, objects: access control lists, capabilities Policies access control models lattice models information flow models Leads to: secure channels, secure processes, controlled access, controlled flows October 23, 08 34

Environment challenges A distributed system: HW / SW components in different nodes components communicate (using messages) components coordinate actions (using messages) Distances between nodes vary in time: from msecs to weeks in space: from mm s to Mm s in dependability Autonomous independent actors (=> even independent failures!) No global clock Global state information not possible October 23, 08 35

Challenges: Design Requirements Performance issues responsiveness throughput load sharing, load balancing issue: algorithm vs. behavior Quality of service correctness (in nondeterministic environments) reliability, availability, fault tolerance security performance adaptability October 23, 08 36

Where is the borderline between a computer and distributed system?

Hardware Concepts Characteristics which affect the behavior of software systems The platform... the individual nodes ( computer, processor ) communication between two nodes organization of the system (network of nodes)... and its characteristics capacity of nodes capacity (throughput, delay) of communication links reliability of communication (and of the nodes) Which ways to distribute an application are feasible October 23, 08 38

Basic Organizations of a Node 1.6 Different basic organizations and memories in distributed computer systems October 23, 08 39

Multiprocessors (1) 1.7 A bus-based multiprocessor. Essential characteristics for software design fast and reliable communication (shared memory) => cooperation at instruction level possible bottleneck: memory (especially the hot spots ) October 23, 08 40

Multiprocessors (2) 1.8 a) A crossbar switch b) An omega switching network A possible bottleneck: the switch October 23, 08 41

Homogeneous Multicomputer Systems 1-9 a) Grid b) Hypercube A new design aspect: locality at the network level October 23, 08 42

General Multicomputer Systems Hardware: see Ch1 (internet etc.) Loosely connected systems nodes: autonomous communication: slow and vulnerable => cooperation at service level Application architectures multiprocessor systems: parallel computation multicomputer systems: distributed systems ( how are parallel, concurrent, and distributed systems different?) October 23, 08 43

Software Concepts System Description Main Goal DOS Tightly-coupled operating system for multiprocessors and homogeneous multicomputers Hide and manage hardware resources NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency DOS: Distributed OS; NOS: Network OS October 23, 08 44

History of distributed systems RPC by Birel &Nelson -84 network operating systems, distributed operating systems, distributed computing environments in mid-1990; middleware referred to relational databases Distributed operating systems single computer Distributed process management - process lifecycle, inter-process communication, RPC, messaging Distributed resource management - resource reservation and locking, deadlock detection Distributed services - distributed file systems, distributed memory, hierarchical global naming October 23, 08 45

History of distributed systems late 1990 s distribution middleware well-known generic, with distributed services supports standard transport protocols and provides standard API available for multiple hardware, protocol stacks, operating systems e.g., DCE, COM, CORBA present middlewares for multimedia, realtime computing, telecom ecommerce, adaptive / ubiquitous systems October 23, 08 46

Misconceptions tackled The network is reliable The network is secure The network is homogeneous The topology does not change Latency is zero Bandwith is infinite Transport cost is zero There is one administrator There is inherent, shared knowledge October 23, 08 47

Multicomputer Operating Systems (1) 1.14 General structure of a multicomputer operating system October 23, 08 48

Multicomputer Operating Systems (2) 1.15 Alternatives for blocking and buffering in message passing. October 23, 08 49

Distributed Shared Memory Systems (1) a) Pages of address space distributed among four machines b) Situation after CPU 1 references page 10 c) Situation if page 10 is read only and replication is used October 23, 08 50

Distributed Shared Memory Systems (2) 1.18 False sharing of a page between two independent processes. October 23, 08 51

Network Operating System (1) 1-19 General structure of a network operating system. October 23, 08 52

Network Operating System (2) 1-20 Two clients and a server in a network operating system. October 23, 08 53

Network Operating System (3) 1.21 Different clients may mount the servers in different places. October 23, 08 54

Software Layers Platform: computer & operating system &.. Middleware: mask heterogeneity of lower levels (at least: provide a homogeneous platform ) mask separation of platform components - implement communication - implement sharing of resources Applications: e-mail, www-browsers, October 23, 08 55

Positioning Middleware 1-22 General structure of a distributed system as middleware. October 23, 08 56

Middleware Operations offered by middleware RMI, group communication, notification, replication, (Sun RPC, CORBA, Java RMI, Microsoft DCOM,...) Services offered by middleware naming, security, transactions, persistent storage, Limitations ignorance of special application-level requirements End-to-end argument: Communication of application-level peers at both ends is required for reliability October 23, 08 57

Middleware Host 1 Host 2 Distributed application Middleware API Middleware Operating System API Distributed application Middleware API Middleware Operating System API communication processing storage Operating system communication processing storage Operating system network October 23, 08 58

Middleware Middleware is a class of software technologies designed to help manage the complexity and heterogeneity inherent in distributed systems. It is defined as a layer of software above the operating system but below the application program that provides a common programming abstraction across a distributed system. Bakken 2001: Encyclopedia entry October 23, 08 59

Middleware and Openness 1.23 In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. October 23, 08 60

Comparison between Systems Item Distributed OS Multiproc. Multicomp. Network OS Middleware-based OS Degree of transparency Very High High Low High Same OS on all nodes Yes Yes No No Number of copies of OS 1 N N N Basis for communication Shared memory Messages Files Model specific Resource management Global, central Global, distributed Per node Per node Scalability No Moderately Yes Varies Openness Closed Closed Open Open October 23, 08 61

More examples on distributed software architectures

Architectural Models Architectural models provide a high-level view of the distribution of functionality between system components and the interaction relationships between them Architectural models define components (logical components deployed at physical nodes) communication Criteria performance reliability scalability,.. October 23, 08 63

Client-Server Client-server model: CoDoKi, Fig. 2.2 Service provided by multiple servers: Fig. 2.3 Needed: name service trading/broker service browsing service Proxy servers and caches, Fig. 2.4 Figure 2.2 Clients invoke individual servers CoDoKi, Fig. 2.2 CoDoKi, Fig. 2.4 CoDoKi, Fig. 2.3 Figure 2.3 A service provided by multiple servers Figure 2.4 Web proxy server October 23, 08 64

An Example Client and Server (1) The header.h file used by the client and server. October 23, 08 65

An Example Client and Server (2) A sample server. October 23, 08 66

An Example Client and Server (3) 1-27 b A client using the server to copy a file. October 23, 08 67

Processing Level 1-28 The general organization of an Internet search engine into three different layers October 23, 08 68

Multitiered Architectures (1) 1-29 Alternative client-server organizations. October 23, 08 69

Multitiered Architectures (2) Client - server: generalizations request node 1 A node 2 reply B node 3 A client: node 1 server: node 2 B client: node 2 server: node 3 node 4 the concept is related to communication not to nodes October 23, 08 70

Multitiered Architectures (3) 1-30 An example of a server acting as a client. October 23, 08 71

Variations on the Client-Server model Mobile code the service is provided using a procedure executed by a process in the server node downloaded to the client and executed locally Fig. 2.6 push service: the initiator is the server Mobile agents a running program (code & data) travels needed: an agent platform CoDoKi, Fig. 2.6 Figure 2.6 Web applets October 23, 08 72

Variations on the Client-Server model (cont.) Network computers diskless workstations needed code and data downloaded for execution Thin clients PC : user interface server: execution of computations (Fig. 2.7) example: Unix X-11 window system Network computer or PC Thin Client network Compute server Application Process Figure 2.7 Thin clients and compute servers CoDoKi, Fig. 2.7 October 23, 08 73

Variations on the Client-Server model (cont.) Mobile devices and spontaneous networks, ad hoc networks (Fig. 2.8) Needed easy connection to a local network easy integration with local services Problems limited connectivity security and privacy Discovery service two interfaces: registration, lookup Internet Discovery service gateway Music service Hotel wireless network Alarm service Camera TV/PC Laptop PDA Guests devices Figure 2.8 Spontaneous networking in a hotel October 23, 08 74

Modern Architectures 1-31 An example of horizontal distribution of a Web service. October 23, 08 75

Other Architectures Andrews paradigms: filter: a generalization of producers and consumers heartbeat probe echo Peer to peer CoDoKi, Fig. 2.5 October 23, 08 76

Chapter Summary Introduction into distributed systems Challenges and goals of distributing Examples of distributed systems October 23, 08 77