Tutorials

 

Third ERSADS
European Research Seminar on Advances in Distributed Systems
Spring School and Workshop
Madeira Island - Portugal. 23-28 April 1999

Click to see the details on the tutorials:

Distributed Fault-Tolerance, David Powell  (LAAS -- France)

Real-time Programming Languages, Alan Burns (U. York - UK)

Intrusion Detection, Roy Maxion (Carnegie-Mellon - USA)

Mobile Computing: Beyond the Desktop Personal Computer, Randy Katz (Berkeley- USA)

Construction of Distributed Applications based on Smart Cards, Jean-Jacques Vandewalle (GemPlus - FR)

    

Distributed Fault-Tolerance
David Powell  (LAAS -- France)

Saturday, 24
Abstract
The tutorial will focus on distributed, software-implemented fault-tolerance techniques. Methods for achieving fault-tolerance in distributed systems will be discussed and illustrated by means of three practical examples: a fault-tolerant open distributed processing platform, a generic fault-tolerant real-time architecture and a fail-safe duplex redunancy protocol.
 
Program
After giving a general overview of dependability concepts, the tutorial will focus on distributed, software-implemented fault-tolerance techniques. Fault and timing models for distributed systems will be discussed from the viewpoint of assumption coverage. After a general overview of some techniques for achieving consistency and fault-tolerance, three practical projects will be described and commented: Delta-4, GUARDS and PADRE. The Delta-4 architecture provides fault-tolerance by replication in an open distributed processing environment. The GUARDS architecture enables ultra-dependable systems to be configured for critical embedded applications. PADRE is a protocol for managing duplex redundancy in distributed, safety-critical applications. Both Delta-4 and GUARDS adopt a synchronous distributed system model, whereas PADRE is designed according to the timed asynchronous model.
Dependability concepts
        Dependability attributes, impairments and means
        Failures, errors and faults
        Error detection
        Error recovery
        Fault treatment
Distributed fault-tolerance
        Distribution and fault tolerance
        Assumptions
                Process and communication fault models
                Timing models
                Assumption coverage
        Distributed consistency
                Global time
                Consensus
                Group communication
        Fault tolerance techniques
                Local recovery
                Distributed recovery
                Replicated processes
                Replicated data
Example 1 : The Delta-4 Distributed Fault-Tolerant Architecture
        Goals
        Fault assumptions
        Architecture
        Fault-tolerance
                Supporting protocols
                Error processing : replication techniques
                Fault treatment
        Lessons learnt
Example 2 : GUARDS: A Generic Upgradable Architecture for Real-time Dependable Systems
        Goals
        Fault assumptions
        Real-time
        Architecture
                Software integrity levels
                Intra and inter-channel redundancy
                Inter-channel communication
                Output consolidation
                Fault treatment
        Prototype implementations
Example 3 : PADRE: A Protocol for Asymmetric Duplex Redundancy
        Goals
        Fault assumptions
        Problem statement
        Timed asynchronous model
        Fail-aware datagram service
        Duplex redundancy management
                Principles and properties
                Reception protocol
                Quarantine control protocol
                De-quarantine protocol
  
Short curriculum vitae
Dr. David Powell leads the Dependable Computing and Fault Tolerance Research Group at LAAS-CNRS. He has written over ninety papers for international and national journals and conferences, is co-author of two books on dependable computing and holds a patent for a fault and damage-tolerant network for data transmission. He has managed several national and European research contracts and acted as a consultant for aerospace, telecommunication and data processing companies in France, and for the European Commission.
to the top

  

Real-time Programming Languages
Alan Burns (U. York - UK)

