You are on page 1of 9

SISTEMAS WEB Y DISTRIBUIDOS

PRÁCTICO #1: Resolver ejercicios del capítulo 1 y 2 del libro Sistemas
Distribuidos.

PROFESOR: ALDO MEDINA
ESTUDIANTE: ADRIÁN AGÜERO

Encarnación, 27 de agosto del 2.015
PRÁCTICO #1
FECHA: 27-08-15
Ejercicios del Capítulo 1

1. Virtualización de escritorios: la empresa NComputing ofrece hardware y software que permite conectar periféricos de los usuarios a una sola computadora compartida. Si el dispositivo no cuenta con GPS podría simplemente consultar alguna de los sitios web que proporcionan información acerca de la posición GPS de los router. Bibliotecas. realizar un cálculo para determinar cuál de las estaciones es la más cerca y mostrar dicha información. Impresoras: en una oficina existe un equipo de trabajo con 5 computadoras. 3. 2. Proponga ejemplos de su uso compartido tal y como ocurre en la práctica en los sistemas distribuidos. Sistema de base de datos: responde solicitudes de múltiples aplicaciones en un solo computador. Sistema de ficheros: debe ofrecer acceso a los archivos de manera eficiente y controlada en conjunto con los demás componentes del S. Limitan la precisión de este método los canales de transmisión del mensaje. ejemplo personajes de un videojuego. HDD: Seagate 1TB Wireless Plus. Monitor: es un recurso compartido por los programas. 1. 3. las cuales utilizan una sola impresora para la impresión de sus documentos. posee tecnología wifi que le permite estar conectado a múltiples computadoras. el cual considera la latencia de los mensajes. Objetos remotos.O.1 Proponga cinco tipos de recursos hardware y cinco tipos de recursos software o de datos que puedan compartirse últimamente. Hardware: 1.3 Un usuario llega a una estación de ferrocarril que no conoce. Una computadora podría brindarle su hora actual a la otra computadora a través de la red. Al ser Internet una red inmensa que ocurriría lo mismo que en el caso anterior pero aún de forma más perjudicial. Sugiera cómo podría proporcionársele al usuario información sobre los servicios locales y las comodidades en la estación.2 ¿Cómo podría sincronizarse los relojes de dos computadores unidos por una red local. Para ello se definió el protocolo NTP [RFC 1305]. retrasar. sin necesidad de insertar el nombre de la estación o sus características. él cual se puede demorar. 5. sin hacer uso de una referencia temporal externa? ¿Qué factores limitarían la precisión del procedimiento propuesto? ¿Cómo podrían sincronizarse los relojes de un mayor número de computadores conectados a Internet? Discuta la precisión de este procedimiento. Router: Al igual que el dispositivo anterior procesa múltiples peticiones de recepción y envío de mensajes para los procesos pero en este caso de múltiples computadoras. 4. portando un PDA capaz de conectarse a una red inalámbrica. Podrían sincronizarse utilizando un reloj de referencia externo. Fichero de configuración: debe ofrecer acceso para diferentes procesos. 2. ¿Qué dificultades técnicas hay que superar? Y podríamos realizar una consulta a alguna BD sobre la posición GPS de las estaciones de ferrocarriles y consultar la posición del usuario con los sensores de geolocalización incorporados en el dispositivo PDA. 5. 4. los cuales deben ser llamados a través de paso de mensajes. procesos recurrentes que solicitan funcionalidades 1. 1 . Software: 1. perder.

