Peer to Peer Exemplos:



Documentos relacionados
A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Aula 03-04: Modelos de Sistemas Distribuídos

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Sistemas Distribuídos

Windows 2008 Server. Windows 2008 Server IFSP Boituva Prof. Sérgio Augusto Godoy.

Arquitetura dos Sistemas de Informação Distribuídos

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Sistemas Distribuídos. Introdução

SISTEMAS DISTRIBUÍDOS

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

Padrão ix. Manual de Instalação do Q-Ware Server Versão

Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Computação nas Nuvens

Soluções Completas. Fundada em 1991, a.compos é pioneira na área de soluções em tecnologia, atuando nas áreas de:

Desenvolvendo Websites com PHP

Modelos de Arquiteturas. Prof. Andrêza Leite

SISTEMAS DISTRIBUÍDOS

Capítulo 8 - Aplicações em Redes

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Profs. Deja e Andrei

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

ESTUDO DE CASO WINDOWS VISTA

Administration Kit. Parte de Kaspersky Business Space Security Kaspersky Enterprise Space Security Kaspersky Total Space Security

Conheça a nova solução de servidor que ajuda pequenas empresas a fazer mais Com menos.

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Q-flow 2.2. Código de Manual: Qf22007POR Versão do Manual: 3.1 Última revisão: 21/10/2005 Aplica-se a: Q-flow 2.2. Sizing

Introdução à Computação

GESTÃO DE SISTEMAS OPERACIONAIS II

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 3

1

Sistemas Operacionais

Introdução ao Active Directory AD

SISTEMAS DISTRIBUIDOS

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

TRABALHO COM GRANDES MONTAGENS

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

Manual do usuário. Mobile Auto Download

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

EVOLUÇÃO DOS SIST. DE COMPUTAÇÃO DÉC. DE 50 E 60

Aranda INVENTORY. Benefícios Estratégicos para sua Organização. (Standard & Plus Edition) Beneficios. Características V

UFF-Fundamentos de Sistemas Multimídia. Redes de Distribuição de Conteúdo (CDN)

Prof. Marcelo Machado Cunha

DELL POWERVAULT SÉRIE MD ARMAZENAMENTO DE DADOS MODULAR ARMAZENAMENTO DE DADOS DELL POWERVAULT SÉRIE MD

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Introdução ao Modelos de Duas Camadas Cliente Servidor

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

XDOC. Solução otimizada para armazenamento e recuperação de documentos

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

INTERNET HOST CONNECTOR

Informática - Prof. Frank Mattos

SISTEMAS OPERACIONAIS

Starter: instalada em netbooks, possui recursos praticamente apenas para uso de s e navegação na Internet; Home Basic: disponível apenas para

Planejamento Estratégico de TI. Felipe Pontes

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Sistemas Operacionais

No mercado atual, podemos encontrar vários tipos de sistemas operacionais que fazem parte das seguintes classes:

Everson Scherrer Borges João Paulo de Brito Gonçalves

Administração de Sistemas de Informação Gerenciais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

possível até impedir o funcionamento do Windows. Faz-scuidado redobrado ao ativar determinados recursos.

O que é Grid Computing

WINDOWS NT SERVER 4.0

5 Mecanismo de seleção de componentes

Curso de Aprendizado Industrial Desenvolvedor WEB

Gerência de Redes. Profa. Márcia Salomão Homci

Sistemas Distribuídos Aula 2

Conceitos Básicos

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 16

Sistemas Distribuídos

Introdução ao GED Simone de Abreu

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes.

Instalar o MarkVision

Pré-Requisitos do Software Themis Pré-Requisitos do Software Themis

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

3 SCS: Sistema de Componentes de Software

CAPÍTULO 2. Este capítulo tratará :

Computação em Nuvens. Professor: Dr. Rogério Vargas 2015/1

Transcrição:

