SlideShare una empresa de Scribd logo
SISTEMAS DISTRIBUIDOS.
       Sistemas Distribuidos.


       Definiciones

       Desafíos en el diseño de sistemas

       Distribuidos

       Modelos Arquitectónicos
   Definición.
   Definición.
“Se define un sistema distribuido como aquel en el que los
componentes de hardware y software, localizados en
computadores unidos mediante una red, comunican y
coordinan sus acciones sólo mediante el paso de
mensajes”
       Definición.


    Esta definición tiene las siguientes consecuencias:

       Concurrencia

       Inexistencia de un reloj global

       Fallos Independientes
       Desafíos.

       Heterogeneidad.

       Extensibilidad.

       Seguridad.

       Escalabilidad.

       Tolerancia a Fallas.

       Concurrencia.
       Desafíos: Heterogeneidad.

    La heterogeneidad se aplica en los siguientes elementos:

       Redes.

       Hardware de computadores.

       Sistemas operativos.

       Lenguajes de programación.

       Implementaciones de diferentes

       desarrolladores
   Desafíos: Heterogeneidad.
    Middleware: es el estrato de software que provee una
    abstracción de programación, así como un
    enmascaramiento de la heterogeneidad subyacente
    de las redes, hardware, sistemas operativos y
    lenguajes de programación. Eje: Corba, Java RMI
       Desafíos: Heterogeneidad.


    Heterogeneidad y código móvil

       Código Móvil: código que puede enviarse desde un
        computador a otro y ejecutarse en este último.

       El concepto de máquina virtual ofrece un modo de
        crear código ejecutable sobre cualquier hardware
       Desafíos: Extensibilidad.


    Es la característica que determina si el sistema
    puede extenderse de varias maneras.

       Un sistema puede ser abierto o cerrado con
        respecto a extensiones de hardware o de software.

       Para lograr la extensibilidad es imprescindible que
        las interfaces clave sean publicadas.
       Desafíos: Extensibilidad.


       Los Sistemas Distribuidos Abiertos           pueden
        extenderse a nivel de hardware mediante la
        inclusión de computadoras a la red y a nivel de
        software por la introducción de nuevos servicios y la
        re implementación de los Antiguos.

       Otro beneficio de los sistemas abiertos es su
        independencia de proveedores concretos.
     Desafíos: Seguridad.


    La seguridad tiene tres componentes:

     Confidencialidad: protección contra individuos no
      autorizados

     Integridad: protección contra la alteración o
      corrupción

     Disponibilidad: protección contra la interferencia
      que impide el acceso a los recursos
       Desafíos: Seguridad.


    Existen dos desafíos que no han sido resueltos en su
    totalidad:

       Ataques de denegación de servicio.

       Seguridad del código móvil
   Desafíos: Escalabilidad.

Se dice que un sistema es escalable si conserva su
efectividad cuando ocurre un incremento significativo
en el número de recursos y en el número de usuarios.

El diseño de Sistemas Distribuidos escalables presenta
los siguientes retos:

   Control de costo de los recursos físicos: para que
    un sistema con n usuarios sea escalable, la cantidad
    de recursos físicos necesarios para soportarlo.
       Desafíos: Escalabilidad.


       Controlar la degradación del rendimiento:

        Eje: Los algoritmos que emplean estructuras
        jerárquicas se comportan mejor frente al
        crecimiento de la escala, que los algoritmos
        que emplean estructuras lineales.

       Evitar cuellos de botella: los algoritmos deberían
        ser descentralizados
   Desafíos: Tratamiento de Fallos.

       Detección de fallos:

    Ejem. Se pueden utilizar sumas de comprobación
    (checksums) para detectar datos corruptos en un
    mensaje.

       Enmarascamiento de fallos:

    Ejem. Los mensajes pueden retransmitirse
    




    Replicar los datos
    
   Desafíos: Tratamiento de Fallos.
    Tolerancia de fallos: los programas clientes de
    los servicios pueden diseñarse para tolerar ciertos
    fallos.

    Recuperación de fallos: implica el diseño de
    software en el que, tras una caída del servidor, el
    estado de los datos puede reponerse o retractarse
    (rollback) a una situación anterior.

    Redundancia: emplear componentes
    redundantes
   Desafíos: Concurrencia.

