Defining Distributed Systems Distribuerade system C-kurs 5 poäng HT-02 A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages Om en maskin som du aldrig hört talas om går ner och det hindrar dig från att jobba så har du ett distribuerat system 3/9-02 Distribuerade system - Jonny Pettersson, UmU 1 3/9-02 Distribuerade system - Jonny Pettersson, UmU 2 Exemples of DS: Internet Exemples of DS: Intranet print and other s email Desktop computers ISP intranet Web Local area network backbone email File print desktop computer: : network link: satellite link the rest of the Internet router/firewall other s 3/9-02 Distribuerade system - Jonny Pettersson, UmU 3 3/9-02 Distribuerade system - Jonny Pettersson, UmU 4 Exemples of DS: Mobile Computing Consequences of DS Internet Concurrency No global clock Independent failures Host intranet Wireless LAN WAP gateway Home intranet Printer Camera Mobile phone Laptop Host site 3/9-02 Distribuerade system - Jonny Pettersson, UmU 5 3/9-02 Distribuerade system - Jonny Pettersson, UmU 6 1
Vad händer i dag? Kursledning Kursplan Förra året Årets kurs Registrering Introduktion till Distribuerade system Kursplan Kursdeltagarna ska förvärva kunskaper om teoretiska modeller för distribuerade system kunskaper om problem och lösningar i samband med design och konstruktion av distribuerade system Kursen behandlar: Arkitekturmodeller för distribuerade system Klient-, peer-to-peer, transaktioner, transparens, namngivning, felhantering, resursfördelning och synkronisering Datasäkerhetsaspekter i ett brett perspektiv Metoder och tekniker för datasäkerhet Distribuerad programmering och middleware 3/9-02 Distribuerade system - Jonny Pettersson, UmU 7 3/9-02 Distribuerade system - Jonny Pettersson, UmU 8 Kursplan (forts) Moment 1, teoridel, 3 poäng Teorier, metoder, algoritmer och principer Moment 2, laborationsdel, 2 poäng Obligatoriska uppgifter 3/9-02 Distribuerade system - Jonny Pettersson, UmU 9 Förra året Flera föreläsare Kursdisposition Bra, men spridda åsikter Gruppövningar Den var bra Kurslitteratur Bra, men formell och tungläst Koppling teori och labbar Okej, blandat Tyngd på labbar Lagom Lite högre arbetsbelastning än snittet 3/9-02 Distribuerade system - Jonny Pettersson, UmU 10 Årets kurs Kurslitteratur Fokus på Middleware programmering Säkerhet Distribuerade algoritmer Upplägg Föreläsningar Gruppövningar Laborationer Laborationer 3 stycken Debatt om säkerhet E-handelssystem, huvudlabben En liten om EJB Tid till förfogande Grupper om 2 eller 3, gäller ej debatten Koppling till teorin MA336 3/9-02 Distribuerade system - Jonny Pettersson, UmU 11 3/9-02 Distribuerade system - Jonny Pettersson, UmU 12 2
Undervisning Pedagogisk tanke Val av presentationshjälpmedel OH-bilder Källa Innehåll Språk Vad bör man lära sig? The rest of today Challenges Architectural models Fundamental models 3/9-02 Distribuerade system - Jonny Pettersson, UmU 13 3/9-02 Distribuerade system - Jonny Pettersson, UmU 14 Resource sharing: The Web Distributed Systems www.google.com www.cdk3.net File system of www.w3c.org Web s www.w3c.org Protocols http://www.google.comlsearch?q=kindberg Browsers Internet http://www.cdk3.net/ http://www.w3c.org/protocols/activity.html What is distributed? Data Computing power Services Entities Security Name space Time Challenges Heterogeneity Openness Security Scalability Failure handling Concurrency Transparency Activity.html 3/9-02 Distribuerade system - Jonny Pettersson, UmU 15 3/9-02 Distribuerade system - Jonny Pettersson, UmU 16 Heterogeneity Openness Applies to Networks Computer hardware Operating systems Programming languages Implementations by different developers Middleware - software layer that provides programming abstraction and mask heterogeneity Mobile code - code that can be sent from one computer to another Extended and reimplemented Very important in the industry RFC (requests for comments) You ll use it in your work. In this course. And probably in the rest of your life Open systems; Key interfaces are published Open distributed systems can be constructed from heterogeneous hardware and software. 3/9-02 Distribuerade system - Jonny Pettersson, UmU 17 3/9-02 Distribuerade system - Jonny Pettersson, UmU 18 3
Scalability Scalability Controlling the cost of physical resourses Controlling the performance loss Preventing software resourse running out Avoiding performance bottlenecks Date Computers Web s 1979, Dec. 188 0 1989, July 130,000 0 1999, July 56,218,000 5,560,866 3/9-02 Distribuerade system - Jonny Pettersson, UmU 19 Date Computers Web s Percentage 1993, July 1,776,000 130 0.008 1995, July 6,642,000 23,500 0.4 1997, July 19,540,000 1,203,096 6 1999, July 56,218,000 6,598,697 12 3/9-02 Distribuerade system - Jonny Pettersson, UmU 20 Failure handling Techniques for dealing with failures Detecting failures Masking failures Tolerating failures Recovery from failures Redundancy 3/9-02 Distribuerade system - Jonny Pettersson, UmU 21 Transparency 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. 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. 3/9-02 Distribuerade system - Jonny Pettersson, UmU 22 System Models Software and hardware layers Architectural models Concerned with the placements of its parts and the relationships between them. Examples - Peer-to-peer Fundamental models Concerned with a more formal description of the properties that are common in architetural models Models Interaction model Failure model Security model Applications, services Middleware Operating system Platform Computer and network hardware 3/9-02 Distribuerade system - Jonny Pettersson, UmU 23 3/9-02 Distribuerade system - Jonny Pettersson, UmU 24 4
- Multiple - s Service invocation result invocation result Key: Process: Computer: 3/9-02 Distribuerade system - Jonny Pettersson, UmU 25 3/9-02 Distribuerade system - Jonny Pettersson, UmU 26 Web proxy Peer processes Application Application Proxy Web Coordination code Coordination code Web Application Coordination code 3/9-02 Distribuerade system - Jonny Pettersson, UmU 27 3/9-02 Distribuerade system - Jonny Pettersson, UmU 28 Mobile code - web applets Thin clients a) client request results in the downloading of applet code b) client interacts with the applet Applet code Web Network computer or PC Thin network Compute Application Process Applet Web 3/9-02 Distribuerade system - Jonny Pettersson, UmU 29 3/9-02 Distribuerade system - Jonny Pettersson, UmU 30 5
Mobile devices and spontaneous networking Mobile devices and spontaneous networking (cont.) Internet Discovery service gateway TV/PC Hotel wireless network Music service Laptop PDA Alarm service Camera Guests devices Key features and other issues Easy connection to a local network Easy integration with local services Other issues Limited connectivity Security and privacy Discovery services Registration Lookup services 3/9-02 Distribuerade system - Jonny Pettersson, UmU 31 3/9-02 Distribuerade system - Jonny Pettersson, UmU 32 Desgn requirements for distributed architectures Fundamental models Performance issues Quality-of-service Use-of-caching and replication Depedandability issues Fault tolerance Security Questions Main entities? How do they interact? Behaviour? Purpose Make all relevant assumtions explicit Make generalization Interaction Failure Security 3/9-02 Distribuerade system - Jonny Pettersson, UmU 33 3/9-02 Distribuerade system - Jonny Pettersson, UmU 34 Interaction model Two significant factors affecting interaction Communication performance is often a limiting characteristic. It is impossimble to maintain a single notion of time. Performance of communication channels Latency Bandwidth Jitter 3/9-02 Distribuerade system - Jonny Pettersson, UmU 35 3/9-02 Distribuerade system - Jonny Pettersson, UmU 36 6
X Y Z A send 1 m 1 2 Event ordering send 3 m 2 4 send m 3 m 1 m 2 t 1 t 2 t 3 Physical time process p Communication omission failures send m Outgoing message buffer Communication channel Omission and arbitrary failures Fail-stop Crash Omission Send-omission Receive-omission Arbitrary (Byzantine) process q Incoming message buffer 3/9-02 Distribuerade system - Jonny Pettersson, UmU 37 3/9-02 Distribuerade system - Jonny Pettersson, UmU 38 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. Reliability of one-to-one communication Validity Integrity Threats Retransmitting Malicious users 3/9-02 Distribuerade system - Jonny Pettersson, UmU 39 3/9-02 Distribuerade system - Jonny Pettersson, UmU 40 Security models: Protecting objects The enenmy invocation Access rights Object Threats to processes Threats to communication channels Principal (user) result Network Principal () Process p Copy of m The enemy m m Communication channel Process q 3/9-02 Distribuerade system - Jonny Pettersson, UmU 41 3/9-02 Distribuerade system - Jonny Pettersson, UmU 42 7
Defeating security threats Summary Cryptography and shared secrets Authentication Secure channels Principal A Process p Secure channel Process q Principal B Introduction to the course What is a distributed system A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages Consequences Concurrency No global clock Independent failures 3/9-02 Distribuerade system - Jonny Pettersson, UmU 43 3/9-02 Distribuerade system - Jonny Pettersson, UmU 44 Summary (cont.) Challenges Heterogeneity Openness Security Scalability Failure handling Concurrency Transparency Architectural models Fundamental models 3/9-02 Distribuerade system - Jonny Pettersson, UmU 45 8