cap 02 caracterizacion y ejemplos

Upload: percy-camarena-sanchez

Post on 17-Oct-2015

4 views

Category:

Documents


0 download

TRANSCRIPT

  • Primera Unidad: Procesamiento Distribuido

    Caracterizacion y Ejemplos 1

    Caracterizacin de

    Sistemas Distribuidos Mg. Henry G. Maquera Quispe

    Docente Universitario

    Mg. Henry George Maquera Quispe 1

    Aquel en el que los componentes localizados en computadores, conectados en red, comunican y coordinan

    sus acciones nicamente mediante el paso de mensajes. Esta definicin lleva a las siguientes caractersticas de los sistemas

    distribuidos: Concurrencia de los componentes Carencia de un reloj global Fallos independientes de los componentes.

    Sistema Distribuido

    Los desafos que surgen en la construccin de sistemas distribuidos son la heterogeneidad de sus componentes, su

    carcter abierto, que permite que se puedan aadir o

    reemplazar componentes, la seguridad y la escalabilidad,

    que es la capacidad para funcionar bien cuando se

    incrementa el nmero de usuarios, el tratamiento de los

    fallos, la concurrencia de sus componentes y la

    transparencia.

    Sistema Distribuido

    La motivacin para construir y utilizar sistemas distribuidos tiene su origen en un deseo de compartir recursos.

    Introduccin

    Internet. Coleccin de redes de computadores de diferentes tipos

    interconectados. El diseo y la construccin de los mecanismos de comunicacin Internet

    es una realizacin tcnica fundamental, que permite que un programa que

    se est ejecutando en cualquier parte dirija mensajes a programas en

    cualquier otra parte.

    Es un sistema distribuido muy grande.

    Permite a los usuarios, donde quiera que estn, hacer uso de servicios como el World Wide Web, el correo electrnico, y la transferencia de

    ficheros (de hecho, a veces se confunde incorrectamente el Web con

    Internet).

    Ejemplos de Sistemas Distribuidos

    Internet.

    Ejemplos de Sistemas Distribuidos

  • Primera Unidad: Procesamiento Distribuido

    Caracterizacion y Ejemplos 2

    Intranet Porcin de Internet que es administrada separadamente y que tiene

    un lmite que puede ser configurado para hacer cumplir polticas de

    seguridad local. La configuracin de red de una intranet particular es responsabilidad de la

    organizacin que la administra y puede variar ampliamente, desde una

    LAN en un nico sitio a un conjunto de LANs conectadas perteneciendo a

    ramas de la empresa u otra organizacin en diferentes pases.

    Ejemplos de Sistemas Distribuidos

    Intranet

    Ejemplos de Sistemas Distribuidos

    Computacin Mvil y Ubicua. Computadores porttiles. Dispositivos de mano (handheld). Dispositivos que se pueden llevar puestos, como relojes inteligentes

    con funcionalidad semejante a la de los PDAs.

    Dispositivos insertados en aparatos, como lavadoras, sistemas de alta fidelidad, coches y frigorficos.

    Computacin ubicua es la utilizacin concertada de muchos dispositivos

    de computacin pequeos y baratos que estn presentes en los entornos

    fsicos de los usuarios, incluyendo la casa, la oficina y otros.

    Ejemplos de Sistemas Distribuidos

    Usuarios acostumbrados a los beneficios de compartir recursos que pueden pasar por alto su significado. En la prctica, los patrones de compartir recursos varan mucho en su

    alcance y cun estrechamente trabajan juntos los usuarios.

    El patrn de compartir y la distribucin geogrfica de los usuarios particulares determina qu mecanismos debe proporcionar el sistema

    para coordinar sus acciones.

    Recursos Compartidos y Web

    Utilizamos el trmino servicio para una parte diferente de un sistema de computadores que gestiona una coleccin de

    recursos relacionados y presenta su funcionalidad a los

    usuarios y aplicaciones. Los recursos en un sistema distribuido estn encapsulados

    fsicamente con los computadores y slo pueden ser accedidos desde

    otros computadores a travs de comunicacin.

    Recursos Compartidos y Web

    El termino servidor se refiere a un programa en ejecucin (proceso) en un computador en red que acepta peticiones

    de programas ejecutados en otros computadores para

    realizar servicios y responder adecuadamente. Las peticiones se envan a travs de mensajes desde los clientes al

    servidor y las contestaciones se envan mediante mensajes desde el

    servidor a los clientes.

    Se llama invocacin remota a una interaccin completa entre un cliente y un servidor, desde el instante en el que el cliente enva su

    peticin hasta que recibe la respuesta del servidor.

    Recursos Compartidos y Web

  • Primera Unidad: Procesamiento Distribuido

    Caracterizacion y Ejemplos 3

    Heterogeneidad Se aplica a todos los siguientes elementos:

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

    Desafos

    Heterogeneidad Middleware

    Se aplica al estrato 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.

    CORBA, es un ejemplo de ello.

    Middleware como Java RMI slo se soporta en un nico lenguaje de

    programacin. La mayora de middleware se implementa sobre protocolos

    de Internet, enmascarando stos la diversidad de redes existentes.

    Desafos

    Heterogeneidad El middleware proporciona un modelo computacional uniforme al

    alcance de los programadores de servidores y aplicaciones

    distribuidas.

    Los posibles modelos incluyen invocacin sobre objetos remotos, notificacin de eventos remotos, acceso remoto mediante SQL y

    procesamiento distribuido de transacciones.

    Desafos

    Extensibilidad La extensibilidad de un sistema de cmputo es la caracterstica que

    determina si el sistema puede ser extendido y reimplementado en

    diversos aspectos.

    La extensibilidad de los sistemas distribuidos se determina en primer lugar por el grado en el cual se pueden aadir nuevos servicios de

    comparticin de recursos y ponerlos a disposicin para el uso por

    una variedad de programas cliente.

    Desafos

    Extensibilidad No es posible obtener extensibilidad a menos que la especificacin y

    la documentacin de las interfaces software clave de los

    componentes de un sistema estn disponibles para los

    desarrolladores de software. Es decir, que las interfaces clave estn publicadas. Este procedimiento es

    similar a una estandarizacin de las interfaces, aunque a menudo puentea

    los procedimientos oficiales de estandarizacin, que por lo dems suelen

    ser lentos y complicados.

    Desafos

    Extensibilidad Los sistemas diseados de este modo para dar soporte a la

    comparticin de recursos se etiquetan como sistemas distribuidos

    abiertos (open distributed systems) para remarcar el hecho de ser

    extensibles. Pueden ser extendidos en el nivel hardware mediante la inclusin de

    computadores a la red y en el nivel software por la introduccin de nuevos

    servicios y la reimplementacin de los antiguos, posibilitando a los

    programas de aplicacin la comparticin de recursos.

    Desafos

  • Primera Unidad: Procesamiento Distribuido

    Caracterizacion y Ejemplos 4

    Extensibilidad Los sistemas abiertos se caracterizan porque sus interfaces estn

    publicadas. Los sistemas distribuidos abiertos se basan en la providencia de un

    mecanismo de comunicacin uniforme e interfaces pblicas para acceder

    a recursos compartidos.

    Los sistemas distribuidos abiertos pueden construirse con hardware y software heterogneo, posiblemente de diferentes proveedores. Sin

    embargo, la conformidad con el estndar publicado de cada componente

    debe contrastarse y verificarse cuidadosamente si se desea que el sistema

    trabaje correctamente.

    Desafos

    Seguridad Entre los recursos de informacin que ofrecen y se mantienen en los

    sistemas distribuidos, muchos tienen un alto valor intrnseco para sus

    usuarios.

    La seguridad de los recursos de informacin tiene tres componentes: Confidencialidad (proteccin contra el descubrimiento por individuos no

    autorizados)

    Integridad (proteccin contra la alteracin o corrupcin) Disponibilidad (proteccin contra interferencia con los procedimientos de

    acceso a los recursos).

    Desafos

    Seguridad Ataques de denegacin de servicio

    Otro problema de seguridad ocurre cuando un usuario desea obstaculizar un servicio por alguna razn. Esto se obtiene al bombardear el servicio

    con un nmero suficiente de peticiones intiles de modo que los usuarios

    serios sean incapaces de utilizarlo.

    Seguridad del cdigo mvil El cdigo mvil necesita ser tratado con cuidado. Suponga que alguien

    recibe un programa ejecutable adherido a un correo electrnico: los

    posibles efectos al ejecutar el programa son impredecibles

    Desafos

    Escalabilidad Los sistemas distribuidos operan efectiva y eficientemente en

    muchas escalas diferentes, desde pequeas intranets a Internet.

    Se dice que un sistema es escalable si conserva su efectividad cuando ocurre un incremento significativo en el nmero de recursos y

    el nmero de usuarios.

    Desafos

    Escalabilidad Control del coste de los recursos fsicos

    Para que un sistema con n usuarios sea escalable, la cantidad de recursos fsicos para soportarlo debiera ser como mximo O(n)

    Control de las prdidas de prestaciones Considere la administracin de un conjunto de datos cuyo tamao es

    proporcional al nmero de usuarios o recursos del sistema.

    Prevencin de desbordamiento de recursos software Un ejemplo de prdida de escalabilidad se muestra en el tipo de nmero

    usado para las direcciones Internet (direcciones de computadores en

    Internet).

    Evitacin de cuellos de botella de prestaciones En general, para evitar cuellos de botella de prestaciones, los algoritmos

    deberan ser descentralizados.

    Desafos

    Escalabilidad

    Desafos

  • Primera Unidad: Procesamiento Distribuido

    Caracterizacion y Ejemplos 5

    Tratamiento de Fallos Los fallos en un sistema distribuido son

    parciales; es decir, algunos componentes fallan mientras otros siguen funcionando.

    Deteccin de fallos Algunos fallos son detectables.

    Se pueden utilizar sumas de comprobacin (checksums) para detectar datos corruptos en un mensaje o un archivo.

    Enmascaramiento de fallos Algunos fallos que han sido detectados

    pueden ocultarse o atenuarse. Los mensajes pueden retransmitirse

    cuando falla la recepcin. Los archivos con datos pueden

    escribirse en una pareja de discos de forma que si uno est deteriorado el otro seguramente est en buen estado.

    Desafos

    Tratamiento de Fallos Tolerancia de fallos

    La mayora de los servicios en Internet exhiben fallos; es posible

    que no sea prctico para ellos

    pretender detectar y ocultar todos

    los fallos que pudieran aparecer

    en una red tan grande y con

    tantos componentes.

    Recuperacin frente a fallos

    La recuperacin implica el diseo de software en el que, tras una

    cada del servidor, el estado de

    los datos pueda reponerse o

    retractarse (roll back) a una

    situacin anterior.

    Desafos

    Tratamiento de Fallos Redundancia

    Puede lograrse que los servicios toleren fallos mediante el empleo redundante de

    componentes. Considere los siguientes

    ejemplos: Siempre deber haber al menos dos

    rutas diferentes entre cualesquiera dos

    routers (encaminadores) en Internet.

    En el Sistema de Nombres de Dominio, cada tabla de nombres se encuentra

    replicada en dos servidores diferentes.

    Una base de datos puede encontrarse replicada en varios servidores para

    asegurar que los datos siguen siendo

    accesibles tras el fallo de cualquier

    servidor concreto; los servidores pueden

    disearse para detectar fallos entre sus

    iguales; cuando se detecta algn error en

    un servidor se redirigen los clientes a los

    servidores restantes.

    Desafos

    Concurrencia Existe por lo tanto una posibilidad de que varios clientes intenten

    acceder a un recurso compartido a la vez.

    Para que un objeto sea seguro en un entorno concurrente, sus operaciones deben sincronizarse de forma que sus datos

    permanezcan consistentes.

    Desafos

    Transparencia Se define transparencia como la ocultacin al usuario y al

    programador de aplicaciones de la separacin de los componentes

    en un sistema distribuido, de forma que se perciba el sistema como

    un todo ms que como una coleccin de componentes

    independientes.

    Las implicaciones de la transparencia son de gran calado en el diseo del software del sistema.

    Desafos

    Transparencia de acceso Permite acceder a los recursos locales y remotos empleando operaciones idnticas.

    Transparencia de ubicacin Permite acceder a los recursos sin conocer su localizacin. Transparencia de concurrencia Permite que varios procesos operen concurrentemente sobre recursos compartidos sin interferencia

    mutua.

    Transparencia de replicacin Permite utilizar mltiples ejemplares de cada recurso para aumentar la fiabilidad y las prestaciones

    sin que los usuarios y los programadores de aplicaciones necesiten su conocimiento.

    Transparencia frente a fallos Permite ocultar los fallos, dejando que los usuarios y programas de aplicacin completen sus tareas a

    pesar de fallos del hardware o de los componentes software.

    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 prestaciones Permite reconfigurar el sistema para mejorar las prestaciones segn vara su carga.

    Transparencia al escalado Permite al sistema y a las aplicaciones expandirse en tamao sin cambiar la estructura del sistema o

    los algoritmos de aplicacin.

    Desafos

  • Primera Unidad: Procesamiento Distribuido

    Caracterizacion y Ejemplos 6

    Transparencia

    Desafos