GRUPO N°1 – SISTEMAS OPERATIVOS DISTRIBUIDOS LLAMADA A PROCEDIMIENTO REMOTO.

Slides:



Advertisements
Presentaciones similares
APLICACIONES DISTRIBUIDAS
Advertisements

Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
TEMA1. Servicios de Red e Internet
ADELA TORRES JONATHAN BEJARANO
Trabajo Practico Grupo 1 NFS – TCP - UDP
Profra. Hilda castillo zacatelco. Alumno: Francisco Sosa herrera
Common Object Request Broker Architecture
Lenguajes Servicios Web
Término que se le da al conjunto de equipos de cómputo que se encuentran conectados entre si por medio de dispositivos físicos que envían y reciben -
Servicios Web.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Introducción a Remoting
RMI Remote Method Invocation
MODELO TCP/IP Conectividad de extremo a extremo especificando como los datos deberian ser formateados,direccionados,transmitidos,enrutados y recibidos.
Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda.
ATC-DistribuidasUniversidad de Oviedo / Dpto. de Informática Programación con OSF RPC y Microsoft RPC.
INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN.
Presentación Web Services Interoperability and SOAP Keith Ballinger Microsoft Corporation Alvaro Castromán Alfonso Odriozola.
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
JAVA RMI The Java Remote Method Invocation ELO330 – Programación de Sistemas Cesar Vásquez I
OBJETOS DISTRIBUIDOS E INVOCACIÓN REMOTA ING. MARISCAL.
Teoría de Sistemas Operativos
Funcionalidad de la capa de Aplicación y la capa de Transporte. Capas superiores.
Arquitectura NFS El servidor NFS exporta uno o más directorios
Tema 4: Sistema de Archivos NFS
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
DHCP protocolo de configuración dinámica de host.
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
RPC Llamada Remota de Procedimientos Francisco José Cáceres Salazar Ingeniería Ejecucion Informatica Redes I.
En este capitulo se analizo la relación entre cliente y servidor de red habituales, como: HTTP FTP DNS DHCP Correo Electrónico INTRODUCCIÓN.
1 Capítulo 21: Interacción Cliente Servidor ICD 327: Redes de Computadores Agustín J. González.
Teoría de Sistemas Operativos Sistemas Archivos de Red
Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. Si no se dispone.
Protocolos del modelo TCP/IP
Ing. Elizabeth Guerrero V.
Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)
Protocolos de comunicación TCP/IP
Ing. Elizabeth Guerrero V.
MAESTRIA EN CIENCIAS DE LA COMPUTACION Comparación de implementación de sistemas distribuidos usando COM y CORBA Jesús Gil Muñoz Julio 2001.
PROTOCOLOS Modelo TCP/IP
.Net Remoting Conceptos que debemos Conocer Dominio de una Aplicación
Modelo OSI Para redes………
Integrantes:  Gómez Desire  Orgelys Linares  Oriannys Linares  Sánchez Alfredo  Wendher Villasmil.
MODELO TCP/IP.
Protocolos de Transporte y Aplicación
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
ANALISIS Y DISEÑO DE SISTEMAS II “DIAGRAMAS DE DESPLIEGUE ” INTEGRANTES: COPA PALMA CARLOS REYNALDO MAMANI PACO EDWIN ALVARO SIRPA LAURA HECTOR ELOY.
INFORMATICA I PROYECTO SIRLA Jorge Walter Sosa Esteban Parra González Juan Camilo Morales.
Obtención de datos para ser incorporados al proceso de operación y control y su actualización en forma automática en la BD. SISTEMA DE COMUNICACIONES INDUSTRIALES.
Presentación del prototipo Rodrigue Dufaur – Luis Acosta.
Patrón de diseño BROKER
LOGO Protocolos de internet Definición  La definición del término protocolo es importantísimo. En la vida real, los protocolos son un conjunto de hábitos.
Ud.1 Servicios DHCP Índice del libro Índice del libro.
TEMA 2 PHP. Introducción e Instalación índice 1. Introducción 6. Primera Prueba 2. Requisitos 3. ¿Qué es MySQL? 4. ¿Qué es Apache? 5. WAMPServer Raquel.
DCE: Entorno de Computación Distribuida Profesor: Daniel Acuña Expositores: Francisco Almarza Gustavo Espinoza.
Tema 7: Ingeniería del software Definición de software El software es: 1. instrucciones (programas de computadora) que cuando se ejecutan proporcionan.
Introducción En la ingeniería de software se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor.
República Bolivariana De Venezuela Instituto Universitario Politécnico “Santiago Mariño” Extensión Maracay TELEPROCESOS Capa Sesión y Capa Presentación.
TIPOS DE RED COMPONENTES DE UNA RED TOPOLOGIA DE UNA RED SOTO HERNANDEZ DANIELA DEL ROCIO COMPUTACION 1 Jorge Luis Flores Nevarez.
1 Introducción a la Programación Estructurada Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.
El modelo jerárquico de 3 capas La jerarquía tiene muchos beneficios en el diseño de las redes y nos ayuda a hacerlas más predecibles. En si, definimos.
 Los servidores Microsoft salen al mercado en 1993 con el Windows NT avance server 3.1 el cual se convierte en el primer sistema operativo para redes.
