Protocol With Timer (Protocolo com Temporizador) Carlos Fran Cleilson Gurgel
Protocolo com Temporizador <ul><li>Desenvolvido e Mantido por: </li></ul><ul><ul><li>Kurt Jensen, Universidade de Aarhus, ...
Protocolo com Temporizador <ul><li>É um protocolo baseado em transmissão de dados, onde existe um emissor e um receptor. <...
Protocolo com Temporizador <ul><li>O modelo deste protocolo foi modelado em Redes de Petri Colorida utilizando a ferrament...
Protocolo Modelado com CPN
Declarações da Rede <ul><li>colset INT = int; </li></ul><ul><li>colset DATA = string; </li></ul><ul><li>colset  INTxDATA =...
Lugares
Transições
Tipo(Colour Set)
Marcação Inicial
 
Inscrições do Arco (n,p) n N+1 k s
Subdivisão da Rede Emissor Rede Receptor Temporizador
Pacotes a ser enviados Send INTxDATA
Contadores Contador Contador
Dados Recebidos D ATA “ ”
O Lugar Send <ul><li>A  ligação<n=1,p =&quot;Modellin&quot;> está habilitada. </li></ul><ul><li>Quando a ligação ocorre  u...
Transmit Packet <ul><li>Todas ligações habilitadas são: </li></ul><ul><ul><li><n=1,p= &quot;Modellin&quot;, s=8, r=...> </...
A função “ ok ” <ul><li>A função Ok(s,r) checa se r ≤  s. </li></ul><ul><ul><li>Para r ∈1. .8, Ok(s,r)=true. A ficha é mov...
Pacote Recebido <ul><li>O número do pacote chegando  “n” e o número do  pacote esperado “k” são comparados. </li></ul><ul>...
Pacote Perdido <ul><li>Se o pacote que chegou “n” é diferente do pacote esperado “k” o pacote é perdido. </li></ul>If n = ...
Envio do ACK <ul><li>Diferentemente do Simple Protocol o Protocol With Time só envia o ACK quando envia o pacote de stop (...
Transmitindo o ACK <ul><li>O protocolo da rede também considera que o ACK também pode ser perdido. </li></ul><ul><li>Neste...
O Temporizador <ul><li>Quando Send envia o ultimo  pacote (8,“########“), ele adiciona um token com o valor 0 em Count  (n...
O Temporizador <ul><li>Quando a contagem atinge o limite pre- estabelecido o alarme de transição torna-se habilitado, e se...
Próximos SlideShares
Carregando em…5
×

Protocolo com temporizador

1.028 visualizações

Publicada em

Protocolo otimista com temporizador modelado no CPN Tools.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.028
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Protocolo com temporizador

  1. 1. Protocol With Timer (Protocolo com Temporizador) Carlos Fran Cleilson Gurgel
  2. 2. Protocolo com Temporizador <ul><li>Desenvolvido e Mantido por: </li></ul><ul><ul><li>Kurt Jensen, Universidade de Aarhus, Dinamarca (kjensen@daimi.au.dk). </li></ul></ul>
  3. 3. Protocolo com Temporizador <ul><li>É um protocolo baseado em transmissão de dados, onde existe um emissor e um receptor. </li></ul><ul><li>O protocolo é otimista, ele assume que cada pacote será recebido com sucesso e, portanto, imediatamente continua a enviar o pacote que lhe suceda. </li></ul><ul><li>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. </li></ul>
  4. 4. Protocolo com Temporizador <ul><li>O modelo deste protocolo foi modelado em Redes de Petri Colorida utilizando a ferramenta CPNTools. </li></ul>
  5. 5. Protocolo Modelado com CPN
  6. 6. Declarações da Rede <ul><li>colset INT = int; </li></ul><ul><li>colset DATA = string; </li></ul><ul><li>colset INTxDATA = product INT * DATA; </li></ul><ul><li>var n, k: INT; </li></ul><ul><li>var p, str: DATA; </li></ul><ul><li>Val stop = “########”; </li></ul><ul><li>colset Ten0 = int whith 0..10; </li></ul><ul><li>colset Ten1 = int whith 1..10; </li></ul><ul><li>var s:Ten0; </li></ul><ul><li>var r: Ten1; </li></ul><ul><li>fun OK(s:Ten0, r:Ten1) = (r<=s); </li></ul>
  7. 7. Lugares
  8. 8. Transições
  9. 9. Tipo(Colour Set)
  10. 10. Marcação Inicial
  11. 12. Inscrições do Arco (n,p) n N+1 k s
  12. 13. Subdivisão da Rede Emissor Rede Receptor Temporizador
  13. 14. Pacotes a ser enviados Send INTxDATA
  14. 15. Contadores Contador Contador
  15. 16. Dados Recebidos D ATA “ ”
  16. 17. O Lugar Send <ul><li>A ligação<n=1,p =&quot;Modellin&quot;> está habilitada. </li></ul><ul><li>Quando a ligação ocorre uma ficha é adicionada no lugar A. </li></ul><ul><li>Isto representa que o pacote (1,&quot;Modellin&quot;) é enviado para a rede. </li></ul><ul><li>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&quot;> </li></ul>
  17. 18. Transmit Packet <ul><li>Todas ligações habilitadas são: </li></ul><ul><ul><li><n=1,p= &quot;Modellin&quot;, s=8, r=...> </li></ul></ul><ul><ul><li>onde r ∈1. .10 </li></ul></ul>
  18. 19. A função “ ok ” <ul><li>A função Ok(s,r) checa se r ≤ s. </li></ul><ul><ul><li>Para r ∈1. .8, Ok(s,r)=true. A ficha é movida de A para B. Isto significa que o pacote é transmitido com sucesso. </li></ul></ul><ul><ul><li>Para r ∈ 9. .10, Ok(s,r)=false. Nenhuma ficha é adicionada em B. Isto significa que o pacote é perdido. </li></ul></ul><ul><li>O simulador CPN faz escolhas aleatórias entre ligações: 80% de chance para transferir com sucesso. </li></ul>
  19. 20. Pacote Recebido <ul><li>O número do pacote chegando “n” e o número do pacote esperado “k” são comparados. </li></ul><ul><li>O dado no pacote é concatenado ao dado já recebido. </li></ul><ul><li>O contador NextRec é incrementado em um. </li></ul>(n,p) If n = k If n = k Str^p
  20. 21. Pacote Perdido <ul><li>Se o pacote que chegou “n” é diferente do pacote esperado “k” o pacote é perdido. </li></ul>If n = k (n,p) If n = k
  21. 22. Envio do ACK <ul><li>Diferentemente do Simple Protocol o Protocol With Time só envia o ACK quando envia o pacote de stop (8,“########&quot;) . </li></ul><ul><li>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. </li></ul>
  22. 23. Transmitindo o ACK <ul><li>O protocolo da rede também considera que o ACK também pode ser perdido. </li></ul><ul><li>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. </li></ul>
  23. 24. O Temporizador <ul><li>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. </li></ul><ul><li>Fica esperando o recebimento do ACK. </li></ul><ul><li>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. </li></ul>8
  24. 25. O Temporizador <ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>Mas caso o ACK tiver chegado nesse periodo a trasnmissão é concluida. </li></ul>8 1 Alarm

×