Mostrando las entradas con la etiqueta P2P. Mostrar todas las entradas
Mostrando las entradas con la etiqueta P2P. Mostrar todas las entradas

noviembre 06, 2023

Modelos Físicos


Los modelos físicos son la forma más explícita de describir un sistema; ellos capturar la composición de hardware de un sistema en términos de las computadoras, dispositivos, y sus redes de interconexión. Bajo esta óptica se puede identificar útilmente tres generaciones de distribuido sistemas [1].

Sistemas distribuidos tempranos.

Los Sistemas distribuidos tempranos son sistemas individuales, en gran medida homogéneos y donde la apertura no era la característica relevante. Las metas de diseño se enfocaban en la calidad del servicio [1]

Surgieron entre 1970 y principios de 1980 en respuesta a la aparición de la tecnología de redes de área local, generalmente Ethernet. Estos sistemas constaban de entre 10 y 100 nodos interconectado por una red de área local, con conectividad a internet limitada y compatible una pequeña gama de servicios, como impresoras locales compartidas y servidores de archivos, correo electrónico y transferencia de archivos a través de Internet.

Ejemplo de este tipo de sistema es la arquitectura cliente-servidor que tenía una red LAN y un solo cliente conectado a un servidor. El cliente solicita algún requerimiento al servidor, que era atendido y luego se enviaba la respuesta a cliente. En la figura 1 se ilustra esta arquitectura

1. Arquitectura Cliente Servidor en red LAN

Sistemas distribuidos a escala de internet.

Los sistemas distribuidos a escala de internet son sistemas heterogéneos en términos de redes, arquitectura de computadoras, sistemas operativos, idiomas empleados y equipos de desarrollo involucrados.

Los nodos pueden ser nodos estáticos, nodos discretos y nodos autónomos. Comenzaron a surgir en 1990 en respuesta al crecimiento de Internet. En estos sistemas la infraestructura física subyacente consiste en un modelo físico como un conjunto extensible de nodos interconectados por una red de redes (Internet). Incorporan grandes cantidades de nodos y proporcionar servicios de sistema distribuido para organizaciones globales y en toda la organización.

Ejemplos de modelos físicos de esta época están en: 

  • Arquitectura cliente-servidor. Puede presentar varios clientes conectados a un servidor, como el de la figura 2 varios clientes y servidores conectados a internet y conversando entre ellos.
Figure 2: Arquitectura Cliente Servidor


  • Arquitectura P2P. Constituido por un grupo de máquinas o nodos conectados entre sí, ver figura 3. Cada nodo cumple las mismas funciones y tiene las mismas responsabilidades que el resto de los nodos. Algunas aplicaciones con esta arquitectura: Ares, bitcoin, eDonkey.
Figure 3: Arquitectura Punto a Punto


Sistemas distribuidos contemporáneos Las tendencias claves, interoperabilidad y sistemas abiertos, han dado como resultado importantes desarrollos como:

  • Informática móvil. Donde los nodos, tales como las computadoras portátiles o los teléfonos inteligentes, pueden moverse de una ubicación a otra en un  sistema, lo que lleva a la necesidad de capacidades adicionales como el descubrimiento de servicios y apoyo a la interoperación espontánea. 
  • Computación ubicua. La computación ubicua ha llevado a pasar de nodos discretos a arquitecturas donde las computadoras están incrustadas en objetos cotidianos.  
  • Computación en la Nube. En computación en la nube. y, en particular, las arquitecturas de clúster ha llevado a un movimiento que va desde nodos autónomos que realizan un rol determinado a grupos de nodos que juntos brindan un servicio específico. Algunas empresas que prestan este servicio: Google y Amazon.

Sistemas de Sistemas Distribuidos. 

Los Sistemas de Sistemas Distribuidos son sistemas distribuidos complejos y a gran escala
(arquitecturas físicas y redes de redes). Un sistema de sistemas se puede definir
como un sistema complejo que consiste en una serie de subsistemas que son sistemas
por derecho propio y que se unen para realizar una tarea o tareas particulares.

Ejemplos son los sistemas que usan bases de datos distribuidas en tiempo real, como en
[2] donde se relaciona las publicaciones que hacen las personas en Twitter (tweets)
relacionadas con un terremoto, lo que permite detectar rápidamente la ocurrencia de
un terremoto y proponen un algoritmo para monitorear tweets y detectar un evento
objetivo.

Y en [3] presentan un sistema basado en redes de sensores ambientales predictivos
donde se presenta una aplicación para predecir de inundaciones de ríos.


