Caracterização de Sistemas Distribuídos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29
Sumário Introdução Exemplos de Sistemas Distribuídos Tendências em Sistemas Distribuídos Enfoque no Compartilhamento de Recursos Desafios Estudo de Caso: a World Wide Web http://sites.google.com/sitew/leonardobcampos 2/29
Introdução Definição de Sistemas Distribuídos: Aquele no qual componentes de hardware e software, localizados em computadores interligados em rede, comunicam-se e coordenam suas ações apenas enviando mensagens entre si.(coulouris et al, 2013) Definição simples mas que abrange toda a gama de sistemas nos quais computadores interligados em rede podem ser distribuídos de maneira útil; Os computadores conectados por meio de uma rede podem estar separados por qualquer distância (continentes, prédios ou sala). http://sites.google.com/sitew/leonardobcampos 3/40
Introdução Essa definição de sistemas distribuídos tem as seguintes consequências importantes: Concorrência: capacidade do sistema de manipular recursos compartilhados; Inexistência de relógio global: sincronização para uma efetiva troca de mensagens; Falhas independentes: em SD, cada componente do sistema pode falhar independentemente, deixando os outros ainda em funcionamento. Etc. http://sites.google.com/sitew/leonardobcampos 4/40
Introdução A principal motivação para construir e suar sistemas distribuídos é proveniente do desejo de compartilhar recursos; O tempo recurso é bastante abstrato, mas caracteriza bem o conjuntos de coisas que podem ser compartilhadas, tais como: Hardware: discos, impressoras, etc; Software: banco de dados, fluxo de dados de vídeo, conexão de áudio em uma chamada de telefone móvel, etc; http://sites.google.com/sitew/leonardobcampos 5/40
Exemplos de Sistemas Distribuídos Vejamos alguns exemplos e domínios de aplicação dos sistemas distribuídos atuais: Pesquisa na Web: Um trilhão de endereços Web únicos; Jogos online: 100 bilhões de páginas; 10 bilhões de pesquisas por mês; Redes sociais: Principal representante: Google; E-Commerce: Grande número de computadores interligados em rede, localizados em data centers ao redor do mundo http://sites.google.com/sitew/leonardobcampos 6/40
Exemplos de Sistemas Distribuídos Vejamos alguns exemplos e domínios de aplicação dos sistemas distribuídos atuais: Pesquisa na Web: Jogos online: Redes sociais: E-Commerce: http://sites.google.com/sitew/leonardobcampos 7/40
Exemplos de Sistemas Distribuídos Vejamos alguns exemplos e domínios de aplicação dos sistemas distribuídos atuais: Pesquisa na Web: Jogos online: Redes sociais: E-Commerce: http://sites.google.com/sitew/leonardobcampos 8/40
Exemplos de Sistemas Distribuídos Vejamos alguns exemplos e domínios de aplicação dos sistemas distribuídos atuais: Pesquisa na Web: Jogos online: Redes sociais: E-Commerce: Do inglês, Massively Multiplayer Online Games (jogos online com vários jogadores); Exigem tempos de respostas rápidos para preservar a experiência dos usuários do jogo; E eventos em tempo real para muitos jogadores. http://sites.google.com/sitew/leonardobcampos 9/40
Exemplos de Sistemas Distribuídos Vejamos alguns exemplos e domínios de aplicação dos sistemas distribuídos atuais: Pesquisa na Web: Jogos online: Redes sociais: E-Commerce: http://sites.google.com/sitew/leonardobcampos 10/40
Exemplos de Sistemas Distribuídos Vejamos alguns exemplos e domínios de aplicação dos sistemas distribuídos atuais: Pesquisa na Web: Jogos online: Redes sociais: E-Commerce: http://sites.google.com/sitew/leonardobcampos 11/40
Exemplos de Sistemas Distribuídos Vejamos alguns exemplos e domínios de aplicação dos sistemas distribuídos atuais: Pesquisa na Web: Jogos online: Redes sociais: Arquitetura cliente-servidor: uma única cópia do estado do jogo é mentida em um servidor centralizado (cluster) e acessada por programas clientes Servidores distribuídos: usuários são alocados dinamicamente de acordo com a proximidade geográfica ou utilização momentânea; E-Commerce: Peer-to-peer: cada participante contribui com recurso. http://sites.google.com/sitew/leonardobcampos 12/40
Exemplos de Sistemas Distribuídos Vejamos alguns exemplos e domínios de aplicação dos sistemas distribuídos atuais: Pesquisa na Web: Jogos online: Redes sociais: E-Commerce: http://sites.google.com/sitew/leonardobcampos 13/40
Exemplos de Sistemas Distribuídos Vejamos alguns exemplos e domínios de aplicação dos sistemas distribuídos atuais: Pesquisa na Web: Jogos online: Redes sociais: E-Commerce: http://sites.google.com/sitew/leonardobcampos 14/40
Exemplos de Sistemas Distribuídos Vejamos alguns exemplos e domínios de aplicação dos sistemas distribuídos atuais: Pesquisa na Web: Jogos online: Redes sociais: E-Commerce: http://sites.google.com/sitew/leonardobcampos 15/40
Exemplos de Sistemas Distribuídos Vejamos alguns exemplos e domínios de aplicação dos sistemas distribuídos atuais: Pesquisa na Web: Jogos online: Redes sociais: E-Commerce: http://sites.google.com/sitew/leonardobcampos 16/40
Tendências em Sistemas Distribuídos Os sistemas distribuídos estão passando por um período de mudança significativa e isso pode ser consequência de diversas tendências influentes: O surgimento da tecnologia de redes pervasivas; O surgimento da computação móvel e ubíqua; A crescente demanda por serviços multimídia; A visão dos sistemas distribuídos como um serviço público. http://sites.google.com/sitew/leonardobcampos 17/29
Tendências em Sistemas Distribuídos Interligação em rede pervasiva e a Internet moderna: A Internet moderna é um grande sistema distribuído; Diversidade de tecnologias de comunicação sem fio, como WiFi, WiMAX, Bluetooth e redes de telefonia móvel de 3ª e 4ª geração; Resultado: interligação em rede se tornou um recurso pervasivo, e os dispositivos podem ser conectados a qualquer momento e em qualquer lugar. http://sites.google.com/sitew/leonardobcampos 18/29
Tendências em Sistemas Distribuídos Computação móvel e ubíqua: A miniaturização de dispositivos e interligação em rede sem fio têm levado cada vez à integração de equipamento de computação pequenos e portáteis com sistemas distribuídos; Computação móvel é a execução de tarefas de computação enquanto o usuário está se deslocando de um lugar a outro; Exemplo 1: mesmo longe de sua base é possível continuar a acessar a Internet e receber informações dos pontos de venda, que estão convenientemente próximos (computação sensível ao contexto); http://sites.google.com/sitew/leonardobcampos 19/29
Tendências em Sistemas Distribuídos Computação móvel e ubíqua: Enquanto isso, o termo pervasivo se destina a sugerir que pequenos equipamentos de computação finalmente se tornarão tão entranhados nos objetos diários que mal serão notados. Transparente e intimamente vinculado à sua função física; Por sua vez, o termo ubíquo dá a noção de que o acesso a serviços de computação está onipresente, isto é, disponível em qualquer lugar. Portanto, a computação ubíqua e a computação móvel se sobrepõem, pois, em princípio, o usuário móvel pode usar computadores que estejam em qualquer lugar; http://sites.google.com/sitew/leonardobcampos 20/29
Tendências em Sistemas Distribuídos Sistemas Multimídia Distribuídos: Executar as mesmas funções para tipos de mídia contínuos, como áudio e vídeo; Armazenar e localizar arquivos de áudio ou vídeo; Transmitir mídias pela rede (possivelmente em tempo real, à medida que os fluxos saem de uma câmera de vídeo, Webcasting); Suportar a apresentação dos tipos de mídia para o usuário e Compartilhar os tipos de mídia por um grupo de usuários. http://sites.google.com/sitew/leonardobcampos 21/29
Tendências em Sistemas Distribuídos Sistemas Multimídia Distribuídos: http://sites.google.com/sitew/leonardobcampos 22/29
Tendências em Sistemas Distribuídos Computação distribuída como um serviço público: Nesse modelo, os recursos são suprimidos por fornecedores de serviços apropriados e efetivamente alugados, em vez de pertencerem ao usuário final; Aplica-se tanto a recursos físicos como a serviços lógicos. http://sites.google.com/sitew/leonardobcampos 23/29
Tendências em Sistemas Distribuídos O termo computação em nuvem é usado para capturar essa visão da computação como um serviço público; O termo também promove a visão de tudo como um serviço de infraestrutura física ou virtual por meio de software, frequentemente pago com base na utilização, em vez da aquisição; Geralmente, as nuvens são implementadas em cluster de computadores para fornecera escala e o desempenho exigidos http://sites.google.com/sitew/leonardobcampos 24/29
Tendências em Sistemas Distribuídos Cluster de computadores: O objetivo geral é fornecer serviços na nuvem, incluindo recursos de computação de alto desempenho, mas também diversos outros serviços (armazenamento, buscas, etc); http://sites.google.com/sitew/leonardobcampos 25/29
Tendências em Sistemas Distribuídos Cluster de computadores: A maioria dos grupos consiste em PCs convencionais executando uma versão padrão de um S.O. interligados por uma rede local; A computação em grade também pode ser vista com uma forma de computação em nuvem. De fato, a computação em grade pode ser vista como precursora do paradigma mais geral da computação em nuvem. http://sites.google.com/sitew/leonardobcampos 26/29
Leitura Complementar Link: http://sites.google.com/sitew/leonardobcampos 27/29
Leitura Complementar Link: http://sites.google.com/sitew/leonardobcampos 28/29
Bibliografia George Coulouris, Jean Dollimore, Tim Kindberg, Sistemas Distribuídos Conceitos e Projeto, 5th Ed., Bookman, 2013. http://sites.google.com/sitew/leonardobcampos 29/29