Existe la posibilidad de acceso concurrente a
 un mismo recurso.La concurrencia en los servidores
se puede lograr a través de threads.

 Cada objeto que represente un recurso compartido
 debe responzabilizarse de garantizar que opera

 correctamente en un entorno concurrente.




   Para que un objeto sea seguro en un entorno
    concurrente, sus operaciones deben sincronizarse
    de forma que sus datos permanezcan consistentes.
     Desafíos: Transparencia.

    Transparencia de acceso: permite acceder a
    los recursos locales y remotos empleando
    operaciones idénticas.

    Transparencia de ubicación: permite acceder
    a los recursos sin conocer su localización.

    Transparencia de concurrencia: permite que
    varios procesos operen concurrentemente sobre
    recursos compartidos sin interferencia mutua.
   Desafíos: Transparencia.

     Transparencia de replicación: permite replicar los
     recursos sin que los usuarios y los programadores

     necesiten su conocimiento.




     Transparencia frente a fallos: permite ocultar
     fallos.




     Transparencia de movilidad: permite la
     reubicación de recursos y clientes en un sistema sin

     afectar la operación de los usuarios y los programas.
   Desafíos: Transparencia.


    Transparencia de rendimiento: permite
    reconfigurar el sistema para mejorar el desempeño
    según varíe su carga.

     Transparencia al escalado: permite al sistema y a
    las aplicaciones expandirse en tamaño sin cambiar la
    estructura del sistema o los algoritmos de aplicación.
   Modelos Arquitectonicos.

    Modelo Arquitectónico de un Sistemas Distribuidos:

    trata sobre la colocación de sus partes y las relaciones
    entre ellas.

    Ejem: modelo cliente-servidor y el modelo de procesos
    de “igual a igual” (peer-to-peer)

    Diferentes modelos arquitectónicos:

    Capas de Software
    Arquitecturas de Sistema
    Interfaces y Objetos
   Capas de Software.


    El término arquitectura de software se refería
    inicialmente a la estructuración del software como
    capas en un único computador.

    Más recientemente las capas son uno o varios
    procesos, localizados en el mismo o diferentes
    computadores, que ofrecen y solicitan servicios.
   Capas de Software.
   Desafíos: Transparencia.


       Plataforma:

    estas capas más bajas
    proporcionan servicio a las
    superiores y su implementación
    es dependiente de cada
    computador.
     Arquitecturas de Sistema


     Modelo Cliente-Servidor.

     Servicios proporcionados por múltiples.

     Servidores.

     Servidores proxy y caches.

     Procesos peer-to-peer.
   Desafíos: Transparencia.




 El servidor puede o no estar en la misma máquina del
  cliente

 Tanto servidores como clientes pueden ser iterativos
  o concurrentes
 Servicios proporcionados por
  múltiples servidores.




  Los servidores pueden dividir el conjunto de objetos en los
   que está basado el servicio y distribuírselos entre ellos
   mismos.

  Pueden mantener réplicas de los objetos en cada máquina.
      Servidores Proxy y Caches




     Un cache es un almacén de objetos de datos utilizados
      recientemente.

     Los caches pueden estar ubicados en los clientes o en un
      servidor Proxy que se puede compartir desde varios
      clientes.

     El propósito de los servidores proxy es incrementar la
      disponibilidad y las prestaciones del servicio, reduciendo
      la carga en las redes de área Amplia y en los servidores
      WEB.
   Modelos arquitectónicos
                 Todos los procesos desempeñan
                  tareas semejantes,
                  interactuando
                  cooperativamente como iguales
                  para realizar una actividad
                  distribuida o cómputo sin
                  distinción entre clientes y
                  Servidores.

                 Los procesos pares mantienen
                  la consistencia de los recursos
                  y sincroniza las acciones a
                  nivel de aplicación.
     Interfaces y Objetos


     Una interfaz de un proceso es la especificación del
      conjunto de funciones que se pueden invocar sobre él.

     En lenguajes orientados a objetos, los procesos
      distribuidos pueden ser construidos de una forma más
      orientada al objeto. Las referencias a estos objetos se
      pasan a otros procesos para que se pueda acceder a sus
      métodos de forma remota. Esta es la aproximación
      adoptada por CORBA y Java RMI.
 Otros Modelos Arquitectónicos

  Código Móvil

  Agente Móvil: es un programa que se traslada en la
   red, de un computador a otro, realizando una tarea para
   alguien. Eje. Recolecta información.

  Computadores en red: se descarga desde un servidor
   remoto el soap y cualquier software de aplicación
   necesario.
 Otros Modelos Arquitectónicos