Sunday, 25
Abstract
Requirments for programming languages in concurrent real-time distributed systems. Provisions of Ada and JaVa. Operating Systems support and POSIX. Configuration/middleware support and CORBA. Design methodologies for real-time distributed systems.
Program
This talk will start by outlining the requirements of any language which is to be used for programming real-time systems, on both single processor and/or distributed hardware. Issues to be considered will include, assess to a clock or clocks, representations of time, coordinating execution with external time, recognising timeouts, representing timing requirements and scheduling. The two key notions being `delay' (slowing the processing elements down so that they work in real-time) and `deadline' (ensuring the processing elements work fast enough to work in real-time). On a distributed system, communication delays and clock coordination are also key issues.
Having described the abstractions needed to program real-time systems a review of existing programming languages will be presented. Particular emphasis will be given to Ada. Other languages to be considered will include Java.
To ensure that deadlines are met it is necessary to schedule the available resources in a way that is both efficient and predictable. Consideration will be given to preemptive priority based scheduling as this provides a set of mechanism that are both predictable and flexible. Response time analysis will be described. This is a means of effectively predicating the behaviour of resource-bound applications. The representation of preemptive priority based scheduling in Ada and via the operating interface standard POSIX will be reviewed.
With preemptive priority based scheduling processes are released by events. Events can arrive from a clock, from an external `object' via an interrupt or from another process. With a distributed system it is necessary to decide if precedent relations between processes are to be realised by time events (in which case a global time frame is needed) or by `release' events (in which case global time is not needed but scheduling becomes holistic and potentially inefficient due to release jitter effects). The trade-off involved in this choice will be described, as will rate control methods. The role of CORBA in aiding (or not) distributed real-time systems will be considered.
To obtain effective and analysable real-time systems it is necessary to restrict the design freedom available to those developing the software architecture. An effective computational model for scheduling analysis will be described. The realisation of this model in the design method HRT-HOOD will then be outlined.
 
Short curriculum vitae
Alan Burns is a Professor of Real-Time Systems in the Department of Computer Science, University of York, U.K. He graduated in Mathematics from the University of Sheffield in 1974, undertook his PhD at the University of York before taking up a tenured post at the University of Bradford. He joined the University of York again in 1990 and was promoted to a personal chair in 1994. Together with Professor Andy Wellings he heads the Real-Time Systems Research Group at the university; a group that has currently 4 faculty members, 9 Postdoc researchers and 7 PhD students. He has served on many Programme Committees and has been PC chair and General Chair for RTSS. He has published widely and works on a number of research areas within the real-time field.
 
to the top

  

Intrusion Detection
Roy Maxion (Carnegie-Mellon - USA)

Monday, 26
Abstract
A crucial problem of today's distributed systems is the level of risk of their operation, given that the growth of requirements for openess (e.g. electronic commerce, virtual enterprises) makes it difficult to base security on mere intrusion avoidance. The tutorial will address the problem of detecting and reacting to intruders in distributed systems, both in networks and in data repositories. It will analyze the different approaches to the problem, and provide some insight on solutions and practical experiments.
Program

 

Short curriculum vitae

 

to the top

 

Mobile Computing: Beyond the Desktop Personal Computer
Randy Katz (Berkeley- USA)

Tuesday, 27
Abstract
In this tutorial, we examine the challenges and opportunities presented by extending access to the interconnected world of desktop machines and servers to devices that can be mobile and connected over wireless links. Such devices, starting with laptop computers and evolving towards portable information appliances like "smart" telephones, pagers, and personal digital assistants, introduce new demands for mobility, connectivity, and applications partitioning. The new network protocol and middleware applications support technologies will be the focus of this tutorial. The developments will be made concrete through the introduction of examples drawn from the Bay Area Research Wireless Access Network (BARWAN) project recently concluded at the University of California, Berkeley.
Program
In this tutorial, we examine the challenges and opportunities presented by extending access to the interconnected world of desktop machines and servers to devices that can be mobile and connected over wireless links. Such devices, starting with laptop computers and evolving towards portable information appliances like "smart" telephones, pagers, and personal digital assistants, introduce new demands for mobility, connectivity, and applications partitioning. The new network protocol and middleware applications support technologies will be the focus of this tutorial. The developments will be made concrete through the introduction of examples drawn from the Bay Area Research Wireless Access Network (BARWAN) project recently concluded at the University of California, Berkeley.
1. Wireless Data: Overview, Challenges, Opportunities
        1.1. Wireless Definitions and Trends
        1.2. Wireless Telephony: A Comparison of Trends
        1.3. Quo Vadis Wireless Data?
        1.4. Summary and Conclusions
