Modelos Físicos
Sistemas primitivos, adaptados para Internet, contemporâneos e de sistemas · Computação móvel, pervasiva e ubíqua · Clusters e grids
Coulouris organiza os modelos de sistemas distribuídos em três níveis, do mais concreto ao mais abstrato. O modelo físico descreve o hardware e as redes que efetivamente compõem o sistema, o modelo arquitetural (tema da próxima aula) descreve como os componentes de software se organizam e se comunicam sobre essa base física, e o modelo fundamental abstrai essas decisões de projeto para analisar propriedades gerais como interação, falhas e segurança. É por isso que o modelo físico é o ponto de partida, ele estabelece o "chão" concreto, os elementos de hardware e rede, sobre o qual as camadas de arquitetura e as análises mais abstratas se apoiam.
No contexto de Sistemas Distribuídos, os modelos físicos representam a base concreta sobre a qual os sistemas são implementados. Eles descrevem explicitamente os componentes físicos envolvidos (computadores, servidores, dispositivos móveis, sensores embarcados e outros hardwares), bem como os meios de comunicação que interconectam esses elementos, por exemplo redes locais (LANs), redes geograficamente distribuídas (WANs), redes sem fio e a própria Internet.
- Descrição explícita do sistema: hardware, computadores, dispositivos móveis e embarcados.
- Redes de interconexão para troca de mensagens.
- Busca abstrair detalhes específicos, definindo um modelo físico mínimo.
- Classificações:
- Sistemas Distribuídos Primitivos
- Sistemas Distribuídos Adaptados para a Internet
- Sistemas Distribuídos Contemporâneos
- Sistemas Distribuídos de Sistemas
Sistemas Distribuídos Primitivos
- Surgiram no final dos anos 70 e início dos 80.
- Redes locais (Ethernet) com conectividade limitada com a Internet.
- Serviços básicos: compartilhamento de impressoras, arquivos, e-mail e transferência de arquivos.
- Geralmente sistemas homogêneos, com qualidade de serviço primitiva.
- Exemplos: redes Unix em LAN com NFS para compartilhamento de arquivos, e-mail primitivo via UUCP.
- Desafios acentuados: compartilhamento de recursos básico, heterogeneidade e sistemas abertos ainda pouco relevantes.
Sistemas Distribuídos Adaptados para a Internet
- Evolução dos modelos primitivos (anos 90).
- Expansão com o crescimento da Internet (ex.: Google em 1996).
- Sistemas em maior escala, com nós interconectados globalmente.
- Aumento da heterogeneidade: hardware, SO, linguagens e middleware.
- Ênfase em padrões abertos e serviços web.
- Exemplos: a Web (HTTP/HTML, a partir de 1991), CORBA como padrão aberto de objetos distribuídos, motores de busca em larga escala como o Google (1996).
- Desafios acentuados: sistemas abertos (adoção de padrões públicos) e heterogeneidade crescente de plataformas.
Sistemas Distribuídos Contemporâneos
- Evolução dos modelos anteriores.
- Impulsionados pela computação móvel, pervasiva/ubíqua e em nuvem.
- Sistemas distribuídos verdadeiramente globais e heterogêneos.
- Smart Environments.
- Exemplos: grades computacionais como o Grid5000, nuvens públicas como AWS e Google Cloud, redes de sensores em cidades inteligentes.
- Desafios acentuados: escalabilidade e heterogeneidade extremas, qualidade de serviço em escala global.
Computação Móvel
Acesso a informações de todos os lugares e a qualquer momento com "computadores" compactos, portados de forma prática pelo usuário. Perceptíveis ao usuário, sempre presentes, algumas vezes coletando informações do ambiente relevantes ao usuário.