Clientes Ligeros:

en el cliente sólo se ejecuta una interfaz basada en ventanas,
mientras que la aplicación si se ejecuta en un servidor remoto,
usualmente muy potente (multiprocesador, clúster, etc.)
 Requisitos para el diseño de
  Arquitecturas Distribuidas

 Rendimiento

  Capacidad de respuesta: para obtener buenos tiempos de
   respuesta los sistemas deben estar compuestos por pocas
   capas de software y la cantidad de datos transferida debe
   ser pequeña (eje. Uso de proxys y caches)

  Productividad: trabajos/unidad de tiempo

  Balance de cargas: applets, varios servidores o
   computadores para alojar un único servicio.
 Requisitos para el diseño de
  Arquitecturas Distribuidas.

 Calidad de Servicio

  Algunas aplicaciones mantienen datos críticos en el
   tiempo, flujos de datos que precisam ser processados o
   transferidos de un proceso a otro a una tasa prefijada.

  QoS es la capacidad de los sistemas para satisfacer
   dichos límites.
 Requisitos para el diseño de
  Arquitecturas Distribuidas
Calidad de Servicio

 El satisfacer tales exigencias depende de la disponibilidad
  de los recursos en los instantes adecuados.


 Cada recurso crítico debe reservarse para las aplicaciones
  que requieren QoS. Los administradores de los recursos
  deben proporcionar la garantía. Las solicitudes de reserva
  que no se puedan cumplir se rechazan.
 Requisitos para el diseño de
  Arquitecturas Distribuidas

Aspectos de Fiabilidad (que el sistema funcione correctamente)

 Correctud.

 Tolerancia de fallos

 Seguridad.

 Confidencialidad.

 Integridad.

 Disponibilidad.
 Requisitos para el diseño de
  Arquitecturas Distribuidas

 Tolerancia a Fallos: las aplicaciones estables deben
 continuar funcionando correctamente en presencia
 de fallos de hw, sw y redes.

  Se logra con redundancia

  Para hacer fiable un protocolo de comunicación
   se emplean otras técnicas.

 Eje. Retransmitir el mensaje.
 Requisitos para el diseño de
  Arquitecturas Distribuidas

 Seguridad: necesidad de ubicar datos y otros recursos
 sensibles sólo en aquellos computadores equipados de
 un modo eficaz contra el ataque.
     Modelos Fundamentales


     Modelo de Interacción: Trata sobre el rendimiento y
      sobre la dificultad de poner límites temporales en un
      sistema distribuido

     Modelo de Fallos: intenta dar una especificación
      precisa de los fallos que se pueden producir en
      procesos y en canales de comunicación.

     Modelo de seguridad: posibles amenazas para los
      procesos y canales de comunicación
     Modelos Fundamentales


     Trata sobre el rendimiento y sobre la dificultad de
      poner límites temporales en un sistema distribuido.

      El cómputo ocurre en procesos. Los procesos
      interactúan a través del paso de mensajes.

      En la comunicación hay retrasos. El modelo estudia
      como afectan estos retrasos la coordinación de los
      procesos.

Más contenido relacionado

PPTX
Sistemas distribuidos 2
PPTX
sistemas distribuidos
PDF
Introduccion al middleware
PPTX
comunicacion de sistemas distribuidos
PPT
Definiciones Sistemas Distribuidos
DOCX
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
PPT
Variacion Cliente Servidor
PPTX
Modelos de sistemas distribuidos
Sistemas distribuidos 2
sistemas distribuidos
Introduccion al middleware
comunicacion de sistemas distribuidos
Definiciones Sistemas Distribuidos
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Variacion Cliente Servidor
Modelos de sistemas distribuidos

La actualidad más candente (19)

