Sistemes Distribuïts en Xarxa

Esteu aquí

Crèdits
6
Tipus
Complementària d'especialitat (Tecnologies de la informació)
Requisits
  • Precorequisit: SO
  • Precorequisit: XC
Departament
AC
Aquest curs proporciona una visió general dels principis fonalmentals dels sistemes distribuïts. Els continguts inclouen la programació distribuïda, la comunicació i la coordinació entre processos distribuïts, les transaccions distribuïdes, la replicació, els sistemes de fitxers distribuïts, i algunes aplicacions distribuïdes com la Web i els sistemes peer-to-peer. També s'inclou una introducció a temes avançats com el Cloud Computing, el Grid Computing, i el Mobile Computing .

Professorat

Responsable

  • Jordi Guitart Fernandez ( )

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
6

Competències

Competències Transversals

Treball en equip

  • G5 - Ser capaç de treballar com a membre d'un equip, ja sigui com a un membre més, ja sigui realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes d'una manera pragmàtica i amb sentit de la responsabilitat; assumir compromisos tenint en compte els recursos disponibles.
  • CT3 - Ser capaç de treballar com a membre d'un equip interdisciplinari, ja sigui com un membre més o duent a terme tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, tot assumint compromisos considerant els recursos disponibles.
  • CTR3 - Ser capaç de treballar com a membre d'un equip, ja sigui com a un membre més, ja sigui realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes d'una manera pragmàtica i amb sentit de la responsabilitat; assumir compromisos tenint en compte els recursos disponibles.

Emprenedoria i innovació

  • G1 - Conèixer i comprendre l'organització d'una empresa i les ciències que regeixen la seva activitat; capacitat de comprendre les regles laborals i les relacions entre la planificació, les estratègies industrials i comercials, la qualitat i el benefici. Desenvolupar la creativitat, l'esperit emprenedor i la tendència a la innovació.
  • CT1 - Conèixer i comprendre l'organització d'una empresa i les ciències que regeixen la seva activitat; tenir capacitat per entendre les normes laborals i les relacions entre la planificació, les estratègies industrials i comercials, la qualitat i el benefici. Conèixer i entendre els mecanismes en què es basa la recerca científica, així com els mecanismes i instruments de transferència de resultats entre els diferents agents socioeconòmics implicats en els processos d'I+D+i.
  • CTR1 - Conèixer i comprendre l'organització d'una empresa i les ciències que regeixen la seva activitat; capacitat de comprendre les regles laborals i les relacions entre la planificació, les estratègies industrials i comercials, la qualitat i el benefici. Desenvolupar la creativitat, l'esperit emprenedor i la tendència a la innovació.

Actitud adequada davant el treball

  • G8 - Tenir motivació per a la realització professional i per a afrontar nous reptes, tenir una visió àmplia de les possibilitats de la carrera professional en l'àmbit de l'enginyeria en informàtica. Sentir-se motivat per la qualitat i la millora contínua, i actuar amb rigor en el desenvolupament professional. Capacitat d'adaptació als canvis organitzatius o tecnològics. Capacitat de treballar en situacions de carència d'informació i/o amb restriccions temporals i/o de recursos.
  • CT5 - Estar motivat pel desenvolupament professional, per a afrontar nous reptes i per a la millora contínua. Tenir capacitat de treball en situacions de falta d'informació.
  • CTR5 - Tenir motivació per a la realització professional i per a afrontar nous reptes, tenir una visió àmplia de les possibilitats de la carrera professional en l'àmbit de l'enginyeria en informàtica. Sentir-se motivat per la qualitat i la millora contínua, i actuar amb rigor en el desenvolupament professional. Capacitat d'adaptació als canvis organitzatius o tecnològics. Capacitat de treballar en situacions de carència d'informació i/o amb restriccions temporals i/o de recursos.

Raonament

  • G9 - Capacitat de raonament crític, lògic i matemàtic. Capacitat de resoldre problemes en la seva àrea d'estudi. Capacitat d'abstracció: capacitat de crear i utilitzar models que reflecteixin situacions reals. Capacitat de dissenyar i realitzar experiments senzills, i analitzar-ne i interpretar-ne els resultats. Capacitat d'anàlisi, de síntesi i d'avaluació.
  • CT6 - Capacitat d'avaluar i analitzar de manera raonada i crítica sobre situacions, projectes, propostes, informes i estudis de caracter cientific-tecnic. Capacitat d'argumentar les raons que expliquen o justifiquen aquestes situacions, propostes, etc.
  • CTR6 - Capacitat de raonament crític, lògic i matemàtic. Capacitat de resoldre problemes en la seva àrea d'estudi. Capacitat d'abstracció: capacitat de crear i utilitzar models que reflecteixin situacions reals. Capacitat de dissenyar i realitzar experiments senzills, i analitzar-ne i interpretar-ne els resultats. Capacitat d'anàlisi, de síntesi i d'avaluació.

Sostenibilitat i compromís social

  • G2 - Conèixer i comprendre la complexitat dels fenòmens econòmics i socials típics de la societat del benestar. Ser capaç d'analitzar i valorar l'impacte social i mediambiental.
  • CT2 - Conèixer i comprendre la complexitat dels fenòmens econòmics i socials típics de la societat del benestar; tenir capacitat per relacionar el benestar amb la globalització i la sostenibilitat; assolir habilitats per usar de forma equilibrada i compatible la tècnica, la tecnologia, l'economia i la sostenibilitat.

Tercera llengua

  • G3 [Avaluable] - Conèixer l'idioma anglès amb un nivell adequat de forma oral i escrita, i en consonància amb les necessitats que tindran els graduats i les graduades en Enginyeria Informàtica. Capacitat de treballar en un grup multidisciplinar i en un entorn multilingüe i de comunicar, tant per escrit com de forma oral, coneixements, procediments, resultats i idees relacionats amb la professió d'enginyer tècnic en informàtica.
    • G3.1 - Comprendre i utilitzar eficaçment manuals, especificacions de productes i altra informació de caràcter tècnic escrita en anglès.
  • CT5 - Conèixer una tercera llengua, preferentment l'anglès, amb un nivell adequat oral i escrit i en consonància amb les necessitats que tindran els titulats i titulades.

Comunicació eficaç oral i escrita

  • G4 - Comunicar de forma oral i escrita amb altres persones coneixements, procediments, resultats i idees. Participar en debats sobre temes propis de l'activitat de l'enginyer tècnic en informàtica.

ús solvent dels recursos d'informació

  • G6 - Gestionar l'adquisició, l'estructuració, l'anàlisi i la visualització de dades i d'informació de l'àmbit de l'enginyeria informàtica, i valorar de forma crítica els resultats d'aquesta gestió.
  • CT4 - Gestionar l'adquisició, l'estructuració, l'anàlisi i la visualització de dades i informació de l'àmbit d'especialitat, i valorar de forma crítica els resultats d'aquesta gestió.
  • CTR4 - Gestionar l'adquisició, l'estructuració, l'anàlisi i la visualització de dades i d'informació de l'àmbit de l'enginyeria informàtica, i valorar de forma crítica els resultats d'aquesta gestió.

Aprenentatge autònom

  • G7 - Detectar carències en el coneixement propi i superar-les mitjançant la reflexió crítica i l'elecció de la millor actuació per ampliar aquest coneixement. Capacitat per a l'aprenentatge de nous mètodes i tecnologies, i versatilitat per a adaptar-se a noves situacions.

Analisis i sintesis

  • CT7 - Capacitat d'anàlisi i resolució de problemes tècnics complexos.

Sostenibilitat i compromís social

  • CTR2 - Conèixer i comprendre la complexitat dels fenòmens econòmics i socials típics de la societat del benestar. Ser capaç d'analitzar i valorar l'impacte social i mediambiental.

