2. Modelos de sistema 2.1 Introducción 2.2 Modelos Arquitectónicos 2.3 Modelos Fundamentales (Aprendizaje cooperativo) D.I.A. Sistemas Distribuidos 1 2. Modelos de sistema 2.1. Introducción • Los SD deben funcionar en diferentes entornos – Se necesitan SD particulares para un determinado problema => Modelos arquitectónicos – Todos comparten ciertas propiedades => Modelos fundamentales D.I.A. Sistemas Distribuidos 2 2.1. Modelos arquitectónicos El modelo arquitectónico define: • la forma en la que los componentes interactúan entre ellos: – sus roles funcionales. – el patrón de comunicación entre ellos. • cómo se asignan en los nodos de la red: – para distribuir los datos. – para distribuir la carga. D.I.A. Sistemas Distribuidos 3 2. Modelos arquitectónicos Liu, Cap. 3, Coulouris Cap. 2 1. 2. 3. 4. Paso de mensajes Cliente-servidor Peer-to-peer MOM (Message-Oriented Middleware) • punto a punto • multicast (eventos con publish/subscribe) 5. RPC (Remote Procedure Call) 6. Objetos distribuidos • RMI (Remote Method Invocation) • Basado en ORB (Object Request Broker) 7. Agentes móviles D.I.A. Sistemas Distribuidos 4 2. Modelos arquitectónicos level of abstraction high object space network services, object request broker, mobile agent remote procedure call, remote method invocation client-server, MOM message passing low D.I.A. Sistemas Distribuidos 5 2. Modelos arquitectónicos Process A Process B • Paso de mensajes a message Message passing • Operaciones: enviar, recibir sobre sockets • Síncrona: el emisor se bloquea hasta que se entrega el msj en un buzón de la maquina destino o al receptor.(TCP) •Asíncrona: el emisor se bloquea hasta que el msj se almacena en su buzón local.(UDP) • Transitoria: El mensaje se almacena en el sist. de comunicación mientras viva el emisor y receptor. • No escalan en SD dispersos, No toleran caidas de procesos o cortes de red prolongados. D.I.A. Sistemas Distribuidos 6 2. Modelos arquitectónicos service request • Cliente-servidor a client process a server process Server host a service ... Client host The Client-Server Paradigm, conceptual • Operaciones en el cliente y servidor …. • Comunicación síncrona y transitoria •HTTP, FTP, DNS, finger, gopher, …. D.I.A. Sistemas Distribuidos 7 2. Modelos arquitectónicos • Peer-to-peer process 1 re qu e st re qu e st re spon se re spon se process 2 • Los procesos pueden ser clientes y servidores • Síncrona y transitoria D.I.A. Sistemas Distribuidos 8 2. Modelos arquitectónicos • Middleware orientado a mensajes (MOM) (Message-Oriented Middleware) receivers message system sender ... ... • Implementa un servicio de mensajería •Persistente: No pérdida de mensajes •Asíncrono: No simultaneidad de emisor y receptor • Dos tipos: • Punto a punto • Multicast (publish/subscribe): EVENTOS •Escala bien y soporta fallos prolongados D.I.A. Sistemas Distribuidos 9 2. Modelos arquitectónicos • RPC (Remote Procedure Call) •Síncrona: El clte se bloquea hasta que reciba la respuesta del servidor •Transitoria. Máquina cliente Máquina servidor call A A call B B stub B empaqueta parámetros envía mensaje recibe mensaje Desempaqueta resultados return Middleware D.I.A. desempaqueta parámetros call B Empaqueta resultados envía mensaje espera siguiente petición stub B Middleware Red Sistemas Distribuidos 10 2. Modelos arquitectónicos • Objetos Distribuidos: Java RMI Process 2 Process 1 remote method invocation method1 method2 a remote object The Remote Method Call Paradigm • Objetos Distribuidos: basado en ORB Object Requestor Object Object Request Broker D.I.A. Sistemas Distribuidos 11 2. Modelos arquitectónicos • Agentes móviles Host 2 Host 1 Host 3 agent Host 4 D.I.A. Sistemas Distribuidos 12