You are on page 1of 44

SISTEMAS DISTRIBUIDOS

FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS

1. COMPONENTES DE UN SISTEMA DISTRIBUIDO

QUE ES SISTEMA DISTRIBUIDO


Un Sistema Distribuido consiste en una coleccin de computadores autnomos enlazados por una red y equipadas con un sistema de Software Distribuido que luce a los usuarios como si fuera un Sistema nico y Centralizado. Este tipo de sistemas se poseen las siguientes caractersticas intrnsecas: Los componentes trabajan en forma concurrente (interactan simultneamente). Los componentes pueden fallar de manera independiente sin ocasionar un fallo general. No existe un reloj global que sincronice los procesos que se ejecutan en el sistema. Los componentes no comparten memoria. Los sistemas distribuidos estn por todas partes. Internet (considerado un gran sistema distribuido) permite que los usuarios de todo el mundo accedan a sus servicios donde quiera que estn situados. La mayora de empresas administran una intranet, que provee servicios locales y servicios de Internet a los usuarios locales y habitualmente proporciona servicios a otros usuarios de Internet. Es posible construir pequeos sistemas distribuidos con computadores porttiles y otros dispositivos computacionales pequeos conectados a una red inalmbrica.

continuacin

QUE ES SISTEMA DISTRIBUIDO

SISTEMA DISTRIBUIDO MULTIMEDIA


Un Sistema Distribuido Multimedia tpico es capaz de soportar una variedad de aplicaciones como conferencias, accesos a secuencias almacenadas de vdeo y difusin de radio y televisin digitales. En este sistema, distribuido y abierto, las aplicaciones multimedia pueden ser iniciadas y utilizadas sin anuncio previo. Pueden coexistir varias aplicaciones en la misma red e incluso en la misma estacin de trabajo, para lo cual se debe garantizar que todas las aplicaciones sern capaces de obtener la cantidad de recursos necesaria en los momentos requeridos, incluso cuando otras aplicaciones estn compitiendo por esos recursos.

OBJETIVOS DE UN SISTEMA DISTRIBUIDO


La comparticin de recursos es el principal factor que motiva la construccin de sistemas distribuidos. Recursos como impresoras, archivos, pginas web o registros de bases de datos se administran mediante servidores del tipo apropiado. Por ejemplo, los servidores web administran pginas y otros recursos web. Los recursos son accedidos por clientes, por ejemplo, los clientes de los servidores web se llaman normalmente browsers o navegadores web. Adems de compartir recursos, un sistema distribuido tiene como finalidad atender los siguientes aspectos que regularmente se presentan en una red: 1. Concurrencia. En una red de computadores, la ejecucin de programas concurrentes es la norma. Yo puedo realizar mi trabajo en mi computador, mientras t realizas tu trabajo en el tuyo, compartiendo recursos como pginas web o archivos, cuando es necesario. La capacidad del sistema para manejar recursos compartidos se puede incrementar aadiendo ms recursos (por ejemplo, computadores) a la red. La coordinacin de programas que comparten recursos y se ejecutan de forma concurrente es tambin un aspecto importante de cualquier sistema distribuido.

OBJETIVOS DE UN SISTEMA DISTRIBUIDO

continuacin

2. Inexistencia de reloj global. Cuando los programas necesitan cooperar coordinan sus acciones mediante el intercambio de mensajes. La coordinacin estrecha depende a menudo de una idea compartida del instante en el que ocurren las acciones de los programas. Pero resulta que hay lmites a la precisin con lo que los computadores en una red pueden sincronizar sus relojes, ya que no hay una nica nocin global del tiempo correcto. Esto es una consecuencia directa del hecho que la nica comunicacin se realiza enviando mensajes a travs de la red.

OBJETIVOS DE UN SISTEMA DISTRIBUIDO

continuacin

3. Fallos independientes. Todos los sistemas informticos pueden fallar y los diseadores de sistemas tienen la responsabilidad de planificar las consecuencias de posibles fallos. Los sistemas distribuidos pueden fallar de muy diversas formas. Los fallos en la red producen el aislamiento de los computadores conectados al Sistema Distribuido, pero eso no significa que detengan su ejecucin. De hecho, los programas que se ejecutan en ellos pueden no ser capaces de detectar cuando la red ha fallado o est excesivamente lenta.

COMUNICACIN EN LOS SISTEMAS DISTRIBUIDOS


