Anda di halaman 1dari 6

A DISTRIBUTED SYSTEMS TASK IN LTEX , JUNIO 2011

Reporte Sistemas Distribuidos


Orlado A. Ferral ITSR

AbstractEl concepto de sistema distribuido surge a partir de la necesidad de tener redes din micas, es decir que ahora a las redes no se limitar n a ser sistemas disenados para servir a a los usuarios geogr camente dispersos, aunado a esto ser n a a redes que permitan el crecimiento o decrecimiento del sistema segun se requiera. De esta manera, el sistema como red ser a capaz de tolerar la adici n de nuevos dispositivos o que sean o retirados aqu llos que ya no sean necesarios. Lo importante de e este concepto es que se lleve a cabo de una forma sencilla; es decir, que sea transparente, y que se aplique desde el programador del sistema hasta el usuario nal. Por otro lado, es fundamental tener presente que en un sistema distribuido las tareas se distribuyen entre los componentes que integran la red. La responsabilidad del procesamiento y las aplicaciones recaer sobre las entidades a que constituyen la red.

II. M OTIVACI ON : Los sistemas distribuidos suponen un paso m s en la a evoluci n de los sistemas inform ticos, entendidos desde el o a punto de vista de las necesidades que las aplicaciones plantean y las posibilidades que la tecnologa ofrece. Antes de propor cionar una denicin de sistema distribuido resultar interesante a presentar, a trav s de la evoluci n hist rica, los conceptos e o o que han desembocado en los sistemas distribuidos actuales, caracterizados por la distribuci n fsica de los recursos en o m quinas interconectadas. a Utilizaremos aqu el t rmino recurso con car cter general e a para referirnos a cualquier dispositivo o servicio, hardware o software, susceptible de ser compartido.

I. I NTRODUCCI ON

III. D EFINICI ON DE UN S ISTEMA D ISTRIBUIDO Denir Sistemas Distribuidos es complicado dado que no existe una denici n consisa sobre este tema pero algunos o autores lo denen como:

