sistemas distribuidos

Upload: diego-perez

Post on 13-Jul-2015

139 views

Category:

Documents


0 download

TRANSCRIPT

1.

2.

3.

4. 5.

6. 7.

8. 9. 10.

11.

12.

13. 14. 15.

16.

17.

Explique por qu un sistema distribuido NO es una red de computadores. Un sistema distribuido es un conjunto colectivo de recursos con la capacidad de compartir memoria, espacio de almacenamiento y unidades de procesamiento mientras que en una red de computadoras existe un nmero determinado de hosts independiente que no comparten memoria, ni disco ni unidades de procesamiento. Qu caractersticas del DNS son deseables en un sistema distribuido? Localizacin eficiente de recursos Escalar para varios usuarios sobre un rea grande. Escalar en funcin de las actualizaciones. Forma original para la asociacin de nombres. Qu es un socket? Socket es el final de la comunicacin entre procesos. es un mecanismo de comunicacin. Es una abstraccin mediante la cual una aplicacin puede enviar y recibir datos. Hay dos tipos ( stream (TCP) datagram(UDP)) Expliquen algunas dificultades en el diseo de sistemas distribuidos? Modos de uso variables Amplio rango de entornos Problemas internos Amenazas Externas En el modelo arquitectnico cmo se clasifican a los procesos, y en base a qu se realiza la clasificacin? Clasificacin de Procesos: (en base a responsabilidad de c/u q trabajo e impacto de fallas) Servidor (server process). Cliente (clientprocess). Par (peer process). Cul es la funcin del MIDDLEWARE? Capa que enmascara la heterogeneidad, fu funcin es provee bloques de construccin para producir software. Qu es un cach, qu es un bfer, cul es la diferencia entre ambos? Una cach ofrece un espacio de memoria el cual despus de ser llenado puede usarse cuantas veces se disponga, mientas que un bfer ofrece un espacio de memoria el cual despus de ser llenada solo puede ser utilizada una sola vez y volviendo a quedar ese contener vacio, es decir de ocupa la informacin y se desecha el contenido. Qu es un agente mvil? Pequeo programa que viaja de un PC a otro, realizando algn tipo de tarea (recoleccin de informacin). Qu es un Interfaz? Una interfaz proporciona una definicin de la validez de un conjunto de mtodos sin especificar su aplicacin; Mencione los modelos definidos en el modelo fundamental y describa brevemente uno de ellos. Interaccin Fallas. Seguridad. Modelo de Interaccin: Interacciones entre procesos: comunicacin y coordinacin. Retardos variables en las comunicaciones. Exponga las diferencias entre un sistema sncrono y un asncrono. En un sistema sncrono el tempo de ejecucin de cada paso tiene lmites, mientras que en un sistema asncrono no hay lmites en velocidad de ejecucin. En un sistema sncrono el tiempo de envo de mensajes tiene lmites, mientras que en un sistema asncrono no hay lmites en los retrasos En un sistema sncrono los relojes internos pueden variar dentro de lmites, mientras que los asncronos no tienen lmites en problemas de reloj Para qu es necesario el ordenamiento lgico de eventos? Puesto que los mensajes se reciben luego de ser enviados, es obvio que las respuestas se reciban luego de se enven los mensajes, por lo tanto es imprescindible que haya un mecanismo de secuenciamiento que permita la correcta ordenacin mensajes y respuestas. Qu es una falla arbitraria? Fallos Bizantinas (Arbitrarias): La peor semntica de fallo posible. Son las peores fallas, cualquier tipo de error puede ocurrir. Qu entiende por enmascaramiento de fallos? Enmascarar un fallo, significara esconderlo o convertirlo en una falla ms aceptable. De qu es capaz el enemigo? Capaz de enviar mensajes a cualquier proceso. Capaz de leer y copiar mensajes entre procesos pares. Puede atacar desde un equipo perteneciente a la red o conectado de forma no autorizada a la red. Qu es un protocolo? Reglas estndares y formatos q se emplean para comunicarse con especificaciones de la secuencia de mensajes a intercambiar, adems de especificaciones del formato d los datos. Explique en que consiste el proceso de filtrado de paquetes IP. Consiste en restringir los rangos de direcciones hacia los cuales los datos pueden salir y por los cuales pueden ser recibido, haciendo especificaciones de seguridad para la entrada o salida de datos bajo especificaciones

