You are on page 1of 23

1. INTRODUCCION A LOS SISTEMAS DISTRIBUIDOS 1.1.

EVOLUCIÓN La historia de la computación puede ser dividida en tres grandes eras: En los 70: Era del Tiempo Compartido o un computador para varios usuarios Procesamiento central (Hosts): Uno de los primeros modelos de ordenadores interconectados, llamados centralizados, donde todo el procesamiento de la organización se llevaba a cabo en una sola computadora, normalmente un Mainframe, y los usuarios empleaban sencillos ordenadores personales. Problemas: Cuando la carga de procesamiento aumentaba se tenía que cambiar el hardware del Mainframe, lo cual es más costoso que añadir más computadores personales clientes o servidores que aumenten las capacidades. El otro problema que surgió son las modernas interfases gráficas de usuario, las cuales podían conllevar a un gran aumento de tráfico en los medios de comunicación y por consiguiente podían colapsar. Mainframes centrales (Sistemas de tiempo compartido, Recursos centralizados) Interfaces de usuario poco amigables Aparecen las primeras redes En los 80: Era de la Computación Personal o un computador para cada usuario . Grupo de servidores: Entró a competir con el anterior, también un tanto centralizado , son un grupo de ordenadores actuando como servidores, normalmente de archivos o de impresión, poco inteligentes para un número de minicomputadores que hacen el procesamiento conectados a una red de área local. Tenían los S.O.Distribuidos: Mach de CMU (1986) Amoeba diseñado por Tanenbaum (1984). Chorus de INRIA en Francia (1988). Problemas: Podría generarse una saturación de los medios de comunicación entre los servidores poco inteligentes y los minicomputadores, por ejemplo cuando se solicitan archivos grades por varios clientes a la vez, podían disminuir en gran medida la velocidad de transmisión de información. PCs y estaciones de trabajo Interfaces amigables Redes de área local Aparecen los primeros sistemas operativos distribuidos, como Sprite, Chorus, Amoeba. Lectura obligatoria: Amoeba DOS Overview Material de referencia: Chorus DOS Overview Responder: ¿Por qué no se han desarrollado Sistemas Operativos Distribuidos comercia les?

En los 90: Era de la Computación Paralela o varios computadores para cada usuario . La computación Cliente Servidor: Este modelo, que predomina en la actualidad, perm ite descentralizar el procesamiento y recursos, sobre todo, de cada uno de los servi cios y de la visualización de la Interfaz Gráfica de Usuario. Esto hace que ciertos servido res estén dedicados solo a una aplicación determinada y por lo tanto ejecutarla en forma eficiente. Despegue de las aplicaciones cliente/servidor Más descentralización Enorme difusión de internet gracias al Web Nuevas necesidades y aplicaciones basadas en el Web 1.2. CONCEPTOS BASICOS Un sistema distribuido es aquel en el que los componentes localizados en computa dores, conectados en red, comunican y coordinan sus acciones únicamente mediante el paso de mensajes. Esta definición lleva a las siguientes características de los sistemas distribuidos:

concurrencia de los componentes inexistencia de un reloj global fallos independientes de los componentes Concurrencia: en una red de computadores, la ejecución de programas concurrentes e s la norma. Yo puedo realizar mi trabajo en mi computador, mientras tú realizas tu trab ajo en la tuya, compartiendo recursos como páginas web o ficheros, cuando es necesario. La capacid ad del sistema para manejar recursos compartidos se puede incrementar añadiendo más recurso s (por ejemplo, computadores) a la red. La coordinación de programas que comparten r ecursos y se ejecutan de forma concurrente es también un tema importante y recurrente. Inexistencia de reloj global: cuando los programas necesitan cooperar coordinan sus acciones mediante el intercambio de mensajes. La coordinación estrecha depende a menudo de una idea compartida del instante en el que ocurren las acciones de los programas. Pe ro resulta que hay límites a la precisión con lo que los computadores en una red pueden sincron izar sus relojes, no hay una única noción global del tiempo correcto. Esto es una consecu encia directa del hecho que la única comunicación se realiza enviando mensajes a través de l a red. Esto tiene como consecuencia problemas de temporización.

