Marcos Duarte – [email protected]
O que é o problema
Perda de dados, transtornos/prejuízos
 Alto custo dos sistemas de backups

 Terceirizar resolve?
Solução

Sistema de backup utilizando a
plataforma peer-to-peer
 Utilizar os recursos ociosos da própria
instituição
 Escalabilidade de recursos de forma
transparente ao sistema e ao usuário final
 Custo mais acessível
Falha em Sistemas críticos

Conseqüências
 Perda de informações:
○ Muitas vezes a própria base de dados vale
mais que o sistema que a opera
 Prejuízos altos:
○ Custo da falha pode ser maior que o valor do
sistema que a opera
 Readequação da confiança
○ problemas de desempenho tendem a serem
pontuais, falhas tendem a estarem
distribuídas
Confiança de software

“capacidade do produto de software de
manter um nível de desempenho
especificado, quando usado em
condições especificadas”
 Disponibilidade
 Confiabilidade
 Segurança
 Proteção
Confiança de software
Confiança de software
Quantificado através das métricas
 ISO/IEC 9126

 26 métricas de confiabilidade
○ Internas (8): produto não executável do softweare,
como código fonte, especificação, entre outros
○ Externas (18): execução e comportamento do
software.
○ Descartando as internas, e externas que não
podem serem medias de forma automática,
restam 7 métricas;
Confiança de software
Métrica
Tempo médio entre falha (MTBF)
Descrição
Fórmula matemática
Taxa de freqüência em que o software falha X = T / A, onde T representa o tempo total
em operação. (falha recuperável)
em operação, A representa o número total de
falhas detectadas
Tempo médio de indisponibilidade
Qual é o tempo médio em que o sistema fica X = T / N,onde T é o tempo total de
indisponível quando uma falha acontece.
indisponibilidade, N é o número de
indisponibilidade
Remoção de defeitos
Quantos defeitos foram sanados
Prevenção de indisponibilidade
Com que freqüência o sistema causa a X = 1 - B / A,onde A é o número de
indisponibilidade completa do ambiente de indisponibilidades e B é o número de falhas
produção
Disponibilidade
Percentagem de tempo em que o sistema se X = To / (To + Tr), onde To é o tempo de
encontra operacional e capaz de oferecer os operação do sistema, Tr é o tempo de reparo
serviços requerido
do sistema
Densidade de defeitos
A quantidade de defeitos detectada durante X = A / B, onde A é o número de defeitos
o período de teste
encontrados, tamanho do sistema
Densidade de defeitos latente estimada
Quantidade de defeitos que existem ou ainda X = |A1 – A2| / B, números de defeitos
podem surgir como falhas futuras
latentes estimados, A2 o número de defeitos
encontrados e B o tamanho do sistema.
X = A1 / A2 , onde A1 é o número de defeitos
corrigidos, A2 é o número de defeitos
encontrados
Confiança de software

Modelos de confiança
 Segundo Lyu possui entre cerca de 200




modelos catalogados;
Avaliar quantitativamente as tecnologias
empregadas;
Oportunamente avaliar a qualidade de um
projeto na sua fase de concepção;
Pode ser utilizado para monitoramento do
desempenho operacional do software;
Controlar as falhas introduzidas durante
alterações no software
Confiança de software

Modelos de confiança
 Baseados em tempo
 Baseados em cobertura
Confiança de software

Modelos de confiança (tempo)
 Jelinski e Moranda
 Modelo Geométrico
 Modelo de Goel-Okumoto
 Modelo de Musa
 Modelos Bayesianos
Confiança de software

Confiabilidade (framework)
Confiança de software

Proteção
 Autenticação
 Criptografia de arquivos (pedaços)
 Troca de mensagens criptografadas
Confiança de software

Disponibilidade
 Quebra de arquivos e distribuição com base
em algoritmo de ranqueamento dos peers
envolvidos;
 Mecanismo de cache para de injeção de
pacotes na rede com maior desempenho;
Considerações finais

Próximos passos:
 Selecionar um processo de
desenvolvimento e adequá-lo ao processo
de confiabilidade levantado
 Estabelecer critérios de escolha para a
