protocol with timer

Post on 23-Jun-2015

415 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides da apresentação do modelo de rede de petri colorida modelado no CPN Tools.

TRANSCRIPT

Protocol With Timer(Protocolo com Temporizador)

Carlos FranCleilson Gurgel

Protocolo com Temporizador

• Desenvolvido e Mantido por:– Kurt Jensen, Universidade de Aarhus, Dinamarca

(kjensen@daimi.au.dk).

Protocolo com Temporizador

• É um protocolo baseado em transmissão de dados, onde existe um emissor e um receptor.

• O protocolo é otimista, ele assume que cada pacote será recebido com sucesso e, portanto, imediatamente continua a enviar o pacote que lhe suceda.

• O “Protocol With Timer” possui algumas semelhanças com alguns outros protocolos como é o caso do “Simple Protocol” e do “Timed Protocol”, mas não se engane, cada um tem caracteristicas distintas.

Protocolo com Temporizador

• O modelo deste protocolo foi modelado em Redes de Petri Colorida utilizando a ferramenta CPNTools.

Protocolo Modelado com CPN

Declarações da Rede

• colset INT = int;• colset DATA = string;• colset INTxDATA = product INT * DATA;• var n, k: INT;• var p, str: DATA;• Val stop = “########”;• colset Ten0 = int whith 0..10;• colset Ten1 = int whith 1..10;• var s:Ten0;• var r: Ten1;• fun OK(s:Ten0, r:Ten1) = (r<=s);

Lugares

Transições

Tipo(Colour Set)

Marcação Inicial

Inscrições do Arco

(n,p)

n N+1ks

Subdivisão da Rede

EmissorRede ReceptorTemporizador

Pacotes a ser enviados

Send

INTxDATA

Contadores

Contador Contador

Dados Recebidos

DATA

“ ”

O Lugar Send• A ligação<n=1,p="Modellin"> está

habilitada.• Quando a ligação ocorre uma

ficha é adicionada no lugar A.• Isto representa que o pacote

(1,"Modellin") é enviado para a rede.

• O pacote não é removido do lugar Send e o contador do lugar NextSend é incrementado indicando qual é o próximo pacote. No nosso caso, ligação<n=2,p=“g and An">

Transmit Packet

• Todas ligações habilitadas são:– <n=1,p= "Modellin", s=8, r=...>– onde r 1. .10∈

A função “ ok ”

• A função Ok(s,r) checa se r ≤ s.– Para r 1. .8, Ok(s,r)=true. A ficha é ∈

movida de A para B. Isto significa que o pacote é transmitido com sucesso.

– Para r 9. .10, Ok(s,r)=false. ∈Nenhuma ficha é adicionada em B. Isto significa que o pacote é perdido.

• O simulador CPN faz escolhas aleatórias entre ligações: 80% de chance para transferir com sucesso.

Pacote Recebido

• O número do pacote chegando “n” e o número do pacote esperado “k” são comparados.

• O dado no pacote é concatenado ao dado já recebido.

• O contador NextRec é incrementado em um.

(n,p)

If n = k

If n = k

Str^p

Pacote Perdido

Se o pacote que chegou “n” é diferente do pacote esperado “k” o pacote é perdido.

If n = k

(n,p)

If n = k

Envio do ACK

• Diferentemente do Simple Protocol o Protocol With Time só envia o ACK quando envia o pacote de stop (8,“########") .

• Aqui ele testa se p=stop e n<k. Em caso verdadeiro envia uma ficha para o lugar C. e caso seja falso ele não envia nada.

Transmitindo o ACK

• O protocolo da rede também considera que o ACK também pode ser perdido.

• Neste caso é feito o teste com a função ok(s,r) no caso verdadeiro o ack é recebido, e nocaso de ser falso o ack também é perdido.

O Temporizador• Quando Send envia o ultimo

pacote (8,“########“), ele adiciona um token com o valor 0 em Count (no temporizador), habilitando assim a transição Clock Tick.

• Fica esperando o recebimento do ACK.

• Cada ocorrência desse transição aumenta a contagem (ou seja, a contagem do valor do token). Quando a contagem atinge um limite pré-definido (no nosso caso”8”) de transição do Relógio Tick deixa de ser habilitado.

8

O Temporizador• Quando a contagem atinge o

limite pre- estabelecido o alarme de transição torna-se habilitado, e se a confirmação ACK não tiver chegado.

• O Alarm dispara colocando o token com o valor 1 no lugar NextSend, ou seja, ele reinicia uma retransmissão de todo o conjunto de pacotes.

• Mas caso o ACK tiver chegado nesse periodo a trasnmissão é concluida.

8

1Alarm

top related