. pero eso no significa que detenga n su ejecución. Los sistemas distribuidos pueden fallar de nuevas formas. Cad a componente del sistema puede fallar independientemente.Fallos independientes: todos los sistemas informáticos pueden fallar y los diseñador es de sistemas tienen la responsabilidad de planificar las consecuencias de posibles f allos. De hecho. la parada d e un computador o la terminación inesperada de un programa en alguna parte del sistema (crash) no se da a conocer inmediatamente a lo demás componentes con los que se comunica. permitiendo que los demás continúen su ejecución. los programas que se ejecutan en ellos pueden no ser capaces de detectar cuando la red ha fallado o está excesivamente lenta. De forma similar. Los fallos en la red produ cen el aislamiento de los computadores conectados a él.

SISTEMAS CENTRALIZADOS VERSUS SISTEMAS DISTRIBUIDOS CENTRALIZADOS DISTRIBUIDOS Componentes no autónomos Componentes autónomos Construidos utilizando tecnología homogénea Construidos utilizando tecnología heterogénea Múltiples usuarios comparten los recursos centralizados todo el tiempo Los componentes podrían ser utilizados exclusivamente por un solo usuario Unico punto de falla y control centralizado Múltiples puntos de falla 1.4.3. EJEMPLOS DE SISTEMAS DISTRIBUIDOS Y APLICACIONES DISTRIBUIDAS INTERNET .Un sistema distribuido es aquél en el que no puedes trabajar con tu máquina por el fallo de otra máquina que ni siquiera sabías que existía Leslie Lamport 1.

INTRANET COMPUTACION MOVIL WEB APLICACIONES DISTRIBUIDAS: .