PPTX
Arquitectura de sistemas distribuidos-grupo Maria
DOCX
Middleware en los sistemas distribuidos
PDF
Transparencia
PPT
Arquitectura de sistemas distribuidos
PPT
Aplicaciones Distribuidas
PPT
Sistemas de información distribuidos
PPTX
Modelos de sistemas distribuidos
PPTX
Arquitectura de sistemas distribuidos
PPTX
Unidad 1. caracterizacion de los sistemas distribuidos
PPTX
Arquitectura de objetos distribuidos 1
PPTX
Sistemas distribuidos
PPT
07 middleware
PPTX
Patron de Arquitectura Broker
PPTX
Sistemas operativos distribuidos
PPTX
Estilos Arquitectonicos-Capas
PPTX
Arquitectura multicapa
DOCX
Sistemas Distribuidos
PDF
03b arquitectura clienteservidor n capas
Arquitectura de sistemas distribuidos-grupo Maria
Middleware en los sistemas distribuidos
Transparencia
Arquitectura de sistemas distribuidos
Aplicaciones Distribuidas
Sistemas de información distribuidos
Modelos de sistemas distribuidos
Arquitectura de sistemas distribuidos
Unidad 1. caracterizacion de los sistemas distribuidos
Arquitectura de objetos distribuidos 1
Sistemas distribuidos
07 middleware
Patron de Arquitectura Broker
Sistemas operativos distribuidos
Estilos Arquitectonicos-Capas
Arquitectura multicapa
Sistemas Distribuidos
03b arquitectura clienteservidor n capas
Publicidad

Similar a Clase002 (20)

PPTX
Sistemas distibuidos
PPTX
Sistemas distribuidos 2
PPTX
Modelos de sistemas distribuidos
PPTX
Puntos extra (sistemas distribuidos)
PPTX
Modelos de los sistemas distribuidos
PPT
Servidores informaticos, modelo cliente servdor
PPT
Aplicaciones Distribuidas.ppt
PDF
Arquitectura aplicaciones clase3
PPTX
Sistemas distribuidos
PPTX
Sistemas distribuidos
PPTX
Sistemas distribuidos1
PDF
Modelos de sistema
PPTX
Sistemas operativos distribuidos
DOCX
Arquitectura software
PPTX
Arquitectura de sistemas distribuidos-Grupo de Maria
PDF
U1_S1-3.Sistemas distribuidos_y_arquitecturas (1).pdf
PPTX
Sistemas distribuidos
PPT
Introducción a la Programación Distribuida
PPT
Introduccion SD
PDF
Clase rii 10 11 u3 sistemas cliente servidor
Sistemas distibuidos
Sistemas distribuidos 2
Modelos de sistemas distribuidos
Puntos extra (sistemas distribuidos)
Modelos de los sistemas distribuidos
Servidores informaticos, modelo cliente servdor
Aplicaciones Distribuidas.ppt
Arquitectura aplicaciones clase3
Sistemas distribuidos
Sistemas distribuidos
Sistemas distribuidos1
Modelos de sistema
Sistemas operativos distribuidos
Arquitectura software
Arquitectura de sistemas distribuidos-Grupo de Maria
U1_S1-3.Sistemas distribuidos_y_arquitecturas (1).pdf
Sistemas distribuidos
Introducción a la Programación Distribuida
Introduccion SD
Clase rii 10 11 u3 sistemas cliente servidor
Publicidad

Más de Norberto Angulo (15)

PDF
Curso hacking en video nuevos links
PDF
Configurar el cliente de no ip en linux, dns dinamico
PDF
Bash shell programming in linux
PDF
Aircrack windows web
PDF
Enlaces a libros digitales
PPTX
Derecho informatico
DOCX
Taller propiedad intelectual
PDF
Propiedad intelectual
PPT
Propiedad intelectualcbe
PDF
WirelessKeyloggerEs
PDF
keylogger casero
PDF
Wireless keyloggeres
PDF
Keylogger casero
PDF
P padrino todo
PPSX
Todo es posible
Curso hacking en video nuevos links
Configurar el cliente de no ip en linux, dns dinamico
Bash shell programming in linux
Aircrack windows web
Enlaces a libros digitales
Derecho informatico
Taller propiedad intelectual
Propiedad intelectual
Propiedad intelectualcbe
WirelessKeyloggerEs
keylogger casero
Wireless keyloggeres
Keylogger casero
P padrino todo
Todo es posible

