Você está na página 1de 24

Sistemas Operacionais Distribudos - Conceitos Bsicos Definio: Uma coleo de computadores inpendentes que aparecem para o usurio do sistema

como um simples computador. Exemplos: Uma rede local em um departamento; Um conjunto de robs em uma fabrica; Um sistema bancrio interligado. Vantagens dos Sistemas Distribudos: A. sobre os Centralizados 1 - Economia: Os microprocessadores oferecem uma melhor relao preo/performance do que a oferecida pelos mainframes. Groschs law: O poder computacional de uma CPU proporcional a raiz quadrada de seu preo. pagando o dobro voc ganha um quarto de performance. Microprocessadores bate a lei de Grosch. Independente do preo, um supercomputador no tera jamais a mesca capacidade de processamento de um sistema distribudo devido as limitaes da tecnologia de fabricao. (no. CPUs * Velocidade > Capacidade max de uma CPU). Sistemas distribudos x Sistema paralelos. 2 - Velocidade: Um sistema distribudo pode ter um poder de processamento maior que o de qualquer mainframe. 3 - Distribuio inerente: algumas aplicaes envolvem mquinas separadas fisicamente Exemplo: o controle de estoque integrado de uma rede de supermercados. Trabalho cooperativo (edio de relatrios, jogos, ...) 4 - Confiabilidade: (reliability) se uma mquina sair do ar, o sistema como um todo pode sobreviver. Importante para aplicaes crticas: reatores nucleares, avies, etc. 5 - Crescimento incremental: o poder computacional pode crescer em doses homeopticas diminuindo o impacto sobre a operacionabilidade do sistema. B. sobre os PCs 1 - Compartilhamento de dados: permite que usuarios compartilhem dados e trabalhem em conjunto mesmo geograficamente distribudos. 2 - Compartilhamento de dispositivos: permite que mais de um usurio possa ter acesso a perifricos muito caros, tais como impressoras lazer, meios de armazenamento em massa, ploters, etc. 3 - Comunicao: torna muito mais simples a comunicao pessoa-a-pessoa, por exemplo, empregando o correio eletrnico

4 - Flexibilidade: espalha a carga de trabalho por todas as mquinas disponveis ao longo da rede Desvantagens dos Sistema Distribudos 1 - Software: At o presente momento no h muita disponibilidade de softwares adequados para os sistemas distribudos devido a complexidade dos mesmos. Tipos de Sistemas Operacionais, linguagens de programao, Aplicaes ? Nvel de transparncia ao usurio ? O que ser feito pelo sistema ou usuario ? 2 - Ligao (comunicao): A rede pode saturar (perda de informao, sobrecarga). 3 - Segurana: os dados secretos tambm so acessveis facilmente Taxonomia de Flynn (1972) Michael Flaynn baseou sua taxonomia em duas caractersticas consideradas essenciais: o nmero de fluxos de instrues e o nmero de fluxos de dados. As categorias so as seguintes: SISD - um nico fluxo de instrues e um nico de dados. (1 so processador). SIMD - fluxo nico de instrues e mltiplos fluxos de dados. (supercomputadores). Array processores: uma instruo comanda varias unidades de dados a se carregar em paralelo com seus prprios dados. Utilidade: mesmo clculo para diferentes conjuntos de dados; ex: somar elementos de 64 vetores diferentes ao mesmo tempo). MISD - vrios fluxos de instrues e um nico fluxo de dados. um esquema terico. MIMD - todos os sistemas distribudos. Computadores independentes seus prprios programas e dados.

Figura Taxonomia de flynn

As mquinas MIMD so classificadas em dois grupos: aquelas que possuem memria compartilhada, chamadas multiprocessadores, e aquelas que no possuem memria compartilhada, chamadas multicomputadores. Bus (barramentos: maquinas conectadas atraves de um mesmo meio como a tv a cabo) x Switched (comutao: ligaes individuais entre cada maquina como sistema telefonico). As mquinas podem ser fortemente acopladas ou fracamente acopladas. Em um sistema fortemente acoplado o retardo ocasionado pelo envio de uma mensagem de uma mquina para outra baixo, e a velocidade de transmisso alta, ou seja, o nmero de bits que podem ser transferidos em um segundo muito grande. Em um sistema fracamente acoplado, ocorre justamente o oposto. Em geral, os sistema multiprocessadores tendem a ser mais fortemente acoplados que os multicomputadores, pelo fato de eles poderem trocar dados na velocidade de suas memrias. Mas isto nao sempre verdade. Barramento x Comutao Tanto os sistemas multiprocessadore como os multicomputadores podem ser ligados por barramento ou comutao. Sistema Multiprocessadores ligados por Barramento Os sistema multiprocessadores ligados por barramento, so compostos por determinado nmero de processadores conectados a um barramento comum, todos eles acessando uma memria tambm comum. 32 ou 64 trilhas de endereo, 32/64 trilhas de dados 32 trinhas de instruo operando em paralelo. Leitura: coloca endereo, passa instruo e recebe dados. Quando um sistema tem uma memria que apresenta os mesmos valores para todos os processadores que a compartilham, se diz que a memria coerente. Quando se deseja minimizar o trfego em um barramento compartilhado por vrios processadores pode-se utilizar uma memria cache entre o barramento e o processador. A memria cache guarda os valores acessados mais recentemente. Todas as requisies memria passam pela cache. Se a palavra solicitada estiver na cache, ela prpria responde ao processador, no havendo ento necessidade de usar o barramento.

Figura Um sistema multiprocessadores ligados por barramento compartilhando uma memria nica O uso das caches nestes sistema traz um problema. Suponha que dois processadores leia a mesma palavra de suas respectivas caches. Depois disso um dos processadores escreve nesta palavras. Quando o outro processador efetuar uma nova leitura desta palavra, ele vai obter o valor antigo em vez do valor que foi gravado mais recentemente. O sistema ento considerado incoerente e de difcil programao.

Para solucionar este problema so utilizadas as memrias write-throught cache, que escreve na memria tudo que escrito na cache (miniza o trafico na leitura), e snooping (snoopy cache), que observa uma escrita em um endereo contido nela prpria e atualiza a entrada para o novo valor. Apesar do uso de cache minimizar o trfego no barramento a quantidade de processadores neste tipo de ligao limitada. 32 a 64 CPUs por barramento. Sistemas Multiprocessadores Ligados por Comutao Para minimizar o problema de acesso concomitante a um barramento, podendo-se interligar mais de 64 microprocessadores, existe a possibilidade de dividir a memria em mdulo, conectando-os aos processadores atravs de comutao crossbar (barra cruzadas). Cada processador e cada memria tm uma conexo ao sistema (crosspoint switch). Quando um processador deseja ter acesso a uma determinada memria, a chave na intercesso de ambos fechada momentaneamente, para permitir que o acesso seja efetuado. A vantagem desta soluo o fato de muitos processadores poderem acessar a memria ao mesmo tempo, sendo que este nmero depende da quantidade de mdulos de memria existentes no sistema. No entanto se dois processadores tentarem acessar a mesma memria ao mesmo tempo, um deles ir esperar. A desvantagem que o numero de cosspoint = numero de CPUs * numero de modulos de memoria.