18. A qu se refiere el trmino concurrencia? Esta caracterstica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultneamente por los usuarios y/o agentes que interactan en la red, sin que afecte de manera negativa el rendimiento de la red. 19. Explique uno de los ocho tipos de transparencia segn la ISO? Transparencia de Acceso : Permite el acceso a los objetos de informacin remotos de la misma forma que a los objetos de informacin locales. Transparencia de Localizacin: Permite el acceso a los objetos de informacin sin conocimiento de su localizacin Transparencia de Concurrencia: Permite que varios procesos operen concurrentemente utilizando objetos de informacin compartidos y de forma que no exista interferencia entre ellos. Transparencia de Replicacin: Permite utilizar mltiples instancias de los objetos de informacin para incrementar la fiabilidad y las prestaciones sin que los usuarios o los programas de aplicacin tengan por que conoces la existencia de las rplicas. Transparencia de Fallos: Permite a los usuarios y programas de aplicacin completar sus tareas a pesar de la ocurrencia de fallos en el hardware o en el software. Transparencia de Migracin: Permite el movimiento de objetos de informacin dentro de un sistema sin afectar a los usuarios o a los programas de aplicacin. Transparencia de Prestaciones. Permite que el sistema sea reconfigurado para mejorar las prestaciones mientras la carga varia. Transparencia de Escalado: Permite la expansin del sistema y de las aplicaciones sin cambiar la estructura del sistema o los algoritmos de la aplicacin. Las dos mas importantes son las transparencias de acceso y de localizacin 20. Provea un ejemplo de sistema distribuido y explique por qu se lo considera sistema distribuido? El internet es un sistema distribuido, puesto que comparte recursos, memoria, espacio del almacenamiento, no dispone de un sistema de reloj central. Conteste Verdadero (V) o Falso (F) segn corresponda: La redundancia permite que los servicios puedan tolerar fallos El trmino plataforma involucra al hardware del PC y al sistema operativo SNMPv1 y SNMPv2 son compatibles Los routers deben converger antes de poder enrutar el trfico Los saltos de lnea permiten separar grupos lgicos de cdigo La coordinacin es una tarea sencilla En los sistemas distribuidos existe un reloj global main es la funcin principal de las aplicaciones de consola de C# Los comentarios en C# pueden empezar con /// En los tipos valor, cuando se realiza asignacin, se copia la referencia En C# todo es un objeto El modificador de acceso protected indica que slo se puede acceder desde el mismo Assembly En todos los modelos de pares, todos los pares deben tener el mismo estado Para enviar y recibir datos usando sockets, es necesario primero conectar el socket Para escuchar por conexiones en el lado servidor es necesario primero aceptar una conexin En TCP/IP se pueden encontrar dos tipos de sockets (stream y datagram) Los fallos de omisin son fallos producto de un comportamiento anormal de la aplicacin Las llamadas tipo bloqueante producen que un programa se bloquee hasta que sean respondidas Los hilos pueden proveer un mecanismo para proveer transparencia Los sockets NO trabajan sobre UDP

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.

(V ) (V ) (V) (V) (V) (F) (F) (F) (V) (F) (V) (F) (F) (V ) (V) () () () () ()

1.

Problemas: El servicio del Protocolo de Tiempo de Red (NTP) se usa para sincronizar relojes de computadores. Explique por qu, incluso con este servicio, no se puede garantizar un lmite para la diferencia de tiempo entre dos relojes.

2.

En Pepperland, se determin que la solucin para el problema de coordinacin era emplear un mecanismo sincrnico. Explique por qu el mtodo sincrnico permite ponerse de acuerdo en cuando atacar.

3.

En su aplicacin Ahorcado Distribuido de qu forma se podra proveer cierto nivel de transparencia de acceso.

4.

Diagrame los pasos necesarios para enviar datos desde un cliente (considere todos los pasos requeridos).

5.

