You are on page 1of 24

SISTEMAS DISTRIBUIDOS.

Sistemas Distribuidos.

Definiciones Desafos en el diseo de sistemas Distribuidos Modelos Arquitectnicos

Definicion.

Definicion.
Se define un sistema distribuido como aquel en el que los componentes de hardware y software, localizados en computadores unidos mediante una red, comunican y coordinan sus acciones slo mediante el paso de mensajes

Definicion.

Esta definicin tiene las siguientes Consecuencias: Concurrencia

Inexistencia de un reloj global


Fallos Independientes

Desafos.
Heterogeneidad.
Extensibilidad. Seguridad. Escalabilidad. Tolerancia a Fallas. Concurrencia

Desafos: Heterogeneidad.
La heterogeneidad se aplica en los siguientes elementos: Redes (Topologas) Hardware de computadores Sistemas operativos Lenguajes de programacin Implementaciones diferentes Desarrolladores

Desafos: Heterogeneidad.
Middleware: es el estrato o capa 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

Desafos: 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

Desafos: Extensibilidad.

Es la caracterstica que determina si el sistema puede extenderse de varias maneras. Un sistema puede ser abierto o cerrado con respecto a extensiones de hardware o de software. Para lograr la extensibilidad es imprescindible que las interfaces clave sean publicadas.

Desafos: 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 reimplementacin de los Antiguos. Otro beneficio de los sistemas abiertos es su independencia de proveedores concretos.

Desafos: Seguridad.

La seguridad tiene tres componentes: Confidencialidad: proteccin contra individuos no autorizados

Integridad: proteccin contra la alteracin o corrupcin de los datos


Disponibilidad: proteccin contra la interferencia que impide el acceso a los recursos

Desafos: Seguridad.

Existen dos desafos que no han sido resueltos en su totalidad: Ataques de denegacin de servicio.

Seguridad del cdigo mvil

Desafos: Escalabilidad.
Se dice que un sistema es escalable si conserva su efectividad y rendimiento cuando ocurre un incremento significativo en el nmero de usuarios y en el nmero de recursos. El diseo de Sistemas Distribuidos escalables presenta los siguientes retos:

Control de costo de los recursos fsicos: para que un sistema con n usuarios sea escalable, la cantidad de recursos fsicos necesarios para soportarlo debera ser O( n).

Desafos: Escalabilidad.

Controlar la degradacin del rendimiento:


Ejm: Los algoritmos que emplean estructuras jerrquicas se comportan mejor frente al crecimiento de la escala, que los algoritmos que emplean estructuras lineales. Evitar cuellos de botella: los algoritmos deberan ser descentralizados

Desafos: Tratamiento de Fallos.


Deteccin de fallos:

Ejem. Se pueden utilizar sumas de comprobacin (checksums) para detectar datos corruptos en un mensaje.
Enmarascamiento de fallos: Ejem. Los mensajes pueden retransmitirse Replicar los datos

Desafos: Tratamiento de Fallos.


Tolerancia de fallos: los programas clientes de los servicios pueden disearse para tolerar ciertos fallos.
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

Desafos: Concurrencia.
Existe la posibilidad de acceso concurrente a un mismo recurso. La concurrencia en los servidores se puede lograr a travs de 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 permanezcan consistentes.

Desafos: Transparencia.
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.

Desafos: Transparencia.
Transparencia de replicacin: permite replicar los recursos sin que los usuarios y los programadores necesiten su conocimiento. Transparencia frente a fallos: permite ocultar fallos.

Transparencia de movilidad: permite la reubicacin de clientes y recursos sin afectar la operacin de los usuarios y los programas.

Desafos: Transparencia.

Transparencia de rendimiento: permite reconfigurar el sistema para mejorar el desempeo segn vare 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: Transparencia.

Middleware: es una capa de software que sirve como un intermediador y cuyo propsito es enmascarar la heterogeneidad subyacente y proporcionar un modelo de programacin conveniente, interoperable y uniforme para los programadores de aplicaciones

Desafos: Transparencia.

El middleware se ocupa de proporcionar bloques tiles para la construccin de componentes de software que puedan trabajar con otros en un sistema distribuido.

En particular mejora el nivel de las actividades de comunicacin de los procesos de aplicacin soportando abstracciones como:
llamadas a procedimientos remotos, comunicacin entre un grupo de procesos,etc.

Desafos: Transparencia.

Ejem: Sun RPC (llamadas a procedimientos remotos), CORBA (middleware orientado a objeto), Java RMI (invocacin de objetos remotos en Java), DCOM (Modelo comn de objetos distribuidos de Microsoft)

You might also like