Por ser de gran importancia para el esquema de comunicacin entre los elementos de un sistema distribuido, se har una profundizacin en el concepto de Agente y sus diversas connotaciones. Agente. La palabra Agente se refiere a todo ente que posee la habilidad, capacidad y autorizacin para actuar en nombre de otro. A diario, los agentes humanos asisten a las personas en tareas que requieren recursos especializados o conocimiento especfico en un dominio. Por ejemplo, una secretaria atiende y resuelve situaciones en nombre de su jefe: administra la agenda, coordina las reuniones, recibe a los visitantes. Los agentes cumplen con los requerimientos para los cuales fueron entrenados. El usuario delega en el agente una o varias tareas que debe llevar a cabo quedando a la espera de los resultados. Dichas tareas son a menudo fciles de especificar, pero en algunos casos complejas de realizar.

PROPIEDADES DE LOS AGENTES


Los agentes deben ser parte de un ambiente, deben poder monitorear su entorno y actuar sobre el, y deben responder segn los objetivos para los cuales fueron diseados. Deben entonces poseer una serie de atributos o propiedades que lo definen como agente. Autonoma: Un agente debe poder controlar sus propias acciones y estado interno. Una vez que el usuario activa el agente indicando algn objetivo de alto nivel, ste acta independientemente, seleccionando estrategias y monitoreando el progreso en busca de la meta. Si falla con una estrategia, usa otra, pero sin intervencin humana o con la mnima indispensable. Habilidad Social: Un agente debe ser comunicativo. Debe tener habilidad para interactuar con otros agentes o incluso con alguna persona, para solicitar informacin o bien para exponer los resultados obtenidos de la ejecucin de las tareas planeadas. La naturaleza de la comunicacin depende del tipo de agente con quien se comunique (humanos o no), en ambos casos debe establecer un protocolo comn de intercambio de informacin entre ambas partes. Los agentes deben poseer algn tipo de interfaz para comunicarse con sus usuarios. Dicha interfaz puede establecerse simplemente mediante el envo de mensajes por correo electrnico o puede ser todo lo sofisticada que se desee.

PROPIEDADES DE LOS AGENTES

continuacin

Reactividad: Se refiere al hecho de que un agente debe poder censar el estado del ambiente dentro del cual se encuentra inmerso y en funcin de esto actuar, respondiendo de manera adecuada a cambios producidos en el mismo. Los efectos producidos pueden modificar el estado de su entorno. Por ejemplo, un agente de filtrado de correo electrnico est censando su ambiente, alerta a la llegada de nuevos mensajes. La llegada de un nuevo mensaje (cambio en el medio) produce que el agente responda de acuerdo a las tareas asignadas. Orientacin por objetivos: Un agente no slo debe actuar por cambios detectados en el medioambiente, sino que debe trabajar en funcin de los objetivos para los cuales fue diseado y las tareas que le fueron delegadas en cada momento. Un agente busca permanentemente satisfacer su agenda interna. En las aplicaciones convencionales, cuando un usuario ejecuta un comando, se activa un proceso que se ejecuta por determinado tiempo, algunos solicitan datos al usuario, retornan resultados y as sucesivamente. Esta es una visin pasiva de computacin, ya que la motivacin viene de parte del usuario. En un modelo basado en agentes, el proceso es auto-motivado, es decir, el agente busca satisfacer cierto estado interno con mnima intervencin humana. Por ejemplo, un agente recuperador de archivos tiene especificada una tarea. El agente debe intentar permanentemente satisfacer la tarea que le fue delegada con base en las estrategias de bsqueda y recuperacin con las cuales fue construido, hasta cumplir con el objetivo.

PROPIEDADES DE LOS AGENTES

continuacin

