Prof. Emmanuel Nolêto ejnoleto@yahoo.com.br T. D. S. I. PARA WEB Prof. Emmanuel Nolêto ejnoleto@yahoo.com.br.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Noções de Sistemas Operacionais
Redes de computadores I
Sistemas operacionais
Aula 21/09/2011 Courouris, Dollimore, cap 10
Sistemas Distribuídos:Definições e Caracteristicas
Sistemas Distribuídos
Sistemas Distribuídos
Computação Distribuída
SISTEMAS DISTRIBUÍDOS
Algoritmo de Escalonamento para Aplicações em uma Grade Computacional Extensível aos Receptores Digitais de Televisão Bruno Guazzelli Batista Orientadora:
QoS para Realidade Virtual
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
Objetos Distribuídos Padrão CORBA
SISTEMAS DISTRIBUÍDOS Princípios e Paradigmas 2ª Edição ANDREW S
Sistemas Operacionais de Rede
Mobilidade Cláudia Ribeiro.
Sistemas Distribuídos
Sistemas Distribuídos
Introdução a Arquitetura Orientada a serviços
Sistema Cliente-servidor ou Sistema Client-server
Middleware e Sistemas Distribuídos
Tecnologia de Informática
Maria Tereza Nagel Junho 2004 Grids de Agentes Processadores para Gerência de Redes de Computadores e Telecomunicações Orientador: Prof. Dr. Carlos Becker.
1 Modelos de Sistemas Distribuídos. Introdução - Dificuldades e ameaças para SD. Grande variação na utilização de SD )carga de trabalho e requerimentos.
Tópicos em redes e sistemas distribuídos
Sistemas Distribuídos
Web Services Uninorte Semana de Tecnologia da Informação
Arquitetura Cliente /Servidor
SISTEMAS DISTRIBUÍDOS
Sistemas Distribuídos
Concorrência e Java RMI
Gerenciamento de Redes Utilizando Agentes Móveis
Administração e Integração de Redes em Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos Estrutura de Redes
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Sistemas Distribuídos
Tipos de Sistemas Distribuídos
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
Sistemas operacionais
Processos.
Sistemas Distribuídos
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Sistemas Distribuídos
Tipos de Sistemas Distribuídos
RUP - Cap. 4 – Processo Centrado na Arquitetura
Sistemas Distribuídos
Integração de Ferramentas CASE
Abr-17 Projetar Processos Projetar distribuição.
Introdução aos Sistemas Distribuídos Anos 50 - Sistemas Operacionais tipo Lote –Aumentar a capacidade de processamento de programas –Usuário ia ao computador.
Sistemas Distribuídos
Infra-Estrutura para Computação Distribuída
Capítulo 6: SAD – Arquitetura e aspectos de rede e segurança
Introdução aos Sistemas Operacionais
Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.
Sistemas Distribuídos
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Laboratório B – Sistemas Supervisórios N8LB9 Prof. Dr. Cesar da Costa 3.a Aula: Driver de Comunicação e Comunicação OPC.
Emerson Felipe GOVERNO DO ESTADO DE PERNAMBUCO ESCOLA TÉCNICA ESTADUAL MARIA EDUARDA RAMOS DE BARROS.
Sistemas Distribuídos Wesley Lucas Breda 4ºP de SI e TADS.
Sistema de Arquivos Distribuídos (SAD)- Características Serviços de nomes e diretórios Prof. Dr. Norian Marranghello Grupo 13 Guilherme Eberhart Jorge.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Transcrição da apresentação:

Prof. Emmanuel Nolêto ejnoleto@yahoo.com.br T. D. S. I. PARA WEB Prof. Emmanuel Nolêto ejnoleto@yahoo.com.br

Introdução

O que é um sistema distribuído? São o conjunto de computadores utilizados por usuários como se fosse um só. São uma extensão dos sistemas de redes onde a interação inclui: Cooperação Todos por todos. Cada um com a sua tarefa. Colaboração Todos por um. Todos com a mesma finalidade.