Bàsiques

  • CB6 - Que els estudiants sàpiguen aplicar els coneixements adquirits y la seva capacitat de resolució de problemes en entorns nous o poc coneguts dins de contexts més amplis (o multidisciplinaris) relacionats amb la seva àrea d'estudi.
  • CB7 - Que els estudiants siguin capaços d'integrar coneixements i enfrontar-se a la complexitat de formular judicis a partir d'una informació que, essent incomplerta o limitada, inclogui reflexions sobre les responsabilitats socials i ètiques vinculades a l'aplicació dels seus coneixements i judicis.
  • CB8 - Que els estudiants sàpiguen comunicar les seves conclusions i els coneixements i raons darreres que les sustenten- a públics especialitzats i no especialitzats d'una manera clara i sense ambigüitats.
  • CB9 - Que els estudiants posseeixin les habilitats d'aprenentatge que els permetin continuar estudiant d'una manera que haurà de ser en gran mesura autodirigida o autònoma..
  • CB1 - Que els estudiants hagin demostrat posseir i comprendre coneixements en una àrea d'estudi que parteix de la base de l'educació secundària general, i se sol trobar a un nivell que, si bé es recolza en llibres de text avançats, inclou també alguns aspectes que impliquen coneixements procedents de l'avantguarda del seu camp d'estudi.
  • CB2 - Que els estudiants sàpiguen aplicar els seus coneixements al seu treball o vocació d'una manera professional i posseeixin les competències que solen demostrar-se mitjançant l'elaboració i defensa d'arguments i la resolució de problemes dins la seva àrea d'estudi.
  • CB3 - Que els estudiants tinguin la capacitat de reunir i interpretar dades rellevants (normalment dins la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes rellevants d'índole social, científica o ètica.
  • CB4 - Que els estudiants puguin transmetre informació, idees, problemes i solucions a un públic tant especialitzat com no especialitzat.
  • CB5 - Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia
  • CB10 - Posseir i comprendre coneixements que aportin una base o oportunitat de ser originals en el desenvolupament i/o aplicació d'idees, sovint en un context de recerca.

Transversals

  • CT1 - Emprenedoria i innovació. Conèixer i comprendre l'organització d'una empresa i les ciències que regeixen la seva activitat; tenir capacitat per entendre les normes laborals i les relacions entre la planificació, les estratègies industrials i comercials, la qualitat i el benefici.
  • CT2 - Sostenibilitat i Compromís Social. Conèixer i comprendre la complexitat dels fenòmens econòmics i socials típics de la societat del benestar; tenir capacitat per relacionar el benestar amb la globalització i la sostenibilitat; obtenir habilitats per utilitzar de forma equilibrada i compatible la tècnica, la tecnologia, l'economia i la sostenibilitat.
  • CT3 - Comunicació eficaç oral i escrita. Comunicar-se de forma oral i escrita amb altres persones sobre els resultats de l'aprenentatge, de l'elaboració del pensament i de la presa de decisions; participar en debats sobre temes de la pròpia especialitat.
  • CT4 - Treball en equip. Ser capaç de treballar com a membre d'un equip interdisciplinari, ja sigui com un membre més o realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, assumint compromisos tenint en compte els recursos disponibles.
  • CT5 - Ús solvent dels recursos d'informació. Gestionar l'adquisició, l'estructuració, l'anàlisi i la visualització de dades i informació en l'àmbit de l'especialitat i valorar de forma crítica els resultats d'aquesta gestió.
  • CT6 - Aprenentatge autònom. Detectar deficiències en el propi coneixement i superar-les mitjançant la reflexió crítica i l'elecció de la millor actuació per ampliar aquest coneixement.
  • CT7 - Tercera llengua. Conèixer una tercera llengua, preferentment l'anglès, amb un nivell adequat oral i escrit i d'acord amb les necessitats que tindran els titulats i titulades.

Perspectiva de gènere

  • CT6 - Conèixer i comprendre, des de l'àmbit de la titulació mateixa, les desigualtats per raó de sexe i gènere en la societat, i integrar les diverses necessitats i preferències per raó de sexe i gènere en el disseny de solucions i la resolució de problemes.

Competències Tècniques

Competències tècniques comunes

  • CT1 - Demostrar coneixement i comprensió de fets essencials, conceptes, principis i teories relatives a la informàtica i a les seves disciplines de referència.
  • CT2 - Utilitzar d'una manera apropiada teories, procediments i eines en el desenvolupament professional de l'enginyeria informàtica en tots els seus àmbits (especificació, disseny, implementació, desplegament -implantació- i avaluació de productes) de manera que es demostri la comprensió dels compromisos adoptats a les decisions de disseny.
  • CT3 - Demostrar coneixement i comprensió del context organitzatiu, econòmic i legal en el qual es desenvolupa la seva feina (coneixement adequat del concepte d'empresa, del marc institucional i jurídic de l'empresa, d'organització i gestió de les empreses).
  • CT4 - Demostrar coneixement i capacitat d'aplicació dels procediments algorísmics bàsics de les tecnologies informàtiques per a dissenyar solucions a problemes, analitzant la idoneïtat i la complexitat dels algorismes
  • CT5 - Analitzar, dissenyar, construir i mantenir aplicacions de forma robusta, segura i eficient, triant el paradigma i els llenguatges de programació més adequats.
    • CT5.6 - Demostrar coneixement i capacitat d'aplicació dels principis fonamentals i de les tècniques bàsiques de la programació paral·lela, concurrent, distribuïda i en temps real.
  • CT6 - Demostrar coneixement i comprensió del funcionament intern d'un computador i del funcionament de les comunicacions entre ordinadors.
    • CT6.4 - Demostrar coneixement i capacitat d'aplicació de les característiques, de les funcionalitats i de l'estructura dels Sistemes Distribuïts i de les Xarxes de Computadors i d'Internet que en garanteixi l'ús i l'administració, així com el disseny i la implementació d'aplicacions basades en elles.
  • CT7 - Avaluar i seleccionar plataformes de producció hardware i software per a l'execució d'aplicacions i de serveis informàtics.
  • CT8 - Planificar, concebre, desplegar i dirigir projectes, serveis i sistemes informàtics en tots els àmbits, liderar-ne la posada en marxa, la millora contínua i valorar-ne l'impacte econòmic i social.

Competències tècniques

  • CE1 - Utilitzar amb destresa els conceptes i mètodes matemàtics subjacents els problemes de la ciència i l'enginyeria de les dades.
  • CE2 - Ser capaç de programar solucions a problemes d'enginyeria: Dissenyar solucions algorítmiques eficients a un problema computacional donat, implementar-les en forma de programari robust, estructurat i mantenible, i comprovar la validesa de la solució.
  • CE3 - Analitzar fenòmens complexos mitjançant la probabilitat i l'estadística, i plantejar models d'aquests tipus en situacions concretes. Formular i resoldre problemes d'optimització matemàtica.
  • CE4 - Utilitzar els sistemes de computació actuals, inclosos els sistemes d'alt rendiment, per al procés de grans volums de dades des del coneixement de la seva estructura, funcionament i particularitats.
  • CE5 - Dissenyar i aplicar tècniques de processat de senyal, triant entre diferents eines tecnològiques, incloses les de visió artificial, de reconeixement del llenguatge parlat i de tractament de dades multimèdia.
  • CE6 - Construir o utilitzar sistemes de processat i comprensió del llenguatge escrit, integrant-lo en altres sistemes dirigits per les dades. Dissenyar sistemes de recerca d'informació textual o hipertextual i d'anàlisi de xarxes socials.
  • CE7 - Demostrar coneixement i capacitat d'aplicació de les eines necessàries per a l'emmagatzematge, el processament i l'accés a les dades.
  • CE8 - Capacitat de triar i emprar tècniques de modelització estadística i anàlisi de dades, avaluant la qualitat dels models, validant-los i interpretant-los.
  • CE9 - Capacitat de triar i emprar una varietat de tècniques d'aprenentatge automàtic i construir sistemes que les utilitzin per a la presa de decisions, fins i tot de forma autònoma.
  • CE10 - Visualització d'informació per facilitar l'exploració i anàlisi de dades, inclosa l'elecció de la representació adequada d'aquests i l'ús de tècniques de reducció de dimensionalitat.
  • CE11 - Dins el context corporatiu, entendre el procés d'innovació, ser capaç de proposar models i plans de negoci basats en explotació de les dades, analitzar-ne la viabilitat i ser capaç de comunicar-los de manera convincent.
  • CE12 - Aplicar les pràctiques del "project management" en la gestió integral del projecte d'enginyeria d'explotació de dades que l'alumne ha de realitzar, en les àrees d'abast, temps, econòmica i riscos.
  • CE13 - (Treball de final de grau) Planificar i concebre i dur a terme projectes de naturalesa professional en l'àmbit de l'enginyeria de les dades, ne la posada en marxa, la seva millora contínua i valorant el seu impacte econòmic i social. Defensar el projecte desenvolupat davant un tribunal universitari.

Específiques

  • CE1 - Desenvolupar algoritmes eficients fonamentats en el coneixement i comprensió de la teoria de la complexitat computacional i les principals estructures de dades, dins de l'àmbit de ciència de dades
  • CE2 - Aplicar els fonaments de la gestió i processament de dades en un problema de ciència de dades
  • CE3 - Aplicar mètodes d'integració de dades per donar solució a problemes de ciència de dades en entorns heterogenis
  • CE4 - Aplicar mètodes escalables d'emmagatzematge i processament paral·lel de dades, incloent-hi fluxos continus de dades, un cop identificats els més apropiats per a un problema de ciència de dades
  • CE5 - Modelar, dissenyar i implementar sistemes complexos de dades, incloent-hi la visualització de dades
  • CE6 - Dissenyar el procés de Ciència de Dades i aplicar metodologies científiques per a obtenir conclusions sobre poblacions i prendre decisions en conseqüència, a partir de dades estructurades o no estructurades i potencialment emmagatzemades en formats heterogenis.
  • CE7 - Identificar les limitacions imposades per la qualitat de dades en un problema de ciència de dades i aplicar tècniques per a disminuir el seu impacte
  • CE8 - Extreure informació de dades estructurades i no estructurades, tenint en compte la naturalesa multivariant de les mateixes.
  • CE9 - Aplicar mètodes adequats per a l'anàlisi d'altres tipus de formats, com ara processos i grafs, dins l'àmbit de ciència de dades
  • CE10 - Identificar els mètodes d'aprenentatge automàtic i modelització estadística a utilitzar per resoldre un problema específic de ciència de dades, i aplicar-los de forma rigorosa
  • CE11 - Analitzar i extreure coneixement d'informació no estructurada mitjançant tècniques de processament de llenguatge natural, mineria de textos i imatges
  • CE12 - Aplicar la ciència de dades en projectes multidisciplinaris per resoldre problemes en dominis nous o poc coneguts per la ciència de dades i que siguin econòmicament viables, socialment acceptables, i d'acord amb la legalitat vigent
  • CE13 - Identificar les principals amenaces en l'àmbit de l'ètica i la privacitat de dades en un projecte de ciència de dades (tant en l'aspecte de gestió com d'anàlisi de dades) i desenvolupar i implantar mesures adequades per esmorteïr aquestes amenaces.
  • CE14 - Portar a terme, presentar i defensar un exercici original realitzat individualment davant d'un tribunal universitari, consistent en un projecte d'enginyeria en l'àmbit de la ciència de dades en el qual se sintetitzen les competències adquirides en els ensenyaments

Competències Tècniques de cada especialitat

Especialitat sistemes d'informació

  • CSI2 - Integrar solucions de Tecnologies de la Informació i les Comunicacions, i processos empresarials per a satisfer les necessitats d'informació de les organitzacions, permetent que assoleixin els seus objectius de forma efectiva.
  • CSI3 - Determinar els requisits dels sistemes d'informació i comunicació d'una organització, atenent als aspectes de seguretat, compliment de la normativa i de la legislació vigent.
  • CSI4 - Participar activament en l'especificació, el disseny, la implementació i el manteniment dels sistemes d'informació i de comunicació.
  • CSI1 - Demostrar comprensió i aplicar els principis i les pràctiques de les organitzacions, de manera que puguin exercir d'enllaç entre les comunitats tècnica i de gestió d'una organització, i participar activament en la formació dels usuaris.

Especialitat enginyeria del software

  • CES1 - Desenvolupar, mantenir i avaluar serveis i sistemes software que satisfacin tots els requisits de l'usuari, que es comportin de forma fiable i eficient, que tinguin un desenvolupament i un manteniment assequible i que compleixin normes de qualitat aplicant les teories, els principis, els mètodes i les pràctiques d'Enginyeria del Software.
  • CES2 - Valorar les necessitats del client i especificar els requisits software per a satisfer aquestes necessitats, reconciliant objectius en conflicte mitjançant la cerca de compromisos acceptables, dintre de les limitacions derivades del cost, del temps, de l'existència de sistemes ja desenvolupats i de les organitzacions.
  • CES3 - Identificar i analitzar problemes; dissenyar, desenvolupar, implementar, verificar i documentar solucions software sobre la base d'un coneixement adient de les teories, dels models i de les tècniques actuals.

Especialitat tecnologies de la informació

  • CTI1 - Definir, planificar i gestionar la instal·lació de la infraestructura TIC de l'organització.
    • CTI1.3 - Seleccionar, desplegar, integrar i gestionar sistemes d'informació que satisfacin les necessitats de l'organització amb els criteris de cost i qualitat identificats.
  • CTI2 - Garantir que els sistemes TIC d'una organització funcionen de manera adequada, són segurs i estan adequadament instal·lats, documentats, personalitzats, mantinguts, actualitzats i substituïts, i que les persones de l'organització reben un suport TIC correcte.
  • CTI3 - Dissenyar solucions que integrin tecnologies de hardware, software i comunicacions (i capacitat de desenvolupar solucions específiques de software de sistemes) per a sistemes distribuïts i dispositius de computació ubiqua.
    • CTI3.1 - Concebre sistemes, aplicacions i serveis basats en tecnologies de xarxa, tenint en compte Internet, web, comerç electrònic, multimèdia, serveis interactius i computació ubiqua.
    • CTI3.2 - Implementar i gestionar sistemes ubics (mobile computing systems).
    • CTI3.4 - Dissenyar software de comunicacions.
  • CTI4 - Emprar metodologies centrades en l'usuari i l'organització per al desenvolupament, l'avaluació i la gestió d'aplicacions i sistemes basats en tecnologies de la informació que assegurin l'accessibilitat, l'ergonomia i la usabilitat dels sistemes.

Especialitat enginyeria de computadors

  • CEC1 - Dissenyar i construir sistemes digitals, incloent computadors, sistemes basats en microprocessadors i sistemes de comunicacions.
  • CEC2 - Analitzar i avaluar arquitectures de computadors incloent plataformes paral·leles i distribuïdes, i desenvolupar i optimitzar software per a aquestes plataformes.
  • CEC3 - Desenvolupar i analitzar hardware i software per a sistemes encastats i/o de molt baix consum.
  • CEC4 - Dissenyar, desplegar, administrar i gestionar xarxes de computadors, i gestionar la garantia i la seguretat dels sistemes informàtics.

Especialitat computació

  • CCO1 - Tenir un coneixement profund dels principis fonamentals i dels models de la computació i saber-los aplicar per a interpretar, seleccionar, valorar, modelar i crear nous conceptes, teories, usos i desenvolupaments tecnològics, relacionats amb la informàtica.
  • CCO2 - Desenvolupar de forma efectiva i eficient els algorismes i el software apropiats per a resoldre problemes complexos de computació.
  • CCO3 - Desenvolupar les solucions informàtiques que, considerant l'entorn d'execució i l'arquitectura del computador sobre el qual s'executen, aconsegueixin el millor rendiment.

Acadèmiques

  • CEA1 - Capacitat de comprendre els principis bàsics de funcionament de les tècniques principals dels Sistemes Multiagents, i saber utilitzar-les en l'entorn d'un sistema o servei intel·ligent.
  • CEA2 - Capacitat de comprendre els principis bàsics de funcionament de les tècniques principals de Planificació i Raonament Aproximat, i saber utilitzar-les en l'entorn d'un sistema o servei intel·ligent.
  • CEA3 - Capacitat de comprendre els principis bàsics de funcionament de les tècniques principals d'Aprenentatge Automàtic, i saber utilitzar-les en l'entorn d'un sistema o servei intel·ligent.
  • CEA4 - Capacitat de comprendre els principis bàsics de funcionament de les tècniques principals d'Intel·ligència Computacional, i saber utilitzar-les en l'entorn d'un sistema o servei intel·ligent.
  • CEA5 - Capacitat de comprendre els principis bàsics de funcionament de les tècniques de Processament del Llenguatge Natural, i saber utilitzar-les en l'entorn d'un sistema o servei intel·ligent.
  • CEA6 - Capacitat de comprendre els principis bàsics de funcionament de les tècniques de Visió Computacional, i saber utilitzar-les en l'entorn d'un sistema o servei intel·ligent.
  • CEA7 - Capacitat de comprendre la problemàtica, i les solucions als problemes en la pràctica professional de l'aplicació de la Intel·ligència Artificial en l'entorn empresarial i industrial.
  • CEA8 - Capacitat de realitzar investigació en noves tècniques, metodologies, arquitectures, serveis o sistemes en l'àrea de la Intel·ligència Artificial.
  • CEA9 - Capacitat de comprendre les tècniques avançades de Sistemes Multiagents, i saber dissenyar, implementar i aplicar aquestes tècniques en el desenvolupament d'aplicacions, serveis o sistemes intel·ligents.
  • CEA10 - Capacitat de comprendre les tècniques avançades d'Interacció Persona-Màquina, i saber dissenyar, implementar i aplicar aquestes tècniques en el desenvolupament d'aplicacions, serveis o sistemes intel·ligents.
  • CEA11 - Capacitat de comprendre les tècniques avançades d'Intel·ligència Computacional, i saber dissenyar, implementar i aplicar aquestes tècniques en el desenvolupament d'aplicacions, serveis o sistemes intel·ligents.
  • CEA12 - Capacitat de comprendre les tècniques avançades d'Enginyeria del Coneixement, Aprenentatge Automàtic i Sistemes de Suport a la Decisió, i saber dissenyar, implementar i aplicar aquestes tècniques en el desenvolupament d'aplicacions, serveis o sistemes intel·ligents.
  • CEA13 - Capacitat de comprendre les tècniques avançades de Modelització, Raonament i Resolució de problemes, i saber dissenyar, implementar i aplicar aquestes tècniques en el desenvolupament d'aplicacions, serveis o sistemes intel·ligents.
  • CEA14 - Capacitat de comprendre les tècniques avançades de Visió, Percepció i Robòtica, i saber dissenyar, implementar i aplicar aquestes tècniques en el desenvolupament d'aplicacions, serveis o sistemes intel·ligents.

Professionals

  • CEP1 - Capacitat de resoldre les necessitats d'anàlisi de la informació de les diferents organitzacions, tot identificant les fonts d'incertesa i variabilitat.
  • CEP2 - Capacitat de resoldre els problemes de presa de decisions de les diferents organitzacions, integrant eines intel·ligents.
  • CEP3 - Capacitat d'aplicació de les tècniques d'Intel·ligència Artificial en entorns tecnològics i industrials per a la millora de la qualitat i la productivitat.
  • CEP4 - Capacitat per dissenyar, redactar i presentar informes sobre projectes informaticos en l'area especifica d'Intel·ligència Artificial.
  • CEP5 - Capacitat de dissenyar noves eines informàtiques i noves tècniques d'Intel·ligència Artificial en l'exercici professional.
  • CEP6 - Capacitat d'assimilar i integrar els canvis de l'entorn econòmic, social i tecnològic als objectius i procediments del treball informàtic en sistemes intel·ligents.
  • CEP7 - Capacitat de respectar la normativa legal i la deontologia en l'exercici professional.
  • CEP8 - Capacitat de respectar l'entorn ambiental i dissenyar i desenvolupar sistemes intel·ligents sostenibles.

Direcció i gestió

  • CDG1 - Capacitat per a la integració de tecnologies, aplicacions, serveis i sistemes propis de l'Enginyeria Informàtica, amb caràcter generalista, i en contextos més amplis i multidisciplinaris.
  • CDG2 - Capacitat per a la planificació estratègica, elaboració, direcció, coordinació, y gestió tècnica i econòmica en els àmbits de l'enginyeria informàtica relacionats, entre d'altres, amb: sistemes, aplicacions, serveis, xarxes, infraestructures o instal·lacions informàtiques i centres o factories de desenvolupament de software, respectant l'adequat compliment dels criteris de qualitat i mediambientals i en entorns de treball multidisciplinaris.
  • CDG3 - Capacitat per a la direcció de projectes de recerca, desenvolupament i innovació, en empreses i centres tecnològics, amb garantia per la seguretat de les persones i béns, la qualitat final dels productes i la seva homologació.

Específiques

  • CTE1 - Capacitat per a modelar, dissenyar, definir l'arquitectura, implantar, gestionar, operar, administrar i mantenir aplicacions, xarxes, sistemes, serveis i continguts informàtics.
  • CTE2 - Capacitat de comprendre i saber aplicar el funcionament i organització d'Internet, les tecnologies i protocols de xarxes de nova generació, els models de components, software intermedi i serveis.
  • CTE3 - Capacitat per a assegurar, gestionar, auditar i certificar la qualitat dels desenvolupaments, processos, sistemes, serveis, aplicacions i productes informàtics.
  • CTE4 - Capacitat per a dissenyar, desenvolupar, gestionar i avaluar mecanismes de certificació i garantia de seguretat en el tractament i accés a la informació en un sistema de processament local o distribuït.
  • CTE5 - Capacitat per a analitzar les necessitats d'informació que es plantegen en un entorn i portar a terme en totes les seves etapes el procés de construcció d'un sistema d'informació.
  • CTE6 - Capacitat per a dissenyar i avaluar sistemes operatius i servidors, i aplicacions i sistemes basats en computació distribuïda.
  • CTE7 - Capacitat per a comprendre i poder aplicar coneixements avançats de computació d'altes prestacions i mètodes numèrics o computacionals a problemes d'enginyeria.
  • CTE8 - Capacitat de dissenyar i desenvolupar sistemes, aplicacions i serveis informàtics en sistemes encastats i ubics.
  • CTE9 - Capatitat per a aplicar mètodes matemàtics, estadístics i d'intel·ligència artificial per a modelar, dissenyar i desenvolupar aplicacions, serveis, sistemes intel·ligents i sistemes basats en el coneixement.
  • CTE10 - Capacitat per a utilitzar i desenvolupar metodologies, mètodes, tècniques, programes d'ús específic, normes i estàndards de computació gràfica.
  • CTE11 - Capacitat per a conceptualitzar, dissenyar, desenvolupar i avaluar la interacció persona-ordinador de productes, sistemes, aplicacions i serveis informàtics.
  • CTE12 - Capacitat per a la creació i explotació d'entorns virtuals, i per a la creació, gestió i distribució de continguts multimèdia.

Gràfics i realitat virtual

  • CEE1.1 - Capacitat de comprendre i saber aplicar les tecnologies actuals i les que en el futur es facin servir per al disseny i avaluació d'aplicacions gràfiques interactives en tres dimensions, tant quan prevalgui la qualitat d'imatge com quan ho faci la interactivitat o la velocitat, així com comprendre els compromisos inherents i les raons que els ocasionen.
  • CEE1.2 - Capacitat de comprendre i saber aplicar les tecnologies actuals i les que en el futur es facin servir per a l'avaluació, implementació i explotació d'entorns de realitat virtual i/o augmentada, i d'interfícies d'usuari 3D basades en dispositius d'interacció natural.
  • CEE1.3 - Capacitat d'integrar les tecnologies esmentades en les competències CEE1.1 i CEE1.2 amb altres tecnologies de tractament digital de la informació per construir noves aplicacions; així com efectuar contribucions significatives en equips multidisciplinaris que facin servir la informàtica gràfica.

Xarxes de computadors i sistemes distribuïts

  • CEE2.1 - Capacitat per a entendre els models, problemes i algoritmes relacionats amb els sistemes distribuïts, així com poder dissenyar i avaluar algoritmes i sistemes que tractin la problemàtica de la distribució i ofereixin serveis distribuïts.
  • CEE2.2 - Capacitat d'entendre els models, problemes i algoritmes relacionats amb les xarxes de computadors, així com poder dissenyar i avaluar algoritmes, protocols i sistemes que tractin la problemàtica de la xarxes de comunicació entre computadors.
  • CEE2.3 - Capacitat d'entendre els models, problemes i eines matemàtiques que permeten analitzar, dissenyar i avaluar xarxes de computadors i sistemes distribuïts.

Computació avançada

  • CEE3.1 - Capacitat per a identificar barreres computacionals i analitzar la complexitat de problemes computacionals en diversos àmbits de la ciència i la tecnologia; així com per representar problemes d'alta complexitat en estructures matemàtiques que puguin ser tractades eficientment amb esquemes algorítmics.
  • CEE3.2 - Capacitat per utilitzar un espectre ampli i variat de recursos algorítmics per resoldre problemes d'alta dificultat algorísmica.
  • CEE3.3 - Capacitat per entendre les necessitats computacionals de problemes de disciplines diferents de la informàtica i efectuar contribucions significatives en equips multidisciplinaris que facin servir la computació.

Computació d'altes prestacions

  • CEE4.1 - Capacitat d'analitzar, avaluar i dissenyar computadors i proposar noves tècniques de millora en la seva arquitectura.
  • CEE4.2 - Capacitat d'analitzar, avaluar, dissenyar i optimitzar programari considerant l'arquitectura i de proposar noves tècniques d'optimització.
  • CEE4.3 - Capacitat d'analitzar, avaluar, dissenyar i administrar programari de sistema en entorns de supercomputació.

Enginyeria de serveis

  • CEE5.1 - Capacitat per participar en projectes de millora o creació de sistemes de serveis, aportant especialment: a) propostes d'innovació i recerca basades en nous usos i desenvolupaments de les tecnologies de la informació b) l'aplicació dels principis de l'enginyeria del programari i les bases de dades en el desenvolupament dels sistemes d'informació que siguin més adequats, c) la determinació, instal·lació i gestió de la infraestructura/plataforma informàtica necessària per al funcionament eficient dels sistemes de servei.
  • CEE5.2 - Capacitat per aplicar els coneixements obtinguts en sistemes de servei de qualsevol tipus, estant familiaritzat amb alguns d'ells, i amb coneixement profund dels sistemes de comerç electrònic i les seves extensions (eBusiness, eOrganization, eGovernment, etc.).
  • CEE5.3 - Capacitat per treballar en equips interdisciplinaris d'enginyeria de serveis i, disposant de l'experiència de domini necessària, capacitat per a treballar autònomament en sistemes de serveis concrets.

