Hide menu

TDDD93 Large-Scale Distributed Systems and Networks

Scenarios and Project


Project Overview

Last updated 21/3/2017: Note that this is a preliminary project overview and information may be changed in the next week or two.


The project will be done in groups of approximately 4 students, and will include semi-weekly reports and peer reviewing. In total, there will be three milestones (1, 2, 3) and a final report deadline that you must meet. You will also be expected to give an oral presentation at the semimar (between milestone 3 and the final report). For each milestone, for the seminar, and for the final project report you are expected to provide peer reviewing and constructive feedback.

Milestones and deadlines will have to be rigorously followed. Any deviations from the scheduled deadlines should be agreed by the project supervisor.

Expectations: The goal is to produce a report that include both theoretic background and practical results that gives insights into some systems aspects. Your methodology is expected to be sound, clearly explained, and the results are expected to be clearly presented.

You will be given an unofficial project grade based on your performance on (i) the seminar, (ii) the final report, and (iii) your feedback reports given to other groups. To pass the project you are expected to meet all deadlines and your reports should follow the specifications. When the expected standards are not satisfied, especially with regards to the final report, you may be asked to complement the report with additional work. All deadlines, including a single hard deadline for such additional improvements, are specified below.


Potential bonuses towards TEN2 (June same term as project): Your project (PRA1) can earn you bonus marks towards the TEN2 exam. Such potential bonuses will be based on your unofficial project grade.

You can only obtain bonus marks towards the exam based on the status of the project at the time of the original deadline; typically not through complementing work. Such higher grade can earn you up-to 8 bonus marks for this year's original TEN2 exam (June the year you do the project). Note that bonus marks are only valid for the exam this term!! (To give a reference point, a project deemed representative of a grade 3 will earn you approximately 2 bonus marks, a project deemed representative of a grade 4 will earn you approximately 4 bonus marks, and a project deemed representative of a grade 5 will earn you approximately 6-8 marks. Some intermediate bonus marks may be used to distinguish particularly strong projects from borderline projects.)

You cannot save bonus marks for later. Furthermore, at most 2 bonus marks can be used towards a grade 3 on TEN2, at most 4 bonus marks can be used towards a grade 4 on TEN2, and at most 8 bonus marks can be used towards a grade 5 on TEN2.

Group and Project Assignment

Step 1: Group assignment and registration in WebReg: The project will be done in groups of 3 or 4 students. Please find partners and register with those people on Webreg.
  • Register here
  • Deadline: March 24 (Friday)
Step 2: Project proposals: A list of available projects will be published at the following address (March 23 at 19:30): http://www.ida.liu.se/~TDDD93/labs/ (remove white space) 2017kas82ja7hgx/tddd93-projects2017-v03.pdf

Step 3: Project bidding: Choose the project you (as a group) would like to do. There can be at most two groups per project, in many cases only one group. When choosing the project please take into consideration the possible prerequisites that the projects supervisor has indicated in the project description (e.g. "familiarity with the UNIX environment and basic C programming"). If you select a project for which prerequisites are listed, you must explain how you meet the prerequisite (merely stating that you do is not sufficient). Should you select a project for which you do not meet the prerequisites, then your supervisor may cancel your project. Should you be allowed to continue, then be advised that there is a significant risk that you will fail the project.

Select 5 projects in a priority order 1 to 5 (1: highest) Send an email to Niklas Carlsson requesting to be assigned a project (and cc all team members). The email must have the following format:


Subject: TDDD93: Request for project

Body:
Group: # (as listed in webreg)
Student 1 (Name and LiU ID)
Student 2 (Name and LiU ID)
Student 3 (Name and LiU ID)
Student 4 (Name and LiU ID)

Requested project(s):
1. Project #: Title (your first choice for project)
2. Project #: Title (your second choice)
3. Project #: Title (your third choice)
4. Project #: Title (your fourth choice)
5. Project #: Title (your fifth choice)

where the Project # is the project id from the list of projects on the web.
Be prepared to make new selections in case all your 5 projects from the wish list become unavailable. You will be contacted by us if this will be the case.
  • Deadline: March 26 (Sunday), but priority if before March 25 (Saturday)


Step 4: Project assignment: Your emails requesting projects will be handled on a first come first served basis, BUT with any request comming in on or before March 25 (Saturday) ordered at random. Therefore, please come together as a group and discuss which projects that you would prefer. Each project from the list can be taken by only a specific number of groups (usually one or two).