ferramenta de análise de confiabilidade
 Estabelecer e implementar a arquitetura
 Elaborar o algoritmo de rankeamento dos
peers.
Considerações finais
O que é Confiabilidade, características,
mensuração e modelos mais utilizados
 Escalabilidade transparente
 Custo mais baixo
 Economia de banda

























[1]
NBR ISO/IEC 9126, Engenharia de software - Qualidade de produto. Modelo de qualidade, 2003.
[2]
A. Tridgell and P. Macherras. The rsync algorithm.Technical report, TR-CS-96-05, Australian National University, Jun
1996.
[3]
Sommerville, lan. Engenharia de Software/lan Sommerville. São Paulo, 2003. P. 299-311.
[4]
CRESPO, Adalberto N., Modelos de Confiabilidade de Softwares baseados em cobertura de critérios estruturais de
tese de doutoramento de teste de software, UNICAMP, Campinas: 1997.
[5]
MUSA, J. D., Ianino , A ., Okumoto, K., Software Reliability-Measurement, Prediction, Application, Mc Graw-Hill, New
York, 1987.
[6]
Emin Martinian. Distributed internet backup system (dibs). http://www.csua.berkeley.edu/_emin/source_code/dibs/.
[7]
Handbook of software reliability engineering / Michael R. Lyu, editor in chief p. cm. Includes index. ISBN 0-07-039400-8
(alk. paper) 1. Computer software— Reliability— Handbooks, manuals, etc. I. Lyu, Michael R. QA76.76.R44H36 1995005.1 —
dc20.
[8]
Emin Martinian. Distributed internet backup system (dibs). http://www.mit.edu/~emin/source_code/dibs/index.html .
[9]
Fernando Meira. Resilia: A safe & secure backup-system. Final year project, Engineerng Faculty of the University of
Porto, May 2005.
[10]
CleverSafe. Cleversafe dispersed storage project. http://www.cleversafe.org/dispersed-storage.
[11]
Landon P. Cox and Brian D. Noble. Samsara: honor among thieves in peer-to-peer storage. In SOSP ’03: Proceedings
of the nineteenth ACM symposium on Operating systems principles, pages 120–132, New York, NY, USA, 2003. ACM Press.
[12]
Landon P. Cox, Christopher D. Murray, and Brian D. Noble. Pastiche: making backup cheap and easy. SIGOPS Oper.
Syst. Rev., 36(SI):285–298, 2002.
[13]
Christopher Batten, Kenneth Barr, Arvind Saraf, and Stanley Trepetin. pStore: A secure peer-to-peer backup system.
Technical Memo MIT-LCSTM-632, Massachusetts Institute of Technology Laboratory for Computer Science, October 2002.
[14]
A. Tridgell and P. Macherras. The rsync algorithm.Technical report, TR-CS-96-05, Australian National University, Jun
1996.
[15]
Jeantao, Pan. Software Reliability. Carnegie Mellon University 18-849b Dependable Embedded Systems Spring 1999.
[16] A. L Goel and K. Okumoto. Time-dependent error-detection rate model for software reliability and other performance
measures. IEEE Transactions on Reliability, 28:206-211, 1979.
[17] P. L. Moranda and Z. Jelinski. Final report on software reliability study. Technical Report MADC Report, No, 63921,
McDonnell Douglas Astronautics Company, 1972.
[18] Ganesh J. Pai. A survey of softwre reliability models. Technical report, Department of DCE, University of Virginia, 2002.
[19] Swapna S. Gokhale and Kishor S. Trivedi. A time/structure based software reliability model. Annals of Softwre
Engineering, 8:85-121, 1999.
[20] Tom Mitchell. Machine Learning. McGraw-Hill, 1997.
[21] Dinesh D. Narkhede. Bayesian model for software reliability. Technical report, Indian Institute of Technology, 2001.
[22] John J. Marciniak. Encyclopedia of Software Engineering, volume 2. John Winsley & Sons, 1994.
[23] P. L. Moranda. Predictions of software reliability during debugging. In Proceedings ofthe Annual Reliability and
Maintainability Symposium, 1975.
Download

Slide 1