martes, 16 de febrero de 2010

SISTEMAS DE INFORMACION DISTRIBUIDOS

Por: Ramiro, LUQUE MAMANI

CAPITULO I

CARACTERIZACION DE LOS SISTEMAS DISTRIBUIDOS

1. Proponga 5 tipos de recursos hardware y 5 tipos de recursos software o de datos que puedan compartirse útilmente. Proponga ejemplos de sus uso compartido tal y como ocurre en la practica en los sistemas distribuidos

Recursos hardware:

· Discos
· Móviles
· PDAs
· Computadores portátiles
· Impresoras
Recursos software

· Bases de datos
· HTML
· Sistemas de información
· Ficheros de datos
· WWW

2. ¿Cómo podría sincronizarse los relojes de dos computadores unidos por una red local. Sin hacer uso de una referencia temporal externa? ¿Qué factores limitarían la precisión de procedimiento propuesto? ¿Cómo podrían sincronizarse los relojes de un número mayor de computadores conectados a Internet? Discuta la precisión de este procedimiento.

Se puede sincronizar los relojes de varias computadoras agregándolos a un dominio, el reloj se sincronizará probablemente de forma automática mediante un servidor de hora de la red.

Tener un equipo que sirva de servidor donde recepcione varias computadoras clientes las cuales pueden ser controladas con la hora del servidor de dominio de esa forma se estaría sincronizándose las horas

3. Un usuario llega a una estación de ferrocarril que no conoce. Portando un PDA capaz de conectarse a una red inalámbrica. Sugiera como podría proporcionársele al usuario información sobre los servicios locales y las comodidades en la estación. Sin necesidad de insertar el nombre de la estación o sus características. ¿Qué dificultades técnicas hay que superar?

Para poder realizar esto principalmente se necesita tener instalado en el PDA un navegador GPS la cual permitira mostrar el lugar en que se encuentra entre otros beneficios, actualmente ya existen PDAs que vienen con un navegador GPS incorporado que de alguna forma facilitaria solucionar el problema mencionado en el enunciado


4. Cuales son la ventajas y desventajas de HTML, URL y HTTP como tecnologías de base para la consulta y visualización de información ¿son algunas de estas tecnologías como plataforma de computo cliente-servidor en general?

HTML

Ventajas
Sencillo que permite describir hipertexto.
Texto presentado de forma estructurada y agradable.
necesita de grandes conocimientos cuando se cuenta con un editor de páginas Web o WYSIWYG.
Archivos pequeños.
Despliegue rápido.
Lenguaje de fácil aprendizaje.
Lo admiten todos los exploradores.

Desventajas
· Lenguaje estático.
· La interpretación de cada navegador puede ser diferente.
· Guarda muchas etiquetas que pueden convertirse en “basura” y dificultan la corrección.
· El diseño es más lento.
· Las etiquetas son muy limitadas.

URL
Ventajas
· Permite identificar recursos para localizarlos
· Utiliza el protocolo estándar http para localizar recursos
· Permite recuperar un recurso de la Web
· Las cabeceras HTTP no son requeridas para los datos empotrados, por lo que data: URIs pueden usar menos recursos de la red que la sobrecarga de la codificación del contenido en línea ya que un data: URI es más pequeño que las cabeceras HTTP que de otro modo serían necesarias.
· Los navegadores están típicamente configurados para usar un máximo de cuatro conexiones simultáneas a un servidor, por lo que los datos en línea liberan una conexión de descarga para otros contenidos.

Desventajas
· Cualquiera que obtiene la URL puede acceder a una información sin restricción.
· El contenido empotrado debe ser extraído y decodificado antes de realizarse cambios, y después debe ser recodificado y reempotrado.
· La capacidad máxima del navegador en la longitud del URI limita el tamaño máximo de los datos. Por ejemplo, los URIs en Opera suelen tener un límite de 4KB.

HTTP
Ventajas
· Permite localizar recursos utilizando los URL
· Interactúa directamente con cualquier navegador de Internet al momento de mostrar resultados
· Tiene un control, de acceso simple