L desarrollo de los sistemas distribuidos vino de la mano de las redes locales de alta velocidad a principios de 1970. M s recientemente, la disponibilidad de computadoa ras personales de altas prestaciones, estaciones de trabajo y ordenadores servidores ha resultado en un mayor desplazamiento hacia los sistemas distribuidos en detrimento de los ordenadores centralizados multiusuario. Esta tendencia se ha acelerado por el desarrollo de software para sistemas distribuidos, dise ado para soportar el desarrollo de aplicaciones n distribuidas. Este software permite a los ordenadores coordinar sus actividades y compartir los recursos del sistema hardware, software y datos. Los sistemas distribuidos se implementan en diversas plataformas hardware, desde unas pocas estaciones de trabajo conectadas por una red de area local, hasta Internet, una colecci n de redes de area local y de area extensa interconeco tados, que enlazan millones de ordenadores. Las aplicaciones de los sistemas distribuidos varan desde la provisi n de capacidad de computo a grupos de usuarios, hasta o sistemas bancarios, comunicaciones multimedia y abarcan pr cticamente todas las aplicaciones comerciales y t cnicas de a e los ordenadores. Los requisitos de dichas aplicaciones incluyen un alto nivel de abilidad, seguridad contra interferencias externas y privacidad de la informaci n que el sistema mantiene. o Se deben proveer accesos concurrentes a bases de datos por parte de muchos usuarios, garantizar tiempos de respuesta, proveer puntos de acceso al servicio que est n distribuidos a geogr camente, potencial para el crecimiento del sistema a para acomodar la expansi n del negocio y un marco para o la integraci n de sistema usados por diferentes compa as y o n organizaciones de usuarios.
M.C. Fernando Pech May (http://www.tamps.cinvestav.mx/ fpech/sd).

N SISTEMA DISTRIBUIDO es una colecci n de o computadoras independientes que aparesen ante los usuarios como del sistema como una unica computadora. [Tenenbaum]

N SISTEMA en el cual componentes ubicados en una red de computadoras se comunican y coordinan sus acciones mediante el intercambio de mensajes. [Coulouris]. Dado estas deniciones formamos nuestra denci n: o Un sistema distribuido es aqul al que sus usuarios ven como un ordinario sistema operativo centralizado; sin embargo, se ejecuta en diferentes e independientes computadoras.

IV. C ARACTERISTICAS Un sistema distribuido que pretenda ofrecer una visin de sistema unico deber cumplir las propiedades que se a presentan a continuaci n La primera caracterstica es la gran o cantidad tanto de ordenadores como de usuarios que hay en Internet. Relacionado con esto, se encuentra la dispersi n o geogr ca de estos. La dispersi n geogr ca afecta a la a o a manera en la que los componentes del grupo perciben las acciones que pasan en el sistema. Una Segunda caracterstica es la autonoma de los diferentes ordenadores que forman el sistema inform tico. Es a

A DISTRIBUTED SYSTEMS TASK IN LTEX , JUNIO 2011

muy habitual que diferentes partes de un sistema distribuido estn administradas por distintos administradores. Relacionada con esta caracterstica est la seguridad. Cada organizaci n o tiene unas polticas de seguridad diferentes, como cortafuegos. Es necesario que los sistemas distribuidos que dise amos n se puedan ejecutar teniendo en cuenta estas restricciones impuestas por los diferentes administradores. Una cuarta caracterstica es la calidad de servicio. En un sistema distribuido a escala Internet, este es un aspecto fundamental que vendr muy condicionado por la latencia de a la red, los cortes y otros fenmenos que la puedan afectar. M ltiples elementos de procesamiento. u Mecanismos de intercomunicaci n. o Independencia a fallos en los nodos de procesamiento. Estado de compartici n. o Esquema de protecci n. o Plataformas diversas (heterog neas). e Concurrencia. Carencia de reloj global. Fallos independientes de los componentes. V. V ENTAJAS Y DESVENTAJAS DE LOS SD La base comparativa para obtener las ventajas y desventajas de los SD se hace con respecto a una computadora aislada entre otros muchos terminos usados.

Se requiere de sincronizaci n para actualizar el estado o del sistema. Concurrencia. Seguridad.

VI. MODELOS Y ESTILOS ARQUITECTONICOS DE LOS SD A. estilos Los estilos arquitectnicos describen la organizaci n l gica o o de los componen- tes de un sistema distribuido. Un componente l gico es una unidad modular, sustituible, que dene o las interfaces requeridas y ofrecidas en otros componentes l gicos. Los sistemas distribuidos se forman a base de como ponentes l gicos interrelacionados entre ellos. Los conectores o son mecanismos que hacen de mediadores de la comunicaci n, o entre componentes. A partir de interrelaci nar componentes o l gicos y conectores se pueden construir diferentes estilos de o sistemas distribuidos: Arquitecturas por capas. Los componentes l gicos se organizan por capas. Un o componente l gico de la capa Li s lo puede invocar o o operaciones en la capa Arquitecturas orientadas a componentes. Cada objeto representa un componente l gico y los o componentes l gicos est n interconectados mediante ino a vocaciones remotas (RPC) Arquitectura orientada a los datos. En los sistemas distribuidos la localidad de los datos es un factor que afecta al rendimiento del sistema. Arquitecturas orientadas a eventos. Los componentes b sicamente se comunican mediante a eventos. B. arquitecturas Una clasicaci n muy extendida de los sistemas distribuio dos es aquella que los clasica en funci n de la ubicaci n, o o jerarqua o relaci n entre los componentes l gicos. o o Arquitecturas centralizadas. En las arquitecturas centralizadas la interrelaci n entre o componentes sigue un patr n muy caracterstico en el o que hay una jerarqua denida de manera que ciertos componentes requieren informaci n o servicios que o ofrecen otros componentes l gicos. o

A. ventajas

Con el uso de SD se logra compartir informaci n as o como dispositivos perif ricos entre m s de un usuario. e a Los SD permiten dividir las cargas de trabajo entre diferentes computadoras de manera m s ecaz. a Cuando un nodo de procesamiento falla, el sistema en general sigue funcionando. Ejecuci n concurrente de procesos o Economizar el rendimiento (procesamiento y almacenamiento). Crecimiento incremental. Alta disponibilidad Conabilidad (tolerancia a fallos)

B. desventajas

Las redes de comunicaci n, pueden llegar a perder meno sajes, latencia de las comunicaciones o saturaci n de o mensajes. Administraci n ms compleja (requerimientos de mayores o controles de procesamiento y acceso). Costos. Interconexi n de componentes. o Fallas de propagaci n. o Localizaci n, recuperaci n y coordinaci n de recursos o o o (sistema de nombre: DNS, JNDI). No se tiene disponibilidad de una memoria global y un reloj global. Seriabilizacin (Marshalling).

Cliente-servidor. Esta arquitectura es la que estamos m s acostumbrados a a utilizar en entornos distribuidos. Hist ricamente ha o sido la ms usada, y todava lo es hoy en da. La web es un ejemplo de arquitectura cliente-servidor. Un servidor tambi n puede ser cliente de otros servidores, una e aplicaci n de correo va web act a como servidor para o u el navegador y como cliente del servidor de correo que gestiona los mensajes del usuario en cuesti n. o Arquitectura multiestrato. En las arquitecturas multiestrato, la funcionalidad est distribuida entre distintas plataformas u ordenadores.

A DISTRIBUTED SYSTEMS TASK IN LTEX , JUNIO 2011

La interfaz reside en el ordenador del usuario, los servicios funcionales pueden estar en uno o m s a ordenadores, y los datos o los sistemas propietarios est n a en plataformas adicionales. Es muy habitual hablar de arquitecturas multiestrato en la bibliografa relacionada con las arquitecturas de sistemas de informaci n. Las o arquitecturas multiestrato m s habituales son la de dos a estratos y la de tres estratos.

La arquitectura de dos estratos est formada per tres a componentes distribuidos en dos niveles (nivel cliente y nivel servidor). Los tres componentes son los siguientes: 1) Interfaz usuario del sistema. 2) Capacidad de procesamiento. 3) Gesti n de datos (servicio de datos y cheros). o La interfaz de usuario est ubicada en el cliente. La a gesti de la base de datos est ubicada en el servidor. o a La capacidad de procesamiento est repartida entre el a cliente y el servidor.. Aplicaciones basadas en la web Un caso particular de aplicaciones cliente-servidor son las aplicaciones que se ejecutan aprovechando la arquitectura de la web. Estas aplicaciones se basan en el hecho de tener toda la capacidad de procesamiento en un servidor web (o conjunto de servidores) a los cuales se accede desde un navegador web. Cuando el usuario hace clic sobre un enlace de la p gina web que tiene a en su navegador, se genera una petici n en el servidor o que contiene la informaci n. El servidor, al recibir la o petici n, devuelve la p gina pedida si la peticio n estaba o a o en una p gina, o devuelve el resultado de ejecutar una a aplicacin si el enlace corresponda a un c digo que haba o que ejecutar (por ejemplo, CGI o Servlet). El navegador web proporciona a la aplicaci n un entorno en el que o presentar la informacin. La comunicacin entre cliente y servidor se hace utilizando el protocolo HTTP. El resultado que devuelve el servidor al cliente se enva en formato HTML, de manera que para el cliente web es totalmente transparente si accede a una pgina web o a una aplicacin que genera un re- sultado formateado en HTML. Arquitecturas descentralizadas En el apartado anterior hemos visto cmo las arquitecturas multiestrato hacan una distribuci n vertical de los o componentes, es decir, distribuan l gicacamente o los componentes en diferentes m quinas segn sus a funcionalidades. La distribuci n vertical no es la unica o manera de separar funcionalidades de un sistema distribuido. La distribuci n horizontal consiste en o distribuir en partes l gicamente equivalentes las o funcionalidades de un cliente o de un servidor, de manera que cada parte mantenga todas las funcionalidades, pero que la carga sobre el sistema quede balanceada entre las diferentes partes.