Lenguajes de programación. HETEROGENEIDAD Internet permite que los usuarios accedan a servicios y ejecuten aplicaciones so bre un conjunto heterogéneo de redes y computadores.7. Sistemas operativos. A pesar de que Internet consta de muchos tipos de redes diferentes sus diferenci as se . Implementaciones de diferentes desarrolladores.6. VENTAJAS Compartición de información y recursos remotos sin necesidad de conocer su ubicación geográfica Extensibilidad: capacidad de incorporar nuevos nodos y nuevos servicios de diver sos proveedores. varie dad y diferencia) se aplica a todos los siguientes elementos: Redes. Hardware de computadores. DESVENTAJAS Complejidad en el diseño. DESAFIOS Los desafíos que surgen en el diseño e implementación de sistemas distribuidos son: La heterogeneidad de sus componentes Su carácter abierto o extensibilidad La seguridad La escalabilidad El tratamiento de los fallos La concurrencia de sus componentes La transparencia. Escalabilidad: capacidad de crecimiento sin afectar a la estructura del sistema Concurrencia: acceso simultáneo a recursos compartidos sin interferencias Disponibilidad y Tolerancia a fallos: mantenimiento de los servicios en presenci a de fallos 1. Esta heterogeneidad (es decir.5.Sistemas de Control de Tráfico Aéreo Aplicaciones Bancarias Aplicaciones de Comercio Electrónico Aplicaciones Multimedia (Ej. implementación y gestión Inseguridad inherente a las comunicaciones Interconexión Alto costo Baja confiabilidad (pérdida de mensajes) Saturación 1. vídeoconferencias) Aplicaciones Médicas (transferencia de imágenes) 1.

un computador .encuentran enmascaradas dado que todos los computadores conectados a éste utilizan los protocolos de Internet para comunicarse una con otra. Por ejemplo.

. Sin embargo. Para que e sto ocurra es necesario concertar y adoptar estándares. hay dos alternativas para ordenar los bytes en el caso de los enteros. citado a menudo. Los programas escritos por diferentes programadores no podrán comunicarse entre sí a menos que utilicen estándares comunes. de los sistemas abiertos es su independencia de proveedores concretos. Es decir. Pueden ser extendidos en el nivel hardware mediante la inclusión de computadores a la red y en el nivel software por la introducción de nue vos servicios y la reimplementación de los antiguos. que las interfaces clave estén publicad as. CARÁCTER ABIERTO O EXTENSIBILIDAD La extensibilidad de un sistema de cómputo es la característica que determina si el sistema puede ser extendido y reimplementado en diversos aspectos. Los sistemas diseñados de este modo para dar soporte a la compartición de recursos s e etiquetan como sistemas distribuidos abiertos (open distributed systems) para re marcar el hecho de ser extensibles. posibilitando a los programas de aplicación la compartición de recursos.conectado a Ethernet tiene una implementación de los protocolos de internet sobre Ethernet. Los tipos de datos. la publicación de interfaces sólo es el punto de arranque de la adición y extensión de servicios en un sistema distribuido. Hay que tratar con estas diferencias de representación si se va a intercambiar mensajes entre programas que se ejecutan en diferente hardware. como los enteros. En resumen: Los sistemas abiertos se caracterizan porque sus interfaces están publicadas. La extensibil idad de los sistemas distribuidos se determina en primer lugar por el grado en el cual s e pueden añadir nuevos servicios de compartición de recursos y ponerlos a disposición para el u so por una variedad de programas cliente. No es posible obtener extensibilidad a menos que la especificación y la documentac ión de las interfaces software clave de los componentes de un sistema estén disponible s para los desarrolladores de software. así un computador en un tipo de red diferente necesitará una implementación de los protocolos de Internet para esa red. pueden representarse de diferente forma en diferentes clases de hardware por ejemplo. El desafío para los diseñadores es h acer frente a la complejidad de los sistemas distribuidos que constan de muchos compo nentes diseñados por personas diferentes. Otro beneficio más. por ejemplo para la comunicación en red y la representación de datos elementales y estructuras de datos en mensajes.

Los sistemas distribuidos abiertos pueden construirse con hardware y software heterogéneo. la conformidad c on . Sin embargo.Los sistemas distribuidos abiertos se basan en la providencia de un mecanismo de comunicación uniforme e interfaces públicas para acceder a recursos compartidos. posiblemente de diferentes proveedores.

Por esto su seguridad es de considerable importancia. el reto se encuentra en enviar información sensible en un mensaje. En el primer ejemplo.el estándar publicado de cada componente debe contrastarse y verificarse cuidadosa mente si se desea que el sistema trabaje correctamente. los clientes envían peticiones de acceso a datos admini strados por servidores. En ambos casos. los usuarios envían su número de tarjeta de crédito a través de Internet. Ambos des afíos pueden lograrse a través de técnicas de encriptación desarrolladas al efecto. Ejemplos: Un médico puede solicitar acceso a los datos hospitalarios de un paciente o enviar modificaciones sobre ellos. por la red. desde pequeñas intranets a Internet. ESCALABILIDAD Los sistemas distribuidos operan efectiva y eficientemente en muchas escalas dif erentes. El segund o reto consiste en identificar un usuario remoto u otro agente correctamente. En comercio electrónico y banca. también consiste en conocer con certeza la identidad del usuario u o tro agente en nombre del cual se envía el mensaje. el usuario necesita estar seguro de la identidad del negocio o del banco con el que está tratando. lo que trae consigo enviar información en los mensajes por la red. el servidor n ecesita conocer que el usuario es realmente un médico y en el segundo. La seguridad de los recursos de información tiene tres c omponentes: Confidencialidad (protección contra el descubrimiento por individuos no autorizados) Integridad (protección contra la alteración o corrupción) Disponibilidad (protección contra interferencia con los procedimientos de acceso a los recursos) En un sistema distribuido. SEGURIDAD Entre los recursos de información que se ofrecen y se mantienen en los sistemas di stribuidos. Pero la seguridad no sólo es cuestión de ocultar los contenido s de los mensajes. Se dice que un sistema es escalable si conser va su efectividad cuando ocurre un incremento significativo en el numero de recursos y . de forma segura. muchos tienen un alto valor intrínseco para sus usuarios.

la frecuencia . para satisfacerla.el numero de usuarios. El diseño de los sistemas distribuidos escalables presenta los siguientes retos: Control del coste de los recursos físicos: según crece la demanda de un recurso. Por ejempl o. Internet proporciona un ejemplo de sistema distribuido en el que el numero de computadores y servicios experimenta un dramático incremento constante. a un coste razonable. deb iera ser posible extender el sistema.

A finales de los años setenta. y en la memoria de los computadores.com. Ilustramos este pun to aludiendo al predecesor del Sistema de Nombres de Dominio en el cual la tabla de nombres se alojaba en un solo archivo maestro que podía descargarse a cualquier computador que lo necesitara. Además. aumenta el tiempo de búsqueda del nombre DNS que corresponde a una dirección IP: Prevención de desbordamiento de recursos software: un ejemplo de pérdida de escalabilidad se muestra en las direcciones de Internet IP. Debe ser posible añadir servidores para evitar el embo tellamiento que aparece cuando un solo servidor de archivos ha de manejar todas las peticion es de acceso a éstos. que se emplea principalmente para averiguar nombres DNS tales como www. Algunos recursos compartidos son accedidos con mucha frecuencia. sobredimensionar para prever el crecimiento futuro pudiera ser peor que la adaptación a un cambio cuando se hace necesario. por ejemplo la tabla con la relación de nombres de dominio de computadores y sus direcciones Internet sustentado por el Sistema de Nombres de Dominio (Domain Nam e System DNS). Control de las pérdidas de prestaciones: considere la administración de un conjunto de datos cuyo tamaño es proporcional al número de usuarios o recursos del sistema. Evitación de cuellos de botella de prestaciones: en general.amazon. Es difícil predecir la demanda que tendrá que soportar un sistema con años de anticipación. no hay una solución idónea para este problema. Por ejemplo. IPv4 (32 bits address) -> IPv6 (128 bits address) A pesar de ello. los algoritmos deberían ser descentralizados. si un solo servidor de archivos pudiera soportar 20 usuarios . se decidió emplear para esto 32 bits. no es tan fácil lograrlo en la práctica. Aunque parezca una m eta obvia. las direcciones Internet grandes ocupan espacio extra en los mensajes .con la que se accede a los archivos de una intranet suele crecer con el incremen to del número de usuarios y computadores. para evitar cuellos d e botella de prestaciones. Esto funcionaba bien cuando sólo había unos cientos de computadores en Internet. para ser justos con los primeros diseñadores de Internet. Conforme aumenta el número de registros de la tabla. por ejemplo. pero pronto se convirtió en un serio cuello de botella d e prestaciones y de administración. El Sistema de Nombres de Dominio eliminó este cuel lo de botella particionando la tabla de nombres entre servidores situados por todo Internet y siendo administrados localmente. La nueva versión del protocolo empleará direcciones Internet de 128 bits. pero el suministro de direcciones disponibles p ara Internet esta por desbordarse. puede que muchos usuarios accedan a la misma página . entonces 2 servidores del mismo tipo tendrán capacidad para 40 usuarios.

El empleo de caché y replicación puede mejorar las prestaciones de los recursos que estén siendo muy fuertemente utilizad as. pero esto es difícil de conseguir. Idealmente. el software de sistema y aplicación no tiene por qué cambiar cuando la escala del sistema se incremente. Las técnicas que han demostrado éxito incluyen el uso de datos replicados.web. la técnica . La cuestión del escalado de un sistema es un tema dominante en el desarrollo de sistemas distrib uidos. causando un declive de las prestaciones.

los d atos en el segundo disco pudieran también estar corrompidos.asociada de caché y la implementación de múltiples servidores para tratar tareas frecuentes. 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. por ejemplo. Existen alg unas técnicas para tratar fallos: Detección de fallos: algunos fallos son detectables. 2. es p osible que no sea práctico para ellos pretender detectar y ocultar todos los fallos que pudie ran aparecer en una red tan grande y con tantos componentes. el tratamiento de fallos es particularmente difícil. lo que implica que también los usuarios tendrán que tol erarlos generalmente. o el mensaje bien pudiera no llegar a tiempo no importa cuantas veces se retransmita. Sus clientes pueden dis eñarse para tolerar ciertos fallos. Por ejemplo. Simplemente eliminar un mensaje corrupto es un ejemplo de atenuar un fallo (pudi era retransmitirse de nuevo). algunos componentes fallan mientras otros siguen funcionando. cuando un visualizador web no puede contactar con un servidor web n o hará que el cliente tenga que esperar indefinidamente mientras hace sucesivos intento s. Cabe destacar que las técnicas propuestas para ocultar l os fallos no tienen garantía de funcionamiento en las peores situaciones. Consecuentemente. se pueden utiliz ar sumas de comprobación (checksums) para detectar datos corruptos en un mensaje o un archi vo. los programas pueden producir resultados incorrectos o pudieran parar antes de haber completado el cálculo pedido. Los fallos en un sistema distribuido son parci ales. es decir. Cuando aparecen fallos en el hardwa re o el software. Es difícil o incluso imposible detectar algunos otros fallos como la caída de un ser vidor remoto en Internet. TRATAMIENTO DE FALLOS Los sistemas computacionales a veces fallan. Tolerancia de fallos: la mayoría de los servicios en Internet exhiben fallos. permitiendo varias tareas similares concurrentemente. Enmascaramiento de fallos: algunos fallos que han sido detectados pueden ocultar se o atenuarse. Dos ejemplos de ocultación de fallos son: 1. Los mensajes pueden retransmitirse cuando falla la recepción. El reto está en arreglárselas en presencia de fallos que no pued en detectarse pero que sí pueden esperarse. Por ejemplo. .

dándole la libertad de intentarlo más tarde. tras una caída del servidor. cuando aparecen fallos los cálculos realizados p or algunos programas se encontrarán incompletos y al actualizar datos permanentes (archivos e información ubicada en almacenamiento persistente) pudiera encontrarse en un estado inconsistente. el estado de los datos pueda reponerse o retractarse (roll back) a una situación anterior.informará al usuario del problema. . En general. Recuperación frente a fallos: la recuperación implica el diseño de software en el que.

En este caso es posible que varios thre ads estuvieran ejecutando concurrentemente el contenido de un objeto. pero esta aproximación limita el ritmo de producc ión del sistema (throughput). CONCURRENCIA Tanto los servicios como las aplicaciones proporcionan recursos que pueden compa rtirse entre los clientes en un sistema distribuido. también puede iniciarse un proceso de servici o en otra ubicación. Los sistemas distribuidos proporcionan un alto grado de disponibilidad frente a los fallos del hardware. Así como cuando un computador fa lla el usuario puede desplazarse a otro. En el Sistema de Nombres de Dominio. Existe por lo tanto una posibilida d de que varios clientes intenten acceder a un recurso compartido a la vez. una estructura de datos que almacena licitaciones de una subasta pu ede ser accedida muy frecuentemente cuando se aproxima el momento de cierre. 2. Una base de datos puede encontrarse replicada en varios servidores para asegu rar que los datos siguen siendo accesibles tras el fallo de cualquier servidor concreto. Cuando falla algún componente del sistema distribuido sólo resulta afect ado el trabajo relacionado con el componente defectuoso. cada tabla de nombres se encuentra repli cada en dos servidores diferentes. en cuyo caso l as . El proceso que administra un recurso compartido puede atender las peticiones de cliente una por una en forma secuencial. Por esto los servicios y aplicaciones permiten. Considere los siguientes ejemplos: 1. Más concretamente. Siempre deberá haber al menos dos rutas diferentes entre cualesquiera dos route rs (encaminadores) en Internet.Redundancia: puede lograrse que los servicios toleren fallos mediante el empleo redundante de componentes. suponga que cada recurso se encapsula en un objeto y que las invocaciones se eje cutan en hilos de ejecución concurrentes (threads). usualm ente. procesar concurrentemente múltiples peticiones de los clientes. El diseño de técnicas eficaces para mantener réplicas actualizadas de datos que cambia n rápidamente sin una pérdida excesiva de prestaciones es un reto para el que existen varias aproximaciones. 3. La disponibilidad de un sistema mide la proporción de tiempo en que está utilizable. cuando se dete cta algún error en un servidor se redirigen los clientes a los servidores restantes. Por ejemplo. los servidores pueden diseñarse para detectar fallos entre sus iguales.

operaciones en el objeto pueden entrar en conflicto entre sí y producir resultados inconsistentes. sean dos ofertas que concurren a una subasta como «Pérez: 122$» y «Rodríguez: 111$» y las operaciones correspondientes se entrelazan sin control alguno. estas ofertas se pueden almacenar como «Pérez: 111$» y «Rodríguez: 122$». Por ejemplo. .

Transparencia de acceso que permite acceder a los recursos locales y remotos empleando operaciones idénticas. 2. 6. Transparencia de ubicación que permite acceder a los recursos sin conocer su localización. El Manual de Referencia ANSA (ANSA Reference Manual} [ANSA 1989] y el Modelo de Referencia para el Procesamiento Distribuido Abierto (RM-ODP: Reference Model for Open Distributed Processing) de la Organización Internacional de Estándares [ISO 1992] identifican ocho formas de transparencia. Para que un objeto sea seguro en un entorno concurrente. su s operaciones deben sincronizarse de forma que sus datos permanezcan consistentes. Las implicaciones de la transparencia son de gran importancia en el diseño del softwar e del sistema.La moraleja de esta historia es que cada objeto que represente un recurso compar tido en un sistema distribuido debe responsabilizarse de garantizar que opera correctame nte en un entorno concurrente. que se usan en la mayoría de los sistemas operativos. Esto puede lograrse mediante el empleo de técnicas conocidas como los semáforos. Transparencia de concurrencia que permite que varios procesos operen concurrentemente sobre recursos compartidos sin interferencia mutua. 4. TRANSPARENCIA Se define transparencia como el ocultamiento al usuario y al programador de apli caciones de la separación de los componentes en un sistema distribuido. 3. Transparencia de prestaciones que permite reconfigurar el sistema para mejorar l . Transparencia frente a fallos que permite ocultar los fallos. 7. 5. 1. de forma que se per ciba el sistema como un todo más que como una colección de componentes independientes. Transparencia de replicación que permite utilizar múltiples ejemplares de cada recurso para aumentar la fiabilidad y las prestaciones sin que los usuarios y lo s programadores de aplicaciones necesiten su conocimiento. Transparencia de movilidad que permite la reubicación de recursos y clientes en un sistema sin afectar la operación de los usuarios y los programas. dejando que los us uarios y programas de aplicación completen sus tareas a pesar de fallos del hardware o de l os componentes software. De este modo cualquier programador que recoge una implementación de un objeto que no está concebido para su aplicación en un entorno distribuido deberá realizar las modificaciones necesarias para que sea seguro su u so en un entorno concurrente.

as prestaciones según varía su carga. .

un URL no es transparente a la movilidad. considere una interfaz gráfica de us uario basada en carpetas.8. Aunque el DNS permi te que un nombre de dominio se refiera a varios computadores. Ya que un esquema de replicación generalmente necesit a ser capaz de acceder a todos los computadores del grupo. El envío de correo a un usuario no implica el conocimiento de su ubic ación física en la red. sería necesario acceder a cada entrada del DNS por nombre. Transparencia al escalado que permite al sistema y a las aplicaciones expandirse en tamaño sin cambiar la estructura del sistema o los algoritmos de aplicación. considere el uso de una dirección de correo electrónico como Pedro.Picapiedra@piedradura. añaden el no mbre del dominio. Observe que a pesar de qu e los programas de correo aceptan nombres de usuario para usuarios locales. porque una página web dada no puede moverse a u n nuevo lugar en un dominio diferente sin que todos los enlaces anteriores a esta página sigan apuntando a la página original. donde los contenidos de las carpetas se observan igual ya se an éstas locales o remotas. En general. Las dos más importantes son la transparencia de acceso y la transparencia de ubica ción. sólo se escoge uno de e llos cuando se utiliza un nombre. los identificadores como los URLs que incluyen los nombres de domini o en los computadores contravienen la transparencia de replicación. considere un sistema distri buido que no permite acceder a los archivos de un computador remoto a menos que se emplee el programa «ftp». Tampoco el procedimiento de envío de un mensaje de correo depende de . su presencia o ausencia afecta principalmente a la utilización de recursos distrib uidos. La dirección consta de un nombre de usuario y un nombre de dominio. Otro ejemplo pudiera ser el de una interfaz de programación de aplicaciones [API] para archivos que emplea las mismas operaciones para acceder a éstos ya sean locales o remotos. A veces se les da el nombre conjunto de Transparencia de Red. Sin embargo. Los nombres de recursos web o URLs son transparentes a la ubicación dado que la pa rte del URL que identifica el nombre del dominio del servidor web se refiere a un no mbre de computador en un dominio. Como ilustración de la presencia de transparencia de red. más que a una dirección en Internet. Como ejemplo de carencia de transparencia de acceso.com. Como ilustración de la transparencia de acceso.

transparencia de red). La transparencia frente a fallos puede ilustrarse también en el contexto del corre o electrónico.la ubicación del receptor. incluso aunque los servidores o los enl aces . el cual eventualmente se envía. En resumen. el correo electrónico en Internet proporciona ambas cosas: transparencia de ubicación y transparencia de acceso (en definitiva.

utilizando diferentes servidores e n cada ubicación. en cada oficina que vi sita hace uso de servicios locales como el correo. Los dos usuarios telefónicos n o perciben el desplazamiento de sus terminales (el cliente y el recurso) entre dos células.de comunicaciones fallen. es normal enviar la impresión de documento s a una impresora u otra dependiendo cual es actualmente la más próxima. Por ejemplo. en general es deseable que el uso de ciertos dispositivos físicos sea intercambiable. moviéndose de un entorno (célula) a otro. viajan en tren por diferentes par tes del país. En otro ejemplo. . en un sistema multiprocesador. el emisor y el receptor. Para ilustrar la transparencia a la movilidad. Veamos al terminal del emisor como un cliente y al terminal del receptor como un recurso. La transparencia oculta y difumina anónimamente los recursos que no son relevantes directamente para la tarea entre manos de los usuarios y programadores de aplica ciones. Incluso dentro de un edificio. Los fallos se enmascaran intentando retransmitir los m ensajes hasta que se envían satisfactoriamente. Supongamos que ambos. un us uario viajero que conecta un computador portátil a una red local. la identificación del procesador en que se ejecuta cada proceso es irrelevante. Por ejemplo. incluso si lleva varios días. considere el caso de los teléfonos móviles.