Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Sistemas distribuidos

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 93 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Similares a Sistemas distribuidos (20)

Anuncio

Más reciente (20)

Anuncio

Sistemas distribuidos

  1. 1. Sistemas distribuidos 1 Sistemas Distribuidos
  2. 2. Hemos utilizado Sistemas Distribuidos? Ejemplo: Google No es un sistema distribuido Es una aplicación montada sobre un sistema distribuido Yo como usuario desconozco Máquina o máquinas en las quo se realiza Ia búsqueda Lugares donde estén ubicadas esas máquinas - Tipos de comunicación que se utilizan - Equipos que intervienen - Forma de realizar Ia búsqueda - Qué se ejecuta en mi máquina y qué no se ejecuta • Casi siempre funciona correctamente Sistemas distribuidos 2
  3. 3. Concepto informatico Los conceptos vienen de muchas áreas • Sistemas Operativos. • Procesamiento en Paralelo. • Sistemas en Tiempo Real. • Sistemas Multimedia Distribuidos. • Tipos de comunicaciones. • Bases de datos distribuidas. • Cliente – Servidor, Tres niveles, Internet. • Objetos, Componentes Distribuidos. • Computación Móvil. • Aplicaciones Tradicionales. Lic. Jorge Guerra G. Sistemas distribuidos 3
  4. 4. Lic. Jorge Guerra G. Sistemas distribuidos 4
  5. 5. Lic. Jorge Guerra G. Sistemas distribuidos 5 intranet ISP desktop computer: backbone satellite link server: % network link: % % % La Internet mostro la factibilidad de la implementación de los Sistemas Distribuidos
  6. 6. Numeros de Internet en 2015  1.730 millones de usuarios de Internet en todo el mundo.  1.400 millones de usuarios de correo electrónico que enviamos una media de 247.000 millones de correo cada día aunque lamentablemente unos 200.000 millones son correo basura (SPAM).  En diciembre de 2009 había 234 millones de sitios web.  De ellos, 126 millones son blogs, según BlogPulse.  Hay 350 millones de usuarios registrados en Facebook, lo que lo haría el tercer país más poblado del mundo.  Se suben 2.500 millones de fotos al mes a Facebook, lo que hace palidecer los 4.000 millones de fotos que había en total Flickr en octubre de 2009.  YouTube sirve 1.000 millones de vídeos cada día.  Lamentablemente, se crean unos 148.000 nuevos ordenadores zombie cada día. Lic. Jorge Guerra G. Sistemas distribuidos 6
  7. 7. Modelo N-capas heterogeneo Lic. Jorge Guerra G. Sistemas distribuidos 7
  8. 8. Modelo espacial C/S Lic. Jorge Guerra G. Sistemas distribuidos 8
  9. 9. Lic. Jorge Guerra G. Sistemas distribuidos 9
  10. 10. Lic. Jorge Guerra G. Sistemas distribuidos 10 Definición de Sistema Distribuido  Un sistema distribuido es aquel que ofrece servicios implementados sobre una red de computadoras como si se tratara de un único sistema. Esto se logra a través de transparencias de distribución y son:  Transparencia de localización.  Transparencia de escalabilidad.  Transparencia de replicacion  Transparencia de concurrencia.  Transparencia de paralelismo.  Transparencia de acceso.  Transparencia de fallo.  Transparencia de movilidad.  Transparencia de rendimiento.
  11. 11. Transparencias  Transparencia de acceso: permite que los recursos locales y remotos puedan ser accesados mediante operaciones idénticas.  Transparencia de localizacion: permite que los recursos puedan ser accesados sin el conocimiento de su localizacion física o de la red (por ejemplo,la dirección IP).  Transparencia de concurrencia : permite que varios procesos puedan operar al mismo tiempo utilizando recursos compartidos sin interferencia entre ellos.  Transparencia de replicacion : habilita varias instancias de recursos que se utilizarán para aumentar la fiabilidad y rendimiento sin el conocimiento de las réplicas de los usuarios o programadores de aplicaciones.  Transparencia de fallo: permite el ocultamiento de fallas, permitiendo a los usuarios y los programas de aplicación para completar sus tareas a pesar del fracaso de los componentes de hardware o software.  Transparencia de movilidad: permite el movimiento de recursos y clientes dentro de un sistema sin afectar el funcionamiento de los usuarios o programas.  Transparencia de rendimiento: permite que el sistema sea reconfigurado para mejorar el rendimiento conforme las cargas varíen.  Transparencia de escalabilidad: permite que el sistema y las aplicaciones crezcan, sin cambio en la estructura del sistema o los algoritmos de la aplicación.  Transparencia de paralelismo: permite que 2 o mas servidores trabajen en forma cooperativa para un servicio sin que el usuario lo pueda observar. Lic. Jorge Guerra G. Sistemas distribuidos 11
  12. 12. Lic. Jorge Guerra G. Sistemas distribuidos 12 Un sistema distribuido es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora Tanenbaum Un sistema distribuido es aquel en el que los componentes localizados en computadores, conectados en red, comunican y coordinan sus acciones únicamente mediante el paso de mensajes Coulouris Otras definiciones
  13. 13. Cambio de paradigma  Control central  Nombramiento global  Consistencia global  Ejecución secuencial  Vulnerabilidad  Información local  Localización fija  Homogeneidad  Autonomía  Nombramiento federado (no resuelto distribuidamente, por partes)  Consistencia débil  Ejecución concurrente  Tolerancia a fallos  Información remota  Migración  Heterogeneidad Lic. Jorge Guerra G. Sistemas distribuidos 13
  14. 14. Retos Los retos a los cuales se enfrentan los Sistemas Distribuidos son: • Heterogeneidad. • Extensibilidad. • Seguridad. • Escalabilidad. • Tratamiento de Fallos. • Concurrencia. • Transparencia. Lic. Jorge Guerra G. Sistemas distribuidos 14
  15. 15. Lic. Jorge Guerra G. Sistemas distribuidos 15 ¿ Por qué construir sistemas distribuidos?  • Compartir recursos – Tanto hardware (discos, impresoras), como software (archivos, bases de datos) • En algún caso, por economizar  – Compartir datos es esencial en muchas aplicaciones • Equipos de desarrollo comparten herramientas y datos • Aplicaciones comerciales ofrecen a usuarios acceso a datos compartidos • Trabajo cooperativo en algunas empresas  • Existen aplicaciones inherentemente distribuidas  – Por ejemplo, una cadena de supermercados con varias tiendas y almacenes  – Sistemas de reservas de billetes de líneas aéreas
  16. 16. Lic. Jorge Guerra G. Sistemas distribuidos 16 Características de los Sistemas Distribuidos
  17. 17. Lic. Jorge Guerra G. Sistemas distribuidos 17 Definición de Enslow Sistema distribuido = hardware distribuido + control distribuido + datos distribuidos Un sistema se podría considerar como un sistema distribuido si las tres categorías (hardware, control, datos) alcanzan un cierto nivel de descentralización
  18. 18. Modelo de Enslow de los sistemas distribuidos. Lic. Jorge Guerra G. Sistemas distribuidos 18
  19. 19. Comparacion entre sistemas Lic. Jorge Guerra G. Sistemas distribuidos 19
  20. 20. Características de la transparencia en Sistemas Distribuidos Lic. Jorge Guerra G. Sistemas distribuidos 20
  21. 21. Compartición de recursos Lic. Jorge Guerra G. Sistemas distribuidos 21
  22. 22. Compartición de recursos (cont) Lic. Jorge Guerra G. Sistemas distribuidos 22
  23. 23. Sistema Abierto Lic. Jorge Guerra G. Sistemas distribuidos 23
  24. 24. Escalabilidad Lic. Jorge Guerra G. Sistemas distribuidos 24
  25. 25. Tolerancia a fallos Lic. Jorge Guerra G. Sistemas distribuidos 25
  26. 26. Tolerancia a fallos Lic. Jorge Guerra G. Sistemas distribuidos 26
  27. 27. Seguridad Lic. Jorge Guerra G. Sistemas distribuidos 27
  28. 28. Ventajas e inconvenientes Lic. Jorge Guerra G. Sistemas distribuidos 28
  29. 29. Lic. Jorge Guerra G. Sistemas distribuidos 29 Implementacion final
  30. 30. Aplicaciones Lic. Jorge Guerra G. Sistemas distribuidos 30
  31. 31. Boeing Lic. Jorge Guerra G. Sistemas distribuidos 31
  32. 32. Sistemas Distribuidos en automóviles Control del sistema en un automóvil Un Mercedes clase S esta equipado con mas de 50 procesadores empotrados. Conectados entre si por un red local. Lic. Jorge Guerra G. Sistemas distribuidos 32
  33. 33. Acceso a servicios Modelo multiproceso. Modelo de memoria compartida También conocidos como multiprocesadores Todos los procesadores comparten el espacio de direcciones El programador no tiene que saber donde se encuentran los datos Modelo con memoria distribuida También conocidos como multicomputadores Cada procesador tiene su propio espacio de direcciones El programador necesita saber donde se encuentran los datos Lic. Jorge Guerra G. Sistemas distribuidos 33
  34. 34. Comunicación entre procesos Memoria Compartida (Base de Datos Distribuidas) Paso de mensajes (Sockets, RPC y CORBA) Ejecución remota (Agentes) Lic. Jorge Guerra G. Sistemas distribuidos 34
  35. 35. Lic. Jorge Guerra G. Sistemas distribuidos 35 Arquitecturas hardware
  36. 36. Lic. Jorge Guerra G. Sistemas distribuidos 36 Arquitecturas hardware
  37. 37. Arquitecturas usadas en Sistemas Distribuidos Arquitectura basada en capas Arquitectura basada en objetos Arquitectura centrada en datos compartidos Arquitectura basada en eventos Lic. Jorge Guerra G. Sistemas distribuidos 37
  38. 38. Arquitectura basada en capas Lic. Jorge Guerra G. Sistemas distribuidos 38
  39. 39. Arquitectura basada en objetos Lic. Jorge Guerra G. Sistemas distribuidos 39
  40. 40. Arquitectura basada en eventos Lic. Jorge Guerra G. Sistemas distribuidos 40
  41. 41. Arquitectura basada en datos compartidos Lic. Jorge Guerra G. Sistemas distribuidos 41
  42. 42. Lic. Jorge Guerra G. Sistemas distribuidos 42
  43. 43. Lic. Jorge Guerra G. Sistemas distribuidos 43
  44. 44. Lic. Jorge Guerra G. Sistemas distribuidos 44
  45. 45. Lic. Jorge Guerra G. Sistemas distribuidos 45
  46. 46. Lic. Jorge Guerra G. Paradigmas de Computacion en Red Basado en la distribución de recursos, know-how (el codigo que procesa los recursos) y el procesador donde el codigo se ejecuta, los paradigmas de computación de red puede ser clasificadas como: Paradigma Cliente-Servidor Paradigma Código-por-demanda Paradigma Agente Móvil
  47. 47. Lic. Jorge Guerra G. Paradigma Cliente-Servidor Client Server know-how Servidor tiene todo: el know-how, el procesador y los recursos Cliente necesita inteligencia para descubrir al servidor que provee el servicio que se necesita.
  48. 48. Lic. Jorge Guerra G. Paradigma Cliente-Servidor Client Server know-how Ejemplos: RPC, CORBA, XML Web-Services etc.
  49. 49. Lic. Jorge Guerra G. Paradigma Código-por-demanda Server know-howClient Cliente tiene el procesador y los recursos. No tiene el know-how Servidor envía el know-how sobre el cliente.
  50. 50. Lic. Jorge Guerra G. Paradigma Código-por-demanda Server know-howClient
  51. 51. Lic. Jorge Guerra G. Paradigma Código-por-demanda Server Client know-how know-how
  52. 52. Lic. Jorge Guerra G. Paradigma Código-por-demanda Server Client know-how know-how Flash y Youtube son un buen ejemplo de este paradigma.
  53. 53. Lic. Jorge Guerra G. Paradigma Agente Móvil Host Host Cada host en esta red tiene un alto grado de flexibilidad en poseer el know- how, los recursos y los procesadores
  54. 54. Lic. Jorge Guerra G. Paradigma Agente Móvil Host Host
  55. 55. Lic. Jorge Guerra G. Paradigma Agente Móvil Host Host Agente know-how Know-how en la forma de agentes móviles no esta unido a un único host pero esta disponible en toda la red
  56. 56. Lic. Jorge Guerra G. Paradigma Agente Móvil Host Host Agente know-how red
  57. 57. Lic. Jorge Guerra G. Paradigma Agente Móvil Host Host red Agente know-how
  58. 58. Lic. Jorge Guerra G. Paradigma Agente Móvil Host Host Agente know-how
  59. 59. Lic. Jorge Guerra G. Concepto de Agente Movil Un agente móvil es un objeto el cual puede moverse autónomamente a lo largo de la red de un host a otro con su código y estado de ejecución y realizar ciertas tareas a nombre de un usuario .
  60. 60. Lic. Jorge Guerra G. Sistemas distribuidos 60 Nuevos Paradigmas de SD  Cluster Computing:  Dedicados a tareas específicas: Altas prestaciones. Alta disponibilidad.  Sistema homogéneo (a menudo dedicado): Nodos PCs. LAN (de propósito general o específicas).  Problemática: Grado de acoplamiento, servicios distribuidos.  Grid Computing:  Aprovechamiento de recursos creando un uniprocesador virtual.  Restringido a una serie de tareas.  Diferentes ámbitos: Desde intradepartamentales. Hasta intercorporativos.  Problemática: Coordinación, seguridad, carácter dinámico.
  61. 61. Lic. Jorge Guerra G. Sistemas distribuidos 61 Cluster Computing  La idea del Cluster Computing es simple: Un grupo de ordenadores independientes se conectan entre sí. Los elementos conectantes son cables y un software especial de cluster.  Ya que los distintos ordenadores se complementan, por ejemplo en el caso de Failover o balanceo de cargas. Falla uno, los demás se encargan de su trabajo. Para un ordenador sólo ésto es imposible. De ésta forma se garantiza la alta disponibilidad las 24 horas del día. Igualmente se facilita la administración. La unión "clusterizada" de ordenadores es como un único punto de control, que podrá ser administrado sin ningún problema de forma remota.
  62. 62. Modelo de Cluster Lic. Jorge Guerra G. Sistemas distribuidos 62
  63. 63. Lic. Jorge Guerra G. Sistemas distribuidos 63 Cluster Computing
  64. 64. Lic. Jorge Guerra G. Sistemas distribuidos 64
  65. 65. Lic. Jorge Guerra G. Sistemas distribuidos 65
  66. 66. Modelo de GRID Lic. Jorge Guerra G. Sistemas distribuidos 66
  67. 67. Lic. Jorge Guerra G. Sistemas distribuidos 67
  68. 68. Lic. Jorge Guerra G. Sistemas distribuidos 68
  69. 69. Lic. Jorge Guerra G. Sistemas distribuidos 69
  70. 70. Lic. Jorge Guerra G. Sistemas distribuidos 70 Desarrollos Web Caso particular de desarrollo cliente servidor con representación remota, en la cual disponemos de un protocolo standard: HTTP y un servidor denominado WebServer. Cada página puede desencadenar la solicitud de numerosos peticiones adicionales para finalizar el proceso de representación remota. Se dispone de un lenguaje standard de definición y formateo de páginas: HTML
  71. 71. Lic. Jorge Guerra G. Sistemas distribuidos 71 Desarrollos Web  Incrustación de la lógica de aplicación en el servidor Web:  CGI: Common Gateware Interface Cada petición HTTP genera un nuevo proceso, el cual analiza la solicitud y genera un resultado. Cada proceso corresponde a una transacción. Es flexible, ideal para pequeñas aplicaciones de uso reducido No escala adecuadamente  Plug-ins Cada petición HTTP es resuelta por el componente adecuada, dentro del mismo proceso del Web-Server. Mejor rendimiento Compromete la seguridad y fiabilidad del servidor Web  Servidor especializado Facilidad de desarrollo Buen rendimiento Rigidez de configuración
  72. 72. Lic. Jorge Guerra G. Sistemas distribuidos 72
  73. 73. Lic. Jorge Guerra G. Sistemas distribuidos 73 Desarrollos Web Tipos de plug-ins HTML incrustado en código Se centran en la lógica Son fácilmente de optimizables Ejemplos: servlets, Perl, Python Código incrustado en HTML Se centran en el interface de usuario Son fáciles de crear y modificar No requieren grandes formalismos No necesitan una gran formación Ejemplos: ASP, JSP, PHP
  74. 74. Lic. Jorge Guerra G. Sistemas distribuidos 74
  75. 75. Lic. Jorge Guerra G. Sistemas distribuidos 75 Desarrollo Web
  76. 76. Implementacion Lic. Jorge Guerra G. Sistemas distribuidos 76
  77. 77. Lic. Jorge Guerra G. Sistemas distribuidos 77
  78. 78. Lic. Jorge Guerra G. Sistemas distribuidos 78 View Controller Model User Modelo Vista Controlador
  79. 79. Lic. Jorge Guerra G. Sistemas distribuidos 79 Nuevos tipos de dispositivos Dispositivos que acceden hoy a internet: Internet Explorer, Netscape, Set Top Box, Móviles WAP, PDAs Palm Pilot, Windows CE, ... Previsiones para los próximos años: 2.002 el 50% de las transacciones habituales se podrán realizar desde dispositivos móviles 2.003 el 80% de los usuarios realizarán algún tipo de transacción desde dispositivos móviles 2.004 los se querrán realizar el 100% de las transacciones desde dispositivos móviles 2.005 Se esperan más de 1.000 millones de usuarios móviles de internet
  80. 80. Lic. Jorge Guerra G. Sistemas distribuidos 80 Nuevos tipos de dispositivos Problema a resolver: Necesidad de adaptar el interface de usuario a cada tipo de dispositivo Medidas a tomar: Separar la lógica de aplicación del interface de usuario Utilizar métodos estándar de comunicación entre la lógica de aplicación y el interface de usuario Uso de herramientas que permitan adaptar rápidamente las aplicaciones a los nuevos tipos de dispositivos que irán apareciendo
  81. 81. Lic. Jorge Guerra G. Sistemas distribuidos 81 Nuevos tipos de dispositivos Tendencia actual Navegador Web Server Páginas HTML Servidor Aplicaciones Lógica de negocio Datos Base de datos Interface de usuario Gestor comunicaciones UsuarioMóvil WAP Server Páginas WML SQL XML - - Wml binariohttp
  82. 82. Lic. Jorge Guerra G. Sistemas distribuidos 82 Nuevos tipos de dispositivos Variante de los fabricantes BBDD Navegador Web Server Páginas HTML Lógica de negocio DatosBase de datos Interface de usuario Gestor comunicaciones UsuarioMóvil WAP Server Páginas WML XML - - Wml binariohttp
  83. 83. Lic. Jorge Guerra G. Sistemas distribuidos 83 Nuevos tipos de dispositivos Variante de los fabricantes pasarelas Navegador Web Server Páginas HTML Lógica de negocio Datos Base de datos Interface de usuario Gestor comunicaciones UsuarioMóvil WAP Server Reglas de traducción WML SQL - - Wml binariohttp Interface de usuario
  84. 84. Lic. Jorge Guerra G. Sistemas distribuidos 84 Java
  85. 85. Lic. Jorge Guerra G. Sistemas distribuidos 85 Arquitectura I-MODE Packet Network (PDC-P) Communication Network (PDC) iMode Server Groupware ServerPSTN Info. Provider Internet Info. Provider Info. Provider PC PC
  86. 86. Lic. Jorge Guerra G. Sistemas distribuidos 86 WML Browser J2ME RTOS Invoke Opción 1: WML nativo Interacciona con java: •Limitaciones en es stack •Limita las interdependencias XML or XHTML Browser J2ME RTOS Opción 2: Java browser • Integración mayor •El navegado puede actualizarse dinámicamente Coexistencia Java-WAP
  87. 87. Lic. Jorge Guerra G. Sistemas distribuidos 87 Wireless Telephony Application Interface Web Server CGI Scripts, Etc... WMLDecks withWMLScript Content WAP Gateway WML Encoder WML Script Compiler Protocol Conversion Client WML WML Script WTAI HTTP WTP Arquitectura WAP
  88. 88. Lic. Jorge Guerra G. Sistemas distribuidos 88
  89. 89. Lic. Jorge Guerra G. Sistemas distribuidos 89
  90. 90. Lic. Jorge Guerra G. Sistemas distribuidos 90
  91. 91. Lic. Jorge Guerra G. Sistemas distribuidos 91
  92. 92. Lic. Jorge Guerra G. Sistemas distribuidos 92
  93. 93. Lic. Jorge Guerra G. Sistemas distribuidos 93

×