Específiques comunes

  • CEC1 - Capacitat per aplicar el mètode científic en l'estudi i anàlisi de fenòmens i sistemes en qualsevol àmbit de la Informàtica, així com en la concepció, disseny i implantació de solucions informàtiques innovadores i originals.
  • CEC2 - Capacitat per al modelatge matemàtic, càlcul i disseny experimental en centres tecnològics i d'enginyeria d'empresa, particularment en tasques de recerca i innovació en tots els àmbits de la Informàtica.
  • CEC3 - Capacitat per aplicar solucions innovadores i realitzar avanços en el coneixement que explotin els nous paradigmes de la Informàtica, particularment en entorns distribuïts.

Competències Tècniques Generals

Genèriques

  • CG1 - Identificar i aplicar els mètodes i processos de gestió de dades més adequats per gestionar el cicle de vida de les dades, incloent-hi dades estructurades i no estructurades
  • CG2 - Identificar i aplicar mètodes d'anàlisi, extracció de coneixement i visualització de dades recollides en formats molt diferents
  • CG3 - Definir, dissenyar i implementar sistemes complexos que cobreixin totes les fases en projectes de ciència de dades
  • CG4 - Dissenyar i posar en marxa projectes de ciència de dades en dominis específics de forma innovadora
  • CG5 - Poder recórrer a coneixements fonamentals i metodologies de treball sòlides adquirits durant els estudis per adaptar-se als nous escenaris tecnològics del futur.
  • CG6 - Capacitat per a la direcció general, direcció tècnica i direcció de projectes de recerca, desenvolupament i innovació en empreses i centres tecnològics, en l'àmbit de l'Enginyeria en Informàtica.
  • CG7 - Capacitat per a la posada en marxa, direcció i gestió de processos de fabricació d'equips informàtics, amb garantia de la seguretat per a les persones i béns, la qualitat final dels productes i la seva homologació
  • CG8 - Capacitat per a l'aplicació dels coneixements adquirits i de resoldre problemes en entorns nous o poc coneguts dins de contexts més amplis i multidisciplinaris, essent capaços d'integrar aquests coneixements.
  • CG9 - Capacitat per a comprendre i aplicar la responsabilitat ètica, la legislació i la deontologia professional de l'activitat de la professió d'Enginyer en Informàtica
  • CG10 - Capacitat per a aplicar els principis de l'economia i de la gestió de recursos humans i projectes, així com la legislació, regulació i normalització de la Informàtica