No estructuradas. Un sistema de igual a igual que utilice una red superpuesta tipo no estructurado es un sistema que est compuesto de iguales que se conectan a la red sin a conocer su topologa. Estos sistemas usan mecanismos de inundacin para enviar consultas a trav s de la red e superpuesta. Cuando un igual recibe la pregunta, enva al igual que lo ha originado una lista de todo el contenido que encaja con la pregunta. Mientras que las t cnicas e basadas en la inundaci n son utiles para localizar o objetos altamente replicados y son resilientes ante las conexiones y desconexiones de los nodos, no tienen un comportamiento muy bueno cuando se hacen b squedas u de objetos poco replicados. De esta manera, las redes superpuestas no estructuradas tienen fundamentalmente un problema: Cuando tienen que gestionar un ritmo elevado de consultas o cuando hay crecimientos repentinos del tamao del sistema, se sobrecargan y tienen problemas de escalabilidad.

VII. T ECNOLOGAS D ISTRIBUIDAS I


Sockets (AP IBerkeley, W inSocks)C, Java, C, etc. RPC (RemoteP rocedureCall)C. RMI (RemoteM ethodInvocation)Java. DCOM (DistributedComponentObjectM odel)P ropietariodeM ic CORBA (CommonObjectRequestArchitecture) : C, C + +, Java, etc, Broker. NET Remoting C,C++,J, etc. Servicios Web (SOA), XM L(SOAP, W SDL, U DDI) Agentes m viles (JADE) o C digo M vil (Applets, ActiveX) o o VIII. A REA DE LOS S ISTEMAS D ISTRIBUIDOS

