Injeção Distribuída de Falhas de Comunicação com Suporte à Controle e Coordenação de Experimentos
Resumo
Injeção de falhas consiste na inserção artificial de falhas em sistemas sob teste para avaliar seu comportamento diante de situações anormais. Contudo, poucos esforços voltam-se para sistemas distribuídos. Desta forma, a reprodução de cenários de falhas comuns em tais sistemas, como particionamentos de rede, permanece em aberto. Logo, este trabalho apresenta mecanismos para descrições mais expressivas de cenários de falhas distribuídas em diversos pontos da rede com um alto nível de abstração. Unido a este é apresentado um coordenador global de experimentos para um controle centralizado das estações-alvo, bem como para realização de testes coordenados em pontos críticos do sistema.Referências
Birman, K. P. (1997). Building secure and reliable network applications. Manning Publications Co., Greenwich, CT, USA.
Buchacker, K. and Sieh, V. (2001). Framework for testing the fault-tolerance of systems including os and network aspects. High-Assurance Systems Engineering, IEEE International Symposium, page 95.
Carson, M. and Santay, D. (2003). Nist net: a linux-based network emulation tool. SIGCOMM Comput. Commun. Rev., 33(3):111–126.
Chandra, R., Lefever, R., Joshi, K., Cukier, M., and Sanders, W. (2004). A global-state-triggered fault injector for distributed system evaluation. IEEE Trans. Parallel Distrib. Syst., 15(7):593–605.
Clark, J. A. and Pradhan, D. K. (1995). Fault injection: A method for validating computersystem dependability. IEEE Computer, 28(6):47–56.
Dawson, S. and Jahanian, F. (1995). Probing and fault injection of protocol implementations. In ICDCS ’95: Proceedings of the 15th International Conference on Distributed Computing Systems, page 351, Washington, DC, USA. IEEE Computer Society.
Dawson, S., Jahanian, F., and Mitton, T. (1996). Orchestra: A fault injection environment for distributed systems. Technical report, In 26th International Symposium on Fault-Tolerant Computing (FTCS).
Dawson, S., Jahanian, F., and Mitton, T. (1997). Experiments on six commercial tcp implementations using a software fault injection tool. Softw. Pract. Exper., 27(12):1385–1410.
De, P., Neogi, A., and Chiueh, T.-c. (2003). Virtualwire: A fault injection and analysis tool for network protocols. In ICDCS ’03: Proceedings of the 23rd International Conference on Distributed Computing Systems, page 214, Washington, DC, USA. IEEE Computer Society.
Drebes, R. J. (2005). Firmament: Um módulo de injeção de falhas de comunicação para linux. Master’s thesis, Instituto de Informática, UFRGS, Porto Alegre.
Galla, T. M., Hummel, K. A., and Pallierer, R. (2004). Software implemented fault injection for safety-critical distributed systems by means of mobile agents. In HICSS ’04: Proceedings of the 37th Annual Hawaii International Conference on System Sciences, page 90302.1, Washington, DC, USA. IEEE Computer Society.
GERCHMAN, J. and WEBER, T. S. (2006). Emulando o comportamento de tcp/ip em um ambiente com falhas para teste de aplicações de rede. In Anais do VII Workshop de Testes e Tolerância a Falhas, Curitiba, BR.
Hoarau, W. and Tixeuil, S. (2005). A language-driven tool for fault injection in distributed systems. In GRID ’05: Proceedings of the 6th IEEE/ACM International Workshop on Grid Computing, pages 194–201, Washington, DC, USA. IEEE Computer Society.
Hsueh, M., Tsai, T. K., and Iyer, R. K. (1997). Fault Injection Techniques and Tools. Computer, 30(4):75–82.
Jacques-Silva, G., Drebes, R. J., Gerchman, J., Trindade, J. M. F., Weber, T. S., and Jansch-Porto, I. (2006). A network-level distributed fault injector for experimental validation of dependable distributed systems. In COMPSAC ’06: Proceedings of the 30th Annual International Computer Software and Applications Conference (COMPSAC’06), pages 421–428, Washington, DC, USA. IEEE Computer Society.
Jacques-Silva, G., Drebes, R. J., Gerchman, J., and Weber, T. S. (2004). Fiona: A fault injector for dependability evaluation of java-based network applications. In NCA ’04: Proceedings of the Network Computing and Applications, Third IEEE International Symposium, pages 303–308, Washington, DC, USA. IEEE Computer Society.
Looker, N., Munro, M., and Xu, J. (2005). A comparison of network level fault injection with code insertion. In COMPSAC ’05: Proceedings of the 29th Annual International Computer Software and Applications Conference (COMPSAC’05) Volume 1, pages 479–484, Washington, DC, USA. IEEE Computer Society.
Martins, E., Morais, A., and Cavalli, A. (2008). Generating attack scenarios for the validation of security protocol implementations. In 2nd. Brazilian Workshop on Systematic and Automated Software Testing (SAST), pages 21–33, Campinas, Brazil. SBC.
Martins, E., Rubira, C. M. F., and Leme, N. G. M. (2002). Jaca: A reflective fault injection tool based on patterns. In DSN ’02: Proceedings of the 2002 International Conference on Dependable Systems and Networks, pages 483–482, Washington, DC, USA. IEEE Computer Society.
Murayama, Y. and Yamaguchi, S. (1997). Dbs: a powerful tool for tcp performance evaluations. In In SPIE Proceedings of Performance and Control of Network Systems.
Neves, N. and Fuchs, W. K. (1997). Fault detection using hints from the socket layer. In SRDS ’97: Proceedings of the 16th Symposium on Reliable Distributed Systems (SRDS ’97), page 64, Washington, DC, USA. IEEE Computer Society.
Rizzo, L. (1997). Dummynet: a simple approach to the evaluation of network protocols. SIGCOMM Comput. Commun. Rev., 27(1):31–41.
Russel, R. and Welte, H. (2002). Linux netfilter hacking howto.
Stott, D. T., Floering, B., Kalbarczyk, Z., and Iyer, R. K. (2000). Nftape: A framework for assessing dependability in distributed systems with lightweight fault injectors. In IPDS’00: Proceedings of the 4th International Computer Performance and Dependability Symposium, page 91, Washington, DC, USA. IEEE Computer Society.
Vacaro, J. C. and Weber, T. S. (2006). Injeção de falhas na fase de teste de aplicações distribuídas. In XX Simpósio Brasileiro de Engenharia de Software, volume 1, pages 161–176, Florianópolis, BR. SBC.
Veríssimo, P. and Rodrigues, L. (2001). Distributed Systems for System Architects. Springer, Boston, USA, 1 edition.
Buchacker, K. and Sieh, V. (2001). Framework for testing the fault-tolerance of systems including os and network aspects. High-Assurance Systems Engineering, IEEE International Symposium, page 95.
Carson, M. and Santay, D. (2003). Nist net: a linux-based network emulation tool. SIGCOMM Comput. Commun. Rev., 33(3):111–126.
Chandra, R., Lefever, R., Joshi, K., Cukier, M., and Sanders, W. (2004). A global-state-triggered fault injector for distributed system evaluation. IEEE Trans. Parallel Distrib. Syst., 15(7):593–605.
Clark, J. A. and Pradhan, D. K. (1995). Fault injection: A method for validating computersystem dependability. IEEE Computer, 28(6):47–56.
Dawson, S. and Jahanian, F. (1995). Probing and fault injection of protocol implementations. In ICDCS ’95: Proceedings of the 15th International Conference on Distributed Computing Systems, page 351, Washington, DC, USA. IEEE Computer Society.
Dawson, S., Jahanian, F., and Mitton, T. (1996). Orchestra: A fault injection environment for distributed systems. Technical report, In 26th International Symposium on Fault-Tolerant Computing (FTCS).
Dawson, S., Jahanian, F., and Mitton, T. (1997). Experiments on six commercial tcp implementations using a software fault injection tool. Softw. Pract. Exper., 27(12):1385–1410.
De, P., Neogi, A., and Chiueh, T.-c. (2003). Virtualwire: A fault injection and analysis tool for network protocols. In ICDCS ’03: Proceedings of the 23rd International Conference on Distributed Computing Systems, page 214, Washington, DC, USA. IEEE Computer Society.
Drebes, R. J. (2005). Firmament: Um módulo de injeção de falhas de comunicação para linux. Master’s thesis, Instituto de Informática, UFRGS, Porto Alegre.
Galla, T. M., Hummel, K. A., and Pallierer, R. (2004). Software implemented fault injection for safety-critical distributed systems by means of mobile agents. In HICSS ’04: Proceedings of the 37th Annual Hawaii International Conference on System Sciences, page 90302.1, Washington, DC, USA. IEEE Computer Society.
GERCHMAN, J. and WEBER, T. S. (2006). Emulando o comportamento de tcp/ip em um ambiente com falhas para teste de aplicações de rede. In Anais do VII Workshop de Testes e Tolerância a Falhas, Curitiba, BR.
Hoarau, W. and Tixeuil, S. (2005). A language-driven tool for fault injection in distributed systems. In GRID ’05: Proceedings of the 6th IEEE/ACM International Workshop on Grid Computing, pages 194–201, Washington, DC, USA. IEEE Computer Society.
Hsueh, M., Tsai, T. K., and Iyer, R. K. (1997). Fault Injection Techniques and Tools. Computer, 30(4):75–82.
Jacques-Silva, G., Drebes, R. J., Gerchman, J., Trindade, J. M. F., Weber, T. S., and Jansch-Porto, I. (2006). A network-level distributed fault injector for experimental validation of dependable distributed systems. In COMPSAC ’06: Proceedings of the 30th Annual International Computer Software and Applications Conference (COMPSAC’06), pages 421–428, Washington, DC, USA. IEEE Computer Society.
Jacques-Silva, G., Drebes, R. J., Gerchman, J., and Weber, T. S. (2004). Fiona: A fault injector for dependability evaluation of java-based network applications. In NCA ’04: Proceedings of the Network Computing and Applications, Third IEEE International Symposium, pages 303–308, Washington, DC, USA. IEEE Computer Society.
Looker, N., Munro, M., and Xu, J. (2005). A comparison of network level fault injection with code insertion. In COMPSAC ’05: Proceedings of the 29th Annual International Computer Software and Applications Conference (COMPSAC’05) Volume 1, pages 479–484, Washington, DC, USA. IEEE Computer Society.
Martins, E., Morais, A., and Cavalli, A. (2008). Generating attack scenarios for the validation of security protocol implementations. In 2nd. Brazilian Workshop on Systematic and Automated Software Testing (SAST), pages 21–33, Campinas, Brazil. SBC.
Martins, E., Rubira, C. M. F., and Leme, N. G. M. (2002). Jaca: A reflective fault injection tool based on patterns. In DSN ’02: Proceedings of the 2002 International Conference on Dependable Systems and Networks, pages 483–482, Washington, DC, USA. IEEE Computer Society.
Murayama, Y. and Yamaguchi, S. (1997). Dbs: a powerful tool for tcp performance evaluations. In In SPIE Proceedings of Performance and Control of Network Systems.
Neves, N. and Fuchs, W. K. (1997). Fault detection using hints from the socket layer. In SRDS ’97: Proceedings of the 16th Symposium on Reliable Distributed Systems (SRDS ’97), page 64, Washington, DC, USA. IEEE Computer Society.
Rizzo, L. (1997). Dummynet: a simple approach to the evaluation of network protocols. SIGCOMM Comput. Commun. Rev., 27(1):31–41.
Russel, R. and Welte, H. (2002). Linux netfilter hacking howto.
Stott, D. T., Floering, B., Kalbarczyk, Z., and Iyer, R. K. (2000). Nftape: A framework for assessing dependability in distributed systems with lightweight fault injectors. In IPDS’00: Proceedings of the 4th International Computer Performance and Dependability Symposium, page 91, Washington, DC, USA. IEEE Computer Society.
Vacaro, J. C. and Weber, T. S. (2006). Injeção de falhas na fase de teste de aplicações distribuídas. In XX Simpósio Brasileiro de Engenharia de Software, volume 1, pages 161–176, Florianópolis, BR. SBC.
Veríssimo, P. and Rodrigues, L. (2001). Distributed Systems for System Architects. Springer, Boston, USA, 1 edition.
Publicado
31/08/2009
Como Citar
OLIVEIRA, Gustavo M.; CECHIN, Sérgio L.; WEBER, Taisy S..
Injeção Distribuída de Falhas de Comunicação com Suporte à Controle e Coordenação de Experimentos. In: WORKSHOP DE TESTES E TOLERÂNCIA A FALHAS (WTF), 10. , 2009, João Pessoa/PB.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2009
.
p. 101-114.
ISSN 2595-2684.
DOI: https://doi.org/10.5753/wtf.2009.23137.