0% acharam este documento útil (0 voto)
147 visualizações45 páginas

Aula1 Intro

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
147 visualizações45 páginas

Aula1 Intro

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 45

Ler para próxima aula: Distributed Systems (Coulouris, capítulo 1)

DISCIPLINA:

1 SISTEMAS DISTRIBUÍDOS
CONCEITOS E IMPLEMENTAÇÃO

Slides baseados em: Tanenbaum, Coulouris,


Indranil Gupta em http://courses.engr.illinois.edu/cs425/
Curso Cloud Computing (coursera)
Mr Robot: http://www.cuevana2.tv/peliculas/series/mr-robot/page/2/

https://www.baharash.com/dubai-smart-city/
Uma definição (Colouris)

Um sistema distribuído é aquele em que seus


componentes localizados em computadores em
rede se comunicam e coordenam suas ações
apenas pela troca de mensagens.
(Coulouris)

A aplicação falha devido a um erro em uma


máquina da qual nunca ouvimos falar antes..
(definição do Leslie Lamport)
Sensores ≠ Rede de sensores
(WSN, WSAN—A:Actuator, W:Sem fio)

• Um sensor é um dispositivo que converte dados


do mundo real (Analógicos) em sinais digitais. ,
ex.:
– Umidade
– Temperatura
– Intensidade de iluminação
– Funções vitais
• Uma rede de sensores consiste em um grupo de
nós de rede equipados com microcontroladores,
fonte de energia e RX/TX (em geral rádio) aos
quais estão conectados sensores.
Redes de sensores

• Os nós aos quais os sensores/atuadores estão


conectados são:
– Plataformas massivas (10s-1000s)
– Simples (relativamente pouca memória/capacidade
de computação/comunicação)
– Frequentemente alimentados a bateria
Redes de sensores (e atuadores)
Sensores/atuadores: Kwickset Kevo

• Pareamento bluetooth. Só depois disso reconhece o toque e


abre a porta.O telefone deve estar em uma localização
específica para evitar que alguem abra a porta enquanto o
telefone está fentro da casa, quando você está se afastando,
etc.
• Problemas no pareamento: atualização para cada versão do
SO.
• Demora uns segundos para tomar uma decisão. As vezes erra.
• Se esquecer do telefone, se acabar a bateria, não funciona. Se
alguem roubar seu celular..
https://www.cnet.com/products/kwikset-kevo-2nd-gen-bluetooth-smart-lock/review/
Sensores/atuadores:Belkin's WeMo Switch

• Controle remoto de
energia do dispositivo;
• Programável;
• Suporta IFTTT;
• Rastrea o consumo de
energia de qualquer
gadget que você
conecte a ele.