Redes de computadoras (Internet e intranet). Sistemas operativos distribuidos. Sistemas multimedia distribuidos. C mputo paralelo. o Bases de datos distribuidas. Sistemas de tiempo real distribuidos. C mputo M vil y ubicuo. o o Comercio Electr nico. o Sistemas Distribuidos Inteligentes. IX. E JEMPLOS DE S ISTEMAS D ISTRIBUIDOS

P2P (Peer to Peer). los procesos son totalmente descentralizados, funcionan como clientes y servidores a la vez, existen diversas arquitecturas. Cluster es una agrupaci n de computadoras intercomunio cadas entre s a trav s de un nodo central y cuyo objetivo e es realizar una tarea especca. Grid computing es muy parecido a P2P y al cluster. consisten en una asociaci n de computadoras con la unica o diferencia de que no existe un nodo centralizador. Est a caracterstica lo asemeja a P2P.

A DISTRIBUTED SYSTEMS TASK IN LTEX , JUNIO 2011

La idea del grid es que el poder de c mputo siempre est o e presente a semejanza de la red el ctrica. e Esto a dado pie al software bajo demanda. Aplicaciones de igual a igual. Los sistemas y aplicaciones de igual a igual se han hecho populares de la mano de las aplicaciones de compartici n o de cheros, pero hay otros tipos de aplicaciones. Skype es otro sistema tipo de igual a igual que es muy popular. Skype proporciona telefona en Internet. Utiliza un protocolo propietario del cual se conocen pocas cosas sobre su implementaci n. o Trackers: Los Trackers son servidores dedicados a mantener informaci n sobre un conjunto de iguales que comparten o o almacenan un contenido determinado. Cada Tracker es responsable de mantener informaci n sobre los iguales o que almacenan uno o ms de estos contenidos. El sistema ms representativo que hace uso de los Trackers es BitTorrent. Hbridos. Los sistemas hbridos solucionan problemas que no pueden ser resueltos de modo eciente por ninguno de los modelos anteriores. Por ejemplo, la localizaci n de o ciertos datos en sistemas descentralizados se convierte en problem tica cuando la red crece. Los sistemas no a estructurados usan tecnicas de inundaci n no determino istas que no nos aseguran el exito en las b squedas. Los u sistemas estructurados tienen problemas de sobrecarga cuando se hacen b squedas sobre rangos de objetos, ya u que estos s lo permiten realizar b squedas indexadas de o u modo eciente sobre objetos concretos. Por otra parte, los sistemas centralizados acaban convirti ndose en un cuello e de botella a medida que la escala del sistema aumenta.

de area local. Los computadores hacen uso de un mismo sistema operativo y un middleware que se encarga de abstraer y virtualizar los diferentes computadores del sistema dando la visi n al usuario de un sistema operativo unico. Los o clusters son sistemas dedicados a la supercomputaci n. El o sistema operativo de un cluster es est ndar y, por lo tanto, a es el middleware quien provee de libreras que permiten la computaci n paralela. o Uno de los problemas m s habituales en los clusters es el a de la gesti n de los procesos que hay que ejecutar. Las o soluciones ms usadas son las colas de procesos gestionadas por un nodo denominado master. Como alternativa, el sistema MOSIX propuso una soluci n sim trica en la cual no o e haba una jerarqua maestro-esclavo, como en las soluciones propuestas hasta entonces. MOSIX ofreca una visi n o del sistema no s lo como un unico sistema operativo, sino o como una unica mquina (Single System Image, en ingl s SSI). e

