1 Characterization of Distributed Systems

1.1 Introduction
Fatos Marcantes e Histórico da Pesquisa

1.2 Examples of distributed systems
Mobile and Ubiquitous Computing

1.3 Resource sharing and the Web
The World Wide Web: Web Services

1.4 Challenges
Heterogeneity; Openness; Security; Scalability; Failure handling; Concurrency; Transparency

Avaliação:   Questionário 1

2 System Models

2.1 Introduction

2.2 Architectural Models

Software layers;
System architectures: Client-Server (processes, objects), Services provided by multiple servers, Proxy Servers and Cache, Peer-to-Peer Systems, Variations on the client-server model: mobile code, mobile agentes, Mobile Devices and Spontaneous Networkng, Clusters and Grid Distributed Computing;

Design Requirements for distributed architectures: Performance Issues, Quality of Service, Use of Caching and Replication, Dependability Issues.

2.3 Fundamental Models:

Interaction Model (Examples with OBJECT  Z and Temporal Logic); Failure Model; Security Model.

Avaliação:   Escrever uma especificação formal.

11 Time and Global States

11.1 Introduction

11.2 Clocks, events and process states

11.3 Synchronizing physical clocks

Synchronization in a synchronous system; Cristian's method for synchronizing clocks; The Berkeley algorithm; The Network Time Protocol;

11.4 Logical time and logical clocks

11.5 Global states

Global states and consistent cuts; Global state predicates, stability, safety and liveness;

Avaliação:     Questionário 11

12 Coordination and Agreement

12.1 Introduction

Failure assumptions and failure detectors;

12.2 Distributed mutual exclusion

Algorithms for mutual exclusion;

12.3 Elections

12.4 Multicast communication

Basic multicast; Reliable multicast; Ordered multicast;

12.5 Consensus and related problems

System model and problem definitions; Consensus in a synchronous system; The byzantine generals problem in a synchronous system;

12.6 Questionário 12

Avaliação:   Trabalho de implementação de um algoritmo distribuído e apresentação em aula.

16 Mobile and Ubiquitous Computing (Coulouris/Dollimore/Kindberg - 4th Edition)

Outline

This chapter surveys the fields of mobile and ubiquitous computing, which have come about due to device miniaturization and wireless connectivity. Broadly speaking, mobile computing is concerned with exploiting the connectedness of portable devices; ubiquitous computing is about exploiting the increasing integration of computing devices with our everyday physical world.

The chapter introduces a common system model that stresses the volatility of mobile and ubiquitous systems: the set of users, devices and software components in any given environment is liable to change frequently. The chapter then surveys some of the chief areas of research that come about because of volatility and the physical bases for volatility, including: how software components come to associate and interoperate with one another as entities move, fail or spontaneously appear; how systems become integrated with the physical world through sensing and context awareness; the security and privacy issues that arise in volatile, physically integrated systems; and techniques for adapting to small devices’ lack of computational and I/O resources. The chapter ends with a case study of the Cooltown project, which devised a human-oriented, web-based architecture for mobile and ubiquitous computing.

16.1 Introduction

Volatile systems;

16.2 Association

Discovery services; Physical association; Summary and perspective;

16.3 Interoperation

Data-oriented programming for volatile systems; Indirect associations and soft state; Summary and perspective;

16.4 Sensing and context-awareness

Sensors; Sensing architectures; Location-sensing; Summary and perspective;

16.5 Security and privacy

Background; Some solutions; Summary and perspective;

16.6 Adaptation

Context-aware adaptation of content; Adapting to changing system resources; Summary and perspective;

16.7 Case study of Cooltown

Web presences; Physical hyperlinks; Interoperation and the `eSquirt' protocol; Summary and perspective;

16.8 Summary

Avaliação:   Apresentação de seminário.