Continuidad temporal: Un agente es un proceso temporalmente continuo. A diferencia de un programa convencional del cual se conoce su inicio y fin, un agente debe ejecutarse hasta que se haya alcanzado con el conjunto de objetivos solicitados, o bien, mientras su ciclo perdure y su usuario no desee detenerlo. La continuidad temporal es la propiedad que da vida al agente, posibilitando que se mantenga alerta a una solicitud o a algn cambio en el medio. El ciclo de vida de un agente depende de sus caractersticas, de las tareas que realice y de los deseos de su usuario en cuanto al tiempo durante el cual el agente debe ejecutarse. Movilidad: Es la capacidad de un agente de viajar por las redes de computadores, de nodo a nodo, en busca de los recursos que le permitan cumplir con su agenda. El trmino viajar se refiere a que en un determinado instante de tiempo el agente detiene su ejecucin, almacena su estado interno y se dirige a otro sitio dentro de una red de computadores para luego continuar con su ejecucin en la nueva ubicacin. Los recursos a los que puede acceder pueden ser de software o hardware. Por ejemplo, un agente puede ir en busca de una base de datos que se encuentra en cierta mquina o bien ejecutarse remotamente haciendo uso del procesador y memoria del equipo destino. La movilidad no es una propiedad indispensable para un agente, sino que modifica la forma por la cual el agente cumple con sus objetivos, en este caso recurriendo a los recursos que puede ofrecer una red de computadores. Aporta una nueva forma de computacin distribuida.

CLASIFICACIN DE LOS AGENTES


Los agentes pueden clasificarse de varias maneras, teniendo en cuenta algunas de las propiedades que poseen o bien haciendo hincapi en alguna en particular. De esta manera puede armarse un rbol taxonmico que abarque todas las combinaciones de propiedades y tareas que se quieran. Partiendo de lo anterior, se presenta la siguiente clasificacin de los agentes de acuerdo con la funcin u objetivo principal del mismo. Agentes de interfaz Un agente de interfaz es un software cuasi-inteligente que asiste a un usuario cuando interacta con una o ms aplicaciones. La motivacin es que se les pueda delegar tareas aburridas y laboriosas. Son asistentes personales que reducen el trabajo por la sobrecarga de informacin, como por ejemplo el filtrado de los mensajes de correo electrnico o la recuperacin de archivos de Internet. Esta categora de agentes apoyan y proveen asistencia a su usuario. El agente observa y monitorea las acciones que toma el usuario en la interfaz, aprende nuevos atajos, y sugiere mejores formas de hacer las tareas. La idea es que el agente pueda adaptarse a las preferencias y hbitos de sus usuarios. Enfatizan la autonoma y el aprendizaje para llevar a cabo tareas para sus dueos y trabajan en el mismo ambiente que stos.

CLASIFICACIN DE LOS AGENTES

continuacin

Agentes colaborativos Los agentes colaborativos constituyen un sistema multiagentes, es decir existe mas de un agente dedicado a satisfacer los requerimientos de sus usuarios. Para ello es necesario contar con esquemas de comunicacin entre agentes que posibiliten la cooperacin y el intercambio de conocimiento. Adems, deben poseer un alto grado de autonoma para actuar interactuando con sus pares. La motivacin detrs de la construccin de agentes colaborativos es que los sistemas construidos con unidades relativamente simples proveen mayor funcionalidad que un ente mayor, pudiendo extender la funcionalidad del sistema mas all de las capacidades de uno de sus miembros. Adems, estas arquitecturas posibilitan contar con mayor confiabilidad (debido a la redundancia) y mayor velocidad (debido al paralelismo) en el sistema conjunto. Las reas de aplicacin de este tipo de agentes incluyen: Resolucin de problemas demasiado grandes. Interconexin de mltiples sistemas. Manejo de informacin proveniente de fuentes distribuidas.

CLASIFICACIN DE LOS AGENTES

continuacin

Los agentes mviles: Son procesos capaces de viajar por una red de computadores, interactuando con hosts externos, recolectando informacin en nombre de su dueo y retornando a casa luego de completar las tareas establecidas . Los agentes forman un nivel de abstraccin ms para el usuario, detrs del cual se encuentran soluciones a cuestiones tcnicas en algunos casos complicadas. Una de estas cuestiones es la distribucin, es decir, como manejar recursos computacionales distribuidos. Con la idea de agentes mviles los recursos distribuidos no son completamente ocultados al usuario pero tampoco completamente expuestos. La nocin de movilidad viene del objetivo de reducir el trfico innecesario dentro de una red, con lo que se pueden reducir los costos de comunicacin. Adems, al aportar una nueva forma de computacin distribuida posibilita el mejor aprovechamiento de los recursos de la red y permite que los usuarios tengan acceso a una cantidad mayor de recursos. Por ejemplo, debido a que las sesiones en busca de un recurso determinado ciertas veces son largas, la idea de agentes mviles provee una solucin. Un usuario delega la tarea de bsqueda de informacin a un agente, establece una comunicacin con la red y enva al agente a cumplir con su misin. La prxima vez que el usuario se conecte, el agente retorna con los resultados obtenidos.