B. Grid Mientras que los clusters est n orientados a dar servicios a computacionales de uso local o con una funci n concreta, los o sistemas Grid tienen como objetivo la meta-computaci n, es o decir, capacidades computacionales a escala Internet. No se pueden hacer asunciones sobre el tipo de hardware, sistemas operativos, interconexiones de red, dominios administrativos, polticas de seguridad, de este sistema. Cuando se habla de grid se hace referencia a una infraestructura que comporta el uso integrado y colaborativo de ordenadores, redes, bases de datos e instrumentos cientcos que son propiedad y est n a gestionados por diferentes organizaciones. Las aplicaciones grid a menudo trabajan con grandes cantidades de datos y/o recursos computacionales que requieren de una compartici n o segura de recursos atravesando diferentes lmites organizativos o dominios de administraci n. Por su parte, idealmente el o usuario tiene una visi n del grid como si fuera un unico o sistema informtico, ya que este le proporciona un acceso uniforme a los recursos.

A. Tendencias

Web Sem ntica (Web 3.0?). a WOA (Web Oriented Architectures). Hardware: buses y redes de alta velocidad (inniband), ahorro energ tico. e Dom tica. o

C. Sistemas de informacin distribuidos Un sistema de informaci n es un software que administra o datos de alg n aspecto del mundo real con una nalidad u especca. Como aspecto del mundo real entendemos, por ejemplo, el proceso de cadenas gen ticas, sistemas bancarios, e contenidos de p ginas web y, como nalidad especca, el a almacenaje,la computaci n, la extracci n de informaci n, etc. o o o Los aspectos m s relevantes que hay que tener en cuenta en a el desarrollo de un sistema con estas caractersticas son los siguientes: El almacenaje de los datos: los datos deben ser almacenados durante perodos de tiempo. Adem s, se ha de tener a en cuenta que las operaciones sobre los datos pueden ser complejas y que la cantidad de datos suele ser grande. Los sistemas deben ofrecer funcionalidades para permitir la interpretaci n de los datos y la extracci n de o o conocimiento. Los principales enfoques para desarrollar

X. A PLICACIONES DE SD Sistemas computacionales distribuidos. Son sistemas de computaci n de alto rendimiento. Est n o a formados por conjuntos de computadores interconectados mediante una red que ofrecen funcionalidades de supercomputaci n, tales como la computaci n paralela. Diferenciamos o o principalmente tres tipos de sistemas computacionales distribuidos: A. clusters Estn formados por colecciones de computadores de similares caractersticas interconectados mediante una red

A DISTRIBUTED SYSTEMS TASK IN LTEX , JUNIO 2011

sistemas que administran gran cantidad de datos y soportan multitud de usuarios son los sistemas basados en transacciones. Los sistemas basados en transacciones se han convertido en claves a la hora de permitir distribuir la informacin en sistemas de gran escala. Estos sistemas Normalmente se organizan en componentes con funcionalidades determinadas. El componente m s representativo es el a gestor de transacciones, que se encarga de la gesti n de las o operaciones sobre los datos. El gestor de transacciones, aunque en la siguiente gura se muestra como un unico componente, puede estar distribuido en un cluster. XI. TECNICAS DE CONSTRUCION DE SD

Seguridad. Desempeo y crecimiento modular. Tiempo de respuesta limitado. Control aut nomo. o Temas relacionados con las comunicaciones (ancho de banda, latencia, distancia geogr ca). a

A. Consejos para Construcci n de los SD o


Duplicar la informaci n para aumentar la disponibilidad. o Usar copias locales de la informaci n para permitir una o operaci n aut noma. o o Utilizar cach s. e Usar tiempos de espera para revocar. Usar mecanismos est ndares para llamadas remotas. a Utilizar t cnicas de criptografa para la autenticaci n y e o seguridad de la informaci n. o XII. R EQUERIMIENTOS DE LOS SD

