Avaliação: Questionário 1
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.
Synchronization in a synchronous system; Cristian's method for synchronizing clocks; The Berkeley algorithm; The Network Time Protocol;
Global states and consistent cuts; Global state predicates, stability, safety and liveness;
Avaliação: Questionário 11
Failure assumptions and failure detectors;
Algorithms for mutual exclusion;
Basic multicast; Reliable multicast; Ordered multicast;
System model and problem definitions; Consensus in a synchronous system; The byzantine generals problem in a synchronous system;
Avaliação: Trabalho de implementação de um algoritmo distribuído e apresentação em aula.
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.
Volatile systems;
Discovery services; Physical association; Summary and perspective;
Data-oriented programming for volatile systems; Indirect associations and soft state; Summary and perspective;
Sensors; Sensing architectures; Location-sensing; Summary and perspective;
Background; Some solutions; Summary and perspective;
Context-aware adaptation of content; Adapting to changing system resources; Summary and perspective;
Web presences; Physical hyperlinks; Interoperation and the `eSquirt' protocol; Summary and perspective;
Avaliação: Apresentação de seminário.