continuacin

CLASIFICACIN DE LOS AGENTES


Agentes de recuperacin de informacin. El objetivo principal de los agentes dedicados especficamente a la recuperacin de informacin es obtener informacin por el usuario. La motivacin para su construccin es que con el crecimiento vertiginoso de Internet, la cantidad de informacin accesible supera la cantidad de tiempo disponible para analizarla. Los agentes de recuperacin de informacin poseen mtodos para permitir el rpido acceso y recuperacin de informacin relevante. Tienen la tarea de administrar, manipular y juntar informacin de fuentes distribuidas. Pueden tener mecanismos de bsqueda y navegacin flexibles y algoritmos de clasificacin poderosos. El objetivo es construir agentes capaces de armar un diario personalizado, sabiendo dnde buscar, cmo encontrar lo buscado y cmo armarlo luego. Los agentes se presentan como una herramienta muy til en la tarea de resolver el problema de la sobrecarga de informacin, debido a que stos pueden realizar sus tareas mucho ms rpido que las personas y, adems, se encuentran disponibles las veinticuatro horas.

VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS


Economa. El cociente precio/desempeo de la suma del poder de los procesadores separados contra el poder de uno solo centralizado es mejor cuando estn distribuidos. Velocidad: Relacionado con el punto anterior, la velocidad sumada es muy superior. Confiabilidad: Si una sola mquina falla, el sistema total sigue funcionando. Crecimiento: El poder total del sistema puede irse incrementando al aadir pequeos sistemas, lo cual es mucho ms difcil en un sistema centralizado y caro. Distribucin: Algunas aplicaciones requieren de por s una distribucin fsica.

continuacin

VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS


Por otro lado, los sistemas distribuidos tambin exhiben algunas ventajas sobre sistemas aislados. Estas ventajas son: Compartir datos: Un sistema distribuido permite compartir datos ms fcilmente que los sistemas aislados, que tendran que duplicarlos en cada nodo para lograrlo. Compartir dispositivos. Un sistema distribuido permite acceder dispositivos desde cualquier nodo en forma transparente, lo cual es imposible con los sistemas aislados. El sistema distribuido logra un efecto sinergtico. Comunicaciones. La comunicacin persona a persona es factible en los sistemas distribuidos, en los sistemas aislados no. Flexibilidad. La distribucin de las cargas de trabajo es factible en el sistema distribuido, se puede incrementar el poder de cmputo.

DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS


As como los sistemas distribuidos exhiben grandes ventajas, tambin se pueden identificar algunas desventajas, algunas de ellas tan serias que han frenado la produccin comercial de sistemas operativos en la actualidad. El problema ms importante en la creacin de sistemas distribuidos es el software; los problemas de comparticin de datos y recursos son tan complejos que los mecanismos de solucin generan mucha sobrecarga al sistema hacindolo ineficiente. El revisar y validar, por ejemplo, quines tienen acceso a algunos recursos y quines no, el aplicar los mecanismos de proteccin y registro de permisos consume demasiados recursos. En general, las soluciones presentes para estos problemas estn an en sus comienzos.

continuacin

DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS


Otros problemas de los sistemas distribuidos surgen debido a la concurrencia y al paralelismo. Tradicionalmente las aplicaciones son creadas para computadores que ejecutan secuencialmente, de manera que el identificar secciones de cdigo paralelizable es un trabajo arduo, pero necesario para dividir un proceso grande en sub-procesos y enviarlos a diferentes unidades de procesamiento para lograr la distribucin. Con la concurrencia se deben implantar mecanismos para evitar las condiciones de competencia, las postergaciones indefinidas, el ocupar un recurso y estar esperando otro, las condiciones de espera circulares y, finalmente, los abrazos mortales (deadlocks). Estos problemas de por s se presentan en los sistemas multiusuarios o multitareas, y su tratamiento en los sistemas distribuidos es an ms complejo, y por lo tanto, necesita de algoritmos ms complejos con la inherente sobrecarga esperada.

2. CARACTERIZACIN DE LOS SISTEMAS DISTRIBUIDOS