Bibliografia

    1.  George Coulouris et al. Distributed Systems: Concepts and Design. 5th. USA: Addison-Wesley Publishing Company, 2011. ISBN: 0132143011. 
    2. Takeshi Sakaki, Makoto Okazaki, and Yutaka Matsuo. “Earthquake shakes Twitter users: real-time event detection by social sensors”. 2010. 
    3. Elizabeth A. Basha, Sai Ravela, and Daniela Rus. “Model-Based Monitoring for EarlyWarning Flood Detection”. In: SenSys ’08 (2008). https://doi.org/10.1145/1460412.1460442, pages 295–308. DOI: 10.1145/1460412.1460442

    julio 18, 2022

    Sistemas Punto a Punto

     P2P

    Los sistemas punto a punto (P2P) representan un paradigma para la construcción de aplicaciones y sistemas distribuidos en los que cada máquina (hosts) en Internet aportan datos y recursos computacionales;  permiten compartir estos datos y recursos a gran escala al eliminar cualquier requisito de servidores administrados por separado y su infraestructura asociada. Estos sistemas se utilizan para compartir archivos, almacenamiento en caché web, distribución de información y otros servicios, explotando los recursos de decenas de miles de máquinas en Internet.

    Características de los Sistemas P2P

    • El diseño de los sistemas P2P asegura que cada usuario aporte recursos al sistema. 
    • Aunque los usuarios pueden diferir en los recursos que aportan, todos los nodos en un sistema P2P tienen la misma capacidad funcional y la misma responsabilidad. 
    • El correcto funcionamiento de un sistema P2P no depende de la existencia de ningún sistema administrado centralmente. 
    • Una cuestión clave para el funcionamiento eficiente de un sistema P2P es la elección del algoritmo para la ubicación de datos en los hosts y  su  posterior acceso  de manera que equilibre la carga de trabajo y garantice la disponibilidad sin agregar gastos generales indebidos.

    Ubicación y enrutamiento de un Objeto Distribuido.

    Un sistema P2P  de distribución de contenido esta conformado por una red de computadoras pares (nodos) y conexiones (enlaces) entre ellos. Esta red se forma encima de redes independiente de la red informática física subyacente (normalmente IP) y, por lo tanto, se denomina red superpuesta o una red de redes
    Una red superpuesta ofrece: 
    • un servicio que se adapta a las necesidades de una clase de aplicación o un servicio particular de nivel superior, por ejemplo, distribución de contenido multimedia;
    • operación más eficiente en un entorno de red determinado, por ejemplo, enrutamiento en una red ad hoc; 
    • una función adicional, por ejemplo, multidifusión o comunicación segura.

     Las redes superpuestas tienen las siguientes ventajas:

    • Permiten definir nuevos servicios de red sin requerir cambios en la red subyacente.
    • Fomentan la experimentación con servicios de red y la personalización de servicios para clases particulares de aplicaciones. 
    • Se pueden definir múltiples superposiciones y pueden coexistir, siendo el resultado final una arquitectura de red más abierta y extensible.

    Clasificación de Redes Superpuesta

    Las redes superpuesta son centralizadas, desestructurada y estructuradas. Estas son sus características.
     
    1. Red Superpuesta Centralizada. 
    Se clasifican en:

      Arquitecturas puramente descentralizada.

        • Todos los nodos de la red realizan las mismas tareas, actuando como servidores y clientes, indistintivamente. 
        • No existe una coordinación central de sus actividades 

     Arquitecturas descentralizadas híbrida.

        • Algunos de los nodos son supernodos y actúan como índices centrales locales
        • Los supernodos se asignan dinámicamente (varía entre los diferentes sistemas) y, si fallan, se reemplazan automáticamente por otros.

    Arquitecturas centralizadas
        • Un servidor central que facilita la interacción entre pares
        • El servidor mantiene directorios de metadatos que describen los archivos compartidos almacenados por los nodos pares
        • El servidor realiza las búsquedas e identifica los nodos que almacenan los archivos.
    2. Red Superpuesta No Estructurada. 

     La ubicación del contenido (archivos) no tiene ninguna relación con la topología de la red superpuesta. En una red no estructurada,  es necesario localizar el contenido, ya que:

      • Ubicación del recurso  solo lo  conoce el remitente 
      • Los compañeros y los recursos no tienen un identificador especial   
      • Cada par es responsable solo de los recursos que envió 
      • Introducción de nuevos recursos en cualquier lugar

    La tarea principal es a) encontrar todos los nodos almacenando que están a cargo de los recursos que se ajustan a algunos criterios, y b) comunicarse directamente entre pares después de haber identificado a esos pares.

            Ejemplo de este tipo de redes es Napster y Gnutella 

    3. Red superpuesta estructurada

    La topología de superposición está estrictamente controlada y los archivos (o sus punteros) se colocan en ubicaciones especificadas con precisión. Básicamente, estos sistemas proporcionan una correspondencia entre el contenido (p. ej., el identificador del archivo) y la ubicación (p. ej., la dirección del nodo), en forma de una tabla de enrutamiento distribuida.

    Las cualidades de estas redes:

    • La ubicación de los recursos no solo la conoce el remitente

    • Cada par bien puede ser responsable de  recursos que no ha enviado
    • Agregar nuevos recursos en una ubicación específica (incluye identificadores (únicos) de pares y recursos)
    • PeerIDs y ObjectIDs (RessourceIDs) deben ser el mismo tipo de claves
    • Cada par es responsable de un rango específico de ObjectID (RessourceID)

    La tarea principal es enrutar las consultas a través de la red superpuesta a pares con identificaciones específicas. Pastry es un ejemplo de este tipo de Redes

    Referencias

    1. Coulouris, George F. Distributed Systems: Concepts and Design. Boston: Addison-Wesley, 2012.
    2. Tanenbaum, Andrew S., and Maarten van Steen. Distributed Systems: Principles and Paradigms. Upper Saddle River, NJ: Pearson Prentice Hall, 2007.