Võrgurakendused 2 eksamiteemad 2018: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Uus lehekülg: 'Eksamil tuleb ca neli kirjalikku küsimust alltoodud teemade kohta, seejuures ühe teema kohta ei tule mitut küsimust. Vastuses on sul vaja selgitada ja/või tuua näiteid ja/v...'
 
Resümee puudub
 
(ei näidata sama kasutaja 22 vahepealset redaktsiooni)
1. rida: 1. rida:
Eksamil tuleb ca neli kirjalikku küsimust alltoodud teemade kohta, seejuures ühe teema kohta ei tule mitut küsimust. Vastuses on sul vaja selgitada ja/või tuua näiteid ja/või pseudokoodi. Otseseid programmeerimisülesandeid ei tule.


Eksamil tuleb neli kirjalikku küsimust alltoodud teemade kohta, seejuures ühe teema kohta ei tule mitut küsimust. Vastuses on sul vaja selgitada ja/või tuua näiteid ja/või pseudokoodi. Otseseid programmeerimisülesandeid ei tule.


A) API protokollid, konkreetsemalt HTTP 1.0, JSON, XML-RPC, SOAP, XML Schema, REST (põhipunktid). WSDL, UDDI, WS-I jne küsimusi ei tule.
Alltoodud materjalid ei ole nö kohustuslikud, vaid ainult soovituslikud: hea mõte on otsida ja lugeda ise juurde. Samuti leiad siintoodud materjalides - näiteks wikipedia artiklites - väga spetsiifilist tausta ja detaile: seda eksamil ei küsita. Küsimuste fookus on olulistel toimimispõhimõtetel - et sa saaksid aru, mis asi on ja kuidas põhimõtteliselt käib - ning veidi ka rakendamisvaldkondadest/fookusest (ehk, milleks hea).


    * Http, Json , XML-RPC: võrgurakenduste protokollid 1: lingikogu
    * SOAP additional (WSDL etc): võrgurakenduste protokollid 2: lingikogu


