slide1
Download
Skip this Video
Download Presentation
JXTA Protocolos PIP e PBP

Loading in 2 Seconds...

play fullscreen
1 / 27

JXTA Protocolos PIP e PBP - PowerPoint PPT Presentation


  • 80 Views
  • Uploaded on

JXTA Protocolos PIP e PBP. Franklin Felipe Wagner Márcio Dalle Lucca. Peer Information Protocol PIP. Peer Information P rotocol. O que é? - Permite que os peers obtenham a informação de status dos peers previamente descobertos. - Uptime e quantidade de tráfego processada pelo par.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' JXTA Protocolos PIP e PBP' - mandy


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

JXTA

Protocolos PIP e PBP

Franklin Felipe WagnerMárcio Dalle Lucca

slide3

Peer Information Protocol

O que é?

- Permite que os peers obtenham a informação de status dos peers previamente descobertos.

- Uptime e quantidade de tráfego processada pelo par.

- Futuro: monitoração.

slide4

Peer Information Protocol

- O PIP fica numa camada acima do Peer Resolver Protocol.

- PIP é um protocolo opcional do JXTA.

- Nenhuma, uma ou múltiplas respostas podem ser recebidas a qualquer pergunta.

slide5

Exemplo de PIP

- Peer 1 manda um Peer Info Query Message para um peer especifico (2)

- Os peer´s recebem a msg e comparam o Peer ID da mensagem.

- se for igual o seu (2), respondem para o peer source com uma Peer Infor Response Message

- Senão, não faz nada (12)

slide6

Peer Information Protocol

Mensagens:

- Peer Info Query Message

- Peer Info Response Message

slide7

Peer Info Query Message

<?xml version=”1.0” encoding=”UTF-8”?>

<jxta:PeerInfoQueryMessage xmlns:jxta=”http://jxta.org”>

<sourcePid> . . . </sourcePid>

<targetPid> . . . </targetPid>

<request> . . . </request>

</jxta:PeerInfoQueryMessage>

slide8

Peer Info Response Message

<?xml version=”1.0” encoding=”UTF-8”?>

<jxta:PeerInfoResponse xmlns:jxta=”http://jxta.org”>

<sourcePid> . . . </sourcePid>

<targetPid> . . . </targetPid>

<uptime> . . . </uptime>

<timestamp> . . . </timestamp>

<response> . . . </response>

<trafic>

. . .

</trafic>

</jxta:PeerInfoQueryMessage>

slide9

Peer Info Response Message

<traffic>

<lastIncomingMessageAt> . . . </lastIncomingMessageAt>

<lastOutgoingMessageAt> . . . </lastOutgoingMessageAt>

<in>

<transport endptaddr=” . . . “> . . . </transport>

</in>

<out>

<transport endptaddr=” . . . “> . . . </transport>

</out>

</traffic>

slide10

Peer Information Protocol

- net.jxta.protocol diferente de

- net.jxta.impl.protocol

- PeerInfoQueryMessage e

- PeerInfoResponseMsg

slide12

Introdução

- Pipes são utilizados para troca de mensagens entre peers.

- Antes de ser utilizado, um pipe precisa estar ligado a dois endpoints, para que os peers criem input e outputs pipes e então formem um Pipe.

- O processo de ligar um pipe a um endpoint é definido pelo Pipe Binding Protocol

slide13

Endpoint

Definição:

Interface de rede nativa provida por um peer.Utilização:

Produzir, enviar, receber e usar mensagens através da rede.

slide14

Endpoint

  • Outros serviços JXTA são construídos em cima de endpoints, direta ou indiretamente.
  • Existem duas maneiras de acessar a rede P2P sem utilizar diretamente os endpoints:
  • Através do serviço Resolver
  • Através do uso de Pipes
slide15

Pipe

Um Pipe é formado quando dois endpoints querem se comunicar.

Ele provê conexão entre um endpoint remetente e um ou mais endpoints destinatários.

Embora o JXTA especifique outros tipos de Pipe, o único requerido é o Pipe unidirecional e assíncrono.

slide17