Figura Comutao crossbar com chaveamento completo Para reduzir o custo deste tipo de arquitetura os pesquisadores encontraram forma alternativas de se realizar a comutao em uma rede, requerendo o uso de menos chaves. A rede mega um exemplo disto. Este tipo de rede possui 2 x 2 chaves, cada uma delas com duas entradas e duas sadas, sendo que cada chave pode rotear qualquer entrada para qualquer sada. O tempo de ativao da ordem de nonosecundos ou menos.

Figura Rede mega 2 x 2 Para n CPUs e n Memorias, teriamos log2n stagios, cada um contendo n/2 switches, para um totoal de (n log2n)/2 switches. O que bem melhor do que n2. O problema que quanto mais almenta o numero de estagios mais almenta o delay (o tempo de espera). Para n = 1024 teriamos 10 estagios entre a CPU e a memoria. Logo o tempo de ativao dos switchs deve ser muito reduzido o que pressupe um alto custo. Para reduzir custo sistemas hierarquicos so propostos onde a memoria associada a cada CPU. NUMA (NonUniform Memory Access). Ela tem mais desempenho que a memoria omega mas complica a alocao dos programas e dados na tentativa de mante-los com mais frequencia na na memoria cache. Concluso: contruir sistemas grandes, fortemente acoplados, compartilhando memoria pelos multiprocessadores possivel mas complicado e caro. Sistema Multicomputadores Ligados por Barramento A construo de um sistema multicomputadores (sem memria compartilhada) no apresenta a mesma gama de dificuldades observada no esquema anterior, pois neste caso cada processador tem uma conexo direta com a sua prpria memria local. O nico problema resume-se a como os processadores vo se comunicar uns com os outros. Um sistema multicomputadores constitudo por estaes de trabalho pode ser interligados atravs de uma rede local.

Figura Sistemas multicomputadores ligados por barramento

Sistemas Multicomputadores Ligados por Comutao A ltima das categorias definidas a dos sistemas multicomputadores interligados por comutao. Vrias redes para conexo dos componentes deste tipo de sistema foram propostas e construdas, sendo que em todas elas cada processador tem acesso direto e exclusivo a sua prpria memrias. Uma das mais populares a grade (grid). Ela simples de implementar e de construir em placa de circuitos. Desejada para problemas de naturesa 2D : graph theory, robot eyes ou analyzing photographs.

Figura Sistemas multicomputadores ligados em grade O Hipercubo (hypercube) um cubo n-dimensional. Ele quadridimensional. Pode ser visto como dois cubos, cada um com 8 vertices e 12 pontes (edges). Cada vertice uma CPU. Cada ponte uma conexo entre cada CPU. Para expandir o hipercubo para a quinta dimenso, nos precisamos acrescentar um conjunto de dois outros cubos interconectados figura, conectanto as pontes correspondentes. Para um hipercubo n-dimensional, cada CPU tem n connections com outras CPUs. Logo a complexidade cresce s logariticamente com o tamanho enquanto as grades crescente exponencialmente. Hipercupos com 1024 CPUs e 16.386 CPUs esto disponiveis.

Figura Sistemas multicomputadores ligao hipercubo Aspectos de Projeto Transparncia O tpico mais importante de todos o que trata de como obter a imagem nica do sistema. Um sistema considerado transparente quando um conjunto de mquinas visto por seus usurios como se fossem simplesmente um nico sistema de tempo compartilhado. Pode ser feito em dois nveis. O mais fcil esconder a distribuio do cliente (ex: compilar um sistema de forma distribuda mas transparente ao usurio). Em outro nvel, fazer o sistema transparente em relao programao (ex: chamada a interfaces que permitem o uso de vrios processadores de forma transparente).

O conceito de transparncia pode ser aplicado a vrios aspectos dos sistemas distribudos, como por exemplo transparncia: localizao: os usurios no devem saber onde os recursos se encontram; migrao: os recursos podem trocar de lugar vontade sem ter que mudar de nome (ex: troca de arquivos de servidor); replicao: os usurios no precisam saber quantas cpias existem dos arquivos (ex: uma rede em anel com uma estrutura genrica de diretrios onde cada servidor contm uma parte dos arquivos); concorrncia: vrios usurios podem compartilhar automaticamente os recursos; mas sempre seqencialmente e nunca concorrentemente. ao paralelismo: podem ocorrer atividades paralelas sem que os usurios venham a saber. E a transparncia mais difcil de alcanar. Para usar os recursos de forma eficaz para aplicaes especificas (ex: xadrez) devesse programar explicitamente para isso. Apesar de tudo, existem situaes onde o usurio no deseja a transparncia (ex: uso de uma impressora). Flexibilidade A estrutura de um sistema distribudo pode divergir no que diz respeito s funes do kernel do sistema. Cada mquina deve rodar um kernel tradicional que fornea a maioria dos servios a ele prprio ou o kernel deve fornecer to pouco servio quanto possvel, com o grosso dos servios do sistema operacional sendo prestado a partir de servidores no nvel do usurio. O kernel monoltico simplesmente um sistema operacional centralizado que foi ampliado com facilidades de rede e de integrao de servios remotos. A maioria das chamadas de sistema feira enviando-se um trap para o kernel, com o trabalho sendo feito no kernel, e com este retornando os resultados ao processo usurio. Com tal abordagem a maioria das mquinas tem de possuir discos, e precisa gerenciar seus prprios sistemas de arquivos locais. O kernel monoltico reina mas o microkernel j considerado um desafiante de peso. A maioria dos sistemas distribudos que tm sido projetados desde o incio, sem aproveitar nada que j esteja pronto, usa este mtodo. O microkernel mais flexvel pelo fato de ele no fazer quase nada. Basicamente ele fornece quatro servios: mecanismo de comunicao entre processos; mnimo de funes para gerncia de memria; mnimo de funes de gerncia de processos e de escalonamento; funes de entrada/sada de baixo nvel.

Ao contrrio do kernel monoltico, o microkernel no fornece o sistema de arquivos, o sistema de diretrios, a gerncia completa de processos, e a manipulao da maioria das chamadas de sistema. Todos os servios prestados pelo microkernel esto l por serem difceis de prestar em outro lugar ou muito caros quando oferecidos fora do kernel. O objetivo mant-lo o menor possvel. Entre as vantagens do microkernel podemos citar: altamente modular, existindo uma interface bem definida para cada servio; cada servio igualmente acessvel a todos os clientes, independente da sua localizao no sistema; o esquema fcil de implementar; fcil de instalar;