2. Network Infrastructure Overview
        2.1. Wireless Overlay Concept
        2.2. Client-Proxy-Server Architecture
        2.3. Bay Area Research Wireless Access Network (BARWAN)
3. Wireless Data Technology
        3.1. Wireless Local Area Networks
        3.2. Wide-Area Wireless Data Networks
        3.3. Satellite Networks
4. Mobility Protocols
        4.1. Mobile and Overlay IP
        4.2. Low Latency Handoff Concept
        4.3. Vertical Handoff Concept
5. Transport Protocols
        5.1. Problems with TCP over Wireless Links
        5.2. Solution: Snoop Agent
6. Asymmetric and Hybrid Networks
        6.1. LMDS/MMDS Networks
        6.2. Satellite Networks
        6.3. Packet Radio Networks
7. Proxy Architecture
        7.1. Data-Type Specific Distillation
        7.2. Distillation on Demand
        7.3. Computing in the Infrastructure
        7.4. Application Partitioning
Short curriculum vitae
Randy H. Katz received his undergraduate degrees in mathematics and computer science at Cornell University in 1976, and the M.S. and Ph.D. degrees at Berkeley in 1978 and 1980 respectively. After a year in industry, he was on the faculty of the Computer Science Department at the University of Wisconsin-Madison, before joining the Computer Science Division at Berkeley in 1983. He is currently the United Microelectronics Corporation Distinguished Professor and Chairman of the Electrical Engineering and Computer Science Department. He has worked in databases, CAD, VLSI, computer memory and I/O systems, video servers, and most recently, in wireless communications and mobile computing. He has published over 150 papers in these diverse areas, has won numerous best paper, presentation, and teaching awards, and is a Fellow of the ACM and the IEEE.
to the top
     

Construction of Distributed Applications based on Smart Cards
Jean-Jacques Vandewalle (GemPlus - FR)

Wednesday, 28
Abstract
With the advent of Java Card, smart cards can be considered as object servers in distributed applications. This tutorial focuses on the software engineering   techniques and tools for building applications with smart cards. We will   provide a methodology for developing smart card-based applications, which accounts for both internal and external software production (i.e., on-card and client programs). This development methodology is based on the application of object-oriented distributed systems principles to Java-based smart cards.

 

Program
During this lecture I will * not * focus on security issues nor on the issues concerning the embedded nature of smart card codes (I will however point out some hints about these issues). I will explain why we are now at the stage where smart card applications can be developed with high-level software development techniques and tools. The goal is to convince the audience that smart cards can be seen as object servers in distributed applications. The consequences are that smart card applications can be developed with techniques inherited from distibuted systems, and that smart cards can be easily integrated in distributed applications.
1. What is a smart card.
==>To provide some things like: hardware used in smart cards, standardization constraints, current applications, etc.
2. How to develop a smart card-based application, with two points of view : the code on the card, and the code on the host communicating with the card.
==>To show that a smart card application is in fact a client-server application in which the card is a server.
3. How to develop a smart-based application with Java Card (with the same two points of view).
==>To demonstrate that a smart card application can be developed as an object-oriented distributed application.
==>To show that, nevertheless, the communication between a smart card application and a host application is based on message passing.
4. Advanced techniques for developing smart card based applications; Remote Procedure Calling and object-oriented mechanisms.
==>To demonstrate that distributed applications with smart cards can be developed with the same techniques as those involved in current distributed system and object-oriented approaches.
5. Future trends of smart card use.
==>To wonder what will be the roles of smart cards in the future.
 
Short curriculum vitae
Born: 17 December 1968. Citizenship: French. Degrees: M.Sc. and Ph.D in Computer Science, from the LIFL (Laboratoire d'Informatique Fondamentale de Lille) of the University of Lille. Jean-Jacques Vandewalle is currently a research engineer at the Gemplus Research Lab, a R&D department of the french company Gemplus which is the world's leading provider of plastic and smart card based solutions. He has been involved in software engineering for open smart cards since his M.Sc, in 1991, and during his Ph.D's years. He joined Gemplus in 1997 where he was one of the main architect of the team that realized the first Java Card 2.0 compliant smart card. He is currently interested in tools for building extensible smart cards, and in tools for integrating smart card in applications.
  
to the top