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

Introdução a Sistemas Distribuídos

Enviado por

Moises Alves
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)
32 visualizações94 páginas

Introdução a Sistemas Distribuídos

Enviado por

Moises Alves
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

Tutor:

Sistemas e Aplicações
Distribuídas

[Link]
VOCÊ JÁ ACESSOU
SEU LIVRO DE
ESTUDOS?
Bem-vindo à disciplina de

Sistemas e Aplicações
Distribuídas . [Link]
Unidade 2

SISTEMAS
DISTRIBUÍDOS
Objetivos de Aprendizagem
A partir do estudo desta unidade, você deverá ser capaz de:

• conhecer as principais características e conceitos de sistemas distribuídos;


• compreender a arquitetura dos sistemas distribuídos e algumas de suas
classificações existentes;
• entender o conceito cliente/servidor e chamadas de procedimentos remotos;
• compreender a relação do conceito de processos e threads no contexto
dos sistemas distribuídos;
• compreender as principais características e conceitos da computação
móvel e ubíqua.
PLANO DE ESTUDOS
Esta unidade está dividida em quatro tópicos. No decorrer da unidade você encontrará
autoatividades com o objetivo de reforçar o conteúdo apresentado.

TÓPICO 1 – CONCEITOS BÁSICOS SOBRE SISTEMAS DISTRIBUÍDOS


TÓPICO 2 – ARQUITETURA PARA SISTEMAS DISTRIBUÍDOS
TÓPICO 3 – PROCESSOS
TÓPICO 4 – TIPOS DE SISTEMAS DISTRIBUÍDOS
TÓPICO 5 – COMPUTAÇÃO MÓVEL E UBÍQUA
CONCEITOS
BÁSICOS SOBRE
Tópico 1
SISTEMAS
DISTRIBUÍDOS
INTRODUÇÃO

- O conceito de SO de redes, que passou a ser aplicado a partir da

década de 1980, com o advento das redes de computadores.

- Não podemos esquecer que “com a evolução dos computadores


pessoais e das estações de trabalho, juntamente com o avanço
das telecomunicações e da tecnologia de redes, surgiu um novo
modelo de computação, chamado modelo de rede de
computadores” (MACHADO; MAIA, 2017, p. 21).
INTRODUÇÃO
INTRODUÇÃO

- A evolução das redes aumentou o número de hosts, exigindo


sistemas mais rápidos e confiáveis, resultando no desenvolvimento
de tecnologias para conectar máquinas em diferentes locais.

- Com a disseminação das redes, desde corporativas até a


internet, o entendimento de redes e seus funcionamentos é crucial,
especialmente para sistemas multiprocessados que requerem SO
fracamente acoplados, como SO de rede e sistemas distribuídos.
INTRODUÇÃO
O QUE SÃO
SISTEMAS DISTRIBUÍDOS?
• “Um sistema distribuído é um conjunto de computadores
independentes que se apresenta a seus usuários como um
sistema único e coerente” (TANENBAUM; STEEN, 2007, p. 1).

• “Um sistema distribuído é aquele no qual os componentes


localizados em computadores interligados em rede se comunicam
e coordenam suas ações apenas passando mensagens”
(COULOURIS et al., 2013, p. 1).

- computadores independentes ou autônomos, interligação

em rede, troca de informações (mensagens), sistema único.


O QUE SÃO
SISTEMAS DISTRIBUÍDOS?
O QUE SÃO
SISTEMAS DISTRIBUÍDOS?
- Diversos sistemas computacionais distintos são gerenciados por
um único SO..

- Utilizam middleware para integrar diversos SO locais e oferecer


uma visão unificada do sistema.

- Permitem que aplicações rodem e compartilhem recursos entre


máquinas, apesar da complexidade envolvida na sua
implementação.
O QUE SÃO
SISTEMAS DISTRIBUÍDOS?
PROPÓSITO
Objetivo principal:

- Melhoria na capacidade de processamento e armazenamento

- Provisão confiável de compartilhamento de recursos

- Facilitar aos usuários e às aplicações o acesso a recursos


remotos e seu compartilhamento de maneira controlada e
eficiente" (TANENBAUM; STEEN, 2007).
PROPÓSITO
Compartilhamento de recursos e eficiência:

- Recursos de hardware: impressoras, discos de armazenamento

