Itv0040 2014

Allikas: Lambda
revolutsioon

Ainekood: ITV0120
Täielik nimi: Võrgurakendused II - hajussüsteemide tehnoloogia
Link: http://www.lambda.ee/index.php/V%C3%B5rgurakendused_II
Punkte: 2.5 AP ehk 4 EAP

Lektor: Tanel Tammet
Kontakt: tanel.tammet@ttu.ee, 6203457
Olemas on ka 2013 aasta materjalide arhiiv.

NB! See on aine 2014 aasta arhiiv, mitte hetkel kehtiv materjalikogu!

Eksam jaanuaris

Eksamitulemused on siin tabelis.

Järeleksam toimub neljapäeval, 29. jaanuaril kell 14:00. Eksamiruum NRG-131 (energeetika maja). Palun registreeri ennast järeleksamile ÕIS-is!


EKSAMIMÄRKMED

Küsimused tulevad järgmiste teemade kohta, igaühe kohta üks/kaks.

Protokollid: json,xml-rpc,soap (ilma uddi ja wsdlta),protocol buffers.

P2P: Napster, Gnutella, Kazaa/skype, DHT (ntx Chord), Bittorrent

Transaktsioonid ja lukustamine paralleelprotsesside jaoks: baseerudes Priit Järve konspektile ja slaididele

Cachemine laiemas mõttes: arvuti cache tööpõhimõtted programmeerija vaatevinklist, shared memory tööpõhimõtted ja kasutusvaldkonnad, hajutatud cached a la memcached.

Detsembris ilmub siia lisaks hulk konkreetseid kordamisküsimusi samadel teemadel.




Aeg, koht

Semester: sügis
Tulemus: eksam
Hindamise meetod: praktikumide tulemused (pool) pluss eksam (teine pool)

Loeng: kolmapäeval 16:00-17:30 ruumis CYB-VEENUS
Praktikum: neljapäeval 17:45-19:15 arvutiklassis ICT-501 (praktikumijuhendaja Priit Järv)

Praktilised tööd ja tähtajad

Töid võib teha 1-3 inimesest grupina.

Kokku on töid 2. Kumbki praktikum täismahus tehtuna annab 25 punkti, sellele võivad lisanduda ekstrapunktid. Puudulikult tehtud töö punktiarv jääb alla 25 punkti. Hilinenud kodutöö eest saab pooled muidu saadaolevad punktid. Töid tuleb esitada praktikumi ajal, projektori abil, väikese ülevaatena kõigile tudengitele.

  • 1. Tähtaeg 23. oktoober. Kaks alternatiivi, mille vahel võid ise valida:
    • 1 praks
    • Teha ise katseid või rakendus õppejõuga eelnevalt kokku lepitud teemal (apid, protokollid) ja teha väike loeng/ülevaade katsetest/rakendusest.
  • 2. Tähtaeg 18. detsember. Kaks alternatiivi:
    • 2 praks: android ja google app engine
    • Teha ise katseid või rakendus õppejõuga eelnevalt kokku lepitud teemal (mobiilirakendused ja pilvekeskkonnad) ja teha väike loeng/ülevaade katsetest/rakendusest.

NB! Novembris ja detsembris saab esimest praktikumi (hilinemisega) esitada: praksi võtab vastu Priit. Esialgu on selleks planeeritud kaks võimalust: 6 novembri praksis ja 11 detsembri praksis.

Kursus varasematel aastatel



Esialgne loengukava

Kursus jaguneb laias laastus neljaks teemaks:

  • Protokollid, P2P, andme-apid võrgus (neil teemadel esimene praks, autentimine
  • Mobiilirakendused ja pilvekeskkonnad (neil teemadel teine praks)
  • Paralleelrehkendused
  • Andmete hajutamine ja hajutatud andmete koondamine


Loengute esialgne plaan:


Detailsem ülevaade kursuse sisust, sissejuhatus 1. praktikumi, protokollide algus, http, json

Http ja json: võrgurakenduste protokollid 1
Üldist materjali ja kursusi mujalt:
http://en.wikipedia.org/wiki/Distributed_computing
http://dcg.ethz.ch/lectures/podc_allstars/index.html
http://www.eecs.harvard.edu/cs262/
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-824-distributed-computer-systems-engineering-spring-2006/index.htm
http://www.stanford.edu/class/cs244b/

Praktikumi lisadetaile, protokollide jätk, xml ja xml põhised protokollid xml-rpc ja soap

xml protokollid xml-rpc, soap ja seotud tehnoloogiad: võrgurakenduste protokollid 2
Probleemidest: veebiteenuste võlu ja valu ja s stands for simple

Protokollide jätk ja P2P sissejuhatus

REST, binary protokollid, XMPP: võrgurakenduste protokollid 3
P2P sissejuhatus:
vikipeedia ülevaade
ülevaade eri P2P tehnoloogiatest

P2P jätk: DHT (distributed hash tables) ja bittorrent

ülevaade wikipedias
Chord:
Põhimaterjal - Chordi põhimõtted - lugeda kuni Ivy osani (Ivy on antud juhul teemaväline)
Lisaks tasuks veidi uurida artikleid wikipedia sissekande lõpus (external links)
Kademlia:
Põhimaterjal presentatsioon autoritelt
Täiendavalt autorite artikkel
Bittorrent:
bittorrenti protokoll ja ülevaade
täiendavalt wikipediast
TOR:
TOR wikipedias

Suured avalikud andme-apid.

Andme-apide märkmed loengust

Autentimine: facebook, google, id-kaart.

Autentimise märkmed: facebook ja google

Pilvekeskkonnad, eriti: Google appengine, database api, google bigtable and file system stack

Hajutatud failisüsteemide märkmed loengust
http://code.google.com/appengine/

Sissejuhatus 2. praktikumi

Mobiilirakenduste tegemine

http://developer.android.com/index.html
Mobi loengu pdf
Mobi loengu koodi link

Paralleelrehkendused. Andmebaasid, lukustamine ja transaktsioonid.

Paralleelsus andmebaasides, konspekt ja slaidid
Transaktsioonide sissejuhatuse alternatiivsed slaidid

Paralleelrehkendused jätkuvad.

Sünkroniseerimisprimitiivid, konspekt ja slaidid
Lisaks T.Tammeti slaidid


Paralleliseerimine ja efektiivsus: ip/tcp, socketid, http jne

http näited

Mapreduce framework for automating app parallelization + memcached

Hea Mapreduce sissejuhatus
Mapreduce klassikaline põhiartikkel
memcached ülevaade

Andmelaod.

Hajutatud andmekogude integreerimine. Vaata ka linke:

Postgres replication intro
Postgres clustering and replication
Postgres high availability
Integrating distributed sem web data
Oracle information integration

Lisamaterjalid