You are on page 1of 31

Sistemas Distribuidos

Mdulo 1 Introduccin

Facultad de Ingeniera Departamento de Informtica Universidad Nacional de la Patagonia San Juan Bosco

Introduccin a los Sistemas Distribuidos

Computacin Paralela y Distribuida

JRA 2009

Sistemas Distribuidos: Introduccin

Computacin Paralela
La computacin paralela se orienta a resolver rpidamente una tarea empleando mltiples procesadores simultneamente. Esta prctica se vuelve popular a partir de fines de los 80s. La posibilidad de construir hardware paralelo de alto rendimiento no fue suficiente, el real desafo fue el software. Los ambientes de programacin paralela fueron dificultosos de usar y ms, todava, estaban atados a arquitecturas particulares. Solo se desarroll esta prctica en problemas cientficos y de ingeniera el mercado era muy restringido. Sin embargo la perspectiva de la programacin paralela se ha tornado mas atractiva con las redes de PCs o estaciones de trabajo llamados clusters.
JRA 2009 Sistemas Distribuidos: Introduccin

Computacin Distribuida
Un sistema distribuido es una coleccin de computadoras autnomas que estn conectadas unas con otras y cooperan compartiendo recursos (p.e. impresoras y bases de datos). Son usados en aplicaciones comerciales y procesamiento de datos. Van desde pequeas configuraciones cliente-servidor sobre redes en varias escalas hasta Internet. Los sistemas distribuidos no son vendidos como tal pero crecen natural e incrementalmente. Las computadoras individuales son interconectadas por redes locales y stas pueden estar interconectadas en una red amplia en la medida que la necesidad lo amerita.
JRA 2009 Sistemas Distribuidos: Introduccin

Computacin Distribuida
El crecimiento de la computacin distribuida ha creado una serie de nuevos problemas que estn en investigacin. Los problemas elementales incluyen la ausencia de reloj comn y la posibilidad de fallas de transmisin. En el ms alto nivel: El acceso a recursos compartidos deben administrarse de modo tal que los diferentes programas de usuarios no se interfieran. Heterogeneidad operativa (hardware, sistemas operativos y los lenguajes, que deberan ser interoperativos). Seguridad.

JRA 2009

Sistemas Distribuidos: Introduccin

Comparacin entre Computacin Paralela y Distribuida


Aunque los dos campos han evolucionado de manera diferente, tienen caractersticas comunes: Son usados mltiples procesadores Los procesadores estn conectados por algn tipo de red. Actividades computacionales mltiples estn en progreso al mismo tiempo y cooperan unas con otras. La computacin paralela divide una aplicacin en tareas que son ejecutadas al mismo tiempo, mientras que la computacin distribuida divide una aplicacin en tareas que son ejecutadas en distintas locaciones usando diferentes recursos.

JRA 2009

Sistemas Distribuidos: Introduccin

Caractersticas de la Computacin en Paralelo


Una aplicacin es dividida en subtareas que son resueltas simultneamente, general-mente de manera fuertemente acoplada. Se considera una aplicacin por vez y el objetivo es el speed-up de procesamiento de la misma. Los programas usualmente corren en arquitecturas homogneas y pueden tener memoria compartida

JRA 2009

Sistemas Distribuidos: Introduccin

Caractersticas de la Computacin Distribuida


Pone nfasis en lo siguiente: Las computaciones usan mltiples recursos que estn situados en locaciones fisicamente distantes. Corren mltiples aplicaciones a la vez, stas pueden pertenecer a distintos usuarios. Los sistemas distribuidos son generalmente heterogneos. Una cuestin de inters es esconder las partes internas del sistema de manera tal que el sistema distribuido luzca como una nica mquina para los usuarios. Los sistemas distribuidos no tienen memoria compartida ( a nivel de hardware)
JRA 2009 Sistemas Distribuidos: Introduccin

Motivaciones para la Computacin Paralela y Distribuida


Rendimiento absoluto: aplicaciones cientficas e ingeniera. Por ejemplo: modelamiento del clima y el tiempo, simulaciones astrofsicas y diseo de materiales, autos y aviones; aplicaciones comerciales como Bases de datos, optimizaciones combinatorias, inteligencia artificial. Relacin precio/rendimiento. Razones tecnolgicas: p.e. nmero de chips, frecuencia de trabajo (el crecimiento del rendimiento se acaba en el 2005 [El-Rewini y Lewis]).
JRA 2009 Sistemas Distribuidos: Introduccin