- Recursos de software: arquivos, bancos de dados, páginas web,


vídeos, conexões de áudio

- Dividir os recursos entre um grupo de máquinas permite que


vários usuários os compartilhem e garante que haja recursos
suficientes para um trabalho ocasional de grande porte" (DEITEL;
DEITEL; CHOFFNES, 2005).
PROPÓSITO
Características dos Sistemas Distribuídos

- Escalabilidade: tamanho, geográfica, gerencial

- Concorrência: Garantia de desempenho e consistência dos


dados
PROPÓSITO
Características dos Sistemas Distribuídos

- Segurança: Confidencialidade, integridade, etc..

- Transparência: Acesso às informações independentemente da


localização física
PROPÓSITO
PROPÓSITO
Falhas

• Tratamento de falhas de hardware: em sistemas distribuídos, o


tratamento de falhas de hardware está relacionado à
redundância, como, por exemplo, a existência de várias fontes e
processadores, memórias com detecção e correção de erros,
redundância dos meios de conexão, entre outros.

• Tratamento de falhas de software: mais complexa de se


implementar, deve garantir que, no caso de uma falha no SO, por
exemplo, a aplicação continue a ser executada normalmente, sem
que o usuário perceba.
PROPÓSITO
EXEMPLOS DE
SISTEMAS DISTRIBUÍDOS
• Pesquisa na web: há registros de que as pesquisas realizadas na
web ultrapassam os 10 bilhões por mês.

• Jogos on-line: os jogos on-line representam um dos grandes


desafios no desenvolvimento de sistemas distribuídos na
atualidade, uma vez que um número muito grande de jogadores
interage com um mundo virtual pela internet.

• Negócios financeiros: o uso de sistemas distribuídos no setor


financeiro já vem ocorrendo há muito tempo em consequência,
basicamente, da necessidade de acesso em tempo real a uma
variedade de informações, tais como tendências no mercado de
ações, por exemplo.
RESUMO
• Os estudos sobre as redes de computadores e os sistemas distribuídos
passaram a ter maior destaque a partir dos anos 1980.
• As redes de computadores se caracterizam pela existência de dois ou
mais sistemas computacionais distintos interligados, capazes de trocar
informações.
• A existência de vários hosts (sistemas computacionais independentes)
em uma rede de computadores a torna um ambiente multiprocessado,
exigindo um tipo específico de SO fracamente acoplado: os
sistemas distribuídos.
• “Um sistema distribuído é um conjunto de computadores
independentes que se apresenta a seus usuários como um
sistema único e coerente” (TANENBAUM; STEEN, 2007, p. 1).
RESUMO
• Do ponto de vista do usuário é como se houvesse um único sistema; do
ponto de vista do hardware existem vários sistemas computacionais
distintos, cada um com seus recursos.
• Sistemas distribuídos são chamados middleware por representarem
uma camada intermediária entre o SO existente em cada computador e
as aplicações utilizadas pelos usuários.
• Dentre os benefícios de se utilizar sistemas distribuídos estão: melhoria
da capacidade de processamento, melhoria da capacidade de
armazenamento e o compartilhamento de recursos.
• Dentre as características desejáveis em um sistema distribuído
estão: escalabilidade, concorrência entre os componentes
do sistema, segurança, tratamento de falhas e transparência.
ARQUITETURA PARA
Tópico 2 SISTEMAS
DISTRIBUÍDOS
ARQUITETURAS FÍSICAS
1- Sistemas distribuídos primitivos: situados na passagem da
década de 1970 para a década de 1980.

2- Sistemas distribuídos adaptados para internet: a internet foi a


grande impulsionadora dessa geração através de seu surgimento
na década de 1990.
ARQUITETURAS FÍSICAS
3- Sistemas distribuídos contemporâneos: aqui, um outro
elemento é adicionado para aumentar a complexidade dos
sistemas distribuídos, em contrapartida aos nós estáticos
representados pelos computadores de mesa e notebooks: tratam-
se dos dispositivos móveis.

4- Sistemas distribuídos de sistemas: ambiente mais complexo


formado por uma série de subsistemas, que representam, eles
próprios, sistemas que são combinados para executar tarefas
especiais, por exemplo, um sistema ambiental para previsão de
enchentes.
ARQUITETURAS FÍSICAS
ARQUITETURAS
PARA SISTEMAS DISTRIBUÍDOS
ELEMENTOS ARQUITETÔNICOS