HETEROGENEIDAD
Un sistema distribuido permite que los usuarios accedan a servicios y ejecuten aplicaciones sobre un conjunto heterogneo de redes y computadores. Esta heterogeneidad (es decir, variedad y diferencia) comprende los siguientes cinco aspectos: Redes. Hardware de computadores. Sistemas operativos. Lenguajes de programacin. Implementaciones de diferentes desarrolladores. El problema de la heterogeneidad plantea que los programas escritos por diferentes programadores no podrn comunicarse entre s a menos que utilicen estndares comunes, por ejemplo, para la comunicacin en red, la representacin de datos elementales y estructuras de datos en mensajes. Para que esto ocurra es necesario concertar y adoptar estndares como por ejemplo los protocolos de Internet.

continuacin

HETEROGENEIDAD

HETEROGENEIDAD Y CODIGO MOVIL


El trmino cdigo mvil se emplea para referirse al cdigo que puede ser enviado desde un computador a otro y ejecutarse en ste ltimo, por eso los applets16 de Java17 son un ejemplo de ello. Dado que el conjunto de instrucciones de un computador depende del hardware, el cdigo de nivel de mquina adecuado para ejecutarse en un tipo de computador no es adecuado para ejecutarse en otro tipo. Por ejemplo, los usuarios de PCs envan a veces archivos ejecutables agregados a los correos electrnicos para ser ejecutados por el destinatario, pero el receptor bien pudiera no ser capaz de ejecutarlo, por ejemplo, sobre un Macintosh o un computador con LINUX. La aproximacin de mquina virtual provee un modo de crear cdigo ejecutable sobre cualquier hardware: el compilador de un lenguaje concreto genera cdigo para una mquina virtual en lugar de cdigo apropiado para un hardware particular, por ejemplo el compilador Java produce cdigo para la mquina virtual Java, la cual slo necesita ser implementada una vez para cada tipo de mquina con el fin de poder lanzar programas Java. Sin embargo, la solucin Java no se puede aplicar de modo general a otros lenguajes.

EXTENSIBILIDAD
La extensibilidad de un sistema de computacin 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. Para hablar de extensibilidad es importante que la documentacin de las interfaces software clave de los componentes de un sistema est disponible 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 va mas all de los procedimientos oficiales de estandarizacin, que por lo dems suelen ser lentos y complicados.

SEGURIDAD
Entre los recursos de informacin que se ofrecen y se mantienen en los sistemas distribuidos, muchos tienen un alto valor intrnseco para sus usuarios. Por esto su seguridad es de considerable importancia. 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); y disponibilidad (proteccin contra interferencia con los procedimientos de acceso a los recursos). Si se tiene en cuenta lo anterior, el permitir un acceso libre a todos los recursos de una intranet lleva asociados riesgos contra la seguridad.

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 su capacidad de procesamiento puede crecer aadiendo nodos adicionales: Aumenta el rendimiento con un nmero creciente de nodos (idealmente de forma lineal). El tiempo de respuesta decrece (o se mantiene constante o crece lentamente) con un nmero creciente de nodos. La fiabilidad el sistema aumenta con nmero creciente de nodos (idealmente de forma logartmica). Como consecuencia de lo anterior el Sistema Distribuido conserva su efectividad cuando ocurre un incremento significativo en el nmero de recursos y el nmero de usuarios.

TRATAMIENTO DE FALLOS
Los sistemas computacionales a veces fallan. Cuando aparecen fallos en el hardware o el software, los programas pueden producir resultados incorrectos o pueden parar antes de haber completado el clculo pedido. Los fallos en un sistema distribuido son parciales; es decir, algunos componentes fallan mientras otros siguen funcionando. Consecuentemente, el tratamiento de fallos es particularmente difcil. Entre las principales tcnicas para tratar fallos se encuentran las siguientes: Deteccin de fallos. Algunos fallos son detectables. Por ejemplo, se pueden utilizar sumas de comprobacin para detectar datos corruptos en un mensaje o un archivo. Por otra parte, los sistemas que trabajan con el protocolo IP tienen algoritmos para detectar errores en los datos transmitidos. Enmascaramiento de fallos. Algunos fallos que han sido detectados pueden ocultarse o atenuarse. Dos ejemplos de ocultacin de fallos son: 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. Simplemente eliminar un mensaje corrupto es un ejemplo de atenuar un fallo (pudiera retransmitirse de nuevo).

