O documento descreve um sistema de preservação digital, incluindo sua introdução, modelo, arquitetura e implementação. O foco é a camada de gerenciamento de réplicas, que aloca cópias de objetos em repositórios confiáveis para garantir a preservação a longo prazo.
1. Introdu¸˜o
ca
Modelo
Arquitetura
Implementa¸˜o
ca
Conclus˜o
a
Sistema de Preserva¸˜o Digital
ca
Camada de Gerenciamento
GT-DigitalPreservation
C3SL - Centro de Computa¸˜o Cient´
ca ıfica e Software Livre
Departamento de Inform´tica
a
Universidade Federal do Paran´
a
Setembro de 2011
university-logo
Lauro Camada de Gerenciamento
2. Introdu¸˜o
ca
Modelo
Arquitetura
Implementa¸˜o
ca
Conclus˜o
a
1 Introdu¸˜o
ca
2 Modelo
3 Arquitetura
4 Implementa¸˜o
ca
5 Conclus˜o
a
university-logo
Lauro Camada de Gerenciamento
3. Introdu¸˜o
ca
Modelo
Camada de gerenciamento de r´plicas
e
Arquitetura
Camadas dos sistema
Implementa¸˜o
ca
Conclus˜o
a
1 Introdu¸˜o
ca
2 Modelo
3 Arquitetura
4 Implementa¸˜o
ca
5 Conclus˜o
a
university-logo
Lauro Camada de Gerenciamento
4. Introdu¸˜o
ca
Modelo
Camada de gerenciamento de r´plicas
e
Arquitetura
Camadas dos sistema
Implementa¸˜o
ca
Conclus˜o
a
Camada de gerenciamento de r´plicas
e
Aloca as r´plicas dos objetos dentro do sistema de preserva¸˜o
e ca
Garantir o armazenamento confi´vel dos objetos
a
Implementa a inser¸˜o e a recupera¸˜o de objetos no sistema
ca ca
university-logo
Lauro Camada de Gerenciamento
5. Introdu¸˜o
ca
Modelo
Camada de gerenciamento de r´plicas
e
Arquitetura
Camadas dos sistema
Implementa¸˜o
ca
Conclus˜o
a
Modelo
M´tricas de confiabilidade
e
Probabilidade de n˜o falha no armazenamento de um
a
reposit´rio
o
Probabilidade de n˜o falha no armazenamento de ao menos
a
uma r´plica de um objeto
e
Escolher um conjunto de reposit´rios para armazenar a r´plica
o e
de um objeto
university-logo
Lauro Camada de Gerenciamento
6. Introdu¸˜o
ca
Modelo
Camada de gerenciamento de r´plicas
e
Arquitetura
Camadas dos sistema
Implementa¸˜o
ca
Conclus˜o
a
Arquitetura
Inser¸˜o de objetos no sistema de preserva¸˜o
ca ca
Recupera¸˜o de objetos
ca
Consulta pelo estado de preserva¸˜o de objetos
ca
Auditoria das replicas de um objeto
university-logo
Lauro Camada de Gerenciamento
7. Introdu¸˜o
ca
Modelo
Camada de gerenciamento de r´plicas
e
Arquitetura
Camadas dos sistema
Implementa¸˜o
ca
Conclus˜o
a
Implementa¸˜o
ca
Gerenciamento das replicas
Sele¸˜o de reposit´rios
ca o
Sistema de indexa¸˜o
ca
Scripts Shell e programas na linguagem C
university-logo
Lauro Camada de Gerenciamento
8. Introdu¸˜o
ca
Modelo
Camada de gerenciamento de r´plicas
e
Arquitetura
Camadas dos sistema
Implementa¸˜o
ca
Conclus˜o
a
Aplicações
Interface
Gerenciamento de Réplicas
Armazenamento
Repositório
Figura: Camadas do Sistema de Preserva¸˜o Digital
ca university-logo
Lauro Camada de Gerenciamento
9. Introdu¸˜o
ca
Modelo M´tricas de confiabilidade
e
Arquitetura Sele¸˜o de reposit´rios
ca o
Implementa¸˜o
ca Estrat´gia de sele¸˜o de reposit´rios
e ca o
Conclus˜o
a
1 Introdu¸˜o
ca
2 Modelo
3 Arquitetura
4 Implementa¸˜o
ca
5 Conclus˜o
a
university-logo
Lauro Camada de Gerenciamento
10. Introdu¸˜o
ca
Modelo M´tricas de confiabilidade
e
Arquitetura Sele¸˜o de reposit´rios
ca o
Implementa¸˜o
ca Estrat´gia de sele¸˜o de reposit´rios
e ca o
Conclus˜o
a
Confiabilidade de um reposit´rio
o
Considera que as falhas s˜o independentes
a
Complementar ` probabilidade de falha no armazenamento de
a
um dado no reposit´rio
o
Influenciada pela qualidade de hardware e de administra¸˜o do
ca
sistema
university-logo
Lauro Camada de Gerenciamento
11. Introdu¸˜o
ca
Modelo M´tricas de confiabilidade
e
Arquitetura Sele¸˜o de reposit´rios
ca o
Implementa¸˜o
ca Estrat´gia de sele¸˜o de reposit´rios
e ca o
Conclus˜o
a
Confiabilidade de um objeto
Complementar ` probabilidade de falha no armazenamento de
a
todas as r´plicas de um objeto
e
´
E definida pelo usu´rio
a
Reflete a importˆncia da preserva¸˜o do objeto
a ca
university-logo
Lauro Camada de Gerenciamento
12. Introdu¸˜o
ca
Modelo M´tricas de confiabilidade
e
Arquitetura Sele¸˜o de reposit´rios
ca o
Implementa¸˜o
ca Estrat´gia de sele¸˜o de reposit´rios
e ca o
Conclus˜o
a
Quantidade de r´plicas
e
A quantidade de r´plicas n˜o ´ fixa
e a e
Uma confiabilidade desejada mais alta requer um n´mero
u
maior de r´plicas
e
Reposit´rios com confiabilidade mais alta reduzem a
o
quantidade de r´plicas necess´rias
e a
university-logo
Lauro Camada de Gerenciamento
13. Introdu¸˜o
ca
Modelo M´tricas de confiabilidade
e
Arquitetura Sele¸˜o de reposit´rios
ca o
Implementa¸˜o
ca Estrat´gia de sele¸˜o de reposit´rios
e ca o
Conclus˜o
a
Sele¸˜o de reposit´rios
ca o
Figura: Inserir objeto com confiabilidade desejada de 99.99%
1 - ((1 - 0.95) * (1 - 0.9) * (1 - 0.85) * (1 - 0.8) * (1 - 0.75))
university-logo
= 0.9999625
Lauro Camada de Gerenciamento
14. Introdu¸˜o
ca
Modelo M´tricas de confiabilidade
e
Arquitetura Sele¸˜o de reposit´rios
ca o
Implementa¸˜o
ca Estrat´gia de sele¸˜o de reposit´rios
e ca o
Conclus˜o
a
Intervalo de auditoria
Considerando que a probabilidade de falha no armazenamento
dos reposit´rios segue a distribui¸˜o de Poisson
o ca
Seja a confiabilidade do reposit´rio em 1 ano 80%
o
Confiabilidade em 6 meses: 89% (0.86/12 )
Confiabilidade em 1 mˆs: 98% (0.81/12 )
e
university-logo
Lauro Camada de Gerenciamento
15. Introdu¸˜o
ca
Modelo M´tricas de confiabilidade
e
Arquitetura Sele¸˜o de reposit´rios
ca o
Implementa¸˜o
ca Estrat´gia de sele¸˜o de reposit´rios
e ca o
Conclus˜o
a
Estrat´gia de sele¸˜o de reposit´rios
e ca o
Selecionar reposit´rios que dever˜o receber r´plicas
o a e
Deve combinar confiabilidade dos reposit´rios para atingir a
o
confiabilidade desejada
Deve ajustar o intervalo de auditoria
Estrat´gia deve balancear a utiliza¸˜o de recursos na rede
e ca
university-logo
Lauro Camada de Gerenciamento
16. Introdu¸˜o
ca
Modelo M´tricas de confiabilidade
e
Arquitetura Sele¸˜o de reposit´rios
ca o
Implementa¸˜o
ca Estrat´gia de sele¸˜o de reposit´rios
e ca o
Conclus˜o
a
Inser¸˜o de itens na rede (100 reposit´rios)
ca o
35000
30000
25000
Itens inseridos
20000
15000
AF
CCF
10000 EDF
CDF
ECF
AV
5000 CCV
EDV
CDV
ECV
0
16 32 64 university-logo
100
Tamanho do conjunto de candidatos
Lauro Camada de Gerenciamento
17. Introdu¸˜o
ca
Modelo M´tricas de confiabilidade
e
Arquitetura Sele¸˜o de reposit´rios
ca o
Implementa¸˜o
ca Estrat´gia de sele¸˜o de reposit´rios
e ca o
Conclus˜o
a
Inser¸˜o de itens na rede (1000 reposit´rios)
ca o
350000
300000
250000
Itens inseridos
200000
150000
100000
50000
AV
EDV
CDV
0
16 32 64 university-logo
100
Tamanho do conjunto de candidatos
Lauro Camada de Gerenciamento
18. Introdu¸˜o
ca
Modelo M´tricas de confiabilidade
e
Arquitetura Sele¸˜o de reposit´rios
ca o
Implementa¸˜o
ca Estrat´gia de sele¸˜o de reposit´rios
e ca o
Conclus˜o
a
Auditoria das r´plicas
e
Verificar as r´plicas de um objeto
e
Confiabilidade desejada do objeto deve ser mantida
Auditoria garante a preserva¸˜o do objeto por tempo
ca
indeterminado
university-logo
Lauro Camada de Gerenciamento
19. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
1 Introdu¸˜o
ca
2 Modelo
3 Arquitetura
4 Implementa¸˜o
ca
5 Conclus˜o
a
university-logo
Lauro Camada de Gerenciamento
20. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Arquitetura
Inserir objeto para preserva¸˜o
ca
Recuperar r´plica de objeto
e
Consultar r´plicas de objeto
e
Auditar r´plicas de objeto
e
university-logo
Lauro Camada de Gerenciamento
21. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Conjunto de candidatos
Conjunto de reposit´rios que podem possuir uma r´plica de
o e
um objeto
Limitar processos de gerenciamento a um subconjunto da rede
N˜o ´ necess´rio guardar informa¸˜es sobre a localiza¸˜o das
a e a co ca
r´plicas na rede
e
N˜o ´ necess´rio inundar a rede com requisi¸˜es para localizar
a e a co
uma r´plica
e
university-logo
Lauro Camada de Gerenciamento
22. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
DHT
Tabela hash distribu´
ıda
Pares (chave, valor)
Faixas de endera¸amento s˜o associadas a cada nodo
c a
Valor est´ armazenado no nodo respos´vel pela faixa de
a a
endere¸amento da chave
c
university-logo
Lauro Camada de Gerenciamento
23. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Obter conjunto de candidatos
Utilizando m´ltiplas fun¸˜es hash
u co
´
Unica fun¸˜o hash e sal
ca
Exemplo de fun¸˜o hash: SHA1 (160 bits)
ca
Exemplos de sal: Inteiros de 1 a n
university-logo
Lauro Camada de Gerenciamento
24. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Exemplo de multiplas hash
Chave do objeto: 4faee3cd92839fe0b477b6de44292b0b
Hash1 = SHA1(chave + ”1”) =
276a6013cc5475d6ed33b40ed7541fca68ebe2f2
Hash2 = SHA1(chave + ”2”) =
2a08fb517b778f0c2ef08a2500c1bc10cb05cf80
Hash3 = SHA1(chave + ”3”) =
f865b2de1fa153758f52cbd2ae2ba84c889fda0b
Hashn = SHA1(chave + ”4”) =
46d6afa607724cde9db16c5b52210ade7031e977
university-logo
Lauro Camada de Gerenciamento
25. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Sistema de indexa¸˜o
ca
Sistema gerencia espa¸o de endere¸amento
c c
Cada faixa de endere¸amento ´ associada a um reposit´rio na
c e o
rede de preserva¸˜o
ca
Informa¸˜es podem estar centralizadas ou distribu´
co ıdas
Sistema deve traduzir um conjunto de hash em um conjunto
de reposit´rios
o
university-logo
Lauro Camada de Gerenciamento
26. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Exemplo de tradu¸˜o de hash
ca
276a6013cc5475d6ed33b40ed7541fca68ebe2f2 =
planetlab-2.imperial.ac.uk
2a08fb517b778f0c2ef08a2500c1bc10cb05cf80 =
planetlab1.inf.ethz.ch
f865b2de1fa153758f52cbd2ae2ba84c889fda0b =
plab1.larc.usp.br
46d6afa607724cde9db16c5b52210ade7031e977 =
planetlab-2.fokus.fraunhofer.de
university-logo
Lauro Camada de Gerenciamento
27. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Inser¸˜o de objetos
ca
Recebe um objeto digital que deve ser preservado
Chave do objeto e confiabilidade desejada est˜o presentes no
a
nome do arquivo
Deve transferir r´plicas do objeto e garantir a confiabilidade
e
desejada
university-logo
Lauro Camada de Gerenciamento
28. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Passos da inser¸˜o
ca
1 Obter conjunto de hash para a chave do objeto
2 Traduzir conjunto de hash em um conjunto de reposit´rios
o
3 Algoritmo de sele¸˜o analisa conjunto de reposit´rios
ca o
candidatos
4 Alguns reposit´rios candidatos s˜o eleitos (receber˜o r´plicas)
o a a e
e um intervalo de auditoria ´ definido
e
5 Reposit´rios eleitos s˜o notificados sobre a transferˆncia da
o a e
r´plica
e
6 Cada reposit´rio eleito transfere uma c´pia do objeto e a
o o
armazena
university-logo
Lauro Camada de Gerenciamento
29. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Auditoria de r´plicas
e
Verificar as r´plicas de um objeto
e
O armazenamento de uma das r´plicas pode falhar
e
Um reposit´rio pode estar fora do ar
o
Confiabilidade desejada do objeto deve ser mantida
Informa¸˜es relacionadas a datas de auditoria s˜o gravadas na
co a
camada de armazenamento
university-logo
Lauro Camada de Gerenciamento
30. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Auditoria de r´plicas
e
Todos os reposit´rios s˜o respons´veis por executar a auditoria
o a a
Auditorias de um mesmo objeto s˜o agendadas com pequenas
a
diferen¸as de tempo
c
Remover excesso de r´plicas ´ um processo perigoso
e e
university-logo
Lauro Camada de Gerenciamento
31. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Passos da auditoria
1 Camada de armazenamento deve detectar necessidade de
auditoria e disparar o processo
2 Obter conjunto de hash para a chave do objeto
3 Traduzir conjunto de hash em um conjunto de reposit´rios
o
4 Algoritmo de sele¸˜o recalcula a confiabilidade do objeto
ca
5 Novo intervalo de auditoria ´ definido
e
6 Se necess´rio, novas r´plicas s˜o criadas
a e a
7 Reposit´rios s˜o atualizados quanto a nova data de auditoria
o a
do objeto
8 Se necess´rio, novas r´plicas s˜o transferidas
a e a
university-logo
Lauro Camada de Gerenciamento
32. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Consulta de r´plicas
e
Recuperar informa¸˜es das r´plicas de um objeto
co e
Localiza¸˜o das r´plicas
ca e
Quantas r´plicas existem
e
Quando as r´plicas foram verificadas (auditoria) pela ultima
e ´
vez
Parˆmetro necess´rio: chave do objeto
a a
Sa´
ıda: uma lista de reposit´rios que possuem r´plica do objeto
o e
university-logo
Lauro Camada de Gerenciamento
33. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Passos da consulta de r´plicas
e
1 Obter conjunto de hash para a chave do objeto
2 Traduzir conjunto de hash em um conjunto de reposit´rios
o
3 Consultar cada reposit´rio candidato sobre a existˆncia da
o e
r´plica
e
4 Retornar lista de reposit´rios que possuem r´plica
o e
university-logo
Lauro Camada de Gerenciamento
34. Conjunto de candidatos
Introdu¸˜o
ca
Sistema de indexa¸˜o
ca
Modelo
Inser¸˜o de objetos
ca
Arquitetura
Auditoria de r´plicas de um objeto
e
Implementa¸˜o
ca
Consulta de r´plicas
e
Conclus˜o
a
Recupera¸˜o de uma r´plica
ca e
Recupera¸˜o de uma r´plica
ca e
Localizar a r´plica de um objeto e permitir sua recupera¸˜o
e ca
Funciona de forma analoga a consulta de r´plicas
e
Retorna um ou uma lista de paths para a r´plica e respectivos
e
reposit´rios
o
R´plicas ficam dispon´
e ıveis para transferˆncia
e
university-logo
Lauro Camada de Gerenciamento
35. Introdu¸˜o
ca
Modelo
Arquitetura
Implementa¸˜o
ca
Conclus˜o
a
1 Introdu¸˜o
ca
2 Modelo
3 Arquitetura
4 Implementa¸˜o
ca
5 Conclus˜o
a
university-logo
Lauro Camada de Gerenciamento
36. Introdu¸˜o
ca
Modelo
Arquitetura
Implementa¸˜o
ca
Conclus˜o
a
Implementa¸˜o
ca
Processos dispon´
ıveis para a camada de interface
Inser¸˜o, Consulta e Recupera¸˜o
ca ca
Interface dispara processos atrav´s de troca de mensagens
e
Necessidade de auditoria detectada pela base de dados
Gerenciamento utiliza fun¸˜es dispon´
co ıveis na camada de
armazenamento
Notificar outros reposit´rios
o
Recuperar informa¸˜es
co
Transferir r´plicas
e
university-logo
Lauro Camada de Gerenciamento
37. Introdu¸˜o
ca
Modelo
Arquitetura
Implementa¸˜o
ca
Conclus˜o
a
Indexa¸˜o
ca
Sistema de indexa¸˜o centralizado
ca
Informa¸˜es de indexa¸˜o replicadas na rede
co ca
Sistema de indexa¸˜o poderia ser totalmente distribu´
ca ıdo
university-logo
Lauro Camada de Gerenciamento
38. Introdu¸˜o
ca
Modelo
Arquitetura
Implementa¸˜o
ca
Conclus˜o
a
1 Introdu¸˜o
ca
2 Modelo
3 Arquitetura
4 Implementa¸˜o
ca
5 Conclus˜o
a
university-logo
Lauro Camada de Gerenciamento
39. Introdu¸˜o
ca
Modelo
Arquitetura
Implementa¸˜o
ca
Conclus˜o
a
Camada ´ respons´vel por alocar r´plicas e garantir a
e a e
confiabilidade
Camada implementa algoritmo de sele¸˜o de reposit´rios e um
ca o
sistema de indexa¸˜o
ca
Confiabilidade no arquivamento
Garantida na inser¸˜o
ca
Mantida nas auditorias
university-logo
Lauro Camada de Gerenciamento
40. Introdu¸˜o
ca
Modelo
Arquitetura
Implementa¸˜o
ca
Conclus˜o
a
D´vidas? Coment´rios? Sugest˜es?
u a o
university-logo
Lauro Camada de Gerenciamento