• Entidades: sensores (em uma rede de sensores), threads, objetos,


componentes, serviços web, entre outros.

• Comunicação: entre processos, invocação remota e


comunicação indireta.

• Funções e responsabilidades: as entidades interagem (se


comunicam) para, por exemplo, suportar uma sessão de bate-
papo em uma rede social.
ARQUITETURAS
PARA SISTEMAS DISTRIBUÍDOS
ARQUITETURAS
PARA SISTEMAS DISTRIBUÍDOS
ARQUITETURAS
PARA SISTEMAS DISTRIBUÍDOS
ELEMENTOS ARQUITETÔNICOS

• Mapeamento físico: deve considerar a forma de comunicação


entre as entidades, a confiabilidade de determinados dispositivos
(especialmente os servidores), sua carga atual, a qualidade da
comunicação entre os diferentes dispositivos, entre outros
ARQUITETURAS
PARA SISTEMAS DISTRIBUÍDOS
PADRÕES ARQUITETÔNICOS

• Camadas lógicas: nessa


abordagem o sistema é
dividido em camadas, nas
quais cada uma utiliza as
funções oferecidas pela
camada lógica inferior.
ARQUITETURAS
PARA SISTEMAS DISTRIBUÍDOS
PADRÕES ARQUITETÔNICOS

• Arquitetura de camadas
físicas: complementam suas
irmãs, as camadas lógicas.
ARQUITETURAS
PARA SISTEMAS DISTRIBUÍDOS
PADRÕES ARQUITETÔNICOS

• Clientes “magros” (thin


clients): com a tendência da
computação distribuída em
otimizar o processamento dos
dispositivos clientes, além de
diminuir a quantidade de
códigos fontes nos mesmos
adicionando-os aos serviços
da internet
ARQUITETURAS
FUNDAMENTAIS
• Modelo de interação: é estabelecido por processos que trocam
mensagens, gerando uma comunicação (fluxo de informações),
que é então coordenada (sincronizada e ordenada com suas
operações)

• Modelo de falhas: define e classifica as falhas em um ambiente


distribuído e com ele torna-se possível o tratamento de possíveis
indisponibilidades do sistema.

- Falhas por omissão

- Falhas Arbitrárias

- Falhas por Sincronização


ARQUITETURAS
FUNDAMENTAIS
• Modelo de segurança: uma das características mais
significativas dos sistemas distribuídos (filosofia de sistemas
abertos) os deixam expostos a ataques externos e internos.
RESUMO
• Dada a natureza complexa dos sistemas distribuídos, é importante o
conhecimento de seus modelos de arquitetura, levando-se em conta os
elementos físicos e lógicos.
• As arquiteturas físicas tratam da composição de hardware dos sistemas
distribuídos, incluindo dispositivos interconectados e suas redes de
interconexão.
• As arquiteturas físicas evoluíram ao longo do tempo conforme também
evoluía a tecnologia disponível, organizando os sistemas distribuídos
em três gerações: sistemas distribuídos primitivos, sistemas
distribuídos adaptados para internet, sistemas
distribuídos contemporâneos e sistemas distribuídos de
sistemas.
RESUMO
• Os elementos arquitetônicos consideram: (1) entidades (por exemplo,
sensores, threads, serviços web, entre outros); (2) comunicação (entre
processos, por exemplo); (3) funções e responsabilidades (suporte à
comunicação entre as entidades, por exemplo); e (4) mapeamento físico
(forma de comunicação entre as entidades).
• Os padrões arquitetônicos envolvem as arquiteturas de camadas
lógicas (layer), camadas físicas (tier) e clientes magros (thin clients).
• Na arquitetura de camadas lógicas o sistema é dividido em
camadas, em que cada uma utiliza as funções oferecidas pela
camada inferior.
RESUMO
• A arquitetura de camadas físicas complementa a arquitetura de
camadas lógicas, organizando as funcionalidades de uma determinada
camada lógica nos servidores apropriados.
• Na arquitetura thin client há uma camada de software que dá suporte a
uma interface local para o usuário, executando operações ou também
acessando serviços em um servidor remoto.
• Um middleware está associado às camadas lógicas de um sistema
distribuído e é tratado como uma solução capaz de promover
a interoperabilidade e a portabilidade entre as entidades do sistema.
RESUMO
• São três as visões de arquiteturas fundamentais: (1) modelos de
interação (tratam da comunicação entre os elementos do sistema); (2)
modelos de falha (ratam situações que poderiam levar o sistema a
funcionar incorretamente ou parar de funcionar); e (3) modelos de
segurança (proteção contra tentativas de interferência dos elementos ou
de roubo dos dados manipulados por ele).
Tópico 3 PROCESSOS
THREADS
- Programa: Sequência passiva de instruções codificadas.