Exponga qu entendi por llamadas de tipo no bloqueante. Un llamada bloqueante suspende la ejecucin del programa del usuario hasta que el buffer a ser enviado/recibido sea seguro para usar. Una llamada no bloqueante inicia la comunicacin y luego regresa casi inmediatamente a seguir con la ejecucin del programa del usuario. En este mdulo veremos cmo este comportamiento tiene un impacto en los requerimientos de programacin y en el desempeo del programa. Qu es un web service? Componente que puede usarse remotamente. .NET Remoting XML Web Service Se invocan usnado SOAP (SOAP 1.1), HTTP-GET(reemplazado por SOAP 1.2) yHTTP-POST. Estn basados en XML. Retornan una respuesta al cliente en formato XML. Ofrecen los siguientes beneficios: Independencia de Lenguaje y Plataforma. Actualizacin automtica.

Qu es el algoritmo de Nagle?

El algoritmo de Nagle es un sistema utilizado para mejorar la eficiencia de las redes, en particular la Internet. El sistema consiste en evitar datos que se envan en forma innecesaria pequeos lotes, lo que tambin aumenta el nmero de lotes enviados. Si bien tiene sus usos, el algoritmo de Nagle puede interactuar bien con otros elementos de la red de comunicaciones. Nagle funciona con las redes que utilizan los protocolos TCP /IP.Qu es remoting? El mecanismo para comunicar AppDomains se denomina remoting. Permite que cdigo en una AppDomain acceda a cdigo en un AppDomain remoto. AppDomain remoto puede estar en el mismo proceso, en otro proceso en el mismo PC o en otro proceso en una mquina de la red. Se dispone de tres mtodos para habilitar remoting: No remoting. Serializable (marshal-by-value) Marshal-by-reference Qu es RMI? RMI (Java Remote Method Invocation) es un mecanismo ofrecido por Java para invocar un mtodo de manera remota. Forma parte del entorno estndar de ejecucin de Java y proporciona un mecanismo simple para la comunicacin de servidores en aplicaciones distribuidas basadas exclusivamente en Java. Si se requiere comunicacin entre otras tecnologas debe utilizarse CORBA o SOAP en lugar de RMI. Defina Skeleton? Dispatcher ? Proxy? - Proxy: el papel de la proxy es hacer transparente a la RMI clientes, comportndose como un objeto local al invocador, pero que realmente est en contacto con el objeto remoto. Se oculta la Remote Object Reference, clasificacin / unmarshalling de los mensajes y la comunicacin s mismo. Se establece un proxy por cada objeto remoto que sostiene un proceso de Remote Object Reference. - Dispatcher: un servidor tiene un dispatcher y un skeleton por cada clase que representa un objeto remoto. El dispatcher recibe el mensaje de solicitud de la tarjeta de comunicacin y utiliza el method Id para seleccionar el mtodo apropiado para el skeleton, pasando el mensaje solicitado. - Skeleton: la clase de un objeto remoto tiene un skeleton, que implementa mtodos en la interfaz remota. Es responsable de los mensajes de marshalling / unmarshalling. Las clases de proxy, dispatcher, y el skeleton utilizado en RMI son generado automticamente por el compilador. Qu es el methodo factory? El Mtodo Factory consiste en utilizar una clase constructora (al estilo del Abstract Factory) abstracta con unos cuantos mtodos definidos y otro(s) abstracto(s): el dedicado a la construccin de objetos de un subtipo de un tipo determinado. Es una simplificacin del Abstract Factory, en la que la clase abstracta tiene mtodos concretos que usan algunos de los abstractos; segn usemos una u otra hija de esta clase abstracta, tendremos uno u otro comportamiento Qu son los procesos pares? Todos los procesos tienen un rol similar. Interactan cooperativamente como pares para cumplir una actividad. Defina procesos de notificaciones y eventos? Qu es SOAP? SOAP (Simple Object Access Protocol): Protocolo para transportar datos desde y hacia el Servidor Web. Formato XML. SOAP es un protocolo para el intercambio de mensajes sobre redes de computadoras, generalmente usando HTTP. Est basado en XML, a diferencia de DCOM y CORBA que son binarios; esto facilita la lectura por parte de los humanos, pero tambin los mensajes resultan ms largos y, por lo tanto, considerablemente ms lentos de transferir. Qu significa llamada bloqueante y no bloqueante? Un llamada bloqueante suspende la ejecucin del programa del usuario hasta que el buffer a ser enviado/recibido sea seguro para usar. Una llamada no bloqueante inicia la comunicacin y luego regresa casi inmediatamente a seguir con la ejecucin del programa del usuario. En este mdulo veremos cmo este comportamiento tiene un impacto en los requerimientos de programacin y en el desempeo del programa.