que no es sino una plataforma llena de archivos e hipertextos. URL y HTTP como tecnologías de base para la consulta y visualización de información? ¿Son algunas de estas tecnologías adecuadas como plataforma de cómputo cliente-servidor en general? HTML tiene como ventajas el ser simple y adaptable a casi todo tipo de dispositivo (arduino. cliente y servidor. mailto:adrian@gmail. No tiene desventajas salvo que su actualización requiere de interacción humana siempre y cuando no se disponga de un software que automatice este proceso.rar (FTP) http://hola. 1. URL tiene la ventaja de ser también muy simple y permite localizar recursos de forma rápida.La primera técnica tiene el inconveniente que debe esperar a tener una lectura clara de los satélites para determinar su posición.com (mail) ftp: ftp. Los recursos en World Wide Web y otros servicios se direccionan mediante URL. tablets.download. y de usarlo incorrectamente se podría dejar link con enlaces rotos. podemos observar que los navegadores son los clientes.com (HTTP) 2 . ¿Que significan las siglas URL? Proporcione ejemplos de tres tipos de recursos web a los que pueda darse un nombre URL: Si tomamos como ejemplo la WWW. mientras que los servidores responden con un recurso a una solicitud de URL a través de la red. 1.com/adrian.4 ¿Cuáles son las ventajas y desventajas de HTML. computadoras. La segunda es más eficiente pero debemos confiar en que los datos proveídos por estos sitios está actualizada y es correcta. Significa “uniform resource locator” o “localizador uniforme de recursos”.5 Tome World Wide Web como ejemplo para ilustrar el concepto de compartición de recursos. etc). smartphone. sin embargo como su propósito era solo el de brindar una estructura al texto no provee de mayor información semántica sobre su contenido.

¿Hasta qué límite es transparente a la ubicación en URL? a. podría ser otra. Problemas de heterogeneidad del hardware: debido a que los datos son representados de diferentes formas en diferentes arquitecturas de hardware.6 De un ejemplo de URL. Problemas de heterogeneidad de mensaje en si mismo. este pasa a través de muchos dispositivos diferentes que lo modifican y almacenan o reenvían de diferente forma por lo que es necesaria que el mensaje enviado se mantenga fidedigno al que se envió. Describa los problemas debidos a cada uno de los cinco aspectos de la heterogeneidad que necesitan resolverse para posibilitar que un objeto cliente invoque un método sobre el objeto servidor. Problemas de heterogeneidad con el lenguaje: El uso de lenguajes de programación diferentes evita que el mismo objeto sea portable. Parámetros Ejemplo: Protocolo://máquina. indicando cómo se delimitan e ilustre cada uno a partir de un ejemplo. apoyado en DNS. http://www. pero todas están conectadas a Internet. Dominio b. que una máquina predeterminada responda la solicitud. 1. porque ambos lenguajes pueden tener representaciones diferentes del mismo y no pueden trabajar con el código móvil tampoco. Problemas de heterogeneidad del S.dominio[:puerto]/[recurso]/[?parámetros] Se delimitan como sigue: servidor -> recurso -> parámetros de operación Primero se ubica el ordenador que provee el servicio o recurso. El recurso podría ser cualquier tipo de programa que genera algún código entendible por el cliente y finalmente es posible configurar su comportamiento con los parámetros.O: debido a que el acceso a los datos y llamadas al sistema varían de acuerdo al sistema operativo usado. 3 .1. posterior se identifica el recurso o servicio solicitado y por último en el ámbito de ejecución del programa se emplean los parámetros. el mensaje debe ser comprensible por ambos sistemas.hola. Nombre o path del recursos c.com/search/?q=a (HTTP) Enumerelos tres componentes principales de un URL. Problemas de heterogeneidad en la red: al transmitirse los datos por Internet.7 Un programa servidor escrito en un lenguaje (por ejemplo C++) proporciona un objeto BURBUJA al que se pretende que accedan clientes que pudieran estar escritos en un lenguaje diferentes (por ejemplo Java). Los computadores clientes y servidores pueden tener un hardware diferente. La URL es extremadamente transparente permite.

A qué dimensión son independientes unas de otras estas fallas? Sugiera cómo construirse los componentes para tolerar sus fallos mutuamente. se debe prever un sistema de identificación de usuarios para garantizar que los usuarios que acceden a la parte sensible de nuestro sistemas están autorizados a ello. Fallo de sistema. Discuta en el contexto de este ejemplo. Fallo de proceso servidor. Presente todos los problemas relacionados con la operación de garantizar que solo los usuarios con nombre conocido puedan acceder a la operación protegida. A medida que crece el número de usuarios se deberá pensar en implementar una replicación de la BD para así duplicar aproximadamente el número de respuesta.9 Suponga que las operaciones del objeto BURBUJA están separadas en dos categorías: operaciones públicas disponibles para todos los usuarios y operaciones protegidas disponibles sólo para ciertos conocidos por un nombre concreto. Cada una es independiente de la otra. como en un ataque de denegación de servicio. cada uno de los cuales puede ser accedido por usuarios de Internet mediante una clave (en forma de <string>).1. el servidor debe ser tolerante a esta falla. hasta dónde las necesidades de extensibilidad difieren de las de heterogeneidad Cuando hablamos de extensibilidad nos referimos a la capacidad que tiene el sistema de agregar nuevas funcionalidades como opciones o servicios mientras que hablamos de heterogeneidad nos referimos a la capacidad que tiene el sistema para soportar nuevos y diferentes sistemas de transmisión o clientes. Suponiendo que el acceso a una operación protegida da información que no debiera revelarse al resto de los usuarios. si el cliente deja de existir.10 El servicio INFO admite un conjunto de recursos potencialmente muy grande. una aplicación de base de datos pueda fallar debido a que su disco se lleno. un sistema operativo puede fallar debido a una sobrecarga de pedidos en su cola. 1. 1. Y debe existir redundancia y control y recuperación ante errores. proporcionando un ejemplo del fallo en cada caso.11 Enumere los tres componentes software principal que pueden fallar cuando un proceso cliente invoca un método en un objeto servidor. debe utilizar la siguiente BD disponible. 1. Discuta una aproximación al diseño de los nombres de los recursos que logra la mínima pérdida de prestaciones según crece el número de recursos en el servicio. Fallo del proceso cliente. 4 . Garantizar este reconocimiento supone una mayor carga para el sistema como encriptación y una gestión de usuarios.7 y que sean accesibles por una variedad de programas cliente. ¿Qué problemas aparecen? Aparecen problemas de seguridad. Los recursos deberán utilizar un número entero ID que facilite su identificación y rápida obtención por parte del servicio. Sugiera cómo puede implementarse el servicio INFO para evitar cuellos de botella en las prestaciones cuando el número de usuarios se vuelve muy grande. la aplicación no debe dejar de funcionar.8 Un sistema distribuido abierto permite la adición de nuevos servicios de compartición de recursos como el objeto BURBUJA del Ejercicio 1.

5 .12 Un servidor mantiene un objeto de información compartida tal como el objeto BURBUJA del Ejercicio 1.7. Si sería satisfactorio porque de esa forma los servidores podrían auto-organizarse para responder de la forma más eficiente las peticiones. Por ejemplo el servidor más cercano responderá la solución. la desventaja es que se debe agregar métodos de control para evitar inconsistencias al utilizar el objeto. Un ejemplo puede ser. Argumente en pro y en contra de si admitir que las peticiones de los clientes se ejecuten concurrentemente en el servidor. Solución usar Semáforos u otro sistema de sincronización.1. la modificación de un archivo por dos procesos simultáneos puede ocasionar que este quede corrupto porque mientras uno aún no ha terminado de escribir. de un ejemplo de posibles “interferencias” que pudiera aparecer entre las operaciones de diferentes clientes. Sería satisfactorio para los clientes la multidifusión de todas las peticiones al grupo de servidores como una medio de obtener la transparencia en la movilidad para los clientes? Pueden transferirse los recursos a través de la red y aplicando semáforos u otros métodos. Explique porqué pueden transferirse los recursos entre ellos. En este caso. Sugiera cómo puede prevenirse tal interferencia.13 Varios servidores implementan cierto servicio. Los pro con respecto a permitir las peticiones concurrentes es la mejora en performance. el otro también escribe. 1.

actúa de cliente y pregunta al servidor MTA si existe correo nuevo. solicita al servidor MTA enviar un mail. 6 . finalmente un servidor POP. Cuáles son los requisitos de sincronización entre estas actividades concurrentes? Debe estar sincronizados de tal forma que los escaladores actualicen los índices mientras los clientes no solicitan una búsqueda.4 Un motor de búsqueda es un servidor web que ofrece a los clientes la oportunidad de buscar en ciertos índices almacenados y (concurrentemente) lanzar varios escaladores web para construir y actualizar estos índices. al solicitarla se puede realizar ésta. Para validar un formulario. email o foros de noticias).1 Describa e ilustre la arquitectura cliente-servidor de una o más aplicaciones de Internet (por ejemplo la web. Pero siempre balanceando ambas actividades. 2. El servidor recibe el mail y a su vez lo traslada al MTA al que corresponda ese mail. el servidor además de enviar el formulario envía código js para validar del lado del cliente ese mismo formulario y así no tener que responderle si comete algún error. Mail: El cliente de correo.7 De ejemplos de aplicaciones donde sea beneficiosos emplear código móvil. Cuando el cliente de correo del destinatario consulte a su POP/IMAP recuperar el correo enviado. este lo copia.Ejercicios Capitulo 2 2. 2. que era evitable.

que los datos escritos serán leídos en un periodo corto de tiempo. ya sea hardware o software. sin el mucho datos se perderían irremediablemente. en el que se almacenan datos de manera temporal. Su premisa básica es reducir los accesos a los almacenamientos de nivel más bajo. La caché también es normalmente una capa de abstracción que está diseñada para ser invisible. o teniendo en cuenta la posibilidad de múltiples lecturas o escrituras para formar un único bloque más grande. su principal uso es para evitar que el programa o recurso que los requiere. que guarda temporalmente los datos recientemente procesados. se quede sin datos durante una transferencia (entrada/salida) de datos irregular o por la velocidad del proceso. un disco se avería o una computadora falla por la temperatura. Diferencia: Una memoria caché puede ser usada a veces como un búfer. 2.9 Distinga entre búfer y cache. los cuales son bastante lentos. Buffer: es un espacio de memoria. normalmente para un único uso (generalmente utilizan un sistema de cola FIFO). una caché opera con el supuesto de que los mismos datos van a ser utilizados múltiples veces. hace que el sistema sea tolerante frente a fallos? Para casos en que un servidor se queda sin conexión de red.10 De algunos ejemplos de fallos en el hardware y el software de un sistema distribuido que puedan o no ser tolerados mediante el uso de redundancia. En qué punto podemos asegurar que el empleo de redundancia. cuando sea adecuado.2. Sin embargo. y viceversa. La redundancia posibilita que el sistema sea tolerante a fallas. Caché: es la memoria física de acceso rápido de una computadora. 7 .

Colouris 8 .Bibliografía Sistemas Distribuidos.