- Processo: Execução ativa de um programa.


THREADS

- Thread: Unidade de execução dentro de um processo.


THREADS

• Threads implementadas em nível de usuário: significa que a


criação e a destruição de uma thread é bem menos onerosa para
os recursos do sistema.

• Threads implementadas em nível do sistema: uma vantagem


de sua utilização é que sua implementação elimina a
desvantagem apontada na implementação em nível de usuário, já
que a criação, destruição, sincronização, pausa, entre outras, de
uma thread é realizada no contexto de chamadas do SO (kernel)
THREADS

• Lightweight Processes (LWP): Combinação dos dois níveis,


permitindo múltiplas threads por processo.
THREADS
Modelo Multithreading no Servidor:

- Despachante: Responsável por ler e distribuir requisições.

- Operário: Executa as requisições recebidas.

- Papel do SO: Fundamental no gerenciamento de threads e


processos distribuídos.
VIRTUALIZAÇÃO
- Definição: Simulação de um ambiente para parecer que existem
múltiplos ambientes, extendendo o uso dos recursos (Tanenbaum
e Steen, 2007).

Benefícios da Virtualização

- Uso Eficiente dos Recursos: Maximiza a capacidade de uma


máquina física.

- Aplicações: Aplicável a servidores, armazenamento, aplicativos e


redes.

- Objetivo: Reduzir despesas de TI e aumentar eficiência e


agilidade.
VIRTUALIZAÇÃO
VIRTUALIZAÇÃO
TIPOS DE VIRTUALIZAÇÃO

• Virtualização de dados: unifica dados distribuídos de vários


locais (inclusive remotos) em uma fonte centralizada única.
VIRTUALIZAÇÃO
TIPOS DE VIRTUALIZAÇÃO

• Virtualização de desktop: possibilita que uma administração


central (administrador ou ferramenta automatizada) instale ou
utilize ambientes de desktop simulados em um considerável
parque de máquinas físicas ao mesmo tempo.
VIRTUALIZAÇÃO
TIPOS DE VIRTUALIZAÇÃO

• Virtualização de sistemas operacionais: realizada em nível de


kernel (já uma grande diferença da virtualização de desktop que
acontece em nível de aplicação do usuário), que, como você
aprendeu, representa o gerenciador fundamental das principais
tarefas dos SO.
MIGRAÇÃO DE CÓDIGO
- Definição: Transferência de programas entre dispositivos para
execução no destino.

EXEMPLOS
- Applets Java: Executadas em dispositivos clientes diferentes de
sua origem. Através da JVM (Java Virtual Machine): Torna o código
executável em vários dispositivos.

- JavaScript: Inclusão de trechos de código em páginas web


carregadas pelos navegadores.
MIGRAÇÃO DE CÓDIGO
- Definição: Transferência de programas entre dispositivos para
execução no destino.

EXEMPLOS
- Applets Java: Executadas em dispositivos clientes diferentes de
sua origem. Através da JVM (Java Virtual Machine): Torna o código
executável em vários dispositivos.

- JavaScript: Inclusão de trechos de código em páginas web