Computação Pervasiva
É um paradigma de sistemas distribuídos no qual os dispositivos computacionais se integram de maneira invisível e onipresente ao ambiente, permitindo que serviços e informações estejam disponíveis a qualquer hora e em qualquer lugar.
Em outras palavras, essa abordagem busca tornar a tecnologia parte do cotidiano, com uma rede heterogênea de sensores e dispositivos que se comunicam de forma transparente, suportando mobilidade, escalabilidade e interoperabilidade sem que o usuário precise gerenciar explicitamente os recursos computacionais.
- Meios de computação estão distribuídos pelo ambiente, perceptíveis ou não aos usuários, extraindo informações detalhadas do ambiente.
- Utiliza as informações para construir modelos computacionais, configurando, controlando e ajustando aplicações para atender às necessidades de um dispositivo ou usuário.
- Ambiente povoado de sensores, computação e aplicações, capazes de detectar a existência e interagir com outros integrantes.

Computação Ubíqua
Com ideia de tornar a interação homem-computador invisível e/ou imperceptível, sendo uma união da computação móvel com a pervasiva.
Termo cunhado por Mark Weiser (1988), no artigo "The Computer for the 21st Century" para a Scientific American (1991):
"The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it."
- Mobilidade
- Presença distribuída
- Imperceptível
- Inteligente
- Altamente integrada fisicamente
- Interoperabilidade espontânea
Pervasiva × Ubíqua
Pervasiva
- Difundida em toda parte
- Orientada a tecnologia
- Computadores e dispositivos móveis
Ubíqua
- Computação em qualquer lugar
- Orientado a usuário ou aplicação
- Uso de dispositivos em geral
Redes de Sensores
São parte da tecnologia que habilita a computação pervasiva/ubíqua, formando a camada de percepção que conecta o mundo físico ao restante do sistema distribuído (tema aprofundado na aula de IoT).
- Usadas para processar informações: fazem mais que apenas comunicação, identificando variáveis do sistema, informações do ambiente e mudanças.
- Equipadas com dispositivo(s) de sensoriamento (temperatura, umidade, movimento, luminosidade...).
- Ligadas por rede sem fio de baixo consumo (em geral).
- Aplicações de medição e vigilância.
Restrições, agregação e protocolos
Restrições de energia: os nós sensores costumam operar com baterias de capacidade limitada, muitas vezes sem possibilidade prática de recarga ou troca. Isso torna o uso eficiente de energia um requisito de projeto central, e não um detalhe de otimização: protocolos de rede, algoritmos de roteamento e até a frequência de leitura dos sensores são pensados para maximizar o tempo de vida da rede, priorizando ciclos de baixo consumo (sleep) entre transmissões.
Nó sensor × sink/gateway: um nó sensor tem alcance e potência de transmissão curtos, comunicando-se apenas com vizinhos próximos em uma topologia de malha. O sink (ou gateway) é o nó que concentra os dados coletados pela rede e faz a ponte com a infraestrutura externa (Internet, servidores de processamento), geralmente com menos restrições de energia e maior capacidade de comunicação.
Agregação de dados: para economizar energia e banda, nós intermediários frequentemente combinam ou resumem as leituras recebidas dos vizinhos (média, máximo, contagem de eventos) antes de retransmitir, em vez de encaminhar cada leitura individualmente até o sink.
Protocolos típicos: ZigBee (baseado no IEEE 802.15.4, malha sem fio de baixo consumo e curto alcance) e 6LoWPAN (permite endereçamento e roteamento IPv6 mesmo em dispositivos com poucos recursos de processamento e memória).
Clusters e Grids
Relacionados à computação de alto desempenho, podendo fornecer paralelismo de tarefas.
Cluster
- Processamento paralelo e distribuído.
- Cluster (Network of Workstations).
- Máquinas homogêneas, mesmo SO, rede estável e de alto desempenho.
- SSI (Single System Image): um único domínio administrativo, gerenciado como se fosse uma máquina só.
Grids (Grades)
- "Cluster de clusters": integra recursos heterogêneos e já distribuídos.
- Máquinas heterogêneas: arquitetura, SO, rede...
- Pode abranger vários domínios administrativos distintos.
Grids em detalhe
Um grid oferece uma visão unificada sobre recursos heterogêneos e já geograficamente distribuídos: middleware de grid (ex.: Globus Toolkit) oculta de quem submete uma tarefa o fato de que ela pode rodar em máquinas com arquiteturas, sistemas operacionais e políticas de acesso diferentes, mantidas por organizações distintas.
Isso traz um desafio que o cluster não tem: cada domínio administrativo mantém autonomia sobre seus próprios recursos e políticas de segurança, então o grid precisa negociar autenticação e alocação entre organizações (ex.: via certificados X.509 e federações de identidade), em vez de apenas gerenciar uma única máquina lógica.
Exemplos: Grid5000 (infraestrutura de pesquisa francesa), Open Science Grid e o antigo projeto SETI@home como grid voluntário de larga escala.
Cluster × Grid
| Aspecto | Cluster | Grid |
|---|---|---|
| Homogeneidade | Alta: mesmo hardware e SO | Baixa: arquiteturas, SOs e recursos variados |
| Domínio administrativo | Único | Múltiplos, com autonomia entre si |
| Gerenciamento | Centralizado, SSI (visto como uma máquina) | Federado/descentralizado, via middleware de grid |
| Tipo de rede | LAN dedicada, alta performance, baixa latência | WAN/Internet, latência e disponibilidade variáveis |
Sistemas Distribuídos de Sistemas (System-of-Systems)
Sistemas Distribuídos de Sistemas, ou System-of-Systems (SoS), representam uma evolução dos sistemas distribuídos tradicionais, em que vários sistemas autônomos, heterogêneos e distribuídos são interconectados e cooperam para atingir objetivos comuns, mantendo certa independência operacional. Essa abordagem é comum em contextos modernos como cidades inteligentes, ambientes industriais, sistemas de transporte, saúde digital e defesa.
- Autonomia dos sistemas componentes.
- Abordam sistemas ultra em larga escala (Ultra Large Scale).
- Distribuição física e lógica.
- Sistemas complexos.
- Dinamicidade e evolução.
- Sinergia funcional.
- Exemplo: gerenciamento ambiental para enchentes, integrando sensores, clusters, grids e computação móvel.
- Desafios acentuados: tratamento de falhas e transparência entre sistemas independentes, segurança na integração, escalabilidade ultra grande.
Características de um SoS em detalhe
Autonomia dos sistemas componentes: cada sistema integrante de um SoS é completo e funcional por si só, com seus próprios objetivos, políticas e mecanismos de controle. Podem operar de forma independente, mesmo fora do contexto colaborativo do SoS.
Distribuição física e lógica: os sistemas componentes estão fisicamente dispersos e interagem via redes, formando uma estrutura altamente distribuída com múltiplas camadas e tecnologias.
Heterogeneidade tecnológica: diferentes sistemas podem utilizar plataformas, linguagens, protocolos e arquiteturas distintas, exigindo integração por meio de middleware, APIs e padrões abertos.
Dinamicidade e evolução: sistemas podem entrar ou sair do SoS dinamicamente, e a configuração do conjunto pode mudar com o tempo, o que exige tolerância a mudanças e mecanismos de adaptação.
Sinergia funcional: a união dos sistemas proporciona capacidades que nenhum deles teria isoladamente, promovendo funcionalidades mais ricas, escaláveis e adaptativas.
Comparativo
| Sistemas Distribuídos | Primitivos | Adaptados para Internet | Contemporâneos | Sistemas de Sistemas (SoS) |
|---|---|---|---|---|
| Escala | Pequenos | Grandes | Ultragrandes | Ultra em larga escala (Ultra Large Scale) |
| Heterogeneidade | Limitada, relativamente homogêneas | Significativa em termos de plataformas, linguagens e middleware | Maiores dimensões, incluindo estilos de arquitetura radicalmente diferentes | Máxima: cada sistema componente é completo, autônomo e tecnologicamente independente |
| Sistemas Abertos | Não é prioridade | Prioridade significativa, com introdução de diversos padrões | Grande desafio para a pesquisa, com os padrões existentes ainda incapazes de abranger sistemas complexos | Essencial para integração, mas dificultado pela governança distribuída entre sistemas independentes |
| Qualidade de Serviço | Em seu início | Prioridade significativa, com introdução de vários serviços | Grande desafio para a pesquisa, com os serviços existentes ainda incapazes de abranger sistemas complexos | Difícil de garantir de ponta a ponta, pois cada sistema componente preserva sua própria autonomia operacional |
Próxima página: 04: Modelos de Arquitetura →