PADI Plataformas e Aplicações Distribuídas na Internet
|
|
- Maria da Assunção Canejo de Escobar
- 8 Há anos
- Visualizações:
Transcrição
1 PADI Plataformas e Aplicações Distribuídas na Internet Introdução pb/disciplinas/padi taguspark-pb/disciplinas/pdipb/disciplinas/pdi PJPF, LAV INESC-ID/IST 2-1 O que é o? Índice Modelos aplicacional e arquitecturas Modelo de comunicação, de faltas, de segurança Desafios/Dificuldades 2-2
2 O Que é um 2-3 Definição de Sistema Distribuído Conjunto de computadores (nós) autónomos que estão ligados entre si Cada computador tem: sistema operativo middleware Middleware: Software que se situa por cima do sistema operativo e por baixo das aplicações Software que, do ponto de vista dos programadores, aplicações e seus utilizadores, permite aos computadores de um sistema distribuído comportar-se como um sistema único, integrado e coerente (nomes, localização, invocação, consistência, protocolos, etc.) Portanto, o middleware não é mais que: software de suporte a aplicações distribuídas () 2-4
3 Definição de Sistema Distribuído Componentes Middleware/ Sistema Operativo Hardware nó A rede Componentes Middleware/ Sistema Operativo Hardware nó C Componentes Middleware/ Sistema Operativo Hardware nó B 2-5 Definições :-) Sistema distribuído: Conjunto de computadores que deixa de funcionar quando um, que nem sabíamos que existia, vai abaixo Middleware: ware que está no meio 2-6
4 Sistemas Centralizados vs. Distribuídos Apenas uma instância do componente: Nó Servidor Aplicação Recurso partilhado por todos os utilizadores Ponto único de: Controle Falha Desempenho problemático Vários componentes autónomos Nem todos os componentes são partilhados por todos os utilizadores do sistema Alguns dos componentes podem não estar acessíveis em determinados momentos Software executa-se em processos concorrentes em processadores/nós distintos Múltiplos pontos de: Controle Falha Potencialmente melhor desempenho 2-7 Software de Suporte a Aplicações Distribuídas () Aplicação Aplicação Application Programming Interface (API) Sistema Operativo Sistema Operativo as aplicações interajam entre si de forma transparente do ponto de vista da sua localização as aplicações sejam independentes das particularidades da comunicação (ex.: protocolos) as aplicações tenham maior robustez e disponibilidade os serviços disponibilizados pelas aplicações sejam escaláveis com o aumento de pedidos 2-8
5 Nível de abstracção fornecido pelo ao programador de aplicações: muito superior ao que é fornecido pelo sistema operativo (ex.: envio de mensagens através de sockets vs. invocação de objectos). Isto não significa que a concepção e desenvolvimento de aplicações distribuídas se torne trivial: há ainda muitos aspectos a considerar e que não são actualmente suportados de forma satisfatória pelas plataformas existentes. ex.: numa arquitectura cliente-servidor em que local é que deve ficar o código/dados para suportar uma determinada funcionalidade. Serviços básicos: Identificação/localização e carregamento de código (classes ou pacotes/módulos) Identificação/localização de objectos remotos e gestão das respectivas referências invocação de objectos remotos (tendo em conta a passagem de referências para outros objectos como argumentos) notificação das aplicações da ocorrência de falhas na rede 2-9 Modelo Aplicacional e Arquitecturas 2-10
6 Modelo Aplicacional As aplicações distribuídas podem ser desenvolvidas de acordo com vários modelos aplicacionais A decisão de qual o modelo mais adequado depende de vários aspectos, como por exemplo: Desempenho esperado A quantidade de dados a transmitir via rede A segurança necessária ao correcto funcionamento da aplicação A funcionalidade suportada pelo middleware Aspectos prácticos relacionados com os computadores em causa etc Modelo: chamada de procedimento/método remoto procedimento/método a executar e respectivos argumentos cliente servidor resultado da execução do procedimento/método 2-12
7 Modelo: chamada de procedimento/método remoto Pressupõe a existência de um processo cliente e de um processo servidor: O cliente envia mensagens ao servidor em cada uma das quais especifica qual o procedimento/método que deve ser executado O servidor, ao receber essa mensagem, executa o procedimento/método em causa e envia uma mensagem de reposta ao cliente com o respectivo resultado Todo o suporte necessário à execução da chamada de procedimento remoto é da responsabilidade do middleware/ Este modelo é por vezes designado em terminologia anglo-saxónica por function-shipping 2-13 Modelo: mapeamento local de dados pedido de dados cliente servidor dados a mapear no cliente 2-14
8 Modelo: mapeamento local de dados Pressupõe a existência de um processo cliente que acede a dados que foram previamente mapeados localmente: Todos os dados que não se encontram mapeados localmente, quando são acedidos pela primeira vez pela aplicação em causa, têm de ser localizados (num computador remoto, i.e. servidor) e mapeados localmente Middleware/ no cliente envia uma mensagem ao servidor requisitando os dados em causa O servidor responde com uma mensagem contendo os respectivos dados, que são mapeados no cliente, de modo a que a aplicação possa continuar a sua execução Tudo isto é feito de forma transparente para a aplicação Este modelo é por vezes designado em terminologia anglo-saxónica por data-shipping 2-15 Modelo: mapeamento local de código pedido do código cliente servidor código a mapear no cliente 2-16
9 Modelo: mapeamento local de código Análogo à anterior mas: é o código da aplicação, ou de parte dela, que se encontra num computador remoto (i.e., no servidor) e que, por essa razão, terá de ser mapeado (ou carregado) localmente de modo a que a aplicação funcione correctamente Está subjacente à noção de applets que existe, por exemplo, no ambiente de programação Java Um applet não é mais do que a designação adoptada para descrever um pedaço de código que viaja na rede de um computador para outro, no qual se executa 2-17 Modelo: código+dados móvel computador código+dados em viagem código-dados em viagem computador computador código+dados em viagem computador 2-18
10 Modelo: código móvel Análogo à anterior mas com a diferença de que o código de uma aplicação, ou de parte dela, tem a capacidade de viajar na rede entre vários computadores nos quais se executa É o modelo que está subjacente ao que se designa por tecnologia de agentes móveis: um agente é um pedaço de código (e respectivos dados) que pode ser mapeado sucessivamente em vários computadores que assim se comportam ora como clientes ora como servidores Note-se que: um applet pode viajar apenas entre dois computadores. um agente não se encontra limitado, à partida, a um número de viagens pré-especificado 2-19 Modelo: publicação-subscrição subscrição computador subscrição publicação publicação computador computador 2-20
11 Modelo: publicação-subscrição Pressupôe a existência de um mecanismo, ao nível do, que permita: às aplicações indicar o seu interesse num determinado tipo de eventos, e que possibilite a difusão desses mesmos eventos através do envio de mensagens para as aplicações interessadas. Quando um dado evento ocorre: é difundido de forma a que as aplicações nele interessados recebam a mensagem respectiva 2-21 Arquitecturas As aplicações distribuídas podem adoptar várias arquitecturas Main-frame Cliente-Servidor básica Cliente-Servidor c/ 2-níveis (two-tier) Cliente-Servidor c/ 3-níveis (three-tier) Cliente-Servidor c/ 3-níveis na Web Arquitectura de Referência 2-22
12 Arquitectura Mainframe mainframe interface com o utilizador processamento armazenamento terminal terminal terminal grande utilização nos anos 60 existência de um computador central de grande capacidade de processamento e armazenamento ao qual se encontravam ligados terminais terminais não tinham nenhuma funcionalidade acrescida além de permitir a visualização de informação. todo o processamento e armazenamento é efectuado pelo mainframe: ex.: o processamento associado à gestão da interface com o utilizador 2-23 Arquitectura Cliente-Servidor armazenamento de ficheiros mini-computador armazenamento temporário (caching) interface com o utilizador computação computador pessoal computador pessoal computador pessoal Sistemas de ficheiros distribuídos: Servidor cuja função primordial é o armazenamento de informação, i.e. ficheiros Os clientes (e.g. PCs) são utilizados para efectuar processamento sobre os dados obtidos do servidor Não se pode dizer que exista de facto um : a API fornecida é a mesma que um sistema de ficheiros local todo o software de suporte encontra-se dentro do núcleo do sistema operativo Este tipo de arquitectura (cliente-servidor) só se tornou viável: capacidade de processamento dos computadores pessoais aumentou de forma significativa (servidor de ficheiros de baixo custo, PCs com capacidade de processamento dos dados obtidos do servidor) 2-24
13 Arquitectura Cliente-Servidor com 2-Níveis2 armazenamento temporário (caching) interface com o utilizador computação (aplicação) armazenamento de dados computação (aplicação) computador cliente pedidos respostas computador servidor O cliente é tipicamente um computador pessoal: executa a aplicação O servidor é um computador com capacidade de armazenamento superior (à do cliente): executa um servidor (ex., base de dados, servidor web, etc.). A função de armazenamento: é efectuada exclusivamente pelo servidor A função de computação: executa-se maioritariamente no cliente 2-25 Arquitectura Cliente-Servidor com 2-Níveis 2 (cont( cont.) A computação em causa é basicamente: interface com o utilizador (a cargo do cliente) aplicação propriamente dita pedidos servidos pelo servidor Exemplos: se servidor alberga uma base de dados este suporta queries, stored procedures, triggers, etc. se é um servidor web, os pedidos por este servidos serão os que estão definidos pelo protocolo HTTP Desvantagem principal desta arquitectura: não permite a separação clara do código correspondente à lógica da aplicação da respectiva interface e da gestão do repositório da informação. a lógica da aplicação está misturada no cliente com a interface ao utilizador e, por vezes, no servidor com a gestão do repositório da informação quando parte, senão toda, a funcionalidade da aplicação está situada no cliente, é bastante díficil efectuar upgrades dessa aplicação 2-26
14 Arquitectura Cliente-Servidor com 3-Níveis3 armazenamento temporário (caching) interface com o utilizador armazenamento temporário (caching) computação (aplicação) armazenamento de dados computador cliente pedidos respostas computador servidor pedidos respostas computador servidor A lógica da aplicação está claramente separada Primeiro nível: código específico que efectua a interface com o utilizador Nível intermédio: lógica da aplicação (ex.: serviços transaccionais, de mensagens, aplicacionais) Terceiro nível: código de gestão do repositório da informação 2-27 Arquitectura Cliente-Servidor com 3-Níveis 3 na Internet interface com o utilizador armazenamento temporário (caching) computação através de applets armazenamento temporário (caching) computação (aplicação) armazenamento de dados cliente browser pedidos respostas servidor web estendido pedidos respostas respositório (base de dados, ficheiros, etc.) Primeiro nível browser: código específico que efectua a interface com o utilizador Nível intermédio servidor web estendido: lógica da aplicação (ex.: serviços transaccionais, de mensagens, aplicacionais) Terceiro nível base de dados: código de gestão do repositório da informação 2-28
15 Arquitectura Cliente-Servidor com 3-Níveis 3 na Internet (cont.) Servidor web estendido através de um programa auxiliar (ex.: CGI) Servidor Web Sistema Operativo pedidos e respostas via pipe e variáveis de ambiente de acordo com a CGI Programa Auxiliar Sistema Operativo Servidor web estendido através de código adicional que é interpretado por uma máquina virtual associada ao servidor web (ex.: servlets, JSPs, ASPs, etc.) Servidor Web com Extensões Sistema Operativo 2-29 Arquitectura Cliente-Servidor com 3-Níveis 3 na Internet (cont.) Primeiro-segundo níveis: chamada de procedimento remoto (pedidos efectuados de acordo com o protocolo HTTP do cliente ao servidor) mapeamento local de código (carregamento de applets no browser vindos do servidor web) Segundo-terceiro níveis: depende em larga medida do código adicional específico ex.: efectuar o mapeamento local de dados obtidos do repositório, efectuar chamadas de procedimento remoto através de queries SQL, etc. 2-30
16 Arquitectura de Referência (3-Níveis) 2-31 Arquitectura de Referência com 3-Níveis 3 (cont( cont.) Níveis e respectivas funcionalidades: Primeiro nível - interface com o utilizador Segundo nível - lógica da aplicação Terceiro nível - armazenamento dos dados Inicialmente há que especificar a interface dos serviços oferecidos pelo servidor: pode ser usada uma linguagem especialmente concebida para esse efeito (por exemplo, o IDL Corba): esta linguagem é tipicamente diferente da que é usada para implementar essa mesma funcionalidade usar uma só linguagem de programação com a qual se define a interface dos serviços assim como a respectiva implementação neste caso, não há uma distinção entre a definição da interface remota e o restante código ex.: linguagens Java e C# 2-32
17 Arquitectura de Referência com 3-Níveis 3 - tipos A definição da interface é armazenada no repositório de tipos: é necessária para suportar as invocações remotas e as invocações dinâmicas a verificação da conformidade de tipos entre o invocador e o invocado, só é feita em tempo de execução esta informação é também designada por metadados Os meta-dados são também fundamentais para suportar o mecanismo de introspeção (reflection) 2-33 Arquitectura de Referência com 3-Níveis 3 - código Código que resulta da compilação: código nativo, i.e., que pode ser executado directamente pelo sistema operativo, ou formato intermédio, designado por bytecodes ou intermediate language (IL) O código é guardado no repositório de código: o fará o respectivo carregamento no espaço de endereçamento da aplicação indo buscar o código em causa a esse mesmo repositório Código em formato intermédio: carregado (pelo class loader) no espaço de endereçamento da aplicação interpretado pelo interpretador respectivo ou compilado através do just in-time compiler (JIT): compilar o código IL para código nativo de modo a que este se execute directamente sobre o sistema operativo sem necessidade de ser interpretado é efectuada imediatamente antes do código se executar pela primeira vez Por vezes, o código IL engloba em si mesmo a informação de tipos respectiva: e.g. Assemblies no.net, ficheiros.class em Java na prática, os repositórios de tipos e de código não são de facto distintos 2-34
18 Arquitectura de Referência com 3-Níveis 3 - invocação Estruturas de dados fundamentais no que concerne o suporte à invocação de objectos remotos: stub-cliente stub-servidor interceptam o fluxo da invocação do lado da aplicação cliente e do lado da aplicação servidor, respectivamente, Executam um conjunto de operações sobre os dados em causa: Estes dados indicam qual o objecto remoto a invocar, o método e os argumentos, e o valor de retorno. A função primordial do stub-cliente é: transformar estes dados num stream de bytes que podem ser enviados pela rede e de efectuar a operação inversa em relação ao valor de retorno do método em causa O stub-servidor efectua as operações simétricas 2-35 Arquitectura de Referência com 3-Níveis 3 - canal As invocações de objectos remotos são efectuadas através de um canal de comunicação: estabelecido entre a aplicação cliente e a aplicação servidor (e.g., socket TCP) canal pode ser partilhado, i.e. pode ser usado para transportar os dados relativos a várias invocações de modo a utilizar os recursos disponibilizados pelo sistema operativo de um modo mais eficaz. 2-36
19 Arquitectura de Referência com 3-Níveis 3 - segurança Há situações em que é necessário assegurar a privacidade e a integridade dos dados no canal: Para tal usam-se técnicas criptográficas Há que assegurar o controle de acesso das aplicações aos objectos: garantir que uma determinada política de segurança, que especifica quais os métodos que podem ser invocados por que entidade,é de facto cumprida. o elemento fundamental que garante o cumprimento dos direitos de acesso é o monitor de segurança: este é um componente do que intercepta as operações que implicam verificações de acesso. destas operações destacam-se as invocações que, antes de serem permitidas, devem ser analisadas tendo em conta a identificação do invocador e a política de controle de acesso Arquitectura de Referência com 3-Níveis 3 - repositório O repositório de dados é o local onde os objectos são guardados de forma persistente: os objectos podem ter um tempo de vida superior aos das aplicações que os manipulam é normalmente, mas não necessariamente, uma base de dados os objectos podem ser guardados directamente em ficheiros A operação de armazenamento dos objectos é complexa: por vezes é efectuada recorrendo a contentores (e.g., entity beans) contentores automatizam grande parte das operações que têm de ser feitas: fazer o mapeamento entre o modelo de objectos e o modelo relacional subjacente à base de dados, percorrer o grafo de objectos de modo a que sejam guardados todos os objectos que façam parte do fecho transitivo invocação de operações de âmbito transaccional 2-38
20 Arquitectura de Referência com 3-Níveis 3 - persistência Objectos persistentes podem ter um tempo de vida superior aos das aplicações: é necessário que o suporte o carregamento dos objectos a partir do repositório de dados o seu mapeamento no espaço de endereçamento das aplicações, de modo a que possam ser invocados Mecanismos que se executam: ex.: dada a referência do objecto localizá-lo no repositório de dados Estruturas de dados que têm de ser criadas ou alteradas: ex.: estruturas de suporte à invocação Activação: processo de detectar a falta em memória do objecto persistente, localizar o objecto em causa no repositório de dados, mapeá-lo no espaço de endereçamento da aplicação, executar método pretendido etc Arquitectura de Referência com 3-Níveis 3 - GC Execução das aplicações: há inúmeros objectos que são criados e que depois deixam de ser necessários A gestão de memória envolvida nesta actividade é extremamente complexa pois há que determinar: quais os objectos que de facto já não são precisos, e apagar todos os objectos que já não são necessários Caso estas operações não sejam efectuadas correctamente: referências que não apontam para nenhum objecto (dangling references) fugas de memória (memory leaks) Foi estimado que: cerca de 70% do tempo de desenvolvimento de aplicações em C++ se deve à correcção dos bugs com origem na gestão de memória Reciclagem automática de memória: detecta os objectos que já não são necessários às aplicações e liberta a memória ocupada 2-40
21 Arquitectura de Referência com 3-Níveis 3 na Internet 2-41 Modelo de Comunicação Modelo de Faltas Modelo de Segurança 2-42
22 Sistema Distribuído Síncrono Sistema distribuído síncrono é aquele em que os limites seguintes estão definidos: Tempo de execução de cada passo num processo tem limites inferior e superior Cada mensagem transmitida na rede é entregue dentro de um limite máximo de tempo Cada processo tem um relógio local cujo rácio de desvio (drift) em relação ao tempo real tem um limite conhecido Num sistema síncrono é possível, por exemplo: Usar timeouts para detectar a falha dos processos 2-43 Sistema Distribuído Assíncrono Sistema distribuído assíncrono é aquele em que os limites seguintes não estão definidos: Velocidade de execução dos processos Delays na transmissão de mensagens Rácio de desvio do relógio local 2-44
23 Sistemas Síncronos vs Assíncronos As soluções algorítmicas que sejam válidas para sistema assíncronos são também válidas para sistemas síncronos: Sistemas assíncronos são mais abstractos e gerais Toleram atrasos: processos, mensagens, relógios. Não dependem da velocidade/sincronismo para correcção. sistemas síncronos : São mais fáceis de tratar, mas Determinar limites realistas pode ser difícil ou mesmo impossível 2-45 Desempenho do Canal de Comunicação latency: delay between sending and receipt of message network access time (e.g., Ethernet retransmission delay) time for first bit to travel from sender s network interface to receiver s network interface processing time within the sending and receiving processes throughput: number of units (e.g., packets) delivered per time unit bandwidth: amount of information (e.g., bits) transmitted per time unit delay jitter: variation in delay between different messages of the same type (e.g., video frames in ATM networks) 2-46
24 Ordenação de Eventos in a distributed system it is impossible for any process to have a view on the current global state of the system possible to record timing information locally, and abstract from real time (logical clocks) 2-47 Modelo de Faltas (1) Omission failures: process omission failures: process crashes detection with timeouts crash is fail-stop if other processes can detect with certainty that process has crashed communication omission failures: message is not being delivered (dropping of messages) possible causes: network transmission error receiver incoming message buffer overflow 2-48
25 Modelo de Faltas (2) Arbitrary failures: process: omit intended processing steps or carry out unwanted ones communication channel: e.g., nondelivery, corruption or duplication Class of failure Timing Failures Affects Description Timing failures: Applicable in synchrounous distributed systems These failures may result in responses being unavailable within fixed time interval Masking failures It is possible to construct reliable services from components that exhibit failures (ex.: replicated servers) It is also possible to mask a failure by hiding it or by converting it to another type of failure (ex. a corrupted checksum may result in dropping a packet omission failure) Clock Performance Performance Process Process Channel Process s local clock exceeds the bounds on the rate drift from real time Process exceeds the bounds on the interval between two steps A message s transmission takes longer than the stated bound 2-49 Modelo de Faltas (3) Reliability of one-to-one communication is defined in terms of validity and integrity Validity: Any message in the outgoing message buffer is eventually delivered to the incoming message buffer Integrity: The message received is identical to one sent, and no messages are delivered twice The threats to integrity come from two independent sources: Any protocol that retransmits messages but does not reject a message that arrives twice (attach sequence numbers to messages) Malicious users that may inject spurious messages, relay old messages or tamper with messages (use security tools) 2-50
26 Modelo de Faltas (3) 2-51 Modelo de Segurança Protecting access to objects access rights in client server systems: involves authentication of clients Protecting processes and interactions threats to processes: problem of unauthenticated requests / replies e.g., "man in the middle" threats to communication channels: enemy may copy, alter or inject messages as they travel across network use of secure channels, based on cryptographic methods Denial of service e.g., pings to selected web sites generating debilitating network or server load so that network services become de facto unavailable Mobile code requires executability privileges on target machine code may be malicious (e.g., mail worms) 2-52
27 Desafios/Dificuldades 2-53 Desafios/Dificuldades Para quem programa aplicações distribuídas e também Para quem concebe e desenvolve plataformas destinadas ao seu suporte (middleware): heterogeneidade extensibilidade escalabilidade segurança concorrência tratamento de falhas transparência 2-54
28 Heterogeneidade Os já resolvem em grande medida este problema Inúmeras diferenças não se reflectem na programação das aplicações: protocolos de comunicação, sistema operativo, hardware, linguagens de programação, Conseguido através de: máquinas virtuais geração de código (e.g., stubs Remoting/RMI) 2-55 Extensibilidade Capacidade do sistema distribuído evoluir através de extensões e melhoramentos: alterar/modificar/acrescentar funcionalidades ao sistema em causa sem que isso implique modificações significativas ao nível do sistema existente Aspecto fundamental para a extensibilidade: especificar as interfaces de todos os componentes do sistema estabelecendo assim de forma clara os serviços oferecidos, e separando esta especificação da respectiva implementação 2-56
29 Escalabilidade Um sistema distribuído é escalável quando: o custo de servir mais um cliente é, em termos de recursos utilizados, constante. manter a qualidade do serviço prestado com o aumento do número de utilizadores aumentar o desempenho dados mais recursos É fundamental: os algoritmos e mecanismos usados, principalmente no que diz respeito ao acesso a informação partilhada, não tenham nenhum bottleneck Uma das técnicas utilizadas: replicar informação que é acedida mais frequentemente 2-57 Segurança É um aspecto fundamental de qualquer sistema distribuído As técnicas de criptografia contribuem de forma significativa para assegurar: privacidade integridade No entanto, a criptografia só por si não resolve todos os problemas de segurança: um dos elementos a ter igualmente em conta é especificação das políticas de segurança adequadas e, garantir o seu cumprimento efectivo 2-58
30 Concorrência Existência de vários clientes que acedem a dados partilhados: componentes distintos executados em processos diferentes componentes partilham recursos aos quais acedem concorrentemente (memória, ficheiros, etc.) problema da consistência desses mesmos dados Se o acesso a recursos partilhados não é feito de forma controlada: escritas perdidas leituras inconsistentes A aplicação distribuída que possibilita o acesso a este tipo de dados deve ter em conta este problema: fornecendo suporte adequado à partilha correcta da informação ex.: através de mecanismos baseados em locks 2-59 Tratamento de Falhas Um dos aspectos que distingue um sistema distribuído de um centralizado é o modelo de faltas: num sistema distribuído é fundamental comunicar as falhas ao programador das aplicações e permitir que este as trate da forma mais adequada à aplicação em causa Há falhas: Hardware (PCs, routers, etc.) Software Os sistemas distribuídos devem manter-se disponíveis mesmo perante falhas dos seus constituintes Tolerância a faltas é conseguida através de: recuperação redundância 2-60
31 Transparência O objectivo é: fazer com que determinados aspectos resultantes da distribuição, que não são específicos das aplicações, sejam tratados pela plataforma de suporte, tornando-se, assim, transparentes para o programador. o programador apenas tem de se preocupar com a própria aplicação e não com aspectos de nível sistema, como por exemplo, o protocolo de suporte à invocação de objectos remotos. Ou, de outro modo: ``esconder'' do programador das aplicações e do seu utilizador a efectiva separação dos componentes do sistema que assim é visto como um sistema único, monolítico, em vez de várias entidades distribuídas geograficamente. Vertentes: Acesso, Localização, Persistência, Mobilidade, Replicação, Concorrência, Escalabilidade, Desempenho, Falhas 2-61 Transparência (cont( cont.) Transparência do acesso: recursos locais ou remotos, objectos em particular sejam acedidos (i.e. invocados) de forma idêntica, ou seja, através de operações similares. Transparência da localização: recursos locais ou remotos, objectos em particular, sejam acedidos sem ter necessidade de conhecer a sua localização. Transparência da persistência: recursos, objectos em particular, sejam acedidos sem ter necessidade de saber se estão guardados em disco ou já estão mapeados em memória. Transparência da mobilidade: permite que os recursos mudem de localização sem que isso afecte as aplicações e/ou os utilizadores. 2-62
32 Transparência (cont( cont.) Transparência da replicação: existam várias réplicas dos recursos, objectos em particular, de modo a que a sua utilização possa ser feita com melhor disponibilidade e desempenho (em relação à situação em que não há réplicas) sem que os programadores das aplicações e os seus utilizadores tenham disso conhecimento Transparência da concorrência: vários processos acedam a recursos partilhados, objectos em particular, sem que haja interferências nefastas. Transparência da escalabilidade: o sistema se expanda (mais software, mais hardware) sem que seja preciso alterar a estrutura das aplicações 2-63 Transparência (cont( cont.) Transparência do desempenho: o sistema seja reconfigurado de modo que o desempenho se mantenha ou melhore em função de variações de carga. Transparência das falhas: esconder dos programadores das aplicações e dos seus utilizadores eventuais falhas do sistema possibilitando assim que estes efectuem as suas tarefas (apesar dessas falhas). 2-64
33 Aspectos Sistema Fundamentais Referências: Identificação, acesso, localização Serviço de nomes/trading Execução: invocação local/remota reflexão web services migração replicação Persistência: Por acessibilidade, explícita, etc. Serialização Activação Transacções Segurança: Sandboxing, playground Espaço de nomes (class loaders) Protection domain Criptografia simétrica/assimétirca Certificados 2-65 Resumo O que é o? Software que, do ponto de vista dos programadores, aplicações e seus utilizadores, permite aos computadores de um sistema distribuído comportar-se como um sistema único, integrado e coerente (nomes, localização, invocação, consistência, protocolos, etc.) Modelos e arquitecturas: chamada procedimento/método remoto, mapeamento local dados/código, código móvel, publicação-subscrição mainframe, cliente-servidor, 2-níveis, 3-níveis, arq. Referência Sistema síncrono vs. sistema assíncrono Ordenação de eventos Faltas por omissão, bizantinas, etc. Reliable one-to-one communication Desafios/Dificuldades: heterogeneidade, extensibilidade, escalabilidade, segurança, concorrência, tratamento de falhas, transparência 2-66
Sistemas Distribuídos
Sistemas Distribuídos Modelos e arquitecturas 14/15 Sistemas Distribuídos 1 Modelos arquitecturais 14/15 Sistemas Distribuídos 2 Camadas de Software: o Middleware Aplicações Middleware Sistema Operativo
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus Aula 05-06: Modelos de Sistemas Distribuídos (cont.) 2 O modelo peer-to-peer Surgiu no final da década de 1970 Se tornou mundialmente
Leia maisSistemas Distribuídos Capítulos 3 e 4 - Aula 4
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos
Leia maisIntrodução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)
Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema
Leia maisTECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite
Leia maisDesenvolvimento Cliente-Servidor 1
Desenvolvimento Cliente- 1 Ambiienttes de Desenvollviimentto Avançados Engenharia Informática Instituto Superior de Engenharia do Porto Alexandre Bragança 1998/99 Ambientes de Desenvolvimento Avançados
Leia maisSistemas Distribuídos
Sistemas Distribuídos Aula 4 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Migração de Código Em
Leia maisSistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Introdução Um Modelo Arquiteturial dene o modo no qual os componentes de sistemas interagem e o modo no qual eles são mapeados
Leia maisSistemas Distribuídos. Aleardo Manacero Jr.
Sistemas Distribuídos Aleardo Manacero Jr. Conteúdo Conceitos fundamentais Estratégias de controle: relógios e algoritmos de sincronismo Serviços: arquivos e memória Corba Processamento distribuído Sistemas
Leia maisSISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Leia maisCamadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.
Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas
Leia maisModelos Fundamentais. Carlos Ferraz. cagf@cin.ufpe.br
Modelos Fundamentais Carlos Ferraz cagf@cin.ufpe.br O que vimos até agora (I) História Anos 60-70: sistemas centralizados (caros!) Anos 80: computadores pessoais (acessórios caros e pouco aproveitáveis!
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação
Leia maishttp://www.cin.ufpe.br/~sd/disciplinas/sd/grad Características Carlos Ferraz cagf@cin.ufpe.br
http://www.cin.ufpe.br/~sd/disciplinas/sd/grad Características Carlos Ferraz cagf@cin.ufpe.br Características O que são os Sistemas Distribuídos? Benefícios : Não são consequências automáticas da distribuição;
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos
Leia maisPADI Plataformas para Aplicações Distribuídas na Internet
PADI Plataformas para Aplicações Distribuídas na Internet Apresentação Prof. Luís Veiga IST/INESC-ID https://fenix.ist.utl.pt/lerci-pb/disciplinas/padi pb/disciplinas/padi https://fenix.ist.utl.pt/leic-taguspark
Leia maisArquitetura de Computadores II
Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Sistemas de Troca de Mensagens O Sistema de Comunicação provê tipicamente os seguintes serviços para as aplicações:
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisAgentes Inteligentes segundo o Chimera
Agentes Inteligentes segundo o Chimera C Heuristic I M E R A No ambiente de desenvolvimento de Agentes Inteligentes Chimera, uma extensão do LPA Win-Prolog, um agente é funcionalmente composto por: Código,
Leia maisAdriano Reine Bueno Rafael Barros Silva
Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências
Leia maisICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET
INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve
Leia maisTecnologia de Sistemas Distribuídos Capítulo 8: Sistemas de Ficheiros Distribuídos Paulo Guedes
Tecnologia de Sistemas Distribuídos Capítulo 8: Sistemas de Ficheiros Distribuídos Paulo Guedes Paulo.Guedes@inesc.pt Alves Marques jam@inesc.pt INESC/IST 1 Sistema de Ficheiros Distribuídos Permite a
Leia maisFault Tolerance Middleware for Cloud Computing
Fault Tolerance Middleware for Cloud Computing W. Zhao & P. Melliar-Smith & L. Moser Sistemas Distribuídos e Tolerância a Falhas Ivan Pires m3797 Gilberto Melfe m4088 Introdução A cloud computing tem por
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para
Leia maisSistemas Cliente-Servidor
Sistemas Cliente-Servidor Disciplina Bancos de Dados II (INE 5616 2006-1) Curso de Sistemas de Informação Prof. Renato Fileto INE/CTC/UFSC 1 1 Cliente - Servidor Arquitetura cliente/servidor: Os servidores
Leia maisProgramação de Sistemas
Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência
Leia maisProgramação de Sistemas
Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência
Leia maisCamadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores
Camadas de Serviço de Hardware e Software em Sistemas Distribuídos Arquiteutra de Sistemas Distribuídos Introdução Applications, services Adaptação do conjunto de slides do livro Distributed Systems, Tanembaum,
Leia maisMÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos
MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada
Leia maisTolerância a Faltas. 8/28/2003 José Alves Marques. Sistema Computacional
Tolerância a Faltas Sistema Computacional Sistema computacional: Formado por um conjunto de componentes internas Contém um estado interno Está sujeito a um conjunto de entradas, ou estímulos externos Tem
Leia maisCapítulo 8. Software de Sistema
Capítulo 8 Software de Sistema Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer o ciclo de desenvolvimento da linguagem Java
Leia maisTópicos em Sistemas Distribuídos. Modelos de Comunicação
Tópicos em Sistemas Distribuídos Modelos de Comunicação Comunicação em SD Comunicação entre processos Sockets UDP/TCP Comunicação em grupo Broadcast Multicast Comunicação entre processos Conceitos básicos
Leia maisArquitecturas de Software Licenciatura em Engenharia Informática e de Computadores
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:
Leia maisTemas de Tese 2015-2016
Temas de Tese 2015-2016 Os temas de tese aqui apresentados serão orientados por mim, Prof. Paulo Ferreira (alguns com co-orientação de outros docentes) Existem outros temas de tese nas quais sou co-orientador
Leia maisGrupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais
Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:
Leia maisArquitetura de Sistemas Operativos
Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Introdução Os sistemas operativos implementam mecanismos que asseguram independência entre processos (i.e., a execução de um processo
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisUSO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP
USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP SMTP "Protocolo de transferência de correio simples (ou em inglês Simple Mail Transfer Protocol ) é o protocolo padrão para envio de e- mails através da
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services
Leia maisIntrodução aos Computadores
Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas
Leia maisModelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com
Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel
Leia maisArquitetura de um sistema é a especificação de sua estrutura e de seus componentes
Arquiteturas e Modelos de sistemas Arquitetura Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes Localização dos componentes e relação entre eles Objetivo: garantir que
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação
Leia maisSistemas Distribuídos
Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos
Leia maisIntrodução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
Leia maisPrincípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5
Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos
Leia maisENHANCED SERVER FAULT- TOLERANCE FOR IMPROVED USER EXPERIENCE. André Esteves nº3412 David Monteiro
ENHANCED SERVER FAULT- TOLERANCE FOR IMPROVED USER EXPERIENCE André Esteves nº3412 David Monteiro INTRODUÇÃO É proposto uma arquitectura de servidor Web dividida que tolera perfeitamente tanto falhas na
Leia maisCapítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)
Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes
Leia maisProjeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com
Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Exemplos de Sistemas Distribuídos Compartilhamento de Recursos e a Web Principais Desafios para a Implementação
Leia maisSistemas Distribuídos
1 de 9 Sistemas Distribuídos O que é um sistema distribuído? Um conjunto de computadores autonomos a) interligados por rede b) usando um software para produzir uma facilidade de computação integrada. Qual
Leia maisArquitecturas Tolerantes a faltas em Sistemas Distribuídos
Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Replicação de Servidores Transacções Atómicas Protocolos de Replicação Replicação passiva vs. activa Replicação de máquinas de estados vs. Replicação
Leia maisJava Mail Server. Manual do Utilizador
Java Mail Server Manual do Utilizador Introdução às Redes e Comunicações 2002/2003 Java Mail Client Janela de Ligação O Java Mail Client (JMC), assim que é inicializado, mostra uma janela que irá possibilitar
Leia maisDepartamento de Informática
Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos 1ª chamada, 9 de Janeiro de 2009 1º Semestre, 2009/2010 NOTAS: Leia com atenção cada questão antes de responder.
Leia maisWorld Wide Web e Aplicações
World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet
Leia maisEscola Superior de Tecnologia de Setúbal. Projecto Final
Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Projecto Final Computação na Internet Ano Lectivo 2002/2003 Portal de Jogos Executado por:
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre
Leia maisSistemas Informáticos
Sistemas Informáticos Sistemas Distribuídos Eng.ª Sistemas de Informação Escola Superior de Tecnologia e Gestão - IPVC Ano Lectivo 2005-2006 1.º Semestre Gestão de Nomes 1 - Objectivos - Os nomes são fundamentais
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisIntrodução. Sistemas Distribuídos. Mas, o que é um sistema distribuído? Seriamente. Professor: Paulo Jorge Marques. Professora Práticas: Pinki Meggi
Introdução Sistemas Distribuídos Professor: Paulo Jorge Marques Email: pmarques@dei.uc.pt Universidade de Coimbra, Portugal Área de Sistemas Distribuídos Curso de Eng. Informática ISCTEM, Julho 2007 Professora
Leia maisADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia
ADDRESS RESOLUTION PROTOCOL Thiago de Almeida Correia São Paulo 2011 1. Visão Geral Em uma rede de computadores local, os hosts se enxergam através de dois endereços, sendo um deles o endereço Internet
Leia maisNOTA DE ESCLARECIMENTO
NOTA DE ESCLARECIMENTO SOBRE A UTILIZAÇÃO DE NUMERAÇÃO GEOGRÁFICA EM REDES PRIVATIVAS MULTI-SITE I ENQUADRAMENTO O ICP-ANACOM ao acompanhar a evolução tecnológica e tendo sido confrontado com um pedido
Leia maisDistributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science (Tradução e Adaptação Ricardo Anido - IC/Unicamp) Capítulo 04: Comunicação Versão: 20 de março de 2014
Leia mais3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
Leia maisRedes de Computadores. Trabalho de Laboratório Nº7
Redes de Computadores Curso de Eng. Informática Curso de Eng. de Electrónica e Computadores Trabalho de Laboratório Nº7 Análise do tráfego na rede Protocolos TCP e UDP Objectivo Usar o Ethereal para visualizar
Leia maisWeb Technologies. Tópicos da apresentação
Web Technologies Tecnologias de Middleware 2004/2005 Hugo Simões hsimoes@di.fc.ul.pt 1 A Web Tópicos da apresentação Tecnologias Web para suporte a clientes remotos (Applets,CGI,Servlets) Servidores Aplicacionais
Leia maisSistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br
Sistemas Distribuídos RPC x RMI Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Chamada Remota a Procedimento Definição Passagem de Parâmetros STUBS Semântica de Falhas 2 RPC Chamada Remota a
Leia maisCurso de especialização em Teleinformática Disciplina Sistemas Distribuídos Prof. Tacla
- 1 - - 2 - COMUNICAÇÃO INTER PROCESSOS DISTRIBUÍDOS. - 3 - - 4 - Os sockets UDP e TCP são a interface provida pelos respectivos protocolos. Pode-se dizer que estamos no middleware de sistemas distribuídos
Leia maisVisão do Usuário da DSM
Memória Compartilhada Distribuída Visão Geral Implementação Produtos 1 Memória Compartilhada Distribuída Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações
Leia maisAlta Disponibilidade na IPBRICK
Alta Disponibilidade na IPBRICK IPBRICK International 5 de Dezembro de 2012 1 Conteúdo 1 Introdução 3 1.1 Vantagens.................................... 3 2 Requisitos HA 4 3 Configuração HA 4 3.1 Serviço
Leia maisFerramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)
Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Existem inúmeras ferramentas (software) baseadas em RdP que permitem desenvolver modelar e analisar sistema de RdP. Algumas
Leia maisLaboratório de Sistemas e Redes. Nota sobre a Utilização do Laboratório
Nota sobre a Utilização do Laboratório 1. Introdução O laboratório de Sistemas e Redes foi criado com o objectivo de fornecer um complemento prático de qualidade ao ensino das cadeiras do ramo Sistemas
Leia maisSistemas distribuídos:comunicação
M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.
Leia maisCapítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.
Common Object Request Broker Architecture [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. From: Fintan Bolton Pure CORBA SAMS, 2001 From: Coulouris, Dollimore and
Leia maisInterface Homem Máquina para Domótica baseado em tecnologias Web
Interface Homem Máquina para Domótica baseado em tecnologias Web João Alexandre Oliveira Ferreira Dissertação realizada sob a orientação do Professor Doutor Mário de Sousa do Departamento de Engenharia
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível
Leia maisUm sistema SMS 1 simplificado
1 Introdução Um sistema SMS 1 simplificado Projecto de Redes de Computadores I - 2007/2008 LEIC IST, Tagus Park 10 de Setembro de 2007 Pretende-se com este projecto que os alunos implementem um sistema
Leia maisSistemas Distribuídos e Tolerância a Falhas. Tempo e Relógios. Baseado no trabalho de: Ana Sofia Cunha m1892 Christian Lopes a15132 UBI, 2008
Sistemas Distribuídos e Tolerância a Falhas Tempo e Relógios 1 Baseado no trabalho de: Ana Sofia Cunha m1892 Christian Lopes a15132 UBI, 2008 O papel do tempo 2 Crucial na ordenação de eventos Tempo Real?
Leia maisMinistério das Finanças Instituto de Informática. Departamento de Sistemas de Informação
Ministério das Finanças Instituto de Informática Departamento de Sistemas de Informação Assiduidade para Calendários Específicos Junho 2010 Versão 6.0-2010 SUMÁRIO 1 OBJECTIVO 4 2 ECRÃ ELIMINADO 4 3 NOVOS
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução
Leia maisAula 03-04: Modelos de Sistemas Distribuídos
UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)
Leia maisTIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado.
Conceitos relativos à Informação 1. Informação O que á a informação? Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. 2. Dados Em informática designa-se
Leia maisRedes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A
Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A Número: Nome: Duração: 1 hora O teste é sem consulta O teste deve ser resolvido
Leia maisTECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO
TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO ACCESS 2010 Conceitos Básicos Ficha Informativa Professor : Vanda Pereira módulo didáctico Conceitos Básicos Necessidade das base de dados Permite guardar dados
Leia maisArquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo
Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante
Leia maisCiência de Computadores Sistemas Distribuídos e Móveis
Ciência de Computadores Sistemas Distribuídos e Móveis Lista de Exercícios Data: 4 de Novembro de 2013 Questões sobre o capítulo 1, Tanenbaum & van Steen: Fundamentos 1) Explique o significado de transparência,
Leia maisEntendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 4 Estilos Arquitetônicos Estilos Arquiteturais Dataflow
Leia maisSistemas Distribuídos
Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos
Leia maisArquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares
Arquitetura TCP/IP Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares Tópicos Problema de resolução de endereço Mapeamento direto Associação dinâmica ARP
Leia maisLicenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005
Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005
Leia maisUniversidade da Beira Interior
Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação
Leia maisSistemas de Telecomunicações I
Introdução aos Sistemas de Telecomunicações José Cabral Departamento de Electrónica Industrial Introdução aos Sistemas de Telecomunicações 1-16 Introdução aos Sistemas de Telecomunicações Tópicos: Redes
Leia mais