ITS323 Introduction to Data Communications Assignment Students: Steven Gordon and Thanaruk Theeramunkong Group: G00 This is an example report, highlighting what you should include. You may edit this report, changing the text where necessary. You must delete the comments that I make, which are in yellow italics, like this one. You may also follow a different style or structure, as long as you at least include the information given in this example. 1 Experiment Setup This section should briefly describe or list the setup of your experiments. E.g. your operating system, computer specification and software used. You may write this as a table, a list or in words. If you performed your experiments across two or more different computers, then list each one. An example, in table format, is below. Host CPU Intel i5-3570K 3.4GHz Host RAM 8 GB Host OS Ubuntu Linux 14.04 LTS Virtual Machine VirtualBox 4.3.10 Virtual Network virtnet r41 Table 1: Experiment Setup 2 Parameter Values This section should list the values of parameters used in all experiments. I distinguish between two types of parameters: fixed parameters have values that you don't change in the experiments (you always use the same value). Variable parameters have values that you changed in different experiments. Examples are given in each subsection. 2.1 Fixed Parameters The first column lists the parameter name, the second column gives the value of the parameter that you used and the third column is the unit. Parameter Downlink data rate Downlink delay Number of frames ... Table 2: Fixed Parameters Value Unit 100 Mb/s 0 ms 1000 frames 2.2 Variable Parameters The first column lists the parameter name. The second column list the range of values that you use for that parameter. There are different ways to list a range. For example “1 .. 10” means the values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Whereas “0 : 0.01 : 0.05” means a step of 0.01 was used giving the values 0, 0.01, 0.02, 0.03, 0.04, 0.05. You may also just list the values in a comma separated list. The fourth column gives the count of parameter values you used, for example “10” different values of uplink data rate. The count is useful for getting a quick understanding of the number of experiments to be performed. In the example below, there are 10 x 10 x 6 x 4 x 2 x 7 = 33600 experiments in total. Of course you probably will not run 33600 experiments. Therefore you should carefully plan which range of values you will use for each parameter. You may also not perform every combination. For example, maybe you try all 10 values of uplink data rate when max window size is 1; but then for different max window size (3, 7, 15) you use just one value of uplink data rate (say 1 Mb/s). That reduces the total combinations of uplink data rate and max window size to 10 + 3 = 13 (instead of 10 x 4 = 40). Parameter Range Unit Count 1 .. 10 Mb/s 10 Uplink delay 20 : 20 : 200 ms 10 Frame error rate 0 : 0.01 : 0.05 - 6 1, 3, 7, 15 frames 4 Data size 10000, 20000 Bytes 2 Timeout 0, 0.5 : 0.1 : 1.0 s 7 Uplink data rate Max window size ... Table 3: Variable Parameters 3 Performance Metrics This section should list the values you measure. In this assignment, the only performance metric of interest is the throughput at the server. Another thing to mention is the number of repetitions of each experiment you performed. If you ran an example with the same parameter values multiple times and then took the average of the measured values, then you should mention the number of repetitions (this may not be relevant for this assignment - you don't have to perform multiple repetitions, but you may). An example is below. The performance metric(s) are: 1. Throughput, in bits per second, as measured at the server Each experiment was performed 3 times, with the average of the 3 values reported in results. 4 Mathematical Model This section presents the way you calculated the “expected” results. Remember in the assignment you must both measure the throughput at the server (using the Python code) and convert it to efficiency, as well as calculate the expected efficiency. Then when you plot the measured efficiency, you also plot and compare with the expected efficiency. I recommend you first list the parameters (give them variable names) and then present one or more equations that you use to calculate expected efficiency. You should use a similar equation in your spreadsheet to calculate the expected efficiency. Below is an example (use your equation editor to make them look better than mine). You may have multiple efficiency equations, e.g. one for stop-and-wait flow control (no errors), another for sliding-window flow control (no errors), and a third for stop-and-wait error control (with errors). The variables use in the mathematical model used to calculate expected efficiency are: Uplink data rate, ru Mb/s Downlink data rate, rd Mb/s Round trip time, RTT s Frame size, f Bytes ... Round trip time, RTT, is calculated as: RTT = du + dd Expected throughput, ρ, is calculated as: ρ = ... Expected efficiency, η, is calculated as: η = ρ / du 5 Results and Conclusions This section should present plots of efficiency (both measured and expected) versus different variable parameter values. For example, there may be a plot of efficiency vs uplink data rate. And then another plot of efficiency vs frame size. Each plot should have a caption (or title) that makes it clear what it is showing (e.g. “Efficiency vs frame size”). You may divide this section into multiple sections, e.g. different sub-sections for stop-and-wait flow control, sluding-window flow control and stop-and-wait ARQ. After each plot you must summarise the trend(s) you observe and the reason(s). This may be short - a few sentences. Below is an example plot and description. Of course your plots will be produced using the spreadsheet data and look much better. Illustration 1: Stop and Wait Efficiency with Varying Data Size We observed that with increasing the amount of data sent per frame, the efficiency of stop-and-wait flow control increased. The increase was much more significant when the data size was within the range of 100 to 1000 Bytes. This is because ... . The measured efficiency was lower than the expected efficiency because ... .