fcil de acrescentar novos servios; a adio ou modificao de determinado servio no implica em parar o sistema; os usurios que no estiverem satisfeitos com os servios "oficiais" podero implementar com facilidade seus prprios prestadores de servio; Usurios podem usar um ou dois servios diferentes (ex: sistema de arquivos em MSDOS ou Unix). A nica vantagem potencial do sistema com kernel monoltico a sua performance. A tendncia o desaparecimento ou readaptao do kernel monoltico. Confiabilidade A idia bsica o fato de que se algumas mquinas do sistema sarem do ar por algum motivo, as demais mantero o sistema funcionando. Existem vrios aspectos da confiabilidade. A disponibilidade refere-se frao do tempo em que o sistema pode ser utilizado plenamente. Um mtodo utilizado para prover disponibilidade a redundncia, porm quanto maior a redundncia maior a possibilidade de inconsistncia. Outro aspecto da confiabilidade a segurana. Os arquivos e demais recursos devem ser protegidos contra uso no-autorizado. Apesar de isto tambm ocorrer nos sistemas com um processador, no caso dos sistemas distribudos, isto se torna mais crtico. A tolerncia a falhar tambm deve ser provida. Em geral, um sistema distribudo pode ser projetado de forma a mascarar falhas eventualmente ocorridas, isto , escond-las de seus usurios. A recuperao feita de forma transparente, observando-se, as vezes, uma leve degradao da performance. O desafio de no incluir um overhead no sistema em caso de funcionamento normal. Performance Um sistema transparente, flexvel e confivel nem sempre pode ter performance. Vrias mtricas podem ser utilizadas (tempo de resposta, throughput, utilizao do sistema, nvel de recursos de redes consumidos, etc.). Quando executamos uma aplicao particular em um sistema distribudo, ela no deve se comportar pior do que se rodasse em um nico processador. O problema da performance tambm muito influenciado pela comunicao, que vem a ser essencial para um sistema distribudo, e que no est presente nos sistemas com um s processador. Um outro aspecto diz respeito a granulosidade do processamento. A inicializao de um pequeno processamento remoto, tal como adicionar dois inteiros, raramente eficiente, pois o overhead introduzido pela comunicao inviabiliza qualquer outra vantagem advinda de tal processamento. Por outro lado, um processamento longo, que venha a consumir muito tempo de processador pode ser razovel de se fazer remotamente. A idia de procurar distribuir o processamento de uma maneira que o overhead de comunicao seja o menor possvel. Jobs que envolvam um grande nmero de pequenos processamentos podem causar problemas ao serem processados em sistemas distribudos pela relativa lentido da comunicao. Tais jobs exibem um paralelismo de granulosidade fina (fine-grained parallelism). Por outro lado, jobs que envolvam grandes processamentos, com baixa interao com outros jobs, e com poucos dados, so ditos exibir um paralelismo de granulosidade grossa (coarse-grained parallelism), e em geral produzem melhores resultados. Por isso a tolerncia falha tem um preo alto pois introduz um grande numero de troca de mensagens na infraestrutura.

Escalabilidade Apesar de conhecermos ainda pouco sobre sistema distribudos muito grandes, uma coisa j de consenso: deve-se evitar a centralizao de tabelas, componentes, e algoritmos. Ter um nico servidor de correio para 50 milhes de usurios no uma boa idia. Mesmo havendo poder de processamento e espao de armazenamento suficiente, a capacidade da rede de receber e enviar informaes seriam um ponto potencial de problemas. Alm do mais este sistema seria completamente intolerante falhas. Uma simples queda de luz poderia derrubar todo o sistema. As tabelas centralizadas so quase to ruins quanto os componentes centralizados. Como seria possvel centralizar o controle sobre telefones e endereos de 50 milhes de pessoas? Suponha que cada registro tenha 50 caracteres. Um nico disco de 2,5 gigabytes fornece a capacidade de memria necessria so armazenamento dos dados. Mas novamente neste caso, no seria razovel manter uma nica base de dados com todas estas informaes, pois isto levaria a uma eventual saturao de todas as linhas de comunicao de entrada e sada. Tambm haveria uma imensa vulnerabilidade a falhas, na medida que um simples gro de poeira pode ocasionar uma aterrissagem da cabea do disco, tornando imprestvel todo o arquivo. Alm do mais, aqui tambm uma quantidade valiosa de processamento na rede seria gasta enviando pedidos de processamento para muito longe, e que depois de processado teriam de retornar praticamente ao mesmo ponto de partida. A centralizao dos algoritmos tambm no uma boa idia. qualquer algoritmo que opere coletando informaes de todos os pontos da rede, enviando tais informaes para processamento em determinada mquina, e ento distribuindo os resultados pela rede deve ser evitado. Devem ser utilizados algoritmos descentralizados com as seguintes caractersticas: nenhuma mquina tem informao completa sobre o estado do sistema; as mquinas tomam decises baseadas somente nas informaes disponveis localmente; a falha em uma mquina no arruna o algoritmo; no existe nenhuma pressuposio implcita que um tipo de clock global existe. Isto porque muito difcil manter uma sincronizao exata em sistemas geograficamente distribudos. Logo os algoritmos devem sempre contar com uma possvel diferena de horrio entre as maquinas.

O Modelo de Referncia ISO Por que um protocolo necessrio para a troca de informaes em um sistema distribudo ? Para que os dados transmitidos por um emissor cheguem corretamente ao seu destino necessrio uma arquitetura lgica ou material que garanta a qualidade exigida do servio. Sero apresentados os detalhes de uma arquitetura em sete camadas desenvolvida pela ISO (International Standardization Organization) e chamado modelo de referncia (Open Systems Interconnection Reference Model). O modelo de referncia um protocolo (conjunto de regras) que permite a comunicao entre sistemas abertos. Protocolos podem ser connection-oriented ou connectionless. O protocolo ISO tem sete camadas com interfaces entre elas que permite que uma camada preste servios a outra. A cada camada cabealhos so adicionados a mensagem para permitirem a comunicao com a outra camada do mesmo nvel. O Modelo de referncia da ISO dividido em sete camadas:

nvel fsico; nvel de frames; nvel de pacotes; nvel de mensagens; nvel de sesso; nvel de apresentao; nvel de aplicao.

