SISTEMAS DISTRIBUIDOS.
       Sistemas Distribuidos.       Definiciones       Desafíos en el diseño de sistemas       Distribuidos       Mod...
   Definición.
   Definición.“Se define un sistema distribuido como aquel en el que loscomponentes de hardware y software, localizados e...
       Definición.    Esta definición tiene las siguientes consecuencias:       Concurrencia       Inexistencia de un r...
       Desafíos.       Heterogeneidad.       Extensibilidad.       Seguridad.       Escalabilidad.       Tolerancia ...
       Desafíos: Heterogeneidad.    La heterogeneidad se aplica en los siguientes elementos:       Redes.       Hardwar...
   Desafíos: Heterogeneidad.    Middleware: es el estrato de software que provee una    abstracción de programación, así ...
       Desafíos: Heterogeneidad.    Heterogeneidad y código móvil       Código Móvil: código que puede enviarse desde un...
       Desafíos: Extensibilidad.    Es la característica que determina si el sistema    puede extenderse de varias manera...
       Desafíos: Extensibilidad.       Los Sistemas Distribuidos Abiertos           pueden        extenderse a nivel de ...
     Desafíos: Seguridad.    La seguridad tiene tres componentes:     Confidencialidad: protección contra individuos no ...
       Desafíos: Seguridad.    Existen dos desafíos que no han sido resueltos en su    totalidad:       Ataques de deneg...
   Desafíos: Escalabilidad.Se dice que un sistema es escalable si conserva suefectividad cuando ocurre un incremento sign...
       Desafíos: Escalabilidad.       Controlar la degradación del rendimiento:        Eje: Los algoritmos que emplean e...
   Desafíos: Tratamiento de Fallos.       Detección de fallos:    Ejem. Se pueden utilizar sumas de comprobación    (che...
   Desafíos: Tratamiento de Fallos.    Tolerancia de fallos: los programas clientes de    los servicios pueden diseñarse ...
   Desafíos: Concurrencia.Existe la posibilidad de acceso concurrente a un mismo recurso.La concurrencia en los servidor...
     Desafíos: Transparencia.    Transparencia de acceso: permite acceder a    los recursos locales y remotos empleando  ...
   Desafíos: Transparencia.     Transparencia de replicación: permite replicar los     recursos sin que los usuarios y ...
   Desafíos: Transparencia.    Transparencia de rendimiento: permite    reconfigurar el sistema para mejorar el desempeñ...
   Modelos Arquitectonicos.    Modelo Arquitectónico de un Sistemas Distribuidos:    trata sobre la colocación de sus par...
   Capas de Software.    El término arquitectura de software se refería    inicialmente a la estructuración del software ...
   Capas de Software.
   Desafíos: Transparencia.       Plataforma:    estas capas más bajas    proporcionan servicio a las    superiores y ...
     Arquitecturas de Sistema     Modelo Cliente-Servidor.     Servicios proporcionados por múltiples.     Servidores....
   Desafíos: Transparencia. El servidor puede o no estar en la misma máquina del  cliente Tanto servidores como cliente...
 Servicios proporcionados por  múltiples servidores.  Los servidores pueden dividir el conjunto de objetos en los   que ...
      Servidores Proxy y Caches     Un cache es un almacén de objetos de datos utilizados      recientemente.     Los c...
   Modelos arquitectónicos                 Todos los procesos desempeñan                  tareas semejantes,            ...
     Interfaces y Objetos     Una interfaz de un proceso es la especificación del      conjunto de funciones que se pued...
 Otros Modelos Arquitectónicos  Código Móvil  Agente Móvil: es un programa que se traslada en la   red, de un computado...
 Otros Modelos ArquitectónicosClientes Ligeros:en el cliente sólo se ejecuta una interfaz basada en ventanas,mientras que...
 Requisitos para el diseño de  Arquitecturas Distribuidas Rendimiento  Capacidad de respuesta: para obtener buenos tiemp...
 Requisitos para el diseño de  Arquitecturas Distribuidas. Calidad de Servicio  Algunas aplicaciones mantienen datos crí...
 Requisitos para el diseño de  Arquitecturas DistribuidasCalidad de Servicio El satisfacer tales exigencias depende de l...
 Requisitos para el diseño de  Arquitecturas DistribuidasAspectos de Fiabilidad (que el sistema funcione correctamente) ...
 Requisitos para el diseño de  Arquitecturas Distribuidas Tolerancia a Fallos: las aplicaciones estables deben continuar ...
 Requisitos para el diseño de  Arquitecturas Distribuidas Seguridad: necesidad de ubicar datos y otros recursos sensibles...
     Modelos Fundamentales     Modelo de Interacción: Trata sobre el rendimiento y      sobre la dificultad de poner lím...
     Modelos Fundamentales     Trata sobre el rendimiento y sobre la dificultad de      poner límites temporales en un s...
Upcoming SlideShare
Loading in …5
×

Clase002

778 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
778
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Clase002

  1. 1. SISTEMAS DISTRIBUIDOS.
  2. 2.  Sistemas Distribuidos.  Definiciones  Desafíos en el diseño de sistemas  Distribuidos  Modelos Arquitectónicos
  3. 3.  Definición.
  4. 4.  Definición.“Se define un sistema distribuido como aquel en el que loscomponentes de hardware y software, localizados encomputadores unidos mediante una red, comunican ycoordinan sus acciones sólo mediante el paso demensajes”
  5. 5.  Definición. Esta definición tiene las siguientes consecuencias:  Concurrencia  Inexistencia de un reloj global  Fallos Independientes
  6. 6.  Desafíos.  Heterogeneidad.  Extensibilidad.  Seguridad.  Escalabilidad.  Tolerancia a Fallas.  Concurrencia.
  7. 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. 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. 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. 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. 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. 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. 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. 14.  Desafíos: Escalabilidad.Se dice que un sistema es escalable si conserva suefectividad cuando ocurre un incremento significativoen el número de recursos y en el número de usuarios.El diseño de Sistemas Distribuidos escalables presentalos 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. 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. 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. 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. 18.  Desafíos: Concurrencia.Existe la posibilidad de acceso concurrente a un mismo recurso.La concurrencia en los servidoresse 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. 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. 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. 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. 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. 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. 24.  Capas de Software.
  25. 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. 26.  Arquitecturas de Sistema  Modelo Cliente-Servidor.  Servicios proporcionados por múltiples.  Servidores.  Servidores proxy y caches.  Procesos peer-to-peer.
  27. 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. 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. 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. 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. 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. 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. 33.  Otros Modelos ArquitectónicosClientes 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. 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. 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. 36.  Requisitos para el diseño de Arquitecturas DistribuidasCalidad 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. 37.  Requisitos para el diseño de Arquitecturas DistribuidasAspectos de Fiabilidad (que el sistema funcione correctamente) Correctud. Tolerancia de fallos Seguridad. Confidencialidad. Integridad. Disponibilidad.
  38. 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. 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. 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. 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.

×