Objectius

  1. Entendre la definició de sistema distribuït i les seves possibles aplicacions, a més dels desafiaments que s'han d'afrontar pel seu disseny i implementació.
    Competències relacionades: CTI3.1, CTI3.4, CT6.4, CTI1.3,
    Subcompetences:
    • Conèixer les possibles aplicacions d'un sistema distribuït
    • Posar exemples de sistemes distribuïts
    • Entendre els desafiaments per dissenyar i implementar un sistema distribuït: heterogeneïtat, absència de visió global, seguretat, coordinació, asincronia, obertura, transparència, tolerància a fallades, escalabilitat
    • Entendre la definició de sistema distribuït
  2. Conèixer les arquitectures de sistema bàsiques en els sistemes distribuïts.
    Competències relacionades: CTI3.1, CTI3.4, CT6.4, CT5.6,
    Subcompetences:
    • Conèixer les arquitectures de sistema bàsiques en els sistemes distribuïts: centralitzades (client-servidor), descentralitzades (peer-to-peer), híbrides
  3. Conèixer els mecanismes bàsics de comunicació en un sistema distribuït: invocació d'operacions remotes, comunicació basada en missatges, comunicació basada en events i comunicació basada en canals (streams), i escriure aplicacions distribuïdes que es comuniquin mitjançant l'enviament de missatges.
    Competències relacionades: CTI3.1, CTI3.4, CT6.4, CTI1.3, CT5.6,
    Subcompetences:
    • Conèixer els paradigmes de comunicació bàsics en els sistemes distribuïts: invocació remota de procediment, pas de missatges, cues de missatges, comunicació de grups, publicació/subscripció, espais de dades compartits, memòria compartida, codi mòbil, orientat a stream
    • Escriure aplicacions distribuïdes que es comuniquin mitjançant l'enviament de missatges
    • Conèixer el mecanisme de comunicació basada en streams: modes de transmissió, qualitat de servei
    • Conèixer el mecanisme de comunicació basada en events: sistemes de publicació/subscripció
    • Conèixer els diferents tipus de comunicació en un sistema distribuït: directa vs. indirecta (desacoblament espacial i temporal), persistent vs. transitòria, síncrona vs. asíncrona, discreta vs. contínua
    • Conèixer el mecanisme de comunicació basada en missatges: transitòria (Sockets) vs. persistent (MOM)
    • Conèixer el mecanisme de comunicació mitjançant la invocació de procediments remots (RPC): operació bàsica, pas de paràmetres, extensions del model bàsic, tractament de fallades, invocació de mètodes remots (RMI)
  4. Entendre la problemàtica del temps i l'ordenació d'events en un sistema distribuït i explicar i implementar els mecanismes de rellotges lògics per atacar aquesta problemàtica i els algorismes per sincronitzar rellotges físics en un sistema distribuït.
    Competències relacionades: CTI3.1, CT6.4, CTI1.3, CT5.6,
    Subcompetences:
    • Entendre la problemàtica del temps i l'ordenació d'events en un sistema distribuït
    • Explicar i implementar els algorismes per sincronitzar rellotges físics en un sistema distribuït: Cristian (NTP), Berkeley
    • Explicar i implementar els mecanismes de rellotges lògics per atacar aquesta problemàtica: relació happened-before, rellotges lògics de Lamport (escalars, vectorials)
  5. Descriure, comparar i implementar els algorismes per la coordinació de processos en un sistema distribuït, incloent la coordinació necessària per garantir exclusió mútua, elecció de líder, comunicació en grup multicast, i consens.
    Competències relacionades: CTI3.1, CT6.4, CTI1.3, CT5.6,
    Subcompetences:
    • Descriure, comparar i implementar els algorismes per la coordinació de processos en un sistema distribuït per garantir exclusió mútua: algorismes basats en permís (centralitzat, Lin, Maekawa, Ricart & Agrawala), algorismes basats en token (token ring)
    • Descriure, comparar i implementar els algorismes per la coordinació de processos en un sistema distribuït per la comunicació en grup multicast: multicast fiable bàsic, multicast fiable escalable, multicast ordenat (FIFO, causal, total), atomic multicast
    • Descriure, comparar i implementar els algorismes per la coordinació de processos en un sistema distribuït per l'elecció de líder: Bully, Ring
  6. Comprendre l'aplicació de la replicació en un sistema distribuït, a més de la problemàtica que s'introdueix a nivell de consistència, i descriure els models de consistència corresponents i la seva implementació.
    Competències relacionades: CTI3.1, CT6.4, CTI1.3, CTI3.2, CT5.6,
    Subcompetences:
    • Descriure implementacions concretes de models de consistència: protocols basats en primari (remote-write, local-write) i protocols d'escriptura replicada (replicació activa, protocols basats en quòrum)
    • Comprendre l'aplicació de la replicació en un sistema distribuït, a més de la problemàtica que s'introdueix a nivell de consistència
    • Descriure els models de consistència relaxada centrats en les dades: ús de variables de sincronització
    • Descriure els models de consistència centrats en el client: eventual, monotonic-read, monotonic-write, read-your-writes, writes-follow-reads
    • Conèixer els detalls d'implementació dels models de consistència en relació a la ubicació de les rèpliques (permanents, iniciades pel servidor, iniciades pel client) i la propagació d'actualitzacions (push-pull protocols)
    • Descriure els models de consistència forta centrats en les dades: estricta, seqüencial, causal, FIFO
  7. Conèixer i comparar les característiques bàsiques dels serveis de resolució de noms plans, estructurats i basats en atributs, i implementar i avaluar un d'aquests sistemes.
    Competències relacionades: CTI3.1, CT6.4, CTI1.3, CTI3.2,
    Subcompetences:
    • Implementar i avaluar un servei DNS simple
    • Conèixer i comparar les característiques bàsiques dels serveis de resolució de noms plans: broadcasting, forwarding pointers, solucions basades en home, DHTs
    • Conèixer i comparar les característiques bàsiques dels serveis de resolució de noms estructurats: name spaces, resolució iterativa, resolució recursiva, DNS
    • Conèixer i comparar les característiques bàsiques dels serveis de resolució de noms basats en atributs: serveis de directori (LDAP)
  8. Conèixer i comparar les característiques bàsiques dels sistemes de fitxers distribuïts (e.g. NFS).
    Competències relacionades: CTI3.1, CT6.4, CTI1.3, CTI3.2,
    Subcompetences:
    • Comprendre la semàntica de compartició de fitxers: semàntica UNIX, semàntica de sessió, fitxers immutables, semàntica transaccional
    • Conèixer i comparar les característiques bàsiques del sistema de fitxers distribuït NFS
    • Conèixer i comparar les característiques bàsiques del sistema de fitxers distribuït Coda
    • Conèixer les arquitectures dels sistemes de fitxers distribuïts: model d'accés remot, model upload/download, idea bàsica de les arquitectures en clúster (stripping+replicació)
  9. Conèixer i comparar les característiques bàsiques dels sistemes distribuïts basats en web: servidors web, servidors d'aplicacions, Web Services, Content Distribution Networks (CDN), i implementar i avaluar un d'aquests sistemes.
    Competències relacionades: CTI3.1, CTI3.4, CT6.4, CTI1.3, CT5.6,
    Subcompetences:
    • Implementar i avaluar un servidor web simple
    • Conèixer els mecanismes de sincronització en els sistemes distribuïts basats en Web
    • Conèixer els protocols de comunicació en els sistemes distribuïts basats en Web: HTTP, SOAP, WSDL
    • Conèixer els mecanismes de caching i replicació en els sistemes distribuïts basats en Web: Proxies, Content Distribution Networks (CDN): Akamai, esquemes de redirecció (URL rewriting, DNS redirection)
    • Conèixer les arquitectures dels sistemes distribuïts basats en Web: client/servidor, servlets, clústers de servidors, Web Services
    • Conèixer els serveis de noms en els sistemes distribuïts basats en Web: URL, DNS, UDDI
  10. Comprendre el model de computació Peer-to-Peer (P2P), comparar les característiques dels sistemes P2P no-estructurats i dels estructurats basats en DHTs, i implementar i avaluar un d'aquests sistemes.
    Competències relacionades: CTI3.1, CT6.4, CTI1.3, CT5.6,
    Subcompetences:
    • Comprendre el model de computació Peer-to-Peer (P2P), les seves avantatges i les seves aplicacions
    • Comparar les característiques dels sistemes P2P no-estructurats centralitzats: BitTorrent
    • Comparar les característiques dels sistemes P2P estructurats basats en DHTs: Chord: organització de l'anell, inserció d'elements, cerca d'elements amb taules de finger, inserció de nodes
    • Implementar i avaluar un sistema P2P estructurat
    • Comparar les característiques dels sistemes P2P no-estructurats jeràrquics: FastTrack
    • Comparar les característiques dels sistemes P2P no-estructurats decentralitzats amb cerca per inundació: Gnutella
  11. Conèixer els paradigmes més importants de computació distribuïda (computació voluntària, Grid i Cloud) i les seves característiques.
    Competències relacionades: CTI3.1, CT6.4, CTI1.3,
    Subcompetences:
    • Conèixer el paradigma Cloud de computació distribuïda, les seves característiques i les seves aplicacions: Utility computing, tipus de Clouds (públic, privat, comunitari, híbrid), diferència respecte al Grid, serveis Cloud (IaaS, PaaS, SaaS), tecnologies base d'implementació, infrastructura Cloud (datacenters), obstacles per la consolidació del Cloud
    • Conèixer el paradigma Grid de computació distribuïda, les seves característiques i les seves aplicacions: Virtual organizations (VO), arquitectura OGSA, diferència respecte a la computació clúster i distribuïda
    • Conèixer el paradigma de computació distribuïda voluntària: BOINC
  12. Conèixer els paradigmes de Mobile i Ubiquitous Computing i la seva problemàtica.
    Competències relacionades: CTI3.1, CT6.4, CTI3.2,
    Subcompetences:
    • Conèixer els paradigmes de Mobile i Ubiquitous Computing i la seva problemàtica: volatilitat, associació, interoperabilitat, sensors i context-awareness, adaptació
  13. Comprendre articles, enunciats, i en general qualsevol font d'informació de caràcter tècnic escrita en anglès
    Competències relacionades: G3.1,