Sistemas Distribuídos Onde se usa? Redes Hardware de computador Sistemas Operacionais Linguagens de programação Implementações por diferentes programadores Soluções Middleware Máquinas virtuais (ex: Applets Java)

Sistemas Distribuídos Suporta o aumento dos recursos e usuários mantendo um desempenho satisfatório. Desafios: Controlar o custo dos recursos físicos Controlar a perda de performance (quantidade) Prevenir esgotamento de recursos (ex: IP) Evitar gargalos de performance (centralização)

Sistemas Distribuídos Exemplo de um sistema distribuido

Sistemas Distribuídos Exemplo de um web service

Sistemas Distribuídos Exemplo de uma intranet

Sistemas Distribuídos Exemplo de dispositivos portáteis

Sistemas Distribuídos A utilização dos dispositivos móveis para o acesso à Internet está aumentando. De acordo com a comScore, nos EUA, mais de 2,1 milhões de PCs, smartphones, PDAs e outros dispositivos móveis utilizaram conexões de banda larga para celulares para acessar a Web em 2007. Isso é mais do que o dobro de usuários do ano anterior. Somente 1% dos usuários de Internet nos EUA acessa, atualmente, a Web via banda larga móvel. Mas espera-se que essa porcentagem continue a crescer, conseqüentemente tornando os pontos de conexão Wi-Fi irrelevantes [fonte: PC World (em inglês)].

Sistemas Distribuídos Crescimento do acesso em pequenos dispositivos no Brasil Necessidade de desenvolver aplicações para estes dispositivos Necessidade em adaptar as aplicações já existentes. Criar uma mentalidade em utilizar mais dispositivos portáteis do que os convencionais. Investimento em melhorias na tecnologia,

Sistemas Distribuídos SDs de diferentes tipos compartilham importantes propriedades fundamentais Com esse compartilhamento podem sugir problemas de projeto comuns. As propriedades comuns e as questões de projeto para SDs serão abordadas na forma de modelos descritivos. Um modelo descritivo é uma descrição abstrata, simplificada, mas consistente de um aspecto de projeto de sistema distribuído.

Sistemas Distribuídos Um Modelo Arquiteturial define o modo no qual os componentes de sistemas interagem e como são mapeados sobre uma rede de computadores. As localizações e as interações dos componentes são determinadas pela estrutura em camadas do software de SDs e pelo modelo arquitetura principal. Variantes do modelo Cliente/Servidor, incluindo aqueles devido ao uso de código móvel. As características de um SD para o qual dispositivos móveis podem ser adicionados ou removidos convenientemente. Requisitos de projeto gerais para SDs.

Sistema Distribuído A arquitetura em termos de componentes especificados separadamente. A meta é garantir que a estrutura satisfará as demandas presentes e futuras. Interesses importantes: tornar confiável gerenciável adaptável custo-efetivo (custo real).

Sistema Distribuído Principais modelos empregados em SDs: Multi Processador Cliente Servidor Cliente servidor em camadas Modelos são construídos em termos de processos ou de objetos. Um modelo abstrai e simplifica as funções dos componentes individuais e então considera: a colocação dos componentes através de uma rede Definir padrões úteis para a distribuição de dados e carga de trabalho; as inter-relações entre os componentes de seus papéis e padrões de comunicação.

Sistemas Distribuídos Organização de um Sistema Distribuído.

Sistema Distribuído Hardware de mais baixo nível e camadas de software. Middleware Uma camada de software cujo propósito é mascarar heterogeneidade e prover um modelo de programação conveniente para programadores de aplicação. Processos ou objetos. Invocações de métodos, comunicações entre um grupo de processos, notificação de eventos, replicação de dados compartilhados e transmissão de dados multimídia em tempo real. Java RMI (Remote Method Invocation) CORBA (Common Object Request Broker Architecture)

Acesso a recursos Compartilhamento Acesso Economia Segurança Confiança nos serviços Rastreamento