Cliente-Servidor Exemplos Servidores de Arquivos: Netware, Windows NT. Servidores de Base de Dados: Oracle, SQL Server, Sybase. Servidores Transacionais: MTS (Microsoft), Tuxedo (oracle), CICS (IBM). Servidores de Groupware/ E-mail: Lotus Notes, Expresso Mail, MS Exchange. Servidor de Nome: DNS, X.500. Servidor Web: Apache, MS Internet Information Server. Peer to Peer Exemplos: - Emulle: Os peers podem se conectar a um ou mais servidores para efetuar buscas. Os downloads são feitos diretamente entre peers, sendo possível baixar partes de um arquivo a partir de diferentes peers. - JXTA: Proposto pela Sun. Provê uma infra-estrutura simples de rede P2P sobre a qual podem ser criadas aplicações que empregam este paradigma de comunicação. Cria grupos de pares com interesses comuns. Mensagens JXTA são codificadas em XML. Possui uma implementação padrão em Java. - BitTorrent: Protocolo P2P para download de arquivos. O arquivo compartilhado é dividido em vários pedaços, que são baixados simultaneamente. Pedaços recebidos já são compartilhados. Servidores de Arquivos Distribuídos GoogleFS: é um sistema proprietário de arquivos distribuídos. O seu objetivo é organizar as informações dos sistemas de informação do google, podendo prover então uma gama de serviços como o Gmail a usuários do mundo inteiro. O GoogleFS nasceu da necessidade de gerenciar arquivos gigantescos da sua ferramenta de busca, que precisava persistir dados históricos. O antecessor deste filesystem é o Bigfiles, criado no início da empresa google por seus criadores. E Ainda: NFS: O Network File System, desenvolvido pela SUN Microsystems, é o sistema de arquivos distribuídos mais utilizado em ambiente UNIX. Isto ocorre graças a iniciativa da SUN de lançar publicamente a especificação do protocolo NFS que permitiu que qualquer fabricante fosse capaz de lançar os seus próprios clientes e servidores NFS. Atualmente, existem implementações do NFS para praticamente todas as plataformas relevantes e todas elas podem compartilhar o sistema de arquivos entre si. No entanto, o NFS apresenta uma série de problemas dentre os quais se destacam a sua velocidade relativamente baixa e a falta de consistência entre os caches dos clientes. ANDREW: Desenvolvido na Universidade Carnegie-Mellon, o Andrew File System foi o primeiro sistema de arquivos a oferecer um serviço de alta escalabilidade possibilitando que dezenas de milhares de clientes compartilhassem os arquivos oferecidos por centenas de servidores. Este era o objetivo principal do projeto e foi alcançado através da adoção da semântica de sessão e da utilização de grandes caches em discos locais dos clientes. A fim de limitar a possível falta de segurança em um sistema tão grande, o ANDREW adota uma série de mecanismos como, por exemplo, o Kerberos Authentication Server que permite a autenticação mútua de servidores e clientes. SPRITE: O Sprite Network Operating System, desenvolvido na Universidade da Califórnia em Berkeley oferece um serviço de arquivos muito rápido além de garantir a consistência das informações cacheadas pelos clientes. Foi o primeiro sistema a adotar uma política na

