You are on page 1of 6

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

You might also like