continuacin

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. Sus clientes pueden disearse para tolerar ciertos fallos, lo que implica que tambin los usuarios tendrn que tolerarlos generalmente. Por ejemplo, cuando un visualizador web no puede contactar con un servidor web no hace que el cliente tenga que esperar indefinidamente mientras hace sucesivos intentos; informa al usuario del problema, dndole la libertad de intentarlo ms tarde. 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 reversarse (roll back) a una situacin anterior. En general, cuando aparecen fallos los clculos realizados por algunos programas se encontrarn incompletos y al actualizar datos permanentes (archivos e informacin ubicada en almacenamiento persistente) pudiera encontrarse en un estado inconsistente.

TRATAMIENTO DE FALLOS

continuacin

Redundancia. Puede lograrse que los servicios toleren fallos mediante el empleo redundante (duplicidad) de componentes. Ejemplo:  Siempre debe haber al menos dos rutas diferentes entre cualesquiera dos encaminadotes (routers) 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. Los sistemas distribuidos proporcionan un alto grado de disponibilidad frente a los fallos del hardware. La disponibilidad de un sistema mide la proporcin de tiempo en que est utilizable. Cuando falla algn componente del sistema distribuido slo resulta afectado el trabajo relacionado con el componente defectuoso. As como cuando un computador falla el usuario puede desplazarse a otro, tambin puede iniciarse un proceso de servicio en otra ubicacin.

CONCURRENCIA
Tanto los servicios como las aplicaciones proporcionan recursos que pueden compartirse entre los clientes en un sistema distribuido. Existe por lo tanto una posibilidad de que varios clientes intenten acceder a un recurso compartido a la vez. Por ejemplo, una estructura de datos que almacena artculos de un determinado Proveedor puede ser accedida muy frecuentemente cuando se ofertan descuentos o gangas. El proceso que administra un recurso compartido puede atender las peticiones de cliente una por una en cada momento, pero esta aproximacin limita el ritmo de produccin del sistema Por esto los servicios y aplicaciones permiten, usualmente, procesar concurrentemente mltiples peticiones de los clientes.

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. identifican ocho formas de transparencia: Transparencia de acceso que permite acceder a los recursos locales y remotos empleando operaciones idnticas. Transparencia de ubicacin que permite acceder a los recursos sin conocer su localizacin. Transparencia de concurrencia que permite que varios procesos operen concurrentemente sobre recursos compartidos sin interferencia mutua. Transparencia de replicacin que 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.

continuacin

TRANSPARENCIA
Transparencia frente a fallos que 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 que permite la reubicacin de recursos y clientes en un sistema sin afectar la operacin de los usuarios y los programas. Transparencia de prestaciones que permite reconfigurar el sistema para mejorar las prestaciones segn vara su carga. Transparencia al escalado que permite al sistema y a las aplicaciones expandirse en tamao sin cambiar la estructura del sistema o los algoritmos de aplicacin. Las dos ms importantes son la transparencia de acceso y la transparencia de ubicacin; su presencia o ausencia afecta principalmente a la utilizacin de recursos distribuidos. A veces se les da el nombre conjunto de transparencia de red.

3. TIPOS DE SISTEMAS DISTRIBUIDOS

