Esta versão da tese contém as correções e alterações sugeridas pela Comissão Julgadora durante a defesa da versão original do trabalho, realizada em 30/11/2016. A versão original está disponível para consulta na Biblioteca da Eng. Elétrica da Escola Politécnica da USP.Comissão Julgadora:• Prof a . Dr a . Graça Bressan (orientadora) -Escola Politécnica-PCS-USP• Prof a . Dr a Liria Matsumoto Sato -Escola Politécnica-PCS-USP
ACKNOWLEDGEMENTSI wish to thank my thesis supervisor Professor Graça Bressan for the greatest opportunities she has provided me during my academic studies. Her patience, guidance and words of encouragement were invaluable during the researching and writing of this doctoral thesis. Also, I would like to thank several Professors at Escola Politécnica of University of São Paulo, who gave me the foundation an engineer needs to have. To name a few, Jorge Risco Becerra, Wilson Ruggiero, Jorge Amazonas, etc. For the members of the committee formed to evaluate this thesis, I wish to thank for all their time, dedication, guidance and patience during the writing and reviewing of this thesis. For the mates I have made during my academic studies, with whom I have spent incredible moments of relaxing and fun. And of course, for my parents, who made countless sacrifices in order to raise me and my sister and gave all the educational and moral foundation we needed for life. A Computação em Nuvem é um paradigma de computação distribuída que vem sendo utilizado extensivamente em vários campos de interesse nos últimos anos, desde aplicações web comuns até a aplicações de alta-performance computacional. O modelo de pagamento pelo uso e a isonomia dos métodos de acesso transformaram o ambiente de Computação em Nuvem em uma alternativa extremamente popular e atrativa tanto para universidades como para empresas privadas. Entre os modelos de implantação adotados atualmente destaca-se o de nuvem em comunidade, onde várias entidades que possuem interesses em comum constroem, mantém e compartilham a mesma infraestrutura de serviços em nuvem. O modelo computacional em nuvem também pode ser atrativo para aplicações que tenham como requisito o processamento em tempo real, principalmente pela capacidade de manipulação de grandes volumes de dados e pela propriedade de elasticidade, que é a inserção ou remoção de recursos computacionais dinamicamente de acordo com a demanda. Nesta tese, são identificados os requisitos para a construção de um ambiente em nuvem em comunidade para aplicações de tempo real. A partir destes requisitos e de uma revisão bibliográfica baseada em nuvem e sistemas distribuídos de tempo real, é desenvolvida a proposta de uma arquitetura de nuvem em comunidade de tempo real. Um estudo de caso de compra e venda de ações em bolsa de valores é apresentado como uma aplicação viável para este modelo, sendo que um algoritmo de escalonamento de tempo real para este ambiente é proposto. Por fim, é desenvolvido nesta tese um simulador cujo objetivo é demonstrar em termos quantitativos quais as melhorias de desem...