Continguts

  1. Conceptes de sistemes distribuïts
    Definició de sistema distribuït. Possibles aplicacions d'un sistema distribuït. Exemples de sistemes distribuïts. Desafiaments per dissenyar i implementar un sistema distribuït: heterogeneïtat, absència de visió global, seguretat, coordinació, asincronia, obertura, transparència, tolerància a fallades, escalabilitat. Arquitectures de sistema bàsiques en els sistemes distribuïts: centralitzades (client-servidor), descentralitzades (peer-to-peer), híbrides.
  2. Comunicació entre processos
    Tipus de comunicació en un sistema distribuït: directa vs. indirecta (desacoblament espacial i temporal), persistent vs. transitòria, síncrona vs. asíncrona, discreta vs. contínua. Paradigmes de comunicació bàsics en els sistemes distribuïts: invocació remota de procediment, pas de missatges, cues de missatges, comunicació de grups, publicació/subscripció, espais de dades compartits, memòria compartida, codi mòbil, orientat a stream. Invocació de procediments remots (RPC): operació bàsica, pas de paràmetres, extensions del model bàsic, tractament de fallades, invocació de mètodes remots (RMI). Comunicació basada en missatges: transitòria (Sockets) vs. persistent (MOM). Comunicació basada en events: sistemes de publicació/subscripció. Comunicació basada en streams: modes de transmissió, qualitat de servei
  3. Temps i ordenació
    Temps i ordenació d'events en un sistema distribuït. Rellotges lògics: relació happened-before, rellotges lògics de Lamport (escalars, vectorials). Algorismes per sincronitzar rellotges físics en un sistema distribuït: Cristian (NTP), Berkeley.
  4. Coordinació i consens
    Coordinació de processos en un sistema distribuït per garantir exclusió mútua: algorismes basats en permís (centralitzat, Lin, Maekawa, Ricart & Agrawala), algorismes basats en token (token ring). Coordinació de processos en un sistema distribuït per l'elecció de líder: Bully, Ring. Coordinació de processos en un sistema distribuït per la comunicació en grup multicast: multicast fiable bàsic, multicast fiable escalable, multicast ordenat (FIFO, causal, total), atomic multicast.
  5. Consistència i replicació
    Replicació i consistència en un sistema distribuït. Models de consistència forta centrats en les dades: estricta, seqüencial, causal, FIFO. Models de consistència relaxada centrats en les dades: ús de variables de sincronització. Models de consistència centrats en el client: eventual, monotonic-read, monotonic-write, read-your-writes, writes-follow-reads. Ubicació de les rèpliques (permanents, iniciades pel servidor, iniciades pel client) i propagació d'actualitzacions (push-pull protocols). Implementacions de models de consistència: protocols basats en primari (remote-write, local-write) i protocols d'escriptura replicada (replicació activa, protocols basats en quòrum)
  6. Sistemes de noms
    Serveis de resolució de noms plans: broadcasting, forwarding pointers, solucions basades en home, DHTs. Serveis de resolució de noms estructurats: name spaces, resolució iterativa, resolució recursiva, DNS. Serveis de resolució de noms basats en atributs: serveis de directori (LDAP)
  7. Sistemes de fitxers distribuïts
    Arquitectures dels sistemes de fitxers distribuïts: model d'accés remot, model upload/download, idea bàsica de les arquitectures en clúster (stripping+replicació). Semàntica de compartició de fitxers: semàntica UNIX, semàntica de sessió, fitxers immutables, semàntica transaccional. Característiques bàsiques del sistema de fitxers distribuït NFS. Característiques bàsiques del sistema de fitxers distribuït Coda
  8. Sistemes distribuïts basats en Web
    Arquitectures dels sistemes distribuïts basats en Web: client/servidor, servlets, clústers de servidors, Web Services. Protocols de comunicació en els sistemes distribuïts basats en Web: HTTP, SOAP, WSDL. Serveis de noms en els sistemes distribuïts basats en Web: URL, DNS, UDDI. Sincronització en els sistemes distribuïts basats en Web. Caching i replicació en els sistemes distribuïts basats en Web: Proxies, Content Distribution Networks (CDN): Akamai, esquemes de redirecció (URL rewriting, DNS redirection)
  9. Sistemes Peer-to-Peer (P2P)
    Model de computació Peer-to-Peer (P2P): avantatges i aplicacions. Sistemes P2P no-estructurats centralitzats: BitTorrent. Sistemes P2P no-estructurats decentralitzats amb cerca per inundació: Gnutella. Sistemes P2P no-estructurats jeràrquics: FastTrack. Sistemes P2P estructurats basats en DHTs: Chord: organització de l'anell, inserció d'elements, cerca d'elements amb taules de finger, inserció de nodes; Kademlia: organització de l'arbre i estat del node, cerca i inserció de nodes, cerca i inserció d'elements.
  10. Sistemes de computació distribuïda
    Paradigma de computació distribuïda voluntària: BOINC. Paradigma Grid de computació distribuïda, les seves característiques i les seves aplicacions: Virtual organizations (VO), arquitectura OGSA, diferència respecte a la computació clúster i distribuïda. Paradigma Cloud de computació distribuïda, les seves característiques i les seves aplicacions: Utility computing, tipus de Clouds (públic, privat, comunitari, híbrid), diferència respecte al Grid, serveis Cloud (IaaS, PaaS, SaaS), tecnologies base d'implementació, infrastructura Cloud (datacenters), obstacles per la consolidació del Cloud
  11. Sistemes mòbils i ubics
    Sistemes mòbils i ubics: volatilitat, associació, interoperabilitat, sensors i context-awareness, adaptació

