Anda di halaman 1dari 36

Sistemas Distribuidos

M.C.A Javier Hernndez Hdez.

1
Criterios de Evaluacin

Conceptual Procedimental Actitudinal Portafolio de


Evidencias
Actividades de clase Manual de Asistencia Rubrica Portafolio
- Apuntes Prcticas. Participacin de evidencias.
- Mapas Mentales - Practicas Disposicin por
- Mapas Conceptuales Evaluacin. hacer las cosas en
- Informes - Examen tiempo y forma y
- Resumenes - Proyecto con calidad.

Actividades Extra
clase

30% 50% 10% 10% 2


Comunicacin Electrnica

Javier.hernandez.hz@gmail.com
moodle.itshuatusco.edu.mx

3
Contenido del curso

I. Caractersticas de Los sistemas Distribuidos

II. Arquitectura de los sistemas Distribuidos

III. Comunicacin

IV. Computo en la nube


Unidad 1: Introduccin a los
sistemas distribuidos

3
Introduccin a los sistemas distribuidos

1.1 Que es un sistema Distribuido (SD) ?

1.2 Ejemplos de sistemas distribuidos

1.3 Motivacin de los Sistema Distribuidos

1.4 Retos de los sistemas distribuidos

1.5 Resumen

4
Que es un sistema distribuido?

Es un conjunto de componentes HW/SW autnomos


conectados a travs de una red con las siguientes
caractersticas:
La comunicacin y coordinacin es por el paso de mensajes

Carecen de una referencia global de tiempo

No tienen memoria compartida

Fallos independientes

Concurrencia
5
Ejemplos de sistemas distribuidos?

Internet

Intranet

Computacin mvil

6
Ejemplos de sistemas distribuidos

Un tpica porcin de internet

intranet %
%
% ISP

backbone

satellite link

desktop computer:
server:
network link:
7
Ejemplos de sistemas distribuidos

Un intranet tpica
email s erver De sktop
computers
print and other servers

Local area
Web serv er netw ork

email s erver
print
File server
other serv ers

the rest of
the Internet
router/firew all

8
Ejemplos de sistemas distribuidos

Dispositivos mviles en un sistema distribuido

Internet

Hos t intranet WAP


Wireles s LAN Home intranet
gatew ay

Mobile
phone
Printer Laptop
Camera Hos t site
9
Ejemplos de sistemas distribuidos

Determinar si estas aplicaciones pueden ser considerados


ejemplos de sistemas distribuidos:

Buscadores web

Juegos multiusuarios online

Sistema de telemonitorizacin a distancia de pacientes

10
Motivacin

La motivacin de disear y desarrollar SD se refleja en los


siguientes requerimientos:

Computo distribuido inherentemente

Compartir recursos (perifricos, bases de datos,


variables/archivos, DB2)

Acceso a recursos y datos geogrficamente remotos (datos


sensitivos y muy grandes)
11
Motivacin

Incrementa la fiabilidad: La fiabilidad implica algunos aspectos tales


como:
Disponibilidad: los datos y/o recursos pueden ser accedidos en
cualquier momento.
Integridad: el valor o estado del recurso y la semntica esperada por
la aplicacin deben ser correctos a pesar del acceso concurrente de
mltiples procesadores
Tolerancia a fallas: la habilidad de recuperarse de distintas fallas

Mayor razon costo-rendimiento: El compartir recursos y acceder a


los datos de forma remota mejora la relacin costo-rendimiento.
12
Motivacin

Escalabilidad: Debido a que los elementos de un sistema distribuido


estn conectados a travs de una red, agregar ms elementos al sistema
no representa un cuello de botella directo para la red de comunicacin.

Modularidad y capacidad de expansin por incrementos pequeos

13
Retos de los sistemas distribuidos

Heterogeneidad

Extensibilidad

Seguridad

Escalabilidad

Tolerancia a fallas

Concurrencia

Transparencia

Calidad del servicio


14
Retos de los SD: Heterogeneidad

Internet permite a los usuarios acceder a servicios y ejecutar


aplicaciones sobre una coleccin heterognea de computadoras
y redes. La heterogeneidad se aplica en los siguientes
elementos:

