A Implementação de uma Arquitetura de Suporte à Alta Disponibilidade de Objetos
Resumo
Este artigo apresenta a implementação de uma arquitetura que objetiva é a provisão de alta disponibilidade aos objetos distribuídos com transparência e flexibilidade. Esta arquitetura utiliza os conceitos de reflexão computacional e sua implementação foi realizada usando um protocolo de meta-objetos. A arquitetura utiliza meta-objetos tanto para impor aos objetos o grau de disponibilidade desejado quanto para o próprio acesso a estes objetos. A localização do objeto ficou totalmente transparente, fazendo com que o acesso parecesse local. Também apresentamos resultados experimentais, mostrando o overhead de chamadas de métodos quando incorporando disponibilidade.
Referências
T. Becker. Application-transparent fault tolerance in distributed systems. In Proceedings of the 2nd International Workshop on Configurable Distributed Computing, pages 36-45, Pittsburg, março 1994.
G. Bernard and D. Conan. Making distributed applications fault-tolerant in networks of unix workstations. In Proceedings of the l2U Convention'93, Milano, Italy, maio 1993.
S. Chiba. Open c++ programmer's guide. Relatório técnico 93-3, Department of Information Science, University of Tokio, 1993.
J-C. Fabre, V. Nicomette, T. Pérennou, R. Stroud, and Z. Wu. lmplementing fault-tolerant applications using reflective object-oriented programming. In Proceedings of the 25th IEEE Intemational Symposium on Fault-Tolerant Computing, pages 489-498, Pasadena, CA, junho 1995. IEEE.
M. L. Lisbôa. Reflexão computacional. Minicurso, II Simpósio Brasileiro de Linguagens de Programação, setembro 1997.
P. Maes. Concepts and experiments in computational reflection. In Proceedings of the Object-Oriented Programming, Languages and Applications, pages 147-155. ACM, outubro 1987.
F. Schneider. lmplementing fault tolerant services using the state machine approach: A tutorial. ACM Computing Surveys, 22(4):299-319, dezembro 1990.
W. R. Stevens. Uniz Network Programming. Prentice-Hall, 1990.
R. Stroud and Z. Wu. Using metaobject protocols to separate functional and non-functional concerns: An example. Relatório técnico DeVa 14, Department of Computer Science, University of Newcastle upon Tyne, 1996.