5. Tome World Wide Web como ejemplo para ilustrar el concepto de compartición de recursos cliente y servidor

Un cliente que realiza peticiones a otro programa (el servidor) se ingresa una URL determinada y es enviada mediante para mediante el protocolo de transferencia hipertexto (http) se obtienen documentos que le da respuesta y luego que es mostrada utilizando el lenguaje etiquetado de hipertexto (HTML) Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.

Los recursos en World Wide Web y otros servicios se direccionan mediante URL. ¿Qué significa las siglas URL? Proporcione ejemplos de 3 tipos de recursos Web a los que pueda darse un nombre URL.

- Uniform Resource Locator (URL) localizador uniforme de recursos

Ejemplos de 3 tipos de recursos Web
· www.cdk3.net: indica la pagina por defecto proporcionada por www.cdk3.net
· www.w3.org/protocols/activity.html: identifica un fichero en el servidor
· www.google.com/search?q=kindberg realiza una consulta en una maquina de búsqueda.

6. de un ejemplo de URL enumere los tres componentes básicos de un URL indicando como se delimitan e ilustran cada uno a partir de un ejemplo ¿hasta que limite es transparente a la ubicación en URL?

Una URL seria por ejemplo:
· www.w3.org
Primer componente
El esquema: aquí se declara que tipo de URL es. Esto se precisa para especificar posiciones de una variedad de recursos y una variedad de protocolos de comunicación para recuperarlos



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 diferente (por ejemplo java). Los computadores clientes y servidores pueden tener un hardware diferente. Pero todas están conectados a Internet. Describa los problemas debidos a cada uno de los 5 aspectos de la heterogeneidad que necesitan resolverse para posibilitar que un objeto cliente invoque sobre el objeto servidor.

Aspectos que intervienen en la heterogeneidad
· Redes
· Hardware de computadoras
· Sistemas operativos
· Lenguajes de programación
· Implementaciones de diferentes desarrolladores

Los lenguajes de programación mencionados emplean representaciones diferentes para caracteres y estructuras de datos como cadenas de caracteres y registros. Hay que tener en cuenta estas diferencias si queremos que los programas escritos tanto servidor como cliente san capaces de comunicarse entre ellos.

De igual forma un objeto servidor con un objeto cliente no podrían comunicarse es cuando la programación es realizada por diferentes personas a menos que utilicen estándares comunes para que esto ocurra es necesario concertar y adoptar estándares.

8. Un sistema distribuido abierto permite a adición de nuevos servicios de compartición de recursos como el objeto BURBUJA del ejercicio 7 y que sean accesibles por variedad de programas clientes, discuta en el contexto de este ejemplo. Hasta donde las necesidades de extensibilidad difieren de las de heterogeneidad.

Las necesidades de extensibilidad difieren de las de heterogeneidad en el sentido de que el lenguaje java no cuenta con un mismo estándar de codificación que el lenguaje c++ por ende seria difícil comunicarse directamente.

9. Suponga que las operaciones del objeto BURBUJA están separadas en dos categorías: operaciones disponibles para todos los usuarios y operaciones protegidas disponibles solo para ciertos usuarios conocidos por un nombre concreto. Presente todo los problemas relacionados con la operación de garantizar que solo los usuarios con nombre conocido puedan acceder a la operación protegida. Suponiendo que el acceso a una operación protegida da información que no debiera revelarse al resto de los usuarios ¿Qué mas problemas aparecen?

· Demora en el tiempo en que se verifican los datos de los usuarios.
· Posibles robos de contraseña que puedan existir

En caso la información sea de carácter privado existen problemas como:

· Perdida de información relevante
· Problemas con las políticas de privacidad




CAPITULO II

MODELOS DE SISTEMA


1. describa e ilustre la arquitectura cliente-servidor de una de las aplicaciones de Internet (por ejemplo la Web, email, o el netnews).