qual o espaço reservado para o cache varia dinamicamente podendo ocupar toda a memória disponível tanto nos servidores quanto nos clientes. Além do sistema de arquivos distribuído, o SPRITE oferece, ainda, a possibilidade de migração de processos entre as máquinas de uma rede local. Bancos de Dados Distribuídos Banco de dados distribuído (BDD) é uma coleção de vários bancos de dados logicamente interrelacionados, distribuídos por uma rede de computadores. Existem dois tipos de banco de dados distribuídos, os homogêneos e os heterogêneos. Os homogêneos são compostos pelos mesmos bancos de dados, já os Heterogêneos são aqueles que são compostos por mais de um tipo de banco de dados. Computação Ubíqua Computação Móvel O conceito de Computação Móvel implica que os meios de computação e os serviços associados a eles são móveis. Ou seja, um computador possui características que o torna possível de ser carregado de forma prática pelo seu usuário. Dessa forma, o computador torna-se um dispositivo sempre presente expandindo a capacidade do usuário de utilizar os seus serviços independente de localização. Computação Pervasiva O conceito de Computação Pervasiva implica que os meios de computação estão distribuídos no ambiente de forma perceptível e imperceptível ao usuário. Distribuído no ambiente, o computador tem a capacidade de extrair informações bastante detalhadas de cada parte desse ambiente. A partir disso, é capaz de utilizá-la para dinamicamente construir modelos computacionais, ou seja, controlar, configurar e ajustar aplicações para melhor atender as necessidades de um dispositivo ou de um usuário. Em um ambiente desses povoado de sensores, computadores e aplicações, cada integrante é capaz de detectar a existência e interagir com outro integrante a fim de construir um contexto inteligente. Computação Ubíqua A Computação Ubíqua beneficia-se dos avanços da Computação Móvel e da Computação Pervasiva. Portanto, a Computação Ubíqua surge da integração da mobilidade com a presença distribuída, imperceptível, inteligente e altamente integrada de computadores e suas aplicações. Os ambientes de Computação Ubíqua são caracterizados pela grande diversidade de dispositivos, heterogeneidade de redes e conexão intermitente. As aplicações têm que se ajustar a mudanças nesses ambientes de forma transparente para o usuário. As informações retornadas para o usuário podem mudar dependendo do contexto. Serviços Baseados em Localização (LBS) são os mais conhecidos. Nos dias de hoje já podemos ver adaptações de sites da Internet: Wikilivros Móvel; Google Móvel; Amazon Móve. As tecnologias mais profundas e duradouras são aquelas que desaparecem. Elas dissipam-se nas coisas do dia a dia até tornarem-se indistingüíveis. Mark Weiser. (Mark Weiser é considerado o pai da Computação Ubíqua (23/07/1952 27/04/1999). Foi o pioneiro na escrita de um artigo na área de Computação Ubíqua, "The computer for the 21st century.",sendo assim considerado um dos artigos mais importantes da área.) A computação ubíqua vislumbrada por ele traria um acréscimo de funcionalidades e disponibilidade dos serviços de computação, entretanto, a visibilidade desses serviços para o usuário deveria ser a menor possível. Quando coisas desaparecem, ficamos livres para usá-

las sem pensar. O foco do usuário fica voltado para a tarefa e a ferramenta utilizada é abstraída. Estudo de casos Um estudo de caso eminente nos dias atuais, no que se diz respeito a sistemas de arquivos distribuídos, é o surgimento do GmailFS. Na verdade o GmailFS nada mais é do que um modo de explorar um sistema de informação distribuído que provê ao seu usuário um gigantesco espaço de armazenamento. Ou seja, na realidade o GmailFS não é de fato um sistema de arquivos, porém ele pode ser emulado como tal. A empresa Google disponibiliza aos seus usuários um serviço de emails que utiliza na sua infra-estrutura o GoogleFS, que por sua vez gerencia todo os dados usados pelos emails. Nesse sistema de informação (o Gmail), e por consequência no GmailFS, existem algumas limitações como tamanho máximo de arquivos a serem armazenados e tamanho máximo do disco virtual. Porém, estes problemas podem ser facilmente gerenciados por software uma vez que são problemas estáticos. Ou seja, se quero gravar um arquivo que possui 50mb no meu GmailFS, o software que controla o interfaceamento entre sistema operacional local (GmailFS) e Gmail pode fragmentar este arquivo em vários outros arquivos menores no Gmail. Assim o resultado é o armazenamento transparente para o usuário que utiliza o GmailFS. A indústria médica é uma das áreas que está se beneficiando da computação móvel e promete impulsionar as pesquisas na área da Computação Ubíqua, pois se trata de uma indústria onde se tem um elevado investimento financeiro e cujos custos investidos são pequenos em relação aos benefícios retornados aos médicos e aos pacientes. As aplicações beneficiarão o atendimento, os resgates e a monitoração de pacientes em qualquer lugar. Cada vez mais estudos estão sendo dedicados nessa área, inclusive no Brasil, onde, por exemplo, estão sendo desenvolvidos estudos para acompanhamento de pacientes com Infartos Agudos no Miocárdio. Outra área interessante e sendo desenvolvida na prática é a pesquisa para acompanhamento de pacientes com diabetes. EXEMPLO: FRAMEWORK GOOGLE APP ENGINE É recente a possibilidade de um desenvolvedor hospedar aplicativos na Web sem custos ou com ínfimos gastos. Há poucos anos atrás, não era possível dispor de servidores gratuitamente para hospedagem de páginas pessoais ou aplicações voltadas à Web. Esta é uma realidade que veio sendo mudada graças ao crescimento