carregadas pelos navegadores.
MIGRAÇÃO DE CÓDIGO
MIGRAÇÃO DE CÓDIGO
No modelo, o cliente baixa a implementação dinamicamente,
inicializa as etapas necessárias e, então, invoca o servidor
(TANENBAUM; STEEN 2007).
RESUMO
• As threads existem no interior de um processo e compartilham entre
elas os recursos deste processo, uma vez que representam uma técnica
de programação importante para dividir grandes aplicações em partes
menores, que podem ser executadas ao mesmo tempo.
• Existem as threads implementadas em nível de usuário, cuja criação e
destruição é feita em nível de aplicações do usuário; e as threads
implementadas em nível do sistema, cuja criação e destruição é
realizada no contexto das chamadas do SO. • Multithread é o
tratamento dado do lado do servidor para o suporte de software
necessário aos acessos dos clientes às aplicações distribuídas.
RESUMO
• Virtualização é uma abordagem que permite a um processador simular
um ambiente no qual parece existir vários processadores, o que permite
estender o uso dos recursos desse ambiente.
• A computação em nuvem descreve o fornecimento de recursos de
computação compartilhados (software e/ou dados) sob demanda pela
internet, um conceito diferente da virtualização.
• Hipervisores são softwares que definem uma fronteira entre os recursos
físicos dos ambientes virtuais que os utilizam. O hipervisor é
responsável pela criação de ambientes simulados de computação,
como as VM (máquinas virtuais).
RESUMO
• São três os tipos de virtualização: virtualização de dados, virtualização
de desktop e virtualização de SO.
• A migração de código, um dos grandes desafios do projeto de sistemas
distribuídos, representa a possibilidade de realizarem a troca de
programas entre dispositivos, mesmo que estejam em execução, de
modo que possam ser executados no dispositivo destino.
TIPOS DE SISTEMAS
Tópico 4
DISTRIBUÍDOS
SISTEMAS DE
COMPUTAÇÃO DISTRIBUÍDOS
- Definição: Conjunto de sistemas computacionais (hosts) que
executam requisições simultaneamente, funcionando como um
ambiente único (Deitel, Deitel & Choffnes, 2005).

Características Necessárias:

- Transparência

- Escalabilidade
SISTEMAS DE
COMPUTAÇÃO DISTRIBUÍDOS
Tipos de Sistemas Distribuídos para Processamento
Computacional

- Cluster: Conjunto de PCs semelhantes, conectados por rede local


de alta velocidade, executando o mesmo sistema operacional
(Tanenbaum & Steen, 2007).

- Grid (Grade): Federação de computadores com diferentes


domínios administrativos, hardware, software e tecnologias de
rede (Tanenbaum & Steen, 2007).
SISTEMAS DE
COMPUTAÇÃO DISTRIBUÍDOS
CLUSTER

- Definição: Sistema distribuído com sistemas computacionais


conectados por rede de alto desempenho, controlados por um nó
mestre. (MACHADO; MAIA, 2011; 2017; TANENBAUM; STEEN, 2007).
SISTEMAS DE
COMPUTAÇÃO DISTRIBUÍDOS
- Cluster de Alto Desempenho: Todos os nós executam tarefas em
paralelo.

- Cluster de Alta Disponibilidade: Alguns nós trabalham enquanto


outros ficam ociosos para backup.

- Cluster de Balanceamento de Carga: Distribui a carga entre os


nós para utilização eficiente do hardware (Deitel, Deitel & Choffnes,
2005).
SISTEMAS DE
COMPUTAÇÃO DISTRIBUÍDOS
Beowulf Cluster:

- Definição: Cluster de alto desempenho com até 700 nós Linux,


interconectados por Ethernet de alta velocidade.

- Função: Computação paralela para resolver problemas


complexos (Deitel, Deitel & Choffnes, 2005).
SISTEMAS DE
COMPUTAÇÃO DISTRIBUÍDOS
Cluster Windows:

- Alta Disponibilidade: Até 8 nós, com armazenamento


compartilhado ou local.

- Balanceamento de Carga: Até 32 nós, interconectados por


Ethernet de alta velocidade (Deitel, Deitel & Choffnes, 2005).
SISTEMAS DE
COMPUTAÇÃO DISTRIBUÍDOS
GRID (GRADE)
- Definição: Interligação de diferentes recursos computacionais
distribuídos em uma rede para resolver problemas complexos.

- Objetivo: Alto desempenho utilizando a capacidade


computacional desperdiçada (Deitel, Deitel & Choffnes, 2005).

Características:

- Acesso transparente aos recursos

- Alta escalabilidade

- Sistema heterogêneo (diferentes máquinas e sistemas


operacionais).
GRID (GRADE)
Arquitetura de Sistemas em Grid

Camadas:

- Camada-base: Interfaces de acesso a recursos físicos.

- Camada de Conectividade: Protocolos de comunicação segura.