Transparencia de fallos: que el sistema contin e funcionando aunque haya alg n u u fallo de un componente o recurso. Transparencia de movilidad: que los recursos y los usuarios se puedan mover por el sistema sin que afecte a su funcionamiento. Transparencia de replicaci n: o que haya ms de una instancia de un recurso. Transparencia de rendimiento: permite que a medida que la carga vara el sistema se recongure para mejorar el rendimiento. Transparencia de escalabilidad: permite al sistema y las aplicaciones aumentar la escala sin cambios en la estructura del sistema o los algoritmos de las aplicaciones A la hora de construir un sistema distribuido, es importante encontrar un equilibrio entre un nivel alto de transparencia y el rendimiento del sistema. Por ejemplo, la mayora de aplicaciones en Internet intentan repetidamente contactar a un servidor antes de abandonar. Este intento de esconder el fallo transitorio de un servidor antes de intentar otro puede moderar el funcionamiento global del sistema. La conclusin que hay que sacar es que la transparencia es buena cuando se disea e implementa un sistema distribuido, pero hay que considerarla conjuntamente con otras caractersticas como el rendimiento.

XIII. C LASIFICACI ON DE SD

Disponibilidad y conabilidad. Transparencia. Es uno de los aspectos ms interesantes referente a los SD, consiste en lograr la imagen de un nico sistema.

Una de las clasicaciones m s aceptadas es la de Flynn, la a cual se basa en dos caractersticas esenciales: el n mero u de ujos de instrucciones y el n mero de ujo de datos. u Una computadora con un s lo ujo de instrucciones y o un ujo de datos (SISD,Single Instruction Single Data). Computadoras con monoprocesador. Los sistemas MIMD se subdividen en dos grupos: M quinas multiprocesadores. Existe un espacio de dia recciones virtuales, compartido por todos los CPU del sistema. Sistemas multicomputadoras.Cada m quina tiene su a propia memoria en particular. Las categoras anteriores puede clasicarse de acuerdo a la red de comunicacin con la que se interconectan los CPU, en las siguientes categoras: Tecnologa de bus La tecnologa de conmutador A continuaci n se muestran cuatro categoras de sistemas o de c mputo, en base al acoplamiento y tipo de conexi n. o o Multiprocesadores con base en buses. Multiprocesadores con conmutador. Multicomputadoras con base en buses. Multicomputadoras con conmutador. XIV. C ONCEPTOS G ENERALES

A. TRANSPARENCIA

Transparencia. La transparencia procura que ciertos aspectos del sistema sean invisibles a las aplicaciones (act an pero las aplicaciones no los ven, no les afecta, u por eso se dice que son transparentes). Se puede aplicar a di- ferentes aspectos: Existen diferentes tipos de transferencia. Transparencia de ubicaci n: o acceso a un recurso sin saber su ubicaci n. o Transparencia de acceso: permite que recursos locales y remotos se accedan usando las mismas operaciones. Transparencia de concurrencia: permite que diferentes usuarios compartan recursos de manera concurrente.

Proceso: Programa que se ejecuta en una m quina. En a muchas m quinas pueden ejecutarse varios procesos a la a

A DISTRIBUTED SYSTEMS TASK IN LTEX , JUNIO 2011

vez.

