Professional Documents
Culture Documents
Sistemas Distribuidos.
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.
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.
Desafos: Seguridad.
Existen dos desafos que no han sido resueltos en su totalidad: Ataques de denegacin de servicio.
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.
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: 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.
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)