Transparência da distribuição Ocultar distribuição física Tipo de transparência Acesso Localização Migração Realocação Replicação Concorrência Falha

Transparência da distribuição Acesso Oculta a diferenciação de arquiteturas de máquinas e sistemas Localização Não permitir que o usuário saiba a localização da aplicação ou do servidor da mesma. Migração Permitir que os recursos possam ser mudados de local em tempo de execução.

Transparência da distribuição Realocação Recursos podem ser realocados em tempo de execução. Replicação Não permitir que o usuário saiba que são feitas cópias dos sistemas. Concorrência Não permitir que o usuário saiba que o sistema esta sendo usado por muitos usuários ao mesmo tempo. Falha Questão mais difícil de se tratar. Devido a quantidade de softwares e hardwares integrados.

Abertura Sistema que oferece regras e serviços padronizados com regras. Definição de interfase Nomes de funções disponíveis, tipos de parâmetros e valores de retorno Interoperabilidade Portabilidade

Escalabidade Tamanho Geograficamente Fácil gerenciamento Fácil adicionar novas máquinas e usuários Geograficamente Recursos podem esta distribuídos em grandes distâncias Fácil gerenciamento Pode ser gerenciado mesmo estando em servidores e locais diferentes.

Técnicas de escalabidade Ocultar latencias Evitar demora no tempo de resposta. Distribuição Dividir componentes para tornar o tempo de resposta melhor, como o serviço de DNS. Replicação Equilibra as cargas entre os componentes, amplia dispersão geográfica e pode ser usado cache para facilitar a replicação.

Problemas de Escalabilidade O que distingue um algoritmo descentralizado de um algoritmo centralizado? Nenhuma máquina tem informações completas sobre o estado do sistema. As máquinas tomam decisões tendo como base somente informações locais. A falha de uma máquina não arruína o algoritmo. Não há nenhuma premissa implícita quanto à existência de um relógio global

Problemas de escabilidade geográfica Impossível prover comunicação síncrona para grandes distâncias; Comunicação em redes de longa distância não é confiável e ponto a ponto; Soluções centralizadas atrapalham a escalabilidade de tamanho.

Problemas de escalabilidade administrativa Difícil estabelecer políticas de uso e pagamento de: Recursos. Gerenciamento. Segurança.

Técnicas de Escalabilidade Comunicação síncrona X assíncrona

Técnicas de escalabilidade - distribuição

Principais ciladas Premissas falsas adotadas ao desenvolver uma aplicação distribuída pela primeira vez A rede é confiável A rede é segura A rede é homogênea A topologia não muda A latência é zero A largura da banda é infinita O custo de transporte é zero Há apenas um administrador

Tipos de Sistema Distribuído - Cluster

Tipos de Sistema Distribuído – Grade (grid)

Sistemas de Informação Distribuídos Empacota várias requisições de programas clientes em uma transação distribuída. EAI (Enterprise Application Integration) RPCs (Procedimentos remotos)

Propriedades das transações Atômicas: para o mundo exterior, a transação acontece como se fosse indivisível. Consistentes: a transação não viola invariantes de sistema. Isoladas: transações concorrentes não interferem umas nas outras. Duráveis: uma vez comprometida uma transação, as alterações são permanentes ACID (para facilitar a decoreba)

Exemplo de Transação Aninhada

Integração usando Monitor TP Andrew S. Tanenbaum Maarten Van Steen

Integração usando Middleware de comunicação

Sistemas Distribuídos Pervasivos Sistemas decorrentes do uso de computação móvel e embutida, nas quais o comportamento esperado é a instabilidade; Pequeno tamanho Alimentados por bateria; Comunicação sem fio; Não possui controle administrativo humano, podendo: Adotar mudanças contextuais Incentivar composição ad hoc Reconhecer compartilhamento como padrão

Sistemas Pervasivos - Exemplos Sistemas para tratamento de Saúde