A PPENDIX B I NVOCACI ON DE M E TODOS REMOTOS La invocaci n de m todos remotos (RMI) es a la o e programaci n orientada a objetos lo que las RPC a la o programaci n procedimental. Vamos a revisar primero los o conceptos que se manejan en la invocacin de m todos del e modelo de objetos general, centrndonos despus en el modelo de objetos distribuidos. En los lenguajes de programaci n o orientada a objetos, como C++ y Java, un objeto, que encapsula un conjunto de datos y de m todos, se comunica e con otros objetos invocando los m todos de estos, que en e general aceptan argumentos y devuelven resultados. Aunque estos lenguajes proporcionan formas para permitir referenciar directamente las variables de los objetos, en el modelo de objetos distribuidos, que veremos luego, las variables s lo o pueden accederse a trav s de m todos. En la invocacin de un e e mtodo de un objeto (que denominaremos objeto receptor), hay que proporcionar la referencia al receptor, el m todo y los e argumentos de la invocaci n. Las referencias a objetos pueden o asignarse a variables, pasarse como argumentos o devolverse como resultados de una invocaci n. Una interfaz dene o el formato de acceso a un conjunto de m todos, es decir, e sus nombres, tipos de los argumentos, valores de retorno y excepciones (pero no la implementaci n de los m todos). o e En la invocacin de un m todo, el objeto receptor ejecuta el e m todo y devuelve el control al objeto invocante, devolviendo e eventualmente un resultado. Como consecuencia, el estado del receptor puede cambiar. Tambi n pueden desencadenarse e invocaciones a otros objetos. Durante la ejecuci n del m todo o e pueden producirse condiciones de error (excepciones). eference number labels box) R EFERENCES
[1] Tanenbaum A.; Steen, M. (2007). Distributed Systems: Principles and Paradigms, 2. E. Prentice Hall. Este libro es una buena ayuda para programadores, desarrolladores e ingenieros con el n de entender los principios y paradigmas b sicos de los sistemas distribuidos. a [2] oulouris, G.; Dollimore, J.; Kindberg, T. (2005). Distributed systems. Concepts and design. Sistemas Distribuidos. Conceptos y Dise o (3.a n ed.). Londres: Pearson Education / Addison Wesley, 2001 [3] istributed Operating Systems. A. Tanenbaum. Prentice-Hall International, 1995. [4] ibliografa para CORBA Client/Server Programming with Java and CORBA. 2nd. Ed. Robert Orfali Dan Harkey John Wiley sons, 1998 http://www.omg.org [5] .C. Juan Carlos Olivares Rojas http://antares.itmorelia.edu.mx/ jcolivar/

Agente: Proceso conectado a la red. En ocasiones se denomina agente a un proceso que act a sin control directo del usuario, y que puede presenu tarse a la red como un usuario. Cliente: Proceso que puede establecer conexiones a servidores y enviar peticiones a el. Agente de usuario: Cliente que representa al usuario. A menudo tienen interface de usuario, para que las personas puedan controlarlo directamente. Servicio: Parte de un sistema de computadores que gestiona una colecci n de recursos y presenta una funcionalidad a los o usuarios y a las aplicaciones.

XV. CONCLUSI ON El objetivo de un sistema distribuido es integrar los recursos y servicios conectados por una red de comunicaci n. Desde o el punto de vista del usuario y de las aplicaciones, un sistema distribuido proporciona una visi n de m quina unica y no o a diere de uno centralizado En cambio, el punto de vista del dise ador (el sistema como gestor de los recursos) la n estructura interna est condicionada por la distribucin fsica a de los recursos Lo habitual es que el sistema operativo integre los servicios de red, que ofrecen protocolos abiertos de comunicaci n, como es el caso de TCP y UDP. Sobre o estos se disponen los soportes adicionales para la comunicacin distribuida, como es el caso de RPC, RMI o DSM, y los servicios especcos que proporcionan las propiedades del sistema distribuido (servicios middleware), como es el caso de la gesti n de tiempos, eventos y estado global, sobre los o que se asientan las aplicaciones.

A PPENDIX A L LAMADAS A PROCEDIMIENTOS REMOTOS El paso de mensajes permite expresar el modelo clienteservidor explicitando un protocolo de petici n-respuesta sobre o el servicio al que se desea acceder. N tese que este protoo colo se basa en una sem ntica orientada a la entrada-salida. a En cambio, el acceso a recursos en los sistemas operativos tradicionales, mediante la interfaz de llamadas al sistema, se basa en una sem ntica de llamada-retorno a funciones. Siendo a la transparencia en la ubicacin de los recursos un objetivo fundamental en los sistemas distribuidos, resulta evidente que el paso de mensajes no proporciona la base sem ntica adea cuada para el acceso a los recursos remotos. El mecanismo de llamada a procedimiento remoto (RPC), desarrollado en 1984 por Sun Microsystems, trata de eliminar ese salto sem ntico. a Un proceso cliente especica el acceso a un servicio mediante una sintaxis de llamada a funci n, por ejemplo: o resultado= servicior pc(parmetros).