Confiabilidade de Sistemas Distribuídos
Descrição
The primary objective of this course is to deepen students' expertise in Dependable Distributed Systems. This will be achieved by enhancing their understanding of the foundational concepts and the latest research developments in dependable computing systems. The course covers advanced techniques, algorithms, and mechanisms essential for designing large-scale and complex distributed systems. Special emphasis will be placed on ensuring these systems are resilient, secure, and capable of tolerating faults, maintaining privacy, and withstanding intrusions.
The course focuses on the study of foundational theories and formalisms related to algorithms, mechanisms, and services essential for designing distributed dependable systems, particularly for critical applications where reliability, security, privacy, and fault tolerance are paramount. These properties are integrated into the system's identified requirements. The course places strong emphasis on practical implementation tools and techniques, experimental evaluation criteria, and the critical analysis of design principles. Students will also engage in experimental observation and assessment of practical dependable distributed systems to reinforce their theoretical knowledge.
Knowledge goals
- Concepts, principles, and paradigms essential for the analysis and synthesis of dependable distributed systems. This includes an in-depth examination of the mechanisms and services that support the design goals and operational reliability of these systems. Through this exploration, students will learn how to effectively design, implement, and manage distributed systems that meet stringent dependability requirements
- foundations and abstractions necessary for designing and constructing mechanisms and services that ensure the dependability of distributed systems. These foundational concepts provide the theoretical and practical basis for developing robust systems capable of maintaining reliability, security, and fault tolerance in distributed environments
- To provide comprehensive knowledge of the principles, design issues, foundations, paradigms, models, and dependability properties of Blockchain platforms. It explores the various service layers and design options available within these platforms, focusing on how they ensure security, reliability, and fault tolerance in decentralized environments. This includes an analysis of the unique challenges and considerations involved in the design and development of Blockchain-based systems and applications
- Foundations, techniques and paradigms for solutions and protocols supporting: data-storage and computation services; information dissemination for dependable distributed systems inspired in new Web3 paradigms.
- Principles, techniques, and paradigms for developing solutions and protocols that support data storage, computation services, and information dissemination in dependable distributed systems. It places a particular emphasis on approaches inspired by emerging Web3 paradigms, exploring how these new models can enhance the reliability, security, and efficiency of distributed systems in decentralized environments.
- Deep understanding of the foundations of methods, algorithms, tools, and cryptographic constructions essential for privacy-preserving engineering in distributed and multiparty data processing and computations. It focuses on how these techniques can be used to protect sensitive data while enabling secure and efficient collaboration across distributed systems. Students will explore the design and implementation of privacy-preserving protocols that ensure confidentiality and integrity in multiparty environments.
- To know about solutions for trusted computing platforms, tamper-proof devices (ex., TPMs) and trusted execution environments (TEEs)
- To study related mechanisms for isolation and containment, leveraging hardware-level trust-enabled solutions. Students will gain expertise in the design and deployment applcatioms with HW-backed TEE isolation, focusing on how these environments can ensure secure and trusted execution of code and protection of sensitive data by isolating it from potentially untrusted parts of the system.
Practical objectives
- To design and implement mechanisms and services, including their components and algorithms, essential for building critical distributed systems. Emphasis is placed on creating systems that are reliable, secure, and capable of meeting stringent operational requirements. Students will learn how to architect and develop these components to ensure the overall dependability of distributed systems in real-world, high-stakes environments.
- Analysis and experimental assessment of dependable properties in a dependable distributed system;
- Understanding how dependable properties rare implemented in dependable distributed systems to include reliability, availability, security, fault tolerance and privacy criteria. Additionally, the course offers practical knowledge of implementation principles and programming suported by Blockchain platforms. This includes hands-on experience in developing and deploying Blockchain-based solutions, ensuring that students can apply these technologies to create robust and secure distributed applications
- Practical application of novel and emerget cryptographic constructions, protocols, and solutions designed for privacy-preserved distributed data management and computations. Students will gain hands-on experience with implementing cryptographic techniques that protect data privacy while enabling secure, efficient processing in distributed environments. This includes working with encryption methods, secure multi-party computation, and other privacy-preserving technologies
- Know how to address the development of dependable distributed systems tailored for critical applications and services in IoT-Edge-Cloud continumm environments