Sistemas Pervasivos - Exemplos Redes de sensores sem fio

Sistemas Distribuídos Questões Sistemas Distribuídos

Sistemas Distribuídos Cite cinco tipos de recursos de hardware e cinco tipos de recursos de dados ou software que podem ser compartilhados. Dê exemplos de como eles ocorrem em Sistemas Distribuídos.

Sistemas Distribuídos Cite cinco tipos de recursos de hardware e cinco tipos de recursos de dados ou software que podem ser compartilhados. Dê exemplos de como eles ocorrem em Sistemas Distribuídos.

Resposta HW: discos, impressoras; Entidades definidas por software: arquivos, bases de dados,objetos; Stream de frames de vídeo que emergem de uma câmera de vídeo digital Conexões de áudio que uma chamada de telefones móveis representa.

Sistemas Distribuídos Liste os três principais componentes de software que podem falhar quando um processo cliente requisita um método em um servidor e dê um exemplo de uma falha em cada caso.

Sistemas Distribuídos Discuta, utilizando suas palavras, as características desejáveis em um sistema distribuído.

Sistemas Distribuídos Um sistema distribuído é definido como uma coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente. Baseado nos conceitos definidos para sistemas distribuídos, identifique a afirmativa ERRADA:

Sistemas Distribuídos a) O modelo de computação distribuída Peer-to-Peer é uma tecnologia que estabelece uma espécie de rede virtual de computadores, onde cada estação tem capacidades e responsabilidades equivalentes. b) Um sistema distribuído fortemente acoplado provê um nível de integração e compartilhamento de recursos mais intenso e transparente ao usuário, onde vários processadores compartilham uma memória, e são gerenciados por apenas um sistema operacional. c) Um sistema distribuído fracamente acoplado permite que máquinas e usuários do ambiente sejam fundamentalmente independentes, bem como a interação de forma limitada, quando isto for necessário, compartilhando recursos como discos e impressoras, entre outros. d) Uma vantagem dos sistemas distribuídos sobre os sistemas centralizados é a disponibilidade de software para este tipo de ambiente. e) Uma aplicação cliente-servidor é um caso especial de processamento distribuído no qual existe uma forma de cooperação entre dois ou mais processos, sendo essa cooperação realizada através de requisições dos componentes alocados ao cliente e das respostas que são fornecidas pelos componentes alocados ao servidor.

Resposta Item D

Sistemas Distribuídos Com relação a conceitos sobre sistemas distribuídos, assinale a opção correta. a) Em um sistema distribuído, os usuários podem acessar recursos em outras máquinas, mas um sistema operacional distribuído não tem como tornar a distribuição dos recursos transparente aos usuários. b) Um sistema distribuído tem que ser tolerante a falhas. Para ser considerado tolerante a falhas, tem que continuar a funcionar, sem degradação do desempenho ou das funcionalidades, após as falhas. c) Um sistema de arquivos distribuídos pode ser implementado sem manter informações de estado. Nesse caso, as operações são tratadas individualmente e não como partes de uma sessão. d) Um sistema distribuído pode suportar a migração de processos. A migração de processos não pode, entretanto, ocorrer sob controle de um sistema operacional, tem que ser controlada por aplicações.

Resposta Item C

Sistemas Distribuídos O objetivo de uma camada de Middleware em um sistema multicamadas é: a) oferecer componentes relacionados ao negócio para serem utilizados na construção de aplicativos pelos engenheiros de sistemas; b) prover uma interface de acesso padrão a um sistema operacional específico, de modo a disponibilizar os serviços nele existentes a clientes em outras plataformas; c) permitir acesso a dispositivos de hardware, como câmeras e impressoras, através de uma API de alto nível; d) cuidar de aspectos relacionados com a infraestrutura de rede, definindo interfaces de comunicação com hubs e roteadores; e) disponibilizar classes utilitárias e serviços independentes de plataforma que permitam a obtenção de computação distribuída em ambientes heterogêneos.

Resposta Item E