Võrgurakendused 2 eksamiteemad 2018

Allikas: Lambda
Redaktsioon seisuga 17. mai 2018, kell 08:03 kasutajalt Tammet (arutelu | kaastöö)
Mine navigeerimisribale Mine otsikasti

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.


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.

  • 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,

 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.


D) Lukustamine, transaktsioonid, optimistlik paralleelsuskontroll

   * Lukustamise sissejuhatus
   * Spinlock detaile
   * transaktsioonide sissejuhatus 

E) Mapreduce ja memcached tööpõhimõtted.

   * 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)
   * Mapreduce klassikaline põhiartikkel (http://static.googleusercontent.com/external_content/untrusted_dlcp/labs.google.com/en//papers/mapreduce-osdi04.pdf)
   * memcached ülevaade (http://www.majordojo.com/2007/03/memcached-howto.php) ja http://code.google.com/p/memcached/wiki/NewOverview


F) Andmebaaside koondamine/data warehouses: mis need on ja milleks.