Ir al contenido

Documat


Resumen de Diseño de Algoritmos distribuidos en Java

José Luis Pastrana Brincones

  • El diseño de algoritmos es una parte fundamental en las tecnologías de información, como se ha visto reflejado por el gran número de libros y artículos relacionados con el tema. La gran mayoría de los mismos, tratan los algoritmos en el contexto de una programación secuencial, donde el flujo de control va siempre en una misma dirección y en cada paso del algoritmo se realiza una única acción. El gran auge del concepto de redes de comunicación, junto con los avances en la metodología de programación han conseguido que el concepto de comunicación y de diseño de algoritmos distribuidos surjan como un nuevo aspecto en las técnicas de desarrollo del software.

    Los algoritmos distribuidos, clásicamente, han sido desarrollados mediante el uso de sistemas imperativos a los que se les ha añadido determinadas primitivas de comunicación, pero si nos fijamos en la filosofía de los lenguajes orientados a objetos, podemos ver la similitud existente entre procesos y objetos, comunicación y métodos, y aún más, incluso podríamos ver nuestra red de comunicaciones como un objeto más en nuestro sistema. En este trabajo, consideramos dos clases de algoritmos distribuidos: la primera en la que trataremos los algoritmos basados en una arquitectura Cliente/Servidor y para la que usaremos una técnica de invocación de métodos remotos. Y una segunda, más genérica, en la que consideraremos un sistema distribuido como un conjunto de objetos o procesos conectados a través de una red y que cooperan para la obtención de un objeto común. Para la resolución de este tipo de problemas, consideraremos la red como un objeto más del sistema que tiene métodos para el envío y recepción de mensajes a través de la misma.

    A lo largo del trabajo, se describirán ambas técnicas y se implementarán varios algoritmos como ejemplo para su mejor comprensión. Como lenguaje de soporte hemos usado Java debido al gran auge que está teniendo en nuestros días, así por adaptarse a los requerimientos de orientación a objetos e incluir un paquete para la invocación de métodos remotos, y la clase jPVM (David A. Thurman) que embebe PVM en Java y que nos ha servido para modelar la red como un objeto del sistema.


Fundación Dialnet

Mi Documat