Documentos de Académico
Documentos de Profesional
Documentos de Cultura
WWW Oocities Org
WWW Oocities Org
Inicio
Links
Webmistress
Modelo con proxy o cach Tres roles diferentes en la interaccin: Cliente: Solicita servicio. Servidor: Proporciona servicio. Proxy: Intermediario (si tiene memoria se denomina cach)
converted by Web2PDFConvert.com
Modelo multicapa Servidor puede ser cliente de otro servidor Tpico en aplicaciones w eb: Presentacin + Lgica de negocio + Acceso a datos En Microsoft: ASP + COM + ADO En Java: JSP + EJB + JDBC
Cdigo mvil Modelo cliente/servidor alternativo: Viaja" el cdigo en vez de los datos. Requiere mquinas homogneas o "Mquinas virtuales": (ej. applet). Problemas de seguridad. Agentes mviles: Programa que viaja por el SD realizando una tarea. En cada nodo procesa datos locales. Se transfiere programa en vez de datos. Ejemplo: Data mining en base de datos distribuida Modelo peer-to-peer Un nico rol: Entidad Protocolo de dilogo: Entidades se coordinan entre s. Ejemplo: simulacin paralela, al final de cada etapa las entidades se sincronizan e intercambian informacin
converted by Web2PDFConvert.com
Se enva un mensaje. Se efecta varias veces un proceso get_reply para recolectar todas las respuestas, una a la vez. Aspectos del diseo de sistemas con transferencia de mensajes: Como proteccin contra la prdida de mensajes en la red, el emisor y el receptor pueden convenir en que tan pronto se reciba el mensaje, el receptor enve de regreso un mensaje especial de confirmacin. Si el emisor no ha recibido una confirmacin despus de cierto tiempo, retransmite el mensaje. Los sistemas con mensajes tambin deben enfrentar la cuestin de los nombres de los procesos, de forma que no haya ambigedad en el proceso dado en una llamada SEND o RECEIVE. Con frecuencia se utiliza un esquema tal como "proceso@maquina" o "maquina:proceso". Si el nmero de mquinas es muy grande y no existe una autoridad central que establezca los nombres de las mquinas, podra ocurrir que dos mquinas tuvieran el mismo nombre. La posibilidad de conflictos se puede reducir en forma considerable al agrupar las mquinas en dominios y dirigirse a los procesos como "proceso@maquina.dominio". En este esquema no hay problema si dos mquinas tienen el mismo nombre, siempre que estn en dominios diferentes. El nombre del dominio tambin debe ser nico. La autentificacin tambin es otro aspecto de los sistemas con mensajes, en este punto, puede ser de utilidad el ciframiento de mensajes con una clave que solo conozcan los usuarios autorizados. Tambin existen aspectos importantes del diseo en el caso que el emisor y el receptor se encuentren en la misma mquina, uno de los cuales es el desempeo del sistema. El copiar mensajes de un proceso a otro siempre es ms lento que la realizacin de una operacin de semforo o la entrada a un monitor. Se ha trabajo mucho para lograr que la transferencia de mensajes sea eficaz. El problema del productor y el consumidor con transferencia de mensajes Existen muchas variantes para la transferencia de mensajes. Una forma consiste en asignar a cada proceso una direccin nica y que las direcciones de los mensajes estn ligadas a procesos. Otra alternativa es inventar una nueva estructura de datos llamada buzn. Un buzn es un lugar donde almacenar un nmero determinado de mensajes, los cuales se especifican al crear el buzn. Al utilizar los buzones, los parmetros de direccin en las llamadas SEND y RECEIVE son buzones, no procesos. Cuando un proceso intente enviar un mensaje a un buzn completamente ocupado, se suspende hasta que se elimina un mensaje de dicho buzn. Al utilizar buzones, el mecanismo de almacenamiento de destino pero tales que no hayan sido aceptados todava. El caso opuesto al uso de buzones es la eliminacin del almacenamiento. Desde ese punto de vista, si se ejecuta SEND antes de RECEIVE, el proceso emisor se bloquea hasta la ejecucin de RECEIVE, momento en el que el mensaje se puede copiar en forma directa del emisor al receptor sin almacenamiento intermedio. En forma anloga, si se ejecuta primero RECEIVE, el receptor se bloquea hasta que se ejecute SEND. Esta estrategia se conoce como "rendezvous". Es ms fcil de implantar que el esquema de mensajes almacenados; pero es menos flexible, puesto que el emisor y receptor se ven forzados a ejecutarse al mismo paso. La comunicacin entre procesos del usuario de UNIX se lleva a cabo mediante tubos que en realidad son buzones. La nica diferencia real entre un sistema de mensajes con buzones y el mecanismo de tubos es que estos no preservan las fronteras de los menajes. En otras palabras, si un proceso escribe 10 mensajes de 100 bytes en un tubo y otro proceso lee 1000 bytes de ese tubo, el lector obtendr 10 mensajes de una sola vez. Con un sistema real de mensajes, cada READ debe regresar solo un mensaje. Equivalencia de primitivas Existe otro mtodo de comunicacin entre procesos llamado de secuenciadores descrito por Reed y Kanodia en el ao de 1979. Campbell y Habermann en 1974 analizaron el mtodo de expresiones de trayectorias. Atkinson y Hew itt en 1979 introdujeron los serializadores. Aunque la lista de mtodos distintos no es infinita, ciertamente es larga, adems, todo el tiempo se suea con alguna de ellas. A travs de los aos, cada uno ha acumulado simpatizantes, los cuales afirman que el mejor mtodo es el suyo. La verdad es que todos los mtodos son en esencia equivalentes desde el punto de vista de la semntica. Se puede utilizar cualquiera de ellos para construir los dems.
Quien hizo la llamada elimina los parmetros de la pila y regresa a su estado original. Los parmetros pueden llamarse por valor o por referencia. Un parmetro por referencia: Es un apuntador a una variable (es decir, la direccin de la variable), no el valor de la variable. En el ejemplo anterior, vlido para "C", el segundo parmetro es un parmetro por referencia y es un arreglo. Si el procedimiento que recibe la llamada utiliza este parmetro por referencia para almacenar algo en el arreglo, modifica el arreglo en el procedimiento que hizo la llamada. Otro mecanismo para el paso de parmetros es la llamada por copiar/restaurar: Quien recibe la llamada copia la variable en la pila, como en la llamada por valor. La copia de nuevo despus de la llamada, escribiendo sobre el valor original. Fallos del cliente La cuestin es qu ocurre si un cliente enva una solicitud a un servidor y falla antes de que el servidor responda. Se genera una solicitud de trabajo o cmputo que al fallar el cliente ya nadie espera; se dice que se tiene un cmputo hurfano. Los principales problemas generados por cmputos hurfanos son los siguientes: Desperdicio de ciclo de CPU. Posible bloqueo de archivos. Apropiacin de recursos valiosos. Posible confusin cuando: El cliente rearranca y efecta de nuevo la RPC. La respuesta del hurfano regresa inmediatamente luego. Las soluciones a los cmputos hurfanos son las siguientes: Exterminacin : Se crea un registro que indica lo que va a hacer el resguardo del cliente antes de que emita la RPC. El registro se mantiene en disco. Luego del rearranque se verifica el contenido del registro y se elimina el hurfano explcitamente. La desventaja es la sobre carga en e/s generada por la grabacin previa a cada RPC. Fallara si los hurfanos generan RPC, creando hurfanos de hurfanos: Sera imposible localizarlos. Ante ciertos fallos en la red sera imposible eliminarlos aunque se los localice. Reencarnacin : Resuelve los problemas anteriores sin necesidad de escribir registros en disco. Consiste en dividir el tiempo en pocas numeradas de manera secuencial. Cuando un cliente rearranca enva un mensaje a todas las mquinas declarando el inicio de una nueva poca. Al recibirse estos mensajes se eliminan todos los cmputos remotos. Si se divide la red mediante particiones por fallas, podran sobrevivir ciertos hurfanos: Cuando se reconecten y vuelvan a reportarse sus respuestas contendrn un nmero de poca obsoleto y se los podr detectar y eliminar. Reencarnacin sutil: Cuando llega un mensaje de cierta poca: Cada mquina verifica si tiene cmputos remotos: En caso afirmativo intenta localizar a su poseedor. Si no se localiza al poseedor se elimina el cmputo. Expiracin : A cada RPC se le asigna una cantidad estndar de tiempo "t" para que realice su trabajo. Si el tiempo es insuficiente debe pedir explcitamente otro quantum, pero esto es un inconveniente. Si luego del fallo el servidor espera "t" antes de rearrancar, todos los hurfanos habrn desaparecido. El problema es elegir un "t" razonable, ya que pueden existir RPC con requisitos diversos.
Atomicidad La mayora de los sistemas de comunicacin en un grupo estn diseados para que los mensajes enviados al grupo lleguen correctamente a todos los miembros o a ninguno de ellos:
converted by Web2PDFConvert.com
Esta propiedad de "todo o nada" en la entrega se llama atomicidad o transmisin atmica. Facilita la programacin de los sistemas distribuidos. Es de gran importancia para garantizar la consistencia de las bases de datos y de los archivos distribuidos y duplicados. La nica forma de garantizar que cada destino recibe todos sus mensajes es pedirle que enve de regreso un reconocimiento despus de recibir el mensaje: Esto funciona si las mquinas no fallan. Si fallan: Algunos miembros del grupo habrn recibido el mensaje y otros no; esto es inaceptable. Los miembros que no recibieron el mensaje ni siquiera saben que les falta algo, por lo que no pedirn una retransmisin; adems, si pudieran detectar el faltante pero fallara el emisor, no podrn recibir el mensaje.
converted by Web2PDFConvert.com
Atomicidad: O reciben todos los procesos el mensaje o ninguno. Orden de recepcin de los mensajes: tres alternativas: Orden FIFO: Los mensajes de una misma fuente llegan a cada receptor en el orden que son enviados. No hay ninguna garanta sobre mensajes de distintos emisores Ordenacin causal: Si entre los mensajes enviados por dos emisores existe una posible relacin "causa-efecto", todos los procesos del grupo reciben primero el mensaje "causa" y despus el mensaje "efecto". Si no hay relacin, no se garantiza ningn orden de entrega. Ordenacin total: Todos los mensajes (de varias fuentes) enviados a un grupo son recibidos en el mismo orden por todos los elementos.
Bibliografa:
Oocities
Like 1,222 Apuntes tomados de la clase del Lic. Marco Antonio Salas Quionez del Instituto Tecnolgico de Los Mochis. Comunicacin a travs de mensajes; Elda Noem Beltran Castro, Samara Lizeth Inzunza Castro, Alma Cristina Martnez Lpez. Sistemas Operativos Distribuidos, Andrew S. Tanenbaum, editorial Prentice Hall.
converted by Web2PDFConvert.com