D EP S PACE: Um Middleware para Coordenac¸˜ ao em Ambientes Dinˆ amicos e N ˜ ao Confi ´ aveis ∗ Alysson Neves Bessani 1 , Eduardo Adilio Pelinson Alchieri 2 , Miguel Correia 1 , Joni da Silva Fraga 2 , Lau Cheuk Lung 3 1 LaSIGE - Faculdade de Ciˆ encias da Universidade de Lisboa 2 DAS - Departamento de Automac¸˜ ao e Sistemas UFSC - Universidade Federal de Santa Catarina 3 PPGIA - Programa de P ´ os-Graduac¸˜ ao em Inform´ atica Aplicada PUC-PR - Pontif´ıcia Universidade Cat´ olica do Paran´ a Abstract. Modern distributed systems have to deal with several contradicting challen- ges, like openness, mobility, security and tolerance to accidental faults. Tuple spaces are a promising communication model for those environments due to their time and space decoupling, and their synchronization power. This paper presents DEP S PACE, a fault and intrusion-tolerant tuple space. This system provides a communication infrastructure that can be used to implement trustworthy services, tolerating both ac- cidental faults (e.g., crashes), malicious attacks and even intrusions in some of the system’s components. The paper also presents an implementation of a synchroniza- tion barrier on top of DEP S PACE that tolerates malicious processes. Resumo. Os sistemas distribu´ıdos modernos tˆ em de lidar com requisitos desafiadores como abertura, mobilidade, seguranc¸a a tolerˆ ancia a faltas acidentais. Espac¸os de tuplas representam um modelo de comunicac¸˜ ao promissor nesses ambientes devido a seu desacoplamento temporal e espacial, bem como seu poder de sincronizac¸˜ ao. Este artigo apresenta o DEP S PACE, um espac¸o de tuplas tolerante a faltas e intrus˜ oes. Este sistema provˆ e uma infraestrutura de comunicac¸˜ ao que pode ser usada para im- plementar servic¸os confi´ aveis, tolerando faltas, ataques e intrus˜ oes em alguns de seus componentes. O artigo apresenta tamb´ em uma implementac¸˜ ao de uma barreira de sincronizac¸˜ ao tolerante a faltas usando o DEP S PACE. 1. Introduc¸˜ ao A maioria dos sistemas distribu´ıdos modernos tˆ em caracter´ısticas de sistemas abertos, os quais tipicamente s˜ ao compostos por um n´ umero desconhecido de processos, executando em ambi- entes heterogˆ eneos e n˜ ao confi´ aveis, conectados atrav´ es de redes tamb´ em heterogˆ eneas e n˜ ao confi´ aveis, como a Internet. Em vista disso, existe uma grande e importante demanda por fer- ramentas que permitam a construc¸˜ ao de aplicac¸˜ oes mais complexas de forma eficiente e r´ apida. Dentre as abordagens empregadas na concepc¸˜ ao destas ferramentas, o modelo de coordenac¸˜ ao por espac¸o de tuplas [Gelernter 1985] destaca-se por oferecer uma comunicac¸˜ ao onde as interac¸˜ oes s˜ ao desacopladas no tempo (os participantes n˜ ao precisam estar ativos no mesmo instante) e no espac¸o (os participantes n˜ ao precisam se conhecer), sendo uma aborda- gem flex´ıvel e simples. Deste modo, v´ arios trabalhos sobre a introduc¸˜ ao de tolerˆ ancia a faltas neste modelo foram propostos, tanto atrav´ es da construc¸˜ ao de espac¸os de tuplas tolerantes a faltas quanto na concepc¸˜ ao de mecanismos que permitem a construc¸˜ ao de aplicac¸˜ oes tolerantes a faltas sobre o espac¸o de tuplas (ex. [Bakken and Schlichting 1995]). Com relac¸˜ ao ` a seguranc¸a, espac¸os de * Realizado com recursos do CNPq (projeto n ´ umero 550114/2005-0). Salão de Ferramentas SBRC 2007 - Sistemas Distribuídos e Segurança 1155