Está en la página 1de 5

Tema: Definir e identificar las caractersticas en un Sistema Distribuido de: Heterogeneidad Extensibilidad Seguridad Escalabilidad Concurrencia Abstract The

t The distributed systems are everywhere. Each organization manages an intranet, which provides local services and internet services to local users and usually provides services to other Internet users. Building distributed systems presents many challenges: Heterogeneity: must be built from a variety of different networks, operating systems, computer hardware and programming languages. Extensibility: distributed systems should be extensible, the first step is the publication of the interfaces of its components. Security: Encryption can be used to provide adequate protection to shares when a message is transmitted through the network. Scalability: a distributed system is scalable if the cost of adding a user is a constant amount in terms of resources that should be added. Concurrency: the presence of multiple users in a distributed system is a source of concurrent requests to resources.

Marco Terico Un sistema distribuido es aquel en que los componentes localizados en computadores, conectados en red, comunican y coordinan sus acciones nicamente mediante el paso de mensajes. Cada organizacin administra una intranet, que provee servicios locales y servicios de internet a los usuarios locales y habitualmente proporciona servicios a otros usuarios de internet. 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. Los desafos que surgen en la construccin de sistemas distribuidos son la heterogeneidad de sus componentes que permite que se puedan aadir o reemplazar componentes, la extensibilidad, la seguridad y escalabilidad, que es la capacidad para funcionar cuando se incrementa el nmero de usuarios y la concurrencia de sus componentes. Desafos

La construccin de sistemas distribuidos presenta muchos desafos:


Heterogeneidad Internet permite a los usuarios acceder a servicios y ejecutar aplicaciones sobre un conjunto heterogneo de redes y computadores. Esta heterogeneidad debe construirse desde una variedad de diferentes redes, sistemas operativos, hardware de computador y lenguajes de programacin. Los protocolos de comunicacin de internet enmascaran y ocultan las diferencias entre redes y el middleware puede tratar con las diferencias restantes. Middleware: el trmino 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. La mayora de middleware se implementa sobre protocolos de internet, enmascarando stos la diversidad de redes existentes. An as cualquier middleware trata con las diferencias de sistema operativo y hardware. El middleware proporciona un modelo computacional uniforme al enlace de los programadores de servidores y aplicaciones distribuidas. Los posibles modelos incluyen invocacin sobre objetos remotos, acceso remoto mediante SQL y procesamiento distribuido de transacciones. Heterogeneidad y cdigo civil: el trmino cdigo mvil se emplea para referirse al cdigo que puede ser enviado desde un computador a otro y ejecutarse en ste. Dado que el conjunto de instrucciones de un computador depende del hardware, el cdigo de nivel de mquina adecuado para correr en un tipo de computador no es adecuado para ejecutarse en otro tipo. La aproximacin de mquina virtual provee un modo de crear cdigo ejecutable sobre cualquier hardware: el compilador de un lenguaje concreto generar cdigo para una mquina virtual que en lugar de cdigo apropiado para una hardware particular. 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. 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, que por lo dems suelen ser lentos y complicados. Los sistemas diseados de este modo para dar soporte a la comparticin de recursos se etiquetan como sistemas distribuidos abiertos 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. Otro beneficio ms, citado a menudo, de los sistemas abiertos es su independencia de proveedores concretos. Resumiendo: 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.

Seguridad La seguridad de los recursos de informacin tiene tres componentes: confidencialidad, integridad y disponibilidad. Internet permite a un programa de un computador comunicarse con un programa de otro computador sin mencionar su ubicacin, el permitir un acceso libre a todos los recursos de una intranet lleva asociados riesgos contra la seguridad. Se puede emplear encriptacin para proporcionar una proteccin adecuada a los recursos compartidos y mantener secreta la informacin sensible cuando se transmite un mensaje a travs de la red. En un sistema distribuido, los clientes envan peticiones de acceso a datos administrados por servidores, lo que trae consigo enviar informacin en los mensajes por la red. Por ejemplo: 1 Un mdico puede solicitar acceso a los datos hospitalarios de un paciente o enviar modificaciones sobre ellos. En comercio electrnico y banca, los usuarios envan su nmero de tarjeta de crdito a travs de Internet.

La seguridad no slo es cuestin de ocultar los contenidos de los mensajes, tambin consiste en conocer con certeza la identidad del usuario u otro agente en nombre del cual se enva el mensaje. Existen dos desafos de seguridad que no han sido cumplimentados completamente: 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. A esto se le denomina ataque de denegacin de servicio. 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: por ejemplo, pudiera parecer que presentan un interesante dibujo en la pantalla cuando en realidad estn interesados en el acceso a los recursos locales, o quizs pueda ser parte de un ataque de denegacin de servicio.

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. Internet proporciona un ejemplo de un sistema distribuido en el que el nmero de computadores y servicios experimenta un dramtico incremento. El diseo de los sistemas distribuidos presenta los siguientes retos: Control del costo de los recursos fsicos: segn crece la demanda de un recurso, debiera ser posible extender el sistema, a un costo razonable, para satisfacerla. Para que un sistema con n usuarios fuera escalable, la cantidad de recursos fsicos necesarios para soportarlo debiera ser como mnimo O(n), es decir proporcional a 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. Los algoritmos que emplean estructuras jerrquicas se comportan mejor frente al crecimiento de la escala que los algoritmos que emplean estructuras lineales. Pero incluso con estructuras jerrquicas un incremento en tamao traer consigo prdidas en prestaciones: el tiempo que lleva acceder a datos estructurados jerrquicamente es O(log n), donde n es el tamao del conjunto de datos. Para que un sistema sea escalable, la mxima prdida de prestaciones no debiera ser peor que esta medida. Prevencin de desbordamiento de recursos software: no hay una solucin idnea para este problema. Es difcil predecir la demanda que tendr que soportar un sistema con aos de anticipacin. Adems, sobredimensionar para prever el crecimiento futuro pudiera ser peor que la adaptacin a un cambio cuando se hace necesario; las direcciones internet grandes ocupan espacio extra en los mensajes, y en la memoria de los computadores. Evitacin de cuellos de botella de prestaciones: en general, para evitar cuellos de botella de prestaciones, los algoritmos deberan ser descentralizados. 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.

Cada objeto que represente un recurso compartido en un sistema distribuido debe responsabilizarse de garantizar que opera correctamente en un entorno concurrente. De este modo cualquier programador que recoge una implementacin de un objeto que no est concebido para su aplicacin en un entorno distribuido deber realizar las modificaciones necesarias para que sea seguro su uso en el entorno concurrente. Para que un objeto sea seguro en un entorno concurrente, sus operaciones deben sincronizarse de forma que sus datos permanezcan consistentes. Esto puede lograrse mediante el empleo de tcnicas conocidas como los semforos, que se usan en la mayora de los sistemas operativos. Conclusiones El uso de los Sistemas Distribuidos permite compartir informacin, recursos como impresoras, archivos, lneas de red, pginas web, etc., que son accedidas por clientes que son llamados navegadores o visualizadores. Los avances en la tecnologa posibilitan la integracin de dispositivos de computacin pequeos y porttiles en sistemas distribuidos, la base de estos ltimos es obtener sistemas mucho ms rpidos. Para lograr un sistema eficiente hay que descartar la idea de ejecutar un programa en un nico procesador de todo el sistema y pensar en distribuir las tareas a los procesadores libres ms rpidos en cada momento. Bibliografa George Coulouris, Sistemas distribuidos: conceptos y diseo, Pearson

También podría gustarte