Activitats

Activitat Acte avaluatiu


Desenvolupament del tema "Conceptes de sistemes distribuïts"

Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
  • Teoria: Definició de sistema distribuït. Possibles aplicacions d'un sistema distribuït. Exemples de sistemes distribuïts. Desafiaments per dissenyar i implementar un sistema distribuït: heterogeneïtat, absència de visió global, concurrència, absència d'un únic punt de control, seguretat, asincronia, obertura, transparència, tolerància a fallades, escalabilitat. Estils arquitectònics bàsics en els sistemes distribuïts: per nivells, basat en objectes, centrat en les dades, basat en events, espais de dades compartits. Arquitectures de sistema bàsiques en els sistemes distribuïts: centralitzades (client-servidor), descentralitzades (peer-to-peer), híbrides.
  • Aprenentatge autònom: Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
Objectius: 1 2
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Seminari de laboratori #1

Preparació del seminari amb l'ajuda del material de suport. Implementació i anàlisi del mecanisme demanat. Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
  • Laboratori: Implementació i anàlisi del mecanisme demanat
Objectius: 1 2 3 13
Continguts:
Teoria
0h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Lectura d'article #1

Lectura de l'article proposat. Comprensió i assimilació dels continguts de l'article. Realització d'un informe de la lectura
Objectius: 1 2 3 13
Setmana: 2
Tipus: examen de teoria
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h