Hola????????. Modelo OSI La clave aquí es, para que una comunicación por red sea exitosa, como la llamada en conferencia, demanda varias actividades cuidadosamente.
Desventajas Poco eficiente: lectura y escritura en disco es lenta Necesita otro mecanismo de sincronización para acceder a los datos Son los procesos.
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Arquitecturas de Sistemas Distribuidos.
Introducción a la Ingeniería del Software 1 El Diseño de Software Caracteristicas: Proceso Creativo Requiere de experiencia e ingenio Necesita del aprendizaje.
Transcripción de la presentación:

GRUPO N°1 – SISTEMAS OPERATIVOS DISTRIBUIDOS LLAMADA A PROCEDIMIENTO REMOTO

RPC es un protocolo en el que un programa solicita un servicio ubicado en otro equipo, en una red sin tener que entender los detalles de la red. Una llamada a procedimiento también se conoce como una llamada a una función o una llamada de subprograma.

FUNCIONAMIENTO GENERAL DE UN RPC PROCESO CLIENTE El proceso realiza la llamada a una función. La llamada empaqueta el id. De la función y argumentos en mensaje Se Envía el mensaje a otro proceso. Queda a la espera del resultado. Al recibirlo, lo desempaqueta y retorna el valor PROCESO SERVIDOR Recibe mensaje con id. De función y argumentos. Se invoca función en el servidor. El Resultado de la función se empaqueta en mensaje Se transmite mensaje de respuesta al cliente. (transporta)

Elementos Necesarios Código cliente. Código del servidor. Formato de representación. Definición del interfaz. Localización del servidor. Semánticas de fallo.

CAPAS EN EL MODELO OSI RPC abarca la capa de transporte y la capa de aplicación en la interconexión de sistemas abiertos (OSI modelo) de la comunicación en red. RPC hace que sea más fácil desarrollar una aplicación que incluye múltiples programas distribuidos en una red.

Las funciones de abstracción de una llamada RPC a intercambio de mensajes se denominan resguardos (stubs). SISTEMA CLIENTE CÓDIGO DE LA APLICACIÓN PREPARA ENTRADA CONVIERTE SALIDA INICIO LLAMADA FIN LLAMADA BIBLIOT. EJECUCIÓN RPC ENVÍA ENTRADA RECIBE SALIDA RESGUARDO CLIENTE PROCEDIMIENTOS EJECUTA PROCEDIMIENTO REMOTO SISTEMA SERVIDOR RECIBE Y PASA RESGUARDO SERVIDOR PREPARA SALIDA TRANSMITE SALIDA CONVIERTE ENTRADA BIBLIOT. EJECUCIÓN RPC 4 6 7

STUBS O RESGUARDO Tareas que realizan:  Localizan al servidor.  Empaquetan los parámetros y construyen los mensajes.  Envían el mensaje al servidor.  Espera la recepción del mensaje y devuelven los resultados.

RPC * Este proceso es totalmente transparente al usuario que utiliza las RPC. * Es realizado por unos módulos denominados resguardos, suplentes o stubs. En una RPC, el proceso que realiza la llamada empaqueta los argumentos en un mensaje, los envía a otro proceso y espera el resultado. El proceso que ejecuta el procedimiento extrae los argumentos del mensaje, realiza la llamada de forma local, obtiene el resultado y lo envía de vuelta al proceso que realizó la llamada.

Sun-RPC (ONC-RPC: Open Network Computing-RPC): RPC muy extendido en entornos Unix, infraestructura sobre la que se ejecuta NFS (servicio de sistema de ficheros en red), NIS (servicio de directorio) DCE/RPC (Distributed Computing Environmen RPC): RPC definido por la Open Software Foundation Java-RMI: invocación de métodos remotos en Java CORBA (Common Object Requesting Broker Architecture): soporta la invocación de métodos remotos bajo un paradigma orientado a objetos en diversos lenguajes SOAP (Simple Object Access Protocol): protocolo RPC basado en el intercambio de datos (parámetros +resultados) en formato XML DCOM (Distributed Component Object Model): Modelo de Objetos de Componentes Distribuidos de Microsoft, con elementos de DCE/RPC.NET Remoting: Infraestructura de invocación remota de.NET EJEMPLOS DE ENTORNOS RPC

