Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
TDDD25: Distributed Systems Programming Project Petru Eles Ivan Ukhov Computer and Information Science Linköping University January 25, 2016 Contacts Ivan Ukhov [email protected] Office 329:228, Building B 2 / 14 Organization • 1 teaching session • 7 lab sessions • 1 + 5 labs • 2 groups • Registration deadline: January 31 • Completion deadline: two weeks after the exam 3 / 14 Distributed Database C C C L SP DB L SP DB L SP DB C NS C L C SP DB C — client SP — server/peer NS — name service DB — database L — lock C C 4 / 14 Lab 0: Standalone Database C C C DB C DB DB C DB DB C C DB C DB DB • Local database for each client • TODO: complete the implementation of the read and write operations of the database https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab0.pdf 5 / 14 Lab 1: Client-Server Database C C C C S C C DB C C • Centralized database • TODO: complete the implementation of the client/server communication mechanism https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab1.pdf 6 / 14 Lab 2: Object Request Broker P P NS P P • Name service and object request broker (ORB) • Abstract away the communication part of the functionality • TODO: complete the implementation of the ORB https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab2.pdf 7 / 14 Lab 3: Peer-to-Peer Communication P P NS P P • Smart mechanism for keeping track of peers • TODO: complete the functionality dealing with the peers joining or leaving the system https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab3.pdf 8 / 14 Lab 4: Distributed Locks L P L P L P NS L P • Distributed mutual exclusion to control concurrent operations • TODO: complete the implementation of the second Ricart–Agrawala algorithm https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab4.pdf 9 / 14 Lab 5: Client-Server Database with Replicas C C C L SP DB L SP DB L SP DB C NS C L C SP DB C C • Everything together • TODO: complete the implementation of the server/peer using all the previously developed components https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab5.pdf 10 / 14 Implementation • Multi-threaded object-oriented code in Python 3 • Communication via objects serialized in JSON • Data transfer through TCP sockets 11 / 14 Repository • doc/ • src/ • • • • • • • lab0/ lab1/ lab2/ lab3/ lab4/ lab5/ modules/ • • Common/ Server/ 12 / 14 Submission • No written reports are needed • Demonstrate your solutions in class • Email modified files 13 / 14 Good luck! 14 / 14