INTERNET
Internet es una vasta coleccin de redes de computadores de diferentes tipos, las cuales se encuentran interconectadas. El diseo y la construccin de los mecanismos de comunicacin Internet (los protocolos 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.

INTRANET
Una intranet es una porcin de Internet que es administrada separadamente, y que tiene un lmite que puede ser configurado para hacer cumplir polticas de seguridad local. Est compuesta de varias redes de rea local (LANs / Local Area Networks) enlazadas por conexiones backbone. 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. Una intranet est conectada a Internet por medio de un encaminador (router), lo que permite a los usuarios hacer uso de servicios de otro sitio como el Web o el correo electrnico. Permite tambin acceder a los servicios que ella proporciona a los usuarios de otras intranets.

continuacin

INTRANET
Red Intranet

COMPUTACIN MVIL Y UBICUA


Si hay un hecho relevante y caracterstico de nuestra sociedad actual es la aparicin y rpida difusin de dispositivos mviles (telfonos mviles, porttiles, etc.) los cuales nos acompaan en todo momento debido a su reducido tamao. Estos dispositivos tienen capacidad de cmputo y adems pueden comunicarse con otros elementos sin necesidad de conexiones fsicas, gracias a protocolos inalmbricos como GPRS, UMTS, WLAN y Bluetooth.

continuacin

COMPUTACIN MVIL Y UBICUA


Las aplicaciones software de estos pequeos dispositivos deben de adaptarse a las restricciones de memoria, procesamiento y de comunicacin intermitente y de calidad cambiante que les caracteriza. El paradigma de computacin distribuida que mejor se adapta a todas estas caractersticas es lo que se denomina Agente y de esta manera es que se desarrollan ampliamente los sistemas de computacin mvil y ubicua. De acuerdo con lo anterior es que han evolucionado las plataformas de agentes mviles en dispositivos limitados, y de la mano una serie de servicios bsicos que deben ser proporcionados para los entornos mviles. Por lo general la mayora de aplicaciones distribuidas para plataformas mviles se estn desarrollando en lenguaje Java el cual se caracteriza por su alta portabilidad.

COMPUTACIN DISTRIBUIDA
La computacin distribuida, computacin en grilla o informtica en rejilla, es un nuevo modelo para resolver problemas de computacin masiva utilizando un gran nmero de computadores organizados en racimos incrustados en una infraestructura de telecomunicaciones distribuida. La informtica en grilla (grid computing) consiste en compartir recursos heterogneos (basadas en distintas plataformas, arquitecturas de equipos y programas, lenguajes de programacin), situados en distintos lugares y pertenecientes a diferentes dominios de administracin sobre una red que utiliza estndares abiertos. Dicho brevemente, consiste en virtualizar los recursos informticos. Para ello se aprovecha la gran capacidad que estn teniendo los procesadores y en especial los utilizados en equipos personales. La computacin en grilla ha sido diseada para resolver problemas demasiado grandes para cualquier simple supercomputadora, mientras se mantiene la flexibilidad de trabajar en mltiples problemas ms pequeos. Por lo tanto, la computacin distribuida es naturalmente un entorno multiusuario; por ello, las tcnicas de autorizacin segura son esenciales antes de permitir que los recursos informticos sean controlados por usuarios remotos.

CARACTERISTICAS DE LA COMPUTACIN DISTRIBUIDA


En entorno de computacin distribuida en grilla se caracteriza principalmente por contar con los siguientes elementos:  Servidores y clientes con conexin a una red (Internet).  Conexin altamente confiable 7/24 (7 das a la semana, 24 horas al da).  Comparticin de recursos (hardware, software, datos, dispositivos de almacenamiento, etc.)  Desarrollo de procesos de manera transparente a los usuarios.  Alta capacidad de clculo global. Las dos principales entidades en un entorno de computacin distribuida son el servidor y muchos clientes. El servidor se considera un computador central que genera paquetes de trabajo los cuales son enviados a los clientes. Estos ltimos realizan las tareas descritas en el paquete y una vez hayan finalizado, el paquete de trabajo junto con los resultados son regresados al servidor.

VENTAJAS DE LA COMPUTACIN DISTRIBUIDA


Los computadores y el acceso a la red son econmicos: Los computadores personales actuales tienen una potencia superior a los primeros, adems de tener mucho menos tamao y precio. Comparticin de recursos: La arquitectura de la computacin distribuida refleja la arquitectura de computacin de las organizaciones modernas. Cada organizacin mantiene de forma independiente los computadores y recursos locales, mientras permite compartir recursos a travs de la red. Escalabilidad: En la computacin monoltica, los recursos disponibles estn limitados por la capacidad de un computador. Por el contrario, la computacin distribuida proporciona escalabilidad, debido a que permite incrementar el nmero de recursos compartidos segn la demanda. Tolerancia a fallos: Al contrario que la computacin monoltica, la computacin distribuida permite que un recurso pueda ser replicado con el fin de dotar al sistema de tolerancia a fallos, de tal forma que proporcione disponibilidad de dicho recurso en presencia de fallos.

DESVENTAJAS DE LA COMPUTACIN DISTRIBUIDA


Mltiples puntos de fallo: Hay ms puntos de fallo en la computacin distribuida. Ya que mltiples computadores estn implicados en la computacin distribuida, y todos son dependientes de la red para su comunicacin, el fallo de uno o ms computadores, o uno o ms enlaces de red, puede suponer problemas para un sistema de computacin distribuida. Aspectos de seguridad: En un sistema distribuido hay ms posibilidad de ocurrencia de ataques. Mientras que en un sistema centralizado los recursos estn bajo el control de una administracin nica, en un sistema distribuido la gestin es descentralizada y frecuentemente implica a un gran nmero de organizaciones independientes

You might also like