Sistemas Distribuidos U1
Sistemas Distribuidos U1
Sistemas Distribuidos U1
Contenido
Objetivos de los sistemas distribuidos. Complejidad de los sistemas distribuidos. Tcnicas de construccin. Requerimientos de aplicacin. Arquitectura bsica.
Internet Intranet
Uso de Cortafuegos para impedir accesos a los servicios requeridos cuando los recursos se comparten entre usuarios internos y externos de la intranet.
El costo del mantenimiento. software de instalacin y
El computo mvil [Kleinrock, 1997] es el desarrollo de tareas computacionales mientras el usuario se encuentra en movimiento.
El lenguaje de Marcado de Hipertexto (HTML) es un lenguaje para especificacin de contenidos y capas de paginas que se muestran en los navegadores Web Los localizadores de Recursos Uniformes (URLs), los cuales identifican los documentos y otros recursos almacenados como parte de la Web.
Una arquitectura de sistema cliente-servidor, con reglas estndares para la interaccin (El protocolo de Transferencia de Hiper Texto, HTTP) por el cual los navegadores y otros clientes localizan documentos y otros recursos de los servidores Web.
Tolerancia a fallos. La mayora de los servicios en Internet exhibe fallos, de tal forma que no seria practico para ellos detectar y ocultar todos los fallos cuando ocurren en una red con muchos componentes.
Transparencia de Fallos. Habilita el encubrimiento de fallos, permitiendo a los usuarios y los programas de aplicacin completar sus tareas a pesar de los fallos en los componentes de hardware y software. Transparencia de Movilidad. Permite el movimiento de los recursos y clientes dentro de un sistema sin afectar la operacin de los usuarios o los programas. Transparencia de desempeo. Permite configurar el sistema para mejorar el desempeo y cargas variables. Transparencia de escalamiento. Permite al sistema y las aplicaciones para expander en escala sin cambiar la estructura del sistema o los algoritmos de aplicacin.
Economa: es la razn nmero uno de la tendencia hacia los sistemas distribuidos ya que estos sistemas tienen en potencia una proporcin precio/desempeo mucho mejor que la de un sistema centralizado. Velocidad: un sistema distribuido puede tener mayor poder de cmputo que una mainframe. Distribucin inherente: otra razn para la construccin de un sistema distribuido es que ciertas aplicaciones son distribuidas en forma inherente; es decir, algunas aplicaciones utilizan mquinas que estn separadas a cierta distancia.
Confiabilidad: un sistema distribuido ofrece mayor confiabilidad: al distribuir la carga de trabajo en muchas mquinas, la falla de un circuito descompondr a lo ms una mquina y el resto seguir intacto. Crecimiento por incrementos: si se necesita aadir poder de cmputo a la compaa, con un sistema distribuido, podran aadirse ms procesadores al sistema, lo que permite un desarrollo gradual conforme surjan las necesidades.
Software: No hay mucha experiencia en el diseo, implantacin y uso del software distribuido, adems existe poco software para los sistemas distribuidos en la actualidad.
Redes: Una vez que el sistema llega a depender de la red, la prdida o saturacin de sta puede negar algunas de las ventajas que el sistema distribuido deba conseguir. Seguridad: si las personas pueden tener acceso a los datos en todo el sistema, entonces tambin pueden tener acceso a datos con los que no tienen nada que ver.
SISD. (Single Instruction, Single Data). Una computadora con un flujo de instrucciones y uno de datos. Todas las computadoras tradicionales de un procesador caen dentro de esta categora.
SIMD (Single Instruction, Multiple Data). Un flujo de Instrucciones y varios flujos de datos. Este tipo se refiere a ordenar procesadores con unidad de instruccin que busca una instruccin y despus instruye a varias unidades de datos para que la lleven a cabo en paralelo, cada una con sus propios datos. MISD (Multiple Instruction, Single Data). Un flujo de varias instrucciones y un flujo de datos. MIMD(Multiple Instruction, Multiple Data). Un grupo de computadoras independientes, cada una con su propio contador del programa y datos. Todos los sistemas distribuidos son MIMD.
Cuando un CPU desea tener acceso a una memoria particular, el conmutador del punto de cruce que los conecta se cierra de manera momentnea, para permitir dicho acceso. La virtud del conmutador de cruceta es que muchos CPU pueden tener acceso a la memoria al mismo tiempo, aunque si dos CPU intentan tener acceso a la misma memoria en forma simultnea, uno de ellos deber esperar.
Cruceta
Hipercubo de dimensin 4
Aunque el hardware es importante, el software lo es ms. La imagen que presenta y la forma de pensar de los usuarios de un sistema, queda determinada en gran medida por el software del sistema operativo, no por el hardware.
Se puede distinguir dos tipos de sistemas operativos para los de varios CPU: los dbilmente acoplados y los fuertemente acoplados.
El software dbilmente acoplado permite que las mquinas y los usuarios de un sistema distribuido sean independientes entre s en lo fundamental, pero que interacten en cierto grado cuando sea necesario. En el software fuertemente acoplado el programa de aplicacin y el sistema operativo necesario para soportarlo, estn muy acoplados.
NOS
MIDDLEWARE
Si
Si
No
No
75
5625
100
10000
125
15625
150
22500
175
30625
200
40000
n2
Complejidad en el diseo: O( )
Posee conmutadores 2 x 2:
Cada uno tiene 2 entradas y 2 salidas. Cada conmutador puede dirigir cualquiera de las entradas en cualquiera de las salidas. Eligiendo los estados adecuados de los conmutadores, cada cpu podr tener acceso a cada memoria.
Red alfa-omega
Nmero de elementos
Retcula
n log2 n n2 282 2.500 467 5.625 664 10.000 871 15.625 1.084 22.500 1.304 30.625 1.529 40.000 10.240 1.048.576
El modelo cliente/servidor
Interaccin comn en una arquitectura cliente/servidor
Protocolo
Un Servidor es una implementacin de un proceso, un servicio especfico. Un Cliente es un proceso que pide un servicio de un servidor enviando una peticin y subsecuentemente esperando la respuesta del servidor.
El modelo cliente/servidor
Considerando que muchas aplicaciones cliente- servidor esperan soportar los accesos de los usuarios hacia las bases de datos, se han distinguido tres niveles (o capas) en las aplicaciones cliente-servidor:
1. El nivel de interfaz de usuario 2. El nivel de procesamiento 3. El nivel de datos
Ejemplo: Bsqueda en Internet
El modelo cliente/servidor
Arquitectura de niveles (capas)
El nivel de interfaz de usuario. Consiste en todos los programas que permiten a los usuarios finales interactuar con las aplicaciones.
El modelo Cliente/Servidor
Arquitectura de niveles (capas) Nivel de procesamiento A grandes rasgos contiene: El modelado de la interaccin, los procesos de la aplicacin y comandos de la interfazEjemplo: Bsqueda Se compone por:
Todas las arquitecturas Todos los algoritmos Reglas y modelos de decisin
Secuencial
El modelo Cliente/Servidor
Interaccin en el esquema de capas del modelo Cliente/Servidor
El modelo Cliente/Servidor
Arquitectura de niveles (capas) Nivel de Datos Contiene los programas que mantienen los datos actuales sobre los cuales operan las aplicaciones.
Ejemplo: DBMS
El modelo Cliente/Servidor
Accesos Remotos
El modelo Cliente/Servidor
Clientes que Individuales invocan a Servidores
El modelo Cliente/Servidor
Un servicio proporcionado por mltiples servidores.
El modelo Cliente/Servidor
Un servidor Proxy de Tipo Web
El modelo Cliente/Servidor
Una aplicacin distribuida basada en procesos igual a igual
El modelo Cliente/Servidor
Applets de Tipo Web
FISICA
BITS
Dispositivos compartidos: De igual manera, se pueden compartir perifricos entre diversos usuarios como puede ser una impresora. Comunicacin: un sistema distribuido facilita la comunicacin entre computadoras aisladas con el e-mail, por ejemplo.
Flexibilidad: Un sistema distribuido difunde la carga de trabajo entre las mquinas disponibles en la forma ms eficaz en cuanto a los costos.
la ventaja respecto a PCs
Requerimientos de Aplicacin
Temas de Prestaciones
Capacidad de Respuesta. Productividad. Balance de cargas computacionales.
Calidad en el Servicio
Facilidad de adaptabilidad para configuraciones variables del sistema Disponibilidad de recursos.
Requerimientos de Aplicacin
Uso de Cach y de Replicacin El protocolo de consistencia de la cach puede configurarse para proporcionar a los navegadores copias recientes de los recursos controlados por el servidor (proxy o web). El navegador proxy puede validar una respuesta de la cach comprobando con el servidor original para ver si estaba actualizada. Si la comprobacin falla, el servidor devuelve una copia actualizada que se guardar en la cach en lugar de la antigua.
Los servidores o navegadores utilizan un tiempo de expiracin del recurso que en conjunto con el tiempo de ejecucin del proceso constituyen la edad de una respuesta, desde que se almacena en la memoria cach y el tiempo del servidor.
Requerimientos de Aplicacin
Fiabilidad
oCorreccin oTolerancia a fallos oSeguridad
Arquitectura bsica
Elementos que conforman arquitectura bsica:
Modelos de Interaccin Modelo de fallos Modelo de Seguridad
una
Arquitectura bsica
Modelos de Interaccin Procesos significativos que afectan los procesos interactuantes de un Sistema Distribuido:
Las prestaciones de las comunicaciones son con frecuencia una caracterstica limitada. Es posible mantener una nica nocin global del tiempo
Arquitectura bsica
Interaccin. Factores significativos que afectan los procesos de interaccin:
Prestaciones de comunicaciones.
los
canales
de
Arquitectura bsica
Interaccin.
Prestaciones de los canales de comunicaciones. Retardos entre envos y recepcin de un mensaje.
Retardo para acceder a la red. El tiempo empleado por los servicios comunicacin del sistema operativo.
de
Ancho de banda. Cantidad total de informacin que puede transmitirse en un intervalo de tiempo dado. La fluctuacin (jitter) es la variacin del tiempo invertido en completar el reparto de una serie de mensajes.
Arquitectura bsica
Interaccin. Relojes de computadoras y eventos de temporizacin. Tasa de deriva del reloj. Es la proporcin en que el reloj de una computadora difiere del reloj de referencia perfecto. Dos variantes del modelo de interaccin: Sistemas Distribuidos Sncronos y Asncronos.
Arquitectura bsica
Interaccin. Sistemas Distribuidos Sncronos. Limites [Hadzilacos y Toueg, 1994]
El tiempo de ejecucin de cada etapa de un proceso tiene ciertos limites inferior y superior conocidos. Cada mensaje transmitido sobre un canal se recibe en un tiempo limitado conocido. Cada proceso tiene un reloj local cuya tasa de deriva sobre el tiempo real tiene un lmite conocido.
Arquitectura bsica
Interaccin.
Sistemas Distribuidos Asncronos Se refiere al diseo de un sistema en donde no existan limites:
Por ejemplo: La velocidad de procesamiento Los retardos en la transmisin de mensajes. Las tasas de deriva de reloj.
Arquitectura bsica
Ordenamiento de eventos. Ejemplo, envo de mensajes.
Arquitectura bsica
Modelo de Fallos Define las formas en que puede ocurrir el fallo para dar una comprensin de los efectos de los mismos.
Arquitectura bsica
Fallos por omisin. Se refieren a casos en los que los procesos o los canales de comunicacin no consiguen realizar acciones que se suponen que pueden hacer.
Arquitectura bsica
Fallos por omisin de comunicaciones
Clase de fallo Fallo-parada Afecta a Proceso Descripcin El proceso para y permanece parado. Otros procesos pueden detectar este estado.
Ruptura
Proceso
El proceso para y permanece parado. Otros procesos no pueden ser capaces de detectar este estado.
Un mensaje insertado en el bfer de mensajes salientes nunca llega al bfer de mensajes entrantes del otro extremo. Un proceso completa enva, pero el mensaje no es colocado en su bfer de mensajes salientes. El mensaje es colocado en la cola de mensajes del proceso, pero el proceso no lo recibe. El proceso/canal presenta un comportamiento arbitrario: puede enviar/transmitir arbitrariamente mensajes en instantes arbitrarios, cometer omisiones,
Omisin
Canal
Proceso
Proceso
Proceso o canal
Arquitectura bsica
Fallos de temporizacin Principales fallos
Causa del fallo Reloj Afecta a Proceso Descripcin El reloj local del proceso excede el tiempo lmite de su tasa de deriva sobre el tiempo real. El proceso excede el lmite sobre el intervalo entre dos pasos La transmisin de un mensaje toma mas tiempo que el limite permitido.
Prestaciones
Proceso
Prestaciones
Canal
Arquitectura bsica
Fiabilidad y Comunicacin uno a uno.
VALIDEZ. Cualquier mensaje en el buffer de salida ser hecho llegar eventualmente al bfer de mensajes entrantes. INTEGRIDAD. El mensaje recibido es idntico al enviado y no se reparten mensajes pro duplicado
FIABILIDAD
AMENAZAS DE INTEGRIDAD: 1. Protocolos que no eviten la duplicidad de mensajes. 2. Usuarios malintencionados que repitan mensajes antiguos o inserten mensajes falsos
Arquitectura bsica
Modelo de Seguridad
La seguridad de un sistema distribuido puede lograrse asegurando los procesos y los canales empleados para sus interacciones y protegiendo los objetos que encapsulan contra el acceso no autorizado.
Arquitectura bsica
Modelo de Seguridad
Derechos de acceso: especifican quien tiene permitido aplicar operaciones de un objeto. Principal: es la asociacin con cada invocacin y cada resultado sobre el cual surge un problema.
Arquitectura bsica
Modelo de Seguridad El enemigo
Tipos de amenazas de un enemigo potencial: Amenazas a procesos Amenazas a los canales de comunicacin Denegacin de Servicio
Criptografa Autenticaci n
Arquitectura bsica
Modelo de Seguridad
Criptografa Es la ciencia de mantener los mensajes seguros. Se basa en algoritmos de encriptacin que emplean claves secretas para transformar datos, de forma que solo se pueda revertir el proceso con la clave de desencriptado correspondiente Encriptacin. Es el proceso de trastocar el mensaje de modo que quede oculto el contenido.
Arquitectura bsica
Modelo de Seguridad
Canales Seguros
Asegura la PRIVACIDAD Y LA INTEGRIDAD de los datos Las identidades de los principales son conocidas por cada proceso Cada mensaje incluye un sello de carcter temporal, para prevenir el reenvo o la reordenacin de los mensajes. EJEMPLOS DE CANALES SEGUROS: Redes Privadas Virtuales (VPN) y protocolo de capa de sockets segura
Por su atencin
GRACIAS