Redes
Hardware de computadores
Sistemas operativos
Lenguajes de programacin
Implementaciones de diferentes desarrolladores

15
Retos de los SD: Heterogeneidad

Middleware:

Es el estrato de software que provee una abstraccin de programacin,


as como un enmascaramiento de la heterogeneidad subyacente de las
redes, hardware, sistemas operativos y lenguajes de programacin.
Ejem: Corba, Java RMI.

16
Retos de los SD: Heterogeneidad

Heterogeneidad y cdigo mvil:


Cdigo Mvil: cdigo que puede enviarse desde un computador a otro
y ejecutarse en este ltimo.

El concepto de mquina virtual ofrece un modo de crear cdigo


ejecutable sobre cualquier hardware

17
Retos de los SD: Extensibilidad

Es la caracterstica que determina si el sistema puede ser


extendido y/o re-implementado en varias formas.

La extensibilidad de los SD esta determinada por el grado en el


cual diversos servicios se pueden agregar y volverse disponibles
para su uso por una cantidad de programas clientes.

Un sistema puede ser abierto o cerrado con respecto a


extensiones de hardware o de software. Para lograr la
extensibilidad es imprescindible que la especificacin y
18 documentacin de las interfaces clave sean publicadas.
Retos de los SD: Extensibilidad

Los Sistemas Distribuidos Abiertos pueden extenderse a nivel


de hardware mediante la inclusin de computadoras a la red y
a nivel de software por la introduccin de nuevos servicios y la
re-implementacin de los antiguos.

Otro beneficio de los sistemas abiertos es su independencia de


proveedores concretos.

Los sistemas distribuidos abiertos pueden estar conformados


19 por elementos con HW y SW heterogneos?
Retos de los SD: Seguridad

La seguridad tiene tres componentes:


Confidencialidad: proteccin contra individuos no autorizados

Integridad: proteccin contra la alteracin o corrupcin

Disponibilidad: proteccin contra la posibles interferencias que puedan


impedir el acceso a los recursos

20
Retos de los SD: Seguridad

En un sistema distribuido, los clientes pueden enviar


solicitudes de acceso a los datos manejados por los servidores,
lo cual involucra el envo de informacin sobre la red:

Un doctor puede solicitar datos relacionados con algn paciente o hacer


modificaciones a los datos del historial clnico.

En comercio electrnico los usuarios envan sus nmeros de tarjetas de


crdito sobre Internet

21
Retos de los SD: Seguridad

Existen dos desafos que no han sido resueltos en su totalidad:

Ataques de denegacin de servicio

Seguridad del cdigo mvil

Tarea: Investigar en que consisten y dos ejemplos de cada uno

22
Retos de los SD: Escalabilidad

Se dice que un sistema es escalable si conserva su efectividad


cuando ocurre un incremento significativo en el nmero de
recursos y en el nmero de usuarios.

El diseo de SD escalables presenta los siguientes retos:

Controlar el costo de recursos fsicos: Conforme la demanda para un


recurso crece, debera ser posible extender el sistema sobre un costo
razonable. Para que un sistema con n usuarios sea escalable, la cantidad
de recursos fsicos necesarios para soportarlo debera ser O(n).
23
Retos de los SD: Escalabilidad

Controlar la degradacin del rendimiento: considere el manejo de datos


cuyo tamao es proporcional al numero de usuarios o recursos en el
sistema. Por ejemplo, los algoritmos que emplean estructuras jerrquicas
se comportan mejor frente al crecimiento de los sistemas que los
algoritmos que emplean estructuras lineales.

Prevenir el desbordamiento de los recursos de software (IPv4 vs IPv6)

Evitar cuellos de botella: Los algoritmos deberan ser descentralizados.


- Ejemplo DNS (Servidor de nombres de dominio)
24
Retos de los SD: Tratamiento de fallas

Tcnicas utilizadas en el tratamiento a fallas en los SD:

Deteccin de fallos: Ejemplo. Se pueden utilizar sumas de


comprobacin (checksums) para detectar datos corruptos en un mensaje.

Enmascaramiento de fallos. Ejemplos: Los mensajes pueden


retransmitirse y replicacin de datos (archivos duplicados).