O Nvel Fsico O Nvel fsico fornece os meio mecnicos, eltricos, funcionais e procedurais necessrios a ativao , ou manuteno e a desativao das conexes fsicas destinadas a transmisso de elementos binrios entre as entidades de ligao. Ele tem por objetivo conduzir os elementos binrios aos seus destinos sobre o suporte fsico, minimizando os erros de comunicao. Neste nvel se encontram todos os materiais lgicos e materiais fsicos necessrios ao transporte correto dos elementos binrios, e tambm: As interfaces de conexo dos equipamentos de informtica, as junes. As interfaces correspondentes as conexes de sada encontradas nos micro-computadores, computadores, etc. Isto inclui no somente a parte fsica mas tambm toda a lgica necessria para os alimentos binrios chegarem o mais correto possvel ao receptor. Os Modens - que modulam e demodulam os sinais binrios. Os Multiplexadores - que concentram vrios fluxos de comunicao distintos, provenientes de equipamentos distintos, sobre uma linha nica, para envi-los a um mesmo ponto distante. Um demultiplexador necessrio na outra extremidade para que os diferentes fluxos de comunicao possam ser recuperados. Os ns de transferncia - que fornecem o material intermedirio entre o emissor e o receptor. Recebem os pacotes que chegam e escolhe as melhores linhas de sada para os seus destinos. Outros equipamentos, especficos de rede, necessrios para assegurar a continuidade do caminho fsico, como satlites, dentro de uma comunicao sem fio. PROTOCOLOS DE BAIXO NIVEL O Nvel de Enlace (frames) O nvel de enlace fornece as funes necessrias para transportar um bloco de informao, chamado de frame, de um n de transferncia a outro. A funo principal consiste em reconhecer o inicio e o fim desse bloco de informao, de forma que ele possa ser transmitido sobre o suporte fsico e capturado corretamente pelo receptor. O nvel de frame era essencialmente dedicado deteco de erros na linha e a correo destes erros por mecanismos de adaptao. No fim dos anos 90 ele modificou bastante devido ao aumento da qualidade das linhas fsicas de transmisso, entre outros pela utilizao da fibra tica. Como a quantidade de erros mnima. Outra grande mudana nesta camada se deu pela transformao das

redes de informao em redes multimdias, dentro das quais as taxas de erro para as aplicaes devem ser mnimas. No entanto ainda existem vrios meios de transmisso que possuem ainda uma alta taxa de erros, como por exemplo comunicao sem fio. A principal finalidade da camada de enlace executar as funes que permitiro a deteco de erros na chegada de um bloco de informao e a correo desses erros em sua maior parte. Dentro desta camada encontramos tambm as regras necessrias para o compartilhamento de um nico suporte fsico por vrias estaes de trabalho. De fato, a distncia coberta por um sinal eltrico de aproximadamente 200 metros por microsecundo. Se um usurio necessita de vrios segundos para enviar um bloco de informao e se a rede tem uma distncia de vrias centenas de metros, ele deve estar transmitindo sozinho, seno uma coliso de sinais se origina. Tal disciplina de acesso necessria dentro das redes locais, das redes metropolitanas e das redes via satlite. A tcnica de acesso que deve permitir de serializar as demandas das estaes conectadas se chama de MAC (Medium Access Control). Atualmente, aps uma evoluo desta camada, sua principal funo reconhecer o incio e o fim de um frame. Mas precisamente, um frame consiste em um bloco de elementos binrios os quais ns podemos reconhecer o incio e o fim. Os meios de deteco do inicio e fim so diversos. Geralmente se faz este reconhecimento atravs de um delimitador (um octeto como por exemplo 01111110). O Nvel de Rede (pacotes) O papel da camada de rede de transportar os pacotes de um usurio, formando um fluxo, at o receptor conectado na mesma rede. Em outras palavras, o nvel de pacotes permite o envio correto dos mesmos atravs de ns intermedirios. Se o emissor e o receptor no esto situados em uma mesma rede, um primeiro nvel de redes transporta os dados do emissor atravs de uma passarela. Um outro nvel envia os pacotes sobre a segunda rede, e assim at que eles cheguem ao receptor. O nvel de pacotes no liga diretamente o emissor ao receptor. O pacote, em contraste com o frame, no oferece nenhum meio de reconhecimento de seu incio e fim. Para efetuar a transmisso dos pacotes de n em n, o nvel de pacotes utiliza um nvel de frames afim de encapsular os pacotes dentro de um frame e permitir assim o reconhecimento do incio e do fim do pacote. Esse nvel comporta trs funes principais: o controle de fluxo, o roteamento e o endereamento de pacotes. importante notar que essas propriedades so igualmente disponveis dentro da camada de enlace quando no existe a camada de rede. O controle de fluxo evita o congestionamento dentro das redes. Se o controle de fluxo falhar, um controle de congestionamento torna o trafico aceitvel. O roteamento permite o envio dos pacotes de informaes para os seus destinos, atravs de vrios roteadores. O roteamento no substitui o controle de fluxo. Ele um segundo componente que otimiza o tempo de resposta. Os roteadores podem ser centralizados ou distribudos. Uma segunda grande funo da camada de redes o endereamento. As duas solues de transmisso de uma informao,o roteamento e a comutao, utilizam um endereo completo ou uma referncia.

A camada de redes pode trabalhar de duas formas diferentes: Com conexo: onde o emissor e o receptor se colocam em comum acordo sobre um comportamento comum e negociam os valores de parmetros do protocolo de redes. Sem conexo: que no impe nenhuma relao entre o emissor e o receptor. A qualidade de servio, ou QoS (Quality of Service), no tem uma definio nica. Do lado do terminal, ela vista como a satisfao, s vezes subjetiva, que a rede oferece ao usurio. Da parte da rede, ela corresponde a critrios de performance especficos. Em geral, o modo com conexo feito atravs de uma comutao. Na verdade, ns aproveitamos a sinalizao destinada a determinar as referncias para abrir uma conexo, ou seja, estabelecer uma negociao entre o emissor e o receptor sobre uma certa qualidade de servio. Em geral, um modo sem conexo feito atravs de roteamento. Mas no existe uma regra absoluta e ns podemos ver um modo com conexo associado a um roteamento. suficiente para isto que a sinalizao para abertura da conexo seja roteada. Podemos igualmente conceber um modo sem conexo associado a uma comutao. A sinalizao de abertura do modo com conexo no utilizada para abrir uma conexo. Um pacote IP pode ser roteado independente dos outros sem um caminho predeterminado enquanto que o modelo ATM usa o conceito de canal virtual (virtual channel) e caminho virtual (virtual path). A Camada de Transporte (Nvel de Mensagens) O nvel de mensagens assegura o transporte da mensagem do emissor ao receptor. um transporte chamado fim a fim, que pode passar por vrias redes subjacentes. O servio de transporte deve otimizar a utilizao das infra-estruturas intermedirias em busca de um bom resultado custo/benefcio. Em particular, a camada de transporte deve utilizar os melhores recursos da rede de comunicao para multiplexar, por exemplo, fluxo de vrios clientes sobre um mesmo circuito virtual ou sobre uma mesma rota. A camada de transporte o ultimo nvel que se preocupa com a entrega da informao. Esse nvel permite que se completem as funes oferecidas pelos nveis inferiores e que so insuficientes. Graas a esse complemento, o usurio deve obter uma qualidade de servio aceitvel. O protocolo de nvel de mensagem utilizado depende fortemente do servio oferecido pelos trs primeiros nveis da rede e da demanda do usurio. A funo bsica do nvel de transporte consiste em fragmentar a mensagem em pacotes e depois reagrupar esses pacotes quando chegam para recuperar a mensagem enviada. Esta funo se chama de fragmentao-regrupamento de mensagens. Os protocolos de nvel de transporte possuem, de programas bem simples, para fragmentar e reagrupar mensagens, a programas bem complexos, que integram funes de deteco de erros e de retransmisso, de controle de fluxo e de congestionamento, de ressincronizao, etc. - conexo confivel que trata as perdas; - quebra a mensagem em pedaos, adiciona uma numerao e os envia; (verifica o que foi enviado, o que deve ser retransmitido, o que receber,...) - dependendo do servio de rede (orientado a conexo ou no) os pacotes podem chegar ou no fora de ordem, a camada de transporte deve reorganizar os pacores;