do uso da Internet em todo o mundo e aos investimentos de grandes empresas do ramo de TI, que investiram em servidores e serviços baseados em navegadores Web. Um dos fatores que possibilitaram a evolução da Web foram as Redes de Distribuição de Conteúdo (CDN Content Delivery Network). Trata-se de um sistema de servidores distribuídos por todo o mundo, atendendo às solicitações de acordo com a posição física. Google, Yahoo! e Amazon utilizam CDNs para disponibilizar seus serviços de maneira eficiente. Porém, para usuários domésticos ou pequenas empresas, esta prática se tornaria muito cara e, consequentemente, inviável. O histórico do Google revela uma empresa que sempre teve preocupação com o desenvolvimento da Web como um todo, implantando algumas mudanças ao longo de uma década e revolucionando algumas visões antiquadas. O Google é um dos pioneiros em computação nas nuvens e, como mencionado anteriormente, desenvolveu o Google App Engine, abrindo a possibilidade de hospedagem de aplicativos em uma plataforma escalável e gratuita. O sandbox1 garante que os aplicativos executem somente ações que não interfiram no desempenho e escalabilidade de outros aplicativos. Por exemplo, um aplicativo não pode gravar dados em um sistema de arquivos local ou fazer conexões de rede arbitrárias. Em vez disso, os aplicativos usam serviços escaláveis oferecidos pelo Google App Engine para armazenar dados e se comunicar pela internet. O interpretador de Python emite uma exceção quando o aplicativo tenta importar um módulo da biblioteca padrão que não funciona nas restrições do sandbox. (GOOGLE, 2009) VANTAGENS O uso da infraestrutura do Google está associado a uma garantia já conhecida de disponibilidade que é característica dos produtos da empresa. São sistemas de alta disponibilidade e escalabilidade conhecidos principalmente pelo buscador, cujo qual tornou-se o sistema de buscas mais utilizado no mundo, apresentando crescimento em relação aos seus concorrentes no ano de 2008 (SULLIVAN, 2009). Estas evidências aumentam a credibilidade nos serviços oferecidos pela empresa, incluindo o Google App Engine, especialmente pelo fato de tratar-se de um sistema com suporte a escalabilidade e alta disponibilidade. Para lidar com problemas como o grande número de acessos concorrentes e a possibilidade de algum nodo de seu datacenter apresentar defeitos ou ficar indisponível, o Google desenvolveu seu próprio sistema de arquivos, conhecido como GFS Google File System, a fim de simplificar tarefas de acesso. Arquivos do Google tendem a ser muito grandes e costumam alcançar vários gigabytes. Cada um desses arquivos contém grandes quantidades de objetos menores. Além do mais, em geral eles são atualizados mais por anexação de dados a um arquivo do que sobrescrevendo partes de um arquivo. Essas observações, junto com o fato de que falhas de servidor são a norma, e não a exceção, resultaram na construção de clusters de servidores. (TANENBAUM, 2007, p. 299-300)

A ocultação de localização dos dados no banco de dados do Google App Engine, abstrai parte da complexidade para o programador, tornando a arquitetura do serviço mais fechada. Isto é, enquanto a Amazon, por exemplo, oferece serviços separadamente para armazenagem e processamento implicando em uma tarefa complexa de integração entre eles, o Google oferece ambos em uma única estrutura integrada. Esta estrutura está sendo oferecida com suporte a duas linguagens de programação de ampla utilização: Python e Java. Este fato dá ao programador mais liberdade de escolha, podendo ele escolher a que melhor oferece suporte as suas necessidades. Seja qual for a escolha, o Google App Engine oferece ao desenvolvedor um painel de monitoramento de estatísticas do aplicativo e controle de versões, além de uma série de configurações como tempo de duração de cookies, migração para domínios próprios e logs de usuários que efetuaram login no aplicativo, além das atividades desenvolvidas por eles. DESVANTAGENS Uma desvantagem clara no uso do App Engine é a quebra de paradigmas, o que exige aplicações desenvolvidas exclusivamente para este ambiente. Ou seja, a escolha pelo uso desta infraestrutura implica em prender-se a um sistema fechado, com o agravante de que o administrador do aplicativo não sabe onde seus dados e os dados de seus usuários ficam armazenados. Esta ocultação de localização das informações, segundo a ótica do Google, busca diminuir a complexidade no gerenciamento de um banco de dados distribuído. Contudo, sob a ótica de algum desenvolvedor cético, pode consistir em desvantagem, uma vez que o Google torna-se detentor das informações mais importantes pertencentes a clientes do aplicativo.