Tolerancia de fallos: los programas clientes de los servicios pueden


disearse para tolerar ciertos fallos. Esto implica que los usuarios
tendrn tambin que tolerarlos.

25
Retos de los SD: Tratamiento de fallas

Recuperacin de fallos: implica el diseo de software en el que, tras


una cada del servidor, el estado de los datos puede reponerse o
retractarse (rollback) a una situacin anterior.

Redundancia: emplear componentes redundantes. Ejemplos:


Debera haber al menos dos rutas diferentes entre dos routers en el Internet

En el DNS, cualquier tabla de nombres es replicada en al menos dos


servidores disponibles

Una base de datos puede ser replicada en algunos servidores para asegurar
que los datos permanecen accesibles despus de la falla de algn servidor
26
Retos de los SD: Concurrencia

Existe la posibilidad de acceso concurrente a un mismo


recurso. La concurrencia en los servidores se puede lograr a
travs de hilos (threads).

Cada objeto que represente un recurso compartido debe


responsabilizarse 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
27 permanezcan consistentes.
Retos de los SD: Transparencia

Se define a la transparencia como la ocultacin al usuario y al


programador de la aplicacin de la separacin de los
componentes en un SD, de tal forma que el sistema sea
percibido como un solo componente en lugar de una coleccin
de componentes independientes.

Existen ocho tipos de transparencias:

Transparencia de replicacin: permite mltiples instancias de recursos


ser usados incrementando la fiabilidad y el rendimiento sin que los
usuarios y los programadores tengan conocimiento de las replicas.
28
Retos de los SD: Transparencia

Transparencia frente a fallos: permite ocultar fallos.

Transparencia de movilidad: permite la reubicacin de recursos y


clientes en un sistema sin afectar la operacin de los usuarios y los
programas.

Transparencia de rendimiento: permite reconfigurar el sistema para


mejorar el desempeo segn vare su carga.

Transparencia de escalabilidad: permite al sistema y a las


aplicaciones crecer en tamao sin cambiar la estructura del sistema o los
algoritmos de aplicacin.
29
Retos de los SD: Transparencia

Transparencia de acceso: Permite acceder a los recursos locales y


remotos utilizando idnticas operaciones.

Transparencia de localizacin: Permite a los recursos ser accedidos


sin conocimiento de su localizacin.

Transparencia de concurrencia: Permite a algunos procesos trabajar


de forma concurrente sobre los recursos compartidos en el sistema sin
interferencia entre ellos.

30
Retos de los SD: Calidad de Servicio (QoS)

No es suficiente con proporcionar acceso a los servicios en un


sistema distribuido.

En particular, es tambin importante proporcionar garantas con


respecto a la calidad asociada con el acceso al servicio

Las propiedades no funcionales de los sistemas que afectan la


QoS experimentada por los usuarios son confiabilidad,
seguridad, rendimiento y adaptabilidad

31
Retos de los SD: Calidad de Servicio (QoS)

Algunas aplicaciones manejan flujos de datos (datos crticos en


el tiempo) que deben ser procesados y transferidos desde un
proceso a otro dentro de algunos tiempos lmites especificados.

En este contexto, QoS se refiere a la habilidad de los sistemas


para satisfacer tales restricciones de entrega.

Para satisfacer tales demandas, los sistemas deben garantizar


recursos de computo y comunicacin suficientes para permitir a
las aplicaciones completar cada tarea en los tiempos
32 especificados
Tarea de la Unidad 1:

Investigar Cules son las transparencias ms


importantes de un sistema distribuido?

Realizar los ejercicios 1.1, 1.2, 1.3, 1.4, 1.5, 1.7, 1.9, 1.10,
1.11, 1.12, 1.13 del libro: George, C., Jean, D., 2011,
Distributed Systems Concepts and Design, United States of
America: Pearson Education.

33
Bibliografa

George, C., Jean, D., Distributed Systems Concepts and


Design, United States of America: Pearson Education, 2011.

Ajay D. Kshemkalyani and Mukesh Singhal, Distributed


Computing Principles, Algorithms, and Systems, Cambridge
University Press, 2008

34

Anda mungkin juga menyukai