Motivaciones para la Computacin Paralela y Distribuida(cont)


Aplicaciones con paralelismo o distribucin inherentes: p.e. sistemas de informacin de empresas o compaas, mundo real. Recursos compartidos. Crecimiento incremental. Otras razones: balance de carga, utilizacin de capacidad ociosa.

JRA 2009

Sistemas Distribuidos: Introduccin

Caractersticas Claves
Definiciones: Tarea (task): programa o parte de programa en ejecucin. Es una de las actividades computacionales que tienen lugar al mismo tiempo y/o en diferentes locaciones. Proceso: usado en forma sinnima con tarea (en general). Job: es un programa completo en ejecucin. Nodo o elemento de procesamiento: es una entidad que puede computar (puede ser un simple procesador o multiprocesador)
JRA 2009 Sistemas Distribuidos: Introduccin

Rendimiento de Aplicaciones Simples


Mtrica obvia: tiempo de corrida (o costo de ejecucin). Speed-up: speed-up(P)=T1/T(P) donde: T(P): tiempo de corrida del programa paralelo en P procesadores. T1: tiempo de corrida de un programa secuencial de referencia. En general, este ltimo es el programa secuencial ms rpido que soluciona el problema. Eficiencia: eficiencia(P)=speed-up(P) / P donde: P: nmero de procesadores
JRA 2009 Sistemas Distribuidos: Introduccin

Rendimiento de Aplicaciones Simples (cont.)


Idealmente se espera que el speed-up crezca linealmente y la eficiencia sea 1(uno) para todo P. Hay casos donde el speed-up es superlineal o sea que k procesadores resuelven una tarea en menos que un ksimo del tiempo de corrida secuencial. Comportamiento explicable por el aumento del tamao del cach.
ideal Speed-up tpico

P
JRA 2009 Sistemas Distribuidos: Introduccin

Rendimiento de Aplicaciones Simples (cont.)


Razones de la diferencia entre el speed-up ideal y tpico:

Ley de Amdahl: primera observacin [Amdahl, Validity of the single processor approach to achieving large scale computer capabilities; Proc. AFIPS, pp30, 1967]: cada computacin contiene una porcin serial de ejecucin, es decir, alguna parte s del cdigo no es posible paralelizarlo; segunda observacin (ley Gustafson-Barsis)[ElRewini,Lewis; Distributed and Parallel Computing, Manning Publications, 1998]: establece que se usan programas paralelo muy frecuentemente para resolver instancias ms grandes de un problema que su contraparte secuencial; as en la medida que el nmero de procesadores crece, T1 crece mientras que s permanece casi constante, en la prctica T1/s no es una constante.
JRA 2009 Sistemas Distribuidos: Introduccin

Rendimiento de Aplicaciones Simples (cont.)


Administracin de tareas y balance de carga: El manejo de un conjunto de tareas induce cierta sobrecarga. Es mas, a veces es difcil sino imposible tratar de dividir el trabajo entre procesadores. Comunicacin y sincronizacin: La paralelizacin introduce la necesidad de comunicacin y sincronizacin. En las arquitecturas actuales estas actividades son lentas comparadas con la computacin (por rdenes de magnitud) Los costos de comunicacin son medidos en trminos de latencia y ancho de banda. Latencia es el tiempo que se toma un mensaje para ir de una locacin a otra. Ancho de banda es la cantidad de datos que pueden ser transferidos por unidad de tiempo en estado estable. Los costos de comunicacin pueden ser reducidos pero no evitados.

JRA 2009

Sistemas Distribuidos: Introduccin

Rendimiento en Aplicaciones Mltiples


En aplicaciones cliente-servidor, en la cual hay mltiples jobs enviados al servidor, el rendimiento es medido por el tiempo de respuesta. El nmero de jobs es un factor importante de rendimiento. Influye la forma en que el servidor trata internamente los jobs (secuencial vs. paralelo). La habilidad del sistema para manejar cargas grandes es referida como procesamiento total (throughput). El rendimiento tambin puede medirse como la utilizacin de recursos (p.e. utilizacin del procesador). Aplicaciones como video por demanda depende de la disponibilidad de recursos que se comparten con otras aplicaciones, p.e. ancho de banda y espacio de buffers. Calidad de Servicios es concerniente con la provisin de una cantidad garantizada de esos recursos.
JRA 2009 Sistemas Distribuidos: Introduccin

