A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA

Apresentações semelhantes


Apresentação em tema: "UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA"— Transcrição da apresentação:

1 UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa Aula 43-44: Serviço de Diretório (Trading)

2 Trading Instituto de Informática - UFG

3 Bibliografia Wolfgang Emmerich, Engineering Distributed Objects, Wiley, 2000. Disponível na Biblioteca Central (Campus II) Instituto de Informática - UFG

4 Motivação Localização de objetos com base no seu tipo e de maneira transparente de localização O uso de um serviço de nomes é simples, mas pode não ser apropriado quando: clientes não conhecem os objetos servidores há múltiplos objetos servidores para o mesmo serviço para o cliente, não importa qual o objeto é utilizado – o que importa é o serviço oferecido Trading oferece suporte para a localização de servidores com base na funcionalidade e qualidade de serviço Serviço de Nomes ↔ Páginas brancas Trading ↔ Páginas Amarelas Instituto de Informática - UFG

5 Características de um Serviço de Trading
O Trader opera como um intermediador entre clientes e servidores (mas não no mesmo sentido que o ORB!) Permite ao cliente mudar de perspectiva de “quem” para “o que” Análogo à idéia de um corretor de seguros Trader 2:query 3:invoke Exporter Importer 1:export Instituto de Informática - UFG

6 Características de um Serviço de Trading (cont.)
Linguagem comum entre cliente e servidor, baseada em: Tipos de serviço Qualidades ou propriedades do serviço Usada para: Servidor se registrar junto ao Trader Servidor definir uma qualidade de serviço (QoS) garantida Definição estática de QoS Definição dinâmica de QoS Instituto de Informática - UFG

7 Características de um Serviço de Trading (cont.)
Clientes consultam o Trader para obter um serviço de um certo tipo e com um certo nível de qualidade O Trader oferece suporte para comparação de tipos de serviço com as propriedades especificadas busca por serviços Instituto de Informática - UFG

8 Exemplo Serviço de vídeo-sob-demanda Server Video-on- demand MGM
provider MGM User Warner Trader Independent Instituto de Informática - UFG

9 O Processo de Trading Exemplo: servidor de vídeo-sob-demanda :Client
:Trader MGM:VoDS Warner:VoDS export() export() query() modify() download() Instituto de Informática - UFG

10 Definição de Tipos de Serviço
Um tipo de serviço define: a funcionalidade provida por um serviço as qualidades do serviço provido A funcionalidade é definida por meio de um tipo de objeto interface QoS é definida com base em propriedades nome da propriedade tipo da propriedade valor da propriedade modo da propriedade obrigatório / opcional leitura apenas / modificável Instituto de Informática - UFG

11 Exemplo de Tipo de Serviço
typedef enum {VGA,SVGA,XGA} Resolution; service video_on_demand { interface VideoServer; readonly mandatory property float fee; readonly mandatory property Resolution res; modifiable optional property float bandwidth; } Instituto de Informática - UFG

12 Hierarquia de Tipos de Serviço
Um tipo de objeto pode ter várias implementações com diferentes níveis de QoS O mesmo tipo de objeto pode ser usado em diferentes tipos de serviço (i.e., variando-se as propriedades de QoS) Tipo de serviço S é um subtipo do tipo de serviço S´ sse: o tipo de objeto de S é idêntico ou é um subtipo do tipo de objeto de S´ S tem pelo menos todas as propriedades definidas para S´ Relação de sub-tipagem pode ser explorada pelo trader na busca por serviços de um determinado tipo Instituto de Informática - UFG

13 Definição de Restrições
O importador (cliente) define, como parte da consulta ao trader, as qualidades de serviço desejáveis Exemplo: custo<10 AND res>=SVGA AND bandwidth>=256 Em uma consulta, o trader considera apenas aquelas ofertas de serviço que obedeçam à restrição Instituto de Informática - UFG

14 Políticas de Trading Dependendo das restrições e dos serviços disponíveis, um grande conjunto de ofertas pode ser retornado por uma consulta Políticas de trading são usadas para restringir o tamanho da lista de ofertas de serviço retornadas Especificação de um limite máximo Restrição sobre a substituição de serviço (por subtipos) Restrição sobre as propriedades modificáveis (as quais podem ser alteradas no período entre a busca do serviço e seu efetivo uso através de requisições do cliente) Instituto de Informática - UFG

15 Federação de Traders Demanda por escalabilidade
Um trader participando de uma federação: oferece para os demais traders os serviços sobre os quais ele tem conhecimento encaminha para outros traders consultas para serviços sobre os quais não tem conhecimento Problemas importações de serviços podem não terminar (necessário definir um limite para propagação de consultas) duplicação de ofertas Instituto de Informática - UFG

16 Grafo de Trading query.hop_count=4 T1 def_follow_policy=always
max_hop_count=5 max_hop_count=1 T2 T3 Service Offer query.hop_count=0 T4 Trader Attribute Link Instituto de Informática - UFG

17 O Serviço de Trading de CORBA
Application Objects Domain Interfaces CORBA facilities Object Request Broker Object Trader CORBAservices Instituto de Informática - UFG

18 Interfaces do Serviço de Trading de CORBA
Admin list_offers() LinkAttributes TraderComponents Support Attributes ImportAttributes Link Lookup Register add_link() query() export() remove_link() withdraw() describe_link() modify() modify_link() Instituto de Informática - UFG

19 Definindo Qualidade de Serviço
typedef Istring PropertyName; typedef sequence<PropertyName> PropertyNameSeq; typedef any PropertyValue; struct Property { PropertyName name; PropertyValue value; }; typedef sequence<Property> PropertySeq; enum HowManyProps {none, some, all} union SpecifiedProps switch (HowManyProps) { case some : PropertyNameSeq prop_names; Instituto de Informática - UFG

20 Interface do Trader para Exportadores de Serviços
interface Register { OfferId export(in Object reference, in ServiceTypeName type, in PropertySeq properties) raises(...); OfferId withdraw(in OfferId id) void modify(in OfferId id, in PropertyNameSeq del_list, in PropertySeq modify_list) raises (...); }; Instituto de Informática - UFG

21 Interface do Trader para Importadores de Serviços
interface Lookup { void query(in ServiceTypeName type, in Constraint const, in Preference pref, in PolicySeq policies, in SpecifiedProps desired_props, in unsigned long how_many, out OfferSeq offers, out OfferIterator offer_itr, out PolicyNameSeq Limits_applied) raises (...); }; Instituto de Informática - UFG

22 Pontos-Chave Objetos distribuídos podem ser localizados por meio de um serviço de nomes ou de trading Um serviço de nomes liga nomes (conhecidos externamente) a referências de objetos oferece suporte para resolução de nomes para revelar a referência de objeto ligada Trading oferece suporte para a localização de objetos com base na funcionalidade que os mesmos oferecem, bem como na qualidade que garantem Instituto de Informática - UFG


Carregar ppt "UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA"

Apresentações semelhantes


Anúncios Google