2. Algoritmo Token Ring
O que é?
Token ring é um protocolo de redes que opera na
camada física (ligação de dados) e de enlace do
modelo OSI dependendo da sua aplicação.
3. Algoritmo Token Ring
Como funciona?
Organiza os processos em um anel lógico e um token circula entre os
processos que fazem parte do sistema distribuído. O processo que
está com o token é permitido utilizar o recurso 'crítico', caso queira
usá-lo.
4. Como existe um número N de processos (N >
1) que desejam acessar o mesmo arquivo para
escrita, é necessário garantir acesso exclusivo
ao arquivo.
5. Algoritmo de Token Ring:
Os processos são conectados por um anel e
numerados sequencialmente a partir de 0.
Na iniciação do anel, uma token é dada ao processo 0.
A token é passada do processo k para o processo k+1.
Ao receber a token, um processo pode retê-la ou
passá-la imediatamente para o próximo processo,
dependendo se deseja ou não, respectivamente,
entrar na região crítica. Enquanto o processo estiver
na região crítica, a token fica retida, e somente ao sair
da região crítica é repassada adiante.
6. Algoritmo em anel (token-ring)
P5 P2 P3 P0 P1 P4 P6
Arranjo físico dos
processos
P0 P1
Arranjo lógico dos processos
P6 P2
P5 P3
O processo que detém o token
P4 pode entrar na região crítica.
7. Algoritmo em anel (token-ring)
Processo P(k) deseja entrar na região crítica:
TOKEN TOKEN
P(k-1) P(k) P(k+1)
Executa sua
região crítica
Processo P(k) não deseja entrar na região crítica:
TOKEN TOKEN
P(k-1) P(k) P(k+1)
8. Algoritmo em anel (token-ring)
• O token não é, necessariamente, obtido em ordem “happened-before”
(~temporal). Pode levar de 1 a (n-1) mensagens para se obter o token, desde
o momento em que se torna necessário.
• Mensagens são enviadas no anel mesmo quando nenhum processo requer
o token.
• Tempo máximo de um ciclo = soma dos tempos de execução das regiões
críticas de todos os processos.
9. Algoritmo em anel (token-ring)
•Token perdido: recuperação baseada no envio de ACK quando do
recebimento do token.
• Processo que falha: reconfiguração executada para remover o processo
do anel. Enquanto isso, a circulação do token é interrompida.
• Se o processo que falha é quem possui o token: um mecanismo de eleição
é necessário para escolher um único processo que irá regenerar o token e
iniciar a sua circulação.
10. Anel virtual é criado usando-se alguma
ordenação, como por exemplo o número de
endereço na rede
Problema quando mensagem com o token se
perde. Como detectar se um processo ainda
está usando o token ou falhou?
11.
12. Quebra de processos pode ser detectada
através de envio de mensagens ACK e
temporizadores
Este protocolo foi descontinuado em
detrimento de Ethernet e é utilizado
atualmente apenas em infra-estruturas
antigas.