RPC: PROTOCOLO BÁSICO cliente servidor Ejecuta el procedimiento

Semántica Fallos Problemas que pueden plantear las RPC: – El cliente no es capaz de localizar al servidor. [1] – Se pierde el mensaje de petición del cliente al servidor. [2] – Se pierde el mensaje de respuesta del servidor al cliente. [3] – El servidor falla después de recibir una petición. [4] – El cliente falla después de enviar una petición. [5] Cliente Servidor ? [1] [2] [4] [5]

Fallos en los Servidores El servidor no ha llegado a ejecutar la operación – Se podría retransmitir El servidor ha llegado a ejecutar la operación El cliente no puede distinguir los dos ¿Qué hacer? – No garantizar nada – Semántica al menos una vez Reintentar y garantizar que la RPC se realiza al menos una vez No vale para operaciones no idempotentes – Semántica a lo más una vez No reintentar, puede que no se realice ni una sola vez – Semántica de exactamente una Sería lo deseable

Fallos en los Clientes La computación está activa pero ningún cliente espera los resultados (computación huérfana) – Gasto de ciclos de CPU – Si cliente rearranca y ejecuta de nuevo la RPC se pueden crear confusiones

Aspectos de Implementación Protocolos RPC – Orientados a conexión Fiabilidad se resuelve a bajo nivel, peor rendimiento – No orientados a conexión – Uso de un protocolo estándar o un específico Algunos utilizan TCP o UDP como protocolos básicos Coste de copiar información aspecto dominante en rendimiento: – buffer del cliente  buffer del SO local  red  buffer del SO remoto + buffer del servidor – Puede haber más copias en cliente para añadir cabeceras – scatter-gather: puede mejorar rendimiento

RPC de Sun Utiliza como lenguaje de definición de interfaz IDL: – Una interfaz contiene un nº de programa y un nº de versión. – Cada procedimiento específica un nombre y un nº de procedimiento – Los procedimientos sólo aceptan un parámetro. – Los parámetros de salida se devuelven mediante un único resultado – El lenguaje ofrece una notación para definir: constantes definición de tipos estructuras, uniones programas

RPC de Sun rpcgen es el compilador de interfaces que genera: – Resguardo del cliente – Resguardo del servidor y procedimiento principal del servidor. – Procedimientos para el aplanamiento (marshalling) – Fichero de cabecera (.h) con los tipos y declaración de prototipos. Enlace dinámico – El cliente debe especificar el host donde ejecuta el servidor – El servidor se registra (nº de programa, nº de versión y nº de puerto) en el port mapper local – El cliente envía una petición al port mapper del host donde ejecuta el servidor

Ejemplo de Fichero IDL (Sun RPC) struct peticion { int a; int b; }; program SUMAR { version SUMAVER { int SUMA(peticion) = 1; } = 1; } = 99;

Programación con un Paquete de RPC El programador debe proporcionar: – La definición de la interfaz (fichero idl) Nombres de las funciones Parámetros que el cliente pasa al servidor Resultados que devuelve el servidor al cliente – El código del cliente – El código del servidor El compilador de idl proporciona: – El resguardo del cliente – El resguardo del servidor

PROGRAMACIÓN CON RPC COMPILADOR C CABECERA FICHEROS FUENTE DEL CLIENTE FICHEROS OBJETO DEL CLIENTE FICHEROS OBJETO DEL SERVIDOR EJECUTABLE DEL CLIENTE EJECUTABLE DEL SERVIDOR FICHEROS FUENTE DEL SERVIDOR OBJETO RESGUARDO EN CLIENTE OBJETO RESGUARDO EN SERVIDOR MONTADOR BIBLIOT. RPC BIBLIOT. RPC DESARROLLO DE LA INTERFAZ DESARROLLO DEL CLIENTE DESARROLLO DEL SERVIDOR COMPILADOR IDL RESGUARDO EN SERVIDOR RESGUARDO EN CLIENTE CABECERA FICHERO DE DEFINICIÓN DE INTERFAZ

idl.x repcgen idl_svc.c servidor.c idl.h idl_xdr.c idl_clnt.c cliente.c Archivos para el cliente Archivos comunes Archivos para el servidor ESQUEMA DE UNA APLICACIÓN

MUCHAS GRACIAS POR SU ATENCIÓN YOSELIN VERA- MIGUEL BARRERA- JULIO TOMALÁ