Desenvolupament del tema "Comunicació entre processos"

Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
  • Teoria: Tipus de comunicació en un sistema distribuït: persistent vs. transitòria, síncrona vs. asíncrona. Invocació de procediments remots (RPC): operació bàsica, pas de paràmetres, extensions del model bàsic, tractament de fallades, invocació de mètodes remots (RMI). Comunicació basada en missatges: transitòria (Sockets) vs. persistent (MOM). Comunicació basada en streams: modes de transmissió, qualitat de servei
  • Aprenentatge autònom: Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
Objectius: 3
Continguts:
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h

Seminari de laboratori #2

Preparació del seminari amb l'ajuda del material de suport. Implementació i anàlisi del mecanisme demanat. Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
  • Laboratori: Implementació i anàlisi del mecanisme demanat.
Objectius: 4 5 13
Continguts:
Teoria
0h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Informe del seminari de laboratori #1

Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
Objectius: 1 2 3 13
Setmana: 3
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Desenvolupament del tema "Temps i ordenació"

Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
  • Teoria: Temps i l'ordenació d'events en un sistema distribuït. Rellotges lògics: relació happened-before, rellotges lògics de Lamport (escalars, vectorials). Algorismes per sincronitzar rellotges físics en un sistema distribuït: Cristian (NTP), Berkeley.
  • Aprenentatge autònom: Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
Objectius: 4
Continguts:
Teoria
1.5h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
1.5h

Lectura d'article #2

Lectura de l'article proposat. Comprensió i assimilació dels continguts de l'article. Realització d'un informe de la lectura
Objectius: 4 13
Setmana: 4
Tipus: examen de teoria
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h

Desenvolupament del tema "Coordinació i consens"

Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
  • Teoria: Coordinació de processos en un sistema distribuït per garantir exclusió mútua: algorismes basats en permís (centralitzat, descentralitzat usant un sistema P2P, distribuït de Ricart i Agrawala usant multicast totalment ordenat), algorismes basats en token (token ring). Coordinació de processos en un sistema distribuït per l'elecció de líder: Bully, Ring. Coordinació de processos en un sistema distribuït per la comunicació en grup multicast: multicast fiable bàsic, multicast fiable escalable, multicast ordenat (FIFO, causal, total), atomic multicast.
  • Aprenentatge autònom: Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
Objectius: 5
Continguts:
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h

Seminari de laboratori #3

Preparació del seminari amb l'ajuda del material de suport. Implementació i anàlisi del mecanisme demanat. Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
  • Laboratori: Implementació i anàlisi del mecanisme demanat.
Objectius: 5 6 13
Continguts:
Teoria
0h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Informe del seminari de laboratori #2

Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
Objectius: 4 5 13
Setmana: 5
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Lectura d'article #3

Lectura de l'article proposat. Comprensió i assimilació dels continguts de l'article. Realització d'un informe de la lectura
Objectius: 5 6 13
Setmana: 6
Tipus: examen de teoria
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h

Desenvolupament del tema "Consistència i replicació"

Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
  • Teoria: Replicació i consistència en un sistema distribuït. Models de consistència forta centrats en les dades: estricta, seqüencial, causal, FIFO. Models de consistència relaxada centrats en les dades: ús de variables de sincronització. Models de consistència centrats en el client: eventual, monotonic-read, monotonic-write, read-your-writes, writes-follow-reads. Ubicació de les rèpliques (permanents, iniciades pel servidor, iniciades pel client) i propagació d'actualitzacions (push-pull protocols). Implementacions de models de consistència: protocols basats en primari (remote-write, local-write) i protocols d'escriptura replicada (replicació activa, protocols basats en quòrum)
  • Aprenentatge autònom: Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
