Hide menu

TDDE35 Large-Scale Distributed Systems and Networks

Scenarios and Project


Projects will take place during vt2! Before the start of vt2, deadline dates and instructions will change.

Project Overview

Last updated 20/2/2024: Note that this is a preliminary project overview and that some minor modifications/clarifications may be done on a per-milestone basis.


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 to each other.

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

Expectations and Bonus Points


Expectations: The goal is to produce a report that includes both theoretic background and practical results that give 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 pr8oject 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 28 (Thursday), 2024
Step 2: Project proposals: A list of available projects will be published at the following address (April 2, 2024, at or before 15:30): https://www.ida.liu.se/~TDDE35/labs/ (remove bracket + white space) 2024-wer652ntwHt/tdde35-projects2024-v00.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: TDDE35: Request for project (Group #)

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: 16:00 on April 4 (Thursday), but priority if before 20:00 on April 3 (Wednesday)


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 20:00 on April 3 (Wednesday) 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 group(s).
  • Date: April 5 (Friday).

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):
  • For all milestones and the final report(s), you should email an electronic copy of the report as per the exact instructions below.
  • Email instructions: 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 that will review your report (or the group 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 "TDDE35 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, in conference mode (i.e., \documentclass[format=sigconf]{acmart}).
  • 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 research articles (e.g., conference papers published in proceedings or journal articles published in journals) or books 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).
  • Requested email subject [added for 2025]: "TDDE35: Milestone 1 report by group Y, requesting feedback from group X", where Y and X are obtained from the table below. For the feedback, please just reply all.
  • Deadline: Apr. 10, 2024 (same day as mid-term seminar)
  • Feedback deadline: Apr. 12, 2024
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 3 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, 2024 (same day as mid-term seminar) (if remote, zoom link will be provided; likely via mailing list)
Mid-term Seminar Schedule 2024 [order]: 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14.

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.)
  • 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. I also expect to see at least one properly formatted reference to a related research article published in a top-tier conference or journal. (One crude -- but perhaps okay for the purpose of this course -- way to find (at least) well-cited venues where one can look for reated papers is to use the search function here to identify venues with high h5 index. For many of the projects in this course, the top internet measurement conferences IMC and PAM may also provide accessible papers ...)
  • Requested email subject: "TDDE35: Milestone 2 report by group Y, requesting feedback from group X", where Y and X are obtained from the table below. For the feedback, please just reply all.
  • Deadline: Apr. 19, 2024
  • Feedback deadline: Apr. 22, 2024

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. For example, please remove any "expected result" section that you may have (temporarily) included for the previous milestone and instead write about the actual results that you have obtained.
  • 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.
  • Requested email subject: "TDDE35: Milestone 3 report by group Y, requesting feedback from group X", where Y and X are obtained from the table below. For the feedback, please just reply all.
  • Deadline: May 3, 2024
  • Feedback deadline: May 6 (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 (including results).
  • 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 8 and May 15, 2024
  • Feedback deadlines: May 10 and May 17, respectively (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. (As with other feedback, this is done in email to the other group, and with cc: to Niklas.)
  • You are expected to attend all seminar presentations.
  • Requested email subject: "TDDE35: Seminar feedback to group Y from group X", where Y and X are obtained from the table below.

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.)
  • Requested email subject: "TDDE35: Final report by group Y, requesting feedback from group X1 and X2", where Y and X1 and X2 are obtained from the table below. For the feedback, please just reply all (and adjust receive list to include the address of all students in Y and your group (X1 or X2)).
  • Deadline: May 22, 2024
  • 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 (2024)

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 (Y) 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 (X) for that milestones. This is the group (or groups) that you should send you report to for feedback. (Use webreg 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.)
  4. Example [based on 2024 schedule]: For milestone 1, group 1 should send their report to group 2, who should then give feedback on group 1's report. Similarly, for milestone 2, group 1 should send their report to group 3 with a requested email subject: "TDDE35: Milestone 2 report by group 1, requesting feedback from group 3". Finally, for the seminar, group 1 will receive feedback from group 5. In this case, group 5 should send group 1 an email with subject: "TDDE35: Seminar feedback to group 1 from group 5".
Number Group Milestone 1 Milestone 2 Milestone 3 Seminar Final project Project
1. if needed, please see webreg (or past email from the groups) 2 3 4 5 4+5 Longitudinal COVID-19 analysis of DNS traffic
2. 3 4 5 6 5+6 The social networks of the gaming communities
3. 4 5 6 7 6+7 Blockchains and what they tell us about money flows
4. 5 6 7 8 7+8 Current IPv6 deployment
5. 6 7 8 9 8+9 BGP interceptions in the wild
6. 7 8 9 10 9+10 Measuring the third-party [tracking] usage and effectiveness of adblockers
7. 8 9 10 11 10+11 Network visibility from a single location
8. 9 10 11 12 11+12 Certification Transparency
9. 10 11 12 13 12+13 Comparing tails through identification and collection of long tail datasets
10. 11 12 13 14 13+14 Distributed group chat to be used for smaller groups
11. 12 13 14 1 14+1 Performance of HTTP3, QUIC vs. HTTP/TCP
12. 13 14 1 2 1+2 Build a distributed real-time game and evaluate player performance
13. 14 1 2 3 2+3 Adaptive Streaming
14. 1 2 3 4 3+4 Characterizing personalization and reginoal restrictions of websites

Preliminary Seminar Schedule (2024)

Each group will have up to XX minutes for their presentation. The talks are not allowed to be longer (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 get ready for their talk.

During the breaks I will likely also try to talk separately with the groups that just have presented ...

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 (2024), group X will be opponents and give seminar feedback to group Y.)

Note: If remote, zoom links will be provided (likely via mailing list)

Wednesday, May 8, 2024 [13:15-19:00]

13:15-13:50 [approx. 12+5 per group]
  • Group A:
  • Group B:
and so forth ...
17:15-19:00
  • Reserved for project discussion, research overview, course overview, etc. (+ likely some breaks) [and buffer]
NOTE: The schedule will likely be shifted somewhat over the day. If we do not fit all talks, the latest talk(s) may be moved to next day.
NOTE: Attendance is expected at all student presentations, both days, and we will likely go until 19:00 both days.

Wednesday, May 15, 2024 [13:15-19:00]

13:15-13:50 [approx. 12+5 per group]
  • Group Q:
  • Group Z:
and so forth ...
16:15-19:00
  • Reserved for project discussion, research overview (2021), course overview (2021), exam discussion, etc. (+ likely some breaks) [and buffer]

NOTE: Attendance is expected on all student presentations, both days, and we are expected go until 19:00 both days.