B) P2P põhimõtted, konkreetsemalt arusaamine järgmiste süsteemide  põhimõtetest: Esialgne Napster, Gnutella,  
1) API protokollid, konkreetsemalt HTTP 1.0, JSON, XML-RPC, SOAP, REST (põhipunktid). HTTP 2.0, XML Schema, websockets, WSDL, UDDI, WS-I jne küsimusi ei tule.
  DHT (näiteks Chord või Kademlia), superpeer mehhanism (näiteks vana Skype), P2P DHT süsteemid (näiteks Chord või Kademlia) ja
  Bittorrent. Otsingumeetodid ja eri arhitektuuride eelised. Bittorrenti mehhanism ja optimeeringud.
   
  * hea paraja detailsusega sissejuhatus (http://www.srdc.metu.edu.tr/webpage/seminars/p2p/P2P.ppt)   
  * Täiendavalt võib lugeda detailsemat materjali (http://www.it.lut.fi/comlab/ssotc/ssotc08/presentations/Lappeenranta_summer_school_Jukka_K_Nurminen.ppt)
  * Ja eriti detailset (http://www14.in.tum.de/personen/schmiste/dynamo08.ppt)   
  * DHT ülevaade wikipedias (http://en.wikipedia.org/wiki/Distributed_hash_table)
  * Chord:
        o Põhimaterjal - Chordi põhimõtted (http://pdos.csail.mit.edu/rtm/slides/harvard02.ppt) - lugeda kuni Ivy osani (Ivy on antud juhul teemaväline)
        o Täiendavalt vaata seda presentatsiooni (http://www.cs.berkeley.edu/~kubitron/courses/cs294-4.../lec03-chord.ppt) visualiseeritud algoritmidega (ppt presentatsioonirezhiimis!)
        o Täiendavalt juurde lugeda chordi ülevaadet algoritmide skeemi (http://www.ece.utexas.edu/~garg/f04/dist2/papers/chord.ppt) ja põhiteoreemidega (ilma tõestusteta)
        o Lisaks tasuks veidi uurida artikleid wikipedia (http://en.wikipedia.org/wiki/Chord_%28peer-to-peer%29) sissekande lõpus (external links)
  * Kademlia:
        o Põhimaterjal presentatsioon autoritelt (http://www.cs.uiowa.edu/~ghosh/kademlia.ppt)
        o Täiendavalt autorite artikkel (http://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf)
  * Bittorrenti andmevahetuspõhimõtted
    * bittorrenti protokoll ja ülevaade (http://www.cs.uiowa.edu/~ghosh/bittorrent.ppt)
    * täiendavalt wikipediast (http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29)


C) Blockchain ja bitcoin.
* Memod ja lingikogud loengust: [[võrgurakenduste protokollid 1]],[[võrgurakenduste protokollid 2]], [[võrgurakenduste protokollid 3]]
* Otsi ja loe veidi ise juurde.


   
2) Vanemate P2P süsteemide põhimõtted, konkreetsemalt arusaamine järgmiste süsteemide  põhimõtetest: Esialgne Napster, Gnutella, superpeer mehhanism (näiteks vana Skype).
D) Lukustamine, transaktsioonid, optimistlik paralleelsuskontroll
 
* [http://en.wikipedia.org/wiki/Peer-to-peer vikipeedia ülevaade]
* [[Media:P2p_overview.ppt|Loengus tehtud ülevaade eri P2P tehnoloogiatest]]: esimesed osad       
 
 
3)  DHT (näiteks Chord või Kademlia), Bittorrent ja TOR. Mehhanismid ja eri arhitektuuride eesmärgid/fookused/eelised. Bittorrenti mehhanism ja optimeeringud. NB! Mix networkinduse kohta küsimusi ei tule, erandina võib tulla küsimus TORi kohta.


    * Lukustamise sissejuhatus
* Sama [[Media:P2p_overview.ppt|Loengus tehtud ülevaade eri P2P tehnoloogiatest]]: järgmised osad
    * Spinlock detaile
* [http://en.wikipedia.org/wiki/Distributed_hash_table DHT ülevaade wikipedias]
    * transaktsioonide sissejuhatus
* Chord:
** [http://en.wikipedia.org/wiki/Chord_%28peer-to-peer%29 Chord wikipedias]
** [http://pdos.csail.mit.edu/rtm/slides/harvard02.ppt Põhimaterjal - Chordi põhimõtted] - lugeda kuni Ivy osani (Ivy on antud juhul teemaväline)
* Kademlia:
** [http://www.cs.uiowa.edu/~ghosh/kademlia.ppt Põhimaterjal presentatsioon autoritelt]
** [http://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf Täiendavalt autorite artikkel]
* Bittorrenti andmevahetuspõhimõtted
** [http://www.cs.uiowa.edu/~ghosh/bittorrent.ppt bittorrenti protokoll ja ülevaade]
** [http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29 täiendavalt wikipediast]
* TOR
** [http://en.wikipedia.org/wiki/Tor_%28anonymity_network%29 TOR wikipedias]


E) Mapreduce ja memcached tööpõhimõtted.
4) Blockchain ja bitcoin.
* [https://en.wikipedia.org/wiki/Blockchain Wikipedia ülevaade kogu teemast]
* [https://bitsonblocks.net/2015/09/01/a-gentle-introduction-to-bitcoin/ Gentle intro 1]
* [https://bitsonblocks.net/2015/09/09/a-gentle-introduction-to-blockchain-technology/ Gentle intro 2]
* [https://bitsonblocks.net/2015/09/21/a-gentle-introduction-to-bitcoin-mining/ Gentle intro 3]
* [https://bitcoin.stackexchange.com/questions/3536/how-do-bitcoin-clients-find-each-other Bitcoini klientide leidmine]
* [https://anders.com/blockchain/ Blockchaini demo]: vajuta üleval "Hash", "Block", "Blockchain" linkidele ja proovi igal lehel ise datat muuta ja "Mine" nupule vajutada. "Mine" teeb proof-of-worki ehk otsib random stringi (nonce) mille lisamisel datale saame mitme nulliga algava hashi.
   
5) Paralleelrehendused (sh Lukustamine, transaktsioonid, spinlock, optimistlik paralleelsuskontroll)


    * Hea Mapreduce sissejuhatus (http://www.google.com/url?sa=t&source=web&cd=2&ved=0CBkQxQEwAQ&url=http%3A%2F%2Fdocs.google.com%2Fviewer%3Fa%3Dv%26q%3Dcache%3AziVIMWHr2GsJ%3Anet.pku.edu.cn%2F~course%2Fcs501%2F2008%2Fresource%2Fmapreduce_in_a_week%2Fllm3-mapreduce.ppt%2Bgoogle%2Bmapreduce%2Btheory%2Band%2Bimplementation%2BChristophe%2BBisciglia%2C%2BAaron%2BKimball%2Bllm3%26hl%3Den%26pid%3Dbl%26srcid%3DADGEESiMwU-9htEZEAthU5bRtGGBQgkzwUf5vM549R-6QBooeBv10FFd-GLvrklDHx-RhI3OehhNio1E7m5GvwKyKK9ndM6oNbDO3LERl8M8YSZ5tdO4bRQ3PEs8sQ6_sdJVIF_Splx7%26sig%3DAHIEtbQVGyhnhEx0aTA0W7okwP8KdVqG1w&rct=j&q=google%20mapreduce%20theory%20and%20implementation%20Christophe%20Bisciglia%2C%20Aaron%20Kimball%20llm3&ei=plH_TPWOI4ay8gPVss2MCw&usg=AFQjCNE9y0GiXVo_hNWPmywfUjt_3ZhQqg&cad=rja)
* Põhiline [[Media:na2_ccdb_slides.pdf|Paralleelsus andmebaasides: slaidid]].
    * Mapreduce klassikaline põhiartikkel (http://static.googleusercontent.com/external_content/untrusted_dlcp/labs.google.com/en//papers/mapreduce-osdi04.pdf)
* Lisaks võib lugeda
    * memcached ülevaade (http://www.majordojo.com/2007/03/memcached-howto.php) ja http://code.google.com/p/memcached/wiki/NewOverview
**[[Media:na2_ccdb.pdf|Paralleelsus: põhjalikum konspekt]]
**[[Media:11-transactions.pdf|Introduction to Transactions (slaidid)]]
**[[Media:na2_sync_slides.pdf|Sünkroniseerimisprimitiivide slaidid]]
** [http://stackoverflow.com/a/16207592 Thread, Queue ja Lock] Pythonis
** alguses oli [http://www.csl.mtu.edu/cs4411.ck/www/NOTES/process/fork/create.html  fork()], hea [https://computing.llnl.gov/tutorials/pthreads/ pthreads tutorial].




F) Andmebaaside koondamine/data warehouses: mis need on ja milleks.
6) Mapreduce ja memcached: mis need on ja tööpõhimõtted.
* [https://en.wikipedia.org/wiki/MapReduce Mapreduce vikipeedias]
* [http://www.majordojo.com/2007/03/memcached-howto.php memcached ülevaade]

Viimane redaktsioon: 17. mai 2018, kell 09:30

Eksamil tuleb neli kirjalikku küsimust alltoodud teemade kohta, seejuures ühe teema kohta ei tule mitut küsimust. Vastuses on sul vaja selgitada ja/või tuua näiteid ja/või pseudokoodi. Otseseid programmeerimisülesandeid ei tule.

Alltoodud materjalid ei ole nö kohustuslikud, vaid ainult soovituslikud: hea mõte on otsida ja lugeda ise juurde. Samuti leiad siintoodud materjalides - näiteks wikipedia artiklites - väga spetsiifilist tausta ja detaile: seda eksamil ei küsita. Küsimuste fookus on olulistel toimimispõhimõtetel - et sa saaksid aru, mis asi on ja kuidas põhimõtteliselt käib - ning veidi ka rakendamisvaldkondadest/fookusest (ehk, milleks hea).


1) API protokollid, konkreetsemalt HTTP 1.0, JSON, XML-RPC, SOAP, REST (põhipunktid). HTTP 2.0, XML Schema, websockets, WSDL, UDDI, WS-I jne küsimusi ei tule.

2) Vanemate P2P süsteemide põhimõtted, konkreetsemalt arusaamine järgmiste süsteemide põhimõtetest: Esialgne Napster, Gnutella, superpeer mehhanism (näiteks vana Skype).


3) DHT (näiteks Chord või Kademlia), Bittorrent ja TOR. Mehhanismid ja eri arhitektuuride eesmärgid/fookused/eelised. Bittorrenti mehhanism ja optimeeringud. NB! Mix networkinduse kohta küsimusi ei tule, erandina võib tulla küsimus TORi kohta.

4) Blockchain ja bitcoin.

5) Paralleelrehendused (sh Lukustamine, transaktsioonid, spinlock, optimistlik paralleelsuskontroll)


6) Mapreduce ja memcached: mis need on ja tööpõhimõtted.