Reviewer assignment for feedback: For each milestone you will be asked to give feedback on each others reports. Before each milstone, your group will therefore be assigned reviewers. Note that each milestone may or may not have a different feedback groups.
  • Date: Up-to-date for 2017. Please check that it looks okay.

Reviewing and Report Guidelines

Peer reviewing: As a reviewer you are expected to (as a group) give feedback on the other groups' project. Such feedback reports are expected to be brief (a few bullets/paragraphs), and focused on things that can help the other group improve their report. The most important thing with this step is to help the group you review identify things that are unclear to the reader. After the seminar, you are also expected to help the group that you review identify the parts to focus their final report on.

Deliverables (important): There will be both electronic and hard copy reports.
  • For all milestones and the final report(s), you should print a hardcopy of your report (in its current shape) and place in the mailbox outside café java, addressed to Niklas. These reports are used to keep track of your progress.
  • For both reports and feedback reports you should create a single email with the report (or feedback report) attached as a pdf file that is addressed to (i) all members of your two reviewer pairs (or that you are reviewing), (ii) the instructor, and (iii) all members of you own group. Also, only LiU email addresses should be used for this communication, and all communication should have "TDDD93 project: (insert something here)" in the subject heading. The formatting is important to keep track of the projects.
  • For the report you should use the default ACM SIG-proceedings (conference) templates, which can be found here.
  • You are expected to use appropriate referencing (see ACM referencing standard) in which you use appropriate and well described references. Please avoid web references (e.g., wikipedia), and instead try to identify books and research papers (published in proceedings or journals) for your references.

Milestones

Milestone 1: Introduction
  • You are expected to have written a clear introduction section to your report that clearly define the particular problem that you intend to investigate, clearly motivate the importance of the selected problem, and describe your expected contributions/results. You should also create a time plan for how you plan to investigate the problem and reach this final target.
  • At this point your report should have a title, abstract, and introduction, but should be no longer than 1 page (+ a brief gameplan that explains what you have done thus far and how and when you will complete the rest).
  • Note 1: You will have a fair bit of freedom in exactly what you do. In this version of the report, I want you to write as if you are done your project and already have your results. (In other words: Please envsion your final report and write the introduction accordingly.) You can find a nice explenation of how a typical CS introduction may ready here.
  • Note 2: I would like to see that you (either now, or in the next few weeks, if you start broadly) try to find a sub-problem that you think that you in some way can analyze, test, or otherwise investigate deeper (e.g., through simple experiments, simulations, or measurements). For example, in the case of the caching context, you could imagine doing a performance comparison of two caching policies, look at the value of prefetching, investigate how much of all the content actually can be cached, how much of it results in cache hits, etc.). Many of these are things you can investigate using small-scale experiments (e.g., looking into HTTP headers and caching rules of regular proxies), running simulations, perform some basic calculations, etc., just to give some examples.
  • Note 3: Please check if you can find some research litterature that have looked at similar or related problems. Such papers may help you identify some aspect that you may want to investigate closer. For this course, you can either investigate something that have been done before (e.g., an experiment or hypotesis that you want to understand or try for yourself, but that already have been answered/addressed by others) or something new (e.g., an experiment or hypotesis that some research paper inspire you to test, or that you find intersting in general).
  • Deadline: Apr. 4
  • Feedback deadline: Apr 6
Advice on references and citations (typically used by my thesis students): Please be consistent in the formatting of your references. As there is no page limit (as with reserach papers), I would suggest being fairly complete. For journals/and magazines I would suggest giving author names, title of the article, the name of the journal, the volume, the number/issue, the year, and the page numbers. For example,
  • G. Dan and N. Carlsson, "Centralized and Distributed Protocols for Tracker-based Dynamic Swarm Management", IEEE/ACM Transactions on Networking (ToN), Vol. 21, No. 1 (Feb. 2013), 297--310.
For conferences I would suggest giving author names, title of the article, the name of the conference proceedings, the place of the conference, the dates of the conference, and the page numbers. For example,
  • Y. Borghol, S. Ardon, N. Carlsson, D. Eager, and A. Mahanti, "The Untold Story of the Clones: Content-agnostic Factors that Impact YouTube Video Popularity", Proc. ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD), Beijing, China, Aug. 2012, pp. 1186--1194.
When citing papers, I would suggest that you try to cite the papers such that the sentences makes sense without the citation. For example, "Borghol et al. [2] present an intersting analysis of ..." or "... have presented an interesting analysis of YouTube what makes some videos more popular than others [2]." Please avoid using sentences such as "[2] presents an interesting ..." or "In [2] the authors present an interesting ..."

For example, the .bib entries for the above paper may look as follows:


@article{DaCa13,
author = {G. Dan and N. Carlsson}, 
title = {Centralized and Distributed Protocols for Tracker-based Dynamic Swarm Management}, 
journal = {IEEE/ACM Transactions on Networking (IEEE/ACM ToN)}, 
volume = {21}, 
number = {1},
month = {Feb.},
year = {2013}, 
pages = {297--310}
}

@inproceedings{BAC+12,
author = {Y. Borghol and S. Ardon and N. Carlsson and D. Eager and A. Mahanti},
title = {The Untold Story of the Clones: Content-agnostic Factors that Impact YouTube Video Popularity},
booktitle = {Proc. ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD)},
address = {Beijing, China}, 
month = {Aug.},
year = {2012}, 
pages = {1186--1194}
} 

Request: For paper writing, in your .bib file, please use the following format for references: (i) always use four letter plus two digits, (ii) the numbers should correspond to the year of the published article, (iii) the letters should correspond to the first letters of the author names, such that (iv) a single author paper is referred to as "Firs14", (v) a two author paper is referred to as "FiSe14", (vi) a three author paper is referred to as "FiST14", (vii) a four author paper is referred to as "FSTF14", and (viii) a paper with five or more authors is referred to as "FST+14". For example, the two cases above would be DaCa13 and BAC+12, respectively.


Mid-term Seminar: Briefly present the problem, methodology, and expected results
  • You are expected to give a clear 6 minute presentation in which you present the problem, motivate the importance of the problem, your methodology, and what you hope to answer/verify.
  • Note that the presentation is very short, so it will be important to be well prepared. It is also important to be ready when it is your turn.
  • Date: April 10
Mid-term Seminar Schedule 2016:
  • Gr1: ...
  • Gr2: ...

Milestone 2: Methodology and expected results
  • You are expected to have written a methodology section that clearly describes the tools and methods that you will use to investigate the selected problem. Your methodology section should describe details of how you plan to evaluate and analyze the performance or system/protocol design of the aspect that you will take a closer look at in your project.
  • You are also expected to write a short summary of your expected results. What are you expecting to find from your analysis? If possible, use this to define a hypothesis (even if it is a known result), which you later can try to validate, show, or debunk. (Based on this and your initial experimentation, you may also want to revise your preliminary introduction and timeplan, from last milestone.)
  • Note that you may want to leverage and integrate this milestone with scenario 4 from the PBL meetings.
  • Also, please revise the sections from the previous milestone as you see best fit, and based on the feedback from your review groups.
  • At this point your report is expected to be 3-4 pages, have a clear outline, well-written sections, and figures which clearly capture the problem and/or methodology.
  • Deadline: Apr. 11
  • Feedback deadline: Apr. 12

Milestone 3: Preliminary results and conclusions
  • You are expected to have performed a preliminary analysis, simulations, experiments, or whatever methodology that you selected, such as to address the question/problem that you set out to answer. Based on these results and your investigation of the problem (reading literature, for example), you are expected to write a results section in which you present your results, as well as a concise conclusion (that can have some statement about potential future investigation).
  • Also, please revise the section from the previous milestone as you see best fit, and based on the feedback from your review groups.
  • At this point your report is expected to be 5-8 pages, have a clear outline, be well-written sections (e.g., introduction, methodology, results, and conclusions), and have figures which clearly capture the problem, results, and/or methodology.
  • Deadline: May 9
  • Feedback deadline: May 11 (remember to bring forward what you think the final report should focus on).

Seminar: Present the problem and lessons learned
  • You are expected to give a clear presentation in which you present the problem, motivate the importance of the problem, your methodology, and the lessons learned from your investigation.
  • Note that the presentation is short, so it will be important to be well prepared. It is also important to be ready when it is your turn.
  • Date: May 15-17
  • Feedback deadline: May 18 (remember to bring forward what you think the final report should focus on).
  • Note: Similar to for the milestones, you are expected to give feedback to the group for which your group's number appears in the "seminar" column.

Final report: With updated results, based on feedback from latest report and seminar
  • You are expected to rewrite the report such as to focus the report on the most important messages and lessons that you have learned about the problem of consideration. The report is still expected to have the similar sections and content as before. However, you will have to improve the writing and presentation (to say the same thing using less/better text) and focus results towards what you and others found more important/interesting.
  • When you write the final report, please try to use the feedback from both milestone 3 and the seminar to improve your report. It may also be worth thinking about if there are things you described better during the seminar (e.g., using a better figure, different story, different example) than in milestone 3. Is this a better way (e.g., "story", order, or examples) to present things also in the report (such as to make things clearer, for example)? If so, perhaps, some parts of the report can be improved ...
  • At this point your condensed report is expected to be 5 pages, have a clear outline, be well-written sections, and have figures which clearly capture the problem and/or methodology. (Any additional results that you may want to present you can put in a well marked appendix.)
  • Deadline: May 22
  • Feedback deadline: May 24 (this review should clearly state your general assessment of the report, and if you find the report acceptable or not)