Objectius: 6
Continguts:
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h

Seminari de laboratori #4

Preparació del seminari amb l'ajuda del material de suport. Implementació i anàlisi del mecanisme demanat. Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
  • Laboratori: Implementació i anàlisi del mecanisme demanat.
Objectius: 5 6 13
Continguts:
Teoria
0h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Informe del seminari de laboratori #3

Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
Objectius: 5 6 13
Setmana: 8
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Lectura d'article #4

Lectura de l'article proposat. Comprensió i assimilació dels continguts de l'article. Realització d'un informe de la lectura
Objectius: 7 8 9 13
Setmana: 8
Tipus: examen de teoria
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h

Desenvolupament del tema "Sistemes de noms"

Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
  • Teoria: Serveis de resolució de noms plans: broadcasting, forwarding pointers, solucions basades en home, DHTs, solucions jeràrquiques. Serveis de resolució de noms estructurats: name spaces, resolució iterativa, resolució recursiva, DNS. Serveis de resolució de noms basats en atributs: serveis de directori (LDAP)
  • Aprenentatge autònom: Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
Objectius: 7
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Control parcial

Assimilació dels conceptes dels curs i realització del control
Objectius: 1 2 3 4 5 6 7
Setmana: 10
Tipus: examen de teoria
Teoria
1.5h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
7.5h

Desenvolupament del tema "Sistemes de fitxers distribuïts"

Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
  • Teoria: Arquitectures dels sistemes de fitxers distribuïts: model d'accés remot, model upload/download, idea bàsica de les arquitectures en clúster (stripping+replicació). Semàntica de compartició de fitxers: semàntica UNIX, semàntica de sessió, fitxers immutables, semàntica transaccional. Característiques bàsiques del sistema de fitxers distribuït NFS. Característiques bàsiques del sistema de fitxers distribuït CIFS/SMB
  • Aprenentatge autònom: Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
Objectius: 8
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Seminari de laboratori #5

Preparació del seminari amb l'ajuda del material de suport. Implementació i anàlisi del mecanisme demanat. Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
  • Laboratori: Implementació i anàlisi del mecanisme demanat.
Objectius: 7 9 13
Continguts:
Teoria
0h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Informe del seminari de laboratori #4

Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
Objectius: 5 6 13
Setmana: 11
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Lectura d'article #5

Lectura de l'article proposat. Comprensió i assimilació dels continguts de l'article. Realització d'un informe de la lectura
Objectius: 10 13
Setmana: 11
Tipus: examen de teoria
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h

Desenvolupament del tema "Sistemes distribuïts basats en Web"

Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
  • Teoria: Arquitectures dels sistemes distribuïts basats en Web: client/servidor, servlets, clústers de servidors, Web Services. Protocols de comunicació en els sistemes distribuïts basats en Web: HTTP, SOAP, WSDL. Serveis de noms en els sistemes distribuïts basats en Web: URN, URL, DNS, UDDI. Sincronització en els sistemes distribuïts basats en Web: WebDAV. Caching i replicació en els sistemes distribuïts basats en Web: Proxies, Content Distribution Networks (CDN): Akamai, esquemes de redirecció (URL rewriting, DNS redirection)
  • Aprenentatge autònom: Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
Objectius: 9
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Desenvolupament del tema "Sistemes Peer-to-Peer (P2P)"

Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
  • Teoria: Model de computació Peer-to-Peer (P2P): avantatges i aplicacions. Sistemes P2P no-estructurats centralitzats: BitTorrent. Sistemes P2P no-estructurats decentralitzats amb cerca per inundació: Gnutella. Sistemes P2P estructurats basats en DHTs: Chord: organització de l'anell, inserció d'elements, cerca d'elements amb taules de finger, inserció de nodes.
  • Aprenentatge autònom: Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
Objectius: 10
Continguts:
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h

Seminari de laboratori #6

Preparació del seminari amb l'ajuda del material de suport. Implementació i anàlisi del mecanisme demanat. Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
  • Laboratori: Implementació i anàlisi del mecanisme demanat.
Objectius: 10 13
Continguts:
Teoria
0h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Informe del seminari de laboratori #5

Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
Objectius: 7 9 13
Setmana: 13
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Desenvolupament del tema "Sistemes de computació distribuïda"

Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
  • Teoria: Paradigma de computació distribuïda voluntària: BOINC. Paradigma Grid de computació distribuïda, les seves característiques i les seves aplicacions: Virtual organizations (VO), diferència respecte a la computació clúster i distribuïda, arquitectura i implementació: OGSA, WSRF, GT. Paradigma Cloud de computació distribuïda, les seves característiques i les seves aplicacions: Utility computing, Service Level Agreements (SLA), tipus de Clouds (públic, privat), diferència respecte al Grid, serveis Cloud (IaaS, PaaS, SaaS), arquitectura i implementació: virtualització, HDFS, Map-Reduce, infrastructura Cloud (datacenters), obstacles per la consolidació del Cloud
  • Aprenentatge autònom: Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
Objectius: 11
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Lectura d'article #6

Lectura de l'article proposat. Comprensió i assimilació dels continguts de l'article. Realització d'un informe de la lectura
Objectius: 11 12 13
Setmana: 14
Tipus: examen de teoria
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
3h

Desenvolupament del tema "Sistemes mòbils i ubics"

Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
  • Teoria: Sistemes mòbils i ubics: volatilitat, associació, interoperabilitat, sensors i context-awareness, adaptació
  • Aprenentatge autònom: Preparació de la classe amb l'ajuda del material de suport. Comprensió i assimilació dels continguts del tema per la seva aplicació posterior
Objectius: 12
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Informe del seminari de laboratori #6

Preparació del seminari amb l'ajuda del material de suport. Implementació i anàlisi del mecanisme demanat. Realització d'un informe del seminari explicant la feina feta i les conclusions extretes
Objectius: 10 13
Setmana: 15
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Examen final

Assimilació dels conceptes dels curs i realització de l'examen
Objectius: 1 2 3 4 5 6 7 8 9 10 11 12
Setmana: 15 (Fora d'horari lectiu)
Tipus: examen de teoria
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
9h

Metodologia docent

Durant el curs es realitzaran dos tipus d'activitats:
a) Activitats centrades en l'adquisició de coneixements teòrics.
b) Activitats centrades en l'adquisió de coneixements mitjançant experimentació amb la implementació i avaluació empírica al laboratori dels mecanismes explicats a nivell teòric.

Les activitats teòriques inclouen classes expositives participatives on s'expliquen els continguts bàsics del curs, a més de la lectura d'articles/informes, ja sigui com a preparació de les classes expositives o com a posterior elaboració per facilitar l'assimilació dels conceptes importants. Amb l'objectiu de treballar la competència transversal, els articles estaran escrits en Anglès.

Les activitats pràctiques inclouen seminaris de laboratori on els alumnes implementen (en grups de 2) els mecanismes descrits a les classes expositives. Els seminaris requereixen d'una preparació prèvia mitjançant la lectura de l'enunciat i la documentació de suport, i una elaboració posterior de les conclusions obtingudes en un informe. Amb l'objectiu de treballar la competència transversal, els enunciats dels seminaris estaran escrits en Anglès.

Mètode d'avaluació

A) Examen parcial escrit individual.
B) Examen final escrit individual.
-- B1) Avaluació dels continguts inclosos a l'examen parcial, per aquells alumnes que no el van aprovar.
-- B2) Avaluació dels continguts no inclosos a l'examen parcial, per tots els alumnes.
C) Avaluació dels informes de lectura i discussió d'articles.
D) Avaluació dels seminaris de laboratori.

Pels alumnes que tinguin aprovat l'examen parcial (A>=5) i no facin la part B1 de l'examen final, la nota final es calcularà de la següent manera:

Nota Final = 0.25 x A + 0.25 x B2 + 0.2 x C + 0.3 x D

En cas contrari, la nota final es calcularà com segueix:

Nota Final = 0.25 x B1 + 0.25 x B2 + 0.2 x C + 0.3 x D

L'avaluació de la competència transversal es farà a través de l'avaluació de les activitats C i D, que són les que tenen el material de suport escrit en Anglès.

Bibliografia

Bàsica:

Complementaria:

Capacitats prèvies

Els estudiants requereixen coneixements previs de sistemes operatius (SO) i xarxes de computadors (XC)