Pipe: formação

  • O Peer1 cria um input pipe de um Pipe Advertisement e esperamensagens chegarem.- O Peer2, querendo mandar mensagens para o Peer1 usando o mesmo Pipe Advertisement, precisa criar um output pipe. Para isso ele envia uma PB Query Message para todos os seus peers e rendezvous peers conhecidos.- Peer1, ao receber a PB Query Message do Peer2, checa seu cache de pipes para ver se bate. Se sim, ele responde com uma PB Answer Message contendo seu Peer Advertisement.
  • - Peer2 recebe de PB Answer Message e extrai a informação de endpoint do Peer Advertisement. Com ela ele cria um output pipe. Feito isso, o Peer2 pode mandar mensagens para o Peer1.
slide18

Pipe Advertisement

<?xml version=”1.0” encoding=”UTF-8”?>

<jxta:PipeAdvertisement>

<Id> . . . </Id>

<Type> . . . </Type>

<Name> . . . </Name>

</jxta:PipeAdvertisement>

slide19

Pipe Advertisement

ID: ID único do Pipe.

Type: JxtaUnicast - comum, JxtaUnicastSecure - comum com TLS, JxtaPropagate - provê conexão entre endpoints remetentes e múltiplos destinatários.

Name: Nome simbólico do Pipe, que pode ser usado pelo Discovery service para descobrir o Pipe Advertisement.

slide20

Pipe Advertisement

Percebe-se que o Pipe Advertisement não possui Peer ID. Isso é definido para que vários peers possam prover acesso a um serviço utilizando o mesmo Pipe Advertisement. E é por isso que os pipes precisam ser resolvidos com o PBP.

Quando um peer quer enviar dados usando um pipe, ele precisa encontrar um peer que já ligou um pipe com o mesmo Pipe ID a um endpoint e que está esperando por dados.

slide21

Mensagens

O PBP define duas mensagens para permitir que um peer resolva um pipe:

- Pipe Binding Query Message

- Pipe Binding Answer Message

slide22

PB Query Message

<?xml version=”1.0” encoding=”UTF-8”?>

<jxta:PipeResolver>

<MsgType>Query</MsgType>

<PipeId> . . . </PipeId>

<Type> . . . </Type>

<Cached> . . . </Cached>

<Peer> . . . </Peer>

</jxta:PipeResolver>

slide23

PB Query Message

MsgType: pode ser Query ou Answer, nesse caso é Query.

PipeId: ID do Pipe

Type: Corresponde ao campo Type do Pipe Adv., pode ser JxtaUnicast, JxtaUnicastSecure ou JxtaPropagate.

Cached: Opcional. Define se o peer usa seu cache de Pipes resolvidos pra responder à query.

Peer: Opicional. Especifica um único Peer ID para responder a query.

slide24

PB Answer Message

<?xml version=”1.0” encoding=”UTF-8”?>

<jxta:PipeResolver>

<MsgType>Answer</MsgType>

<PipeId> . . . </PipeId>

<Type> . . . </Type>

<Peer> . . . </Peer>

<Found>false</Found>

<PeerAdv> . . . </PeerAdv>

</jxta:PipeResolver>

slide25

PB Answer Message

MsgType: Answer

Found: Opcional. Serve para indicar se foi encontrado o Pipe ID. Por default é considerado que sim.

PeerAdv: Quando encontrado o Pipe ID correto, a resposta é enviada com o PeerAdv. do peer que o possui.

slide26

Esclarecimentos

- Quando o Peer1 cria o input pipe, nada é mandado pela rede. Ele simplesmente começa a esperar no seu endpoint local por mensagens que possuam o Pipe ID especificado no Pipe Adv.

- O Pipe Adv. não necessariamente precisa ser comunicado através da rede.Embora o Pipe Adv. é normalmente descoberto através do Discovery service, ele pode ser codificado na aplicação ou pode ser trocado usando o Resolver service.

- Binding significa a troca de mensagens PB para formar um pipe. Para criar um input pipe, não é necessário fazer o binding, ou seja, não são enviadas mensagens.

- Os endpoints que na verdade são responsáveis por enviar e receber dados. O Pipe só auxilia na identificação de quais endpoints estarão trocandomensagens pela rede.

slide27

Dúvidas?

Referências:

http://translation.jxta.org/ja/docbook/JXTAProtocols.html#proto-pbp

http://www.brendonwilson.com/projects/jxta-book/

ad