Marshalling y Unmarshalling? Marshalling: consiste en tomar una coleccin de datos y ensamblarlos en forma adecuada para transmitirlos en un mensaje. Empaquetar consiste en traducir las estructuras de datos y los valores primitivos en una representacin externa de datos. Unmarshalling Desempaquetar consiste en generar los valores primitivos desde la representacin externa de datos y reconstruir las estructuras de datos Marshal by value y Marshal by reference Marshal by value: el servidor crea una copia del objeto y pasa la copia al cliente Marshal by reference: el cliente crea un proxy para el objeto y luego lo usa para acceder al objeto Cuando un objeto es Serializable? Serializar significa aplanar un objeto o un conjunto relacionado de objetos para obtener una forma lineal adecuada para ser almacenada en disco o para ser transmitida en un mensaje. Deserializar consiste en restablecer el estado del objeto o conjunto de objetos desde su estado lineal. Reflexin: Habilidad de preguntar sobre las propiedades de una clase, nombres y tipos de campos y mtodos. Hace posible la creacin de las clases a partir de su nombre, y crear un constructor para una clase dada con unos argumentos dados. Permite hacer la serializacin y deserializacin genrica. Qu es mquina virtual de Dalvik? Android no usa la JVM ME. Android usa su propia VM personalizada y diseada para asegurar que mltiples instancias se ejecuten en un nico dispositivo. Designa al kernel el manejo de funciones de bajo nivel: Seguridad Hilos Gestin de Procesos Gestin de Memoria Qu archivos ejecuta Android? Ejecuta archivos ejecutables Dalvik (.dex). No Java bytecodes. El SDK ofrece las herramientas para transformar el cdigo de Java en ejecutables Dalvik. Qu contiene la carpeta res y asset? res Valores estructurados conocidos por la plataforma de Android. assets Almacn para cualquier tipo de datos. Se acceden mediante un AssetsManager y un mtodo getAssets(). Qu es WSDL? WSDL (Web Service Description Language): Lenguaje que describe un Servicio Web. Informacin: Donde encontrar al servicio Web. Mtodos y Propiedades que el servicio Web ofrece. Tipos de datos de los mtodos y propiedades. Protocolo empleado para comunicaciones. Est basado en XML. Permite crear objetos Proxy. Qu es DISCO? DISCO (DISCOvery): Terminologa (III) Lista de documentos WSDL. Permite agrupar servicios Web similares. Est basado en XML. Qu es UDDI? UDDI (Universal Description, Discovery and Integration) Es un registro. Provee un lugar para que las compaas puedan registrar los negocios y servicios que ofertan. El registro se emplea para buscar servicios. UDDI retorna una lista de Servicios Web de acuerdo a los criterios de bsqueda. Como documento WSDL o DISCO. Qu es agente mvil? Agente Mvil Pequeo programa que viaja de un PC a otro, realizando algn tipo de tarea (recoleccin de informacin). Worm. tiles para instalar software. Problemas: Seguridad: Recursos a los que acceden. Vulnerables.

Qu es cliente ligero? Capa de software que soporta un interfaz grfico en un PC local para el usuario, mientras ejecuta aplicaciones en un computador remoto. No descarga cdigo, lo ejecuta de forma remota. Ejemplos: X11 Citrix WinFrame VNC Para que se usa el historial en UDP? Qu es NFS? El Network File System (Sistema de archivos de red), o NFS, es un protocolo de nivel de aplicacin, segn el Modelo OSI. Es utilizado para sistemas de archivos distribuido en un entorno de red de computadoras de rea local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales. Qu es AFS? El Andrew File System (Sistema de archivos Andrew), o AFS es un sistema de archivos distribuido a travs de la red que fue desarrollado como parte del proyecto Andrew por parte de la Universidad Carnegie Mellon. Su nombre proviene de Andrew Carnegie y Andrew Mellon. Es utilizado fundamentalmente en entornos de computacin distribuida.