2 Instruktorer Hold 1: Onsdag 8-11, lokale 1-532-316, y Lisa Wells. Hold 2: Mandag 12-15, H2.28, Thomas Ljungberg (Thomas Mailund vikar 11/2). Hold 3: Torsdag 11-14, lokale 1-532-316, Thomas Mailund. Hold 4: Torsdag 11-14, lokale 1-521-228, Thomas Ljungberg (Thomas Pedersen vikar 14/2). Hold 5: Onsdag 9-12, Kollokvium G4, y Thomas Pedersen.
4 System models – what and why? zSystem model: yAbstract, consistent description of a relevant aspect of a distributed system. yDescription of the main entities of a system and their interaction, and individual and collective behaviour zAid for design, analysis, discussion, etc. yMake assumptions explicit. yInvestigate what is possible or impossible.
5 Architectural and fundamental models zArchitectural model: Description of the components of a system and the relationship between them. zFundamental models: Description of properties that are common in architectural models: y Interaction model. y Failure model. y Security model.
6 Architectural models zDescribe the components of systems and their interaction; describe mapping of components to computers. zDefine useful patterns for the distribution of data and workload. zDefine the functional roles of components and the patterns of communication between them.
12 Other architectural models – mobile code, web applets a) client requests results in the downloading of applet code Web server Client Web server Applet Applet code Client b) client interacts with the applet
13 Other architectural models – spontaneous networking Internet gateway PDA service Music service Discovery Alarm Camera Guests devices Laptop TV/PC Hotel wireless network Easy connection and integration; limited connectivity; problems with security and privacy; discovery service with registration and lookup.
15 Architectural models in practice zOften specified in UML, the Unified Modeling Language, e.g., as: yClass diagrams. yObject diagrams. yComponent diagrams. yDeployment diagrams. zFor more info, see www.uml.orgwww.uml.org
16 Fundamental models zDescription of properties that are common in architectural models: yInteraction model (performance/timing model?): Performance of processes and communication channels, absence of a global clock, timing problems, … yFailure model: Failures of processes and communication channels, reliable communication, … ySecurity model: Possible threats to processes and communication channels, secure channels, …
17 Interaction model – basic issues zPerformance of processes. zPerformance of communication channels: yLatency. yBandwidth. yJitter. zComputer clocks and timing events. yLack of global notion of time.
18 Interaction model – synchronous vs. asynchronous zSynchronous distributed systems – bounds on: yProcess execution speed. yMessage transmission delays. yLocal clock drift rates. zAsynchronous distributed systems – no bounds.
24 Failure model – remedies zMasking failures: yHiding failures. yConverting failures into less severe ones. zEnsuring reliability of one-to-one communication: yValidity: Any message sent is eventually delivered. yIntegrity: All messages received have been sent; no messages are delivered twice.
25 Security model – basic issues zProtecting objects against unauthorized access. ySpecify who is allowed to perform which operations. yUse access rights. zSecuring processes and their interactions. zSecuring communication channels. zIdentifying threats.
27 Security model - enemies Communication channel Copy of m Process p q m The enemy m’ An enemy is capable of sending any message to any process, and read or copy any message in transfer between a pair of processes