Optimizacin del Rendimiento


Optimizacin del Rendimiento

Reduccin Costos Comp Como en computacin secuencial

Balance de Carga

Optimizacin Comunicacin

Tcnicas Especficas

Reduccin de Latencia Tecnologa, Sobrecarga de Protocolo

Evitar Latencia Reordenamiento de sentencias, Replicacin

Tolerancia a la Latencia

Prefetching Multihilos

JRA 2009

Sistemas Distribuidos: Introduccin

Complejidad de Diseo de Programa


No solo la optimizacin del rendimiento es complejo sino que tambin lo es el diseo de programas con respecto al caso secuencial. La aplicacin debe ser dividida en tareas individuales, esto implica la eleccin de una apropiada granularidad o tamao de tarea. Puede ser fina, media o gruesa. En general una granularidad gruesa da una buena relacin alta computacin-comunicacin. Otro punto es la planificacin de tareas en sentido espacial y temporal y la distribucin de datos. Esto tiene una gran influencia en el rendimiento. El manejo de las comunicaciones y la sincronizacin (llamado en conjunto coordinacin) son muy importantes. Solo coordinadamente pueden cooperar los procesos y compartir recursos. La correctitud es fundamental dado que la coordinacin puede generar efectos no deseados. Otro aspecto importante es el interbloqueo.
JRA 2009 Sistemas Distribuidos: Introduccin

Problemas Intratables
En muchos casos hay serias limitaciones. Por ejemplo: dentro del grupo de problemas intratables resulta el referido a la planificacin de tareas, mas especificamente el de mapear un grafo de programa a la arquitectura. Los procesos y procesadores son representados por nodos y las precedencias y/o comunicaciones por los lados. El objetivo es encontrar un mapeo de los nodos del grafo de programa en los nodos del grafo de la arquitectura, que minimiza algunas funciones de costo de rendimiento. Para varias prcticas relevantes de costos de rendimiento toma mucho tiempo encontrar una solucin ptima o una solucin que garantice estar prxima a la ptima.

JRA 2009

Sistemas Distribuidos: Introduccin

Soporte de Desarrollo de Software

En la medida que los programas paralelos se hacen cada vez mas grandes, los objetivos de la Ingeniera de Software para computacin secuencial deben ser redireccionados. Las herramientas existentes para desarrollo de la computacin secuencial deberan ser transferidas al dominio paralelo. La situacin es mejor en computacin distribuida donde se han desarrollado, con el soporte de la Ingeniera de Software, estndares como CORBA.

JRA 2009

Sistemas Distribuidos: Introduccin

Transparencia
La transparencia es el ocultamiento al usuario o al programador de las funcionalidades del sistema. La funcionalidad escondida es manejada automticamente de manera que el usuario no necesite conocer el detalle. Por otro lado el usuario pierde control sobre la funcionalidad. Hay diferentes grados de transparencia exhibida a usuarios y programadores que trabajan en diferentes niveles del sistema. Por ejemplo: un programador que maneja la distribucin de datos entre procesadores, e implementa una interfaz de usuario para el cual la distribucin es transparente. El concepto de transparencia se asocia cercanamente a la imagen de un sistema simple.
JRA 2009 Sistemas Distribuidos: Introduccin

Transparencia (Cont.)
Bien conocidas formas de transparencia incluyen:
Acceso Transparente: habilita a que objetos de informacin locales y remotos sean accedidos usando operaciones idnticas. Locacin Transparente: permite que objetos de informacin locales y remotos sean accedidos sin conocimiento de su locacin. Concurrencia Transparente: habilita a varios procesos a operar concurrentemente sobre objetos de informacin compartida sin interferencias entre ellos. Replicacin Transparente: implica mltiples instancias de objetos de informacin usados para incrementar confiabilidad y rendimiento sin conocimiento de las rplicas por los usuarios o las aplicaciones.

JRA 2009

Sistemas Distribuidos: Introduccin

Transparencia (Cont.)
Fallas Transparentes: permite el encubrimiento de fallas, los usuarios y/o aplicaciones completan sus tareas a despecho de fallas de hardware o software. Migracin Transparente: permite el movimiento de objetos de informacin en el sistema sin afectar las operaciones de usuarios o aplicaciones. Rendimiento Transparente: el sistema se reconfigura para mejorar el rendimiento cuando la carga vara. Escalabilidad Transparente: el sistema y las aplicaciones se expanden escalarmente sin cambiar la estructura del sistema o los algoritmos de aplicacin.

JRA 2009

Sistemas Distribuidos: Introduccin

Transparencia (Resumen)
Transparencia Acceso Locacin Migracin Relocacin Replicacin Concurrencia Fallas Persistencia Descripcin Esconde diferencias en la representacin de datos y como un recurso es accedido. Esconde la locacin del recurso. Esconde el movimiento de un recurso a otra locacin. Esconde que un recurso pueda ser movido a otra locacin mientras esten uso. Esconde desde donde es utilizado un recurso compartido por varios usuarios competidores. Esconde que un recurso pueda ser compartido por varios usuarios competidores. Esconde la falla y recuperacin de un recurso. Esconde si un recurso (software) esta en memoria o disco.

JRA 2009

Sistemas Distribuidos: Introduccin

Portabilidad del Cdigo y del Rendimiento


Un programa es portable si corre en una variedad de arquitecturas, inclusive las futuras. Tiene claras ventajas: El esfuerzo de escribir un programa se amortiza en el tiempo si es muy usado. Se puede pasar fcilmente a arquitecturas mas potentes si es necesario ms poder de computacin. Se puede pasar fcilmente a arquitecturas alternativas si el sistema original capot. Los programas pueden ser desarrollados en plataformas relativamente baratas. Muchas herramientas permiten, hoy en da, escribir cdigo portable.

JRA 2009

Sistemas Distribuidos: Introduccin

Portabilidad del Cdigo y del Rendimiento (Cont.)


El siguiente aspecto de la portabilidad, la portabilidad del rendimiento, no est suficientemente resuelto. Requiere que un programa corra en una variedad de arquitecturas de modo que el rendimiento observado refleje el rendimiento potencial de la respectiva arquitectura. La portabilidad de rendimiento es difcil de lograr, dado que portabilidad y rendimiento son objetivos conflictivos. El problema es que no se pueden aprovechar las especificidades de las arquitecturas.

JRA 2009

Sistemas Distribuidos: Introduccin

Escalabilidad
La escalabilidad es un objetivo obvio con un significado difuso. Se dice que un sistema es escalable si sus recursos pueden ser expandidos para acomodarse a un mayor poder de computacin. A nivel de hardware una tpica expansin es el agregado de procesadores. Cuando se agregan procesadores es necesario mejorar, tambin, las comunicaciones del sistema. Tambin se pueden reemplazar recursos por otros mas poderosos. A nivel de software se puede reemplazar el sistema operativo por una nueva versin del mismo. Se puede aplicar a programas, puede ser que el mismo es puesto en ms procesadores. En otros casos puede ser aprovechable adaptar el programa a una nueva situacin (p.e. eligiendo un nuevo algoritmo).
JRA 2009 Sistemas Distribuidos: Introduccin

Escalabilidad (Cont.)
Escalando un programa o sistema se espera cierto incremento de rendimiento. El trmino escalabilidad puede o no implicar la garanta de un incremento. Debido a la variedad de significados, slo unas pocas sentencias generales pueden hacerse sobre la escalabilidad. Una es que la centralizacin debe evitarse pues implica cuellos de botella y limita el paralelismo..
Algunos ejemplos de las limitaciones de la escalabilidad Concepto
Servicios Centralizados Datos Centralizados Algoritmos Centralizados
JRA 2009

Ejemplo
Un nico servidor para todos los usuarios. Una sola gua telefnica en lnea. Ruteo basado en informacin completa.

Sistemas Distribuidos: Introduccin

Escalabilidad (Cont.)
Ejemplo de tcnica de escalamiento: dividir el espacio de nombres DNS en zonas

Genrico

Pases

JRA 2009

Sistemas Distribuidos: Introduccin

Tolerancia a las Fallas


El trmino fiabilidad (dependability) es muy abarcativo . Cubre aspectos relacionados con ocurrencia de fallas y otros eventos no atendidos. Dado que los sistemas distribuidos y paralelos son complejos hay muchas cosas que pueden ir mal. La fiabilidad comprende confiabilidad, prevencin y seguridad. La confiabilidad concierne con la continuacin del servicio en la presencia de fallas. El objetivo es maximizar la disponibilidad, que es la fraccin de tiempo que el sistema est usable. La prevencin hace a las fallas catastrficas. La seguridad apunta a evitar o tolerar ataques deliberados. Tratar con fallas implica evitar fallas, deteccin de fallas y recuperacin de fallas. Se habla de fallas bizantinas cuando el componente fallado sigue funcionando pero produce salidas errneas. Tcnicas para recuperarse de las fallas implican redundancia y checkpointing.
JRA 2009 Sistemas Distribuidos: Introduccin

Heterogeneidad
Un sistema es heterogneo si est compuesto por hardware y software distinto. Muchos sistemas distribuidos son heterogneos, mientras que programas paralelos son escritos frecuentemente para mquinas homogneas. Aqu aparece la nocin de interoperabilidad: denota la habilidad de diferentes componentes, posiblemente de distintos proveedores, para interactuar. Estas partes pueden ser hardware o software. Es de particular inters la interoperabilidad entre partes de programas que fueron escritos en diferentes lenguajes. Los componentes, para interoperar, deben respetar determinadas interfaces estndares. Un sistema es abierto si los creadores han hecho previsin para que los usuarios o terceras partes agreguen o reemplacen componentes, .. interfaces pblicas.

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas Distribuidos como Middleware


Mquina A Mquina B Aplicaciones Distribuidas Servicios Middleware SO Local SO Local
Red

Mquina C

SO Local

Un sistema distribuido organizado como middleware. La capa middleware se extiende sobre mltiples mquinas.
JRA 2009 Sistemas Distribuidos: Introduccin

Introduccin a los Sistemas Distribuidos

Desventajas y Limitaciones

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Desventajas


Desventajas de los sistemas distribuidos Software: Hay poco software disponible para sistemas distribuidos. La algortmica es menos controlable. Redes: Se pueden saturar o causar otros problemas Seguridad

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Limitaciones


Limitaciones que crean problemas tecnolgicos en los SD. No existe una memoria global (cada nodo tiene su memoria local). Establecer un estado global es complejo. No se puede asegurar un tiempo global.

JRA 2009

Sistemas Distribuidos: Introduccin

Introduccin a los Sistemas Distribuidos

Requerimientos de Hardware y Software

JRA 2009

Sistemas Distribuidos: Introduccin

Conceptos de Hardware
Diferentes organizaciones bsicas y memorias en sistemas de cmputo distribuidos
Memoria Compartida Memoria Privada Basado en canal Basado en conmutacin

Procesador

Memoria
Sistemas Distribuidos: Introduccin

JRA 2009

Conceptos de Hardware (Cont.)


Multiprocesadores (1)

Memoria

Canal

Multiprocesador basado en canal

JRA 2009

Sistemas Distribuidos: Introduccin

Conceptos de Hardware (Cont.)


Memorias Memorias

Llave de punto de cruce

Llave 2x2

Conmutacin por cruce de barras b) Red de conmutacin omega


a)
JRA 2009 Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Conceptos de Hardware Sistemas Homogneos Multicomputadora

Grilla b) Hipercubo
a)
JRA 2009 Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Conceptos de Software


Una vista de SOD (Sistemas Operativos Distribuidos) SOR (Sistemas Operativos de Red) Middleware
Sistema Descripcin Sistemas operativos fuertemente acoplados para multiprocesadores y multicomputadoras homogneas Ssitemas operativos flojamente acoplados para multicomputadoras heterogneas (LAN y WAN). Capa adicional sobre un SOR implementando servicios de propsito general. Objetivo Principal Esconde y maneja los recursos de hardware Ofrece servicios locales a clientes remotos Provee distribucin transparente

SOD

SOR

Middleware

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Conceptos de Software


Sistema operativo uniprocesador
Sin intercambio directo de datos entre mdulos Interfaz SO

Aplicacin usuario

Mdulo memoria

Mdulo proceso

Mdulo archivo

Modo usuario

Llamada a sistema

Modo kernel

Separando aplicaciones del cdigo del sistema operativo mediante un microkernel.


JRA 2009 Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Conceptos de Software


Sistemas Operativos Multicomputadora - 1

Mquina A

Mquina B Aplicaciones Distribuidas

Mquina C

Servicios del Sistema Operativo Distribuido Kernel Kernel


Red

Kernel

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Conceptos de Software


Sistema Operativo de Red

Mquina A

Mquina B Aplicaciones Distribuidas

Mquina C

Servicios del SO de Red

Servicios del SO de Red

Servicios del SO de Red

Kernel

Kernel
Red

Kernel

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Conceptos de Software


Sistema Operativo de Red

Servidor de Archivos Cliente 1 Cliente 2 Req Resp

Red

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Conceptos de Software


Posicin del Middleware

Mquina A

Mquina B Aplicaciones Distribuidas Servicios de Middleware

Mquina C

Servicios del SO de Red

Servicios del SO de Red

Servicios del SO de Red

Kernel

Kernel
Red

Kernel

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Conceptos de Software Middleware y apertura


Aplicacin Interfaz de programacin igual Aplicacin

SO de Red

Protocolo comn

SO de Red

En un sistema distribuido basado en middleware abierto, los protocolos usados en cada capa de debera ser el mismo tanto como las interfaces que ofrecen a las aplicaciones.
JRA 2009 Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Conceptos de Software


Comparacin entre Sistemas
SO Distribuido Item Multiproces. Grado de transparencia Igual SO en todos los nodos Nmero de copias de SO Base para comunicaciones Manejo de Recursos Escalabilidad Apertura Muy alto Si 1 Memoria compartida Global, central No Cerrado Multicompu. Alto Si N Mensajes Global, distribuido Moderada Cerrado Bajo No N Archivos Por nodo Si Abierto SO de Red SO basado en Middleware Alto No N Modelo especfico Por nodo Vara Abierto

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Modelos de Sistemas


Capas de Software y Hardware

Aplicaciones, servicios

Middleware

Sistema Operativo Plataforma Hardware de Computadora y Red

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Modelos de Sistemas


Modelo Cliente-Servidor

Cliente

invocacin

invocacin

Servidor

resultado

Servidor

resultado

Cliente Grafismo: Proceso: Computadora:

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas Distribuidos: Modelos de Sistemas


Servicio provisto por mltiples servidores
Servicio

Servidor Cliente Servidor

Cliente Servidor

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas distribuidos: Modelos de Sistemas


Servidor Proxy

Cliente servidor Proxy

servidor Web

Cliente

servidor Web

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas distribuidos: Modelos de Sistemas Peer-to-Peer


Peer 2 Peer 1 Aplicacin Objetos Compartidos Peer 3 Aplicacin Aplicacin

Peer 4 Aplicacin Peers 5 .... N

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas distribuidos: Modelos de Sistemas


a) El requerimiento del cliente resulta en la bajada de un cdigo applet

Cliente Cdigo applet b) El cliente interactua con el applet

servidor Web

Cliente

Applet

servidor Web

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas distribuidos: Modelos de Sistemas


Clientes y servicios de cmputo

Red de computadoras o PCs


red

servidor de cmputo

Cliente

Proceso de aplicacin

JRA 2009

Sistemas Distribuidos: Introduccin

Introduccin a los Sistemas Distribuidos

Ejemplos de Sistemas Distribuidos

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas distribuidos: Ejemplos


Una red tpica Internet

intranet % % ISP

backbone

enlace satelital computadora: servidor: enlace de red:

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas distribuidos: Ejemplos


Una intranet tpica
servidor de correo computadoras impresoras y otros serv servidor de Web servidor de correo Servidor de archivos el resto de Internet router/firewall LAN

impresoras otros servidores

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas distribuidos: Ejemplos


Dispositivos portables y manuales en un sistema distribuido

Internet

intranet huesped

LAN inalmbrica

WAP gateway

Home intranet

telfono mvil Impresora Cmara Laptop Sitio husped

JRA 2009

Sistemas Distribuidos: Introduccin

Sistemas distribuidos: Ejemplos


Servidores de Web y navegadores de Web

http://www.google.comlsearch?q=kindberg www.google.com Web servers www.cdk3.net www.w3c.org Sist de arch de www.w3c.org Protocols Activity.html http://www.w3c.org/Protocols/Activity.html Internet http://www.cdk3.net/ Browsers

JRA 2009

Sistemas Distribuidos: Introduccin

Fin
Mdulo 1 Introduccin

Facultad de Ingeniera Departamento de Informtica Universidad Nacional de la Patagonia San Juan Bosco

You might also like