Feedback group assignment (2017)

To find the group(s) that you should send your report to for feedback, please use the table below as follows:
  1. Find your group and group number in the first two columns. This gives you the row that defines to which groups you should send your report for feedback.
  2. For this week's milestone, identify the group number indicated in the column for that milestones. This is the group (or groups) that you should send you report to for feedback. (Use column one and two to find the names of the group members of that group.)
  3. As with your other reports, for the seminar, you should expect feedback from the group specified in the corresponding column. (Note that for each deadline you can use that column and your group id to identify the group(s) for which you should provide feedback.)
Number Group Milestone 1 Milestone 2 Milestone 3 Seminar Final project Project
1. Johan Karlsson (johka036), Johan Lind (johli252), André Willquist (andwi954), David van Gheel (davva679), 2 3 4 5 4+5 Adaptive streaming
2. Björn Detterfelt (bjode786), Fabian Haugen (fabha972), Leif Eriksson (leier318), Robin Karlsson (robka246) 3 4 5 6 5+6 Characterizing mobile web sites
3. Joakim Sörensen (joaso184) Daniel Herzegh (danhe178), Tjelvar Guo (tjegu689), Ruben Hillborg (rubhe431) 4 5 6 7 6+7 Comparing the performance and characteristics of mobile apps and their corresponding websites
4. Tim Håkansson (timha404), Anton Gefvert (antge210), Aleksi Evansson (aleev379), Elmedin Zildzic (elmzi904) 5 6 7 1 7+1 Build BitTorrent streaming client
5. Rickard Torén (ricto938), Jonathan Lundgren (jonlu578), Eric Nylander (eriny656), Samuel Blomqvist (sambl126) 6 7 1 2 1+2 Crawling for movement patterns in virtual worlds
6. Ludvig Westerdahl (ludwe631), Zacharias Nordström (zacno594), Joel Almqvist (joeal360), Anton Nyström (antny652) 7 1 2 3 2+3 Network visibility from a single location
7. Richard Almgren Friberg (rical803), David Åström (davas593), Niklas Granander (nikgr117), Daniel Johnsson (danjo905) 1 2 3 4 3+4 Building a (distributed) test suite

Preliminary Seminar Schedule (2017)

Each group will have up to 15 minutes for their presentation. The talks are not allowed to be longer, (and you will likely be interrupted if you go more than a minute over this allocated time), so please prepared your presentations for XX minutes (and make sure you know what to cut/condense if you are running out of time). There will also be a 5 minute timeslot for questions, during which the next group is expected to set up for their talk.

Note: For each presentation one group will be assigned “seminar feedback” group. This group will act as the opponent. In particular, for the corresponding presentation, this group is expected to (i) time the presentation, (ii) ask questions after the presentation, and (iii) send a brief feedback summary to the presenting group (with me in cc). To see which group you should give feedback, please again see the feedback assignment schedule. (As an example, this year, group 4 will be opponents and give seminar feedback to group 7...)

Monday, May 15, 2017

8:15-8:30
  • Building a (distributed) test suite
    Gr. 7: Richard Almgren Friberg (rical803), David Astrom (davas593), Niklas Granander (nikgr117), Daniel Johnsson (danjo905)
8:35-8:50
  • Network visibility from a single location
    Gr. 6: Ludvig Westerdahl (ludwe631), Zacharias Nordstrom (zacno594), Joel Almqvist (joeal360), Anton Nystrom (antny652)
8:55-9:15
  • Break
9:15-9:30
  • Crawling for movement patterns in virtual worlds
    Gr. 5: Rickard Toren (ricto938), Jonathan Lundgren (jonlu578), Eric Nylander (eriny656), Samuel Blomqvist (sambl126)
9:35-9:50
  • Build BitTorrent streaming client
    Gr. 4: Tim Hakansson (timha404), Anton Gefvert (antge210), Aleksi Evansson (aleev379), Elmedin Zildzic (elmzi904)
Note: No seminar/lecture on Tuesday.

Wednesday, May 17, 2017