https://www.cnet.com/products/belkin-wemo-insight-switch/review/
IFTTT: If This, Then ThaT (http://ifttt.com)

• Serviço grátis online criado inicialmente para


sincronizar aplicativos, redes sociais e Web
services
• Permite aos usuários criar triggers (recipes/
receitas), ex. um post em Instagram pode
disparar uma entrada nova no Tumblr
• Suporta produtos smart, ex. Philips Hue light
bulb e o Belkin WeMo Switch + Motion.
https://en.wikipedia.org/wiki/IFTTT
IoT Gateway
• Repassa informação dos dispositivos IoT para o
backend (a nuvem?)
• Pré-processamento: filtragem e agregação de
dados
• Ponto único de acesso para monitoramento: o
gateway coleta todas as métricas dos sensores.
Em lugar do usuário conectar a cada sensor, só
precisa se conectar ao gateway usando um
aplicativo (smart home app);
O Que é um smart home hub?

• Dispositivo de hardware que conecta os


dispositivos em uma rede de automação
residencial e controla as comunicações entre
eles e com a nuvem.

Automação residencial é o uso de um ou mais “computadores” para controlar funções


básicas e features automaticamente, as vezes remotamente. Casas assim automatizadas são
as vezes chamadas de casas inteligentes.
http://internetofthingsagenda.techtarget.com/definition/smart-home-hub-home-
automation-hub
Amazon Echo
IoT segundo o ITU-T
Uma infra-estrutura de rede global dinâmica com
recursos de autoconfiguração baseada em protocolos
de comunicação standard e interoperáveis, onde
"coisas" físicas e virtuais:
• tem identidades, atributos físicos e personalidades
virtuais,
• usam interfaces inteligentes e
• estão perfeitamente integradas na rede de
informação.
Coisa: entidade (real ou virtual) que existe e se move no
espaço e no tempo e é capaz de ser identificada

—https://www.gartner.com/newsroom/id/3868363
ITU: International Telecommunication Union 16
IoT: Internet of Tomatoes

https://www.technologyreview.com/s/601793/iot-the-internet-of-tomatoes/
IBM Watson : IoT e a Blockchain
https://www.ibm.com/blogs/internet-of-things/iot-and-blockchain-cheat-sheet/
De acordo com um relatório da Cisco de 2016, o ramsomware domina o mercado de
malware e é o tipo de malware mais rentável da história.
Ransomware: é um malware de computador que se instala
clandestinamente no computador da vítima, fazendo uso
de criptografia impede o acesso da vítima a seus dados e
exige um pagamento de resgate (ransom) para
descriptografá-lo ou não publicá-lo
http://cartilha.cert.br/ransomware/.
IoT Gateways Need Clear Security Framework
• A best practice is to create a security framework that
uses public-key cryptography to authenticate
communication between remote devices and
gateways.
Mr Robot:
• https://codiscope.com/internet-of-things-iot-mr-
robot/
• http://www.welivesecurity.com/2016/09/23/mr-
robot-season-02-security-recap/
• http://www.theverge.com/2016/7/13/12178410/mr-
robot-season-2-episode-1-unmask-recap-hack-smart-
home-ransomware
IoT Poses New Problems for Developers
http://internetofthingsagenda.techtarget.com/ehandbook/IoT-applications-pose-new-
problems-for-developers
Securing the Internet of Things

• Recomendações do Departamento de Homeland


Security dos Estados Unidos :
“Because our nation is now dependent on properly
functioning networks to drive so many life- sustaining
activities, IoT security is now a matter of homeland
security.“
• STRATEGIC PRINCIPLES FOR SECURING THE
INTERNET OF THINGS (IoT)
• https://www.dhs.gov/securingtheIoT
• https://www.gartner.com/newsroom/id/3869181
(Gartner Says Worldwide IoT Security Spending
Will Reach $1.5 Billion in 2018)
https://www.dhs.gov/securingtheIoT
Sistema Peer to Peer: Gnutella

Quais são as entidades (nós)?

Qual é o meio de comunicação (links)?

Fonte: GnuMap Project


Datacenter

Quais são as entidades (nós)?

Qual é o meio de comunicação


(links)?
O que é uma nuvem?
• Um cluster!
• Um supercomputador!
• Um armazém de dados!

• Nenhuma das opções


• Todas as opções

•Nuvem (Cloud) = Muito armazenamento


+ ciclos de computação próximos
Uma Intranet e um sistema distribuído
email server Desktop
computers
print and other servers

Local area
Running over this Intranet
is a distributed file system Web server network

email server
print
File server
oth er servers

the rest of
the In ternet
router/firewall
prevents unauthorized messages from leaving/entering;
implemented by filtering incoming and outgoing messages
Exemplos de Sistemas Distribuídos?

• Cliente-Servidor (NFS)
• A Web: banco de dados distribuído de hipertexto e documentos
multimídia (WWW)
• Gnutella , BitTorrent (peer to peer overlays)
• “Clouds”, ex., Amazon EC2/S3, Microsoft Azure
• Datacenters, e.x., NCSA, Google datacenter
• Sistema de arquivos distribuído em uma rede local
• Domain Name System (DNS)
• Redes de sensores
Exemplos de não SDs

• Sensores que não


se comunicam

Seu computador
ainda que com
múltiplos cores/
processadores
Motivação para sistemas distribuídos

• Compartilhamento de recursos é a motivação


principal para SDs: impressoras, páginas Web,
registros de bases de dados, capacidade de
processamento e armazenamento, etc
• Distribuição é inerente a algumas aplicações.
Exemplos?
SDs para quê?
• Desempenho: Combinando processamento e capacidade de
armazenamiento de muitos nós à atingir níveis de desempenho
superiores a aqueles de máquinas centralizadas. (É possível.
Sempre consegue???);
• Custo/desempenho: Possível usar hardware genérico em lugar de
um enorme sistema centralizado;
• Escalabilidade: Facilidade de aumentar recursos como capacidade
de processamento e armazenamento, incrementalmente;
• Distribuição inerente: Algumas aplicações são inerentemente
distribuídas (chat, email, soft em empresas globais, DNS, redes
sociais, compartilhamento de recursos, BigData, massively
multiplayer online games );
• Confiabilidade: Componentes redundantes reduzem o impacto de
defeitos de hardware ou software.
SDs -- Problemas

• Complexidade do Software: Software distribuído é mais


complexo e difícil de desenvolver e depurar do que
software convencional (mais caro, mais chances de
produzir erros);
• Falhas: Mais pontos de falha (múltiplos computadores, a
rede, periféricos). Parte da complexidade do software de
SDs vem de que devem ser construídos para sobreviver a
falhas de alguns dos seus elementos. As redes estão
sujeitas a restrições de desempenho e constituem
potenciais pontos de falha;
• Segurança: Mais elementos podem ser comprometidos.
Precisam permitir acesso através da rede.
SDs -- Problemas

SDs devem funcionar de forma correta, mesmo com


1. processadores individuais e canais de
comunicação operando em diferentes
velocidades;
2. na ocorrência de falhas em parte dos
componentes do sistema.
Coordenação
“Questões a resolver” em Sistemas Distribuídos
• Não existe um “relógio global”, uma noção global de tempo correto;
• Falhas imprevisíveis de componentes: a falta de resposta pode ser
devido à falha de um componente de rede, um caminho de rede
está sendo desativado, ou uma pane no computador (sujeito a
falhas, não confiável)
• Consistem de componentes autônomos. Execução concorrente.
• De uma forma ou de outra os componentes precisam colaborar. (Ex.
DNS) Como estabelecer essa colaboração é o núcleo do
desenvolvimento de sistemas distribuídos
• Largura de banda altamente variável: de 16Kbps (modems lentos ou
Google Balloon) a Gbps (internet) a Tbps (entre DCs da mesma
empresa)
• Latência possivelmente grande e variável: alguns ms a alguns
segundos
• Grande número de hosts: 2 a alguns milhões
• A rede!!
Desafíos
– Heterogeneidade – o sistema pode gerenciar uma grande variedade de
dispositivos?
– Robustez – o sistema tolera falhas e paradas durante a execução, e
perdas de mensagens na rede?
– Disponibilidade – dados e serviços estão sempre disponíveis?
– Transparência – o sistema pode ocultar seus detalhes internos dos
usuários?
– Concorrência – o servidor admite vários clientes conectados
simultaneamente?
– Eficiência – o serviço explora 100% dos recursos?
– Escalabilidade – admite 100 milhões de nós sem degradação de
desempenho? (nós=clientes e/ou servidores) E 6 B? E mais?
– Segurança – o sistema resiste a ataques?
– Openness – o sistema é extensível?
Características significativas de sistemas distribuídos

• Um sistema distribuído é aquele em que os


componentes localizados em computadores em rede
se comunicam e coordenam suas ações apenas pela
troca de mensagens.
Essa definição leva à seguinte características
especialmente significativas de sistemas distribuídos:
• Execução concorrente dos componentes,
• Ausência de um relógio global e
• Falhas parciais : componentes pode falhar
isoladamente, enquando os outros permanecem em
execução.
2 O Curso

De Sistemas Distribuídos

https://www.baharash.com/dubai-smart-city/
Ementa

Conceituação e caracterização de sistemas


distribuídos. Estilos arquiteturais. Modelos.
Comunicação. Tolerância a falhas em ambiente
distribuído. Serviço de nomes. Tempo e estado
global. Coordenação e acordo. Transações
distribuídas. Replicação e consistência. Memória
compartilhada distribuída. Aspectos de segurança
em ambiente distribuído. Sistemas de arquivos
distribuídos. Estudo de casos.
Sistemas Distribuídos

• Resolução de dúvidas em grupo – Ava


• Ava: bibliografia, slides, forum
• CADASTRAR-SE ASAP NO AVA DA DISCIPLINA
(avisos).
• Sistema acadêmico (notas, frequência)

Anolan Milanés
anolan@cefetmg.br
Sala 303
Bibliografia básica

George Coulouris, Jean Dollimore, Tim Kindberg,


Gordon Blair, Distributed Systems: Concepts and
Design, Addison-Wesley; 5 edition, 2011

Distributed Systems 3rd edition - 3ª Edição,


Andrew S. Tanenbaum, Maarten Van Steen -
Pearson / Prentice Hall, 2017
https://www.distributed-systems.net/index.php/
books/distributed-systems-3rd-edition-2017/
Bibliografia Complementar

1. Andrews, G. Foundations of Multithreaded, parallel,


and distributed programming. Addison-Wesley, 2000.
2. J. Wetherall, David; Tanenbaum, Andrew S., Redes de
Computadores - 5ª Ed. , Pearson Education, 2011
3. Kenneth Birman, Guide to Reliable Distributed
Systems: Building High-Assurance Applications and
Cloud-Hosted Services (Texts in Computer Science),
Springer; 2012
4. Jim Gray, Andreas Reuter, Transaction Processing:
Concepts and Techniques, The Morgan Kaufmann
Series in Data Management Systems, 1992
5. W. Richard Stevens, Bill Fenner, Andrew M. Rudoff,
Unix Network Programming, Volume 1: The Sockets
Networking API, Addison-Wesley Professional; 3
edition, 2003
6. + Artigos + Mr. Robot
Conhecimento prévio

Familiaridade com:
• comunicação (TCP/UDP)
• sincronização entre processos:
condição de corrida, exclusão
mútua, mutex (locks), semáforos,
monitores; problemas clássicos

?
de sincronização: produtor/
consumidor, leitores/escritores, o
jantar dos filósofos?
• Inglês (leitura)
Avaliações

Provas

2 3
Questões
surpresa em
sala
Trabalhos/
listas de
exercício

trabalhos + 3 provas + questões = 100 pontos


DA AVALIAÇÃO DO RENDIMENTO ESCOLAR NA DISCIPLINA
Por motivo de ausência, o aluno terá direito à
reposição de um único instrumento de avaliação de
uma determinada disciplina, que tenha sido
realizado em um único dia, com valor igual ou
maior que 20% (vinte por cento) dos pontos totais
da disciplina.
3 Provas: 15 pontos cada
Listas de exercícios: 0 pontos
Trabalhos/laboratórios: 45 pontos
Questões individuais e em grupo + Discussões no
Moodle: 1 a 2 pontos cada (12)
Sistemas
Distribuídos 2019.01

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy