Sistemas Distribuidos
Diego Sevilla Ruiz
DITEC Facultad de Informtica a
Murcia, septiembre de 2007
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Sistemas Distribuidos
CURSO ACADEMICO TITULACION CICLO CREDITOS TEORICOS DEPARTAMENTO 2008/2008 I. INFORMATICA SEGUNDO. CURSO SEGUNDO. CARACTER OPTATIVA 3. PRACTICOS: 3. TOTAL: 6. INGENIER IA Y TECNOLOG IA DE COMPUTADORES Horario Martes 9:30 11:30 ??? Aula B.03 Lab. 1.6
Teor a Prcticas a
Profesor Diego Sevilla Diego Sevilla Tutor as
Mircoles 10:0014:00 e Mircoles 16:0018:00 e
DITEC Facultad de Informtica a
Diego Sevilla Ruiz Sistemas Distribuidos
Temario de Teor a
1. INTRODUCCION
SISTEMAS DISTRIBUIDOS: INTRODUCCION Y CONCEPTOS SISTEMAS DISTRIBUIDOS VERSUS SITEMAS CENTRALIZADOS SISTEMAS OPERATIVOS DISTRIBUIDOS MIDDLEWARE: TIPOS SISTEMAS GRID MODELOS DISTRIBUIDOS DE COMPONENTES INTRODUCCION A LOS OBJETIVOS, PATRONES DE Y HERRAMIENTAS CONCEPTUALES DE LA DISENO ASIGNATURA
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Temario de Teor (ii) a
2. PROGRAMACION EN SISTEMAS DISTRIBUIDOS: CORBA
IPC Y SISTEMAS RPC: SISTEMAS DE OBJETOS DISTRIBUIDOS INTRODUCCION A CORBA EL LENGUAJE IDL EL MAPPING DE IDL A C++ EL MAPPING DE IDL A JAVA CONSTRUCCION DE CLIENTES Y SERVIDORES BASICOS
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Temario de Teor (iii) a
3. SERVICIOS DE INFORMACION EN SISTEMAS DISTRIBUIDOS
SERVICIOS DE NOMBRES SERVICIOS DE TRADING PATRONES: ITERATOR, FEDERATION CORBA NAMING SERVICE CORBA TRADING SERVICE GLOBUS MDS
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Temario de Teor (iv) a
4. PATRONES PARA MEJORAR LA EFICIENCIA,Y ESCALABILIDAD DE ARQUITECTURAS DISTRIBUIDAS
INTRODUCCION
Aspectos espec cos de diseo para aplicaciones distribuidas n Eciencia y escalabilidad en sistemas distribuidos Diseo de interfaces remotas (fat operations, coarse object n models, wrapper) Escalabilidad en el nmero de clientes u Manejo de threads de ejecucin o Patrn Evictor o
PATRONES PARA EFICIENCIA Y ESCALABILIDAD
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Temario de Teor (v) a
5. ASPECTOS AVANZADOS DE SISTEMAS DISTRIBUIDOS
TOLERANCIA A FALLOS BALANCEO DE CARGA TRANSACCIONES SEGURIDAD
6. OTROS PARADIGMAS DE PROGRAMACION E DE APLICACIONES DISTRIBUIDAS INTEGRACION
INTEGRACION DE APLICACIONES CON XML MESSAGE-ORIENTED-MIDDLEWARE (MOM) SERVICIOS WEB ARQUITECTURAS PEER-TO-PEER MODELOS DE COMPONENTES DISTRIBUIDOS CARACTER ISTICAS BASICAS DE LOS SISTEMAS GRID GLOBUS
DITEC Facultad de Informtica a
7. INTRODUCCION A LOS SISTEMAS GRID: GLOBUS
Diego Sevilla Ruiz Sistemas Distribuidos
Prcticas a
Explicacin en las clases de prcticas de las herramientas y las o a prcticas a Dependiendo del nmero de personas: individuales o por u grupos de 2 Utilizando CORBA, servicios Web, J2EE/EJB... Todav por determinar a Parte en Java y parte en C++
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Trabajo a exponer
Opcional Los temas irn saliendo conforme se vaya avanzando en la a teor salgan ideas o discusiones a, Presentacin de 10 minutos concertada o
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Bibliograf bsica (teor y prcticas) a a a a
DEEPAK ALUR, JOHN CRUPI, DAN MALKS, CORE J2EE PATTERNS, 2 EDITION, PRENTICE HALL, 2003, ISBN: 0-13-142246-4. GEORGE COULOURIS, JEAN DOLLIMORE Y TIM KINDBERG, SISTEMAS DISTRIBUIDOS. COCEPTOS Y DISENO. 3a EDICION. Pearson Educacin, o 2001. ISBN: 84-7829-049-4. MARK GRAND, PATTERNS IN JAVA. VOLUME 1, 2a EDICION. WILEY, 2002, ISBN: 0-471-22729-3. ANDREW S. TANENBAUM, SISTEMAS OPERATIVOS DISTRIBUIDOS. Prentice-Hall Hispanoamericana, 1995. ISBN: 968-880-627-7. HENNING, VINOSKI. PROGRAMACION EN CORBA CON C++. Pearson Educacin, 2002, ISBN: 84-7829-048-6. o BROSE, VOGEL, DUDDY. JAVA PROGRAMMING WITH CORBA, 3 EDITION, John Wiley & Sons, 2001. ISBN: 0-471-60695-2. SCHMIDT, STAL, ROHNERT, BUSCHMAN. PATTERN-ORIENTED SOFTWARE ARCHITECTURE. VOLUME 2: PATTERNS FOR CONCURRENT AND NETWORKED OBJECTS. John Wiley & Sons, 2000. ISBN: 0-471-60695-2.
Diego Sevilla Ruiz Sistemas Distribuidos DITEC Facultad de Informtica a
Bibliograf complementara e Internet a
FERNANDO BELLAS. TRANSPARENCIAS SOBRE CORBA Y SISTEMAS DISTRIBUIDOS. UNIVERSIDAD DE A CORUNA. [Link] DOUGLAS C. SCHMIDT. PRESENTACIONES SOBRE PATRONES PARA APLICACIONES DISTRIBUIDAS. [Link] BUSHMAN, MEUNIER, ROHNERT, SOMMERLAD, STAL. PATTERN-ORIENTED SOFTWARE ARCHITECTURE. VOLUME 1: A SYSTEM OF PATTERNS. John Wiley & Sons, 1996. ISBN: 0-471-95869-7. MICHAEL STAL. TRANSPARENCIAS DE PATRONES DE APLICACIONES DISTRIBUIDAS. [Link] MICHAEL RUMBAUGH, IVAR JACOBSON, GRADY BOOCH, EL LENGUAJE UNIFICADO DE MODELADO. ADDISON WESLEY, 1999, ISBN: 84-7829-028-1.
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Evaluacin o
Examen de preguntas cortas: 20 % (hay que superar el 50 % para aprobar) Prctica: 60 % a Presentacin opcional: 20 % o Trabajos prcticos especiales: Prctica + Presentacin a a o
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Web de la asignatura
[Link]
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Sistemas Distribuidos
Un sistema distribuido es aquel en el que los componentes localizados en computadores, conectados en red, comunican y coordinan sus acciones unicamente mediante el paso de mensajes. [Colouris, p.1].
Concurrencia de los componentes Carencia de un reloj global Fallos independientes
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Sistemas Operativos Distribuidos
Sistemas Distribuidos versus Sistemas Operativos Distribuidos? Polmica hace unos aos e n Principales diferencias:
Heterogeneidad (hw, so., etc.) Sistema dbilmente acoplado vs. Sistema fuertemente acoplado e
Inmaduros en su comienzo Ahora ser el momento de avanzar en la direccin a o
GNU/Hurd CODA
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Curiosidad...
[Link]
From: ast@[Link] (Andy Tanenbaum) Newsgroups: [Link] Subject: LINUX is obsolete Date: 29 Jan 92 12:12:50 GMT ... As most of you know, for me MINIX is a hobby... As a result of my occupation, I think I know a bit about where operating are going in the next decade or so... monolithic vs. microkernel... From: torvalds@[Link] (Linus Benedict Torvalds) Subject: Re: LINUX is obsolete Date: 29 Jan 92 23:14:26 GMT your job is being a professor and researcher: Thats one hell of a good excuse for some of the brain-damages of minix. I can only hope (and assume) that Amoeba doesnt suck like minix does.
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Retos
Heterogeneidad
Redes Hardware Sistemas Operativos Middleware
Extensibilidad Seguridad Escalabilidad Tratamiento de Fallos Concurrencia Transparencia
DITEC Facultad de Informtica a
Diego Sevilla Ruiz Sistemas Distribuidos
Curso de SSDD tradicional
Transacciones Relojes y coordinacin o Seguridad Replicacin o Tolerancia a fallos Balanceo de carga Tpicos avanzados o
Multimedia High Availability Real-time y sistemas empotrados
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Primeras reexiones
Servicio de nombres bsico: a
struct Name { string name; Object obj; }; interface NameService { Name getName(in string name); Handle startIteration(); Name nextElement(in Handle h); void endIteration(in Handle h); };
Diego Sevilla Ruiz Sistemas Distribuidos DITEC Facultad de Informtica a
Primeras reexiones (ii)
Aumentar la granularidad, entonces
typedef sequence<Name> NameSeq; interface NameService { NameSeq getNames(void); };
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
Primeras reexiones (iii)
A wiser solution
typedef sequence<Name> NameSeq; interface NameIterator { NameSeq nextSeq(inout long n); }; interface NameService { NameIterator getNameIterator(); };
Diego Sevilla Ruiz Sistemas Distribuidos DITEC Facultad de Informtica a
Sitios Web
Steve Vinoski [Link]
Diego Sevilla Ruiz Sistemas Distribuidos DITEC Facultad de Informtica a
Sitios Web (ii)
Stefan Tilkov [Link]
Diego Sevilla Ruiz Sistemas Distribuidos DITEC Facultad de Informtica a
Sitios Web (iii)
Martin Fowler [Link]
Diego Sevilla Ruiz Sistemas Distribuidos DITEC Facultad de Informtica a
Sitios Web (iv)
Paul Graham [Link]
Diego Sevilla Ruiz Sistemas Distribuidos DITEC Facultad de Informtica a
Sitios Web (v)
Eric Newcomer [Link]
Diego Sevilla Ruiz Sistemas Distribuidos DITEC Facultad de Informtica a
Sitios Web (vi)
The Daily WTF [Link]
Diego Sevilla Ruiz Sistemas Distribuidos DITEC Facultad de Informtica a
WTF
Diego Sevilla Ruiz Sistemas Distribuidos
DITEC Facultad de Informtica a
WTF(ii)
// calculate total num. of measures int numMeasures = 0; Dicos_debugInfo("scanDataList %d.", [Link]()); for (unsigned int i=0;i<[Link]();i++) { Dicos_debugInfo("numMeasures %d.", [Link][i].numMeasures); for (int j=0;j<[Link][i].numMeasures;j++) { numMeasures++; } }
Diego Sevilla Ruiz Sistemas Distribuidos DITEC Facultad de Informtica a