- Camada de Recursos: Gerenciamento individual dos recursos.

- Camada Coletiva: Coordenação e escalonamento de tarefas.

- Camada de Aplicação: Aplicações utilizadas no ambiente


distribuído (Deitel, Deitel & Choffnes, 2005; Tanenbaum & Steen,
2007).
GRID (GRADE)
SISTEMAS DE
INFORMAÇÃO DISTRIBUÍDOS
Definição: Sistemas de informação distribuídos são fundamentais
para a integração de sistemas empresariais. Tanenbaum e Steen
(2007).

Dois Tipos Principais:

- Sistemas de processamento de transações.

- Integração de aplicações empresariais (EIA).


SISTEMAS DE
INFORMAÇÃO DISTRIBUÍDOS
Sistemas de Processamento de Transações

- Arquitetura Cliente/Servidor:

- Transações: Conjunto "requisição-execução-resposta".

- Relacionamento com Bancos de Dados: Operações


realizadas como transações.
SISTEMAS DE
INFORMAÇÃO DISTRIBUÍDOS
Sistemas de Processamento de Transações

- Arquitetura Cliente/Servidor:

- Transações: Conjunto "requisição-execução-resposta".

- Relacionamento com Bancos de Dados: Operações


realizadas como transações.
SISTEMAS DE
INFORMAÇÃO DISTRIBUÍDOS
CARACTERÍSTICAS

- Atomicidade: Transações são indivisíveis.

- Consistência: Invariantes do sistema são mantidas após a


transação.

- Isolamento: Transações concorrentes não interferem entre si.

- Durabilidade: Alterações são permanentes, mesmo após falhas.


SISTEMAS DE
INFORMAÇÃO DISTRIBUÍDOS
CARACTERÍSTICAS

A tomicidade: Transações são indivisíveis.

C onsistência: Invariantes do sistema são mantidas após a transação.

I solamento: Transações concorrentes não interferem entre si.

D urabilidade: Alterações são permanentes, mesmo após falhas.


SISTEMAS DE
INFORMAÇÃO DISTRIBUÍDOS
Integração de Aplicações Empresariais (EIA)

Aplicações comunicam-se diretamente, sem dependência de bancos


de dados.

Comunicação: Diversos modelos surgiram para facilitar a troca de


informações.
SISTEMAS DE
INFORMAÇÃO DISTRIBUÍDOS
TIPOS DE MIDDLEWARE

• Chamada de procedimento remoto (RPC - Remote Procedure Calls):

neste middleware um componente de aplicação pode enviar uma

requisição a um outro componente a partir de uma chamada de

procedimento local.

• Invocações de método remoto (RMI - Remote Method Invocations):

basicamente o mesmo que um RPC, contudo funcionando com

objetos ao invés de aplicações.


SISTEMAS DE
INFORMAÇÃO DISTRIBUÍDOS
TIPOS DE MIDDLEWARE

• Middleware orientado a mensagem (MOM - Message-oriented

Middleware): aqui as aplicações enviam mensagens a pontos lógicos

de contato, cabendo ao middleware garantir que as mensagens sejam

entregues às aplicações.
RESUMO
• Os sistemas de computação distribuídos dedicam-se à execução de
processamento computacional de alto desempenho, e são dois os tipos:
os sistemas em cluster e os sistemas em grid (grade).
• Um cluster é formado por um conjunto de sistemas computacionais
conectados através de uma estrutura de rede dedicada, de alto
desempenho, apresentando um nó mestre que controla e acessa os
demais nós da rede.
• A clusterização permite a programação paralela, quando um
único programa é executado paralelamente por várias
máquinas. A programação paralela tem como característica a
redução do tempo de processamento do programa.
RESUMO
• Dentre as razões para o uso do cluster destacam-se: redução dos
custos dos computadores e aumento do seu desempenho, redução do
tempo ocioso com aumento da tolerância a falhas, escalabilidade e
balanceamento de carga.
• Uma grid é caracterizada por reunir diferentes sistemas computacionais,
distribuídos em uma rede de computadores, com um objetivo em
comum.
• Em uma grid não há um nó mestre, mas sim a “colaboração pública”.
• Dentre as características da computação em grid
destacam-se: transparência de acesso, alto desempenho,
maior escalabilidade, são sistemas heterogêneos.
RESUMO
• Os sistemas de informação distribuídos são resultado da construção de
uma
infraestrutura que promoveu a integração entre sistemas.
• Os sistemas de processamento de transações são oriundos de uma
arquitetura
reconhecida como cliente/servidor.
• A Integração de Aplicações Empresariais (EIA) passou a ser necessária à
medida que as aplicações se desvinculavam dos bancos de dados.
COMPUTAÇÃO
Tópico 5
MÓVEL E UBÍQUA
INTRODUÇÃO
• Computação ubíqua: “[...] entende-se por ubiquidade a coordenação
de dispositivos inteligentes, móveis e estacionários para prover aos
usuários acesso imediato e universal à informação e novos serviços, de
forma transparente, visando aumentar as capacidades humanas”
(ARAUJO, 2003 apud SANTAELLA, 2013, p. 16).