13:15-13:30
  • Comparing the performance and characteristics of mobile apps and their corresponding websites
    Gr. 3: Joakim Sorensen (joaso184) Daniel Herzegh (danhe178), Tjelvar Guo (tjegu689), Ruben Hillborg (rubhe431)
13:35-13:50
  • Characterizing mobile web sites
    Gr. 2: Bjorn Detterfelt (bjode786), Fabian Haugen (fabha972), Leif Eriksson (leier318), Robin Karlsson (robka246)
13:55-14:10
  • Adaptive streaming
    Gr. 1: Johan Karlsson (johka036), Johan Lind (johli252), Andre Willquist (andwi954), David van Gheel (davva679)
14:15-14:30
  • Break
14:30-17:00
  • Project discussion, research overview, course overview, etc. (+ likely some breaks)

OLD: Seminar Schedule (2016)

Each group will have up to 15 minutes for their presentation. The talks are not allowed to be longer, (and you will likely be interrupted if you go more than a minute over this allocated time), so please prepared your presentations for 15 minutes (and make sure you know what to cut/condense if you are running out of time). There will also be a 5 minute timeslot for questions, during which the next group is expected to set up for their talk.

Wednesday, May 18, 2016

13:15-13:30
  • The Effects of Peering-agreements and Content Delivery Networks on Internet Topology Measurements
    Gr1: Fredrik Wallstrom (frewa814), George Yildiz (geoyi478), Viktor Holmgren (vikho394), Yousif Touma (youto814)
13:35-13:50
  • Building a (Distributed) Test Suite
    Gr5: Philip Johansson (phijo967), Christoffer Sjobergsson (chrsj812), Olle Renius (ollre935), Alexander Saaf (alesa601)
13:55-14:15
  • Break
14:15-13:30
  • A Comparison of HTTP/2, QUIC and HTTP/1.1 with Regards to Varying Network Conditions
    Gr2: Olof Holmberg (oloho254), Lenny Johansson (lenjo579), Victor Bennich (vicbe572), Adam Lindberg (adali420)
14:35-14:50
  • Comparing the Performance and Characteristics of Mobile Apps and their Corresponding Websites
    Gr4: Andreas Jarvela (andja235), Jon Vik (jonvi039), Sebastian Lindmark (sebli821), Daniel Persson Proos (danpr535)
14:55-15:15
  • Break
15:15-15:30
  • Gaming Social Media: How People Interact on the Steam Community
    Gr3: Susanna Dahlgren (susda272), Erik Mansan (erima668), Kevin Larsson Alm (keval992), Elin Larsson (elila927)
15:35-15:50
  • Client Side Processing Cost of HTTPS
    Gr6: Dennis Lundberg (denlu809), Jens Reimers (jenre974), Aran Nadjmeddein (arana277)
15:55-17:15
  • Buffer, high-level things, and discussion

OLD: Seminar Schedule (2015)

Each group will have up to 15 minutes for their presentation. The talks are not allowed to be longer, (and you will likely be interrupted if you go more than a minute over this allocated time), so please prepared your presentations for 15 minutes (and make sure you know what to cut/condense if you are running out of time). There will also be a 5 minute timeslot for questions, during which the next group is expected to set up for their talk.

Thursday, May 21, 2015

8:15-8:30
  • Performance of SPDY/QUIC vs HTTP/TCP
    Henrik Adolfsson (henad221), Eric Henziger (erihe763), Olof Rappestad (olora937), Tomas Ohberg (tomoh291)
8:35-8:50
  • Client side processing cost of HTTPS
    Erik Bjorkrot (eribj922), Jonatan Branting (jonbr927), Raymond Leow (rayle699), Simon Delvert (simde608)
8:55-9:15
  • Break
9:15-9:30
  • Building a distributed test suite on PlanetLab
    Simon Lindblad (simli746), Alvin Stockhaus (alvst070), Linus Kortesalmi (linko538), David Bergstrom (davbe125)
9:35-9:50
  • Client-side energy saving opportunities in multicast using eMBMS
    Oskar Adolfsson (oskad505), Emil Nilsson (emini215), Josef Fagerstrom (josfa969), Henning Nabo (henna497)

Friday, May 22, 2015

8:15-8:30
  • Performance of SPDY/QUIC vs HTTP/TCP
    Fabian Sandin (fabsa412), Filip Haglund (filha225), Fabian Petersen (fabpe856), Niklas Erhard Olsson (niker418)
8:35-8:50
  • Characterizing mobile web sites (from the cloud)
    Johan Natoft (johna702), Emil Gustafsson (emigu059), Jonas Olofsson (jonol209)

Acknowledgements

These course projects are supported by AWS in Education Grant award.