|

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)
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.

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.

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

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.

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.

| |
|