- TCP (orientado conexo) e UDP (sem conexo). RTP (monitoramento e controle); TCP mais confivel mas introduz maior overhead; para obter performance e confiabilidade ao mesmo tempo podemos utilizar o UDP porem deve-se introduzir tratamentos a nvel de aplicao (soluo proprietria e no aberta). - ISO Tp0 Tp4 (diferenas: tratamento de erros, capacidade de criar varias conexes sobre a conexo de rede (X.25) (pouco utilizado); - TCP conextion x T/TCP (transactions TCP); PROTOCOLOS DE ALTO NIVEL Acima do nvel de transporte ISO define 3 outro protocolos, TCP/IP nenhum. Funes acima do TCP so exercidas por middlewares ou pela aplicao. O Nvel de Sesso O nvel de sesso fornece os meio necessrio a organizao e a sincronizao do dialogo entre os clientes em comunicao. Ele corresponde a primeira camada da arquitetura que no tem implicaes com a comunicao propriamente dita. Como seu nome indica, o nvel tem por objetivo abrir e fechar as sesses entre os usurios. Como intil enviar informao se no existe um receptor para receber, o protocolo de sesso assegura que o usurio distante ou seu representante, est presente. A camada de sesso possui as funcionalidades necessrias abertura, ao fechamento e a manuteno da conexo. Ainda como servio bsico esta camada tem os pontos de sincronizao. Esses pontos permitem, em caso de problema, de dispor do lugar preciso a partir do qual a comunicao pode prosseguir e sobre o qual existe um acordo entre os dois usurios. A gesto das interrupes e das repeties de sesso uma outra funcionalidade desejada. Para poder abrir uma conexo com uma mquina distante, a camada de sesso deve possuir uma linguagem inteligvel para a outra extremidade. Isto o motivo pelo qual, antes de abrir uma sesso, necessrio passar a informao pelo nvel de apresentao, para garantir a unicidade da linguagem, e pelo nvel de aplicao, para trabalhar sobre os parmetros definidos de uma forma homognea. Certas arquitetura proprietrias gerenciam a abertura e o fechamento das sesses em um nvel mais elevado, antes mesmo de passar para as camadas 6 e 7. Neste caso, se a conexo recusada, nenhum trabalho suplementar fornecido. Neste tipo de modelo de referncia, ao contrrio, a passagem pelas camadas 6 e 7 so obrigatrias para que as mquinas heterogneas possam se comunicar. O Nvel de Apresentao - Informaes estruturadas (campos, registros,...) sintaxe O nvel de apresentao se encarrega da sintaxe das informaes que as entidades de aplicao trocam. Em outras palavras, a camada 6 torna os dados compreensveis para o destinatrio. Dois aspectos devem ser observados: A representao dos dados transferidos entre as aplicaes; A representao da estrutura dos dados aos quais as entidades se referem no curso de sua comunicao, assim que a representao de ambas das aes efetuadas sobre estas estruturas de dados.

Em resumo o nvel de apresentao se interessa pela sintaxe, enquanto que o nvel de aplicao se encarrega da semntica. Esta camada de apresentao tem um papel importante dentro de um ambiente heterogneo. um intermedirio indispensvel para uma compreenso comum da sintaxe dos documentos transportados sobre a rede visto que as diferentes mquinas conectadas no se possuem necessariamente a mesma sintaxe. Se essas mquinas estivessem conectadas diretamente, os dados de uma no poderiam mais ser compreendidos pela outra. A camada de apresentao procura uma linguagem sintaticamente comum a ambos os usurios conectados. Se Z a linguagem comum, e se uma maquina X pode falar a outra maquina Y, as duas mquinas utilizam tradutores X para Z e Y para Z para permitir a comunicao. evidente que, dentro de um tempo relativamente prximo, a maior parte das mquinas terminais possuiro uma linguagem comum, que evitar o uso de um tradutor. Uma linguagem especifica, chamada ASN 1 (Abstract Systax Notation One), ou sintaxe abstrata nmero 1, foi padronizada pela ISO para compor uma linguagem de base para a camada de apresentao. Ela tem uma sintaxe suficientemente rica para atender a maioria das aplicaes, como o correio eletrnico, a transferncia de arquivos, transaes, etc. O Nvel de Aplicao O nvel de aplicao constitui a ltima camada do modelo de referncia. Ela fornece a todos os processos das aplicaes o meio de troca de informaes atravs das redes intermedirias. Por exemplo, um usurio pode enviar uma mensagem eletrnica a seu correspondente utilizando as camadas de protocolo dando acesso rede. O nvel de aplicao contm todas as funes que implicam a comunicao entre os sistemas, em particular se essas ltimas no so realizadas pelas camadas inferiores. Ela se ocupa essencialmente da semntica, ao contrrio do nvel de apresentao, que toma conta da sintaxe. O nvel de aplicao dividido nas grandes categorias de aplicaes seguintes (de acordo com a terminologia da ISO): MHS (Message Handling System): O correio eletrnico no modo sem conexo. DS (Diretory Service): Os servios de anurio, que possui o repertrio de diversos equipamentos e elementos endereveis e permite a obteno de endereos de destinatrios. FTAM (File Transfer, Access and Management): As transferncias de arquivos de manipulao a distncia. DTP (Distributed Transaction Processing). As aplicaes de transao distribudas, que permitem o acesso a bases de dados distribudas dentro do sistema. VT (Virtual Terminal): O terminal virtual, que permite trabalhar em uma mquina a distncia como se ela estivesse no local. ODIF (Office Document Interchange Format): A aplicao de transferncia acesso e gesto de documentos normalizados. ODA (Office Document Architecture): Arquitetura de um documento de escritrio automatizado, que permite um reprocessamento sobre qualquer mquina padro. JTM (Job Transfer and Manipulation): A manipulao e a transferncia de trabalho, que corresponda ao envio de um programa completo para execuo a distncia com a possibilidade de manipulao dos dados.

MMS (Manufacturing Messag Service): Os servios de mensagem industrial, que fazem referncia a um correio eletrnico em modo de conexo para um ambiente industrial, esse que implica uma segurana e um tempo real de transporte. - E necessrio fazer distino entre protocolo de uso gerais, de uso especifico, e aplicaes. (ex: FTP, HTTP); Protocolos a nvel de Middleware Contido no nvel de aplicao contendo vrios protocolos de uso geral ex: autenticao, autorizao de uso de recursos, commit protocols (atomicity de uma transao), bloqueamento de recursos compartilhados (locking protocol), sincronizao de multimidia em tempo real, suporte comunicao transparente, multicast, etc; Algumas funes/servios podiam serem introduzidas nvel de transporte, mas a nvel de middleware pode oferecer uma generalidade maior um uma interface nica; As Arquiteturas Lgicas O modelo de referncia, descrito anteriormente, permite comparar as arquitetura dos principais tipos de redes utilizadas pelo mundo. Ns comearemos este curso por examinar as redes que utilizam o ambiente TCP/IP denominadas de Internet. Falaremos sobre as redes Ethernet, bastante utilizadas dentro das empresas, o modelo OSI (Open System Interconnection) e a arquitetura MPLS (Multiprotocol Label Switching), que tem sua origem na superposio da arquitetura TCP/IP sobre a comunicao de frames. O objetivo compreender melhor as diferentes camadas utilizadas dentro de cada arquitetura. A Arquitetura da Internet Ao final dos anos 60, o Departamento de Defesa Americano decidiu criar uma grande rede a partir de um conjunto de pequenas redes, todas diferentes, que comearam a funcionar por uma pequena parte da Amrica do Norte. Faltava achar o meio de interligar essas redes entre elas e dar a elas uma visibilidade exterior, a mesma para todos os usurios. De onde vem o nome InterNetwork, utilizado na Internet, e dado a todas as redes que transportam um tipo de pacote nico, de um formato determinado pelo protocolo IP (Internet Protocol). Esse pacote IP deve transportar um endereo definido com generalidade suficiente para que possamos atribuir um endereo nico a cada computador e os terminais dispersos atravs do mundo. O usurio que deseja enviar sobre esta rede deve colocar seus dados dentro de pacotes IP, se sero enviados a uma primeira rede a atravessar. Essa primeira rede encapsula os pacotes IP dentro de sua prpria estrutura de pacotes, o pacote A, que circula sob esta forma at uma porta de sada, onde ele desencapsulado de forma a recuperar o pacote IP. O endereo IP examinado para localizar, graas a um algoritmo de roteamento, a prxima rede a atravessar e assim por diante at chegar ao terminal de destino. Para completar o protocolo IP, o Departamento de Defesa Americano, acrescentou um protocolo TCP (Transmission Control Protocol), para servir de interface com o usurio. Esse protocolo determina a forma de transformar um fluxo de octetos em pacotes IP, assegurando uma certa qualidade de transmisso.

Esses dois protocolos, chamados de TCP/IP, se apresentam sob a forma de uma arquitetura em camadas. Elas correspondem respectivamente ao nvel de pacotes e nvel de mensagens do modelo de referncia. O modelo Internet completado por um terceiro nvel, chamado nvel de aplicao, que reagrupa diferentes protocolos sobre os quais foram construdos diversos servios da Internet. O correio eletrnico, a transferncia de arquivos, a transferncia de pginas hipermdias, etc. Os pacotes IP so independentes uns dos outros e so roteados individualmente dentro da rede por equipamentos que interconectam as redes., os roteadores. A qualidade de servio proposta pelo protocolo IP bem confivel: no a deteco de pacotes perdidos ou a possibilidade de retransmisso quando ocorre erro. O protocolo TCP agrupa as funcionalidades do nvel 4 do modelo de referncia. um protocolo bastante complexo, que oferece numerosas opes que permitem a resoluo de todos os problemas de perda de pacotes dentro dos nveis inferiores. Em particular, um fragmento perdido pode ser recuperado por retransmisso sobre o fluxo de octetos. O protocolo TCP utiliza um modo com conexo, ao contrrio do segundo protocolo disponvel dentro deste mesmo nvel de transporte, o UDP, que opera em modo sem conexo e praticamente sem nenhuma funcionalidade. Este ltimo permite o uso de aplicaes que no demandam qualidade de servios ao nvel de camada de transporte. Existem numerosas aplicaes sobre o ambiente IP, e elas so descritas em detalhes mais adiante como: o STMP (Simple Transport Mensage Protocol), FTP (File Transfer Protocol) e sobretudo o acesso a documentos atravs da World Wide Web (WWW). Uma caracterstica importante desta arquitetura prover o sistema de comandos, isto , a inteligncia e o controle da rede, que inteiramente feita por um terminal, ficando quase nada dentro da rede, pelo menos dentro da verso atual do protocolo IP (Ipv4). Mais precisamente, a inteligncia de controle se encontra dentro do software TCP do PC conectado a rede. o protocolo TCP que se encarrega de enviar mais ou menos pacotes dentro da rede em funo dele. Uma janela de controle determina um nmero mximo de fragmentos a ser enviado pelo emissor. A janela de controle do TCP aumenta ou diminui o trfego de acordo com o tempo necessrio para efetuar um envio-recebimento. Quanto mais aumenta o tempo, mais se considera a rede congestionada, e a taxa de emisso deve diminuir para combater a saturao. Em contrapartida, o custo de infraestrutura extremamente baixo, nenhuma inteligncia se encontra dentro da rede. O servio oferecido pela rede de redes corresponde a uma qualidade chamada best effort, que significa que a rede faz o seu melhor para acolher o trfego. Em outros termos, a qualidade de servios no assegurada por um servio best effort, que no pode garantir grande coisa. A nova gerao do protocolo IP, o Ipv6, introduz funcionalidades inditas, que deixa os ns da rede mais inteligentes. Os roteadores de nova gerao possuem algoritmos de gesto da qualidade de servio, possibilitando de assegurar um transporte capaz de responder aos contratos temporrios assumidos. Dentro do Ipv4, cada nvel cliente tratado da mesma forma dos outros que j esto conectados, os recursos ficam distribudos de forma equilibrada entre todos os usurios. As polticas de alocao de recursos de rede das operadoras de telecomunicaes so totalmente diferentes, pois, sobre

estas redes, um cliente, que possui uma certa qualidade de servio, so sofre nenhuma penalidade pelo fato da entrada de um novo cliente. Como ns veremos adiante, a soluo hoje preconizada dentro do ambiente internet consiste a favorecer, dentro do melhor possvel, os cliente que possuem exigncias de tempo real, e isso atravs de protocolos adaptativos, utilizando nveis de prioridade. A Arquitetura Ethernet A arquitetura Ethernet nasceu de um tipo particular de rede, a rede local, do tamanho de uma empresa. Como veremos, esta arquitetura evoluiu e no mais s utilizada em redes locais. A normalizao da arquitetura Ethernet iniciou com a publicao de uma especificao do tipo DEC, Intel, Xerox. Dois organismos contriburam particularmente com a sua expanso: Os Estados Unidos, lIEEE (Institute of Electrical and Electronics Engineers); Na Europa, lECMA (European Computer Manufacturers Association).

Fazendo uma comparao com o modelo de referncia de sete camadas, podemos dizer que a arquitetura Ethernet corresponde aos dois primeiros nveis. As funcionalidades dos dois primeiros nveis devem responder as questes seguintes: A interface com o suporte fsico de transmisso; protocolo de nvel de frames no deve restringir a banda passante e deve se adaptar a conexes multipontos; acesso ao meio fsico deve ser controlado para evitar colises de pacotes sobre o suporte de transmisso; A interface com o usurio ou com outras redes deve ser simples. O nvel de frames do modelo foi dividido em duas camadas: Uma camada de controle de acesso ao suporte fsico, ou nvel MAC (Mdium Access Control); Uma camada independente do mtodo de acesso e cargo do controle de ligao de dados ou camada LLC (Logical Link Control).

As funes do nvel fsico so realizadas por uma unidade de acesso ao meio de transmisso, chamada MAU (Mdium Access Unit). Essas funes agrupam: A codificao e decodificao de dados; A sincronizao; reconhecimento de frames. No nvel fsico, vrias tcnicas so aceitas: A transmisso em banda bsica sobre um cabo coaxial ou sobre um par tranado; A transmisso em banda larga sobre um cabo CATV (cabo do tipo antena de televiso); A transmisso sobre a fibra tica multmodo e monomodo; A camada MAC prope seis mtodos de acesso, os principais so:

CSAM/CD (Carrier Sense Multiple Access/Collision Detection) para acesso em uma rede ethernet com barramento compartilhado; Uso de Token sobre barra; Tcnica de acesso a uma rede metropolitana Tcnica de acesso a um cabo de antena de televiso para multiplexar os diferentes utilitrios do cabo; Ficha temporizadora para acesso a uma rede FDDI.

O modo sem conexo permite conexes ponto a ponto e multiponto, assim como a difuso. O modo com conexo permite as conexes ponto a ponto. Ele assegura um controle de fluxo e uma seqencializao: os frames so remetidos ao receptor dentro de uma ordem de emisso. A multiplexao possvel com os dois primeiros tipos. Em revanche, os mecanismos de prioridade no so assegurados a esse nvel, eles no so feitos no nvel MAC. Est arquitetura foi modificada ao longo do tempo. Ela ser estudada em detalhes mais adiante. A principal modificao provem da introduo, no incio dos anos 90, da Ethernet comutada, que consistem a introduzir uma rede de transferncia de frames Ethernet. Os frames Ethernet so emitidos sobre uma ligao entre dois pontos, como todos os outros frames. Isto feito para no limitar a distncia entre dois pontos de comunicao. As arquiteturas compartilhadas e comutadas coexistem e permitem que se crie um ambiente Ethernet complexos, se adaptando tanto as curtas distncias como as longas. Chama Remota A Procedimentos Apesar do modelo cliente-servidor ser uma forma bastante conveniente de se estruturar um sistema distribudo, ele sofre de uma doena incurvel: o paradigma bsico de que toda comunicao tem por objetivo a realizao de entrada/sada. As primitivas envia e recebe so construdas para realizar fundamentalmente operaes de entrada/sada. Uma vez que tais operaes no fazem parte dos conceitos-chave dos sistemas centralizados, torn-las a base da computao distribuda tem levado muitos pesquisadores da rea a cometer erros graves. Deve ser lembrado que o principal objetivo de projetar um sistema distribudo o de faz-lo parecer o tanto quanto possvel com um sistema centralizado, claro que sob a tica dos usurios. Desta forma, constru-lo baseando-se em conceitos de entrada/sada no a melhor maneira de atingir tal objetivo. Tal problema j conhecido h muito tempo, porm muito pouco tinha sido feito at que se introduziu uma forma completamente diferente de trat-lo. Apesar da idia ser surpreendentemente simples, pelo menos depois de algum ter pensado nela, as implicaes so sutis. Nesta seo vamos analisar o conceito, sua implementao, seus pontos fortes e seus pontos fracos. Em poucas palavras, simplesmente foi permitido que programas chamassem procedimentos localizados em outras mquinas. Quando um processo rodando em uma mquina A chama um procedimento em uma mquina B, o processo que chamou suspenso, e a execuo do procedimento levada a efeito na mquina B. A informao pode ser transportada do processo chamador par o procedimento chamado atravs de parmetros, e voltar para o processo como resultado da execuo do procedimento. Nenhuma operao de troca de mensagem ou de entrada/sada fica visvel ao programador. Este mtodo conhecido como chamada remota a procedimento ou simplesmente RPC. Apesar desta idia parecer simples e elegante, existem alguns problemas que lhe so associados. Para comear, h o fato do processo que chamou e dos procedimentos chamados rodarem em mquinas diferentes, e conseqentemente executarem em espaos de endereamento diferentes. A

passagem de parmetros e de resultados tambm pode ser complicada, especialmente se as mquinas forem diferentes. Alm disso, pode acontecer de uma ou ambas as mquinas sarem do ar, sendo que cada uma das possveis falhas pode causar problemas diferentes. Apesar disso, tais problemas podem ser tratados e resolvidos, fazendo com que a chamada remota a procedimento seja uma tcnica muito usada na construo de diversos sistemas operacionais distribudos. Operaes basicas do RPC Ex: conut = read(fd, buf, nbytes);

A figura acima ilustra o que acontece com a memria quando uma subrotina chamada. Inicialmente temos uma rea alocada as variveis do procedimento principal do programa. Aps a chamada ao procedimento, so alocados espaos especficos para as variveis que sero passadas como parmetros, para o local para onde ser retornado o resultado da execuo do procedimento e o local para as variveis especficas da subrotina. Aps a execuo da subrotina, o espao de memria liberado. A passagem de parmetros pode ser por valor, referncia ou cpia/restaurao. Quando os parmetros so passados por valor, as alteraes realizadas dentro do procedimento no afetaro as variveis. Quando so passados por referncia, tudo que ocorre com as variveis dentro do procedimento ocorre tambm com as variveis do programa principal pois so passadas referncias para as mesmas e no os seus valores. A passagem por copia/restaurao similar a passagem por referncia, mas o funcionamento diferente. Nela, os valores dos parmetros so passados, a subrotina os utiliza e depois, quando a subrotina terminada, os parmetros so copiados para as variveis do procedimento principal. Cada linguagem tem suas regras para passagem de parmetros e essas regras so determinadas pelo implementador da linguagem. O objetivo principal do RPC fazer uma chamada a distncia parecer uma chamada local (transparncia) usando os client stubs e os server stubs. A chamada remota anloga a chamada a um procedimento local. Detalhes da passagem de parmetros so ignorados visto que as chamadas ao sistema so escondidas nas bibliotecas tradicionais.

STEPS PASSOS do RPC: 1 cliente chama o stub cliente; 2 stub cliente cria mensagem e envia ao SO; 3 o SO envia ao SO remoto; 4 o SO remoto entrega a mensagem ao stub servidor; 5 o stub servidor desempacota a mensagem e envia ao servidor; 6 o servidor processa e retorna o resultado para o stub; 7 o stub servidor empacota o resultado faz uma chamada ao SO; 8 o SO remoto envia a mensagem ao SO cliente; 9 o SO cliente entrega a mensagem ao stub cliente; 10 o Stub cliente desempacota e entrega ao cliente. Tudo ocorre de forma transparente para o cliente e para o servidor. CORBA ( Common Object Request Broker Architecture) Interoperabilidade entre aplicaes atravs de interoperabilidade entre os objetos; Padronizada pela OMG- Object Management Group Automatiza tarefas como: Registro, localizao e ativao de objetos, demultiplexao de parmetros, tratamento de erros e recuperao, serializao de parmetros, entrega de requisies;

OMG Reference Model Archicteture

Aplication Interfaces

Domain Interfaces

Common Facilities

ORB Object Request Broker

Object Services

Aplication Interfaces: Para uma aplicao especfica No padronizado, mas pode ser caso venha a ser utilizado em larga escala.

Domain Interfaces: Orientadas a domnios especficos. Ex.: PDM Product Data Management. RFP ( domnio da indstria) Breve: telecom., mdicas, financeiras.

Common Facilities: Dedicadas s aplicaes ao usurio final DDCF- Distributed Document Component Facility (opendoc)

Object Services: Independentes de domnio. Ex: Descoberta de servios: Servios de nomes; Trading services (por propriedades)

CORBA ORB ARCHITECTURE Mecanismo transparente de comunicao cliente-servidor; Faz as chamadas remotas parecerem locais; Acha automaticamente o objeto, encaminha a requisio e devolve o resultado; Processos das bibliotecas (forma de implementao); Uma especificao CORBA define uma Interface Abstrata para um ORB, que serializa os objetos automaticamente.

Interfaces Repository

IDL Compiler

Implementations Repository

Client

Server

DII

IDL Stub

Stub Interfaces

IDL Skeleton

DSI

POA ORB Object Request Broker

CLIENT - a entidade de programa que invoca uma operao a uma determinada implementao de objeto. ORB - O ORB Object Request Broker prove o mecanismo necessrio para a comunicao transparente entre o cliente e os objetos implementados. IDL Stub - a interface entre o cliente e o ORB. Prepara a mensagem a ser enviada ao objeto servidor bem como recebe as respostas enviadas pelo servidor e entrega ao cliente. IDL Skeleton - Serve de interface entre o objeto servidor e o ORB. Recebe as mensagens enviadas pelos clientes e entrega ao servidor bem como prepara e encaminha ao ORB as respostas aos clientes. POA - O POA (Portable Object Adapter) auxilia o ORB com a entrega e de requisies para os objetos e com a ativao dos objetos. Ele tem a importante funo de associar a implementao de um objeto ao ORB. Adaptadores de objetos podem ser especializados para prover suporte para certas implementaes de objetos.

DII- DYNAMIC INVOCATION INTERFACE (acesso direto ao ORB), ou seja, ao mecanismo de requisio. Envia requisies sem usar IDL STUB linkado; Permite chamadas NON-BLOCKING DEFERRED SYNCHRONOUS e ONE-WAY.

DSI- DYNAMIC SERVER INTERFACE Permite entregar mensagens sem saber o tipo do objeto em tempo de compilao. Obs.: ACAPTER Auxilia o ORB a ativar objetos e entregar mensagens. Associa ORB com a implementao do objeto. CDIGO MVEL DEFINIO: Capacidade de um componente de se mover entre ns de um rede Deriva da migrao de processos, Mobilidade de processo (SO) x mobilidade de cdigo (usurio) Usado para balanceamento de cargas, desempenho, tolerancia falhas. FORMAS DE MOBILIDADE; FORTE: Cdigo + Estado FRACA: ( Suporte) -MIGRAO: Suspende a execuo -CLONAGEM REMOTA: Cpia componente e transmite estado. PROATIVA: Momento e destino determinados pelo componente REATIVA: Controlada por outro componente PARADIGMAS: ( Mobilidade de cdigo cliente) Ex.: postscript alguns agentes mveis -EXECUO REMOTA: Deslocamento da unidade de execuo sem resposta -AVALIAO REMOTA: C1 C2 usa recursos remotos (SQL). No necessita controle do estado. -CDIGO POR DEMANDA: C1 em L1 requisita cdigo C2 em L2 . Ex.: aplets JAVA -AGENTES MVEIS: C1 move-se para L2 quando necessita de recursos. Ex.: IAD, SMA, Agente de interface Agentes cooperativos.

AGENTE : Entidade computacional que trabalha em favor de outras Entidade de forma autnoma e que realiza aes proativas e reativas. (autonomia de migrao e execuo) -AGENTES MVEIS; -AGENTES INTELIGENTES ( Objetivos, tarefas, preferncias, protocolos) - Agentes de rede; - Motor de Busca KNOWBOT ou SOFTBOT; - Tipos: - Adaptativos;

- Persistentes; - Flexveis; - Reativos; - Mveis; - Cognativos. VANTAGENS: Perfomance Assiscronismo Personalizao e configurao de servios Balanceamento de carga Tempo de resposta Descentralizao da gesto Comunicao inteligente Recuperao dinmica de informao.

Você também pode gostar