Visitar un sitio web es un buen ejemplo de la arquitectura cliente/servidor. El servidor web sirve las páginas web al navegador (el cliente). La mayoría de los servicios de Internet son tipo de servidores. Por ejemplo, si estás leyendo un artículo en cualquier dirección web, la computadora y el navegador web serían considerados un cliente, y las computadoras, las bases de datos, y los usos que componen la dirección web serían considerados el servidor. Cuando tu navegador web solicita un artículo particular de la dirección web el servidor de la dirección web encuentra toda la información requerida para exhibir el artículo en la base de datos de la dirección web, la monta en una página web considerada como interfaz gráfica, y la envía de nuevo a tu navegador web.


2. para las aplicaciones discutidas en el ejemplo 1 indique como cooperan los servidores al proveer un servicio

Servidor web: almacena documentos HTML, imágenes, archivos de texto, escrituras, y demás material Web compuesto por datos (conocidos colectivamente como contenido), y distribuye este contenido a clientes que la piden en la red.

Y un Servidor de correo: almacena, envía, recibe, enruta y realiza otras operaciones relacionadas con email para los clientes de la red.

3. como están involucradas en el particionado y/o replicación (o el uso de cache) de los datos de ciertos servidores, las aplicaciones discutidas en el ejercicio 1

El servidor web por ejemplo utiliza una cache web se llama así a la caché que almacena documentos web (es decir, páginas, imágenes, etcétera) para reducir el ancho de banda consumido, la carga de los servidores y el retardo en la descarga. Un caché web almacena copias de los documentos que pasan por él, de forma que subsiguientes peticiones pueden ser respondidas por el propio caché, si se cumplen ciertas condiciones.

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 ¿Cuáles son los requisitos de sincronización entre estas actividades concurrentes?

Los motores de búsqueda emplean el uso de arañas para recopilar la información de los sitios web. Las arañas rastrean los sitios web recopilando datos y siguen los enlaces que hay en las páginas. Las arañas rastrean Internet casi continuamente, recolectando las páginas nuevas y actualizadas de la Web para mantener sus resultados al día.

Para que busque de manera concurrente utilizan diferentes métodos de búsqueda como n-ario o el b-asterisco

5. de ejemplos de aplicaciones donde sea beneficioso emplear código móvil.

Los applet son los más conocidos y extendidos en el código móvil ya que el código se descarga en el navegador y así podrá trabajar más rápidamente sin retardos ni de la variabilidad del ancho de banda

Un corredor de bolsa puede proporcionar un servicio personalizado para notificar a los usuarios los cambios en las cotizaciones: para utilizar dicho servicio cada usuario debiera haber descargado un applet especial, que recibe las actualizaciones del servidor del corredor, las presenta n la pantalla al usuario y quizá realiza las operaciones automáticas de compra y venta desencadenadas por las condiciones prefijadas por el usuario y almacenados localmente en el computador del mismo

¿que factores afectan el modo de comportamiento de una aplicación que accede a los datos compartidos administrados por un servidor? describa los remedios disponibles y discuta su utilidad.



6. distinga entre buffer y caché

Se define como buffer a una memoria intermedia, o memoria de almacenamiento temporal de información entre un dispositivo y otro, por ejemplo, la computadora y la impresora, o la computadora y el disco rígido. El buffer almacena los datos a modo de los denominados "paquetes de información" para ser volcados al dispositivo en cuestión. Hecho esto, el buffer se "vacía" y queda disponible para recibir otro "paquete" y repetir así el procedimiento.

En cambio cuando hablamos de memoria en "Cache", se puede decir que es un conjunto de datos duplicados de otros, con el propósito de obtener la información en forma más rápida, cuando el conjunto de los datos originales resultan mas difíciles de accesar en tiempo con respecto a la copia en memoria caché.
Ambos pueden ser considerados como memorias temporales, en el buffer el dato se pierde una vez utilizado para ser reemplazado por otro, mientras que en el cache, permanece mientras el proceso lo requiera accediendo a el tantas veces como sea necesario.

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 que punto podemos asegurar que el empleo de redundancia, cuando sea adecuado, hace que el sistema sea tolerante frente a fallos?