• Computação móvel: “[...] se define pela possibilidade de


movimentação física humana levando junto consigo serviços
computacionais. Isso significa que a computação se torna uma
atividade que pode ser transportada para qualquer lugar a qualquer
hora” (ARAUJO, 2003 apud SANTAELLA, 2013, p. 16).
INTRODUÇÃO
• Computação pervasiva: “[...] significa que o computador está
embarcado no ambiente de forma invisível para o usuário. Desse modo,
'o computador tem a capacidade de obter informação do ambiente no
qual ele está embarcado e utilizá-la para dinamicamente construir
modelos computacionais” (ARAUJO, 2003 apud SANTAELLA, 2013, p. 17).
COMPUTAÇÃO MÓVEL
COMPUTAÇÃO MÓVEL
CARACTERÍSTICAS

• Energia limitada: A comunicação sem fio demanda muita energia


para executar ações como o envio e recebimento de mensagens, e até
mesmo quando estes dispositivos estão em modo de espera o
consumo é considerável.

• Restrições de recurso: Melhoria dos recursos computacionais


necessariamente implica em maior consumo de energia. Outra
questão relacionada à limitação de recursos é consequência do
próprio tamanho reduzido dos dispositivos, o que ocasiona em menor
número de transistores nos processadores, por exemplo.
COMPUTAÇÃO MÓVEL
CARACTERÍSTICAS

• Sensores e controladores: sensores e controladores são elementos


que fazem parte dos dispositivos móveis. Os sensores são responsáveis
por medir valores físicos e fornecê-los a algum software (por exemplo:
sua posição geográfica em um aplicativo de GPS – Global Positioning
System), já os controladores são controlados por software e afetam o
mundo físico (por exemplo: um ar condicionado programável).
COMPUTAÇÃO PERVASIVA
- Caracterizam-se por ser desnecessário um controle administrativo
por parte do usuário, ou seja, eles podem “controlar, configurar e ajustar
a aplicação para melhor atender as necessidades do dispositivo ou
usuário” (ARAÚJO, 2003 apud SANTAELLA, 2013, p. 17).

- Adotar mudanças contextuais: em um ambiente de computação


pervasiva o dispositivo deve “saber” que pode mudar de ambiente e se
adequar a isso.

- Incentivar composição ad hoc: define o que chamamos de “rede


espontânea”, ou seja, qualquer dispositivo (com fio ou sem fio) pode ser
ligado a ela a qualquer momento.
COMPUTAÇÃO PERVASIVA
- Reconhecer compartilhamento como padrão: considerando a
natureza dos sistemas pervasivos, é natural o acesso e o
compartilhamento de informações entre dispositivos.
COMPUTAÇÃO UBÍQUA
- A computação ubíqua, conceito introduzido por Mark Weiser em 1988,
representa a intersecção entre a computação móvel e os sistemas
pervasivos, utilizando os benefícios de ambos. Ela sugere a onipresença
de serviços de computação, disponíveis em qualquer lugar, integrando
dispositivos computacionais ao cotidiano de forma imperceptível.

- Diferente da computação pervasiva, que envolve dispositivos de


pequeno porte no cotidiano, a computação ubíqua implica a presença
de diversos dispositivos computacionais para atender diferentes
tarefas, tornando-se indistinguíveis e incorporados a objetos do dia a
dia, como previsto por Weiser.
COMPUTAÇÃO UBÍQUA
HORA DA
ATIVIDADE
PRÁTICA!

Você também pode gostar