Último (20)

PDF
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
DOCX
PLAN DE CASTELLANO 2021 actualizado a la normativa
PDF
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
PPTX
Doctrina 1 Soteriologuia y sus diferente
PDF
IPERC...................................
DOCX
Programa_Sintetico_Fase_4.docx 3° Y 4°..
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
EL aprendizaje adaptativo bajo STEM+H.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
PDF
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
informe tipos de Informatica perfiles profesionales _pdf
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
Ernst Cassirer - Antropologia Filosofica.pdf
PLAN DE CASTELLANO 2021 actualizado a la normativa
Aumente su Autoestima - Lair Ribeiro Ccesa007.pdf
Doctrina 1 Soteriologuia y sus diferente
IPERC...................................
Programa_Sintetico_Fase_4.docx 3° Y 4°..
TOMO II - LITERATURA.pd plusenmas ultras
EL aprendizaje adaptativo bajo STEM+H.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
Tomo 1 de biologia gratis ultra plusenmas
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
Presentación de la Cetoacidosis diabetica.pptx
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
2.0 Introduccion a processing, y como obtenerlo
informe tipos de Informatica perfiles profesionales _pdf
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf

Clase002

  • 2. Sistemas Distribuidos.  Definiciones  Desafíos en el diseño de sistemas  Distribuidos  Modelos Arquitectónicos
  • 3. Definición.
  • 4. Definición. “Se define un sistema distribuido como aquel en el que los componentes de hardware y software, localizados en computadores unidos mediante una red, comunican y coordinan sus acciones sólo mediante el paso de mensajes”
  • 5. Definición. Esta definición tiene las siguientes consecuencias:  Concurrencia  Inexistencia de un reloj global  Fallos Independientes
  • 6. Desafíos.  Heterogeneidad.  Extensibilidad.  Seguridad.  Escalabilidad.  Tolerancia a Fallas.  Concurrencia.
  • 7. Desafíos: Heterogeneidad. La heterogeneidad se aplica en los siguientes elementos:  Redes.  Hardware de computadores.  Sistemas operativos.  Lenguajes de programación.  Implementaciones de diferentes  desarrolladores
  • 8. Desafíos: Heterogeneidad. Middleware: es el estrato de software que provee una abstracción de programación, así como un enmascaramiento de la heterogeneidad subyacente de las redes, hardware, sistemas operativos y lenguajes de programación. Eje: Corba, Java RMI
  • 9. Desafíos: Heterogeneidad. Heterogeneidad y código móvil  Código Móvil: código que puede enviarse desde un computador a otro y ejecutarse en este último.  El concepto de máquina virtual ofrece un modo de crear código ejecutable sobre cualquier hardware
  • 10. Desafíos: Extensibilidad. Es la característica que determina si el sistema puede extenderse de varias maneras.  Un sistema puede ser abierto o cerrado con respecto a extensiones de hardware o de software.  Para lograr la extensibilidad es imprescindible que las interfaces clave sean publicadas.
  • 11. Desafíos: Extensibilidad.  Los Sistemas Distribuidos Abiertos pueden extenderse a nivel de hardware mediante la inclusión de computadoras a la red y a nivel de software por la introducción de nuevos servicios y la re implementación de los Antiguos.  Otro beneficio de los sistemas abiertos es su independencia de proveedores concretos.
  • 12. Desafíos: Seguridad. La seguridad tiene tres componentes:  Confidencialidad: protección contra individuos no autorizados  Integridad: protección contra la alteración o corrupción  Disponibilidad: protección contra la interferencia que impide el acceso a los recursos
  • 13. Desafíos: Seguridad. Existen dos desafíos que no han sido resueltos en su totalidad:  Ataques de denegación de servicio.  Seguridad del código móvil
  • 14. Desafíos: Escalabilidad. Se dice que un sistema es escalable si conserva su efectividad cuando ocurre un incremento significativo en el número de recursos y en el número de usuarios. El diseño de Sistemas Distribuidos escalables presenta los siguientes retos:  Control de costo de los recursos físicos: para que un sistema con n usuarios sea escalable, la cantidad de recursos físicos necesarios para soportarlo.
  • 15. Desafíos: Escalabilidad.  Controlar la degradación del rendimiento: Eje: Los algoritmos que emplean estructuras jerárquicas se comportan mejor frente al crecimiento de la escala, que los algoritmos que emplean estructuras lineales.  Evitar cuellos de botella: los algoritmos deberían ser descentralizados
  • 16. Desafíos: Tratamiento de Fallos.  Detección de fallos: Ejem. Se pueden utilizar sumas de comprobación (checksums) para detectar datos corruptos en un mensaje.  Enmarascamiento de fallos: Ejem. Los mensajes pueden retransmitirse  Replicar los datos 
  • 17. Desafíos: Tratamiento de Fallos. Tolerancia de fallos: los programas clientes de los servicios pueden diseñarse para tolerar ciertos fallos. Recuperación de fallos: implica el diseño de software en el que, tras una caída del servidor, el estado de los datos puede reponerse o retractarse (rollback) a una situación anterior. Redundancia: emplear componentes redundantes
  • 18. Desafíos: Concurrencia. Existe la posibilidad de acceso concurrente a un mismo recurso.La concurrencia en los servidores se puede lograr a través de threads.  Cada objeto que represente un recurso compartido  debe responzabilizarse de garantizar que opera  correctamente en un entorno concurrente.  Para que un objeto sea seguro en un entorno concurrente, sus operaciones deben sincronizarse de forma que sus datos permanezcan consistentes.
  • 19. Desafíos: Transparencia. Transparencia de acceso: permite acceder a los recursos locales y remotos empleando operaciones idénticas. Transparencia de ubicación: permite acceder a los recursos sin conocer su localización. Transparencia de concurrencia: permite que varios procesos operen concurrentemente sobre recursos compartidos sin interferencia mutua.
  • 20. Desafíos: Transparencia.  Transparencia de replicación: permite replicar los  recursos sin que los usuarios y los programadores  necesiten su conocimiento.  Transparencia frente a fallos: permite ocultar  fallos.  Transparencia de movilidad: permite la  reubicación de recursos y clientes en un sistema sin  afectar la operación de los usuarios y los programas.
  • 21. Desafíos: Transparencia. Transparencia de rendimiento: permite reconfigurar el sistema para mejorar el desempeño según varíe su carga.  Transparencia al escalado: permite al sistema y a las aplicaciones expandirse en tamaño sin cambiar la estructura del sistema o los algoritmos de aplicación.
  • 22. Modelos Arquitectonicos. Modelo Arquitectónico de un Sistemas Distribuidos: trata sobre la colocación de sus partes y las relaciones entre ellas. Ejem: modelo cliente-servidor y el modelo de procesos de “igual a igual” (peer-to-peer) Diferentes modelos arquitectónicos: Capas de Software Arquitecturas de Sistema Interfaces y Objetos
  • 23. Capas de Software. El término arquitectura de software se refería inicialmente a la estructuración del software como capas en un único computador. Más recientemente las capas son uno o varios procesos, localizados en el mismo o diferentes computadores, que ofrecen y solicitan servicios.
  • 24. Capas de Software.
  • 25. Desafíos: Transparencia.  Plataforma: estas capas más bajas proporcionan servicio a las superiores y su implementación es dependiente de cada computador.
  • 26. Arquitecturas de Sistema  Modelo Cliente-Servidor.  Servicios proporcionados por múltiples.  Servidores.  Servidores proxy y caches.  Procesos peer-to-peer.
  • 27. Desafíos: Transparencia.  El servidor puede o no estar en la misma máquina del cliente  Tanto servidores como clientes pueden ser iterativos o concurrentes
  • 28.  Servicios proporcionados por múltiples servidores.  Los servidores pueden dividir el conjunto de objetos en los que está basado el servicio y distribuírselos entre ellos mismos.  Pueden mantener réplicas de los objetos en cada máquina.
  • 29. Servidores Proxy y Caches  Un cache es un almacén de objetos de datos utilizados recientemente.  Los caches pueden estar ubicados en los clientes o en un servidor Proxy que se puede compartir desde varios clientes.  El propósito de los servidores proxy es incrementar la disponibilidad y las prestaciones del servicio, reduciendo la carga en las redes de área Amplia y en los servidores WEB.
  • 30. Modelos arquitectónicos  Todos los procesos desempeñan tareas semejantes, interactuando cooperativamente como iguales para realizar una actividad distribuida o cómputo sin distinción entre clientes y Servidores.  Los procesos pares mantienen la consistencia de los recursos y sincroniza las acciones a nivel de aplicación.
  • 31. Interfaces y Objetos  Una interfaz de un proceso es la especificación del conjunto de funciones que se pueden invocar sobre él.  En lenguajes orientados a objetos, los procesos distribuidos pueden ser construidos de una forma más orientada al objeto. Las referencias a estos objetos se pasan a otros procesos para que se pueda acceder a sus métodos de forma remota. Esta es la aproximación adoptada por CORBA y Java RMI.
  • 32.  Otros Modelos Arquitectónicos  Código Móvil  Agente Móvil: es un programa que se traslada en la red, de un computador a otro, realizando una tarea para alguien. Eje. Recolecta información.  Computadores en red: se descarga desde un servidor remoto el soap y cualquier software de aplicación necesario.
  • 33.  Otros Modelos Arquitectónicos Clientes Ligeros: en el cliente sólo se ejecuta una interfaz basada en ventanas, mientras que la aplicación si se ejecuta en un servidor remoto, usualmente muy potente (multiprocesador, clúster, etc.)
  • 34.  Requisitos para el diseño de Arquitecturas Distribuidas Rendimiento  Capacidad de respuesta: para obtener buenos tiempos de respuesta los sistemas deben estar compuestos por pocas capas de software y la cantidad de datos transferida debe ser pequeña (eje. Uso de proxys y caches)  Productividad: trabajos/unidad de tiempo  Balance de cargas: applets, varios servidores o computadores para alojar un único servicio.
  • 35.  Requisitos para el diseño de Arquitecturas Distribuidas. Calidad de Servicio  Algunas aplicaciones mantienen datos críticos en el tiempo, flujos de datos que precisam ser processados o transferidos de un proceso a otro a una tasa prefijada.  QoS es la capacidad de los sistemas para satisfacer dichos límites.
  • 36.  Requisitos para el diseño de Arquitecturas Distribuidas Calidad de Servicio  El satisfacer tales exigencias depende de la disponibilidad de los recursos en los instantes adecuados.  Cada recurso crítico debe reservarse para las aplicaciones que requieren QoS. Los administradores de los recursos deben proporcionar la garantía. Las solicitudes de reserva que no se puedan cumplir se rechazan.
  • 37.  Requisitos para el diseño de Arquitecturas Distribuidas Aspectos de Fiabilidad (que el sistema funcione correctamente)  Correctud.  Tolerancia de fallos  Seguridad.  Confidencialidad.  Integridad.  Disponibilidad.
  • 38.  Requisitos para el diseño de Arquitecturas Distribuidas Tolerancia a Fallos: las aplicaciones estables deben continuar funcionando correctamente en presencia de fallos de hw, sw y redes.  Se logra con redundancia  Para hacer fiable un protocolo de comunicación se emplean otras técnicas. Eje. Retransmitir el mensaje.
  • 39.  Requisitos para el diseño de Arquitecturas Distribuidas Seguridad: necesidad de ubicar datos y otros recursos sensibles sólo en aquellos computadores equipados de un modo eficaz contra el ataque.
  • 40. Modelos Fundamentales  Modelo de Interacción: Trata sobre el rendimiento y sobre la dificultad de poner límites temporales en un sistema distribuido  Modelo de Fallos: intenta dar una especificación precisa de los fallos que se pueden producir en procesos y en canales de comunicación.  Modelo de seguridad: posibles amenazas para los procesos y canales de comunicación
  • 41. Modelos Fundamentales  Trata sobre el rendimiento y sobre la dificultad de poner límites temporales en un sistema distribuido. El cómputo ocurre en procesos. Los procesos interactúan a través del paso de mensajes. En la comunicación hay retrasos. El modelo estudia como afectan estos retrasos la coordinación de los procesos.